本发明专利技术公开了一种提高固态硬件存储性能方法及装置,涉及固态硬盘存储领域,该方法包括记录各个SSD(Solid State Drive,固态硬盘)块区写入待读取数据的写入时间;接到任一SSD块区读取命令后,依照存储时长与偏移电压的对应关系,以对应的偏移电压读取所述待读取数据;所述存储时长与偏移电压的对应关系由测试数据在不同SSD块区存储不同的时间后,记录成功读取所述测试数据所使用的偏移电压所得到,本发明专利技术减少了因为长时间存储劣化造成的重读次数,进而提升了SSD的数据读取性能,减少了主机响应延迟,减少了SSD错误处理的开销。减少了SSD错误处理的开销。减少了SSD错误处理的开销。
【技术实现步骤摘要】
一种提高固态硬件存储性能方法及装置
[0001]本专利技术涉及固态硬盘存储领域,具体涉及一种提高固态硬件存储性能方法及装置。
技术介绍
[0002]SSD(Solid State Drive,固态硬盘)是由若干个NAND闪存阵列组成的存储设备,以Micron B47R Flash为例,一个512GB的SSD,由8个Nand Flash Die组成,每个die相同序号的block构成一个SSD的逻辑存储单元,称之为row block,简称rblock。
[0003]通常,当主机需要从SSD读取数据的时候,SSD控制器通过其内部的FTL算法来确定数据所在的die和rblock,然后使用读取自NAND flash底层操作命令,将数据从对应的flash颗粒中读出,再通过SSD的和主机接口将数据返回给主机。
[0004]但是,因为Nand flash自身具有数据保持(data retention)的可靠性问题——写到flash内部的数据信号会随着时间流逝而发生变化,进而导致SSD间隔一段时间后再直接去读的时候会产生误码。
[0005]目前,针对这种情况,SSD的架构设计是:出现误码后,通过尝试Flash厂商提供的各类读取方式,对出错的物理位置进行重复读取,也即read retry。最差的情况下,可能需要把Flash厂商提供的读取方式都尝试一遍才能读出正确的数据。
技术实现思路
[0006]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种提高固态硬件存储性能方法及装置,能够减小SSD在错误处理方面的开销,提高SSD的读数据性能,减少SSD对主机命令处理的时延。
[0007]为达到以上目的,第一方面,本专利技术实施例提供一种提高固态硬件存储性能方法,其包括:
[0008]记录各个SSD(Solid State Drive,固态硬盘)块区写入待读取数据的写入时间;
[0009]接到任一SSD块区读取命令后,依照存储时长与偏移电压的对应关系,以对应的偏移电压读取所述待读取数据;
[0010]所述存储时长与偏移电压的对应关系由测试数据在不同SSD块区存储不同的时间后,记录成功读取所述测试数据所使用的偏移电压所得到。
[0011]作为一个可选的实施方案,若所述SSD长时间掉电且无计时模块,则在SSD上电后,根据SSD自校准功能提供的建议电压计算SSD掉电时间,创建或更新各个SSD块区的写入时间。
[0012]作为一个可选的实施方案,SSD由于长时间掉电,产生多次重读,启动所述SSD自校准功能;
[0013]根据SSD自校准功能提供的建议电压计算SSD掉电时间,创建或更新各个SSD块区的写入时间。
[0014]作为一个可选的实施方案,若所述SSD长时间掉电且有计时模块,则在SSD上电后,根据所述计时模块创建或更新各个SSD块区的写入时间。
[0015]作为一个可选的实施方案,所述接到任一SSD块区读取命令后,依照所述存储时长与偏移电压的对应关系,以对应的偏移电压读取所述待读取数据,包括:
[0016]响应SSD块区读取命令,获取该SSD块区的写入时间,并根据读取时间,计算得到该SSD块区对应的存储时长;
[0017]获取所述存储时长与偏移电压的对应关系,并依照该SSD块区对应的存储时长,得到该SSD块区对应的偏移电压;
[0018]以该SSD块区对应的偏移电压读取其存储的待读取数据。
[0019]作为一个可选的实施方案,所述测试数据在不同SSD块区存储不同的时间后,记录成功读取所述测试数据所使用的偏移电压,得到存储时长与偏移电压的对应关系,包括:
[0020]记录每个SSD块区存储测试数据的写入时间;
[0021]在预设时长后,以不同的偏移电压读取SSD块区,并记录成功读取所述测试数据的读取时间以及对应的偏移电压;
[0022]根据读取时间与读取时间计算得到存储时长,并建立所述存储时长与所述偏移电压的对应关系。
[0023]作为一个可选的实施方案,连续SSD块区对应的所述预设时长依照预设长度连续增长或缩短。
[0024]作为一个可选的实施方案,以掉电保护模块存储所述存储时长与偏移电压的对应关系。
[0025]第二方面,本专利技术实施例提供一种提高固态硬件存储性能系统,其包括:
[0026]写入模块,用于在各个SSD块区写入待读取数据,并记录写入时间;
[0027]读取模块,用于用于接到任一SSD块区读取命令后,依照预设的存储时长与偏移电压的对应关系,以对应的偏移电压读取所述待读取数据。
[0028]作为一个可选的实施方案,其还包括测试模块,所述测试模块用于在不同SSD块区存储不同的时间后,记录成功读取所述测试数据所使用的偏移电压,得到存储时长与偏移电压的对应关系。
[0029]与现有技术相比,本专利技术的优点在于:
[0030]本案每次写入数据时,记录的写入时间,这样能够在读取数据时,确认当前待读取数据在SSD中已经存储的时间,进而直接使用匹配的偏移电压成功读取该数据,减少了因为长时间存储劣化造成的重读次数,进而提升了SSD的数据读取性能,减少了主机响应延迟,减少了SSD错误处理的开销。
附图说明
[0031]为了更清楚地说明本专利技术实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为一种SSD的结构示意图;
[0033]图2为本专利技术一种提高固态硬件存储性能方法实施例的步骤流程图;
[0034]图3为本专利技术一种提高固态硬件存储性能方法步骤S2的详细步骤流程图;
[0035]图4为本专利技术一种提高固态硬件存储性能方法实施例中存储时长与偏移电压的对应关系的获取方法的步骤流程图;
[0036]图5为本专利技术一种提高固态硬件存储性能装置实施例的结构示意图。
具体实施方式
[0037]名词解释:
[0038]SSD(Solid State Drive,固态硬盘):固态电子存储芯片阵列制成的硬盘,包括由若干个NAND Flash阵列组成的数据存储设备。
[0039]NAND:一种非易失性存储介质,,即断电后仍能保存数据,其也称作NAND闪存芯片(NAND Flash)
[0040]Die:闪存裸片,在集成电路中,die(芯片)是一小块半导体材料,在其上制造了给定的功能电路,,由存储块和逻辑电路组成;在本案中,die为NAND Flash执行命令的最小单元。
[0041]Rblock:逻辑存储单元,为SSD操作的基本单元,由并发操作的die中相同序号的逻辑block组成。
[0042]FTL:(Flash Translation Layer,闪存转换层),一种软件中间层,也作为NAND Flash管理算法本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种提高固态硬件存储性能方法,其特征在于,其包括:记录各个SSD(Solid State Drive,固态硬盘)块区写入待读取数据的写入时间;接到任一SSD块区读取命令后,依照存储时长与偏移电压的对应关系,以对应的偏移电压读取所述待读取数据;所述存储时长与偏移电压的对应关系由测试数据在不同SSD块区存储不同的时间后,记录成功读取所述测试数据所使用的偏移电压所得到。2.如权利要求1所述的一种提高固态硬件存储性能方法,其特征在于:若所述SSD长时间掉电且无计时模块,则在SSD上电后,根据SSD自校准功能提供的建议电压计算SSD掉电时间,创建或更新各个SSD块区的写入时间。3.如权利要求1所述的一种提高固态硬件存储性能方法,其特征在于:SSD由于长时间掉电,产生多次重读,启动所述SSD自校准功能;根据SSD自校准功能提供的建议电压计算SSD掉电时间,创建或更新各个SSD块区的写入时间。4.如权利要求1所述的一种提高固态硬件存储性能方法,其特征在于:若所述SSD长时间掉电且有计时模块,则在SSD上电后,根据所述计时模块创建或更新各个SSD块区的写入时间。5.如权利要求1所述的一种提高固态硬件存储性能方法,其特征在于,所述接到任一SSD块区读取命令后,依照所述存储时长与偏移电压的对应关系,以对应的偏移电压读取所述待读取数据,包括:响应SSD块区读取命令,获取该SSD块区的写入时间,并根据读取时间,计算得到该SSD块区对应的存储时长;获取所述存储时长与偏...
【专利技术属性】
技术研发人员:李悦,弗兰克,
申请(专利权)人:至誉科技武汉有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。