(57)【要約】【課題】従来の情報処理装置は、ＨＤＤの温度が、ＨＤＤの既定の温度上限値を超えると冷却ファンを高速回転させており、冷却ファンの回転による振動の影響で磁気ヘッドの位置決めに支障を来し、書込み及び読込みともに、データ転送速度の低下を招いていた。【解決手段】情報処理装置１００は、データを記録するＨＤＤ９と、ＨＤＤ９を冷却する冷却ファン８と、冷却ファン８の動作を制御するファン制御部２と、ＨＤＤ９の温度を検出する温度検出部１０と、ＨＤＤ９へのデータの書込み及び読込みを行うストレージ制御部６と、を備える。ファン制御部２は、ストレージ制御部６によりＨＤＤ９からデータが読込まれる間、冷却ファン８の回転を行い、ストレージ制御部６によりＨＤＤ９へデータが書込まれる間、冷却ファン８の回転を停止する制御を行う。【選択図】図１
2019145193.tif 000002
【特許請求の範囲】
【請求項１】
データを記録するディスク記録装置と、
前記ディスク記録装置を冷却する冷却ファンと、
前記冷却ファンの動作を制御するファン制御部と、
前記ディスク記録装置の温度を検出する温度検出部と、
前記ディスク記録装置への前記データの書込み及び読込みを行うストレージ制御部と、
を備える情報処理装置であって、
前記ファン制御部は、前記ストレージ制御部により前記ディスク記録装置から前記データが読込まれる間、前記冷却ファンの回転を行い、前記ストレージ制御部により前記ディスク記録装置へ前記データが書込まれる間、前記冷却ファンの回転を停止する制御を行う
情報処理装置。
【請求項２】
前記温度検出部により検出された前記ディスク記録装置の温度が、前記ディスク記録装置の既定の温度上限値以下であれば、前記ストレージ制御部は、前記データを前記ディスク記録装置へのデータの書込みを行い、
前記温度検出部により検出された前記ディスク記録装置の温度が、前記ディスク記録装置の前記温度上限値を超えるのであれば、前記ストレージ制御部は、前記ディスク記録装置へ前記データの書込みを行わない
請求項１に記載の情報処理装置。
【請求項３】
前記ストレージ制御部によりディスク記録装置に書込まれる前記データを一時的に記録するバッファ記録部を備え、
前記バッファ記録部は、複数の領域に分けられ、一の領域と、他の領域と、を有する
請求項２に記載の情報処理装置。
【請求項４】
前記ストレージ制御部は、前記ディスク記録装置に前記データの書込みが行えない場合、前記バッファ記録部の前記一の領域に一時的に記録された前記データを、前記他の領域に移動させる
請求項３に記載の情報処理装置。
【請求項５】
前記ストレージ制御部が、前記バッファ記録部の前記他の領域へ前記データを書込んだ場合、
前記ディスク記録装置の温度が、前記ファン制御部が制御する前記冷却ファンにより、前記ディスク記録装置の前記温度上限値以下まで下がれば、前記ストレージ制御部は、前記バッファ記録部の前記他の領域に書込まれた前記データを前記ディスク記録装置へ書込む
請求項４に記載の情報処理装置。
【請求項６】
さらに、前記ディスク記録装置よりも書込み及び読込み速度が速く、前記バッファ記録部よりも書込み及び読込み速度が遅いディスクレス記録装置を備え、
前記ストレージ制御部は、前記バッファ記録部に前記データの書込みが行えない場合、前記データを前記ディスクレス記録装置へ書込む
請求項３に記載の情報処理装置。
【請求項７】
前記ストレージ制御部は、読込みが要求されている前記データが記録されている前記ディスク記録装置、前記ディスクレス記録装置又は前記バッファ記録部のいずれかから前記データを読込む
請求項６に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
ＨＤＤ（Hard Disk Drive）の記録密度は、ビット密度ＢＰＩ（Bit Per Inch）とトラック密度ＴＰＩ（Track Per Inch）を掛け合わせて表すことができる。ＢＰＩは、ＨＤＤのディスク面上で円周方向の１インチに記録できるビット数を表す単位である。ＴＰＩは、ＨＤＤのディスク面上の同心円状に広がる帯（トラック）の１インチあたりの本数を表す単位である。
【０００３】
ＨＤＤは、主に、データを書込み又は読込みを行うための磁気ヘッド、磁気ヘッドを支持するアーム、磁気ヘッドにより書込まれたデータを記録するディスク、ディスクを回転させるスピンドルモータ、及びアームを動かすモータにより構成される。
ＨＤＤのディスク面上は、セクタと呼ばれる複数のエリアに分割されている。このセクタには、磁気ヘッド位置を検出するためのアドレスデータとバースト信号が予め磁気記録されている。
【０００４】
ＨＤＤは、磁気ヘッドがアドレスデータを読むことでトラックに付与されているトラック番号を検出し、バースト信号によりトラック内での磁気ヘッド位置を検出している。このアドレスデータとバースト信号の情報により、モータはアームをディスク半径方向に移動させ、磁気ヘッドを所定のトラックの中心に位置決めしている。
【０００５】
ＨＤＤは、ディスクの所定のトラックに位置決めすることで、データを書込み又は読込みを行う。通常、書込み時の磁気ヘッドの書込み幅は、トラック幅より狭く設計され、読込み時の磁気ヘッドの読込み幅は、書込み時の磁気ヘッドよりさらに狭く設計されている。
【０００６】
従来、ＣＭＲ（Conventional Magnetic Recording）方式、ＳＭＲ（Shingled Magnetic Recording）方式によるＨＤＤが普及している。ＣＭＲ方式は、トラックとトラックの間に、信号干渉を防ぐための所定の隙間が設けられている。ＣＭＲ方式では、磁気ヘッドのデータ幅を狭め、トラック幅を狭めることで高ＴＰＩ化が図られ、ＨＤＤの記録密度の上昇がなされている。しかし、現在の最小の磁気ヘッドの書込み幅以下では十分な記録性能を維持することができない。
【０００７】
一方、ＳＭＲ方式を用いた高記録密度のＨＤＤは、データを書込む際に、前回書込んだトラックの一部に別のトラックを重ねてデータを記録できる。この結果、同心円状に広がるトラックの１インチあたりの本数が増えることで、高ＴＰＩ化を図れ、ＨＤＤの記録密度が上昇する。このため、ＳＭＲ方式を用いたＨＤＤは、データセンター等で用いられることが多くなっている。
【０００８】
しかし、ＳＭＲ方式では、高ＴＰＩ化する程、トラック間隔が狭まる。ＨＤＤには、外部からの衝撃による振動、モータの機械動作による振動、又はディスクの回転に伴う空気流による振動等の外乱が発生する場合が多い。ＨＤＤへの書込み時に外乱が加わると、すでに書込みされた隣接のトラック方向に磁気ヘッドがずれてしまい、隣接のトラックのデータを上書きして消してしまう可能性が高まる。このため、特に、データ書込み時における磁気ヘッドの位置決めには、高い精度が求められる。
【０００９】
また、ＨＤＤは、スピンドルモータの発熱により温度上昇が起こる。発熱したＨＤＤを冷却するために、情報処理装置には冷却ファンが搭載される。近年では、情報処理装置の高集積化及び小型化に伴い、冷却ファンも小型化している。小型化した冷却ファンは、ＨＤＤの温度上昇を防ぐために高速回転することが余儀なくされる。しかし、冷却ファンが高速回転すると、冷却ファンが発する振動がＨＤＤにも伝わってしまい、磁気ヘッドの位置決めに支障を来たしていた。
【００１０】
例えば、高集積化及び小型化した情報処理装置にＳＭＲ方式のＨＤＤが搭載されていると、磁気ヘッドの位置決め時間は、長期化してしまう傾向がある。これは、小型化した冷却ファンの高速回転による振動に加え、記録密度が大きい程、磁気ヘッドの位置決めが難しくなるからである。この結果、書込み及び読込みともに、データ転送速度の低下に繋がってしまう。
【００１１】
ＨＤＤに振動が発生すると、書込みの方が読込みよりも影響を受けやすい。書込み時に磁気ヘッドの位置ずれが発生すると、隣接するトラックのデータを書き換えるおそれがある。このため、ＨＤＤへの書込み要求が行われると、磁気ヘッドに位置ずれがなくなるまで磁気ヘッドの位置決めのリトライが行われるので、実際にデータを書込むまでに時間がかかり、データ転送速度の低下に繋がっていた。
【００１２】
一方、データの読込みは、磁気ヘッドの位置がずれても隣接するトラックのデータに対し書き換え等の影響を与えることはない。また、データが一部正しく読めなくても、データに付されたＥＣＣ（Error Correction Code）により訂正することができる。このため、データの読込みは、冷却ファンからの振動により磁気ヘッドの位置が多少ずれても影響を受けない。しかし、冷却ファンの回転による振動等により、書込み要求に伴う磁気ヘッドの位置決めが定まらないと、次に読込み要求があった際に、読込みに移行するまでの時間が長期化してしまうことが懸念される。
【００１３】
また、データ転送速度の低下は、ＨＤＤに加わる振動が主な要因であるため、冷却ファンの回転数を低下させて振動を抑え、データ転送速度を上昇させることが可能と考えられる。しかし、冷却ファンの回転数が低下した状態で、書込み及び読込みの要求が続くと、ＨＤＤの温度が、ＨＤＤの既定の温度上限値を超えてしまう。この場合、ＨＤＤの温度が、既定の温度上限値以下となるまでＨＤＤの動作を停止しなければならない。
【００１４】
ここで、特許文献１には、装置が安全に稼働可能な装置内温度で、かつ、ディスク記録媒体にアクセスしていない状態では、ファンを高速回転させる技術が開示されている。一方、ディスク記録媒体にアクセスしている状態では、ファンによる振動を抑えるため、ファンの回転数を抑え込むように制御する技術が開示されている。また、装置内温度が安全に稼働可能な温度を超えている場合にも、ファンを高速回転させる技術が開示されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１１−１６５２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ところで、特許文献１に開示されている技術では、装置内温度が上限に達した場合はファンを高速回転させるため、装置内温度が高い間はデータ転送速度の低下を防ぐことができない。また、特許文献１に開示される技術は、ディスク記録媒体にアクセスしている場合、書込み及び読込みに関係なくファンの回転数を制御している。つまり、読込みの場合にも回転数を抑えているので、書込み又は読込みが連続して行われると、装置内温度が上限に達することが考慮されていない。
【００１７】
例えば、データセンターのような読込みが頻繁に発生する環境下においては、頻度の高い読込みが発生することによりＨＤＤの温度が上昇した状態で、頻度の低い書込みが発生した場合には、データ転送速度の低下を防ぐことができなかった。
【００１８】
本発明はこのような状況に鑑みて成されたものであり、ディスク記録装置に対する書込みと読込みにおけるデータ転送速度の低下を防ぐことを目的とする。
【課題を解決するための手段】
【００１９】
本発明に係る情報処理装置は、データを記録するディスク記録装置と、ディスク記録装置を冷却する冷却ファンと、冷却ファンの動作を制御するファン制御部と、ディスク記録装置の温度を検出する温度検出部と、ディスク記録装置へのデータの書込み及び読込みを行うストレージ制御部と、を備える。
ファン制御部は、ストレージ制御部によりディスク記録装置からデータが読込まれる間、冷却ファンの回転を行い、ストレージ制御部によりディスク記録装置へデータが書込まれる間、冷却ファンの回転を停止する制御を行う。
【発明の効果】
【００２０】
本発明によれば、ディスク記録装置への書込みがされていない場合、冷却ファンによるディスク記録装置の冷却を行い、書込み要求時に冷却ファンを停止させることで、データ転送速度の低下を防ぐ。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態に係る情報処理装置の構成例を示すブロック図である。
【図２】本発明の第１の実施の形態に係る情報処理装置にて行われる第１主処理の例を示すフローチャートである。
【図３】本発明の第１の実施の形態に係る第１バッファ処理の例を示すフローチャートである。
【図４】本発明の第２の実施の形態に係る情報処理装置の構成例を示すブロック図である。
【図５】本発明の第２の実施の形態に係る情報処理装置にて行われる第２主処理の例（その１）を示すフローチャートである。
【図６】本発明の第２の実施の形態に係る情報処理装置にて行われる第２主処理の例（その２）を示すフローチャートである。
【図７】本発明の第２の実施の形態に係る第２バッファ処理の例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態例について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００２３】
［第１の実施の形態］
＜情報処理装置の構成例＞
まず、図１を参照して、本発明の第１の実施の形態に係る情報処理装置１００の全体構成を説明する。図１は、第１の実施の形態に係る情報処理装置１００の構成例を示すブロック図である。
【００２４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１、ファン制御部２、メインメモリ３（バッファ記録部の一例）、ストレージ制御部６、バス７を備える。また、情報処理装置１００は、冷却ファン８、ＨＤＤ９（ディスク記録装置の一例）、温度検出部１０を備える。
メインメモリ３は、主バッファ４（一の領域の一例）、副バッファ５（他の領域の一例）を備える。
【００２５】
本実施形態に係る情報処理装置１００では、ＰＩＯ（Programmed Input/Output）方式でデータ転送を行う。ＰＩＯ方式は、ＣＰＵ１が情報処理装置１００内の各部（例えば、ＨＤＤ９）とメインメモリ３との間で行われるデータ転送を管理する方式である。
【００２６】
ＣＰＵ１は、情報処理装置１００内の各部の動作を制御するための各種の演算を実行する。
ファン制御部２は、冷却ファン８の回転動作を制御する。例えば、ＨＤＤ９の温度が、ＨＤＤ９の既定の温度上限値（以下、「ＨＤＤ温度上限値」と呼ぶ）を超えたと温度検出部１０により判定された場合、ファン制御部２は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下に下がるまで、冷却ファン８を回転させる。また、ファン制御部２は、ＨＤＤ９へデータが書込まれる場合は、冷却ファン８を停止させ、データが書込まれない場合は、冷却ファン８を回転させる制御を行う。
【００２７】
メインメモリ３は、ストレージ制御部６によりＨＤＤ９に書込まれるデータを一時的に記録する。メインメモリ３は、複数の領域に分けられており、主バッファ４と副バッファ５を有する。主バッファ４の領域は、副バッファ５の領域より大きいか、同等になるよう予め設定される。また、本実施の形態においては、副バッファ５を１個だけ設けた例を説明しているが、副バッファ５を複数設けてもよい。
【００２８】
また、メインメモリ３には、情報処理装置１００で動作するＯＳ（Operating System）が記録されている。このＯＳは、情報処理装置１００内の各部の実行処理を管理及び制御するためのソフトウェアプログラムである。
【００２９】
ストレージ制御部６は、不図示のドライバを備える。ストレージ制御部６のドライバは、ソフトウェアプログラムであり、ＯＳの指示に従い、ファン制御部２、メインメモリ３、ＨＤＤ９及び温度検出部１０の動作を制御する。以降、ストレージ制御部６のドライバが行う処理を、ストレージ制御部６が行う処理として説明する。
【００３０】
ＣＰＵ１は、ＯＳからＨＤＤ９への書込み要求が行われると、書込み要求が行われたデータを一旦メインメモリ３の主バッファ４に記録する。
ここで、ストレージ制御部６は、ＨＤＤ９への書込みを行う場合に、冷却ファン８を停止させる指示をファン制御部２へ送信する。冷却ファン８を停止させることで、ＨＤＤ９への書込み時に、冷却ファン８の振動がＨＤＤ９に伝わらないため、磁気ヘッドの位置決めを速やかに行うことができる。
また、ストレージ制御部６は、読込みを行う場合に、冷却ファン８を回転させる指示をファン制御部２へ送信する。冷却ファン８が回転することで、ＨＤＤ９からの読込み時に、冷却ファン８の振動がＨＤＤ９に伝わったとしても、読込速度が影響を受けない。
【００３１】
ここで、データの書込みに際して、ストレージ制御部６は、温度検出部１０により検出されたＨＤＤ９の温度が、ＨＤＤ温度上限値以下であれば、データをＨＤＤ９へ書込む。一方、温度検出部１０により検出されたＨＤＤ９の温度が、ＨＤＤ温度上限値を超えるのであれば、ストレージ制御部６は、ＨＤＤ９へのデータの書込みを行わない。
【００３２】
ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えたことにより、ＨＤＤ９にデータの書込みが行えない場合には、ストレージ制御部６は、メインメモリ３の主バッファ４に一時的に記録されたデータを、副バッファ５に移動させて、副バッファ５にデータを書込む。そして、ストレージ制御部６が、副バッファ５へデータを移動させた後、ファン制御部２が制御する冷却ファン８により、ＨＤＤ９の温度をＨＤＤ温度上限値以下まで下げる。ＨＤＤ９の温度が、ＨＤＤ温度上限値以下に下がると、ストレージ制御部６は、副バッファ５から読み出したデータをＨＤＤ９へ書込む。
【００３３】
バス７は、情報処理装置１００の各部がデータを送受信するための共通の通信路である。
冷却ファン８は、ファン制御部２からの指示により回転又は停止する。冷却ファン８の回転により、ＨＤＤ温度上限値を超えたＨＤＤ９が冷却される。
【００３４】
ＨＤＤ９は、ＯＳの要求に応じてデータを記録する。
ＯＳから書込み要求があった場合、ストレージ制御部６により、メインメモリ３内の主バッファ４又は副バッファ５に記録されたデータがＨＤＤ９に書込まれる。
また、ＯＳから読込み要求があった場合、ストレージ制御部６により、ＨＤＤ９又は副バッファ５のデータを読み込む。
【００３５】
温度検出部１０は、常時、ＨＤＤ９の温度を検出しており、ＨＤＤ９がＨＤＤ温度上限値を超えたか否かを示す信号をファン制御部２又はストレージ制御部６へ送信する。例えば、温度検出部１０は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下の場合は「０」、ＨＤＤ温度上限値を超えた場合は「１」の信号を連続的に出力する。なお、ＨＤＤ９の温度がＨＤＤ温度上限値を超えたときのみ、温度検出部１０が「１」の信号を出力するようにしてもよい。
【００３６】
＜情報処理装置の処理例＞
次に、本発明の第１の実施の形態に係る情報処理装置１００の処理例を図２及び図３を参照して説明する。
図２は、第１の実施の形態に係る情報処理装置１００にて行われる第１主処理の例を示すフローチャートである。図２は、冷却ファン８により冷却中のＨＤＤ９に対して、ＯＳから書込み又は読込み要求があった場合にストレージ制御部６が行う書込み又は読込みの処理について示す。
【００３７】
ＯＳから書込み又は読込みの要求を受ける前は、ストレージ制御部６がＨＤＤ９へデータの書込みを行っていない。このため、ファン制御部２は冷却ファン８を回転させてＨＤＤ９を冷却している。
ストレージ制御部６は、ＯＳから書込み又は読込みの要求を受けると、図２の第１主処理に従った処理を開始する。
【００３８】
まず、ストレージ制御部６は、ＯＳから受け取った要求がＨＤＤ９へのデータの書込みであるか否かの確認を行う（Ｓ１）。ＯＳからの要求がＨＤＤ９へのデータの書込みである場合（Ｓ１のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９へ書込みを行うデータ（図中では、「書込みデータ」と記載する）が主バッファ４に残っているか否かを確認する（Ｓ２）。
【００３９】
ＨＤＤ９へ書込みを行うデータが主バッファ４に残っている場合（Ｓ２のＹＥＳ）、温度検出部１０は、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えているか否かの判定を行う（Ｓ３）。ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えていない場合（Ｓ３のＮＯ）、温度検出部１０は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下であることを示す信号を、ファン制御部２に送る。そして、ファン制御部２が冷却ファン８を停止させる（Ｓ９）。
【００４０】
ストレージ制御部６は、主バッファ４に記録されているデータのうち、規定サイズのデータ量（例えば、１ＭＢ（Mega Byte）のデータ）をＨＤＤ９へ書込む（Ｓ１０）。ストレージ制御部６がＨＤＤ９へデータを書込む時間が長く続くとＨＤＤ９の温度が、ＨＤＤ温度上限値を超えてしまう。このため、ストレージ制御部６がＨＤＤ９に一度に書込むデータ量を制限し、規定サイズのデータを書き込んだ後はステップＳ２へ戻る。
【００４１】
第１主処理のタスクにおいて、ステップＳ２のＹＥＳ、ステップＳ３のＮＯ、ステップＳ９及びステップＳ１０の一連の処理を「主バッファ４からのＨＤＤ書込み処理」と呼ぶ。主バッファ４からのＨＤＤ書込み処理は、ステップＳ３のＮＯが続く限り、主バッファ４に残っているデータをすべてＨＤＤ９に書込むまで繰り返される。ステップＳ２において、ＨＤＤ９へ書込みを行うデータが主バッファ４に残っていない場合（Ｓ２のＮＯ）、ＨＤＤ９への書込みが終わっているため、ファン制御部２は冷却ファン８を回転させてＨＤＤ９を冷却し（Ｓ８）、第１主処理を終了する。
【００４２】
ステップＳ３において、主バッファ４からのＨＤＤ書込み処理を繰り返した結果、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えている場合（Ｓ３のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９への書込みがまだ行われていない主バッファ４のデータを、副バッファ５に移動させる。このため、ストレージ制御部６は、主バッファ４に残っているデータを書込むための十分な空き領域が副バッファ５にあるか否かを確認する（Ｓ４）。
【００４３】
主バッファ４に残っているデータを書込むための十分な空き領域が副バッファ５にある場合（Ｓ４のＹＥＳ）、ストレージ制御部６は、主バッファ４に残っているデータを副バッファ５へ移動させ、図３の第１バッファ処理のタスクを起動させる（Ｓ７）。図３に示す第１バッファ処理は、ＨＤＤ温度上限値を超えたＨＤＤ９の温度が、冷却ファン８の回転によりＨＤＤ温度上限値以下まで低くなった場合に、副バッファ５に移動されたデータをＨＤＤ９に書き込むための処理である。図３の第１バッファ処理の詳細は、後述する。そして、ストレージ制御部６は、図３の第１バッファ処理を第１主処理と並行して実行する。
【００４４】
ステップＳ７において、ストレージ制御部６は、主バッファ４に記録されているデータを副バッファ５にすべて移動したことでＯＳから要求された書込みは完了したとみなされる。このため、ファン制御部２は、冷却ファン８を回転させＨＤＤ９を冷却し（Ｓ８）、第１主処理を終了する。
【００４５】
ステップＳ４にて、主バッファ４に残っているデータを書込むための十分な空き領域が副バッファ５にない場合（Ｓ４のＮＯ）、ファン制御部２が冷却ファン８を回転させてＨＤＤ９を冷却する（Ｓ５）。副バッファ５に空き領域がない状態とは、前回までの書込み要求により副バッファ５に書込まれたデータが、まだ副バッファ５に残っている状態である。図３の第１バッファ処理により、副バッファ５に残っているデータは、順にＨＤＤ９へ書き込まれていく。このため、ストレージ制御部６は、主バッファ４に残っているデータを副バッファ５へ移動できるだけの空き領域を確保するために、図３に示す第１バッファ処理が完了するまで待機する（Ｓ６）。その後、ステップＳ２に戻り、以降の処理を繰り返す。
【００４６】
ステップＳ１にて、ストレージ制御部６が、ＯＳからの要求をデータの書込みではないと確認した場合（Ｓ１のＮＯ）、ＯＳからの要求はデータの読込みであるため、ストレージ制御部６は、読込みを行うデータ（図中では、「読込みデータ」と記載する）が副バッファ５に記録されているか否かを確認する（Ｓ１１）。読込みを行うデータが副バッファ５に記録されている場合（Ｓ１１のＹＥＳ）、ストレージ制御部６は、副バッファ５からデータの読込みを行い（Ｓ１２）、第１主処理を終了する。また、読込みを行うデータが副バッファ５に記録されていない場合（Ｓ１１のＮＯ）、ストレージ制御部６は、ＨＤＤ９からデータの読込みを行い（Ｓ１３）、第１主処理を終了する。
【００４７】
図３は、第１の実施の形態に係る第１バッファ処理の例を示すフローチャートである。図３に示す第１バッファ処理は、第１主処理と並行して実行されるタスクである。図３に示す第１バッファ処理は、ストレージ制御部６が、ＨＤＤ９へ書込むデータを主バッファ４から副バッファ５へ移動させた後に行われる。
【００４８】
第１バッファ処理は、図２のステップＳ７にて、ストレージ制御部６が、ＨＤＤ９へ書込みが行われるデータを主バッファ４から副バッファ５へ移動した後に起動する。これにより、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えた場合であっても、第１主処理を停止することなく、ＨＤＤ９へのデータの書込みを最後まで行うことが可能となる。
【００４９】
また、図３の第１バッファ処理のタスクは、ＨＤＤ温度上限値を超えていたＨＤＤ９の温度が、ＨＤＤ温度上限値以下まで低くなったときに、副バッファ５に残っているデータをＨＤＤ９に書き込む処理である。
【００５０】
まず、ストレージ制御部６は、ＨＤＤ９へ書込みを行うデータが副バッファ５に残っているか否かを確認する（Ｓ２１）。副バッファ５にデータが残っている場合（Ｓ２１のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えるか否かを確認する（Ｓ２２）。
【００５１】
ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えていない場合（Ｓ２２のＮＯ）、ストレージ制御部６は、第１主処理のタスク、すなわち、ステップＳ１０で主バッファ４のデータをＨＤＤ９に書込みを実施しているか否かの確認を行う（Ｓ２４）。第１主処理で書込みを実施中である場合（Ｓ２４のＹＥＳ）、第１主処理により冷却ファン８は停止しているため、ストレージ制御部６は、第１バッファ処理を、第１主処理の書込み処理に割込ませる（Ｓ２５）。
【００５２】
ストレージ制御部６は、副バッファ５に記録されているデータのうち規定サイズ（例えば、１ＭＢ）のデータをＨＤＤ９へ書込む（Ｓ２６）。ステップＳ２６では、第１主処理のタスクと同様、書込み時間が長く続くとＨＤＤ９の温度が、ＨＤＤ温度上限値を超えてしまうため、規定サイズのデータを書き込んだ後はステップＳ２１へ戻る。その後、ストレージ制御部６が、以降の処理を行う。
【００５３】
ステップＳ２２において、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えている場合（Ｓ２２のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下になるまで待機する（Ｓ２３）。ステップＳ２３の時点では、第１主処理で書込みが行われていないか、又はステップＳ５で冷却ファン８の回転によるＨＤＤ９の冷却が行われている。このため、ステップＳ２３で待機している間にＨＤＤ９の温度が低下する。そして、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下になると、再び、ステップＳ２２に戻り、ストレージ制御部６が、以降の処理を行う。
【００５４】
ステップＳ２４において、第１主処理で書込みが実施中ではない場合（Ｓ２４のＮＯ）、第１主処理のタスクで読込みを実施中であるか否かの確認を行う（Ｓ２７）。第１主処理において、読込みを実施中の場合（Ｓ２７のＹＥＳ）、冷却ファン８が回転している状態のため、ストレージ制御部６は、第１主処理の読込みへ割り込む（Ｓ２８）。その後、ファン制御部２は、冷却ファン８を停止し（Ｓ２９）、ステップＳ２６へ進み、ストレージ制御部６が、以降の処理を行う。
【００５５】
また、ステップＳ２７において、第１主処理にて読込みを実施中ではない場合（Ｓ２７のＮＯ）、ファン制御部２は回転している冷却ファン８を停止させる（Ｓ２９）。その後、ステップＳ２６に進み、ストレージ制御部６が、以降の処理を行う。
また、ステップ２１において、書込みを行うデータが副バッファ５に残っていない場合（Ｓ２１のＮＯ）、第１バッファ処理を終了する。
【００５６】
以上説明した第１の実施の形態に係る情報処理装置１００では、ストレージ制御部６によりＨＤＤ９にデータが書込まれていない間、ファン制御部２が冷却ファン８を回転させてＨＤＤ９を冷却する。このため、ストレージ制御部６が、書込みを開始する際、ＨＤＤ９の温度が、既にＨＤＤ温度上限値に達しているということがなく、データ転送速度の低下を防ぐことができる。
【００５７】
また、ストレージ制御部６によりＨＤＤ９にデータが書込まれる間、ファン制御部２は、冷却ファン８の回転を停止させる。このため、ストレージ制御部６がＨＤＤ９へ書込みを行う際には、冷却ファン８の回転による振動の影響を受けることなく、磁気ヘッドの位置決めを速やかに行えるようになり、データ転送速度の低下を防ぐことができる。
【００５８】
また、書込みが続いてＨＤＤ９の温度がＨＤＤ温度上限値に達したことにより、ＨＤＤ９への書込みが停止すると、ＨＤＤ９に書込まれていないデータを一時的に副バッファ５の空き領域に移動させ、ＨＤＤ９が冷却された後、副バッファ５内のデータをＨＤＤ９に書込む。このため、書込みが続いた場合でも、主バッファ４又は副バッファ５からＨＤＤ９への書込みを順次行うことができるので、データ転送速度の低下を防ぐことができる。
【００５９】
［第２の実施の形態］
＜情報処理装置の構成例＞
次に、図４を参照して、本発明の第２の実施の形態に係る情報処理装置１００Ａの全体構成を説明する。
図４は、第２の実施の形態に係る情報処理装置１００Ａの構成例を示すブロック図である。
【００６０】
情報処理装置１００Ａには、第１の実施の形態で説明したストレージ制御部６がアクセス可能なＨＤＤ９の他に、ＳＳＤ１１（Solid State Drive：ディスクレス記録装置の一例）がアクセス可能に接続されている。ＳＳＤ１１は、半導体素子をメモリとして用いた記録装置であり、機械的な駆動部を有さない。このため、ストレージ制御部６が、ＳＳＤ１１に対して、データを高速で書込み又は読出すことが可能である。そして、ＳＳＤ１１は、メインメモリ３よりも記録可能な容量が大きい。このため、ＳＳＤ１１は、主バッファ４から副バッファ５へ書込むデータ量が多くなって、空き領域が不足してしまう事態を回避するために用いられる。つまり、ＨＤＤ９への書込みができない状況下において、ＨＤＤ９の代わりに用いるデータの記録先としてＳＳＤ１１が情報処理装置１００Ａに搭載される。
【００６１】
ＳＳＤ１１は、ＨＤＤ９よりも書込み及び読込み速度が速く、メインメモリ３よりも書込み及び読込み速度が遅い。このため、ストレージ制御部６が、メインメモリ３にデータの書込みが行えない場合、ストレージ制御部６は、データをＳＳＤ１１へ書込む。
【００６２】
上述したように、ＳＳＤ１１は、磁気ディスクとは違い振動の影響を受けない。このため、ＳＳＤ１１への書込みにおいて、冷却ファン８の回転に伴う振動によるデータ転送速度の低下は発生しない。また、ＳＳＤ１１は、副バッファ５と比較して、通常、容量が大きい。ＨＤＤ９への書込みができない状況下において、副バッファ５の空き領域より大きいデータを退避させておく場合でも、ＳＳＤ１１への書込みが可能となる。このため、後述する図５に示すステップＳ３７において、ＨＤＤ９への書込みを待機させる時間の減少にも繋がる。
【００６３】
ＳＳＤ１１に記録されたデータは、後述する図７に示す第２バッファ処理のタスクにより、ＨＤＤ９の温度が、ＨＤＤ温度上限値まで低くなったときに、ストレージ制御部６はＳＳＤ１１に記録されたデータをＨＤＤ９に書込む。
また、ストレージ制御部６は、読込みが要求されているデータが記録されているＨＤＤ９、ＳＳＤ１１又はメインメモリ３のいずれかからデータを読込むことができる。
【００６４】
＜情報処理装置の処理例＞
次に、本発明の第２の実施の形態に係る情報処理装置１００Ａの処理例を図５〜図７を参照して説明する。
図５及び図６は、第２の実施の形態に係る情報処理装置１００Ａにて行われる第２主処理の例を示すフローチャートである。図５及び図６は、冷却ファン８により冷却中のＨＤＤ９に対して、ＯＳから書込み又は読込み要求があった場合にストレージ制御部６が行う書込み又は読込みの処理について示す。
【００６５】
ＯＳから書込み又は読込みの要求を受ける前は、ストレージ制御部６がＨＤＤ９へデータの書込みを行っていない。このため、ファン制御部２は冷却ファン８を回転させてＨＤＤ９を冷却している。
第１の実施の形態と同様、ストレージ制御部６は、ＯＳから書込み又は読込みの要求を受けると、図５及び図６の第２主処理に従った処理を開始する。
【００６６】
まず、ストレージ制御部６は、ＯＳから受け取った要求がＨＤＤ９へのデータの書込みであるか否かの確認を行う（Ｓ３１）。ＯＳからの要求がＨＤＤ９へのデータの書込みである場合（Ｓ３１のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９へ書込みを行うデータ（図中では、「書込みデータ」と記載する）が主バッファ４に残っているかを確認する（Ｓ３２）。
【００６７】
ＨＤＤ９へ書込みを行うデータが主バッファ４に残っている場合（Ｓ３２のＹＥＳ）、温度検出部１０は、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えているか否かの判定を行う（Ｓ３３）。ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えていない場合（Ｓ３３のＮＯ）、温度検出部１０は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下であることを示す信号を、ファン制御部２に送る。そして、ファン制御部２が冷却ファン８を停止させる（Ｓ４１）。
【００６８】
ストレージ制御部６は、主バッファ４に記録されているデータのうち、規定サイズのデータ量（例えば、１ＭＢ）のデータをＨＤＤ９へ書込む（Ｓ４２）。ストレージ制御部６がＨＤＤ９へデータを書込む時間が長く続くとＨＤＤ９の温度が、ＨＤＤ温度上限値を超えてしまう。このため、第１の実施の形態と同様に、ストレージ制御部６がＨＤＤ９に一度に書込むデータ量を制限し、規定サイズのデータを書き込んだ後はステップＳ３２へ戻る。
【００６９】
第２主処理のタスクにおいても、ステップＳ３２のＹＥＳ、ステップＳ３３のＮＯ、ステップＳ４１及びステップＳ４２の一連の処理を「主バッファ４からのＨＤＤ書込み処理」と呼ぶ。主バッファ４からのＨＤＤ書込み処理は、ステップＳ３３のＮＯが続く限り、主バッファ４に残っているデータをすべてＨＤＤ９に書込むまで繰り返される。ステップＳ３２において、ＨＤＤ９へ書込みを行うデータが主バッファ４に残っていない場合（Ｓ３２のＮＯ）、ＨＤＤ９への書込みが終わっているため、ファン制御部２は冷却ファン８を回転させてＨＤＤ９を冷却し（Ｓ４０）、第２主処理を終了する。
【００７０】
また、主バッファ４からのＨＤＤ書込み処理を繰り返した結果、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えている場合（Ｓ３３のＹＥＳ）、ＨＤＤ９への書込みがまだ行われていない主バッファ４のデータは、一旦、副バッファ５に移動させる。このため、ストレージ制御部６は、主バッファ４に残っているデータを書込むための十分な空き領域が副バッファ５にあるか否かを確認する（Ｓ３４）。
【００７１】
主バッファ４に残っているデータを書込むための十分な空き領域が副バッファ５にある場合（Ｓ３４のＹＥＳ）、ストレージ制御部６は、主バッファ４に残っているデータを副バッファ５へ移動させ、図７の第２バッファ処理のタスクを起動させる（Ｓ３９）。図７に示す第２バッファ処理は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下まで低くなった場合、副バッファ５又はＳＳＤ１１に移動されたデータをＨＤＤ９に書き込むための処理である。図７の第２バッファ処理の詳細は、後述する。そして、ストレージ制御部６は、図７の第２バッファ処理を第２主処理と並行して実行する。
【００７２】
ステップＳ３９において、ストレージ制御部６は、主バッファ４に記録されているデータを副バッファ５にすべて移動したことでＯＳから要求された書込みは完了したとみなされる。このため、ファン制御部２は、冷却ファン８を回転させＨＤＤ９を冷却し（Ｓ４０）、第２主処理を終了する。
【００７３】
ステップＳ３４にて、主バッファ４に残っているデータを書込むための十分な空き領域が副バッファ５にない場合（Ｓ３４のＮＯ）、ストレージ制御部６は、主バッファ４に残っているデータを書込むための十分な空き領域がＳＳＤ１１にあるか否かを確認する（Ｓ３５）。
【００７４】
主バッファ４に残っているデータを書込むための十分な空き領域がＳＳＤ１１にある場合（Ｓ３５のＹＥＳ）、ストレージ制御部６は、主バッファ４に残っているデータをＳＳＤ１１へ移動させ、図７の第２バッファ処理のタスクを起動させる（Ｓ３８）。そして、ストレージ制御部６は、図７の第２バッファ処理を第２主処理と並行して実行する。
【００７５】
ステップＳ３８において、ストレージ制御部６は、主バッファ４に記録されているデータをＳＳＤ１１にすべて移動したことでＯＳから要求された書込みは完了したとみなす。このため、ファン制御部２は、冷却ファン８を回転させＨＤＤ９を冷却し（Ｓ４０）、第２主処理を終了する。
【００７６】
ステップＳ３５にて、主バッファ４に残っているデータを書込むための十分な空き領域がＳＳＤ１１にない場合（Ｓ３５のＮＯ）、ファン制御部２が冷却ファン８を回転させてＨＤＤ９を冷却する（Ｓ３６）。ＳＳＤ１１に空き領域がない状態とは、前回までの書込み要求によりＳＳＤ１１に書込まれたデータが、まだＳＳＤ１１に残っていることを表す。図７の第２バッファ処理により、ＳＳＤ１１に残っているデータが、順にＨＤＤ９へ書き込まれていく。このため、ストレージ制御部６は、主バッファ４に残っているデータをＳＳＤ１１へ移動できるだけの空き領域を確保するために、図７に示す第２バッファ処理が完了するまで待機する（Ｓ３７）。その後、ステップＳ３２に戻り、ストレージ制御部６が、以降の処理を行う。
【００７７】
ステップＳ３１にて、ストレージ制御部６が、ＯＳからの要求をデータの書込みではないと確認した場合（Ｓ３１のＮＯ）、ＯＳからの要求はデータの読込みであるため、ストレージ制御部６は、読込みを行うデータ（図中では、「読込みデータ」と記載する）が副バッファ５に記録されているか否かを確認する（Ｓ４３）。読込みを行うデータが副バッファ５にある場合（Ｓ４４のＹＥＳ）、ストレージ制御部６は、副バッファ５からデータの読込みを行い（Ｓ４４）、第２主処理を終了する。
【００７８】
また、読込みを行うデータが副バッファ５に記録されていない場合（Ｓ４３のＮＯ）、ストレージ制御部６は、読込みを行うデータがＳＳＤ１１に記録されているか否かを確認する（Ｓ４５）。読込みを行うデータがＳＳＤ１１に記録されている場合（Ｓ４５のＹＥＳ）、ストレージ制御部６は、ＳＳＤ１１からデータの読込みを行い（Ｓ４６）、第２主処理を終了する。読込みを行うデータがＳＳＤ１１に記録されていない場合（Ｓ４５のＮＯ）、ストレージ制御部６は、ＨＤＤ９からデータの読込みを行い（Ｓ４７）、第２主処理を終了する。
【００７９】
図７は、第２の実施の形態に係る第２バッファ処理の例を示すフローチャートである。図７に示す第２バッファ処理は、第２主処理と並行して実行されるタスクである。図７に示す第２バッファ処理は、ストレージ制御部６が、ＨＤＤ９へ書込むデータを主バッファ４から副バッファ５又はＳＳＤ１１へ移動させた後に行われる。
【００８０】
第２バッファ処理は、図５のステップＳ３８又はＳ３９にて、ストレージ制御部６が、ＨＤＤ９へ書込みが行われるデータを主バッファ４から副バッファ５又はＳＳＤ１１へ移動した後に起動する。これにより、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えた場合であっても、第２主処理を停止することなく、ＨＤＤ９へのデータの書込みを最後まで行うことが可能となる。
【００８１】
また、図７の第２バッファ処理のタスクは、ＨＤＤ温度上限値を超えていたＨＤＤ９の温度が、ＨＤＤ温度上限値以下まで低くなったときに、副バッファ５又はＳＳＤ１１に残っているデータをＨＤＤ９に書き込む処理である。
【００８２】
まず、ストレージ制御部６は、ＨＤＤ９へ書込みを行うデータが副バッファ５又はＳＳＤ１１に残っているか否かを確認する（Ｓ５１）。副バッファ５又はＳＳＤ１１にデータが残っている場合（Ｓ５１のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えるか否かを確認する（Ｓ５２）。
【００８３】
ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えていない場合（Ｓ５２のＮＯ）、ストレージ制御部６は、第２主処理のタスク、すなわち、ステップＳ４２で主バッファ４のデータをＨＤＤ９に書込みを実施しているか否かの確認を行う（Ｓ５４）。第２主処理で書込みを実施中である場合（Ｓ５４のＹＥＳ）、第２主処理により冷却ファン８は停止しているため、ストレージ制御部６は、第２バッファ処理を、第２主処理の書込み処理に割込ませる（Ｓ５５）。
【００８４】
ストレージ制御部６は、副バッファ５又はＳＳＤ１１に記録されているデータのうち規定サイズ（例えば、１ＭＢ）のデータをＨＤＤ９へ書込む（Ｓ５６）。ステップＳ５６では、第２主処理のタスクと同様、書込み時間が長く続くとＨＤＤ９の温度が、ＨＤＤ温度上限値を超えてしまうため、規定サイズのデータを書き込んだ後はステップＳ５１へ戻る。その後、ストレージ制御部６が、以降の処理を行う。
【００８５】
ステップＳ５２において、ＨＤＤ９の温度が、ＨＤＤ温度上限値を超えている場合（Ｓ５２のＹＥＳ）、ストレージ制御部６は、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下になるまで待機する（Ｓ５３）。ステップＳ５３の時点では、第２主処理で書込みが行われていない、又はステップＳ３６で冷却ファン８の回転によるＨＤＤ９の冷却が行われている。このため、ステップＳ５３で待機している間にＨＤＤ９の温度が低下する。そして、ＨＤＤ９の温度が、ＨＤＤ温度上限値以下になると、再び、ステップＳ５２に戻り、ストレージ制御部６が、以降の処理を行う。
【００８６】
ステップＳ５４において、第２主処理で書込みが実施中ではない場合（Ｓ５４のＮＯ）、第２主処理のタスクで読込みを実施中であるか否かの確認を行う（Ｓ５７）。第２主処理において、読込みを実施中の場合（Ｓ５７のＹＥＳ）、冷却ファン８が回転している状態のため、ストレージ制御部６は、第２主処理の読込みへ割り込む（Ｓ５８）。その後、ファン制御部２は、冷却ファン８を停止し（Ｓ５９）、ステップＳ５６へ進み、ストレージ制御部６が、以降の処理を行う。
【００８７】
また、ステップＳ５７において、第２主処理にて読込みを実施中ではない場合（Ｓ５７のＮＯ）、ファン制御部２は回転している冷却ファン８を停止させる（Ｓ５９）。その後、ステップ５６へ進み、ストレージ制御部６が、以降の処理を行う。
また、ステップ５１において、書込みを行うデータが副バッファ５又はＳＳＤ１１に残っていない場合（Ｓ５１のＮＯ）、第２バッファ処理を終了する。
【００８８】
以上説明した第２の実施の形態に係る情報処理装置１００Ａでは、第１の実施の形態において、主バッファ４に記録されたデータの移動先として、副バッファ５の空き領域が不足していた場合、データの移動先を副バッファ５からＳＳＤ１１に代えることができる。このため、書込みが連続する場合、主バッファ４に記録されたデータをより容量の大きいＳＳＤ１１へ移動することで、データの転送速度の低下を防ぐことができる。
【００８９】
［変形例］
なお、情報処理装置１００，１００Ａでは、ＤＭＡ（Direct Memory Access）方式でデータ転送を行ってもよい。ＤＭＡ方式は、ＣＰＵ１を介することなく、情報処理装置１００，１００Ａ内の各部（例えば、ＨＤＤ９）とメインメモリ３とがデータ転送を行うための方式である。ＤＭＡ方式を採用することにより、例えば、温度検出部１０がＨＤＤ９の温度を検出すると、ＣＰＵ１の指示を受けることなく温度検出部１０が、ストレージ制御部６又はファン制御部２に信号を直接送信することができる。
【００９０】
なお、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態は本発明を分かりやすく説明するために装置の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態の構成の一部を他の実施の形態の構成に置き換えることは可能であり、さらにはある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００９１】
１…ＣＰＵ、２…ファン制御部、３…メインメモリ、４…主バッファ、５…副バッファ、６…ストレージ制御部、７…バス、８…冷却ファン、９…ＨＤＤ、１０…温度検出部、１００…情報処理装置
【図１】
2019145193.tif 000003
【図２】
2019145193.tif 000004
【図３】
2019145193.tif 000005
【図４】
2019145193.tif 000006
【図５】
2019145193.tif 000007
【図６】
2019145193.tif 000008
【図７】
2019145193.tif 000009