CN116469445A - 基于智能体的闪存可靠性动态侦测方法、系统及电子设备 - Google Patents
基于智能体的闪存可靠性动态侦测方法、系统及电子设备 Download PDFInfo
- Publication number
- CN116469445A CN116469445A CN202210061216.3A CN202210061216A CN116469445A CN 116469445 A CN116469445 A CN 116469445A CN 202210061216 A CN202210061216 A CN 202210061216A CN 116469445 A CN116469445 A CN 116469445A
- Authority
- CN
- China
- Prior art keywords
- target
- flash memory
- reliability
- agent
- storage unit
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 124
- 238000001514 detection method Methods 0.000 title claims abstract description 110
- 230000005055 memory storage Effects 0.000 claims abstract description 142
- 230000009471 action Effects 0.000 claims abstract description 82
- 238000003860 storage Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000011156 evaluation Methods 0.000 claims abstract description 52
- 238000013507 mapping Methods 0.000 claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002787 reinforcement Effects 0.000 claims description 12
- 230000014759 maintenance of location Effects 0.000 claims description 11
- 238000013500 data storage Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- SLXKOJJOQWFEFD-UHFFFAOYSA-N 6-aminohexanoic acid Chemical compound NCCCCCC(O)=O SLXKOJJOQWFEFD-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本申请公开了一种基于智能体的闪存可靠性侦测方法、系统及电子设备,其方法包括:获取目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体;由目标智能体确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果;由目标智能体基于状态‑动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果;根据实际可靠性结果与侦测可靠性结果,确定相符程度的评估结果;将评估结果发送至目标智能体以使目标智能体更新并保存状态‑动作映射权值。本申请动态优化智能体可靠性侦测策略,适用不同存储介质,保障数据存储完整性。
Description
技术领域
本申请涉及闪存可靠性侦测技术领域,具体涉及一种基于智能体的闪存可靠性动态侦测方法、系统及电子设备。
背景技术
随着半导体技术的发展,存储器作用在相同面积上的存储密度越来越高,越来越高的存储密度加剧了存储器的可靠性问题。在存储器使用过程中,随着编程/擦除次数的增加,存储器存储单元阈值电压偏移,导致存储单元存储的数据出现各种错误。随着存储器使用时间的增加,这些错误逐渐积累,最终导致无法纠正的数据错误。存储系统运行过程中,若不对存储器可靠性进行侦测,将影响整个存储系统的正常使用,导致重要数据丢失。
为了预防存储器数据丢失,现有技术通过擦除次数及原始误码率大小判断存储器的可靠性。这种方法假设存储系统内所有存储器均具有相似的可靠性下降规律,在相同擦除次数或原始误码率下可靠性相近。但实际情况是,由于制造过程工艺差异,即使同一芯片中的存储单元,可靠性下降规律也不尽相同。现有的可靠性研究结果也表明,相同擦除次数下同一芯片中不同存储单元的错误特征不同。另外,存储单元出现数据失效前的原始误码率分布较广,仅通过擦除次数及原始误码率无法侦测存储单元的真实可靠性。
发明内容
为解决上述问题,本申请实施例提供了一种基于智能体的闪存可靠性侦测方法、系统及电子设备,根据闪存存储单元的真实可靠性动态优化,能够适用于不同类型的存储介质。
本申请实施例采用下述技术方案:
第一方面,提供了一种基于智能体的闪存可靠性动态侦测方法,包括:获取存储系统的目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体;
由目标智能体确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果;
由目标智能体基于状态-动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果;
根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果;
将评估结果发送至目标智能体以使目标智能体更新并保存状态-动作映射权值。
可选的,获取存储系统的目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体,包括:
检测存储系统中的所有闪存存储单元的状态;其中,状态包括经历的编程/擦除次数、保持时间以及原始误码率;
基于所有闪存存储单元的原始误码率划分的多个等级区间,建立各等级区间对应的智能体,使原始误码率等级区间相同的闪存存储单元对应同一智能体;
获取目标闪存存储单元的原始误码率,确定目标闪存存储单元的原始误码率的等级区间;
选择与目标闪存存储单元的原始误码率的等级区间相对应的智能体作为目标智能体,将目标智能体分配给目标闪存存储单元。
可选的,由目标智能体确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果,包括:
根据目标闪存存储单元经历的编程/擦除次数以及保持时间,确定目标闪存存储单元在达到原始误码率前能够执行的编程/擦除次数以及能够保存数据的时间;
将目标闪存存储单元执行能够执行的编程/擦除次数以及能够保存数据的时间后的误码率作为实际可靠性结果。
可选的,由目标智能体基于状态-动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果,包括:
根据目标闪存存储单元经历的编程/擦除次数以及目标智能体的状态-动作映射权值确定目标闪存存储单元拟执行的编程/擦除次数以及拟保存数据的时间;
将目标闪存存储单元执行拟执行的编程/擦除次数以及拟保存数据的时间后的误码率作为侦测可靠性结果。
可选的,根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果,包括:
确定实际可靠性结果与侦测可靠性结果的相符程度;
根据相符程度的数值区间确定评估结果。
可选的,将评估结果发送至目标智能体以使目标智能体更新并保存状态-动作映射权值,包括:
目标智能体接收到评估结果后,基于强化学习方法生成评估反馈参数;
根据评估反馈参数更新状态-动作映射权值并保存更新后的状态-动作映射权值。
可选的,该方法还包括:
判断是否终止运行目标智能体;
若否,则继续获取目标闪存存储单元的状态。
第二方面,提供了一种基于智能体的闪存可靠性动态侦测系统,包括:目标智能体以及包括目标闪存存储单元的存储系统;
存储系统,用于获取目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体;
目标智能体,用于确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果;
目标智能体,用于基于状态-动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果;
存储系统,还用于根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果,将评估结果发送至目标智能体;
目标智能体,还用于根据评估结果更新并保存状态-动作映射权值。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使处理器执行上述任一的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被配置为运行时执行上述任一的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请为存储系统中的目标存储单元分配目标智能体,目标智能体确定目标闪存存储单元的实际可执行动作以及目标闪存存储单元的侦测可执行动作,评估目标闪存存储单元执行实际可执行动作后的实际可靠性结果与执行侦测可执行动作有的侦测可靠性结果,使目标智能体根据评估结果更新并保存状态-动作映射权值。本申请能够根据闪存存储单元的可靠性变化动态更新可靠性侦测策略,不需要任何先验信息,适用于不同类型的存储介质。本申请结合存储系统中闪存存储单元的状态建立智能体,减少智能体的数据量从而减少智能体在系统中占用的存储空间。本申请结合闪存存储单元的真实可靠性优化智能体的可靠性侦测策略,能够避免存储介质出现数据失效,保障数据存储的完整性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请实施例的基于智能体的闪存可靠性侦测方法的流程示意图;
图2示出了根据本申请实施例的分配目标智能体的流程示意图;
图3示出了根据本申请实施例的评估实际可靠性结果与侦测可靠性结果相符程度的流程示意图;
图4示出了根据本申请实施例的更新目标智能体的流程示意图;
图5示出了根据本申请实施例的基于智能体的闪存可靠性动态侦测系统结构示意图;
图6示出了根据本申请实施例的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请的构思在于,为存储系统中的目标存储单元分配目标智能体,目标智能体确定目标闪存存储单元的实际可执行动作以及目标闪存存储单元的侦测可执行动作,评估目标闪存存储单元执行实际可执行动作后的实际可靠性结果与执行侦测可执行动作有的侦测可靠性结果,使目标智能体根据评估结果更新并保存状态-动作映射权值。根据闪存存储单元的可靠性变化动态更新可靠性侦测策略,从而避免存储介质出现数据失效,保障数据存储的完整性。
图1示出了根据本申请实施例的基于智能体的闪存可靠性侦测方法,从图1可以看出,本申请至少包括步骤S110~步骤S150:
步骤S110:获取存储系统的目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体。
选定存储系统中的一个闪存存储单元为目标闪存存储单元,获取该目标闪存存储单元的状态。根据目标闪存存储单元的状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体,由目标智能体侦测目标闪存存储单元的可靠性并动态优化侦测策略。
本申请实施例中的存储系统可以是任一类型的闪存存储单元对应的存储系统。对于闪存存储单元,其是存储系统中任意一个具备数据存储能力的电子器件存储单元,比如某制造工艺下的3D多级单元NAND闪存(TLC NAND Flash)产品。一个存储系统中可能有多个闪存存储单元,具体可以根据不同类型的存储器进行设置,本申请实施例对此不作限定。存储系统中每个闪存存储单元的原始误码率可以相同也可以不同,各闪存存储单元的原始误码率的取值根据存储系统的需求确定。
状态可以包括但不限于:经历的编程/擦除次数(PE)、保持时间(Tr)以及原始误码率(RBER)。闪存存储单元的状态可以包括以下介质特征量中的任意一个或多个:存储单元的错误等级、错误比特数、错误率、存储单元当前经历过的操作周期数、编程时间、读取时间、擦除时间、电流、功耗、阈值电压分布、存储单元编号和条件错误单元数。
其中,条件错误单元数可以包括:阈值电压分布、编程时间、读取时间、擦除时间、错误数、错误率中的一个特征量或几个特征量满足一定取值条件的存储单元的数量。错误等级可以包括:将存储介质错误比特数或错误率可能取值范围划分为多个区间,每个区间对应一个错误等级。
本申请的智能体为能够根据目标闪存存储单元的状态(经历的编程/擦除次数、保持时间及原始误码率)动态侦测其可靠性并动态优化侦测策略的模块。本申请的智能体可以通过任意形式实现,可以包括但不限于表格型智能体、函数型智能体或者人工神经网络。
步骤S120:由目标智能体确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果。
目标智能体依据当前目标闪存存储单元的状态(可以为经历的编程/擦除次数、保持时间和原始误码率)判断目标闪存存储单元的实际可执行动作,记录目标闪存存储单元执行实际可执行动作后的可靠性,将其作为实际可靠性结果。
步骤S130:由目标智能体基于状态-动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果。
目标智能体存储有状态-动作映射关系。目标智能体根据目标闪存存储单元的状态在状态-动作映射关系中确定该状态对应的侦测执行动作,记录目标闪存存储单元执行侦测执行动作后的可靠性,将其作为侦测可靠性结果。
本申请中动作可以但不限于对目标闪存存储单元进行编程、对目标闪存存储单元进行擦除、对目标闪存存储单元进行读取、将目标闪存存储单元标记为环块,当然也可以对目标闪存存储单元执行损耗均衡、刷新、垃圾回收等动作。
步骤S140:根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果。
智能体获得实际可靠性结果和侦测可靠性结果之后,通过存储系统将实际可靠性结果与侦测可靠性结果进行比较,记录实际可靠性结果与侦测可靠性结果的相符程度,实际可靠性结果与侦测可靠性结果的相符程度越高,评估结果越高。
步骤S150:将评估结果发送至目标智能体以使目标智能体更新并保存状态-动作映射权值。
目标智能体接收到评估结果后,根据评估结果及更新算法更新智能体存储的状态-动作映射关系并保存更新后的状态-动作映射权值。
目标智能体可以但不限于以强化学习方法为更新算法。强化学习(ReinforcementLearning,RL)又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一。强化学习算法可以是Sarsa算法、Q-learning算法、Deep Q Network(DNQ)算法、PolicyGradient算法、Actor Critic算法等。
由图1所示的方法可以看出,本申请为存储系统中的目标存储单元分配目标智能体,目标智能体确定目标闪存存储单元的实际可执行动作以及目标闪存存储单元的侦测可执行动作,评估目标闪存存储单元执行实际可执行动作后的实际可靠性结果与执行侦测可执行动作有的侦测可靠性结果,使目标智能体根据评估结果更新并保存状态-动作映射权值。根据闪存存储单元的可靠性变化动态更新可靠性侦测策略,从而避免存储介质出现数据失效,保障数据存储的完整性。
作为一种可选的实施方式,图2示出了根据本申请实施例的分配目标智能体的流程示意图,从图2可以看出,本申请上述步骤S110还包括步骤S210~步骤S240:
步骤S210:检测存储系统中的所有闪存存储单元的状态;其中,状态包括经历的编程/擦除次数、保持时间以及原始误码率。
存储系统检测并记录所有闪存存储单元经历的编程/擦除次数、保持时间以及原始误码率。
步骤S220:基于所有闪存存储单元的原始误码率划分的多个等级区间,建立各等级区间对应的智能体,使原始误码率等级区间相同的闪存存储单元对应同一智能体。
举例来讲,所有闪存存储单元的原始误码率可以通过以下方式划分为多个等级区间:所有闪存存储单元的错误比特数取值范围为[0,5×10-3],将该范围划分为5个区间[0,10-3)、[10-3,2×10-3)、[2×10-3,3×10-3)、[3×10-3,4×10-3)和[4×10-3,5×10-3],区间分别对应原始误码率等级1、2、3、4、5。依据原始误码率等级的个数建立相同数量的智能体,使相同原始误码率等级的闪存存储单元对应同一智能体。
步骤S230:获取目标闪存存储单元的原始误码率,确定目标闪存存储单元的原始误码率的等级区间。
获取选定的存储系统中的目标闪存存储单元的原始误码率,可以通过目标闪存存储单元的错误比特数确定该目标闪存存储单元的原始误码率等级。
步骤S240:选择与目标闪存存储单元的原始误码率的等级区间相对应的智能体作为目标智能体,将目标智能体分配给目标闪存存储单元。
在建立的智能体中选择与目标闪存存储单元的原始误码率等级相对应的智能体作为目标智能体,将该目标智能体分配给该目标闪存存储单元。
作为一种可选的实施方式,本申请上述步骤S120还包括:
根据目标闪存存储单元经历的编程/擦除次数以及保持时间,确定目标闪存存储单元在达到原始误码率前能够执行的编程/擦除次数以及能够保存数据的时间;将目标闪存存储单元执行能够执行的编程/擦除次数以及能够保存数据的时间后的误码率作为实际可靠性结果。
目标闪存存储单元的实际可靠性由其在当前状态下能够执行的编程/擦除次数以及能够保存数据的时间表示。目标闪存存储单元能够执行的编程/擦除次数越高,或者目标闪存存储单元能够保存数据的时间越长,表示目标闪存存储单元的实际可靠性越高。目标闪存存储单元的实际可靠性结果记为RBERf。
作为一种可选的实施方式,本申请上述步骤S130还包括:
根据目标闪存存储单元经历的编程/擦除次数以及目标智能体的状态-动作映射权值确定目标闪存存储单元拟执行的编程/擦除次数以及拟保存数据的时间;将目标闪存存储单元执行拟执行的编程/擦除次数以及拟保存数据的时间后的误码率作为侦测可靠性结果。
以表格型智能体为例,目标智能体中存储有状态-动作映射关系Q(St,At),表格中的状态-动作映射权值表示目标智能体的可靠性侦测策略。也就是说,Q(St,At)是指在t时刻的s状态下(s∈S),采取动作a(a∈A)能够获得收益的期望,环境会根据agent的动作反馈相应的回报reward,也即将状态(State)与动作(Action)构建成一张Q-table来存储Q值,根据Q值选取能够获得最大的收益的动作。
表1示出了本申请实施例中智能体Q-table的一种可能的实现形式。在此种实现形式下,目标闪存存储单元的状态被划分为有限集合的状态集合S,包括:经历100编程/擦除次数,经历200编程/擦除次数,经历300编程/擦除次数,经历400编程/擦除次数,经历500编程/擦除次数。在此种实现形式下,目标智能体采取的动作(即拟执行的编程/擦除次数以及拟保存数据的时间)被划分为有限集合的动作集合A,包括:可执行100编程/擦除次数并保持1周,可执行200编程/擦除次数并保持1周,可执行100编程/擦除次数并保持2周,可执行200编程/擦除次数并保持2周,不能保持1周。
表1
结合表1,智能体可以但不限于通过以下步骤选取动作。
第一步,查找与目标闪存存储单元状态对应的至少一个预设动作;
第二步,根据选取规则在多个预设动作中选择侦测执行动作,将侦测执行动作作为目标闪存存储介质拟执行的编程/擦除次数以及拟保存数据的时间。选取规则可以为,比较与目标闪存存储单元状态对应的各预设动作对应的值,从中选取最大值作为目标闪存存储单元状态的映射权值,将该状态-动作映射权值对应的动作作为侦测执行动作。
举例来讲,假设获取到的目标闪存存储单元的状态为经历100编程/擦除次数,那么,在表格中对应的是第一行状态。在查找与该状态对应的侦测执行动作时,可以在表1中的第一行查找最大值0.2作为映射权值。因此,与0.2对应的动作可执行200编程/擦除次数并保持1周即作为与状态对应的侦测执行动作。
在确定侦测执行动作之后,将目标闪存存储单元执行拟执行的编程/擦除次数和拟保存数据的时间后的误码率作为侦测可靠性结果,记为RBERe。
作为一种可选的实施方式,图3示出了根据本申请实施例的评估实际可靠性结果与侦测可靠性结果相符程度的流程示意图,从图3可以看出,本申请上述步骤S140还包括步骤S310~步骤S320:
步骤S310,确定实际可靠性结果与侦测可靠性结果的相符程度。
实际可靠性结果与侦测可靠性结果的相符程度根据目标闪存存储单元的实际可靠性结果RBERf与侦测可靠性结果RBERe的差值确定;差值越小,相符程度越高;差值越大,相符程度越低。
按照以下公式计算可靠性相符程度,记为C:
步骤S320,根据相符程度的数值区间确定评估结果。
将相符程度C的数值划分为多个区间,每个区间对应不同的评估结果。
按照以下公式计算评估结果,记为R:
作为一种可选的实施方式,图4示出了根据本申请实施例的更新目标智能体的流程示意图,从图4可以看出,本申请上述步骤S150还包括步骤S410~步骤S420:
步骤S410,目标智能体接收到评估结果后,基于强化学习方法生成评估反馈参数。
以强化学习方法中的Sarsa算法为智能体更新算法对本实施例的实现进行说明,Sarsa算法是一种使用时序差分求解强化学习控制问题的方法,但本领域技术人员应当知晓,本申请的强化方法并不局限于此。
智能体依据以下公式生成评估反馈参数:
δt=Rt+1+γQ(St+1,At+1)-Q(St,At)。
其中,Q(St+1,At+1)为当前目标闪存存储介质的状态和侦测执行动作对应的状态-动作映射权值,Q(St,At)为上一次目标闪存存储介质的状态和侦测执行动作对应的状态-动作映射权值,δt为策略误差,Rt+1为当前目标闪存存储介质的评估结果,γ为损失值。在本实施例中,0≤γ≤1。
步骤S420,根据评估反馈参数更新状态-动作映射权值并保存更新后的状态-动作映射权值。
智能体依据以下公式进行更新:
Q(St+2,At+2)←Q(St+1,At+1)+α×δt。
其中,α为学习率。在本实施例中,α=0.3。
作为一种可选的实施方式,本申请上述步骤S150之后,还包括:判断是否终止运行目标智能体;若否,则继续获取目标闪存存储单元的状态。
在根据评估反馈参数更新状态-动作映射权值对目标智能体更新之后,还可以判断是否终止运行目标智能体;若是,则终止目标智能体;若否,则继续获取存储系统的目标闪存存储单元的状态后传输至智能体,重复上述步骤S110~步骤S150。判断是否终止运行目标智能体可以但不限于包括:判断存储系统中各存储单元是否均正常运行,或者判断是否接收到用户发送的目标智能体终止运行命令,或者存储系统是否满足预设的目标智能体终止条件。
本申请根据闪存存储单元的可靠性变化动态更新可靠性侦测策略,不需要通过预先测试获取存储单元可靠性与特征参数之间的关系,适用于不同类型的存储介质,并能够解决当前存储单元领域中由于工艺差异导致的不同存储单元可靠性下降速度不同的问题。本申请结合存储系统中闪存存储单元的状态建立智能体,减少智能体的数据量从而减少智能体在系统中占用的存储空间。本申请结合闪存存储单元的真实可靠性优化智能体的可靠性侦测策略,能够避免存储介质出现数据失效,保障数据存储的完整性。
基于同样的发明构思,本申请实施例还提供了一种基于智能体的闪存可靠性动态侦测系统,如图5所示,该系统包括:目标智能体510以及包括目标闪存存储单元521的存储系统520。
存储系统520,用于获取目标闪存存储单元521的状态,根据状态为目标闪存存储单元521分配目标智能体510,将状态传输至目标智能体510;
目标智能体510,用于确定目标闪存存储单元521的实际可执行动作,将目标闪存存储单元521执行实际可执行动作后的可靠性作为实际可靠性结果;
目标智能体510,用于基于状态-动作映射权值确定目标闪存存储单元521的侦测执行动作,将目标闪存存储单元521执行侦测执行动作后的可靠性作为侦测可靠性结果;
存储系统520,还用于根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果,将评估结果发送至目标智能体510;
目标智能体510,还用于根据评估结果更新并保存状态-动作映射权值。
作为一种可选的实施方式,存储系统520,还用于检测存储系统520中的所有闪存存储单元的状态;其中,状态包括经历的编程/擦除次数、保持时间以及原始误码率;基于所有闪存存储单元的原始误码率划分的多个等级区间,建立各等级区间对应的智能体,使原始误码率等级区间相同的闪存存储单元对应同一智能体;获取目标闪存存储单元521的原始误码率,确定目标闪存存储单元521的原始误码率的等级区间;选择与目标闪存存储单元521的原始误码率的等级区间相对应的智能体作为目标智能体510,将目标智能体510分配给目标闪存存储单元521。
作为一种可选的实施方式,目标智能体510,还用于根据目标闪存存储单元521经历的编程/擦除次数以及保持时间,确定目标闪存存储单元521在达到原始误码率前能够执行的编程/擦除次数以及能够保存数据的时间;将目标闪存存储单元521执行能够执行的编程/擦除次数以及能够保存数据的时间后的误码率作为实际可靠性结果。
作为一种可选的实施方式,目标智能体510,还用于根据目标闪存存储单元521经历的编程/擦除次数以及目标智能体510的状态-动作映射权值确定目标闪存存储单元521拟执行的编程/擦除次数以及拟保存数据的时间;将目标闪存存储单元521执行拟执行的编程/擦除次数以及拟保存数据的时间后的误码率作为侦测可靠性结果。
作为一种可选的实施方式,存储系统520,还用于确定实际可靠性结果与侦测可靠性结果的相符程度;根据相符程度的数值区间确定评估结果。
作为一种可选的实施方式,目标智能体510,还用于接收到评估结果后,基于强化学习方法生成评估反馈参数;根据评估反馈参数更新状态-动作映射权值并保存更新后的状态-动作映射权值。
作为一种可选的实施方式,存储系统520,还用于判断是否终止运行目标智能体510;若否,则继续获取目标闪存存储单元521的状态。
图6示出了根据本申请实施例的电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于智能体的闪存可靠性动态侦测系统。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取存储系统的目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体;
由目标智能体确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果;
由目标智能体基于状态-动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果;
根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果;
将评估结果发送至目标智能体以使目标智能体更新并保存状态-动作映射权值。
上述如本申请图5所示实施例揭示的基于智能体的闪存可靠性动态侦测系统执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图5中基于智能体的闪存可靠性动态侦测系统执行的方法,并实现基于智能体的闪存可靠性动态侦测系统在图5所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图5所示实施例中基于智能体的闪存可靠性动态侦测系统执行的方法,并具体用于执行:
获取存储系统的目标闪存存储单元的状态,根据状态为目标闪存存储单元分配目标智能体,将状态传输至目标智能体;
由目标智能体确定目标闪存存储单元的实际可执行动作,将目标闪存存储单元执行实际可执行动作后的可靠性作为实际可靠性结果;
由目标智能体基于状态-动作映射权值确定目标闪存存储单元的侦测执行动作,将目标闪存存储单元执行侦测执行动作后的可靠性作为侦测可靠性结果;
根据实际可靠性结果与侦测可靠性结果,确定实际可靠性结果与侦测可靠性结果相符程度的评估结果;
将评估结果发送至目标智能体以使目标智能体更新并保存状态-动作映射权值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于智能体的闪存可靠性动态侦测方法,其特征在于,包括:
获取存储系统的目标闪存存储单元的状态,根据所述状态为所述目标闪存存储单元分配目标智能体,将所述状态传输至所述目标智能体;
由所述目标智能体确定所述目标闪存存储单元的实际可执行动作,将所述目标闪存存储单元执行所述实际可执行动作后的可靠性作为实际可靠性结果;
由所述目标智能体基于状态-动作映射权值确定所述目标闪存存储单元的侦测执行动作,将所述目标闪存存储单元执行所述侦测执行动作后的可靠性作为侦测可靠性结果;
根据所述实际可靠性结果与所述侦测可靠性结果,确定所述实际可靠性结果与所述侦测可靠性结果相符程度的评估结果;
将所述评估结果发送至所述目标智能体以使所述目标智能体更新并保存所述状态-动作映射权值。
2.根据权利要求1所述的基于智能体的闪存可靠性动态侦测方法,其特征在于,所述获取存储系统的目标闪存存储单元的状态,根据所述状态为所述目标闪存存储单元分配目标智能体,将所述状态传输至所述目标智能体,包括:
检测存储系统中的所有闪存存储单元的状态;其中,所述状态包括经历的编程/擦除次数、保持时间以及原始误码率;
基于所述所有闪存存储单元的原始误码率划分的多个等级区间,建立各所述等级区间对应的智能体,使所述原始误码率等级区间相同的闪存存储单元对应同一智能体;
获取所述目标闪存存储单元的原始误码率,确定所述目标闪存存储单元的原始误码率的等级区间;
选择与所述目标闪存存储单元的原始误码率的等级区间相对应的智能体作为目标智能体,将所述目标智能体分配给所述目标闪存存储单元。
3.根据权利要求2所述的基于智能体的闪存可靠性动态侦测方法,其特征在于,所述由所述目标智能体确定所述目标闪存存储单元的实际可执行动作,将所述目标闪存存储单元执行所述实际可执行动作后的可靠性作为实际可靠性结果,包括:
根据所述目标闪存存储单元经历的编程/擦除次数以及所述保持时间,确定所述目标闪存存储单元在达到原始误码率前能够执行的编程/擦除次数以及能够保存数据的时间;
将所述目标闪存存储单元执行所述能够执行的编程/擦除次数以及能够保存数据的时间后的误码率作为实际可靠性结果。
4.根据权利要求2所述的基于智能体的闪存可靠性动态侦测方法,其特征在于,所述由所述目标智能体基于状态-动作映射权值确定所述目标闪存存储单元的侦测执行动作,将所述目标闪存存储单元执行所述侦测执行动作后的可靠性作为侦测可靠性结果,包括:
根据所述目标闪存存储单元经历的编程/擦除次数以及所述目标智能体的状态-动作映射权值确定所述目标闪存存储单元拟执行的编程/擦除次数以及拟保存数据的时间;
将所述目标闪存存储单元执行所述拟执行的编程/擦除次数以及拟保存数据的时间后的误码率作为侦测可靠性结果。
5.根据权利要求1所述的基于智能体的闪存可靠性动态侦测方法,其特征在于,所述根据所述实际可靠性结果与所述侦测可靠性结果,确定所述实际可靠性结果与所述侦测可靠性结果相符程度的评估结果,包括:
确定所述实际可靠性结果与所述侦测可靠性结果的相符程度;
根据所述相符程度的数值区间确定所述评估结果。
6.根据权利要求1所述的基于智能体的闪存可靠性动态侦测方法,其特征在于,所述将所述评估结果发送至所述目标智能体以使所述目标智能体更新并保存所述状态-动作映射权值,包括:
所述目标智能体接收到所述评估结果后,基于强化学习方法生成评估反馈参数;
根据所述评估反馈参数更新所述状态-动作映射权值并保存更新后的所述状态-动作映射权值。
7.根据权利要求1所述的基于智能体的闪存可靠性动态侦测方法,其特征在于,所述方法还包括:
判断是否终止运行所述目标智能体;
若否,则继续获取所述目标闪存存储单元的状态。
8.一种基于智能体的闪存可靠性动态侦测系统,其特征在于,包括:目标智能体以及包括目标闪存存储单元的存储系统;
所述存储系统,用于获取目标闪存存储单元的状态,根据所述状态为所述目标闪存存储单元分配目标智能体,将所述状态传输至所述目标智能体;
所述目标智能体,用于确定所述目标闪存存储单元的实际可执行动作,将所述目标闪存存储单元执行所述实际可执行动作后的可靠性作为实际可靠性结果;
所述目标智能体,用于基于状态-动作映射权值确定所述目标闪存存储单元的侦测执行动作,将所述目标闪存存储单元执行所述侦测执行动作后的可靠性作为侦测可靠性结果;
所述存储系统,还用于根据所述实际可靠性结果与所述侦测可靠性结果,确定所述实际可靠性结果与所述侦测可靠性结果相符程度的评估结果,将所述评估结果发送至所述目标智能体;
所述目标智能体,还用于根据所述评估结果更新并保存所述状态-动作映射权值。
9.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器;
所述可执行指令在被执行时使所述处理器执行所述权利要求1-7任一项所述的基于智能体的闪存可靠性动态侦测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被配置为运行时执行权利要求1-7任一项所述的基于智能体的闪存可靠性动态侦测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061216.3A CN116469445B (zh) | 2022-01-19 | 2022-01-19 | 基于智能体的闪存可靠性动态侦测方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061216.3A CN116469445B (zh) | 2022-01-19 | 2022-01-19 | 基于智能体的闪存可靠性动态侦测方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116469445A true CN116469445A (zh) | 2023-07-21 |
CN116469445B CN116469445B (zh) | 2024-04-09 |
Family
ID=87179419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210061216.3A Active CN116469445B (zh) | 2022-01-19 | 2022-01-19 | 基于智能体的闪存可靠性动态侦测方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116469445B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8995197B1 (en) * | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
CN112817523A (zh) * | 2021-01-19 | 2021-05-18 | 置富科技(深圳)股份有限公司 | 存储介质可靠性等级判断方法及系统、存储介质、设备 |
CN112908391A (zh) * | 2021-02-08 | 2021-06-04 | 置富科技(深圳)股份有限公司 | 一种基于数学模型的闪存分类方法及装置 |
-
2022
- 2022-01-19 CN CN202210061216.3A patent/CN116469445B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8995197B1 (en) * | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
CN112817523A (zh) * | 2021-01-19 | 2021-05-18 | 置富科技(深圳)股份有限公司 | 存储介质可靠性等级判断方法及系统、存储介质、设备 |
CN112908391A (zh) * | 2021-02-08 | 2021-06-04 | 置富科技(深圳)股份有限公司 | 一种基于数学模型的闪存分类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116469445B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152273B2 (en) | Nonvolatile memory controller and method for erase suspend management that increments the number of program and erase cycles after erase suspend | |
US9922706B2 (en) | Solid state storage device using state prediction method | |
KR101578511B1 (ko) | 리드 전압 설정 방법 | |
US9153336B1 (en) | Decoder parameter estimation using multiple memory reads | |
US8531888B2 (en) | Determining optimal reference voltages for progressive reads in flash memory systems | |
US20220027083A1 (en) | Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices | |
CN111190536A (zh) | 基于人工神经网络模型推断读取电平的存储设备 | |
US20150103594A1 (en) | Inter-cell interference cancellation | |
US8391076B2 (en) | Nonvolatile memory device using interleaving technology and programming method thereof | |
TWI515748B (zh) | 測量記憶體錯誤校正資料之方法及儀器 | |
CN105097028A (zh) | 包括非易失性存储器件的存储装置和该器件的读取方法 | |
US10460815B2 (en) | Decoding method of selecting optimized read voltage set based on gray code count deviation summations, and storage controller using the same | |
US11699493B2 (en) | Method and apparatus for performing a read of a flash memory using predicted retention-and-read-disturb-compensated threshold voltage shift offset values | |
US20190384504A1 (en) | Write level optimization for non-volatile memory | |
CN110837477B (zh) | 一种基于寿命预测的存储系统损耗均衡方法及装置 | |
US11342040B2 (en) | Memory system | |
CN112817523B (zh) | 存储介质可靠性等级判断方法及系统、存储介质、设备 | |
CN116469445B (zh) | 基于智能体的闪存可靠性动态侦测方法、系统及电子设备 | |
US7639539B2 (en) | Method and apparatus for programming data of memory cells considering floating poly coupling | |
CN109411002A (zh) | 一种数据读取的方法及闪存控制器 | |
CN112068772B (zh) | 数据存储方法、数据存储装置及存储装置 | |
US20190379399A1 (en) | Log-likelihood-ratio (llr) generation algorithm for low-density-parity-check (ldpc) codes used in flash memory | |
CN114566201A (zh) | 一种最优读电压确定方法、装置及电子设备 | |
CN114242136A (zh) | 一种3d nand闪存参考电压优化调节方法、系统及计算机可读存储介质 | |
US20140068148A1 (en) | Level placement in solid-state memory |
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 |