CN2603974Y - 磁盘高速缓存装置 - Google Patents
磁盘高速缓存装置 Download PDFInfo
- Publication number
- CN2603974Y CN2603974Y CN 02294149 CN02294149U CN2603974Y CN 2603974 Y CN2603974 Y CN 2603974Y CN 02294149 CN02294149 CN 02294149 CN 02294149 U CN02294149 U CN 02294149U CN 2603974 Y CN2603974 Y CN 2603974Y
- Authority
- CN
- China
- Prior art keywords
- disk
- cache
- interface
- hdc
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本实用新型公开了一种磁盘高速缓存装置,它包括设置在缓存区被首先访问的位置上的非易失性存储器(例如闪存),其Cache控制器在系统复位之后只对该非易失性存储器进行访问,并在发生Cache填充冲突之后不对其中的数据进行替换,Cache控制器可以同硬磁盘控制器HDC相连、或者同一个接口HDC相连接,以取得磁盘扇区的地址和数据。该装置使用非易失性的闪存持久地保存系统引导过程所需访问的磁盘扇区,在随后的启动或重启过程中可有效地减少对磁盘的直接访问、加快系统引导。
Description
本实用新型涉及一种磁盘高速缓存装置。
在现有计算机存储体系结构中,磁盘(尤其是硬磁盘)是作为一种大容量、持久性的外部存储而被广泛使用。由于磁盘对于基于大规模集成电路的主机部分而言是一个缓慢的机械式设备,现有的计算机系统普遍使用了高速半导体存储器来缓存(动态和暂时地保存)部分磁盘数据,以此匹配主机系统与磁盘驱动器之间的数据处理速率。目前周知的缓存磁盘数据的方式有:(1)在系统主内存RAM中划出一部分空间,以保存最近或最频繁使用的磁盘数据(这一般由操作系统负责,以文件为缓存管理单位);(2)使用磁盘高速缓冲存储器(Disk Cache,以下简称为“磁盘高速缓存”或“磁盘Cache”),它是一个专用的硬件一级控制的存储器,对系统的软件而言是透明不可见的。现有的磁盘Cache是由一个Cache控制器和一个RAM存储器组成,其中控制器具有与外部地址和数据线相连接的总线接口并负责对存储器进行管理。缓存管理一般使用组相联映射(Set-Associative Mapping),将整个Cache存储区划分成为Cache槽数目相同的多个组、将所有磁盘扇区划分成与Cache槽相同大小的块,再将特定的扇区块映射到某个特定Cache组中的Cache槽,以使得整个Cache存储区尽可能填满和有效。
磁盘高速缓存对整个系统的性能具有十分重要的作用。实际使用的磁盘Cache装置都具有比较高的命中率和平均响应速度,其效果是非常显著的,速度提高一般都在一个数量级以上,从而使得慢速的磁盘对于主机而言可以用类似RAM一般的速度来读写(有局域访问特性的)磁盘扇区。文献Caching Strategies to Improve Disk System Performance(R.Karedla et al.Computer,Vo1.27,No.3,pp.38-46,1994)说明了当前所运用的各种磁盘Cache装置的特点与效率。这类磁盘Cache装置可以设置在主机板磁盘接口总线上一个专门增设的接口芯片内,使得该接口上连接的所有磁盘驱动器都可由同一个磁盘Cache来加速;它们也可以设置在硬磁盘控制器(Hard Disk Controller,简称为HDC)中,其中对于IDE接口的系统,其磁盘Cache和HDC是一起集成在IDE磁盘驱动器上(IDEDisk Drive,包括了HDC、驱动器接口电路和磁头-磁盘总成HDA,即Head-Disk Assembly)。两种方式各有其特点和优缺点(详见上述文献)。目前市场上多数的并行或串行ATA IDE磁盘或SCSI磁盘都采用了把磁盘Cache结合在其HDC中的方式。
不过所有已知的这类磁盘Cache装置都不能在加快计算机启动或重启动(或称为系统引导/重引导,System Booting/Rebooting)过程方面有效地发挥作用。这是因为目前的磁盘Cache使用的是易失性的RAM存储器(包括各种动态刷新的DRAM和静态/无刷新的SDRAM),而RAM存储器中的数据在关闭电源后即完全失效。因此,在系统复位(Reset)之后,磁盘Cache内并没有保存任何有效的上一次系统引导所使用的磁盘数据,因而Cache控制器必须对整个Cache存储器做初始化和清空,以便做重新装载。计算机启动(或重启动)通常是一个复杂、缓慢的过程,系统引导需要做大量和频繁的磁盘访问,而现有磁盘Cache装置不能保存系统引导过程所需的磁盘数据使得磁盘访问时间占据了整个启动时间的很大一部分。
本技术的目的在于提供一种磁盘高速缓存装置,它持久地保存系统引导所需的(大部分)磁盘数据,从而提高系统引导过程中的Cache命中率、减少磁盘访问时间,由此加快计算机启动/重启动过程。
为实现上述目的,本实用新型的磁盘高速缓存装置包括Cache控制器和RAM存储器,其特征在于它还包括非易失性存储器,该非易失性存储器设置在缓存区首先被访问的位置,所述Cache控制器在系统复位之后只对该非易失性存储器进行访问,在发生Cache填充冲突之后不对其中的数据进行替换;所述非易失性存储器由闪存(Flash Memory)构成;所述Cache控制器的外部总线接口可以同硬磁盘控制器HDC相连接以取得磁盘扇区的地址和数据,也可以同一个接口HDC相连接以取得磁盘扇区的地址和数据,所述接口HDC设置在主机板上的磁盘接口总线上。
同现有的磁盘高速缓存装置相比,本实用新型使用非易失性的闪存持久地保存系统引导过程所需访问的磁盘扇区,因而在随后的启动或重启动过程中可以直接将这些数据块复制到主存中,极大地减少对磁盘的直接访问,从而有效地加快系统引导过程。
本说明书以下部分将结合附图和实施例对上述技术方案作进一步的说明。
图1是本实用新型的基本构成图。
图2是本实用新型第一种实施例的示意图。
图3是本实用新型第二种实施例的示意图。
在图1所示的磁盘Cache装置中,除了常规的Cache控制器(1)和RAM存储器(3)外,它还包括一个非易失性存储器(2)。本实施例选用以存储块(Memory Block)为内部组织结构的闪存(Flash Momory)来构成非易失性存储器(2)。闪存的块状结构与磁盘扇区的Cache槽(或行)组织正好是相容的。该闪存(2)设置在系统复位后由Cache控制器(1)首先访问的第一缓存区位置,通常这是在整个Cache存储区中地址较低的一端。在以组相联映射(Set-Associative Mapping)方式组成的Cache中,这也就是号码较小的Cache槽分组。在开机或重新启动过程中读取磁盘扇区时,Cache控制器(1)首先读取和填充闪存(2)中的Cache槽。初次系统引导之后,闪存(2)中各组Cache槽基本被系统引导过程所读取的磁盘扇区数据填充。即使在关机断电之后,其中的扇区数据仍然能够保持有效,可以在下一次开机或重新启动时使用。
Cache控制器(1)可使用全相联映射或组相联映射对闪存(2)进行管理。常规的Cache管理方式在可用的Cache存储空间被填满之后,便运用一定的淘汰替换机制将某些Cache槽的旧的(或不常使用的)数据清除,以便存放新的、随后可能会被反复使用的数据(即对Cache槽冲突作替换)。在闪存(2)中保存的磁盘扇区都是系统引导所需要的数据,而常规的Cache管理方式会把一部分扇区块不必要地清除,从而会降低闪存(2)在加速下一次系统引导过程的效用。为此Cache控制器(1)可以对闪存(2)使用一种简化的Cache管理,即:在系统复位(Reset)之后首先将RAM(3)部分屏蔽、只对闪存(2)部分进行访问,优先填充和写更新闪存(2)内的Cache槽,直到在闪存(2)中发生了Cache槽冲突,之后在读盘过程中就不再对闪存(2)作数据淘汰或替换(即在读盘时被当作一个只读Cache)、仅保持写盘时的扇区块更新,并转而使用RAM(3)部分进行常规的填充和读取替换,一直到下一次系统复位。由于在系统引导时较少发生写盘操作,对闪存(2)的写策略可以使用简单、低速的写穿(Write-Through)方式。磁盘Cache的常规RAM(3)部分在对闪存(2)部分的访问和填充完成(发生Cache槽填充冲突)之后使用,其使用与常规方式完全相同,因而在系统引导过程完成对闪存(2)的访问之后,整个磁盘Cache的行为就与常规磁盘Cache一致,并且对于主机系统的软件而言是完全透明的。
图2所示的实施例是本磁盘Cache装置在ATA IDE磁盘驱动器上的设置方案。ATA IDE磁盘驱动器集成了硬磁盘控制器HDC(6),后者一方面通过专门的线缆与主机板上的ATAIDE接口(5)相连接,另一方面又通过向驱动器接口电路(7)传送磁盘扇区的地址和数据信息,指导磁头-磁盘总成(Head-Disk Assembly)HDA(8)完成实际的磁盘数据读写。在此实施例中,整个磁盘Cache装置(4)与HDC(6)一起设置在磁盘驱动器的电路板上。Cache控制器(1)的外部总线接口同HDC(6)相连接,从后者取得磁盘扇区的地址和数据。目前流行的ATA标准(100MB/s接口速率的ATA-6)使用48bit(LBA)扇区地址。Cache控制器(1)从HDC(6)取得此地址,完成对Cache存储器中各扇区的检索和缓存控制。
图3所示的实施例是本磁盘Cache装置在计算机主板上的集成设置方案。目前主板上的磁盘总线接口都是由主板芯片组的南桥芯片(SouthBridge)或ICH芯片(I/O Control Hub)提供的,该芯片(10)同时还提供其它设备的总线接口(例如USB接口,以及集成了键盘、鼠标、串/并口等多种标准接口的Super I/O接口等)。磁盘Cache(4)的Cache控制器(1)的外部总线接口同一个接口HDC(9)相连接,从后者取得磁盘扇区的地址和数据。该接口HDC(9)是一个简化的磁盘控制器,它与常规的HDC功能相似、有完全相同的磁盘总线接口,但只需具备常规HDC的一部分基本的功能。该接口HDC(9)设置在主机板上的磁盘接口总线上,其作用是监测磁盘接口总线上所传送的主机发给外接磁盘HDC(6)的磁盘操作命令以及HDC(6)返回的结果(其中包括相关的磁盘扇区地址和扇区数据),以协助磁盘Cache(4)进行工作。主机通过向HDC发送操作命令对磁盘进行访问,接口HDC(9)则从磁盘操作命令中取得磁盘扇区的地址和数据,将其传给磁盘Cache控制器,以便根据磁盘Cache返回的结果确定是否需要由外接磁盘的HDC(6)进行操作:如果Cache控制器返回的结果为命中,则将Cache控制器输出的扇区数据直接返回给主机(通过设置DMA将扇区数据块传送至系统主存的磁盘缓冲区);如果Cache控制器返回的结果为未命中,则将该磁盘操作命令原封不动地输出给外接磁盘的HDC(6),并在磁盘HDC(6)成功返回数据时将包含此扇区的数据块传给Cache控制器(1),以便对此地址上的Cache槽进行填充。实际系统在系统主存和/或磁盘控制器中都设有RAM磁盘缓存,因而本集成在主板上的磁盘Cache(4)可以被简化,即只包含闪存(2)部分,而将其RAM(3)部分略去(其存在与否对主机的磁盘操作没有实质影响)。接口HDC(9)仅在系统复位之后通过Cache控制器(1)对闪存(2)进行访问,而在Cache槽填充发生冲突之后Cache控制器(1)即屏蔽闪存(2)的读扇区替换(只保持写扇区更新),此时接口HDC(9)就可以在所有读盘操作中将整个磁盘Cache(4)屏蔽,使得外接磁盘HDC直接与磁盘接口总线通信。
集成在主板磁盘接口总线上的磁盘Cache可以以最高的接口速率运行,有利于充分发挥接口总线的性能,并可以对常规的磁盘驱动器实现系统引导加速;而集成在驱动器HDC上的磁盘Cache的运行速度通常受限于驱动器电路的实际速率,一般(大大)低于标称的磁盘接口速率,但它可以适用于常规的计算机主板。上述两种磁盘Cache也可以同时在系统中使用,此时它们形成一种二级高速缓存的结构。与常规计算机体系结构中的分级RAM高速缓存相似,分级的非易失性闪存Cache也可以有效地提高系统引导过程中磁盘扇区的命中率。
以上实施例使用的都是并行方式的ATA IDE磁盘驱动器和IDE接口主机板。对于使用串行ATA磁盘接口或SCSI磁盘接口的系统,上述技术方案经过简单调整即可同样地运用。
本说明书的技术方案还可以用其它不同于上述实施例的方式实现。所附的权利要求书涵盖了对以上所描述的各要素的诸多变形与替换。
Claims (4)
1.一种磁盘高速缓存装置,包括Cache控制器(1)和RAM存储器(3),其特征在于:它还包括非易失性存储器(2),该非易失性存储器(2)设置在缓存区首先被访问的位置,所述Cache控制器(1)在系统复位之后只对该非易失性存储器(2)进行访问,在发生Cache填充冲突之后不对其中的数据进行替换。
2.根据权利要求1所述的磁盘高速缓存装置,其特征在于:所述非易失性存储器(2)由闪存构成。
3.根据权利要求1或2所述的磁盘高速缓存装置,其特征在于:所述Cache控制器(1)的外部总线接口同硬磁盘控制器HDC(6)相连接,从后者取得磁盘扇区的地址和数据。
4.根据权利要求1或2所述的磁盘高速缓存装置,其特征在于:所述Cache控制器(1)的外部总线接口同一个接口HDC(9)相连接,从后者取得磁盘扇区的地址和数据,所述接口HDC(9)设置在主机板上的磁盘接口总线上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02294149 CN2603974Y (zh) | 2002-12-27 | 2002-12-27 | 磁盘高速缓存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02294149 CN2603974Y (zh) | 2002-12-27 | 2002-12-27 | 磁盘高速缓存装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN2603974Y true CN2603974Y (zh) | 2004-02-18 |
Family
ID=34151913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02294149 Expired - Fee Related CN2603974Y (zh) | 2002-12-27 | 2002-12-27 | 磁盘高速缓存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN2603974Y (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304957C (zh) * | 2005-01-07 | 2007-03-14 | 清华大学 | 基于移动存储的计算机系统磁盘同步写性能提高方法 |
CN101145385B (zh) * | 2006-08-04 | 2012-10-24 | 三星电子株式会社 | 存储卡以及在存储卡上存储数据的方法 |
CN104750425A (zh) * | 2013-12-30 | 2015-07-01 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
CN104750424A (zh) * | 2013-12-30 | 2015-07-01 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
-
2002
- 2002-12-27 CN CN 02294149 patent/CN2603974Y/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304957C (zh) * | 2005-01-07 | 2007-03-14 | 清华大学 | 基于移动存储的计算机系统磁盘同步写性能提高方法 |
CN101145385B (zh) * | 2006-08-04 | 2012-10-24 | 三星电子株式会社 | 存储卡以及在存储卡上存储数据的方法 |
CN104750425A (zh) * | 2013-12-30 | 2015-07-01 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
CN104750424A (zh) * | 2013-12-30 | 2015-07-01 | 国民技术股份有限公司 | 一种存储系统及其非易失性存储器的控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9342260B2 (en) | Methods for writing data to non-volatile memory-based mass storage devices | |
Chen et al. | Understanding intrinsic characteristics and system implications of flash memory based solid state drives | |
KR101335792B1 (ko) | 캐쉬를 탑재한 정보 장치 및 그것을 이용한 정보 처리 장치와, 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
US7568068B2 (en) | Disk drive with cache having volatile and nonvolatile memory | |
US7127549B2 (en) | Disk acceleration using first and second storage devices | |
TWI438628B (zh) | 資料儲存系統及資料儲存媒介 | |
US7519754B2 (en) | Hard disk drive cache memory and playback device | |
CN100470508C (zh) | 用于非易失性存储器高速缓存性能改进的系统和方法 | |
US20100088459A1 (en) | Improved Hybrid Drive | |
US20100325352A1 (en) | Hierarchically structured mass storage device and method | |
US20130151775A1 (en) | Information Processing Apparatus and Driver | |
US20130145094A1 (en) | Information Processing Apparatus and Driver | |
WO2013025540A1 (en) | Cache management including solid state device virtualization | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
JP2012141946A (ja) | 半導体記憶装置 | |
CN106528001A (zh) | 一种基于非易失性存储器和软件raid的缓存系统 | |
US8112589B2 (en) | System for caching data from a main memory with a plurality of cache states | |
CN1465009A (zh) | 与大容量存储装置集成的非易失性高速缓冲存储器 | |
JP2016062585A (ja) | データストレージ装置及び方法 | |
KR100388338B1 (ko) | 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 | |
Cui et al. | ShadowGC: Cooperative garbage collection with multi-level buffer for performance improvement in NAND flash-based SSDs | |
US20150277764A1 (en) | Multi-mode nand-caching policy for hybrid-hdd | |
CN113243007A (zh) | 存储级存储器访问 | |
CN109144899A (zh) | 用于管理表恢复的方法 | |
US20140258591A1 (en) | Data storage and retrieval in a hybrid drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |