[Disksim-users] SOLVED Max Addressable LBA in SSD Trace File
Al-Dahlawi
dahlawi at IEEE.ORG
Sun Jun 26 13:41:11 EDT 2011
Hi
Thanks for your clarification ... based on my current parameters in parv
file
Pages Per Block = 64
Blocks Per Plane = 2048
Planes Per Element = 8
Page Size = 8 sectors = 4 KB
So ... Pages Per Single Element = 1 (Element) * 8 (planes) * 2048 (Blocks) *
64 (Pages) = 1048576 Pages
Each Page is 8 Sectors ---> which means the MAX Addressable Sector = 1048576
* 8 = 8388608 - 1 = 0 .. 8388607 Sectors
NOW the Important issue the the MAX VALID (Address, Req Size) Combination
which is as follows ...
5265.313 0 8388599 8 0 ( 8388607 - 8 = 8388599) is the MAX Valid I/O
Trace (Address, Req Size) Combination -- TESTED with disksim successfully
5265.313 0 8388600 8 0 will generate ERROR with disksim cause it exceeds
the MAX (Address, Req Size)
unexpected request location: devno 0, blkno 8388600, bcount 8
Assertion failed:
simtime = 5265.313000
totalreqs = 1
disksim: disksim_logorg.c:763: logorg_maprequest: Assertion `logorgno != -1'
failed.
The same concept is applicable if we change the Req size to 16
5265.313 0 8388591 16 0 work Successfully
5265.313 0 8388592 16 0 Error !! ..
unexpected request location: devno 0, blkno 8388592, bcount 16
Assertion failed:
simtime = 5265.313000
totalreqs = 1
disksim: disksim_logorg.c:763: logorg_maprequest: Assertion `logorgno != -1'
failed.
Final observation
The MAX VALID (Address, Req Size) will increase with an additional element
added in the parv file
On Sun, Jun 26, 2011 at 11:28 AM, f.rajaei <frajaei55 at gmail.com> wrote:
> its 8 sector which equals 4 KB not 8 K. all sizes in parv file are based on
> sector not KB. I am sure about it.
>
>
> On Sun, Jun 26, 2011 at 7:23 AM, Al-Dahlawi <dahlawi at ieee.org> wrote:
>
>> Hi
>>
>> Page size is fixed and = 8 K as shown in the parv file below !!!
>>
>>
>> On Sunday, June 26, 2011, f.rajaei <frajaei55 at gmail.com> wrote:
>> > each page is 4kb or 8 sector. that is why you get this error
>> >
>> > 2011/6/25 Al-Dahlawi <dahlawi at ieee.org>
>> >
>> > Greeting All
>> >
>> > 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)
>> >
>> > My Understanding is that the MAX LBA is calculated as follows
>> >
>> > 2048 Blocks * 8 Planes * 64 Pages * 8 Elements = 8388608 Pages in the
>> SSD
>> >
>> > Abd Since each Page in SSD is 8 KB, Then it can hold 16 LBA of size 512
>> Bytes
>> >
>> > So the MAX addressable LBA is 8388608 * 16 = 134217728
>> >
>> > HOWEVER, When I use this LBA in my SSD Trace File, I get an ERROR
>> >
>> > unexpected request location: devno 0, blkno 134217728, bcount 8
>> >
>> > Assertion failed:
>> > simtime = 5297.450000
>> > totalreqs = 3
>> > disksim: disksim_logorg.c:763: logorg_maprequest: Assertion `logorgno !=
>> -1' failed.
>> >
>> >
>> > Any Feed Back ?????
>> >
>> > # ---------------------------------------------------------
>> > disksim_global Global {
>> > Init Seed = 42,
>> > Real Seed = 42,
>> > # Statistic warm-up period = 0.0 seconds,
>> > Stat definition file = statdefs
>> > }
>> > # ---------------------------------------------------------
>> > disksim_stats Stats {
>> >
>> > iodriver stats = disksim_iodriver_stats {
>> > Print driver size stats = 1,
>> > Print driver locality stats = 0,
>> > Print driver blocking stats = 0,
>> > Print driver interference stats = 0,
>> > Print driver queue stats = 1,
>> > Print driver crit stats = 0,
>> > Print driver idle stats = 1,
>> > Print driver intarr stats = 1,
>> > Print driver streak stats = 1,
>> > Print driver stamp stats = 1,
>> > Print driver per-device stats = 1 },
>> >
>> > bus stats = disksim_bus_stats {
>> > Print bus idle stats = 1,
>> > Print bus arbwait stats = 1 },
>> >
>> > ctlr stats = disksim_ctlr_stats {
>> > Print controller cache stats = 1,
>> > Print controller size stats = 1,
>> > Print controller locality stats = 1,
>> > Print controller blocking stats = 1,
>> > Print controller interference stats = 1,
>> > Print controller queue stats = 1,
>> > Print controller crit stats = 1,
>> > Print controller idle stats = 1,
>> > Print controller intarr stats = 1,
>> > Print controller streak stats = 1,
>> > Print controller stamp stats = 1,
>> > Print controller per-device stats = 1 },
>> >
>> > device stats = disksim_device_stats {
>> > Print device queue stats = 0,
>> > Print device crit stats = 0,
>> > Print device idle stats = 0,
>> > Print device intarr stats = 0,
>> > Print device size stats = 0,
>> > Print device seek stats = 1,
>> > Print device latency stats = 1,
>> > Print device xfer stats = 1,
>> > Print device acctime stats = 1,
>> > Print device interfere stats = 0,
>> > Print device buffer stats = 1 },
>> >
>> > process flow stats = disksim_pf_stats {
>> > Print per-process stats = 1,
>> > Print per-CPU stats = 1,
>> > Print all interrupt stats = 1,
>> > Print sleep stats = 1
>> > }
>> > } # end of stats block
>> > # ---------------------------------------------------------
>> > #disksim_iosim IS {
>> > # I/O Trace Time Scale = 1.0
>> > #} # end of iosim spec
>> > # ---------------------------------------------------------
>> > disksim_iodriver DRIVER0 {
>> > type = 1,
>> > Constant access time = 0.0,
>> > Scheduler = disksim_ioqueue {
>> > Scheduling policy = 3,
>> > Cylinder mapping strategy = 1,
>> > Write initiation delay = 0.0,
>> > Read initiation delay = 0.0,
>> > Sequential stream scheme = 0,
>> > Maximum concat size = 128,
>> > Overlapping request scheme = 0,
>> > Sequential stream diff maximum = 0,
>> > Scheduling timeout scheme = 0,
>> > Timeout time/weight = 6,
>> > Timeout scheduling = 4,
>> > Scheduling priority scheme = 0,
>> > Priority scheduling = 4
>> > }, # end of Scheduler
>> > Use queueing in subsystem = 1
>> > } # end of DRV0 spec
>> > # ---------------------------------------------------------
>> > disksim_bus BUSTOP {
>> > type = 1,
>> > Arbitration type = 1,
>> > Arbitration time = 0.0,
>> > Read block transfer time = 0.0,
>> > Write block transfer time = 0.0,
>> > Print stats = 1
>> > } # end of BUSTOP spec
>> > # ---------------------------------------------------------
>> > disksim_bus BUSHBA {
>> > type = 2,
>> > Arbitration type = 1,
>> > Arbitration time = 0.001,
>> >
>> > # PCI-E, with 8 lanes with 8b/10b encoding gives 2.0 Gbps per
>> > # lane and with 8 lanes we get about 2.0 GBps. So, bulk sector
>> > # transfer time is about 0.238 us. SATA/300 can transfer data
>> > # at 300 MBps, which amounts to about 1.6276 us per byte.
>> >
>> > Read block transfer time = 0.0002384,
>> > Write block transfer time = 0.0002384,
>> > #Read block transfer time = 0.0016276,
>> > #Write block transfer time = 0.0016276,
>> >
>> > Print stats = 1
>> > } # end of BUSHBA spec
>> > # ---------------------------------------------------------
>> > disksim_ctlr CTLR0 {
>> > type = 1,
>> > Scale for delays = 0.0,
>> > Bulk sector transfer time = 0.0,
>> > Maximum queue length = 100,
>> > Print stats = 1
>> > } # end of CTLR0 spec
>> > # ---------------------------------------------------------
>> > # don't change the order of the following parameters.
>> > # we use Flash chip elements and Elements per gang to
>> > # find number of gang -- we need this info before initializing
>> > # the queue (di_______________________________________________
>> > Disksim-users mailing list
>> > Disksim-users at ece.cmu.edu
>> > https://sos.ece.cmu.edu/mailman/listinfo/disksim-users
>> >
>> >
>> >
>>
>> --
>> Abdullah Al-Dahlawi
>> PhD Candidate
>> High Performance Computing LAB
>> Department. Of Electrical & Computer Engineering
>> George Washington University
>> ----
>> Check The Fastest 500 Super Computers Worldwide
>> http://www.top500.org/list/2010/06/100
>>
>
>
--
Abdullah Al-Dahlawi
PhD Candidate
High Performance Computing LAB
Department. Of Electrical & Computer Engineering
George Washington University
----
Check The Fastest 500 Super Computers Worldwide
http://www.top500.org/list/2010/06/100
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/disksim-users/attachments/20110626/2c16bcf3/attachment.html>
More information about the Disksim-users
mailing list