CN113821372A - 用于容错地存储用户数据的方法 - Google Patents
用于容错地存储用户数据的方法 Download PDFInfo
- Publication number
- CN113821372A CN113821372A CN202110678527.XA CN202110678527A CN113821372A CN 113821372 A CN113821372 A CN 113821372A CN 202110678527 A CN202110678527 A CN 202110678527A CN 113821372 A CN113821372 A CN 113821372A
- Authority
- CN
- China
- Prior art keywords
- management information
- copy
- user data
- read
- check value
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及用于容错地存储用户数据的方法。本发明涉及一种用于在非易失性存储介质(110)上容错地存储用户数据的方法,在所述非易失性存储介质(110)上可实施写入过程、读取过程和删除过程,所述方法包括:写入(12)用户数据(120);确定(14)针对所写入的用户数据的管理信息;写入(16)第一管理信息副本(122),所述第一管理信息副本(122)包含确定的管理信息,和确定和写入第一校验值,利用所述第一校验值可检查第一管理信息副本的有效性;并且此后写入(18)第二管理信息副本(124),所述第二管理信息副本(124)包含确定的管理信息,和确定和写入第二校验值,利用所述第二校验值可检查所述管理信息的第二副本的有效性。
Description
技术领域
本发明涉及一种用于容错地存储用户数据的方法,以及涉及用于执行所述方法的一种计算单元和一种计算机程序。
背景技术
在汽车领域中或者在工业生产系统的领域中的控制设备不仅必须非易失性地存储控制软件的程序代码,而且必须非易失性地存储(在软件的运行时间期间的)数据。为此目的,采用非易失性存储介质(NVM,Non-Volatile-Memory)、尤其是EEPROM或者闪存存储器。存在例如AUTOSAR联盟的标准,在所述标准中规定软件的功能范围,可是没有规定在硬件上(也就是说在存储介质上)组织数据的方式和方法。
在上面所提到的领域中采用的控制设备的情况下,要考虑的是,当电压供给崩溃时,可以在任何时间点中断对存储介质的存储单元的每个删除过程或者编程过程。这可能导致未被删除或未被编程的存储单元,或者可能导致仅弱删除的或仅弱编程的存储单元,并且因此在读出时可能导致任意数据值。尤其是弱编程的单元是一种挑战,因为包含于其中的数据首先可能片刻是有效的,但是此后可能翻转到无效的数据值,(也就是说所存储的数据值可能无意地改变,例如在比特层上,逻辑“1” 可能改变成逻辑“0”)。同样,老化效应可能导致,在各个存储单元中存储的数据值翻转,所述老化效应由于在汽车环境或者工业环境中的常常高的温度而增多地出现。
特别是当涉及存储有管理信息的存储区域时,那么这种数据错误是不利的。例如呈所谓的头部(Headern)(头部区域)或者脚注(Footern)(脚部区域)形式存储的管理信息例如包含关于存储区域的地点和长度的信息,或者也包含关于存储区域的当前状态(如“已删除的”、“有缺陷的”、“准备好的”或者“全部的”)的信息,在所述存储区域中存在真正的用户数据。为了能够识别出头部/脚注和用户数据的有效性,所述头部/脚注和用户数据可以经由校验值或校验和(大多数为循环冗余校验和(CRC))来得到保障。如果头部的校验值是错的,则相对应的管理信息是无效的,并且以此管理的用户数据块不允许被使用,也就是说丢弃这些用户数据块的内容。因此,在管理信息的存储区域中的数据错误导致,不再能够使用以此管理的用户数据。
发明内容
根据本发明,建议了具有独立权利要求的特征的一种用于容错地存储用户数据的方法以及用于执行所述方法的一种计算单元和一种计算机程序。有利的构建方案是从属权利要求以及随后的说明书的主题。
通过将两个管理信息副本写到存储介质上,如果管理信息副本之一被损坏,比方说由于不完全编程的存储单元或者由于存储单元的老化效应而被损坏,则确保,可以继续使用用户数据,因为可以使用包含在另一管理信息副本中的管理信息。在此,借助那么不再正确的校验值,可以识别出管理信息副本的损坏、也就是说无效性。
管理信息是能够实现访问所存储的用户数据和/或涉及用户数据的特性的信息。管理信息例如包括关于所存储的用户数据的地点和/或长度的信息或者关于校验值的信息,利用所述校验值可以检查用户数据的有效性。
优选地,写入用户数据在时间上在写入管理信息副本之前进行,使得如果例如在写入用户数据期间出现电压故障,则从管理信息副本的不存在中可以推断出用户数据是有错误的,并且相对应地不应使用所述用户数据,所述管理信息副本在电压故障之后不再被写入。
(在时间上)在写入第一管理信息副本之后,执行写入第二管理信息副本。这是适宜的,因为在同时写入时,电压故障可能会涉及两个管理信息副本。
这两个管理信息副本优选地不是相邻地或相继地被写到存储介质上,以便降低同时损坏的概率。也就是说,这两个管理信息副本被写入为使得,这两个管理信息副本在空间上彼此间隔开地被存储在存储介质上,例如通过使用不同的“字线(Wordlines)”被存储在存储介质上。
非易失性存储介质优选地是EEPROM、PCM(相变随机存取存储器(Phase-changeRandom Access Memory))、MRAM(磁阻式随机存取存储器(Magnetoresistive RandomAccess Memory))或者闪存存储器。但是同样,使用任何另外的非易失性存储介质是可能的,例如使用HDD(硬盘驱动器(Hard Disk Drive)、硬盘)或者SSD(固态驱动器(SolidState Drive))是可能的。如果未做另外说明,则所有在本申请中所提到的写入过程、读取过程和删除过程均在非易失性存储介质上实施,而无需分开提及这一点,(也就是说方法步骤“写入”要被理解为“写到存储介质上”,或更准确地要被理解为“写到非易失性存储介质上”,“删除”和“读取”要类似地来理解)。
如下值要被理解为校验值或校验和:借助所述值,可以识别出数据(这里为管理信息副本)的错误。在存储时,借助合适的函数从数据中确定或计算该校验值,并且同样存储该校验值。在稍后读取数据时,该函数重新被应用于所述数据,并且这样识别出,该校验值是否已改变。典型地,校验值与数据一起被存储,并且可选地在读取时将该函数应用于所述数据和与之一起存储的校验值。在此,该函数在正常情况下被应用于数据的各个区域或块,并且针对每个数据区域或数据块计算校验值,使得一般与多个校验值一起来存储所述数据。为了简便起见,在本申请中说起如下校验值:利用所述校验值,可以检查管理信息副本的有效性。然而,这要在至少一个校验值的意义上来理解,因为管理信息副本一般包括多个具有所属的多个校验值的数据块,换言之,管理信息副本的多个校验值的全体形成了在本申请意义上的校验值,(这尤其是与所使用的校验值方法有关)。优选地,CRC值(CRC=CyclicRedundancy Check(循环冗余校验))在循环冗余校验的范围中被用作如下校验值:所述校验值的计算和使用对于本领域技术人员而言是已知的。
优选地,本方法可以包括:删除第二管理信息副本,此后删除第一管理信息副本,并且优选地在删除第一管理信息副本和第二管理信息副本之后删除用户数据。经此,用户数据可以被删除,其中可以省去显式删除用户数据,因为已经通过删除两个管理信息副本实现不再使用用户数据。在存储区域的在原则上与存储介质有关的删除过程中,例如在存储介质的占用表(Belegungstablle)中录入:不再占用所述存储区域。此外,可以分别用预先确定的值写入存储区域的存储单元,所述预先确定的值表明,所述存储单元未被占用,或者也可以用随机值写入所述存储单元。
此外,本方法优选地可以一次或者多次地包括下列步骤:读取第一管理信息副本和第一校验值,和借助所读取的第一校验值,检查所读取的第一管理信息副本的有效性;读取第二管理信息副本和第二校验值,和借助所读取的第二校验值,检查所读取的第二管理信息副本的有效性。根据该构建方案,可以检查所存储的管理信息的完整性。这可以多次地进行,也就是说在不同的时间点进行,比方说随着每次控制设备启动或者在确定的事件的情况下进行,例如当查明供给电压波动时进行,和/或隔确定的时间间隔、比方说数分钟、数小时、数天、数周诸如此类地进行。按照根据本发明的方法的优选的构建方案,根据前面提到的检查步骤的结果,可以执行不同的步骤。
优选地,本方法包括:如果所读取的第一管理信息副本和所读取的第二管理信息副本是有效的并且是相同的,则在使用第一管理信息副本或者第二管理信息副本的情况下读取用户数据。在读取过程中,检查两个管理信息副本的有效性和等同性,如果两者是有效的和相同的,则读取用户数据。经此,利用每个读取过程来确保,管理信息副本继续是未改变的。
另一方面,如果这两个管理信息副本不是两者都有效和/或不是相同的,则除了读取用户数据之外或者替换于读取用户数据,可以执行对管理信息副本的修复,以便实现又存在两个有效的和相同的管理信息副本,并且相对应地即使在管理信息副本之一随后损坏的情况下也继续可使用用户数据。修复可以在用户数据的读取过程的范围中进行,或者也可以在独立的修复过程的范围中进行,所述修复过程例如随着控制设备的每次启动或者定期地进行,在所述控制设备中使用存储介质。
相对应地,如果所读取的第一管理信息副本和所读取的第二管理信息副本是有效的并且不是相同的,则本方法优选地包括下列中的至少一个、优选地两个:
a)在使用第一管理信息副本的情况下,读取用户数据;
b)重新写入第二管理信息副本,其中使用包含在第一管理信息副本中的管理信息,和重新确定和写入第二校验值,利用所述第二校验值,可以检查重新写入的第二管理信息副本的有效性。
根据该构建方案,两个管理信息副本虽然是有效的,但是不是相同的,这例如可能在如下情况下出现:两个存储单元的内容随机地改变来使得,校验值不改变。在该情况下,可以在使用第一管理信息副本的情况下来修复第二管理信息副本,因为给较旧的第一管理信息副本分配较高的可信性。在附加的或者替选的读取步骤中,使用第一管理信息副本,借助所述第一管理信息副本进行修复。优选地,执行这两者:读取用户数据(步骤a))和修复所存储的管理信息(步骤b)),因为这样随着每次读取访问存储介质,在识别出的有错误的管理信息副本的情况下,同时进行修复,那就是尽可能快地消除所识别出的错误。优选地,在重新写入第二管理信息副本和重新确定和写入第二校验值之前,执行读取用户数据,也就是说优选地在步骤b)之前执行步骤a),使得用户数据尽可能快地是可用的。
“重新确定”校验值在此和在其他实施形式中也可以意思是重新计算或者接纳或复制分别另外的校验值。也就是说,在重新确定第二校验值的实施形式中,(如上文所述),不是重新计算,而是也可能会接纳从第一管理信息副本中包含的第一校验值作为新确定的第二校验值,(自然前提是,在第一校验值和第二校验值处采用相同的计算方法、例如CRC和)。类似地,在重新确定第一校验值的实施形式中,不是重新计算第二校验值,而是可能会接纳第二校验值作为新确定的第一校验值。
如果管理信息副本之一继续正好是无效的,则如果所读取的第一管理信息副本是有效的,而所读取的第二管理信息副本不是有效的,则本方法优选地包括下列中的至少一个、优选地两个:
c)在使用第一管理信息副本的情况下,读取用户数据;
d)重新写入第二管理信息副本,其中使用包含在第一管理信息副本中的管理信息,和重新确定和写入第二校验值,利用所述第二校验值,可以检查重新写入的第二管理信息副本的有效性。
或者,如果所读取的第二管理信息副本是有效的,而所读取的第一管理信息副本不是有效的,则本方法优选地包括下列中的至少一个、优选地两个:
e)在使用第二管理信息副本的情况下,读取用户数据;
f)重新写入第一管理信息副本,其中使用在第二管理信息副本中包含的管理信息,并且重新确定和写入第一校验值,利用所述第一校验值,可以检查重新写入的第一管理信息副本的有效性。
因此,借助有效的管理信息副本分别修复无效的管理信息副本,使得又存在两个有效的且相同的管理信息副本。此处也优选地不仅执行读取用户数据(步骤c)或e)),而且执行修复所存储的管理信息(步骤d)或f))。同样,优选地,在重新写入第二管理信息副本或第一管理信息副本和重新确定和写入第二校验值或第一校验值之前,执行读取步骤。
此外,如果所读取的第一管理信息副本和所读取的第二管理信息副本不是有效的,则本方法优选地可以包括:删除第一管理信息副本,并且优选地随后,删除第二管理信息副本。如果两个管理信息副本均是无效的、那就是改变了,则对所属的用户数据的访问不再是可能的,通过删除管理信息副本,对于想要访问管理信息副本的控制设备而言,这一点变得可清楚地识别出。此处,可选地也可以设置用户数据的删除。
根据本发明的计算单元(例如机动车的控制设备)尤其是在编程技术上设立为,执行根据本发明的方法。
尤其是当进行实施的控制设备还被用于其他任务并且因而本来就存在时,以用于执行所有方法步骤的计算机程序或者具有程序代码的计算机程序产品的形式来实施根据本发明的方法也是有利的,因为这造成特别低的成本。用于提供计算机程序的合适的数据载体尤其是磁存储器、光存储器和电存储器,如例如硬盘、闪存存储器、EEPROM、DVD以及其他等等。经由计算机网络(互联网(Internet)、内联网(Intranet)等)下载程序也是可行的。
从说明书和附上的附图中得出本发明的其他优点和构建方案。
附图说明
依据附图中的实施例,示意性地示出了本发明,并且在下文参照附图描述了本发明。
图1示出了根据本发明的用户数据和管理信息的示例性写入过程;
图2示出了根据本发明的用户数据和管理信息的示例性删除过程;和
图3示出了根据本发明的管理信息的示例性修复过程或用户数据的示例性读取过程。
具体实施方式
图1示出了根据本发明的用户数据和管理信息的示例性写入过程,此处示例性地在带有非易失性存储介质110(例如与其相连的或者集成到其中的闪存存储器)的计算单元100(例如控制设备或者控制设备的处理器)中进行所述写入过程。
在此,首先在步骤12中,要写入的用户数据120被写到存储介质110上。
在步骤14中,确定涉及所写入的用户数据的管理信息,该步骤14这里跟随步骤12示出,视管理信息的类型而定地,但是也可以在步骤12之前或者与步骤12同时地进行该步骤14,所述管理信息尤其是可以包括所写入的用户数据的地点和长度。
在步骤16中,存储或写入管理信息的第一副本、也就是说第一管理信息副本122。也确定并且同样(与第一管理信息副本一起)存储第一校验值,利用所述第一校验值,可以检查第一管理信息副本的有效性。存储第一管理信息副本(步骤16)要在存储用户数据(步骤12)之后才进行,使得如果例如在存储用户数据期间发生电压中断,则不将管理信息写到存储介质上,并且以此在对用户数据的可能的读取尝试中可识别出,所述用户数据可能不是以完整的方式存在,因为缺少所属的管理信息。
在步骤18中,存储或写入管理信息的第二副本、也就是说第二管理信息副本124。也确定和同样(与第二管理信息副本一起)存储第二校验值,利用所述第二校验值,可以检查第二管理信息副本的有效性。步骤18(存储第二管理信息副本和第二校验值)适宜地在步骤16(存储第一管理信息副本和第一校验值)之后进行。在存储第二管理信息副本124时,优选地确保:在存储器的与其中存储第一管理信息副本122的区域在空间上分开的区域中(如所示出的那样),存储该第二管理信息副本,使得降低在存储器中出现的错误涉及两个管理信息副本的概率。
总之,通过该次序的步骤12-18保证了,在写入过程期间可以识别出错误(例如电压故障),因为不存在管理信息副本或者仅存在不完整的(也就是说无效的)管理信息副本。只有当存在至少一个有效的管理信息副本时,所属的用户数据才被视为有效的并且可以被使用。
图2示出了根据本发明的用户数据和管理信息的示例性删除过程。首先,在步骤22中,删除第二管理信息副本。在步骤24中,删除第一管理信息副本。优选地按所说明的顺序来执行这两个步骤,但是也可能的是,按相反的顺序来执行这两个步骤。
在这两个管理信息副本已被删除之后,在可选的步骤26中删除用户数据。原则上,在删除过程中的这些步骤因此以与在写入过程中的步骤相反的顺序进行,那就是确保,(比方说在删除过程期间在电压故障的情况下的)可能不完全删除的用户数据被识别为不允许和不可使用的,因为所属的管理信息已经事先已被删除。相对应地,步骤26可选地也可以不发生,因为在两个管理信息副本删除之后,所属的用户数据可能被识别为不允许的(因为不存在管理信息副本),并且可能抑制所属的用户数据的使用。
图3示出了根据本发明的管理信息的示例性修复过程或用户数据的包含修复过程在内的读取过程。管理信息的修复过程可以作为独立的过程运行,(比方说在启动控制设备时,每隔一定时间或者在没有另外需要控制设备的计算性能和存储介质的时间点运行),以便找出和修复管理信息副本中的错误,或者也与用户数据的读取过程一起进行,也就是说在对用户数据的读取访问期间,同时检查管理信息副本的完整性,并且如果可能,则修复管理信息副本。
在此,在步骤32中,读取第一管理信息副本和第一校验值,而在步骤36中,读取第二管理信息副本和第二校验值。在步骤34中,在使用第一校验值的情况下,检查第一管理信息副本的有效性,而在步骤38中,在使用第二校验值的情况下,检查第二管理信息副本的有效性。在步骤32-38中,只要可能(检查管理信息副本可以清楚地不是在读取该管理信息副本之前进行),就偏离在该图中所示的顺序,或者也可以同时进行各个步骤。
在步骤40中,根据第一管理信息副本和第二管理信息副本的有效性,区分下列情况:两个管理信息副本是有效的,两个管理信息副本是无效的,或者一个管理信息副本是有效的,而另一管理信息副本是无效的。
如果两个管理信息副本均是有效的,则在步骤42中如下地区分,两个管理信息副本是相同的还是不相同的。如果两个管理信息副本是相同的,则当涉及读取过程时,在步骤44中以读取用户数据来继续进行,其中使用第一管理信息副本或者第二管理信息副本(这两个管理信息副本一定是相同的)。如果涉及纯修复过程,则不必进一步进行,或可以以检验用户数据和所属的管理信息的接下来的数据记录来继续进行,(注释:一般存储和要检验具有相应的管理信息的用户数据的多个不同的数据记录)。
如果两个管理信息虽然是有效的但是不是相同的,则这两个管理信息副本中的一个管理信息副本在使用另一管理信息副本的情况下被重新写入。为此,在步骤48中进行重新写入第二管理信息副本,其中使用包含在第一管理信息副本中的管理信息,也就是说重新写入的第二管理信息副本包含在第一管理信息副本中包含的管理信息,换言之,可以说用第一管理信息副本来覆写第二管理信息副本。同样,新确定并且重新写入第二校验值,使得利用所述第二校验值可以检查新写入的第二管理信息副本的有效性。附加地,在步骤46中可以执行所属的用户数据的读取,其中使用包含在第一管理信息副本中的管理信息。
可以在重新写入第二管理信息副本的步骤48之后或者之前来执行用户数据的读取步骤46。优选的是,在步骤48(覆写)之前,执行读取。进一步优选地,已经在区分两个管理信息副本是否相同的步骤42之前,可以执行步骤46或步骤44(对用户数据的两次读取)。在此,优选地尽可能早地执行读取步骤44、46,以便用户数据尽可能早地是可用的。
如果两个管理信息副本均不是有效的,则在步骤50中删除第一管理信息副本和第二管理信息副本。可选地,在步骤52中,继续删除所属的用户数据。可是,这也可以不发生,因为已经利用删除管理信息副本将所属的用户数据可识别为无效的。
如果两个管理信息副本中的一个管理信息副本是有效的,而另一管理信息副本是无效的,则通过有效的管理信息副本来覆写无效的管理信息副本。在此,如果第一管理信息副本是有效的,而第二管理信息副本是无效的,则在步骤58中重新写入第二管理信息副本,其中使用包含在第一管理信息副本中的管理信息,也就是说重新写入的第二管理信息副本包含在第一管理信息副本中包含的管理信息。同样,新确定并且重新写入第二校验值,使得利用所述第二校验值可以检查新写入的第二管理信息副本的有效性。可选地,在步骤56中可以读取用户数据,其中使用第一管理信息副本(也就是说其中包含的管理信息)。优选地,在覆写步骤58之前来执行该读取步骤,但是也可以在覆写步骤58之后或者与覆写步骤58同时地来执行该读取步骤。
另一方面,如果第一管理信息副本是无效的,而第二管理信息副本是有效的,则在步骤62中重新写入第一管理信息副本,其中使用包含在第二管理信息副本中的管理信息,也就是说重新写入的第一管理信息副本包含在第二管理信息副本中包含的管理信息。同样,新确定并且重新写入第一校验值,使得利用所述第一校验值可以检查新写入的第二管理信息副本的有效性。可选地,在步骤60中可以读取用户数据,其中使用第二管理信息副本(也就是说其中包含的管理信息)。优选地,在覆写步骤62之前来执行该读取步骤,但是也可以在覆写步骤62之后或者与覆写步骤62同时地来执行该读取步骤。
Claims (12)
1.用于在非易失性存储介质(110)上容错地存储用户数据的方法,在所述非易失性存储介质(110)上能够实施写入过程、读取过程和删除过程,所述方法包括:
写入(12)所述用户数据(120);
确定(14)针对所写入的所述用户数据的管理信息;
写入(16)第一管理信息副本(122),所述第一管理信息副本(122)包含确定的管理信息,并且确定和写入第一校验值,利用所述第一校验值,能够检查所述第一管理信息副本的有效性;并且此后
写入(18)第二管理信息副本(124),所述第二管理信息副本(124)包含所述确定的管理信息,并且确定和写入第二校验值,利用所述第二校验值,能够检查所述管理信息的第二副本的有效性。
2.根据权利要求1所述的方法,其包括:
删除(22)所述第二管理信息副本(124);此后
删除(24)所述第一管理信息副本(122);以及
在删除所述第一管理信息副本之后,优选地删除(26)所述用户数据(120)。
3.根据上述权利要求中任一项所述的方法,其一次或者多次地包括:
读取(32)所述第一管理信息副本(122)和所述第一校验值,并且借助所读取的第一校验值,检查(34)所读取的第一管理信息副本的有效性;和
读取(36)所述第二管理信息副本(124)和所述第二校验值,并且借助所读取的第二校验值,检查所读取的第二管理信息副本的有效性(38)。
4.根据权利要求3所述的方法,其包括:
如果所述所读取的第一管理信息副本(122)是有效的,而所述所读取的第二管理信息副本(124)不是有效的,则:
在使用所述第一管理信息副本的情况下,读取(56)所述用户数据(120);和/或
重新写入(58)所述第二管理信息副本,其中使用包含在所述第一管理信息副本中的管理信息,并且重新确定和写入所述第二校验值,利用所述第二校验值,能够检查重新写入的第二管理信息副本的有效性。
5.根据权利要求3或者4所述的方法,其包括:
如果所述所读取的第二管理信息副本(124)是有效的,而所述所读取的第一管理信息副本(122)不是有效的,则:
在使用所述第二管理信息副本的情况下,读取(60)所述用户数据(120);和/或
重新写入(62)所述第一管理信息副本,其中使用包含在所述第二管理信息副本中的管理信息,并且重新确定和写入所述第一校验值,利用所述第一校验值,能够检查重新写入的第一管理信息副本的有效性。
6.根据权利要求3至5中任一项所述的方法,其包括:
如果所读取的第一管理信息副本和所读取的第二管理信息副本(122,124)是有效的并且是相同的,则在使用所述第一管理信息副本或者所述第二管理信息副本的情况下读取(44)所述用户数据(120)。
7.根据权利要求3至6中任一项所述的方法,其包括:
如果所述所读取的第一管理信息副本和所读取的第二管理信息副本(122,124)是有效的并且不是相同的,则:
在使用所述第一管理信息副本的情况下,读取(46)所述用户数据(120);和/或
重新写入(48)所述第二管理信息副本,其中使用包含在所述第一管理信息副本中的管理信息,并且重新确定和写入所述第二校验值,利用所述第二校验值,能够检查重新写入的第二管理信息副本的有效性。
8.根据权利要求3至7中任一项所述的方法,其包括:
如果所述所读取的第一管理信息副本(122)和所述所读取的第二管理信息副本(124)不是有效的,则删除(50)所述第一管理信息副本和所述第二管理信息副本,并且优选地删除(52)所述用户数据。
9.根据上述权利要求中任一项所述的方法,其中,所述管理信息包括关于所存储的用户数据的地点和/或长度的信息或者关于校验和的信息,利用所述校验和,能够检查所述用户数据的有效性。
10.一种计算单元(100),其设立为,执行根据上述权利要求中任一项所述的方法的所有方法步骤。
11.一种计算机程序,其促使计算单元(100),如果在所述计算单元上实施所述计算机程序,则执行根据权利要求1至9中任一项所述的方法的所有方法步骤。
12.一种机器可读的存储介质,其具有存储在所述机器可读的存储介质上的根据权利要求11所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020207618.9 | 2020-06-19 | ||
DE102020207618.9A DE102020207618A1 (de) | 2020-06-19 | 2020-06-19 | Verfahren zur fehlertoleranten Speicherung von Nutzdaten |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821372A true CN113821372A (zh) | 2021-12-21 |
Family
ID=78822966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110678527.XA Pending CN113821372A (zh) | 2020-06-19 | 2021-06-18 | 用于容错地存储用户数据的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113821372A (zh) |
DE (1) | DE102020207618A1 (zh) |
-
2020
- 2020-06-19 DE DE102020207618.9A patent/DE102020207618A1/de active Pending
-
2021
- 2021-06-18 CN CN202110678527.XA patent/CN113821372A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020207618A1 (de) | 2021-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7675776B2 (en) | Bit map control of erase block defect list in a memory | |
US5200959A (en) | Device and method for defect handling in semi-conductor memory | |
US8527730B2 (en) | Data updating method, memory system and memory device | |
US7240178B2 (en) | Non-volatile memory and non-volatile memory data rewriting method | |
JP4361774B2 (ja) | 不揮発性メモリシステム内での使用不可能なブロック管理 | |
JP4933268B2 (ja) | フラッシュメモリシステムの起動動作 | |
TWI343001B (en) | Data preserving method and data accessing method for non-volatile memory | |
JP2990181B1 (ja) | フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法 | |
CN1236452A (zh) | 对光盘驱动器微控制器和光盘驱动器更新程序代码的方法 | |
WO2001022232A1 (fr) | Memoire dans laquelle le nombre de corrections d'erreurs est enregistre | |
US8214698B2 (en) | Solid state storage system with improved data merging efficiency and control method thereof | |
CN106531223A (zh) | 存储系统 | |
JP2012517068A (ja) | メモリ装置、メモリ管理装置、およびメモリ管理方法 | |
US8959416B1 (en) | Memory defect management using signature identification | |
US20060020849A1 (en) | Method of restoring source data of hard disk drive and method of reading system information thereof | |
US20060239089A1 (en) | Non-volatile semiconductor device for use in memory card and memory system | |
TW200941216A (en) | Method for managing defect blocks in non-volatile memory | |
US7657795B2 (en) | Method and apparatus for writing to a target memory page of a memory | |
US6973014B1 (en) | Methods for optical disc sector verification | |
US9275745B2 (en) | Semiconductor device and method of operating the same | |
JP3675375B2 (ja) | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 | |
KR20070006655A (ko) | 파일 관리 장치, 파일 관리 방법, 파일 관리 프로그램 및파일 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 | |
CN108665941A (zh) | 基于nand闪存的列修复方法、装置和nand存储设备 | |
CN113821372A (zh) | 用于容错地存储用户数据的方法 | |
US8381023B2 (en) | Memory system and computer system |
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 |