In spite of a fire that closed the exhibition floor last week at Flash Memory Summit, Seagate managed to set up several live demos and display their latest SSDs along with a few prototypes, all in a meeting room safely away from the ruined exhibits.
We’ve previously covered the new products Seagate announced at the beginning of the show last week. Pictures of the Nytro 5000 M.2 SSD, the 15TB Nytro 3000 series SAS SSD, and the 64TB demo based on eight M.2 SSDs are all in the gallery below.
The two live demos used what appeared to be Nytro XP7102 SSDs in the half-height half-length add-in card form factor, but with Micron 3D NAND instead of the planar MLC that the XP7102 launched with. These drives use the same Marvell 88SS1093 controller that is in the Nytro 5000 and in several consumer SSDs. The live demos showed that Seagate has implemented support for the Streams feature from the NVMe 1.3 specification, and IO determinism which has been approved for the next revision of the NVMe specification.
The Streams demo illustrated how tagging write operations according to which task they belong to allows the SSD to keep related writes together and put unrelated data in separate erase blocks. When used properly, data from the same stream can be expected to have a similar lifetime, so when part of it gets invalidated or overwritten, everything in that erase block will also soon be available for garbage collection. With the longer-lived data stored elsewhere, the SSD has far less data to move and compact during its garbage collection process, which leads to lower write amplification and improved performance. For the test scenario Seagate concocted, they were able to show write amplification being reduced from around 8.6-9 down to about 1.03, while throughput for the worker thread that was shown on screen improved from around 9.7k IOPS to 83k IOPS.
The new NVMe IO Determinism feature serves a similar purpose, but implements it in a very different way. NVMe Streams directives are essentially hints to the SSD controller about how to physically organize data. The IO Determinism feature asks the SSD to make hard guarantees by dividing its flash chips and channels into separate NVM Sets. IO to one set will never block access to another set because the data resides on different physical chips. Saturating the PCIe link or overloading the controller’s available CPU power would be the only ways for one task to degrade another’s IO performance. The downside to this static partitioning method is that a single task accessing one NVM Set will not be able to use the full performance or capacity of the drive, even if there are no other tasks accessing the drive.
The IO Determinism feature also provides for timeslicing access to the SSD, where the drive can provide a window for deterministic IO where background garbage collection is suspended, followed by a non-deterministic period where normal access is permitted by performance may be degraded as the garbage collector catches up. This is essentially a standardization of the “Host Managed SSD” feature OCZ implemented for its Saber 1000 enterprise SATA SSDs in 2015.
Seagate also showed off two unannounced prototypes that they had not planned to feature at their booth. The first was dubbed the Nytro 5000B, a variant of the Nytro 5000 M.2 SSD that is intended as a high-performance boot drive. This was commissioned by a large customer that did not wish to be named. The drive included 256GB of 3D MLC NAND and 2GB of DRAM, plus a connection to an external pack of capacitors. With such a large bank of capacitors, the 5000B can be far more aggressive about caching both metadata and user data in DRAM, allowing for burst write performance far in excess of what the flash could sustain, and without compromising data safety.
The other prototype had similar aims, but instead of a capacitor-backed bank of DRAM it featured 128MB of Everspin STT-MRAM in addition to a normal DRAM cache for metadata. Seagate envisions using the MRAM either as a write cache for user data, or exposing it directly as a separate storage namespace for explicit tiered storage. This MRAM prototype drive was not a preview of an upcoming product. Instead, Seagate views this as a test platform to explore the possibilities and performance characteristics of MRAM, now that it is available in useful capacities.