TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
- @) I) o5 E9 n0 ]+ P& T
NVMe* q8 L* K* w5 |/ |1 r
8 I4 U+ x' B k: y5 u/ y u
The deployment of SSDs, with performance capabilities orders of magnitude greaterthan previous storage devices, especially the low latency characteristics of the devices,drove the transition from physical attachments based on traditional storage busses tophysical interconnects more closely tied to the processor-memory complex, namely thePCIe bus.5 g; f/ r5 T' ^
8 |6 _( O [: r* x) `! L% g4 x
* k" N- k6 M# {% v- j( k6 c
! j/ n# B3 w6 P* T( J9 o2 ]9 [6 _9 F
" ?6 D* i& Z' d$ ~& ?8 b% GWith a storage device moving from a legacy storage interconnect to the low latencysystem interconnect the need for a new storage device interface that could span boththe storage domain and function equally well within the system interconnect domain andunlock the full potential of these new devices was required. NVMe is that new interface.$ R( p* T1 v; ~8 r2 L0 X
4 t9 m! a: T, ^) `$ Q0 b
! `, ~9 u3 U. V9 {& @The interface was also designed to be highly parallel and highly scalable. Thescalability, parallelism and inherent efficiency of NVMe allow the interface to scale upand down in performance without losing any of the benefits. These features allow theinterface to be highly adaptable to a wide variety of system configurations and designsfrom laptops to very high end, highly parallel servers.3 S+ F2 W) ]/ I) F0 I6 W
0 w) W9 O5 D+ i# N9 Z7 I2 h. H3 B$ H6 n2 t! x
Another important feature of the NVMe interface is its ability to support the partitioningof the physical storage extent into multiple logical storage extents, each of which can beaccessed independently of other logical extents. These logical storage extents arecalled Namespaces. Each NVMe Namespace may have its own pathway, or IOchannel, over which the host may access the Namespace. In fact, multiple IO channelsmay be created to a single Namespace and be used simultaneously (Note that an IO channel, i.e. a submission/completion queue pair is not limited to addressing one andonly one Namespace; see the NVMe specification for details.).8 u- S3 j( p$ \- ?" K. w+ z. [: }) v8 Y
, p+ k/ ~0 h' F) D1 y" E, G
4 k7 m6 h( c1 w1 O Y- M* ]3 k" G) }7 C
The ability to partition a physical storage extent into multiple logical storage extents andthen to create multiple IO channels to each extent is a feature of NVMe that wasarchitected and designed to allow the system in which it is used to exploit theparallelism available in upper layers of today’s platforms and extend that parallelism allthe way down into the storage device itself.
' v0 T5 t( W5 ~( H
# ^9 o3 K8 `- o4 n5 S" K
* k4 {: O6 o) AMultiple IO channels that can be dedicated to cores, processes or threads eliminate theneed for locks, or other semaphore based locking mechanisms around an IO channel.This ensures that IO channel resource contention, a major performance killer in IOsubsystems, is not an issue.5 E9 Q& I: @" t+ i; l1 Z
|
8 O, s) S. N- Z+ Q |
|