CN110825319B - 基于块状态确定可用性的存储器系统及操作方法 - Google Patents
基于块状态确定可用性的存储器系统及操作方法 Download PDFInfo
- Publication number
- CN110825319B CN110825319B CN201910629009.1A CN201910629009A CN110825319B CN 110825319 B CN110825319 B CN 110825319B CN 201910629009 A CN201910629009 A CN 201910629009A CN 110825319 B CN110825319 B CN 110825319B
- Authority
- CN
- China
- Prior art keywords
- memory
- block
- priority
- memory block
- controller
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- 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
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种存储器系统,该存储器系统包括:非易失性存储器装置,包括存储数据的至少一个存储块;以及控制器,联接到非易失性存储器装置。控制器可在至少一个存储块内执行至少一个编程操作或至少一个擦除操作。控制器可响应于完成至少一个操作所消耗的时间来识别至少一个存储块的操作状态,并且至少基于操作状态来确定是否使用至少一个存储块以及给予至少一个存储块哪个优先级,以便分配至少一个存储块用于随后的操作。
Description
相关申请的交叉引用
本专利申请要求于2018年8月13日提交的申请号为10-2018-0094529的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统,且更特别地,涉及一种能够至少基于块状态来确定是否使用存储器装置中包括的存储块的存储器系统及操作该存储器系统的方法。
背景技术
近来,计算机环境范例已经转变成使计算机系统可随时随地出现的普适计算。诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用可快速增长。这种便携式电子装置通常使用或包括使用或嵌入至少一个存储器装置的存储器系统,即数据存储装置。数据存储装置可用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘不同,使用非易失性半导体存储器装置的数据存储装置的优点在于:该数据存储装置因为不具有机械驱动部件(例如,机械臂)而具有优异的稳定性和耐久性,并且具有高数据访问速度和低功耗。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
本公开的实施例中的至少一个可提供一种存储器系统、数据处理系统和操作进程或方法,可通过降低存储器系统的操作复杂性和性能劣化并增强存储器装置的使用效率来快速且可靠地将数据处理到存储器装置中。
本公开的实施例中的至少一个可提供一种存储器系统和操作该存储器系统的方法,可根据存储器装置中包括的多个存储块的状态来确定是否使用存储块并对存储块进行优先级排序。
另外,本公开的实施例中的至少一个可提供一种设备和方法,用于当存储器装置中的可用存储空间不足时,分析存储器装置中的坏块的状态信息以给予优先级,并且至少基于优先级使用坏块。
进一步地,本公开的实施例中的至少一个可提供一种设备和方法,可在存储器装置中的坏块用于存储任何数据之后,在损耗均衡或垃圾收集操作的操作期间,与存储在正常块中的数据相比,更早地移动存储在坏块中的数据。
在实施例中,一种存储器系统可包括:非易失性存储器装置,包括存储数据的至少一个存储块;以及控制器,联接到非易失性存储器装置。控制器可在至少一个存储块内执行至少一个编程操作或至少一个擦除操作,响应于完成至少一个操作所消耗的时间识别至少一个存储块的操作状态,并且至少基于操作状态确定是否使用至少一个存储块以及给予至少一个存储块哪个优先级。可分配至少一个存储块用于随后的操作。
当编程操作或擦除操作未完成时,控制器可暂缓使用至少一个存储块。通过示例而非限制的方式,当在正常存储块中执行至少一个操作时,时间落入针对至少一个编程操作或至少一个擦除操作预定的单个周期内。
通过示例而非限制的方式,至少一个编程操作或至少一个擦除操作可包括多个单位操作,并且时间通过在每个单位操作完成之后执行的检查操作来确定。至少一个存储块在时间落入设定范围内时可具有第一优先级,在时间短于设定范围时可具有第二优先级,并且在时间长于设定范围时可具有第三优先级。具有第一优先级、第二优先级和第三优先级中的一个的至少一个存储块可用于随后的操作。根据实施例,设定范围可基于每个存储块的擦除计数来动态地确定。
控制器可以第一优先级、第二优先级和第三优先级的第一顺序分配至少一个存储块以用于随后的编程操作。但是,控制器可以第三优先级、第二优先级和第一优先级的第二顺序选择至少一个存储块以用于随后的擦除操作。
在另一实施例中,时间越接近预定的优化时间,控制器可向至少一个存储块分派的优先级越高。例如,首先使用具有较高优先级的至少一个存储块用于随后的编程操作,但是首先选择具有较低优先级的至少一个存储块用于随后的擦除操作。在本文中,预定的优化时间可基于每个存储块的擦除计数来动态地确定。
在另一实施例中,一种控制存储器系统的方法可包括:请求对存储器装置的至少一个编程操作或至少一个擦除操作,其中存储器装置包括多个存储块,存储块包括多个页面;在至少一个存储块内执行至少一个编程操作或至少一个擦除操作;响应于完成至少一个编程操作或至少一个擦除操作所消耗的时间,识别至少一个存储块的操作状态;并且至少基于操作状态确定是否使用至少一个存储块以及给予至少一个存储块哪个优先级,以便分配至少一个存储块用于随后的操作。
确定是否使用至少一个存储块可包括:当至少一个编程操作或至少一个擦除操作未完成时,暂缓使用至少一个存储块。
当存储块正常时,时间可落入针对至少一个编程操作或至少一个擦除操作预定的单个周期内。
至少一个编程操作或至少一个擦除操作可包括多个单位操作,并且时间通过在每个单位操作完成之后执行的检查操作来确定。至少一个存储块在时间落入设定范围内时可具有第一优先级,在时间短于设定范围时可具有第二优先级,并且在时间长于设定范围时可具有第三优先级。具有第一优先级、第二优先级和第三优先级中的一个的至少一个存储块可用于随后的操作。
通过示例而非限制的方式,设定范围可基于每个存储块的擦除计数来动态地确定。
确定是否使用至少一个存储块可包括:以第一优先级、第二优先级和第三优先级的第一顺序分配至少一个存储块以用于随后的编程操作,并且以第三优先级、第二优先级和第一优先级的第二顺序选择至少一个存储块以用于随后的擦除操作。
时间越接近预定的优化时间,控制器可向至少一个存储块分派的优先级越高。首先使用具有较高优先级的至少一个存储块用于随后的编程操作。但是,首先选择具有较低优先级的至少一个存储块用于随后的擦除操作。
在另一实施例中,一种用于存储器系统的控制设备可包括:存储器接口,联接到存储器装置,其中存储器装置包括多个存储块,存储块包括多个页面,存储器接口用于执行多个存储块之中的至少一个存储块中的至少一个页面内的编程操作和至少一个存储块内的擦除操作中的至少一个操作;控制逻辑,用于响应于完成至少一个操作所消耗的时间来识别至少一个存储块的操作状态,并且至少基于操作状态来确定是否使用至少一个存储块以及给予至少一个存储块哪个优先级;以及主机接口,联接到主机,用于将从主机输入的命令或数据传送到控制逻辑中,或者传送由主机请求并从存储器接口传送的数据。
在另一实施例中,一种存储器系统可包括:存储器装置,包括多个存储块;以及控制器,适于:检测多个存储块之中的不良块,每个不良块包括至少一个坏字线;基于检测到的不良块,在多个存储块之中分配用于编程操作或擦除操作的存储块;并且对分配的存储块执行编程操作或擦除操作。
附图说明
在本文中将参照附图进行描述,其中在若干视图中,相同的附图标记指代相同的部件,并且其中:
图1示出了根据本公开的实施例的包括存储器系统的数据处理系统的示例;
图2示出了根据本公开的实施例的存储器系统中的操作的示例;
图3示出了根据本公开的实施例的存储器系统的示例;
图4示出了根据本公开的实施例的存储器系统中使用的超级存储块的示例;
图5示出了根据本公开的实施例的控制存储器系统中的超级存储块的操作;
图6示出了根据本公开的实施例的再生包括存储器系统的一些坏存储块的超级存储块的方法的示例;
图7示出了根据本公开的实施例的列表的示例;
图8示出了根据本公开的实施例的确定是否使用坏块和/或确定在存储器系统中重新使用坏块的优先级的控制方法的示例;
图9示出了根据本公开的另一实施例的控制存储器系统的方法的示例;
图10示出了根据本公开的另一实施例的使用异常块列表的垃圾收集的示例;以及
图11至图19示意性地示出了根据本公开的实施例的包括存储器系统的数据处理系统的其它示例。
具体实施方式
下面参照附图更详细地描述本公开的各个示例。本发明的元件和特征可被不同地配置或布置以形成其它实施例,其它实施例可以是任何所公开的实施例的变型。因此,本发明不限于本文阐述的实施例。而是,提供所描述的实施例使得本公开完整且全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本公开的各个附图和示例中表示相同的部件。注意的是,对“实施例”、“另一实施例”等的参考不一定仅指一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以识别各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。因此,在不脱离本发明的精神和范围的情况下,一个示例中的第一元件在另一示例中也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地示出实施例的特征,比例可能被放大。当元件被称为连接到或联接到另一元件时,应理解的是,前者可直接连接或联接到后者,或者经由之间的一个或多个中间元件电连接或联接到后者。此外,还将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用术语的目的仅是描述特定实施例而不旨在限制本发明。
如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与其在本公开的上下文和相关领域中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。可在没有一些或全部这些具体细节的情况下实施本发明。在其它情况下,为了不使本发明不必要地模糊,未详细地描述公知的进程结构和/或进程。
也注意的是,在一些情况下,如对相关领域的技术人员将显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
将参照附图详细描述本公开的实施例。
在图1中,描述了根据本公开的实施例的数据处理系统100。参照图1,数据处理系统100可包括主机102和存储器系统110。主机102可与存储器系统110联接或链接。
例如,主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)、投影仪等的电子装置。
主机102还包括通常可管理并控制在主机102中执行的功能和操作的至少一个操作系统(OS)。OS可提供与存储器系统110接合的主机102和需要并使用存储器系统110的用户之间的互操作性。OS可支持与用户请求对应的功能和操作。通过示例而非限制的方式,根据主机102的移动性,OS可被分为通用操作系统和移动操作系统。根据系统要求或用户环境,通用操作系统可被分为个人操作系统和企业操作系统。包括Windows和Chrome的个人操作系统可支持针对一般用途的服务。但企业操作系统可专门用于确保并支持高性能,包括Windows Server、Linux、Unix等。进一步地,移动操作系统可包括Android、iOS、WindowsMobile等。移动操作系统可支持针对移动性的服务或功能(例如,省电功能)。主机102可包括多个操作系统。对应于用户请求,主机102可运行与存储器系统110链接的多个操作系统。主机102可将对应于用户请求的多个命令传送到存储器系统110中,从而在存储器系统110内执行对应于命令的操作。
存储器系统110可响应于来自主机102的请求来操作或执行特定的功能或操作,并且特别地,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用例如以下的易失性存储器装置来实施:动态随机存取存储器(DRAM)和静态RAM(SRAM),和/或存储器系统110的存储装置可利用诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器。
存储器系统110可包括控制器130和存储器装置150。存储器装置150可存储待由主机102访问的数据。控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可集成到单个半导体装置中,该单个半导体装置可包括在如上所例示的各种类型的存储器系统中的任意一种中。
通过示例而非限制的方式,控制器130和存储器装置150可集成到单个半导体装置中。配置SSD的控制器130和存储器装置150可集成到单个半导体装置中,以提高操作速度。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可比与硬盘一起实施的主机102的操作速度提高更多。另外,集成到一个半导体装置中的控制器130和存储器装置150可形成存储卡,即PC卡(PCMCIA)、紧凑式闪存(CF)卡、诸如智能媒体卡(例如,SM、SMC)的存储卡、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC)、SD卡(例如,SD、迷你SD、微型SD、SDHC)、通用闪速存储器等。
存储器系统110可被配置成例如以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子阅读器、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种组件之一。
存储器装置150可以是非易失性存储器装置,并且即使在不供应电力时也可保留其中存储的数据。存储器装置150可通过写入操作存储从主机102提供的数据,同时也可通过读取操作将其中存储的数据提供到主机102。存储器装置150可包括多个存储块152、154、156……。存储块152、154、156……中的每一个可包括多个页面。多个页面中的每一个可包括与多个字线(WL)电联接的多个存储器单元。存储器装置150还包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块152、154、156……。另外,存储器装置150可以是非易失性存储器装置,例如闪速存储器,其中闪速存储器可以是三维堆叠结构。
控制器130可控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供到主机102。控制器130可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、存储器接口(I/F)142以及存储器144。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、外围组件互连高速(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。根据实施例,主机接口132是用于与主机102交换数据的组件,主机接口132可通过被称为主机接口层(HIL)的固件来实施。
ECC单元138可校正待在存储器装置150中处理(例如,从存储器装置150输出)的数据的错误位,该ECC单元138可包括ECC编码器和ECC解码器。此处,ECC编码器可对待编程在存储器装置150中的数据执行错误校正编码,以生成添加了奇偶校验位的编码数据,并且将编码数据存储在存储器装置150中。当控制器130读取存储在存储器装置150中的数据时,ECC解码器可检测并校正从存储器装置150读取的数据中包含的错误。换言之,在对从存储器装置150读取的数据执行错误校正解码之后,ECC单元138可确定错误校正解码是否成功并输出指令信号(例如,校正成功信号或校正失败信号)。ECC单元138可使用在ECC编码进程期间生成的奇偶校验位来校正读取的数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元138可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
ECC单元138可基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC单元138可包括用于基于上述代码中的至少一种执行错误校正操作的电路、模块、系统或装置中的所有或一些。
PMU 140可提供并管理控制器130中的电力。
存储器接口142可用作用于处理在控制器130与存储器装置150之间传输的命令和数据的接口,以允许控制器130响应于从主机102传送的请求来控制存储器装置150。在存储器装置150是闪速存储器,特别是存储器装置150是NAND闪速存储器的情况下,在处理器134的控制下,存储器接口142可生成用于存储器装置150的控制信号,并且可处理输入到存储器装置150中或从存储器装置150输出的数据。存储器接口142可提供接口,用于处理控制器130与存储器装置150之间的命令和数据,例如,NAND闪存接口的操作,特别是控制器130与存储器装置150之间的操作。根据实施例,存储器接口142可通过作为用于与存储器装置150交换数据的组件的、被称为闪存接口层(FIL)的固件来实施。
存储器144可支持由存储器系统110和控制器130执行的操作。存储器144可存储用于存储器系统110和控制器130中的操作的临时数据或事务数据。控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据传输到主机102。控制器130可将通过主机102输入的数据存储在存储器装置150中。存储器144可用于存储控制器130和存储器装置150执行诸如读取操作和/或编程/写入操作的操作所需的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或这两者来实施。虽然图1例示了存储器144设置在控制器130内部,但本实施例和本发明都不限于此。也就是说,存储器144可位于控制器130内部或外部。例如,存储器144可由具有存储器接口的外部易失性存储器来实施,该存储器接口传输在存储器144与控制器130之间传输的数据和/或信号。
如上所述,存储器144可存储执行诸如以下的操作所需的数据:主机102请求的数据写入和数据读取;和/或用于诸如垃圾收集、损耗均衡的后台操作的存储器装置150与控制器130之间的数据传输。根据实施例,为了支持存储器系统110中的操作,存储器144可包括程序存储器、数据存储器、写入缓冲器或高速缓存(缓冲器/高速缓存)、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134可利用微处理器或中央处理单元(CPU)来实施。处理器134可代表不止一个处理器,所有这些处理器都可包括在存储器系统110中。处理器134可控制存储器系统110的全部操作。通过示例而非限制的方式,处理器134可响应于从主机102输入的写入请求或读取请求来控制对存储器装置150的编程操作或读取操作。根据实施例,处理器134可使用或执行固件来控制存储器系统110的全部操作。在本文中,固件可被称为闪存转换层(FTL)。FTL可执行作为主机102与存储器装置150之间的接口的操作。主机102可通过FTL将写入操作和读取操作的请求传送到存储器装置150。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可加载、生成、更新或存储映射数据。因此,控制器130可通过映射数据将从主机102输入的逻辑地址与存储器装置150的物理地址进行映射。因为地址映射操作,存储器装置150可用作通用存储装置以执行读取操作或写入操作。而且,通过基于映射数据的地址映射操作,当控制器130尝试更新存储在特定页面中的数据时,由于闪速存储器装置的特性,控制器130可将更新的数据编程在另一空页面上,并且可使该特定页面的旧数据无效(例如,将与更新的数据的逻辑地址对应的物理地址从先前的特定页面更新到另一新编程的页面)。进一步地,控制器130可将新数据的映射数据存储到FTL中。
例如,为了在存储器装置150中执行从主机102请求的操作,控制器130使用被实施为微处理器或中央处理单元(CPU)等的处理器134。与存储器装置150接合的处理器134可处理与从主机102输入的命令对应的命令操作。控制器130可执行作为诸如以下的与从主机102输入的命令对应的命令操作的前台操作:与写入命令对应的编程操作,与读取命令对应的读取操作,与擦除/丢弃命令对应的擦除/丢弃操作,以及与设置参数命令、设置特征命令或设置命令对应的参数设置操作。
又例如,控制器130可通过处理器134执行对存储器装置150的后台操作。通过示例而非限制的方式,对存储器装置150的后台操作包括将存储在存储器装置150中的存储块152、154、156……之中的存储块中的数据复制并存储到另一存储块的操作(例如,垃圾收集(GC)操作)。后台操作可包括将存储在存储器装置150中的存储块152、154、156……中的至少一个存储块中的数据移动到存储块152、154、156……中的一个或多个其它存储块的操作(例如,损耗均衡(WL)操作)。作为后台操作,控制器130使用处理器134将存储在控制器130中的映射数据存储到存储器装置150中的存储块152、154、156……中的至少一个存储块,例如,映射清除(flush)操作。识别多个存储块152、154、156……之中的坏块的坏块管理操作是由处理器134执行的后台操作的另一示例。
在存储器系统110中,控制器130执行与从主机102输入的多个命令对应的多个命令操作。例如,当顺序地、随机地或可选地执行与多个编程命令对应的多个编程操作、与多个读取命令对应的多个读取操作以及与多个擦除命令对应的多个擦除操作时,控制器130可确定用于将控制器130连接到存储器装置150中包括的多个存储器管芯的多个通道(或通路)中的哪个(哪些)通道或通路适于或适用于执行每个操作。控制器130可经由所确定的通道或通路来发送或传送数据或指令以执行每个操作。在每个操作完成之后,存储器装置150中包括的多个存储器管芯可分别经由相同的通道或通路传送操作结果。然后,控制器130可将响应或确认信号传送到主机102。在实施例中,控制器130可检查每个通道或每个通路的状态。响应于从主机102输入的命令,控制器130可基于每个通道或每个通路的状态来选择至少一个通道或通路,从而可经由所选择的通道或通路来传送带有数据的指令和/或操作结果。
通过示例而非限制的方式,控制器130可识别关于与存储器装置150中包括的多个存储器管芯相关联的多个通道(或通路)的状态。控制器130可将每个通道或每个通路确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态中的一种。控制器130可确定通过哪个通道或通路传输指令(和/或数据),以及指令(和/或数据)被传输到哪个管芯。控制器130的确定可与物理块地址相关联。控制器130可参考从存储器装置150传输的描述符。描述符可包括描述存储器装置150的特性或性质的块或页面参数。描述符可以是具有特定格式或结构的数据。例如,描述符可包括装置描述符、配置描述符、单元描述符等。控制器130可参考或使用描述符来确定经由哪个(哪些)通道或通路交换指令或数据。
管理单元(未示出)可包括在处理器134中。管理单元可执行存储器装置150的坏块管理。管理单元可发现存储器装置150中的不符合进一步使用条件的坏存储块,并对坏存储块执行坏块管理。当存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。坏块可使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重劣化。因此,可靠的坏块管理可增强或提高存储器系统110的性能。
在图2中,描述了根据本公开的实施例的存储器系统110的示例。参照图2,存储器系统110可包括控制器130和存储器装置150。存储器系统110可联接到另一装置,例如计算装置。存储器装置150可包括非易失性存储器,并且控制器130可将外部传送的数据编程到存储器装置150中或者从存储器装置150读取外部请求的数据。
包括非易失性存储器的存储器装置150不支持可在相同位置重写数据(例如,写入新数据以替换旧数据)的重写。因此,存储器系统110中的控制器130可从存储器装置150的特定位置读取数据,然后当对应数据被改变或更新时,应将改变和更新的数据存储到存储器装置150的另一位置。
存储器系统110可增加存储器装置150中的多个存储块之中可擦除数据的块的数量。多个存储块可包括具有健康或良好状态的至少一个正常块40_1、具有不良或不健康状态的至少一个不良块40_2、具有指示块可能不可用的坏状态的至少一个坏块40_3等。包括非易失性存储器单元的每个块可具有由制造产生的固有特性并具有有限寿命。在每个块中,在写入和擦除数据的过程中发生损耗,这可能导致其中的非易失性存储器单元的特性差异。可基于每个块的操作信息或状态信息来识别特性。操作信息或状态信息可通过在每个块中编程、读取和擦除数据的过程来生成和/或更新。
在存储器装置150中的每个块中编程、读取或擦除数据的操作通常可在设定时间内执行。当在每个块中编程、读取或擦除数据的操作未在设定时间内完成时,对应块可被认为是坏块40_3。坏块40_3是操作未正常完成的块。因此,控制器130可不再在坏块40_3中编程新数据。根据实施例,当可确定坏块40_3的特性随后在存储器系统110操作时被改进或修复时,控制器130可在该块中编程数据。
在存储器装置150中的每个块中编程、读取或擦除数据的操作可在与错误相关的设定时间内完成,但不在与操作状态(例如,健康条件)相关的设定范围内完成。通过示例而非限制的方式,编程数据的设定允许时间为20毫秒(ms)。当存储器系统花费19ms在特定块中编程数据时,该块可被认为不是坏块40_3。然而,如果在良好条件块中编程数据的设定范围为10至17ms,则可将花费19ms编程数据的块分类为不良块40_2而非坏块40_3。
当存储器装置150中的存储空间足够时,即当多个正常块40_1的数量较大时,可不使用存储器装置150中的至少一个不良块40_2或至少一个坏块40_3。然而,如果存储器装置150中的存储空间不足,即如果没有足够的空间来编程从主机102输入的数据,或者没有足够的空闲块用于由存储器系统110执行的诸如垃圾收集的操作,则存储器系统110可考虑使用存储器装置150中的至少一个不良块40_2或至少一个坏块40_3。
控制器130可包括块管理器48,该块管理器48可监测或管理关于存储器装置150中的多个块的操作信息或状态信息。块管理器48可生成不良块列表37,该不良块列表37可包括关于存储器装置150中的多个块之中的至少一个不良块40_2的操作信息或状态信息。
虽然未示出,但块管理器48可生成正常块40_1的列表和坏块40_3的列表。块管理器48可检查关于每个块的操作信息或状态信息,并且基于操作信息或状态信息确定每个块可被列入在正常块列表、不良块列表和坏块列表中的哪个列表中。
根据实施例,操作信息或状态信息可包括擦除计数、诸如错误的数量和可恢复性的ECC信息、以及由于制造缺陷所确定的坏块标识符。操作信息或状态信息可以是块管理器48确定特定块将被包括在哪个列表中的标准。
当块管理器48确定存储器装置150中没有足够的正常块40_1用于执行主机102请求的操作或后台操作时,块管理器48可参考不良块列表37。不良块列表37可包括关于至少一个不良块40_2的操作信息或状态信息。不良块列表37可包括优先级,优先级至少基于不良块40_2中的每一个的操作信息或状态信息而被分派给每个块。块管理器48可根据优先级确定将首先使用多个不良块40_2之中的哪个不良块。
在实施例中,块管理器48可利用图1中描述的控制器130中包括的至少一个处理器134和至少一个存储器144来实施。通过示例而非限制的方式,块管理器48可使用加载在控制器130中包括的至少一个存储器144中的、由控制器130中包括的至少一个处理器134执行的固件或程序,来控制或管理每个块的操作信息或状态信息。
虽然图2中未示出,但控制器130可执行各种操作以增加或提高存储器系统110的可靠性。例如,如简要描述的,损耗均衡是延长可在非易失性存储器单元中擦除和写入数据的诸如固态驱动器(SSD)、USB闪存驱动器和相变存储器的存储器系统的寿命(即,提高耐久性)的若干操作中的一个。这种存储器系统可提供并实现损耗均衡机制,该损耗均衡机制识别存储数据的存储器单元的损耗程度并提供各种水平的寿命延长。这种损耗均衡机制可应用于诸如垃圾收集(GC)的另一操作,在该另一操作中,通过从由控制器动态分配的存储器区域(例如,块)释放不必要的区域(例如,无效数据)以允许被占用的块重新使用(或编程)新数据。
进一步地,在已经使用了不良块40_2中的一些不良块之后,块管理器48可通过后台操作以较低优先级到较高优先级的顺序将存储在不良块40_2中的数据移动到正常块40_1。这是因为优先级越低,存储在块中的数据的稳定性越低。为此,应确保存储器装置150中存在至少一个正常块40_1,以便可移动数据。可通过垃圾收集来实现确保存储器装置150中存在正常块40_1。
在损耗均衡或垃圾收集期间,存储器系统110可在正常块40_1之间移动数据,或者将数据从不良块40_2移动到正常块40_1。通过示例而非限制的方式,控制器130可读取存储在不良块40_2中的数据,将读取的数据加载到控制器130的存储器中,然后将加载到存储器中的数据存储在作为空闲块或开放块的正常块40_1中。在将数据从存储该数据的不良块40_2移动到作为空闲块的正常块40_1的过程中,控制器130可加载并更新关于待移动的数据的元数据,并且将更新的元数据存储在存储器装置150中。
参照图3,详细描述了根据本公开的另一示例的存储器系统中的控制器。控制器130与主机102和存储器装置150协作。控制器130可包括主机接口(I/F)132、闪存转换层(FTL)单元40、存储器接口142和存储器144。
虽然图3中未示出,但根据实施例,图1中描述的ECC单元138可包括在闪存转换层(FTL)单元40中。在另一实施例中,ECC单元138可被实施为包括在控制器130中或与控制器130相关联的单独模块、电路或固件。
主机接口132可处理从主机102传送的命令、数据等。通过示例而非限制的方式,主机接口132可包括命令队列56、缓冲器管理器52和事件队列54。命令队列56可顺序地存储从主机102传送的命令和数据,并且以存储的顺序将命令和数据输出到缓冲器管理器52。缓冲器管理器52可对从命令队列56传送的命令和数据进行分类、管理或调整。事件队列54可顺序地传送用于处理从缓冲器管理器52接收的命令和数据的事件。
可从主机102连续地传送具有相同特性的多个命令或数据,或者可将具有不同特性的命令和数据在被混合或打乱之后从主机102传送到存储器系统110。例如,可将用于读取数据的多个命令(即,读取命令)传送到存储器系统110,或者可将用于读取数据的命令(即,读取命令)和用于编程/写入数据的命令(即,写入命令)交替地传送到存储器系统110。主机接口132可将从主机102接收的命令和数据顺序地存储到命令队列56。此后,主机接口132可根据从主机102接收的命令或数据的特性来估计或预测控制器130将执行何种类型的操作。主机接口132可至少基于命令和数据的特性来确定命令和数据的处理顺序和优先级。根据从主机102接收的命令和数据的特性,主机接口132的缓冲器管理器52被配置成确定是否将命令和数据存储在存储器144中,或者是否将命令和数据传输到闪存转换层(FTL)单元40。事件队列54接收从缓冲器管理器52输入的、待由存储器系统110或控制器130响应于从主机102接收的命令和数据内部地执行并处理的事件,以便以接收的顺序将事件传输到闪存转换层(FTL)单元40中。
根据实施例,图3中描述的主机接口132可执行图1中描述的控制器130的功能。主机接口132可将主机102中包括的第一存储器设置为从属存储器,并且将第一存储器添加为控制器130可控制或可使用的额外存储空间。
根据实施例,闪存转换层(FTL)单元40可包括状态管理器42、映射管理器(MM)44、主机请求管理器(HRM)46和块管理器48。主机请求管理器(HRM)46可管理从事件队列54输入的事件。映射管理器(MM)44可处理或控制映射数据。状态管理器(GC/WL)42可执行垃圾收集(GC)或损耗均衡(WL)。块管理器48可对存储器装置150中的块执行命令或指令。
通过示例而非限制的方式,主机请求管理器(HRM)46可根据从主机接口132接收的读取命令和编程命令以及事件,使用映射管理器(MM)44和块管理器48来处置或处理请求。主机请求管理器(HRM)46可向映射管理器(MM)44发送查询请求,以获得对应于与事件一起输入的逻辑地址的物理地址。主机请求管理器(HRM)46可向存储器接口142发送带有物理地址的读取请求,以处理读取请求(或处理事件)。另一方面,主机请求管理器(HRM)46可向块管理器48发送编程请求(或写入请求),以将输入的数据编程到存储器装置150中的未记录(无数据)的特定页面。然后,主机请求管理器(HRM)46可向映射管理器(MM)44传送对应于编程请求的映射更新请求,以更新将逻辑地址与物理地址彼此映射的信息中与编程的数据相关的项。
此处,块管理器48可将从主机请求管理器(HRM)46、映射管理器(MM)44和/或状态管理器42接收的编程请求转换成用于存储器装置150的闪存编程请求,以管理存储器装置150中的闪存块。为了最大化或增强图3的存储器系统110的编程或写入性能,块管理器48可收集编程请求并向存储器接口142发送用于多平面和单触发编程操作的闪存编程请求。块管理器48可向存储器接口142发送若干闪存编程请求,以增强或最大化多通道和多向闪存控制器(或存储器接口142)的并行处理。
另一方面,块管理器48可根据有效页面的数量来管理存储器装置150中的块,当需要空闲块时选择并擦除不具有有效页面的块,并且当确定需要垃圾收集时选择包括最少有效页面的块。状态管理器42可执行垃圾收集以将有效数据移动到空块并擦除包括移动的有效数据的块,从而块管理器48可确定存储器装置150中具有足够的空闲块(或不具有数据的空块)。如果块管理器48向状态管理器42提供关于待擦除的块的信息,则状态管理器42可检查待擦除的块的所有页面以确定每个页面是否有效。例如,为了确定每个页面的有效性,状态管理器42可识别记录在每个页面的带外(OOB)区域中的逻辑地址。为了确定每个页面是否有效,状态管理器42可将页面的物理地址与映射到从查询请求获得的逻辑地址的物理地址进行比较。状态管理器42针对每个有效页面向块管理器48发送编程请求。当编程操作完成时,可通过映射管理器44的更新来更新映射表。
映射管理器44可管理逻辑到物理映射表。映射管理器44可处理由主机请求管理器(HRM)46或状态管理器42生成的诸如查询和更新的请求。映射管理器44可将整个映射表存储在存储器装置150(例如,闪存/非易失性存储器)中并且根据存储器144的存储容量来高速缓存映射条目。当处理查询请求或更新请求时发生映射高速缓存未命中时,映射管理器44可向存储器接口142发送读取请求以加载存储在存储器装置150中的相关映射表。当映射管理器44中的脏高速缓存块的数量超过特定阈值时,可将编程请求发送到块管理器48,从而形成干净高速缓存块,并且可将脏映射表存储在存储器装置150中。
另一方面,当执行垃圾收集时,状态管理器42将有效页面复制到空闲块中,并且主机请求管理器(HRM)46可针对页面的相同逻辑地址编程最新版本的数据,并且当前发出更新请求。当状态管理器42在有效页面的复制未正常完成的状态下请求映射更新时,映射管理器44可不执行映射表更新。这是因为如果状态管理器42请求映射更新并且稍后才完成有效页面复制,则利用旧物理信息发出的映射请求。只要最新映射表仍然指向旧物理地址,映射管理器44就可执行映射更新操作以确保准确性。
存储器装置150可包括多个存储块。根据可在对应存储块的一个存储器单元中存储或表示的位的数量,多个存储块可被分类为不同类型的存储块,诸如单层单元(SLC)存储块或多层单元(MLC)存储块。此处,SLC存储块包括由每一个存储一位数据的存储器单元实施的多个页面。SLC存储块可具有高数据I/O操作性能和高耐久性。MLC存储块包括由每一个存储多位(例如,两位或更多位)数据的存储器单元实施的多个页面。在相同空间中,MLC存储块可比SLC存储块具有更大的存储容量。在存储容量方面,MLC存储块可被高度集成。在实施例中,存储器装置150可利用诸如MLC'存储块、三层单元(TLC)存储块、四层单元(QLC)存储块及其组合的MLC存储块来实施。MLC'存储块可包括由每一个能够存储两位数据的存储器单元实施的多个页面。三层单元(TLC)存储块可包括由每一个能够存储三位数据的存储器单元实施的多个页面。四层单元(QLC)存储块可包括由每一个能够存储四位数据的存储器单元实施的多个页面。在另一实施例中,存储器装置150可利用包括由每一个能够存储五位或更多位数据的存储器单元实施的多个页面的块来实施。
在本公开的实施例中,存储器装置150被实施为诸如闪速存储器或者更具体地NAND闪速存储器或NOR闪速存储器的非易失性存储器。可选地,存储器装置150可由相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋转移矩随机存取存储器(STT-RAM)和自旋转移矩磁性随机存取存储器(STT-MRAM)中的任意一个来实施。
在下文中,给出根据本公开的实施例的在存储器系统中执行与多个命令对应的多个命令操作的示例。例如,对包括例如以下情况的多种变化的数据处理操作进行详细描述:从主机102接收多个写入命令并执行对应于写入命令的编程操作的情况;从主机102接收多个读取命令并执行对应于读取命令的读取操作的另一情况;从主机102接收多个擦除命令并执行对应于擦除命令的擦除操作的另一情况;以及从主机102同时接收多个写入命令和多个读取命令,并且执行对应于写入命令的编程操作和对应于读取命令的读取操作的另一情况。
此外,在本公开的实施例中,描述以下情况:将与来自主机102的多个写入命令对应的写入数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,将存储在缓冲器/高速缓存中的写入数据编程到并存储在存储器装置150中的多个存储块中,对应于多个存储块中存储的写入数据更新映射数据,并且将更新的映射数据存储在存储器装置150中的多个存储块中。在本公开的实施例中,描述以下情况:执行与来自主机102的多个写入命令对应的编程操作。此外,在本公开的实施例中,描述以下情况:从主机102接收针对存储在存储器装置150中的数据的多个读取命令,通过检查与读取命令对应的数据的映射数据来从存储器装置150读取与读取命令对应的数据,将读取的数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,并且将存储在缓冲器/高速缓存中的数据提供到主机102。换言之,作为示例,描述以下情况:执行与来自主机102的多个读取命令对应的读取操作。此外,作为示例,描述以下情况:从主机102接收针对存储器装置150中的存储块的多个擦除命令,对应于擦除命令检查存储块,擦除存储在检查到的存储块中的数据,对应于擦除的数据更新映射数据,并且将更新的映射数据存储在存储器装置150中的多个存储块中。即,描述以下情况:执行与从主机102接收的多个擦除命令对应的擦除操作。
进一步地,尽管下面将作为示例描述控制器130在存储器系统110中执行命令操作,但将注意的是,如上所述,控制器130中包括的处理器134可通过例如闪存转换层(FTL)在存储器系统110中执行命令操作。而且,控制器130将与来自主机102的写入命令对应的用户数据和元数据编程并存储在存储器装置150中的多个存储块之中的任意存储块中。而且,控制器130从存储器装置150中的多个存储块之中的任意存储块读取与从主机102接收的读取命令对应的用户数据和元数据。进一步地,控制器130将读取的数据提供到主机102,或从存储器装置150中的多个存储块之中的任意存储块擦除与来自主机102的擦除命令对应的用户数据和元数据。
元数据可包括对应于编程操作存储在存储块中的数据的第一映射数据和第二映射数据,该第一映射数据包括逻辑/物理(L2P:逻辑到物理)信息(逻辑信息),该第二映射数据包括物理/逻辑(P2L:物理到逻辑)信息(物理信息)。而且,元数据可包括关于与从主机102接收的命令对应的命令数据的信息、关于与命令对应的命令操作的信息、关于待执行命令操作的存储器装置150的存储块的信息、以及关于与命令操作对应的映射数据的信息。换言之,元数据可包括与从主机102接收的命令对应的所有剩余信息和除了用户数据之外的数据。
也就是说,在控制器130从主机102接收多个写入命令的情况下,执行与写入命令对应的编程操作,并且将与写入命令对应的用户数据写入并存储在存储器装置150的存储块之中已执行擦除操作的空存储块、开放存储块或空闲存储块中。而且,第一映射数据和第二映射数据被写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或空闲存储块中。第一映射数据可包括L2P映射表或L2P映射列表,L2P映射表或L2P映射列表中记录存储在存储块中的用户数据的作为逻辑地址与物理地址之间的映射信息的逻辑信息。第二映射数据可包括P2L映射表或P2L映射列表,P2L映射表或P2L映射列表中记录存储有用户数据的存储块的作为物理地址与逻辑地址之间的映射信息的物理信息。
在从主机102接收写入命令的情况下,控制器130将对应于写入命令的用户数据写入并存储在存储块中。控制器130将存储在存储块中的用户数据的、包括第一映射数据和第二映射数据的元数据存储在其它存储块中。特别地,对应于用户数据的数据段被存储在存储器装置150的存储块中,控制器130生成并更新元数据的元段之中的作为映射数据的映射段的第一映射数据的L2P段和第二映射数据的P2L段。控制器130将映射段存储在存储器装置150的存储块中。存储在存储器装置150的存储块中的映射段被加载在控制器130中包括的存储器144中,然后被更新。
在从主机102接收多个读取命令的情况下,控制器130从存储器装置150读取与读取命令对应的读取数据,将读取的数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中。控制器130将存储在缓冲器/高速缓存中的数据提供到主机102,由此执行与多个读取命令对应的读取操作。
在从主机102接收多个擦除命令的情况下,控制器130检查与擦除命令对应的存储器装置150的存储块,然后对该存储块执行擦除操作。
当执行与从主机102接收的多个命令对应的命令操作同时执行后台操作时,控制器130将与后台操作对应的数据,即元数据和用户数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将数据,即元数据和用户数据存储在存储器装置150中。通过示例而非限制的方式,后台操作可包括作为复制操作的垃圾收集操作或读取回收操作、作为交换操作的损耗均衡操作、或映射清除操作。例如,对于后台操作,控制器130可检查存储器装置150的存储块中的与后台操作对应的元数据和用户数据,将存储在存储器装置150的某些存储块中的元数据和用户数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将元数据和用户数据存储在存储器装置150的某些其它存储块中。
在根据本公开的实施例的存储器系统中,在执行作为前台操作的命令操作以及作为后台操作的复制操作、交换操作和映射清除操作的情况下,控制器130调度与前台操作和后台操作对应的队列,并将调度的队列分配给控制器130中包括的存储器144和主机102中包括的存储器。在这方面,控制器130根据待在存储器装置150中执行的前台操作和后台操作的各个操作来分派标识符(ID),并且调度与分别分派有标识符的操作对应的队列。在根据本公开的实施例的存储器系统中,不仅根据存储器装置150的各个操作而且根据存储器装置150的功能来分派标识符,并且调度与分别分派有标识符的功能对应的队列。
在根据本公开的实施例的存储器系统中,控制器130管理通过待在存储器装置150中执行的各个功能和操作的标识符调度的队列。控制器130管理通过待在存储器装置150中执行的前台操作和后台操作的标识符调度的队列。在根据本公开的实施例的存储器系统中,在与通过标识符调度的队列对应的存储器区域被分配给控制器130中的存储器144和主机102中的存储器之后,控制器130管理分配的存储器区域的地址。通过使用调度的队列,控制器130在存储器装置150中不仅执行前台操作和后台操作而且执行各个功能和操作。
图4是示出根据实施例的存储器系统中使用的超级存储块的示图。
参照图4,详细示出了图1至图3所示的根据实施例的存储器系统110的组件之中的存储器装置150中的组件。
存储器装置150包括多个存储块BLOCK000、BLOCK001、BLOCK002、……和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、……和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、……和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、……和BLOCK11N。
存储器装置150包括可经由不同通道与控制器130(参见图1)联接以进行数据传送的多个存储器管芯。通过示例而非限制的方式,存储器装置150包括能够通过第零通道CH0输入/输出数据的第零存储器管芯DIE0和能够通过第一通道CH1输入/输出数据的第一存储器管芯DIE1。第零通道CH0和第一通道CH1可以交错方案输入/输出数据。
第零存储器管芯DIE0包括分别对应于多个通路WAY0、WAY1的多个平面PLANE00、PLANE01,多个通路WAY0、WAY1能够通过共用第零通道CH0以交错方案输入/输出数据。
第一存储器管芯DIE1包括分别对应于多个通路WAY2、WAY3的多个平面PLANE10、PLANE11,多个通路WAY2、WAY3能够通过共用第一通道CH1以交错方案输入/输出数据。
第零存储器管芯DIE0的第一平面PLANE00包括多个存储块之中的设定数量的存储块BLOCK000、BLOCK001、BLOCK002、……和BLOCK00N。
第零存储器管芯DIE0的第二平面PLANE01包括多个存储块之中的设定数量的存储块BLOCK010、BLOCK011、BLOCK012、……和BLOCK01N。
第一存储器管芯DIE1的第一平面PLANE10包括多个存储块之中的设定数量的存储块BLOCK100、BLOCK101、BLOCK102、……和BLOCK10N。
第一存储器管芯DIE1的第二平面PLANE11包括多个存储块之中的设定数量的存储块BLOCK110、BLOCK111、BLOCK112、……和BLOCK11N。
以这种方式,存储器装置150中的多个存储块可根据诸如使用相同通路或相同通道的物理位置来进行分组。
通过示例而非限制的方式,图4中示出了存储器装置150包括两个存储器管芯DIE0、DIE1,并且存储器管芯DIE0、DIE1中的每一个中包括两个平面PLANE00、PLANE01或PLANE10、PLANE11。根据设计要求或配置,存储器装置150中可包括多于或少于两个存储器管芯。每个存储器管芯中可包括的平面的数量也可多于或少于两个。每个平面中的存储块的数量也可根据系统配置而变化。
用于对存储器装置150中的多个存储块进行分组的上述方案基于存储块的物理位置或定位。在另一实施例中,控制器130可使用不同方案来对多个存储块进行分组,该方案可基于对所选择的存储块执行的操作或事务。控制器130可将诸如不同管芯或不同平面的不同位置的存储块布置成多个组,其中每个组包括针对操作或事务同时选择或配置的存储块。存储块的组形成各个超级存储块。
控制器130如何通过将多个存储块中的一些存储块进行分组来生成或建立超级存储块可根据系统配置或设计要求而不同。将作为示例描述三种不同的方案。
第一方案通过由控制器130将第零存储器管芯DIE0的第一平面PLANE00中的单个存储块BLOCK000和第二平面PLANE01中的另一单个存储块BLOCK010进行分组来生成一个超级存储块A1。当将第一方案应用于第一存储器管芯DIE1时,控制器130可通过将第一存储器管芯DIE1的第一平面PLANE10中的单个存储块BLOCK100和第二平面PLANE11中的单个存储块BLOCK110进行分组来生成一个超级存储块A2。在第一方案中,控制器130可选择相同存储器管芯的不同平面中的多个存储块以生成超级存储块A1、A2。
第二方案通过由控制器130将第零存储器管芯DIE0的第一平面PLANE00中包括的单个存储块BLOCK002和第一存储器管芯DIE1的第一平面PLANE10中包括的另一单个存储块BLOCK102进行分组来生成一个超级存储块B1。为了形成另一超级存储块B2,控制器130可将第零存储器管芯DIE0的第二平面PLANE01中包括的一个存储块BLOCK012和第一存储器管芯DIE1的第二平面PLANE11中包括的一个存储块BLOCK112进行分组。在第二方案中,控制器130可选择不同存储器管芯的对应平面中的多个存储块以配置超级存储块B1、B2。
第三方案通过由控制器130将第零存储器管芯DIE0的第一平面PLANE00中包括的存储块BLOCK001、第零存储器管芯DIE0的第二平面PLANE01中包括的另一存储块BLOCK011、第一存储器管芯DIE1的第一平面PLANE10中包括的另一存储块BLOCK101以及第一存储器管芯DIE1的第二平面PLANE11中包括的另一存储块BLOCK111进行分组来生成一个超级存储块C。在第三方案中,控制器130可从每个管芯中的每个平面选择单个块以形成超级存储块C。
对于特定操作或事务,控制器130从存储块中的以例如交错方案的不同方式选择或选取的一些存储块配置超级存储块。例如,交错方案可包括通道交错方案、存储器管芯交错方案、存储器芯片交错方案或通路交错方案。
图5和图6是示出根据实施例的在存储器系统中以超级存储块为单位来管理存储块的操作的示图。
参照图5,超级存储块中的每一个可从存储器装置150中的多个存储块形成。控制器130可选择存储块中的一些存储块以从存储器装置150中的多个存储块建立超级存储块中的每一个。
假设存储器装置150包括八个存储器管芯DIE<0:7>,八个存储器管芯DIE<0:7>中的每一个包括四个平面PLANE<0:3>,总共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>和八个通路WAY<0:7>输入和输出数据。详细地,在存储器装置150中,四个通路WAY<0:3>或WAY<4:7>可共用一个通道CH0或CH1。四个平面PLANE<0:3>可共用WAY0、WAY1、WAY2、WAY3、WAY4、WAY5、WAY6或WAY7中的一个通路。
存储器系统110的控制器130可将存储器装置150中的多个存储块分组成将被分派或分配用于事务的超级存储块。特别地,可看出的是,如上参照图4所描述的,控制器130使用第三方案将存储块划分为超级存储块。
控制器130可通过选择存储器装置150中包括的32个平面PLANE<0:3>*8中的每一个中的单个存储块来形成超级存储块SUPERBLOCK<0:1023>中的每一个。因此,超级存储块SUPERBLOCK<0:1023>中的每一个包括32个存储块。
因为控制器130同时选择超级存储块SUPERBLOCK<0:1023>中的每一个的32个存储块,所以在如图5的以超级存储块为单位处理存储器装置150的配置中可使用用于选择各个超级存储块SUPERBLOCK<0:1023>的超级存储块地址(未示出)。
以这种方式,为了使用超级存储块地址,控制器130使用以下方案:通过将存储器装置150中包括的32个平面PLANE<0:3>*8中的相同位置的存储块进行分组来生成超级存储块。
例如,控制器130可通过将存储器装置150中包括的32个平面PLANE<0:3>*8中的32个第零存储块BLOCK0进行分组来生成第零超级存储块SUPERBLOCK0,通过将32个平面PLANE<0:3>*8中的32个第一存储块BLOCK1进行分组来生成第一超级存储块SUPERBLOCK1,并且通过将32个平面PLANE<0:3>*8中的32个第二存储块BLOCK2进行分组来生成第二超级存储块SUPERBLOCK2。以这种方式,控制器130可管理或处理从存储器装置150中包括的32768个存储块BLOCK<0:1023>*32建立的总共1024个超级存储块SUPERBLOCK<0:1023>。
控制器130通过将存储块BLOCK<0:1023>*32划分为超级存储块SUPERBLOCK<0:1023>来管理存储块BLOCK<0:1023>*32的事实可表示控制器130将访问处理单位设置为超级存储块单位。即使控制器130通过使用超级存储块地址来选择超级存储块SUPERBLOCK<0:1023>中的每一个,也不太可能使用每个存储块地址来选择存储器装置150中包括的32768个存储块BLOCK<0:1023>*32中的每一个。然而,在控制器130中连续使用每个存储块地址。通过示例而非限制的方式,控制器130通过第零超级存储块地址来访问第零超级存储块SUPERBLOCK0的事实可表示与32个平面PLANE<0:3>*8的、被分组成第零超级存储块SUPERBLOCK0的32个第零存储块BLOCK0对应的32个存储块同时被访问。
存储器装置150中的所有存储块都正常操作几乎是不可能的。例如,在存储器装置150被安装在系统中并由处理器使用之后,存储器装置150中的多个存储块之中可能出现不能正常操作的坏存储块。因为即使存储器装置150尚未达到其寿命限制,具有较差耐久性的特定存储块也可能无法执行正常操作,因此可将具有较差耐久性的特定存储块确定为坏存储块。
在控制器130采用通过将存储器装置150中包括的32个平面PLANE<0:3>*8中的相同位置的存储块进行分组以使用超级存储块地址(未示出)来管理超级存储块的方案的情况下,可能无法将超级存储块设置为超级存储块SUPERBLOCK<0:1023>之中包括坏存储块的超级存储块的访问处理单位。在不进行恢复、替代或替换的情况下,控制器130访问包括坏存储块的超级存储块可能产生错误。
例如,当超级存储块SUPERBLOCK<0:1023>之中的任意一个超级存储块中的32个存储块之中只有一个存储块为坏存储块并且所有剩余的31个存储块都良好且稳定时,不将对应超级存储块的访问处理单位设置为超级存储块单位是相当低效的。
根据这一事实,在存储器系统110中,通过采用如图6所示的再生超级块表700,可重新使用包括至少一个坏存储块的超级存储块,而非将包括至少一个坏存储块的超级存储块丢弃。
参照图6,可看出的是,图5所示的存储器装置150中的多个超级存储块SUPERBLOCK<0:1023>之中,第718超级存储块SUPERBLOCK718、第820超级存储块SUPERBLOCK820和第829超级存储块SUPERBLOCK829中的每一个中的32个存储块之中的一个或多个存储块被确定为坏存储块。
在第718超级存储块SUPERBLOCK718中,第一存储器管芯DIE1的第一平面PLANE1中的存储块被确定为坏存储块,并且剩余的31个存储块是良好或稳定的存储块。
而且,在第820超级存储块SUPERBLOCK820中,第三存储器管芯DIE3的第一平面PLANE1中的存储块和第四存储器管芯DIE4的第一平面PLANE1中的存储块被确定为坏存储块,并且剩余的30个存储块是良好或稳定的存储块。
此外,在第829超级存储块SUPERBLOCK829中,第零存储器管芯DIE0的第一平面PLANE1中包括的存储块被确定为坏存储块,并且剩余的31个存储块是良好或稳定的存储块。
在这种状态下,控制器130生成再生超级块表700,以利用良好或稳定的存储块替换被确定为坏超级存储块的第718超级存储块SUPERBLOCK718、第820超级存储块SUPERBLOCK820和第829超级存储块SUPERBLOCK829中的坏存储块,从而使再生超级存储块正常操作。
详细地,为了重新使用第718超级存储块SUPERBLOCK718,控制器130应搜索能够替换第一存储器管芯DIE1的第一平面PLANE1中的坏存储块的存储块。
控制器130搜索超级存储块SUPERBLOCK<0:1023>之中的包括至少一个坏存储块的超级存储块。也就是说,控制器130可从搜索中排除仅包括良好或稳定的存储块的任何超级存储块。因此,控制器130可利用包括至少一个坏存储块的另一超级存储块,而非利用仅包括良好或稳定存储块的另一超级存储块来替换包括至少一个坏存储块的超级存储块。为了提高效率,可不使用仅包括良好或稳定的存储块的超级存储块作为替代超级存储块。
为了恢复或修复第718超级存储块SUPERBLOCK718中的坏存储块,控制器130可查找包括两个坏存储块的第820超级存储块SUPERBLOCK820。然后,控制器130检查第820超级存储块SUPERBLOCK820中的坏存储块中的任一个的位置是否与第718超级存储块SUPERBLOCK718中的坏存储块的位置相同。也就是说,在找到特定超级存储块的替代超级存储块之后,控制器130可检查特定超级存储块中的坏存储块和替代超级存储块中的坏存储块是否位于对应位置,例如位于相同的平面中。
如果两个坏存储块位于相同的位置,则从搜索结果中排除第820超级存储块SUPERBLOCK820,并且控制器130查找另一超级存储块。否则,将第820超级存储块SUPERBLOCK820确定为待用作替代超级存储块的目标超级存储块。
在图6中,第718超级存储块SUPERBLOCK718的坏存储块位于第一存储器管芯DIE1的第一平面PLANE1中,而第820超级存储块SUPERBLOCK820的坏存储块位于第三存储器管芯DIE3的第一平面PLANE1和第四存储器管芯DIE4的第一平面PLANE1中。换言之,第820超级存储块SUPERBLOCK820中的坏存储块的位置与第718超级存储块SUPERBLOCK718中的坏存储块的位置不重叠。第820超级存储块中的两个坏存储块都位于与第718超级存储块中的坏块的位置不同的位置。
因此,控制器130将第820超级存储块SUPERBLOCK820确定为目标超级存储块,并生成再生超级块表700,使得第820超级存储块SUPERBLOCK820中的第一存储器管芯DIE1的第一平面PLANE1中的存储块可用在第718超级存储块SUPERBLOCK718中。
即,为了替换第718超级存储块SUPERBLOCK718,控制器130将再生超级块表700的第一行设置为第零再生超级存储块RESUPERBLOCK0,并且存储用于替换第718超级存储块SUPERBLOCK718的32个存储块的块地址值。
因此,在存储在再生超级块表700的第一行中的第零再生超级存储块RESUPERBLOCK0的值中,仅用于指示第一存储器管芯DIE1的第一平面PLANE1中的存储块的块地址是第820超级存储块SUPERBLOCK820的块地址,并且所有剩余的31个块地址是第718超级存储块SUPERBLOCK718的块地址。
当在生成再生超级块表700之后控制器130访问第718超级存储块SUPERBLOCK718时,控制器130可参考存储在再生超级块表700的第一行中的第零再生超级存储块RESUPERBLOCK0的值。
然后,为了重新使用第820超级存储块SUPERBLOCK820,控制器130应搜索能够替换第一存储器管芯DIE1的第一平面PLANE1中的存储块、第三存储器管芯DIE3的第一平面PLANE1中的坏存储块和第四存储器管芯DIE4的第一平面PLANE1中的坏存储块的存储块。在本文中,第一存储器管芯DIE1的第一平面PLANE1中的存储块不是坏存储块,而是被分派为第718超级存储块SUPERBLOCK718的坏存储块的替代存储块。
即使第820超级存储块SUPERBLOCK820中仅存在两个坏存储块也搜索能够替换第820超级存储块SUPERBLOCK820中的32个存储块之中的三个存储块的存储块的原因在于,第820超级存储块SUPERBLOCK820中的一个存储块被用于使第718超级存储块SUPERBLOCK718作为再生超级存储块正常操作。即,原因在于,因为坏存储块位于第718超级存储块SUPERBLOCK718中的第一存储器管芯DIE1的第一平面PLANE1中,所以使用第820超级存储块SUPERBLOCK820中的第一存储器管芯DIE1的第一平面PLANE1中的存储块来生成再生超级块表700。
因此,为了重新使用第820超级存储块SUPERBLOCK820,控制器130搜索超级存储块SUPERBLOCK<0:1023>之中的包括至少一个坏存储块的超级存储块。当然,控制器130从搜索中排除仅包括良好的存储块的任何超级存储块。
作为搜索的结果,控制器130可识别包括一个坏存储块的第829超级存储块SUPERBLOCK829。在这种情况下,控制器130检查第829超级存储块SUPERBLOCK829中的坏存储块的位置是否与第718超级存储块SUPERBLOCK718中的坏存储块的位置和第820超级存储块SUPERBLOCK820中的坏存储块的位置相同。
如果位于相同的位置,则将第829超级存储块SUPERBLOCK829从目标超级存储块排除,并搜索另一超级存储块。相反,如果不位于相同的位置,则将第829超级存储块SUPERBLOCK829确定为目标超级存储块。
在图6中可看出的是,SUPERBLOCK829中的坏块的位置与SUPERBLOCK820和SUPERBLOCK718中的坏块中的任意一个的位置都不一致或不重叠。
因此,控制器130将第829超级存储块SUPERBLOCK829确定为替代超级存储块或目标超级存储块。然后,控制器130生成再生超级块表700,使得第829超级存储块SUPERBLOCK829中的32个存储块之中的第一存储器管芯DIE1的第一平面PLANE1中的存储块、第三存储器管芯DIE3的第一平面PLANE1中的存储块以及第四存储器管芯DIE4的第一平面PLANE1中的存储块可用在第820超级存储块SUPERBLOCK820中。
即,为了替换第820超级存储块SUPERBLOCK820,控制器130将再生超级块表700的第二行设置为第一再生超级存储块RESUPERBLOCK1,并且存储用于替换第820超级存储块SUPERBLOCK820的32个存储块的各个块地址值。
因此,在存储在再生超级块表700的第二行中的第一再生超级存储块RESUPERBLOCK1的值中,仅用于指示第一存储器管芯DIE1的第一平面PLANE1中的存储块、第三存储器管芯DIE3的第一平面PLANE1中的存储块以及第四存储器管芯DIE4的第一平面PLANE1中的存储块的块地址是第829超级存储块SUPERBLOCK829的块地址,并且所有剩余的29个块地址是第820超级存储块SUPERBLOCK820的块地址。
以这种方式,因为生成了再生超级块表700,所以当控制器130访问第820超级存储块SUPERBLOCK820时,可参考存储在再生超级块表700的第二行中的第一再生超级存储块RESUPERBLOCK1的值。
然后,为了重新使用第829超级存储块SUPERBLOCK829,控制器130应搜索能够替换第829超级存储块SUPERBLOCK829中的32个存储块之中的第零存储器管芯DIE0的第一平面PLANE1中包括的坏存储块、第一存储器管芯DIE1的第一平面PLANE1中包括的存储块、第三存储器管芯DIE3的第一平面PLANE1中包括的存储块和第四存储器管芯DIE4的第一平面PLANE1中包括的存储块的存储块。
即使第829超级存储块SUPERBLOCK829中的32个存储块之中存在一个坏存储块也搜索能够替换第829超级存储块SUPERBLOCK829中的32个存储块之中的四个存储块的存储块的原因在于,第829超级存储块SUPERBLOCK829的三个存储块被用于使第820超级存储块SUPERBLOCK820作为再生超级存储块正常操作。即,原因在于,因为第718超级存储块SUPERBLOCK718中的第一存储器管芯DIE1的第一平面PLANE1中包括坏存储块,并且第820超级存储块SUPERBLOCK820中的第三存储器管芯DIE3的第一平面PLANE1和第四存储器管芯DIE4的第一平面PLANE1中包括坏存储块,所以使用第829超级存储块SUPERBLOCK829中的32个存储块之中的第一存储器管芯DIE1的第一平面PLANE1、第三存储器管芯DIE3的第一平面PLANE1以及第四存储器管芯DIE4的第一平面PLANE1中的存储块来生成再生超级块表700。
因此,为了重新使用第829超级存储块SUPERBLOCK829,控制器130搜索超级存储块SUPERBLOCK<0:1023>之中的包括至少一个坏存储块的另一超级存储块。控制器130从搜索中排除仅包括良好的存储块的任何超级存储块。
可假设的是,作为搜索的结果,控制器130可能未搜索到包括至少一个坏存储块的另一超级存储块。在这种情况下,因为不存在替代超级存储块,所以控制器130不重新使用第829超级存储块SUPERBLOCK829。
通过使用如上参照图6所描述的再生超级块表700,即使超级存储块SUPERBLOCK<0:1203>之中的三个超级存储块SUPERBLOCK718、SUPERBLOCK820和SUPERBLOCK829中包括坏存储块,也可将两个超级存储块SUPERBLOCK718和SUPERBLOCK820的访问处理单位设置为超级存储块单位。
在如图6所示的方案中,正常使用包括坏存储块的超级存储块SUPERBLOCK718、SUPERBLOCK820和SUPERBLOCK829之中的一些超级存储块SUPERBLOCK718和SUPERBLOCK820,并且仅不使用剩余的超级存储块SUPERBLOCK829。
然而,即使在图6所示的方案中,也无可奈何地存在不能被使用的诸如SUPERBLOCK829的超级存储块,并且不能被使用的超级存储块SUPERBLOCK829中的良好的存储块仅仅因为没有以超级存储块单位进行分组而不能被使用。
图7示出了根据本公开的实施例的存储器装置150的不良块列表37的示例。
参照图7,存储器装置150可包括多个正常块40_1和多个不良块40_2。图1至图3所示的控制器130可存储关于多个不良块40_2的操作信息和/或状态信息,基于存储的信息确定优先级,并且生成不良块列表37。
不良块列表37可包括关于存储器装置150中的多个存储块之中被认为是不良块40_2的至少一个块的信息。例如,不良块列表37可包括块位置(Block#)、擦除计数(EC)、坏字线位置(BW#)和优先级。
根据各个实施例,可以各种方式实施将存储器装置150中包括的特定块分类为不良块40_2的方法。例如,用于确定特定块是否是不良块40_2的标准可基于在特定块中编程数据所消耗的时间、擦除存储在特定块中的数据所需的时间、特定块中包括的坏字线的计数和/或特定块中包括的坏单位单元的计数。例如,如果块中包括至少一个坏字线,则可将该块视为不良块。根据实施例,控制器130可使用单个标准或标准的任何组合来确定存储器装置150中的块是否被认为是不良块40_2。
另外,不良块列表37可包括基于诸如块位置(Block#)、擦除计数(EC)和/或坏字线位置(BW#)的信息所确定的优先级。可根据各个实施例确定不良块列表37中包括的优先级。控制器130可基于与被分类为不良块的特定块相关的各种信息来确定优先级,以考虑该块是否可被有效地用于随后的操作。例如,如果在特定块中编程或擦除数据所需的时间未落入正常范围内但并未失败(未落入比正常范围时间更长的失败范围内),则该块可用于随后的操作。另一方面,如果特定块中存在非常少的(例如,一个)坏字线,但块的使用次数很少(例如,擦除计数非常小),则该块的另一区域,即不包括坏字线的区域,可能具有较少缺陷或没有缺陷。即使在这种情况下,也可给予该不良块相对较高的优先级。
虽然未示出,但根据实施例,不良块列表37可包括关于不良块以及坏块的信息。可给予坏块低于不良块的优先级。
根据实施例,可重新使用如图8所示的包括坏字线的存储块。例如,如果特定存储块包括坏字线,则数据可存储在连接到除对应坏字线之外的其它正常字线的存储器单元中。
图8示出了一种控制方法,该控制方法可确定是否使用不良块和/或坏块,以及给予用于另一随后的操作的不良块和/或坏块哪个优先级。
参照图8,未示出图4至图6中例示的超级存储块,但示出了图1至图3所示的存储器装置150中包括的多个存储块BLOCK<0:5>。然而,该实施例可适用于图4至图6所示的超级存储块方案或图1至图3所示的基于逐个块的方案。
具体地,存储器装置150中的多个存储块BLOCK<0:5>中的每一个可包括多个字线WL<1:2*I>。字线WL<1:2*I>中的每一个可被分成包括“N”个字线组BL<0:5>_GP<1:2>的多个组。
例如,示出了存储器装置150中包括六个存储块BLOCK<0:5>。根据存储器系统的配置或设计,存储器装置150可包括更多或更少的存储块。在图8中,存储块BLOCK<0:5>中的每一个可包括两个字线组BL<0:5>_GP<1:2>。此处,“N”为2。然而,根据存储器系统的配置或设计,“N”可以是大于2的任意自然数。
虽然图8中未示出,但控制器130(参见图1至图3)可收集关于存储器装置150中包括的存储块BLOCK<0:5>之中的包括至少一个坏字线的“M”个不良或坏存储块BLOCK<0:2,4:5>的信息。
在这种情况下,仅在存储器装置150中包括的六个存储块BLOCK<0:5>之中的五个存储块BLOCK<0:2,4:5>中包括至少一个坏字线。存储块BLOCK<3>中不包括坏字线。因此,控制器130可将包括至少一个坏字线的五个存储块BLOCK<0:2,4:5>确定为不良块或坏存储块。不良块列表37可包括关于五个存储块BLOCK<0:2,4:5>中的每一个的五个项。然而,根据包括坏字线的存储块的数量,不良块列表37中的项的数量可大于或小于五。在图8中,不良块列表37包括关于包括至少一个坏字线的五个存储块BLOCK<0:2,4:5>的信息。
另一方面,不包括任何坏字线的块BLOCK<3>可被认为是正常块。然而,块BLOCK<3>可能被分类为不良块,这可能在块BLOCK<3>中编程或擦除数据所花费的时间未落入正常范围内时发生,在这种情况下,虽然块BLOCK<3>中不存在坏字线,但控制器130可将块BLOCK<3>确定为不良块。也就是说,基于块BLOCK<3>的操作状态或根据实施例的确定方式,块BLOCK<3>可被认为是不良块。
控制器130可生成并控制可分别列出不良块BLOCK<0:2,4:5>的不良块列表37。控制器130可根据不良存储块的操作状态来确定是否用于另一操作。此处,操作状态可指示是否可在设定周期内正确地执行数据编程操作和/或数据擦除操作。例如,当控制器130对存储块中包括的多个页面执行数据编程操作时,如果用于完成数据编程操作的时间落入正常范围内,则控制器130可确定该存储块可被认为是正常存储块并可用于另一操作。然而,如果时间短于或长于正常范围,则对应存储块可被确定为不良块并可被包括在不良块列表37中,并且还可被给予优先级。
另一方面,在特定块中完成数据编程操作所消耗的时间是否落入正常范围内可取决于存储块中是否存在至少一个坏字线。
图8中的存储块BLOCK<0:5>之中被确定为正常存储块的第三存储块BLOCK<3>在字线WL<1:2*I>之中没有坏字线,因此操作状态为可在正常范围内执行数据编程操作或数据擦除操作。但是,不良存储块BLOCK<0:2,4:5>中的每一个包括坏字线。坏字线组(例如,坏字线区域)以第四存储块BLOCK<4>、第五存储块BLOCK<5>、第一存储块BLOCK<1>、第零存储块BLOCK<0>和第二存储块BLOCK<2>的顺序越来越大。因此,以相反的顺序,即以第二存储块BLOCK<2>、第零存储块BLOCK<0>、第一存储块BLOCK<1>、第五存储块BLOCK<5>和第四存储块BLOCK<4>的顺序给予从高到低的优先级。
另一方面,根据实施例,可不给予所有字线都是坏字线的第四存储块BLOCK<4>优先级(例如,n/a)。在这种情况下,可暂缓使用所有字线都是坏字线的第四存储块BLOCK<4>。
控制器130可使用不良块列表37来控制坏存储块BLOCK<0:2,4:5>,使得在正常情况或条件下不使用不良或坏存储块BLOCK<0:2,4:5>中的至少一个。然而,当存储器装置150中的空闲块较少时,可能出现紧急情况。在这种情况下,不良或坏存储块BLOCK<0:2,4:5>中的至少一个可用于随后的操作。控制器130可参考不良块列表37,优先使用所有不良或坏存储块BLOCK<0:2,4:5>之中具有较高优先级的不良存储块。当使用不良存储块时,控制器130确定不良存储块BLOCK<0:2,4:5>中除了坏字线组BL0_GP2、BL1_GP1、BL2_GP2、BL4_GP1、BL4_GP2、BL5_GP2之外的正常字线组BL0_GP1、BL1_GP2、BL2_GP1、BL5_GP1。此后,在基于优先级使用不良或坏存储块BLOCK<0:2,4:5>编程数据之后,以与优先级相反的顺序来选择这些块以用于垃圾收集(GC)。
另一方面,不良块列表37可包括与不良或坏存储块BLOCK<0:2,4:5>相关的、可指示不良或坏存储块BLOCK<0:2,4:5>的、位图或索引池(index pool)形式的信息。
如上所述,控制器130可识别或检测多个存储块BLOCK<0:5>中的包括至少一个坏字线的不良块或坏存储块BLOCK<0:2,4:5>,并且控制那些检测到的块在正常情况或操作的情况下不被使用。然而,在空闲存储块不足的情况下,需要按优先级的降序顺序分配不良块或坏块BLOCK<0:2,4:5>中的至少一个以用于随后的操作。
图9示出了根据本公开的实施例的操作存储器系统的方法。
参照图9,操作或控制方法可包括步骤82、步骤84、步骤86、步骤88。步骤82包括请求对存储器装置的至少一个数据编程操作或至少一个数据擦除操作,其中存储器装置包括多个存储块,存储块包括多个页面。步骤84包括执行所请求的操作。当请求数据编程操作时,在存储块中的至少一个页面内执行数据编程操作,并且当请求数据擦除操作时,在至少一个存储块内执行数据擦除操作。步骤86包括响应于完成所执行的操作所消耗的时间来识别或检测存储块的操作状态。步骤88包括至少基于操作状态确定是否可使用存储块以及可给予该存储块哪个优先级,以便分配该存储块用于随后的操作。
虽然未示出,但确定是否可使用存储块的步骤可包括:当对每个存储块执行的编程操作或擦除操作未完成时,暂缓使用该存储块。例如,当编程操作或擦除操作未在设定周期内终止时,控制器可识别编程操作或擦除操作可能未完成。可至少基于存储器装置的配置或存储器装置的存储器单元结构来确定设定周期。
另一方面,可执行暂缓使用特定存储块以检查该特定存储块是否包括至少一个坏字线或者该特定存储块中包括多少坏字线,从而确定该特定存储块被认为是坏存储块或不良块。
根据实施例,每个这种存储块在完成编程操作或擦除操作所花费的时间落入设定范围内时可具有第一优先级,在时间短于设定范围时可具有第二优先级,并且在时间长于设定范围时可具有第三优先级。在本文中,第一优先级高于第二优先级,第二优先级高于第三优先级。具有第一优先级、第二优先级和第三优先级中的一个的每个存储块可用于随后的操作。在另一实施例中,时间越接近优化时间,控制器可向存储块分派的优先级越高。例如,可估计具有第一优先级的存储块可在不良块之中具有最少数量的坏字线,并且具有第三优先级的另一块可在不良块之中具有最大数量的坏字线。
如上所述,将包括坏字线的存储块确定为不良块,不良块在正常条件或情况下可不被使用或分配用于随后的操作。然而,当空闲块不足或没有空闲块时,可临时使用不良块。当使用至少一个不良块时,控制器130可参考图7和图8所示的不良块列表37,选择多个不良存储块之中具有较高优先级的存储块,例如多个不良存储块之中具有最大数量的正常字线的存储块。然后,控制器130可使用所选择的存储块用于随后的操作。因此,可避免在正常情况下将不良块分配用于另一操作,从而可仅在异常情况(例如,紧急情况)下使用不良块。这些过程可确保存储器系统的操作稳定性。
图10示出了根据本公开的实施例的使用不良块列表的垃圾收集的操作。
参照图10,使用不良块列表来执行垃圾收集的方法可包括步骤92、步骤94、步骤96和步骤98。步骤92包括监测与从主机接收的命令对应的操作是否在非易失性存储器装置内执行。该步骤用于检查非易失性存储器装置的操作状态。例如,当非易失性存储器装置处于空闲状态时,控制器可执行垃圾收集的操作。步骤94包括检查数据是否被编程在不良块列表中列出的至少一个不良块中。步骤96包括识别编程有数据的每个不良块的优先级或状态。步骤98包括以优先级的升序(即,从低优先级到高优先级)将存储在不良块中的数据移动(或复制)到正常块。
如上所述,当将有效数据编程在不良块列表中包括的不良块或坏块内时,数据的稳定性可显著低于存储在正常块中的数据的稳定性。因此,如果存在数据可被移动到存储器装置的正常块的机会,则控制器可将存储在不良块或坏块中的有效数据移动到正常块中。控制器可检查用于存储有效数据的不良块的优先级,并且首先将存储在具有较低优先级的不良块中的有效数据移动到正常块。根据实施例,当存储器装置中的正常块的数量足够时,还可将存储在不良块中的一些不良块中的有效数据移动到正常块中。
在将存储在不良块中的有效数据移动到正常块中之后,可更新与数据对应的元数据或映射数据。在另一实施例中,当以图4至图6中描述的超级块方案存储数据时,可同时更新对应超级块的元数据或映射数据。
在图11中,描述了根据实施例的包括存储器系统的数据处理系统的另一示例。图11示意性地示出了应用存储器系统的存储卡系统6100。
参照图11,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可连接到由非易失性存储器(NVM)实施的存储器装置6130。存储器控制器6120可被配置成访问存储器装置6130。通过示例而非限制的方式,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130与主机之间的接口,并且使用固件来控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图3描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1至图3描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图1至图3所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1至图3描述的,存储器控制器6120可被配置成在诸如以下的各种通信协议中的一种或多种下与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI高速(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、集成驱动电路(IDE)、火线、通用闪存(UFS)、WiFi和蓝牙。因此,存储器系统和数据处理系统可应用于有线/无线电子装置,或特别是移动电子装置。
存储器装置6130可由非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移矩磁性RAM(STT-MRAM)。存储器装置6130可包括如图5的存储器装置150中的多个存储器管芯。
存储器控制器6120和存储器装置6130可集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可被如此集成以构成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可被如此集成以构成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑式闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。
参照图12,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。数据处理系统6200可用作如参照图1和图2所描述的诸如存储卡(例如,CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图3所示的存储器系统110中的存储器装置150。存储器控制器6220可对应于图1至图3所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作。RAM 6222可用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传送到存储器装置6230或从存储器装置6230传送到主机6210的数据。当RAM6222用作高速缓存存储器时,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码、turbo码、里德-所罗门码、卷积码、RSC或者诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224与主机6210交换数据。存储器控制器6220可通过NVM接口6225与存储器装置6230交换数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口而连接到主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议而具有无线通信功能。存储器控制器6220可连接到例如主机6210的外部装置或另一外部装置,并且然后与外部装置交换数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此存储器系统和数据处理系统可被应用于有线/无线电子装置,特别是移动电子装置。
图13是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图13示意性地示出了应用存储器系统的固态驱动器(SSD)6300。
参照图13,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1至图3的存储器系统110中的控制器130。存储器装置6340可对应于图1至图3的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。作为示例,图13示出了缓冲存储器6325设置在控制器6320中。然而,缓冲存储器6325可在控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340的数据的ECC值。ECC电路6322可在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作。ECC电路6322可在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口功能。非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,应用图1至图3的存储器系统110的多个SSD 6300可被提供以实施例如独立磁盘冗余阵列(RAID)系统的数据处理系统。RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300。RAID控制器可将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300。RAID控制器可将从所选择的SSD 6300读取的数据提供到主机6310。
图14是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图14示意性地示出了应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图14,eMMC 6400可包括控制器6430和由一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1至图3的存储器系统110中的控制器130。存储器装置6440可对应于图1至图3的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作。主机接口6431可提供控制器6430与主机6410之间的接口功能。NAND接口6433可提供存储器装置6440与控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如,如参照图1所描述的MMC接口。此外,主机接口6431可用作串行接口,例如,UHS(超高速)-I/UHS-II接口。
图15至图18是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的示图。图15至图18示意性地示出了应用存储器系统的UFS(通用闪存)系统。
参照图15至图18,UFS系统6500、6600、6700、6800可分别包括主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830。主机6510、6610、6710、6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720、6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730、6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过UFS协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可由图1至图3所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图12至图14描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730、6830可以参照图11描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口来彼此通信。此外,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过除UFS协议以外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议来彼此通信。
在图15所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过诸如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在图15的实施例中,示出了一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,在另一实施例中,多个UFS装置和多个UFS卡可并联地或以星型形式连接到主机6510。星型形式是单个中央组件联接到多个装置以并行处理的布置。多个UFS卡可并联地或以星型形式连接到UFS装置6520或串联地或以链型形式连接到UFS装置6520。
在图16所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过执行例如L3交换的UniPro处的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在图16的实施例中,示出了一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,在另一实施例中,多个UFS装置和多个UFS卡可并联地或以星型形式连接到交换模块6640,并且多个UFS卡可串联地或以链型形式连接到UFS装置6620。
在图17所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如,通过执行例如L3交换的UniPro处的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在图17的实施例中,示出了一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,在另一实施例中,每一个都包括交换模块6740和UFS装置6720的多个模块可并联地或以星型形式连接到主机6710,或者串联地或以链型形式彼此连接。此外,多个UFS卡可并联地或以星型形式连接到UFS装置6720。
在图18所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如,通过目标ID(标识符)交换操作来与主机6810或UFS卡6830通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY与UniPro模块之间的目标ID交换来彼此通信。在图18的实施例中,示出了一个UFS装置6820连接到主机6810并且一个UFS卡6830连接到UFS装置6820的配置。然而,在另一实施例中,多个UFS装置可并联地或以星型形式连接到主机6810,或者串联地或以链型形式连接到主机6810,并且多个UFS卡可并联地或以星型形式连接到UFS装置6820,或者串联地或以链型形式连接到UFS装置6820。
图19是示意性地示出根据本发明的实施例的包括存储器系统的数据处理系统的另一示例的示图。图19是示意性地示出了应用存储器系统的用户系统6900的示图。
参照图19,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动用户系统6900中包括的例如OS的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被提供为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDRAM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM或者诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于堆叠封装(POP)来封装并安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且还可支持诸如以下的各种无线通信协议:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可包括在应用处理器6930中。
存储模块6950可存储例如从应用处理器6930接收的数据的数据,然后可将所存储的数据传送到应用处理器6930。存储模块6950可由诸如以下的非易失性半导体存储器装置实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且被设置为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1至图3描述的存储器系统110。此外,存储模块6950可被实施为如上参照图11至图18所描述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1至图3的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作。网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过应用处理器6930处理的数据。进一步地,用户接口6910可支持从触摸面板接收数据的功能。
根据上述实施例中的至少一个,当确定存储器系统中的存储空间不足时,可基于每个块的状态信息给予不良块、异常块或坏块优先级。通过使不良块、异常块或坏块中的一些在紧急情况或其它突发情况下可用,可提高存储器系统的效率。
另外,当控制或管理存储器装置中的多个存储块时,实施例中的至少一个可将包括坏块的不健康的不良块列于表上。因此,可设定块列表中的不良块或坏块的优先级,使得控制器可根据优先级来确定可用性和使用顺序。这允许对重新使用不良块或坏块进行更精细的管理和控制。
虽然已经针对具体实施例示出并描述了本公开,但是对于本领域技术人员基于本公开将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (21)
1.一种存储器系统,包括:
非易失性存储器装置,包括存储数据的至少一个存储块;以及
控制器,联接到所述非易失性存储器装置,所述控制器:
在至少一个存储块内执行至少一个编程操作或至少一个擦除操作;
响应于完成操作消耗的时间,识别所述至少一个存储块的操作状态;并且
基于所述操作状态和所述至少一个存储块的坏字线组的大小,确定是否使用所述至少一个存储块以及给予所述至少一个存储块哪个优先级,以便分配所述至少一个存储块用于随后的操作,其中所述坏字线组的大小越小,所述至少一个存储块被给予的优先级越高。
2.根据权利要求1所述的存储器系统,其中当所述至少一个编程操作或所述至少一个擦除操作未完成时,所述控制器暂缓使用所述至少一个存储块。
3.根据权利要求1所述的存储器系统,其中当在正常存储块中执行所述至少一个编程操作或所述至少一个擦除操作时,所消耗的时间落入操作的周期内。
4.根据权利要求3所述的存储器系统,其中所述至少一个编程操作或所述至少一个擦除操作包括多个单位操作,并且所消耗的时间通过在所述单位操作中的每一个完成之后执行的检查操作来确定。
5.根据权利要求4所述的存储器系统,其中所述至少一个存储块在所消耗的时间落入设定范围内时具有第一优先级,在所消耗的时间短于所述设定范围时具有第二优先级,并且在所消耗的时间长于所述设定范围时具有第三优先级,并且
具有所述第一优先级、所述第二优先级和所述第三优先级中的一个的所述至少一个存储块可用于所述随后的操作。
6.根据权利要求5所述的存储器系统,其中所述设定范围基于每个存储块的擦除计数来动态地确定。
7.根据权利要求5所述的存储器系统,其中所述控制器以所述第一优先级、所述第二优先级和所述第三优先级的第一顺序分配所述至少一个存储块以用于随后的编程操作,并且
所述控制器以所述第三优先级、所述第二优先级和所述第一优先级的第二顺序选择所述至少一个存储块以用于随后的擦除操作。
8.根据权利要求4所述的存储器系统,其中所消耗的时间越接近优化时间,所述控制器向所述至少一个存储块分派的优先级越高。
9.根据权利要求8所述的存储器系统,其中首先使用具有较高优先级的所述至少一个存储块用于随后的编程操作,并且首先选择具有较低优先级的所述至少一个存储块用于随后的擦除操作。
10.根据权利要求8所述的存储器系统,其中所述优化时间基于每个存储块的擦除计数来动态地确定。
11.一种控制存储器系统的方法,包括:
请求对存储器装置的至少一个编程操作或至少一个擦除操作,其中所述存储器装置包括多个存储块,所述存储块包括多个页面;
在至少一个存储块内执行所述至少一个编程操作或所述至少一个擦除操作;
响应于完成所述至少一个编程操作或所述至少一个擦除操作消耗的时间,识别所述至少一个存储块的操作状态;并且
基于所述操作状态和所述至少一个存储块的坏字线组的大小,确定是否使用所述至少一个存储块以及给予所述至少一个存储块哪个优先级,以便分配所述至少一个存储块用于随后的操作,其中所述坏字线组的大小越小,所述至少一个存储块被给予的优先级越高。
12.根据权利要求11所述的方法,其中确定是否使用所述至少一个存储块包括:
当所述至少一个编程操作或所述至少一个擦除操作未完成时,暂缓使用所述至少一个存储块。
13.根据权利要求11所述的方法,其中当在正常存储块中执行操作时,所消耗的时间落入操作的周期内。
14.根据权利要求13所述的方法,其中所述至少一个编程操作或所述至少一个擦除操作包括多个单位操作,并且所消耗的时间通过在所述单位操作中的每一个完成之后执行的检查操作来确定。
15.根据权利要求14所述的方法,其中所述至少一个存储块在所消耗的时间落入设定范围内时具有第一优先级,在所消耗的时间短于所述设定范围时具有第二优先级,并且在所消耗的时间长于所述设定范围时具有第三优先级,并且
具有所述第一优先级、所述第二优先级和所述第三优先级中的一个的所述至少一个存储块可用于所述随后的操作。
16.根据权利要求15所述的方法,其中所述设定范围基于每个存储块的擦除计数来动态地确定。
17.根据权利要求15所述的方法,其中确定是否使用所述至少一个存储块包括:
以所述第一优先级、所述第二优先级和所述第三优先级的第一顺序分配所述至少一个存储块以用于随后的编程操作;并且
以所述第三优先级、所述第二优先级和所述第一优先级的第二顺序选择所述至少一个存储块以用于随后的擦除操作。
18.根据权利要求14所述的方法,其中所消耗的时间越接近优化时间,控制器向所述至少一个存储块分派的优先级越高。
19.根据权利要求18所述的方法,其中首先使用具有较高优先级的所述至少一个存储块用于随后的编程操作,并且首先选择具有较低优先级的所述至少一个存储块用于随后的擦除操作。
20.一种用于存储器系统的控制设备,包括:
存储器接口,联接到存储器装置,其中所述存储器装置包括多个存储块,所述存储块包括多个页面,所述存储器接口用于在所述多个存储块之中的至少一个存储块内执行操作;
控制逻辑,用于响应于完成所述操作消耗的时间来识别所述至少一个存储块的操作状态,并且基于所述操作状态和所述至少一个存储块的坏字线组的大小来确定是否使用所述至少一个存储块以及给予所述至少一个存储块哪个优先级,其中所述坏字线组的大小越小,所述至少一个存储块被给予的优先级越高;以及
主机接口,联接到主机,用于将从所述主机接收的命令或数据传输到所述控制逻辑或传输由所述主机请求并从所述存储器接口传送的数据。
21.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器,包括缓冲器管理器,所述控制器:
检测所述多个存储块之中的不良块,每个不良块包括至少一个坏字线;
基于所检测到的不良块,在所述多个存储块之中分配用于编程操作或擦除操作的存储块,其中基于所检测到的不良块的坏字线组的大小分配用于所述编程操作或擦除操作的不良块;并且
对所分配的存储块执行编程操作或擦除操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0094529 | 2018-08-13 | ||
KR1020180094529A KR102533072B1 (ko) | 2018-08-13 | 2018-08-13 | 블록의 상태에 따라 사용 여부를 결정하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825319A CN110825319A (zh) | 2020-02-21 |
CN110825319B true CN110825319B (zh) | 2023-08-18 |
Family
ID=69405870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910629009.1A Active CN110825319B (zh) | 2018-08-13 | 2019-07-12 | 基于块状态确定可用性的存储器系统及操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11061593B2 (zh) |
KR (1) | KR102533072B1 (zh) |
CN (1) | CN110825319B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872678B1 (en) * | 2019-06-19 | 2020-12-22 | Micron Technology, Inc. | Speculative section selection within a memory device |
KR20220021772A (ko) * | 2020-08-14 | 2022-02-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이에 포함된 메모리 장치의 동작 방법 |
TWI775147B (zh) * | 2020-09-11 | 2022-08-21 | 新唐科技股份有限公司 | 記憶體裝置以及抹除方法 |
KR20220049397A (ko) * | 2020-10-14 | 2022-04-21 | 삼성전자주식회사 | 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
CN112817534B (zh) * | 2021-02-02 | 2023-07-04 | 深圳忆联信息系统有限公司 | 提高ssd读写性能的方法、装置、计算机设备及存储介质 |
US20220391091A1 (en) * | 2021-06-04 | 2022-12-08 | Micron Technology, Inc. | Management of Namespace Block Boundary Alignment in Non-Volatile Memory Devices |
KR102571934B1 (ko) * | 2021-11-15 | 2023-08-29 | 삼성전자주식회사 | 스토리지 시스템 및 스토리지 컨트롤러의 동작방법 |
US12211553B2 (en) | 2021-11-15 | 2025-01-28 | Samsung Electronics Co., Ltd. | Storage system and operating method of storage controller |
KR102545465B1 (ko) * | 2021-11-17 | 2023-06-21 | 삼성전자주식회사 | 스토리지 컨트롤러 및 이를 포함하는 스토리지 장치 |
US12014772B2 (en) | 2021-11-17 | 2024-06-18 | Samsung Electronics Co., Ltd. | Storage controller and storage device including the same |
CN116166180A (zh) | 2021-11-25 | 2023-05-26 | 新唐科技股份有限公司 | 存储器装置以及抹除方法 |
CN114442955B (zh) * | 2022-01-29 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 全闪存储阵列的数据存储空间管理方法及装置 |
US20230305745A1 (en) * | 2022-03-22 | 2023-09-28 | Kioxia Corporation | Identification and tolerance of host errors related to command protocols in non-volatile memory devices |
EP4488812A1 (en) * | 2023-05-09 | 2025-01-08 | Yangtze Memory Technologies Co., Ltd. | Memory system and operation method therefor, and computer-readable storage medium |
CN116909495B (zh) * | 2023-09-14 | 2023-12-15 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067348A (zh) * | 2012-01-24 | 2014-09-24 | 苹果公司 | 用于模拟存储器单元的编程及擦除方案 |
KR20150038343A (ko) * | 2012-07-30 | 2015-04-08 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 솔리드 스테이트 저장 장치를 위한 배드 블록 보상 |
CN105719703A (zh) * | 2014-12-17 | 2016-06-29 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106909318A (zh) * | 2013-12-23 | 2017-06-30 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
JP2018018207A (ja) * | 2016-07-26 | 2018-02-01 | 株式会社リコー | 電子機器、データ退避方法、及びプログラム |
US10019173B1 (en) * | 2017-03-06 | 2018-07-10 | SK Hynix Inc. | Memory system and operating method thereof |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5030727B2 (ja) * | 2007-10-01 | 2012-09-19 | 日立オートモティブシステムズ株式会社 | 車両用電子制御装置 |
JP2009169787A (ja) * | 2008-01-18 | 2009-07-30 | Nec Corp | ワークフロー監視制御システム、監視制御方法および監視制御プログラム |
JP2010066961A (ja) * | 2008-09-10 | 2010-03-25 | Oki Electric Ind Co Ltd | プログラマブル論理回路の起動保障方法及びそのプログラマブル論理回路装置 |
US8751903B2 (en) * | 2010-07-26 | 2014-06-10 | Apple Inc. | Methods and systems for monitoring write operations of non-volatile memory |
US20130254463A1 (en) * | 2012-03-23 | 2013-09-26 | Kabushiki Kaisha Toshiba | Memory system |
KR102015053B1 (ko) * | 2013-02-20 | 2019-08-27 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 데이터 처리 방법 |
KR20140142035A (ko) * | 2013-06-03 | 2014-12-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작방법 |
US9442842B2 (en) * | 2013-08-19 | 2016-09-13 | Sandisk Technologies Llc | Memory system performance configuration |
US9305661B2 (en) * | 2014-09-03 | 2016-04-05 | Microsemi Storage Solutions (U.S.), Inc. | Nonvolatile memory system that uses programming time to reduce bit errors |
US9997258B2 (en) * | 2016-05-10 | 2018-06-12 | Sandisk Technologies Llc | Using non-volatile memory bad blocks |
JP2018142240A (ja) * | 2017-02-28 | 2018-09-13 | 東芝メモリ株式会社 | メモリシステム |
-
2018
- 2018-08-13 KR KR1020180094529A patent/KR102533072B1/ko active Active
-
2019
- 2019-04-04 US US16/375,671 patent/US11061593B2/en active Active
- 2019-07-12 CN CN201910629009.1A patent/CN110825319B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104067348A (zh) * | 2012-01-24 | 2014-09-24 | 苹果公司 | 用于模拟存储器单元的编程及擦除方案 |
KR20150038343A (ko) * | 2012-07-30 | 2015-04-08 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 솔리드 스테이트 저장 장치를 위한 배드 블록 보상 |
CN106909318A (zh) * | 2013-12-23 | 2017-06-30 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
CN105719703A (zh) * | 2014-12-17 | 2016-06-29 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
JP2018018207A (ja) * | 2016-07-26 | 2018-02-01 | 株式会社リコー | 電子機器、データ退避方法、及びプログラム |
US10019173B1 (en) * | 2017-03-06 | 2018-07-10 | SK Hynix Inc. | Memory system and operating method thereof |
Non-Patent Citations (1)
Title |
---|
"硬件系统及器件级eMMC失效分析研究";包飞军;《中国优秀硕士学位论文全文数据库(信息科技辑)》(第2015年第12期);第I137-21页正文第8-19页 * |
Also Published As
Publication number | Publication date |
---|---|
US20200050368A1 (en) | 2020-02-13 |
KR102533072B1 (ko) | 2023-05-17 |
US11061593B2 (en) | 2021-07-13 |
CN110825319A (zh) | 2020-02-21 |
KR20200018999A (ko) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825319B (zh) | 基于块状态确定可用性的存储器系统及操作方法 | |
US10963175B2 (en) | Apparatus and method for searching valid data in memory system | |
CN110928807B (zh) | 用于检查存储器系统中的有效数据的设备和方法 | |
US12153530B2 (en) | Data processing system allocating memory area in host as extension of memory and operating method thereof | |
CN110825659B (zh) | 用于检查存储器系统中的块中的有效数据的设备和方法 | |
US11157402B2 (en) | Apparatus and method for managing valid data in memory system | |
CN110888825B (zh) | 在存储器系统中处理数据的设备和方法 | |
CN110244907A (zh) | 存储器系统及该存储器系统的操作方法 | |
US20200034081A1 (en) | Apparatus and method for processing data in memory system | |
CN110895449B (zh) | 用于在存储器系统中管理有效数据的装置和方法 | |
CN111435334B (zh) | 在存储器系统中检查有效数据的设备和方法 | |
CN110806983B (zh) | 存储器系统及其操作方法 | |
US11822426B2 (en) | Memory system, data processing system and operation method of the same | |
CN111857565A (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 |