PDA

View Full Version : How to lose a customer (if you're an SSD manufacturer)



tofu
2009-Dec-02, 05:25 PM
I'm thinking about buying a solid state drive for my macbook.

Without getting too technical, the issue with SSDs is that their performance degrades over time. If an operating system would just tell the SSD which blocks are no longer in use, that would mitigate the degradation, but operating systems don't do that because platter hard drives didn't require it. Some drive manufacturers have a utility (typically called Trim) that can be used by an OS to talk to the drive's firmware and tell it which blocks are really in use.

So, before I buy this drive, I checked their forum to see if a trim utility was available. I find that it only works for windows and linux, but not OSX - but don't worry, they say, their firmware does garbage collection when the drive is idle and that's pretty close.

So now I'm wondering what exactly is meant by being idle - like for how long, and after what interval. I find a thread in their forum where someone asks this question and he's told, "don't worry about it." Also, apparently, there's no way to know why the drive is doing garbage collection, how much work it has to do, or how long it will take.

But here's what really shocked me: the representatives of this manufacturer accuse the guy asking this question of being from a competitor and they lock the thread without answering. So apparently they don't tolerate requests for technical specs, and customers should be content with a hand waving "don't worry about it" response.

Whirlpool
2009-Dec-02, 05:39 PM
Maybe those "garbage collections" are those cookies and add-ons we got from downloading and surfing the internet ? and that, even when idle , as long as you're connected to the net , the gateway is still open for this thingys to come inside our computer system? :think:

Fazor
2009-Dec-02, 05:59 PM
Ha! Now I'm picturing a customer asking me, "What is this coverage on my policy, and is it necessary." and me throwing back the response, "Oh, it's insurance stuff. Don't worry about it."

If they persist, then I'd jump up from my chair and shout, "You're obviously a spy from a competitor's company, trying to catch me in a technicality so you can use it against us!!! GET OUT OF MY OFFICE!!!!"

Sounds fun . . . but not like a great way to do business. You know, if you actually want customers and sales, that is.

cjameshuff
2009-Dec-02, 09:32 PM
Without getting too technical, the issue with SSDs is that their performance degrades over time. If an operating system would just tell the SSD which blocks are no longer in use, that would mitigate the degradation, but operating systems don't do that because platter hard drives didn't require it. Some drive manufacturers have a utility (typically called Trim) that can be used by an OS to talk to the drive's firmware and tell it which blocks are really in use.

That's not quite what happens. NAND flash is inherently block based, you can write to unwritten bytes, but erasing or changing anything that's already been written requires erasing the entire block. Erasing the entire block is slow, so there is often a translation layer that simply marks the block, or a page of data in a block, as invalid and copies the data, with whatever changes are necessary, to unwritten memory. Things like consolidation of pages and wear leveling are likely done at the same time.

If the flash runs out of fresh blocks, it must do the time-consuming erase cycle on an invalid block before writing new data. The "trim" utility and the garbage collection you refer to likely refers to this operation.



So now I'm wondering what exactly is meant by being idle - like for how long, and after what interval. I find a thread in their forum where someone asks this question and he's told, "don't worry about it." Also, apparently, there's no way to know why the drive is doing garbage collection, how much work it has to do, or how long it will take.

This is not surprising. It's not something the OS should be concerned with or should be expected to handle, being specific to the parts and setup as well as having to work very close with the hardware. As for when, it's probably doing it all the time, or at least whenever there are invalid blocks to erase. It very likely simply doesn't matter when it's doing it, how long it'll take, etc, since a given block erase will at worst tie up a single flash chip, leaving others free for write operations. Erases in progress might slow writes to a handful of blocks, but that won't take long anyway...1 + a small number is still a small number, and it'll likely be able to cache the data so the OS needn't wait. If you're writing a large enough number of blocks to take a notable amount of time, then the time required to finish an erase before starting the first write to a given chip becomes irrelevant...1 + a large number is only a slightly larger number.

As for the espionage accusations and availability of specs...they may be under NDAs with the flash manufacturer, and perhaps under pressure from an overly paranoid legal department. There's a lot of idiocy going around in this area, unfortunately.

Hlafordlaes
2009-Dec-03, 12:29 AM
I am not sure TRIM works as it should without OS support. AFAIK, drive firmware (or any firmware residing in the PCI space) does not do anything unless it's part of an operation initiated by the OS, and that is not what I would consider an "idle" moment from the device's perspective, if you will. Under Win7 and Linux, its the OS that actively sends the "do a TRIM" command during OS-determined idle periods (the OS "knows" it will not be accessing the drive during a sufficient interval in order to send and execute the clean up command).

High end RAID cards, eg, can perform well since they actually carry an onboard processor that can do work independently of the CPU (and that's also why most normal desktop hardware RAID cards, sans processor, are still really only software RAID). Here's a short article (http://www.anandtech.com/storage/showdoc.aspx?i=3667) on latest developments with links in it to earlier more thorough info. The second link under the header What TRIM Does leads to some early experiences on a MacBook Air. IIRC, in spite of degraded performance, the reviewer found going back to a mechanical drive even less thrilling than his slowing SSD.