CN112558860A - 分布和读取数据的存储器系统及其操作方法 - Google Patents
分布和读取数据的存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN112558860A CN112558860A CN202010605949.XA CN202010605949A CN112558860A CN 112558860 A CN112558860 A CN 112558860A CN 202010605949 A CN202010605949 A CN 202010605949A CN 112558860 A CN112558860 A CN 112558860A
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- read
- pages
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- 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/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/065—Replication mechanisms
-
- 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/0653—Monitoring storage devices or 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/72—Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
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)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种存储器系统。该存储器系统包括:非易失性存储器装置,包括多个存储块,每个存储块包括多个页面,其中多个存储块包括至少一个坏块和正常块;以及控制器,适于当在正常块中的多个页面之中检测到读取请求的数量等于或大于第一参考数量的过度读取页面时,执行将数据从过度读取页面复制到备份页面的备份操作,并且在备份操作之后,响应于对过度读取页面的读取请求,从备份页面读取数据,其中控制器进一步适于执行将坏块中的多个页面之中的可编程/可读取的页面设置为备份页面的操作。
Description
相关申请的交叉引用
本申请要求于2019年9月10日提交的申请号为10-2019-0111911的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器系统,且更特别地,涉及一种能够分布和读取被请求读取的数据的存储器系统及其操作方法。
背景技术
近来,计算环境范例已经转变成可以随时随地访问计算机系统的普适计算。因此,诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用正在增长。这种便携式电子装置通常使用或包括使用或嵌入至少一个存储器装置的存储器系统,即数据存储装置。数据存储装置可用作便携式电子装置的主存储装置或辅助存储装置。
在计算装置中,与硬盘不同,实施为非易失性半导体存储器装置的数据存储装置的优点在于,由于其不具有机械驱动部件(例如,机械臂)而具有优异的稳定性和耐久性,并且具有高数据访问速度和低功耗。这种数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)。
发明内容
本公开的各个实施例涉及一种可最小化存储器系统的复杂性和性能劣化,最大化存储器装置的使用效率,并且快速、稳定地利用存储器装置处理数据的存储器系统、数据处理系统以及操作存储器系统和数据处理系统的方法。
本公开的各个实施例涉及一种可检测读取请求集中的一些页面,将检测到的页面的数据分布到多个页面,然后在多个页面中分布和读取数据的存储器系统及其操作方法。
根据本发明的实施例,一种存储器系统可包括:非易失性存储器装置,包括多个存储块,每个存储块包括多个页面,其中多个存储块包括至少一个坏块和正常块;以及控制器,适于当在正常块中的多个页面之中检测到读取请求的数量等于或大于第一参考数量的过度读取页面时,执行将数据从过度读取页面复制到备份页面的备份操作,并且在备份操作之后,响应于对过度读取页面的读取请求,从备份页面读取数据。控制器可进一步适于执行将坏块中的多个页面之中的可编程/可读取的页面设置为备份页面的操作。
当响应于对过度读取页面的读取请求而从备份页面读取数据时,出现数量等于或大于参考值的数据时,控制器可从过度读取页面读取数据,可使备份页面无效,并且可执行取消设置备份页面的操作。
在取消操作之后,当坏块中的多个页面之中不存在可编程/可读取的页面时,控制器可将正常存储块中的多个页面之中的空页面设置为备份页面。
控制器可在检测时间段期间,在坏块中的多个页面之中检测至少一个可编程/可读取的页面,并且可生成包括检测到的页面的页面列表。控制器可参考页面列表来设置备份页面。
控制器可通过执行在坏块中的每个页面中编程/读取虚设数据的测试操作来检测可编程/可读取的页面。控制器可根据执行测试操作的结果,将错误数量小于或等于错误参考数量的页面检测为可编程/可读取的页面。
当在参考时间或更长时间内没有从主机输入命令时,控制器可进入检测时间段,并且可响应于从主机输入命令而退出检测时间段。
当在坏块中的多个页面之中不存在可编程/可读取的页面时,控制器可将正常存储块中的多个页面之中的空页面设置为备份页面。
控制器可从多个存储块之中选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块,并且在所选择正常块的任意一个中的多个页面之中检测过度读取页面。第一参考数量可小于或等于第二参考数量。
控制器可从多个存储块之中选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块,可在所选择正常存储块的任意一个中的多个页面之中检测读取请求的数量等于或大于第三参考数量的候选页面,当对候选页面的读取请求的数量等于或大于第一参考数量时,可将该候选页面检测为过度读取页面。第三参考数量可小于第一参考数量,并且第一参考数量可小于或等于第二参考数量。
根据本发明的实施例,一种存储器系统的操作方法,该存储器系统包括非易失性存储器装置,该非易失性存储器装置包括多个存储块,每个存储块包括多个页面,该操作方法可包括:将多个存储块划分为至少一个坏块和正常块;在第一检测操作中,在正常块的每一个的多个页面之中检测读取请求的数量等于或大于第一参考数量的过度读取页面;在第一设置操作中,将坏块中的多个页面之中的可编程/可读取的页面设置为备份页面;并且将数据从过度读取页面复制到备份页面,然后响应于对过度读取页面的读取请求从备份页面读取数据。
该操作方法可进一步包括:当在复制操作中出现数量等于或大于参考值的错误时,从过度读取页面读取数据;并且使备份页面无效,然后在读取操作之后取消设置备份页面。
该操作方法可进一步包括在无效操作之后,在第二设置操作中,当在坏块中的多个页面之中不存在可编程/可读取的页面时,将正常块中的多个页面之中的空页面设置为备份页面。
该操作方法可进一步包括:在第二检测操作中,在检测时间段期间,在坏块中的多个页面之中检测至少一个可编程/可读取的页面,并且生成包括检测到的页面的页面列表。可参考页面列表来执行第一设置操作。
第二检测操作可包括:在坏块中的每个页面中编程/读取虚设数据;并且在第三检测操作中,根据编程/读取虚设数据的结果,将出现设定数量或更少的错误的页面检测为可编程/可读取的页面。
该操作方法可进一步包括:当在参考时间或更长时间内没有从主机输入命令时,进入检测时间段;并且响应于从主机输入命令而退出该检测时间段。
该操作方法可进一步包括在第三设置操作中,当坏块中的多个页面之中不存在可编程/可读取的页面时,将正常块中的多个页面之中的空页面设置为备份页面。
第一检测操作可包括:在多个存储块之中,选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块;并且在所选择正常存储块的任意一个中包括的多个页面之中,检测过度读取页面。第一参考数量可小于或等于第二参考数量。
第一检测操作可包括:在多个存储块之中,选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块;在所选择正常块中的任意一个中的多个页面之中,检测读取请求的数量等于或大于第三参考数量的候选页面;并且当对候选页面的读取请求的数量等于或大于第一参考数量时,将候选页面检测为过度读取页面。第三参考数量可小于第一参考数量,并且第一参考数量可小于或等于第二参考数量。
根据本发明的实施例,一种存储器系统可包括:存储器装置,包括分别具有第一页面和第二页面的第一块和第二块;以及控制器,适于控制存储器装置:当第一页面已被读取超过阈值次数时,将当前数据从第一页面复制到第二页面;并且响应于对原始数据的读取请求,从第二页面读取所复制的数据。在复制当前数据时,当第二块被检测为坏块时,第二页面可被检测为正常地操作。
当读取所复制的数据失败时,控制器可适于控制存储器装置从第一页面读取当前数据。
本公开的这些和其他特征及优点不限于上述实施例,并且可以由本公开所属领域的技术人员将结合附图从以下详细描述中清楚地理解。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图3是示出根据本发明的另一实施例的存储器系统中的控制器的框图。
图4A至图4F示出根据本发明的实施例的存储器系统的操作方法。
图5是示出根据本发明的实施例的存储器系统的操作方法的流程图。
具体实施方式
以下将参照附图更详细地描述本公开的各个示例。然而,本发明的方面和特征可以以不同的方式来实现以形成其他实施例,包括所公开的任何实施例的变型。因此,本发明不限于本文所述的实施例。相反,提供所描述的实施例以使本公开是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本公开。在整个本公开中,相同的附图标记在本公开的各个附图和示例中指代相同的部件。应当注意的是,对“一个实施例”、“另一实施例”等的参考并不一定意为仅一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,尽管在本文中可使用术语“第一”、“第二”、“第三”等来标识各个元件,但这些元件不受这些术语的限制。这些术语用于将一个元件和其它具有相同或相似名称的另一元件区分开。因此,一个实例中的第一元件可在另一实例中被称为第二元件或第三元件,而不指示元件本身的任何改变。
附图不一定按比例绘制,在某些情况下,为了清楚地说明实施例的特征,比例可以被夸大。当一个元件被称为连接或联接到另一元件时,应当理解的是,前者可直接连接或联接到后者,或者通过它们之间的一个或多个中间元件电连接或联接到后者。此外,还应当理解的是,当一个元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。
本文中使用的术语仅用于描述特定实施例,并不旨在限制本发明。如本文所使用的,单数形式旨在包括复数形式,反之亦然,除非语境中另有明确指示。同样,术语“一”和“一个”是指一个或多个,除非从语言或语境中可清楚地看出旨在仅表示一个。
将进一步理解的是,当在该说明书中使用时,术语“包括”、“包括有”、“包含”和“包含有”指示所陈述元件的存在而不排除一个或多个其它元件的存在或增加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
除非另有定义,否则本文中使用的包括技术和科学术语的所有术语具有与根据本发明所属领域的普通技术人员通常理解的相同含义。应进一步理解的是,诸如常用词典中定义的术语,应被解释为具有与其在本发明和相关技术的语境中的含义相同的含义,并且除非在本公开中明确定义,否则不得被解释为理想化或过于形式化的含义。
在下面的描述中,阐述了许多具体细节,以提供对本发明的透彻理解。本发明可在没有这些具体细节的情况下实施。在其他情况下,为了不使本发明被不必要地模糊,没有详细描述公知的进程结构和/或进程。
还应注意的是,在一些实例下,如相关技术领域的技术人员显而易见的,结合一个实施例所描述的特征或元件可单独使用或与另一实施例的其他特征或元件结合使用,除非另有特别说明。
下面参照附图详细描述本公开的实施例,其中相同的附图标记表示相同的元件。
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
例如,存储器系统110可被实现在计算装置或移动装置中或实现在计算装置或移动装置上,并且与主机102互连地传输和接收数据。
参照图1,数据处理系统100包括主机102和存储器系统110。存储器系统110包括控制器130和存储器装置150。控制器130可包括过度读取页面检测块A31、替代操作执行块A32、备份操作执行块A33、错误检查块A34、读取操作执行块A35、备份页面设置块A36和可操作页面检查块A37。可操作页面检查块A37可包括页面列表生成电路A38、测试操作电路A39和检测时间电路A40。存储器装置150可包括多个存储块BLOCK<0:5>。存储块BLOCK<0:5>中的每一个可包括多个页面P<0:4>。
如在本公开中使用的,术语“电路”可指以下中的一个或多个:(a)仅硬件电路的实施方式,诸如仅以模拟和/或数字电路的实施方式;(b)电路和软件(和/或固件)的组合,诸如:(i)处理器的组合或(ii)处理器/软件的部分,该处理器/软件包括一起工作以使诸如移动电话或服务器的设备执行各种功能的数字信号处理器、软件以及存储器;以及(c)使用软件或固件的电路,诸如微处理器或微处理器的一部分,即使软件或固件并非物理地存在。作为另一示例,术语“电路”可指一个或多个处理器或处理器的一部分以及附带的软件和/或固件。术语“电路”可指用于存储装置的集成电路。
控制器130可执行读取操作、编程操作、擦除操作和后台操作。控制器130可执行读取操作以从存储器装置150输出由主机102请求的数据或存储器系统110中所需的数据。控制器130可执行编程操作以将从主机102传送的数据或在存储器系统110中生成的数据存储在存储器装置150中。控制器130可执行擦除操作来擦除存储器装置150中存储的数据。控制器130可执行后台操作来管理存储器装置150中存储的数据。
存储器装置150的内部配置的设计可根据存储器装置150的特性、使用存储器系统110的目的、或存储器系统110和/或主机102的规范而不同。
例如,作为非易失性存储器装置的存储器装置150可被实施为NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。
存储器装置150可由三维阵列结构来实施。本公开的实施例可应用于其中电荷存储层由介电层形成的电荷撷取闪存(CTF),以及其中电荷存储层由导电浮栅形成的闪速存储器装置。
存储器装置150被配置成从控制器130接收命令和地址,并访问存储器单元阵列中的由地址选择的区域。换言之,存储器装置150可对由地址选择的区域执行与命令相对应的操作。
例如,存储器装置150可执行编程操作、读取操作和擦除操作。在这方面,存储器装置150可在编程操作期间将数据编程到由地址选择的区域中。在读取操作期间,存储器装置150可从由地址选择的区域中读取数据。在擦除操作期间,存储器装置150可擦除由地址选择的区域中存储的数据。
控制器130可根据主机102的请求或者在没有主机102的请求的情况下控制存储器装置150的操作。
例如,控制器130可控制存储器装置150的写入操作即编程操作、读取操作、擦除操作和后台操作。例如,后台操作可以是垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作、读取回收(RRC)操作等。
控制器130可通过运行固件来控制存储器系统110的操作。换言之,为了控制存储器装置150的全部操作并执行逻辑操作,控制器130可在启动期间将固件加载到存储器144中并且运行或驱动固件。例如,固件可存储在存储器装置150中,然后加载到存储器144中。
作为在存储器系统110中运行的程序,固件可包括例如闪存转换层(FTL)、主机接口层(HIL)和闪存接口层(FIL)。FTL可执行主机102请求的存储器系统110的逻辑地址与存储器装置150的物理地址之间的转换功能。HIL可用于解释主机102向作为存储装置的存储器系统110请求的命令,并将该命令传送到FTL。FIL可将FTL指示的命令传送到存储器装置150。
在存储器装置150中的存储块BLOCK<0:5>之中,至少一个存储块是坏存储块BLOCK<5>,其他存储块是正常存储块BLOCK<0:4>。
坏存储块中的多个页面P<0:4>之中的坏页面的数量超过了设定数量,而正常存储块中的坏页面的数量小于或等于设定数量。因此,坏存储块不需要全部具有坏页面,而是需要具有超过坏页面的设定数量的坏页面。例如,如图所示,在存储器装置150中的存储块BLOCK<0:5>之中的第五存储块BLOCK<5>的情况下,多个页面P<0:4>之中的第零页面、第一页面和第四页面P<0,1,4>是坏页面,但是第二页面和第三页面P<2,3>是正常页面。因此,如果坏页面的设定数量为3或更少,则BLOCK<5>是坏存储块,而如果坏页面的设定数量为4或更多,则BLOCK<5>是正常存储块。
此外,可基于数据是否可正常地编程到该页面和/或可从该页面读取数据来区分正常页面和坏页面。这种区分方式可仅考虑数据是否可正常地编程到目标页面,或者可考虑数据是否正常地被编程到目标页面,然后可正常地读取经编程数据。可基于当将数据编程到目标页面/从目标页面读取数据时出现错误的数量是否小于或等于参考值来确定是否正常地将数据编程到目标页面/从目标页面读取数据。
用于区分坏存储块和正常存储块的“设定数量”可根据存储器装置150的种类或类型而变化,并且在本实施例中可以是如图所示的“1”。换言之,在本实施例中,当存储块中包括的所有页面都是正常页面时,存储块被定义为正常存储块。此外,用于区分正常页面和坏页面的“参考值”可根据存储器装置150的种类或类型而变化,并且可表示可通过错误校正电路(ECC,未示出)的操作而恢复的错误的数量,其中ECC可包括在控制器130或存储器装置150中。
当在存储器装置150的正常存储块BLOCK<0:4>中的多个页面之中检测到被请求读取且读取请求的数量等于或大于第一参考数量的“过度读取页面”并且设置了“备份页面”时,根据本实施例的控制器130可执行将数据从“过度读取页面”复制到“备份页面”的备份操作。
控制器130可在执行备份操作之后,响应于对“过度读取页面”的读取请求而从“备份页面”读取数据。换言之,当在执行备份操作之后发生对“过度读取页面”的读取请求时,控制器130可对“备份页面”而不是对“过度读取页面”执行读取操作。
控制器130可执行检查操作,以检查坏存储块BLOCK<5>中的多个页面之中是否存在可编程/可读取的可操作页面。当检查操作的结果指示存在可操作页面P<2,3>时,控制器130可将可操作页面P<2>或P<3>设置为“备份页面”。当检查操作的结果指示不存在该可操作页面P<2,3>时,控制器130可将正常存储块BLOCK<0:4>中包括的多个页面之中的空页面设置为“备份页面”。
当控制器130响应于对“过度读取页面”的读取请求而从“备份页面”读取数据时出现数量等于或大于参考值的错误时,控制器130可执行替代操作,该替代操作包括从“过度读取页面”读取数据并且使坏存储块BLOCK<5>中的、对应于“备份页面”的可操作页面P<2>或P<3>无效,然后取消设置“备份页面”。换言之,当控制器130不能正常地从坏存储块BLOCK<5>中的、被设置为“备份页面”的可操作页面P<2>或P<3>读取数据时,响应于对“过度读取页面”的读取请求,控制器130可首先从“过度读取页面”读取数据,从而完整地处理对“过度读取页面”的读取请求。随后,控制器130可使坏存储块BLOCK<5>中的、对应于不能被正常读取的“备份页面”的可操作页面P<2>或P<3>无效,并且取消设置“备份页面”以执行替代操作。因此,当完整地执行了替代操作时,可不存在被设置为“备份页面”的页面。
在替代操作之后,控制器130可执行检查操作,该检查操作包括检查可编程/可读取的可操作页面P<2>或P<3>是否存在于存储器装置150中包括的坏存储块BLOCK<5>中包括的多个页面之中。当检查操作的结果指示存在可操作页面P<2>或P<3>时,控制器130可将可操作页面P<2>或P<3>设置为“备份页面”。当检查操作的结果指示不存在可操作页面P<2>或P<3>时,控制器130可将正常存储块BLOCK<0:4>中包括的多个页面之中的空页面设置为“备份页面”。
具体地,控制器130中包括的过度读取页面检测块A31可通过以下两种方式中的任意一种来检测“过度读取页面”。
第一种方式是在存储器装置150中的正常存储块BLOCK<0:4>之中,选择以块为单位的读取请求的数量等于或大于第二参考数量的存储块,并且当所选择的存储块中的任意一个中的多个页面之中存在读取请求的数量等于或大于第一参考数量的页面时,将该页面检测为“过度读取页面”。第一参考数量可小于或等于第二参考数量。
在第一种方式中,控制器130可在正常存储块BLOCK<0:4>之中,选择读取请求集中的存储块,即,被读取等于或大于第二参考数量的存储块。当不存在读取请求集中的存储块时,控制器130可不再执行检测“过度读取页面”的操作。然而,当存在一个或多个读取请求集中的存储块时,控制器130可执行检测每个存储块中的“过度读取页面”的操作。例如,当存在读取请求集中的两个存储块时,控制器130可执行检测第一存储块的“过度读取页面”的操作和检测第二存储块的“过度读取页面”的操作。
如上所述,当选择了读取请求集中的一个或多个存储块时,控制器130可在读取请求集中的存储块中的任意一个中的多个页面P<0:4>之中,检测读取请求集中的页面,即,已被读取等于或大于第一参考数量的页面。当不存在已被读取等于或大于第一参考数量的页面时,控制器130可不再执行检测“过度读取页面”的操作。换言之,没有页面被检测为“过度读取页面”,即,没有页面被检测为已被读取等于或大于第一参考数量的页面。然而,当存在一个或多个被读取等于或大于第一参考数量的页面时,控制器130可将每个页面检测为“过度读取页面”。例如,当存在读取请求集中的三个存储块时,在第一存储块中可存在被读取等于或大于第一参考数量的一个页面,在第二存储块中可存在被读取等于或大于第一参考数量的两个页面,并且在第三存储块中可不存在被读取等于或大于第一参考数量的页面。在这种情况下,可在第一存储块中将该一个页面检测为“过度读取页面”,在第二存储块中将该两个页面检测为“过度读取页面”,并且在第三存储块中没有页面被检测为“过度读取页面”。
第二种方式是在正常存储块BLOCK<0:4>之中,选择以块为单位的读取请求的数量等于或大于第二参考数量的存储块,当在所选择的存储块中的多个页面之中存在读取请求的数量等于或大于第三参考数量的页面时,设置该页面作为候选页面,以及当对候选页面的读取请求的数量等于或大于第一参考数量时,将该候选页面检测为“过度读取页面”。第三参考数量可小于第一参考数量。此外,第一参考数量可小于或等于第二参考数量。
在第二种方式中,控制器130可在正常存储块BLOCK<0:4>之中,选择读取请求集中的存储块,即,被读取等于或大于第二参考数量的存储块。当不存在读取请求集中的存储块时,控制器130可不再执行检测“过度读取页面”的操作。然而,当存在一个或多个读取请求集中的存储块时,控制器130可执行检测每个存储块中的“过度读取页面”的操作。例如,当存在读取请求集中的两个存储块时,控制器130可执行检测第一存储块的“过度读取页面”的操作和检测第二存储块的“过度读取页面”的操作。
如上所述,当选择了读取请求集中的一个或多个存储块时,控制器130可在读取请求集中的存储块中的多个页面之中,将读取请求集中的页面,即,将被读取等于或大于第三参考数量的页面设置为候选页面。当不存在已被读取等于或大于第三参考数量的页面时,可不设置候选页面。然而,当存在被读取等于或大于第三参考数量的一个或多个页面时,控制器130可将每个页面设置为候选页面。当设置了一个或多个候选页面,并且对每个候选页面的读取请求的数量等于或大于第一参考数量时,控制器130可将每个候选页面检测为“过度读取页面”。
例如,当存在读取请求集中的三个存储块时,在第一存储块中可存在被读取等于或大于第三参考数量的一个页面,在第二存储块中可存在被读取等于或大于第三参考数量的两个页面,并且在第三存储块中可不存在被读取等于或大于第三参考数量的页面。在这种情况下,可在第一存储块中将该一个页面设置为候选页面,在第二存储块中将该两个页面设置为候选页面,并且可不在第三存储块中设置候选页面。当在总共设置了三个候选页面的状态下,存在一个候选页面已被请求读取等于或大于第一参考数量时,控制器130可将该一个候选页面检测为“过度读取页面”。当存在两个候选页面已被请求读取等于或大于第一参考数量时,控制器130可将该两个候选页面检测为“过度读取页面”。当存在三个候选页面已被请求读取等于或大于第一参考数量时,控制器130可将该三个候选页面检测为“过度读取页面”。当没有候选页面已被请求读取等于或大于第一参考数量时,三个候选页面均可不被设置为“过度读取页面”。
综上所述,过度读取页面检测块A31可执行在存储器装置150中的正常存储块BLOCK<0:4>中的任意一个中的页面P<0:4>之中,将读取请求集中的一些页面检测为“过度读取页面”的操作。例如,正常存储块BLOCK<0:4>之中的第零存储块BLOCK<0>和第一存储块BLOCK<1>中的每一个的、以块为单位的读取请求的数量可超过第二参考数量。在这种情况下,当在第零存储块BLOCK<0>中的页面P<0:4>之中,仅对第零页面P<0>读取请求集中,并且对第零页面P<0>的读取请求的数量超过第一参考数量时,控制器130可在第零存储块BLOCK<0>中将第零页面P<0>检测为“过度读取页面”。然而,当读取请求被分布到第一存储块BLOCK<1>中的页面P<0:4>中的每一个中,并且因此不存在读取请求的数量超过第一参考数量的页面时,则在第一存储块BLOCK<1>中没有页面可被检测为“过度读取页面”。
在检测时间段期间,当在存储器装置150中的坏存储块中包括的多个页面之中检测到一个或多个可编程/可读取的页面时,控制器130中的可操作页面检查块A37可生成包括检测到的页面的信息的页面列表。
具体地,在检测时间段期间,可操作页面检查块A37中的测试操作电路A39可执行编程/读取虚设数据的测试操作,该虚设数据是针对坏存储块中的每个页面而设置的。所设置的虚设数据可以具有预定义模式,但不具有含义。例如,在检测时间段期间,测试操作电路A39可执行对针对坏存储块BLOCK<5>中的页面P<0:4>中的每一个设置的虚拟数据进行编程/读取的测试操作。
可操作页面检查块A37中包括的页面列表生成电路A38可根据由测试操作电路A39执行的测试操作的结果,将出现错误的数量等于或小于参考值的页面检测为可编程/可读取的页面,并且通过将检测到的页面的信息以列表形式分组来生成页面列表。例如,可操作页面检查块A37可通过由测试操作电路A39执行的测试操作,将坏存储块BLOCK<5>中的页面P<0:4>之中的第二页面和第三页面P<2,3>检测为可编程/可读取。因此,可操作页面检查块A37可通过将坏存储块BLOCK<5>中的第二页面和第三页面P<2,3>的信息以列表形式分组来生成页面列表。
当在超过参考时间的情况下没有从主机102输入命令时,可操作页面检查块A37中包括的检测时间电路A40可进入检测时间段。此外,检测时间电路A40可响应于从主机102输入命令而退出检测时间段。根据实施例,从主机102输入的命令可以是各种操作命令中的任意一种,诸如读取/写入/擦除/睡眠模式进入命令/后台操作命令。换言之,存储器系统110可在没有从主机102传送命令的时段中进入/退出设定模式,并且主机102可能不知道存储器系统110的进入/退出。作为参考,可设置检测时间段,使得在向存储器系统110供应电力时,该检测时间段对利用主机102的存储器系统110的操作没有影响。在另一实施例中,可与主机102协同地预定义检测时间段。
控制器130中的备份页面设置块A36可参照由可操作页面检查块A37生成的页面列表,来执行检查在坏存储块中的多个页面之中是否存在可编程/可读取的可操作页面的检查操作。此外,当执行检查操作的结果指示存在可操作页面时,备份页面设置块A36可将该可操作页面设置为“备份页面”。相反,当执行检查操作的结果指示不存在可操作页面时,备份页面设置块A36可将正常存储块BLOCK<0:4>中包括的多个页面之中的空页面设置为“备份页面”。
当过度读取页面检测块A31检测到“过度读取页面”并且由备份页面设置块A36设置为“备份页面”时,控制器130中的备份操作执行块A33可执行将数据从“过度读取页面”复制到“备份页面”的备份操作。
在备份操作执行块A33执行将数据从“过度读取页面”复制到“备份页面”的备份操作之后,当出现对“过度读取页面”的读取请求时,读取操作执行块A35可对“备份页面”而不是对“过度读取页面”执行读取操作。
错误检查块A34可检查由读取操作执行块A35读取的数据中出现的错误。特别地,错误检查块A34可检查由读取操作执行块A35从“备份页面”读取的数据中是否已经出现了数量等于或大于参考值的错误,并且向读取操作执行块A35、替代操作执行块A32和备份页面设置块A36通知检查结果。
当错误检查块A34通知,根据读取请求从“备份页面”而不是从“过度读取页面”读取的数据中已经出现了数量等于或大于参考值的错误时,读取操作执行块A35可从“过度读取页面”读取数据。
当错误检查块A34通知,根据读取请求从“备份页面”而不是从“过度读取页面”读取的数据中已经出现了数量等于或大于参考值的错误时,替代操作执行块A32可使坏存储块BLOCK<5>中的对应于“备份页面”的可操作页面P<2>或P<3>无效,并且执行请求备份页面设置块A36和可操作页面检查块A37以取消设置“备份页面”的替代操作。
可操作页面检查块A37中的页面列表生成电路A38可响应于替代操作执行块A32的取消设置“备份页面”的请求,从页面列表中擦除关于坏存储块BLOCK<5>中的对应于“备份页面”的可操作页面P<2>或P<3>的信息。
备份页面设置块A36可响应于替代操作执行块A32的取消设置“备份页面”的请求,来取消设置“备份页面”。响应于由备份页面设置块A36的取消设置“备份页面”的操作,读取操作执行块A35可响应于对“过度读取页面”的读取请求,对“过度读取页面”执行读取操作。
因为已经取消设置“备份页面”,所以备份页面设置块A36可再次参照可操作页面检查块A37的页面列表,检查在存储器装置150中的坏存储块中的多个页面之中是否存在可编程/可读取数据的可操作页面。此外,当执行检查操作的结果指示存在可操作页面时,备份页面设置块A36可将该可操作页面设置为“备份页面”。相反,当执行检查操作的结果指示不存在可操作页面时,备份页面设置块A36可将正常存储块BLOCK<0:4>中包括的多个页面之中的空页面设置为“备份页面”。通过该进程,备份操作执行块A33可响应于由备份页面设置块A36再次设置“备份页面”的操作,执行将数据从“过度读取页面”复制到“备份页面”的备份操作。响应于备份操作执行块A33再次将数据从“过度读取页面”复制到“备份页面”的备份操作,当出现对“过度读取页面”的读取请求时,读取操作执行块A35可对“备份页面”而不是“过度读取页面”执行读取操作。
图2是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
参照图2,数据处理系统100可包括与存储器系统110接合或可操作地与存储器系统110联接的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(TV)、投影仪等的电子装置。
主机102还包括至少一个操作系统(OS),OS通常可管理和控制在主机102中执行的功能和操作。OS可提供与存储器系统110接合的主机102和存储器系统110的用户之间的互操作性。OS可支持与用户请求相对应的功能和操作。作为示例而非限制,根据主机102的移动性,OS可包括通用操作系统和移动操作系统。根据系统需求或用户环境,通用操作系统可分为个人操作系统和企业操作系统。包括Windows和Chrome的个人操作系统可用于支持一般用途的服务。企业操作系统可专门用于确保和支持高性能,并且包括Windows Server、Linux和Unix。进一步地,移动操作系统可包括Android和iOS。移动操作系统可用于支持用于移动性的服务或功能(例如,省电功能)。主机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),并且非易失性存储器装置诸如只读存储器(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可集成到单个半导体装置中。可以集成控制器130和存储器装置150以形成具有提高的操作速度的SSD。当将存储器系统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可向主机102提供从存储器装置150读取的数据。控制器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)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。根据实施例,主机接口132可包括参照图1描述的可操作页面检查块A37中包括的检测时间电路A40。
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可包括用于基于上述编码中的至少一种来执行错误校正操作的任意和所有电路、模块、系统或装置。根据实施例,ECC电路138可包括参照图1描述的错误检查块A34。
PMU 140可管理控制器130中的电力。例如,PMU 140可检测通电和断电。此外,PMU140可包括电力检测器。
存储器接口142可用作处置在控制器130和存储器装置150之间传送的命令和数据的接口,以允许控制器130响应于从主机102传递的请求来控制存储器装置150。在当存储器装置150是闪速存储器的情况下,特别是在存储器装置150是NAND闪速存储器的情况下,存储器接口142可在处理器134的控制下生成存储器装置150的控制信号,并且可处理输入到存储器装置150中或从存储器装置150输出的数据。存储器接口142可提供用于处置控制器130和存储器装置150之间的命令和数据的接口,例如NAND闪存接口的操作,特别是控制器130和存储器装置150之间的操作。根据实施例,存储器接口142可通过被称为闪存接口层(FIL)的固件而被实施为与存储器装置150交换数据的组件。
存储器144可支持由存储器系统110和控制器130执行的操作。存储器144可存储针对存储器系统110和控制器130中的操作而生成或传递的临时数据或事务数据。控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据传递到主机102。控制器130可将通过主机102输入的数据存储在存储器装置150内。存储器144可用于存储控制器130和存储器装置150执行诸如读取操作或编程/写入操作的操作而使用的数据。
存储器144可以是易失性存储器。存储器144可利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实施。尽管图2示出了设置在控制器130内的存储器144,但实施例不限于该布置。即,存储器144可布置在控制器130内部或外部。例如,存储器144可以是具有在该存储器144和控制器130之间传送数据和/或信号的存储器接口的外部易失性存储器。
存储器144可存储用于执行诸如由主机102请求的数据写入和数据读取的操作的数据和/或用于诸如垃圾收集和损耗均衡的后台操作而在存储器装置150和控制器130之间传送的数据。根据实施例,为了支持存储器系统110中的操作,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存和映射缓冲器/高速缓存。
处理器134可以是微处理器或中央处理器(CPU)。存储器系统110可包括一个或多个处理器134。处理器134可控制存储器系统110的全部操作。作为示例而非限制,处理器134可响应于从主机102输入的写入请求或读取请求来控制对存储器装置150的编程操作或读取操作。根据实施例,处理器134可使用或运行固件来控制存储器系统110的全部操作。在本文中,固件可以是闪存转换层(FTL)。FTL可用作主机102和存储器装置150之间的接口。主机102可通过FTL向存储器装置150传输写入操作和读取操作的请求。
根据实施例,处理器134、存储器接口142和存储器144可用于执行上述参照图1描述的过度读取页面检测块A31、替代操作执行块A32、备份操作执行块A33、读取操作执行块A35以及可操作页面检查块A37中包括的页面列表生成电路A38和测试操作电路A39的操作。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可加载、生成、更新或存储映射数据。因此,控制器130可通过映射数据将从主机102输入的逻辑地址与存储器装置150的物理地址进行映射。存储器装置150可用作执行读取操作或写入操作的通用存储装置。此外,通过基于映射数据的地址映射操作,当控制器130尝试更新在特定页面中存储的数据时,由于闪速存储器装置的特性,控制器130可以将更新数据编程在另一空页面,并且可使该特定页面中的旧数据无效(例如,将与更新数据的逻辑地址相对应的物理地址从特定页面更新到新编程页面)。进一步地,控制器130可将新数据的映射数据存储到FTL中。
例如,当在存储器装置150中执行从主机102请求的操作时,控制器130使用处理器134。与存储器装置150接合的处理器134可处置与从主机102输入的命令相对应的指令或命令。控制器130可执行作为与来自主机102的命令相对应的命令操作的前台操作,诸如与写入命令相对应的编程操作、与读取命令相对应的读取操作、与擦除/丢弃命令相对应的擦除/丢弃操作以及与具有设置命令的设置参数命令或设置特征命令相对应的参数设置操作。
控制器130可通过处理器134来对存储器装置150执行后台操作。作为示例而非限制,存储器装置150的后台操作包括将存储块152、154、156之中的存储块中的数据复制并且将这些数据存储在另一存储块中(例如,垃圾收集(GC)操作)。后台操作可包括将存储器装置150中的存储块152、154、156中的至少一个存储块中存储的数据移动到存储块152、154、156中的至少另一个存储块中的操作(例如,损耗均衡(WL)操作)。在后台操作期间,控制器130可使用处理器134将控制器130中存储的映射数据存储到存储块152、154、156中的至少一个中,例如映射清除操作。检查多个存储块152、154、156之中的坏块的坏块管理操作是由处理器134执行的后台操作的另一示例。
在存储器系统110中,控制器130执行与从主机102接收的多个命令相对应的多个命令操作。例如,当顺序地、随机地或交替地执行与多个编程命令相对应的多个编程操作、与多个读取命令相对应的多个读取操作和与多个擦除命令相对应的多个擦除操作时,控制器130可确定将控制器130连接到存储器150中的哪个(哪些)存储器管芯的哪个(哪些)通道或通路适于或适用于执行每个操作。控制器130可经由用于执行每个操作的(多个)通道或通路来传输数据或指令。在每个操作完成之后,多个存储器管芯可分别经由相同的(多个)通道或通路来传输操作结果。然后,控制器130可向主机102传输响应或确认信号。在实施例中,控制器130可检查每个通道或每个通路的状态。响应于从主机102接收的命令,控制器130可基于每个通道或每个通路的状态来选择至少一个通道或通路,使得可经由所选择的(多个)通道或通路来传递指令和/或操作结果以及数据。
控制器130可检查联接到存储器装置150中包括的多个存储器管芯的多个通道(或通路)的状态。
作为示例而非限制,控制器130可识别与存储器装置150中的存储器管芯相关联的通道(或通路)的状态。控制器130可将每个通道或每个通路的状态确定为处于忙碌状态、就绪状态、活动状态、空闲状态、正常状态或异常状态。控制器可基于物理块地址来确定通过哪个通道或通路来传送指令(和/或数据),例如将指令(和/或数据)传递到哪个(哪些)管芯。控制器130可参考从存储器装置150传递的描述符。该描述符可包括描述存储器装置150的特性的块参数或页面参数,并且可具有设定格式或结构。描述符可包括装置描述符、配置描述符、单元描述符等。控制器130可参考或使用描述符来确定利用哪个(哪些)通道或通路来交换指令或数据。
管理单元(未示出)可被包括在处理器134中。管理单元可执行存储器装置150的坏块管理。管理单元可发现对于进一步使用处于不满足条件的坏存储块,并且对坏存储块执行坏块管理。当存储器装置150是诸如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,可将编程失败存储块或坏存储块的数据编程到新存储块中。例如,在读取数据时可能发生读取失败,并且将发生读取失败的块作为坏块进行管理。坏块可显著降低具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性。因此,可靠的坏块管理可增强或提高存储器系统110的性能。
图3是示出根据本公开的另一实施例的存储器系统中的控制器的框图。
参照图3,控制器130与主机102和存储器装置150协作。控制器130可包括主机接口(I/F)132、闪存转换层(FTL)电路40、存储器接口(I/F)142和存储器144。
尽管图3中没有示出,但是根据实施例,闪存转换层(FTL)电路40和主机接口132可用作参照图1描述的可操作页面检查块A37中包括的检测时间电路A40。此外,根据实施例,闪存转换层(FTL)电路40和存储器接口142可用作参照图1描述的过度读取页面检测块A31、替代操作执行块A32、备份操作执行块A33、错误检查块A34、读取操作执行块A35以及可操作页面检查块A37中包括的页面列表生成电路A38和测试操作电路A39。
主机接口132可处置来自主机102的命令和数据。作为示例而非限制,主机接口132可包括命令队列56、缓冲器管理器52和事件队列54。命令队列56可顺序地存储来自主机102的命令和数据,并以存储顺序将命令和数据输出到缓冲器管理器52。缓冲器管理器52可对从命令队列56传递的命令和数据进行分类、管理或调整。事件队列54可顺序地传输用于处理来自缓冲器管理器52的命令和数据的事件。
可从主机102连续接收具有相同特性的多个命令或数据,或者可将具有不同特性的命令和数据混合后再传输到存储器系统110。例如,可传递多个读取命令,或者可交替地将读取命令和编程/写入命令传输到存储器系统110。主机接口132可将从主机102接收的命令和数据顺序地存储到命令队列56。此后,主机接口132可根据从主机102接收到的命令和数据的特性来估计或预测控制器130将执行何种类型的内部操作。主机接口132可至少基于命令和数据的特性来确定命令和数据的处理顺序和优先级。根据来自主机102的命令和数据的特性,主机接口132中的缓冲器管理器52被配置成确定缓冲器管理器52是否应将命令和数据存储在存储器144中,或者缓冲器管理器52是否应将命令和数据传递到闪存转换层(FTL)电路40中。事件队列54接收从缓冲器管理器52输入的、待由存储器系统110或控制器130响应于来自主机102的命令和数据而内部地运行和处理的事件,使得按照接收的顺序将事件传递到闪存转换层(FTL)电路40。
根据实施例,图3中的主机接口132可执行图2中的控制器130的功能。
根据实施例,闪存转换层(FTL)电路40可包括状态管理器(GC/WL)42、映射管理器(MM)44、主机请求管理器(HRM)46和块管理器(BM/BBM)48。主机请求管理器46可管理从事件队列54输入的事件。映射管理器44可处置或控制映射数据。状态管理器42可执行垃圾收集(GC)或损耗均衡(WL)。块管理器48可对存储器装置150中的块运行命令或指令。
作为示例而非限制,主机请求管理器46可根据从主机接口132传递的读取和编程命令以及事件,使用映射管理器44和块管理器48来处置或处理请求。主机请求管理器46可向映射数据管理器44发送查询请求,以确定与事件一起输入的逻辑地址相对应的物理地址。主机请求管理器46可向存储器接口142发送具有物理地址的读取请求,以处理读取请求(处置事件)。另一方面,主机请求管理器46可向块管理器48发送编程请求(或写入请求),以将输入的数据编程到存储器装置150中的空页面(即,没有数据的页面),然后可向映射管理器44传输与编程请求相对应的映射更新请求,以更新映射地址。
块管理器48可将从主机请求管理器46、映射数据管理器44和/或状态管理器42传递的编程请求转换为用于存储器装置150的闪存编程请求,以管理存储器装置150中的闪存块。为了最大化或增强存储器系统110的编程性能或写入性能(参见图2),块管理器48可收集编程请求,并向存储器接口142发送用于多平面和单触发编程操作的闪存编程请求。块管理器48可向存储器接口142发送若干闪存编程请求,以增强或最大化多通道和多方向闪存控制器的并行处理。
块管理器48可被配置成根据有效页面的数量来管理存储器装置150中的块,当需要空闲块时选择并擦除没有有效页面的块,并且当确定需要垃圾收集时选择包括最少数量的有效页面的块。状态管理器42可执行垃圾收集以将有效数据移动到空块,并且擦除被移动有效数据的块中的剩余数据,使得块管理器48可以具有足够的空闲块。如果块管理器48向状态管理器42提供关于待擦除的块的信息,则状态管理器42能够检查待擦除的块中的所有闪存页面以确定每个页面是否有效。为了确定每个页面的有效性,状态管理器42可识别在每个页面的带外(OOB)区域中存储的逻辑地址。为了确定每个页面是否有效,状态管理器42可将页面的物理地址与映射到从请求获得的逻辑地址的物理地址进行比较。状态管理器42针对每个有效页面,向块管理器48发送编程请求。当编程操作完成时,可通过映射管理器44的更新来更新映射表。
映射管理器44可管理逻辑-物理映射表。映射管理器44可处理由主机请求管理器46或状态管理器42生成的诸如查询和更新的请求。映射管理器44可将整个映射表存储在存储器装置150(例如,闪速存储器/非易失性存储器)中,并且根据存储器144的存储容量来高速缓存映射条目。当在处理查询或更新请求时发生映射高速缓存未命中时,映射管理器44可向存储器接口142发送读取请求以加载存储器装置150中存储的相关映射表。当映射管理器44中的脏高速缓存块的数量超过特定阈值时,可向块管理器48发送编程请求,使得生成干净高速缓存块,并且可以将脏映射表存储在存储器装置150中。
当执行垃圾收集时,状态管理器42将(多个)有效页面复制到空闲块中,并且主机请求管理器46可针对相同逻辑地址的页面编程最新版本的数据并且发出更新请求。当状态管理器42在未完成有效页面的复制的状态下请求映射更新时,映射管理器44可不执行映射表更新。这是因为,如果状态管理器42请求映射更新,并且稍后才完成有效页面复制,则发出的是具有旧物理信息的更新请求。映射管理器44仅当最新映射表仍然指向旧物理地址时,才可执行映射更新操作以确保准确性。
存储器装置150可包括多个存储块。根据这些块中的一个存储器单元中可存储或表示的位的数量,多个存储块中的每一个可以是单层单元(SLC)存储块或多层单元(MLC)存储块。此处,SLC存储块包括由每个存储一位数据的存储器单元实施的多个页面。SLC存储块可具有高数据I/O操作性能和高耐久性。MLC存储块包括由每个存储多位数据(例如,两位或更多位数据)的存储器单元实施的多个页面。与SLC存储块相比,对于相同空间,MLC存储块可具有更大的存储容量。在存储容量方面,MLC存储块可被高度集成。在实施例中,存储器装置150可利用MLC存储块来实施,其中MLC存储块诸如双层单元存储块、三层单元(TLC)存储块、四层单元(QLC)存储块或其组合。双层存储块可包括由每个能够存储2位数据的存储器单元实施的多个页面。三层单元(TLC)存储块可包括由每个能够存储3位数据的存储器单元实施的多个页面。四层单元(QLC)存储块可包括由每个能够存储4位数据的存储器单元实施的多个页面。在另一实施例中,存储器装置150可利用包括由每个能够存储5位或更多位数据的存储器单元实施的多个页面的块来实施。
在本公开的实施例中,存储器装置150是诸如闪速存储器的非易失性存储器,该闪速存储器诸如NAND闪速存储器、NOR闪速存储器等。在另一实施例中,存储器装置150可以是相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)和自旋注入磁性存储器(例如,自旋转移力矩磁性随机存取存储器(STT-MRAM))中的至少一种。
图4A至图4F示出根据本发明的实施例的存储器系统的操作方法。
参照图1和图4A,读取请求可集中在存储器装置150中的多个正常存储块BLOCK<0:4>之中的第零存储块BLOCK<0>中的第零页面P<0>。即,在本示例中,对第零页面P<0>的读取请求的数量等于或大于第一参考数量。因此,控制器130可将第零存储块BLOCK<0>中的第零页面P<0>检测为“过度读取页面”。
此外,控制器130可对作为存储器装置150中的坏存储块的第五存储块BLOCK<5>中的多个页面P<0:4>之中的第零页面P<0>、第一页面P<1>和第四页面P<4>执行测试操作,从而确定页面P<0>、P<1>和P<4>是无法可正常地编程/读取的坏页面。类似地,控制器130可对块BLOCK<5>中的第二页面P<2>和第三页面P<3>执行测试操作,从而确定页面P<2>和P<3>是可正常地编程/读取的可操作页面。因此,控制器130可通过将关于第五存储块BLOCK<5>中的第二页面P<2>和第三页面P<3>的信息以列表形式分组来生成页面列表。
图4A的操作时间点可在控制器130执行将数据从“过度读取页面”复制到“备份页面”的备份操作之前。因此,控制器130可响应于对被检测为“过度读取页面”的第零存储块BLOCK<0>中的第零页面P<0>的读取请求,从第零存储块BLOCK<0>中的第零页面P<0>读取数据DATA0。
参照图1和图4B,在图4A的操作时间点之后,控制器130可参照页面列表,将第五存储块BLOCK<5>中的备份页面P<2>设置为“备份页面”。随后,控制器130可执行将数据从“过度读取页面”复制到“备份页面”的备份操作。换言之,控制器130可将在被检测为“过度读取页面”的第零存储块BLOCK<0>中的第零页面P<0>中存储的数据DATA0复制到被设置为“备份页面”的第五存储块BLOCK<5>中的备份页面P<2>。
在执行如上所述的备份操作之后,控制器130可响应于对被检测为“过度读取页面”的第零存储块BLOCK<0>中的第零页面P<0>的读取请求,从被设置为“备份页面”的第五存储块BLOCK<5>中的备份页面P<2>读取数据DATA0。
参照图1、图4C和图4D,在图4B的操作时间点之后,当控制器130响应于对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求,从被设置为“备份页面”的第五存储块BLOCK<5>的备份页面P<2>读取数据DATA0时,可能出现数量等于或大于参考值的错误。换言之,可能没有从被设置为“备份页面”的第五存储块BLOCK<5>的备份页面P<2>中正常地读取数据DATA0。
在这种状况下,控制器130可放弃对被设置为“备份页面”的第五存储块BLOCK<5>的备份页面P<2>的读取操作,而是从第零存储块BLOCK<0>的第零页面P<0>读取数据DATA0,以便优先地处理对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求。
随后,参照图4D,控制器130可取消将第五存储块BLOCK<5>的备份页面P<2>设置为“备份页面”,其中在图4C的操作时间点没有从备份页面P<2>正常地读取数据DATA0。此外,控制器130可使第五存储块BLOCK<5>的备份页面P<2>无效,其中在图4C的操作时间点没有从备份页面P<2>正常地读取DATA0。控制器130可从页面列表中擦除关于第五存储块BLOCK<5>的备份页面P<2>的信息。在这种状况下,当出现针对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求时,控制器130可从第零存储块BLOCK<0>的第零页面P<0>读取数据DATA0。
随后,控制器130可参考页面列表,将第五存储块BLOCK<5>的第三页面P<3>设置为“备份页面”。控制器130可执行将数据从“过度读取页面”复制到“备份页面”的备份操作。换言之,控制器130可将在被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>中存储的数据DATA0复制到被设置为“备份页面”的第五存储块BLOCK<5>的第三页面P<3>中。
在执行如上所述的备份操作之后,控制器130可响应于对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求,从被设置为“备份页面”的第五存储块BLOCK<5>的第三页面P<3>读取数据DATA0。
参照图1、图4E和图4F,在图4D的操作时间点之后,当控制器130响应于对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求,从被设置为“备份页面”的第五存储块BLOCK<5>的第三页面P<3>读取数据DATA0时,可能出现数量等于或大于参考值的错误。换言之,可能没有从被设置为“备份页面”的第五存储块BLOCK<5>的第三页面P<3>正常地读取数据DATA0。
在这种状况下,控制器130可放弃对被设置为“备份页面”的第五存储块BLOCK<5>的第三页面P<3>的读取操作,而是从第零存储块BLOCK<0>的第零页面P<0>读取数据DATA0,以便优先地处理对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求。
随后,参照图4F,控制器130可取消将第五存储块BLOCK<5>的第三页面P<3>设置为“备份页面”,其中在图4E的操作时间点没有从第三页面P<3>正常地读取数据DATA0。此外,控制器130可使第五存储块BLOCK<5>的第三页面P<3>无效,其中在图4E的操作时间点没有从第三页面P<3>正常地读取数据DATA0。控制器130可从页面列表中擦除关于第五存储块BLOCK<5>的第三页面P<3>的信息。在这种状况下,当出现对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求时,控制器130可从第零存储块BLOCK<0>的第零页面P<0>读取数据DATA0。
随后,控制器130可参考页面列表,检查到第五存储块BLOCK<5>中不再存在可操作页面。因此,控制器130可将正常存储块BLOCK<0:4>之中的包括空页面的第一存储块BLOCK<1>的第零页面P<0>设置为“备份页面”。随后,控制器130可执行将数据从“过度读取页面”复制到“备份页面”的备份操作。换言之,控制器130可将在被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>中存储的数据DATA0复制到被设置为“备份页面”的第一存储块BLOCK<1>的第零页面P<0>中。
在执行如上所述的备份操作之后,控制器130可响应于对被检测为“过度读取页面”的第零存储块BLOCK<0>的第零页面P<0>的读取请求,从被设置为“备份页面”的第一存储块BLOCK<1>的第零页面P<0>读取数据DATA0。
图5是示出根据本发明的实施例的存储器系统的操作方法的流程图。
参照图1和图5,在步骤S10中,根据本实施例的存储器系统110可在存储器装置150中包括的多个存储块BLOCK<0:5>之中,检查是否存在读取请求的数量超过第二参考数量的块。当在存储块BLOCK<0:5>之中不存在这样的块(即,在步骤S10中为“否”)时,存储器系统110可不执行附加操作,而是执行一般操作,即读取操作/写入操作/擦除操作。相反,当在存储块BLOCK<0:5>之中,存在读取请求的数量超过第二参考数量的块(即,在步骤S10中为“是”)时,可将相应块定义为过度读取块。
当步骤S10的操作结果指示存在过度读取块(即,步骤S10中为“是”)时,在步骤S20中,存储器系统110可在过度读取块中包括的多个页面P<0:4>之中,检查是否存在读取请求的数量超过第一参考数量的页面。当在过度读取块中的页面P<0:4>之中不存在这样的页面(即,在步骤S20中为“否”)时,存储器系统110可不执行附加操作,而是执行存储器系统110的一般操作,即读取操作/写入操作/擦除操作。相反,当在过度读取块中的页面P<0:4>之中存在读取请求的数量超过第一参考数量的页面(即,在步骤S20中为“是”)时,在步骤S30中可将相应页面设置为“过度读取页面”。
当在多个正常存储块BLOCK<0:4>中的多个页面之中存在“过度读取页面”时,在步骤S40中,存储器系统110可在坏存储块BLOCK<5>中包括的多个页面P<0:4>之中,检查是否存在可正常地输入/输出数据的可操作页面。
当步骤S40的操作结果指示在坏存储块BLOCK<5>中的页面P<0:4>之中存在可正常地输入/输出数据的一个或多个可操作页面(即,步骤S40中为“是”)时,在步骤S50中,存储器系统110可选择该可操作页面中的任意一个,并且将所选择页面设置为“备份页面”。
当步骤S40的操作结果指示在坏存储块BLOCK<5>中的页面P<0:4>之中不存在可正常地输入/输出数据的可操作页面(即,步骤S40中为“否”)时,在步骤S60中,存储器系统110可选择正常存储块BLOCK<0:4>中的多个页面之中的空页面,并且将所选择页面设置为“备份页面”。
当通过步骤S50或S60的操作设置了备份页面时,在步骤S70中,可将数据从“过度读取页面”复制到“备份页面”。
在通过步骤S70的操作将数据从“过度读取页面”复制到“备份页面”之后,在步骤S80中,响应于对“过度读取页面”的读取请求,可从“备份页面”读取数据。
如上所述,当应用本公开的实施例时,可将正常存储块中的多个页面之中的读取请求集中的一些页面检测为“过度读取页面”,可将数据从检测到的“过度读取页面”复制到至少一个“备份页面”,然后可控制对“备份页面”执行对“过度读取页面”的读取请求。因为集中指向“过度读取页面”的读取请求被重新指向“备份页面”,并且对“备份页面”执行读取请求,因此可稳定地处理读取请求。
在这种情况下,因为将正常存储块中的页面之中的读取请求集中的一些页面检测为“过度读取页面”,所以可以防止由于读取请求集中在正常存储块的一些页面上,而导致整个正常存储块被选择为读取回收操作的源块。
此外,为了从检测到的“过度读取页面”复制数据,可将坏存储块中的正常页面优先地设置并且用作为“备份页面”。因此,当设置“备份页面”以复制检测到的、被请求读取的“过度读取页面”的数据时,可最小化地使用正常存储块中的空页面。
下面描述根据本公开的实施例的系统的效果。
根据本公开的实施例的存储器系统可检测读取请求集中的一些页面,将来自检测到的页面中的数据分布和存储到另一页面中,然后控制待在另一页面中分布和读取的数据,从而稳定地处理针对检测到的页面的集中的读取请求。因此,可以防止对包括检测到的页面的块执行读取回收操作。
此外,当将来自读取请求集中的页面的数据进行分布和存储时,存储器系统优先地使用坏存储块中的正常页面,从而最小化地使用正常存储块来分布和读取所请求的数据。
虽然已经关于具体实施例说明和描述了本公开,但对于本领域技术人员应显而易见的是,在不脱离所附权利要求中限定的本公开的精神和范围的情况下,可进行各种改变和修改。本发明涵盖落入权利要求范围内的所有此类改变和修改。
Claims (20)
1.一种存储器系统,包括:
非易失性存储器装置,包括多个存储块,所述多个存储块中的每个包括多个页面,其中所述多个存储块包括至少一个坏块和正常块;以及
控制器,当在所述正常块中的多个页面之中检测到读取请求的数量等于或大于第一参考数量的过度读取页面时,执行将数据从所述过度读取页面复制到备份页面的备份操作,并且在所述备份操作之后,响应于对所述过度读取页面的读取请求,从所述备份页面读取数据,
其中所述控制器进一步执行将所述坏块中的多个页面之中的可编程/可读取的页面设置为所述备份页面的操作。
2.根据权利要求1所述的存储器系统,其中当响应于对所述过度读取页面的读取请求而从所述备份页面读取数据时,出现数量等于或大于参考值的错误时,所述控制器从所述过度读取页面读取数据,使所述备份页面无效,并且执行取消设置所述备份页面的操作。
3.根据权利要求2所述的存储器系统,其中在取消操作之后,当在所述坏块中的多个页面之中不存在可编程/可读取的页面时,所述控制器将所述正常块中的多个页面之中的空页面设置为所述备份页面。
4.根据权利要求1的存储器系统,
其中所述控制器在检测时间段期间,在所述坏块中的多个页面之中检测至少一个可编程/可读取的页面,并且生成包括检测到的页面的页面列表,并且
其中所述控制器参考所述页面列表来设置所述备份页面。
5.根据权利要求4的存储器系统,
其中所述控制器通过执行在所述坏块中的每个页面中编程/读取虚设数据的测试操作来检测所述可编程/可读取的页面,并且
其中所述控制器根据执行所述测试操作的结果,将错误数量小于或等于错误参考数量的页面检测为所述可编程/可读取的页面。
6.根据权利要求5所述的存储器系统,其中当在参考时间或更长时间内没有从主机输入命令时,所述控制器进入所述检测时间段,并且响应于从所述主机输入命令而退出所述检测时间段。
7.根据权利要求1所述的存储器系统,其中当在所述坏块中的多个页面之中不存在所述可编程/可读取的页面时,所述控制器将所述正常块中的多个页面之中的空页面设置为所述备份页面。
8.根据权利要求1的存储器系统,
其中所述控制器从所述多个存储块之中选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块,并且在所选择正常块的任意一个中的多个页面之中检测所述过度读取页面,并且
其中所述第一参考数量小于或等于所述第二参考数量。
9.根据权利要求1的存储器系统,
其中所述控制器从所述多个存储块之中选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块,在所选择正常块的任意一个中的多个页面之中检测读取请求的数量等于或大于第三参考数量的候选页面,并且当对所述候选页面的读取请求的数量等于或大于所述第一参考数量时,将所述候选页面检测为所述过度读取页面,并且
其中所述第三参考数量小于所述第一参考数量,并且所述第一参考数量小于或等于所述第二参考数量。
10.一种存储器系统的操作方法,所述存储器系统包括非易失性存储器装置,所述非易失性存储器装置包括多个存储块,所述多个存储块中的每个包括多个页面,所述操作方法包括:
将所述多个存储块划分为至少一个坏块和正常块;
在第一检测操作中,在所述正常块的每个中的多个页面之中检测读取请求的数量等于或大于第一参考数量的过度读取页面;
在第一设置操作中,将所述坏块中的多个页面之中的可编程/可读取的页面设置为所述备份页面;并且
将数据从所述过度读取页面复制到所述备份页面,然后响应于对所述过度读取页面的读取请求从所述备份页面读取数据。
11.根据权利要求10所述的操作方法,进一步包括:
当在复制操作中出现数量等于或大于参考值的错误时,从所述过度读取页面读取数据;并且
使所述备份页面无效,然后在所述读取操作之后取消设置所述备份页面。
12.根据权利要求11所述的操作方法,进一步包括:在无效操作之后,在第二设置操作中,当在所述坏块中的多个页面之中不存在所述可编程/可读取的页面时,将所述正常块中的多个页面之中的空页面设置为所述备份页面。
13.根据权利要求10所述的操作方法,进一步包括:
在第二检测操作中,在检测时间段期间,在所述坏块中的多个页面之中检测至少一个可编程/可读取的页面,并且生成包括检测到的页面的页面列表,
其中参考所述页面列表来执行所述第一设置操作。
14.根据权利要求13所述的操作方法,其中所述第二检测操作包括:
在所述坏块中的每个页面中编程/读取虚设数据;并且
在第三检测操作中,根据所述编程/读取虚设数据的结果,将出现设定数量或更少的错误的页面检测为所述可编程/可读取的页面。
15.根据权利要求14所述的操作方法,进一步包括:
当在参考时间或更长时间内没有从主机输入命令时,进入所述检测时间段;并且
响应于从所述主机输入命令而退出所述检测时间段。
16.根据权利要求10所述的操作方法,进一步包括:在第三设置操作中,当所述坏块中的多个页面之中不存在所述可编程/可读取的页面时,将所述正常块中的多个页面之中的空页面设置为所述备份页面。
17.根据权利要求10的操作方法,
其中所述第一检测操作包括:
在所述多个存储块之中,选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块;并且
在所选择正常块的任意一个中包括的多个页面之中,检测所述过度读取页面,并且
其中所述第一参考数量小于或等于所述第二参考数量。
18.根据权利要求11的操作方法,
其中所述第一检测操作包括:
在所述多个存储块之中,选择以块为单位的读取请求的数量等于或大于第二参考数量的正常块;
在所选择正常块的任意一个中的多个页面之中,检测读取请求的数量等于或大于第三参考数量的候选页面;并且
当对所述候选页面的读取请求的数量等于或大于所述第一参考数量时,将所述候选页面检测为所述过度读取页面,并且
其中所述第三参考数量小于所述第一参考数量,并且所述第一参考数量小于或等于所述第二参考数量。
19.一种存储器系统,包括:
存储器装置,包括分别具有第一页面和第二页面的第一块和第二块;以及
控制器,控制所述存储器装置:
当所述第一页面已被读取超过阈值次数时,将当前数据从所述第一页面复制到所述第二页面;并且
响应于对原始数据的读取请求,从所述第二页面读取所复制的数据,
其中在复制所述当前数据时,当所述第二块被检测为坏块时,所述第二页面被检测为正常地操作。
20.根据权利要求19所述的存储器系统,其中当读取所复制的数据失败时,所述控制器控制所述存储器装置从所述第一页面读取所述当前数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0111911 | 2019-09-10 | ||
KR1020190111911A KR20210030599A (ko) | 2019-09-10 | 2019-09-10 | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112558860A true CN112558860A (zh) | 2021-03-26 |
Family
ID=74850948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010605949.XA Withdrawn CN112558860A (zh) | 2019-09-10 | 2020-06-29 | 分布和读取数据的存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11269542B2 (zh) |
KR (1) | KR20210030599A (zh) |
CN (1) | CN112558860A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114879916A (zh) * | 2022-07-12 | 2022-08-09 | 合肥康芯威存储技术有限公司 | 一种管理存储单元的方法和装置 |
TWI805236B (zh) * | 2021-12-23 | 2023-06-11 | 大陸商合肥沛睿微電子股份有限公司 | 一種資料存取管理方法和儲存裝置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210030599A (ko) * | 2019-09-10 | 2021-03-18 | 에스케이하이닉스 주식회사 | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20210068894A (ko) * | 2019-12-02 | 2021-06-10 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US20220164107A1 (en) * | 2020-11-25 | 2022-05-26 | Micron Technology, Inc. | Using bad blocks for system data in memory |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366825B2 (en) * | 2005-04-26 | 2008-04-29 | Microsoft Corporation | NAND flash memory management |
US8904098B2 (en) * | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
KR20090014036A (ko) * | 2007-08-03 | 2009-02-06 | 삼성전자주식회사 | 읽기 디스터번스로 인한 에러를 방지하는 메모리 시스템 및그 방법 |
JP5142629B2 (ja) * | 2007-08-22 | 2013-02-13 | 株式会社日立製作所 | 仮想ボリュームのバックアップを行うストレージシステム及び方法 |
JP5816303B2 (ja) * | 2011-09-13 | 2015-11-18 | 株式会社日立製作所 | フラッシュメモリを含むストレージシステム、及び記憶制御方法 |
US10204003B2 (en) * | 2014-08-27 | 2019-02-12 | Hitachi, Ltd. | Memory device and storage apparatus |
US10254998B2 (en) | 2015-11-03 | 2019-04-09 | Samsung Electronics Co., Ltd. | Coordinated garbage collection of flash devices in a distributed storage system |
JP6444917B2 (ja) * | 2016-03-08 | 2018-12-26 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
TWI687933B (zh) * | 2017-03-03 | 2020-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其區塊釋放方法 |
US10387280B2 (en) * | 2017-06-09 | 2019-08-20 | International Business Machines Corporation | Reporting defects in a flash memory back-up system |
US10672497B2 (en) * | 2018-04-03 | 2020-06-02 | SK Hynix Inc. | Memory system and method for bad block management |
KR20210030599A (ko) * | 2019-09-10 | 2021-03-18 | 에스케이하이닉스 주식회사 | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2019
- 2019-09-10 KR KR1020190111911A patent/KR20210030599A/ko unknown
-
2020
- 2020-05-20 US US16/878,867 patent/US11269542B2/en active Active
- 2020-06-29 CN CN202010605949.XA patent/CN112558860A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI805236B (zh) * | 2021-12-23 | 2023-06-11 | 大陸商合肥沛睿微電子股份有限公司 | 一種資料存取管理方法和儲存裝置 |
CN114879916A (zh) * | 2022-07-12 | 2022-08-09 | 合肥康芯威存储技术有限公司 | 一种管理存储单元的方法和装置 |
CN114879916B (zh) * | 2022-07-12 | 2022-09-30 | 合肥康芯威存储技术有限公司 | 一种管理存储单元的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210072896A1 (en) | 2021-03-11 |
US11269542B2 (en) | 2022-03-08 |
KR20210030599A (ko) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11237742B2 (en) | Apparatus and method for controlling data stored in memory system | |
US11138080B2 (en) | Apparatus and method for reducing cell disturb in an open block of a memory system during a recovery procedure | |
US11269542B2 (en) | Memory system for distributing and reading data and operating method thereof | |
CN110825659B (zh) | 用于检查存储器系统中的块中的有效数据的设备和方法 | |
US11544157B2 (en) | Apparatus and method for storing data in an MLC area of a memory system | |
US11275525B2 (en) | Apparatus and method for improving write throughput of memory system | |
US11526438B2 (en) | Memory system capable of increasing storage efficiency and operation method thereof | |
US11126562B2 (en) | Method and apparatus for managing map data in a memory system | |
CN113900586A (zh) | 存储器系统及其操作方法 | |
CN112199038A (zh) | 基于i/o吞吐量确定缓冲器使用的存储器系统及其操作方法 | |
CN110781023A (zh) | 用于在存储器系统中处理数据的设备和方法 | |
US11822426B2 (en) | Memory system, data processing system and operation method of the same | |
CN111435334B (zh) | 在存储器系统中检查有效数据的设备和方法 | |
US11200960B2 (en) | Memory system, data processing system and operation method of the same | |
CN112988054A (zh) | 存储器系统及其操作方法 | |
CN113010098A (zh) | 用于提高存储器系统的输入/输出吞吐量的设备和方法 | |
US20210349825A1 (en) | Memory controller | |
US11354051B2 (en) | Memory system for efficiently managing memory block and operating method thereof | |
CN113849121A (zh) | 用于访问条带形式的数据的存储器系统及其操作方法 | |
CN112445424A (zh) | 提高存储器系统的输入/输出吞吐量的设备和方法 | |
US20200250104A1 (en) | Apparatus and method for transmitting map information in a memory system | |
CN110806983A (zh) | 存储器系统及其操作方法 | |
US11360893B2 (en) | Apparatus and method for managing firmware through runtime overlay | |
US20220012180A1 (en) | Memory system for meta data management and operating method of memory system | |
US11392322B2 (en) | Memory system for read operation and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210326 |
|
WW01 | Invention patent application withdrawn after publication |