CN104036823A - 用于非易失性存储器系统中的失效管理的对称数据复制 - Google Patents
用于非易失性存储器系统中的失效管理的对称数据复制 Download PDFInfo
- Publication number
- CN104036823A CN104036823A CN201410079549.4A CN201410079549A CN104036823A CN 104036823 A CN104036823 A CN 104036823A CN 201410079549 A CN201410079549 A CN 201410079549A CN 104036823 A CN104036823 A CN 104036823A
- Authority
- CN
- China
- Prior art keywords
- data
- subsystem
- nvm
- invalid
- subsystems
- 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
- 230000010076 replication Effects 0.000 title abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 230000002950 deficient Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 229940074869 marquis Drugs 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- VBUNOIXRZNJNAD-UHFFFAOYSA-N ponazuril Chemical compound CC1=CC(N2C(N(C)C(=O)NC2=O)=O)=CC=C1OC1=CC=C(S(=O)(=O)C(F)(F)F)C=C1 VBUNOIXRZNJNAD-UHFFFAOYSA-N 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及用于非易失性存储器系统中的失效管理的对称数据复制。公开了用于非易失性存储器(NVM)系统(200)中的失效管理的多个数据子系统(232、234)内的数据的对称复制的系统及方法。所公开的实施例执行到多个不同数据块子系统(232、234)的对称写操作,以便创建复制子系统。由于子系统对称地操作,地址位置和指针对于每个子系统来说是相同。如果在一个子系统内的数据中检测到错误,则位于复制系统内的相同对称位置处的复制数据可以被使用。从而,NVM系统的耐久性和寿命被大大提高。因此这些延长寿命的NVM系统可以被用来例如仿真EEPROM(电可擦可编程只读存储器)系统。
Description
技术领域
本发明涉及非易失性存储器(NVM)系统,更具体地说,涉及仿真EEPROM(电可擦可编程只读存储器)系统以及这种仿真EEPROM系统内的失效管理。
背景技术
非易失性存储器(NVM)系统被用于各种各样的产品。对于某些设备,NVM系统被用于仿真包括其它NVM系统的其它存储器系统,例如EEPROM(电可擦可编程只读存储器)系统。例如,NVM系统中的存储块可以通过存储一个或多个EEPROM数据记录而被用于实现仿真EEPROM系统。EEPROM数据记录是如同存储在EEPROM中地被布置用于处理的数据条目和/或字段的集合。数据记录可以被配置为包括数据记录状态字段、数据字段和/或其它所需的字段。特定EEPROM数据记录所需的具体排列是由在其中利用EEPROM记录的应用决定的。当EEPROM系统通过使用NVM系统被仿真的时候,NVM系统被配置以提供以被利用的格式仿真EEPROM记录的数据记录。
对于一些应用,例如汽车应用,期望延长EEE(仿真EEPROM)系统的寿命超出其当前有效寿命,该系统是通过使用NVM系统来实现的。然而,为了实现这些延长寿命,NVM系统必须能够克服通常对NVM系统的可靠运行是有害或致命的失效机制,例如由于多位错误而造成的读失败。其它失效机制也可以限制NVM系统的有效寿命,从而它不适合于某些应用。
图1(现有技术)是现有NVM系统的实施例100的方框图,其中该系统重写(rewrite)了在其中检测到错误的数据块。所描述的NVM系统的实施例100包括存储器控制电路102和非易失性存储器(NVM)120。存储器控制电路102通过使用控制信号(CNTL)108、数据信号(DATA)110以及地址信号(ADDR)112与外部电路通信。进而,存储器控制电路102通过使用控制信号(CNTL)114、数据信号(DATA)116以及地址信号(ADDR)118与NVM存储器120通信。如图所示,存储器控制电路102包括坏块重写电路104。NVM120包括程序块122和数据块124。程序块122被配置以存储例如可以被外部处理器读取和使用的程序指令,其中该外部处理器与NVM系统通信。数据块124被配置以存储被写入NVM120和从NVM120读取的数据,例如用于仿真EEPROM记录的数据。此外,数据块124被配置为包括正常块126和单独的重写块128。块126被用作主数据存储部,并且重写块128被用于存储从已被确定为是坏块或失效块的块126内的一个或多个块重写的数据。
在所描述的实施例100的操作期间,存储器控制电路102与NVM120通信以执行NVM操作。例如,存储器控制电路102可以从外部电路接收将数据写入到NVM120的请求和/或从NVM120读取数据的请求。如果其中一个正常存储块126在NVM操作期间被确定为有错误,则该块被标记为坏块或失效块,并且不再被NVM系统使用。随后,坏块重写操作130被用于将源自正常块126内的坏块的数据写入到重写块128内的新块。随后,重写块128内的新块代替主块126内的坏块被用于与被重写到新重写块内的数据记录相关的未来访问请求。存储器控制电路102使用坏块重写电路104来控制从坏块到重写块128内的新块的数据重写。坏块重写电路104也被用于记录从正常块126内的失效块被重写入重写块128的数据记录的地址位置。因此,未来请求被路由到重写块128,而不是正常块126。
附图说明
应注意,附图仅示出了示例实施例,因此,不应被认为是限制本发明的范围。附图中的元件为了简单和清楚起见而示出,并且不一定按比例绘制。
图1(现有技术)是现有NVM系统的实施例的方框图,其中该系统重写在其中检测到错误的数据块。
图2是NVM系统的实施例的方框图,其中该系统维持两个或多个对称存储器子系统。
图3是用于引导(conduct)到NVM系统内的多个子系统的对称写入的实施例的方框图。
图4是用于引导从NVM系统内的多个子系统的其中一个的读取的实施例的方框图。
图5是用于引导到NVM系统内的多个子系统的对称写入的实施例的处理流程图。
图6是用于引导从NVM系统内的多个子系统的读取的实施例的处理流程图。
图7是用于当检测到数据错误时将主记录数据标识(flag)为无效的实施例的处理流程图。
图8是用于当检测到数据错误时将复制记录数据标识为无效的实施例的处理流程图。
具体实施方式
公开了用于非易失性存储器(NVM)系统内的失效管理的多个数据子系统中的数据的对称复制的方法及系统。所公开的实施例执行到多个不同数据块子系统的对称写操作,以便创建复制子系统。由于对称地操作子系统,地址位置和指针对于每个子系统来说是相同的。如果在一个子系统内的数据中检测到错误,则在复制子系统内的相同对称位置处的复制数据可以被使用。从而,NVM系统的耐久性和寿命被大大提高。随后,这些延长寿命的NVM系统可以被用于例如仿真期望有非常长的耐久性和设备寿命的应用的EEPROM(电可擦可编程只读存储器)。根据需要,可以实现不同特征和变化,并且也可以利用相关的或修改的系统及方法。
正如本公开所描述的,所公开的实施例通过提供多个数据块子系统内的数据的对称复制,给NVM系统提供了改进的失效管理。所公开的实施例被配置以管理NVM系统内的两个或多个相同存储器子系统,以便数据的多个对称版本在任何时候都存在于NVM系统内。正如本公开进一步描述的,本公开所描述的NVM系统的一个应用就是实现仿真EEPROM系统。如果需要,本公开所描述的NVM系统实施例也可以被用于其它应用。
图2是NVM系统的实施例200的方框图,其中该系统维持两个或多个对称存储器子系统。NVM系统实施例200包括存储器控制电路202和非易失性存储器(NVM)220。存储器控制电路202通过使用控制信号(CNTL)108、数据信号(DATA)110以及地址信号(ADDR)112与外部电路通信。进而,存储器控制电路202通过使用控制信号(CNTL)114、数据信号(DATA)116以及地址信号(ADDR)118与NVM存储器220通信。如图所示,存储器控制电路202包括子系统控制电路204。NVM220包括程序块222和数据块230。程序块222被配置以存储例如可以被外部处理器读取和使用的程序指令,其中该外部处理器与NVM系统通信。数据块230被配置以存储被写入NVM220和从NVM220读取的数据,例如用于仿真EEPROM记录的数据。对于所示的实施例,数据块230包括两个对称子系统。这些对称子系统是主子系统232和复制子系统234。应注意,如果需要的话,也可以提供附加复制子系统以提供存储数据的其他对称副本。
在描述的实施例200的操作期间,存储器控制电路202与NVM220通信以执行NVM操作。例如,外部电路可以与存储器控制电路202通信以请求将数据写入到NVM220和/或请求从NVM220读取数据。对于写操作,存储器控制电路202利用子系统控制电路204以在主子系统232和复制子系统234内执行对称写操作。对于读操作,存储器控制电路202利用子系统控制电路204以从主子系统232或从复制子系统234读取数据。如果关于从主子系统232读取的数据检测到错误或失败,则存储器控制电路202利用子系统控制电路204以从复制子系统234而不是从主子系统232读取数据。还应注意,如果需要的话,附加对称复制子系统也可以被包括在内。此外,应注意,NVM220可以通过使用各种不同类型的NVM单元(例如分裂栅极NVM单元、浮置栅极NVM单元和/或所需的其它类型的NVM单元)来实现。
有利的是,关于所公开的实施例,当在一个子系统的数据中发生错误的时候,数据可以从对称子系统中获得。还应注意,所公开的实施例可以利用各种不同的信息来确定关于子系统的数据是否已发生了错误。例如,所公开的实施例可以将记录状态信息和/或与所存储的数据相关的扇区状态信息用作数据错误的指示。如果记录状态类型和/或扇区状态类型被识别是无效或不正确状态,那么相关的数据可以被认为不可靠。此外,与单一位和多位读取错误和/或其它数据错误相关联的ECC(纠错码)错误可以被用作指示数据是不可靠的。当一个子系统内的数据被认为是不可靠的,NVM系统可以被配置以自动切换到对称子系统以获得包含所需数据的有效记录。
通过维持NVM存储器单元的两个或多个对称子系统,本公开所描述的实施例能够克服失效机制,从而延长NVM系统的寿命,同时减少应对失效机制的处理时间和复杂性。数据块230中的记录可以被配置为包括任何所需信息。例如,记录可以包括地址信息、记录状态信息、记录数据和/或其它所需信息。此外,如果需要的话,数据记录可以被配置以仿真EEPROM数据记录。正如本发明所描述的,如果关于主记录或其数据检测到错误,则记录可以被认为是无效的,以便作为代替访问一个或多个对称复制子系统内的复制记录。例如,如果ECC(纠错码)程序检测到单一位或多位读取错误,如果记录状态类型是无效,和/或如果满足其它选择的失效标准,则记录可以被认为是无效记录或失效记录。
还应注意,所公开的实施例可以通过将可用于给定NVM系统的数据块(例如,两个256K的数据块)分割来实现,从而将一半分配给主数据块子系统以及将另一半分配给复制数据块子系统。因此,记录搜索可以更快地完成,因为仅一半的数据块需要被搜索。成功的失效管理仍被提供,因为复制数据块子系统被用于恢复主数据块子系统内的失效数据。这个恢复的速度是比较快的,因为复制子系统被对称地管理,以便数据的位置在复制子系统中是相同的。因此,当需要附加写入以保持子系统内的对称数据的时侯,写入命令需要很少的附加成本(如果有的话),因为子系统和内部数据位置是对称的。还应注意,根据概率,两个对称子系统的相同数据的位置会失效是非常不可能的。因此,本公开所描述的对称数据管理通过减小主数据块子系统的大小提供了有效和高效的解决方案,同时通过使用复制数据块子系统提供了失效恢复。相反,图1(现有技术)中所示的现有解决方案利用了包括正常块和重写块的单一数据块(例如,一个512k的数据块)来进行失效管理。这个大的块大小增加了搜索时间,并减缓了NVM系统的性能。
图3是用于引导到NVM系统内的NVM单元的多个子系统的对称写入的实施例300的方框图。对于所示的实施例300,数据块230包括主子系统232内的数据扇区306和复制子系统234内的数据扇区308。数据扇区306拥有多个记录,包括第一记录(R1)312、第二记录(R2)314...到第N记录(RN)316。这些记录312、314...316被用于存储被写入到NVM系统内的NVM单元的数据。正如本公开所描述的,复制子系统234被对称地管理为主子系统323的副本。因此,数据扇区308拥有多个复制记录,包括复制了第一记录(R1)312的第一复制记录(DR1)322、复制了第二记录(R2)314的第二复制记录(DR2)324...到复制了第N记录(RN)316的第N复制记录(DRN)326。应注意,如果需要的话,也可以提供附加扇区以及相关的记录。
在操作期间,存储器控制电路202例如通过关于上述实施例200所描述的连接108、110和112从外部电路接收写请求304。随后,存储器控制电路202利用子系统控制电路204来执行到数据块230内的复制子系统232和234的对称数据写入310。如图所示,对称数据写入310正写入到主子系统232的扇区306内的第二记录(R2)314以及复制子系统234的扇区308的第二复制记录(DR2)324。
应注意,在主子系统232内的记录上所执行的任何记录操作(例如,压缩、掉电恢复等等)也在复制子系统234内的匹配记录上执行。因为子系统对称地操作,一个子系统的记录位置对应于其它复制子系统中的相同记录位置。为了保持子系统对称,一个子系统内的编程数据的失效可以被认为是在其它子系统中的失效,以便程序指针将在对称子系统之间匹配。此外,应注意,根据需要,复制子系统可以存储在NVM系统内的不同存储块内或存储在NVM系统内的相同存储块内。关于具有存储在不同存储块内的复制子系统的实施例,如果需要的话,数据可以并行地被编程。另选地,如果需要的话,可以在不同存储块内串行地编程数据。关于具有相同存储块的复制子系统的实施例,可以串行地编程数据。此外,对于允许同轴写模式的NVM系统,相同块内的两行可以配对在一起进行编程,但随后分别读取。例如,主子系统内的行以及复制子系统内的匹配行可以配对进行写入,但随后分别读取。还应注意,相比于并行编程,串行编程可以有助于促进子系统之间的掉电点的识别。根据需要,其它变形也可以被实施。
图4是用于从NVM系统内的NVM单元的多个子系统的其中一个读取数据的实施例400的方框图。对于所示的实施例400,数据块230还包括位于主子系统232内的数据扇区306和位于复制子系统234内的数据扇区308。数据扇区306还包括第一记录(R1)312、第二记录(R2)314...到第N记录(RN)316。正如上面所描述的,复制子系统234被对称管理为主子系统323的副本。因此,数据扇区308还包括复制了第一记录(R1)312的第一复制记录(DR1)322、复制了第二记录(R2)314的第二复制记录(DR2)324...到复制了第N记录(RN)316的第N复制记录(DRN)326。对于实施例400,存储器控制电路202还包括记录标识块412、记录分析器420以及多路复用器(MUX)414。在下面进一步讨论的记录分析器420被用于分析数据块230内的记录以确定记录是否有效。记录标识块412被用于存储标识数据,该标识数据识别了已被确定为有缺陷的或不可靠的主子系统232内的记录。如果需要的话,其它复制子系统内的记录的有效性也可以使用记录标识块412来跟踪。取决于子系统的选择信号416,MUX414从子系统复制块204接收读取命令信息418,并将该读取命令信息作为主读取命令406提供给主子系统232或作为复制读取命令408提供给复制子系统234。应注意,主读取命令406和复制读取命令408可以通过使用上面关于实施例200所描述的连接114、116和118被提供给NVM120内的数据块230。
在操作期间,存储器控制电路202例如通过上面关于上述实施例200所描述的连接108、110和112从外部电路接收了读请求404。存储器控制电路202随后利用子系统控制电路204来执行从NVM120的数据块230内的复制子系统的其中一个的读取。首先,子系统控制电路204确定包含要读取的数据的记录或一些记录。因为子系统管理为对称的,从而它们相互复制,数据位置在两个子系统232和234内是相同的。子系统控制电路204随后检查记录标识块412以确定在主子系统232内将被访问的任何记录是否已被标记为有缺陷的或不可靠的记录。如果记录没有被标记为有缺陷的或不可靠的,则子系统控制电路204应用子系统选择信号416以从主子系统232选择主读取406。如果记录已被标记为有缺陷的或不可靠的,子系统控制电路204应用子系统选择信号416以从复制子系统232选择复制读取408。对于所示的实施例400,数据读取操作从主子系统232的扇区306内的第二记录(R2)314或从复制子系统234的扇区308内的第二复制记录(DR2)324读取数据。一旦数据从其中一个子系统被读取,读取记录数据410被从NVM120内的数据块230提供给存储器控制电路202。随后,存储器控制电路202可以提供将该读取数据返回给请求器件。
应注意,如果需要的话,可编程地址定序器可以在存储器控制电路202被利用以促进和/或自动化大的串行读操作。可能产生大的串行读操作的一种情况是在复制下来(copy down)操作期间,在该期间从最早记录到最新记录的所有记录数据内容被复制到外部存储器,例如电可擦随机存取存储器(EERAM)。可能产生大的串行读操作的另一种情况是在搜索操作期间,在该期间从最新记录到最早记录的记录被与已知记录类型进行比较,直到产生匹配。如果被包括在存储器控制电路202内,可编程地址定序器还可以用于其它情况,如果需要的话。
如上所述,应注意,存储在数据块230内的数据记录可以包括各种信息,例如记录状态信息、记录创建信息(例如,创建的日期/时间)、数据信息和/或其它所需信息。此外,数据记录可以是任何所需尺寸(例如,32位或一些其它尺寸)。对于一些实施例,记录创建信息被用于搜索记录(例如,最早到最新的记录,最新到最早的记录)、外部地传送记录(例如,最早到最新的记录,从最新到最早的记录)和/或其它所需目的。对于一些实施例,记录状态信息可以被用于确定有效记录,并且如果需要的话,可以作为表示所存储的记录的当前状态类型的多位数据字(例如,8位、7位或其它长度)被实现。根据需要,其它变体也可以被实现。
存储器控制电路202内的记录分析仪420可以被用于分析记录状态信息以确定记录状态是否有效。例如,该记录状态信息可以在记下操作期间被分析,其中从最早到最新或从最新到最早的记录被重新组织。如果记录状态类型被记录分析仪420认为是无效,那么该记录可以被认为是是失效的或不可靠的记录。随后,记录分析仪420可以在记录标记块412中将该记录标记为无效。子系统控制电路204针对被针对该失效记录的任何数据读取可以使用替代的对称子系统。根据需要,其它变体也可以被实现。
还应注意,除了保持多个记录之外,扇区可以存储扇区状态信息和/或扇区识别(ID)信息。在该扇区状态信息或扇区ID信息内检测到的错误也可以被用于确定扇区是否有效。正如针对无效记录一样,当检测到无效扇区的时候,则替代对称子系统可以被用于针对该失效扇区的任何数据读取。对于一些实施例,扇区ID信息被用于确定扇区的所存储的数据记录的开始和结束地址。因此,扇区ID信息内的不可校正错误在现有系统中是显著失效,因为扇区的边界不再能够被确定。相反,通过使用本发明描述的实施例,如果在主对称子系统的扇区ID信息内出现失效,则源自替代对称子系统的对称扇区ID信息可以被利用。因此,该失效是可以克服的。根据需要,其它变体也可以被实现。
也如上所述,发生在数据读取操作期间的错误也可以被用于指示失效的或不可靠的数据记录。例如,如果单一位或多位错误在读操作期间被ECC程序检测到,与数据读取有关的记录可以被认为是无效的。替代对称子系统随后可以被用于针对该失效记录的任何数据读取。此外,替代对称子系统可以结合主对称子系统使用以确定关于ECC错误的进一步信息。例如,通过使用多个对称子系统,NVM系统可能确定被ECC程序检测到的单一位错误是否实际上是单一位错误或三位错误,因为大多数ECC程序不能轻易区分单一位错误和其它奇数位错误。使用多个对称子系统也可以被用于加强作为读操作的部分而被检测到的单一位或多位错误的校正。因为数据块子系统被对称地维持,对不同子系统内的数据访问是流线型的,因为地址、指针和数据位置相同。根据需要,其它变体也可以被实现。
图5是用于引导到NVM系统内的多个子系统的对称写入的实施例500的处理流程图。在块502,接收到写请求。在块504,确定是否需要新记录。如果“否”并且数据在现有记录中被更新,则流程进入块506,其中数据在主子系统和复制子系统内的匹配记录中被更新。随后,流程进入块512,其中写操作结束。如果在块504确定为“是”并且正在创建新记录,那么流程进入块508,其中为主子系统和复制子系统内的新记录确定匹配位置。随后,流程进入块510,其中数据被对称地写入新匹配记录。随后,流程进入块512,其中写操作结束。
图6是用于引导从NVM系统内的多个子系统的读取的实施例600的处理流程图。在块602,接收到读请求。在块604,为将要被读取的记录确定地址。在块606,确定主子系统内的记录是否有效。如果“是”并且主子系统内的记录没有被标记为无效(例如,有缺陷的或不可靠的),那么流程进入块608,其中源自主子系统的记录被读取。随后,流程进入块612,其中读操作结束。如果在块606确定为“否”时并且主子系统内的记录被标记为无效(例如,有缺陷的或不可靠的),那么流程进入块610,其中源自复制子系统的记录被读取。随后,流程进入块612,其中读操作结束。
图7是用于当检测到数据错误时将主记录数据标识为无效的实施例700的处理流程图。在块702,确定关于主数据块子系统内的数据记录已是否检测到错误。如果“否”,那么流程回到块702。如果“是”,那么流程进入块704,其中记录标识信息被调整以将在其内产生数据错误的主数据记录标记为无效。接下来,在块706,复制子系统被用于读取与被标记为无效的记录相关联的数据。随后,流程返回块702。
图8是用于当检测到数据错误时将复制记录数据标识为无效的实施例800的处理流程图。在块802,确定关于复制数据块子系统内的数据记录是否已检测到错误。如果“否”,那么流程回到块802。如果“是”,那么流程进入块804,其中在其内产生数据错误的复制记录被标识为无效。接下来,在块806,与无效记录有关的数据被拷贝到复制子系统内的新记录。另选地,在利用附加复制子系统的情况下(例如,主子系统和两个或多个复制子系统),附加复制子系统可以被用于读操作。随后,流程返回块802。
正如本公开所描述的,各种实施例可以被实现,并且根据需要,不同特性和变体可以被实现。
所公开的一个实施例是非易失性存储器(NVM)系统,该系统包括:多个数据子系统,每个数据子系统包括多个NVM单元,并且被配置以将多个数据记录存储在所述多个NVM单元内;以及存储器控制电路,被配置以引导到所述多个数据子系统内的NVM单元的对称存储器写操作,并且被配置以引导从多个数据子系统的选定的一个内的NVM单元的存储器读操作。
在另一个实施例中,所述对称存储器写操作可以包括被配置以保持所述多个数据子系统内的相同数据位置以形成多个复制数据子系统的写操作。此外,所述多个数据子系统可以包括主数据子系统和至少一个复制数据子系统。而且,如果从所述主数据子系统读取的数据没有被认为是无效的,则所述存储器控制电路可以被配置以针对存储器读操作而选择所述主数据子系统,并且其中如果从所述主数据子系统读取的数据被认为是无效的,所述存储器控制电路可以被配置以针对存储器读操作而选择复制数据子系统。此外,所述主数据子系统和所述至少一个复制数据子系统可以被配置为相同大小。而且,所述存储器控制电路可以被配置以仿真EEPROM(电可擦可编程只读存储器)系统以响应于从外部电路接收的读请求和写请求。
在其它实施例中,所述存储器控制电路可以被配置以存储错误标识,所述错误标识对被识别为具有无效数据的所述主数据子系统内的数据记录进行识别。此外,所述存储器控制电路还可以被配置以当读操作需要被标识的数据记录中的数据的时候,访问所述至少一个复制数据子系统。而且,所述存储器控制电路被配置以利用源自读操作的纠错码(ECC)位错误来将数据标识为无效。此外,所述存储器控制电路被配置以分析数据记录的记录状态信息并且利用记录状态错误来将数据标识为无效。在其它实施例中,多个数据子系统的每一个还包括多个扇区,每个扇区具有多个数据记录,并且其中所述存储器控制电路被配置以分析扇区状态信息并且利用扇区状态错误来将数据标识为无效。
另一个所公开的实施例是一种操作非易失性存储器(NVM)系统的方法,包括:对称地将数据写入多个数据子系统内的NVM单元,每个数据子系统包括多个NVM单元并且被配置以将多个数据记录存储在所述多个NVM单元内;以及从多个数据子系统的选定的一个内的NVM单元读取数据。
在另一个实施例中,所述对称写入步骤包括执行写操作,所述写操作被配置以保持所述多个数据子系统内的相同数据位置以形成多个复制数据子系统。此外,所述多个数据子系统可以包括主数据子系统和至少一个复制数据子系统。而且,所述方法还包括:如果从所述主数据子系统读取的数据没有被认为是无效的,则针对存储器读操作选择所述主数据子系统,以及如果从所述主数据子系统读取的数据被认为是无效的,则针对存储器读操作选择复制数据子系统。此外,所述主数据子系统和所述至少一个复制数据子系统可以被配置为相同大小。而且,所述方法还包括仿真EEPROM(电可擦可编程只读存储器)系统以响应于从外部电路接收的读请求和写请求。
在其它实施例中,所述方法可以包括存储错误标识,所述错误标识对被识别为具有无效数据的所述主数据子系统内的数据记录进行识别。此外,所述方法还可以包括当读操作需要被标识的数据记录中的数据的时候,访问所述至少一个复制数据子系统。而且,所述方法可以包括利用源自读操作的纠错码(ECC)位错误来将数据标识为无效。此外,所述方法可以包括分析数据记录的记录状态信息以及利用记录状态错误来将数据标识为无效。在其它实施例中,所述数据子系统还包括多个扇区,每个扇区具有多个数据记录,并且还包括分析扇区状态信息以及利用扇区状态错误来将数据标识为无效。
应注意,根据需要,本公开所描述的功能块可以通过使用硬件、软件或硬件和软件的组合来实现。此外,根据需要,运行软件和/或固件的一个或多个处理器或微控制器也可以被使用以实现所公开的实施例。还应了解,本公开所描述的一个或多个任务、功能或方法可以例如作为软件或固件和/或其它指令来实现,其中所述指令嵌入在由控制器、微控制器、处理器、微处理器或其它合适的处理电路执行的一个或多个非瞬态有形计算机可读介质中。
除非另有说明,使用如“第一”以及“第二”的术语是用于任意区分这些术语所描述的元素的。因此,这些术语不一定旨在表示时间顺序或这些元素的其它优先次序。
鉴于该说明书,对所描述的系统及方法的其它修改和替代实施例对本领域所属技术人员来说将是显而易见的。因此,应认识到,所描述的系统及方法不被这些示例布置所限定。应了解,本公开所示出的及所描述的系统及方法的形式被认为是示例实施例。在实施中可以进行各个变化。因此,虽然在此本发明是参照具体实施例来描述,在不脱离本发明范围的情况下,可以进行各种修改以及变化。因此,说明书以及附图被认为是说明性而不是限定性的,并且所有这些修改旨在被列入本发明范围内。此外,关于具体实施例,本公开所描述的任何好处、优点或解决方案都不旨在被解释为任何或所有权利要求的关键的、必需的、或本质的特征或元素。
Claims (22)
1.一种非易失性存储器NVM系统,包括:
多个数据子系统,每个数据子系统包括多个NVM单元,并且被配置以将多个数据记录存储在所述多个NVM单元内;以及
存储器控制电路,被配置以引导到所述多个数据子系统内的NVM单元的对称存储器写操作,并且被配置以引导从多个数据子系统的选定的一个内的NVM单元的存储器读操作。
2.根据权利要求1所述的NVM系统,其中所述对称存储器写操作包括被配置以保持所述多个数据子系统内的相同数据位置以形成多个复制数据子系统的写操作。
3.根据权利要求1所述的NVM系统,其中所述多个数据子系统包括主数据子系统和至少一个复制数据子系统。
4.根据权利要求3所述的NVM系统,其中所述存储器控制电路被配置以如果从所述主数据子系统读取的数据没有被认为是无效的,则针对存储器读操作而选择所述主数据子系统,并且其中所述存储器控制电路被配置以如果从所述主数据子系统读取的数据被认为是无效的,则针对存储器读操作而选择复制数据子系统。
5.根据权利要求4所述的NVM系统,其中所述主数据子系统和所述至少一个复制数据子系统被配置为相同大小。
6.根据权利要求3所述的NVM系统,其中所述存储器控制电路被配置以存储错误标识,所述错误标识对被识别为具有无效数据的所述主数据子系统内的数据记录进行识别。
7.根据权利要求6所述的NVM系统,其中所述存储器控制电路还被配置以当读操作请求被标识的数据记录中的数据的时候,访问所述至少一个复制数据子系统。
8.根据权利要求7所述的NVM系统,其中所述存储器控制电路被配置以利用源自读操作的纠错码ECC位错误来将数据标识为无效。
9.根据权利要求7所述的NVM系统,其中所述存储器控制电路被配置以分析数据记录的记录状态信息并且利用记录状态错误来将数据标识为无效。
10.根据权利要求7所述的NVM系统,其中所述多个数据子系统的每一个还包括多个扇区,每个扇区具有多个数据记录,并且其中所述存储器控制电路被配置以分析扇区状态信息并且利用扇区状态错误来将数据标识为无效。
11.根据权利要求1所述的NVM系统,其中所述存储器控制电路被配置以仿真电可擦可编程只读存储器EEPROM系统以响应于从外部电路接收的读请求和写请求。
12.一种用于操作非易失性存储器NVM系统的方法,包括:
对称地将数据写入到多个数据子系统内的NVM单元,每个数据子系统包括多个NVM单元并且被配置以将多个数据记录存储在所述多个NVM单元内;以及
从多个数据子系统的选定的一个内的NVM单元读取数据。
13.根据权利要求12所述的方法,其中对称写入步骤包括执行写操作,所述写操作被配置以保持所述多个数据子系统内的相同数据位置以形成多个复制数据子系统。
14.根据权利要求12所述的方法,其中所述多个数据子系统包括主数据子系统和至少一个复制数据子系统。
15.根据权利要求14所述的方法,还包括:如果从所述主数据子系统读取的数据没有被认为是无效的,则针对存储器读操作选择所述主数据子系统,以及如果从所述主数据子系统读取的数据被认为是无效的,则针对存储器读操作选择复制数据子系统。
16.根据权利要求15所述的方法,其中所述主数据子系统和所述至少一个复制数据子系统被配置为相同大小。
17.根据权利要求14所述的方法,还包括存储错误标识,所述错误标识对被识别为具有无效数据的所述主数据子系统内的数据记录进行识别。
18.根据权利要求17所述的方法,还包括当读操作请求被标示的数据记录中的数据的时候,访问所述至少一个复制数据子系统。
19.根据权利要求18所述的方法,还包括利用源自读操作的纠错码ECC位错误来将数据标识为无效。
20.根据权利要求18所述的方法,还包括分析数据记录的记录状态信息并且利用记录状态错误来将数据标识为无效。
21.根据权利要求18所述的方法,其中所述数据子系统还包括多个扇区,每个扇区具有多个数据记录,并且所述方法还包括分析扇区状态信息以及利用扇区状态错误来将数据标识为无效。
22.根据权利要求12所述的方法,还包括仿真电可擦可编程只读存储器EEPROM系统以响应于从外部电路接收的读请求和写请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/791,012 | 2013-03-08 | ||
US13/791,012 US20140258792A1 (en) | 2013-03-08 | 2013-03-08 | Symmetrical Data Replication For Failure Management In Non-Volatile Memory Systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104036823A true CN104036823A (zh) | 2014-09-10 |
Family
ID=51467562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410079549.4A Pending CN104036823A (zh) | 2013-03-08 | 2014-03-06 | 用于非易失性存储器系统中的失效管理的对称数据复制 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140258792A1 (zh) |
CN (1) | CN104036823A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528441A (zh) * | 2016-10-26 | 2017-03-22 | 珠海格力电器股份有限公司 | 仿真eeprom的数据处理方法、装置及电子设备 |
CN111352859A (zh) * | 2018-12-20 | 2020-06-30 | 美光科技公司 | 用于存储器子系统的不良块管理 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9563491B2 (en) * | 2014-09-12 | 2017-02-07 | Nxp Usa, Inc. | High voltage failure recovery for emulated electrically erasable (EEE) memory system |
US10868769B1 (en) | 2018-08-07 | 2020-12-15 | Innovium, Inc. | Read instruction queues in a network device |
US10742558B1 (en) | 2018-08-07 | 2020-08-11 | Innovium, Inc. | Traffic manager resource sharing |
US10846225B1 (en) * | 2018-08-07 | 2020-11-24 | Innovium, Inc. | Buffer read optimizations in a network device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079856A (ja) * | 2008-09-29 | 2010-04-08 | Hitachi Ltd | 記憶装置およびメモリ制御方法 |
CN102034537A (zh) * | 2009-09-25 | 2011-04-27 | 慧荣科技股份有限公司 | 数据存取装置及数据存取方法 |
JP2011150590A (ja) * | 2010-01-22 | 2011-08-04 | Hitachi Ltd | ソリッド・ステート・ドライブ装置およびミラー構成再構成方法 |
CN102156621A (zh) * | 2010-06-01 | 2011-08-17 | 钰创科技股份有限公司 | 实现raid-1的系统、实现raid-1的写入及读取/写入数据的方法 |
CN102800357A (zh) * | 2011-05-27 | 2012-11-28 | 群联电子股份有限公司 | 程序码载入与存取方法、存储器控制器与存储器储存装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002024071A (ja) * | 2000-07-07 | 2002-01-25 | Toshiba Corp | 情報処理装置、データバックアップ方法、データバックアッププログラムが記憶された記憶媒体 |
JP2002342164A (ja) * | 2001-05-22 | 2002-11-29 | Hitachi Ltd | 記憶装置及びデータ処理装置並びに記憶部制御方法 |
US6888785B2 (en) * | 2002-01-25 | 2005-05-03 | Sun Microsystems, Inc. | Fault tolerance mechanism for a storage device that stores data in stacks within an integral storage medium |
US7111137B2 (en) * | 2003-12-29 | 2006-09-19 | Sun Microsystems, Inc. | Data storage systems and processes, such as one-way data mirror using write mirroring |
US8751467B2 (en) * | 2007-01-18 | 2014-06-10 | Dot Hill Systems Corporation | Method and apparatus for quickly accessing backing store metadata |
-
2013
- 2013-03-08 US US13/791,012 patent/US20140258792A1/en not_active Abandoned
-
2014
- 2014-03-06 CN CN201410079549.4A patent/CN104036823A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079856A (ja) * | 2008-09-29 | 2010-04-08 | Hitachi Ltd | 記憶装置およびメモリ制御方法 |
CN102034537A (zh) * | 2009-09-25 | 2011-04-27 | 慧荣科技股份有限公司 | 数据存取装置及数据存取方法 |
JP2011150590A (ja) * | 2010-01-22 | 2011-08-04 | Hitachi Ltd | ソリッド・ステート・ドライブ装置およびミラー構成再構成方法 |
CN102156621A (zh) * | 2010-06-01 | 2011-08-17 | 钰创科技股份有限公司 | 实现raid-1的系统、实现raid-1的写入及读取/写入数据的方法 |
CN102800357A (zh) * | 2011-05-27 | 2012-11-28 | 群联电子股份有限公司 | 程序码载入与存取方法、存储器控制器与存储器储存装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528441A (zh) * | 2016-10-26 | 2017-03-22 | 珠海格力电器股份有限公司 | 仿真eeprom的数据处理方法、装置及电子设备 |
CN111352859A (zh) * | 2018-12-20 | 2020-06-30 | 美光科技公司 | 用于存储器子系统的不良块管理 |
US11749373B2 (en) | 2018-12-20 | 2023-09-05 | Micron Technology, Inc. | Bad block management for memory sub-systems |
Also Published As
Publication number | Publication date |
---|---|
US20140258792A1 (en) | 2014-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104036823A (zh) | 用于非易失性存储器系统中的失效管理的对称数据复制 | |
CN103403691B (zh) | 信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法 | |
KR101870521B1 (ko) | 스토리지 저널링을 개선하는 방법 및 시스템 | |
KR100877030B1 (ko) | 불휘발성 메모리 및 불휘발성 메모리의 데이터 재기록 방법 | |
JP4901987B1 (ja) | 記憶装置、電子機器及び誤りデータの訂正方法 | |
US20090265403A1 (en) | File system | |
US20140244897A1 (en) | Metadata Update Management In a Multi-Tiered Memory | |
KR20070003578A (ko) | 데이터 무결성의 검증을 지연시킨 파일 시스템 | |
CN110286853B (zh) | 一种数据写入方法和装置、计算机可读存储介质 | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
CN103914667B (zh) | 一种安全读写eeprom的方法及其系统 | |
CN108255414B (zh) | 固态硬盘访问方法及装置 | |
CN101216789A (zh) | 数据更新方法、装置及系统 | |
CN112631516B (zh) | 一种具有寿命管理的flash文件管理系统 | |
US20210081314A1 (en) | Unretiring memory device blocks | |
KR20170023734A (ko) | 플래시 메모리 플러싱을 개선하는 방법 및 시스템 | |
JP2008077221A (ja) | 車両用制御装置 | |
KR20130069364A (ko) | 비휘발성 반도체 기억 장치 및 그 관리 방법 | |
EP3029570B1 (en) | Bad track repairing method and apparatus | |
US20160034226A1 (en) | Data storage device, method of storing data, and on-vehicle control apparatus | |
US20120005403A1 (en) | Recovery scheme for an emulated memory system | |
JP2013171343A (ja) | ストレージデバイス | |
JP3675375B2 (ja) | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 | |
KR101676175B1 (ko) | 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법 | |
CN101470666B (zh) | 一种数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Texas in the United States Applicant after: NXP America Co Ltd Address before: Texas in the United States Applicant before: Fisical Semiconductor Inc. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140910 |