Non-Volatile Memory Host Controller Interface

Total Page:16

File Type:pdf, Size:1020Kb

Non-Volatile Memory Host Controller Interface NVM Express 1.1a NVM Express Revision 1.1a September 23, 2013 Please send comments to Amber Huffman [email protected] Incorporates ECNs 001 – 006. 1 NVM Express 1.1a NVM Express revision 1.1a specification available for download at http://nvmexpress.org. NVM Express revision 1.1 ratified on October 11, 2012. NVM Express revision 1.1a incorporates ECNs 001 – 006. SPECIFICATION DISCLAIMER THIS SPECIFICATION IS PROVIDED TO YOU “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS, RELATING TO USE OR IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE AUTHORS DO NOT WARRANT OR REPRESENT THAT SUCH USE WILL NOT INFRINGE ANY SUCH RIGHTS. THE PROVISION OF THIS SPECIFICATION TO YOU DOES NOT PROVIDE YOU WITH ANY LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS. Copyright 2007-2013, Intel Corporation. All rights reserved. All product names, trademarks, registered trademarks, and/or servicemarks may be claimed as the property of their respective owners. NVM Express Workgroup Chair: Amber Huffman Intel Corporation MS: JF5-371 2111 NE 25th Avenue Hillsboro, OR 97124 [email protected] 2 NVM Express 1.1a Table of Contents 1 INTRODUCTION ............................................................................................................. 8 1.1 Overview ......................................................................................................................................... 8 1.2 Scope .............................................................................................................................................. 8 1.3 Outside of Scope ............................................................................................................................ 8 1.4 Theory of Operation ........................................................................................................................ 8 1.4.1 Multi-Path I/O and Namespace Sharing ............................................................................................... 10 1.5 Conventions .................................................................................................................................. 13 1.6 Definitions ..................................................................................................................................... 14 1.6.1 Admin Queue ....................................................................................................................................... 14 1.6.2 arbitration burst .................................................................................................................................... 14 1.6.3 arbitration mechanism .......................................................................................................................... 14 1.6.4 candidate command ............................................................................................................................. 14 1.6.5 command completion ........................................................................................................................... 14 1.6.6 command submission ........................................................................................................................... 14 1.6.7 controller .............................................................................................................................................. 14 1.6.8 extended LBA ....................................................................................................................................... 14 1.6.9 firmware slot ......................................................................................................................................... 14 1.6.10 I/O command ........................................................................................................................................ 14 1.6.11 I/O Completion Queue .......................................................................................................................... 14 1.6.12 I/O Submission Queue ......................................................................................................................... 14 1.6.13 LBA range ............................................................................................................................................ 15 1.6.14 logical block .......................................................................................................................................... 15 1.6.15 logical block address (LBA) .................................................................................................................. 15 1.6.16 metadata .............................................................................................................................................. 15 1.6.17 namespace ........................................................................................................................................... 15 1.6.18 Namespace ID...................................................................................................................................... 15 1.6.19 NVM ..................................................................................................................................................... 15 1.6.20 NVM subsystem ................................................................................................................................... 15 1.6.21 private namespace ............................................................................................................................... 15 1.6.22 shared namespace ............................................................................................................................... 15 1.7 Keywords ...................................................................................................................................... 15 1.7.1 mandatory ............................................................................................................................................ 15 1.7.2 may ...................................................................................................................................................... 15 1.7.3 optional ................................................................................................................................................. 16 1.7.4 R ........................................................................................................................................................... 16 1.7.5 reserved ............................................................................................................................................... 16 1.7.6 shall ...................................................................................................................................................... 16 1.7.7 should ................................................................................................................................................... 16 1.8 Conventions .................................................................................................................................. 16 1.9 Byte, word and Dword Relationships ............................................................................................ 17 1.10 References ................................................................................................................................ 17 1.11 References Under Development ............................................................................................... 18 2 SYSTEM BUS (PCI EXPRESS) REGISTERS ....................................................................... 19 2.1 PCI Header ................................................................................................................................... 19 2.1.1 Offset 00h: ID - Identifiers .................................................................................................................... 20 2.1.2 Offset 04h: CMD - Command ............................................................................................................... 20 2.1.3 Offset 06h: STS - Device Status........................................................................................................... 20 2.1.4 Offset 08h: RID - Revision ID ............................................................................................................... 20 2.1.5 Offset 09h: CC - Class Code ................................................................................................................ 21 2.1.6 Offset 0Ch: CLS – Cache Line Size ..................................................................................................... 21 2.1.7 Offset 0Dh: MLT – Master Latency Timer ............................................................................................ 21 2.1.8 Offset 0Eh: HTYPE – Header Type ...................................................................................................... 21 2.1.9 Offset 0Fh: BIST – Built In Self Test (Optional) .................................................................................... 21 2.1.10 Offset 10h: MLBAR (BAR0) – Memory Register Base Address, lower 32-bits ..................................... 21 2.1.11
Recommended publications
  • (NASACFZ-1S2/Ot
    (NASACFZ-1s2/ot (1'AS-C-121~fPRELIMAINARY STUDY FOR A NUMERICAL AERODYNAMIC SIMULATION FACILITy. N78-19052 PHASE 1: EXTENSION Control Data Corp., St. Paul, Minn.) 434 p HC A19/MF A01 CSCL 01A Unclas G3/02 08630 PRELIMINARY STUDY FOR A NUMERICAL AERODYNAMIC SIMULATION FACILITY SUMMARY REPORT - PHASE 1 EXTENSION By: N. R. Lincoln FEBRUARY, 1978 Distribution of this report is provided in the interest of information exchang'e. Responsibility for the contents resides in the authors or organization that prepared it. Prepared under Contract No. NAS2-9457 by: CONTROL DATA CORPORATION Research and Advanced Design Laboratory 4290 Fernwood Street St. Paul, Minnesota 55112 for AMES RESEARCH CENTER NATIONAL AERONAUTICS AND SPACE ADMINISTRATION R EPVED ItA SI FACULWM SUMMARY REPORT - PHASE I EXTENSION Phase I of the NASF study which was completed in October 1977 produced several conclusions about the feasibility of construction of a flow model simulation facility. A computer structure was proposed for the Navier-Stokes Solver (NSS), now called the Flow Model Processor (FMP), along with technological and system approaches. Before such a system can enter an intensive design investigation phase several tasks must be accomplished to establish uniformity and control over the remaining design steps, as well as clarifying and amplifying certain portions of the conclusions drawn in Phase 1. In order of priority these were seen as: 1. Establishing a structure and format for documenting the design and implementation of the FMP facility. 2. Developing 'a complete, practically engineered design that would perform as claimed in the Phase 1 report. 3. Creating a design verification tool for NASA analysts, using a computerized simulation system.
    [Show full text]
  • Pirate Or Hackers Bible More Like Guidelines...= a = Abbrev: /*-Breev
    Pirate or Hackers Bible More like guidelines.... = A = abbrev: /*-breev'/, /*-brev'/ n. Common abbreviation for `abbreviation'. ABEND: [ABnormal END] /ah'bend/, /*-bend'/ n. Abnormal termination (of software); {crash}; {lossage}. Derives from an error message on the IBM 360; used jokingly by hackers but seriously mainly by {code grinder}s. Usually capitalized, but may appear as `abend'. Hackers will try to persuade you that ABEND is called `abend' because it is what system operators do to the machine late on Friday when they want to call it a day, and hence is from the German `Abend' = `Evening'. accumulator: n. 1. Archaic term for a register. On-line use of it as a synonym for `register' is a fairly reliable indication that the user has been around for quite a while and/or that the architecture under discussion is quite old. The term in full is almost never used of microprocessor registers, for example, though symbolic names for arithmetic registers beginning in `A' derive from historical use of the term `accumulator' (and not, actually, from `arithmetic'). Confusingly, though, an `A' register name prefix may also stand for `address', as for example on the Motorola 680x0 family. 2. A register being used for arithmetic or logic (as opposed to addressing or a loop index), especially one being used to accumulate a sum or count of many items. This use is in context of a particular routine or stretch of code. "The FOOBAZ routine uses A3 as an accumulator." 3. One's in-basket (esp. among old-timers who might use sense 1). "You want this reviewed? Sure, just put it in the accumulator." (See {stack}.) ACK: /ak/ interj.
    [Show full text]
  • Computers and Apollo
    COMPUTERS AND APOLLO > I. F. Grant G.R. Seymour J. H.K. Saxon O s Honeysuckle Creek Tracking Station, Canberra J \ \ r v November 25, 1970 1.1 Genera 1 The last, few days before1 a lunar mission Launch probably have a larger utilisation of' computers than any other- phase of the' mission. I'ho many fu n d i oils wi I I ha performed with increasing frequency and complexity, culminating in the vehicle liftoff from the pad, ACE (short for Automatic Checkout Equipment) is a large bank of computers situated at Cape Kennedy. This equipment is running continuous checks on all spacecraft systems, monitoring the loading of propellants and parameter trends, and performing check routines with the CMC, LGC, and LVDC, which are the computers situated in the CSM, LM, and SIVB 3rd stage of the launch vehicle. Some of A C E !s results are sent via high speed lines to Mission Control Center (MCC) at Houston, where they are processed and formatted for display by the IBM 360 computers which form the RTCC (Realtime Telemetry and Command Complex). The RTCC in turn is being used by the mission flight controllers to generate test digital command requests for transmission to the spacecraft via the Merritt Island tracking station situated at the Cape. r*\ The rest of the tracking network (l4 stations and one ship) is also being checked out by computers at MCC and Goddard Space Plight Center (GSFC) with a standard series of performance tests known as CADPISS (Computation and Data Plow Integrated Subsystems). These computers instruct the sites to perform tracking, telemetry processing, and command functions, monitor the outputs against pre-programmed standards, and inform the sites of the results.
    [Show full text]
  • Jargon File, Version 4.0.0, 24 Jul 1996
    JARGON FILE, VERSION 4.0.0, 24 JUL 1996 This is the Jargon File, a comprehensive compendium of hacker slang illuminating many aspects of hackish tradition, folklore, and humor. This document (the Jargon File) is in the public domain, to be freely used, shared, and modified. There are (by intention) no legal restraints on what you can do with it, but there are traditions about its proper use to which many hackers are quite strongly attached. Please extend the courtesy of proper citation when you quote the File, ideally with a version number, as it will change and grow over time. (Examples of appropriate citation form: "Jargon File 4.0.0" or "The on-line hacker Jargon File, version 4.0.0, 24 JUL 1996".) The Jargon File is a common heritage of the hacker culture. Over the years a number of individuals have volunteered considerable time to maintaining the File and been recognized by the net at large as editors of it. Editorial responsibilities include: to collate contributions and suggestions from others; to seek out corroborating information; to cross-reference related entries; to keep the file in a consistent format; and to announce and distribute updated versions periodically. Current volunteer editors include: Eric Raymond [email protected] Although there is no requirement that you do so, it is considered good form to check with an editor before quoting the File in a published work or commercial product. We may have additional information that would be helpful to you and can assist you in framing your quote to reflect not only the letter of the File but its spirit as well.
    [Show full text]
  • Day One: Beginner's Guide to Learning Junos
    DAY ONE: BEGINNER’S GUIDE TO LEARNING JUNOS® The Juniper AmbAssADors Are A Diverse set of inDepenDent network engineers, ConsultAnts, AnD ArChiteCts who work in the fielD with Juniper technologies on A DAily bAsis. Their mission is to spreaD the worD About the power AnD sCAlAbility of Juniper’s network offerings. InDeeD, they Are responsible for over A Dozen ONE: DAY Day One books AnD Countless soCiAl meDiA AppeArAnCes, viDeos, AnD trAining sessions. But they hAve Al- DAY ONE: BEGINNER’S GUIDE TO ways wanteD to fill A mAjor gAp in the networking CAnnon AnD Create A true beginner’s guiDe to the most powerful networking OS in the worlD. AnD now they hAve Done it, the AmbAssADor wAy: hAnDs on, to the ® point, anD complete. It’s all here in the Beginner’s Guide to Learning Junos. LEARNING JUNOS BEGINNER’S GUIDE TO LEARING JUNOS LEARING TO GUIDE BEGINNER’S “Whether you are new to Juniper or not, there isn’t a more complete introduction to Junos available. I wish Nine this book was around when I started my network journey years ago. The Ambassador authors bring together so much knowledge and expert field experience that this book is a one-stop-shop to take you from beginner to Junos expert.” Melchior Aelmans, Lead Engineer Cloud Providers, Juniper Networks The Juniper Ambassadors “Nowadays there are many vendors offering similar services and its difficult to learn them all. What network show you how to stand up engineers need is a clear and easy-to-follow guide to assist them in their learning journey.
    [Show full text]
  • IBM Jargon and General Computing Dictionary Tenth Edition
    IBM Jargon and General Computing Dictionary Tenth Edition Preface This is the Tenth Edition of the IBM Jargon and General Computing Dictionary, dated May 1990. This edition follows the markup and format of the last (Ninth) edition, and has more than one hundred and seventy new entries (bringing the total to over fourteen hundred entries). This is not only the tenth edition of the dictionary, but is also its tenth year; the first edition was compiled and distributed in 1980. At that time the use of jargon was on the increase, but I now observe that the quantity and use of jargon appears to be decreasing − perhaps as computing becomes less of a specialist discipline. Not only does this make my task as editor of the dictionary a little easier, but it might also imply that the computing industry is at last getting better at communi- cating with its customers! As usual, I am indebted to the content and management reviewers for this edition: Geoff Bartlett, Ian Brackenbury, Peter Capek, Philip Cohen, Bertrand Denoix, Truly Donovan, Forrest Garnett, and Ray Mansell. Any errors that remain are, of course, entirely my responsibility. I should also like to thank the hundreds of people who have contributed words or definitions to this dictionary. I have been especially encouraged by the diversity of the contributors, who come from more than forty countries and from all divisions of IBM. Newcomers to IBM have proved to be the most sensitive to jargon, and the old-timers (some from very high levels in the Corporation) have provided most of the history and anecdotes.
    [Show full text]
  • A Fast, Minimal Memory, Consistent Hash Algorithm
    A Fast, Minimal Memory, Consistent Hash Algorithm John Lamping, Eric Veach Google Abstract We present jump consistent hash, a fast, minimal memory, consistent hash algorithm that can be expressed in about 5 lines of code. In comparison to the algorithm of Karger et al., jump consistent hash requires no storage, is faster, and does a better job of evenly dividing the key space among the buckets and of evenly dividing the workload when the number of buckets changes. Its main limitation is that the buckets must be numbered sequentially, which makes it more suitable for data storage applications than for distributed web caching. Introduction Karger et al. [1] introduced the concept of consistent hashing and gave an algorithm to implement it. Consistent hashing specifies a distribution of data among servers in such a way that servers can be added or removed without having to totally reorganize the data. It was originally proposed for web caching on the Internet, in order to address the problem that clients may not be aware of the entire set of cache servers. Since then, consistent hashing has also seen wide use in data storage applications. Here, it addresses the problem of splitting data into a set of shards, where each shard is typically managed by a single server (or a small set of replicas). As the total amount of data changes, we may want to increase or decrease the number of shards. This requires moving data in order to split the data evenly among the new set of shards, and we would like to move as little data as possible while doing so.
    [Show full text]
  • Irmx 86 Nucleus, Terminal Handler, and Debugger Reference Manual
    iRMX 86™ NUCLEUS, TERMINAL HANDLER, AND DEBUGGER REFERENCE MANUAL Manual Number 9803122-02 Copyright © 1980 Intel Corporation I Intel Corporation, 3065 Bowers Avenue, Santa Clara, California 95051 L Additional copies of this manual or other Intel literature may be obtained from: Literature Department Intel Corporation 3065 Bowers Avenue Santa Clara, CA 95051 The information in this document is subject to change without notice. Intel Corporation makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Intel Corporation assumes no responsibility for any errors that may appear in this document. Intel Corporation makes no commitment to update nor to keep current the information contained in this document. Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in an Intel product. No other circuit patent licenses are implied. Intel software products are copyrighted by and shall remain the property of Intel Corporation. Use, duplication or disclosure is subject to restrictions stated in Intel's software license, or as defined in ASPR 7-1 04. 9(a)(9). No part of this document may be copied or reproduced in any fonn or by any means without the prior written consent of Intel Corporation. The following are trademarks of Intel Corporation and may be used only to identify Intel products: BXP Intel Megachassis CREDIT Intelevision Micromap i Intellec Multibus iCE iRMX MULTIMODULE iCS iSBC PROMPT im iSBX Promware Insite Library Manager RMX/80 Intel MCS UPI pScope and the combination of ICE, iCS, iRMX, iSBC, iSBX, or MCS and a numerical suffix.
    [Show full text]
  • FNS Glossary
    FNS Glossary A AAA AAA is an acronym which stands for Authentication, Authorization, and Accounting. Allows all facets of user security to be defined on a central server. AAA provides identity based services to the network. ABEND Abnormal END. Abnormal termination of software. Access 1.) In dealing with network security it is an all-encompassing term that refers to unauthorized data manipulation, system access, or privileged escalation. Access attacks An all-encompassing term that refers to unauthorized data manipulation, system access, or privileged escalation. Unauthorized data retrieval is simply reading, writing, copying, or moving files that are not intended to be accessible to the intruder. access control Limiting the flow of information from the resources of a system to only the authorized persons or systems in the network. Access Control See ACE. Entry access control list See ACL. access device Hardware component used in your signaling controller system: access server or mux. access layer The point at which local end users are allowed into the network. Access Method 1.) Generally, the way in which network devices access the network medium. 2.) Software within an SNA processor that controls the flow of information through a network. access policy Defines access rights and privileges for the network users. The access policy should provide guidelines for connecting external networks, connecting devices to a network, and adding new software to systems. Access Provider The remote computer system which connects a personal computer to the Internet. Access VPN Access Virtual Private Network. A Virtual Private Network (VPN) that provides remote access to a corporate intranet or extranet over a shared infrastructure with the same policies as a private network.
    [Show full text]
  • X·L2• a SERIOUS COMPUTER
    A SERIOUS COMPUTER X·l2• IN A DESKTOP PACKAGE Multiprocessor Technology - Combination of 8, 16 and 32 bit types 1.0 Megabyte Memory- Insures no limitation on programs "Winchester" Disk System- Fast response, large storage capacity UniFiex · Operating System- The standard of comparison Hardware Floating Point - Unmatched speed in a small system Up to Three Terminals - Instant expansion • T r�demark uf Technical Synems c:;onsultanu SOUTHWEST TECHNICAL PRODUCTS CORPORATION 219 W. RHAPSODY SAN ANTONIO, TEXAS 78216 (512) 344-0241 Only Microware's OS-9 Operating System Covers the Entire 68000 Spectrum MICROWARE'S OS-9 UNIX ROM·BASED fi.OPPY..OISK BASED DID-lASED CONTROL PERSONAL INDUSTRIAL SYSTEMS COMPUTERS smEMS HAND-HELD HARDWAREiSOFT'MRE ..,._SCALE COMPUTERS DEVELOPMENT SYSTEMS ._....... IYIIIMI SMALL SYSTEMS LARIE SYSTEMS Is complicated software and expensive hardware VAX an d PDP-II mal-.c lt>ordinJtcd UnaxOS·l) ..ottw.tn• d w ptn keeping you back from Unix? Look mto 0$-ll the c Jo ent J rfc.J�Uft! orc.·rating �y�tcm fl'(lm Macr<w.arcthat giii('So8000 �y:.tt·m' SUPPORT FOR MODULAR SOFTWARE .a Unax-�tvlt• envan>nnwnt walh mulh ll"i� overhead .md - AN OS-9 EXCLUSIVE c<,mplt•\aiy. Ct,mprd,cn�I\C 'urp"rt 1<)1moduiM .,oilware put<. os.o •� wr�Jhlt•, delivers outstanding J .JheJd of II mulliplit� 0�-1.? anexpt'n'l\'t' anJ t-wncrJti.m otht•r upt•t.lhng.,y,ft'm!>. p<>rlormo�nl�' on .111y o,tzt• )y�ll'll1 1h(' OS-" £'Xt'tu llw b progrJtntTWr pnlliudt\'&lyand tnl'tnoryC'tial&Cn• y.
    [Show full text]
  • 'Cal 9 1752' Explained 'Cal 9 1752' Explained Table of Contents 'Cal 9 1752' Explained
    'cal 9 1752' explained 'cal 9 1752' explained Table of Contents 'cal 9 1752' explained..........................................................................................................................................1 Ha, ha, ha. Take me back to [ the alphabetic list ] [ the date-ordered list ].............................................1 48-bit computers..................................................................................................................................................2 Ha, ha, ha. Take me back to [ the alphabetic list ] [ the date-ordered list ].............................................2 A Fairy Tale In Akademia.................................................................................................................................3 Ha, ha, ha. Take me back to [ the alphabetic list ] [ the date-ordered list ].............................................4 A Legend For Our Time.....................................................................................................................................5 Ha, ha, ha. Take me back to [ the alphabetic list ] [ the date-ordered list ].............................................7 A Modest Proposal for Encoding Debate..........................................................................................................8 Ha, ha, ha. Take me back to [ the alphabetic list ] [ the date-ordered list ].............................................9 A Problem In The Making...............................................................................................................................10
    [Show full text]
  • IBM Acronym Which Is So Well- of More Permanent Structures
    IBM Jargon and General Computing Dictionary Tenth Edition Preface This is the Tenth Edition of the IBM Jargon and General Computing Dictionary, dated May 1990. This edition follows the markup and format of the last (Ninth) edition, and has more than one hundred and seven- ty new entries (bringing the total to over fourteen hundred entries). This is not only the tenth edition of the dictionary, but is also its tenth year; the first edition was compiled and distributed in 1980. At that time the use of jargon was on the increase, but I now observe that the quantity and use of jargon appears to be decreasing – perhaps as computing becomes less of a specialist discipline. Not only does this make my task as editor of the dictionary a little easier, but it might also imply that the computing industry is at last getting better at communicating with its customers! As usual, I am indebted to the content and management reviewers for this edition: Geoff Bartlett, Ian Brackenbury, Peter Capek, Philip Cohen, Bertrand Denoix, Truly Donovan, Forrest Garnett, and Ray Mansell. Any errors that remain are, of course, entirely my responsibility. I should also like to thank the hundreds of people who have contributed words or definitions to this diction- ary. I have been especially encouraged by the diversity of the contributors, who come from more than forty countries and from all divisions of IBM. Newcomers to IBM have proved to be the most sensitive to jargon, and the old-timers (some from very high levels in the Corporation) have provided most of the history and anecdotes.
    [Show full text]