3 ms·
As somebody who worked on SSDs here is my commentary: 1. Most of the recommendations are things that will have little to no benefit on any modern SSD because a
by danielvinson 11y ago
As somebody who worked on SSDs here is my commentary:
1. Most of the recommendations are things that will have little to no benefit on any modern SSD because all of this is handled for you in the firmware. When SSD firmware is not perfectly optimizing your performance, it is doing so to extend the life of the drive. Take this with a grain of salt though since many SSD manufacturers use really bad code provided by the controller manufacturer (SandForce notably provided awful stock firmware).
2. SSD benchmarks commentary is mostly accurate - since performance is very motherboard chipset-dependent, we chose the best ones to publish. Can't really blame anyone, but it means that if you bought the drive you are incredibly unlikely to achieve identical performance.
3. "Benchmarks are hard". No, not really. I wrote most of the benchmarks we used for linux testing. The reason benchmarks could be considered difficult is because all of the internal benchmarks that are used were written in-house and not released to the public. Reviewers never really had the right tools.
4. Enterprise SSDs and Consumer SSDs are drastically different. If you want consistent high performance, get an enterprise PCI-X drive. NAND quality is the major difference... and good NAND is hard to find. Generally an enterprise SSD will also have a significantly faster controller, and on larger drives, will contain more than one controller to avoid straining resources.
- DannoHung 11y agoSo, unlike doty said below, we shouldn't treat SSDs like a faster form of spinning rust? Where do we find real advice about how to best utilize SSD?
- baruch 11y agoThere is unfortunately no good place to do that. I work in an enterprise setting and get to talk to the ssd vendors and fish for details on how to best use their ssds and I still find it hard to get full information. Sometimes I wonder if there can even be a single compendium of knowledge about ssds. There are just so many moving parts in there that I doubt the ssd vendors themselves know what is really happening. Many times there are strange behaviors that we hit and then the vendors get to debug their ssds and explain new things about what just happened. One effect that I can attest to is that I know quite a bit about the ssd inner-workings (or at least how it shows to the outside world, never saw an ssd firmware source line) but it would be very hard for me to sit down and write something about all aspects. I can however answer questions when needed.
- danielvinson 11y agoYou can't really optimize for SSDs in general. You CAN optimize for a specific brand/model/controller on a certain chipset. If an optimization in general is possible, you can be sure that the SSD manufacturer already is utilizing it in firmware on higher-end drives.
- baruch 11y agoUnless you are optimizing for a specific SSD with known quantities there is no real way to do that. The high-level optimizations are important: * Choose a good SSD * Read and Write in "page" multiples and "page" aligned * Use lots of parallel IOs (high queue depth) * Do not put unrelated data in the same "page" A page used to be 4KB, SSDs are now switching to 8KB and will switch to 16KB later on. Just pick a reasonable size around that (16KB if you can do it will last you a while). Don't sweat the page multiples too much, the SSDs will most likely have to handle 4KB pages for a long while due to databases and such so they will keep some optimization around that size anyhow, it will make it easier for them if you use a larger size. I wouldn't heed any of the advice on single-threading, the biggest performance boost comes from parallelism and writes are anyway buffered by the SSD (a good SSD has a super-cap to have a good sized write cache).
- cjensen 11y agoPretty sure you meant "PCI-Express" (or "PCIe") not "PCI-X". PCI-X is the name of an obsolete bus type. Totally agree with your view of the advice given. For example, TRIM has surprisingly little effect because modern SSDs (Micron) will move cold data to worn cells so that all cells participate in wear leveling. TRIM still saves you some, just nowhere near what you might expect.