Connect public, paid and private patent data with Google Patents Public Datasets

使用外部存储器设备来改进系统性能

Info

Publication number
CN1770087A
CN1770087A CN 200510116208 CN200510116208A CN1770087A CN 1770087 A CN1770087 A CN 1770087A CN 200510116208 CN200510116208 CN 200510116208 CN 200510116208 A CN200510116208 A CN 200510116208A CN 1770087 A CN1770087 A CN 1770087A
Authority
CN
Grant status
Application
Patent type
Prior art keywords
external
memory
performance
devices
improve
Prior art date
Application number
CN 200510116208
Other languages
English (en)
Other versions
CN100498677C (zh )
Inventor
A·科圣宝姆
C·厄干
M·R·弗廷
R·L·雷瑙尔
Original Assignee
微软公司
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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to 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; COUNTING
    • G06FELECTRICAL 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Abstract

本发明针对利用外部存储器设备来高速缓存来自旋转式存储设备(例如,硬盘驱动器)的扇区以改进系统性能的系统和方法。当外部存储器设备(EMD)被插入到计算设备或其中连接计算设备的网络上时,系统识别EMD并使用磁盘扇区来填充EMD。系统将定向到磁盘扇区的I/O读请求路由给EMD高速缓存而非实际的磁盘扇区。EMD的使用以向计算设备添加存储器成本的一小部分增加了计算设备系统的性能和生产率。

Description

使用外部存储器设备来改进系统性能

技术领域

本发明一般涉及计算机系统,尤其涉及改进计算机系统的性能。

背景技术

诸如个人计算机、游戏控制台、智能电话机计算设备通常使用耗时的过程来将由应用程序使用的页装载和高速缓存至存储器。这些页通常存储在诸如磁硬盘等旋转式非易失性介质(例如,硬盘驱动器)上。然而,设备的处理器仅执行来自于诸如DRAM或某些其它类型的易失性电子存储器等可寻址存储器的指令。在计算设备中使用的操作系统将由应用程序使用的页高速缓存至存储器,使得应用程序不必频繁地从旋转式介质中装载页。

对来自于硬盘驱动器的页的传输是缓慢的,尤其是当应用程序装载一个大文件的时候。这对将计算机系统从休眠模式中恢复也是普遍的。传输时间中的重要因素是由于磁盘驱动器的自旋到位的速度。以相对较慢的RPM自旋的相对较小的磁盘需要5至6秒来自旋到位而可被使用。诸如多盘设备等较大的磁盘以及以较快RPM自旋的磁盘需要10至12秒甚至更多时间来自旋到位。

随着应用程序在大小上增长以包括安全性修补且变得更可靠,该问题恶化了。这些应用程序通常需要更多的存储器以便在不需连续不断地将数据传输到旋转式存储介质和从旋转式存储介质中传输数据的情况下操作。然而,升级机器的存储器通常对公司和终端用户太过昂贵,或者是超出个别用户的技能程度的。尽管存储器本身的成本是低廉的,但是涉及到物理地打开每台机器并添加RAM的劳动量和停机时间可能花费几百美元。

升级机器的存储器太过昂贵的另一个问题是在系统需要偶尔执行比常规应用程序更大且更复杂的应用程序的时候。例如,公司的会计人员可能需要一个月运行合并应用程序几次。更大且更复杂的应用程序需要更多的存储器来有效地运行。尽管存储器本身的成本是低廉的,但是涉及到物理地打开每台机器并添加RAM的劳动量和停机时间可能花费几百美元。该成本对于用于几次运行应用程序的额外存储器可能不是合适的。

发明内容

本发明针对一种改进的存储器管理体系结构,它提供了一种利用外部存储器(易失性或非易失性)设备来高速缓存来自硬盘(即,磁盘扇区)和/或较慢的存储器组件的扇区以改进系统性能的系统、方法和机制。当外部存储器设备(EMD)被插入至计算设备或其中连接计算设备的网络上时,系统识别该EMD并使用磁盘扇区和/或存储器扇区来填充EMD。系统将定向到扇区的I/O读请求路由到EMD高速缓存而非实际的扇区。如果EMD被连接至USB2局部总线,则访问时间可以比从硬盘中读取快20倍。对EMD的使用以向计算设备添加存储器的成本的一小部分提高了计算设备系统的性能和生产率。另外,诸如Xbox等消费者设备可以使用EMD的存储器来运行更丰富的软件。

系统检测何时对于该计算设备第一次使用EMD。检测EMD的类型并安装用于在EMD上高速缓存磁盘扇区的驱动程序。该驱动程序使用EMD作为异步高速缓存,从而高速缓存了来自系统上的任何磁盘和/或较慢的存储器设备的扇区。如果没有关于在频繁访问方面哪些扇区更有价值的先验知识,系统可以使用计算机器上的数据来确定使用哪些扇区来填充EMD高速缓存。或者,当在操作期间访问一特定扇区时,系统使用该特定扇区来填充EMD高速缓存。当下一次要访问该特定扇区用于读操作时,系统指示读操作访问来自EMD的副本。

系统可以跟踪使用模式并确定哪些磁盘扇区是最频繁访问的。在对EMD的后续使用中,系统将那些最频繁被访问的扇区高速缓存至EMD。如果当计算设备通电时EMD存在,那么可以使用操作系统启动过程中的数据来重新填充EMD。

当参考附图开始阅读以下说明性实施例的详细描述时,本发明的另外的特征和优点会变得显而易见。

附图说明

尽管所附权利要求书使用特性描述了本发明的特征,但是本发明及其目标和优点可以结合附图从以下具体实施方式中得到最好的理解,附图中:图1是概括地示出其上驻留本发明的示例性计算机系统的框图;图2是示出根据本发明的一个方面的存储器管理体系结构的框图;以及图3a-3b是概括地示出本发明在使用外部存储器设备来改进系统性能时所采取的步骤的流程图。

具体实施方式

本发明针对一种改进的存储器管理体系结构,该体系结构提供了一种使用外部存储器(易失性或非易失性)设备来高速缓存来自硬盘的扇区(即,磁盘扇区)或来自较慢存储器设备的扇区以改进系统性能的系统、方法和机制。例如,众多种类的便携式计算设备不含有硬盘驱动器或旋转式介质存储设备,但是仍实现分层存储器体系结构。这些便携式计算设备会从本发明中大大获益,因为本发明允许这些设备在办公室内执行更大且更复杂的企业应用程序。随着802.11n的出现,200-500Mb无线连接可以对任何无线设备可用,且对外部存储器设备和/或基于存储器服务器的网络的使用会改进系统性能。

外部存储器用于高速缓存来自在访问数据方面一般较慢的设备的数据,使得对由应用程序/操作系统所使用的数据的访问时间可以更快,从而改进性能。对在其中添加实际RAM太过昂贵的较老的计算设备,使用外部存储器设备会以该成本的一小部分来增加该较老设备的性能和生产率,并使得用户能够在现有硬件上获取对较新的软件应用程序的可靠性、安全性和生产率的改进。例如,诸如Xbox等消费者设备通过以改进的图形和性能运行更丰富的软件来获益。另外,对该目的所需的存储器数量可能大大少于将系统更新至给定水平所需的存储器的数量。

转向附图,本发明被示为在合适的计算环境中实现,附图中,同样的参考标号指的是同样的元素。尽管不是必需的,但本发明可在诸如由个人计算机执行的程序模块等计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。此外,本领域的技术人员可以理解,本发明可以使用其它计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、网络PC、小型机、大型计算机等。本发明也可以在分布式计算环境中实现,其中任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。

图1示出了可在其上实现本发明的合适的计算系统环境100的示例。计算系统环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。

本发明可用众多其它通用或专用计算系统环境或配置来操作。适合在本发明中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、图形输入板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、游戏控制台、智能电话、个人数据助理、小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。

本发明可在诸如由计算机执行的程序模块等计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。本发明也可以在分布式计算环境中实现,其中任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。

参考图1,用于实现本发明的一个示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩展的ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine总线)。

计算机110通常包括各种计算机可读介质。计算机可读介质可以是能够被计算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是这样一种信号,其一个或多个特征以在信号中编码信息的方式被设定或更改。作为示例,而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述中任一个的组合也应包括在计算机可读介质的范围之内。

系统存储器130包括易失性或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基本例程,它通常存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。

计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。

以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据(例如,多媒体数据、音频数据、视频数据等)的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定点设备161(通常指鼠标、跟踪球或触摸垫)、麦克风163以及图形输入板或电子数字化仪164向计算机110输入命令和信息。其它输入设备(未示出)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口160连接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口,诸如视频接口190连接至系统总线121。监视器191也可以与触摸屏面板或其类似物集成。注意,监视器和/或触摸屏面板可以被物理地耦合至包含计算设备110的外壳,诸如在图形输入板类型的个人计算机中那样。此外,诸如计算设备110的计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口195或其类似物连接。

计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的网络环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。例如,计算机系统110可以包括从中迁移数据的源机器,而远程计算机180可以包括目标机器。然而,注意到,源机器和目标机器不需要由网络或任何其它手段连接,而是相反,数据可以经由能够由源平台写入并由一个或多个目标平台读取的任何介质来迁移。

当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至局域网171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。调制解调器172可以是内部或外部的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例,而非限制,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。

在随后的描述中,将参考由一台或多台计算机执行的动作和操作的符号表示来描述本发明,除非以其它方式指明。如此,可以理解,有时被称为计算机执行的这样的动作和操作包括计算机的处理单元对以结构化形式表示数据的电子信号的操纵。该操纵转换了数据或在计算机的存储器系统中的位置上维护该数据,从而以本领域的技术人员都理解的方式重新配置或改变了计算机的操作。维护数据的数据结构是含有由数据的格式定义的特定属性的存储器的物理位置。然而,尽管本发明是在前述的环境中描述的,但是如本领域的技术人员可以理解的,它不旨在限制,之后描述的多个动作和操作也可以在硬件中实现。

现在转到图2,本发明提供了存储器管理器200,它控制常规设备存储器202且与外部存储器设备(EMD)管理器204进行通信。EMD管理器204在存储器管理器204下方,且在物理硬件2061、2062、208和网络210上方。物理硬件可以是位于本地的或可经由网络来访问的硬盘驱动器、诸如CD驱动器、DVD驱动器或复合CD/DVD驱动器的多媒体驱动器、光盘等。尽管EMD管理器204被单独示出,但是可以认识到,EMD管理器204可以与存储器管理器200集成。EMD管理器204检测外部存储器设备(EMD)212何时可经由诸如即插即用等的常规方法来访问。EMD 212可以是可被插入至计算设备的可移动固态非易失性存储器设备的形式,诸如根据由CompactFlash协会维护的CompactFlash规范的设备等。它也可以是易失性存储器设备的形式。实际上,EMD可以被容纳在现有的外部附加产品上,诸如鼠标、键盘或网络附加设备,且在同一时刻可以存在多个这样附加设备。外部存储器设备的另一个替换位置是位于网络210上的远程位置或是诸如服务器上的存储器等网络基础架构的一部分。

本发明可充分利用可在EMD中使用的存储器以在存储器中维护可能被应用程序使用的磁盘扇区,并指导定向到位于被复制至EMD存储器的磁盘扇区中的数据的I/O请求从EMD存储器中读取而非从磁盘上的扇区中读取。

参考图3a和3b,现在描述本发明执行来利用外部存储器设备的步骤。在随后的描述中,用来描述本发明的扇区将驻留在硬盘驱动器206上。尽管本发明是在前述环境中描述的,但正如本领域的技术人员可以理解的,它不旨在限制,来自诸如CD/DVD设备208等需要自旋到位的其他设备的磁盘扇区可以被高速缓存在磁盘上。高速缓存的扇区也可以驻留在较慢的存储器设备上。尽管图3a和3b顺序地示出各步骤,但是应该理解,这些步骤可以按不同的顺序和/或并行地采取。EMD管理器204检测EMD 212何时可用(步骤300)。检测EMD的一种方法是2004年5月3日提交的名为“Non-Volatile Memory Cache Performance Improvement(非易失性存储器高速缓存性能改进)”的美国专利申请第10/837,986号中所描述的检测接口,该申请通过整体引用包含在此。可以使用诸如常规的即插即用方法等其它方法。确定EMD 212中可用的存储器的大小和类型。如果EMD 212在计算设备中第一次使用,那么为EMD 212安装驱动程序(步骤302)。该驱动程序用于与EMD212通信,并使用EMD作为异步块高速缓存来高速缓存来自系统上的磁盘206的扇区。在EMD可能缓慢并且等待它被更新可能会导致对原始读请求的等待时间增加的情况下,对高速缓存的更新是异步的。

如果有其它EMD可供使用,则系统通过将那些更可能被使用的磁盘扇区高速缓存在与其它可用EMD相比拥有更好的带宽和等待时间的EMD上来对如何填充EMD区分优先次序(步骤304)。某些计算设备会跟踪磁盘使用情况,诸如哪个磁盘扇区最频繁被操作系统和应用程序访问、最近访问次数、访问模式、访问频率等。如果该历史记录是可使用的,那么基于该历史记录填充EMD(步骤306)。如果该历史记录不可用,那么使用在应用程序从磁盘中读取的过程中应用程序(或计算设备)所访问的磁盘扇区来填充EMD。注意,EMD可以用EMD所需的格式来填充。跟踪磁盘扇区的使用情况信息(即,历史记录)来确定在下一次EMD可使用时应该将哪些扇区镜像至EMD上。使用的算法类似于如在2002年12月20提交的名为“Methods and Mechanisms for Proactive Memory Management(用于抢先存储器管理的方法和机制)”的美国专利申请第10/325,591号中描述用于抢先管理页存储器的算法,该申请通过整体引用包含在此。不同之处在于,本发明确定哪些磁盘扇区对高速缓存是有用的,而非确定存储器中的哪些页对高速缓存是有用的。

在其中计算设备位于网络化系统中的一个实施例中,网络服务器保留关于该计算机设备的信息,并采用协助EMD管理器204为计算设备管理本地存储器的远程算法。该实施例尤其适用于不拥有存储器或计算机能力来确定应该高速缓存哪些磁盘扇区的低端客户机。该远程算法在客户机上执行对数据模式、访问模式等的详细分析,并产生比该低端客户机可以产生的更多的最优结果。

在操作期间,应用程序或计算设备可以向被复制到EMD的磁盘扇区写入。EMD从不被应用程序或计算设备写入。而是,写操作被应用于磁盘扇区。当写操作完成后,磁盘扇区被复制回EMD(步骤310)。使用该方法,使得如果移除了该EMD,不会丢失数据,诸如远程文件系统中当到远程文件系统的链接不可操作时的情况;相反,计算设备从磁盘中读取而非从EMD中读取。结果,本发明对诸如连接丢失、EMD移除等连接性问题更有抵抗力。

只要接收到I/O读请求,EMD管理器204就检查该请求是否定向到已经被复制到EMD 212的存储器的磁盘扇区。如果读请求定向到已经被复制到EMD的存储器的磁盘扇区,那么EMD管理器204将该读请求重定向至EMD(步骤312)。结果是与在硬盘206上完成读请求相比,该读请求能够更快地完成。

用户可以在任何时间移除EMD 212。当EMD被移除时,系统检测到该移除。如果有其它EMD可用,则如果移除的EMD不是可用的最慢EMD,那么重新填充剩余的EMD(步骤314)。如果其它EMD不可用(或者如果移除的EMD是最慢的EMD),那么从硬盘中读取数据(步骤316)。无论何时添加或移除EMD,重复步骤300到316,只要有EMD可用就重复步骤310和312。

注意,如果EMD是非易失性的,那么在断电过程中或当休眠时,EMD存储器可以用带有配置数据的扇区来重新填充。在通电或恢复过程中,当磁盘自旋到位时,EMD的内容可以被读取。对该技术的使用可以减少计算机系统的引导时间和休眠唤醒时间。可以在2002年6月27日提交的、名为“Apparatus and Method toDecrease Boot Time and Hibernate Awaken Time of a Computer System(用于减少计算机系统的引导时间和休眠唤醒时间的装置和方法)”的美国专利申请第10/186,164号中找到进一步的细节,该申请通过整体引用包含在此。

既然已经描述了总体步骤,将讨论性能的改进。确定可从外部存储器设备预期的性能改进的关键因素是传输等待时间和EMD及其总线(例如,USB1/2、PCMCIA、以太网100BaseT等)的吞吐量、外部存储器的大小、在管理高速缓存时使用的策略以及如何使用外部存储器的情形和工作量。

对可插入的最典型总线EMD的传输等待时间和吞吐量是不同的。如果EMD由可以被插入到特定总线的作为设备封装的常规RAM构成,则预期到总线会成为大多数操作的主要瓶颈。通过发出应该命中插入该总线的磁盘的磁道缓冲区(一般为常规存储器)的增加大小的(4KB、8KB、16KB、32KB和64KB)未缓冲磁盘I/O来估算USB1、USB2和PCI/PCMCIA的总线等待时间以及吞吐量。以下表1中的值是通过简单地将用于传输I/O大小的时间拟合为直线而得到的。

表1为了如磁盘高速缓存那样有意义,从EMD复制数据必须比从磁盘中取得数据更快。涉及到寻道的4KB随机磁盘I/O无论何处都在典型的台式机和膝上型计算机磁盘上花费5-15ms。假设对带有寻道的4KB磁盘I/O花费10ms,那么从PCMCIA的EMD高速缓存检索数据可以快60倍,或从USB2的EMD检索数据可以快20倍。总体上,USB2似乎是用于插入到EMD中的非常适合的总线。

应该注意到,USB1的一个问题是4ms的启动时间可能会使得不可能获得任何性能收益。这可以通过总是保持等式传输通道开放来解决。因而,从USB1上的EMD获取4KB一般是使用寻道从磁盘上获取其的速度的两倍。由于在USB1上的低吞吐速率,直接到磁盘进行16KB、32KB和64KB I/O仍比通常可以在客户机系统上见到的更快。然而,仅用于通常用4KB随机I/O来访问的页文件和文件系统元数据的USB 1高速缓存仍然可以提供性能的改进。

仅在发行了Windows XP的服务包1后,才开始采用USB 2。可从EMD获益最多的大多数64MB和128MB系统一般不含有USB 2。然而这些系统通常具有100BaseT以太网卡。10MB/s的传输时间对于从EMD获得的显著的性能增益是足够的。EMD可以作为每个计算机的穿过网络的设备来附加,或者可以甚至被推入网络交换机中来改进小型计算机网络的性能。超出交换机会引起由于共享的网络带宽的众多可靠性和安全问题,但仍可以完成。

如同任何高速缓存一样,用于管理在高速缓存中保存哪些数据的实际策略是确定最后得到的性能增益的重要因素。如果EMD用作底层磁盘和其它设备的块高速缓存,那么EMD高速缓存可以在从底层设备的读取完成时填充,也可以在从应用程序和文件系统发出写请求时填充。如前所述,EMD高速缓存中的数据需要被异步地更新,以避免对原始设备请求增加时间。如果一个请求是针对正在被异步更新的范围,那么它可以简单地被往下转送给底层设备。如果该异步更新未完成,则必然存在启动更新的对该相同范围的非常近期的请求,且该范围的数据可能被高速缓存在设备(例如,磁道缓冲区)或控制器上。

通常使用LRU算法来管理块高速缓存。在该算法中,无论何时读请求命中或未命中高速缓存,所引用的块都被放至LRU列表的尾部。当读取或写入不位于高速缓存中的块时,LRU列表前部的块被重新用来高速缓存新块的内容。结果,LRU算法易于腐蚀,因为高速缓存中有价值的块随时间抖动。诸如将列表分成多个优先级子列表并维护超过最近访问时间的更丰富用户历史记录的那些算法会是更有弹性的。

在Windows NT上,文件和页数据的高速缓存是由存储器管理器通过备用页列表来完成的。文件系统、注册表和其它系统组件使用文件对象/映射机制来经由存储器和高速缓存管理器在相同的等级上高速缓存器其数据。如果另一高速缓存被置于任何其它的等级,会引起数据的双重高速缓存。对EMD高速缓存也是如此。为了避免这一情况,本发明的存储器管理器可以被扩展以将较没有价值的备用列表页推入至较慢的外部存储器设备中。无论何时访问了那些页,存储器管理器可以分配物理存储器页并从外部存储器设备中复制回数据。EMD存储器管理器及相关联的高速缓存管理器可以使用美国专利申请第10/325,591号提供的用于对页面的统一高速缓存的抢先且有弹性的管理的页优先级提示。由于这会要求内核存储器管理器改变,对Windows X的构建的任何EMD解决方案可能遭受数据的双重高速缓存。模拟显示出尽管有双重高速缓存,但是仍旧可能获得实质上的性能增益。

高速缓存的另一个重要的参数是块大小以及群集和预读的数量。只要存在高速缓存中的未命中,即使请求的是更少量的数据,也需要从底层磁盘或设备中读取至少一个块大小的数据,且可能甚至在所请求数据偏移量周围群集更多的块。群集可以消除对磁盘上同一位置的将来的反向寻道。然而,它可能也增加了原始请求的完成时间,甚至引起LRU列表中的更多抖动,因为对每一请求引用了更多的块。此外,预读可能被排队来从磁盘上获取更多的连续数据,尽管这样做是很有效率的,而不会影响原始请求的时间。然而,这可能会导致增加需要寻道设备上另一处的后续请求的等待时间。

应该注意到,经过诸如引导等功率转换或者甚至清除高速缓存常规内容的密集使用的时间段,高速缓存认为有价值的设备位置的列表仍可以被持久保存。该列表可以用于在这样的转换之后以对后台I/O的正确优先化支持来重新填充高速缓存的内容。

如同任何性能分析一样,考虑代表性的场景和工作量来取得有意义且有用的数据是至关重要的。为了表现可以从现有Windows(XP和2000)上的EMD高速缓存中预期的性能改进的特征,执行了使用在磁盘等级上的简单LRU直写块高速缓存的实验。如上所述,这会遭受数据的双重高速缓存。然而,这些实验更易于仿真、模拟和实际上构建这样的EMD高速缓存并测量其影响。结果显示,即使这样的简单高速缓存也可以对磁盘和系统性能产生很大的影响。与计算设备的存储器管理器的集成和使用更智能的策略会进一步增加收益。

因为这些实验主要为磁盘访问而高速缓存,因此高速缓存的成功可以通过比较在不使用高速缓存和使用高速缓存的各种配置时用于从代表性的工作量或情形中捕捉的同一组磁盘访问的重现的总时间来测量。在大多数客户机情形中,磁盘读取时间的减少导致在响应性或基准分数的成比例的增长。

为了确定EMD高速缓存在实际影响,考虑两个情形。一个情形使用在128MB和256MB系统上数小时内从真实的终端用户系统捕捉的磁盘轨迹。另一个情形使用从诸如Business Winstone 2001、Content Creation Winstone 2002以及使用Office2003应用程序的Business Winstone修订版的工业基准中获取的磁盘轨迹。以多种存储器大小获取轨迹,所以可以比较从简单EMD高速缓存到实际上增加系统存储器大小的增益。

EMD设备可以通过使用常规块高速缓存并基于所需EMD总线对高速缓存添加延迟来准确地仿真。当从存储器复制所请求的字节之后,可基于诸如表1的启动时间和吞吐量值来确定为所需EMD总线计算的传输时间。

该估算的过程用于:使用/maxmem boot.ini开关配置目标系统来以目标存储器大小运行;运行典型使用情形或工业基准并跟踪生成的磁盘I/O;使用高速缓存大小和EMD设备的吞吐量/等待时间所需的参数来配置块高速缓存;重放所跟踪的磁盘I/O并捕捉由于高速缓存未命中而导致的磁盘I/O;以及比较两次运行的时间和磁盘访问。

理想上,各情形应该使用恰当配置的块高速缓存以及比较的最终结果(响应时间或基准分数)来运行。然而,如果已经建立磁盘时间和最终结果之间的链接,对需要评估的众多EMD配置,仅回放捕捉的磁盘I/O消耗更少的时间。使用简单的模拟器来大致估算从EMD高速缓存获得的潜在增益。这允许来自128MB顾客系统和来自内部开发系统的长达数小时的磁盘轨迹处理,并测量EMD高速缓存的各种配置的影响。为了进一步简化事物,集中于磁盘用于处理读请求的时间,而忽略磁盘写时间。代表性寻道时间是通过忽略小于2ms和大于20ms的寻道时间来确定的。磁头的最后几个位置被划分磁道来模拟“磁道缓冲”。尽管有上述的复杂性,然而磁盘模拟通常在可接受的范围内:75%的预测在实际时间的15%之内。任何错误预测一般是由于保守的模拟和对较高磁盘读时间的预测。即使磁盘模拟器不能总是准确地捕捉磁盘在特定轨迹上的性能特征,但是其自身的性能特征对实际的台式机/膝上型计算机磁盘是有代表性和典型性的。

表2示出了在磁盘轨迹的EMD高速缓存模拟中的磁盘读时间的减少,这是在实际使用各种计算系统数小时的操作过程中获取的。

表2-实际终端用户对系统的使用从EMD高速缓存获得的增益作为如何解释表2中的数据的示例,考虑系统1:128MB USB2 EMD设备会造成当前用户体验的磁盘读取时间的37%(即,减少了63%)。

系统1和2是来自想要在其128MB系统上升级至Windows XP、Office 2003以及最新的SMS的公司,但是当运行其业务线软件时,命中率显著下降。系统3的轨迹是来自膝上型计算机。可以看到,这些系统中的最大的改进是使用较慢磁盘和仅128M存储器的系统。

底部的三个系统(系统4、5和6)是开发者系统,在其上执行包括构建、同步和处理大文件的重量开发任务。这些系统拥有较快的磁盘,且由这些任务生成的大多数磁盘I/O是顺序的,不能从简单的LRU块高速缓存中获益同样多,因为它们不会多次重新访问磁盘上的同一扇区(例如,同步)。这样,总的磁盘时间不是作为终端用户响应性的代表。高速缓存可以显著地减少用于U1分块磁盘读取的时间。

表3示出了对在使用Content Creation Winstone 2002过程中获取的磁盘轨迹的EMD高速缓存模拟中的磁盘读取时间的减少。

表3-从Content Creation Winstone 2002的EMD高速缓存中获得的增益表4示出了使用Business Winstone 2001过程中获取的磁盘轨迹的EMD高速缓存模拟中的磁盘读取时间的减少。

表4-从Business Winstone 2001的EMD高速缓存中获取的增益同前述情况中一样,在使用128MB和较慢的磁盘的系统上见到的改进是最大的。Business Winstone 2001启动以在256MB的存储器中最适合,所以在该系统存储器大小中,总的磁盘时间和从EMD获得的增益较小。

表5比较了当运行Content Creation Winstone 2002时,向系统添加EMD高速缓存以实际添加更多的物理存储器而获得的增益。如前所述,EMD高速缓存模拟遭受数据的双重高速缓存,且是使用简单的LRU策略来管理的。一般而言,向系统添加更多的物理存储器会提供较大数量情形中的更好的性能。另一方面,如果EMD高速缓存可以与存储器管理器集成,且使用美国专利申请第10/325,591号可以提供的相同高级算法来管理,它就能够提供可与向系统添加实际存储器匹敌的性能增益。

表5-对从USB2EMD高速缓存与向系统存储器中实际增加存储器获取的增益的比较从前述可见,描述了使用外部存储器来改进计算设备性能的系统和方法。本发明允许拥有小量存储器的传统计算设备和其它设备有效地升级存储器而无需实际打开设备。可以使用外部存储器在更快和更可靠性能方面获得生产率的增益。来自于旋转式存储介质和较慢存储器设备的扇区异步地高速缓存于外部存储器中。不像远程文件系统,如果移除外部存储器,不会丢失数据,因为数据仍旧在旋转式存储介质或较慢的存储器设备上。

此处引用的所有参考文献,包括专利、专利申请和出版物,都通过引用整体包含在此。描述本发明的语境中(尤其在所附权利要求书的语境中)的术语“一”和“一个”和“该”的使用和类似的指示词被解释成覆盖单数和复数,除非此处另外指出或与语境明确地抵触。术语“包含”、“拥有”、“包括”和“含有”应该被解释为开端口的术语(即,意味着“包括但不限于”),除非另外指明。此处描述的所有方法可以按任何合适的顺序来执行,除非在此处另外指出或与语境明确地抵触。此处提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本发明且不成为对本发明范围的限制,除非另外要求保护。例如,Windows操作系统被引用来描述本发明。本领域的技术人员可以认识到,本发明可以在诸如Linux、SunOs等其它操作系统上实现。说明书中没有语言应该被解释为指示任何没有要求保护的元素对本发明的实现是必须的。

考虑到本发明的原则可以应用于众多可能的实施例,应该认识到,此处关于附图描述的实施例仅旨在说明性的,且不应该作为对本发明范围的限制。例如,本领域的技术人员可以认识到,以软件示出的所示实施例的元素可以用硬件来实现,反之亦然,或者所示实施例可以在排列和细节上修改而不背离本发明的精神。从而,此处描述的本发明构想了落入所附权利要求书及其等效技术方案的范围之内的所有这样的实施例。

Claims (30)

1.一种利用外部存储器设备来改进含有旋转式存储设备的计算设备的性能的方法,包括以下步骤:检测所述外部设备何时可供所述计算设备使用;使用来自于所述旋转式存储设备的扇区的副本来填充所述外部存储器设备;以及重定向来自所述计算设备或应用程序的、对存储在所述扇区上的数据的I/O读请求,以从所述外部存储器设备中透明地读到所述计算设备或应用程序。
2.如权利要求1所述的方法,其特征在于,所述使用来自旋转式存储设备的扇区填充所述外部存储器设备的步骤包括使用来自硬盘驱动器和多媒体驱动器之一的扇区的副本来填充所述外部存储器设备的步骤。
3.如权利要求1所述的方法,其特征在于,所述使用来自旋转式存储设备的扇区填充所述外部存储器设备的步骤包括以下步骤:检测是否有使用情况历史记录可用;以及使用所述历史记录指示为可能将被使用的扇区的副本来填充所述外部存储器设备。
4.如权利要求3所述的方法,其特征在于,还包括如果所述使用情况历史记录不可用,那么使用正被所述计算设备或应用程序访问的扇区的副本来填充所述外部存储器设备。
5.如权利要求1所述的方法,其特征在于,还包括为所述外部存储器设备安装驱动程序的步骤。
6.如权利要求1所述的方法,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述方法还包括通过填充最有可能在所述多个外部存储器设备中的外部存储器设备上访问的扇区,来对安装在所述多个外部存储器设备上的扇区区分优先次序的步骤,所述外部存储器设备与所述多个外部存储器设备的其它外部存储器设备相比拥有较好的带宽和等待时间。
7.如权利要求1所述的方法,其特征在于,还包括以下步骤:检测写操作何时被定向到所述旋转式存储设备中已经被复制到所述外部存储器设备上的扇区;启动对所述旋转式存储设备的扇区的写操作;当完成所述写操作后,将所述扇区复制到所述外部存储器设备。
8.如权利要求1所述的方法,其特征在于,还包括以下步骤:检测所述外部存储器设备何时不再可供所述计算设备使用;以及定向来自所述计算设备或应用程序的、对被复制到所述外部存储器设备的扇区上的数据的I/O读请求,以从所述旋转式存储设备中读取。
9.如权利要求1所述的方法,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述方法还包括以下步骤:检测所述外部存储器设备中的一个何时不再可供所述计算设备使用;如果所述外部存储器设备中的一个不是所述多个外部存储器设备中最慢的外部存储器设备,那么使用来自所述旋转式存储设备的扇区重新填充剩余的外部存储器设备。
10.如权利要求1所述的方法,其特征在于,使用来自所述旋转式存储设备的扇区填充所述外部存储器设备的步骤包括以下步骤:预测哪些扇区可能将被访问;以及使用可能被访问的扇区填充所述外部存储器设备。
11.如权利要求1所述的方法,其特征在于,还包括以下步骤;检测所述计算设备何时断电或进入休眠;将含有配置数据的扇区复制到所述外部存储器设备中,使得所述配置数据拥有与所述旋转式存储设备的自旋到位时间大致相等的初始化时间;以及当所述旋转式存储设备在所述计算设备的引导或所述计算设备从休眠中恢复的至少一种的过程中自旋到位时,将所述外部存储器设备中的配置数据初始化至系统存储器。
12.如权利要求1所述的方法,其特征在于,用来自所述旋转式存储设备的扇区的副本填充所述外部存储器设备的步骤包括使用来自所述旋转式存储设备的扇区的副本异步地填充所述外部存储器设备的步骤。
13.一种利用外部存储器设备来改进含有旋转式存储设备的计算设备的性能的系统,所述系统包括:外部存储器设备管理器模块,它与所述计算设备的存储器管理器和所述旋转式存储设备进行通信,所述外部存储器设备模块具有至少一个含有计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行以下步骤:检测所述外部存储器设备何时可供所述计算设备使用;使用来自所述旋转式存储设备的扇区的副本来填充所述外部存储器设备;以及重定向来自所述计算设备或应用程序的、对存储在所述扇区上的数据的I/O读请求,以从所述外部存储器设备中读取。
14.如权利要求13所述的系统,其特征在于,使用来自所述旋转式存储设备的扇区来填充所述外部存储器设备的步骤包括以下步骤:检测是否有使用情况历史记录可用;以及使用由所述历史情况记录指示为可能被使用的扇区的副本来填充所述外部存储器设备。
15.如权利要求13所述的系统,其特征在于,所述外部存储器设备管理器还具有用于执行以下步骤的计算机可执行指令:通过填充最有可能在所述多个外部存储器设备中的外部存储器设备上访问的扇区,来对安装在所述多个外部存储器设备上的扇区区分优先次序,所述外部存储器设备与所述多个外部存储器设备中的其它外部存储器设备相比拥有较好的带宽和等待时间。
16.如权利要求13所述的系统,其特征在于,所述外部存储器设备是远程连接至所述系统的。
17.如权利要求13所述的系统,其特征在于,所述旋转式存储设备包括硬盘驱动器和多媒体驱动器中的至少一个。
18.如权利要求17所述的系统,其特征在于,所述扇区的副本是以所述多媒体驱动器所需的格式写的。
19.如权利要求13所述的系统,其特征在于,所述外部存储器设备是连接至所述计算设备的的通用串行总线2(USB2)总线的。
20.至少一个含有用于执行如权利要求1所述的步骤的计算机可执行指令的计算机可读介质。
21.如权利要求20所述的至少一个计算机可读介质,其特征在于,使用来自所述旋转式存储设备的扇区来填充所述外部存储器设备的步骤包括使用来自硬盘驱动器和多媒体驱动器中的一个的扇区的副本来填充所述外部存储器设备的步骤。
22.如权利要求20所述的至少一个计算机可读介质,其特征在于,使用来自所述旋转式存储设备的扇区来填充所述外部存储器设备的步骤包括以下步骤:检测是否有使用情况历史记录可用;以及使用所述历史记录指示为可能被使用的扇区的副本来填充所述外部存储器设备。
23.如权利要求22所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:如果所述使用情况历史记录不可用,那么使用正被所述计算设备或应用程序访问的扇区的副本来填充所述外部存储器设备。
24.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:为所述外部存储器设备安装驱动程序。
25.如权利要求20所述的至少一个计算机可读介质,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述至少一个计算机可读介质还具有用于执行以下步骤的计算机可执行指令:通过填充最有可能在所述多个外部存储器设备中的外部存储器设备上访问的扇区来对安装在所述多个外部存储器设备的扇区区分优先次序,所述外部存储器设备与所述多个外部存储器设备中的其它外部存储器设备相比拥有较好的带宽和等待时间。
26.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:检测写操作何时被定向到所述旋转式存储设备中已经被复制到所述外部存储器设备的扇区;启动对所述旋转式存储设备的扇区的写操作;当完成所述写操作后,将所述扇区复制到所述外部存储器设备。
27.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:检测所述外部存储器设备何时不再可供所述计算设备使用;以及定向来自所述计算设备或应用程序的、对被复制到所述外部存储器设备的扇区上的数据的I/O读请求,以从所述旋转式存储设备中读取。
28.如权利要求20所述的至少一个计算机可读介质,其特征在于,所述外部存储器设备包括多个外部存储器设备,所述至少一个计算机可读介质还具有用于执行以下步骤的计算机可执行指令:检测所述外部存储器设备中的一个何时不再可供所述计算设备使用;如果所述外部存储器设备中的一个不是所述多个外部存储器设备中最慢的外部存储器设备,那么使用来自所述旋转式存储设备的扇区重新填充剩余的外部存储器设备。
29.如权利要求20所述的至少一个计算机可读介质,其特征在于,使用来自所述旋转式存储设备的扇区填充所述外部存储器设备的步骤包括以下步骤:预测哪些扇区可能将被访问;以及使用可能被访问的扇区填充所述外部存储器设备。
30.如权利要求20所述的至少一个计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令:检测所述计算设备何时断电或进入休眠;将含有配置数据的扇区复制到所述外部存储器设备中,使得所述配置数据拥有与所述旋转式存储设备的自旋到位时间大致相等的初始化时间;以及当所述旋转式存储设备在所述计算设备的引导或所述计算设备从休眠中恢复的至少一种的过程中自旋到位时,将所述外部存储器设备中的配置数据初始化至系统存储器。
CN 200510116208 2004-10-21 2005-10-21 使用外部存储器设备来改进系统性能 CN100498677C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10970772 US7490197B2 (en) 2004-10-21 2004-10-21 Using external memory devices to improve system performance
US10/970,772 2004-10-21

Publications (2)

Publication Number Publication Date
CN1770087A true true CN1770087A (zh) 2006-05-10
CN100498677C CN100498677C (zh) 2009-06-10

Family

ID=35789162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510116208 CN100498677C (zh) 2004-10-21 2005-10-21 使用外部存储器设备来改进系统性能

Country Status (7)

Country Link
US (6) US7490197B2 (zh)
JP (2) JP5065587B2 (zh)
KR (1) KR101246982B1 (zh)
CN (1) CN100498677C (zh)
CA (1) CA2523761C (zh)
EP (1) EP1650666A3 (zh)
RU (1) RU2395115C2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010088864A1 (zh) * 2009-02-09 2010-08-12 联想(北京)有限公司 存储数据读取装置和方法以及计算机装置
CN101256535B (zh) 2007-03-01 2011-03-09 创惟科技股份有限公司 硬盘资料读写快取装置及方法

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US20060230226A1 (en) * 2005-04-12 2006-10-12 M-Systems Flash Disk Pioneers, Ltd. Hard disk drive with optional cache memory
US7383392B2 (en) * 2005-05-31 2008-06-03 Hewlett-Packard Development Company, L.P. Performing read-ahead operation for a direct input/output request
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
KR101303518B1 (ko) 2005-09-02 2013-09-03 구글 인코포레이티드 Dram 적층 방법 및 장치
US8914557B2 (en) * 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US7580312B2 (en) * 2006-07-31 2009-08-25 Metaram, Inc. Power saving system and method for use with a plurality of memory circuits
US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US20080034019A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for multi-device electronic backup
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7860839B2 (en) 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US9009115B2 (en) * 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US8370853B2 (en) 2006-08-04 2013-02-05 Apple Inc. Event notification management
US8166415B2 (en) 2006-08-04 2012-04-24 Apple Inc. User interface for backup management
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
KR20080044505A (ko) * 2006-11-16 2008-05-21 삼성전자주식회사 데이터를 관리하는 장치 및 방법
US7934058B2 (en) * 2006-12-14 2011-04-26 Microsoft Corporation Predictive caching of assets to improve level load time on a game console
US8745523B2 (en) 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US8468136B2 (en) * 2007-06-08 2013-06-18 Apple Inc. Efficient data backup
US8099392B2 (en) 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
US20080307017A1 (en) 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US8725965B2 (en) 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup
US7861038B2 (en) * 2007-07-17 2010-12-28 International Business Machines Corporation Method and apparatus for managing data in a hybrid drive system
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US7772987B2 (en) * 2007-11-08 2010-08-10 Dell Products L.P. Lighting control framework
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
JP2009146061A (ja) * 2007-12-12 2009-07-02 Canon Inc 情報処理装置及び前記装置の起動方法
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
DE102008022831B4 (de) * 2008-05-08 2015-09-10 Fujitsu Technology Solutions Intellectual Property Gmbh Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US20100017569A1 (en) * 2008-07-16 2010-01-21 Agere Systems Inc. Pcb including multiple chips sharing an off-chip memory, a method of accessing off-chip memory and a mcm utilizing fewer off-chip memories than chips
US8688943B2 (en) 2008-07-23 2014-04-01 Micro Motion, Inc. Processing system with external memory access control
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
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
US20100088459A1 (en) * 2008-10-06 2010-04-08 Siamak Arya Improved Hybrid Drive
WO2010144624A1 (en) 2009-06-09 2010-12-16 Google Inc. Programming of dimm termination resistance values
US8719486B2 (en) 2009-06-24 2014-05-06 Micron Technology, Inc. Pinning content in nonvolatile memory
US20110026605A1 (en) * 2009-07-31 2011-02-03 Mario Costa Method and System for a Light-Weight Mobile Computing Device
US20110200121A1 (en) * 2009-07-31 2011-08-18 Mario Costa Method and System for a Light-Weight Tablet Computing Device
CN102023741B (zh) * 2009-09-14 2012-07-18 鸿富锦精密工业(深圳)有限公司 具有缩短输入响应时间功能的电子装置及方法
US8996667B2 (en) * 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
CN103221921B (zh) 2010-11-23 2016-06-22 国际商业机器公司 利用流技术的软件映像的直接迁移
CN103250163B (zh) 2010-12-09 2016-08-10 国际商业机器公司 用于加密和解密虚拟盘的计算机可读存储介质
GB2499964B (en) 2010-12-13 2013-12-11 Ibm Upgrade of software images based on streaming technique
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
US8463762B2 (en) * 2010-12-17 2013-06-11 Microsoft Corporation Volumes and file system in cluster shared volumes
JP5697195B2 (ja) 2010-12-24 2015-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US20120185642A1 (en) * 2011-01-18 2012-07-19 International Business Machines Corporation Assigning a data item to a storage location in a computing environment
JP5699712B2 (ja) * 2011-03-17 2015-04-15 ソニー株式会社 メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム
JP5175953B2 (ja) * 2011-06-02 2013-04-03 株式会社東芝 情報処理装置およびキャッシュ制御方法
US8793429B1 (en) * 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US9063939B2 (en) * 2011-11-03 2015-06-23 Zettaset, Inc. Distributed storage medium management for heterogeneous storage media in high availability clusters
CN103593145A (zh) * 2012-08-14 2014-02-19 纬创资通股份有限公司 计算机系统与其储存装置管理方法
US20160132270A1 (en) * 2013-04-15 2016-05-12 Fixstars Corporation Information processing device, information procesing method, and program
US9571356B2 (en) 2013-09-27 2017-02-14 Zettaset, Inc. Capturing data packets from external networks into high availability clusters while maintaining high availability of popular data packets
US9558124B2 (en) 2013-11-08 2017-01-31 Seagate Technology Llc Data storage system with passive partitioning in a secondary memory

Family Cites Families (427)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3615681A (en) * 1968-11-12 1971-10-26 Atlas Chem Ind Yeast-raised baked products and method for preparing same
US4335157A (en) * 1980-08-05 1982-06-15 Scm Corporation Fluid shortening
JPS6232498B2 (zh) 1981-03-31 1987-07-15 Fujitsu Ltd
JPS57161933U (zh) 1981-04-06 1982-10-12
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
JPH06100981B2 (ja) 1983-12-28 1994-12-12 株式会社日立製作所 記憶階層制御方式
JPH0310141B2 (zh) 1983-12-28 1991-02-13 Tokyo Shibaura Electric Co
JPH0114189Y2 (zh) 1984-02-29 1989-04-25
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 池田物産株式会社 車輌用成形天井におけるブラケットの取付機構
JPH0564931B2 (zh) 1987-02-17 1993-09-16 Otsuka Pharma Co Ltd
US4972316A (en) 1987-03-30 1990-11-20 International Business Machines Corporation Method of handling disk sector errors in DASD cache
US4885789A (en) * 1988-02-01 1989-12-05 International Business Machines Corporation Remote trusted path mechanism for telnet
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 (en) * 1988-05-31 1989-12-07 Toshiba Corp Control system for information memory
JPH0239256A (en) * 1988-07-28 1990-02-08 Toshiba Corp Memory system
US5047614A (en) * 1989-01-23 1991-09-10 Bianco James S Method and apparatus for computer-aided shopping
US5394531A (en) 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
DE69033438D1 (de) 1989-04-13 2000-03-02 Sandisk Corp Austausch von fehlerhaften Speicherzellen einer EEprommatritze
JPH02273843A (en) 1989-04-14 1990-11-08 Nec Corp Swapping device
US5900870A (en) 1989-06-30 1999-05-04 Massachusetts Institute Of Technology Object-oriented computer user interface
JPH03147157A (en) 1989-11-02 1991-06-24 Nec Eng Ltd Information processor
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
JPH03260757A (en) * 1990-03-09 1991-11-20 Toshiba Corp Decentralized computer network
JPH03294942A (en) 1990-04-12 1991-12-26 Hitachi Higashi Shohin Eng Kk File backup system and information copying system
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 (en) 1990-11-30 1992-07-27 Matsushita Electric Ind Co Ltd Storage device control method
US5221838A (en) * 1990-12-24 1993-06-22 Motorola, Inc. Electronic wallet
JPH04246746A (en) 1991-02-01 1992-09-02 Hitachi Ltd Storage device system
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 データ処理装置
JPH0559537A (ja) 1991-09-03 1993-03-09 Sony Corp 蒸着装置
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 データベース管理方式
US5297258A (en) 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
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 三菱電機株式会社 計算機
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
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 가나이 쯔또무 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5359508A (en) * 1993-05-21 1994-10-25 Rossides Michael T Data collection and retrieval system for registering charges and royalties to users
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
US5581479A (en) * 1993-10-15 1996-12-03 Image Telecommunications Corp. Information service control point, which uses different types of storage devices, which retrieves information as blocks of data, and which uses a trunk processor for transmitting information
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
DE69527383T2 (de) 1994-02-22 2003-03-27 Advanced Micro Devices Inc Virtuelle Speicheranordnung
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
EP0811228B1 (en) 1994-10-18 2001-04-18 Iomega Corporation Disk cartridge detection methods and apparatus
JPH08137634A (ja) 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US6879266B1 (en) 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
EP0806015A4 (en) 1995-01-23 2003-09-03 Compaq Computer Corp 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
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
US5819285A (en) * 1995-09-20 1998-10-06 Infonautics Corporation Apparatus for capturing, storing and processing co-marketing information associated with a user of an on-line computer service using the world-wide-web.
US5717860A (en) * 1995-09-20 1998-02-10 Infonautics Corporation Method and apparatus for tracking the navigation path of a user on the world wide web
US5809280A (en) 1995-10-13 1998-09-15 Compaq Computer Corporation Adaptive ahead FIFO with LRU replacement
US5717954A (en) 1995-10-13 1998-02-10 Compaq Computer Corporation Locked exchange FIFO
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system
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
US5794210A (en) * 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
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
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5758056A (en) 1996-02-08 1998-05-26 Barr; Robert C. Memory system having defective address identification and replacement
US6189030B1 (en) * 1996-02-21 2001-02-13 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US5751956A (en) * 1996-02-21 1998-05-12 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US5855020A (en) * 1996-02-21 1998-12-29 Infoseek Corporation Web scan process
US5963915A (en) * 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
US5806074A (en) 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5905736A (en) * 1996-04-22 1999-05-18 At&T Corp Method for the billing of transactions over the internet
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
KR0174711B1 (ko) 1996-04-24 1999-04-15 김광호 하드디스크 캐시의 제어방법
DE897158T1 (de) 1996-04-29 1999-07-22 G Nauchnotekhnichesky Ts Giper Verfahren zur automatischen verarbeitung von information über benutzerdaten
US6018619A (en) * 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5935207A (en) * 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
JPH1040170A (ja) * 1996-07-26 1998-02-13 Toshiba Corp ディスクキャッシュシステム
US6073241A (en) * 1996-08-29 2000-06-06 C/Net, Inc. Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state
US6026293A (en) 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
US5996054A (en) 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
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
JPH1091488A (ja) 1996-09-12 1998-04-10 Sony Corp データ処理装置および方法
US6321234B1 (en) 1996-09-18 2001-11-20 Sybase, Inc. Database server system with improved methods for logging transactions
GB9620370D0 (en) 1996-09-30 1996-11-13 Nokia Mobile Phones Ltd Memory device
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
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US5960409A (en) * 1996-10-11 1999-09-28 Wexler; Daniel D. Third-party on-line accounting system and method therefor
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
JPH10154101A (ja) 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JPH10177563A (ja) 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
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
US6643696B2 (en) * 1997-03-21 2003-11-04 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
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
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
US6247047B1 (en) * 1997-11-18 2001-06-12 Control Commerce, Llc Method and apparatus for facilitating computer network transactions
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
US6298356B1 (en) * 1998-01-16 2001-10-02 Aspect Communications Corp. Methods and apparatus for enabling dynamic resource collaboration
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
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
US6434696B1 (en) 1998-05-11 2002-08-13 Lg Electronics Inc. Method for quickly booting a computer system
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
US6714935B1 (en) 1998-09-21 2004-03-30 Microsoft Corporation Management of non-persistent data in a persistent database
US6209088B1 (en) * 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6519597B1 (en) 1998-10-08 2003-02-11 International Business Machines Corporation Method and apparatus for indexing structured documents with rich data types
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 구자홍 플래시 메모리 접근 방법
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
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
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
WO2001011486A3 (en) 1999-08-05 2003-04-17 Oracle Corp Internet file 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
US6401093B1 (en) 1999-03-31 2002-06-04 International Business Machines Corporation Cross file system caching and synchronization
US20030070065A1 (en) 1999-03-31 2003-04-10 Fleming Bruce L. Suspending to nonvolatile storage
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
US6486891B1 (en) * 1999-06-03 2002-11-26 Ann M. Rice Automated bookmarking of online advertisements
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
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
EP1157336B1 (en) 1999-12-17 2009-07-29 Nxp B.V. Data processor with cache
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
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
JP3562419B2 (ja) * 2000-02-01 2004-09-08 日本電気株式会社 電子交換機
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 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
US6684294B1 (en) 2000-03-31 2004-01-27 Intel Corporation Using an access log for disk drive transactions
US6633978B1 (en) 2000-03-31 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for restoring computer resources
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
JP2001290836A (ja) 2000-04-07 2001-10-19 Nec Corp 利用履歴登録装置及びデータベース検索式自動生成装置
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
WO2001088720A3 (en) 2000-05-15 2003-10-02 Superspeed Software Inc System and method for high-speed substitute cache
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 独立行政法人科学技術振興機構 バックアップ装置
WO2002001364A3 (en) * 2000-06-23 2002-04-04 Intel Corp Non-volatile cache integrated with mass storage device
DE10196380T1 (de) 2000-06-23 2003-10-16 Intel Corp Nicht-flüchtiger Cache
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
US6704835B1 (en) * 2000-09-26 2004-03-09 Intel Corporation Posted write-through cache for flash memory
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
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
WO2002057917A3 (en) 2001-01-22 2003-04-24 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 ディスク装置
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 France S.A. 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 ストレージ装置のライトキャッシュ制御方法及びストレージ装置
US20030154314A1 (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
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
US6901499B2 (en) 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
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
KR100610354B1 (ko) * 2002-03-19 2006-08-09 삼성전자주식회사 플래시메모리를 이용한 휴대용단말기의 정보처리시스템제어장치 및 제어방법
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 日本電気株式会社 ページングシステム、ページング方法、および、ページングプログラム
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
EP1527392B1 (en) 2002-07-23 2011-11-16 Research In Motion Limited Data store management system and method for wireless devices
JP2004054845A (ja) 2002-07-24 2004-02-19 Sony Corp データ管理装置
JP4026753B2 (ja) 2002-07-25 2007-12-26 株式会社日立製作所 半導体集積回路
US20040034765A1 (en) 2002-08-14 2004-02-19 James O?Apos;Connell Daniel Method and apparatus for booting a computer system
US7043610B2 (en) 2002-08-19 2006-05-09 Aristos Logic Corporation System and method for maintaining cache coherency without external controller intervention
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
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
US7502791B2 (en) 2002-11-26 2009-03-10 Norsync Technology A/S Database constraint enforcer
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 コンピュータシステムの機能拡張方法
CA2426606A1 (en) 2003-04-25 2004-10-25 Ibm Canada Limited - Ibm Canada Limitee Using buffer to facilitate log catchup for online operations
US20050286855A1 (en) 2003-04-25 2005-12-29 Matsushita Electric Industrial Co., Ltd. Data recording apparatus
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
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
WO2005038778A1 (en) 2003-10-17 2005-04-28 Koninklijke Philips Electronics N.V. Signal encoding
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 France 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
JP2005191413A (ja) 2003-12-26 2005-07-14 Toshiba Corp 不揮発性半導体記憶装置
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
US7143120B2 (en) 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US7366740B2 (en) 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP4392601B2 (ja) 2004-05-07 2010-01-06 パナソニック株式会社 データアクセス装置および記録媒体
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
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
US20070266199A1 (en) 2004-09-07 2007-11-15 Freescale Semiconductor, Inc. Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache
JP4192129B2 (ja) 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
US7505958B2 (en) 2004-09-30 2009-03-17 International Business Machines Corporation Metadata management for a data abstraction model
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
JP4689247B2 (ja) 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
KR100643287B1 (ko) 2004-11-19 2006-11-10 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
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 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
US20060210497A1 (en) 2005-03-18 2006-09-21 Unilever Home & Personal Care Usa, Division Of Conopco, Inc. Novel resorcinol derivatives
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
US20070033356A1 (en) 2005-08-03 2007-02-08 Boris Erlikhman System for Enabling Secure and Automatic Data Backup and Instant Recovery
US7409489B2 (en) 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
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
JP2007233896A (ja) 2006-03-03 2007-09-13 Hitachi Ltd ストレージ装置及びその制御方法
JP4246746B2 (ja) 2006-03-23 2009-04-02 富士通株式会社 コンテンツ復号装置、コンテンツ受信装置、コンテンツ復号方法、コンテンツ受信方法およびコンテンツ復号プログラム
ES2498096T3 (es) 2006-03-31 2014-09-24 Mosaid Technologies Incorporated Esquema de control de sistema de memoria Flash
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
US20080172518A1 (en) 2007-01-11 2008-07-17 Sandisk Il Ltd. Systems For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
EP2115593A4 (en) 2007-01-26 2013-01-09 Hicamp Systems Inc Hierarchical immutable content-addressable memory processor
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
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
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
US9722813B2 (en) 2008-09-08 2017-08-01 Tendril Networks, Inc. Consumer directed energy management systems and methods
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
US8352464B2 (en) 2009-07-24 2013-01-08 Peer Belt Inc. System and method for ranking documents through human assistance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256535B (zh) 2007-03-01 2011-03-09 创惟科技股份有限公司 硬盘资料读写快取装置及方法
WO2010088864A1 (zh) * 2009-02-09 2010-08-12 联想(北京)有限公司 存储数据读取装置和方法以及计算机装置

Also Published As

Publication number Publication date Type
CN100498677C (zh) 2009-06-10 grant
US20110276743A1 (en) 2011-11-10 application
JP5065587B2 (ja) 2012-11-07 grant
CA2523761C (en) 2015-04-21 grant
JP2006134321A (ja) 2006-05-25 application
US8006037B2 (en) 2011-08-23 grant
US20160210058A1 (en) 2016-07-21 application
KR20060049129A (ko) 2006-05-18 application
EP1650666A3 (en) 2007-07-11 application
RU2005132448A (ru) 2007-04-27 application
US9690496B2 (en) 2017-06-27 grant
KR101246982B1 (ko) 2013-03-26 grant
US20100217929A1 (en) 2010-08-26 application
US7805571B2 (en) 2010-09-28 grant
EP1650666A2 (en) 2006-04-26 application
US20060090031A1 (en) 2006-04-27 application
US20150058545A1 (en) 2015-02-26 application
RU2395115C2 (ru) 2010-07-20 grant
US20090144495A1 (en) 2009-06-04 application
CA2523761A1 (en) 2006-04-21 application
US7490197B2 (en) 2009-02-10 grant
US8909861B2 (en) 2014-12-09 grant
JP2012181863A (ja) 2012-09-20 application
US9317209B2 (en) 2016-04-19 grant

Similar Documents

Publication Publication Date Title
Shafer et al. The hadoop distributed filesystem: Balancing portability and performance
US7055009B2 (en) Method, system, and program for establishing and maintaining a point-in-time copy
US20090064136A1 (en) Utilizing system configuration information to determine a data migration order
US20120198152A1 (en) System, apparatus, and method supporting asymmetrical block-level redundant storage
Patterson et al. A status report on research in transparent informed prefetching
US20090287890A1 (en) Optimizing write traffic to a disk
US20090063749A1 (en) Tracking data updates during memory migration
US20050278492A1 (en) Method, system, and program for migrating source data to target data
US20080235477A1 (en) Coherent data mover
US20100191922A1 (en) Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata
US20120066677A1 (en) On demand virtual machine image streaming
US20070162700A1 (en) Optimizing write and wear performance for a memory
US20060271740A1 (en) Performing read-ahead operation for a direct input/output request
US20130262746A1 (en) Enhancing the lifetime and performance of flash-based storage
US20090132621A1 (en) Selecting storage location for file storage based on storage longevity and speed
US20070033341A1 (en) Storage system for controlling disk cache
US20030088591A1 (en) Data storage device with deterministic caching and retention capabilities to effect file level data transfers over a network
US20070174551A1 (en) Variable caching policy system and method
US20130132057A1 (en) Throttle disk i/o using disk drive simulation model
US20050262150A1 (en) Object-based storage
US20050071586A1 (en) Method, system, and program for asynchronous copy
US7308543B2 (en) Method and system for shredding data within a data storage subsystem
US6430653B1 (en) Disk control unit and method for prefetching according to partition information and concatenation information
US20070106849A1 (en) Method and system for adaptive intelligent prefetch
CN101419535A (zh) 虚拟机的分布式虚拟磁盘系统

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C14 Grant of patent or utility model
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model