CN111538619B - 利用断电处置的多页奇偶校验保护 - Google Patents

利用断电处置的多页奇偶校验保护 Download PDF

Info

Publication number
CN111538619B
CN111538619B CN201911380065.2A CN201911380065A CN111538619B CN 111538619 B CN111538619 B CN 111538619B CN 201911380065 A CN201911380065 A CN 201911380065A CN 111538619 B CN111538619 B CN 111538619B
Authority
CN
China
Prior art keywords
data
page
parity
written
pages
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
Application number
CN201911380065.2A
Other languages
English (en)
Other versions
CN111538619A (zh
Inventor
H·R·桑吉迪
K·K·姆奇尔拉
罗贤钢
V·P·拉亚普鲁
A·马尔谢
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111538619A publication Critical patent/CN111538619A/zh
Application granted granted Critical
Publication of CN111538619B publication Critical patent/CN111538619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明申请案涉及利用断电处置的多页奇偶校验保护。多种应用可包含使用存储器系统中的奇偶校验组,其中所述奇偶校验组布置成用于所述存储器系统的数据保护。可用多个数据页和奇偶校验页来构造每一奇偶校验组,数据写入在所述多个数据页中,由写入在所述多个数据页中的所述数据产生的奇偶校验数据写入在所述奇偶校验页中。奇偶校验组的每一数据页可具有存储容量,所述存储容量用以包含写入到所述数据页的数据的元数据。信息可添加到数据页的所述元数据,其中所述信息识别出在将数据写入到所述奇偶校验组的所述数据页的次序中先于所述数据页的数据页的异步断电状态。所述信息可用于再建构所述奇偶校验组中在向所述奇偶校验组写入时的不可校正错误校正码错误之后的数据。

Description

利用断电处置的多页奇偶校验保护
优先权申请
本申请主张2018年12月31日申请的美国临时申请第62/786,889号(所述申请以全文引用的方式并入本文中)和2019年2月5日申请的美国申请第16/267,586号(所述申请以全文引用的方式并入本文中)的根据35U.S.C.119(e)的优先权权益。
技术领域
本发明申请案涉及存储器装置,确切地说,涉及多页奇偶校验保护。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器需要功率来维持其数据,且易失性存储器的实例包含随机存取存储器(random-access memory;RAM)、动态随机存取存储器(dynamic random-access memory;DRAM)和同步动态随机存取存储器(synchronous dynamic random-access memory;SDRAM)等等。非易失性存储器可在未被供电时保留所存储数据,且非易失性存储器的实例包含快闪存储器、只读存储器(read-onlymemory;ROM)、电可擦除可编程ROM(electrically erasable programmable ROM;EEPROM)、静态RAM(static RAM;SRAM)、可擦除可编程ROM(erasable programmable ROM;EPROM)、电阻可变存储器,如相变随机存取存储器(phase-change random-access memory;PCRAM)、电阻式随机存取存储器(resistive random-access memory;RRAM)、磁阻式随机存取存储器(magnetoresistive random-access memory;MRAM)和三维(three-dimensional;3D)XPointTM存储器等等。
快闪存储器用作用于广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管浮动栅极或电荷俘获存储器单元的一或多个群组。两个常见类型的快闪存储器阵列架构包含NAND和NOR架构,以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置于矩阵中。在一实例中,阵列的一行中的每个浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每个存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列中的串中的存储器单元在源极线与位线之间源极到漏极地串联耦合在一起。
NOR和NAND架构半导体存储器阵列均通过解码器来存取,所述解码器通过选择耦合到具体存储器单元的栅极的字线来激活具体存储器单元。在NOR架构半导体存储器阵列中,一旦激活,所选存储器单元便使其数据值置于位线上,从而取决于特定单元被编程的状态而使不同电流流动。在NAND架构半导体存储器阵列中,将高偏压电压施加于漏极侧选择栅极(SGD)线。以指定传递电压(例如,Vpass)来驱动耦合到每一群组的非所选存储器单元的栅极的字线,以使每一群组的非所选存储器单元作为传递晶体管操作(例如,以不受其所存储数据值限制的方式传递电流)。电流随后从源极线通过每个串联耦合的群组流动到位线,仅受每个群组中的所选存储器单元限制,从而使所选存储器单元的当前编码数据值置于位线上。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可个别地或共同地编程到一个或数个编程状态。举例来说,单层级单元(single-level cell;SLC)可表示两个编程状态(例如,1或0)中的一个,从而表示一个数据位。然而,快闪存储器单元也可表示超过两个编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每一单元可表示超过一个二进制数字(例如,超过一个位)。此类单元可称为多状态存储器单元、多数字单元或多层级单元(multi-level cell;MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三层级单元(triple-level cell;TLC)可指代每单元可存储三个数据位(例如,八个编程状态中的一个)的存储器单元,且四层级单元(quad-level cell;QLC)可每单元存储四个数据位。除非由表达语言或上下文另外明确地指示,否则本文中在其广泛上下文中使用MLC,以指代每单元可存储超过一个数据位(即,可表示超过两个编程状态)的任何存储器单元。
传统存储器阵列是布置于半导体衬底表面上的二维(two-dimensional;2D)结构。为了针对给定面积增加存储器容量且减小成本,已减小个别存储器单元的大小。然而,存在个别存储器单元的大小减小的技术限制,且因此,存在2D存储器阵列的存储器密度的技术限制。作为响应,正开发三维(3D)存储器结构,如3D NAND架构半导体存储器装置,以进一步增大存储器密度且降低存储器成本。
这些3D NAND装置通常包含存储单元串,其串联(例如,漏极到源极)耦合于接近源极的一或多个源极侧选择栅极(SGS)与接近位线的一或多个漏极侧选择栅极(SGD)之间。在一实例中,SGS或SGD可包含一或多个场效应晶体管(field-effect transistor;FET)或金属-氧化物半导体(metal-oxide semiconductor;MOS)结构装置等。在一些实例中,所述串将竖直地延伸通过含有相应字线的多个竖直间隔层次。半导体结构(例如,多晶硅结构)可邻近于存储单元串而延伸以形成用于所述串的存储单元的通道。在竖直串的实例中,多晶硅结构可呈竖直延伸柱的形式。在一些实例中,串可“折叠”,且因此相对于U形柱而布置。在其它实例中,多个竖直结构可堆叠于彼此上以形成存储单元串的堆叠阵列。
存储器阵列或装置可组合在一起以形成存储器系统的存储容量,如固态驱动器(solid-state drive;SSD)、通用快闪存储(UFSTM)装置、多媒体卡(MultiMediaCard;MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等。SSD尤其可用作计算机的主要存储装置,关于例如性能、大小、重量、坚固性、工作温度范围和功率消耗具有优于带有移动部件的传统硬盘驱动器的优点。例如,SSD可具有减少的寻道时间、时延或与磁盘驱动器相关联的其它延迟(例如,机电等)。SSD使用如快闪存储器单元等非易失性存储器单元来避免内部电池电源要求,因此允许驱动器更为多功能且紧凑。
SSD可包含数个存储器装置,包含数个裸片或逻辑单元(例如,逻辑单元号或LUN),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。这些SSD可包含一或多个快闪存储器裸片,其上包含数个存储器阵列和外围电路系统。快闪存储器阵列可包含组织成数个物理页的数个存储器单元块。在许多实例中,SSD也将包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可与存储器操作结合从主机接收命令,所述存储器操作如在存储器装置与主机之间传送数据(例如,用户数据和相关联完整性数据,如错误数据和地址数据等)的读取或写入操作,或从存储器装置擦除数据的擦除操作。
SSD有可能发生故障和数据丢失。在SSD中用于保护数据的方法包含将错误校正码(error correction code;ECC)电平添加到页且接着使用ECC来恢复数据。ECC以外的保护方案包含利用使用多个存储器装置的装置层级方法来提供独立NAND(RAIN)保护冗余阵列。这些方法中的SSD数据保护技术的版本已经改变。
一些SSD控制器使用平行性以便增强SSD性能且定位跨越快闪装置集合的所存储数据,所述快闪装置可实现为达到与其它存储装置相关联的大容量的许多相对较小快闪装置。SSD中的这一平行性跨越所述集合的快闪装置中的多个扩散。这可称为不具有奇偶校验的条带化(striped)数据。RAIN技术添加延伸超出ECC的用户数据保护,最低限度地影响驱动器性能,且可最佳化NAND管理。在SSD内通过条带化(striping)已具有高平行性程度的情况下,添加奇偶校验保护架构增加另一层保护。
RAIN是用于数据存储方案的伞式术语,所述数据存储方案划分和/或复制多个存储器装置的多个页当中的数据,例如以便帮助保护存储于存储器装置中的数据。RAIN阵列中的多个存储器装置可作为单个存储器装置呈现给用户和计算机器的操作系统。RAIN可包含条带化(例如,分割)数据使得数据的不同部分存储在不同存储器装置的不同页上。不同存储器装置的存储分割数据的部分统称为条带(stripe)。在用于特定RAIN设计的架构中,存储器阵列中的数个存储器单元页可存储RAIN条带的奇偶校验部分。举例来说,数个页中的每一相应者可包含不同RAIN条带的奇偶校验部分。由于RAIN条带可以是用户数据、其它数据和奇偶校验数据的组合,因此奇偶校验数据可减小SSD存储用户数据的容量且可影响SSD的性能。RAIN还可包含镜像(mirroring),其可包含在超过一个装置的超过一个页上存储数据的双重复复本。
虽然MLC NAND技术具有在负担得起的价格点下广泛可用的已实现高性能数据存储,但MLC NAND具有其限制。举例来说,MLC装置在突发断电(unexpected power loss)的情况下容易数据丢失。SSD的源极功率时常关断。在正常情形下,当计算机系统关断时或当计算机系统转到睡眠模式或休眠模式时,主机将命令信号发送到存储装置以指示电源将要断开。通常,主机系统直到命令发送且驱动器确认命令回到主机后才关断。SSD在发送这一确认消息之前完成任何未完成的写入且保存任何更新的数据寻址信息。
另一方面,突发断电是之前没有关断通知的断电。因此,驱动器不能在功率耗损之前关闭最终操作,这可引起数据和寻址信息丢失。描述这一情况的其它常用术语是“意外断电(surprise power loss)”、“恶劣断电(dirty power loss)”和“异步断电(asynchronouspower loss;APL)”。
发明内容
在一个方面中,本发明申请案提供一种系统,其包括:多个奇偶校验组,其布置成用于存储器系统的数据保护,多个奇偶校验组包含:第一奇偶校验组,其具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的至少一个奇偶校验页,且多个数据页包含:给定数据页,其包含:数据的元数据,其写入到给定数据页;以及旗标,其分配在元数据中以识别出在将数据写入到奇偶校验组的数据页的次序中先于给定数据页的一或多个数据页的异步断电状态。
在另一方面中,本发明申请案进一步提供一种系统,其包括:固件,其具有可由处理装置执行的所存储指令以执行以下操作:将数据写入到奇偶校验组的多个数据页,奇偶校验组包含将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的奇偶校验页;以及将旗标设置在数据成功地写入在其中的奇偶校验组的给定数据页的元数据中,旗标识别出在将数据写入到奇偶校验组的多个数据页的次序中先于给定数据页的一或多个数据页受到异步断电影响,所述异步断电阻止到一或多个数据页的写入操作的完成。
在又另一方面中,本发明申请案进一步提供一种方法,其包括:使用执行存储于固件中的指令的处理装置来将数据写入到存储器系统的奇偶校验组的多个数据页,奇偶校验组包含具有由写入到多个数据页的数据产生的奇偶校验数据的至少一个奇偶校验页;以及将旗标设置在数据成功地写入在其中的奇偶校验组的数据页的元数据中,旗标识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页受到异步断电影响,所述异步断电阻止数据到一或多个数据页的写入操作的完成。
附图说明
不一定按比例绘制的图式借助于实例而非作为限制大体上说明本文件中论述的各种实施例。
图1说明根据各种实施例的包含存储器装置的环境的实例。
图2和3说明根据各种实施例的三维NAND架构半导体存储器阵列的实例的示意图。
图4说明根据各种实施例的存储器模块的实例框图。
图5是根据各种实施例的说明可在其上实施一或多个实施例的机器的实例的框图。
图6展示根据各种实施例的说明使用元数据来识别受到异步断电影响的页的RAIN保护方案的实例RAIN映射表。
图7是根据各种实施例的包含在可处置异步断电的奇偶校验保护的情况下与具有多个存储器装置的存储器系统一起操作的主机的实例系统的实施例的框图。
图8是根据各种实施例的在存储器系统中实施数据的奇偶校验保护方案以处置断电情况的实例方法的特征的框图。
具体实施方式
以下详细描述参考借助于说明而非限制来展示其中可实践本发明的各种实施例的附图。这些实施例是通过足够的细节描述的以使得所属领域的技术人员能够实践这些和其它实施例。可利用其它实施例,且可对这些实施例作出结构性、逻辑、机械和电性变化。各种实施例不一定相互排斥,因为一些实施例可与一或多个其它实施例组合以形成新的实施例。因此,不应按限制性意义来看待以下详细描述。
通常,存储器系统目前对受APL影响的块或页使用编程延续方法。通过编程虚拟数据对受APL影响的页执行这一方法。虚拟数据写入在这些页上以有助于耦合在邻近字线(WL)上的浮动栅极。虚拟数据是不含有任何有用数据但用以保留空间且可用作测试目的以及操作目的的占位符的良性信息,真实数据名义上存在于所述空间中。在虚拟数据写入在这些页上的情况下,这些受APL影响的页不包含在RAIN奇偶校验构建中。
不可校正错误校正码(error correction code;UECC)错误可指示存储于块内的数据已受损且也可指示块或页有缺陷。当在共享相同奇偶校验组的任何其它页上存在UECC故障时,固件(firmware;FW)应从RAIN再建构中排除这些受APL影响的页。可通过维持指向受到APL影响的所有页或块的位映射表来进行这一排除。
然而,由于背对背APL,故可存在可受到APL影响的相当大数目个块和块内的相当大数目个页。背对背APL可出现在存储器系统建构时未知的所选解析时间内的用户测试中。然而,在存储器系统设计中应考虑这一测试的影响。如果采取处置断电的当前方法,那么为背对背APL情境提供覆盖增大FW复杂度且增大要使用的存储空间,如增大随机存取存储器(RAM)空间。
在各种实施例中,信息可与数据一起存储以识别已受到APL影响的存储器页。为有助于这一方法,存储器系统可布置有多个奇偶校验组(N个奇偶校验组)以为存储器系统提供数据保护,其中奇偶校验组是多个数据页以及奇偶校验页的集合。多个数据页是在其中利用由多个数据页中的数据产生的奇偶校验数据来写入数据的页。奇偶校验数据写入到奇偶校验组的奇偶校验页。可通过对写入到数据页且存储于奇偶校验组的奇偶校验页中的数据执行异或(XOR)操作来建构奇偶校验数据。对于每一奇偶校验组,可存储信息以识别出奇偶校验组中的一或多个数据页已受到APL事件影响或没有奇偶校验组中的页受到影响。
旗标可维持在存储器系统的每一奇偶校验组的每一数据页的元数据中以指示共享相同奇偶校验组的先前数据页的APL状态。相对于给定数据页的先前数据页是在将数据写入到奇偶校验组的数据页的次序中先于给定数据页的数据页。奇偶校验组中的数据页的次序可用于在将数据写入到奇偶校验组的数据页中的UECC错误之后产生奇偶校验且再建构数据。APL状态可由旗标提供以识别奇偶校验组中的受到APL事件影响的先前数据页的计数,所述计数可存储作为受到APL事件影响的先前数据页的数目。如果没有共享相同奇偶校验组的数据页经历APL事件,那么旗标可指示零页或数目不存在。旗标中设置的数目可以是紧接在将数据写入到奇偶校验组中的当前数据页之前受到APL影响的连续数据页的数目。旗标可实施为伴随存储于数据页中的数据的元数据中的字节。识别共享相同奇偶校验组的先前数据页的APL状态的其它信息形式可存储于伴随存储于数据页中的数据的元数据中。
可以数种方式对APL之后的启动进行APL的影响的检测。存储器系统可与主机介接,存储器系统耦合到所述主机以确定对主机没有验证写入操作。信息可存储于奇偶校验组的数据页的元数据中,所述信息识别出对数据页的成功写入,而此类信息的缺失可指示对数据页的写入受到APL影响。存储器系统的处理装置可实施以通过比较物理页之间的一或多个读取电平差异来识别出受APL影响的单元。其它技术可用于确定奇偶校验组的数据页已受到APL影响。
在奇偶校验组Pn(0≤n≤(N-1))中的数据页上的UECC错误的情况下,FW可通过从奇偶校验组Pn中的最后一个数据页进行读取来开始RAIN恢复,其中奇偶校验组Pn具有从第一数据页到最后一个数据页的次序。元数据中的旗标指示奇偶校验组Pn中的先前数据页是否受到APL影响。取决于旗标状态,可从RAIN恢复中排除标记为受APL影响的任何先前数据页。
如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)和因特网连接的电器或装置(例如,物联网(internet-of-thing;IoT)装置等)的电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需要。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(centralprocessing unit;CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(double-data-rate synchronous DRAM;DDR SDRAM)等);以及存储装置(例如,非易失性存储器(non-volatile memory;NVM)装置,如快闪存储器、只读存储器(ROM)、SSD、MMC或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(graphics processing unit;GPU)、电力管理电路、基带处理器或一或多个收发器电路等。
图1说明包含配置成在通信接口上通信的主机装置105和存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,如物联网(IoT)装置(例如,冷冻机或其它电器、传感器、马达或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器处理装置115和存储器阵列120,包含例如数个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次、物理页的数目,且因此增大存储器装置(例如,存储装置)的密度。在一实例中,存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是与主机装置105的一或多个其它组件堆叠或以其它方式包含的集成电路(例如,芯片上系统(system on a chip;SOC)等)的部分。
可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,如串行高级技术附件(Serial Advanced Technology Attachment;SATA)接口、外围组件互连高速(Peripheral Component Interconnect Express;PCIe)接口、通用串行总线(Universal Serial Bus;USB)接口、通用快闪存储(Universal Flash Storage;UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机装置105可以是具有参考图5的机器500论述的组件的某一部分或全部的机器。
存储器处理装置115可从主机装置105接收指令,且可与存储器阵列120通信,以便将数据传送到存储器阵列120的存储器单元、平面、子块、块或页中的一或多个(例如,写入或擦除)或从所述存储器阵列的存储器单元、平面、子块、块或页中的一或多个传送数据(例如,读取)。存储器处理装置115可尤其包含电路系统或固件,其包含一或多个组件或集成电路。举例来说,存储器处理装置115可包含一或多个存储器控制单元、电路或组件,其配置成控制存储器阵列120上的存取且提供主机装置105与存储器装置110之间的转换层。存储器处理装置115可包含一或多个输入/输出(input/output;I/O)电路、线路或接口以将数据传送到存储器阵列120或从存储器阵列传送数据。存储器处理装置115可包含存储器管理器125和阵列控制器135。
存储器管理器125可尤其包含电路系统或固件,如与各种存储器管理功能相关联的数个组件或集成电路。出于本描述的目的,将在NAND存储器的上下文中描述实例存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。此类NAND管理功能包含耗损均衡(例如,垃圾收集或回收)、错误检测或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收到的命令)剖析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器125可包含管理表130的集合,所述管理表配置成维持与存储器装置110的一或多个组件相关联的各种信息(例如,与存储器阵列或耦合到存储器处理装置115的一或多个存储器单元相关联的各种信息)。举例来说,管理表130可包含关于耦合到存储器处理装置115的存储器单元的一或多个块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个检测到的错误的数目高于阈值,那么位错误可称为不可校正位错误。管理表130尤其可维持可校正或不可校正位错误的计数。
阵列控制器135可尤其包含配置成控制存储器操作的电路系统或组件,所述存储器操作与将数据写入到耦合到存储器处理装置115的存储器装置110的一或多个存储器单元,从所述一或多个存储器单元读取数据或对一或多个存储器单元进行擦除相关联。存储器操作可基于例如从主机装置105接收到或由存储器管理器125内部产生的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
阵列控制器135可包含错误校正码(ECC)组件140,其可尤其包含ECC引擎或其它电路系统,其配置成检测或校正与将数据写入到耦合到存储器处理装置115的存储器装置110的一或多个存储器单元或从所述一或多个存储器单元读取数据相关联的错误。存储器处理装置115可配置成有效地检测且从与各种操作或数据存储相关联的错误出现中(例如,位错误、操作错误等)恢复,同时维持在主机装置105与存储器装置110之间传送的数据的完整性,或维持所存储数据的完整性(例如,使用冗余RAID存储等);且可去除(例如,引退)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来错误。
存储器阵列120可包含布置于例如数个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块和每装置4个或更多个平面。作为另一实例,32GBMLC存储器装置(每单元存储两个数据位(即,4个可编程状态))可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1024页、每平面548个块及每装置4个平面,但与对应TLC存储器装置相比所需的写入时间为一半且编程/擦除(program/erase;P/E)循环为两倍。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所需MLC模式(如TLC、QLC等)中选择性操作。
在操作中,数据通常以页写入到NAND存储器装置110或从所述NAND存储器装置读取,且以块擦除。然而,可视需要对存储器单元的更大或更小的组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常称为页;而主机的数据传送大小通常称为扇区。
虽然数据页可包含数个字节的用户数据(例如,包含数个数据扇区的数据有效负载)和其对应的元数据,但页的大小通常仅指代用于存储用户数据的字节数目。作为一实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同页大小,或可需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,其可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可需要比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为一实例,多层级单元(MLC)NAND快闪装置可具有比对应单层级单元(SLC)NAND快闪装置更高的位错误率。因此,MLC装置可需要比对应SLC装置更多的用于错误数据的元数据字节。
图2说明包含数个存储器单元串(例如,第一A0存储器串205A0到第三A0存储器串207A0、第一An存储器串205An到第三An存储器串207An、第一B0存储器串205B0到第三B0存储器串207B0、第一Bn存储器串205Bn到第三Bn存储器串207Bn等)的3D NAND架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块A 201A、块B201B等)和子块(例如,子块A0 201A0、子块An 201An、子块B0 201B0、子块Bn 201Bn等)。存储器阵列200表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的类似结构的一部分。
每一存储器单元串包含数个层次的电荷存储晶体管(例如,浮动栅极晶体管、电荷俘获结构等),所述电荷存储晶体管在Z方向上源极到漏极地堆叠于源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一A0 SGS 231A0到第三A0 SGS 233A0、第一An SGS 231An到第三An SGS 233An、第一B0 SGS 231B0到第三B0 SGS 233B0、第一Bn SGS 231Bn到第三Bn SGS233Bn等)与漏极侧选择栅极(SGD)(例如,第一A0 SGD 226A0到第三A0 SGD 228A0、第一AnSGD 226An到第三An SGD 228An、第一B0 SGD 226B0到第三B0 SGD 228B0、第一Bn SGD 226Bn到第三Bn SGD 228Bn等)之间。3D存储器阵列中的每个存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0 220到BL2 222),且沿着Y方向布置为物理页。
在物理页内,每一层次表示一行存储器单元,且每一存储器单元串表示一列。子块可包含一或多个物理页。块可包含数个子块(或物理页)(例如,128、256、384等)。尽管本文中说明为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,且每一串具有8个层次的存储器单元,但在其它实例中,存储器阵列200可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,每一存储器单元串按需要可包含更多或更少层次(例如,16、32、64、128等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的半导体材料的一或多个额外层次。作为一实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块和每装置4个或更多个平面。
存储器阵列200中的每一存储器单元包含耦合到(例如,以电方式或以其它操作方式连接到)存取线(例如,字线(WL)WL00 210A到WL70 217A、WL01 210B到WL71 217B等)的控制栅极(CG),所述存取线按需要跨越具体层次或层次的一部分共同地耦合控制栅极(CG)。可使用相应存取线来存取或控制3D存储器阵列中的特定层次且因此串中的特定存储器单元。可使用各种选择线来存取多组选择栅极。举例来说,可使用A0 SGD线SGDA0 225A0存取第一A0 SGD 226A0到第三A0 SGD 228A0,可使用An SGD线SGDAn 225An存取第一An SGD 226An到第三An SGD 228An,可使用B0 SGD线SGDB0 225B0存取第一B0 SGD 226B0到第三B0 SGD228B0,且可使用Bn SGD线SGDBn 225Bn存取第一Bn SGD 226Bn到第三Bn SGD 228Bn。可使用栅极选择线SGS0 230A存取第一A0 SGS 231A0到第三A0 SGS 233A0和第一An SGS 231An到第三An SGS 233An,且可使用栅极选择线SGS1 230B存取第一B0 SGS 231B0到第三B0 SGS 233B0和第一Bn SGS 231Bn到第三Bn SGS 233Bn
在一实例中,存储器阵列200可包含半导体材料(例如,多晶硅等)的数个层级,其配置成耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的具体存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制具体串中的一或多个层次处的具体存储器单元。
图3说明NAND架构半导体存储器阵列300的一部分的实例示意图,所述阵列包含布置于串(例如,第一串305到第三串307)和层次(例如,说明为相应字线(WL)WL0 310到WL7317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302以及感测放大器或装置360。举例来说,存储器阵列300可说明如图2中所说明的3D NAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一SGS 331到第三SGS333)耦合到源极线(SRC)335,且使用相应漏极侧选择栅极(SGD)(例如,第一SGD 326到第三SGD 328)耦合到相应数据线(例如,第一位线(BL)BL0 320到第三位线BL2 322)。尽管在图3的实例中说明为具有8个层次(例如,使用字线(WL)WL0 310到WL7 317)和三个数据线(BL0326到BL2 328),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在如实例存储器阵列300的NAND架构半导体存储器阵列中,可通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化来存取所选存储器单元302的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在一实例中,取决于将对具体存储器单元或存储器单元集合执行的所需操作的类型,一或多个驱动器可通过将特定电位驱动到一或多个数据线(例如,位线BL0到BL2)、存取线(例如,字线WL0到WL7)或选择栅极来激活具体存储器单元或存储器单元集合。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到所选字线(例如,WL4),且因此,施加到耦合到所选字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一控制栅极(CG)341到第三控制栅极343)。编程脉冲可例如在15V处或附近开始,且在某些实例中,可在每一编程脉冲施加期间增加幅度。在将编程电压施加于所选字线的同时,可将如接地电位(例如,Vss)的电位施加到以编程为目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的浮动栅极的电荷传送(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim;FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道传送到此类非目标存储器单元的浮动栅极。传递电压可例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可包含电源电压(Vcc),例如,相对于接地电位(例如,Vss)的来自外部源或电源(例如,电池、AC-DC转换器等)的电压。
作为一实例,如果将编程电压(例如,15V或更高)施加于具体字线,例如WL4,那么可将10V的传递电压施加到一或多个其它字线,如WL3、WL5等,以禁止非目标存储器单元的编程,或保留并不以编程为目标的此类存储器单元上存储的值。随着所施加编程电压与非目标存储器单元之间的距离增大,制止对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在将15V的编程电压施加于WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。
耦合到数据线(例如,第一位线、第二位线或第三位线(BL0-BL2)320-322)中的一或多个的感测装置360可通过感测特定数据线上的电压或电流来检测相应数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行验证操作以确定所选存储器单元是否已达到其既定编程状态。如果所选存储器单元已达到其既定编程状态,则可禁止其进一步编程。如果所选存储器单元尚未达到其既定编程状态,则可施加额外编程脉冲。如果所选存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其既定编程状态,那么可将所选存储器单元或与此类所选存储器单元相关联的串、块或页标记为有缺陷的。
为了擦除存储器单元或存储器单元组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到以擦除为目标的存储器单元的衬底(且因此源极与漏极之间的通道),同时目标存储器单元的字线保持在如接地电位(例如,Vss)的电位,从而导致从目标存储器单元的浮动栅极到通道的电荷传送(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
图4说明存储器装置400的实例框图,所述存储器装置包含具有多个存储器单元404的存储器阵列402和一或多个电路或组件以提供与存储器阵列402的通信或在所述存储器阵列上执行一或多个存储器操作。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426和存储器控制单元430。
存储器阵列402的存储器单元404可布置于块中,如第一块402A和第二块402B。每一块可包含子块。举例来说,第一块402A可包含第一子块402A0和第二子块402An,且第二块402B可包含第一子块402B0和第二子块402Bn。每一子块可包含数个物理页,每一页包含数个存储器单元404。虽然本文中说明为具有两个块,每个块具有两个子块,且每个子块具有数个存储器单元404,但在其它实例中,存储器阵列402可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元404可按数个行、列、页、子块、块等布置,且使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等存取。
存储器控制单元430可根据在控制线432上接收的一或多个信号或指令来控制存储器装置400的存储器操作,所述一或多个信号或指令包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线416上接收的地址信号(A0到AX)。在存储器装置400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。在存储器装置400外部的装置的实例可包含但不限于主机、存储器控制器、处理器或图4中未说明的一或多个电路或组件。
存储器装置400可使用存取线406和第一数据线410将数据传送到存储器单元404中的一或多个(例如,写入或擦除)或从所述存储器单元中的一或多个传送数据(例如,读取)。行解码器412和列解码器414可从地址线416接收地址信号(A0到AX)并对其进行解码,可确定将存取哪个存储器单元404,且可为存取线406(例如,多个字线(WL0到WLm)中的一或多个)或第一数据线410(例如,多个位线(BL0到BLn)中的一或多个)中的一或多个提供信号,如上文所描述。
存储器装置400可包含如感测放大器420的感测电路系统,其配置成使用第一数据线410来确定(例如,读取)存储器单元404上的数据的值,或确定待写入到所述存储器单元的数据的值。举例来说,在存储器单元404的所选串中,感测放大器420中的一或多个可响应于在存储器阵列402中流动通过所选串到数据线410的读取电流而读取所选存储器单元404中的逻辑电平。
在存储器装置400外部的一或多个装置可使用I/O线(DQ0到DQN)408、地址线416(A0到AX)或控制线432与存储器装置400通信。输入/输出(I/O)电路426可根据例如控制线432和地址线416使用I/O线408将数据值传送到存储器装置400中或从其中传送数据值,如将数据值传送到页缓冲器422或存储器阵列402中或从其中传送数据值。页缓冲器422可在数据编程到存储器阵列402的相关部分中之前存储从存储器装置400外部的一或多个装置接收到的数据,或可在数据传输到存储器装置400外部的一或多个装置之前存储从存储器阵列402读取的数据。
列解码器414可将地址信号(A0到AX)接收且解码为一或多个列选择信号(CSEL1到CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1到CSELn)且选择页缓冲器422中的表示将从存储器单元404读取或将编程到所述存储器单元中的数据值的数据。所选数据可使用第二数据线418在页缓冲器422与I/O电路426之间传送。
存储器控制单元430可从外部源或电源(例如,内部或外部电池、AC-DC转换器等)接收正电源信号和负电源信号,如电源电压(Vcc)434和负电源(Vss)436(例如,接地电位)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正电源信号或负电源信号。
图5说明可对其执行本文中所论述的技术(例如,方法)中的任何一或多个的实例机器500的框图。在替代实施例中,机器500可充当独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器500可在服务器机器、客户端机器或服务器-客户端网络环境两者的能力中操作。在一实例中,机器500可充当点对点(P2P)(或其它分布式)网络环境中的对等机器。机器500可以是个人计算机(personal computer;PC)、平板PC、机顶盒(set-top box;STB)、个人数字助理(personal digital assistant;PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单个机器,但术语“机器”也将视为包含个别地或共同地执行指令集合(或多个集合)以执行本文中所论述的方法中的任何一或多个(如,云计算、软件即服务(software as a service;SaaS)、其它计算机集群配置)的任何机器总集。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或可通过逻辑、组件、装置、封装或机构来操作。电路是在包含硬件(例如,简单电路、栅极、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可随时间推移和基础硬件变化而为灵活的。电路包含当操作时可单独或组合地执行具体任务的部件。在一实例中,可不可改变地设计电路系统的硬件以实行具体操作(例如,硬接线)。在一实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以对具体操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接来形成硬件中的电路系统部件以当在操作中时实行具体任务的部分。因此,当装置操作时,计算机可读媒体以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一个可用于超过一个电路系统中的超过一个部件中。举例来说,在操作下,执行单元可在一个时间点处用于第一电路系统的第一电路,且由第一电路系统中的第二电路重新使用,或在不同时间处由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)500(例如,主机装置105、存储器装置110等)可包含硬件处理器502(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,如存储器处理装置115等)、主存储器504和静态存储器506,其中的一些或全部可经由互联链路(例如,总线)508彼此通信。机器500可进一步包含显示装置510、字母数字输入装置512(例如,键盘)和用户界面(UI)导航装置514(例如,鼠标)。在一实例中,显示装置510、输入装置512和UI导航装置514可以是触摸屏显示器。机器500可另外包含存储装置(例如,驱动单元)521、信号产生装置518(例如,扬声器)、网络接口装置520和一或多个传感器516,如全球定位系统(global positioning system;GPS)传感器、指南针、加速计或其它传感器。机器500可包含输出控制器528,如串行(例如,通用串行总线(USB))、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
存储装置521可包含机器可读媒体522,其上存储体现本文中所描述的技术或功能中的任何一或多个或由本文中所描述的技术或功能中的任何一或多个利用的数据结构或指令524(例如,软件)的一或多个集合。指令524还可在其由机器500执行的期间完全或至少部分地驻留于主存储器504内、静态存储器506内或硬件处理器502内。在一实例中,硬件处理器502、主存储器504、静态存储器506或存储装置521中的一个或任何组合可构成机器可读媒体522。
虽然机器可读媒体522说明为单个媒体,但术语“机器可读媒体”可包含配置成存储一或多个指令524的单个媒体或多个媒体(例如,集中或分布式数据库,或相关联高速缓存和服务器)。
术语“机器可读媒体”可包含任何媒体,其能够存储、编码或载送用于由机器500执行且使机器500执行本公开的技术中的任何一或多个的指令,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构。非限制性机器可读媒体实例可包含固态存储器以及光学和磁性媒体。在一实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可包含:非易失性存储器,如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,如内部硬盘和可移式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
指令524(例如,软件、程序、操作系统(operating system;OS)等)或其它数据存储在存储装置521上,可由存储器504存取以供处理器502使用。存储器504(例如,DRAM)通常是快速但易失性的,且因此与存储装置521(例如,SSD)相比具有不同存储类型,其适合于长期存储,包含在“关闭”条件中时。供用户或机器500使用的指令524或数据通常加载在存储器504中,以供处理器502使用。在存储器504满时,存储装置521的虚拟空间可分配以补充存储器504;然而,由于存储装置521通常比存储器504慢且写入速度通常比读取速度慢至少两倍,因此归因于存储装置时延(相比于存储器504,例如DRAM),虚拟存储器的使用可能极大地降低用户体验。此外,用于虚拟存储器的存储装置521的使用可极大地减少存储装置521的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,LinuxTM内核特征“ZRAM”)使用存储器的部分作为压缩块存储装置以避免对存储装置521的寻呼。寻呼可直到是时间将此类数据写入到存储装置521后才在压缩块中发生。虚拟存储器压缩增大存储器504的可用大小,同时减小对存储装置521的磨损。
针对移动电子装置或移动存储装置而优化的存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如,8位并行接口),且通常是从主机装置可移式和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度比得上基于串行ATATM(串行高级技术(AdvancedTechnology;AT)附件,或SATA)的SSD装置。然而,对移动装置性能的需求持续增大,以便完全实现虚拟或增强现实装置、利用增大的网络速度等。响应于这种需求,存储装置已从并行转换到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(low-voltage differential signaling;LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
可进一步利用数个传送协议中的任一个(例如,帧中继、因特网协议(internetprotocol;IP)、传输控制协议(transmission control protocol;TCP)、用户数据报协议(user datagram protocol;UDP)、超文本传送协议(hypertext transfer protocol;HTTP)等)经由网络接口装置520使用传输媒体在通信网络526上发射或接收指令524。实例通信网络可包含局域网(local area network;LAN)、广域网(wide area network;WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(Plain OldTelephone;POTS)网络和无线数据网络(例如,称作的电气和电子工程师协会(Institute of Electrical and Electronics Engineer;IEEE)802.11标准系列、称作的IEEE 802.16标准系列)、IEEE 802.15.4标准系列、点对点(P2P)网络等等。在一实例中,网络接口装置520可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络526。在一实例中,网络接口装置520可包含多个天线以使用单收多发(single-input multiple-output;SIMO)、多入多出(multiple-input multiple-output;MIMO)或多入单出(multiple-input single-output;MISO)技术中的至少一个无线地通信。术语“传输信号”应视为包含能够存储、编码或载送指令以由机器500执行的任何信号,且包含数字或模拟通信信号或用以促进此类软件的通信的其它信号。
图6是说明使用元数据以识别受到APL影响的页的RAIN保护方案的实例RAIN映射表600的实施例。实例RAIN映射表600表明APL旗标在十二个页/存取线(WL)的情况下与三WL缺陷RAIN保护方案一起使用。存取线可实施为字线。RAIN映射表600展示具有标记为SB#0到SB#3的四个子块的LUN 670,其中每一子块与下部页(LP)、上部页(UP)和额外页(XP)相关联,其中LP、UP和XP可视为三位单元。与LP、UP和XP中的每一个相关联是布置于三个奇偶校验组中的十五个存取线,其中每一奇偶校验组具有与耦合到数据页的四个存取线相关联的奇偶校验数据。
用于LP的SB#0的存取线WL 0、WL 3、WL 6和WL 9的写入到数据页的数据(如R0)在奇偶校验组P0中,其中奇偶校验P0在LP的SB#0的存取线WL 12的奇偶校验页处。用于LP的SB#0的存取线WL 1、WL 4、WL 7和WL 10的写入到数据页的数据(如R12)在奇偶校验组P12中,其中奇偶校验P12与LP的SB#0的存取线WL 13的奇偶校验页相关联。用于LP的SB#0的存取线WL 2、WL 5、WL 8和WL 11的写入到数据页的数据(如R24)在奇偶校验组P24中,其中奇偶校验P24与LP的SB#0的存取线WL 14的页相关联。如图6中所展示,SB#0的LP与三个奇偶校验组P0、P12和P24相关联。
用于UP的SB#0的存取线WL 0、WL 3、WL 6和WL 9的写入到数据页的数据(如R1)在奇偶校验组P1中,其中奇偶校验P1在UP的SB#0的存取线WL 12的奇偶校验页处。用于UP的SB#0的存取线WL 1、WL 4、WL 7和WL 10的写入到数据页的数据(如R13)在奇偶校验组P13中,其中奇偶校验P13与UP的SB#0的存取线WL 13的奇偶校验页相关联。用于UP的SB#0的存取线WL 2、WL 5、WL 8和WL 11的写入到数据页的数据(如R25)在奇偶校验组P25中,其中奇偶校验P25与UP的SB#0的存取线WL 14的奇偶校验页相关联。如图6中所展示,SB#0的UP与三个奇偶校验组P1、P13和P25相关联。
用于XP的SB#0的存取线WL 0、WL 3、WL 6和WL 9的写入到数据页的数据(如R2)在奇偶校验组P2中,其中奇偶校验P2在XP的SB#0的存取线WL 12的奇偶校验页处。用于XP的SB#0的存取线WL 1、WL 4、WL 7和WL 10的写入到数据页的数据(如R14)在奇偶校验组P14中,其中奇偶校验P14与XP的SB#0的存取线WL 13的奇偶校验页相关联。用于XP的SB#0的存取线WL 2、WL 5、WL 8和WL 11的写入到数据页的数据(如R26)在奇偶校验组P26中,其中奇偶校验P26与XP的SB#0的存取线WL 14的奇偶校验页相关联。如图6中所展示,SB#0的XP与三个奇偶校验组P2、P14和P26相关联。
从SB#1到SB#3的其它子块中的每一个可以与SB#0相同的方式布置。对于每一页,在三存取线缺陷保护方案的这一实例情况中,由于独特奇偶校验产生于三个字线内以恢复数据,因此每两个存取线用于产生奇偶校验组。如本文中所教示的APL程序可用于N WL缺陷RAIN保护方案,其中N是除三以外的整数。用于产生奇偶校验组的每两个存取线的布置可为所产生奇偶校验组的数据页提供排序。在图6的实例中,对于SB#0中的LP的奇偶校验组P0,具有存取线WL 0的数据页可指示奇偶校验组P0的第一数据页;具有存取线WL 3的数据页可指示奇偶校验组P0的第二数据页;具有存取线WL 6的数据页可指示奇偶校验组P0的第三数据页;且具有存取线WL 9的数据页可指示奇偶校验组P0的第四数据页。在这种排序的情况下,数据页WL0/SB#0/LP和WL3/SB#0/LP是数据页WL6/SB0/LP的先前页。数据页的排序可随着存取线的编号增大而增大。
作为一实例,假定APL事件相对于RAIN映射表600的排序发生于数据页WL0/SB#0/LP和WL3/SB#0/LP上。这两个页落在奇偶校验组P0下。在写入下一数据页WL6/SB0/LP(其也落在奇偶校验组P0下)时,可设置旗标以指示奇偶校验组P0的两个先前数据页(WL0/SB#0/LP和WL3/SB#0/LP)受到APL影响。如RAIN映射表600中所展示,WL6/SB0/LP页上的旗标设置为2。这一旗标可设置在元数据中以当写入数据时用于WL6/SB0/LP数据页中的数据。旗标可使用伴随写入到WL6/SB0/LP数据页的数据R0的元数据的字节。
设置数据页的元数据中的旗标可在使用与RAIN映射表600相关联的RAIN方案的UECC数据恢复期间使用。在图6的实例中,采用WL9/SB0/LP数据页上发生的UECC错误。在RAIN恢复过程中,读取奇偶校验组P0内的所有页以再建构发生故障的页数据。在读取WL6/SB0/LP时,旗标状态读取为二,其识别出相同RAIN奇偶校验组P0中的两个先前页受到APL影响且应从RAIN数据恢复中排除。
在不同实例中,在奇偶校验组的两个数据页经历APL但在奇偶校验组中由数据页(数据在无APL的情况下写入其中)分离的情况下,利用在无APL的情况下写入的数据可将旗标设置为在优先组中经历APL的连续页的数目。这一旗标识别在无APL的情况下写入的数据页之前的数据页的APL。随后,在其中在无APL的情况下写入数据的下一页中,在第二APL之后,利用在无APL的情况下写入的数据来设置旗标以识别与在紧接的前一页中写入数据相关联的第二APL。举例来说,考虑SB#0的UP:在数据页WL0/SB#0/UP处APL、在WL3/SB#0/UP处成功写入、在数据页WL6/SB#0/UP处APL且在数据页WL9/SB#0/UP处成功写入。这一实例的实施例可包含在数据页WL3/SB#0/UP和WL9/SB#0/UP中的每一个的元数据中将旗标设置为等于一。
虽然图6展示说明用于单个LUN的RAIN保护方案的RAIN映射表600,但类似保护方案保护可用于具有多个LUN的存储器系统。这一方法可利用识别LUN当中的页的FW来实施以形成不同奇偶校验组且实施旗标的产生和使用以处置如上文所论述的APL。旗标可包含于附加到数据的元数据中,所述数据存储于存储器系统中的页中。在用于数据的元数据中的其它信息可包含一或多个温度读数和用于存储于页中的数据的逻辑地址。温度读数可包含在其下将数据写入在页中的温度。
在在奇偶校验组的数据页中的元数据中使用旗标来相对于APL处置数据保护的情况下,可避免在当前系统中使用如所使用的指向受到APL影响的所有页/块的位映射表。这一避免可消除用以处置断电的RAM空间和固件复杂度中的相关联增大。如本文中所教示的旗标的使用可由用于存储器系统的固件管理。固件可管理实施用于存储器系统的奇偶校验保护,如RAIN保护。固件可实施以控制数据页到多个奇偶校验组的每一奇偶校验组的分配且控制每一奇偶校验组内的数据页的排序。排序可通过存取线到数据页的编号实现,耦合到存取线的奇偶校验组的每一数据页不同于奇偶校验组的其它数据页。这一排序可用于将数据写入到奇偶校验组的数据页的次序。此类固件可实施类似于RAIN映射表600的映射。
类似于RAIN映射表600的映射可实施于包括处理装置的系统和存储器系统中,所述存储器系统包含布置成用于存储器系统的数据保护的多个奇偶校验组。多个奇偶校验组的每一奇偶校验组可具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的至少一个奇偶校验页。每一数据页可具有存储容量,所述存储容量用以包含写入到数据页的数据的元数据,所述元数据具有分配有在元数据中的位置的旗标以识别出在将数据写入到奇偶校验组的数据页的次序中先于数据页的一或多个数据页的异步断电状态。对于奇偶校验组中的第一数据页,由于在将数据写入到奇偶校验组的数据页的次序中不存在先于第一数据页的数据页,因此旗标可设置为零。首先,奇偶校验组的每一数据页的元数据中的旗标可设置为零且接着随着成功写入到数据页而更新。
多个奇偶校验组可布置于存储器系统的子块中,且每一奇偶校验组可具有将数据写入到其中的四个数据页。替代地,多个奇偶校验组可布置于存储器系统的子块中,且每一奇偶校验组可具有将数据写入到其中的不同于四的数目个数据页。
一或多个数据页的异步断电状态可包含受异步断电影响状态,在所述受异步断电影响状态中阻止数据到所述次序中的前一数据页的写入操作的完成。系统可包含可与处理装置一起操作的固件,以在写入到奇偶校验组的所选数据页中的UECC错误之后的数据的再建构中用于每一奇偶校验组来排除标记为受异步断电影响的奇偶校验组的数据页。
图7是包含在可处置异步断电的奇偶校验保护的情况下与具有多个存储器装置的存储器系统710一起操作的主机705的实例系统的实施例的框图。主机705通过接口720耦合到存储器系统710。存储器系统710可包含处理装置715,所述处理装置通过总线727耦合到存储器装置712-1、712-2、712-3、712-4、712-5和712-6。存储器装置712-1、712-2、712-3、712-4、712-5和712-6可以是NAND存储器装置。但图7中展示六个存储器装置,存储器系统710可实施为具有少于或多于六个存储器装置,也就是说存储器系统710可包括一或多个存储器装置。存储器装置可以包含但不限于多个存储器裸片的数种形式实现。处理装置715可包含一或多个处理器或构造为一或多个处理器。
存储器系统700可包括固件725,所述固件具有可由处理装置715执行以至少管理存储器装置712-1、712-2、712-3、712-4、712-5和712-6的代码。固件725可驻留在耦合到处理装置715的存储器系统710的存储装置中。固件725可使用总线727或存储器系统710上的一些其它接口耦合到处理装置715。替代地,固件725可驻留在处理装置715中或可分布在具有固件组件(如但不限于代码)的存储器系统710中,所述固件组件包含处理装置715中的一或多个组件。固件725可包含具有指令的代码,所述指令可由处理装置715执行以在存储器装置712-1、712-2、712-3、712-4、712-5和712-6上操作。指令可包含用以执行用于编程到存储器系统710的多个存储器装置中的数据的奇偶校验保护的指令,如本文中所教示,其中存储于奇偶校验组的数据页中的信息用于为可处置APL的存储器系统710提供数据保护。奇偶校验方案可实施为RAIN方案。
系统700和其组件可以数种不同布置形式构造。举例来说,系统700可布置为具有所述组件类型的变型,其包括主机705、接口720、存储器系统710、存储器装置712-1、712-2、712-3、712-4、712-5和712-6、处理装置715和总线729。主机705可包括可具有不同类型的一或多个处理器。接口720可布置为但不限于外围组件互连高速(PCIe)接口。存储器系统710可以是但不限于SSD。存储器装置712-1、712-2、712-3、712-4、712-5和712-6可以是NAND存储器装置。处理装置715可包含或构造为与存储器装置712-1、712-2、712-3、712-4、712-5和712-6相容的一或多种类型的处理器。总线727可以是用于作为NAND快闪存储器装置的存储器装置712-1、712-2、712-3、712-4、712-5和712-6的开放式NAND闪存接口(ONFI)总线。存储装置714可实施以提供存储器系统710的维护中所用的数据或参数。存储装置714可包含RAM。虽然存储装置714在图7中的存储器系统710内的处理装置715外部,但存储装置714可整合于处理装置715中。存储装置714可耦合到总线727以与存储器系统710的其它组件通信。替代地,存储装置714可与处理装置715耦合,其中处理装置715处置存储装置714与存储器系统710的其它组件之间的通信。存储装置714可耦合到总线727且耦合到处理装置715。
在各种实施例中,固件725可具有指令,所述指令可由处理装置715执行以在存储器装置712-1、712-2、712-3、712-4、712-5和712-6的多个存储器装置上操作。操作可包含利用断电处置为存储器系统710提供多页奇偶校验保护。固件可在存储器系统710的多个奇偶校验组上操作,所述奇偶校验组布置成用于存储器系统710的数据保护。多个奇偶校验组的每一奇偶校验组可具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的至少一个奇偶校验页。每一数据页可具有存储容量,所述存储容量用以包含写入到数据页的数据的元数据。由处理装置715执行的所存储的固件725的指令可包含针对多个奇偶校验组的每一奇偶校验组的用以将数据写入到奇偶校验组的多个数据页且将旗标设置在数据成功地写入在其中的奇偶校验组的数据页的元数据中的操作。旗标可识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页受到异步断电影响,所述异步断电阻止到一或多个数据页的写入操作的完成。在写入到奇偶校验组的数据页中的UECC错误之后的数据的再建构中,旗标可用于排除标记为受异步断电影响的奇偶校验组的数据页。操作可包含执行各种功能,从而利用断电处置为存储器系统710提供多页奇偶校验保护,如本文中所教示。
在各种实施例中,系统可包括多个奇偶校验组,所述多个奇偶校验组布置成用于存储器系统的数据保护。多个奇偶校验组可包含第一奇偶校验组,其具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的至少一个奇偶校验页。多个数据页可包含给定数据页,其包含:数据的元数据,其写入到给定数据页;以及旗标,其分配在元数据中以识别出在将数据写入到奇偶校验组的数据页的次序中先于给定数据页的一或多个数据页的异步断电状态。在本文中的一些情况下,当识别出多个数据页中的个别数据页的特性或特征时,使用术语“给定数据页”,其中所论述的此类个别数据页可在多个页的写入序列中的任何位置处。
一或多个数据页的异步断电状态可包含受异步断电影响状态,在所述受异步断电影响状态中阻止数据到所述次序中的前一数据页的写入操作的完成。此类系统可包含处理装置和固件。固件可与处理装置一起操作,以在写入到奇偶校验组的所选数据页中的不可校正错误校正码错误之后的数据的再建构中用于每一奇偶校验组来排除标记为受异步断电影响的奇偶校验组的数据页。
第一奇偶校验组的多个数据页可包含至少另一数据页,其具有:数据的元数据,其写入到另一数据页;以及旗标,其分配在元数据中以识别出在将数据写入到奇偶校验组的多个数据页的次序中先于另一数据页的一或多个数据页的异步断电状态。此外,系统的多个奇偶校验组可布置于存储器系统的子块中。
图8是在处置断电情况的存储器系统中实施数据的奇偶校验保护方案的实例方法800的实施例的特征的框图。可使用执行存储于固件中的指令的处理装置来实施方法800。在810处,数据写入到存储器系统的奇偶校验组的多个数据页,奇偶校验组包含具有由写入到多个数据页的数据产生的奇偶校验数据的至少一个奇偶校验页。
在820处,旗标设置在数据成功地写入在其中的奇偶校验组的数据页的元数据中。旗标可识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页受到APL影响,所述APL阻止数据到一或多个数据页的写入操作的完成。将旗标设置在数据页的元数据中可包含将在将数据写入到奇偶校验组的多个数据页的次序中先于数据成功地写入在其中的数据页的受到异步APL影响的奇偶校验组的数据页的计数设置在数据成功地写入在其中的数据页中。所述计数是正整数。如果所述前一页没有受到APL影响,那么旗标可设置为值零。如果不存在数据成功地写入在其中的奇偶校验组的数据页的前一页,那么旗标可设置为值零。
方法800的变型或类似于方法800的方法可包含数个不同实施例,所述不同实施例可取决于此类方法的应用和/或实施此类方法的系统的架构而组合。此类方法可包含在写入到奇偶校验组的所选数据页中的UECC错误之后的数据的再建构中使用旗标来排除受到APL影响的奇偶校验组的数据页中的一或多个。所选数据页可以是在成功写入操作之后目前最大程度写入到数据页的奇偶校验组的数据页。再建构通过从最后一个数据页读取写入在奇偶校验组中的数据开始。奇偶校验组可布置为多个页和奇偶校验页的有序集合。在此类有序集合中,奇偶校验组的奇偶校验页可接着在奇偶校验组中将数据写入到其的最后一个页。
方法800的变型或类似于方法800的方法可包含将旗标维持在奇偶校验组的每一数据页中,以识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页相对于APL的状态。状态可实施为受影响的先前页的计数,所述计数可包含用于其中先前页没有受到断电影响的页的值零。旗标可分配有在与元数据相关联的数据写入在其中的页中的元数据中的位置。旗标可实施为页中的字节,但其它存储大小可使用。旗标位置可在元数据中的预定位置中或在随着改变(如对元数据的添加)动态地选择的元数据中的位置中。方法800的变型或类似于方法800的方法可包含将用于存储于数据页中的数据的逻辑地址维持在奇偶校验组的每一数据页的元数据中。
用于一或多个存储器装置的操作的固件可包括指令,如微码,所述指令在由处理装置执行时可引起操作的执行,操作包含将数据写入到奇偶校验组的多个数据页的操作,奇偶校验组包含将由写入在多个数据页中的数据产生的奇偶校验数据写入在其中的奇偶校验页。由处理装置执行的操作可包含将旗标设置在奇偶校验组的给定数据页的元数据中的操作,数据成功地写入在所述给定数据页中,旗标识别出在将数据写入到奇偶校验组的多个数据页的次序中先于给定数据页的一或多个数据页受到APL影响,所述APL阻止到一或多个数据页的写入操作的完成。奇偶校验组可包含于存储器系统的多个奇偶校验组中,其中多个奇偶校验组布置成用于存储器系统的数据保护。多个奇偶校验组的每一奇偶校验组可具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入在其中的至少一个奇偶校验页,其中每一数据页具有存储容量,所述存储容量包含写入到数据页的数据的元数据。处理装置可实施为一或多个处理装置的集合,如但不限于一或多个处理器的集合、一或多个存储器控制器的集合或其组合。
通过由处理装置执行固件的指令执行的操作可包含执行方法800或类似于方法800的方法的任务的操作。通过由处理装置执行固件的指令执行的操作可包含执行如本文中所教示的系统的功能的操作。以上固件或类似固件的指令的变型可包含数个不同实施例,所述不同实施例可取决于此类固件的应用和/或实施此类固件的系统的架构而组合。固件的此类指令在由处理装置执行时可引起操作的执行,所述操作可包含通过将在将数据写入到奇偶校验组的多个数据页的次序中先于数据成功地写入在其中的数据页的受到APL影响的奇偶校验组的数据页的计数设置在数据成功地写入在其中的数据页中来将旗标设置在数据页的元数据中。所述计数可以是正整数。如果所述前一页没有受到APL影响,那么旗标可设置为值零。如果不存在数据成功地写入在其中的奇偶校验组的数据页的前一页,那么旗标可设置为值零。可使用元数据的字节来实施旗标。
元数据可包含关于给定数据页的其它信息。举例来说,元数据可包含与数据成功地写入在其中的给定数据页相关联的一或多个温度读数。元数据可包含用于存储于给定数据页中的数据的逻辑地址。
固件的指令在由处理装置执行时可引起操作的执行,其中操作可包含在不可校正错误校正码错误出现的奇偶校验组的所选数据页中的数据的再建构中使用旗标来排除奇偶校验组的数据页中的一或多个。再建构可通过从最后一个数据页读取写入在奇偶校验组中的数据开始。将数据写入到奇偶校验组的数据页的次序可由存取线到数据页的编号定义,其中奇偶校验组的每一数据页与奇偶校验组的其它数据页不同地耦合到存取线。
固件的指令在由处理装置执行时可引起操作的执行,其中操作可包含将旗标维持在奇偶校验组的每一数据页中以识别出在将数据写入到奇偶校验组的数据页的次序中先于数据页的一或多个数据页的相对于APL的状态。状态可包含前一数据页是否受到APL影响。
在各种实施例中,系统可包括处理装置、存储器系统和固件,所述存储器系统包含布置成用于存储器系统的数据保护的多个奇偶校验组,所述固件具有可由处理装置执行的所存储指令以执行操作,所述操作包含用于多个奇偶校验组的每一奇偶校验组的操作。多个奇偶校验组的每一奇偶校验组可具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入在其中的至少一个奇偶校验页,其中每一数据页可具有存储容量,所述存储容量包含写入到数据页的数据的元数据。用于多个奇偶校验组的每一奇偶校验组的操作可包含以下操作:将数据写入到奇偶校验组的多个数据页;以及将旗标设置在数据成功地写入在其中的奇偶校验组的数据页的元数据中。旗标可识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页受到APL影响,所述APL阻止到一或多个数据页的写入操作的完成。
数据页中的元数据可包含与写入到数据页中的数据相关联的信息和/或与数据页的参数相关联的信息。元数据可包含与数据成功地写入在其中的数据页相关联的一或多个温度读数。数据页中的元数据可包含用于存储于数据页中的数据的逻辑地址。元数据中的旗标可以是元数据的字节。可实施用于旗标的其它大小。旗标可以是在写入数据的次序中先于数据成功地写入在其中的奇偶校验组的数据页的受到APL影响的奇偶校验组的数据页的计数。奇偶校验组的每一数据页可维持用以识别在将数据写入到奇偶校验组的数据页的次序中先于数据页的一或多个数据页相对于APL的状态的旗标。在将数据写入到奇偶校验组的数据页的次序中先于数据页的数据页没有受到APL影响的情况下,旗标可具有数据成功地写入在其中的奇偶校验组的数据页中的计数零。旗标也可具有在将数据写入到奇偶校验组的数据页的次序中不具有先前数据页的奇偶校验组的数据页中的计数零。将数据写入到奇偶校验组的数据页的次序可由存取线到数据页的编号定义,其中奇偶校验组的每一数据页与奇偶校验组的其它数据页不同地耦合到存取线。
如本文中所教示的系统的变型可包含用于每一奇偶校验组的操作,所述操作包含在不可校正错误校正码错误出现于其中的奇偶校验组的所选数据页中的数据的再建构中使用旗标来排除奇偶校验组的数据页中的一或多个。再建构可通过从最后一个数据页读取写入在奇偶校验组中的数据开始。如本文中所教示的系统和其特征的变型可包含数个不同实施例,所述不同实施例可取决于此类系统的应用和/或实施系统的架构而组合。
以下是根据本文中的教示的系统和方法的实例实施例。
实例系统1可包括:多个奇偶校验组,其布置成用于存储器系统的数据保护,多个奇偶校验组包含:第一奇偶校验组,其具有将数据写入到其中的多个数据页和将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的至少一个奇偶校验页,且多个数据页包含:给定数据页,其包含:数据的元数据,其写入到给定数据页;以及旗标,其分配在元数据中以识别出在将数据写入到奇偶校验组的数据页的次序中先于给定数据页的一或多个数据页的异步断电状态。
实例系统2可包含实例系统1的特征,且可包含一或多个数据页的异步断电状态以包含受异步断电影响状态,在所述受异步断电影响状态中阻止数据到所述次序中的前一数据页的写入操作的完成。
实例系统3可包含先前实例系统中的任一个的特征,且可包含处理装置;以及固件,其可与处理装置一起操作以在写入到奇偶校验组的所选数据页中的不可校正错误校正码错误之后的数据的再建构中用于每一奇偶校验组来排除标记为受异步断电影响的奇偶校验组的数据页。
实例系统4可包含先前实例系统中的任一个的特征,且可包含多个数据页,所述多个数据页包含至少另一数据页,其具有:数据的元数据,其写入到另一数据页;以及旗标,其分配在元数据中以识别出在将数据写入到奇偶校验组的多个数据页的次序中先于另一数据页的一或多个数据页的异步断电状态。
实例系统5可包含先前实例系统中的任一个的特征,且可包含布置于存储器系统的子块中的多个奇偶校验组。
实例系统6可包括:固件,其具有可由处理装置执行的所存储指令以执行以下操作:将数据写入到奇偶校验组的多个数据页,奇偶校验组包含将由写入在多个数据页中的数据产生的奇偶校验数据写入到其中的奇偶校验页;以及将旗标设置在数据成功地写入在其中的奇偶校验组的给定数据页的元数据中,旗标识别出在将数据写入到奇偶校验组的多个数据页的次序中先于给定数据页的一或多个数据页受到异步断电影响,所述异步断电阻止写入操作到一或多个数据页的完成。
实例系统7可包含实例系统6的特征,且可包含作为元数据的字节的旗标。
实例系统8可包含先前实例系统6和7中的任一个的特征,且可包含旗标,所述旗标是在写入数据的次序中先于数据成功地写入在其中的奇偶校验组的给定数据页的受到异步断电影响的奇偶校验组的数据页的计数。
实例系统9可包含先前实例系统6到8中的任一个的特征,且可包含元数据以包含与数据成功地写入在其中的给定数据页相关联的一或多个温度读数。
实例系统10可包含先前实例系统6到9中的任一个的特征,且可包含用于每一奇偶校验组的操作以包含在不可校正错误校正码错误出现于其中的奇偶校验组的所选数据页中的数据的再建构中使用旗标来排除奇偶校验组的数据页中的一或多个。
实例系统11可包含先前实例系统6到10中的任一个的特征,且可包含通过从最后一个数据页读取写入在奇偶校验组中的数据来开始再建构。
实例系统12可包含先前实例系统6到11中的任一个的特征,且可包含用以维持旗标的奇偶校验组的每一数据页以识别出在将数据写入到奇偶校验组的数据页的次序中先于数据页的一或多个数据页相对于异步断电的状态。
实例系统13可包含先前实例系统6到12中的任一个的特征,且可包含旗标,在将数据写入到奇偶校验组的数据页的次序中先于数据页的数据页没有受到异步断电影响的情况下,所述旗标在数据成功地写入在其中的奇偶校验组的数据页中是计数零。
实例系统14可包含先前实例系统6到13中的任一个的特征,且可包含由存取线到数据页的编号定义的将数据写入到奇偶校验组的数据页的次序,奇偶校验组的每一数据页与奇偶校验组的其它数据页不同地耦合到存取线。
实例方法1可包括:使用执行存储于固件中的指令的处理装置来将数据写入到存储器系统的奇偶校验组的多个数据页,奇偶校验组包含具有由写入到多个数据页的数据产生的奇偶校验数据的至少一个奇偶校验页;以及将旗标设置在数据成功地写入在其中的奇偶校验组的数据页的元数据中,旗标识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页受到异步断电影响,所述异步断电阻止数据到一或多个数据页的写入操作的完成。
实例方法2可包含实例方法1的特征,且可包含将旗标设置在数据页的元数据中以包含将在将数据写入到奇偶校验组的多个数据页的次序中先于数据成功地写入在其中的数据页的受到异步断电影响的奇偶校验组的数据页的计数设置在数据成功地写入在其中的数据页中。
实例方法3可包含先前实例方法中的任一个的特征,且可包含在写入到奇偶校验组的所选数据页中的不可校正错误校正码错误之后的数据的再建构中使用旗标来排除受到异步断电影响的奇偶校验组的数据页中的一或多个。
实例方法4可包含先前实例方法中的任一个的特征,且可包含通过从最后一个数据页读取写入在奇偶校验组中的数据来开始再建构。
实例方法5可包含先前实例方法中的任一个的特征,且可包含将旗标维持在奇偶校验组的每一数据页中以识别出在将数据写入到奇偶校验组的多个数据页的次序中先于数据页的一或多个数据页相对于异步断电的状态。
实例方法6可包含先前实例方法中的任一个的特征,且可包含将用于存储于数据页中的数据的逻辑地址维持在奇偶校验组的每一数据页的元数据中。
实例方法7可包含先前实例方法中的任一个的特征,且可包含执行与实例系统1到5和实例系统6到14的任何特征相关联的功能。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,如但不限于微处理器、微控制器、图形处理器、数字信号处理器(digital signalprocessor;DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可编程为擦除状态)。
根据一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、界定、利用、修改、应用等)磨损循环的数量,或磨损状态(例如,记录磨损循环、在存储器装置的操作发生时对其进行计数、跟踪其发起的存储器装置的操作、评估对应于磨损状态的存储器装置特征等)。
根据一或多个实施例,存储器存取装置可配置成为存储器装置提供每一存储器操作的磨损循环信息。存储器装置控制电路(例如,控制逻辑)可编程为补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特征)。
本文中所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有指令的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置来执行如在以上实例中所描述的方法。此类方法的实施方案可包含代码,如微码、汇编语言代码、高级语言代码或类似物。此类代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可移式磁盘、可移式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(embedded MMC;eMMC)装置及类似物。
尽管本文中已说明且描述具体实施例,但所属领域的一般技术人员将了解,预计实现相同目的的任何布置可取代所展示的具体实施例。各种实施例使用本文中所描述的实施例的排列和/或组合。应理解,以上描述旨在是说明性而不是限制性的,且本文中所采用的措词或术语是出于描述的目的。

Claims (20)

1.一种用于多页奇偶校验保护的存储器系统,所述存储器系统包括至少一个存储器装置,所述至少一个存储器装置存储:
多个奇偶校验组,其布置成用于所述存储器系统的数据保护,所述多个奇偶校验组包含:
第一奇偶校验组,其具有将数据写入到其中的多个数据页和将由写入在所述多个数据页中的所述数据产生的奇偶校验数据写入到其中的至少一个奇偶校验页,且所述多个数据页包含:
给定数据页,其包含:
数据的元数据,其写入到所述给定数据页;以及
旗标,其分配在所述元数据中以识别由异步断电事件影响的一或多个数据页的计数,所述一或多个数据页在将数据写入到所述奇偶校验组的所述数据页的次序中先于所述给定数据页。
2.根据权利要求1所述的系统,其中一或多个数据页的异步断电状态包含受异步断电影响状态,在所述受异步断电影响状态中阻止所述数据到所述次序中的先于所述给定数据页的数据页写入操作的完成。
3.根据权利要求2所述的系统,所述系统进一步包括:
处理装置;以及
固件,其能够与所述处理装置一起操作,以对于每一奇偶校验组,在向所述奇偶校验组的所选数据页写入时的不可校正的错误校正码错误之后的数据的再建构中排除所述奇偶校验组的标记为受异步断电影响的数据页。
4.根据权利要求1所述的系统,其中所述多个数据页包含至少另一数据页,其具有:
数据的元数据,其写入到所述另一数据页;以及
旗标,其分配在所述元数据中以识别出在将数据写入到所述奇偶校验组的所述多个数据页的次序中先于所述另一数据页的一或多个数据页的异步断电状态。
5.根据权利要求1所述的系统,其中所述多个奇偶校验组布置于所述存储器系统的子块中。
6.一种用于多页奇偶校验保护的系统,所述系统包括:
固件,其具有能够由处理装置执行的所存储指令以执行以下操作:
将数据写入到奇偶校验组的多个数据页,所述奇偶校验组包含将由写入在所述多个数据页中的所述数据产生的奇偶校验数据写入到其中的奇偶校验页;以及
将旗标设置在所述数据成功地写入在其中的所述奇偶校验组的给定数据页的元数据中,所述旗标识别出在将数据写入到所述奇偶校验组的所述多个数据页的次序中先于所述给定数据页的一或多个数据页受到异步断电影响,所述异步断电阻止到所述一或多个数据页的写入操作的完成。
7.根据权利要求6所述的系统,其中所述旗标是所述元数据的字节。
8.根据权利要求6所述的系统,其中所述旗标是在写入数据的所述次序中先于所述数据成功地写入在其中的所述奇偶校验组的所述给定数据页的受到异步断电影响的所述奇偶校验组的数据页的计数。
9.根据权利要求6所述的系统,其中所述元数据包含与所述数据成功地写入在其中的所述给定数据页相关联的一或多个温度读数。
10.根据权利要求6所述的系统,其中对于每一奇偶校验组,所述操作包含在不可校正的错误校正码错误出现于其中的所述奇偶校验组的所选数据页中的数据的再建构中使用所述旗标来排除所述奇偶校验组的所述数据页中的一或多个。
11.根据权利要求10所述的系统,其中所述再建构通过从最后一个数据页读取写入在所述奇偶校验组中的数据开始。
12.根据权利要求6所述的系统,其中所述奇偶校验组的每一数据页维持旗标,所述旗标用以识别出在将数据写入到所述奇偶校验组的所述数据页的所述次序中先于所述数据页的一或多个数据页相对于异步断电的状态。
13.根据权利要求12所述的系统,其中在将数据写入到所述奇偶校验组的所述数据页的次序中先于所述数据页的数据页没有受到异步断电影响的情况下,所述旗标在所述数据成功地写入在其中的所述奇偶校验组的数据页中是计数零。
14.根据权利要求6所述的系统,其中将数据写入到所述奇偶校验组的所述数据页的所述次序由到所述数据页的存取线的编号定义,所述奇偶校验组的每一数据页与所述奇偶校验组的其它数据页不同地耦合到存取线。
15.一种用于多页奇偶校验保护的方法,所述方法包括:
使用执行存储于固件中的指令的处理装置来将数据写入到存储器系统的奇偶校验组的多个数据页,所述奇偶校验组包含具有由写入到所述多个数据页的所述数据产生的奇偶校验数据的至少一个奇偶校验页;以及
将旗标设置在所述数据成功地写入在其中的所述奇偶校验组的数据页的元数据中,所述旗标识别出在将数据写入到所述奇偶校验组的所述多个数据页的次序中先于所述数据页的一或多个数据页受到异步断电影响,所述异步断电阻止所述数据到所述一或多个数据页的写入操作的完成。
16.根据权利要求15所述的方法,其中将所述旗标设置在所述数据页的所述元数据中包含将在将数据写入到所述奇偶校验组的所述多个数据页的所述次序中先于所述数据成功地写入在其中的所述数据页的受到异步断电影响的所述奇偶校验组的数据页的计数设置在所述数据成功地写入在其中的所述数据页中。
17.根据权利要求15所述的方法,其中所述方法进一步包括在向所述奇偶校验组的所选数据页写入时的不可校正的错误校正码错误之后的所述数据的再建构中使用所述旗标来排除所述奇偶校验组的受到异步断电影响的所述数据页中的一或多个。
18.根据权利要求17所述的方法,其中所述方法包含通过从最后一个数据页读取写入在所述奇偶校验组中的数据来开始所述再建构。
19.根据权利要求15所述的方法,其中所述方法进一步包括将旗标维持在所述奇偶校验组的每一数据页中,以识别出在将数据写入到所述奇偶校验组的所述多个数据页的所述次序中先于所述数据页的一或多个数据页相对于异步断电的状态。
20.根据权利要求15所述的方法,其中所述方法进一步包括将逻辑地址维持在所述奇偶校验组的每一数据页的所述元数据中,所述逻辑地址用于将所述数据存储于所述数据页中。
CN201911380065.2A 2018-12-31 2019-12-27 利用断电处置的多页奇偶校验保护 Active CN111538619B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862786889P 2018-12-31 2018-12-31
US62/786,889 2018-12-31
US16/267,586 2019-02-05
US16/267,586 US10747612B2 (en) 2018-12-31 2019-02-05 Multi-page parity protection with power loss handling

Publications (2)

Publication Number Publication Date
CN111538619A CN111538619A (zh) 2020-08-14
CN111538619B true CN111538619B (zh) 2023-11-28

Family

ID=71124282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911380065.2A Active CN111538619B (zh) 2018-12-31 2019-12-27 利用断电处置的多页奇偶校验保护

Country Status (2)

Country Link
US (3) US10747612B2 (zh)
CN (1) CN111538619B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747612B2 (en) 2018-12-31 2020-08-18 Micron Technology, Inc. Multi-page parity protection with power loss handling
US11609699B2 (en) * 2019-06-24 2023-03-21 Micron Technology, Inc. Memory device with parity data system and method
US11106530B2 (en) * 2019-12-20 2021-08-31 Micron Technology, Inc. Parity protection
CN111984193A (zh) * 2020-08-14 2020-11-24 深圳市硅格半导体有限公司 数据编写存储报错的恢复方法、系统、设备及存储介质
KR20220079221A (ko) * 2020-12-04 2022-06-13 에스케이하이닉스 주식회사 저장 장치 및 컴퓨팅 시스템
US11977443B2 (en) * 2022-08-15 2024-05-07 Micron Technology, Inc. Dynamic parity scheme

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344868A (zh) * 2008-08-28 2009-01-14 北京握奇数据系统有限公司 数据备份和获取的方法和装置
CN105183369A (zh) * 2015-08-13 2015-12-23 北京京存技术有限公司 一种NandFlash中模拟用户数据存储的方法
US20180157428A1 (en) * 2016-12-01 2018-06-07 Alibaba Group Holding Limited Data protection of flash storage devices during power loss

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006519444A (ja) * 2003-03-04 2006-08-24 深▲せん▼市朗科科技有限公司 フラッシュメモリーのデータ管理方法
US20080276124A1 (en) * 2007-05-04 2008-11-06 Hetzler Steven R Incomplete write protection for disk array
US9612954B2 (en) * 2008-12-31 2017-04-04 Micron Technology, Inc. Recovery for non-volatile memory after power loss
US8341500B2 (en) * 2010-08-31 2012-12-25 Apple Inc. Detecting corrupted data for a system having non-volatile memory
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US10318378B2 (en) 2016-02-25 2019-06-11 Micron Technology, Inc Redundant array of independent NAND for a three-dimensional memory array
US20180357017A1 (en) * 2017-06-12 2018-12-13 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
TWI646535B (zh) * 2017-12-27 2019-01-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
WO2019222958A1 (en) * 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10437670B1 (en) * 2018-05-24 2019-10-08 International Business Machines Corporation Metadata hardening and parity accumulation for log-structured arrays
US10747614B2 (en) * 2018-07-23 2020-08-18 Micron Technology, Inc. Hybrid iterative error correcting and redundancy decoding operations for memory sub-systems
US10747612B2 (en) 2018-12-31 2020-08-18 Micron Technology, Inc. Multi-page parity protection with power loss handling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344868A (zh) * 2008-08-28 2009-01-14 北京握奇数据系统有限公司 数据备份和获取的方法和装置
CN105183369A (zh) * 2015-08-13 2015-12-23 北京京存技术有限公司 一种NandFlash中模拟用户数据存储的方法
US20180157428A1 (en) * 2016-12-01 2018-06-07 Alibaba Group Holding Limited Data protection of flash storage devices during power loss

Also Published As

Publication number Publication date
US20200371870A1 (en) 2020-11-26
US20200210280A1 (en) 2020-07-02
CN111538619A (zh) 2020-08-14
US11334428B2 (en) 2022-05-17
US20220269559A1 (en) 2022-08-25
US11726867B2 (en) 2023-08-15
US10747612B2 (en) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111538619B (zh) 利用断电处置的多页奇偶校验保护
CN113168358B (zh) 具有奇偶校验保护的多个存储器装置
US11604695B2 (en) Copy-back operations in a memory device
US11688473B2 (en) SLC page read
US10325670B2 (en) Erase page check
CN112074908B (zh) Nand数据放置模式
CN113129978B (zh) 使用奇偶校验增加存储器存取并行性
KR20200100167A (ko) 정정 불가능 ecc
US11513889B2 (en) Parity protection
US20230367478A1 (en) Clustered parity for nand data placement schema
US11436078B2 (en) NAND parity information techniques for systems with limited RAM
CN111684529B (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
GR01 Patent grant
GR01 Patent grant