CN111542803A - 一种基于NVMe的数据写入方法、装置及系统 - Google Patents

一种基于NVMe的数据写入方法、装置及系统 Download PDF

Info

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
Application number
CN201880004981.3A
Other languages
English (en)
Other versions
CN111542803B (zh
Inventor
维克多·吉辛
李君瑛
周冠锋
林嘉树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111542803A publication Critical patent/CN111542803A/zh
Application granted granted Critical
Publication of CN111542803B publication Critical patent/CN111542803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI 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)

  1. PCT国内申请,权利要求书已公开。
CN201880004981.3A 2018-06-30 2018-06-30 一种基于NVMe的数据写入方法、装置及系统 Active CN111542803B (zh)

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)

* Cited by examiner, † Cited by third party
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904488A (zh) * 2021-08-11 2023-04-04 华为技术有限公司 数据传输方法、系统、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
JP5957647B2 (ja) 2010-06-18 2016-07-27 シーゲイト テクノロジー エルエルシーSeagate Technology LLC スケーラブルな記憶装置
US8966172B2 (en) 2011-11-15 2015-02-24 Pavilion Data Systems, Inc. Processor agnostic data storage in a PCIE based shared storage enviroment
US9467512B2 (en) 2012-01-17 2016-10-11 Intel Corporation Techniques for remote client access to a storage medium coupled with a server
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
US9565269B2 (en) 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
US9712619B2 (en) 2014-11-04 2017-07-18 Pavilion Data Systems, Inc. Virtual non-volatile memory express drive
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
EP3440553A1 (en) 2016-04-04 2019-02-13 Marvell World Trade, 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设备
US11451647B2 (en) 2016-12-27 2022-09-20 Chicago Mercantile Exchange Inc. Message processing protocol which mitigates optimistic 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 キオクシア株式会社 ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US20210109681A1 (en) 2021-04-15
CN111542803B (zh) 2021-10-01
US11579803B2 (en) 2023-02-14
EP3792743A4 (en) 2021-06-30
EP3792743A1 (en) 2021-03-17
WO2020000485A1 (zh) 2020-01-02

Similar Documents

Publication Publication Date Title
CN111542803B (zh) 一种基于NVMe的数据写入方法、装置及系统
US11960725B2 (en) NVMe controller memory manager providing CMB capability
WO2018102967A1 (zh) NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统
US10838665B2 (en) Method, device, and system for buffering data for read/write commands in NVME over fabric architecture
CN112422615B (zh) 一种通信的方法及装置
WO2018076793A1 (zh) 一种NVMe数据读写方法及NVMe设备
CN111095231B (zh) 一种基于NVMe的数据读取方法、装置及系统
KR20200111722A (ko) 프로그래밍 가능한 원자적 동작을 하는 메모리 컨트롤러
US20140331001A1 (en) Command Barrier for a Solid State Drive Controller
JP2018185814A5 (zh)
WO2013170731A1 (zh) 将数据写入存储设备的方法与存储设备
WO2013185636A1 (zh) 控制数据传输过程中的中断的方法
US9747233B2 (en) Facilitating routing by selectively aggregating contiguous data units
US20210004165A1 (en) Dummy Host Command Generation For Supporting Higher Maximum Data Transfer Sizes (MDTS)
WO2017141413A1 (ja) 計算機、通信ドライバ、および通信制御方法
WO2020087931A1 (zh) 一种数据备份方法、装置及系统
WO2020087930A1 (zh) 一种数据保护方法、装置及系统
CN108153582B (zh) Io命令处理方法与介质接口控制器
WO2022042127A1 (zh) 一种协程切换的方法、装置及设备
WO2018176397A1 (zh) 一种锁分配的方法、装置和计算设备
WO2017054714A1 (zh) 磁盘阵列的读方法及装置
CN110727632A (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