CN110531921A - 数据存储装置、具有其的存储***及用于恢复的操作方法 - Google Patents

数据存储装置、具有其的存储***及用于恢复的操作方法 Download PDF

Info

Publication number
CN110531921A
CN110531921A CN201811369356.7A CN201811369356A CN110531921A CN 110531921 A CN110531921 A CN 110531921A CN 201811369356 A CN201811369356 A CN 201811369356A CN 110531921 A CN110531921 A CN 110531921A
Authority
CN
China
Prior art keywords
block
information
storage device
data
recovery
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.)
Pending
Application number
CN201811369356.7A
Other languages
English (en)
Inventor
金秉俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110531921A publication Critical patent/CN110531921A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种数据存储装置,所述数据存储装置包括:存储装置,被配置成包括被划分为多个块的存储区域;以及控制器,被配置成控制存储装置的数据输入/输出操作,收集包括关于多个块中的使用块的信息的恢复信息,并且基于关于使用块的信息控制垃圾收集操作。

Description

数据存储装置、具有其的存储***及用于恢复的操作方法
相关申请的交叉引用
本申请要求于2018年5月24日提交的、申请号为10-2018-0059176的韩国专利申请的优先权,该申请的全部内容通过引用并入本文。
技术领域
各个实施例总体上涉及半导体集成装置,更具体地,涉及数据存储装置、具有数据存储装置的存储***和优化的用于恢复性能的操作方法。
背景技术
闪速存储器支持大容量,并且由于闪速存储器的非易失性、低成本、低功耗、高速数据处理速度等,对闪速存储器的需求持续增加。
使用闪速存储器的存储介质可以以固态硬盘(SSD)类型替代硬盘、以可作为嵌入式存储器的嵌入式类型、以移动类型等实施。此外,存储介质可以应用于各种电子设备,诸如电子装置、车辆导航***和主要处理多媒体数据的黑匣子。
这种数据存储装置要求突然断电恢复(SPOR)以即使电力在数据写入或读取期间被切断,也能防止或显著减小数据损失或驱动器损坏或分区损坏。
例如,在突然断电后,当再次供应电力并且***重新启动时,***需要返回至就在突然断电之前的状态并且执行数据保留,使得在突然断电之前存储的数据不会丢失。
此外,还需要在数据存储装置的使用期间响应于主机或用户的请求返回数据存储装置在特定时间的状态。
发明内容
在实施例中,优化的用于恢复性能的数据存储装置可以包括:存储装置,被配置成包括被划分成多个块的存储区域;以及控制器,被配置成控制存储装置的数据输入/输出操作,收集包括关于多个块中的使用块的信息的恢复信息,并且基于使用块的信息控制垃圾收集操作。
在实施例中,提供了一种数据存储装置的操作方法,该数据存储装置包括存储装置和控制器,存储装置具有被划分成多个块的存储区域,控制器控制存储装置的数据交换,该操作方法包括:收集关于数据存储装置的恢复信息,恢复信息包括关于多个块中的使用块的信息;以及响应于垃圾收集命令基于使用块的信息来执行垃圾收集操作。
在实施例中,存储***包括:主机装置;以及数据存储装置,包括存储装置和控制器,存储装置具有被划分为多个块的存储区域,控制器应主机装置的请求控制存储装置的数据输入/输出操作,其中控制器被配置为收集包括关于多个块中的使用块的信息的恢复信息,并且基于使用块的信息控制垃圾收集操作。
在实施例中,数据存储装置包括:存储装置,包括多个块;以及控制器,被配置成收集包括关于在检查点时间处的多个块中的使用块的信息的恢复信息,并且基于使用块的信息执行垃圾收集操作。
附图说明
图1是根据实施例的数据存储装置的示意图。
图2是根据实施例的控制器的示意图。
图3是示出了根据实施例的存储装置中的数据存储区域划分的示例的示图。
图4是示出了根据实施例的元块中存储的数据的示例的示图。
图5是示出了根据实施例的在检查点块中存储的数据的示例的示图。
图6是示出了根据实施例的数据存储装置的操作方法的流程图。
图7是示出了根据实施例的数据存储装置的垃圾收集方法的示图。
图8是示出了根据实施例的数据存储***的示图。
图9和图10是示出了根据实施例的数据处理***的示例的示图。
图11是示出了根据实施例的包括数据存储装置的网络***的示图。
图12是示出了根据实施例的包括在数据存储装置中的非易失性存储器装置的框图。
具体实施方式
下面将参照附图通过各种实施例来描述数据存储装置、具有该数据存储装置的存储***以及用于恢复性能的优化的操作方法。在整个说明书中,对“实施例”的参考并不一定针对仅一个实施例,并且对任何这种措辞的不同参考不一定针对相同的实施例。
图1是根据实施例的数据存储装置的示意图。
参照图1,数据存储装置10可以包括控制器110和存储装置120。
控制器110可以响应于从主机装置(未示出)接收的请求控制存储装置120。例如,控制器110可以响应于主机装置的编程(或写入)请求控制待被编程至存储装置120的数据。此外,控制器110可以响应于主机装置的读取请求将存储装置120中存储的数据提供至主机装置。
存储装置120可以在控制器110的控制下写入数据或输出写入的数据。存储装置120可以包括易失性或非易失性存储器装置。在实施例中,存储装置120可以使用从诸如以下的各种非易失性存储器装置中选择的存储器装置来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋扭矩转移磁性RAM(STT-MRAM)。存储装置120可以包括多个管芯、多个芯片或多个封装件。此外,存储装置120可以包括在一个存储器单元中存储一位数据的单层单元或在一个存储器单元中存储多位数据的多层单元。
存储装置120可以具有层级结构,该存储装置包括有包括多个存储器单元的页面、包括至少一个页面的块、包括至少一个块的平面、包括至少一个平面的管芯等。读取和写入(或编程)操作例如可以以页面为单位执行,并且擦除操作例如可以以块为单位执行。为了提高数据输入/输出速度,可以基于适当的条件确定待读取或待写入的数据的单位。
尽管图中未示出,但是可以在控制器110内部或外部设置缓冲存储器。在数据存储装置10与主机装置协作执行一系列操作,诸如数据写入或读取时,缓冲存储器可以用作能够临时存储数据的空间或高速缓存区域。
在实施例中,控制器110可以收集恢复信息,即检查点信息,从而支持恢复或返回至特定时间点。收集的检查点信息可以存储在作为存储装置120中的预分配区域的检查点块中。
用于收集检查点信息的操作,即检查点操作,可以是用于预先存储数据存储装置10的启动操作所需的信息的备份操作。
在实施例中,每当设定或预定的情况或事件发生时,检查点操作可以在数据存储装置10中内部地执行,即,在控制器110的控制下执行。
检查点块中存储的信息可以响应于快照生成命令存储在存储装置120的预设空间中,即存储在快照块中。快照生成命令可以从主机装置或用户提供;然而,本发明不限于此。因此,每当特定情况发生,检查点信息就可以存储在检查点块中,并且当触发快照生成命令时,在触发时间点的最近检查点信息可以存储在快照块中。
在本发明的实施例中,在执行检查点操作时,控制器110可以将作为检查点信息的一部分的信息存储在使用块中。使用块可以包括正在使用的所有块,诸如数据块和映射块。
控制器110还可以执行垃圾收集操作。在执行垃圾收集操作时,控制器110可以被配置成将在检查点操作期间的某一时间的使用块排除在候选牺牲块之外。
在垃圾收集中,被选作牺牲块的块以物理方式被完全擦除。因此,如果在检查点操作期间的特定时间点(例如,检查点操作时间点)的使用块确实被擦除,则当返回至该检查点操作时间点时,无法恢复已经擦除的块的内容。因此,在可能恢复的时间点,例如在检查点操作时间点,将已经使用的块排除在擦除目标之外,从而可以完全返回特定时间点。
图2是根据实施例的控制器110的配置示图。
参照图2,控制器110可以包括例如处理器的中央处理单元(CPU)111、主机接口(IF)13、存储器接口(IF)115、工作存储器117、恢复管理器电路119和垃圾收集电路121。
CPU 111可以被配置成将存储装置120的数据读取或写入操作所需的各种类型的控制信息传输至主机接口113、存储器接口115和工作存储器117。在实施例中,CPU 111可以根据被提供用于数据存储装置10的各种操作的固件来操作。在实施例中,CPU 111可以执行闪存转换层(FTL)的功能,以执行地址映射、磨损均衡等来管理存储装置120。CPU 111可以根据其实施来检测和校正从存储装置120读取的数据的错误。检测和校正读取数据的错误的功能可以被配置成在与CPU 111分开的电路中执行。
主机接口113可以提供通信通道以从主机装置(或主机处理器)接收命令和时钟信号并且在CPU 111的控制下控制数据输入/输出。特别地,主机接口113可以提供图1的主机装置和数据存储装置10之间的物理连接。主机接口113可以对应于主机装置的总线格式来提供与数据存储装置10的接口连接。主机装置的总线格式可以包括诸如以下的标准接口协议中的至少一种:安全数字卡、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串列SCSI(SAS)、***组件互联(PCI)、高速PCI(PCI-e或PCIe)以及通用闪速存储器(UFS)。
存储器接口115可以提供用于控制器110和存储装置120之间的信号发送/接收的通信通道。存储器接口115可以在CPU 111的控制下在存储装置120中写入已经临时存储在缓冲存储器中的数据。此外,存储器接口115可以将从存储装置120读取的数据传输至缓冲存储器用以临时存储。
工作存储器117可以存储控制器110的操作所需的编程代码,例如固件或软件,并且存储编程代码使用的代码数据等。
在CPU 111自身的进程正在被处理时,或者在空闲状态下,CPU 111可以在特定或预定的时间或时间段处理后台操作,例如在数据存储装置10正常通电后正在处理主机装置的请求的同时处理后台操作。后台操作可以包括垃圾收集操作、磨损均衡操作、读取取回操作等中的一个或多个。
恢复管理器电路119可以管理数据存储装置10在电力在突然断电后被再次供电并且数据存储装置10重新启动时返回至突然断电之前的***状态。此外,恢复管理器电路119可以响应于数据存储装置10使用期间的主机或用户的请求来管理数据存储装置10以返回至特定时间点。
为此,恢复管理器电路119可以在每当设定或预定情况或事件发生时收集检查点信息,并且将检查点信息存储在作为存储装置120中的预分配区域的检查点块中。
在实施例中,检查点信息可以包括配置信息,配置信息包括数据存储装置10的通道(或通路)信息、映射信息、开放块的数量、下一个编程位置、擦除和写入(E/W)次数以及关于使用块的信息。检查点信息可以与检查点版本和时间戳一起存储在检查点块中。使用块可以包括在检查点操作时间点使用的映射块和数据块。
在触发快照生成命令时,恢复管理器电路119可以将触发时间点的最近检查点信息存储在作为存储装置120中的预分配区域的快照块中。在实施例中,快照生成命令可以从主机装置或用户提供。快照生成命令可以在每个设定或预定周期触发;然而,本发明不限于此。
因此,每当特定情况发生时,检查点信息可以被收集并存储在检查点块中。此外,当触发快照生成命令时,在触发时间点的最近检查点信息可以存储在检查点块中。在检查点块中,可以实质上保持以时间顺序最近生成的至少一条检查点信息。在快照块中,可以实质上保持以时间顺序最近生成的至少一条快照信息。
垃圾收集电路121可以被配置成确保可写入数据的空闲块。在实施例中,垃圾收集电路121可以通过以下进程确保空闲块:选择牺牲块,将所选的牺牲块中的有效页面移至任意空白块(即,目标块)中,并且擦除其中有效页面已经被移走的牺牲块;然而,本发明不限于此。
当选择牺牲块以执行垃圾收集时,垃圾收集电路121可以参考由恢复管理器电路119收集的检查点信息的关于使用块的信息。例如,垃圾收集电路121可以被配置成在检查点操作时间点将使用块排除在候选牺牲块之外。
因此,与基本上保持在快照块中的至少一条快照信息中包括的关于使用块的信息对应的块不被选择为牺牲块。
在垃圾收集中,选为牺牲块的块被物理地完全擦除。在本技术方案中,在生成检查点信息时使用的映射块和数据块可以在检查点信息保留期间被保护免于进行擦除操作,以便能够完全返回至检查点信息已经生成的特定时间点。
图3是示出了根据实施例的存储在存储阵列中的数据的示图。
参照图3,存储元件120-1至120-n可以包括多个管芯、多个芯片或多个封装件。存储元件120-1至120-n中的每一个可以包括元数据区域MDA、数据区域DA和空闲块区域FA。
元数据区域MDA可以是用于存储当图1的控制器110管理存储装置120时所需的信息的区域。数据区域DA可以是用于存储用户数据的空间。空闲块区域FA可以是一组未使用的空白块。
元数据区域MDA可以包括多个块,诸如元块、根块、页面映射块、映射日志块、检查点块和快照块等。
图4是示出了根据实施例的元块中存储的数据的示例的示图。
参照图4,元块可以是用于存储每个块的元信息的区域。元块可以采用诸如块的物理地址的块标识符作为索引,并且存储包括对应块的属性、有效页面的数量、页面偏置等信息。块的属性可以是指示块的状态的信息,例如,指示块是开放块、封闭块或是空闲块的信息。
开放块可以指当前使用以处理写入请求的存储块。封闭块可以指不具有能够存储数据的空白空间的块或设定成不存储数据的块。空闲块可以指其中可写入数据的空白块。
有效页面的数量可以指示每个块中包括的有效页面的数量的信息。
页面偏置可以指示页面中的随后将被写入在对应块中的偏置信息。
再次参照图3,根块可以是用于存储元块上的信息的空间。映射块可以是用于存储逻辑页面和物理页面之间的地址映射信息的空间。映射日志块可以是用于收集映射块的日志格式的更新信息的空间,并且存储更新的信息。
检查点块可以是用于存储当设定或预定情况或事件发生时收集的检查点信息的空间。
参照图5,检查点信息可以包括数据存储装置10的配置信息、映射信息、开放块的数量、块的下一个编程位置、擦除和写入(EW)周期以及关于使用块的信息。检查点信息可以与检查点版本和时间戳一起存储在检查点块中。使用块可以包括在检查点操作时间点使用的映射块和数据块。
再次参照图3,快照块可以是用于存储快照生成命令的触发时间点的最近检查点信息的空间。在实施例中,快照生成命令可以从主机装置或用户提供。快照生成命令可以在每个设定或预定周期触发;然而,本发明不限于此。
因此,当***(或数据存储装置)在突然断电后重新启动时或者当***应主机或用户的请求应当返回至特定时间点时,能够根据情况基于快照块中存储的信息或者检查点块中存储的信息来返回或恢复***。
此外,在检查点操作时间点使用的块可以被排除在擦除目标之外,从而能够完全返回至特定时间点。
图6是示出了根据实施例的数据存储装置的操作方法的流程图。图6的操作可以通过图1和图2中的数据存储装置10的控制器110来执行。
参照图6,在数据存储装置10正在操作或处于稳定状态中(S10)的同时,控制器110的恢复管理器电路119可以收集能够支持***恢复的恢复信息(S20)。在实施例中,在可应用的或预先设定的情况或事件发生时,控制器110可以收集检查点信息并且将收集的检查点信息存储在检查点块中。此外,控制器110可以响应于从主机装置或用户提供的快照生成命令而在该时间点将最近检查点信息存储在快照块中。
控制器110的垃圾收集电路121可以监控垃圾收集(GC)命令是否被触发(S30)。
当垃圾收集命令被触发时(S30处为是),可以通过垃圾收集电路121执行垃圾收集操作(S40)。可以预先设定垃圾收集操作的细节。当垃圾收集命令未被触发时(S30处为否),数据存储装置10可以变为先前的操作状态或备用状态。
将参照图6和图7描述垃圾收集操作。
图7是示出了根据实施例的数据存储装置的垃圾收集方法的示图。
参照图6和图7,在GC操作(S40)中,可以首先选择牺牲块以用于垃圾收集(S401)。
如图7的(a)中所示,包括有效页面、无效页面和空页面的多个开放块B1和B2和空白块B3可以存在于存储装置120的数据区域DA中。垃圾收集电路121可以将开放块B1和B2中的至少一个选择为牺牲块。在这种情况下,垃圾收集电路121参照检查点信息来将在检查点操作时间点的使用块排除在牺牲块之外。例如,当开放块B1在检查点操作时间点被使用时,开放块B1和与开放块B1相关的映射块不被选择为牺牲块。
不属于在检查点操作时间点的使用块的开放块B2可以被选择为牺牲块,并且如图7的(b)中所示,垃圾收集电路121可以将开放块B2中包括的关于有效页面的信息B和C复制到空白块B3中(S403)。
然后,垃圾收集电路121使从开放块B2复制到空白块B3中的页面无效(S405)(图7的(c))。
随后,垃圾收集电路121擦除仅包括无效页面的开放块B2以生成空白块(S407)(图7的(d))。
因此,在检查点信息的收集时间点使用的使用块B1仍然被保留而不会在垃圾收集之后被擦除。因此,当返回到检查点信息的收集时间点或者从检查点信息生成快照信息的生成时间点时,能够修复关于块B1的信息而不会丢失。
图8是示出了根据实施例的数据存储***1000的示图。参照图8,数据存储***1000可以包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可以被配置为固态硬盘(SSD)。
数据存储装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。
控制器1210可以控制数据存储装置1200的总体操作。控制器1210可以包括主机接口、控制组件、用作工作存储器的随机存取存储器、错误校正码(ECC)组件和存储器接口。在实施例中,控制器1210可以由包括图1和图2中所示的恢复管理器电路119的控制器110实施。
主机装置1100可以通过信号连接器1101与数据存储装置1200交换信号。信号可以包括命令、地址、数据等。
控制器1210可以分析并处理从主机装置1100接收的信号。控制器1210可以根据用于驱动数据存储装置1200的固件或软件控制内部功能块的操作。
缓冲存储器装置1230可以临时存储待被存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。此外,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。临时存储在缓冲存储器装置1230中的数据可以根据控制器1210的控制被传输至主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接至一个通道。连接至每个通道的非易失性存储器装置可以联接至同一信号总线和数据总线。
电源1240可以将通过电源连接器1103输入的电力提供至数据存储装置1200的内部。电源1240可以包括辅助电源。辅助电源可以在发生突然断电时供应电力以使数据存储装置1200适当的终止。辅助电源可以包括大容量电容器。
信号连接器1101可以根据主机装置1100和数据存储装置1200之间的接口连接方案被配置为各种类型的连接器中的任一种。
电源连接器1103可以根据主机装置1100的电力供应方案被配置为各种连接器中的任一种。
图9是示出了根据实施例的数据处理***3000的示图。参照图9,数据处理***3000可以包括主机装置3100和存储器***3200。
主机装置3100可以诸如印刷电路板的板形式配置。尽管未示出,但主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器***3200可以安装至连接端子3110。
存储器***3200可以诸如印刷电路板的板形式配置。存储器***3200可以称为存储模块或存储卡。存储器***3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制存储器***3200的总体操作。控制器3210可以与包括图1和图2中所示的恢复管理器电路119的控制器110相同的方式实施。
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器***3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供至存储器***3200的内部。PMIC 3240可以根据控制器3210的控制管理存储器***3200的电力。
连接端子3250可以联接至主机装置3100的连接端子3110。通过连接端子3250,诸如命令、地址和数据等信号和电力可以在主机装置3100与存储器***3200之间传输。连接端子3250可根据主机装置3100和存储器***3200之间的接口连接方案被配置为各种类型的连接端子中的任一种。连接端子3250可以设置在存储器***3200的任一侧上。
图10是示出了根据实施例的数据处理***4000的示图。参照图10,数据处理***4000可以包括主机装置4100和存储器***4200。
主机装置4100可以板的形式配置,例如印刷电路板。虽然未示出,但主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器***4200可以表面安装型封装件的形式配置。存储器***4200可以通过焊球4250安装至主机装置4100。存储器***4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器***4200的总体操作。控制器4210可以与包括图1和图2中所示的恢复管理器电路119的控制器110相同的方式配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器***4200的存储介质。
图11是示出了根据实施例的包括数据存储装置的网络***5000的示图。参照图11,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410和5430。
服务器***5300可以响应于来自多个客户端***5410至5430的请求来提供数据服务。例如,服务器***5300可以存储从多个客户端***5410至5430提供的数据。又例如,服务器***5300可以将数据提供至多个客户端***5410至5430。
服务器***5300可以包括主机装置5100和存储器***5200。存储器***5200可以通过图1所示的存储器***10、图8中所示的数据存储装置1200、图9中所示的存储器***3200或图10中所示的存储器***4200来实施。
图12是示出了根据实施例的包括在数据存储装置中的非易失性存储器装置300的框图。参照图12,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取和写入(读取/写入)块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域处的存储器单元MC。
存储器单元阵列310可以包括三维存储器阵列。三维存储器阵列具有垂直于半导体衬底的平坦表面的方向。此外,三维存储器阵列意为包括NAND串的结构,在该NAND串的结构中,至少存储器单元位于另一存储器单元的竖直上部处。
三维存储器阵列的结构不限于此。明显的是,存储器阵列结构可以选择性地应用至以高度集成的方式形成的具有水平方向和竖直方向的存储器阵列结构。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制操作。行解码器320可以对从外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压生成器350提供的字线电压提供至字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制操作。数据读取/写入块330可以根据操作模式操作为写入驱动器或读出放大器。例如,数据读取/写入块330可以操作为写入驱动器,写入驱动器在写入操作中将从外部装置提供的数据存储在存储器单元阵列310中。又例如,数据读取/写入块330可以操作为读出放大器,读出放大器在读取操作中从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制操作。列解码器340可以对从外部装置提供的地址进行解码。列解码器340可以基于解码结果将分别对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成将在非易失性存储器装置300的内部操作中使用的电压。由电压生成器350生成的电压可以被施加至存储器单元阵列310的存储器单元。例如,编程操作中生成的编程电压可以被施加至待执行编程操作的存储器单元的字线。又例如,在擦除操作中生成的擦除电压可以被施加至待执行擦除操作的存储器单元的阱区中。再例如,在读取操作中生成的读取电压可以被施加至待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的总体操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取、写入和擦除操作。
尽管已经描述了各种实施例,本领域技术人员应当理解的是各种变型和修改都是可能的。因此,本发明不限于上述实施例。相反,本发明涵盖落入权利要求书范围内的全部变型和修改。

Claims (22)

1.一种数据存储装置,包括:
存储装置,包括被划分为多个块的存储区域;以及
控制器,控制所述存储装置的数据输入/输出操作,收集包括关于所述多个块中的使用块的信息的恢复信息,并且基于关于所述使用块的信息控制垃圾收集操作。
2.根据权利要求1所述的数据存储装置,其中所述控制器将所述使用块控制为排除在所述垃圾收集操作之外。
3.根据权利要求1所述的数据存储装置,其中所述使用块包括在收集所述恢复信息时使用的数据块和映射块。
4.根据权利要求1所述的数据存储装置,其中所述控制器包括恢复管理器电路,所述恢复管理器电路收集包括关于所述使用块的信息的恢复信息,将所述恢复信息存储在检查点块中,并且将从所述检查点块生成的快照信息存储在快照块中。
5.根据权利要求4所述的数据存储装置,其中所述检查点块存储至少一条恢复信息,并且所述快照块存储至少一条快照信息。
6.根据权利要求4所述的数据存储装置,其中所述恢复信息包括:关于在收集所述恢复信息时使用的数据块的信息、关于在收集所述恢复信息时使用的映射块的信息、所述数据存储装置的配置信息、映射信息、开放块的数量、块中的下一个编程位置以及关于擦除周期和写入周期的信息。
7.根据权利要求6所述的数据存储装置,其中所述恢复信息进一步包括关于所述恢复信息的版本和时间戳的信息。
8.一种数据存储装置的操作方法,所述数据存储装置包括存储装置和控制器,所述存储装置具有被划分为多个块的存储区域,所述控制器控制所述存储装置的数据交换,所述操作方法包括:
收集关于包括关于所述多个块中的使用块的信息的所述数据存储装置的恢复信息;以及
响应于垃圾收集命令,基于关于所述使用块的信息来执行垃圾收集操作。
9.根据权利要求8所述的操作方法,其中所述垃圾收集操作的执行包括:
将所述使用块控制为排除在所述垃圾收集操作之外。
10.根据权利要求8所述的操作方法,其中所述使用块包括在收集所述恢复信息时使用的数据块和映射块。
11.根据权利要求8所述的操作方法,其中所述恢复信息的收集包括:
收集包括关于所述使用块的信息的恢复信息,并且将所述恢复信息存储在检查点块中;并且
将从所述检查点块生成的快照信息存储在快照块中。
12.根据权利要求11所述的操作方法,其中所述检查点块存储至少一条恢复信息,并且所述快照块存储至少一条快照信息。
13.根据权利要求11所述的操作方法,其中所述恢复信息包括:关于在收集所述恢复信息时使用的数据块的信息、关于在收集所述恢复信息时使用的映射块的信息、所述数据存储装置的配置信息、映射信息、开放块的数量、块中的下一个编程位置以及关于擦除周期和写入周期的信息。
14.根据权利要求13所述的操作方法,其中所述恢复信息进一步包括关于所述恢复信息的版本和时间戳的信息。
15.一种存储***,包括:
主机装置;以及
数据存储装置,包括存储装置和控制器,所述存储装置具有被划分为多个块的存储区域,所述控制器应所述主机装置的请求控制所述存储装置的数据输入/输出操作,
其中所述控制器收集包括关于所述多个块中的使用块的信息的恢复信息,并且基于所述使用块的信息控制垃圾收集操作。
16.根据权利要求15所述的存储***,其中所述控制器将所述使用块控制为排除在所述垃圾收集操作之外。
17.根据权利要求15所述的存储***,其中所述使用块包括在收集所述恢复信息时使用的数据块和映射块。
18.根据权利要求15所述的存储***,其中所述控制器包括恢复管理器电路,所述恢复管理器电路收集包括关于所述使用块的信息的恢复信息,将所述恢复信息存储在检查点块中,并且将从所述检查点块生成的快照信息存储在快照块中。
19.根据权利要求18所述的存储***,其中所述检查点块存储至少一条恢复信息,并且所述快照块存储至少一条快照信息。
20.根据权利要求18所述的存储***,其中所述恢复信息包括:关于在收集所述恢复信息时使用的数据块的信息、关于在收集所述恢复信息时使用的映射块的信息、所述数据存储装置的配置信息、映射信息、开放块的数量、块中的下一个编程位置、关于擦除周期和写入周期的信息以及关于所述恢复信息的版本和时间戳的信息。
21.一种数据存储装置,包括:
存储装置,包括多个块;以及
控制器,收集包括关于在检查点时间处的所述多个块中的使用块的信息的恢复信息,并且基于关于所述使用块的信息执行垃圾收集操作。
22.根据权利要求21所述的数据存储装置,其中所述控制器对排除所述使用块之外的至少一个牺牲块执行垃圾收集操作。
CN201811369356.7A 2018-05-24 2018-11-16 数据存储装置、具有其的存储***及用于恢复的操作方法 Pending CN110531921A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0059176 2018-05-24
KR1020180059176A KR20190134034A (ko) 2018-05-24 2018-05-24 복구 가능한 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템

Publications (1)

Publication Number Publication Date
CN110531921A true CN110531921A (zh) 2019-12-03

Family

ID=68613705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811369356.7A Pending CN110531921A (zh) 2018-05-24 2018-11-16 数据存储装置、具有其的存储***及用于恢复的操作方法

Country Status (3)

Country Link
US (1) US20190361608A1 (zh)
KR (1) KR20190134034A (zh)
CN (1) CN110531921A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220020008A (ko) 2020-08-11 2022-02-18 삼성전자주식회사 비휘발성 메모리를 포함하는 메모리 저장 장치 및 전자 장치
US11762779B1 (en) * 2022-07-08 2023-09-19 Micron Technology, Inc. Data block transfer with extended read buffering

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169751A (zh) * 2006-10-25 2008-04-30 三星电子株式会社 具有闪存设备的***及其数据恢复方法
US20160179422A1 (en) * 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Method of performing garbage collection and raid storage system adopting the same
US20180081552A1 (en) * 2016-09-19 2018-03-22 SK Hynix Inc. Memory system and operating method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073103A1 (en) * 2000-08-25 2002-06-13 Bottomley Thomas Mark Walter Memory garbage collection method and apparatus
US8174912B2 (en) * 2009-09-08 2012-05-08 Lsi Corporation Systems and methods for circular buffering control in a memory device
US20160266947A1 (en) * 2015-03-11 2016-09-15 Microsoft Technology Licensing, Llc Mobile application memory profiling for custom extensions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169751A (zh) * 2006-10-25 2008-04-30 三星电子株式会社 具有闪存设备的***及其数据恢复方法
US20160179422A1 (en) * 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Method of performing garbage collection and raid storage system adopting the same
US20180081552A1 (en) * 2016-09-19 2018-03-22 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
KR20190134034A (ko) 2019-12-04
US20190361608A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
CN108874302B (zh) 数据存储装置及其操作方法
KR102467032B1 (ko) 메모리 스케줄링 방법 및 메모리 시스템의 동작방법
US8634267B2 (en) Flash memory chip power management for data reliability and methods thereof
US10838629B2 (en) Solid state device with fast boot after ungraceful shutdown
US11138080B2 (en) Apparatus and method for reducing cell disturb in an open block of a memory system during a recovery procedure
CN108399134A (zh) 存储装置及存储装置的操作方法
US20090172256A1 (en) Data writing method for flash memory, and flash memory controller and storage device thereof
CN108932107B (zh) 数据存储装置及其操作方法
CN105103234A (zh) 固态驱动器体系结构
CN105122220A (zh) 固态驱动器中的原子写入命令支持
JP2010152514A (ja) メモリシステム
CN110362423B (zh) 优化恢复性能的数据存储装置、操作方法以及存储***
US8108594B2 (en) Memory system
CN103635969A (zh) 包含存储器***控制器的设备和相关方法
CN109144899B (zh) 用于管理表恢复的方法
CN110196684A (zh) 数据存储装置、其操作方法以及具有其的存储***
CN112015332A (zh) 控制器及其操作方法
US20170010810A1 (en) Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer
CN109727630A (zh) 存储***及其操作方法
CN110531921A (zh) 数据存储装置、具有其的存储***及用于恢复的操作方法
CN109426627A (zh) 数据存储装置及其操作方法
CN109901789A (zh) 数据存储装置、该数据存储装置的操作方法以及存储***
CN110389907A (zh) 电子装置
CN108255637B (zh) 数据存储装置及其操作方法
CN110083305A (zh) 存储器***及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191203

WD01 Invention patent application deemed withdrawn after publication