CN1465009A - 与大容量存储装置集成的非易失性高速缓冲存储器 - Google Patents

与大容量存储装置集成的非易失性高速缓冲存储器 Download PDF

Info

Publication number
CN1465009A
CN1465009A CN01814277A CN01814277A CN1465009A CN 1465009 A CN1465009 A CN 1465009A CN 01814277 A CN01814277 A CN 01814277A CN 01814277 A CN01814277 A CN 01814277A CN 1465009 A CN1465009 A CN 1465009A
Authority
CN
China
Prior art keywords
volatile
data
mass storage
storage medium
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN01814277A
Other languages
English (en)
Inventor
R·库尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1465009A publication Critical patent/CN1465009A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

与包括非易失性高速缓存器的非易失性大容量存储装置相关的装置和方法。

Description

与大容量存储装置集成的非易失性高速缓冲存储器
发明领域
本发明的实施例涉及数据存储器。更具体地说,本发明的实施例涉及具有非易失性高速缓冲存储器(以下简称高速缓存器)的大容量存储装置。
发明背景
计算机既可在易失性存储器也可在非易失性大容量存储装置中存储数据。易失性存储器的例示包括但不限于,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、Rambus动态随机存取存储器(RDRAM)等。非易失性大容量存储装置的例示包括但不限于,硬盘驱动器、3.5英寸磁盘、5.25英寸软盘、ZIP@盘(例如,由Roy,Utah的Iomega公司制造)、Jaz@盘(例如,由Iomega公司制造)、LS-120 Superdisk(超级盘)(例如,由Oakdale,Minnesota的Imation公司制造)、可重写的数字通用盘(DVD-RAM)、读/写光盘(CD-RW)、大容量磁存储装置、大容量光存储装置、大容量磁光存储装置、全息存储装置等。存储在计算机非易失性存储器中的数据的例示包括计算机指令(例如,操作系统、一个或多个应用程序等)以及由计算机指令访问的数据。
当易失性存储器掉电时,存储在易失性存储器中的数据通常会丢失。当非易失性大容量存储装置掉电时(例如,由于停电等原因,计算机电源被断开时),诸如硬盘驱动器等非易失性大容量存储装置通常不会丢失存储在其中的数据。然而,与易失性存储器相比,通常非易失性存储器恢复和存储数据的存取时间明显长。非易失性存储器每存储单位(例如每兆字节、每千兆字节等)通常也比诸如DRAM、SRAM、RDRAM等一些易失性存储器便宜。
除了易失性存储器和非易失性存储器,计算机通常包括能够根据指令和数据执行操作的处理器。因为更快的易失性存储器的存储器存取时间通常远远小于非易失性大容量存储装置,所以将被处理器操作的指令和数据可以从较慢的非易失性大容量存储装置(例如硬盘驱动器等)拷贝到更快的易失性存储器(例如,DRAM主存储器、SRAM高速缓存器等)。当减少存储器存取时间时,可提高处理器性能与计算机性能。
因为非易失性大容量存储装置(例如磁盘驱动器)的存储器存取时间通常比易失性存储器(例如,DRAM主存储器、SRAM高速缓存器等)的存储器存取时间长,所以非易失性大容量存储装置经常是性能瓶颈。已知的磁盘驱动器包括易失性高速缓存器(例如,DRAM高速缓存器、SRAM高速缓存器),但是这些易失性高速缓存器通常是磁盘驱动器的微控制器的主存储器地址空间的一部分,因此它是按字节寻址的。鉴于上述内容,可以认识到,存在可提高计算机系统性能的方法和装置的基本需求。
附图概述
图1显示根据本发明实施例的计算机系统的图示。
图2显示根据本发明实施例的非易失性高速缓存器的组织图示。
图3显示根据本发明实施例的方法。
图4显示根据本发明实施例的方法。
详细描述
根据本发明的实施例,非易失性大容量存储装置包括非易失性高速缓存器。非易失性高速缓存器能够存储被写入非易失性大容量存储装置的大容量主存储媒体或能够从其中读取的信息。在数据读取方面,与从非易失性大容量存储装置的大容量主存储媒体读取数据的存取时间相比,非易失性高速缓存器的存取时间较少。在从非易失性高速缓存器而不是从非易失性大容量存储装置的大容量主存储媒体中读取存储在非易失性大容量存储装置中的数据时,结合了本发明实施例的计算机系统能够提高系统性能。
图1显示根据本发明实施例的计算机系统(“计算机”)的图示。计算机110可包括处理器120,该处理器耦合到存储器130,术语“耦合”包括直接连接、间接连接、直接通信、间接通信等。处理器120可以是例如加利福尼亚州Santa Clara的Intel公司制造的Pentium@III处理器、专用集成电路(ASIC)、微控制器等。存储器130包括诸如DRAM、RDRAM、SRAM、只读存储器(ROM)、快速存储器等存储数字信息的装置。在另一实施例中,系统总线能够在处理器120和系统部件之间提供通信路径。系统总线可以是外围部件互连(PCI)总线,扩展工业标准结构总线(EISA)等。
在一个实施例中,芯片集可耦合到处理器120和其它诸如存储器130、大容量存储装置140、连在扩展总线上的外围部件等的系统部件并管理它们之间的相互作用。术语芯片集包括由一个或多个集成电路芯片组成的组,充当集线器(或核心)在处理器和其它系统部件之间传送数据。芯片集的例示包括Intel公司制造的820和810E芯片集。芯片集可以是单个集成电路芯片或者可以包括两个或更多集成电路芯片。芯片集可包括存储器控制集线器。在包括PCI总线的实施例中,存储器控制集线器能够执行被称为“北桥功能”的功能。芯片集可包括输入/输出控制器集线器。在包括PCI总线的实施例中,输入/输出控制器集线器能够执行被称为“南桥功能”的功能。
处理器120还经通信路径135与大容量存储装置140耦合。在一个实施例中,通信路径135可以是集成设备电路(IDE)总线、增强型IDE(EIDE)总线、AT嵌入式接口(ATA)总线等。在另一实施例中,通信路径135可以是诸如小型计算机系统接口(SCSI)、IEEE1394总线、通用串行总线(USB)等的扩展总线。
大容量存储装置140的例示包括硬盘驱动器、ZIP@驱动器、Jaz@驱动器、CD-RW驱动器、DVD-RAM驱动器、LS-120 Superdisk驱动器、磁存储装置、光存储装置、磁光存储装置、全息存储装置等。硬盘驱动器的例示是加利福尼亚Scotts Valley的Seagate技术公司制造的Cheetah 18XL硬盘驱动器。
大容量存储装置140可包括大容量存储装置控制器141、大容量主存储媒体148以及非易失性高速缓存器149。大容量存储装置控制器141可包括微控制器142、存储器143、接口逻辑部件144、大容量主存储媒体ECC(错误控制和检验)逻辑部件145以及非易失性高速缓存器ECC逻辑部件146。在本发明的另一实施例中,大容量存储装置控制器141可包括实现操作大容量存储装置140功能的一个或多个ASIC(例如,第一ASIC结合处理器、存储器和接口逻辑部件,第二ASIC实现ECC逻辑部件等)
微控制器142可执行存储在存储器143中的指令以控制大容量存储装置140的操作(例如,存储器143可包括只读存储器,该存储器存储程序指令以在加电后初始化并操作大容量存储装置140,存储器143能够存储指令以执行从大容量存储装置140的数据读取,存储器143能够存储指令以控制大容量存储装置140的格式化和/或向大容量存储装置140写数据等)。存储器143还可包括缓冲器(例如易失存储缓冲器等),该缓冲器能够暂时保留向大容量存储装置140写入或从中读取的数据。
微控制器142和接口逻辑部件144能够处理来自处理器120的请求以从大容量存储装置140读取或向其写入数据。在一个实施例中,大容量存储装置140是硬盘驱动器而接口逻辑部件144可以是IDE接口逻辑部件、EIDE接口逻辑部件、ATA接口逻辑部件、SCIC接口逻辑部件、光纤通道接口逻辑部件、InfiniBand接口逻辑部件等。在另一实施例中,大容量存储装置140是CD-RW驱动器或DVD-RAM驱动器而接口逻辑部件144是ATA分组接口(ATAPI)逻辑部件。术语“逻辑部件”包含硬件、固件、软件、它们的组合等。
在一个实施例中,大容量存储装置140是硬盘驱动器,而大容量主存储媒体148包括一张或多张盘片。每张盘片可具有一个或多个可记录盘面,而每个可记录盘面可由一个特殊的读/写头进行读/写。每个盘面可被划分为多个纹迹;而每个纹迹可以被划分为多个物理扇区。当硬盘驱动器有多个可记录盘面时,所有可记录盘面上位于相同半径处的所有纹迹的集合称为柱面。硬盘驱动器每个物理扇区的位置可以由指定柱面、磁头(盘面)和物理扇区的物理地址指定。
在另一实施例中,当处理器从硬盘驱动器请求数据时,该请求不指定数据的物理地址而指定数据的逻辑地址。硬盘数据的逻辑地址可包括逻辑扇区地址、逻辑块地址等。当硬盘驱动器被格式化时,硬盘驱动器的硬盘驱动器控制器能够将所有物理扇区组编为逻辑扇区(例如,给每个物理扇区分配一个逻辑扇区地址等),并且映射算法能够将每个逻辑扇区地址映射为一个特定的物理地址。当向硬盘驱动器发出的读/写请求指定逻辑扇区地址时,该硬盘驱动器可被认为是面向扇区的(即可扇区寻址的)。硬盘驱动器控制器还可将物理扇区集合映射为特定的逻辑块地址。当向硬盘驱动器发出的读/写请求指定一个逻辑块地址时,该硬盘驱动器可被认为是面向块的(即可块寻址的)。
非易失性高速缓存器149可高速缓存通常存储在大容量主存储媒体148中的数据。非易失性高速缓存器149可高速缓存从大容量主存储媒体148中读取和向其写入的数据。与大容量主存储媒体148的存取时间相比,非易失性高速缓存器149能够具有更快的存取时间。因此,与从大容量主存储媒体148读/写数据相比,从大容量存储装置140读取数据和写入数据能够更快地完成。在一个实施例中,与数据读/写相比,到非易失性高速缓存器149的数据读/写需要更少的电量。可以实现写回算法(即,从非易失性高速缓存器149向大容量主存储媒体148写回)以提高高速缓存性能。在另一实施例中,实现直写式高速缓存。
非易失性高速缓存器149能够存储经常使用的大容量存储装置数据的复制本并为那些经常使用的数据提供减少的存取时间。在一个实施例中,当数据从大容量主存储媒体148中被读取并在通信路径135上发送时,数据副本可存储在非易失性高速缓存器149中。当数据在通信路径135上被发送到大容量存储装置140以被存储时,可以根据写回算法、直写协议等将数据写入非易失性高速缓存器149并写入大容量主存储媒体148。由于非易失性高速缓存器149是非易失性存储器,当断开电源(例如,大容量存储装置140的电源、计算机110的电源等)时,保存在非易失性高速缓存器中的数据一般不会丢失。非易失性高速缓存器149可以是任何类型的存储器,当取消或断开非易失性高速缓存器149的外部电源时,该存储器可被读取/写入并保留它的数据。
非易失性高速缓存器149可以是例如快速存储器、电池后备DRAM、电池后备SRAM、原子力探针存储器、磁RAM、铁电RAM、全息存储器、存储器阵列等。在一个实施例中,从非易失性高速缓存器149中的读取可以是破坏性读取。非易失性高速缓存器149可以是面向块的高速缓存器,其中数据在逻辑块中被访问(例如写、读等)。例如,当大容量存储装置140接收数据请求时(例如,从大容量存储装置140向通信路径135上读取数据的数据请求、从通信路径135向大容量存储装置140写入数据的数据请求等),数据请求可以包含为逻辑块地址、逻辑扇区地址等的地址。在本发明的一个实施例中,每个存储在非易失性高速缓存器149中的数据入口都对应于存储在大容量主存储媒体148的逻辑地址中的数据。
在一个实施例中,其中大容量存储装置140是硬盘驱动器,因为从非易失性高速缓存器149读/写数据不需要预热时间,该预热时间是伴随从硬盘驱动器盘片写/读数据发生的(例如,旋转盘片直至工作速度,放置读/写磁头等),所以非易失性高速缓存器149能够提高系统性能。例如,相对硬盘驱动器盘片,当从非易失性高速缓存器149读取启动信息(例如,操作系统数据、装置驱动器、应用数据等)时,可减少计算机110启动系统所需的时间。还可减少计算机110的用户所经历的击键/点击鼠标的等待时间。
在一个实施例中,高速缓存器管理指令能够管理从非易失性高速缓存器149读取/写入的数据。高速缓存器管理指令可存储在存储器143中,可以是大容量存储装置驱动器的一部分等。高速缓存器管理指令能够决定什么数据可被高速缓存,什么数据可被逐出高速缓存器,什么数据可被写回到大容量主存储媒体,何时发生数据写回等。高速缓存器管理指令还可确定什么数据可被预取到非易失性高速缓存器149中。可使用已知的高速缓存器管理算法作出高速缓存器管理决定,例如某些数据是否应该被高速缓存到非易失性高速缓存器149中。例如,当高速缓存器管理算法确定从大容量装置140读取的数据在近期再被读到的可能性小(例如,数据是MP3音频文件的一部分、WAV文件的一部分、AVI文件的一部分、流数据文件的一部分等),那么该数据不需要被高速缓存。另外,当从非易失性高速缓存器149向大容量主存储媒体148写数据有利时,高速缓存器管理指令能够利用诸如最近最少使用(LRU)算法、随机替代算法等确定写回什么数据。
在一个实施例中,大容量存储装置140的大容量存储装置驱动器可以是典型的大容量存储装置驱动器(例如,WIN98环境中的ATAPI.SYS等),并且高速缓存器管理指令可被存储在存储器143中。在这样一个实施例中,非易失性高速缓存器的存在对于操作系统可以是透明的。在另一实施例中,高速缓存器管理指令可以是大容量存储装置控制器141的高速缓存器管理逻辑部件的一部分。
从大容量主存储媒体148读取的数据可由大容量主存储媒体ECC逻辑部件145处理,而从非易失性高速缓存器149读取的数据可由非易失性高速缓存器ECC逻辑部件146处理。每个大容量主存储媒体ECC逻辑部件145和非易失性高速缓存器ECC逻辑部件146能够在比特或多比特级检测错误并在数据被发送到通信路径135时纠正这些错误。
图2显示根据本发明的一个实施例,非易失性高速缓存器的组织图示。非易失性高速缓存器200(例如,图1的非易失性高速缓存器149)可存储多个高速缓存入口205。每个高速缓存入口205可包括表入口域210和数据入口220。数据入口220可包括有效域222、修改域224、地址域226、数据域228和ECC域229。
高速缓存入口205的表入口域210可对应于高速缓存入口205的每个数据入口220的标记/索引信息。多个表入口域210可包含高速缓存目录表215,并且可访问高速缓存目录以确定大容量存储装置(例如,硬盘驱动器的磁盘扇区、硬盘驱动器的逻辑块等)中特定的一组数据是否出现在非易失性高速缓存器中。在一个实施例中,高速缓存入口205的表入口域210可存储高速缓存入口205的数据入口220的地址(例如,逻辑扇区地址、逻辑块地址等)。为了确定大容量存储装置中特定的一组数据是否出现在非易失性高速缓存器中,例如可用已知的搜索算法搜索高速缓存目录表215。或者,可用散列算法将高速缓存目录排序。在大容量存储装置是硬盘驱动器的实施例中,非易失性高速缓存器中所请求磁盘扇区的存在可以通过将所请求磁盘的扇区地址和存储在高速缓存目录表215中的扇区地址进行比较来确定。在一个实施例中,非易失性高速缓存器可以是全相关高速缓存器。在另一实施例中,非易失性高速缓存器可以是一组相关高速缓存器。
在一个实施例中,存储在大容量存储装置的非易失性高速缓存器中的各个高速缓存入口205对应于大容量存储装置的逻辑块。在另一实施例中,存储在大容量存储装置的非易失性高速缓存器中的各个高速缓存入口205对应于大容量存储装置的扇区(例如,物理扇区、逻辑扇区)。
在一个实施例中,非易失性高速缓存器中有2000000个高速缓存入口205,在高速缓存目录表215中有2000000个表入口。在这个实施例中,高速缓存目录表215的每个表入口长度可以是四字节长,并且高速缓存目录表215可使用非易失性存储器的八兆字节。通过包括每个高速缓存入口中的一块多磁盘扇区,可减少高速缓存目录表215的大小(进而提高平均高速缓存存取速度)。
在一个实施例中,高速缓存入口205的数据入口220可具有有效域222、修改域224、地址域226、数据域228以及ECC域229。当高速缓存入口205包含有效数据时,有效域222可被设置为“有效”(例如,逻辑1和逻辑0中的一个等),而当高速缓存入口205不包含有效数据时,有效域222可被设置为“无效”(例如,逻辑1或逻辑0中的另一个等)。例如,当从非易失性高速缓存器中逐出数据以允许其它数据被高速缓存到非易失性高速缓存器中时,被逐出数据入口的有效域可从“有效”改为“无效”以表示这些高速缓存入口不再存储高速缓存的数据。如果高速缓存入口205中的数据与存储在大容量存储装置的大容量主存储媒体上对应位置的数据不同,则修改域224可被设置为“已修改”。例如,并参考图1和2,当对应于大容量存储装置140的逻辑地址的数据被写回到大容量存储装置140并存储在非易失性高速缓存器149中,并且那个数据在从大容量主存储媒体140中读取后被修改了,那么非易失性高速缓存入口205的修改域224可被设为“已修改”以表示对应于存储在非易失性高速缓存器149中的那个逻辑地址的数据副本不同于对应于存储在大容量主存储媒体148上的那个逻辑地址的数据。修改域224可被称为“页面重写标志位”并且当数据被成功写回大容量主存储媒体148并保留在非易失性高速缓存器149时可被清除。
地址域226可包含存储在高速缓存入口205中的数据的地址(例如,逻辑地址、物理地址)。在大容量存储装置是硬盘驱动器的实施例中,地址域226可存储扇区地址而且可被称为“扇区标识符”。在这样一个实施例中,其中数据的逻辑块被高速缓存在非易失性高速缓存器中(例如,对应于多个扇区的各个逻辑块),地址域226可包含逻辑块的启始扇区地址,其中每个逻辑块具有已知的固定长度。
数据域228可存储高速缓存入口205的数据。在大容量存储装置是硬盘驱动器的实施例中,数据域228可包含数据磁盘扇区(例如,512字节)、数据逻辑块等。ECC域229可为高速缓存入口205的数据存储纠错码。在一个实施例中,数据的每个逻辑块与一个纠错码关联。
图3显示根据本发明实施例的方法。在本发明的一个实施例中,大容量存储装置接收数据请求(例如,来自处理器120的请求、来自计算机110的操作系统的请求、来自在计算机110上执行的应用的请求等)(框310)。确定所请求数据是否存储在大容量存储装置的非易失性高速缓存器中(框320)。在一个实施例中,数据请求包括地址,而该地址用于产生高速缓存命中或高速缓存未命中表示。在另一实施例中,高速缓存目录包括高速缓存在非易失性高速缓存器中的数据的地址,并且能够根据高速缓存目录和所请求数据的地址产生所请求数据被高速缓存在非易失性高速缓存器中的表示。当所请求数据被存储在非易失性高速缓存器中时,从非易失性高速缓存器中读取数据(框330),可对所读取数据执行错误检查和纠正(框335),并且可从大容量存储装置发送该数据(框340)。当所请求数据未被存储在非易失性高速缓存器中时,可从大容量存储装置的大容量主存储媒体中读取该数据(框360),可对所读取数据执行错误检查和纠正(框365),可从大容量存储装置发送数据(框370),并且可将该数据写入非易失性高速缓存器(框375)。
图4显示根据本发明实施例的方法。接收在非易失性大容量存储装置中存储数据的请求(框410)。例如,正在文字处理程序中编辑文件的用户可命令文字处理程序保存文件。作为另一例示,文字处理程序可包括定时保存文件的自动保存功能。作为另一例示,操作系统可命令存储在主存储器(例如DRAM)中的数据存储到硬盘驱动器或其它非易失性存储器中(例如,以便为其它数据释放主存储器空间等)。可作出决定是否将数据存储到非易失性高速缓存器中(框420)。当作出决定将数据存储到非易失性高速缓存器中,则该数据可被存储到非易失性高速缓存器中(框430)。在一个实施例中,在非易失性高速缓存器中存储数据包括更新非易失性高速缓存器的高速缓存目录表(框440),当作出决定不将数据存储在非易失性高速缓存器中时,则该数据可被存储到非易失性大容量存储装置的大容量主存储媒体中(框450)。
根据本发明的一个实施例,适合被处理器执行以执行一个方法的指令被存储在计算机可读媒体上。计算机可读媒体可以是存储数字信息的装置。例如,计算机可读媒体包括在本领域已知的存储软件和/或固件(例如微码)的ROM。计算机可读媒体可由适合执行适合被执行的指令的处理器访问。术语“适合被执行”表示包含在其当前形式下(例如机器代码)准备好由处理器执行,或需要进一步操作(例如,编辑、解密或提供存取码等)以使其准备好由处理器执行的任何指令。
根据本发明实施例的方法和装置能够有利地高速缓存从非易失性高速缓存器的大容量存储装置中读取或向其写入的数据。即使当非易失性高速缓存器和大容量存储装置的外部电源被断开时,非易失性高速缓存器也可保留其数据。本发明的实施例能够减少从大容量存储装置读取或向其写入数据的存取时间并因此提高具有大容量存储装置的系统的系统性能。
已经描述了在大容量存储装置的非易失性高速缓存器中存储数据的方法和装置的实施例。为了解释,以上描述中列举了大量特定细节以提供对本发明的透彻理解。然而本领域的技术人员将认识到,没有这些特定细节,本发明也可以被付诸实行。在其它例示中,以方框图形式显示了结构和装置。而且,本领域的技术人员能够容易认识到,介绍和执行方法的特定顺序是说明性的,并且可以预期,该顺序可被改变并仍处于本发明的精神和范围中。
在以上详细的描述中,参考特定例示性实施例描述了根据本发明实施例的装置和方法。因此,此说明书和附图将被视为说明性的而非限制性的。

Claims (19)

1.一种数据存储装置,所述装置包括非易失性大容量存储装置,所述非易失性大容量存储装置包括非易失性高速缓存器。
2.如权利要求1所述的装置,其特征在于所述非易失性大容量存储装置是面向块的而且所述非易失性高速缓存器是面向块的。
3.如权利要求1所述的装置,其特征在于所述非易失性大容量存储装置是面向扇区的而且所述非易失性高速缓存器是面向扇区的。
4.如权利要求1所述的装置,其特征在于所述非易失性大容量存储装置是硬盘驱动器。
5.如权利要求1所述的装置,其特征在于所述非易失性大容量存储装置包括具有第一非易失性存储媒体的大容量主存储媒体,所述非易失性高速缓存器包括第二非易失性存储媒体,所述第一非易失性存储媒体是与所述第二非易失性存储媒体不同类型的非易失性存储媒体。
6.如权利要求5所述的装置,其特征在于所述大容量主存储媒体包括具有可记录表面以存储数据的盘片。
7.如权利要求5所述的装置,其特征在于还包含:
第一纠错逻辑部件,以处理从所述大容量主存储媒体读取的数据;以及
第二纠错逻辑部件,以处理从所述非易失性高速缓存器读取的数据。
8.如权利要求1所述的装置,其特征在于所述非易失性高速缓存器包括非易失性存储阵列。
9.一种计算机系统,它包含:
处理器;
与所述处理器耦合的存储器;以及
与所述处理器耦合的非易失性大容量存储装置,所述非易失性大容量存储装置具有:
大容量主存储媒体,以及
与所述大容量主存储媒体耦合的非易失性高速缓存器。
10.如权利要求9所述的计算机系统,其特征在于所述大容量主存储媒体包括第一非易失性存储媒体,所述非易失性高速缓存器包括第二非易失性存储媒体,所述第一非易失性存储媒体是与所述第二非易失性存储媒体不同类型的非易失性存储媒体。
11.如权利要求9所述的计算机系统,其特征在于所述非易失性大容量存储装置是面向块的而且所述非易失性高速缓存器是面向块的。
12.如权利要求9所述的计算机系统,其特征在于所述非易失性大容量存储装置是面向扇区的而且所述非易失性高速缓存器是面向扇区的。
13.如权利要求9所述的计算机系统,其特征在于所述第一非易失性存储媒体是从由可记录磁媒体、可记录光媒体以及可记录磁光媒体组成的组中选出的可记录媒体。
14.如权利要求9所述的计算机系统,其特征在于所述第二非易失性存储媒体是从由电池供电的动态随机存取存储器、电池供电的静态随机存取存储器、快速存储器、原子探针存储存储器、铁电存储器以及全息存储器组成的组中选出的存储媒体。
15.一种处理数据请求的方法,所述方法包括:
接收对存储在非易失性大容量存储装置中的第一组数据的请求;
确定所述第一组数据存储在所述非易失性大容量存储装置的非易失性高速缓存器中;
从所述非易失性高速缓存器读取所述第一组数据;以及
发送所述第一组数据。
16.如权利要求15所述的方法,其特征在于:
从所述非易失性高速缓存器读取所述第一组数据包括对所述第一组数据的子集执行纠错;以及
发送从所述非易失性高速缓存器读取所述数据包括发送所述第一组数据的所述已纠错子集。
17.如权利要求16所述的方法,其特征在于还包括:
接收对存储在所述非易失性大容量存储装置中的第二组数据的请求;
确定所述第二组数据未存储在所述非易失性大容量存储装置的非易失性高速缓存器中;
从所述非易失性大容量存储装置的大容量主存储媒体读取所述第二组数据;
将所述第二组数据写入所述非易失性高速缓存器;以及
发送所述第二组数据。
18.如权利要求15所述的方法,其特征在于对第一组数据的所述请求是面向块的请求。
19.如权利要求15所述的方法,其特征在于对第一组数据的所述请求是面向扇区的请求。
CN01814277A 2000-06-23 2001-06-01 与大容量存储装置集成的非易失性高速缓冲存储器 Pending CN1465009A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60201100A 2000-06-23 2000-06-23
US09/602,011 2000-06-23

Publications (1)

Publication Number Publication Date
CN1465009A true CN1465009A (zh) 2003-12-31

Family

ID=24409616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01814277A Pending CN1465009A (zh) 2000-06-23 2001-06-01 与大容量存储装置集成的非易失性高速缓冲存储器

Country Status (7)

Country Link
JP (1) JP2004502237A (zh)
CN (1) CN1465009A (zh)
AU (1) AU2001266657A1 (zh)
DE (1) DE10196383T1 (zh)
GB (1) GB2380031B (zh)
TW (1) TW576966B (zh)
WO (1) WO2002001364A2 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041904B2 (en) 2004-05-03 2011-10-18 Microsoft Corporation Non-volatile memory cache performance improvement
CN101504629B (zh) * 2004-03-08 2012-04-11 桑迪士克股份有限公司 闪速存储器控制器高速缓存架构
CN102521147A (zh) * 2011-11-17 2012-06-27 曙光信息产业(北京)有限公司 一种使用高速非易失介质做缓存的管理方法
US8489815B2 (en) 2008-09-15 2013-07-16 Microsoft Corporation Managing cache data and metadata
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
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
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
CN107533528A (zh) * 2015-05-22 2018-01-02 惠普发展公司有限责任合伙企业 数据通道分配

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275135B2 (en) 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US7103724B2 (en) 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data
JP4327585B2 (ja) * 2003-12-25 2009-09-09 株式会社東芝 記憶装置
US7136973B2 (en) * 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
WO2005076137A1 (en) 2004-02-05 2005-08-18 Research In Motion Limited Memory controller interface
JP4131862B2 (ja) * 2004-07-01 2008-08-13 Dts株式会社 3.5インチ定形型ディスク形状を持ったデータトランスミッション装置
JP2006155434A (ja) * 2004-12-01 2006-06-15 Nec Engineering Ltd Pciバスコントローラ及びその動作制御方法並びにプログラム
KR20090040317A (ko) * 2006-07-05 2009-04-23 에이저 시스템즈 인크 무선 저장 디바이스로의 다중-사용자 액세스 시스템들 및 방법들
US8762636B2 (en) * 2006-12-14 2014-06-24 Emc Corporation Data storage system having a global cache memory distributed among non-volatile memories within system disk drives
FR2924836B1 (fr) * 2007-12-11 2010-12-24 Commissariat Energie Atomique Dispositif de service de fiabilite, systeme et procede electroniques mettant en oeuvre au moins un tel dispositif et produit de programme informatique permettant de mettre en oeuvre un tel procede.
JP4972064B2 (ja) * 2008-09-25 2012-07-11 シャープ株式会社 光ディスク駆動制御装置
JP5803614B2 (ja) * 2011-11-29 2015-11-04 ソニー株式会社 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム
US9842128B2 (en) * 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594885A (en) * 1991-03-05 1997-01-14 Zitel Corporation Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry
JPH06236241A (ja) * 1993-02-09 1994-08-23 Sharp Corp フラッシュメモリを用いたハードディスク装置
JPH0883148A (ja) * 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504629B (zh) * 2004-03-08 2012-04-11 桑迪士克股份有限公司 闪速存储器控制器高速缓存架构
US8041904B2 (en) 2004-05-03 2011-10-18 Microsoft Corporation Non-volatile memory cache performance improvement
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US8255645B2 (en) 2004-05-03 2012-08-28 Microsoft Corporation Non-volatile memory cache performance improvement
US9405693B2 (en) 2004-05-03 2016-08-02 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc 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
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
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
US8489815B2 (en) 2008-09-15 2013-07-16 Microsoft Corporation Managing cache data and metadata
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
CN102521147B (zh) * 2011-11-17 2015-03-25 曙光信息产业(北京)有限公司 一种使用高速非易失介质做缓存的管理方法
CN102521147A (zh) * 2011-11-17 2012-06-27 曙光信息产业(北京)有限公司 一种使用高速非易失介质做缓存的管理方法
CN107533528A (zh) * 2015-05-22 2018-01-02 惠普发展公司有限责任合伙企业 数据通道分配
US10642771B2 (en) 2015-05-22 2020-05-05 Hewlett-Packard Development Company, L.P. Data channel allocation
CN107533528B (zh) * 2015-05-22 2020-12-04 惠普发展公司有限责任合伙企业 数据通道分配

Also Published As

Publication number Publication date
GB0228874D0 (en) 2003-01-15
DE10196383T1 (de) 2003-07-03
GB2380031A (en) 2003-03-26
WO2002001364A3 (en) 2002-04-04
AU2001266657A1 (en) 2002-01-08
TW576966B (en) 2004-02-21
JP2004502237A (ja) 2004-01-22
GB2380031B (en) 2004-09-29
WO2002001364A2 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
CN1465009A (zh) 与大容量存储装置集成的非易失性高速缓冲存储器
US6941423B2 (en) Non-volatile mass storage cache coherency apparatus
US7568068B2 (en) Disk drive with cache having volatile and nonvolatile memory
JP3951918B2 (ja) 不揮発性キャッシュ
KR100771519B1 (ko) 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
US8200922B2 (en) Storage system snapshot assisted by SSD technology
US8122193B2 (en) Storage device and user device including the same
US8706985B1 (en) System and method for optimizing garbage collection in data storage
CN109643275B (zh) 存储级存储器的磨损均衡设备和方法
CN108121503B (zh) 一种NandFlash地址映射及块管理方法
US8719488B2 (en) Efficient mapping of data blocks in a flash cache
US8135901B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US8762661B2 (en) System and method of managing metadata
US9514055B2 (en) Distributed media cache for data storage systems
US7529879B2 (en) Incremental merge methods and memory systems using the same
US20070094445A1 (en) Method to enable fast disk caching and efficient operations on solid state disks
US20130198439A1 (en) Non-volatile storage
US20110258487A1 (en) Nand power fail recovery
US20070118688A1 (en) Flash-Memory Card for Caching a Hard Disk Drive with Data-Area Toggling of Pointers Stored in a RAM Lookup Table
JP2014160450A (ja) データストレージデバイスおよび書き込み方法
JP2013242908A (ja) ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
AU1578092A (en) Cache memory system and method of operating the cache memory system
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
US20140258591A1 (en) Data storage and retrieval in a hybrid drive

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication