磁盘装置及其控制方法
【技术领域】
[0001 ] 本发明的实施方式涉及磁盘装置及其控制方法。
【背景技术】
[0002]在磁盘装置中,在从发生对数据的访问要求起到开始进行数据的读写为止的访问时间中存在寻找(seek)时间和旋转等待时间等机械性等待时间。该机械性等待时间根据磁盘装置内的物理地址而变化,因此,为了使磁盘装置的访问性能提高,需要考虑对磁盘的访问频率而适当地重新配置(reallocate,再配置)数据。
【发明内容】
[0003]本发明的实施方式提供一种能减少访问时间的磁盘装置及其控制方法。
[0004]根据实施方式,提供一种具有磁盘、存储部、控制部的磁盘装置。磁盘具有记录区域。存储部按分割磁盘的记录区域而得到的多个区域的每个区域,关联地存储与对每个区域的访问次数相应的值。控制部以计数单位来对与对多个区域的访问次数相应的值进行计数,并更新存储在存储部的值,所述计数单位是按照从发生特定状况起的经过时间来确定的值、且是按单位访问而被计数的值。
【附图说明】
[0005]图1是表示实施方式涉及的磁盘装置的结构的图。
[0006]图2是表示实施方式中的记录控制部的结构的图。
[0007]图3是表示实施方式中的访问计数表的图。
[0008]图4是表示实施方式中的权重表的图。
[0009]图5是表不实施方式中的系数表的图。
[0010]图6是表示实施方式中的数据的重新配置的图。
[0011]图7是表示实施方式中的数据的重新配置的图。
[0012]图8是表示实施方式中的系数为1.5时的访问计数器的计数的累积值的图。
[0013]图9是表示实施方式中的系数为0.5时的访问计数器的计数的累积值的图。
[0014]图10是表示实施方式涉及的磁盘装置的动作的流程图。
[0015]图11是表示实施方式中的访问计数器的权重的确定的流程图。
[0016]图12是表示实施方式中的访问计数器的权重的变更的流程图。
【具体实施方式】
[0017]下面,参照附图来详细地说明实施方式涉及的磁盘装置及其控制方法。此外,并不是通过该实施方式来限定本发明。
[0018](实施方式)
[0019]使用图1对实施方式涉及的磁盘装置I进行说明。图1是表示磁盘装置I的结构的图。
[0020]磁盘装置I例如通过磁头22在磁盘11上记录信息,并通过磁头22从磁盘11中读出信号。具体来说,磁盘装置I具备磁盘11、主轴电机(spindle motor,主轴马达)12、磁头22、磁头支承部15、音圈电机(VCM) 16、磁头驱动部24、用户逻辑电路31、缓冲存储器29以及记录控制部40。
[0021]磁盘11通过主轴电机12以转动轴为中心以预定的转动速度进行旋转。主轴电机12的旋转通过用户逻辑电路31进行驱动。
[0022]磁头22通过其具备的记录头22a和再现头22b对磁盘11进行数据的写入、读出。另外,磁头22在磁头支承部(致动器臂)15的前端,通过被用户逻辑电路31驱动的VCM16,沿着磁盘11的半径方向(磁道(track)宽度方向)进行移动。对于磁盘11的转动处于停止的时候等,磁头22如用虚线所示那样退避到退避区(未图示)上。
[0023]磁头驱动部24对磁头22从磁盘11读取到的信号进行放大并输出,并供给到用户逻辑电路31。另外,磁头驱动部24对从用户逻辑电路31供给的用于向磁盘11写入数据的信号进行放大,并供给到磁头22。
[0024]记录控制部40进行与主机100之间执行的数据的收发的控制、缓冲存储器29的控制、以及对记录数据的数据纠错处理等。缓冲存储器29作为与主机100之间进行收发的数据的高速缓存来使用。另外,缓冲存储器29用于暂时存储从磁盘11读出的数据、写入磁盘11的数据、或从磁盘11读出的控制用固件(farmware)等。
[0025]用户逻辑电路31对从记录控制部40供给的用于写入磁盘11的数据进行编码调制后供给到磁头驱动部24。另外,用户逻辑电路31对从磁盘11读取而从磁头驱动部24供给的信号进行编码解调后作为数字数据输出到记录控制部40。
[0026]在用户逻辑电路31上连接有非易失性存储器28 (例如Flash ROM =Flash ReadOnly Memory,快闪只读存储器)和运算处理部25。记录控制部40根据预先存储在非易失性存储器28和磁盘11上的固件进行磁盘装置I的整体控制。固件是指初始固件和用于通常动作的控制用固件。在启动时最初执行的初始固件例如被存储在非易失性存储器28中。用于通常动作的控制用固件被记录在磁盘11上,通过基于初始固件的控制而从磁盘11被读出来并被储存到缓冲存储器29中。
[0027]在磁盘装置I中,在从发生对数据的访问请求起到开始进行数据的读写为止的访问时间中,存在寻找时间和旋转等待时间等的机械性等待时间。该机械性等待时间是用于使用VCM16使磁头支承部15和磁头22运转而进行相对于磁盘11的磁头22的定位的时间,依赖于磁盘装置I的记录区域的物理地址而变化。因此,在磁盘装置I中,将磁盘11的记录区域分割为多个区域(多个逻辑地址的范围),按每个区域使用访问计数器41 (参照图2)来对与对磁盘11的访问频率相应的值进行计数,存储与该计数值对应的访问计数表(参照图3)。在磁盘装置I中,根据该访问计数表适当地进行逻辑地址与物理地址的关联的变更,即适当地进行数据重新配置,期望使磁盘装置I的性能提高。
[0028]在此,假设单纯地考虑以对数据的访问频率(访问次数)为基准而执行磁盘11上的数据重新配置的情况。在该情况下,进行数据重新配置,使得越是访问频率(访问次数)高的数据越是被配置在访问时间短(访问快)的区域。
[0029]但是,在特定状况(例如系统启动时)下进行访问的数据中,也有由于在特定状况以外不被访问但在特定状况下必然被访问等原因而优先级高的数据。例如,在磁盘装置I启动(Power ON:通电)时,有时从主机100对磁盘装置I请求系统数据(例如,OS OperatingSystem,操作系统)的读出。该系统数据在磁盘装置I启动时被读出来以后,在磁盘装置I稳定工作时不被读出,因此,在磁盘装置I的整个运转时间观察时,访问频率容易变得比其他数据低。
[0030]S卩,在磁盘装置I的整个运转时间观察时访问频率低但在着眼于特定状况时优先级高的数据很难被优先地进行数据重新配置。其结果,会产生在特定状况发生时(例如系统启动时)导致访问时间延迟等问题。
[0031]因而,在本实施方式中提出以下方案:通过着眼于特定状况(例如系统启动时)而使访问计数器41的计数单位(即,访问计数器41按单位访问而进行加算(count up ,相加)的值)可变,改善特定状况下的磁盘装置I的性能。
[0032]具体来说,如图2所示,记录控制部40具有访问计数器41、计时器42、经过时间判定部43、持续时间判定部44、确定部45、更新处理部46、以及重新配置处理部47。图2是表示记录控制部40的结构的图。
[0033]访问计数器41针对分割了磁盘11的存储区域而得到的多个区域RGO?RG17分别对与每个区域的访问频率相应的值进行计数。此时,访问计数器41以通过确定部45所确定的计数单位来对与访问频率相应的值进行计数。即,在记录控制部40中,按照通过确定部45所确定的计数单位,使访问计数器41的计数单位可变,以改变后的计数单位来对与访问频率相应的值进行计数。访问计数器41将该计数值供给到更新处理部46。
[0034]与访问计数器41的计数值对应的访问计数表具有例如如图3所示那样的数据构造。图3是表示访问计数表的图。在访问计数表中,如图3所示,针对磁盘11内的多个区域RGO?RG17,识别区域的信息(例如区域序号或区域起始的逻辑地址等)和访问计数器的计数值的累积值相关联。各区域RGO?RG17是逻辑地址(LBA:Logical Block Address,逻辑块地址)的范围,包含一个以上的逻辑地址。通过参照该访问计数表,能够掌握针对各区域RGO?RG17的访问计数器41的计数值的累积值。访问计数表既可以被存储在用于记录磁盘11的管理信息的管理区域中,也可以被存储在非易失性存储器28中,还可以被存储在缓冲存储器29中。
[0035]如图2所示,访问计数器41包含计数器41a和乘法器41b。计数器41a针对磁盘11的各区域RGO?RG17计数访问次数。访问次数包含数据的读出次数和写入次数。例如,设想从主机100接受了对属于区域RGO的逻辑地址的读出指令或写入指令的情况。计数器41a在记录控制部40使该指令的处理完成时,针对与该指令对应的逻辑地址所属的区域RGO而对访问次数进行加法运算。
[0036]乘法器41b从确定部45接受所确定的权重。乘法器41b将通过确定部45所确定的权重与计数器41a的计数值进行相乘。乘法器41b将该相乘结果作为访问计数器41的计数值供给到更新处理部46。
[0037]计时器42针对磁盘11计数(count)从发生特定状况起的经过时间。计时器42持续进行经过时间的计数直至特定状况完结为止,当特定状况完结时停止经过时间的计数。当接下来发生特定状况时,计时器42将至此为止所计数的时间作为特定状况从发生到完结的持续时间而将其输出到持续时间判定部44。特定状况从发生到完结的持续时间例如是前一次特定状况的从发生定时到完结定时的持续时间。然后,计时器42将已计数的时间复位,重新开始经过时间的计数。
[0038]例如,计时器42对从磁盘11启动时起的经过时间进行计数。例如,当磁盘装置I识别到来自主机100的通电时,计时器42将至此为止已计数的时间作为启动持续时间输出到持续时间判定部44。启动持续时间例如是从前一次的通电定时到断电(Power O