CN102160030B - 对于数据存储的写通信的聚集 - Google Patents

对于数据存储的写通信的聚集 Download PDF

Info

Publication number
CN102160030B
CN102160030B CN200980137190.9A CN200980137190A CN102160030B CN 102160030 B CN102160030 B CN 102160030B CN 200980137190 A CN200980137190 A CN 200980137190A CN 102160030 B CN102160030 B CN 102160030B
Authority
CN
China
Prior art keywords
daily record
write
writing
checkpoint
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200980137190.9A
Other languages
English (en)
Other versions
CN102160030A (zh
Inventor
S·丛
S·布朗代
K·梅拉
D·G·莫斯
W·R·蒂普顿
S·维尔马
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102160030A publication Critical patent/CN102160030A/zh
Application granted granted Critical
Publication of CN102160030B publication Critical patent/CN102160030B/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/221Static RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • G06F2212/2228Battery-backed RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了用于顺序地将数据聚集到包括在随机存储介质的卷内的写日志的方法和处理设备。当接收到的写请求的数据被确定为适于顺序地聚集到写日志时,数据可被写到写日志,并且用于将随机存取介质上的原始预期目的地映射到写日志内一个或多个对应的条目的重映射树可被维护并更新。按时间段,检查点可被写到写日志。检查点可包括描述写日志条目的信息。一个或多个检查点可被用以至少部分地,在脏关闭之后恢复写日志。在多个条件中的一个发生时,写日志的条目被排空到相应的原始预期目的地。

Description

对于数据存储的写通信的聚集
技术领域
本申请涉及对于数据存储的写通信的聚集。
背景技术
当顺序地写数据时,诸如例如盘驱动器和基于闪存的存储等的数据存储是最有效的,而当写随机离散的数据时,该数据存储是效率很低的。此外,当读顺序数据时盘驱动器是最有效的,而当读随机离散的数据时,盘驱动器是效率很低的。典型的现代盘驱动器在盘驱动器寻找盘上的任意位置所花费的时间内能够大约移动700千字节(KB)的数据。随着技术进步,盘驱动器能够在相同的时间段内移动更大的数据量。
大多数数据转移远远小于700KB。结果,盘驱动器在非空闲时间段期间花费大量时间来寻找盘上的位置。
发明内容
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
提供用于顺序地将原始要被写入随机存取介质的卷中的数据聚集到的写日志的处理设备和机器实现的方法。该处理设备可确定数据是否适于写到写日志。如果确定数据适于写到写日志,那么处理设备可顺序地将数据聚集、或写到写日志。否则,数据可被写到原始预期目的地。在多个条件中的至少一个发生时,写日志的条目被排空到原始预期目的地。条件可包括但不限于:写日志处于其中新的日志条目不被允许的状态;关于写日志驻留在其上的随机存取介质的输入或输出活动的缺乏;写日志处于至少第一预定量的满;写日志处于至少第二预定量的满,而不管随机存取介质的输入或输出活动;以及大于预定大小的重映射树。重映射树可将随机存取介质的地址范围映射到写日志的一个或多个条目。
在某些实施例中,可按时间间隔将相应的检查点写到写日志。相应的检查点中的各个检查点包括描述写日志内容的信息,使得重映射树可在脏关闭(dirtyshutdown)后被重建。包括在相应的检查点内的信息可从重映射树的节点中获得。
附图说明
为了描述能够获得上述和其他优点和特征的方式,以下将描述并通过参考附图中示出的各具体实施例来呈现更为具体的描述。可以理解,这些附图仅描述各典型实施例,从而不被认为是对其范围的限制,将通过使用附图用附加特征和细节来描述和说明各个实现。
图1是示出可用于实现与本发明主题相一致的各实施例的示例性处理设备的功能框图。
图2示出了与本发明的主题相一致的各实施例的用于存储写日志的示例性循环存储。
图3示出了在随机存取介质的卷中的示例性写日志。
图4示出了在图3中显示的示例性写日志更详细的视图。
图5示出了与本发明的主题相一致的重映射树的示例性结构。
图6示出了重写存储在随机存取介质中的数据的影响,所述数据被映射到写日志的一个条目。
图7和图8是示出了用于处理对于写到随机存取介质的接收到的写请求、关于写到写日志的完成写的指示的示例性过程的流程图。
图9示出了在写日志中的示例性条目以及条目的转储清除。
图10和图11是示出了用于跟踪写日志的被转储清除的条目的示例性过程的流程图。
图12是用于写到写日志以及基于写日志变得有多满来改变写日志状态的示例性过程的流程图。
图13是用于确定是否排空写日志的示例性过程的流程图。
图14-16是用于生成排空写计划以有效地将写日志排空到随机存取介质的示例性过程的流程图。
图17是用于按规则的时间段来将检查点写到写日志的示例性过程的流程图。
图18是用于在脏关闭后恢复写日志的示例性过程的流程图。
具体实施方式
以下详细讨论各实施例。尽管讨论各个具体实现,但应当理解,这仅是出于说明的目的。相关领域的技术人员将认识到,可以使用其他组件和配置而不背离本发明的主题的精神和范围。
概览
提供了用于接收对诸如例如盘、基于闪存的存储、或其他随机存取介质等的随机存取介质写的请求的方法和系统。然后可分析该对于写的请求以确定该请求是否适于向写日志顺序地聚集。当请求是针对向随机存储介质写小于预定量的数据时,该请求被确定为适于向写日志顺序地聚集。在某些请求写的实施例中,对于随机存取介质,小于700KB的可调节阈值数据量可被确定为适于向写日志顺序地聚集。
写日志可驻留在随机存取介质的与原始预期目的地相同的卷内、驻留在随机存储介质的与原始预期目的地不同的卷内、或驻留在与原始预期目的地不同的随机存取介质的不同卷内。写日志可包括多个条目,各个条目具有描述相应条目的元数据以及对应的载荷数据。当将数据写到随机存取介质的请求被确定为适于写到写日志时,数据可被添加到写日志的末尾。重映射树可将写日志外部的随机存取介质的位置映射到写日志对应的条目,并且反之亦然。
排空是将写日志中的条目移动到随机存储介质的卷的预期目的地的过程。在多个条件下,写日志可被排空到随机存储介质的预期目的地。例如,在某些实施例中,条件可包括:写日志处于其中对于写日志的新条目不被允许的状态;写日志大于第一预定量的满;没有关于随机存取介质的输入/输出活动以及写日志大于第二预定量的满,其中第二预定量小于第一预定量;以及重映射树大于第三预定大小。在排空期间,邻近的写可被合并成单个排空写并且排空写可被排序以最小化寻找时间。
在某些实施例中,可按可调节时间间隔将检查点写到写日志。检查点可包括概括写日志内容的信息。脏关闭可以是非预期的关闭或系统故障。在脏关闭或系统的正常关闭后,包括在被写到写日志的最后检查点中的信息可被用以通过重建重映射树来从脏关闭或正常关闭中恢复。
示例性处理设备
图1是示出可用于实现与本发明的主题相一致的各实施例的示例性处理设备100的功能框图。处理设备100可以是台式个人计算机(PC)、笔记本或膝上型PC、服务器、或其它处理设备。处理设备100可包括总线110、存储器130、只读存储器(ROM)140、处理器120以及存储设备150。总线110可以准许处理设备100的各组件之间的通信。
处理器120可以包括解释和执行指令的至少一个常规处理器或微处理器。存储器130可以是随机存取存储器(RAM)或存储供处理器120执行的信息和指令的另一种类型的动态存储设备。存储器130还可以存储在处理器120执行指令期间使用的临时变量或其他中间信息。ROM 140可以包括常规ROM设备或为处理器120存储静态信息和指令的另一种类型的静态存储设备。存储设备150可包括硬盘以及对应的驱动器、基于闪存的存储设备、或用于存储用于处理器120的数据和/或指令的其他类型的随机存取数据存储设备或介质。
处理设备100可响应于处理器120执行诸如例如存储器130、ROM 140、存储设备150或其他介质等有形机器可读介质中所包含的指令序列来执行这些功能。这些指令可从另一机器可读介质或经由通信接口(未示出)从单独的设备读入存储器130中。
写日志
在与本发明的主题相一致的实施例中,用于顺序地聚集旨在用于随机存储介质的写的写日志可以是诸如例如盘或其他随机存储介质等的随机存储介质内的循环存储区域。图2示出了示例性写日志200。写日志200可包括多个条目,包括开始条目202和结束条目204。开始条目202可以是写日志200最旧的条目,而结束条目204可以是写日志200最新的条目。即,新的条目被附加到写日志200的结束条目204后,并且结束条目204可被更新以对应于最新的附加的条目。
图3示出了与本发明的主题相一致的可存储在随机存储介质300上的示例性结构。随机存储介质300可包括块存储结构302以及记录在随机存取介质300上的写日志304。块存储结构302可包括关于随机存储介质300不被文件系统使用的区域的信息。该区域可对应于为写日志304顺序地聚集旨在用于随机存储介质300的卷的数据而保留的区域。在某些实施例中,写日志304可被包括在随机存储介质300的与原始预期目的地不同的卷中,或被包括在不同的随机存储介质的不同的卷中。
写日志304可包括第一控制区域306和第二控制区域308,其可分别位于写日志304的开始和结束处。第一和第二控制区域可包括关于写日志304的信息,该信息包括但不限于,关于写日志304的开始条目的信息以及关于包装日志304的物理结束的信息。在某些实施例中,关于开始条目的信息可包括写日志304的开始日志序列号(LSN),并且关于写日志304的物理结束的信息可包括包装LSN。某些实施例可包括诸如关于第一控制区域306和第二控制区域308内最后的检查点的位置的指针或其他信息等的信息。
写日志304的各个条目对应于一LSN。LSN可包括包装计数部分和偏移部分。包装计数部分可以是发生包装回写日志304的物理开始处的次数。偏移部分可以是扇区内或某些其他测量单位内离开写日志304的物理开始处的偏移。包装LSN可以是以其包装到写日志304的物理开始处并且可发生包装计数的增加的LSN。例如,如果包装LSN是<包装计数>.400,其中400是离开写日志304的物理开始处的偏移,那么当达到当前的LSN时,例如,2.400,发生到写日志304的物理开始处的包装并且当前的LSN可变为3.0。
写日志304可以包括多个条目。如图4中示出的,各个条目可包括条目元数据402以及条目载荷数据404。条目元数据402可包括关于相应的条目的信息。例如,条目元数据402可包括关于相应的条目大小的信息、和随机存储介质300的卷内的预期目的地的逻辑块地址(LBA)以及不同的或其他信息。此外,条目元数据402可包括校验和或指示相应的条目是否是有效的其他数据。在某些实施例中,条目元数据402以及条目载荷数据404可以是扇区对齐的。
重映射树可被维护在诸如例如存储器或RAM等的动态存储中。重映射树可将诸如例如随机存储介质的卷中的LBA等的预期目的地映射到写日志中的条目,并且反之亦然。重映射树可被结构化为AVL树。AVL树是自平衡二叉搜索树,其中任一节点的子子树高度上的不同不超过一。
图5示出了示例性重映射树。如可在示例性重映射树中看到的,所有子子树的高度与开始于相同分层的其他子子树的高度上的不同不超过一。当然,在其他实施例中,重映射树可以是不同的数据结构。重映射树的各个节点可包括诸如例如预期目的地的LBA、写日志内对应的LSN等的信息、描述条目类别的信息、以及其他或不同的信息。
如果随机存储介质的LBA被写了两次,那么第二写使第一写无效。类似地,如果对于LBA的第一写被重定向到写日志并且对于LBA的第二写也被重定向到写日志,那么写日志内对应于第一写的条目可由写日志内对应于第二写的条目取代。这也可被称为内部重写。
然而,如果第一写被重定向到写日志的同时第二写被直接写到随机存储介质的卷内的LBA,那么写日志内对应于第一写的条目不再有效。指示对应于第一写的条目不再有效的无效记录可被附加到写日志。
图6示出了随机存储介质的卷600。写日志602可被包括在卷600中。第一写可被重定向到写日志602并被记录为写日志602的条目604。第一写可具有对应于卷600内的目的地608的预期目的地。第二写606可被直接写到目的地608。由此,条目604现在是无效的。无效记录610可被附加到写日志602以指示条目604现在是无效的。稍后,当写日志602的条目要被排空到卷600的相应的预期目的地时,条目604不被排空到目的地608,因为这么做将重写目的地608并且损环目的地608的内容。相反,条目604仅被丢弃。
示例性处理
图7是示出用于确定接收到的写请求是否适合于顺序地聚集到写日志,并且如果是,则将写请求重定向到写日志的示例性过程的流程图。该过程可开始于处理设备确定接收到的写请求是否适于顺序地聚集到写日志(动作704)。
图8是示出用于执行图7的动作704的一个示例性过程的流程图。过程可开始于处理设备确定接收到的写请求是否是用于流的(动作802;图8)。处理设备可通过监视读和写请求的卷偏移以确定读和写模式是否是顺序的来检测流。如果读和写模式被确定为顺序的,那么处理设备检测到了流并且不将流转向写日志。如果检测到流,处理设备可指示接收到的写请求不适于重定向到写日志(动作808)并且过程可结束。
如果在动作802,处理设备确定接收到的写请求不用于流,那么处理设备可确定要被写的数据或数据集是否小于预定的大小,诸如700KB或另一大小(动作804)。如果数据或数据集不小于预定的大小,那么处理设备可指示写请求不适于重定向到写日志(动作808)并且过程结束。
如果在动作804,处理设备确定要被写的数据或数据集小于预定的大小,那么处理设备可指示写请求适于重定向到写日志(动作806)。随后该过程可以完成。
返回到图7,如果在动作704处理设备确定写请求适于顺序地聚集到写日志,那么处理设备可确定写日志的状态是否是仅仅无效的,指示仅仅无效记录可被写到写日志(动作706)。如果写日志的状态不是仅仅无效的,那么处理设备将数据或数据集写入到写日志的条目(动作708)。
如果对于写日志的写成功地完成,那么处理设备可更新将随机存储介质的卷内的预期目的地映射到写日志内的条目的重映射树(动作716)。
如果在动作704,处理设备确定要被写的数据或数据集不适于顺序地聚集到写日志,那么数据或数据集可被写到随机存储介质的卷内的预期目的地(动作710)。处理设备可接着通过参考重映射树来确定预期目的地的任意LBA是否对应于写日志的一个或多个条目(动作712)。如果预期目的地的任意LBA对应于写日志的一个或多个条目,那么一个或多个无效记录可被附加到写日志以指示对应于写日志的一个或多个条目的预期目的地的无效(动作714)。
对于写日志的写可被无序地完成。例如,图9示出了写日志的条目以及各个条目相应的LSN。打上阴影的条目对应于不具有待决写的条目(即,用于条目的对于写日志的相应的写已经完成)未打上阴影的条目对应于具有待决写的条目。因此,根据图9,由LSN 0.256指示的条目具有待决的写。
被转储清除的LSN是对应于写日志的条目的LSN,使得在该对应条目之前的写日志的所有条目不具有待决写。开始LSN是对应于要被考虑用于排空或要被包括在检查点内的写日志的第一条目的LSN。均在以下讨论的写日志的排空以及检查点的创建可不考虑超过被转储清除的LSN的条目。转储清除LSN是对应于用于转储清除的目标条目的LSN。结束LSN是对应于写日志的逻辑结束的LSN。
图10和图11是示出了用于跟踪写日志内的被转储清除的LSN的示例性过程的流程图。过程可开始于处理器设备在发生对于日志的任何写之前,将转储清除LSN初始化为结束LSN(动作1002),并将被转储清除的LSN初始化为开始LSN(动作1004)。当前的转储清除计数可以是在转储清除LSN之前的发出的对于写日志的未完成的写的数量。当前的转储清除计数可被初始化为0(动作1006)。下一转储清除计数可以是在转储清除LSN之后的发出的对于写日志的未完成的写的数量。下一转储清除计数可被初始化为0(动作1008)。
接着,可接收到关于对于写日志的写的写完成(动作1010)。处理设备可确定写完成是否用于在转储清除LSN之前的写日志条目(动作1012)。如果不是,那么处理设备可递减下一转储清除计数,其可指示关于在转储清除LSN之后的条目的待决写的数量。处理设备然后可重复动作1010-1012。
如果在动作1012,处理设备确定写完成是用于在对应于转储清除LSN的条目之前的写日志条目,那么处理设备可递减当前的转储清除计数(动作1016)。
处理设备可接着确定当前的转储清除计数是否等于0,其指示在对应于转储清除LSN的条目之前的所有写日志条目完成(动作1102;图11)。如果当前的转储清除计数等于0,那么处理设备可将被转储清除的LSN设为转储清除LSN(动作1104)。处理设备可接着将转储清除LSN设为等于结束LSN(动作1106)。或者,处理设备可将转储清除LSN设为等于不是结束LSN的LSN,诸如例如,对应于在被转储清除的LSN之后不大于预定数量的条目的LSN。处理设备可接着将当前的转储清除计数设为等于下一转储清除计数(动作1108)。下一转储清除计数可被设为0(动作1110)。或者,如果转储清除LSN被设为不是结束LSN的LSN,那么下一转储清除计数可被设为指示在对应于转储清除LSN的条目之前的条目的待决写的数量的值。处理设备可再次执行动作1010(图10)。
图12是用于写到写日志的示例性过程的流程图。过程可开始于处理设备发出对写日志在对应于结束LSN的条目处写的写请求(动作1202)。接着,转储清除计数可被递增(动作1204)并且结束LSN可被更新(动作1206)。处理设备接着确定写日志是否大于预定量的满或重映射树是否大于预定的大小(动作1208)。如果是,那么写日志的状态可被设为禁用(动作1210)。如果写日志不大于预定量的满,那么写日志的状态可被设为启用,这样,包括无效记录以及其他类型的条目可被添加到写日志(动作1212)。
图13是用于开始写日志的排空的示例性过程的流程图。过程可开始于处理设备确定处理设备是否运行在电池电源上(动作1302)。如果是,为了节省电力,可不执行排空并且过程可结束。
如果在动作1302,处理设备确定处理设备没有运行在电池电源上,那么处理设备可确定写日志的状态是否是仅仅无效或禁用的(动作1304)。如果写日志的状态是仅仅无效或被禁用的,那么处理设备可将写日志排空到随机存储介质的预期目的地(动作1314)。
如果在动作1304,处理设备确定写日志的状态不是仅仅无效或不是被禁用的,那么处理设备可确定写日志是否大于第一预定量的满(动作1308)。在某些实施例中,第一预定量的满可以是67%的满。在其他实施例中,第一预定量的满可以另一合适的值。如果写日志大于第一预定量的满,那么处理设备可排空写日志(动作1314)。
如果写日志不大于第一预定量的满,那么处理设备可确定是否不存在关于随机存取介质的输入/输出以及写日志是否大于第二预定量的满,使得第二预定量的满小于第一预定量的满(动作1310)。如果处理设备确定不存在关于随机存取介质的输入/输出并且写日志大于第二预定量的满,那么处理设备可排空写日志(动作1314)。
如果处理设备确定存在关于随机存取介质的输入/输出活动或者写日志不大于第二预定量的满,那么处理设备可确定重映射树是否大于第三预定大小(动作1312)。如果重映射树大于第三预定大小,那么处理设备可排空写日志(动作1314)。
图14-16是示出与本发明主题相一致的实施例中的用于排空写日志的示例性过程的流程图。过程可开始于处理设备扫描对应于写日志条目的重映射树的要排空的节点集(动作1402)。处理设备可接着确定在写日志开始处的记录是否已经被无效(动作1404)。如果在写日志开始处的记录已经被无效,那么处理设备可将开始LSN提前到重映射树内没有被无效的最低的LSN(动作1406)。
处理设备可接着读取重映射树的多个节点(例如,20个节点或另一合适数量的节点)并且可生成排空写计划(动作1408)。只有对应于在被转储清除的LSN之前的LSN的写日志的条目被排空。处理设备可接着确定排空写是否与活动的卷写重叠(动作1410)。当排空写和活动的卷写是对于随机存储介质的至少一个相同的LBA时,排空写与活动的卷写重叠。当检测到重叠时,处理设备可等待卷写完成(动作1412)并且处理设备可通过重新执行动作1402再次开始过程。
如果在动作1410,处理设备确定排空写不与活动的卷写重叠,那么处理设备可将邻近的排空写合并到单个排空写以减少关于随机存取介质的输入和输出(动作1502;图15)。处理设备可接着按卷偏移依序执行排空写以最小化寻找时间(动作1504)。在完成排空写后,处理设备可更新开始LSN和重映射树(动作1506)。
接着,处理设备可确定排空是否是因为写日志被禁用而发生的(动作1508)。如果是,那么处理设备可确定写日志是否是空的(动作1510)。如果写日志是空的,那么过程可结束。否则,处理设备可再次执行动作1402。
如果在动作1508,处理设备确定排空不是由于写日志被禁用而发生,那么处理设备可确定排空是否是因为没有关于随机存取介质的输入/输出活动而发生(动作1512)。如果是,处理设备可确定除了涉及写日志的排空的活动,是否还有关于随机存取介质的任何输入/输出活动(动作1514)。如果是,那么过程结束。否则,处理设备可确定写日志是否是相对空的(动作1516)。当写日志小于预定量的满时,诸如例如,10%或另一合适的值,写日志可被确定为相对空的。
如果在步骤1516,处理设备确定写日志不是相对空时,那么处理设备可再次执行动作1402(图14)。
如果在步骤1512,处理设备确定排空不是由于没有关于随机存取介质的输入/输出活动而发生,那么处理设备可确定重映射树的大小是否小于预定量(动作1602;图16)。如果是,那么过程可结束。否则,处理设备可再次执行动作1402(图14)。
图17是用于将检查点写到写日志的示例性过程的流程图。检查点可包括按时间间隔的描述写日志的所有条目的信息。完整的检查点可以是大的。写大量的数据可减缓处理设备并可在检查点的写期间负面地影响用户的体验。在某些实施例中,完整的检查点可被划分成一组较小的递增检查点。各个递增检查点可指向先前的递增检查点。遍历先前的递增检查点可实际上提供对应于完整的检查点的信息。先前检查点的遍历在对应于开始LSN的写日志条目处结束,因为在对应于开始LSN的写日志条目之前不存在写日志条目。在链接的检查点列表内只有一个节点的情况下,完整的检查点可等同于递增检查点。在以下上下文中,由于完整的检查点可被视为递增检查点的特殊情况,检查点指代递增检查点。
过程可开始于处理设备等待合适的时刻来将检查点写到写日志,检查点描述在被转储清除的LSN之前、先前的检查点之后的日志范围(动作1702)。例如,可基于自先前检查点以来没有检查点的写日志空间、是否启动关闭、在没有检查点的写日志空间内存在的坏扇区、或其他条件来确定合适的时刻。接着,处理设备可扫描重映射树,该重映射树将随机存取介质的卷的LBA映射到写日志内的条目(动作1704)。处理设备可接着创建概括重映射树的检查点,可将该检查点写到写日志的对应于结束LSN的条目,并可更新结束LSN(动作1706)。处理设备然后可重复动作1702-1706。注意的是,只有关于在被转储清除的LSN之前的写日志的条目的信息才被记录在检查点内。
脏关闭可以是非预期的关闭或系统崩溃。图18是用于从脏关闭恢复的示例性过程的流程图。在某些实施例中,可以以对待脏关闭相同的方式对待正常关闭,除了可在正常系统关闭之前写检查点以最小化要在重新启动之后扫描的日志空间量之外。
过程可开始于处理设备从写日志的第一控制区域或第二控制区域获得开始LSN,并确定开始LSN是否是有效的(动作1802)。处理设备可通过读取对应于开始LSN的写日志条目以及确定该写日志条目的校验和是否是有效的、通过检查该写日志条目的另一字段是否有期望的值或预期的值、或通过其他方式来确定开始LSN是否是有效的。如果开始LSN被确定为不是有效的,那么写日志可被考虑为不可恢复的并且可提供针对该影响的通知(动作1804)。
如果开始LSN被确定为有效的,那么处理设备可确定在写日志中是否存在任何检查点(动作1806)。在某些实施例中,对于最后的检查点的指针可被存储在写日志的第一控制区域以及第二控制区域。在这样的实施例中,可获得该指针并且可读取并验证检查点链的最后的检查点。在其他实施例中,处理设备可从对应于开始LSN的条目开始扫描写日志以搜索检查点条目,直到没有找到写日志的其他有效条目。
如果在写日志内存在至少一个检查点,那么处理设备可寻找写日志内检查点链的最后的检查点(动作1808)。处理设备可接着通过遍历所有检查点直到找到对应于开始LSN的写日志条目来基于检查点链重建重映射树。(动作1810)。扫描LSN接着可被设为对应于没有被任何检查点描述的第一写日志条目(动作1811)。
如果在动作1806,处理设备确定写日志内不存在检查点,那么处理设备可将扫描LSN设为开始LSN(动作1820)。在执行动作1810或动作1820后,处理设备可接着读取在对应于扫描LSN的条目之后的下一有效条目(动作1812)。在某些实施例中,写日志的一个或多个无效条目可在写日志的有效条目之间存在。处理设备可接着确定是否找到有效条目(动作1814)。如果找到有效条目,那么处理设备可更新重映射树(动作1816)并可再次执行动作1812-1814。如果在动作1814,处理设备确定没有找到写日志的有效条目,那么处理设备可将结束LSN设为对应于最后找到的写日志的有效条目(动作1818)。随后该过程可以完成。
结论
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
虽然以上描述可能包含具体细节,但决不应将其解释为是对权利要求的限制。所述各实施例的其他配置也是本发明的范围的一部分。此外,根据本发明的主题的各个实现可以具有参考图7、8以及10-18比所描述的更多或更少动作,或者可以按与所示出的顺序不同的顺序来实现各个动作。因此,附权利要求书及其合法的等效技术方案定义本发明,而非任何给出的具体示例。

Claims (26)

1.一种用于顺序地聚集在随机存储介质上的写日志内的数据集的机器实现的方法,所述机器实现的方法包括:
确定所述数据集是否适于顺序聚集到所述写日志;
当确定所述数据集适于顺序聚集时,顺序地将所述数据集写到所述写日志,而不是写到所述随机存取介质上的预期目的地;
维护将所述写日志内的条目映射到所述随机存取介质的卷内的预期目的地的逻辑块地址的重映射树;
在检测到多个条件中的任意一个时,将所述写日志的条目排空到所述随机存取介质上相应的预期目的地,所述多个条件包括:所述写日志的禁用、关于所述随机存取介质的输入/输出活动的缺乏以及所述写日志大于第一预定量的满、所述写日志是至少第二预定量的满而不管关于所述随机存取介质的输入/输出活动、所述第二预定量大于所述第一预定量以及所述重映射树大于第三预定大小。
2.如权利要求1所述的机器实现的方法,其中确定所述数据聚是否适于顺序聚集到所述写日志进一步包括:
确定所述数据集是否小于预定大小;以及
当确定所述数据集小于预定大小时,确定所述数据集适于顺序聚集到所述写日志。
3.如权利要求1所述的机器实现的方法,其特征在于,还包括:
在特定时间将相应的完整的检查点或相应的递增检查点写到所述写日志,各个相应的完整检查点或各个相应的递增检查点包括描述所述写日志内容的信息。
4.如权利要求1所述的机器实现的方法,其特征在于,还包括:
在脏关闭后恢复所述写日志,所述恢复进一步包括:
确定是否至少一个检查点被包括在所述写日志中,至少一个检查点中的各个检查点包括描述所述写日志内容的信息;
当确定至少一个检查点被包括在所述写日志中,寻找所述写日志内最后的检查点;
至少部分地基于所述最后的检查点来重建所述重映射树;
从所述写日志中读取对应于不具有被包括在任意检查点内的对应信息的所述写日志的第一条目的条目,直到没有找到所述写日志其他有效的条目;
当找到所述写日志的有效条目时,更新所述重映射树;以及
基于最后找到的所述写日志的有效条目,设置所述写日志的结束日志序列号。
5.如权利要求4所述的机器实现的方法,其中当对于是否至少一个检查点被包括在所述写日志内的确定是确定没有检查点被包括在所述写日志内,所述写日志的恢复进一步包括:
从所述写日志的开始处读取所述写日志,直到没有找到所述写日志其他的有效条目;以及
基于所述写日志的找到的有效条目,更新所述重映射树。
6.如权利要求1所述的机器实现的方法,其特征在于,还包括:
将无效记录写到所述写日志的至少一个条目,所述无效记录指示所述写日志的所述至少一个条目是无效的,其中,
所述写日志的无效条目不被排空到所述随机存取介质上相应的预期目的地。
7.如权利要求1所述的机器实现的方法,其中所述写日志被包括在所述随机存取介质的所述卷内、所述随机存取介质不同的卷内、或不同的随机存取介质的不同卷内。
8.一种用于顺序地聚集驻留在盘上的写日志内的数据集的机器实现的方法,所述机器实现的方法包括:
当数据集的大小小于预定大小时,确定所述数据集是否适于顺序地写到所述写日志;
当确定所述数据集适于顺序写时,顺序地将所述数据集写到所述写日志,而不是写到所述盘上的预期目的地;
维护用于在所述写日志内的条目与所述盘的卷内的预期目的地的逻辑块地址之间映射的重映射树,以及
当检测到关于所述盘的输入/输出活动的缺乏以及所述写日志是至少预定量的满时,将所述写日志排空到所述盘上相应的预期目的地。
9.如权利要求8所述的机器实现的方法,其特征在于,还包括:
将无效记录写到所述写日志,所述无效记录指示用于所述写日志的一个或多个条目的所述盘的逻辑块地址是无效的。
10.如权利要求9所述的机器实现的方法,其特征在于,还包括:
仅仅将所述写日志条目的未被无效的条目排空到所述盘上相应的预期目的地。
11.如权利要求8所述的机器实现的方法,其中所述重映射树是avl树。
12.如权利要求8所述的机器实现的方法,其特征在于,还包括:
按时间间隔将相应的完整的检查点或相应的递增检查点写到所述写日志,各个相应的完整检查点或相应的递增检查点包括描述在各个相应的完整检查点或相应的递增检查点被写时刻的所述写日志内容的信息。
13.如权利要求8所述的机器实现的方法,其特征在于,还包括:
确定脏关闭后是否至少一个检查点被包括在所述写日志中;
当确定至少一个检查点被包括在所述写日志中,寻找所述写日志内最后的检查点;
至少部分地基于所述最后的检查点来重建所述重映射树;
从所述写日志中读取对应于不具有被包括在任意检查点内的信息的所述写日志的第一条目的条目,直到没有找到所述写日志其他有效的条目;以及
在找到所述写日志的有效条目后,更新所述重映射树。
14.一种机器实现的方法,所述方法包括:
确定预期要被写到基于闪存的存储设备或盘的数据是否适于被顺序地写到包括在所述基于闪存的存储设备或所述盘的卷中的写日志;
当所述数据被确定为适于被顺序地写到所述写日志时,将所述数据顺序地写到所述写日志;
维护用于在所述写日志内的条目与所述基于闪存的存储设备或所述盘的逻辑块地址之间映射的重映射树;以及
当检测到多个条件中的至少一个时,将所述写日志的条目排空到所述基于闪存的存储设备上相应的预期目的地,所述多个条件包括,作为所述多个条件之一,所述重映射树大于预定大小。
15.如权利要求14所述的机器实现的方法,其特征在于,所述多个条件还包括:
所述写日志的禁用;
关于所述基于闪存的存储设备或所述盘的输入/输出活动的缺乏以及所述写日志大于第二预定量的满,以及
所述写日志是至少第三预定量的满而不管关于所述基于闪存的存储设备或所述盘的输入/输出活动,所述第三预定量大于所述第二预定量。
16.如权利要求14所述的机器实现的方法,其特征在于,还包括:
将检查点写到所述写日志,所述检查点的内容描述所述写日志的内容。
17.如权利要求16所述的机器实现的方法,其特征在于,所述方法还包括:
在关闭后,至少部分地基于所述检查点来恢复所述重映射树。
18.如权利要求17所述的机器实现的方法,其特征在于,所述恢复所述重映射树还包括:
从对应于不具有被包括在所述检查点内的对应信息的所述写日志的第一条目的条目开始,从所述写日志读取所述写日志的下一有效的条目,以及
基于所述写日志的所述下一有效的条目,更新所述重映射树。
19.如权利要求14所述的机器实现的方法,其特征在于,所述方法还包括:
将无效记录写到所述写日志,所述无效记录指示对应于所述写日志的至少一个条目的所述基于闪存的存储设备或所述盘的逻辑块地址是无效的,以及
不将所述写日志的被无效的条目排空到所述基于闪存的存储设备或所述盘上的预期目的地。
20.如权利要求14所述的机器实现的方法,其特征在于,还包括:
确定预期要被写到所述基于闪存的存储设备或所述盘的数据是否被包括在流中;以及
当确定所述数据被包括在流中时,确定所述数据不适于被写到所述写日志。
21.一种用于顺序地聚集驻留在盘上的写日志内的数据集的系统,所述系统包括:
用于当数据集的大小小于预定大小时,确定所述数据集是否适于顺序地写到所述写日志的的装置;
用于当确定所述数据集适于顺序写时,顺序地将所述数据集写到所述写日志,而不是写到所述盘上的预期目的地的装置;
用于维护用于在所述写日志内的条目与所述盘的卷内的预期目的地的逻辑块地址之间映射的重映射树的装置,以及
用于当检测到关于所述盘的输入/输出活动的缺乏以及所述写日志是至少预定量的满时,将所述写日志排空到所述盘上相应的预期目的地的装置。
22.如权利要求21所述的系统,其特征在于,还包括:
用于将无效记录写到所述写日志的装置,所述无效记录指示用于所述写日志的一个或多个条目的所述盘的逻辑块地址是无效的。
23.如权利要求22所述的系统,其特征在于,还包括:
用于仅仅将所述写日志条目的未被无效的条目排空到所述盘上相应的预期目的地的装置。
24.如权利要求21所述的系统,其中所述重映射树是avl树。
25.如权利要求21所述的系统,其特征在于,还包括:
用于按时间间隔将相应的完整的检查点或相应的递增检查点写到所述写日志的装置,各个相应的完整检查点或相应的递增检查点包括描述在各个相应的完整检查点或相应的递增检查点被写时刻的所述写日志内容的信息。
26.如权利要求21所述的系统,其特征在于,还包括:
用于确定脏关闭后是否至少一个检查点被包括在所述写日志中的装置;
用于当确定至少一个检查点被包括在所述写日志中,寻找所述写日志内最后的检查点的装置;
用于至少部分地基于所述最后的检查点来重建所述重映射树的装置;
用于从所述写日志中读取对应于不具有被包括在任意检查点内的信息的所述写日志的第一条目的条目,直到没有找到所述写日志其他有效的条目的装置;以及
用于在找到所述写日志的有效条目后,更新所述重映射树的装置。
CN200980137190.9A 2008-09-19 2009-08-27 对于数据存储的写通信的聚集 Active CN102160030B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/234,411 US7953774B2 (en) 2008-09-19 2008-09-19 Aggregation of write traffic to a data store
US12/234,411 2008-09-19
PCT/US2009/055198 WO2010033365A1 (en) 2008-09-19 2009-08-27 Aggregation of write traffic to a data store

Publications (2)

Publication Number Publication Date
CN102160030A CN102160030A (zh) 2011-08-17
CN102160030B true CN102160030B (zh) 2014-02-12

Family

ID=42039811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980137190.9A Active CN102160030B (zh) 2008-09-19 2009-08-27 对于数据存储的写通信的聚集

Country Status (5)

Country Link
US (5) US7953774B2 (zh)
EP (1) EP2329361B1 (zh)
JP (1) JP5301670B2 (zh)
CN (1) CN102160030B (zh)
WO (1) WO2010033365A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) * 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US9229970B2 (en) * 2009-12-07 2016-01-05 International Business Machines Corporation Methods to minimize communication in a cluster database system
US10387331B2 (en) * 2012-06-05 2019-08-20 Vmware, Inc. Process for maintaining data write ordering through a cache
US9448927B1 (en) 2012-12-19 2016-09-20 Springpath, Inc. System and methods for removing obsolete data in a distributed system of hybrid storage and compute nodes
US20140215127A1 (en) * 2013-01-31 2014-07-31 Oracle International Corporation Apparatus, system, and method for adaptive intent logging
EP3086234A4 (en) * 2013-12-17 2017-10-25 Nec Corporation Write information storage device, method, and recording medium
US9965196B2 (en) 2014-10-20 2018-05-08 Netapp, Inc. Resource reservation for storage system metadata updates
US10268410B2 (en) 2014-10-20 2019-04-23 Netapp, Inc. Efficient modification of storage system metadata
US9811456B2 (en) * 2014-11-26 2017-11-07 Advanced Micro Devices, Inc. Reliable wear-leveling for non-volatile memory and method therefor
US9594513B1 (en) * 2015-06-29 2017-03-14 EMC IP Holding Company LLC Data storage system with file system stream detection
US9471438B1 (en) 2015-12-08 2016-10-18 International Business Machines Corporation Adaptive incremental checkpointing for data stream processing applications
US11169707B2 (en) 2016-01-22 2021-11-09 Netapp, Inc. Garbage collection pacing in a storage system
US20170286311A1 (en) * 2016-04-01 2017-10-05 Dale J. Juenemann Repetitive address indirection in a memory
US10838630B2 (en) * 2016-04-18 2020-11-17 Netapp, Inc. Write-ahead log maintenance and recovery
WO2017203093A1 (en) * 2016-05-25 2017-11-30 Nokia Technologies Oy Method, device and system for utilizing block chain to define trusted circle
US10733045B2 (en) * 2016-07-14 2020-08-04 Microsoft Technology Licensing, Llc Online repair of metadata for structured data including file systems
US11003542B1 (en) * 2017-04-28 2021-05-11 EMC IP Holding Company LLC Online consistent system checkpoint
CN107562642B (zh) * 2017-07-21 2020-03-20 华为技术有限公司 检查点淘汰方法和装置
CN112925473B (zh) * 2019-12-06 2024-06-04 阿里巴巴集团控股有限公司 数据存储方法、装置、设备及存储介质
US11847048B2 (en) * 2020-09-24 2023-12-19 Advanced Micro Devices, Inc. Method and apparatus for providing persistence to remote non-volatile memory
CN116483284B (zh) * 2023-05-12 2024-05-28 深圳天融信创新科技有限公司 一种读写虚拟硬盘的方法、装置、介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297258A (en) * 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
US5996054A (en) * 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
US20070208910A1 (en) * 2006-03-03 2007-09-06 Hitachi, Ltd. Storage device and control method for the same

Family Cites Families (418)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3138125A (en) 1961-05-01 1964-06-23 Allis Chalmers Mfg Co Wheel track planter
SU737952A1 (ru) 1978-01-20 1980-05-30 Предприятие П/Я А-3162 Устройство управлени буферной пам тью
JPS57161933A (en) 1981-03-31 1982-10-05 Fujitsu Ltd Automatic program editing system
US4476526A (en) 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4612612A (en) 1983-08-30 1986-09-16 Amdahl Corporation Virtually addressed cache
JPS60140466A (ja) 1983-12-28 1985-07-25 Toshiba Corp 画像検索装置
JPH06100981B2 (ja) 1983-12-28 1994-12-12 株式会社日立製作所 記憶階層制御方式
US4671111A (en) * 1984-10-12 1987-06-09 Lemelson Jerome H Vehicle performance monitor and method
US4979108A (en) 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
JPH0635802Y2 (ja) 1986-02-28 1994-09-21 池田物産株式会社 車輌用成形天井におけるブラケットの取付機構
JPS62247853A (ja) 1986-04-22 1987-10-28 Mazda Motor Corp 二液ミキシング塗装装置
JPS63201127A (ja) 1987-02-17 1988-08-19 Otsuka Pharmaceut Co Ltd 5−フルオロウラシル誘導体を含有する制癌剤
US4972316A (en) 1987-03-30 1990-11-20 International Business Machines Corporation Method of handling disk sector errors in DASD cache
JPH0239256Y2 (zh) 1988-02-29 1990-10-22
US4945474A (en) 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
JPH01303547A (ja) 1988-05-31 1989-12-07 Toshiba Corp 情報記憶制御システム
JPH0239256A (ja) 1988-07-28 1990-02-08 Toshiba Corp メモリシステム
SU1575192A1 (ru) 1988-08-01 1990-06-30 Войсковая часть 03080 Устройство дл выделени области во внешней пам ти
US5394531A (en) 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
EP0675502B1 (en) 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
JPH02273843A (ja) 1989-04-14 1990-11-08 Nec Corp スワッピング装置
US5900870A (en) 1989-06-30 1999-05-04 Massachusetts Institute Of Technology Object-oriented computer user interface
JPH03147157A (ja) 1989-11-02 1991-06-24 Nec Eng Ltd 情報処理装置
JPH0683708B2 (ja) 1989-11-17 1994-10-26 株式会社東芝 X線撮影装置
JP2781238B2 (ja) 1990-01-08 1998-07-30 株式会社リコー ファクシミリ多段中継方法
US5088026A (en) 1990-02-09 1992-02-11 International Business Machines Corporation Method for managing a data cache using virtual external storage addresses as arguments
JPH03294942A (ja) 1990-04-12 1991-12-26 Hitachi Ltd ファイルバックアップ方式及び情報複写方式
US5307497A (en) 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
RU2010317C1 (ru) 1990-07-20 1994-03-30 Институт точной механики и вычислительной техники им.С.А.Лебедева РАН Устройство управления буферной памятью
JPH04205634A (ja) 1990-11-30 1992-07-27 Matsushita Electric Ind Co Ltd 記憶装置制御方法
JPH04246746A (ja) 1991-02-01 1992-09-02 Hitachi Ltd 記憶装置システム
US5263136A (en) 1991-04-30 1993-11-16 Optigraphics Corporation System for managing tiled images using multiple resolutions
US5764877A (en) 1991-06-25 1998-06-09 Digital Equipment Corporation Media recovery with time-split B-trees
JP2582487B2 (ja) 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JPH0562329A (ja) 1991-08-29 1993-03-12 Hitachi Ltd データ処理装置
JP2995942B2 (ja) 1991-09-10 1999-12-27 セイコーエプソン株式会社 文書印刷システム及びその方法
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JPH0594353A (ja) 1991-10-02 1993-04-16 Hokkaido Nippon Denki Software Kk データベース管理方式
JP3451099B2 (ja) 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
EP0547992A3 (en) 1991-12-17 1993-12-01 Ibm Method and system for enhanced efficiency of data recovery in balanced tree memory structures
JPH0559537U (ja) 1992-01-10 1993-08-06 三菱電機株式会社 計算機
JPH0562329U (ja) 1992-01-31 1993-08-20 株式会社タチエス グリップ
JP2839060B2 (ja) 1992-03-02 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムおよびデータ処理方法
WO1993018461A1 (en) 1992-03-09 1993-09-16 Auspex Systems, Inc. High-performance non-volatile ram protected write cache accelerator system
JP3485938B2 (ja) 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
US5420998A (en) 1992-04-10 1995-05-30 Fujitsu Limited Dual memory disk drive
US5398325A (en) 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
JPH076208Y2 (ja) 1992-05-26 1995-02-15 盛暁 広松 均し作業車
JPH0635802A (ja) 1992-07-21 1994-02-10 Hitachi Ltd 複数キャッシュ付きディスク制御装置
US5574877A (en) 1992-09-25 1996-11-12 Silicon Graphics, Inc. TLB with two physical pages per virtual tag
US5454098A (en) * 1992-09-28 1995-09-26 Conner Peripherals, Inc. Method of emulating access to a sequential access data storage device while actually using a random access storage device
US5561783A (en) 1992-11-16 1996-10-01 Intel Corporation Dynamic cache coherency method and apparatus using both write-back and write-through operations
US5751932A (en) 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5463739A (en) 1992-12-22 1995-10-31 International Business Machines Corporation Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
JPH06236351A (ja) 1993-02-10 1994-08-23 Hitachi Ltd オンラインシステムのバックアップリストア装置
US5557770A (en) 1993-03-24 1996-09-17 International Business Machines Corporation Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JP3600257B2 (ja) 1993-05-31 2004-12-15 富士通株式会社 情報処理装置及びキャッシュ制御装置
US5636355A (en) 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5551002A (en) 1993-07-01 1996-08-27 Digital Equipment Corporation System for controlling a write cache and merging adjacent data blocks for write operations
US5572660A (en) 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
JPH086854A (ja) 1993-12-23 1996-01-12 Unisys Corp アウトボードファイルキャッシュ外部処理コンプレックス
US6026027A (en) * 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
EP0668565B1 (en) 1994-02-22 2002-07-17 Advanced Micro Devices, Inc. Virtual memory system
US6185629B1 (en) 1994-03-08 2001-02-06 Texas Instruments Incorporated Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time
JPH07253935A (ja) 1994-03-15 1995-10-03 Toshiba Corp コンピュータのデータ保護装置
US5751990A (en) 1994-04-26 1998-05-12 International Business Machines Corporation Abridged virtual address cache directory
US5603001A (en) 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5642501A (en) 1994-07-26 1997-06-24 Novell, Inc. Computer method and apparatus for asynchronous ordered operations
US5897640A (en) 1994-08-08 1999-04-27 Microsoft Corporation Method and system of associating, synchronizing and reconciling computer files in an operating system
DE69520753T2 (de) 1994-10-18 2001-11-22 Iomega Corp., Roy Plattenkassettenerfassungsverfahren und -vorrichtung
JPH08137634A (ja) 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH08195068A (ja) 1995-01-20 1996-07-30 Pioneer Electron Corp オーディオ信号混合装置
WO1996023269A1 (en) 1995-01-23 1996-08-01 Tandem Computers Incorporated System for maintenance of database integrity
JP3426385B2 (ja) 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置
JPH08263380A (ja) 1995-03-22 1996-10-11 Mitsubishi Electric Corp ディスクキャッシュ制御方式
US5897660A (en) 1995-04-07 1999-04-27 Intel Corporation Method for managing free physical pages that reduces trashing to improve system performance
US6078925A (en) 1995-05-01 2000-06-20 International Business Machines Corporation Computer program product for database relational extenders
US5917723A (en) 1995-05-22 1999-06-29 Lsi Logic Corporation Method and apparatus for transferring data between two devices with reduced microprocessor overhead
US5758174A (en) 1995-06-07 1998-05-26 International Business Machines Corporation Computer system having a plurality of stored system capability states from which to resume
US5608892A (en) 1995-06-09 1997-03-04 Alantec Corporation Active cache for a microprocessor
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5765151A (en) 1995-08-17 1998-06-09 Sun Microsystems, Inc. System and method for file system fix-on-panic for a computer operating system
US5717954A (en) 1995-10-13 1998-02-10 Compaq Computer Corporation Locked exchange FIFO
US5809280A (en) 1995-10-13 1998-09-15 Compaq Computer Corporation Adaptive ahead FIFO with LRU replacement
JP3704767B2 (ja) 1995-11-16 2005-10-12 ソニー株式会社 情報記録装置
US5754782A (en) 1995-12-04 1998-05-19 International Business Machines Corporation System and method for backing up and restoring groupware documents
US5860095A (en) 1996-01-02 1999-01-12 Hewlett-Packard Company Conflict cache having cache miscounters for a computer memory system
US5754888A (en) 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
US5764505A (en) 1996-01-23 1998-06-09 Cymer, Inc. Gas discharge laser control systems using multiple CPU's with shared memory on a common bus
US5758056A (en) 1996-02-08 1998-05-26 Barr; Robert C. Memory system having defective address identification and replacement
US5806074A (en) 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
KR0174711B1 (ko) 1996-04-24 1999-04-15 김광호 하드디스크 캐시의 제어방법
DE69632835T2 (de) 1996-04-29 2005-07-14 Scientific Research Institute Of Different Branches "Integral" Verfahren zur automatischen verarbeitung von information über benutzerdaten
US5778070A (en) 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
JPH1040170A (ja) 1996-07-26 1998-02-13 Toshiba Corp ディスクキャッシュシステム
US6026293A (en) 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
JPH1091488A (ja) 1996-09-12 1998-04-10 Sony Corp データ処理装置および方法
US5832515A (en) 1996-09-12 1998-11-03 Veritas Software Log device layered transparently within a filesystem paradigm
US6021408A (en) * 1996-09-12 2000-02-01 Veritas Software Corp. Methods for operating a log device
US6321234B1 (en) 1996-09-18 2001-11-20 Sybase, Inc. Database server system with improved methods for logging transactions
GB2317720A (en) 1996-09-30 1998-04-01 Nokia Mobile Phones Ltd Managing Flash memory
GB2317722B (en) 1996-09-30 2001-07-18 Nokia Mobile Phones Ltd Memory device
US6112024A (en) 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
JPH10154101A (ja) 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JPH10177563A (ja) 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
US6073232A (en) 1997-02-25 2000-06-06 International Business Machines Corporation Method for minimizing a computer's initial program load time after a system reset or a power-on using non-volatile storage
US5943687A (en) 1997-03-14 1999-08-24 Telefonakiebolaget Lm Ericsson Penalty-based cache storage and replacement techniques
US5940856A (en) 1997-04-14 1999-08-17 International Business Machines Corporation Cache intervention from only one of many cache lines sharing an unmodified value
US6345000B1 (en) 1997-04-16 2002-02-05 Sandisk Corporation Flash memory permitting simultaneous read/write and erase operations in a single memory array
US5943692A (en) 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
US5991847A (en) 1997-06-06 1999-11-23 Acceleration Software International Corporation Data pattern caching for speeding up write operations
US5897638A (en) 1997-06-16 1999-04-27 Ab Initio Software Corporation Parallel virtual file system
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
US6879266B1 (en) 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
KR19990019377A (ko) 1997-08-29 1999-03-15 윤종용 플래시 메모리 이용 보조기억장치 및 그 방법
US6240414B1 (en) 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6189071B1 (en) * 1997-10-06 2001-02-13 Emc Corporation Method for maximizing sequential output in a disk array storage device
US6108004A (en) 1997-10-21 2000-08-22 International Business Machines Corporation GUI guide for data mining
FR2770952B1 (fr) 1997-11-12 2000-01-21 Adl Systeme Sa Dispositif de tele-ecriture
US6560702B1 (en) 1997-12-10 2003-05-06 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation
US6098075A (en) 1997-12-16 2000-08-01 International Business Machines Corporation Deferred referential integrity checking based on determining whether row at-a-time referential integrity checking would yield the same results as deferred integrity checking
US6567889B1 (en) 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6018746A (en) 1997-12-23 2000-01-25 Unisys Corporation System and method for managing recovery information in a transaction processing system
US6006291A (en) 1997-12-31 1999-12-21 Intel Corporation High-throughput interface between a system memory controller and a peripheral device
US6205527B1 (en) 1998-02-24 2001-03-20 Adaptec, Inc. Intelligent backup and restoring system and method for implementing the same
US6272534B1 (en) 1998-03-04 2001-08-07 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US7007072B1 (en) 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6959318B1 (en) 1998-03-06 2005-10-25 Intel Corporation Method of proxy-assisted predictive pre-fetching with transcoding
JP2918531B1 (ja) 1998-03-13 1999-07-12 三菱電機株式会社 キャッシュメモリ制御装置
US6298428B1 (en) 1998-03-30 2001-10-02 International Business Machines Corporation Method and apparatus for shared persistent virtual storage on existing operating systems
US6138125A (en) 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays
US6360330B1 (en) 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
US6263342B1 (en) 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
US6212628B1 (en) 1998-04-09 2001-04-03 Teranex, Inc. Mesh connected computer
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6101601A (en) 1998-04-20 2000-08-08 International Business Machines Corporation Method and apparatus for hibernation within a distributed data processing system
JPH11316699A (ja) * 1998-05-01 1999-11-16 Hiroaki Horikoshi データベース作成方法、データベース作成システムおよびデータベース作成プログラムを記録したプログラム記録媒体
US6122685A (en) * 1998-05-06 2000-09-19 Emc Corporation System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
JP3404289B2 (ja) 1998-05-22 2003-05-06 富士通株式会社 ディスク制御装置及びその制御方法
US6314433B1 (en) 1998-06-12 2001-11-06 Hewlett-Packard Company Frame-based heroic data recovery
FR2780178B1 (fr) 1998-06-18 2001-08-10 Inst Nat Rech Inf Automat Procede de transformation et d'acheminement de donnees entre des serveurs d'agents presents sur des machines et un serveur d'agent central present sur une autre machine
US6425057B1 (en) 1998-08-27 2002-07-23 Hewlett-Packard Company Caching protocol method and system based on request frequency and relative storage duration
US6209088B1 (en) 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6714935B1 (en) 1998-09-21 2004-03-30 Microsoft Corporation Management of non-persistent data in a persistent database
US6519597B1 (en) 1998-10-08 2003-02-11 International Business Machines Corporation Method and apparatus for indexing structured documents with rich data types
DE19848373C2 (de) 1998-10-21 2000-12-07 Sekurit Saint Gobain Deutsch Verfahren und Vorrichtung zum Biegen von Glasscheiben mit einer flächigen Biegeform
JP3175764B2 (ja) 1998-11-06 2001-06-11 日本電気株式会社 メモリスケジューリング方法及びメモリスケジューリングプログラムを格納する記憶媒体
US6249841B1 (en) 1998-12-03 2001-06-19 Ramtron International Corporation Integrated circuit memory device and method incorporating flash and ferroelectric random access memory arrays
US6338056B1 (en) 1998-12-14 2002-01-08 International Business Machines Corporation Relational database extender that supports user-defined index types and user-defined search
KR20000039727A (ko) 1998-12-15 2000-07-05 구자홍 플래시 메모리 접근 방법
US6279081B1 (en) 1998-12-22 2001-08-21 Hewlett-Packard Company System and method for performing memory fetches for an ATM card
JP2000194645A (ja) 1998-12-28 2000-07-14 Toshiba Corp 電子機器制御方法および電子機器制御装置および電子機器
US6378043B1 (en) 1998-12-31 2002-04-23 Oracle Corporation Reward based cache management
US6463509B1 (en) 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP3543661B2 (ja) 1999-03-05 2004-07-14 日本電気株式会社 交換機ファイルシステムにおけるバッファキャッシュ方法および装置
US6640278B1 (en) 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US20030070065A1 (en) 1999-03-31 2003-04-10 Fleming Bruce L. Suspending to nonvolatile storage
US6401093B1 (en) 1999-03-31 2002-06-04 International Business Machines Corporation Cross file system caching and synchronization
US6295578B1 (en) 1999-04-09 2001-09-25 Compaq Computer Corporation Cascaded removable media data storage system
US6535949B1 (en) 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
US6237065B1 (en) 1999-05-14 2001-05-22 Hewlett-Packard Company Preemptive replacement strategy for a caching dynamic translator
US6317806B1 (en) 1999-05-20 2001-11-13 International Business Machines Corporation Static queue and index queue for storing values identifying static queue locations
US6381605B1 (en) 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6370534B1 (en) 1999-06-01 2002-04-09 Pliant Technologies, Inc. Blocking techniques for data storage
TW479194B (en) 1999-06-18 2002-03-11 Phoenix Tech Ltd Method and apparatus for execution of an application during computer pre-boot operation
US6438750B1 (en) 1999-06-18 2002-08-20 Phoenix Technologies Ltd. Determining loading time of an operating system
JP3204251B2 (ja) 1999-06-30 2001-09-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ハイバネーション装置及び方法、それを格納した記録媒体並びにそれを適用したコンピュータ
US6199195B1 (en) 1999-07-08 2001-03-06 Science Application International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
JP3812928B2 (ja) 1999-07-14 2006-08-23 株式会社日立製作所 外部記憶装置及び情報処理システム
US6513051B1 (en) 1999-07-16 2003-01-28 Microsoft Corporation Method and system for backing up and restoring files stored in a single instance store
US6311232B1 (en) 1999-07-29 2001-10-30 Compaq Computer Corporation Method and apparatus for configuring storage devices
US6542904B2 (en) 1999-07-30 2003-04-01 International Business Machines Corporation Method and system for efficiently providing maintenance activity on a relational database that is utilized within a processing system
AU774090B2 (en) 1999-08-05 2004-06-17 Oracle International Corporation Internet file system
JP3239335B2 (ja) 1999-08-18 2001-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 電気的接続用構造体の形成方法およびはんだ転写用基板
JP2001067258A (ja) 1999-08-25 2001-03-16 Mitsubishi Electric Corp フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法
US6370541B1 (en) 1999-09-21 2002-04-09 International Business Machines Corporation Design and implementation of a client/server framework for federated multi-search and update across heterogeneous datastores
US6539456B2 (en) 1999-10-13 2003-03-25 Intel Corporation Hardware acceleration of boot-up utilizing a non-volatile disk cache
US6751658B1 (en) 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
US6625742B1 (en) * 1999-11-05 2003-09-23 Hewlett-Packard Development Company, L.P. Computer diagnostic having an LED to provide direct visual feedback as to the status of the standby power supply when power button is actuated
US6338126B1 (en) 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
DE60042640D1 (de) 1999-12-17 2009-09-10 Nxp Bv Datenprozessor mit cachespeicher
US6631474B1 (en) * 1999-12-31 2003-10-07 Intel Corporation System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
JP3562419B2 (ja) 2000-02-01 2004-09-08 日本電気株式会社 電子交換機
US6556983B1 (en) 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US6609182B1 (en) 2000-01-20 2003-08-19 Microsoft Corporation Smart hibernation on an operating system with page translation
US6366996B1 (en) 2000-01-24 2002-04-02 Pmc-Sierra, Inc. Page memory management in non time critical data buffering applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
WO2001057675A1 (en) 2000-02-02 2001-08-09 Sony Electronics Inc. System and method for effectively utilizing a cache memory in an electronic device
JP4131894B2 (ja) * 2000-02-29 2008-08-13 株式会社東芝 ランダムディスクライトに好適なディスク制御機構
JP4078010B2 (ja) 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
US6633978B1 (en) 2000-03-31 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for restoring computer resources
US6684294B1 (en) 2000-03-31 2004-01-27 Intel Corporation Using an access log for disk drive transactions
JP2001290836A (ja) 2000-04-07 2001-10-19 Nec Corp 利用履歴登録装置及びデータベース検索式自動生成装置
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6820088B1 (en) 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
AU2001259342A1 (en) 2000-05-15 2001-11-26 Superspeed Software, Inc. System and method for high-speed substitute cache
KR100694043B1 (ko) 2000-05-18 2007-03-12 삼성전자주식회사 Av 시스템 및 그 기능 확장 모듈
US6671699B1 (en) 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
US6715016B1 (en) 2000-06-01 2004-03-30 Hitachi, Ltd. Multiple operating system control method
JP3705731B2 (ja) 2000-06-05 2005-10-12 富士通株式会社 入出力制御装置
US7412369B1 (en) 2000-06-09 2008-08-12 Stmicroelectronics, Inc. System and method for designing and optimizing the memory of an embedded processing system
JP4394806B2 (ja) 2000-06-22 2010-01-06 独立行政法人科学技術振興機構 バックアップ装置
CN1295623C (zh) 2000-06-23 2007-01-17 英特尔公司 非易失性高速缓存
TW576966B (en) 2000-06-23 2004-02-21 Intel Corp Non-volatile cache integrated with mass storage device
US6557077B1 (en) 2000-07-07 2003-04-29 Lsi Logic Corporation Transportable memory apparatus and associated methods of initializing a computer system having the same
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US6418510B1 (en) 2000-09-14 2002-07-09 International Business Machines Corporation Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD)
US6725342B1 (en) 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US6434682B1 (en) 2000-09-28 2002-08-13 International Business Machines Corporation Data management system with shortcut migration via efficient automatic reconnection to previously migrated copy
JP2002121138A (ja) 2000-10-12 2002-04-23 Taiyo Kagaku Co Ltd 腸管感染症予防組成物
US7574272B2 (en) * 2000-10-13 2009-08-11 Eric Paul Gibbs System and method for data transfer optimization in a portable audio device
RU2189073C2 (ru) 2000-10-13 2002-09-10 Курский государственный технический университет Система распределения ресурсов
US7043524B2 (en) 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US6999956B2 (en) * 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US6629198B2 (en) 2000-12-08 2003-09-30 Sun Microsystems, Inc. Data storage system and method employing a write-ahead hash log
US7178100B2 (en) 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US6871271B2 (en) 2000-12-21 2005-03-22 Emc Corporation Incrementally restoring a mass storage device to a prior state
JP2002197073A (ja) 2000-12-25 2002-07-12 Hitachi Ltd キャッシュ一致制御装置
US6546472B2 (en) 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
US6651141B2 (en) 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US6516380B2 (en) * 2001-02-05 2003-02-04 International Business Machines Corporation System and method for a log-based non-volatile write cache in a storage controller
US6877081B2 (en) 2001-02-13 2005-04-05 International Business Machines Corporation System and method for managing memory compression transparent to an operating system
US6918022B2 (en) * 2001-02-28 2005-07-12 Intel Corporation Memory space organization
JP2002259186A (ja) 2001-03-06 2002-09-13 Hitachi Ltd Tree構造型インデクスの整合性チェック処理方法およびプログラムおよび装置
US6877111B2 (en) 2001-03-26 2005-04-05 Sun Microsystems, Inc. Method and apparatus for managing replicated and migration capable session state for a Java platform
US6996660B1 (en) * 2001-04-09 2006-02-07 Matrix Semiconductor, Inc. Memory device and method for storing and reading data in a write-once memory array
US6584034B1 (en) 2001-04-23 2003-06-24 Aplus Flash Technology Inc. Flash memory array structure suitable for multiple simultaneous operations
US6961723B2 (en) 2001-05-04 2005-11-01 Sun Microsystems, Inc. System and method for determining relevancy of query responses in a distributed network search mechanism
US6717763B2 (en) 2001-05-16 2004-04-06 Hitachi Global Storage Technologies, Netherlands B.V. Power savings method and apparatus for disk drives
JP2002342037A (ja) 2001-05-22 2002-11-29 Fujitsu Ltd ディスク装置
US6775794B1 (en) * 2001-05-23 2004-08-10 Applied Micro Circuits Corporation Use of activity bins to increase the performance of disk arrays
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6697818B2 (en) 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US6922765B2 (en) 2001-06-21 2005-07-26 International Business Machines Corporation Method of allocating physical memory space having pinned and non-pinned regions
US6920533B2 (en) 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
US6772178B2 (en) 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system
US6742097B2 (en) 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
US20030041213A1 (en) 2001-08-24 2003-02-27 Yakov Tokar Method and apparatus for using a cache memory
JP2003076498A (ja) 2001-09-05 2003-03-14 Hitachi Ltd ディスク記憶装置
US6769050B1 (en) 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
JP2003085041A (ja) 2001-09-10 2003-03-20 Ricoh Co Ltd ディスクキャッシュシステム
US7472230B2 (en) 2001-09-14 2008-12-30 Hewlett-Packard Development Company, L.P. Preemptive write back controller
JP3822081B2 (ja) 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
JP4093741B2 (ja) 2001-10-03 2008-06-04 シャープ株式会社 外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置
US6636942B2 (en) * 2001-10-05 2003-10-21 International Business Machines Corporation Storage structure for storing formatted data on a random access medium
US20030074524A1 (en) 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
US6944757B2 (en) 2001-10-16 2005-09-13 Dell Products L.P. Method for allowing CD removal when booting embedded OS from a CD-ROM device
EP1304620A1 (en) 2001-10-17 2003-04-23 Texas Instruments Incorporated Cache with selective write allocation
US20030110357A1 (en) 2001-11-14 2003-06-12 Nguyen Phillip V. Weight based disk cache replacement method
US6687158B2 (en) 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
JP2003196032A (ja) 2001-12-26 2003-07-11 Nec Corp ストレージ装置のライトキャッシュ制御方法及びストレージ装置
US6721672B2 (en) * 2002-01-02 2004-04-13 American Power Conversion Method and apparatus for preventing overloads of power distribution networks
WO2003067787A2 (en) 2002-02-08 2003-08-14 I/O Integrity, Inc. Redirecting local disk traffic to network attached storage
US6782453B2 (en) 2002-02-12 2004-08-24 Hewlett-Packard Development Company, L.P. Storing data in memory
US6901499B2 (en) 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
JP4299555B2 (ja) 2002-03-15 2009-07-22 富士通株式会社 キャッシュ制御プログラム
US7136966B2 (en) 2002-03-18 2006-11-14 Lsi Logic Corporation Method and apparatus for using a solid state disk device as a storage controller cache
US6801459B2 (en) 2002-03-22 2004-10-05 Intel Corporation Obtaining data mask mapping information
US20040044776A1 (en) 2002-03-22 2004-03-04 International Business Machines Corporation Peer to peer file sharing system using common protocols
US7065627B2 (en) 2002-03-25 2006-06-20 International Business Machines Corporation Method and system for providing an event driven image for a boot record
JP4229626B2 (ja) 2002-03-26 2009-02-25 富士通株式会社 ファイル管理システム
EP1351146A1 (en) 2002-04-04 2003-10-08 Hewlett-Packard Company Power management system and method with recovery after power failure
US6820180B2 (en) 2002-04-04 2004-11-16 International Business Machines Corporation Apparatus and method of cascading backup logical volume mirrors
JP3901002B2 (ja) 2002-04-23 2007-04-04 日本電気株式会社 ページングシステム、ページング方法、および、ページングプログラム
US6707748B2 (en) * 2002-05-07 2004-03-16 Ritek Corporation Back up power embodied non-volatile memory device
US6891543B2 (en) 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
US6966006B2 (en) 2002-05-09 2005-11-15 International Business Machines Corporation Adaptive startup policy for accelerating multi-disk array spin-up
US6898609B2 (en) 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
US6968450B1 (en) 2002-06-01 2005-11-22 Western Digital Technologies, Inc. Disk drive caching initial host requested data in non-volatile semiconductor memory to reduce start-up time of a host computer
JP2004021370A (ja) 2002-06-13 2004-01-22 Hitachi Ltd ディスクアレイ制御装置
US7062675B1 (en) * 2002-06-25 2006-06-13 Emc Corporation Data storage cache system shutdown scheme
US7065527B2 (en) 2002-06-26 2006-06-20 Microsoft Corporation Systems and methods of optimizing metadata publishing system updates by alternating databases
US7017037B2 (en) 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
US7082495B2 (en) 2002-06-27 2006-07-25 Microsoft Corporation Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory
US6941310B2 (en) 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US7123512B2 (en) * 2002-07-19 2006-10-17 Micron Technology, Inc. Contiguous block addressing scheme
ATE534078T1 (de) 2002-07-23 2011-12-15 Research In Motion Ltd Datenspeicher-verwaltungs-system und- verfahren, für drahtlose vorrichtungen
JP2004054845A (ja) 2002-07-24 2004-02-19 Sony Corp データ管理装置
JP4026753B2 (ja) 2002-07-25 2007-12-26 株式会社日立製作所 半導体集積回路
NZ520786A (en) 2002-08-14 2005-06-24 Daniel James Oaeconnell Method of booting a computer system using a memory image of the post boot content of the system RAM memory
US7043610B2 (en) 2002-08-19 2006-05-09 Aristos Logic Corporation System and method for maintaining cache coherency without external controller intervention
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
US7096378B2 (en) 2002-08-29 2006-08-22 Freescale Semiconductor, Inc. Data storage system having a non-volatile IC based memory for storing user data
FI20021620A (fi) 2002-09-10 2004-03-11 Nokia Corp Muistirakenne, järjestelmä ja elektroniikkalaite sekä menetelmä muistipiirin yhteydessä
US20040078508A1 (en) 2002-10-02 2004-04-22 Rivard William G. System and method for high performance data storage and retrieval
US6910106B2 (en) 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7284149B1 (en) 2002-10-16 2007-10-16 Ken Scott Fisher Intermittent connection protection for external computer devices
US20040088481A1 (en) 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching
US7035974B2 (en) 2002-11-06 2006-04-25 Synology Inc. RAID-5 disk having cache memory implemented using non-volatile RAM
US7502791B2 (en) 2002-11-26 2009-03-10 Norsync Technology A/S Database constraint enforcer
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
US7036040B2 (en) 2002-11-26 2006-04-25 Microsoft Corporation Reliability of diskless network-bootable computers using non-volatile memory cache
US7003532B2 (en) * 2002-11-27 2006-02-21 Microsoft Corporation System and method for scaleable multiplexed transactional log recovery
JP4304974B2 (ja) 2002-12-12 2009-07-29 富士ゼロックス株式会社 キャッシュメモリのデータ管理方法、及び情報処理装置
US7039765B1 (en) 2002-12-19 2006-05-02 Hewlett-Packard Development Company, L.P. Techniques for cache memory management using read and write operations
US7010645B2 (en) 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data
US7437440B2 (en) 2003-01-27 2008-10-14 Microsoft Corporation Peer-to-peer networking framework application programming interfaces
KR100504696B1 (ko) 2003-02-26 2005-08-03 삼성전자주식회사 블록 소거/프로그램 정보를 저장하기 위한 상태 셀들의어레이를 포함한 낸드 플래시 메모리 장치
JP2004272324A (ja) 2003-03-05 2004-09-30 Nec Corp ディスクアレイ装置
JP2004272764A (ja) 2003-03-11 2004-09-30 Toyo Commun Equip Co Ltd コンピュータシステムの機能拡張方法
US7505958B2 (en) 2004-09-30 2009-03-17 International Business Machines Corporation Metadata management for a data abstraction model
US7809252B2 (en) * 2003-04-09 2010-10-05 Corel Inc. Systems and methods for caching multimedia data
US20050286855A1 (en) 2003-04-25 2005-12-29 Matsushita Electric Industrial Co., Ltd. Data recording apparatus
CA2426606A1 (en) * 2003-04-25 2004-10-25 Ibm Canada Limited - Ibm Canada Limitee Using buffer to facilitate log catchup for online operations
US7296043B2 (en) 2003-05-30 2007-11-13 Microsoft Corporation Memory file size adjustment
US7139933B2 (en) 2003-06-20 2006-11-21 International Business Machines Corporation Preserving cache data against cluster reboot
CA2433254A1 (en) 2003-06-25 2004-12-25 Ibm Canada Limited - Ibm Canada Limitee System and method for warm shutdown and restart of a buffer pool
US7299379B2 (en) * 2003-06-27 2007-11-20 Intel Corporation Maintaining cache integrity by recording write addresses in a log
JP4090400B2 (ja) 2003-07-24 2008-05-28 株式会社日立製作所 ストレージシステム
US7068575B2 (en) 2003-07-30 2006-06-27 Microsoft Corporation High speed optical disc recording
US6977842B2 (en) 2003-09-16 2005-12-20 Micron Technology, Inc. Boosted substrate/tub programming for flash memories
BRPI0415316A (pt) 2003-10-17 2006-12-05 Koninkl Philips Electronics Nv sistema de codificação e distribuição de sinal, método para codificar um sinal, programa de computação, e, portador de gravação
US7366866B2 (en) 2003-10-30 2008-04-29 Hewlett-Packard Development Company, L.P. Block size allocation in copy operations
EP1538525A1 (en) 2003-12-04 2005-06-08 Texas Instruments Incorporated ECC computation simultaneously performed while reading or programming a flash memory
US7774508B2 (en) 2003-12-09 2010-08-10 Panasonic Corporation Electronic apparatus, control method thereof, host device, and control method thereof
US7130962B2 (en) 2003-12-18 2006-10-31 Intel Corporation Writing cache lines on a disk drive
US7558911B2 (en) 2003-12-18 2009-07-07 Intel Corporation Maintaining disk cache coherency in multiple operating system environment
JP2005191413A (ja) 2003-12-26 2005-07-14 Toshiba Corp 不揮発性半導体記憶装置
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US8458488B2 (en) 2003-12-31 2013-06-04 International Business Machines Corporation Method and system for diagnosing operation of tamper-resistant software
US20050145923A1 (en) 2004-01-06 2005-07-07 Chiou-Feng Chen NAND flash memory with enhanced program and erase performance, and fabrication process
US6993618B2 (en) 2004-01-15 2006-01-31 Super Talent Electronics, Inc. Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host
US7769959B2 (en) 2004-01-20 2010-08-03 Hewlett-Packard Development Company, L.P. System and method to facilitate ordering point migration to memory
US7127549B2 (en) 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
JP4494031B2 (ja) 2004-02-06 2010-06-30 株式会社日立製作所 ストレージ制御装置、及びストレージ制御装置の制御方法
KR100564613B1 (ko) 2004-02-25 2006-03-29 삼성전자주식회사 플래시 메모리 및 광 드라이브의 펌웨어 모듈 동적 로딩동작 방법
US7421562B2 (en) 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US20050204091A1 (en) 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
US7620983B1 (en) 2004-03-16 2009-11-17 Symantec Corporation Behavior profiling
US7366740B2 (en) 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7143120B2 (en) 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP4392601B2 (ja) 2004-05-07 2010-01-06 パナソニック株式会社 データアクセス装置および記録媒体
JP4205634B2 (ja) 2004-05-27 2009-01-07 Necディスプレイソリューションズ株式会社 画像送信装置で使用される方法、およびプログラム
US7526608B2 (en) 2004-05-28 2009-04-28 Sony Computer Entertainment Inc. Methods and apparatus for providing a software implemented cache memory
US7231497B2 (en) 2004-06-15 2007-06-12 Intel Corporation Merging write-back and write-through cache policies
US20060010293A1 (en) 2004-07-09 2006-01-12 Schnapp Michael G Cache for file system used in storage system
CN1266229C (zh) 2004-08-10 2006-07-26 汕头市龙华珠光颜料有限公司 一种随角异色的多层变色颜料及其生产方法
US7171532B2 (en) 2004-08-30 2007-01-30 Hitachi, Ltd. Method and system for data lifecycle management in an external storage linkage environment
WO2006024323A1 (en) 2004-08-31 2006-03-09 Freescale Semiconductor Inc. A virtual address cache and method for sharing data using a unique task identifier
WO2006027643A1 (en) 2004-09-07 2006-03-16 Freescale Semiconductors, Inc A virtual address cache and method for sharing data stored in a virtual address cache
JP4192129B2 (ja) 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
US20060075185A1 (en) 2004-10-06 2006-04-06 Dell Products L.P. Method for caching data and power conservation in an information handling system
US7657756B2 (en) 2004-10-08 2010-02-02 International Business Machines Corporaiton Secure memory caching structures for data, integrity and version values
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP4956922B2 (ja) 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US20060106889A1 (en) 2004-11-12 2006-05-18 Mannby Claes-Fredrik U Method, system, and program for managing revisions to a file
KR100643287B1 (ko) 2004-11-19 2006-11-10 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
JP4689247B2 (ja) 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
US20060136664A1 (en) 2004-12-16 2006-06-22 Trika Sanjeev N Method, apparatus and system for disk caching in a dual boot environment
US7480654B2 (en) 2004-12-20 2009-01-20 International Business Machines Corporation Achieving cache consistency while allowing concurrent changes to metadata
US7480761B2 (en) 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
KR100670010B1 (ko) 2005-02-03 2007-01-19 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
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
US20060212644A1 (en) 2005-03-21 2006-09-21 Acton John D Non-volatile backup for data cache
US7620773B2 (en) 2005-04-15 2009-11-17 Microsoft Corporation In-line non volatile memory disk read cache and write buffer
US8812781B2 (en) 2005-04-19 2014-08-19 Hewlett-Packard Development Company, L.P. External state cache for computer processor
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US7516277B2 (en) 2005-04-28 2009-04-07 Sap Ag Cache monitoring using shared memory
US20060277359A1 (en) 2005-06-06 2006-12-07 Faber Robert W Blank memory location detection mechanism
US7523256B2 (en) 2005-06-15 2009-04-21 Bea Systems, Inc. System and method for scheduling disk writes in an application server of transactional environment
JP4833595B2 (ja) 2005-06-30 2011-12-07 大和ハウス工業株式会社 脱臭機能を備えたシューズボックス
US7640398B2 (en) 2005-07-11 2009-12-29 Atmel Corporation High-speed interface for high-density flash with two levels of pipelined cache
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US20070033356A1 (en) * 2005-08-03 2007-02-08 Boris Erlikhman System for Enabling Secure and Automatic Data Backup and Instant Recovery
US7768548B2 (en) * 2005-08-12 2010-08-03 William Bradford Silvernail Mobile digital video recording system
US7634516B2 (en) * 2005-08-17 2009-12-15 International Business Machines Corporation Maintaining an aggregate including active files in a storage pool in a random access medium
US7409524B2 (en) 2005-08-17 2008-08-05 Hewlett-Packard Development Company, L.P. System and method for responding to TLB misses
US7533215B2 (en) * 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
US7395401B2 (en) 2005-09-30 2008-07-01 Sigmatel, Inc. System and methods for accessing solid-state memory devices
US7409537B2 (en) 2005-10-06 2008-08-05 Microsoft Corporation Fast booting an operating system from an off state
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US20070150966A1 (en) 2005-12-22 2007-06-28 Kirschner Wesley A Method and apparatus for maintaining a secure software boundary
US7451353B2 (en) 2005-12-23 2008-11-11 Intel Corporation Cache disassociation detection
US7627713B2 (en) 2005-12-29 2009-12-01 Intel Corporation Method and apparatus to maintain data integrity in disk cache memory during and after periods of cache inaccessibility
US20070207800A1 (en) * 2006-02-17 2007-09-06 Daley Robert C Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device
ATE488009T1 (de) 2006-03-31 2010-11-15 Mosaid Technologies Inc Flash-speichersystem-steuerverfahren
US7849502B1 (en) * 2006-04-29 2010-12-07 Ironport Systems, Inc. Apparatus for monitoring network traffic
US7558913B2 (en) * 2006-06-20 2009-07-07 Microsoft Corporation Atomic commit of cache transfer with staging area
US7512739B2 (en) 2006-07-05 2009-03-31 International Business Machines Corporation Updating a node-based cache LRU tree
JP2008052321A (ja) 2006-08-22 2008-03-06 Murata Mach Ltd ネットワークデジタル複合機
US8121977B2 (en) * 2006-08-30 2012-02-21 Iwmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
US7870336B2 (en) 2006-11-03 2011-01-11 Microsoft Corporation Operating system protection against side-channel attacks on secrecy
US8489817B2 (en) * 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US7818701B1 (en) 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
US20080172519A1 (en) 2007-01-11 2008-07-17 Sandisk Il Ltd. Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
TWI417722B (zh) 2007-01-26 2013-12-01 Hicamp Systems Inc 階層式不可改變的內容可定址的記憶體處理器
US7698506B1 (en) 2007-04-26 2010-04-13 Network Appliance, Inc. Partial tag offloading for storage server victim cache
US7945734B2 (en) 2007-08-10 2011-05-17 Eastman Kodak Company Removable storage device with code to allow change detection
US7895242B2 (en) 2007-10-31 2011-02-22 Microsoft Corporation Compressed storage management
US8190652B2 (en) 2007-12-06 2012-05-29 Intel Corporation Achieving coherence between dynamically optimized code and original code
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
CN101236530B (zh) 2008-01-30 2010-09-01 清华大学 高速缓存替换策略的动态选择方法
US8082384B2 (en) 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
EP2191532A4 (en) * 2008-03-27 2015-03-04 Lsi Corp DEVICE AND METHOD FOR PROVIDING ENHANCED CYCLES FOR LEARNING BATTERY STATUS
US8074014B2 (en) * 2008-03-31 2011-12-06 Microsoft Corporation Storage systems using write off-loading
US8275970B2 (en) * 2008-05-15 2012-09-25 Microsoft Corp. Optimizing write traffic to a disk
US9548108B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver for enhanced flash endurance
US8597563B2 (en) 2008-07-11 2013-12-03 Rohm And Haas Company Recycled thermoplastic composition comprising waste thermoset material and methods of making
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
TWI347515B (en) 2008-09-04 2011-08-21 Asustek Comp Inc Electronic device
US9722813B2 (en) 2008-09-08 2017-08-01 Tendril Networks, Inc. Consumer directed energy management systems and methods
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8352464B2 (en) * 2009-07-24 2013-01-08 Peer Belt Inc. System and method for ranking documents through human assistance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297258A (en) * 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
US5996054A (en) * 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
US20070208910A1 (en) * 2006-03-03 2007-09-06 Hitachi, Ltd. Storage device and control method for the same

Also Published As

Publication number Publication date
JP2012503250A (ja) 2012-02-02
US9448890B2 (en) 2016-09-20
CN102160030A (zh) 2011-08-17
US10509730B2 (en) 2019-12-17
US8108450B2 (en) 2012-01-31
US7953774B2 (en) 2011-05-31
US9361183B2 (en) 2016-06-07
EP2329361A4 (en) 2012-11-07
US20100082550A1 (en) 2010-04-01
US20110197016A1 (en) 2011-08-11
WO2010033365A1 (en) 2010-03-25
US20120102265A1 (en) 2012-04-26
JP5301670B2 (ja) 2013-09-25
US20140237173A1 (en) 2014-08-21
US20160342528A1 (en) 2016-11-24
EP2329361B1 (en) 2018-02-28
EP2329361A1 (en) 2011-06-08

Similar Documents

Publication Publication Date Title
CN102160030B (zh) 对于数据存储的写通信的聚集
CN101876949B (zh) 数据储存系统与方法
CN101169751B (zh) 具有闪存设备的系统及其数据恢复方法
CN102667736B (zh) 存储器管理装置及存储器管理方法
CN106548789B (zh) 用于操作叠瓦式磁记录设备的方法和装置
CN101689140B (zh) 存储器系统
CN101425041B (zh) 在nand flash存储器上建立fat文件系统的优化方法
CN107346290A (zh) 使用并行化日志列表重放分区逻辑到物理数据地址转换表
EP1739535A2 (en) File system storing transaction records in flash-like media
CN106776376B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
KR101870521B1 (ko) 스토리지 저널링을 개선하는 방법 및 시스템
CN106484319A (zh) 用于非易失性存储器的支持无效命令
KR20130030241A (ko) 불휘발성 메모리 시스템들을 위한 위브 시퀀스 카운터
CN110196818B (zh) 缓存数据的方法、缓存设备和存储系统
CN101681299A (zh) 存储器系统
CN102929750A (zh) 非易失性介质肮脏区段跟踪
CN101567220B (zh) 闪存的损坏区块辨识方法、储存系统及其控制器
US11841801B2 (en) Metadata management in non-volatile memory devices using in-memory journal
CN101901189A (zh) 更新用户数据的方法以及恢复用户数据的方法
CN105260325A (zh) 固态硬盘搜集垃圾区块的方法
US20170017405A1 (en) Systems and methods for improving flash-oriented file system garbage collection
CN115705153A (zh) 有条件更新和延迟的查找
CN105335220A (zh) 一种存储设备的事务恢复方法,及装置
US20170017406A1 (en) Systems and methods for improving flash-oriented file system garbage collection
CN108334275A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150508

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150508

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.