著录项信息
专利名称 | 数据存储装置和用于管理缓冲存储器的方法 |
申请号 | CN200310118324.7 | 申请日期 | 2003-11-21 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-06-09 | 公开/公告号 | CN1503141 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F12/02 | IPC分类号 | G;0;6;F;1;2;/;0;2查看分类表>
|
申请人 | 日立环球储存科技荷兰有限公司 | 申请人地址 | 荷兰阿姆斯特丹
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 日立环球储存科技荷兰有限公司 | 当前权利人 | 日立环球储存科技荷兰有限公司 |
发明人 | 山田秀二;齐藤博史;斋藤高裕;福久良司 |
代理机构 | 中国国际贸易促进委员会专利商标事务所 | 代理人 | 李玲 |
摘要
为了避免在采用双环缓冲器系统作为数据结构的缓冲存储器中即使进行偏向数据的读操作或写操作的访问时存储装置的性能的劣化,在存储装置的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的缓冲器尺寸。
1.一种数据存储装置,包括:
用于以磁的方式记录数据的磁盘;
用于在所述磁盘上进行处理之前暂时保存从所述磁盘读出的或在 所述磁盘上写入的数据的缓冲存储器;
其中所述缓冲存储器包括一个存储区,所述存储区被分成用于存 储从外部接收的对所述磁盘的写请求的第一环形缓冲器,以及用于存 储从所述磁盘上读出的数据的第二环形缓冲器,所述第一环形缓冲器 和所述第二环形缓冲器具有各自的缓冲器尺寸,所述缓冲器尺寸可以 通过改变用于分离所述第一环形缓冲器和所述第二环形缓冲器的分割 的位置被改变;以及
其中所述缓冲存储器的分割按照对所述磁盘的外部访问的模式被 移动。
2.按照权利要求1所述的数据存储装置,其中所述分割是所述第 一环形缓冲器的底页或所述第二环形缓冲器的底页。
3.一种数据存储装置,包括:
用于记录数据的记录介质;
缓冲器装置,其具有第一环形缓冲器,用于在所述记录介质上进 行处理之前暂时保存对所述记录介质的外部写请求,以及第二环形缓 冲器,用于保存按照对所述记录介质的外部读请求从所述记录介质读 出的数据;以及
缓冲器控制装置,其按照对所述记录介质的外部访问的模式改变 包括在所述缓冲器装置中的第一环形缓冲器和第二环形缓冲器的各自 的缓冲器尺寸。
4.按照权利要求3所述的数据存储装置,其中所述缓冲器装置是 随机存取存储器RAM。
5.按照权利要求3所述的数据存储装置,其中所述缓冲器控制装 置改变所述第一环形缓冲器的底页的位置或者所述第二环形缓冲器的 底页的位置,所述底页分割所述RAM的缓冲区,以便改变第一和第 二环形缓冲器的各个缓冲器的尺寸。
6.按照权利要求3所述的数据存储装置,其中所述缓冲器控制装 置根据从外部接收的每个访问请求的类型和每个类型的访问请求的频 率改变第一和第二环形缓冲器的各个缓冲器尺寸。
7.按照权利要求3所述的数据存储装置,其中所述缓冲器控制装 置根据与从外部接收的访问请求相关的写数据或读出数据的尺寸改变 所述第一和第二环形缓冲器的各个缓冲器尺寸。
8.一种用于管理缓冲存储器的方法,所述缓冲存储器用于在从预 定的记录介质读出数据或写数据时,在对所述预定的记录介质进行处 理之前,暂时保存所述数据,所述方法包括以下步骤:
分析对所述记录介质的外部访问请求;
根据所述分析的结果确定提供在所述缓冲存储器的缓冲区内的写 请求环形缓冲器和读出数据环形缓冲器的各个缓冲器的尺寸是否应当 被改变;以及
按照所述确定的结果改变一个分割的位置,所述分割把所述缓冲 存储器的缓冲区划分成两个环形缓冲器,借以改变两个环形缓冲器的 各个缓冲器尺寸。
9.按照权利要求8所述的方法,其中用于分析访问请求的所述步 骤分析访问请求的类型和每种类型的访问请求的频率,以及
所述用于确定缓冲器尺寸是否应当被改变的步骤,判断所述缓冲 器的尺寸用这种方式被改变,使得当在外部访问请求中的写请求的数 量增加时,所述写请求环形缓冲器被扩展,并且判断所述缓冲器的尺 寸用这种方式被改变,使得当在外部访问请求中的读请求的数量增加 时,所述读出数据环形缓冲器被扩展。
10.按照权利要求8所述的方法,其中所述用于分析所述访问请求 的步骤分析与所述访问请求相关的写数据或读出数据的尺寸,以及
所述用于确定缓冲器的尺寸是否应当被改变的步骤,判断所述缓 冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求写入大 尺寸的数据的写访问请求的数量增加时,所述写请求环形缓冲器被扩 展,并且判断所述缓冲器的尺寸用这种方式被改变,使得当外部访问 请求中的请求读出大尺寸的数据的访问请求的数量增加时,所述读出 数据环形缓冲器被扩展。
11.按照权利要求8所述的方法,其中用于改变缓冲器尺寸的所述 步骤改变写请求环形缓冲器或读出数据环形缓冲器的底页的位置,借 以改变两个环形缓冲器的缓冲器尺寸。
12.一种硬盘记录器,其利用磁盘作为记录介质,用于记录和再现 多媒体的内容,所述硬盘记录器包括:
缓冲器装置,所述缓冲器装置具有第一环形缓冲器,用于在所述 磁盘上进行处理之前暂时保存对所述磁盘的写请求,和第二环形缓冲 器,用于保存按照对所述磁盘的读请求从所述磁盘读出的数据,以及
缓冲器控制装置,用于用这种方式动态地分配所述缓冲器装置的 存储区域,使得当所述硬盘记录器以用于记录多媒体内容的操作方式 操作时,给予所述第一环形缓冲器大的缓冲器尺寸,当所述硬盘记录 器以用于再现多媒体内容的操作方式操作时,给予所述第二环形缓冲 器大的缓冲器尺寸。
技术领域\n本发明涉及一种数据存储装置,尤其涉及缓冲存储器的控制,当 在记录介质例如磁盘中写入或者从所述记录介质中读出数据时,所述 缓冲存储器用于在其中暂时保存所述数据。\n背景技术\n在包括磁盘装置(硬盘驱动器)的计算机的外部存储装置中,制 备一种被称为扇区缓冲器的缓冲存储器(DRAM:动态随机存取存储 器),作为用于改善数据读写处理的性能的装置。一直方便地进行从 主机系统发出的数据写请求(包括写数据)或只读一次的数据的高速 缓存(保存)。\n通常使用一种被称为环形缓冲器的数据结构作为扇区缓冲器。环 形缓冲器是一种用于连接缓冲器的开始和结尾,借以把有限长度的缓 冲器作为无限长度的缓冲器来处理的技术(例如见专利文件1,2)。\n图5是表示环形缓冲器的结构的示意图。\n如图5所示,环形缓冲器管理作为一个片断的连续数据的有效的 集合,同时从每个扇区缓冲器的缓冲器的底部到顶部按照顺序使用每 个扇区缓冲器的存储区域。在扇区缓冲器被用到缓冲器顶部之后,环 形缓冲器返回缓冲器底部,在那里继续使用扇区缓冲器。因而,在语 义上(逻辑上)形成一个环。\n因为扇区缓冲器被按顺序使用,上述的环形缓冲器系统适用于用 来依次处理指令的指令处理格式。在另一方面,近来,进行指令的重 新排序操作或其类似操作,以便进一步改善数据读写处理的性能。重 新排序操作是为了用这种方式重新排列用于读写数据的指令的执行顺 序,使得到执行数据的读写操作所需的等待时间最短。借助于重新排 序或其类似操作,合适地重新排列指令的处理顺序和执行所述指令将 导致以写请求和读出的数据相混合的形式的段缓冲器的段管理的复杂 性。\n[专利文件1]\n日本专利公开号2002-259115\n[专利文件2]\n日本专利公开号2002-170319\n虽然环形缓冲器系统适用于用来依次处理指令的指令处理格式, 如上所述,但是其使得以写请求和读出的数据的混合形式的扇区缓冲 器的段管理复杂化,其中在执行指令之后,指令的处理顺序被合适地 重新排序。\n为了解决这个问题,可以想出一种系统,其中数据写请求和读出 的数据在扇区缓冲器内被单独地处理。即,这种系统是这样的:在扇 区缓冲器中提供一个用于高速缓存写请求的环形缓冲器和用于高速缓 存读出的数据的另一个环形缓冲器,并且在两个环形缓冲器中的段被 单独地管理。这种系统下面被称为双环形缓冲器系统。即使在与数据 读写相关的指令被合适地重新排序和执行的情况下,单独地管理写请 求和读出的数据使得能够避免扇区缓冲器中的段管理的复杂性。\n不过,因为在这种情况下在扇区缓冲器中提供有两个环形缓冲器, 使得用于高速缓存写请求和读出的数据的各个缓冲器的尺寸被减少。 更具体地说,因为在正常的环形缓冲器(下面被称为单环形缓冲器系 统)中要被高速缓存的内容不受限制,如果用于在外部存储装置中写 数据的访问增加,则许多写请求被高速缓存,而如果用于读出数据的 访问增加,则许多读出数据被高速缓存。换句话说,当使访问偏向数 据写或读时,相应于扇区缓冲器的最大存储容量的写请求或读出的数 据可以被高速缓存。在另一方面,因为在双环形缓冲器系统中写请求 环形缓冲器和读出的数据环形缓冲器彼此分开,双环形缓冲器系统可 以只高速缓存分配给各个环形缓冲器的缓冲器尺寸。\n一般地说,在高速缓存系统中,高速缓存存储器(缓冲存储器) 的大的存储容量能够贡献于性能的改进。因而,当存在偏向于数据写 或读的访问时,和采用单个的环形缓冲器系统的外部存储装置相比, 在扇区缓冲器中使用双环形缓冲器系统这种外部存储装置的性能变 劣。\n同时,今天要由计算机处理的数据呈多媒体形式,并且用于在磁 盘上记录活动图像和话音的硬盘记录器被普遍采用,还具有使这种偏 向访问增加的可能,使得大容量的数据例如图像数据、话音数据或其 类似数据被同时写入或读出。\n发明内容\n因此,本发明的目的在于,通过采用双环形缓冲器系统作为缓冲 存储器的数据结构,使得即使在执行偏向数据的写或读的访问的情况 下,也能避免存储装置的性能劣化。\n为实现上述目的,作为用以下方式配置的数据存储装置实施本发 明。即,所述数据存储装置包括:用于记录数据的记录介质;缓冲器 装置,其具有第一环形缓冲器,用于在所述记录介质上进行处理之前 暂时保存对所述记录介质的外部写请求,以及第二环形缓冲器,用于 保存按照对所述记录介质的外部读请求从所述记录介质读出的数据; 以及缓冲器控制装置,其按照对所述记录介质的外部访问的模式改变 包括在所述缓冲器装置中的第一环形缓冲器和第二环形缓冲器的尺 寸。\n更优选地,所述缓冲器装置包括RAM(随机存取存储器),其中 缓冲区被分成第一环形缓冲器和第二环形缓冲器。改变所述第一环形 缓冲器的底页的位置或者所述第二环形缓冲器的底页的位置,以便改 变第一和第二环形缓冲器的各个缓冲器的尺寸。\n缓冲器的尺寸可以根据从外部接收的每个访问请求的类型和每个 类型的访问请求的频率被改变,或者根据与从外部接收的访问请求相 关的写数据或读出数据的尺寸被改变。\n此外,本发明还作为一种用于管理缓冲存储器的方法来实施,所 述缓冲存储器用于在从记录介质上读出数据和写数据之前暂时保存所 述数据。所述缓冲存储器管理方法包括以下步骤:分析对所述记录介 质的外部访问请求,根据分析的结果确定提供在所述缓冲存储器的缓 冲区内的写请求环形缓冲器和读出数据环形缓冲器的各个缓冲器的尺 寸是否应当被改变,以及按照所述确定的结果改变一个分割的位置, 所述分割用于把缓冲存储器的缓冲区划分成两个环形缓冲器,借以改 变两个环形缓冲器的各个缓冲器尺寸。\n更具体地说,所述缓冲器的尺寸用这种方式被改变,使得当在外 部访问请求中的写请求的数量增加时,所述写请求环形缓冲器被扩展, 并且所述缓冲器的尺寸用这种方式被改变,使得当在外部访问请求中 的读请求的数量增加时,所述读出数据环形缓冲器被扩展。或者,缓 冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求写入大 尺寸的数据的访问请求的数量增加时,所述写请求环形缓冲器被扩展, 并且缓冲器的尺寸用这种方式被改变,使得当外部访问请求中的请求 读出大尺寸的数据的访问请求的数量增加时,所述读出数据环形缓冲 器被扩展。\n此外,用于实现上述目的的本发明可以作为一种按照下述被构成 的磁盘装置来实施,所述磁盘装置包括:用于以磁的方式记录数据的 磁盘,以及用于在所述磁盘上进行处理之前暂时保存从所述磁盘读出 的和在所述磁盘上写入的数据的缓冲存储器,其中所述缓冲存储器包 括一个存储区,所述存储区被分成用于存储从外部接收的对所述磁盘 的写请求的第一环形缓冲器和用于存储从所述磁盘上读出的数据的第 二环形缓冲器,并且用于分离所述第一环形缓冲器和所述第二环形缓 冲器的分割的位置被改变,以便改变写区域和读区域的各个缓冲器的 尺寸。\n此外,本发明也可以作为一种利用磁盘作为记录介质用于记录和 再现多媒体的内容的硬盘记录器来实施。所述硬盘记录器被这样构成, 使得其包括缓冲器装置,所述缓冲器装置具有第一环形缓冲器,用于 在所述磁盘上进行处理之前暂时保存对所述磁盘的写请求,和第二环 形缓冲器,用于保存按照对磁盘的读请求从所述磁盘上读出的数据, 以及缓冲器控制装置,用于用这种方式动态地分配所述缓冲器装置的 存储区域,使得当所述硬盘记录器以用于记录多媒体内容的操作方式 操作时,给予所述第一环形缓冲器大的缓冲器尺寸,当所述硬盘记录 器以用于再现多媒体内容的操作方式操作时,给予所述第二环形缓冲 器大的缓冲器尺寸。\n按照本发明,如上所述,通过采用双环形缓冲器系统作为缓冲存 储器的数据结构,使得即使在执行偏向写数据或读出数据的操作的情 况下,也能避免存储装置的性能的劣化。\n附图说明\n图1是表示按照当前实施例的硬盘驱动装置的主要结构的方框 图;\n图2是表示在按照当前实施例的DRAM中提供的扇区缓冲器的配 置的例子的示意图;\n图3是表示用作按照当前实施例的扇区缓冲器的控制装置的MPU 的功能的方框图;\n图4是说明由按照当前实施例的MPU执行的处理的流程的流程 图;以及\n图5是表示环形缓冲器的配置的示意图。\n具体实施方式\n下面按照附图所示的实施例详细说明本发明。在当前的实施例中, 将以举例方式说明作为外部存储装置的使用磁盘作为记录介质的硬盘 驱动器。\n图1是表示硬盘驱动器100的主要部分的结构的方块图。\n硬盘驱动器100是一种外部存储装置,其中每个磁头103在由主 轴电动机102转动地驱动的磁盘101上寻道,并当停留在预定的磁道 (在预定的位置)上时,在磁盘101上写入数据,或者读出在磁盘101 上写入的数据。磁盘101是一种用于记录作为磁信息数据的记录介质, 并根据需要以单个或多个的形式被安装。不过,图1所示的是单个的 例子。\n当硬盘驱动器100处于操作状态时,磁盘101被连续地驱动,从 而围绕主轴电动机102的主轴旋转。当硬盘驱动器100不处于操作状 态时,磁盘101则停止转动(处于静止状态)。两个磁头102被保持 在致动器104的前端,并分别作用在磁盘101的顶面和底面上。它们 在磁盘101上执行写操作,或者从磁盘101执行读操作。致动器104 由音圈电动机(VCM)105驱动,所述电动机由MPU(微处理单元)109 通过数模转换器(DAC)106和音圈电动机(VCM)驱动器107控制。\n读写通道108执行数据的读写处理。即,当写数据时,读写通道 108把通过HDC(硬盘控制器)110来自主系统(计算机)的写数据 转换成写信号(电流),并将所述信号提供给磁头103。磁头103根 据所述写电流在磁盘101上执行数据写操作。在另一方面,当读出数 据时,读写通道108把从磁盘101读出的读信号(电流)转换成数字 数据,并通过HDC110把所述数字信号提供给主系统。\nHDC110具有被用作硬盘驱动器100的接口的功能。一个功能是 接收从主系统传送的写数据,并将其传送给读写通道108。另一个功 能是向主系统传送从读写通道108传送的读出数据。再一个功能是, 响应从主系统发出的指令形式的命令,把所述命令传递给MPU109。\nMPU109控制硬盘驱动器100。DRAM111用于存储控制程序, 使得MPU109能够控制硬盘驱动器100,并被用作用于存储读写数据 的扇区缓冲器(缓冲存储器)。因而,HDC110把从主系统传送的写 请求(包括写数据)暂时高速缓存在DRAM111内,并与此同时,向 主系统发出所述写请求完成的完成通知(指令完成),作为通知信息。 此后,HDC110在合适的定时向读写通道108传送高速缓存的写数据, 并执行所述写请求。HDC110还在DRAM111内高速缓存从主系统传 送的读出数据。当HDC110收到来自主系统的相应于相同数据的读请 求时,其便向主系统发送在DRAM111中高速缓存的数据。\n图2表示在DRAM111中提供的扇区缓冲器的一种结构的例子。\n如图2所示,按照当前实施例的扇区缓冲器10采用双环缓冲器系 统作为数据结构。扇区缓冲器的内部被分成相应于用于读出数据的区 域的环形缓冲器(下文称为BUF_R)11,以及相应于用于写请求的区 域的环形缓冲器(下文称为BUF_W)12。在所示的例子中,BUF_W 12的底页(下文称为BPAGE)13被用作BUF_R11和BUF_W12之 间的分割。即,从缓冲器的底部到扇区缓冲器的BPAGE13的区域被 用作BUF_R11,而从缓冲器的顶部到扇区缓冲器的BPAGE13的区 域被用作BUF_W12。附带说明,显然,虽然在所示的例子中,BUF_W 12的底页被设置为分割(BPAGE13),在BUF_R11位于缓冲器的 顶侧,BUF_W12位于缓冲器底侧时,则BUF_R11的底页被用作分 割(BPAGE13)。\n在当前实施例中,BPAGE13的位置可以在MPU109的控制下改 变。更具体地说,在当前实施例中,MPU109是一个控制装置,用于 按照来自主系统的对硬盘驱动器100(磁盘101)的存取模式把整个扇 区缓冲器10的存储区域动态地、合适地分配给BUF_R11和BUF_W 12。存取模式例如是写请求或读请求的频率以及要被处理的数据的尺 寸等模式。\n图3是表示作为扇区缓冲器10的控制装置被使用的MPU109的 功能的方框图。\n参见图3,按照当前实施例的MPU109包括:用于接收从主系统 发出的访问请求(下文称为访问指令)的中断处理器20,用于管理和 控制扇区缓冲器10的段的段控制程序30,用于发送指令,以便改变 扇区缓冲器10的结构的指令调度器40,以及事件处理器50。此外, MPU109包括指令分析器60和错误恢复处理器70。指令分析器60分 析访问指令,并确定扇区缓冲器10的BPAGE13是否应当被改变。 在使用扇区缓冲器10处理失败的情况下,错误恢复处理器70检测到 所述失败,并进行重试。\n这些功能通过按照存储在DRAM111中的程序(微代码)控制 MPU109被执行。所述程序例如已被写在磁盘101上,并在硬盘驱动 器100被启动时,被传递到DRAM111。\n在上述的结构中,中断处理器20接收从主系统给予的已通过HDC 110传送的访问指令,并进行相应于请求类型(读出数据或写数据) 的处理。当中断处理器20收到写请求时,其把与写请求相关的写数据 存储在扇区缓冲器10中,并调用段控制程序30,以便开始处理。此 时,扇区缓冲器10能够接收下一个写请求,即使下一个写请求尚未来 到,扇区缓冲器10向中断处理器20发送写传送完成信息。其中收到 写传送完成信息的中断处理器20向主系统返回指令完成信息。当中断 处理器20收到数据读请求时,其调用段控制程序30,以便开始处理。\n段控制程序30检查在扇区缓冲器10中存储的数据和由中断处理 器20接收的访问指令之间的关系,并执行相应于相应的请求的处理。 例如,如果在由中断处理器20收到的访问指令是写请求时,在与所述 写请求相关的写数据的写目的地相同的地址的数据正在被保持在 BUF_R11中,则段控制程序30便执行丢弃所述数据的处理。如果在 由中断处理器20收到的访问指令是读请求时,与读请求相关的数据正 在被保持在BUF_R11或BUF_W12中,则段控制程序30读出所述 数据,并将其发送给主系统。因为当与读请求相关的数据未被保存在 BUF_R11或BUF_W12中时,需要从磁盘101读出数据,段控制程 序30调用指令调度器40。\n此外,在预定情况下,当前实施例的段控制程序30移动扇区缓冲 器10中的BPAGE13。这种处理的细节将在后面说明。\n指令调度器40以合适的定时发送指令,例如使磁头103寻道,产 生管理表,读出数据和写数据等。当指令调度器40被从段控制程序 30调用以便从磁盘101读出数据时,指令调度器40则立即发出读出 数据的指令。\n此外,当前实施例的指令调度器40在预定情况下执行用于移动扇 区缓冲器10中的BPAGE13所需的处理。这种处理的细节将在后面 说明。\n事件处理器50检测由指令调度器40发出的各种指令的事件,并 执行这些指令,以便启动合适的程序,在磁盘101上写数据或从磁盘 101中读出数据。因而,数据在磁盘101上被实际地写入或读出。\n从磁盘101读出的数据被存储在扇区缓冲器10的BUF_R11内, 并被传送给主系统。\n指令分析器60分析由中断处理器20收到的每个访问指令,并确 定BPAGE13是否应当移动。作为分析所述指令和确定BPAGE13移 动的方法,可以采用下面基于接收的访问指令的类型或频率的方法。\n(1)指令分析器60分析访问指令的类型(读请求或写请求) 和指令的长度(读出数据或写入数据的尺寸)。当预定数量的或者超 过所述预定数量的每个具有固定的或者较长的指令长度的读请求被发 出时(具体地说,例如,当3个或3个以上的每个具有超过64个扇区 的尺寸的用于读出数据的请求被发出时),指令分析器60便确定 BPAGE13被移动,使得扩展BUF_R11(在图2的例子中,BPAGE13 朝向缓冲器的顶侧移动)。当写请求出现时,指令分析器60确定移动 BPAGE13,使得扩展BUF_W12(使其恢复)。\n(2)指令分析器60分析访问指令的类型(读请求或写请求)。 写请求被连续地高速缓存,并且,当用于BUF_W12的自由空间被减 少到一个小的尺寸时,指令分析器60便判断BUF_W12应当被扩展 (关于BUF_W12的自由空间的信息可以从段控制程序30获得)。 附带说明,在这种情况下,BUF_W12的尺寸起初被设置为一个小的 值。\n(3)指令分析器60分析访问指令的类型(读请求或写请求), 并计算相互独立地接收的读请求和写请求各自的数量。如果计数值中 发生预定数量的或大于所述预定数量的差值,则指令分析器60断定 BPAGE 13应当按照所述差值以这种方式被移动,使得如果读请求增 加,则BUF_R11被扩展,并且如果写请求增加,则BUF_W12被扩 展。在这种情况下,预先设置一个门限值,用于按照发生多大的差值 确定BPAGE13应当朝向哪一侧移动,并将所述门限值例如保存在 DRAM111内。\n在这种方法的一种改型中,指令分析器60甚至还可以分析每个指 令的长度(读出数据或写入数据的尺寸),并在一个组合的基础上, 确定收到的读请求和写请求的数量及其指令长度,借以判断BPAGE 13是否应当被移动。\n(4)指令分析器60分析访问指令的类型(读请求或写请求)。 指令分析器60计算在BUF_R11和BUF_W12中高速缓存的数据的 各自的命中率,并用这种方式判断BPAGE13是否被移动,使得它们 达到更有效的缓冲器尺寸(对于命中率高的分配给大的尺寸)。\n除去这些之外,当硬盘驱动器100是不同于用作计算机的外部存 储装置的硬盘驱动器的硬盘记录器时,其用于记录和再现多媒体内容 例如活动数据、话音数据等,当所述多媒体内容被记录和再现时,对 磁盘的访问模式相互之间具有许多不同。即当记录多媒体内容时,用 于写大的数据的请求的数量增加,而当多媒体内容被再现时,用于读 大的数据的请求的数量增加。因而,也可以监视硬盘驱动器100的操 作方式,并用这种方式控制硬盘驱动器100,使得BPAGE13被移动, 以便在记录操作中增加BUF_W12,在再现操作中增加BUF_R11。\n在指令分析器60通过使用上述方法作出关于BPAGE13是否应 当被移动的决定之后,根据指令调度器40发出的指令进行检查,检查 扇区缓冲器10的状态是否处于BPAGE13可被移动的状态。如果发 现BPAGE13可被移动,则段控制程序30改变BPAGE13的位置。 关于BPAGE13的移动,可以通过预先用这种方式设置BPAGE13的 位置,使得BUF_R11和BUF_W12在几级中用预定的速率,使 BPAGE13用步进方式移动。\n除去由中断处理器20通过事件处理器50执行的一系列的读写处 理之外,当在读写处理中发生错误时,错误恢复处理器70启动,并按 照事先准备的错误恢复程序重新执行数据写处理或数据读处理。\n下面说明当硬盘驱动器10收到来自主系统的每个访问指令时进 行的用于控制扇区缓冲器10的操作。\n图4是用于说明由MPU109执行的处理的流程图。\n当硬盘驱动器100收到来自主系统的访问指令,并把来自HDC 110的访问指令传送给MPU109时,如图4所示(步骤401),指令 分析器60首先分析所述访问指令。MPU109根据分析结果判断扇区 缓冲器10的BPAGE13是否应当被移动(步骤402)。当确定BPAGE 13被移动时,使表示被一种微代码参考的标记的BPAGE改变请求接 通。\n接着,段控制程序30检查访问指令的BPAGE改变请求的状态。 如果BPAGE改变请求未被接通,则像通常那样执行访问指令,并且 结束处理(步骤403和404)。\n在另一方面,如果BPAGE改变请求是接通的,则BPAGE13被 在实际上重写。此时,需要考虑在进行中的访问指令和扇区缓冲器10 的状态。即,如果BPAGE 13未被包含在BUF_W12的段中,则可以 进行BPAGE13的重写。不过,当BPAGE13被包括在BUF_W12 的段中时,则BUF_W12的段受到BPAGE3的重写的影响,使得 BPAG13的重写不能被进行。\n在特殊的操作中,指令调度器40首先发出一个用于对相应于 num_pend wrt的变量进行检查的指令。该指令按照预定的程序被执 行。按照num_pend wrt的值,段控制程序30接着检查BPAGE13是 否被包括在预定的写请求段中(步骤405)。其中项num_pend wrt 表示对磁盘101尚未完成写操作的写请求的数量,同时其被保存在扇 区缓冲器10中。\n如果num_pend wrt的值是0,则不存在对磁盘101尚未完成写操 作的写请求的段。因此,不需要检索包括BPAGE13的BUF_W12中 的段。在另一方面,当num_pend wrt不是0时,则检索包括BPAGE 13的相应的段。\n作为对包括BPAGE13的段的检索结果,如果这种段存在,则 BPAGE13不能被重写。因此,像通常那样执行访问指令,并结束处 理(步骤404)。\n因为当包括BPAGE13的段不存在时启动BPAGE13的重写,首 先从指令调度器40中发出用于执行PAGE Discard的指令,并按照预 定程序执行PAGE Discard指令(步骤406)。PAGE Discard是一种 用于从相应的页中丢弃不需要进行高速缓存的段的处理。不需要进行 高速缓存的段例如是由保存在BUF_W12中的写请求已经完成对磁盘 101的写操作的写请求的段。\n然后BPAGE13被段控制程序30重写,使得其位置被改变。利 用BPAGE13的改变,BUF_R11和BUF_W12的管理参数被改变(步 407)。此后,像通常那样执行访问指令,并且结束处理(步骤404)。\n每当硬盘驱动器100收到来自主系统的访问指令时,执行上述的 操作。在当前实施例中,如在步骤405的判断所示,即使由指令分析 的结果发现BPAGE13最好被移动以便改变BUF_R11和BUF_W12 的缓冲器尺寸时,则根据扇区缓冲器10的状态,即当存在包括BPAGE 13的写请求段时,不进行BPAGE13的重写,而等待其重写直到下一 次机会(直到硬盘驱动器收到另一个访问指令,并启动步骤401的操 作周期以后)。这是因为如果在硬盘驱动器100的背景下按照正常处 理执行被保存在BUF_W12中的相应的写请求,则包括PAGE13的 写请求的段成为不存在的,直到硬盘驱动器100接收下一个访问指令, 然后启动BPAGE13的重写。\n在上述的当前实施例中,提供扇区缓冲器10作为双环缓冲器系 统,其中扇区缓冲器10的配置被分成相应于用于高速缓存读出数据的 BUF_R11和相应于用于高速缓存从主系统发出的写请求的环形缓冲 器BUF_W12。按照主系统对硬盘驱动器100(磁盘)的访问模式, BUF_R11和BUF_W12的缓冲器尺寸用这种方式被改变,使得当写 请求的数量增加并且其数据尺寸大时,BUF_W12被扩展,并且当读 请求的数量增加并且其数据尺寸大时,BUF_R11被扩展。因为整个 扇区缓冲器10的尺寸已被确定,相应于用于使BUF_R11和BUF_W 12隔开的BUF_R11或BUF_W12的底页(BPAGE13)的位置被改 变,借以改变BUF_R11和BUF_W12的缓冲器尺寸。\n因而,BUF_R11的缓冲器尺寸可以根据用于读出数据的高速缓 存的容量而增加,BUF_W12的缓冲器尺寸可以根据用于高速缓存写 请求的容量而增加。因此,即使使用双环缓冲器系统作为扇区缓冲器 10的数据结构,和单环形缓冲器系统相比,用于高速缓存写请求和读 出数据的各个缓冲器的尺寸被减少的影响可被减少。
法律信息
- 2014-01-15
未缴年费专利权终止
IPC(主分类): G06F 12/02
专利号: ZL 200310118324.7
申请日: 2003.11.21
授权公告日: 2007.06.20
- 2007-06-20
- 2005-12-14
- 2004-06-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
1997-06-18
|
1996-11-09
| | |
2
| |
2002-02-06
|
2000-07-18
| | |
3
| | 暂无 |
1994-11-04
| | |
4
| | 暂无 |
1996-05-03
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |