]> www.infradead.org Git - users/hch/scsi-layout-nvme.git/commitdiff
update to NVMe 2.0 references
authorChristoph Hellwig <hch@lst.de>
Tue, 7 Jun 2022 08:24:37 +0000 (10:24 +0200)
committerChristoph Hellwig <hch@lst.de>
Tue, 7 Jun 2022 08:33:31 +0000 (10:33 +0200)
Also clean up various bits of nvme terminology and gratious references
to the STLR document.

Signed-off-by: Christoph Hellwig <hch@lst.de>
scsi_nvme_back_references.xml
scsi_nvme_middle.xml

index 6a1513c9f94cb83abfcd0d7a680580e725a5aa89..446e6b1b2113bd7c51dadd08fb4648cd8c3db27b 100644 (file)
     <seriesInfo name="ANSI INCITS" value="513-2015"/>
   </reference>
 
-  <reference anchor='NVME'>
+  <reference anchor='NVME-BASE'>
     <front>
-      <title>NVM Express Revision 1.3</title>
+      <title>NVM Express Base Specification, Revision 2.0</title>
       <author>
          <organization>NVM Express, Inc.</organization>
       </author>
-      <date month="May" year="2017"/>
+      <date month="May" year="2021"/>
     </front>
   </reference>
 
+  <reference anchor='NVME-NVM'>
+    <front>
+      <title>NVM Express NVM Command Set Specification, Revision 1.0</title>
+      <author>
+         <organization>NVM Express, Inc.</organization>
+      </author>
+      <date month="May" year="2021"/>
+    </front>
+  </reference>
+</references>
+
+<references title="Non-Normative References">
   <reference anchor='NVME-STLR'>
     <front>
       <title>NVM Express: SCSI Translation Reference Revision 1.5</title>
@@ -71,5 +83,4 @@
       <date month="June" year="2015"/>
     </front>
   </reference>
-
 </references>
index a0ea35f95249b367e2f9f5351736ff9e1072b5b4..61ff233978b24a99f815b04997eda08ff4822b93 100644 (file)
@@ -9,14 +9,23 @@
     that allows NFS clients to directly perform I/O to block storage
     devices while bypassing the MDS.  It is specified by using concepts
     from the SCSI protocol family for the data path to the storage
-    devices.  This documents explains how to access PCI Express, RDMA
-    or Fibre Channel devices using the NVM Express protocol
-    <xref target="NVME" /> using the SCSI layout type by leveraging
-    the SCSI Translation Reference (<xref target="NVME-STLR" />).
-    This document does not amend the pNFS SCSI layout document in any
-    way, instead of explains how to map the SCSI constructs used in
-    the pNFS SCSI layout document to NVMe concepts using the NVMe
-    SCSI translation reference.
+    devices.
+  </t>
+  <t>
+    This documents explains how to access NVM Command set Namespaces
+    <xref target="NVME-NVM" /> exported by NVMe Controllers implementing
+    the NVMe Base specification (<xref target="NVME-BASE" />) using
+    the SCSI layout type.
+
+    This document works independent of the underlying transport used by
+    the NVMe Controller and thus supports Controllers implementing a
+    wide variety of transports, including PCIe Express, RDMA, TCP and
+    Fibre Channel.
+  </t>
+  <t>
+    This document does not amend the pNFS SCSI layout document, but
+    instead of explains how to map the SCSI constructs used in
+    the pNFS SCSI layout document to NVMe concepts.
   </t>
 
   <section anchor="ssc:intro:reqlang" title="Requirements Language">
 <section anchor='sec:slm' title='SCSI Layout mapping to NVMe'>
   <t>
     The SCSI layout definition <xref target="RFC8154" /> only references
-    few SCSI specific concepts directly.  This document uses the
-    NVMe SCSI Translation Reference document (<xref target="NVME-STLR" />)
-    to provide mappings from these SCSI concepts to NVM Express 
-    (<xref target="NVME" />) concepts that SHOULD be used when using the
-    pNFS SCSI layout with NVMe devices.
-  </t>
-  <t>
-    The NVMe SCSI Translation Reference is used to define the
-    NVMe command and concepts that SHOULD be used to implement the
-    pNFS SCSI layout.  Implementations MAY or MAY not use an actual
-    SCSI to NVMe translation layer.
+    few SCSI specific concepts directly.  This document provides a mapping
+    from these SCSI concepts to NVM Express concepts that SHOULD be used
+    when using the pNFS SCSI layout with NVMe namespaces.
   </t>
 
   <section anchor='ssc:volident' title='Volume Identification'>
     </t>
 
     <t>
-      To be used as storage devices for the pNFS SCSI layout, NVMe devices
-      MUST support either the EUI64 or NGUID value in the
-      Identify Namespace data, as the methods based on the Serial Number for
-      legacy devices might not be suitable for unique addressing needs and
-      thus MUST NOT be used.  If available, the NGUID value SHOULD be used
-      as the larger identifier.
+      To be used as storage devices for the pNFS SCSI layout, NVMe namespaces 
+      MUST support either the EUI64 or NGUID value in the Identify Namespace
+      data, as the methods based on the Serial Number are not be suitable for
+      unique addressing needs and thus MUST NOT be used.
+      If available, the NGUID value SHOULD be used as it is the larger
+      identifier.
       <!-- XXX also allow the Identifier descriptors -->
     </t>
 
       Section 6.7 of <xref target="NVME-STLR" /> contains a full
       mapping of the required PERSISTENT RESERVE IN and
       PERSISTENT RESERVE OUT SCSI command to NVMe commands which
-      SHOULD be used when using NVMe devices as storage devices
+      SHOULD be used when using NVMe namespaces as storage devices
       for the pNFS SCSI layout.
 
       One important difference between SCSI and NVMe Persistent Reservations
 
   <section anchor='ssc:caches' title='Volatile write caches'>
     <t>
-      For NVMe devices a volatile write cache is enabled if bit 0 of the
+      For NVMe controllers a volatile write cache is enabled if bit 0 of the
       Volatile Write Cache (VWC) field in the Identify Controller Data
-      Structure (see Figure 109 in <xref target="NVME" />) is set and
+      Structure, I/O Command Set Independent (see Figure 275 in
+      <xref target="NVME-BASE" />) is set and
       the Volatile Write Cache Enable (WCE) bit (i.e., bit 00) in
       the Volatile Write Cache Feature (Feature Identifier 06h)
-      (see Section 5.21.1.6 of <xref target="NVME" />) is set.
+      (see Section 5.27.1.4 <xref target="NVME-BASE" />) is set.
       If a write cache is enabled on a NVMe device used as a storage
       device for the pNFS SCSI layout, the MDS MUST use the NVMe FLUSH
       command to flush the volatile write cache.