CN102576332A - 电力中断管理 - Google Patents

电力中断管理 Download PDF

Info

Publication number
CN102576332A
CN102576332A CN2010800437579A CN201080043757A CN102576332A CN 102576332 A CN102576332 A CN 102576332A CN 2010800437579 A CN2010800437579 A CN 2010800437579A CN 201080043757 A CN201080043757 A CN 201080043757A CN 102576332 A CN102576332 A CN 102576332A
Authority
CN
China
Prior art keywords
information
transaction journal
accumulator system
nonvolatile memory
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800437579A
Other languages
English (en)
Other versions
CN102576332B (zh
Inventor
约瑟夫·M·杰德罗
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN102576332A publication Critical patent/CN102576332A/zh
Application granted granted Critical
Publication of CN102576332B publication Critical patent/CN102576332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7207Details relating to flash memory management management of metadata or control 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/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • 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/7211Wear leveling

Landscapes

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

Abstract

本发明包含用于操作存储器***的方法及存储器***。一个此种方法包含使用写入先行信息更新事务日志中的事务日志信息;及使用所述事务日志更新逻辑地址LA表。

Description

电力中断管理
技术领域
本发明大体来说涉及半导体存储器装置、方法及***,且更明确地说涉及电力中断管理。
背景技术
通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器在内的许多不同类型的存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过在不供电时仍保持所存储的信息来提供持久数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及相变随机存取存储器(PCRAM)等等。
可将若干存储器装置组合在一起以形成固态驱动器(SSD)。固态驱动器可包含非易失性存储器(例如,NAND快闪存储器及NOR快闪存储器)及/或可包含易失性存储器(例如,DRAM及SRAM)以及各种其它类型的非易失性及易失性存储器。对于宽广范围的电子应用,可利用包含浮动栅极快闪装置及电荷陷阱快闪(CTF)装置(其使用将信息存储于氮化物层中的电荷陷阱中的半导体-氧化物-氮化物-氧化物-半导体及金属-氧化物-氮化物-氧化物-半导体电容器结构)的快闪存储器装置作为非易失性存储器。快闪存储器装置通常使用允许高存储器密度、高可靠性及低电力消耗的单晶体管存储器单元。
可使用SSD来替换硬盘驱动器作为计算机的主要存储装置,因为所述固态驱动器可在性能、大小、重量、耐用性、操作温度范围及电力消耗方面具有优于硬驱动器的优点。举例来说,SSD可在与磁盘驱动器相比时因其缺乏移动部件而具有优越的性能,此可避免搜寻时间、延时及与磁盘驱动器相关联的其它机电延迟。SSD制造商可使用非易失性快闪存储器来形成可不使用内部电池电源的快闪SSD,因此允许所述驱动器更通用且更小型。
SSD可包含若干个存储器装置,例如,若干个存储器芯片(如本文中所使用,“若干个”某物可指此些事物中的一者或一者以上,例如,若干个存储器装置可指一个或一个以上存储器装置)。如所属领域的技术人员将了解,存储器芯片可包含若干个裸片及/或逻辑单元(LUN)。每一裸片上可包含若干个存储器阵列及***电路。所述存储器阵列可包含组织成若干个物理页的若干个存储器单元,且所述物理页可组织成若干个块。
固态驱动器可包含逻辑地址(LA)表,例如逻辑块地址(LBA)表。LBA表可用以记录将固态驱动器的存储器阵列中的数据的逻辑地址链接到所述数据的物理位置的信息。所述LBA表可存储于所述固态驱动器中的易失性存储器中,且所述LBA表的副本还可存储于所述固态驱动器中的非易失性存储器中。所述LBA表可用以定位所述固态驱动器中的数据的物理位置以在于所述固态驱动器中起始读取请求时读取所述数据。可由主机起始对特定逻辑地址处的数据的读取请求。可在所述LBA表中寻找到所述逻辑地址,且可接着指示对应物理地址。所述固态驱动器可从所述所指示的物理地址读取数据以完成对所述固态驱动器的所述读取请求。
不具有有关于固态驱动器中的数据的逻辑地址与物理地址之间的关系的当前(例如,最近)信息的LBA表的固态驱动器可使所述固态驱动器中的一些数据不可存取。因此,期望当前LBA表以完成对固态驱动器中的所有数据的存取。固态驱动器中的LBA表可在电力中断之后因所述LBA表存储于易失性存储器中及/或所述LBA表周期性地存储于非易失性存储器中而丢失或不完整。因此,电力中断可致使固态驱动器具有并不具有关于恰好在所述电力中断之前的时间内写入到所述固态驱动器的数据的信息的LBA表。
发明内容
本发明包含用于存储器中的电力中断管理的方法及装置。一个方法实施例包含使用写入先行信息更新事务日志中的事务日志信息;及使用所述事务日志更新逻辑地址(LA)表。
附图说明
图1是根据本发明的一个或一个以上实施例的包含至少一个存储器***的计算***的功能性框图。
图2是根据本发明的一个或一个以上实施例的存储器***的功能性框图。
图3图解说明根据本发明的一个或一个以上实施例的非易失性存储器中的事务日志、块表及逻辑块地址(LBA)表的框图。
图4是根据本发明的一个或一个以上实施例的回收单元的功能性框图。
图5是图解说明根据本发明的一个或一个以上实施例的事务日志的表。
图6是图解说明根据本发明的一个或一个以上实施例的块表的表。
图7是图解说明根据本发明的一个或一个以上实施例的逻辑块地址(LBA)表的表。
具体实施方式
在本发明的以下详细描述中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一个或一个以上实施例的附图。足够详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出工艺、电及/或结构改变。
在本发明的以下详细描述中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一个或一个以上实施例的附图。足够详细地描述这些实施例以使所属领域的技术人员能够实践本发明的所述实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出工艺、电及/或结构改变。如本文中所使用,标示符“N”、“M”及“R”(明确地说关于图式中的参考编号)指示本发明的一个或一个以上实施例可包含如此标示的若干个特定特征。
本文中的图遵循其中第一个数字或前几个数字对应于图式图编号且剩余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,108可参考图1中的元件“08”,且在图2中可将类似元件称为“208”。如将了解,可添加、调换及/或去除本文中的各个实施例中所示的元件以提供本发明的若干个额外实施例。另外,如将了解,图中所提供的元件的比例及相对标度打算图解说明本发明的某些实施例且不应视为限制意义。
图1是根据本发明的一个或一个以上实施例的包含至少一个存储器***104的计算***100的功能性框图。在图1中所图解说明的实施例中,存储器***104(例如,固态驱动器(SSD))可包含物理主机接口106,控制器(例如,存储器***控制电路108)及一个或一个以上固态存储器装置110-1、…、110-N。固态存储器装置110-1、…、110-N可为所述存储器***提供存储卷(例如,借助格式化到所述存储器装置的文件***)。在一个或一个以上实施例中,存储器***控制电路108可为耦合到包含物理接口106及固态存储器装置110-1、…、110-N的印刷电路板的专用集成电路(ASIC)。
如图1中所图解说明,存储器***控制电路108可耦合到物理主机接口106且耦合到固态存储器装置110-1、…、110-N。物理主机接口106可用以在存储器***104与另一装置(例如主机***102)之间传达信息。主机***102可包含存储器存取装置,例如,处理器。所属领域的技术人员将了解,“处理器”可意指一个或一个以上处理器,例如,并行处理***、若干个协处理器等。主机***的实例包含膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、PDA、存储器读卡器、接口集线器等等。对于一个或一个以上实施例,物理主机接口106可呈标准化接口的形式。举例来说,当存储器***104用于计算***100中的数据存储时,物理主机接口106可为串行高级技术附件(SATA)、快速***组件互连(PCIe)或通用串行总线(USB)以及其它连接器及接口。然而,大体来说,物理主机接口106可提供用于在存储器***104与具有用于物理主机接口106的兼容接收器的主机***102之间传递控制、地址、数据及其它信号的接口。
存储器***控制电路108可与固态存储器装置110-1、…、110-N通信以读取、写入及擦除数据以及其它操作。存储器***控制电路108可具有可为一个或一个以上集成电路及/或离散组件的电路。对于一个或一个以上实施例,存储器***控制电路108中的所述电路可包含用于控制跨越固态存储器装置110-1、…、110-N的存取的控制电路,及用于在主机***102与存储器***104之间提供翻译层的电路。因此,存储器控制器可选择性地耦合固态存储器装置110-1、…、110-N的I/O连接(未在图1中展示)以在适当时间在适当I/O连接处接收适当信号。类似地,主机***102与存储器***104之间的通信协议可不同于存取固态存储器装置110-1、…、110-N所需的协议。存储器***控制电路108可接着将从主机接收的命令翻译成适当命令以实现对固态存储器装置110-1、…、110-N的所要存取。
固态存储器装置110-1、…、110-N可包含一个或一个以上存储器单元(例如,非易失性存储器单元)阵列。举例来说,所述阵列可为具有NAND架构的快闪阵列。在NAND架构中,一“行”的存储器单元的控制栅极可与存取线(例如,字线)耦合在一起,同时所述存储器单元可以“串”形式源极到漏极串联地耦合于选择栅极源极晶体管与选择栅极漏极晶体管之间。所述串可通过所述选择栅极漏极晶体管连接到数据线(例如,位线)。术语“行”及“串”的使用既不暗示存储器单元的线性布置又不暗示存储器单元的正交布置。如所属领域的技术人员将了解,存储器单元到位线及源极线的连接方式取决于所述阵列是NAND架构、NOR架构还是某一其它存储器阵列架构。
固态存储器装置110-1、…、110-N可包含可分群组的若干个存储器单元。如本文中所使用,一群组可包含一个或一个以上存储器单元,例如,页、块、平面、裸片,整个阵列或其它存储器单元群组。举例来说,一些存储器阵列可包含构成存储器单元块的若干个存储器单元页。若干个块可包含于一存储器单元平面中。若干个存储器单元平面可包含于一裸片上。作为一实例,128GB存储器装置可包含每装置16个平面,每平面2048个块,每块128个页,及每页4314个字节的数据。
在存储器装置中,物理页可指写入及/或读取单位,例如,共同或作为功能性存储器单元群组写入及/或读取的若干个单元。因此,可借助单独写入及/或读取操作写入及/或读取偶数页及奇数页。对于包含多位阶单元(MLC)的实施例,可将物理页在逻辑上划分成上部数据页及下部数据页。举例来说,一个存储器单元可将一个或一个以上位贡献给上部数据页且将一个或一个以上位贡献给下部数据页。因此,可写入及/或读取上部数据页及下部数据页作为一个写入及/或读取操作的一部分,因为逻辑上部页及逻辑下部页两者均为相同物理页的一部分。
存储器***104可实施损耗均衡以控制固态存储器装置110-1、…、110-N上的损耗速率。固态存储器阵列在若干个编程及/或擦除循环之后可经历故障。损耗均衡可减少在特定群组上执行的编程及/或擦除循环的数目。损耗均衡可包含动态损耗均衡以最小化经移动以回收块的有效块的量。动态损耗均衡可包含称为无用单元收集的技术,其中通过擦除块来回收具有阈值量个无效页以上的块。举例来说,无效页可为已经更新并存储于不同页中的数据页。静态损耗均衡可包含将静态数据写入到具有高擦除计数的块以延长所述块的寿命。
图1的实施例可包含未图解说明以不使本发明的实施例模糊的额外电路。举例来说,存储器***104可包含地址电路以锁存经由I/O电路经由I/O连接提供的地址信号。可通过行解码器及列解码器接收并解码地址信号以存取固态存储器装置110-1、…、110-N。所属领域的技术人员将了解,地址输入连接的数目可取决于固态存储器装置110-1、…、110-N的密度及架构。
图2是根据本发明的一个或一个以上实施例的存储器***204的功能性框图。存储器***204可包含存储器***控制电路208。存储器***控制电路208可耦合到一个或一个以上固态存储器装置,例如,非易失性存储器210及/或易失性存储器212。存储器***204及存储器***控制电路208可分别类似于图1中所图解说明的存储器***104及存储器***控制电路108。
存储器***控制电路208可包含主机接口电路214,主机-存储器翻译电路216,存储器管理电路218,开关220,非易失性存储器控制电路222及/或易失性存储器控制电路224。如本文中所描述,存储器***控制电路208可以ASIC的形式提供,然而,实施例并不限于此。
主机接口电路214可耦合到主机-存储器翻译电路216。主机接口电路214可耦合到主机***的物理接口及/或与主机***的物理接口并在一起,例如图1中所图解说明的物理接口106。
大体来说,主机接口电路214负责将从主机***(例如,从PCIe总线)接收的命令包转换成用于主机-存储器翻译电路216的命令指令且负责将存储器响应转换成主机***命令以供传输到请求的主机。举例来说,主机接口电路214可从基于PCIe的事务层包构造SATA命令包。
主机-存储器翻译电路216可耦合到主机接口电路214,耦合到存储器管理电路218,及/或耦合到开关220。主机-存储器翻译电路216可经配置以将逻辑(例如,主机)地址(例如,与所接收命令相关联)翻译为物理存储器地址。举例来说,主机-存储器翻译电路216可将主机扇区读取及写入命令转换为指向非易失性存储器210的特定部分的命令。每一主机操作可被翻译成单扇区或多扇区非易失性存储器210操作。
存储器管理电路218可耦合到主机-存储器翻译电路216及/或耦合到开关220。存储器管理电路218可控制若干个过程,包括但不限于初始化、损耗均衡(例如,无用单元收集及/或块回收)及错误校正(例如,经由处理器228的操作)。存储器管理电路218可存取群组(例如,块表236)以确定损耗均衡的候选者。当将与逻辑地址相关联的数据写入到新物理地址(例如,作为损耗均衡的一部分或对所述数据的更新)时,存储器管理电路218可用对应于所述逻辑地址的所述新物理地址更新LBA表(例如,LBA表234)。
存储器管理电路218可(例如,作为静态损耗均衡操作的一部分)在块表236中搜寻具有高擦除计数的块。所述存储器管理电路可比较特定块的擦除计数与阈值计数。举例来说,可从所述特定块减去具有最低擦除计数的块的擦除计数。如果所述差大于所述阈值计数,那么可将所述特定块指示为块回收的候选者。
存储器管理电路218可(例如,作为动态损耗均衡操作的一部分)搜寻其中具有无用单元收集阈值量的无效(例如,未使用)部分(例如,页)的块。存储器管理电路218可包含回收电路230。回收为可由存储器管理电路218因为无用单元收集而调用的过程。回收可涉及在擦除欲擦除的块之前将来自所述块中的位置的所有有效数据移动到另一块中的位置。
开关220可耦合到主机-存储器翻译电路216、存储器管理电路218、非易失性控制电路222及/或易失性存储器控制电路224。开关220可为纵横开关且可包含及/或耦合到一个或一个以上缓冲器,例如,静态随机存取存储器(SRAM)缓冲器。开关220可在存储器***控制电路208的各个组件之间提供接口。开关220可计及经定义信令协议的变化,所述经定义信令协议可与存储器***控制电路208的不同组件相关联以便在组件之间提供一致存取及实施方案。在一个或一个以上实施例中,开关220可为直接存储器存取(DMA)模块。
控制器(例如,非易失性存储器控制电路222)可耦合到开关220且耦合到一个或一个以上非易失性存储器装置210。除其它信息之外,一个或一个以上非易失性存储器装置210还可存储事务日志238、逻辑地址(LA)表(例如逻辑块地址(LBA)表234-C)及/或群组表(例如块表236-C)的副本,如本文中所描述。在一些实施例中,存储器***控制电路208可包含用于所有存储器通道的一个非易失性存储器控制器。在其它实施例中,每一存储器通道均耦合到离散非易失性存储器控制器。
易失性存储器控制电路224可耦合到开关220且耦合到一个或一个以上易失性存储器装置212。除其它信息之外,所述一个或一个以上易失性存储器装置还可存储LBA表234及/或块表236。LBA表234可存储一个或一个以上非易失性存储器装置210中的页的物理地址且包含对应逻辑地址。LBA表234可由相关联SATA命令中所含有的LBA来加索引。LBA表234可由主机-存储器翻译电路216(例如)用以查找对应于逻辑块地址的物理页地址。块表236可存储一个或一个以上非易失性存储器装置210中的可擦除块的信息。存储于块表236中的信息可包含有效页信息、擦除计数及其它状态信息。从块表236存取的信息可由物理块地址来加索引。
图3图解说明根据本发明的一个或一个以上实施例的非易失性存储器310中的事务日志338、块表334及逻辑块地址(LBA)表336的框图。除其它信息之外,所述非易失性存储器还可将写入操作信息存储于LBA表336、块表334及/或事务日志338中。
除其它周期性间隔之外,存储于易失性存储器中的LBA表的副本还可(例如)至少每300秒地周期性地存储为非易失性存储器310中的LBA表336。举例来说,LBA表336可每120秒地存储于非易失性存储器310中。可在固态驱动器中的每一写入之后更新易失性存储器中的LBA表。除其它因素之外,更新非易失性存储器装置中的LBA表的频率的时间周期还可取决于存储器***执行写入的频率及/或以其写入数据的速度。
事务日志338可存储于所述非易失性存储器中且用以记录关于在所述存储器装置中发生的每一写入的信息。具有若干个存储器装置的存储器***可包含事务日志,所述事务日志包含关于在所述存储器装置中发生的每一写入的信息。可跨越存储器***中的若干个存储器装置将事务日志条带化(strip)。如所属领域的技术人员将了解,条带化包含分割数据使得其存储于一个以上装置上。条带化可包含将写入数据(例如事务日志信息)划分成若干个片段且将至少一个片段存储于若干个存储器装置中的每一者中。在一个或一个以上实施例中,控制器可在于存储器装置中执行每一写入时针对每一写入用事务日志信息更新事务日志。所述事务日志可含有关于在时间周期期间在所述存储器装置中发生的所有写入的信息。所述事务日志可包含关于从LBA表336最后一次保存于非易失性存储器310中之后发生的到所述存储器装置的所有写入的信息。
在一个或一个以上实施例中,来自事务日志338的信息可用以用关于从LBA表336最后保存于所述非易失性存储器中之后的时间(例如,在最后保存与电力中断之间)在存储器装置中发生的写入的信息更新LBA表336的副本。非易失性存储器310中的LBA表336的副本可原本係遗失信息,因为非易失性存储器310中的LBA副本336仅具有在将其拷贝到非易失性存储器中时在易失性存储器中的LBA表中的信息。同样,易失性存储器中的LBA表在电力中断期间被擦除,因此非易失性存储器中的LBA副本不可用将已在其最后一次拷贝到非易失性存储器310与其被擦除时之间存储于易失性存储器中的LBA表中的信息以其它方式更新。因此,非易失性存储器310中的事务日志338可用以更新非易失性存储器中的LBA表中的信息。事务日志338可含有关于数据的位置及将数据写入到存储器装置的时间的信息。所述信息可由所述存储器装置确认且接着被输入到LBA表中以更新LBA表336。在一个或一个以上实施例中,在电力中断期间事务日志的最后一页可变毁坏,因此,事务日志中的最后一页信息不含有关于写入到存储器阵列的一些最近数据的信息。
回收单元(如图4中所示)可使用来自损耗均衡算法(例如,无用单元收集算法)的信息(例如)形成写入先行信息。所述写入先行信息可含有最近写入数据的位置及将已写入下一数据的位置。损耗均衡算法将数据移动到存储器的未使用及/或较少使用的部分,因此形成新近自由块以供写入数据。损耗均衡算法可包含所述新近自由块的位置且使控制器接着向所述新近自由块进行写入。来自损耗均衡及/或无用单元收集算法的关于所述新近自由块的位置以及最近已写入数据及接下来将已写入数据的位置的信息包含于写入先行信息中。控制器可通过检查由写入先行信息指示的位置处的修订号码来确定数据是否在那些位置处及/或何种数据(例如有效写入)在那些位置处。可在与一位置处的数据相关联的元数据中寻找到所述修订号码,且所述修订号码可指示在一位置处已发生有效写入。可用事务信息及在那些位置处寻找到的数据更新事务日志。写入先行信息可用以重新形成事务日志中的毁坏的最后一页信息。可接着用现在完成的事务日志更新非易失性存储器中的LBA表。
在一个或一个以上实施例中,可包含电容器以给予存储器装置足够电力从而在电力中断的事件中保存事务日志的最后一页。在此些实施例中,使用来自所述电容器的电力完成将恰好在电力中断之前发生的更新保存到事务日志,因此所述事务日志具有关于从LBA表最后保存于非易失性存储器中之后发生的写入的信息且可用以更新所述LBA表。
图4是根据本发明的一个或一个以上实施例的回收单元430的功能性框图。在图4中,回收单元430可包含损耗均衡单元444。回收单元430可使用来自损耗均衡单元444的信息形成写入先行信息446。写入先行信息446可为指示存储器阵列中执行最后写入及/或将已执行下一写入的位置的数据。所述写入先行信息可由回收单元444用以确定电力中断之前最后数据写入的位置并用所述信息更新事务日志。用电力中断之前数据的位置更新的事务日志可用以更新LBA表以包含关于LBA表最后保存于非易失性存储器中与电力中断的时间之间的写入的信息。
图5是图解说明根据本发明的一个或一个以上实施例的事务日志538的表。在图5中,事务日志538可包含事务日志信息,所述事务日志信息包含存储器装置中的数据的物理地址550及逻辑地址552。事务日志538可记录在存储器装置中发生的每一写入的位置,且事务日志538可存储于所述存储器装置中。所述事务日志可跨越存储器***中的若干个存储器装置加以条带化。在一个或一个以上实施例中,事务日志可将在存储器装置中发生的每一事务记入日志且可为所述存储器装置及/或在所述存储器装置上执行的事务的控制器的参考。可在于非易失性存储器中产生来自易失性存储器的LBA表的副本之后擦除所述事务日志。可用对应于在擦除所述事务日志之后发生的事务的新条目更新所述事务日志。
在图5中,事务日志538可包含指示已在存储器装置中发生的每一事务的若干个条目556-1、556-2、556-3、…、556-N。事务日志538中的条目556-1、556-2、556-3、…及556-N可包含针对事务的命令550(例如写入、读取或擦除)、事务的物理地址552及事务的逻辑地址554。
图6是图解说明根据本发明的一个或一个以上实施例的块表634的表。块表634可存储关于存储器装置中的块的信息。存储于块表634中的信息可包含数据有效性信息660、擦除计数662及状态信息664。块表634可包含若干个条目666-1、666-2、666-3、…及666-M。块表634中的每一条目可包含数据(例如数据块及/或数据页)的物理地址652、数据有效性信息660、擦除计数662及状态信息664。块表634中的数据有效性信息660可包含关于块中的每一页的有效性(例如,数据是有效的还是无效的)的信息。块表634中的擦除计数662可指示块已被擦除的次数。块表634中的状态信息664可指示是否擦除块及/或是否含有数据以及块的其它状态指示符。
图7是图解说明根据本发明的一个或一个以上实施例的逻辑块地址(LBA)表736的表。LBA表736可存储存储器装置中的每一数据条目的逻辑地址752及物理地址750,且可提供存储器装置中每一数据条目的逻辑地址752到物理地址750的翻译。LBA表736可由所述LBA针对到所述存储器装置的每一写入加索引,且可包含包含LBA表736中的每一数据条目的逻辑地址754及物理地址752的若干个条目770-1、770-2、770-3、…及770-R。所述LBA可用以查找存储每一条目中的数据的对应物理地址。所述LBA表可存储于存储器***的易失性存储器中,且可在周期性基础上于非易失性存储器中产生易失性存储器中的LBA表的副本。一旦于非易失性存储器中产生所述LBA表的副本,便可擦除易失性存储器中的所述LBA表且将用对应于在擦除易失性存储器中的LBA表之后发生的事务的新条目更新易失性存储器中的LBA表。
结论
本发明包含用于存储器中的电力中断管理的方法及装置。一个方法实施例包含使用写入先行信息更新事务日志中的事务日志信息;及使用所述事务日志更新逻辑地址(LA)表。
虽然本文中已图解说明且描述了特定实施例,但所属领域的技术人员将了解,可用经计算以实现相同结果的布置来替代所示特定实施例。本发明打算涵盖对本发明的一个或一个以上实施例的更改或变化。应理解,已以说明性方式而非限定性方式做出以上描述。在审阅以上描述之后,所属领域的技术人员将明了,在本文中未具体描述以上实施例的组合及其它实施例。本发明的一个或一个以上实施例的范围包含其中使用以上结构及方法的其它应用。因此,应参考所附权利要求书连同此权利要求书授权的等效内容的全部范围来确定本发明的一个或一个以上实施例的范围。
在前述实施方式中,出于简化本发明的目的而将一些特征共同集合于单个实施例中。不应将本发明的此方法解释为反映本发明的所揭示实施例必须使用比每一权利要求中明确陈述的特征多的特征的意图。而是,如以上权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,以上权利要求书借此并入到实施方式中,其中每一权利要求独立地作为单独实施例。

Claims (35)

1.一种用于存储器中的电力中断管理的方法,其包括:
使用写入先行信息更新事务日志中的事务日志信息;及
使用所述事务日志信息更新逻辑地址LA表。
2.根据权利要求1所述的方法,其中所述写入先行信息包含关于存储器***中接下来将已写入数据的位置的信息。
3.根据权利要求1所述的方法,其中所述写入先行信息包含关于存储器***中最近已写入数据的位置的信息。
4.根据权利要求1所述的方法,其进一步包括使用来自损耗均衡算法的关于最近已写入及接下来将已写入数据的所述位置的信息形成写入先行信息。
5.根据权利要求1所述的方法,其进一步包括使用来自无用单元收集算法的关于最近已写入及接下来将已写入数据的所述位置的信息形成写入先行信息。
6.根据权利要求1所述的方法,其进一步包含通过拷贝易失性存储器中的LA表而将所述LA表周期性地存储于非易失性存储器中。
7.根据权利要求6所述的方法,其进一步包含将所述事务日志信息记录于所述事务日志中,其中所述事务日志信息包含关于易失性存储器中的所述LA表最后一次拷贝于非易失性存储器中之后在包含所述非易失性存储器的存储器***中发生的写入的信息。
8.根据权利要求1到7中任一权利要求所述的方法,其中更新所述事务日志包括重新形成事务日志信息页。
9.根据权利要求8所述的方法,其中所述方法包含使用所述写入先行信息寻找存储器中的位置,并通过定位与所述位置处的所述数据相关联的修订号码来检验在所述位置处发生的有效写入。
10.一种用于操作存储器***的方法,其包括:
形成写入先行信息;
使用所述写入先行信息更新事务日志;及
使用所述经更新的事务日志更新非易失性存储器中的逻辑地址LA表。
11.根据权利要求10所述的方法,其进一步包括在电力中断之前,在周期性基础上将所述LA表存储于非易失性存储器中,所述所存储的LA表为易失性存储器中的LA表的副本。
12.根据权利要求11所述的方法,其中在所述存储器***中的每一写入操作之后更新易失性存储器中的所述LA表。
13.根据权利要求11所述的方法,其中在更新所述LA表之前,非易失性存储器中的所述LA表不包含关于所述LA表最后一次存储于非易失性存储器中与电力中断之间发生的写入操作的信息。
14.根据权利要求10所述的方法,其进一步包括在电力中断之后在存储器***的加电后即刻将所述经更新的LA表拷贝到易失性存储器。
15.根据权利要求10到14中任一权利要求所述的方法,其中形成写入先行信息包括使用损耗均衡算法形成所述写入先行信息。
16.根据权利要求15所述的方法,其中所述写入先行信息包含关于所述存储器***中接下来将已写入数据的位置的信息。
17.根据权利要求16所述的方法,其中所述方法包含通过识别与固态驱动器中接下来将已写入数据的位置处的所述数据相关联的修订号码来检验在所述位置处发生的有效写入。
18.一种用于存储器***中的电力中断管理的方法,其包括:
使用写入先行信息寻找关于不在非易失性存储器中的事务日志或逻辑地址LA表中的写入操作的信息;
通过识别与所述写入操作信息相关联的修订号码来检验所述写入操作信息是有效的;
使用所述寻找到的写入操作信息更新事务日志;
使用所述经更新的事务日志更新非易失性存储器中的所述LA表;及
在电力中断之后将所述LA表存储于易失性存储器中。
19.根据权利要求18所述的方法,其中寻找关于所述写入操作的信息包含依据所述写入先行信息确定所述存储器***中接下来将已写入数据的位置。
20.根据权利要求19所述的方法,其中确定接下来将已写入所述数据的所述位置包括使用损耗均衡算法。
21.根据权利要求18所述的方法,其中更新所述事务日志包括更新所述事务日志中的在所述电力中断之后变毁坏的最后一页。
22.根据权利要求18到21中任一权利要求所述的方法,其中所述方法包含在周期性基础上将易失性存储器中的所述LA表的副本存储于所述非易失性存储器中。
23.根据权利要求18到21中任一权利要求所述的方法,其中所述方法包含针对在将所述LA表的副本存储于所述非易失性存储器中之后发生的操作将关于读取及写入操作的信息记录于所述事务日志中。
24.根据权利要求18到21中任一权利要求所述的方法,其中使用所述经更新的事务日志更新非易失性存储器中的所述LA表包括添加关于所述LA表最后一次拷贝到所述非易失性存储器中与所述电力中断之间发生的写入的信息。
25.一种存储器***,其包括:
固态非易失性存储器,其经配置以存储逻辑地址LA表及事务日志;及
控制器,其经配置以:
使用写入先行信息更新所述事务日志中的事务日志信息;及
使用所述事务日志信息更新所述LA表。
26.根据权利要求25所述的存储器***,其中所述事务日志经配置以记录关于在将所述LA表存储于非易失性存储器中之后在所述存储器***中正发生的写入的信息。
27.根据权利要求25所述的存储器***,其中所述控制器经配置以使用所述写入先行信息重新形成所述事务日志中的最后一页事务日志信息。
28.根据权利要求25所述的存储器***,其中所述控制器经配置以使用损耗均衡算法形成所述写入先行信息。
29.根据权利要求25到28中任一权利要求所述的存储器***,其中电容器耦合到所述非易失性存储器以在电力中断之后向所述存储器***临时提供电力。
30.一种存储器***,其包括:
固态非易失性存储器,其中所述非易失性存储器经配置以存储逻辑地址LA表及事务日志;及
控制器,其经配置以:
使用写入先行信息重新形成事务日志信息;及
使用所述事务日志信息更新所述LA表以用在电力中断之后从所述LA表中遗失的信息重建所述LA表。
31.根据权利要求30所述的存储器***,其中所述LA表在非易失性存储器中,且其中所述控制器进一步经配置以将所述经更新的LA表的副本存储于易失性存储器中。
32.根据权利要求31所述的存储器***,其中所述控制器经配置以至少每300秒一次地将易失性存储器中的所述经更新的LA表的副本存储于所述非易失性存储器中。
33.根据权利要求30到32中任一权利要求所述的存储器***,其中所述控制器经配置以使用损耗均衡算法形成所述写入先行信息。
34.根据权利要求33所述的存储器***,其中所述控制器经配置以使用所述损耗均衡算法确定所述存储器***中接下来将已写入数据之处。
35.根据权利要求30到32中任一权利要求所述的存储器***,其中所述LA表为逻辑块地址LBA表。
CN201080043757.9A 2009-10-01 2010-09-20 用于电力中断管理的方法和包含电力中断管理的存储器*** Active CN102576332B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/572,083 US8990476B2 (en) 2009-10-01 2009-10-01 Power interrupt management
US12/572,083 2009-10-01
PCT/US2010/002557 WO2011040950A2 (en) 2009-10-01 2010-09-20 Power interrupt management

Publications (2)

Publication Number Publication Date
CN102576332A true CN102576332A (zh) 2012-07-11
CN102576332B CN102576332B (zh) 2015-04-29

Family

ID=43824049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080043757.9A Active CN102576332B (zh) 2009-10-01 2010-09-20 用于电力中断管理的方法和包含电力中断管理的存储器***

Country Status (7)

Country Link
US (3) US8990476B2 (zh)
EP (1) EP2483782B1 (zh)
JP (1) JP5585919B2 (zh)
KR (1) KR101447786B1 (zh)
CN (1) CN102576332B (zh)
TW (1) TWI459399B (zh)
WO (1) WO2011040950A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105122220A (zh) * 2013-03-15 2015-12-02 西部数据技术公司 固态驱动器中的原子写入命令支持
CN107025185A (zh) * 2016-02-01 2017-08-08 爱思开海力士有限公司 数据存储装置及其操作方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
US8543758B2 (en) * 2011-05-31 2013-09-24 Micron Technology, Inc. Apparatus including memory channel control circuit and related methods for relaying commands to logical units
US9514838B2 (en) * 2011-05-31 2016-12-06 Micron Technology, Inc. Apparatus including memory system controllers and related methods for memory management using block tables
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
US9104614B2 (en) * 2011-09-16 2015-08-11 Apple Inc. Handling unclean shutdowns for a system having non-volatile memory
US9075758B2 (en) 2012-03-19 2015-07-07 Samsung Electronics Co., Ltd. Removable storage device with transactional operation support and system including same
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
US9037820B2 (en) * 2012-06-29 2015-05-19 Intel Corporation Optimized context drop for a solid state drive (SSD)
US9015404B2 (en) * 2012-09-28 2015-04-21 Intel Corporation Persistent log operations for non-volatile memory
US9959070B2 (en) * 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units
US9875054B2 (en) 2013-03-06 2018-01-23 Ab Initio Technology Llc Managing operations on stored data units
TWI498902B (zh) * 2013-11-28 2015-09-01 Phison Electronics Corp 資料管理方法、記憶體儲存裝置及記憶體控制電路單元
US10359937B2 (en) * 2013-12-20 2019-07-23 Sandisk Technologies Llc System and method of implementing a table storage support scheme
GB2559119B (en) * 2017-01-20 2020-12-30 Advanced Risc Mach Ltd Apparatus and methods to prolong lifetime of memories
US11314635B1 (en) * 2017-12-12 2022-04-26 Amazon Technologies, Inc. Tracking persistent memory usage
US11599403B2 (en) * 2018-10-03 2023-03-07 SK Hynix Inc. Logging mechanism for memory system
US11436153B2 (en) * 2020-05-26 2022-09-06 Western Digital Technologies, Inc. Moving change log tables to align to zones
CN113961140B (zh) 2020-07-02 2024-06-11 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN113885778B (zh) * 2020-07-02 2024-03-08 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163635A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald Transactional file system for flash memory
US20040003327A1 (en) * 2002-06-27 2004-01-01 Joshi Aniruddha P. Method and system to implement a system event log for system manageability
CN1776649A (zh) * 2004-11-18 2006-05-24 国际商业机器公司 存储***中元数据道的原子更新的管理方法和***
CN1848071A (zh) * 2005-03-24 2006-10-18 株式会社东芝 计算机***、盘装置以及数据更新控制方法
US20090150599A1 (en) * 2005-04-21 2009-06-11 Bennett Jon C R Method and system for storage of data in non-volatile media

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63307551A (ja) 1987-06-08 1988-12-15 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法
US7093101B2 (en) 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7003620B2 (en) * 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
US8244958B2 (en) 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
JP4472010B2 (ja) 2006-08-09 2010-06-02 株式会社日立超エル・エス・アイ・システムズ 記憶装置
WO2008087634A1 (en) 2007-01-18 2008-07-24 Sandisk Il Ltd. A method and system for facilitating fast wake-up of a flash memory system
US8751755B2 (en) 2007-12-27 2014-06-10 Sandisk Enterprise Ip Llc Mass storage controller volatile memory containing metadata related to flash memory storage
US7945762B2 (en) * 2008-01-29 2011-05-17 Cadence Design Systems, Inc. Method and apparatus for memory management in a non-volatile memory system using a block table
US7979626B2 (en) * 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
TW201011755A (en) * 2008-09-10 2010-03-16 Skymedi Corp Flash memory system and its data recovery method
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
US8495338B2 (en) * 2010-12-03 2013-07-23 Micron Technology, Inc. Transaction log recovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163635A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald Transactional file system for flash memory
US20040003327A1 (en) * 2002-06-27 2004-01-01 Joshi Aniruddha P. Method and system to implement a system event log for system manageability
CN1776649A (zh) * 2004-11-18 2006-05-24 国际商业机器公司 存储***中元数据道的原子更新的管理方法和***
CN1848071A (zh) * 2005-03-24 2006-10-18 株式会社东芝 计算机***、盘装置以及数据更新控制方法
US20090150599A1 (en) * 2005-04-21 2009-06-11 Bennett Jon C R Method and system for storage of data in non-volatile media

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王伟能,等: "NAND闪存存储文件***", 《技术论坛TECHNOLOGY FORUM》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105122220A (zh) * 2013-03-15 2015-12-02 西部数据技术公司 固态驱动器中的原子写入命令支持
CN105122220B (zh) * 2013-03-15 2018-10-26 西部数据技术公司 固态驱动器中的原子写入命令支持
CN109240942A (zh) * 2013-03-15 2019-01-18 西部数据技术公司 固态驱动器中的原子写入命令支持
CN109344088A (zh) * 2013-03-15 2019-02-15 西部数据技术公司 固态驱动器中的原子写入命令支持
US10254983B2 (en) 2013-03-15 2019-04-09 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
CN109240942B (zh) * 2013-03-15 2020-11-24 西部数据技术公司 固态驱动器中的原子写入命令支持
CN107025185A (zh) * 2016-02-01 2017-08-08 爱思开海力士有限公司 数据存储装置及其操作方法
CN107025185B (zh) * 2016-02-01 2020-09-11 爱思开海力士有限公司 数据存储装置及其操作方法

Also Published As

Publication number Publication date
WO2011040950A3 (en) 2011-08-18
US20110082963A1 (en) 2011-04-07
TWI459399B (zh) 2014-11-01
US10564690B2 (en) 2020-02-18
EP2483782B1 (en) 2015-11-25
KR20120060236A (ko) 2012-06-11
WO2011040950A2 (en) 2011-04-07
US9874918B2 (en) 2018-01-23
EP2483782A2 (en) 2012-08-08
CN102576332B (zh) 2015-04-29
JP5585919B2 (ja) 2014-09-10
KR101447786B1 (ko) 2014-10-06
TW201120904A (en) 2011-06-16
US20180101209A1 (en) 2018-04-12
US20150185798A1 (en) 2015-07-02
JP2013506903A (ja) 2013-02-28
US8990476B2 (en) 2015-03-24
EP2483782A4 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
CN102576332B (zh) 用于电力中断管理的方法和包含电力中断管理的存储器***
CN103270500B (zh) 事务日志恢复
US8166258B2 (en) Skip operations for solid state disks
KR102533207B1 (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN108628771B (zh) 信息处理装置、存储设备以及信息处理***
CN107301016A (zh) 用于垃圾收集的有效性跟踪
US10997039B2 (en) Data storage device and operating method thereof
CN102292712A (zh) 逻辑地址偏移
CN102292711A (zh) 固态存储器格式化
CN102549554A (zh) 基于条带的存储器操作
CN103635968A (zh) 包含存储器***控制器的设备和相关方法
CN112346656A (zh) 控制器及其操作方法
CN109992202B (zh) 数据存储设备、其操作方法以及包括其的数据处理***
CN109144899B (zh) 用于管理表恢复的方法
CN112445421A (zh) 数据存储装置及其操作方法
US10877853B2 (en) Data storage device and operation method optimized for recovery performance, and storage system having the same
CN110568918A (zh) 停电时减少功耗的数据存储方法及数据存储设备
CN111737160A (zh) 存储管理中多个副本的优化处理
US20190361608A1 (en) Data storage device and operation method for recovery, and storage system having the same
US11989431B2 (en) Write updates sorting during BKOPS idle

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