CN102044295B - 非易失性存储器系统以及在电源中断期间保存数据的方法 - Google Patents

非易失性存储器系统以及在电源中断期间保存数据的方法 Download PDF

Info

Publication number
CN102044295B
CN102044295B CN201010508318.2A CN201010508318A CN102044295B CN 102044295 B CN102044295 B CN 102044295B CN 201010508318 A CN201010508318 A CN 201010508318A CN 102044295 B CN102044295 B CN 102044295B
Authority
CN
China
Prior art keywords
metadata
nonvolatile memory
compression
buffer storage
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
Application number
CN201010508318.2A
Other languages
English (en)
Other versions
CN102044295A (zh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN102044295A publication Critical patent/CN102044295A/zh
Application granted granted Critical
Publication of CN102044295B publication Critical patent/CN102044295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种非易失性存储器系统以及在电源中断期间保存数据的方法。所述非易失性存储器系统包括在发生意外的电源中断的情况下提供电力的临时电源。当存储在一个或多个缓冲器中的元数据被压缩并被发送到非易失性存储器装置时,所述临时电源提供电力。

Description

非易失性存储器系统以及在电源中断期间保存数据的方法
本申请要求于2009年10月16日提交的第10-2009-0098615号韩国专利申请的优先权,其公开通过引用全部包含于此。
技术领域
本发明构思的实施例总体上涉及非易失性存储器系统。更具体地讲,本发明构思的实施例涉及当出现电源中断时能够防止数据损失的非易失性存储器系统。
背景技术
半导体存储器装置可被粗略分为两类,即,易失性存储器装置和非易失性存储器装置,易失性存储器装置在电源断开时丢失所存储的数据,而非易失性存储器装置在电源断开时保留所存储的数据。易失性存储器装置的示例包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM),非易失性存储器装置的示例包括电可擦除可编程只读存储器(EEPROM)、铁电随机存取存储器(FRAM)、相变随机存取存储器(PRAM)、磁性随机存取存储器(MRAM)和闪速存储器。
在这些非易失性存储器装置中,闪速存储器由于具有相对高的程序速度、低功耗和大存储容量而众所周知。因此,在各种电子装置中(例如,在MP3播放器、数字相机、固态驱动器(SSD)和计算机系统中,不一一列举),闪速存储器装置已经被用作数据存储介质。
非易失性存储器(诸如闪速存储器)通常集成到非易失性存储器系统(例如,SSD)中,以对各种电子应用提供大数据容量。非易失性存储器系统通常从外部电源或内部电源(诸如,110V或220VAC电源或例如电池的DC电源)接收电力。
遗憾的是,电源容易出现故障,这可导致即使在非易失性存储器装置中也出现数据损失。例如,如果非易失性存储器装置的电源在编程操作期间被意外中断,则非易失性存储器装置的一些存储单元(memorycell)会处于未知状态,这会潜在地导致灾难性的系统故障。
发明内容
本发明构思的实施例提供一种非易失性存储器系统,该非易失性存储器系统在发生意外的电源中断的情况下稳定地备份元数据。
根据本发明构思的实施例,一种非易失性存储器系统包括:第一缓冲存储器,被配置为存储元数据;数据压缩器,被配置为压缩元数据;多个非易失性存储器装置,被配置为存储压缩的元数据;存储器系统控制单元,被配置为当临时电源将电力提供给所述非易失性存储器系统时,控制数据压缩器压缩存储在第一缓冲存储器中的元数据,还被配置为控制所述多个非易失性存储器装置中的至少一个非易失性存储器装置存储压缩的元数据。
在特定实施例中,控制数据压缩器压缩元数据以及控制非易失性存储器装置存储压缩的元数据被并行执行。在特定实施例中,该非易失性存储器系统还包括:第二缓冲存储器,被配置为存储压缩的元数据。在特定实施例中,以与所述至少一个非易失性存储器装置的写入单元对应的单位为单位,压缩的元数据从第二缓冲存储器被发送到所述至少一个非易失性存储器装置。在特定实施例中,第二缓冲存储器以先入先出的方式接收并发送压缩的元数据。
在特定实施例中,在存储器系统控制单元从外部装置没有接收到读取请求或写入请求的待机操作期间,元数据被存储在所述至少一个非易失性存储器装置中。在特定实施例中,元数据在被存储在所述至少一个非易失性存储器装置中之前被数据压缩器压缩。在特定实施例中,当电力从临时电源被提供给所述非易失性存储器系统时,数据压缩器仅压缩存储在第一缓冲存储器中的元数据中的更新的元数据。
在特定实施例中,所述至少一个非易失性存储器装置包括被分配用于存储压缩的元数据的保留区域。在特定实施例中,保留区域被配置为在单层单元模式下操作。在特定实施例中,压缩的元数据以分布式方式被发送到所述多个非易失性存储器装置。在特定实施例中,所述非易失性存储器系统是包括多个闪速存储器装置的SSD。在特定实施例中,第二缓冲存储器是第一缓冲存储器的保留区域,或者被集成到数据压缩器中。
根据本发明构思的另一实施例,提供一种管理在发生意外的电源故障时由临时电源驱动的非易失性存储器系统的数据的方法。所述方法包括:压缩所述非易失性存储器系统的元数据;将压缩的元数据存储在缓冲存储器中;将临时存储的压缩的元数据存储在多个非易失性存储器装置中的至少一个非易失性存储器装置中。
在特定实施例中,压缩元数据的步骤以及存储压缩的元数据的步骤被并行执行。在特定实施例中,所述方法还包括:在存储器系统器从外部装置没有接收到读取请求或写入请求的待机操作期间,将元数据存储在所述至少一个非易失性存储器装置中。
在特定实施例中,所述方法还包括:当电力从临时电源被提供给所述非易失性存储器系统时,仅压缩元数据中的更新的元数据;将压缩的更新的元数据存储在所述至少一个非易失性存储器装置中。
在特定实施例中,仅压缩元数据中的更新的元数据的步骤以及存储压缩的更新的元数据的步骤被并行执行。在特定实施例中,所述至少一个非易失性存储器装置包括用于存储压缩的元数据的保留区域,所述保留区域在单层单元模式下操作。
在特定实施例中,压缩的元数据以分布式方式被发送到所述多个非易失性存储器装置。
附图说明
下面参照附图描述本发明构思的实施例。在附图中,相同的标号表示相同的特征。
图1是示出根据本发明构思的实施例的包括闪速存储器装置的非易失性存储器系统的框图。
图2是示出图1中的非易失性存储器系统的软件架构的示图。
图3A和图3B是示出图2中的闪速转换层的框图。
图4是示出存储在图1中的非易失性存储器系统的缓冲存储器中的数据结构的示图。
图5是示出根据本发明构思的另一实施例的非易失性存储器系统的框图。
图6包括电压示图和两个存储器示图,这些示图示出了在图5中的超级电容器的放电期间非易失性存储器系统的操作。
图7是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。
图8是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
图9A和图9B是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。
图10是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
图11是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。
图12是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
图13是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。
图14是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
图15是示出根据本发明构思的实施例的闪速存储器的操作模式的示图。
图16是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。
图17是示出根据本发明构思的实施例的非易失性存储器系统的框图。
具体实施方式
下面参照附图描述本发明构思的实施例。提供所描述的实施例作为教导示例,并且所描述的实施例不应被解释为限制本发明构思的范围。
图1是示出根据本发明构思的实施例的包括闪速存储器装置的非易失性存储器系统100的框图。
参照图1,非易失性存储器系统100包括系统总线10、中央处理单元(CPU)20、缓冲存储器30、存储器控制器43和非易失性存储器(NVM)装置47。
为了解释的目的,假设非易失性存储器装置47包括多个NAND闪速存储器。然而,非易失性存储器装置47不限于NAND闪速存储器,可包括其它形式的非易失性存储器,诸如NOR闪速存储器、PRAM、FRAM和MRAM。
系统总线10提供非易失性存储器系统100的部件之间的数据传输路径。CPU20控制非易失性存储器系统100执行由主机系统(未示出)请求的操作,诸如读取操作和写入操作。为了控制非易失性存储器系统100,CPU20将固件临时存储在缓冲存储器30中,并且执行存储的固件,以向闪速存储器47发出一系列读取命令或写入命令。闪速存储器控制器43响应于来自CPU20的读取请求和写入请求直接控制闪速存储器47。
图2是示出图1中的非易失性存储器系统100的软件架构的示图。
参照图2,主机系统(未示出)具有软件层,这些软件层包括文件系统52和应用51。非易失性存储器系统100具有软件层和硬件层,该软件层包括闪速转换层(flashtranslationlayer,FTL)53,该硬件层包括闪速存储器54。
当从应用51接收到读取请求或写入请求时,文件系统52将读取扇区地址或写入扇区地址以及相应的命令发送到FTL53。FTL53将接收的命令发送到闪速存储器54。FTL53还将接收的扇区地址转换为闪速存储器54的存储器地址,并且将存储器地址发送到闪速存储器54。
图3A和图3B是示出图2中的FTL53的框图。具体地讲,图3A示出了FTL53的命令转换方面,图3B示出了FTL53的地址转换方面。
参照图3A,FTL53接收读取命令和写入命令,并且将读取命令和写入命令转换为将被发送到闪速存储器54的读取命令、写入命令和擦除命令的各种组合。在一个示例中,FTL53从文件系统52接收写入命令,并且将该写入命令转换为擦除命令和一个或多个写入命令。添加擦除命令的一个原因在于,闪速存储器54在能够被重写之前必须被擦除。换句话说,闪速存储器54不能被重写替换。另外,闪速存储器54的擦除操作通常擦除整块的存储器单元,所述块可能包括应该被保留的数据。因此,还需要FTL53执行移动命令,以将所存储的数据保留在另一位置。
当从文件系统52(即,上层)接收到对于扇区地址的读取请求或写入请求时,FTL53执行命令转换,以使得闪速存储器54能够执行读取操作或写入操作。另外,FTL53管理闪速存储器54的坏块,并监控每一块的磨损等级(wearlevel)。
参照图3B,FTL53将从文件系统52接收的逻辑地址映射到闪速存储器54的物理地址。FTL53将扇区地址(作为从文件系统52接收的虚拟盘上的逻辑地址)转换为块号、页号或列号(作为闪速存储器54上的物理地址)。通常参照由FTL53管理的地址映射表来执行这种地址转换。
图4是示出存储在非易失性存储器系统100的缓冲存储器30中的数据结构的示图。
参照图1和图4,缓冲存储器30包括非易失性存储器,诸如DRAM、SRAM、PRAM或其它类型的非易失性存储器。CPU20在将从闪速存储器47读取的数据提供给主机系统之前,将所述数据临时存储在缓冲存储器30中。CPU20在将待被写入非易失性存储器系统100中的数据写入闪速存储器47中之前,将所述数据临时存储在缓冲存储器30中。将被提供给主机系统的数据或从主机系统接收的数据通常包括应用51执行的数据以及主机系统的用于数据管理的元数据。所述数据通常临时存储在缓冲存储器30的第一区域31中。
CPU20执行固件以控制非易失性存储器系统100。固件临时存储在缓冲存储器30的第一区域31中。CPU20还将在固件执行期间产生和更新的系统数据临时存储在缓冲存储器30中。
系统数据包括在固件执行期间产生和更新的程序序列数据和寄存器数据。系统数据通常还包括由图2中的FTL53磨损等级数据、坏块数据和地址映射数据。该数据被称为非易失性存储器系统100的管理数据或元数据,并且被存储在缓冲存储器30的第二区域33中。
图5是示出根据本发明构思的另一实施例的非易失性存储器系统1000的框图。为了解释的目的,假设非易失性存储器系统1000包括SSD,SSD使用一个或多个闪速存储器装置作为其存储介质。然而,本发明构思不限于SSD。
参照图5,SSD1000包括系统总线210、CPU220、缓冲存储器230、存储器控制器243、非易失性存储器装置247、数据压缩器250和电源260。
非易失性存储器装置247通常包括多个NAND闪速存储器。然而,非易失性存储器装置247不限于包括NAND闪速存储器。例如,非易失性存储器装置247可选择地包括诸如NOR闪速存储器、PRAM、FRAM和MRAM的非易失性存储器。
数据压缩器250通过系统总线210连接到缓冲存储器230。数据压缩器250在CPU220的控制下对临时存储在缓冲存储器230中的数据进行压缩。数据压缩器250还在CPU220的控制下恢复临时存储在闪速存储器247中的压缩的数据。数据压缩器250通常将压缩的数据临时存储在缓冲存储器(诸如缓冲存储器230)中。
考虑到期望的压缩率和效率,可按照软件或硬件来实现数据压缩器250。另外,数据压缩器250可执行各种压缩算法中的任意一种,诸如霍夫曼编码或其它无损压缩方案。
电源260向SSD1000的每个部件供电。电源260包括主电源261以及用作临时电源的超级电容器265。主电源261转换外部电压,并且将转换的电压提供给每个部件。例如,当特定部件使用比外部电压高的电压时,主电源261提升外部电压,并且将提升的电压提供给该特定部件。当一部件使用比外部电压低的电压时,主电源261降低外部电压,并且将降低的电压提供给该部件。
在发生意外的电源中断的情况下,超级电容器265对SSD1000临时供电。发生意外的电源故障,例如,在停电的情况下,SSD1000突然不能接收必要的电力。这样的电源故障将被称为意外的电源中断。
当在SSD1000的写入操作或擦除操作期间发生意外的电源中断时,SSD1000可遭受严重错误。严重错误的示例是SSD1000或主机系统的元数据或用户数据的异常存储。
为了防止这样的数据存储错误,主电源261检测外部电压的电平,当检测的电压电平由于发生了意外的电源中断而下降到预定电压电平之下时,主电源261控制超级电容器265放电。在超级电容器265的放电期间,CPU220控制闪速存储器控制器243完成闪速存储器247的正在进行的写入操作或擦除操作。CPU220还将存储在缓冲存储器230中的任何元数据存储在闪速存储器247中,以正常地终止SSD1000的操作。
图6包括电压示图和两个存储器示图,这些示图示出了在超级电容器265的放电期间非易失性存储器系统1000的操作。
参照图5和图6,在时间t0发生意外的电源中断的情况下,主电源261检测在间隔t0-t1期间的外部电压的电平,并控制超级电容器265放电。超级电容器265在时间t1开始放电,CPU220执行用于处理意外的电源中断的操作。具体地讲,CPU220将存储在缓冲存储器230中的用户数据和元数据发送到闪速存储器247。由于超级电容器265放电的电压电平随时间而下降,所以尽管提供了能够操作SSD1000的电压电平,但是CPU220必须在时间t2之前执行用于处理意外的电源中断的操作。
在SSD1000由于意外的电源中断而被临时电源驱动的同时,CPU220控制数据压缩器250压缩存储在缓冲存储器230中的数据,以减小临时电源的功耗。CPU220控制闪速存储器控制器243将压缩的数据存储在闪速存储器247中。当存储在缓冲存储器230中的所有数据被压缩并被发送到闪速存储器247时,临时电源可能被耗尽。因此,在一些实施例中,CPU220只选择必须被保留的重要数据,并且将选择的数据发送到数据压缩器250。
缓冲存储器230包括第一区域231,第一区域231存储将被提供给主机系统的数据、从主机系统接收的数据或用于控制SSD1000的固件。缓冲存储器230包括第二区域233,第二区域233存储在应用程序的执行期间产生和更新的管理数据(例如,诸如地址映射数据的元数据)。
由于储存在临时电源中的电量有限,所以在发生意外的电源中断的情况下,可能不能将存储在缓冲存储器230中的所有数据发送到闪速存储器247。因此,在一些实施例中,CPU220控制数据压缩器250选择性地仅压缩必须被保留的管理数据233,并且CPU220控制闪速存储器控制器243将压缩的管理数据存储在闪速存储器247的预定区域249中。
虽然一些实施例在发生意外的电源中断的情况下仅压缩并存储管理数据,但是在发生意外的电源中断的情况下,也可压缩并存储其它类型的数据。例如,在一些实施例中,在发生意外的电源中断的情况下,存储在缓冲存储器230中的所有数据可压缩被并被存储在闪速存储器247中。
图7是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。为了简化解释,图7示出了存储在缓冲存储器230中的3个单元的元数据1至元数据3。
参照图5和图7,当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220在存储在缓冲存储器230中的数据中选择必须被保留的元数据1至元数据3,并且将选择的数据发送到数据压缩器250。CPU220控制数据压缩器250压缩接收的元数据1至元数据3并将压缩的元数据1至元数据3发送到缓冲存储器270。在各种可替换的实施例中,缓冲存储器270可被集成到数据压缩器250、缓冲存储器230或CPU220中。
缓冲存储器270具有先入先出(FIFO)结构,该结构用于按照接收的顺序将压缩的元数据1至元数据3发送到闪速存储器247。一旦压缩的元数据1至元数据3被存储在缓冲存储器270中,则CPU220控制闪速存储器控制器243将将压缩的元数据1至元数据3存储在闪速存储器247的保留区域中。闪速存储器247的保留区域通常由CPU220预先分配。但是,保留区域不限于被预先分配。
一旦在发生意外的电源中断之后对SSD1000恢复了外部电源,则CPU220使用数据压缩器250恢复存储在闪速存储器247中的压缩的元数据1至元数据3。当元数据被无损压缩和恢复时,CPU220将恢复的元数据存储在缓冲存储器230中以备随后使用。当元数据没有被无损压缩和恢复时,CPU220复原元数据的恢复部分,并将其存储在缓冲存储器230中以备随后使用。
图8是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
参照图5和图8,SSD1000执行由主机请求的操作。例如,SSD1000基于由主机发出的请求对特定扇区执行读取操作和写入操作。在这些操作期间,SSD1000保持对超级电容器265充电,以对可能的掉电做准备(S301)。
当发生意外的电源中断时(S302),主电源261检测SSD1000的外部电压的电平。当检测的电压电平低于预定的电压电平时,超级电容器265在主电源261的控制下放电,以对SSD1000供电(S303)。
CPU220从存储在缓冲存储器230中的数据中选择将被保留的元数据,并且将选择的元数据发送到数据压缩器250。当数据压缩器250接收到元数据时,数据压缩器250在CPU220的控制下压缩元数据(S304)。在CPU220的控制下,压缩的元数据被临时存储在图7中的缓冲存储器270中(S305)。
当所有压缩的元数据都被存储在缓冲存储器270中时,CPU220控制闪速存储器控制器243将压缩的元数据存储在闪速存储器247的保留区域中(S306)。
图9A和图9B是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。为了简化描述,图9A和图9B示出了包括存储在缓冲存储器230中的管理数据的3个单元的元数据1至元数据3。
参照图5和图9A,当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220在临时存储在缓冲存储器230中的数据中选择将被保留的元数据,压缩选择的元数据,并且将压缩的元数据存储在闪速存储器247中。CPU220并行地执行元数据的压缩以及压缩的元数据的存储。具体地讲,CPU220控制数据压缩器250压缩元数据1,并且控制闪速存储器控制器243将压缩的元数据1存储在闪速存储器247中。在闪速存储器控制器243将压缩的元数据1存储在闪速存储器247中的同时,CPU220控制数据压缩器250压缩元数据2,并且控制闪速存储器控制器243将压缩的元数据2存储在闪速存储器247中。CPU220类似地并行处理元数据2和元数据3。
参照图5和图9B,当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220在临时存储在缓冲存储器230中的数据中选择将被保留的元数据1至元数据3,并且将元数据1和元数据2发送到数据压缩器250。在CPU220的控制下,数据压缩器250压缩接收的元数据1至元数据3,并且将压缩的元数据1和元数据2发送到缓冲存储器270。
由于闪速存储器247以页(page)为单位执行写入操作,所以可能包括多余1页的压缩的元数据被存储在闪速存储器247之前,缓冲存储器270临时存储所述压缩的元数据。在各种可替换的实施例中,缓冲存储器270可被集成到数据压缩器250中,可被集成到缓冲存储器230的一部分中,或者可被集成到CPU220的缓冲存储器中。
缓冲存储器270具有FIFO结构,因此压缩的元数据1和元数据2按照接收的顺序从缓冲存储器270被发送到闪速存储器247。缓冲存储器270被配置为以页为单位存储数据,页是闪速存储器247的写入单元。因此,在图9B的示例中,元数据1被划分为页1-a、页1-b等,以便存储在缓冲存储器270中。
CPU220控制闪速存储器控制器243将压缩的元数据1-a存储在闪速存储器247的保留区域中。闪速存储器247的保留区域通常由CPU220预先分配。但是,保留区域不限于被预先分配。
在压缩的元数据1-a被存储在闪速存储器247中的同时,CPU220将压缩的元数据2发送到缓冲存储器270,并且将元数据3发送到数据压缩器250。即,CPU220可并行地执行元数据的压缩以及压缩的元数据在闪速存储器247中的存储。
当对SSD1000正常供电时,CPU220使用数据压缩器250来恢复存储在闪速存储器247中的压缩的元数据1至元数据3。当元数据被无损压缩和恢复时,CPU220将恢复的元数据存储在缓冲存储器230中以备随后使用。当元数据没有被无损压缩和恢复时,CPU220复原元数据的任何可复原部分,并将其存储在缓冲存储器230中以备随后使用。
图10是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
参照图5和图10,SSD1000执行由主机系统请求的操作。例如,SSD1000基于由主机发出的请求对特定扇区执行读取操作和写入操作。在这些操作期间,SSD1000保持对超级电容器265充电,以对可能的掉电做准备(S401)。
当发生意外的电源中断时(S402),主电源261检测SSD1000的外部电压的电平。当检测的电压电平低于预定的电压电平时,超级电容器265在主电源261的控制下放电,以对SSD1000供电(S403)。
CPU220从存储在缓冲存储器230中的数据中选择将被保留的元数据,并且将选择的元数据发送到数据压缩器250。当数据压缩器250接收到元数据时,数据压缩器250在CPU220的控制下压缩元数据(S404)。在CPU220的控制下,压缩的元数据被临时存储在图9B中的缓冲存储器270中(S405)。接着,CPU220确定缓冲存储器270是否被填满或者确定缓冲存储器230中的所有请求的元数据是否已经被发送到缓冲存储器270(S406)。如果是(S406中的“是”),则CPU220控制闪速存储器控制器243将闪速存储器247的1页大小的压缩的元数据存储在闪速存储器247的保留区域中(S407)。否则(S406中的“否”),该方法返回到步骤S404。换句话说,CPU220控制数据压缩器250压缩另外的元数据并将压缩的元数据存储在缓冲存储器270中。CPU220通常并行地执行元数据的压缩以及压缩的元数据在闪速存储器247中的存储。
图11是示出根据本发明构思的另一实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。为了简化描述,图11示出了元数据1至元数据3组成存储在缓冲存储器230中的管理数据。
参照图5和图11,在没有出现来自主机系统(未示出)的请求命令(例如,数据读取/写入命令)的待机时间期间,CPU220控制数据压缩器250压缩存储在缓冲存储器230中的元数据1至元数据3。在待机时间期间,CPU220还控制闪速存储器控制器243将压缩的元数据1至元数据3存储在闪速存储器247的保留区域中。
当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220在存储在缓冲存储器230中的数据中仅选择元数据1至元数据3的更新部分,并且将选择的部分发送到数据压缩器250。
由于存储在缓冲存储器230中的元数据1至元数据3在待机时间期间被压缩,所以在由于发生意外的电源中断而由临时电源驱动SSD1000的情况下,CPU220仅选择更新部分UD1和UD2,并压缩和存储更新部分UD1和UD2。更新的元数据UD1和UD2包括从在待机时间期间元数据1至元数据3最后一次被压缩和存储之后被更新的元数据。
当数据压缩器250接收到更新的元数据UD1和UD2时,在CPU220的控制下,数据压缩器250压缩更新的元数据UD1和UD2,并将压缩的元数据UD1和UD2发送到缓冲存储器270。
因为闪速存储器247以页为单位执行写入操作,所以缓冲存储器270在执行闪速存储器247中的存储之前以页为单位存储压缩的元数据。在各种可替换的实施例中,缓冲存储器270可被集成到数据压缩器250中,可被集成到缓冲存储器230的一部分中,或者可被集成到CPU220的缓冲存储器中。
缓冲存储器270通常具有FIFO结构。因此,由数据压缩器250压缩的更新的元数据UD1和UD2按照其在缓冲存储器270中被接收的顺序从缓冲存储器270被发送到闪速存储器247。
当所有压缩的元数据UD1和元数据UD2被存储在缓冲存储器270中时,CPU220控制闪速存储器控制器243将压缩的元数据UD1和元数据UD2存储在闪速存储器247的保留区域中。闪速存储器247的保留区域通常由CPU220预先分配。但是,保留区域不限于被预先分配。
当对SSD1000恢复了外部电源时,CPU220使用数据压缩器250恢复存储在闪速存储器247中的压缩的元数据1至元数据3。当元数据被无损压缩和恢复时,CPU220将恢复的元数据存储在缓冲存储器230中以备随后使用。当元数据没有被无损压缩和恢复时,CPU220复原元数据的任何可复原部分,并将其存储在缓冲存储器230中以备随后使用。
图12是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
参照图5和图12,SSD1000响应于来自主机系统的请求执行存储器存取操作。例如,SSD1000响应于相应的读取请求和写入请求执行读取操作和写入操作。在SSD1000的正常操作期间,超级电容器265被充电(S501)。
在没有从主机系统接收到请求的待机时间期间,CPU220选择存储在缓冲存储器230中的元数据,并且将元数据发送到数据压缩器250。数据压缩器250在CPU220的控制下压缩接收的元数据(S502)。
在待机时间期间,数据压缩器250在CPU220的控制下将压缩的元数据发送到图11中的缓冲存储器270(S503)。当所有压缩的元数据被存储在缓冲存储器270时,CPU220控制闪速存储器控制器243将压缩的元数据存储在闪速存储器247的保留区域中(S504)。
当发生意外的电源中断时(S505),主电源261检测SSD1000的外部电压的电平。当检测的电压电平低于预定的电压电平时,超级电容器265在主电源261的控制下放电,以对SSD1000供电(S506)。
CPU220选择存储在缓冲存储器230中的元数据的更新部分,并且将选择的部分发送到数据压缩器250。所述更新部分是与已经存储在闪速存储器247中的元数据不同的元数据的那些部分。数据压缩器250在CPU220的控制下压缩更新的元数据(S507)。在CPU220的控制下,压缩的元数据被临时存储在缓冲存储器270中(S508)。
当所有压缩的元数据被存储在缓冲存储器270中时,CPU220控制闪速存储器控制器243将压缩的元数据存储在闪速存储器247的保留区域中(S509)。
图13是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。为了简化解释,图13示出了存储在缓冲存储器230中的3个单元的元数据1至元数据3。
参照图5和图13,在没有从主机系统(未示出)接收到请求的待机时间期间,CPU220控制数据压缩器250压缩元数据1至元数据3。CPU220控制闪速存储器控制器243将压缩的元数据1至元数据3存储在闪速存储器247的保留区域中。CPU220可在没有从主机系统接收到请求的待机时间期间控制闪速存储器控制器243将元数据1至元数据3存储在闪速存储器247中。
当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220在存储在缓冲存储器230中的数据中仅选择元数据1至元数据3的更新部分,并且将更新部分发送到数据压缩器250。
由于存储在缓冲存储器230中的元数据1至元数据3在待机时间期间被压缩,所以当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220仅选择元数据1至元数据3的更新部分UD1和UD2,并压缩和存储更新部分UD1和UD2。更新的元数据UD1和UD2是从在待机时间期间元数据1至元数据3最后一次被压缩和存储之后被更新的元数据。
数据压缩器250在CPU220的控制下压缩更新的元数据UD1和UD2。数据压缩器250还在CPU220的控制下将压缩的元数据UD1和UD2发送到缓冲存储器270。
因为闪速存储器247基于页执行写入操作,所以缓冲存储器270在执行闪速存储器247中的存储之前以页为单位存储压缩的元数据。在各种可替换的实施例中,缓冲存储器270可被集成到数据压缩器250中,可被集成到缓冲存储器230的一部分中,或者可被集成到CPU220的缓冲存储器中。
缓冲存储器270被配置为具有FIFO结构。因此,由数据压缩器250压缩的元数据UD1和UD2按照其被缓冲存储器270接收的顺序从缓冲存储器270被发送到闪速存储器247。为了与闪速存储器247的页单元一致,缓冲存储器270以页为单位存储数据。例如,缓冲存储器270可将压缩和更新的元数据UD1划分为多个页大小的单元UD1-a、UD1-b等。
一旦闪速存储器247中的压缩的元数据UD1-a被存储在缓冲存储器270中,则CPU220控制闪速存储器控制器243将压缩的元数据UD1-a存储在闪速存储器247的保留区域中。闪速存储器247的保留区域通常由CPU220预先分配。但是,保留区域不限于被预先分配。
在压缩的元数据UD1-a被存储在闪速存储器247中的同时,CPU220将更新的元数据UD2发送到数据压缩器250。即,CPU220使得元数据的压缩以及元数据在闪速存储器247中的存储被并行执行。
当对SSD1000恢复了外部电源时,CPU220使用数据压缩器250恢复存储在闪速存储器247中的压缩的元数据1至元数据3。当元数据被无损压缩和恢复时,CPU220将恢复的元数据存储在缓冲存储器230中以备随后使用。当元数据没有被无损压缩和恢复时,CPU220复原元数据的任何可复原部分,并将其存储在缓冲存储器230中以备随后使用。
图14是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的流程图。
参照图5和图14,SSD1000响应于来自主机系统的请求执行操作,诸如读取操作和写入操作。同时,超级电容器265被充电(S601)。
在没有从主机系统接收到请求的待机时间期间,CPU220选择存储在缓冲存储器230中的元数据,并且将选择的元数据发送到数据压缩器250。数据压缩器250在CPU220的控制下压缩接收的元数据(S602)。
在待机时间期间,数据压缩器250在CPU220的控制下将压缩的元数据发送到图11中的缓冲存储器270(S603)。当所有压缩的元数据被存储在缓冲存储器270时,CPU220控制闪速存储器控制器243将压缩的元数据存储在闪速存储器247的保留区域中(S604)。
当发生意外的电源中断时(S605),主电源261检测SSD1000的外部电源电压的电平。当检测的电压电平下降到低于预定的电压电平时,超级电容器265在主电源261的控制下放电,以对SSD1000供电(S606)。
CPU220仅选择存储在缓冲存储器230中的元数据的更新部分,并且将选择的部分发送到数据压缩器250。数据压缩器250在CPU220的控制下接收并压缩更新的元数据(S607),并且在CPU220的控制下,压缩的元数据被临时存储在缓冲存储器270中(S608)。
使用FIFO配置以页为单位将压缩的元数据存储在缓冲存储器270中(S609),CPU220控制闪速存储器控制器243将压缩的元数据存储在闪速存储器247的保留区域中(S610)。CPU220可控制压缩的元数据在闪速存储器247中的存储,从而所述存储与将被存储在闪速存储器247中的其它元数据的压缩被并行执行。
当对SSD1000恢复了外部电源时,CPU220控制数据压缩器250恢复存储在闪速存储器247中的压缩的元数据1至元数据3。当元数据被无损压缩和恢复时,CPU220将恢复的元数据存储在缓冲存储器230中以备随后使用。当元数据没有被无损压缩和恢复时,CPU220复原元数据的任何可复原部分,并将其存储在缓冲存储器230中以备随后使用。
图15是示出根据本发明构思的实施例的闪速存储器247的操作模式的示图。
参照图5和图15,当发生意外的电源中断时,SSD1000压缩存储在缓冲存储器230中的元数据,并且将压缩的元数据存储在闪速存储器247中。CPU220在临时电源供电的时间间隔内控制存储压缩的元数据的操作。为了确保足够速度来存储元数据,闪速存储器247可被配置为根据来自主机的输入命令在各种模式下操作。作为一个示例的模式,闪速存储器247可操作存储单元的特定区域作为单层单元(singlelevelcell,SLC),SLC能够比多层单元被更快地编程。因此,当电源意外中断时,SSD1000可在临时电源耗尽之前接收元数据。
CPU220控制存储单元操作方案,从而使用SLC方案将数据存储在被分配为存储压缩的元数据的区域中。CPU220还控制存储单元操作方案,从而通过多层单元(multi-levelcell,MLC)方案将数据存储在被分配为存储由主机系统请求的将被写入的用户数据1和2的区域中。存储单元操作方案(SLC或MLC方案)可根据由CPU220提供给闪速存储器247的命令而改变。
图16是示出根据本发明构思的实施例的在发生意外的电源中断的情况下执行的元数据备份处理的示图。为了简化解释,图16示出了作为管理数据的存储在缓冲存储器230中的3个元数据1至元数据3。
参照图5和图16,当由于发生意外的电源中断而由临时电源驱动SSD1000时,CPU220在存储在缓冲存储器230中的数据中选择将被保留的元数据1至元数据3,并且将选择的元数据发送到数据压缩器250。数据压缩器250在CPU220的控制下压缩接收的元数据1至元数据3。另外,在CPU220的控制下,数据压缩器250将压缩的元数据1至元数据3发送到缓冲存储器270。
因为闪速存储器247基于页执行写入操作,所以缓冲存储器270在执行闪速存储器247中的存储之前以页为单位存储压缩的元数据。在各种可替换的实施例中,缓冲存储器270可被集成到数据压缩器250中,可被集成到缓冲存储器230的一部分中,或者可被集成到CPU220的缓冲存储器中。
缓冲存储器270具有FIFO结构,因此压缩的元数据1至元数据3按照其被缓冲存储器270接收的顺序从缓冲存储器270被发送到闪速存储器247。
当所有压缩的元数据1至元数据3被存储在缓冲存储器270中时,CPU220控制闪速存储器247按照分布式方式将压缩的元数据1至元数据3存储在多个闪速存储器中。例如,如果SSD1000具有多通道架构,并且包括用于每个通道的多个闪速存储器,则CPU220可并行地操作多个闪速存储器。因此,CPU220可按照分布式方式将压缩的元数据1至元数据3存储在闪速存储器247_1、247_2和247_3的保留区域中。
当对SSD1000恢复了外部电源时,CPU220使用数据压缩器250恢复存储在闪速存储器247中的压缩的元数据1至元数据3。当元数据被无损压缩和恢复时,CPU220将恢复的元数据存储在缓冲存储器230中以备随后使用。当元数据没有被无损压缩和恢复时,CPU220复原元数据的任何可复原部分,并将所得的元数据存储在缓冲存储器230中以备随后使用。
图17是示出根据本发明构思的实施例的非易失性存储器系统2000的框图。
参照图17,非易失性存储器系统2000包括存储器控制器1950和非易失性存储器装置1990。
存储器控制器1950连接到主机1910和非易失性存储器装置1990。存储器控制器1950被配置为响应于来自主机1910的请求对非易失性存储器装置1990进行存取。例如,存储器控制器1950被配置为控制非易失性存储器装置1990的读取/写入/擦除操作。存储器控制器1950被配置为提供非易失性存储器装置1990和主机1910之间的接口。存储器控制器1950被配置为驱动用于控制非易失性存储器装置1990的固件。
存储器控制器1950包括随机存取存储器(RAM)1951、CPU1953、主机接口(I/F)1955、使用纠错码的纠错单元1957、存储器接口1959以及数据压缩器1961。RAM1951用作CPU1953的工作存储器。CPU1953控制非易失性存储器装置1990的总体操作。
主机接口1955执行用于主机1910和存储器控制器1950之间的数据交互的协议。例如,存储器控制器1950可被配置为通过下列各种接口协议之一与外部装置(例如,主机1910)通信,这些接口协议诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外设部件互连(PCI)协议、PCI-Express(PCI-E)协议、高级技术附件(ATA)协议、串行ATA(SATA)协议、增强小型盘接口(ESDI)协议以及集成驱动电子设备(IDE)协议。
纠错单元1957被配置为检测并纠正从非易失性存储器装置1990读取的数据中的错误。纠错单元1957被临时提供作为存储器控制器1950的部件;然而,纠错单元1957还可被提供作为非易失性存储器装置1990的部件。存储器接口1959与非易失性存储器装置1990进行接口连接。
在非易失性存储器系统2000中发生意外的电源中断的情况下,数据压缩器1961压缩临时存储在RAM1951中的元数据。当在意外的电源中断之后对非易失性存储器系统2000恢复电源时,数据压缩器1961恢复存储在非易失性存储器装置1990中的压缩的元数据。在CPU1953的控制下,压缩的元数据被存储在非易失性存储器装置1990中。虽然在图17中没有示出,但是非易失性存储器系统2000还包括只读存储器(RAM),该RAM存储用于实现与主机1910的接口连接的代码数据。
在特定实施例中,存储器控制器1950和非易失性存储器装置1990被集成到一个半导体器件中,以组成存储卡。例如,存储器控制器1950和非易失性存储器装置1990可被集成到一个半导体器件中,以组成这样的存储卡,诸如个人计算机存储卡国际协会(PCMCIA)卡、致密闪速(CF)卡、智能媒体卡、存储棒、多媒体卡(例如MMC、RS-MMC和MMC-micro)、安全数字(SD)卡(例如SD、mini-SD、micro-SD和SDHC)以及通用闪速存储器(UFS)。
作为另一示例,非易失性存储器系统2000可包括或被集成到固态驱动器(SSD)、计算机、便携式计算机、超移动个人计算机(UMPC)、工作站、上网本(net-book)、个人数字助理(PDA)、网络本(webtablet)、无线电话、移动电话、数字相机、数字音频记录器、数字音频播放器、数字视频记录器、数字视频播放器、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络(telematicsnetwork)的各种电子装置中的一种、RFID装置或嵌入式系统。
非易失性存储器装置1990或非易失性存储器系统2000可按照各种类型的封装被安装。用于非易失性存储器装置1990或非易失性存储器系统2000的封装的示例包括层叠封装(PoP)、球栅阵列(BGA)、芯片尺寸封装(CSP)、有引线塑料芯片载体(PLCC)、塑料双列直插封装(PDIP)、窝伏尔组件封装裸芯片(dieinwafflepack)、晶片形式封装裸芯片(dieinwaferform)、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄四方扁平封装(TQFP)、小外形集成电路(SOIC)、窄间距小外形封装(SSOP)、薄小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制作封装(WFP)以及晶片级处理堆叠封装(WSP)。
如上所述,根据本发明构思的实施例的非易失性存储器系统在发生意外的电源中断的情况下压缩元数据并将其存储在非易失性存储器装置中,因此使得能够实现快速和稳定的元数据备份。
上面的描述是实施例的示例,不应被解释为限制实施例。虽然已经描述了一些实施例,但是本领域技术人员应容易地理解,在本质上不脱离本发明构思的新颖的教导和优点的情况下,在实施例中作出修改是可行的。因此,意图将所有这些修改包括在权利要求限定的本发明构思的范围内。因此,应该理解,上面的描述是各种实施例的示例,不应被解释为限于所公开的特定实施例,并且意图将对所公开的实施例作出的修改以及其它实施例包括在权利要求的范围内。

Claims (18)

1.一种非易失性存储器系统,包括:
第一缓冲存储器,被配置为存储元数据;
数据压缩器,被配置为压缩元数据;
多个非易失性存储器装置,被配置为存储压缩的元数据;
存储器系统控制单元,被配置为当临时电源将电力提供给所述非易失性存储器系统时,控制数据压缩器压缩存储在第一缓冲存储器中的元数据,还被配置为控制所述多个非易失性存储器装置中的至少一个非易失性存储器装置存储压缩的元数据。
2.根据权利要求1所述的非易失性存储器系统,其中,控制数据压缩器压缩元数据以及控制非易失性存储器装置存储压缩的元数据被并行执行。
3.根据权利要求1所述的非易失性存储器系统,还包括:第二缓冲存储器,被配置为存储压缩的元数据,并且存储器系统控制单元控制第二缓冲存储器以与所述至少一个非易失性存储器装置的写入单元对应的单位为单位,将压缩的元数据发送到所述至少一个非易失性存储器装置,
其中,第二缓冲存储器被集成到第一缓冲存储器或数据压缩器中。
4.根据权利要求3所述的非易失性存储器系统,其中,第二缓冲存储器以先入先出的方式接收并发送压缩的元数据。
5.根据权利要求1所述的非易失性存储器系统,其中,在存储器系统控制单元从外部装置没有接收到读取请求或写入请求的待机操作期间,压缩的元数据被存储在所述至少一个非易失性存储器装置中。
6.根据权利要求5所述的非易失性存储器系统,其中,元数据在被存储在所述至少一个非易失性存储器装置中之前被数据压缩器压缩。
7.根据权利要求5所述的非易失性存储器系统,其中,当电力从临时电源被提供给所述非易失性存储器系统时,数据压缩器仅压缩存储在第一缓冲存储器中的元数据中的更新的元数据。
8.根据权利要求1所述的非易失性存储器系统,其中,所述至少一个非易失性存储器装置包括被分配用于存储压缩的元数据的保留区域。
9.根据权利要求8所述的非易失性存储器系统,其中,其中,保留区域被配置为在单层单元模式下操作。
10.根据权利要求1所述的非易失性存储器系统,其中,压缩的元数据以分布式方式被发送到所述多个非易失性存储器装置。
11.根据权利要求1所述的非易失性存储器系统,其中,所述非易失性存储器系统是包括多个闪速存储器装置的固态驱动器。
12.一种管理在发生意外的电源故障时由临时电源驱动的非易失性存储器系统的数据的方法,所述方法包括:
压缩所述非易失性存储器系统的元数据;
将压缩的元数据临时存储在所述非易失性存储器系统的缓冲存储器中;
将临时存储的压缩的元数据存储在所述非易失性存储器系统的多个非易失性存储器装置中的至少一个非易失性存储器装置中。
13.根据权利要求12所述的方法,其中,压缩元数据的步骤以及存储压缩的元数据的步骤被并行执行。
14.根据权利要求12所述的方法,还包括:在非易失性存储器系统的存储器控制器从外部装置没有接收到读取请求或写入请求的待机操作期间,将压缩的元数据存储在所述至少一个非易失性存储器装置中。
15.根据权利要求14所述的方法,还包括:
当电力从临时电源被提供给所述非易失性存储器系统时,仅压缩元数据中的更新的元数据;
将压缩的更新的元数据存储在所述至少一个非易失性存储器装置中。
16.根据权利要求15所述的方法,其中,仅压缩元数据中的更新的元数据的步骤以及存储压缩的更新的元数据的步骤被并行执行。
17.根据权利要求12所述的方法,其中,所述至少一个非易失性存储器装置包括用于存储压缩的元数据的保留区域,所述保留区域在单层单元模式下操作。
18.根据权利要求12所述的方法,其中,压缩的元数据以分布式方式被发送到所述多个非易失性存储器装置。
CN201010508318.2A 2009-10-16 2010-10-15 非易失性存储器系统以及在电源中断期间保存数据的方法 Active CN102044295B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0098615 2009-10-16
KR1020090098615A KR101602939B1 (ko) 2009-10-16 2009-10-16 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법

Publications (2)

Publication Number Publication Date
CN102044295A CN102044295A (zh) 2011-05-04
CN102044295B true CN102044295B (zh) 2016-05-11

Family

ID=43880167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010508318.2A Active CN102044295B (zh) 2009-10-16 2010-10-15 非易失性存储器系统以及在电源中断期间保存数据的方法

Country Status (4)

Country Link
US (2) US8554990B2 (zh)
KR (1) KR101602939B1 (zh)
CN (1) CN102044295B (zh)
TW (1) TWI519956B (zh)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
EP2302637B1 (fr) * 2009-09-21 2014-09-03 STMicroelectronics (Rousset) SAS Méthode d'écriture de données dans une mémoire non volatile, protegée contre l'arrachement
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) * 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
WO2013036046A2 (ko) * 2011-09-06 2013-03-14 삼성전자 주식회사 이동 단말 및 그 파일 시스템 관리 방법
US8767354B1 (en) 2011-12-08 2014-07-01 Western Digital Technologies, Inc. Data storage device employing cascaded voltage regulators during power failure
US9093105B2 (en) 2011-12-09 2015-07-28 Western Digital Technologies, Inc. Disk drive charging capacitor using motor supply voltage during power failure
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8724422B1 (en) 2012-02-29 2014-05-13 Western Digital Technologies, Inc. System and method for charging back-up charge storage element for data storage device using spindle phase switching elements
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
US9202577B2 (en) * 2012-03-30 2015-12-01 Intel Corporation Solid state drive management in power loss recovery
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8923045B2 (en) 2012-05-31 2014-12-30 Seagate Technology Llc Multi-level cell (MLC) update with protected mode capability
US9148172B2 (en) 2012-06-22 2015-09-29 Micron Technology, Inc. Data compression and management
CN104641419A (zh) * 2012-07-13 2015-05-20 三星电子株式会社 固态驱动器控制器、固态驱动器、固态驱动器的数据处理方法、多通道固态驱动器、raid控制器以及其中记录有用于向固态驱动器提供顺序信息的计算机程序的计算机可读记录介质
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9892798B2 (en) 2012-09-11 2018-02-13 Seagate Technology Llc Data protection for unexpected power loss
US20140219021A1 (en) * 2013-02-07 2014-08-07 Seagate Technology Llc Data protection for unexpected power loss
US8902669B2 (en) * 2012-11-08 2014-12-02 SanDisk Technologies, Inc. Flash memory with data retention bias
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
KR101992934B1 (ko) 2012-11-14 2019-06-26 삼성전자주식회사 메모리 시스템 및 이의 동작 방법
GB2507961A (en) 2012-11-14 2014-05-21 Ibm Back-up and restoration of data between volatile and flash memory
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
KR20140066391A (ko) 2012-11-23 2014-06-02 삼성전자주식회사 서든 파워 오프 감지 회로를 포함하는 불휘발성 메모리 장치 및 그것의 서든 파워 오프 감지 방법
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
TWI548990B (zh) * 2013-05-17 2016-09-11 宇瞻科技股份有限公司 記憶體儲存裝置及其還原方法與記憶體控制器
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
GB2517435A (en) 2013-08-19 2015-02-25 Ibm Fast data back-up and restore between volatile and flash memory
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
KR102094393B1 (ko) 2013-11-18 2020-03-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
CN104809082B (zh) * 2014-01-29 2018-02-02 群联电子股份有限公司 数据保护方法、存储器存储装置及存储器控制电路单元
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US20150378415A1 (en) * 2014-02-05 2015-12-31 Christopher George Back-up power supply systems and methods for use with solid state storage devices
KR101502725B1 (ko) * 2014-04-03 2015-03-16 재단법인 다차원 스마트 아이티 융합시스템 연구단 영상 사고 기록 장치의 저장 공간에 버퍼를 이용하여 파일을 관리하는 장치 및 방법
CN103885728B (zh) * 2014-04-04 2016-08-17 华中科技大学 一种基于固态盘的磁盘缓存系统
KR102143521B1 (ko) * 2014-04-21 2020-08-11 삼성전자 주식회사 불휘발성 메모리 시스템, 이를 포함하는 메모리 카드 및 불휘발성 메모리 시스템의 동작방법
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
FR3023392B1 (fr) * 2014-07-03 2016-07-29 Peugeot Citroen Automobiles Sa Procede de securisation de la coupure d'alimentation d'un equipement usb
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
CN105512056A (zh) * 2014-09-24 2016-04-20 中兴通讯股份有限公司 数据保存方法、装置及终端
US9558066B2 (en) * 2014-09-26 2017-01-31 Intel Corporation Exchanging ECC metadata between memory and host system
KR102310580B1 (ko) 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10042789B2 (en) 2014-10-27 2018-08-07 Micron Technology, Inc. Programming interruption management
WO2016068978A1 (en) 2014-10-31 2016-05-06 Hewlett-Packard Development Company, L.P. Power-loss protection
US20170249248A1 (en) * 2014-11-12 2017-08-31 Hewlett Packard Enterprise Development Lp Data backup
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
CN104461404A (zh) * 2014-12-29 2015-03-25 成都致云科技有限公司 元数据存储方法、装置以及系统
CN107003864B (zh) * 2015-01-29 2021-08-20 惠普发展公司,有限责任合伙企业 恢复片上系统设备
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10915256B2 (en) * 2015-02-25 2021-02-09 SK Hynix Inc. Efficient mapping scheme with deterministic power transition times for flash storage devices
US9811420B2 (en) 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
US9911487B2 (en) * 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US10502910B2 (en) * 2015-07-30 2019-12-10 Hewlett Packard Enterprise Development Lp Transceiver modules
US9632715B2 (en) 2015-08-10 2017-04-25 International Business Machines Corporation Back-up and restoration of data between volatile and flash memory
CN107038131A (zh) * 2016-02-04 2017-08-11 广明光电股份有限公司 固态硬盘断电保护装置及方法
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
CN106020735A (zh) * 2016-05-31 2016-10-12 晨星半导体股份有限公司 一种数据存储方法及数据存储装置
KR102609473B1 (ko) * 2016-06-17 2023-12-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102641107B1 (ko) 2016-07-29 2024-02-27 삼성전자주식회사 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법
CN106409321A (zh) * 2016-08-31 2017-02-15 福建联迪商用设备有限公司 一种提高nand flash可靠性的方法及装置
US10489313B2 (en) 2016-10-31 2019-11-26 Alibaba Group Holding Limited Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture
US10445902B2 (en) * 2016-12-13 2019-10-15 Qualcomm Incorporated Fetch reduction for fixed color and pattern sub-frames
TWI604373B (zh) 2016-12-13 2017-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統
US10445261B2 (en) * 2016-12-30 2019-10-15 Intel Corporation System memory having point-to-point link that transports compressed traffic
US9933963B1 (en) 2017-03-01 2018-04-03 Seagate Technology Open block handling to reduce write errors
KR102406571B1 (ko) 2017-12-28 2022-06-08 삼성전자주식회사 디스플레이 장치 및 그 동작방법
US10789130B1 (en) 2018-03-09 2020-09-29 Toshiba Memory Corporation Capacitor energy management for unexpected power loss in datacenter SSD devices
CN108664218A (zh) * 2018-04-23 2018-10-16 浙江大华技术股份有限公司 一种基于数据特征的ssd存储方法、装置及系统
US10802733B2 (en) * 2018-04-27 2020-10-13 Western Digital Technologies, Inc. Methods and apparatus for configuring storage tiers within SSDs
US11138068B2 (en) * 2018-07-12 2021-10-05 Micron Technology, Inc. Memory sub-system codeword quality metrics streaming
US11112997B2 (en) 2018-08-21 2021-09-07 Samsung Electronics Co., Ltd. Storage device and operating method thereof
KR102570271B1 (ko) * 2018-11-01 2023-08-25 삼성전자주식회사 저장 장치
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
KR20210034378A (ko) * 2019-09-20 2021-03-30 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그것의 동작 방법
US11144454B2 (en) * 2019-11-22 2021-10-12 Dell Products L.P. Enhanced vault save with compression
KR20210142974A (ko) * 2020-05-19 2021-11-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20210157544A (ko) 2020-06-22 2021-12-29 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11899952B2 (en) 2020-10-29 2024-02-13 Seagate Technology Llc Lossless namespace metadata management system
EP4245615A1 (en) * 2020-11-10 2023-09-20 LG Electronics Inc. Signal processing device and vehicle display device having same
KR20220116650A (ko) * 2021-02-15 2022-08-23 삼성전자주식회사 이형 메모리들을 포함하는 전자 장치 및 그것의 이형 메모리들 간 압축 데이터 이동 방법
KR20220128791A (ko) * 2021-03-15 2022-09-22 삼성전자주식회사 비휘발성 메모리를 포함하는 전자 장치 및 그것의 비휘발성 메모리 관리 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298621A (ja) * 1999-04-14 2000-10-24 Nec Eng Ltd 磁気ディスク装置
KR20060090088A (ko) * 2005-02-07 2006-08-10 삼성전자주식회사 메타 데이터가 저장되는 에프램을 포함하는 메모리 장치
CN101334736A (zh) * 2007-06-28 2008-12-31 索尼爱立信移动通信日本株式会社 软件更新方法和便携式终端设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
KR20070031647A (ko) * 2005-09-15 2007-03-20 삼성전자주식회사 플래시 메모리 장치에 압축 데이터를 기록하는 방법 및상기 기록된 데이터를 읽는 방법, 그리고 상기 방법을이용하는 플래시 메모리 장치
KR100963009B1 (ko) * 2007-10-25 2010-06-10 한양대학교 산학협력단 파일 관리 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298621A (ja) * 1999-04-14 2000-10-24 Nec Eng Ltd 磁気ディスク装置
KR20060090088A (ko) * 2005-02-07 2006-08-10 삼성전자주식회사 메타 데이터가 저장되는 에프램을 포함하는 메모리 장치
CN101334736A (zh) * 2007-06-28 2008-12-31 索尼爱立信移动通信日本株式会社 软件更新方法和便携式终端设备

Also Published As

Publication number Publication date
US8554990B2 (en) 2013-10-08
US8819336B2 (en) 2014-08-26
US20140025874A1 (en) 2014-01-23
TW201124844A (en) 2011-07-16
US20110093650A1 (en) 2011-04-21
CN102044295A (zh) 2011-05-04
KR20110041675A (ko) 2011-04-22
KR101602939B1 (ko) 2016-03-15
TWI519956B (zh) 2016-02-01

Similar Documents

Publication Publication Date Title
CN102044295B (zh) 非易失性存储器系统以及在电源中断期间保存数据的方法
US20220365577A1 (en) Memory system and controller
CN102375788A (zh) 为具有非易失性存储器的系统动态地分配功率预算的方法及装置
US8286028B2 (en) Backup method and disk array apparatus
US7969809B2 (en) Power consumption-oriented management of a storage system
US10061694B2 (en) Memory system and method for controlling non-volatile memory
CN107220143B (zh) 管理逻辑到物理转换信息的备份以控制引导时间和写入放大
US10620858B2 (en) Data storage method, memory storage device and memory control circuit unit
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TW201527973A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
KR20110046243A (ko) 사용자 장치 및 그것의 맵핑 데이터 관리 방법
US9170887B2 (en) Memory system and controlling method of memory system
CN106708416B (zh) 数据重建方法与系统及其存储器控制电路单元
TWI660271B (zh) 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置
US9965400B2 (en) Memory management method, memory control circuit unit and memory storage device
JP2013016148A (ja) メモリコントローラ、不揮発性記憶装置
CN102567221B (zh) 数据管理方法、存储器控制器与存储器储存装置
US20200042243A1 (en) Memory system and operation method for the same
CN105335096B (zh) 数据管理方法、存储器控制电路单元以及存储器存储装置
CN109522236B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN109669620B (zh) 存储器管理方法、存储器控制电路单元及存储器储存装置
CN111427518B (zh) 数据保护方法以及nvdimm
EP4075284A1 (en) Method and storage device for improving memory performance for intensive read workloads
CN107229413A (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
JP5360287B2 (ja) データ制御方法およびシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant