CN1313933C - 数据存储装置、其控制方法以及磁盘存储装置 - Google Patents

数据存储装置、其控制方法以及磁盘存储装置 Download PDF

Info

Publication number
CN1313933C
CN1313933C CNB2005100559632A CN200510055963A CN1313933C CN 1313933 C CN1313933 C CN 1313933C CN B2005100559632 A CNB2005100559632 A CN B2005100559632A CN 200510055963 A CN200510055963 A CN 200510055963A CN 1313933 C CN1313933 C CN 1313933C
Authority
CN
China
Prior art keywords
file system
cache mode
data
storage device
cache
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
Application number
CNB2005100559632A
Other languages
English (en)
Other versions
CN1673976A (zh
Inventor
山田秀二
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Publication of CN1673976A publication Critical patent/CN1673976A/zh
Application granted granted Critical
Publication of CN1313933C publication Critical patent/CN1313933C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3691Golf courses; Golf practising terrains having a plurality of driving areas, fairways, greens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B57/00Golfing accessories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B63/00Targets or goals for ball games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

从磁盘(121)读取MBR,由事件处理器(304)将读取的MBR存储在扇区缓冲器(307)内,段控制部分(302)获取存储在扇区缓冲器(307)内的MBR并参照分区类型字段来识别文件系统,段控制部分参照高速缓存模式表305并选择与MBR内指定的文件系统相关联的高速缓存模式,在随后的读写操作中,根据所确定的高速缓存模式进行缓冲处理和命令执行控制。由于是根据文件系统选择合适的高速缓存模式,因此可以提高硬盘驱动器的性能。

Description

数据存储装置、其控制方法以及磁盘存储装置
技术领域
本发明涉及数据存储装置、其控制方法以及磁盘存储装置。特别地,本发明涉及数据存储装置内的高速缓存模式控制。
背景技术
使用各种介质如光盘和磁带的装置是用于记录和再现信息的装置。其中,硬盘驱动器(HDD)作为计算机的存储装置如今已经十分普及,以至于其成为当今计算机必不可少的存储装置之一。并且,其应用并不仅限于计算机,由于其优越的特性、并且随着运动图像记录/再现装置、汽车导航系统、用于数码相机的移动存储器等的出现,其应用越来越广泛。
HDD内使用的每个磁盘有多个同心磁道,每个磁道被分成多个扇区。每个扇区存储扇区地址信息和用户数据。磁头(由薄膜制成)能向扇区写入数据或从扇区读取数据,该磁头根据扇区地址信息访问期望的扇区。通过数据读操作从磁盘读取的数据在发送给主机之前要经过由信号处理电路进行的波形整形、解码处理以及其他指定的信号处理。同样,从主机传输的数据要经过由信号处理电路进行的指定的信号处理,然后写入磁盘。
如上所述,当数据写入磁盘或从磁盘读取时,磁头需要一些访问时间以访问磁盘上的记录扇区。因此,为改善性能,在HDD中使用高速缓存以作为一项提高与主机数据通信速度的技术。HDD提供有扇区缓冲器,用来临时存储用户数据。可以通过扇区缓冲器与主机进行数据通信来提高HDD的性能。众所周知,读高速缓存和写高速缓存是用于HDD的高速缓存。
在读高速缓存内,在从主机接收到访问地址的读命令之前,数据被预先从磁盘读取并存储在扇区缓冲器内(见前面)。如果从主机接收的读命令指定了地址并且数据已经从该地址读取并存入扇区缓冲器(高速缓存命中),则数据从扇区缓冲器返回主机而无需访问磁盘。
在写高速缓存内,如果从主机接收到写命令,则将来自主机的写数据存储在扇区缓冲器内,并在写入磁盘完成之前,向主机返回命令完成。命令完成使得主机能发出新的命令。特别是,当两个写命令要在相邻扇区写数据时,由于取消了访问磁盘的时间,因此处理速度有较大的提高。
作为HDD中的缓冲器处理技术,即作为读高速缓存或写高速缓存特征,除了上述的方法,还有各种各样的方法。例如,在“反写读高速缓存(Write Back Read Cache)”内,如果存储在扇区缓冲器内的写数据是接收的要读的读命令,则不管其有没有成功写入磁盘,存储在扇区缓冲器内的写数据返回主机。
日本专利公报2002-108704公开了一种高速缓存模式设置技术,在该技术中,根据文件访问模式,从多个准备的高速缓存模式中选择合适的高速缓存模式。根据日本专利公报2002-108704,哪个高速缓存模式是合适的取决于文件访问模式的程序。如果没有设置和指定合适的高速缓存模式,会出现性能恶化。
因此,为每个文件访问模式设置最适合的高速缓存模式提高了HDD的性能。在日本专利公报2002-108704公开的方法中,对HDD设置多个磁盘高速缓存模式,这一点由主机控制。并且,主机将文件存储在磁盘区域,每个区域为每个文件的访问类型预定,并与文件访问类型的最合适的高速缓存模式相关联。当使用文件时,根据文件访问类型设置最适合的高速缓存模式。由于为每个文件设置了最适合的高速缓存模式,因此可有效地使用高速缓存。
发明内容
作为用于假定文件访问类型的方法,一种方法是从过去访问的历史中推断访问类型,而日本专利公报2002-108704公开的方法准备了多个磁盘高速缓存模式。不过,这些方法并不总能实现最佳性能。例如,在根据过去访问历史进行推断的方法中,由于访问类型是从几个过去对文件的访问中推断的,因此并不能将合适的高速缓存模式应用于这些访问。日本专利公报2002-108704公开的方法对简单的文件访问类型尤其有效,但很难在实际环境中实现复杂的文件访问类型。如果从最适合的高速缓存模式中选择高速缓存模式,可提高实际环境中文件访问类型的性能,所述最适合的高速缓存模式是通过例如模拟实际操作环境这样的实际基准测量来预先确定的。可是,由于最适合的高速缓存模式因主机使用的文件系统(FAT等)不同而不同,因此为文件系统设置合适的高速缓存模式是重要的。同时,随着个人电脑OS(操作系统)的多样化以及HDD的多样化应用,使用HDD的主机开始处理各种各样的文件系统。因此,需要为主机使用的每个不同的文件系统更改/设置HDD高速缓存模式。
本发明是基于上述情况而产生的。因此,本发明的一个目的是为不同的文件系统进行有效的高速缓存操作。
下面公开了解决问题的手段。在以下公开的内容中,参考后面描述的实施例中的相应的部件描述几个部件。不过,此参考只为方便说明。这些部件的实现不限于实施例中所示的相应的部件。
根据本发明的第一方面,数据存储装置包括:数据存储介质(如磁盘121);扇区缓冲器,其临时存储到介质去的写入数据和/或从介质来的读取数据(如扇区缓冲器307);高速缓存模式确定部分,其用来根据存储在介质上的数据的文件系统确定高速缓存模式(如段控制部分302);以及控制部分,其用来根据所确定的高速缓存模式处理扇区缓冲器(如段控制部分302)。由于高速缓存模式是根据文件系统确定的,因此可以对不同的文件系统进行适合的缓冲处理。
优选地,高速缓存模式确定部分从预先寄存的多个高速缓存模式中选择适合于所述文件系统的高速缓存模式。同样,优选地,高速缓存模式表(如高速缓存模式表305)寄存多个文件系统和高速缓存模式,并且所述多个文件系统与所述高速缓存模式相关联;以及高速缓存模式确定部分参照高速缓存模式表,并选择要与所述文件系统之一相关联的高速缓存模式。
优选地,所述介质存储用于指定文件系统的文件系统标识符数据(如图2中的分区类型);所述数据存储装置进一步包括文件系统识别部分(如段控制部分302),所述文件系统识别部分参照文件系统标识符数据来识别存储在介质上的数据的文件系统;以及高速缓存模式确定部分,其用来确定适合于由文件系统识别部分识别的文件系统的高速缓存模式。由于文件系统是由存储在介质上的数据识别的,因此数据存储装置可以使用内部数据内部确定高速缓存模式。同样,优选地,当数据存储装置起动时,文件系统识别部分识别文件系统,高速缓存模式确定部分确定高速缓存模式。这样,在实际用户数据传输之前,可确定高速缓存模式。同样,优选地,存储在介质上的主引导记录内包含的数据被用作文件系统标识符数据。
优选地,数据存储装置进一步包括文件系统识别部分,其识别存储在介质上的数据的文件系统;介质,其存储文件系统标识符数据,所述数据指定文件系统;文件系统识别部分,当数据存储装置起动时,其参照文件系统标识符数据来识别文件系统;以及高速缓存模式确定部分,其用来确定适合于由文件系统识别部分识别的文件系统的高速缓存模式。
根据本发明的第二方面,一种用于数据存储装置的控制方法,所述数据存储装置包括介质,其存储来自主机的数据,以及扇区缓冲器,其用于在介质和主机的数据传输中临时存储来自主机的数据,所述方法包括以下步骤:(a)识别主机要使用的文件系统;(b)根据所识别的文件系统确定高速缓存模式;(c)根据所确定的高速缓存模式处理扇区缓冲器。由于高速缓存模式是根据文件系统确定的,因此可以对不同的文件系统进行适合的高速缓冲处理。
优选地,步骤(b)参照高速缓存模式表,表中寄存了多个文件系统以及高速缓存模式,并且所述多个文件系统与所述高速缓存模式相关联;并选择与所识别的文件系统相关联的高速缓存模式。这可以有效地确定合适的高速缓存模式。
同样,优选地,当主机起动时,步骤(a)参照预先存储在数据存储装置内的文件系统标识符数据来识别文件系统。这样,由于识别是在主机起动时进行的,在实际用户数据传输之前,可确定高速缓存模式。
同样,优选地,步骤(a)参照预先存储在介质内的文件系统标识符数据来识别文件系统;步骤(b)从预先寄存的多个高速缓存模式中选择适合于所识别的文件系统的高速缓存模式。由于文件系统是由存储在介质上的数据识别的,因此数据存储装置可以使用内部数据来内部确定高速缓存模式。
同样,优选地,还包括当主机起动时获取存储在介质上的管理数据的步骤;步骤(b)参照包含在管理数据内的文件系统标识符数据以识别文件系统。
根据本发明的第三方面,一种磁盘存储装置包括:磁盘,其存储来自主机的数据;扇区缓冲器,其临时存储在磁盘和主机之间的数据传输中来自主机的数据;文件系统识别部分,其获取存储在磁盘上的主引导记录以识别主机的操作系统要使用的文件系统;存储器部分,其存储高速缓存模式表,表中寄存了多个文件系统以及高速缓存模式,所述多个文件系统与所述高速缓存模式相关联;高速缓存模式确定部分,其搜索高速缓存模式表,并确定与所识别的文件系统相关联的高速缓存模式;以及控制部分,其根据所确定的高速缓存模式处理扇区缓冲器。由于高速缓存模式是根据文件系统确定的,因此可以对不同的文件系统进行适合的缓冲处理。
根据本发明,可以通过设置适合文件系统的高速缓存模式来提高存储装置的性能。
附图说明
图1是示意性地显示根据实施例的数据处理系统结构的框图;
图2示意性地显示了根据实施例的MBR的数据结构和分区表;
图3显示了根据实施例对每个高速缓存模式组合和文件系统所进行的基准测试结果图;
图4是示意性地显示本实施例中的缓冲处理相关逻辑结构的框图;
图5是本实施例中的高速缓存模式表结构的例子;
图6是显示根据文件系统如何在本实施例中进行高速缓存模式确定处理的流程图;
附图7是显示高速缓存模式确定后如何进行本实施例中的读/写操作的流程图。
具体实施方式
下面将描述本发明的实施例。下面将描述本发明是如何应用的,本发明的范围并不限于下面描述的实施例。为了简明,下面的说明和附图中进行了适当的删除以及简化。本领域的技术人员,在本发明的范围之内,可容易地对实施例的每个元件进行修改、增加以及替换。注意:相同的附图标记用来指附图中相同的元件,为了简明,不进行多余描述。
图1是描述实施例中数据处理系统100的一般结构的框图。数据处理系统100包括:主机,其是执行数据处理的计算机或数码照相机等;硬盘驱动器(HDD)120,其是一种数据存储装置。HDD 120存储从主机110发送的数据。HDD 120包括:一个或多个磁盘121,其作为一种存储介质;磁头组组件123,其具有分别与磁盘121的记录表面相关的磁头122;控制器124,其控制这些元件,以便向磁盘121写入数据和从磁盘121读取数据。
从主机110发送的主机用户数据要由控制器124进行必要的处理并转换成写信号。写信号被发送给磁头组组件123。根据获得的写信号,磁头122向磁盘121的记录表面写数据。另一方面,由磁头122从磁盘121取回的读信号由控制器124转换成数字信号并进行必要的处理。数字信号被发送给主机110。
磁盘121是非易失性记录介质,它包括被磁化来记录数据的磁层。当HDD 120运行时,磁盘121被驱动而围绕主轴电机125的主轴以预定的速度旋转。当HDD 120没有运行时,磁盘121处于静止状态。在磁盘121的表面,形成同心的多个磁道,作为数据存储分区。
在磁盘121的表面,沿磁盘121的径向形成多个伺服数据记录区,在伺服数据记录区之间形成用户数据记录区。用户数据记录区中的每个磁道被分成多个环绕的扇区。磁头122取回伺服数据,这可以获取关于磁头122的位置的信息。伺服数据具有:磁道数据,其提供磁道号信息;扇区数据,其提供扇区号信息;以及脉冲模式(burst pattern)。
磁头组组件123安装在框架内以便能够沿磁盘121的表面转动,磁头组组件123由音圈电机(VCM)126驱动。滑块固定在磁头组组件123的前端,磁头122固定在每个滑块的表面。通常,每个磁头122是薄膜装置,其具有集成的读写头。当磁头组组件123转动时,磁头122在磁盘121表面上沿磁盘121的径向运动。这样允许磁头122访问期望的磁道。
在图1所示的例子中,磁头组组件123对于每个磁盘121具有两个磁头122,两个磁头分别与相应的磁盘121的顶面和底面相关联。注意:HDD 120也可以具有一个磁盘121或具有多个磁头122,所有磁头与相应的磁盘的顶面或底面相关联。
如图1所示,控制器124包括读/写信道(R/W信道)127,硬盘控制器(HDC)128,微处理器单元(MPU)129,存储器130以及电机驱动器单元131。电机驱动器单元131具有音圈电机驱动器(VCM驱动器)132和主轴电机驱动器SPM驱动器)133。
R/W信道127根据从主机110获取的数据进行读写操作。在写操作过程中,R/W信道127编码调制由HDC 128提供的写数据,并将产生的写数据转换成写信号(电流信号)。将写信号提供给磁头122,磁头122根据获得的信号,通过使电流通过线圈,将数据写入磁盘121。
此外,当数据要提供给主机110时,进行读操作。在读操作过程中,R/W信道127拾取由磁头122提供的读信号,并对数据进行解码处理。拾取的数据在经过解码处理后,提供给HDC 128。
MPU 129根据载入到存储器130的微码进行操作,它不仅执行对HDD 120的一般控制,包括磁头122的定位控制,接口控制以及缺陷管理,还执行与数据处理相关的必要处理。特别是,在处理与主机110进行数据通信的扇区缓冲器(高速缓存操作)时,MPU 129执行本实施例的处理特性。本实施例中的扇区缓冲器处理将在后面做更详细的说明。当HDD 120起动时,要运行在MPU 129上的微码和控制以及数据处理所需用的数据被从磁盘121或ROM(未显示)载入到存储器130。
由R/W信道127读取的数字数据除了来自主机110的用户数据,还包括伺服数据。R/W信道127从读取数据中提取伺服数据。MPU 129根据微码,通过使用伺服数据来执行对磁头122的定位控制处理。来自MPU 129的控制数据被输出至VCM驱动器132,VCM驱动器132根据控制信号向VCM 126提供驱动电流。此外,MPU 129根据微码向电机驱动器单元131内的寄存器设置SPM控制数据,以控制主轴电机125的旋转。SPM驱动器133根据设置的SPM控制数据执行对主轴电机125的旋转控制。注意:HDD 120也可被配置以使得HDC 128执行伺服控制。
HDC 128具有与主机110接口的能力。HDC 128从主机110接收用户数据和读、写以及其他命令。接收的用户数据传输给R/W信道127。此外,从R/W信道127获取的来自磁盘121的读取数据以及数据传输控制数据由HDC 128发送给主机110。而且,HDC 128执行用户数据纠错处理等。
在HDC 128和主机110之间进行的控制数据和用户数据传输以及在HDC 128和磁盘121(R/W信道)之间进行的用户数据传输由在HDC 128和MPU 129上运行的微码控制。本实施例中的HDD 120提供有扇区缓冲器,该扇区缓冲器临时存储从主机110发送的写数据或向主机110发送的读数据。通过扇区缓冲器执行与主机110的数据通信,可以减少或取消访问磁盘121的时间从而改善HDD的性能。下面将描述本实施例中的缓冲器处理(高速缓存操作)。
几种缓冲器处理方法(高速缓存特征)是公知的。通过有选择地使用一种或多种高速缓存特征,可以构成多个缓冲器处理方法(以下简称高速缓存模式)。本实施例中的HDD 120提供有多个高速缓存模式,并能改变要使用的高速缓存模式。根据主机110的OS(操作系统),特别是OS的文件系统,主机110能改变高速缓存模式以选择合适的高速缓存模式,从而改善性能。在此,文件系统指使用OS的文件管理系统,它确定HDD 120的内部文件管理方法。
HDD 120参照主机起动时使用以识别系统的MBR(主引导记录),这样HDD 120可知道要使用的文件系统,并确定合适的高速缓存模式。MBR被预先记录在磁盘121上,主机获取该信息以访问HDD120。除了OS引导程序,MBR具有用来存储分区信息的分区表。分区表包括表明文件系统类型的分区类型字段。无需主机通知,可根据记录在磁盘121上的MBR在HDD 120内部确定合适的高速缓存模式。注意:HDD 120也可以提供有独立于磁盘121的非易失性存储器,以存储MBR。
通常,HDD 120被分成多个分区以便使用。主机将每个分区作为逻辑独立的驱动器使用。分区在分区表内显示,图2(a)示意说明了MBR的数据结构。MBR包括引导代码和分区表。引导代码是用于从活动分区读取引导程序的程序。存储在分区表内的是磁盘121上的分区的位置和大小、OS识别ID等。
通常,分区表具有四个16字节的条目,使得能够将HDD划分成四个分区。如图2(b)所示,每个条目具有以下字段:活动标记、CHS(柱面/磁头/扇区)起始扇区、分区类型、CHS终止扇区、LBA(逻辑块地址)起始扇区和分区大小。活动标记通常用来指定引导分区。CHS起始扇区和CHS终止扇区分别指定CHS内的起始扇区和终止扇区。LBA起始扇区指定LBA内的起始扇区。
分区类型指定该分区内使用的文件系统的类型。几个文件系统(分区类型)是公知的,如FAT16(文件分配表16)(CHS)、FAT16(LBA)、FAT32(LBA)、FreeBSD、NTFS(新技术文件系统)、OS/2引导管理器隐藏FAT16(OS/2Boot Manager hidden FAT16)以及LinuxSwap。这些文件系统是公知技术,这里不再对其加以说明。
什么样的高速缓存有效取决于文件系统。因此,如果根据文件系统确定了最佳的高速缓存模式可以改善性能。当在引导过程中读取了MBR时,HDD 120参照分区表的分区类型字段,这样HDD 120可识别主机的文件系统,并根据所述的文件系统选择高速缓存模式。在被引导之后,扇区缓冲器在所选择的高速缓存模式中得以控制。
下面将描述高速缓存特征和高速缓存模式的特定例子。结合本实施例,(1)反写读高速缓存(Write Back Read Cache),(2)禁止读中断操作(Inhibit Read Abort Operation),以及(3)在等候写之前读(Read Before Pending Write)被描述为缓存特征。当“(1)反写读高速缓存”激活时,如果接收的读命令要读的数据对应于扇区缓冲器内的写数据,不管有没有写入磁盘121,写数据返回给主机110。
当“(2)禁止读中断操作”激活时,“读中断操作”被禁止。如果接收到写命令而此时数据先行,“读中断操作”中断读操作并开始处理写命令。“禁止读中断操作”禁止该操作。当“(3)在等候写之前读”激活时,HDD 120在处理前一个写命令前执行下一个读命令的处理。更详细地说,如果HDD 120从主机接收到写命令和写数据,它将写数据存储在扇区缓冲器内,并向主机110返回命令完成。如果在此之后HDD 120从主机110接收到读命令,它在写操作前执行读操作。
可以通过分别使用上述的高速缓存特征或组合其中的一些特征构成多个高速缓存模式。例如,可准备下列的高速缓存模式:
(a)无特定特征
(b)反写读高速缓存
(c)禁止读中断操作
(d)反写读高速缓存以及禁止读中断操作
(e)在等候写之前读以及禁止读中断操作
(f)反写读高速缓存、在等候写之前读以及禁止读中断操作
其中,“(a)无特殊特征”是一种高速缓存模式,其中没有使用任一上述(1)到(3)的特征。在高速缓存模式(d)、(e)以及(f)中,每个分别包括多个高速缓存特征,执行所有包括的高速缓存特征。注意:上述高速缓存模式列表仅作示范。可以通过分别使用其他的高速缓存特征或组合其中的一些特征设置其它合适的高速缓存模式。
图3显示对每个上述高速缓存模式和规定的文件系统的组合所进行的基准测试结果。X轴代表高速缓存模式,Y轴代表测量值。使用商业DiskWinWark99作为基准测试程序。在基准测试中,重复输入输出预定的模式数据来测量HDD的速度或性能。在PC内常用的FAT32(LBA)和NTFS被选作文件系统。针对FAT32(LBA)和NTFS进行上述高速缓存模式的基准测试测量。
在图3中,假设高速缓存模式(a)内的分值为100%。其他高速缓存模式的测试结果相对于高速缓存模式(a)的测试结果显示。分值越高表示性能越高。从图3可知,高速缓存模式(d)或(f)最适合NTFS,而高速缓存模式(a)最适合FAT32(LBA)。从而,在性能方面最适合的高速缓存模式因文件系统而异。本实施例中的HDD 120可根据文件系统选择合适的高速缓存模式来改善性能。
下面将详细描述本实施例中的HDD 120内的高速缓存模式控制。图4是说明与本实施例中的HDD 120的缓冲处理相关的逻辑结构的框图。在图4中,附图标记301表示接口处理器,其通过HDC 128控制与主机110之间的接口,附图标记302表示段控制部分,其控制缓冲处理和命令执行。附图标记303是分配器,其分配执行命令。附图标记304是事件处理器,其控制读/写命令的执行。
在MPU 129上运行的微码起到与各个部件相关的任务的作用,或者根据微码工作的MPU 129起到各个部件的作用。高速缓存模式表305、命令队列306以及扇区缓冲器307形成在存储器130内。与文件系统相关的高速缓存模式存储在高速缓存模式表305内,执行命令在命令队列306内排队,读数据和写数据存储在扇区缓冲器307内。
注意:各个部件也可以通过设计硬件、软件或其组合来构建。例如,HDC 128可以被设计为执行部分功能。此外,被设计来执行HDD120内各种功能的硬件结构也可以适当改变。
如图4所示,接口处理器301通过控制与主机110之间的命令、用户数据以及控制数据的交换起到主机110的接口的作用。段控制部分302不仅管理和控制扇区缓冲器307内的用户数据段,而且还重新安排在命令队列306内排队的命令或确定在性能方面优化的合适的命令执行顺序。此外,在本实施例中,段控制部分302根据文件系统来确定高速缓存模式。段控制部分302根据所确定的高速缓存模式来控制命令的执行。
命令分配器303访问命令队列306并根据由段控制部分302确定的顺序来分配命令。事件处理器304根据命令分配器303分配的命令控制对磁盘121的数据读或写操作。在写操作过程中,事件处理器304从扇区缓冲器307读取数据,并将此数据与写请求一起输出给HDC128。在读操作过程中,事件处理器304从HDC 128获取从磁盘121读取的数据。事件处理器304将获取的数据存储在扇区缓冲器307内。
图5显示高速缓存模式表305的结构的例子。例如,在高速缓存模式表305内寄存上述六种高速缓存模式,其中每种高速缓存模式与高速缓存模式表305内的文件系统相关联存储,这样可以为每个文件系统确定单个的高速缓存模式。对于不同的文件系统,可以寄存相同的高速缓存模式,也可以寄存不同的高速缓存模式。如果根据通过基准测试的实际测量值确定并选择了文件系统的最合适的高速缓存模式,可以适当地配置高速缓存模式表305。
下面描述图4中所示的逻辑结构的操作。首先,参考图6中的流程图来说明当系统100起动时,如何根据主机110要使用的文件系统确定高速缓存模式。当系统100起动时,即与主机110之间开始第一次用户数据传输之前,确定最适合的高速缓存模式。当系统100起动时,主机110向HDD 120发出读命令以读取MBR,一种管理信息(S101)。接口处理器301接收读命令。响应接口处理器301的请求,段控制部分302运行以从接口处理器301获取读命令信息,并检查该命令与扇区缓冲器307内的数据之间的关系。
由于没有数据存储在扇区缓冲器307内,接口处理器301不进行特别的处理而在命令队列306内寄存有关读命令的命令信息。响应接口处理器301的请求,命令分配器303被激活。命令分配器303向事件处理器304发出搜索/读取在命令队列306内排队的读命令的指示。根据命令分配器303的指示,事件处理器304请求HDC 128从磁盘121读MBR。
从磁盘121读取的MBR由事件处理器304存储在扇区缓冲器307内(S102)。段控制部分302获得存储在扇区缓冲器307内的MBR,并参照分区类型字段来识别文件系统(分区类型)(S103)。因此,段控制部分302起到文件系统识别部分的功能。段控制部分302参照高速缓存模式表305以确定与存储在MBR内的文件系统相关的高速缓存模式(S104)。因此,段控制部分302起到高速缓存模式确定部分的功能。在随后的读写操作中,段控制部分302根据所确定的高速缓存模式进行缓冲处理和命令执行控制(S105)。
下面将参照图7描述在高速缓存模式确定之后如何进行读/写操作。如果从主机110发送命令,则接口处理器301接收此命令(S201)。如果是写命令,则接口处理器301接收来自主机110的写数据,并将数据存储在扇区缓冲器307内。应接口处理器301的请求,段控制部分302从接口处理器302获得命令信息。
接口处理器301将从主机110获得的命令的命令信息寄存在命令队列306内(S202)。命令信息包括例如命令类型、LBA、存储在扇区缓冲器307内的数据长度和数据页。然后,段控制部分302检查扇区缓冲器307内的数据与从主机110发送的命令之间的关系,并根据高速缓存模式,进行必要的关于命令或扇区缓冲器307的处理(S203)。
例如,如果从主机110接收到读命令而请求的数据存在于扇区缓冲器307内,则作为高速缓存命中,可将扇区缓冲器307内的数据返回主机110。当接收到写命令时,段控制部分302进行处理以放弃存储在扇区缓冲器307内并具有相同的地址的数据。
然后,响应接口处理器301的请求,命令分配器303被激活。命令分配器303根据高速缓存模式从段控制部分302获得有关从磁盘121读取或写入磁盘121的方法的信息。
根据高速缓存模式,段控制部分302传送有关读/写操作方法的信息(S204)。命令分配器303根据获得的信息指示事件处理器304。接收到搜索、读、写以及其他指示后,事件处理器304请求HDC 128向磁盘121写入和从磁盘121读取数据(S205)。
注意:每种处理并不局限于上述的逻辑结构内的对应的处理,在上述逻辑结构内,设计人员可以设计具有有效功能的存储装置和电路结构。也请注意:尽管本实施例中的HDD 120可以进行读写操作,但本发明也可以应用于仅具有再现功能的装置。此外,尽管根据HDD内的数据由HDD进行内部高速缓存模式确定是优选的,但HDD根据来自主机的信息识别文件系统并选择适合于文件系统的高速缓存模式也是可以的。也请注意:尽管本发明特别适用于磁盘存储装置,其也可能应用于其他类型的驱动记录介质的存储装置,如光盘存储装置。

Claims (13)

1.一种数据存储装置,包括:
数据存储介质;
扇区缓冲器,其中临时存储到介质去的写入数据和/或从介质来的读取数据;
高速缓存模式确定部分,其用于根据存储在介质上的数据的文件系统确定高速缓存模式;以及
控制部分,其根据确定的高速缓存模式处理扇区缓冲器。
2.根据权利要求1所述的数据存储装置,其中高速缓存模式确定部分从预先寄存的多个高速缓存模式中选择适合于所述文件系统的高速缓存模式。
3.根据权利要求2所述的数据存储装置,其中:
所述存储装置包括高速缓存模式表,其中寄存了多个文件系统和高速缓存模式,所述多个文件系统与所述高速缓存模式相关联,以及
所述高速缓存模式确定部分参照所述高速缓存模式表并选择要与所述文件系统之一相关联的高速缓存模式。
4.根据权利要求1所述的数据存储装置,其中:
所述介质存储用于指定文件系统的文件系统标识符数据;
所述数据存储装置进一步包括文件系统识别部分,该部分参考文件系统标识符数据以识别存储在介质上的数据的文件系统;以及
所述高速缓存模式确定部分确定适合于由文件系统识别部分识别的文件系统的高速缓存模式。
5.根据权利要求4所述的数据存储装置,其中当数据存储装置起动时,所述文件系统识别部分识别文件系统,所述高速缓存模式确定部分确定高速缓存模式。
6.根据权利要求4所述的数据存储装置,其中所述文件系统标识符数据包含在介质上存储的主引导记录内。
7.根据权利要求4所述的数据存储装置,其中:
所述存储装置包括高速缓存模式表,其中寄存了多个文件系统和高速缓存模式,所述多个文件系统与所述高速缓存模式相关联,以及
所述高速缓存模式确定部分参照所述高速缓存模式表并选择要与所述文件系统之一相关联的高速缓存模式。
8.一种用于数据存储装置的控制方法,所述装置包括用于存储来自主机的数据的介质和用于临时存储在介质和主机之间的数据传输中来自主机的数据的扇区缓冲器,所述控制方法包括以下步骤:
(a)识别主机要使用的文件系统;
(b)根据所识别的文件系统确定高速缓存模式;以及
(c)根据所确定的高速缓存模式处理扇区缓冲器。
9.根据权利要求8所述的用于数据存储装置的控制方法,其中步骤(b)参照其中寄存了多个文件系统和缓存模式并且所述多个文件系统与所述缓存模式相关联的高速缓存模式表,并选择要与所识别的文件系统相关联的高速缓存模式。
10.根据权利要求8所述的用于数据存储装置的控制方法,其中当主机起动时,步骤(a)参照预先存储在数据存储装置内的文件系统标识符数据来识别文件系统。
11.根据权利要求8所述的用于数据存储装置的控制方法,其中:
步骤(a)参照预先存储在介质上的文件系统标识符数据来识别文件系统;以及
步骤(b)从多个预先寄存的高速缓存模式中选择适合于所识别的文件系统的高速缓存模式。
12.根据权利要求8所述的用于数据存储装置的控制方法,进一步包括当主机起动时,获取存储在介质上的管理数据的步骤,其中步骤(b)参照包含在所述管理数据内的文件系统标识符数据来识别文件系统。
13.一种磁盘存储装置,包括:
磁盘,用于存储来自主机的数据;
扇区缓冲器,用于临时存储在磁盘和主机之间的数据传输中来自主机的数据;
文件系统识别部分,其获取存储在磁盘上的主引导记录以识别主机的操作系统要使用的文件系统;
存储器部分,其存储高速缓存模式表,该高速缓存模式表中寄存了多个文件系统以及缓存模式,所述多个文件系统与所述高速缓存模式相关联;
高速缓存模式确定部分,其搜索高速缓存模式表并确定要与所识别的文件系统相关联的高速缓存模式;以及
控制部分,其根据所确定的高速缓存模式处理扇区缓冲器。
CNB2005100559632A 2004-03-22 2005-03-22 数据存储装置、其控制方法以及磁盘存储装置 Expired - Fee Related CN1313933C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004082169A JP2005267497A (ja) 2004-03-22 2004-03-22 データ記憶装置、その制御方法及び磁気ディスク記憶装置
JP2004082169 2004-03-22

Publications (2)

Publication Number Publication Date
CN1673976A CN1673976A (zh) 2005-09-28
CN1313933C true CN1313933C (zh) 2007-05-02

Family

ID=34858365

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100559632A Expired - Fee Related CN1313933C (zh) 2004-03-22 2005-03-22 数据存储装置、其控制方法以及磁盘存储装置

Country Status (7)

Country Link
US (1) US7930480B2 (zh)
EP (1) EP1580665A3 (zh)
JP (1) JP2005267497A (zh)
KR (1) KR20060042133A (zh)
CN (1) CN1313933C (zh)
SG (1) SG115780A1 (zh)
TW (1) TW200540806A (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006127401A (ja) * 2004-11-01 2006-05-18 Fujitsu Ltd 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
US20060218361A1 (en) * 2005-03-25 2006-09-28 Matsushita Electrical Industrial Co., Ltd. Electronic storage device with rapid data availability
CN100370440C (zh) * 2005-12-13 2008-02-20 华为技术有限公司 处理器系统及其数据操作方法
JP4653035B2 (ja) * 2006-07-26 2011-03-16 キヤノン株式会社 映像記録装置及びその制御方法、並びにプログラム
US7694125B2 (en) * 2006-12-01 2010-04-06 Dell Products, Lp System and method of booting an operating system in an optimal performance state
US7949834B2 (en) * 2007-01-24 2011-05-24 Qualcomm Incorporated Method and apparatus for setting cache policies in a processor
JP5064821B2 (ja) * 2007-02-01 2012-10-31 マーベル ワールド トレード リミテッド 磁気ディスクコントローラおよび方法
JP4561759B2 (ja) * 2007-02-21 2010-10-13 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US8433847B2 (en) * 2008-04-11 2013-04-30 Lg Electronics Inc. Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
JP2010128973A (ja) * 2008-11-28 2010-06-10 Toshiba Corp 情報処理装置、及び情報処理方法
JP5025670B2 (ja) * 2009-01-28 2012-09-12 株式会社東芝 情報処理装置およびデータ記憶装置
US9880783B2 (en) 2015-10-28 2018-01-30 Sandisk Technologies Llc System and method for utilization of a shadow data buffer in a host where the shadow data buffer is controlled by external storage controller
US20170123721A1 (en) * 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer by command completion in parts
US9996262B1 (en) * 2015-11-09 2018-06-12 Seagate Technology Llc Method and apparatus to abort a command
CN110059024B (zh) * 2019-04-19 2021-09-21 中国科学院微电子研究所 一种内存空间数据缓存方法及装置
US11455225B2 (en) * 2020-08-04 2022-09-27 Western Digital Technologies, Inc. Electronic device having infrared light-emitting diode for data transmission

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1121216A (zh) * 1994-03-07 1996-04-24 国际商业机器公司 在一个分布式文件系统中高效高速缓存的系统与方法
JPH10254778A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 磁気ディスクキャッシュ制御方式
JP2000347938A (ja) * 1999-06-03 2000-12-15 Nec Corp キャッシュメモリ制御装置およびキャッシュメモリ制御方法
CN1321310A (zh) * 1999-08-30 2001-11-07 松下电器产业株式会社 记录再生装置
JP2002108704A (ja) * 2000-10-02 2002-04-12 Nec Corp ディスクキャッシュ制御システム
US6629201B2 (en) * 2000-05-15 2003-09-30 Superspeed Software, Inc. System and method for high-speed substitute cache

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3194201B2 (ja) * 1992-02-24 2001-07-30 株式会社日立製作所 キャッシュモード選択方法
US5649153A (en) * 1995-06-19 1997-07-15 International Business Machines Corporation Aggressive adaption algorithm for selective record caching
US5815648A (en) * 1995-11-14 1998-09-29 Eccs, Inc. Apparatus and method for changing the cache mode dynamically in a storage array system
US5761708A (en) * 1996-05-31 1998-06-02 Sun Microsystems, Inc. Apparatus and method to speculatively initiate primary memory accesses
JP3898782B2 (ja) * 1996-08-23 2007-03-28 オリンパス株式会社 情報記録再生装置
JPH11316709A (ja) * 1998-05-01 1999-11-16 Nec Corp ディスク制御装置及び方法
JP2000227865A (ja) * 1998-12-03 2000-08-15 Olympus Optical Co Ltd セグメントキャッシュ方式の情報記録再生装置及びセグメントキャッシュ方式の情報記録再生方法
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
US6725330B1 (en) * 1999-08-27 2004-04-20 Seagate Technology Llc Adaptable cache for disc drive
SG90745A1 (en) * 1999-08-27 2002-08-20 Seagate Technology Llc Adaptable cache for disc drive
US6704835B1 (en) * 2000-09-26 2004-03-09 Intel Corporation Posted write-through cache for flash memory
US6883066B2 (en) * 2001-09-14 2005-04-19 Seagate Technology Llc Method and system for cache management algorithm selection
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
JP2006039756A (ja) * 2004-07-23 2006-02-09 Fujitsu Ltd 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1121216A (zh) * 1994-03-07 1996-04-24 国际商业机器公司 在一个分布式文件系统中高效高速缓存的系统与方法
JPH10254778A (ja) * 1997-03-14 1998-09-25 Hitachi Ltd 磁気ディスクキャッシュ制御方式
JP2000347938A (ja) * 1999-06-03 2000-12-15 Nec Corp キャッシュメモリ制御装置およびキャッシュメモリ制御方法
CN1321310A (zh) * 1999-08-30 2001-11-07 松下电器产业株式会社 记录再生装置
US6629201B2 (en) * 2000-05-15 2003-09-30 Superspeed Software, Inc. System and method for high-speed substitute cache
JP2002108704A (ja) * 2000-10-02 2002-04-12 Nec Corp ディスクキャッシュ制御システム

Also Published As

Publication number Publication date
EP1580665A3 (en) 2007-03-28
US20050210190A1 (en) 2005-09-22
JP2005267497A (ja) 2005-09-29
US7930480B2 (en) 2011-04-19
SG115780A1 (en) 2005-10-28
TW200540806A (en) 2005-12-16
EP1580665A2 (en) 2005-09-28
CN1673976A (zh) 2005-09-28
KR20060042133A (ko) 2006-05-12

Similar Documents

Publication Publication Date Title
CN1313933C (zh) 数据存储装置、其控制方法以及磁盘存储装置
CN1648843A (zh) 数据传输控制方法和存储装置
US6757781B2 (en) Buffer management system for managing the transfer of data into and out of a buffer in a disc drive
US7373477B2 (en) Fragmentation executing method and storage device
US6925539B2 (en) Data transfer performance through resource allocation
JP4283288B2 (ja) ディスク・ドライブにおけるosd決定論的オブジェクト・フラグメンテーション最適化の方法および装置
US7225293B2 (en) Method, system, and program for executing input/output requests
KR101674015B1 (ko) 데이터 저장 매체 액세스 방법과 그와 같은 기능을 갖는 데이터 저장 장치 및 기록 매체
US6883066B2 (en) Method and system for cache management algorithm selection
WO2003071534A1 (fr) Appareil de commande d'acces de donnees, procede de commande d'acces de donnees, et programme informatique
JP2001306398A (ja) コンピュータシステム、ハードディスクドライブの認められる性能を最適化するための方法、およびコンピュータ読取可能媒体
JP2003122631A (ja) データ記憶装置、コンピュータ装置、データ処理装置およびデータ処理方法
CN1848280A (zh) 记录装置
US6693754B2 (en) Method and apparatus for a disc drive adaptive file system
US20110219185A1 (en) Optimizing execution of i/o requests for a disk drive in a computing system
US6654852B2 (en) Method and system of reading and writing data by a disk drive apparatus
CN1264095C (zh) 盘存储装置和访问包含备用扇区的盘的方法
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
KR20070060301A (ko) 불휘발성 메모리를 쓰기 캐시로 구비한 하드 디스크드라이버
US6957300B2 (en) Reducing delay of command completion due to overlap condition
CN1428782A (zh) 采用扩展命令对磁盘驱动器进行访问控制的方法和设备
JP2001022614A5 (zh)
JP2005209119A (ja) データ記憶装置及び方法、並びに記録再生システム
JP3089683B2 (ja) 情報処理装置
JPH06266588A (ja) データベース管理システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070502

Termination date: 20110322