NVMe技术架构深度分析
NVM(Non-Volatile Memory)翻译过来为非易失存储器,是一类存储器的一般术语总称。而NVMe(Non-Volatile Memory Express)是一个可扩展的主控器芯片接口标准,主要为企业、数据中心以及客户端系统中应用PCIe接口的固态存储设备(SSD)设计,它的目标是最大限度的释放闪存的潜能。
NVMe接口属于逻辑设备接口,工作在支持NVMe的板卡上的主控器和主机端的对等层内,它规定了操作系统与NVM子系统之间的通信协议,定义了一套指令集和功能集。NVMe为基于PCIe的SSD带来了较低的时延,较高的IOPS和较低能耗的优势。
首先通过下图展示下NVMe在数据传输过程中的位置,有一部分位于PCIe之上,这部分也是NVMe驱动的主要部分,还有一部分位于用户态的软件层,用于应用层与NVMe驱动间的交互。
NVMe有以下几个关键属性:
在命令提交(Command Submission)或者完成(Completion)的路径上不需要读取相关寄存器(不可缓存或MMIO寄存器);支持最多可达64K 的I/O 队列,每个队列支持64K的未处理命令命令;每个队列的的优先级拥有明确的仲裁机制;为确保超高效的IO操作,完成一个4KB读取请求需要的所有信息包含在64B的命令中;高效且流线型的指令集;支持MSI/MSI-X中断和中断聚合;支持多个命名空间;有效支持IO虚拟化架构,如SR-IOV;健全的错误报告和管理功能;支持多路径IO和命名空间共享;支持许多企业需求,如端到端的数据保护(与SCSI保护信息兼容)。NVMe有很多关键概念,其中命名空间(Name Space简称NS),是一定量的NVM(Non-Volatile Memory)集合,这些NVM可被格式化为许多个逻辑块。一个NVMe控制器能支持多个由不同命名空间ID(简称NSID)标识的NS。
在系统向某个NS提交IO命令之前,这个NS必须与某个控制器关联。若NVM子系统支持NS管理,则NVM子系统内的NSID必须是唯一的(不管NS连接的是哪个控制器);若不支持,则不要求私有NS的ID唯一。NVM子系统包括N个控制器,M个命名空间,S个PCIe端口,一个NVM介质以及一个接口连接控制器与该介质。
NVMe是基于成对的Submission Queue(简称SQ)和Completion Queue(简称CQ)机制工作,它们存在于主机内存里。Submission Queue由系统放置命令,Completion Queue由控制器放置完成信息。
Admin Submission Queue和对应的Admin Completion Queue用来管理和控制主控器(如创建和删除IO队列,终止命令等),只有属于AdminCommand Set的命令才会被提交到AdminSubmission Queue。Admin Queue的ID都是0。
IO Submission Queues和对应的IOCompletion Queues用来处理IO命令,规范定义了一种IO Command Set,叫做NVM Command Set,与IO队列一起使用。系统在创建Submission Queue前必须先创建相关的Completion Queue,删除操作也要先于相关的Completion Queue。
下面两张图展示了主机、主控器与队列之间的配合关系。由系统创建队列,队列最大数目可到主控器支持的上限。通常情况下是根据主机的配置和预期的工作负载来创建,并将一对队列绑定到一个CPU核上,避免使用锁与更多的核间数据传递。从下面两张图中可以看出Admin永远是1对1的,而IO队列可以是多个SQ对应一个CQ。
每个SQ都是一个有着固定“槽位”大小的循环缓冲区,系统用它来提交命令来等待控制器执行。当系统提交了一批新的等待执行的命令时,系统将更新SQ尾部Doorbell寄存器通知主控器,这时主控器将重写主控器内部对应SQ尾部的值。主控器从SQ中顺序取出64字节的命令,但之后对命令的执行可能是任何顺序。
内存中将分配PRP(Physical Region Page)条目或Scatter Gather Lists(SGL)用于数据传输,每个命令包括两个PRP条目或一个SGL部分。如果需要更多的PRP条目则需要提供一个指向PRP链表的指针,而对于SGL则在SGL部分提供一个指向下一个SGL部分的指针。
每个CQ也都是一个有着固定“槽位”大小的循环缓冲区,控制器用它来投递已完成命令的状态信息。一个已完成的命令由相关的SQ ID和CQ ID唯一标识,SQ和CQ的ID由系统分配。系统在处理好CQ条目后会释放该CQ条目并更新CQ的头指针。
在CQ条目中,有一Bit(Phase简称P)是用来表示该条目是否是刚刚投递来的,这样做可以帮助系统决定该新条目是前一轮还是当前一轮的完成通知。每次处理CQ时,遍历完所有CQE条目后,控制器都会将Phase值取反。
多路径IO指的是一个主机和一个命名空间之间存在多条完全独立的PCIe路径。命名空间共享指的是多个主机可以通过不同的NVMe控制器接入同一个命名空间,要求NVM子系统包含多个控制器。
下图(1)是没有多路径IO和命名空间共享的情况,NVMe控制器下的NSID互不相同。图(2)是有命名空间共享没有多路径IO的情况,两个控制器用一个PCIe端口(一个为Func0一个为Func1),共享一个命名空间(在控制器内必须用相同的ID)。当共享命名空间的控制器存在并发访问该命名空间时,应设置控制器支持原子操作,并可采用不同的优先级。
图2-3(3)是有多路径IO和命名空间共享的情况,这样的情境中,两个PCIe端口是完全独立的。
NVMe对SR-IOV的支持示意图(不一定只有一个PCIe端口)如下。图中可看出NVM子系统只有一个物理Func0,其余4个均为虚拟Func(0, x)。
每个虚拟Func都有一个与之关联的NVMe控制器,且每个控制器有一个私有的命名空间和同一个共享的命名空间。通过这样的方法,实现了PCIe的扩展,允许上层运行的虚拟机能够高效的共享PCIe的硬件资源。
硬件形态上,和传统SCSI盘比较,NVMe子系统直接通过PCIe总线和主机连接,路径中不再需要HBA卡,降低了系统开销。
NVMe子系统内部组成:
至少一个PCIe port,用于外部连接至少一个NVMe controller,该controller是实现了NVMe逻辑的PCI function名字空间标识(NSID)即LUN号名字空间(NS)即LBANAND Flash介质 (上图未标出)NVMe和传统SCSI体系比较,在主机侧,NVMe子系统减少了IO调度层,单独的命令层,IO路径更短,为低延迟提供了保障。
NVMe存储设备涉及的主机侧软件栈包括: NVMe驱动,虚拟块管理层,文件系统层。NVMe规范重新设计定义了I/O队列机制及相应的仲裁机制,较传统的SCSI体系软件栈减少了实现排队功能的通用IO的调度层。NVMe驱动同时实现了底层传输和设备操作命令,较传统SCSI体系减少了单独的命令层。
推荐阅读:
阿里大牛深入分析分布式事务敲黑板!2022 ESMO 大会消化肿瘤LBA抢先看
编者按: 2022 ESMO大会即将于9月9日(欧洲中部夏令时间,CEST)在法国首都巴黎凡尔赛门展览馆开幕。日前,含LBA在内的大会日程安排均已公布,我们为您悉心整理了会上将进行的消化肿瘤领域的重磅研究报告,以飨读者!
Mini Oral session: GI, upper digestive
LBA61 - HR070803 联合5-FU/LV与安慰剂联合5-FU/LV在吉西他滨难治性局部晚期或转移性胰腺癌二线治疗中的比较:一项多中心、随机、双盲、平行对照 III 期试验 (HR-IRI-APC)
原标题:LBA61 - HR070803 plus 5-FU/LV versus placebo plus 5-FU/LV in second-line therapy for gemcitabine-refractory locally advanced or metastatic pancreatic cancer: a multicentered, randomized, double-blind, parallel-controlled phase III trial (HR-IRI-APC)主要作者:王理伟(Shanghai, China)1296MO - PRODIGE 29-UCGI 26(NEOPAN):一项比较化疗与福非林诺或吉西他滨治疗局部晚期胰腺癌 (LAPC)III期随机试验
原标题:1296MO - PRODIGE 29-UCGI 26(NEOPAN): A Phase III randomised trial comparing chemotherapy with Folfirinox or gemcitabine in locally advanced pancreatic carcinoma (LAPC)主要作者:Michel P. Ducreux(Villejuif, France)52MO - 一项在未治疗的CHolangio-和胆囊癌 (IMMUCHEC)患者中将durvalumab和tremelIMUmab 联合吉西他滨或吉西他滨和顺铂与吉西他滨和顺铂进行比较随机II期试验
原标题:52MO - A randomized phase II trial of durvalumab and tremelIMUmab with gemcitabine or gemcitabine and cisplatin compared to gemcitabine and cisplatin in treatment-naive patients with CHolangio- and gallbladdEr Carcinoma (IMMUCHEC)主要作者:Arndt Vogel(Hannover, Germany)53MO - Nal-IRI联合5-FU / LV比较5-FU / LV治疗先前使用基于吉西他滨治疗的胆管癌和胆囊癌患者(NALIRICC - AIO-HEP-0116)
原标题:53MO - Nal-IRI and 5-FU/LV Compared to 5-FU/LV in Patients With Cholangio-and Gallbladder Carcinoma Previously Treated With Gemcitabine-based Therapies (NALIRICC – AIO-HEP-0116)主要作者:Arndt Vogel(Hannover, Germany)54MO - 在随机III期、多中心开放标签ABC试验中,单用二线活动症状控制(ASC)或ASC联合奥沙利铂/5-FU化疗(ASC+FOLFOX)治疗的晚期胆道癌(ABC)的生活质量(QoL)和健康价值(V-He)
原标题:54MO - Quality of Life (QoL) and Value of Health (V-He) in advanced biliary cancers (ABC) treated with second-line Active-Symptom-Control (ASC) alone or ASC with oxaliplatin/5-FU chemotherapy (ASC+FOLFOX) in the randomised phase III, multi-centre, open-label ABC-06 trial主要作者:Angela Lamarca(Madrid, Spain)1204MO-PRODIGE59-DURIGAST试验:一项评估FOLFIRI+Durvalumab和FOLFIRI+Durvalumab +Tremelimumab在晚期胃癌或胃食管交界处腺癌患者的二线治疗中应用的随机II期研究。
原标题:1204MO - PRODIGE 59 - DURIGAST trial: A randomised phase II study evaluating FOLFIRI plus Durvalumab and FOLFIRI plus Durvalumab plus Tremelimumab in second-line treatment of patients with advanced gastric or gastro-oesophageal junction adenocarcinoma.主要作者:David Tougeron(Poitiers, France)1205MO - DESTINY-Gastric02的最新分析:曲妥珠单抗Deruxtecan(T-DXd)在HER2阳性(HER2 +)含曲妥珠单抗方案或之后进展的不可切除/转移性胃食管交界处(GEJ)西方患者的2期单臂试验
原标题:1205MO - Updated Analysis of DESTINY-Gastric02: a Phase 2 Single-Arm Trial of Trastuzumab Deruxtecan (T-DXd) in Western Patients (Pts) With HER2-Positive (HER2+) Unresectable/Metastatic Gastric/Gastroesophageal Junction (GEJ) Cancer Who Progressed on or After Trastuzumab-Containing Regimen主要作者:Geoffrey Y. Ku(New York, United States of America)Mini Oral session: GI, lower digestive
LBA26 - BREAKWATER安全导入(SLI):恩哥拉非尼(E)+西妥昔单抗(C)+化疗(化疗)用于BRAFV600E 转移性结直肠癌
原标题:LBA26 - BREAKWATER safety lead-in (SLI): encorafenib (E) + cetuximab (C) + chemotherapy (chemo) for BRAFV600E metastatic colorectal cancer (mCRC)主要作者:Josep Tabernero(Barcelona, Spain)LBA27 - MOUNTAINEER的其他分析:图卡替尼和曲妥珠单抗治疗HER2阳性mCRC的2期研究
原标题:LBA27 - Additional analyses of MOUNTAINEER: A phase 2 study of tucatinib and trastuzumab for HER2-positive mCRC主要作者:John H. Strickler(Durham, United States of America)317MO - 基于奥沙利铂的辅助化疗对老年III期结肠癌患者的疗效:12项试验的CENTCENT/IDEA汇总分析
原标题:317MO-Efficacy of oxaliplatin-based adjuvant chemotherapy in older patients with stage III colon cancer: an ACCENT/IDEA pooled analysis of 12 trials主要作者:Claire Gallois(Paris, France)318MO - 循环肿瘤DNA(ctDNA)动力学,CEA和复发位点的随机动态研究:基于ctDNA分析的辅助化疗(ACT)在II期结肠癌中的指导
原标题:318MO - Circulating Tumour DNA (ctDNA) Dynamics, CEA and Sites of Recurrence for the Randomised DYNAMIC Study: Adjuvant Chemotherapy (ACT) Guided by ctDNA Analysis in Stage II Colon Cancer (CC)主要作者:Jeanne Tie(Melbourne, Australia)319MO - 循环肿瘤DNA的真实世界监测可靠地预测切除I-III期结直肠癌患者的癌症复发
原标题:319MO - Real-world monitoring of circulating tumor DNA reliably predicts cancer recurrence in patients with resected stages I-III colorectal cancer主要作者:Stacey A. Cohen(Seattle, United States of America)320MO-瑞格来非尼、伊匹单抗和纳武鲁单抗在化疗耐药 MSS 转移性结直肠癌中的I期临床试验
原标题:320MO - A phase I clinical trial of regorafenib, ipilimumab, and nivolumab (RIN) in chemotherapy resistant MSS metastatic colorectal cancer (mCRC)主要作者:Marwan G. Fakih(Duarte, United States of America)LBA28-切除结直肠癌成像和CEA随访的预后效果:最终结果和无复发生存期(RFS) - PRODIGE 13一项FFCD III期试验
原标题:LBA28 - Prognostic effect of imaging and CEA follow-up in resected colorectal cancer (CRC): final results and relapse free survival (RFS) - PRODIGE 13 a FFCD phase III trial主要作者:Come Lepage(Dijon, France)Proffered Paper session 1: GI, upper digestive
LBA34-3期LEAP-002研究的主要结果:莱伐替尼+派姆珠单抗与莱伐替尼作为晚期肝细胞癌的一线治疗
原标题:LBA34 - Primary results from the phase 3 LEAP-002 study: lenvatinib plus pembrolizumab versus lenvatinib as first-line (1L) therapy for advanced hepatocellular carcinoma (aHCC)主要作者:Richard S. Finn(Los Angeles, United States of America)LBA35–Camrelizumab+利沃拉尼与索拉非尼作为不可切除肝细胞癌的一线治疗:一项随机III期试验
原标题:LBA35 - Camrelizumab (C) plus rivoceranib (R) vs. sorafenib (S) as first-line therapy for unresectable hepatocellular carcinoma (uHCC): a randomized, phase Ⅲ trial主要作者:秦叔逵(Nanjing, China)LBA36-RATIONALE-301的最终分析:噻司乐珠单抗与索拉非尼作为不可切除肝细胞癌一线治疗的随机3期研究
原标题:LBA36 - Final Analysis of RATIONALE-301: Randomized, Phase 3 study of tislelizumab versus sorafenib as first-line treatment for unresectable hepatocellular carcinoma主要作者:Masatoshi Kudo(Osaka, Japan)Proffered Paper session 2: GI,upper digestive
1203O-FOLFOX+纳武鲁单抗和伊匹木单抗对比FOLFOX诱导然后进行纳武鲁单抗和伊匹利单抗治疗初治胃或胃或胃食管交界处晚期或转移性腺癌患者–随机2期Moonlight试验结果
原标题:1203O - FOLFOX plus nivolumab and ipilimumab versus FOLFOX induction followed by nivolumab and ipilimumab in patients with previously untreated advanced or metastatic adenocarcinoma of the stomach or gastroesophageal junction – results from the randomized phase 2 Moonlight trial of the AIO.主要作者:Sylvie Lorenzen(Munich, Germany)LBA60 - 转移性胰管腺癌FOLFIRINOX失败或不耐受后吉西他滨+紫杉醇与单用吉西他滨的评估:随机III期PRODIGE65的结果–UCGI36 –GEMPAX单癌研究
原标题:LBA60 - Evaluation of gemcitabine and paclitaxel versus gemcitabine alone after FOLFIRINOX failure or intolerance in metastatic Pancreatic Ductal Adenocarcinoma: Results of the randomized phase III PRODIGE 65 – UCGI 36 – GEMPAX UNICANCER study主要作者:Christelle De la Fouchardiere(Lyon, France)LBA12-RLY-4008(一种高选择性 FGFR2 抑制剂)在FGFR2融合或重排、FGFR抑制剂敏感的胆管癌患者中的疗效:ReFocus试验
原标题:LBA12 - Efficacy of RLY-4008, a highly selective FGFR2 inhibitor in patients (pts) with an FGFR2-fusion or rearrangement (f/r), FGFR inhibitor (FGFRi)-naive cholangiocarcinoma (CCA): ReFocus trial主要作者:Antoine Hollebecque(Villejuif, Cedex, France)Proffered Paper session 1: GI, lower digestive
LBA21 - FOLFOX/FOLFIRI联合贝伐珠单抗或帕尼单抗治疗左侧最初不可切除RAS/BRAFV600E 野生型结直肠癌肝转移患者:荷兰结直肠癌组的III期CAIRO5研究
原标题:LBA21 - FOLFOX/FOLFIRI plus either bevacizumab or panitumumab in patients with initially unresectable colorectal liver metastases (CRLM) and left-sided and RAS/BRAFV600E wild-type tumour: phase III CAIRO5 study of the Dutch Colorectal Cancer Group主要作者:Marinde J. Bond(Utrecht, Netherlands)LBA22 - FOLFIRI/Cetuximab对比FOLFIRI/Cetuximab后单独使用Cetuximab在RAS和BRAF野生型转移性结直肠癌患者一线治疗的III期研究:ERMES研究
原标题:LBA22 - Phase III study with FOLFIRI/Cetuximab versus FOLFIRI/Cetuximab followed by Cetuximab (Cet) alone in first-line therapy of RAS and BRAF wild-type (wt) metastatic colorectal cancer (mCRC) patients: the ERMES Study (NCT02484833).主要作者:Armando Orlandi(Rome, Italy)314O-局部晚期结肠癌(HIPECT4)的腹腔内辅助热疗化疗:一项随机的3期研究
原标题:314O - Adjuvant hyperthermic intraperitoneal chemotherapy in locally advanced colon cancer (HIPECT4): a randomized,phase 3 study.主要作者:Alvaro Arjona-Sanchez(Cordoba, Spain)LBA23 - 阿维单抗比较二线标准化疗治疗转移性结直肠癌微卫星不稳定患者:SAMCO-PRODIGE 54 随机 II 期试验
原标题:LBA23 - Avelumab versus standard second-line treatment chemotherapy in metastatic colorectal cancer (mCRC) patients with microsatellite instability (MSI): the SAMCO-PRODIGE 54 randomised phase II trial.主要作者:Julien Taieb(Paris, France)Proffered Paper session 2: GI, lower digestive
LBA24-KRYSTAL-1:阿达格拉西布(MRTX849)联合或不联合西妥昔单抗在携带KRASG12C突变的晚期结直肠癌(CRC)患者中的最新疗效和安全性
原标题:LBA24 - KRYSTAL-1: updated efficacy and safety of adagrasib (MRTX849) with or without cetuximab in patients with advanced colorectal cancer (CRC) harboring a KRASG12C mutation主要作者:Samuel J. Klempner(Boston, United States of America)315O - 索托拉西与帕尼单抗联合治疗难治性KRAS G12C 突变结直肠癌:1b 期全扩充队列的安全性和有效性
原标题:315O - Sotorasib in combination with panitumumab in refractory KRAS G12C-mutated colorectal cancer: safety and efficacy for phase 1b full expansion cohort主要作者:Yasutoshi Kuboki(Kashiwa, Japan)LBA25 - FRESCO-2:一项评估呋喹替尼在难治性转移性结直肠癌患者中的疗效和安全性的全球3期多区域临床试验(MRCT)
原标题:LBA25 - FRESCO-2: A global phase 3 multiregional clinical trial (MRCT) evaluating the efficacy and safety of fruquintinib in patients with refractory metastatic colorectal cancer主要作者:N. Arvind Dasari(Houston, United States of America)316O - BEACON研究中BRAF V600E突变转移性结直肠癌患者获得性耐药的基因组机制
原标题:316O - Genomic mechanisms of acquired resistance of patients (pts) with BRAF V600E-mutant (mt) metastatic colorectal cancer (mCRC) treated in the BEACON study主要作者:Scott Kopetz(Houston, United States of America)相关问答
各个国家英文缩写表?AFG-阿富汗AHO-荷属安的列斯ALB-阿尔巴尼亚ALG-阿尔及利亚AND-安道尔ANG-安哥拉ANT-安提瓜和巴布达ARG-阿根廷ARM-亚美尼亚ARU-阿鲁巴ASA-美属萨摩...
stillkeepthevolumesizewithmax.2TBlimitation.64bitLBA:t...[回答]更加巨大的二TB容量支持:不:仍然保留容量大小以最大的2TB局限.64bitLBA:最大的大小512TB,为Unix或Linux.为窗口:最大的大小16TB,正义...
lba 4404农杆菌和gv3101农杆菌区别?LBA4404农杆菌和GV3101农杆菌是两种常用于植物基因转化的农杆菌菌株,它们在一些方面有一些区别。1.抗抗生素抗性:LBA4404菌株具有多种抗生素抗性,如卡那霉素...
硬盘分区错误怎么办这段文字的大致意思就是说在第2个硬盘的那个扇区有个错误。错误原因是LBACHS值不一致。修复点是,不就点否。点是,的意思是分区表错误被修复。这个...
闪存盘和u盘真没区别吗 - 171****9904 的回答 - 懂得闪存盘其实就是U盘,闪存是U盘刚出现时因其相对其他存储工具存储速度较快而这样称呼的。闪存盘是一种采用USB接口的无需物理驱动器的微型高容量移动...
谁知道BIOS里中文的意思?CPUInternalCache(CPU内部高速缓存,默认值为Enable)本项功能用于启用(enable)或取消(disable)CPULevel1高速缓存。就整体速度而言,启用L1快取将比取消...
BIOS升级有什么好处?要怎么升级?BIOS升级的好处:升级BIOS最直接的好处就是不用花钱就能获得许多新功能,比如原来你用的是PⅡ的CPU,升级BIOS后也许就能直接使用PⅢ的CPU,不用换主板了;看着...
DOS从开始到现在一共有几个版本?最新的版本是哪一年推出的?以...1993年,MS-DOS6.x增加了很多GUI程序,如Scandisk、Defrag、Msbackup等,增加了磁盘压缩功能,增强了对Windows的支持。1995年,MS-DOS7.0增...
升级BIOS有什么好处以及如何升级?新的速度很快只需几秒就完成了。(如果用软盘就可能要胆战心惊的等上十来秒了。)刷新成功后程序就会提示我们重启电脑,重启后整个刷新工作就正式完成了,我们...
英语翻译Molecular genetic and transgenic approaches with...(XingandChin2000;Chinetal.2001).但是,目前对作物改良的努力有赖於分子繁殖或者基因转殖方法来捕抓,表现,过度表现,或者静默个别侯选的基因...