We've seen a lot of discussion spurred about
Upon publication of Kristian's post on Anandtech, I called our
For all future references of the V300, to reduce confusion, I will be calling them "V300A" and "V300S," or V300 Asynchronous and V300 Synchronous (NAND). The original drive (c. 2012) used synchronous NAND (V300S), the currently-shipping V300 drives use asynchronous NAND (V300A).
If you're unsure of what any of this even means, I'll define asynchronous vs. synchronous NAND briefly in just a moment. Before that, though, a definition of this article: The objective was to benchmark performance between the V300's asynchronous and synchronous NAND models, hopefully determining if there is any real-world difference. I was unsatisfied with the benchmarks performed on forums, and so built our own real-world suite to accompany a synthetic test suite. The test case was reviewed and commented on by engineers at Samsung,
A lot of the user-run benchmarks for the V300 that I've seen on forums have used AS-SSD, which slams the drive with incompressible data -- a worst-case scenario for Gen 2 SandForce controllers -- and produces a somewhat incomplete picture. We're here to complete it. Incompressible benchmarks are important, but because most user data is compressible, we have to make sure everything is tested under identical conditions.
I purchased my own V300(A) to go along with our first-wave review sample of the V300, a measure I took to ensure that the device I'm testing is what you'd be receiving from a retailer.
Kingston V300 Specs - The Original Listing
For now, here's what the V300's specs look like, via Newegg & Kingston:
In talking with
In discussion with the company prior to this article's publication, Kingston wanted to make very clear that they are not "abandoning synchronous NAND" and that the move was to ensure the V300 is available at (what I interpreted as) a lower price than the $95 HyperX SSD, creating a more consistent pricing structure for SSDs. "It's part of our multi-BOM strategy to deliver the best price for our customers in an entry-level SSD," they said.
Still, it comes down to the controller to determine the true differences, but MLC was one of the primary draws of the V300 in its early stages. The device became available for just under $100 at 120GB, which was an incredible deal for the time of launch. We've recently seen drops to $80 and, in some discount cases, $60 -- or $0.50 / GB -- which has been largely unheard of.
So the drive has attraction in the market and appears good on paper, but then there's all the fuss about NAND changes.
What is Synchronous NAND? Asynchronous?
As I briefly discussed in our lead-up "new experiment" post, asynchronous NAND and synchronous NAND have an on-paper difference of nearly 2x (all other items constant) favoring synchronous NAND. The underlying architecture difference comes in the form of a clock. Keep in mind that, unlike magnetic hard drives (spindle-based, mechanical), SSDs operate using electrical signaling and logic gates to perform all data transmission and storage. An HDD uses a header to write data to a physical disk which then magnetically retains it, an SSD uses voltages and gates to write it to non-volatile memory.
A V300 PCB shot, source: The SSD Review.
Inside your SSD casing will be found a PCB that has gone through an SMT line (surface-mount technology). It is on this automated 'assembly line' that a series of machines and conveyer belts
Flash modules are a form of non-volatile memory that use Negated AND (NAND) logic gates to control the movement and storage of information on the device. You can see a NAND gate above -- a standard logic gate that is not unique to SSDs. For those who remember EEPROM (Electrically Erasable Programmable Read-Only Memory), an SSD's Flash memory is based on EEPROM's foundation; an SSD's cells (there are billions of these per device) contain a number of bits of data based upon the type of Flash (SLC, MLC, TLC). These cells must be electrically programmed by the device when storing data permanently, done by sending a signal to the device, and when it's time to remove data or perform wear-leveling, they will be electrically erased. This is where P/E cycles are rooted.
An easy example would be issuing a Secure Erase on your SSD, which will blast the drive with null data, setting all cells to a relatively 'blank' state. Doing this will deplete an entire P/E cycle from the NAND's lifespan -- if you had 3,000 P/E cycles, you now have 2,999, basically.
This is getting into architecture, but it's important information to have a foundational understanding of what we're going to talk about next. Moving on to the part you all came here for: Synchronous NAND.
Synchronous NAND deploys an electrical timing circuit that prompts data movement on both the rise and fall of the signal wave that is dispatched to interact with the device. Before getting further, here's an excellent visual aid from Samsung's NAND whitepaper:
In the first image, we see there is an "RE signal" being triggered at the fall of each signal wave, used for "Read Events." Other signals sent include "WE signals" for Write Events. These signals work in part to regulate how the drive perceives and stores its data. At some point, these signals were no longer sufficient for the speeds being achieved by SSDs, and so NAND suppliers worked to introduce a new "Strobe signal." This is seen in the second image (same graphic, above). Samsung defines the Strobe signal as:
"Present in all modern DDR NAND implementations, the strobe helps the controller to handle read and write data at high speed. It starts after receiving a signal from the host indicating a read or write event – think of a stopwatch, which can start and stop on demand. Depending on its current task, the strobe plays slightly different roles. During a write event, it is directly managed by the controller, whereas it plays a more supporting role during a read event.
With ONFI 2.0, synchronous logic was introduced to the ONFI NAND specification. Synchronous devices operate a “free-running” clock, which means that, as long they are receiving power, the clock will continuously run – much like a standard wall clock. This clock is used as a reference for the strobe. Modern ONFI NAND implementations eschew the use of a clock once again in favor of using only the strobe. Every generation of Toggle NAND was asynchronous."
ONFI stands for Open NAND Flash Interface, which is a somewhat open engineering standard that is maintained by more than 100 manufacturers and suppliers. Another standard, the one that
All this now known, a synchronous device's timing circuit will -- as I said above -- move data twice per signal wave (rise and fall), as opposed to just once with the asynchronous clock. Toggle NAND will process data during each point on the strobe signal drawn above. This theoretically increases our throughput significantly, since we're now effectively acting twice per wave.
To know the actual theoretical throughput of the NAND (in MB/s), we turn to manufacturer and supplier specifications. We know that the interface bandwidth of current-gen consumer-available Toggle NAND is approximately 200MB/s (found on the V300S); we also know that the asynchronous NAND supplied by Micron has a maximum theoretical interface bandwidth of 50MB/s, but don't have precise numbers. On paper, the bandwidth difference is massive -- but that doesn't necessarily mean anything for real-world use, since the controller is responsible for so much of the drive's performance.
Enough of that. Let's put all this to rest.
Continue to page 2 for our methodology and benchmark results; we also explain incompressible vs. compressible data, preconditioning, and other SSD considerations.