CN111542803A - 一种基于NVMe的数据写入方法、装置及系统 - Google Patents
一种基于NVMe的数据写入方法、装置及系统 Download PDFInfo
- Publication number
- CN111542803A CN111542803A CN201880004981.3A CN201880004981A CN111542803A CN 111542803 A CN111542803 A CN 111542803A CN 201880004981 A CN201880004981 A CN 201880004981A CN 111542803 A CN111542803 A CN 111542803A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- nvme controller
- host
- nvme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Systems (AREA)
Abstract
一种基于NVMe的数据写入方法、装置和系统。该方法包括:主机触发写指令,并向NVMe控制器推送数据报文,该数据报文中携带载荷数据和关联标识,该关联标识用于关联载荷数据和主机触发的写指令;NVMe控制器接收到数据报文后,根据关联标识获取对应的写指令和载荷数据,并根据写指令将载荷数据写入存储介质。写指令中不再需要携带存储待写入数据的地址信息,主机可以随时向NVMe控制器推送数据报文,从而实现流水线操作,减少了待写入数据占用的存储空间和写操作的时延。
Description
PCT国内申请,说明书已公开。
Claims (48)
- PCT国内申请,权利要求书已公开。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/093921 WO2020000485A1 (zh) | 2018-06-30 | 2018-06-30 | 一种基于NVMe的数据写入方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111542803A true CN111542803A (zh) | 2020-08-14 |
CN111542803B CN111542803B (zh) | 2021-10-01 |
Family
ID=68985748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880004981.3A Active CN111542803B (zh) | 2018-06-30 | 2018-06-30 | 一种基于NVMe的数据写入方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11579803B2 (zh) |
EP (1) | EP3792743A4 (zh) |
CN (1) | CN111542803B (zh) |
WO (1) | WO2020000485A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732176A (zh) * | 2020-12-28 | 2021-04-30 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 |
CN114003182A (zh) * | 2022-01-04 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 指令交互方法、装置、存储设备以及介质 |
CN115314388A (zh) * | 2022-08-03 | 2022-11-08 | 中国船舶集团有限公司第七一六研究所 | 一种基于Bond机制的PRP协议实现方法 |
WO2022251984A1 (zh) * | 2021-05-29 | 2022-12-08 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2023071848A1 (zh) * | 2021-10-25 | 2023-05-04 | 支付宝(杭州)信息技术有限公司 | 图数据加载 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080258A (zh) * | 2021-03-11 | 2022-09-20 | 华为技术有限公司 | 数据传输系统及相关设备 |
CN115904488A (zh) * | 2021-08-11 | 2023-04-04 | 华为技术有限公司 | 数据传输方法、系统、装置及设备 |
CN114896182B (zh) * | 2022-05-11 | 2023-10-20 | 地平线(上海)人工智能技术有限公司 | 存储装置、方法、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484549A (zh) * | 2015-08-31 | 2017-03-08 | 华为技术有限公司 | 一种交互方法、NVMe设备、HOST及物理机系统 |
CN107077426A (zh) * | 2016-12-05 | 2017-08-18 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、设备和系统 |
CN107209644A (zh) * | 2015-12-28 | 2017-09-26 | 华为技术有限公司 | 一种数据处理方法以及NVMe存储器 |
CN108089951A (zh) * | 2014-12-12 | 2018-05-29 | 英特尔公司 | 存储系统中的加速数据恢复 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086311A1 (en) * | 2007-12-10 | 2013-04-04 | Ming Huang | METHOD OF DIRECT CONNECTING AHCI OR NVMe BASED SSD SYSTEM TO COMPUTER SYSTEM MEMORY BUS |
US8677068B2 (en) | 2010-06-18 | 2014-03-18 | Lsi Corporation | Scalable storage devices |
US8966172B2 (en) | 2011-11-15 | 2015-02-24 | Pavilion Data Systems, Inc. | Processor agnostic data storage in a PCIE based shared storage enviroment |
BR112014017543A2 (pt) | 2012-01-17 | 2017-06-27 | Intel Corp | técnicas de validação de comando para o acesso a um dispositivo de armazenamento por um cliente remoto |
US20140195634A1 (en) | 2013-01-10 | 2014-07-10 | Broadcom Corporation | System and Method for Multiservice Input/Output |
US9256384B2 (en) | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
US9424219B2 (en) | 2013-03-12 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
US9727503B2 (en) | 2014-03-17 | 2017-08-08 | Mellanox Technologies, Ltd. | Storage system and server |
US20160124876A1 (en) | 2014-08-22 | 2016-05-05 | HGST Netherlands B.V. | Methods and systems for noticing completion of read requests in solid state drives |
US9712619B2 (en) | 2014-11-04 | 2017-07-18 | Pavilion Data Systems, Inc. | Virtual non-volatile memory express drive |
US9565269B2 (en) | 2014-11-04 | 2017-02-07 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
US9921756B2 (en) | 2015-12-29 | 2018-03-20 | EMC IP Holding Company LLC | Method and system for synchronizing an index of data blocks stored in a storage system using a shared storage module |
US10769098B2 (en) | 2016-04-04 | 2020-09-08 | Marvell Asia Pte, Ltd. | Methods and systems for accessing host memory through non-volatile memory over fabric bridging with direct target access |
CN106210041B (zh) | 2016-07-05 | 2019-09-20 | 杭州华为数字技术有限公司 | 一种数据写入方法及服务器端网卡 |
US10445018B2 (en) | 2016-09-09 | 2019-10-15 | Toshiba Memory Corporation | Switch and memory device |
CN107832086B (zh) | 2016-09-14 | 2020-03-20 | 华为技术有限公司 | 计算机设备、程序写入方法及程序读取方法 |
CN107992436B (zh) * | 2016-10-26 | 2021-04-09 | 华为技术有限公司 | 一种NVMe数据读写方法及NVMe设备 |
EP3406052B1 (en) | 2016-12-27 | 2020-02-12 | Chicago Mercantile Exchange, Inc. | Message processing protocol which mitigates manipulative messaging behavior |
US10387081B2 (en) | 2017-03-24 | 2019-08-20 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US10503434B2 (en) * | 2017-04-12 | 2019-12-10 | Micron Technology, Inc. | Scalable low-latency storage interface |
CN107608909A (zh) * | 2017-09-19 | 2018-01-19 | 记忆科技(深圳)有限公司 | 一种NVMe固态硬盘写加速的方法 |
JP6901427B2 (ja) | 2018-03-27 | 2021-07-14 | キオクシア株式会社 | ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法 |
-
2018
- 2018-06-30 EP EP18924807.3A patent/EP3792743A4/en active Pending
- 2018-06-30 WO PCT/CN2018/093921 patent/WO2020000485A1/zh unknown
- 2018-06-30 CN CN201880004981.3A patent/CN111542803B/zh active Active
-
2020
- 2020-12-22 US US17/130,363 patent/US11579803B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089951A (zh) * | 2014-12-12 | 2018-05-29 | 英特尔公司 | 存储系统中的加速数据恢复 |
CN106484549A (zh) * | 2015-08-31 | 2017-03-08 | 华为技术有限公司 | 一种交互方法、NVMe设备、HOST及物理机系统 |
CN107209644A (zh) * | 2015-12-28 | 2017-09-26 | 华为技术有限公司 | 一种数据处理方法以及NVMe存储器 |
CN107077426A (zh) * | 2016-12-05 | 2017-08-18 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、设备和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732176A (zh) * | 2020-12-28 | 2021-04-30 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 |
CN112732176B (zh) * | 2020-12-28 | 2022-10-04 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 |
WO2022251984A1 (zh) * | 2021-05-29 | 2022-12-08 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2023071848A1 (zh) * | 2021-10-25 | 2023-05-04 | 支付宝(杭州)信息技术有限公司 | 图数据加载 |
CN114003182A (zh) * | 2022-01-04 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 指令交互方法、装置、存储设备以及介质 |
CN115314388A (zh) * | 2022-08-03 | 2022-11-08 | 中国船舶集团有限公司第七一六研究所 | 一种基于Bond机制的PRP协议实现方法 |
CN115314388B (zh) * | 2022-08-03 | 2023-11-21 | 中国船舶集团有限公司第七一六研究所 | 一种基于Bond机制的PRP协议实现方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3792743A1 (en) | 2021-03-17 |
WO2020000485A1 (zh) | 2020-01-02 |
US20210109681A1 (en) | 2021-04-15 |
EP3792743A4 (en) | 2021-06-30 |
US11579803B2 (en) | 2023-02-14 |
CN111542803B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111542803B (zh) | 一种基于NVMe的数据写入方法、装置及系统 | |
US11960725B2 (en) | NVMe controller memory manager providing CMB capability | |
WO2018102967A1 (zh) | NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统 | |
CN112422615B (zh) | 一种通信的方法及装置 | |
WO2018076793A1 (zh) | 一种NVMe数据读写方法及NVMe设备 | |
WO2018102969A1 (zh) | NVMe over Fabric架构中数据读写命令的控制方法、设备和系统 | |
KR102471219B1 (ko) | NVMe 기반의 데이터 판독 방법, 장치, 및 시스템 | |
KR20200111722A (ko) | 프로그래밍 가능한 원자적 동작을 하는 메모리 컨트롤러 | |
US20140331001A1 (en) | Command Barrier for a Solid State Drive Controller | |
JP2018185814A5 (zh) | ||
WO2013170731A1 (zh) | 将数据写入存储设备的方法与存储设备 | |
JP4317365B2 (ja) | 周辺デバイスからホスト・コンピュータ・システムに割込みを転送する方法および装置 | |
WO2013185636A1 (zh) | 控制数据传输过程中的中断的方法 | |
WO2017177790A1 (zh) | 一种用于访问内存的方法和装置 | |
US9747233B2 (en) | Facilitating routing by selectively aggregating contiguous data units | |
US10901624B1 (en) | Dummy host command generation for supporting higher maximum data transfer sizes (MDTS) | |
WO2020087930A1 (zh) | 一种数据保护方法、装置及系统 | |
WO2017141413A1 (ja) | 計算機、通信ドライバ、および通信制御方法 | |
WO2020087931A1 (zh) | 一种数据备份方法、装置及系统 | |
WO2018176397A1 (zh) | 一种锁分配的方法、装置和计算设备 | |
WO2022042127A1 (zh) | 一种协程切换的方法、装置及设备 | |
WO2017054714A1 (zh) | 磁盘阵列的读方法及装置 | |
CN110727632B (zh) | 一种数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |