CN104094238B - 用于存储有效性掩码及操作设备的设备及方法 - Google Patents
用于存储有效性掩码及操作设备的设备及方法 Download PDFInfo
- Publication number
- CN104094238B CN104094238B CN201280056819.9A CN201280056819A CN104094238B CN 104094238 B CN104094238 B CN 104094238B CN 201280056819 A CN201280056819 A CN 201280056819A CN 104094238 B CN104094238 B CN 104094238B
- Authority
- CN
- China
- Prior art keywords
- page
- memory cells
- several
- validity
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明描述用于存储有效性掩码及操作设备的设备及方法。用于操作设备的若干种方法包含存储与页群组中的若干个存储器单元页相关联且提供用于所述页群组中的所述若干个存储器单元页的有效性信息的有效性掩码。
Description
技术领域
本发明一般来说涉及半导体存储器设备及方法,且更明确地说涉及用于存储有效性掩码及操作设备的设备及方法。
背景技术
存储器装置通常经提供作为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器可需要电力来维持其信息(例如,数据)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)及静态随机存取存储器(SRAM)以及其它存储器。非易失性存储器可通过在不供电时保持所存储信息来提供持久性信息且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及相变随机存取存储器(PCRAM)以及其它存储器。
可将存储器装置组合在一起以形成固态驱动器(SSD)。固态驱动器可包含非易失性存储器,例如,NAND快闪存储器及NOR快闪存储器,及/或可包含易失性存储器,例如,DRAM及SRAM,以及各种其它类型的非易失性及易失性存储器。可将包含浮动栅极快闪装置以及使用半导体-氧化物-氮化物-氧化物-半导体及金属-氧化物-氮化物-氧化物-半导体电容器结构的电荷陷阱快闪(CTF)装置(其将信息存储于氮化物层中的电荷陷阱中)的快闪存储器装置用作各种各样的电子应用程序的非易失性存储器。快闪存储器装置通常使用允许高存储器密度、高可靠性及低电力消耗的单晶体管存储器单元。
SSD可用于替换硬盘驱动器作为计算系统的主存储装置,这是因为固态驱动器就性能、大小、重量、耐用性、操作温度范围及电力消耗来说可能具有优于硬驱动器的优势。举例来说,在与磁盘驱动器相比时,SSD可由于其缺乏移动部件(此可避免搜寻时间、延时及与磁盘驱动器相关联的其它电子机械延迟)而具有优越性能。SSD制造商可使用非易失性快闪存储器来形成可不使用内部电池供电的快闪SSD,因此允许驱动器更通用及紧凑。
SSD可包含若干个存储器装置,例如若干个存储器芯片(如本文中所使用,“若干个”某物可指此些事物中的一或多者,例如,若干个存储器装置可指一或多个存储器装置)。如所属领域的技术人员将了解,存储器芯片可包含若干个裸片及/或逻辑单元(LUN)。每一裸片可包含若干个存储器阵列及其上的外围电路。所述存储器阵列可包含组织成若干个物理页的若干个存储器单元,且所述物理页可组织成若干个块。
独立装置冗余阵列(RAID)是用于在多个存储器装置当中划分及/或复制数据的计算机数据存储方案的涵盖性术语。RAID阵列中的多个存储器装置在用户及计算机的操作系统看来似乎是单个存储器装置,例如,磁盘。
存储器装置的部分(例如块的若干个页)可能是损坏的且可能无法使数据写入到其及/或从其读取数据。主记录中可指示存储器装置的损坏的部分。主记录的部分也可能变为损坏的,因此失去定位存储器装置的损坏部分的能力。
附图说明
图1是根据本发明的若干个实施例的呈计算系统的形式的设备的功能框图。
图2图解说明根据本发明的若干个实施例的存储于计算系统中的若干个有效性掩码的表。
具体实施方式
本发明包含用于存储有效性掩码及操作设备的设备及方法。用于操作设备的若干种方法包含存储与页群组中的若干个存储器单元页相关联且提供用于所述页群组中的所述若干个存储器单元页的有效性信息的有效性掩码。
在本发明的以下详细说明中,参考形成本发明的一部分的附图,且图式中以图解方式展示可如何实践本发明的若干个实施例。充分详细地描述这些实施例以使得所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。
如本文中所使用,标号“N”(尤其关于图式中的元件符号)指示如此标示的若干个特定特征可与本发明的若干个实施例包含在一起。另外,如本文中所使用,“若干个”某物可指一或多个此类事物。举例来说,若干个存储器装置可指一或多个存储器装置。
本文中的图遵循其中第一个数字或前几个数字对应于图式的图号且其余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,150可指代图1中的元件“50”,且类似元件在图2中可指代为250。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,如将了解,图中所提供的该等元件的比例及相对标度打算图解说明本发明的实施例且不应视为限制性意义。
图1是根据本发明的若干个实施例的呈包含至少一个存储器系统104的计算系统100的形式的设备的功能框图。在图1中所图解说明的实施例中,存储器系统104(例如,固态驱动器(SSD))可包含物理主机接口106、存储器系统控制器108(例如,SSD控制器)及若干个固态存储器装置110-1、...、110-N。固态存储器装置110-1、...、110-N可提供用于存储器系统的存储卷。在若干个实施例中,固态存储器系统控制器108可为特殊应用集成电路(ASIC),其中控制器108(例如,呈ASIC的形式)耦合到包含物理接口106及固态存储器装置110-1、...、110-N的印刷电路板。
如图1中所图解说明,存储器系统控制器108(例如,固态存储器系统控制器)可耦合到物理主机接口106及固态存储器装置110-1、...、110-N。物理主机接口106可用于在存储器系统104与另一装置(例如主机102)之间传递信息。主机102可包含存储器存取装置,例如,处理器。所属领域的技术人员将了解,“一处理器”可意指若干个处理器,例如,并行处理系统、若干个协处理器等。主机的实例包含膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、PDA、存储器读卡器、接口集线器等等。对于若干个实施例,物理主机接口106可呈标准化物理接口的形式。举例来说,当存储器系统104用于计算系统100中之信息存储时,物理主机接口106可为串行高级技术附件(SATA)物理接口、外围组件互连高速(PCIe)物理接口、小型计算机系统接口(SCSI)接口、串行附件SCSI(SAS)接口或通用串行总线(USB)物理接口以及其它接口。然而,一般来说,物理主机接口106可提供用于在存储器系统104与具有用于物理主机接口106的兼容接受器的主机102之间传递控制、地址、信息(例如,数据)及其它信号的接口。
固态存储器系统控制器108可与固态存储器装置110-1、...、110-N通信以读取、写入及擦除信息以及其它操作。固态存储器系统控制器108可具有可为若干个集成电路及/或离散组件的固件及/或电路。对于若干个实施例,固态存储器系统控制器108中的电路可包含用于控制跨越固态存储器装置110-1、...、110-N的存取的控制电路及用于在主机102与存储器系统104之间提供翻译层的电路。因此,存储器控制器可选择性地耦合固态存储器装置110-1、...、110-N的I/O连接(图1中未展示)以在适当时间在适当I/O连接处接收适当信号。类似地,主机102与存储器系统104之间的通信协议可不同于存取固态存储器装置110-1、...、110-N所需的通信协议。固态存储器系统控制器108可接着将从主机102接收的命令翻译成适当命令以实现对固态存储器装置110-1、...、110-N的所要存取。
固态存储器装置110-1、...、110-N可包含可一起相关联的若干个存储器单元。如本文中所使用,若干个存储器单元可一起相关联为页、块、平面、裸片、整个阵列或其它关联关系。举例来说,一些存储器阵列可包含构成存储器单元块的若干个存储器单元页。存储器单元页是可从单个操作读取或写入到单个操作中的那些存储器单元。在一些情形中,例如,在所有位线架构中,存储器单元页可为通常耦合到特定字线的存储器单元行。在其它架构中,例如在经屏蔽位线架构中,存储器单元页可为通常耦合到特定字线的存储器单元行的每隔一个存储器单元(例如,其中通常耦合到特定字线的单个存储器单元行可包含两个存储器单元页:一“奇数”页及一“偶数”页)。在过去、现在或未来可能存在形成存储器单元页的存储器单元的其它关联关系。存储器单元平面中可包含若干个块。裸片上可包含若干个存储器单元平面。作为实例,128GB存储器装置可包含多个存储器单元页,所述存储器单元页可包含每存储器单元页4320个字节的数据、每块128个页、每平面2048个块及每装置16个平面。
在若干个实施例中,每一固态存储器装置110-1、...、110-N可通过单独通道耦合到控制电路108。每一通道可与离散通道控制电路相关联。
控制器108可包含耦合到每一通道控制电路的错误恢复(例如,检测及/或校正)电路112(例如,错误校正码(ECC)电路)及/或可与一个以上通道一起使用的若干个错误恢复(例如,检测及/或校正)电路。错误恢复电路112可经配置以检测及/或校正与从固态存储器装置110-1、...、110-N读取的信息相关联的错误。错误恢复电路112可经配置以为单电平单元(SLC)及/或多电平单元(MLC)操作提供不同错误恢复方案。
在RAID阵列中,条带写入操作可包含多个页写入操作,例如,每与非易失性存储器控制电路相关联的每一通道一个页写入操作。在若干个实施例中,条带写入操作中的多个页写入操作可跨越多个通道实质上同时执行。页写入操作可允许对存储器单元页进行存取。页写入命令可发送(例如,排队)到所要通道存储器控制器且对所述若干个固态存储器装置110-1、...、110-N执行。举例来说,页写入操作可取决于固态存储器装置110-1、...、110-N中的存储器单元页的大小而包含4千字节(KB)、8KB或另一体积的用户数据加元数据。来自页写入操作的数据可通过通道存储器控制器从写入缓冲器传送到固态存储器装置110-1、...、110-N。可从主机(例如,图1中的主机102)接收用于条带写入操作的写入数据。
写入数据可跨越多个固态存储器装置110-1、...、110-N的存储卷条带化。举例来说,从主机接收的写入数据的第一部分可写入到第一存储器装置,第二部分写入到第二存储器装置等。尽管可在基于条带的操作中写入数据,但仍可在基于页的操作中读取数据。包含于用于存储器单元页的写入数据(例如,用户数据加元数据)中的数据可包含有效性掩码。有效性掩码可包含若干个数据单元(例如,位),其中每一数据单元提供在条带写入操作期间跨越存储卷而写入的相应存储器单元页的有效性状态。由有效性掩码中的数据单元提供的有效性状态可提供用于存储器单元页的有效性信息。可在其中恢复条带化到RAID阵列中的若干个存储器装置的数据的RAID恢复操作期间使用有效性掩码。有效性掩码可用于确定:来自数据条带中的存储器单元页的数据是否有效,及因此RAID恢复操作是否应试图恢复来自存储器单元页的数据。
存储器系统104可存储与存储器单元页群组相关联的有效性掩码。有效性掩码可包含若干个数据位,其中所述若干个位的一部分提供用于页群组中的若干个存储器单元页的有效性信息。有效性掩码可存储于页群组的存储器单元页(例如,目标页)中且包含用于存储其的存储器单元页(例如,目标页)及页群组的若干个其它存储器单元页的有效性信息。有效性掩码可为存储于存储器单元页中的元数据的一部分且与存储其的存储器单元页相关联。
在若干个实施例中,有效性掩码可基于写入存储器单元页的序列而存储用于页群组的若干个存储器单元页的有效性信息。页群组的存储器单元页以已知序列而写入,因此存储于页群组的存储器单元页中的有效性掩码包含用于在其中存储有效性掩码的存储器单元页之前及/或之后写入的若干个存储器单元页的有效性信息。举例来说,有效性掩码可包含用于在其中存储有效性掩码的存储器单元页之前写入的一定数目个存储器单元页及在其中存储有效性掩码的存储器单元页之后写入的一定数目个存储器单元页的有效性信息。
在若干个实施例中,有效性信息可基于表示存储为有效性掩码的二进制数据值(例如,“1”或“0”)的数据位,其中二进制数据值“1”指示与所述位相关联的存储器单元页良好,例如,能够使数据写入到存储器单元页及/或从存储器单元页读取数据;且二进制数据值“0”指示与所述位相关联的存储器单元页是损坏的及/或坏的,例如,无法使数据写入到存储器单元页及/或从存储器单元页读取数据。存储器单元页可已知为损坏的及/或坏的且在写入操作期间被跳过,及/或存储器单元页可在存储器装置的操作期间变为损坏的及/或坏的且在试图从存储器单元页读取数据时发生读取错误。存储器系统可在试图恢复不可读取的页群组中的数据时使用有效性信息。存储器系统可使用来自有效性掩码的有效性信息以确定来自不可读取的页群组的存储器单元页是否具有应恢复的数据。举例来说,如果来自不可读取的页群组的存储器单元页基于来自有效性掩码的有效性信息而已知为损坏的及/或坏的,那么在ECC操作及/或RAID恢复操作期间不做出恢复来自所述存储器单元页的数据的尝试,例如,ECC操作及/或RAID恢复操作可基于有效性掩码中的有效性信息而跳过页群组的损坏及/或坏的存储器单元页。
在若干个实施例中,有效性掩码可包含用于页群组的每一存储器单元页的有效性信息。在若干个实施例中,有效性掩码可包含页群组的存储器单元页的一部分的有效性信息。页群组的存储器单元页的具有存储于有效性掩码中的有效性信息的部分可基于写入页群组的存储器单元页的序列及/或ECC操作及/或RAID恢复操作恢复变损坏及/或坏的存储器单元页(例如,无法使数据写入到其及/或从其读取数据的存储器单元页)上的数据的能力。举例来说,有效性掩码可包含用于紧接在其中存储有效性掩码的存储器单元页之前写入的15个存储器单元页及用于紧接在其中存储有效性掩码的存储器单元页之后写入的16个存储器单元页的有效性信息。有效性掩码包含用于可(举例来说)比可经由ECC操作及/或RAID恢复操作恢复的页多至少一个页的32个存储器单元页的有效性信息。
图1中所图解说明的计算系统100可包含超过所图解说明的电路的额外电路。已减少图1中所图解说明的计算系统100的细节以便不使本发明的实施例模糊。举例来说,存储器系统104可包含用以锁存经由I/O电路在I/O连接上提供的地址信号的地址电路。可通过行解码器及列解码器接收并解码地址信号以存取固态存储器装置110-1、...、110-N。所属领域的技术人员将了解,地址输入连接的数目可取决于固态存储器装置110-1、...、110-N的密度及架构。
图2图解说明根据本发明的若干个实施例的存储于计算系统中的若干个有效性掩码的表。图2图解说明存储于若干个存储器单元页中的若干个有效性掩码232-0、232-12、232-44、232-80、232-100及232-127。所述若干个存储器单元页为群组(例如块,且举例来说,一块可包含128个页)的一部分。在图2中,有效性掩码232-0存储于群组的页0中,有效性掩码232-12存储于群组的页12中,有效性掩码232-44存储于群组的页44中,有效性掩码232-80存储于群组的页80中,有效性掩码232-100存储于群组的页100中,且有效性掩码232-127存储于群组的页127中。
有效性掩码232-0、232-12、232-44、232-80、232-100及232-127各自包含:计数220,其指示群组中的所述若干个存储器单元页;偏移222,其指示群组中的与有效性掩码相关联的存储器单元页;第一窗224;第二窗226;第三窗228及第四窗230,其中每一窗包含提供群组中的存储器单元页的有效性状态的若干个位。
在若干个实施例中,页群组可进一步划分成8个存储器单元页的窗,其中与有效性掩码相关联的窗可包含与群组中的若干个存储器单元页相关联的有效性掩码中的若干个位。举例来说,每一窗可包含各自与群组中的不同存储器单元页相关联的8个位,且因此每一窗包含用于群组中的8个存储器单元页的有效性信息。第一窗224可包含用于包含在其中存储有效性掩码的存储器单元页之前写入8页的存储器单元页的窗中的8个存储器单元页的有效性信息。第二窗226可包含用于包含其中存储有效性掩码的存储器单元页的窗中的8个存储器单元页的有效性信息。第三窗228可包含用于包含在其中存储有效性掩码的存储器单元页之后写入8页的存储器单元页的窗中的8个存储器单元页的有效性信息。第四窗230可包含用于包含在其中存储有效性掩码的存储器单元页之后写入16页的存储器单元页的窗中的8个存储器单元页的有效性信息。
在若干个实施例中,有效性掩码232-0、232-12、232-44、232-80、232-100及232-128可包含48个位,8个位提供计数,8个位提供偏移且8个位用于提供用于群组的若干个存储器单元页的有效性信息的四个窗中的每一者。在若干个实施例中,若干个位可提供有效性信息。举例来说,有效性掩码可包含提供用于32个存储器单元页的有效性信息的32个位,且在另一实例中,有效性掩码可包含提供用于48个存储器单元页的有效性信息的48个位。用于提供有效性信息的有效性掩码中的所述若干个位可基于可专用于存储有效性掩码的存储量及具有供在ECC操作及/或RAID恢复操作期间使用的可存取有效性信息的期望。
在若干个实施例中,来自若干个有效性掩码的有效性信息可以组合方式使用以获得用于若干个存储器单元页(例如页群组中的每一存储器单元页或计算系统中的存储器单元页中的每一者)的有效性信息。包含用于页群组中的存储器单元页的一部分的有效性信息的有效性掩码可经组合以获得用于页群组中的每一存储器单元页的有效性信息,因此减少对将用于整个页群组的有效性信息存储于页群组的特定存储器单元页中所存储的有效性掩码中的需要。有效性掩码可包含用于比可在ECC操作及/或RAID恢复操作期间恢复的若干个存储器单元页多至少一个页的有效性信息。因此,用于页群组的每一存储器单元页的有效性信息可经由存储于页群组的存储器单元页中的有效性掩码及/或经由在ECC操作及/或RAID恢复操作中恢复的数据而已知。
在若干个实施例中,指示有效性状态以及用于计算系统中的每一存储器单元页的其它信息的主记录可存储于计算系统的若干个存储器装置中。在主记录变为损坏的情况中,存储于计算系统的存储器单元页中的有效性掩码可用于恢复主记录。存储于计算系统的存储器单元页中的有效性掩码还可在确定存储器单元页的有效性状态时用作对主记录的替代方案。
结论
本发明包含用于存储有效性掩码及操作设备的设备及方法。用于操作设备的若干种方法包含存储与页群组中的若干个存储器单元页相关联且提供用于所述页群组中的所述若干个存储器单元页的有效性信息的有效性掩码。
尽管本文中已图解说明及描述了具体实施例,但所属领域的技术人员将了解,旨在实现相同结果的布置可替代所展示的具体实施例。本发明打算涵盖本发明的若干个实施例的改动或变化。应理解,已以说明性方式而非限定性方式做出以上说明。在审阅以上说明后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的若干个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的若干个实施例的范围应参考所附权利要求书连同此权利要求书授权的等效物的全部范围来确定。
在前述具体实施方式中,出于简化本发明的目的,将一些特征一起聚集于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权利要求中的特征多的特征的意图。而是,如所附权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,将所附权利要求书借此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (25)
1.一种用于操作设备的方法,其包括:
将有效性掩码存储于目标页中,所述有效性掩码与页群组的多个存储器单元页相关联且提供用于所述页群组中的所述多个存储器单元页中的每一者的有效状态和位置信息,其中所述多个存储器单元页包括所述目标页、写入序列中在所述目标页之前写入的第一若干个存储器单元页以及所述写入序列中在所述目标页之后写入的第二若干个存储器单元页。
2.根据权利要求1所述的方法,其中所述页群组包含在所述目标页之前写入的若干个存储器单元页。
3.根据权利要求1所述的方法,其中所述页群组包含在所述目标页之后写入的若干个存储器单元页。
4.根据权利要求1到3中任一权利要求所述的方法,其中存储所述有效性掩码包含将所述有效性掩码存储于所述设备中。
5.根据权利要求1到3中任一权利要求所述的方法,其中存储所述有效性掩码包含存储指示所述页群组中的与所述有效性掩码相关联的所述若干个存储器单元页的计数。
6.根据权利要求1到3中任一权利要求所述的方法,其中存储所述有效性掩码包含存储指示所述页群组中的与所述有效性掩码相关联的所述目标页的位置的偏移。
7.根据权利要求1到3中任一权利要求所述的方法,其中存储所述有效性掩码包含将计数、偏移及有效性信息存储于所述有效性掩码的若干个数据单元中。
8.根据权利要求1到3中任一权利要求所述的方法,其中存储所述有效性掩码包含存储所述有效性掩码的若干个数据单元,其中所述若干个单元的一部分指示所述页群组中的特定存储器单元页的有效性状态。
9.一种用于操作设备的方法,其包括:
将有效性掩码的若干个数据单元存储于页群组的特定存储器单元页中,其中所述若干个数据单元提供仅用于所述页群组的多个存储器单元页中的一部分的有效性信息,且其中所述多个存储器单元页中的所述一部分包括所述特定存储器单元页、写入序列中在所述特定存储器单元页之前写入的第一若干个存储器单元页以及所述写入序列中在所述特定存储器单元页之后写入的第二若干个存储器单元页。
10.根据权利要求9所述的方法,其中存储所述有效性掩码的所述若干个数据单元包含将所述若干个数据单元存储于所述设备的若干个存储器装置中。
11.根据权利要求9所述的方法,其中所述有效性信息包含提供用于比可使用ECC操作恢复的若干个存储器单元页多至少一个页的有效性信息。
12.根据权利要求9到11中任一权利要求所述的方法,其包含将所述特定存储器单元页的所述有效性掩码与关联于所述群组中的若干个存储器单元页的其它有效性掩码进行组合以形成用于所述页群组的有效性掩码。
13.根据权利要求9到11中任一权利要求所述的方法,其中所述有效性信息包含用于将在写入操作期间跳过的存储器单元页的有效性信息。
14.根据权利要求9到11中任一权利要求所述的方法,其中所述有效性信息包含用于被确定为由于与存储器单元页相关联的读取错误而无法使数据从所述存储器单元页读取的所述页的有效性信息。
15.一种用于操作设备的方法,其包括:
以一序列将数据写入到若干个存储器单元页;及
将有效性掩码存储于目标页中,所述有效性掩码与页群组的多个存储器单元页相关联且提供用于所述多个存储器单元页中的每一者的有效状态和位置信息,其中所述多个存储器单元页包括所述目标页、所述序列中在所述目标页之前写入的第一若干个存储器单元页以及所述序列中在所述目标页之后写入的第二若干个存储器单元页。
16.根据权利要求15所述的方法,其中所述有效性掩码包含用于所述序列中的所述若干个存储器单元页的有效性信息,所述若干个存储器单元页包含所述序列中的在目标存储器单元页之前写入的存储器单元页、所述目标存储器单元页及在所述目标存储器单元页之后写入的存储器单元页。
17.根据权利要求15到16中任一权利要求所述的方法,其中所述有效性掩码包含用于比可使用ECC操作恢复的若干个存储器单元页多至少一个页的有效性信息。
18.根据权利要求15到16中任一权利要求所述的方法,其中所述有效性掩码包含指示所述若干个存储器单元页中的哪些存储器单元页试图使用ECC操作恢复的有效性信息。
19.一种存储器设备,其包括:
若干个存储器单元阵列;及
控制器,其可操作地耦合到所述若干个阵列且经配置以:
将数据条带化到存储器单元页群组,其中所述页群组包含所述若干个存储器单元阵列的存储器单元页;及
将与多个存储器单元页相关联的有效性掩码存储于目标存储器单元页中,其中,所述有效性掩码提供用于所述页群组中的包括所述目标存储器单元页的多个存储器单元页的有效性信息和位置信息,且其中所述多个存储器单元页包括写入序列中在所述目标存储器单元页之前写入的第一若干个存储器单元页以及所述写入序列中在所述目标存储器单元页之后写入的第二若干个存储器单元页。
20.根据权利要求19所述的存储器设备,其中所述有效性掩码的数据单元提供所述页群组的所述若干个页中的特定页的有效性状态。
21.根据权利要求19到20中任一权利要求所述的存储器设备,其中所述有效性掩码包含指示所述页群组中的与所述有效性掩码相关联的所述若干个存储器单元页的计数。
22.根据权利要求19到20中任一权利要求所述的存储器设备,其中所述有效性掩码包含指示所述页群组中的与所述有效性掩码相关联的目标存储器单元页的位置的偏移,且其中所述有效性掩码存储于所述目标存储器单元页中。
23.一种存储器设备,其包括:
若干个存储器单元阵列;及
控制器,其可操作地耦合到所述若干个阵列且经配置以:
将与多个存储器单元页相关联的有效性掩码存储于目标存储器单元页中,其中所述有效性掩码提供用于包括所述目标存储器单元页的所述多个存储器单元页的有效状态和位置信息,且其中所述多个存储器单元页包含在写入序列中在所述目标存储器单元页之前写入的第一若干个存储器单元页及在所述写入序列中在所述目标存储器单元页之后写入的第二若干个存储器单元页。
24.根据权利要求23所述的存储器设备,其中所述若干个存储器单元页包含比可使用ECC操作校正的若干个存储器单元页多至少一个页。
25.根据权利要求23到24中任一权利要求所述的存储器设备,其中所述有效性掩码被存储为与所述目标存储器单元页相关联的元数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/299,430 | 2011-11-18 | ||
US13/299,430 US8892828B2 (en) | 2011-11-18 | 2011-11-18 | Apparatuses and methods for storing validity masks and operating apparatuses |
PCT/US2012/064480 WO2013074420A1 (en) | 2011-11-18 | 2012-11-09 | Apparatuses and methods for storing validity masks and operating apparatuses |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104094238A CN104094238A (zh) | 2014-10-08 |
CN104094238B true CN104094238B (zh) | 2018-02-02 |
Family
ID=48428091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280056819.9A Active CN104094238B (zh) | 2011-11-18 | 2012-11-09 | 用于存储有效性掩码及操作设备的设备及方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8892828B2 (zh) |
EP (1) | EP2780812B1 (zh) |
JP (1) | JP5908106B2 (zh) |
KR (1) | KR101645829B1 (zh) |
CN (1) | CN104094238B (zh) |
WO (1) | WO2013074420A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180087496A (ko) * | 2017-01-23 | 2018-08-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
CN110720126B (zh) * | 2017-06-30 | 2021-08-13 | 华为技术有限公司 | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 |
CN111949199B (zh) * | 2019-05-16 | 2024-04-26 | 兆易创新科技集团股份有限公司 | 一种存储设备的数据写入方法、装置及存储设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598553A (en) * | 1994-03-08 | 1997-01-28 | Exponential Technology, Inc. | Program watchpoint checking using paging with sub-page validity |
US20060109725A1 (en) * | 2003-04-04 | 2006-05-25 | Samsung Electronics Co., Ltd. | Apparatus and method for managing bad blocks in a flash memory |
US20080229003A1 (en) * | 2007-03-15 | 2008-09-18 | Nagamasa Mizushima | Storage system and method of preventing deterioration of write performance in storage system |
CN101770427A (zh) * | 2009-01-07 | 2010-07-07 | 芯邦科技(深圳)有限公司 | 一种利用Flash存储空间的方法及装置 |
US20100235715A1 (en) * | 2009-03-13 | 2010-09-16 | Jonathan Thatcher | Apparatus, system, and method for using multi-level cell solid-state storage as single-level cell solid-state storage |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0810553B2 (ja) * | 1986-06-13 | 1996-01-31 | 松下電器産業株式会社 | 記憶回路 |
JPH0546490A (ja) * | 1991-08-09 | 1993-02-26 | Toshiba Corp | メモリカード装置 |
US5361345A (en) | 1991-09-19 | 1994-11-01 | Hewlett-Packard Company | Critical line first paging system |
US6571323B2 (en) | 1999-03-05 | 2003-05-27 | Via Technologies, Inc. | Memory-access management method and system for synchronous dynamic Random-Access memory or the like |
US8266367B2 (en) * | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
JP4129381B2 (ja) | 2002-09-25 | 2008-08-06 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US6978353B2 (en) | 2002-10-18 | 2005-12-20 | Sun Microsystems, Inc. | Low overhead snapshot in a storage array using a tree-of-slabs metadata |
US6996664B2 (en) | 2003-01-22 | 2006-02-07 | Micron Technology, Inc. | Ternary content addressable memory with enhanced priority matching |
US7873878B2 (en) | 2007-09-24 | 2011-01-18 | International Business Machines Corporation | Data integrity validation in storage systems |
GB2476215B (en) | 2008-09-15 | 2013-02-06 | Otis Elevator Co | Method of handling passenger requests during elevator modernization |
KR101515525B1 (ko) | 2008-10-02 | 2015-04-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
US20110035540A1 (en) * | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US20120166749A1 (en) | 2009-09-08 | 2012-06-28 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
US8595425B2 (en) | 2009-09-25 | 2013-11-26 | Nvidia Corporation | Configurable cache for multiple clients |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
-
2011
- 2011-11-18 US US13/299,430 patent/US8892828B2/en active Active
-
2012
- 2012-11-09 KR KR1020147014964A patent/KR101645829B1/ko active IP Right Grant
- 2012-11-09 WO PCT/US2012/064480 patent/WO2013074420A1/en active Application Filing
- 2012-11-09 EP EP12850652.4A patent/EP2780812B1/en active Active
- 2012-11-09 CN CN201280056819.9A patent/CN104094238B/zh active Active
- 2012-11-09 JP JP2014542361A patent/JP5908106B2/ja active Active
-
2014
- 2014-10-22 US US14/520,732 patent/US9274883B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598553A (en) * | 1994-03-08 | 1997-01-28 | Exponential Technology, Inc. | Program watchpoint checking using paging with sub-page validity |
US20060109725A1 (en) * | 2003-04-04 | 2006-05-25 | Samsung Electronics Co., Ltd. | Apparatus and method for managing bad blocks in a flash memory |
US20080229003A1 (en) * | 2007-03-15 | 2008-09-18 | Nagamasa Mizushima | Storage system and method of preventing deterioration of write performance in storage system |
CN101770427A (zh) * | 2009-01-07 | 2010-07-07 | 芯邦科技(深圳)有限公司 | 一种利用Flash存储空间的方法及装置 |
US20100235715A1 (en) * | 2009-03-13 | 2010-09-16 | Jonathan Thatcher | Apparatus, system, and method for using multi-level cell solid-state storage as single-level cell solid-state storage |
Also Published As
Publication number | Publication date |
---|---|
JP2014534539A (ja) | 2014-12-18 |
WO2013074420A1 (en) | 2013-05-23 |
US20150100853A1 (en) | 2015-04-09 |
CN104094238A (zh) | 2014-10-08 |
KR101645829B1 (ko) | 2016-08-04 |
US20130132703A1 (en) | 2013-05-23 |
US9274883B2 (en) | 2016-03-01 |
KR20140088212A (ko) | 2014-07-09 |
JP5908106B2 (ja) | 2016-04-26 |
US8892828B2 (en) | 2014-11-18 |
EP2780812A1 (en) | 2014-09-24 |
EP2780812B1 (en) | 2018-06-13 |
EP2780812A4 (en) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042441B2 (en) | Stripe mapping in memory | |
KR101405741B1 (ko) | 스트라이프-기반 비-휘발성 멀티레벨 메모리 동작 | |
US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
KR101888009B1 (ko) | 저장 장치 | |
KR101491943B1 (ko) | 트랜잭션 로그 복구 | |
US20180129558A1 (en) | Optimizing reclaimed flash memory | |
US10290353B2 (en) | Error mitigation for 3D NAND flash memory | |
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
CN109656472A (zh) | 存储器系统及其操作方法 | |
CN104094238B (zh) | 用于存储有效性掩码及操作设备的设备及方法 | |
WO2021216125A1 (en) | Storage devices having minimum write sizes of data | |
TWI823649B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置 | |
EP4411551A1 (en) | Memory device, memory system including the same, and operating method of memory system | |
US20240274213A1 (en) | Data Storage Device and Method for Runtime Exclusive-Or Zoning During Folding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |