Skip to content

A Peek into SSD Virtualization

  • mail

To take full advantage of big data accessed simultaneously by many users, storage virtualization is highly effective in optimizing the underlying infrastructure. Sometimes used to differentiate access between “hot” vs. “cold” data (data that changes frequently vs. data that rarely requires updates), its importance is increasing as the data availability needs for artificial intelligence and machine learning grow.

Done well, storage virtualization can present to each “tenant” an individualized environment with its own security and performance characteristics. That is, even though an SSD is being shared among multiple tenants, each one can reliably depend on a predictable level of performance similar to that of a single-user drive.

 

Diagram of a virtual machine (VM) architecture on a dark background. It shows VMM, VM0, and VM7 connected to SSD storage with servers NS0, NS_N, and NS_N+4.
Multiple VMs managed by a VMM
Diagram of a virtual machine (VM) architecture on a dark background. It shows VMM, VM0, and VM7 connected to SSD storage with servers NS0, NS_N, and NS_N+4.
Multiple VMs managed by a VMM

 

Virtualization has been around for decades, but it has entered a new phase as applied to NVM Express® (NVMe®) SSDs as new supporting features are introduced to their controller hardware.

 

Software virtualization

Virtualization was for many years implemented primarily in host software, which provided adequate functionality since host processors were fast relative to slow storage access times, and the number of tenants sharing a drive was limited. A software approach also made for easy updating of the virtualization techniques and allowed various approaches and features to be tested.

However, as storage speed increased, the overhead of this approach made it less desirable. Moreover, security holes started becoming apparent.

 

Hardware virtualization

Moving the virtualization to the NVMe-based SSD was the obvious answer to the increasing downsides of software implementations. In addition, doing so made for better differentiation among tenants. Accordingly, new hardware-specified features needed to be added to the NVMe specification and elsewhere to provide an effective and consistent set of tools.

 

Virtual devices

A feature implemented at the PCI Express® (PCIe®) layer, known as “single root I/O virtualization” (SR-IOV), permits a PCIe physical device (in this case, an SSD) to be seen by tenants as multiple virtual devices (namespaces that can be unique to a given tenant). This feature enables the concept of virtual machines (VMs) and underpins the other virtualization features discussed below.

 

Virtualization through data placement

With flexible data placement, the host manages the logical blocks written to a given superblock in the SSD such that it can efficiently “place” updated blocks and invalidate old ones so as to avoid garbage collection. The host can thereby take an active role in reducing the performance-robbing write amplification factor (WAF) in the SSD. Data placement is key in virtualization because the separation of data enables the WAF of different tenants to be managed independently.

 

Virtualized reporting

Using virtualized reporting, a VM (under the control of a virtual machine manager (VMM) or hypervisor) can see a differentiated view from other VMs of the drive namespace to which it has access. The feature manipulates values to give the VM its unique view of the storage data.

 

Live migration

On occasion, a data center needs to move the storage location from which a VM is running ― maybe to redistribute the system load or because of a failing component in the data center infrastructure. Moving a VM from a source system to a target system while the end user continues to experience uninterrupted operations is known as live migration. Virtualized reporting comes into play during live migration, since it allows access information fed to VMs to be changed dynamically.

 

Tracking LBA allocation

When the host system can distinguish between logical block addresses (LBAs) on a storage device that are allocated vs. those that are free, it can more efficiently migrate entire namespaces since it does not need to move empty blocks.

 

Setting the stage for future enhancements

Hardware implementation of NVMe features to enable data separation, data migration, and data environment isolation not only makes storage virtualization more efficient but also sets the stage for future improvements.

 

Learn more

To better understand the history of how and why storage virtualization became important, and learn more of the details behind the PCIe and NVMe features added over the years to make it the must-have feature it is today, download and read the “SSD Virtualization: Expanding the Role of SSDs in Modern System Architectures” whitepaper[1]Download

 


 
References
 
[1] White Paper: SSD Virtualization: Expanding the Role of SSDs in Modern System Architectures
 

* The contents of this blog are provided for informational purposes only. No representation or warranty (whether express or implied) is made by Samsung or any of its affiliates and their respective officers, advisers, agents, or employees (collectively, "Samsung") as to the accuracy, reasonableness or completeness of the information, statements, opinions, or matters contained in this blog, and they are provided on an "AS-IS" basis.
* Samsung will not be responsible for any damages arising out of the use of, or otherwise relating to, the contents of this blog. Nothing in this blog grants you any license or rights in or to information, materials, or contents provided in this blog, or any other intellectual property.
* The contents of this blog may also include forward-looking statements. Forward-looking statements are not guarantees of future performance and that the actual developments of Samsung, the market, or the industry in which Samsung operates may differ materially from those made or suggested by the forward-looking statements contained in this blog.
* All product specifications and performance data included in this article reflect internal test results and are subject to variations by user's system configurations. Actual performance may vary depending on use conditions and environment.
* Test results do not guarantee future performance under such test conditions, and the actual throughput or performance that any user will experience may vary depending upon many factors.
* All images shown are provided for illustrative purposes only and may not be an exact representation of the products.
* All design, features and specifications represented herein may change without notice.