This is an announcement we have eagerly been waiting for. LSI gave us a short overview of their third generation controller at CES 2012 but it was merely a heads up that the third generation was in the works. Back then the development was at a very early stage and details were scarce; basically LSI said that performance will be improved but they are not even set on the interface. Now, two years later, LSI is finally making the third generation SandForce controllers official. Please meet the SF3700.

While the SF3700 takes advantage of the same technologies as its predecessor (such as DuraWrite and RAISE), it has been designed from scratch. SandForce wasn't fully satisfied with the SF-2200 series as they had to make compromises and rely on the architecture of SF-1200 series to get the product to market in time. This is one reason why we saw the same sort of worst case scenario behavior persist between SF-1200 and SF-2200 drives as the two shared the same fundamental architecture. The SF3700 is a complete departure from the previous two designs. It's interesting to note that this isn't the first time we've seen a complete redesign for the latest generation of a SSD controller. Intel went through the same process last year with the introduction of their DC S3700 SSD.

Now that SandForce is under the LSI umbrella, its designs seem a little more forward looking. The SF3700 is a more modular design than its predecessors. The front end, core and back end of the SoC are all modular. Adding support for new types of NVM (e.g. 3D NAND) should be far easier, not to mention the flexibility in adapting to new interface standards. Given that we're in a transition period between SATA and PCIe, modularity on the front end will come in handy as we start looking at interfaces beyond PCIe gen 2.

On the back end interface side, the SF3700 has nine NAND channels (I'll get to that soon) that are compatible with both Toggle-Mode and ONFI NAND. SandForce has always supported a variety of different NAND configurations and this is the case with SF3700 too. You can pretty much use any NAND (including TLC) that is currently in the market and as outlined above SandForce can and will quickly adapt to NAND changes in the future. Similar to earlier SandForce controllers, the SF3700 doesn't use any extrernal DRAM either -- the NAND mapping table and other crucial bits of data are stored in the controller's internal SRAM.

It's impossible to ship a modern SSD controller without talking about PCIe these days. Thankfully, the SF3700 supports both SATA 6Gbps and PCIe 2.0 x4. That's a single silicon offering with support for both interfaces. The interface is selectable during manufacturing at the drive level. End users won't be able to switch between interfaces, but drive makers can quickly shift production between SATA and PCIe drives all with the same silicon.

The SF3700 Family
SKU SF3719 SF3729 SF3739 SF3759
Market Entry Client Mainstream Client

Enthusiast Client  

Value Enterprise

Enterprise Caching

Enterprise Storage

Interface SATA + PCIe x2 SATA + PCIe x2 PCIe x4 Scalable PCIe
Suggested Form Factors M.2 M.2 M.2 & 2.5" HHHL

There are four SKUs in the SF3700 family. The entry-level SKU, SF3719, is meant for budget PCs. It shares the same SATA 6Gbps and PCIe 2.0 x2 interfaces as the SF3729 but has fewer supported firmware features (no word on what these are, unfortunately) and is generally optimized for power over performance. The SF3729 is something you should expect to find in Ultrabooks and other premium notebooks. The SF3739 is the go-to SKU for enthusiasts. It drops SATA support in favor of two more PCIe lanes (x4) and also brings full power-loss protection. It will of course be up to the OEM whether they use the power-loss protection or not, but at least it's supported because with the SF-2200 series it was limited to enterprise SKUs. The SF3759 will be the only SKU at launch aimed at the enterprise market, and it'll ship with the usual set of enterprise specific features. 

The SF3700 is still a few months away from retail availability, but LSI did provide us with some performance targets for its reference drive based on the controller (256GB/512GB). 

LSI SandForce SF3700 Expected Performance (Worst Case)
Interface PCIe 2.0 x4 SATA 6Gbps
Random Read 150K IOPS 94K IOPS
Random Write 81K IOPS 46K IOPS
Sequential Read 1800MB/s 550MB/s
Sequential Write 1800MB/s 502MB/s

With SATA we are still limited by the 6Gbps link speed, but the PCIe 2.0 x4 allows for much higher performance. Note that all of the performance scores are reported using high entropy data, which should defeat SandForce's real-time compression/data de-dupe engines. Performance can be even higher if you're dealing with low entropy data. It's very clear that LSI is now optimizing for the worst case data scenario rather than counting on some amount of compressibility in the data it encounters.

LSI's targets are far from humble as it's shooting for 1.8GB/s for the PCIe 2.0 x4 version, which is only 200MB/s short of the theoretical 2GB/s limit. LSI is expecting to be able to hit these performance targets, but it's not quite there yet. Based on LSI's own tests, they've been able to achieve 1.45GB/s sequential read speed with early firmware. Power consumption specs have not been finalized either but LSI said that currently the power consumption is about 4W, which they are trying to bring down by optimizing the firmware. Idle power consumption should be even lower than SF-2200's and support for low idle power technologies such as DevSleep are present.

IO consistency and low latency operation are both priorities for the SF3700. The SF-2000 family was one of the more consistent set of performers from the previous generation, it's good to see LSI prioritizing this going forward though.

Improved DuraWrite

DuraWrite is what made SandForce's previous controllers unique. DuraWrite is SF's proprietary technology that minimizes NAND writes by reducing writes on the fly through real-time compression and/or data de-duplication. The SF3700 comes with improved DuraWrite and LSI is claiming noticeably better data reduction capability. In other words, the SF3700 should be able to compress low entropy data even more and feature lower write amplification as a result, which in turn results in higher endurance and also better performance at small capacities with less NAND die. High entropy data won't see huge improvements in performance based on the algorithm alone.

Two-level RAISE

SF's RAISE (Redundant Array of Independent Silicon Elements) technology also gets updated with the SF3700. The original RAISE only protected against a single page or block failure but the SF3700 offers a second level RAISE for more protection. With the second level RAISE enabled, the drive can withstand a failure of multiple pages and blocks or up to a full die. The downside of course is that the new RAISE also needs more capacity for redundancy, which in this case is two die. In case of a die failure, the drive can either allocate another die by reducing the over-provisioning or it can switch back to first level RAISE (i.e. the original RAISE).

The new RAISE also solves the mystery of the ninth NAND channel. OEMs can use the ninth channel to overcome the capacity reduction that RAISE causes. OEMs no longer have to decide between higher capacity and RAISE as they can use the ninth channel for RAISE and still have eight left for actual user data (in reality the RAISE workload is equally distributed across all nine channels). SandForce OEMs can build a drive with for example 288GiB of NAND, which can then be sold as a 256GB drive with default over-provisioning and RAISE enabled (in this case, second level RAISE would take 32GiB and the 7% over-provisioning would come from the Gibibyte to Gigabyte translation). Obviously the redundancy data is not physically located in the ninth NAND package as it's spread across all the die.

The final new feature of RAISE is Fractional RAISE. The problem with the original RAISE was that using a full die for redundancy wasn't efficient. For example in a 64GiB SSD that would have been 1/8 (8GiB) of all the capacity and the usable capacity would have ended up being around 56GB, which isn't very attractive from a marketing perspective. Fractional RAISE is designed for small capacities with low die-count and it uses less than a full die, so OEMs can use RAISE without having to reduce the usable capacity to an odd number. Of course Fractional RAISE will not protect against a full die failure but it's still better than what small SSDs had before (i.e. nothing).

SHIELD

The final new feature of the SF3700 controller is SHIELD, LSI's updated error correction engine. One side effect of moving to lower process geometries with NAND is an increase in the number of errors you encounter when trying to read from or program to a device. The error rate also increases over the life of the NAND. The reality is that the ECC algorithm you'll need at the beginning of your drive's life is going to be different than what you need near the end. Shield works by cycling through a number of different ECC algorithms to find the optimum balance between performance and reliability. Early on when accesses come back error free, Shield defaults to very low latency ECC. If the error rate starts to climb, Shield will switch to other more sophisticated forms of ECC - trading off latency for reliability.

The same tradeoff can apply to the amount of area you use to store ECC data. SF3700 offers the option for drives to vary the percentage of each NAND page reserved for ECC data on the fly. This can theoretically give you more capacity early on in the life of your drive, and more endurance as your NAND ages. Obviously you'll need OS support in order to have a drive with variable capacity, so don't expect this to apply to most consumer platforms today.

SandForce expects the combination of Shield and adaptive code rate will allow drives to go from ~3K program/erase cycles to 18K cycles with 10nm class NAND. 

Final Thoughts and Availability

There is a ton of potential in SF3700. If LSI is able to get the performance to the expected level, the SF3700 will likely be the fastest consumer-orientated PCIe solution we've seen. LSI's main goal with the SF3700 was to design a controller that takes the current and upcoming challenges of NAND into account. As we move to smaller lithography NAND, features like DuraWrite and RAISE become even more important because NAND endurance, reliability and performance get lower. 

I truly hope that LSI/SandFoce has learned from the mistakes of SF-2200 and they'll validate the product enough before releasing it to the public. The SandForce brand image took a huge hit thanks to issues associated with SF-2200 (not to mention the outright denial of aforementioned issues for months). A repeat of that with the SF3700 is out of the question if this brand is to survive. I do expect the situation to be very different this time around, which is likely part of the reason why we're hearing about drives in the market in the first half of 2014 - 3.5 years after the introduction of the SF-2000 family of controllers. The SF3700 will be built under LSI's supervision and with LSI's resources as well, both of which should hopefully make for a better outcome than previous SF designs.

There is still a lot of work to do since the firmware is still in an early stage and to be honest, I wouldn't be surprised if we don't see drives in retail until closer to the middle of next year. As long as the end result is a stable, well validated product, I'm fine with that.

Comments Locked

22 Comments

View All Comments

  • The Von Matrices - Monday, November 18, 2013 - link

    No special 3rd party controllers are needed if you just make PCIe x4 cards. There are plenty of systems with spare PCIe 2.0 x4 slots. That will work until SATA Express becomes more widespread.

    The problem is that SATA Express is still a bottleneck for this controller since this controller has PCIe 2.0 and not 3.0. If this controller can truly use 2 GB/s of interface bandwidth, then using SATA Express at 1GB/s will be a bottleneck.
  • iwod - Monday, November 18, 2013 - link

    Why PCI-E 2.0 and not 3.0 when its intended target shipping date is next year? Broadwell will have enough lanes for that.
    So we could enjoy those speed without the need of using 4 lanes.

    And I still dont get how SATA Express fits into the Equation. ( So basically Controller supporting PCI-E = instant support of SATA Express, surely it aren;t that simple. )
  • The Von Matrices - Monday, November 18, 2013 - link

    SATA Express is the next generation SATA standard. The SATA consortium gave up with trying to double the bandwidth of SATA 6Gb/s and used the PCIe standard instead, so SATA express is really just a new connector for PCIe x2. SATA Express also does support backwards compatibility of SATA 6Gb/s as long as the controller supports it.

    The problem is that SATA Express supports only two lanes, so you will not get this drive's full bandwidth using SATA Express. My guess is that the enthusiast SSDs will ship in both SATA Express and PCIe x4 cards, with the PCIe card SSDs having double the interface bandwidth of SATA Express SSDs.

    You're right, it would be much better if LSI shipped this as PCIe 3.0 x2 instead of PCIe 2.0 x4 so that there would be no interface bandwidth difference between PCIe cards and SATA Express.
  • haukionkannel - Monday, November 18, 2013 - link

    The one thing to remebember is that 3700 series is very modular, so it should be guite easy to upgrade this to PCIe 3.0... Allso guite a lot of allready sold computer are "only" using PPCIe 2.0 so there are more market for that version. Allso it seems that 2.0 is fast enough for this controller, so it may be the main reason to stay on it at this moment.
  • The Von Matrices - Monday, November 18, 2013 - link

    LSI is advertising 1800MB/s read and write from this controller, which is a lot more than 1000MB/s of PCIe 2.0 x2 (what it would be on SATA Express). Hopefully a revision will ad PCIe 3.0 support, as you suggested.
  • iwod - Tuesday, November 19, 2013 - link

    Well Sold computer as in PC. The world is moving towards Notebook and even Tablet. It is happening now, and more so when this thing ship. Hopefully they will have a new revision with PCI-E 3.0 soon for OEM. Although it would properly take another 2 - 3 months for Apple to validate its use on their System.
  • zanon - Monday, November 18, 2013 - link

    For most scenarios outside of enterprise, DuraWrite seems to be a pretty uninteresting feature at this point. Full disk encryption is (and should be) the standard for all mobile scenarios, and as more powerful CPUs and/or hardware acceleration makes the performance cost completely negligible is a good idea for desktops too. That makes all data full entropy, with any compression moving up the stack to the filesystem (where it belongs) or in some cases the OS. Both major modern filesystems, ZFS and BTRFS, handle compression themselves, and offer more flexibility in where to use it and what algorithms to use. I'm glad to see that they're basing their targets around incompressible data, with anything else that can be squeezed out in some workloads being a nice bonus but not something to be depended on.

    The rest of what they're doing looks quite interesting though and seems to be where more of their attention is anyway. The question will definitely be whether they can firmly and completely handle all the concerns the brand has built up around reliability, and deliver something rock solid from the get-go. If they can it looks like they'll have some unique features to add to the mix, including the lack of DRAM, but as you said if there was another major flub it'd be pretty disastrous given how competitive the market is now.
  • ickibar1234 - Tuesday, November 19, 2013 - link

    I hope this new controller will be in SATA 3 2.5" SSDs! The industry needs a bump with queue=1 IOPs. Right now performance is stagnant between the OCZ Vertex 4, Vector, Samsung 840 Pro and other top end 2.5" SATA 3 SSDs. Time for a new jump in performance for SATA 3!
  • Kristian Vättö - Tuesday, November 19, 2013 - link

    IOPS at QD=1 is limited by NAND performance (can't take advantage of parallelism), not controller.
  • blanarahul - Sunday, April 20, 2014 - link

    Correction: "Read IOPS at QD=1......"

Log in

Don't have an account? Sign up now