CN110083496B - 非易失存储设备的掉电时间估计方法和装置 - Google Patents

非易失存储设备的掉电时间估计方法和装置 Download PDF

Info

Publication number
CN110083496B
CN110083496B CN201810081525.0A CN201810081525A CN110083496B CN 110083496 B CN110083496 B CN 110083496B CN 201810081525 A CN201810081525 A CN 201810081525A CN 110083496 B CN110083496 B CN 110083496B
Authority
CN
China
Prior art keywords
power
time
read voltage
optimal read
storage device
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
CN201810081525.0A
Other languages
English (en)
Other versions
CN110083496A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810081525.0A priority Critical patent/CN110083496B/zh
Priority to PCT/CN2019/073038 priority patent/WO2019144918A1/zh
Publication of CN110083496A publication Critical patent/CN110083496A/zh
Application granted granted Critical
Publication of CN110083496B publication Critical patent/CN110083496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明实施例公开了一种非易失存储设备的掉电时间估计方法和装置,所述方法应用于非易失存储设备中,该方法包括:获取并记录参考数据在非易失存储设备的掉电时刻的第一最优读电压,参考数据为根据预配置的选取规则所确定的非易失存储设备的至少一个逻辑块地址扇区Sector中的数据;在非易失存储设备的所述掉电时刻之后的上电时刻,根据第一最优读电压读取参考数据,得到参考数据的出错数;若所述出错数不大于设定门限值,则确定所述非易失存储设备的掉电时长为第一设定时长。通过本发明实施例,能够根据参考数据在上电时的读取的出错时,识别出非易失存储设备在发生掉电至再次上电恢复期间,发生的是否为短时掉电,提高短时掉电时的响应效率。

Description

非易失存储设备的掉电时间估计方法和装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种非易失存储设备的掉电时间估计方法和装置。
背景技术
固态硬盘(Solid State Disk,SSD)的数据保持(Retention)时间是指数据在闪存(Flash)中的保存时间,即从数据存入到数据擦除的时间。一般来说,随着Retention时间的增加,数据的出错比特数会变多。这时就需要依赖SSD内部的数据巡检机制来保证数据的准确性,数据巡检通过对Flash中Retention时间大于设定门限值的数据进行搬移,为数据可靠性提供保障。
SSD在系统设计时都会考虑掉电保护机制,以保护系统在异常断电后数据没有异常丢失,提供系统的可靠性。SSD的掉电保护和相应的上电恢复,是产品竞争力的差异特性之一。但SSD在掉电期间,没有机制来记录掉电时间。SSD恢复上电后,系统中记录的数据Retention时间不再准确,数据巡检不能有效识别并搬移Retention时间大于设定门限值的数据,导致数据可靠性存在风险。因此,需要对SSD的掉电时间进行估计。目前对于掉电时间的估计方案,主要有以下几种:
一种是通过静态配置掉电时间T。但该方案由于T只对应一种掉电时间,实际场景下掉电时间可能为任意值,静态配置不能准确反映真实掉电时间。一种是利用主机(Host)时间估计掉电时间。但由于Host时间存在不确定性,如果Host时间在SSD掉电期间被改过,估计出的掉电时长就不能准确反映掉电的时长,甚至会出现负值。
可见,现有的掉电时间估计方案都不能够准确的估计出SSD掉电器件的物理时间,所以不能提供准确的掉电等效时间。
发明内容
本申请提供了一种非易失存储设备的掉电时间估计方法和装置,能够根据非易失存储设备中数据的出错数确定出非易失存储设备的掉电时间为短时掉电即掉电时长为第一设定时长。
结合第一方面,本申请提供了一种非易失存储设备的掉电时间估计方法,所述方法应用于非易失存储设备中,所述方法包括:获取并记录参考数据在所述非易失存储设备的掉电时刻的第一最优读电压,其中,所述参考数据为根据预配置的选取规则所确定的所述非易失存储设备的至少一个逻辑块地址扇区(Sector)中的数据;在所述非易失存储设备的所述掉电时刻之后的上电时刻,根据所述第一最优读电压读取所述参考数据,得到所述参考数据的出错数;若所述出错数不大于设定门限值,则确定所述非易失存储设备的掉电时长为第一设定时长。
本申请中,根据非易失存储设备掉电时刻的最优读电压,读取在掉电时刻之后的上电时刻的设备中的参考数据,得到参考数据的出错数,基于该出错数与预配置的出错门限值(设定门限值),能够确定出非易失存储设备是否发生了短时掉电。在确定设备发生的是短时掉电时,能够通过第一设定时长的合理配置,使非易失存储设备完成上电恢复后,无需要进行数据巡检,提高了非易失存储设备的响应效率。
结合第一方面,在一种可能的实施方式中,若所述出错数大于所述设定门限值,在所述非易失存储设备的所述掉电时刻之后的上电时刻,所述方法还包括:获取所述参考数据在所述上电时刻的第二最优读电压;根据所述第一最优读电压和所述第二最优读电压计算所述参考数据的最优读电压偏移;根据所述最优读电压偏移确定所述非易失存储设备的掉电时长。
本申请中,在确定出非易失存储设备发生非短时掉电时,能够根据参考数据的最优读电压偏移准确的在线估计出非易失存储设备的掉电时长,为基于Retention时间的数据巡检提供可靠的时间依据,保障了非易失存储设备中数据的可靠性。
结合第一方面,在一种可能的实施方式中,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,所述根据所述最优读电压偏移确定所述非易失存储设备的掉电时长,包括:确定在所述掉电时刻的、所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,其中,所述Retention时间所对应的最优读电压为所述Retention时间对应的参考数据所对应的最优读电压;将所述至少两个不同的Retention时间中的一个Retention时间作为参考时间,分别计算所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,与所述参考时间所对应的最优读电压的差值;根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长。
本申请中,若选取的参考数据所包括的数据对应至少两个不同的Retention时间,在选定其中一个Retention时间作为参考时间时,上述最优读电压的差值中与参考时间对应的最优读电压偏移最接近的差值所对应差值,则可以表征该最优读电压偏移对应的掉电时长,因此根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定出非易失存储设备的掉电时长。
结合第一方面,在一种可能的实施方式中,所述根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长,包括:将所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间与所述参考时间的差值,确定为所述非易失存储设备的掉电时长。
结合第一方面,在一种可能的实施方式中,所述根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长之前,还包括:确定所述最优读电压偏移不大于所述差值中的最大差值,且所述最优读电压偏移不小于所述差值中的最小差值。
本申请中,通过首先确定所述最优读电压偏移不大于所述差值中的最大差值,且所述最优读电压偏移不小于所述差值中的最小差值,避免了上述所有差值与最优读电压偏移相差过大,即最优读电压偏移大于所有差值中的最大值或者最优读电压偏移小于所有差值中的最小值,导致掉电时间估计偏差过大的问题。
结合第一方面,在一种可能的实施方式中,若所述最优读电压偏移大于所述差值中的最大差值,或所述最优读电压偏移小于所述差值中的最小差值,所述方法还包括:确定所述非易失存储设备的掉电时长为第二设定时长。
结合第一方面,在一种可能的实施方式中,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,且所述至少两个不同的Retention时间中Retention时间的最大值与最小值的差值小于设定值,所述根据所述最优读电压偏移确定所述非易失存储设备的掉电时长,包括:在预置的离线掉电时间表中查找所述非易失存储设备的已PE次数所在的第一PE次数区间;将所述离线掉电时间表中与所述第一PE次数区间所对应的电压偏移中,与所述最优读电压偏移最接近的电压偏移所对应的Retention时间确定为所述非易失存储设备的掉电时长;其中,所述离线掉电时间表用于存储第一PE次数区间、Retention时间和电压偏移的关联关系,每个第一PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
结合第一方面,在一种可能的实施方式中,所述参考数据的出错数为所述参考数据在所述上电时刻的出错比特数,或者所述参考数据在所述上电时刻的出错比特率,或者所述参考数据在所述上电时刻与所述掉电时刻之间的出错变化数。
结合第一方面,在一种可能的实施方式中,所述设定门限值是根据所述参考数据的数据大小确定的门限值,或者,是根据所述非易失存储设备的已PE次数确定的门限值,或者,是根据所述非易失存储设备的已PE次数与预置的出错门限表确定的门限值;其中,所述出错门限表用于存储第二PE次数区间与设定门限值的对应关系,每个第二PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
结合第一方面,在一种可能的实施方式中,所述第一最优读电压为根据所述参考数据和预配置的最优读电压确定规则确定的最优读电压。
结合第一方面,在一种可能的实施方式中,所述最优读电压确定规则为以下规则的一种:
所述参考数据所对应的所有Sector在掉电时刻的最优读电压的平均值、所述参考数据所对应的所有Sector所在的页Page在掉电时刻的最优读电压的平均值。
结合第一方面,在一种可能的实施方式中,所述参考数据为所述非易失存储设备中的每个Retention时间所对应的Block中的至少一个Sector中的数据。
本申请中,可以通过选择覆盖每一个Retention时间所对应的数据作为参考数据,以提高掉电时间的评估准确性。
结合第一方面,在一种可能的实施方式中,所述参考数据为每个Retention时间分组中至少一个Retention时间所对应的Block中的至少一个Sector中的数据;其中,所述Retention时间分组为根据所述非易失存储设备中所有Block的Retention时间的长短将所述所有Block的Retention时间进行划分后的分组。
结合第二方面,本申请提供了一种非易失存储设备的掉电时间估计装置,所述装置包括:最优读电压获取模块,用于获取并记录参考数据在所述非易失存储设备的掉电时刻的第一最优读电压,其中,所述参考数据为根据预配置的选取规则所确定的所述非易失存储设备的至少一个逻辑块地址扇区Sector中的数据;
出错数确定模块,用于在所述非易失存储设备的所述掉电时刻之后的上电时刻,根据所述第一最优读电压读取所述参考数据,得到所述参考数据的出错数;掉电时长确定模块,用于在所述出错数不大于设定门限值时,确定所述非易失存储设备的掉电时长为第一设定时长。
结合第二方面,在一种可能的实施方式中,若所述出错数大于所述设定门限值,在所述非易失存储设备的所述掉电时刻之后的上电时刻,所述最优读电压获取模块,还用于获取所述参考数据在所述上电时刻的第二最优读电压;所述掉电时长确定模块,还用于根据所述第一最优读电压和所述第二最优读电压计算所述参考数据的最优读电压偏移;根据所述最优读电压偏移确定所述非易失存储设备的掉电时长。
结合第二方面,在一种可能的实施方式中,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,所述掉电时长确定模块在根据所述最优读电压偏移确定所述非易失存储设备的掉电时长时,具体用于:确定在所述掉电时刻的、所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,其中,所述Retention时间所对应的最优读电压为所述Retention时间对应的参考数据所对应的最优读电压;将所述至少两个不同的Retention时间中的一个Retention时间作为参考时间,分别计算所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,与所述参考时间所对应的最优读电压的差值;根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长。
结合第二方面,在一种可能的实施方式中,所述掉电时长确定模块在根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长时,具体用于:将所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间与所述参考时间的差值,确定为所述非易失存储设备的掉电时长。
结合第二方面,在一种可能的实施方式中,所述掉电时长确定模块在根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长之前,还用于:确定所述最优读电压偏移不大于所述差值中的最大差值,且所述最优读电压偏移不小于所述差值中的最小差值。
结合第二方面,在一种可能的实施方式中,若所述最优读电压偏移大于所述差值中的最大差值,或所述最优读电压偏移小于所述差值中的最小差值,所述掉电时长确定模块还用于:
确定所述非易失存储设备的掉电时长为第二设定时长。
结合第二方面,在一种可能的实施方式中,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,且所述至少两个不同的Retention时间中Retention时间的最大值与最小值的差值小于设定值,所述掉电时长确定模块在根据所述最优读电压偏移确定所述非易失存储设备的掉电时长时,具体用于:在预置的离线掉电时间表中查找所述非易失存储设备的已PE次数所在的第一PE次数区间;将所述离线掉电时间表中与所述第一PE次数区间所对应的电压偏移中,与所述最优读电压偏移最接近的电压偏移所对应的Retention时间确定为所述非易失存储设备的掉电时长;其中,所述离线掉电时间表用于存储第一PE次数区间、Retention时间和电压偏移的关联关系,每个第一PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
结合第二方面,在一种可能的实施方式中,所述参考数据的出错数为所述参考数据在所述上电时刻的出错比特数,或者所述参考数据在所述上电时刻的出错比特率,或者所述参考数据在所述上电时刻与所述掉电时刻之间的出错变化数。
结合第二方面,在一种可能的实施方式中,所述设定门限值是根据所述参考数据的数据大小确定的门限值,或者,是根据所述非易失存储设备的已PE次数确定的门限值,或者,是根据所述非易失存储设备的已PE次数与预置的出错门限表确定的门限值;其中,所述出错门限表用于存储第二PE次数区间与设定门限值的对应关系,每个第二PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
结合第二方面,在一种可能的实施方式中,所述第一最优读电压为根据所述参考数据和预配置的最优读电压确定规则确定的最优读电压。
结合第二方面,在一种可能的实施方式中,所述最优读电压确定规则为以下规则的一种:所述参考数据所对应的所有Sector在掉电时刻的最优读电压的平均值、所述参考数据所对应的所有Sector所在的页Page在掉电时刻的最优读电压的平均值。
结合第二方面,在一种可能的实施方式中,所述参考数据为所述非易失存储设备中的每个Retention时间所对应的Block中的至少一个Sector中的数据。
结合第二方面,在一种可能的实施方式中,所述参考数据为每个Retention时间分组中至少一个Retention时间所对应的Block中的至少一个Sector中的数据;其中,所述Retention时间分组为根据所述非易失存储设备中所有Block的Retention时间的长短将所述所有Block的Retention时间进行划分后的分组。
结合第三方面,本申请提供了一种非易失存储设备,所述非易失存储设备包括处理器和存储器;所述存储器中存储有计算机程序指令;所述处理器用于运行所述计算机程序指令,实现如第一方面或第一方面的任一种实施方式中所述的掉电时间方法。
结合第四方面,本申请提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器运行时,使得计算机执行如第一方面或第一方面的任一种实施方式中所述的掉电时间方法。
结合第五方面,本申请提供了一种计算机程序产品,所述计算机程序包含指令,当该指令在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种实施方式中所述的数据迁移方法。
结合第六方面,本申请提供了一种计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1示出了根据本发明一实施例的一种非易失存储设备的掉电时间估计方法的流程示意图;
图2示出了根据本发明实施例的一种Retention时间分组表的示意图;
图3示出了根据本发明是另一实施例的一种非易失存储设备的掉电时间估计方法的流程示意图;
图4a-图4d示出了不同Block的最优读电压偏压随Retention时间变化的示意图;
图5示出了根据本发明一实施例确定掉电时长的流程示意图;
图6示出了根据本发明实施例的一种非易失存储设备的掉电时间估计装置的结构示意图;
图7示出了根据本发明实施例的一种非易失存储设备的结构示意图。
具体实施方式
为了更好的理解本发明实施例的方案,下面首先对本发明实施例中所涉的相关技术术语进行说明。
为了更好的理解本发明实施例,首先对本发明实施例中所涉及的相关技术术语进行说明。
Block:为非易失存储设备的擦除操作的最小单元,一个Block包含若干个Page。
Page:为非易失存储设备内部的读/写操作的最小单元,一个Page包含若干个逻辑地址扇区(Sector)。
Sector:Host是通过逻辑块地址(Logical Block Address,LBA)访问非易失存储设备的,每个LBA代表着一个Sector,即Sector为Host对非易失存储设备进行数据读/写操作的最小单元。
可见,Host对非易失存储设备进行读/写操作的最小单元与非易失存储设备内部进行读/写操作的最小单元是不一致的,在Host对非易失存储设备进行写操作时,在Host写入的数据小于一个Page时,非易失存储设备需要将数据先写入到缓存中,在缓存中的数据的达到一个Page大小后再将数据写入到Page中,或者还可以采用预填充的方式使写入数据达到一个Page大小,再将数据写入到Page中;在Host对非易失存储设备进行读操作时,若该读操作所对应的读数据的大小小于一个Page时,非易失存储设备会首先将待读取的数据所在的Page中的数据全部读出,再将读出的数据中Host所请求的部分数据返回给Host。
最优读电压:在NAND闪存中,数据通过施加电压读出。NAND闪存厂商提供了ReadOffset功能,即可用不同的读电压档位来读取数据,其中读出的数据出错比特数最少的某档电压被称为最优读电压。
最优读电压偏移:在NAND闪存存储的数据,随着Retention时间的变化,数据的最优读电压可能发生偏移。
本发明一实施例提供了一种非易失存储设备的掉电时间估计方法,通过该方法,能够依据非易失存储设备中数据的出错数确定出非易失存储设备的掉电是否为短时间掉电(即掉电时长为第一设定时长)。在确定设备发生的是短时掉电时,能够通过第一设定时长的合理配置,使非易失存储设备完成上电恢复后,无需要进行数据巡检,可以直接响应Host的输入/输出(Input/Output,I/O)请求,提高了非易失存储设备的响应效率。
本发明另一实施例中,能够在确定出非易失存储设备发生非短时掉电时,根据参考数据的最优读电压偏移准确的在线估计出非易失存储设备的掉电时长,为基于Retention时间的数据巡检提供可靠的时间依据,提升非易失存储设备中数据的可靠性。
可以理解的是,本发明实施例的非易失存储设备为基于与非门(NAND)Flash的非易失存储设备,可以是非易失存储器件(如闪存存储器)、也可以是基于非易失存储器件的存储设备,如基于NAND Flash的SSD。
图1示出了本发明实施例中一种非易失存储设备的掉电时间方法的流程示意图,该方法具体可以由非易失存储设备的控制器(如主控芯片)执行。如图1所示,本发明实施例的掉电时间估计方法主要可以包括以下步骤:
步骤S11:获取并记录参考数据在非易失存储设备的掉电时刻的第一最优读电压。
其中,参考数据为根据预配置的选取规则所确定的非易失存储设备的至少一个Sector中的数据。
本发明实施例中,上述预配置的选取规则是可以根据实际应用场景的需要进行配置的。例如,在本发明的一个可选实施例中,该选取规则可以是以下规则中的任一种:
预先指定的至少一个Sector中的数据、掉电时刻的Retention时间在预设时间范围的至少一个Sector中的数据。
可以理解的是,上述根据预配置的选取规则所确定的参考数据的具体数据内容是不受限定的,例如,所确定的参考数据可以是Host写入到非易失存储设备中的用户的应用数据,也可以预存储在非易失存储设备中的专门用于掉电时间估计的数据。其中,参考数据的选取规则还可以根据需要进行调整,例如,可以按照预设时间间隔对选取规则进行重新配置。
非易失存储设备的控制器在检测到发生掉电时,获取并记录所选取的参考数据的第一最优读电压。其中,控制器检测非易失存储设备掉电的方式为现有技术,例如,一种方式为控制器在检测到非易失存储设备的工作电压低于设定电压阈值时,则判断非易失存储设备发生了掉电,此时会获取并记录上述第一最优读电压。
需要说明的是,本发明实施例中的最优读电压,包括上述第一最优读电压、以及下文中的第二最优读电压等最优读电压,可以是具体的电压值,也可以是最优读电压的档位值,不同的档位值对应于不同的电压值。最优读电压的具体形式是可以根据非易失存储设备中最优读电压的配置策略确定的,该配置策略一般是由非易失存储设备的厂商在设备出厂时所设置的,例如,若非易失存储设备中所配置的最优读电压的获取策略中,获取到的最优读电压为电压的档位值,则第一最优读电压、第二最优读电压指的均是对应时刻的最优读电压档位值。
本发明一可选实施例中,第一最优读电压可以为根据参考数据和预配置的最优读电压确定规则确定的最优读电压。
最优读电压至少是对于一个Sector而言的,若参考数据中只包括一个Sector的数据,则可以直接以参考数据中所包括的该Sector的最优读电压作为第一最优读电压。若参考数据包括两个或多个Sector的数据,则可以根据预配置的最优端电压确定规则确定参考数据的最优读电压。其中,最优电压确定规则可以根据实际应用需要进行配置。
本发明一可选实施例中,最优读电压确定规则可以为以下两种规则的一种:
参考数据所对应的所有Sector在掉电时刻的最优读电压的平均值、参考数据所对应的所有Sector所在的Page在掉电时刻的最优读电压的平均值。
即可以基于参考数据所对应的所有Sector中的每个Sector的最优读电压,计算这些Sector的最优读电压的平均值,以该平均值作为参考数据的最优读电压。或者是,也可以是根据参考数据所对应的所有Sector中的的每个Sector所在的Page的最优读电压,计算这些Page的最优读电压的平均值,以该平均值作为参考数据的最优读电压。
其中,一个Sector或者一个Page的最优读电压的确定方式为现有技术。例如,可以基于预设置的最优读电压计算算法计算一个Sector或者一个Page的最优读电压,也可以直接使用非易失存储设备中预置的(一般为NAND厂商生成设备时设置的)的最优读电压获取或者(读偏移量)Read Offset/重读(Read Retry)等命令得到。
可以理解的是,对于不同的非易失存储设备,用于获取设备的最优读电压的最优读电压获取命令的命名可能是不同的,例如,有些非易失存储设备的配置的最优读电压命令为Auto Read Calibration,有些则是实现相同功能的不同命名的命令。
本发明一可选实施例中,参考数据可以为非易失存储设备中的每个Retention时间所对应的Block中的至少一个Sector中的数据。
由于非易失存储设备中数据读取的出错比特数会随着数据的Retention时间的增加而增大,因此,为了提高掉电时间的评估准确性,可以选择覆盖每一个Retention时间所对应的数据作为参考数据,每个Retention时间所对应的参考数据可以是该Retention时间对应的Block中的一个Sector中的数据,也可以是该Block中的一个Page中的数据,也可以是多个Page中的数据,还可以是一个字符线(wordline,WL)或多个WL的多个Page中的数据。
需要说明的是,若非易失存储设备中存在两个或多个Block的Retention时间相同时,所选取的参考数据中该Retention时间对应的参考数据,可以是两个或多个Block中其中任一Block中的数据,也可以包括两个或多个Block中每一个Block中的数据。
本发明一可选实施例中,参考数据可以为每个Retention时间分组中至少一个Retention时间所对应的Block中的至少一个Sector中的数据,其中,Retention时间分组为根据非易失存储设备中所有Block的Retention时间的长短将所有Block的Retention时间进行划分后的分组。
为了在使参考数据覆盖非易失存储设备中尽可能多的不同Retention时间对应的数据的基础上,提高数据处理的效率,本发明实施例中,可以首先根据非易失存储设备中的所有Block的Retention时间,将所有Block的Retention时间按照时间长短进行排序,将排序后的所有Retention时间划分为N个Retention时间分组,N≥1。由于Retention时间分组是根据时间长短进行划分的,因此,同一个Retention时间分组中的任意两个Retention时间之间的差值要小于不同Retention时间分组的两个Retention时间之间的差值,也就是说,同一个Retention时间分组中的所有Retention时间比较接近,可以以分组内的一个Retention时间表征该分组中所有Retention时间。因此,参考数据可以选取包括每个Retention时间分组中的至少一个Retention时间对应的Block中的数据。
作为一个具体的实例,如图2所示的Retention时间分组表中,将非易失存储设备中的所有Block对应的所有Retention时间根据时间长短划分为了若干个Retention时间分组,参考数据可以包括这若干个个分组中每一个分组中的至少一个Retention所对应的Block中的数据。例如,对于图2的Retention时间分组表,假设非易失存储设备中有10个Block,如果分为三组,则可以将10个Block的Retention时间降序排列后,将排序后的前3个Retention时间分为一组,对应为图2中所示的Retention时间最长的组,第4个至第6个Retention时间分为一组,对应为图2中Retention时间居中的一组,后四个Retention时间分为一组,对应为图2中Retention时间最短的组。
步骤S12:在非易失存储设备的掉电时刻之后的上电时刻,根据第一最优读电压读取参考数据,得到参考数据的出错数。
步骤S13:若出错数不大于设定门限值,则确定非易失存储设备的掉电时长为第一设定时长。
由于非易失存储设备中所存储的数据的出错数会随着数据所对应的Retention时间的增加而增大,因此,可以基于参考数据的出错数来估计非易存储设备的掉电时长。在基于掉电时刻的第一最优读电压读取参考数据时,如果读取的出错数未超过设定门限值,则可以说明设备的掉电时刻为短时掉电,掉电时长可以确定为第一设定时长T1。其中,第一设定时长T1可以根据经验值进行设置,也可以是通过实验的方式进行确定。
其中,参考数据的出错数可以为参考数据在上电时刻的出错比特数,或者参考数据在上电时刻的出错比特率,或者参考数据在上电时刻与掉电时刻之间的出错变化数。
出错比特率即误码率,为读取参考数据时读取出错的比特数与读取的参考数据的总比特数的比值。出错变化数即在上电时刻根据第一最优读电压读取参考数据时的出错比特数与掉电时刻根据最优读电压读取参考数据时的出错比特数的差值。
可以理解的是,在以出错变化数作为出错数时,本发明实施例中,在获取到非易失存储设备的掉电时刻的第一最优读电压之后,还可以包括:
在上述掉电时刻,根据第一最优读电压读取参考数据,得到参考数据在掉电时刻的出错比特数。
相对应的,在非易失存储设备的掉电时刻之后的上电时刻,根据第一最优读电压读取参考数据,得到参考数据的出错数,包括:
在上电时刻,根据第一最优读电压读取参考数据,得到参考数据在上电时刻的出错比特数,根据上电时刻的出错比特数与掉电时刻的出错比特数得到上电时参考数据的出错变化数。
本发明一可选实施例中,上述设定门限值可以是根据参考数据的数据大小确定的门限值。
其中,设定门限值与参考数据的数据大小可以呈正相关。这是由于在掉电时间相同时,参考数据的数据量越大即比特数越大,读取时出错的比特数相对也就越大,因此,可以根据所选取的参考数据的数据量对设定门限值进行设置或调整,从而使基于设定门限值的判断结果更符合实际应用场景,掉电时间估计更加准确。
本发明一可选实施例中,设定门限值可以是根据非易失存储设备的已PE次数确定的门限值。
即可以根据非易失存储设备的已擦写次数配置不同的门限值,实现设定门限值的动态可调。
一般来说,设定门限值与已PE次数呈正相关。这是由于在掉电时间相同时,非易失存储设备的已PE次数即设备已经被擦写的次数越多,设备的可靠性相对越差,读取相同数据时出错的比特数也就越高,因此,可以根据设备的已PE次数对上述设定门限值进行相应的设置或调整,以提高掉电时间估计的准确性。
本发明一可选实施例中,设定门限值可以是根据非易失存储设备的已PE次数与预置的出错门限表确定的门限值,其中,出错门限表用于存储第二PE次数区间与设定门限值的对应关系,每个第二PE次数区间为一个PE次数或包括至少两个连续的PE次数的次数区间。
本发明实施例中,可以在非易失存储设备中预先配置出错门限表,用于记录设备PE次数区间与设定门限值的对应关系。通过该方式,非易失存储设备的控制器在每次进行掉电时间估计时,即可根据设备当前的已PE次数,在出错门限表中首先确定确PE次数对应的PE次数区间,将该确定的PE次数区间所对应的设定门限值设置为当前的设定门限值,实现了设定门限值的动态调整。
图3示出了本发明另一实施例中提供的一种非易失存储设备的掉电时间估计方法的流程示意图。如图3所示,该掉电时间估计方法主要可以包括以下步骤:
步骤S21:获取并记录参考数据在非易失存储设备的掉电时刻的第一最优读电压。
步骤S22:在非易失存储设备的掉电时刻之后的上电时刻,根据第一最优读电压读取参考数据,得到参考数据的出错数。
其中,步骤S21和步骤S22是与图3中所示的方法中的步骤S11和步骤S12中相同的两个步骤,关于步骤S21和步骤S22中相关内容的具体描述,可以参见上述步骤S11和步骤S12中对应部分的详细描述,为了简洁,在此不再赘述。
步骤S23:若出错数大于设定门限值,获取参考数据在上电时刻的第二最优读电压。
步骤S24:根据第一最优读电压和第二最优读电压计算参考数据的最优读电压偏移,根据最优读电压偏移确定非易失存储设备的掉电时长。
本发明实施例中,若参考数据的出错数大于设定门限值,则说明非易失存储设备的掉电时间较长,此时可以依据参考数据掉电期间所对应的最优读电压偏移(即上电时刻的第二最优读电压与掉电时刻的最优读电压的差值)来确定较长的掉电时长T2。
在一个具体示例中,图4a-图4d分别示出了在55摄氏度(℃)温度下、PE寿命(设备能够被擦写的最大次数)为3000次的SSD中的四个Block(A、B、C、D分别对应为4个Block的标识)的在不同Retention时间变化下最优读电压偏移的变化示意图,横坐标表示时间,单位为小时,纵坐标表示最优读电压的档位值。具体的,图中横坐标的1-9分别对应为0小时、6小时、12小时、18小时、24小时、31小时、93小时、185小时和397小时的Retention时间,纵坐标表示每个Retention时间所对应的最优读电压。由图中可以看出,随着Retention时间变化的增加,每个Block的最优读电压偏移单调变化,例如,对于Block A,在Retention时间变化为6小时时(由1变化至2),最优读电压偏移为-2即-8-(-6),在Retention时间变化为12小时至24小时的范围时(由1变化至2/3/4/5),最优读电压偏移为-4即-10-(-6),在Retention时间变化为31小时至93小时的范围时(由1变化至6或7),最优读电压偏移为-6,可见,最优读电压偏移的绝对值随着Retention时间变化的增加单调递增,因此,利用最优读电压偏移能够较准确用于设备的Retention时间变化。
本发明一可选实施例中,若参考数据为至少两个不同的Retention时间所对应的Sector的数据,根据最优读电压偏移确定非易失存储设备的掉电时长,包括:
确定在掉电时刻的、上述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,其中,Retention时间所对应的最优读电压为Retention时间对应的参考数据所对应的最优读电压;
将至少两个不同的Retention时间中的一个Retention时间作为参考时间,分别计算至少两个不同的Retention时间每个Retention时间所对应的最优读电压,与参考时间所对应的最优读电压的差值;
根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长。
由前文的描述可知,Retention时间是对于Block而言的,因此,参考数据为至少两个不同的Retention时间所对应的Sector中的数据,指的即是参考数据包括至少两个Retention时间不同的Block中数据。
随着Retention时间的变化,参考数据的最优读电压也会发生变化,因此,参考数据在掉电期间(掉电时刻至掉电之后的上电时刻)的最优读电压偏移能够表征参考数据的Retention时间的变化,该Retention时间的变化即对应为非易失存储设备的掉电时间。若选取的参考数据所包括的数据对应至少两个不同的Retention时间,选定其中一个Retention时间作为参考时间,则每个Retention时间对应的最优读电压和参考时间对应的最优读电压的差值中,与最优读电压偏移最接近的差值所对应的两个Retention时间的时间差,则可以表征该最优读电压偏移对应的掉电时长,即可以根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长。
本发明一可选实施例中,根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长,包括:
将差值中与最优读电压偏移最接近的差值所对应的Retention时间与参考时间的差值,确定为非易失存储设备的掉电时长。
作为一个具体示例,如图5所示,掉电时刻参考数据的最优读电压为V_poff,上电时刻参考数据的最优读电压为V_on,则最优读电压偏移delta为V_on-V_poff。该示例中,参考数据中包括掉电时刻的k个不同Retention时间的Block,参考时间为ret_1,ret_1所对应的掉电时刻的最优读电压为V_ret1,k个Retention时间(包括参考数所对应的Retention时间)在掉电时刻的最优读电压与V_ret1的差值分别为Δ1,Δ2,...,Δk,则将Δ1,Δ2,...,Δk中与delta最接近的差值对应的掉电时的Retention时间为ret_x,则掉电时间T2可以确定为ret_x-ret_1。
本发明一可选实施例中,根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长之前,还可以包括:
确定最优读电压偏移不大于差值中的最大差值,且最优读电压偏移不小于差值中的最小差值。
为了避免上述所有Retention所对应的最优读电压与参考时间所对应的最优读电压的差值,与最优读电压偏移相差过大,即最优读电压偏移大于所有差值中的最大值或者最优读电压偏移小于所有差值中的最小值,导致掉电时间估计偏差过大的问题。本发明实施例中,在计算出上述所有Retention所对应的最优读电压与参考时间所对应的最优读电压的差值之后,首先确定最优读电压偏移是否在计算出的所有差值所覆盖的电压区间范围之内,即不小于最小差值且不大于最大差值,如果最优读电压偏移不小于最小差值且不大于最大差值,则表明与最优读电压偏移最接近的差值和最优读电压的差值在合理范围内,可以基于该差值对应的Retention时间和参考时间,确定设备的掉电时长。
本发明一可选实施例中,若最优读电压偏移大于差值中的最大差值,或最优读电压偏移小于差值中的最小差值,该掉电时间的估计方法还可以包括:
确定非易失存储设备的掉电时长为第二设定时长。
由前文描述可知,若最优读电压偏移大于差值中的最大差值,或最优读电压偏移小于差值中的最小差值,即说明最优读电压不在上述所有差值所覆盖的电压区间范围之内,即使是与最优读电压偏移最接近的差值,该差值与最优读电压偏移之差也过大,导致根据该差值对应的Retention时间和参考时间确定设备的掉电时长偏差过大。此时,则可以以预设的第二设定时长作为掉电时长。
可以理解的是,在实际应用中,第二设定时长可以根据经验值、实验值或者根据所配置的非易失存储设备中的数据搬移策略进行设置。例如,可以根据预配置的数据搬移的门限值的大小设置或调整第二设定时长,如果数据搬移的门限值较小,则表明非易失存储设备中设备数据搬移的频率较高,数据的可靠性要求较高,此时,第二设定时长可以设置一相对较大的数值,以避免第二设定时长设定过小,使需要搬移的数据不能够及时被搬移,导致数据的可靠性存在风险。
本发明一可选实施例中,若参考数据为至少两个不同的Retention时间所对应的Sector中的数据,且至少两个不同的Retention时间中Retention时间的最大值与最小值的差值小于设定值,则根据最优读电压偏移确定非易失存储设备的掉电时长,包括:
在预置的离线掉电时间表中查找非易失存储设备的已PE次数所在的第一PE次数区间;
将离线掉电时间表中,与第一PE次数区间所对应的电压偏移中,与最优读电压偏移最接近的电压偏移所对应的Retention时间确定为非易失存储设备的掉电时长。
其中,离线掉电时间表用于存储第一PE次数区间、Retention时间和电压偏移的关联关系,每个第一PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
在实际应用中,在满带宽写满全盘(非易失存储设备)等极端应用场景下,非易失存储设备中的所有Block的Retention时间可能会基本相同,即所有Block的Retention时间中最大值与最小值的差值小于设定值,此时则可以认为是设备中的所有Block只有一种Retention时间的情况。由于非易失存储设备中数据在一段时间的最优读电压偏移的大小,与设备已PE次数和该一段时间的时长(即Retention时间变化)关联,因此,可以通过设置用于存储PE次数区间、Retention时间和电压偏移的关联关系的离线掉电时间表,以用于非易失存储设备的Block的Retention时间只有一种的特殊场景下掉电时长的确定。
可以理解的是,上述离线掉电时间表中的每个第一PE次数区间可以是一个次数区间,也可以是一个PE次数,在实际应用中,可以根据非易失存储设备的可用存储资源大小配置该掉电时间表。例如,若设备的存储空间比较大,则可以以一个PE次数作为一个区间,配置存储PE次数、Retention时间和电压偏移的关联关系的离线掉电时间表。此时,上述查找非易失存储设备的已PE次数所在的第一PE次数区间即为查找离线掉电时间表中与已PE次数最接近的PE次数,并将离线掉电时间表中与查找到的PE次数所对应的电压偏移中,与最优读电压偏移最接近的电压偏移所对应的Retention时间确定为非易失存储设备的掉电时长。若设备空间相对较小,则可以以包括至少两个PE次数的区间来建立上述离线掉电时间表。
作为一个具体的示例,表1中示出了一个离线掉电时间表的示意性结构。如表1中所示,表中示出了M个PE次数、N个Retention时间变化与电压偏移的关联关系,表中时间表示Retention时间变化,时间与PE次数关联对应的v11、V12、……、vMN表示电压偏移,如v11表示PE次数为PE1、Retention时间变化为Retention1时对应的电压偏移。根据表1所示的离线掉电时间表确定非易失存储设备的掉电时长时,若设备的已PE次数为PEM,则可以在PEM所在的行中查找与参考数据的最优读电压偏移最接近的电压偏移,例如,参考数据的最优读电压偏移与表1中的最优读电压偏移vM2最接近,则可确定出设备的掉电时长为Retention2。
表1
Figure BDA0001560146350000121
在确定出非易失存储设备的掉电时长后,将掉电时长加到设备的系统Retention时间轴上,完成系统Retention时间轴的更新,即更新设备中每个Block的Retention时间为掉电时的Retention时间加上估计出的掉电时长。完成系统Retention时间轴的更新之后,控制器即可开始响应Host的I/O(写/读)操作请求,根据系统更新后的Retention时间轴,控制设备中Retention时间大于设定的数据搬移门限值的Block中的数据进行数据搬移。
本发明实施例的非易失存储设备的掉电时间估计方法,能够在设定掉电之后再次上电时,利用参考数据掉电时的最优读电压读取该参考数据,得到数据读取的出错数,由于数据读取的出错数与掉电时长相关联,因此,可以依据该出错数确定出设备是否为短时掉电,并将掉电时长为短时掉电时,确定设备的掉电时长为配置值(第一设定时长)。如果确定出设备发生的不是短时掉电,则根据参考数据在掉电期间的最优读电压偏移进一步在线估计出设备的掉电时长。通过实验可以证明,本发明实施例的方案能够有效提高非易失存储设备掉电时间估计的准确性。通过本发明实施例,能够有效避免设备发生短时掉电时,由于掉电时长估计过长触发设备发生多次擦写,而导致设备可擦写次数减少,寿命变短的问题。通过本发明实施例,还能够指导设备的数据巡检机制,避免在设备发生非短时掉电时,由于时间估计过短导致数据巡检有效性降低,不能够及时对需要进行搬移的数据进行数据搬移,导致设备中数据可靠性降低的问题,提升数据的可靠性。
对应于图1中所示的方法,本发明实施例还提供了一种非易失存储设备的掉电时间估计装置。如图6所示,该掉电时间估计装置600主要可以包括最优读电压获取模块610、出错数确定模块620和掉电时长确定模块630。
最优读电压获取模块610,用于获取并记录参考数据在非易失存储设备的掉电时刻的第一最优读电压,其中,参考数据为根据预配置的选取规则所确定的非易失存储设备的至少一个逻辑块地址扇区Sector中的数据.
出错数确定模块620,用于在非易失存储设备的掉电时刻之后的上电时刻,根据第一最优读电压读取参考数据,得到参考数据的出错数;
掉电时长确定模块630,用于在出错数不大于设定门限值时,确定非易失存储设备的掉电时长为第一设定时长。
可以理解的是,根据本申请实施例的掉电时间估计装置600,可对应于图1中所示的根据本申请实施例的掉电时间估计方法的执行主体,具体可以实现控制器或处理器等。掉电时间估计装置600的各模块的操作和/或功能的详细实现方式可参见图1所对应的本申请实施例的掉电时间估计方法部分中的描述,为了简洁,在此不再赘述。
本发明一可选实施例中,参考数据可以为非易失存储设备中的每个Retention时间所对应的Block中的至少一个Sector中的数据。
本发明一可选实施例中,参考数据可以为每个Retention时间分组中至少一个Retention时间所对应的Block中的至少一个Sector中的数据;其中,Retention时间分组为根据非易失存储设备中所有Block的Retention时间的长短将所有Block的Retention时间进行划分后的分组。
本发明一可选实施例中,参考数据的出错数可以为参考数据在上电时刻的出错比特数,或者为参考数据在上电时刻的出错比特率,或者为参考数据在上电时刻与掉电时刻之间的出错变化数。
本发明一可选实施例中,设定门限值可以是根据参考数据的数据大小确定的门限值,或者,是根据非易失存储设备的已PE次数确定的门限值,或者,是根据非易失存储设备的已PE次数与预置的出错门限表确定的门限值;其中,出错门限表用于存储第二PE次数区间与设定门限值的对应关系,每个第二PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
本发明一可选实施例中,第一最优读电压为根据参考数据和预配置的最优读电压确定规则确定的最优读电压。
本发明一可选实施例中,最优读电压确定规则为以下规则的一种:
参考数据所对应的所有Sector在掉电时刻的最优读电压的平均值、参考数据所对应的所有Sector所在的页Page在掉电时刻的最优读电压的平均值。
本发明一可选实施例中,若出错数大于设定门限值,在非易失存储设备的掉电时刻之后的上电时刻,最优读电压获取模块610,还用于获取参考数据在上电时刻的第二最优读电压。
相应的,掉电时长确定模块630,还用于根据第一最优读电压和第二最优读电压计算参考数据的最优读电压偏移;根据最优读电压偏移确定非易失存储设备的掉电时长。
可以理解的是,本实施例中的掉电时间估计装置600,可对应于图3中所示的根据本申请实施例的掉电时间估计方法的执行主体。掉电时间估计装置600的各模块的操作和/或功能的详细实现方式可参见图3所对应的本申请实施例的掉电时间估计方法部分中的描述,为了简洁,在此不再赘述。
本发明一可选实施例中,若参考数据为至少两个不同的Retention时间所对应的Sector中的数据,掉电时长确定模块630在根据最优读电压偏移确定非易失存储设备的掉电时长时,具体用于:
确定在掉电时刻的、至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,其中,Retention时间所对应的最优读电压为Retention时间对应的参考数据所对应的最优读电压;
将至少两个不同的Retention时间中的一个Retention时间作为参考时间,分别计算至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,与参考时间所对应的最优读电压的差值;
根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长。
本发明一可选实施例中,掉电时长确定模块630在根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长时,具体用于:
将差值中与最优读电压偏移最接近的差值所对应的Retention时间与参考时间的差值,确定为非易失存储设备的掉电时长。
本发明一可选实施例中,掉电时长确定模块630在根据差值中与最优读电压偏移最接近的差值所对应的Retention时间和参考时间,确定非易失存储设备的掉电时长之前,还用于:
确定最优读电压偏移不大于差值中的最大差值,且最优读电压偏移不小于差值中的最小差值。
本发明一可选实施例中,若最优读电压偏移大于差值中的最大差值,或最优读电压偏移小于差值中的最小差值,掉电时长确定模块630还用于:
确定非易失存储设备的掉电时长为第二设定时长。
本发明一可选实施例中,若参考数据为至少两个不同的Retention时间所对应的Sector中的数据,且至少两个不同的Retention时间中Retention时间的最大值与最小值的差值小于设定值,掉电时长确定模块630在根据最优读电压偏移确定非易失存储设备的掉电时长时,具体用于:
在预置的离线掉电时间表中查找非易失存储设备的已PE次数所在的第一PE次数区间;
将离线掉电时间表中与第一PE次数区间所对应的电压偏移中,与最优读电压偏移最接近的电压偏移所对应的Retention时间确定为非易失存储设备的掉电时长;
其中,离线掉电时间表用于存储第一PE次数区间、Retention时间和电压偏移的关联关系,每个第一PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
可以理解的是,根据本发明各实施例的掉电时间估计装置600,可分别对应于根据本发明各实施例的掉电时间估计方法的执行主体,并且掉电时间估计装置600中的各个模块的实现的操作和/或功能分别为了实现本发明各实施例的掉电时间估计方法的相应流程,掉电时间估计装置600中各模块的具体操作和或功能实现可参见本发明上述各实施例的调节方法中相对应的步骤,为了简洁,在此不再赘述。
图7示出了根据本申请实施例的非易失存储设备的掉电时间估计方法和装置的一种非易失存储设备的结构示意图。如图7所示,该非易失存储设备700主要可以包括处理器701、存储器702和通信接口703,存储器702用于存储可执行的计算机程序代码,处理器701通过读取存储器702中存储的计算机程序代码来运行与计算机程序代码对应的计算机程序,以用于执行本申请任一实施例的掉电时间估计方法。通信接口703用于与外部设备通信,非易失存储设备700还可以包括总线704,总线704用于连接处理器701、存储器702和通信接口703,使处理器701、存储器702和通信接口703通过总线704进行相互通信。
可以理解的是,根据本申请实施例的电子设备700,可对应于根据本申请实施例的掉电时间估计方法的执行主体。
本发明实施例还提供了一种计算机可读存储介质,可读存储介质中存储有计算机程序指令,当计算机程序指令被处理器运行时,可以实现本发明任一实施例中的掉电时间估计方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

Claims (22)

1.一种非易失存储设备的掉电时间估计方法,其特征在于,所述方法应用于非易失存储设备中,所述方法包括:
获取并记录参考数据在所述非易失存储设备的掉电时刻的第一最优读电压,其中,所述参考数据为根据预配置的选取规则所确定的所述非易失存储设备的至少一个逻辑块地址扇区Sector中的数据;
在所述非易失存储设备的所述掉电时刻之后的上电时刻,根据所述第一最优读电压读取所述参考数据,得到所述参考数据的出错数;
若所述出错数不大于设定门限值,则确定所述非易失存储设备发生短时掉电,所述非易失存储设备的掉电时长为第一设定时长;
其中,所述第一最优读电压为所述参考数据在所述非易失存储设备的掉电时刻对应的最优读电压;
所述第一设定时长为预先配置的所述非易失存储设备发生短时掉电时对应的掉电时长。
2.根据权利要求1所述的方法,其特征在于,若所述出错数大于所述设定门限值,则确定所述非易失存储设备发生非短时掉电,在所述非易失存储设备的所述掉电时刻之后的上电时刻,所述方法还包括:
获取所述参考数据在所述上电时刻的第二最优读电压;
根据所述第一最优读电压和所述第二最优读电压计算所述参考数据的最优读电压偏移;
根据所述最优读电压偏移确定所述非易失存储设备的掉电时长。
3.根据权利要求2所述的方法,其特征在于,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,所述根据所述最优读电压偏移确定所述非易失存储设备的掉电时长,包括:
确定在所述掉电时刻的、所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,其中,所述Retention时间所对应的最优读电压为所述Retention时间对应的参考数据所对应的最优读电压;
将所述至少两个不同的Retention时间中的一个Retention时间作为参考时间,分别计算所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,与所述参考时间所对应的最优读电压的差值;
根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长。
4.根据权利要求3所述的方法,其特征在于,所述根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长,包括:
将所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间与所述参考时间的差值,确定为所述非易失存储设备的掉电时长。
5.根据权利要求3所述的方法,其特征在于,所述根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长之前,还包括:
确定所述最优读电压偏移不大于所述差值中的最大差值,且所述最优读电压偏移不小于所述差值中的最小差值。
6.根据权利要求5所述的方法,其特征在于,若所述最优读电压偏移大于所述差值中的最大差值,或所述最优读电压偏移小于所述差值中的最小差值,所述方法还包括:
确定所述非易失存储设备的掉电时长为第二设定时长;
所述第二设定时长为预先配置的所述非易失存储设备发生非短时掉电且所述最优读电压偏移大于所述差值中的最大差值时对应的掉电时长;
或,所述第二设定时长为预先配置的所述非易失存储设备发生非短时掉电且所述最优读电压偏移小于所述差值中的最小差值时对应的掉电时长。
7.根据权利要求2所述的方法,其特征在于,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,且所述至少两个不同的Retention时间中Retention时间的最大值与最小值的差值小于设定值,所述根据所述最优读电压偏移确定所述非易失存储设备的掉电时长,包括:
在预置的离线掉电时间表中查找所述非易失存储设备的已PE次数所在的第一PE次数区间;
将所述离线掉电时间表中与所述第一PE次数区间所对应的电压偏移中,与所述最优读电压偏移最接近的电压偏移所对应的Retention时间确定为所述非易失存储设备的掉电时长;
其中,所述离线掉电时间表用于存储第一PE次数区间、Retention时间和电压偏移的关联关系,每个第一PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间;
所述PE为所述非易失存储设备的擦写。
8.根据权利要求1所述的方法,其特征在于,所述参考数据的出错数为所述参考数据在所述上电时刻的出错比特数,或者所述参考数据在所述上电时刻的出错比特率,或者所述参考数据在所述上电时刻与所述掉电时刻之间的出错变化数。
9.根据权利要求1所述的方法,其特征在于,所述设定门限值是根据所述参考数据的数据大小确定的门限值,或者,是根据所述非易失存储设备的已PE次数确定的门限值,或者,是根据所述非易失存储设备的已PE次数与预置的出错门限表确定的门限值;
其中,所述出错门限表用于存储第二PE次数区间与设定门限值的对应关系,每个第二PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间。
10.根据权利要求1所述的方法,其特征在于,所述第一最优读电压为根据所述参考数据和预配置的第一最优读电压确定规则确定的最优读电压。
11.根据权利要求10所述的方法,其特征在于,所述第一最优读电压确定规则为以下规则的一种:所述参考数据所对应的所有Sector在掉电时刻的第一最优读电压的平均值、所述参考数据所对应的所有Sector所在的页Page在掉电时刻的第一最优读电压的平均值。
12.根据权利要求1所述的方法,其特征在于,所述参考数据为所述非易失存储设备中的每个Retention时间所对应的Block中的至少一个Sector中的数据。
13.根据权利要求1所述的方法,其特征在于,所述参考数据为每个Retention时间分组中至少一个Retention时间所对应的Block中的至少一个Sector中的数据;
其中,所述Retention时间分组为根据所述非易失存储设备中所有Block的Retention时间的长短将所述所有Block的Retention时间进行划分后的分组。
14.一种非易失存储设备的掉电时间估计装置,其特征在于,所述装置包括:
最优读电压获取模块,用于获取并记录参考数据在所述非易失存储设备的掉电时刻的第一最优读电压,其中,所述参考数据为根据预配置的选取规则所确定的所述非易失存储设备的至少一个逻辑块地址扇区Sector中的数据;
出错数确定模块,用于在所述非易失存储设备的所述掉电时刻之后的上电时刻,根据所述第一最优读电压读取所述参考数据,得到所述参考数据的出错数;
掉电时长确定模块,用于在所述出错数不大于设定门限值时,确定所述非易失存储设备发生短时掉电,所述非易失存储设备的掉电时长为第一设定时长;
其中,所述第一最优读电压为所述参考数据在所述非易失存储设备的掉电时刻对应的最优读电压;
所述第一设定时长为预先配置的所述非易失存储设备发生短时掉电时对应的掉电时长。
15.根据权利要求14所述的装置,其特征在于,若所述出错数大于所述设定门限值,则确定所述非易失存储设备发生非短时掉电,在所述非易失存储设备的所述掉电时刻之后的上电时刻,所述最优读电压获取模块,还用于获取所述参考数据在所述上电时刻的第二最优读电压;
所述掉电时长确定模块,还用于根据所述第一最优读电压和所述第二最优读电压计算所述参考数据的最优读电压偏移;
根据所述最优读电压偏移确定所述非易失存储设备的掉电时长。
16.根据权利要求15所述的装置,其特征在于,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,所述掉电时长确定模块在根据所述最优读电压偏移确定所述非易失存储设备的掉电时长时,具体用于:
确定在所述掉电时刻的、所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,其中,所述Retention时间所对应的最优读电压为所述Retention时间对应的参考数据所对应的最优读电压;
将所述至少两个不同的Retention时间中的一个Retention时间作为参考时间,分别计算所述至少两个不同的Retention时间中每个Retention时间所对应的最优读电压,与所述参考时间所对应的最优读电压的差值;
根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长。
17.根据权利要求16所述的装置,其特征在于,所述掉电时长确定模块在根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长时,具体用于:
将所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间与所述参考时间的差值,确定为所述非易失存储设备的掉电时长。
18.根据权利要求16所述的装置,其特征在于,所述掉电时长确定模块在根据所述差值中与所述最优读电压偏移最接近的差值所对应的Retention时间和所述参考时间,确定所述非易失存储设备的掉电时长之前,还用于:
确定所述最优读电压偏移不大于所述差值中的最大差值,且所述最优读电压偏移不小于所述差值中的最小差值。
19.根据权利要求18所述的装置,其特征在于,若所述最优读电压偏移大于所述差值中的最大差值,或所述最优读电压偏移小于所述差值中的最小差值,所述掉电时长确定模块还用于:
确定所述非易失存储设备的掉电时长为第二设定时长;
所述第二设定时长为预先配置的所述非易失存储设备发生非短时掉电且所述最优读电压偏移大于所述差值中的最大差值时对应的掉电时长;
或,
所述第二设定时长为预先配置的所述非易失存储设备发生非短时掉电且所述最优读电压偏移小于所述差值中的最小差值时对应的掉电时长。
20.根据权利要求15所述的装置,其特征在于,若所述参考数据为至少两个不同的Retention时间所对应的Sector中的数据,且所述至少两个不同的Retention时间中Retention时间的最大值与最小值的差值小于设定值,所述掉电时长确定模块在根据所述最优读电压偏移确定所述非易失存储设备的掉电时长时,具体用于:
在预置的离线掉电时间表中查找所述非易失存储设备的已PE次数所在的第一PE次数区间;
将所述离线掉电时间表中与所述第一PE次数区间所对应的电压偏移中,与所述最优读电压偏移最接近的电压偏移所对应的Retention时间确定为所述非易失存储设备的掉电时长;
其中,所述离线掉电时间表用于存储第一PE次数区间、Retention时间和电压偏移的关联关系,每个第一PE次数区间为一个PE次数或者为包括至少两个连续的PE次数的次数区间;
所述PE为所述非易失存储设备的擦写。
21.一种非易失存储设备,其特征在于,所述非易失存储设备包括处理器和存储器;
所述存储器中存储有计算机程序指令,实现如权利要求1至13中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器运行时,使得计算机执行如权利要求1至13中任一项所述的方法。
CN201810081525.0A 2018-01-26 2018-01-26 非易失存储设备的掉电时间估计方法和装置 Active CN110083496B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810081525.0A CN110083496B (zh) 2018-01-26 2018-01-26 非易失存储设备的掉电时间估计方法和装置
PCT/CN2019/073038 WO2019144918A1 (zh) 2018-01-26 2019-01-24 非易失存储设备的掉电时间估计方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810081525.0A CN110083496B (zh) 2018-01-26 2018-01-26 非易失存储设备的掉电时间估计方法和装置

Publications (2)

Publication Number Publication Date
CN110083496A CN110083496A (zh) 2019-08-02
CN110083496B true CN110083496B (zh) 2020-10-16

Family

ID=67394508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810081525.0A Active CN110083496B (zh) 2018-01-26 2018-01-26 非易失存储设备的掉电时间估计方法和装置

Country Status (2)

Country Link
CN (1) CN110083496B (zh)
WO (1) WO2019144918A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11573720B2 (en) * 2020-08-19 2023-02-07 Micron Technology, Inc. Open block family duration limited by time and temperature

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6495475B2 (en) * 2001-03-28 2002-12-17 Atmel Corporation Method for fabrication of a high capacitance interpoly dielectric
CN102394107B (zh) * 2011-10-27 2014-08-27 上海新储集成电路有限公司 一种位级非易失性静态随机存取存储器及其实现方法
US9455029B2 (en) * 2014-05-23 2016-09-27 Micron Technology, Inc. Threshold voltage analysis
CN106201342A (zh) * 2016-06-30 2016-12-07 联想(北京)有限公司 一种数据处理方法及电子设备
CN106293539A (zh) * 2016-08-18 2017-01-04 华为技术有限公司 一种闪存设备的访问方法、装置和系统
CN106981308B (zh) * 2017-03-20 2020-04-28 记忆科技(深圳)有限公司 一种精准获取llr信息的应用方法

Also Published As

Publication number Publication date
WO2019144918A1 (zh) 2019-08-01
CN110083496A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
US10573389B2 (en) Storage device having parameter calibration function, and operating method thereof
US9652156B2 (en) Host read command return reordering based on time estimation of flash read command completion
EP3399421B1 (en) Flash memory device access method and apparatus
US9063844B2 (en) Non-volatile memory management system with time measure mechanism and method of operation thereof
US9298608B2 (en) Biasing for wear leveling in storage systems
KR20210111527A (ko) 메모리 시스템에서 가비지 컬렉션을 수행하는 장치 및 방법
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
JP6112595B2 (ja) メモリシステムにおける消去管理
US20150254015A1 (en) Method of operating a flash memory system using a migration operation
US10475516B2 (en) Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method
CN108369818A (zh) 一种闪存设备的刷新方法和装置
US8593884B2 (en) Data storage system and a data retention method thereof
CN104572489A (zh) 磨损均衡方法及装置
TW201907287A (zh) 資料讀取方法以及儲存控制器
US10126970B2 (en) Paired metablocks in non-volatile storage device
KR20150073109A (ko) 데이터 저장 디바이스 및 그 데이터 유지 방법
KR20140020634A (ko) 반도체 메모리 장치 및 그의 동작 방법
CN110120234B (zh) 固态存储设备及其最优读出阈值电压的搜索方法
CN109690465B (zh) 一种存储设备管理方法及用户终端
CN110083496B (zh) 非易失存储设备的掉电时间估计方法和装置
US10303397B1 (en) Read disturb handling in storage devices
CN113467713A (zh) 数据分离方法及固态硬盘
US20200073590A1 (en) Memory management method and storage controller
KR102496386B1 (ko) 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법
JP2017134440A (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
GR01 Patent grant
GR01 Patent grant