CN108932107B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN108932107B CN108932107B CN201711473187.7A CN201711473187A CN108932107B CN 108932107 B CN108932107 B CN 108932107B CN 201711473187 A CN201711473187 A CN 201711473187A CN 108932107 B CN108932107 B CN 108932107B
- Authority
- CN
- China
- Prior art keywords
- valid
- page
- block
- pages
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
- G06F11/1469—Backup restoration techniques
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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
相关申请的交叉引用
本申请要求于2017年5月29日向韩国知识产权局提交的申请号为10-2017-0066072的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例一般涉及一种包括非易失性存储器装置作为存储介质的数据存储装置。
背景技术
近来,计算机环境范例已经转变为普适计算,因此能够在任何时间和任何地点使用计算机系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。通常,便携式电子装置使用采用存储器装置的数据存储装置。数据存储装置用于存储将在便携式电子装置中使用的数据。
因为不包括机械驱动单元,所以使用存储器装置的数据存储装置具有优异的稳定性和耐久性。此外,使用存储器装置的数据存储装置的优点在于它可更快速地访问数据并消耗更少的电力。具有这种优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种数据存储装置及其操作方法,该数据存储装置能够从电源故障状态的恢复操作中有效地重建元数据。
在实施例中,用于操作包括具有多个存储块的非易失性存储器装置的数据存储装置的方法包括:生成有效页面计数表,该有效页面计数表包括数据被写入其所有页面的多个存储块中的封闭块的每一个的有效页面的数量,以及数据被写入其部分页面中的多个存储块中的至少一个开放块的有效页面的数量;生成有效页面扫描表,该有效页面扫描表包括用于扫描开放块的有效页面的数量的扫描指针;以及将有效页面计数表和有效页面扫描表备份在多个存储块中的元块中。
在实施例中,数据存储装置可包括:非易失性存储器装置,包括未存储有数据的空闲块、其中数据被存储在所有页面中的封闭块、其中数据仅存储在部分页面中的至少一个开放块,以及元块;和控制器,其适于:基于各个封闭块的有效页面的数量和开放块的有效页面的数量来生成有效页面计数表;基于指示开放块的空闲页面的地址的扫描指针来生成有效页面扫描表;以及将有效页面计数表和有效页面扫描表备份在元块中。
根据本发明的数据存储装置可以在从电源故障状态的恢复操作中有效地重建元数据。
附图说明
图1是示出根据本发明的实施例的数据存储装置的框图。
图2是示出根据本发明的实施例的由控制单元驱动的固件的简图。
图3是示出根据本发明的实施例的存储块的配置的简图。
图4是示出根据本发明的实施例的有效页面计数表的简图。
图5是示出根据本发明的实施例的更新有效页面计数表的简图。
图6是示出根据本发明的实施例的有效页面扫描表的简图。
图7是示出根据本发明的实施例的对有效页面计数表和有效页面扫描表的备份操作的流程图。
图8是示出根据本发明的实施例的从电源故障状态的数据存储装置的恢复操作的流程图。
图9是示出根据本发明的实施例的包括固态驱动器的数据处理系统的简图。
图10是示出根据本发明的实施例的包括数据存储装置的数据处理系统的简图。
图11是示出根据本发明的实施例的包括数据存储装置的数据处理系统的简图。
图12是示出根据本发明的实施例的包括数据存储装置的网络系统的简图。
图13是示出根据本发明的实施例的包括在数据存储装置中的非易失性存储器装置的简图。
具体实施方式
在阅读了以下结合附图的示例性实施例之后,本发明的优点、特征和实现方法将变得更加显而易见。然而,本发明可以不同的形式实施,并不应被解释为限于本文所阐述的实施例。相反,提供这些实施例是以足够详细地描述本发明,使得本发明所属领域的技术人员能够容易地实施本发明的技术概念。
将理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,并且在一些情况下,可能已放大了比例以便更清楚地描绘本发明的某些特征。虽然本文使用了特定术语,但是应当理解,本文所使用的术语仅用于描述特定实施例,而不旨在限制本发明的范围。
如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。将理解的是,当元件被称为“在……上”、“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在中间元件。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包括有”指定存在一个所述特征、步骤、操作和/或元件,但不排除存在或添加一个或多个其他特征、步骤、操作和/或其元件。
在下文中,将通过各个实施例的示例参照附图来描述数据存储装置及其操作方法。
图1是示出根据本发明的实施例的数据存储装置100的框图。图2是示出根据本发明的实施例的由数据存储装置100的控制单元驱动的固件的简图。
数据存储装置100可存储待由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐系统等主机装置(未示出)访问的数据。数据存储装置100可被称为存储器系统。
数据存储装置100可根据与主机装置的传输协议相关的主机接口而被制造成各种存储装置中的任何一种。例如,数据存储装置100可被配置为诸如以下的各种存储装置中的任何一种:固态驱动器(SSD),MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、小型-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e)卡型存储装置,标准闪存(CF)卡,智能媒体卡,记忆棒等。
数据存储装置100可被制造成诸如以下的各种包装类型中的任何一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。
数据存储装置100可包括控制器200和非易失性存储器装置300。控制器200可包括控制单元210和随机存取存储器220。非易失性存储器装置300可包括存储器单元区域310,存储器单元区域310包括多个存储块B1至Bm。存储块B1至Bm的每一个可包括多个页面P1至Pn。
控制单元210可通过微控制单元(MCU)或中央处理单元(CPU)来配置。控制单元210可处理从主机装置接收的请求。为了处理请求,控制单元210可驱动加载在随机存取存储器220中的代码类型的指令或算法,即固件FW,并且可控制内部功能块或非易失性存储器装置300。
随机存取存储器220可由诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器来配置。随机存取存储器220可存储待由控制单元210驱动的固件FW。此外,随机存取存储器220可存储驱动固件FW所需的数据,例如元数据。换言之,随机存取存储器220可用作控制单元210的工作存储器。
参照图2,加载在随机存取存储器220中的固件FW可被配置成用于执行各种功能的模块和驱动模块所需的元数据。例如,固件FW可包括地址映射表MAP、损耗均衡模块WLM、坏块管理模块BBM、垃圾收集模块GCM、有效页面管理模块VPM、有效页面计数表VPCT以及有效页面扫描表VPST。固件FW的配置不限于上述模块,并且可进一步包括诸如用于并行地操作非易失性存储器装置300的交错模块、用于为意外断电准备的电源故障管理模块等的模块。
访问数据存储装置100的主机装置可将逻辑地址提供给数据存储装置100。控制单元210可将逻辑地址转换成非易失性存储器装置300的物理地址,并且通过参考转换后的物理地址来处理主机装置的请求。为了执行地址转换操作,可生成并管理包括地址转换数据的地址映射表MAP。
损耗均衡模块WLM可管理非易失性存储器装置300的存储块B1至Bm的损耗水平。非易失性存储器装置300的存储器单元可能因擦除操作和/或写入操作而老化。老化的存储器单元,即磨损的存储器单元可能会导致失效,例如物理缺陷。损耗均衡模块WLM可管理各个存储块B1至Bm的擦除-写入计数,以更加均匀地均衡非易失性存储器装置300的整个存储器单元区域310,以便防止某个存储块比其他存储块磨损的更快。
坏块管理模块BBM可管理非易失性存储器装置300的存储块B1至Bm中已经发生了失效的存储块。如上所述,在磨损的存储器单元中可能发生失效(例如,物理缺陷)。存储在失效的存储器单元中的数据可能无法被正常地读出。而且,数据可能无法正常地被存储在失效的存储器单元中。坏块管理模块BBM可管理包括失效的存储器单元的存储块,以这样的方式来使其不被使用。
非易失性存储器装置300由于其结构特性而不支持数据重写。因此,为了将数据重写到已经写入有数据的存储器单元中,应首先执行擦除操作以擦除已写入的数据。通常,非易失性存储器装置300的擦除操作需要过长的时间。为此,控制单元210将待被写入已经写有数据的存储器单元中的数据存储在不同的、已被擦除的存储器单元中。通过控制单元210的这种操作,有效数据和无效数据在非易失性存储器装置300的存储器单元区域310中混合。根据需要,垃圾收集模块GCM可执行将有效数据收集在一个位置并擦除无效数据的一系列操作,即垃圾收集操作。垃圾收集操作也可被称为合并操作。
下面将详细描述有效页面管理模块VPM、有效页面计数表VPCT和有效页面扫描表VPST。
重新参照图1,数据存储装置100的非易失性存储器装置300可通过通道CH与控制器200联接,通道CH包括至少一条能够传输命令、地址、控制信号和数据的信号线。非易失性存储器装置300可用作数据存储装置100的存储介质。
非易失性存储器装置300可通过诸如以下的各种类型的非易失性存储器装置中的任何一种进行配置:NAND闪速存储器、NOR闪速存储器、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PCRAM)以及使用过渡金属氧化物的电阻式随机存取存储器(RERAM)。
非易失性存储器装置300可包括存储器单元区域310。存储器单元区域310可包括多个存储块B1至Bm,并且存储块B1至Bm的每一个可包括多个页面P1至Pn。从操作视角或物理(或结构)视角来看,包括在存储器单元区域310中的存储器单元可被配置成分层存储器单元集或存储器单元组。例如,联接到相同字线并将被同时读取和写入(或编程)的存储器单元可被配置成页面P。在下面的描述中,为便于解释,被配置成页面P的存储器单元将被称为“页面”。此外,将被同时擦除的存储器单元可被配置成存储块B。
图3是示出根据本发明的实施例的存储块的示例性配置的简图。为便于解释,在下面例示图1中的存储器单元区域310的存储块B1至B8,其各自包括四个页面P1至P4。此外,作为示例,存储块B1到B7可被用作数据块DB,存储块B8可被控制单元210用作元块MB。数据块DB和元块MB的数量以及分配到每一个存储块的页面P的数量可以不同地改变。
数据块DB可被定义为用于存储用户数据的存储块。用户数据可指在由用户控制的主机装置的软件层中生成和使用的数据,诸如应用程序代码和文件。数据块DB可被划分成封闭块CB和开放块OB。
封闭块CB可被定义为被完全地写入数据的存储块。换言之,封闭块CB可指其中数据被写入到所有页面的存储块。封闭块CB的每一个可包括其中存储有效数据的页面(在下文中被称作有效页面VP)和其中存储无效数据的页面(在下文中被称作无效页面IVP)。例如,在图3的实施例中,封闭块CB包括存储块B1和B4。存储块B1包括作为有效页面VP的页面P1、P2和P4以及作为无效页面IVP的页面P3。存储块B4包括作为有效页面VP的页面P2和P3以及作为无效页面IVP的页面P1和P4。
开放块OB可被定义为未被完全地写入或其中写入正在进行的存储块。换言之,开放块OB可指仅在其中一部分页面中写入数据的存储块。开放块OB的每一个可包括有效页面VP和空闲页面EP。开放块OB也可被称为日志块或缓冲块。例如,开放块OB包括存储块B5和B7。存储块B5包括作为有效页面VP的页面P1、P2和P3以及作为空闲页面EP的页面P4。存储块B7为空闲块,因此具有作为空闲页面EP的页面P1至P4。
元块MB可被定义为用于存储元数据的存储块。元数据可指在控制器200中生成并使用的数据,诸如固件FW、地址映射表MAP、有效页面计数表VPCT和有效页面扫描表VPST。例如,在图3的实施例中,存储块B8为元块MB。存储块B8包括作为有效页面VP的页面P1和P2以及作为空闲页面EP的页面P3和P4。
图4是示出根据本发明的实施例的示例性有效页面计数表的简图。有效页面计数表VPCT可通过图2的有效页面管理模块VPM进行管理,并且可被定义为包括针对各个存储块BLK的有效页面计数信息VPC的表。例如,如图4所示的有效页面数量信息可以是各个存储块的有效页面数量。有效页面计数表VPCT可包括数据被写入其所有页面的多个存储块中的封闭块的每一个的有效页面的数量,以及数据被写入其部分页面中的多个存储块中的至少一个开放块的有效页面的数量。
有效页面管理模块VPM可对存储块的每一个执行有效页面扫描操作,并生成有效页面计数表VPCT。如果各个存储块的每一个的有效页面数量被改变,则有效页面管理模块VPM可在有效页面计数表VPCT上反映改变后的有效页面的数量。也就是说,如果各个存储块的每一个的有效页面数量被改变,则有效页面管理模块VPM可更新有效页面计数表VPCT。当图1的数据存储装置100发生断电或者发生元数据备份事件时,有效页面管理模块VPM可将加载在随机存取存储器220中的有效页面计数表VPCT备份到元块MB中。
在图4中示出了根据在特定时间点的封闭块B1至B4的有效页面生成的有效页面计数表VPCT。参照图4,因为第一存储块B1包括三个有效页面P1、P2和P4,所以第一存储块B1的有效页面计数VPC为“3”。因为第二存储块B2包括四个有效页面P1至P4,所以第二存储块B2的有效页面计数VPC为“4”。因为第三存储块B3包括四个有效页面P1至P4,所以第三存储块B3的有效页面计数VPC为“4”。因为第四存储块B4包括两个有效页面P2和P3,所以第四存储块B4的有效页面计数VPC为“2”。
图5是示出根据本发明的实施例的更新有效页面计数表VPCT的简图。有效页面计数表VPCT可能因各种原因而被更新。例如,将描述其中当执行垃圾收集操作然后从主机装置发出写入请求时,上文参照图4描述的有效页面计数表VPCT被更新的情况。在下面的描述中,当其中没有存储数据的空闲存储块中的任何一个被选择用于存储数据时,该操作将被称为开放空闲存储块,或者空闲存储块被开放或被分配以存储数据。在存储块被开放之后,存储块将被称为开放存储块。
如果对被选择为垃圾收集目标块的第一存储块B1执行垃圾收集操作,则第五存储块B5可作为垃圾收集块GCB被开放以收集有效数据。然后,第一存储块B1的有效页面P1、P2和P4可分别被复制到第五存储块B5的第一页面P1至第三页面P3,然后被改变为无效页面。在这种情况下,可更新垃圾收集目标块的有效页面计数VPC。例如,第一存储块B1的有效页面计数VPC可从“3”改变为“0”。另外,新开放的块OB的有效页面计数VPC可根据有效页面的数量来更新。例如,第五存储块B5的有效页面计数VPC可从“0”改变为“3”,而第六存储块B6的有效页面计数VPC可从“0”改变为“1”。
如果主机装置请求利用新的数据更新存储在第二存储块B2的第四页面P4中的数据,由于先前讨论的重写现有数据的限制,第六存储块B6可作为主机写入块HSB被开放以存储新的数据。然后,新的数据可被存储在第六存储块B6的第一页面P1中,并且第二存储块B2的第四页面P4可被改变为无效页面。在这种情况下,其中出现无效页面的块的有效页面计数VPC可根据无效页面的数量进行更新。例如,第二存储块B2的有效页面计数VPC可从“4”改变为“3”。另外,开放块的有效页面计数VPC可根据有效页面的数量进行更新。例如,第六存储块B6的有效页面计数VPC可从“0”改变为“1”。
图6是示出根据本发明的实施例的有效页面扫描表VPST的简图。通过图2的有效页面管理模块VPM管理的有效页面扫描表VPST可被定义为包括关于将执行有效页面扫描操作的位置的信息的表,在下文中简称扫描指针SP。扫描指针SP可指示已经被开放的存储块的空闲页面的地址。详细地,扫描指针SP可指示最后存储有数据的页面的下一页面的地址,即空闲页面中具有最快的编程顺序的页面的地址。
每当新开放存储块时,有效页面管理模块VPM可生成或更新有效页面扫描表VPST。例如,如果在垃圾收集块GCB被开放的情况下新开放主机写入块HSB,则有效页面管理模块VPM可生成或更新有效页面扫描表VPST。又例如,如果在主机写入块HSB被开放的情况下开放垃圾收集块GCB,则有效页面管理模块VPM可生成或更新有效页面扫描表VPST。
如果在没有生成有效页面扫描表VPST的情况下新开放存储块,则有效页面管理模块VPM可生成有效页面扫描表VPST。此外,如果在已经生成有效页面扫描表VPST的情况下新开放存储块,则有效页面管理模块VPM可更新有效页面扫描表VPST,从而反映新的扫描指针。
当发生元数据备份事件时,有效页面管理模块VPM可将加载在随机存取存储器220中的有效页面扫描表VPST备份到元块MB中。
例如,将描述上文参照图5描述的新开放的块B5和B6的有效页面扫描表VPST。参照图6,如果第七存储块B7被开放以执行垃圾收集操作或者处理用于更新用户数据的主机装置的写入请求,则第一扫描指针SP1可指示已经被开放的第五存储块B5的第四页面P4(即,根据编程顺序接下来将被编程的页面)的地址。此外,第二扫描指针SP2可指示已经被开放的第六存储块B6的第二页面P2(即,空闲页面中具有最快的编程顺序的页面)的地址。
图7是示出根据本发明的实施例的对有效页面计数表和有效页面扫描表的备份操作的流程图。参照图7,将描述通过图1的控制单元210驱动的有效页面管理模块VPM的操作。
在步骤S110中,可确定是否产生新开放的块。例如,可确定除已经被开放的存储块以外,是否新开放了存储块。在没有生成新开放的块的情况下,可结束该进程。
在步骤S120中,如上面参照图6所述,在已经生成新开放的块的情况下,可生成或更新有效页面扫描表VPST。
在步骤S130中,有效页面计数表VPCT(例如,图4和图5)和有效页面扫描表VPST(例如,图6)可被备份到元块(例如,图3中的存储器单元阵列310的MB中)中。也就是说,作为备份事件,通过考虑是否已经生成新开放的块,可将加载在随机存取存储器220中的有效页面计数表VPCT和有效页面扫描表VPST备份在元块MB中。
图8是示出根据本发明的实施例的从电源故障状态恢复的数据存储装置的操作的流程图。参照图8,将描述在从电力故障状态进行恢复时重建有效页面计数表VPCT的图1的控制单元210的操作。
在步骤S210中,可确定是否从电源故障状态进行恢复。在不从电源故障状态进行恢复的情况下,可结束该进程。
在步骤S220中,有效页面计数表VPCT(例如,图4和图5)和有效页面扫描表VPST(例如,图6)可从元块(例如,图3中的存储器单元阵列310的MB中)中读出。例如,在图7的步骤S130中被备份在元块中的有效页面计数表VPCT和有效页面扫描表VPST可被读出。
在步骤S230中,可通过参考有效页面扫描表VPST(例如,图6)的扫描指针SP来执行对开放块的有效页面扫描操作。例如,可从扫描指针SP开始扫描开放块OB的有效页面,并且可对开放块OB的有效页面重新计数。
在步骤S240中,可更新有效页面计数表VPCT(例如,图6)。换言之,在步骤S230中更新的开放块OB的有效页面的数量可被反映在有效页面计数表VPCT上。例如,根据在步骤S230中被计数的开放块OB的有效页面的数量,可增加开放块OB的有效页面计数,并且可根据与开放块OB的有效页面对应的封闭块CB的无效页面的数量,可减少封闭块CB的有效页面计数。
图9是示出根据本发明实施例的包括固态驱动器(SSD)的数据处理系统1000的简图。参照图9,数据处理系统1000可包括主机装置1100和SSD 1200。
SSD 1200可包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。|
控制器1210可控制SSD 1200的一般操作。控制器1210可包括经由内部总线可操作地联接的主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可包括命令、地址、数据等。主机接口单元1211可根据主机装置1100的协议来接口连接主机装置1100和SSD 1200。例如,主机接口单元1211可通过诸如以下的标准接口协议中的任何一种来与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e)和通用闪存(UFS)。
控制单元1212可分析和处理从主机装置1100接收的信号SGL。控制单元1212可根据用于驱动SDD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作驱动这种固件或软件的工作存储器。
ECC单元1214可生成被传输到非易失性存储器装置1231至123n中的至少一个的奇偶校验数据。生成的奇偶校验数据可与数据一起被存储在非易失性存储器装置1231至123n中。ECC单元1214可基于奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个读取的数据的错误。如果检测到的错误在可校正的范围内,则ECC单元1214可校正检测到的错误。
存储器接口单元1215可根据控制单元1212的控制将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n中的至少一个。此外,存储器接口单元1215可根据控制单元1212的控制与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口单元1215可将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n中的至少一个,或者将从非易失性存储器装置1231至123n中的至少一个读取的数据提供给缓冲存储器装置1220。
缓冲存储器装置1220可临时存储待存储在非易失性存储器装置1231至123n中的至少一个中的数据。此外,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。被临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。
非易失性存储器装置1231至123n可用作SSD 1200的存储介质。非易失性存储器装置1231至123n可通过多个通道CH1至CHn联接到控制器1210。一个或多个非易失性存储器装置可联接到一个通道。联接到相同通道的非易失性存储器装置可联接到相同的信号总线和数据总线。
电源1240可将通过电源连接器1260输入的电力PWR提供给SSD1200的内部。电源1240可包括辅助电源1241。当发生突然断电时,辅助电源1241可供电以允许SSD 1200被正常地终止。辅助电源1241可包括大容量电容器。
信号连接器1250可根据主机装置1100和SSD 1200之间的接口方案,通过各种类型的连接器进行配置。
根据主机装置1100的供电方案,电源连接器1260可通过各种类型的连接器进行配置。
图10是示出根据本发明的实施例的包括数据存储装置2200的数据处理系统2000的简图。参照图10,数据处理系统2000可包括主机装置2100和数据存储装置2200。
主机装置2100可以诸如印刷电路板的板形式来配置。虽然未示出,但是主机装置2100可包括用于执行主机装置的功能的内部功能块。
主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可通过被安装到连接端子2110而可操作地联接到主机2100。数据存储装置2200可以可拆卸地安装到连接端子2110。
数据存储装置2200可以诸如印刷电路板的板形式来配置。数据存储装置2200可被称为存储器模块或存储卡。数据存储装置2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可控制数据存储装置2200的一般操作。控制器2210可以与图9所示的控制器1210相同的方式进行配置。
缓冲存储器2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读取的数据。被临时存储在缓冲存储器2220中的数据可根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可用作数据存储装置2200的存储介质。
PMIC 2240可将通过连接端子2250输入的电力提供到数据存储装置2200的内部。PMIC 2240可在控制器2210的控制下来管理数据存储装置2200的电力。
连接端子2250可联接到,例如可拆卸地联接到主机装置2100的连接端子2110。通过连接端子2250,可在主机装置2100和数据存储装置2200之间传输诸如命令、地址、数据等的信号和电力。根据主机装置2100和数据存储装置2200之间的接口方案,连接端子2250可被配置成各种类型。连接端子2250可被设置在数据存储装置2200的任何一侧。
图11是示出根据本发明的实施例的包括数据存储装置3200的数据处理系统3000的简图。参照图11,数据处理系统3000可包括主机装置3100和数据存储装置3200。
主机装置3100可以诸如印刷电路板的板形式来配置。虽然未示出,但是主机装置3100可包括用于执行主机装置的功能的内部功能块。
数据存储装置3200可以表面安装型封装的形式来配置。数据存储装置3200可通过焊球3250而安装到主机装置3100。数据存储装置3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可控制数据存储装置3200的一般操作。控制器3210可以与图9所示的控制器1210相同的方式进行配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读取的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可用作数据存储装置3200的存储介质。
图12是示出根据本发明的实施例的包括数据存储装置的网络系统4000的简图。参照图12,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可将数据提供给多个客户端系统4410至4430。
服务器系统4300可包括主机装置4100和数据存储装置4200。数据存储装置4200可通过图1中所示的数据存储装置100、图9中所示的数据存储装置1200、图10中所示的数据存储装置2200或图11中所示的数据存储装置3200来配置。
图13是示出根据本发明的实施例的包括在数据存储装置300中的非易失性存储器装置的简图。参照图13,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可包括设置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域中的存储器单元MC。
行解码器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 (18)
1.一种用于操作数据存储装置的方法,所述数据存储装置包括非易失性存储器装置,所述非易失性存储器装置包括多个存储块,所述方法包括:
生成有效页面计数表,所述有效页面计数表包括数据被写入其所有页面的所述多个存储块中的封闭块的每一个的有效页面的数量,以及数据被写入其部分页面中的所述多个存储块中的至少一个开放块的有效页面的数量;
生成有效页面扫描表,所述有效页面扫描表包括用于扫描所述开放块的所述有效页面的数量的扫描指针;以及
将所述有效页面计数表和所述有效页面扫描表备份在所述多个存储块中的元块中。
2.根据权利要求1所述的方法,其中所述有效页面扫描表的生成包括:当所述多个存储块中的存储块被新开放时,生成所述有效页面扫描表。
3.根据权利要求1所述的方法,其中所述扫描指针指示所述开放块的空闲页面的地址。
4.根据权利要求1所述的方法,其中所述扫描指针指示所述开放块的空闲页面中具有最快的编程顺序的页面地址。
5.根据权利要求1所述的方法,其中所述有效页面计数表和所述有效页面扫描表的备份包括:当为了对所述封闭块中的任何一个执行垃圾收集操作而新开放存储块时,备份所述有效页面计数表和所述有效页面扫描表。
6.根据权利要求1所述的方法,其中所述有效页面计数表和所述有效页面扫描表的备份包括:当为了处理用于利用新的数据更新存储在所述封闭块中的数据的主机的写入请求而新开放存储块时,备份所述有效页面计数表和所述有效页面扫描表。
7.根据权利要求1所述的方法,其进一步包括:
当从电源故障状态进行恢复时,从所述元块中读出所述有效页面计数表和所述有效页面扫描表。
8.根据权利要求7所述的方法,其进一步包括:
从所述有效页面扫描表的所述扫描指针扫描所述开放块的所述有效页面的数量。
9.根据权利要求8所述的方法,其进一步包括:
根据从所述扫描指针扫描的所述开放块的所述有效页面的数量来更新所述有效页面计数表。
10.一种数据存储装置,其包括:
非易失性存储器装置,其包括未存储数据的空闲块、其中数据被存储在所有页面中的封闭块、其中数据仅存储在部分页面中的至少一个开放块以及元块;以及
控制器,其适于:
基于各个封闭块的有效页面的数量和所述开放块的有效页面的数量来生成有效页面计数表;
基于指示所述开放块的空闲页面的地址的扫描指针来生成有效页面扫描表;以及
将所述有效页面计数表和所述有效页面扫描表备份在所述元块中。
11.根据权利要求10所述的数据存储装置,其中所述控制器在所述空闲块中的任何一个变为开放块时生成所述有效页面扫描表。
12.根据权利要求10所述的数据存储装置,其中所述扫描指针指示所述开放块的空闲页面中具有最快的编程顺序的页面地址。
13.根据权利要求10所述的数据存储装置,
其中所述开放块是垃圾收集存储块,所述封闭块中的任何一个的至少一个有效页面被复制到所述垃圾收集存储块,并且
其中当为处理主机装置的写入请求而开放所述空闲块中的任何一个时,所述控制器备份所述有效页面计数表和所述有效页面扫描表。
14.根据权利要求10所述的数据存储装置,
其中所述开放块是主机写入块,所述主机写入块将存储有用于对存储在所述封闭块中的数据进行更新的数据,并且
其中当为执行垃圾收集操作而开放所述空闲块中的任何一个时,所述控制器备份所述有效页面计数表和所述有效页面扫描表。
15.根据权利要求10所述的数据存储装置,其中当从电源故障状态恢复时,所述控制器从所述元块读出所述有效页面计数表和所述有效页面扫描表。
16.根据权利要求15所述的数据存储装置,其中所述控制器从所述扫描指针扫描所述开放块的有效页面的数量。
17.根据权利要求16所述的数据存储装置,其中所述控制器根据从所述扫描指针开始扫描的所述开放块的所述有效页面的数量来更新所述有效页面计数表。
18.根据权利要求17所述的数据存储装置,其中所述控制器根据所述开放块的所述有效页面的数量来增加所述开放块的有效页面计数,并且根据与所述开放块的所述有效页面对应的所述封闭块的无效页面的数量来减少封闭块的有效页面计数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170066072A KR102233400B1 (ko) | 2017-05-29 | 2017-05-29 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2017-0066072 | 2017-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108932107A CN108932107A (zh) | 2018-12-04 |
CN108932107B true CN108932107B (zh) | 2021-06-25 |
Family
ID=64401191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711473187.7A Active CN108932107B (zh) | 2017-05-29 | 2017-12-29 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10430297B2 (zh) |
KR (1) | KR102233400B1 (zh) |
CN (1) | CN108932107B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285970B2 (en) * | 2008-11-06 | 2012-10-09 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
KR20190092054A (ko) * | 2018-01-30 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10936199B2 (en) * | 2018-07-17 | 2021-03-02 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
CN111161781A (zh) * | 2018-11-07 | 2020-05-15 | 爱思开海力士有限公司 | 用于处理编程错误的存储器系统及其方法 |
KR20200078046A (ko) * | 2018-12-21 | 2020-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200087487A (ko) * | 2019-01-11 | 2020-07-21 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 유효 데이터 체크 방법 및 장치 |
KR20200142698A (ko) * | 2019-06-13 | 2020-12-23 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI688958B (zh) * | 2019-08-23 | 2020-03-21 | 群聯電子股份有限公司 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
KR20210063764A (ko) * | 2019-11-25 | 2021-06-02 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 및 장치 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779195A (zh) * | 2007-06-08 | 2010-07-14 | 桑迪士克公司 | 用于存储器装置的存储地址重新映射的方法和系统 |
TW201227740A (en) * | 2010-12-31 | 2012-07-01 | Silicon Motion Inc | Method for performing block management, and associated memory device and controller thereof |
CN103064641A (zh) * | 2013-02-05 | 2013-04-24 | 威盛电子股份有限公司 | 非易失性存储装置及其操作方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
CN103246519A (zh) * | 2013-05-23 | 2013-08-14 | 清华大学 | 在闪存存储设备中提供通用事务支持的方法 |
KR101301828B1 (ko) * | 2011-09-29 | 2013-08-29 | 한양대학교 산학협력단 | 플래시 메모리에 기반한 ssd에서의 전원-손실 복구 방법 및 장치 |
CN104346286A (zh) * | 2013-07-25 | 2015-02-11 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN104750626A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN105573918A (zh) * | 2015-12-17 | 2016-05-11 | 深圳市新国都支付技术有限公司 | 一种轻量级闪存系统和方法 |
CN105930280A (zh) * | 2016-05-27 | 2016-09-07 | 诸葛晴凤 | 一种面向非易失性内存的高效的页面组织和管理方法 |
CN106021013A (zh) * | 2016-03-22 | 2016-10-12 | 威盛电子股份有限公司 | 非挥发性存储器装置及其操作方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IE33779B1 (en) * | 1969-04-23 | 1974-10-30 | Gen Electric | Semiconductor rectifier assemblies |
JP5130646B2 (ja) | 2005-06-06 | 2013-01-30 | ソニー株式会社 | 記憶装置 |
JP5617873B2 (ja) * | 2005-06-06 | 2014-11-05 | ソニー株式会社 | 記憶装置 |
KR102391678B1 (ko) * | 2015-01-22 | 2022-04-29 | 삼성전자주식회사 | 저장 장치 및 그것의 서스테인드 상태 가속 방법 |
IN2015CH01601A (zh) * | 2015-03-28 | 2015-05-01 | Wipro Ltd | |
KR102491624B1 (ko) * | 2015-07-27 | 2023-01-25 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법 |
US10372533B2 (en) * | 2016-03-28 | 2019-08-06 | Via Technologies, Inc. | Non-volatile memory apparatus and empty page detection method thereof |
-
2017
- 2017-05-29 KR KR1020170066072A patent/KR102233400B1/ko active IP Right Grant
- 2017-12-04 US US15/830,901 patent/US10430297B2/en active Active
- 2017-12-29 CN CN201711473187.7A patent/CN108932107B/zh active Active
-
2019
- 2019-08-28 US US16/554,306 patent/US10997039B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779195A (zh) * | 2007-06-08 | 2010-07-14 | 桑迪士克公司 | 用于存储器装置的存储地址重新映射的方法和系统 |
TW201227740A (en) * | 2010-12-31 | 2012-07-01 | Silicon Motion Inc | Method for performing block management, and associated memory device and controller thereof |
KR101301828B1 (ko) * | 2011-09-29 | 2013-08-29 | 한양대학교 산학협력단 | 플래시 메모리에 기반한 ssd에서의 전원-손실 복구 방법 및 장치 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
CN103064641A (zh) * | 2013-02-05 | 2013-04-24 | 威盛电子股份有限公司 | 非易失性存储装置及其操作方法 |
CN103246519A (zh) * | 2013-05-23 | 2013-08-14 | 清华大学 | 在闪存存储设备中提供通用事务支持的方法 |
CN104346286A (zh) * | 2013-07-25 | 2015-02-11 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN104750626A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN105573918A (zh) * | 2015-12-17 | 2016-05-11 | 深圳市新国都支付技术有限公司 | 一种轻量级闪存系统和方法 |
CN106021013A (zh) * | 2016-03-22 | 2016-10-12 | 威盛电子股份有限公司 | 非挥发性存储器装置及其操作方法 |
CN105930280A (zh) * | 2016-05-27 | 2016-09-07 | 诸葛晴凤 | 一种面向非易失性内存的高效的页面组织和管理方法 |
Non-Patent Citations (1)
Title |
---|
"基于闪存特性的存储优化及应用研究";石伟;《《中国博士学位论文全文数据库(信息科技辑)》;20160715(第2016年第07期);第I137-11页正文第30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108932107A (zh) | 2018-12-04 |
KR20180130229A (ko) | 2018-12-07 |
US20190384681A1 (en) | 2019-12-19 |
US10430297B2 (en) | 2019-10-01 |
US10997039B2 (en) | 2021-05-04 |
US20180341557A1 (en) | 2018-11-29 |
KR102233400B1 (ko) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932107B (zh) | 数据存储装置及其操作方法 | |
CN107168886B (zh) | 数据存储装置及其操作方法 | |
CN107240420B (zh) | 数据存储装置及其操作方法 | |
US11086772B2 (en) | Memory system performing garbage collection operation and operating method of memory system | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
CN109240937B (zh) | 数据存储装置及其操作方法 | |
US10558562B2 (en) | Data storage device and operating method thereof | |
CN113741798A (zh) | 数据存储装置及其操作方法 | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN109240949B (zh) | 数据存储装置及其操作方法 | |
US11169871B2 (en) | Data storage device and operating method thereof | |
US20190361608A1 (en) | Data storage device and operation method for recovery, and storage system having the same | |
KR20230037255A (ko) | 이벤트 로그 관리 방법, 컨트롤러 및 저장 장치 | |
US10657046B2 (en) | Data storage device and operating method thereof | |
US20200394134A1 (en) | Data storage device and operating method thereof | |
US9966148B1 (en) | Data storage device and operating method thereof | |
US20220171706A1 (en) | Memory system and operating method thereof | |
KR20190084488A (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 |