CN101681313A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN101681313A CN101681313A CN200980000132A CN200980000132A CN101681313A CN 101681313 A CN101681313 A CN 101681313A CN 200980000132 A CN200980000132 A CN 200980000132A CN 200980000132 A CN200980000132 A CN 200980000132A CN 101681313 A CN101681313 A CN 101681313A
- Authority
- CN
- China
- Prior art keywords
- pointer
- management information
- piece
- daily record
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/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
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种存储器系统包括易失性第一存储单元、非易失性第二存储单元、和控制器。该控制器执行数据传输,将包括存储在第二存储单元的数据的存储位置的管理信息存储在第一存储单元,并且在更新管理信息的同时,执行数据管理。第二存储单元具有管理信息存储区,用于存储管理信息存储信息,其包括最新状态的管理信息以及管理信息的位置信息。存储位置信息在存储器系统的启动操作期间通过控制器来读取,并包括表示在管理信息存储区中最新状态的管理信息的存储位置的第二指针以及表示第二指针的存储位置的第一指针。第一指针存储在第二存储单元的固定区中,第二指针存储在第二存储单元中不包括固定区的区域中。
Description
技术领域
本发明涉及使用非易失性半导体存储器装置的存储器系统。
背景技术
一些个人计算机(PC)使用硬盘装置作为次级存储装置。在这些PC中,已知的技术是将已经存储在硬盘装置上的数据做备份以防止由于一些故障而使数据失效。例如,当探测到在硬盘装置上改变数据的行为时,在发生数据改变之前,先产生作为数据的备份的快照(snapshot)和关于数据改变的日志。然后,在每个预定的时间重复进行以下的处理,生成新的快照,在生成新的快照之前使以前生成的快照无效,并生成新的日志(参加美国专利申请公开No.2006/0224636)。在由于某种原因数据变得无效的情况下,可以通过读取快照和日志来恢复数据。
最近几年,作为非易失性半导体存储器装置的NAND闪存的容量以急剧地增大。结果,包含具有NAND闪存作为次级存储装置的存储器系统的PC已进入实际应用。但是,与将具有硬盘装置作为次级存储装置的个人计算机中存储的数据作备份不同,在美国专利申请公开No.2006/0224636中公开的技术不能应用于对具有NAND闪存作为次级存储装置的个人计算机中存储的数据的备份。这是因为,为了增加NAND闪存的容量,采用了多值存储技术,该技术能够在一个存储器单元中存储大于等于2比特的多个数据(多值数据)。
配置多值存储器的存储器单元具有场效应晶体管结构,其具有这样的叠栅结构(stacked gate structure),其中栅极绝缘膜、浮栅电极、栅极间绝缘膜(inter-gate insulating film)以及控制栅电极按顺序层叠在沟道区,并且能够根据累积在浮栅电极的电子的数量来设定多个阈值电压。为了能够基于多个阈值电压进行多值存储,需要使对应于一个数据的阈值电压的分布极其的窄。
例如,作为能够存储多4个值的多值存储器,存在这样的存储器,其在一个存储器单元中包括低级页(lower order page)和高级页(higherorder page),并通过在每个页中写入1比特数据来存储2比特(4个值)的数据。在这样的多值存储器中写数据的方法中,在数据写入第一存储单元的低级页后,将数据写入与该第一存储单元相邻的存储单元(第二存储单元)的低级页。在数据写入该相邻的存储单元后,将数据写入第一存储单元的高级页(参见,例如,JP-A 2004-192789(KOKAI))。
然而,在这样的多值存储器中,较早地写入了数据的第一存储器单元的阈值电压由于数据的写入时间较晚并且与第一存储器单元相邻的第二存储器单元的阈值电压而浮动。因此,在该多值存储器中,容易发生低级页崩溃,其中在某个存储器单元的高级页写入数据时,由于例如非正常断电,写入被中断,在先前写入了数据的低级页也被损坏。
在包括NAND闪存的存储器系统中,当存储数据时,必须一次以例如称为块的单位擦除写入区,然后以称为页的单位执行写入。然而,存在这样的问题,随着在数据的这种写入之前执行的块的擦除的次数增加,配置块的存储器单元的恶化加剧。因此,在具有作为二级存储装置的NAND闪存的个人计算机中,必须执行抑制对块擦除的次数的数据管理。当基于上述快照和日志恢复数据时,同样必须执行抑制对块擦除的次数的数据管理。具体地,对于指示在NAND闪存中的数据存储位置的管理信息的存储,必须提高可靠性。
发明内容
根据本发明一个实施方式的存储器系统包括:易失性第一存储单元;非易失性第二存储单元;和控制器,其通过第一存储单元执行在主机设备和第二存储单元之间的数据传输,在第一存储单元中存储包括在该存储器系统的启动操作期间在第二存储单元存储的数据的存储位置的管理信息,并在更新存储的管理信息的同时,基于该存储的管理信息在第一和第二存储单元中执行管理。所述第二存储单元在其中存储于存储在所述第一存储单元中的最新状态的管理信息,并且管理信息存储信息包括表示在所述最新状态下所述管理信息的存储位置的存储位置信息;以及在所述存储器系统的启动操作期间由所述控制器读取所述存储位置信息,其包括表示在所述第二存储单元中最新状态的管理信息的存储位置的第二指针以及表示所述第二指针的存储位置的第一指针,所述第一指针存储在固定区中的第一指针存储区中,在所述第二存储单元中的第一指针的存储位置是固定的,并且所述第二指针存储在所述第二存储单元中除了固定区域之外的区域中的第二指针存储区中。
根据本发明一个实施方式的存储器系统包括:易失性第一存储单元;非易失性第二存储单元,包括可以存储多值数据的存储器单元;以及控制器,其在主机装置和第二存储单元之间通过第一存储单元来执行数据传输,将包括在该存储器系统的启动操作期间存储在第二存储单元的数据的存储位置的管理信息存储在第一存储单元,并且在更新存储的管理信息的同时,基于存储的管理信息在第一和第二存储单元中执行数据管理。所述第二存储单元包括:快照存储区,用于将满足预定条件时获取的以及作为管理信息的快照存储在所述第一存储单元中;日志存储区,当在所述管理信息中发生改变时存储作为改变之前和之后的差别信息的日志;以及指针存储区,用于存储表示所述快照存储区的存储位置的第一指针。所述日志存储区根据要存储的日志的大小依次提取作为数据擦除单位的块。在所述快照中存储指示在所述日志存储区中存储的顶部日志的存储位置的第二指针。所述块在其中存储表示下一要提取的块的位置的第一块提取位置信息。
附图说明
图1是根据本发明第一实施方式的存储器系统的配置的示例的框图;
图2是NAND存储器中的任意一个方框的配置示例的电路图;
图3A是DRAM的功能配置示意图,图3B是NAND存储器的功能配置示意图;
图4是用于管理存储在存储器系统中的数据的层结构示例的示图;
图5示出了缓存管理信息表的示例;
图6示出了逻辑NAND管理信息表的示例;
图7示出了NAND内部逻辑物理转换信息表的示例;
图8是根据第一实施方式的在管理信息存储区存储的管理信息存储信息的内容的示例的示意图;
图9示出了日志的示例;
图10示出了第二根指针的示例;
图11是图1所示驱动控制单元的功能配置的示例的框图;
图12是图11所示数据管理单元的功能配置的示例的框图;
图13是存储器系统的管理信息的存储处理过程的示例的流程图;
图14是存储器系统的管理信息的恢复处理过程的示例的流程图;
图15是根据本发明第二实施例用于存储日志的日志存储区的结构的示例;
图16是根据第三实施例的在管理信息存储区存储的管理信息存储信息的内容的示例的示意图;
图17是解释前日志和后日志的存储处理的示图;
图18是根据第三实施例的存储器系统的管理信息的恢复处理过程的示例的流程图;
图19是根据第四实施例的存储前日志的前日志存储区和存储后日志的后日志存储区的结构的示例的示图;
图20是根据本发明第五实施例的第一根指针的复用的示例的示图;以及
图21是根据第五实施例的第二根指针的复用的示例的示图。
具体实施方式
以下参照附图描述根据本发明的存储器系统的示例性实施例。本发明不限于这些实施方式。
根据本发明一个实施方式的存储器系统包括非易失性半导体存储装置,并被用作主机设备(例如个人电脑)的次级存储装置(SSD:固态驱动器)。该存储器系统具有存储主机设备请求写入的数据的功能,以及读取主机设备请求读取的数据并将该数据发送到主机设备的功能。图1是根据第一实施例的存储器系统10的配置示例的框图。该存储器系统10包括作为第一存储单元的DRAM(动态随机存取存储器)11、作为第二存储单元的NAND闪存(以下称为“NAND存储器”)12、电源电路13和作为控制器的驱动控制电路14。
DRAM 11用作用于数据传输、管理信息记录或工作区的存储单元。具体说,当DRAM 11用作用于数据传输的存储单元时,在数据被写入NAND存储器12之前该DRAM 11用于临时存储由主机设备请求写入的数据,并且该DRAM 11从NAND存储器12中读取由该主机设备请求读取的数据并临时存储该读取的数据。当该DRAM 11用作用于管理信息记录的存储单元时,该DRAM 11用于存储管理信息以管理存储在DRAM 11和NAND 12中的数据的存储位置。当该DRAM 11用作用于工作区的存储单元时,例如,当恢复管理信息时,在所使用的日志的扩展期间,使用该DRAM 11。
NAND存储器12用作存储单元,用于在其中存储数据。具体说,在该NAND存储器12中存储由主机设备指定的数据,在其中存储由DRAM11管理的管理信息以作为备份。在图1中,作为例子示出了包含四个通道通信存储区120A至120D的NAND存储器12。每个通道通信存储区120A至120D包括两个组121,每个组包括8个具有预定大小的存储空间(例如,2GB)的芯片122。该通道通信存储区120A至120D通过驱动控制单元14和总线15A至15D被连接。
电源电路13从外部电源接收外部电能并产生多个内部电源以提供给存储器系统10的各个单元。该电源电路13探测外部电源的状态,即,上升缘和下降缘,以基于探测到的状态产生通电重置信号,并将通电重置信号输出到驱动控制单元14。
该驱动控制单元14控制DRAM 11和NAND存储器12。例如,如以下所详细介绍的,该驱动控制单元14根据来自电源电路13的通电重置信号执行管理信息的恢复处理和管理信息的存储处理。驱动控制单元14通过ATA接口(I/F)向主机设备发送数据并从主机设备接收数据,并通过RS232C I/F向调试设备发送数据并从调试设备接收数据。另外,该驱动控制电路14输出控制信号以控制设置在存储器系统10的外侧的用于状态显示的LED的开/关。
下面详细介绍NAND存储器12的配置。通过在基底上排列多个块来配置该NAND存储器12,所述多个块是数据擦除的单位。图2是NAND存储器12的任意块的配置示例的电路图。在图2中,左右方向设置为X方向,与X方向垂直的方向设置为Y方向。
NAND存储器12的每个块BLK包括沿X方向按顺序排列的(m+1)(m为大于等于0的整数)个NAND串NS。每个NAND串NS具有(n+1)(n为大于等于0的整数)个存储器单元晶体管MT0至MTn,这些在Y方向彼此相邻的各个存储器单元晶体管MT之间共享扩散区(源极区或漏极区)。而且,存储器单元晶体管MT0至MTn在Y方向串联连接。此外,在(n+1)个存储器晶体管MT0至MTn组成的一行的两端设置选择晶体管ST1和ST2。
每个存储单元晶体管MT0至MTn是形成在半导体基底上的具有叠栅结构的场效应晶体管。该叠栅结构包括通过栅绝缘膜形成在该半导体基底上的电荷累积层(浮栅电极)和通过栅极间绝缘膜形成在电荷累积层上的控制栅电极。另外,存储器单元晶体管MT0至MTn是多值存储器,其中阈值电压随着在浮栅电极累积的电子数而变化,并且根据该阈值电压的差异两个或多个比特的数据能够被存储。在下面的介绍中假设存储器单元晶体管MT0至MTn是能够存储4个值的多值存储器。但是,存储器单元晶体管MT0至MTn可以是能存储多于4个值的多值存储器。
字线WL0至WLn分别连接到每个NAND串NS的储器单元晶体管MT0至MTn的控制栅电极。在每个NAND串NS中的存储器单元晶体管MTi(i=0至n)通过相同的字线(i=0至n)共同地连接在一起。换言之,出现在块BLK的同一行的存储器单元晶体管MTi的各个控制栅电极连接到相同的字线WLi。连接到相同字线WLi的(m+1)个存储器单元晶体管MTi看作一页。在NAND存储器12中,以页为单位执行数据的写入和读出。具体说,连接到相同字线WLi的一组(m+1)个存储器单元晶体管MTi是一个单位,形成一页。在能够存储4个值的多值存储器的情况中,连接到同一字线WLi的一组存储器单元晶体管MTi形成两页。当首先写入了数据的页被设置为低级页,而随后写入了数据的页被设为高级页时,在NAND存储器12中,以页为单位进行数据的写入和读取。
位线BL0至BLm分别连接到一个块BLK中的(m+1)个选择晶体管ST1的漏极。选择栅极线(selection gate line)SGD公共地连接到每个NAND串NS的各选择晶体管ST1的各栅极。各选择晶体管ST1的各源极连接到存储器单元晶体管MT0的漏极。类似地,源极线SL公共地连接到一个块BLK中的(m+1)个选择晶体管ST2的各源极。选择栅极线SGS公共地连接到每个NAND串NS的各选择晶体管ST2的各栅极。各选择晶体管ST2的各个漏极连接到存储器单元晶体管MTn的各个源极。
虽然在图中未示出,在一个块BLK中的位线BLj(j=0至m)在其它块BLK的各条位线BLj之间将各选择晶体管ST1的各漏极共同地连接起来。换言之,在块BLK的相同列中的NAND串NS被相同的位线BLj连接。
下面介绍DRAM 11和NAND 12的功能配置。图3A是DRAM 11的功能配置的示意图,图3B是NAND 12的功能配置的示意图。
如图3A所示,DRAM 11包括写缓存区,其中存储主机设备请求写入的数据;读缓存区RC,其中存储主机设备请求读取的数据;临时存储区111,其中存储管理信息,用于管理存储在DRAM 11和NAND 12中的数据的存储位置;以及在恢复管理信息时使用的工作区112。
如图3B所示,NAND存储器12包括:其中存储由主机装置请求写入的数据的数据存储区125、以及管理信息存储区126,其中存储在DRAM 11的临时存储区111中进行管理的管理信息。在此示例中,在NAND存储器12中的数据写入和读出单位被设为页面大小单位。删除单位被设为块大小单位(例如512KB)。因此,用于存储以块大小为单位管理的NAND存储器12的各个块的区被进一步划分为以页面大小为单位的区。
以下说明在DRAM 11的临时存储区111中管理的管理信息。图4是用于管理存储器系统10中存储的数据的层结构的示例的图。这里假定该数据是主机装置请求写入或读出的数据。在存储器系统10中,通过三层结构执行数据管理:DRAM管理层31、逻辑NAND管理层32、以及物理NAND管理层33。DRAM管理层31执行DRAM 11中的数据管理,其起到高速缓存的作用。逻辑NAND管理层32执行NAND存储器12中的逻辑数据管理。物理NAND管理层33执行NAND存储器12中的物理数据管理、针对NAND存储器12的寿命延长处理等等。
在DRAM 11的写缓存区WC和读缓存区RC中,由主机装置的地址管理方法所管理的逻辑地址(下文中称为“LBA(逻辑块地址)”)指定的数据存储于DRAM 11上的预定范围内的物理地址中(下文中称为“DRAM内物理地址”)。DRAM管理层31中的数据由高速缓存管理信息41所管理,所述高速缓存管理信息41包括:将要存储的数据的LBA以及DRAM内物理地址之间的对应关系、以及指示出在页面中以扇区大小为单位的数据的存在或缺失的扇区标志。
图5示出了表格形式的高速缓存管理信息41的示例。高速缓存管理信息41是针对DRAM 11的一页大小的一个区的一个条目。条目数量小于等于配置在写缓存区WC和读缓存区RC中的页的数量。在每个条目中,将页大小的数据的LBA、DRAM内物理地址与扇区标志相关联,所述扇区标志指示出:在通过以扇区大小划分此页而获得的每个区中的有效数据的位置。
在NAND存储器12中,来自DRAM 11的数据被存储于NAND存储器12上的预定范围内的物理地址中(下文中称为“NAND内物理地址”)。在由多值存储器构成的NAND存储器12中,由于可重写次数是有限的,因此在配置NAND存储器12的各块之中的重写次数由驱动控制单元14控制,以使其均衡。换句话说,当执行对于在NAND存储器12中的某个NAND内物理地址中写入的数据的更新时,驱动控制单元14执行控制以使在配置NAND存储器12的各块之间的重写次数均衡,以便在不同于初始块的一个块中写入数据,该数据反映了在包括了将要更新的数据的块中需要被更新的部分,并使初始块无效。
如上所述,在NAND存储器12中,在对数据的写入和读出处理以及对数据的删除处理中,处理单元是不同的。在对数据的更新处理中,数据在更新前的位置(块)和数据在更新后的位置(块)是不同的。因此,在第一实施例中,除NAND内物理地址之外,在NAND存储器12中独立使用的NAND内逻辑地址(下文中称为“NAND内逻辑地址”)被提供。
因此,在逻辑NAND管理层32中的数据被逻辑NAND管理信息42管理,所述逻辑NAND管理信息42指示出:以页大小为单位从DRAM 11接收的数据的LBA与指示出存储有所接收的数据的NAND存储器12的逻辑页位置的NAND内逻辑地址之间的关系,以及指示出表示逻辑块的地址范围的关系(该逻辑块的大小与作为NAND存储器12中的删除单元的物理块一致)。多个逻辑块的集合可以被设为一个逻辑块。物理NAND管理层33中的数据被NAND内逻辑地址-物理地址转换信息(下文中称为“逻辑-物理转换信息”)所管理,所述信息包括NAND存储器12中的逻辑块的NAND内逻辑地址和物理块的NAND内物理地址之间的对应关系。
图6示出了表格形式的逻辑NAND管理信息42的示例。图7示出了表格形式的NAND内逻辑-物理转换信息43的示例。如图6所示,逻辑NAND管理信息42包括逻辑页管理信息42a和逻辑块管理信息42b。逻辑页管理信息42a针对一页大小的一个逻辑区具有一个条目。每个条目包括:一页大小的数据的LBA、NAND内逻辑地址、以及指示出此页面是否有效的页标志。逻辑块管理信息42b包括:针对NAND存储器12的一个块大小的逻辑区设置的NAND内逻辑地址。如图7所示,在NAND内逻辑-物理转换信息43中,将NAND存储器12的NAND内物理地址与NAND内逻辑地址相关联。
通过使用这些类型的管理信息,在主机装置中使用的LBA、在NAND存储器12中使用的NAND内逻辑地址、以及在NAND存储器12中使用的NAND内物理地址的对应关系可以被建立。这使得在主机装置和存储器系统10之间交换数据成为可能。
由于电源关闭或类似原因,由DRAM管理层31所管理的管理信息丢失,从而该管理信息可以被称为易失性表。相反地,如果由于电源关闭或类似原因,由逻辑NAND管理层32以及物理NAND管理层33所管理的管理信息丢失,则所丢失的管理信息会阻碍存储器系统10的成功启动,从而需要采取措施以使得即使在电源关闭或类似原因的情况下也能存储该管理信息。因此,该管理信息可以被称为非易失性表。
该非易失性表管理在NAND存储器12中存储的数据。如果非易失性表不存在,则在NAND存储器12中存储的信息无法被访问,或者在一个区中存储的数据被删除。因此,为防备突然电源关闭,非易失性表需要作为最新信息被存储。因此,在第一实施例中,包括至少一个非易失性表的管理信息以最新状态被存储在NAND存储器12的管理信息存储区126中。以下说明在NAND存储器12的管理信息存储区126中存储的管理信息存储信息。以下说明假定仅有非易失性表存储在管理信息存储区126中。
图8是在管理信息存储区126中存储的管理信息存储信息的内容的示例的示意图。在管理信息存储区126中存储的管理信息存储信息包含:作为非易失性表在某一点的内容的快照210、作为在非易失性表(在内容存在改变时所述非易失性表的内容也改变)和快照210(或快照210和已经生成的日志)之间的差别信息的日志220、指示快照210以及首先获取的关于该快照210的日志220的位置(块)的第二根指针230、以及指示存储第二根指针230的位置(块)的第一根指针240。在DRAM 11的临时存储区111中存储的各类管理信息中,快照210是通过存储包括了至少在预定一点的非易失性表的管理信息而获得的信息。
分别在不同的块中存储快照210、日志220、第二根指针230、和第一根指针240。存储快照210、日志220、第二根指针230、和第一根指针240的块的大小与作为擦除单元的物理块大小相同。将快照210存储在快照存储块中。在NAND存储器12的管理信息存储区126中,快照210包括作为非易失性表的逻辑NAND管理信息42和NAND内逻辑物理转换信息43。当要存储新快照210时,将新快照210存储在与之前存储的快照210的块不同的块中。
日志220存储在专用日志存储块中。即使快照的生成改变,也持续地将日志220写入到相同日志存储块中。图9示出日志220的示例。日志220包括:将成为改变目标的管理信息的目标信息、作为将成为目标信息中的改变目标的条目的目标条目、作为将成为目标条目中的改变目标的项的目标项、以及作为目标项的改变的内容的改变内容。
第二根指针230存储在专用第二根指针存储块中。第二根指针230仅须是这样的指针,其指示用于表示快照210和日志220的存储位置的块的顶端地址。然而,指示第二根指针230中的快照210的存储位置的部分可以是指示包括在快照210中的各种管理信息(非易失性表)的顶端地址的部分。当重新存储快照210时,更新第二根指针230。日志220的指针可存储在快照210中,而非存储在第二根指针存储块中。
图10示出第二根指针230的示例。假设一个块的大小是512KB,将第二根指针230存储在具有4KB大小的一个页中。第二根指针230包括快照访问信息、日志访问信息、和下一指针。快照访问信息是用于访问在其中存储快照的块的信息。日志访问信息是用于访问在其中存储日志的块的信息。日志访问信息包括用于指定块的信息以及用于在存储与参照快照相关日志的块中指定顶部页的信息。下一指针是索引,其指示存储有下一第二根指针230的页。通过这个下一指针,将第二根指针230改变为链接列表系统(linked list system)中的信息。可通过从第一根指针240指定的第二根指针串块的顶部页跟踪下一指针来到达最新第二根指针230。作为对链接列表系统的替代方案,可通过一次写入的方式从第二根指针存储区的顶部页依次存储第二根指针230。
第一根指针240存储在专用第一根指针存储块中。第一根指针240是用于访问存储有第二根指针230的第二根指针存储块的块(位置)的信息,并且是在启动存储器系统10时在恢复管理信息的处理中首先读取的信息。当存储第二根指针的块改变时,改变第一根指针240。通过一次写入的方式将第一根指针240从块的顶部页依次存储在第一根指针存储块中。在这种情况下,在第一根指针存储块中紧邻未写页的在前页具有最新信息。因此,可通过提取未写页的最高级的页来提取最新第一根指针240。以与第二根指针230相同的方式,对于第一根指针240,也可使用链接列表。
第一根指针240存储在NAND存储器12中的固定区1261中。快照210、日志220、和第二根指针230存储在NAND存储器12中的可变区1262中。固定区1261是在NAND存储器12中由逻辑NAND管理层32管理的逻辑块与由物理NAND管理层33管理的物理块之间的关系固定的区域,以及存储有使得具有几乎不发生重写和写入的低更新频率的存储器系统10运行所必须的信息的区域。例如,在擦除块中的信息而并非在管理信息存储区126(NAND存储器12)中的另一块写入信息(第一根指针240)之后,固定区1261是在当前所有块被写满时被设置为从相同块的顶部页写入信息的区域。在这个实例中,由多值存储器来配置NAND存储器12。然而,期望在二叉节点中使用NAND存储器12,以提高第一根指针240的可靠性。
可变区1262是在不包括固定区1261的NAND存储器12的区域中的区域,在该区域中由逻辑NAND管理层32管理的逻辑块与物理NAND管理层33管理的物理块之间的关系发生改变。例如,可变区1262是在当前所有块被写满时被设置为在作为管理信息存储区126中的可变区1262中的可写空闲块的另一块中写入下一信息的区域。可变区1262是上述NAND存储器12中的不包括固定区1261的区域。除了在管理信息存储区126中存储快照210、日志220、和第二根指针230的区域之外,可变区1262还包括数据存储区125。换句话说,在不包括固定区1261的NAND存储器12的整个物理区是可变区1262。在可变区1262中,按功能划分数据存储区125以及在管理信息存储区126中存储快照210、日志220、和第二根指针230的区域。
以下说明驱动控制单元14的功能。图11是驱动控制单元14的功能配置的示例的框图。驱动控制单元14包括:数据管理单元141、ATA命令处理单元142、安全管理单元143、引导程序加载器144、初始化管理单元145、以及调试支持单元146。数据管理单元141执行DRAM 11和NAND存储器12之间的数据传输以及对于与NAND存储器12有关的多种功能的控制。ATA命令处理单元142基于从ATA接口接收的指令与数据管理单元141合作执行数据传输处理。安全管理单元143与数据管理单元141和ATA命令处理单元142合作管理各种类型的安全信息。引导程序加载器144在通电期间将各个管理程序(固件)从NAND存储器12加载到未示出的存储器(例如SRAM(静态RAM))。初始化管理单元145执行驱动控制单元14中的各个控制器和电路的初始化。调试支持单元146处理经由RS232C接口从外界提供的调试数据。
图12是数据管理单元141的功能配置的示例的框图。数据管理单元141包括:数据传输处理单元151、管理信息管理单元152、管理信息恢复单元155、和重写块均衡处理单元156。数据传输处理单元151执行DRAM11和NAND存储器12之间的数据传输。管理信息管理单元152根据在DRAM 11和NAND存储器12中存储的数据的改变来执行管理信息的改变和存储。管理信息恢复单元155基于在通电或类似情况期间存储的管理信息恢复最新的管理信息。在整个NAND存储器中,重写块均衡处理单元156均衡写入有数据和管理信息存储信息的块的写入次数。
管理信息管理单元152包括管理信息写入单元153和管理信息存储单元154。当根据针对由数据传输处理单元151在DRAM 11或NAND存储器12中存储的数据的改变处理从而对管理信息的更新为必要的时候,管理信息写入单元153执行对在DRAM 11中存储的管理信息的更新。
当存储器系统10满足预定条件时,管理信息存储单元154在NAND存储器12的管理信息存储区126中存储作为快照210的管理信息、作为日志220的将在管理信息中更新的信息。当根据快照210或日志220的存储改变在第二根指针230或第二根指针230和第一根指针240中写入的位置时,管理信息存储单元154将更新处理应用到第二根指针230或第二根指针230和第一根指针240。
当满足与存储器系统10相关的预定条件时,由管理信息存储单元154执行快照210的存储。例如,当为了在NAND存储器12的管理信息存储区126中存储日志220而提供的日志存储区变满时(即该区域完全被数据充满),执行快照210的存储。
在涉及DRAM 11中存储的管理信息(非易失性表)的更新的在NAND存储区12上的数据更新(当在NAND存储器12中的数据写入是必要时)期间,由管理信息存储单元154执行日志220的存储。
当存储器系统10的电源被打开时,管理信息恢复单元155基于在NAND存储器12的管理信息存储区126中存储的管理信息存储信息执行针对管理信息的恢复处理。具体地,管理信息恢复单元155顺序地跟踪固定区1261中的第一根指针240以及在可变区1262中的第二根指针230和日志220,并确定对应于最新快照210的日志220是否存在。当所述日志220不存在时,管理信息恢复单元155在DRAM 11中恢复作为管理信息的快照存储块中的快照210。当日志220存在时,由于已经发生了例如短暂断路的异常终止,所以管理信息恢复单元155从快照存储块获得快照210,从日志存储块获得日志220,以及执行将日志220反映到DRAM 11上的快照210的管理信息(非易失性表)的恢复。
在将NAND存储器12中的数据存储区125中的块以及在管理信息存储区126中存储快照210、日志220、和第二根指针230的块重写到可变区1262中的其他可用块时,重写块均衡处理单元156在重写目的地选择一个块,使得均衡可变区1262中的块的重写次数。重写块均衡处理单元156指示数据传输处理单元151、管理信息管理单元152、和管理信息存储单元154执行重写。当在新块中写入数据、快照210、日志220、和第二根指针230时,重写块均衡处理单元156同样在重写目的地选择一个块,使得能够均衡可变区1262中的块的重写次数。重写块均衡处理单元156指示数据传输处理单元151、管理信息管理单元152、和管理信息存储单元154执行重写。在这种情况下,可以在重写目的地指定一个块,而不管是否存在过去用作数据存储区125的块或在管理信息存储区126中存储快照210、日志220、和第二根指针230的块,只要该块是可变区1262中的可用块即可。
以下说明由管理信息管理单元152执行的针对存储器系统10的管理信息的存储处理。图13是针对存储器系统10的管理信息的存储处理过程的示例的流程图。假设存储器系统10连接于主机装置,并作为主机装置的次级存储装置进行工作,主机装置(存储器系统10)处于已启动状态,并且在该启动状态之前,在存储器系统10停止之前存储快照210。
首先,基于在主机装置(存储器系统10)的尾端存储的快照210,主机装置(存储器系统10)处于已启动状态(步骤S11)。此后,管理信息管理单元152确定预定的快照存储条件是否满足(步骤S12)。当快照存储条件不满足时(步骤S12的“否”),管理信息管理单元152确定涉及对管理信息的更新的指令(满足日志存储条件的指令)是否被接收(步骤S13)。当涉及对管理信息的更新的指令未被接收时(步骤S13的“否”),管理信息管理单元152返回步骤S12。
当涉及对管理信息的更新的指令(关于将数据写入NAND存储器12的指令)被接收时(步骤S13的“是”),管理信息管理单元152通过执行该指令确定指示出管理信息将如何被更新的更新调度(步骤S14)。管理信息管理单元152将更新调度存储在NAND存储器12的管理信息存储区126的日志存储块中作为日志220(步骤S15)。当日志220尚未被存储在日志存储块中时,更新调度(日志)是在当前点的非易失性表和在快照存储块中存储的快照210之间的差别信息。当日志220(以下称为过去日志)已被存储在日志存储块中时,更新调度(日志)是在当前点的非易失性表与快照210和过去日志的结合之间的差别信息。例如在日志220(更新调度)记录在DRAM 11之后日志220被存储在NAND存储器12的管理信息存储区126中。
随后,逻辑NAND管理层32执行在步骤S13接收的指令(步骤S16)。作为这种指令的示例,存在针对在NAND存储器12的数据存储区的预定块中的用户数据的写入处理。随后,管理信息管理单元152再次返回步骤S12。
当满足快照存储条件时(步骤S12的“是”),将在DRAM 11的临时存储区111中至少包括非易失性表的管理信息存储在NAND存储器12的管理信息存储区126中作为快照210(步骤S17)。管理信息管理单元152确定是否指示了存储器系统10的末端(步骤S18)。当没有指示存储器系统10的末端时(步骤S18的“否”),管理信息管理单元152返回步骤S12。当指示了存储器系统10的末端时(步骤S18的“是”),结束该处理。
以下说明由管理信息恢复单元155执行的对于存储器系统10的管理信息的恢复处理。图14是对于存储器系统10的管理信息的恢复处理过程的示例的流程图。如上所述,存储器系统10连接于主机装置,并作为主机装置的次级存储装置进行工作。
首先,主机装置的电源被打开,并且向存储器系统10发出启动指令(步骤S31)。管理信息恢复单元155读取NAND存储器12的管理信息存储区126中的最新第一根指针,并获取第二根指针存储块的位置(步骤S32)。随后,管理信息恢复单元155从所获取的第二根指针存储块的位置读取最新第二根指针,并获取存储快照210和日志220的块的地址(步骤S33)。管理信息恢复单元155从在步骤S33获取的在NAND存储器12中的地址读取快照210,以及恢复DRAM 11的临时存储区111中的快照210(步骤S34)。
随后,管理信息恢复单元155参照NAND存储器12中的日志220确定是否发生短暂断路(short break)(步骤S35)。当没有发生短暂断路时(步骤S35的“否”),在步骤S34,管理信息恢复单元155由在DRAM11的临时存储区111中恢复的快照210恢复管理信息(步骤S36)并且恢复处理结束。
另一方面,当发生短暂断路时(步骤S35的“是”),管理信息恢复单元155从在步骤S33获取的NAND存储器12中的地址获取日志220,并在DRAM 11的工作区112中扩展日志220(步骤S37)。管理信息恢复单元155从最早日志开始依次将各日志反映到在步骤S34在DRAM 11的临时存储区111中恢复的快照210上,并恢复管理信息(非易失性表)(步骤S38),并且管理信息的恢复处理结束。
如上所述,根据第一实施例,作为指示存储器系统10的最新存储信息的快照210和日志220的存储位置的指针,在可变区1262中提供指示快照210和日志220的存储位置的第二根指针230,在固定区1261中提供指示第二根指针230的存储位置的第一根指针240。结果,不必更新第一根指针240,直到用于第二根指针存储的所有块被数据充满。此外,与第二根指针230的更新频率相比,可以实质上降低第一根指针240的更新频率。例如,在没有提供第二根指针230并且第一根指针240被调整为指向快照210和日志220的存储位置时,每当更新快照210时,更新第一根指针240。结果,用于第一根指针存储的块的擦除次数增加。另一方面,通过提供第二根指针230,可以将用于第一根指针存储的块的擦除次数降低到将快照210的更新次数除以第二根指针230的页数所获得的数目。可以实质上降低用于第一根指针存储的块的擦除次数。结果,存在这样的效果,即可以延长配置固定区1261的存储器单元晶体管的寿命。此外,由于可以降低存储第一根指针240的用于第一根指针存储的块的重写次数,所以还存在这样的效果,即可以提高作为存储数据的第一根指针240的可靠性。
第二实施例
作为根据本发明的第二实施例,以下解释当日志存储区中存储的日志大小超过日志存储块的大小时写入日志的处理的方法。
图15是根据第二实施例用于存储日志的日志存储区的结构的示例的示图。在图15中,在图8所示的组件之间,仅示出第二根指针230和日志220,并省略其他组件。
日志220包括由阴影部分(例如在包括日志存储块45和46的日志存储区中)表示的各个页中存储的日志信息。形成日志存储区的日志存储块的数目取决于要存储的日志的大小(日志长度)。在日志存储区中,当根据要存储的日志的大小连续获得日志存储块并且在被写入的日志存储块的所有页中写入日志时,将日志写入下一获取的日志存储块中。在图15所示的示例中,从日志存储块45的顶部页依次存储日志。在将日志写入日志存储块45中的所有页之后,从获取的用于写入的下一块日志存储块46的顶部页依次存储日志。
第二根指针230指示表示日志220的存储地址的块的顶部地址。具体地,第二根指针230指示日志存储块45的顶部页。
日志存储块45在其中存储指示日志存储块46的位置的指针。具体地,当使用日志存储块45的顶部页时,获取日志存储块46并向日志存储块45的顶部页增加表示日志存储块46的顶部页地址的指针信息。这使得可以依次跟踪第二根指针230、日志存储块45、和日志存储块46,并找到快照210的最后日志。日志存储块46在其中存储表示下一个获取的日志存储块(未示出)的位置的指针。当使用日志存储块46的顶部页时,获取下一日志存储块并向日志存储块46的顶部页增加表示下一日志存储块的顶部页地址的指针信息。在图15中,作为示例,在两个日志存储块(日志存储块45和46)中存储日志。然而,当在三个或更多个日志存储块中存储日志时可采用相同的处理。
如上所述,在第二实施例中,当日志存储区包括多个日志存储块时,在日志存储块的顶部页中存储表示下一获取的日志存储块的位置的指针信息,从而可经由指针跟踪在不同日志存储块中存储的日志。换句话说,日志存储区包括连续获取的各个日志存储块,并具有这样的结构,即,通过表示日志存储块之间的指针以链条形状(以下称为日志链)连接各日志存储块的结构。
根据第二实施例,即使当日志存储区中存储的日志220的大小超过日志存储块的大小,由于可以重新获取日志存储块并在新日志存储块中写入日志,所以每当日志存储块充满时,不必存储快照和更新第二根指针230。因此,减少了在存储第二根指针230的第二根指针存储块中的写入。因此,存在这样的效果,可以减少在NAND存储器12中写入的次数并抑止NAND存储器12的寿命降低。
日志存储块获取指针的时间不限于使用日志存储块的顶部页的时间,并且可以是使用其他页的时间。因此,例如可以在完成日志存储块45的最后页中写入日志的时刻获取日志存储块46,并且可提供表示日志存储块46的顶部页的地址的指针。
优选地提供可在日志存储区中获取的日志存储块的数目的上限。这是因为,如果日志220的大小超过预定大小,当有必要在快照210上反映日志220并恢复管理信息时,恢复时间很长。例如,当日志存储区充满时,可获取新快照210。
第三实施例
在第一和第二实施例中,如图8所示,针对快照生成一个日志。然而,在根据本发明的第三实施例中,生成多个日志。
图16是根据第三实施例在管理信息存储区中存储的管理信息存储信息的内容的示例的示意图。在第三实施例中,将第一实施例中如图8所示的日志220细分成更新前日志(以下称为“前日志”)220A和更新后日志(以下称为“后日志”)220B。前日志220A是在下一次产生快照之前的非易失性表的内容的更新差别信息,并且在更新之前被获取。后日志220B是与前日志220A相同内容的日志信息,并且在更新之后被存储。通过相同标号表示与第一实施例中相同的组件,并且省略对这些组件的解释。
当与数据写入处理等对应的非易失性表和快照210(或已经生成的快照210和日志)的内容中存在改变时,前日志220A和后日志220B是在内容被改变之后在非易失性表之间的差别信息。具体地,第一前日志220A以及在提取快照210之后的第一后日志220B是非易失性表和快照210之间的差别信息。在提取快照210之后的第二或随后的前日志220A是已经生成的前日志220A和快照210的组合与非易失性表之间的差别信息。在提取快照210之后的第二或随后的后日志220B是已经生成的后日志220B和快照210的组合和非易失性表之间的差别信息。换句话说,前日志220A和后日志220B包含相同的信息。尽管前日志220A和后日志220B被解释为包含相同信息,但是前日志220A和后日志220B不必包含相同的信息。例如,前日志220A和后日志220B中的任一个可被配置为包含差别信息。
前日志220A是在实际更新管理信息之前生成的信息。因此,在通过数据写入处理等的执行实际更新管理信息之前,基于与如何更新管理信息相关的更新调度生成前日志220A。后日志220B是在实际更新管理信息之后生成的信息。因此,在根据数据写入处理等的数据执行实际更新管理信息之后,通过使用实际的管理信息生成后日志220B。前日志220A和后日志220B包括例如图9中所示的内容信息。
前日志220A和后日志220B分别存储在日志存储块中。即使快照的生成发生改变,以一次写入的方式在相同日志存储块中写入前日志220A和后日志220B。
以下解释在第一实施例中如图12所示的数据管理单元141的处理单元在功能方面与第一实施例的差别。当存储器系统10满足预定条件时,管理信息存储单元154在NAND存储器12的管理信息存储区126中存储作为快照210的管理信息、作为前日志220A的将在管理信息中更新的信息、以及作为后日志220B的在管理信息中的已更新信息。当根据快照210、前日志220A或后日志220B的存储而改变在第二根指针230中写入的位置时,管理信息存储单元154将更新处理应用到第二根指针230。
当满足以下作为示例解释的三个快照存储条件中的任何一个时,执行由管理信息存储单元154对快照210的存储:
(1)接收到待机(使存储器系统10的主体的功耗最小化的指令)、休眠(在预定时间段内不存在访问时停滞设备的指令)、或重设(重新启动存储器系统10的指令);
(2)在NAND存储器12中的管理信息存储区126中为了存储前日志220A和后日志220B而提供的日志存储区用数据充满;
(3)在NAND存储器12中的管理信息存储区126中为了存储前日志220A和后日志220B而提供的日志存储区改变为不能够执行数据写入和擦除的故障区域(坏块)。
管理信息存储单元154存储前日志220A和后日志220B的时间是通过管理信息写入单元153执行在DRAM 11中存储的管理信息(非易失性表)的更新的时间。具体地,在写入数据等处理的之前和之后,存储前日志220A和后日志220B。
当存储器系统10的电源被打开时,管理信息恢复单元155基于在NAND存储器12的管理信息存储区126中存储的管理信息存储信息执行针对管理信息的恢复处理。具体地,管理信息恢复单元155顺序地跟踪固定区中的第一根指针240、可变区1262中的第二根指针230、快照210、前日志220A、和后日志220B,并确定对应于最新快照210的前日志220A和后日志220B是否存在。当前日志220A和后日志220B不存在时,管理信息恢复单元155在DRAM 11中恢复作为管理信息的快照存储块中的快照210。当前日志220A和后日志220B存在时,由于程序错误和短暂断路(电源异常关闭),存储器系统10的末端是异常末端。因此,管理信息恢复单元155从快照存储块获取快照210,从日志存储块获取前日志220A或后日志220B,并执行在DRAM 11上的快照210上反映前日志220A或后日志220B的管理信息(非易失性表)的恢复。
以下解释由管理信息管理单元152执行的针对存储器系统10的管理信息的存储处理。为了简单解释,在第一实施例的图13的流程图中,在步骤S16的指令执行之后执行写入与前日志220A具有相同内容的后日志220B的处理。以下具体解释这个处理。
图17是解释针对前日志和后日志的存储处理的示图。当前日志220A尚未被存储在日志存储块中时,在步骤S14要确定的更新调度(前日志)是在管理信息被更新的时候的非易失性表和在快照存储块中存储的快照210之间的差别信息。当前日志220A(以下称为“过去的前日志220A”)已被存储在日志存储块中时,更新调度(前日志)是在管理信息被更新的时候的非易失性表与快照210和过去的前日志220A的结合之间的差别信息。具体说,如图17所示,在数据写入(X)被执行作为针对第X个数据的写入处理之前,对应于数据写入(X)的前日志(X)被存储在NAND存储器12中作为前日志220A。由此,例如,信息y1被存储作为前日志220A。例如在前日志220A(更新调度)被记录在DRAM 11上之后,前日志220A被存储在NAND存储器12的管理信息存储区126中。
随后,逻辑NAND管理层执行在步骤S13接收的指令(例如,在NAND存储器12的数据存储区125中写入(X)用户数据的处理)(步骤S16)。
此后,根据所执行的处理在DRAM 11中存储的管理信息被更新。管理信息存储单元154将管理信息中的已更新信息存储在NAND存储器12的管理信息存储区126中作为后日志220B。当后日志220B尚未被存储在日志存储块中时,后日志220B是在当前点的非易失性表与在快照存储块中存储的快照210之间的差别信息。当后日志220B(以下称为“过去的后日志220B”)已经存储在日志存储块中时,后日志220B是在当前点的非易失性表与在快照210和过去的所述日志的结合之间的差别信息。
从而,对应于数据写入(X)的后日志220B(X)被存储在NAND存储器12中作为后日志220B。此时,信息y1被存储作为后日志220B。被存储作为后日志220B的信息y1与被存储作为前日志220A的信息y1相同。
此后,当不满足快照存储条件(步骤S12的“否”),并且涉及管理信息的更新的指令被接收(步骤S13的“是”)时,执行以上解释的处理。换句话说,以和针对第X个数据的写入处理相同的方式,执行针对第(X+1)个数据的写入处理。在执行作为针对第(X+1)个数据的写入处理的数据写入(X+1)之前,对应于数据写入(X+1)的前日志(X+1)被存储在NAND存储器12中作为前日志220A。例如,信息y2被存储作为前日志220A。在NAND存储器12的数据存储区125中执行数据写入(X+1)。此外,对应于数据写入(X+1)的后日志(X+1)被存储在NAND存储器12中作为后日志220B。例如,信息y2被存储作为后日志220B。被存储作为后日志220B的信息y2与被存储作为前日志220A的信息y2相同。如上所述,存储前日志220A和后日志220B。
以下解释由管理信息恢复单元155执行的针对存储器系统10的管理信息的恢复处理。图18是根据第三实施例对于存储器系统10的管理信息的恢复处理过程的示例的流程图。如在第一和第二实施例中,存储器系统10连接于主机装置,并作为主机装置的次级存储装置进行工作。
如在第一实施例中的图14的步骤S31至S34所述,例如在结束了短暂断路后,主机装置的电源被打开,并且向存储器系统10发出启动指令。管理信息恢复单元155依次读取NAND存储器12的管理信息存储区126中的第一根指针240和第二根指针230,并获得存储了快照210以及存储前日志和后日志(前日志220A和后日志220B)的块的地址,并获取快照210(步骤S51至S54)。
此后,管理信息恢复单元155参考NAND存储器12中的前日志220A和后日志220B确定是否已出现短暂断路(步骤S55)。例如,当在NAND存储器12中存在前日志220A和后日志220B时,确定已出现过短暂断路。可以通过例如比较前日志220A和后日志220B执行对于是否已出现过短暂断路的确定。在第三实施例中,前日志220A和后日志220B存储相同的信息。此后,例如,当被存储作为前日志220A的页数和被存储作为后日志220B的页数彼此不一致时,能够确定已出现短暂断路。基于ECC差错的存在或不存在、被存储作为前日志220A的页的数据、以及被存储作为后日志220B的页的数据,可以确定短暂断路的出现。
当出现短暂断路时(步骤S55的“是”),管理信息恢复单元155基于NAND存储器12中最新的前日志220A和最新的后日志220B检查已出现短暂断路的时间(步骤S56)。
另外,管理信息恢复单元155确定已出现短暂断路的时间是否在后日志220B的存储期间(步骤S57)。例如,当后日志220B中的最后页正被写入时,该最后页面无法被读出。因此,确定在后日志220B的存储期间出现了短暂断路。当前日志220A中的最后页正被写入时,该最后页面无法被读出。因此,确定在前日志220A的存储期间出现了短暂断路。当日志被写入前日志220A的最后页以及日志未被写入后日志220B的最后页时,确定在数据写入期间出现了短暂断路。
当管理信息恢复单元155确定已出现短暂断路的时间是在后日志220B的存储期间时(步骤S57的“是”),管理信息恢复单元155选择最新的前日志220A(步骤S58)。另一方面,当管理信息恢复单元155确定已出现短暂断路的时间不在后日志220B的存储期间时(步骤S57的“否”),管理信息恢复单元155选择已完成将被存储的最新的后日志220B(步骤S59)。换句话说,当前日志220A的最后页正被写入,或当日志被写入前日志220A的最后页以及日志未被写入后日志220B的最后页时,选择最新的后日志220B。
此后,管理信息恢复单元155从日志存储块获取所选日志(前日志220A或后日志220B),并将日志扩展至DRAM 11的工作区112中(步骤S60)。管理信息恢复单元155将各个日志从最旧一个开始按顺序反映到快照210上,并恢复管理信息(非易失性表)(步骤S61)。对于管理信息的恢复处理结束。
另一方面,当尚未出现短暂断路时(步骤S55的“否”),在DRAM11的管理信息存储区111中恢复管理信息,并且管理信息恢复过程结束。
不管由于短暂断路导致的日志破坏存在与否,管理信息恢复单元155都可以选择前日志220A和后日志220B之一,并且基于被存储作为前日志220A的页数和被存储作为后日志220B的页数恢复管理信息。例如,当被存储作为前日志220A的页数和被存储作为后日志220B的页数相同时,管理信息恢复单元155选择前日志220A并恢复管理信息。当被存储作为前日志220A的页数大于被存储作为后日志220B的页数时,管理信息恢复单元155选择后日志220B并恢复管理信息。
如上所述,即使在执行该处理之前和之后生成前日志220A和后日志220B时,通过采用第一和第二实施例的技术,可以减少在NAND存储器12中的第一根指针240和第二根指针230的写入次数,抑止NAND存储器12的寿命减少,以及提高管理信息的存储期间的可靠性。
第四实施例
作为根据本发明的第四实施例,解释这样一种方法,即,当在前日志存储区和后日志存储区中存储的日志大小分别超过各个日志存储区的日志存储块的大小时,写入日志的处理的方法。
图19是根据第四实施例存储前日志的前日志存储区和存储后日志的后日志存储区的结构的示例的示图。和图15一样,在图16中所示的组件之间,示出第二根指针230、前日志220A、和后日志220B并省略其他组件。
如图19所示,存储前日志220A的前日志存储区和存储后日志220B的后日志存储区具有与图15所示的日志存储区相同的结构,除了在以下解释的日志存储区之间提供的指针。存储前日志220A的前日志存储区包括例如作为两个日志存储块的日志存储块50和51。日志存储块50在其中存储表示跟随在日志存储块50之后获取的日志存储块51的位置的指针(在图中,从日志存储块50的顶部页到日志存储块51的顶部页的箭头)。存储后日志220B的后日志存储区包括例如作为两个日志存储块的日志存储块60和61。日志存储块60具有表示跟随在日志存储块60之后获取的日志存储块61的位置的指针(在图中,从日志存储块60的顶部页到日志存储块61的顶部页的箭头)。第二根指针230指示前日志存储区中的日志存储块50的顶部页以及后日志存储区中的日志存储块60的顶部页。
在图19中,除了分别在前日志存储区和后日志存储区中提供的日志链的结构之外,在前日志存储区中的日志存储块50具有表示在后日志存储区中的日志存储块61的位置的指针(在图中,从日志存储块50的顶部页面到日志存储块61的顶部页面的箭头)。在后日志存储区中的日志存储块60具有表示在后日志存储区中的日志存储块51的位置的指针(在图中,从日志存储块60的顶部页到日志存储块51的顶部页的箭头)。
除了指示日志存储块51(即在前日志存储区中下一个获取的日志存储块)的位置的指针之外,在前日志存储区中的日志存储块50具有表示以和获取日志存储块51的相同顺序在后日志存储区中获取的日志存储块的位置的指针(在这种情况下,是在第二次获取的,因为日志存储块51是在第二次获取的),即,日志存储块61。类似地,除了表示日志存储块61(即在后日志存储区中下一个获取的日志存储块)的位置的指针之外,在后日志存储区中的日志存储块60具有表示以和获取日志存储块61的相同顺序在后日志存储区中获取的日志存储块的位置的指针(在这种情况下,是在第二次获取的,因为日志存储块61是在第二次获取的),即,日志存储块61。
如上所述,由于前日志220A和后日志220B存储相同内容的日志信息,所以前日志220A和后日志220B存储相同日志信息,除了发生例如短暂断路的异常。因此,在日志存储块50的各个页中存储的日志与在日志存储块60的相应页中存储的日志相同。在日志存储块51的各个页中存储的日志与在日志存储块61的相应页中存储的日志相同。因此,除了表示日志存储块51的位置的指针之外,在前日志存储区中的日志存储块50具有表示在后日志存储区中的日志存储块61的位置的指针。结果,作为备份,日志存储块50获取日志存储块61的位置,所述日志存储块61存储与日志存储块51相同的日志信息。类似地,除了表示日志存储块61的位置的指针之外,在后日志存储区中的日志存储块60具有表示前日志存储区中的日志存储块51的位置的指针。因此,作为备份,日志存储块60获取日志存储块51的位置,所述日志存储块51存储与日志存储块61相同的日志信息。尽管图中没有示出,日志存储块5具有表示在前日志存储区中紧跟在日志存储块51之后获取的日志存储块的位置的指针,以及具有表示在后日志存储区中紧跟在日志存储块61之后获取的日志存储块的位置的指针。类似地,尽管图中没有示出,日志存储块61具有表示在后日志存储区中紧接着日志存储块61获取的下一日志存储块的位置的指针,以及具有表示在前日志存储区中紧接着日志存储块51获取的下一日志存储块的位置的指针。在图19中,作为示例,在前日志存储区和后日志存储区的每个中,在两个日志存储块(日志存储块50和51,以及日志存储块60和61)中存储日志。然而,当在前日志存储区和后日志存储区的每个中在三个或更多个日志存储块中存储日志时,情况相同。
如上所述,在前日志存储区和后日志存储区中的日志存储块中使得指针增至两个。这样,即使在通过短暂断路等损坏日志时也能够容易执行日志的恢复。例如,当在日志存储块51中写入期间发生短暂断路以及由此损坏在被写入页中的日志数据以及其低级页时,可通过使用日志存储块50的指向日志存储块61的指针而从日志存储块61获得日志。因此,可容易地恢复日志存储块51的日志。如上所述,由于指针增至两个,无论在什么时间发生短暂断路都可防止日志信息丢失。通过使用前日志220A和后日志220B中的任一个,可容易地将存储器系统10返回至在发生短暂断路之前的状态。
第五实施例
在上述实施例中,可以复用和存储第二根指针和第一根指针。
图20是根据本发明第五实施例的第一根指针的复用的实例的示图。第一根指针240A至240C存储在NAND存储器的管理信息存储区的固定区1261中的三个不同块中。在这种情况下,当执行第一根指针的更新时,按240A、240B和240C的顺序执行各个块中的写入。当第一根指针存储块用数据充满时,执行对该块的擦除以及在所擦除的块中写入表示新第二根指针存储块的位置的第一根指针240的处理。在这种情况下,如以上解释的情况,以逐块的顺序执行擦除和写入处理。当执行块的擦除和写入处理时,通过将第一根指针增至三个,即第一个指针240A至240C,可以缩短仅在一个块中存储第一根指针240的状态。尽管第一根指针增至三个,第一根指针也可增至两个,或者可按照等于或大于将第一根指针增至四个的情况来复用。通过将第一根指针240按等于或大于四个来复用,必可将第一根指针增至两个。
图21是根据本发明第五实施例的第二根指针的复用的实例的示图。如图21所示,第二根指针230A和230B存储在NAND存储器12的管理信息存储区126的可变区1262的两个不同块中。
例如,假设将相同信息存储在存储两个第二根指针230A和230B的块的相同页位置中。在存储第二根指针230A和230B时,第二根指针230A在存储快照之前被存储,第二根指针230B在快照的存储结束之后被存储。通过设置这种存储规则,当第二根指针230A和230B中的页面数不同时,可以确定发生了短暂断路,以及可以在短暂断路期间执行启动处理,而无需检查NAND存储器12中的日志220。在以上的解释中,第二根指针增至两个。然而,可对于第二根指针采用等于或大于三个的复用。
当对第二根指针230复用时,在第一根指针240中存储表示存储了被复用的各个第二根指针230的块的位置的信息。
根据第五实施例,由于第一根指针240和第二根指针230被复用,所以存在这样的效果,即可以防止各种类型的信息丢失。
在以上解释中,提供第二根指针230作为指示快照210、前日志220A、和后日志220B的存储位置的指针,以及提供第一根指针240作为指示第二根指针230的存储位置的指针。因此,以两个级别提供指针。然而,例如,可以以一个级别提供指针。
前日志220A和后日志220B的顶部指针可存储在快照210中,而非第二根指针存储块中。
在以上解释中,电荷积聚层不限于浮置栅电极类型,并且可以是包括诸如MONOS(金属氧化物-氮氧化物半导体)结构的氮化硅膜的电荷陷阱类型,以及其它系统。
如上所述,根据本发明,存在这样的效果,在具有包括多值存储器的NAND闪存的存储器系统中,可在存储表示NAND闪存中存储的数据的存储位置的管理信息的同时提高数据恢复的可靠性。
对本领域技术人员来说,其他的优点和修改是显而易见的。因此,本发明在其更宽的方面不限于这里所述的代表性实施方式的具体细节。因而,可以进行各种修正而不脱离所附的权利要求书及其等价描述所限定的本发明的总的发明概念的精神和范围。
Claims (20)
1.一种存储器系统,包括:
易失性第一存储单元;
非易失性第二存储单元;和
控制器,其在主机装置和第二存储单元之间通过第一存储单元来执行数据传输,将包括在该存储器系统的启动操作期间存储在第二存储单元的数据的存储位置的管理信息存储在第一存储单元,并且在更新存储的管理信息的同时,基于存储的管理信息在第一和第二存储单元中执行数据管理,其中
所述第二存储单元在其中存储处于最新状态的存储在所述第一存储单元中的管理信息,以及管理信息存储信息,该管理信息存储信息包括指明处于最新状态的所述管理信息的存储位置的存储位置信息;以及
在所述存储器系统的启动操作期间由所述控制器读取所述存储位置信息,该存储位置信息包括指明在所述第二存储单元中最新状态的管理信息的存储位置的第二指针,以及指明所述第二指针的存储位置的第一指针,所述第一指针存储在固定区中的第一指针存储区中,在所述第二存储单元中第一指针的存储位置是固定的,并且所述第二指针存储在所述第二存储单元中除了固定区域之外的区域中的第二指针存储区中。
2.根据权利要求1所述的存储器系统,其中所述控制器包括管理信息存储单元,当所述存储器系统满足预定条件时,所述管理信息存储单元将所述第一存储单元中存储的管理信息存储到所述第二存储单元中作为最新状态的管理信息,以及将表示最新状态的所存储的管理信息在第二存储单元的存储位置的第二指针存储到所述第二存储单元中作为所述存储位置信息。
3.根据权利要求2所述的存储器系统,其中
所述第二指针存储区包括作为数据擦除单位的块;以及
当不能够在所述第二指针存储区的一个块中写入第二指针,并且在新块中存储所述第二指针时,所述管理信息存储单元将所述新块的存储位置设置为所述第一指针,以及将所述存储位置作为所述存储位置信息与所述第二指针一起存储。
4.根据权利要求1所述的存储器系统,其中所述控制器包括管理信息恢复单元,在所述存储器系统的启动操作期间,在读取所述固定区中存储的第一指针以及获取所述第二指针的存储位置之后,所述管理信息恢复单元读取该第二指针,以及读取所述第二存储单元中的最新状态的管理信息,以及在所述第一存储单元中恢复所述管理信息。
5.根据权利要求2所述的存储器系统,其中
所述第二存储单元包括:
快照存储区,用于存储快照,在所述快照中存储在所述第一存储单元中的最新状态的管理信息;以及
日志存储区,用于在所述管理信息发生改变时存储作为在所述改变之前和之后的管理信息的差别信息的日志;以及
在满足所述预定条件时,所述管理信息存储单元将与所述第一存储单元中的管理信息相关的快照或日志存储在所述快照存储区或所述日志存储区中。
6.根据权利要求5所述的存储器系统,其中当所述日志存储区充满日志时,或所述日志存储区改变为不能够存储数据的故障区时,所述管理信息存储单元从所述第一存储单元获取所述快照,以及在所述快照存储区中存储所获取的快照。
7.根据权利要求5所述的存储器系统,其中所述管理信息存储单元根据要存储的日志大小在所述日志存储区中依次获取作为数据擦除单位的块,以及在所述块中记录指明要下一个获取的块的位置的第一块获取位置信息。
8.根据权利要求7所述的存储器系统,其中
所述日志存储区包括,
更新前日志存储区,用于在其中存储作为管理信息被更新之前存储的日志的更新前日志;以及
更新后日志存储区,用于在其中存储与所述更新前日志具有相同内容的并且作为管理信息被更新之后存储的日志的更新后日志;以及
所述管理信息存储单元
依次地获取各个所述块作为数据擦除单位,并根据要存储的所述更新前日志或所述更新后日志的大小获取相同的量;
除了在所述更新前块存储区中表示下一个获取的块的位置的第一块获取位置信息之外,以在所述更新前日志存储区中下一个获取的块的获取次序的相同次序,在所述更新前日志存储区的块中记录表示在所述更新后日志存储区中获取的块的位置的第二块获取位置信息;以及
除了在所述更新后块存储区中获取表示下一获取的块的位置的位置信息的第一块之外,以在所述更新后日志存储区中下一获取的块的获取次序的相同次序,在所述更新后日志存储区的块中记录表示在所述更新前日志存储区中获取的块的位置的第二块获取位置信息。
9.根据权利要求2所述的存储器系统,其中,
所述第一指针存储区包括作为数据擦除单位的块;以及
当所述第一指针存储区中的块充满数据时,所述管理信息存储单元在擦除之后的所述块中写入新版本的第一指针。
10.根据权利要求9所述的存储器系统,其中
所述第一指针被复用并且存储在所述第二存储单元的固定区中的不同块中;以及
当更新所述第一指针时,所述管理信息存储单元依次在所述第一指针存储区中的各个复用的块中写入第一指针。
11.根据权利要求10所述的存储器系统,其中当所述第一指针存储区中的块充满数据时,在擦除所述第一指针存储区中的所述块之后,所述管理信息存储单元为每个复用的块依次执行在所述块中写入新版本的第一指针的处理。
12.根据权利要求2所述的存储器系统,其中
所述第二指针存储区包括作为数据擦除单位的块,并且所述第二指针被复用以及被存储在所述第二存储单元的不同块中;以及
所述管理信息存储单元将表示第二指针存储区中所有复用的块的存储位置的日志块位置信息存储在所述第一指针中。
13.根据权利要求1所述的存储器系统,其中
所述第一存储单元是DRAM;以及
所述第二存储单元是NAND闪存。
14.一种存储器系统,包括:
易失性第一存储单元;
非易失性第二存储单元,包括可以存储多值数据的存储器单元;以及
控制器,其在主机装置和第二存储单元之间通过第一存储单元来执行数据传输,将包括在该存储器系统的启动操作期间存储在第二存储单元的数据的存储位置的管理信息存储在第一存储单元,并且在更新存储的管理信息的同时,基于存储的管理信息在第一和第二存储单元中执行数据管理,其中
所述第二存储单元包括:
快照存储区,用于将满足预定条件时获取的以及作为管理信息的快照存储在所述第一存储单元中;
日志存储区,用于当在所述管理信息中发生改变时存储作为在所述改变之前和之后的差别信息的日志;以及
指针存储区,用于存储表示所述快照存储区的存储位置的第一指针;
所述日志存储区根据要存储的日志的大小依次获取作为数据擦除单位的各个块;
在所述快照中存储指示在所述日志存储区中存储的顶部日志的存储位置的第二指针;以及
所述块在其中存储表示下一个要获取的块的位置的第一块获取位置信息。
15.根据权利要求14所述的存储器系统,其中
所述日志存储区包括:
更新前日志存储区,用于在其中存储作为管理信息被之前存储的日志的更新前日志;以及
更新后日志存储区,用于在其中存储与所述更新前日志具有相同内容的并且作为管理信息被更新之后存储的日志的更新后日志;
所述更新前日志存储区和所述更新后日志存储区依次地获取各个所述块作为数据擦除单位,并且根据要存储的所述更新前日志或所述更新后日志的大小获取相同的数量;
除了表示在所述更新前块存储区中下一个获取的块的位置的第一块获取位置信息的之外,所述更新前日志存储区的块中还存储第二块获取位置信息,该第二块获取位置信息表示和在所述更新前日志存储区中下一个获取的块的获取次序相同的次序在所述更新后日志存储区中获取的块的位置;以及
除了表示在所述更新后块存储区中下一个获取的块的位置的第一块获取位置信息之外,所述更新后日志存储区的块中还存储第三块获取位置信息,该第三块获取位置信息表示和在所述更新后日志存储区中下一个获取的块的获取次序相同的次序在所述更新前日志存储区中获取的块的位置。
16.根据权利要求14所述的存储器系统,其中
所述第一指针存储区包括作为数据擦除单位的块,并被提供在所述第二存储单元中的固定区中,在该固定区中存储的块的位置是固定的;以及
所述控制器包括管理信息存储单元,当所述第一指针存储区中的块充满数据时,所述管理信息存储单元在擦除之后的块中写入新版本的第一指针。
17.根据权利要求16所述的存储器系统,其中
所述第一指针被复用并且存储在所述第二存储单元的不同块中;以及
当更新所述第一指针时,所述管理信息存储单元依次在所述第一指针存储区中的各个复用的块中写入第一指针。
18.根据权利要求17所述的存储器系统,其中当所述第一指针存储区中的块充满数据时,在擦除所述第一指针存储区中的块之后所述管理信息存储单元执行将新版本的第一指针的写入所述块中的处理。
19.根据权利要求14所述的存储器系统,其中所述第一指针存储区包括作为数据擦除单位的块;并且所述第一指针被复用以及被存储在所述第二存储单元的不同块中。
20.根据权利要求14所述的存储器系统,其中
所述第一存储单元是DRAM;以及
所述第二存储单元是NAND闪存。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008051378A JP2009211202A (ja) | 2008-02-29 | 2008-02-29 | メモリシステム |
JP2008051267A JP2009211188A (ja) | 2008-02-29 | 2008-02-29 | メモリシステム |
JP051378/2008 | 2008-02-29 | ||
JP051267/2008 | 2008-02-29 | ||
PCT/JP2009/052590 WO2009107506A1 (en) | 2008-02-29 | 2009-02-10 | Memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101681313A true CN101681313A (zh) | 2010-03-24 |
Family
ID=41602091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980000132A Pending CN101681313A (zh) | 2008-02-29 | 2009-02-10 | 存储器系统 |
Country Status (6)
Country | Link |
---|---|
US (3) | US8438343B2 (zh) |
EP (2) | EP2309392A1 (zh) |
KR (1) | KR101103110B1 (zh) |
CN (1) | CN101681313A (zh) |
TW (1) | TWI418983B (zh) |
WO (1) | WO2009107506A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887461A (zh) * | 2010-06-29 | 2010-11-17 | 苏州佳世达电通有限公司 | 档案存取方法及其电子装置 |
CN107818057A (zh) * | 2016-09-13 | 2018-03-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107818812A (zh) * | 2016-09-13 | 2018-03-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109213622A (zh) * | 2017-07-03 | 2019-01-15 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
JP2019527883A (ja) * | 2016-07-04 | 2019-10-03 | アリババ グループ ホウルディング リミテッド | データベースのデータ変更要求処理方法及び装置 |
CN111181874A (zh) * | 2018-11-09 | 2020-05-19 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法、装置及存储介质 |
CN114442958A (zh) * | 2022-01-28 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的存储优化方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211215A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8285970B2 (en) * | 2008-11-06 | 2012-10-09 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
JP2012128643A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP2012128816A (ja) | 2010-12-17 | 2012-07-05 | Toshiba Corp | メモリシステム |
US9092486B2 (en) * | 2014-01-02 | 2015-07-28 | Advanced Micro Devices, Inc. | Extensible I/O activity logs |
US10430092B1 (en) * | 2014-07-28 | 2019-10-01 | Rambus Inc. | Memory controller systems with nonvolatile memory for storing operating parameters |
EP3754508B1 (en) * | 2015-12-30 | 2023-03-22 | Huawei Technologies Co., Ltd. | Access request processing method and apparatus, and computer system |
EP3376394B1 (en) * | 2015-12-30 | 2022-09-28 | Huawei Technologies Co., Ltd. | Method and device for processing access request, and computer system |
CN108376121B (zh) * | 2018-03-01 | 2021-10-22 | 曲阜师范大学 | 一种Flash存储器的数据存储方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2778786B2 (ja) * | 1990-03-02 | 1998-07-23 | 富士通株式会社 | データ更新・復元処理方式 |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JP3072722B2 (ja) | 1997-06-20 | 2000-08-07 | ソニー株式会社 | フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体 |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US6377500B1 (en) * | 1999-11-11 | 2002-04-23 | Kabushiki Kaisha Toshiba | Memory system with a non-volatile memory, having address translating function |
JP2003280825A (ja) | 2002-03-22 | 2003-10-02 | Fujitsu Ltd | ストレージシステム |
JP3935139B2 (ja) | 2002-11-29 | 2007-06-20 | 株式会社東芝 | 半導体記憶装置 |
US7440966B2 (en) * | 2004-02-12 | 2008-10-21 | International Business Machines Corporation | Method and apparatus for file system snapshot persistence |
JP2006285600A (ja) * | 2005-03-31 | 2006-10-19 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム |
US7814057B2 (en) | 2005-04-05 | 2010-10-12 | Microsoft Corporation | Page recovery using volume snapshots and logs |
US8244958B2 (en) * | 2005-05-09 | 2012-08-14 | Sandisk Il Ltd. | Method and system for facilitating fast wake-up of a flash memory system |
US7509474B2 (en) * | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
US8055833B2 (en) * | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US7366887B2 (en) * | 2005-07-11 | 2008-04-29 | Lenovo (Singapore) Pte. Ltd. | System and method for loading programs from HDD independent of operating system |
JP5076411B2 (ja) * | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
US7761740B2 (en) * | 2007-12-13 | 2010-07-20 | Spansion Llc | Power safe translation table operation in flash memory |
-
2009
- 2009-02-10 CN CN200980000132A patent/CN101681313A/zh active Pending
- 2009-02-10 US US12/529,227 patent/US8438343B2/en active Active
- 2009-02-10 EP EP20100197364 patent/EP2309392A1/en not_active Withdrawn
- 2009-02-10 KR KR1020097017866A patent/KR101103110B1/ko not_active IP Right Cessation
- 2009-02-10 WO PCT/JP2009/052590 patent/WO2009107506A1/en active Application Filing
- 2009-02-10 EP EP20090709441 patent/EP2111583A4/en not_active Withdrawn
- 2009-02-20 TW TW98105523A patent/TWI418983B/zh not_active IP Right Cessation
-
2013
- 2013-04-02 US US13/855,394 patent/US8738867B2/en active Active
-
2014
- 2014-03-26 US US14/226,510 patent/US9043564B2/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887461A (zh) * | 2010-06-29 | 2010-11-17 | 苏州佳世达电通有限公司 | 档案存取方法及其电子装置 |
JP2019527883A (ja) * | 2016-07-04 | 2019-10-03 | アリババ グループ ホウルディング リミテッド | データベースのデータ変更要求処理方法及び装置 |
US11106695B2 (en) | 2016-07-04 | 2021-08-31 | Ant Financial (Hang Zhou) Network Technology Co., Ltd. | Database data modification request processing |
US11132379B2 (en) | 2016-07-04 | 2021-09-28 | Ant Financial (Hang Zhou) Network Technology Co., Ltd. | Database data modification request processing |
CN107818057A (zh) * | 2016-09-13 | 2018-03-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107818812A (zh) * | 2016-09-13 | 2018-03-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109213622A (zh) * | 2017-07-03 | 2019-01-15 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN109213622B (zh) * | 2017-07-03 | 2022-03-18 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN111181874A (zh) * | 2018-11-09 | 2020-05-19 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法、装置及存储介质 |
CN111181874B (zh) * | 2018-11-09 | 2023-10-10 | 深圳市中兴微电子技术有限公司 | 一种报文处理方法、装置及存储介质 |
CN114442958A (zh) * | 2022-01-28 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的存储优化方法及装置 |
CN114442958B (zh) * | 2022-01-28 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的存储优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2009107506A1 (en) | 2009-09-03 |
US20130290659A1 (en) | 2013-10-31 |
EP2111583A4 (en) | 2010-06-02 |
US20140208013A1 (en) | 2014-07-24 |
EP2111583A1 (en) | 2009-10-28 |
US9043564B2 (en) | 2015-05-26 |
US8438343B2 (en) | 2013-05-07 |
TWI418983B (zh) | 2013-12-11 |
TW200951717A (en) | 2009-12-16 |
KR101103110B1 (ko) | 2012-01-04 |
EP2309392A1 (en) | 2011-04-13 |
US20110185107A1 (en) | 2011-07-28 |
KR20090117926A (ko) | 2009-11-16 |
US8738867B2 (en) | 2014-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681313A (zh) | 存储器系统 | |
CN101681312B (zh) | 存储器系统 | |
US8285954B2 (en) | Memory system managing a plurality of logs | |
CN101681317B (zh) | 存储器系统 | |
KR101099804B1 (ko) | 메모리 시스템 | |
US10706938B2 (en) | Storage device and operating method for applying a program voltage to erased word line to close open memory block | |
KR20170064992A (ko) | 중복제거를 위한 어드레스 매핑을 포함하는 플래시 메모리 장치 및 그 동작 방법 | |
KR960005895B1 (ko) | 불휘발성 반도체 메모리장치 | |
JP2010152514A (ja) | メモリシステム | |
KR20230049858A (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
KR101103201B1 (ko) | 메모리 시스템 | |
JP2009211202A (ja) | メモリシステム | |
JP2007018528A (ja) | メモリ装置、ファイル管理方法及び記録再生装置 | |
JP2009211213A (ja) | メモリシステム | |
JP2009211188A (ja) | メモリシステム | |
JP2009211218A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100324 |