CN112035060B - 一种存储介质的错误检测方法、***及存储*** - Google Patents
一种存储介质的错误检测方法、***及存储*** Download PDFInfo
- Publication number
- CN112035060B CN112035060B CN202010825709.0A CN202010825709A CN112035060B CN 112035060 B CN112035060 B CN 112035060B CN 202010825709 A CN202010825709 A CN 202010825709A CN 112035060 B CN112035060 B CN 112035060B
- Authority
- CN
- China
- Prior art keywords
- data
- temperature
- block
- linked list
- error
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 147
- 239000007787 solid Substances 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 description 101
- 238000010586 diagram Methods 0.000 description 26
- 238000007667 floating Methods 0.000 description 10
- 239000010410 layer Substances 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000002485 combustion reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000002356 single layer Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K13/00—Thermometers specially adapted for specific purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种存储介质的错误检测方法、***及存储***。所述存储介质的错误检测方法包括获取存储介质中的每一个擦除块在写入数据时的温度数据,根据所述温度数据,以生成温度数据表,获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中,通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据,通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据,根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。本发明能够在资料还未遗失前,提前读取风险块的资料。
Description
技术领域
本发明涉及数据存储介质检测技术领域,特别是涉及一种存储介质的错误检测方法、***及存储***。
背景技术
闪存是由许多的块构成,每一个块内存在一定的页,用于提供一定资料量的储存及读取的功能,其记录方式主要是根据施加一脉冲电压将电荷储存于Floating Gate(浮动闸门)内,再根据储存于Floating Gate内的电荷多少而产生可以区别的能阶,如此即可施加不同的电压值Vth,确认其可不可以导通来判定资料bit(比特)为0或1。
每一块所能提供的写入、擦除、读取都有一定的次数,当超过其临界值时,资料的不稳定性会越来越严重,进而产生无法修复的坏块,从而产生资料遗失的情况,因此无法读取到完整的资料。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储介质的错误检测方法、***及存储***,用于解决现有技术中的每一块所能提供的写入、擦除、读取都有一定的次数,当超过其临界值时,资料的不稳定性会越来越严重,进而产生无法修复的坏块,从而产生资料遗失的情况,因此无法读取到完整的资料的问题。
为实现上述目的及其他相关目的,本发明提供一种存储介质的错误检测方法,所述存储介质的错误检测方法包括:
获取存储介质中的每一个擦除块在写入数据时的温度数据;
根据所述温度数据,以生成温度数据表;
获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中;
通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据;
通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据;
根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。
在本发明的一实施例中,所述存储介质的错误检测方法还包括:
将所述写入数据后的擦除块存储于资源池中。
在本发明的一实施例中,所述通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤包括:
遍历所述链表;
获取所述擦除块位于环境的温度信息数据;
将所述温度信息数据与温度检测数据进行对比,以得到所述温度信息数据与温度检测数据之间的温度差数据;
判断所述温度差数据是否在温度设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块。
在本发明的一实施例中,所述通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤还包括:
若擦除块为风险块,则读取所述擦除块中存储的数据;
将读取到的数据写入至所述存储介质中的另一个擦除块中。
在本发明的一实施例中,所述通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤包括:
遍历所述链表;
获取所述擦除块中的页的错误比特数目;
判断所述错误比特数目是否在错误比特数目设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块。
在本发明的一实施例中,所述通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤还包括:
若擦除块为风险块,则读取所述擦除块中存储的数据;
将读取到的数据写入至所述存储介质中的另一个擦除块中。
在本发明的一实施例中,所述遍历所述链表发生在所述擦除块读取数据完成时。
在本发明的一实施例中,通过计时器进行计时,以在设定的时间间隔内遍历所述链表。
本发明还提供一种存储介质的错误检测***,所述存储介质的错误检测***包括:
温度数据获取器,用于获取存储介质中的每一个擦除块在写入数据时的温度数据;
温度数据表生成器,用于根据所述温度数据,以生成温度数据表;
记录器,用于获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中;
温度检测数据获取器,用于通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据;
错误比特数目检测数据获取器,用于通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据;
检测结果信息获取器,用于根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。
本发明还提供一种存储***,所述存储***包括:
固态硬盘;
主控制器,其与所述固态硬盘相连接,其中,所述主控制器包括:
温度数据获取器,用于获取存储介质中的每一个擦除块在写入数据时的温度数据;
温度数据表生成器,用于根据所述温度数据,以生成温度数据表;
记录器,用于获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中;
温度检测数据获取器,用于通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据;
错误比特数目检测数据获取器,用于通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据;
检测结果信息获取器,用于根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。
如上所述,本发明的一种存储介质的错误检测方法、***及存储***,具有以下有益效果:
本发明的存储介质的错误检测方法可以通过温度数据表检测擦除块的温度信息,以及通过链表检测擦除块的错误比特数目,从而来判断擦除块是否为风险块,本发明能够主动式的侦测是否存在风险块,在资料还未遗失前,提前读取风险块的资料,并重新写入新的块,因此不会产生资料丢失的情况,能够读取到完整的资料。
本发明的存储介质的错误检测方法能够侦测到环境的变化,而且针对环境的温度变化进行锁卡,而且能够进行大量的资料搬移,防止资料的丢失。
本发明的存储介质的错误检测***的稳定性较好,可靠性较高。
附图说明
图1为本申请实施例提供的一种存储介质的错误检测方法的工作流程图。
图2为本申请一个实施例提供的图1的一种存储介质的错误检测方法的步骤S4的工作流程图。
图3为本申请又一个实施例提供的图1的一种存储介质的错误检测方法的步骤S4的工作流程图。
图4为本申请一个实施例提供的图1的一种存储介质的错误检测方法的步骤S5的工作流程图。
图5为本申请又一个实施例提供的图1的一种存储介质的错误检测方法的步骤S5的工作流程图。
图6为本申请实施例提供的一种存储介质的错误检测***的结构原理框图。
图7为本申请一个实施例提供的一种存储***的结构原理框图。
图8为本申请实施例提供的NAND型闪速存储器的结构原理框图。
图9为本申请实施例提供的NAND存储芯片的结构原理框图。
图10为本申请实施例提供的存储单元阵列的结构原理框图。
图11为本申请又一个实施例提供的一种存储***的结构原理框图。
图12为本申请实施例提供的一种存储***的主控制器的结构原理框图。
图13为本申请实施例提供的一种存储***的固态硬盘的结构原理框图。
图14为本申请实施例提供的一种存储***的闪存芯片的结构原理框图。
图15为本申请实施例提供的一种存储***的擦除块的结构原理框图。
图16为本申请实施例提供的一种存储***的页的结构原理框图。
图17(1)为未建立温度数据表下的,在腔室内实际烧机情况下,在高温定温的情况下主机写入资料的速度。
图17(2)为未建立温度数据表下的,在腔室内实际烧机情况下,在高温定温的情况下主机读取资料的速度。
图18为本申请一个实施例提供的一种存储介质的错误检测方法的建立温度数据表下的块和温度的示意图。
图19为本申请又一个实施例提供的一种存储介质的错误检测方法的建立温度数据表下的块和温度的示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1、图2、图3、图4、图5,图1为本申请实施例提供的一种存储介质的错误检测方法的工作流程图。图2为本申请一个实施例提供的图1的一种存储介质的错误检测方法的步骤S4的工作流程图。图3为本申请又一个实施例提供的图1的一种存储介质的错误检测方法的步骤S4的工作流程图。图4为本申请一个实施例提供的图1的一种存储介质的错误检测方法的步骤S5的工作流程图。图5为本申请又一个实施例提供的图1的一种存储介质的错误检测方法的步骤S5的工作流程图。本发明提供了一种存储介质的错误检测方法,所述存储介质的错误检测方法可以应用于存储介质检测技术领域中,所述存储介质为可以用来存储数据的介质,例如,可以但不限于为固态硬盘、闪存阵列、存储器等装置。所述存储介质的错误检测方法包括:
如图1所示,步骤S1、获取存储介质中的每一个擦除块(Block)在写入数据时的温度数据。具体的,在步骤S1中,不同的擦除块在写入数据时,会有不同的温度数据,因此可以获取不同的擦除块的特定的写入数据时的温度数据。
如图1所示,步骤S2、根据所述温度数据,以生成温度数据表。具体的,在步骤S2中,可以在例如,静态随机存储器(SRAM)上记录每一个擦除块在写入数据时的温度数据,所述温度数据表记录于所述SRAM中。
如图1所示,步骤S3、获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表(Link list)中。在步骤S3中,每写入完成一个所述擦除块时,并将所述写入数据后的擦除块存储于资源池(Source pool)中,所述资源池是以链表方式建立,通过资源池的链表,从表头到表尾进行检查,并且利用指定块的起始点到结束点对链表进行检查。
如图1所示,步骤S4、通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据。步骤S5、通过所述链表检测所述擦除块的错误比特数目(error bit count),以得到错误比特数目检测数据。在步骤S4中,可以根据所述温度检测数据来判断是否存在风险块,从而判断是否对资料进行搬移。在步骤S5中,可以通过所述错误比特数目检测数据来判断是否存在风险块,从而判断是否对资料进行搬移。步骤S6、根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。
如图2所示,步骤S4中的通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤包括:步骤S41、遍历所述链表。具体的,步骤S41中的遍历所述链表指的是利用指定块的起始点到结束点对所述链表进行检查。
如图2所示,步骤S42、获取所述擦除块位于环境的温度信息数据。具体的,在步骤S42中,所述温度信息数据为所述擦除块周围的环境的信息,所述温度信息数据可以但不限于通过温度传感器进行采集,所述温度传感器可以设置于嵌入式多媒体卡(EmbeddedMulti Media Card,eMMC)内部,嵌入式多媒体卡在封装中集成了一个控制器,提供标准接口并管理闪存。
如图2所示,步骤S43、将所述温度信息数据与温度检测数据进行对比,以得到所述温度信息数据与温度检测数据之间的温度差数据。步骤S44、判断所述温度差数据是否在温度设定阈值的范围内,若是,则执行步骤S45操作,若否,则执行步骤S46操作。步骤S45、所述擦除块为正常状态。步骤S46、所述擦除块为风险块。具体的,在步骤S44中,所述温度设定阈值需要根据不同的擦除块来进行设定,由于不同的NAND闪存(Nand flash)有不同的特性,所以温度信息数据也会不同,因此温度设定阈值也会不同。
如图3所示,步骤S4中的通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤还包括:步骤S47、若擦除块为风险块,则读取所述擦除块中存储的数据。步骤S48、将读取到的数据写入至所述存储介质中的另一个擦除块中。检测到擦除块为风险块,则需要及时的将风险块中存储的数据搬移至另一擦除块中,防止资料的丢失。
如图4所示,步骤S5中的通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤包括:步骤S51、遍历所述链表。步骤S51中的遍历所述链表指的是利用指定块的起始点到结束点对所述链表进行检查。
如图4所示,步骤S52、获取所述擦除块中的页的错误比特数目。步骤S53、判断所述错误比特数目是否在错误比特数目设定阈值的范围内,若是,则执行步骤S54操作,若否,则执行步骤S55操作。步骤S54、所述擦除块为正常状态。步骤S55、所述擦除块为风险块。具体的,在步骤S53中,所述错误比特数目设定阈值需要根据不同的擦除块来进行设定,由于不同的NAND闪存有不同的特性,所以错误比特数目也会不同,因此错误比特数目设定阈值也会不同。
如图5所示,步骤S5中的通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤还包括:步骤S56、若擦除块为风险块,则读取所述擦除块中存储的数据。步骤S57、将读取到的数据写入至所述存储介质中的另一个擦除块中。检测到擦除块为风险块,则需要及时的将风险块中存储的数据搬移至另一擦除块中,防止资料的丢失。具体的,只要温度差数据不在温度设定阈值的范围内,或者错误比特数目不在错误比特数目设定阈值的范围内,只要满足两者中的任意一个条件,则判断所述擦除块为风险块。
如图1所示,所述遍历所述链表发生在所述擦除块读取数据完成时。通过计时器进行计时,以在设定的时间间隔内遍历所述链表。遍历所述链表还可以发生在开始触发资料垃圾回收的情况下,在每配置一个新的块用来写入资料时,从资源池内检查一个块,指定块的起始点前进,并重新设定指定块的结束点。遍历所述链表还可以发生在读取1GB资料时,在Host(主机)没有任何指令时,设备会进入背景运作的状态,此时开始从指定块的起始点检查到指定块的结束点,并进入自动睡眠。
请参阅图6,图6为本申请实施例提供的一种存储介质的错误检测***的结构原理框图。与本发明的一种存储介质的错误检测方法原理相似的是,本发明提供了一种存储介质的错误检测***,所述存储介质的错误检测***包括但不限于温度数据获取器10、温度数据表生成器20、记录器30、温度检测数据获取器40、错误比特数目检测数据获取器50、检测结果信息获取器60。所述温度数据获取器10用于获取存储介质中的每一个擦除块在写入数据时的温度数据。所述温度数据表生成器20用于根据所述温度数据,以生成温度数据表。所述记录器30用于获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中。所述温度检测数据获取器40用于通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据。所述错误比特数目检测数据获取器50用于通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据。所述检测结果信息获取器60用于根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。
如图6所示,本发明的存储介质的错误检测***可以应用于存储介质检测技术领域中,所述温度数据获取器10、温度数据表生成器20、记录器30、温度检测数据获取器40、错误比特数目检测数据获取器50以及检测结果信息获取器60通常是设置于主控芯片或者主控制器中,且与中央处理器(CPU)、静态随机存取存储器等构成主控芯片。通过所述主控芯片或者主控制器中的各个模块来对闪存阵列进行检测,闪存(Flash Memory)是一种存储介质,多个闪存颗粒可以组成存储阵列,实现大容量存储。
请参阅图7,图7为本申请一个实施例提供的一种存储***的结构原理框图。所述存储***包括非易失性半导体存储装置。非易失性半导体存储装置是即使切断电源也不会丢失数据的非易失性存储器(非暂时的存储器),本实施例中,作为非易失性半导体存储装置,举例说明NAND型闪速存储器51。另外,作为存储***,举例说明具备NAND型闪速存储器的固态硬盘设备(Solid State Drive,SSD)。
如图7所示,固态硬盘1经由接口41及第一电源线42与主机装置70(例如:信息处理装置)连接。主机装置70例如由个人计算机、CPU核或者与网络连接的服务器等构成。主机装置70对固态硬盘1执行数据存取控制,例如,通过向固态硬盘1发送写入请求、读出请求及删除请求,对固态硬盘1执行数据的写入、读出及删除。
如图7所示,固态硬盘1具备主控制器2、NAND型闪速存储器51、接口控制器(接口部)43及电源供给部45。主控制器2、接口控制器43及NAND型闪速存储器51通过总线48相互连接。
如图7所示,电源供给部45通过第一电源线42与主机装置70连接,接受从主机装置70供给的外部电源。电源供给部45和NAND型闪速存储器51通过第二电源线46连接,电源供给部45和主控制器2通过第三电源线47连接,电源供给部45和接口控制器43通过第四电源线44连接。电源供给部45对外部电源进行升压及降压,生成各种电压,向主控制器2、NAND型闪速存储器51及接口控制器43供给各种电压。
如图7所示,接口控制器43通过接口41与主机装置70连接。接口控制器43执行与主机装置70的接口处理。作为接口41,可以采用SATA(SerialAdvancedTechnologyAttachment:串行高级技术附件)、PCI Express(Peripheral ComponentInterconnect Express:高速外设部件互连)、SAS(Serial Attached SCSI:串行连接SCSI)、USB(Universal Serial Bus:通用串行总线)等。在一实施例中,作为接口41,以采用SATA场合的例子进行说明。
如图7所示,NAND型闪速存储器51非易失地存储数据。在NAND型闪速存储器51的物理地址空间,确保存储固件(Firmware,FW)的FW区域52、存储管理信息的管理信息区域53、存储用户数据的用户区域56、存储例如测试步骤时的各种日志的筛选日志区域55。
如图7所示,所述主控制器2控制固态硬盘1的各种工作。所述主控制器2可以通过执行在NAND型闪速存储器51的FW区域52存储的固件的处理器和各种硬件电路等来实现其功能,执行针对来自主机装置70的写请求、缓存刷新请求、读请求等的各种指令的主机装置70、NAND型闪速存储器51间的数据转送控制、在RAM49及NAND型闪速存储器51存储的各种管理表的更新、管理、筛选处理等。所述主控制器2从第一电源线42接受电源后,从FW区域52读出固件,然后,根据读出固件进行处理。主控制器2具备作为缓存区及操作区的RAM49和ECC(Error Checking and Correcting:错误检测和校正)电路80。
如图7所示,所述RAM49由DRAM(Dynamic RandomAccess Memory:动态随机存取存储器)、SRAM(Static RandomAccess Memory:静态随机存取存储器)等的易失性RAM,或MRAM(Magnetoresistive Random Access Memory:磁阻随机存取存储器)、FeRAM(Ferroelectric RandomAccess Memory:铁电随机存取存储器)、ReRAM(ResistanceRandom Access Memory:电阻随机存取存储器)、PRAM(Phase-change RandomAccessMemory:相变随机存取存储器)等的非易失性RAM构成。
如图7所示,ECC电路80在数据写入时,对写入数据生成纠错码,将该纠错码附加到写入数据,发送到NAND型闪速存储器51。另外,ECC电路80在数据读出时,对读出数据,采用读出数据所包含的纠错码进行检错(错误位检测)及纠错。ECC电路80的ECC编码、ECC解密采用例如Bose-Chaudhuri-Hocquenghem(BCH)码、Reed-Solomon(RS)码、Low-DensityParity-Check(LDPC)码。ECC电路80也可以是采用Cyclic Redundancy Check(CRC)码进行检错的CRC电路。
请参阅图8、图9,图8为本申请实施例提供的NAND型闪速存储器的结构原理框图。图9为本申请实施例提供的NAND存储芯片的结构原理框图。所述NAND型闪速存储器51具备一个以上的NAND存储芯片511。
如图9所示,存储单元阵列502由可电改写数据的存储单元矩阵状配置而成。在存储单元阵列502配设了多个位线、多个字线及共用源极线。在位线和字线的交差区域,配置存储单元。
如图9所示,作为行解码器的字线控制电路505与多个字线连接,在数据的读出、写入及删除时,进行字线的选择及驱动。位线控制电路503与多个位线连接,在数据的读出、写入及删除时,控制位线的电压。另外,位线控制电路503在数据读出时检知位线的数据,在数据写入时向位线施加与写入数据相应的电压。列解码器504根据地址,生成用于选择位线的列选择信号,向位线控制电路503发送该列选择信号。
如图9所示,从存储单元阵列502读出的读出数据经由位线控制电路503、数据输入输出缓冲器509从数据输入输出端子508向外部输出。另外,从外部向数据输入输出端子508输入的写入数据经由数据输入输出缓冲器509,向位线控制电路503输入。
如图9所示,存储单元阵列502、位线控制电路503、列解码器504、数据输入输出缓冲器509及字线控制电路505与控制电路506连接。控制电路506根据从外部向控制信号输入端子507输入的控制信号,生成用于控制存储单元阵列502、位线控制电路503、列解码器504、数据输入输出缓冲器509及字线控制电路505的控制信号及控制电压。NAND存储芯片511中,与存储单元阵列502以外的部分一起称为存储单元阵列控制部(NAND控制器)501。
请参阅图10,图10为本申请实施例提供的存储单元阵列的结构原理框图。所述存储单元阵列502具备一个或多个平面(plane)(或District)。图10中的存储单元阵列502例如具备2个平面(平面0及平面1)的情况。各平面具备多个块(BLOCK),各块(BLOCK)由多个存储单元构成,以该块(BLOCK)为单位,删除数据。
请参阅图11,图11为本申请又一个实施例提供的一种存储***的结构原理框图。本发明还提供一种存储***,所述存储***包括但不限于固态硬盘1、主控制器2,所述主控制器2包括上述的温度数据获取器10、温度数据表生成器20、记录器30、温度检测数据获取器40、错误比特数目检测数据获取器50、检测结果信息获取器60,其中,所述温度数据获取器10用于获取存储介质中的每一个擦除块在写入数据时的温度数据,所述温度数据表生成器20用于根据所述温度数据,以生成温度数据表,所述记录器30用于获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中,所述温度检测数据获取器40用于通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据,所述错误比特数目检测数据获取器50用于通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据,所述检测结果信息获取器60用于根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息。所述存储***包括至少一个主控制器2和多个固态硬盘1。主控制器2通过存储区域网络(storage area network,SAN)与主机(图中未示出)连接。主控制器2可以是一种计算设备,如服务器、台式计算机等等。在主控制器2上安装有操作***以及应用程序。主控制器2可以接收来自主机的输入输出(I/O)请求。主控制器2还可以存储I/O请求中携带的数据(如果有的话),并且将该数据写入固态硬盘1中。固态硬盘(SolidState Disk,SSD)是以闪存(flash memory)芯片为介质的存储器,又名固态驱动器(SolidState Drive,SSD)。
图11仅是示例性说明,在实际应用中存储***可包含两个或两个以上主控制器,每个主控制器的物理结构和功能与所述主控制器2类似,并且本实施例并不限定主控制器之间,以及任意一个主控制器与固态硬盘1之间的连接方式。只要各个主控制器之间,以及各个主控制器和固态硬盘1之间能够相互通信。
请参阅图12,图12为本申请实施例提供的一种存储***的主控制器的结构原理框图。所述主控制器2包括第一接口卡21、处理器23和第二接口卡24。第一接口卡21用于和主机通信,主控制器2可以通过第一接口卡21接收主机的操作指令。处理器23可能是一个中央处理器(central processing unit,CPU)。在本发明实施例中,处理器23可以用于接收来自主机的I/O请求、处理所述I/O请求。所述I/O请求可以是写数据请求或者读数据请求,处理器23还可以将写数据请求中的数据发送给固态硬盘1。此外,处理器23还可以用于执行***垃圾回收操作。第二接口卡24用于和固态硬盘1通信,主控制器2可以通过第二接口卡24将写数据请求(包括数据以及所述数据的生命周期级别)发送给固态硬盘1存储。
如图12所示,所述主控制器2还可以包括存储器22。存储器22用于临时存储从主机接收的数据或从固态硬盘1读取的数据。主控制器2接收主机发送的多个写数据请求时,可以将所述多个写数据请求中的数据暂时保存在存储器22中。当存储器22的容量达到一定阈值时,将存储器22存储的数据以及为所述数据分配的逻辑地址发送给固态硬盘1。固态硬盘1存储所述数据。存储器22包括易失性存储器,闪存芯片或其组合。易失性存储器例如为随机访问存储器(random-access memory,RAM)。闪存芯片例如软盘、硬盘、固态硬盘(solidstate disk,SSD)、光盘等各种可以存储程序代码的机器可读介质。存储器22具有保电功能,保电功能是指***发生掉电又重新上电时,存储器22中存储的数据也不会丢失。
如图12所示,所述主控制器2负责对数据的生命周期进行识别,并且把不同生命周期的数据划分为若干等级。本实施例中数据的生命周期和该数据的修改频率有关,修改频率越高的数据生命周期越短,修改频率越低的数据生命周期越长。例如日志写入量大但很快会被删除(在固态硬盘中的保存时间可能只有几分钟),这类数据被划分为第一等级的生命周期。元数据相对于日志来说,它在固态硬盘中的保存时间略长,可以被划分为第二等级的生命周期。而业务数据中的热数据可以被划分为第三等级的生命周期,业务数据中的冷数据可以被划分为第四等级的生命周期。当然,本发明实施例并不限定生命周期级别的数量,可以只包含两个等级的生命周期,也可以包含三个或三个以上等级的生命周期。具体的,主控制器2可以预先设置一个或多个生命周期阈值,将数据的生命周期与生命周期阈值进行比较从而确定该数据所属的生命周期级别。举例来说,预先设置第一生命周期阈值、第二生命周期阈值和第三生命周期阈值,其中第二生命周期阈值高于第一生命周期阈值,第三生命周期阈值高于第二生命周期阈值。当数据的生命周期等于或低于第一生命周期阈值时,它属于第一等级的生命周期,当数据的生命周期位于第一生命周期阈值与第二生命周期阈值之间时,该数据属于第二等级的生命周期,当数据的生命周期位于第二生命周期阈值和第三生命周期阈值之间时,该数据属于第三等级的生命周期,当数据的生命周期高于第三生命周期阈值时,该数据属于第四等级的生命周期。
如图12所示,所述主控制器2在识别出数据的生命周期级别之后,将所述识别出的生命周期级别以参数的形式携带在NVMe协议中传递给固态硬盘1,以便固态硬盘1根据生命周期的参数判断生命周期级别,并且为不同生命周期级别的数据分配不同的数据存储模式的擦除块。
如图12所示,需要说明的是,所述主控制器2属于***控制器,***控制器是独立的设备,不同于固态硬盘中的控制芯片。本实施例将固态硬盘的控制芯片称为闪存控制器。
请参阅图13、图14、图15、图16,图13为本申请实施例提供的一种存储***的固态硬盘的结构原理框图。图14为本申请实施例提供的一种存储***的闪存芯片的结构原理框图。图15为本申请实施例提供的一种存储***的擦除块的结构原理框图。图16为本申请实施例提供的一种存储***的页的结构原理框图。所述固态硬盘1包括闪存控制器11和多个闪存芯片12。其中,闪存控制器11用于执行主控制器2发送的写数据请求或者读数据请求等操作。
如图13所示,所述闪存控制器11中包含闪存翻译层(flash translation layer,FTL)。闪存翻译层用于保存有数据的逻辑地址与实际地址之间的对应关系。因此,闪存翻译层用于将***控制器发送的写数据请求或者读数据请求中的逻辑地址转化为固态硬盘中数据的实际地址。数据的逻辑地址是由***控制器分配的,一个段的逻辑地址区间的子集。数据的逻辑地址包括起始逻辑地址和长度,起始逻辑地址指示所述数据位于的所述段的位置,长度代表所述数据的大小。数据的实际地址可以是固态硬盘中该数据的物理地址,也可以是在所述物理地址的基础上经过虚拟化,只对闪存控制器可见的地址。该经过虚拟化的实际地址对***控制器不可见。
如图13、图14所示,所述固态硬盘1通常包括一个或多个闪存芯片12。每个闪存芯片12包括若干个擦除块121,擦除块121也可以称为物理块或闪存块。所述固态硬盘1在读取或写入时是以一个页(page)为基础的,但擦除操作只能以一个擦除块121为基础,擦除操作是指将这个块的所有位都设置为“1”。在擦除之前,闪存控制器需要先将这个擦除块121中的有效数据复制到另一个块的空白页中去。擦除块121中的有效数据是指该块中保存的没有被修改过的数据,这部分数据可能会被读取。擦除块121中的无效数据是指该块中保存的已经被修改过的数据,这部分数据不可能会被读取。
如图15所示,每个擦除块121包含多个页1211(page)。固态硬盘1在执行写数据请求时,是以页1211为单位来写数据的。举例来说,主控制器2向闪存控制器11发送一个写数据请求。所述写数据请求包括数据的逻辑地址。闪存控制器11在接收所述写数据请求之后,按照接收的时间顺序将所述数据连续写入一个或多个擦除块121中。连续写入一个或多个擦除块121是指,闪存控制器11查找一个空白的擦除块121,将数据写入所述空白的擦除块121,直至将所述空白的擦除块121填满,当所述数据的大小超过擦除块121的容量时,闪存控制器11再查找下一个空白的擦除块121,继续写入。闪存翻译层建立并保存所述逻辑地址与写入所述数据的页1211的实际地址之间的对应关系。当主控制器2向闪存控制器11发送读数据请求,要求读取所述数据时,所述读数据请求中包括所述逻辑地址。闪存控制器11根据所述逻辑地址,以及所述逻辑地址与实际地址之间的对应关系读取所述数据,并将该数据发送给主控制器2。
如图16所示,存储单元12111(cell)是页1211的最小操作单元,一个存储单元12111对应一个浮栅晶体管,它可以存储1比特(bit)或多比特的数据,这取决于闪存的类型。一个页1211上的存储单元12111共享一根字符线。存储单元12111包括控制栅极和浮置栅极,浮置栅极是真正存储数据的单元。数据在存储单元12111中是以电荷(electricalcharge)形式存储的。存储电荷的多少取决于控制栅极所被施加的电压,其控制了向浮置栅极中冲入电荷还是使其释放电荷。而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值来表示。往浮置栅极中写入数据就是对控制栅极施加电压,使得浮置栅极中存储的电荷够多,超过阈值,就表示0。对闪存进行擦除操作就是对浮置栅极放电,使得浮置栅极中存储的电荷低于阈值,就表示1。
如图16所示,每个存储单元12111中存储一个比特数据的闪存类型称之为单层单元(Single-level cell,SLC),单层单元的浮置栅极有一个电压阈值,因此具有0和1两种状态,可以存储一个比特的数据。单层单元闪存具有高写入速度、低功耗、更长电池耐久的优点,因此具有更快的传输速度和更长使用寿命。多层单元(Multi-level cell,MLC)是使用多个电压阈值的存储单元12111,从而允许相同数量的晶体管存储更多比特。在单层单元技术中,每个存储单元12111只能处于两种状态中的一种,而MLC在每个存储单元12111中存储四个可能的状态(MLC具有00、01、10、11四种状态),因此可以用每个存储单元12111存储两个比特。相对于SLC来说,MLC的误码率更高,使用寿命更短,但成本更低。一些固态硬盘使用MLC闪存中的部分晶粒模拟为单比特的SLC闪存,从而提供更高的写入速度。另外,每个单元存储三比特的闪存被称为三层单元(Triple-level cell,TLC),TLC具有8种状态。MLC的缺点在TLC上同样存在并更为突出,但TLC也受益于更高的存储密度和更低的成本。另外,闪存类型还有四层单元(Quad-level cell,QLC)以及其他多层单元,本发明实施例并不对闪存类型进行限定。
如图14所示,为了弥补TLC在写性能和使用寿命上面的缺陷,本实施例采用SLC和TLC双模式的存储架构。本实施例将设置为SLC模式的擦除块称为第一擦除块集合,将TLC模式的擦除块称为第二擦除块集合。一般来说,第一擦除块集合所包含的擦除块的数量多于第二擦除块集合所包含的擦除块。
如图16所示,另外,本实施例还支持包含两种或两种以上闪存类型的固态硬盘。例如,在本实施例所提供的固态硬盘中可以包含设置为MLC以及TLC两种类型的存储单元12111,也可以包含设置为MLC以及QLC两种类型的存储单元12111,也可以包含设置为QLC以及TLC两种类型的存储单元12111,还可以包含设置为MLC、TLC以及QLC三种类型的存储单元12111,或者其他组合。
请参阅图17(1)、图17(2)、图18、图19、,图17(1)为未建立温度数据表下的,在腔室内实际烧机情况下,在高温定温的情况下主机写入资料的速度。图17(2)为未建立温度数据表下的,在腔室内实际烧机情况下,在高温定温的情况下主机读取资料的速度。图18为本申请一个实施例提供的一种存储介质的错误检测方法的建立温度数据表下的块和温度的示意图。图19为本申请又一个实施例提供的一种存储介质的错误检测方法的建立温度数据表下的块和温度的示意图。如图17(1)所示,左侧为高温状态下,中间为降温区间下,右侧为低温状态下,在腔室内实际烧机的情况下,可以看到在高温低温的情况下主机写入以及读取资料的速度,演算法并没有侦测到任何有风险的块,因此写读速度都维持在一定的水平上,如图18所示,在高温烧机的过程中所建立了闪存写入温度表,当腔室温度开始变化后,演算法侦测到温宽过大的风险块时,为了保护已写入块内的资料稳定,演算法开始进行内部块资料的搬移,即将该风险块内的资料读出并重新写入到另一块上,即降温区间,由于块内部资料在进行大量的搬移动作,导致主机写入及读取资料的速度大幅下降,但当腔室又再次进入低温定温的情况时,由于资料已被重新写入,如图19所示,闪存写入温度表,并不存在温宽过大的风险块,因此,主机的写入读取速度又恢复到一定的水平之上。
综上所述,本发明的存储介质的错误检测方法可以通过温度数据表检测擦除块的温度信息,以及通过链表检测擦除块的错误比特数目,从而来判断擦除块是否为风险块,本发明能够主动式的侦测是否存在风险块,在资料还未遗失前,提前读取风险块的资料,并重新写入新的块,因此不会产生资料丢失的情况,能够读取到完整的资料。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种存储介质的错误检测方法,其特征在于,所述存储介质的错误检测方法包括:
获取存储介质中的每一个擦除块在写入数据时的温度数据;
根据所述温度数据,以生成温度数据表;
获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中;
通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据;
通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据;
根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息;
所述通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤包括:
遍历所述链表,通过指定所述擦除块的起始点至结束点对所述链表进行检查;
获取所述擦除块位于环境的温度信息数据;
将所述温度信息数据与温度检测数据进行对比,以得到所述温度信息数据与温度检测数据之间的温度差数据;
判断所述温度差数据是否在温度设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块,其中,所述温度设定阈值基于不同的擦除块进行设定;
所述通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤包括:
遍历所述链表,通过执行所述擦除块的起始点至结束点对所述链表进行检查;
获取所述擦除块中的页的错误比特数目;
判断所述错误比特数目是否在错误比特数目设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块,其中,所述错误比特数据设定阈值基于不同的擦除块进行设定。
2.根据权利要求1所述的一种存储介质的错误检测方法,其特征在于:所述存储介质的错误检测方法还包括:
将所述写入数据后的擦除块存储于资源池中。
3.根据权利要求1所述的一种存储介质的错误检测方法,其特征在于,所述通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤还包括:
若擦除块为风险块,则读取所述擦除块中存储的数据;
将读取到的数据写入至所述存储介质中的另一个擦除块中。
4.根据权利要求1所述的一种存储介质的错误检测方法,其特征在于,所述通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤还包括:
若擦除块为风险块,则读取所述擦除块中存储的数据;
将读取到的数据写入至所述存储介质中的另一个擦除块中。
5.根据权利要求1所述的一种存储介质的错误检测方法,其特征在于,所述遍历所述链表发生在所述擦除块读取数据完成时。
6.根据权利要求5所述的一种存储介质的错误检测方法,其特征在于:通过计时器进行计时,以在设定的时间间隔内遍历所述链表。
7.一种存储介质的错误检测***,其特征在于,所述存储介质的错误检测***包括:
温度数据获取器,用于获取存储介质中的每一个擦除块在写入数据时的温度数据;
温度数据表生成器,用于根据所述温度数据,以生成温度数据表;
记录器,用于获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中;
温度检测数据获取器,用于通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据;
错误比特数目检测数据获取器,用于通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据;
检测结果信息获取器,用于根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息;
其中,所述通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤包括:
遍历所述链表,通过指定所述擦除块的起始点至结束点对所述链表进行检查;
获取所述擦除块位于环境的温度信息数据;
将所述温度信息数据与温度检测数据进行对比,以得到所述温度信息数据与温度检测数据之间的温度差数据;
判断所述温度差数据是否在温度设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块,其中,所述温度设定阈值基于不同的擦除块进行设定;
所述通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤包括:
遍历所述链表,通过执行所述擦除块的起始点至结束点对所述链表进行检查;
获取所述擦除块中的页的错误比特数目;
判断所述错误比特数目是否在错误比特数目设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块,其中,所述错误比特数据设定阈值基于不同的擦除块进行设定。
8.一种存储***,其特征在于,所述存储***包括:
固态硬盘;
主控制器,其与所述固态硬盘相连接,其中,所述主控制器包括:
温度数据获取器,用于获取存储介质中的每一个擦除块在写入数据时的温度数据;
温度数据表生成器,用于根据所述温度数据,以生成温度数据表;
记录器,用于获取写入数据后的擦除块,并将所述写入数据后的擦除块记录于链表中;
温度检测数据获取器,用于通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据;
错误比特数目检测数据获取器,用于通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据;
检测结果信息获取器,用于根据所述温度检测数据和错误比特数目检测数据,以得到擦除块检测结果信息;
其中,所述通过所述温度数据表检测所述擦除块的温度信息,以得到温度检测数据的步骤包括:
遍历所述链表,通过指定所述擦除块的起始点至结束点对所述链表进行检查;
获取所述擦除块位于环境的温度信息数据;
将所述温度信息数据与温度检测数据进行对比,以得到所述温度信息数据与温度检测数据之间的温度差数据;
判断所述温度差数据是否在温度设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块,其中,所述温度设定阈值基于不同的擦除块进行设定;
所述通过所述链表检测所述擦除块的错误比特数目,以得到错误比特数目检测数据的步骤包括:
遍历所述链表,通过执行所述擦除块的起始点至结束点对所述链表进行检查;
获取所述擦除块中的页的错误比特数目;
判断所述错误比特数目是否在错误比特数目设定阈值的范围内,若是,则所述擦除块为正常状态,若否,则所述擦除块为风险块,其中,所述错误比特数据设定阈值基于不同的擦除块进行设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010825709.0A CN112035060B (zh) | 2020-08-17 | 2020-08-17 | 一种存储介质的错误检测方法、***及存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010825709.0A CN112035060B (zh) | 2020-08-17 | 2020-08-17 | 一种存储介质的错误检测方法、***及存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035060A CN112035060A (zh) | 2020-12-04 |
CN112035060B true CN112035060B (zh) | 2024-04-26 |
Family
ID=73576865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010825709.0A Active CN112035060B (zh) | 2020-08-17 | 2020-08-17 | 一种存储介质的错误检测方法、***及存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035060B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527199B (zh) * | 2020-12-07 | 2024-05-28 | 深圳大普微电子科技有限公司 | 一种提高闪存介质寿命的方法、装置和电子设备 |
CN113643746B (zh) * | 2021-07-02 | 2023-09-26 | 深圳市宏旺微电子有限公司 | 闪存数据的分析方法、装置、终端设备及存储介质 |
CN116483639B (zh) * | 2023-04-26 | 2024-03-19 | 珠海妙存科技有限公司 | eMMC信息获取方法和***、电子设备和存储介质 |
CN116453554B (zh) * | 2023-06-15 | 2023-08-15 | 北京网智易通科技有限公司 | 存储介质检测方法、装置、电子设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN102141943A (zh) * | 2010-01-28 | 2011-08-03 | 建兴电子科技股份有限公司 | 闪存装置及其数据保护方法 |
CN104615546A (zh) * | 2015-02-13 | 2015-05-13 | 小米科技有限责任公司 | 文件数据管理方法及装置 |
CN104731522A (zh) * | 2013-12-20 | 2015-06-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN105023609A (zh) * | 2014-04-21 | 2015-11-04 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
WO2017152392A1 (zh) * | 2016-03-09 | 2017-09-14 | 华为技术有限公司 | 一种闪存设备的刷新方法和装置 |
CN108052414A (zh) * | 2017-12-28 | 2018-05-18 | 湖南国科微电子股份有限公司 | 一种提升ssd工作温度范围的方法及*** |
CN109375869A (zh) * | 2018-09-17 | 2019-02-22 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的方法以及***、存储介质 |
US10261704B1 (en) * | 2016-06-29 | 2019-04-16 | EMC IP Holding Company LLC | Linked lists in flash memory |
CN110390987A (zh) * | 2019-06-22 | 2019-10-29 | 合肥致存微电子有限责任公司 | 一种数据加速重读的方法以及存储设备 |
CN110688326A (zh) * | 2019-09-23 | 2020-01-14 | 西安微电子技术研究所 | 一种基于多阈值的闪存磨损均衡算法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280300B2 (en) * | 2013-06-28 | 2016-03-08 | Vmware, Inc. | Techniques for dynamically relocating virtual disk file blocks between flash storage and HDD-based storage |
US9984731B2 (en) * | 2015-09-03 | 2018-05-29 | Toshiba Memory Corporation | Storage device and storage method |
US10304559B2 (en) * | 2016-12-30 | 2019-05-28 | Western Digital Technologies, Inc. | Memory write verification using temperature compensation |
-
2020
- 2020-08-17 CN CN202010825709.0A patent/CN112035060B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN102141943A (zh) * | 2010-01-28 | 2011-08-03 | 建兴电子科技股份有限公司 | 闪存装置及其数据保护方法 |
CN104731522A (zh) * | 2013-12-20 | 2015-06-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN105023609A (zh) * | 2014-04-21 | 2015-11-04 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
CN104615546A (zh) * | 2015-02-13 | 2015-05-13 | 小米科技有限责任公司 | 文件数据管理方法及装置 |
WO2017152392A1 (zh) * | 2016-03-09 | 2017-09-14 | 华为技术有限公司 | 一种闪存设备的刷新方法和装置 |
US10261704B1 (en) * | 2016-06-29 | 2019-04-16 | EMC IP Holding Company LLC | Linked lists in flash memory |
CN108052414A (zh) * | 2017-12-28 | 2018-05-18 | 湖南国科微电子股份有限公司 | 一种提升ssd工作温度范围的方法及*** |
CN109375869A (zh) * | 2018-09-17 | 2019-02-22 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的方法以及***、存储介质 |
CN110390987A (zh) * | 2019-06-22 | 2019-10-29 | 合肥致存微电子有限责任公司 | 一种数据加速重读的方法以及存储设备 |
CN110688326A (zh) * | 2019-09-23 | 2020-01-14 | 西安微电子技术研究所 | 一种基于多阈值的闪存磨损均衡算法 |
Non-Patent Citations (3)
Title |
---|
3D NAND闪存数据保持力与初始状态依赖性研究;张明明;王颀;井冲;霍宗亮;;电子学报;20200215(第02期);108-114 * |
Impact of low temperature on the TSG Vt shift during erase cycling of 3-D NAND Flash memory;Da Li;2019 IEEE 26th International Symposium on Physical and Failure Analysis of Integrated Circuits (IPFA);20200206;1-3 * |
NAND型闪存大容量图像存储器无效块管理;余辉龙;何昕;魏仲慧;王东鹤;;微电子学与计算机;20100205(第02期);7-10 * |
Also Published As
Publication number | Publication date |
---|---|
CN112035060A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9208079B2 (en) | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM | |
CN112035060B (zh) | 一种存储介质的错误检测方法、***及存储*** | |
KR102487553B1 (ko) | 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 | |
US10102059B2 (en) | Data storage device capable of preventing a data retention fail of a nonvolatile memory device and operating method thereof | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
KR101405741B1 (ko) | 스트라이프-기반 비-휘발성 멀티레벨 메모리 동작 | |
KR102549605B1 (ko) | Raid 스토리지 장치의 리커버리 방법 | |
JP2013506903A (ja) | 電源遮断管理 | |
US11625298B2 (en) | Memory block defect detection and management | |
CN112542201A (zh) | 存储设备及操作该存储设备的方法 | |
US20220214970A1 (en) | Power loss protection in memory sub-systems | |
CN113590503B (zh) | 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收*** | |
CN113590502B (zh) | 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收*** | |
KR20210079549A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
CN111625187B (zh) | 一种存储器及其控制方法与存储*** | |
CN114764396A (zh) | 数据存储装置及其操作方法 | |
KR20220075684A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220039404A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN111638993B (zh) | 一种存储介质的纠错方法、及其应用的***及存储*** | |
CN113190469B (zh) | 一种存储器、数据写入方法及存储*** | |
CN111309642B (zh) | 一种存储器及其控制方法与存储*** | |
KR20220070989A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN112015339B (zh) | 一种存储器的数据保存***,保存方法及存储*** | |
US20240069765A1 (en) | Two-tier defect scan management | |
US20230153038A1 (en) | Storage device performing self-diagnosis and storage system including the same |
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 |