CN114116309A - 一种存储器的数据存取方法及系统 - Google Patents
一种存储器的数据存取方法及系统 Download PDFInfo
- Publication number
- CN114116309A CN114116309A CN202111373560.8A CN202111373560A CN114116309A CN 114116309 A CN114116309 A CN 114116309A CN 202111373560 A CN202111373560 A CN 202111373560A CN 114116309 A CN114116309 A CN 114116309A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- page
- parameter data
- storage
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
Abstract
本发明提供一种存储器的数据存取方法及系统,所述存储器的数据存取方法包括以下步骤:将闪存块中多个存储页划分为若干个数据组;将每一所述数据组中的所述多个存储页划分为多种类型;将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据;当发生异常断电时,所述存储器停止存储数据;将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型;通过判断所述最新的存储页所在的数据组和存储页类型,读取准确的参数数据。通过本发明提供的一种存储器的数据存取方法,能够使存储系统获取准确的参数数据。
Description
技术领域
本发明涉及计算机存储技术领域,特别是涉及一种存储器的数据存取方法及系统。
背景技术
存储器中会存储一些重要的参数数据信息,例如与前端协议信号相关的参数与设定值,与后端闪存特性相关的参数值,还有一些存储器在运行过程中所需要参考的参数设定值等等。通常这些系统参数数据在不同存储器上存在差异,且随着存储器的使用会不断更新所需要的参数数据。当存储器在进行参数数据更新时,参数数据以每个存储页为单位,依次写入进行更新,即存储器在运行过程中会不断更新最新的各项参数数据到存储页中。当在更新参数数据的过程中,发生异常断电,使参数数据并没有更新完成,在上电后,若无法识别出具有可靠性且被认定为最新一笔的参数数据存储页,可能造成数据前后不一致现象,使存储系统无法正常运行。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储器的数据存取方法及系统,用于解决当存储器在更新参数数据的过程中,发生异常掉电时,存储系统无法获取准确的参数数据的问题。
为实现上述目的及其他相关目的,本发明提供一种存储器的数据存取方法,包括以下步骤:
将闪存块中多个存储页划分为若干个数据组;
将每一所述数据组中的所述多个存储页划分为多种类型;
将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据;
当发生异常断电时,所述存储器停止存储数据;
将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型;以及
通过判断所述最新的存储页所在的数据组和存储页类型,读取准确的参数数据。
在本发明的一个实施例中,存储所述参数数据时,以每个所述数据组为单位,依次将所述参数数据写入至所述闪存块中。
在本发明的一个实施例中,查找最新的存储页包括以下步骤:
依次读取所述存储器中每个闪存块中第一个存储页;
通过读取所述每个闪存块中第一个存储页存储的擦除次数,以确定最新的闪存块。
在本发明的一个实施例中,查找最新的存储页包括以下步骤:
设置间隔点;
并查询间隔点位置的存储页是否有参数数据,直至查询到所述最新的存储页。
在本发明的一个实施例中,每次查询时,设置一个所述间隔点,且所述间隔点设置在剩余存储页总数的二分之一处。
在本发明的一个实施例中,所述数据组包括第一类型存储页和第二类型存储页,当在写入所述第二类型存储页中的参数数据时发生异常断电,存储器再一次上电时,若能读取到所述第二类型存储页内的参数数据,则读取最新数据组中第一类型存储页中的参数数据为准确的参数数据。
在本发明的一个实施例中,当在写入所述第二类型存储页中的参数数据发生异常断电,存储器再一次上电时,若不能读取到所述第二类型存储页内的参数数据,则读取上一数据组中第一类型存储页中的参数数据为准确的参数数据。
在本发明的一个实施例中,所述数据组至少包括第一类型存储页、所述第二类型存储页和所述第三类型存储页,当最新数据组中第一类型存储页和第二类型存储页中的参数数据写入完成,在写入后续其他类型存储页中的参数数据时,发生异常断电,存储器再一次上电时,读取所述最新数据组中第一类型存储页中的参数数据为准确的参数数据。
在本发明的一个实施例中,当写入所述第一类型存储页中的参数数据发生异常断电,存储器再一次上电时,读取上一数据组中的第一类型存储页中的参数数据为准确的参数数据。
本发明还提供一种存储器的数据存取系统,包括:
数据单元,用于将闪存块中多个存储页划分为若干个数据组;将每一所述数据组中的所述多个存储页划分为多种类型;将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据;
异常单元,当发生异常断电时,用于将所述存储器停止存储数据;
位置单元,用于将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型;以及
获取单元,通过判断所述最新的存储页所在的数据组和存储页类型,用于读取准确的参数数据。
如上所述,本发明提供一种存储器的数据存取方法及系统,将多个存储页划分若干个数据组,将每一所述数据组中的所述多个存储页划分为多种类型,并且每种类型的存储页存储相同的参数数据,将多个参数数据依次存储至每个所述数据组中,将参数数据以每个所述数据组为单位,写入存储器中。在参数数据更新的过程中发生异常断电时,将存储器再一次上电后,为了保证参数数据的准确性,通过获取最新存储页的位置,根据发生异常断电的位置不同,存储系统获取不同位置存储页内存储的数据。
附图说明
图1显示为本发明的一种存储器的数据存取方法的流程的示意图。
图2显示为本发明的一种存储器内部框图。
图3显示为本发明的一种数据组的框图。
图4显示为本发明的一种存储页的内部框图。
图5显示本发明的另一种数据组的框图。
图6显示为本发明的一种存储器的数据存取系统框图。
图7显示为一种计算机可读存储介质的框图。
图8显示为一种电子设备的结构原理框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
非易失性存储器在保存存储的数据时,虽然无需任何电源来安全保存存储的数据,但是在读取和所存储的数据以及在初始写入时,又或者是进行数据更新时还是需要电源的。当非易失性存储器在进行数据存取时,若发生异常断电,则不仅停止数据存取,还会导致存储系统获取不稳定的数据或者错误数据,且再一次上电后,很难确定在何处再次写入和读取的位置。请参阅图1所示,本发明提供一种存储器的数据存取方法,通过本发明能够使存储系统获取准确的参数数据。所述存储器的数据存取方法,包括以下步骤:
S100、将闪存块中所述多个存储页划分为若干个数据组。
S200、将每一所述数据组中的所述多个存储页划分为多种类型。
S300、将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据。
S400、当发生异常断电时,所述存储器停止存储数据。
S500、将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型。
S600、通过判断所述最新的存储页所在的数据组和存储页类型,读取准确的参数数据。
请参阅图2和图3所示,在本发明的一实施例中,在步骤S100中,存储器200包括第一闪存块210、第二闪存块211以及第N个闪存块21N,且每个闪存块中又包括多个存储页220,存储页220用于存储参数数据。其中,闪存块和存储页220的具体数量,根据存储器200的容量而定。将存储页220划分为若干个数据组,例如将两个存储页220划分为一个数据组,所述数据组包括第一数据组231、第二数据组232以及第N数据组23N。根据存储器200的实际物理地址,顺序依次写入参数数据,并以数据组为单位,进行参数数据更新。还例如将三个存储页220划分为一个数据组或者将四个存储页220划分为一个数据组,一个数据组中包括多少个存储页220,根据存储系统实际需求而设定,但一个数据组至少包括两个存储页220。
请参阅图2和图4所示,在本发明的一实施例中,在步骤S200和步骤S300中,以两个存储页220位为一个数据组为例,进行说明,所述数据组包括第一类型存储页和第二类型存储页,在写入参数数据时,先写入第一类型存储页,再写入第二类型存储页。且第一类型存储页和第二类型存储页内存储着的相同的参数数据,第一类型存储页和第二类型存储页的区别在于两者具有不同的区别标记,通过所述区别标记,用于区别所述数据组中的存储页具体为第一类型存储页或者第二类型存储页。每个存储页220包括数据空间210和预留空间211,数据空间210用于存储参数数据,预留空间211用于存储区别信息,所述区别信息包括区别标记,所述区别标记例如为A和B,通过区别标记A和B,用于区别存储页220的类型,具体的,第一类型存储页用区别标记A表示,第二类型存储页用区别标记B表示。所述区别信息例如还包括存储页220具体处于第几数据组中,这个数据组具体处于第几闪存块中等。将上述区别信息存储至每一个存储页220内的预留空间211中,若发行异常断电,在将存储系统上电后,通过读取存储器200断电前最后一次写入存储页220内的区别信息,并根据实际情况判断,存储系统具体读取哪一数据组内或者哪一个存储页220的参数数据为准确的参数数据,还可以确定再次更新参数数据时的写入位置。预留空间211中例如还存储着存储页220的擦除信息,所述擦除信息包括擦除次数,通过擦除次数信息,以判断最新的闪存块。以第一数据组231和第二数据组232为例,具体参考图3所示,为了详细说明,将第一数据组231包括的两个存储页220,分别标记为第一存储页221A和第二存储页222B,将第二数据组232中的两个存储页220,分别标记为第三存储页223A和第四存储页224B。第一数据组231和第二数据组232内存储着不同参数数据,但是在第一数据组231内,第一存储页221A和第二存储页222B存储着相同的参数数据,区别在于,第一存储页221A为第一类型存储页,第二存储页222B为第二类型存储页,第一存储页221A比第二存储页222B先写入参数数据。同理,第二数据组232内的第三存储页223A和第四存储页224B存储着相同的参数数据,区别在于,第三存储页223A为第一类型存储页,第四存储页224B为第二类型存储页,第三存储页223A比第四存储页224B先写入参数数据。在其他实施例中,根据一个数据组包括多少存储页220,所述数据组就包括多少不同类型的存储页。例如一个数据组包括3个存储页220,则这个数据组包括第一类型存储页、第二类型存储页、第三类型存储页,区别标记例如为A、B、C,以此类推。同理,同一个数据组中,不同类型存储页存储着相同的参数数据,通过区别信息,用以区别存储页220的具体位置。通过在一个数据组中存储相同的参数数据,使参数数据冗余,避免参数数据丢失。
请参阅图2和图3所示,在本发明的一实施例中,在步骤S200和步骤S300中,将多个参数数据依次存储至每个所述数据组中。闪存块中包括若干个数据组,根据存储器200的实际物理地址,顺序依次写入参数数据。具体的,参数数据首次从第一闪存块210开始更新,以一个数据组为单位依次写入数据,当第一闪存块210内的存储页220全部写入参数数据后,继续从第二闪存块211开始写入数据,以此类推。
请参阅图2和图3所示,在本发明的一实施例中,在步骤S400中,当发生异常断电时,所述存储器200停止存储数据。因为将存储器200再一次上电时,需要找到存储器200断电前最后一次写入的参数数据,并进行读取,所以存储器200中至少写入一个存储页220的参数数据,以满足上存储器200再次上电的要求。当一个数据组的存储页类型包括第一类型存储页和所述第二类型存储页时,发生异常断电,包括以下情况,以第一数据组231和第二数据组232为例:
1、当写入第二数据组232时,第三存储页223A中的参数数据写入完成,在写入第四存储页224B中的参数数据时,发生异常断电,当存储器200再一次上电时,存储系统能够读取到写入第四存储页224B中的参数数据。
2、当写入第二数据组232时,第三存储页223A中的参数数据写入完成,在写入第四存储页224B中的参数数据时,发生异常断电,当存储器200再一次上电时,存储系统不能够读取到写入第四存储页224B中的参数数据。
3、当写入第二数据组232时,在写入第三存储页223A中的参数数据时,发生异常断电。
请参阅图2和图3所示,在本发明的一实施例中,在步骤S500中,将所述存储器200上电时,查找最新的存储页220,确认所述最新的存储页220所在的数据组和存储页类型。因为发生异常断电的时机是无法预测的,所以不能保证每次存储系统更新时,参数数据都能写入至存储页220中。在将存储器200上电时,通过查找最新的存储页,读取存储器200断电前最后一次写入的参数数据,具体的,首先要先确定最新的闪存块,然后再根据最新的闪存块,确定存储器200断电前最后一次写入的参数数据的位置,具体在最新的闪存块的哪一个存储页220内。
请参阅图2和图3所示,在本发明的一实施例中,根据闪存特性,在每次对闪存块进行写入之前,都会对闪存块进行擦除,闪存块中的每个存储页220都会记录闪存块的擦除次数,且同一个闪存块中的所有存储页220的擦除次数一致。依次读取存储器200内,第一闪存块210中的第一个存储页220、第二闪存块211内的第一个存储页220以及第N个闪存块21N的第一个存储页220中记录的擦除次数,擦除次数最大的存储页220所在的闪存块,为最新的闪存块。
请参阅图2和图3所示,在本发明的一实施例中,当确定最新的闪存块后,为了快速找到存储器200断电前最后一次写入的参数数据的位置,确定最新的闪存块的存储页220的数量。根据所述最新的闪存块中存储页220的数量,设置依次读取存储页220的间隔点,所述间隔点设置在剩余存储页总数的二分之一处,通过读取处于间隔点位置的存储页220,判断最新的存储页220所在的位置。具体的,以最新的闪存块的存储页220的数量为100个为例,首先读取最新闪存块中最后一位存储页220是否能够读取参数数据,即第100位的存储页220,若能够的读取到参数数据,则认为最后一位存储页220为最新的存储页220。如不能够的读取到参数数据,则按照倒数的方式,从最后一位存储页220往第一个存储页220方向倒数剩余存储页总数的二分之一处,即读取第50位的存储页220是否有参数数据。若能够读取到参数数据,则认为最新存储页220的位置在第50位存储页220至第100位存储页220之间,若不能的读取到参数数据,则认为最新存储页220的位置在第50位存储页220至第1位存储页220之间。以在第50位的存储页220中能够读取到参数数据为例,再次的设置间隔点在第50位存储页220至第100位存储页220的中间位置,再次读取处于间隔点的存储页220是否有参数数据。通过判断处于间隔点的存储页220是否有参数数据,以判断下一个间隔点设置的具体位置,直至缩小到只剩两个存储页220,通过读取处于间隔点的存储页220是否有参数数据,若有参数数据,则为最新的存储页220,若没有读取到参数数据,则另一个存储页220为最新的存储页。其中,每次查询时,所述间隔点还可以设置在剩余存储页220总数的三分之一处、四分之一处或五分之一处,且不限于此。例如图2所示的第一闪存块210为最新的闪存块,第一数据组231为写入参数数据后的数据组,第二数据组232为待写入参数数据的数据组。
请参阅图2和图3所示,在本发明的另一实施例中,查询最新的存储页220还可以通过依次查询最新闪存块中所有存储页220是否有参数数据,直至查询到最新的存储页220。其中,所述依次查询例如可以从最新闪存块中第一位存储页220开始正序依次查询存储页220中是否有参数数据,还可以从最新闪存块中最后一位存储页220,倒序查询存储页220中是否有参数数据。
请参阅图1和图3所示,在本发明的一实施例中,在步骤S600中,通过判断所述最新的存储页所在的数据组和存储页类型,读取准确的参数数据。当确认存储器200断电前最后一次写入的参数数据的位置后,确认存储页220具体所在的组和存储页220的类型后,根据实际情况,使存储系统读取准确的参数数据。同样第一数据组231和第二数据组232为例。
1、当写入第二数据组232时,第三存储页223A中的参数数据写入完成,在写入第四存储页224B中的参数数据时,发生异常断电,当存储器200再一次上电时,存储系统能够读取到写入第四存储页224B中的参数数据。
虽然存储系统能够取到写入第四存储页224B中的参数数据,但是为了保证参数数据的完整,避免因参数数据部分丢失,造成存储系统读取到错误的参数数据,使存储系统读取第三存储页223A中的参数数据。因为第三存储页223A先被写入参数数据,且第三存储页223A和第四存储页224B中存储的参数数据相同,通过读取第三存储页223A中的参数数据,存储系统取准确的参数数据。
2、当写入第二数据组232时,第三存储页223A中的参数数据写入完成,在写入第四存储页224B中的参数数据时,发生异常断电,当存储器200再一次上电时,存储系统不能够读取到写入第四存储页224B中的参数数据。
当存储系统不能读取到写入第四存储页224B中的参数数据时,此时认为第四存储页224B存储的参数数据已经丢失,并且为了进一步保证存储系统取准确的参数数据,认为第三存储页223A存储的参数数据也不稳定,此时存储系统读取上一数据组中,第一类型存储页内的参数数据,即读取第一数据组231中第一存储页221A内的参数数据。
3、当写入第二数据组232时,在写入第三存储页223A中的参数数据时,发生异常断电。
当写入第二数据组232时,在写入第三存储页223A中的参数数据发生异常断电,此时无论存储系统能否读取到第三存储页223A内的数据信息,存储系统都读取上一数据组中第一类型存储页的参数数据,即读取第一数据组231中第一存储页221A内的参数数据。
在本发明的另一个实施例中,当一个数据组中的存储页类型至少包括第一类型存储页、第二类型存储页和第三类型存储页,在发生异常断电的时,根据实际情况,使存储系统读取准确的参数数据。请参阅图5所示,以一个数据数组包括4种类型的存储页220为例,存储器200包括第三数据组233,第三数据组233包括第五存储页225A、第六存储页226B、第七存储页225C和第八存储页225D。根据存储器的实际物理地址,按照顺序的方式,依次写入参数数据。即先写入第五存储页225A,再写入第六存储页226B,然后再写入第七存储页225C,最后写入第八存储页225D,当写入第八存储页225D完成后,再写入下一数据组,以此类推。当第五存储页225A和第六存储页226B写入完成后,在写入第七存储页225C或第八存储页225D的参数数据时,发生异常断电,此时无论存储系统能否读取到第七存储页225C或第八存储页225D的参数数据,为保证参数数据的准确性,存储系统读取第五存储页225A内参数数据。只有在写入第五存储页225A或第六存储页226B内参数数据发生异常断电的时,存储系统读取的参数数据可以依据上述1-3中情况内容判定,存储系统具体应该读取哪个存储页的参数数据。
请参阅图6示,本发明还提出一种存储器的数据存取系统,所述存储器的数据存取系统包括数据单元410、异常单元420、位置单元430和获取单元440。数据单元410用于将闪存块中多个存储页划分为若干个数据组,将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据。异常单元420用于当发生异常断电时,将所述存储器停止存储数据。位置单元430用于将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型。获取单元440通过判断所述最新的存储页所在的数据组和存储页类型,用于读取准确的参数数据。
请参阅图7所示,本发明还提出一种计算机可读存储介质300,计算机可读存储介质300存储有计算机指令30,计算机指令30用于使用所述存储器的数据存取方法。计算机可读存储介质300可以是,电子介质、磁介质、光介质、电磁介质、红外介质或半导体系统或传播介质。计算机可读存储介质300还可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘可以包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-RW)和DVD。
请参阅图8所示,本发明还提供一种电子设备,包括处理器40和存储器装置50,存储器装置50存储有程序指令,处理器40运行程序指令实现所述存储器的数据存取方法。处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件;存储器50可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(Non-VolatileMemory),例如至少一个磁盘存储器。存储器装置50也可以为随机存取存储器(RandomAccess Memory,RAM)类型的内部存储器,处理器40、存储器装置50可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application SpecificIntegrated Circuit,ASIC)。需要说明的是,存储器装置50中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种存储器的数据存取方法,其特征在于,包括以下步骤:
将闪存块中多个存储页划分为若干个数据组;
将每一所述数据组中的所述多个存储页划分为多种类型;
将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据;
当发生异常断电时,所述存储器停止存储数据;
将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型;以及
通过判断所述最新的存储页所在的数据组和存储页类型,读取准确的参数数据。
2.根据权利要求1所述的存储器的数据存取方法,其特征在于,存储所述参数数据时,以每个所述数据组为单位,依次将所述参数数据写入至所述闪存块中。
3.根据权利要求2所述的存储器的数据存取方法,其特征在于,查找最新的存储页包括以下步骤:
依次读取所述存储器中每个闪存块中第一个存储页;
通过读取所述每个闪存块中第一个存储页存储的擦除次数,以确定最新的闪存块。
4.根据权利要求3所述的存储器的数据存取方法,其特征在于,查找最新的存储页包括以下步骤:
设置间隔点;
并查询间隔点位置的存储页是否有参数数据,直至查询到所述最新的存储页。
5.根据权利要求4所述的存储器的数据存取方法,其特征在于,每次查询时,设置一个所述间隔点,且所述间隔点设置在剩余存储页总数的二分之一处。
6.根据权利要求1所述的存储器的数据存取方法,其特征在于,所述数据组包括第一类型存储页和第二类型存储页,当在写入所述第二类型存储页中的参数数据时发生异常断电,存储器再一次上电时,若能正确读取所述第二类型存储页内的参数数据,则读取最新数据组中所述第一类型存储页中的参数数据为准确的参数数据。
7.根据权利要求6所述的存储器的数据存取方法,其特征在于,当在写入所述第二类型存储页中的参数数据发生异常断电,存储器再一次上电时,若不能正确读取所述第二类型存储页内的参数数据,则读取上一数据组中第一类型存储页中的参数数据为准确的参数数据。
8.根据权利要求1所述的存储器的数据存取方法,其特征在于,所述数据组至少包括第一类型存储页、第二类型存储页和第三类型存储页,当最新数据组中第一类型存储页和第二类型存储页中的参数数据写入完成,在写入后续其他类型存储页中的参数数据时,发生异常断电,存储器再一次上电时,读取所述最新数据组中第一类型存储页中的参数数据为准确的参数数据。
9.根据权利要求8所述的存储器的数据存取方法,其特征在于,当写入第一类型存储页中的参数数据发生异常断电,存储器再一次上电时,读取上一数据组中的第一类型存储页中的参数数据为准确的参数数据。
10.一种存储器的数据存取系统,其特征在于,包括:
数据单元,用于将闪存块中多个存储页划分为若干个数据组;将多个参数数据依次存储至每个所述数据组中,且同一所述数据组中,每种类型的存储页存储相同的参数数据;
异常单元,当发生异常断电时,用于将所述存储器停止存储数据;
位置单元,用于将所述存储器上电时,查找最新的存储页,确认所述最新的存储页所在的数据组和存储页类型;以及
获取单元,通过判断所述最新的存储页所在的数据组和存储页类型,用于读取准确的参数数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111373560.8A CN114116309B (zh) | 2021-11-19 | 2021-11-19 | 一种存储器的数据存取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111373560.8A CN114116309B (zh) | 2021-11-19 | 2021-11-19 | 一种存储器的数据存取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114116309A true CN114116309A (zh) | 2022-03-01 |
CN114116309B CN114116309B (zh) | 2023-04-14 |
Family
ID=80397863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111373560.8A Active CN114116309B (zh) | 2021-11-19 | 2021-11-19 | 一种存储器的数据存取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116309B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101288056A (zh) * | 2006-03-13 | 2008-10-15 | 松下电器产业株式会社 | 闪速存储器用的存储控制器 |
CN102033814A (zh) * | 2009-09-25 | 2011-04-27 | 慧荣科技股份有限公司 | 存取一闪存的方法以及相关的记忆装置 |
CN105302482A (zh) * | 2015-10-15 | 2016-02-03 | 北京友信宏科电子科技有限公司 | 一种参数存储方法、装置及汽车控制器 |
CN106708754A (zh) * | 2015-11-13 | 2017-05-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN107239408A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 非易失性存储器模块及其操作方法 |
US20180321873A1 (en) * | 2017-05-05 | 2018-11-08 | Macronix International Co., Ltd. | Memory system and operating method thereof |
US20200075114A1 (en) * | 2018-09-03 | 2020-03-05 | Silicon Motion, Inc. | Data Storage Devices and Data Processing Methods |
CN111324549A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和装置 |
CN112347007A (zh) * | 2020-10-14 | 2021-02-09 | 歌尔科技有限公司 | 闪存数据保护方法、装置、电子设备及存储介质 |
US20210158874A1 (en) * | 2019-11-26 | 2021-05-27 | Samsung Electronics Co., Ltd. | Operating method of memory system including memory controller and nonvolatile memory device |
-
2021
- 2021-11-19 CN CN202111373560.8A patent/CN114116309B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101288056A (zh) * | 2006-03-13 | 2008-10-15 | 松下电器产业株式会社 | 闪速存储器用的存储控制器 |
CN102033814A (zh) * | 2009-09-25 | 2011-04-27 | 慧荣科技股份有限公司 | 存取一闪存的方法以及相关的记忆装置 |
CN105302482A (zh) * | 2015-10-15 | 2016-02-03 | 北京友信宏科电子科技有限公司 | 一种参数存储方法、装置及汽车控制器 |
CN106708754A (zh) * | 2015-11-13 | 2017-05-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN107239408A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 非易失性存储器模块及其操作方法 |
US20180321873A1 (en) * | 2017-05-05 | 2018-11-08 | Macronix International Co., Ltd. | Memory system and operating method thereof |
US20200075114A1 (en) * | 2018-09-03 | 2020-03-05 | Silicon Motion, Inc. | Data Storage Devices and Data Processing Methods |
CN111324549A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和装置 |
US20210158874A1 (en) * | 2019-11-26 | 2021-05-27 | Samsung Electronics Co., Ltd. | Operating method of memory system including memory controller and nonvolatile memory device |
CN112347007A (zh) * | 2020-10-14 | 2021-02-09 | 歌尔科技有限公司 | 闪存数据保护方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
SANGHYUK JUNG等: "Data loss recovery for power failure in flash memory storage systems" * |
卢祚: "面向3D NAND闪存的数据分配和管理算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114116309B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5524144B2 (ja) | key−valueストア方式を有するメモリシステム | |
US9431069B2 (en) | Management method for nonvolatile memory system following power-off | |
EP2069979B1 (en) | Dynamic fragment mapping | |
KR101933766B1 (ko) | 플래시 메모리 플러싱을 개선하는 방법 및 시스템 | |
TWI677877B (zh) | 用於校正記憶體裝置的方法及記憶體裝置 | |
CN110504002B (zh) | 一种硬盘数据一致性测试方法与装置 | |
CN114116309B (zh) | 一种存储器的数据存取方法及系统 | |
CN112988611A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
AU664763B2 (en) | Entity-relation database | |
JP6258436B2 (ja) | メモリシステムのローカルコントローラ | |
CN101458696A (zh) | 检索装置、检索方法和检索程序 | |
JP2014063540A (ja) | key−valueストア方式を有するメモリシステム | |
US11645202B2 (en) | Parsing method, parsing apparatus, electronic device, and computer storage medium | |
US20110153674A1 (en) | Data storage including storing of page identity and logical relationships between pages | |
US20120166718A1 (en) | Flash Storage Device and Data Writing Method Thereof | |
US20110055505A1 (en) | Data copying | |
JP2008084184A (ja) | メモリコントローラ | |
JP6034467B2 (ja) | システム | |
CN113434084B (zh) | 一种数据擦除方法、系统、设备以及介质 | |
US20220197525A1 (en) | Recording device, recording method, recording program, and magnetic tape | |
CN113050893B (zh) | 一种高并发的文件存储方法、系统、介质及电子终端 | |
CN115982096B (zh) | 一种基于热点文件的实时数据库快照存储方法及系统 | |
CN109446022B (zh) | 一种数据库溢出页异常的检测方法、装置及存储介质 | |
CN117785924A (zh) | 基于实时数据库的三段式名检索方法、系统、设备及介质 | |
TWI669610B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 |
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 |