CN109189349A - 一种提升固态硬盘复写性能的方法及其系统 - Google Patents

一种提升固态硬盘复写性能的方法及其系统 Download PDF

Info

Publication number
CN109189349A
CN109189349A CN201811203797.XA CN201811203797A CN109189349A CN 109189349 A CN109189349 A CN 109189349A CN 201811203797 A CN201811203797 A CN 201811203797A CN 109189349 A CN109189349 A CN 109189349A
Authority
CN
China
Prior art keywords
lba
data
cryptographic hash
physical address
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.)
Pending
Application number
CN201811203797.XA
Other languages
English (en)
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 CN201811203797.XA priority Critical patent/CN109189349A/zh
Publication of CN109189349A publication Critical patent/CN109189349A/zh
Pending legal-status Critical Current

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
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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]

Abstract

本发明涉及一种提升固态硬盘复写性能的方法及其系统;其中,提升固态硬盘复写性能的方法,包括以下步骤:S1,SSD控制器接收lba数据到DRAM,同时启用SHA‑1算法生成哈希值H;S2,判断H2P表中是否存在哈希值为H的记录;若是,则进入S3;若不是,则进入S4;S3,从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;S4,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。本发明大大减少闪存的写入操作,大大提升复写情形下的性能,提高了复写的效率,更好地满足了需求,同时还能延长闪存的使用寿命。

Description

一种提升固态硬盘复写性能的方法及其系统
技术领域
本发明涉及固态硬盘复写技术领域,更具体地说是指一种提升固态硬盘复写性能的方法及其系统。
背景技术
在多用户态的企业级应用环境以及虚拟机环境中,用户间写入到存储设备的数据内容有很多是相同的。
现有技术中,作为存储设备的SSD,依然按照传统的写入方式存储数据,即按照主机下发的数据依次写入闪存,并利用映射表记住LBA(Logic Block Address)与物理地址的映射关系,供后续读取数据用;这样对于相同的数据重复进行写入,影响了SSD复写性能,降低了工作效率,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种提升固态硬盘复写性能的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种提升固态硬盘复写性能的方法,包括以下步骤:
S1,SSD控制器接收lba数据到DRAM,同时启用SHA-1算法生成哈希值H;
S2,判断H2P表中是否存在哈希值为H的记录;若是,则进入S3;若不是,则进入S4;
S3,从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;
S4,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。
其进一步技术方案为:所述S1之前还包括:SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y。
其进一步技术方案为:所述S1包括:主机写入lba,SSD控制器把数据从主机端接收到内部写缓存,接收的同时启用SHA-1算法并行计算数据内容对应的哈希值Ha。
其进一步技术方案为:所述S3包括:
S31,从H2P表中获得哈希值H对应的物理地址P2;
S32,将L2P表中该lba的物理地址对应为P2。
其进一步技术方案为:所述S4包括:
S41,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1;
S42,申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。
其进一步技术方案为:所述S4之后还包括:主机读取lba,SSD查找L2P表得出lba对应的物理页为P1,并将读出的数据传至主机。
一种提升固态硬盘复写性能的系统,包括维护记录单元,接收启用单元,判断单元,获得对应单元,及更新申请单元;
所述维护记录单元,用于SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y;
所述接收启用单元,用于SSD控制器接收lba数据到DRAM,同时启用SHA-1算法生成哈希值H;
所述判断单元,用于判断H2P表中是否存在哈希值为H的记录;
所述获得对应单元,用于从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;
所述更新申请单元,用于将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P。
其进一步技术方案为:所述获得对应单元包括获得模块和对应模块;
所述获得模块,用于从H2P表中获得哈希值H对应的物理地址P2;
所述对应模块,用于将L2P表中该lba的物理地址对应为P2。
其进一步技术方案为:所述更新申请单元包括更新模块和申请模块;
所述更新模块,用于将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1;
所述申请模块,用于申请新的H2P记录单元并记录该哈希值H对应的物理地址为P。
其进一步技术方案为:还包括读取单元,用于主机读取lba,SSD查找L2P表得出lba对应的物理页为P1,并将读出的数据传至主机。
本发明与现有技术相比的有益效果是:采用SSD固件设计中新的数据写入方式,即根据数据内容本身确定之前是否已写过该数据,如果已写过,则无需再写;SSD体现出的处理性能为主机数据写入到内部写缓存的性能,特别的,在SSD稳态写时,SSD表现出的性能提升是成百上千倍的,且能大大减少闪存的写入操作,大大提升复写情形下的性能,提高了复写的效率,更好地满足了需求,同时还能延长闪存的使用寿命。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术的数据写入示意图;
图2为本发明一种提升固态硬盘复写性能的方法的流程图;
图3为本发明复写数据的示意图;
图4为本发明数据写入的示意图;
图5为本发明一种提升固态硬盘复写性能的系统方框图。
10 维护记录单元 20 接收启用单元
30 判断单元 40 获得对应单元
41 获得模块 42 对应模块
50 更新申请单元 51 更新模块
52 申请模块 60 读取单元
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图5所示的具体实施例,其中,如图1所示,现有技术的数据写入示意图,采用传统的写入方式,假设闪存的物理页(ppa)大小等于主机LBA大小(512B),SSD控制器将主机写入的数据依次写到闪存的物理页中,如图1中主机第一次写入lba1,SSD将数据写入到闪存的物理页0中,并且更新L2P表中lba1对应ppa0,然后主机继续写入lba2,并且lba2的数据内容与lba1的数据内容一样(主机复写),SSD并不关心lba2的具体数据内容,按照既定规则将lba2的数据写入到物理页1中,且更新L2P表中lba2对应ppa1,后续主机读取lba1数据时,SSD查L2P表得知对应数据在物理页0中,则将物理页0中数据读出并传输给主机。
其中,既然是复写,那么lba的数据内容是一样的,如图1中所示的lba1已写入到物理页0中,当lba2下发到SSD后,如果SSD能确定出lba2的数据内容与lba1的数据内容完全一样,导致数据重复进行写入,影响了SSD复写性能,降低了工作效率,无法满足需求。
如图2至图4所示,本发明公开了一种提升固态硬盘复写性能的方法,包括以下步骤:
S1,SSD控制器接收lba数据到DRAM,同时启用SHA-1算法生成哈希值H;
S2,判断H2P表中是否存在哈希值为H的记录;若是,则进入S3;若不是,则进入S4;
S3,从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;
S4,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。
其中,在S1之前还包括:SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y。
其中,S1包括:主机写入lba,SSD控制器把数据从主机端接收到内部写缓存,接收的同时启用SHA-1算法并行计算数据内容对应的哈希值Ha。
其中,S3包括:
S31,从H2P表中获得哈希值H对应的物理地址P2;
S32,将L2P表中该lba的物理地址对应为P2。
其中,S4包括:
S41,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1;
S42,申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。
其中,S4之后还包括:主机读取lba,SSD查找L2P表得出lba对应的物理页为P1,并将读出的数据传至主机。
本发明SSD确定lba2的数据内容与lba1的数据内容完全一样,那么SSD没有必要将相同的数据写入到新的物理页中(毕竟在基于NVME的SSD中数据写入闪存是相对最耗时的),SSD只需要将L2P表中lba2直接对应到物理页0即可,后续主机读取lba2,SSD按照传统的方式读取,数据也是没有问题的。
如图3至图4所示,举例说明:
1、SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y;
2、主机写入lba1,SSD控制器把数据从主机端接收到内部写缓存,接收的同时启用SHA算法并行计算数据内容对应的哈希值Ha(可考虑硬件实现,提升效率);
3、SSD固件搜索H2P表,搜索表中是否已存在Ha,发现不存在,说明该lba对应的数据内容并没有写过,则将该数据写入到闪存物理页0中,同时为H2P表动态申请一个新的记录单元并将Ha与ppa0的对应关系保存到该记录单元,之后还需要将L2P表中lba1对应的物理页信息更新为ppa0,供后续主机读取lba1数据使用;
4、主机写入lba2,该lba数据内容与lba1数据内容不相同,SSD计算出对应哈希值为Hb,SSD用同样方式将该数据写入到闪存物理页1中,并且增加Hb与ppa1的对应关系到H2P表,且更新L2P表中lba2的物理页为ppa1;
5、主机写入lba3,且该lba数据内容与lba2的数据内容,SSD计算出哈希值为Hb,搜索H2P表发现表中已存在Hb,则判断出该数据内容已写过,并且写在物理页1中,则直接更新L2P表中lba3的物理页信息为ppa1;
6、主机读取lba3,SSD查L2P表得出lba3对应的物理页为pp1,并将读出的数据传至主机。
由此可见,在5中lba3的数据在SSD内部并没有实际写闪存的操作,所以在主机复写数据的场景下,SSD体现出的处理性能为主机数据写入到内部写缓存的性能,特别的,在SSD稳态写时,SSD表现出的性能提升是成百上千倍的;而且由于该技术能大大减少闪存的写入操作,所以还能明显延长闪存的使用寿命。
如图5所示,本发明还公开了一种提升固态硬盘复写性能的系统,包括维护记录单元10,接收启用单元20,判断单元30,获得对应单元40,及更新申请单元50;
维护记录单元10,用于SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y;
接收启用单元20,用于SSD控制器接收lba数据到DRAM,同时启用SHA-1算法生成哈希值H;
判断单元30,用于判断H2P表中是否存在哈希值为H的记录;
获得对应单元40,用于从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;
更新申请单元50,用于将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P。
其中,获得对应单元40包括获得模块41和对应模块42;
获得模块41,用于从H2P表中获得哈希值H对应的物理地址P2;
对应模块42,用于将L2P表中该lba的物理地址对应为P2。
其中,更新申请单元50包括更新模块51和申请模块52;
更新模块51,用于将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1;
申请模块52,用于申请新的H2P记录单元并记录该哈希值H对应的物理地址为P。
进一步地,该系统还包括读取单元60,用于主机读取lba,SSD查找L2P表得出lba对应的物理页为P1,并将读出的数据传至主机。
本发明采用SSD固件设计中新的数据写入方式,即根据数据内容本身确定之前是否已写过该数据,如果已写过,则无需再写;SSD体现出的处理性能为主机数据写入到内部写缓存的性能,特别的,在SSD稳态写时,SSD表现出的性能提升是成百上千倍的,且能大大减少闪存的写入操作,大大提升复写情形下的性能,提高了复写的效率,更好地满足了需求,同时还能延长闪存的使用寿命。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (10)

1.一种提升固态硬盘复写性能的方法,其特征在于,包括以下步骤:
S1,SSD控制器接收lba数据到DRAM,同时启用SHA-1算法生成哈希值H;
S2,判断H2P表中是否存在哈希值为H的记录;若是,则进入S3;若不是,则进入S4;
S3,从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;
S4,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。
2.根据权利要求1所述的一种提升固态硬盘复写性能的方法,其特征在于,所述S1之前还包括:SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y。
3.根据权利要求1所述的一种提升固态硬盘复写性能的方法,其特征在于,所述S1包括:主机写入lba,SSD控制器把数据从主机端接收到内部写缓存,接收的同时启用SHA-1算法并行计算数据内容对应的哈希值Ha。
4.根据权利要求1所述的一种提升固态硬盘复写性能的方法,其特征在于,所述S3包括:
S31,从H2P表中获得哈希值H对应的物理地址P2;
S32,将L2P表中该lba的物理地址对应为P2。
5.根据权利要求1所述的一种提升固态硬盘复写性能的方法,其特征在于,所述S4包括:
S41,将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1;
S42,申请新的H2P记录单元并记录该哈希值H对应的物理地址为P1。
6.根据权利要求1所述的一种提升固态硬盘复写性能的方法,其特征在于,所述S4之后还包括:主机读取lba,SSD查找L2P表得出lba对应的物理页为P1,并将读出的数据传至主机。
7.一种提升固态硬盘复写性能的系统,其特征在于,包括维护记录单元,接收启用单元,判断单元,获得对应单元,及更新申请单元;
所述维护记录单元,用于SSD固件动态维护一个H2P表,表中每个单元记录一个已写过数据的哈希值H_x和该笔数据所在的物理页ppa_y;
所述接收启用单元,用于SSD控制器接收lba数据到DRAM,同时启用SHA-1算法生成哈希值H;
所述判断单元,用于判断H2P表中是否存在哈希值为H的记录;
所述获得对应单元,用于从H2P表中获得哈希值H对应的物理地址P2,将L2P表中该lba的物理地址对应为P2;
所述更新申请单元,用于将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1,并申请新的H2P记录单元并记录该哈希值H对应的物理地址为P。
8.根据权利要求7所述的一种提升固态硬盘复写性能的系统,其特征在于,所述获得对应单元包括获得模块和对应模块;
所述获得模块,用于从H2P表中获得哈希值H对应的物理地址P2;
所述对应模块,用于将L2P表中该lba的物理地址对应为P2。
9.根据权利要求7所述的一种提升固态硬盘复写性能的系统,其特征在于,所述更新申请单元包括更新模块和申请模块;
所述更新模块,用于将lba数据写入到当前物理页P中,更新L2P表中该lba的物理地址为P1;
所述申请模块,用于申请新的H2P记录单元并记录该哈希值H对应的物理地址为P。
10.根据权利要求7所述的一种提升固态硬盘复写性能的系统,其特征在于,还包括读取单元,用于主机读取lba,SSD查找L2P表得出lba对应的物理页为P1,并将读出的数据传至主机。
CN201811203797.XA 2018-10-16 2018-10-16 一种提升固态硬盘复写性能的方法及其系统 Pending CN109189349A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811203797.XA CN109189349A (zh) 2018-10-16 2018-10-16 一种提升固态硬盘复写性能的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811203797.XA CN109189349A (zh) 2018-10-16 2018-10-16 一种提升固态硬盘复写性能的方法及其系统

Publications (1)

Publication Number Publication Date
CN109189349A true CN109189349A (zh) 2019-01-11

Family

ID=64944934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811203797.XA Pending CN109189349A (zh) 2018-10-16 2018-10-16 一种提升固态硬盘复写性能的方法及其系统

Country Status (1)

Country Link
CN (1) CN109189349A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867627A (zh) * 2021-08-29 2021-12-31 苏州浪潮智能科技有限公司 一种存储系统性能优化方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719099A (zh) * 2009-11-26 2010-06-02 成都市华为赛门铁克科技有限公司 减小固态硬盘写入放大的方法及装置
CN103514250A (zh) * 2013-06-20 2014-01-15 易乐天 一种全局重复数据删除的方法和系统及存储装置
CN108345433A (zh) * 2017-01-25 2018-07-31 三星电子株式会社 用于最大化的可去重存储器的方法、存储器系统和产品

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719099A (zh) * 2009-11-26 2010-06-02 成都市华为赛门铁克科技有限公司 减小固态硬盘写入放大的方法及装置
CN103514250A (zh) * 2013-06-20 2014-01-15 易乐天 一种全局重复数据删除的方法和系统及存储装置
CN108345433A (zh) * 2017-01-25 2018-07-31 三星电子株式会社 用于最大化的可去重存储器的方法、存储器系统和产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867627A (zh) * 2021-08-29 2021-12-31 苏州浪潮智能科技有限公司 一种存储系统性能优化方法及系统
CN113867627B (zh) * 2021-08-29 2023-08-22 苏州浪潮智能科技有限公司 一种存储系统性能优化方法及系统

Similar Documents

Publication Publication Date Title
US10101930B2 (en) System and method for supporting atomic writes in a flash translation layer
US8838936B1 (en) System and method for efficient flash translation layer
US8521949B2 (en) Data deleting method and apparatus
CN104077380B (zh) 一种重复数据删除方法、装置及系统
CN103049224B (zh) 将数据导入物理磁带的方法、装置和系统
CN106922188A (zh) 取消映射存储空间
US9177652B2 (en) Bad block compensation for solid state storage devices
CN102591790B (zh) 基于固态硬盘的数据存储快照实现方法及固态硬盘
CN108604165A (zh) 存储装置
CN107273046B (zh) 一种基于固态盘阵列的数据处理方法及系统
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
CN108491290B (zh) 一种数据写入方法及装置
CN104834477A (zh) 基于闪存的数据写入方法和装置
CN107291625B (zh) 一种用于Nand Flash的指针式逻辑地址映射表实现方法
JP2009043054A5 (zh)
CN102520885B (zh) 一种混合硬盘的数据管理系统
CN100580669C (zh) 在Flash存储介质上的关于文件分配表的缓存实现方法
CN102867046B (zh) 基于固态硬盘的数据库优化方法及系统
CN109189349A (zh) 一种提升固态硬盘复写性能的方法及其系统
TWI407310B (zh) 資料儲存裝置及資料存取方法
CN111443874B (zh) 基于内容感知的固态盘内存缓存管理方法、设备及固态盘
CN103631682A (zh) 数据备份的实现方法和装置
CN103176753B (zh) 存储设备及其数据管理方法
CN108733575B (zh) 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘
CN113126921B (zh) 一种提高固态盘内3d闪存芯片写性能的优化方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190111

RJ01 Rejection of invention patent application after publication