[opensuse] SSD and "write size"

On Mon, Jul 8, 2013 at 1:08 PM, Carlos E. R. <robin.listas@telefonica.net> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Content-ID: <alpine.LNX.2.00.1307081906530.6576@Telcontar.valinor>
On Monday, 2013-07-08 at 11:25 -0400, Greg Freemyer wrote:
On Sun, Jul 7, 2013 at 1:42 PM, Carlos E. R. <> wrote:
However... you can not write, say, 100 bytes on flash media, you have to write the entire 32KiB block. That is, read it, modify the 100 bytes you need (in memory) and then write again the 32 KiB block. That makes for a much larger figure.
Carlos,
I don't know where your 32 KiB block came from. Seems too big to be a page and too small to be a erase block.
- From here:
<https://wiki.linaro.org/WorkingGroups/KernelArchived/Projects/FlashCardSurvey?action=show&redirect=WorkingGroups%2FKernel%2FProjects%2FFlashCardSurvey> Flash memory card design
Very interesting. I haven't done much SSD research in the last couple years. That writeup includes some things that are counter-intuitive to me. The biggest surprise to me is the discussion of allocation groups and that any write smaller than a allocation group causes a RMW (read/modify/write) cycle for the entire allocation group. They say that can cause a write amplification of up to 1024 times. I really find that hard to believe, but it argues that the minimum pure write with no RMW is on the order of MBs, not KBs. I am willing to bet that is wrong, but have no way to prove it one way or the other. comment: If I was the one writing a garbage collection algorithm I would not consolidate allocation groups with less the x% of the data invalid where x was a variable that varied based on current conditions. On a device with lots of free space, that might start out at 75%, and when the device is close to full, it might have to drop to 5 or 10%. To get down to 0.1% would be a pathological worse case pattern (ie. 100's of thousands of allocation blocks with 99.9% valid data and no available free allocation groups.) I guess it could happen, but not with any of the workloads I use. In fact, one of the reasons SSDs are over-provisioned is to keep the garbage collection from having to be that aggressive. That is, if a SSD is 10% over provisioned, it should never have to garbage collect allocation groups that are less than 10% invalid. The statement the every write triggers a garbage collection seems ridiculous to me on its face, so i will have to disagree with that aspect of the link. Greg Greg -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (1)
-
Greg Freemyer