DirectFlash® is Pure's pioneering flash management solution comprising our Purity software and DirectFlash Modules—both components that can be independently and non-disruptively upgraded.
Here’s how it works, why it’s different, and why you need it.
Flash Storage Overview
Invented by Toshiba in 1980, flash memory, also known as flash storage, is a type of non-volatile memory (meaning it doesn’t require a continuous power supply) that can be electronically erased and reprogrammed.
There are two main types of flash memory—NOR and NAND—that differ at the circuit level depending on the type of logic gate they’re using. Currently, NAND flash represents more than 95% of the flash memory market and is used in almost all non-embedded flash devices.
Within the NAND category, there are various types of memory, classified based on the number of bits stored per memory cell, including:
- SLC: One (single) bit per cell
- MLC: Two (or multiple) bits per cell
- TLC: Three bits per cell
- QLC: Four (quad) bits per cell
DirectFlash is Pure Storage’s holistic approach to building all-flash systems. We leverage “raw” flash to build our DirectFlash Modules, rather than rely on buying commodity solid-state drives (SSDs). By doing this, we get our flash at a different point in the supply chain from other solid-state array vendors. But the benefits of DirectFlash are much more than just better supply chain economics.
How DirectFlash Is Different
Other all-flash or hybrid arrays that use commodity, off-the-shelf SSDs talk to their flash drives in essentially the same way they would a legacy hard drive: like it’s one contiguous set of identical blocks.
Hard drives had tracks and sectors, and laying all those sectors end to end was how you got one long list of blocks. SSDs replicate this same geometry by integrating complex systems in between the system and the flash, called a flash translation layer (FTL).
DirectFlash uses a different approach that talks to flash memory directly, which maximizes the capabilities of flash and provides better performance, power utilization, and efficiency.
Specifically, DirectFlash offers:
- System-level media management, as opposed to drive-level, which means the drives work in concert with the system itself, allowing the system to:
- Make smarter data placement decisions based on broader context.
- Understand the activity of the system from the block, file, or object level all the way down to an individual flash cell.
- Maximize efficiency by laying out data in ways optimized for the media, avoiding write amplification and increasing endurance.
- Avoid duplicate work by centralizing functions like garbage collection, sparing, and wear leveling.
- Reduction of overall media costs by eliminating duplicate efforts and processes that happen across every drive in a traditional system. Petabyte-scale systems that leverage SSDs can have terabytes of DRAM in the drives themselves—not even including system memory—to maintain their individual FTL mappings and metadata. Each drive also contains its own overprovisioned spare space that’s necessary for media management by the FTL. Each one of these components is an added cost that as drive sizes increase will make up a larger and larger portion of the overall media cost. The cost-per-bit of DRAM hasn’t improved in the last several years, so efficient use of DRAM will become more and more critical.
- Increased module reliability by failing at a much lower rate (3-4x) compared to SSDs, primarily due to the simpler firmware running.
How Solid-state Drives Work
An SSD is composed of NAND flash chips, also known as NAND flash dies, with each die being broken down into smaller elements called blocks, which are made up of pages.
However, flash blocks don’t support random overwrites. Once a page is written with data, the entire block needs to be erased before new data can be written in. At the same time, every SSD is built to support a backwards-compatible disk sector interface.
This contradiction is resolved by having something in firmware known as a “flash translation layer,” or FTL, which implements a virtual disk sector interface that allows you to write data to different flash pages no matter which logical block the data was intended for. The FTL keeps track of all this mapping metadata in its own memory and metadata storage.