CN110673788A - 固态硬盘的数据读取方法、装置、设备及可读存储介质 - Google Patents
固态硬盘的数据读取方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110673788A CN110673788A CN201910838342.3A CN201910838342A CN110673788A CN 110673788 A CN110673788 A CN 110673788A CN 201910838342 A CN201910838342 A CN 201910838342A CN 110673788 A CN110673788 A CN 110673788A
- Authority
- CN
- China
- Prior art keywords
- data
- reading
- data reading
- solid state
- state disk
- 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
Links
- 239000007787 solid Substances 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000036541 health Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 8
- 230000003862 health status Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-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)
- Read Only Memory (AREA)
Abstract
本发明实施例公开了一种固态硬盘的数据读取方法、装置、设备及计算机可读存储介质。其中,方法包括对于固态硬盘中存在擦写次数超过预设次数阈值的NAND块,若NAND块没有用户读操作请求,则后台从NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据;然后获取各页面的数据读取结果,从中确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行NAND块的用户读操作请求时的数据读取的最优偏转电压值。本申请技术方案可有效提升固态硬盘的读操作性能,快速响应用户的读操作请求,可有效保证用户一次读操作便可读出准确的用户数据。
Description
技术领域
本发明实施例涉及固态硬盘读操作技术领域,特别是涉及一种固态硬盘的数据读取方法、装置、设备及计算机可读存储介质。
背景技术
随着云技术的快速发展,数据呈现爆炸式增长,相应的数据存储技术也面临着严峻的挑战。在大数据时代,海量数据的存储位于越来重要的地位,在CPU等计算部件速率越来越高的同时,数据的存储与读取速率成为系统性能提升的瓶颈。目前随着NAND价格逐渐下降,固态硬盘(Solid State Drive,SSD)的使用数量也逐年上升。
不同于传统硬盘,从固态硬盘中读取其存储数据的准确度会受整个固态硬盘读操作次数的影响。随着读操作次数的增加,当读操作次数达到一定阈值后,数据读取出错的情况会随之增加。目前广泛使用的NAND类型为3D TLC(Triple Level Cell,三层单元闪存),对于NAND来讲,读操作本质是一种弱充电的过程,随着读操作次数的增加,NAND单元存储的数据可能会发生变化导致数据读取时出错。尤其到NAND生命后期,NAND单元保存数据的通力减弱,受影响更为明显。当用户进行数据的读操作出错时,用户需要多次进行读操作,才会读取正确数据,多次读操作不仅会严重降低固态硬盘性能,而且需要耗费用户大量时间,读操作性能不佳,用户使用体验较差。
发明内容
本公开实施例提供了一种固态硬盘的数据读取方法、装置、设备及计算机可读存储介质,提升固态硬盘的读操作性能,快速响应用户的读操作请求。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种固态硬盘的数据读取方法,包括:
判断固态硬盘是否存在擦写次数超过预设次数阈值的NAND块;
若固态硬盘存在擦写次数超过预设次数阈值的NAND块,则判断所述NAND块在当前时刻是否有用户读操作请求;
若所述NAND块在当前时刻无用户读操作请求,则从所述NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据;根据各页面的数据读取结果,确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行所述NAND块的用户读操作请求时的数据读取的最优偏转电压值。
可选的,所述确定错误比特最少的数据读取结果对应的页面读取电压值之后,还包括:
判断在所述最优偏转电压值确定之后,从所述NAND块中读取数据的总容量值是否超过容量阈值;
若是,则在所述NAND块无用户读操作请求时,从所述NAND块中再次选择多个满足预设条件的页面;根据在不同电压下读取各页面数据的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以更新所述最优偏转电压值。
可选的,所述从所述NAND块中选择多个满足预设条件的页面包括:
计算所述NAND块中各页面的健康状态与所述NAND块的健康状态保持一致性的概率值;
将概率值不小于预设相关性值的页面作为满足所述预设条件的页面。
可选的,所述从所述NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据包括:
按照数据读取正确率将所述NAND块分为多个部分,每个部分的各层数的数据读取正确率间的差值不小于预设差值阈值;
分别从各部分中选择第一预设个数的WL在基础电压下进行数据读取,并记录各WL的可纠正错误位数;
根据各WL的可纠正错误位数从各WL中选择多个候选WL,在各自相应的基础电压上增加多个偏转电压值再对各候选WL进行数据读取,以从各候选WL的数据读取结果中确定所述最优偏转值。
可选的,所述从所述NAND块中选择多个满足预设条件的页面之后,还包括:
为各页面的读操作设置优先级,且各页面的优先级低于用户读操作请求的优先级。
本发明实施例另一方面提供了一种固态硬盘的数据读取装置,包括:
条件判断模块,用于判断固态硬盘是否存在擦写次数超过预设次数阈值的NAND块;
空闲判断模块,用于若固态硬盘存在擦写次数超过预设次数阈值的NAND块,则判断所述NAND块在当前时刻是否有用户读操作请求;
后台执行读操作模块,用于若所述NAND块在当前时刻无用户读操作请求,则后台从所述NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据;
偏转电压值确定模块,用于根据各页面的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行所述NAND块的用户读操作请求时的数据读取的最优偏转电压值。
可选的,所述偏转电压值更新模块,用于在所述最优偏转电压值确定之后,若从所述NAND块中读取数据的总容量值超过容量阈值,则在所述NAND块无用户读操作请求时,从所述NAND块中再次选择多个满足预设条件的页面;根据在不同电压下读取各页面数据的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以更新所述最优偏转电压值。
可选的,所述后台执行读操作模块包括:
块分割子模块,用于按照数据读取正确率将所述NAND块分为多个部分,每个部分的各层数的数据读取正确率间的差值不小于预设差值阈值;
预读取子模块,用于分别从各部分中选择第一预设个数的WL在基础电压下进行数据读取,并记录各WL的可纠正错误位数;
二次读取子模块,用于根据各WL的可纠正错误位数从各WL中选择多个候选WL,在各自相应的基础电压上增加多个偏转电压值再对各候选WL进行数据读取,以从各候选WL的数据读取结果中确定所述最优偏转值。
本发明实施例还提供了一种固态硬盘的数据读取设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述固态硬盘的数据读取方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有固态硬盘的数据读取程序,所述固态硬盘的数据读取程序被处理器执行时实现如前任一项所述固态硬盘的数据读取方法的步骤。
本申请提供的技术方案的优点在于,对于擦除次数操作一定限值的NAND块,在NAND块处于闲时状态时,后台自动做NAND带偏转电压的读操作,从而确定最优的偏转电压值,用户读操作时便可直接使用上述模拟读操作所得到的最优偏转电压值进行数据读取,减少由于读错误导致重读所耗费的时间,有效地降低用户读操作的读错概率,从而提高读操作效率,提升固态硬盘的读操作性能,快速响应用户的读操作请求,提升用户使用体验。
此外,本发明实施例还针对固态硬盘的数据读取方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种固态硬盘的数据读取方法的流程示意图;
图2为本发明实施例提供的另一种固态硬盘的数据读取方法的流程示意图;
图3为本发明实施例提供的固态硬盘的数据读取装置的一种具体实施方式结构图;
图4为本发明实施例提供的固态硬盘的数据读取装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种固态硬盘的数据读取方法的流程示意图,本发明实施例可包括以下内容:
S101:判断固态硬盘是否存在擦写次数超过预设次数阈值的NAND块,若是,则执行S102;若否,则结束操作。
可以理解的是,固态硬盘随着用户读操作的次数越来越多,寿命也逐渐减少,数据读取正确率也会逐渐降低。尤其在固态硬盘生命后期,数据读取操作出错概率较大,故,本发明实施例针对固态硬盘的读操作次数达到一定限值后的NAND块才会有实际意义,也就是说本申请是专门针对擦除次数超过次数阈值的NAND块,例如只关注擦除次数超过3000的NAND块。
S102:判断NAND块在当前时刻是否有用户读操作请求,若是,则执行S103;若否,则结束操作。
S103:后台从NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据。
可以理解的是,固态硬盘的NAND块在无用户读操作请求处理时,固态硬盘则处于闲时状态,而为了保证固态硬盘快速及时处理用户读操作请求,保证用户读操作带宽,本发明实施例在确定最优偏转电压值时,即执行S102后续步骤只是在固态硬盘闲时由后台执行,并当有用户读操作请求时,暂停后台自动读取数据并处理数据的后续流程。
进一步的,为了保证用户读操作的带宽,还可为S103步骤的各页面的读操作设置优先级,且各页面设置的优先级要低于用户读操作请求的优先级。固态硬盘在处理各读操作请求时按照优先级顺序从高到低进行处理,这样便可保证后台读操作不影响用户读操作的响应效率,提升用户读操作性能。
在本申请中,S103中选取的这个页面均为具有代表性的页面,所谓的代表性可为这些页面健康状况与整个固态硬盘或者是所属的NAND块的健康状况的相关性较为紧密,也就是说,通过判断这些页面的运行是否为健康状态可以作为评判固态硬盘或者是所属的NAND块的运行状态。这些页面可以在平时多次实验过程中进行确定,本领域技术人员也可根据自身经验进行确定,这均不影响本申请的实现。一种实施方式中,可以计算NAND块中各页面的健康状态与NAND块的健康状态保持一致性的概率值;将概率值不小于预设相关性值的页面作为满足预设条件的页面。相关性值可根据实际应用场景和用户的需求进行确定,例如可为98%。
S104:根据各页面的数据读取结果,确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行NAND块的用户读操作请求时的数据读取的最优偏转电压值。
在S103中,对各页面而言,不同的页面对应的基础电压不同,在读取每个页面的数据时,可在相应的基础电压的基础上增加或减少一定数值,也即在基础电压加上偏转电压值作为读取页面数据的电压值。每个页面均包括多个在不同偏转电压基础上读取的数据读取结果,统计各页面的所有数据读取结果,从中选取数据读取结果中读错bit位数最少的那个数据读取结果,将该数据读取结果对应的偏转电压值作为模拟读操作得到的用户使用的偏转电压值,在后续接收后用户读操作请求时,利用基础电压和最优偏转电压值读取用户读操作请求对应的用户数据,可有效保证读取得到的数据的准确度
在本发明实施例提供的技术方案中,对于擦除操作次数超过一定限值的NAND块,在NAND块处于闲时状态时,后台自动做NAND带偏转电压的读操作,从而确定最优的偏转电压值,用户读操作时便可直接使用上述模拟读操作所得到的最优偏转电压值进行数据读取,减少由于读错误导致重读所耗费的时间,有效地降低用户读操作的读错概率,从而提高读操作效率,提升固态硬盘的读操作性能,快速响应用户的读操作请求,提升用户使用体验。
作为一种可选的实施方式,例如可应用于3D TLC NAND,S103可通过下述方法从NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据:
按照数据读取正确率将NAND块分为多个部分,每个部分的各层数的数据读取正确率间的差值不小于预设差值阈值;分别从各部分中选择第一预设个数的WL在基础电压下进行数据读取,并记录各WL的可纠正错误位数;根据各WL的可纠正错误位数从各WL中选择多个候选WL,在各自相应的基础电压上增加多个偏转电压值再对各候选WL进行数据读取,以从各候选WL的数据读取结果中确定最优偏转值。
在本发明实施例中,同属于一个部分的各个层面的数据读取正确率可完全相同,也可存在小的偏差,例如二者的数据读取正确率差值不大于0.2,隶属同一部分的各层面的数据读取正确率可视为相同;而不同部分之间的数据读取正确率有一定的区别。第一预设个数可根据实际情况和固态硬盘类型、各部分包含的层数进行确定,本申请对此不做任何限定。对每个WL,利用多个电压进行数据读取,偏转电压值可按照(-2,+2,-4,+4,-6,+6,-8,+8,-10,+10,-12,+12)进行选择,使得数据读取电压值在基础电压附近上下波动。可纠正错误位数为每个页面读错的位数。在根据各WL的可纠正错误位数从各WL中选择多个候选WL时,可选择几个差别可纠正错误位数较少的WL,例如可从第一预设个数中选取读出位数不超过4位的WL,以作为候选WL。选取以3D TLC NAND为例,目前使用96层NAND,每层有4个WL(WordLine,NAND中一个TLC页为一个WL),共有384个WL,可将96的块分为6部分,各部分可依次为L(0)-L(0)、L(1)-L(46)、L(47)-L(47)、L(48)-L(48)、L(49)-L(94)和L(95)-L(95)。然后对每个部分可选择4个WL进行读取,先使用基础电压进行读操作,记录可纠正错误位数。然后按照(-2,+2,-4,+4,-6,+6,-8,+8,-10,+10,-12,+12)在基础电压基础上增加偏转电压值进行数据读取,并且在可纠正范围内,可使用前4组值,并记录错误位数最少的偏转电压作为用户使用的偏转电压。
可选的,在另外一种实施方式中,基于上述实施例,考虑到后期若继续有很多擦除操作和数据读取操作,S104确定的最优电压偏转值在作为用户读操作使用的电压偏转值,必然会出现数据读错的情况,也就是说,随着读操作次数的不断增加,上述最优偏转电压会不再适合当前的NAND块状态,为例保证用户读取数据的准确度和响应效率,在S104之后,请参阅图2,还可包括:
S105:判断在最优偏转电压值确定之后,从NAND块中读取数据的总容量值是否超过容量阈值;若是,则执行S106。
S106:在NAND块无用户读操作请求时,从NAND块中再次选择多个满足预设条件的页面;根据在不同电压下读取各页面数据的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以更新最优偏转电压值。
在本发明实施例中,容量阈值可根据实际情况,如固态硬盘的使用状态、硬件参数等来确定,本申请对此不做任何限定,例如系统可在读操作每增加250K时重新进行偏转电压的选择,以保证用户数据可在一次能够读出,确保其读操作性能。
本发明实施例还针对固态硬盘的数据读取方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的固态硬盘的数据读取装置进行介绍,下文描述的固态硬盘的数据读取装置与上文描述的固态硬盘的数据读取方法可相互对应参照。
参见图3,图3为本发明实施例提供的固态硬盘的数据读取装置在一种具体实施方式下的结构图,该装置可包括:
条件判断模块301,用于判断固态硬盘是否存在擦写次数超过预设次数阈值的NAND块。
空闲判断模块302,用于若固态硬盘存在擦写次数超过预设次数阈值的NAND块,则判断NAND块在当前时刻是否有用户读操作请求。
后台执行读操作模块303,用于若NAND块在当前时刻无用户读操作请求,则后台从NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据。
偏转电压值确定模块304,用于根据各页面的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行NAND块的用户读操作请求时的数据读取的最优偏转电压值。
可选的,在本实施例的一些实施方式中,请参阅图4,所述装置例如还可以包括偏转电压值更新模块304,用于在最优偏转电压值确定之后,若从NAND块中读取数据的总容量值超过容量阈值,则在所NAND块无用户读操作请求时,从NAND块中再次选择多个满足预设条件的页面;根据在不同电压下读取各页面数据的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以更新最优偏转电压值。
在本实施例的另一些实施方式中,所述后台执行读操作模块303还可包括:
块分割子模块,用于按照数据读取正确率将NAND块分为多个部分,每个部分的各层数的数据读取正确率间的差值不小于预设差值阈值;
预读取子模块,用于分别从各部分中选择第一预设个数的WL在基础电压下进行数据读取,并记录各WL的可纠正错误位数;
二次读取子模块,用于根据各WL的可纠正错误位数从各WL中选择多个候选WL,在各自相应的基础电压上增加多个偏转电压值再对各候选WL进行数据读取,以从各候选WL的数据读取结果中确定最优偏转值。
在其他一些实施方式中,所述后台执行读操作模块303包括页面选择子模块,所述页面选择子模块例如还可以包括:
计算单元,用于计算NAND块中各页面的健康状态与NAND块的健康状态保持一致性的概率值;
选择单元,用于将概率值不小于预设相关性值的页面作为满足预设条件的页面。
作为一种优选的实施方式,所述后台执行读操作模块303例如还可进一步包括优先级设置子模块,所述优先级设置子模块用于为各页面的读操作设置优先级,且各页面的优先级低于用户读操作请求的优先级。
本发明实施例所述固态硬盘的数据读取装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例提升固态硬盘的读操作性能,快速响应用户的读操作请求。
本发明实施例还提供了一种固态硬盘的数据读取设备,具体可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如上任意一实施例所述固态硬盘的数据读取方法的步骤。
本发明实施例所述固态硬盘的数据读取设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例提升固态硬盘的读操作性能,快速响应用户的读操作请求。
本发明实施例还提供了一种计算机可读存储介质,存储有固态硬盘的数据读取程序,所述固态硬盘的数据读取程序被处理器执行时如上任意一实施例所述固态硬盘的数据读取方法的步骤。该存储介质可以为U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例提升固态硬盘的读操作性能,快速响应用户的读操作请求。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种固态硬盘的数据读取方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本公开进行若干改进和修饰,这些改进和修饰也落入本公开权利要求的保护范围内。
Claims (10)
1.一种固态硬盘的数据读取方法,其特征在于,包括:
判断固态硬盘是否存在擦写次数超过预设次数阈值的NAND块;
若固态硬盘存在擦写次数超过预设次数阈值的NAND块,则判断所述NAND块在当前时刻是否有用户读操作请求;
若所述NAND块在当前时刻无用户读操作请求,则从所述NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据;根据各页面的数据读取结果,确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行所述NAND块的用户读操作请求时的数据读取的最优偏转电压值。
2.根据权利要求1所述的固态硬盘的数据读取方法,其特征在于,所述确定错误比特最少的数据读取结果对应的页面读取电压值之后,还包括:
判断在所述最优偏转电压值确定之后,从所述NAND块中读取数据的总容量值是否超过容量阈值;
若是,则在所述NAND块无用户读操作请求时,从所述NAND块中再次选择多个满足预设条件的页面;根据在不同电压下读取各页面数据的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以更新所述最优偏转电压值。
3.根据权利要求1所述的固态硬盘的数据读取方法,其特征在于,所述从所述NAND块中选择多个满足预设条件的页面包括:
计算所述NAND块中各页面的健康状态与所述NAND块的健康状态保持一致性的概率值;
将概率值不小于预设相关性值的页面作为满足所述预设条件的页面。
4.根据权利要求1至3任意一项所述的固态硬盘的数据读取方法,其特征在于,所述从所述NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据包括:
按照数据读取正确率将所述NAND块分为多个部分,每个部分的各层数的数据读取正确率间的差值不小于预设差值阈值;
分别从各部分中选择第一预设个数的WL在基础电压下进行数据读取,并记录各WL的可纠正错误位数;
根据各WL的可纠正错误位数从各WL中选择多个候选WL,在各自相应的基础电压上增加多个偏转电压值再对各候选WL进行数据读取,以从各候选WL的数据读取结果中确定所述最优偏转值。
5.根据权利要求4所述的固态硬盘的数据读取方法,其特征在于,所述从所述NAND块中选择多个满足预设条件的页面之后,还包括:
为各页面的读操作设置优先级,且各页面的优先级低于用户读操作请求的优先级。
6.一种固态硬盘的数据读取装置,其特征在于,包括:
条件判断模块,用于判断固态硬盘是否存在擦写次数超过预设次数阈值的NAND块;
空闲判断模块,用于若固态硬盘存在擦写次数超过预设次数阈值的NAND块,则判断所述NAND块在当前时刻是否有用户读操作请求;
后台执行读操作模块,用于若所述NAND块在当前时刻无用户读操作请求,则后台从所述NAND块中选择多个满足预设条件的页面,并分别在不同偏转电压下读取各页面数据;
偏转电压值确定模块,用于根据各页面的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以作为执行所述NAND块的用户读操作请求时的数据读取的最优偏转电压值。
7.根据权利要求6所述的固态硬盘的数据读取装置,其特征在于,所述偏转电压值更新模块,用于在所述最优偏转电压值确定之后,若从所述NAND块中读取数据的总容量值超过容量阈值,则在所述NAND块无用户读操作请求时,从所述NAND块中再次选择多个满足预设条件的页面;根据在不同电压下读取各页面数据的数据读取结果确定错误比特最少的数据读取结果对应的偏转电压值,以更新所述最优偏转电压值。
8.根据权利要求6或7所述的固态硬盘的数据读取装置,其特征在于,所述后台执行读操作模块包括:
块分割子模块,用于按照数据读取正确率将所述NAND块分为多个部分,每个部分的各层数的数据读取正确率间的差值不小于预设差值阈值;
预读取子模块,用于分别从各部分中选择第一预设个数的WL在基础电压下进行数据读取,并记录各WL的可纠正错误位数;
二次读取子模块,用于根据各WL的可纠正错误位数从各WL中选择多个候选WL,在各自相应的基础电压上增加多个偏转电压值再对各候选WL进行数据读取,以从各候选WL的数据读取结果中确定所述最优偏转值。
9.一种固态硬盘的数据读取设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5任一项所述固态硬盘的数据读取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有固态硬盘的数据读取程序,所述固态硬盘的数据读取程序被处理器执行时实现如权利要求1至5任一项所述固态硬盘的数据读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910838342.3A CN110673788A (zh) | 2019-09-05 | 2019-09-05 | 固态硬盘的数据读取方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910838342.3A CN110673788A (zh) | 2019-09-05 | 2019-09-05 | 固态硬盘的数据读取方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110673788A true CN110673788A (zh) | 2020-01-10 |
Family
ID=69076471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910838342.3A Pending CN110673788A (zh) | 2019-09-05 | 2019-09-05 | 固态硬盘的数据读取方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673788A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115132259A (zh) * | 2022-06-30 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种读取系数计算方法、装置、设备及介质 |
CN116400868A (zh) * | 2023-05-29 | 2023-07-07 | 珠海妙存科技有限公司 | 存储芯片加速启动方法、主控器件及固态硬盘 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247636A (zh) * | 2017-06-06 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种固态硬盘中数据重建优化的方法及装置 |
CN109144771A (zh) * | 2018-09-10 | 2019-01-04 | 浪潮电子信息产业股份有限公司 | 一种纠错方法、系统、装置及计算机可读存储介质 |
-
2019
- 2019-09-05 CN CN201910838342.3A patent/CN110673788A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247636A (zh) * | 2017-06-06 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种固态硬盘中数据重建优化的方法及装置 |
CN109144771A (zh) * | 2018-09-10 | 2019-01-04 | 浪潮电子信息产业股份有限公司 | 一种纠错方法、系统、装置及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115132259A (zh) * | 2022-06-30 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种读取系数计算方法、装置、设备及介质 |
CN115132259B (zh) * | 2022-06-30 | 2024-06-04 | 苏州浪潮智能科技有限公司 | 一种读取系数计算方法、装置、设备及介质 |
CN116400868A (zh) * | 2023-05-29 | 2023-07-07 | 珠海妙存科技有限公司 | 存储芯片加速启动方法、主控器件及固态硬盘 |
CN116400868B (zh) * | 2023-05-29 | 2023-08-29 | 珠海妙存科技有限公司 | 存储芯片加速启动方法、主控器件及固态硬盘 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753443B (zh) | 一种数据处理方法、装置及电子设备 | |
CN109614052B (zh) | 一种数据巡检方法、装置和计算机可读存储介质 | |
CN111309544B (zh) | 一种读参考电压受多维因子影响的预测建模及施加方法 | |
US20230297243A1 (en) | Method and apparatus for predicting service life of solid-state disk, and computer-readable storage medium | |
CN110111835B (zh) | 一种NVMe固态硬盘IOPS测试方法、系统及装置 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN107179880B (zh) | 储存装置、其控制单元、及可用于储存装置的数据搬移方法 | |
CN114047887B (zh) | 一种提高数据读取的成功率的方法、装置及介质 | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
US20190279724A1 (en) | Memory system, read method, program, and memory controller | |
CN110673788A (zh) | 固态硬盘的数据读取方法、装置、设备及可读存储介质 | |
CN112068772B (zh) | 数据存储方法、数据存储装置及存储装置 | |
CN112466378A (zh) | 一种固态硬盘运行纠错方法、装置及相关组件 | |
CN111581010B (zh) | 一种读操作处理方法、装置、设备及可读存储介质 | |
CN110689914B (zh) | 一种固态硬盘的读纠错方法、装置、设备及存储介质 | |
CN110837477B (zh) | 一种基于寿命预测的存储系统损耗均衡方法及装置 | |
CN112256462B (zh) | NAND Flash存储器的寿命预估方法、装置及介质 | |
US11947819B2 (en) | Method and system for testing conversion relationship between block reading and page reading in flash memory chip | |
CN112732181B (zh) | 一种ssd的数据迁移方法及相关装置 | |
CN114327258A (zh) | 一种固态硬盘处理方法、系统、设备及计算机存储介质 | |
CN112908391B (zh) | 一种基于数学模型的闪存分类方法及装置 | |
CN108958655B (zh) | 一种固态硬盘的数据擦写方法、装置、设备及存储介质 | |
CN114385092B (zh) | 固态硬盘闪存阵列的擦除方法、固态硬盘主控芯片 | |
CN114530178B (zh) | Nand芯片中写入块的读取方法、存储介质及设备 | |
CN115933996A (zh) | Ssd读干扰优化处理方法、装置、存储介质及ssd设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200110 |