CN110134333B - 一种重排写入数据流提升ssd读拼接率的方法及其系统 - Google Patents

一种重排写入数据流提升ssd读拼接率的方法及其系统 Download PDF

Info

Publication number
CN110134333B
CN110134333B CN201910375339.2A CN201910375339A CN110134333B CN 110134333 B CN110134333 B CN 110134333B CN 201910375339 A CN201910375339 A CN 201910375339A CN 110134333 B CN110134333 B CN 110134333B
Authority
CN
China
Prior art keywords
data
data stream
sub
rearranging
unit
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.)
Active
Application number
CN201910375339.2A
Other languages
English (en)
Other versions
CN110134333A (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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201910375339.2A priority Critical patent/CN110134333B/zh
Publication of CN110134333A publication Critical patent/CN110134333A/zh
Application granted granted Critical
Publication of CN110134333B publication Critical patent/CN110134333B/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
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System (AREA)

Abstract

本发明涉及一种重排写入数据流提升SSD读拼接率的方法及其系统;其中,重排写入数据流提升SSD读拼接率的方法,包括以下步骤:S1,根据命令分配“控制节点”;S2,以“子页”大小对写数据流进行切割;S3,进行数据流重排;S4,将数据流与控制节点绑定,并提交至FTL。本发明通过将写入的数据信息以页为单位进行切割,结合FTL地址池分配地址的策略,以提高读拼接率为准则重新排列写入数据流,使得读取的时候有更高的读拼接率,从而提高SSD的读性能,能够更好地满足需求。

Description

一种重排写入数据流提升SSD读拼接率的方法及其系统
技术领域
本发明涉及SSD读拼接率技术领域,更具体地说是指一种重排写入数据流提升SSD读拼接率的方法及其系统。
背景技术
SSD的存储介质为Nand Flash,主流颗粒将拥有页寄存器的单位定义为Plane,并且支持多个plane同时读写(Multi-plane);由于ONFI协议对Multi-plane所操作的地址有严格的要求,如果主机读取的数据不能使用Multi-plane操作,读取的性能必然不高,如果有种方式能够让读取数据尽可能多地满足Multi-plane操作,会有效提升SSD的读性能;目前主流SSD固件的写操作会顺序提交数据流给FTL算法模块,FTL模块从地址池中分配地址并与数据绑定交给NFC模块,但是,这样的顺序写入并不能使读拼接率达到最优;因此,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种重排写入数据流提升SSD读拼接率的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种重排写入数据流提升SSD读拼接率的方法,包括以下步骤:
S1,根据命令分配“控制节点”;
S2,以“子页”大小对写数据流进行切割;
S3,进行数据流重排;
S4,将数据流与控制节点绑定,并提交至FTL。
其进一步技术方案为:所述S1中,DPM模块根据写命令分配“控制节点”。
其进一步技术方案为:所述S3中,根据地址池分配策略重新排列数据流。
其进一步技术方案为:所述S3中,还包括:将数据流按照“子页”的大小进行切割编号,标记为Data_x,从0开始遍历所有Bank,记为i,然后在相同的i下遍历所有的“子页”,TLC的NAND为0-2,记作j,并提交Data_x。
其进一步技术方案为:所述Data_x中的x为索引编号,且x=i+j*(Bank总数)。
其进一步技术方案为:所述S4中,将重排后的数据流与“控制节点”绑定,提交至FTL模块。
一种重排写入数据流提升SSD读拼接率的系统,包括:分配单元,切割单元,重排单元,及绑定提交单元;
所述分配单元,用于根据命令分配“控制节点”;
所述切割单元,用于以“子页”大小对写数据流进行切割;
所述重排单元,用于进行数据流重排;
所述绑定提交单元,用于将数据流与控制节点绑定,并提交至FTL。
其进一步技术方案为:所述分配单元中,DPM模块根据写命令分配“控制节点”。
其进一步技术方案为:所述重排单元中,根据地址池分配策略重新排列数据流,将数据流按照“子页”的大小进行切割编号,标记为Data_x,从0开始遍历所有Bank,记为i,然后在相同的i下遍历所有的“子页”,TLC的NAND为0-2,记作j,并提交Data_x;所述Data_x中的x为索引编号,且x=i+j*(Bank总数)。
其进一步技术方案为:所述绑定提交单元中,将重排后的数据流与“控制节点”绑定,提交至FTL模块。
本发明与现有技术相比的有益效果是:通过将写入的数据信息以页为单位进行切割,结合FTL地址池分配地址的策略,以提高读拼接率为准则重新排列写入数据流,使得读取的时候有更高的读拼接率,从而提高SSD的读性能,能够更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明一种重排写入数据流提升SSD读拼接率的方法流程图;
图2为写数据流和地址池分配的示意图;
图3为待写入数据在物理空间的呈现示意图;
图4为写入数据在NAND上呈现的物理排列示意图;
图5为本发明一种重排写入数据流提升SSD读拼接率的系统方框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图5所示的具体实施例,其中,如图1至图4所示,本发明公开了一种重排写入数据流提升SSD读拼接率的方法,包括以下步骤:
S1,根据命令分配“控制节点”;
S2,以“子页”大小对写数据流进行切割;
S3,进行数据流重排;
S4,将数据流与控制节点绑定,并提交至FTL。
其中,所述S1中,DPM模块根据写命令分配“控制节点”。
其中,所述S3中,根据地址池分配策略重新排列数据流。
进一步地,所述S3中,还包括:将数据流按照“子页”的大小进行切割编号,标记为Data_x,从0开始遍历所有Bank,记为i,然后在相同的i下遍历所有的“子页”,TLC的NAND为0-2,记作j,并提交Data_x。
更进一步地,所述Data_x中的x为索引编号,且x=i+j*(Bank总数)。
其中,所述S4中,将重排后的数据流与“控制节点”绑定,提交至FTL模块。
其中,如图2至图4所示,TLC(Triple Level Cell)NAND中栅极(word line)对应的页包含3个“子页”,TLC要求3个“子页”需要一起写入,另外并行写入能够提升写性能,SSD固件设计中地址池分配的设计通常如图1所示,SSD内部的NAND被抽象分组成Bank,每个Bank对应一组物理Block,地址池分配地址往往按照先Bank后栅极的顺序;如图2中所示,假设SSD有4个Bank,当前地址分配从Bank_0的Page_3开始,首先将分配Page_3的3个“子页”(对应一个栅极),接着分配Bank_1的Page_3的“子Page”,以此类推;假设固件需要写入12个“子页”的数据,若将待写入的数据按照“子页”的数据大小以Data_x(x为数据的序列索引)表示,DPM模块将提交给FTL模块若干个“控制节点”,这些“控制节点”将顺序包含待写入数据,这样顺序提交数据流的方式处理后,待写入的数据在物理空间的呈现如图3所示,如读取Data_0-3时候,只有Data_0和Data_3所在的“子页”能够组成Multi-Plane操作。
其中,如SSD采用图2介绍的地址分配方法时,在同样写入12个“子Page”大小的数据,提交数据的方式为Data_0、Data_4、Data_8、Data_1、Data_5、Data_9、Data_2、Data_6、Data_10、Data_3、Data_7、Data_11,这样写入的数据在NAND上呈现的物理排列如图4所示;如果需要读取Data_0-3,则所读取的内容都可以使用Multi-Plane操作。
本发明使得写入的数据在被读取时候有更高的读拼接率,从而提升了SSD的读取性能。
如图5所示,本发明还公开了一种重排写入数据流提升SSD读拼接率的系统,包括:分配单元10,切割单元20,重排单元30,及绑定提交单元40;
所述分配单元10,用于根据命令分配“控制节点”;
所述切割单元20,用于以“子页”大小对写数据流进行切割;
所述重排单元30,用于进行数据流重排;
所述绑定提交单元40,用于将数据流与控制节点绑定,并提交至FTL。
其中,所述分配单元10中,DPM模块根据写命令分配“控制节点”。
其中,所述重排单元30中,根据地址池分配策略重新排列数据流,将数据流按照“子页”的大小进行切割编号,标记为Data_x,从0开始遍历所有Bank,记为i,然后在相同的i下遍历所有的“子页”,TLC的NAND为0-2,记作j,并提交Data_x;所述Data_x中的x为索引编号,且x=i+j*(Bank总数)。
其中,所述绑定提交单元40中,将重排后的数据流与“控制节点”绑定,提交至FTL模块。
本发明通过将写入的数据信息以页为单位进行切割,结合FTL地址池分配地址的策略,以提高读拼接率为准则重新排列写入数据流,使得读取的时候有更高的读拼接率,从而提高SSD的读性能,能够更好地满足需求。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (7)

1.一种重排写入数据流提升SSD读拼接率的方法,其特征在于,包括以下步骤:
S1,根据命令分配“控制节点”;
S2,以“子页”大小对写数据流进行切割;
S3,进行数据流重排;
S4,将数据流与控制节点绑定,并提交至FTL;
所述S1中,DPM模块根据写命令分配“控制节点”;所述S3中,根据地址池分配策略重新排列数据流;
其中,TLC NAND中栅极对应的页包含3个子页,TLC要求3个子页一起写入,SSD内部的NAND被抽象分组成Bank,每个Bank对应一组物理Block,地址池分配地址按照先Bank后栅极的顺序。
2.根据权利要求1所述的一种重排写入数据流提升SSD读拼接率的方法,其特征在于,所述S3中,还包括:将数据流按照“子页”的大小进行切割编号,标记为Data_x,从0开始遍历所有Bank,记为i,然后在相同的i下遍历所有的“子页”,TLC的NAND为0-2,记作j,并提交Data_x。
3.根据权利要求2所述的一种重排写入数据流提升SSD读拼接率的方法,其特征在于,所述Data_x中的x为索引编号,且x=i+j*(Bank总数)。
4.根据权利要求3所述的一种重排写入数据流提升SSD读拼接率的方法,其特征在于,所述S4中,将重排后的数据流与“控制节点”绑定,提交至FTL模块。
5.一种重排写入数据流提升SSD读拼接率的系统,其特征在于,包括:分配单元,切割单元,重排单元,及绑定提交单元;
所述分配单元,用于根据命令分配“控制节点”;
所述切割单元,用于以“子页”大小对写数据流进行切割;
所述重排单元,用于进行数据流重排;
所述绑定提交单元,用于将数据流与控制节点绑定,并提交至FTL;
所述分配单元中,DPM模块根据写命令分配“控制节点”;
其中,TLC NAND中栅极对应的页包含3个子页,TLC要求3个子页一起写入,SSD内部的NAND被抽象分组成Bank,每个Bank对应一组物理Block,地址池分配地址按照先Bank后栅极的顺序。
6.根据权利要求5所述的一种重排写入数据流提升SSD读拼接率的系统,其特征在于,所述重排单元中,根据地址池分配策略重新排列数据流,将数据流按照“子页”的大小进行切割编号,标记为Data_x,从0开始遍历所有Bank,记为i,然后在相同的i下遍历所有的“子页”,TLC的NAND为0-2,记作j,并提交Data_x;所述Data_x中的x为索引编号,且x=i+j*(Bank总数)。
7.根据权利要求6所述的一种重排写入数据流提升SSD读拼接率的系统,其特征在于,所述绑定提交单元中,将重排后的数据流与“控制节点”绑定,提交至FTL模块。
CN201910375339.2A 2019-05-07 2019-05-07 一种重排写入数据流提升ssd读拼接率的方法及其系统 Active CN110134333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910375339.2A CN110134333B (zh) 2019-05-07 2019-05-07 一种重排写入数据流提升ssd读拼接率的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910375339.2A CN110134333B (zh) 2019-05-07 2019-05-07 一种重排写入数据流提升ssd读拼接率的方法及其系统

Publications (2)

Publication Number Publication Date
CN110134333A CN110134333A (zh) 2019-08-16
CN110134333B true CN110134333B (zh) 2022-06-07

Family

ID=67576570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910375339.2A Active CN110134333B (zh) 2019-05-07 2019-05-07 一种重排写入数据流提升ssd读拼接率的方法及其系统

Country Status (1)

Country Link
CN (1) CN110134333B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114556283B (zh) * 2019-11-13 2024-04-12 华为技术有限公司 一种数据写入、一致性检查和读取的方法及装置
CN111782146B (zh) * 2020-06-30 2023-10-13 深圳忆联信息系统有限公司 实现写缓存的方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665091A (zh) * 2016-07-28 2018-02-06 大心电子股份有限公司 数据读取方法、数据写入方法及其存储控制器
US10141050B1 (en) * 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176646A (ja) * 2009-02-02 2010-08-12 Toshiba Information Systems (Japan) Corp メモリシステムおよびメモリシステムのインターリーブ制御方法
CN101498994B (zh) * 2009-02-16 2011-04-20 华中科技大学 一种固态硬盘控制器
US9632927B2 (en) * 2014-09-25 2017-04-25 International Business Machines Corporation Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes
CN107273304A (zh) * 2017-05-24 2017-10-20 记忆科技(深圳)有限公司 一种提高固态硬盘顺序读性能的方法及固态硬盘
CN108595110B (zh) * 2018-03-07 2021-12-14 深圳忆联信息系统有限公司 一种利用Nand特性提高读性能的方法及固态硬盘
CN108762674A (zh) * 2018-05-24 2018-11-06 深圳忆联信息系统有限公司 提升ssd响应延迟的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665091A (zh) * 2016-07-28 2018-02-06 大心电子股份有限公司 数据读取方法、数据写入方法及其存储控制器
US10141050B1 (en) * 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory

Also Published As

Publication number Publication date
CN110134333A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
US8144515B2 (en) Interleaved flash storage system and method
CN101288054B (zh) 闪存管理方法、系统、存储设备、以及闪存设备
US7627712B2 (en) Method and system for managing multi-plane memory devices
US10466908B2 (en) Memory system that buffers data before writing to nonvolatile memory
DE102019116520A1 (de) Datenspeichersysteme und -verfahren für eine verbesserte datenumlagerung basierend auf lesepegelspannungen, die mit einer fehlerwiederherstellung verbunden sind
TWI399644B (zh) 非揮發記憶體區塊管理方法
EP2565792A1 (en) Block management schemes in hybrid SLC/MLC memory
US20140297921A1 (en) Method of Partitioning Physical Block and Memory System Thereof
US20110246821A1 (en) Reliability scheme using hybrid ssd/hdd replication with log structured management
CN109697024B (zh) 存储器系统及其操作方法
US8433844B2 (en) Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof
US20190235789A1 (en) Method for performing writing management in a memory device, and associated memory device and controller thereof
US11640354B2 (en) Logical-to-physical mapping of data groups with data locality
CN105867840A (zh) 闪存组件及非易失性半导体存储器组件
US10365834B2 (en) Memory system controlling interleaving write to memory chips
CN113874826A (zh) 具有多个裸片和平面的存储器子系统中的多遍数据编程
CN109074318A (zh) 用于执行转换层表的自适应主机存储器缓冲区高速缓存的系统和方法
CN113853653A (zh) 管理编程模式转变以适应主机系统和存储器子系统之间的数据传递的恒定大小
CN110134333B (zh) 一种重排写入数据流提升ssd读拼接率的方法及其系统
US20130227207A1 (en) Advanced management of a non-volatile memory
KR102680874B1 (ko) 저장 장치, 컨트롤러 및 저장 장치의 동작 방법
CN104021094B (zh) 数据储存装置与快闪存储器控制方法
CN102541755A (zh) 闪存存储器及其接收数据的方法
DE102021121608A1 (de) Verfahren zum schreiben von daten in eine nicht-flüchtige speichervorrichtung und dieses ausführende nicht-flüchtige speichervorrichtung
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same

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