CN117742619B - 一种存储器及其数据处理方法 - Google Patents
一种存储器及其数据处理方法 Download PDFInfo
- Publication number
- CN117742619B CN117742619B CN202410190402.6A CN202410190402A CN117742619B CN 117742619 B CN117742619 B CN 117742619B CN 202410190402 A CN202410190402 A CN 202410190402A CN 117742619 B CN117742619 B CN 117742619B
- Authority
- CN
- China
- Prior art keywords
- block
- risk
- data
- blocks
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 230000010354 integration Effects 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 23
- 239000008187 granular material Substances 0.000 claims abstract description 10
- 230000009471 action Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000000737 periodic effect Effects 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000012937 correction Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储器及其数据处理方法,包括:存储颗粒,用以存储数据,存储颗粒包括多个存储块;以及主控器,用以向存储块写入/读出数据;其中,主控器用以根据某一存储块与搬移条件的比较结果,获取危险块,并对危险块进行数据搬移处理;主控器还用以根据某一存储块与积分条件的比较结果,以在链表中对存储块进行积分处理;主控器还用以获取链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序;主控器还用以根据风险块的数量与第一预设阈值的比较结果,以对风险块进行数据搬移处理。通过本发明提供的一种存储器及其数据处理方法,能够有效提升数据搬移效率。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储器及其数据处理方法。
背景技术
存储器(Embedded MultiMediaCard,eMMC)可以应用于电子设备中,例如智能手机、平板电脑等,可以通过存储器中的存储块(Block)对数据进行存储。
对于存储块而言,因外界环境影响,其可能会出现存储数据出现异常的情况,导致数据丢失。对于出现问题的存储块,可以在纠正前对数据进行搬移。由于搬移过程较为复杂,需要涉及到有效数据确认、有效数据读取、有效数据写入等。当多个存储块同时出现异常时,其内部存储的数据在搬移时较为繁琐。因此,存在待改进之处。
发明内容
本发明的目的在于提供一种存储器及其数据处理方法,能够有效提升数据搬移效率。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种存储器,包括:
存储颗粒,用以存储数据,所述存储颗粒包括多个存储块;以及
主控器,用以向所述存储块写入/读出数据;
其中,所述主控器用以根据某一存储块与搬移条件的比较结果,获取危险块,并对所述危险块进行数据搬移处理;
所述主控器还用以根据某一存储块与积分条件的比较结果,以在链表中对存储块进行积分处理;
所述主控器还用以获取链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序;
所述主控器还用以根据风险块的数量与第一预设阈值的比较结果,以对所述风险块进行数据搬移处理。
在本发明一实施例中,所述主控器确定某一存储块满足搬移条件时,执行的动作为在所述链表中将该存储块的积分更新为积分阈值,并将该存储块标记为危险块。
在本发明一实施例中,所述主控器确定某一存储块被标记为危险块时,执行的动作为将危险块内部存储的有效数据搬移到可用块中,且在搬移完成后,将危险块的积分清零,并将其标记为可用块。
在本发明一实施例中,所述主控器确定某一存储块满足积分条件时,执行的动作为对该存储块进行积分,以在链表中对其积分进行更新。
在本发明一实施例中,所述主控器确定风险块的数量达到第一预设阈值时,执行的动作为根据风险块的排序,依次将风险块内部存储的有效数据搬移到可用块中,直至风险块的数量小于第二预设阈值时为止,且在搬移完成后,将数据搬移后的风险块的积分清零,并将其标记为可用块。
在本发明一实施例中,在将所述风险块内部存储的有效数据搬移到可用块的过程中,当所述主控器确定出现危险块时,执行的动作为优先完成当前风险块的数据搬移,再对所述危险块进行数据搬移处理。
在本发明一实施例中,当所述主控器确定同时出现风险块与危险块时,执行的动作为优先完成所述危险块的数据搬移,再完成所述风险块的数据搬移。
在本发明一实施例中,在数据搬移时,将所述危险块中的有效数据搬移到可用块的写出速率与主机向存储块写入数据的速率的比值设定在90~110之间,将所述风险块中的有效数据搬移到可用块的写出速率与主机向存储块写入数据的速率的比值设定在40~60之间。
在本发明一实施例中,所述搬移条件表示为:因掉电出现未完成操作、出现高写低读或低写高读、因周期性检查触发重试机制中的一种或多种;
所述积分条件表示为:当读取某一存储块中的某一页时,对该存储块积分一次,或者,周期性检查某一存储块的数据读取能力与数据保持能力时,错误比特数超过预设阈值时,将该存储块的积分与第一设定值累加,或者,当某一存储块中的错误比特数超过预设阈值时,将该存储块的积分与第二设定值累加,或者,当某一存储块中的错误比特数为零时,将该存储块的积分与第三设定值累加,其中,所述第一设定值与积分阈值的比值在0.6~0.8之间,所述第二设定值与积分阈值的比值在0.3~0.5之间,所述第三设定值与积分阈值的比值在0.1~0.3之间。
本发明还提供了一种存储器的数据处理方法,包括:
根据某一存储块与搬移条件的比较结果,获取危险块,并对所述危险块进行数据搬移处理;
根据某一存储块与积分条件的比较结果,以在链表中对该存储块进行积分处理;
获取所述链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序;
根据所述风险块的数量与第一预设阈值的比较结果,以对所述风险块进行数据搬移处理。
如上所述,本发明提供一种存储器及其数据处理方法,通过积分对不同的存储块进行排序,根据优先级顺序完成存储块的数据搬移处理,能够有效提升数据搬移效率,且大大提升有效数据的防护。同时,通过将存储块划分为不同优先级的危险块与风险块,能够快速对较为危险的有效数据进行数据搬移处理,防止有效数据出现丢失的情况。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中存储器的示意图;
图2为本发明一实施例中存储器的数据处理方法的流程图;
图3为图2中步骤S10的流程图;
图4为图2中步骤S20的流程图;
图5为图2中步骤S30的流程图;
图6为图2中步骤S40的流程图。
图中:100、存储器;110、主控器;120、存储块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供了一种存储器,在存储器100的正常工作中,可对出现问题的多个存储块120进行优先级排序,依次对多个存储块120进行数据搬移处理,以对其内部的有效数据进行防护。存储器100可以包括主控器110以及存储颗粒。
在本发明的一个实施例中,主控器110可以负责管理存储颗粒、处理读写请求以及处理诸如错误检测与纠正(ECC)、磨损均衡、碎片整理等底层任务。主控器110可通过主机接口130与电子设备通信,以接收来自于电子设备的指令与数据。
在本发明的一个实施例中,存储颗粒(Die)的数量可以为多个,主控器110可通过存储颗粒完成数据的写入/读出。存储颗粒可以包括多个存储块(Block)120,存储块120的大小可以为6MB、18MB等,存储块120的具体大小可根据实际需求进行设定。存储块120是数据擦除的最小单元。一个存储块120由多个页面(Page)组成。当需要擦除数据时,整个存储块120会被擦除,然后重新写入数据。数据的实际擦写次数是有限的,每完成一定量的擦写次数后,存储块120会逐渐退化,导致存储块120不再可靠。
在本发明的一个实施例中,在存储器100的正常使用过程中,主控器110可以对不同的存储块120的状态进行监控。例如,主控器110可以用以根据某一存储块120与搬移条件的比较结果,获取危险块,并对危险块进行数据搬移处理。
在本发明的一个实施例中,具体地,主控器110可以获取不同的存储块120的状态,并将存储块120与搬移条件进行比较,以判断存储块120是否符合搬移条件。搬移条件可以表示为因掉电出现未完成操作、出现高写低读或低写高读、因周期性检查触发重试机制中的一种或多种。
进一步地,因掉电出现未完成操作(uncloss)可以表示为存储块120因为意外的电源中断而未能正确完成写入操作。对于文件系统层而言,处于打开状态的文件没有被正确关闭。比方说,如果正在写入数据的过程中发生了掉电,那么这个数据可能不包含预期的所有数据,或者这个数据可能无法被文件系统正确地识别为一个完整的数据。对于存储块120而言,若一个存储块120(例如一个扇区或页面)正在进行写入操作过程中发生了掉电,那么存储器100上的这个存储块120可能处于不一致的状态,既不代表写入操作之前的状态,也不代表写入操作完成后的状态。
再进一步地,出现高写低读(High-temperature Writing,Low-temperatureReading)或低写高读(Low-temperature Writing,High-temperature Reading)可以表示为数据在高温条件下写入、低温条件下读取,或者,数据在低温条件下写入、高温条件下读取。在出现高写低读时,存储块120在高温下编程,在低温下读取可能会因为温差导致电荷状态变化不够清晰,从而出现错误比特(err bit)比较多的情况。在出现低写高读时,存储块120在低温下编程写入,在高温下进行读取可能会因为热扩散而受到影响,从而产生(errbit)比较多的情况。
再进一步地,在周期性检查触发重试机制(Retry)中,周期性检查存储块120通常是指存储器100定期进行的健康监测活动,以确保数据的完整性和存储块120的健康状态。在检查过程中,存储器100可能会对每个存储块120进行读取操作,以验证数据的一致性和可靠性。重试机制(Retry Mechanism)在检测到错误或异常情况时触发,这些错误可能是由于读取失败、数据不一致性、校验和错误或其他种类的潜在故障。重试机制可以在初次操作未成功时提供另一次机会来正确完成这个操作。
在本发明的一个实施例中,重试机制可以按照以下流程触发。主控器110在进行例行检查时,尝试读取一个存储块120。如果读取成功,并且数据与预期的校验值相匹配,则无需进一步操作。如果读取操作失败,或者读取的数据未能通过校验(例如发生了数据损坏或其他错误),主控器110便会启动重试机制。重试机制将导致主控器110重新尝试读取同一个存储块120,以期望得到正确的结果。如果重试成功,并且数据校验无误,那么周期性检查继续进行。如果重试依旧失败,主控器110可能会采取更强有力的纠错措施,例如启动更复杂的错误更正程序或者将数据从损坏的块迁移到健康的块上,并且更新坏块列表以防止将来的数据写入。通过周期性检查和重试机制,存储器100能够提前发现潜在问题并采取修复措施,有助于预防数据丢失和延长存储器100的寿命。
在本发明的一个实施例中,主控器110确定某一存储块120满足搬移条件时,执行的动作为在链表中将该存储块120的积分更新为积分阈值,并将该存储块120标记为危险块。主控器110确定某一存储块120不满足搬移条件时,执行的动作为不对其处理。其中,积分阈值表示为对存储块预设积分的最大值,在本实施例中,积分阈值可以为100000、500000等,积分阈值的具体大小可根据实际需求进行设定。链表(pool)是一种数据结构,通常用于在存储器100中跟踪和管理存储块120之间的关系。链表可以存储在NAND闪存的特定区域内,例如可能存储在一个专用的、保留的区域(称为"保留块"或"系统区"),这部分区域不会对外界暴露。这样当数据被写入存储器100时,主控器110就可以根据这些链表来安排数据的具体位置。在本实施例中,每块存储块120都可在链表中对应一个积分。
在本发明的一个实施例中,主控器110确定某一存储块120被标记为危险块时,执行的动作为将危险块内部存储的有效数据搬移到可用块中,且在搬移完成后,将危险块的积分清零,并将其标记为可用块。具体地,当某一个存储块120被确认为损坏,主控器110会将该块标记为危险块,以避免将来使用该块进行写操作。之后,主控器110可以从其他存储块120中选出一个好块,即可用块,然后将危险块中所含的有效数据搬移到可用块中。完成数据迁移后,主控器110需更新其内部的块映射表或页映射表来反映更改。存储器100使用逻辑到物理映射确保数据的逻辑位置保持一致,即使物理位置已经改变,数据被移动到了新的物理存储块120,依旧可以通过原来的逻辑地址访问该数据。
进一步地,当完成有效数据的搬移后,可以将原本的危险块的积分进行清零处理,并将其重新标记为可用块,以使后续能够重复使用。当然,为了能够快速完成数据搬移工作,可以对主控器110的读写速度进行调整,将危险块中的有效数据搬移到可用块的写出速率与主机向存储块写入数据的速率的比值设定在90~110之间,以快速对危险块中的有效数据进行防护。
在本发明的一个实施例中,当主控器110确定存储块120不满足搬移条件时,此时主控器110可以根据某一存储块120与积分条件的比较结果,以在链表中对存储块120进行积分处理。具体地,主控器110可以获取不同的存储块120的状态,并将存储块120与积分条件进行比较,以判断存储块120是否符合积分条件。积分条件可以表示为当读取某一存储块120中的某一页时,对该存储块120积分一次,或者,周期性检查某一存储块120的数据读取能力与数据保持能力时,错误比特数超过预设阈值时,将该存储块120的积分与第一设定值累加,或者,当某一存储块120中的错误比特数超过预设阈值时,将该存储块120的积分与第二设定值累加,或者,当某一存储块120中的错误比特数为零时,将该存储块120的积分与第三设定值累加。
进一步地,在读取某一存储块120中的某一页(page)时,可以对存储块120积分一次。页(page)是存储块120数据读写的最小单位。一个页的大小通常是4K或者8K等。一个页通常包含有数据存储区域以及用于存储一些错误检测和校正码(ECC)的区域,这些区域用来确保数据的完整性和准确性。主控器110在将数据从存储块120中读出时,可以依次对存储于页中的数据进行读取,读取某一页时,需要对该存储块120积分进行更新,每次读取时,积分可以加一。当然,在每次读取页时,积分也可以与其他数据进行累加,例如加二、五、十等,累加数据的大小可根据实际需求进行设定。
再进一步地,在周期性检查某一存储块120的数据读取能力与数据保持能力的过程中,当错误比特数超过预设阈值时,将该存储块120的积分与第一设定值累加。周期性检查存储块的数据读取能力与数据保持能力涉及执行数据完整性的测试,可以通过主控器110完成,以确保数据没有因为存储块120的物理退化或其他原因而损坏。错误比特数(Error Bit Count)是用来衡量一个数据块中被破坏的数据量。
例如,可以按照以下流程获取错误比特数。主控器110可以从存储块120中读取数据,数据可以包括读取原始数据以及任何关联的纠错编码(ECC)或校验和。之后,主控器110可以对数据进行校验,使用ECC或其他纠错机制来检查读出数据的完整性。如果数据自写入以来没有改变,并且存储块120保持稳定,数据应该与写入时的数据匹配,且ECC或校验和验证应该通过。如果存储块120检查的结果显示数据不匹配,ECC算法将被用来确定错误的比特,ECC也能够检测和纠正一定数量的错误比特。
再进一步地,在主机读取存储器100时,当某一存储块120中的错误比特数超过预设阈值时,可以将该存储块120的积分与第二设定值累加。当某一存储块120中的错误比特数为零时,将该存储块120的积分与第三设定值累加。
在本发明的一个实施例中,当主控器110确定某一存储块120满足积分条件时,执行的动作为对该存储块120进行积分,以在链表中对其积分进行更新。当主控器110确定某一存储块120不满足积分条件时,执行的动作为不对该存储块120进行积分。
例如,当主控器110确定某一存储块120满足读取第一积分条件时,第一积分条件可以表示为当读取某一存储块120中的某一页时,对存储块120积分一次,此时可以在链表中对该存储块120的积分进行更新。
又例如,当主控器110确定某一存储块120满足读取第二积分条件时,第二积分条件可以表示为在周期性检查某一存储块120的数据读取能力与数据保持能力的过程中,当错误比特数超过预设阈值时,将该存储块120的积分与第一设定值累加。其中,第一设定值的大小可根据积分阈值的大小进行设定,在本实施例中,第一设定值与积分阈值的比值在0.6~0.8之间,例如,第一设定值与积分阈值的比值可以被设定为0.6、0.7、0.8等。预设阈值的大小可根据实际需求进行设定,例如可以为50、80、100等。
再例如,当主控器110确定某一存储块120满足读取第三积分条件时,第三积分条件可以表示为在主机读取存储器100时,当某一存储块120中的错误比特数超过预设阈值时,可以将该存储块120的积分与第二设定值累加。其中,第二设定值的大小可根据积分阈值的大小进行设定,在本实施例中,第二设定值与积分阈值的比值在0.3~0.5之间,例如,第二设定值与积分阈值的比值可以被设定为0.3、0.4、0.5等。
再例如,当主控器110确定某一存储块120满足读取第四积分条件时,第三积分条件可以表示为在主机读取存储器100时,当某一存储块120中的错误比特数为零时,将该存储块120的积分与第三设定值累加。其中,第三设定值的大小可根据积分阈值的大小进行设定,在本实施例中,第三设定值与积分阈值的比值在0.1~0.3之间,例如,第三设定值与积分阈值的比值可以被设定为0.1、0.2、0.3等。
在本发明的一个实施例中,主控器110还可用以获取链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序。具体地,主控器110可以实时对链表进行检查,以获取不同的存储块120对应的积分,并判断是否需要对存储块120进行数据搬移处理。主控器110确定某一存储块120的积分处于风险数据范围内,则将该存储块120标记为风险块。主控器110确定某一存储块120的积分未处于风险数据范围内,则不对该存储块120进行处理。在本实施例中,风险数据范围可以根据积分阈值的大小进行设定,例如,积分阈值的大小为a,风险数据范围可以表示为0.8a~0.9a。当获取到多个风险块后,可以根据积分的大小,对风险块进行排序。
在本发明的一个实施例中,主控器110还可用以根据风险块的数量与第一预设阈值的比较结果,以对风险块进行数据搬移处理。具体地,主控器110确定风险块的数量达到第一预设阈值时,执行的动作为根据风险块的排序,依次将风险块内部存储的有效数据搬移到可用块中,直至风险块的数量小于第二预设阈值时为止,且在搬移完成后,将风险块的积分清零,并将其标记为可用块。其中,第一预设阈值与第二预设阈值的大小可根据存储块120的数量进行设定,例如,第一预设阈值与存储块数量的比值可以在0.01~0.03之间,第二预设阈值与存储块数量的比值可以在0.005~0.01之间。
当然,为了能够快速完成数据搬移工作,可以对主控器110的读写速度进行调整,将风险块中的有效数据搬移到可用块的写出速率与主机向存储块写入数据的速率的比值设定在40~60之间,以快速对风险块中的有效数据进行防护。
在本发明的一个实施例中,在风险块的数据搬移过程中,由于存储器100中可能会同时出现危险块,此时需要对风险块与危险块的搬移优先级进行调整。例如,在将风险块内部存储的有效数据搬移到可用块的过程中,主控器110确定出现危险块时,执行的动作为优先完成当前风险块的数据搬移,再对危险块进行数据搬移处理。又例如,在开始搬移风险块的有效数据前,主控器110确定同时出现风险块与危险块时,执行的动作为优先完成危险块的数据搬移,再依次完成风险块的数据搬移。
可见,在上述方案中,通过积分对不同的存储块进行排序,根据优先级顺序完成存储块的数据搬移处理,能够有效提升数据搬移效率,且大大提升有效数据的防护。同时,通过将存储块划分为不同优先级的危险块与风险块,能够快速对较为危险的有效数据进行数据搬移处理,防止有效数据出现丢失的情况。
请参阅图2,本发明还提供了一种存储器的数据处理方法,该数据处理方法可以应用于上述存储器100中,可对出现问题的多个存储块120进行优先级排序,依次对多个存储块120进行数据搬移处理,以对其内部的有效数据进行防护。数据处理方法可包括如下步骤:
步骤S10、根据某一存储块与搬移条件的比较结果,获取危险块,并对危险块进行数据搬移处理;
步骤S20、根据某一存储块与积分条件的比较结果,以在链表中对存储块进行积分处理;
步骤S30、获取链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序;
步骤S40、根据风险块的数量与第一预设阈值的比较结果,以对风险块进行数据搬移处理。
请参阅图3,在本发明的一个实施例中,当执行步骤S10时,具体地,步骤S10可包括如下步骤:
步骤S11、判断存储块是否满足搬移条件;
步骤S12、当存储块满足搬移条件,则在链表中将该存储块的积分更新为积分阈值,并将该存储块标记为危险块;
步骤S13、对危险块进行数据搬移处理,以将其内部存储的有效数据搬移到可用块中,搬移完成后,将危险块的积分清零,并将其标记为可用块;
步骤S14、当存储块不满足搬移条件,则不对其处理。
请参阅图4,在本发明的一个实施例中,当执行步骤S20时,具体地,步骤S20可包括如下步骤:
步骤S21、判断存储块是否满足积分条件;
步骤S22、当存储块满足积分条件,则对该存储块进行积分,以在链表中对其积分进行更新;
步骤S23、当存储块不满足积分条件,则不对存储块进行积分。
请参阅图5,在本发明的一个实施例中,当执行步骤S30时,具体地,步骤S30可包括如下步骤:
步骤S31、对链表中的存储块的积分进行统计,判断存储块的积分是否处于风险数据范围内;
步骤S32、当存储块的积分处于风险数据范围内,则将该存储块标记为风险块,并根据风险块的积分对其进行排序;
步骤S33、当存储块的积分不处于风险数据范围内,则不对其进行处理。
请参阅图6,在本发明的一个实施例中,当执行步骤S40时,具体地,步骤S40可包括如下步骤:
步骤S41、判断风险块的数量是否达到第一预设阈值;
步骤S42、当风险块的数量达到第一预设阈值时,判断是否出现危险块;
步骤S43、当出现危险块时,将其内部存储的有效数据搬移到可用块中;
步骤S44、当未出现危险块时,根据风险块的排序,依次将风险块内部存储的有效数据搬移到其他可用存储块中,直至风险块的数量小于第二预设阈值时为止;
步骤S45、当风险块的数量未达到第一预设阈值时,则不对其进行处理。
以上公开的本发明实施例只是用于帮助阐述本发明。实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种存储器,其特征在于,包括:
存储颗粒,用以存储数据,所述存储颗粒包括多个存储块;以及
主控器,用以向所述存储块写入/读出数据;
其中,所述主控器用以根据某一存储块与搬移条件的比较结果,获取危险块,并对所述危险块进行数据搬移处理;
所述主控器还用以根据某一存储块与积分条件的比较结果,以在链表中对存储块进行积分处理;
所述主控器还用以获取所述链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序;
所述主控器还用以根据所述风险块的数量与第一预设阈值的比较结果,以对所述风险块进行数据搬移处理。
2.根据权利要求1所述的存储器,其特征在于,所述主控器确定某一存储块满足所述搬移条件时,执行的动作为在所述链表中将该存储块的积分更新为积分阈值,并将该存储块标记为危险块。
3.根据权利要求2所述的存储器,其特征在于,所述主控器确定某一存储块被标记为危险块时,执行的动作为将所述危险块内部存储的有效数据搬移到可用块中,且在搬移完成后,将所述危险块的积分清零,并将其标记为可用块。
4.根据权利要求1所述的存储器,其特征在于,所述主控器确定某一存储块满足积分条件时,执行的动作为对该存储块进行积分,以在所述链表中对其积分进行更新。
5.根据权利要求1所述的存储器,其特征在于,所述主控器确定风险块的数量达到第一预设阈值时,执行的动作为根据风险块的排序,依次将风险块内部存储的有效数据搬移到可用块中,直至风险块的数量小于第二预设阈值时为止,且在搬移完成后,将数据搬移后的风险块的积分清零,并将其标记为可用块。
6.根据权利要求5所述的存储器,其特征在于,在将所述风险块内部存储的有效数据搬移到可用块的过程中,当所述主控器确定出现危险块时,执行的动作为优先完成当前风险块的数据搬移,再对所述危险块进行数据搬移处理。
7.根据权利要求5所述的存储器,其特征在于,当所述主控器确定同时出现风险块与危险块时,执行的动作为优先完成所述危险块的数据搬移,再完成所述风险块的数据搬移。
8.根据权利要求1所述的存储器,其特征在于,在数据搬移时,将所述危险块中的有效数据搬移到可用块的写出速率与主机向存储块写入数据的速率的比值设定在90~110之间,将所述风险块中的有效数据搬移到可用块的写出速率与主机向存储块写入数据的速率的比值设定在40~60之间。
9.根据权利要求1所述的存储器,其特征在于,所述搬移条件表示为:因掉电出现未完成操作、出现高写低读或低写高读、因周期性检查触发重试机制中的一种或多种;
所述积分条件表示为:当读取某一存储块中的某一页时,对该存储块积分一次,或者,周期性检查某一存储块的数据读取能力与数据保持能力时,错误比特数超过预设阈值时,将该存储块的积分与第一设定值累加,或者,当某一存储块中的错误比特数超过预设阈值时,将该存储块的积分与第二设定值累加,或者,当某一存储块中的错误比特数为零时,将该存储块的积分与第三设定值累加,其中,所述第一设定值与积分阈值的比值在0.6~0.8之间,所述第二设定值与积分阈值的比值在0.3~0.5之间,所述第三设定值与积分阈值的比值在0.1~0.3之间。
10.一种存储器的数据处理方法,其特征在于,包括:
根据某一存储块与搬移条件的比较结果,获取危险块,并对所述危险块进行数据搬移处理;
根据某一存储块与积分条件的比较结果,以在链表中对该存储块进行积分处理;
获取所述链表中的积分,以筛选出积分处于风险数据范围内的存储块,表示为风险块,并根据积分对风险块进行排序;
根据所述风险块的数量与第一预设阈值的比较结果,以对所述风险块进行数据搬移处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190402.6A CN117742619B (zh) | 2024-02-21 | 2024-02-21 | 一种存储器及其数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190402.6A CN117742619B (zh) | 2024-02-21 | 2024-02-21 | 一种存储器及其数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117742619A CN117742619A (zh) | 2024-03-22 |
CN117742619B true CN117742619B (zh) | 2024-04-19 |
Family
ID=90251243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410190402.6A Active CN117742619B (zh) | 2024-02-21 | 2024-02-21 | 一种存储器及其数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117742619B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10067840B1 (en) * | 2015-03-31 | 2018-09-04 | EMC IP Holding Company LLC | Life expectancy data migration |
CN109542335A (zh) * | 2017-09-22 | 2019-03-29 | 慧荣科技股份有限公司 | 快闪存储器的数据内部搬移方法以及使用该方法的装置 |
CN115629719A (zh) * | 2022-12-19 | 2023-01-20 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2411914A1 (en) * | 2009-03-24 | 2012-02-01 | Hitachi, Ltd. | Storage apparatus and its data control method |
WO2013048470A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Statistical wear leveling for non-volatile system memory |
KR20200043814A (ko) * | 2018-10-18 | 2020-04-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11816346B2 (en) * | 2021-09-29 | 2023-11-14 | Dell Products, L.P. | Method and apparatus for planning and coordinating block data migration between disparate storage systems |
-
2024
- 2024-02-21 CN CN202410190402.6A patent/CN117742619B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10067840B1 (en) * | 2015-03-31 | 2018-09-04 | EMC IP Holding Company LLC | Life expectancy data migration |
CN109542335A (zh) * | 2017-09-22 | 2019-03-29 | 慧荣科技股份有限公司 | 快闪存储器的数据内部搬移方法以及使用该方法的装置 |
CN115629719A (zh) * | 2022-12-19 | 2023-01-20 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117742619A (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727263B2 (en) | Method and system for storage of data in a non-volatile media | |
KR101522744B1 (ko) | 새로운 불량 블록 검출 | |
CN108052414B (zh) | 一种提升ssd工作温度范围的方法及系统 | |
US8452929B2 (en) | Method and system for storage of data in non-volatile media | |
US9146854B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
US8645776B2 (en) | Run-time testing of memory locations in a non-volatile memory | |
TWI490876B (zh) | 系統啟動引導處理方法及裝置 | |
CN109582216B (zh) | 数据储存装置与存储器装置的数据处理方法 | |
CN108958961B (zh) | 数据储存装置以及数据错误管理方法 | |
US10324648B1 (en) | Wear-based access optimization | |
US20070294588A1 (en) | Performing a diagnostic on a block of memory associated with a correctable read error | |
CN116880782B (zh) | 一种内嵌式存储器及其测试方法 | |
JP2013117840A (ja) | メモリアクセス制御装置および方法 | |
JP4158526B2 (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
CN117742619B (zh) | 一种存储器及其数据处理方法 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
KR20120070408A (ko) | 블록을 관리하는 비휘발성 메모리 장치의 제어 방법 | |
US9880926B1 (en) | Log structured reserved zone for a data storage device | |
TWI750811B (zh) | 用於記憶體的資料保護寫入方法、用於記憶體的資料保護讀取方法以及記憶體資料保護系統 | |
US20220254435A1 (en) | Semiconductor storage device and error processing method for defective memory cell in the device |
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 |