Sign in with
Sign up | Sign in

BCH ECC, Overprovisioning, And Moving To 6 Gb/s

OCZ's Vertex 3 Pro: Second-Gen SandForce Perf Preview
By

Enhanced BCH ECC: A Firmware Layer


As NAND evolves from one manufacturing node to the next, it becomes increasingly difficult to produce compute-quality product. The end result is that newer flash tolerates fewer programming-erases cycles. Correcting errors is perhaps even more important to SandForce than the competition. Drives based on the company's controllers are often able to employ lower-grade NAND as a result of the company's DuraWrite technology. Not only does this capability allow less data to be written, but it also speeds up transfers and reduces NAND wear.

This is the reason why SandForce is introducing a new error correction scheme. NAND flash includes extra storage on each page to hold ECC code and other information related to wear-leveling, block mapping, and other overhead functions. Previously, SandForce used a Reed-Solomon algorithm, which worked fairly well for scattered errors, but is limited in its ability to correct highly concentrated errors. Additionally, there is a high overhead for this type of signal-based decoding.

In its second-generation controller, SandForce is switching up to a BCH (Bose-Chaudhuri-Hocquenghem) algorithm because it features improved efficiency over Reed-Solomon. It has the benefit of correcting highly concentrated and widely scattered errors.

BCH a is relatively more straightforward implementation compared to Reed-Solomon, which means less processing overhead for the SF-2582. Fewer overhead transactions translate into better performance. At the same time, this is a more robust version of BCH than what we have seen elsewhere. It is 55-bits per 512-byte ECC encoding, which is far beyond the limits of what intelligent NAND corrects on its own. SandForce gets away with this because it's done at a firmware level through RAISE (the redundant array of independent silicon elements, responsible for enabling use of lower-cost flash). 

The company tells us that intelligent NAND that tries to self-correct its own errors actually slows down drive performance, which is why it would prefer to work with ECC data in the raw. Since that is not an option, the SF-2582 needs to trick the flash chip into accepting more ECC than it actually can. A lot of how this occurs remains shrouded in SF’s secret sauce, but we are told that this results in one quadrillion (1015) times the fewer uncorrectable errors.

Vertex 3 Pro: 28% Provisioning

While DuraWrite can extend NAND durability, OCZ chose to set overprovisioning for all enterprise drives at ~28%. There are two reasons for creating more spare space than what we see on consumer drives.

First, it increases the life of the drive. By increasing the spare area to move blocks around, the drive has fewer redundant writes when it has to do data consolidation. As a result, we end up with less write amplification.

The other reason is to maintain performance over time. As another consequence of a larger “scratch area,” the drive will not get as dirty. With fewer redundant writes, the efficiency per write op goes up.

Moving to 6Gb/s

As you probably already know from our first few looks at 6 Gb/s hard drives, buying a 6 Gb/s drive doesn't mean you're going to get more performance. In the enterprise space (especially when you're talking about mechanical disks), the new interface emphasizes more drives per port than simply enabling smoking speed from a one drive/one port situation.

If that is, in fact, the way you use your storage devices--most common in the desktop space--then you not only need 6 Gb/s drives and controllers, but also technology capable of exceeding the performance ceiling of a 3 Gb/s connection. The Vertex 3 Pro is perhaps the first device we've seen in-house that can achieve such a milestone. But now you need to worry about the hardware to which you're connecting it. Not all 6 Gb/s-capable host interfaces are created equal.

In the run up to this preview, we were given fair warning that getting optimal performance from the Vertex 3 Pro required Intel's P67/H67 chipsets. Though admittedly not enterprise-class devices, you can be we'll see derivatives in the early March time frame enabling Sandy Bridge-based Xeon CPUs in the server/workstation space. AMD's SB850 southbridge, OCZ says, is almost as fast (within a single digit of variance). However, Marvell's 9128/9130 controller would not give us representative performance.

These controllers were designed as cheap ways to enable additional motherboard-down 6 Gb/s SATA connectivity. However, the PCIe x1-based controllers themselves, already at an interface disadvantage, weren't designed to handle the overhead of a very fast storage device. Thus they can't keep up with the IOPS throughput of the next-generation SSDs we're seeing from OCZ today and competing vendors in the near future.

With all of that said, we're happy to finally have a single SATA device capable of taxing our storage controllers, and we're in the process of putting together a story comparing some of the most popular southbridges and platform controller hubs using the Vertex 3 Pro.

Display all 10 comments.
This thread is closed for comments
  • 0 Hide
    mi1ez , 18 February 2011 14:26
    Quote:
    This field is what allows the nonconductive silicon substrate to function as a conductive channel.

    Erm... Semiconductor?
  • 0 Hide
    shanky887614 , 19 February 2011 01:50
    2$ a GB is still too high for me, i have a 2tb and a 1tb hdd in my computer, i really want to move to ssd's but i cant afford it, at the moment with not a lot on my c partition im using 200GB thats 400$ and i wouldnt be happy with less than a 400gb system partion which is 800$
  • 0 Hide
    shaunpugh , 19 February 2011 16:35
    @shanky887614

    I've been running SSD for a couple of years and you don't need a 400GB system partition. I've run on a 60GB system partition before, and yes that was a bit on the tight side. 120GB is probably a good balance between capacity and cost, but if you can afford it 240GB (what I have now) is enough for the OS, applications, the photo's I'm currently working on and a couple of VM's.

    Most of your 'stuff' doesn't get accessed anyway, just run Treesize and look at the last access date for your data. Look at the size of everything that was accessed in the last month, and this is a good sizing estimate for SSD - obviously leave a bit of overhead for OS components that aren't always used and for growth. Everything else can go on a much cheaper HDD. I guess we all got lazy when 1TB and 2TB disks came out, SSD makes you think about data management again, but the rewards are worth it.
  • 0 Hide
    Anonymous , 19 February 2011 17:41
    >>120GB is probably a good balance between capacity and cost>>
    Ok but $500 for 100 Gb is too much.
  • 0 Hide
    shaunpugh , 19 February 2011 21:14
    True, they aren't cheap, can't argue that one.
  • 0 Hide
    shanky887614 , 19 February 2011 23:45
    actually when i say that i need 400gb partition im including just my games and programs, i would need at least that for peace of mind, actually at moment im only using 200gb of it but i wont a bit of headroom
  • 0 Hide
    shaunpugh , 20 February 2011 03:42
    Do a quick scan with treesize mate, you won't need to spend as much as you think.
  • 0 Hide
    mi1ez , 20 February 2011 22:46
    My system disk is only 80GB (HDD sadly) and has 33GB free. I don't see an 80GB system disk as being too limiting, although I would shy away from 60GB
  • 0 Hide
    Anonymous , 21 February 2011 10:32
    I've been on an 80gb system disk (hdd) for some time now, and with windows and other programs that have to be on the os drive that leaves me with only about 40gb of free space to do with as i like. 40gb is enough for maybe 4 games at a time if I'm lucky, and even so that means doing a *lot* of uninstalls and reinstalls while leaving the drive almost at capacity all the time, which wouldn't be good for a ssd.
    A ssd much smaller than 100 gb just wouldn't be practical for anything much but the os, and any larger than 100 gb and prices go through the roof. I'm sure theres benefits to be had with ssds, but affordable ones aren't all that much better than fast hdds and just dont have enough space...
  • 0 Hide
    fruees , 22 February 2011 01:24
    I don't know what you lot are talking about - I've been running my os (vista and win7) on a 30gb vertex and it great. Programs and storage are on an HDD.

    The Vertex range is for sure the staple of the ssd market and OCZ customer service on their forums is by far the best I have ever seen