信息处理装置及信息处理装置的控制方法 【技术领域】
本发明涉及一种包括多个硬盘的信息处理装置、 信息处理装置的控制方法以及记录介质。 背景技术 作为针对硬盘故障的策略, 已知一种镜像 (mirroring) 技术, 该技术将同一数据 记录在多个本地硬盘中。 当实施镜像时, 即使在硬盘中发生故障, 也可以使用另一硬盘继续 正在进行的处理, 这提高了可靠性。
执行镜像的镜像系统具有重构 ( 再次构建 ) 数据的功能。 重构是在两个硬盘 (HDD) 中的一个发生故障时从其余无故障的 HDD 恢复发生故障的 HDD 的数据的功能。例如, 进行 重构以实现工作的 HDD 与安装用来替换发生故障的 HDD 的 HDD 之间的一致性。
镜像系统还包括所谓的巡查 (patrol) 功能, 该功能被配置为通过读取两个 HDD 的 所有扇区, 并使用来自另一 HDD 的数据重写检测到错误的 HDD 的扇区, 来校正错误。
通常来说, 在具有上述功能的镜像系统中, 当主计算机的电源断开或者主计算机 进入睡眠模式时, 停止向镜像系统的供电, 使其进入电源断开状态。 当在镜像系统正在执行 重构处理时, 关闭镜像系统的电源时, 在镜像系统的非易失性存储器中记录关于重构处理 执行了多少的信息。
当主计算机重新启动或者从睡眠模式返回时, 镜像系统根据存储在非易失性存储 器中的信息自动恢复中断了的重构处理。
通常针对各预定数量的块执行重构 ( 或者巡查 ) 处理。当在重构处理期间, 从连 接到镜像系统的主计算机发送 HDD 读取 / 写入请求时, 在重构处理的块之间的时间间隙执 行主计算机请求的 HDD 读取 / 写入操作。
因此, 如果以大的单位分割重构处理的块, 则存在对来自主计算机的请求的响应 较慢的问题。
为了解决该问题, 日本特开 2007-94994 号公报讨论了一种技术, 在该技术中, 当 从主计算机频繁发出 HDD 访问请求时, 通过将重构处理的块重改 (recast) 为较小的单位, 可以使对来自主计算机的 HDD 访问请求的响应更快。
使用上述技术, 能够加快对来自主计算机的 HDD 访问请求的响应。但是, 即使将重 构处理的块缩小为较小的单位, 与不执行重构处理的情况相比, 响应速度仍然没有改善。
由于整个系统的启动程序都存储在 HDD 中, 因此尤其在主计算机启动时, 频繁地 访问 HDD。如果自动恢复中断的重构处理, 则产生系统的启动时间延长的问题。
发明内容 本发明涉及一种能够抑制系统启动时由重构 ( 或者由巡查 ) 引起的启动时间延迟 的信息处理装置和信息处理装置的控制方法。
根据本发明的一个方面, 提供了一种信息处理装置, 该信息处理装置连接多个硬
盘, 该信息处理装置包括 : 重构单元, 其被配置为将存储在所述多个硬盘中的一个硬盘中的 数据, 重构到所述多个硬盘中的另一硬盘中 ; 以及控制单元, 其被配置为控制所述信息处理 装置, 使得防止所述重构单元在所述信息处理装置启动之后立即恢复所述重构, 而在经过 预定时间之后恢复所述重构。
通过以下参照附图对示例性实施例的详细描述, 本发明的其他特征和方面将变得 清楚。 附图说明 并入到说明书中并构成说明书的一部分的附图, 例示了本发明的示例性实施例、 特征和方面, 其与文字说明一起, 用于解释本发明的原理。
图 1 例示了根据本发明的示例性实施例的设置为执行镜像处理的系统配置。
图 2 是例示根据本示例性实施例的多功能外围设备 (MFP) 的硬件配置的框图。
图 3 例示了根据本示例性实施例的存储在镜像系统中的 FLASH( 闪速 ) 存储器中 的信息。
图 4 是根据本示例性实施例的串行高级技术附件 (SATA, Serial ATAttachment) 接口的扩展命令的制成列表。
图 5 例示了根据本示例性实施例的从主计算机发送到镜像系统的数据。 图 6 例示了根据本示例性实施例的从主计算机发送到镜像系统的数据。 图 7 例示了根据本示例性实施例的从主计算机发送到镜像系统的数据。 图 8 是例示根据本实施例的在镜像系统中执行的处理的流程图。具体实施方式
下面参照附图详细说明本发明的各种示例性实施例、 特征和方面。
图 1 例示了本发明的示例性实施例中的设置为执行镜像处理的系统配置。尽管在 本示例性实施例中描述了将图 1 中的系统应用于多功能外围设备 (MFP) 的情况, 但是本发 明也可以应用于包括任何其他设备的信息处理装置。
在图 1 中, 主计算机 200 被配置控制整个 MFP。镜像系统 300 经由串行高级技术附 件接口 (SATA)203 连接到主计算机 200, 并控制稍后将描述的镜像处理。
镜像系统 300 包括镜像系统 CPU 301、 镜像系统内部闪速存储器 ( 非易失性存储 器 )307 以及计时器 308。镜像系统 300 分别经由 SATA 信号线 304 和 305 连接到作为大容 量存储设备的 HDD 302 和 HDD 303。
供电单元 101 向主计算机 200 供电, 供电单元 102 向镜像系统 300 供电。
如上所述, 主计算机 200 和镜像系统 300 具有独立的电源。 当断开主计算机 200 的 电源时, 镜像系统 300 的电源也关闭。当主计算机处于睡眠 ( 省电 ) 模式时, 镜像系统 300 的电源关闭。但是, 当向主计算机 200 供电, 或者当主计算机 200 从睡眠模式返回时, 接通 镜像系统 300 的电源。
图 2 是例示根据本发明的示例性实施例的多功能外围设备 (MFP) 的硬件配置的框 图。将详细描述图 1 所示的主计算机 200 的内部配置。
主计算机 200 包括控制整个 MFP 的控制器功能。主计算机 200 电连接到操作单元401、 扫描器单元 402 以及打印机单元 403, 并且还经由作为网络接口的网络接口 206 连接到 LAN, 以与个人计算机或者外部设备进行图像数据或者设备信息通信。
CPU 201( 图 1 中的系统控制 CPU) 根据存储在 ROM 253 中的控制程序整体控制对 连接的各种设备的访问, 并且集中控制内部控制器功能执行的各种处理项目。
RAM 252 是 CPU 201 进行工作所使用的系统工作存储器, RAM 252 还用作临时存储 图像数据的存储器。该 RAM 252 由在电源关闭之后保持存储的数据的 SRAM( 非易失性存储 器 ) 以及在电源关闭之后擦除存储的数据的 DRAM( 易失性存储器 ) 构成。ROM 253 存储装 置的启动程序。
硬盘控制器 202 连接到镜像系统 300。 图 1 所示的连接到镜像系统 300 的硬盘 302 和 303 被配置为存储系统软件和图像数据。
操作单元接口 205 连接系统总线 203 和操作单元 401。操作单元接口 205 从系统 总线 203 接收图像数据并将其输出到操作单元 401 以进行显示, 并且还将从操作单元 401 发送的信息输出到系统总线 203 上。
作为交换图像数据的发送通道的图像总线 220, 由外部设备互联 (PCI, Peripheral Component Interconnect) 总线构成。图像总线接口 218 是连接系统总线 203 和图像总线 220 的总线桥, 其对数据结构进行转换。
扫描器图像处理单元 212 对经由扫描器接口 211 从扫描器单元 402 接收的图像数 据进行校正、 处理和编辑。扫描器图像处理单元 212 确定所接收的图像数据是彩色原稿还 是单色原稿, 是字符原稿还是照片原稿。
将确定结果附加到图像数据。所附加的信息被称为图像区域数据。压缩单元 213 接收图像数据, 并将图像数据分割为各个包括 32×32 像素的块, 具有块的图像数据被称为 区块 (tile) 数据。
本示例性实施例中的 MFP 以如下方式执行复制处理。
将扫描器单元 402 读取的图像数据经由扫描器接口 211 发送到扫描器图像处理单 元 212。
在生成区块数据 ( 包括 32 像素 ×32 像素的块 ) 之后, 压缩单元 213 压缩区块数 据。将压缩的图像数据 ( 区块数据 ) 发送到 RAM 252 并存储。如果有需要, 则将该图像数 据发送到图像转换单元 217 并进行图像处理, 然后发送回 RAM 252 并存储。
将从 RAM 252 读取的数据写入镜像系统 300 中。镜像系统 300 将接收到的数据写 入所连接的 HDD 302 和 HDD 303。然后, 将从连接到镜像系统 300 的 HDD 302 读取的数据发 送到总线 203 上。
然后, 将图像数据从总线 203 发送到解压缩单元 216。 解压缩单元 216 对该图像数 据进行解压缩。解压缩单元 216 对包括多个区块数据的解压缩的图像数据进行光栅化。将 光栅化的图像数据发送到打印机图像处理单元 215。
将在打印机图像处理单元 215 中处理过的图像数据经由打印机接口 214 发送到打 印机单元 403, 并且在打印机单元 403 中打印。 描述了在 MFP 中的复制处理期间的数据的流 程。由于假定产生了例如确保执行页面替换的工作区的需要, 因此图像数据经过镜像系统 300 的 HDD。
镜像系统 300 将从主计算机 200 给出的 ATA(AT Attachment, 高级技术附件 ) 命令发送给所连接的 HDD。当如图 1 所示连接两个 HDD 时, 将命令发送给两个 HDD。
将从主计算机 200 到 HDD 的写入命令经由 HDD 控制器 202 发送到镜像系统 300。 镜像系统 300 向所有连接的 HDD 发出写入命令。
将从主计算机 200 到 HDD 的读取命令 ( 读取请求 ) 经由 HDD 控制器 202 发送到镜 像系统 300。 与写入命令的情况不同, 镜像系统 300 仅向所连接的多个 HDD 中的一个发出读 取命令, 通常来说, 向多个 HDD 中的主 HDD 发出读取命令。
图 3 例示了存储在镜像系统 300 的内部闪速存储器 307 中的信息的示例。 “重构 延迟时间” 是由稍后将描述的 SETUP REBUILD( 设定重构 ) 命令设置的值。即使在镜像系 统启动之后, 也直到经过指定的秒数, 才恢复重构。 如果用户没有设置该值, 则设置缺省值。 以秒为单位来设置重构延迟时间。
“巡查延迟时间” 是由稍后将描述的 SETUP PATROL( 设定巡查 ) 命令设置的值。在 镜像系统启动之后, 直到经过指定的秒数, 才恢复巡查。如果用户没有设置该值, 则设置缺 省值。以秒为单位来设置巡查延迟时间。
“重构完成的扇区” 是表示重构完成了多少的信息。换句话说, 该信息表示在 HDD 的多个扇区中, 对哪些扇区完成了重构。当关闭电源时, 镜像系统 300 中断重构, 并将中断 的扇区记录在闪速存储器中。 当重构完成时, 在相关的扇区中输入 0。 因此, 当重构完成的扇区的值不为 0 时, 得 知重构正在进行或者中断。当启动镜像系统时, 镜像系统 300 参照重构完成的扇区的值, 如 果该值不为 0, 则镜像系统 300 从重构中断的扇区开始恢复重构。
“巡查完成的扇区” 是表示在何处进行了巡查的信息。 换句话说, 该信息表示在 HDD 中的多个扇区中, 完成了直到哪个扇区的巡查。当关闭电源时, 镜像系统 300 中断巡查, 并 记录巡查中断的扇区。
当没有巡查扇区时, 输入 0。因此, 如果巡查完成的扇区的值不为 0, 则得知巡查正 在进行或者中断。 当关闭电源时, 镜像系统 300 参照巡查完成的扇区的值, 如果该值不为 0, 则镜像系统 300 从巡查中断的扇区开始恢复巡查。
图 4 是列出 SATA 扩展命令的表。如上所述, 镜像系统 300 能够经由 SATA 信号线 从主计算机接收命令。除了普通 SATA 命令之外, 本示例性实施例中的镜像系统 300 还能够 接收扩展命令。图 4 是在本示例性实施例的镜像系统中使用的 SATA 扩展命令的列表。
SATA 命令分为 “PIOOUT” 命令、 “PIOIN” 命令以及 “NONDATA” 命令。 “PIOOUT” 命 令是将数据从主计算机传送到镜像系统的命令。 “PIOIN” 命令是将数据从镜像系统传送到 主计算机的命令。 “NONDATA” 命令是不伴随数据传送的命令。
仅在镜像系统 300 中解释从主计算机发送的扩展命令, 而不经由 SATA 信号线将这 些扩展命令发送给 HDD 302 和 HDD 303。
分类到 “PIOOUT” 命令中的扩展命令包括 “SETUP REBUILD” 命令、 “SETUP PATROL” 命令以及 “CHANGE MODE( 改变模式 )” 命令。
“SETUP REBUILD” 命令是设定重构功能的命令。 “SETUP PATROL” 命令是设定巡查 功能的命令。 “CHANGE MODE” 命令是指示从主计算机到镜像系统以及从单一模式到镜像模 式的变换的命令。
当接收到该命令时, 镜像系统自动开始重构。单一模式是仅使用一个 HDD 的工作
模式, 单一模式包括以下情形 : (1) 仅有一个 HDD 连接到镜像系统, (2) 在连接到镜像系统的 多个 HDD 中使用一个 HDD。另一方面, 镜像模式是执行镜像处理的模式。
分类到 “NONDATA”命 令 类 别 中 的 扩 展 命 令 包 括 “TOSLEEP( 到 睡 眠 )”命 令 和 “WAKEUP( 从睡眠返回 )” 命令。
“TOSLEEP” 命令是指令关闭镜像系统的电源的命令。在主计算机断开电源或者进 入睡眠模式时, 向镜像系统发出该命令。镜像系统在接收到 “TOSLEEP” 命令时中断当前正 在进行的重构或者巡查, 并在闪速存储器中记录中断的扇区。之后, 关闭镜像系统的电源。
“WAKEUP” 命令是将主计算机从睡眠模式返回通知给镜像系统的命令。 在本示例性 实施例中, 当主计算机关闭其电源或者当主计算机进入睡眠模式时, 关闭镜像系统的电源。 此外, 当接通主计算机的电源或者主计算机从睡眠返回时, 接通镜像系统的电源。
当镜像系统启动时, 其无法知道是主计算机从睡眠模式返回, 还是接通了主计算 机的电源。当主计算机从睡眠模式返回时, 将该扩展命令 “WAKEUP” 通知给镜像系统。通过 该命令, 镜像系统可以得知 : 由于主计算机从睡眠返回, 因此接通了镜像系统的电源。
换句话说, 镜像系统可以区分对镜像系统通电是由于主计算机的电源接通, 还是 由于主计算机从睡眠模式返回。 图 5 例示了当执行图 4 中的作为 “PIOOUT” 命令的 “SETUPREBUILD” 命令时从主计 算机发送到镜像系统的数据。该数据由主计算机生成。
“重构延迟时间” 表示在镜像系统启动之后直到执行重构的等待时间。直到经过指 定的秒数, 镜像系统才恢复重构。
“是否进行重构” 是表示在更换检测到错误的硬盘时是否自动进行重构的信息。 “是否验证重构中的数据” 是表示当镜像系统进行重构时是否对数据进行验证的信息。
“重构范围” 是当镜像系统进行重构时指定是重构整个硬盘还是仅重构特定范围 ( 扇区 ) 的信息。 “区域 A 的第一扇区和大小” 是关于设置为重构执行范围的范围的信息。
图 6 是当执行图 4 中的作为 “PIOOUT” 命令的 “SETUP PATROL” 命令时从主计算机 发送到镜像系统的数据的表。该数据由主计算机生成。
“巡查延迟时间” 表示在镜像系统启动之后直到进行巡查的等待时间。直到经过指 定的秒数, 镜像系统才恢复巡查。 “启动条件” 是表示镜像系统开始巡查的条件的信息。
“巡查范围” 是关于当镜像系统进行巡查时是巡查整个硬盘还是仅巡查特定范围 ( 扇区 ) 的信息。 “区域 A 的第一扇区和大小” 是关于设置为巡查执行范围的范围的信息。
图 7 表示当执行图 4 所示的作为 “PIOOUT” 命令的 “CHANGE MODE” 命令时从主计 算机发送到镜像系统的数据。该数据由主计算机生成。
“CHANGE MODE” 命令用于在单一模式和镜像模式之间切换。
在本示例性实施例的镜像系统中, 通过交换图 4 至图 7 所示的命令和数据执行重 构 ( 或巡查 )。在重构期间, 从主 HDD( 包含有效数据的 HDD) 读取数据, 并将读取的数据写 入到备用 HDD( 添加的 HDD) 中。
通常来说, 由于重构大量的数据, 因此重构是耗时的工作。在进行重构时, 不实施 镜像, 并且不通过冗余地将信息存储在备份 (spare) 盘中来保护用户数据。因此, 期望尽快 完成重构。
如果一次要复制的数据大小 ( 要重构的块的数量 ) 增大, 则直到重构结束的时间
缩短。但是, 如果在复制数据时从主计算机发送 HDD 读取 / 写入命令, 则直到复制了数据, 才能进行对请求的响应。该对来自主计算机的读取 / 写入请求的延迟的响应, 是不利之处。
另一方面, 如果一次要复制的数据大小减小, 则由于能够快速结束数据复制 ( 由 于小的块单位 ), 因此对来自主计算机的 HDD 读取 / 写入请求的响应良好。但是, 存在如下 不利之处 : 一直到重构完成的时间很长。
不管一次要复制的数据的数据大小多小, 在发出从主 HDD 读取数据并且将数据写 入到备用 HDD 的命令时都产生开销 (overhead)。 因此, 主计算机的总的数据访问时间延长。 如果期望最小化总的数据访问时间, 则必须进行重构本身。
巡查也存在上述问题。实际上可以调整从两个 HDD 读取的数据的大小, 但是当进 行巡查时, 在发出在 HDD 上读取和写入数据的命令时产生开销。
图 8 是例示在本示例性实施例中的镜像系统 300 上执行的处理的流程图。通过镜 像系统 CPU 301 执行计算机程序来执行图 8 中的处理的步骤。
在步骤 S801 中, CPU 301 确认连接了 HDD。在步骤 S802 中, CPU301 向各 HDD 发出 识别命令, 并确认所连接的各 HDD 的状态。在步骤 S803 中, CPU 301 设置确认连接的 HDD 与 镜像系统之间的传送模式。 在步骤 S804 中, CPU 301 确定是否执行镜像。首先, CPU 301 确定是否确认连接了 两个 HDD。当确认两个 HDD 连接到镜像系统时, CPU301 确定是否实现了这些 HDD 之间的数 据的一致性。
更具体地说, CPU 301 参照保持在内部闪速存储器 307 中的重构完成的扇区中的 信息, 确定值是否为 0。如果值为 0, 则确定完成了重构, 并且还确定实现了存储在两个 HDD 中的数据的一致性。
因此, 在步骤 S804 中, CPU 301 确定两个条件, 即是否连接了两个 HDD, 以及是否实 现了两个 HDD 中的数据的一致性。如果两个条件都满足 ( 步骤 S804 中的 “是” ), 则处理进 入到步骤 S819。 另一方面, 如果两个条件中的至少一个条件不满足 ( 步骤 S804 中的 “否” ), 则处理进入到步骤 S805。
在步骤 S805 中, CPU 301 确定是否进行重构。在步骤 S805 中, 确认连接到镜像系 统 300 的 HDD 的数量, 如果连接了一个 HDD, 则确定不进行重构 ( 步骤 S805 中的 “否” ), 并 且处理进入到步骤 S806。
如果连接了两个 HDD, 则 CPU 301 确定当前是否设置单一模式, 如果设置了单一模 式, 则确定不进行重构 ( 步骤 S805 中的 “否” ), 并且处理进入到步骤 S806。另一方面, 如 果连接了两个 HDD 并且重构完成的扇区中的值不为 0, 则确定进行重构 ( 步骤 S805 中的 “是” ), 处理进入到步骤 S807。在步骤 S806 中, 使用一个 HDD 进行普通操作。
如上所述, 如果重构完成的扇区中的值不为 0, 则在该扇区中存在重构中断。更具 体地说, 之前, 在重构完成之前, 在正在进行重构时由从主计算机发出的 “TOSLEEP” 命令关 闭镜像系统 300 的电源。因此, 已经启动的镜像系统需要从重构中断的扇区开始恢复重构。
在步骤 S807 中, CPU 301 确定是主计算机 200 的电源从其电源关闭状态接通, 还 是主计算机从睡眠模式返回。更具体地说, CPU 301 确定镜像系统 300 是否从主计算机 200 接收到 “WAKEUP” 命令。这是因为主计算机 200 只有在从睡眠返回时, 才向镜像系统 300 发 出 “WAKEUP” 命令。
在步骤 S807 中, 当确定接收到 “WAKEUP” 命令时, CPU 301 确定主计算机 200 从睡 眠返回 ( 步骤 S807 中的 “是” ), 并且处理进入到步骤 S810。另一方面, 当确定没有接收到 “WAKEUP” 命令时, CPU 301 确定主计算机 200 的电源从其电源关闭状态接通, 并且处理进入 到步骤 S808。
在步骤 S808 中, CPU301 使计时器 308 开始计数。在步骤 S809 中, CPU 301 参照 存储在内部闪速存储器 307 中的 “重构延迟时间” , 并确定计时器 308 的计数是否达到了重 构延迟时间。如果计时器 308 的计数达到了重构延迟时间 ( 步骤 S809 中的 “是” ), 则 CPU 301 进入到步骤 S810。
在步骤 S810 中, CPU 301 开始进行重构。
当主计算机的电源从其电源关闭状态接通时, 在镜像系统 300 开始进行重构之 前, 需要等待延迟时间。原因是, 在接通主计算机 200 的电源之后, 镜像系统 300 接收来自 主计算机 200 的读取和写入文件的频繁访问。
如果在该状况下进行重构, 则对来自主计算机 200 的读取和写入 HDD 的请求的响 应减慢。在本示例性实施例中, 为了防止该问题, 当对主计算机 200 从其电源关闭状态供电 时, 在经过延迟时间之后, 镜像系统 300 开始重构。
另一方面, 当主计算机 200 从睡眠返回时, 主计算机要从 HDD 读取的信息已经存储 在主计算机 200 的存储器中。换句话说, 镜像系统 300 不接收来自主计算机的在 HDD 上读 取和写入文件的频繁访问。
因此, 在本实施例中, 当主计算机 200 从睡眠返回时, 镜像系统 300 立即开始重构, 而不等待经过延迟时间。
在步骤 S811 中, CPU 301 确定镜像系统是否从主计算机 200 接收到 “TOSLEEP” 命 令。如果 CPU 301 接收到了 “TOSLEEP” 命令, 则处理进入到步骤 S817。如果 CPU 301 没有 接收到 “TOSLEEP” 命令, 则处理进入到步骤 S812。
在步骤 S812 中, CPU 301 从连接的两个 HDD 中的主 HDD 中读取数据, 在步骤 S813 中, 将数据写入到另一 ( 备用 )HDD。然后, 在步骤 S814 中, CPU 301 使控制从一个扇区前进 到另一扇区, 进行次数与从主 HDD 复制了数据的备用 HDD 的扇区的数量相同。
在步骤 S815 中, CPU 301 确定是否完成了所有扇区的重构。如果完成了重构 ( 步 骤 S815 中的 “是” ), 则处理进入到步骤 S816。另一方面, 如果没有完成重构 ( 步骤 S815 中 的 “否” ), 则处理返回到步骤 S811。在步骤 S816 中, CPU 301 在内部闪速存储器 307 中的 “重构完成的扇区” 中写入 0。换句话说, CPU 301 写入表示重构正常完成的信息, 并且处理 进入到步骤 S819。从步骤 S819 开始, CPU 301 进行镜像。
如果在步骤 S811 中确定从主计算机 200 接收到了 “TOSLEEP” 命令 ( 步骤 S811 中 的 “是” ), 则处理进入到步骤 S817。在步骤 S817 中, CPU301 在存储在内部闪速存储器 307 中的 “重构完成的扇区” 中写入表示重构中断的信息。CPU 301 将进行了重构的扇区写入到 重构完成的扇区中。在步骤 S818 中, CPU 301 关闭电源。
在步骤 S819 中, CPU 301 进行镜像操作。 当镜像操作正在进行时, 在步骤 S820 中, CPU 301 确定是否进行巡查。通常来说, 用户指定巡查的间隔, 例如一个月一次。在步骤 S820 中, CPU 301 检查进行巡查的条件, 即当前的时间和日期是否达到了预定时间和日期。
如果不需要进行巡查 ( 步骤 S820 中的 “否” ), 则处理返回到步骤 S819, 继续镜像操作。如果需要进行巡查 ( 步骤 S820 中的 “是” ), 则在步骤 S821 中, CPU 301 进行巡查操 作, 当巡查完成 ( 步骤 S820 中的 “否” ) 时, 处理返回到步骤 S819, 继续镜像操作。
尽管没有详细描述步骤 S821 中执行的巡查操作, 但是当进行巡查操作时, 与重构 相似, 进行与步骤 S807 中进行的确定类似的确定。当主计算机 200 的电源从其电源关闭状 态接通时, 与重构相似, 执行与步骤 S808 和 S809 中进行的处理类似的处理。 换句话说, 当主 计算机 200 的电源从其电源关闭状态接通时, 将巡查处理延迟与延迟时间对应的时间段。
如上所述, 在本示例性实施例中, 当镜像系统中的重构处理由于关闭主计算机的 电源而中断, 而主计算机通过接通其电源而启动时, 防止立即恢复重构。
这旨在防止在主计算机启动时, 由于频繁地请求访问 HDD, 由与重构处理的争用引 起的来自主计算机的 HDD 访问的延迟。在本示例性实施例中, 不立即恢复重构, 而是在经过 预定的延迟时间之后开始重构。因此, 能够防止与主计算机请求的很多 HDD 访问的争用。
用户 ( 例如管理员 ) 可以任意地改变保持在镜像系统的闪速存储器 307 中的 “重 构延迟时间” 。 可以计算主计算机的启动时间, 可以自动将计算的启动时间写入到重构延迟 时间中。 或者, 代替设置重构延迟时间, 镜像系统可以被配置为在从主计算机接收到表示启 动完成的通知之后开始重构。 在上述实施例中, 尽管讨论了两个硬盘连接到镜像系统的情况, 但是本示例性实 施例能够应用于连接三个或者更多个硬盘的情况。
在上述实施例中, 尽管主计算机和镜像系统包含在一个装置 ( 例如 MFP) 中, 但是 它们可以作为单独的装置设置。例如, 本示例性实施例可以应用于主计算机和镜像系统经 由诸如 LAN 的网络相连接的情况。
本发明的各方面还可以通过读出并执行记录在存储装置上的用于执行上述实施 例的功能的程序的系统或设备的计算机 ( 或诸如 CPU 或 MPU 的装置 )、 以及由系统或设备 的计算机例如读出并执行记录在存储装置上的用于执行上述实施例的功能的程序来执行 各步骤的方法来实现。鉴于此, 例如经由网络或者从用作存储装置的各种类型的记录介质 ( 例如计算机可读介质 ) 向计算机提供程序。 在这种情况下, 系统或装置以及存储有程序的 记录介质, 也包含在本发明的范围之内。
虽然参照示例性实施例对本发明进行了说明, 但是应当理解, 本发明不限于所公 开的示例性实施例。 应当对所附权利要求的范围给予最宽的解释, 以使其涵盖所有变型、 等 同结构及功能。