(57)【要約】本願発明の情報処理装置は、情報の書込みおよび情報の読出しが可能な複数の記憶領域を有する不揮発性半導体メモリと、不揮発性半導体メモリに対する情報の読出しおよび情報の書込みについて不具合が生じたとき、外部に保存した不揮発性半導体メモリの記憶状態を不揮発性半導体メモリに書込み、書込んだ記憶状態を保持した状態でドライブを再起動させるメモリコントローラとしての制御部とを備えたＳＳＤを有する。
2010513993.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
情報処理装置本体と、
前記情報処理装置本体に収容される不揮発性半導体メモリドライブと、
を具備し、
前記情報処理装置本体は、
前記不揮発性半導体メモリドライブの所定の時点における記憶状態を前記不揮発性半導体メモリドライブに復元させるリロード手段と、
前記リロード手段により復元させた記憶状態を保持した状態で前記不揮発性半導体メモリドライブを再起動させる強制リセット手段と、
を有し、
前記不揮発性半導体メモリドライブは、
情報の書込みおよび情報の読出しが可能な複数の記憶領域を有する前記不揮発性半導体メモリと、
前記情報処理装置本体から入力した前記所定の時点における記憶状態を前記不揮発性半導体メモリに書込み、この書込んだ記憶状態を前記不揮発性半導体メモリに保持した状態で前記不揮発性半導体メモリドライブを再起動させるメモリ制御手段と、
を有する、
情報処理装置。
【請求項２】
前記不揮発性半導体メモリドライブの前記メモリ制御手段は、前記情報処理装置本体の前記強制リセット手段からの指示によって前記不揮発性半導体メモリドライブを再起動させる場合、前記不揮発性半導体メモリドライブの状態の保存を行わない請求項１記載の情報処理装置。
【請求項３】
前記不揮発性半導体メモリドライブは、書き込み消去回数を平均化するウェアレベリング機能を有し、前記メモリ制御手段は、前記情報処理装置本体の前記強制リセット手段からの指示によって前記不揮発性半導体メモリドライブを再起動させる場合、前記ウェアレベリング機能を無効にする請求項１記載の情報処理装置。
【請求項４】
情報処理装置本体に収容される不揮発性半導体メモリドライブであって、
情報の書込みおよび情報の読出しが可能な複数の記憶領域を有する不揮発性半導体メモリと、
前記情報処理装置本体から入力した前記不揮発性半導体メモリドライブの所定の時点における記憶状態を前記不揮発性半導体メモリに書込み、この書込んだ記憶状態を前記不揮発性半導体メモリに保持した状態で前記不揮発性半導体メモリドライブを再起動させるメモリ制御手段と、
を具備する不揮発性半導体メモリドライブ。
【請求項５】
前記メモリ制御手段は、前記情報処理装置本体からの強制リセット指示によって前記不揮発性半導体メモリドライブを再起動させる場合、前記不揮発性半導体メモリドライブの状態の保存を行わない請求項４記載の不揮発性半導体メモリドライブ。
【請求項６】
書き込み消去回数を平均化するウェアレベリング機能を有し、
前記メモリ制御手段は、前記情報処理装置本体からの強制リセット指示によって前記不揮発性半導体メモリドライブを再起動させる場合、前記ウェアレベリング機能を無効にする請求項４記載の不揮発性半導体メモリドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および不揮発性半導体メモリドライブに関する。
【背景技術】
【０００２】
従来の技術として、情報処理装置の既存の環境を損なわずにプログラムやデータの内容を所定の時点に復元するためのスナップショットを効率的に採取するコンピュータシステムが知られている（例えば、特許文献１参照）。スナップショットとは、ある時点のファイルやディスクなどのコピーイメージのことであり、定期的にファイルやディスク全体を同じディスク記憶装置や別のディスク記憶装置にコピーすることにより作成される。
【０００３】
このコンピュータシステムによると、何らかの異常でプログラムやデータを喪失しても、保管してあるスナップショットを新しいディスク記憶装置にロードすることによって、スナップショッ卜採取時のプログラムまたはデータを復元することができる。
【０００４】
ディスク記憶装置におけるプログラムやデータの喪失は、広く用いられているＨＤＤ（Hard Disk Drive）の寿命やディスク損傷によって生じるが、近年、機械駆動部分を持たないＮＡＮＤメモリ等の不揮発性半導体メモリからなる不揮発性半導体記憶装置が知られている。
【０００５】
ところで、この不揮発性半導体記憶装置では、リブートを行う際、ファームウェアが、現在の状態を保存する。従って、デバッグ環境を用意するために、スナップショットを不揮発性半導体記憶装置にリロードしてリブートすると、上記ファームウェアによる現在の状態の保存によって、リロードしたデータとの間で矛盾を生じさせてしまう。
【０００６】
この発明は、このような事情を考慮してなされたものであり、製造開発時や故障診断時に障害発生時の状態を確実に再現することのできる情報処理装置および不揮発性半導体メモリドライブを提供することを目的とする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１２００５５号公報
【発明の概要】
【０００８】
一例によれば、この発明の情報処理装置は、情報処理装置本体と、情報処理装置本体に収容される不揮発性半導体メモリドライブとを有する。情報処理装置本体は、不揮発性半導体メモリドライブの所定の時点における記憶状態を不揮発性半導体メモリドライブに復元させるリロード手段と、リロード手段により復元させた記憶状態を保持した状態で不揮発性半導体メモリドライブを再起動させる強制リセット手段を有する。不揮発性半導体メモリドライブは、情報の書込みおよび情報の読出しが可能な複数の記憶領域を有する不揮発性半導体メモリと、情報処理装置本体から入力した所定の時点における記憶状態を不揮発性半導体メモリに書込み、この書込んだ記憶状態を不揮発性半導体メモリに保持した状態で不揮発性半導体メモリドライブを再起動させるメモリ制御手段とを有する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施形態に係る情報処理装置の外観を示す概略図である。
【図２】図２は、同実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図３】図３は、同実施形態に係るＳＳＤの概略構成を示すブロック図である。
【図４】図４は、同実施形態に係るＳＳＤの記憶容量および記憶領域を示す概略図である。
【図５】図５は、同実施形態に係るＮＡＮＤメモリの概略構成図である。
【図６】図６は、同実施形態に係る情報処理装置の第１の動作を示すフローチャートである。
【図７】図７は、同実施形態に係る情報処理装置の第２の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を説明する。
【００１１】
（情報処理装置の構成）
図１は、本発明の実施の形態に係る情報処理装置１の外観を示す概略図である。この情報処理装置１は、図１に示すように、本体２と、本体２に取り付けられた表示ユニット３とから構成されている。
【００１２】
本体２は、箱状の筐体４を有し、その筐体４は、上壁４ａ、周壁４ｂ、および下壁（図示せず）を備える。筐体４の上壁４ａは、情報処理装置１を操作するユーザに近い側から順にフロント部４０、中央部４１およびバック部４２を有する。下壁は、上壁４ａの反対側に位置し、この情報処理装置１が置かれる設置面に対向する。周壁４ｂは、前壁４ｂａ、後壁４ｂｂおよび左右の側壁４ｂｃ、４ｂｄを有する。
【００１３】
フロント部４０は、ポインティングデバイスであるタッチパッド２０と、パームレスト２１と、情報処理装置１の各部の動作に連動して点灯するＬＥＤ２２とを備える。
【００１４】
中央部４１は、文字情報等を入力可能なキーボード２３ａが取り付けられるキーボード載置部２３を備える。
【００１５】
バック部４２は、着脱可能に取り付けられたバッテリパック２４と、バッテリパック２４の右側に情報処理装置１の電源を投入するための電源スイッチ２５と、バッテリパック２４の左右に表示ユニット３を回転可能に支持する一対のヒンジ部２６ａ、２６ｂとを備える。
【００１６】
筐体４の左の側壁４ｂｃには、筐体４内から外部に対して風Ｗを排出する排出口２９（図示せず）が設けられている。また、右の側壁４ｂｄには、例えば、ＤＶＤ等の光記憶媒体にデータを読み書き可能なＯＤＤ（Optical Disc Drive）２７と、各種のカードが出し入れされるカードスロット２８とが配置されている。
【００１７】
筐体４は、周壁４ｂの一部および上壁４ａを含む筐体カバーと、周壁４ｂの一部および下壁を含む筐体ベースとにより形成されている。筐体カバーは、筐体ベースに対して着脱自在に組み合わされ、筐体ベースとの間に収容空間を形成する。この収容空間には、不揮発性半導体メモリドライブとしてのＳＳＤ（Solid State Drive）１０等が収容される。なお、ＳＳＤ１０の詳細は後述する。
【００１８】
表示ユニット３は、開口部３０ａを有するディスプレイハウジング３０と、表示画面３１ａに画像を表示可能なＬＣＤ等からなる表示部３１とを備える。表示部３１はディスプレイハウジング３０に収容され、表示画面３１ａは開口部３０ａを通じてディスプレイハウジング３０の外部に露出している。
【００１９】
筐体４内には、上述のＳＳＤ１０、バッテリパック２４、ＯＤＤ２７およびカードスロット２８の他に、図示しないメイン回路基板、拡張モジュールおよびファン等が収容されている。
【００２０】
図２は、本発明の実施の形態に係る情報処理装置の概略構成を示すブロック図である。
【００２１】
この情報処理装置１は、図２に示すように、上述のＳＳＤ１０、ＵＳＢ（Universal Serial Bus）デバイス１１、拡張モジュール１２、ファン１３、タッチパッド２０、ＬＥＤ２２、キーボード２３ａ、電源スイッチ２５、ＯＤＤ２７、カードスロット２８および表示部３１の他に、各部を制御する組込システムであるＥＣ（Embedded Controller）１１１と、ＢＩＯＳ（Basic Input Output System）１１２ａを格納するフラッシュメモリ１１２と、ＬＳＩ（Large Scale Integration）チップであり各種バスおよびＩ／Ｏコントローラとして機能するサウスブリッジ１１３と、ＬＳＩチップであり後述するＣＰＵ（Central Processing Unit）１１５、ＧＰＵ（Graphic Processing Unit）１１６、メインメモリ１１７および各種バスとの接続を制御するノースブリッジ１１４と、各種信号を演算処理する主制御部としてのＣＰＵ１１５と、映像信号を演算処理して表示制御するＧＰＵ１１６と、ＣＰＵ１１５により読み書きされるメインメモリ１１７とを有する。
【００２２】
拡張モジュール１２は、拡張回路基板と、拡張回路基板に設けられたカードソケットと、カードソケットに挿入された拡張モジュール基板とを備える。カードソケットは、例えば、Ｍｉｎｉ−ＰＣＩ等の規格に基づいており、拡張モジュール基板は、例えば、３Ｇ（3rd Generation）モジュール、テレビチューナー、ＧＰＳモジュール、およびＷｉｍａｘ(登録商標)モジュール等が挙げられる。
【００２３】
ファン１３は、筐体４内を送風に基づいて冷却する冷却部であり、筐体４内の空気を排出口（図示せず）を介して風Ｗとして外部に排出する。
【００２４】
なお、ＥＣ１１１、フラッシュメモリ１１２、サウスブリッジ１１３、ノースブリッジ１１４、ＣＰＵ１１５、ＧＰＵ１１６およびメインメモリ１１７は、メイン回路基板に実装された電子部品である。
【００２５】
（ＳＳＤの構成）
図３は、本発明の実施の形態に係るＳＳＤ１０の概略構成を示すブロック図である。ＳＳＤ１０は、図３に示すように、温度センサ１０１と、コネクタ１０２と、制御部１０３と、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈと、ＤＲＡＭ１０５と、電源回路１０６と、を備えて概略構成されており、データやプログラムを記憶し、電源を供給しなくても記録が消えない外部記憶装置である。従来のハードディスクドライブのような磁気ディスクやヘッド等の駆動機構を持たないが、ＮＡＮＤメモリの記憶領域に、ＯＳ（Operating System）等のプログラム、ユーザやソフトウエアの実行に基づいて作成されたデータ等を従来のハードディスクドライブと同様に読み書き可能に長期的に保存でき、情報処理装置１の起動ドライブとして動作することのできる不揮発性半導体メモリからなるドライブである。
【００２６】
メモリコントローラとしての制御部１０３は、コネクタ１０２、８個のＮＡＮＤメモリ１０４Ａ〜１０４Ｈ、ＤＲＡＭ１０５、および電源回路１０６にそれぞれ接続されている。
【００２７】
また、制御部１０３は、コネクタ１０２を介してホスト装置８に接続され、必要に応じて外部装置９に接続される。また、制御部１０３には、ＳＳＤ１０に対するデータの読込みおよびデータの書込みに不具合が生じたとき、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態を読出して外部に保存させるとともに、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈについて外部に保存されている記憶状態をＮＡＮＤメモリ１０４Ａ〜１０４Ｈに書き戻して復元する環境保存復元部１０３Ａが設けられている。
【００２８】
電源７は、バッテリパック２４または図示しないＡＣアダプタであり、例えば、ＤＣ３．３Ｖがコネクタ１０２を介して電源回路１０６に供給される。また、電源７は、情報処理装置１全体に対して電力を供給する。
【００２９】
ホスト装置８は、本実施の形態ではメイン回路基板であり、メイン回路基板に実装されたサウスブリッジ１１３と制御部１０３との間が接続されている。サウスブリッジ１１３と制御部１０３との間は、例えば、シリアルＡＴＡ等の規格に基づいてデータの送受信が行われる。
【００３０】
外部装置９は、情報処理装置１とは異なる他の情報処理装置である。外部装置９は、情報処理装置１から取り外されたＳＳＤ１０に対して、例えば、ＲＳ−２３２Ｃ等の規格に基づいて制御部１０３に接続され、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶されたデータを読み出す機能を有する。
【００３１】
ＳＳＤ１０が実装される基板は、例えば、１．８インチタイプまたは２．５インチタイプのＨＤＤ（Hard disk drive）と同等の外形サイズを有する。なお、本実施の形態では、１．８インチタイプと同等である。
【００３２】
制御部１０３は、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対する動作を制御する。具体的には、制御部１０３は、ホスト装置８からの要求に応じて、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータの読出しおよびデータの書込みを制御する。データの転送速度は、例えば、データ読出し時で１００ＭＢ／Ｓｅｃ、書込み時で４０ＭＢ／Ｓｅｃである。
【００３３】
ＮＡＮＤメモリ１０４Ａ〜１０４Ｈは、１つの記憶容量が、例えば、１６ＧＢの不揮発性の半導体メモリであって、例えば、１つのメモリセルに２ビットを記録可能なＭＬＣ（Multi Level Cell）−ＮＡＮＤメモリ（多値ＮＡＮＤメモリ）である。ＭＬＣ−ＮＡＮＤメモリは、ＳＬＣ（Single Level Cell）−ＮＡＮＤメモリに比較して、一般に書き換え可能回数は劣るが、記憶容量の大容量化は容易である。
【００３４】
ＤＲＡＭ１０５は、制御部１０３の制御によりＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対するデータの読出しおよびデータの書込みが行われる際に一時的にデータが格納されるバッファである。
【００３５】
コネクタ１０２は、シリアルＡＴＡ等の規格に基づいた形状を有する。なお、制御部１０３および電源回路１０６は、別々のコネクタによりホスト装置８および電源７にそれぞれ接続されていてもよい。
【００３６】
電源回路１０６は、電源７から供給されたＤＣ３．３Ｖを、例えば、ＤＣ１．８Ｖ、１．２Ｖ等に変換するとともに、それら３種類の電圧をＳＳＤ１０の各部の駆動電圧に合わせて各部に供給する。
【００３７】
（ＳＳＤの記憶容量について）
図４は、本発明の実施の形態に係るＳＳＤ１０の記憶容量および記憶領域を示す概略図である。ＳＳＤ１０の記憶容量は、図４に示すように、記憶容量１０４ａ〜１０４ｇで構成される。
【００３８】
記憶容量１０４ａは、ＮＡＮＤ  Ｃａｐａｃｉｔｙであり、すべてのＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶領域を用いた最大の記憶容量である。例えば、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶容量がそれぞれ１６ＧＢであるとき、記憶容量１０４ａは、１２８ＧＢである。また、記憶容量１０４ａは、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）の製造情報書込みコマンドのＮＡＮＤ構成情報で与えられる。
【００３９】
記憶容量１０４ｂは、Ｍａｘ  Ｌｏｇｉｃａｌ  Ｃａｐａｃｉｔｙであり、ＬＢＡ（Logical Block Addressing）でアクセスできる最大の記憶容量である。
【００４０】
記憶容量１０４ｃは、Ｓ．Ｍ．Ａ．Ｒ．Ｔログ領域開始ＬＢＡであり、記憶容量１０４ｂと以下に説明する記憶容量１０４ｄとを分割するために設けられる。詳細は後述する。
【００４１】
記憶容量１０４ｄは、Ｖｅｎｄｅｒ  Ｎａｔｉｖｅ  Ｃａｐａｃｉｔｙであり、ユーザ使用領域として与えられる最大の記憶容量である。ＡＴＡ特殊コマンドの初期Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅデータで与えられる。また、記憶容量１０４ｄは、ＩＤＥＭＡ（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）ログデータ１０７ｂが格納される。また、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂは、ファームウエア内部で記録される際、ＬＢＡをキーにしてアクセスされるものであり、ホスト装置８から通常のＲｅａｄコマンドまたはＷｒｉｔｅコマンドでアクセスされることはない。
【００４８】
記憶容量１０４ｃと１０４ｄとの間の記憶領域には、例えば、記憶容量２ＭＢの未使用の記憶領域が設定される。これは、ＬＢＡの最小記憶単位が８セクタであり、４ＫＢに相当する記憶単位（大きな記憶単位は１ＭＢ）であるのに対して、実際のデータの最小記録単位は当然１セクタであるため、１ＭＢ以上の記憶容量の空き記憶領域を設けることで、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．ログデータ１０７ｂと、記憶容量１０４ｄ以下に記録されるデータとをそれぞれ独立して扱うためである。
【００４９】
記憶容量１０４ｄと１０４ｅとの間の記憶領域は、未使用であり、特別な場合を除いて記憶容量１０４ｄと１０４ｅは同値である。
【００５０】
記憶容量１０４ｅと１０４ｆとの間の記憶領域は、ＯＥＭに使用される記憶領域であり、上述したようにＯＥＭの要求で決定される固有情報１０７ｅが書き込まれる。
【００５１】
記憶容量１０４ｆと１０４ｇとの間の記憶領域は、ＯＥＭまたはユーザに使用される記憶領域であり、ＯＥＭまたはユーザの設定によりデータの書込みが行われる。
【００５２】
記憶容量１０４ｇの記憶領域は、ユーザに使用される記憶領域であり、ユーザの設定によりデータの書込みが行われる。
【００５３】
なお、記憶容量１０４ａ〜１０４ｇは、以下の式２で表される関係を満たす。
【００５４】
記憶容量１０４ａ＞記憶容量１０４ｂ＞記憶容量１０４ｃ＞記憶容量１０４ｄ
≧記憶容量１０４ｅ≧記憶容量１０４ｆ≧記憶容量１０４ｇ  …  式２
製造元（Ｖｅｎｄｅｒ）からの出荷時、記憶容量１０４ｄ〜１０４ｇは同値となる。
【００５５】
（ＮＡＮＤメモリの構成）
図５は、本発明の実施の形態に係るＮＡＮＤメモリの概略構成図である。ＮＡＮＤメモリ１０４Ａ〜１０４Ｈは、同じ機能および構成を有しているのでＮＡＮＤメモリ１０４Ａについて説明する。なお、一例として、クラスタ１０４１およびセクタ１０４２の左に付された０〜７の番号は、クラスタ番号およびセクタ番号を示すものとする。
【００５６】
ＮＡＮＤメモリ１０４Ａは、複数のブロック１０４０から構成されている。また、ブロック１０４０は、１０２４個のクラスタ１０４１から構成されており、クラスタ１０４１は、さらに８個のセクタ１０４２から構成されている。
【００５７】
（動作）
図６は、本発明の実施の形態に係る情報処理装置１の第１の動作を示すフローチャートである。第１の動作は、ＳＳＤ１０が稼動している状態で不具合が生じる前に環境を保存するものである。以下に、図１から図５の図面を参照しつつ、情報処理装置１の動作について説明する。
【００５８】
まず、ユーザが情報処理装置１の電源スイッチ２５を操作することによって電源をＯＮすることにより（Ｓ１）、サウスブリッジ１１３からＳＳＤ１０に対して起動の指示が与えられ、ＳＳＤ１０の温度センサ１０１、制御部１０３、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈ、ＤＲＡＭ１０５に通電される。次に、ＳＳＤ１０の管理データ１０７ａに含まれるブートローダがＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶されているファームウエア（ＦＷ）をＤＲＡＭ１０５に読込んで展開する（Ｓ２）。ＤＲＡＭ１０５に展開されたファームウエアは、更にＮＡＮＤメモリ１０４Ａ〜１０４Ｈに記憶されている記憶状態を読込む。このことによりＳＳＤ１０が起動し（Ｓ３）、通常動作を行う（Ｓ４）。
【００５９】
ＳＳＤ１０の通常動作時に、例えば、読込み不可等の重大なエラーが生じることが判っている動作を行う前に、制御部１０３の環境保存復元部１０３Ａは、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの現在の記憶状態についての状態読出しコマンドを出力する（Ｓ５のＹｅｓ）。制御部１０３は、状態読出しコマンドに基づいてＮＡＮＤメモリ１０４Ａ〜１０４Ｈの現在の記憶状態を全て読出し、ホスト装置８としてのサウスブリッジ１１３からＵＳＢバスを介してＵＳＢ端子１１に接続された外部の大容量記憶装置等に保存する（Ｓ６）。なお、情報処理装置１の外部に設けられる大容量記憶装置等の接続は、ＵＳＢ接続以外の他の接続方法であっても良い。また、カードスロット２８に挿入された大容量のメモリカード等の記憶媒体に読出した記憶状態を保存しても良い。
【００６０】
上述したＳＳＤ１０では、電源が投入されるとＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対する書込み消去回数が平均化するようにウェアレベリングを行っており、そのことによってＮＡＮＤメモリ１０４Ａ〜１０４Ｈの状態は逐次変化する。そのため、不具合が発生する前に現在動作中の環境を保存することで、不具合が発生する環境がウェアレベリングによって消失することがなく、後に障害解析を行うことが可能になる。
【００６１】
しかしながら、ＳＳＤ１０の動作の態様により、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態は逐次変化していくので、外部に保存した記憶内容をＮＡＮＤメモリ１０４Ａ〜１０４Ｈに書込んで復元しただけでは、書込み後の動作に伴いＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態が直ちに変化してしまい、不具合の原因を分析するための解析が不可能になってしまう。そのため、保存した環境に基づいて不具合を生じる前の環境を再現する第２の動作について説明する。
【００６２】
図７は、本発明の実施の形態に係る情報処理装置１の第２の動作を示すフローチャートである。第２の動作は、ＳＳＤ１０が稼動している状態で不具合が生じる前に環境を一旦外部に保存し、その環境を書込んだ後に速やかに再起動させるものである。
【００６３】
図７において、ステップ（Ｓ１１）〜（Ｓ１４）は、図６に示す第１の動作で説明したステップ（Ｓ１）〜（Ｓ４）と同じであるので重複する説明を省略し、ステップ（Ｓ１５）以降について説明する。
【００６４】
第２の動作では、ＳＳＤ１０の通常動作時に、例えば、読込み不可等の重大なエラーが生じることが判っている動作を行う前に、制御部１０３の環境保存復元部１０３Ａは、ＮＡＮＤメモリ１０４Ａ〜１０４Ｈの現在の記憶状態についてのリセットコマンドを出力する（Ｓ１５のＹｅｓ）。制御部１０３は、リセットコマンドに基づいてＮＡＮＤメモリ１０４Ａ〜１０４Ｈの現在の記憶状態を全て読出し、前述したようにホスト装置８としてのサウスブリッジ１１３からＵＳＢバスを介してＵＳＢ端子１１に接続された外部の大容量記憶装置等に保存する（Ｓ１６）。ここで「リセット」とは、ＳＳＤ１０に現在のＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態とは異なる、現在よりも前のＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態を外部の大容量記憶装置等から読込んで書込み、通常の終了手
順を経ずにＳＳＤ１０を再起動させる動作をいう。リセットコマンドを出力するタイミングは、例えば、製造者によって与えられる予め定められた条件を満たすときである。
【００６５】
次に、環境保存復元部１０３Ａは、情報処理装置１のＵＳＢ端子１１に接続されている大容量記憶装置等に保存したＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態をサウスブリッジ１１３を介して読込み、再びＳＳＤ１０に書込む（Ｓ１７）。書込み後、制御部１０３はＳＳＤ１０に対して書込まれた記憶状態を保持し、ウェアレベリングが実行されないようにＳＳＤ１０を再起動させる（Ｓ１８）。
【００６６】
このようにしてＳＳＤ１０を再起動させることにより、外部から書込まれたＮＡＮＤメモリ１０４Ａ〜１０４Ｈの以前の記憶状態がＮＡＮＤメモリ１０４Ａ〜１０４Ｈに展開される。なお、リセットコマンドに基づいて外部からＳＳＤ１０のＮＡＮＤメモリ１０４Ａ〜１０４Ｈに書込まれる記憶状態については、大容量記憶装置等に保存された複数の記憶状態から選択されたものであっても良い。また、ＳＳＤ１０に重大なエラーが生じることが発見され検証のために第１の動作を行うか、あるいは第２の動作を行うかは予め設定することができる。
【００６７】
また、通常動作中にリセットコマンドの入力がなく（Ｓ１５のＮｏ）、例えば、ユーザによるキーボード２３ａの入力操作によって情報処理装置１の終了指示（例えば、ｓｔａｎｄｂｙコマンド）があったとき（Ｓ１９）、制御部１０３は、現在のＮＡＮＤメモリ１０４Ａ〜１０４Ｈの記憶状態を保存する（Ｓ２０）。
【００６８】
上述したように、ＳＳＤ１０のＮＡＮＤメモリ１０４Ａ〜１０４Ｈに対して外部に保存した以前の記憶状態を書込み、通常の終了手順と異なる手順を経てＳＳＤ１０を再起動させることによって、以前の記憶状態をＮＡＮＤメモリ１０４Ａ〜１０４Ｈに必要に応じて再現させることができ、そのことに基づいて障害解析等の検証を行うことが可能になる。
【００６９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。。
【産業上の利用可能性】
【００７０】
この発明によれば、製造開発時や故障診断時に障害発生時の状態を確実に再現することができる。
【図１】
2010513993.tif 000003
【図２】
2010513993.tif 000004
【図３】
2010513993.tif 000005
【図４】
2010513993.tif 000006
【図５】
2010513993.tif 000007
【図６】
2010513993.tif 000008
【図７】
2010513993.tif 000009
【国際調査報告】
2010513993.tif 000010