CN111078151A - 固态硬盘数据重读方法、装置和固态硬盘 - Google Patents
固态硬盘数据重读方法、装置和固态硬盘 Download PDFInfo
- Publication number
- CN111078151A CN111078151A CN201911317976.0A CN201911317976A CN111078151A CN 111078151 A CN111078151 A CN 111078151A CN 201911317976 A CN201911317976 A CN 201911317976A CN 111078151 A CN111078151 A CN 111078151A
- Authority
- CN
- China
- Prior art keywords
- parameter
- classification
- data
- parameters
- 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.)
- Pending
Links
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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明实施例提供的固态硬盘数据重读方法、装置和固态硬盘,涉及固态硬盘领域,所述方法包括:获取并记录每次固态硬盘发生读数据失败时的场景;将每次读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到参数分类达到启用条件;启用条件表征参数分类中的参数数量达到预定阈值;当再次发生所述读数据失败时,优先从参数分类中获取对应的目标参数。通过对固态硬盘发生读数据失败时的场景进行分类,进而将备用参数组中的参数组根据场景的不同来进行分类,因此再次发生所述读数据失败时,可以优先从参数分类中获取对应的目标参数,避免了遍历备用参数组中的全部参数组的情况,提高了Read retry效率。
Description
技术领域
本发明涉及固态硬盘领域,具体而言,涉及一种固态硬盘数据重读方法、装置和固态硬盘。
背景技术
重读(Read retry)是NAND FLASH厂家提供给控制器厂商,用于纠正错误的机制。随着技术发展,NAND FLASH容量越来越大,单元存储信息越来越多,单元之间越来越近,干扰变大了,容易出错,导致对纠错算法能力要求越来越高。即使如此,根据应用场景的不同,可能会致使错误骤然增多,或者累计增多。
一般的控制器厂商通用做法,便是严格按NAND FALSH厂家提供的手册,把所有组参数遍历一遍。当发生读数据失败时,启动read retry,从组合里面取第一组参数,设置参数,每读一次参数,判断数据是否成功纠回,若是仍旧失败,则取第二组参数,继续读取,直到数据正确,最极端的情况会把组合里面的参数都遍历一遍,效率极低。
发明内容
有鉴于此,本发明的目的在于提供一种固态硬盘数据重读方法、装置和固态硬盘。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种固态硬盘数据重读方法,应用于一固态硬盘,所述方法包括:
获取并记录每次固态硬盘发生读数据失败时的场景;所述场景表征所述固态硬盘所处的物理环境或读写数据时固态硬盘的物理状态;
将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类达到启用条件;所述启用条件表征所述参数分类中的参数数量达到预定阈值;所述备用参数组包括所有所述目标参数;
当再次发生所述读数据失败时,优先从所述参数分类中获取对应的所述目标参数;所述参数分类为所述读数据失败时的场景所对应的参数分类。
在可选的实施方式中,将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类中达到启用条件的步骤,包括:
判断所述读数据失败时的当前场景所对应的所述参数分类是否已启用;
若是,则从所述当前场景所对应的所述参数分类中获取对应的所述目标参数;
若否,则从所述备用参数组中获取对应的所述目标参数。
在可选的实施方式中,从所述当前场景所对应的所述参数分类中获取对应的所述目标参数的步骤,包括:
选取当前场景所对应的所述参数分类;
判断所述参数分类中的参数是否能够在读数据失败时纠回数据;
若是,则结束本次重读;若否,则从所述备用参数组中获取对应的所述目标参数。
在可选的实施方式中,所述备用参数组包括n个参数组,所述参数组包括至少两个参数;从所述备用参数组中获取对应的所述目标参数的步骤,包括:
从所述备用参数组中选取一组所述参数组;
判断所述参数组中的参数是否能够在读数据失败时纠回数据;
若否,则重新执行从所述备用参数组中选取一组所述参数组的步骤;
若是,则记录当前场景和纠回数据的所述目标参数,并判断所述当前场景对应的参数分类中是否已经存在所述目标参数;若否,则将所述目标参数添加至所述参数分类中;若是,则判断所述参数分类是否已达到启用条件。
在可选的实施方式中,判断所述参数分类是否已达到启用条件的步骤之后,包括:
若是,则对所述参数分类置启用标志;所述启用标志表征所述参数分类已达到启用条件;
若否,则结束本次重读。
在可选的实施方式中,将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类达到启用条件的步骤之后,包括:
判断是否所有的所述参数分类均达到所述启用条件;
若是,则结束将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中的步骤。
第二方面,本发明实施例提供一种固态硬盘数据重读装置,应用于一固态硬盘,所述装置包括:
获取模块,用于获取并记录每次固态硬盘发生读数据失败时的场景;所述场景表征所述固态硬盘所处的物理环境或读写数据时固态硬盘的物理状态;
处理模块,用于将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类达到启用条件;所述启用条件表征所述参数分类中的参数数量达到预定阈值;所述备用参数组包括所有所述目标参数;
以及还用于当再次发生所述读数据失败时,优先从所述参数分类中获取对应的所述目标参数;所述参数分类为所述读数据失败时的场景所对应的参数分类。
在可选的实施方式中,还包括:判断模块;
所述判断模块,用于判断所述读数据失败时的当前场景所对应的所述参数分类是否已启用;若是,则从所述当前场景所对应的所述参数分类中获取对应的所述目标参数;若否,则从所述备用参数组中获取对应的所述目标参数。
在可选的实施方式中,所述处理模块,还用于选取当前场景所对应的所述参数分类;
所述判断模块,还用于判断所述参数分类中的参数是否能够在读数据失败时纠回数据;若是,则结束本次重读;若否,则从所述备用参数组中获取对应的所述目标参数。
在可选的实施方式中,所述处理模块,还用于从所述备用参数组中选取一组所述参数组;
所述判断模块,还用于判断所述参数组中的参数是否能够在读数据失败时纠回数据;
若否,则重新执行从所述备用参数组中选取一组所述参数组的步骤;
若是,则记录当前场景和纠回数据的所述目标参数,并判断所述当前场景对应的参数分类中是否已经存在所述目标参数;若否,则将所述目标参数添加至所述参数分类中;若是,则判断所述参数分类是否已达到启用条件。
在可选的实施方式中,所述处理模块,还用于当所述参数分类已达到启用条件时对所述参数分类置启用标志;所述启用标志表征所述参数分类已达到启用条件;
以及还用于当所述参数分类未达到启用条件时,结束本次重读。
在可选的实施方式中,所述判断模块,还用于判断是否所有的所述参数分类均达到所述启用条件;
若是,则结束将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中的步骤。
第三方面,本发明实施例提供一种固态硬盘,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式任一所述的固态硬盘数据重读方法。
本发明实施例提供的固态硬盘数据重读方法、装置和固态硬盘,所述方法包括:获取并记录每次固态硬盘发生读数据失败时的场景;将每次读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到参数分类达到启用条件;启用条件表征参数分类中的参数数量达到预定阈值;当再次发生所述读数据失败时,优先从参数分类中获取对应的目标参数。通过对固态硬盘发生读数据失败时的场景进行分类,进而将备用参数组中的参数组根据场景的不同来进行分类,因此再次发生所述读数据失败时,可以优先从参数分类中获取对应的目标参数,避免了遍历备用参数组中的全部参数组的情况,提高了Read retry效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种固态硬盘数据重读方法的流程示意图。
图2示出了本发明实施例提供的另一种固态硬盘数据重读方法的流程示意图。
图3示出了本发明实施例提供的一种固态硬盘数据重读装置的功能模块图。
图4示出了本发明实施例提供的固态硬盘的方框示意图。
图标:100-固态硬盘数据重读装置;110-获取模块;120-处理模块;130-判断模块;200-固态硬盘;210-存储器;220-处理器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
固态硬盘发生读数据失败时的场景可以划分成五大类:高温写低温读、低温写高温读、开放块、读干扰、常温通用。
高温写低温读和低温写高温读两种场景都是和温度相关,需要固态硬盘盘片的温度监测模块判别,记录写数据时的温度以及读数据时候的温度,若温差超过了预定温度阈值,则认为触发了温度场景。
开放块,NAND FLASH的块没有写满,导致数据不稳定,读一个没有写满的块,则触发该场景。
读干扰,数据块写满之后,记录每个块被读的次数,若被读的次数超过读数据阈值,则触发该场景。
常温通用,是除以上情况之外,常温状态下的场景。
固态硬盘发生读数据失败时出现以上场景会使读数据变得困难,以至于超出固态硬盘控制器厂商的纠错能力,此时需要使用NAND FLASH厂商提供的read retry机制,但是他们提供的read retry参数并没有分类,没有划分场景,而是一个包含全部参数组的完整组合;在一种实施例中,每个参数组大约有七个左右的参数。
因此,发生读数据失败时一般的做法是:启动read retry机制,从全部参数组中选取一参数组尝试重读,并判断该参数组是否成功纠回所需参数;若是,则结束本次重读;若否,则重新从全部参数组中选取下一组参数组尝试重读,直到成功纠回所需参数或遍历完所有参数组。
把所有的参数组遍历一遍,并没有错误,最终也能纠回数据,只是效率很低。因为遍历完所有参数组可能会有几十种,最极端的情况,尝试到最后一组才把数据纠正回来。
因此,本发明实施例提供的一种固态硬盘数据重读方法,旨在提高重读效率。
请参照图1,为本发明实施例提供的一种固态硬盘数据重读方法的流程示意图。
步骤101,获取并记录每次固态硬盘发生读数据失败时的场景。
步骤102,将每次读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到参数分类达到启用条件。
步骤103,当再次发生读数据失败时,优先从参数分类中获取对应的目标参数。
在本实施中,首先获取并记录每次固态硬盘发生读数据失败时的场景,然后将每次读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到参数分类达到启用条件;当再次发生读数据失败时,优先从参数分类中获取对应的目标参数。通过对固态硬盘发生读数据失败时的场景进行分类,进而将备用参数组中的参数组根据场景的不同来进行分类,因此再次发生所述读数据失败时,可以优先从参数分类中获取对应的目标参数,避免了遍历备用参数组中的全部参数组的情况,提高了Read retry效率。
请参照图2,为本发明实施例提供的另一种固态硬盘数据重读方法的流程示意图。
需要说明的是,本实施例所提供的固态硬盘数据重读方法,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
步骤101,获取并记录每次固态硬盘发生读数据失败时的场景。
需要说明的是,前述的每一种场景都匹配有不同的优先级,其优先级从高到低顺序为高温写低温读和低温写高温读、开放块、读干扰、常温通用;如发生读数据失败后,先判断当前场景,若温差超过了预定温度阈值的同时被读的次数也超过读数据阈值,此时同时触发了温度场景和读干扰场景,但是由于温度场景的优先级高于读干扰场景,应判断当前场景为温度场景。
步骤102,将每次读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到参数分类达到启用条件。
备用参数为包括前述全部参数组的完整组合。
在重读成功时,将重读的目标参数划分到对应的场景的参数分类中,直到每个场景对应的参数分类中的参数数量达到预定阈值,即参数分类达到启用条件。
需要说明的是,由于每种场景下的参数数量有限,当某个具体场景对应的参数分类中的参数数量达到预定阈值时,就可以认为该参数分类已满,已达到启用条件。在实际应用过程中,其具体数值视不同的固态硬盘而定。
需要说明的是,步骤102包括三个子步骤,本步骤中未提及之处将在其子步骤中进行详细的阐述。
子步骤102-1,判断读数据失败时的当前场景所对应的参数分类是否已启用。
若是,则执行子步骤102-2;若否,则执行子步骤102-3。
子步骤102-2,从当前场景所对应的参数分类中获取对应的目标参数。
需要说明的是,每一个参数分类都包括一定数量的参数组。当参数分类启用后,从参数分类中获取目标参数也包括一个自我调整的过程,具体为:当发生当前场景下读数据失败时,从该场景所对应的参数分类中选取一个参数组,若该参数组不能成功纠回数据,则将该参数组调整到参数分类的最后面;若该参数组成功纠回数据,则将该参数组调整到参数分类的最前面。因此,当再次发生同样参数的读数据失败,能有效减少read retry次数,更快的纠回数据。
需要说明的是,子步骤102-2包括三个子步骤,本步骤中未提及之处将在其子步骤中进行详细的阐述。
子步骤102-2-1,选取当前场景所对应的参数分类。
子步骤102-2-2,判断参数分类中的参数是否能够在读数据失败时纠回数据。
若是,则执行子步骤102-2-3;若否,则执行子步骤102-3。
子步骤102-2-3,结束本次重读。
子步骤102-3,从备用参数组中获取对应的目标参数。
需要说明的是,子步骤102-3包括七个子步骤,本步骤中未提及之处将在其子步骤中进行详细的阐述。
子步骤102-3-1,从备用参数组中选取一组参数组。
当前场景所对应的参数分类并未启用,从包括全部参数组的备用参数组中随机选取一组参数组。
子步骤102-3-2,判断参数组中的参数是否能够在读数据失败时纠回数据。
判断当前随机选取的参数组中的参数是否能够在读数据失败时纠回数据,若是,则执行子步骤102-3-3;若否,则执行子步骤102-3-1,即重新从备用参数组中选取下一组参数组,并判断该参数组中的参数是否能够在读数据失败时纠回数据,若不能纠回数据,则继续从备用参数组中选取下一组参数组;最差的情况,若遍历完所有的参数组都没有成功纠回数据,则结束本次read retry。
子步骤102-3-3,记录当前场景和纠回数据的所述目标参数。
子步骤102-3-4,判断当前场景对应的参数分类中是否已经存在目标参数。
若是,则执行子步骤102-3-6;若否,则执行子步骤102-3-5;
若当前场景对应的参数分类中不存在该目标参数,则将该目标参数添加至参数分类中,并结束本次read retry。
若当前场景对应的参数分类中已经存在该目标参数,说明该参数分类有可能已经达到启用条件,需要执行子步骤102-3-6进一步判断。
子步骤102-3-5,将目标参数添加至参数分类中。
子步骤102-3-6,判断参数分类是否已达到启用条件。
若是,则执行子步骤102-3-7;若否,则执行子步骤102-2-3;
子步骤102-3-7,对参数分类置启用标志。
参数分类已达到启用条件,则对参数分类置启用标志,启用标志表征该参数分类已达到启用条件。
子步骤103,当再次发生读数据失败时,优先从参数分类中获取对应的目标参数。
当发生该参数分类对应的场景下的read retry时,就直接从该参数分类中获取目标参数,以有效减少read retry次数,更快的纠回数据。
若该参数分类中参数不能纠回数据,则从备用参数组中获取正确数据。
当所有场景对应的参数分类都已启用时,备用参数组成为备用方案,只有当参数分类中参数不能纠回数据时,才选择备用方案。
综上所述,本发明实施例提供的固态硬盘数据重读方法、装置和固态硬盘,所述方法包括:获取并记录每次固态硬盘发生读数据失败时的场景;将每次读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到参数分类达到启用条件;启用条件表征参数分类中的参数数量达到预定阈值;当再次发生所述读数据失败时,优先从参数分类中获取对应的目标参数。通过对固态硬盘发生读数据失败时的场景进行分类,进而将备用参数组中的参数组根据场景的不同来进行分类,因此再次发生所述读数据失败时,可以优先从参数分类中获取对应的目标参数,避免了遍历备用参数组中的全部参数组的情况,提高了Read retry效率。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种固态硬盘数据重读装置的实现方式。进一步地,请参阅图3,图3为本发明实施例提供的一种固态硬盘数据重读装置的功能模块图。需要说明的是,本实施例所提供的固态硬盘数据重读装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该固态硬盘数据重读装置100包括:获取模块110、处理模块120及判断模块130。
可以理解的,在一种实施例中,通过获取模块110执行步骤101。
可以理解的,在一种实施例中,通过处理模块120执行子步骤102-2-1、子步骤102-2-3、子步骤102-3-1、子步骤102-3-1、子步骤102-3-3、子步骤102-3-5、子步骤102-3-7及步骤103。
可以理解的,在一种实施例中,通过判断模块130执行子步骤102-1、子步骤102-2-2、子步骤102-3-2、步骤102-3-4、步骤102-3-6。
请参照图4,为本发明实施例提供的固态硬盘的方框示意图。所述固态硬盘200包括存储器210及处理器220。所述存储器210、处理器220相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器用于存储程序或者数据。所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器用于读/写存储器中存储的数据或程序,并执行相应地功能。
应当理解的是,图4所示的结构仅为固态硬盘的结构示意图,所述固态硬盘还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种固态硬盘数据重读方法,应用于一固态硬盘,其特征在于,所述方法包括:
获取并记录每次固态硬盘发生读数据失败时的场景;所述场景表征所述固态硬盘所处的物理环境或读写数据时固态硬盘的物理状态;
将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类达到启用条件;所述启用条件表征所述参数分类中的参数数量达到预定阈值;所述备用参数组包括所有所述目标参数;
当再次发生所述读数据失败时,优先从所述参数分类中获取对应的所述目标参数;所述参数分类为所述读数据失败时的场景所对应的参数分类。
2.根据权利要求1所述的方法,其特征在于,将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类中达到启用条件的步骤,包括:
判断所述读数据失败时的当前场景所对应的所述参数分类是否已启用;
若是,则从所述当前场景所对应的所述参数分类中获取对应的所述目标参数;
若否,则从所述备用参数组中获取对应的所述目标参数。
3.根据权利要求2所述的方法,其特征在于,从所述当前场景所对应的所述参数分类中获取对应的所述目标参数的步骤,包括:
选取当前场景所对应的所述参数分类;
判断所述参数分类中的参数是否能够在读数据失败时纠回数据;
若是,则结束本次重读;若否,则从所述备用参数组中获取对应的所述目标参数。
4.根据权利要求2或3所述的方法,其特征在于,所述备用参数组包括n个参数组,所述参数组包括至少两个参数;从所述备用参数组中获取对应的所述目标参数的步骤,包括:
从所述备用参数组中选取一组所述参数组;
判断所述参数组中的参数是否能够在读数据失败时纠回数据;
若否,则重新执行从所述备用参数组中选取一组所述参数组的步骤;
若是,则记录当前场景和纠回数据的所述目标参数,并判断所述当前场景对应的参数分类中是否已经存在所述目标参数;若否,则将所述目标参数添加至所述参数分类中;若是,则判断所述参数分类是否已达到启用条件。
5.根据权利要求4所述的方法,其特征在于,判断所述参数分类是否已达到启用条件的步骤之后,包括:
若是,则对所述参数分类置启用标志;所述启用标志表征所述参数分类已达到启用条件;
若否,则结束本次重读。
6.根据权利要求1所述的方法,其特征在于,将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类达到启用条件的步骤之后,包括:
判断是否所有的所述参数分类均达到所述启用条件;
若是,则结束将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中的步骤。
7.一种固态硬盘数据重读装置,应用于一固态硬盘,其特征在于,所述装置包括:
获取模块,用于获取并记录每次固态硬盘发生读数据失败时的场景;所述场景表征所述固态硬盘所处的物理环境或读写数据时固态硬盘的物理状态;
处理模块,用于将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中,直到所述参数分类达到启用条件;所述启用条件表征所述参数分类中的参数数量达到预定阈值;所述备用参数组包括所有所述目标参数;
以及还用于当再次发生所述读数据失败时,优先从所述参数分类中获取对应的所述目标参数;所述参数分类为所述读数据失败时的场景所对应的参数分类。
8.根据权利要求7所述的装置,其特征在于,还包括:判断模块;
所述判断模块,用于判断所述读数据失败时的当前场景所对应的所述参数分类是否已启用;若是,则从所述当前场景所对应的所述参数分类中获取对应的所述目标参数;若否,则从所述备用参数组中获取对应的所述目标参数。
9.根据权利要求8所述的装置,其特征在于,
所述处理模块,还用于选取当前场景所对应的所述参数分类;
所述判断模块,还用于判断所述参数分类中的参数是否能够在读数据失败时纠回数据;若是,则结束本次重读;若否,则从所述备用参数组中获取对应的所述目标参数。
10.根据权利要求8或9所述的装置,其特征在于,
所述处理模块,还用于从所述备用参数组中选取一组所述参数组;
所述判断模块,还用于判断所述参数组中的参数是否能够在读数据失败时纠回数据;
若否,则重新执行从所述备用参数组中选取一组所述参数组的步骤;
若是,则记录当前场景和纠回数据的所述目标参数,并判断所述当前场景对应的参数分类中是否已经存在所述目标参数;若否,则将所述目标参数添加至所述参数分类中;若是,则判断所述参数分类是否已达到启用条件。
11.根据权利要求10所述的装置,其特征在于,
所述处理模块,还用于当所述参数分类已达到启用条件时对所述参数分类置启用标志;所述启用标志表征所述参数分类已达到启用条件;
以及还用于当所述参数分类未达到启用条件时,结束本次重读。
12.根据权利要求7所述的装置,其特征在于,
所述判断模块,还用于判断是否所有的所述参数分类均达到所述启用条件;
若是,则结束将每次所述读数据失败后从备用参数组中重读的目标参数划分到对应的场景的参数分类中的步骤。
13.一种固态硬盘,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-6任一所述的固态硬盘数据重读方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911317976.0A CN111078151A (zh) | 2019-12-19 | 2019-12-19 | 固态硬盘数据重读方法、装置和固态硬盘 |
PCT/CN2020/135372 WO2021121132A1 (zh) | 2019-12-19 | 2020-12-10 | 固态硬盘数据重读方法、装置和固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911317976.0A CN111078151A (zh) | 2019-12-19 | 2019-12-19 | 固态硬盘数据重读方法、装置和固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078151A true CN111078151A (zh) | 2020-04-28 |
Family
ID=70315724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911317976.0A Pending CN111078151A (zh) | 2019-12-19 | 2019-12-19 | 固态硬盘数据重读方法、装置和固态硬盘 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111078151A (zh) |
WO (1) | WO2021121132A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111863098A (zh) * | 2020-07-30 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种读操作处理方法、装置及可读存储介质 |
WO2021121132A1 (zh) * | 2019-12-19 | 2021-06-24 | 江苏芯盛智能科技有限公司 | 固态硬盘数据重读方法、装置和固态硬盘 |
CN113626091A (zh) * | 2021-08-19 | 2021-11-09 | 深圳忆联信息系统有限公司 | 固态硬盘的启动优化方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130185612A1 (en) * | 2012-01-18 | 2013-07-18 | Samsung Electronics Co., Ltd. | Flash memory system and read method of flash memory system |
CN105893167A (zh) * | 2016-03-28 | 2016-08-24 | 联想(北京)有限公司 | 一种信息处理方法及装置、电子设备 |
CN107247636A (zh) * | 2017-06-06 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种固态硬盘中数据重建优化的方法及装置 |
CN108962320A (zh) * | 2018-07-10 | 2018-12-07 | 深圳忆联信息系统有限公司 | 提升ssd读重试效率的方法、装置及计算机设备 |
CN109582491A (zh) * | 2017-09-28 | 2019-04-05 | 北京忆芯科技有限公司 | 基于机器学习的读出数据错误处理 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105336379B (zh) * | 2015-11-09 | 2019-03-01 | 北京联想核芯科技有限公司 | 一种信息处理方法及固态存储器 |
CN105867844B (zh) * | 2016-03-28 | 2019-01-25 | 北京联想核芯科技有限公司 | 一种命令控制方法及存储设备 |
CN106371942B (zh) * | 2016-08-27 | 2019-05-03 | 华为技术有限公司 | 存储器错误处理方法和相关装置和系统 |
CN106502583A (zh) * | 2016-10-12 | 2017-03-15 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘响应延迟的方法 |
CN108052279B (zh) * | 2017-11-23 | 2020-06-19 | 深圳市江波龙电子股份有限公司 | 一种提升闪存性能的方法、装置、设备及存储介质 |
CN108829358B (zh) * | 2018-06-29 | 2021-06-29 | 郑州云海信息技术有限公司 | 固态硬盘的坏块管理方法以及固态硬盘 |
CN109062503B (zh) * | 2018-07-10 | 2021-08-17 | 深圳忆联信息系统有限公司 | 提升ssd断电后读重试效率的方法、装置及计算机设备 |
CN109062511B (zh) * | 2018-07-26 | 2021-12-17 | 浪潮电子信息产业股份有限公司 | 一种数据读取的方法以及相关装置 |
CN111078151A (zh) * | 2019-12-19 | 2020-04-28 | 江苏芯盛智能科技有限公司 | 固态硬盘数据重读方法、装置和固态硬盘 |
-
2019
- 2019-12-19 CN CN201911317976.0A patent/CN111078151A/zh active Pending
-
2020
- 2020-12-10 WO PCT/CN2020/135372 patent/WO2021121132A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130185612A1 (en) * | 2012-01-18 | 2013-07-18 | Samsung Electronics Co., Ltd. | Flash memory system and read method of flash memory system |
CN105893167A (zh) * | 2016-03-28 | 2016-08-24 | 联想(北京)有限公司 | 一种信息处理方法及装置、电子设备 |
CN107247636A (zh) * | 2017-06-06 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种固态硬盘中数据重建优化的方法及装置 |
CN109582491A (zh) * | 2017-09-28 | 2019-04-05 | 北京忆芯科技有限公司 | 基于机器学习的读出数据错误处理 |
CN108962320A (zh) * | 2018-07-10 | 2018-12-07 | 深圳忆联信息系统有限公司 | 提升ssd读重试效率的方法、装置及计算机设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021121132A1 (zh) * | 2019-12-19 | 2021-06-24 | 江苏芯盛智能科技有限公司 | 固态硬盘数据重读方法、装置和固态硬盘 |
CN111863098A (zh) * | 2020-07-30 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种读操作处理方法、装置及可读存储介质 |
CN113626091A (zh) * | 2021-08-19 | 2021-11-09 | 深圳忆联信息系统有限公司 | 固态硬盘的启动优化方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021121132A1 (zh) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078151A (zh) | 固态硬盘数据重读方法、装置和固态硬盘 | |
KR100243314B1 (ko) | 임시 디펙트 리스트를 이용한 에러 로그 방법 | |
US10656875B2 (en) | Method for re-reading page data | |
CN107247636B (zh) | 一种固态硬盘中数据重建优化的方法及装置 | |
US20060259814A1 (en) | Method and system for optimizing testing of memory stores | |
CN110111835B (zh) | 一种NVMe固态硬盘IOPS测试方法、系统及装置 | |
JP4866107B2 (ja) | 不揮発性記憶装置及びその書き込み判定方法 | |
US20120084503A1 (en) | Disk control apparatus, disk control method, and storage medium storing disk control program | |
US10049007B2 (en) | Non-volatile memory device and read method thereof | |
CN108628718B (zh) | 一种减轻温度影响的ssd管理方法及ssd | |
US10340025B2 (en) | Data-storage device and block-releasing method | |
CN109445982A (zh) | 实现数据可靠读写的数据存储装置 | |
US8937780B2 (en) | Error recovery procedure (ERP) using estimated best setting in first run | |
CN112732181A (zh) | 一种ssd的数据迁移方法及相关装置 | |
US7694071B1 (en) | Disk drives and methods allowing configurable zoning | |
CN109375869A (zh) | 实现数据可靠读写的方法以及系统、存储介质 | |
US7443624B2 (en) | Method for recording data freshness degrees by a tape drive | |
CN116072202A (zh) | 一种存储设备的管理方法、系统及存储介质 | |
CN106250193B (zh) | 一种基于nand存储器的系统启动方法及系统 | |
CN109284201A (zh) | 温度均衡数据恢复方法以及系统、存储介质 | |
CN110597674B (zh) | 一种存储器检测方法、装置、录像系统及存储介质 | |
US8448017B2 (en) | Memory apparatus, memory controlling method and program | |
CN113626091A (zh) | 固态硬盘的启动优化方法、装置、计算机设备及存储介质 | |
CN112447241A (zh) | 一种实现数据重读的方法、装置、计算机存储介质及终端 | |
WO2020031435A1 (ja) | 記憶制御装置、記憶装置および記憶制御方法 |
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: 20200428 |