通过动态带边界定义保存硬盘驱动器数据转让专利

申请号 : CN200710196311.X

文献号 : CN101241748B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 迈克尔·S.·梅特勒达里尔·克罗默马休·B.·格里菲思杰弗里·R.·霍布特斯科特·D.·鲁珀特

申请人 : 联想(新加坡)私人有限公司

摘要 :

用于管理硬盘驱动器中的相邻磁道干扰的系统和方法。确定硬盘驱动器的区域中相邻磁道干扰潜在性,通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏,其中定义了对该区域的限制。

权利要求 :

1.一种用于管理硬盘驱动器中的相邻磁道干扰的方法,包括:确定硬盘驱动器的一区域中的相邻磁道干扰潜在性;

通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏;

所述确定包括对要被擦除数据的硬盘驱动器的区域动态地建立带边界,所述动态建立带边界包括:确定硬盘驱动器磁道间的写入活动;和

对具有较高写入活动的一个或多个磁道组缩小带边界。

2.根据权利要求1所述的方法,其中,所述动态建立带边界还包括:对具有较低写入活动的一个或多个磁道组扩大带边界。

3.根据权利要求2所述的方法,其中,所述擦除包括擦除在具有缩小的带边界的带中的数据。

4.根据权利要求2所述的方法,其中,所述缩小包括对具有超过预定阈值的写入活动的一个或多个磁道组缩小带边界。

5.根据权利要求1所述的方法,其中,所述确定包括在具有高写入活动的硬盘驱动器的区域上进行背景扫描。

6.根据权利要求1所述的方法,其中,所述擦除包括读取数据并且之后重新写入数据。

7.一种用于管理硬盘驱动器中的相邻磁道干扰的系统,包括:确定硬盘驱动器的一区域中的相邻磁道干扰潜在性的模块;和通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏的模块;

所述确定硬盘驱动器的一区域中的相邻磁道干扰潜在性的模块用于对要被擦除数据的硬盘驱动器的区域动态地建立带边界,所述动态建立带边界包括:确定硬盘驱动器磁道间的写入活动;以及

对具有较高写入活动的一个或多个磁道组缩小带边界。

8.根据权利要求7所述的系统,其中,所述确定通过对具有较低写入活动的一个或多个磁道组扩大带边界来动态建立带边界。

9.根据权利要求8所述的系统,其中,擦除用于擦除在具有缩小的带边界的带中的数据。

10.根据权利要求8所述的系统,其中,所述确定用于对具有超过预定阈值的写入活动的一个或多个磁道组缩小带边界。

11.根据权利要求7所述的系统,其中,所述确定用于在具有高写入活动的硬盘驱动器的区域上进行背景扫描。

12.根据权利要求7所述的系统,其中,擦除用于读取数据并且之后重新写入数据。

13.根据权利要求7所述的系统,还包括输入/输出接口,能控制系统和所附的外围键盘之间的通信。

说明书 :

技术领域

本发明涉及硬盘驱动器及其遇到的问题,特别是相邻磁道干扰,以及解决这些问题的方法、配置和模块。

背景技术

在硬盘驱动器领域中,相邻磁道干扰(adjacent track interference,ATI)是个逐步增长的问题。当硬盘驱动器上的特定磁道被写入很多次(例如,30,000或更多次)而相邻磁道没有被写入时,这些相邻磁道上的数据可能变坏。这种持续的盖写(overwrite)导致相邻磁道上的某些磁通干扰,该干扰将在多次循环后累积并使相邻磁道不可读。
例如,将磁道X认为是具有相邻磁道X+1和X-1。如果在磁道X+1或X-1也被写入之前,磁道X被写入很多次,那么磁道X+1或X-1上的数据可能变坏。这是磁记录中遇到的证据充分的相互作用。
对该问题的一个看似简单的解决方案涉及在数据可能变坏前向相邻磁道写入数据。但是,在决定何时以及如何在这些磁道上重写数据时将变得复杂。由于没有对在任意特定扇区上的数据被访问了多少次的简单计数,因此基本上不能清楚地知道何时会发生干扰。目前,没有已知的有效方案使用在硬盘驱动器固件层级或者OS/应用程序/驱动器层级上来解决相邻磁道干扰。因为ATI的最先确定的迹象是数据已变坏,仅在此时保存数据就太迟了,并且涉及到的文件大概已经丢失。
ATI集中的因素是面密度。随着面密度增加,包含数据的物理区域增加,因此增加了代表相对于相邻磁道的“边缘”或“边界”区域的区域的百分比。由于随着正在进行的技术发展,将会持续地显著增加磁道数量,面密度也相应地增加。因为这种趋势在介质的外形尺寸和物理性质以及写入机构中持续存在,增加ATI风险的潜在性将相应地增加。
随着ATI问题已持续扩大,已发现通常的操作系统程序存在导致对硬盘驱动器上的特定位置进行大量写入的趋势。在发生过量写入时驱动器上的数据变坏,这经常使得系统无法启动。事实上,由于增加的面密度和OS工作负荷,该问题正在增长,同时,频繁地在硬盘驱动器上存取和更新信息的程序可能导致ATI。

发明内容

根据本发明的至少一个当前的较佳实施例,此处广泛地设想了各种新的方法和系统,用于检测硬盘驱动器上的带(磁道组)中的潜在的ATI问题,以及在数据被破坏前擦除这些带。
简单讲,本发明的一方面提供了一种方法,该方法包括:确定硬盘驱动器的一区域中的相邻磁道干扰潜在性;通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏;所述确定包括对要被擦除数据的硬盘驱动器的区域定义限制。
本发明的另一方面提供了一种系统,包括:处理器;和可由处理器访问的存储器存储代码,用于确定硬盘驱动器的一区域中的相邻磁道干扰潜在性,并通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏;该确定用于对要被擦除数据的硬盘驱动器的区域定义限制。
此外,本发明的其他方面提供了一种机器可读的程序存储设备,有形地体现机器可执行的指令程序以执行动作,该动作包括:确定硬盘驱动器的一区域中的相邻磁道干扰潜在性;通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏;所述确定包括对要被擦除数据的硬盘驱动器的区域定义限制。
本发明的其他方面还提供了一种系统,包括:图形适配器;处理器;和,可由处理器访问的存储器存储代码,用于确定硬盘驱动器的一区域中的相邻磁道干扰潜在性,并通过擦除具有确定的相邻磁道干扰潜在性的区域中的数据来防止数据变坏;该确定用于对要被擦除数据的硬盘驱动器的区域定义限制。

附图说明

图1是根据本发明较佳实施例的计算机系统的框图;
图2示出了典型的硬盘驱动器访问图案,其中该硬盘驱动器访问图案具有所示的传统定义的带边界;
图3示出了典型的硬盘驱动器访问图案,其中,该硬盘驱动器访问图案具有所示的修改后的带边界。

具体实施方式

为了更好地理解本发明及其其他和进一步的特征和优点,结合所附附图参考以下说明,并且在所附权利要求中指出本发明的范围。
应当确实地理解,本发明的组件,如此处一般描述和附图所示的,可以在不同配置的广泛变化中排列和设计。因此,以下对如图1到3所表示的本发明装置、系统、方法的实施例的更详细的描述并不意图限制所要求保护的本发明的范围,而只是本发明的所选实施例的代表。
本说明书中通篇对“一个实施例”或“一实施例”(或类似的)的引用是指关于实施例描述的具体特征、结构或特性包括在本发明的至少一个实施例中。因此,通篇说明书中各处出现的短语“一个实施例中”或“一实施例中”并不需要全部指示相同的实施例。
此外,所描述的特征、结构或特性可以在一个或多个实施例中以任意合适的方式组合。在以下描述中,提供了许多特定细节以提供对本发明实施例的透彻理解。然而,相关领域技术人员应认识到,本发明可以不采用这些特定细节中的一个或多个,或者可以用其他方法、组件、材料等而实施。在其他例子中,未示出或详细描述已知的结构、材料或者操作,以避免使本发明的特点不明显。
本发明的所示实施例将通过参考附图而更好地理解,整个附图中相似的部分用相似的符号或其他标记表示。以下的描述意图只在于示例,简单地示出了与所要求保护的本发明一致的设备、系统和处理的特定的所选实施例。
此处根据本发明的至少一个当前的较佳实施例,广泛地设想了一种方法,该方法用于检测硬盘驱动器上的带(磁道组)中潜在的ATI问题,并用于在数据变坏前擦除这样的带。可以根据访问量而动态地使这些带大小合适,以有效地利用系统资源,同时监视ATI。这样的方案可以在硬盘驱动器固件中实现,不需要新的或者专用的应用程序或驱动器。“擦除”,此处如同一般理解的,较佳地涉及读取数据,然后在其自身上写相同的数据,从而消除任何可能的ATI影响。
可以想象地,可以保持对硬盘驱动器的任意特定区域的访问数量的计数。在计数达到阈值(例如,30,000)时,可以优先对可能被ATI影响的任意的相邻区域进行重写。如此,扇区将是受ATI影响的硬盘驱动器上的最小划分。由于扇区的数量非常大,不能易于管理地维持每个扇区一个计数,因此希望通过在硬盘构造的更高层级上假设一种“最差情况”的方式来寻找一种积极的或主动的方案。尽管扇区组织成磁道,通常仍然有太多的磁道,对这些磁道需要保持单独的计数器。但是,磁道组织成带(即,相邻磁道的组),每个磁盘的带数量的确看来似乎转化成更多可管理数量的计数器。
同时,带基本上并不足够小份(granular)来有效地解决这个即将发生的问题。换句话说,尽管在带层级上组织当前问题更加易于利用预期可用的许多计数器来管理,但是不利方面是带所表示的大的写入区域,使得擦除带以防止ATI将可预期地对驱动器性能产生巨大的变形。因此,此处广泛地设想到,根据本发明的至少一个当前的较佳实施例,非常有利的解决方案是在刚才提到的冲突需求之间达到平衡。更具体地,为了保持可管理数量的带计数器,同时有效地发现潜在的ATI,此处提出了一种动态带大小估计(dynamic band sizing)的方案,其“磨练”抓住正被最大程度地写入的硬盘区域。
现在参考图1,描述了计算机系统12的示意性实施例的框图。图1描述的示意性实施例可以是笔记本电脑系统,例如纽约州,帕切斯的Lenovo(美国)公司的ThinkPad系列个人电脑中的一种,或者工作站电脑,例如纽约州,阿曼克的通用(IBM)公司出售的Intellistation;但是,如同将从以下描述中变得清楚的,本发明适用于通过任何数据处理系统将数据保存在磁盘驱动器上。
如图1所示,计算机系统12包括至少一个系统处理器42,系统处理器42通过处理器总线44与只读存储器(ROM)40和系统存储器46连接。系统处理器42,可以包括Intel公司生产的处理器中的一个,且是通用处理器,用于在开机时执行ROM 40中存储的引导代码41,之后在系统存储器46中存储的操作系统和应用软件的控制下处理数据。系统处理器42通过处理器总线44和主桥48连接到外围组件互连(PCI)本地总线50。
PCI本地总线50支持多个设备的附接,这些设备包括适配器和桥。在这些设备之间是网络适配器66和图形适配器68,网络适配器66通过接口将计算机系统连接到LAN 10,图形适配器66通过接口将计算机系统连接到显示器69。PCI本地总线50上的通信由本地PCI控制器52管理,本地PCI控制器52通过存储器总线54按顺序连接到非易失性随机存取存储器(NVRAM)。本地PCI控制器可以通过第二主桥60连接到其他总线和设备。
计算机系统12还包括工业标准架构(ISA)总线62,ISA总线62通过ISA桥64连接到PCI本地总线50。连接到ISA总线62的是输入/输出(I/O)控制器70,I/O控制器70控制计算机系统12与所附的外围设备(例如键盘、鼠标和硬盘驱动器)之间的通信。另外,I/O控制器70支持计算机系统12通过串口和并口的外部通信。
图2和3通过非限制示例的方式以图表示出了典型的(例如历史上的)磁盘驱动器访问图案,其中扇区访问相对磁盘区域(在本例中为磁道编号,或径向远离磁盘中心的方向上计数的磁道的编号)而绘制。另一方面,图2和3之间的差异在于,前者示出了初始定义的带边界,而图3示出了根据本发明的较佳实施例而动态改变的带边界;带边界通过每幅图中在垂直轴右侧绘制的浅色垂直线指示。因此,如同通常遇到的,带边界根据图2的“初始”配置将磁盘分割成大概相同的带,而图3中它们现在具有变化的宽度。(应当理解,带边界通常在制造时在固件中被初始地配置,且对于不同的驱动器可以不同;为了方便说明,附图中示出了10个带的初始定义,尽管可以使用任意合适数量的带。)
因此,图2和3示出了根据本发明较佳实施例而优选使用的一种算法,使得带的大小在有大量写入时减小(或带边界收缩),而在少量写入时增大(或带边界扩大)。通过如此重新定义的带边界,可以发现写入频率高的相对小的带。然后,如果需要防止潜在的ATI(达到的程度为:由于ATI的风险明显随着更频繁的访问而增加,有问题的小带被识别为有显著ATI潜在性的区域),则小带可以经过用于ATI签名的背景扫描(使用基本上任意合适的方法),如果需要,可以通过比较大的带更易管理(且没有伴随的变形或者驱动器性能下降)的读/写命令来擦除小带。
另外,应当理解,通过如刚才所述地重新定义带边界,正被使用的访问计数器(或增加的计数器)的数量可以保持在合理的水平;而特定的计数器可以用于较小宽度的高访问带,这将通过正用于较大宽度的低访问带的另一计数器而得到补偿。因此,正被使用的计数器件的数量基本上不会比均匀宽度的带的情况大。
较佳地,通过选择动态定义的、用来执行ATI签名的背景检查的带(),可以基于任意宽范围变化的因素设定适当的阈值,这些因素例如为正被使用的特定的磁盘驱动器或在该特定的磁盘驱动器正被使用的操作环境中正常遇到的活动。一个合理的阈值可以是在给定带中的30,000次写入,但是当然这个数量可以变化成所认为的适当值。
应当理解,根据至少一个当前较佳实施例,本发明包括可在至少一个运行合适的软件程序的通用计算机上实现的元件。这些也可以在至少一个集成电路或者至少一个集成电路的一部分上实现。因此,应理解本发明可以通过硬件、软件或二者组合来实现。
如果此处没有相反叙述,应假设此处提到和引用的全部专利、专利申请、专利公开和其他公开(包括基于网页的公开)在此通过引用完全包括进来,如同在此叙述了其全部内容一样。
尽管此处参考所附附图描述了本发明的示意性实施例,但应当理解本发明并不限于这些明确的实施例,在不脱离本发明的范围和精神的情况下,本领域技术人员可以进行各种改变和修改。