(57)【要約】  情報処理装置は、情報処理装置本体と、前記情報処理装置本体内に収容される不揮発性半導体メモリドライブとを含む。不揮発性半導体メモリドライブは、不揮発性半導体メモリと、前記情報処理装置本体からのコマンドに応じて、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作を制御すると共に、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作に関する統計情報を一定期間毎に生成して、各々が前記一定期間に対応する時間長を有する複数の期間それぞれに対応する統計情報を前記不揮発性半導体メモリの記憶領域に格納する制御手段とを含む。
2010512559.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置本体と、
前記情報処理装置本体内に収容される不揮発性半導体メモリドライブであって、不揮発性半導体メモリと、前記情報処理装置本体からのコマンドに応じて、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作を制御すると共に、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作に関する統計情報を一定期間毎に生成して、各々が前記一定期間に対応する時間長を有する複数の期間それぞれに対応する統計情報を前記不揮発性半導体メモリの記憶領域に格納する制御手段とを含む不揮発性半導体メモリドライブとを具備する情報処理装置。
【請求項２】
前記制御手段は、前記不揮発性半導体メモリドライブの初回起動時から現時点までの期間に実行された前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作に関する生涯型統計情報をさらに生成し、前記生成された生涯型統計情報を、前記複数の期間それぞれに対応する統計情報が格納されている記憶領域とは異なる前記前記不揮発性半導体メモリの記憶領域に格納する請求項１に記載の情報処理装置。
【請求項３】
前記一定期間毎に生成される前記統計情報は、前記一定期間内に実行されるライト動作、リード動作、およびイレーズ動作それぞれの回数に関する情報を含む請求項１に記載の情報処理装置。
【請求項４】
前記一定期間毎に生成される前記統計情報は、前記一定期間内に前記情報処理装置本体から受信したライトコマンドおよびリードコマンドそれぞれの数、前記一定期間内にイレーズされた、前記不揮発性半導体メモリ内のブロックの数を少なくとも示す請求項１に記載の情報処理装置。
【請求項５】
情報処理装置の外部記憶装置として使用される不揮発性半導体メモリドライブであって、
不揮発性半導体メモリと、
前記情報処理装置からのコマンドに応じて、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作を制御すると共に、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作に関する統計情報を一定期間毎に生成して、各々が前記一定期間に対応する時間長を有する複数の期間それぞれに対応する統計情報を前記不揮発性半導体メモリの記憶領域に格納する制御手段とを具備する不揮発性半導体メモリドライブ。
【請求項６】
前記制御手段は、前記不揮発性半導体メモリドライブの初回起動時から現時点までの期間に実行された前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作に関する生涯型統計情報をさらに生成し、前記生成された生涯型統計情報を、前記複数の期間それぞれに対応する統計情報が格納されている記憶領域とは異なる前記前記不揮発性半導体メモリの記憶領域に格納する請求項５に記載の不揮発性半導体メモリドライブ。
【請求項７】
前記一定期間毎に生成される前記統計情報は、前記一定期間内に実行されるライト動作、リード動作、およびイレーズ動作それぞれの回数に関する情報を含む請求項５に記載の不揮発性半導体メモリドライブ。
【請求項８】
前記一定期間毎に生成される前記統計情報は、前記一定期間内に前記情報処理装置から受信したライトコマンドおよびリードコマンドそれぞれの数、前記一定期間内にイレーズされた、前記不揮発性半導体メモリ内のブロックの数を少なくとも示す請求項５に記載の不揮発性半導体メモリドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び不揮発性半導体メモリドライブに関する。
【背景技術】
【０００２】
ログデータを格納するコンピュータが存在する。このようなログデータ管理機能を有する情報処理装置としては、例えば、特許文献１に記載された情報処理装置が知られている。
【０００３】
この情報処理装置は、ユーザ操作の内容と発生した事象に関する情報とを含むログ情報を、時刻情報と対応付けて記憶する。そして、この情報処理装置は、ログ情報に基づいて、将来の動作状況を予測する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１１３９６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、この情報処理装置においては、ログ情報から操作内容の情報及び発生した事象を調べるためには、ログ情報から必要な情報を選択し、選択した情報を整理する必要があるため、故障等の原因や機器不調につながる異変の兆候を容易に把握することは困難である。また、個々のイベント等の発生の度にログ情報のデータ量は増大する。したがって、ログ情報の保存に多くの記憶容量が必要とされる。
【０００６】
本発明の目的は、監視したい情報の整理及び分析を容易に行うことができる情報処理装置及び不揮発性半導体メモリドライブを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、情報処理装置本体と、前記情報処理装置本体内に収容される不揮発性半導体メモリドライブであって、不揮発性半導体メモリと、前記情報処理装置本体からのコマンドに応じて、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作を制御すると共に、前記不揮発性半導体メモリのライト動作、リード動作、およびイレーズ動作に関する統計情報を一定期間毎に生成して、各々が前記一定期間に対応する時間長を有する複数の期間それぞれに対応する統計情報を前記不揮発性半導体メモリの記憶領域に格納する制御手段とを含む不揮発性半導体メモリドライブとを具備する情報処理装置が提供される。
【発明の効果】
【０００８】
この情報処理装置によれば、監視したい情報の整理及び分析を容易に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態に係る情報処理装置の外観を示す斜視図である。
【図２】図２は、同実施形態の情報処理装置の概略構成を示すブロック図である。
【図３】図３は、同実施形態の情報処理装置で用いられるＳＳＤの概略構成を示すブロック図である。
【図４】図４は、図３のＳＳＤの記憶容量及び記憶領域の例を示す概略図である。
【図５】図５は、図３のＳＳＤに設けられたＮＡＮＤメモリの概略構成図である。
【図６】図６は、図３のＳＳＤに設けられたＮＡＮＤメモリに格納される統計情報の例を示す図である。
【図７】図７は、図３のＳＳＤに設けられたＮＡＮＤメモリに格納される月次情報の格納形式の例を示す概略図である。
【図８】図８は、図３のＳＳＤによって実行される月次情報記憶処理の手順の例を示すフローチャートである。
【図９】図９は、図３のＳＳＤに設けられたＮＡＮＤメモリに格納される月次情報の格納形式の他の例を示す概略図である。
【図１０】図１０は、図３のＳＳＤによって実行される月次情報記憶処理の手順の他の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を説明する。
【００１１】
＜情報処理装置の構成＞
図１は、本発明の一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置１は、図１に示すように、情報処理装置本体２と、情報処理装置本体２に取り付けられた表示ユニット３とから構成されている。
【００１２】
本体２は、箱状の筐体４を有し、その筐体４は、上壁４ａ、周壁４ｂ、及び下壁（図示せず）を備える。筐体４の上壁４ａは、情報処理装置１を操作するユーザに近い側から順にフロント部４０、中央部４１及びバック部４２を有する。下壁は、上壁４ａの反対側に位置し、この情報処理装置１が置かれる設置面に対向する。周壁４ｂは、前壁４ｂａ、後壁４ｂｂ及び左右の側壁４ｂｃ、４ｂｄを有する。
【００１３】
フロント部４０は、ポインティングデバイスであるタッチパッド２０と、パームレスト２１と、情報処理装置１の各部の動作に連動して点灯するＬＥＤ２２とを備える。
【００１４】
中央部４１は、文字情報等を入力可能なキーボード２３ａが取り付けられるキーボード載置部２３を備える。
【００１５】
バック部４２は、着脱可能に取り付けられたバッテリパック２４を備えている。バッテリパック２４の右側には、情報処理装置１の電源を投入するための電源スイッチ２５が設けられている。バッテリパック２４の左右には、表示ユニット３を回転可能に支持する一対のヒンジ部２６ａ、２６ｂが設けられている。
【００１６】
筐体４の左の側壁４ｂｃには、筐体４内から外部に対して風Ｗを排出する排出口２９が設けられている。また、右の側壁４ｂｄには、例えば、ＤＶＤ等の光記憶媒体にデータを読み書き可能なＯＤＤ（光ディスクドライブ）２７と、各種のカードが出し入れされるカードスロット２８とが配置されている。
【００１７】
筐体４は、周壁４ｂの一部及び上壁４ａを含む筐体カバーと、周壁４ｂの一部及び下壁を含む筐体ベースとにより形成されている。筐体カバーは、筐体ベースに対して着脱自在に組み合わされ、筐体ベースとの間に収容空間を形成する。この収容空間には、例えば、不揮発性半導体メモリドライブとして機能するＳＳＤ（ソリッドステートドライブ）１０が収容される。なお、ＳＳＤ１０の詳細は後述する。
【００１８】
表示ユニット３は、開口部３０ａを有するディスプレイハウジング３０と、表示画面３１ａに画像を表示可能なＬＣＤ等からなる表示装置３１とを備える。表示装置３１はディスプレイハウジング３０に収容され、表示画面３１ａは開口部３０ａを通じてディスプレイハウジング３０の外部に露出している。
【００１９】
筐体４内には、上述のＳＳＤ１０、バッテリパック２４、ＯＤＤ２７及びカードスロット２８の他に、図示しないメイン回路基板、拡張モジュール及びファン等が収容されている。
【００２０】
図２は、情報処理装置１のシステム構成を概略的に示すブロック図である。
【００２１】
この情報処理装置１は、図２に示すように、上述のＳＳＤ１０、拡張モジュール１２、ファン１３、タッチパッド２０、ＬＥＤ２２、キーボード２３ａ、電源スイッチ２５、ＯＤＤ２７、カードスロット２８及び表示装置３１の他に、ＥＣ（組み込みコントローラ）１１１と、ＢＩＯＳ（Basic Input Output System）１１２ａを格納するフラッシュメモリ１１２と、サウスブリッジ１１３と、ノースブリッジ１１４と、ＣＰＵ（中央処理装置）１１５と、ＧＰＵ（Graphic Processing Unit）１１６と、メインメモリ１１７とを備えている。
【００２２】
ＥＣ（組み込みコントローラ）１１１は各部を制御する組込システムである。ノースブリッジ１１４は、ＣＰＵ１１５、ＧＰＵ１１６、メインメモリ１１７及び各種バスそれぞれとの間の接続を制御するＬＳＩである。ＣＰＵ１１５は各種信号を演算処理するプロセッサであり、ＳＳＤ１０からメインメモリ１１７にロードされるオペレーティングシステムおよび各種アプリケーションプログラムを実行する。ＧＰＵ１１６は映像信号を演算処理して表示制御を実行する表示コントローラである。
【００２３】
拡張モジュール１２は、拡張回路基板と、この拡張回路基板に設けられたカードソケットと、このカードソケットに挿入された拡張モジュール基板とを備える。カードソケットは、例えば、Ｍｉｎｉ−ＰＣＩ等の規格に対応している。拡張モジュール基板の例としては、３Ｇ（第３世代）モジュール、テレビチューナー、ＧＰＳモジュール、及びＷｉｍａｘ(登録商標)モジュール等が挙げられる。
【００２４】
ファン１３は、筐体４内を送風に基づいて冷却する冷却部であり、筐体４内の空気を排出口２９を介して風Ｗとして外部に排出する。
【００２５】
なお、ＥＣ１１１、フラッシュメモリ１１２、サウスブリッジ１１３、ノースブリッジ１１４、ＣＰＵ１１５、ＧＰＵ１１６及びメインメモリ１１７は、メイン回路基板に実装された電子部品である。
【００２６】
＜ＳＳＤの構成＞
図３は、本実施形態の情報処理装置に適用されるＳＳＤの概略構成を示すブロック図である。
【００２７】
ＳＳＤ１０は、ハードディスクの代わりに本情報処理装置１の外部記憶装置として使用される不揮発性半導体メモリドライブである。このＳＳＤ１０は、図３に示すように、温度センサ１０１と、コネクタ１０２と、制御部１０３と、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈと、ＤＲＡＭ（メモリ）１０５と、電源回路１０６と、を備えて概略構成されている。ＳＳＤ１０は、データやプログラムを格納し、且つ電源を供給しなくても記憶内容が消えない外部記憶装置である。ＳＳＤ１０は、ハードディスクドライブとは異なり、磁気ディスクやヘッド等の駆動機構を持たないが、不揮発性半導体メモリであるＮＡＮＤメモリの記憶領域に、ＯＳ（オペレーティングシステム）等のプログラムと、ユーザやソフトウエアに基づいて作成されたデータとを、読み書き可能に長期的に保存でき、情報処理装置１の起動ドライブとして動作することのできるドライブである。
【００２８】
制御部１０３は、コネクタ１０２、８つのＮＡＮＤメモリ１０４Ａ〜１０４Ｈ、ＤＲＡＭ１０５、及び電源回路１０６にそれぞれ接続されている。また、制御部１０３は、コネクタ１０２を介してホスト装置８に接続され、必要に応じて外部装置９に接続される。
【００２９】
電源７は、バッテリパック２４又は図示しないＡＣアダプタであり、例えば、ＤＣ３．３Ｖの電力がコネクタ１０２を介して電源回路１０６に供給される。また、電源７は、情報処理装置１全体に対して電力を供給する。
【００３０】
ホスト装置８は、本実施形態においては、情報処理装置本体２（本体２のメイン回路基板）である。メイン回路基板に実装されたサウスブリッジ１１３はコネクタ１０２を介して制御部１０３に接続される。サウスブリッジ１１３と制御部１０３との間は、例えば、シリアルＡＴＡ等の規格に基づいてデータの送受信が行われる。
【００３１】
外部装置９は、情報処理装置１とは異なる他の情報処理装置である。外部装置９は、情報処理装置１から取り外されたＳＳＤ１０に対して、例えば、ＲＳ−２３２Ｃ等の規格に基づいて制御部１０３に接続され、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶されたデータを読み出す機能を有する。
【００３２】
ＳＳＤ１０が実装される基板は、例えば、１．８インチタイプ又は２．５インチタイプのＨＤＤ（ハードディスクドライブ）と同等の外形サイズを有する。なお、本実施の形態では、１．８インチタイプと同等である。
【００３３】
制御部１０３は、情報処理装置本体２からのコマンドに応じて、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈのライト動作、リード動作、およびイレーズ動作を制御する。具体的には、制御部１０３は、ホスト装置８として機能する情報処理装置本体２からの要求（リードコマンド、ライトコマンド、他の各種コマンド等）に応じて、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータのリードおよびライトと、イレーズ動作の実行を制御する。データの転送速度は、例えば、データ読出し時で１００ＭＢ／Ｓｅｃ、書込み時で４０ＭＢ／Ｓｅｃである。
【００３４】
ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの各々は、例えば記憶容量が１６ＧＢの不揮発性半導体メモリである。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの各々は、例えば、１つのメモリセルに２ビットを記録可能なＭＬＣ（マルチレベルセル）−ＮＡＮＤメモリ（多値ＮＡＮＤメモリ）から構成されている。ＭＬＣ−ＮＡＮＤメモリは、ＳＬＣ（シングルレベルセル）−ＮＡＮＤメモリに比較して書き換え可能回数は少ないが、ＳＬＣ（シングルレベルセル）−ＮＡＮＤメモリよりも記憶容量の大容量化は容易であるという特徴を有している。
【００３５】
ＤＲＡＭ１０５は、制御部１０３の制御によりＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータの読出し、書込みが行われる際に一時的にデータが格納されるバッファである。
【００３６】
コネクタ１０２は、シリアルＡＴＡ等の規格に基づいた形状を有する。なお、制御部１０３及び電源回路１０６は、別々のコネクタによりホスト装置８及び電源７にそれぞれ接続されていてもよい。
【００３７】
電源回路１０６は、電源７から供給されたＤＣ３．３Ｖを、例えば、ＤＣ１．８Ｖ、１．２Ｖ等に変換するとともに、それら３種類の電圧をＳＳＤ１０の各部の駆動電圧に合わせて各部に供給する。
【００３８】
＜ＳＳＤの記憶容量＞
図４は、ＳＳＤ１０の記憶容量及び記憶領域を示す概略図である。
【００３９】
ＳＳＤ１０の制御部１０３は、図４に示す、７種類の記憶容量１０４ａ〜１０４ｇを管理する。
【００４０】
記憶容量１０４ａは、ＮＡＮＤ  Ｃａｐａｃｉｔｙであり、すべてのＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶領域を用いた最大の記憶容量である。つまり、記憶容量１０４ａは、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈそれぞれの物理記憶容量の合計値である。例えば、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶容量がそれぞれ１６ＧＢであるとき、記憶容量１０４ａは、１２８ＧＢである。記憶容量１０４ａ、つまりＮＡＮＤ  Ｃａｐａｃｉｔｙは、例えば、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）の製造情報書込みコマンドのＮＡＮＤ構成情報で与えられる。
【００４１】
記憶容量１０４ｂは、Ｍａｘ  Ｌｏｇｉｃａｌ  Ｃａｐａｃｉｔｙであり、論理ブロックアドレス（ＬＢＡ）でアクセスできる最大記憶容量である。
【００４２】
記憶容量１０４ｃは、Ｓ．Ｍ．Ａ．Ｒ．Ｔログ領域開始ＬＢＡであり、記憶容量１０４ｂと以下に説明する記憶容量１０４ｄとを分割するために設けられる。Ｓ．Ｍ．Ａ．Ｒ．Ｔログ領域開始ＬＢＡは、ログデータを格納する記憶領域の先頭ＬＢＡを示す。
【００４３】
記憶容量１０４ｄは、Ｖｅｎｄｅｒ  Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、ユーザ使用領域として与えられる最大の記憶容量である。記憶容量１０４ｄは、例えば、ＡＴＡ特殊コマンドの初期Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅデータで与えられる。また、記憶容量１０４ｄは、ＩＤＥＭＡ（The International Disk Drive Equipment and Materials Association）標準に基づき、製造元（Ｖｅｎｄｅｒ）においてＳＳＤ１０の設計段階で決定され、以下の式で表される。
【００４４】
LBA = 97,696,368 + (1,953,504,× ((Capacity in GB) - 50))
記憶容量１０４ｅは、ＯＥＭ  Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、ＯＥＭ（Original Equipment Manufacturer）の要求により製造時に決定する記憶容量である。記憶容量１０４ｅは、例えば、ＡＴＡ特殊コマンドの固有情報書込みで与えられる。また、記憶容量１０４ｅは、Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｖｅｒｌａｙ  Ｆｅａｔｕｒｅ  Ｓｅｔがサポートされたとき、Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｉｄｅｎｔｉｆｙコマンドで返される値である。
【００４５】
記憶容量１０４ｆは、Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、初期値は記憶容量１０４ｅと同値である。Ｆｅａｔｕｒｅ  ｓｅｔがサポートされたときは、Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｅｔコマンドで変更することができる値である。また、記憶容量１０４ｆは、Ｒｅａｄ  Ｎａｔｉｖｅ  Ｍａｘ  Ａｄｄｒｅｓｓ（ＥＸＴ）コマンドで返される値である。
【００４６】
記憶容量１０４ｇは、Ｃｕｒｒｅｎｔ  Ｃａｐａｃｉｔｙであり、ユーザの使用中における記憶容量で、初期値は記憶容量１０４ｆと同値である。Ｓｅｔ  Ｍａｘ  Ａｄｄｒｅｓｓコマンドで変更することができる。Ｉｄｅｎｔｉｆｙ  ＤｅｖｉｃｅコマンドのＷｏｒｄ６１：６０、Ｗｏｒｄ１０３：１００で返される値である。
【００４７】
また、ＳＳＤ１０の記憶領域は、各記憶容量１０４ａ〜１０４ｇの間にそれぞれ存在する。
【００４８】
記憶容量１０４ａと１０４ｂとの間の記憶領域には、ＳＳＤ１０を動作させるための管理データ（管理情報）１０７ａと、論理ブロックアドレスＬＢＡをＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶単位であるセクタに対応する物理アドレスに変換するための論理／物理テーブル１０８ａとが格納される。論理／物理テーブル１０８ａは、論理ブロックアドレスそれぞれと物理アドレスそれぞれとの間の対応関係を示す。管理データ１０７ａ及び論理／物理テーブル１０８ａは、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈ内の固定領域に記録されるデータである。管理データ１０７ａ及び論理／物理テーブル１０８ａの各々には、ＬＢＡは割り当てられていない。したがって、管理データ１０７ａ及び論理／物理テーブル１０８ａの各々を、ＬＢＡをキーとしてアクセスすることはできない。制御部１０３は管理データ１０７ａ及び論理／物理テーブル１０８ａの各々をアクセスするための固定アクセスパスを有しており、この固定アクセスパスを介して管理データ１０７ａ及び論理／物理テーブル１０８ａの各々に対するアクセスを実行する。
【００４９】
記憶容量１０４ｂと１０４ｃとの間の記憶領域には、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．（Self-Monitoring Analysis and Reporting Technology）ログデータ１０７ｂが格納される。Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂは、イベントログデータの他、例えば、温度情報等の各種統計情報を含む。また、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂに割り当てられたＬＢＡは、制御部１０３内で実行されるファームウエアがＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂをアクセスするためにローカルに使用されるものである。制御部１０３内で実行されるファームウエアはＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂをＬＢＡをキーにしてアクセスことができるが、ホスト装置８は通常のＲｅａｄ又はＷｒｉｔｅコマンドでＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂをアクセスすることはできない。
【００５０】
本実施形態では、生涯型統計情報と月次型統計情報との２種類の統計情報が用いられる。生涯型統計情報は生涯に渡って収集される情報である。一方、月次型統計情報は一定期間毎に収集される統計情報であり、複数の期間それぞれに対応する統計情報はそれぞれ別の記憶領域に保存される。制御部１０３は、ＮＡＮＤメモリ（ＮＡＮＤメモリ１０４Ａ〜１０４Ｈ）のライト動作、リード動作、およびイレーズ動作を制御すると共に、ＮＡＮＤメモリのライト動作、リード動作、およびイレーズ動作に関する統計情報（月次統計情報）を一定期間毎に生成して、各々が一定期間に対応する時間長を有する複数の期間それぞれに対応する複数の期間分の統計情報（複数の期間分の月次統計情報）を、記憶容量１０４ｂと１０４ｃとの間の記憶領域に格納する。月次統計情報は、ＳＳＤ１０の動作状況を期間毎に集計することによって得られる統計量であり、例えば、一定期間内に実行されるＮＡＮＤメモリのライト動作、リード動作、およびイレーズ動作それぞれの回数に関する情報を含む。具体的には、月次統計情報は、一定期間内に情報処理装置本体２から受信したライトコマンドおよびリードコマンドそれぞれの数と、一定期間内にイレーズされた、ＮＡＮＤメモリ内のブロックの数を示す。
【００５１】
本実施形態では、現在時点から過去９ヶ月分（または５ヶ月分）の月次統計情報が格納される。すなわち、記憶容量１０４ｂと１０４ｃとの間の記憶領域には、例えば、９セットの月次統計情報を格納するための９つの月次統計データ記憶領域が設けられている。９つの月次統計データ記憶領域には、１ヶ月前の期間に対応する月次統計情報、２ヶ月前の期間に対応する月次統計情報、３ヶ月前の期間に対応する月次統計情報、４ヶ月前の期間に対応する月次統計情報、５ヶ月前の期間に対応する月次統計情報、６ヶ月前の期間に対応する月次統計情報、７ヶ月前の期間に対応する月次統計情報、８ヶ月前の期間に対応する月次統計情報、９ヶ月前の期間に対応する月次統計情報、が格納される。
【００５２】
さらに、制御部１０３は、ＳＳＤ１０の初回起動時から現時点までの期間に実行されたＮＡＮＤメモリのライト動作、リード動作、およびイレーズ動作に関する生涯型統計情報を生成し、生成された生涯型統計情報を、記憶容量１０４ｂと１０４ｃとの間の記憶領域に格納する。生涯型統計情報は、月次型統計情報が格納される領域とは異なる記憶領域に格納される。生涯型統計情報は、温度統計情報の他、たとえば、初回起動時から現時点までに実行された、ＮＡＮＤメモリのライト動作、リード動作、およびイレーズ動作それぞれの総回数に関する情報を含む。具体的には、生涯型統計情報は、初回起動時から現時点までの期間内に、情報処理装置本体２から受信したライトコマンドおよびリードコマンドそれぞれの数と、初回起動時から現時点までの期間内にイレーズされた、ＮＡＮＤメモリ内のブロックの数、等を示す。
【００５３】
記憶容量１０４ｃと１０４ｄとの間の記憶領域には、例えば、記憶容量２ＭＢの未使用の記憶領域が設定される。これは、ＬＢＡの最小記憶単位が８セクタであり、４ＫＢに相当する記憶単位（大きな記憶単位は１ＭＢ）であるのに対して、実際のデータの最小記録単位は当然１セクタであるため、１ＭＢ以上の記憶容量の空き記憶領域を設けることで、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂと、記憶容量１０４ｄ以下に記録されるデータとをそれぞれ独立して扱うためである。
【００５４】
記憶容量１０４ｄと１０４ｅとの間の記憶領域は、未使用であり、特別な場合を除いて記憶容量１０４ｄと１０４ｅは同値である。
【００５５】
記憶容量１０４ｅと１０４ｆとの間の記憶領域は、ＯＥＭに使用される記憶領域であり、上述したようにＯＥＭの要求で決定される固有情報１０７ｅが書き込まれる。
【００５６】
記憶容量１０４ｆと１０４ｇとの間の記憶領域は、ＯＥＭ又はユーザに使用される記憶領域であり、ＯＥＭ又はユーザの設定によりデータの書込みが行われる。
【００５７】
記憶容量１０４ｇの記憶領域は、ユーザに使用される記憶領域であり、ユーザの設定によりデータの書込みが行われる。
【００５８】
なお、記憶容量１０４ａ〜１０４ｇは、以下の式で表される関係を満たす。
【００５９】
記憶容量１０４ａ＞記憶容量１０４ｂ＞記憶容量１０４ｃ＞記憶容量１０４ｄ≧記憶容量１０４ｅ≧記憶容量１０４ｆ≧記憶容量１０４ｇ
製造元（Ｖｅｎｄｅｒ）からの出荷時、記憶容量１０４ｄ〜１０４ｇは同値となる。
【００６０】
＜ＮＡＮＤメモリの構成＞
図５は、本実施形態で使用されるＮＡＮＤメモリの概略構成図である。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈは、同じ機能及び構成を有しているので、ここでは、ＮＡＮＤメモリ１０４Ａについて説明する。なお、クラスタ１０４１及びセクタ１０４２の左に付された０〜７の番号は、クラスタ番号及びセクタ番号を示すものとする。
【００６１】
ＮＡＮＤメモリ１０４Ａは、複数のブロック（複数の消去ブロック）１０４０から構成されている。また、各ブロック１０４０は、複数のクラスタ、例えば１０２４個のクラスタ１０４１から構成されている。各クラスタ１０４１は、所定個数のセクタ群、例えば８つのセクタ１０４２から構成されている。８つのセクタから各クラスタが構成されている場合、各クラスタのデータサイズは４ＫＢである。また、本実施形態では、１ＭＢのデータサイズを有するクラスタも使用できる。データのリード／ライトは、クラスタ単位（所定数のセクタ群単位）で実行される。
【００６２】
＜統計情報の構成＞
図６は、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータに含まれる統計情報と、その項目、及び更新タイミングの一例を示す図である。本実施形態におけるＳＳＤ１０では、上述したように、初回起動時から生涯にわたって収集される生涯型統計情報とは別に、ＳＳＤ１０の動作状況に基づく月次型統計情報（以下、「月次情報」という。）が、図４に示すＳ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂに記憶される。
【００６３】
この月次情報はＳＳＤ１０の動作状況に関する統計量を示す統計情報である。制御部１０３は、予め決められた複数の項目（例えば、リード動作、ライト動作、イレーズ動作、ウェアレベリング動作、等）それぞれに関する統計情報（実行回数等）を一定期間毎に生成し、生成した統計情報をＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶領域に格納する。一定期間とは、ＳＳＤ１０の稼働時間を一定時間で区切った期間である。一定期間は、例えば１ヶ月に相当する期間である。なお、１ヶ月分の期間が経過したか否かの決定は必ずしも暦に従う必要はなく、例えば、ＳＳＤ１０の稼働時間の合計が１６０時間に達したことを、１ヶ月分の期間が経過したとして判定してもよい。この判定方法は、例えば、ＳＳＤ１０の稼働時間（ＳＳＤ１０が電源オンされている時間）が１日当たり８時間であり、ユーザがＳＳＤ１０を１ヶ月当たりに２０日使用することを前提としたものである。
【００６４】
以下の説明では、制御部１０３に設けられる内部カウンタの値が予め定めた値（例えば、１ヶ月に相当するカウント値＝１６０時間）に達する度に、月次情報を生成および格納する場合を想定する。内部カウンタは、ＳＳＤ１０が電源オンされている時間をカウントする。このような内部カウンタを用いることにより、ＳＳＤ１０にリアルタイムクロックのような時計を設けずとも、月次情報の生成および格納が可能となる。
【００６５】
月次情報は、例えば、ホスト側インターフェースに関する統計情報、データマネージャに関する統計情報、セキュリティマネージャに関する統計情報、ＡＴＡドライバに関する統計情報、およびＮＡＮＤドライバに関する統計情報を含む。各統計情報は、例えば、１レコードが１６バイトの２５６レコードから構成されている。
【００６６】
ホスト側インターフェースの統計情報は、例えば、リードコマンド受信数、及びライトコマンド受信数である。リードコマンド受信数は、一定期間中に、ホスト装置８からのリードコマンドを受信した回数を示す。ライトコマンド受信数は、一定期間中に、ホスト装置８からのライトコマンドを受信した回数を示す。リードコマンド受信数及びライトコマンド受信数は、リードコマンド受信時及びライトコマンド受信時を更新タイミングとしてインクリメント（＋１）される。
【００６７】
データマネージャの統計情報は、例えば、ＮＡＮＤメモリの最大消去回数及び消去ブロック数がある。最大消去回数は、一定期間中における、ＮＡＮＤメモリの全ブロック中の最大消去数を示す。消去ブロック数は、一定期間中においてイレーズされたブロックの数を示す。最大消去回数の更新タイミングはブロック消去時である。ブロック消去時には、全ブロック中の最大消去数が最大消去回数の現在値よりも大であるか否かが判定され、全ブロック中の最大消去数が最大消去回数の現在値よりも大であれば、最大消去回数が＋１される。消去ブロック数の更新タイミングはブロック消去時である。ブロック消去時には、消去ブロック数は＋１される。また、データマネージャの統計情報は、一定期間中における総リードデータ量（リードされた総セクタ数）、および一定期間中における総ライトデータ量（ライトされた総セクタ数）などを含み得る。
【００６８】
セキュリティマネージャの統計情報、例えば、ユーザパスワード設定回数及びファームウエアダウンロード回数である。ユーザパスワード設定回数は、一定時間内にユーザパスワードが設定された回数を示す。ファームウエアダウンロード回数は、一定時間内にファームウエアがダウンロードされた回数を示す。ユーザパスワード設定回数は、ユーザパスワード設定時を更新タイミングとしてインクリメント（＋１）される。また、ファームウエアダウンロード回数は、ファームウエアアップデート時を更新タイミングとしてインクリメント（＋１）される。
【００６９】
ＡＴＡドライバの統計情報として、例えば、ハードウエアリセット回数及びソフトウエアリセット回数がある。ハードウエアリセット回数は、ハードウエアリセット時を更新タイミングとしてインクリメント（＋１）される。ソフトウエアリセット回数は、ソフトウエアリセット時を更新タイミングとしてインクリメント（＋１）される。
【００７０】
ＮＡＮＤドライバの統計情報は、例えば、ＮＡＮＤ書込み総量及び消去失敗回数である。ＮＡＮＤ書込み総量は、ＮＡＮＤ書込み時を更新タイミングとして現在値に加算される。消去失敗回数は、消去失敗時を更新タイミングとしてインクリメント（＋１）される。
【００７１】
＜動作＞
図７は、月次情報の記憶内容の例を示す概略図であり、図８は、月次情報の記憶手順を示すフローチャートである。以下に、各図を参照しつつ、月次情報の記憶動作を説明する。ここでは、上述したホスト側インターフェースの統計情報であるリードコマンド受信数について、１ヶ月毎に月次情報を作成する手順を説明する。なお、図７に示す数値のマトリックスは、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに月単位で記録された月次情報を示している。図７では、５ヶ月分の月次情報を格納する場合を想定している。ＮＡＮＤメモリには、１ヶ月前の月次情報、２ヶ月前の月次情報、３ヶ月前の月次情報、４ヶ月前の月次情報、５ヶ月前以前の月次情報それぞれに対応する５つの月次情報記憶領域が用意されている。
【００７２】
制御部１０３は、ＳＳＤ１０が３月１日に稼動を開始すると（ステップＳ１）、リードコマンドを受信する毎（ステップＳ２：Ｙｅｓ）にリードコマンド受信数をインクリメントする（ステップＳ３）。集計時である１ヶ月後の４月１日になると（ステップＳ４：Ｙｅｓ）、その時点でのリードコマンド受信数、例えば“１０”が、コピーされた月次情報として１ヶ月前の領域に記憶される（ステップＳ５）。すなわち、制御部１０３は、３月１日からリードコマンド受信数を監視し初めて、ホスト装置８から受信されたリードコマンドの受信数をカウントする。そして、４月１日になると、具体的には、初回起動時（３月１日）からのＳＳＤ１０の稼働時間の合計が１６０時間に達すると、制御部１０３は、リードコマンドの受信数のカウント値を取得し、そのカウント値（“１０”）を含む月次情報を生成し、その生成した月次情報を、ＮＡＮＤメモリに用意された１ヶ月前の月次情報に対応する記憶領域に格納する。
【００７３】
制御部１０３は、上記したステップＳ２〜Ｓ４の処理を繰り返し行い、２ヶ月後の５月１日になると（Ｓ４：Ｙｅｓ）、制御部１０３は、リードコマンド受信数、例えば“３０”を、月次情報として１ヶ月前の領域に記憶し、２ヶ月前の領域にリードコマンド受信数“１０”を記憶する（ステップＳ５）。具体的には、制御部１０３は、３月１日からリードコマンド受信数を監視し初めて、ホスト装置８からのリードコマンドの受信数をカウントする。そして、５月１日になると、具体的には、前回の月次情報生成時からのＳＳＤ１０の稼働時間の合計が１６０時間に達すると、制御部１０３は、リードコマンドの受信数のカウント値を再び取得し、そのカウント値（“３０”）を含む月次情報を生成する。そして、制御部１０３は、１ヶ月前の月次情報に対応する記憶領域に既に格納されている月次情報（“１０”）を、２ヶ月前の月次情報に対応する記憶領域に移動し、そして、生成した月次情報（“３０”）を、１ヶ月前の月次情報に対応する記憶領域に格納する。
【００７４】
以降、集計時毎、つまり一定時間毎に上述した動作を繰り返す。
【００７５】
このように集計時に月次情報をＮＡＮＤメモリ１０４Ａ〜１０４Ｈに時系列で記憶することにより、リードコマンド受信数について、一定期間毎の動作履歴を容易かつ速やかに把握することができる。更に、記憶された月次情報を情報処理装置１の操作に基づいて動作するアプリケーションを用いてＳＳＤ１０から読み出し、情報処理装置１のＣＰＵ１１５で演算処理することにより、ヒストグラム等のデータの作成、画面表示等の出力も容易に行うことが可能になる。なお、上述した月次情報の作成においては一定期間が不変である場合について説明したが、ＳＳＤ１０の稼動状況に応じて前回集計時から次回集計時までの間隔を調整するようにしても良い。
【００７６】
また、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶された月次情報を、ＳＳＤ１０から情報処理装置１を介して外部に接続された機器で読み出すようにしても良い。この場合、ＳＳＤ１０を情報処理装置１本体に収容した状態で、ＳＳＤ１０の一定期間における動作履歴を把握することが可能になる。
【００７７】
なお、以上の月次情報取得方法の例では、リードコマンド受信数のカウント値を月毎にクリアしない場合について説明したが、月毎にリードコマンド受信数のカウント値をクリアするようにしてもよい。
【００７８】
図９は、月次情報の記憶内容の他の例を示す概略図であり、図１０は、月次情報の記憶手順の他の例を示すフローチャートである。
【００７９】
制御部１０３は、ＳＳＤ１０が３月１日に稼動を開始すると（ステップＳ１１）、リードコマンドを受信する毎（ステップＳ１２：Ｙｅｓ）にリードコマンド受信数をインクリメントする（ステップＳ１３）。集計時である１ヶ月後の４月１日になると（ステップＳ１４：Ｙｅｓ）、その時点でのリードコマンド受信数、例えば“１０”が、コピーされて月次情報として１ヶ月前の領域に記憶する（ステップＳ１５）。次に、制御部１０３は、前回集計時から本集計時にかけての集計値をクリアする（ステップＳ１６）。
【００８０】
すなわち、制御部１０３は、３月１日からリードコマンド受信数を監視し初めて、ホスト装置８からのリードコマンドの受信数をカウントする。そして、４月１日になると、具体的には、初回起動時（３月１日）からのＳＳＤ１０の稼働時間の合計が１６０時間に達すると、制御部１０３は、リードコマンドの受信数のカウント値を取得し、そのカウント値（“１０”）を含む月次情報を生成し、その生成した月次情報を、ＮＡＮＤメモリに用意された１ヶ月前の月次情報に対応する記憶領域に格納する。そして、制御部１０３は、リードコマンドの受信数のカウント値をクリアする。
【００８１】
制御部１０３は、上記したステップＳ１２〜Ｓ１４の処理を繰り返し行い、２ヶ月後の５月１日になると（Ｓ１４：Ｙｅｓ）、リードコマンド受信数、例えば“２０”を、月次情報として１ヶ月前の領域に記憶し、２ヶ月前の領域にリードコマンド受信数“１０”を記憶する（ステップＳ１５）。そして、現在のリードコマンド受信数の集計値“２０”をクリアする（ステップＳ１６）。
【００８２】
具体的には、制御部１０３は、４月１日からリードコマンド受信数を再度監視し初めて、４月１日以降にホスト装置８から送信されるリードコマンドの受信数をカウントする。そして、５月１日になると、具体的には、前回の月次情報生成時からのＳＳＤ１０の稼働時間の合計が１６０時間に達すると、制御部１０３は、リードコマンドの受信数のカウント値を再び取得し、そのカウント値（“２０”）を含む月次情報を生成する。そして、制御部１０３は、１ヶ月前の月次情報に対応する記憶領域に既に格納されている月次情報（“１０”）を、２ヶ月前の月次情報に対応する記憶領域に移動し、そして、生成した月次情報（“２０”）を、１ヶ月前の月次情報に対応する記憶領域に格納する。次いで、制御部１０３は、リードコマンドの受信数のカウント値をクリアする。
【００８３】
以降、集計時毎、つまり一定時間毎に上述した動作を繰り返す。この結果、最新の５ヶ月分の月次情報がＮＡＮＤメモリに格納される。
【００８４】
なお、５ヶ月前の月次情報に対応する記憶領域には、５ヶ月前の１ヶ月の期間内に対応するリードコマンド受信数のみを格納してもよいが、図９に示すように、５ヶ月前以前の全期間内におけるリードコマンド受信数を５ヶ月前の月次情報に対応する記憶領域に格納してもよい。
【００８５】
このように、集計時毎に、月次情報をＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶させた後にリードコマンド受信数の集計値（カウント値）をクリアすることにより、一定期間である１ヶ月の間にどれだけリードコマンドを受信したかを容易に把握することができる。
【００８６】
上述した例では、リードコマンド受信数についてのみ説明したが、実際には、図６で説明した様々な監視対象項目それぞれに関する統計量を含む月次情報が一定期間毎にＮＡＮＤメモリに格納される。このように、本実施形態では、様々な監視対象項目の統計量が月次情報として一定期間毎に生成され、各々が同じ一定期間を有する複数の期間（例えば５ヶ月）それぞれに対応する月次情報がＮＡＮＤメモリに個別に格納される。これにより、例えば、ＳＳＤ１０の故障診断時においては、ＳＳＤ１０がその故障の直前にどのように使用されていたかを速やかに把握でき、解析作業性の向上を図ることができる。
【００８７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図１】
2010512559.tif 000003
【図２】
2010512559.tif 000004
【図３】
2010512559.tif 000005
【図４】
2010512559.tif 000006
【図５】
2010512559.tif 000007
【図６】
2010512559.tif 000008
【図７】
2010512559.tif 000009
【図８】
2010512559.tif 000010
【図９】
2010512559.tif 000011
【図１０】
2010512559.tif 000012
【国際調査報告】
2010512559.tif 000013