CN111813336B - 一种固态硬盘的数据存储方法及装置 - Google Patents

一种固态硬盘的数据存储方法及装置 Download PDF

Info

Publication number
CN111813336B
CN111813336B CN202010507154.5A CN202010507154A CN111813336B CN 111813336 B CN111813336 B CN 111813336B CN 202010507154 A CN202010507154 A CN 202010507154A CN 111813336 B CN111813336 B CN 111813336B
Authority
CN
China
Prior art keywords
reference voltage
target data
solid
reading
data
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.)
Active
Application number
CN202010507154.5A
Other languages
English (en)
Other versions
CN111813336A (zh
Inventor
贲伟建
杨超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Huayi Core Technology Co ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202010507154.5A priority Critical patent/CN111813336B/zh
Publication of CN111813336A publication Critical patent/CN111813336A/zh
Application granted granted Critical
Publication of CN111813336B publication Critical patent/CN111813336B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Abstract

本申请公开了一种固态硬盘的数据存储方法及装置,所述数据存储方法包括:响应数据读取命令从地址映射表中确定目标数据所在的第一固态存储块;在第一基准电压下从第一固态存储块读取目标数据并存储在第一缓存区;在第二基准电压下从第一固态存储块读取目标数据并存储在第二缓存区,其中第二基准电压不同于第一基准电压;根据第一缓存区内的目标数据和第二缓存区的目标数据计算第一基准电压与第二基准电压之间的电压密度;判断电压密度是否大于预设密度阈值;如果大于,则将第一缓存区或第二缓存区域内的目标数据写入第二固态存储块中并更新地址映射表。本申请对于目标数据是否需要重新写入的判断更加准确,能够降低误判的几率。

Description

一种固态硬盘的数据存储方法及装置
技术领域
本申请涉及数据存储技术领域,特别是涉及一种固态硬盘的数据存储方法及装置。
背景技术
电子产品技术的快速发展,使得消费者对于电子产品的体验要求越来越高,对更高速便捷的存储产品的需求越来越大。其中,固态硬盘由于其具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,成为非常热门的一种存储产品。固态硬盘包括多个固态存储块,在对存储在同一个固态存储块的目标数据进行多次读取时,可能会有所读取到的目标数据发生错误的情况,甚至是目标数据发生遗失的情况,此类现象被称为读取干扰(Read Disturb)。现有技术一般是设定一个读取错误率阈值,当某一个固态存储块的目标数据发生的错误超过此错误率阈值时,则将目标数据写入另一个固态存储块,以确保目标数据的正确性。但是因为固态硬盘的存储介质的差异性和工作环境的复杂性,如果仅仅依据错误率阈值来做判断,可能发生误判,导致固态硬盘的重新写入的次数太频繁,增进固态硬盘的损耗速度,进而导致固态硬盘的使用寿命降低。
发明内容
本申请主要解决的技术问题是提供一种固态硬盘的数据存储方法及装置,能够降低重新写入目标数据的次数,减缓固态硬盘的损耗速率,进而提高固态硬盘的使用寿命。
为解决上述技术问题,本申请采用的一个技术方案是:
提供一种固态硬盘的数据存储方法,包括:
响应数据读取命令从地址映射表中确定目标数据所在的第一固态存储块;
在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区;
在第二基准电压下从所述第一固态存储块读取所述目标数据并存储在第二缓存区,其中所述第二基准电压不同于所述第一基准电压;
根据所述第一缓存区内的所述目标数据和所述第二缓存区的所述目标数据计算所述第一基准电压与所述第二基准电压之间的电压密度,其中所述电压密度与所述第一缓存区内的所述目标数据和所述第二缓存区内的所述目标数据的数据位翻转次数正相关,与所述第一基准电压和所述第二基准电压之间的绝对偏移量负相关;
判断所述电压密度是否大于预设密度阈值;
如果大于预设密度阈值,则将所述第一缓存区或所述第二缓存区域内的所述目标数据写入第二固态存储块中并更新所述地址映射表,以使得后续针对所述目标数据的数据读取命令指向所述第二固态存储块。
为解决上述技术问题,本申请采用的另一个技术方案是:
提供一种固态硬盘的数据存储装置,所述数据存储装置包括存储器和与所述存储器耦接的处理器,所述存储器存储有程序指令,所述处理器能够执行所述程序指令以实现上述技术方案所述的固态硬盘的数据存储方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供的固态硬盘的数据存储方法在接收到数据读取命令之后,先从地址映射表中确定目标数据所在的第一固态存储块,然后在两个不同的基准电压下分别读取目标数据并分别存储在两个不同的缓存区,然后根据存储的目标数据计算两个不同的基准电压之间的电压密度,该电压密度与数据位翻转次数正相关,与两个基准电压之间的绝对偏移量负相关,再判断该电压密度是否大于预设密度阈值,如果大于,则需要将目标数据写入第二固态存储块中,并更新地址映射表,以使得后续针对目标数据的数据读取命令指向第二固态存储块。本申请对于目标数据是否需要重新写入的判断标准更加准确,能够降低误判的几率,从而降低重新写入目标数据的次数,减缓固态硬盘的损耗速率,进而提高固态硬盘的使用寿命。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本申请固态硬盘的数据存储方法一实施方式的流程示意图;
图2为对初始基准电压进行校正一实施方式的流程示意图;
图3为图1中步骤S102之后包括的步骤一实施方式的流程示意图;
图4为图1中步骤S102之后包括的步骤另一实施方式的流程示意图;
图5为图1中步骤S102之后包括的步骤另一实施方式的流程示意图;
图6为图1中步骤S106之前包括的步骤一实施方式的流程示意图;
图7a为发生其他错误时在固态存储块上检测到的电压曲线;
图7b为发生读取干扰错误时在固态存储块上检测到的电压曲线;
图8为本申请固态硬盘的数据存储方法另一实施方式的流程示意图;
图9为本申请固态硬盘的数据存储装置一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
请参阅图1,图1为本申请固态硬盘的数据存储方法一实施方式的流程示意图,该数据存储方法包括如下步骤:
S101,响应数据读取命令从地址映射表中确定目标数据所在的第一固态存储块。
固态硬盘包括多个固态存储块,用于存储目标数据,并保存有地址映射表,用于保存目标数据与固态存储块的映射关系。当接收到数据读取命令之后,需要先从地址映射表中确定目标数据所在的第一固态存储块,也就是目标数据的初始存储地址。
在执行完上述步骤S101之后,在执行下述步骤S102之前,也就是在第一固态存储块中读取目标数据之前,本实施方式需要先对固态硬盘的基准电压做全盘初始化,初始基准电压由固态硬盘的厂商提供,使得整个固态硬盘中所有固态存储块以此初始基准电压进行数据判定。全盘初始化之后一段时间的数据读取均在初始基准电压下进行。一段时间之后,为了确保数据读取的准确性,需要对初始基准电压进行校正,具体可以根据一段时间内正常读取(Normal Read)次数和重试读取(Retry Read)次数利用重试读取电压对初始基准电压进行校正,以获得校正基准电压;其中,下述各个步骤中所述的第一基准电压即为校正基准电压,第二基准电压即为初始基准电压。
具体地,请参阅图2,图2为对初始基准电压进行校正一实施方式的流程示意图,可通过如下步骤对初始基准电压进行校正:
S201,以初始基准电压作为当前基准电压。
对初始基准电压进行校正是一个迭代的过程,此处先将初始基准电压定义为当前基准电压,每迭代一次,当前基准电压变化一次。
S202,在当前基准电压下对第一固态存储块进行读取。
在预定时间内,对第一固态存储块进行的读取均在当前基准电压下进行,以进一步依据该段预定时间内的读取过程判断当前基准电压是否需要校正。
S203,获取预定时间内第一固态存储块的重试读取次数和正常读取次数之间的比值。
在预定时间内,第一固态存储块的读取次数有多次,将这些读取分为两类,一类是正常读取(Normal Read),即以当前基准电压成功读取到目标数据的过程,另一类是重试读取(Retry Read),即以当前基准电压不能成功读取到目标数据,而是以多个不同的重试读取电压尝试读取,直到成功读取到目标数据的过程。然后获取重试读取次数RR和正常读取次数NR的比值RR/NR。
S204,判断重试读取次数和正常读取次数之间的比值是否大于预设的比例阈值。
获取到重试读取次数RR和正常读取次数NR的比值RR/NR之后,可以进一步判断此比值RR/NR是否大于预设的比例阈值,该比例阈值根据固态硬盘的固件算法设计性能要求设定,以进一步判断是否需要对当前基准电压进行校正。
S205,若大于比例阈值,则以出现次数最多的重试读取电压对当前基准电压进行校正,并返回在当前基准电压下对第一固态存储块进行读取的步骤。
如果重试读取次数RR和正常读取次数NR的比值RR/NR大于比例阈值,则表示发生了高于设定值的重试读取次数,在当前基准电压下不能进行准确的数据读取,需要对其进行校正。具体可以统计获取出现次数最多的重试读取电压,然后以此重试读取电压对当前基准电压进行校正,得到校正后的当前基准电压,并返回步骤S202,即在校正后的当前基准电压下对第一固态存储块进行读取的步骤,以进一步获取以校正后的基准电压对第一固态存储块在预定时间内的读取过程,进而根据校正后的基准电压下重试读取次数RR和正常读取次数NR的比值RR/NR来判断校正后的基准电压是否准确。也就是不断地迭代,直到找到一个能够使重试读取次数RR和正常读取次数NR的比值RR/NR降低到预设的比例阈值以下的基准电压,然后停止迭代过程。
具体地,以出现次数最多的重试读取电压对当前基准电压进行校正的步骤包括:将出现次数最多的重试读取电压与校正前的当前基准电压的平均值作为校正后的当前基准电压。在其他实施方式中,当出现几个接近的重试读取电压时,可以先依据这几个重试读取电压值及其对应的出现次数计算出重试读取电压的加权平均值,再与当前基准电压求平均值,以更准确地对当前基准电压进行校正。
S206,若小于或等于比例阈值,则以当前基准电压作为校正基准电压。
通过上述迭代过程,当找到一个使重试读取次数RR和正常读取次数NR的比值RR/NR降低到预设的比例阈值以下的当前基准电压时,将当前基准电压作为校正基准电压。
在其他实施方式中,也可能出现第一次迭代时,即以初始基准电压作为当前基准电压时,就判断出重试读取次数RR和正常读取次数NR的比值RR/NR小于或等于预设的比例阈值的情况,这表示在初始基准电压下的数据读取仍然是准确的,不需要进行基准电压的校正。
本实施方式在进行数据重新写入之前,预先校正基准电压,使得固态硬盘在准确的基准电压下进行数据读取,减少重试读取次数,提升读写性能,解决了固态硬盘因为工件环境的变化等原因导致的基准电压偏移、读取错误率升高的问题。
S102,在第一基准电压下从第一固态存储块读取目标数据并存储在第一缓存区。
经过上述对初始基准电压的校正之后,获取到校正基准电压,即第一基准电压,此时以校正基准电压从第一固态存储块读取目标数据并存储在第一缓存区。第一缓存区的地址和大小均可以预先设定,并可以随时更改。
进一步地,请参阅图3,图3为图1中步骤S102之后包括的步骤一实施方式的流程示意图,在第一基准电压下从第一固态存储块读取目标数据并存储在第一缓存区之后,还包括如下步骤:
S301,判断从第一固态存储块读取的目标数据的错误率是否大于预设的最大更正能力。
在第一基准电压(即校正基准电压)下从第一固态存储块读取目标数据时也可能出现发生错误的情况,此时先统计从第一固态存储块读取的目标数据的错误率,并判断该错误率是否大于预设的最大更正能力,该最大更正能力由固态硬盘的性能决定,错误率大于该最大更正能力则表示以第一基准电压已经不可能再正确读取到目标数据,目标数据可能发生了损坏或者遗失,第一固态存储块已不可用,此时需要进行重新读取。
S302,若大于最大更正能力,则改变第一基准电压,并返回在第一基准电压下从第一固态存储块读取目标数据并存储在第一缓存区的步骤,以对目标数据进行重新读取。
如果不大于最大更正能力,则表明以第一基准电压读取到的数据是准确的,可以执行后续的步骤S103,即执行在第二基准电压下从第一固态存储块读取目标数据并存储在第二缓存区的步骤,如图3中S303所示。
当错误率大于最大更正能力时,改变第一基准电压,即不断尝试以不同的重试读取电压作为第一基准电压,从第一固态存储块重新读取目标数据并存储在第一缓存区。如此设置可以保护目标数据被正确读取到并被保存在第一缓存区。当发生了重新读取时,以准确读取到目标数据的重试读取电压作为新的第一基准电压,以使后续的电压密度的计算更加准确。
进一步地,请参阅图4,图4为图1中步骤S102之后包括的步骤另一实施方式的流程示意图,当以第一基准电压正确读取到目标数据之后,还可以执行以下步骤:
S401,判断第一缓存区内的目标数据的错误率是否小于预设的错误率阈值,其中错误率阈值小于最大更正能力。
错误率大于最大更正能力时表示以第一基准电压已经不可能再正确读取到目标数据,目标数据可能发生了损坏或者遗失,第一固态存储块已不可用,因此可以预设一个小于最大更正能力的错误率阈值,在以第一基准电压读取到目标数据之后,先判断错误率是否小于预设的错误率阈值,以尽可能降低目标数据损坏或者遗失的几率。
S402,若小于错误率阈值,则不执行在第二基准电压下对第一固态存储块读取目标数据并存储在第二缓存区的步骤。
如果判断出错误率小于错误率阈值,则表示以第一基准电压读取到的目标数据是准确的,第一固态存储块还可以继续使用,可以不执行后续的步骤S103,即不执行在第二基准电压下对第一固态存储块读取目标数据并存储在第二缓存区的步骤,而是直接将目标数据反馈给数据请求命令的发起方,等待下一次数据请求命令。当然,如果判断出错误率大于或等于错误率阈值,则表示第一固态存储块可能不能继续使用,可能发生了读取干扰,则执行后续的步骤S103,即执行在第二基准电压下从第一固态存储块读取目标数据并存储在第二缓存区的步骤,以进一步计算电压密度,从而判断是否需要重新写入目标数据,如图4中S403所示。
进一步地,请参阅图5,图5为图1中步骤S102之后包括的步骤另一实施方式的流程示意图,当以第一基准电压正确读取到目标数据之后,还可以执行以下步骤:
S501,判断第一固态存储块的累计读取次数是否小于预设的次数阈值。
当以第一基准电压正确读取到目标数据之后,还可以以第一固态存储块的累计读取次数为依据来预先判断是否发生了读取干扰,即判断所述累计读取次数是否小于预设的次数阈值。
S502,若小于次数阈值,则不执行在第二基准电压下对第一固态存储块读取目标数据并存储在第二缓存区的步骤。
如果判断出累计读取次数小于预设的次数阈值,则表示以第一基准电压读取到的目标数据是准确的,第一固态存储块还可以继续使用,可以不执行后续的步骤S103,即不执行在第二基准电压下对第一固态存储块读取目标数据并存储在第二缓存区的步骤,而是直接将目标数据反馈给数据请求命令的发起方,等待下一次数据请求命令。当然,如果判断出累计读取次数大于或等于预设的次数阈值,则表示第一固态存储块可能不能继续使用,可能发生了读取干扰,则执行后续的步骤S103,即执行在第二基准电压下从第一固态存储块读取目标数据并存储在第二缓存区的步骤,以进一步计算电压密度,从而判断是否需要重新写入目标数据,如图5中S503所示。
在不同的实施方式中,可以只执行上述步骤S401~S402与步骤S501~S502所述的两处判断过程之一,也可以两处判断过程均执行,而且两处判断过程的执行顺序无先后限制。本申请优选先执行步骤S401~S402所述的判断过程,当判断出错误率大于或等于错误率阈值时,再执行步骤S501~S502所述的判断过程。
本实施方式在第二基准电压下从第一固态存储块读取目标数据进而计算电压密度之前,预先根据第一缓存区内的目标数据的错误率或者第一固态存储块的累计读取次数筛选出准确读取到目标数据的情况,并进一步将目标数据反馈出去,从而减小本申请固态硬盘的数据存储方法的运算负担,也提高了数据读取的速率。
S103,在第二基准电压下从第一固态存储块读取目标数据并存储在第二缓存区,其中第二基准电压不同于第一基准电压。
为了计算电压密度,在以校正基准电压(即第一基准电压)读取目标数据并存储在第一缓存区之后,还需要以初始基准电压(即第二基准电压)读取目标数据并存储在第二缓存区。第二缓存区的地址和大小均可以预先设定,并可以随时更改。一般来说,第二基准电压不同于第一基准电压,如果出现两者相同的情况,则表示初始基准电压是准确的,不需要进行校正,以第一基准电压或者第二基准电压读取到的目标数据都是准确的,可以直接将此目标数据反馈给数据读取命令的发起方,等待下一次数据请求命令。
S104,根据第一缓存区内的目标数据和第二缓存区的目标数据计算第一基准电压与第二基准电压之间的电压密度,其中电压密度与第一缓存区内的目标数据和第二缓存区内的目标数据的数据位翻转次数正相关,与第一基准电压和第二基准电压之间的绝对偏移量负相关。
将在第一基准电压下从第一固态存储块读取目标数据并存储在第一缓存区,并将在第二基准电压下从第一固态存储块读取目标数据并存储在第二缓存区之后,先获取第一基准电压与第二基准电压之间的绝对偏移量,再通过异或运算获取第一基准电压和第二基准电压区间的数据位翻转次数,即0/1翻转次数,然后计算电压密度,其中,电压密度与数据位翻转次数正相关,与绝对偏移量负相关。具体地,电压密度为数据位翻转次数与绝对偏移量的比值。
S105,判断电压密度是否大于预设密度阈值。
计算出电压密度之后,判断该电压密度是否大于预设的密度阈值,进一步判断是否发生了读取干扰,该密度阈值由固态硬盘的特性决定。
S106,如果大于预设密度阈值,则将第一缓存区或第二缓存区域内的目标数据写入第二固态存储块中并更新地址映射表,以使得后续针对目标数据的数据读取命令指向第二固态存储块。
如果判断出电压密度大于预设密度阈值,则表示发生了读取干扰,将目标数据继续储存在第一固态存储块可能会发生损坏或遗失的情况,需要将目标数据写入第二固态存储块并更新地址映射表,以使得后续针对目标数据的数据读取命令指向第二固态存储块。如果判断出电压密度小于或等于预设密度阈值,则表示第一固态存储块可以继续使用,不需要重新写入第二固态存储块,可以直接将目标数据反馈给数据读取命令的发起方,等待下一次数据请求命令。
具体地,如果前述步骤S201~S206中对初始基准电压进行了校正,得到校正基准电压,储存在第一缓存区域内的目标数据是准确的,判断出电压密度大于预设密度阈值之后,需要将第一缓存区内的目标数据写入第二固态存储块中并更新地址映射表。而如果前述步骤S201~S206中不需要对初始基准电压进行校正,则储存在第一缓存区域内和第二缓存区域内的目标数据都是准确的,可以将任一目标数据写入第二固态存储块并更新地址映射表。当然,在实际的算法过程中,如果不需要对初始基准电压进行校正,则表示在初始基准电压下获取到的目标数据是准确的,可以直接反馈给数据读取命令的发起方,等待下一次数据请求命令。
本实施方式对于目标数据是否需要重新写入的判断标准更加准确,能够降低误判的几率,从而降低重新写入目标数据的次数,减缓固态硬盘的损耗速率,进而提高固态硬盘的使用寿命。
进一步地,请参阅图6,图6为图1中步骤S106之前包括的步骤一实施方式的流程示意图,在步骤S106之前,即在将第一缓存区或第二缓存区域内目标数据写入第二固态存储块中并更新地址映射表的步骤之前,还可以执行如下步骤:
S601,判断第一基准电压是否大于第二基准电压,且绝对偏移量是否大于预设的偏移量阈值。
对存储在固态硬盘中的数据进行读取时发生的错误主要可以分为两种类型,一种是前面所述的读取干扰错误,一种是读取干扰错误之外的其他错误。其中,读取干扰错误是指固态存储块频繁被读取或者相邻固态存储块被读取而产生数据错误的现象,其他错误是指除了读取干扰错误外,固态存储块因为自身原因和外界因素而产生的错误,比如写入和擦除次数、读写温度等原因。请参阅图7a和图7b,图7a为发生其他错误时在固态存储块上检测到的电压曲线,图7b为发生读取干扰错误时在固态存储块上检测到的电压曲线,图7a和图7b中实线为初始基准电压(即第二基准电压)下读取目标数据的曲线,Vn表示初始基准电压,虚线为校正基准电压(即第一基准电压)下读取目标数据的曲线,Vm表示校正基准电压,两者之间的差值的绝对值为第一基准电压和第二基准电压之间的绝对偏移量。从图7a和图7b中可以看出,其他错误会导致检测到的电压曲线左移并变矮变胖,读取干扰错误会导致检测到的电压曲线右移并变高变瘦。
根据上述特征,可以对第一基准电压和第二基准电压的大小以及两者之间的偏移量做出判断,由此分辨出读取干扰错误和其他错误。
S602,若第一基准电压大于第二基准电压,且绝对偏移量大于预设的偏移量阈值,则执行将第一缓存区或第二缓存区域内目标数据写入第二固态存储块中并更新地址映射表的步骤。
如果判断出第一基准电压大于第二基准电压,且绝对偏移量大于预设的偏移量阈值,即符合图7b中所示的情况,则说明可能发生了读取干扰错误,需要执行上述步骤S106,即执行将第一缓存区或第二缓存区域内目标数据写入第二固态存储块中并更新地址映射表的步骤。
S603,否则,不执行将第一缓存区或第二缓存区域内目标数据写入第二固态存储块中并更新地址映射表的步骤。
如果判断出第一基准电压小于或等于第二基准电压,或者绝对偏移量小于或等于预设的偏移量阈值,说明没有发生读取干扰错误,之前已经读取到了正确的目标数据。
本实施方式优选将步骤S601~S603所述的判断过程在步骤S103之前执行,可以节省算法时间。因为可以将步骤S601~S603所述的判断过程当作上述步骤S105所述的电压密度判断过程的前提,即如果满足第一基准电压大于第二基准电压,且绝对偏移量大于预设的偏移量阈值的条件,再进行电压密度判断,以确定是发生了读取干扰错误。而上述步骤S103~S104又是电压密度判断的数据准备,因此可以放在步骤S103之前执行,以使关于读取干扰错误的判断更加准确。
下面结合一个具体的应用场景来描述本申请固态硬盘的数据存储方法,请参阅图8,图8为本申请固态硬盘的数据存储方法另一实施方式的流程示意图,本实施方式包括如下步骤:
S801,响应数据读取命令从地址映射表中确定目标数据所在的第一固态存储块。
S802,判断是否需要对初始基准电压进行校正。
S803,如果需要,则执行步骤S201~S206,以对初始基准电压进行校正,获取到校正基准电压,再执行步骤S805。
S804,如果不需要,则以初始基准电压作为校正基准电压,再执行步骤S805。
S805,在校正基准电压下从第一固态存储块读取目标数据并存储在第一缓存区。
S806,判断校正基准电压是否大于初始基准电压,且绝对偏移量是否大于预设的偏移量阈值。
S807,如果校正基准电压大于初始基准电压,且绝对偏移量大于预设的偏移量阈值,则判断第一缓存区内的目标数据的错误率是否小于预设的错误率阈值。
S808,如果大于或等于错误率阈值,则判断第一固态存储块的累计读取次数是否小于预设的次数阈值。
S809,如果大于或等于次数阈值,则在初始基准电压下从第一固态存储块读取目标数据并存储在第二缓存区。
S810,根据第一缓存区内的目标数据和第二缓存区的目标数据计算校正基准电压与初始基准电压之间的电压密度,其中电压密度与第一缓存区内的目标数据和第二缓存区内的目标数据的数据位翻转次数正相关,与校正基准电压和初始基准电压之间的绝对偏移量负相关。
S811,判断电压密度是否大于预设密度阈值。
S812,如果大于预设密度阈值,则将第一缓存区的目标数据写入第二固态存储块中并更新地址映射表,以使得后续针对目标数据的数据读取命令指向第二固态存储块。
本实施方式通过对基准电压的校正,通过对数据读取过程的错误率、读取次数、电压偏移量以及电压密度的分析,使关于读取干扰错误的判断更加准确,降低了固态存储块因自身差异和工作环境的变化而产生误判的几率。
请参阅图9,图9为本申请固态硬盘的数据存储装置一实施方式的结构示意图,数据存储装置包括存储器901和与存储器901耦接的处理器902,存储器901存储有程序指令,处理器902能够执行程序指令以实现上述任一实施方式所述的固态硬盘的数据存储方法。具体可参见上述任一实施方式,在此不再赘述。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种固态硬盘的数据存储方法,其特征在于,所述数据存储方法包括:
响应数据读取命令从地址映射表中确定目标数据所在的第一固态存储块;
在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区;
在第二基准电压下从所述第一固态存储块读取所述目标数据并存储在第二缓存区,其中所述第二基准电压不同于所述第一基准电压;
根据所述第一缓存区内的所述目标数据和所述第二缓存区的所述目标数据计算所述第一基准电压与所述第二基准电压之间的电压密度,其中所述电压密度与所述第一缓存区内的所述目标数据和所述第二缓存区内的所述目标数据的数据位翻转次数正相关,与所述第一基准电压和所述第二基准电压之间的绝对偏移量负相关;
判断所述电压密度是否大于预设密度阈值;
如果大于预设密度阈值,则将所述第一缓存区或所述第二缓存区域内的所述目标数据写入第二固态存储块中并更新所述地址映射表,以使得后续针对所述目标数据的数据读取命令指向所述第二固态存储块。
2.根据权利要求1所述的数据存储方法,其特征在于,所述在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区的步骤之前,还包括:
根据正常读取次数和重试读取次数利用重试读取电压对初始基准电压进行校正,以获得校正基准电压;
其中,所述第一基准电压为所述校正基准电压,所述第二基准电压为所述初始基准电压。
3.根据权利要求2所述的数据存储方法,其特征在于,所述将所述第一缓存区或所述第二缓存区域内的所述目标数据写入第二固态存储块中并更新所述地址映射表的步骤包括:
将所述第一缓存区内的所述目标数据写入所述第二固态存储块中并更新所述地址映射表。
4.根据权利要求2所述的数据存储方法,其特征在于,所述根据正常读取次数和重试读取次数利用重试读取电压对初始基准电压进行校正的步骤包括:
以所述初始基准电压作为当前基准电压;
在所述当前基准电压下对所述第一固态存储块进行读取;
获取预定时间内所述第一固态存储块的重试读取次数和正常读取次数之间的比值;
判断所述重试读取次数和正常读取次数之间的比值是否大于预设的比例阈值;
若大于所述比例阈值,则以出现次数最多的重试读取电压对所述当前基准电压进行校正,并返回所述在所述当前基准电压下对所述第一固态存储块进行读取的步骤;
若小于或等于所述比例阈值,则以所述当前基准电压作为校正基准电压。
5.根据权利要求4所述的数据存储方法,其特征在于,所述以出现次数最多的重试读取电压对所述当前基准电压进行校正的步骤包括:
将所述出现次数最多的所述重试读取电压与校正前的所述当前基准电压的平均值作为校正后的所述当前基准电压。
6.根据权利要求2所述的数据存储方法,其特征在于,所述在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区步骤的步骤之后,还包括:
判断所述第一缓存区内的所述目标数据的错误率是否小于预设的错误率阈值,其中所述错误率阈值小于最大更正能力;
若小于所述错误率阈值,则不执行所述在第二基准电压下对所述第一固态存储块读取所述目标数据并存储在第二缓存区的步骤。
7.根据权利要求2所述的数据存储方法,其特征在于,所述在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区步骤的步骤之后,还包括:
判断所述第一固态存储块的累计读取次数是否小于预设的次数阈值;
若小于所述次数阈值,则不执行所述在第二基准电压下对所述第一固态存储块读取所述目标数据并存储在第二缓存区的步骤。
8.根据权利要求2所述的数据存储方法,其特征在于,所述将所述第一缓存区或所述第二缓存区域内所述目标数据写入第二固态存储块中并更新所述地址映射表的步骤之前,还包括:
判断所述第一基准电压是否大于所述第二基准电压,且所述绝对偏移量是否大于预设的偏移量阈值;
若所述第一基准电压大于所述第二基准电压,且所述绝对偏移量大于预设的偏移量阈值,则执行所述将所述第一缓存区或所述第二缓存区域内所述目标数据写入第二固态存储块中并更新所述地址映射表的步骤;
否则,不执行所述将所述第一缓存区或所述第二缓存区域内所述目标数据写入第二固态存储块中并更新所述地址映射表的步骤。
9.根据权利要求2所述的数据存储方法,其特征在于,所述在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区的步骤之后,还包括:
判断从所述第一固态存储块读取的所述目标数据的错误率是否大于预设的最大更正能力;
若大于所述最大更正能力,则改变所述第一基准电压,并返回所述在第一基准电压下从所述第一固态存储块读取所述目标数据并存储在第一缓存区的步骤,以对所述目标数据进行重新读取。
10.根据权利要求1所述的数据存储方法,其特征在于,所述电压密度与所述第一缓存区内的所述目标数据和所述第二缓存区内的所述目标数据的数据位翻转次数正相关,与所述第一基准电压与所述第二基准电压之间的绝对偏移量负相关,具体为:
所述电压密度为所述第一缓存区内的所述目标数据和所述第二缓存区内的所述目标数据的数据位翻转次数与所述第一基准电压与所述第二基准电压之间的绝对偏移量的比值。
11.一种固态硬盘的数据存储装置,其特征在于,所述数据存储装置包括存储器和与所述存储器耦接的处理器,所述存储器存储有程序指令,所述处理器能够执行所述程序指令以实现如权利要求1-10任一项所述的固态硬盘的数据存储方法。
CN202010507154.5A 2020-06-05 2020-06-05 一种固态硬盘的数据存储方法及装置 Active CN111813336B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010507154.5A CN111813336B (zh) 2020-06-05 2020-06-05 一种固态硬盘的数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010507154.5A CN111813336B (zh) 2020-06-05 2020-06-05 一种固态硬盘的数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN111813336A CN111813336A (zh) 2020-10-23
CN111813336B true CN111813336B (zh) 2022-08-09

Family

ID=72844685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010507154.5A Active CN111813336B (zh) 2020-06-05 2020-06-05 一种固态硬盘的数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN111813336B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112634978A (zh) * 2020-12-23 2021-04-09 江苏国科微电子有限公司 一种NVMe固态硬盘异常处理方法、装置及集成芯片
CN114968650B (zh) * 2022-06-22 2023-02-10 北京得瑞领新科技有限公司 数据巡检方法及装置、介质、ssd设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667454A (zh) * 2008-09-05 2010-03-10 三星电子株式会社 存储系统及其数据处理方法
CN103971749A (zh) * 2013-01-28 2014-08-06 上海华虹宏力半导体制造有限公司 非挥发性存储器存储单元特性评估方法
CN105590649A (zh) * 2014-11-10 2016-05-18 爱思开海力士有限公司 固态储存系统中的读取阈值校准
CN107799149A (zh) * 2016-08-29 2018-03-13 爱思开海力士有限公司 数据存储装置及其操作方法
CN109671466A (zh) * 2018-12-24 2019-04-23 湖南国科微电子股份有限公司 一种阈值电压调试方法、装置及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150085571A1 (en) * 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US9812193B2 (en) * 2013-11-08 2017-11-07 SK Hynix Inc. Threshold estimation using bit flip counts and minimums
KR102397016B1 (ko) * 2014-11-24 2022-05-13 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
EP3361347B1 (en) * 2017-02-10 2020-12-09 Stichting IMEC Nederland A voltage reference generator and a method for controlling a magnitude of a variation of an output voltage of a voltage reference generator
KR20200014135A (ko) * 2018-07-31 2020-02-10 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667454A (zh) * 2008-09-05 2010-03-10 三星电子株式会社 存储系统及其数据处理方法
CN103971749A (zh) * 2013-01-28 2014-08-06 上海华虹宏力半导体制造有限公司 非挥发性存储器存储单元特性评估方法
CN105590649A (zh) * 2014-11-10 2016-05-18 爱思开海力士有限公司 固态储存系统中的读取阈值校准
CN107799149A (zh) * 2016-08-29 2018-03-13 爱思开海力士有限公司 数据存储装置及其操作方法
CN109671466A (zh) * 2018-12-24 2019-04-23 湖南国科微电子股份有限公司 一种阈值电压调试方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
新型非易失性存储器;陈怡然等;《科技经纬》;20150115;全文 *

Also Published As

Publication number Publication date
CN111813336A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
TWI623878B (zh) 資料讀取方法以及儲存控制器
US8694852B2 (en) Nonvolatile memory devices with age-based variability of read operations and methods of operating same
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
US10936391B2 (en) Memory management method and storage controller
CN111813336B (zh) 一种固态硬盘的数据存储方法及装置
US20100217919A1 (en) Memory controller, semiconductor memory device and control method thereof
KR20110001881A (ko) 비트 에러 임계값 및 메모리 장치의 리맵핑
US10884665B2 (en) Data reading method, storage controller and storage device for optimizing read voltages
WO2020073691A1 (zh) 闪存自检的方法、固态硬盘以及存储装置
CN106415502A (zh) 数据存储的方法和装置
US20090024787A1 (en) Data writing method and apparatus
JP5815388B2 (ja) メモリアクセス制御装置および方法
US10586601B2 (en) Semiconductor memory device and read control method thereof
WO2023098269A1 (zh) 一种固态硬盘处理方法、系统、设备及非易失性可读存储介质
CN114300032A (zh) 一种检查存储介质失效的方法、装置和固态硬盘
CN108564981B (zh) 一种存储装置数据安全动态监控方法
US11532364B2 (en) Controller and operation method thereof
CN112732181B (zh) 一种ssd的数据迁移方法及相关装置
KR20130136341A (ko) 반도체 장치 및 그 동작 방법
CN116467225A (zh) 闪存的坏块管理方法、存储介质、电子装置和固态硬盘
CN114327265B (zh) 读取干扰检查方法、存储器存储装置及控制电路单元
CN113419682B (zh) 一种数据处理方法、装置和计算机闪存设备
US10475522B2 (en) Memory system including a delegate page and method of identifying a status of a memory system
TWI594126B (zh) 資料儲存裝置與資料儲存方法
CN112540882A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 1202, Floor 12, Building 3, No. 126, Yueda Lane, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310056

Patentee after: Zhejiang Huayi Core Technology Co.,Ltd.

Address before: 310051 room 512, building 2, 2930 South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Zhejiang Dahua Technology Co.,Ltd.