CN116860182A - 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法 - Google Patents

一种利用cxl协议把ftl全映射表放在主机端ram的读写方法 Download PDF

Info

Publication number
CN116860182A
CN116860182A CN202311126645.5A CN202311126645A CN116860182A CN 116860182 A CN116860182 A CN 116860182A CN 202311126645 A CN202311126645 A CN 202311126645A CN 116860182 A CN116860182 A CN 116860182A
Authority
CN
China
Prior art keywords
ram
ftl
mapping
cxl
mapping table
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
CN202311126645.5A
Other languages
English (en)
Other versions
CN116860182B (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.)
Jiangsu Huacun Electronic Technology Co Ltd
Original Assignee
Jiangsu Huacun Electronic Technology 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 Jiangsu Huacun Electronic Technology Co Ltd filed Critical Jiangsu Huacun Electronic Technology Co Ltd
Priority to CN202311126645.5A priority Critical patent/CN116860182B/zh
Publication of CN116860182A publication Critical patent/CN116860182A/zh
Application granted granted Critical
Publication of CN116860182B publication Critical patent/CN116860182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供了一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其可使消费级NAND固态硬盘达到企业级的读写效能,还不需要额外的驱动程序,适用性强,其特征在于:所述方法包括以下步骤:步骤1、在存储装置的固件写入FTL算法;步骤2、利用CXL cache协议,将FTL全映射表放在主机端的RAM;步骤3、主机端进行数据读写。

Description

一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法
技术领域
本发明涉及NAND固态硬盘读写方法相关技术领域,具体涉及一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法。
背景技术
固态硬盘储存装置的RAM是昂贵资源,企业级固态硬盘和消费级固态硬盘的硬件主要差别就在RAM的大小,而RAM的大小影响固件FTL (Flash Translation Layer) 的映射算法。
市场上,基于NAND的消费级低价储存装置,由于RAM空间不多,读写时需要频繁的读写及更换映射表,因此影响读写效能,尤其是随机读写性能特别差。对性能有高度效能要求的系统,只能买企业级的固态硬盘,但是企业级的固态硬盘价格十分高昂,增加了系统成本。
主机端的RAM愈来愈便宜,现在的计算机主机基本都有十几个GB的 RAM,虽然NVMe也有提出Open Channel固态硬盘,储存装置的固件只做基本的NAND操作,把FTL算法写在主机端的驱动程序,映射表也放主机端的 RAM,但是储存装置换不同的平台或NAND Flash就得换不同的驱动程序,因此存在储存装置移到不同的主机就有可能识别不到的问题,适用性差。
有鉴于上述的缺陷,基于少量RAM空间的消费级NAND固态硬盘,当前亟需设计一种新型的读写方法来解决读写效能低下、适用性差的问题,来满足产业化的需求。
发明内容
为了解决上述内容中提到的问题,基于少量RAM空间的消费级NAND固态硬盘,本发明提供了一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其可使消费级NAND固态硬盘达到企业级的读写效能, 还不需要额外的驱动程序,适用性强。
其技术方案是这样的:
一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:所述方法包括以下步骤:
步骤1、在存储装置的固件写入FTL算法;
步骤2、利用CXL cache协议,将FTL全映射表放在主机端的RAM;
步骤3、主机端进行数据读写。
进一步的,所述步骤2中上电时,先把FTL全映射表从存储装置的Mapping NAND读到存储装置的Mapping RAM中,再通过CXL cache Device Request写到主机端的FullMapping RAM,然后开始进行读写。FTL全映射表具体为,FTL的逻辑地址和实体地址映射表。CXL协议具体为,Compute eXpress Link协议。
进一步的,所述步骤2中下电前,先把FTL全映射通过CXL cache Device Request读回存储装置的Mapping RAM,再写回存储装置的Mapping NAND。
进一步的,所述步骤3中当主机端下达写命令时,数据通过DRAM写到存储装置的DATA RAM,存储装置记录映射关系,并将数据写到DATA NAND;写命令结束后,存储装置通过CXL cache Device Request将写命令的LBA和DATA NAND的映射关系写回到主机端的FullMapping RAM。
进一步的,所述步骤3中当主机端下达读命令时,先检查读命令的LBA的映射表在不在存储装置的Mapping RAM中,如果在,则直接取得映射关系,如不在,则通过CXL cacheDevice Request把读命令的LBA的映射表从主机端的 Full Mapping RAM读到存储装置的Mapping RAM中,然后取得映射关系;再从 DATA NAND将数据读到DATA RAM,再发送给主机端的DRAM。
本发明的有益效果为:
本发明通过利用CXL协议来将FTL的逻辑地址和实体地址映射表存放在主机端的RAM中,然后设计了一套数据读写的操作流程来进行读写操作,该方法在读写过程中不用一直交换映射表,仅仅对连续读写效能稍有影响,即可使消费级NAND固态硬盘达到企业级的读写效能, 还不需要额外的驱动程序,适用性强。
附图说明
图1为传统做法的整体流程示意图。
图2为Open Channel的整体流程示意图。
图3为本发明实施例的整体流程示意图。
具体实施方式
下面结合实施例对本发明做进一步的描述。
以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。
如图1所示,首先阐述本领域内的传统作法:由于一般使用者买的消费级固态硬盘的RAM空间有限,在读写数据时常常需要换读写映射表,尤其是在随机读写时,需要不断换映射表,读写的速度比企业级的全映射表相差甚多。
主机端下达读写命令给储存装置, 储存装置检查该逻辑映射实体表在不在Mapping RAM中,不在则看Mapping RAM有没有空间或映射表有没有都更新过,如果映射表都更新过,则把最少用的一个写到Mapping NAND,再从Mapping NAND把该命令的映射表读上来。如果是写命令则更新映射表,读命令则找映射的实体位置把数据读出来给主机端。由于低价的固态硬盘储存装置RAM有限, 频繁的换读写映射表,会使整个储存装置的效率低下。即便是写完成一整个 NAND块才更新映射表,只要是随机写入,一样是效率低下。
如图2所示,然后阐述本领域内的Open Channel作法:NVMe提出OPEN ChannelSSD,SSD只做基本的NAND管理,Erase/Program/Read, 将FTL算法写在主机端的驱动程序,也是把映射表放在主机端的RAM,但是这种作法需要在不同平台写各自独有的驱动程序。
如图3所示,本发明提供了一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,所述方法包括以下步骤:
步骤1、在存储装置的固件中写入FTL算法。
步骤2、利用CXL cache协议,将FTL全映射表放在主机端的RAM。所述步骤2中上电时,先把FTL全映射表从存储装置的Mapping NAND读到存储装置的Mapping RAM中,再通过CXL cache Device Request写到主机端的Full Mapping RAM,然后开始进行读写。所述步骤2中下电前,先把FTL全映射通过CXL cache Device Request读回存储装置的MappingRAM,再写回存储装置的Mapping NAND。FTL全映射表具体为,FTL的逻辑地址和实体地址映射表。CXL协议具体为,Compute eXpress Link协议,是Intel发表的一个新的界面协议,针对新时代的计算机架构来共享内存,其中cache协议能让存储装置写读主机的RAM。
步骤3、主机端进行数据读写。所述步骤3中当主机端下达写命令时,数据通过DRAM写到存储装置的DATA RAM,存储装置记录映射关系,并将数据写到DATA NAND;写命令结束后,存储装置通过CXL cache Device Request将写命令的LBA和DATA NAND的映射关系写回到主机端的Full Mapping RAM。所述步骤3中当主机端下达读命令时,先检查读命令的LBA的映射表在不在存储装置的Mapping RAM中,如果在,则直接取得映射关系,如不在,则通过CXL cache Device Request把读命令的LBA的映射表从主机端的 Full Mapping RAM读到存储装置的Mapping RAM中,然后取得映射关系;再从 DATA NAND将数据读到DATA RAM,再发送给主机端的DRAM。
从主机端读映射表,比从存储装置端读写快得多,且不用一直交换映射表, 因此可以达到企业级的读写速度。尤其是随机读写,因为全映射表都放在RAM中。CXL 1.0的速度是PCIe 5读写单向可以达到32GB/s,CXL 3.0的速度是PCIe 6.0读写单向可以达到64/GB。
尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:所述方法包括以下步骤:
步骤1、在存储装置的固件写入FTL算法;
步骤2、利用CXL cache协议,将FTL全映射表放在主机端的RAM;
步骤3、主机端进行数据读写。
2.根据权利要求1所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:所述步骤2中上电时,先把FTL全映射表从存储装置的Mapping NAND读到存储装置的Mapping RAM中,再通过CXL cache Device Request写到主机端的Full MappingRAM,然后开始进行读写。
3.根据权利要求2所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:所述步骤2中下电前,先把FTL全映射通过CXL cache Device Request读回存储装置的Mapping RAM,再写回存储装置的Mapping NAND。
4.根据权利要求1所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:所述步骤3中当主机端下达写命令时,数据通过DRAM写到存储装置的DATARAM,存储装置记录映射关系,并将数据写到DATA NAND。
5.根据权利要求4所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:写命令结束后,存储装置通过CXL cache Device Request将写命令的LBA和DATA NAND的映射关系写回到主机端的Full Mapping RAM。
6.根据权利要求1所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:所述步骤3中当主机端下达读命令时,先检查读命令的LBA的映射表在不在存储装置的Mapping RAM中,如果在,则直接取得映射关系。
7.根据权利要求6所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:如果不在,则通过CXL cache Device Request把读命令的LBA的映射表从主机端的 Full Mapping RAM读到存储装置的Mapping RAM中,然后取得映射关系。
8.根据权利要求7所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:再从DATA NAND将数据读到DATA RAM,再发送给主机端的DRAM。
9.根据权利要求1所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:FTL全映射表具体为,FTL的逻辑地址和实体地址映射表。
10.根据权利要求1所述的一种利用CXL协议把FTL全映射表放在主机端RAM的读写方法,其特征在于:CXL协议具体为,Compute eXpress Link协议。
CN202311126645.5A 2023-09-04 2023-09-04 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法 Active CN116860182B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311126645.5A CN116860182B (zh) 2023-09-04 2023-09-04 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311126645.5A CN116860182B (zh) 2023-09-04 2023-09-04 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法

Publications (2)

Publication Number Publication Date
CN116860182A true CN116860182A (zh) 2023-10-10
CN116860182B CN116860182B (zh) 2023-11-07

Family

ID=88234508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311126645.5A Active CN116860182B (zh) 2023-09-04 2023-09-04 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法

Country Status (1)

Country Link
CN (1) CN116860182B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036914A (zh) * 2011-09-29 2013-04-10 北京飞杰信息技术有限公司 一种避免高并发下数据读写瓶颈的方法
CN110163011A (zh) * 2019-05-14 2019-08-23 北京计算机技术及应用研究所 一种高速安全硬盘设计方法
CN113760796A (zh) * 2021-09-01 2021-12-07 山东华芯半导体有限公司 一种基于hbm缓存的ssd固态盘
CN114428663A (zh) * 2020-10-29 2022-05-03 三星电子株式会社 存储系统、包括主机和存储系统的计算系统及其操作方法
CN115328405A (zh) * 2022-08-29 2022-11-11 联想(北京)有限公司 数据处理方法、装置及电子设备
CN116431530A (zh) * 2023-02-08 2023-07-14 北京超弦存储器研究院 一种cxl内存模组、内存的处理方法及计算机系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036914A (zh) * 2011-09-29 2013-04-10 北京飞杰信息技术有限公司 一种避免高并发下数据读写瓶颈的方法
CN110163011A (zh) * 2019-05-14 2019-08-23 北京计算机技术及应用研究所 一种高速安全硬盘设计方法
CN114428663A (zh) * 2020-10-29 2022-05-03 三星电子株式会社 存储系统、包括主机和存储系统的计算系统及其操作方法
CN113760796A (zh) * 2021-09-01 2021-12-07 山东华芯半导体有限公司 一种基于hbm缓存的ssd固态盘
CN115328405A (zh) * 2022-08-29 2022-11-11 联想(北京)有限公司 数据处理方法、装置及电子设备
CN116431530A (zh) * 2023-02-08 2023-07-14 北京超弦存储器研究院 一种cxl内存模组、内存的处理方法及计算机系统

Also Published As

Publication number Publication date
CN116860182B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
US11797191B2 (en) Systems and methods for storing data in SSD
US8166258B2 (en) Skip operations for solid state disks
US20190065121A1 (en) Tiered storage using storage class memory
US8301861B2 (en) Startup reconstruction of logical-to-physical address translation data for solid state disks
US8166233B2 (en) Garbage collection for solid state disks
US20210223979A1 (en) On-ssd-copy techniques using copy-on-write
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
JP2012515954A (ja) 論理アドレスオフセット
KR102585883B1 (ko) 메모리 시스템의 동작 방법 및 메모리 시스템
CN105159622A (zh) 一种减小ssd读写io时延的方法与系统
CN103838676B (zh) 数据存储系统、数据存储方法及pcm桥
WO2017063495A1 (zh) 数据迁移方法及装置
KR20190102781A (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US20190042153A1 (en) Mass storage device capable of fine grained read and/or write operations
WO2021035555A1 (zh) 一种固态硬盘的数据存储方法、装置及固态硬盘ssd
CN110275678B (zh) 一种基于stt-mram的固态存储器件随机访问性能提升方法
US11249917B2 (en) Data storage device and operating method thereof
CN116860182B (zh) 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法
US20220083280A1 (en) Method and apparatus to reduce latency for random read workloads in a solid state drive
TWI754396B (zh) 快閃記憶體的資料儲存方法及裝置以及電腦程式產品
KR20240017956A (ko) Zns ssd 내의 수퍼 디바이스에 걸친 수퍼 블록 할당
CN112631518B (zh) 一种数据存储的方法和设备
CN105138294A (zh) 一种硬盘设备及信息处理方法
TWI795680B (zh) 主機效能加速模式的資料讀取方法及裝置
US20240061577A1 (en) Recycle optimization in storage engine

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Read/Write Method of Using CXL Protocol to Place FTL Full Mapping Table in Host RAM

Granted publication date: 20231107

Pledgee: Nantong CIC Financing Guarantee Co.,Ltd.

Pledgor: JIANGSU HUACUN ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2024980042400