CN104380262A - 坏块管理机制 - Google Patents

坏块管理机制 Download PDF

Info

Publication number
CN104380262A
CN104380262A CN201380027884.3A CN201380027884A CN104380262A CN 104380262 A CN104380262 A CN 104380262A CN 201380027884 A CN201380027884 A CN 201380027884A CN 104380262 A CN104380262 A CN 104380262A
Authority
CN
China
Prior art keywords
block
bad
bad block
replace
nvram
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
Application number
CN201380027884.3A
Other languages
English (en)
Inventor
R.K.拉马努简
G.J.欣顿
D.J.齐默曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104380262A publication Critical patent/CN104380262A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/886Masking faults in memories by using spares or by reconfiguring with partially good memories combining plural defective memory devices to provide a contiguous address range, e.g. one device supplies working blocks to replace defective blocks in another device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种系统包括非易失性随机存取存储器(NVRAM)设备和控制器逻辑,控制器逻辑检测设备中的坏块、引退坏块并通过向替换块指派坏块的地址来用替换块替换坏块。

Description

坏块管理机制
技术领域
概括地说,本公开内容涉及电子领域。更具体地说,本发明的一些实施例总地涉及用于面向块的非易失性存储器的坏块管理。
背景技术
随着处理器的处理能力的增强,人们的一个关注是存储器可由处理器访问的速度。例如,为了处理数据,处理器可能需要首先从存储器取回数据。在处理完成之后,结果可能需要存储在存储器中。因此,存储器速度会对总体系统性能具有直接的影响。
另一个重要考虑是功耗。例如,在依赖电池供电的移动计算设备中,降低功耗以便允许设备在移动的同时进行操作是非常重要的。功耗对于非移动计算设备来说也是很重要的,因为过大的功耗会增加成本(例如,归因于额外的功率使用而导致增加冷却要求等)、缩短组件寿命、限制设备可使用的位置等等。
硬盘驱动器提供了相对低成本的存储解决方案,并且用于大量计算设备以提供非易失性存储。然而,由于磁盘驱动器需要相对高速地转动其磁盘并相对于转动的磁盘移动磁盘头来读/写数据,因此当与闪存相比时,磁盘驱动器使用大量功率。所有这种物理运动产生热并增加功耗。为此,一些较高端移动设备正在向非易失性的闪存设备转移。然而,闪存具有许多缺点,包括:例如,用于改变比特状态所需要的相对大的电压电平,由于电荷泵斜升的要求而导致的写时间的延迟,一次必须擦除一个单元块等等。
相变存储器(PCM)是另一种类型的非易失性存储器,当与闪存设备相比时,其可以提供更高的性能和/或持久性。例如,PCM允许改变单个比特而不必首先擦除整个单元块,PCM结构可以更慢地降级,PCM数据状态可以保持相对更长的时间段,并且PCM更加可扩展。
附图说明
图1、图4和图5示出了可以用于实现本文中讨论的各个实施例的计算系统的实施例的框图。
图2根据一些实施例示出了可以用于在SMA和PCM地址之间进行转译的组件的框图。
图3是示出坏块管理的一个实施例的流程图。
具体实施方式
在下面的描述中,阐述了大量具体细节以便提供各个实施例的透彻理解。然而,可以在不使用这些具体细节的情况下实施本发明的各个实施例。在其它实例中,没有对公知的方法、过程、组件和电路进行详细描述,以免模糊本发明的具体实施例。另外,本发明的实施例的各个方面可以使用各种装置来执行,诸如集成半导体电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)、或者硬件和软件的某种组合。为了本公开内容的目的,对“逻辑”的提及应该意指硬件、软件、或者它们的某种组合。
一些实施例涉及对非易失性随机存取存储器(NVRAM)设备(例如相变存储器(PCM)PCM设备)的元数据的管理和/或支持。然而,本文中讨论的实施例并不局限于PCM,并且可应用于任何类型的位写入(write in place)非易失性存储器(例如,相变存储器(PCM)开关(PCMS))。因此,术语“PCMS”和“PCM”在本文中可以是可互换的。PCMS包括真交叉点阵中用新使用的双向阈值开关(OTS)分层的一个PCM元件。对PCMS的阵列进行分层或堆叠的能力提供了向更高存储器密度的可扩展性,同时保持PCM的性能特性。在其它实施例中,本文中公开的构思可以应用于其它非易失性存储器设备(例如,铁电晶体管随机存取存储器(FeTram)、纳米线等)。
PCM设备利用硫族化物玻璃的行为,以使得利用由将该材料在晶态和非晶态之间进行切换的电流的通过而产生的热量。在实施例中,PCM设备访问是通过地址间接寻址表(AIT)转译的。在一些实施例中,PCM的特定使用提升了使用由PCM提供的独特能力(例如其加载/存储能力)的存储解决方案的性能。例如,在混合存储设备中,PCM用于元数据存储,而相对便宜的NAND存储器用于数据存储。
另外,可以在各种计算系统(例如,包括智能电话、平板设备、便携式游戏控制台、超移动个人计算机(UMPC)等)中提供本文中讨论的存储器技术,例如结合图1-图5所讨论的技术。更具体地说,图1根据本发明的实施例示出了计算系统100的框图。系统100可以包括一个或多个处理器102-1至102-N(在本文中统称为“多个处理器102”或“处理器102”)。处理器102可以经由互连或总线104通信。每个处理器可以包括各种组件,为了清楚起见,仅参照处理器102-1对这些组件中的一些进行讨论。因此,其余处理器102-2至102-N中的每个处理器可以包括与参照处理器102-1所讨论的相同或相似的组件。
在实施例中,处理器102-1可以包括:一个或多个处理器内核106-1至106-M(在本文中被称为“内核106”,或者更加一般地称为“内核106”)、高速缓存108(在各个实施例中,其可以是共享高速缓存或专用高速缓存)、和/或路由器110。处理器内核106可以在单个集成电路(IC)芯片上实现。另外,芯片可以包括一个或多个共享和/或专用高速缓存(例如,高速缓存108)、总线或互连(例如,总线或互连112)、存储器控制器(例如,参照图4和图5所讨论的那些) 、或者其它组件。
在一个实施例中,路由器110可以用于在处理器102-1和/或系统100的各个组件之间进行通信。另外,处理器102-1可以包括一个以上的路由器110。另外,多个路由器110可以在通信中,以使数据能够在处理器102-1内部或外部的各个组件之间进行路由。
高速缓存108可以对由处理器102-1的一个或多个组件(例如内核106)使用的数据(例如,包括指令)进行存储。例如,高速缓存108可以对存储在存储器114中的数据进行本地缓存,以便由处理器102的组件更加快速地访问。如图1中所示,存储器114可以经由互连104与处理器102通信。在实施例中,高速缓存108(其可以是共享的)可以具有不同的等级,例如,高速缓存108可以是中间级高速缓存和/或末级高速缓存(LLC)。另外,内核106中的每一个内核可以包括1级(L1)高速缓存(116-1)(在本文中总称为“L1高速缓存116”)。处理器102-1的各个组件可以直接、通过总线(例如,总线112)和/或存储器控制器或集线器与高速缓存108通信。
如图1中所示,存储器114可以通过存储器控制器120耦接到系统100的其它组件。在一个实施例中,存储器114包括具有系统磁盘级存储(除了例如运行时数据)的被缓存子集的两级存储器(2LM)。存储器114包括第一级(可替代地在本文中被称为“近存储器”)和第二级(可替代地在本文中被称为“远存储器”),第一级包括例如由DRAM制成的较小较快的存储器,第二级包括较大并且较慢(相对于近存储器而言)的易失性存储器(例如,DRAM)或非易失性存储器存储(例如,闪存)。
在这样的实施例中,存储器114可以包括诸如一些实施例中的PCM存储器的非易失性存储器。虽然存储器控制器120示为耦接在互连102与存储器114之间,但存储器控制器120可以位于系统100中的其它位置处。例如,在一些实施例中,可以在处理器102中的一个处理器中提供存储器控制器120或其一些部分。另外,在一些实施例中,系统100可以包括用于以最优的方式向存储器114发出读或写请求的逻辑(例如,PCM控制器逻辑125)。
在一些实施例中,PCM可以作为存储器来寻址,但由于其设备特有的有限写持久性、读漂移等等的特性,PCM设备可能需要将软件生成的系统存储器地址(SMA)重新映射到非易失性存储器地址(NVMA)(在本文中也被称为PCM地址)。在实施例中使用地址间接寻址表(AIT)来经由控制器(例如,图1的逻辑125)实现这种重新映射。在一个实施例中,AIT中的每个条目包括与被重新映射的系统存储器地址相对应的NVM地址和元数据信息(例如,由软件提供)。AIT中存储的信息由逻辑125访问,以便提供对PCM设备的最优管理。
图2根据一些实施例示出了可以用于在SMA和PCM地址之间进行转译的组件200的框图。如所示的,与使用“0”元数据访问SMA2写入以及避免对NVM/PCM存储器204访问的对相同(SMA2)读取的重新映射相比较,示出了对访问具有元数据的NVM(SMA1)的重新映射。
在一个实施例中,NVM/PCM存储器204进一步划分成块和子块。在这样的实施例中,子块是读取和写入访问的访问粒度。在另外的实施例中,ECC(纠错码)保持在子块的级别,从而使得子块跨多个设备形成条带,其中,异或(XOR)值存储在另一个设备中。因此,每当读取子块时,都针对子块执行ECC校验。如果存在不可纠正的错误,那么XOR内容用于恢复。
在一个实施例中,元数据可由使用新指令集架构(ISA)的软件来提供或者可替换地从当前指令集架构推导出来。可以从CPU 102(在本文中也被可互换地称为“处理器”)向使用AIT 202对地址进行重新映射的PCM控制器逻辑125发送元数据信息。元数据可以向逻辑125提供关于NVM/PCM地址处的数据的一些语义,逻辑125可以用其做出关于设备管理的更优决策。
由于PCM具有相当高的故障率,因此在将NVM/PCM实现为两级存储器层次结构的存储器204的实现中存在问题。根据一个实施例,控制器逻辑25提供用于管理存储器204中的坏块的机制。在这样的实施例中,展示可恢复或者大量的存储器204子块是隔离的,从而使得故障块可以在其内容变得不可恢复之前被识别出来。
在一个实施例中,在块引退之前,将该块的内容复制到存储器204中的另一个块。随后,向替换块指派所引退的块的原始系统地址。因此,故障块向不同块的移动与闪速设备磨损级别的移动非常类似,不同点在于子块被引退并且无法重新使用。
根据一个实施例,控制器逻辑125包括自由块列表220,实现该自由块列表220以便选择替换块位置。自由块列表220保持一组自由PCM块,该组自由PCM块连续填充以便弥补由于磨损级别或坏块移动而引退的块。在一个实施例中,自由块是系统软件没有对其的访问权的额外的块。因此,系统软件所见的块的总数量将保持恒定。引退块被移动到坏块列表并且无法重新使用。
在另一个实施例中,由于过度使用而导致已经磨损的块的内容也可以移动到来自自由块列表220的新的PCM块。在一个实施例中,控制器逻辑25可以使用随机算法来选择新块进入该列表。然而,其它实施例可以使用多种不同方法中的一种方法。
图3是示出由用于执行坏块管理的控制器逻辑125实现的过程的一个实施例的流程图。在处理框310处,检测到坏块。根据一个实施例,可以使用各种策略来确定块是否变坏并且需要被引退。例如,如果ECC错误的数量超过了预先确定的阈值、检测到硬故障或者基于来自PCM的错误状况(例如,热统计值),那么可以认为块是坏的。在替代实施例中,在预先确定的次数的访问之后可以认为块是坏的。在这样的实施例中,控制器逻辑125跟踪对每个块的访问次数,并且当访问次数达到预先确定的阈值时,将具有对块的高访问计数的块与具有较低访问计数的块进行交换。这可以通过将高磨损块移动通过自由块列表220或者通过对高磨损块和低磨损块直接进行交换来实现。
在决策框320处,确定块所驻留在的PCM DIMM中的坏块的数量是否已经超过了预先确定的阈值。如果是,那么立即引退DIMM,处理框330。否则,从自由块列表220中选择替换块,处理框340。在处理框350处,将所引退的块的内容移动到替换块。
在处理框360处,对AIT 202进行更新以便将系统地址指向替换块地址。在处理框370处,替换块可用于被访问。上述机制通过利用地址间接寻址表使得能够对PCM存储器子系统中的块进行重新映射。
图4根据本发明的实施例示出了计算系统400的框图。计算系统400可以包括经由互连网络(或总线)404通信的一个或多个中央处理单元(CPU)402或处理器。处理器402可包括通用处理器、网络处理器(其对计算机网络403上传送的数据进行处理)、应用处理器(例如在移动电话、智能电话等中使用的那些)、或者其它类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。各种类型的计算机网络403可以使用,包括有线(例如,以太网、千兆网、光纤等)或无线网络(诸如蜂窝、3G(第三代移动电话技术或第三代无线格式(UWCC))、4G、低功耗的嵌入式(LPE)等)。此外,处理器602可以具有单核或多核设计。具有多核设计的处理器402可以将不同类型的处理器内核集成在同一个集成电路(IC)管芯上。此外,具有多核设计的处理器402可以实现为对称或非对称多处理器。
在实施例中,处理器402中的一个或多个处理器可以与图1的处理器102相同或相似。例如,处理器402中的一个或多个处理器可以包括内核106和/或高速缓存108中的一个或多个。另外,参照图1-图5所讨论的操作可以由系统400的一个或多个组件来执行。
芯片组406还可以与互连网络404通信。芯片组406可以包括图形和存储器控制中心(GMCH)408。GMCH 408可以包括与存储器114通信的存储器控制器410(其可以与实施例中的图1的存储器控制器120相同或相似,例如,包括逻辑125)。存储器114可以存储数据,其包括由CPU 402或计算系统400中包括的任何其它设备执行的指令序列。在本发明的一个实施例中,存储器114可以包括诸如以下的一个或多个易失性存储(或存储器)设备:随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的存储设备。非易失性存储器还可以被使用,诸如硬盘。诸如多个CPU和/或多个系统存储器的额外的设备可以经由互连网络604通信。
GMCH 408还可以包括与图形加速器416通信的图形接口414。在本发明的一个实施例中,图形接口414可以经由加速的图形端口(AGP)与图形加速器416通信。在本发明的实施例中,显示器417(诸如平板显示器、触摸屏等)可以通过例如信号转换器与图形接口414通信,该信号转换器将存储在存储设备(诸如视频存储器或系统存储器)中的图像的数字表示转译成由显示器解释和显示的显示信号。由显示设备产生的显示信号在由显示器417解释并随后在显示器417上进行显示之前可以通过各种控制设备。
集线器接口418可以允许GMCH 408和输入/输出控制中心(ICH)420进行通信。ICH 420可以提供到与计算系统400通信的I/O设备的接口。ICH 420可以通过诸如外围组件互连(PCI)桥、通用串行总线(USB)控制器或其它类型的外围桥或控制器的外围桥(或控制器)424与总线422通信。桥424可以提供CPU 402与外围设备之间的数据路径。可以使用其它类型的拓扑。另外,多个总线可以例如通过多个桥或控制器与ICH 620通信。另外,在本发明的各个实施例中,与ICH 420通信的其它外围设备可以包括:集成驱动电子设备(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))或其它设备。
总线422可以与音频设备426、一个或多个磁盘驱动器428、以及网络接口设备430(其例如经由有线或无线接口与计算机网络403通信)通信。如所示的,网络接口设备430可以耦接到天线431以便以无线的方式(例如,经由电气和电子工程师协会(IEEE)802.11接口(包括IEEE 802.1 la/b/g/n等)、蜂窝接口、3G、4G、LPE等)与网络403通信。其它设备可以经由总线422通信。另外,在本发明的一些实施例中,各个组件(例如网络接口设备430)可以与GMCH 408通信。此外,处理器402和GMCH 408可以组合形成单个芯片。另外,在本发明的其它实施例中,图形加速器416可以包括在GMCH 408中。
另外,计算系统400可以包括易失性和/或非易失性存储器(或存储)。例如,非易失性存储器可以包括下列各项中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动器(例如,628)、软盘、光盘ROM(CD-ROM)、数字多功能盘(DVD)、闪存、磁光盘、或者能够存储电子数据(例如包括指令)的其它类型的非易失性机器可读介质。
图5根据本发明的实施例示出了布置在点对点(PtP)配置中的计算系统500。具体而言,图5示出了其中由多个点对点接口互连的处理器、存储器和输入/输出设备的系统。参照图1-图6所讨论的操作可以由系统700的一个或多个组件来执行。
如图5所示,系统500可以包括若干处理器,其中,为了清楚起见仅示出了其中的两个处理器502和504。处理器502和704可以分别包括用于使能与存储器510和512进行通信的本地存储器控制器中心(MCH)506和508。存储器510和/或512可以存储各种数据,例如参照图1和/或图4的存储器114讨论的那些数据。另外,在一些实施例中,MCH 506和508可以包括图1的存储器控制器120和/或逻辑125。
在实施例中,处理器502和504可以是参照图4讨论的处理器402中的一个。处理器502和504可以经由点对点(PtP)接口514分别使用PtP接口电路516和518来交换数据。另外,处理器502和504可以使用点对点接口电路526、528、730和532经由个体的PtP接口522和524分别与芯片组520交换数据。芯片组520还可以例如使用PtP接口电路537经由高性能图形接口536与高性能图形电路534交换数据。如参照图4所讨论的,在一些实施例中,图形接口536可以耦接到显示设备(例如,显示器417)。
如图5中所示,图1的内核106和/或高速缓存108中的一个或多个可以位于处理器502和504中。然而,本发明的其它实施例可以存在于其它电路、逻辑单元、或图5的系统500中的设备中。另外,本发明的其它实施例可以贯穿若干个电路、逻辑单元或图5中示出的设备而分布。
芯片组520可以使用PtP接口电路541与总线540通信。总线540可以具有与其通信的一个或多个设备,诸如总线桥542和I/O设备543。经由总线544,总线桥543可以与诸如键盘/鼠标545、通信设备546(诸如调制解调器、网络接口设备或可以与计算机网络403通信的其它通信设备,例如如参照网络接口设备430讨论的,包括经由天线431与计算机网络403通信))、音频I/O设备和/或数据存储设备548的其它设备通信。数据存储设备548可以对可由处理器502和/或504执行的代码549进行存储。
在本发明的各个实施例中,本文中(例如,参照图1-图5)讨论的操作可以实现为硬件(例如,电路)、软件、固件、微代码或它们的组合,其可以提供为计算机程序产品,例如,包括其上存储有用于对计算机进行编程以执行本文所讨论的过程的指令(或软件程序)的有形(例如,非临时性)机器可读或计算机可读介质。另外,通过举例的方式,术语“逻辑”可以包括软件、硬件或硬件和软件的组合。机器可读介质可以包括诸如针对图1-图5所讨论的那些的存储设备。
另外,这样的有形计算机可读介质可以作为计算机程序产品下载,其中,程序可以经由通信链路(例如,总线、调制解调器或网络连接)通过数据信号(例如在载波或其它传播介质中)的方式从远程计算机(例如,服务器)传输到发出请求的计算机(例如,客户端)。
本说明书中提及的“一个实施例”或“实施例”意指结合可以包括在至少一种实现中的实施例描述的特定特征、结构或特性。在本说明书的各个地方出现短语“在一个实施例中”可以是或者可以不是全部指的是相同的实施例。
另外,在说明书和权利要求书中,可以使用术语“耦接”和“连接”以及它们的派生词。在本发明的一些实施例中,“连接”可以用于指示两个或更多元件彼此直接物理或电接触。“耦接”可以意指两个或更多元件直接物理或电接触。然而,“耦接”也可以意指两个或更多元件可以并不彼此直接接触,但仍可以协同操作或彼此交互。
因此虽然以特定于结构特征和/或方法动作的语言对本发明的实施例进行了描述,但应当理解的是:要求保护的主题可以并不受限于所描述的具体特征或动作。相反,公开具体的特征和动作作为实现要求保护的主题的示例形式。
一种装置包括具有开关的相变存储器(PCMS)控制器逻辑,其用于检测PCM设备中的坏块、引退坏块并通过向替换块指派坏块的地址来使用替换块替换坏块。控制器逻辑在引退坏块之前将被引退块的内容移动到替换块。

Claims (30)

1. 一种装置,其包括:
存储器控制器逻辑,其用于检测非易失性随机存取存储器(NVRAM)设备中的坏块、引退所述坏块并通过向替换块指派所述坏块的地址来使用所述替换块替换所述坏块。
2. 根据权利要求1所述的装置,其中,所述控制器逻辑在引退所述坏块之前将被引退块的内容移动到所述替换块。
3. 根据权利要求1所述的装置,还包括:用于存储信息以便在系统存储器地址和NVRAM地址之间进行转译的地址间接寻址表(AIT),其中,所述控制器逻辑使用所述AIT将所述坏块的地址重新映射到所述替换块。
4. 根据权利要求3所述的装置,还包括:包括可用于用作替换块的块的列表的自由块列表。
5. 根据权利要求4所述的装置,其中,所述控制器逻辑从所述自由块列表中选择所述替换块,并将所述坏块的地址重新映射到所述替换块。
6. 根据权利要求1所述的装置,其中,当检测到纠错码(ECC)错误的数量超过预先确定的阈值时,所述控制器逻辑检测到块是坏的。
7. 根据权利要求1所述的装置,其中,当在所述NVRAM设备处检测到硬故障时,所述控制器逻辑检测到块是坏的。
8. 根据权利要求1所述的装置,其中,当在所述NVRAM设备处检测到一个或多个错误状况时,所述控制器逻辑检测到块是坏块。
9. 根据权利要求1所述的装置,其中,所述控制器逻辑确定PCM设备中的坏块的数量是否超过了预先确定的阈值。
10. 根据权利要求8所述的装置,其中,当确定坏块的数量超过了预先确定的阈值时,所述NVRAM设备被引退。
11. 根据权利要求1所述的装置,其中,所述NVRAM设备是具有开关的相变存储器(PCMS)设备。
12. 一种方法,其包括:
检测非易失性随机存取存储器(NVRAM)中的坏块; 
选择替换块;
向所述替换块指派所述坏块的地址;以及
引退所述坏块。
13. 根据权利要求12所述的方法,还包括:在引退所述坏块之前将所述坏块的内容移动到所述替换块。
14. 根据权利要求12所述的方法,其中,向所述替换块指派所述坏块的地址包括:使用地址间接寻址表(AIT)将所述坏块的地址重新映射到所述替换块。
15. 根据权利要求12所述的方法,其中,所述替换块是从包括可用于用作替换块的块的列表的自由块列表中选择的。
16. 根据权利要求12所述的方法,其中,检测坏块包括:检测纠错码(ECC)错误的数量超过预先确定的阈值。
17. 根据权利要求12所述的方法,其中,检测坏块包括:当在所述NVRAM设备处检测到硬故障时,检测到块是坏的。
18. 根据权利要求12所述的方法,其中,检测坏块包括:在所述NVRAM设备处检测到一个或多个错误状况。
19. 根据权利要求12所述的方法,还包括:确定所述NVRAM设备中的坏块的数量是否超过了预先确定的阈值。
20. 根据权利要求19所述的方法,其中,当确定所述坏块的数量超过了所述预先确定的阈值时,所述NVRAM设备被引退。
21. 一种系统,其包括:
非易失性随机存取存储器(NVRAM)设备;以及
控制器逻辑,其用于检测所述NVRAM设备中的坏块、引退所述坏块并通过向替换块指派所述坏块的地址来使用所述替换块替换所述坏块。
22. 根据权利要求23所述的系统,其中,所述控制器逻辑在引退所述坏块之前将所述坏块的内容移动到所述替换块。
23. 根据权利要求22所述的系统,还包括:用于存储信息以便在系统存储器地址和NVRAM地址之间进行转译的地址间接寻址表(AIT),其中,所述控制器逻辑使用所述AIT将所述坏块的地址重新映射到所述替换块。
24. 根据权利要求23所述的系统,还包括:包括可用于用作替换块的块的列表的自由块列表。
25. 根据权利要求21所述的系统,其中,当检测到纠错码(ECC)错误的数量超过预先确定的阈值时,所述控制器逻辑检测到块是坏的。
26. 根据权利要求21所述的系统,其中,当在所述NVRAM设备处检测到硬故障时,所述控制器逻辑检测到块是坏的。
27. 根据权利要求21所述的系统,其中,当在所述NVRAM设备处检测到一个或多个错误状况时,所述控制器逻辑检测到块是坏块。
28. 根据权利要求21所述的系统,其中,所述控制器逻辑确定所述NVRAM设备中的坏块的数量是否超过了预先确定的阈值。
29. 根据权利要求28所述的系统,其中,当确定坏块的数量超过了所述预先确定的阈值时,所述NVRAM设备被引退。
30. 根据权利要求21所述的系统,其中,所述NVRAM设备是具有开关的相变存储器(PCMS)设备。
CN201380027884.3A 2012-06-29 2013-06-03 坏块管理机制 Pending CN104380262A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/537969 2012-06-29
US13/537,969 US9418700B2 (en) 2012-06-29 2012-06-29 Bad block management mechanism
PCT/US2013/043894 WO2014003982A1 (en) 2012-06-29 2013-06-03 Bad block management mechanism

Publications (1)

Publication Number Publication Date
CN104380262A true CN104380262A (zh) 2015-02-25

Family

ID=49779535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380027884.3A Pending CN104380262A (zh) 2012-06-29 2013-06-03 坏块管理机制

Country Status (7)

Country Link
US (1) US9418700B2 (zh)
KR (1) KR101696530B1 (zh)
CN (1) CN104380262A (zh)
BR (1) BR112014029798B1 (zh)
DE (1) DE112013003255B4 (zh)
GB (1) GB2518079B (zh)
WO (1) WO2014003982A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105355233A (zh) * 2015-11-23 2016-02-24 清华大学 基于pcm反转纠错算法的高效数据写入方法
CN106354652A (zh) * 2015-07-15 2017-01-25 上海华虹集成电路有限责任公司 非易失性存储器读写控制电路及方法
CN106486170A (zh) * 2016-09-06 2017-03-08 深圳忆数存储技术有限公司 固态硬盘的潜在坏块定位方法及装置
CN107408018A (zh) * 2015-03-27 2017-11-28 英特尔公司 用于在固态驱动器中适应垃圾收集资源分配的机制
CN107430886A (zh) * 2015-03-25 2017-12-01 英特尔公司 自存储和自恢复非易失性静态随机存取存储器
CN108182961A (zh) * 2018-01-12 2018-06-19 江苏华存电子科技有限公司 一种多通道存储系统的坏块处理方法
CN112464500A (zh) * 2020-12-24 2021-03-09 深圳市芯天下技术有限公司 备份cell替换电路验证方法、装置、存储介质和终端

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9431110B2 (en) * 2012-09-26 2016-08-30 Intel Corporation Column address decoding
CN104471956B (zh) * 2013-03-29 2019-07-19 松下电器(美国)知识产权公司 便携信息终端及其控制方法、以及信息提供方法
US10303324B2 (en) * 2014-02-10 2019-05-28 Samsung Electronics Co., Ltd. Electronic device configured to display three dimensional (3D) virtual space and method of controlling the electronic device
US9736288B1 (en) * 2014-06-26 2017-08-15 EMC IP Holding Company LLC Multilayer mobile app interface
US10332286B2 (en) * 2014-10-06 2019-06-25 Dexcom, Inc. System and method for data analytics and visualization
US9678827B2 (en) * 2014-10-07 2017-06-13 SK Hynix Inc. Access counts for performing data inspection operations in data storage device
KR20160042224A (ko) * 2014-10-07 2016-04-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9952801B2 (en) * 2015-06-26 2018-04-24 Intel Corporation Accelerated address indirection table lookup for wear-leveled non-volatile memory
US9766814B2 (en) * 2015-08-10 2017-09-19 Intel Corporation Method and apparatus for defect management in a non-volatile memory device
US10120751B2 (en) * 2015-09-25 2018-11-06 Intel Corporation Techniques to recover data using exclusive OR (XOR) parity information
US10614903B2 (en) * 2016-07-18 2020-04-07 International Business Machines Corporation Testing non-volatile memories
US10452468B2 (en) 2016-12-30 2019-10-22 Western Digital Technologies, Inc. Method and system for managing non-volatile memory
TWI687933B (zh) 2017-03-03 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及其區塊釋放方法
KR102395434B1 (ko) 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR20190073125A (ko) * 2017-12-18 2019-06-26 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11132247B2 (en) * 2018-07-30 2021-09-28 Micron Technology, Inc. Selective bad block untag and bad block reuse
TWI688953B (zh) * 2019-04-10 2020-03-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111831210B (zh) * 2019-04-18 2023-12-15 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
US11579772B2 (en) * 2020-11-25 2023-02-14 Micron Technology, Inc. Managing page retirement for non-volatile memory

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967504A (zh) * 2005-11-18 2007-05-23 凌阳科技股份有限公司 闪存的控制装置与方法
US20090063934A1 (en) * 2007-08-28 2009-03-05 Samsung Electronics Co., Ltd. Multi-channel memory system including error correction decoder architecture with efficient area utilization
US20090198906A1 (en) * 2008-02-01 2009-08-06 Armilli Ravi K Techniques for Multi-Level Indirect Data Prefetching
CN101673226A (zh) * 2008-06-30 2010-03-17 英特尔公司 Nand错误管理
US20110099324A1 (en) * 2009-10-28 2011-04-28 Phison Electronics Corp. Flash memory storage system and flash memory controller and data processing method thereof
US20120124304A1 (en) * 2009-03-04 2012-05-17 Micron Technology, Inc. Memory block management
WO2012075200A2 (en) * 2010-12-01 2012-06-07 Sandforce, Inc. Dynamic higher-level redundancy mode management with independent silicon elements

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092361B2 (en) 2005-07-15 2015-07-28 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile storage device, memory controller, and defective region detection method
US20090013148A1 (en) 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
JP2009110053A (ja) 2007-10-26 2009-05-21 Toshiba Corp メモリシステム
KR100982440B1 (ko) 2008-06-12 2010-09-15 (주)명정보기술 단일 플래시 메모리의 데이터 관리시스템
TWI381393B (zh) 2008-10-06 2013-01-01 Phison Electronics Corp 區塊管理與更換方法、快閃記憶體儲存系統及其控制器
US20100146239A1 (en) 2008-12-08 2010-06-10 Infinite Memories Ltd. Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
KR20120003283A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 데이터 저장 장치 및 그것의 배드 블록 관리 방법
US9727414B2 (en) * 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
US8612676B2 (en) 2010-12-22 2013-12-17 Intel Corporation Two-level system main memory
US9317429B2 (en) 2011-09-30 2016-04-19 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
WO2013048497A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy
WO2013048493A1 (en) 2011-09-30 2013-04-04 Intel Corporation Memory channel that supports near memory and far memory access
CN103946819B (zh) 2011-09-30 2017-05-17 英特尔公司 用于非易失性系统存储器的统计耗损均衡
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
WO2013066357A1 (en) 2011-11-04 2013-05-10 Intel Corporation Nonvolatile memory wear management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967504A (zh) * 2005-11-18 2007-05-23 凌阳科技股份有限公司 闪存的控制装置与方法
US20090063934A1 (en) * 2007-08-28 2009-03-05 Samsung Electronics Co., Ltd. Multi-channel memory system including error correction decoder architecture with efficient area utilization
US20090198906A1 (en) * 2008-02-01 2009-08-06 Armilli Ravi K Techniques for Multi-Level Indirect Data Prefetching
CN101673226A (zh) * 2008-06-30 2010-03-17 英特尔公司 Nand错误管理
US20120124304A1 (en) * 2009-03-04 2012-05-17 Micron Technology, Inc. Memory block management
US20110099324A1 (en) * 2009-10-28 2011-04-28 Phison Electronics Corp. Flash memory storage system and flash memory controller and data processing method thereof
WO2012075200A2 (en) * 2010-12-01 2012-06-07 Sandforce, Inc. Dynamic higher-level redundancy mode management with independent silicon elements

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430886A (zh) * 2015-03-25 2017-12-01 英特尔公司 自存储和自恢复非易失性静态随机存取存储器
CN107430886B (zh) * 2015-03-25 2021-11-19 英特尔公司 自存储和自恢复非易失性静态随机存取存储器
CN107408018A (zh) * 2015-03-27 2017-11-28 英特尔公司 用于在固态驱动器中适应垃圾收集资源分配的机制
CN107408018B (zh) * 2015-03-27 2021-01-19 英特尔公司 用于在固态驱动器中适应垃圾收集资源分配的机制
CN106354652A (zh) * 2015-07-15 2017-01-25 上海华虹集成电路有限责任公司 非易失性存储器读写控制电路及方法
CN105355233A (zh) * 2015-11-23 2016-02-24 清华大学 基于pcm反转纠错算法的高效数据写入方法
CN105355233B (zh) * 2015-11-23 2018-04-10 清华大学 基于pcm反转纠错算法的高效数据写入方法
CN106486170A (zh) * 2016-09-06 2017-03-08 深圳忆数存储技术有限公司 固态硬盘的潜在坏块定位方法及装置
CN106486170B (zh) * 2016-09-06 2019-11-26 深圳忆数存储技术有限公司 固态硬盘的潜在坏块定位方法及装置
CN108182961A (zh) * 2018-01-12 2018-06-19 江苏华存电子科技有限公司 一种多通道存储系统的坏块处理方法
CN112464500A (zh) * 2020-12-24 2021-03-09 深圳市芯天下技术有限公司 备份cell替换电路验证方法、装置、存储介质和终端

Also Published As

Publication number Publication date
DE112013003255T5 (de) 2015-05-13
KR101696530B1 (ko) 2017-01-13
US20140006848A1 (en) 2014-01-02
BR112014029798A2 (pt) 2017-06-27
GB2518079B (en) 2016-08-03
KR20150024323A (ko) 2015-03-06
GB201421154D0 (en) 2015-01-14
BR112014029798B1 (pt) 2023-04-11
DE112013003255B4 (de) 2023-01-26
US9418700B2 (en) 2016-08-16
GB2518079A (en) 2015-03-11
WO2014003982A1 (en) 2014-01-03

Similar Documents

Publication Publication Date Title
CN104380262A (zh) 坏块管理机制
TWI614752B (zh) 經由記憶體通道關閉之節電技術
TWI489276B (zh) 於第二階記憶體階層中記憶體側快取的動態部份斷電之系統與方法
CN103946811B (zh) 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN101552032B (zh) 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置
JP5479479B2 (ja) 超低電圧動作時にキャッシュラインが動作可能かを判断する装置、方法、及びコンピューティングシステム
CN103946812B (zh) 用于实现多级别存储器分级体系的设备和方法
CN103946819B (zh) 用于非易失性系统存储器的统计耗损均衡
CN103975287A (zh) 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持
CN105653202A (zh) 一种用于逻辑存储管理的多级方案
KR101166803B1 (ko) 비휘발성 메모리 및 휘발성 메모리를 포함하는 메모리 시스템 및 그 시스템을 이용한 처리 방법
CN102012791A (zh) 基于Flash的数据存储PCIE板卡
TW201329857A (zh) 用於在共用記憶體通道上實施多位準記憶體階層之裝置及方法
CN105095116A (zh) 缓存替换的方法、缓存控制器和处理器
US20220391145A1 (en) Memory sub-system storage mode control
CN103593324A (zh) 一种具有自学习功能的快速启动低功耗计算机片上系统
CN111581125A (zh) 高效跟踪脏高速缓存行在二级主存储器的高速缓存中的位置的方法和装置
CN103999057A (zh) 具有开关的相变存储器(pcms)的元数据管理和支持
Palangappa et al. WOM-code solutions for low latency and high endurance in phase change memory
JP5579135B2 (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
US11169920B2 (en) Cache operations in a hybrid dual in-line memory module
CN105653468B (zh) 一种使用mram的存储设备
Park et al. Management of virtual memory systems under high performance PCM-based swap devices
CN113190473A (zh) 基于能量收集非易失性处理器的缓存数据管理方法、介质
KR101831226B1 (ko) 차세대 메모리로 구성된 캐시의 제어 장치 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150225