CN108121669B - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN108121669B
CN108121669B CN201710933396.9A CN201710933396A CN108121669B CN 108121669 B CN108121669 B CN 108121669B CN 201710933396 A CN201710933396 A CN 201710933396A CN 108121669 B CN108121669 B CN 108121669B
Authority
CN
China
Prior art keywords
block
bad
memory
blocks
super 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
Application number
CN201710933396.9A
Other languages
English (en)
Other versions
CN108121669A (zh
Inventor
吴翊诚
朴炳奎
李圭慜
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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN108121669A publication Critical patent/CN108121669A/zh
Application granted granted Critical
Publication of CN108121669B publication Critical patent/CN108121669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Abstract

本发明公开一种存储器系统,其可以包括:存储器装置,其包括以多个超级存储块配置的多个存储块;和控制器,其适于检测超级存储块中的两个或更多个坏超级存储块,每个超级存储块包括至少一个坏块,在坏超级存储块中选择至少一个牺牲超级存储块,并利用牺牲超级存储块的至少一个正常块替换每个剩余的坏超级存储块中的至少一个坏块。

Description

存储器系统及其操作方法
相关申请的交叉引用
该申请要求于2016年11月29日向韩国知识产权局提交的申请号为10-2016-0160093的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
示例性实施例涉及一种包括存储器装置的存储器系统及其操作方法。
背景技术
计算机环境范例已经变为可以在任何时间任何地点使用的普适计算系统。因此,诸如移动电话、数码照相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可以用作便携式电子装置的主存储器或辅助存储器。
由于存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
在存储器系统中,存储器装置可以由多个块来配置,其中一些块可能是坏块或变成坏块。通常,存储器系统可以响应于访问坏块的请求以用正常块交换坏块以提供对正常块的访问。然而,需要过大的存储空间以将与坏块和正常块的交换有关的映射信息存储在存储器系统中。
发明内容
本发明的各个实施例涉及一种在使用存储器装置中呈现显著提高效率的存储器系统及其操作方法。
在实施例中,存储器系统可以包括:存储器装置,其包括以多个超级存储块配置的多个存储块;以及控制器,其适于检测超级存储块中的两个或更多个坏超级存储块,每个坏超级存储块包括至少一个坏块,在坏超级存储块中选择至少一个牺牲(victim)超级存储块,并且利用牺牲超级存储块的至少一个正常块替换每个剩余的坏超级存储块中的至少一个坏块。
控制器可以生成坏组表,该坏组表表示剩余的坏超级存储块中的每一个的至少一个坏块和至少一个牺牲超级存储块的对应正常块之间的映射关系,该对应正常块替换剩余的坏超级存储块中的每一个的至少一个坏块。
响应于访问两个或更多个坏超级存储块中的至少一个的请求,控制器可以根据映射关系提供对替换请求访问的坏超级存储块中的坏块的正常块的访问。
控制器可以利用具有与坏超级存储块中坏块的物理位置相同的物理位置的正常块来替换坏块,该物理位置在存储器装置中可以是平面水平的。
坏组表可以包括分别表示至少一个牺牲超级存储块的至少一个条目(entry),对于该至少一个条目,坏组表可以包括分别表示对应牺牲超级存储块的存储块的物理位置的多个位置字段,并且表示至少一个牺牲超级存储块中的正常块的每个位置字段可以具有其还有坏块的坏超级存储块的地址值,该坏块被位置字段表示的正常块替换。
坏组表可以包括以矩阵的形式配置的至少一行和多列,并且至少一个牺牲超级块可以对应于一行,包括在至少一个牺牲超级块中的存储块可以对应于列,并且包括在坏超级块中的坏块可以被映射到列。
响应于该请求,控制器可以通过以下方式提供对替换请求访问的坏超级存储块中的坏块的正常块的访问:在坏组表中逐条目地搜索请求访问的坏超级存储块的地址值;以及通过正常块的物理位置来识别替换请求访问的坏块的正常块,正常块的物理位置由具有请求访问的坏超级存储块的地址值的位置字段表示。
坏组表可以包括表示至少一个牺牲超级存储块的至少一个条目,对于该至少一个条目,坏组表可以包括分别表示至少一个牺牲超级存储块的存储块的物理位置的多个位置字段,每个位置字段包括第一子字段和第二子字段,其对应位置字段表示至少一个牺牲超级存储块中的正常块的第一子字段可以具有其含有坏块的坏超级存储块的地址值,该坏块被由对应位置字段表示的正常块替换,以及对应位置字段的第二子字段可以已经是指针(pointer)信息,该指针信息表示另一个牺牲超级存储块中的另一个正常块替换由对应位置字段表示的坏超级存储块中的另一个坏块。
响应于访问至少一个坏超级存储块的请求,控制器可以通过以下方式来提供替换请求访问的坏超级存储块中的坏块的正常块:在坏组表中逐条目地搜索请求访问的坏超级存储块的地址值;通过第一正常块的物理位置来识别替换各个请求访问的坏超级存储块中的坏块的第一个坏块的第一正常块,第一正常块的物理位置由具有在其第一子字段中的各个请求访问的坏超级存储块的地址值的位置字段表示;以及经由对应于各个第一正常块和之后的正常块的位置字段的第二子字段中的指针信息,通过各个第二正常块和之后的正常块的物理位置,来识别各个第二正常块和之后的正常块,各个第二正常块和之后的正常块替换在各个请求访问的坏超级存储块中的各个第二坏块和之后的坏块,各个第二正常块和之后的正常块的物理位置由对应于各个第二正常块和之后的正常块并具有对应于各个第二正常块和之后的正常块的位置字段的第一子字段中的各个请求访问的坏超级存储块的地址值的位置字段来表示。
在一个实施例中,一种包括存储器装置的存储器系统的操作方法,该存储器装置包括多个超级存储块,每个超级存储块具有多个存储块,该方法可以包括:检测超级存储块中的两个或更多个坏超级存储块,每个坏超级存储块包括至少一个坏块;在坏超级存储块中选择至少一个牺牲超级存储块;并且利用牺牲超级存储块的正常块来替换每个剩余的坏超级存储块中的坏块,该替换可以包括生成坏组表,该坏组表表示剩余的坏超级存储块的坏块和至少一个牺牲超级存储块的替换各个坏块的对应正常块之间的映射关系。
该替换可以包括响应于访问一个或多个坏超级存储块的请求,根据映射关系提供对替换请求访问的坏超级存储块中的坏块的正常块的访问。
各个坏块可利用具有与各个坏超级存储块中的各个坏块的物理位置相同的物理位置的各个正常块来替换,并且该物理位置在存储器装置中可以是平面水平的。
坏组表可以包括分别表示至少一个牺牲超级存储块的至少一个条目,该至少一个条目包括分别表示至少一个牺牲超级存储块的存储块的物理位置的多个位置字段,表示至少一个牺牲超级存储块中的正常块的每个位置字段具有其含有坏块的坏超级存储块的地址值,该坏块被位置字段表示的正常块替换。
坏组表可以包括以矩阵的形式配置的至少一行和多列,至少一个牺牲超级块对应于一行,包括在至少一个牺牲超级块中的存储块对应于该列,并且包括在坏超级块中的坏块映射到该列。
提供访问可以包括:在坏组表中逐条目地搜索请求访问的坏超级存储块的地址值;以及通过正常块的物理位置来识别替换请求访问的坏超级存储块中的坏块的正常块,正常块的物理位置由具有请求访问的坏超级存储块的地址值的位置字段表示。
坏组表可以包括分别表示至少一个牺牲超级存储块的至少一个条目,对于该至少一个条目,坏组表可以包括分别表示至少一个牺牲超级存储块的存储块的物理位置的多个位置字段,并且每个位置字段包括第一子字段和第二子字段,其对应位置字段表示至少一个牺牲超级存储块中的正常块的第一子字段可以具有其含有坏块的坏超级存储块的地址值,该坏块被由对应位置字段表示的正常块替换,并且对应位置字段的第二子字段可以已经是指针信息,该指针信息表示另一牺牲超级存储块中的另一正常块替换由对应位置字段表示的坏超级存储块中的另一坏块。
提供访问可以包括:在坏组表中逐条目地搜索请求访问的坏超级存储块的地址值;通过第一正常块的物理位置来识别替换各个请求访问的坏超级存储块中的坏块的第一个坏块的第一正常块,第一正常块的物理位置由具有在其第一子字段中的各个请求访问的坏超级存储块的地址值的位置字段来表示;以及经由对应于各个第一正常块和之后的正常块的位置字段的第二子字段中的指针信息,通过各个第二正常块和之后的正常块的物理位置,来识别各个第二正常块和之后的正常块,各个第二正常块和之后的正常块替换在各个请求访问的坏超级存储块中的各个第二坏块和之后的坏块,各个第二正常块和之后的正常块的物理位置由对应于各个第二正常块和之后的正常块并具有对应于各个第二正常块和之后的正常块的位置字段的第一子字段中的各个请求访问的坏超级存储块的地址值的位置字段来表示。
在一个实施例中,存储器系统可以包括:存储器装置,其包括多个管芯,每个管芯包括多个平面,每个平面包括多个存储块;控制器,其适于将多个存储块布置在多个超级存储块中,检测两个或更多个坏超级存储块,每个坏超级存储块包括坏块,在坏超级存储块中选择牺牲超级存储块,并生成坏组表,该坏组表表示剩余的坏超级存储块中每一个的坏块和牺牲超级存储块的对应正常块之间的映射关系,牺牲超级存储块的对应正常块替换剩余的坏超级存储块中的每一个的坏块。
响应于访问坏超级存储块的请求,控制器可以根据映射关系提供对替换请求访问的坏超级存储块中的坏块的正常块的访问。
控制器可以将坏块替换为具有与坏超级存储块中坏块的物理位置相同物理位置的正常块,并且该物理位置在存储器装置中可以是平面水平的。
附图说明
从下面参照附图的详细描述,本发明的这些和其它特征和优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是说明根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图2是说明在图1的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是说明在图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是说明图2的存储器装置的示例性三维结构的示意图;
图5A是说明超级存储块的示例图;
图5B是说明根据本发明的实施例的管理存储器系统中以超级存储块为单位的存储块的操作的简图;
图6是说明根据实施例的存储器系统的操作方法的流程图。
图7是说明根据实施例的分配牺牲超级存储块的正常块的操作的流程图。
图8A和图8B是说明根据实施例的分配牺牲超级存储块的正常块的操作的简图。
图9是说明根据实施例的分配牺牲超级存储块的正常块的操作的流程图。
图10A和10B是说明根据实施例的分配牺牲超级存储块的正常块的操作的简图。
图11是说明根据实施例的推断牺牲超级存储块的正常块的操作的流程图。
图12是说明根据另一实施例的推断牺牲超级存储块的正常块的操作的流程图。
图13至图18是示例性地说明根据本发明的各个实施例的图1的数据处理系统的应用示例的简图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。然而,注意到,本发明可以不同的其他实施例、形式以及其变型来实施,并且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将是彻底和完整的,并且将本发明完全地传达给本发明所属领域的技术人员。在整个本公开中,本发明的各个附图和实施例中的相同的附图标记表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于区分一个元件和另一个元件。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可以被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些实例下,比例可能已经被夸大以便清楚地说明实施例的特征。
将进一步将理解的是,当元件被称为“连接至”或“联接至”另一元件时,其可以直接在其它元件上、连接至或联接至其它元件,或者可能存在一个或多个中间元件。此外,还将理解的是,当将元件称为两个元件“之间”时,其可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。
本文使用的术语仅用于描述特定实施例的目的,而不是限制本发明。如本文所使用的,除非上下文另有明确表示,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。如本文所用,术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应被解释为具有与本公开和相关领域的技术语境中的含义一致的含义,并且将不会以理想化或过于正式的意义来解释,除非本文如此明确这样定义。
在下面的描述中,阐述了许多具体细节以便提供对本发明的透彻理解。可以在没有一些或全部这些具体细节中的情况下实践本发明。在其他情况中,为了不使本发明被不必要地模糊,没有详细描述公知的进程结构和/或进程。
还注意的是,在一些情况中,对于相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可以单独使用或与实施例的其它特征或元件组合使用,除非另有明确说明。
在下文中,将参照附图详细地说明本发明的各个实施例。
图1是说明根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可以包括用于管理和控制主机102的整体功能和操作的至少一个OS(操作系统),并且使用数据处理系统100或存储器系统110提供主机102和用户之间的操作。OS可以支持对应于用户的使用目的和用途的功能和操作。例如,OS可以根据主机102的移动性被划分成普通OS和移动OS。普通OS可以根据用户的环境被划分成个人OS和企业OS。例如,配置成支持向普通用户提供服务的功能的个人OS可以包括Windows和Chrome,并且配置成保护和支持高性能的企业OS可以包括Windows服务器、Linux和Unix。此外,配置成支持向用户提供移动服务和系统的功率节省功能的移动OS可以包括Android、iOS和Windows Mobile。主机102可以包括多个OS,并且执行OS以对存储器系统110执行对应于用户请求的操作。
存储器系统110可以响应于主机102的请求而操作以便为主机102存储数据。存储器系统110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、缩小尺寸MMC(RS-MMC)和微型MMC。SD卡可以包括迷你-SD卡和微型-SD卡。
存储器系统110可以由各种类型的存储器装置实施。包括在存储器系统110中的存储器装置的非限制性示例可以包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如下列的非易失性存储器装置:只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁抗RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。闪速存储器可以具有三维(3D)堆叠结构。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以为主机102存储数据,控制器130可以控制数据在存储器装置150中的存储。
控制器130和存储器装置150可以被集成至单个半导体器装置中,单个半导体器装置可以被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可以包括计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数字照相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储器装置、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不提供电力,其可以保留其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可以包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156中的每一个可以包括多个页面,并且每个页面可以包括联接至字线的多个存储器单元。
控制器130可以响应于来自主机102的请求控制存储器装置150。例如,控制器130可以将从存储器装置150中读取的数据提供到主机102,并将由主机102提供的数据存储至存储器装置150中。对于这个操作,控制器130可以控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可以包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪速控制器(NFC)142和存储器144,其全部通过内部总线可操作地联接。
主机接口单元132可以被配置成处理主机102的命令和数据,并且可以通过以诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、外围组件高速互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电子(IDE)。
ECC单元138可以检测和校正包含在从存储器装置150中读取的数据中的错误。换句话说,ECC单元138可以通过在ECC编码进程期间使用的ECC码对从存储器装置150中读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可以输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不会校正错误位,并且可以输出错误校正失败信号。
ECC单元138可以通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可以包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可以提供和管理控制器130的电力。
NFC 142可以用作用于接口连接控制器130和存储器装置150的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,NFC 142可以在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。NFC 142可以用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可以支持控制器130和存储器装置150之间的数据传输。
存储器144可以用作存储器系统110和控制器130的工作存储器,并存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求控制存储器装置150以执行读取操作、写入操作、编程操作和擦除操作。控制器130可以将从存储器装置150中读取的数据提供给主机102,并可以将从主机102提供的数据存储至存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以通过易失性存储器实施。例如,存储器144可以通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可以设置在控制器130内部或控制器130外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可以通过具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器实施。
处理器134可以控制存储器系统110的全部操作。处理器134可以驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。
控制器130的处理器134可以包括用于执行存储器装置150的坏管理操作的管理单元(未示出)。管理单元可以执行用于检查包括在存储器装置150中的多个存储块152至156中的坏块的坏块管理操作,在该坏块中在编程操作期间由于NAND闪速存储器的特性而发生编程失败。管理单元可以将坏块的编程失败的数据写入到新的存储块中。在具有3D堆叠结构的存储器装置150中,坏块管理操作可降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
图2是说明存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0至N-1中的每一个可以包含多个页面,例如2M个页面,页面的数量可以根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是以下中的一个或多个:存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的MLC且被称为三层单元(TLC),存储4位数据的MLC且被称为四层单元(QLC)、或存储5位或更多位数据的MLC。
图3是说明存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可以对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任一个的存储块330可以包括联接到多个对应位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可以串联地联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以通过能够存储多位的数据信息的MLC实施。单元串340中的每一个可以被电联接至多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串被联接至第一位线BL0,最后一个单元串被联接至最后位线BLm-1。
虽然图3说明NAND闪速存储器单元,但本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。另外,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮置栅极的闪速存储器装置或是包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150进一步可以包括电压供应单元310,其根据操作模式提供包括程序电压、读取电压和通过电压的字线电压以供应至字线。电压供应单元310的电压生成操作可以通过控制电路(未示出)来控制。在控制电路的控制下,电压供应单元310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择被选择的存储块的字线中的一个,并可能根据需要将字线电压提供给被选择的字线和未被选择的字线。
存储器装置150可以包括通过控制电路控制的读取/写入电路320。在检验/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待被存储在存储器单元阵列中的数据,并根据接收的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页缓冲器322至326,并且页缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是说明存储器装置150的示例性3D结构的示意图。
存储器装置150可以通过2D存储器装置或3D存储器装置来实施。具体地,如图4所示,存储器装置150可以通过具有3D堆叠结构的非易失性存储器装置实施。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储块BLK0至BLKN-1,存储块中的每一个具有3D结构(或垂直结构)。
图5A是说明超级存储块的示例图。
参照图5A,存储器装置150包括多个存储块BLOCK000至BLOCK11N。
存储器装置150包括联接至第零通道CH0的第零存储器管芯DIE0和联接至第一通道CH1的第一存储器管芯DIE1。第零通道CH0和第一通道CH1可以交错方案输入/输出数据。
第零存储器管芯DIE0包括分别联接至多个路径(way)WAY0和WAY1的多个平面PLANE00和PLANE01以通过共享第零通道CH0以交错方案传输数据。
第一存储器管芯DIE1包括分别联接至多个路径WAY2和WAY3的多个平面PLANE10和PLANE11以通过共享第一通道CH1以交错方案传输数据。
第零存储器管芯DIE0的第一平面PLANE00包括多个存储块BLOCK000至BLOCK11N中的预定数量的存储块BLOCK000至BLOCK00N。
第零存储器管芯DIE0的第二平面PLANE01包括多个存储块BLOCK000至BLOCK11N中的预定数量的存储块BLOCK010至BLOCK01N。
第一存储器管芯DIE1的第一平面PLANE10包括多个存储块BLOCK000至BLOCK11N中的预定数量的存储块BLOCK100至BLOCK10N。
第一存储器管芯DIE1的第二平面PLANE11包括多个存储块BLOCK000至BLOCK11N中的预定数量的存储块BLOCK110至BLOCK11N。
以这种方式,包括在存储器装置150中的多个存储块BLOCK000至BLOCK11N可以根据它们的物理位置被划分以通过相同路径或相同通道接收和提供数据。
作为示例,图5A说明包括在存储器装置150中的两个存储器管芯DIE0和DIE1,包括在管芯DIE0和DIE1中的每一个中的两个平面以及包括在每个平面中的相同预定数量的存储块。注意的是,根据设计者的选择,存储器管芯的数量可以大于或小于两个。此外,平面的数量可以大于或小于两个,并且包括在每个平面中的存储块的数量可以根据设计者的选择来不同地调节。
同时,控制器130可以通过将存储块分组成一些超级存储块来管理多个存储块,控制器130可以同时选择超级存储块中的每一个。例如,控制器130可以根据同时选择和操作存储块而使用划分多个存储块的方案。例如,通过对多个存储块中能够被同时选择的存储块进行分组,控制器130可以对根据物理位置并利用划分方案被划分成不同管芯或不同平面的多个存储块进行管理,从而将多个存储块划分成超级存储块。
以这种方式通过控制器130将多个存储块分组成超级存储块的方案可以根据设计者的选择来修改。本文将例示三个示例性方案。
根据第一示例,将存储器装置150的存储块管理成超级存储块的方法可以包括控制器130通过将包括在存储器装置150中的多个存储器管芯DIE0和DIE1之间的第零存储器管芯DIE0的第一平面PLANE00中的一个可选存储块BLOCK000和第二平面PLANE01中的一个可选存储块BLOCK010分组来管理一个超级存储块A1。当将第一方案应用于包括在存储器装置150中的多个存储器管芯DIE0和DIE1之间的第一存储器管芯DIE1时,控制器130可以通过将第一存储器管芯DIE1的第一平面PLANE10中的一个可选存储块BLOCK100和第二平面PLANE11中的一个可选存储块BLOCK110分组来管理一个超级存储块A2。
另一示例可以包括控制器130通过将包括在存储器装置150中的多个存储器管芯DIE0和DIE1之间的第零存储器管芯DIE0的第一平面PLANE00中包括的一个可选存储块BLOCK002和包括在第一存储器管芯DIE1的第一平面PLANE10中的一个可选存储块BLOCK102分组来管理一个超级存储块B1。当再次应用第二方案时,控制器130可以通过将包括在存储器装置150中的多个存储器管芯DIE0和DIE1之间的第零存储器管芯DIE0的第二平面PLANE01中包括的一个可选存储块BLOCK012和包括在第一存储器管芯DIE1的第二平面PLANE11中的一个可选存储块BLOCK112分组来管理一个超级存储块B2。
第三示例可以包括控制器130通过将包括在存储器装置150中的多个存储器管芯DIE0和DIE1之间的第零存储器管芯DIE0的第一平面PLANE00中包括的一个可选存储块BLOCK001、包括在第零存储器管芯DIE0的第二平面PLANE01中的一个可选存储块BLOCK011、包括在第一存储器管芯DIE1的第一平面PLANE10中的一个可选存储块BLOCK101和包括在第一存储器管芯DIE1的第二个平面PLANE11中的一个可选存储块BLOCK111分组来管理一个超级存储块C。
在各个超级存储块中,可以通过交错方案,例如,通道交错方案、存储器管芯交错方案、存储芯片交错方案或路径交错方案来同时地选择存储块。
图5B是说明根据本发明的实施例的管理存储器系统中的以超级存储块为单位的存储块的操作的简图。
首先,例示的存储器装置150包括八个存储器管芯DIE<0:7>,八个存储器管芯DIE<0:7>中的每一个包括四个平面PLANE<0:3>以允许八个存储器管芯DIE<0:7>包括总共32个平面PLANE<0:3>*8,并且32个平面PLANE<0:3>*8中的每一个包括1024个存储块BLOCK<0:1023>。换句话说,例示的存储器装置150包括总共32768个存储块BLOCK<0:1023>*32。
另外,例示在存储器装置150中,包括在八个存储器管芯DIE<0:7>中的总共32个平面PLANE<0:3>*8通过两个通道CH<0:1>和8个路径WAY<0:7>输入/输出数据。即,例示在存储器装置150中,8个管芯DIE<0:7>各自的四个平面PLANE<0:3>共享8个路径WAY<0:7>中的一个。另外,8个路径WAY<0:7>中的前半部分(例如,前四个路径WAY<0:3>)共享第一通道CH0,8个路径WAY<0:7>中的后半部分(例如,最后四个路径WAY<4:7>)共享第二通道CH1。
根据本发明的实施例的存储器系统110的控制器130利用通过以超级存储块为单位来划分包括在存储器装置150中的多个存储块来使用管理它们的方案。
如图5B所示,控制器130通过选择包括在存储器装置150中的32个平面PLANE<0:3>*8中的每一个中的一个任意存储块来管理超级存储块SUPER BLOCK<0:1023>中的每一个。因此,32个存储块被包括在超级存储块SUPER BLOCK<0:1023>中的每一个中。
由于控制器130同时地选择包括在超级存储块SUPER BLOCK<0:1023>的每一个中的32个存储块,所以在如图6中以超级存储块为单位执行管理的配置中,仅使用超级存储块地址来选择各个超级存储块SUPER BLOCK<0:1023>。
换句话说,在以超级存储块为单位执行管理的配置中,仅使用超级存储块地址(未示出)来选择1024个超级存储块SUPER BLOCK <0:1023>,而不是使用存储块地址(未示出)来选择包括在存储器装置150中的各个32768个存储块BLOCK<0:1023>*32。
以这种方式,为了仅使用超级存储块地址,控制器130使用通过对包括在存储器装置150中的32个平面PLANE<0:3>*8中的相同位置的存储块分组来管理超级存储块的方案。
例如,控制器130通过将包括在存储器装置150中的32个平面PLANE<0:3>*8的各个中的32个第零存储块BLOCK0分组来管理第零超级存储块SUPER BLOCK0,通过对32个平面PLANE<0:3>*8的各个中的32个第一存储块BLOCK1分组来管理第一超级存储块SUPERBLOCK1,并通过对32个平面PLANE<0:3>*8的32个第二存储块BLOCK2分组来管理第二超级存储块SUPER BLOCK2。以这种方式,控制器130通过将包括在存储器装置150中的32768个存储块BLOCK<0:1023>*32划分成总共1024个超级存储块SUPER BLOCK<0:1023>来管理它们。
同时,包括在存储器装置150中的所有存储块基本上不可能正常运行。也就是说,在包括在存储器装置150中的多个存储块中存在不同程度地不正常工作的坏存储块是常态。例如,在图5B的实施例中,32768个存储块BLOCK<0:1023>*32被包括在存储器装置150中,对应于大约2%的大约650个存储块可能是坏存储块。
就这一点而言,如上所述,在控制器130使用通过对包括在存储器装置150中的各个32个平面PLANE<0:3>*8中的相同位置的存储块分组来管理超级存储块的方案以便在仅使用超级存储块地址的情况下,坏超级存储块可能无法正常工作,其中坏存储块包括在超级存储块SUPER BLOCK<0:1023>中。也就是说,如果包括在超级存储块SUPER BLOCK<0:1023>中的每一个中的32个存储块中的一个存储块被确定为坏存储块,则相应坏超级存储块可能无法正常工作。
以这种方式,即使在包括在超级存储块中的32个存储块中,只有一个存储块是坏存储块,且所有剩余的31个存储块都是正常的存储块,超级存储块也是坏超级存储块并且不能使用,这显然效率低下。
考虑到这一事实,在根据本发明的实施例的存储器系统110中,通过下面将参照图6至图12描述的存储器系统110的操作方法重新使用其中包括至少一个坏存储块的坏超级存储块。
图6是说明根据实施例的存储器系统110的操作方法的流程图。
参照图6,控制器130可以在步骤611处检测存储器装置150中的至少一个坏块。
具体地,控制器130可以在多个超级存储块中检测包括至少一个坏块的超级存储块作为坏超级存储块。此外,控制器130可以在步骤612处在多个坏超级存储块中选择至少一个牺牲超级存储块。例如,基于包括在各个坏超级存储块中的坏块的数量,控制器130可以在坏超级存储块中选择具有最少数量的坏块的坏超级存储块作为牺牲超级存储块。控制器130可以检测包括在各个坏超级存储块中的坏块的位置,并将坏块的位置存储在坏块汇总表中。
控制器130可以在步骤613处分配包括在牺牲超级存储块中的正常块来替换包括在剩余的坏超级存储块中的坏块。
控制器130可以管理表示牺牲超级存储块的各个正常块和剩余的坏超级存储块的各个坏块之间的映射物理位置关系的映射信息。也就是说,控制器130可以将牺牲超级存储块的正常块分别映射至剩余的坏超级存储块的坏块。控制器130可以将映射信息存储在坏组表中。坏组表可以包括分别对应于多个牺牲超级存储块的一个或多个条目(entries)。例如,当假设最多选择20个超级存储块作为牺牲超级存储块时,坏组表可以具有20个条目。
图7是说明根据实施例的在步骤613处的操作的流程图。图8A和8B是说明根据实施例的在步骤613处的操作的简图。
参照图7和8A,控制器130可以在步骤711处为坏超级存储块的坏块选择牺牲超级存储块的正常块。被选择的正常块可以具有与坏超级存储块的坏块的物理位置相同的物理位置。物理位置可以是平面水平的。
例如,超级存储块145(“SUPER BLOCK 145”)可以被选择作为牺牲超级存储块。假设牺牲超级存储块145(“SUPER BLOCK 145”)包括管芯0中的平面0和管芯1中的平面0的坏块145。例如,超级存储块180(“SUPER BLOCK 180”)可以是坏超级存储块。假设坏超级存储块180(“SUPER BLOCK 180”)包括管芯0平面2和平面3的坏块180。
控制器130可以在步骤711处为坏超级存储块180(“SUPER BLOCK 180”)的坏块180选择牺牲超级存储块145(“SUPER BLOCK 145”)的管芯0的平面2和平面3的正常块145,平面2和3是坏超级存储块180('SUPER BLOCK 180')的坏块180的相同物理位置。
控制器130可以在步骤713处将牺牲超级存储块的被选择的正常块映射至坏超级存储块的坏块。
牺牲超级存储块的存储块的物理位置信息以及牺牲超级存储块与剩余的坏超级存储块之间的映射信息可以被包括在图8B所示的坏组表中。参照图8B,坏组表可以包括分别表示牺牲超级存储块的一个或多个条目。图8B例示分别表示牺牲超级存储块145、牺牲超级存储块504、牺牲超级存储块607等的多个条目。对于每个条目,坏组表可以包括分别表示由条目表示的牺牲超级存储块的存储块的物理位置的多个位置字段。存储块的物理位置可以是如图8B所例示的平面水平的。
控制器130可以在步骤711处在坏组表中利用预定值来标记牺牲超级存储块的坏块。图8B例示在坏组表中利用值“FFFF”标记位于牺牲超级存储块145的管芯0的平面0和管芯1的平面0中的坏块。
此外,控制器130可以在步骤713将牺牲超级存储块的被选择的正常块映射至坏超级存储块的坏块。被选择的正常块和坏块可以具有相同物理位置。如图8B所例示,控制器130可以在坏超级存储块180中为相同物理位置的坏块选择位于牺牲超级存储块145中的管芯0的平面2和平面3中的正常块。图8B例示表示在牺牲超级存储块145中的管芯0的平面2和平面3的被选择的正常块的位置字段,其利用坏组表中的表示坏超级存储块180的地址值“180”来标记。换句话说,坏组表可以由一行或多行和多列构成。多个牺牲超级块可以分别对应于多个行,包括在每个牺牲超级块中的存储块可以分别对应于多个列。例如,控制器130可以在坏组表中添加超级块地址以将包括在牺牲超级块(即“SUPER BLOCK 145”)中的正常块(“DIE 0,PLANE 2”和“DIE 0,PLANE 3”)映射至坏超级块(即“SUPER BLOCK 180”)。详细地说,如附图所示,在将表示“SUPER BLOCK 145”的超级块地址存储在坏块组表的第一行中之后,表示“SUPER BLOCK 180”的超级块地址被存储在对应于第一行的多个列中的对应于“DIE 0,PLANE 2”的列和对应于“DIE 0,PLANE 3”的列的每一个中。当“FFFF”的值被存储在对应于坏组表的第一行的多个列中的对应于“DIE 0,PLANE 0“的列和对应于“DIE 1,PLANE 0”的列的每一个中时,这表示对应于坏组表的第一行的“UPER BLOCK 145”的'DIE0,PLANE 0”和“DIE 1,PLANE 0”都是坏块。
虽然在图8B中未详细示出,但是表示“SUPER BLOCK 166”的超级块地址存储在对应于坏组表的第一行的多个列中的对应于'DIE 0,PLANE 1'的列中意味着“SUPER BLOCK166”的“DIE 0,PLANE 1”是坏块,并且通过利用作为正常块的“SUPER BLOCK 145”的“DIE0,PLANE 1”的映射替换坏块。类似地,表示“SUPER BLOCK 501”的超级块地址存储在对应于坏组表的第一行的多个列中的对应于“DIE 7,PLANE 3”的列中意味着“SUPER BLOCK 501”的“DIE 7,PLANE 3”是坏块,并且通过利用作为正常块的“SUPER BLOCK 145”的“DIE 7,PLANE”的映射来替换坏块。此外,表示“SUPER BLOCK 463”的超级块地址存储在对应于坏组表的第二行的多个列中的对应于“DIE 7,PLANE 3”的列中意味着“SUPER BLOCK 463”的“DIE 7,PLANE 3”是坏块,并且通过使用作为正常块的“SUPER BLOCK 504”的“DIE 7,PLANE3”的映射来替换坏块。
图9是说明根据另一实施例的在步骤613处的操作的流程图。图10A和10B是说明根据实施例的在步骤613处的操作的简图。
参照图9,步骤911和步骤913可以与参照图7、图8A和图8B描述的步骤711和713相同。
例如,超级存储块145和超级存储块607(分别为“SUPER BLOCK 145”和“SUPERBLOCK 607”)可以被选择作为牺牲超级存储块。假设牺牲超级存储块145(“SUPER BLOCK145”)包括管芯0中的平面0和管芯1中的平面0的坏块145。还假设牺牲超级存储块607(“SUPER BLOCK 607”)包括管芯0中的平面3的坏块607。进一步假设坏超级存储块200(“SUPER BLOCK 200”)包括管芯0的平面3和管芯1的平面0的坏块200。因此,通过仅使用包括在“SUPER BLOCK 145”中的正常块,不可能替换“SUPER BLOCK 200”的所有坏块,同样地,仅使用包括在“SUPER BLOCK 607”中的正常块,不可能替换“SUPER BLOCK 200”的所有坏块。在这种情况下,控制器130可以从用于单个坏超级存储块的坏块的两个或多个牺牲超级存储块中选择正常块。例如,在步骤911和913处,控制器130可以选择牺牲超级存储块145(“SUPER BLOCK 145”)的管芯0的平面3的正常块145,并将牺牲超级存储块145(“SUPERBLOCK 145”)的管芯0的平面3的正常块145映射至坏超级存储块200(“SUPER BLOCK 200”)的坏块200,其中平面3是坏超级存储块200(“SUPER BLOCK 200”)的坏块200的相同物理位置。
图10B例示表示牺牲超级存储块145中管芯0的平面3的被选择的正常块145的位置字段的第一子字段,其利用表示坏组表中的坏超级存储块200的地址值“200”来标记。如上所述,对于每个条目,坏组表可以包括分别表示由条目表示的牺牲超级存储块的存储块的物理位置的多个位置字段。与参照图8B描述的坏组表的实施例不同,表示牺牲超级存储块的被选择的正常块的每个位置字段可以包括图10B的坏组表中的第一子字段和第二子字段。第一子字段可以具有牺牲超级存储块和剩余的坏超级存储块之间的映射信息,其与参照图8B所述的坏组表的实施例相同。稍后将描述第二子字段。
即使在第一牺牲超级存储块的所有可用正常块在步骤913处被映射至坏超级存储块的坏块之后,控制器130可以在步骤915处确定坏超级存储块是否仍然具有未被映射至第一牺牲超级存储块(例如,牺牲超级存储块145)的一个或多个坏块。如图10A所例示,因为牺牲超级存储块145中管芯1的平面0的块145是坏块,所以坏超级存储块200中管芯1的平面0的坏块200不能被映射到牺牲超级存储块145的可用正常块145。在这种情况下,控制器130可以确定,即使第一牺牲超级存储块145的所有可用的正常块145在步骤913处被映射至坏超级存储块的坏块之后,坏超级存储块200仍然具有未被映射到第一牺牲超级存储块145的管芯1的平面0的坏块200。
在控制器130在步骤915处确定坏超级存储块仍然具有未被映射到第一牺牲超级存储块的一个或多个坏块的情况下(是),控制器130可以在步骤917处将第二牺牲超级存储块的被选择的正常块,例如,可以将牺牲超级存储块607(“SUPER BLOCK 607”)的管芯1的平面0的被选择的正常块607映射至坏超级存储块200(“SUPER BLOCK 200”)的剩余坏块200,平面0在坏超级存储块200的剩余坏块200的相同物理位置处。
图10B例示表示利用表示坏组表中坏超级存储块200的地址值“200”标记的第二牺牲超级存储块607中管芯1的平面0的被选择的正常块607的位置字段的第一子字段。
如上所述,表示牺牲超级存储块的被选择的正常块的每个位置字段可以包括图10B的坏组表中的第一子字段和第二子字段。第二子字段可以具有指针信息,该指针信息表示另一牺牲超级存储块具有映射至坏超级存储块的坏块的被选择的正常块,该坏块由包括在与第二子字段的相同位置字段中的第一子字段表示。
图10B例示在表示第一牺牲超级存储块145中的管芯0的平面3的被选择的正常块145的位置字段中,第二子字段具有指针信息“S3D1P0”,该指针信息“S3D1P0”表示第二牺牲超级存储块607具有映射至坏超级存储块200的坏块200的管芯1的平面0的被选择的正常块607,该坏超级存储块200的坏块200由包括在与第二子字段相同位置字段中的第一子字段表示(即,表示第一牺牲超级存储块145中的管芯0的平面3的被选择的正常块145的位置字段)。
另外,图10B示例了在表示牺牲超级存储块607中管芯1的平面0的第二被选择的正常块607的位置字段中,因为坏超级存储块200中的所有坏块都被映射至第一和第二牺牲超级存储块145和607的被选择的正常块,所以第二子字段具有指针信息“END”,该指针信息“END”表示不存在由包括在与第二子字段相同的位置字段(即,表示第二牺牲超级存储块607中的管芯1的平面0的被选择的正常块607的位置字段)中的第一子字段表示的坏超级存储块200中的坏块的其他牺牲超级存储块。例如,当坏超级存储块200中管芯1的平面0的坏块200通过其中包括的第一子字段被映射至由表示管芯1的平面0的物理位置的特定位置字段表示的管芯1的平面0的正常块607,并且其中包括的第二子字段具有指针信息“END”时,管芯1的平面0的坏块可以是坏超级存储块200中的最后一个。
此外,图10B例示在表示第一牺牲超级存储块145中的管芯0的平面0的坏块145的位置字段中,因为包括在相同的位置字段(即,表示第一牺牲超级存储块145中的管芯0的平面0的坏块145的位置字段)中的第一子字段具有表示坏块145的值“FFFF”,所以第二子字段具有表示空白值的指针信息“VOID”。
返回参照图9,控制器130可以在步骤917处进一步设定分别对应于具有映射至单个坏超级存储块(例如,坏超级存储块200)的坏块的正常块的多个牺牲超级存储块(例如,第一和第二牺牲超级存储块145和607)的多个条目的第二子字段的值(例如,“S3D1P0”的值,“END”的值和“VOID”的值)。
虽然在图8A中未详细示出,但是表示“SUPER BLOCK 166”的超级块地址存储在对应于坏组表的第一行的多个列中的对应于“DIE 0,PLANE 1”的列中意味着“SUPER BLOCK166”的“DIE 0,PLANE 1”是坏块,并且通过映射使用作为正常块的“SUPER BLOCK 145”的“DIE 0,PLANE 1”来替换坏块。类似地,表示“SUPER BLOCK 501”的超级块地址存储在对应于坏组表的第一行的多个列中的对应于“DIE 7,PLANE 3”的列中意味着“SUPER BLOCK501”的“DIE 7,PLANE 3”是坏块,并且通过映射使用作为正常块的“SUPER BLOCK 145”的“DIE 7,PLANE 3”来替换坏块。此外,表示“SUPER BLOCK 463”的超级块地址存储在对应于坏组表的第二行的多个列中的对应于“DIE 7,PLANE 3”的列中意味着“SUPER BLOCK 463”的“DIE 7,PLANE 3”是坏块,并且通过映射使用作为正常块的“SUPER BLOCK 504”的“DIE7,PLANE 3”来替换坏块。
控制器130可以通过使用图8B所示的坏组表将包括在牺牲超级块中的正常块映射到包括在坏超级块中的坏块。也就是说,如上参照图8B所示,通过使用坏组表中的两行,能够使包括在第一牺牲超级块和第二牺牲超级块中的正常块替换包括在一个坏超级块中的坏块。然而,如果使用如图8B所示的操作方法,则当访问后面的超级块时,需要在坏组表中搜索彼此分离的两行,因此可能需要很长的时间来搜索。
因此,在本公开的实施例中,通过根据图10B所示的方案生成坏组表,即使在搜索彼此分离的至少两行的情况下,快速搜索也许会成为可能。
详细地,参照图10B,坏组表由多个行和多个列配置,并且多个列中的每一列可以包括两个区域,即第一区域和第二区域。多个牺牲超级块可以分别对应于多个行,包括在牺牲超级块中的存储块可以对应于多个列的各个第一区域,并且联接(coupling)信息被存储在多个列的各个第二区域中。联接信息是允许相应列找到并被联接到另一牺牲超级块而不是相应行的牺牲超级块的信息。例如,控制器130可以在坏组表中将超级块地址添加到包括在第一牺牲超级块,即“SUPER BLOCK 145”中的正常块的第一区域,即“DIE 0,PLANE 3”,以将正常块,即“DIE 0,PLANE 3”映射至坏超级块,即“SUPER BLOCK 200”。此外,控制器130可以在坏组表中将超级块地址添加到包括在第二牺牲超级块,即“SUPER BLOCK 607”中的正常块的第一区域,即“DIE 1,PLANE 0”以将正常块,即“DIE 1,PLANE 0”映射至坏超级块,即“SUPER BLOCK 200”。
具体地,如附图所示,在将表示“SUPER BLOCK 145”的超级块地址存储在坏组表的第一行中之后,表示“SUPER BLOCK 200”的超级块地址被存储在对应于第一行的多个列中的对应于“DIE 0,PLANE 3”的列的第一区域中。类似地,在将表示“SUPER BLOCK 607”的超级块地址存储在坏组表的第三行中之后,表示“SUPER BLOCK 200”的超级块地址被存储在对应于第三行的多个列中的对应于“DIE 1,PLANE 0”的列的第一区域中。然后,用于在对应于坏组表的第三行的多个列中找到对应于“DIE 1,PLANE 0”的列的信息S3D1P0被存储在对应于坏组表的第一行的多个列中的对应于“DIE 0,PLANE 3”的列的第二区域中。通过这样,为了访问“SUPER BLOCK 200”,在通过搜索对应于坏组表的第一行的多个列的各个第一区域确认用于替换在“SUPER BLOCK 200”的“DIE 0,PLANE 3”中的坏块的正常块被包括在“SUPER BLOCK 145”中之后,通过对应于“SUPER BLOCK 145”的“DIE 0,PLANE 3”的列的第二区域能够立即找到对应于第三行的“DIE 1,PLANE 0”的列的第一个区域。由于第三行对应于“SUPER BLOCK 607”,所以可以确认用于替换在“SUPER BLOCK 200”的“DIE 1,PLANE0”中的坏块的正常块被包括在“SUPER BLOCK 607”中。换句话说,在搜索坏组表的第一行之后,无需搜索对应于第二行的整列和对应于第三行的“DIE 0”的列,能够立即进入对应于第三行的“DIE 1,PLANE 0”的列,检查该列的第一区域,并确认用于替换的正常块被包括在“SUPER BLOCK 607”中。“END”的值被存储在对应于坏组表的第三行的“DIE 1,PLANE 0”的列的第二区域中,这表示“DIE 1,PLANE 0”是作为坏超级块包括在“SUPER BLOCK 200”中的最后一个坏块。即,存储在坏组表的所有列中的每一列的第二区域中的“END”的值意味着坏块不再存在于由存储在相应列的第一区域中的超级块地址表示的坏超级块中。例如,在由存储在对应于“DIE 0,PLANE 1”的列的第一个区域中的超级块地址表示的坏块被定位于“SUPER BLOCK 180”的“DIE 0,PLANE 1”中之后,存储在对应于坏组表的第一行的多个列中的对应于“DIE 0,PLANE 1”的列的第二区域中的“END”的值意味着不再存在坏块。
此外,当“FFFF”的值被存储在对应于坏组表的第一行的多个列中的对应于“DIE0,PLANE 0”的列和对应于“DIE 1,PLANE 0”的列中的每一列的第一区域中时,这表示对应于坏组表的第一行的“SUPER BLOCK 145”的“DIE 0,PLANE 0”和“DIE 1,PLANE 0”都是坏块。如果“FFFF”的值以这种方式被存储在相应列的第一个区域中,则任何值都可以被存储在相应列的第二个区域中。就这一点而言,附图例示相应列被保持为空或以“FFFF”的值存储。
返回参照图6,当控制器130在步骤615处检测来自主机102的对存储器装置150中的超级存储块的访问请求时,当从主机102接收对存储器装置150的访问请求时,控制器130可以检测该访问请求。当控制器130根据该访问请求尝试访问包括在存储器装置150中的多个超级存储块中的任一个时,对应超级存储块可能是坏超级块。控制器130可以在步骤617处基于坏块汇总表确定请求访问的超级存储块是否是坏超级存储块。在步骤611处生成坏块汇总表。当控制器130在步骤617处确定请求访问的超级存储块是坏超级存储块时,控制器130可以在步骤619处从在步骤613处生成的坏组表中找到映射至包括在请求访问的超级存储块中的坏块的正常块。控制器130可以在步骤621处提供对请求访问的超级存储块和牺牲超级存储块的正常块的访问。
在实施例中,在从坏组表中找到映射至请求访问的超级存储块的坏块的正常块的步骤619处,控制器130可以按顺序逐条目地扫描参照图8B描述的坏组表中的位置字段,以便找到请求访问的坏超级存储块的地址值。当请求访问的坏超级存储块的地址值被找到时,控制器130可以响应于针对请求访问的坏超级存储块的坏块的访问请求,用牺牲超级存储块中的相同物理位置的正常块来替换由具有地址值的位置字段表示的物理位置的坏块。如图8B所示,控制器130可以用牺牲超级存储块145中的相同物理位置的正常块来替换位于请求访问的坏超级存储块180中的管芯0的平面2和平面3中的坏块。
在实施例中,控制器130可以在步骤619处按顺序逐条目地扫描参照图10B描述的坏组表中的位置字段的第一子字段,以便找到请求访问的坏超级存储块的地址值。当请求访问的坏超级存储块的地址值在第一牺牲超级存储块的特殊第一子字段中被找到时,控制器130可以响应于针对请求访问的坏超级存储块的坏块的访问请求,用第一牺牲超级存储块中的相同物理位置的正常块来替换由具有地址值的第一子字段的位置字段表示的物理位置的坏块。如图10B所示,控制器130可以用第一牺牲超级存储块145中的相同物理位置的正常块来替换位于请求访问的坏超级存储块200中的管芯1的平面3中的坏块。
此外,在实施例中,当请求访问的坏超级存储块的地址值在第一牺牲超级存储块的特殊第一子字段中被找到时,控制器130可以检查包括在与特殊第一子字段相同的位置字段中的第二子字段的指针信息。当第二子字段的指针信息表示第二牺牲超级存储块中的正常块的物理位置时,控制器130可以响应于针对请求访问的坏超级存储块的坏块的访问请求,用第二牺牲超级存储块中的相同物理位置的正常块来替换由具有地址值的第一子字段的位置字段表示的物理位置的坏块。如图10B所例示,由于第一牺牲超级存储块145中的指针信息“S3D1P0”,表示第二牺牲超级存储块607具有映射至由包括在与第二子字段相同的位置字段(即,表示第一牺牲超级存储块145中的管芯0的平面3的正常块145的位置字段)中的第一子字段表示的坏超级存储块200的坏块200的管芯1的平面0的正常块607,所以控制器130可以用第二牺牲超级存储块607中的相同物理位置的正常块607来替换位于请求访问的坏超级存储块200中的管芯1的平面0中的坏块。
控制器130可以基于指针信息重复对第二子字段的指针信息的检查以及用正常块替换坏块直到控制器130找到表示指针信息“END”的第二子字段,使得当前第二牺牲超级存储块被认为是下一个第一牺牲超级存储块。
当第二子字段表示指针信息“END”时,控制器130可以结束步骤619。如图10B所示,由于牺牲超级存储块607中的指针信息“END”,所以控制器130可以结束步骤619并转至步骤621。
如上所述,在关于图10B的坏组表的实施例中,由于包括在第二子字段中的指针信息,所以控制器130可以不必逐条目地扫描坏组表中的所有位置字段。
图11是根据实施例的推断牺牲超级块的正常块的操作的流程图。
参照图11,可以看出,在上述参照图7、图8A和图8B描述的方案中生成坏组表的情况下,控制器130执行搜索坏组表的操作,以推断用于替换包括在对其检测请求访问的坏超级块中的坏块的牺牲超级块的正常块。
详细地,在操作1111、操作1113和操作1117处,为了检查表示对其检测请求访问的坏超级块的超级块地址被存储在坏组表中的位置,控制器130可以按顺序搜索存储在坏组表中的值,这样以便搜索包括在坏组表的第一行中的多个列,然后搜索包括在坏组表的第二行中的多个列。当以这种方式在通过重复执行操作1111、操作1113和操作1117按顺序逐个搜索存储在坏组表中的值时,如果表示对其检测请求访问的坏超级块的超级块地址被检测到,则执行操作1115。
即,通过检查在操作1111、操作1113和操作1117处搜索的坏组表中的存储位置,控制器130可以推断用于替换包括在对其检测请求访问的坏超级块中的坏块的牺牲超级块的正常块。
例如,当通过同时参照图8B假设对其检测请求访问的坏超级块是“SUPER BLOCK180”时,可以看出,第一坏块被定位于作为坏超级块的“SUPER BLOCK 180”的“DIE 0,PLANE2”中,第二坏块被定位于作为坏超级块的“SUPER BLOCK 180”的“DIE 0,PLANE 3”中。在这种状态下,当首先执行操作1111和操作1113时,能够找到表示“SUPER BLOCK 180”的超级块地址被存储在坏组表的第一行和第三列中。也就是说,因为“SUPER BLOCK 180”的第一坏块被定位的位置“DIE 0,PLANE 2”对应于坏组表的第三列,所以能够通过在首先执行的操作1111和操作1113处搜索坏组表的第一行找到“DIE 0,PLANE 2”。由于坏组表的第一行存储表示“SUPER BLOCK 145”的超级块地址,因此可以看出,牺牲超级块是“SUPER BLOCK 145”。因此,通过操作1115,能够确定,替换在作为对其检测请求访问的坏超级块的“SUPER BLOCK180”的“DIE 0,PLANE 2”中的第一坏块而被映射的正常块被包括在“SUPER BLOCK 145”中。
然后,可以在操作1117处检查未映射到正常块的坏块,即定位于“DIE 0,PLANE 3”中的第二坏块仍然保持在作为对其检测请求访问的坏超级块的“超级块180”中。
因此,通过其次执行操作1111和操作1113,能够找到表示“SUPER BLOCK 180”的超级块地址被存储在坏组表的第一行和第四列中。也就是说,由于“SUPER BLOCK 180”的第二坏块被定位的位置“DIE 0,PLANE 3”对应于坏组表的第四列,所以能够通过在其次执行的操作1111和操作1113处搜索坏组表的第一行找到“DIE 0,PLANE 3”。因为坏组表的第一行存储表示“SUPER BLOCK 145”的超级块地址,所以可以看出,牺牲超级块是“SUPER BLOCK145”。因此,通过操作1115,能够确定,替换位于作为对其检测请求访问的坏超级块的“SUPER BLOCK 180”的“DIE 0,PLANE 3”中的第二坏块而被映射的正常块被包括在“SUPERBLOCK 145”中。
接下来,可以在操作1117处检查在作为对其检测请求访问的坏超级块的“SUPERBLOCK 180”中不再存在未被映射到正常块的坏块。
图12是根据另一实施例的推断牺牲超级块的正常块的操作的流程图。
参照图12,可以看出,在上述参照图9、图10A和图10B描述的方案中生成坏组表的情况下,控制器130执行搜索坏组表的操作以推断用于替换包括在对其检测请求访问的坏超级块中的坏块的牺牲超级块的正常块。
详细地,在操作1211和操作1213处,为了检查表示对其检测请求访问的坏超级块的超级块地址被存储在坏组表中的位置,控制器130可以按顺序搜索存储在坏组表中的值,这样以便搜索包括在坏组表的第一行中的多个列的第一区域,然后搜索包括在坏组表的第二行中的多个列的第一区域。当以这种方式在通过重复执行操作1211和操作1213按顺序逐个搜索存储在坏组表中的值时,如果表示对其检测请求访问的坏超级块的超级块地址被检测到,则执行操作1215。在执行操作1215之后,不会再次执行操作1211和操作1213,而相反,作为操作1215的目标,在操作1217处检查联接信息是否存在于列的第二区域中。
也就是说,通过检查在操作1211和操作1213中搜索的坏组表中的存储位置,控制器130可以推断用于替换包括在对其检测请求访问的坏超级块中的第一坏块的牺牲超级块的正常块。然后,控制器130可以在操作1217处推断用于替换包括在对其检测请求访问的坏超级块中的至少第二坏块的牺牲超级块的正常块。
例如,当通过同时参照图10B假设对其检测请求访问的坏超级块是“SUPER BLOCK200”,可以看出,第一坏块被定位于作为坏超级块的“SUPER BLOCK 200”的“DIE 0,PLANE3”中。在这种状态下,当首先执行操作1211和操作1213时,能够找到表示“SUPER BLOCK200”的超级块地址被存储在坏组表的第一行和第四列的第一区域中。也就是说,因为“SUPER BLOCK 200”的第一个坏块被定位的位置“DIE 0,PLANE 3”对应于坏组表的第四列,所有有可能通过在首先执行的操作1211和操作1213处搜索坏组表的第一行找到“DIE 0,PLANE 3”。因为坏组表的第一行存储表示“SUPER BLOCK 145”的超级块地址,所以可以看出,牺牲超级块是“SUPER BLOCK 145”。因此,通过操作1215,能够确定,替换在作为对其检测请求访问的坏超级块的“SUPER BLOCK 200”的“DIE 0,PLANE 3”中的第一坏块而被映射的正常块被包括在“SUPER BLOCK 145”中。
然后作为操作1215的目标,在操作1217处检查哪个值被存储在坏组表的第一行的第四列的第二区域中。作为操作1217的结果,可以看出“S3D1P0”的值被存储,这是表示坏组表的第三行和第五列的值。因此,通过操作1215检查坏组表的第三行的第五列的第一区域,可以看出,表示作为坏超级块的“SUPER BLOCK 200”的超级块地址被存储。因为坏组表的第三行存储表示“SUPER BLOCK 607”的超级块地址,所以可以看出,牺牲超级块是“SUPERBLOCK”607。因此,通过操作1217能够确定,作为对其检测请求访问的坏超级块的“SUPERBLOCK 200”的第二坏块被定位于“DIE 1,PLANE 0”中,并且在替换第二坏块中映射的正常块被包括在“SUPER BLOCK 607”中。
然后,作为操作1215的目标,在操作1217检查哪个值被存储在坏组表的第三行的第五列的第二区域中。作为操作1217的结果,可以检查到“END”的值被存储,并且通过这一点,未映射到正常块的坏块不再存在于作为对其检测请求访问的坏超级块的“SUPER BLOCK200”中。
再次参照图6,在操作621,控制器130可以提供对通过操作611请求访问的存储器装置150的坏超级块的访问。
在下文,将参照图13至图18进行详细描述根据实施例的应用包括上面参照图1至图12所述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备。
图13是说明根据实施例的包括存储器系统的数据处理系统的简图。图13是示意性地说明应用根据实施例的存储器系统的存储卡系统的简图。
参照图13,存储卡系统6100包括存储器控制器6120、存储器装置6130和连接器6110。
详细地,存储器控制器6120可以与存储器装置6130连接,并且可以访问存储器装置6130。在一些实施例中,存储器装置6130可以通过非易失性存储器(NVM)来实施。例如,存储器控制器6120可以控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以提供存储器装置6130和主机(未示出)之间的接口,并且可以驱动用于控制存储器装置6130的固件。例如,存储器控制器6120可以对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6130可以对应于上面参照图1描述的存储器系统110中的存储器装置150。
因此,存储器控制器6120可以包括如图1所示的诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元的部件。
存储器控制器6120可以通过连接器6110与外部装置(例如,上面参照图1描述的主机102)通信。例如,如上参照图1所述,存储器控制器6120可以被配置成通过诸如以下各种通信协议的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)协议、集成驱动电子(IDE)、火线、通用闪存(UFS)、无线保真(WI-FI)和蓝牙。因此,根据实施例的存储器系统和数据处理系统可以应用于有线/无线电子设备,例如移动电子设备。
存储器装置6130可以利用非易失性存储器来实施。例如,存储器装置6130可以利用诸如以下各种非易失性存储器来实施:电可擦除和可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁阻RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可以被集成至单个半导体器装置中。例如,存储器控制器6120和存储器装置6130可以通过集成至单个半导体器装置中来构造固态驱动器(SSD)。存储器控制器6120和存储器装置6130可以构成存储卡,例如PC卡(PCMCIA:个人计算机存储卡国际协会),小型闪存卡(CF),智能媒体卡(SM和SMC),记忆棒,多媒体卡(MMC、RS-MMC、微型MMC和eMMC),SD卡(例如SD、迷你SD、微型SD和SDHC)和通用闪存(UFS)。
图14是示意性地说明根据本发明的实施例的包括存储器系统的数据处理系统的简图。
参照图14,数据处理系统6200包括可以利用至少一个非易失性存储器(NVM)实施的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。数据处理系统6200可以是如上参照图1所述的诸如存储卡(例如,CF,SD和微型SD)的存储介质。存储器装置6230可以对应于上面参照图1描述的存储器系统110中的存储器装置150,存储器控制器6220可以对应于上面参照图1描述的存储器系统110中的控制器130。
存储器控制器6220可以响应于从主机6210接收的请求来控制对存储器装置6230的包括读取操作、写入操作和擦除操作的操作。存储器控制器6220可以包括中央处理单元(CPU)6221、作为缓冲存储器6222的随机存取存储器(RAM)、错误校正码(ECC)电路6223、主机接口6224和作为存储器接口6225的NVM接口,其全部通过内部总线联接。
CPU 6221可以控制对存储器装置6230的诸如读取操作、写入操作、文件系统管理操作、坏页面管理操作等操作。RAM 6222可以根据CPU 6221的控制来操作,并且可以用作工作存储器、缓冲存储器、高速缓冲存储器等。在RAM 6222用作工作存储器的情况下,通过CPU6221处理的数据被临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM6222用于缓冲从主机6210传输至存储器装置6230或从存储器装置6230传输至主机6210的数据。在RAM 6222用作高速缓冲存储器的情况下,RAM 6222可以用于使低速存储器装置6230能够以高速运行。
ECC电路6223对应于上面参照图1描述的控制器130的ECC单元138。如上参照图1所述,ECC电路6223可以生成用于校正从存储器装置6230接收的数据中的失效位或错误位的错误校正码(ECC)。ECC电路6223可以对提供给存储器装置6230的数据执行错误校正编码,并且可以生成添加有奇偶校验位的数据。奇偶校验位可以被存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可以通过使用奇偶校验位来校正错误。例如,如上参照图1所述,ECC电路6223可以通过使用诸如以下各种编码调制来校正错误:低密度奇偶校验(LDPC)码、博斯-乔赫里-霍克文黑姆(BCH)码、涡轮码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)。
存储器控制器6220通过主机接口6224向主机6210传输数据和接收来自主机6210的数据,并且通过NVM接口6225向存储器装置6230传输数据和接收来自存储器装置6230的数据。主机接口6224可以通过诸如以下各种接口协议中的至少一种与主机6210连接:并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、外围组件互连快速(PCIe)或NAND接口。此外,当实现无线通信功能或诸如无线保真(WI-FI)或长期演进(LTE)的移动通信协议时,存储器控制器6220可以通过与诸如主机6210或除主机6210以外的另一外部装置的外部装置连接来传输和接收数据。具体地,由于存储器控制器6220被配置成通过各种通信协议中的至少一种与外部装置通信,所以根据实施例的存储器系统和数据处理系统可以适用于有线/无线电子设备,例如移动电子设备。
图15是说明根据本发明的实施例的包括存储器系统的数据处理系统的示例的简图。图15可以是固态驱动器(SSD)。
参照如图15,SSD 6300可以包括其可以包括多个非易失性存储器NVM的存储器装置6340和控制器6320。控制器6320可以对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6340可以对应于上面参照图1描述的存储器系统110中的存储器装置150。
详细地,控制器6320可以通过多个通道CH1、CH2、CH3、……和Chi与存储器装置6340连接。控制器6320可以包括通过内部总线联接的处理器6321、缓冲存储器6325、错误校正码(ECC)电路6322、主机接口6324和作为存储器接口6326的非易失性存储器(NVM)接口。
缓冲存储器6325临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个非易失性存储器NVMs接收的数据,或者临时存储多个非易失性存储器NVMs的元数据。例如,元数据可以包括包含映射表的映射数据。缓冲存储器6325可以利用诸如以下但不限于下列的易失性存储器:动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双数据速率(DDR)SDRAM、低功率双数据速率(LPDDR)SDRAM和图形随机存取存储器(GRAM)来实施,或利用诸如但不限于下列的非易失性存储器:铁电随机存取存储器(FRAM)、电阻式随机存取存储器(ReRAM)、自旋转移力矩磁阻随机存取存储器(STT-MRAM)和相变随机存取存储器(PRAM)来实施。虽然如图15所示,为了便于说明,缓冲存储器6325被设置在控制器6320内部,将注意的是,缓冲存储器6325可以被设置在控制器6320外部。
ECC电路6322在编程操作中计算待被编程至存储器装置6340中的数据的错误校正码值,在读取操作中基于错误校正码值对从存储器装置6340中读取的数据执行错误校正操作,并且在失效数据恢复操作中对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324提供与诸如主机6310的外部装置的接口功能。非易失性存储器接口6326提供与通过多个通道CH1、CH2、CH3、……和CHi连接的存储器装置6340的接口功能。
当使用应用上面参照图1描述的存储器系统110中的每一个的多个SSD 6300时,可以实施诸如独立磁盘冗余阵列(RAID)系统的数据处理系统。在RAID系统中,可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过接收来自主机6310的写入命令来执行编程操作的情况下,RAID控制器可以响应于从主机6310接收的写入命令的RAID级别信息在多个RAID级别(例如,多个SSD 6300)中选择至少一个存储器系统(例如,至少一个SSD6300),并且可以将对应于写入命令的数据输出到选择的SSD 6300。在通过接收来自主机6310的读取命令执行读取操作的情况下,RAID控制器可以响应于从主机6310接收的写入命令的RAID级别信息,在多个RAID级别(例如,多个SSD 6300)中选择至少一个存储器系统(例如,至少一个SSD 6300),并且可以将从选择的SSD 6300中输出的数据提供给主机6310。
图16是说明根据本发明的实施例的包括存储器系统的数据处理系统的另一示例的简图。图16是示意性地说明应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)的简图。
参照图16,eMMC 6400包括用至少一个NAND闪速存储器实施的存储器装置6440和控制器6430。控制器6430可以对应于上面参照图1描述的存储器系统110中的控制器130,存储器装置6440可以对应于上面参照图1描述的存储器系统110中的存储器装置150。
具体地,控制器6430可以通过多个通道与存储器装置6440连接。控制器6430可以包括内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的操作。主机接口6431可以提供控制器6430和主机6410之间的接口功能。NAND接口6433可以提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以是如上参照图1所述的MMC接口的并行接口,或诸如超高速1级(UHS-I)/UHS2级(UHS-II)和通用闪速存储器(UFS)接口的串行接口。
图17是说明根据本发明的实施例的包括存储器系统的数据处理系统的另一个示例的简图。图16是示例性说明应用根据实施例的存储器系统的通用闪存(UFS)的简图。
参照图17,UFS系统6500可以包括UFS主机6510、多个UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550。UFS主机6510可以是有线/无线电子设备(例如移动电子设备)的应用处理器。
UFS主机6510、UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以分别通过UFS协议与诸如有线/无线电子设备(例如,移动电子设备)的外部装置通信。UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以利用如上参照图1所述的存储器系统110,例如,根据如上图11所述的存储卡系统6100来实施。嵌入式UFS装置6540和可移除UFS卡6550可以通过除了UFS协议之外的另一协议通信。例如,嵌入式UFS装置6540和可移除UFS卡6550可以通过诸如但不限于以下各种卡协议通信:USB闪存驱动器(UFDs)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD。
图18是说明根据本发明的实施例的包括存储器系统的数据处理系统的示例的简图。图18是示例性说明应用根据实施例的存储器系统的用户系统的简图。
参照图18,用户系统6600可以包括应用处理器6630、存储器模块6620、网络模块6640、存储模块6650和用户接口6610。
应用处理器6630可以驱动包括在用户系统6600和操作系统(OS)中的部件。例如,应用处理器6630可以包括控制包括在用户系统6600中的部件的控制器、接口、图形引擎等。应用处理器6630可以作为片上系统(SoC)被提供。
存储器模块6620可以用作用户系统6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6620可以包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,可以基于堆叠封装(POP)来封装并安装应用处理器6630和存储器模块6620。
网络模块6640可以与外部装置通信。例如,网络模块6640不仅可以支持有线通信,还可以支持各种无线通信,例如码分多址访问(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示器(WI-DI)等,并且因此可以与有线/无线电子设备(例如,移动电子设备)通信。因此,根据实施例的存储器系统和数据处理系统可以应用于有线/无线电子设备。网络模块6640可以被包括在应用处理器6630中。
存储模块6650可以存储诸如从应用处理器6530接收的数据的数据,并将存储在其中的数据传输至应用处理器6530。存储模块6650可以通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器和3维NAND闪速存储器的非易失性半导体存储器装置来实现。存储模块6650可以用作诸如用户系统6600的存储卡和外部驱动器的可移除存储介质。例如,存储模块6650可以对应于如上参照图1所述的存储器系统110,并且可以通过如上参照图15和图17所述的SSD、eMMC和UFS来实施。
用户接口6610可以包括用于向应用处理器6630输入数据或命令或将数据输出至外部装置的接口。例如,用户接口6610可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)扬声器和电机的用户输出接口。
在根据本实施例的如上参照图1所述的存储器系统110应用于用户系统6600的移动电子装置的情况下,应用处理器6630可以控制移动电子装置的操作,并且作为通信模块的网络模块6640可以控制与外部装置的有线/无线通信,如上所述。作为移动电子装置的显示/触摸模块的用户接口6610显示通过应用处理器6630处理的数据或支持从触摸面板输入数据。
根据各个实施例,存储器系统可以通过将多个块分组成多个超级存储块来管理它们,并且使用超级存储块中的至少任一个作为牺牲超级存储块。也就是说,存储器系统可以用剩余的超级存储块的坏块来交换牺牲超级存储块的正常块。对应于牺牲超级存储块,存储器系统可以根据牺牲超级存储块的正常块与剩余的超级存储块的坏块的交换来存储映射信息。因此,可以使存储器系统中的映射信息的量最小化,并且可以减少用于存储映射信息的存储空间。
虽然为了说明的目的已经描述各种实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (20)

1.一种存储器系统,其包括:
存储器装置,其包括由多个超级存储块组成的多个存储块,其中每个超级存储块包括所述多个存储块之中的一些存储块;以及
控制器,其适于检测所述超级存储块中的两个或更多个坏超级存储块,每个坏超级存储块包括至少一个坏块和至少一个正常块,在两个或者两个以上的坏超级存储块中选择至少一个牺牲超级存储块,并利用所述至少一个牺牲超级存储块的所述至少一个正常块替换每个剩余的坏超级存储块中的所述至少一个坏块。
2.根据权利要求1所述的存储器系统,其中,所述控制器生成坏组表,所述坏组表表示所述剩余的坏超级存储块中的每一个的至少一个坏块和所述至少一个牺牲超级存储块的所述至少一个正常块之间的映射关系,对应正常块替换所述剩余的坏超级存储块中的每一个的至少一个坏块。
3.根据权利要求2所述的存储器系统,其中,响应于访问所述两个或更多个坏超级存储块中的至少一个的请求,所述控制器根据所述映射关系提供对替换所述请求访问的坏超级存储块中的所述至少一个坏块的所述至少一个正常块的访问。
4.根据权利要求3所述的存储器系统,
其中,所述控制器利用具有与所述剩余的坏超级存储块的每一个的至少一个坏块的物理位置相同的物理位置的所述至少一个牺牲超级存储块的至少一个正常块替换所述剩余的坏超级存储块的每一个的至少一个坏块,以及
其中,所述物理位置在所述存储器装置中是平面水平的。
5.根据权利要求4所述的存储器系统,
其中,所述坏组表包括分别表示所述至少一个牺牲超级存储块的至少一个条目,
其中,对于所述至少一个条目,所述坏组表包括分别表示对应牺牲超级存储块的存储块的物理位置的多个位置字段,以及
其中,表示所述至少一个牺牲超级存储块中的所述正常块的每个位置字段具有其含有所述坏块的所述剩余的坏超级存储块的地址值,所述坏块被所述位置字段表示的所述正常块替换。
6.根据权利要求4所述的存储器系统,
其中,所述坏组表包括以矩阵的形式配置的至少一行和多个列,以及
其中,所述至少一个牺牲超级存储块对应于一行,包括在所述至少一个牺牲超级存储块中的存储块对应于所述列,并且包括在所述剩余的坏超级存储块中的每一个中的所述至少一个坏块被映射到所述列。
7.根据权利要求5所述的存储器系统,其中,响应于所述请求,所述控制器通过以下方式提供对替换所述请求访问的坏超级存储块中的所述至少一个坏块的所述至少一个正常块的访问:
在所述坏组表中逐条目地搜索所述请求访问的坏超级存储块的所述地址值;以及
通过所述至少一个正常块的物理位置来识别替换所述请求访问的至少一个坏块的所述至少一个正常块,所述正常块的物理位置由具有所述请求访问的坏超级存储块的地址值的所述位置字段表示。
8.根据权利要求4所述的存储器系统,
其中,所述坏组表包括表示所述至少一个牺牲超级存储块的至少一个条目,
其中,对于所述至少一个条目,所述坏组表包括分别表示所述至少一个牺牲超级存储块的存储块的物理位置的多个位置字段,并且每个位置字段包括第一子字段和第二子字段,
其中,其对应位置字段表示所述至少一个牺牲超级存储块中的所述正常块的所述第一子字段具有其含有所述坏块的所述剩余的坏超级存储块的地址值,所述坏块被所述对应位置字段表示的所述正常块替换,以及
其中,所述对应位置字段的所述第二子字段具有指针信息,所述指针信息表示另一个牺牲超级存储块中的另一正常块替换由所述对应位置字段表示的所述剩余的坏超级存储块中的另一个坏块。
9.根据权利要求8所述的存储器系统,
其中,响应于访问所述坏超级存储块中的至少一个的请求,所述控制器通过以下方式提供替换所述请求访问的坏超级存储块中的所述至少一个坏块的所述至少一个正常块:
在所述坏组表中逐条目地搜索所述请求访问的坏超级存储块的所述地址值;
通过第一正常块的物理位置来识别替换各个请求访问的坏超级存储块中的所述至少一个坏块的第一个坏块的所述第一正常块,所述第一正常块的物理位置由具有在其所述第一子字段中的所述各个请求访问的坏超级存储器的地址值的位置字段表示;以及
经由对应于各个第一正常块和之后的正常块的位置字段的第二子字段中的指针信息,通过各个第二正常块和之后的正常块的物理位置,来识别所述各个第二正常块和之后的正常块,所述各个第二正常块和之后的正常块替换在各个请求访问的坏超级存储块中的各个第二坏块和之后的至少一个坏块,所述各个第二正常块和之后的正常块的物理位置由对应于所述各个第二正常块和之后的正常块并具有对应于所述各个第二正常块和之后的正常块的位置字段的所述第一子字段中的所述各个请求访问的坏超级存储块的地址值的位置字段来表示。
10.一种存储器系统的操作方法,所述存储器系统包括存储器装置,所述存储器装置包括由多个超级存储块组成的多个存储块,每个超级存储块包括所述多个存储块之中的一些存储块,所述方法包括:
检测所述超级存储块中的两个或更多个坏超级存储块,每个坏超级存储块包括至少一个坏块和至少一个正常块;
在两个或者两个以上的坏超级存储块中选择至少一个牺牲超级存储块;以及
利用所述至少一个牺牲超级存储块的所述至少一个正常块替换每个剩余的坏超级存储块中的所述坏块,
其中,所述替换包括生成坏组表,所述坏组表表示剩余的坏超级存储块的所述至少一个坏块和所述至少一个牺牲超级存储块的所述至少一个正常块之间的映射关系。
11.根据权利要求10所述的方法,其中所述替换包括,响应于访问两个或者两个以上的坏超级存储块的一个或多个的请求,根据所述映射关系提供对替换所述请求访问的坏超级存储器中的所述至少一个坏块的所述至少一个正常块的访问。
12.根据权利要求11所述的方法,
其中,利用具有与所述剩余的坏超级存储块的每一个的至少一个坏块的物理位置相同的物理位置的所述至少一个牺牲超级存储块的所述至少一个正常块替换所述剩余的坏超级存储块的每一个的至少一个坏块,以及
其中,所述物理位置在所述存储器装置中是平面水平的。
13.根据权利要求12所述的方法,
其中,所述坏组表包括分别表示所述至少一个牺牲超级存储块的至少一个条目,所述至少一个条目包括分别表示所述至少一个牺牲超级存储块的存储块的物理位置的多个位置字段,表示所述至少一个牺牲超级存储块中的所述正常块的每个位置字段具有其含有所述坏块的所述剩余的坏超级存储块的地址值,所述坏块被所述位置字段表示的所述正常块替换。
14.根据权利要求12所述的方法,
其中,所述坏组表包括以矩阵的形式配置的至少一行和多个列,所述至少一个牺牲超级存储块对应于一行,包括在所述至少一个牺牲超级存储块中的存储块对应于所述列,并且包括在所述剩余的坏超级存储块中的所述至少一个坏块被映射到所述列。
15.根据权利要求13所述的方法,其中提供访问包括:
在所述坏组表中逐条目地搜索所述请求访问的坏超级存储块的所述地址值;以及
通过所述至少一个正常块的物理位置来识别替换所述请求访问的坏超级存储块中的所述至少一个坏块的所述至少一个正常块,所述正常块的物理位置由具有所述请求访问的坏超级存储块的地址值的所述位置字段表示。
16.根据权利要求13所述的方法,
其中,所述坏组表包括分别表示所述至少一个牺牲超级存储块的至少一个条目,
其中,对于所述至少一个条目,所述坏组表包括分别表示所述至少一个牺牲超级存储块的存储块的物理位置的多个位置字段,并且每个位置字段包括第一子字段和第二子字段,
其中,其对应位置字段表示所述至少一个牺牲超级存储块中的所述正常块的所述第一子字段具有其含有所述坏块的所述剩余的坏超级存储块的地址值,所述坏块被所述对应位置字段表示的所述正常块替换,以及
其中,所述对应位置字段的所述第二子字段具有指针信息,所述指针信息表示另一牺牲超级存储块中的另一正常块替换由所述对应位置字段表示的所述剩余的坏超级存储块中的另一坏块。
17.根据权利要求16所述的方法,其中,提供访问包括:
在所述坏组表中逐条目地搜索所述请求访问的坏超级存储块的所述地址值;
通过第一正常块的物理位置来识别替换各个请求访问的坏超级存储块中的所述至少一个坏块的第一个坏块的所述第一正常块,所述第一正常块的物理位置由具有在其所述第一子字段中的所述各个请求访问的坏超级存储器的地址值的位置字段表示;以及
经由对应于各个第一正常块和之后的正常块的位置字段的第二子字段中的指针信息,通过各个第二正常块和之后的正常块的物理位置,来识别所述各个第二正常块和之后的正常块,所述各个第二正常块和之后的正常块替换在各个所述请求访问的坏超级存储块中的各个第二坏块和之后的至少一个坏块,所述各个第二正常块和之后的正常块的物理位置由对应于所述各个第二正常块和之后的正常块并具有对应于所述各个第二正常块和之后的正常块的位置字段的所述第一子字段中的所述各个请求访问的坏超级存储块的地址值的位置字段来表示。
18.一种存储器系统,其包括:
存储器装置,其包括多个管芯,每个管芯包括多个平面,每个平面包括多个存储块;
控制器,其适于将所述多个存储块布置在多个超级存储块中,检测两个或更多个坏超级存储块,每个坏超级存储块包括所述多个超级存储块之中的至少一个坏块和至少一个正常块,在两个或者两个以上的坏超级存储块中选择至少一个牺牲超级存储块,并生成坏组表,所述坏组表表示剩余的坏超级存储块的每一个的所述至少一个坏块和所述至少一个牺牲超级存储块的至少一个正常块之间的映射关系,所述至少一个牺牲超级存储块的所述至少一个正常块替换所述剩余的坏超级存储块中的每一个的所述至少一个坏块,
其中所述多个超级存储块均包括所述多个存储块之中的一些存储块。
19.根据权利要求18所述的存储器系统,其中,响应于访问两个或者两个以上的坏超级存储块中的一个或者一个以上的请求,所述控制器根据所述映射关系提供对替换所述请求访问的坏超级存储块中的所述至少一个坏块的所述至少一个正常块的访问。
20.根据权利要求19所述的存储器系统,
其中,所述控制器利用具有与所述剩余的坏超级存储块中的所述坏块的物理位置相同的物理位置的所述至少一个牺牲超级存储块的所述至少一个正常块替换所述剩余的坏超级存储块的每一个的至少一个坏块,
其中,所述物理位置在所述存储器装置中是平面水平的。
CN201710933396.9A 2016-11-29 2017-10-10 存储器系统及其操作方法 Active CN108121669B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160160093A KR102645572B1 (ko) 2016-11-29 2016-11-29 메모리 시스템 및 그의 동작 방법
KR10-2016-0160093 2016-11-29

Publications (2)

Publication Number Publication Date
CN108121669A CN108121669A (zh) 2018-06-05
CN108121669B true CN108121669B (zh) 2023-08-08

Family

ID=62191015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710933396.9A Active CN108121669B (zh) 2016-11-29 2017-10-10 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US10366776B2 (zh)
KR (1) KR102645572B1 (zh)
CN (1) CN108121669B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6912240B2 (ja) * 2017-03-29 2021-08-04 ラピスセミコンダクタ株式会社 メモリシステム及びメモリの管理方法
KR102420025B1 (ko) * 2017-06-19 2022-07-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20190000662A (ko) * 2017-06-23 2019-01-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10649661B2 (en) * 2017-06-26 2020-05-12 Western Digital Technologies, Inc. Dynamically resizing logical storage blocks
TWI617917B (zh) * 2017-08-28 2018-03-11 慧榮科技股份有限公司 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置
KR102559528B1 (ko) * 2018-03-20 2023-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102517681B1 (ko) * 2018-06-05 2023-04-05 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102583726B1 (ko) * 2018-06-27 2023-10-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102565920B1 (ko) * 2018-07-18 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
TWI668575B (zh) * 2018-07-26 2019-08-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11249919B2 (en) * 2018-07-31 2022-02-15 SK Hynix Inc. Apparatus and method for managing meta data for engagement of plural memory system to store data
KR102533207B1 (ko) * 2018-08-30 2023-05-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US20210333999A1 (en) * 2018-08-30 2021-10-28 SK Hynix Inc. Data storage device, operation method thereof and storage system having the same
CN109144900B (zh) * 2018-09-04 2023-04-07 杭州阿姆科技有限公司 一种ssd中块转换层的实现方法
KR102592803B1 (ko) * 2018-10-31 2023-10-24 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20200072139A (ko) 2018-12-12 2020-06-22 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
TWI718635B (zh) * 2019-03-04 2021-02-11 慧榮科技股份有限公司 非對稱型平面管理方法以及資料儲存裝置及其控制器
CN111651371B (zh) * 2019-03-04 2023-06-16 慧荣科技股份有限公司 非对称型平面管理方法以及数据存储装置及其控制器
CN110109627A (zh) * 2019-05-21 2019-08-09 深圳市时创意电子有限公司 一种有效提升Nand闪存设备生产足容率的方法
KR20210007503A (ko) * 2019-07-11 2021-01-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US11049585B1 (en) * 2020-03-27 2021-06-29 Macronix International Co., Ltd. On chip block repair scheme
KR20220111485A (ko) * 2021-02-02 2022-08-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102569823B1 (ko) * 2021-02-24 2023-08-24 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
KR20220130389A (ko) * 2021-03-18 2022-09-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN113220508B (zh) * 2021-05-08 2022-09-23 联芸科技(杭州)股份有限公司 存储器块的管理方法、存储器的写操作方法以及存储器
CN113485641B (zh) * 2021-06-29 2024-04-16 成都忆芯科技有限公司 处理io命令的方法及其控制部件
CN115273941A (zh) * 2022-04-27 2022-11-01 长江存储科技有限责任公司 支持正常编程和提早高速缓存释放编程(ecrp) 两者的数据预处理(dpp)模式

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479156A (zh) * 2010-11-22 2012-05-30 慧荣科技股份有限公司 用来进行区块管理的方法、记忆装置及其控制器
CN105989885A (zh) * 2015-03-18 2016-10-05 爱思开海力士有限公司 存储系统及其操作方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9123422B2 (en) * 2012-07-02 2015-09-01 Super Talent Technology, Corp. Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells
US9547589B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8954654B2 (en) * 2008-06-18 2015-02-10 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
US8239614B2 (en) * 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
US8095765B2 (en) * 2009-03-04 2012-01-10 Micron Technology, Inc. Memory block management
US8832507B2 (en) * 2010-08-23 2014-09-09 Apple Inc. Systems and methods for generating dynamic super blocks
KR20120098068A (ko) 2011-02-28 2012-09-05 서울대학교산학협력단 플래시 메모리 배드 블록 관리 장치 및 방법
US9671962B2 (en) * 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
KR20150107197A (ko) 2014-03-13 2015-09-23 한국전자통신연구원 배드 블록을 이용한 스토리지 장치 및 방법
KR102291507B1 (ko) * 2014-05-20 2021-08-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법
US9575825B2 (en) * 2014-12-23 2017-02-21 International Business Machines Corporation Push instruction for pushing a message payload from a sending thread to a receiving thread
US9946644B2 (en) * 2015-03-25 2018-04-17 SK Hynix Inc. Memory system and operating method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479156A (zh) * 2010-11-22 2012-05-30 慧荣科技股份有限公司 用来进行区块管理的方法、记忆装置及其控制器
CN105989885A (zh) * 2015-03-18 2016-10-05 爱思开海力士有限公司 存储系统及其操作方法

Also Published As

Publication number Publication date
KR102645572B1 (ko) 2024-03-11
US10366776B2 (en) 2019-07-30
CN108121669A (zh) 2018-06-05
KR20180060524A (ko) 2018-06-07
US20180151251A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
CN108121669B (zh) 存储器系统及其操作方法
CN107797882B (zh) 存储器系统及其操作方法
CN108304141B (zh) 存储器系统及其操作方法
CN107643985B (zh) 存储器系统及其操作方法
CN107766257B (zh) 存储器系统及其操作方法
CN107562649B (zh) 存储器系统及其操作方法
US10073622B2 (en) Memory system and operation method thereof
CN108121665B (zh) 存储器系统及其操作方法
CN107346213B (zh) 存储器系统及其操作方法
CN107589906B (zh) 存储器系统及其操作方法
CN107346214B (zh) 存储器系统及其操作方法
CN107450845B (zh) 存储器系统及其操作方法
CN107491396B (zh) 存储器系统及其操作方法
CN108108308B (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
US20180012666A1 (en) Memory system and operating method thereof
CN110858180A (zh) 数据处理系统及其操作方法
US10019173B1 (en) Memory system and operating method thereof
CN107562653B (zh) 存储器系统及其操作方法
CN108389602B (zh) 存储器系统及其操作方法
CN110489271B (zh) 存储器系统及其操作方法
CN107807887B (zh) 存储器系统及其操作方法
CN110570894A (zh) 存储器系统及该存储器系统的操作方法
CN110765029B (zh) 控制器及用于操作该控制器的方法
CN109656470B (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