Flash Memory Technologies & vSphere Endurance Requirements

Over the past decade or so, flash technologies has evolved in several aspects from a simple uniform technology with limited number of packaging and simple consumer grade use-cases to a plethora of various form-factors, interfaces, type of devices, various endurance specification and ever-demanding commercial use-cases.

Before we go in the details of vSphere use-cases, let’s understand the current landscape of technology.

SLC vs MLC vs TLC vs eMLC

To summarize the differences, “Single-Level Cell (SLC)” stores one bit of data over single cell, “Multi-Level Cell (MLC)” stores two bit of data over a single cell, whereas “Triple-Level Cell (TLC)” stores three bit of data over a single cell. It means TLC can store three times the state over SLC based flash. The increased density comes at the cost of performance degradation and lower endurance as the same cell is being written exponentially more, resulting the faster wearing.

But flash manufacturer has worked to overcome the limitation of MLC that consigned it to consumer arena, in developing techniques to mitigate cell degradation to create “enterprise MLC (eMLC)”.

This landscape is not getting simpler any time soon, industry is already talking about QLC (Quadruple Level Cell) and 3D-NAND technology. And non-volatile memory (NVM) is not too far ahead in the horizon.

So what we end-up with is a complex world of various flash technologies and endurance criteria which is often dependent on manufacturing process and vendor implementations.

Interfaces & Packages

We are seeing the proliferation of various form factors and interfaces which also add complexity and nuances to the specific use-cases e.g. SATA II vs SATA III, PCIe SSD vs NVMe SSD, M.2 vs U.2, more than 10 packages of various SATA Disks with lack of standardization.

Unfortunately these variations results in application complexity, cost/inventory issue and poor customer experience.

vSphere Flash Use-cases

To further complicate the matter, VMware has various use-cases for flash and SSD inside vSphere environment. A non-exhaustive survey of various usage models in vSphere environment are listed below.

  • Host swap cache
    • The workload is heavily influenced by the degree of host memory over commitment.
  • Regular datastore
    • A (local) SSD is used instead of a hard disk drive.
    • This usage model has been supported since vSphere 6.0 for SATA and SCSI connected SSDs.
  • vSphere Flash Read Cache (aka Virtual Flash)
    • This usage model has been supported since vSphere 5.5 for SATA and SCSI connected SSDs.
  • Virtual SAN (VSAN)
    • This usage model has been supported since vSphere 5.5 for SATA and SCSI SSDs. Please consult here for detailed requirements.
  • VSphere ESXi Boot Disk
    • A USB flash drive or SATADOM or local SSD can be chosen as the install image for ESXi, the vSphere hypervisor, which then boots from the flash device.
  • VSphere ESXi Coredump device
    • Any SATADOM or SATA/SCSI SSD may be configured with a coredump partition. In coming release of vSphere non-boot USB flash devices may also be supported.
  • VSphere ESXi Logging device
    • A SATADOM or local SATA/SCSI SSD is chosen as the location for the vSphere logging partition (aka, “/scratch partition”). This partition may be but need not be on the boot disk and this applies to Autodeploy hosts which lack a boot disk.

Sorry state of affairs!

As various technologies are in-play with several interfaces, form-factors and varied use-cases, it is more confusing than ever for customers to adapt the technology with confidence and eco-system community to support various use-cases.
Image 5

vSphere Approach – Moving forward!

To simplify the whole approach, vSphere is turning towards Joint Electron Devices Engineering Council (JEDEC) standards, more specifically JESD218 and JESD219 to simplify the requirements for flash endurance for varied vSphere use-cases. VMware has recently published a new Knowledge Base (KB) article #2145210 to specify the endurance requirements for various vSphere use-cases to simplify ecosystem challenges to support vSphere on their platform.

While the actual workloads for various use-cases may not be compliant to JESD219 workload characteristics, we are making attempt to normalize the numbers to JESD219 enterprise workload characteristics. It provide a common reference-able endurance requirements for various vSphere use-cases, and simplify overall decision making process for customers and ecosystem partners.

We would like hear reader’s view on the approach to simplify the flash and SSD requirements and endurance criteria as published in the KB article #2145210.