CN107015886A - 操作存储设备的方法和操作包括其的数据处理系统的方法 - Google Patents
操作存储设备的方法和操作包括其的数据处理系统的方法 Download PDFInfo
- Publication number
- CN107015886A CN107015886A CN201611028600.4A CN201611028600A CN107015886A CN 107015886 A CN107015886 A CN 107015886A CN 201611028600 A CN201611028600 A CN 201611028600A CN 107015886 A CN107015886 A CN 107015886A
- Authority
- CN
- China
- Prior art keywords
- page
- data
- scheme
- storage device
- piece
- 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.)
- Granted
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
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1489—Generic software techniques for error detection or fault masking through recovery blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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
- 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
- G11C2029/0409—Online test
-
- 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
- G11C2029/0411—Online error correction
-
- 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
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储设备包括排列为页和块的多个存储单元,每页包括一行存储单元并且每块包括多页存储单元。该存储设备包括包含这些项的存储器设备,诸如非易失性存储器设备。一种用于存储设备的数据恢复方法包括由存储设备接收与第一选择的数据恢复方案相对应的第一命令。基于第一命令:应用用于对多个块执行错误检测的第一目标页方案;使用第一目标页方案读取目标页以及检测每个读取的目标页中的错误的量。此外,确定第一块的目标页具有至少第一阈值量的错误,并且基于该确定,通过将第一块中存储的全部数据重定位到另一块来执行对于第一块的数据恢复。此外,确定在第二块中没有读取页具有至少第一阈值量的错误,结果维持第二块中存储的数据。
Description
对相关申请的交叉引用
本申请要求于2015年11月20日提交的第10-2015-0163604号韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入于此。
技术领域
本公开涉及一种恢复存储设备的读取性能劣化的技术,并且更具体地,涉及一种操作存储设备以恢复由于保持特性的性能劣化的方法以及操作包括该存储设备的数据处理系统的方法。
背景技术
存储数据的存储器设备可以是易失性存储器设备或非易失性存储器设备。闪速存储器设备是电可擦除可编程只读存储器(EEPROM)的示例,其中,在单次编程操作中擦除或编程多个存储单元。
对每页执行编程操作和读取操作,并且对每块执行擦除操作。闪速存储器设备包括存储单元阵列,该存储单元阵列包括多个块。块中的每个包括多个页。页中的每个可以包括多个非易失性存储单元,并且可以包括存储单元中的一行或多行。闪速存储器设备可以被分为NAND型闪速存储器设备和NOR型闪速存储器设备。
闪速存储器设备包括浮置栅极。在信息长时间存储在闪速闪速存储单元中之后,浮置栅极中存储的电荷(即,与信息有关的电荷)丢失。因此,分布特性(distributioncharacteristic)劣化。当保持持续长时间而没有被供电时,闪速存储单元的阈值电压改变。当改变后的阈值电压低于读取电压时,在读取操作期间从闪速存储单元读取的比特的值改变。结果,从闪速存储器读取的信息可能是错误比特。
当页中包括的闪速存储单元中的至少一些的阈值电压改变时,与页相对应的页数据可以包括很多错误比特,其也被描述为比特错误。当对这些闪速存储单元执行读取操作时,由于用于恢复错误比特的算法的过度执行可能发生严重的读取性能劣化,并且这样的读取性能劣化可能持续长时间。
为了避免由于对其过度执行用于恢复比特错误的算法的闪速存储单元而导致的性能劣化,可以对闪速存储单元执行数据重定位(relocation)。然而,因为在数据重定位期间性能劣化可能变得更差,所以数据重定位的准则通常是保守的。例如,当闪速存储单元的错误比特水平低于特定水平时,仅执行用于恢复错误比特的算法。在其他情况下,执行算法和数据重定位两者。一旦闪速存储单元经历数据重定位,则它们不再经历用于恢复错误比特的算法,直至它们的保持开始劣化,因此不存在初始性能劣化。
发明内容
如上所述,当由于保持问题错误比特增加时,可能对闪速存储单元过度地执行用于恢复错误比特的算法,这可能导致严重的读取操作劣化。该性能劣化可能不能恢复,直至执行数据重定位。当设备中的闪速存储单元中的大多数的状态保持在允许用于恢复错误比特的算法执行到过度的程度但不允许数据重定位的水平时,用户可能遭受持续的严重的读取性能劣化。
本发明构思的一些实施例提供了一种操作存储设备的方法以及操作包括该存储设备的数据处理系统的方法,操作存储设备的方法用于选择多个恢复方案中的一个并且执行与所选择的恢复方案相对应的恢复操作,以便恢复由于保持特性而导致的性能劣化。
一种存储设备可以包括排列为页和块多个存储单元,每页包括一行存储单元,并且每块包括多页存储单元。该存储设备可以包括包含这些项的存储器设备,诸如非易失性存储器设备。
在一些实施方式中,一种用于存储设备的数据恢复方法包括:由存储设备接收与第一选择的数据恢复方案相对应的第一命令。基于该第一命令:应用用于对多个块执行错误检测的第一目标页方案;使用第一目标页方案读取目标页,以及检测每个读取的目标页中的错误的量。此外,可以确定第一块的目标页具有至少第一阈值量的错误,并且基于该确定,通过将第一块中存储的全部数据重定位到另一块可以执行对于第一块的数据恢复。此外,可以确定在第二块中没有读取页具有至少第一阈值量的错误,结果维持第二块中存储的数据。
在一些实施方式——这些实施方式可以是与上述实施方式相同的或不同的实施方式——中,一种用于存储设备的数据恢复方法包括:在存储设备处使用第一数据恢复过程以恢复存储设备上的数据,该第一数据恢复过程使用第一数据重定位方案,该第一数据重定位方案当块的至少一页具有至少第一阈值量的错误时重定位数据的块;在存储设备处接收用于使用第二、不同的数据恢复过程的命令;以及响应于该命令,在存储设备处使用第二数据恢复过程以恢复存储设备上的数据。该第二数据恢复过程使用第二数据重定位方案,该第二数据重定位方案当块的至少一页具有至少第二阈值量的错误时重定位数据的块,该第二阈值量小于第一阈值量。
在一些实施方式——这些实施方式可以是与上述实施方式相同或不同的实施方式——中,一种用于存储器设备的数据恢复方法包括:由主机确定存储器设备的第一性能水平;基于第一性能水平,从多个数据重定位方案之中选择数据重定位方案,该多个数据重定位方案包括第一数据重定位方案和第二数据重定位方案;以及由主机发送第一命令以对存储器设备执行第一数据恢复过程。该第一数据恢复过程包括使用第一数据重定位方案,其当块的至少一页具有至少第一阈值量的错误时重定位存储器设备的数据的块。
附图说明
通过参照附图详细地描述本发明构思的示例性实施例,本发明构思的以上和其他特征和优点将变得更加明显,在附图中:
图1A是根据一些实施例的数据处理系统的框图;
图1B是根据一些实施例的存储器控制器的框图;
图2是根据一些实施例的数据恢复方法的操作的流程图;
图2A是根据一些实施例的主机的操作的流程图;
图2B是根据一些实施例的存储设备的操作的流程图;
图3是根据一些实施例的操作数据处理系统的方法的流程图;
图4是根据一些实施例的操作数据处理系统的方法的流程图;
图5是根据一些实施例的非易失性存储器设备的框图;
图6是根据一些实施例的按照第一数据恢复方案的数据重定位的准则的表格;
图7是根据一些实施例的按照第二数据恢复方案的数据重定位的准则的表格;
图8是根据一些实施例的按照第三数据恢复方案的数据重定位的准则的表格;
图9是根据一些实施例的按照第四数据恢复方案的数据重定位的准则的表格;
图10是示出在设备的正常操作期间使用的示例性数据恢复方案的表格;
图11是示出根据一些实施例的主机对于恢复方案的建议的条件的曲线图;
图12是根据一些实施例的存储设备的框图;
图13是根据一些实施例的包括非易失性存储器设备的存储设备的框图;以及
图14是根据一些实施例的包括非易失性存储器设备的数据处理系统的框图。
具体实施方式
如所公开的技术领域中传统地,就功能块、单元和/或模块而言来描述并且在附图中示出特征和实施例。本领域技术人员将认识到,这些块、单元和/或模块通过诸如逻辑电路、分立组件、微处理器、硬接线电路、存储器元件、布线连接等的电子(或光)电路物理地实施,其可以使用基于半导体的制造技术或其他加工技术形成。在通过微处理器或类似物来实施块、单元和/或模块的情况下,可以使用软件(例如,微代码)对它们编程以执行在本文中讨论的各种功能,并且它们可以可选地由固件和/或软件驱动。替代地,每块、单元和/或模块可以由专用硬件来实施,或被实施为执行一些功能的专用硬件与执行其他功能的处理器(例如,一个或多个编程的微处理器和关联电路)的组合。此外,实施例的每个块、单元和/或模块可以物理地分离为两个或更多交互和分立的块、单元和/或模块,而不背离本发明构思的范围。此外,实施例的块、单元和/或模块可以物理地组合为更多复杂的块、单元和/或模块,而不背离本发明构思的范围。
闪速存储器设备可以包括存储单元阵列,该存储单元阵列可以包括多个块。块中的每个可以包括多个页。页中的每个可以包括多个存储单元。每页可以由连接到至少一个字线的多个存储单元定义。例如,连接到字线的一行存储单元可以构成页。
在某些实施例中,提供三维(3D)存储器阵列。在存储单元阵列的一个或多个物理级中整体形成3D存储器阵列,其具有被布置在硅基板上的有源区域和与这些存储单元的操作相关联的电路,而无论这样的关联电路在这样基板之上或之内。术语“整体”意味着阵列的每级的层直接地沉积在阵列的每个下级的层上。
在某些实施例中,3D存储器阵列包括垂直NAND串,其被垂直地定向使得至少一个存储单元位于另一个存储单元之上。至少一个存储单元可以包括电荷捕获层。
下面的专利文献(其每个通过引用整体合并于此)描述了用于三维存储单元阵列的适当配置,其中,三维存储单元阵列被配置为多个级,在各级之间共享字线和/或位线:美国专利第7,679,133号;第8,553,466号;第8,654,587号;第8,559,235号;以及美国专利公布第2011/0233648号。
当在电荷(或与电荷相对应的信息)被存储在闪速存储单元的浮置栅极或电荷捕获层中之后、闪速存储单元(例如,NAND型闪速存储单元)被长时间不予管理(leave alone)(其可被描述为“断电”)时,浮置栅极或电荷捕获层中存储的电荷可能丢失或泄露。当闪速存储单元(例如,NAND型闪速存储单元)被长时间不予管理时,电子泄露,使得分布劣化。这样的特性被称为保持特性,由此保持特性可能劣化或变弱。
具有弱的保持时间的存储单元可能由于保持而产生错误比特。当对这样的存储单元反复地执行读取操作时,存储单元的阈值电压增大。
图1A是根据一些实施例的数据处理系统1的框图。数据处理系统1可以包括主机10、存储设备20以及接口30。数据处理系统1可以例如被实施为个人计算机(PC)、工作站、数据中心、互联网数据中心(IDC)、直接附加存储(DAS)系统、存储区域网(SAN)系统、网络附加存储(NAS)系统、廉价盘冗余阵列或独立盘冗余阵列(RAID)系统或移动设备,但是数据处理系统不限于这些示例。移动设备可以例如被实施为膝上计算机、蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数码相机、数码摄像机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、手持游戏控制台、移动互联网设备(MID)、可穿戴式计算机、物联网(IoT)设备、万联网(IoE)设备、无人机或电子书。
主机10可以通过接口30控制存储设备20的数据处理操作(例如,写入操作或读取操作)。主机10可以是主机控制器。主机10可以被实施为主机处理器、集成电路(IC)、主板、片上系统(SoC)、应用处理器(AP)、移动AP、网络服务器、数据服务器或数据库服务器,但是本公开不限于这些示例。
存储设备20可以通过接口30与主机10传递命令和/或数据。存储设备20可以是基于闪存的存储装置,但是不限于此。存储设备20可以被实施为固态驱动(SSD)、嵌入式SSD(eSSD)、通用闪速存储(UFS)、多媒体卡(MMC)、嵌入式MMC(eMMC)或管理式NAND,但是本公开不限于这些示例。存储设备20可以包括存储器控制器100和非易失性存储器设备200。
存储器控制器100可以控制发送至非易失性存储器设备200或从非易失性存储器设备200接收的命令和/或数据的传送或处理。存储器控制器100可以被实施为IC或SoC,但是本公开不限于这些示例。例如,存储器控制器100可以将来自主机10的数据写入到非易失性存储器设备200,并且可以将从非易失性存储器设备200读取的数据发送至主机10。存储器控制器100可以包括纠错码(ECC)引擎(未示出)。
ECC引擎可以校正要存储在非易失性存储器设备200中的数据和/或已经存储在非易失性存储器设备200中的数据中的错误。ECC引擎的纠错可以使用硬件方法(例如,使用低密度奇偶校验(LDPC)码的方法)或软件方法(例如,使用用于恢复错误比特的算法的方法)执行,但是本发明构思不限于这些示例。ECC引擎可以包括ECC解码器(未示出),其使用硬判定数据和软判定数据中的任一或两者来解码。
存储器控制器100可以使用预定算法执行纠错。使用预定算法的纠错可以包括改变存储单元的读取电平并且找到最佳读取电平的方法。当使用预定算法校正错误时,主机可以使用不同读取电平对由于长时间不予管理(leave alone)而分布性能已经劣化的存储设备反复地执行读取操作,以便找到最佳读取电平。读取电平可以包括至少一个电压电平,基于该电压电平,从非易失性存储器设备200中包括的多个存储单元读取硬判定数据或软判定数据。最佳读取电平可以是与阈值电压的分布的谷底相对应的电压。ECC引擎可以实施在存储器控制器100内部的任何地方。
接口30可以是主机10与存储设备20之间的命令和/或数据的传输路径。接口30可以被实施为串行高级技术附件(SATA)接口、SATA快速(SATAe)接口、SAS(串行附接的小型计算机系统接口(SCSI))、外围组件互连快速(PCIe)接口、非易失性存储器快速(NVMe)接口、高级主机控制器接口(AHCI)或MMC接口,但是本发明构思不限于这些示例。接口30可以发送电信号或光信号。
图1B是根据本发明构思的一些实施例的存储器控制器100的框图。参照图1B,存储器控制器100可以包括缓冲存储器11、中央处理单元(CPU)12、主机接口13、非易失性存储器接口14、ECC块15和总线架构16。
缓冲存储器11可以存储要由CPU 12处理的数据或已经由CPU 12处理的数据。缓冲存储器11可以是主存储器并且可以被实施为NAND型闪速存储器。尽管在图1B所示的实施例中缓冲存储器11被放置在存储器控制器100内,但是缓冲存储器11可以被放置在存储器控制器100之外。缓冲存储器11可以存储恢复方案信息和目标页信息。缓冲存储器11可以通过只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)、缓冲器、缓冲存储器、高速缓存或紧耦合存储器(TCM)实施,但是本公开不限于这些示例。
CPU 12可以生成用于控制存储设备20的写入操作的写入请求以及用于控制存储设备20的读取操作的读取请求。CPU 12可以通过总线架构(或总线)16与主机接口13或非易失性存储器接口14传递命令和/或数据。写入请求可以包括写入地址并且读取请求可以包括读取地址。CPU 12可以包括至少一个核心。请求可以是命令。
主机接口13可以将由用户输入的信息改变为要输入至缓冲存储器11或CPU 12的数据的格式,并且可以通过总线架构16将改变后的格式的数据发送至缓冲存储器11或CPU12。非易失性存储器接口14可以改变要发送至存储设备20的命令和/或数据的格式,并且可以将改变后的格式的命令和/或数据通过接口30发送至存储设备20。非易失性存储器接口14还可以改变从存储设备20接收的响应和/或数据的格式,并且可以接收改变后的格式的响应和/或数据。
主机接口13可以被称为主机接口逻辑(或接口逻辑电路),并且非易失性存储器接口14可以被称为非易失性存储器接口逻辑(或非易失性存储器接口逻辑电路)。非易失性存储器接口14可以包括发送和接收命令和/或数据的收发器。非易失性存储器接口14的结构和操作可以被配置为与接口30的结构和操作兼容。
ECC块15可以校正要发送至存储设备20的数据和/或从存储设备20接收的数据中的错误。ECC块15可以实施在存储器控制器100内部的任何地方。
总线架构16可以允许命令和/或数据在缓冲存储器11、CPU 12、主机接口13、非易失性存储器接口14和ECC块15之间移动。总线架构16可以被实施为高级微控制器总线架构(AMBA)、高级高性能总线(AHB)、高级外围总线(APB)、高级可扩展接口(AXI)、高级系统总线(ASB)、AXI一致性扩展(ACE)或其组合,但是本发明构思不限于这些示例。
图2是根据一些实施例的用于存储设备的数据恢复方法的操作的流程图。数据恢复方法可以在当正常的读取、写入或擦除操作没有正在发生时的操作时段期间执行。在其期间执行数据恢复方法的时段可以被称为数据恢复操作模式,与用于存储设备的正常读取操作模式相对。图2所示的各种步骤可以按照所示的次序发生,或可以按照与下面的说明一致的其他次序发生。此外,某些步骤可以由不同实体(例如,用户、控制器、主机等)执行。
在步骤202中,确定存储设备的性能。存储设备可以是例如上述存储设备中的一个。存储设备可以包括存储单元阵列,该存储单元阵列包括被排列为页和块的多个存储单元,每页包括一行或多行存储单元,并且每块包括多页存储单元。存储设备的性能可以例如通过对存储设备执行采样读取操作以便读取存储设备的一个或多个页来实现。采样读取操作可以例如由用户发起,或由主机自动地发起。结果,主机可以获得操作特性形式的采样读取操作的结果,其可以用于确定性能水平。例如,性能水平可以反映读取操作的速度。尽管上面说明了简单的读取操作,但是可以使用更复杂的评估(诸如多个读取操作)以确定存储设备的性能。
在步骤204中,基于所确定的性能选择恢复方案。在存储设备的数据恢复操作模式期间使用恢复方案以恢复数据。例如,如果性能在第一范围内(例如,速度在特定上限值与下限值之间,或在特定阈值速度之上,或在特定阈值速度之下),则可以使用第一恢复方案;如果性能在第二范围中,则可以使用第二恢复方案;以及如果性能在第三范围中,则可以使用第三恢复方案,等等。可以由审阅测试的结果(例如,所确定的性能水平)的用户选择恢复方案,或可以由主机基于测试的结果自动地选择恢复方案。例如,主机可以被编程为:执行测试;并且然后作为测试期间确定的性能水平的结果,选择恢复方案。下面结合图6至图9进一步讨论不同的可选择的恢复方案。这些恢复方案可以更具体称为数据重定位方案,下面也将进一步描述。
在步骤206中,选择目标页方案。例如,可以由输入信息至主机的用户选择目标页方案,主机然后基于用户输入的信息选择方案,或者可以由主机自动地选择方案。可以作为恢复方案选择处理的一部分来选择目标页方案,或可以单独地选择目标页方案。因此,可以在恢复方案的选择之前、与恢复方案的选择同时或在恢复方案的选择之后,选择目标页方案。
目标页方案指代在对于存储设备的数据恢复过程的测试或错误检测阶段期间将访问(例如,读取)存储设备的哪些页。例如,目标页方案可以指定读取的页的数目以及要读取哪些页。例如,第一目标页方案可以读取/测试在存储设备的每个块中的每个页。第二目标页方案可以读取/测试存储设备的每个块的仅仅一个代表页或页的子集,而不是存储设备的每个块中的全部页。第三目标页方案可以随机选择存储设备内的页用于读取/测试。
在步骤208中,应用所选择的目标页方案,并且对所选择的页执行错误检测。例如,对于每个测试的页,可以确定该页中发生的错误的量。
在步骤211中,对于块的每个所测试的页,根据使用的数据恢复方案来确定测试的页是否具有保证(warrant)数据重定位的错误的量。例如,可以将错误的量与阈值量比较,该阈值量可以基于所选择的数据恢复方案设置。例如,一个数据恢复方案可以将该阈值设置为高的错误数目,其他数据恢复方案可以将阈值设置为较低的错误数目。错误的数目可以指代比特错误的数目,诸如页内具有比特错误的存储单元的数目。
在步骤211中为是,并且在步骤212中如果所测试的页具有等于或高于阈值量的错误数目,则可以将页所位于的整个块重定位到新的块。以此方式,对于第一块的数据恢复包括将第一块的数据重定位到另一块。此外,因为重定位整个第一块,所以在一些实施例中,可以跳过该块的任何进一步测试,即使所选择的目标页方案否则将会测试该块的更多页也是如此。
在步骤211中为否,并且在步骤214中如果根据在数据重定位过程期间正使用的数据重定位方案所测试的页不具有保证数据重定位的足够数目的错误(例如,页中的错误的数目低于阈值量),则基于目标页方案确定该块中是否剩余有任何页以用于测试/错误检测。如果否(步骤214为否,并且步骤216),则在该数据重定位过程期间,都不重定位该页所位于的块的数据。处理然后继续至步骤218,其中确定错误检测是否完成。如果否,例如,根据所选择的目标页方案存在更多块要测试,则数据重定位过程继续至步骤219以测试下一个不同的块,并且进行至步骤208以用于下一块中的下一个目标页(例如,与已经测试的第一块相比的第二块)。
如果根据目标页方案块内剩余有更多页要测试(步骤214,是),则测试下一页(步骤215,211),并且处理继续。
步骤208至218的一个循坏可以描述为数据恢复过程,或者数据重定位过程。例如,数据重定位过程可以使用单个恢复方案,对于整个存储设备或存储设备的一部分执行数据重定位。
然后,在步骤218中为是,确定错误检测以及因此的使用所选择的恢复方案的数据重定位完成。
接下来,在步骤221中,确定性能是否已经恢复。例如,基于期望的性能阈值(例如,步骤202),确定诸如数据读取速度的性能在阈值之上还是之下。如果在阈值之上,则数据恢复方法结束。如果在阈值之下,则可以选择不同的重定位方案(步骤204),并且可以执行第二数据重定位过程(例如,步骤208至218)。对于第二数据重定位过程可以可选地选择不同目标页方案(步骤206)。替代地,可以选择与在第一数据重定位过程期间使用的相同的目标页方案。
作为示例,在第一数据恢复过程期间可以使用利用第一阈值量的错误的数据恢复方案,并且在第二数据恢复过程期间可以使用具有比第一阈值数目小的第二阈值量的错误的第二阈值方案。结果,在一个实施例中,第一数据恢复过程重定位其至少一页具有第一阈值量的错误的数据的块,并且不重定位没有页具有比第一阈值量的错误多的第一阈值量的错误的数据的块。第二数据恢复过程重定位其至少一页具有第二阈值量的错误的数据的块,并且不重定位没有页具有第二阈值量的错误、第一阈值量的错误或多于第一阈值量的错误的数据的块。
下面将结合其他各图描述与图2所示的各个步骤有关的进一步细节。为了便于讨论,在本文中可以使用术语“存储块”以指代存储器的存储单元的物理块。术语“数据块”可以用于指代例如在存储块中存储的数据的块。本文中描述的某些操作将数据块从一个存储块重定位至另一存储块。此外,在第一存储块中的数据的比特具有错误的情况下,重定位至第二存储块的数据可以在被写入到第二存储块之前被校正,因此其可以被称为比特校正后的数据(即,比特校正后的数据块)。
图2A是根据一些实施例的主机10的示例性操作的流程图。参照图2A,在操作S110中,主机10可以确认存储设备20的性能。例如,主机10可以读取存储设备20的随机块以便确认存储设备20的性能。随机块可以是从存储设备20中包括的全部块之中随机地选择的至少一个块,并且可以包括多页。例如,主机10可以读取随机块中包括的页。主机10可以将对于随机块的读取命令发送至存储设备20。主机10可以基于存储设备20读取随机块所花费的读取时间,生成包括关于读取操作的劣化程度的信息的性能确认结果。
在操作S120中,主机10可以基于性能确认结果,从多个恢复方案之中选择恢复方案。主机10可以通过基于性能确认结果连续执行读取操作,确定性能是否将恢复。主机10可以基于确定结果向用户建议多个恢复方案中的至少一个。在图11所示的实施例的说明中将更详细包括该操作的示例。
主机10可以提供用户界面(UI),其向用户建议恢复方案中的至少一个。主机10可以根据用户的选择而选择恢复方案中的一个。替代地,主机10可以被编程为基于性能评估的结果自动地选择恢复方案。多个恢复方案可以包括第一恢复方案、第二恢复方案、第三恢复方案等。
一个恢复方案可以是削弱在存储设备20的数据恢复操作模式期间的读取操作期间的数据重定位的执行条件的方案。在此情况下,当使用第一恢复方案时可以更加频繁地执行数据重定位。第二恢复方案可以是增强在存储设备20的数据恢复操作模式期间的读取操作期间的数据重定位的执行条件的方案。在此情况下,与使用第一恢复方案时相比,当使用第二恢复方案时可以更不频繁地执行数据重定位。与第一恢复方案相关联的数据重定位的更加频繁的执行可以与更小阈值量的比特错误相对应,诸如以上所讨论地,而与第二恢复方案相关联的数据重定位的更不频繁的执行可以与更大阈值量的比特错误相对应。下面将参照图6至图9进一步详细描述不同恢复方案。
主机10还可以向用户建议多个目标页方案中的至少一个。主机10可以提供向用户建议目标页方案中的至少一个的UI。多个目标页方案可以包括例如第一页方案、第二页方案和第三页方案。
第一页方案可以用于将每个块中包括的页的全部设置为目标页。第二页方案可以用于将每个块中包括的至少一个参考页——但不是每页——设置为目标页。第二页方案中的恢复时间可以短于第一页方案中的恢复时间,尽管第一页方案可以更加精确。第三页方案可以在整个存储器设备之中选择随机页作为目标页。
主机10可以根据用户的选择而选择目标页方案中的一个。替代地,主机10可以自动地选择目标页方案中的一个。主机10可以生成关于所选择的恢复方案的恢复方案信息以及关于所选择的目标页方案的目标页信息。将参照图5更详细描述其示例。
在操作S130中,主机10可以将恢复模式命令ROC发送至存储设备20。恢复模式命令ROC可以包括恢复方案信息和目标页信息。恢复方案信息可以是与第一恢复方案、第二恢复方案或另一不同恢复方案相对应的信息。例如,目标页信息可以是与第一目标页方案、第二目标页方案或第三目标页方案相对应的信息。
在操作S140中,主机10可以将恢复确认命令RCC发送至存储设备20,并且可以从存储设备20接收恢复处理消息RPM。恢复处理消息RPM可以包括指示朝向恢复的进展程度的信息。例如,当恢复完成50%时,指示50的信息可以被包括在恢复处理消息RPM中。当恢复完成100%时,指示100的信息可以被包括在恢复处理消息RPM中。
在操作S150中,主机10可以基于从存储设备20接收的恢复处理消息RPM来确定存储设备20的恢复是否完全完成。例如,当接收包括指示100的信息的恢复处理消息RPM时,主机100可以确定存储设备20的恢复已经完全完成。然而,当接收包括指示多于100的数目的信息的恢复处理消息RPM时,主机10可以确定存储设备20的恢复没有完成。
当确定存储设备20的恢复还没有完成时,主机10可以返回到操作S140以发送恢复确认命令RCC并且接收恢复处理消息RPM。当确定存储设备20的恢复没有完成时,主机10可以等待预定时间段,然后将恢复确认命令RCC发送至存储设备20并且从存储设备20接收恢复处理消息RPM。因此,主机10反复地向存储设备20发送恢复确认命令RCC,直至存储设备20的恢复完成,以便检查存储设备20的恢复的进展。
然而,当确定存储设备20的恢复已经完成时,过程前进至操作S160。在操作S160中,主机10可以确定存储设备20的性能是否已经恢复(例如,性能是否在期望的阈值性能值之上)。当确定存储设备20的性能没有恢复时,主机10可以返回到操作S120以选择另一恢复方案(例如,不同的恢复方案)。因此,主机10反复地发送恢复模式命令ROC,直至存储设备20的读取操作的性能恢复,以便恢复存储设备20的读取操作的性能。
在操作S170中,主机10可以在存储设备20的恢复期间确定是否停止恢复模式。例如,主机10可以为用户提供询问是否停止恢复模式的UI。主机10可以根据用户的选择决定停止恢复模式。尽管在图2A所示的实施例中在操作S140和S150之间执行操作S170,但是本发明构思不限于当前实施例。可以在主机10在操作S130中将恢复模式命令ROC发送至存储设备20之后并且在主机10在操作S160中确定性能是否已经恢复之前的任何时刻执行操作S170。当主机10决定不停止存储设备20的恢复模式时,过程进行至操作S150。
当主机10决定停止存储设备20的恢复模式时,在操作S180中,主机10可以将恢复停止命令RSC发送至存储设备20。具体地,当主机10决定停止恢复模式时,主机10可以将恢复停止命令RSC发送至存储设备20,并且可以从存储设备20接收恢复停止消息RSM。恢复停止消息RSM可以包括指示恢复的进展程度的信息。主机10可以基于恢复停止消息RSM确定存储设备20的性能是否已经恢复。
图2B是根据一些实施例的存储设备20的示例性操作的流程图。为了避免冗余,将省略与图2A所示的主机10的操作的描述重叠的细节。
参照图2B,在操作S210中,存储设备20可以确认其性能。例如,存储设备20可以读取随机块以便确认性能。具体地,存储设备20可以从主机10接收对于随机块的读取命令。
在操作S220中,存储设备20可以从主机10接收恢复模式命令ROC。在操作S220中,存储设备20可以设置或改变目标页方案和数据重定位方案。数据重定位方案可以是关于在什么条件下将执行数据重定位的方案。存储设备20可以根据目标页信息动态地改变目标页方案,并且可以根据恢复方案信息动态地改变数据重定位方案。“动态地改变”可以预示根据诸如目标页信息和恢复方案信息的信息改变为某个条件,并且在一些实施方式中可以自动地发生。
例如,当恢复方案信息与第一恢复方案相对应时,存储设备20可以基于第一恢复方案来改变数据重定位方案,而当恢复方案信息与二恢复方案相对应时,存储设备20可以基于第二恢复方案来改变数据重定位方案。第一恢复方案可以用于削弱数据重定位条件,并且第二恢复方案可以用于增强数据重定位条件。存储设备20可以按照与上述的方式类似的方式设置或改变目标页方案。
在操作S230中,存储设备20可以输入数据恢复操作模式。稍后将参照图6至图9详细描述该操作。
在操作S240中,存储设备20可以从主机10接收恢复确认命令RCC,并且可以将恢复处理消息RPM发送至主机10。操作S240可以与操作S140相同。
在操作S250中,存储设备20可以确定恢复是否已经完成(例如,确定是否已经根据目标页方案检查全部块)。当确定恢复没有完成时,存储设备20可以返回到操作S240以接收恢复确认命令RCC并且发送恢复处理消息RPM。
在操作S260中,存储设备20可以确定其性能是否已经恢复。当确定性能没有恢复时,存储设备20可以返回到操作S220以从主机接收ROC,并且例如使用不同的目标页方案和/或数据重定位方案来执行另一数据恢复过程。
在操作S270中,存储设备20可以确定是否已经从主机10接收恢复停止命令RSC。当已经接收恢复停止命令RSC时,在操作S280中,存储设备20可以停止数据恢复操作模式。在停止数据恢复操作模式之后,存储设备20可以将恢复停止消息RSM发送至主机10。
存储设备20的操作可以与主机10的操作相关。因此,虽然这里没有描述,但是可以使用典型的方法在存储设备20与主机10之间传送命令和/或消息。
图3是根据一些实施例的操作数据处理系统1的示例性方法的流程图。参照图3,在操作S110中,主机10可以读取存储设备20的随机块以确认存储设备20的性能,并且可以生成性能确认结果。在操作S120中,主机10可以基于性能确认结果来选择多个恢复方案中的一个。在操作S130和S220中,主机10可以将恢复模式命令ROC发送至存储设备20。恢复模式命令ROC可以指定在数据恢复过程期间对于存储设备20使用的数据重定位方案和目标页方案。
在操作S230中,存储设备20可以基于从主机10接收的恢复模式命令ROC,设置或改变目标页方案和数据重定位方案。在操作S235中,存储设备20可以在数据恢复操作模式期间执行数据恢复方法,该数据恢复方法与恢复模式命令ROC相对应。存储设备20的数据恢复过程可以包括设置目标页并且对目标页执行读取操作。具体地,存储设备20可以设置目标页,对目标页执行读取操作,以及根据恢复方案、在恢复模式中根据错误比特水平(例如,多个所测试的页的每个测试页中的比特错误的数目)来执行数据重定位。
存储设备20可以基于恢复模式命令ROC中包括的目标页信息设置目标页。多个目标页方案可以包括第一页方案、第二页方案和第三页方案。
第一页方案可以是将每个块中包括的页的全部设置为目标页的方案。根据第一页方案,存储设备20可以对每个块中包括的页的全部执行读取操作。因为对全部页执行读取操作,所以花费长时间,但是性能恢复更加精确。
第二页方案可以是将存储设备20中的块中的每个所包括的至少一个参考页设置为目标页的方案。根据第二页方案,存储设备20可以对每个块中包括的至少一个参考页执行读取操作。至少一个参考页可以是表示包括参考页的块的特性的页。
第三页方案可以是将存储设备20中包括的块中的每个中包括的多个页之中的随机页设置为目标页的方案。根据第三页方案,存储设备20可以对从每个块中包括的页之中随机地选择的目标页执行读取操作。因为对随机页执行读取操作,所以花费短时间,但是对性能恢复的精度存在限制。
存储设备20还可以根据按照在恢复模式命令ROC中包括的恢复方案信息所选择的恢复方案,对目标页执行读取操作。多个恢复方案可以包括第一恢复方案、第二恢复方案和第三恢复方案。
第一恢复方案可以是削弱在存储设备20的读取操作期间的数据重定位的执行条件的方案。例如,在第一恢复方案中可以更加频繁地执行数据重定位。第二恢复方案可以是加强在存储设备20的读取操作期间的数据重定位的执行条件的方案。例如,与第一恢复方案相比,在第二恢复方案中,可以更不频繁地执行数据重定位。第三恢复方案可以是进一步加强在存储设备20的读取操作期间的数据重定位的执行条件的方案。例如,在一个实施例中,第三恢复方案在存储设备20的读取操作期间不执行数据重定位。不同的恢复方案可以基于执行数据从第一块到第二块的重定位需要检测的错误的不同阈值量。还可以实施除了第一方案至第三方案以外的额外的方案。下面将参照图6至图9详细描述示例方案。当接收恢复模式命令ROC时,存储设备20可以将恢复模式消息ROM发送至主机10。
如上所述,在操作S140和S250中,主机10可以反复地向存储设备20发送恢复确认命令RCC,并且从存储设备20接收恢复处理消息RPM,直至恢复完成。恢复处理消息RPM可以包括指示恢复的进展程度的信息。例如,当恢复完成50%时,指示50的信息可以被包括在恢复处理消息RPM中。当恢复完成100%时,指示100的消息可以被包括在恢复处理消息RPM中。因此,可以由存储设备20执行每个单独的数据恢复过程(例如,使用所选择的目标页方案和数据重定位方案来测试存储设备的全部块),而不受主机10的进一步影响。例如,数据恢复过程可以由存储器控制器100基于在存储器控制器100处从主机10接收的命令来控制,该命令指示目标页方案和数据重定位方案。可以由在执行对存储器设备200的访问的存储器控制器100处的控制电路执行错误检测以及数据重定位。
主机10可以基于从存储设备20接收的恢复处理消息RPM来确定存储设备20的恢复是否已经完成。例如,当接收包括指示已经100%完成恢复的信息的恢复处理消息RPM时,主机10可以识别恢复已经完成。
此后,在操作S160和S260中,主机10可以基于恢复处理消息RPM来确定性能恢复是否已经完成。主机10可以使用与确认存储设备20的性能的方法相同的方法来确定性能恢复的完成。
图4是根据本发明构思的其他实施例的操作数据处理系统1的方法的流程图。为了避免冗余,说明将关注图4所示的流程图与图3所示的流程图之间的差别。
主机10可以在存储设备20的数据恢复操作模式期间决定是否停止恢复模式。主机10可以为用户提供询问是否停止存储设备20的数据恢复操作模式的UI。主机10例如可以根据用户的选择来确定是否停止存储设备20的数据恢复操作模式。替代地,主机10自身可以自动地中断数据恢复操作模式。
当存储设备20的数据恢复操作模式要停止时,主机10可以将恢复停止命令RSC发送至存储设备20。具体地,当主机10决定停止数据恢复操作模式时,主机10可以将恢复停止命令RSC发送至存储设备20,并且从存储设备20接收恢复停止消息RSM。当存储设备20接收恢复停止命令RSC时,其可以停止数据恢复操作模式并且可以将恢复停止消息RSM发送至主机10。
恢复停止消息RSM可以包括指示恢复的进展程度的信息。主机10可以基于恢复停止消息RSM来确定性能是否已经恢复。
图5是根据一些实施例的非易失性存储器设备200的框图。参照图5,非易失性存储器设备200可以包括第一块至第n块BLOCK1至BLOCKn或210至230,其中“n”是自然数。第一块BLOCK1至第n块BLOCKn中的每个可以包括第一页Page1至第m页Pagem,其中“m”是自然数。
第一页Page1至第m页Pagem中的每个可以包括多个存储单元。每页可以由连接到至少一个字线的多个存储单元定义。每页可以包括一行存储单元。例如,在一些实施例中,每页可以仅仅包括一行存储单元。在其他实施例中,每页可以包括多于一行存储单元。
多个目标页方案可以包括第一页方案、第二页方案和第三页方案。第一页方案可以是将存储设备20中包括的非易失性存储器设备200中的全部块BLOCK1至BLOCKn中的每个中包括的页Page1至Pagem中的全部设置为目标页的方案。根据第一页方案,存储设备20可以对全部块BLOCK1至BLOCKn中的每个中包括的页Page1至Pagem中的全部执行读取操作。
第二页方案可以是将存储设备20中包括的非易失性存储器设备200中的全部块BLOCK1至BLOCKn中的每个中包括的至少一个参考页设置为目标页的方案。根据第二页方案,存储设备20可以对全部块BLOCK1至BLOCKn中的每个中包括的至少一个参考页执行读取操作。至少一个参考页可以是与3的倍数相对应的页(例如,Page3k,其中0<k≤a,满足m/3的自然数),但是本发明构思不限于当前实施例。至少一个参考页可以是表示包括至少一个参考页的块BLOCK1至BLOCKn中的每个的特性的页。块BLOCK1至BLOCKn中的每个中包括的参考页的数目可以限制为3。例如,当每块包括384页时,与第一页方案相比,在第二页方案中存储设备20可以至少快100倍地执行恢复模式。
第三页方案可以是将存储设备20中包括的块BLOCK1至BLOCKn中的每个中包括的页Page1至Pagem之中的随机页设置为目标页的方案。例如,第三页Page3可以被设置为第一块BLOCK1或210中的目标页,第五页Page5可以被设置为第二块BLOCK2或220中的目标页,以及第m页Pagem可以被设置为第n块BLOCKn或230中的目标页。
图6是根据本发明构思的一些实施例的第一恢复方案中的数据重定位的准则的表格。图7是根据本发明构思的一些实施例的第二恢复方案中的数据重定位的准则的表格。图8是根据本发明构思的其他实施例的第三恢复方案中的数据重定位的准则的表格。图9是根据本发明构思的一些实施例的第四恢复方案中的数据重定位的准则的表格。
参照图6至图9,已经根据所选择的恢复方案进入数据恢复操作模式的存储设备20可以基于图6至图9所示的表格对目标页执行读取操作。通常,可以(根据目标页方案)对存储设备20中的每页执行读取操作,并且可以对每块执行数据重定位方案。
参照图6,第一恢复方案可以削弱存储设备20的恢复模式期间的数据重定位的条件。例如,与任何其他恢复方案相比,在第一恢复方案中可以更加频繁地执行数据重定位。
当多个目标页之中的由存储设备20已经读取的页中的比特错误的数目在第一错误范围ER1中时,存储设备20可以使用诸如硬件方法(例如,使用LDPC码的方法)的第一校正方法来校正页中存储的数据。当比特错误的数目在第二错误范围ER2、第三错误范围ER3或第四错误范围ER4中时,存储设备20可以使用诸如软件方法(例如,使用用于恢复错误比特的算法的方法)的第二校正方法来校正已经读取的页中存储的数据,并且可以对包括该页的块执行数据重定位。
数据重定位可以包括重写操作。数据重定位可以是将现有数据写入到与已经存储数据的区域(例如,存储块)不同的区域的操作。重写操作可以是将诸如第一存储块中存储的数据块的现有数据从第一存储块重写到第二存储块。例如,当存储设备20对图5所示的第一块BLOCK1执行数据重定位时,第一块210中包括的页Page1至Pagem中存储的数据可以写入到第二块BLOCK2至第n块BLOCKn中的任一个中包括的多个页。如从图6可见,用于执行重定位的页中的错误(例如,比特错误)的阈值量是第二水平(例如,其可以是两个比特错误)。如果在数据恢复过程期间在读取/测试该页的同时确定的错误的量是该水平或更高,则与测试页相对应的块中的全部数据被重定位至不同的块。如果在根据目标页方案测试块的全部页之后它们中的全部都没有第二水平或更高水平的错误,则在数据恢复操作模式期间将不重定位块中的数据。
参照图7,第二恢复方案可以增强存储设备20的恢复模式期间的数据重定位的条件。例如,与第一恢复方案相比,在第二恢复方案中可以更不频繁地执行数据重定位。为了避免冗余,说明将关注图7所示的表格与图6所示的表格之间的差别。
当多个目标页之中的由存储设备20已经读取的页中的比特错误的数目在第一错误范围ER1中时,存储设备20可以使用诸如硬件方法(例如,使用LDPC码的方法)的第一校正方法来校正页中存储的数据。当比特错误的数目在第二错误范围ER2中时,存储设备20可以使用诸如软件方法(例如,使用用于恢复错误比特的算法的方法)的第二校正方法来校正已经读取的页中存储的数据。当比特错误的数目在第三错误范围ER3或第四错误范围ER4中时,存储设备20可以使用诸如软件方法(例如,使用用于恢复错误比特的算法的方法,其可以与第二校正方法相同)的第三校正方法来校正已经读取的页中存储的数据,并且可以对包括该页的块执行数据重定位。
如从图7可见,用于执行重定位的页中的错误(例如,比特错误)的阈值量是第三水平(例如,其可以是三个比特错误)。如果在数据恢复过程期间读取/测试该页的同时确定的错误的量是第三水平或更高,则与测试页相对应的块中的全部数据被重定位至不同的块。如果在根据目标页方案测试块的全部页之后它们都没有第三水平或更高水平的错误,则在数据恢复操作模式期间将不重定位块中的数据。
参照图8,第三恢复方案可以进一步增强存储设备20的恢复模式期间的数据重定位的条件。例如,与第一恢复方案或第二恢复方案相比,在第三恢复方案中可以更不频繁地执行数据重定位。为了避免冗余,说明将关注图8所示的表格与图6和图7所示的表格之间的差别。
当多个目标页之中的由存储设备20已经读取的页中的比特错误的数目在第一错误范围ER1中时,存储设备20可以使用诸如硬件方法(例如,使用LDPC码的方法)的第一校正方法来校正页中存储的数据。当比特错误的数目在第二错误范围ER2或第三错误范围ER3中时,存储设备20可以使用诸如软件方法(例如,使用用于恢复错误比特的算法的方法)的第二校正方法来校正已经读取的页中存储的数据。当比特错误的数目在第四错误范围ER4中时,存储设备20可以使用诸如软件方法(例如,使用用于恢复错误比特的算法的方法,其可以与第二校正方法相同)的第三校正方法来校正已经读取的页中存储的数据,并且可以对包括该页的块执行数据重定位。
如从图8可见,用于执行重定位的页中的错误(例如,比特错误)的阈值量是第四水平(例如,其可以是四个比特错误)。如果在数据恢复过程期间读取/测试该页的同时确定的错误的量是第四水平或更高,则与测试页相对应的块中的全部数据被重定位至不同的块。如果在根据目标页方案测试块的全部页之后它们都没有第四水平或更高水平的错误,则在数据恢复操作模式期间将不重定位块中的数据。
尽管这里关于特定页中的错误的数目给出了示例,但是在一些实施例中,可以确定具有错误的阈值量的页的数目并且将其用作用于确定是否执行数据重定位的阈值。例如,可以设置某些数据恢复方案以与上述方式类似的方式基于阈值执行数据重定位,但是其中,该阈值是块中具有错误的页数,或块中具有至少阈值数目的错误的页数。
参照图9,第四恢复方案可以在存储设备20的恢复模式期间不执行数据重定位。例如,在第三恢复方案中可以不执行数据重定位。为了避免冗余,说明将关注图9所示的表格与图6所示的表格之间的差别。
当多个目标页之中由存储设备20已经读取的页中的比特错误的数目在第一错误范围ER1中时,存储设备20可以使用诸如硬件方法(例如,使用LDPC码的方法)的第一校正方法来校正页中存储的数据。当比特错误的数目在第二错误范围ER2、第三错误范围ER3或第四错误范围ER4中时,存储设备20可以使用诸如软件方法(例如,使用用于恢复错误比特的算法的方法)的第二校正方法来校正已经读取的页中存储的数据。
在一些实施例中,第一恢复方案可以与第一目标页方案混合(例如,每个块中的全部页被指定为目标页);第二恢复方案或第三恢复方案可以与第二目标页方案混合(例如,每块中的至少一个但少于全部的页被指定为目标页);以及第四恢复方案可以与第三目标页方案混合(随机页被指定为目标页)。
在其他实施例中,可以独立地选择恢复方案和目标页方案,并且可以根据各个方案执行恢复模式。例如,当存在第一恢复方案至第三恢复方案以及第一页至第三页方案时,存储设备20可以以总共12(3*4)种方式执行数据恢复操作模式。
尽管给出诸如一个至四个的错误的数目作为示例而在上面描述了第一水平至第四水平的比特错误的示例,但是图6至图9还表示第一错误范围ER1至第四错误范围ER4中的每个可以是比特错误水平的范围。比特错误水平可以表示为每存储在页中的数据的比特错误的数目。例如,第一错误范围ER1可以是至少0%并且小于40%;第二错误范围ER2可以是至少40%并且小于80%;第三错误范围ER3可以是至少80%并且小于90%;以及第四错误范围ER4可以是至少90%并且高达100%,但是本发明构思不限于该示例。因此,错误的阈值量可以指代错误的绝对数目(例如,一个、两个、三个、四个等比特错误)或每存储在页中的数据的错误的百分比,诸如比特错误的数目与页中存储的数据的比率(例如,高达40%、40%至80%、80%至90%以及高于90%,每数据的比特错误)。
图10是示出根据一个实施例的在正常读取操作期间的数据恢复的示例的表格。如可见地,在一个实施例中,在正常读取操作期间,当页包括第一错误范围(ER1)中的错误量时,使用诸如利用LDPC的错误校正的硬件方法来校正错误。当页包括第二错误范围或第三错误范围(ER2或ER3)中的错误量时,使用软件方法——例如使用算法——来校正错误。当页包括第四错误范围(ER4)中的错误量时,使用软件方法——例如使用算法——来校正错误,然后将包括该页的数据的块重写到新的存储块。
图11是示出根据本发明构思的一些实施例的主机对于恢复方案的建议的示例性条件的曲线图。如上所述,当长时间没有对存储设备20供电时,存储设备20的读取性能可能劣化。
测量存储设备20的性能的主机10的操作可以包括读取存储设备20中的随机块。当存储设备20基于V-NAND时,由于读取操作期间的WL浮置性能可能提高。WL浮置可以指代在已经对V-NAND闪速存储单元反复地执行读取操作之后性能恢复正常的现象。
因此,当主机10测量存储设备20的性能时,如图11所示,可能发生性能逐渐变得更好的性能恢复效果。具体地,图11示出随时间的性能劣化和随后的恢复的量。y轴表示性能劣化的量,其中顶部水平线反映100%正常性能(例如,预期的正常数据存取速度的100%)。x轴表示时间,其中左边的初始时间是断电,并且垂直虚线表示通电发生的时间。如图11所示,在断电期间,性能逐渐劣化。然后,从通电开始,由于V-NAND闪速存储器的以上属性,性能逐渐改进。例如,在正常读取操作期间,自动地恢复一些单元,例如,重新获得丢失的电荷。这些单元将具有更好的性能或将导致它们关联的页/块具有更好的性能,并且可以被描述为具有更好保持能力。
通常,对于不同的单元/页,所恢复的电荷以及因此的性能将随时间以某个速率提高。具有低自动恢复速率(低于具有第一斜率的线)的页/块可能继续具有更多错误,因此主机可以对导致很多重定位的那些页建议恢复方案。这将对应于在通电之后具有如图11中的底部线所示的最低数据保持改进的页/块。如可见地,该底部线在斜率第一阈值线以下。例如,对于这些页/块可以使用诸如图6或图7所示的恢复方案。
在通电之后具有高自动恢复速率——诸如图11所示的顶部线——的页/块可以随时间具有更少错误,因此主机可以对导致较少重定位的页建议恢复方案。如可见地,该顶部线在斜率第二阈值线以上。例如,对于这些页/块可以使用诸如图8或图9所示的恢复方案。
在两条斜线之间的页/块可以具有中等恢复轮廓(profile),因此主机可以对导致在斜率第二阈值线以上的页/块的量与斜率第一阈值线以下的页/块的量之间的中等的重定位量的那些页建议恢复方案。例如,对这些页/块可以使用诸如图7或图8所示的恢复方案。
因此,根据不同页或块的性能恢复属性可以建议不同的数据恢复方案。例如,当性能恢复速度(或平均斜率)等于或低于第一阈值时,主机10可以建议削弱数据重定位的条件的第一恢复方案,使得更加频繁地执行数据重定位。当性能恢复速度至少为第一阈值并且至多为第二阈值时,主机10可以建议增强数据重定位的条件的第二恢复方案,使得与第一恢复方案相比更不频繁地执行数据重定位。此时,第二阈值可以大于第一阈值。当性能恢复速度等于或高于第二阈值时,主机10可以建议第三恢复方案,其中与第二恢复方案相比甚至更不频繁地执行数据重定位,或者其中不执行数据重定位。
如上所述,主机10可以基于图11所示的条件建议多个恢复方案之中的至少一个恢复方案,但是本发明构思不限于当前实施例。
图12是根据本发明构思的一些实施例的存储设备600的框图。存储设备600可以被实施为存储卡或智能卡。存储设备600包括非易失性存储器设备200、存储器控制器100和卡接口620。
存储器控制器100可以控制存储器设备200与卡接口620之间的数据交换。卡接口620可以是例如安全数字(SD)卡接口或多媒体卡(MMC)接口,但是本发明构思不限于当前实施例。
卡接口620可以根据主机630的协议对主机630与存储器控制器100接口连接以用于数据交换。卡接口620可以支持通用串行总线(USB)协议和芯片互联(IC)-USB协议。这里,卡接口620可以指示支持主机630使用的协议的硬件、硬件中安装的软件或信号传输模式。
当存储设备600与诸如PC、平板PC、数码相机、数码音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机630连接时,主机630可以通过卡接口620和存储器控制器100与非易失性存储器设备200执行数据通信。
图13是根据本发明构思的其他实施例的包括非易失性存储器设备的存储设备900的框图。存储设备900可以被实施为如固态驱动(SSD)的数据存储系统。
存储设备900包括多个非易失性存储器设备200、控制非易失性存储器设备200的数据处理操作的存储器控制器100、如动态随机存取存储器(DRAM)的易失性存储器设备930以及控制在存储器控制器100与主机940之间传送的要存储在易失性存储器设备930中的数据的缓冲器管理器920。
图14是根据本发明构思的一些实施例的包括非易失性存储器设备的数据处理系统1000的框图。数据处理系统1000可以被实施为独立盘冗余阵列(RAID)系统。数据处理系统1000包括RAID控制器1010和多个存储器系统900-1至900-n,其中“n”是自然数。
多个存储器系统900-1至900-n可以形成RAID阵列。数据处理系统1000可以是PC或SSD。
在编程操作期间,RAID控制器1010可以响应于从主机接收的编程命令,根据RAID水平将从主机输出的编程数据发送至存储器系统900-1至900-n中的至少一个。在读取操作期间,RAID控制器1010可以响应于从主机接收的读取命令,向主机发送从存储器系统900-1至900-n中的至少一个读取的数据。
本公开实施例还可以实现为计算机可读介质上的计算机可读代码。例如,使得用户能够影响和选择不同恢复方案的主机的各方面可以使用计算机可读记录介质上的计算机可读代码(例如,程序)来实施。计算机可读记录介质是可以将数据存储为程序的任何数据存储设备,其此后可以由计算机系统读取。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数据存储设备。
计算机可读记录介质还可以在网络耦合的计算机系统上分布,使得以分布式方式存储和运行计算机可读代码。此外,实现本公开实施例的各方面的功能程序、代码和代码片段可以容易地由编程人员解释。
如上所述,根据本发明构思的一些实施例,操作数据处理系统的方法从多个恢复方案之中选择恢复方案,并且根据所选择的方案进入数据恢复操作模式,使得由于保持特性而劣化的性能恢复。此外,可以使用仅读取参考页的方法,使得恢复时间减少。
虽然参照本发明构思的示例性实施例具体地示出和描述了本发明构思,但是本领域普通技术人员将理解,可以在其中进行各种形式和细节上的改变,而不背离如由所附权利要求定义的本发明构思的精神和范围。
Claims (20)
1.一种用于存储设备的数据恢复的方法,该存储设备包括排列为页和块的多个存储单元,每页包括一行存储单元并且每块包括多页存储单元,该方法包括:
由存储设备接收与第一选择的数据恢复方案相对应的第一命令;以及
基于第一命令:
应用用于对多个块执行错误检测的第一目标页方案;
使用第一目标页方案读取目标页并且检测每个读取的目标页中的错误的量;
确定第一块的目标页具有至少第一阈值量的错误,并且基于该确定,通过将第一块中存储的全部数据重定位到另一块来执行对于第一块的数据恢复;以及
确定在第二块中没有读取页具有至少第一阈值量的错误,结果维持第二块中存储的数据。
2.如权利要求1所述的方法,还包括:
在存储设备的数据恢复操作模式期间执行接收、应用、读取和两个确定步骤,该数据恢复操作模式与存储设备的正常读取操作模式不同。
3.如权利要求1所述的方法,还包括:
由存储设备接收与第二选择的数据恢复方案相对应的第二命令;以及
基于第二命令:
应用用于对至少第二块和一个或多个额外块执行错误检测的第二目标页方案;
使用第二目标页方案读取第二块的至少一个目标页以及一个或多个额外块的至少一个目标页,并且检测每个读取的目标页中的错误的量;
确定第二块的目标页具有至少第二阈值量的错误,并且基于该确定,通过将第二块中存储的全部数据重定位到另一块来执行对于第二块的数据恢复;以及
确定在一个或多个额外块中没有读取页具有至少第二阈值量的错误,结果维持一个或多个额外块中存储的数据,
其中,第二阈值量小于第一阈值量。
4.如权利要求3所述的方法,其中,第二目标页方案是与第一目标页方案相同的方案。
5.如权利要求1所述的方法,还包括:
确定存储设备的性能;以及
基于所确定的性能来设置第一阈值量。
6.如权利要求5所述的方法,其中,所确定的性能是读取存储设备的速度。
7.如权利要求1所述的方法,其中,第一阈值量的错误是每存储在页中的数据的错误的第一阈值百分比。
8.一种用于存储设备的数据恢复的方法,该存储设备包括排列为页和块的多个存储单元,每页包括一行存储单元并且每块包括多页存储单元,该方法包括:
(a)在存储设备处使用第一数据恢复过程以恢复存储设备上的数据,该第一数据恢复过程使用第一数据重定位方案,该第一数据重定位方案当块的至少一页具有至少第一阈值量的错误时重定位数据的块;
(b)在存储设备处接收使用第二、不同的数据恢复过程的命令;以及
(c)响应于该命令,在存储设备处使用第二数据恢复过程以恢复存储设备上的数据,该第二数据恢复过程使用第二数据重定位方案,该第二数据重定位方案当块的至少一页具有至少第二阈值量的错误时重定位数据的块,该第二阈值量小于第一阈值量。
9.如权利要求8所述的方法,还包括:
在步骤(b)之前,确定存储设备的性能的水平;以及
基于所确定的性能的水平,接收第二数据恢复过程的选择。
10.如权利要求8所述的方法,其中:
第一数据恢复过程包括测试多个块,以对于每个块确定块的至少一页是否具有至少第一阈值量的错误;以及
第二数据恢复过程包括测试多个块,以对于每个块确定块的至少一页是否具有至少第二阈值量的错误。
11.如权利要求8所述的方法,其中,第一数据恢复过程包括用于检测存储设备的页上的错误的所选择的目标页方案。
12.如权利要求11所述的方法,其中,所选择的目标页方案是以下中的一个:
第一方案,对于存储设备的块的集合,对每块中的多个目标页执行错误检测,该错误检测对于多个目标页中的每个目标页确定该目标页是否具有至少第一阈值量的错误;
第二方案,对于存储设备的块的集合,对每块中的单个目标页执行错误检测,该错误检测对于每个块中的单个目标页确定该目标页是否具有至少第一阈值量的错误;以及
第三方案,对从存储设备的块的集合中随机地选择的多个目标页执行错误检测,该错误检测对于多个目标页中的每个目标页确定该目标页是否具有至少第一阈值量的错误。
13.如权利要求12所述的方法,其中,根据第一数据重定位方案,当没有块的集合中的特定块的目标页具有至少第一阈值量的错误时,在第一数据恢复过程期间不重定位该特定块。
14.如权利要求13所述的方法,其中,根据第二数据重定位方案,当特定块的至少一页具有比第一阈值量的错误少的错误时,重定位该特定块。
15.如权利要求8所述的方法,其中,第一阈值量的错误与第一阈值数目的比特错误相对应,并且第二阈值量的错误与第二阈值数目的比特错误相对应。
16.一种用于存储器设备的数据恢复的方法,该存储器设备包括排列为页和块的多个存储单元,每页包括一行存储单元并且每块包括多页存储单元,该方法包括:
由主机确定存储器设备的第一性能水平;
基于第一性能水平,从多个数据重定位方案之中选择数据重定位方案,该多个数据重定位方案包括第一数据重定位方案和第二数据重定位方案;
由主机发送第一命令以对存储器设备执行第一数据恢复过程,该第一数据恢复过程包括使用第一数据重定位方案,该第一数据重定位方案当块的至少一页具有至少第一阈值量的错误时重定位存储器设备的数据的块。
17.如权利要求16所述的方法,其中,第一数据恢复过程发生在存储器设备的数据恢复操作模式期间,该数据恢复操作模式与存储器设备的正常读取操作模式不同。
18.如权利要求17所述的方法,其中,数据恢复过程包括:
应用用于对多个块执行错误检测的第一目标页方案;
使用第一目标页方案读取目标页,并且检测每个读取的目标页中的错误的量;
确定第一块的目标页具有至少第一阈值量的错误,并且基于该确定,通过将第一块中存储的全部数据重定位到另一块来执行对于第一块的数据恢复;以及
确定在第二块中没有读取页具有至少第一阈值量的错误,结果维持第二块中存储的数据。
19.如权利要求17所述的方法,还包括:
由主机确定存储器设备的第二性能水平;以及
基于第二性能水平,由主机发送第二命令以对存储器设备执行第二数据恢复过程,该第二数据恢复过程包括使用第二数据重定位方案,该第二数据重定位方案当块的至少一页具有至少第二阈值量的错误时重定位存储器设备的数据的块,该第二阈值量小于第一阈值量。
20.如权利要求19所述的方法,其中:
第二数据恢复过程发生在存储器设备的数据恢复操作模式期间;
第一数据恢复过程重定位对于其至少一页具有第一阈值量的错误的数据的块,并且不重定位对于其没有页具有第一阈值量的错误或多于第一阈值量的错误的数据的块;以及
第二数据恢复过程重定位对于其至少一页具有第二阈值量的错误的数据的块,并且不重定位对于其没有页具有第二阈值量的错误、第一阈值量的错误或多于第一阈值量的错误的数据的块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150163604A KR102413755B1 (ko) | 2015-11-20 | 2015-11-20 | 리텐션 특성에 의한 성능 저하를 복구하는 저장 장치의 동작 방법 및 이를 포함하는 데이터 처리 시스템의 동작 방법 |
KR10-2015-0163604 | 2015-11-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107015886A true CN107015886A (zh) | 2017-08-04 |
CN107015886B CN107015886B (zh) | 2021-12-21 |
Family
ID=58721602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611028600.4A Active CN107015886B (zh) | 2015-11-20 | 2016-11-21 | 操作存储设备的方法和操作包括其的数据处理系统的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10572158B2 (zh) |
KR (1) | KR102413755B1 (zh) |
CN (1) | CN107015886B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168884A (zh) * | 2018-10-31 | 2021-07-23 | 美光科技公司 | 使用与存储器子系统相关联的错误控制成功率实施粘性读取 |
CN113179665A (zh) * | 2019-06-26 | 2021-07-27 | 西部数据技术公司 | 使用基于纠错的度量来识别性能不佳的数据存储设备 |
CN113297096A (zh) * | 2020-02-24 | 2021-08-24 | 西部数据技术公司 | 用于固态存储装置服务质量的可变读取扫描 |
CN113760183A (zh) * | 2020-06-03 | 2021-12-07 | 美光科技公司 | 存储器系统的存取操作状态信令 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017081748A1 (ja) * | 2015-11-10 | 2017-05-18 | 株式会社日立製作所 | ストレージシステム、及び、ストレージ管理方法 |
US10545810B2 (en) * | 2016-12-22 | 2020-01-28 | Western Digital Technologies, Inc. | Method and apparatus for monitoring non-volatile memory read errors using background media scan |
US10585749B2 (en) | 2017-08-10 | 2020-03-10 | Samsung Electronics Co., Ltd. | System and method for distributed erasure coding |
KR102244921B1 (ko) | 2017-09-07 | 2021-04-27 | 삼성전자주식회사 | 저장 장치 및 그 리프레쉬 방법 |
US11068365B2 (en) * | 2018-08-23 | 2021-07-20 | Micron Technology, Inc. | Data recovery within a memory sub-system without moving or processing the data through a host |
KR102610395B1 (ko) * | 2019-01-22 | 2023-12-05 | 삼성전자주식회사 | 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR20210123884A (ko) * | 2020-04-06 | 2021-10-14 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20220042649A (ko) * | 2020-09-28 | 2022-04-05 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11907556B2 (en) * | 2021-02-18 | 2024-02-20 | Micron Technology, Inc. | Data relocation operation techniques |
US11513890B1 (en) * | 2021-05-27 | 2022-11-29 | Western Digital Technologies, Inc. | Adaptive read scrub |
CN115827289A (zh) * | 2021-09-17 | 2023-03-21 | 伊姆西Ip控股有限责任公司 | 故障处理方法、电子设备和程序产品 |
TWI763608B (zh) * | 2021-11-02 | 2022-05-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其損壞資料行的篩選方法 |
US11886293B2 (en) | 2021-11-15 | 2024-01-30 | Samsung Electronics Co., Ltd. | Memory controller managing strong error information and operating method thereof |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070274134A1 (en) * | 2006-05-25 | 2007-11-29 | Frankie Roohparvar | Method and apparatus for improving storage performance using a background erase |
CN101763904A (zh) * | 2008-12-24 | 2010-06-30 | 海力士半导体有限公司 | 非易失性存储装置及其操作方法 |
CN102598141A (zh) * | 2009-06-10 | 2012-07-18 | 美光科技公司 | 用于减少存储器阵列中的读取等待时间的存储器操作暂停 |
CN103262054A (zh) * | 2010-12-13 | 2013-08-21 | 弗森-艾奥公司 | 用于自动提交存储器的装置、系统和方法 |
CN103329104A (zh) * | 2011-02-08 | 2013-09-25 | 桑迪士克科技股份有限公司 | 使用另外的错误校正编码数据的数据恢复 |
CN103744961A (zh) * | 2014-01-06 | 2014-04-23 | 清华大学 | 用可重构的文件系统目录树提高非易失性存储寿命的方法 |
CN103853503A (zh) * | 2012-12-04 | 2014-06-11 | 三星电子株式会社 | 存储设备、快闪存储器、以及操作所述存储设备的方法 |
US20140169091A1 (en) * | 2012-12-19 | 2014-06-19 | Kabushiki Kaisha Toshiba | Memory controller, storage device, and memory control method |
CN104077197A (zh) * | 2013-03-29 | 2014-10-01 | 联想(北京)有限公司 | 系统恢复方法、装置、固态硬盘和电子设备 |
US20150248402A1 (en) * | 2013-11-07 | 2015-09-03 | Datrium, Inc. | Data storage with a distributed virtual array |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4146628B2 (ja) | 2001-08-23 | 2008-09-10 | 松下電器産業株式会社 | メモリシステム及び半導体集積回路 |
US8164941B2 (en) | 2006-12-27 | 2012-04-24 | Hynix Semiconductor Inc. | Semiconductor memory device with ferroelectric device and refresh method thereof |
KR101597513B1 (ko) | 2008-12-26 | 2016-02-25 | 삼성전자주식회사 | 셀프 리프레쉬에 의한 데이터 복구력을 향상시킨 반도체 메모리 장치 및 그 시스템 |
JP2010211734A (ja) | 2009-03-12 | 2010-09-24 | Toshiba Storage Device Corp | 不揮発性メモリを用いた記憶装置 |
KR101015655B1 (ko) * | 2009-05-29 | 2011-02-22 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 구동 방법 |
KR20120091906A (ko) | 2011-02-10 | 2012-08-20 | 삼성전자주식회사 | 데이터 리텐션 동작을 수행하는 사용자 장치, 저장 장치, 그리고 그것의 데이터 리텐션 방법 |
US9086983B2 (en) * | 2011-05-31 | 2015-07-21 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
KR101342658B1 (ko) | 2011-12-06 | 2013-12-16 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 및 그 구성 방법 |
JP5112566B1 (ja) * | 2011-12-16 | 2013-01-09 | 株式会社東芝 | 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム |
TWI467376B (zh) | 2012-06-11 | 2015-01-01 | Phison Electronics Corp | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
US9128822B2 (en) * | 2012-06-22 | 2015-09-08 | Winbond Electronics Corporation | On-chip bad block management for NAND flash memory |
KR101991437B1 (ko) * | 2012-08-30 | 2019-06-20 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작방법 |
KR102002385B1 (ko) * | 2012-11-14 | 2019-07-23 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
US20150378800A1 (en) * | 2013-03-19 | 2015-12-31 | Hitachi, Ltd. | Storage device and storage device control method |
US9032264B2 (en) * | 2013-03-21 | 2015-05-12 | Kabushiki Kaisha Toshiba | Test method for nonvolatile memory |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US9477546B2 (en) * | 2013-06-21 | 2016-10-25 | Marvell World Trade Ltd. | Methods and apparatus for optimizing lifespan of a storage device |
KR20150015621A (ko) | 2013-07-31 | 2015-02-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
JP2015064860A (ja) | 2013-08-27 | 2015-04-09 | キヤノン株式会社 | 画像形成装置およびその制御方法、並びにプログラム |
US9389937B2 (en) * | 2013-11-19 | 2016-07-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing faulty memory pages in a computing system |
US9389956B2 (en) * | 2014-01-10 | 2016-07-12 | International Business Machines Corporation | Implementing ECC control for enhanced endurance and data retention of flash memories |
KR20150104858A (ko) * | 2014-03-06 | 2015-09-16 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
US9569120B2 (en) * | 2014-08-04 | 2017-02-14 | Nvmdurance Limited | Adaptive flash tuning |
US9552171B2 (en) * | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9798475B2 (en) * | 2015-03-11 | 2017-10-24 | Toshiba Memory Corporation | Memory system and method of controlling nonvolatile memory |
-
2015
- 2015-11-20 KR KR1020150163604A patent/KR102413755B1/ko active IP Right Grant
-
2016
- 2016-10-12 US US15/291,094 patent/US10572158B2/en active Active
- 2016-11-21 CN CN201611028600.4A patent/CN107015886B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070274134A1 (en) * | 2006-05-25 | 2007-11-29 | Frankie Roohparvar | Method and apparatus for improving storage performance using a background erase |
CN101763904A (zh) * | 2008-12-24 | 2010-06-30 | 海力士半导体有限公司 | 非易失性存储装置及其操作方法 |
CN102598141A (zh) * | 2009-06-10 | 2012-07-18 | 美光科技公司 | 用于减少存储器阵列中的读取等待时间的存储器操作暂停 |
CN103262054A (zh) * | 2010-12-13 | 2013-08-21 | 弗森-艾奥公司 | 用于自动提交存储器的装置、系统和方法 |
CN103329104A (zh) * | 2011-02-08 | 2013-09-25 | 桑迪士克科技股份有限公司 | 使用另外的错误校正编码数据的数据恢复 |
CN103853503A (zh) * | 2012-12-04 | 2014-06-11 | 三星电子株式会社 | 存储设备、快闪存储器、以及操作所述存储设备的方法 |
US20140169091A1 (en) * | 2012-12-19 | 2014-06-19 | Kabushiki Kaisha Toshiba | Memory controller, storage device, and memory control method |
CN104077197A (zh) * | 2013-03-29 | 2014-10-01 | 联想(北京)有限公司 | 系统恢复方法、装置、固态硬盘和电子设备 |
US20150248402A1 (en) * | 2013-11-07 | 2015-09-03 | Datrium, Inc. | Data storage with a distributed virtual array |
CN103744961A (zh) * | 2014-01-06 | 2014-04-23 | 清华大学 | 用可重构的文件系统目录树提高非易失性存储寿命的方法 |
Non-Patent Citations (3)
Title |
---|
WEIJUN XIAO: ""Design and Analysis of Block-Level Snapshots for Data Protection and Recovery"", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
ZHOUSUSHENG: ""内存管理与TLB"", 《HTTPS://WWW.CNBLOGS.COM/ZHOUSUSHENG/ARCHIVE/2013/10/22/3382089.HTML》 * |
刘军平: ""磁盘存储系统可靠性技术研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168884A (zh) * | 2018-10-31 | 2021-07-23 | 美光科技公司 | 使用与存储器子系统相关联的错误控制成功率实施粘性读取 |
CN113179665A (zh) * | 2019-06-26 | 2021-07-27 | 西部数据技术公司 | 使用基于纠错的度量来识别性能不佳的数据存储设备 |
CN113297096A (zh) * | 2020-02-24 | 2021-08-24 | 西部数据技术公司 | 用于固态存储装置服务质量的可变读取扫描 |
CN113760183A (zh) * | 2020-06-03 | 2021-12-07 | 美光科技公司 | 存储器系统的存取操作状态信令 |
Also Published As
Publication number | Publication date |
---|---|
KR102413755B1 (ko) | 2022-06-28 |
KR20170059339A (ko) | 2017-05-30 |
CN107015886B (zh) | 2021-12-21 |
US20170147209A1 (en) | 2017-05-25 |
US10572158B2 (en) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107015886A (zh) | 操作存储设备的方法和操作包括其的数据处理系统的方法 | |
US8904090B2 (en) | Non-volatile memory device, devices having the same, and method of operating the same | |
CN108932107B (zh) | 数据存储装置及其操作方法 | |
KR20130098642A (ko) | 저장 장치 | |
US10061695B2 (en) | Memory system and operating method thereof | |
US11715538B2 (en) | Memory system processing request based on inference and operating method of the same | |
US11482263B2 (en) | Non-volatile memory device, controller for controlling the same, storage device including the same, and reading method thereof | |
US11682467B2 (en) | Nonvolatile memory device, controller for controlling the same, storage device including the same, and reading method of the same | |
KR20140001535A (ko) | 스토리지 시스템 및 그것의 데이터 관리 방법 | |
US12045470B2 (en) | Method of writing data in nonvolatile memory device and nonvolatile memory device performing the same | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
US20230266884A1 (en) | Operating method for storage controller and storage system including same | |
KR20210112872A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US20240029814A1 (en) | Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device having the same | |
CN112542201A (zh) | 存储设备及操作该存储设备的方法 | |
CN104103318A (zh) | 操作存储控制器的方法和包括存储控制器的数据存储设备 | |
CN109240937A (zh) | 数据存储装置及其操作方法 | |
KR20230018215A (ko) | 스토리지 장치, 스토리지 컨트롤러 및 스토리지 컨트롤러의 동작 방법 | |
US20240079073A1 (en) | Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof | |
US11914892B2 (en) | Storage device adjusting history read level storage areas based on reliabilities of memory blocks, storage controller, and operating method of storage controller | |
CN106683698A (zh) | 存储器件及其操作方法 | |
US11868647B2 (en) | Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same | |
CN116126222A (zh) | 包括非易失性存储器装置的存储装置 | |
CN110069427A (zh) | 存储器控制器以及存储器控制器的操作方法 | |
KR20190037659A (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 |
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 |