CN111124739B - 用于非易失性存储器的防撕除保护*** - Google Patents
用于非易失性存储器的防撕除保护*** Download PDFInfo
- Publication number
- CN111124739B CN111124739B CN201911042530.1A CN201911042530A CN111124739B CN 111124739 B CN111124739 B CN 111124739B CN 201911042530 A CN201911042530 A CN 201911042530A CN 111124739 B CN111124739 B CN 111124739B
- Authority
- CN
- China
- Prior art keywords
- memory block
- read mode
- read
- data
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 130
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 14
- 230000014759 maintenance of location Effects 0.000 description 4
- 206010011906 Death Diseases 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/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
- 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
- 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/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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
-
- 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/0626—Reducing size or complexity of storage systems
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及一种用于非易失性存储器的防撕除保护***,非易失性存储器包括第一存储器块和第二存储器块,第一和第二存储器块被布置为存储数据集,该数据集包括用户数据和基于该用户数据获得的检错码。可以在第一读取模式下读取第一和第二存储器块,用于确定根据第一读取模式的包括在数据集中的数据元素的逻辑状态。如果相应存储器块中的用户数据的检错码等于第一给定值,则相应存储器块中的用户数据被认为是根据第一读取模式正确的。如果相应存储器块中的用户数据的检错码等于第一给定值并且在第二读取模式下读取的用户数据被确定为与在第一读取模式下读取的用户数据相同,则相应存储器块中的用户数据被认为根据第二读取模式是正确的。
Description
技术领域
本发明涉及例如用于集成电路(IC)卡的非易失性存储器(NVM)的防撕除(anti-tearing)保护***。更具体地,所提出的***特别适合于必须在非常短的时间内执行存储器块更新的定时受限***。本发明还涉及操作所提出的防撕除***的方法。
背景技术
在电源能够被容易地中断的***中,例如通过从读卡器撕除诸如射频识别(RFID)卡的IC卡,可能会发生在写操作中间写操作被中断,并且写入IC内的数据受到损坏。如果没有其他***备份该数据,则通常有必要在IC内实现防撕除保护***。这样的***应确保在写操作期间发生电源撕除事件的情况下,***保留旧数据或正确写入新数据。
智能卡或其他IC卡中现有技术的防撕除***基于以下说明的几个原理。一种常见的***是带有标志的两位置***。根据该解决方案,IC在两个不同位置之一中写入数据,并且***使用单独的标志来指示哪些数据有效,即,上一次正确发生数据的更新的位置。在新的写操作期间,IC选择具有无效数据的位置(保留具有有效数据的位置),并更新该位置。完成此操作后,***将更新标志以指向刚刚更新的位置。在数据更新期间发生撕除的情况下,旧数据将保持不变,并且标志指向它们。在标志更新期间发生撕除的情况下,可能会发生标志受到损坏,并且该标志将指向新数据或旧数据。但是在更新标志之前,新数据的写操作已正确完成。这样确保数据正确无损坏。但是,该***的缺点是它至少需要两个独立的写操作:一个用于数据,一个用于标志。然而,在许多时间受限***中,这种解决方案在实践中不可行。
已知的防撕除***的另一个示例是带有检错码(EDC)的N字(word)滚动缓冲区。数据存储在N(N为正整数)个位置中,每个位置都包括顺序号(Nb)和EDC。EDC是从存储的数据计算得到的,如果数据正确,则纠错校验将通过,如果数据与EDC不对应,则纠错校验将失败。更新数据时,将使用Nb+1写入新数据,并基于新数据运行错误检测方案。在启动过程中,IC使用EDC来检查数据的所有位置和正确性。它将具有有效EDC和最高Nb的数据作为有效数据。该***的缺点是,如果N=2,并且如果发生两个连续的撕除事件,则数据将丢失。为了增加***的稳健性(robustness),N应该明显更高,这将占用存储器空间(即芯片面积)。无论如何,这种***仅对N-1个撕除事件具有稳健性。
已知的防撕除***的又一个示例是具有纠错码(ECC)和恢复功能的***。在该***中,IC写入数据纠错码。ECC验证写入的数据是否一致,并允许对其进行纠正。当写操作中断时,则在下次上电期间,IC会验证数据的完整性。如果检测到数据不正确,即ECC方案失败,则***将基于ECC恢复正确的状态,并在启动期间使用写操作来纠正存储器状态。该***的缺点是,如果在恢复阶段期间发生另一撕除事件,则数据将完全丢失。此外,ECC只能纠正有限数量的错误比特。如果更多比特被更改,则***将失败。
发明内容
本发明的目的是克服现有防撕除***的上述缺点中的至少一些缺点。更具体地,本发明旨在提供一种用于NVM的防撕除***,其特别适合于具有关键定时约束的***。
根据本发明的第一方面,提供了一种如权利要求1所述的用于非易失性存储器的防撕除保护***。
所提出的解决方案具有在所提出的***中仅需要一个写操作来更新存储器块的优点。例如,不需要更新任何标志。因此,所提出的***对于定时关键的并且有进行仅仅一次写操作的时间的***是便利的。所提出的***对于不定次数的撕除尝试也是稳健的,因为它能够保持有效的存储器值完好无损。此外,本***是面积上有效率的,因为它仅需要两个存储器块。
根据本发明的第二方面,提供了一种包括防撕除保护***的集成电路卡。
根据本发明的第三方面,提供了一种操作防撕除***的方法。
在所附的从属权利要求中阐述了本发明的其他方面。
附图说明
通过参考附图进行的以下非限制性示例实施例的描述,本发明的其他特征和优点将变得明显,在附图中:
图1示出了简化框图,其示出了根据本发明的示例性实施例的撕除***;以及
图2是示出可以在图1的防撕除***中使用的一些存储器读取水平(level)的图。
具体实施方式
现在将参考附图详细描述本发明的实施例。将在诸如RFID IC卡的RF智能卡的防撕除***的上下文中描述本发明。然而,本发明的教导不限于该环境或应用。在不同附图中出现的相同或对应的功能和结构元件被分配相同的附图标记。如本文所用,“和/或”是指由“和/或”加入的列表中的任何一个或多个项目。例如,“x和/或y”表示三元素集{(x),(y),(x,y)}中的任何元素。换句话说,“x和/或y”表示“x和y中的一个或两者”。作为另一个示例,“x、y和/或z”表示七元素集{{x,(y),(z),(x,y),(x,z),(y,z),(x,y,z)}中的任何元素。换句话说,“x、y和/或z”是指“x、y和z中的一个或多个”。此外,术语“包括(comprise)”在本文中用作开放式术语。这意味着该对象覆盖所有列出的元素,但也可以包含附加的未命名的元素。因此,词语“包括”由更广义的含义“包含(include)”、“含有(contain)”或“包涵(comprehend)”来解释。
所提出的防撕除***是例如为具有以下限制的NVM***而设计的:
1)所使用的协议和NVM定时方案在关键数据更新期间仅允许一个更新操作。例如,***不能使用单独的标志。
2)存储器面积限制仅允许两个存储器位置。这些限制不允许使用N字滚动缓冲区;以及
3)稳健性目前仅限于单个撕除事件。
如接下来更详细解释的,本发明提出了一种新的解决方案,其验证了最后的存储器写操作的稳健性。图1示意性地示出了所提出的防撕除***1的一些元件,其对于理解本发明的教导可以是有用的。图1示出了NVM单元或元件3,或者简单地是存储器单元,其可以验证写入数据的稳健性,即,多强或者多弱地写入数据。存储器单元3包括第一存储器块或缓冲区5和第二存储器块或缓冲区7,在该示例中,它们是独立的存储器块并且具有它们自己的存储器地址或位置。这些存储器块是非易失性存储器,是即使在关闭***电源后也可以检索存储的数据或信息的存储器类型。NVM的示例包括只读存储器、闪存、EEPROM存储器、铁电随机存取存储器(FRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)、多种类型的磁性计算机存储设备(包括例如硬盘驱动器、固态驱动器、软盘和磁带)和光盘。
在图1中,还示出了处理单元9,其被配置为读取第一和第二存储器块5、7两者。可以有利地使用不同的存储器读取模式来读取存储器块,从而可以区分哪些数据是正确并且因此有效的,而哪些是受损坏的。与存储器写入单元11一起,处理单元确保始终保持有效数据。存储器写入单元11包括被布置为在写操作期间使用以选择性地将数据存储在两个独立的存储器块5、7(或存储器位置)中的***。在本示例中,每个存储器块包括以下数据:
·用户数据;
·计数器,也称为防撕除(AT)计数器,用于指示最后写入哪个字或最后更新哪个存储器块;以及
·通过给定数据集计算的EDC,该给定数据集在该示例中包括用户数据和计数器。换句话说,在该示例中,EDC是通过用户数据和计数器计算的。
在本示例中,存储器块5、7中数据的稳健性被布置为使用三种不同或独立的存储器读取模式或操作来检查或验证,即第一读取模式,称为正常读取(NR)模式,第二读取模式,称为写裕量读取(WMR)模式,和第三读取模式,称为擦除裕量读取(EMR)模式。这些模式的关系在图2中示出,其中,根据该示例,纵轴或y轴表示用于存储一个数据元素即比特的给定存储器元胞(cell)的电荷水平(charge level)(或替代地电压水平)。但是,可以替代地使用电荷水平或值以外的其他参数来定义读取模式。
如下所述,使用不同的读取模式确定在存储器中多强或者多弱地写入或擦除数据。NR模式可被视为默认读取模式。NR模式定义了用于根据NR模式确定数据比特的逻辑状态或水平的第一规则集。在该示例中,第一规则集包括被称为正常读取水平13的第一阈值13。如图2所示,正常读取水平13对应于(大约)各自存储器元胞的最大可能电荷水平Cmax的一半。因此,在该示例中,正常读取水平基本上等于Cmax/2。更广泛地,正常读取水平13可以在最大电荷水平的40%至60%之间(假设使用电荷水平)。因此,从等于或高于正常读取水平13的存储器元胞电荷值得出的比特被确定为具有第一逻辑状态,在该示例中该第一逻辑状态对应于比特值1,而从低于正常读取水平13的存储器元胞电荷值得出的比特确定为具有第二逻辑状态,即该示例中的比特值0。要注意的是,给定存储器单元的电荷值可以随时间变化。因此,最初刚好高于正常读取水平13的存储器元胞的电荷值随着时间流逝可能下降到低于正常读取水平。这将意味着对应于该存储器元胞的比特也将其值从一种状态改变为另一种状态,即在此示例中从1变为0。
WMR模式定义了用于确定根据WMR模式的数据比特的逻辑状态的第二规则集。在此示例中,第二规则集包括被称为写裕量读取水平15的第二阈值15。如图2所示,写裕量读取水平15被设置为高于正常读取水平13。在该具体示例中,写裕量读取水平的电荷水平大约是最大可能电荷水平的四分之三。换句话说,写裕量实际水平15基本上等于(3/4)·Cmax。更广泛地,写裕量实际水平15可以在Cmax的65%至85%之间。写裕量读取水平用于确定以前擦除的元胞是否以稳健方式被写入。因此,根据WMR模式,从等于或大于写裕量读取水平15的存储器元胞电荷值得出的比特被确定为具有第一逻辑状态,在此示例中该第一逻辑状态对应于比特值1,而从低于写裕量读取水平的存储器元胞电荷值得出的比特被确定为具有第二逻辑状态,即该示例中的比特值0。因此,在WMR模式下确定的任何具有值1(在此示例中)的逻辑状态都可以被视为强写入,因此在给定的保留(retention)时间内,强写入比特不太可能将其电荷水平更改为低于NR水平,并因此更改其在NR模式下读取的值。
EMR模式定义了用于确定根据EMR模式的数据比特的逻辑状态的第三规则集。在该示例中,第三规则集包括被称为擦除裕量读取水平17的第三阈值17。如图2进一步所示,擦除裕量读取水平17被设置为低于正常读取水平13。在该具体示例中,擦除裕量读取水平的电荷水平约为最大可能电荷水平的四分之一。换句话说,擦除裕量读取水平17基本上等于(1/4)·Cmax。更广泛地讲,擦除裕量实际水平可以在Cmax的15%到35%之间。擦除裕量读取水平17被用于确定是否以稳健的方式擦除了擦除的单元。因此,根据EMR模式,从等于或大于擦除裕量读取水平17的存储器元胞电荷值得出的比特被确定为具有第一逻辑状态,在该示例中该第一逻辑状态对应于比特值1,而从低于擦除裕量读取水平17的存储器元胞电荷值得出的比特被确定为具有第二逻辑状态,即该示例中的比特值0。因此,在EMR模式下确定的任何值为0(在此示例中)的逻辑状态都可视为已被强擦除,因此不太可能在给定的保留时间内,被强擦除的比特将其电荷水平更改为高于NR水平,并因此更改了其在NR模式下读取的值。
如图2所示,三个阈值,即正常读取水平13、写裕量读取水平15和擦除裕量读取水平17,定义了四个数据强度区域。写裕量读取水平15之上的区域是强写入数据区域,写裕量读取水平15和正常读取水平13之间的区域是弱写入数据区域,正常读取水平13和擦除裕量读取水平17之间的区域是弱擦除数据区域,擦除裕量读取水平17之下的区域是强擦除数据区域。
鉴于上述情况,如果使用EMR模式和/或WMR模式正确读取了数据,则确保正常读取的数据被正确读取,并在指定的保留时间内保持正确。此外,如果使用NR模式正确读取数据但使用EMR模式不是,则该数据被弱擦除了,而如果使用NR模式正确读取数据但使用WMR模式不是,则可以确定该数据是弱写入的。
即使仅使用NR模式和其他两种读取模式之一,所提出的算法也可以正确用作防撕除保护。仅使用两种读取模式的唯一限制与NVM的寿命终止有关。此刻,数据损坏可能还由于存储器已耗尽并且因此数据即使被正确写入也会被随机更改的事实而造成。在这种情况下,风险可能会被简单接受,因为这是产品寿命的终止,或者可以添加计数器来限制对存储器的写循环数。然而,应注意,如果添加了定义其自己的规则集的一个或多个其他读取模式,则本发明的教导同样适用。
接下来说明数据正确性规则。在本实施例中,定义了如果满足以下情况,则使用正常读取模式读取的存储器块中的数据被认为是正确的:
1.EDC是正确的,即它等于f(AT,用户数据),其在上次更新时存储在相应的存储器中;以及
AT计数器具有有效值。
进一步定义了如果满足以下情况,则使用擦除裕量读取模式或写裕量读取模式读取的存储器块中的数据被认为是正确的:
1.EDC是正确的,即它等于f(AT,用户数据);
2.AT计数器具有有效值;以及
3.在此模式下读取的数据等同于使用正常读取读取的数据。
在这种情况下,由于存在两个存储器块,AT计数器由定义四个可能值的两个比特组成。这些值之一因此可以指示无效状态,而其余三个值将指示有效状态。但是,计数器的其他实现也是可能的。
接下来定义防撕除算法规则,以确定哪个存储器块有效。出于防撕除算法的目的,裕量读取(MR)被定义如下:
·在同时具有EMR和WMR模式的实现中,MR=EMR和WMR;
·在仅具有WMR的实现中,MR=WMR;以及
·在仅具有EMR的实现中,MR=EMR。
为了简化以下规则的描述,对其进行了进一步定义:
·块X可以是块1或块2;以及
·然后,块Y是另一个块。
换句话说,如果块X为块1,则块Y为块2,如果块X为块2,则块Y为块1。
所提出的算法具有以下规则:
1.块X NR正确且块1MR正确,并且
块Y NR正确且块2MR正确,
则有效块是其AT计数器指示是较新的块,即最后更新的块。在这种情况下,没有发生撕除。
2.块X NR正确且块X MR正确,并且
块Y NR正确且块Y MR不正确,
则块X有效。在这种情况下,可以确定在存储器更新操作期间块Y被撕除。
3.块X NR正确,并且
块Y NR不正确,
则块X有效。在这种情况下,不使用MR模式就可以确定块Y被损坏。
4.块X NR正确且块X MR不正确,并且
块Y NR正确且块Y MR不正确,
则有效块是带有AT计数器指示是较旧的块。在这种情况下,不能确切说出哪个块被强写入和弱写入。但是由于采用了所提出的***,我们知道较旧的块在过去使MR至少正确一次,因为我们开始更新较新的块。但是对于较新的块不能这么说,因为这是第一次对其进行检查。因此,较旧的块的裕量水平更高,接近MR,并且仅随时间推移而恶化。
5.块X NR不正确且
块Y NR不正确,
则可以确定存储器块的寿命终止。在这种情况下,将不执行NVM动作,并且将寿命终止报告给另一个***。可以进一步防止其写入这些存储器。
一旦如上所述已经确定了有效存储器块,则处理单元9现在可以将确定结果通知给存储器写入单元11。因此,存储器写入单元11现在可以基于来自处理单元9的反馈,用新的信息或数据来更新无效的存储器块。因此,存储器更新规则如下:
1.保留有效块,不对其进行修改;以及
2.用新值或新值集合更新无效块。
尽管已经在附图和前述描述中详细示出和描述了本发明,但是这种示出和描述应被认为是说明性或示例性的,而非限制性的,本发明不限于所公开的实施例。基于对附图、公开内容和所附权利要求的研究,在实施要求保护的发明时,本领域技术人员将理解并且可以实现其他实施例和变型。例如,有可能将一个或多个进一步的存储器块添加到所提出的***。
在权利要求中,词语“包括”不排除其他元件或步骤,并且“一”或“一个”不排除多个。在互不相同的从属权利要求中记载不同特征的仅有事实并不表示不能有利地使用这些特征的组合。权利要求中的任何附图标记都不应被解释为限制本发明的范围。
Claims (13)
1.一种非易失性存储器单元(3)的防撕除保护***(1),所述非易失性存储器单元(3)包括第一存储器块(5)和第二存储器块(7),所述第一和第二存储器块(5、7)旨在存储包括用户数据和基于所述用户数据获得的检错码的数据集,所述第一和第二存储器块(5、7)被布置为以第一读取模式被读取,所述第一读取模式定义第一规则集,用于确定根据所述第一读取模式的包括在所述数据集中的数据元素的逻辑状态,如果相应存储器块中的所述用户数据的检错码等于第一给定值,则相应存储器块中的所述用户数据将被视为根据所述第一读取模式是正确的,所述第一规则集包括第一存储器读取阈值(13),
所述***的特征在于,所述第一和第二存储器块(5、7)还被布置为以第二读取模式被读取,所述第二读取模式定义第二规则集,用于确定根据所述第二读取模式的包括在所述数据集中的所述数据元素的所述逻辑状态,所述第二规则集包括第二存储器读取阈值(15),其中,所述***(1)的处理单元(9)被配置为读取所述第一和第二存储器块(5、7)两者,并且其中,在所述处理单元(9)中,如果相应存储器块中的所述用户数据的检错码等于所述第一给定值并且如果在所述第二读取模式下读取的所述用户数据被确定为与在所述第一读取模式下读取的所述用户数据相同,则相应存储器块中的所述用户数据被认为根据所述第二读取模式是正确的,其中,所述数据集进一步包括指示最后更新哪个存储器块(5、7)的计数器数据,并且其中,进一步基于所述计数器数据获得所述检错码,以及其中,所述用户数据的正确性被布置为用于确定所述第一和第二存储器块(5、7)中的哪个应该接下来由所述***(1)的存储器写入单元(11)更新。
2.根据权利要求1所述的防撕除保护***(1),其中,如果链接到数据元素的给定属性等于或高于所述第一存储器读取阈值(13),则所述数据元素具有根据所述第一读取模式的第一逻辑状态,而如果所述给定属性低于所述第一存储器读取阈值,则所述数据元素具有根据所述第一读取模式的第二不同逻辑状态,并且其中,如果所述给定属性等于或大于所述第二存储器读取阈值(15),则所述数据元素具有根据所述第二读取模式的第一逻辑状态,而如果所述给定属性低于所述第二存储器读取阈值(15),则所述数据元素具有根据所述第二读取模式的第二逻辑状态。
3.根据权利要求2所述的防撕除保护***(1),其中,所述给定属性可从存储器元胞水平得出。
4.根据权利要求1所述的防撕除保护***,其中,所述第一和第二存储器块(5、7)还被布置为以第三读取模式被读取,所述第三读取模式定义不同于所述第一和第二规则集的第三规则集,用于确定根据所述第三读取模式的包括在所述数据集中的所述数据元素的逻辑状态,并且其中,如果相应存储器块中的所述用户数据的检错码等于所述第一给定值并且如果在所述第三读取模式下读取的所述用户数据被确定为与在所述第一读取模式下读取的所述用户数据相同,则相应存储器块中的所述用户数据将被视为根据所述第三读取模式是正确的。
5.根据权利要求1所述的防撕除保护***(1),其中,所述第一给定值等于在先前的存储器写操作期间存储在所述相应的存储器块(5、7)中的所述检错码。
6.根据权利要求1所述的防撕除保护***(1),其中,用于根据所述第一和第二读取模式的所述用户数据正确性的另一条件是所述计数器数据具有给定的计数器值。
7.一种集成电路卡,包括根据权利要求1所述的防撕除保护***(1)。
8.操作根据权利要求1所述的防撕除保护***(1)的方法,其中,如果:
-所述第一存储器块(5)中的所述数据集被确定为根据所述第一读取模式是正确的,并且所述第一存储器块(5)中的所述数据集被确定为根据所述第二读取模式是正确的;并且
-所述第二存储器块(7)中的所述数据集被确定为根据所述第一读取模式是正确的,并且所述第二存储器块(7)中的所述数据集被确定为根据所述第二读取模式是正确的,
然后其中,所述数据集进一步包括指示最后更新了哪个存储器块(5、7)的计数器数据,并且其中,进一步基于所述计数器数据获得所述检错码,
所述方法包括:
确定有效的存储器块是最后更新的存储器块,并使用另一数据集更新第一更新的存储器块。
9.操作根据权利要求1所述的防撕除保护***(1)的方法,其中,如果:
-所述第一存储器块(5)中的所述数据集被确定为根据所述第一读取模式是正确的,并且所述第一存储器块(5)中的所述数据集被确定为根据所述第二读取模式是正确的;并且
-所述第二存储器块(7)中的所述数据集被确定为根据所述第一读取模式是正确的,并且所述第二存储器块(7)中的所述数据集被确定为根据所述第二读取模式是不正确的,
所述方法包括:
确定所述第一存储器块是有效的,并用另一数据集更新所述第二存储器块(7)。
10.操作根据权利要求1所述的防撕除保护***(1)的方法,其中,如果:
-所述第一存储器块(5)中的所述数据集被确定为根据所述第一读取模式是正确的;并且
-所述第二存储器块(7)中的所述数据集被确定为根据所述第一读取模式是不正确的,
所述方法包括:确定所述第一存储器块(5)有效,并用另一数据集更新所述第二存储器块(7)。
11.操作根据权利要求1所述的防撕除保护***(1)的方法,其中,如果:
-所述第一存储器块(5)中的所述数据集被确定为根据所述第一读取模式是正确的,并且所述第一存储器块(5)中的所述数据集被确定为根据所述第二读取模式是不正确的;并且
-所述第二存储器块(7)中的所述数据集被确定为根据所述第一读取模式是正确的,并且所述第二存储器块(7)中的所述数据集被确定为根据所述第二读取模式是不正确的,
然后其中,所述数据集还包括指示最后更新了哪个存储器块(5、7)的计数器数据,并且其中,进一步基于所述计数器数据获得所述检错码,
所述方法包括:确定有效存储器块是第一更新的存储器块,并使用另一数据集更新最后更新的存储器块。
12.操作根据权利要求1所述的防撕除保护***(1)的方法,其中,如果:
-所述第一存储器块(5)中的所述数据集被确定为根据所述第一读取模式是不正确的;并且
-所述第二存储器块(7)中的所述数据集被确定为根据所述第一读取模式是不正确的,
所述方法包括:确定所述第一和第二存储器块(5、7)是无效的。
13.根据权利要求12所述的方法,其中,所述方法还包括防止对所述第一和第二存储器块(5、7)的进一步写操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18203819.0A EP3647952A1 (en) | 2018-10-31 | 2018-10-31 | Anti-tearing protection system for non-volatile memories |
EP18203819.0 | 2018-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124739A CN111124739A (zh) | 2020-05-08 |
CN111124739B true CN111124739B (zh) | 2024-05-24 |
Family
ID=64051494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911042530.1A Active CN111124739B (zh) | 2018-10-31 | 2019-10-30 | 用于非易失性存储器的防撕除保护*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US11392449B2 (zh) |
EP (1) | EP3647952A1 (zh) |
JP (1) | JP6980736B2 (zh) |
KR (1) | KR102276774B1 (zh) |
CN (1) | CN111124739B (zh) |
TW (1) | TWI717856B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748507B (zh) * | 2020-06-08 | 2021-12-01 | 瑞昱半導體股份有限公司 | 資料存取系統及操作資料存取系統的方法 |
US11941281B2 (en) | 2022-04-01 | 2024-03-26 | Nxp B.V. | Non-volative memory system configured to mitigate errors in read and write operations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285976A (ja) * | 2005-03-10 | 2006-10-19 | Matsushita Electric Ind Co Ltd | 不揮発性記憶システム、不揮発性記憶装置、データ読出方法及び読出プログラム |
CN103456367A (zh) * | 2012-05-30 | 2013-12-18 | 飞思卡尔半导体公司 | 非易失性存储器阵列中检测读取失败的方法和存储器*** |
CN104813408A (zh) * | 2012-12-14 | 2015-07-29 | 桑迪士克科技股份有限公司 | 跟踪对非易失性存储器的区域的读访问 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3906189B2 (ja) * | 2002-07-15 | 2007-04-18 | 株式会社東芝 | 不揮発性半導体メモリ |
DE10252059B3 (de) * | 2002-11-08 | 2004-04-15 | Infineon Technologies Ag | Verfahren zum Betreiben einer Speicheranordnung |
JP4331053B2 (ja) * | 2004-05-27 | 2009-09-16 | 株式会社東芝 | 半導体記憶装置 |
KR100871694B1 (ko) * | 2006-10-04 | 2008-12-08 | 삼성전자주식회사 | 6개의 문턱전압레벨을 이용하는 불휘발성 메모리 장치의프로그램 방법과 데이터 독출 방법, 및 상기 프로그램방법과 데이터 독출 방법을 이용하는 불휘발성 메모리 장치 |
DE602008003150D1 (de) * | 2007-05-02 | 2010-12-09 | St Microelectronics Sa | Nicht flüchtiger Speicher mit partieller Löschung |
EP2180408B1 (en) * | 2008-10-23 | 2018-08-29 | STMicroelectronics N.V. | Method for writing and reading data in an electrically erasable and programmable nonvolatile memory |
US9116830B2 (en) * | 2009-04-29 | 2015-08-25 | Texas Instruments Incorporated | Method to extend data retention for flash based storage in a real time device processed on generic semiconductor technology |
US8010854B2 (en) * | 2009-05-28 | 2011-08-30 | Freescale Semiconductor, Inc. | Method and circuit for brownout detection in a memory system |
JP5633125B2 (ja) | 2009-07-29 | 2014-12-03 | ソニー株式会社 | 情報処理方法、情報処理装置、およびプログラム |
EP2302636B1 (fr) * | 2009-09-21 | 2014-11-05 | STMicroelectronics (Rousset) SAS | Procédé de lecture d'une mémoire non volatile au moyen de métadonnées et d'une table de correspondance |
US8949509B2 (en) * | 2010-12-06 | 2015-02-03 | OCZ Storage Solutions Inc. | Mass storage systems and methods using solid-state storage media and ancillary interfaces for direct communication between memory cards |
EP2713519A1 (en) * | 2012-09-27 | 2014-04-02 | Nxp B.V. | Electronic counter in non-volatile limited endurance memory |
CN104347122B (zh) | 2013-07-31 | 2017-08-04 | 华为技术有限公司 | 一种消息式内存模组的访存方法和装置 |
US9542631B2 (en) * | 2015-04-02 | 2017-01-10 | Em Microelectronic-Marin S.A. | Dual frequency HF-UHF identification device, in particular of the passive type |
KR20170111649A (ko) * | 2016-03-29 | 2017-10-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20170120741A (ko) | 2016-04-21 | 2017-11-01 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
JP6765331B2 (ja) | 2017-03-24 | 2020-10-07 | キオクシア株式会社 | メモリシステム |
KR102257050B1 (ko) * | 2017-05-26 | 2021-05-27 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
US10691536B2 (en) * | 2017-09-22 | 2020-06-23 | SK Hynix Inc. | Method to select flash memory blocks for refresh after read operations |
-
2018
- 2018-10-31 EP EP18203819.0A patent/EP3647952A1/en active Pending
-
2019
- 2019-10-09 TW TW108136536A patent/TWI717856B/zh active
- 2019-10-17 US US16/655,988 patent/US11392449B2/en active Active
- 2019-10-23 KR KR1020190132329A patent/KR102276774B1/ko active IP Right Grant
- 2019-10-24 JP JP2019193212A patent/JP6980736B2/ja active Active
- 2019-10-30 CN CN201911042530.1A patent/CN111124739B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285976A (ja) * | 2005-03-10 | 2006-10-19 | Matsushita Electric Ind Co Ltd | 不揮発性記憶システム、不揮発性記憶装置、データ読出方法及び読出プログラム |
CN103456367A (zh) * | 2012-05-30 | 2013-12-18 | 飞思卡尔半导体公司 | 非易失性存储器阵列中检测读取失败的方法和存储器*** |
CN104813408A (zh) * | 2012-12-14 | 2015-07-29 | 桑迪士克科技股份有限公司 | 跟踪对非易失性存储器的区域的读访问 |
Also Published As
Publication number | Publication date |
---|---|
TWI717856B (zh) | 2021-02-01 |
KR20200050379A (ko) | 2020-05-11 |
KR102276774B1 (ko) | 2021-07-13 |
TW202020868A (zh) | 2020-06-01 |
US20200133765A1 (en) | 2020-04-30 |
EP3647952A1 (en) | 2020-05-06 |
JP2020077405A (ja) | 2020-05-21 |
CN111124739A (zh) | 2020-05-08 |
US11392449B2 (en) | 2022-07-19 |
JP6980736B2 (ja) | 2021-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101029938B1 (ko) | 플래시 메모리 시스템 개시 동작 | |
US8694855B1 (en) | Error correction code technique for improving read stress endurance | |
US7675776B2 (en) | Bit map control of erase block defect list in a memory | |
KR20100033507A (ko) | 새로운 불량 블록 검출 | |
JP2846739B2 (ja) | Eepromメモリの安全更新方法 | |
TWI436369B (zh) | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 | |
CN111124739B (zh) | 用于非易失性存储器的防撕除保护*** | |
US20130179728A1 (en) | Repair method and device for abnormal-erase memory block of non-volatile flash memory | |
JP6080180B2 (ja) | 不揮発性メモリでのマーカプログラミング | |
RU2269814C2 (ru) | Способ надежной записи указателя для кольцевой памяти | |
CN109947594B (zh) | 一种数据备份方法及装置、数据恢复方法及装置 | |
US7657795B2 (en) | Method and apparatus for writing to a target memory page of a memory | |
JP3981268B2 (ja) | 不揮発性メモリ及びそのデータ更新方法 | |
US9424176B2 (en) | Robust sector ID scheme for tracking dead sectors to automate search and copydown | |
CN101694636B (zh) | 非易失性数据存储器数据更新备份***及方法 | |
US20070274302A1 (en) | Data Storage Device, Memory Managing Method, and Program | |
CN107239229A (zh) | 用于执行数据更新的方法 | |
JP4266742B2 (ja) | フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム | |
US11941281B2 (en) | Non-volative memory system configured to mitigate errors in read and write operations | |
CN112582009B (zh) | 单调计数器及其计数方法 | |
US10714189B2 (en) | Atomicity management in an EEPROM | |
KR100887499B1 (ko) | 차량용 전자 제어 시스템에서 강유전체 메모리를 이용한동작 시간 카운터의 저장 오류 복구 방법 | |
CN114297732A (zh) | 单调计数器、读取方法、计数方法、装置、设备及介质 | |
JPH07326197A (ja) | Eepromのデータ記憶方法および電子装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40029164 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |