CN112558871B - 闪存数据保存分析方法、装置、可读存储介质及电子设备 - Google Patents

闪存数据保存分析方法、装置、可读存储介质及电子设备 Download PDF

Info

Publication number
CN112558871B
CN112558871B CN202011456338.XA CN202011456338A CN112558871B CN 112558871 B CN112558871 B CN 112558871B CN 202011456338 A CN202011456338 A CN 202011456338A CN 112558871 B CN112558871 B CN 112558871B
Authority
CN
China
Prior art keywords
data
data analysis
read retry
logic address
flash memory
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
CN202011456338.XA
Other languages
English (en)
Other versions
CN112558871A (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.)
Chengdu Baiwei Storage Technology Co ltd
Original Assignee
Chengdu Baiwei Storage 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 Chengdu Baiwei Storage Technology Co ltd filed Critical Chengdu Baiwei Storage Technology Co ltd
Priority to CN202011456338.XA priority Critical patent/CN112558871B/zh
Publication of CN112558871A publication Critical patent/CN112558871A/zh
Application granted granted Critical
Publication of CN112558871B publication Critical patent/CN112558871B/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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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]

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供的一种闪存数据保存分析方法、装置、可读存储介质及电子设备,从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,随机划分为多个逻辑地址子集合,对每个子集合进行数据分析,比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,分别得到对应的数据分析结果,根据各个子集合对应的数据分析结果和读重试修改前后的数据分析结果,得到最终分析结果,以此提高了数据分析处理流程的全面性,通过数据分析处理流程中不同数据分析方法得到的多个数据分析结果来综合分析读重试现象出现的原因是否为数据保存问题,提高了判断出现读重试现象原因的准确度,为后续采取解决措施提供了依据,进一步提升了闪存设备的读性能。

Description

闪存数据保存分析方法、装置、可读存储介质及电子设备
技术领域
本发明涉及数据存储领域,尤其涉及一种闪存数据保存分析方法、装置、可读存储介质及电子设备。
背景技术
NAND(NAND flash memory)是一种计算机闪存设备,数据写入NAND颗粒之后,存储单元(cell)中充注的电子会从浮栅层逃逸到沟道,离开的电子多的话,就会导致再次读这个数据的时候发生错误,称为数据保存问题(Data Retention)。
随着时间推移,电子逃逸的速度会越来越快,或者由于颗粒本身质量较差,在颗粒寿命前期就会出现明显的电子逃逸现象。在NAND使用过程中由于数据保存问题存在,如果没有使用读擦洗(read scrub)等类似NAND数据刷新的功能,NAND会有读性能下降的现象,具体表现在单个页(page)上,就是需要进行读重试(read retry)甚至深度读重试(deepretry)才能读到正确的数据。NAND颗粒出现较大量读重试现象,准确定位该问题是否由数据保存问题导致的很有必要,也为后续采取哪种解决措施提供依据。
发明内容
本发明所要解决的技术问题是:提供了一种闪存数据保存分析方法、装置、可读存储介质及电子设备,能够提高定位出现读重试现象原因的准确度。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种闪存数据保存分析方法,包括步骤:
从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种闪存数据保存分析装置,包括:
集合划分模块,用于从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
数据分析模块,用于对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
结果分析模块,用于根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述闪存数据保存分析方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述闪存数据保存分析方法中的各个步骤。
本发明的有益效果在于:从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将逻辑地址集合随机划分为多个逻辑地址子集合,采用不同的数据分析方法分别对各个逻辑地址子集合进行数据分析,得到对应的数据分析结果,根据所有的数据分析结果确定待分析的闪存设备的数据保存问题的分析结果,通过数据分析处理流程中不同数据分析方法得到的多个数据分析结果来综合分析读重试现象出现的原因是否为数据保存问题,提高了判断出现读重试现象原因的准确度。
附图说明
图1为本发明实施例的一种闪存数据保存分析方法中的步骤流程图;
图2为本发明实施例的一种闪存数据保存分析装置的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图;
图4为本发明实施例的闪存数据保存分析方法中D1集合的数据分析方法流程图;
图5为本发明实施例的闪存数据保存分析方法中D2集合的数据分析方法流程图;
图6为本发明实施例的闪存数据保存分析方法中D3集合的数据分析方法流程图;
图7为本发明实施例的闪存数据保存分析方法中D4集合的数据分析方法流程图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
如图1所示,本发明实施例提供了一种闪存数据保存分析方法,包括步骤:
从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果。
从上述描述可知,本发明的有益效果在于:从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将逻辑地址集合随机划分为多个逻辑地址子集合,采用不同的数据分析方法分别对各个逻辑地址子集合进行数据分析,得到对应的数据分析结果,根据所有的数据分析结果确定待分析的闪存设备的数据保存问题的分析结果,通过数据分析处理流程中不同数据分析方法得到的多个数据分析结果来综合分析读重试现象出现的原因是否为数据保存问题,提高了判断出现读重试现象原因的准确度。
进一步的,所述从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合中包括:
从待分析的闪存设备中随机选取待分析的读重试的初始逻辑地址集合;
将所述初始逻辑地址集合转换成对应的物理地址集合;
根据所述物理地址集合对所述初始逻辑地址集合进行滤重,筛选得到所述待分析的读重试的逻辑地址集合,所述逻辑地址集合中每一个逻辑地址对应的物理地址不同。
由上述描述可知,根据物理地址集合对初始逻辑地址集合进行滤重,保证了筛选得到的待分析的读重试的逻辑地址集合中的每一逻辑地址对应的物理地址都是不同的,避免对同一逻辑地址重复进行同样的数据分析,减少进行数据分析处理流程的时间,提高了数据分析处理流程的效率。
进一步的,所述采用的数据分析方法包括以下中的任一种:
依次读取选取的逻辑地址子集合中每一逻辑地址对应的块的数据,得到第一数据读取结果,根据所述第一数据读取结果得到对应的数据分析结果;
或,关闭读流程中的读重试和深度读重试功能;
按照预设循环次数依次读取选取的逻辑地址子集合中每一逻辑地址对应的页的数据,得到第二数据读取结果,根据所述第二数据读取结果得到对应的数据分析结果;
或,按照预设次数连续读取选取的逻辑地址子集合中每一逻辑地址对应的页的原始数据,得到第三数据读取结果,根据所述第三数据读取结果得到对应的数据分析结果;
或,绘制选取的逻辑地址子集合中每一逻辑地址对应的页的概率密度曲线,并将所述概率密度曲线与同类型的标准概率密度曲线进行比较,根据比较结果得到对应的数据分析结果。
进一步的,所述根据所述第一数据读取结果得到对应的数据分析结果包括:
判断出现读失败的逻辑地址个数是否小于第一预设值,若是,则是数据保存问题,若否,则不是数据保存问题;
所述根据所述第二数据读取结果得到对应的数据分析结果包括:
判断是否大于第二预设值的逻辑地址满足首次循环读失败,后续循环均读成功,若是,则是数据保存问题,若否,则不是数据保存问题;
所述根据所述第三数据读取结果得到对应的数据分析结果包括:
根据每一次的数据读取结果确定不同的相邻次数的读取过程中对应的比特反转数;
判断在所述预设次数连续读取的过程中,靠后的相邻次数的读取过程中对应的比特反转数是否小于第一次和第二次读取过程中对应的比特反转数,若是,则是数据保存问题,若否,则不是数据保存问题;
所述根据比较结果得到对应的数据分析结果包括:
判断是否小于第三预设值的逻辑地址对应的概率密度曲线的波谷比同类型的标准概率密度曲线高,并且波形相较于所述标准概率密度曲线左移,若是,则是数据保存问题,若否,则不是数据保存问题。
由上述描述可知,通过对不同逻辑地址子集合采用不同的数据分析方法,分析得到多个数据分析结果,后续判断出现读重试现象的原因时可根据多个数据分析结果进行综合判断,提高了数据分析处理流程的全面性,避免了仅通过一种数据分析方法判断出现读重试现象原因可能会出现判断错误的情况,从而提高了判断出现读重试现象原因的准确度。
进一步的,所述对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果之后还包括:
修改主控系统的读重试控制策略;
比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,根据比较结果得到对应的数据分析结果。
进一步的,包括:
所述修改主控系统的读重试控制策略包括:
在读重试之前增加普通读重试流程;
所述普通读重试流程具体为:
对于第一次读失败的逻辑地址,直接执行一次普通的重试读;
比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,根据比较结果得到对应的数据分析包括:
判断读重试控制策略修改前对应的出现读重试的逻辑地址的个数是否大于读重试控制策略修改后预设时间段后对应的出现读重试的逻辑地址的个数,并且两者差值大于第四预设值,若是,则是数据保存问题,若否,则不是数据保存问题。
由上述描述可知,在对每一逻辑地址子集合进行数据分析处理之后,修改读重试控制策略,使得第一次读失败的数据不会立即进入读重试流程,而是直接执行一次普通的重试读,对出现读重试现象的原因作进一步的判断,提高了数据分析处理流程的全面性,能够进一步提高了判断出现读重试现象原因的准确度。
进一步的,所述根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果包括:
判断所有数据分析结果中是数据保存问题的个数是否大于第五预设值,若是,则判断所述待分析的闪存设备出现读重试现象的原因是数据保存问题,若否,则判断所述待分析的闪存设备出现读重试现象的原因不是数据保存问题。
由上述描述可知,汇总多个数据分析结果综合判断待分析的闪存设备的数据保存问题的分析结果,以此判断出现读重试现象是否为数据保存问题造成的,提高了判断出现读重试现象原因的准确度,为后续采取解决措施提供了依据,进一步提升了闪存设备的读性能。
如图2所示,本发明另一实施例提供了一种闪存数据保存分析装置,包括:
集合划分模块,用于从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
数据分析模块,用于对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
结果分析模块,用于根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述闪存数据保存分析方法中的各个步骤。
如图3所示,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述闪存数据保存分析方法中的各个步骤。
本发明上述闪存数据保存分析方法、装置、计算机可读存储介质及电子设备能够适用于任何类型的闪存设备,比如SLC NAND闪存、MLC NAND闪存等,以下通过具体实施方式进行说明:
实施例一
请参照图1,本实施例的一种闪存数据保存分析方法,包括步骤:
S1、从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
比如,从待分析NAND的firmware(固件)日志文件中随机选择一段时间的日志,选取出待分析的读重试的初始LA(Logic Address,逻辑地址)集合,假设选取出200个LA,代表了200个page(页)出现读重试;
具体的,所述从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合中包括:
从待分析的闪存设备中随机选取待分析的读重试的初始逻辑地址集合;
将所述初始逻辑地址集合转换成对应的物理地址集合;
根据所述物理地址集合对所述初始逻辑地址集合进行滤重,筛选得到所述待分析的读重试的逻辑地址集合,所述逻辑地址集合中每一个逻辑地址对应的物理地址不同;
比如,将得到的初始LA集合转换成对应的PA(Physical Address,物理地址)集合,PA中包含channel(通道)、target(目标)、lun(逻辑单元)、plane(面)、block(块)、page(页)等信息,根据PA中的channel、target、lun、plane、block五个参数执行LA滤重,保证待分析的读重试的LA集合中每一LA对应的PA中这五个参数不完全相同,并剔除PA中page等于0的LA,得到待分析的读重试的LA集合,假设滤重后剩下了120个LA,将待分析的读重试的LA集合随机划分为等量的多个LA子集合,本实施例中,划分为4个LA子集合,称为D1、D2、D3、D4,每个LA子集合有30个LA;
S2、对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
比如,采用不同的数据分析方法分别对D1、D2、D3、D4进行数据分析,得到对应的数据分析结果;
S3、根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果;
具体的,判断所有数据分析结果中是数据保存问题的个数是否大于第五预设值,若是,则判断所述待分析的闪存设备出现读重试现象的原因是数据保存问题,若否,则判断所述待分析的闪存设备出现读重试现象的原因不是数据保存问题;
比如,假设第五预设值为2,当5个数据分析结果中,数据分析结果为是数据保存问题的有4个,数据分析结果为不是数据保存问题的有1个,数据分析结果为是数据保存问题的个数4个大于第五预设值2,则可以判断待分析的闪存设备出现读重试现象的原因是数据保存问题,当5个数据分析结果中,数据分析结果为是数据保存问题的有1个,数据分析结果为不是数据保存问题的有4个,数据分析结果为是数据保存问题的个数1个小于第五预设值2,则可以判断待分析的闪存设备出现读重试现象的原因不是数据保存问题。
实施例二
请参照图1、4-7,本实施例在实施例一的基础上进一步限定了不同的数据分析方法:
具体的,在步骤S2中采用的数据分析方法包括以下中的任一种:
S21、依次读取选取的逻辑地址子集合中每一逻辑地址对应的块的数据,得到第一数据读取结果,根据所述第一数据读取结果得到对应的数据分析结果;
具体的,所述根据所述第一数据读取结果得到对应的数据分析结果包括:
判断出现读失败的逻辑地址个数是否小于第一预设值,若是,则是数据保存问题,若否,则不是数据保存问题;
其中,cell(存储单元)电子逃逸之后,如果出问题的cell所在的block出现读操作,由于存在读干扰现象,会将问题cell进行轻微写,即重新注入电子,如果当前page的data retention(数据保存)问题不是很严重,再加上block上多次出现读操作,当前page中的问题cell重新注入电子,可能会使cell状态恢复正常,造成出现读失败的page再没有出现失败或者少量出现失败;
本实施例中,对实施例一中的集合D1进行上述数据分析方法,如图4所示,对D1集合,依次读取每一LA对应的block的数据,得到数据读取结果,判断出现读失败的LA个数是否小于第一预设值,假设之前出现读失败的page为20个,第一预设值为10个,当前数据读取结果为0个page出现读失败,则D1数据分析结果为是数据保存问题,当当前数据读取结果为18个page出现读失败,则D1数据分析结果为不是数据保存问题;
或者,S22、关闭读流程中的读重试和深度读重试功能;
按照预设循环次数依次读取选取的逻辑地址子集合中每一逻辑地址对应的页的数据,得到第二数据读取结果,根据所述第二数据读取结果得到对应的数据分析结果;
具体的,所述根据所述第二数据读取结果得到对应的数据分析结果包括:
判断是否大于第二预设值的逻辑地址满足首次循环读失败,后续循环均读成功,若是,则是数据保存问题,若否,则不是数据保存问题;
本实施例中,对实施例一中的集合D2进行上述数据分析方法,如图5所示,关闭读流程中的read retry(读重试)和deep retry(深度读重试)功能,假设预设循环次数为10次,对D2集合总共读10个循环,每个循环依次读取每一LA对应的page的数据,得到数据读取结果,判断是否大于第二预设值的LA满足首次循环读失败,后续循环均读成功,比如第二预设值为12个,当数据读取结果为14个LA满足首次循环读失败,后续循环均读成功,则D2数据分析结果为是数据保存问题,当数据读取结果为5个LA满足首次循环读失败,后续循环均读成功,则D2数据分析结果为不是数据保存问题;
或者,S23、按照预设次数连续读取选取的逻辑地址子集合中每一逻辑地址对应的页的原始数据,得到第三数据读取结果,根据所述第三数据读取结果得到对应的数据分析结果;
具体的,所述根据所述第三数据读取结果得到对应的数据分析结果包括:
根据每一次的数据读取结果确定不同的相邻次数的读取过程中对应的比特反转数;
判断在所述预设次数连续读取的过程中,靠后的相邻次数的读取过程中对应的比特反转数是否小于第一次和第二次读取过程中对应的比特反转数,若是,则是数据保存问题,若否,则不是数据保存问题;
其中,如果LA对应的page中的cell出现了data retention问题,第一次读rawdata(原始数据)会因为电子逃逸而出现读失败,对单个cell来说就是里面的bit(比特)反转,体现在raw data上来说,就是第一次读的bit反转数较多,第一次读时对cell的短暂充电会使cell状态恢复正常,因此后续读raw data中bit反转比较少,且后续多次读,rawdata的bit反转比较稳定;
本实施例中,对实施例一中的集合D3进行上述数据分析方法,如图6所示,假设预设次数为3次,对D3集合中的每一LA连续读取3次该LA对应的page的raw data,记为RD1、RD2、RD3,将RD1与RD2进行异或得到R1,RD2与RD3进行异或得到R2,统计R1中的bit 1的个数,记为B1,统计R2中的bit 1的个数,记为B2,假设B1=15,B2=10,B1大于B2,则D3数据分析结果为是数据保存问题;
在一个可选的实施方式中,可以设置一个预设值,只有B1大于B2,并两者的差值大于所述预设值,才判断D3的数据分析结果是数据保存问题;
或者,S24、绘制选取的逻辑地址子集合中每一逻辑地址对应的页的概率密度曲线,并将所述概率密度曲线与同类型的标准概率密度曲线进行比较,根据比较结果得到对应的数据分析结果;
具体的,所述根据比较结果得到对应的数据分析结果包括:
判断是否小于第三预设值的逻辑地址对应的概率密度曲线的波谷比同类型的标准概率密度曲线高,并且波形相较于所述标准概率密度曲线左移,若是,则是数据保存问题,若否,则不是数据保存问题;
本实施例中,对实施例一中的集合D4进行上述数据分析方法,如图7所示,绘制D4集合中每一LA对应的page的VT(概率密度)曲线,并与同类型(slc、mlc、tlc等)的标准VT曲线进行比较,假设第三预设值为17个,当15个LA的概率密度曲线的波谷比同类型的标准概率密度曲线高,并且波形相较于所述标准概率密度曲线左移,则D4数据分析结果为是数据保存问题,当19个LA的概率密度曲线的波谷比同类型的标准概率密度曲线低,并且波形相较于所述标准概率密度曲线右移,则D4数据分析结果为不是数据保存问题;
其中,可以根据实际情况对逻辑地址集合划分的个数进行设定,可以大于1个小于或者等于4个,然后从上面四种不同的数据分析方法中选择对应个数的数据分析方法对划分出的逻辑地址子集合进行一一分析,比如,可以划分为3个逻辑地址子集合,然后选择出三种不同的数据分析方法,分别对3个逻辑地址子集合进行分析;
本实施例中,划分为四个逻辑地址子集合:D1、D2、D3以及D4,然后采用上述S21所述方法对D1进行分析,上述S22所述方法对D2进行分析,上述S23所述方法对D3进行分析,上述S24所述方法对D4进行分析。
实施例三
本实施例在实施例一或实施例二的基础上进一步限定了优化的数据分析方法:
具体的,在步骤S2中所述对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果之后还包括:
S25、修改主控系统的读重试控制策略;
比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,根据比较结果得到对应的数据分析结果;
具体的,所述修改主控系统的读重试控制策略包括:
在读重试之前增加普通读重试流程;
所述普通读重试流程具体为:
对于第一次读失败的逻辑地址,直接执行一次普通的重试读;
所述比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,根据比较结果得到对应的数据分析包括:
判断读重试控制策略修改前对应的出现读重试的逻辑地址的个数是否大于读重试控制策略修改后预设时间段后对应的出现读重试的逻辑地址的个数,并且两者差值大于第四预设值,若是,则是数据保存问题,若否,则不是数据保存问题;
比如,修改主控系统的读重试控制策略,在read retry之前增加normal retry(普通读重试)的步骤,在第一次读失败之后不进入read retry流程调节读电压,而是直接执行一次normal retry,重新对读重试控制策略修改前对应的出现读重试的LA进行读取,假设预设时间为5小时,5小时后判断修改前对应的出现读重试的LA的个数是否大于修改后对应的出现读重试的LA的个数,并且两者差值大于第四预设值,比如第四预设值为20,读重试控制策略修改前对应的出现读重试的LA个数为50个,读重试控制策略修改后对应的出现读重试的LA个数为10个,由于修改前对应的出现读重试的LA个数大于修改后对应的出现读重试的LA个数,且差值为40,则LA集合数据分析结果为是数据保存问题;
本实施例中,所述步骤S3包括:
对于S21、S22、S23、S24、S25对应的数据分析结果进行汇总,如果所有数据分析结果中是数据保存问题的个数大于第五预设值,可以得出以下结论:出现读重试,存在数据保存问题的影响,可以通过read scrub等手段进行解决或者缓解,如果所有数据分析结果中是数据保存问题的个数小于第五预设值,则待分析的闪存设备出现读重试现象的原因不存在数据保存问题的影响;
比如,假设第五预设值为2,当5个数据分析结果中,数据分析结果为是数据保存问题的有4个,数据分析结果为不是数据保存问题的有1个,数据分析结果为是数据保存问题的个数4个大于第五预设值2,则可以判断待分析的闪存设备出现读重试现象的原因是数据保存问题,当5个数据分析结果中,数据分析结果为是数据保存问题的有1个,数据分析结果为不是数据保存问题的有4个,数据分析结果为是数据保存问题的个数1个小于第五预设值2,则可以判断待分析的闪存设备出现读重试现象的原因不是数据保存问题。
实施例四
请参照图2,一种闪存数据保存分析装置,包括:
集合划分模块,用于从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
数据分析模块,用于对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
结果分析模块,用于根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果。
实施例五
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现实施例一、二、三中闪存数据保存分析方法的各个步骤。
实施例六
请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现实施例一、二、三中闪存数据保存分析方法中的各个步骤。
综上所述,本发明提供的一种闪存数据保存分析方法、装置、可读存储介质及电子设备,从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,随机划分为多个逻辑地址子集合,对每个子集合进行数据分析,得到对应的数据分析结果,修改读重试控制策略,比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,得到对应的数据分析结果,根据各个子集合对应的数据分析结果和读重试修改前后的数据分析结果,判断所有数据分析结果中是数据保存问题的个数是否大于第五预设值,若是,则是数据保存问题,若否,则不是数据保存问题,以此提高了数据分析处理流程的全面性,通过数据分析处理流程中不同数据分析方法得到的多个数据分析结果来综合分析读重试现象出现的原因是否为数据保存问题,提高了判断出现读重试现象原因的准确度,为后续采取解决措施提供了依据,进一步提升了闪存设备的读性能。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种闪存数据保存分析方法,其特征在于,包括步骤:
从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果;
所述采用的数据分析方法包括以下中的任一种:
依次读取选取的逻辑地址子集合中每一逻辑地址对应的块的数据,得到第一数据读取结果,根据所述第一数据读取结果得到对应的数据分析结果;
或,关闭读流程中的读重试和深度读重试功能;
按照预设循环次数依次读取选取的逻辑地址子集合中每一逻辑地址对应的页的数据,得到第二数据读取结果,根据所述第二数据读取结果得到对应的数据分析结果;
或,按照预设次数连续读取选取的逻辑地址子集合中每一逻辑地址对应的页的原始数据,得到第三数据读取结果,根据所述第三数据读取结果得到对应的数据分析结果;
或,绘制选取的逻辑地址子集合中每一逻辑地址对应的页的概率密度曲线,并将所述概率密度曲线与同类型的标准概率密度曲线进行比较,根据比较结果得到对应的数据分析结果。
2.根据权利要求1所述的一种闪存数据保存分析方法,其特征在于,所述从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合中包括:
从待分析的闪存设备中随机选取待分析的读重试的初始逻辑地址集合;
将所述初始逻辑地址集合转换成对应的物理地址集合;
根据所述物理地址集合对所述初始逻辑地址集合进行滤重,筛选得到所述待分析的读重试的逻辑地址集合,所述逻辑地址集合中每一个逻辑地址对应的物理地址不同。
3.根据权利要求1所述的一种闪存数据保存分析方法,其特征在于,所述根据所述第一数据读取结果得到对应的数据分析结果包括:
判断出现读失败的逻辑地址个数是否小于第一预设值,若是,则是数据保存问题,若否,则不是数据保存问题;
所述根据所述第二数据读取结果得到对应的数据分析结果包括:
判断是否大于第二预设值的逻辑地址满足首次循环读失败,后续循环均读成功,若是,则是数据保存问题,若否,则不是数据保存问题;
所述根据所述第三数据读取结果得到对应的数据分析结果包括:
根据每一次的数据读取结果确定不同的相邻次数的读取过程中对应的比特反转数;
判断在所述预设次数连续读取的过程中,靠后的相邻次数的读取过程中对应的比特反转数是否小于第一次和第二次读取过程中对应的比特反转数,若是,则是数据保存问题,若否,则不是数据保存问题;
所述根据比较结果得到对应的数据分析结果包括:
判断是否小于第三预设值的逻辑地址对应的概率密度曲线的波谷比同类型的标准概率密度曲线高,并且波形相较于所述标准概率密度曲线左移,若是,则是数据保存问题,若否,则不是数据保存问题。
4.根据权利要求1所述的一种闪存数据保存分析方法,其特征在于,所述对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果之后还包括:
修改主控系统的读重试控制策略;
比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,根据比较结果得到对应的数据分析结果。
5.根据权利要求4所述的一种闪存数据保存分析方法,其特征在于,所述修改主控系统的读重试控制策略包括:
在读重试之前增加普通读重试流程;
所述普通读重试流程具体为:
对于第一次读失败的逻辑地址,直接执行一次普通的重试读;
所述比较读重试控制策略修改前后对应的出现读重试的逻辑地址的个数,根据比较结果得到对应的数据分析包括:
判断读重试控制策略修改前对应的出现读重试的逻辑地址的个数是否大于读重试控制策略修改后预设时间段后对应的出现读重试的逻辑地址的个数,并且两者差值大于第四预设值,若是,则是数据保存问题,若否,则不是数据保存问题。
6.根据权利要求1至5中任一项所述的一种闪存数据保存分析方法,其特征在于,所述根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果包括:
判断所有数据分析结果中是数据保存问题的个数是否大于第五预设值,若是,则判断所述待分析的闪存设备出现读重试现象的原因是数据保存问题,若否,则判断所述待分析的闪存设备出现读重试现象的原因不是数据保存问题。
7.一种闪存数据保存分析装置,其特征在于,包括:
集合划分模块,用于从待分析的闪存设备中随机选取待分析的读重试的逻辑地址集合,将所述逻辑地址集合随机划分为多个逻辑地址子集合;
数据分析模块,用于对每一个逻辑地址子集合进行数据分析,得到每一个逻辑地址子集合对应的数据分析结果,不同逻辑地址子集合采用的数据分析方法不同;
结果分析模块,用于根据得到的所有数据分析结果确定所述待分析的闪存设备的数据保存问题的分析结果;
所述采用的数据分析方法包括以下中的任一种:
依次读取选取的逻辑地址子集合中每一逻辑地址对应的块的数据,得到第一数据读取结果,根据所述第一数据读取结果得到对应的数据分析结果;
或,关闭读流程中的读重试和深度读重试功能;
按照预设循环次数依次读取选取的逻辑地址子集合中每一逻辑地址对应的页的数据,得到第二数据读取结果,根据所述第二数据读取结果得到对应的数据分析结果;
或,按照预设次数连续读取选取的逻辑地址子集合中每一逻辑地址对应的页的原始数据,得到第三数据读取结果,根据所述第三数据读取结果得到对应的数据分析结果;
或,绘制选取的逻辑地址子集合中每一逻辑地址对应的页的概率密度曲线,并将所述概率密度曲线与同类型的标准概率密度曲线进行比较,根据比较结果得到对应的数据分析结果。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的一种闪存数据保存分析方法中的各个步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的一种闪存数据保存分析方法中的各个步骤。
CN202011456338.XA 2020-12-11 2020-12-11 闪存数据保存分析方法、装置、可读存储介质及电子设备 Active CN112558871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011456338.XA CN112558871B (zh) 2020-12-11 2020-12-11 闪存数据保存分析方法、装置、可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011456338.XA CN112558871B (zh) 2020-12-11 2020-12-11 闪存数据保存分析方法、装置、可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112558871A CN112558871A (zh) 2021-03-26
CN112558871B true CN112558871B (zh) 2022-12-20

Family

ID=75061962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011456338.XA Active CN112558871B (zh) 2020-12-11 2020-12-11 闪存数据保存分析方法、装置、可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112558871B (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102903395B (zh) * 2012-10-19 2016-09-28 上海华虹宏力半导体制造有限公司 存储器的可靠性测试方法
CN106688044A (zh) * 2014-12-22 2017-05-17 桑迪士克科技有限责任公司 基于单元电压分布单独测量存储器磨损和数据保持
TWI566094B (zh) * 2015-02-04 2017-01-11 慧榮科技股份有限公司 資料儲存裝置及其資料更新方法
US9753657B2 (en) * 2015-09-18 2017-09-05 Sandisk Technologies Llc Dynamic reconditioning of charge trapped based memory
CN106816179B (zh) * 2015-11-30 2020-12-25 华为技术有限公司 一种闪存纠错方法和装置
TWI608350B (zh) * 2016-03-09 2017-12-11 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方 法
TWI690928B (zh) * 2019-01-10 2020-04-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
TWI696074B (zh) * 2019-01-24 2020-06-11 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN111863107B (zh) * 2019-04-28 2022-08-02 武汉海康存储技术有限公司 闪存纠错方法及装置
CN111552650B (zh) * 2020-04-13 2021-03-02 深圳市时创意电子有限公司 一种数据保存方法、装置、存储介质和数据存储设备

Also Published As

Publication number Publication date
CN112558871A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
US11621043B2 (en) Read level tracking and optimization
US10521292B2 (en) Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information
US9514042B2 (en) Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof
CN110689914A (zh) 一种固态硬盘的读纠错方法、装置、设备及存储介质
CN113035265B (zh) 坏块筛选方法、装置、可读存储介质及电子设备
US11947819B2 (en) Method and system for testing conversion relationship between block reading and page reading in flash memory chip
US11404141B2 (en) Preemptive read refresh in memories with time-varying error rates
CN114446379A (zh) 基于各种定时容限参数设定的性能度量来对存储器装置进行评级
CN112558871B (zh) 闪存数据保存分析方法、装置、可读存储介质及电子设备
CN115509799B (zh) 一种基于副本和ldpc混合解码结合的存储器读取优化方法
CN116994631B (zh) 基于ecc的闪存颗粒多次筛选方法、控制器及介质
CN112802530A (zh) Nand测试方法、装置、可读存储介质及电子设备
US10734079B1 (en) Sub block mode read scrub design for non-volatile memory
CN112732181A (zh) 一种ssd的数据迁移方法及相关装置
CN113470728B (zh) 纠错能力测试方法、装置、可读存储介质及电子设备
CN110570892A (zh) 控制存储器刷新的方法、装置以及控制器
CN115509798A (zh) 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法
US11416164B2 (en) Time indicator of super block operations
CN111767165B (zh) 数据处理方法、装置及控制设备
CN113419688A (zh) 一种mlc芯片的错误率分析方法、系统及装置
CN113419682A (zh) 一种数据处理方法、装置和计算机闪存设备
CN109144424B (zh) 一种固态硬盘的读写方法、装置、设备及存储介质
Li et al. A page lifetime-aware scrubbing scheme for improving reliability of Flash-based SSD
US11983424B2 (en) Read disturb information isolation system
Pletka et al. Enabling 3D-TLC NAND Flash in Enterprise Storage Systems

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