CN108564981B - 一种存储装置数据安全动态监控方法 - Google Patents
一种存储装置数据安全动态监控方法 Download PDFInfo
- Publication number
- CN108564981B CN108564981B CN201810259124.XA CN201810259124A CN108564981B CN 108564981 B CN108564981 B CN 108564981B CN 201810259124 A CN201810259124 A CN 201810259124A CN 108564981 B CN108564981 B CN 108564981B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- storage device
- page
- error bit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Abstract
本发明公开了一种存储装置数据安全动态监控方法,其特征在于存储装置增加数据扫描进程,存储装置定期检测是否满足数据扫描启动条件,当满足数据扫描启动条件时,启动对存储装置进行全盘扫描操作,所述全盘扫描按block为单位分别检查各个block存储的块标志BEC值,如果所述块标志BEC值大于所述安全阈值,则将该block存储的数据搬移到新的数据块中,所述块标志BEC值取该block读取操作时检测到的各个页产生的最大BEC值。提出了通过监控各个block中最容易出错的数据页区间来实现动态监控存储装置数据安全,相比于全盘全数据的扫描,大大节约了系统资源,有效解决了因为监测所发生的读操作会占用NAND Flash带宽和系统内存资源的问题。
Description
技术领域
本发明涉及存储技术领域,尤其涉及存储装置数据安全动态监控方法。
背景技术
NAND Flash存储数据的最小单位是Cell。SLC的Cell可以表示0和1两种状态,MLC则是00、01、10和11四种状态,TLC则是000、001、010、011、100、 101、110和111八种状态。它们都是通过充、放电子来实现的。当静置时,或者是受其它Page的影响,或者是Block寿命的影响,Cell不是一直稳定的,它所保存的电子可能会慢慢遗失,从而发生Bit错误,进而导致数据丢失。
如果NAND Flash上的数据长时间没有访问,那么问题就更加突出,因为无法评估电子流失的程度。如果Bit错误个数超过了ECC纠错能力,那么数据就无法修复。所以需要采取一种措施:动态地、周期性地检测数据的可靠性。当检测到数据不可靠时,就把它复写到其它Block上。
针对NAND Flash Cell电子流失的特性,目前绝大部分技术采用的是:当读某个Page发生可纠错的ECC错误correctable ECC error时,把所在Block 的有效页数据搬移到新的Block上。这样的算法或方案的弊端在于:如果某个 Block长时间没有进行读操作,那么即使它内部Cell电子流失严重,也无法被发现,也就不会发生后续数据的搬移,最终导致数据不可修复而丢失。随着3D TLC NAND Flash逐渐兴起,这个问题愈加明显(3D TLC的Cell要表示8种状态,状态偏转而出现错误概率更大)。
因此有技术提出增加全盘的监控策略,图1是现有监控方案示意图,主机需要访问到这块数据时,才触发读这个物理地址时,对这个物理地址上的数据进行判断,当不加区分的对所有数据块的所有页都进行扫描监控,发生错误时通过纠错模块进行纠错处理,因此系统消耗加大,存在较大的浪费。
发明内容
针对以上缺陷,本发明目的在于如何减少监测所发生的读操作会占用NAND Flash带宽和系统内存资源的问题。
为了实现上述目的,本发明提供了一种存储装置数据安全动态监控方法,其特征在于存储装置增加数据扫描进程,存储装置定期检测是否满足数据扫描启动条件,当满足数据扫描启动条件时,启动对存储装置进行全盘扫描操作,所述全盘扫描按block为单位分别检查各个block存储的块标志BEC值,如果所述块标志BEC值大于所述安全阈值,则将该block存储的数据搬移到新的数据块中,所述块标志BEC值取该block读取操作时检测到的各个页产生的最大BEC 值。
所述的存储装置数据安全动态监控方法,其特征在于根据存储装置的存储颗粒的类型获取各个block中最容易出现错误的页作为该block的检查页,所述全盘扫描逐个block读取该block的检测页,获得该检测页的BEC值,并将该 BEC值存储为块标志BEC值。
所述的存储装置数据安全动态监控方法,其特征在于存储装置各个页读取操作完成后,增加比较该页读取发现的BEC值是否大于已经存储的块标志BEC值,如果大于则将该页读取发现的BEC值更新到该块的块标志BEC值。
所述的存储装置数据安全动态监控方法,其特征在于各个块还增加记录各个块数据的写入时的温度信息,当所述块标志BEC值小于所述安全阈值时,还增加判断该块写入时的温度与当前温度的差异是否大于设定的大温差阈值,如果大于则启动对该块所有数据页的检测,并获得最大的BEC值作为新的标志BEC 值,如果新的标志BEC值大于所述安全阈值,则将该block存储的数据搬移到新的数据块中。
所述的存储装置数据安全动态监控方法,其特征在于所述的数据扫描启动条件为:定时扫描计数器条件满足、空闲时间超过空闲阈值时间或工作温度发生变化超过预先设置的温差阈值。
所述的存储装置数据安全动态监控方法,其特征在于各个block中最容易出现错误的页作为该block的检查页通过在工厂老化测试统计获得概率最高的页为推荐检查页,并将该信息写在存储装置上。
本发明提出了通过监控各个block中最容易出错的数据页来实现动态监控存储装置数据安全,相比于全盘全数据的扫描,大大节约了系统资源,有效解决了因为监测所发生的读操作会占用NAND Flash带宽和系统内存资源的问题。
附图说明
图1是现有监控方案示意图;
图2是改进后的监控方案示意图;
图3是选择表征Block的BEC的示意图;
图4是同一个Die下各Block的BEC值分布示意图;
图5是Blocks上数据的稳定性还受温度的影响示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
专用词语说明,以方便理解和后续算法阐述。
Die:NAND Flash可并行执行读、写、擦等命令的单位。Die之间可以并行执行操作,但是同一Die下的操作只能串行执行。
Block:NAND Flash擦除的最小单位,一般以MB大小为单位。
Page:NAND Flash读数据的最小单位,一般为4KB、8KB等,视具体颗粒而定。
BEC:bit error count,指page中bit错误个数。
CECC:correctable ECC Error,可修复的错误。要求BEC在NAND Flashcontroller纠错能力范围内,即不大于某个阈值。
UECC:uncorrectable ECC Error,不可修复的错误。BEC超出NAND Flashcontroller纠错能力范围,即大于某个阈值。
GC:garbage collection,垃圾回收。
EC:Erase Count。每个Block有擦除次数的,当达到这个值是,Block会不稳定,基本不能用。
Block是可擦除的最小单位,换句话说Block是可重用的最小单位,所以数据监测是以Block为单位。如果NAND Flash Controller的纠错能力为120,而 Block的BEC值如果达到120,所以该Block中已经有数据丢失。
图2是改进后的监控方案示意图,本技术方案提出了一种主动监测和增强 NANDFlash数据可靠性的技术。当其满足启动条件时是主动对所有的块进行扫描,提前检测到问题块。首先,它的监测对象是Block(NAND Flash擦除的最小单位)。由于数据搬移会额外消耗掉空闲Blocks,所以将作为NAND Flash擦除的最小单位的Block作为监测对象是最佳的选择(当Block上有效数据被搬移走,经过擦除之后,此Block就成为空闲Block,从而可以循环使用)。其次,它是一种周期性监测技术。因为Cell中的电子是随时间慢慢流失的,所以需要周期性的保持监测。再次,它的监测衡量依据是Block中读单元所发生的最大错误位数Bit Error Count(BEC)或者是重读电压尝试水平Read Retry Level。由于各个硬盘控制器NAND Flash Controller提供的功能不同,可以选取不同的衡量依据。而BEC作为Bit错误个数,直接反映出读单元电子流失程度,所以应是考虑的第一选择;Read Retry Level则是反映出已尝试电压的个数,间接表明读单元数据可修复的难易程度,是不可忽视的选择之一。最后,它需要考虑其它监测限制或条件,如温度变化,擦除次数EC(Erase Count)大小,NANDFlash Block个体差异等。这些信息能更加精准地和有效地找到监测对象。
图3是选择表征Block的BEC的示意图,Block由数十到数百Page组成, Page是最小读单元,而BEC体现的Page的数据可靠性。每个Page的BEC一般不同,有的比较大,有的比较小。但是对Block来说,只能选取最大值作为衡量数据,该选择可根据不同类型的FLASH,通过试验获取同一种类型FLASH中出现最大值概率最大的Page的BEC作为表征Block的BEC衡量数据。
同一个Die下各Block的BEC值也是不同的,对于BEC值比较大的Block,是要处理的Block。
图4是同一个Die下各Block的BEC值分布示意图,出厂时,各Block健康状态是不同,Blocks较差的,我们称为弱块,这些Block在生命周期前期时,表现和其它Block没有明显区别,但是随着不断使用,存放在上面的数据会越来越不稳定。弱块在使用一段时间后,其BEC值会明显高于其它Blocks。
图5是Blocks上数据的稳定性还受温度的影响示意图,Blocks上数据的稳定性还受温度的影响,与当前工作温度温差大的Block,其BEC值会相对大很多。举个例子:假设当前工作温度为70℃,区域A的Blocks上数据是在低温时写入 (如-5℃),区域B的Blocks上数据是在常温时写入(如20℃),而区域C的 Blocks上数据是在高温时写入(如75℃),那么温差最大的区域A的Blocks 的BEC是最大的,需要重点监测。
Block BEC监测不是无条件的,因为监测所发生的读操作会占用不少NAND Flash带宽和系统内存资源。它应当在一些条件下触发,如温度发生显著变化,长时间主机没有任何数据访问,以及Blocks长时间没有被访问等。
算法伪代码如下:
Ln1中的Condition包括但不限于:周期设定、Host idle(长时间无请求)、温度变化、颗粒特性。
Ln2表示依次检查每一个Block,m表示上次检查结束的Block。
Ln3先检查下Block保存的BEC值(Host读和其它读会更新Block的BEC 值,可能已反映出Block的状态)。
Ln4如果Block不够健康,会被标志为GC(牺牲)对象,其上的有效数据会被搬移到别的Blocks上。(Ln9同)
Ln6判断Block是否需要检查。如Block的EC值比较小,如NAND Flash工作在常温等,就不需要对其进行检查。
Ln7说明如何获取和更新Block的BEC值,即通过读取Block中某一页所反馈出来的BEC值来更新整个Block的。至于选择哪一页,则需要根据具体颗粒类型。如3D TLC NANDFlash,Middle和Upper Page Bit错误个数明显高于Low Page;又如某些NAND Flash,Block两侧的Pages Bit错误个数要高于中间的 Pages。选择合适的Page进行检测,有助于提高效率,尽早发现问题。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (5)
1.一种存储装置数据安全动态监控方法,其特征在于存储装置增加数据扫描进程,存储装置定期检测是否满足数据扫描启动条件,当满足数据扫描启动条件时,启动对存储装置进行全盘扫描操作,所述全盘扫描按块为单位分别检查各个块存储的块标志错误比特数值,如果所述块标志错误比特数值大于安全阈 值,则将该块存储的数据搬移到新的数据块中,所述块标志错误比特数值取该块读取操作时检测到的各个页产生的最大错误比特数值;根据存储装置的存储颗粒的类型获取各个块中最容易出现错误的页作为该块的检查页,所述全盘扫描逐个块读取该块的检测页,获得该检测页的错误比特数值,并将该错误比特数值存储为块标志错误比特数值。
2.根据权利要求1所述的存储装置数据安全动态监控方法,其特征在于存储装置各个页读取操作完成后,增加比较该页读取发现的错误比特数值是否大于已经存储的块标志错误比特数值,如果大于则将该页读取发现的错误比特数值更新到该块的块标志错误比特数值。
3.根据权利要求2所述的存储装置数据安全动态监控方法,其特征在于各个块还增加记录各个块数据的写入时的温度信息,当所述块标志错误比特数值小于所述安全阈 值时,还增加判断该块写入时的温度与当前温度的差异是否大于设定的大温差阈 值,如果大于则启动对该块所有数据页的检测,并获得最大的错误比特数值作为新的标志错误比特数值,如果新的标志错误比特数值大于所述安全阈 值,则将该块存储的数据搬移到新的数据块中。
4.根据权利要求1至3任意一项所述的存储装置数据安全动态监控方法,其特征在于所述的数据扫描启动条件为:定时扫描计数器条件满足、空闲时间超过空闲阈 值时间或工作温度发生变化超过预先设置的温差阈 值。
5.根据权利要求1所述的存储装置数据安全动态监控方法,其特征在于各个块中最容易出现错误的页作为该块的检查页通过在工厂老化测试统计获得概率最高的页为推荐检查页,并将推荐检查页信息写在存储装置上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810259124.XA CN108564981B (zh) | 2018-03-27 | 2018-03-27 | 一种存储装置数据安全动态监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810259124.XA CN108564981B (zh) | 2018-03-27 | 2018-03-27 | 一种存储装置数据安全动态监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564981A CN108564981A (zh) | 2018-09-21 |
CN108564981B true CN108564981B (zh) | 2021-10-01 |
Family
ID=63533512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810259124.XA Active CN108564981B (zh) | 2018-03-27 | 2018-03-27 | 一种存储装置数据安全动态监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564981B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508268B (zh) * | 2018-11-13 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ise硬盘测试装置及ise硬盘扇区快速擦除功能测试方法 |
CN110018795A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种block状态的检测方法、装置、设备及存储介质 |
CN112015338B (zh) * | 2020-08-19 | 2021-07-23 | 山东大学 | 一种非易失性存储器查表巡检方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491809A (en) * | 1993-01-05 | 1996-02-13 | Texas Instruments Incorporated | Smart erase algorithm with secure scheme for flash EPROMs |
CN102460384A (zh) * | 2009-06-02 | 2012-05-16 | 株式会社普存微软 | 程序、控制方法以及控制装置 |
CN106502583A (zh) * | 2016-10-12 | 2017-03-15 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘响应延迟的方法 |
CN107155358A (zh) * | 2012-08-02 | 2017-09-12 | 希捷科技有限公司 | 用于非易失性存储器的混合粒度较高级别冗余 |
CN107402832A (zh) * | 2011-08-31 | 2017-11-28 | 美光科技公司 | 存储器刷新方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041906B2 (en) * | 2006-10-31 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | Notification processing |
US11763013B2 (en) * | 2015-08-07 | 2023-09-19 | Workshare, Ltd. | Transaction document management system and method |
-
2018
- 2018-03-27 CN CN201810259124.XA patent/CN108564981B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491809A (en) * | 1993-01-05 | 1996-02-13 | Texas Instruments Incorporated | Smart erase algorithm with secure scheme for flash EPROMs |
CN102460384A (zh) * | 2009-06-02 | 2012-05-16 | 株式会社普存微软 | 程序、控制方法以及控制装置 |
CN107402832A (zh) * | 2011-08-31 | 2017-11-28 | 美光科技公司 | 存储器刷新方法及设备 |
CN107155358A (zh) * | 2012-08-02 | 2017-09-12 | 希捷科技有限公司 | 用于非易失性存储器的混合粒度较高级别冗余 |
CN106502583A (zh) * | 2016-10-12 | 2017-03-15 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘响应延迟的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108564981A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9092361B2 (en) | Nonvolatile storage device, memory controller, and defective region detection method | |
CN108052414B (zh) | 一种提升ssd工作温度范围的方法及系统 | |
US10656875B2 (en) | Method for re-reading page data | |
US9799405B1 (en) | Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction | |
US8638602B1 (en) | Background selection of voltage reference values for performing memory read operations | |
KR101348665B1 (ko) | 플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법 | |
US10936391B2 (en) | Memory management method and storage controller | |
US8443259B2 (en) | Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
US10310930B2 (en) | Solid state disk using method and apparatus | |
US7979737B2 (en) | Method for accessing a Flash memory, and associated memory device and controller thereof | |
US9858002B1 (en) | Open block stability scanning | |
TWI490871B (zh) | 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN108564981B (zh) | 一种存储装置数据安全动态监控方法 | |
JP2019169217A (ja) | メモリシステム、その制御方法及びプログラム | |
US20220165348A1 (en) | Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device | |
TW201421476A (zh) | 快閃記憶體更新方法以及快閃記憶體控制器 | |
TW201319805A (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
TW201942907A (zh) | 記憶體管理方法以及儲存控制器 | |
CN113272905A (zh) | 具有时变位错误率的存储器中的缺陷检测 | |
US20190065308A1 (en) | Data storage method for detecting data storage device and its data storage device | |
US11955194B2 (en) | Tracking and refreshing state metrics in memory sub-systems | |
US10734079B1 (en) | Sub block mode read scrub design for non-volatile memory | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
US11513890B1 (en) | Adaptive read scrub |
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 |