数据存储装置和用于管理缓冲存储器的方法

文档序号:6420950阅读:149来源:国知局
专利名称:数据存储装置和用于管理缓冲存储器的方法
技术领域
本发明涉及一种数据存储装置,尤其涉及缓冲存储器的控制,当在记录介质例如磁盘中写入或者从所述记录介质中读出数据时,所述缓冲存储器用于在其中暂时保存所述数据。
背景技术
在包括磁盘装置(硬盘驱动器)的计算机的外部存储装置中,制备一种被称为扇区缓冲器的缓冲存储器(DRAM动态随机存取存储器),作为用于改善数据读写处理的性能的装置。一直方便地进行从主机系统发出的数据写请求(包括写数据)或只读一次的数据的高速缓存(保存)。
通常使用一种被称为环形缓冲器的数据结构作为扇区缓冲器。环形缓冲器是一种用于连接缓冲器的开始和结尾,借以把有限长度的缓冲器作为无限长度的缓冲器来处理的技术(例如见专利文件1,2)。
图5是表示环形缓冲器的结构的示意图。
如图5所示,环形缓冲器管理作为一个片断的连续数据的有效的集合,同时从每个扇区缓冲器的缓冲器的底部到顶部按照顺序使用每个扇区缓冲器的存储区域。在扇区缓冲器被用到缓冲器顶部之后,环形缓冲器返回缓冲器底部,在那里继续使用扇区缓冲器。因而,在语义上(逻辑上)形成一个环。
因为扇区缓冲器被按顺序使用,上述的环形缓冲器系统适用于用来依次处理指令的指令处理格式。在另一方面,近来,进行指令的重新排序操作或其类似操作,以便进一步改善数据读写处理的性能。重新排序操作是为了用这种方式重新排列用于读写数据的指令的执行顺序,使得到执行数据的读写操作所需的等待时间最短。借助于重新排序或其类似操作,合适地重新排列指令的处理顺序和执行所述指令将导致以写请求和读出的数据相混合的形式的段缓冲器的段管理的复杂性。
日本专利公开号2002-259115[专利文件2]日本专利公开号2002-170319虽然环形缓冲器系统适用于用来依次处理指令的指令处理格式,如上所述,但是其使得以写请求和读出的数据的混合形式的扇区缓冲器的段管理复杂化,其中在执行指令之后,指令的处理顺序被合适地重新排序。
为了解决这个问题,可以想出一种系统,其中数据写请求和读出的数据在扇区缓冲器内被单独地处理。即,这种系统是这样的在扇区缓冲器中提供一个用于高速缓存写请求的环形缓冲器和用于高速缓存读出的数据的另一个环形缓冲器,并且在两个环形缓冲器中的段被单独地管理。这种系统下面被称为双环形缓冲器系统。即使在与数据读写相关的指令被合适地重新排序和执行的情况下,单独地管理写请求和读出的数据使得能够避免扇区缓冲器中的段管理的复杂性。
不过,因为在这种情况下在扇区缓冲器中提供有两个环形缓冲器,使得用于高速缓存写请求和读出的数据的各个缓冲器的尺寸被减少。更具体地说,因为在正常的环形缓冲器(下面被称为单环形缓冲器系统)中要被高速缓存的内容不受限制,如果用于在外部存储装置中写数据的访问增加,则许多写请求被高速缓存,而如果用于读出数据的访问增加,则许多读出数据被高速缓存。换句话说,当使访问偏向数据写或读时,相应于扇区缓冲器的最大存储容量的写请求或读出的数据可以被高速缓存。在另一方面,因为在双环形缓冲器系统中写请求环形缓冲器和读出的数据环形缓冲器彼此分开,双环形缓冲器系统可以只高速缓存分配给各个环形缓冲器的缓冲器尺寸。
一般地说,在高速缓存系统中,高速缓存存储器(缓冲存储器)的大的存储容量能够贡献于性能的改进。因而,当存在偏向于数据写或读的访问时,和采用单个的环形缓冲器系统的外部存储装置相比,在扇区缓冲器中使用双环形缓冲器系统这种外部存储装置的性能变劣。
同时,今天要由计算机处理的数据呈多媒体形式,并且用于在磁盘上记录活动图像和话音的硬盘记录器被普遍采用,还具有使这种偏向访问增加的可能,使得大容量的数据例如图像数据、话音数据或其类似数据被同时写入或读出。

发明内容
因此,本发明的目的在于,通过采用双环形缓冲器系统作为缓冲存储器的数据结构,使得即使在执行偏向数据的写或读的访问的情况下,也能避免存储装置的性能劣化。
为实现上述目的,作为用以下方式配置的数据存储装置实施本发明。即,所述数据存储装置包括用于记录数据的记录介质;缓冲器装置,其具有第一环形缓冲器,用于在所述记录介质上进行处理之前暂时保存对所述记录介质的外部写请求,以及第二环形缓冲器,用于保存按照对所述记录介质的外部读请求从所述记录介质读出的数据;以及缓冲器控制装置,其按照对所述记录介质的外部访问的模式改变包括在所述缓冲器装置中的第一环形缓冲器和第二环形缓冲器的尺寸。
更优选地,所述缓冲器装置包括RAM(随机存取存储器),其中缓冲区被分成第一环形缓冲器和第二环形缓冲器。改变所述第一环形缓冲器的底页的位置或者所述第二环形缓冲器的底页的位置,以便改变第一和第二环形缓冲器的各个缓冲器的尺寸。
缓冲器的尺寸可以根据从外部接收的每个访问请求的类型和每个类型的访问请求的频率被改变,或者根据与从外部接收的访问请求相关的写数据或读出数据的尺寸被改变。
此外,本发明还作为一种用于管理缓冲存储器的方法来实施,所述缓冲存储器用于在从记录介质上读出数据和写数据之前暂时保存所述数据。所述缓冲存储器管理方法包括以下步骤分析对所述记录介质的外部访问请求,根据分析的结果确定提供在所述缓冲存储器的缓冲区内的写请求环形缓冲器和读出数据环形缓冲器的各个缓冲器的尺寸是否应当被改变,以及按照所述确定的结果改变一个分割的位置,所述分割用于把缓冲存储器的缓冲区划分成两个环形缓冲器,借以改变两个环形缓冲器的各个缓冲器尺寸。
更具体地说,所述缓冲器的尺寸用这种方式被改变,使得当在外部访问请求中的写请求的数量增加时,所述写请求环形缓冲器被扩展,并且所述缓冲器的尺寸用这种方式被改变,使得当在外部访问请求中的读请求的数量增加时,所述读出数据环形缓冲器被扩展。或者,缓冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求写入大尺寸的数据的访问请求的数量增加时,所述写请求环形缓冲器被扩展,并且缓冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求读出大尺寸的数据的访问请求的数量增加时,所述读出数据环形缓冲器被扩展。
此外,用于实现上述目的的本发明可以作为一种按照下述被构成的磁盘装置来实施,所述磁盘装置包括用于以磁的方式记录数据的磁盘,以及用于在所述磁盘上进行处理之前暂时保存从所述磁盘读出的和在所述磁盘上写入的数据的缓冲存储器,其中所述缓冲存储器包括一个存储区,所述存储区被分成用于存储从外部接收的对所述磁盘的写请求的第一环形缓冲器和用于存储从所述磁盘上读出的数据的第二环形缓冲器,并且用于分离所述第一环形缓冲器和所述第二环形缓冲器的分割的位置被改变,以便改变写区域和读区域的各个缓冲器的尺寸。
此外,本发明也可以作为一种利用磁盘作为记录介质用于记录和再现多媒体的内容的硬盘记录器来实施。所述硬盘记录器被这样构成,使得其包括缓冲器装置,所述缓冲器装置具有第一环形缓冲器,用于在所述磁盘上进行处理之前暂时保存对所述磁盘的写请求,和第二环形缓冲器,用于保存按照对磁盘的读请求从所述磁盘上读出的数据,以及缓冲器控制装置,用于用这种方式动态地分配所述缓冲器装置的存储区域,使得当所述硬盘记录器以用于记录多媒体内容的操作方式操作时,给予所述第一环形缓冲器大的缓冲器尺寸,当所述硬盘记录器以用于再现多媒体内容的操作方式操作时,给予所述第二环形缓冲器大的缓冲器尺寸。
按照本发明,如上所述,通过采用双环形缓冲器系统作为缓冲存储器的数据结构,使得即使在执行偏向写数据或读出数据的操作的情况下,也能避免存储装置的性能的劣化。


图1是表示按照当前实施例的硬盘驱动装置的主要结构的方框图;图2是表示在按照当前实施例的DRAM中提供的扇区缓冲器的配置的例子的示意图;图3是表示用作按照当前实施例的扇区缓冲器的控制装置的MPU的功能的方框图;图4是说明由按照当前实施例的MPU执行的处理的流程的流程图;以及图5是表示环形缓冲器的配置的示意图。
具体实施例方式
下面按照附图所示的实施例详细说明本发明。在当前的实施例中,将以举例方式说明作为外部存储装置的使用磁盘作为记录介质的硬盘驱动器。
图1是表示硬盘驱动器100的主要部分的结构的方块图。
硬盘驱动器100是一种外部存储装置,其中每个磁头103在由主轴电动机102转动地驱动的磁盘101上寻道,并当停留在预定的磁道(在预定的位置)上时,在磁盘101上写入数据,或者读出在磁盘101上写入的数据。磁盘101是一种用于记录作为磁信息数据的记录介质,并根据需要以单个或多个的形式被安装。不过,图1所示的是单个的例子。
当硬盘驱动器100处于操作状态时,磁盘101被连续地驱动,从而围绕主轴电动机102的主轴旋转。当硬盘驱动器100不处于操作状态时,磁盘101则停止转动(处于静止状态)。两个磁头102被保持在致动器104的前端,并分别作用在磁盘101的顶面和底面上。它们在磁盘101上执行写操作,或者从磁盘101执行读操作。致动器104由音圈电动机(VCM)105驱动,所述电动机由MPU(微处理单元)109通过数模转换器(DAC)106和音圈电动机(VCM)驱动器107控制。
读写通道108执行数据的读写处理。即,当写数据时,读写通道108把通过HDC(硬盘控制器)110来自主系统(计算机)的写数据转换成写信号(电流),并将所述信号提供给磁头103。磁头103根据所述写电流在磁盘101上执行数据写操作。在另一方面,当读出数据时,读写通道108把从磁盘101读出的读信号(电流)转换成数字数据,并通过HDC110把所述数字信号提供给主系统。
HDC110具有被用作硬盘驱动器100的接口的功能。一个功能是接收从主系统传送的写数据,并将其传送给读写通道108。另一个功能是向主系统传送从读写通道108传送的读出数据。再一个功能是,响应从主系统发出的指令形式的命令,把所述命令传递给MPU109。
MPU109控制硬盘驱动器100。DRAM111用于存储控制程序,使得MPU109能够控制硬盘驱动器100,并被用作用于存储读写数据的扇区缓冲器(缓冲存储器)。因而,HDC110把从主系统传送的写请求(包括写数据)暂时高速缓存在DRAM111内,并与此同时,向主系统发出所述写请求完成的完成通知(指令完成),作为通知信息。此后,HDC110在合适的定时向读写通道108传送高速缓存的写数据,并执行所述写请求。HDC110还在DRAM111内高速缓存从主系统传送的读出数据。当HDC110收到来自主系统的相应于相同数据的读请求时,其便向主系统发送在DRAM111中高速缓存的数据。
图2表示在DRAM111中提供的扇区缓冲器的一种结构的例子。
如图2所示,按照当前实施例的扇区缓冲器10采用双环缓冲器系统作为数据结构。扇区缓冲器的内部被分成相应于用于读出数据的区域的环形缓冲器(下文称为BUF_R)11,以及相应于用于写请求的区域的环形缓冲器(下文称为BUF_W)12。在所示的例子中,BUF_W12的底页(下文称为BPAGE)13被用作BUF_R11和BUF_W12之间的分割。即,从缓冲器的底部到扇区缓冲器的BPAGE13的区域被用作BUF_R11,而从缓冲器的顶部到扇区缓冲器的BPAGE13的区域被用作BUF_W12。附带说明,显然,虽然在所示的例子中,BUF_W12的底页被设置为分割(BPAGE13),在BUF_R11位于缓冲器的顶侧,BUF_W12位于缓冲器底侧时,则BUF_R11的底页被用作分割(BPAGE13)。
在当前实施例中,BPAGE13的位置可以在MPU109的控制下改变。更具体地说,在当前实施例中,MPU109是一个控制装置,用于按照来自主系统的对硬盘驱动器100(磁盘101)的存取模式把整个扇区缓冲器10的存储区域动态地、合适地分配给BUF_R11和BUF_W12。存取模式例如是写请求或读请求的频率以及要被处理的数据的尺寸等模式。
图3是表示作为扇区缓冲器10的控制装置被使用的MPU109的功能的方框图。
参见图3,按照当前实施例的MPU109包括用于接收从主系统发出的访问请求(下文称为访问指令)的中断处理器20,用于管理和控制扇区缓冲器10的段的段控制程序30,用于发送指令,以便改变扇区缓冲器10的结构的指令调度器40,以及事件处理器50。此外,MPU109包括指令分析器60和错误恢复处理器70。指令分析器60分析访问指令,并确定扇区缓冲器10的BPAGE13是否应当被改变。在使用扇区缓冲器10处理失败的情况下,错误恢复处理器70检测到所述失败,并进行重试。
这些功能通过按照存储在DRAM111中的程序(微代码)控制MPU109被执行。所述程序例如已被写在磁盘101上,并在硬盘驱动器100被启动时,被传递到DRAM111。
在上述的结构中,中断处理器20接收从主系统给予的已通过HDC110传送的访问指令,并进行相应于请求类型(读出数据或写数据)的处理。当中断处理器20收到写请求时,其把与写请求相关的写数据存储在扇区缓冲器10中,并调用段控制程序30,以便开始处理。此时,扇区缓冲器10能够接收下一个写请求,即使下一个写请求尚未来到,扇区缓冲器10向中断处理器20发送写传送完成信息。其中收到写传送完成信息的中断处理器20向主系统返回指令完成信息。当中断处理器20收到数据读请求时,其调用段控制程序30,以便开始处理。
段控制程序30检查在扇区缓冲器10中存储的数据和由中断处理器20接收的访问指令之间的关系,并执行相应于相应的请求的处理。例如,如果在由中断处理器20收到的访问指令是写请求时,在与所述写请求相关的写数据的写目的地相同的地址的数据正在被保持在BUF_R11中,则段控制程序30便执行丢弃所述数据的处理。如果在由中断处理器20收到的访问指令是读请求时,与读请求相关的数据正在被保持在BUF_R11或BUF_W12中,则段控制程序30读出所述数据,并将其发送给主系统。因为当与读请求相关的数据未被保存在BUF_R11或BUF_W12中时,需要从磁盘101读出数据,段控制程序30调用指令调度器40。
此外,在预定情况下,当前实施例的段控制程序30移动扇区缓冲器10中的BPAGE13。这种处理的细节将在后面说明。
指令调度器40以合适的定时发送指令,例如使磁头103寻道,产生管理表,读出数据和写数据等。当指令调度器40被从段控制程序30调用以便从磁盘101读出数据时,指令调度器40则立即发出读出数据的指令。
此外,当前实施例的指令调度器40在预定情况下执行用于移动扇区缓冲器10中的BPAGE13所需的处理。这种处理的细节将在后面说明。
事件处理器50检测由指令调度器40发出的各种指令的事件,并执行这些指令,以便启动合适的程序,在磁盘101上写数据或从磁盘101中读出数据。因而,数据在磁盘101上被实际地写入或读出。
从磁盘101读出的数据被存储在扇区缓冲器10的BUF_R11内,并被传送给主系统。
指令分析器60分析由中断处理器20收到的每个访问指令,并确定BPAGE13是否应当移动。作为分析所述指令和确定BPAGE13移动的方法,可以采用下面基于接收的访问指令的类型或频率的方法。
(1)指令分析器60分析访问指令的类型(读请求或写请求)和指令的长度(读出数据或写入数据的尺寸)。当预定数量的或者超过所述预定数量的每个具有固定的或者较长的指令长度的读请求被发出时(具体地说,例如,当3个或3个以上的每个具有超过64个扇区的尺寸的用于读出数据的请求被发出时),指令分析器60便确定BPAGE13被移动,使得扩展BUF_R11(在图2的例子中,BPAGE13朝向缓冲器的顶侧移动)。当写请求出现时,指令分析器60确定移动BPAGE13,使得扩展BUF_W12(使其恢复)。
(2)指令分析器60分析访问指令的类型(读请求或写请求)。写请求被连续地高速缓存,并且,当用于BUF_W12的自由空间被减少到一个小的尺寸时,指令分析器60便判断BUF_W12应当被扩展(关于BUF_W12的自由空间的信息可以从段控制程序30获得)。附带说明,在这种情况下,BUF_W12的尺寸起初被设置为一个小的值。
(3)指令分析器60分析访问指令的类型(读请求或写请求),并计算相互独立地接收的读请求和写请求各自的数量。如果计数值中发生预定数量的或大于所述预定数量的差值,则指令分析器60断定BPAGE13应当按照所述差值以这种方式被移动,使得如果读请求增加,则BUF_R11被扩展,并且如果写请求增加,则BUF_W12被扩展。在这种情况下,预先设置一个门限值,用于按照发生多大的差值确定BPAGE13应当朝向哪一侧移动,并将所述门限值例如保存在DRAM111内。
在这种方法的一种改型中,指令分析器60甚至还可以分析每个指令的长度(读出数据或写入数据的尺寸),并在一个组合的基础上,确定收到的读请求和写请求的数量及其指令长度,借以判断BPAGE13是否应当被移动。
(4)指令分析器60分析访问指令的类型(读请求或写请求)。指令分析器60计算在BUF_R11和BUF_W12中高速缓存的数据的各自的命中率,并用这种方式判断BPAGE13是否被移动,使得它们达到更有效的缓冲器尺寸(对于命中率高的分配给大的尺寸)。
除去这些之外,当硬盘驱动器100是不同于用作计算机的外部存储装置的硬盘驱动器的硬盘记录器时,其用于记录和再现多媒体内容例如活动数据、话音数据等,当所述多媒体内容被记录和再现时,对磁盘的访问模式相互之间具有许多不同。即当记录多媒体内容时,用于写大的数据的请求的数量增加,而当多媒体内容被再现时,用于读大的数据的请求的数量增加。因而,也可以监视硬盘驱动器100的操作方式,并用这种方式控制硬盘驱动器100,使得BPAGE13被移动,以便在记录操作中增加BUF_W12,在再现操作中增加BUF_R11。
在指令分析器60通过使用上述方法作出关于BPAGE13是否应当被移动的决定之后,根据指令调度器40发出的指令进行检查,检查扇区缓冲器10的状态是否处于BPAGE13可被移动的状态。如果发现BPAGE13可被移动,则段控制程序30改变BPAGE13的位置。关于BPAGE13的移动,可以通过预先用这种方式设置BPAGE13的位置,使得BUF_R11和BUF_W12在几级中用预定的速率,使BPAGE13用步进方式移动。
除去由中断处理器20通过事件处理器50执行的一系列的读写处理之外,当在读写处理中发生错误时,错误恢复处理器70启动,并按照事先准备的错误恢复程序重新执行数据写处理或数据读处理。
下面说明当硬盘驱动器10收到来自主系统的每个访问指令时进行的用于控制扇区缓冲器10的操作。
图4是用于说明由MPU109执行的处理的流程图。
当硬盘驱动器100收到来自主系统的访问指令,并把来自HDC110的访问指令传送给MPU109时,如图4所示(步骤401),指令分析器60首先分析所述访问指令。MPU109根据分析结果判断扇区缓冲器10的BPAGE13是否应当被移动(步骤402)。当确定BPAGE13被移动时,使表示被一种微代码参考的标记的BPAGE改变请求接通。
接着,段控制程序30检查访问指令的BPAGE改变请求的状态。如果BPAGE改变请求未被接通,则像通常那样执行访问指令,并且结束处理(步骤403和404)。
在另一方面,如果BPAGE改变请求是接通的,则BPAGE13被在实际上重写。此时,需要考虑在进行中的访问指令和扇区缓冲器10的状态。即,如果BPAGE13未被包含在BUF_W12的段中,则可以进行BPAGE13的重写。不过,当BPAGE13被包括在BUF_W12的段中时,则BUF_W12的段受到BPAGE3的重写的影响,使得BPAG13的重写不能被进行。
在特殊的操作中,指令调度器40首先发出一个用于对相应于num_pend wrt的变量进行检查的指令。该指令按照预定的程序被执行。按照num_pend wrt的值,段控制程序30接着检查BPAGE13是否被包括在预定的写请求段中(步骤405)。其中项num_pend wrt表示对磁盘101尚未完成写操作的写请求的数量,同时其被保存在扇区缓冲器10中。
如果num_pend wrt的值是0,则不存在对磁盘101尚未完成写操作的写请求的段。因此,不需要检索包括BPAGE13的BUF_W12中的段。在另一方面,当num_pend wrt不是0时,则检索包括BPAGE13的相应的段。
作为对包括BPAGE13的段的检索结果,如果这种段存在,则BPAGE13不能被重写。因此,像通常那样执行访问指令,并结束处理(步骤404)。
因为当包括BPAGE13的段不存在时启动BPAGE13的重写,首先从指令调度器40中发出用于执行PAGE Discard的指令,并按照预定程序执行PAGE Discard指令(步骤406)。PAGE Discard是一种用于从相应的页中丢弃不需要进行高速缓存的段的处理。不需要进行高速缓存的段例如是由保存在BUF_W12中的写请求已经完成对磁盘101的写操作的写请求的段。
然后BPAGE13被段控制程序30重写,使得其位置被改变。利用BPAGE13的改变,BUF_R11和BUF_W12的管理参数被改变(步407)。此后,像通常那样执行访问指令,并且结束处理(步骤404)。
每当硬盘驱动器100收到来自主系统的访问指令时,执行上述的操作。在当前实施例中,如在步骤405的判断所示,即使由指令分析的结果发现BPAGE13最好被移动以便改变BUF_R11和BUF_W12的缓冲器尺寸时,则根据扇区缓冲器10的状态,即当存在包括BPAGE13的写请求段时,不进行BPAGE13的重写,而等待其重写直到下一次机会(直到硬盘驱动器收到另一个访问指令,并启动步骤401的操作周期以后)。这是因为如果在硬盘驱动器100的背景下按照正常处理执行被保存在BUF_W12中的相应的写请求,则包括PAGE13的写请求的段成为不存在的,直到硬盘驱动器100接收下一个访问指令,然后启动BPAGE13的重写。
在上述的当前实施例中,提供扇区缓冲器10作为双环缓冲器系统,其中扇区缓冲器10的配置被分成相应于用于高速缓存读出数据的BUF_R11和相应于用于高速缓存从主系统发出的写请求的环形缓冲器BUF_W12。按照主系统对硬盘驱动器100(磁盘)的访问模式,BUF_R11和BUF_W12的缓冲器尺寸用这种方式被改变,使得当写请求的数量增加并且其数据尺寸大时,BUF_W12被扩展,并且当读请求的数量增加并且其数据尺寸大时,BUF_R11被扩展。因为整个扇区缓冲器10的尺寸已被确定,相应于用于使BUF_R11和BUF_W12隔开的BUF_R11或BUF_W12的底页(BPAGE13)的位置被改变,借以改变BUF_R11和BUF_W12的缓冲器尺寸。
因而,BUF_R11的缓冲器尺寸可以根据用于读出数据的高速缓存的容量而增加,BUF_W12的缓冲器尺寸可以根据用于高速缓存写请求的容量而增加。因此,即使使用双环缓冲器系统作为扇区缓冲器10的数据结构,和单环形缓冲器系统相比,用于高速缓存写请求和读出数据的各个缓冲器的尺寸被减少的影响可被减少。
权利要求
1.一种数据存储装置,包括用于以磁的方式记录数据的磁盘;以及用于在所述磁盘上进行处理之前暂时保存从所述磁盘读出的或在所述磁盘上写入的数据的缓冲存储器;其中所述缓冲存储器包括一个存储区,所述存储区被分成用于存储从外部接收的对所述磁盘的写请求的第一环形缓冲器,以及用于存储从所述磁盘上读出的数据的第二环形缓冲器,所述第一环形缓冲器和所述第二环形缓冲器具有各自的缓冲器尺寸,所述缓冲器尺寸可以通过改变用于分离所述第一环形缓冲器和所述第二环形缓冲器的分割的位置被改变。
2.按照权利要求1所述的数据存储装置,其中所述分割是所述第一环形缓冲器的底页或所述第二环形缓冲器的底页。
3.按照权利要求1所述的数据存储装置,其中所述缓冲存储器的分割按照对所述磁盘的外部访问的模式被移动。
4.一种数据存储装置,包括用于记录数据的记录介质;缓冲器装置,其具有第一环形缓冲器,用于在所述记录介质上进行处理之前暂时保存对所述记录介质的外部写请求,以及第二环形缓冲器,用于保存按照对所述记录介质的外部读请求从所述记录介质读出的数据;以及缓冲器控制装置,其按照对所述记录介质的外部访问的模式改变包括在所述缓冲器装置中的第一环形缓冲器和第二环形缓冲器的各自的缓冲器尺寸。
5.按照权利要求4所述的数据存储装置,其中所述缓冲器装置是RAM(随机存取存储器),其中缓冲区被分成第一环形缓冲器和第二环形缓冲器。
6.按照权利要求4所述的数据存储装置,其中所述缓冲器控制装置改变所述第一环形缓冲器的底页的位置或者所述第二环形缓冲器的底页的位置,所述底页分割所述RAM的缓冲区,以便改变第一和第二环形缓冲器的各个缓冲器的尺寸。
7.按照权利要求4所述的数据存储装置,其中所述缓冲器控制装置根据从外部接收的每个访问请求的类型和每个类型的访问请求的频率改变第一和第二环形缓冲器的各个缓冲器尺寸。
8.按照权利要求4所述的数据存储装置,其中所述缓冲器控制装置根据与从外部接收的访问请求相关的写数据或读出数据的尺寸改变所述第一和第二环形缓冲器的各个缓冲器尺寸。
9.一种用于管理缓冲存储器的方法,所述缓冲存储器用于在从预定的记录介质读出数据或写数据时,在对所述预定的记录介质进行处理之前,暂时保存所述数据,所述方法包括以下步骤分析对所述记录介质的外部访问请求;根据所述分析的结果确定提供在所述缓冲存储器的缓冲区内的写请求环形缓冲器和读出数据环形缓冲器的各个缓冲器的尺寸是否应当被改变;以及按照所述确定的结果改变一个分割的位置,所述分割把所述缓冲存储器的缓冲区划分成两个环形缓冲器,借以改变两个环形缓冲器的各个缓冲器尺寸。
10.按照权利要求9所述的方法,其中用于分析访问请求的所述步骤分析访问请求的类型和每种类型的访问请求的频率,以及所述用于确定缓冲器尺寸是否应当被改变的步骤,判断所述缓冲器的尺寸用这种方式被改变,使得当在外部访问请求中的写请求的数量增加时,所述写请求环形缓冲器被扩展,并且判断所述缓冲器的尺寸用这种方式被改变,使得当在外部访问请求中的读请求的数量增加时,所述读出数据环形缓冲器被扩展。
11.按照权利要求9所述的方法,其中所述用于分析所述访问请求的步骤分析与所述访问请求相关的写数据或读出数据的尺寸,以及所述用于确定缓冲器的尺寸是否应当被改变的步骤,判断所述缓冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求写入大尺寸的数据的写访问请求的数量增加时,所述写请求环形缓冲器被扩展,并且判断所述缓冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求读出大尺寸的数据的访问请求的数量增加时,所述读出数据环形缓冲器被扩展。
12.按照权利要求9所述的方法,其中用于改变缓冲器尺寸的所述步骤改变写请求环形缓冲器或读出数据环形缓冲器的底页的位置,借以改变两个环形缓冲器的缓冲器尺寸。
13.一种硬盘记录器,其利用磁盘作为记录介质,用于记录和再现多媒体的内容,所述硬盘记录器包括缓冲器装置,所述缓冲器装置具有第一环形缓冲器,用于在述磁盘上进行处理之前暂时保存对所述磁盘的写请求,和第二环形缓冲器,用于保存按照对所述磁盘的读请求从所述磁盘读出的数据,以及缓冲器控制装置,用于用这种方式动态地分配所述缓冲器装置的存储区域,使得当所述硬盘记录器以用于记录多媒体内容的操作方式操作时,给予所述第一环形缓冲器大的缓冲器尺寸,当所述硬盘记录器以用于再现多媒体内容的操作方式操作时,给予所述第二环形缓冲器大的缓冲器尺寸。
全文摘要
为了避免在采用双环缓冲器系统作为数据结构的缓冲存储器中即使进行偏向数据的读操作或写操作的访问时存储装置的性能的劣化,在存储装置的DRAM 111中提供一种用于高速缓存访问请求的扇区缓冲器10。扇区缓冲器10具有第一环形缓冲器(BUF_W)12,用于在对记录介质进行处理之前暂时保存对所述记录介质的外部写请求,以及第二环形缓冲器(BUF_R)11,用于保存按照对所述记录介质的外部读请求从所述记录介质读出的数据。存储装置的MPU 109按照对记录介质的外部访问的模式移动BUF_R 11或BUF_W 12的BPAGE 13,借以改变BUF_R 11和BUF_W 12的缓冲器尺寸。
文档编号G06F12/00GK1503141SQ20031011832
公开日2004年6月9日 申请日期2003年11月21日 优先权日2002年11月21日
发明者山田秀二, 齐藤博史, 斋藤高裕, 福久良司, 史, 司, 裕 申请人:日立环球储存科技荷兰有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1