一种预防读取错误的方法、系统及数据存储设备技术方案

技术编号:36766432 阅读:14 留言:0更新日期:2023-03-08 21:24
本发明专利技术公开了一种预防读取错误的方法、系统及数据存储设备,所述预防读取错误的方法包括:记录每个闪存块的读取次数和擦除次数;当所述闪存块的所述读取次数等于或大于第一阈值,且所述擦除次数小于第二阈值时,延迟读取命令;检测所述闪存块内每个所述闪存页的状态;以及当所述闪存块内,比特翻转的所述闪存页数量等于或大于第三阈值时,将该所述闪存块中的数据搬移至其他闪存块。通过本发明专利技术提供的一种预防读取错误的方法,可延长数据存储设备的寿命。的寿命。的寿命。

【技术实现步骤摘要】
一种预防读取错误的方法、系统及数据存储设备


[0001]本专利技术属于存储
,特别涉及一种预防读取错误的方法、系统及数据存储设备。

技术介绍

[0002]固态硬盘(Solid State Disk,SSD)是一种基于永久性存储器,如闪存。其具有读写速度快,低功耗,无噪音,抗震动,低热量,体积小,工作范围大,广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空等、导航设备等领域。当闪存块中的某一页数据被频繁且重复读取时,该闪存块中的数据极被频繁读取的闪存页影响,当读取再次读取该闪存页中的数据时,易出现读取错误。且目前需要在设备闲置时,才能对设备进行检查是否有易出现读取错误的闪存块,当设备使用频繁时候,无法预防读取错误的发生。

技术实现思路

[0003]本专利技术的目的在于提供一种预防读取错误的方法、系统及数据存储设备,可动态检查所述数据存储设备中闪存块的状态,防止连续的指令对某一闪存块的读取,延长闪存块的寿命。
[0004]为解决上述技术问题,本专利技术是通过以下技术方案实现的:
[0005]本专利技术提供一种预防读取错误的方法,其至少包括以下步骤:
[0006]记录每个闪存块的读取次数和擦除次数;
[0007]当所述闪存块的所述读取次数等于或大于第一阈值,且所述擦除次数小于第二阈值时,延迟读取命令;
[0008]检测所述闪存块内每个所述闪存页的状态;以及
[0009]当所述闪存块内,比特翻转的所述闪存页数量等于或大于第三阈值时,将该所述闪存块中的数据搬移至其他闪存块。
[0010]在本专利技术一实施例中,当所述闪存块的所述读取次数小于第一阈值,或所述擦除次数等于或大于第二阈值时,执行读取命令。
[0011]在本专利技术一实施例中,当所述闪存块内的每个所述闪存页的状态检查完成后,重置所述闪存块的读取次数。
[0012]在本专利技术一实施例中,在检测所述闪存块内每个所述闪存页的状态时,同时记录所述读取命令的延长时间。
[0013]在本专利技术一实施例中,当所述读取命令的延长时间等于或大于第四阈值时,暂停对所述闪存块的检测,执行所述读取命令。
[0014]在本专利技术一实施例中,当检测所述闪存块内每个所述闪存页的状态时,对所述闪存块内已经检测完成的所述闪存页进行标记。
[0015]在本专利技术一实施例中,每检查完所述闪存块内的一个所述闪存页,所述闪存块的读取次数加1。
[0016]在本专利技术一实施例中,设置一记录表,低位存放所述闪存块内有效资料的数量,高位存放所述闪存块的读取次数。
[0017]本专利技术还提供一种预防读取错误的系统,包括:
[0018]信息记录单元,用于记录每个闪存块的读取次数和擦除次数;
[0019]监测单元,用于判断所述闪存块的读取次数是否达到第一阈值,以及所述擦除次数是否到第二阈值时;
[0020]读取命令保存单元,用于保存延迟的读取命令;以及
[0021]检测单元,用于检测所述闪存块内每个所述闪存页的读取次数,当所述闪存页的读取次数等于或大于第三阈值时,将该所述闪存页中的数据搬移至其他闪存块。
[0022]本专利技术还提供一种数据存储设备,所述数据存储设备上存储有计算机程序,所述计算机程序被执行时实现如上所述的预防读取错误的方法。
[0023]如上所述本专利技术提供的一种预防读取错误的方法、系统及数据存储设备,通过设置第一阈值为检测闪存块的启动条件,动态检测闪存块,无论数据存储设备处于何种状态,只要符合启动条件,就开始执行;通过对擦除次数设置第二阈值,使得闪存块的擦除次数达到第二阈值时,不再进行对闪存块的检测,防止闪存块可能容易出现损坏且无法预防;通过对读取命令的延迟时间设置第四阈值,防止保存的读取命令过期无效;通过搬移即将出现读取错误的闪存页,而不做完整的闪存块搬移,延长闪存块的寿命。通过本专利技术本专利技术提供的一种预防读取错误的方法、系统及数据存储设备,可动态侦测指令是否继续存取闪存块,在闪存块的读取次数过多时,降低此闪存块的存取速度,以达到减缓摧毁此闪存块,以延长此闪存块的寿命的目的。
[0024]当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
[0025]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为一种数据存储设备结构图。
[0027]图2为一种读取数据时电位示意图。
[0028]图3为一种预防读取错误的方法流程图。
[0029]图4为图3中步骤S16的具体流程图。
[0030]图5为一种预防读取错误的系统结构图。
[0031]图6一种信息记录单元结构示意图。
[0032]图7为一种记录表结构示意图。
具体实施方式
[0033]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它
实施例,都属于本专利技术保护的范围。
[0034]请参阅图1所示,数据存储设备10可以与主机连接,其中,主机可例如由个人计算机、CPU核或者与网络连接的服务器等构成。主机对数据存储设备10执行数据存取控制,例如,通过向数据存储设备10发送读取请求,对数据存储设备10中的数据进行读取操作。
[0035]请参阅图1所示,在本专利技术一实施例中,数据存储设备10例如为固态硬盘(Solid State Disk,SSD),固态硬盘是一种以半导体闪存作为介质的存储设备。与机械硬盘不同,数据存储设备10以半导体存储数据,用纯电子电路实现,没有任何机械设备。数据存储设备10内主要包括控制器101和闪存介质,控制器101是数据存储设备10的大脑,承担着指挥、运算和协调的作用。控制器101可实现与主机通信、与闪存介质的通信,还可以运行数据存储设备10内部FTL算法。闪存介质包括多个闪存块103,以存储数据信息,其中,数据存储设备10内的闪存块103是一种非易失性存储器,掉电了数据也不会丢失。
[0036]请参阅图1和图6所示,在本专利技术一实施例中,数据存储设备10内还可包括闪存转换层(Flash Translation Layer,FTL)102。当主机发送读取命令给数据存储设备10时,数据存储设备10接收到该命令后执行,并接收主机要读取的数据。数据一般会先缓存在数据存储设备10内部的随机存取存储器(random access memory,RAM)(图中未显示)中,闪存转换层102会为每个逻辑数据块分配一个闪存地址,当数据凑到一定数量后,闪存转换层102便会发送读取请求给后端,后端根据读取请求,把本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种预防读取错误的方法,其特征在于,其至少包括以下步骤:记录每个闪存块的读取次数和擦除次数;当所述闪存块的所述读取次数等于或大于第一阈值,且所述擦除次数小于第二阈值时,延迟读取命令;检测所述闪存块内每个所述闪存页的状态;以及当所述闪存块内,比特翻转的所述闪存页数量等于或大于第三阈值时,将该所述闪存块中的数据搬移至其他闪存块。2.根据权利要求1所述的一种预防读取错误的方法,其特征在于,当所述闪存块的所述读取次数小于第一阈值,或所述擦除次数等于或大于第二阈值时,执行读取命令。3.根据权利要求1所述的一种预防读取错误的方法,其特征在于,当所述闪存块内的每个所述闪存页的状态检查完成后,重置所述闪存块的读取次数。4.根据权利要求1所述的一种预防读取错误的方法,其特征在于,在检测所述闪存块内每个所述闪存页的状态时,同时记录所述读取命令的延长时间。5.根据权利要求4所述的一种预防读取错误的方法,其特征在于,当所述读取命令的延长时间等于或大于第四阈值时,暂停对所述闪存块的检测,执行所述读取命令。6.根据权利要求1所述...

【专利技术属性】
技术研发人员:苏忠益
申请(专利权)人:合肥康芯威存储技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1