Introduction to NVMe and NVMe/TCP
NVMe/TCP - Credit: Lightbits Labs

Introduction to NVMe and NVMe/TCP

NVMe stands for Non-Volatile Memory access through the PCIe (PCI Express) bus. This standard defines how to access solid-state disk drives (SSDs).

The previous generations of disk drives were based on stacks of magnetic media disks spinning at high speed. The protocols (like SATA) used to interface with those electromechanical disks were defined so as to exploit their advantages and cope with their limitations.

With the massive adoption of SSDs, it became apparent that SATA couldn't realize the full capabilities (high speed, parallelism) of the new generation of solid-state storage media.

NVMe came to bridge this gap. This protocol has lower latency, offers multiple, deep command queues, and can support thousands of interrupts to take advantage of the unique features of SSDs as compared to electromechanical disk drives. The multiple command queues are easily mapped to multiple-cores, making for a more scalable solution.

NVMe also has a rich set of features to support flexible power management solutions, needed to extend the battery life of portable devices.


NVMe over Fabrics

The traditional solution for storage was to include one or several SSDs for each computing box. This solution has some obvious disadvantages for data centers. The SSDs of some of the CPUs can be overloaded, while others are underused. To make data available from one CPU to others, the data may have to be copied from one local drive to another local drive.

These scalability and utilization pitfalls prompted the adoption of centralized SSD banks to be accessed by all the CPUs on the data center. This organization approach of the data center, which includes function-specific racks (CPU racks, SSD racks) is usually called a disaggregated data center.

The NVMe-of (NVMe over Fabrics) set of protocols provided the backbone to accessing the SSD data racks for each of the CPU racks on the data center. There are several flavors of NVMe-of. One of them is NVMe/TCP, which bases itself on the well-known and worldwide adopted TCP-IP protocol.

If you want to know more, you can download a ten-page whitepaper about NVMe/TCP here

Alexey Skidanov

Senior Software Engineer / Linux Kernel Engineer at Xsight Labs LTD

4 å¹´

I would add the following important fact - NVMe standardizes the SW/HW interaction.

赞
回复

要查看或添加评论,请登录

Avi Chami的更多文章

  • Demystifying the Machine Brain: Neural Networks, Deep Neural Networks and Neuromorphic chips (*)

    Demystifying the Machine Brain: Neural Networks, Deep Neural Networks and Neuromorphic chips (*)

    The human brain, with its intricate web of neurons and synapses, has long inspired scientists and engineers. Artificial…

  • A little bit of portable storage media history

    A little bit of portable storage media history

    I found almost all these portable storage media in the trash, and I thought of recovering them for these photos. In a…

    2 条评论
  • FPGA based Robot Motion Planning is lightning fast

    FPGA based Robot Motion Planning is lightning fast

    Motion planning is determining how a robot should move to achieve a goal; for example, a to move the arm of a robot to…

    1 条评论
  • SoC FPGA for IoT Edge Computing

    SoC FPGA for IoT Edge Computing

    One of the reasons for the explosive growth of IoT is that embedded devices with networking capabilities and sensor…

  • FPGA Design Flow

    FPGA Design Flow

    Are you going to make an FPGA design? Are you asking yourself where to start, how to continue, and finish? These are…

    1 条评论
  • FPGAs and Deep Machine Learning

    FPGAs and Deep Machine Learning

    The concept of machine learning is not new. Attempts at systems emulating intelligent behavior, like expert systems, go…

社区洞察

其他会员也浏览了