CN109254723B - 非易失性存储器中的存储器扇区注销的方法和系统 - Google Patents
非易失性存储器中的存储器扇区注销的方法和系统 Download PDFInfo
- Publication number
- CN109254723B CN109254723B CN201810763058.XA CN201810763058A CN109254723B CN 109254723 B CN109254723 B CN 109254723B CN 201810763058 A CN201810763058 A CN 201810763058A CN 109254723 B CN109254723 B CN 109254723B
- Authority
- CN
- China
- Prior art keywords
- sector
- predetermined number
- memory
- sectors
- recording
- 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
Images
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
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/1072—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 multilevel memories
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- 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/10—Programming or data input circuits
-
- 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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- 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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- 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/10—Programming or data input circuits
- G11C16/107—Programming all cells in an array, sector or block to the same state prior to flash erasing
-
- 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及非易失性存储器中的存储器扇区注销。非易失性存储器被布置成具有多个扇区。所述多个扇区中的每一个扇区包括多个记录位置。存储器控制器包括用于所述多个扇区中的每一个扇区的擦除计数器、失效扇区标签,和注销扇区标签。如果扇区的记录位置未能编程,那么选择所述扇区中的另一位置来编程。如果所述扇区的预定数量的所选记录位置未能编程,那么设定所述失效扇区标签。如果特定扇区被设定所述失效扇区标签两次且擦除计数大于预定擦除计数,那么对所述失效扇区设定所述注销扇区标签,表明所述扇区被永久注销使用。所述多个扇区中的新扇区成为用于记录编程操作的当前活跃扇区。用于注销扇区的方法在非易失性存储器的操作期间动态地进行。
Description
技术领域
本公开大体上涉及非易失性存储器,且更具体地说,涉及非易失性存储器中的扇区注销的方法和系统。
背景技术
电可擦除可编程只读存储器(electrically erasable programmable read onlymemory,EEPROM)仿真(EEE)系统是一种非易失性存储器,其使用非EEPROM型存储器提供字节和/或字组编程和擦除能力。举例来说,易失性随机存取存储器(random access memory,RAM)可连同快闪存储器一起使用以提供EEE系统。典型的快闪存储器单元使用存储器单元的阈值电压以确定存储的逻辑状态。在快闪存储器变成不可靠之前,快闪存储器单元具有有限数量的编程和擦除操作。大多数编程失败(failure-to-program,FTP)的出现是由于通常被称为中断和编程干扰的机制。
存储器阵列的某些区域可能比其它区域更弱,且由此将更快损耗。有时,失效存储器可以被复原,使得它再次起作用。无法被复原的失效存储器部分被注销或不再被使用,且从服务中被移出。如果损耗掉的非易失性存储器区域被注销,那么所述系统的使用寿命可以延长。然而,当编程和擦除循环次数较高时,由于FTP次数较多,存储器性能开始受损。因此,需要一种方法来提高非易失性存储器在其使用寿命结束时或接近其结束时的性能。
发明内容
根据本发明的第一方面,提供一种方法,包括:
配置非易失性存储器阵列以具有多个扇区,所述多个扇区中的每一个扇区具有多个记录位置;
为编程操作选择所述非易失性存储器的扇区的记录位置;
确定所述扇区的预定数量的所选编程操作记录位置未能编程,其中所选记录位置的所述预定数量少于所述扇区中的记录位置的总数;
为所述扇区设定失效扇区标签;
确定失效扇区的所述预定数量的所选记录位置两次未能在所述扇区中编程;
确定已超过了所述扇区的擦除操作的预定数量;以及
注销所述扇区。
在一个或多个实施例中,所述方法进一步包括:
响应于为所述扇区设定所述失效扇区标签,从所述扇区复制有效的数据到第二扇区;以及
标记所述扇区以进行擦除。
在一个或多个实施例中,所述方法进一步包括:
选择用于编程操作的第二扇区;
确定所述第二扇区的所述预定数量的所选编程操作记录位置未能在所述第二扇区中编程;
确定所述第二扇区的所述失效扇区标签被事先设定;
确定已超过了所述第二扇区的擦除操作的预定数量;
注销所述第二扇区;
为所述注销的第二扇区设定注销扇区标签;以及
选择用于编程操作的第三扇区。
在一个或多个实施例中,所述方法进一步包括从所述注销的第二扇区复制有效的数据到所述第三扇区。
在一个或多个实施例中,所述非易失性存储器是在电可擦除可编程只读存储器(EEPROM)仿真系统中。
在一个或多个实施例中,所述预定数量的所选记录位置被连续选择。
在一个或多个实施例中,擦除操作的所述预定数量约等于10,000,而所选记录位置的预定数量等于三。
在一个或多个实施例中,在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。
根据本发明的第二方面,提供一种用于操作具有多个扇区的非易失性存储器的方法,每一扇区具有多个记录位置,所述方法包括:
选择用于多个编程操作的所述多个扇区中的第一扇区;
为编程操作选择所述第一扇区的记录位置;
确定所述第一扇区的所述记录位置未能编程;
在所述记录位置未能进行所述编程之后,确定用于编程操作的所述第一扇区的预定数量的所选记录位置未能编程,其中所选记录位置的所述预定数量少于所述第一扇区中的记录位置的总数;
为所述第一扇区设定失效扇区标签;
确定所述第一扇区的所述失效扇区标签已被事先设定;
确定已超过了所述第一扇区的擦除操作的预定数量;
注销所述第一扇区;
为所述注销的第一扇区设定注销扇区标签;以及
选择用于编程操作的第二扇区。
在一个或多个实施例中,所述非易失性存储器是电可擦除可编程只读存储器(EEPROM)仿真系统的部分。
在一个或多个实施例中,所述预定数量的所选记录位置被连续选择。
在一个或多个实施例中,擦除操作的所述预定数量约等于10,000,而所选记录位置的所述预定数量等于三。
在一个或多个实施例中,所述方法进一步包括:
响应于为所述第一扇区设定所述失效扇区标签,从所述第一扇区复制有效的数据到所述第二扇区;以及
标记所述第一扇区以进行擦除。
在一个或多个实施例中,在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。
根据本发明的第三方面,提供一种数据处理系统,包括:
非易失性存储器阵列,其被布置成具有多个扇区,每一个扇区被布置成具有多个记录位置;以及
耦合到所述非易失性存储器阵列的存储器控制器,所述存储器控制器被布置成控制所述非易失性存储器阵列的存储器单元的编程、读取和擦除操作,所述存储器控制器包括:
失效扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储失效扇区标签,响应于扇区的预定数量的记录位置未能编程而对所述扇区设定所述失效扇区标签;
擦除计数存储器,其被配置成存储所述多个扇区中的每一个扇区的擦除操作数量的擦除计数;以及
注销扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储注销扇区标签,响应于扇区的所选记录位置两次未能按预定次数编程且所述扇区的所述擦除计数超过预定擦除计数而对所述扇区设定所述注销扇区标签。
在一个或多个实施例中,所述非易失性存储器是电可擦除可编程只读存储器(EEPROM)仿真系统的部分。
在一个或多个实施例中,所述数据处理系统进一步包括:
耦合到所述非易失性存储器阵列的系统互连件;以及
耦合到所述系统互连件的处理器,所述处理器用于处理从所述非易失性存储器阵列检索到的记录。
在一个或多个实施例中,所述失效扇区标签存储器、所述擦除计数存储器和所述注销扇区标签存储器是所述非易失性存储器阵列中的存储位置。
在一个或多个实施例中,所述存储器控制器被布置成确定所述多个扇区中的哪一扇区被激活用于编程操作。
在一个或多个实施例中,所述数据处理系统进一步包括耦合到所述存储器控制器的易失性存储器。
本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。
附图说明
本发明借助于例子示出且不受附图的限制,在附图中类似标记指示类似元件。为简单和清晰起见,示出图中的元件,并且这些元件未必按比例绘制。
图1示出根据实施例的数据处理系统的框图。
图2更详细地示出图1的非易失性存储器阵列。
图3示出根据实施例的用于标识注销扇区的方法的流程图。
具体实施方式
一般而言,提供具有多个扇区和控制电路的非易失性存储器。所述多个扇区中的每一个扇区包括多个记录位置。控制电路包括擦除计数器、失效扇区标签和注销扇区标签。活跃扇区的记录位置可能因为例如中断或编程干扰而编程失败(FTP)。如果记录位置未能编程,那么扇区中的另一位置被选择编程。如果预定数量的所选记录位置未能编程,那么设定所述失效扇区标签。所选记录位置的预定数量可以被连续选择。如果特定扇区被第二次设定所述失效扇区标签且擦除计数器具有预定擦除计数,那么设定注销扇区标签,表明所述扇区被永久注销使用。所述多个扇区中的新扇区成为用于记录编程操作的当前活跃扇区。用于注销扇区的方法在所述数据处理系统的操作期间动态地进行。提供失效扇区标签以指示潜在地失效的扇区可以在存储器的完整寿命期间提供高存储器性能,且通过提供适当严格的用于识别注销扇区的标准来减小存储器的测试时间。
在一个实施例中,提供一种方法,其包括:配置非易失性存储器阵列以具有多个扇区,所述多个扇区中的每一个扇区具有多个记录位置;为编程操作选择所述非易失性存储器的扇区的记录位置;确定所述扇区的预定数量的所选编程操作记录位置未能编程,其中所选记录位置的所述预定数量少于所述扇区中的记录位置的总数;为所述扇区设定失效扇区标签;确定失效扇区的所述预定数量的所选记录位置两次未能在所述扇区中编程;确定已超过了所述扇区的擦除操作的预定数量;以及注销所述扇区。所述方法可进一步包括:响应于为所述扇区设定所述失效扇区标签,从所述扇区复制有效的数据到第二扇区;以及标记所述扇区以进行擦除。所述方法可进一步包括:选择用于编程操作的第二扇区;确定所述第二扇区的所述预定数量的所选编程操作记录位置未能在所述第二扇区中编程;确定所述第二扇区的所述失效扇区标签被事先设定;确定已超过了所述第二扇区的擦除操作的预定数量;注销所述第二扇区;为所述注销的第二扇区设定注销扇区标签;以及选择用于编程操作的第三扇区。所述方法可进一步包括从所述注销的第二扇区复制有效的数据到所述第三扇区。非易失性存储器可以在电可擦除可编程只读存储器(electrically erasableprogrammable read only memory,EEPROM)仿真系统中。所选记录位置的预定数量可以被连续选择。擦除操作的预定数量约等于10,000,而所选记录位置的预定数量等于三。在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。
在另一实施例中,提供一种用于操作具有多个扇区的非易失性存储器的方法,每一扇区具有多个记录位置,所述方法包括:选择用于多个编程操作的所述多个扇区中的第一扇区;为编程操作选择所述第一扇区的记录位置;在所述记录位置未能进行所述编程之后,确定用于编程操作的所述第一扇区的预定数量的所选记录位置未能编程,其中所选记录位置的所述预定数量少于所述第一扇区中的记录位置的总数;为所述第一扇区设定失效扇区标签;确定所述第一扇区的所述失效扇区标签已被事先设定;确定已超过了所述第一扇区的擦除操作的预定数量;注销所述第一扇区;为所述注销的第一扇区设定注销扇区标签;以及选择用于编程操作的第二扇区。非易失性存储器可以是电可擦除可编程只读存储器(EEPROM)仿真系统的部分。所选记录位置的预定数量可以被连续选择。擦除操作的预定数量约等于10,000,而所选记录位置的预定数量等于三。所述方法可进一步包括:响应于为所述第一扇区设定所述失效扇区标签,从所述第一扇区复制有效的数据到所述第二扇区;以及标记所述第一扇区以进行擦除。在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。
在又一实施例中,提供一种数据处理系统,其包括:非易失性存储器阵列,其被布置成具有多个扇区,每一个扇区被布置成具有多个记录位置;以及耦合到所述非易失性存储器阵列的存储器控制器,所述存储器控制器被布置成控制所述非易失性存储器阵列的存储器单元的编程、读取和擦除操作,所述存储器控制器包括:失效扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储失效扇区标签,响应于扇区的预定数量的记录位置未能编程而对所述扇区设定所述失效扇区标签;擦除计数存储器,其被配置成存储所述多个扇区中的每一个扇区的擦除操作数量的擦除计数;以及注销扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储注销扇区标签,响应于扇区的所选记录位置两次未能按预定次数编程且所述扇区的所述擦除计数超过预定擦除计数而对所述扇区设定所述注销扇区标签。非易失性存储器可以是电可擦除可编程只读存储器(EEPROM)仿真系统的部分。所述数据处理系统可进一步包括:耦合到所述非易失性存储器阵列的系统互连件;以及耦合到所述系统互连件的处理器,所述处理器用于处理从所述非易失性存储器阵列检索到的记录。失效扇区标签存储器擦除计数存储器和注销扇区标签存储器可以是非易失性存储器阵列中的存储位置。存储器控制器可被布置成确定所述多个扇区中的哪一扇区被激活用于编程操作。数据处理系统可进一步包括耦合到存储器控制器的易失性存储器。
图1示出根据实施例的数据处理系统10的框图。数据处理系统10包括系统互连件12、处理器14、电可擦除可编程只读存储器(EEPROM)仿真(EEE)系统16和其它模块18。处理器14、EEE存储器系统16、其它模块18中的每一个双向耦合到系统互连件12。系统互连件12可以是任何类型的用于互连数据处理系统10的各种部分的系统,例如系统总线、纵横接线器、点到点连接、光学和无线传输技术。EEE存储器系统16包括随机存取存储器(RAM)20、存储器控制器22和非易失性存储器(non-volatile memory,NVM)阵列30。NVM阵列30可以是闪存阵列或任何使用半导体基板形成的其它类型的NVM阵列。存储器控制器22包括扇区管理逻辑24。扇区管理逻辑24包括用于失效扇区标签26、擦除计数27和注销扇区标签28的存储器。在一个实施例中,失效扇区标签26、擦除计数27和注销扇区标签28被存储在定位于扇区管理逻辑24中的寄存器中。在另一实施例中,失效扇区标签26、擦除计数27和注销扇区标签28被存储在NVM阵列30中或数据处理系统10的另一存储器中。复位信号被提供到处理器14和存储器控制器22。这个复位信号可以是例如用于数据处理系统10的全局复位信号。
RAM 20可以是易失性存储器,例如静态随机存取存储器(static random accessmemory,SRAM)或动态随机存取存储器(dynamic random access memory,DRAM)。RAM 20双向耦合到系统互连件12和存储器控制器22。存储器控制器22耦合到系统互连件12和NVM阵列30。扇区管理逻辑24耦合到NVM阵列30。存储器控制器22被配置成通过包括地址信号ADDRESS、编程数据信号WRITE DATA、读取数据信号READ DATA和NVM控制信号NVM CONTROL的信号与NVM阵列30通信。
处理器14可以是任何类型的处理器或处理器核心,例如微处理器、微控制器数字信号处理器(digital signal processor,DSP)和其类似者,或可以是任何可访问EEE系统16的其它类型的互连件主控器。其它模块18可包括任何类型的模块或电路,例如另一存储器、另一处理器、另一互连件主控器、外围装置、输入/输出(input/output,I/O)装置和其类似者。替代地,数据处理系统10中可能不存在任何其它模块。
在操作中,处理器14可发送访问请求(读取、写入或编程访问请求)到EEE存储器系统16。来自处理器14的访问请求被提供到RAM 20,所述访问请求包括访问地址,并且在写入或编程访问的情况下,包括相关联的写入数据。在读取访问的情况下,RAM 20将存储在接收到的访问地址位置处的数据提供到处理器14。在写入访问的情况下,RAM 20将接收到的写入数据存储在接收到的访问地址位置处。进一步在写入访问的情况下,存储器控制器16可检测到RAM 20的这种更新,并且选择性地以逻辑上的顺序方式将接收到的访问地址和相关联的写入数据存储到NVM阵列30的活跃扇区。举例来说,在对RAM 20更新(写入)的情况下,接收到的访问地址和相关联的写入数据被用于形成编程在NVM阵列30的下一个可获得的记录或数据位置处的记录。这个随后可获得的记录位置在逻辑上与在紧接在前的NVM阵列30的加载期间加载的记录位置成顺序。在一个例子中,对应于RAM更新的记录写入仅在目前存储在RAM位置处的值不同于与用于那一RAM 20位置的写入访问请求相关联的新写入值时被执行(或存储在NVM阵列30中)。以此方式,NVM阵列30可以更永久性的方式存储RAM 20的更新值。也就是说,当RAM 20断电时,它的数据丢失。一旦恢复供电,则RAM 20的值可以从NVM阵列30复原(例如,读取),所述NVM阵列30在断电后不会丢失其数据。在一个实施例中,NVM阵列30比RAM 20具有更多存储容量。举例来说,NVM阵列30可具有至少比RAM 20大四倍的容量,且通常比该值大得多。
图2更详细地示出图1的NVM阵列30的实施例。非易失性存储器阵列30被布置成多个扇区,其表示为扇区32、34和36。扇区32、34和36中的每一个扇区被布置成在图2中通过扇区32中的记录位置40、42、44、46、48、50、52、54和56展现的多个记录位置。
在操作变得不可靠之前,非易失性存储器阵列30具有有限数量的编程/擦除循环。一种增加NVM阵列30的使用寿命的方法是包括配置成若干扇区的较大存储器阵列,其中每一扇区的容量对应RAM 20容量。存储器控制器22控制哪一扇区被激活用于编程操作。一次只有一个扇区可以是活跃的。擦除计数器和擦除计数存储器27保存每一扇区的擦除操作的数量的记录。一般来说,使用与校验操作交错的数个编程脉冲的常规编程过程来编程记录以及记录位置。在一个实施例中,可以用加密/解密密钥来编程记录。随着编程和擦除操作的数量增加,编程操作失效的概率增加。响应于活跃扇区的预定数量的记录位置未能编程,设定存储器26中的失效扇区标签。在一个实施例中,失效编程位置的预定数量被连续选择。在存储器26中存在对应于NVM 30的每一扇区的失效扇区标签。在一个实施例中,响应于扇区的所选连续记录位置两次未能按预定次数编程且扇区的擦除计数超过预定擦除计数而设定存储器28中的注销扇区标签。存储器28中对于NVM 30中的每一扇区存在注销扇区标签。应注意,确定扇区失效两次可以发生在不同连续记录位置。失效不一定发生在相同组连续记录位置上。连续记录位置是在时间上连续访问且在相同扇区中的记录位置。
触发存储器26中的失效扇区标签的失效记录位置的预定数量(PN1)可通过本说明书或对于一个EEE写入和后矽特性的需求确定。举例来说,如果后矽特性确定四个FTP导致EEE写入不合规格或耗费过多时间,那么PN1可以被选择为三。并且,在存储器的完整使用寿命期间可以从NVM扇区预期的擦除操作的预定数量(PN2)可以通过进行后矽特性来确定。举例来说,如果确定在设定失效扇区标签之前可预期10,000次擦除循环,那么PN2可以被设定成10,000。
一个用于做出是否注销扇区的动态确定的实施方案可以包括使用两个决策信号作为借助固件或软件逻辑比较PN1和PN2的结果,其中
和
用于每一扇区的失效扇区标签和注销扇区标签可以被存储在专用NVM空间中或一些其它可获得的非易失性存储器位置中。
图3示出根据实施例的方法60的流程图。方法60是一种用于识别失效扇区和响应于检测到失效记录位置注销扇区的方法。方法60开始于步骤62。在步骤64,准备在NVM阵列30的目前活跃扇区中编程记录。编程初始化包括对准备用于编程的数据的命令项检验和地址/数据检验。在步骤66,尝试在目前活跃扇区中编程记录。在决策步骤68,确定记录是否未能编程。如果被编程位通过编程校验步骤且应保持被擦除的位通过擦除裕量读取步骤,那么编程成功。如果记录在活跃扇区中成功地编程,那么采用否(NO)路径到步骤70。在步骤70,编程完成。如果在决策步骤68处记录未能编程,那么采用是(YES)路径到决策步骤72。在决策步骤72处,确定连续编程失败(FTP)记录位置的数量是否大于预定数量PN1。预定数量PN1小于扇区中的记录位置的数量,且通常少得多。在一个实施例中,PN1等于三。在另一实施例中,PN1可以不同。如果FTP数量小于或等于PN1,那么采用否路径到步骤74。在步骤74,事先未能编程的记录准备被编程于下一个记录位置中。在决策步骤76处,确定当前活跃扇区是否已满。如果当前活跃扇区已满,那么采用是路径到步骤78,其中选择新活跃扇区且方法60在步骤64处继续。如果当前活跃扇区不满,那么采用否路径回到步骤66,其中方法60如前所述继续。然而,如果在决策步骤72确定FTP数量大于PN1,那么采用是路径到决策步骤80。在决策步骤80处,确定存储在存储位置26中的失效扇区标签是否已经被事先设定。如果活跃扇区尚未被设定失效扇区标签,那么采用否路径到步骤82,其中当前活跃扇区被设定失效扇区标签。在步骤84,选择新活跃扇区。在步骤86,有效的数据(若存在)从在步骤82标记为失效的扇区被复制到新活跃扇区,且失效的扇区被标记以进行擦除。在失效扇区被擦除之后,失效扇区变成设定失效扇区标签的就绪扇区。方法60继续回到步骤64,其中响应于将新记录编程到活跃扇区的需要而重复所述步骤。如果在决策步骤80处失效扇区标签已经被事先设定,其表明这是相同扇区第二次未能编程,那么采用是路径到决策步骤88。在决策步骤88处,确定存储在擦除计数存储器27中的擦除计数是否大于擦除的预定数量PN2。擦除的预定数量PN2是在失效之前NVM 30所预期完成的擦除数量。数量PN2可通过实验或一些其它手段确定。在一个实施例中,数量PN2约等于10,000。如果擦除计数小于或等于PN2,那么采用否路径回到步骤86。如果擦除计数大于PN2,那么扇区接近或已到达其预期的寿命,且将被注销。从决策步骤88采用是路径到步骤90。在步骤90,对于待被注销的失效扇区,设定存储位置28中的注销扇区标签。在步骤92,选择新活跃扇区。在步骤94,有效的数据(若存在)从注销扇区被复制到新活跃扇区。方法60随后返回到步骤64。应注意在方法60中,在失效扇区标签被设定之后,且在扇区被注销之前,所述扇区被允许再失效一次。在另一实施例中,在注销之前,扇区可以失效超过两次。
在数据处理系统10的操作期间动态地执行用于注销扇区的方法60。结合擦除数量基于连续FTP的预定数量提供失效标签以指示潜在地失效的扇区在存储器的完整寿命期间提供高存储器性能,且通过提供适当严格的标准以识别用于注销的扇区来减小存储器的测试时间。
由于实施本发明的设备大部分由本领域的技术人员已知的电子组件和电路组成,因此为了理解和了解本发明的基本概念并且为了不混淆或偏离本发明的教示,将不会以比上文所示出的认为必要的任何更大程度阐述电路细节。
虽然本文中参考具体实施例描述了本发明,但是可以在不脱离如所附权利要求书中所阐述的本发明的范围的情况下进行各种修改和改变。相应地,本说明书和图式应以说明性而非限制性意义看待,并且全部此类变体意图被包括于本发明的范围内。本文中对于具体实施例描述的任何优势、优点或问题解决方案并不意图被理解为任何或全部权利要求的重要的、需要的或基本特征或元素。一般来说,在上述实施例的金属-氧化物半导体(metal-oxide semiconductor,MOS)晶体管中,源极或漏极可被称为电流电极,而栅极可被称为控制电极。其它实施例中可以使用其它晶体管类型。
如本文中所使用,术语“耦合”并不旨在局限于直接耦合或机械耦合。
此外,如本文中所使用,术语“一”被限定为一个或超过一个。而且,权利要求书中例如“至少一个”和“一个或多个”等介绍性短语的使用不应被解释为暗示由不定冠词“一”导入的另一权利要求要素将含有此导入的权利要求要素的任何特定权利要求限于仅含有一个此要素的发明,甚至是在同一权利要求包括介绍性短语“一个或多个”或“至少一个”和例如“一”等不定冠词时。上述同样适用于定冠词的使用。
除非另外说明,否则例如“第一”和“第二”等术语用于任意地区别这些术语所描述的元件。因此,这些术语未必意图指示此些元件的时间上的优先级或其它优先级。
Claims (10)
1.一种非易失性存储器中的存储器扇区注销的方法,其特征在于,包括:
配置非易失性存储器阵列以具有多个扇区,所述多个扇区中的每一个扇区具有多个记录位置;
为编程操作选择所述非易失性存储器的扇区的记录位置;
确定所述扇区的预定数量的所选编程操作记录位置未能编程,其中所选记录位置的所述预定数量少于所述扇区中的记录位置的总数;
为所述扇区设定失效扇区标签;
确定失效扇区的所述预定数量的所选记录位置两次未能在所述扇区中编程;
确定已超过了所述扇区的擦除操作的预定数量;以及
注销所述扇区。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
响应于为所述扇区设定所述失效扇区标签,从所述扇区复制有效的数据到第二扇区;以及
标记所述扇区以进行擦除。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
选择用于编程操作的第二扇区;
确定所述第二扇区的所述预定数量的所选编程操作记录位置未能在所述第二扇区中编程;
确定所述第二扇区的所述失效扇区标签被事先设定;
确定已超过了所述第二扇区的擦除操作的预定数量;
注销所述第二扇区;
为所述注销的第二扇区设定注销扇区标签;以及
选择用于编程操作的第三扇区。
4.根据权利要求3所述的方法,其特征在于,进一步包括从所述注销的第二扇区复制有效的数据到所述第三扇区。
5.根据权利要求1所述的方法,其特征在于,其中所述非易失性存储器是在电可擦除可编程只读存储器(EEPROM)仿真系统中。
6.根据权利要求1所述的方法,其特征在于,所述预定数量的所选记录位置被连续选择。
7.根据权利要求1所述的方法,其特征在于,擦除操作的所述预定数量约等于10,000,而所选记录位置的预定数量等于三。
8.根据权利要求1所述的方法,其特征在于,在任何一个时间,所述多个扇区中仅有一个扇区被激活用于编程操作。
9.一种用于操作具有多个扇区的非易失性存储器的方法,每一扇区具有多个记录位置,其特征在于,所述方法包括:
选择用于多个编程操作的所述多个扇区中的第一扇区;
为编程操作选择所述第一扇区的记录位置;
确定所述第一扇区的所述记录位置未能编程;
在所述记录位置未能进行所述编程之后,确定用于编程操作的所述第一扇区的预定数量的所选记录位置未能编程,其中所选记录位置的所述预定数量少于所述第一扇区中的记录位置的总数;
为所述第一扇区设定失效扇区标签;
确定所述第一扇区的所述失效扇区标签已被事先设定;
确定已超过了所述第一扇区的擦除操作的预定数量;
注销所述第一扇区;
为所述注销的第一扇区设定注销扇区标签;以及
选择用于编程操作的第二扇区。
10.一种数据处理系统,其特征在于,包括:
非易失性存储器阵列,其被布置成具有多个扇区,每一个扇区被布置成具有多个记录位置;以及
耦合到所述非易失性存储器阵列的存储器控制器,所述存储器控制器被布置成控制所述非易失性存储器阵列的存储器单元的编程、读取和擦除操作,所述存储器控制器包括:
失效扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储失效扇区标签,响应于扇区的预定数量的记录位置未能编程而对所述扇区设定所述失效扇区标签;
擦除计数存储器,其被配置成存储所述多个扇区中的每一个扇区的擦除操作数量的擦除计数;以及
注销扇区标签存储器,其被配置成为所述多个扇区中的每一个扇区存储注销扇区标签,响应于扇区的所选记录位置两次未能按预定次数编程且所述扇区的所述擦除计数超过预定擦除计数而对所述扇区设定所述注销扇区标签。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/647,353 | 2017-07-12 | ||
US15/647,353 US9996458B1 (en) | 2017-07-12 | 2017-07-12 | Memory sector retirement in a non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254723A CN109254723A (zh) | 2019-01-22 |
CN109254723B true CN109254723B (zh) | 2023-06-02 |
Family
ID=61972402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810763058.XA Active CN109254723B (zh) | 2017-07-12 | 2018-07-12 | 非易失性存储器中的存储器扇区注销的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9996458B1 (zh) |
EP (1) | EP3428921A1 (zh) |
CN (1) | CN109254723B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628076B1 (en) * | 2018-10-01 | 2020-04-21 | Micron Technology, Inc. | Data erasure in memory sub-systems |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1745433A (zh) * | 2002-12-09 | 2006-03-08 | 桑迪士克股份有限公司 | 对非易失性存储器中缺陷的区界调整 |
CN101308703A (zh) * | 2007-05-17 | 2008-11-19 | 旺宏电子股份有限公司 | 非易失性存储器阵列字线重试擦除及阈值电压恢复的方法 |
CN101552037A (zh) * | 2009-02-11 | 2009-10-07 | 北京芯技佳易微电子科技有限公司 | 一种非易失存储器的擦除方法及装置 |
CN102930899A (zh) * | 2009-02-11 | 2013-02-13 | 北京兆易创新科技有限公司 | 一种非易失存储器的擦除方法及装置 |
CN104008020A (zh) * | 2013-02-25 | 2014-08-27 | 飞思卡尔半导体公司 | 用于追踪死扇区以自动搜索和誊写的鲁棒扇区id方案 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750042B2 (en) * | 2011-07-28 | 2014-06-10 | Sandisk Technologies Inc. | Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures |
US20130346680A1 (en) * | 2012-06-22 | 2013-12-26 | Ross S. Scouller | Emulated electrically erasable memory having an address ram for data stored in flash memory |
US8886991B2 (en) | 2012-10-26 | 2014-11-11 | Lsi Corporation | Sector failure prediction method and related system |
US9563491B2 (en) * | 2014-09-12 | 2017-02-07 | Nxp Usa, Inc. | High voltage failure recovery for emulated electrically erasable (EEE) memory system |
-
2017
- 2017-07-12 US US15/647,353 patent/US9996458B1/en active Active
-
2018
- 2018-04-12 EP EP18167126.4A patent/EP3428921A1/en not_active Withdrawn
- 2018-07-12 CN CN201810763058.XA patent/CN109254723B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1745433A (zh) * | 2002-12-09 | 2006-03-08 | 桑迪士克股份有限公司 | 对非易失性存储器中缺陷的区界调整 |
CN101308703A (zh) * | 2007-05-17 | 2008-11-19 | 旺宏电子股份有限公司 | 非易失性存储器阵列字线重试擦除及阈值电压恢复的方法 |
CN101552037A (zh) * | 2009-02-11 | 2009-10-07 | 北京芯技佳易微电子科技有限公司 | 一种非易失存储器的擦除方法及装置 |
CN102930899A (zh) * | 2009-02-11 | 2013-02-13 | 北京兆易创新科技有限公司 | 一种非易失存储器的擦除方法及装置 |
CN104008020A (zh) * | 2013-02-25 | 2014-08-27 | 飞思卡尔半导体公司 | 用于追踪死扇区以自动搜索和誊写的鲁棒扇区id方案 |
Also Published As
Publication number | Publication date |
---|---|
US9996458B1 (en) | 2018-06-12 |
EP3428921A1 (en) | 2019-01-16 |
CN109254723A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10109357B2 (en) | Memory refresh methods and apparatuses | |
US9070449B2 (en) | Defective block management | |
JP5443612B2 (ja) | エラーを管理するための書き込み後読み出しおよび適応再書き込みを伴う不揮発性メモリおよび方法 | |
CN101496109B (zh) | 具有多块擦除模式的非易失性存储器及其方法 | |
US7466600B2 (en) | System and method for initiating a bad block disable process in a non-volatile memory | |
US20140136884A1 (en) | Read disturb handling for non-volatile solid state media | |
US11782633B2 (en) | Memory device and method for monitoring the performances of a memory device | |
KR20100011751A (ko) | 테스트 시스템 및 방법 | |
US9053011B2 (en) | Selective protection of lower page data during upper page write | |
US11315650B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN109254723B (zh) | 非易失性存储器中的存储器扇区注销的方法和系统 | |
KR102119179B1 (ko) | 반도체 장치 및 그 동작 방법 | |
JP2007122640A (ja) | 記憶装置 | |
US11869604B2 (en) | Method for checking the erasing phase of a memory device | |
US11500771B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11550494B2 (en) | Method to support high reliability multiple times program non-volatile configuration setting | |
US11087858B1 (en) | In-place refresh operation in flash memory | |
KR20220130409A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN114201110A (zh) | 存储器系统及其操作方法 | |
JP2006185290A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
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 |