Array Setup and Networking
1754019 Members
7493 Online
108811 Solutions
New Discussion юеВ

Re: A Full Erase Stripe to Flash vs A granularly small block to Flash

 
SOLVED
Go to solution
an_tran
Occasional Advisor

A Full Erase Stripe to Flash vs A granularly small block to Flash

In the first time to array, A Full Stripe name FS1 will collect many blocks as block A, block B, block C, block D,go onтАж inside memory until full stripe is 2.8MB enough

Then it will be written to disk, during this time it will be copied to flash if Full Stripe is hot , correct?

But I confused that Full Stripe FS1 always be copied to Flash even if only block A is hot and the remaining block B,C,D are cold?

If that, it will be very waste capacity of flash.


When block E,D,F are already on Disk, suddenly block E became hot block (need to accessed) it will have to wait another hot blocks to collected until a large enough for Full Stripe (2.8MB) and then Full Stripe will be copied to Flash in that time?

I thought CASL will fetch only block E from disk to flash directly, it will be fastest way, but my thought is correct, why did it do like that way because block E is not a Full stripe?

3 REPLIES 3
Nick_Dyer
Honored Contributor
Solution

Re: A Full Erase Stripe to Flash vs A granularly small block to Flash

Hello An,

Your second thought is correct; CASL will only copy the individual, compressed block that's deemed to be "cache worthy" into the adaptive flash cache on first write, rather than copy the full RAID stripe laid down on disk (which is 4.5MB in size) - which would be a very inefficient use of flash. If we have a cache miss (meaning we need to fetch the block from disk) we will use the enhanced metadata and indicies of each block (which are created on first write, and also reside in flash) to very quickly lookup the block within the stripe on the disk, and copy said block (along with other blocks we deem to also be cache worthy) into flash in 64kb stripes. Full Erase Block Writes is the term we use for our wear levelling techniques within the flash layer to preserve flash integrity and remove write amplification.

HTH, and HNY!

Nick Dyer
twitter: @nick_dyer_
an_tran
Occasional Advisor

Re: A Full Erase Stripe to Flash vs A granularly small block to Flash

Hello Nick,

Do you mean CASL always write to flash in 64KB stripe even if there is only one 4KB block which is deemed to be "cache worth" ?

If that, is it waste the flash capacity for the remaining 60KB capacity?

Nick_Dyer
Honored Contributor

Re: A Full Erase Stripe to Flash vs A granularly small block to Flash

Hello An,

Yes, we always write to flash in a 64k stripe as that is the most efficient way to write to the flash pages without write amplification (similar to why we write in 4.5MB RAID stripes on the high capacity drives). We will not write the stripe to flash until we have populated the stripe with 64KB of cache worthy data (this data is staged in NVRAM and DRAM), so there is never any inefficiency or overheads for writing blocks to flash.

Nick Dyer
twitter: @nick_dyer_