CN101960430B - 混合非易失性存储器 - Google Patents
混合非易失性存储器 Download PDFInfo
- Publication number
- CN101960430B CN101960430B CN200880100385.1A CN200880100385A CN101960430B CN 101960430 B CN101960430 B CN 101960430B CN 200880100385 A CN200880100385 A CN 200880100385A CN 101960430 B CN101960430 B CN 101960430B
- Authority
- CN
- China
- Prior art keywords
- memory
- volatile memory
- storage subsystem
- external system
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
- G06F1/305—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
-
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
一种存储子系统,包括:易失性存储器;非易失性存储器,其存储容量调适为易失性存储器的存储器存储容量的两倍多;控制器,调适成向在存储子系统外部的外部系统呈现专用于易失性存储器中的存储位置、以使储存在非易失性存储器中的任何数据首先必须储存在易失性存储器中的界面;主电源输入,适于从外部系统接收电力;在存储子系统内部的备用电源;以及存储子系统包括用于在来自外部系统的适当电力切断时使用来自备用电源的电力将易失性存储器的内容复制到非易失性存储器的逻辑。
Description
技术领域
本公开涉及包含易失性存储元件和非易失性存储元件的混合存储系统以及单片非易失性存储。当断电发生时,单片非易失性存储器会使用电容中存储的电能或者通过短暂使用电池来进行数据保存。
技术背景
很多计算机应用(computing applications)将会受益于快速非易失性存储器的应用,包括磁盘高速缓存,固态硬盘,硬盘仿真,混合硬盘以及文件系统。
例如基于FAT(文件分配表)的流行PC文件系统和NTFS(新技术文件系统)负责编写与存储文件相关的文件管理数据。这些数据叫做“元数据”-管理文件系统的数据。对于基于FAT32和FAT16的文件系统来说,这叫做“FAT”,对于一个NTFS文件系统来说,这叫做“MTF”(主文件表)。
准确的元数据对于文件系统的运行非常重要。文件系统可以在一个或多个(重复)磁盘文件保存它们的元数据。但是元数据的重要性,元数据的访问和更改频率以及对访问和更改元数据的速度要求元数据要非常适合存储在非易失性存储器中,而不是存储在稍慢的磁盘文件中(或者易损NAND闪存装置),也不能作为为文件系统运行服务的磁盘缓存存储。
传统模块或者页面访问的非易失性存储器,比如一个有限使用(有限擦写周期)的多层单元(MLC)NAND闪存装置可以用来存储访问频率很高的数据。但是对于涉及到频繁的存储运行的某些应用程序来说,直接对NAND闪存进行读写会显得慢且繁冗,因为与这种闪存装置相关的访问方法多为非内存访问(例如模块序列)。在这种应用程序中频繁更改数据的性质可以引起存储系统过早出现故障,因为NAND闪 存装置在完全损耗和变得不可靠之前其擦写能力是有限的。这可能会导致系统运行不可靠最后不得不更换NAND闪存。频繁更换NAND闪存会增加系统使用寿命期内的成本。
图示简介
在所有的图形中,为了便于理解,所有相同的指示号码和缩写都代表相同的或似功能的元素或行为。为了便于讨论一个特定的元素或行为,指示号码中的最高有效位数字为此元素第一次出现时所在图形的号码。
图1为混合存储子系统实施方式的结构图。
图2为数据备份过程实施方式的流程图。
图3为数据恢复过程实施方式的流程图。
图4为混合存储子系统实施方式的结构图,此子系统通过SDRAM界面提供一个外系统。
图5描述一个包含多个备用电源电容的实施方式。
图6为系统电源恢复时验证电容电源的实施方式流程图。
图7为在预定负载(R)和电压下电容放电曲线的实施方式说明图。
图8为LC(电感电容)环形电路实施方式图解。
图9为初始化一个混合存储子系统过程的实施方式流程图。
图10为混合存储子系统在外系统断电后运行断电保存时对外系统电源恢复做出反应的过程的实施方式的流程图。
图11为混合存储子系统断电时在不同的非易失性存储容量状况下内存分配图。
图12为混合存储子系统电源恢复过程实施方式的流程图。
图13和14为混合存储子系统由外系统断电引起的断电过程的实施方式流程图。
图15为混合存储子系统可变分区实施方式结构图。
发明的实现方式以及工业应用性
“实施方式”尽管有时会指同一个实施方式但不一定总是指同一个实施方式。
除非在上下文中特别指出,描述以及权利要求中使用的“包涵”以及此类词语应理解“包括但不限于”。采用单数或复数的单词也包括复数或单数。另外,“此”,“以上”,“以下”和其他相似词语的使用是对于本申请的整体而言,而不是申请的某一特定部分。权利保护中使用的“或者”一词,当指两个以及更多的项目时其包含如下含义:所列项目中的任何一个项目,所列项目中的所有项目以及所列项目中的任易组合。
“逻辑”一词指影响一个装置运行的信号和(或)信息。软件,硬件和固件都可以称为逻辑。硬件可以体现在电路中。总的来说,逻辑包涵软件,硬件和(或)固件的组合。
掌握本领域技术的人员可以理解逻辑可以通过一个或多个装置来分配,由存储器中的指令的组合,处理能力,电路以及其他组成。为了明晰和正确起见,即使逻辑不可避免的出现也不总在装置和系统的图示中明确加以说明。
混合存储子系统
图1为混合存储子系统实施方式的结构图。混合存储子系统通过低成本的易失性存储器102以及低成本非易失性存储器104的配合使用提供了一个低成本,高密度,非易失性存储器。
存储子系统包括但不限于SDRAM 102(易失性存储器),NAND闪存104(非易失性存储器),模拟电源控制电路106,电源电容108以及一个系统控制器110。其他元素和(或)元素组合对于熟悉本领域的人员应该容易理解。
本实施方式中的易失性存储器是SDRAM 102(同步动态随机存储器)。其他类型的易失性随机存取存储器也可能被应用。本实施方式中的非易失性存储器是NAND闪存104,同样,其他类型的非易失性存储器也可能被应用。
模拟电源控制电路106与存储子系统通过外在电源连接,一般是一个包含和使用此混合存储子系统的更大的系统的电源。例如,外在电源可能是包含存储子系统的个人或者商务电脑系统。
模拟电源控制电路106还与存储子系统通过存储子系统的本地备用电源连接。例如,本地备用电源可能是电容108或者更小的电池(或者二者的组合)。在图1的实施方式中,电容108在外电源切断时给存储子系统暂时提供电源。电容108可以提供足够电源以供从易失性存储器102复制数据模块到非易失性存储器104。
当外电源切断时,混合存储子系统会作为一个更大的外在系统的独立子系统工作。模拟电源电路106会识别外在系统断电。系统控制器110会启动备份,把当前存储在易失性存储器102的数据复制到非易失性存储器104。在此,“备份”意思是易失性存储器102的数据被保存到非易失性存储器104。当外在电源恢复时,系统控制器110会把非易失性存储器104中的数据恢复到易失性存储器102。在此,“恢复”的意思是非易失性存储器104中的数据被存储到易失性存储器102。
因此系统控制器110就包括当外在电源切断时把数据从易失性存储器102备份到非易失性存储器104的逻辑以及当外在电源恢复时把数据从非易失性存储器104恢复到易失性存储器102的逻辑。
掌握本领域技术的人员可以理解各种不同功能的元件,比如电源控制器逻辑106和系统控制器110甚至易失性存储器102和非易失性存储器104可以综合起来作为一个或多个集成电路装置一起运行,可以作为一个或多个分离的实体元件组合在一起。
存储在混合存储子系统的数据即便在外在电源切断的情况下也能保存。即使外系统电源缺失,数据也能被内部保存在非易失性存储器104的存储子系统上。虽然在外系统电源缺失时数据被存储子系统内部保存在非易失性存储器104上,外系统也可以与混合存储子系统形成互动,就像与易失性存储器102(相同或者其他型号)互动。
混合存储系统只在外系统电源切断时才会给非易失性存储器104编写数据。与数据每次写入混合存储子系统时都要被写入相比,非易失性存储器104可以经历更少的写入周期。如果非易失性存储器104是低价和只有有限周期的NAND闪存,这样做可以延长非易失性存储器104的使用寿命。
系统控制器110给提供了一个对外系统的存储界面。存储界面包涵一个标准数据和某些特定种类的易失性存储器的控制界面。例如,系统控制器可以提供对外系统的SDRAM数据,地址和控制界面。对外系统的界面可以是也可以不是存储子系统使用的此类型易失性存储器102的界面。
系统控制器110可能提供另外一个界面,通过它外系统可以给混合存储子系统发出命令或者获得状况。例如,在一些实施方式中,即使在外电源没有切断的情况下外系统也可以命令混合存储子系统启动备份功能把数据从易失性存储器102备份到非易失性存储器104。另外,混合存储子系统或者外系统可以提供一个直接用户界面,比如说图形用户界面上的开关或控制,通过它外系统用户可以把数据从易失性存储器102复制到非易失性存储器104。另外一种行为,也就是把数据从非易失性存储器104恢复到易失性存储器102,在一些实施方式中可以通过系统控制器110的系统界面或者直接通过用户来实现。在一些实施方式中,外系统会使用其与混合存储控制器110的界面来实现对混合存储子系统的自我测试。
其他各种系统元件的范例或者实施方式对于熟悉本领域技术的人员应该容易理解。
混合存储子系统运行
如前面所描述,系统控制器110可能包含连接易失性存储器102到外系统的逻辑,比如个人电脑系统或者商务电脑系统。其他应用混合存储子系统的范例是嵌入式控制应用,通讯和消费产品。
系统控制器110可以给外系统呈现一个界面,所以易失性存储器102可以被外系统访问,来实现数据的读写。
来自外系统的到达易失性和非易失性存储器以及控制器的电源中的至少一个电源切断时,电源控制器逻辑便可以发现。例如,外系统可能会出现电源中断或者电池断电。当外系统电源切断时,电源控制器106会提供给易失性存储器102,非易失性存储器104和控制器110足够备用电源使数据从易失性存储器102备份到非易失性存储器104。电容或者电池电源108此时作为备用电源工作。
在一些实施方式中控制器110可以包括使外系统启动备份功能把数据从易失性存储器102备份到非易失性存储器104的逻辑,而不是在断电时才启动备份功能。控制器110还可能包涵一种逻辑,此逻辑能够在外系统模仿一种易失性存储器而非某特定类型的易失性存储器。例如,在内部,存储子系统可能会应用SDRAM来模拟易失性存储器102的功能。但是,控制器可能包含在外系统模仿 单资料速率内存(SDRAM),双倍速内存(DDRAM),DDR2,异步SRAM,C-F卡或者PCI-E的逻辑(其他例子不再一一举出)。
易失性存储器102,非易失性存储器104,控制器110和电源控制器106可以以各种不同的方式实施。例如,这些元件可以成为多芯片组中的一个,一个板子系统或者一个单芯片实施。
图1实施方式所示的是数据通过控制器110在从易失性存储器102向非易失性存储器104运动时(或者反向运动)备份和恢复得以实现。在其他实施方式中,数据可能通过从易失性存储器102向非易失性存储器104运动来实现备份和恢复,无须经过控制器110。
图2是数据备份过程实施方式的流程图。如果外系统电源切断(见202),本地备用电源如电容电源就会支持存储子系统(见204)工作。在206,数据从易失性存储器备份到非易失性存储器。在208,过程结束。
备用电源已经作为本地混合存储子系统的一个电容或若干电容讨论过。但是外系统也可以提供一个或若干电容。
备用电源在外系统电源(也就是原始电源)切断时使用。但是电源切换必定会出现切换延迟(切换时间),如果切换失败或者迟缓就有可能导致存储子系统失去所有电能。所以在一些实施方式中,电源总是通过备用电源提供给混合存储子系统。比如混合存储子系统总是可以从一个或若干个备用电容得到所需电源,当外系统电源恢复时电容又可以重新充电。外电源切断以后,存储子系统继续从备用电容得到电源,降低电压同时从易失性存储器102向非易失性存储器104运行断电保存数据功能。
因此,“外系统电源”可以指来自外系统,经由一个或多个备用电源(例如电源电容)施加给存储子系统的电源。“备用电源”可以指当来自外系统的电源切断时经由备用电源系统施加给存储子系统的电源。
外系统利用存储子系统用两种方法将其与外系统隔离。第一,把控制器界面110(可以是易失性存储器102界面,也可以不同)放置在存储子系统和外系统之间来实现存储访问隔离。第二,“阻断”外系统电源通过备用电源,以此实现与主系统的电源隔离。
当外系统电源恢复时,控制器110的逻辑将把数据从非易失性存储器104 恢复到易失性存储器102。
图3为数据恢复过程实施方式流程图。在302,如果外系统电源恢复,模拟控制电路将会识别出电源恢复。在304,数据从非易失性存储器恢复到易失性存储器。在306过程结束。
图4为混合存储子系统实施方式结构图,混合存储子系统给外系统提供一个SDRAM界面。此系统在结构上与图1实施方式相似。混合存储子系统提供SDRAM兼容数据,地址和对外系统的控制/状态信号。这样外系统就可以以与典型SDRAM互动的方式与混合存储子系统形成互动。混合存储子系统引起非易失性存储器104的出现,外系统不需要更改与混合存储子系统的互动方式。电源切断时易失性存储器102与非易失性存储器104的互动由混合存储子系统内部处理。互动的详细信息不必告知外系统。
控制器110使用对非易失性存储器104的界面这样此界面就可以避免与外系统接触。控制器110包涵在外电源切断和恢复时促进易失性存储器102和非易失性存储器104互动的逻辑。
在图4的实施方式中,混合存储子系统控制器110提供了一个“通道”来传递由外系统到易失性存储器102的数据,地址和控制信号。当控制器110向外系统提供一个与混合存储子系统使用的此类型易失性存储器一致的易失性存储器界面时传输“通道”成为可能。例如,如果对外系统的界面为SDRAM界面,混合存储子系统在内部使用SDRAM作为易失性存储器,控制器110就可以通过“通道”从外系统向内部SDRAM传输信号。这种“通道”传输信号提高了性能表现。
在图4的实施方式中,混合存储子系统控制器110从外系统向易失性存储器102轮流提供“时钟恢复”数据,地址和控制信息。此得以实现要求控制器110向外系统提供一个与混合存储子系统使用的此类型易失性存储器一致的易失性存储器界面,但同时要通过一个或若干个时钟延迟重新设置信号时间。例如,如果对外系统界面为SDRAM界面时,混合存储子系统在内部使用SDRAM作为易失性存储器,控制器110可以对从外系统向内部SDRAM的信号进行“时钟恢复”或者“重新注册”。通过“时钟恢复”信号可以得到另一种性能表现。
在其他情况下,内在易失性存储器102可能与控制器110提供的对外系统界面类型不同。在这种情况下控制器110将把来自外系统的信号翻译成与内在易失性存储器102相兼容的类型。在信号翻译过程中可能会降低性能表现。
控制器110可能提供另外的控制/状态信号给外系统。这些另外的信号可以加强和(或)更改控制器110提供给外系统的典型易失性存储界面。外系统可能包涵也可能不包涵利用此信号的逻辑。
电容电能发送验证
电容108或其他备用电源是使存储子系统在外系统电源不连续的情况下可靠工作的关键元件。因此电容108或者其他备用电源的可靠性很重要。
图5为电容验证逻辑502实施方式结构图。电容验证逻辑502可以包涵在电源控制器106中,即使实际并不总是这种情况。验证逻辑502验证一个或多个备用电源电容是否正常工作以及其速率。
一些实施方式可能会使用多个电源电容。使用多个电源电容可能会有几个优点,这些优点包括可以发送额外备用电能,可以进一步保证可靠运行。例如,如果一个电源电容切断,系统仍然可以依靠其他电源电容可靠工作。电容相比较其它系统元件来说比较低价,所以这些相对于单一电容的优点可以以相对低的支出即可以获得。
逻辑502可以确保至少一个电源电容,例如电容108,在外系统电源不稳时有足够电使数据从存储子系统易失性存储器102备份到存储子系统非易失性存储器104。
验证电容的电容量可以通过很多方法实现。一种方法是在预定的负载和电压下至少计算充电率和放电率其中之一。图7是在预定的负载(R)和电压下电容的放电曲线实施方式图解。时间T1代表在放电曲线上第一次电压测量点,T2代表第二次电压测量点。两次测量都是在数据备份时电容的工作区域获得的。如果放电速率太大就表示电容值不合适,安装不符或者老化,已经接近可靠使用寿命。
另一个验证电容电能发送能力的方法是当从易失性存储器到非易失性存储器的备份结束时测量末端电容电压,以此判断是否电容还有足够的边际电压来保证可靠备份。在图7中,电容电压可以在T1测量,就是当从易失性存储器到非易失性存储 器备份完成时。T2的电压代表判断电容是否有足够边际电压来保证运行的参考点。如果T1和T2之间的电压差值不能实现边际运行,就表示电容此时已经接近可靠使用寿命或者102,104,106和110所代表的电源负载或者极端的环境超过了子系统能够承受的范围。
另外一种验证电容电能发送能力的方法是当电容连接到一个预定的阻抗(包括电感元件)时测量电容的自然振荡频率。图8为一个LC(电感电容)环形电路也就是电感RC振荡器的实施方式结构图。为了电能验证,电感器804可以用一环连接到电容802。电容802会对电感器804放电,反之亦然,在环中形成一个共振频率。此频率就代表了此时电容802的电流容量,为电容802的电能发送能力提供了参考依据。
更多高级的实施方式会包括更多的逻辑,此逻辑在电容电能验证时会测量和应用工作温度,工作电压和电容元件使用时间三个因素中的一个或多个因素。一些实施方式甚至可能应用系统和(或)电容的先前的工作表现来进行电能验证。
电容电能验证可能会在不同的情况下进行。例如,验证可能会在外电源断掉后又恢复时或者第一次使用这种电源时进行。这种情况已经在图6说明,见系统恢复通电电容电能验证实施方式。
在图6中,外系统电源被应用(602)电容电能发送能力被判定(604)。如果电容有足够的电能发送能力(606),存储子系统被启动(608)。反之存储子系统无法启动(610)。在612过程结束。
在其他的实施方式中,验证会周期性进行,可能会按时间间隔进行或者在一天特定时间或者特定日期进行,还有可能在产生外部信号时进行,例如进行例行诊断时产生的信号。
验证逻辑502会对外系统发出信号,告知电容电能验证结果。例如,验证逻辑502会根据验证结果告知外系统存储系统工作正常,工作异常或者在损耗的模式下工作。电容如果被验证在外电源不稳定情况下没有足够的电能把数据从易失性存储器102复制到非易失性存储器104时,存储系统会被认为在降级模式下工作。例如减少存储子系统的存储能力就会被认为在降级模式工作。比如验证逻辑502判定电源电容的电量只能从易失性存储器102备份50%的数据到非易失性存储器104,存储子系统就会指示外系统它只有完全存储能力的50%。
在一些实施方式中,验证逻辑502会根据电能验证结果优先使用多个电容 作为备用电源。例如,在其他条件相同的条件下,电容108为首选备用电源,其他电容分列第二第三位。但是如果验证显示电容108只有额定功能的60%,验证逻辑会指定另外一个首选备用电源,这时第三位电容变成第二位而电容108变成第三位。
存储子系统初始化
图9初始化混合存储子系统过程实施方式流程图。存储子系统可以在第一次使用时和(或)其他时候初始化。存储子系统初始化后可以置于通电运行状态下,无须用存储在非易失性存储器104的数据占据易失性存储器102。
初始化会涉及上述的电容验证和非易失性存储能力验证。
最小量可用闪存模块处于被擦除状态,可以支持断电保存操作,那么非易失性存储能力通过验证(902),这可能在闪存被当作非易失性存储器104的实施方式中发生。验证可用闪存模块是否处于被擦除状态需要检查每一个可擦闪存模块是否“脏”,就是说是否存在编写程序,如果存在就会被擦除。一系列可用擦除的闪存模块建立(904)。
混合存储子系统备用电源的存在和电能发送能力被验证(906)。备用电源可能是一个或多个电容。验证混合存储子系统备用电源的存在和电能发送能力可以保证在电源切断时有足够的电把数据从非易失性存储器102备份到非易失性存储器104。在908,初始化完成。
电源切断中断恢复
图10为混合存储子系统在外系统断电后运行断电保存时对外系统电源恢复作出反应的过程的实施方式的流程图。就是当外系统电源切断后在存储子系统尚未完成从非易失性存储器102到非易失性存储器104的备份时电源再次恢复。控制器110启动,指挥和(或)运行电源切断中止恢复过程。
“中止恢复时间”是外系统电源切断又恢复的间隔时间,恢复后存储子系统重新可用。为了减少中止恢复时间,存储子系统会给外系统发出信号说明一旦非易失性存储系统104有足够空间备份来自易失性存储器102的数据,存储子系 统马上可以运行。
如果系统正在处理一个电源恢复时外系统电源再次发生断电,之前被电源恢复打断的断电保存程序将会再次从打断处再次启动。
存储子系统可能包涵一种逻辑,此逻辑在存储子系统断电保存程序被外电源恢复打断以后能够推迟外系统使用存储子系统。推迟时间通常要足够允许存储子系统保证有足够的存储子系统非易失性存储容量来备份一些易失性存储容量,这些易失性存储容量由存储子系统提供给外系统。
在某个实施方式中,为了备份存储子系统提供给外系统的一些量的易失性存储容量,存储子系统要擦除非易失性存储器的脏模块,这时就出现了需要的推迟时间。但是,如果有足够的非易失性存储系统容量来备份存储子系统提供给外系统的易失性存储容量,就不会有推迟时间,存储子系统会对外系统说明其立即可用。
在一些实施方式中,存储子系统对外系统说明其可以使用,但也会对外系统可用的易失性存储器容量升级,例如通过擦除非易失性存储模块,更多的非易失性存储容量可用。
在1002,存储子系统检查备用电源(此实施方式中为一个电容)是否有足够电来完成断电保存,包括从易失性存储器102备份数据到非易失性存储器104。在一些实施方式中,在断电中止恢复时1002可能不会每次都发生。外电源的恢复可能导致正在进行的从易失性存储器102到非易失性存储器104的数据备份运行暂停。在这种情况下,易失性存储器102继续获得电能并保留其数据内容。这时如果电源恢复,数据备份没有完成或者备用电能没有耗尽,继续从易失性存储器102到非易失性存储器104进行备份就变得没有必要。不过,在非易失性存储器104没有足够可用和擦除的存储容量来完成对易失性存储器102的内容备份之前,存储子系统不会指示外系统其可用。否则,如果外电源恢复以后马上再次切断,非易失性存储器104就没有足够的容量来完成对易失性存储器102内容的备份,有用的数据就会丢失。
当相继出现外电源切断时,评估(1004)是否有足够的可用擦除闪存模块来备份易失性存储器102的内容到非易失性存储器104。下一个数据模块会被擦除(1006)直到有足够数量的擦除可用非易失性存储模块。当有足够的可用擦除闪存模块来备份易失性存储器102到非易失性存储器104时,存储子系统会指示其对外 系统可用。此指令可能会通过信号方式传达给外系统,或者通过外系统可以读取的状态方式传达给外系统。在1010此过程结束。
如果在一个或者多个闪存模块被擦除(1006)以后电源切断,中止恢复过程就会中止,对被擦除的模块来说从易失性存储器102到非易失性存储器104的数据备份就会重新启动,但是对未擦除的模块来说(未擦除模块仍然在非易失性存储器被备份)不一定如此。因此,存储子系统可能包括一种逻辑,此逻辑在外系统使用存储子系统之前擦除足够的脏的非易失性存储器来备份存储子系统提供给外系统的易失性存储容量。如果在使用存储子系统之前外电源切断,存储子系统会备份至少部分含有与从非易失性存储系统被擦除的数据相对应的数据。
图11为混合存储子系统断电时在不同的非易失性存储容量状况下内存分配图。控制器110再次启动,指挥和(或)运行此过程。
闪存104包涵被编程的“脏”模块1102,“可用”模块1104处于擦除状态没有受到其他损坏。在图11中虚线之间的区域代表在外系统电源切断的时候对易失性存储器102的全部内容进行备份所需要的非易失性存储器104。A情况下,虽然非易失性存储器104有一些脏模块1102,但是却有足够多的可用擦除模块1104来运行备份。事实上,总的闪存容量经常是易失性存储器102的二倍多,所以在这种情况下当外系统电源切断时就有足够的擦除模块来对易失性存储器102的内容进行备份。存储子系统在外系统电源恢复之后立即对外系统可用。
脏模块和擦除的可用模块在图示说明时是处在相邻的范围。但是事实上却不总是这种情况,不管非易失性存储模块相邻与否,此过程大致都相同。
非易失性存储器104(如状态B所示)也有脏模块1102和擦除可用模块1104。可是在这种情况下非易失性存储器104没有足够的擦除和可用模块来完全备份易失性存储器102的内容。一部分1106备份易失性存储器102所需的空间还没有被擦除。
非易失性存储器104(如状态C所示)开始时和状态B有同样数量的脏的和擦除闪存模块。但是在状态B不可用的一部分(1106)擦除模块通过擦除在存储器104变得可用。因此,状态C的存储器104比状态B有相对少的脏模块和更多的擦除模块,这样就有了足够的擦除可用模块来对易失性存储器102的全部内容来进行备份。当进行脏模块擦除时,擦除完毕的模块不一定按照一定的顺序放置在特定的 位置。当擦除完毕和可用模块等于或者大于外系统将要使用的易失性102存储器的数量时,存储子系统会对外系统发出指示说明其可用。
电源恢复
图12为混合存储子系统电源恢复过程实施方式的流程图。电源恢复过程可包括数据从非易失性存储器(如闪存)104恢复到易失性存储器102。控制器110启动,指挥和(或)运行电源恢复过程。
一旦外系统电源可用(1202),如果初始化过程还未开始(1204),初始化在图9,902开始。
如果子系统处于合适初始化状态,一个闪存页的数据就被保存在了易失性存储器(1206)。只要有更多的闪存页可被存储(1208),这一过程就会继续。
当所有的被存储的含有数据的闪存页被处理后,此行为在图10,1004继续。
如果外电源在1204,1206,或者1208的任何时候切断,此过程就可能被中止。存储子系统可包含一种逻辑,当数据备份未完成外系统电源恢复时,此逻辑会删除从存储子系统易失性存储器102到存储子系统非易失性存储器104的数据备份。
来自易失性存储器102的数据完全被备份到非易失性存储器104以后,在关闭存储子系统之前,备份和恢复工作都已完成。一般来说,在完全恢复之前,存储子系统不会开始擦除非易失性存储器104的模块。
因此,存储子系统可包括一种逻辑,在确定有足够的存储子系统非易失性存储容量来备份一定数量的存储子系统提供给外系统的易失性存储容量之前,在外系统电源恢复之后,此逻辑把数据从非易失性存储器104恢复到易失性存储器102。只有在系统电源恢复没有打断断电保存时,存储子系统才会把数据从非易失性存储器104恢复到易失性存储器102。
断电保存
图13和14为混合存储子系统由外系统断电引起的断电过程的实施方式流程图。电源控制逻辑106会识别外系统电源断电然后通知给控制器110。控制器110启动,指挥和(或)运行断电程序。
存储子系统开始会禁止外系统使用存储子系统(1302)。这种禁用通常都是在外系统了解和参与的情况下完成的以便外系统完成原子数据运行。一旦禁用,数据将从易失性存储器读取(1304)。这些数据可以被写入非易失性存储页(1306)。刚被写入的非易失性存储页将被写入数据(1308)。非易失性存储页将由小的数据增量编写(它们通常每次都会以一模块大小的增量被读取和擦除)。如果从易失性存储器读取的数据不会填满非易失性存储页,那么更多的写入数据就会从易失性存储器被读取(1304)。在1314非易失性存储页填满。
一个新的非易失性存储页编写程序现被运行。在页编程运行期间未被从易失性存储器读取的完整数据被保留。对于要刷新的DRAM存储器来说要通过集中刷新易失性存储器来实现数据保留,集中刷新根据最坏情况页编程持续时间来定。在1314新的非易失性存储页被编写。在图14,1402处理继续。
如果还有更多的数据需要保存到非易失性存储器,更多的非易失性存储页需要编写(1402),易失性存储器就会从低于全速运转的工作模式转到全速运转模式以便被读取来获得未保存数据(1404)。在图13,1304处理继续。
如果没有更多的数据需要从易失性存储器保存到非易失性存储器,存储子系统关闭(1406),过程完成(1408)。
因此,存储子系统可包括一个逻辑,此逻辑能够集中刷新易失性存储器102,间隔时间至少等于最坏情况非易失性存储页准备时间,在新的非易失性存储页准备和写入的时候把易失性存储器102始终置于全速工作状态以下的状态。在新的非易失性存储页准备和写入以后,把易失性存储器102置于全速工作状态。
图15为混合存储子系统可变分区实施方式结构图。
一组缓存器1510或者其他装置可能被应用使外系统具备改装存储子系统易失性存储器102和非易失性存储器104的能力。在有些情况下,存储子系统对特定改装来说是硬接线的。
此改装规定易失性存储器102的一部份或者多部分1502通过非易失性存储器的备用容量1506来支持。外系统可以从这些部分1502读取和写入就像与易失性存 储器(例如使用RAM数据/地址协议)互动,但是这些部分1502在外系统电源切断时会自动备份到非易失性存储器1502。因此这些部分1502会被外系统看作具有易失性存储器速度和使用性优势的非易失性存储器。
易失性存储器102的其他部分1504可以被外系统当作标准易失性存储器来使用。换句话说,外系统可以对这些部分1504读取和写入数据,就像与易失性存储器(例如使用RAM数据/地址协议)互动,但是如同典型的易失性存储器一样,这些部分1504在外系统电源切断时不会自动备份到非易失性存储器104。
非易失性存储器104的其他部分1508可以被外系统当作非易失性存储器来使用。外系统可以通过控制器110对这些部分1508直接读取和写入数据。数据从易失性存储器102会被备份到非易失性存储器104,但不必先对易失性存储器102写入数据。
因此,混合存储子系统被改装成能够为外系统提供三种类型的存储器。一种是“非易失性”存储器1502,它具有易失性随机访问存储器的优势(比如速度和重复使用性),在系统电源切断时会被自动备份到非易失性随机访问存储器的一部分1506。另外一种提供给外系统的存储器是标准随机访问易失性存储器1504。还有一种提供给外系统的存储器是标准非易失性存储器1508,它可以通过非易失性存储器固有的方式(模块序列而不是随机访问)被访问。
非易失性存储器的一部分1508未被留作备份易失性存储器1502,它可包含程序码或者其他信息,有可能被“启动”或者被加载到未备份的易失性存储器的一部分1540。因此,非易失性存储器104可以作为被外系统使用的用来贮存程序码或者其他“图像”信息的数据贮存库。
因此易失性存储器102可以被分成三个逻辑存储区:“非易失性存储器”(1502),它是在系统电源切断时被备份到非易失性存储器的易失性存储器;易失性存储器(1504),它是在系统电源切断时不会被备份的易失性存储器;易失性存储器(潜在存在于1504),它是在系统电源切断时不会被备份的易失性存储器,但是在不做备份之用的非易失性存储器的部分1508有相对应的图像。
混合存储子系统可包括一种逻辑,在装置电源切断时,使安装有此逻辑的装置至少能够备份一部分易失性存储器到非易失性存储器。此逻辑能够使装置在电源切 断时至少一部分易失性存储器不被备份到非易失性存储器,至少使一部分非易失性存储器不被留作备份易失性存储器之用。
存储子系统可包括一个或多个改装缓存器使装置在电源切断时确保至少一部分易失性存储器被备份到非易失性存储器,确保至少一部分非易失性存储器不被留作备份易失性存储器之用。
掌握本领域技艺的技术人员很容易理解有各种载体能够实施此处描述的过程和(或)系统(例如硬件,软件和(或固件)),优选的载体会根据过程运用的背景的不同而有所不同。例如,如果实施器判定速度和准确性最为重要,实施器可能选择硬件和(或)固件载体;如果灵活性最为重要,那么实施器可能选择单一软件实施案;或者,实施器可能选择一些软件,硬件和(或)固件的组合。因此,存在着几个可能的载体来实施此处描述的过程,任何一种载体都不是固有的优于其他载体,因为任何一种载体的选择都只是依据载体所适合应用的背景和它能够为实施器带来的具体优势(如速度,灵活性或可预测性)而做出的,这些优势可能随之变化。掌握此领域技术的人员可以理解光态实施可能涉及光导硬件,软件和(或)固件。
上述详细的描述,通过结构图,流程图和(或)范例的使用提出各种不同的装置和(或)过程的实施方式。只要这些结构图,流程图和(或)范例包含一种或者多种功能和(或)作用,掌握此领域技术的人员可以理解这些结构图,流程图和(或)范例所包含的每一项功能和(或)作用都可以通过很多种硬件,软件,固件或者它们的任何组合单独和(或)共同实现。这里所描述的客体的几个部分可以通过专业集成电路(ASICs),现场可编程门阵列(FPGAs),数字信号处理(DSPs),或其它集成格式来实施。但是,掌握此领域技术的人员会意识到在此描述的一些实施方式的一些方面,可以完全或者部分地在标准集成电路中实施,可以作为在一个或者多个在计算机上运行的一个或者多个程序(例如在一个或者多个在计算机系统上运行的一个或者多个程序),可以作为在一个或者多个处理器上运行的一个或者多个程序(例如在一个或者多个微处理器上运行的一个或者多个程序),也可以作为固件或者它们的任意组合。依据此公开,掌握此领域技术的人员很容易就可以指定电路和(或)为软件和(或)固件编写代码。另外,掌握此领域技术的人员会明白在此描述的客体装置能够以各种方式作为程序产品在市场分销,在此描述的客体的说明性实施方式也很容易通过任何媒介传播。这些媒介包括但不限于以下方式:可存储媒介,如软盘,硬盘,CD ROM,数字磁带和电脑存 储器;传播媒介,如使用TDM的数字和模拟通信链路或者基于IP的通信链路(如包链路)。
总体来说,掌握此领域技术的人员会认识到在此描述的各个方面可以单独和(或)共同地由很多种硬件,软件,固件或者任何组合来实施。这些方面可以认为是由各种类型的“电气电路”来组成。所以此处描述的“电气电路”包括但不限于至少含有一个分离电路的电气电路,至少含有一个集成电路的电气电路,至少含有一个专业集成电路的电气电路,能够形成由计算机程序改造而成的多用途计算装置的电气电路(例如一个由计算机程序改造而成的多用途计算机至少能够部分实施在此描述的过程和(或)装置,或者一个由计算机程序改造而成的微处理器至少能够部分实施在此描述的过程和(或)装置),能够形成存储装置的电气电路(例如各种形式的随机访问存储器),和(或)能够形成通信装置的电气电路(例如调制解调器,通信开关,或光电设备)。[00125]掌握此领域技术的人员会理解描述在此提出的装置和(或)过程然后应用标准的设计方法把在此描述的装置和(或)过程整合到更大的系统中去在此领域很常见。也就是说,至少在此描述的装置和(或)过程的一部分可以通过大量试验被整合到网络处理系统中去。
此前叙述的各个方面描述了不同的元件,这些不同元件又包含于或者连接于不同的其它元件。应该指出那些描述的模型只是范例,很多其它的模型也可以取得同样的功能。从概念的意义上说,任何取得相同功能的元件安排都是相联系的,如此所需功能才能实现。因此,任何两个元件组合在一起能够取得一个特定的功能,这两个元件就是彼此“联系”的,无论应用了何种结构和何种媒介元件,这个组合都取得了需要的功能。同样,任何两个如此联系的元件都可以被认为是为了取得所需功能“运行连接”在一起。
Claims (4)
1.一种存储子系统,包括:
易失性存储器:
非易失性存储器,其存储容量调适为所述易失性存储器的存储器存储容量的两倍多:
控制器,调适成向在所述存储子系统外部的外部系统呈现传递用于所述易失性存储器中的存储位置的地址、但不传递用于所述非易失性存储器中的存储位置的地址的界面:
主电源输入,适于从所述外部系统接收电力;
在所述存储子系统内部的备用电源:以及
所述存储子系统包括用于在来自所述外部系统的适当电力切断时使用来自所述备用电源的电力将所述易失性存储器的内容复制到所述非易失性存储器的逻辑。
2.根据权利要求1中所述的存储子系统,其特征在于,进一步包括所述呈现给外部系统的界面传递用于所述易失性存储器中的存储位置的地址,而不传递用于所述非易失性存储器中的存储位置的地址。
3.一种数据处理设备,包括:
包括至存储子系统的易失性存储器接口的外部系统:
所述存储子系统包括:
易失性存储器;
非易失性存储器,非易失性存储器,其存储容量调适为所述易失性存储器的存储器存储容量的两倍多:
控制器,调适成向在所述存储子系统外部的外部系统呈现传递用于所述易失性存储器中的存储位置的地址、但不传递用于所述非易失性存储器中的存储位置的地址的界面:
主电源输入,适于从所述外部系统接收电力:
在所述存储子系统内部的备用电源;以及
所述存储子系统包括用于在来自所述外部系统的适当电力切断时使用来自所述备用电源的电力将所述易失性存储器的内容复制到所述非易失性存储器的逻辑。
4.根据权利要求3中所述的数据处理设备,进一步包括:所述呈现给外部系统的界面传递用于所述易失性存储器中的存储位置的地址,而不传递用于所述非易失性存储器中的存储位置的地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/881,346 | 2007-07-25 | ||
US11/881,346 US8074034B2 (en) | 2007-07-25 | 2007-07-25 | Hybrid nonvolatile ram |
PCT/US2008/071051 WO2009015285A1 (en) | 2007-07-25 | 2008-07-24 | Hybrid nonvolatile ram |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101960430A CN101960430A (zh) | 2011-01-26 |
CN101960430B true CN101960430B (zh) | 2017-03-15 |
Family
ID=40281825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880100385.1A Active CN101960430B (zh) | 2007-07-25 | 2008-07-24 | 混合非易失性存储器 |
Country Status (3)
Country | Link |
---|---|
US (6) | US8074034B2 (zh) |
CN (1) | CN101960430B (zh) |
WO (1) | WO2009015285A1 (zh) |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
US20100161932A1 (en) * | 2008-12-18 | 2010-06-24 | Ori Moshe Stern | Methods for writing data from a source location to a destination location in a memory device |
US20100241815A1 (en) * | 2009-03-20 | 2010-09-23 | Google Inc. | Hybrid Storage Device |
US8489837B1 (en) | 2009-06-12 | 2013-07-16 | Netlist, Inc. | Systems and methods for handshaking with a memory module |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
EP2476039B1 (en) * | 2009-09-09 | 2016-10-26 | SanDisk Technologies LLC | Apparatus, system, and method for power reduction management in a storage device |
US8645738B2 (en) | 2009-10-27 | 2014-02-04 | Nokia Corporation | Nonvolatile device |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US20110252263A1 (en) * | 2010-04-13 | 2011-10-13 | Byungcheol Cho | Semiconductor storage device |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US10360143B2 (en) * | 2010-07-01 | 2019-07-23 | Qualcomm Incorporated | Parallel use of integrated non-volatile memory and main volatile memory within a mobile device |
US9146875B1 (en) | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
US9009384B2 (en) * | 2010-08-17 | 2015-04-14 | Microsoft Technology Licensing, Llc | Virtual machine memory management in systems with asymmetric memory |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8683295B1 (en) | 2010-08-31 | 2014-03-25 | Western Digital Technologies, Inc. | Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US8782334B1 (en) | 2010-09-10 | 2014-07-15 | Western Digital Technologies, Inc. | Hybrid drive copying disk cache to non-volatile semiconductor memory |
US8825977B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life |
US8825976B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory |
US8670205B1 (en) | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
US8699171B1 (en) | 2010-09-30 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive selecting head for write operation based on environmental condition |
US8612798B1 (en) | 2010-10-21 | 2013-12-17 | Western Digital Technologies, Inc. | Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails |
US8429343B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk |
US8427771B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors |
US8560759B1 (en) | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
CN102122531A (zh) * | 2011-01-27 | 2011-07-13 | 浪潮电子信息产业股份有限公司 | 一种提高大容量固态硬盘使用稳定性的方法 |
US8954798B2 (en) * | 2011-02-11 | 2015-02-10 | Taejin Info Tech Co., Ltd. | Alarm-based backup and restoration for a semiconductor storage device |
CN102183950B (zh) * | 2011-03-21 | 2012-12-05 | 浙江吉利汽车研究院有限公司 | 一种ecu的数据刷写装置 |
CN102381036B (zh) * | 2011-08-01 | 2014-04-16 | 珠海天威技术开发有限公司 | 耗材芯片、耗材容器及耗材芯片的数据写入方法 |
US8630056B1 (en) | 2011-09-12 | 2014-01-14 | Western Digital Technologies, Inc. | Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory |
US8909889B1 (en) | 2011-10-10 | 2014-12-09 | Western Digital Technologies, Inc. | Method and apparatus for servicing host commands by a disk drive |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8904091B1 (en) | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
EP2845104A4 (en) * | 2012-04-30 | 2015-11-18 | Hewlett Packard Development Co | PREVENTING THE ALLOCATION OF A HYBRID MEMORY MODULE |
CN102662802A (zh) * | 2012-05-08 | 2012-09-12 | 无锡云动科技发展有限公司 | 基于非易失性内存的全系统断电恢复方法及设备 |
US9141505B1 (en) * | 2012-09-27 | 2015-09-22 | Emc Corporation | Adaptive failure survivability in a storage system using save time and data transfer after power loss |
US8830716B2 (en) * | 2012-09-29 | 2014-09-09 | Intel Corporation | Intelligent far memory bandwith scaling |
US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
GB2507961A (en) | 2012-11-14 | 2014-05-21 | Ibm | Back-up and restoration of data between volatile and flash memory |
US9146928B1 (en) * | 2012-12-31 | 2015-09-29 | Emc Corporation | Techniques for storing metadata of a filesystem in persistent memory |
CN103077116A (zh) * | 2013-01-18 | 2013-05-01 | 无锡云动科技发展有限公司 | 一种计算机的数据存储系统及计算机系统 |
GB2510180A (en) * | 2013-01-29 | 2014-07-30 | Ibm | Selective restoration of data from non-volatile storage to volatile memory |
WO2014147700A1 (ja) * | 2013-03-18 | 2014-09-25 | 富士通株式会社 | 情報処理装置、情報処理装置の停止方法、及び情報処理装置の停止プログラム |
US9223664B1 (en) * | 2013-04-22 | 2015-12-29 | Amazon Technologies, Inc. | Energy storage for memory protection during power event |
US9678689B2 (en) * | 2013-05-29 | 2017-06-13 | Microsoft Technology Licensing, Llc | Storage systems and aliased memory |
US9042197B2 (en) * | 2013-07-23 | 2015-05-26 | Western Digital Technologies, Inc. | Power fail protection and recovery using low power states in a data storage device/system |
US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
GB2517435A (en) | 2013-08-19 | 2015-02-25 | Ibm | Fast data back-up and restore between volatile and flash memory |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US9263156B2 (en) * | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
CN104750425B (zh) * | 2013-12-30 | 2018-12-18 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
CN104750424B (zh) * | 2013-12-30 | 2018-12-18 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
CN103777537B (zh) * | 2014-01-28 | 2018-03-13 | 无锡云动科技发展有限公司 | 一种低功耗控制电路及存储装置 |
KR20150120558A (ko) * | 2014-04-17 | 2015-10-28 | 에스케이하이닉스 주식회사 | 휘발성 메모리 장치, 이를 포함하는 메모리 모듈 및 메모리 모듈의 동작 방법 |
US10289181B2 (en) | 2014-04-29 | 2019-05-14 | Hewlett Packard Enterprise Development Lp | Switches coupling volatile memory devices to a power source |
KR20150129517A (ko) * | 2014-05-12 | 2015-11-20 | 엘에스산전 주식회사 | 메모리 데이터 백업 기능을 갖는 전자장치 |
US9603280B2 (en) * | 2014-05-30 | 2017-03-21 | EMC IP Holding Company LLC | Flash module |
US9398720B1 (en) | 2014-05-30 | 2016-07-19 | Emc Corporation | Chassis with airflow and thermal management |
CN104090852B (zh) * | 2014-07-03 | 2017-04-05 | 华为技术有限公司 | 管理混合缓存的方法及设备 |
US10430092B1 (en) * | 2014-07-28 | 2019-10-01 | Rambus Inc. | Memory controller systems with nonvolatile memory for storing operating parameters |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
US9721660B2 (en) * | 2014-10-24 | 2017-08-01 | Microsoft Technology Licensing, Llc | Configurable volatile memory without a dedicated power source for detecting a data save trigger condition |
US10261571B2 (en) | 2014-10-31 | 2019-04-16 | Hewlett Packard Enterprise Development Lp | Backup power supply support |
US20160202749A1 (en) * | 2015-01-13 | 2016-07-14 | Netlist, Inc. | System and method for determining charge of a secondary power supply for a memory system |
WO2016130163A1 (en) * | 2015-02-13 | 2016-08-18 | Hewlett Packard Enterprise Development Lp | Partitioning memory modules into volatile and non-volatile portions |
WO2016141817A1 (zh) * | 2015-03-06 | 2016-09-15 | 华为技术有限公司 | 数据备份装置及方法 |
CN105938447B (zh) | 2015-03-06 | 2018-12-14 | 华为技术有限公司 | 数据备份装置及方法 |
US20160378344A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Processor and platform assisted nvdimm solution using standard dram and consolidated storage |
US9792190B2 (en) * | 2015-06-26 | 2017-10-17 | Intel Corporation | High performance persistent memory |
WO2017023269A1 (en) | 2015-07-31 | 2017-02-09 | Hewlett Packard Enterprise Development Lp | Prioritizing tasks for copying to nonvolatile memory |
KR102274038B1 (ko) | 2015-08-03 | 2021-07-09 | 삼성전자주식회사 | 백업 기능을 갖는 메모리 모듈 |
US9632715B2 (en) | 2015-08-10 | 2017-04-25 | International Business Machines Corporation | Back-up and restoration of data between volatile and flash memory |
US9710179B2 (en) * | 2015-08-18 | 2017-07-18 | Dell Products L.P. | Systems and methods for persistent memory timing characterization |
US9965289B2 (en) * | 2015-08-21 | 2018-05-08 | Dell Products L.P. | Systems and methods for real-time cache flush measurements in an information handling system |
CN105138432B (zh) * | 2015-08-31 | 2018-12-28 | 深圳市领存技术有限公司 | 一种异常断电时固态硬盘数据快速备份的方法及系统 |
US10241683B2 (en) * | 2015-10-26 | 2019-03-26 | Nxp Usa, Inc. | Non-volatile RAM system |
US10080300B1 (en) | 2015-12-29 | 2018-09-18 | EMC IP Holding Company LLC | Mechanical latch module |
CN107039059B (zh) * | 2016-02-01 | 2022-05-10 | 三星电子株式会社 | 存储器封装,包括其的存储器模块及存储器封装操作方法 |
US10007579B2 (en) * | 2016-03-11 | 2018-06-26 | Microsoft Technology Licensing, Llc | Memory backup management in computing systems |
US10025714B2 (en) * | 2016-09-30 | 2018-07-17 | Super Micro Computer, Inc. | Memory type range register with write-back cache strategy for NVDIMM memory locations |
US11301015B2 (en) * | 2016-12-05 | 2022-04-12 | Agiga Tech Inc. | Multiport energy supply for a nonvolatile memory module |
KR20180094386A (ko) | 2017-02-15 | 2018-08-23 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN106945406B (zh) * | 2017-04-01 | 2018-06-05 | 杭州旗捷科技有限公司 | 耗材芯片的操作方法、耗材芯片、耗材容器、耗材设备 |
US10289551B2 (en) * | 2017-05-11 | 2019-05-14 | Western Digital Technologies, Inc. | Preserving data upon a power shutdown |
CN107168654B (zh) * | 2017-05-26 | 2019-08-13 | 华中科技大学 | 一种基于数据对象热度的异构内存分配方法及系统 |
US10824363B2 (en) | 2017-07-07 | 2020-11-03 | Dell Products, L.P. | System and method of characterization of a system having persistent memory |
US10198353B2 (en) | 2017-07-07 | 2019-02-05 | Dell Products, Lp | Device and method for implementing save operation of persistent memory |
US10768847B2 (en) | 2017-07-07 | 2020-09-08 | Dell Products, L.P. | Persistent memory module and method thereof |
US20190089191A1 (en) * | 2017-09-21 | 2019-03-21 | Hewlett Packard Enterprise Development Lp | Power supply systems for servers |
CN109062822B (zh) * | 2018-07-18 | 2021-09-07 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
WO2020082170A1 (en) * | 2018-10-23 | 2020-04-30 | 2449049 Ontario Inc. | Hybrid power backup storage system |
US10907494B2 (en) * | 2019-04-30 | 2021-02-02 | Rolls-Royce North American Technologies Inc. | Parallel hybrid propulsion system |
CN110729008A (zh) * | 2019-10-11 | 2020-01-24 | 中国电子科技集团公司第五十八研究所 | 一种异步sram控制器及调试方法 |
US11561717B2 (en) | 2020-05-26 | 2023-01-24 | Western Digital Technologies, Inc. | Data integrity protection of SSDs utilizing streams |
US11520523B2 (en) | 2020-05-26 | 2022-12-06 | Western Digital Technologies, Inc. | Data integrity protection of ZNS needs |
US11561739B1 (en) * | 2020-06-01 | 2023-01-24 | Smart Modular Technologies, Inc. | Catastrophic event memory backup system |
US11429479B2 (en) * | 2020-07-16 | 2022-08-30 | Micron Technology, Inc. | Memory device activity-based copying defect management data |
KR20220170664A (ko) * | 2021-06-23 | 2022-12-30 | 에스케이하이닉스 주식회사 | 호스트 장치, 저장 장치 및 그 동작 방법 |
CN113721746A (zh) * | 2021-08-04 | 2021-11-30 | 浙江大华技术股份有限公司 | 一种日志的存储方法及装置 |
EP4235433A1 (en) * | 2022-02-25 | 2023-08-30 | Samsung Electronics Co., Ltd. | Persistent memory with cache coherent interconnect interface |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3916390A (en) * | 1974-12-31 | 1975-10-28 | Ibm | Dynamic memory with non-volatile back-up mode |
GB2256735B (en) | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
US5469046A (en) | 1993-04-30 | 1995-11-21 | North American Philips Corporation | Transformerless low voltage switching power supply |
US5799200A (en) * | 1995-09-28 | 1998-08-25 | Emc Corporation | Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller |
US6295577B1 (en) * | 1998-02-24 | 2001-09-25 | Seagate Technology Llc | Disc storage system having a non-volatile cache to store write data in the event of a power failure |
US6336174B1 (en) * | 1999-08-09 | 2002-01-01 | Maxtor Corporation | Hardware assisted memory backup system and method |
JP2002007000A (ja) * | 2000-06-27 | 2002-01-11 | Toshiba Tec Corp | 電子機器 |
US6473355B2 (en) * | 2000-12-01 | 2002-10-29 | Genatek, Inc. | Apparatus for using volatile memory for long-term storage |
JP4015835B2 (ja) * | 2001-10-17 | 2007-11-28 | 松下電器産業株式会社 | 半導体記憶装置 |
US7165154B2 (en) * | 2002-03-18 | 2007-01-16 | Net Integration Technologies Inc. | System and method for data backup |
US7069401B1 (en) | 2002-09-18 | 2006-06-27 | Veritas Operating Corporating | Management of frozen images |
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 |
US6832389B2 (en) * | 2003-01-31 | 2004-12-21 | Safety Optical Service Co. | Protective sideshield with comfort safety wing |
US6920527B2 (en) * | 2003-02-11 | 2005-07-19 | Standard Microsystems Corporation | Portable RAM drive |
EP1639684A2 (en) | 2003-06-27 | 2006-03-29 | Maxwell Technologies, Inc. | Energy storage system |
CA2540365C (en) | 2004-02-05 | 2016-04-05 | Research In Motion Limited | Memory interface controller |
US7380055B2 (en) * | 2004-06-21 | 2008-05-27 | Dot Hill Systems Corporation | Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time |
US7536506B2 (en) * | 2004-06-21 | 2009-05-19 | Dot Hill Systems Corporation | RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
ATE347731T1 (de) * | 2004-10-04 | 2006-12-15 | Research In Motion Ltd | System und verfahren zum datensichern bei stromausfall |
JP4607608B2 (ja) * | 2005-02-04 | 2011-01-05 | 株式会社東芝 | 半導体集積回路 |
US7493441B2 (en) * | 2005-03-15 | 2009-02-17 | Dot Hill Systems Corporation | Mass storage controller with apparatus and method for extending battery backup time by selectively providing battery power to volatile memory banks not storing critical data |
US7451348B2 (en) * | 2005-08-04 | 2008-11-11 | Dot Hill Systems Corporation | Dynamic write cache size adjustment in raid controller with capacitor backup energy source |
US7487391B2 (en) * | 2005-08-04 | 2009-02-03 | Dot Hill Systems Corporation | Storage controller super capacitor adaptive life monitor |
US7661002B2 (en) * | 2005-08-04 | 2010-02-09 | Dot Hill Systems Corporation | Storage controller super capacitor dynamic voltage throttling |
US20070094132A1 (en) | 2005-10-25 | 2007-04-26 | Waterson Vincent A | System and method for person to person electronic fund transfer using video payphones |
US20070136523A1 (en) * | 2005-12-08 | 2007-06-14 | Bonella Randy M | Advanced dynamic disk memory module special operations |
US7464240B2 (en) * | 2006-05-23 | 2008-12-09 | Data Ram, Inc. | Hybrid solid state disk drive with controller |
US7592775B2 (en) | 2006-05-31 | 2009-09-22 | Aeroflex Plainview, Inc. | Battery balancing including resonant frequency compensation |
US7730268B2 (en) * | 2006-08-18 | 2010-06-01 | Cypress Semiconductor Corporation | Multiprocessor system having an input/output (I/O) bridge circuit for transferring data between volatile and non-volatile memory |
US8041883B2 (en) | 2007-05-09 | 2011-10-18 | Stmicroelectronics S.R.L. | Restoring storage devices based on flash memories and related circuit, system, and method |
US8049470B2 (en) | 2007-06-11 | 2011-11-01 | Smartsynch, Inc. | Apparatus and method for charging super capacitors at limited voltage and/or current values irrespective of temperature |
US7865761B1 (en) | 2007-06-28 | 2011-01-04 | Emc Corporation | Accessing multiple non-volatile semiconductor memory modules in an uneven manner |
US7865679B2 (en) | 2007-07-25 | 2011-01-04 | AgigA Tech Inc., 12700 | Power interrupt recovery in a hybrid memory subsystem |
US7990797B2 (en) | 2009-02-11 | 2011-08-02 | Stec, Inc. | State of health monitored flash backed dram module |
-
2007
- 2007-07-25 US US11/881,346 patent/US8074034B2/en active Active
-
2008
- 2008-07-24 WO PCT/US2008/071051 patent/WO2009015285A1/en active Application Filing
- 2008-07-24 CN CN200880100385.1A patent/CN101960430B/zh active Active
-
2011
- 2011-11-02 US US13/287,898 patent/US8200929B1/en active Active
-
2012
- 2012-05-27 US US13/481,845 patent/US8650363B2/en active Active
- 2012-05-28 US US13/481,896 patent/US8819368B2/en active Active
- 2012-05-28 US US13/481,895 patent/US8812802B2/en active Active
-
2014
- 2014-06-09 US US14/300,121 patent/US9164848B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20130111111A1 (en) | 2013-05-02 |
US9164848B2 (en) | 2015-10-20 |
US8200929B1 (en) | 2012-06-12 |
US8812802B2 (en) | 2014-08-19 |
US8074034B2 (en) | 2011-12-06 |
US20130111109A1 (en) | 2013-05-02 |
US20130111110A1 (en) | 2013-05-02 |
CN101960430A (zh) | 2011-01-26 |
US8819368B2 (en) | 2014-08-26 |
US8650363B2 (en) | 2014-02-11 |
US20140359237A1 (en) | 2014-12-04 |
WO2009015285A1 (en) | 2009-01-29 |
US20090031072A1 (en) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960430B (zh) | 混合非易失性存储器 | |
CN106126439A (zh) | 混合存储子系统中的可变分区 | |
CN104766628B (zh) | 电容节能验证 | |
US7865679B2 (en) | Power interrupt recovery in a hybrid memory subsystem | |
US8200885B2 (en) | Hybrid memory system with backup power source and multiple backup an restore methodology | |
TWI546818B (zh) | 一種具有綠能資料持續模式的裝置驅動器 | |
CN101681312B (zh) | 存储器系统 | |
CN101425041B (zh) | 在nand flash存储器上建立fat文件系统的优化方法 | |
CN102360317B (zh) | 分离和存留控制应用的静态和动态部分的方法 | |
CN103092764A (zh) | 用于获得和使用非易失性存储器健康信息的系统和方法 | |
CN100538657C (zh) | 用于时间敏感复制的装置、系统和方法 | |
JPH06290106A (ja) | 作動可能/使用中マスク・レジスタと作動可能/使用中モード・レジスタを有するフラッシュ・メモリカード | |
CN103154900A (zh) | 编入程序更新方法、编入程序更新程序、电子设备、网络系统 | |
CN112035294B (zh) | 安全日志文件系统及其实现方法和介质 | |
CN107678420B (zh) | 一种发动机数据在线存储方法 | |
WO2010093356A1 (en) | A flash backed dram module | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN101446927A (zh) | 闪存系统及其控制方法 | |
CN104615383A (zh) | 一种基于虚拟磁盘的软件运行方法及装置 | |
CN110609596A (zh) | 数据储存装置的开发系统以及产品化方法 | |
CN101526910A (zh) | 一种BootRom备份方法及装置 | |
CN100481091C (zh) | 快照装置中备份存储器的动态更新方法、模块以及系统 |
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 |