Originally Posted by Mfusick
Oh yes. Everyone knows it was real.
It's just that it's blown way out of proportion today than it needs to be.
I read interesting article today on Anandtech btw...
It reviewed a Sandforce that was 128GB instead of 120GB. Something about the firmware for overhead being turned off.. I will look for it.
SandForce sets aside more NAND capacity than most controllers for spare area. While Intel, Marvell, Samsung and others default to ~7% of total NAND capacity for spare area, SandForce is almost double that. The difference boils down to RAISE, SandForce's NAND redundancy algorithm that requires the consumption of a full NAND die. The original idea was that RAISE and SandForce's DuraWrite technology could allow SSD vendors to use cheaper, less reliable NAND without any impact to the end user. It seems as though no one was willing to risk using anything but the best NAND, so we never really saw this feature exploited. A bit over a month ago, ADATA released their XPG SX900 series. It utilizes the oh-so-common SF-2281 controller but unlike other SandForce SSDs, RAISE is disabled - giving the end user more usable space.
When an SSD is marketed as for example 120GB, it must have 120GB of usable space (before formatting, of course). However, the advertised capacity does not always reflect the raw NAND capacity. Both 120GB and 128GB SSDs actually have 128GiB of NAND onboard. Notice that GB and GiB are not the same. As these two are easily confused with one and another, let's revisit the topic quickly.
Giga is a prefix for billion or 10^9. That means one Gigabyte is 1,000,000,000 bytes. Gibi, on the other hand, is a prefix for 1024^3, or 2^30. Do the math and one Gibibyte works out to be 1,073,741,824 bytes. The confusing part here is that Windows uses Gibibytes for capacities but with the GB abbreviation. (As an aside, Microsoft and others have used "GB" for 2^30 some time, and "Gibibytes" and the other binary SI prefixes only came into being in 1998.) That's why we often say Gigabytes although we really mean Gibibytes. Under Windows, a 128GB SSD is actually shown as a 119GB drive, although in reality it's 119GiB.
As SSDs capacities are advertised in Gigabytes, there is always some "hidden" space thanks to Gigabyte to Gibibyte translation. A 120GB SandForce SSD has ~17.4GB or 12.7% of space that is inaccessible by the end-user. What is that space used for then? Two words: RAISE and over-provisioning.
RAISE (Redundant Array of Independent Silicon Elements) uses the capacity of one NAND die (8GiB for 2x-nm NAND) for parity data. Hence you can lose up to a full NAND package worth of data without losing anything from the user's standpoint. While RAISE is optional, all SandForce SSD manufacturers have enabled it on +120GB drives thus far. 60GB SSDs have RAISE disabled because the user accessible space would be only ~56GB with 8GiB for RAISE and ~7% for over-provisioning.
et's illustrate this situation by looking at how the space in a 120GB SSD is used. RAISE needs a full NAND die so that's 8GiB which needs to be substracted from the raw 128GiB. We are at 120GiB now. As 120GB is user accessible space, that needs to be substracted as well, which means the space left for over-provisioning is ~8.8GB or 6.9%.
So, now we know how the space in a typical SandForce SSD is allocated, but what exactly has ADATA disabled or decreased to achieve a higher capacity? An SSD cannot work without over-provisioning because it would have no space to do garbage collection, wear leveling, and bad block replacement. 0% OP is impossible as the drive could not function if it was filled. That leaves us with RAISE. ADATA has simply disabled RAISE to gain the extra 8GiB and make 8GB of it user accessible (the remaining ~0.6GB is used for OP to keep the OP percentage the same).
And that's it. There are no extra tricks, no extra NAND onboard, and no special controller or other magic. All SF-2200 series controllers support a RAISE-disabled mode, and ADATA is simply the first one to employ it on a drive larger than 64GB. This actually brings us to the next question: What has ADATA done with the 64GB drive?
60GB SandFroce drives already have RAISE disabled because with 8GiB for RAISE and 7% for OP, the usable capacity and hence advertised size would only be 56GB. When RAISE is disabled, there is actually 12.7% left for OP on a 60GB SF drive. ADATA has simply decreased the amount of space dedicated to OP to 7%, which yields a usable capacity of 64GB (or 63.9GB to be exact).
According to SandForce, RAISE is not even necessary for consumer workloads and the built-in 55-bit BCH ECC engine should be effective enough for error correcting. Personally, I would rather lose a small proportion of capacity to prevent potential data loss, but everyone's point of view is different. In my opinion, if you need the extra capacity that one NAND package provides, then your SSD is too small to begin with. It's always a pain in the neck to deal with a drive that's nearly full, especially if it's your boot drive.