Why did my 4k write score drop?

Discussion in 'SSD and HDD storage' started by death_samurai, Apr 15, 2012.

  1. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    Writing larger blocks than SSD block will not cause extra writes.

    Writing SMALLER blocks than SSD block will cause extra writes.


    eg.

    if SSD block size is 512, and you write 4096 data as one 1 4096 chunk, then you write 8 complete 512 block.
    OK

    if SSD block size is 4096, and you write 4096 data as 8 512 chunks, then you write 8 complete 4096 block(smallest write = block size, so 512 becomes 4096).
    32768 written in total, for only 4096 data, BAD

    You want :
    1) your file system's blocks to be aligned with SSD blocks,
    2) file system's blocks are whole multiples of SSD blocks (preferably increasing in powers of two).


    Drive internal cache will mask a lot of this, since what you write isn't written all at once anyways, but a moment later. So a bunch of wasteful writes are conglomerated into a few less wasteful writes.





    All that said, for example, the Crucial M4 uses 4k blocks) for 64gig/128gig, and 8k blocks for 256gig/512gig.
    (although I may be mis-remembering, and it could be 64/128/256gig=4k, and 512+gig=8k)

    Although the interface still exposes the M4s as having [virtual] 512 blocks, to be maximally compatible (since the new "advanced format" 4k exposed drives are less compatible with older bios').

    -scheherazade
     
    Last edited: Apr 21, 2012
  2. IcE

    IcE Don Snow

    Messages:
    10,693
    Likes Received:
    79
    GPU:
    3070Ti FE
    I was under the impression that block sizes were 512KB and not 512 bytes from the casual googling I did.
     
  3. Darren Hodgson

    Darren Hodgson Ancient Guru

    Messages:
    17,221
    Likes Received:
    1,540
    GPU:
    NVIDIA RTX 4080 FE
    AS SSD Benchmark will show the offset in green with a polite 'OK' if the alignment is correct so try that.

    http://alex-is.de/PHP/fusion/downloads.php?cat_id=4
     
  4. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    Yes. recent SSDs are 4096 bytes (4k) (and some are 8192 (8k)).

    -scheherazade
     

  5. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,640
    Likes Received:
    1,143
    GPU:
    4090 FE H20
    like what? all sandforce drives use 512bytes, the new indilix based drive from ocz uses 512bytes, the samsung 830s use 512bytes.. those are the only recent ones i can think of.
     
  6. scheherazade

    scheherazade Ancient Guru

    Messages:
    2,050
    Likes Received:
    0
    GPU:
    fullHDs
    You're thinking of the block size as exposed by the API (Which AFAIK all SSDs use 512).

    The internal block size is 4k/8k.


    Quick google :

    http://www.pcper.com/reviews/Storage/Intel-520-Series-SSD-Full-Review-SandForce-Steroids

    "I should note that as with other 480GB SandForce-driven SSD's, *any* SandForce 2281 SSD with a capacity greater than 256GB will see a dip in 4K IOPS performance. This is due to the way the SF controller handles the mapping of LBA's. To double capacity from 240GB to 480GB, the SandForce controller's finite number of allocations must be reconfigured to utilize 8KB blocks (up from the standard 4KB - intentionally matched to the NTFS 4KB cluster size). This negatively impacts IOPS performance as a 4KB random write translates to the equivalent of an 8KB random write once the added overhead is taken into account.

    This is also clear in the Intel specs, as incompressible 4KB writes see a near 50% cut when comparing the 480GB to the 240GB capacity points."



    Maybe you're thinking of erase blocks?
    IIRC those are typically 512K (not 512).

    -scheherazade
     
    Last edited: Apr 23, 2012

Share This Page