Greeting All<br><br>Does Any one know how to Calculate the MAX Addressable LBA that can be used in SSD Trace File given the PARV file below. ( 64 GB SSD)<br><br>My Understanding is that the MAX LBA is calculated as follows<br>
<br>2048 Blocks * 8 Planes * 64 Pages * 8 Elements = 8388608 Pages in the SSD<br><br>Abd Since each Page in SSD is 8 KB, Then it can hold 16 LBA of size 512 Bytes<br><br>So the MAX addressable LBA is 8388608 * 16 = 134217728<br>
<br>HOWEVER, When I use this LBA in my SSD Trace File, I get an ERROR<br><br>unexpected request location: devno 0, blkno 134217728, bcount 8<br><br>Assertion failed:<br>simtime     = 5297.450000<br>totalreqs     = 3<br>disksim: disksim_logorg.c:763: logorg_maprequest: Assertion `logorgno != -1' failed.<br>
<br><br>Any Feed Back ?????<br><br># ---------------------------------------------------------<br>disksim_global Global { <br> Init Seed = 42,<br> Real Seed = 42,<br> # Statistic warm-up period = 0.0 seconds,<br> Stat definition file = statdefs <br>
}<br># ---------------------------------------------------------<br>disksim_stats Stats {<br><br>iodriver stats = disksim_iodriver_stats {<br> Print driver size stats = 1,<br> Print driver locality stats = 0,<br> Print driver blocking stats = 0,<br>
 Print driver interference stats = 0,<br> Print driver queue stats = 1,<br> Print driver crit stats = 0,<br> Print driver idle stats = 1,<br> Print driver intarr stats = 1,<br> Print driver streak stats = 1,<br> Print driver stamp stats = 1,<br>
 Print driver per-device stats = 1 },<br><br>bus stats = disksim_bus_stats {<br> Print bus idle stats = 1,<br> Print bus arbwait stats = 1 },<br><br>ctlr stats = disksim_ctlr_stats {<br> Print controller cache stats = 1,<br>
 Print controller size stats = 1,<br> Print controller locality stats = 1,<br> Print controller blocking stats = 1,<br> Print controller interference stats = 1,<br> Print controller queue stats = 1,<br> Print controller crit stats = 1,<br>
 Print controller idle stats = 1,<br> Print controller intarr stats = 1,<br> Print controller streak stats = 1,<br> Print controller stamp stats = 1,<br> Print controller per-device stats = 1 },<br><br>device stats = disksim_device_stats {<br>
 Print device queue stats = 0,<br> Print device crit stats = 0,<br> Print device idle stats = 0,<br> Print device intarr stats = 0,<br> Print device size stats = 0,<br> Print device seek stats = 1,<br> Print device latency stats = 1,<br>
 Print device xfer stats = 1,<br> Print device acctime stats = 1,<br> Print device interfere stats = 0,<br> Print device buffer stats = 1 },<br><br>process flow stats = disksim_pf_stats {<br> Print per-process stats =  1,<br>
 Print per-CPU stats =  1, <br> Print all interrupt stats =  1,<br> Print sleep stats =  1<br> }<br>} # end of stats block<br># ---------------------------------------------------------<br>#disksim_iosim IS {<br>#     I/O Trace Time Scale = 1.0<br>
#}  # end of iosim spec<br># ---------------------------------------------------------<br>disksim_iodriver DRIVER0 {<br>type = 1,<br>Constant access time = 0.0,<br>Scheduler = disksim_ioqueue {<br> Scheduling policy = 3,<br>
 Cylinder mapping strategy = 1,<br> Write initiation delay = 0.0,<br> Read initiation delay = 0.0,<br> Sequential stream scheme = 0,<br> Maximum concat size = 128,<br> Overlapping request scheme = 0,<br> Sequential stream diff maximum = 0,<br>
 Scheduling timeout scheme = 0,<br> Timeout time/weight = 6,<br> Timeout scheduling = 4,<br> Scheduling priority scheme = 0,<br> Priority scheduling = 4<br>}, # end of Scheduler<br>Use queueing in subsystem = 1<br>} # end of DRV0 spec<br>
# ---------------------------------------------------------<br>disksim_bus BUSTOP {<br>type = 1,<br>Arbitration type = 1,<br>Arbitration time = 0.0,<br>Read block transfer time = 0.0,<br>Write block transfer time = 0.0,<br>
Print stats =  1<br>} # end of BUSTOP spec<br># ---------------------------------------------------------<br>disksim_bus BUSHBA {<br>type = 2,<br>Arbitration type = 1,<br>Arbitration time = 0.001,<br><br># PCI-E, with 8 lanes with 8b/10b encoding gives 2.0 Gbps per <br>
# lane and with 8 lanes we get about 2.0 GBps. So, bulk sector <br># transfer time is about 0.238 us. SATA/300 can transfer data <br># at 300 MBps, which amounts to about 1.6276 us per byte.<br><br>Read block transfer time = 0.0002384,<br>
Write block transfer time = 0.0002384,<br>#Read block transfer time = 0.0016276,<br>#Write block transfer time = 0.0016276,<br><br>Print stats =  1<br>} # end of BUSHBA spec<br># ---------------------------------------------------------<br>
disksim_ctlr CTLR0 {<br>type = 1,<br>Scale for delays = 0.0,<br>Bulk sector transfer time = 0.0,<br>Maximum queue length = 100,<br>Print stats =  1<br>} # end of CTLR0 spec<br># ---------------------------------------------------------<br>
# don't change the order of the following parameters.<br># we use Flash chip elements and Elements per gang to<br># find number of gang -- we need this info before initializing<br># the queue (disksim_ioqueue)<br><br>
ssdmodel_ssd SSD {<br>     # vp - this is a percentage of total pages in the ssd<br>     Reserve pages percentage = 15,<br><br>     # vp - min percentage of free blocks needed. if the free <br>     # blocks drop below this, cleaning kicks in<br>
     Minimum free blocks percentage = 5,<br><br>     # vp - a simple read-modify-erase-write policy = 1 (no longer supported)<br>     # vp - osr write policy = 2<br>     Write policy = 2,<br><br>     # vp - random = 1 (not supp), greedy = 2, wear-aware = 3<br>
     Cleaning policy = 2,<br><br>     # vp - number of planes in each flash package (element)<br>     Planes per package = 8,<br><br>     # vp - number of flash blocks in each plane<br>     Blocks per plane = 2048,<br><br>
     # vp - how the blocks within an element are mapped on a plane<br>     # simple concatenation = 1, plane-pair stripping = 2 (not tested),<br>     # full stripping = 3<br>     Plane block mapping = 3,<br><br>     # vp - copy-back enabled (1) or not (0)<br>
     Copy back = 1,<br><br>     # how many parallel units are there?<br>     # entire elem = 1, two dies = 2, four plane-pairs = 4<br>     Number of parallel units = 1,<br><br>     # vp - we use diff allocation logic: chip/plane<br>
     # each gang = 0, each elem = 1, each plane = 2<br>     Allocation pool logic = 1,<br><br>     # elements are grouped into a gang<br>     Elements per gang = 1,<br><br>     # shared bus (1) or shared control (2) gang<br>
     Gang share = 1,<br><br>     # when do we want to do the cleaning?<br>     Cleaning in background = 0,<br><br>     Command overhead =  0.00,<br>     Bus transaction latency =  0.0,<br><br>#    Assuming PCI-E, with 8 lanes with 8b/10b encoding.<br>
#    This gives 2.0 Gbps per lane and with 8 lanes we get about<br>#    2.0 GBps. So, bulk sector transfer time is about 0.238 us.<br>#    Use the "Read block transfer time" and "Write block transfer time"<br>
#    from disksim_bus above.<br>     Bulk sector transfer time =  0,<br><br>     Flash chip elements = 8,<br><br>     Page size = 8,<br><br>     Pages per block = 64,<br><br>     # vp - changing the no of blocks from 16184 to 16384<br>
     Blocks per element = 16384,<br><br>     Element stride pages = 1,<br><br>     Never disconnect =  1,<br>     Print stats =  1,<br>     Max queue length =  20,<br>     Scheduler = disksim_ioqueue {<br>       Scheduling policy =  1,<br>
       Cylinder mapping strategy =  0,<br>       Write initiation delay =  0,<br>       Read initiation delay =  0.0,<br>       Sequential stream scheme =  0,<br>       Maximum concat size =  0,<br>       Overlapping request scheme =  0,<br>
       Sequential stream diff maximum =  0,<br>       Scheduling timeout scheme =  0,<br>       Timeout time/weight =  0,<br>       Timeout scheduling =  0,<br>       Scheduling priority scheme =  0,<br>       Priority scheduling =  1<br>
     },<br>     Timing model = 1,<br><br>     # vp changing the Chip xfer latency from per sector to per byte<br>     Chip xfer latency = 0.000025,<br><br>     Page read latency = 0.025,<br>     Page write latency = 0.200,<br>
     Block erase latency = 1.5<br>}  # end of SSD spec<br><br># ---------------------------------------------------------<br># HP_C3323A<br>source atlas10k.diskspecs<br>source ibm18es.diskspecs<br>source cheetah9LP.diskspecs<br>
# ---------------------------------------------------------<br># component instantiation<br>instantiate [ statfoo ] as Stats<br><br>instantiate [ ssd0x0 ]  as  SSD<br>instantiate [ bustop ]  as  BUSTOP<br>instantiate [ busHBA0 ] as  BUSHBA<br>
<br>instantiate [ driver0 ] as  DRIVER0<br>instantiate [ ctlr0 ]   as  CTLR0<br><br># ---------------------------------------------------------<br># system topology<br>topology disksim_iodriver driver0 [<br>                                   disksim_bus bustop [ <br>
                                                       disksim_ctlr ctlr0 [ <br>                                                                           disksim_bus busHBA0 [<br>                                                                                                ssdmodel_ssd ssd0x0 []<br>
                                                                                               ]                                                           <br>                                                                          ]<br>
                                                      ]<br>                                  ]<br># no syncsets<br># ---------------------------------------------------------<br>disksim_logorg org0 {<br>   Addressing mode = Array,<br>
   Distribution scheme = Striped,<br>   Redundancy scheme = Noredun,<br><br>   # vp - added more ssd elements<br>   devices = [ ssd0x0 ],<br><br>   Stripe unit  =  128,<br>   Synch writes for safety =  0,<br>   Number of copies =  2,<br>
   Copy choice on read =  6,<br>   RMW vs. reconstruct =  0.5,<br>   Parity stripe unit =  128,<br>   Parity rotation type =  1,<br>   Time stamp interval =  0.000000,<br>   Time stamp start time =  60000.000000,<br>   Time stamp stop time =  10000000000.000000,<br>
   Time stamp file name =  stamps<br>} # end of logorg org0 spec<br>#--------------------------------------------------------------<br><br><br><br>--------------------------------<br><br><br clear="all"><br>-- <br>Abdullah Al-Dahlawi<br>
<div><div>----<br>Check The Fastest 500 Super Computers Worldwide<br><a href="http://www.top500.org/list/2010/06/100" target="_blank">http://www.top500.org/list/2010/06/100</a></div></div><br>