Understanding SandForce's SF-1200 & SF-1500, Not All Drives are Equalby Anand Lal Shimpi on April 16, 2010 11:30 AM EST
Less than 24 hours ago I was called into a meeting with SandForce, the SSD controller manufacturer that has been on fire lately. The company makes two controllers: the SF-1200 and SF-1500. The meeting was initiated by SandForce to clear up any misconceptions I might have about the differences between the two controllers. No good deed goes unpunished, and the quick meeting turned into an hour long debate about responsibility and ethics. It turns out that while I finally know the difference between the SF-1200 and the more expensive SF-1500, not all drives based on the SF-1200 will offer the same performance. In fact, some drives that are currently on the market will actually drop in performance (in one metric) if you upgrade them to SF’s mass production firmware. Yep.
SF-1200 vs. SF-1500
On SandForce’s site are two controller options: the SF-1500 intended for enterprise (server) customers, and the SF-1200 for client (desktop/notebook) SSDs. The first silicon ready was SF-1500, and a derivative version of that was used in the earliest drives (e.g. OCZ’s Vertex Limited Edition). More recently however we’ve seen SF-1200 based SSDs crop up, such as Corsair’s Force drive. In our recent review we found no performance difference between the Force drive and the Vertex LE, leading me to believe that there’s no tangible performance difference between the SF-1200 and SF-1500. However since then I’ve finally got a good handle on the differences directly from SandForce.
The SF-1500 controller from the original Vertex LE.
Let’s start with the obvious and what I suspected: there is no physical difference between the SF-1200 and SF-1500. It’s the same die. The difference between the two amounts to firmware, validation and settings on the chips themselves. It’s akin to Intel disabling Hyper Threading on the Core i5 750 but leaving it enabled on the Core i7 860; same die, different features.
The SF-1200 controller on Corsair's Force SSD. The chips are the same, it's all about firmware and settings.
As an enterprise class solution, the SF-1500 is designed to complete any writes in progress in the event of sudden power loss. The SF-1500 firmware is configured expecting the presence of the super cap we saw in the Vertex 2 Pro. As such it expects that it can write at full speed without any worries about power loss. In other words, it assumes you have power failure protection at the drive level.
The SF-1200 firmware on the other hand doesn’t assume the presence of a large capacitor to keep the controller/NAND powered long enough to complete all writes in the event of a power failure. As such it does more frequent check pointing and doesn’t guarantee the write in progress will complete before it’s acknowledged. It’s a subtle difference, but the SF-1500 with super cap may be necessary for some of SandForce’s enterprise customers.
The SF-1500's super cap, necessary because SandForce's controller keeps a couple of MBs of data buffered
Continuing the enterprise focus, the SF-1500 supports more SMART attributes and logging/debug/diagnostic features. SandForce wasn’t willing to elaborate on this point but said that it shares the SMART feature list with its customers under NDA. If this sort of thing might matter to you, sign a NDA with SandForce and they’ll apparently tell all.
As I pointed out in the Corsair Force review, SandForce rates the SF-1500 for a longer mean time to failure than the SF-1200. This is a basic binning/testing advantage. The SF-1500 goes through more tests and qualification than the SF-1200 allowing SandForce to guarantee higher reliability. That’s not to say that the SF-1200 won’t last as long as or longer than the SF-1500, it’s just that SandForce is willing to guarantee a longer lifespan on the SF-1500 than it is willing to do for the SF-1200. I poked fun at SF’s mean time to failure ratings in the Force review, however SandForce explained the MTTF is calculated across the entire population of controllers - not the lifespan of a single controller.
In a population of 10,000,000 controllers, with a rating of 10,000,000 hours, the probability is that 1 unit would fail in an hour. The SF-1200 would have 5 units fail in the same time. The failure probability drops as the number of controllers drops (SF won’t be shipping anywhere near 10M of these things).
While both the SF-1200 and SF-1500 support MLC NAND, the SF-1500 also supports SLC. This once again is more of an enterprise class feature as most desktop users aren’t willing to pay the 2x price premium of SLC vs. MLC NAND flash.
|SandForce Controller Comparison
|Flash Memory Support
|MLC or SLC
|550 mW (typical)
|950 mW (typical)
|Sequential Read/Write Performance (128KB)
|Random Read/Write Performance (4K)
|128-bit AES Data Encryption, Optional Disk Password
|128-bit AES Data Encryption, User Selectable Encryption Key
|Unrecoverable Read Errors
|Less than 1 sector per 1016 bits read
|Less than 1 sector per 1017 bits read
|2,000,000 operating hours
|10,000,000 operating hours
|5 year customer life cycle
|5 year enterprise life cycle
So far none of these differences matter to a client user, but the last item on the list does. There’s a performance difference between the SF-1200 and SF-1500. The SF-1500 is capable of higher sustained small file random write speed. The SF-1200 is rated at 10,000 4K random write IOPS (sustained), while the SF-1500 is rated at 30K (sustained). This is purely a firmware limitation, but SandForce believes the 10K number is high enough for client PCs (Intel rates its X25-M G2 at 6.6K for the 80GB model and 8.6K for the 160GB model).
The controllers should otherwise perform the same, it’s only in small file random writes that there’s a difference (realistically speaking we’re talking random writes smaller than 16KB in size). SandForce notes the difference on its website, however in our testing of Corsair’s Force drive we showed absolutely no difference. So what’s going on?