(57)【要約】      （修正有）【課題】振動を検出する情報処理装置を提供する。【解決手段】情報処理装置１００は、加速度センサ４１と、第１の記憶装置であるＲＡＭ２０と、処理装置であるＣＰＵ１０と、ハードディスクドライブ３０とを備える。加速度センサは、加速度を所定周期で検出する。第ＲＡＭには、加速度センサが所定周期で検出した加速度の検出値が複数格納される。ＣＰＵは、処理部１１で取得時期が連続した検出値の組についてパワースペクトル密度の分布を取得する周波数分析を、異なる複数の検出値の組について複数回実行する。そして、ＣＰＵは、所定第１の閾値を超えたパワースペクトル密度が同じ周波数について連続して検出された場合に、所定の信号を出力する。【選択図】図２
2020155169.tif 000002
【特許請求の範囲】
【請求項１】
加速度を所定周期で検出するセンサと、
前記センサが前記所定周期で検出した前記加速度の検出値が複数格納される第１の記憶装置と、
取得時期が連続した前記検出値の組についてパワースペクトル密度の分布を取得する周波数分析を、異なる前記複数の検出値の組について複数回実行し、所定第１の閾値を超えたパワースペクトル密度が同じ周波数について連続して検出された場合に、所定の信号を出力する処理装置と、
を備える情報処理装置。
【請求項２】
前記処理装置は、所定第２の閾値を超えた加速度が検出された場合に前記周波数分析を実行する、
請求項１に記載の情報処理装置。
【請求項３】
前記処理装置は、前記所定第１の閾値を超えたパワースペクトル密度が前記同じ周波数について所定時間よりも短い間隔で連続して検出された場合に、前記所定の信号を出力する、
請求項２に記載の情報処理装置。
【請求項４】
前記処理装置は、前記所定第１の閾値を超えたパワースペクトル密度が前記同じ周波数について所定数、連続して検出された場合に、前記所定の信号を出力する、
請求項３に記載の情報処理装置。
【請求項５】
第２の記憶装置をさらに備え、
前記処理装置は、パワースペクトル密度の分布が前記所定時間よりも短い間隔で取得された場合に、当該分布を前記第２の記憶装置に格納し、前記所定数の分布が前記第２の記憶装置に格納された場合に、前記第２の記憶装置に格納された前記所定数の分布の全てにおいてパワースペクトル密度が前記所定第１の閾値を超えた周波数の検出を実行する、
請求項４に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置には、不揮発性の記憶装置として、ハードディスクドライブが搭載されることがある。ハードディスクドライブは、高速回転させた磁気ディスクに対して、磁気ヘッドを使いデータの読み書きを行う、不揮発性の記憶装置である。ハードディスクドライブは、例えば落下時などに発生する強い衝撃によって、磁気ディスクまたは磁気ヘッドを損傷する恐れがある。
【０００３】
衝撃による物理的な損傷を回避するための機能として、ハードディスクドライブは、例えば、リトラクト機能を有している。リトラクト機能は、加速度センサによって強い衝撃を検出した際に磁気ヘッドを安全な位置へ退避させる機能である。
【０００４】
このように、従来、情報処理装置は、機能の損傷を引き起こし得るような強い衝撃を検出する仕組みを有する場合があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２８７８１５号公報
【特許文献２】特開２０１７−１６１３８４号公報
【特許文献３】国際公開第２０１３／１９０７２８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
振動が３０秒などの長い期間にわたって続くと、情報処理装置の機能が損傷する場合がある。しかしながら、従来の情報処理装置は、振動を検出していなかった。したがって、情報処理装置は、振動による損傷を回避する処置を講じることができなかった。
【０００７】
一つの実施形態は、振動を検出することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施形態によれば、センサと、第１の記憶装置と、処理装置と、を備える。センサは、加速度を所定周期で検出する。第１の記憶装置には、センサが所定周期で検出した加速度の検出値が複数格納される。処理装置は、取得時期が連続した前記検出値の組についてパワースペクトル密度の分布を取得する周波数分析を、異なる前記複数の検出値の組について複数回実行する。そして、処理装置は、所定第１の閾値を超えたパワースペクトル密度が同じ周波数について連続して検出された場合に、所定の信号を出力する。
【図面の簡単な説明】
【０００９】
【図１】図１は、ハードディスクドライブを３０秒の振動に曝した場合にハードディスクドライブに代替セクタ処理を開始せしめるための振動の強度を示す例示的かつ模式的なグラフである。
【図２】図２は、実施形態にかかる情報処理装置の構成を示す例示的かつ模式的な図である。
【図３】図３は、実施形態にかかる加速度センサＩＣに具備されるデータバッファの構成を示す例示的かつ模式的な図である。
【図４】図４は、実施形態にかかるセンサ制御回路によってサンプリングされた一連の加速度検出値について説明するための例示的かつ模式的な図である。
【図５】図５は、実施形態にかかるＦＦＴ分析部によって得られる１つのスペクトルデータの構成を説明するための例示的かつ模式的なグラフである。
【図６】図６は、実施形態にかかるスペクトルデータ群の構成を説明するための例示的かつ模式的な図である。
【図７】図７は、実施形態にかかるスペクトルデータを取得する処理の一例を具体的に説明するための例示的かつ模式的なフローチャートである。
【図８】図８は、実施形態にかかるＦＦＴ処理の対象とされる加速度検出値を説明するための例示的かつ模式的な図である。
【図９】図９は、実施形態にかかる各スペクトルデータに基づいて実行される振動を検出したか否かの判定の動作を説明するための例示的かつ模式的なフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、実施形態にかかる情報処理装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１１】
（実施形態）
ハードディスクドライブは、衝撃への対策としては、上述したリトラクト機能のほかに、代替セクタ処理を実行する機能を有する。代替セクタ処理は、損傷したと判定されたセクタを、冗長領域が有するセクタで代替する処理である。
【００１２】
図１は、ハードディスクドライブを３０秒の振動に曝した場合にハードディスクドライブに代替セクタ処理を開始せしめるための振動の強度を示す例示的かつ模式的なグラフである。このグラフの縦軸は、振動の強度を示す情報として、加速度を示している。また、このグラフの横軸は周波数を示している。
【００１３】
ハードディスクドライブは、厚さをもった略直方体の形状を有している。図１の説明では、ハードディスクドライブの長手方向をＸ軸方向とし、ハードディスクドライブの短手方向をＹ軸方向とし、ハードディスクドライブの厚さ方向をＺ軸方向としている。そして、ハードディスクドライブをＹ軸方向の振動に曝した場合と、ハードディスクドライブをＺ軸方向の振動に曝した場合と、のそれぞれにおいて、代替セクタ処理を開始せしめるための振動の強度が図示されている。
【００１４】
図１に示されるように、ハードディスクドライブがＹ軸方向の振動に曝された場合には、１キロヘルツから２キロヘルツにかけて、代替セクタ処理を引き起こす衝撃の強度が、周波数の増加に応じて小さくなっている。また、Ｚ軸方向の振動に関しては、周波数が１キロヘルツ程度である場合には、代替セクタ処理を引き起こすためには比較的強い振動を要するが、周波数が２キロヘルツから６キロヘルツの範囲ではごく弱い振動であっても代替セクタ処理が引き起こされている。
【００１５】
つまり、衝撃として検出されないような強度が弱い振動であっても、３０秒などの長い期間にわたって受けると、そのセクタが使えなくなることがある。
【００１６】
実施形態では、振動を検出することができる仕組みを有する情報処理装置について説明する。リトラクト機能に使用される通常の衝撃検知用の加速度センサを利用して、衝撃として検出されないような強度が弱い振動を検出できるようにする。これによって、新たにセンサを増やさなくても、弱い振動を検出できるようにする。なお、本明細書では、振動とは、単発の衝撃ではなく、時間的に連続して加振されている状態をいうこととする。
【００１７】
図２は、実施形態にかかる情報処理装置１００の構成を示す例示的かつ模式的な図である。情報処理装置１００は、ＣＰＵ（Central  Processing  Unit）１０、ＲＡＭ（Random  Access  Memory）２０、ハードディスクドライブ３０、および加速度センサＩＣ（Integrated  Circuit）４０を備える。ＣＰＵ１０、ＲＡＭ２０、ハードディスクドライブ３０、および加速度センサＩＣ４０は、バスに電気的に接続されている。
【００１８】
ハードディスクドライブ３０は、不揮発性の記憶装置である。ハードディスクドライブ３０には、例えば、情報処理装置１００の使用目的に応じた、種々のプログラムまたは種々のデータが格納され得る。
【００１９】
なお、ハードディスクドライブ３０は、振動を受けると機能を損傷する場合がある部品の一例である。本実施形態では、ハードディスクドライブ３０が受ける振動を検出することを目的とした場合について説明するが、振動の検出の対象はハードディスクドライブ３０のみに限定されない。本実施形態は、ハードディスクドライブ３０以外の部品が受ける振動を検出することを目的とした場合であっても適用可能であるし、情報処理装置１００自身が受ける振動を検出することを目的とした場合であっても適用可能である。
【００２０】
加速度センサＩＣ４０は、所定周期で加速度を検出するセンサである。加速度センサＩＣ４０は、例えばハードディスクドライブ３０の近傍に設置され、ハードディスクドライブ３０が受けた衝撃を、加速度として検出することができる。なお、加速度センサＩＣ４０の設置位置は、これに限定されない。加速度センサＩＣ４０は、振動の検出の対象の部品の近傍に設置され得る。
【００２１】
加速度センサＩＣ４０は、より詳しくは、加速度センサ４１と、データバッファ４２と、センサ制御回路４３と、を備える。
【００２２】
加速度センサ４１は、加速度を検出して、加速度検出値を出力する。加速度センサ４１が加速度を検出できる方向（軸）の数は、特定の数に限定されない。例えば、１軸加速度センサ、３軸加速度センサ、６軸加速度センサ、などが加速度センサ４１として採用され得る。
【００２３】
センサ制御回路４３は、加速度センサ４１から所定のサンプリング周期で加速度検出値を取得して、取得した加速度検出値を逐次、データバッファ４２に格納する。サンプリング周期としては、例えば数キロヘルツの加速度の変動を観測できるように、比較的短い周期が設定されている。なお、センサ制御回路４３が、加速度センサ４１から加速度検出値を取得して、取得された加速度検出値をデータバッファ４２に格納する動作を、サンプリング、と表記する。
【００２４】
データバッファ４２は、複数個のレジスタＲによって構成され、各レジスタＲには１回のサンプリングによって取得された加速度検出値が格納される。つまり、データバッファ４２には、所定周期で取得された加速度検出値が複数、格納される。なお、データバッファ４２は、第１の記憶装置の一例である。
【００２５】
ＲＡＭ２０は、プログラムの展開領域またはデータの一時的な保存領域をＣＰＵ１０に提供する、揮発性の記憶装置である。ＲＡＭ２０は、例えば、ＳＲＡＭ（Static  Random  Access  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）、またはこれらの組み合わせによって構成され得る。なお、ＲＡＭ２０を構成する記憶装置の種類はこれらに限定されない。なお、ＲＡＭ２０は、第２の記憶装置の一例である。
【００２６】
ＣＰＵ１０は、プログラムを実行することができるハードウェア回路である。ＣＰＵ１０は、プログラムに基づき、処理部１１として機能する。処理部１１は、ＦＦＴ（Fast  Fourier  Transform）分析部１２と、振動判定部１３と、を備える。
【００２７】
一例では、プログラムは、ハードディスクドライブ３０に予め格納されている。ＣＰＵ１０は、ハードディスクドライブ３０に格納されているプログラムをＲＡＭ２０にロードして、ＲＡＭ２０にロードされたプログラムに基づいて処理部１１としての機能を実現する。
【００２８】
なお、ＣＰＵ１０は、処理装置の一例である。
【００２９】
処理部１１は、連続してサンプリングされた複数の加速度検出値、換言すると、取得時期が連続する加速度検出値の組、をデータバッファ４２から取得する。そして、処理部１１は、取得された複数の加速度検出値をＦＦＴ分析部１２に入力する。
【００３０】
ＦＦＴ分析部１２は、入力された複数の加速度検出値についてＦＦＴ処理を実行することによって、パワースペクトル密度の分布を示すスペクトルデータ２１を生成する。なお、ＦＦＴ処理は、周波数分析の一例である。
【００３１】
スペクトルデータ２１は、例えばＲＡＭ２０に格納される。それぞれ異なるタイミングで連続して得られた複数のスペクトルデータ２１がＲＡＭ２０に格納された場合、当該複数のスペクトルデータ２１は、パワースペクトル密度の時間的な変化を示す情報として見なされ得る。以降では、それぞれ異なるタイミングで連続して得られた複数のスペクトルデータ２１を、スペクトルデータ群２２と表記することがある。
【００３２】
振動判定部１３は、スペクトルデータ群２２に基づいて、所定の閾値（閾値Ｔｄ）を超えたパワースペクトル密度が同じ周波数について連続して検出されたか否かを判定する。所定の閾値（閾値Ｔｄ）を超えたパワースペクトル密度が同じ周波数について連続して検出された場合、振動判定部１３は、振動が検出されたとみなして、所定の信号を出力する。
【００３３】
所定の信号は、任意に構成され得る。実施形態では、所定の信号を出力することの一例として、振動判定部１３は、振動が検出された旨の判定結果をＲＡＭ２０に格納する。
【００３４】
なお、振動判定部１３は、所定の閾値（閾値Ｔｄ）を超えたパワースペクトル密度が同じ周波数について連続して検出されなかった場合には、振動が検出されなかった旨の判定結果をＲＡＭ２０に格納する。
【００３５】
図３は、実施形態にかかる加速度センサＩＣ４０に具備されるデータバッファ４２の構成を示す例示的かつ模式的な図である。本図の例では、データバッファ４２は、ｎ＋１個のレジスタＲを備える。ｎ＋１個のレジスタＲのそれぞれは、０からｎまでの範囲の整数のレジスタ番号によって識別されることとする。以降では、レジスタ番号がｉ（ただしｉは０からｎまでの整数）であるレジスタＲを、レジスタＲｉと表記する。
【００３６】
各レジスタＲには、加速度検出値と、当該加速度情報が取得された時刻と、が格納される。なお、図３の例では、加速度センサ４１は、ＸＹＺ軸方向の加速度を検出する３軸加速度センサであることとしている。よって、１つのレジスタＲに格納される１個の加速度検出値は、Ｘ軸方向の加速度検出値と、Ｙ軸方向の加速度検出値と、Ｚ軸方向の加速度検出値と、を含んでいる。なお、ＸＹＺ軸方向は、ハードディスクドライブ３０の長手方向、短手方向、および厚さ方向と対応していてもよいし、対応していなくてもよい。
【００３７】
レジスタＲに格納される加速度検出値の構成は、上記に限定されない。例えば、加速度センサ４１として６軸加速度センサが採用される場合には、１つのレジスタＲに格納される１個の加速度検出値は、６軸分の加速度検出値を含み得る。また、加速度検出値として、所定の複数の軸分の加速度検出値から得られる合成値が１つのレジスタＲに格納されてもよい。また、特定の軸の成分が衝撃に顕著に反応することが判明している場合には、当該特定の軸の成分のみが各レジスタＲに格納されてもよい。
【００３８】
センサ制御回路４３は、（ｎ＋１）個のレジスタＲを、ＦＩＦＯ（First  In,  First  Out）メモリとして使用する。これによって、（ｎ＋１）回以上のサンプリングが連続して実行された場合、データバッファ４２は、最も新しくサンプリングされた（ｎ＋１）個の加速度検出値を保持することができる。
【００３９】
図４は、実施形態のセンサ制御回路４３によってサンプリングされた一連の加速度検出値について説明するための例示的かつ模式的な図である。
【００４０】
図４の（Ａ）は、１キロヘルツの振動の波形の一例を説明するためのグラフである。縦軸は加速度（g）、横軸は経過時間（sec）を示している。本図に示されるように、この例によれば、１キロヘルツの振動は、１ミリ秒の周期の正弦波として表されている。
【００４１】
図４の（Ｂ）は、図４の（Ａ）に示される振動が情報処理装置１００に与えられた場合に、連続してサンプリングされた複数の加速度検出値を示すグラフである。本図において、縦軸は所定軸方向にかかる加速度検出値（g）を示しており、横軸は、サンプリング回数を示している。
【００４２】
図４の（Ｂ）の例では、センサ制御回路４３のサンプリング周期がおよそ０．２５ミリ秒に設定されていることとしている。点線は、加速度検出値を接続して得られる、加速度検出値の推移を示すものである。サンプリング周期がおよそ０．２５ミリ秒であることを鑑みれば、この点線が示す推移は、図４の（Ａ）に示される加速度の推移とおよそ一致することがわかる。
【００４３】
図５は、図４の（Ｂ）に示される連続してサンプリングされた複数の加速度検出値から実施形態にかかるＦＦＴ分析部１２によって得られる１つのスペクトルデータ２１の構成を説明するための例示的かつ模式的なグラフである。本グラフにおいて、縦軸はパワースペクトル密度（Power  Spectral  Density:ＰＳＤ）を示しており、縦軸に示されるＰＳＤの単位は((m/s2)2/Hz)である。横軸は周波数（Hz）を示している。
【００４４】
図５の例では、１つのスペクトルデータ２１は、０ヘルツから６キロヘルツまでの範囲を２４等分して得られる２５個の周波数帯のそれぞれにかかるＰＳＤを含んでいる。そして、１キロヘルツの周波数帯において、ＰＳＤのピークが形成されている。このことは、与えられた振動は、１キロヘルツを主成分とする振動であることを示している。
【００４５】
図６は、実施形態にかかるスペクトルデータ群２２の構成を説明するための例示的かつ模式的な図である。
【００４６】
本図に示されるように、スペクトルデータ群２２は、複数のスペクトルデータ２１を含む。各スペクトルデータ２１は、スペクトルデータ２１が取得された時刻と、複数の周波数（Ｆ１、Ｆ２、・・・、Ｆｍ）のそれぞれにかかる３軸分のＰＳＤと、を含んでいる。複数の周波数（Ｆ１、Ｆ２、・・・、Ｆｍ）は、それぞれ異なる周波数帯の代表値であり、図５の例に従えば、０ヘルツから６キロヘルツまでの範囲を２４等分して得られる２５個の周波数帯に対応する。
【００４７】
なお、ここでは、加速度センサ４１が加速度を検出可能な軸毎にＰＳＤが各スペクトルデータ２１に含まれている例を説明したが、スペクトルデータ２１に含まれるＰＳＤの構成はこれに限定されない。所定の複数の軸にかかるＰＳＤから得られた合成値が各スペクトルデータ２１に含まれていてもよいし、所定の１つの軸にかかるＰＳＤのみがスペクトルデータ２１に含まれていてもよい。
【００４８】
続いて、実施形態にかかる情報処理装置１００の動作を説明する。
【００４９】
図７は、実施形態にかかるスペクトルデータ２１を取得する処理の一例を具体的に説明するための例示的かつ模式的なフローチャートである。
【００５０】
加速度センサＩＣ４０では、センサ制御回路４３は、加速度検出値のサンプリングタイミングが到来すると（Ｓ１０１）、加速度検出値を加速度センサ４１から取得して、取得した加速度検出値をデータバッファ４２内の空きレジスタＲに格納する（Ｓ１０２）。つまり、センサ制御回路４３は、サンプリングを実行する。なお、Ｓ１０２では、センサ制御回路４３は、加速度検出値とともに加速度検出値を取得した時刻を空きレジスタＲに格納する。
【００５１】
センサ制御回路４３は、例えば、レジスタ番号順に加速度検出値を格納する。レジスタＲ０からレジスタＲｉまで情報が格納されており、レジスタＲ（ｉ＋１）からレジスタＲｎまでが空きレジスタＲである場合には、Ｓ１０２では、センサ制御回路４３は、空きレジスタＲのうちのレジスタ番号が最も若いレジスタＲであるレジスタＲ（ｉ＋１）に加速度検出値および取得時刻を格納する。
【００５２】
続いて、センサ制御回路４３は、Ｓ１０２によって格納された加速度検出値（より正確には、加速度検出値の絶対値）は、所定の閾値Ｔａよりも大きいか否かを判定する（Ｓ１０３）。閾値Ｔａは、ゼロ以上の実数である。
【００５３】
この実施形態では、一例として、加速度検出値が閾値Ｔａよりも大きいことを、処理部１１がデータバッファ４２から複数の加速度検出値を取得する処理のトリガ条件としている。加速度検出値が閾値Ｔａよりも大きいことが満たされない場合、振動を検出したか否かの判定まで処理が進まない。したがって、閾値Ｔａとしては、ハードディスクドライブ３０の機能の損傷を引き起こし得る振動の加速度の下限値に対応した値が予め設定される。当該下限値が閾値Ｔａとして設定されてもよいし、当該下限値から所定値だけオフセットして得られる値が閾値Ｔａとして設定されてもよい。
【００５４】
なお、前述したように、衝撃として検知されないような弱い加速度の振動であっても、連続して与えられた場合には機能の損傷を引き起こす場合がある。よって、１回の衝撃で機能の損傷を起こし得る当該衝撃の加速度の下限値よりも小さい値が、閾値Ｔａとして設定される。
【００５５】
なお、Ｓ１０３の判定の対象は、所定の１つの軸にかかる加速度検出値であってもよいし、所定の複数の軸にかかる加速度検出値であってもよい。また、所定の複数の軸にかかる加速度検出値から得られた合成値であってもよい。所定の複数の軸にかかる加速度検出値がＳ１０３の判定の対象とされる場合、当該所定の複数の軸にかかる加速度検出値の全てが閾値Ｔａより大きい場合にＹｅｓと判定されてもよいし、当該所定の複数の軸にかかる加速度検出値のうちの１つでも閾値Ｔａより大きい場合にＹｅｓと判定されてもよい。
【００５６】
なお、センサ制御回路４３は、Ｓ１０３では、加速度検出値と閾値Ｔａとの比較に加えて、衝撃を検出する処理を実行してもよい。例えば、センサ制御回路４３は、加速度検出値と、１回の衝撃で機能の損傷を起こし得る加速度に対応した衝撃検出用の閾値と、を比較して、加速度検出値が衝撃検出用の閾値を越えた場合には、衝撃を検出した旨の通知を出力してもよい。衝撃検出用の閾値は、例えば閾値Ｔａよりも大きい。衝撃を検出する場合、衝撃が検出されたか否かの判断が実施される時間帯がデッドタイムになり、これによってサンプリング周期の下限が決まってしまう。しかしながら、そのような場合であっても、ＦＦＴ処理によって数キロヘルツの加速度の変動を観測できる程度までサンプリング周期を短くすることができれば、実施形態の処理によって振動を検出することができる。
【００５７】
Ｓ１０２によって格納された加速度検出値が閾値Ｔａよりも大きくない場合（Ｓ１０３：Ｎｏ）、センサ制御回路４３は、データバッファ４２に空きレジスタＲが有るか否かを判定する（Ｓ１０４）。
【００５８】
データバッファ４２に空きレジスタＲが有る場合（Ｓ１０４：Ｎｏ）、制御がＳ１０１に移行する。
【００５９】
データバッファ４２に空きレジスタＲが無い場合（Ｓ１０４：Ｎｏ）、センサ制御回路４３は、データバッファ４２に保持されている加速度検出値のうちの最も古くにサンプリングされた加速度検出値を削除する（Ｓ１０５）。これによって、空きレジスタＲが生成される。
【００６０】
Ｓ１０５では、センサ制御回路４３は、例えば、各レジスタＲの内容を、レジスタ番号が１つ分だけ若番のレジスタＲに移動させることによって、レジスタＲｎを空きレジスタＲとすることができる。そして、レジスタＲ０に保持されていた加速度検出値、すなわち最も古くにサンプリングされた加速度検出値は、自動的に失われる。この処理は、レジスタＲ０〜レジスタＲｎによってシフトレジスタを構成し、センサ制御回路４３がレジスタＲ０〜レジスタＲｎに対してシフト処理を実行することによって、実現できる。
【００６１】
なお、各情報をレジスタ番号順に格納し、レジスタＲ０〜Ｒｎが一杯になったら各レジスタＲの内容をレジスタ番号が１つ分だけ若番のレジスタＲに移動させることによって空きレジスタＲを生成する方法は、レジスタＲ０〜ＲｎをＦＩＦＯメモリとして使用するための仕組みの一例である。レジスタＲ０〜ＲｎをＦＩＦＯメモリとして使用するための仕組みはこれに限定されない。例えば、レジスタＲ０〜Ｒｎはリングバッファとして構成されてもよい。
【００６２】
Ｓ１０２によって格納された加速度検出値が閾値Ｔａよりも大きい場合（Ｓ１０３：Ｙｅｓ）、センサ制御回路４３は、データバッファ４２に空きレジスタＲが有るか否かを判定する（Ｓ１０６）。
【００６３】
データバッファ４２に空きレジスタＲが有る場合（Ｓ１０６：Ｙｅｓ）、センサ制御回路４３は、データバッファ４２に空きレジスタＲが無くなるまで加速度検出値のサンプリングを実行する（Ｓ１０７）。Ｓ１０７では、Ｓ１０３の処理においてＮｏと判定された場合と同じサンプリング周期でサンプリングが実行される。
【００６４】
データバッファ４２に空きレジスタＲが無い場合（Ｓ１０６：Ｎｏ）、またはＳ１０７の処理によってデータバッファ４２に空きレジスタＲが無くなった場合、センサ制御回路４３は、加速度検出値のサンプリングを中断する（Ｓ１０８）。
【００６５】
Ｓ１０８の後、処理部１１は、データバッファ４２の全てのレジスタＲから、加速度検出値を取得する（Ｓ１０９）。つまり、処理部１１は、この処理によって、最も新しくサンプリングされたレジスタＲの個数分の加速度検出値を取得することができる。
【００６６】
なお、データバッファ４２に空きレジスタＲが無い場合（Ｓ１０６：Ｎｏ）、またはＳ１０７の処理によってデータバッファ４２に空きレジスタＲが無くなった場合、センサ制御回路４３は、その旨を処理部１１（ＣＰＵ１０）に通知してもよい。通知の方法は、特定の方法に限定されない。処理部１１は、センサ制御回路４３からの通知を、Ｓ１０９の処理の実行の契機とすることができる。
【００６７】
Ｓ１０９の後、ＦＦＴ分析部１２は、Ｓ１０９の処理によって取得されたレジスタＲの個数分の加速度検出値についてＦＦＴ処理を実行することによって、スペクトルデータ２１を生成する（Ｓ１１０）。なお、ＦＦＴ分析部１２は、ＦＦＴ処理を実行した時刻をスペクトルデータ２１に記録しておく。
【００６８】
Ｓ１１０の後、ＦＦＴ分析部１２は、スペクトルデータ２１をＲＡＭ２０に格納する（Ｓ１１１）。
【００６９】
Ｓ１１１の後、処理部１１は、データバッファ４２に保持されている全ての情報を削除する（Ｓ１１２）。
【００７０】
Ｓ１１１の後、センサ制御回路４３は、サンプリングを再開する（Ｓ１１３）。そして、制御がＳ１０１に移行する。
【００７１】
図８は、図７に示された一連の処理によって決まる、実施形態にかかるＦＦＴ処理の対象とされる加速度検出値を説明するための例示的かつ模式的な図である。縦軸は所定軸方向にかかる加速度検出値（g）を示しており、横軸は経過時間を示している。また、黒い各ドットは、サンプリングされた加速度検出値を示している。
【００７２】
なお、本図の説明では、データバッファ４２が備えるレジスタＲの数は１６であることとする。即ち、１６個以上の加速度検出値が連続してサンプリングされた後は、データバッファ４２は、最も新しく連続してサンプリングされた１６個の加速度検出値のみを保持することができる。
【００７３】
図８に示される例では、加速度検出値の取得が開始されてから時刻ｔ１の直前までに取得された加速度検出値は、何れも絶対値が閾値Ｔａを越えていない。そして、時刻ｔ１において取得された加速度検出値は、閾値Ｔａを越えている。
【００７４】
時刻ｔ１では、２９個目の加速度検出値がサンプリングされている。加速度検出値のサンプリングが開始されてから時刻ｔ１までの間に、２９回、つまりレジスタＲの個数（１６個）よりも多い数のサンプリングが連続して実行されているため、データバッファ４２は、最も新しく取得された１６個の加速度検出値で満たされた状態となっている。加速度検出値が閾値Ｔａを越えた時刻ｔ１の後、ただちに当該１６個の加速度検出値が処理部１１によって読み出される。
【００７５】
つまり、範囲２００に示される、１３個目の加速度検出値から２９個目の加速度検出値までの、合計１６個の加速度検出値が、時刻ｔ１に加速度検出値が閾値Ｔａを越えたことを契機として引き起こされた１回目のＦＦＴ処理の対象とされる。
【００７６】
時刻ｔ１から時刻ｔ２までの間は、１回目のＦＦＴ処理の実行中であり、加速度検出値のサンプリングは実行されない。１回目のＦＦＴ処理が終わり、データバッファ４２の内容が全て削除され後、時刻ｔ２においてサンプリングが再開される。
【００７７】
サンプリングの再開後、時刻ｔ３において、当該加速度検出値が閾値Ｔａを越えている。時刻ｔ３では、データバッファ４２に内容が削除されてから４個目の加速度検出値がサンプリングされている。つまり、１２個のレジスタＲが空いた状態となっている。よって、さらに１２回のサンプリングが実行され、空きレジスタＲが無くなった時刻ｔ４のタイミングで、データバッファ４２内の１６個の加速度検出値が読み出される。
【００７８】
つまり、範囲２０１に示される合計１６個の加速度検出値が、時刻ｔ３に加速度検出値が閾値Ｔａを越えたことを契機として引き起こされた２回目のＦＦＴ処理の対象とされる。
【００７９】
このように、取得時期が連続する１６個の加速度検出値の組に基づいてＦＦＴ処理が実施され、その後、取得時期が連続する別の１６個の加速度検出値の組に基づいてＦＦＴ処理が実行される。つまり、それぞれ異なるタイミングで複数回のＦＦＴ処理が実行される。各ＦＦＴ処理によって得られたスペクトルデータ２１は、当該ＦＦＴ処理が実行された時刻が記録されてＲＡＭ２０に格納される。
【００８０】
なお、ＦＦＴ処理が実行された時刻は、任意の方法で決定され得る。ＦＦＴ処理が実施された期間内のうちの予め決められた方法で選択された時刻であってもよいし、ＦＦＴ処理の対象とされた１６個の加速度検出値がサンプリングされた時刻のうちの予め決められた方法で選択された時刻であってもよい。
【００８１】
図９は、実施形態にかかる各スペクトルデータ２１に基づいて実行される、振動を検出したか否かの判定の動作を説明するための例示的かつ模式的なフローチャートである。
【００８２】
ＦＦＴ分析部１２が１つのスペクトルデータ２１をＲＡＭ２０に格納すると（Ｓ２０１）、振動判定部１３は、スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂより大きいか否かを判定する（Ｓ２０２）。振動判定部１３は、例えば、Ｓ２０１によって格納されたスペクトルデータ２１に記録された時刻から、前回に格納されたスペクトルデータ２１に記録された時刻を減算することによって、スペクトルデータ２１の取得時刻の間隔を得ることができる。
【００８３】
ハードディスクドライブ３０が振動に曝されている場合、ＦＦＴ処理が完了してサンプリングが再開された後、すぐにＦＦＴ処理の実行のトリガ条件が再び満たされる。よって、ハードディスクドライブ３０が振動に曝されている場合、スペクトルデータ２１が取得される時間間隔が最小となる。この最小の時間間隔を、ｔｍｉｎと表記する。時間間隔ｔｍｉｎは、例えば、ＦＦＴ処理のためにサンプリングが中断されている期間の長さと、データバッファ４２が備えるレジスタＲの数のサンプリングに要する時間と、を合計して得られる時間に相当する。
【００８４】
ハードディスクドライブ３０が単発の強い衝撃を受けた場合、当該衝撃によってＦＦＴ処理の実行のトリガ条件が満たされて１回のＦＦＴ処理が実行される。しかしながら、当該ＦＦＴ処理が完了してサンプリングが再開された後、すぐに次のＦＦＴ処理の実行のトリガ条件が満たされることは稀である。よって、振動に該当しない単発の衝撃を受けた場合、スペクトルデータ２１の取得時刻の間隔が、時間間隔ｔｍｉｎよりも長くなると考えられる。
【００８５】
このように、ハードディスクドライブ３０が振動に曝されている場合、少なくとも最小の時間間隔ｔｍｉｎでスペクトルデータ２１が得られる。このことを利用して、Ｓ２０２では、スペクトルデータ２１の取得時刻の間隔に基づいて、明らかに振動を受けていない場合を検出する。そのために、閾値Ｔｂとしては、時間間隔ｔｍｉｎに対応した値が予め設定される。閾値Ｔｂとしては、例えば、時間間隔ｔｍｉｎと等しい値が設定されてもよいし、時間間隔ｔｍｉｎに所定のマージンを加算して得られる値が設定されてもよい。
【００８６】
スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂより大きい場合（Ｓ２０２：Ｙｅｓ）、振動を受けていないと推定され得る。よって、振動判定部１３は、スペクトルデータ群２２をＲＡＭ２０から削除し（Ｓ２０３）、次のスペクトルデータ２１の格納（Ｓ２０１）に備える。
【００８７】
なお、Ｓ２０３では、次にＳ２０２の判定を実行することに備えるために、振動判定部１３は、最後に受信したスペクトルデータ２１に記録された時刻のみを記憶しておいてもよい。または、振動判定部１３は、最後に受信したスペクトルデータ２１のみを削除しないでＲＡＭ２０に残しておいてもよい。
【００８８】
スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂより大きくない場合（Ｓ２０２：Ｎｏ）、振動判定部１３は、スペクトルデータ群２２に含まれるスペクトルデータ２１の数が閾値Ｔｃに至ったか否かを判定する（Ｓ２０４）。Ｔｃは、２以上の整数である。
【００８９】
本図に示される例では、スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂを越えた場合には全てのスペクトルデータ２１が削除されることとしている。したがって、スペクトルデータ群２２に含まれるスペクトルデータ２１の数は、スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂを越えないという条件が連続して満たされた期間の長さにおよそ対応する。
【００９０】
つまり、Ｓ２０４の処理は、スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂを越えないという条件が連続して満たされた期間の長さが、閾値Ｔｃに対応した時間に至ったか否かを判定していることを意味する。
【００９１】
例えば、閾値Ｔｂが１０ミリ秒であり、スペクトルデータ群２２に含まれるスペクトルデータ２１の数が１０００個である場合、スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂを越えないという条件が連続して満たされた期間の長さはおよそ１０秒（＝１０ミリ秒×１０００個）となる。閾値Ｔｃとして１０００個が設定されれば、Ｓ２０４の処理によって、スペクトルデータ２１の取得時刻の間隔が閾値Ｔｂを越えないという条件が連続して満たされた期間の長さが１０秒に至ったか否かを判定することができる。
【００９２】
なお、閾値Ｔｃの設定方法は、特定の方法に限定されない。ここでは一例として、ハードディスクドライブ３０に損傷を引き起こし得る振動時間に対応した値よりも小さい値が、閾値Ｔｃとして設定される。例えば、ハードディスクドライブ３０が３０秒以上の振動に曝された場合に代替セクタ処理が実行される場合、３０秒よりも短い時間に対応した値が閾値Ｔｃとして設定される。
【００９３】
スペクトルデータ群２２に含まれるスペクトルデータ２１の数が閾値Ｔｃに至っていない場合（Ｓ２０４：Ｎｏ）、Ｓ２０１に制御が移行する。
【００９４】
スペクトルデータ群２２に含まれるスペクトルデータ２１の数が閾値Ｔｃに至った場合（Ｓ２０４：Ｙｅｓ）、振動判定部１３は、スペクトルデータ２１として加速度の成分値（ここでは一例としてＰＳＤ）が得られる全ての周波数のうち、スペクトルデータ群２２に含まれるＴｃ個のスペクトルデータ２１の全てにおいてＰＳＤが閾値Ｔｄを越えた周波数があるか否かを判定する（Ｓ２０５）。Ｔｄは、ゼロ以上の実数である。
【００９５】
Ｓ２０５の判定は、スペクトルデータ２１としてＰＳＤが得られる全ての周波数のうち、ＰＳＤがＴｃに対応する時間、連続して閾値Ｔｄを越えた周波数があるか否かが判定されていることを意味する。Ｔｃに対応する時間、ＰＳＤが連続して閾値Ｔｄを越えた周波数がある場合、その周波数の振動が、Ｔｃに対応する時間、連続して与えられたと推定することができる。
【００９６】
よって、スペクトルデータ群２２に含まれるＴｃ個のスペクトルデータ２１の全てにおいてＰＳＤが閾値Ｔｄを越えた周波数がある場合（Ｓ２０５：Ｙｅｓ）、振動判定部１３は、振動を検出したと判定する（Ｓ２０６）。
【００９７】
他方、スペクトルデータ群２２に含まれるＴｃ個のスペクトルデータ２１の全てにおいてＰＳＤが閾値Ｔｄを越えた周波数がない場合（Ｓ２０５：Ｎｏ）、振動判定部１３は、振動を検出していないと判定する（Ｓ２０７）。
【００９８】
なお、Ｓ２０５の判定の対象は、所定の１つの軸にかかるＰＳＤであってもよいし、所定の複数の軸にかかるＰＳＤであってもよい。また、所定の複数の軸にかかるＰＳＤから得られた合成値であってもよい。所定の複数の軸にかかるＰＳＤがＳ２０５の判定の対象とされる場合、当該所定の複数の軸にかかるＰＳＤの全てが閾値Ｔｄを越えている場合に、ＰＳＤが閾値Ｔｄを越えていると判定されてもよいし、当該所定の複数の軸にかかるＰＳＤの１つでも閾値Ｔｄを越えている場合に、ＰＳＤが閾値Ｔｄを越えていると判定されてもよい。
【００９９】
Ｓ２０６またはＳ２０７の後、振動判定部１３は、振動を検出したか否かの判定結果を振動判定結果２３としてＲＡＭ２０に格納する（Ｓ２０８）。そして、制御がＳ２０１に移行する。
【０１００】
このように、図９に示される一連の処理によれば、処理部１１は、複数のスペクトルデータ２１のそれぞれをそれぞれ異なるタイミングで取得することができる。そして、処理部１１は、連続して取得された複数のスペクトルデータ２１に基づいて、振動を検出したか否かを判定することができる。
【０１０１】
なお、実施形態の説明では、連続して検出された複数の加速度検出値は、加速度検出値が閾値Ｔａを越えたことをトリガとしてデータバッファ４２から処理部１１に取得された。処理部１１が加速度検出値を取得する条件はこれに限定されない。例えば、処理部１１は、データバッファ４２に格納された複数の加速度検出値を、サンプリング周期よりも大きい所定の周期で定期的に取得して、ＦＦＴ分析部１２は、複数の加速度検出値が取得される毎にＦＦＴ処理を実行してもよい。
【０１０２】
また、振動判定部１３は、振動判定結果２３に判定時刻を記録してもよい。また、振動判定部１３は、振動を検出したと判定された場合にのみ振動判定結果２３を格納してもよい。また、振動判定結果２３は、１回以上の判定処理の結果がログ形式で記録されたデータとして構成されてもよい。
【０１０３】
また、処理部１１は、振動を検出した旨の判定結果が得られた場合には、所定の信号を外部に出力してもよい。
【０１０４】
所定の信号を出力することは、例えば不図示のＬＥＤ（Light  Emitting  Diode）を点灯されるなどであってもよい。不図示の液晶ディスプレイ装置に振動を検出した旨のテキストまたは振動を検出した旨を示すイラスト画像が表示されてもよい。振動を検出した旨を示す音声情報または警報音が不図示のスピーカから出力されてもよい。振動を検出した旨のテキストまたは振動を検出した旨を示すイラスト画像が、遠隔地に設けられたコンピュータ（サーバ、携帯情報端末）などにネットワークを介して送信されてもよい。
【０１０５】
また、実施形態の説明では、スペクトルデータ２１および振動判定結果２３は、ＲＡＭ２０に格納された。スペクトルデータ２１および振動判定結果２３のいずれかまたは両方は、ハードディスクドライブ３０に格納されてもよい。また、スペクトルデータ２１および振動判定結果２３のいずれかまたは両方は、ＲＡＭ２０とハードディスクドライブ３０の両方に格納されてもよい。
【０１０６】
また、情報処理装置１００は、ハードディスクドライブ３０の他に任意の不揮発性の記憶装置を備え得る。スペクトルデータ２１および振動判定結果２３のいずれかまたは両方は、ハードディスクドライブ３０の他の任意の不揮発性の記憶装置に格納され得る。これによって、ハードディスクドライブ３０が損傷して使用不可能となった場合でも、オペレータは、スペクトルデータ２１および振動判定結果２３のいずれかまたは両方を得ることが可能となる。
【０１０７】
また、実施形態の情報処理装置１００は、種々のコンピュータに適用され得る。例えば、実施形態の情報処理装置１００は、産業用コンピュータにも適用され得る。産業用コンピュータは、長期間の連続稼働が要求される。産業用コンピュータは、サーバルーム、中央監視室、制御盤内、または工作機械内など、種々の環境に設置され得る。産業用コンピュータが設置環境からどのような影響を受けているのかを把握することが、産業用コンピュータを用いたシステムを安定稼働させるために求められる。
【０１０８】
実施形態の情報処理装置１００が産業用コンピュータに適用されれば、オペレータは、振動判定結果２３を確認することによって、設置環境から振動を受けているか否かを確認することが可能となる。
【０１０９】
また、実施形態の説明では、ＦＦＴ分析部１２および振動判定部１３の機能は、ＣＰＵ１０がプログラムを実行することによって実現された。ＦＦＴ分析部１２および振動判定部１３のうちの一部または全部は、プログラムを要しない専用のハードウェア回路、またはソフトウェア（プログラム）とプログラムを要しない専用のハードウェア回路との組み合わせによって実現され得る。プログラムを要しない専用のハードウェア回路とは、例えば、ＦＰＧＡ（field-programmable  gate  array）またはＡＳＩＣ（application  specific  integrated  circuit）である。
【０１１０】
以上述べたように、実施形態によれば、加速度センサＩＣ４０は、加速度を所定のサンプリング周期で検出する。データバッファ４２には、加速度センサＩＣ４０が所定のサンプリング周期で検出した複数の加速度検出値が格納される。処理装置であるＣＰＵ１０は、取得時期が連続した加速度検出値の組についてスペクトルデータ２１を取得するＦＦＴ処理を、異なる複数の加速度検出値の組について複数回実行する。そして、処理装置であるＣＰＵ１０は、所定の閾値Ｔｄを超えたパワースペクトル密度が同じ周波数について連続して検出された場合に、所定の信号を出力する。
【０１１１】
この構成により、振動を検出することが可能となる。
【０１１２】
また、処理装置であるＣＰＵ１０は、閾値Ｔａを超えた加速度が検出された場合にＦＦＴ処理を実行する。
【０１１３】
部品の機能の損傷を引き起こし得る振動の加速度の下限値に対応した値を閾値Ｔａとして設定すれば、ＦＦＴ処理を実行するタイミングを、部品の機能に損傷を引き起こし得る振動を受けている可能性がある場合にのみに限定することができる。これによって、振動の検出に要するＣＰＵ１０の負荷を低減することが可能となる。
【０１１４】
なお、所定の閾値Ｔｄを超えたパワースペクトル密度が同じ周波数について連続して検出された場合であっても、当該周波数のパワースペクトル密度が所定の閾値Ｔｄを超えたタイミングの間隔が長い場合、振動を受けていないことは明らかである。
【０１１５】
よって、処理装置であるＣＰＵ１０は、閾値Ｔｄを超えたパワースペクトル密度が同じ周波数について閾値Ｔｂよりも小さい間隔で連続して検出された場合に、所定の信号を出力するように構成され得る。
【０１１６】
また、処理装置であるＣＰＵ１０は、閾値Ｔｄを超えたパワースペクトル密度が同じ周波数についてＴｃ回、連続して検出された場合に、所定の信号を出力する。
【０１１７】
この構成により、実質的に、当該周波数のパワースペクトル密度が所定の閾値Ｔｄを連続して超えた期間と、ＴｂおよびＴｃに対応した期間と、の比較によって振動の検出を行うことが可能となる。
【０１１８】
なお、処理装置であるＣＰＵ１０は、スペクトルデータ２１が閾値Ｔｂよりも小さい間隔で取得された場合に、当該スペクトルデータ２１をＲＡＭ２０に格納する。そして、処理装置であるＣＰＵ１０は、Ｔｃ個のスペクトルデータ２１がＲＡＭ２０に格納された場合に、ＲＡＭ２０に格納されたＴｃ個のスペクトルデータ２１の全てにおいてパワースペクトル密度が閾値Ｔｄを超えた周波数の検出を実行する。
【０１１９】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２０】
１０  ＣＰＵ、１１  処理部、１２  ＦＦＴ分析部、１３  振動判定部、２０  ＲＡＭ、２１  スペクトルデータ、２２  スペクトルデータ群、２３  振動判定結果、３０  ハードディスクドライブ、４０  加速度センサＩＣ、４１  加速度センサ、４２  データバッファ、４３  センサ制御回路、１００  情報処理装置、２００，２０１  範囲。
【図１】
2020155169.tif 000003
【図２】
2020155169.tif 000004
【図３】
2020155169.tif 000005
【図４】
2020155169.tif 000006
【図５】
2020155169.tif 000007
【図６】
2020155169.tif 000008
【図７】
2020155169.tif 000009
【図８】
2020155169.tif 000010
【図９】
2020155169.tif 000011