存储设备控制装置、存储设备和数据存储控制方法

申请号 CN200810001576.4 申请日 2008-01-14 公开(公告)号 CN101256470A 公开(公告)日 2008-09-03
申请人 富士通株式会社; 发明人 芳贺达也;
摘要 本 发明 涉及存储设备控制装置、存储设备和数据存储控制方法。该存储设备中存储有与来自主计算机的命令相对应的数据,并且包括临时存储从所述主计算机接收的数据的缓冲 存储器 。用于根据本发明的存储设备的数据存储控制方法依次地将已经临时存储在缓冲存储器中的数据写入到存储介质中,直到从在检测到存储设备中的振动之后接收到写入命令开始已经过了特定时间段为止。当经过了特定时间段时,将写入命令完成响应发送给主计算机。
权利要求

1、一种存储设备控制装置,该存储设备控制装置对存储设备进行控 制,以通过数据缓冲器在主计算机和存储介质之间交换数据,所述数据 缓冲器临时存储与从所述主计算机接收到的命令相对应的数据,所述存 储设备控制装置包括:
振动检测单元,其检测所述存储设备中的振动;以及
数据写入控制单元,当所述振动检测单元在所述存储设备中检测到 振动时,该数据写入控制单元在特定时间段内优先将存储在所述数据缓 冲器中的写入数据写入到所述存储介质。
2、根据权利要求1所述的存储设备控制装置,其中,在所述数据写 入控制单元在特定时间段内优先将临时存储在所述数据缓冲器中的写入 数据写入到所述存储介质之后,将针对在所述振动检测单元检测到振动 之后从所述主计算机接收到的命令的命令完成响应发送给所述主计算 机。
3、根据权利要求1所述的存储设备控制装置,该存储设备控制装置 还包括振动强度确定单元,该振动强度确定单元确定由所述振动检测单 元检测到的振动的强度和计数是否大于预定阈值
其中,当所述振动检测单元检测到振动并且所述振动强度确定单元 确定振动的强度和计数大于所述预定阈值时,所述数据写入控制单元在 特定时间段中优先将存储在所述数据缓冲器中的写入数据写入到所述存 储介质。
4、根据权利要求3所述的存储设备控制装置,其中,当所述振动检 测单元检测到振动并且所述振动强度确定单元确定振动的强度和计数不 大于所述预定阈值时,所述数据写入控制单元在特定时间段中以针对各 个写入命令的写入数据为单位优先将所述写入数据写入到所述存储介 质。
5、根据权利要求1所述的存储设备控制装置,其中,所述数据缓冲 器包括用于临时存储来自所述主计算机的写入数据的写入数据区域以及 用于临时存储从所述存储介质读取的读取数据的读取数据区域,所述存 储设备控制装置还包括:
区域限制单元,当所述振动检测单元检测到振动并且所述振动强度 确定单元确定振动的强度和计数大于预定阈值时,该区域限制单元限制 所述读取数据区域。
6、一种存储设备,该存储设备将数据存储在存储介质中,并且与来 自主计算机的命令相对应地在所述主计算机和所述存储介质之间交换数 据,所述存储设备包括:
数据缓冲器,其临时存储从所述主计算机接收的数据;
振动检测单元,其检测所述存储设备中的振动,以及
数据写入控制单元,当所述振动检测单元在所述存储设备中检测到 振动时,该数据写入控制单元在特定时间段内优先将存储在所述数据缓 冲器中的写入数据写入到所述存储介质。
7、根据权利要求6所述的存储设备,其中,在所述数据写入控制单 元在特定时间段内优先将临时存储在所述数据缓冲器中的写入数据写入 到所述存储介质之后,将针对在所述振动检测单元检测的振动之后从所 述主计算机接收到的命令的命令完成响应发送给所述主计算机。
8、根据权利要求6所述的存储设备,该存储设备还包括振动强度确 定单元,该振动强度确定单元确定由所述振动检测单元检测到的振动的 强度和计数是否大于预定阈值,
其中,当所述振动检测单元检测到振动并且所述振动强度确定单元 确定振动的强度和计数大于所述预定阈值时,所述数据写入控制单元在 特定时间段内优先将存储在所述数据缓冲器中的写入数据写入到所述存 储介质。
9、根据权利要求8所述的存储设备,其中,当所述振动检测单元检 测到振动并且所述振动强度确定单元确定振动的强度和计数不大于所述 预定阈值时,所述数据写入控制单元在特定时间段中以针对各个写入命 令的写入数据为单位优先将写入数据写入到所述存储介质。
10、根据权利要求6所述的存储设备,该存储设备还包括:
用于临时存储来自所述主计算机的写入数据的写入数据区域;
用于临时存储从所述存储介质读取的读取数据的读取数据区域;以 及
区域限制单元,当所述振动检测单元检测到振动并且所述振动强度 确定单元确定振动的强度和计数大于预定阈值时,该区域限制单元限制 所述读取数据区域。
11、一种数据存储控制方法,该数据存储控制方法用于对存储设备 进行控制,以通过数据缓冲器在主计算机和存储介质之间交换数据,所 述数据缓冲器临时存储与从所述主计算机接收的命令相对应的数据,所 述存储控制方法包括以下步骤:
检测所述存储设备中的振动;以及
当在所述检测中检测到振动时,在特定时间段内优先将存储在所述 数据缓冲器中的写入数据写入到所述存储介质。
12、根据权利要求11所述的数据存储控制方法,其中,在检测到振 动时在特定时间段内优先将临时存储在所述数据缓冲器中的写入数据写 入到所述存储介质之后,将针对从所述主计算机接收到的命令的命令完 成响应发送给所述主计算机。

说明书全文

技术领域

发明涉及存储设备控制装置、存储设备以及数据存储控制方法, 其通过临时存储与从主计算机接收到的命令相对应的数据的数据缓冲 器,在主计算机和存储介质之间交换数据,并且当数据被临时存储在数 据缓冲器中时向主计算机发送针对所述命令的命令完成响应。更具体地 说,本发明涉及这样的存储设备控制装置、存储设备以及数据存储控制 方法,当由于在存储设备中检测到的振动而发生读/写操作延迟时,其适 当地处理所述振动,并且通过防止空闲缓冲存储器的容量不足来避免在 向主计算机发送所述命令完成响应时的延迟。

背景技术

容纳有存储介质的存储设备包括用于临时存储在主计算机和该存储 介质之间交换的数据的缓冲存储器。在这种存储设备中,与来自主计算 机的写入命令相对应的写入数据被存储在该缓冲存储器中,从缓冲存储 器中依次读出该写入数据,并且进行控制以将该写入数据写入到存储介 质。类似地,从存储介质中读出与来自主计算机的读取命令相对应的读 取数据,并且将其存储在缓冲存储器中,并且进行控制以从缓冲存储器 依次读出该读取数据,并将该读取数据发送到主计算机。
在这种系统中,当从主计算机的操作系统(OS)与写入命令一起接 收到写入数据时,不需要为了要发送给主计算机的写入命令完成响应而 将与写入命令相对应的写入数据写入到存储介质。对于要发送的写入命 令完成响应,仅写入数据的接收就足够了。对与未被写入到存储介质的 写入数据相对应的写入命令临时进行排队。随后,在将与写入命令相对 应的写入数据临时存储在缓冲存储器中之后,使用主计算机的后台处理 将写入数据写入到存储介质。
与来自主计算机的读取命令相对应,将与读取命令相对应的读取数 据从存储介质读出到缓冲存储器,并且当从缓冲存储器发送到主计算机 时,向主计算机发送读取命令完成响应。
然而,可以进行排队的命令的数量以及用于临时存储读取/写入数据 的缓冲存储器的容量是有限的。因此,当空闲缓冲存储器减少时,命令 排队以及与这些命令相对应的数据在缓冲存储器中的临时存储变得不可 能,并且由此而使得不能向主计算机发送命令完成响应。在这种情况下, 对预定数量的命令进行排队,并且在该队列和缓冲存储器中保证空闲区 域。与这些命令相对应的数据开始以一个扇区的传输比(逐扇区地)临 时存储在缓冲存储器中,并且随后将命令完成响应发送到主计算机。
近年来,计算机经历了如以笔记本大小的个人电脑为代表的小型化, 并且存储设备通常被设置为非常靠近扬声器。当主计算机是这种小型计 算机时,由来自扬声器的声音产生的振动可以容易地传递到存储设备。 由于振动,可能在向存储设备的存储介质写入数据时存在延迟。换言之, 由于振动,向存储设备写入数据要花费比平常更长的时间。
如果不考虑由于振动而导致的写入延迟,继续从主计算机接收写入 数据,则空闲缓冲存储器区域将短缺。结果,与写入命令相对应的写入 数据不能临时存储在缓冲存储器中,并且不能向主计算机发送写入命令 完成响应。
类似地,如果不考虑由于振动而导致的写入延迟,继续从主计算机 接收读取命令,则空闲的缓冲存储器区域将短缺。因此,与读取命令相 对应的读取数据不能临时存储在缓冲存储器中,并且不能向主计算机发 送读取命令完成响应。
例如,在诸如Windows(注册商标)的操作系统中,当检测到即使 在已经过预定时间之后也没有从存储设备发送命令完成响应时,将其作 为严重错误进行报告。当生成警告时,主计算机中的OS关闭系统,并且 向用户提示以适当地进行响应(例如,重启计算机等)。
提出了各种技术来避免这样的系统故障。例如,在日本专利申请特 开No.2001-5724中公开了一种技术,在存储设备中,在通过缓冲存储器 完成数据接收之后,缓冲存储器定期地请求下一次数据传输。如果下一 次数据传输被延迟,则上述技术使得能够在某种程度上确保缓冲存储器 容量,避免不能将与命令相对应的数据临时存储在缓冲存储器中,并且 控制其中不能将命令完成响应发送给主计算机的情形。
在根据日本专利申请特开No.2005-309980中公开的技术的存储设备 中,在通过主计算机的后台处理将写入数据写入到存储介质时,当接收 到需要实时执行的命令(例如,读取命令)时,停止后台处理,并且首 先执行与该读取命令进行响应的操作。因此,上描技术使得能够避免在 将读取命令完成响应发送给主计算机时的延迟。
在根据日本专利申请特开No.H10-275059中公开的技术的存储设备 中,确定所排队的命令的执行顺序,以使得数据读/写效率最高,使得能 够进行快速的数据读取和写入。上述技术使得能够减少从存储设备读取 数据和向存储设备写入数据所需的时间,防止空闲缓冲存储器的短缺, 并且避免在将命令完成响应发送给主计算机时的延迟。
然而,在上述技术中,在正常操作条件下,存储设备防止空闲缓冲 存储器的短缺,并且避免在将命令完成响应发送给主计算机时的延迟。 然而,当由于在存储设备中检测到的振动而发生读/写延迟时,上述技术 不能处理这些振动、防止空闲缓冲存储器的容量不足,以及避免在将命 令完成响应发送给主计算机时的延迟。

发明内容

本发明的目的在于至少部分地解决传统技术中的问题。
根据本发明的一个方面,一种存储设备控制装置对存储设备进行控 制,以通过数据缓冲器在主计算机和存储介质之间交换数据,所述数据 缓冲器临时存储与从所述主计算机接收到的命令相对应的数据。所述存 储设备控制装置包括:振动检测单元,其检测所述存储设备中的振动; 以及数据写入控制单元,当所述振动检测单元在所述存储设备中检测到 振动时,所述数据写入控制单元在特定时间段中优先将存储在所述数据 缓冲器中的写入数据写入到所述存储介质。
根据本发明的另一方面,一种存储设备将数据存储在存储介质中, 并且与来自主计算机的命令相对应地在主计算机和所述存储介质之间交 换数据。所述存储设备包括:数据缓冲器,其临时存储从所述主计算机 接收的数据;振动检测单元,其检测所述存储设备中的振动;以及数据 写入控制单元,当所述振动检测单元在所述存储设备中检测到振动时, 所述数据写入控制单元在特定时间段中优先将存储在所述数据缓冲器中 的写入数据写入到所述存储介质。
根据本发明的再一方面,一种数据存储控制方法对存储设备进行控 制,以通过数据缓冲器在主计算机和存储介质之间交换数据,所述数据 缓冲器临时存储与从所述主计算机接收到的命令相对应的数据。所述存 储控制方法包括:检测所述存储设备中的振动;以及当在所述检测中检 测到振动时,在特定时间段中优先将存储在所述数据缓冲器中的写入数 据写入到所述存储介质。
通过结合附图阅读对本发明的当前优选实施方式的下列详细描述, 将更好地理解本发明的上述和其它目的、特征、优点以及技术和工业重 要性。

附图说明

图1是用于说明在常规磁盘设备中的写入命令控制的示意图;
图2是用于说明在根据一实施方式的磁盘设备中的写入命令控制的 显著特征的示意图;
图3是根据该实施方式的磁盘设备的功能框图
图4是当接收到写入命令时的处理的流程图;以及
图5是当接收到读取命令时的处理的流程图。

具体实施方式

下面参照附图说明根据本发明的存储设备控制装置、存储设备以及 数据存储控制方法的示例性实施方式。本发明优选地应用于紧凑型计算 机设备(例如,其中扬声器(声音设备)设置在存储设备附近的笔记本 大小的个人计算机)的存储设备。
在以下描述的实施方式中出现的术语“命令”是指写入命令和/或读取 命令。写入命令是从主计算机发送到磁盘设备以将数据写入到磁盘的数 据写入请求。要与写入命令相对应地写入到磁盘的数据被称为写入数据 或写入命令数据。在将写入命令完成响应发送给主计算机之前,写入命 令数据被临时存储在缓冲存储器中。
类似地,读取命令是从主计算机发送到磁盘设备以从磁盘读取数据 的数据读取请求。要与读取命令相对应地从磁盘读取的数据被称为读取 数据或读取命令数据。在将读取命令完成响应发送给主计算机之前,读 取命令数据被临时存储在缓冲存储器中。在下面描述的实施方式中出现 的术语“命令数据”是指写入命令数据和/或读取命令数据。类似地,术语 “命令完成响应”是指写入命令完成响应和/或读取命令完成响应。
在下面描述的实施方式中,本发明被应用于分别用作存储介质和存 储设备的磁盘和磁盘设备。然而,本发明并不因此而受限,并且可以被 应用于其他存储介质和存储设备,例如光盘和光盘设备,或者磁光盘和 磁光盘设备。
下面说明传统磁盘设备中的写入命令控制。图1是用于说明在传统 磁盘设备中的写入命令控制的示意图。写入命令是从磁盘设备所连接的 主计算机的操作系统(OS)到该磁盘设备的磁盘的写入请求。如图1中 所示,假设依次连续地从主计算机发送写入命令(1)、(2)和(3)。
写入命令控制是对一系列处理(这些处理被称为驱动处理,并且这 些处理的处理时间被称为驱动处理时间段)的执行顺序控制,该一系列 处理包括从主计算机接收写入命令、将与主计算机所发出的写入命令相 对应并且存储在磁盘设备的缓冲存储器中的写入命令数据(写入数据) 传送(发送)到磁盘、将与所接收的写入命令相对应的写入命令完成响 应发送到主计算机、以及将与写入命令相对应的写入命令数据写入到磁 盘。
执行顺序控制是指当从主计算机发送多组写入命令以及对应的写入 命令数据时,针对多个写入命令而控制上述一系列处理的执行顺序。
如图1中所示,磁盘设备接收写入命令(1)。在写入命令(1)之后, 磁盘设备接收与写入命令(1)相对应的写入命令(1)数据并将其临时 存储在缓冲存储器中,并且将针对写入命令(1)的命令完成响应发送到 主计算机,该命令完成响应表示接收到与写入命令(1)相对应的写入命 令(1)数据。
接着,磁盘设备接收写入命令(2)。在写入命令(2)之后,磁盘设 备接收与写入命令(2)相对应的写入命令(2)数据并将其临时存储在 缓冲存储器中,并且将针对写入命令(2)的命令完成响应发送到主计算 机,该命令完成响应表示接收到与写入命令(2)相对应的写入命令(2) 数据。针对写入命令(3)连续地进行类似的一系列处理。
当将针对写入命令(3)的命令完成响应发送到主计算机时,磁盘设 备对磁盘依次地执行分别与写入命令(1)、(2)和(3)相对应的写入命 令数据写入处理(1)、(2)和(3)。
当将写入命令数据写入到磁盘时,释放缓冲存储器中的用于该写入 命令数据的存储区域。由此释放的区域被用于临时存储与后续写入命令 相对应的写入命令数据。
因此,传统的磁盘设备依次地接收写入命令,并且将写入命令完成 响应发送给主计算机,该写入命令完成响应表示与写入命令相对应的写 入命令数据已经存储在缓冲存储器中。如果没有接收到进一步的写入命 令,或者如果缓冲存储器的使用降低到预定的百分比值,则磁盘设备一 次将所有写入命令数据写入到磁盘。
这里,将写入命令数据写入到磁盘所需的处理时间比接收写入数据 以及发送写入命令数据所需的处理时间长。因此,在将写入命令数据写 入到磁盘之前将写入命令完成响应发送到主计算机。因此,缓冲存储器 被用于其原始目的,即,将主计算机从I/O中断控制中释放出来。
然而,传统方法有以下缺点。当由于在磁盘设备中检测到的振动而 在将写入命令数据写入到磁盘的过程中发生延迟时,释放对应的写入命 令数据所占据的缓冲存储器区域的操作也被延迟。如果有空闲缓冲存储 器区域可用,从而可以接收新的命令,则该延迟不会造成任何问题。然 而,如果没有空闲缓冲存储器区域可用,从而不能接收新的命令,则不 能向主计算机发送与新命令相对应的命令完成响应,从而在主计算机侧 可能会识别为错误。
为了解决上述问题,在本发明的实施方式中执行如下所述的写入命 令控制。图2是用于说明在根据该实施方式的磁盘设备中的写入命令控 制的显著特征的示意图。如图2中所示,假设从主计算机依次连续地发 送写入命令(1)、(2)、(3)和(4)。
如图2中所示,对于写入命令(1)到(3),磁盘设备执行一组处理, 该组处理包括:接收写入命令;接收写入命令数据并将其临时存储在缓 冲存储器中;以及将命令完成响应发送给主计算机。
如果在磁盘设备中检测到振动之后立即接收到写入命令(4),则传 送写入命令(4)数据。然而,不立即向主计算机发送写入命令(4)完 成响应,并且将已经临时存储在缓冲存储器中的写入命令数据写入到磁 盘。
如图2中的示例所示,已经临时存储在缓冲存储器中的写入命令数 据(1)、(2)和(3)被依次写入到磁盘,直到从接收到写入命令(4) 开始经过了特定时间段为止。在图2中,示出了在上述所经过的时间段 中将写入命令(1)数据和写入命令(2)数据写入到磁盘。
当从接收到写入命令(4)开始经过了特定时间段时,将写入命令(4) 完成响应发送给主计算机。此后,将写入命令(3)数据和写入命令(4) 数据写入到磁盘。
换言之,在单个驱动处理中,在将写入命令完成响应发送给主计算 机之前,在经过特定时间段之前,同样多的临时存储在缓冲存储器中的 写入命令数据被写入到磁盘。该特定时间段应该预先设置为在命令完成 响应接收排队时间段之内,在该命令完成响应接收排队时间段中,主计 算机的OS检测到未接收到命令完成响应的错误。此外,该特定时间段应 该优选地接近于该命令完成响应接收排队时间段。
因此,可以预见到由于振动而导致的对磁盘的写入延迟,与在产生 振动之后接收到的写入命令相对应的写入命令完成响应的发送可能被暂 时推迟,并且同时,可以将临时存储在缓冲存储器中的写入命令数据写 入到磁盘,由此释放缓冲存储器区域。结果,可以接收新的写入命令, 可以将与写入命令相对应的写入命令数据临时存储在缓冲存储器中,可 以将对应的命令完成响应发送给主计算机,并且可以尽可能地避免主计 算机检测到未接收到写入命令完成响应的错误。
下面说明根据本发明的实施方式的磁盘设备的结构。图3是根据该 实施方式的磁盘设备的功能框图。如图3中所示,磁盘设备100包括控 制单元101、随机存取存储器(RAM)103、读/写通道104、磁盘105、 磁头106、致动器107,以及用于传递在磁盘设备100和主计算机之间交 换的数据的接口108。磁盘设备100的其余结构与传统磁盘设备相似,并 且因此省略对其的说明。
控制单元101使用存储在未示出的只读存储器(ROM)中的控制程 序和控制数据来执行各种处理。与本实施方式密切相关的是,控制单元 101包括数据处理单元101a、读/写控制单元101b和振动检测单元102。 磁盘设备100的其余结构与传统磁盘设备相似,并且因此省略对其的说 明。
数据处理单元101a通过读/写控制单元101b将从主计算机获得的数 据临时存储在读/写数据存储区域103a中。数据处理单元101a还通过读/ 写控制单元101b从读/写数据存储区域103a读取数据,并且通过读/写通 道104将数据写入到磁盘105。
根据来自主计算机的请求,数据处理单元101a通过读/写控制单元 101b将从磁盘105读取的数据临时存储在读/写数据存储区域103a中。 数据处理单元101a还通过读/写控制单元101b从读/写数据存储区域103a 读取数据,并且通过接口108将数据发送给主计算机。
读/写控制单元101b设置在数据处理单元101a和读/写数据存储区域 103a之间。读/写控制单元101b临时对来自主计算机的命令进行排队, 并且将与这些命令相对应的命令数据中继到数据处理单元101a和读/写 数据存储区域103a。
当振动检测单元102在磁盘设备100中的振动时,读/写控制单元 101b相应地控制命令数据读/写顺序和命令完成响应发送顺序。
具体地说,当振动检测单元102在磁盘设备100中检测到振动,但 是确定振动的强度或幅度以及检测计数小于预定阈值(在下文中,该条 件被称为“检测到微小振动”)时,读/写控制单元101b以最小的单位(例 如,以扇区为单位)将写入命令数据写入到磁盘105。下面说明其中读/ 写控制单元101b以最小的单位写入该写入命令数据的情形。
当与各个写入命令相对应的写入命令数据是数据串时,在没有检测 到振动的正常条件下,为了不产生排队时间段而读取后续数据,读/写控 制单元101b将写入数据写入到磁盘105,以保持数据串的连续性。另一 方面,当在磁盘设备100中检测到微小振动时,预期不可避免地要进行 排队以读取后续数据,读/写控制单元101b停止以保持数据串的连续性的 方式来写入该写入数据,并且开始以最小单位进行写入,即使该写入数 据是数据串。
因此,当检测到微小振动时,读/写控制单元101b首先通过以最小 单位写入该写入命令数据来释放用作临时存储区域的缓冲存储器,而不 是将写入命令数据作为大的连续单位进行写入,由此避免在释放被写入 命令数据占据的缓冲区时的延迟。
当根据振动检测单元102发出的振动检测信号确定出磁盘设备100 经受了振动并且振动强度和检测计数大于预定阈值(在下文中,该条件 被称为“振动检测”)时,读/写控制单元101b将与写入命令相对应的写入 命令数据传送到缓冲存储器。
然而,读/写控制单元101b以先进先出的方式将同样多的已经临时 存储在缓冲存储器中的写入命令数据写入到磁盘105,直到在振动检测之 后接收到写入命令后已经过了特定时间段为止。因此,当存在由于振动 而导致的写入延迟的可能性时,读/写控制单元101b能够在将与最新的写 入命令相对应的写入命令完成响应发送给主计算机之前首先释放缓冲存 储器。
当检测到振动时,读/写控制单元101b将在读/写数据存储区域103a 中确保的用于读取命令数据的临时存储区域限制为特定量,优选地限制 为最小(例如,限制为一个扇区的最小单位)。结果,在振动检测之后, 读/写控制单元101b可以通过限制读取命令数据的临时存储并且使得能 够避免在将写入命令完成响应发送给主计算机时的延迟,来优先将写入 命令数据临时存储在缓冲存储器中。
振动检测单元102包括未示出的位置信号获取单元、位置信号存储 单元和振动检测存储单元的功能,并且在该实施方式中通过固件程序来 构造。振动检测单元102检测磁盘设备100中的振动。具体地说,振动 检测单元102将从磁盘105读取的并且由数据处理单元101a再生的位置 信号输入到位置信号获取单元。将每一个所获得的位置信号存储在位置 信号存储单元中,并且将其转换为绝对值。对从位置信号转换而来的每 一个绝对值进行低通滤波,以生成振动检测数据,将该振动检测数据存 储在振动检测存储单元中。
具体地说,基于读写头位置从当前读/写位置位移的距离以及读写头 位置从当前读/写位置位移的持续时间来生成振动检测数据。振动检测单 元102根据由此存储的振动检测数据来监测振动,并且当检测到振动时 (例如,当振动检测数据的值大于预定的振动阈值时),将该振动检测通 知给控制单元101的读/写控制单元101b。另选的是,可以在磁头106或 者致动器107附近设置声发射(AE)传感器以持续地检测振动,并且该 AE传感器可以通过将振动通知信号输入到控制单元101的输入-输出端 子来检测和监测振动。
振动阈值包括两级的值。换言之,振动阈值包括第一振动阈值和大 于该第一振动阈值的第二振动阈值。当振动检测数据大于第一振动阈值 但小于第二振动阈值时,振动检测单元102将检测到微小振动通知给控 制单元101的读/写控制单元101b。当振动检测数据超过第二振动阈值时, 振动检测单元102将检测到(大)振动通知给控制单元101的读/写控制 单元101b。
RAM 103存储对于由控制单元101进行的各个处理所必需的数据。 与本实施方式紧密相关的是,RAM 103包括用作缓冲存储器的读/写数据 存储区域103a。读/写入数据存储区域103a临时存储来自主计算机的写 入命令数据以及从磁盘105读取的写入命令数据。然而,在正常条件下 (例如,当在磁盘设备100中未检测到振动时),读/写数据存储区域103a 中的分配给不同数据的区域可以根据情况需求而改变。
读/写通道104从磁头106获得再生数据和伺服数据,并且将所获得 的再生数据和伺服数据输出给控制单元101。读/写通道104从RAM 103 读取从主计算机发送的写入命令数据,并且将该写入命令数据传递到磁 头106以写入到磁盘105。
磁盘105是通过使用磁记录层涂覆由金属或玻璃制成的盘形基板而 形成的存储介质。当将数据写入到磁盘105时,从磁头106向磁盘105 的数据写入区域施加磁场,并且通过改变磁盘105的表面上的磁性物质 的磁化状态来写入数据。当从磁盘105读取数据时,磁头106从要读取 数据的位置移动到磁盘105的存储区域,并且通过扫描磁盘105的磁性 物质的磁化状态来读取数据。
磁头106将数据写入到磁盘105并且从磁盘105读取数据。磁头106 从磁盘105读取伺服数据,以控制磁道位置等,并且将伺服数据连同从 磁盘105读取的数据一起输出到读/写通道104。
致动器107包括未示出的音圈电机(VCM),该音圈电机根据从未 示出的伺服组合芯片(servo combo chip)输出的控制电流使磁头106移 动。
下面说明在接收到写入命令时在图3中示出的磁盘设备中执行的处 理。图4是在接收到写入命令时在图3中示出的磁盘设备中执行的处理 的流程图。如图4中所示,数据处理单元101a从主计算机接收写入命令, 并且在读/写控制单元101b中临时对这些写入命令进行排队(步骤S101)。
读/写控制单元101b确定振动检测单元102是否已经通知了检测到 微小振动(步骤S102)。如果通知了检测到微小振动(在步骤S102为是), 则读/写控制单元101b将写入的单位作为要传送所接收的命令的次数。换 言之,读/写控制单元101b进行控制,以将传送与所接收的命令相对应的 数据的次数作为写入的最小单位(步骤S103)。在甚至不存在检测到微小 振动的通知的情况下(在步骤S102为否),该处理前进到步骤S104。
在步骤S104,读/写控制单元101b将从主计算机接收的写入命令数 据发送到读/写数据存储区域103a。接下来,读/写控制单元101b确定振 动检测单元102是否已经通知了检测到(大)振动(步骤S105)。如果通 知了检测到(大)振动(在步骤S105为是),则读/写控制单元101b确定 从步骤S101的写入命令接收开始是否已经过了特定的时间段(步骤 S106)。在不存在检测到(大)振动的通知的情况下(在步骤S105为否), 该处理前进到步骤S108。
如果确定从步骤S101的写入命令接收开始已经过了特定的时间段 (在步骤S106为是),则处理前进到步骤S108。另一方面,如果确定从 步骤S101的写入命令接收开始没有经过特定的时间段(在步骤S106为 否),则将临时存储在读/写数据存储区域103a中的写入命令数据写入到 磁盘105(步骤S107),并且处理返回到步骤S106。
在步骤S108,读/写控制单元101b通过数据处理单元101a将写入命 令完成响应发送到主计算机。
因此,当检测到微小振动时,读/写控制单元101b切换为以最小单 位将写入数据从读/写数据存储区域103a写入到磁盘105。当检测到大的 振动时,在将写入命令完成响应发送到主计算机之前,将来自读/写数据 存储区域103a的数据写入到磁盘105,直到从接收到最后的写入命令开 始经过了特定时间段为止。因此,通过根据振动级别采用不同的控制, 可以按照对主要情况敏感的方式将临时存储在读/写数据存储区域103a 中的写入命令数据写入到磁盘105。此外,可以减少将写入命令数据写入 到磁盘105所需的时间。此外,读/写数据存储区域103a可以通过根据情 况采用适当的方法而保持可用。
接下来,下面说明在接收到读取命令时在图3所示的磁盘设备中执 行的处理。图5是在接收到读取命令时在图3所示的磁盘设备中执行的 处理的流程图。如图5所示,数据处理单元101a从主计算机接收读取命 令,并且在读/写控制单元101b中临时对读取命令进行排队(步骤S201)。
读/写控制单元101b确定是否通过由振动检测单元102发出的振动 检测信号通知了检测到大振动(步骤S202)。如果通知了检测到大振动(步 骤S202为是),则读/写控制单元101b将读/写数据存储区域103a的读取 缓冲区设置并限制为最小范围(步骤S203)。
读/写控制单元101b从磁盘105读取与读取命令相对应的数据,并 将该数据临时存储在读/写数据存储区域103a的读取缓冲区中(步骤 S204)。读/写控制单元101b通过数据处理单元101a将临时存储在读/写 数据存储区域103a的读取缓冲区中的读取命令数据发送到主计算机(步 骤S205)。
在不存在由振动检测单元102发出的振动检测信号的形式的检测到 大振动的通知(在步骤S202为否)时,读/写控制单元101b确定是否临 时排队了任何写入命令(步骤S206)。如果排队了写入命令(步骤S206 为是),则读/写控制单元101b从读/写数据存储区域103a读取与写入命 令相对应的写入命令数据,并且将该数据写入到磁盘105(步骤S207)。 当完成了步骤S207时,处理返回到步骤S206。
如果没有对写入命令进行排队(步骤S206为否),则处理返回到步 骤S204。
因此,在接收到读取命令时,当检测到大振动时,对读/写数据存储 区域103a的读取缓冲区进行限制,使得能够优先临时存储写入命令数据, 并且由此避免在将写入命令完成响应发送给主计算机时的延迟。此外, 可以避免在将读取命令完成响应发送给主计算机时的延迟,因为读取命 令数据甚至本来不能临时存储在读/写数据存储区域103a中。
根据上述实施方式,即使在大振动期间,在命令完成响应的发送方 面也不存在延迟。因此,可以防止诸如在Windows(注册商标)OS中出 现蓝屏的系统中断,因为主计算机的OS没有检测到任何延迟超时。在诸 如笔记本大小的个人计算机的紧凑型计算机(其中,扬声器设置在存储 设备附近)中,可以防止由于扬声器产生的声音的高音量而导致发生错 误,从而向主计算机用户保证可靠性。
尽管为了完整并且清楚的公开而参照具体实施方式描述了本发明, 但是所附权利要求不因此而受限,而是要被理解为涵盖本领域的技术人 员可以想到的落入在此阐述的基本教导的范围内的所有修改和替换构 造。由于这些实施方式而产生的效果并不因此受限。
在本实施方式中说明的所有自动处理或操作可以完全或部分地人工 执行。类似地,在本实施方式中说明的所有人工处理可以完全或部分地 通过已知方法自动地执行。除非另外说明,否则在说明书和附图中所提 及的处理过程、控制过程、特定名称以及包括各种参数的数据可以根据 需要而改变。
所示设备的组成单元不必在物理上与附图所示的结构相似。例如, 该设备不必具有所示的结构。根据负载和如何使用该设备,可以在功能 上或物理上分解或集成该设备的整体或部分。
该设备执行的处理或操作功能可以全部或部分地通过中央处理单元 (CPU)(或诸如微处理单元(MPU)或微控制器单元(MCU)的微计 算机)或者由CPU(或诸如MPU、MCU的微计算机)执行的计算机程 序或者通过使用布线逻辑的硬件来实现。
根据本发明,当存在由于连接到主计算机的存储设备中的振动而导 致的写入延迟(由于该延迟而使得主计算机在经过特定时间段之后从存 储设备接收到针对写入命令的命令完成响应)时,这不会被主计算机认 为是足以导致系统关闭的严重错误。
根据本发明,当检测到振动时,在特定时间段内将存储在数据缓冲 器中的写入数据写入到存储介质。因此,可以确保空闲的数据缓冲区, 以容纳来自主计算机的新命令,针对这些新命令,可以迅速地将命令完 成响应发送给主计算机。
根据本发明,当检测到振动时,迅速地将命令完成响应发送给主计 算机,由此阻止主计算机由于命令完成响应的接收的延迟而检测到任何 错误。
根据本发明,当检测到具有大于预定阈值的强度和计数的振动时, 在特定的时间内,将存储在数据缓冲器中的写入数据优先写入到存储介 质。结果,可以根据振动的类型来选择性地确保空闲的数据缓冲区,并 且可以通过接收新命令迅速地将针对新命令的命令完成响应发送给主计 算机。
根据本发明,当检测到具有大于预定阈值的强度和计数的振动时, 可以限制读取数据区域。结果,根据振动的类型,可以比读取数据优先 地选择写入数据以临时存储在数据缓冲器中,并且可以通过首先写入该 写入数据,将响应于该写入数据的命令完成响应迅速地发送给主计算机。
尽管为了完整并且清楚的公开而参照具体实施方式描述了本发明, 但是所附权利要求不因此而受限,而是要被理解为涵盖本领域的技术人 员可以想到的落入在此阐述的基本教导的范围内的所有修改和替换构 造。
QQ群二维码
意见反馈