CN113946469A - 一种固态硬盘的数据纠错处理方法及装置 - Google Patents
一种固态硬盘的数据纠错处理方法及装置 Download PDFInfo
- Publication number
- CN113946469A CN113946469A CN202111271887.4A CN202111271887A CN113946469A CN 113946469 A CN113946469 A CN 113946469A CN 202111271887 A CN202111271887 A CN 202111271887A CN 113946469 A CN113946469 A CN 113946469A
- Authority
- CN
- China
- Prior art keywords
- error correction
- reading
- data
- target data
- solid state
- 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.)
- Granted
Links
- 238000012937 correction Methods 0.000 title claims abstract description 253
- 239000007787 solid Substances 0.000 title claims abstract description 55
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000007246 mechanism Effects 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000013519 translation Methods 0.000 claims abstract description 18
- 230000001960 triggered effect Effects 0.000 claims abstract description 9
- 238000004891 communication Methods 0.000 claims abstract description 8
- 230000015654 memory Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 abstract description 38
- 230000003993 interaction Effects 0.000 abstract description 5
- 239000000758 substrate Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000005684 electric field Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态硬盘的数据纠错处理方法及装置,其中方法用于后端模块,后端模块中设置有自启动纠错机制,方法包括:读取固态硬盘中存储的数据;在读取出错的情况下,自启动纠错机制被触发;在自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对目标数据最终的重读结果;将最终的重读结果发送给闪存转换层模块。本发明通过在后端模块上配置自启动纠错机制,以在数据读取出错时,由后端模块直接启动纠错流程,对目标数据进行重读纠错,FTL模块不再启动纠错流程,从而减少了后端模块在数据读取出错时与FTL模块的交互流程,降低了FTL模块的通讯开销,提高了FTL模块开销资源的利用率。
Description
技术领域
本发明涉及数据读取技术领域,具体涉及一种固态硬盘的数据纠错处理方法及装置。
背景技术
在大数据时代,海量数据的存储位于越来重要的地位,在CPU等计算部件速率越来越高的同时,数据的存储与读取速率一直为系统瓶颈。目前随着NAND价格逐渐下降,固态硬盘的使用数量也逐年上升。
不同于传统硬盘,固态硬盘的存储单元为NAND。由于NAND的特性,固态硬盘的数据会随着NAND磨损次数、温度、保存时间等因素的影响变的不稳定,不稳定的数据会导致数据读出错。在固态硬盘通常包括后端模块和闪存转换层(FTL)模块,用于进行数据读写等操作以及相应操作的控制。其中,后端模块负责指示闪存芯片的读取、写入以及擦除等操作,闪存转换层(FTL)模块则用于对数据的读、写、抹除操作的管理。现有技术中,在读数据出错时,后端模块向FTL模块发送错误状态,由FTL决定采用何种处理方式。具体地,FTL模块做决策是否重读,然后向后端模块发送重读指令等,然后再由后端模块执行重读纠错等策略。
然而,发明人发现,在数据读取出错的情况下,后端模块与FTL模块的交互过程明显增加了FTL模块的性能开销,降低了FTL模块的有效利用率。
发明内容
因此,本发明要解决的是现有技术中由于数据读错导致后端模块与FTL模块之间的通讯开销增加,降低了FTL模块性能开销利用率的技术问题,从而提供一种固态硬盘的数据纠错处理方法及装置。
根据本发明实施例的一方面,提供了一种固态硬盘的数据纠错处理方法,用于后端模块,所述后端模块中设置有自启动纠错机制,所述方法包括:读取固态硬盘中存储的数据;在读取出错的情况下,所述自启动纠错机制被触发;在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果;将所述最终的重读结果发送给闪存转换层模块。
可选地,所述利用预先设置的纠错策略对目标数据进行重读纠错处理,包括:获取重读纠错序列,其中,所述重读纠错序列包含有多个纠错策略;按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理。
可选地,所述重读结果包括读取成功和读取失败,其中,当对所述目标数据进行重读纠错处理得到读取成功的结果时,向所述闪存转换层模块发送读取成功的消息;当对所述目标数据进行重读纠错处理得到读取失败的结果时,向所述闪存转换层模块发送读取失败的消息。
可选地,若所述重读纠错序列中所有的纠错策略均未对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取失败;若所述重读纠错序列中至少有一个纠错策略对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取成功。
可选地,每个所述纠错策略对应一个用于进行数据读取的参考电压值,其中,所述按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理,包括:读取第一参考电压值,根据所述第一参考电压值重读所述目标数据;若读取成功,确定所述目标数据重读结果为读取成功;若读取失败,则读取第二参考电压值,根据所述第二参考电压值重读所述目标数据,依此类推,直到所有参考电压值重读失败,则确定所述目标数据重读结果为读取失败。
可选地,所述重读结果中携带有用于表示所述目标数据重读纠错结束的信息。
本发明实施例的另一方面,还提供了一种固态硬盘的数据纠错处理装置,设置在后端模块,所述后端模块中设置有自启动纠错机制,所述装置包括:读取单元,用于读取固态硬盘中存储的数据;启动单元,用于在读取出错的情况下,所述自启动纠错机制被触发;纠错单元,用于在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果;发送单元,用于将所述最终的重读结果发送给闪存转换层模块。
可选地,所述纠错单元包括:获取子单元,用于获取重读纠错序列,其中,所述重读纠错序列包含有多个纠错策略;纠错子单元,用于按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理。
本发明实施例的另一方面,还提供了一种计算机设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述的固态硬盘的数据纠错处理方法。
本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述的固态硬盘的数据纠错处理方法。
采用上述技术方案,本发明可以达到如下技术效果:
通过在后端模块上配置自启动纠错机制,以在数据读取出错时,由后端模块直接启动纠错流程,对目标数据进行重读纠错,然后将重读结果发送给FTL模块,FTL模块在接收到该重读结果之后,不再启动纠错流程,从而减少了后端模块在数据读取出错时与FTL模块的交互流程,降低了FTL模块的通讯开销,提高了FTL模块开销资源的利用率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中固态硬盘的数据纠错处理方法的一个具体示例的流程图;
图2为本发明实施例2中固态硬盘的数据纠错处理装置的一个具体示例的原理框图;
图3为本发明实施例3中计算机设备的原理结构框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
在介绍本发明实施例之前,先介绍本发明实施例相关的技术术语:
data frame:data frame是NAND进行读取的最小单位,一般为4KB大小。
SLC:Single-Level Cell,单层单元闪存,其每一个单元(cell)储存一位数据
TLC:Triple Level Cell三层单元闪存,其每一个单元(cell)储存三位数据。
Block:NAND管理的一个单位,也是擦除操作的最小单位。
WL:WordLine NAND中一个TLC页为一个WL。
Page:TLC NAND中每一个WL分为三个page,分别为lower page/middle page/upper page。
实施例1
本发明实施例提供了一种固态硬盘的数据纠错处理方法,可以应用于固态硬盘的数据恢复过程。本方法主要用于改进固态硬盘在数据读取出错时的重读纠错处理流程,实现快速高效,的纠错过程,同时减少性能开销和通讯开销。本发明实施例提供的数据纠错处理方法用于后端模块,具体有后端模块来执行,其中,所述后端模块中设置有自启动纠错机制,该机制可以在数据读取出错时,控制后端模块自动进行重读纠错,在纠错之前无需向FTL模块反馈读取状态,在纠错之后,则会直接将纠错重读结果反馈给FTL模块。具体地,如图1所示,该方法包括:
步骤S101,读取固态硬盘中存储的数据。
固态硬盘(Solid State Disk或Solid State Drive,简称SSD),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。后端模块在受控的情况下,对固态硬盘中存储的数据进行读取。所读取的数据内容根据控制命令来决定,本发明实施例不做具体限定。可以是读取固态硬盘中某一个目标区域内存储的数据。所读取的数据可以是SLC Block的数据,也可以是TLC Block的数据。
步骤S102,在读取出错的情况下,所述自启动纠错机制被触发。
在后端模块读取数据的过程中,若出现读取出错的情况时,则在后端模块中出现报错信息,自启动纠错机制接收到该报错信息时,被触发启动。本实施例中,自启动纠错机制可以是预先编辑在后端模块中的功能模块,其可以在后端模块读取数据的过程中处于休眠状态。当数据读取出错时,后端模块生成报错信息,然后根据该报错信息将自启动纠错机制触发启动。自启动纠错机制被触发后,向后端模块反馈重读纠错的命令,然后由后端模块执行相应的重读纠错流程。
本发明实施例中,后端模块在数据读取出错之后,不再向FTL模块发送错误状态,而是通过设置在后端模块上的自启动纠错机制直接生成重读纠错的命令,后端模块执行后续重读纠错流程,相当于后端模块在数据读取出错之后,直接进入重读纠错流程。
步骤S103,在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果。
本发明实施例中,纠错策略可以是预先设置在后端模块中的纠错逻辑,当需要启动重读纠错流程时,后端模块直接利用预先设置的纠错策略实现重读纠错处理。上述纠错策略可以是针对不同的数据格式或者存储方式指定的纠错策略,可以将现有的纠错策略或者改进的纠错策略设置在后端模块中,本发明实施例不限定于具体的纠错策略。目标数据可以是指读取出错的数据,不特指某一类或者某些数据。
后端模块在自启动纠错机制的驱动下,直接执行重读纠错流程,利用纠错机制对目标数据进行重读纠错处理,得到相应的纠错结果,也即是重读结果。本发明实施例中,纠错策略可以设置为一个或多个,当采用多个纠错策略时,只要有一个纠错策略重读成功,则最终的重读结果为成功;反之,若所有都重读失败,则最终的重读结果为失败。
步骤S104,将所述最终的重读结果发送给闪存转换层模块。
本发明实施例中,无论重读成功还是重读失败,后端模块均会将最终的重读结果发送给FTL模块,FTL模块在接收到该重读结果之后,则会将其作为最终结果,不会启动纠错流程。
可选地,本发明实施例中,后端模块发送给FTL模块的重读结果中,携带有用于表示所述目标数据重读纠错结束的信息。具体地,后端模块执行完重读纠错流程之后,得到重读结果,然后将表示所述目标数据重读纠错结束的信息添加到该重读结果中,当FTL模块接收到重读结果之后,从中读取到该信息,则确定目标数据的读取和纠错过程已经结束,无论重读成功还是失败,则不再执行纠错流程。
根据本发明实施例,通过在后端模块上配置自启动纠错机制,以在数据读取出错时,由后端模块直接启动纠错流程,对目标数据进行重读纠错,然后将重读结果发送给FTL模块,FTL模块在接收到该重读结果之后,不再启动纠错流程,从而减少了后端模块在数据读取出错时与FTL模块的交互流程,降低了FTL模块的通讯开销,提高了FTL模块开销资源的利用率。
作为一种可选实施方式,本发明实施例中,所述利用预先设置的纠错策略对目标数据进行重读纠错处理,包括:获取重读纠错序列,其中,所述重读纠错序列包含有多个纠错策略;按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理。
本发明实施例中,数据的重读纠错策略可以设置为多个,例如SLC Block的数据纠错流程为使用一系列的shift refs,对出错的page进行重读,其shift refs个数较少,其使用顺序并无优先级,故采用全部序列retry的方式。因此,本发明实施例所提供的方法对于SLC Block的数据的效果更加。
本实施例中,不同的纠错策略的优先级可以相同也可以不同。在进行纠错重读的过程中,可以依次尝试每个纠错策略,从而提高纠错的准确性和概率。
当这是多个纠错策略时,若所述重读纠错序列中所有的纠错策略均未对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取失败;若所述重读纠错序列中至少有一个纠错策略对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取成功。
作为一种可选实施方式,本发明实施例中,所述重读结果包括读取成功和读取失败,其中,当对所述目标数据进行重读纠错处理得到读取成功的结果时,向所述闪存转换层模块发送读取成功的消息;当对所述目标数据进行重读纠错处理得到读取失败的结果时,向所述闪存转换层模块发送读取失败的消息。
本实施例中,对于纠错重读的结果,无论是读取失败还是读取成功,均将其发送给FTL模块。其中,当重读成功时,可以不将用于表示所述目标数据重读纠错结束的信息添加到重读结果中;当重读失败时,则将用于表示所述目标数据重读纠错结束的信息添加到重读结果中。当重读成功时,FTL模块是不会启动后续纠错流程的,只有在重读失败时,FTL模块接收到是读取失败的结果,则可能启动后续纠错流程,因此,仅在重读失败的结果中添加上述信息,可以进一步减少信息处理量。
由于Nand型闪存芯片的存储基本单元为浮栅晶体管,由上层的控制层、中层的浮栅层上是多晶硅氧化层,服栅层下是隧道氧化层以及下层的衬底(substrate)组成。控制电压很高的时候,会产生量子隧穿效应,电子从衬底出发,穿过隧道氧化层,进入浮栅保存起来,就完成了写操作,充电了。反之,在控制层加很强的负电压,电子就从浮栅量子隧穿,回到衬底,这个操作叫做擦除。当控制层不加电压的时候,在氧化层依然有一个电场产生,叫做本征电场,它是由浮栅里面的电子产生的。在这个电场的作用下,电子会从浮栅慢慢泄露,随着擦除周期(program/erase cycle,P/E cycle)次数的增加,正确编程(Program)需要比阈值电压更高的电压,同时,编程时的电压精度变的更差了,既然阈值电压已经发生了偏移,读取时仍然用正常的读取电压去读取,数据就会发生错误。
因此,在进行数据重读纠错时,可以通过设置参考电压值可以进行纠错。
具体地,本发明实施例中,每个所述纠错策略对应一个用于进行数据读取的参考电压值,其中,所述按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理,包括:读取第一参考电压值,根据所述第一参考电压值重读所述目标数据;若读取成功,确定所述目标数据重读结果为读取成功;若读取失败,则读取第二参考电压值,根据所述第二参考电压值重读所述目标数据,依此类推,直到所有参考电压值重读失败,则确定所述目标数据重读结果为读取失败。
本发明实施例中,利用设置的参考电压值可以实现重读纠错,具体纠错过程不做具体限定。
实施例2
本实施例提供一种固态硬盘的数据纠错处理装置,该装置可以用于执行上述实施例的方法,该装置可以设置在后端模块,所述后端模块中设置有自启动纠错机制。如图2所示,本发明实施例所述装置包括:
读取单元201,用于读取固态硬盘中存储的数据。
固态硬盘(Solid State Disk或Solid State Drive,简称SSD),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。后端模块在受控的情况下,对固态硬盘中存储的数据进行读取。所读取的数据内容根据控制命令来决定,本发明实施例不做具体限定。可以是读取固态硬盘中某一个目标区域内存储的数据。所读取的数据可以是SLC Block的数据,也可以是TLC Block的数据。
启动单元202,用于在读取出错的情况下,所述自启动纠错机制被触发。
在后端模块读取数据的过程中,若出现读取出错的情况时,则在后端模块中出现报错信息,自启动纠错机制接收到该报错信息时,被触发启动。本实施例中,自启动纠错机制可以是预先编辑在后端模块中的功能模块,其可以在后端模块读取数据的过程中处于休眠状态。当数据读取出错时,后端模块生成报错信息,然后根据该报错信息将自启动纠错机制触发启动。自启动纠错机制被触发后,向后端模块反馈重读纠错的命令,然后由后端模块执行相应的重读纠错流程。
本发明实施例中,后端模块在数据读取出错之后,不再向FTL模块发送错误状态,而是通过设置在后端模块上的自启动纠错机制直接生成重读纠错的命令,后端模块执行后续重读纠错流程,相当于后端模块在数据读取出错之后,直接进入重读纠错流程。
纠错单元203,用于在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果。
本发明实施例中,纠错策略可以是预先设置在后端模块中的纠错逻辑,当需要启动重读纠错流程时,后端模块直接利用预先设置的纠错策略实现重读纠错处理。上述纠错策略可以是针对不同的数据格式或者存储方式指定的纠错策略,可以将现有的纠错策略或者改进的纠错策略设置在后端模块中,本发明实施例不限定于具体的纠错策略。目标数据可以是指读取出错的数据,不特指某一类或者某些数据。
后端模块在自启动纠错机制的驱动下,直接执行重读纠错流程,利用纠错机制对目标数据进行重读纠错处理,得到相应的纠错结果,也即是重读结果。本发明实施例中,纠错策略可以设置为一个或多个,当采用多个纠错策略时,只要有一个纠错策略重读成功,则最终的重读结果为成功;反之,若所有都重读失败,则最终的重读结果为失败。
发送单元204,用于将所述最终的重读结果发送给闪存转换层模块。
根据本发明实施例,通过在后端模块上配置自启动纠错机制,以在数据读取出错时,由后端模块直接启动纠错流程,对目标数据进行重读纠错,然后将重读结果发送给FTL模块,FTL模块在接收到该重读结果之后,不再启动纠错流程,从而减少了后端模块在数据读取出错时与FTL模块的交互流程,降低了FTL模块的通讯开销,提高了FTL模块开销资源的利用率。
作为一种可选实施方式,上述所述纠错单元包括:获取子单元,用于获取重读纠错序列,其中,所述重读纠错序列包含有多个纠错策略;纠错子单元,用于按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理。
本实施例中,不同的纠错策略的优先级可以相同也可以不同。在进行纠错重读的过程中,可以依次尝试每个纠错策略,从而提高纠错的准确性和概率。
可选地,所述重读结果包括读取成功和读取失败,其中,所述发送单元204具体用于:当对所述目标数据进行重读纠错处理得到读取成功的结果时,向所述闪存转换层模块发送读取成功的消息;当对所述目标数据进行重读纠错处理得到读取失败的结果时,向所述闪存转换层模块发送读取失败的消息。
可选地,所述装置还包括:确定单元,用于若所述重读纠错序列中所有的纠错策略均未对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取失败;若所述重读纠错序列中至少有一个纠错策略对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取成功。
可选地,每个所述纠错策略对应一个用于进行数据读取的参考电压值,其中,所述纠错子单元具体用于读取第一参考电压值,根据所述第一参考电压值重读所述目标数据;若读取成功,确定所述目标数据重读结果为读取成功;若读取失败,则读取第二参考电压值,根据所述第二参考电压值重读所述目标数据,依此类推,直到所有参考电压值重读失败,则确定所述目标数据重读结果为读取失败。
可选地,所述重读结果中携带有用于表示所述目标数据重读纠错结束的信息。
本发明上述装置实施例的具体描述可以参见上述方法实施例,这里不再赘述。
实施例3
本实施例提供了一种计算机设备,如图3所示,该计算机设备包括处理器301和存储器302,其中处理器301和存储器302可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器301可以为中央处理器(Central Processing Unit,CPU)。处理器301还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、图形处理器(Graphics Processing Unit,GPU)、嵌入式神经网络处理器(Neural-network ProcessingUnit,NPU)或者其他专用的深度学习协处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器302作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的固态硬盘的数据纠错处理方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例1中的固态硬盘的数据纠错处理方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器301所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至处理器301。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器302中,当被所述处理器301执行时,执行如图1所示实施例中的固态硬盘的数据纠错处理方法。
在本实施例中,存储器302存储有固态硬盘的数据纠错处理方法的程序指令或模块,处理器301执行存储在存储器302内的程序指令或模块时,读取固态硬盘中存储的数据;在读取出错的情况下,所述自启动纠错机制被触发;在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果;将所述最终的重读结果发送给闪存转换层模块。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的固态硬盘的数据纠错处理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种固态硬盘的数据纠错处理方法,其特征在于,用于后端模块,所述后端模块中设置有自启动纠错机制,所述方法包括:
读取固态硬盘中存储的数据;
在读取出错的情况下,所述自启动纠错机制被触发;
在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果;
将所述最终的重读结果发送给闪存转换层模块。
2.根据权利要求1所述的固态硬盘的数据纠错处理方法,其特征在于,所述利用预先设置的纠错策略对目标数据进行重读纠错处理,包括:
获取重读纠错序列,其中,所述重读纠错序列包含有多个纠错策略;
按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理。
3.根据权利要求1或2任一项所述的固态硬盘的数据纠错处理方法,其特征在于,所述重读结果包括读取成功和读取失败,其中,
当对所述目标数据进行重读纠错处理得到读取成功的结果时,向所述闪存转换层模块发送读取成功的消息;
当对所述目标数据进行重读纠错处理得到读取失败的结果时,向所述闪存转换层模块发送读取失败的消息。
4.根据权利要求2所述的固态硬盘的数据纠错处理方法,其特征在于,
若所述重读纠错序列中所有的纠错策略均未对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取失败;
若所述重读纠错序列中至少有一个纠错策略对所述目标数据读取成功,则确定对所述目标数据最终的重读结果为读取成功。
5.根据权利要求2所述的固态硬盘的数据纠错处理方法,其特征在于,每个所述纠错策略对应一个用于进行数据读取的参考电压值,其中,所述按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理,包括:
读取第一参考电压值,根据所述第一参考电压值重读所述目标数据;
若读取成功,确定所述目标数据重读结果为读取成功;若读取失败,则读取第二参考电压值,根据所述第二参考电压值重读所述目标数据,依此类推,直到所有参考电压值重读失败,则确定所述目标数据重读结果为读取失败。
6.根据权利要求1所述的固态硬盘的数据纠错处理方法,其特征在于,所述重读结果中携带有用于表示所述目标数据重读纠错结束的信息。
7.一种固态硬盘的数据纠错处理装置,其特征在于,设置在后端模块,所述后端模块中设置有自启动纠错机制,所述装置包括:
读取单元,用于读取固态硬盘中存储的数据;
启动单元,用于在读取出错的情况下,所述自启动纠错机制被触发;
纠错单元,用于在所述自启动纠错机制的驱动下,利用预先设置的纠错策略对目标数据进行重读纠错处理,得到对所述目标数据最终的重读结果;
发送单元,用于将所述最终的重读结果发送给闪存转换层模块。
8.根据权利要求7所述的固态硬盘的数据纠错处理装置,其特征在于,所述纠错单元包括:
获取子单元,用于获取重读纠错序列,其中,所述重读纠错序列包含有多个纠错策略;
纠错子单元,用于按照所述重读纠错序列中的纠错策略依次对所述目标数据进行重读纠错处理。
9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6中任一项所述的固态硬盘的数据纠错处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-6中任一项所述的固态硬盘的数据纠错处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271887.4A CN113946469B (zh) | 2021-10-29 | 2021-10-29 | 一种固态硬盘的数据纠错处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271887.4A CN113946469B (zh) | 2021-10-29 | 2021-10-29 | 一种固态硬盘的数据纠错处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113946469A true CN113946469A (zh) | 2022-01-18 |
CN113946469B CN113946469B (zh) | 2024-05-24 |
Family
ID=79337135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111271887.4A Active CN113946469B (zh) | 2021-10-29 | 2021-10-29 | 一种固态硬盘的数据纠错处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946469B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346694A (zh) * | 2007-03-29 | 2012-02-08 | 提琴存储器公司 | 一种在存储系统中计算奇偶校验的方法 |
CN107391300A (zh) * | 2017-07-26 | 2017-11-24 | 湖南国科微电子股份有限公司 | 一种提高闪存数据存储可靠性的方法及系统 |
US20180024881A1 (en) * | 2014-07-22 | 2018-01-25 | Ngd Systems, Inc. | System and method for adaptive multiple read of nand flash |
CN108038016A (zh) * | 2017-12-22 | 2018-05-15 | 湖南国科微电子股份有限公司 | 固态硬盘错误数据处理方法及装置 |
CN108121509A (zh) * | 2017-12-19 | 2018-06-05 | 深圳忆联信息系统有限公司 | 一种提高ssd读操作时raid效率的方法及ssd |
CN108205423A (zh) * | 2016-12-20 | 2018-06-26 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
CN108829358A (zh) * | 2018-06-29 | 2018-11-16 | 郑州云海信息技术有限公司 | 固态硬盘的坏块管理方法以及固态硬盘 |
CN110008056A (zh) * | 2019-03-28 | 2019-07-12 | 联想(北京)有限公司 | 内存管理方法、装置、电子设备及计算机可读存储介质 |
CN111104246A (zh) * | 2019-11-25 | 2020-05-05 | 深圳忆联信息系统有限公司 | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 |
CN111880736A (zh) * | 2020-07-28 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种固态硬盘访问方法、装置、设备及介质 |
-
2021
- 2021-10-29 CN CN202111271887.4A patent/CN113946469B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346694A (zh) * | 2007-03-29 | 2012-02-08 | 提琴存储器公司 | 一种在存储系统中计算奇偶校验的方法 |
US20180024881A1 (en) * | 2014-07-22 | 2018-01-25 | Ngd Systems, Inc. | System and method for adaptive multiple read of nand flash |
CN108205423A (zh) * | 2016-12-20 | 2018-06-26 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
CN107391300A (zh) * | 2017-07-26 | 2017-11-24 | 湖南国科微电子股份有限公司 | 一种提高闪存数据存储可靠性的方法及系统 |
CN108121509A (zh) * | 2017-12-19 | 2018-06-05 | 深圳忆联信息系统有限公司 | 一种提高ssd读操作时raid效率的方法及ssd |
CN108038016A (zh) * | 2017-12-22 | 2018-05-15 | 湖南国科微电子股份有限公司 | 固态硬盘错误数据处理方法及装置 |
CN108829358A (zh) * | 2018-06-29 | 2018-11-16 | 郑州云海信息技术有限公司 | 固态硬盘的坏块管理方法以及固态硬盘 |
CN110008056A (zh) * | 2019-03-28 | 2019-07-12 | 联想(北京)有限公司 | 内存管理方法、装置、电子设备及计算机可读存储介质 |
CN111104246A (zh) * | 2019-11-25 | 2020-05-05 | 深圳忆联信息系统有限公司 | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 |
CN111880736A (zh) * | 2020-07-28 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种固态硬盘访问方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
陈宏铭等: "针对固态硬盘应用的 多通道闪存控制器实现", 中国集成电路, 5 February 2012 (2012-02-05), pages 36 - 41 * |
Also Published As
Publication number | Publication date |
---|---|
CN113946469B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386952B2 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell | |
US11605414B2 (en) | Performing an on demand refresh operation of a memory sub-system | |
KR100976989B1 (ko) | 플래시 메모리에서의 오류 복구 방법 | |
US20130185612A1 (en) | Flash memory system and read method of flash memory system | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
KR20130084901A (ko) | 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법 | |
JP2020155180A (ja) | メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム | |
US10915395B2 (en) | Read retry with targeted auto read calibrate | |
US8848448B2 (en) | Semiconductor memory device and operating method thereof | |
JPH06110793A (ja) | 不揮発性半導体記憶装置 | |
US12072762B2 (en) | Error-handling management during copyback operations in memory devices | |
US11068201B2 (en) | Flash memory controller, method for managing flash memory module and associated electronic device | |
US20240013843A1 (en) | Method for finding common optimal read voltage of multi-dies, storage system | |
CN113946469B (zh) | 一种固态硬盘的数据纠错处理方法及装置 | |
US9208863B1 (en) | Memory system and method of controlling memory system | |
US20170235635A1 (en) | Solid state storage device and data processing method thereof | |
US20240201903A1 (en) | Semiconductor integrated circuit, semiconductor storage device, and memory system | |
US20240096411A1 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell | |
US20240354189A1 (en) | Error code correction coherency checks for ternary cell-based memory devices | |
JP2011243116A (ja) | メモリシステム及びそのデータ転送方法 | |
CN116312723A (zh) | 一种采用纠错码的闪存编程方法 | |
JP2024135874A (ja) | メモリシステムおよび方法 | |
CN116610254A (zh) | 一种减少闪存读耗时的方法及其系统 | |
CN118057287A (zh) | 一种存储器控制器及其操作方法、存储系统 |
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 |