CN102160030B - 对于数据存储的写通信的聚集 - Google Patents
对于数据存储的写通信的聚集 Download PDFInfo
- 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
Links
Images
Classifications
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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
- 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
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/221—Static RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
- G06F2212/2228—Battery-backed RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single 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所述的系统,其特征在于,还包括:
用于确定脏关闭后是否至少一个检查点被包括在所述写日志中的装置;
用于当确定至少一个检查点被包括在所述写日志中,寻找所述写日志内最后的检查点的装置;
用于至少部分地基于所述最后的检查点来重建所述重映射树的装置;
用于从所述写日志中读取对应于不具有被包括在任意检查点内的信息的所述写日志的第一条目的条目,直到没有找到所述写日志其他有效的条目的装置;以及
用于在找到所述写日志的有效条目后,更新所述重映射树的装置。
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)
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)
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)
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 |
-
2008
- 2008-09-19 US US12/234,411 patent/US7953774B2/en active Active
-
2009
- 2009-08-27 JP JP2011527865A patent/JP5301670B2/ja active Active
- 2009-08-27 CN CN200980137190.9A patent/CN102160030B/zh active Active
- 2009-08-27 EP EP09814983.4A patent/EP2329361B1/en active Active
- 2009-08-27 WO PCT/US2009/055198 patent/WO2010033365A1/en active Application Filing
-
2011
- 2011-04-15 US US13/087,927 patent/US8108450B2/en active Active
-
2012
- 2012-01-05 US US13/343,985 patent/US9448890B2/en active Active
-
2014
- 2014-04-22 US US14/259,065 patent/US9361183B2/en active Active
-
2016
- 2016-08-04 US US15/229,025 patent/US10509730B2/en active Active
Patent Citations (3)
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. |