存储装置和控制装置的制作方法

文档序号:6779946阅读:88来源:国知局
专利名称:存储装置和控制装置的制作方法
技术领域
本发明涉及一种对存储装置中使用的盘进行预防性数据扫描的技术。
背景技术
存储在存储装置的盘(磁盘装置)上的数据可因各种原因而损坏。 外部原因、随时间的盘老化是这些原因的示例。如果数据被损坏,例如, 出现数据丢失或不完整的数据,则不能读取数据。外部原因指当在相同 盘的邻近区域上写新数据时,产生的漏磁通损坏在磁盘某区域中存储的 数据。此外,外部原因指当在邻近区域上写新数据时,由于存储装置的 振动,用新数据错误地重写了部分存储的数据。如果在磁盘上有损坏的数据,则必须检查损坏的数据是可恢复的还 是不可恢复的,并且替换损坏扇区。这些处理在存储装置上施加额外的 负担。近年来,在磁盘存储容量方面取得了巨大进步。这种存储容量方面 的进步是由于存储密度的增加。存储密度的增加意味着数据被损坏的可能性更大。考虑到这些情况,日本专利申请特开平H7-182250号公报披 露了一种用于确保磁盘中存储的数据的质量的技术。具体地,当存储装 置处于空闲状态时,即,存储装置没有从更上位的装置接收任何命令等 的状态时,对磁盘执行读取验证操作。 读取验证操作包括(1) 记录关于具有不可恢复的读取错误的扇区的信息;(2) 在具有可恢复的读取错误的扇区中重写数据;以及(3) 如果即使在将数据重写到扇区之后,该扇区仍然产生某类错误, 则替换扇区。处理(1)到(3)合称为背景介质扫描(在下文中,称为"BMS"), 其规范由美国国家标准学会(ANSI)提出。然而,仅仅当存储装置处于空闲状态时,才能进行磁盘的BMS。换 句话说,BMS不适于存储装置连续地、定期地从上位装置接收命令的环 境。RAID (RedundantArrays of Inexpensive Disks廉价磁盘冗余阵列)系 统是不能使用BMS的示例。发明内容本发明的目标是至少部分地解决常规技术中的问题。 根据本发明的一个方面,提供了一种控制装置,用于控制存储装置 扫描存储在存储装置的存储介质中的数据,来定位并校正数据中的错误。 控制装置包括第一扫描单元,用于当存储装置处于空闲状态时,使存储 装置扫描存储在存储介质中的数据;确定单元,用于确定已扫描的数据 在存储介质中的全部数据中所占的比例是否等于或大于阈值;以及第二 扫描单元,用于当确定单元确定出已扫描的数据所占的比例小于阈值时, 当存储装置未处于空闲状态时,在存储装置从外部接收的命令之间的时 间间隔期间,使存储装置扫描存储介质中的未扫描的数据,直到已扫描 的数据所占的比例等于或大于阈值。根据本发明的另一方面,提供了一种存储装置,用于扫描存储在存 储介质中的数据,来定位并校正数据中的错误。该存储装置包括第一扫 描单元,用于当存储装置处于空闲状态时,扫描存储在存储介质中的数 据;确定单元,用于确定已扫描的数据在存储介质中的全部数据中所占 的比例是否等于或大于阈值;以及第二扫描单元,用于当确定单元确定 出扫描的数据所占的比例小于阈值时,当存储装置未处于空闲状态时, 在存储装置从外部接收的命令之间的时间间隔期间,该第二扫描单元扫 描存储介质中的未扫描的数据,直到已扫描的数据所占的比例等于或大 于阈值。根据本发明的再一方面,提供了一种方法,该方法用于控制存储装 置扫描存储在存储装置的存储介质中的数据,来定位并校正数据中的错误。该方法包括以下步骤当存储装置处于空闲状态时,扫描存储在存 储介质中的数据;确定已扫描的数据在存储介质中的全部数据中所占的 比例是否等于或大于阈值;以及当确定步骤确定出已扫描的数据所占的 比例小于阈值时,当存储装置未处于空闲状态时,在存储装置从外部接 收的命令之间的时间间隔期间,扫描存储介质中的未扫描的数据,直到 已扫描的数据所占的比例等于或大于阈值。当结合附图考虑时,通过阅读下面对本发明目前优选实施方式的详 细描述,会更好地理解本发明的以上和其它目标、特征、优点,以及技 术和工业重要性。


图1是根据本发明的实施方式的存储装置的功能框图; 图2是图1中所示的完成比例管理表的内容的示例; 图3是图1所示监测时间管理表的内容的示例; 图4是用于解释强制BMS监测时间的计算的原理图;图5是图1中所示的存储装置进行的程序的流程图;图6是图1中所示的存储装置进行的强制BMS模式处理的流程图。
具体实施方式
以下参照附图,详细解释本发明的实施例。以下,描述根据本发明实施方式的存储装置(磁盘装置)。存储装置 定期地对磁盘中存储的数据进行BMS。同时,存储装置确定完成比例是 否等于或大于阈值,该完成比例是已进行了 BMS的区域在磁盘的整个存 储区域中所占的比例。如果该完成比例小于阈值,则在存储装置未处于 空闲状态时,在从上位装置接收的命令之间的时间间隔期间,存储装置 对磁盘上的未扫描区域强制进行BMS,直到完成比例等于或大于阈值。以此方式,如果完成比例小于阈值,则不必等到停止接收命令,在 命令之间的间隔期间,存储装置就对未扫描的区域强制进行BMS。因此, 即使存储装置未处于空闲状态(即,当其从上位装置接收命令时),也可进行BMS。图1是根据本实施方式的存储装置100的功能框图。存储装置100 包括通信接口 (I/F) 110、盘120、读写头130、致动器140、读/写通道 150、驱动单元160、只读存储器(ROM) 170、存储器180和控制单元 190。通过使用规定的通信协议,通信I/F 110与上位装置(未示出)通信。 盘120是存储介质,在其基板上形成磁薄膜从而其中存储各种数据,例 如用户数据或控制数据。存储装置100对存储在盘120中的数据进行 BMS。读写头130向/从盘120写入/读出数据。读写头130从盘120中读取 伺服信号(该伺服信号用于控制盘120的轨道位置)或用户数据等,并 且将读取的数据输出到读/写通道150。致动器140包括音圈马达(VCM),并且根据从驱动单元160接收 的控制电流移动读写头130。读/写通道150从读写头130接收伺服信号 或用户数据,并且将接收的伺服信号或用户数据输出到控制单元190。在 读/写通道150从控制单元190接收到要写在盘120上的数据时,读/写通 道150将该数据输出到读写头130。响应于来自控制单元190的命令,驱动单元160向致动器140输出 控制电流,来控制读写头130的移动。驱动单元160向主轴马达(未示 出)输出控制电流,来控制盘120的旋转。ROM 170中存储控制单元190进行各种处理所必须的数据和计算机 程序。存储器180中存储控制单元190所使用的各种数据。具体地,存 储器180包括完成比例管理表181和监测时间管理表182。完成比例管理表181包含有关于盘120上BMS的完成比例的数据。 图2是完成比例管理表181的内容的示例。完成比例管理表181包含例 如轨道总数、完成比例、每小时阈值和阈值的项。轨道总数指盘120上存在的轨道总数。完成比例是表示已进行了 BMS的区域在盘120上整个存储区域中所占的比例的数据。每小时阈值 是每个小时需要存储装置100进行BMS的区域的比例(需要进行BMS的区域在盘120上的整个存储区域中所占的比例)。阈值是根据每小时阈值计算的、表示总阈值的数据(需要存储装置IOO进行BMS的区域的总完成比例)。当完成比例小于阈值时,存储装置 100强制对盘120上的未扫描区域进行BMS。监测时间管理表182包含关于周期等的数据,存储装置100在该周 期确定是否需要对盘120上的未扫描区域上强制进行BMS。图3是监测 时间管理表182的内容的示例。监测时间管理表182包含例如以小时计 的强制BMS监测时间(X)和按秒计的周期监测时间(Y)的项。强制BMS监测时间(X)是存储装置100确定是否需要强制进行 BMS的时间间隔。例如,当将强制BMS监测时间(X)设定为2小时时, 存储装置100每2小时之后,确定是否强制进行BMS。周期监测时间(Y)是当确定出存储装置100要强制进行BMS时, 对盘120上的未扫描区域上进行BMS的周期。例如,当将周期监测时间 (Y)设定为10秒时,每IO秒之后对未扫描区域进行BMS。控制单元190包括内部存储器(未示出),内部存储器中存储用于执 行各种程序需要的控制数据或计算机程序。控制单元190通过使用这些 数据或计算机程序来执行这些程序。如图1所示,控制单元190包括存 取控制单元191、致动器控制单元192、 BMS执行单元193、监测时间管 理单元194和完成比例管理单元195。存取控制单元191从上位装置接收要存储在存储装置100中的用户 数据,并且将接收的用户数据输出到用于将用户数据存储在盘120中的 读/写通道150。另一方面,存取控制单元191从读/写通道150 (该读/写 通道150读取盘120)接收用户数据,并且存取控制单元191将接收的用 户数据输出到上位装置。致动器控制单元192将命令输出到驱动单元160,来控制读写头130 的移动。致动器控制单元192还控制盘120的旋转。BMS执行单元193对盘120中存储的数据进行BMS。具体地,BMS 执行单元193以强制BMS监测时间(X)的间隔,将完成比例与阈值比 较。如果完成比例小于阈值,则BMS执行单元193幵始对盘120的未扫描区域强制进行BMS (在下文中,称为"强制BMS处理")。当进行强制BMS处理时,在存储装置100未处于空闲状态时,BMS 执行单元193以周期监测时间(Y)的间隔对盘120的未扫描区域进行 BMS。 BMS执行单元193连续进行BMS,直到完成比例等于或大于阈 值。当BMS执行单元193处于进行强制BMS处理的状态的情况下上位 装置向存储装置IOO发布命令时,BMS执行单元193以周期监测时间(Y) 的间隔确定是否正在执行命令。当确定出正在执行命令时,BMS执行单 元193在命令之间的时间间隔期间(即,在完成一个命令的处理之后并 且在幵始下一个命令的处理之前)进行BMS。BMS执行单元193以常规方式进行BMS,包括下述处理(1) 记录关于具有不可恢复的读取错误的扇区的信息;(2) 在具有可恢复的读取错误的扇区中重写数据;(3) 如果即使在向该扇区重写数据之后,该扇区仍然产生某类错误, 则替换扇区。监测时间管理单元194管理存储在存储器180中的监测时间管理表 182。监测时间管理单元194从输入装置(未示出)或上位装置接收BMS 终止时间(x)以及性能退化率(y%), BMS终止时间(x)是终止对盘 120进行的BMS的时间。监测时间管理单元194随后根据BMS终止时 间(x)和性能退化率(y%),计算强制BMS监测时间(X)和周期监测 时间(Y),来更新监测时间管理表182。图4是用于解释强制BMS监测时间(X)的计算的原理图。在图4 中,附图标记(a)代表开始强制执行BMS的开始时间,并且各百分比 数字代表已执行了BMS区域的完成比例。例如,假设完成比例在每个强 制BMS监测时间(X)增加1°/。,则需要进行101个强制BMS监测时间 (X)的BMS,来完成盘120的整个区域中的BMS。通过使用以下公式, 计算强制BMS监测时间(X):<formula>formula see original document page 10</formula>如果在从上位装置连续接收命令时强制进行BMS,则通过添加以下时间来确定用于执行BMS的时间查找进行BMS的逻辑块地址(LBA) 的寻道时间、BMS的执行时间、以及返回初始位置的寻道时间。换句话 说,通过添加平均寻道时间、旋转一圈时间(当仅扫描一个轨道时)和 另一个平均寻道时间,来确定用于执行BMS的时间。通过用性能退化率 (y%)计算用于执行BMS的时间,来确定周期监测时间(Y),如以下 公式定义-Y= (2X平均寻道时间+旋转一圈时间)X100/y (2) 监测时间管理单元194提前保存平均寻道时间和转动一圈时间。 如上所述,监测时间管理单元194获得BMS终止时间(x)和性能 退化率(y%),来更新监测时间管理表182。因此,可以调整强制BMS 监测时间(X)和周期监测时间(Y),以便可以调整存储装置100的性 能退化率的程度。回过头来参照图1,完成比例管理单元195管理存储在存储器180 中的完成比例管理表181。更具体地,完成比例管理单元195更新存储在 完成比例管理表181中的完成比例和阈值。完成比例管理单元195从BMS执行单元193获得表示盘120上的、 BMS执行单元193已执行了 BMS的轨道的数目的信息(在下文中,称 为"已扫描区域信息")。完成比例管理单元195根据已扫描区域信息和 轨道总数(参见图2),计算完成比例(已执行了 BMS的轨道数目/轨道 总数),利用计算出的完成比例更新完成比例管理表181。此外,完成比 例管理单元195通过向每小时阈值添加每小时完成比例,来增加阈值。图5是存储装置100进行的程序的流程图。BMS执行单元193开始 对时间进行计数(步骤SIOI),并且确定计数出的时间是否已超过了强制 BMS监测时间(X)(步骤S103)。当确定出监测时间没有超过强制BMS监测时间(X)时(在步骤S103 是"否"),继续对时间进行计数(步骤S102),并且处理控制返回到步骤 S103。当确定出监测时间已超过强制BMS监测时间(X)时(在步骤S103 是"是"),BMS执行单元193获得完成比例和阈值(步骤S104),然后 确定完成比例是否等于或大于阈值(步骤S105)。当确定出完成比例等于或大于阈值时(在步骤S105是"是"),BMS 执行单元193将计数出的时间重置(步骤S106),处理控制返回步骤S103。 当确定出完成比例小于阈值时(在步骤S105是"否"),BMS执行单元 193进行强制BMS模式处理(步骤S107),处理控制前进到图6。图6是强制BMS模式处理的流程图。BMS执行单元193开始对周 期监测时间进行计数(步骤S201),然后确定周期监测时间是否已超过周 期监测时间(Y)(步骤S203)。当确定出周期监测时间没有超过周期监测时间(Y)时(在步骤S203 是"否"),继续对周期监测时间(Y)进行计数(步骤S202),处理控制 返回到步骤S203。当确定出周期监测时间已超过周期监测时间(Y)时 (在步骤S203是"是"),BMS执行单元193确定是否正在执行从上位 装置发布的命令(步骤S204)。当确定出正在执行从上位装置发布的命令 时(在步骤S204是"是"),BMS执行单元193在完成该命令的处理之 后,进行BMS (步骤S205),处理控制前进到步骤S207。当确定出不是正在执行从上位装置发布的命令时(在步骤S204是 "否"),BMS执行单元193执行BMS (步骤S206),然后确定是否已对 预定数目轨道进行了 BMS,即,完成比例是否等于或大于阈值(步骤 S207)。当确定出己对预定数目轨道上执行了 BMS(在步骤S207是"是") 时,强制BMS模式处理终止。当确定出尚未对预定数目的轨道执行了 BMS时(在步骤S207是"否"),BMS执行单元193重置周期监测时间 (步骤S208),处理控制回到步骤S203。如上所述,BMS执行单元193将完成比例与阈值进行比较,当完成 比例小于阈值时,BMS执行单元193前进到强制BMS模式处理,来对 未扫描区域执行BMS。因此,可保持存储在盘120上的数据的质量。在存储装置100中,BMS执行单元193在各强制BMS监测时间(X) 将完成比例与阈值比较,来确定完成比例是否等于或大于阈值。当确定 出完成比例小于阈值时,以周期监测时间(Y)的间隔,在存储装置IOO 未处于空闲状态时,BMS执行单元193在从上位装置发布的命令之间的 时间间隔期间,在盘120上的未扫描区域上强制执行BMS,直到完成比例等于或大于阈值。因此,可避免盘中存储的数据的劣化因未进行BMS 而被保留。如上所述,监测时间管理单元194根据BMS终止时间(x)和性能 退化率(y%)计算强制BMS监测时间(X)和周期监测时间(Y),来 更新监测时间管理表182。因此,可以调整因强制进行BMS引起的存储 装置100的性能劣化的程度。可以通过由存储装置(计算机)执行计算机程序来实现上述各种处 理。在结合图1所示的示例中,ROM 170中存储各种用于实现处理的计 算机程序,控制单元190读取并执行存储在ROM 170中的计算机程序, 来开始用于实现处理单元(存取控制单元191、致动器控制单元192、 BMS 执行单元193、监测时间管理单元194和完成比例管理单元195)的功能 的处理。不需要提前将计算机程序存储在ROM中。例如,可以将计算机程 序存储在可插入计算机的便携物理介质中,例如软盘(FD)、 CD-ROM、 DVD盘、磁光盘或集成电路(IC)卡,或通过公共线路、互联网、局域 网(LAN)、广域网(WAN)等连接到该计算机的其它计算机(服务器), 以便计算机读取并执行来自便携物理介质或其它计算机的程序。虽然以上描述了本发明的实施方式,但是本发明可以用在权利要求 中阐述的技术思想的范围内的各种其它实施方式实现。可以手动进行实施方式中自动进行的所有或部分处理,或者可以以 常规方式自动进行实施方式中手动进行的所有或部分处理。除特别注解之外,可以适当地改变在说明书和附图中描述的处理程 序、控制程序、特定名称、各种数据和参数。功能地和概念地设置附图中示出的各个装置的组件,不必以如附图 中所示的方式物理设置组件。更具体地,组件的集成或分解形式不限于 附图中表示的组件。依赖于载入状态或使用状态,可能在组件的预定单 元中功能性地或物理地集成或分解所有或部分组件。根据本发明的一个方面,可能在存储装置连续地和周期地从上位装 置接收命令的环境中进行BMS。虽然为了完全和清楚的披露,已针对特定的实施方式描述了本发明, 但是所附的权利要求并不因此受到限制,而应被解释为具体实现清楚地 落在本文阐述的基本教导内的本领域技术人员容易想到的所有变型和替 换构造。
权利要求
1、一种控制装置,该控制装置用于控制存储装置扫描存储在存储装置的存储介质中的数据,来定位和校正数据中的错误,该控制装置包括第一扫描单元,用于在所述存储装置处于空闲状态时使所述存储装置扫描存储在所述存储介质中的数据;确定单元,用于确定已扫描的数据在存储介质中的全部数据中所占的比例是否等于或大于阈值;以及第二扫描单元,用于当所述确定单元确定出所述已扫描的数据所占的比例小于所述阈值时,在所述存储装置不处于空闲状态时,在所述存储装置从外部接收的命令之间的时间间隔期间,使所述存储装置扫描存储介质中的未扫描的数据,直到已扫描的数据所占的比例等于或大于所述阈值。
2、 根据权利要求1所述的控制装置,所述控制装置还包括阈值管理 单元,所述阈值管理单元用于管理所述阈值,其中所述阈值管理单元随 时间以预定速率增加所述阈值。
3、 根据权利要求1所述的控制装置,其中所述确定单元在第一时间 间隔确定已扫描的数据所占的比例是否等于或大于所述阈值。
4、 根据权利要求3所述的控制装置,其中所述第二扫描单元在第二 时间间隔确定是否正在执行所述存储装置接收的命令,当确定出不是正 在执行所述命令时,所述第二扫描单元扫描未扫描的数据。
5、 根据权利要求4所述的控制装置,其中所述第二扫描单元在所述第二时间间隔确定是否正在执行所述存储装置接收的命令,当确定出正 在执行命令时,所述第二扫描单元在完成所述命令的处理之后扫描未扫 描的数据。
6、 根据权利要求4所述的控制装置,所述控制装置还包括时间间隔 管理单元,所述时间间隔管理单元用于管理所述第一时间间隔和所述第 二时间间隔,其中所述时间间隔管理单元根据用户指定的扫描终止时间 和所述存储装置的性能退化率,计算所述第一时间间隔和所述第二时间间隔。
7、 一种存储装置,所述存储装置用于扫描存储在存储介质中的数据, 来定位和校正数据中的错误,该存储装置包括-第一扫描单元,用于当所述存储装置处于空闲状态时,扫描存储在所述存储介质中的数据;确定单元,用于确定已扫描的数据在所述存储介质中的全部数据中 所占的比例是否等于或大于阈值;以及第二扫描单元,用于当所述确定单元确定出已扫描的数据所占的比 例小于所述阈值时,当所述存储装置未处于空闲状态时,在所述存储装 置从外部接收的命令之间的时间间隔期间,该第二扫描单元扫描所述存 储介质中的未扫描的数据,直到已扫描的数据的比例等于或大于所述阈 值。
8、 根据权利要求7所述的存储装置,所述存储装置还包括阈值管理 单元,所述阈值管理单元用于管理所述阈值,其中所述阈值管理单元随 时间以预定速率增加所述阈值。
9、 根据权利要求7所述的存储装置,其中,所述确定单元在第一时 间间隔确定已扫描的数据所占的比例是否等于或大于所述阈值。
10、 根据权利要求9所述的存储装置,其中所述第二扫描单元在第 二时间间隔确定是否正在执行所述存储装置接收的命令,当确定没有正 在执行所述命令时,所述第二扫描单元扫描未扫描的数据。
11、 根据权利要求10所述的存储装置,其中所述第二扫描单元在所 述第二时间间隔确定是否正在执行所述存储装置接收的命令,当确定出 正在执行所述命令时,所述第二扫描单元在完成所述命令的处理之后扫 描未扫描的数据。
12、 根据权利要求10所述的存储装置,所述控制装置还包括时间间 隔管理单元,所述时间间隔管理单元用于管理第一时间间隔和第二时间间隔,其中所述时间间隔管理单元根据用户指定的扫描终止时间和所述 存储装置的性能退化率,计算所述第一 时间间隔和所述第二时间间隔。
13、 一种方法,用于控制存储装置扫描存储在所述存储装置的存储介质中的数据,来定位和校正所述数据中的错误,该方法包括以下步骤: 当所述存储装置处于空闲状态时,扫描存储在所述存储介质中的数据;确定己扫描的数据在所述存储介质中的全部数据中所占的比例是否 等于或大于阈值;以及当在所述确定时确定出所述已扫描的数据的比例小于所述阈值时, 当所述存储装置未处于空闲状态时,在所述存储装置从外部接收的命令 之间的时间间隔期间,扫描所述存储介质中的未扫描的数据,直到已扫 描的数据的比例等于或大于所述阈值。
14、 根据权利要求13所述的方法,所述方法还包括管理所述阈值,其中所述管理包括随时间以预定速率增加所述阈值。
15、 根据权利要求13所述的方法,其中所述确定包括,在第一时间 间隔确定已扫描的数据所占的比例是否等于或大于所述阈值。
16、 根据权利要求15所述的方法,其中扫描未扫描的数据包括,在 第二时间间隔确定是否正在执行所述存储装置接收的命令,当确定出不 是正在执行所述命令时,扫描未扫描的数据。
17、 根据权利要求16所述的方法,其中扫描未扫描的数据包括,在 第二时间间隔确定是否正在执行所述存储装置接收的命令,当确定出正在执行所述命令时,在完成所述命令的处理之后扫描未扫描的数据。
18、 根据权利要求16所述的方法,所述方法还包括管理所述第一时间间隔和所述第二时间间隔,其中该管理包括,根据用户指定的扫描终 止时间和所述存储装置的性能退化率,计算所述第一时间间隔和所述第 二时间间隔。
全文摘要
本发明公开了存储装置和控制装置。当存储装置处于空闲状态时,扫描存储介质中的数据。将已扫描的数据在存储介质中的全部数据中所占的比例与阈值比较。如果已扫描的数据所占的比例小于阈值,则在存储装置从外部接收的命令之间的时间间隔期间,扫描存储介质中未扫描的数据。重复该处理,直到已扫描的数据的比例等于或大于阈值。
文档编号G11B20/18GK101256818SQ20071019603
公开日2008年9月3日 申请日期2007年11月28日 优先权日2007年2月28日
发明者菅野浩典, 长嶋康之 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1