CN114546257A - 对存储器中的系统数据使用坏块 - Google Patents
对存储器中的系统数据使用坏块 Download PDFInfo
- Publication number
- CN114546257A CN114546257A CN202111401012.1A CN202111401012A CN114546257A CN 114546257 A CN114546257 A CN 114546257A CN 202111401012 A CN202111401012 A CN 202111401012A CN 114546257 A CN114546257 A CN 114546257A
- Authority
- CN
- China
- Prior art keywords
- memory cells
- page
- data
- memory
- bad block
- 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.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims abstract description 292
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 72
- 238000012937 correction Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及对存储器中的系统数据使用坏块。存储器组件具有已指定为坏块的存储器单元块。包含在所述存储器组件中的处理装置识别所述坏块中的存储器单元功能页,且将系统数据编程到所述坏块中的识别到的存储器单元功能页。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及对存储器中的系统数据使用坏块。
背景技术
一种存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处且从存储器装置检索数据。
发明内容
在一个方面,本申请提供一种系统,其包括:存储器组件,其具有指定为坏块的存储器单元块;以及处理装置,其包含在所述存储器组件中以进行以下操作:识别所述坏块中的存储器单元功能页;以及将系统数据编程到所述坏块中的识别到的存储器单元功能页。
在另一方面,本申请提供一种方法,其包括:在指定为坏块的存储器子系统的存储器组件(115)中的存储器单元块中定位其中存储有系统数据的存储器单元页;以及感测存储在所定位的存储器单元页中的所述系统数据。
在又一方面,本申请提供一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使得所述处理装置进行以下操作:在指定为坏块的存储器子系统的存储器组件中的存储器单元块中识别存储器单元功能页;将系统数据编程到所述坏块中的识别到的存储器单元功能页;将所述识别到的存储器单元功能页定位在所述系统数据已编程到的所述坏块中;在将所述识别到的存储器单元功能页定位在所述坏块中后感测所述系统数据。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限于特定实施例,而是仅用于阐释和理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2是根据本公开的一些实施例的对系统数据使用坏块的实例方法的流程图。
图3是根据本公开的一些实施例的用以识别坏块中的存储器单元功能页且将系统数据编程到所述存储器单元功能页的实例方法的流程图。
图4是根据本公开的一些实施例的用以定位其中存储有系统数据的坏块中的存储器单元页且从其感测系统数据的实例方法的流程图。
图5说明根据本公开的一些实施例的具有数个物理块的存储器阵列的一部分的图。
图6是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及对存储器中的系统数据使用坏块。存储器子系统可为存储装置、存储器模块,或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件(如存储数据的存储器装置)的存储器子系统。主机系统可提供将存储在存储器子系统处的数据,且可请求将从存储器子系统检索的数据。
存储在存储器子系统处的数据可包含例如用户数据(例如,在操作存储器子系统期间编程到存储器子系统和从存储器子系统感测的数据)和系统数据(例如,在制造存储器子系统期间与存储器子系统相关联和/或编程到存储器子系统的数据)。常规存储器子系统可将用户数据存储在指定为用户块的存储器子系统的高性能、高可靠性部分(例如,块)中,且可将系统数据存储在指定为文件系统区域的存储器子系统的另一较低性能、较低可靠性部分中。然而,可容易擦除较低性能、较低可靠性文件系统区域,这可导致存储在其中的系统数据丢失。
为了防止此类系统数据丢失,系统数据可改为存储在高性能、高可靠性用户块中。然而,这样做可减少可用于存储用户数据的用户块的量,这可降低存储器子系统的性能和/或可靠性。
本公开的方面通过将系统数据存储在存储器子系统的已指定(例如,在制造期间标记)为坏块的用户块中来解决以上和其它缺陷。如本文中所使用,“坏块”可包含和/或指代存储媒体区域,所述区域对于存储和/或检索数据(例如,用户数据)是不可靠的,因为其被物理地损坏或损毁。然而,在许多情况下,坏块中可能存在一定量(例如,17%到20%)的存储器单元页,其仍可保留足够的功能性来可靠地存储系统数据,即使所述块作为整体可能不足以可靠地存储用户数据。因此,系统数据可存储在坏块的这些页中,由此使得系统数据比如果将其存储在较低性能、较低可靠性文件系统区域中更不可能丢失。同时,将系统数据存储在坏块的这些页中将不会减少可用于用户数据的用户块的量,且因此将不会降低存储器子系统的性能和/或可靠性,这是因为用户数据将以其他方式存储在指定为坏块的块中。
图1说明根据本公开的一些实施例的包含存储器子系统103的实例计算环境100。存储器子系统103可包含媒体,如一或多个易失性存储器装置(例如,存储器装置116)、一或多个非易失性存储器装置(例如,存储器装置115)或此类的组合。
存储器子系统103可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),和各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算环境100可包含耦合到一或多个存储器子系统103的主机系统102。在一些实施例中,主机系统102耦合到不同类型的存储器子系统103。图1说明耦合到一个存储器子系统103的主机系统102的实例。主机系统102使用存储器子系统103例如将数据写入到存储器子系统103且从存储器子系统103读取数据。如本文中所使用,“耦合到”通常指代组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有介入组件),无论有线或无线,包含如电连接、光学连接、磁性连接等连接。
主机系统102可为计算装置,如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。主机系统102可经由物理主机接口耦合到存储器子系统103。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统102与存储器子系统103之间传输数据。当存储器子系统103通过PCIe接口与主机系统102耦合时,主机系统102可进一步利用NVM快速(NVMe)接口来存取存储器组件(例如,存储器装置115)。物理主机接口可提供用于在存储器子系统103与主机系统102之间传递控制、地址、数据和其它信号的接口。
存储器装置可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置116)可为(但不限于)随机存取存储器(RAM),如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置的实例(例如,存储器装置115)包含与非(NAND)型快闪存储器。存储器装置115中的每一个可包含一或多个存储器单元阵列。存储器单元可包含每单元可存储一个位的单层级单元(SLC)、每单元可存储两个位的多层级单元(MLC),每单元可存储三个位的三层级单元(TLC)、每单元可存储四个位的四层级单元(QLC)和/或每单元可存储五个位的五层级单元(PLC)等。如本文中所使用,术语多层级单元用于指代配置成每单元存储多于一个位的单元(例如,MLC、TLC、QLC、PLC等)。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分以及MLC部分、TLC部分、QLC部分和/或PLC部分。存储器单元中的每一个可存储供主机系统102使用的一或多个数据位。此外,存储器装置115的存储器单元可分组为存储器页或存储器块,其可指用于存储数据的存储器组件的单元。本文将(例如,结合图5)进一步描述此类分组的实例。
虽然描述了如NAND型快闪存储器的非易失性存储器组件,但是存储器装置115可基于任何其它类型的非易失性存储器,如只读存储器(ROM)、相变存储器(PCM)、磁性随机存取存储器(MRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM),和非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
存储器子系统控制器104可与存储器装置115通信以执行操作,如在存储器装置115处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器104可包含硬件,如一或多个集成电路和/或离散组件、缓冲存储器或其组合。存储器子系统控制器104可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
存储器子系统控制器104可为处理装置,其包含配置成执行存储在本地存储器108中的指令的一或多个处理器(例如,处理器107)。在所说明实例中,存储器子系统控制器104的本地存储器108包含配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统103的操作(包含操控存储器子系统103与主机系统102之间的通信)的各种过程、操作、逻辑流和例程。
在一些实施例中,本地存储器108可包含存储存储器指针、所提取的数据等的存储器寄存器。本地存储器108还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统103已说明为包含存储器子系统控制器104,但在本公开的另一实施例中,存储器子系统103不包含存储器子系统控制器104,而是可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
一般来说,存储器子系统控制器104可从主机系统102接收命令或操作,且可将命令或操作转换成指令或适当命令以实现对存储器装置115的所需存取。存储器子系统控制器104可负责与存储器装置115相关联的其它操作,如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及在逻辑块地址与物理块地址之间的地址转译。存储器子系统控制器104可进一步包含主机接口电路系统以经由物理主机接口与主机系统102通信。主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置115,以及将与存储器装置115相关联的响应转换成主机系统102的信息。
存储器子系统103还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统103可包含高速缓存或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器104接收地址且解码所述地址以存取存储器装置115。
在一些实施例中,存储器装置115包含本地媒体控制器110,其结合存储器子系统控制器104进行操作以对存储器装置115的一或多个存储器单元执行操作。
存储器子系统包含坏块组件112,所述坏块组件112可使用存储器装置115的坏块来存储系统数据。在一些实施例中,存储器装置115包含坏块组件112的至少一部分。在一些实施例中,存储器子系统控制器104可包含配置成执行存储在本地存储器108中的指令以用于执行本文中所描述的操作的处理器107(处理装置)。在一些实施例中,坏块组件112是主机系统102、应用程序或操作系统的部分。
举例来说,存储器装置115可包含指定(例如,在制造存储器装置115期间标记)为坏块的数个存储器单元块。如本文中所使用,“坏块”可包含和/或指代存储媒体(例如,存储器装置115)区域,所述区域对于存储和/或检索数据(例如,用户数据)是不可靠的,因为其(例如,在制造期间)被物理地损坏或损毁。然而,在许多情况下,坏块中可能存在一定量(例如,17%到20%)的存储器单元页,其仍可保留足够的功能性(例如,仍可成功地在其上执行写入、擦除和/或读取操作)来可靠地存储和/或检索系统数据,即使所述块作为整体可能不足以可靠地存储和/或检索用户数据。
因此,坏块组件112可识别坏块中的一个中的此类存储器单元功能页,且将系统数据编程(例如,写入)到坏块中的识别到的存储器单元功能页。如本文中所使用,“系统数据”可包含和/或指代除用户数据外的任何类型的数据。举例来说,系统数据可为和/或包含与存储器子系统103相关联的制造数据,如例如制造识别(MID)、系列编号、缺陷列表和/或校准数据,以及其它类型的制造数据。相反,用户数据可包含在操作存储器子系统103期间编程到存储器装置115和/或从存储器装置115感测到的数据。举例来说,控制器104可将此类用户数据编程到存储器装置115的其它(例如,良好)存储器单元块和/或从存储器装置115的其它(例如,良好)存储器单元块感测此类用户数据,存储器装置115的其它(例如,良好)存储器单元块尚未被指定为坏块。坏块组件112可进一步将错误校正码(如例如,循环冗余校验(CRC)码和/或低密度奇偶校验(LDPC)码)并入编程到坏块中的识别到的功能页的系统数据中,以便改进经编程系统数据的完整性(例如,为所述经编程系统数据提供保护)。
坏块组件112可通过例如进行以下操作来识别坏块中的存储器单元功能页:将占位符数据编程到坏块中的存储器单元页;感测占位符数据;对感测到的占位符数据执行错误检测操作以确定在感测到的占位符数据中是否存在任何错误(例如位翻转);以及响应于错误检测操作确定在感测到的占位符数据中不存在错误而将页识别为功能页(例如,响应于错误检测操作确定在感测到的占位符数据中存在错误,页未被识别为功能页和/或被识别为非功能页)。坏块组件112可响应于错误检测操作确定在感测到的占位符数据中不存在错误而通过进行以下操作来进一步识别功能页:从页擦除占位符数据且将与占位符数据相对(例如,从占位符数据翻转)的额外占位符数据编程到页;感测额外占位符数据;对感测到的额外占位符数据执行额外错误检测操作以确定在感测到的额外占位符数据中是否存在任何错误;以及响应于额外错误检测操作确定在感测到的额外占位符数据中不存在错误而将页识别为功能页(例如,响应于额外错误检测操作确定在感测到的额外占位符数据中存在错误,页未被识别为功能页和/或被识别为非功能页)。本文将(例如,结合图3)进一步描述将坏块中的存储器单元页识别为功能页。
坏块组件112可进一步以类似方式识别坏块中的数个额外存储器单元功能页,且将系统数据(例如,系统数据复本)编程到识别到的额外功能页。举例来说,坏块组件112可以类似方式通过进行以下操作来识别坏块中的存储器单元功能页:将占位符数据和/或额外占位符数据(例如,与占位符数据相对)编程到坏块中的每一相应存储器单元页;感测占位符数据和/或额外占位符数据;执行错误检测操作以确定在感测到的占位符数据和/或感测到的额外占位符数据中是否存在任何错误;以及响应于错误检测操作确定在感测到的占位符数据和/或感测到的额外占位符数据中不存在错误而将页识别为功能页,直到特定数目的页已被识别为功能页为止,直到特定数目的页已被识别为非功能页为止或直到已到达坏块的末端为止,如本文将(例如,结合图3)进一步描述。
作为实例,坏块组件112可识别坏块中的总共八个存储器单元功能页,且将系统数据编程到八个识别到的功能页中的四个,使得四个系统数据复本经编程到坏块的四个不同功能页。然而,本公开的实施例不限于可在坏块中识别的特定数目的功能(或非功能)页,或可编程到坏块的特定数目的系统数据复本。
如果已到达坏块的末端,或如果特定数目的页未被识别为功能页和/或特定数目的系统数据复本未被编程到坏块,那么坏块组件112可以类似方式进一步识别坏块中的额外一个中的存储器单元功能页,且将系统数据(例如,系统数据复本)编程到额外坏块的识别到的功能页,如本文将(例如,结合图3)进一步描述。
在系统数据已编程到坏块的识别到的功能页之后,坏块组件112可在系统数据已被编程到的坏块(例如,其中存储有系统数据的功能页)中定位功能页,且在定位功能页时从功能页感测系统数据。举例来说,坏块组件112可响应于从主机系统102接收到检索系统数据的命令而定位功能页且从功能页感测系统数据。此外,坏块组件112可使用并入在系统数据中的错误校正码来对感测到的系统数据执行错误校正操作。举例来说,坏块组件112可使用并入在系统数据中的CRC码来执行CRC操作,和/或可使用并入在系统数据中的LDPC码来执行LDPC操作。
坏块组件112可通过例如针对与系统数据相关联的签名扫描坏块(例如,感测坏块的页)来将其中存储有系统数据的存储器单元功能页定位在坏块中。一旦发现签名,坏块组件112可从所定位的功能页(例如,从具有签名的页)感测系统数据,且对感测到的系统数据执行错误校正操作。本文将(例如,结合图4)进一步描述功能页的定位。
坏块组件112可进一步定位坏块中存储有系统数据的数个额外存储器单元功能页,从所定位的额外功能页感测系统数据,且以类似方式对额外感测到的系统数据执行错误校正操作。举例来说,坏块组件112可针对与系统数据相关联的签名扫描坏块中的每一相应存储器单元页,从具有签名的页感测系统数据,且对感测到的系统数据执行错误校正操作,直到已定位具有签名的特定数目的页且已感测到特定数目的系统数据复本为止,或直到已到达块的末端为止,如本文将(例如,结合图4)进一步描述。
作为实例,坏块组件112可针对签名扫描坏块中的存储器单元页,从具有签名的页感测系统数据,且对感测到的系统数据执行错误校正操作,直到已定位具有签名的四个存储器单元页且已感测到四个系统数据复本为止。然而,本公开的实施例不限于此实例。
如果已到达坏块的末端,或如果尚未定位具有签名的特定数目的页和/或尚未感测到特定数目的系统数据复本,那么坏块组件112可进一步以类似方式将系统数据已编程到的存储器单元功能页定位在额外坏块中,在将功能页定位在额外坏块中后从功能页感测系统数据,以及对感测到的系统数据执行错误校正操作,如本文将(例如,结合图3)进一步描述。
图2是根据本公开的一些实施例的对系统数据使用坏块的实例方法220的流程图。方法220可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法220由图1的坏块组件112执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
在操作222处,处理装置将其中存储有系统数据的存储器单元页定位在指定为坏块的存储器子系统的存储器组件中的存储器单元块中。存储器组件和存储器子系统可例如分别为图1的存储器装置115和存储器子系统103。系统数据可包含例如与存储器子系统相关联的制造数据,且坏块可为在制造存储器组件期间指定为坏块的数个坏块中的一个,如本文中先前所描述。
可通过例如针对与系统数据相关联的签名扫描坏块来将其中存储有系统数据的存储器单元页定位在坏块中,如本文中先前所描述。此页可为先前识别为坏块中的存储器单元功能页的页,如本文中先前所描述。
在操作224处,处理装置感测存储在所定位的存储器单元页中的系统数据。虽然图2中未展示,但可对感测到的数据执行错误校正操作,如本文中先前所描述。
图3是根据本公开的一些实施例的用以识别坏块中的存储器单元功能页且将系统数据编程到所述存储器单元功能页的实例方法330的流程图。方法330可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法330由图1的坏块组件112执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
在操作332处,存取和擦除坏块。坏块可为在制造存储器组件(例如,存储器装置115)期间指定为坏块的数个坏块中的一个,如本文中先前所描述。数个坏块可为存储器组件的特定裸片的坏块,如例如存储器组件的特定逻辑单元(LUN)。
在操作334处,将占位符数据编程到坏块中的(例如,第一)存储器单元页。占位符数据可表示为例如0xA5A5A5A5。然而,实施例不限于此。
在操作336处,感测占位符数据,且对感测到的占位符数据执行错误检测操作。如果在操作338处确定在感测到的占位符数据中存在任何错误(例如,位翻转),那么方法330返回到操作334,且将占位符数据编程到坏块中的下一存储器单元页。如果在操作338处确定在感测到的占位符数据中不存在错误(例如,零位翻转),那么在操作340处记录存储器单元页。方法330接着返回到操作334,且将占位符数据编程到坏块中的下一存储器单元页。
可重复操作334、336、338和340,直到已将占位符数据编程到坏块中的所有存储器单元页且从所述所有存储器单元页感测到占位符数据为止。方法330接着可进行到操作342。然而,如果在操作340处没有记录页(例如,如果不存在感测到的占位符数据不具有错误的坏块的页),那么方法330可返回到操作332,且可存取和擦除裸片的下一坏块。此外,在一些实例中,如果在操作340处记录或未记录特定数目的坏块的页(例如,确定为没有错误),那么可不针对坏块中的所有存储器单元页重复操作334、336、338和340。举例来说,如果在操作340处记录坏块的前256页中的每一个(例如,如果确定坏块的前256页中的每一个的感测到的占位符数据不具有错误),那么方法330可进行到操作342(例如,不针对坏块的剩余页重复操作334、336、338和340)。然而,如果在操作340处并未记录坏块的前256页中的任一个(例如,如果确定坏块的前256页中的每一个的感测到的占位符数据具有错误),那么方法330可返回到操作332(例如,不针对坏块的剩余页重复操作334、336、338和340)。然而,实施例不限于此实例。
在操作342处,擦除坏块。在操作344处,将额外占位符数据编程到在操作340处记录的坏块中的(例如,第一)存储器单元页。额外占位符数据与在操作334处编程到页的占位符数据相对(例如,从其翻转)。举例来说,额外占位符数据可表示为例如0x5A5A5A5A。然而,实施例不限于此。
在操作346处,感测额外占位符数据,且对感测到的额外占位符数据执行错误检测操作。如果在操作348处确定在感测到的额外占位符数据中存在任何错误(例如,位翻转),那么方法330返回到操作344,且将额外占位符数据编程到在操作340处记录的坏块中的下一存储器单元页。如果在操作348处确定在感测到的额外占位符数据中不存在错误(例如,零位翻转),那么在操作350处将存储器单元页识别为功能(例如,良好)页。方法330接着返回到操作344,且将额外占位符数据编程到在操作340处记录的坏块中的下一存储器单元页。
可重复操作344、346、348和350,直到已将额外占位符数据编程到在操作340处记录的坏块中的所有存储器单元页且从所述所有存储器单元页感测到额外占位符数据为止。方法330接着可进行到操作352。然而,如果在操作350处没有页被识别为功能页(例如,如果不存在感测到的额外占位符数据不具有错误的坏块的页),那么方法330可返回到操作332,且可存取和擦除裸片的下一坏块。此外,在一些实例中,如果在操作350处将特定数目的所记录的页识别为功能页(例如,确定不具有错误),那么可不针对坏块中的所有所记录的存储器单元页重复操作344、346、348和350。举例来说,一旦在操作350处将坏块的所记录的页中的八个识别为功能页(例如,如果确定坏块的八个不同的所记录的页的感测到的额外占位符数据不具有错误),那么方法330可进行到操作352(例如,不针对坏块的剩余的所记录的页重复操作344,346,348和350)。然而,实施例不限于此实例。
在操作352处,擦除坏块。在操作354处,将系统数据编程到在操作350处识别为功能页的存储器单元页。举例来说,可将系统数据编程到识别为功能页的特定数目的页。举例来说,可将系统数据编程到识别到的功能页中的四个(例如,可进行四个系统数据复本)。然而,实施例不限于此实例。此外,虽然图3中未展示,但如例如CRC码和/或LDPC码的错误校正码可并入编程到识别到的功能页的系统数据中,以便改进经编程系统数据的完整性(例如,为所述经编程系统数据提供保护)。
如果不能将系统数据编程到特定数目的页(例如,如果小于特定数目的页已被识别为功能页),那么方法330可返回到操作332,且可存取和擦除裸片的下一坏块。如果将系统数据编程到特定数目的页(例如,如果能够进行特定数目的系统数据复本),那么可针对存储器组件的下一裸片(例如,下一LUN)重复方法330。
图4是根据本公开的一些实施例的用以定位其中存储有系统数据的坏块中的存储器单元页且从其感测系统数据的实例方法460的流程图。方法460可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法460由图1的坏块组件112执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
在操作462处,存取坏块。坏块可为在制造存储器组件(例如,存储器装置115)期间指定为坏块的数个坏块中的一个(例如,第一个),如本文中先前所描述。数个坏块可为存储器组件的特定裸片的坏块,如例如存储器组件的特定逻辑单元(LUN)。
在操作464处,感测存储在坏块的第一页中的数据,且在操作466处确定此感测到的数据是否包含与系统数据相关联的签名。签名可表示为例如0xABCDDDEE。然而,实施例不限于此。
如果确定来自第一页的感测到的数据不包含签名,那么这可指示坏块中没有存储系统数据。因此,方法460返回到操作462,且存取裸片的下一坏块;如果坏块为裸片的最后一个坏块,那么存取存储器组件的下一裸片(例如,下一LUN)的第一坏块。如果确定来自第一页的感测到的数据包含签名,那么这可指示坏块具有存储在其中的系统数据,且因此方法460进行到操作468。
在操作468处,感测存储在坏块的下一页中的数据,且在操作470处确定此感测到的数据是否包含与系统数据相关联的签名。如果确定来自此页的感测到的数据不包含签名,那么这可指示坏块的此页中没有存储系统数据。因此,方法460返回到操作468,且感测存储在坏块的下一页中的数据;如果坏块的此页为坏块的最后一页,那么方法460可返回到操作462,且存取裸片的下一坏块。如果确定来自此页的感测到的数据包含签名,那么此可指示坏块的此页具有存储在其中的系统数据(例如,来自此页的感测到的数据包含系统数据),且因此方法460进行到操作468。
在操作472处,对感测到的数据(例如,对存储在页中的感测到的系统数据)执行错误校正操作。可例如使用并入在系统数据中的错误校正码(如,例如,当系统数据被编程到页时并入在系统数据中的错误校正码)来执行错误校正操作,如本文中先前所描述。
在操作474处,确定在操作472处对感测到的数据执行的错误校正是否成功(例如,感测到的数据中的错误是否能够通过错误校正操作成功地校正)。如果错误校正操作成功,那么在操作476处将经校正数据(例如,系统数据)发送到主机(例如,先前结合图1描述的主机系统102)。此外,虽然图4中未展示,但可将经校正数据(例如,系统数据)恢复到存储器组件。方法460接着可返回到操作462,且存取裸片的下一坏块。如果错误校正不成功,那么方法460进行到操作478。
在操作478处,确定是否已定位特定数目的系统数据复本(例如,是否已发现其中存储有系统数据的特定数目的页)。特定数目可为例如四个(例如,可确定是否已定位四个系统数据复本)。然而,实施例不限于此。
如果尚未定位特定数目的系统数据复本,那么方法460返回到操作468,且感测存储在坏块的下一页中的数据。如果已定位特定数目的系统复本,那么在操作480处对系统数据复本执行数据恢复操作(例如,以恢复不能够通过错误校正操作成功地校正的损毁的系统数据复本)。方法460接着进行到操作482。
在操作482处,确定是否已经通过数据恢复操作成功地恢复任何系统数据复本。如果未成功地恢复系统数据复本,那么方法460返回到操作462,且存取裸片的下一坏块。如果已成功地恢复任何系统数据复本,那么在操作476处将复本(或多个复本)发送到主机。此外,虽然图4中未展示,但可将所恢复的系统数据复本(或多个复本)恢复到存储器组件。方法460接着返回到操作462,且存取裸片的下一坏块。如果坏块是裸片的最后一个坏块,那么针对存储器组件的下一裸片重复方法460(例如,存取存储器组件的下一裸片的第一坏块)。
图5说明根据本公开的一些实施例的具有数个物理块且耦合到坏块组件512的存储器阵列514的一部分的图。坏块组件512可类似于结合图1所描述的坏块组件112。如本文中所描述,在一些实施例中,坏块组件512可执行使用存储器阵列514的坏块来存储系统数据的动作。
存储器阵列514可为例如NAND快闪存储器阵列。作为额外实例,存储器阵列514可为存储级存储器(SCM)阵列,如例如三维交叉点存储器阵列、铁电RAM(FRAM)阵列,或可变电阻存储器阵列,如PCRAM、RRAM或自旋力矩转移(STT)阵列等。此外,虽然图5中未展示,但存储器阵列514可与和其操作相关联的各种外围电路系统一起位于特定半导体裸片上。
如图5中所展示,存储器阵列514具有数个存储器单元物理块557-0(块0)、557-1(块1)、……、557-B(块B)。可根据特定编程特性(例如,编程模式)将存储器单元操作和/或编程为单层级单元和/或多层级单元,如例如,两层级单元、三层级单元(TLC)或四层级单元(QLC)和/或五层级单元(PLC)。作为实例,存储器阵列514中的物理块的数目可为128个块、512个块或1,024个块,但实施例不限于二的特定幂或存储器阵列514中的任何特定数目的物理块。
存储器单元平面中可包含数个存储器单元物理块(例如,块557-0、557-1、……、557-B),且裸片上可包含数个存储器单元平面。举例来说,在图5中所展示的实例中,每一物理块557-0、557-1、……、557-B可为单个裸片的部分。也就是说,图5中所说明的存储器阵列514的部分可为存储器单元的裸片。
如图5中所展示,每一物理块557-0、557-1、……、557-B包含存储器单元的耦合到存取线(例如,字线)的数个物理行(例如,553-0、553-1、……、553-R)。每一物理块中的行(例如,字线)的数目可为32,但实施例不限于每物理块特定数目的行553-0、553-1、……、553-R。此外,虽然图5中未展示,但存储器单元可耦合到感测线(例如,数据线和/或数字线)。
如所属领域的技术人员将了解,每一行553-0、553-1、……、553-R可包含数个存储器单元页(例如,物理页)。物理页指代编程和/或感测的单元(例如,作为功能群组一起编程和/或感测的数个存储器单元)。在图5中所展示的实施例中,每一行553-0、553-1、……、553-R包括存储器单元的一个物理页。然而,本公开的实施例不限于此。举例来说,在实施例中,每一行可包括存储器单元的多个物理页(例如,耦合到偶数编号的位线的一或多个偶数存储器单元页,和耦合到奇数编号的位线的一或多个奇数存储器单元页)。另外,对于包含多层级单元的实施例,存储器单元的物理页可存储多个数据页(例如,逻辑页)(例如,上部数据页和下部数据页,其中物理页中的每一单元存储朝向上部数据页的一或多个位和朝向下部数据页的一或多个位)。
如图5中所展示,存储器单元页可包括数个物理扇区555-0、555-1、……、555-S(例如,存储器单元子集)。单元的每一物理扇区555-0、555-1、……、555-S可存储数据的数个逻辑扇区。另外,数据的每一逻辑扇区可对应于特定数据页的一部分。作为实例,存储在特定物理扇区中的数据的一个逻辑扇区可对应于与一个数据页对应的逻辑扇区,且存储在特定物理扇区中的数据的另一逻辑扇区可对应于另一数据页。每一物理扇区555-0、555-1、……、555-S可存储系统和/或用户数据,且/或可包含开销数据,如错误校正码(ECC)数据、逻辑块地址(LBA)数据和元数据。
逻辑块寻址是主机可用以识别数据的逻辑扇区的方案。举例来说,每一逻辑扇区可对应于唯一逻辑块地址(LBA)。另外,LBA也可对应于(例如,动态地映射到)可指示存储器中的数据的所述逻辑扇区的物理位置的物理地址,如物理块地址(PBA)。数据的逻辑扇区可以是数据的字节数目(例如256字节、512字节、1,024字节或4,096字节)。然而,实施例不限于这些实例。
应注意,用于物理块557-0、557-1、……、557-B,行553-0、553-1、……、553-R,扇区555-0、555-1、……、555-S和页的其它配置是可能的。举例来说,物理块557-0、557-1、……、557-B的行553-0、553-1、……、553-R可各自存储对应于单个逻辑扇区的数据,所述单个逻辑扇区可包含例如多于或少于512字节的数据。此外,可使用地址来划分存储器阵列514以划定页、块等。
图6说明计算机系统690的实例机器,在所述实例机器内可执行用于使得所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统690可对应于主机系统(例如,图1的主机系统102),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统103)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的坏块组件112的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云端计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中进行操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,虽然说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令的集合(或多个集合)以执行本文中所论述的方法中的任何一或多种。
实例计算机系统690包含经由总线697彼此通信的处理装置692、主存储器694(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),如同步DRAM(SDRAM)或RDRAM等)、静态存储器698(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统699。
处理装置692表示一或多个通用处理装置,如微处理器、中央处理单元等。更具体地说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置692也可为一或多个专用处理装置,如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置692配置成执行用于执行本文中所论述的操作和步骤的指令693。计算机系统690可进一步包含用以经由网络696通信的网络接口装置695。
数据存储系统699可包含机器可读存储媒体691(也称为计算机可读媒体),所述机器可读存储媒体上存储有一或多个指令693的集合或体现本文所描述的方法或功能中的任何一或多个的软件。指令693还可在其由计算机系统690执行期间完全或至少部分地驻留在主存储器694内和/或处理装置692内,主存储器694和处理装置692也构成机器可读存储媒体。机器可读存储媒体691、数据存储系统699和/或主存储器694可对应于图1的存储器子系统103。
在一个实施例中,指令693包含用以实施对应于坏块组件612(例如,图1的坏块组件112)的功能性的指令。虽然在实例实施例中将机器可读存储媒体691展示为单个媒体,但应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。还应认为术语“机器可读存储媒体”包含能够存储或编码供机器执行的指令集且使得机器执行本公开的方法中的任何一或多个的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已依据对计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其它技术人员的方式。算法在这里且通常认为是引起所期望的结果的操作的自洽序列。操作是需要物理量的物理操纵的那些操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已证明将这些信号称为位、值、元件、符号、字符、术语、数字等是方便的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅为应用于这些量的方便标记。本公开可指将计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据操控和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理数量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的磁盘,包含软盘、光盘、CD-ROM和磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中所呈现的算法和显示本质上不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。将了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含其上存储有可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
如本文中所使用,尤其是相对于图式中的附图标记的指定符“N”、“R”、“S”和“B”指示如此指定的数个特定特征可包含在本公开的数个实施例内。另外,如本文中所使用,“一(a/an)”或“数个”可以指某事物中的一或多个,且“多个”可以指此类事物中的多于一个。举例来说,存储器装置可以指一或多个存储器装置,且多个存储器装置可以指两个或更多个存储器装置。
本文中的图遵循编号惯例,其中第一个数字或多个数字对应于附图编号,且其余数字标识附图中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。举例来说,112可表示图1中的元件“12”,且类似元件在图6中可表示为612。
在前文说明书中,已参考其特定实例实施例描述了本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中所阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。
Claims (17)
1.一种系统(103),其包括:
存储器组件(115),其具有指定为坏块的存储器单元块;以及
处理装置(107,692),其包含在所述存储器组件(115)中以进行以下操作:
识别所述坏块中的存储器单元功能页;以及
将系统数据编程到所述坏块中的识别到的存储器单元功能页。
2.根据权利要求1所述的系统,其中所述处理装置将感测编程到所述坏块中的所述识别到的存储器单元功能页的所述系统数据。
3.根据权利要求1所述的系统,其中所述处理装置将通过进行以下操作来识别所述坏块中的所述存储器单元功能页:
将占位符数据编程到所述坏块中的存储器单元页;
感测所述占位符数据;
对感测到的占位符数据执行错误检测操作以确定在所述感测到的占位符数据中是否存在任何错误;以及
响应于所述错误检测操作确定在所述感测到的占位符数据中不存在错误而将所述存储器单元页识别为所述存储器单元功能页。
4.根据权利要求1至3中任一权利要求所述的系统,其中所述处理装置将进行以下操作:
识别所述坏块中的额外存储器单元功能页的数目;以及
将所述系统数据编程到所述坏块中的识别到的额外存储器单元功能页。
5.根据权利要求1至3中任一权利要求所述的系统,其中所述处理装置将在所述系统数据中并入错误校正码,所述系统数据编程到所述坏块中的所述识别到的存储器单元功能页。
6.根据权利要求1至3中任一权利要求所述的系统,其中:
所述存储器组件包含指定为额外坏块的额外存储器单元块;且
所述处理装置将进行以下操作:
识别所述额外坏块中的存储器单元功能页;以及
将所述系统数据编程到所述额外坏块中的所述识别到的存储器单元功能页。
7.一种方法(220),其包括:
在指定为坏块的存储器子系统(103)的存储器组件(115)中的存储器单元块中定位其中存储有系统数据的存储器单元页;以及
感测存储在所定位的存储器单元页中的所述系统数据。
8.根据权利要求7所述的方法,其中定位其中存储有所述系统数据的所述存储器单元页包括针对与所述系统数据相关联的签名扫描所述坏块,其中针对与所述系统数据相关联的所述签名扫描所述坏块包括针对所述签名扫描所述坏块中的每一相应存储器单元页,直到已定位具有所述签名的特定数目的页为止。
9.根据权利要求7所述的方法,其中所述方法进一步包括对感测到的系统数据执行错误校正操作。
10.根据权利要求7至9中任一权利要求所述的方法,其中所述方法进一步包括:
在所述坏块中定位其中存储有所述系统数据的多个额外存储器单元页;以及
感测存储在所定位的多个额外存储器单元页中的所述系统数据。
11.根据权利要求7至9中任一权利要求所述的方法,其中所述方法进一步包括:
在指定为额外坏块的所述存储器组件中的额外存储器单元块中定位其中存储有所述系统数据的存储器单元页;以及
感测存储在所述额外坏块中的所定位的存储器单元页中的所述系统数据。
12.一种包括指令(693)的非暂时性计算机可读存储媒体(691),所述指令在由处理装置(107,692)执行时使得所述处理装置(107,692)进行以下操作:
在指定为坏块的存储器子系统(103)的存储器组件(115)中的存储器单元块中识别存储器单元功能页;
将系统数据编程到所述坏块中的识别到的存储器单元功能页;
将所述识别到的存储器单元功能页定位在所述系统数据已编程到的所述坏块中;以及
在将所述识别到的存储器单元功能页定位在所述坏块中后感测所述系统数据。
13.根据权利要求12所述的非暂时性计算机可读存储媒体,其中:
在制造所述存储器子系统期间将所述存储器单元块指定为坏块;且
所述系统数据包括与所述存储器子系统相关联的制造数据。
14.根据权利要求12至13中任一权利要求所述的非暂时性计算机可读存储媒体,其中所述指令进一步可执行为使得所述处理装置将用户数据编程到所述存储器组件中的额外存储器单元块。
15.根据权利要求12至13中任一权利要求所述的非暂时性计算机可读存储媒体,其中所述指令可执行为使得所述处理装置通过以下操作来识别所述坏块中的存储器单元功能页:
将占位符数据编程到所述坏块中的每一相应存储器单元页;
感测编程到每一相应页的所述占位符数据;
对编程到每一相应页的感测到的占位符数据执行错误检测操作以确定在编程到所述相应页的所述感测到的占位符数据中是否存在任何错误;以及
响应于所述错误检测操作确定在编程到所述相应页的所述感测到的占位符数据中不存在错误而将每一相应存储器单元页识别为存储器单元功能页。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述指令可执行为使得所述处理装置对所述占位符数据进行编程,感测所述占位符数据,执行所述错误检测操作并且将每一相应存储器单元页识别为功能页,直到特定数目的页已被识别为功能页为止。
17.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述指令可执行为进行以下操作:
响应于所述错误检测操作确定在编程到所述相应页的所述感测到的占位符数据中存在错误而将每一相应存储器单元页识别为存储器单元非功能页;以及
对所述占位符数据进行编程,感测所述占位符数据,执行所述错误检测操作并且将每一相应存储器单元页识别为功能页,直到特定数目的页已被识别为非功能页为止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/104,291 US20220164107A1 (en) | 2020-11-25 | 2020-11-25 | Using bad blocks for system data in memory |
US17/104,291 | 2020-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546257A true CN114546257A (zh) | 2022-05-27 |
Family
ID=81657055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111401012.1A Withdrawn CN114546257A (zh) | 2020-11-25 | 2021-11-24 | 对存储器中的系统数据使用坏块 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220164107A1 (zh) |
CN (1) | CN114546257A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11579968B2 (en) * | 2020-08-26 | 2023-02-14 | Micron Technology, Inc. | Efficient management of failed memory blocks in memory sub-systems |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398439B2 (en) * | 2004-02-13 | 2008-07-08 | Kabushiki Kaisha Toshiba | Semiconductor device with memory and method for memory test |
US20130254463A1 (en) * | 2012-03-23 | 2013-09-26 | Kabushiki Kaisha Toshiba | Memory system |
US20160019111A1 (en) * | 2014-07-21 | 2016-01-21 | Sandisk Technologies Inc. | Partial bad block detection and re-use using epwr for block based architectures |
US20160378976A1 (en) * | 2015-06-25 | 2016-12-29 | Intel Corporation | Secure trusted execution environment data store |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US10204040B2 (en) * | 2013-03-07 | 2019-02-12 | Charles I. Peddle | High speed flash controllers |
WO2019157369A1 (en) * | 2018-02-09 | 2019-08-15 | Micron Technology, Inc. | Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation |
CN111324286A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和装置 |
US20200202970A1 (en) * | 2018-12-20 | 2020-06-25 | Micron Technology, Inc | Bad block management for memory sub-systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991215A (en) * | 1998-03-31 | 1999-11-23 | Micron Electronics, Inc. | Method for testing a memory chip in multiple passes |
JP2001297038A (ja) * | 2000-04-11 | 2001-10-26 | Toshiba Corp | データ記憶装置および記録媒体並びに記録媒体制御方法 |
JP2003346496A (ja) * | 2002-05-22 | 2003-12-05 | Mitsubishi Electric Corp | 不良情報格納装置とその装置を備える不良情報蓄積処理装置、不良情報蓄積方法、不良情報格納装置を備える半導体装置試験装置、および不良情報格納装置を備える半導体装置 |
KR101861247B1 (ko) * | 2011-04-06 | 2018-05-28 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템 |
US9082474B2 (en) * | 2011-04-21 | 2015-07-14 | Micron Technology, Inc. | Method and apparatus for providing preloaded non-volatile memory content |
US8995196B2 (en) * | 2011-08-15 | 2015-03-31 | Skymedi Corporation | Method of sorting a multi-bit per cell non-volatile memory and a multi-mode configuration method |
TWI563383B (en) * | 2012-04-25 | 2016-12-21 | Phison Electronics Corp | Memory formatting method, memory controller and memory storage apparatus |
US20130332644A1 (en) * | 2012-06-07 | 2013-12-12 | Skymedi Corporation | Method of initializing a non-volatile memory system |
TWI687933B (zh) * | 2017-03-03 | 2020-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其區塊釋放方法 |
KR102571747B1 (ko) * | 2018-04-06 | 2023-08-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20210030599A (ko) * | 2019-09-10 | 2021-03-18 | 에스케이하이닉스 주식회사 | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 |
CN114968066A (zh) * | 2021-02-19 | 2022-08-30 | 瑞昱半导体股份有限公司 | 用于快闪存储器中进行故障区块管理的方法与装置 |
-
2020
- 2020-11-25 US US17/104,291 patent/US20220164107A1/en active Pending
-
2021
- 2021-11-24 CN CN202111401012.1A patent/CN114546257A/zh not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398439B2 (en) * | 2004-02-13 | 2008-07-08 | Kabushiki Kaisha Toshiba | Semiconductor device with memory and method for memory test |
US20130254463A1 (en) * | 2012-03-23 | 2013-09-26 | Kabushiki Kaisha Toshiba | Memory system |
US10204040B2 (en) * | 2013-03-07 | 2019-02-12 | Charles I. Peddle | High speed flash controllers |
US20160019111A1 (en) * | 2014-07-21 | 2016-01-21 | Sandisk Technologies Inc. | Partial bad block detection and re-use using epwr for block based architectures |
US20160378976A1 (en) * | 2015-06-25 | 2016-12-29 | Intel Corporation | Secure trusted execution environment data store |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
WO2019157369A1 (en) * | 2018-02-09 | 2019-08-15 | Micron Technology, Inc. | Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation |
CN111324286A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和装置 |
US20200202970A1 (en) * | 2018-12-20 | 2020-06-25 | Micron Technology, Inc | Bad block management for memory sub-systems |
Also Published As
Publication number | Publication date |
---|---|
US20220164107A1 (en) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114981892A (zh) | 预读取及读取阈值电压优化 | |
CN113035262B (zh) | 存储器子系统中奇偶校验数据的管理 | |
CN113345513A (zh) | 使用来自先前迭代的准则配置迭代性错误校正参数 | |
CN114341791B (zh) | 编程操作失败后的数据重定向 | |
CN111868690A (zh) | 执行解码操作以模拟切换数据块的经识别位组中的位 | |
US11868202B2 (en) | Granular error reporting on multi-pass programming of non-volatile memory | |
US11704196B2 (en) | Reduced parity data management | |
CN113127254A (zh) | 存储器子系统中多平面奇偶校验数据的存储管理 | |
CN114546257A (zh) | 对存储器中的系统数据使用坏块 | |
US20230034275A1 (en) | Performing memory testing using error correction code values | |
CN113498580A (zh) | 用于存储器子系统的元数据辅助的编码和解码 | |
CN113126906B (zh) | 用于元数据指示的方法和系统 | |
US11830545B2 (en) | Data programming techniques to store multiple bits of data per memory cell with high reliability | |
CN115729457A (zh) | 用于存储器子系统的不正常关机的元数据管理 | |
CN114968649A (zh) | 扩展存储器单元的大小 | |
CN114077402A (zh) | 写入类型指示命令 | |
CN113342568A (zh) | 阈值数目个迭代之后利用可调整参数的迭代性错误校正 | |
US11842787B2 (en) | Error read flow component | |
US11914471B1 (en) | Block failure protection for zone memory system | |
US11556261B2 (en) | Memory stripe coding management | |
CN117950579A (zh) | 循序写入的存储器装置中的运行时间存储容量减小避免 | |
CN115454326A (zh) | 对已分组存储器信元执行数据操作 | |
CN115428084A (zh) | 基于高电压脉冲执行编程操作以安全地擦除数据 | |
CN113126899A (zh) | 完全多平面操作启用 | |
CN114691028A (zh) | 存储器子系统存储器存储体搜索组件 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220527 |
|
WW01 | Invention patent application withdrawn after publication |