(57)【要約】      （修正有）【課題】不揮発性記憶装置が寿命に近づいたときに、不揮発性記憶装置に対する書き込み動作を行わないようシステムを構築し、不揮発性記憶装置の信頼性劣化を防止し、不揮発性記憶装置のデータ破壊を防止する。【解決手段】情報記録システムは、不揮発性半導体メモリと揮発性半導体メモリとコントローラ回路と温度センサとインタフェース回路とを備える半導体記憶装置と、書き込み及び読み出し命令を送信するホスト装置を備える。不揮発性半導体メモリと揮発性半導体メモリは、論理アドレスに対応する物理アドレスを指定する第１情報を記録可能に構成される。不揮発性半導体メモリは、第２情報乃至第８情報を記憶するように構成される。ホスト装置は、第２情報乃至第７情報を含む複数の情報の少なくとも１つに基づいて半導体記憶装置の残り寿命を計算し、計算された残り寿命をホスト装置に接続される表示装置に表示可能に構成される。【選択図】図１
2018022495.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するためのメモリセルを備え、複数個の前記メモリセルを第１の単位とし
て前記メモリセルに記録されたデータを電気的に消去可能な不揮発性半導体メモリと、
揮発性半導体メモリと、
コントローラ回路と、
温度センサと、
インタフェース回路と、
を備える半導体記憶装置と、
この半導体記憶装置に対し書き込み及び読み出し命令を送信するホスト装置と、
を備える情報記録システムであって、
前記不揮発性半導体メモリ及び前記揮発性半導体メモリの少なくとも一つは、前記イン
タフェース回路を介して前記ホスト装置から受信する論理アドレス情報に対応する前記不
揮発性半導体メモリの物理アドレスを指定する第１情報を記録可能に構成され、
前記コントローラ回路は、前記インタフェース回路を介して前記ホスト装置から書き込
み命令を受信した際は、前記ホスト装置から受信したデータを用いて訂正符号を生成し、
前記不揮発性半導体メモリに、前記データならびに前記訂正符号を記録し、かつ、前記イ
ンタフェース回路を介して前記ホスト装置から読み出し命令を受信した際は、前記第１情
報を用いて前記不揮発性半導体メモリから読み込んだデータならびに対応する前記訂正符
号に基づいて、前記読み出したデータを訂正可能に構成され、
前記不揮発性半導体メモリは、更に半導体記憶装置の使用時間総計に基づく第２情報と
、
前記ホスト装置から受信した書き込み命令に応じて受信した書き込みデータの総量に基
づく第３情報と、
前記ホスト装置から受信した読み込み命令に応じて前記不揮発性半導体メモリから読み
出したデータの総量に基づく第４情報と、
前記コントローラ回路が、前記不揮発性半導体メモリから読み込んだデータを、対応す
る前記訂正符号を用いても、訂正することが出来なかったデータの個数に関する第５情報
と、
前記不揮発性半導体メモリのうち、データを書き込むことが出来ないと判断されたメモ
リセルの個数に応じた情報を前記第１の単位で示した第６情報と、
前記温度センサを用いて計測された温度に基づく第７情報と、
前記不揮発性半導体メモリに含まれるブロックのうちフリーブロックに応じた第８情報
と、
を記憶するように構成され、
前記ホスト装置は、前記半導体記憶装置から前記第２情報乃至前記第７情報を含む複数
の情報を取得し、前記取得した複数の情報の少なくとも１つに基づいて前記半導体記憶装
置の残り寿命を計算し、前記計算された残り寿命を前記ホスト装置に接続される表示装置
に表示可能に構成され、
前記半導体記憶装置は、前記ホスト装置から受信した削除通知で指定された論理アドレ
ス情報に基づいて、対応する物理アドレスに記録されているデータを前記第１の単位で消
去し、前記第８情報を変更可能に構成されていることを特徴とする情報記録システム。
【請求項２】
前記ホスト装置は、前記残り寿命が所定値を下回った場合、前記表示装置に表示される
アイコンの色を変更するように構成される請求項１に記載の情報記録システム。
【請求項３】
前記ホスト装置は、前記半導体記憶装置から前記複数の情報のそれぞれに対応する閾値
を取得し、前記取得した複数の情報の少なくとも１つに対応する閾値に基づいて前記残り
寿命を計算する請求項１または請求項２に記載の情報記録システム。
【請求項４】
前記第２乃至第７情報はそれぞれ属性ＩＤを備える請求項１乃至請求項３の何れか一つ
に記載の情報記録システム。
【請求項５】
前記不揮発性半導体メモリは、ＮＡＮＤ型フラッシュメモリである請求項１乃至請求項
４の何れか一つに記載の情報記録システム。
【請求項６】
前記メモリセルへ２ビットデータが記憶可能である請求項５に記載の情報記録システム
。
【請求項７】
前記メモリセルへ３ビットデータが記憶可能である請求項５に記載の情報記録システム
。
【請求項８】
揮発性半導体メモリは、ＤＲＡＭ（Dynamic Random Access Memory）であって、前記イ
ンタフェース回路と前記不揮発性半導体メモリとのバッファとして機能する請求項１乃至
請求項７の何れか一つに記載の情報記録システム。
【請求項９】
前記半導体記憶装置の容量は前記ホスト装置からアクセス可能なデータの容量よりも大
きい請求項１乃至請求項８の何れか一つに記載の情報記録システム。
【請求項１０】
前記ホスト装置は、メモリ及び不揮発性メモリをさらに備え、前記半導体記憶装置から
取得した前記複数の情報を前記メモリへ記録可能に構成され、
前記メモリへ記録した前記複数の情報を前記不揮発性メモリにバックアップし、前記不揮
発性メモリにバックアップする際、前記不揮発性メモリに記録されているデータのうち古
いデータを消去するように構成された請求項１乃至請求項９の何れか一つに記載の情報記
録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報記録システムに関する。
【背景技術】
【０００２】
コンピュータシステムに用いられる外部記憶装置として、ＮＡＮＤ型フラッシュメモリ
などの不揮発性半導体メモリを搭載したＳＳＤ（Solid State Drive）が注目されている
。フラッシュメモリは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。
ＳＳＤ内には、複数のフラッシュメモリチップ、ホスト装置からの要求に応じて各フラッ
シュメモリチップのリード／ライト制御を行うコントローラ、各フラッシュメモリチップ
とホスト装置との間でデータ転送を行うためのバッファメモリ、電源回路、ホスト装置に
対する接続インタフェースなどを備えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１７６０３号公報
【特許文献２】特開２００８−０９０５３９号公報
【特許文献３】特開２００２−３５１６２１号公報
【特許文献４】特開２００６−１８８４８号公報
【特許文献５】特開平０７−７８１０２号公報
【特許文献６】特開２００４−１５１７８５号公報
【特許文献７】特開２００５−１９００７５号公報
【特許文献８】特開２００８−９０５３９号公報
【特許文献９】特開２００１−７５８１３号公報
【特許文献１０】特許第４４８９１２７号
【特許文献１１】特許第４６３５０９２号
【非特許文献】
【０００４】
【非特許文献１】ATA/ATAPI Command Set - 2 (ACS-2) d2015r6 Feb.22.2011http://www.t13.org/Documents/UploadedDocuments/docs2011/d2015r6-ATAATAPI_Command_Set_-_2_ACS-2.pdf  ・73頁目〜74頁目、290頁目〜306頁目：SELF-MONITORING, ANALYSIS, AND REPORTING TECHNOLOGY (SMART)   ・98頁目〜99頁目、50頁目：Data Set Management Command （トリムコマンド）  ・342頁目〜365頁目：SCT Command Transport
【非特許文献２】CrystalDiskInfoマニュアル（SMART情報による不揮発性記憶装置の健康状態のモニタソフト）http://crystalmark.info/software/CrystalDiskInfo/manual-ja/http://crystalmark.info/software/CrystalDiskInfo/manual-en/
【非特許文献３】Smartmontools（SMART情報による不揮発性記憶装置の健康状態のモニタソフト）http://sourceforge.net/apps/trac/smartmontools/wiki
【非特許文献４】Samsung SSD Magician USER GUIDEhttp://www.samsungssd.com/faq
【非特許文献５】Intel Solid State Drive Toolboxhttp://downloadcenter.intel.com/Detail_Desc.aspx?lang=jpn&DwnldID=18455http://downloadcenter.intel.com/Detail_Desc.aspx?lang=eng &DwnldId=18455
【非特許文献６】S.M.A.R.T. attributes meaninghttp://www.ariolic.com/activesmart/smart-attributes/
【非特許文献７】S.M.A.R.T. attributes meaninghttp://www.siguardian.com/products/siguardian/on_line_help/s_m_a_r_t_attribute_meaning.html
【非特許文献８】Self-Monitoring, Analysis and Reporting Technology :: Attributeshttp://smartlinux.sourceforge.net/smart/attributes.php
【非特許文献９】Serial ATA International Organization: Serial ATA Revision 3.1RC Clean DRAFT 2010.09.29 ５５４頁〜５５８頁 13.9 Phy Event Counters (Optional)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一つの実施形態は、不揮発性記憶装置が寿命に近づいたときに、不揮発性記憶
装置に対する書き込み動作を行わないようシステムを構築し、不揮発性記憶装置のさらな
る信頼性劣化を防止し、不揮発性記憶装置のデータ破壊を防止する情報記録システムを提
供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を達成するために、実施形態に係る情報記録システムは、不揮発性半導体メモ
リと揮発性半導体メモリとコントローラ回路と温度センサとインタフェース回路とを備え
る半導体記憶装置と、この半導体記憶装置に対し書き込み及び読み出し命令を送信するホ
スト装置と、を備える。前記不揮発性半導体メモリは、データを記憶するためのメモリセ
ルを備え、複数個の前記メモリセルを第１の単位として前記メモリセルに記録されたデー
タを電気的に消去可能である。前記不揮発性半導体メモリ及び前記揮発性半導体メモリの
少なくとも一つは、前記インタフェース回路を介して前記ホスト装置から受信する論理ア
ドレス情報に対応する前記不揮発性半導体メモリの物理アドレスを指定する第１情報を記
録可能に構成される。前記コントローラ回路は、前記インタフェース回路を介して前記ホ
スト装置から書き込み命令を受信した際は、前記ホスト装置から受信したデータを用いて
訂正符号を生成し、前記不揮発性半導体メモリに、前記データならびに前記訂正符号を記
録し、かつ、前記インタフェース回路を介して前記ホスト装置から読み出し命令を受信し
た際は、前記第１情報を用いて前記不揮発性半導体メモリから読み込んだデータならびに
対応する前記訂正符号に基づいて、前記読み出したデータを訂正可能に構成される。前記
不揮発性半導体メモリは、第２情報、第３情報と、第４情報と、第５情報と、第６情報と
、第７情報と、第８情報と、を記憶するように構成される。前記第２情報は半導体記憶装
置の使用時間総計に基づく情報である。前記第３情報は、前記ホスト装置から受信した書
き込み命令に応じて受信した書き込みデータの総量に基づく情報である。前記第４情報は
、前記ホスト装置から受信した読み込み命令に応じて前記不揮発性半導体メモリから読み
出したデータの総量に基づく情報である。前記第５情報は、前記コントローラ回路が、前
記不揮発性半導体メモリから読み込んだデータを、対応する前記訂正符号を用いても、訂
正することが出来なかったデータの個数に関する情報である。前記第６情報は、前記不揮
発性半導体メモリのうち、データを書き込むことが出来ないと判断されたメモリセルの個
数に応じた情報を前記第１の単位で示した情報である。前記第７情報は、前記温度センサ
を用いて計測された温度に基づく情報である。前記第８情報は、前記不揮発性半導体メモ
リに含まれるブロックのうちフリーブロックに応じた情報である。前記ホスト装置は、前
記半導体記憶装置から前記第２情報乃至前記第７情報を含む複数の情報を取得し、前記取
得した複数の情報の少なくとも１つに基づいて前記半導体記憶装置の残り寿命を計算し、
前記計算された残り寿命を前記ホスト装置に接続される表示装置に表示可能に構成される
。前記半導体記憶装置は、前記ホスト装置から受信した削除通知で指定された論理アドレ
ス情報に基づいて、対応する物理アドレスに記録されているデータを前記第１の単位で消
去し、前記第８情報を変更可能に構成される。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態のコンピュータシステムの機能構成例を示すブロック図である。
【図２】図２は、制御ツールをＳＳＤに保存する場合のコンピュータシステムの機能構成例を示すブロック図である。
【図３】図３は、制御ツールをその他の外部記憶装置に保存する場合のコンピュータシステムの機能構成例を示すブロック図である。
【図４】図４は、制御ツールをＷＥＢからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。
【図５】図５は、制御ツールを光学ドライブからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。
【図６】図６は、制御ツールをＵＳＢメモリからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。
【図７】図７は、通常時ＯＳおよび緊急時ＯＳがＳＳＤに保存されている場合のコンピュータシステムの機能構成例を示すブロック図である。
【図８】図８は、通常時ＯＳおよび緊急時ＯＳが信頼性劣化したＳＳＤ以外の不揮発性記憶装置に保存されている場合のコンピュータシステムの機能構成例を示すブロック図である。
【図９】図９は、緊急時ＯＳをＷＥＢ上の記憶媒体からインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。
【図１０】図１０は、緊急時ＯＳを光学ドライブからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。
【図１１】図１１は、緊急時ＯＳをＵＳＢメモリからインストールする場合のコンピュータシステムの機能構成例を示すブロック図である。
【図１２】図１２は、ホストの階層的機能構成例を示すブロック図である。
【図１３】図１３は、コンピュータシステムの外観的構成を示す図である。
【図１４】図１４は、コンピュータシステムの他の外観的構成を示す図である。
【図１５】図１５は、ＮＡＮＤメモリチップの内部構成例を示すブロック図である。
【図１６】図１６は、ＮＡＮＤメモリチップに含まれる１個のプレーンの構成例を示す回路図である。
【図１７】図１７は、４値データ記憶方式でのしきい値分布を示す図である。
【図１８】図１８は、ＳＳＤの内部構成例を示す機能ブロック図である。
【図１９】図１９は、ＳＳＤの管理情報を示す図である。
【図２０】図２０は、ＬＢＡとＳＳＤの管理単位との関係を示す図である。
【図２１】図２１は、ＬＢＡから物理アドレスを特定する手順を示すフローチャートである。
【図２２】図２２は、ＳＳＤの読み出し動作例を示すフローチャートである。
【図２３】図２３は、ＳＳＤの読み出し動作例を示すフローチャートである。
【図２４】図２４は、ＳＳＤの書き込み動作例を示すフローチャートである。
【図２５】図２５は、ＳＳＤの書き込み動作例を示すフローチャートである。
【図２６】図２６は、ＳＳＤのＮＡＮＤメモリの整理の動作例を示すフローチャートである。
【図２７】図２７は、削除通知を受信したときのＳＳＤの動作例を示すフローチャートである。
【図２８】図２８は、ＳＳＤのエラー発生時の動作例を示すフローチャートである。
【図２９】図２９は、制御ツールの動作手順を示すフローチャートである。
【図３０】図３０は、統計情報Ｘ０１〜Ｘ１９、Ｘ２３、Ｘ２４の管理テーブルの一例を示す図である。
【図３１】図３１は、統計情報の生の値とＳＳＤの不良率の関係を示すグラフである。
【図３２】図３２は、制御ツールの他の動作手順を示すフローチャートである。
【図３３】図３３は、制御ツールの他の動作手順を示すフローチャートである。
【図３４】図３４は、制御ツールの寿命到達時処理を示すフローチャートである。
【図３５】図３５は、制御ツールの他の寿命到達時処理を示すフローチャートである。
【図３６】図３６は、制御ツールの他の寿命到達時処理を示すフローチャートである。
【図３７】図３７は、コンピュータシステムの起動時の動作手順を示すフローチャートである。
【図３８】図３８は、緊急時ＯＳがバックアップ機能を搭載している場合の、ホストの構成を示す図である。
【図３９】図３９は、コンピュータシステムの起動時のバックアップ動作を含む動作手順を示すフローチャートである。
【図４０】図４０は、ＮＡＮＤメモリの記憶内容およびファイル管理テーブルの記憶内容を示す図である。
【図４１】図４１は、バックアップ用記憶装置としてＵＳＢストレージが用いられた場合の、コンピュータシステムの機能構成例を示す図である。
【図４２】図４２は、バックアップ用記憶装置として光学記憶媒体が用いられた場合の、コンピュータシステムの機能構成例を示す図である。
【図４３】図４３は、バックアップ用記憶装置としてストレージサーバが用いられた場合の、コンピュータシステムの機能構成例を示す図である。
【図４４】図４４は、緊急時起動用ディスクを作成する時のデータの移動の概念を示す図である。
【図４５】図４５は、緊急時起動用ディスクを作成する時の動作手順を示すフローチャートである。
【図４６】図４６は、緊急時ツールを含む緊急時起動用ディスクを作成する時のデータの移動の概念を示す図である。
【図４７】図４７は、緊急時ツールを含む緊急時起動用ディスクを作成する時の動作手順を示すフローチャートである。
【図４８】図４８は、バックアップ処理をユーザへ案内する画面例を示す図である。
【図４９】図４９は、制御ツールの他の動作手順を示すフローチャートである。
【図５０】図５０は、コンピュータシステムの起動時の他の動作手順を示すフローチャートである。
【図５１】図５１は、統計情報の時系列データ例を示す図である。
【図５２】図５２は、統計情報の経時変化を示す図である。
【図５３】図５３は、統計情報の経時変化に基づき予測寿命を求める処理を概念的に示す図である。
【図５４】図５４は、ＳＳＤの寿命到達時のユーザへの案内画面例を示す図である。
【図５５】図５５は、ブートローダの復元処理を行う際のコンピュータシステムの機能構成例を示すブロック図である。
【図５６】図５６は、寿命到達時処理の際のブートローダの復元処理の動作手順を示すフローチャートである。
【図５７】図５７は、ブートローダの書き換え差分ログを示す図である。
【図５８】図５８は、緊急時ＯＳによるバックアップ動作手順を示すフローチャートである。
【図５９】図５９は、ブートローダの復元処理を行う際のコンピュータシステムの機能構成例を示すブロック図である。
【図６０】図６０は、緊急時ＯＳによるブートローダ復元処理の動作手順を示すフローチャートである。
【図６１】図６１は、第８の実施形態の全体的動作手順を示すフローチャートである。
【発明を実施するための形態】
【０００８】
不揮発性半導体メモリには、ＮＡＮＤ型フラッシュメモリのように、データを記憶させ
る場合にブロック単位で一度データを消去してからその後に書き込みを行うもの、ページ
単位で書き込み／読み出しを行うものなど、消去／書き込み／読み出しの単位が固定され
ているものがある。一方、パーソナルコンピュータなどのホスト機器がハードディスクを
はじめとする２次記憶装置に対してデータの書き込み／読み出しを行う単位は、セクタと
呼ばれる。セクタは、半導体記憶装置の消去／書き込み／読み出しの単位とは独立に定め
られる。例えば、不揮発性半導体メモリの消去／書き込み／読み出しの単位は、ホスト機
器の書き込み／読み出しの単位よりも大きい場合がある。
【０００９】
また、フラッシュメモリを用いてパーソナルコンピュータの二次記憶装置を構成する場
合、誤りが多いなどの理由によって記憶領域として使用できなくなるブロック（不良ブロ
ック、バッドブロック）や、読み出せなくなる領域（不良領域）などが生じる場合がある
。このような不良ブロック数や不良領域数が上限値を超えた場合には、新たな不良ブロッ
クや不良領域を登録することができないので、バッファメモリ（キャッシュメモリ）に格
納されているデータとライト要求のあったデータの両方をフラッシュメモリへ書き込むこ
とを保障できない。このため、不良ブロック数や不良領域数が所定値を超えた場合には、
フラッシュメモリに空き容量があるにも関わらず、突然データの書き込みが不能になると
いった問題があった。
【００１０】
それに対する解決策として、ＮＡＮＤ型フラッシュメモリで発生したバッドクラスタの
数とバッドブロックの数を管理し、バッドクラスタ数、バッドブロック数に応じて、ホス
ト装置からＮＡＮＤ型フラッシュメモリへのデータの書き込みの際の動作モードを切り替
えるという方法がある。クラスタとは、ＳＳＤでの論理アドレスとしての管理単位である
。クラスタサイズは、セクタサイズの２以上の自然数倍であり、クラスタアドレスは、Ｌ
ＢＡの所定のビットから上位のビット列で構成される。
【００１１】
この方法においては、ＳＳＤの動作モードは、例えば以下の３つのモードに分かれる。
【００１２】
・ＷＢモード（Write Back Mode）：キャッシュメモリに一旦データを書き込み、所定
の条件に基づきＮＡＮＤ型フラッシュメモリへの追い出しを行う通常の動作モード。
【００１３】
・ＷＴモード：（Write Through Mode）：一回のライト要求でキャッシュメモリに書き
込まれたデータを、ＮＡＮＤ型フラッシュメモリに都度書き込む動作モード。ＮＡＮＤ型
フラッシュメモリに都度書き込むことで、ホストから書き込まれたデータをできるだけ保
障する。ＳＳＤは、バッドクラスタテーブルまたはバッドブロックテーブルの残エントリ
数が所定数以下になったとき、ＷＴモードへと遷移する。
【００１４】
・ＲＯモード（Read Only Mode）：ＮＡＮＤ型フラッシュメモリへの書き込みを伴う処
理を全て禁ずるモード。ホストからの全てのライト要求に対してエラーを返し書き込みを
行わないようにすることで、ＳＳＤが寿命に近づいたときに、ホストからすでに書き込ま
れていたデータをできるだけ保障できるようにしている。ＳＳＤは、バッドクラスタテー
ブルまたはバッドブロックテーブルの残エントリ数が所定数以下になったとき、またはフ
リーブロックが不足となったとき、ＲＯモードへと遷移する。
【００１５】
ＷＢモード及びＷＴモードにおいては、ＳＳＤはホストからリード要求とライト要求の
両方を受け付けて処理をする。一方、ＲＯモードにおいては、ＳＳＤはホストからリード
要求を受け付けて処理をするが、ホストからのライト要求に対しては処理をせずエラーを
返す。
【００１６】
Windows(登録商標)などのオペレーティングシステム(ＯＳ)を搭載したホストに対して
ＳＳＤが接続されたとき、ホストはＳＳＤに対してライト要求を送信し、ライト要求が正
常に処理されたとき、ホストはＳＳＤを利用可能な外部記憶装置として認識する。
【００１７】
一方、上記ＲＯモードに遷移したＳＳＤがWindows(登録商標)を搭載したホストに接続
されたとき、ホストがＳＳＤに対してライト要求を送信すると、ＳＳＤはホストにエラー
を返すため、ホストはＳＳＤを利用可能な外部記憶装置として認識しない場合がある。そ
のため、読み出しは可能なＲＯモードのＳＳＤをホストに接続しても、過去に記録したデ
ータをＳＳＤから読み出せない可能性があった。
【００１８】
このように、ＳＳＤが寿命が到達した場合、あるいはＳＳＤが寿命に近づいた場合は、
ＳＳＤに対する書き込みを禁止すべきである。しかし、コンピュータシステムに搭載され
る通常のオペレーティングシステム（ＯＳ）では、ブート時にＳＳＤへの書き込みが発生
し、またユーザが意図しないＳＳＤへの書き込みがバックグラウンドで発生する。このた
め、ＳＳＤが寿命が到達した場合、あるいはＳＳＤが寿命に近づいた場合に、コンピュー
タシステムに通常のＯＳが搭載される状況下では、ＳＳＤの信頼性がさらに劣化し、既に
書き込まれているデータが破壊される可能性がある。
【００１９】
そこで、本実施形態においては、ＳＳＤが寿命に到達したと判断された場合、ブートロ
ーダを書き換え、システムを再起動した際、ＳＳＤ２に対する書き込み動作を行わない緊
急時ソフトウェアとしての例えば緊急時ＯＳが起動されるようにすることで、ＳＳＤの信
頼性劣化を防止し、既に書き込まれているデータ破壊を防止する。緊急時ＯＳとしては、
ブート時にＳＳＤに対し読み出し動作のみを行い、ユーザが意図しないバックグラウンド
でのＳＳＤへの書き込みを行わないものを採用する。
【００２０】
以下に添付図面を参照して、実施形態にかかる情報処理装置を詳細に説明する。なお、
これら実施形態により本発明が限定されるものではない。
【００２１】
（第１の実施形態）
図１にコンピュータシステムの第１の実施形態の構成を示す。本コンピュータシステム
１は、不揮発性記憶装置としてのＳＳＤ２と、ホスト装置３と、ＳＳＤ２とホスト装置３
とを結ぶメモリインタフェース１９とから構成されている。本実施形態では、不揮発性記
憶装置として、ＳＳＤ（Solid State Drive）を用いるが、たとえば、ハードディスクド
ライブ、ハイブリッドディスクドライブ、ＳＤカード、ＵＳＢメモリ、マザーボード上に
直接実装されたＮＡＮＤ型フラッシュメモリなど、他の不揮発性記憶装置であってもよい
。また、本実施形態では、インタフェース１９として、ＡＴＡ（Advanced Technology At
tachment）インタフェースを用いるが、ＵＳＢ（Universal Serial Bus）やＳＡＳ（Seri
al Attached SCSI）やThunderbolt（登録商標）やPCI Expressなど他のインタフェースで
あってもよい。ＣＰＵ（制御回路）４がホスト装置３における中央演算処理装置であり、
ホスト装置３における種々の演算及び制御はＣＰＵ４によって行われる。ＣＰＵ４はサウ
スブリッジ７を介してＳＳＤ２や、ＤＶＤ−ＲＯＭなどの光学ドライブ１０の制御を行う
。ＣＰＵ４は、ノースブリッジ５を介して、主メモリ６の制御を行う。主メモリ６として
は、たとえばＤＲＡＭを採用してよい。
【００２２】
ユーザは、キーボード１４やマウス１５などの入力装置を通してホスト装置３の制御を
行い、キーボード１４やマウス１５からの信号は、ＵＳＢ（Universal Serial Bus）コン
トローラ１３及びサウスブリッジ７を介してＣＰＵ４で処理される。ＣＰＵ４は、ノース
ブリッジ５及び表示コントローラ８を介してディスプレイ（表示装置）９に画像データや
テキストデータなどを送る。ユーザは、ディスプレイ９を介してホスト装置３からの画像
データやテキストデータなどを視認することができる。
【００２３】
ＣＰＵ４は、コンピュータシステム１の動作を制御するために設けられたプロセッサで
あり、ＳＳＤ２から主メモリ６にロードされるオペレーティングシステム（ＯＳ）１００
を実行する。更に、光学ドライブ１０が、装填された光ディスクに対して読出し処理及び
書込み処理の少なくとも１つの処理の実行を可能にした場合に、ＣＰＵ４は、それらの処
理を実行する。また、ＣＰＵ４は、ＢＩＯＳ（Basic Input/Output System）−ＲＯＭ１
１に格納されたシステムＢＩＯＳも実行する。尚、システムＢＩＯＳは、コンピュータシ
ステム１内のハードウェア制御のためのプログラムである。その他、ＣＰＵ４は、サウス
ブリッジ７を介してＬＡＮ（Local Area Network）コントローラ１２を制御する。
【００２４】
ノースブリッジ５は、ＣＰＵ４のローカルバスと接続するブリッジデバイスである。ノ
ースブリッジ５には、主メモリ６をアクセス制御するメモリコントローラも内蔵されてい
る。また、ノースブリッジ５は、表示コントローラ８との通信などを実行する機能も有し
ている。
【００２５】
主メモリ６は、プログラムやデータを一時的に記憶し、ＣＰＵ４の作業用メモリとして
機能する。主メモリ６は、ＯＳ１００を格納する記憶領域６Ａと、制御ツール２００を格
納する記憶領域６Ｂを含んでいる。ＯＳは、一般的に知られているように、ホスト装置３
の入出力装置を管理し、ディスクやメモリを管理し、ソフトウェアがホスト装置３のハー
ドウェアを利用可能にするための制御を行うなど、ホスト装置３全体を管理するプログラ
ムである。
【００２６】
表示コントローラ８は、コンピュータシステム１のディスプレイ９を制御するビデオ再
生コントローラである。サウスブリッジ７は、ＣＰＵ４のローカルバスと接続するブリッ
ジデバイスである。サウスブリッジ７は、各種ソフトウェア及びデータを格納する記憶装
置であるＳＳＤ２を、ＡＴＡインタフェース１９を介して制御する。
【００２７】
コンピュータシステム１では、論理セクタ単位でＳＳＤ２へのアクセスを行う。ＡＴＡ
インタフェース１９を介して、ライトコマンド（ライト要求）、リードコマンド（リード
要求）、フラッシュコマンド等がＳＳＤ２に入力される。
【００２８】
また、サウスブリッジ７は、ＢＩＯＳ−ＲＯＭ１１、光学ドライブ１０、ＬＡＮコント
ローラ１２、ＵＳＢコントローラ１３をアクセス制御するための機能も有している。ＵＳ
Ｂコントローラ１３にキーボード１４、マウス１５が接続されている。
【００２９】
制御ツール２００は、例えば、図２に示すように、ホスト装置３が電源オフになってい
るときはＳＳＤ２のＮＡＮＤ型フラッシュメモリ（ＮＡＮＤメモリ）１６の領域１６Ｂに
格納されているが、ホスト３の起動時またはプログラム起動時に、ＮＡＮＤメモリ１６の
領域１６Ｂから主メモリ６上の領域６Ｂにロードされる。一方、ホスト３に複数の不揮発
性記憶装置が接続されている場合は、図３に示すように、ＳＳＤ制御ツール２００は、Ｓ
ＳＤ２とは別の不揮発性記憶装置２０の領域２０Ｂに格納されており、ホスト装置３の起
動時またはプログラム起動時に、領域２０Ｂから主メモリ６上の領域６Ｂにロードされる
ようにしてもよい。特に、不揮発性記憶装置２０がＯＳを格納するシステムドライブとし
て使用されており、ＳＳＤ２が文書や静止画データや動画データなどユーザデータを格納
するデータドライブとして使用されている場合は、システムドライブ２０にはＯＳやアプ
リケーションプログラムを主として格納するドライブとして使用し、データドライブ２に
はユーザデータを格納するドライブとして使用するというように、ドライブ２とドライブ
２０の役割を明確に分ける観点で、システムドライブとしての不揮発性記憶装置２０に制
御ツールを格納することが望ましい。
【００３０】
制御ツール２００のセットアップをユーザが行う労力を省く観点では、例えば図２や図
３に示したように、制御ツール２００がＳＳＤ２や不揮発性記憶装置２０に格納された状
態でコンピュータシステム１が出荷され、店頭に並び、ユーザの手に渡ることが望ましい
。一方、ユーザが制御ツールのインストールの可否を選択できるようにする観点、および
ユーザに最新の制御ツールを提供できるようにするという観点では、制御ツール２００は
、ＷＥＢからのダウンロード、またはＤＶＤ−ＲＯＭやＵＳＢメモリなど外部記憶媒体か
らのインストールによりＳＳＤ２や不揮発性記憶装置２０に格納できるようにすることが
望ましい。
【００３１】
図４はＷＥＢからのダウンロードの一例である。制御ツール２００はＷＥＢサーバ２１
内の記憶媒体２２の領域２２Ｂに格納されており、制御ツール２００はインターネットや
ローカルネットワークや無線ＬＡＮなどのネットワークを介して、たとえばＬＡＮコント
ローラ１２を経由してＳＳＤ２のＮＡＮＤメモリ１６上の領域１６Ｂにダウンロード（ま
たはインストール）される。図３の場合は、制御ツール２００は、不揮発性記憶装置２０
上の領域２０Ｂにダウンロードまたはインストールされる。
【００３２】
図５はＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなど光学メディアからのインストールの一例であ
る。制御ツール２００はＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどの光学メディア２３に格納さ
れており、光学メディア２３が光学ドライブ１０にセットされることで、制御ツール２０
０は光学ドライブ１０を介してＳＳＤ２のＮＡＮＤメモリ１６上の領域１６Ｂ（または領
域２０Ｂ）にインストールされる。図６はＵＳＢメモリからのインストールの一例である
。制御ツール２００はＵＳＢメモリ２４の領域２４Ｂに格納されており、ＵＳＢメモリ２
４がＵＳＢコントローラ１３に接続されることで、制御ツール２００はＵＳＢコントロー
ラ１３を介してＳＳＤ２のＮＡＮＤメモリ１６上の領域１６Ｂ（または領域２０Ｂ）にイ
ンストールされる。ＵＳＢメモリ２４のかわりに、ＳＤカードなどその他外部メモリであ
ってもよいのはもちろんである。ユーザによる入手容易性の観点から、光学メディア２３
やＵＳＢメモリ２４は、ＳＳＤ２の出荷時に、付属品としてＳＳＤ２と一緒に梱包されて
販売されることが望ましい。一方、光学メディア２３やＵＳＢメモリ２４はソフトウェア
商品として単独で販売されてもよいし、雑誌や書籍の付録として付属していてもよい。
【００３３】
本実施形態では、ＯＳ１００として、通常時ＯＳ（第１のオペレーティングシステム）
１００Ａと緊急時ＯＳ（第２のオペレーティングシステム）１００Ｂの２種類が存在する
。通常時ＯＳ１００ＡはＳＳＤ２の信頼性が劣化していない場合に使用されるオペレーテ
ィングシステムである。前述したように、通常時ＯＳは、ブート時にＳＳＤへの書き込み
が発生し、またユーザが意図しないＳＳＤへの書き込みがバックグラウンドで発生する。
通常時ＯＳ１００Ａは、図７に示すように、ホスト装置３が電源オフになっているときは
ＮＡＮＤメモリ１６の領域１６Ｄに格納されている。緊急時ＯＳ１００ＢはＳＳＤ２の信
頼性が劣化した場合に使用されるオペレーティングシステムであり、ＳＳＤ２への書き込
みは行わない（書き込み非サポート）。すなわち、緊急時ＯＳは、ブート時にＳＳＤに対
し読み出し動作のみを行い、ユーザが意図しないバックグラウンドでのＳＳＤへの書き込
みを行わない。なお、緊急時ＯＳ１００Ｂは信頼性劣化した時のＳＳＤ２以外の不揮発性
記憶装置に対しては書き込みを行うことができてもよい。また、緊急時ＯＳ１００Ｂは、
緊急時ＯＳのシステム情報など一部のデータをＳＳＤ２に書き込む必要がある場合は、例
外としてＳＳＤ２に当該データを書き込むことを許可してもよいが、当該データはデータ
量がＮＡＮＤメモリ１６の容量に対して十分に小さいことが望ましい。さらに望ましくは
、ユーザが誤って書き込みコマンドを送信してしまいＳＳＤ２に対してデータを書き込ん
でしまうことを防止するために、緊急時ＯＳ１００ＢはＳＳＤ２に対する通常の書き込み
コマンドを行うことを禁止し、ＳＳＤ２に対して例外的にデータを書き込む必要がある場
合は、たとえばINCITS ACS-2に記述されているSCT Command Transportやその他ベンダー
独自のコマンドなど、特殊なコマンドを用いたコマンドのみによりＳＳＤ２に対する書き
込みを許可するようにすることが望ましい。
【００３４】
緊急時ＯＳ１００Ｂは、図７に示すように、ホスト装置３が電源オフになっているとき
はＮＡＮＤメモリ１６の領域１６Ｅに格納されている。緊急時ＯＳ１００ＢはＳＳＤ２が
正常な状態においては使用されないため、領域１６Ｅでの緊急時ＯＳデータの破壊を防止
する観点では、通常時ＯＳ使用時には領域１６Ｅはホスト装置３から書き換えできないよ
うに設定されていることが望ましい。たとえば、通常時ＯＳ１００Ａの動作時には、領域
１６Ｅには後述するＳＳＤ２の管理情報において、ＬＢＡが割り当てられていないことが
望ましく、この場合は、緊急時ＯＳ動作が必要になった後に領域１６ＥにＬＢＡが割り当
てられる。あるいは、通常時ＯＳ１００Ａの動作時には、領域１６Ｅは通常時ＯＳ１００
Ａによって書き込みプロテクトを設定されていることが望ましい。
【００３５】
ＳＳＤ２の信頼性が劣化した状態でＳＳＤ２へのアクセスを極力減らすという観点では
、緊急時ＯＳ１００Ｂが格納されている領域１６Ｅのデータ量はＮＡＮＤメモリ１６の容
量に比べて大幅に小さいことが望ましい。緊急時ＯＳ１００Ｂとしては、たとえばＭＳ−
ＤＯＳ（登録商標）やＬｉｎｕｘ（登録商標）などのＯＳにＳＳＤ２への書き込みを禁止するようなカスタ
マイズを行ったり、ＳＳＤ２のバックアップ機能を付加したりしたものを採用してもよい
し、ＳＳＤ２用に独自に開発したソフトウェアであってもよい。
【００３６】
コンピュータシステム１の電源がＯＮしたときやＯＳが再起動されたときなどのような
、コンピュータシステム１の起動時、ホスト装置３はＮＡＮＤメモリ１６の領域１６Ｃに
書き込まれているブートローダ３００を読み出し、ブートローダ３００の情報をもとに、
通常時ＯＳ１００Ａと緊急時ＯＳ１００Ｂのどちらがホスト装置３における領域６Ａにロ
ードされるかが決定される。そのためには、ブートローダ３００には読み出すべきＯＳの
ＬＢＡを示すＯＳポインタ情報ＯＳＰＴを保持させておく。ホスト装置３はブートローダ
３００の読み出し時、ＯＳポインタ情報ＯＳＰＴの示すＬＢＡを開始点として読み出しを
行い、読み出したデータを主メモリ６上の領域６Ａに書き込むようにすればよい。ブート
ローダ３００は、初期状態では、通常時ＯＳ１００Ａをロードされるように構成されてい
る。ＳＳＤ２の信頼性が劣化したのち、主メモリ６上の領域６Ｂに格納された制御ツール
２００はＮＡＮＤメモリ１６上の領域１６Ｃに記憶されているブートローダ３００を書き
換えて、緊急時ＯＳ１００Ｂを読み出すようにブートローダ３００を再構築する。ブート
ローダ３００として、たとえばマスターブートレコード（ＭＢＲ）を採用してもよいし、
ＧＵＩＤパーティションテーブル（ＧＰＴ）を採用してもよい。
【００３７】
ホスト装置３に複数の不揮発性記憶装置が接続されている場合は、ＯＳは、ＳＳＤ２と
は別の不揮発性記憶装置２０に格納されていてもよい。たとえば、図８に示すように、通
常時ＯＳと緊急時ＯＳの両方が不揮発性記憶装置２０に格納されていてもよいし、通常時
ＯＳがＳＳＤ２に格納され、緊急時ＯＳが不揮発性記憶装置２０に格納されていてもよい
し、通常時ＯＳが不揮発性記憶装置２０に格納され、緊急時ＯＳがＳＳＤ２に格納されて
いてもよい。特に、不揮発性記憶装置２０がＯＳを格納するシステムドライブとして使用
されており、ＳＳＤ２が文書や静止画データや動画データなどユーザデータを格納するデ
ータドライブとして使用されている場合は、システムドライブ２０にはＯＳやアプリケー
ションプログラムを主として格納するドライブとして使用し、データドライブ２にはユー
ザデータを格納するドライブとして使用するというように、ドライブ２とドライブ２０の
役割を明確に分ける観点で、システムドライブとしての不揮発性記憶装置２０に通常時Ｏ
Ｓが格納されていることが望ましく、さらに望ましくは、システムドライブとしての不揮
発性記憶装置２０に緊急時ＯＳも格納されていることが望ましい。
【００３８】
緊急時ＯＳのセットアップをユーザが行う労力を省く観点では、例えば図７や図８に示
したように、緊急時ＯＳがＳＳＤ２や不揮発性記憶装置２０に格納された状態でコンピュ
ータシステム１が出荷され、店頭に並び、ユーザの手に渡ることが望ましい。一方、ユー
ザが緊急時ＯＳのインストールの可否を選択できるようにする観点、およびユーザに最新
の緊急時ＯＳを提供できるようにするという観点では、緊急時ＯＳは、ＷＥＢからのダウ
ンロード、またはＤＶＤ−ＲＯＭやＵＳＢメモリなど外部記憶媒体からのインストールに
よりＳＳＤ２や不揮発性記憶装置２０に格納できるようにすることが望ましい。
【００３９】
図９はＷＥＢからのダウンロードの一例である。緊急時ＯＳはＷＥＢサーバ２１内の記
憶媒体２２の領域２２Ｅに格納されており、緊急時ＯＳはインターネットやローカルネッ
トワークや無線ＬＡＮなどのネットワークを介して、たとえばＬＡＮコントローラ１２を
経由してＳＳＤ２のＮＡＮＤメモリ１６上の領域１６Ｅにダウンロードまたはインストー
ルされる。図８の場合は不揮発性記憶装置２０上の領域２０Ｅにダウンロードまたはイン
ストールされる。
【００４０】
図１０はＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなど光学メディアからのインストールの一例で
ある。緊急時ＯＳはＤＶＤ−ＲＯＭやＣＤ−ＲＯＭなどの光学メディア２３の領域２３Ｅ
に格納されており、光学メディア２３が光学ドライブ１０にセットされることで、緊急時
ＯＳは光学ドライブ１０を介してＳＳＤ２のＮＡＮＤメモリ１６上の領域１６Ｅ（または
領域２０Ｅ）にインストールされる。図１１はＵＳＢメモリからのインストールの一例で
ある。緊急時ＯＳはＵＳＢメモリ２４の領域２４Ｅに格納されており、ＵＳＢメモリ２４
がＵＳＢコントローラ１３に接続されることで、緊急時ＯＳはＵＳＢコントローラ１３を
介してＳＳＤ２のＮＡＮＤメモリ１６上の領域１６Ｅ（または領域２０Ｅ）にインストー
ルされる。ＵＳＢメモリ２４のかわりに、ＳＤカードなどその他外部メモリであってもよ
いのはもちろんである。ユーザによる入手容易性の観点から、光学メディア２３やＵＳＢ
メモリ２４はＳＳＤ２の出荷時に、付属品としてＳＳＤ２と一緒に梱包されて販売される
ことが望ましい。一方、光学メディア２３やＵＳＢメモリ２４はソフトウェア商品として
単独で販売されてもよいし、雑誌や書籍の付録として付属していてもよい。緊急時ＯＳと
制御ツールは光学メディア２３やＵＳＢメモリ２４など同一の外部メモリに格納されてい
ることが、インストールの平易さの観点では望ましい。
【００４１】
図１２に、コンピュータシステム１のソフトウェアレベルでの階層構造を示す。主メモ
リ６上にロードされた制御ツール２００及びその他ソフトウェア（制御ツール２００以外
のソフトウェア）は、通常はＳＳＤ２と直接通信せずに、主メモリ６にロードされたＯＳ
１００を経由してＳＳＤ２と通信する。制御ツール２００やその他ソフトウェアがＳＳＤ
２に対しリード要求、ライト要求などの命令を送信する必要が生じた場合、制御ツール２
００やその他ソフトウェアは、ＯＳ１００にファイル単位のアクセス要求を送信する。Ｏ
Ｓ１００はＯＳ１００に内包されるファイル管理テーブルを参照し、アクセス要求のあっ
たファイルに対応するＳＳＤ２の論理アドレス（ＬＢＡ）を特定し、対応するＬＢＡを含
む当該インタフェース固有の命令をＳＳＤ２に送信する。ＳＳＤ２から応答が返ってきた
場合、ＯＳ１００は変換後の当該インタフェース固有の応答がどのソフトウェアに対する
応答かを特定し、特定したソフトウェアに対して応答を返す。
【００４２】
次に、コンピュータシステム１の構成例について説明する。コンピュータシステム１は
、例えば、デスクトップコンピュータやノートブック型のポータブルコンピュータとして
実現し得る。図１３は、コンピュータシステム１としてのデスクトップコンピュータの概
略図である。デスクトップコンピュータは、コンピュータ本体３１、ディスプレイ９、キ
ーボード１４、及びマウス１５などを備えている。コンピュータ本体３１は、主要なハー
ドウェアが搭載されたマザーボード３０、ＳＳＤ２、及び電源装置３２などを備えている
。ＳＳＤ２は、ＳＡＴＡケーブルを介してマザーボード３０に物理的に接続され、マザー
ボード３０上に実装されたサウスブリッジ７を介して、同じくマザーボード上に実装され
たＣＰＵ４に電気的に接続されている。電源装置３２は、デスクトップコンピュータで使
用される各種電源を発生し、電源ケーブルを介してマザーボード３０やＳＳＤ２などに電
源を供給する。
【００４３】
図１４は、コンピュータシステム１としてのポータブルコンピュータの概略図である。
ポータブルコンピュータは、コンピュータ本体３４、ディスプレイユニット３５などから
構成されている。ディスプレイユニット３５は、例えばＬＣＤ（Liquid Crystal Display
）で構成される表示装置９が組み込まれている。ディスプレイユニット３５は、コンピュ
ータ本体３４に対し、この本体３４の上面が露出される開放位置と本体３４の上面を覆う
閉塞位置との間を回動自由に取り付けられている。本体３４は薄い箱形の筐体を有してお
り、その上面には、電源スイッチ３６、キーボード１４、タッチパッド３３等が配置され
ている。また、本体３４も、デスクトップコンピュータと同様に、ＳＳＤ２、マザーボー
ド、及び電源装置などを備えている。
【００４４】
本発明を適用する情報処理機器としては、コンピュータシステム１の他に、スチルカメ
ラ或いはビデオカメラなどの撮像装置などであってもよいし、タブレットコンピュータや
スマートフォンやゲーム機器やカーナビゲーションシステムなどであってもよい。
【００４５】
つぎに、ＳＳＤ２の主な構成要素であるＮＡＮＤメモリ１６について説明する。図１５
にＮＡＮＤメモリ１６を構成するＮＡＮＤメモリチップ８０の内部構成例を示す。ＮＡＮ
Ｄメモリ１６は、１以上の数のＮＡＮＤメモリチップ８０よりなる。ＮＡＮＤメモリチッ
プ８０は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有する。メ
モリセルアレイを構成するメモリセルトランジスタは、半導体基板上に形成された積層ゲ
ート構造を備えたＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor
）から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成され
た電荷蓄積層（浮遊ゲート電極）、及び浮遊ゲート電極上にゲート間絶縁膜を介在して形
成された制御ゲート電極を含んでいる。メモリセルトランジスタは、浮遊ゲート電極に蓄
えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶
する。本実施形態では、個々のメモリセルが上位ページ及び下位ページを使用しての２bi
t/cellの４値記憶方式の書き込み方式である場合について説明するが、個々のメモリセル
が単一ページを使用しての１bit/cellの２値記憶方式の書き込み方式、または上位ページ
及び中位ページ及び下位ページを使用しての３bit/cellの８値記憶方式の書き込み方式で
ある場合、あるいは４bit/cell以上の多値記憶方式の書き込み方式を採用する場合であっ
ても本発明の本質は変わらない。また、メモリセルトランジスタは浮遊ゲート電極を有す
る構造に限らず、ＭＯＮＯＳ（Metal-Oxide-Nitride-Oxide-Silicon）型など、電荷蓄積
層としての窒化界面に電子をトラップさせることで閾値電圧を調整可能な構造であっても
よい。ＭＯＮＯＳ型のメモリセルトランジスタについても同様に、１ビットを記憶するよ
うに構成されていてもよいし、多値を記憶するように構成されていてもよい。また、不揮
発性記憶媒体として、特開２０１０−１６１１９９号公報や特開２０１１−２９５８６号
公報に記述されるような３次元的にメモリセルが配置された半導体記憶媒体であってもよ
い。
【００４６】
図１５に示すように、ＮＡＮＤメモリチップ８０は、データを記憶するメモリセルをマ
トリックス状に配置してなるメモリセルアレイ８２を備えている。メモリセルアレイ８２
は複数のビット線と複数のワード線と共通ソース線を含み、ビット線とワード線の交点に
電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモ
リセルアレイ８２には、ビット線を制御するためのビット線制御回路８３、及びワード線
電圧を制御するためのワード線制御回路８５が接続されている。すなわち、ビット線制御
回路８３は、ビット線を介してメモリセルアレイ８２中のメモリセルのデータを読み出す
一方、ビット線を介してメモリセルアレイ８２中のメモリセルに書き込み制御電圧を印加
してメモリセルに書き込みを行う。
【００４７】
ビット線制御回路８３には、カラムデコーダ８４、データ入出力バッファ８９及びデー
タ入出力端子８８が接続されている。メモリセルアレイ８２から読み出されたメモリセル
のデータは、ビット線制御回路８３、データ入出力バッファ８９を介してデータ入出力端
子８８から外部へ出力される。また、外部からデータ入出力端子８８に入力された書き込
みデータは、データ入出力バッファ８９を介して、カラムデコーダ８４によってビット線
制御回路８３に入力され、指定されたメモリセルへの書き込みが行われる。
【００４８】
また、メモリセルアレイ８２、ビット線制御回路８３、カラムデコーダ８４、データ入
出力バッファ８９、及びワード線制御回路８５は、制御回路８６に接続されている。制御
回路８６は、制御信号入力端子８７に入力される制御信号に従い、メモリセルアレイ８２
、ビット線制御回路８３、カラムデコーダ８４、データ入出力バッファ８９、及びワード
線制御回路８５を制御するための制御信号及び制御電圧を発生させる。ＮＡＮＤメモリチ
ップ８０のうち、メモリセルアレイ８２以外の回路部分をＮＡＮＤコントローラ（ＮＡＮ
ＤＣ）８１と呼ぶ。
【００４９】
図１６は、図１５に示すメモリセルアレイ８２の構成を示している。メモリセルアレイ
８２はＮＡＮＤセル型メモリセルアレイであり、複数のＮＡＮＤセルを含んで構成されて
いる。１つのＮＡＮＤセルは、直列接続されたメモリセルからなるメモリストリングＭＳ
と、その両端に接続される選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ
１はビット線ＢＬに接続され、選択ゲートＳ２はソース線ＳＲＣに接続されている。同一
のロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ0〜ＷＬm-1に共通接続さ
れている。また、第１の選択ゲートＳ１はセレクト線ＳＧＤに共通接続され、第２の選択
ゲートＳ２はセレクト線ＳＧＳに共通接続されている。
【００５０】
メモリセルアレイ８２は、１または複数のプレーンを含んでおり、プレーンは複数のブ
ロックを含んでいる。各ブロックは、複数のＮＡＮＤセルにより構成され、このブロック
単位でデータが消去される。
【００５１】
また、１つのワード線に接続された複数のメモリセルは、１物理セクタを構成する。こ
の物理セクタ毎にデータが書き込まれ、読み出される（この物理セクタは、後述するＬＢ
Ａの論理セクタとは無関係である）。１物理セクタには、２bit/cell書き込み方式（４値
）の場合例えば２ページ分のデータが記憶される。一方、１bit/cell書き込み方式（２値
）の場合は、１物理セクタに例えば1ページ分のデータが記憶され、３bit/cell書き込み
方式（８値）の場合、１物理セクタに例えば３ページ分のデータが記憶される。
【００５２】
リード動作、プログラムベリファイ動作及びプログラム動作時において、後述のＳＳＤ
Ｃ４１から受信した物理アドレスに応じて、１本のワード線が選択され、１物理セクタが
選択される。この物理セクタ内のページの切り替えは物理アドレスによって行われる。本
実施形態ではＮＡＮＤメモリ１６は２bit/cell書き込み方式であり、ＳＳＤＣ４１は物理
セクタには上位ページ（Upper Page）と下位ページ（Lower Page）の２ページが物理ペー
ジとして割り当てられていると取扱い、それら全ページに対して物理アドレスが割り当て
られている。
【００５３】
２bit/cellの４値ＮＡＮＤメモリは、１つのメモリセルにおける閾値電圧が、４通りの
分布を持ち得るように構成されている。図１７は、４値ＮＡＮＤセル型フラッシュメモリ
のメモリセルに記憶される２ビットの４値データ（データ“１１”、“０１”、“１０”
、“００”）とメモリセルの閾値電圧分布との関係を示している。なお、図１７において
、ＶＡ１は、下位ページのみ書き込み済みで上位ページが未書き込みの物理セクタについ
て、２つのデータを読み出す場合に選択ワード線に印加される電圧であり、ＶＡ１Ｖは、
Ａ１への書き込みを行う場合において、書き込みが完了したかどうかを確認するために印
加されるベリファイ電圧を示している。
【００５４】
また、ＶＡ２、ＶＢ２、ＶＣ２は、下位ページと上位ページが書き込み済みの物理セク
タについて、４つのデータを読み出す場合に選択ワード線に印加される電圧であり、ＶＡ
２Ｖ、ＶＢ２Ｖ、ＶＣ２Ｖは、各閾値電圧分布への書き込みを行う場合において、書き込
みが完了したかどうかを確認するために印加されるベリファイ電圧を示している。また、
Ｖｒｅａｄ１、Ｖｒｅａｄ２は、データの読み出しを行う場合に、ＮＡＮＤセル中の非選
択メモリセルに対し印加され、その保持データに拘わらず当該非選択メモリセルを導通さ
せる読み出し電圧を示している。さらに、Ｖｅｖ１、Ｖｅｖ２は、メモリセルのデータを
消去する場合において、その消去が完了したか否かを確認するためメモリセルに印加され
る消去ベリファイ電圧であり、負の値を有する。その大きさは、隣接メモリセルの干渉の
影響を考慮して決定される。上述の各電圧の大小関係は、
Ｖｅｖ１＜ＶＡ１＜ＶＡ１Ｖ＜Ｖｒｅａｄ１
Ｖｅｖ２＜ＶＡ２＜ＶＡ２Ｖ＜ＶＢ２＜ＶＢ２Ｖ＜ＶＣ２＜ＶＣ２Ｖ＜Ｖｒｅａｄ２
である。
【００５５】
なお、消去ベリファイ電圧Ｖｅｖ１、Ｖｅｖ２、Ｖｅｖ３は前述の通り負の値であるが
、実際に消去ベリファイ動作においてメモリセルＭＣの制御ゲートに印加される電圧は、
負の値ではなく、ゼロ又は正の値である。すなわち、実際の消去ベリファイ動作において
は、メモリセルＭＣのバックゲートに正の電圧を与え、メモリセルＭＣの制御ゲートには
、ゼロ又はバックゲート電圧より小さい正の値の電圧を印加している。換言すれば、消去
ベリファイ電圧Ｖｅｖ１、Ｖｅｖ２、Ｖｅｖ３は、等価的に負の値を有する電圧である。
【００５６】
ブロック消去後のメモリセルの閾値電圧分布ＥＲは、その上限値も負の値であり、デー
タ“１１”が割り当てられる。下位ページおよび上位ページ書き込み状態のデータ“１１
”、“０１”、“１０”、“００”のメモリセルは、それぞれ正の閾値電圧分布ＥＲ２、
Ａ２、Ｂ２、Ｃ２を有し（Ａ２、Ｂ２、Ｃ２の下限値も正の値である）、データ“０１”
の閾値電圧分布Ａ２が最も電圧値が低く、データ“００”の閾値電圧分布Ｃ２が最も電圧
値が高く、各種閾値電圧分布の電圧値はＡ２＜Ｂ２＜Ｃ２の関係を有する。下位ページ書
き込みかつ上位ページ未書き込み状態のデータ“１０”のメモリセルは、正の閾値電圧分
布Ａ１を有する（Ａ１の下限値も正の値である）。なお、図１７に示す閾値電圧分布はあ
くまでも一例であって、本発明はこれに限定されるものではない。例えば、図１７では閾
値電圧分布Ａ２，Ｂ２，Ｃ２は全て正の閾値電圧分布であるとして説明したが、閾値電圧
分布Ａ２は負の電圧の分布であり、閾値電圧分布Ｂ２、Ｃ２が正の電圧の分布であるよう
な場合も、本発明の範囲に含まれる。また、閾値電圧分布ＥＲ１・ＥＲ２は正の値であっ
たとしても、本発明はこれに限定されるものではない。また、本実施形態ではＥＲ２、Ａ
２、Ｂ２、Ｃ２のデータの対応関係がそれぞれ“１１”、“０１”、“１０”、“００”
であるとしているが、たとえばそれぞれ“１１”、“０１”、“００”、“１０”である
ような他の対応関係であってもよい。
【００５７】
１つのメモリセルの２ビットデータは、下位ページデータと上位ページデータからなり
、下位ページデータと上位ページデータは別々の書き込み動作、つまり、２回の書き込み
動作により、メモリセルに書き込まれる。データを“＊＠”と標記するとき、＊は上位ペ
ージデータを、＠は下位ページデータを表している。
【００５８】
まず、下位ページデータの書き込みを、図１７の１段目〜２段目を参照して説明する。
全てのメモリセルは、消去状態の閾値電圧分布ＥＲを有し、データ“１１”を記憶してい
るものとする。図１７に示すように、下位ページデータの書き込みを行うと、メモリセル
の閾値電圧分布ＥＲは、下位ページデータの値（“１”、或いは“０”）に応じて、２つ
の閾値電圧分布（ＥＲ１、Ａ１）に分けられる。下位ページデータの値が“１”の場合に
は、消去状態の閾値電圧分布ＥＲを維持するのでＥＲ１＝ＥＲであるが、ＥＲ１＞ＥＲで
あってもよい。
【００５９】
一方、下位ページデータの値が“０”の場合には、メモリセルのトンネル酸化膜に高電
界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Ｖｔｈ
を所定量だけ上昇させる。具体的には、ベリファイ電位ＶＡ１Ｖを設定し、このベリファ
イ電圧ＶＡ１Ｖ以上の閾値電圧となるまで書き込み動作が繰り返される。その結果、メモ
リセルは、書き込み状態（データ“１０”）に変化する。書き込み動作を所定回繰り返し
ても閾値電圧に到達しなかった場合（または閾値電圧に到達しないメモリセル数が所定値
以上の場合）、当該物理ページに対する書き込みは「書き込みエラー」となる。
【００６０】
次に、上位ページデータの書き込みを、図１７の２段目〜３段目を参照して説明する。
上位ページデータの書き込みは、チップの外部から入力される書き込みデータ（上位ペー
ジデータ）と、メモリセルに既に書き込まれている下位ページデータとに基づいて行われ
る。
【００６１】
即ち、図１７の２段目〜３段目に示すように、上位ページデータの値が“１”の場合に
は、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧
Ｖｔｈの上昇を防止する。その結果、データ“１１”（消去状態の閾値電圧分布ＥＲ１）
のメモリセルは、データ“１１”をそのまま維持し（ＥＲ２）、データ“１０”（閾値電
圧分布Ａ１）のメモリセルは、データ“１０”をそのまま維持する（Ｂ２）。ただし、各
分布間の電圧マージンを確保するという点で、上述のベリファイ電圧ＶＡ１Ｖよりも大き
い正のベリファイ電圧ＶＢ２Ｖを用いて閾値電圧分布の下限値を調整し、これにより閾値
電圧分布の幅を狭めた閾値電圧分布Ｂ２を形成するのが望ましい。下限値調整を所定回繰
り返しても敷地電圧に到達しなかった場合（または閾値電圧に到達しないメモリセル数が
所定値以上の場合）、当該物理ページに対する書き込みは「書き込みエラー」となる。
【００６２】
一方、上位ページデータの値が“０”の場合には、メモリセルのトンネル酸化膜に高電
界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Ｖｔｈ
を所定量だけ上昇させる。具体的には、ベリファイ電位ＶＡ２Ｖ、ＶＣ２Ｖを設定し、こ
のベリファイ電圧ＶＡ１Ｖ以上の閾値電圧となるまで書き込み動作が繰り返される。その
結果、データ“１１”（消去状態の閾値電圧分布ＥＲ１）のメモリセルは、閾値電圧分布
Ａ２のデータ“０１”に変化し、データ“１０”（Ａ１）のメモリセルは、閾値電圧分布
Ｃ２のデータ“００”に変化する。このとき、ベリファイ電圧ＶＡ２Ｖ、ＶＣ２Ｖが用い
られて、閾値電圧分布Ａ２、Ｃ２の下限値が調整される。書き込み動作を所定回繰り返し
ても敷地電圧に到達しなかった場合（または閾値電圧に到達しないメモリセル数が所定値
以上の場合）、当該物理ページに対する書き込みは「書き込みエラー」となる。
【００６３】
一方、消去動作においては、消去ベリファイ電位Ｖｅｖを設定し、このベリファイ電圧
Ｖｅｖ以下の閾値電圧となるまで消去動作が繰り返される。その結果、メモリセルは、書
き込み状態（データ“００”）に変化する。消去動作を所定回繰り返しても敷地電圧に到
達しなかった場合（または閾値電圧に到達しないメモリセル数が所定値以上の場合）、当
該物理ページに対する消去は「消去エラー」となる。
【００６４】
以上が、一般的な４値記憶方式におけるデータ書き込み方式の一例である。３ビット以
上の多ビット記憶方式においても、上記の動作に更に上位のページデータに応じ、閾値電
圧分布を８通り以上に分割する動作が加わるのみであるので、基本的な動作は同様である
。
【００６５】
つぎに、ＳＳＤ２の構成例について説明する。図１８に示すように、ＳＳＤ２は、不揮
発性半導体メモリとしてのＮＡＮＤ型フラッシュメモリ（以下ＮＡＮＤメモリと略す）１
６と、ＡＴＡインタフェース１９を介してホスト装置３との信号の送受信を行うインタフ
ェースコントローラ（ＩＦＣ）４２と、インタフェースコントローラ４２とＮＡＮＤメモ
リ１６との中間バッファとして機能するキャシュメモリ（ＣＭ）４６を有する半導体メモ
リとしてのＲＡＭ（Random Access Memory）４０と、ＮＡＮＤメモリ１６及びＲＡＭ４０
の管理、制御、及びインタフェースコントローラ４２の制御を司るＳＳＤコントローラ（
ＳＳＤＣ）４１と、これら構成要素を接続するバス４３を備える。
【００６６】
ＲＡＭ４０としては、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static
Random Access Memory）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲ
ＡＭ（Magnetoresistive Random Access Memory）、ＰＲＡＭ（Phase Change Random Acc
ess Memory）などを採用することができる。ＲＡＭ４０はＳＳＤＣ４１に含まれてもよい
。
【００６７】
ＮＡＮＤメモリ１６は、複数のＮＡＮＤメモリチップ８０からなり、ホスト装置３によ
って指定されたユーザデータを記憶したり、ユーザデータを管理する管理テーブルを記憶
したり、ＲＡＭ４０で管理される管理情報をバックアップ用に記憶したりする。ＮＡＮＤ
メモリ１６は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイ８２を有
し、個々のメモリセルは上位ページ及び下位ページを使用して多値記憶が可能である。Ｎ
ＡＮＤメモリ１６は、複数のメモリチップによって構成され、各メモリチップは、データ
消去の単位であるブロックを複数配列して構成される。また、ＮＡＮＤメモリ１６では、
ページごとにデータの書き込み及びデータの読み出しが行われる。ブロックは、複数のペ
ージによって構成されている。
【００６８】
ＲＡＭ４０は、ホスト装置３とＮＡＮＤメモリ１６間でのデータ転送用キャッシュとし
て機能するキャッシュメモリ（ＣＭ）４６を有する。また、ＲＡＭ４０は、管理情報記憶
用メモリ及び作業領域用メモリとして機能する。ＲＡＭ４０の領域４０Ａで管理される管
理テーブルは、ＮＡＮＤメモリ１６の領域４０Ｍに記憶されている各種管理テーブルがＳ
ＳＤ２起動時などに展開されたものであり、定期的あるいは電源断時にＮＡＮＤメモリ１
６の領域４０Ｍに退避保存される。
【００６９】
ＳＳＤＣ４１は、ＮＡＮＤメモリ１６に記憶されたシステムプログラム（ファームウエ
ア）を実行するプロセッサと、各種ハードウェア回路などによってその機能が実現され、
ホスト装置３からのライト要求、キャッシュフラッシュ要求、リード要求等の各種コマン
ドに対するホスト装置３−ＮＡＮＤメモリ１６間のデータ転送制御、ＲＡＭ４０及びＮＡ
ＮＤメモリ１６に記憶された各種管理テーブルの更新・管理、ＮＡＮＤメモリ１６に書き
込むデータのＥＣＣ符号化、ＮＡＮＤメモリ１６から読み出したデータのＥＣＣ複合化な
どを実行する。
【００７０】
ホスト装置３はＳＳＤ２に対し、リード要求またはライト要求を発行する際には、ＡＴ
Ａインタフェース１９を介して論理アドレスとしてのＬＢＡ（Logical Block Addressing
）を入力する。ＬＢＡは、論理セクタ（サイズ：例えば５１２Ｂ）に対して０からの通し
番号をつけた論理アドレスである。また、ホスト装置３はＳＳＤ２に対し、リード要求ま
たはライト要求を発行する際には、ＬＢＡと併せて、リード要求またはライト要求の対象
となる論理セクタサイズを入力する。
【００７１】
ＩＦＣ４２は、ホスト装置３からのリード要求、ライト要求、その他要求及びデータを
受信し、受信した要求やデータをＳＳＤＣ４１に送信したり、ＳＳＤＣ４１の制御により
ＲＡＭ４０にデータを送信したりする機能を持つ。
【００７２】
図１９にＳＳＤ２で使用する管理情報の構成を示す。これらの管理情報は、前述したよ
うに、ＮＡＮＤメモリ１６の領域４０Ｍで不揮発記憶されている。領域４０Ｍで記憶され
た管理情報がＳＳＤ２の起動時にＲＡＭ４０の領域４０Ａに展開されて使用される。領域
４０Ａの管理情報４４は、定期的あるいは電源断時に領域４０Ｍに退避保存される。ＲＡ
Ｍ４０がＭＲＡＭやＦｅＲＡＭなどのような不揮発ＲＡＭである場合には、この管理情報
４４はＲＡＭ４０にのみ記憶されるようにしてもよく、この場合はこの管理情報４４はＮ
ＡＮＤメモリ１６には記憶されない。ＮＡＮＤメモリ１６への書き込み量を少なくするた
めには、管理情報４５に記憶されるデータは、ＲＡＭ４０の領域４０Ａに記憶されている
データを圧縮したものであることが望ましい。また、ＮＡＮＤメモリ１６への書き込み頻
度を少なくするためには、管理情報４５には、ＲＡＭ４０の領域４０Ａに記憶されている
管理情報４４の更新情報（差分情報）を追記するようにすることが望ましい。
【００７３】
図１９に示すように、管理情報は、フリーブロックテーブル（ＦＢＴ）６０と、バッド
ブロックテーブル（ＢＢＴ）６１と、アクティブブロックテーブル（ＡＢＴ）６２と、ト
ラックテーブル（トラック単位の論物変換テーブル）６３と、クラスタテーブル（クラス
タ単位の論物変換テーブル）６４、統計情報６５を含む。
【００７４】
ＬＢＡは、図２０に示すように、論理セクタ（サイズ：例えば５１２Ｂ）に対して０か
らの通し番号をつけた論理アドレスである。本実施形態においては、ＳＳＤ２の論理アド
レス（ＬＢＡ）の管理単位として、ＬＢＡの下位（ｓ＋１）ビット目から上位のビット列
で構成されるクラスタアドレスと、ＬＢＡの下位（ｓ＋ｔ＋１）ビットから上位のビット
列で構成されるトラックアドレスとを定義する。すなわち、論理セクタは、ホスト装置３
からの最小アクセス単位である。クラスタは、ＳＳＤ内部で「小さなデータ」を管理する
管理単位であり、論理セクタサイズの自然数倍がクラスタサイズとなるように定められる
。また、トラックは、ＳＳＤ内部で「大きなデータ」を管理する管理単位であり、クラス
タサイズの２以上の自然数倍がトラックサイズとなるように定められる。したがって、ト
ラックアドレスはＬＢＡをトラックサイズで割ったものであり、トラック内アドレスはＬ
ＢＡをトラックサイズで割った余りであり、クラスタアドレスはＬＢＡをクラスタサイズ
で割ったものであり、クラスタ内アドレスはＬＢＡをクラスタサイズで割った余りである
。以下の説明では、便宜上、トラックのサイズは１物理ブロックに記録可能なデータのサ
イズに等しい（物理ブロックにＳＳＤＣ４１で行うＥＣＣ処理の冗長ビットが含まれる場
合はこれを除いたサイズ）とし、クラスタのサイズは１物理ページに記録可能なデータの
サイズに等しい（物理ページにＳＳＤＣ４１で行うＥＣＣ処理の冗長ビットが含まれる場
合はこれを除いたサイズ）とする。
【００７５】
フリーブロックテーブル（ＦＢＴ）６０は、ＮＡＮＤメモリ１６に書き込みを行うとき
に書き込み用に新規に割り当てることのできるＮＡＮＤメモリの用途未割り当ての物理ブ
ロック（フリーブロック：ＦＢ）のＩＤを管理する。また、物理ブロックＩＤ毎に消去回
数を管理しており、物理ブロックが消去されたとき、当該ブロックの消去回数をインクリ
メントする。
【００７６】
バッドブロックテーブル（ＢＢＴ）６１は、誤りが多いなど記憶領域として使用できな
い物理ブロック（物理ブロック）としてのバッドブロック（ＢＢ）のＩＤを管理する。Ｆ
ＢＴ６０と同様に物理ブロックＩＤ毎に消去回数を管理するようにしてもよい。
【００７７】
アクティブブロックテーブル（ＡＢＴ）６２は、用途が割り当てられた物理ブロックで
あるアクティブブロック（ＡＢ）を管理する。また、物理ブロックＩＤ毎に消去回数を管
理しており、物理ブロックが消去されたとき、当該ブロックの消去回数をインクリメント
する。
【００７８】
トラックテーブル６３は、トラックアドレスと、このトラックアドレスに対応するトラ
ックデータが記憶される物理ブロックＩＤとの対応関係を管理する。
【００７９】
クラスタテーブル６４は、クラスタアドレスと、このクラスタアドレスに対応するクラ
スタデータが記憶される物理ブロックＩＤと、このクラスタアドレスに対応するクラスタ
データが記憶される物理ブロック内ページアドレスとの対応関係を管理する。
【００８０】
統計情報６５には、ＳＳＤ２の信頼性に関わる種々のパラメータ（Ｘ０１〜Ｘ２４）を
格納する。
【００８１】
統計情報６５としては、バッドブロック数総計（統計情報Ｘ０１）、消去回数総計（統
計情報Ｘ０２）、消去回数平均値（統計情報Ｘ０３）、ＮＡＮＤメモリの書き込みエラー
発生回数累積値（統計情報Ｘ０４）、ＮＡＮＤメモリの消去エラー発生回数累積値（統計
情報Ｘ０５）、読み出し論理セクタ数総計（統計情報Ｘ０６）、書き込み論理セクタ数総
計（統計情報Ｘ０７）、ＥＣＣ訂正不能回数総計（統計情報Ｘ０８）、nビット〜mビット
ＥＣＣ訂正単位総計数（統計情報Ｘ０９）、ＳＡＴＡ通信のRエラー発生回数（統計情報
Ｘ１０）、ＳＡＴＡ通信のエラー発生回数（統計情報Ｘ１１）、ＲＡＭ４０のエラー発生
回数（統計情報Ｘ１２）、ＳＳＤ２の使用時間総計（統計情報Ｘ１３）、温度が推奨動作
温度の最高値を上回った時間累計（統計情報Ｘ１４）、温度が推奨動作温度の最低値を下
回った時間累計（統計情報Ｘ１５）、コマンドの応答時間最大値（統計情報Ｘ１６）、コ
マンドの応答時間平均値（統計情報Ｘ１７）、ＮＡＮＤメモリの応答時間最大値（統計情
報Ｘ１８）、ＮＡＮＤの応答時間平均値（統計情報Ｘ１９）、現在温度（統計情報Ｘ２０
）、最高温度（統計情報Ｘ２１）、最低温度（統計情報Ｘ２２）、統計情報増加率（統計
情報Ｘ２３）、ＮＡＮＤ整理失敗フラグ（統計情報Ｘ２４）などが含まれる。
【００８２】
バッドブロック数総計（統計情報Ｘ０１）について説明する。ＳＳＤ２内のＮＡＮＤメ
モリ１６の物理ブロックが一つバッドブロックに追加されるごとに統計情報Ｘ０１が１イ
ンクリメントされる。統計情報Ｘ０１はＳＳＤ２の製造時（検査工程前）にゼロにリセッ
トされていることが望ましく、検査工程でエラーが発生したり、閾値分布の分布間マージ
ンが少ないことが判明したブロックは、あらかじめバッドブロックに加えておくことがさ
らに望ましい。統計情報Ｘ０１は統計情報６５に格納せず、ＢＢＴ６１から直接計算して
もよい。統計情報Ｘ０１が大きいほど信頼性が悪化していることを示す。
【００８３】
消去回数総計（統計情報Ｘ０２）について説明する。統計情報Ｘ０２はＳＳＤ２内のＮ
ＡＮＤメモリ１６の全ブロックの消去回数累計値を示す。ＳＳＤ２内のＮＡＮＤメモリ１
６の物理ブロックが一つ消去されるごとに統計情報Ｘ０２が１インクリメントされる。統
計情報Ｘ０２はＳＳＤ２の製造時（検査工程前）にゼロにリセットされていることが望ま
しい。統計情報Ｘ０２は統計情報６５に格納せずＦＢＴ６０、ＢＢＴ６１、ＡＢＴ６２か
ら直接計算してもよい。統計情報Ｘ０２が大きいほど信頼性が悪化していることを示す。
【００８４】
消去回数平均値（統計情報Ｘ０３）について説明する。統計情報Ｘ０３はＳＳＤ２内の
ＮＡＮＤメモリ１６の全ブロックの消去回数の１ブロックあたりの平均値を示す。管理情
報を格納するブロックなど一部のブロックを統計情報Ｘ０３の集計対象から除外してもよ
い。統計情報Ｘ０３はＳＳＤ２の製造時（検査工程前）にゼロにリセットされていること
が望ましい。統計情報Ｘ０３は統計情報６５に格納せずＦＢＴ６０、ＢＢＴ６１、ＡＢＴ
６２から直接計算してもよい。統計情報Ｘ０３が大きいほど信頼性が悪化していることを
示す。
【００８５】
ＮＡＮＤメモリの書き込みエラー発生回数累積値（統計情報Ｘ０４）について説明する
。統計情報Ｘ０４はＳＳＤ２内のＮＡＮＤメモリ１６で書き込みエラーが１書き込み単位
で発生するごとに１加算される（ブロック単位で加算してもよい）。統計情報Ｘ０４はＳ
ＳＤ２の製造時（検査工程前）にゼロにリセットされていることが望ましい。統計情報Ｘ
０４が大きいほど信頼性が悪化していることを示す。
【００８６】
ＮＡＮＤメモリの消去エラー発生回数累積値（統計情報Ｘ０５）について説明する。統
計情報Ｘ０５はＳＳＤ２製造時（検査工程前）にゼロにリセットされていることが望まし
い。ＳＳＤ２内のＮＡＮＤメモリ１６で消去エラーが１ブロックで発生するごとに統計情
報Ｘ０５が１加算される。複数のブロックをまとめて消去単位とし、この消去単位１つで
消去エラーが発生するごとに統計情報Ｘ０５に１加算するようにしてもよい。統計情報Ｘ
０５が大きいほど信頼性が悪化していることを示す。
【００８７】
読み出し論理セクタ数総計（統計情報Ｘ０６）について説明する。統計情報Ｘ０６はＩ
ＦＣ４２が読み出しデータとしてホスト装置３に送信したデータの論理セクタ数合計であ
る。統計情報Ｘ０６はＳＳＤ２製造時（検査工程前）にゼロにリセットされていることが
望ましい。統計情報Ｘ０６が大きいほど信頼性が悪化していることを示す。
【００８８】
書き込み論理セクタ数総計（統計情報Ｘ０７）について説明する。統計情報Ｘ０７はＩ
ＦＣ４２が書き込みデータとしてホスト装置３から受信したデータの論理セクタ数合計で
ある。統計情報Ｘ０７はＳＳＤ２の製造時（検査工程前）にゼロにリセットされているこ
とが望ましい。統計情報Ｘ０７が大きいほど信頼性が悪化していることを示す。
【００８９】
ＥＣＣ訂正不能回数総計（統計情報Ｘ０８）について説明する。ＥＣＣ訂正によりエラ
ービットが修復できなかった場合に、１読み出し単位ごとに統計情報Ｘ０８を１インクリ
メントする。エラー訂正できなかったエラービット数の推定値を加算するようにしてもよ
いし、エラー訂正できなかったブロックの数を加算するようにしてもよい。統計情報Ｘ０
８はＳＳＤ２製造時（検査工程前）にゼロにリセットされていることが望ましい。統計情
報Ｘ０８が大きいほど信頼性が悪化していることを示す。
【００９０】
ｎビット〜ｍビットＥＣＣ訂正単位総計数（統計情報Ｘ０９）について説明する。ｎ,
ｍは自然数で、0≦ｎ≦ｍ≦訂正可能最大ビット数である。ＥＣＣ訂正単位（たとえば物
理ページ）に対してＥＣＣ訂正を行った時、全エラービットが正常に修復され、かつ修復
されたエラービット数がｎ以上ｍ以下である場合、ＥＣＣ訂正単位１つにつき「ｎビット
〜ｍビットＥＣＣ訂正単位総計数」を１加算する。ＥＣＣ訂正により１訂正単位につき最
大６４ビット訂正可能である場合、たとえば、「１ビット〜８ビットＥＣＣ訂正単位総計
数」「９ビット〜１６ビットＥＣＣ訂正単位総計数」「１７ビット〜２４ビットＥＣＣ訂
正単位総計数」「２５ビット〜３２ビットＥＣＣ訂正単位総計数」「３３ビット〜４０ビ
ットＥＣＣ訂正単位総計数」「４１ビット〜４８ビットＥＣＣ訂正単位総計数」「４９ビ
ット〜５６ビットＥＣＣ訂正単位総計数」「５７ビット〜６４ビットＥＣＣ訂正単位総計
数」の８つのパラメータを用意し、ＥＣＣ訂正が正常に行われた場合、１ＥＣＣ訂正単位
のＥＣＣ訂正につきこれら８つのパラメータのうちいずれか１つに１がインクリメントさ
れる。統計情報Ｘ０９はＳＳＤ２の製造時（検査工程前）にゼロにリセットされているこ
とが望ましい。統計情報Ｘ０９が大きいほど信頼性が悪化していることを示す。
【００９１】
ＳＡＴＡ通信のＲエラー発生回数（統計情報Ｘ１０）について説明する。統計情報Ｘ１
０はＳＡＴＡ規格におけるＲエラー（Reception Error, R_ERR）が１回発生するごとに１
インクリメントされる。ホストとＳＳＤの間で送受信されるフレームにたとえばＣＲＣエ
ラーなど何らかのエラーがあった場合、Ｒエラーとしてカウントされる。統計情報Ｘ１０
として、SATA規格のPhy Event Countersのカウンタのいずれかを採用してもよい。統計情
報Ｘ１０はＳＳＤ２の製造時（検査工程前）にゼロにリセットされていることが望ましい
。統計情報Ｘ１０が大きいほど信頼性が悪化していることを示す。
【００９２】
ＳＡＴＡ通信のエラー発生回数（統計情報Ｘ１１）について説明する。その他の（Ｒエ
ラー以外の）ＳＡＴＡ通信での異常が１回発生するごとに１インクリメントされる。たと
えば、ＡＴＡインタフェース１９やＩＦＣ４２やＳＳＤＣ４１がSATA Generation3規格と
して設計されているにも関わらず、実際にＳＳＤ２やホスト装置３との間でネゴシエーシ
ョンされた通信規格がGeneration2のようなより低速の通信規格であった場合、ＳＡＴＡ
通信上のエラーとみなし、統計情報Ｘ１１を１インクリメントする。統計情報Ｘ１１はＳ
ＳＤ２の製造時（検査工程前）にゼロにリセットされていることが望ましい。この値が大
きいほど信頼性が悪化していることを示す。
【００９３】
ＲＡＭ４０のエラー発生回数（統計情報Ｘ１２）について説明する。たとえば、ＲＡＭ
４０にＥＣＣ回路やエラー検知回路を搭載している場合、ＥＣＣ訂正できなかった旨の信
号やエラー検知された旨の信号をＲＡＭ４０からＳＳＤＣ４１が受け取った場合、統計情
報Ｘ１２を１インクリメントする。統計情報Ｘ１２はＳＳＤ２の製造時（検査工程前）に
ゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪化しているこ
とを示す。
【００９４】
ＳＳＤ２の使用時間総計（統計情報Ｘ１３）について説明する。ＳＳＤ２の電源がＯＮ
になっている間、ＳＳＤＣ４１がクロックをカウントしたり内部の時計回路から時刻情報
を受信することで、経過時間をインクリメントする。あるいは、ＳＳＤＣ４１がホスト装
置３から定期的にホスト装置３の時刻情報を受信するようにし、その時刻情報の差分をイ
ンクリメントするようにしてもよい。統計情報Ｘ１３はＳＳＤ２製造時（検査工程前）に
ゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪化しているこ
とを示す。
【００９５】
推奨動作温度の最高値を上回った時間累計（統計情報Ｘ１４）について説明する。たと
えば、ＳＳＤ２の基板上、ＳＳＤＣ４１内、ＮＡＮＤメモリ１６内など、ＳＳＤ２内に温
度計が実装されている場合、ＳＳＤＣ４１は温度計から定期的に温度情報を受信している
。受信した温度が推奨動作温度（たとえば１００℃）を上回った場合、ＳＳＤＣ４１はク
ロックや内部の時計やホスト装置３から取得する時刻情報をもとに、推定動作温度以上で
動作している時間数をインクリメントしていく。統計情報Ｘ１４はＳＳＤ２の製造時（検
査工程前）にゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪
化していることを示す。
【００９６】
推奨動作温度の最低値を下回った時間累計（統計情報Ｘ１５）について説明する。ＳＳ
Ｄ２内に温度計が実装されている場合、ＳＳＤＣ４１は温度計から定期的に温度情報を受
信している。受信した温度が推奨動作温度（たとえば−４０℃）を下回った場合、ＳＳＤ
Ｃ４１はクロックや内部の時計やホスト装置３から取得する時刻情報をもとに、推定動作
温度以上で動作している時間数をインクリメントしていく。ＳＳＤ２の製造時（検査工程
前）にゼロにリセットされていることが望ましい。この値が大きいほど信頼性が悪化して
いることを示す。
【００９７】
コマンドの応答時間最大値（統計情報Ｘ１６）について説明する。統計情報Ｘ１６はホ
スト装置３からコマンドを受信してから、ホスト装置３へ応答するまで（またはコマンド
実行完了するまで）に要した時間（またはクロック数）の最大値である。Ｘ１６を上回る
応答時間が発生した場合は、この応答時間をＸ１６に上書きする。コマンドそれぞれに対
して統計情報Ｘ１６を保持してもよい。ＳＳＤ２の製造時（検査工程前）またはＳＳＤ２
の出荷時にはＸ１６がゼロにリセットされていることが望ましい。
【００９８】
コマンドの応答時間平均値（統計情報Ｘ１７）について説明する。統計情報Ｘ１７は、
ホスト装置３からコマンドを受信してから、ホスト装置３へ応答するまで（またはコマン
ド実行完了するまで）に要した時間（またはクロック数）の平均値である。たとえば応答
時間リストを一定数ＲＡＭ４０に保持しておき、その応答時間リストの平均値を算出する
ことにより得られる。コマンドそれぞれに対して統計情報Ｘ１７を保持してもよい。ＳＳ
Ｄ２の製造時（検査工程前）またはＳＳＤ２の出荷時にはＸ１７がゼロにリセットされて
いることが望ましい。
【００９９】
ＮＡＮＤメモリの応答時間最大値（統計情報Ｘ１８）について説明する。統計情報Ｘ１
８は、ＳＳＤＣ４１がＮＡＮＤメモリ１６に命令してから応答を得る（またはコマンド実
行完了通知を受信する）までに要した時間（またはクロック数）の最大値である。Ｘ１８
を上回る応答時間が発生した場合は、この応答時間をＸ１８に上書きする。コマンドそれ
ぞれに対して統計情報Ｘ１８を保持してもよい。ＳＳＤ２の製造時（検査工程前）または
ＳＳＤ２の出荷時にはＸ１８がゼロにリセットされていることが望ましい。
【０１００】
ＮＡＮＤの応答時間平均値（統計情報Ｘ１９）について説明する。統計情報Ｘ１９は、
ＳＳＤＣ４１がＮＡＮＤメモリ１６に命令してから応答を得る（またはコマンド実行完了
通知を受信する）までに要した時間（またはクロック数）の平均値である。たとえば応答
時間リストを一定数ＲＡＭ４０に保持しておき、その応答時間リストの平均値を算出する
ことにより得られる。コマンドそれぞれに対して統計情報Ｘ１９を保持してもよい。ＳＳ
Ｄ２の製造時（検査工程前）またはＳＳＤ２の出荷時にはＸ１９がゼロにリセットされて
いることが望ましい。
【０１０１】
現在温度（統計情報Ｘ２０）について説明する。ＳＳＤ２内に温度計が実装されている
場合、ＳＳＤＣ４１は温度計から定期的に温度情報を受信する。ＳＳＤＣ４１は温度計か
ら最後に受信した温度を現在温度として統計情報Ｘ２０に保持する。この値が極端に大き
いと（たとえば８５℃以上）、ＳＳＤ２の信頼性に悪影響があり、また、この温度が極端
に小さいと（たとえば−１０℃以下）、ＳＳＤ２の信頼性に悪影響があると判断する。
【０１０２】
最高温度（統計情報Ｘ２１）について説明する。ＳＳＤＣ４１は、現在温度Ｘ２０の最
大値を最高温度として統計情報Ｘ２１に保持する。この値が極端に大きいと（たとえば８
５℃以上）、ＳＳＤ２の信頼性に悪影響がある。ＳＳＤＣ４１は、Ｘ２１よりも大きい現
在温度を温度計から受信した時、Ｘ２１を現在温度に書き換える。ＳＳＤ２の製造時（検
査工程前）またはＳＳＤ２の出荷時にはＸ２１がＳＳＤ２の動作温度にくらべて十分に小
さい温度（たとえば−４０℃）にリセットされていることが望ましい。
【０１０３】
最低温度（統計情報Ｘ２２）について説明する。ＳＳＤＣ４１は、現在温度Ｘ２０の最
小値を最低温度として統計情報Ｘ２２に保持する。この値が極端に小さいと（たとえば−
４０℃以下）、ＳＳＤ２の信頼性に悪影響がある。ＳＳＤＣ４１は、Ｘ２２よりも小さい
現在温度を温度計から受信した時、Ｘ２２を現在温度に書き換える。ＳＳＤ２の製造時（
検査工程前）またはＳＳＤ２の出荷時にはＸ２２がＳＳＤ２の動作温度にくらべて十分に
大きい温度（たとえば１２０℃）にリセットされていることが望ましい。
【０１０４】
統計情報増加率（統計情報Ｘ２３）について説明する。統計情報Ｘ０１〜Ｘ１９の最新
でない情報（たとえば一定時刻前や、ＳＳＤ２をパワーオンした時の値や前回ＳＳＤ２を
パワーダウンしたときの値など）を別途保持しておく。統計情報Ｘ２３は、例えば、下記
のいずれかで定義される。
【０１０５】
統計情報増加率＝（最新統計情報）―（旧情報）
統計情報増加率＝（（最新統計情報）―（旧情報））／（旧情報を取得してからの経過
時刻）
統計情報増加率＝（（最新統計情報）―（旧情報））／（旧情報を取得してからのＮＡ
ＮＤアクセス回数）
ＳＳＤ２の製造時（検査工程前）にゼロにリセットされていることが望ましい。この値
が大きいほど信頼性が悪化していることを示す。
【０１０６】
ＮＡＮＤ整理失敗フラグ（統計情報Ｘ２４）について説明する。統計情報Ｘ２４が１に
なっていると、ＮＡＮＤ整理によっても動作に十分な数のフリーブロック数を確保できな
いことになる。ＳＳＤ２の製造時（検査工程前）にゼロにリセットされていることが望ま
しい。この値が大きいほど信頼性が悪化していることを示す。
【０１０７】
統計情報６５としては、上述したすべてのパラメータを格納してもよいし、これらの一
部あるいはどれか一つのみを格納してもよい。統計情報６５は最新情報をＲＡＭ４０上の
領域４０Ａに保持し、定期的にＮＡＮＤメモリ１６上の領域４０Ｍにバックアップするこ
とが望ましい。一方、ＲＡＭ４０やＮＡＮＤメモリ１６のどちらか一方にのみ保存するよ
うにしてもよいし、当該統計情報をホスト装置３に送信して、ホスト装置３やホスト装置
３に接続された記憶装置に保存するようにしてもよい。
【０１０８】
（ＬＢＡ正引き変換）
つぎに、図２１を用いてＳＳＤ２においてＬＢＡから物理アドレスを特定する手順（Ｌ
ＢＡ正引き変換）について説明する。ＬＢＡが指定されたとき、ＳＳＤＣ４１はＬＢＡか
らトラックアドレスとクラスタアドレスとクラスタ内アドレスを計算する。
【０１０９】
ＳＳＤＣ４１は、まずトラックテーブル６３を検索し、計算したトラックアドレスに対
応する物理ブロックＩＤを特定する（ステップＳ１００、Ｓ１０１）。ＳＳＤＣ４１は、
特定した物理ブロックＩＤが有効であるか否かを判定し（ステップＳ１０２）、物理ブロ
ックＩＤがヌルではなく有効な値である場合は（ステップＳ１０２：Ｙｅｓ）、この物理
ブロックＩＤがＡＢＴ６２にエントリされているか否かを検索する（ステップＳ１０３）
。ＡＢＴ６２に物理ブロックＩＤがエントリされている場合は（ステップＳ１０４：Ｙｅ
ｓ）、この物理ブロックＩＤの指定する物理ブロックの先頭位置からトラック内アドレス
分だけシフトした位置が指定されたＬＢＡに対応するＮＡＮＤメモリ１６上の物理的な位
置となる（ステップＳ１０５）。このような場合には、ＬＢＡに対応するＮＡＮＤメモリ
１６上の物理的な位置の特定にはクラスタテーブル６４を必要とせず、このようなＬＢＡ
を「トラック管理されているＬＢＡ」と呼ぶ。ステップＳ１０４において、ＡＢＴ６２に
物理ブロックＩＤがエントリされていない場合は（ステップＳ１０４：Ｎｏ）、指定され
たＬＢＡは対応する物理アドレスを持たないことになり、このような状態を「未書き込み
状態」と呼ぶ（ステップＳ１０６）。
【０１１０】
ステップＳ１０２において、指定されたトラックアドレスに対応する物理アドレスがヌ
ルであり無効な値の場合は（ステップＳ１０２：Ｎｏ）、ＳＳＤＣ４１はＬＢＡからクラ
スタアドレスを計算し、クラスタテーブル６４を検索し、計算したクラスタアドレスに対
応する物理ブロックＩＤ及び対応する物理ブロック内ページアドレスをクラスタテーブル
６４から取得する（ステップＳ１０７）。物理ブロックＩＤと物理ブロック内ページアド
レスが指定する物理ページの先頭位置からクラスタ内アドレス分だけシフトした位置が指
定されたＬＢＡに対応するＮＡＮＤメモリ１６上の物理的な位置となる。このような場合
は、ＬＢＡに対応するＮＡＮＤメモリ１６上の物理的な位置は、トラックテーブル６３の
みからは特定できず、クラスタテーブル６４の参照を必要とすることになり、このような
ＬＢＡを「クラスタ管理されているＬＢＡ」という（ステップＳ１０８）。
【０１１１】
（読み出し動作）
つぎに、図２２、図２３を用いてＳＳＤ２における読み出し動作を説明する。本実施形
態で説明する読み出し動作はＩＮＣＩＴＳ ＡＣＳ−２に記載されている60h READ FPDMA 
QUEUEDの場合であるが、25h READ DMA EXTなどその他書き込みコマンドを採用してもよく
、読み出しコマンドの種類の違いは発明の本質には影響しない。ＳＳＤ２がホスト装置３
から読み出し命令を受信した場合は（ステップＳ１１０）、ＳＳＤＣ４１がこの読み出し
命令をＲＡＭ４０上の読み出し命令待ち行列に追加し（ステップＳ１１１）、読み出し命
令を受理した旨をホスト装置３に返信する。
【０１１２】
一方、ＳＳＤＣ４１は、ＲＡＭ４０上の読み出し命令待ち行列に命令が存在している場
合、読み出し処理を実行可能な状態になっているか否かを判定し（ステップＳ１２０）、
読み出し処理を実行可能な状態になったと判断すると、先の図２１に示したＬＢＡ正引き
変換手順にしたがってホスト装置３から受信したＬＢＡからデータの物理的な位置を特定
する（ステップＳ１２１）。ＳＳＤＣ４１は、特定した位置の物理ページからデータを読
み出し（ステップＳ１２３）、読み出したデータのうちＥＣＣ冗長ビットを用いてＥＣＣ
復号化し（ステップＳ１２４）、復号化したデータをＩＦＣ４２を介してホスト装置３に
送信し（ステップＳ１２５）、統計情報６５を更新する。なお、ＮＡＮＤメモリ１６から
読み出したデータは、いったんＲＡＭ４０に書き込み、ＲＡＭ４０に書き込んだデータを
復号化してホスト装置３に送信するようにしてもよいし、復号化したデータをいったんＲ
ＡＭ４０に書き込み、ＲＡＭ４０に書き込んだデータをホスト装置３に送信するようにし
てもよい。
【０１１３】
ステップＳ１２４において、ＳＳＤＣ４１はＥＣＣによる復号化を試みるが、復号化で
きなかった場合、復号化できなかったページを含む物理ブロックをＡＢＴ６２から削除し
てＢＢＴ６１に登録し、統計情報６５のＥＣＣ訂正できなかったＥＣＣ訂正単位数総計（
統計情報Ｘ０８）を加算する。その際、当該ブロックのデータをＦＢＴ６０から割り当て
たフリーブロックにコピーし、当該フリーブロックの物理ブロックＩＤをＡＢＴ６２に登
録してトラックテーブル６３およびクラスタテーブル６４の物理ブロックをコピー元物理
ブロックＩＤからコピー先物理ブロックＩＤに書き換えることが望ましい。
【０１１４】
（書き込み動作）
つぎに、図２４、図２５を用いてＳＳＤ２における書き込み動作を説明する。本実施形
態で説明する書き込み動作はＩＮＣＩＴＳ  ＡＣＳ−２に記載されている61h WRITE FPDM
A QUEUEDの場合であるが、35h WRITE DMA EXTなどその他書き込みコマンドを採用しても
よく、書き込みコマンドの種類の違いは発明の本質には影響しない。ＳＳＤ２がホスト装
置３から書き込み命令を受信した場合は（ステップＳ１３０）、ＳＳＤＣ４１がこの書き
込み命令をＲＡＭ４０上の読み出し命令待ち行列に追加し（ステップＳ１３１）、書き込
み命令を受理した旨をホスト装置３に返信する。
【０１１５】
一方、ＳＳＤＣ４１は、ＲＡＭ４０上の書き込み命令待ち行列に命令が存在している場
合、書き込み処理を実行可能な状態になっているか否かを判定し（ステップＳ１４０）、
書き込み処理を実行可能な状態になったと判断すると、ホスト装置３に書き込み可能であ
ることを通知し、ホスト装置３から書き込みデータを受信し、受信したデータをＥＣＣ符
号化し、符号化したデータをＲＡＭ４０のキャッシュメモリ４６に記憶する。なお、符号
化しないデータをキャッシュメモリ４６に記憶し、ＮＡＮＤメモリ１６に書き込む時に符
号化するようにしてもよい。
【０１１６】
つぎに、ＳＳＤＣ４１はＦＢＴ６０を読み出し（ステップＳ１４１）、ＦＢＴ６０から
フリーブロックの物理ブロックＩＤを取得する。フリーブロックが存在しない場合は（ス
テップＳ１４２：Ｎｏ）、ＳＳＤＣ４１は後述するＮＡＮＤメモリ１６の整理（ＮＡＮＤ
整理）を行い（ステップＳ１４３）、この整理の後、ＦＢＴ６０を読み出し（ステップＳ
１４４）、ＦＢＴ６０からフリーブロックの物理ブロックＩＤを取得する。ＳＳＤＣ４１
は、物理ブロックＩＤを取得したフリーブロックに対し、消去動作を行う。消去エラーが
発生した場合は、当該物理ブロックＩＤをＢＢＴ６１に追加し、ＦＢＴ６０から削除し、
Ｓ１４１からやり直してフリーブロックを再取得する。なお、一度消去エラーが発生した
物理ブロックであっても、再度消去動作を行うと消去エラーが発生せずに正常に消去でき
ることがあるため、バッドブロック数の不必要な増大を防止するという観点では、ＦＢＴ
６０やＡＢＴ６２に統計情報Ｘ０５としてのブロックごと消去エラー発生回数の項目を各
ブロックごとに設け、ブロックの消去エラーが発生した場合にこれをインクリメントする
ようにし、ブロックごと消去エラー発生回数が所定値以上になった場合に当該ブロックを
ＢＢＴ６１に登録するようにするのが望ましい。さらに望ましくは、連続して消去エラー
が発生する物理ブロックのみをバッドブロック化するために、ＳＳＤＣ４１は、前記「ブ
ロックごと消去エラー発生回数」のかわりに「ブロックごと消去連続エラー回数」の項目
をもうけ、ブロックの消去エラーが発生した場合にこれをインクリメントするようにし、
消去をエラー無く行えた場合にこれをゼロにリセットするようにし、「ブロックごと消去
連続エラー回数」が所定値以上になった場合に当該ブロックをＢＢＴ６１に登録するよう
にするのが望ましい。
【０１１７】
つぎに、ＳＳＤＣ４１は、書き込み命令で指定されているＬＢＡが未書き込み状態であ
るか否かを検索するために、先の図２１に示した正引き変換手順にしたがってＬＢＡに対
応する有効なデータがＮＡＮＤメモリ１６に記憶済みであるか否か判定する（ステップＳ
１４５、Ｓ１４６）。
【０１１８】
ＬＢＡが未書き込み状態である場合は（ステップＳ１４６：Ｙｅｓ）、ＳＳＤＣ４１は
、キャッシュメモリ４６に記憶している受信データをフリーブロックに書き込み（ステッ
プＳ１４７）、書き込みを行ったフリーブロック（新物理ブロック）のＩＤ及びその消去
回数をＡＢＴ６２に登録し、書き込みを行った物理ブロックのＩＤをＦＢＴ６０から削除
する（ステップＳ１５１）。この際、受信データのＬＢＡをトラック単位の区画（トラッ
ク区画）で区切り、トラック区画内がデータで埋め尽くされているか否かを判定すること
で、トラック管理するかクラスタ管理するかを判定する（ステップＳ１５２）。すなわち
、トラック区画内がデータで埋め尽くされている場合は、トラック管理となり、トラック
区画内がデータで埋め尽くされていない場合は、クラスタ管理となる。クラスタ管理の場
合は、クラスタテーブル６４を書き換えて、ＬＢＡに新物理ブロックＩＤを関連付け（ス
テップＳ１５３）、さらにトラックテーブル６３を書き換えて、ＬＢＡに無効な物理ブロ
ックＩＤ（例えば、ヌル）を関連付ける。トラック管理の場合は、トラックテーブルを書
き換えて、ＬＢＡに新物理ブロックＩＤを関連付ける（ステップＳ１５４）。
【０１１９】
一方、ステップＳ１４６において、ＬＢＡが未書き込み状態でない場合は、ＳＳＤＣ４
１は正引き変換により得られた物理ブロックＩＤをもとに、対応する物理ブロック内全デ
ータをＮＡＮＤメモリ１６から読み出して、ＲＡＭ４０に書き込む（ステップＳ１４８）
。そして、キャッシュメモリ４６に記憶されているデータとＮＡＮＤメモリ１６から読み
出してＲＡＭ４０に書き込んだデータとをＲＡＭ４０上で合成し（ステップＳ１４９）、
合成したデータをフリーブロックに書き込む（ステップＳ１５０）。
【０１２０】
なお、ステップＳ１５０で書き込みエラーが発生した場合は、当該物理ブロックＩＤを
ＢＢＴ６１に追加し、ＦＢＴ６０から削除し、ステップＳ１４１からやり直してフリーブ
ロックを再取得する。なお、一度書き込みエラーが発生した物理ブロックであっても、再
度書き込み動作を行うと書き込みエラーが発生せずに正常に書き込みできることがあるた
め、バッドブロック数の不必要な増大を防止するという観点では、ＦＢＴ６０やＡＢＴ６
２に統計情報Ｘ０４としてのブロックごと書き込みエラー発生回数の項目を各ブロックご
とに設け、ブロックの書き込みエラーが発生した場合にこれをインクリメントするように
し、「ブロックごと書き込みエラー発生回数」が所定値以上になった場合に当該ブロック
をＢＢＴ６１に登録するようにするのが望ましい。さらに望ましくは、連続して書き込み
エラーが発生する物理ブロックのみをバッドブロック化するために、ＳＳＤＣ４１は、前
記「ブロックごと書き込みエラー発生回数」のかわりに「ブロックごと書き込み連続エラ
ー回数」の項目をもうけ、ブロックの書き込みエラーが発生した場合にこれをインクリメ
ントするようにし、書き込みをエラー無く行えた場合にこれをゼロにリセットするように
し、「ブロックごと書き込み連続エラー回数」が所定値以上になった場合に当該ブロック
をＢＢＴ６１に登録するようにするのが望ましい。
【０１２１】
ＳＳＤＣ４１は、書き込みを行ったフリーブロック（新物理ブロック）のＩＤ及びその
消去回数をＡＢＴ６２に登録し、書き込みを行った物理ブロックのＩＤをＦＢＴ６０から
削除する（ステップＳ１５１）。ＬＢＡがクラスタ管理である場合は、クラスタテーブル
６４の旧物理ブロックＩＤを新物理ブロックＩＤに書き換える（ステップＳ１５２、Ｓ１
５３）。トラック管理の場合は、トラックテーブルの旧物理ブロックＩＤを新物理ブロッ
クＩＤに書き換える（ステップＳ１５２、Ｓ１５４）。さらに、ＳＳＤＣ４１は、旧物理
ブロックＩＤ及びその消去回数をＦＢＴ６０に追加し、旧物理ブロックＩＤ及びその消去
回数をＡＢＴ６２から削除する（ステップＳ１５５）。ＳＳＤＣ４１は以上の書き込み処
理の内容を統計情報６５に反映する。
【０１２２】
（ＮＡＮＤ整理）
ＳＳＤ２の全ＬＢＡの容量は、ＳＳＤ２のＮＡＮＤメモリ１６の全容量よりも小さく設
計されているため、書き込み動作がトラック単位で書き込まれ続ける限りはフリーブロッ
クが枯渇することはない。一方、未書き込みＬＢＡに対してクラスタ単位の書き込みが多
数発生した場合、クラスタ単位の書き込み一つに対してクラスタよりも容量の大きい物理
ブロックが割り当てられることになるため、書き込まれるデータ容量よりも多くのＮＡＮ
Ｄメモリ１６物理ブロックを必要とすることになり、それによりフリーブロックが枯渇す
る可能性がある。フリーブロックが枯渇した場合は、以下に示すＮＡＮＤメモリ１６の整
理によってフリーブロックを新たに確保することができる。
【０１２３】
図２６を用いてＳＳＤ２におけるＮＡＮＤ整理を説明する。物理ブロックに記憶されて
いる全てのクラスタが有効クラスタであるとは限らず、有効クラスタに該当しない無効ク
ラスタはＬＢＡに対応付けられていない。有効クラスタとは最新のデータを記憶している
クラスタであり、無効クラスタとは同一ＬＢＡのデータが他の場所に書きこまれ、参照さ
れることがなくなったクラスタである。物理ブロックは無効クラスタの分だけデータに空
きがあることになり、有効クラスタのデータを集めて違うブロックに書き直すＮＡＮＤ整
理を実行することでフリーブロックを確保することができる。
【０１２４】
まず、物理ブロックＩＤｉ＝０にし、空き領域累積量Ｓ＝０にする（ステップＳ１６０
）。ＳＳＤＣ４１は、このＩＤがｉ＝０の物理ブロックがトラックテーブル６３にエント
リされているか否かを判定する（ステップＳ１６１）。トラックテーブルにエントリされ
ている場合はｉを＋１し（ステップＳ１６２）、つぎの番号のＩＤを持つ物理ブロックに
ついて同様の判定を行う（ステップＳ１６１）。すなわち、物理ブロックＩＤがトラック
テーブル６３に含まれている場合は、この物理ブロックのデータはトラック管理であるた
め、ＮＡＮＤ整理対象に含めない。
【０１２５】
ＳＳＤＣ４１は、ＩＤ＝ｉの物理ブロックがトラック管理でない場合は（ステップＳ１
６１：Ｎｏ）、つぎにクラスタテーブル６４を参照し、ＩＤ＝ｉの物理ブロックに含まれ
る有効クラスタのアドレスを全て取得する（ステップＳ１６３）。そして、ＳＳＤＣ４１
は、取得した有効クラスタの総容量分のサイズｖを求め（ステップＳ１６４）、ｖ＜物理
ブロックサイズであるときは（ステップＳ１６５）、現在物理ブロックのＩＤをＮＡＮＤ
整理対象ブロックリストに加える（ステップＳ１６６）。さらに、ＳＳＤＣ４１は、取得
クラスタ累計量Ｓに現在物理ブロックの取得クラスタ容量ｖを加算し、取得クラスタ累計
量Ｓを更新する（ステップＳ１６７）。
【０１２６】
ステップＳ１６５で、ｖ＜物理ブロックサイズでないとき、あるいはステップＳ１６８
で取得クラスタ累計量Ｓが物理ブロックサイズに到達していない場合は、ＳＳＤＣ４１は
、ｉを＋１し（ステップＳ１６２）、つぎの番号のＩＤを持つ物理ブロックについて、ス
テップＳ１６１〜Ｓ１６７の手順を前記同様に実行する。そして、ステップＳ１６８で、
取得クラスタ累計量Ｓが物理ブロックサイズに到達するまで、ステップＳ１６１〜Ｓ１６
７の手順を繰り返す。
【０１２７】
そして、ステップＳ１６８において、取得クラスタ累計量Ｓが物理ブロックサイズに到
達した場合は、ＳＳＤＣ４１は、ＮＡＮＤ整理対象ブロックリスト上の全物理ブロックに
ついての全有効クラスタのデータをＮＡＮＤメモリ１６から読み出してＲＡＭ４０に書き
込み（ステップＳ１６９）、さらに、ＮＡＮＤ整理対象ブロックリスト上の全物理ブロッ
クに対して消去処理を行い（ステップＳ１７０）、消去処理を行った全物理ブロックをＡ
ＢＴ６２から削除してＦＢＴ６０に追加する（ステップＳ１７１）。その際、消去回数を
インクリメントする。なお、ステップＳ１７０で行う消去動作の対象は、ステップＳ１７
２でデータを書き込む対象のブロックに限定してもよく、ブロックの消去回数を抑制する
という観点ではそのように行うことが望ましい。
【０１２８】
消去エラーが発生した場合は、当該物理ブロックＩＤをＢＢＴ６１に追加し、ＦＢＴ６
０から削除する。なお、一度消去エラーが発生した物理ブロックであっても、再度消去動
作を行うと消去エラーが発生せずに正常に消去できることがあるため、バッドブロック数
の不必要な増大を防止するという観点では、ＦＢＴ６０やＡＢＴ６２に「ブロックごと消
去エラー発生回数」の項目を各ブロックごとに設け、ブロックの消去エラーが発生した場
合にこれをインクリメントするようにし、ブロックごと消去エラー発生回数が所定値以上
になった場合に当該ブロックをＢＢＴ６１に登録するようにするのが望ましい。さらに望
ましくは、連続して消去エラーが発生する物理ブロックのみをバッドブロック化するため
に、ＳＳＤＣ４１は、前記「ブロックごと消去エラー発生回数」のかわりに「ブロックご
と消去連続エラー回数」の項目をもうけ、ブロックの消去エラーが発生した場合にこれを
インクリメントするようにし、消去をエラー無く行えた場合にこれをゼロにリセットする
ようにし、「ブロックごと消去連続エラー回数」が所定値以上になった場合に当該ブロッ
クをＢＢＴ６１に登録するようにするのが望ましい。
【０１２９】
そして、ＳＳＤＣ４１は、ＦＢＴ６０から新たなフリーブロックを取得し、取得したフ
リーブロックに対しＲＡＭ４０に書き込んだデータを書き込み（ステップＳ１７２）、デ
ータを書き込んだフリーブロックの物理ブロックＩＤ及び当該ブロックの消去回数をＡＢ
Ｔ６２に追加し、さらにデータが書き込まれたブロックのブロックＩＤをＦＢＴ６０から
削除する（ステップＳ１７３）。さらに、ＳＳＤＣ４１は、今回のＮＡＮＤ整理に対応す
るように、クラスタテーブル６４におけるクラスタアドレス、物理ブロックＩＤ及び物理
ブロック内ページアドレスを更新する（ステップＳ１７４）。ＳＳＤＣ４１は上記ＮＡＮ
Ｄ整理の処理内容を統計情報６５に反映する。
【０１３０】
なお、ステップＳ１７２で書き込みエラーが発生した場合は、当該物理ブロックＩＤを
ＢＢＴ６１に追加し、ＦＢＴ６０から削除し、フリーブロックを再取得する。なお、一度
書き込みエラーが発生した物理ブロックであっても、再度書き込み動作を行うと書き込み
エラーが発生せずに正常に書き込みできることがあるため、バッドブロック数の不必要な
増大を防止するという観点では、ＦＢＴ６０やＡＢＴ６２に「ブロックごと書き込みエラ
ー発生回数」の項目を各ブロックに設け、ブロックの書き込みエラーが発生した場合にこ
れをインクリメントするようにし、「ブロックごと書き込みエラー発生回数」が所定値以
上になった場合に当該ブロックをＢＢＴ６１に登録するようにするのが望ましい。さらに
望ましくは、連続して書き込みエラーが発生する物理ブロックのみをバッドブロック化す
るために、ＳＳＤＣ４１は、前記「ブロックごと書き込みエラー発生回数」のかわりに「
ブロックごと書き込み連続エラー回数」の項目をもうけ、ブロックの書き込みエラーが発
生した場合にこれをインクリメントするようにし、書き込みをエラー無く行えた場合にこ
れをゼロにリセットするようにし、「ブロックごと書き込み連続エラー回数」が所定値以
上になった場合に当該ブロックをＢＢＴ６１に登録するようにするのが望ましい。
【０１３１】
なお、図２６の手順では、フリーブロックにデータを詰め込むことを優先するＮＡＮＤ
整理を行ったが、ステップＳ１６４で、ｖを物理ブロックサイズから取得したクラスタの
容量を減算することによって求め、ステップＳ１６５でｖ＞０か否かを判定し、ｖ＞０の
場合はステップＳ１６８に移行し、ｖ＞０でない場合はステップＳ１６２に移行させるよ
うにすることで、フリーブロックを確保することを優先するＮＡＮＤ整理を行うようにし
てもよい。
【０１３２】
つぎに、図２７を用いてＳＳＤ２における削除通知について説明する。削除通知は、ホ
スト装置３上のＯＳ１００によってデータの削除が行われた場合に、ホスト装置３から外
部記憶装置に対して送信される命令である。削除通知の例として、例えば、ＩＮＣＩＴＳ
ＡＴＡ／ＡＴＡＰＩ  Ｃｏｍｍａｎｄ  Ｓｅｔ−２（ＡＣＳ−２）で記述されているDa
ta Set Management Command(通称トリム（ＴＲＩＭ）コマンド)があげられる。これは、
ＯＳ１００上でデータが削除された場合、削除されたデータの存在する論理アドレス領域
（ＬＢＡ領域）を、ＬＢＡ及びセクタ数の組みよりなるＬＢＡ  Ｒａｎｇｅ  Ｅｎｔｒｙ
として外部記憶装置に通知することにより、外部記憶装置上でもその領域を空き領域とし
て扱うことができる方式である。削除通知により、ＳＳＤ２はフリーブロックを新たに確
保することができる。なお、トリムコマンドの機能は、Ｄａｔａ  Ｓｅｔ  Ｍａｎａｇｅ
ｍｅｎｔ  Ｃｏｍｍａｎｄだけでなく、たとえば、ＩＮＣＩＴＳ  ＡＣＳ−２で記述され
ているＳＣＴ  Ｃｏｍｍａｎｄ  Ｔｒａｎｓｐｏｒｔや、その他ベンダー独自のコマンド
などその他コマンドによって実現してもよい。ＯＳ１００が緊急時ＯＳである場合は、Ｎ
ＡＮＤメモリに対する書き込みを減らすという観点では、緊急時ＯＳでは当該削除通知の
発行を禁止することが望ましい。一方、当該削除通知処理ではＮＡＮＤメモリ１６に関し
て高々管理情報４５程度の書き換えしか発生しないため、緊急時ＯＳにおいても当該削除
通知を許可してもよい。
【０１３３】
ＳＳＤ２がホスト装置３から削除通知を受信した場合は（ステップＳ１８０）、ＳＳＤ
Ｃ４１は、削除通知に含まれるＬＢＡを先の図２１に示した手順に従ってＬＢＡ正引き変
換する。ＳＳＤＣ４１は、削除通知に含まれるＬＢＡがトラック管理である場合は（ステ
ップＳ１８１：Ｙｅｓ）、物理ブロックＩＤをＦＢＴ６０に追加してＡＢＴ６２から削除
する（ステップＳ１８４）。一方、ＳＳＤＣ４１は、削除通知に含まれるＬＢＡがクラス
タ管理である場合は（ステップＳ１８１：Ｎｏ）、物理ブロックに対応する全クラスタを
クラスタテーブル６４から削除し（ステップＳ１８２）、トラックテーブル６３において
、ＬＢＡに対応するトラックに対応する物理ブロックＩＤに適当な有効値（例えばＦＦＦ
Ｆ）を記入し（ステップＳ１８３）、物理ブロックＩＤをＦＢＴ６０に追加してＡＢＴ６
２から削除する（ステップＳ１８４）。ＳＳＤ２では、ＮＡＮＤ整理以外に、削除通知処
理によってもフリーブロックを確保することができる。
【０１３４】
このようなＮＡＮＤ整理により、書き込みに対し十分な数のフリーブロックを確保でき
るのが通常である。ＮＡＮＤ整理によっても、書き込みに対し十分な数のフリーブロック
を確保できなかった場合は、統計情報６５のＮＡＮＤ整理失敗フラグを１にして、ホスト
装置３による統計情報６５の取得を通じてＳＳＤ２がフリーブロックを確保できなかった
ことをホスト装置３に通知できるようにすることが望ましい。ＮＡＮＤ整理失敗フラグが
１になってから実際にＳＳＤ２が動作しなくなるまでの時間に猶予をもたせるという観点
では、
（ＮＡＮＤ整理をして確保できたフリーブロック数）＜（書き込みに必要なフリーブロ
ック数）＋（マージン）
の条件を満たす場合にＮＡＮＤ整理失敗フラグを１にセットするようにしておくことが望
ましい。
【０１３５】
上記ＮＡＮＤ整理は、ホスト装置３からライト要求を受信した時だけでなく、ホストか
ら最後に命令を受信してから所定時間経過した時、またはホスト装置３からスタンバイや
アイドルやスリープ状態に移行するコマンドを受信した時などに実行してもよいし、ＡＣ
Ｓ−２に記載のSCT Command Transportやその他ベンダーコマンドなどを通じて、ＮＡＮ
Ｄ整理を開始する命令をＳＳＤ２がホスト装置３から受信した時などに実行してもよい。
なお、ＯＳ１００が緊急時ＯＳである場合は、ＮＡＮＤメモリに対する書き込みを減らす
という観点では、ホスト装置３から最後に命令を受信してから所定時間経過した時、ホス
ト装置３からスタンバイやアイドルやスリープ状態に移行するコマンドを受信した時に、
上記ＮＡＮＤ整理を行わないことが望ましい。さらには、ＯＳ１００が緊急時ＯＳである
場合は、ＮＡＮＤメモリ１６に対する書き込みを減らすという観点では、緊急時ＯＳにお
いてはＮＡＮＤ整理を開始する命令発行が禁止されていることが望ましい。
【０１３６】
（エラー処理）
次に、図２８を用いてＳＳＤ２でのＮＡＮＤメモリ１６に関するエラー処理について説
明する。ホスト装置３からのライト要求に対する処理やＮＡＮＤ整理処理など各種処理は
通常は上記のように行われるが、ＮＡＮＤメモリ１６に対する書き込み動作（プログラム
動作）で書き込みエラーが発生する場合、ＮＡＮＤメモリ１６に対する消去動作（イレー
ズ動作）で消去エラーが発生する場合、ＮＡＮＤメモリ１６に対する読み出し動作の際に
ＥＣＣエラー（誤り訂正処理の失敗）が生じる場合などがあり、これらに対する例外処理
が必要となる。
【０１３７】
ＳＳＤＣ４１は、上記の何れかのエラーが発生した場合（ステップＳ１９０）、エラー
が発生した物理ブロックをＢＢＴ６１に追加し（ステップＳ１９１）、エラーが発生した
物理ブロックをＡＢＴ６２及びＦＢＴ６０から削除することで（ステップＳ１９２）、以
後は、エラーが発生した物理ブロックにアクセスできないようにする。この際、エラーが
発生した物理ブロックのデータを別の物理ブロックにコピーしてもよい。ＳＳＤＣ４１は
上記エラー処理を統計情報６５に反映させる。
【０１３８】
上記では、エラー処理の一例を、読み出し処理、書き込み処理、ＮＡＮＤ整理処理に関
して示したが、エラー処理はこれらの例に限らず、ＮＡＮＤメモリ１６に対する全ての読
み出し処理、書き込み処理、消去処理に対して適用可能である。
【０１３９】
（制御ツール）
ＳＳＤ２を利用しているうちに、ＮＡＮＤメモリ１６の各ブロックの信頼性が劣化して
いき、バッドブロックの数が増えていき、フリーブロック数とアクティブブロック数の和
が減っていくことになる。さらにＳＳＤ２を使用していると、ＮＡＮＤ整理を行っても、
書き込み処理を行うのに十分なフリーブロック数を確保できなくなり、これがＳＳＤ２の
寿命である。以下では、ＳＳＤ２の寿命が到達した場合の制御ツール２００の処理を示す
。
【０１４０】
制御ツール２００は起動されると、主メモリ６に常駐してＳＳＤ２の統計情報６５を監
視する。ＳＳＤ２の統計情報６５を常に監視するためには、制御ツール２００の起動プロ
グラムが通常時ＯＳ１００Ａのスタートアッププログラムに登録されるなどして、通常時
ＯＳ１００Ａが領域１６Ｄ（または２０Ｄ）から領域６Ａに読み出されるときまたはその
直後に制御ツール２００が領域１６Ｂ（または領域２０Ｂ）から読み出されるのが望まし
い。たとえば、ＯＳ１００がWindows（登録商標）である場合は、制御ツール２００を、
例えばWindows（登録商標）のスタートアップメニューに登録したり、あるいはサービス
として登録したり、Windows（登録商標）のレジストリに登録したりすることで、制御ツ
ール２００を起動時の常駐プログラムに設定しておくことで、制御ツール２００を自動起
動させることが可能となる。
【０１４１】
制御ツール２００は、例えば図２９に示すように、一定時間おき（たとえば１分おき）
にＳＳＤ２から統計情報６５を取得する。統計情報を取得する方式として、例えば、INCI
TS ACS-2に記述されている、メモリの自己診断機能であるS.M.A.R.T（Self-Monitoring A
nalysis and Reporting Technology）のコマンドであるSMART READ DATA（B0h（D0h））
又はACS-2に記述されているSCT Command Transportやその他ベンダー独自のコマンドを用
いてもよい。
【０１４２】
図３０は、ＳＳＤ２で管理される統計情報６５（統計情報Ｘ０１〜Ｘ１９、Ｘ２３、Ｘ
２４）に関するテーブルを示すものである。S.M.A.R.Tを用いる場合、図３０に示すよう
に、統計情報６５の構成要素（Ｘ０１〜Ｘ１９、Ｘ２３、Ｘ２４など）それぞれに対し、
属性ＩＤ（attribute ID）を割り当るが、これら構成要素の一部のみに割り当ててもよい
のはもちろんである。これら統計情報６５の構成要素に関し、規格化後、最良値としてSM
ABを採用し、規格化後の信頼性保証下限値としてSMAL=SMAB*AMALR（０≦AMALR＜１）（SM
ALは整数で、四捨五入、小数点以下切り上げ、小数点以下切り上げのいずれかにより少数
から整数に変換される）を採用し、
attribute value = SMAL + SMAB×（1-AMALR）×(ＲＭＡＸ−生の値)／ ＲＭＡＸ
attribute Threshold＝30（固定値）
ＲＭＡＸ＝信頼性保証できる統計情報生の値の上限値
生の値＝統計情報の生の値
により、ＳＳＤＣ４１は、smart情報のattribute value（図３０の「Value」）を計算し
て制御ツール２００に送信する。attribute Thresholdは、図２６の「Threshold」であり
、生の値は、図２６の「Raw Data」である。
【０１４３】
規格化後の最良値ＳＭＡＢは任意の自然数であればよく、たとえばＳＭＡＢ＝１００を
採用してもよい。ＡＭＡＬＲは０≦ＡＭＡＬＲ＜１をみたす任意の数であればよく、たと
えばＡＭＡＬＲ＝０．３を採用してもよい。また、ＲＭＡＸ、ＡＭＡＬＲおよびＳＭＡＢ
は各Ｘ０１〜Ｘ１９、Ｘ２３、Ｘ２４に対して、それぞれ別の値を採用することができる
。ＳＭＡＢ＝１００で、ＡＭＡＬＲ＝；０．３を採用した時、採用対象の統計情報に関し
てattribute valueの最良値が１００（たとえば出荷直後に１００）になっており、信頼
性が劣化するにつれて徐々に減少していき、ＳＳＤ２が信頼性保証できなくなったとき（
統計情報の生の値がＲＭＡＸに等しいかそれ以上になったとき）、attribute valueが３
０かそれ以下の値に到達することになる。なお、Attribute ValueがThresholdを超過して
いるか否かをホスト３が検知する手段として、ACS-2に記載のコマンドであるB0h/DAh SMA
RT RETURN STATUSを用い、当該コマンドのOutputからAttribute ValueがThresholdを超過
しているか否かを判断してもよい。
【０１４４】
ＲＭＡＸは、たとえば図３１のように統計情報の生の値とＳＳＤ２の不良率の関係を開
発段階に導き出し、不良率が許容値を超える時の統計情報生の値をＲＭＡＸとして採用す
ることが望ましい。たとえば、ＳＳＤ２の開発段階で、多数個（たとえば１００個）の試
験用ＳＳＤ２群に対して高温で書き込み動作を繰り返しながら、書き込んだデータが一定
時間以上正しく記憶され続けるかを検証する摩耗試験を行い、同時に統計情報をモニタし
つづけ、不良率が一定割合に到達する時点での統計情報の生の値をＲＭＡＸとして採用す
ればよい。たとえば、摩耗したＳＳＤ２を高温状態である時間以上放置して、その後ＳＳ
Ｄ２の温度を下げ、ＳＳＤ２に対して読み出し動作を行い、読み出したデータがＥＣＣ訂
正できない場合（またはＥＣＣ訂正できないデータが一定数以上の場合）、これをＳＳＤ
２の不良として定義し、不良数を、同等の試験を行ったＳＳＤ２の個数で割った値を不良
率として採用すればよい。この不良率が、前記許容できる不良率を統計的に有意に下回る
統計情報生の値をＲＭＡＸとして採用すればよい。ＲＭＡＸにある程度マージンをもたせ
て、
ＲＭＡＸ´＝ＲＭＡＸ−マージン
としたＲＭＡＸ´をＲＭＡＸとして採用してもよい。
【０１４５】
図３０の「Worst」を制御ツール２００がＳＳＤ２の寿命を診断する仕様として採用し
てもよい。「Worst」はattribute valueの最悪値としてＳＳＤＣ４１に計算される。たと
えば、Ｘ０１〜Ｘ１９、Ｘ２３の場合、Worstは、たとえばＳＳＤ２が出荷後の（または
製造後の）、attribute valueの最小値である。あるいは、Worstとして、過去ある一定時
間範囲内のattribute valueの最小値をWorst Valueとして採用してもよいし、ある一定回
数（一定データ量）通信または処理が行われた過去にさかのぼって、その過去から現在に
至るまでの最小値をworst valueとして採用してもよい。
【０１４６】
図３０の「Raw Data」（Raw Value）を制御ツール２００がＳＳＤ２の寿命を診断する
仕様として採用してもよい。統計情報（たとえば、Ｘ０１〜Ｘ１９、Ｘ２３、Ｘ２４）の
生の値がRaw DataとしてＳＳＤ２から制御ツール２００に送信される。この場合、制御ツ
ール２００は、ＲＭＡＸを制御ツール２００内にすでに保持しているかＳＳＤ２から別途
読み出すかその他記憶装置から読み出すかしてＲＭＡＸを取得し、ＲＭＡＸとRaw Dataを
比較し、Raw Data＞RMAXまたはRaw Data≧RMAXとなった時、ＳＳＤ２が寿命に到達したと
判断する。たとえば、ＮＡＮＤ整理失敗フラグの場合、これが１である場合にＳＳＤ２が
寿命に到達したと判断する。たとえば、バッドブロック数総計の場合、これが所定値を上
回った場合にＳＳＤ２が寿命に到達したと判断する。Raw Dataとして、必ずしも統計情報
の生の値を出力する必要はなく、たとえば、統計情報の生の値を四則演算した値をRaw Da
taとしてＳＳＤＣ４１が制御ツール２００に送信し、同じくＲＭＡＸを四則演算した値と
比較することで判定を行ってもよい。また、統計情報の生の値を暗号化したデータをRaw 
DataとしてＳＳＤＣ４１が制御ツール２００に送信し、ＳＳＤＣ４１がこれを復号化して
復号化後のデータをＲＭＡＸと比較することで判定を行ってもよい。
【０１４７】
上記のようにして、制御ツール２００は、ＳＳＤ２が寿命に到達したか否か（ＳＳＤ２
が異常状態であるか否か）を判定し、ＳＳＤ２が寿命に到達したと判定された場合（ＳＳ
Ｄ２が異常状態であると判定された場合）、後述する寿命到達時処理（ステップＳ２０５
）に移行する。統計情報６５は、統計情報Ｘ０１〜Ｘ１９、Ｘ２３、Ｘ２４以外にも種々
の形態をとりうるが、本発明はこれらに対しても適用可能である。また、Ｘ０１〜Ｘ１９
、Ｘ２３、Ｘ２４と不良率の関係には正の相関関係が存在するが、不良率と負の相関関係
が存在する統計情報に対しても本発明は適用可能である。たとえば、ＳＳＤ２が出荷後に
体験した最低温度などである。その場合、ＲＭＡＸの代わりに、信頼性保証できる下限値
ＲＭＩＮを採用し、統計情報がＲＭＩＮを下回った場合にＳＳＤ２が寿命に到達したと判
断すればよい。
【０１４８】
図２９において、S.M.A.R.Tを用いる場合、制御ツール２００は、一定時間おき（たと
えば１分おき）に統計情報の取得を行う（ステップＳ２００：Ｙｅｓ）。制御ツール２０
０は、統計情報取得コマンドであるＡＣＳ−２に記載のＢ０ｈ／Ｄ０ｈ  ＳＭＡＲＴ  Ｒ
ＥＡＤ  ＤＡＴＡを発行し（ステップＳ２０１）、ＳＳＤ２から統計情報を含むデータを
受信し（ステップＳ２０２）、この受信したデータを診断する（ステップＳ２０３）。診
断方法は前述したとおりである。ステップＳ２０４において、ＳＳＤ２が寿命に到達した
と制御ツール２００が判断した時（ステップＳ２０４：Ｙｅｓ）、制御ツールは寿命到達
時処理に移行する（ステップＳ２０５）。ＳＳＤ２が寿命に到達していなくても、統計情
報があらかじめ定められたＲＭＡＸを上回ったり、あるいは通常動作ではありえない異常
値を示した場合などにおいても、ステップＳ２０５の処理に移行することが望ましい。
【０１４９】
統計情報６５以外の情報を用いて、寿命到達時処理に移行してもよい。たとえば、図３
２に示すように、制御ツール２００は、ＯＳ１００がＳＳＤ２から受信する応答情報（図
１２参照）をＯＳ１００から取得（監視）し（ステップＳ２１０）、エラー応答であった
場合（ステップＳ２１１）、ＳＳＤ２が異常状態に至ったと判断し、寿命到達時処理に移
行する（ステップＳ２１２）。監視する応答はどのようなコマンドに対する応答でもよい
が、たとえばＡＣＳ−２記載の61h WRITE FPDMA QUEUEDや35h WRITE DMA EXTなどのＳＳ
Ｄ２に対する書き込みコマンドに対する応答のみを監視することが、ＣＰＵ４への負荷低
減の観点から望ましい。特に、ＳＳＤ２が特許文献１として提示した特開２００９−２１
７６０３号公報の発明を採用したＳＳＤである場合、ＳＳＤ２が寿命に至ると、ＳＳＤ２
への書き込みコマンドに対する応答がエラーで返ってくるようになるため、統計情報の取
得無しに寿命到達を判断することができる。なお、ＳＳＤ２が特許文献１として提示した
特開２００９−２１７６０３号公報の発明を採用したＳＳＤで無い場合であっても本発明
が適用できることはもちろんである。 
なお、ＳＳＤ２が書き込みコマンドに対してエラーを返す状態である場合で、後述する
ＳＳＤ２のブートローダの書き換えや緊急時ＯＳの書き込み等書き込みを行う場合は、特
許文献１のＲｅａｄＯｎｌｙモード状態において特殊な書き込みコマンド（例えばＡＣＳ
−２に記述されているＳＣＴ  Ｃｏｍｍａｎｄ  Ｔｒａｎｓｐｏｒｔやその他ベンダー独
自コマンドなど）に対してはエラーを返さないようＳＳＤＣ４１を構成しておき、前述し
た特殊な書き込みコマンドを用いてＳＳＤ２に書き込みを行うことが望ましい。なお、Ｓ
ＳＤ２以外の記憶装置への書き込みには必要ない。あるいは、通常時ＯＳ時が、書き込み
コマンドとしてある書き込みコマンド（たとえば61h WRITE FPDMA QUEUED）のみを使うよ
うなＯＳである場合には、ＳＳＤＣ４１が特許文献１のＲｅａｄＯｎｌｙモードに至ると
、当該書き込みコマンド（たとえば61h WRITE FPDMA QUEUED）に対してエラーを返すよう
にＳＳＤＣ４１を構成し、別の書き込みコマンド（たとえば30h WRITE SECTOR(S)）に対
してはエラーを返さないようにＳＳＤＣ４１を構成し、別の書き込みコマンド（たとえば
30h WRITE SECTOR(S)）を用いてＳＳＤ２に対してブートローダや緊急時ＯＳなどの書き
込みを行うようにしてもよい。
【０１５０】
監視対象のコマンドは、書き込みコマンド以外のコマンドであってもよいのはもちろん
である。たとえば、コマンド応答としてＡＣＳ−２記載のB0H/D4H SMART EXECUTE OFF-LI
NE IMMEDIATEの応答(Outputs)やレポートを用いてもよいし、90h EXECUTE DEVICE DIAGNO
STICの応答を用いてもよい。
【０１５１】
あるコマンド応答がエラーであっても、同コマンドを再度送信するとエラーでない可能
性があり、この場合はＳＳＤ２が寿命に到達していない可能性があるため、再現性のある
コマンドエラーが発生した場合にのみ寿命到達時処理を行う観点では、コマンドエラーが
複数回発生した場合に寿命到達時処理を行うことが望ましい。さらに、エラー再現性を厳
密に判定する観点では、コマンドエラーが複数回連続で発生した場合に寿命到達時処理を
行うことが望ましい。あるいは、図３３に示すように、ＳＳＤ２へのコマンド監視中にコ
マンド応答がエラーで返ってきた場合（ステップＳ２２０、Ｓ２２１：Ｙｅｓ）、制御ツ
ール２００またはＯＳ１００が同コマンドをＳＳＤ２に再度送信（コマンドリトライ）し
（ステップＳ２２２）、リトライしたコマンドがエラーした場合に（ステップＳ２２３：
Ｙｅｓ）、寿命到達時処理を行うようにしてもよい（ステップＳ２２４）。
【０１５２】
（寿命到達時処理）
つぎに、寿命到達時処理（異常状態時処理）について説明する。第１の実施形態では、
通常時ＯＳおよび緊急時ＯＳがＳＳＤ２にすでに格納されている場合での寿命到達時処理
について説明する。通常時ＯＳ１００Ａ、緊急時ＯＳ１００Ｂおよびブートローダ３００
は、図７〜図１１に示したように、たとえば、コンピュータシステム１の出荷前にコンピ
ュータシステム１の製造業者によりＳＳＤ２に書き込まれているか、コンピュータシステ
ム１の出荷後にユーザがＤＶＤ−ＲＯＭやＵＳＢメモリやＳＳＤなどのインストールディ
スクによりインストールを行うか、コンピュータシステム１の出荷後にユーザがＷＥＢか
らインストールイメージをダウンロードしダウンロードしたインストールイメージを使っ
てインストールを行うことで、ＳＳＤ２に書き込まれる。ＮＡＮＤメモリ１６において、
図７に示すように、ブートローダ３００は領域１６Ｃに、通常時ＯＳ１００Ａは領域１６
Ｄに、緊急時ＯＳ１００Ｂは領域１６Ｅに書き込まれており、ＲＡＭ４０に格納される管
理情報４４により、領域１６Ｃ、領域１６Ｄ、領域１６ＥにはそれぞれＬＢＡが割り当て
られている。領域１６ＣにはＬＢＡ１６Ｃが、領域１６ＤにはＬＢＡ１６Ｄが、領域１６
ＥにはＬＢＡ１６Ｅが割り当てられているとする。ブートローダ３００内で保持される前
述のＯＳポインタ情報ＯＳＰＴ（読み出すべきＯＳのＬＢＡを示しているポインタ情報）
にも、同様にＬＢＡが割り当てられており、ＯＳＰＴに割り当てられるＬＢＡをＬＢＡＯ
ＳＰＴと呼称する。ＬＢＡＯＳＰＴはＬＢＡ１６Ｃに含まれている。
【０１５３】
制御ツール２００は、ブートローダ３００を書き換えることで、次回以降コンピュータ
システム１が起動されたときには、通常時ＯＳ１００Ａではなく緊急時ＯＳ１００Ｂがホ
スト装置３の主メモリ６上の領域６Ａに読み出されるようにする。通常時ＯＳ１００Ａが
ＯＳ１００としてＣＰＵ４に使用されている時は、ホスト装置３はＳＳＤ２に対して書き
込み動作を行う恐れがあり、それによりＳＳＤ２の寿命がさらに短くなったり、ＳＳＤ２
に書き込んだデータやすでに書き込まれているデータを破壊してしまう可能性がある。一
方、本実施形態により、通常時ＯＳ１００Ａではなく、緊急時ＯＳ１００Ｂを主メモリ６
上の領域６Ａに読み出し、ＣＰＵ４が緊急時ＯＳ１００Ｂをオペレーティングとして使用
しているときは、ホスト３がＳＳＤ２に対して書き込み動作を行うことは禁止されるため
、ＳＳＤ２のデータが破壊されたりＳＳＤ２が読み出し不可能になったりする前に、ＳＳ
Ｄ２のデータを読み出したり、ＳＳＤ２に格納されているユーザデータを別の記憶媒体に
バックアップしたりすることが可能になる。
【０１５４】
たとえば図２９のステップＳ２０５で寿命到達時処理が呼び出されると、図３４に示す
ように、制御ツール２００はブートローダ３００を書き換えて、次回以降コンピュータシ
ステム１が起動されたときには、通常時ＯＳ１００Ａではなく緊急時ＯＳ１００Ｂが主メ
モリ６上の領域６Ａに読み出されるようにする。たとえば、制御ツール２００は、ＬＢＡ
ＯＳＰＴに対して、書き込みデータとしてＬＢＡ１６Ｅを書き込む。これにより、次回以
降コンピュータシステム１が起動されると、ＣＰＵ４はＯＳポインタ情報ＯＳＰＴを読み
出し、ＯＳポインタ情報ＯＳＰＴの示すＬＢＡであるＬＢＡ１６Ｅに対して読み出し命令
を送信することで、緊急時ＯＳ１００Ｂを読み出すことができる。ブートローダ３００の
書き換え前後で、制御ツール２００がディスプレイ９を通して、「ＳＳＤが寿命に到達し
ました。緊急時ＯＳを有効にします。」という旨の表示を行ってもよい。
【０１５５】
図３４では、寿命到達時処理としてブートローダ３００の書き換えのみを行ったが、図
３５に示すように、制御ツール２００は、ステップＳ２４０でのブートローダ書き換え後
に、コンピュータシステム１に対してリセットコマンドを送信したり、通常時ＯＳに対し
てリセットコマンドを送信したりすることにより、コンピュータシステム１を再起動して
もよい（ステップＳ２４１）。
【０１５６】
また、図３６に示すように、ステップＳ２５０でのブートローダ書き換え後に、ディス
プレイ９を通して、「ＳＳＤが寿命に到達しました。緊急時ＯＳを有効にします。今すぐ
再起動しますか？」という旨のテキスト表示と、ＯＫボタンの表示を行い（ステップＳ２
５１）、ＯＫボタンがたとえばマウス１５やキーボード１４により押下されたとき（ステ
ップＳ２５２：Ｙｅｓ）、コンピュータシステム１を再起動するようにしてもよい（ステ
ップＳ２５３）。また、ＯＫボタンの表示の代わりに、コマンドプロンプト画面で「ＳＳ
Ｄが寿命に到達しました。緊急時ＯＳを有効にします。今すぐ再起動しますか？ｙ：Ｙｅ
ｓ, ｎ：Ｎｏ」というテキスト表示を行い、キーボード１４から“ｙ”とエンターキーを
入力されたとき、コンピュータシステム１を再起動するようにしてもよい。
【０１５７】
図３７は、コンピュータシステム１の再起動時の動作手順を示すものである。コンピュ
ータシステム１が再起動されると、ＣＰＵ４は領域１６Ｃに対応するＬＢＡおよびＬＢＡ
ＯＳＰＴを使用してブートローダ３００およびＯＳポインタ情報ＯＳＰＴをＳＳＤ２から
読み出す（ステップＳ２６０）。つぎに、ＣＰＵ４は、ブートローダ３００を使用して所
要のブート処理を行うとともに、ＯＳポインタ情報ＯＳＰＴを解析し、ＯＳポインタ情報
ＯＳＰＴが示すＬＢＡを特定する。そして、ＣＰＵ４は、特定したＬＢＡに対する読み出
し命令をＳＳＤ２へ送信することで、ＯＳポインタ情報ＯＳＰＴが指定するＯＳをＳＳＤ
２から読み出す。したがって、ＯＳポインタ情報ＯＳＰＴが示すＬＢＡが通常時ＯＳ１０
０Ａの記憶領域である領域１６Ｄを指定しているときには（ステップＳ２６１：Ｙｅｓ）
、通常時ＯＡ１００Ａが領域１６Ｄから読み出されて主メモリ６上の領域６Ａに書き込ま
れ（ステップＳ２６２）、ＯＳポインタ情報ＯＳＰＴが示すＬＢＡが緊急時ＯＳ１００Ｂ
の記憶領域である領域１６Ｅを指定しているときには（ステップＳ２６１：Ｎｏ）、緊急
時ＯＡ１００Ｂが領域１６Ｅから読み出されて主メモリ６上の領域６Ａに書き込まれる（
ステップＳ２６３）。このように、制御ツール２００による寿命到達時処理によってブー
トローダ３００のＯＳポインタ情報ＯＳＰＴが、緊急時ＯＳ１００Ｂを読み出すように書
き換えられているときには、緊急時ＯＡ１００Ｂが領域１６Ｅから読み出されて主メモリ
６上の領域６Ａに書き込まれることになる。
【０１５８】
（バックアップ機能）
ユーザがＳＳＤ２のユーザデータを他の記憶装置に容易にバックアップしやすくすると
いう観点では、緊急時ＯＳ１００Ｂに、ユーザデータバックアップ機能を付加することが
望ましい。ＳＳＤ２が寿命に到達したと考えられる状態では、ＳＳＤ２のデータリテンシ
ョン特性が悪化していると考えられるため、できるだけ早急にＳＳＤ２上のユーザデータ
を他のバックアップ用記憶装置にデータを退避させることが必要である。
【０１５９】
図３８は、緊急時ＯＳ１００Ｂがバックアップ機能を搭載している場合の、ホスト装置
３の構成を示す図である。ホスト装置３には、インタフェース１９（本実施形態ではＳＡ
ＴＡインタフェースを採用する）を介して、バックアップ用記憶装置（他のＳＳＤ、ハー
ドディスクドライブなど）１５０が接続されている。バックアップ用記憶装置１５０はコ
ンピュータシステム１の出荷時には搭載されている必要が無く、たとえばユーザが別途購
入したＳＳＤをバックアップ用記憶装置１５０として用いる場合は、ＳＳＤのＳＡＴＡポ
ートをＳＡＴＡケーブルを経由してマザーボード３０（図１３参照）に接続し、ＳＳＤ２
の電源ポートを電源ケーブルを経由して電源３２に接続するとよい。
【０１６０】
図３９は、緊急時ＯＳ１００Ｂにバックアップ機能を付加した場合の、緊急時ＯＳ１０
０Ｂの起動手順の一例を示すものである。図３９のステップＳ２７０〜Ｓ２７３の動作は
、図３７のステップＳ２６０〜Ｓ２６３の動作と同じである。図３９では、図３７に示し
たコンピュータシステム１の起動手順にステップＳ２７４〜Ｓ２７６を追加している。緊
急時ＯＳ１００Ｂの起動後、ステップＳ２７４以降の処理は、たとえば、ユーザがキーボ
ード１４やマウス１５を介して緊急時ＯＳ１００Ｂのプログラムメニューからバックアッ
プ機能を選択するか、あるいは、緊急時ＯＳ１００Ｂが起動すると自動的に開始される。
バックアップ処理の前に、ディスプレイ９に「バックアップするか？」というメッセージ
と、ＯＫボタンを表示して、バックアップするタイミングをユーザが自由に選択できるよ
うにすることが望ましい。マウス１５やキーボード１４によりＯＫボタンを選択すると、
ステップＳ２７５のＹｅｓにすすむ。あるいは、ディスプレイ９に、コマンドプロンプト
経由で「バックアップするか？Ｙｅｓ：Ｙ、Ｎｏ：Ｎ」というメッセージを表示して、キ
ーボード１４からＹボタンとエンターキーを押すことでステップＳ２７５のＹｅｓにすす
むようにしてもよい。このようにして、バックアップ機能が選択されると（ステップＳ２
７５：Ｙｅｓ）、緊急時ＯＳ１００Ｂはバックアップ処理を開始する。
【０１６１】
バックアップ処理の内容としては、たとえば、緊急時ＯＳ１００Ｂは、ＳＳＤ２から読
み出したデータのＬＢＡ（ＳＳＤ２のＬＢＡ）と同一のＬＢＡ（バックアップ用記憶装置
１５０上のＬＢＡ）に、ＳＳＤ２から読み出したデータを書き込む（ＬＢＡ単位のバック
アップ）。例えば、ＳＳＤ２上のＬＢＡ＝０ｈのデータはバックアップ用記憶装置１５０
上のＬＢＡ＝０ｈにコピーされる（ステップＳ２７６）。また、ＳＳＤ２上のＬＢＡ＝２
３４ｃ５ｈのデータはバックアップ用記憶装置１５０上のＬＢＡ＝２３４ｃ５ｈにコピー
される。データのコピーは、ＳＳＤ２に対し、たとえばＡＣＳ−２記載の60h READ FPDMA
QUEUEDや25h READ DMA EXTコマンドをＬＢＡおよびセクタ長を指定して送信し、ＳＳＤ
２から読み出しデータを受信して主メモリ６に書き込み、たとえばＡＣＳ−２記載の61h 
WRITE FPDMA QUEUEDや35h WRITE DMA EXTをバックアップ用記憶装置１５０にＬＢＡおよ
びセクタ長を指定して送信し、主メモリ６に書き込んだデータをバックアップ用記憶装置
１５０に送信することで実行される。バックアップ処理は全ＬＢＡ領域について行っても
よいが、一部のＬＢＡ領域についてのみ行ってもよい。
【０１６２】
なお、このバックアップ処理の際、緊急時ＯＳ１００Ｂは、ＳＳＤ２の全ファイルをバ
ックアップ用記憶装置１５０にコピーするようにしてもよい。多くのＯＳにおいては、ユ
ーザはＬＢＡを直接指定してデータにアクセスするのではなく、ファイルＩＤ（ファイル
名）を用いてデータにアクセスする。例えば、ＳＳＤ２は、図４０に示すように、ファイ
ルＩＤとＬＢＡやセクタ長を関連付けるファイル管理テーブル１４０を格納している。管
理情報４４によってファイル管理テーブル１４０にもＬＢＡが割り当てられている。通常
時ＯＳ１００Ａは、図１２に示したその他ソフトウェアから受信したファイルＩＤを、フ
ァイル管理テーブル１４０をもとにＬＢＡに変換してＳＳＤ２に送信したり、ＳＳＤ２か
ら受信したＬＢＡをファイル管理テーブル１４０をもとにファイルＩＤに変換してその他
ソフトウェアに送信したりする。バックアップ処理において、緊急時ＯＳ１００Ｂはファ
イル管理テーブル１４０をＳＳＤ２から読み出し、ファイルＩＤそれぞれに対し、ファイ
ル管理テーブル１４０で対応しているＬＢＡのデータを読み出すコマンド（60h READ FPD
MA QUEUEDや25h READ DMA EXTコマンドなど）をＳＳＤ２に送信し、ＳＳＤ２から読み出
しデータを受信して主メモリ６に書き込む。さらに、緊急時ＯＳ１００Ｂは、バックアッ
プ用記憶装置１５０のファイル管理テーブル（図示せず）を読み出し、まだファイルＩＤ
の割り当てられていないＬＢＡに対し主メモリ６に書き込んだデータを書き込み、書き込
んだＬＢＡとファイル名を対応付けるようＳＳＤ２の全ファイルの全ＬＢＡを取得し、取
得したＬＢＡの全データを読み出し、読み出したデータをバックアップ用記憶装置１５０
に書き込み、書き込んだＬＢＡとファイルＩＤが対応付けられるようにバックアップ用記
憶装置１５０のファイル管理テーブル（図示せず）を書き換える。バックアップ処理は全
ファイルについて行ってもよいが、一部のファイルについてのみ行ってもよい。
【０１６３】
また、バックアップ用記憶装置１５０にバックアップデータを書き込む際、ＳＳＤ２か
ら読み出したデータを圧縮して書き込んでもよい。また、ファイル管理テーブル１４０を
はじめとするＳＳＤ２の管理情報を読み出し、使用されている領域やファイルの情報を取
得し、取得した情報をもとに、ＳＳＤ２のデータについてのＲＯＭイメージを作成し、作
成したＲＯＭイメージを他のバックアップ用記憶装置１５０に保存するようにしてもよい
。
【０１６４】
上記説明では、バックアップ用記憶装置として、ＳＡＴＡインタフェースで接続される
ＳＡＴＡデバイスである場合を採用したが、その他のバックアップ用記憶装置を用いても
よいのはもちろんである。たとえば、図４１に示すように、バックアップ用記憶装置とし
てＵＳＢメモリやＵＳＢ対応ＳＳＤなどのＵＳＢストレージデバイス１５１を採用しても
よく、図４２に示すように、バックアップ用記憶装置としてＤＶＤ−ＲやＤＶＤ−ＲＷや
Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃなどのような書き込み可能な光学ドライブ１５２
を採用してもよく、図４３に示すように、バックアップ用記憶装置としてインターネット
やＬＡＮ経由で接続されたネットワークストレージサーバ１５３を採用してもよい。また
、当該バックアップ機能は他の実施形態の場合にも適用可能である。
【０１６５】
図７に示したように、緊急時ＯＳ１００Ｂの格納領域１６Ｅは管理情報４４でＬＢＡに
対応付けられているとした。一方、ユーザによって不用意に領域１６Ｅのデータが書き換
えられてしまうことを防止するためには、ＳＳＤ２の出荷時にＬＢＡを割り当てることな
く格納領域１６Ｅに緊急時ＯＳを記録しておいて、寿命到達時処理時に、制御ツール２０
０がＳＣＴ  Ｃｏｍｍａｎｄ  Ｔｒａｎｓｐｏｒｔやベンダー独自のコマンドをＳＳＤ２
に送信することにより、ＳＳＤＣ４１が管理情報４４を書き換えて領域１６ＥにＬＢＡを
割り当てるようにしてもよい。あるいは、ＬＢＡが割り当てられている領域１６ＥのＬＢ
Ａ  Ｒａｎｇｅを含むＳＣＴ  Ｃｏｍｍａｎｄ  Ｔｒａｎｓｐｏｒｔやベンダー独自のコ
マンドを制御ツール２００がＳＳＤ２に送信することにより、領域１６ＥがＬＢＡに割り
当てられないようにＳＳＤＣ４１が管理情報４４を書き換え、寿命到達時処理時に、制御
ツール２００がＳＣＴ  Ｃｏｍｍａｎｄ  Ｔｒａｎｓｐｏｒｔやベンダー独自のコマンド
をＳＳＤ２に送信することにより、ＳＳＤＣ４１が管理情報４４を書き換えて領域１６Ｅ
にＬＢＡを割り当てるようにしてもよい。
【０１６６】
このように第１の実施形態によれば、制御ツール２００は、ＳＳＤ２が寿命に到達した
か否か、ＳＳＤ２が正常な状態であるか否かを判定し、ＳＳＤ２が寿命に到達したと判定
された場合やＳＳＤ２が異常な状態であると判定された場合、ブートローダ３００を、書
き込み動作をサポートしていない緊急時ＯＳが起動されるように書き換え、コンピュータ
システム１を再起動した際、緊急時ＯＳが起動されるようにすることで、ＳＳＤ２に対す
る書き込み動作を禁止、あるいはＳＳＤ２に対する書き込み動作を陽に行わないようにす
ることで、ＳＳＤ２の信頼性劣化を防止し、ＳＳＤ２に書き込むデータやＳＳＤにすでに
書き込まれているデータが破壊されることを防止し、ユーザがユーザデータを容易にＳＳ
Ｄ２から読み出したり他の記憶装置にバックアップしたりすることを実現する。
【０１６７】
（第２の実施形態）
第１の実施形態では、通常時ＯＳ１００Ａおよび緊急時ＯＳ１００Ｂの双方がＳＳＤ２
のＮＡＮＤメモリ１６に格納されている場合について説明した。第２の実施形態では、通
常時ＯＳ１００ＡがＳＳＤ２に格納されており、緊急時ＯＳ１００ＢがＳＳＤ２に格納さ
れていない場合について説明する。第２の実施形態では、図３３のステップＳ２２４に示
した寿命到達時処理の際のブートローダ３００の書き換え処理（図３４、図３５のステッ
プＳ２４０参照）の前後で、制御ツール２００が緊急時ＯＳ１００Ｂを、ＳＳＤ２と異な
る外部記憶装置２０（図８参照）からＳＳＤ２のＮＡＮＤメモリ１６の領域１６Ｅにイン
ストールする。ユーザが不用意に、ＳＳＤ２の緊急時ＯＳが格納された領域１６Ｅを書き
換えることで緊急時ＯＳ用データが破壊されることを防止する観点、領域１６Ｅの確保に
よりＳＳＤ２の空き領域が減少することを防止する観点では、第２の実施形態を採用する
ことが望ましい。
【０１６８】
また、制御ツール２００は、例えば、図９に示したように、ブートローダ３００の書き
換え前後で、ＷＥＢサーバ２１から緊急時ＯＳ１００Ｂのデータまたはインストールプロ
グラムをダウンロードし、ダウンロードデータをもとにＳＳＤ２のＮＡＮＤメモリ１６の
領域１６Ｅに緊急時ＯＳ１００Ｂをインストールする。または、制御ツール２００は緊急
時ＯＳのデータまたはインストールプログラムを格納しているＷＥＢサーバのアドレスを
ディスプレイ９を通じてユーザに表示するようにしてもよい。
【０１６９】
あるいは、図１０や図１１に示したように、制御ツール２００は、ブートローダ３００
の書き換え前後で、外部記憶媒体（ＤＶＤ−ＲＯＭのような光学メディア、ＵＳＢメモリ
、ＳＤカード、ＳＳＤなど）２３、２４から緊急時ＯＳ１００ＢをＳＳＤ２のＮＡＮＤメ
モリ１６の領域１６Ｅにインストールするようにしてもよい。あるいは、制御ツール２０
０は、ブートローダ３００の書き換え前後で、緊急時ＯＳ１００Ｂのインストールプログ
ラムが格納された外部記憶媒体（ＤＶＤ−ＲＯＭのような光学メディア、ＵＳＢメモリ、
ＳＤカード、ＳＳＤなど）をセットするように、ディスプレイ９を通じてユーザにメッセ
ージを表示するようにしてもよい。
【０１７０】
ＮＡＮＤメモリ１６への緊急時ＯＳ１００Ｂのインストール時、ＮＡＮＤメモリ１６へ
の書き込みが発生するので、ＮＡＮＤメモリ１６の信頼性劣化やデータ破壊を防止する観
点では、緊急時ＯＳのデータ量はＮＡＮＤメモリ１６の容量に対して大幅に小さいことが
望ましい。
【０１７１】
（第３の実施形態）
第３の実施形態では、通常時ＯＳ１００Ａおよび緊急時ＯＳ１００ＢがＳＳＤ２とは別
の不揮発性記憶装置２０に格納されている場合の寿命到達時処理について説明する。図８
に示したように、通常時ＯＳ１００Ａおよび緊急時ＯＳ１００ＢがＳＳＤ２とは別の不揮
発性記憶装置２０に格納されてＳＳＤ２に格納されていない場合や、どちらか一方がＳＳ
Ｄ２に格納されていてもう一方が不揮発性記憶装置２０に格納されている場合にも本発明
は適用可能である。その場合、制御ツール２００はＳＳＤ２のブートローダだけでなく、
不揮発性記憶装置２０のブートローダに対しても書き換えを行う必要がある場合がある。
【０１７２】
通常時ＯＳ１００Ａおよび緊急時ＯＳ１００ＢがＳＳＤ２とは別の不揮発性記憶装置２
０に格納されている場合、制御ツール２００は不揮発性記憶装置２０の記憶されているブ
ートローダ３００の書き換えを行い、ＳＳＤ２のブートローダの書き換えは行わない。
【０１７３】
通常時ＯＳ１００ＡがＳＳＤ２に格納されており、緊急時ＯＳ１００Ｂが不揮発性記憶
装置２０に格納されている場合は、制御ツール２００は、ＳＳＤ２と不揮発性記憶装置２
０の両方のブートローダの書き換えを行うことが望ましい。不揮発性記憶装置２０がホス
ト装置３から取り外されている状態でコンピュータシステム１が起動された場合、ＳＳＤ
２への書き込みアクセスが不用意に発生することを防止する観点では、通常時ＯＳが起動
しないようブートローダが構成されることが望ましい。
【０１７４】
緊急時ＯＳ１００ＢがＳＳＤ２に格納されており、通常時ＯＳ１００Ａが不揮発性記憶
装置２０に格納されている場合は、ＳＳＤ２と不揮発性記憶装置２０の両方のブートロー
ダの書き換えを行うことが望ましいが、不揮発性記憶装置２０のブートローダを書き換え
るだけでもよい。この場合は、不揮発性記憶装置２０がホスト装置３から取り外されてい
る状態でコンピュータシステム１が起動された場合においても、ＳＳＤ２のブートローダ
３００の読み出しを行ってＳＳＤ２のＮＡＮＤメモリ１６の領域１６Ｅから緊急時ＯＳを
起動することができる。
【０１７５】
（第４の実施形態）
第４の実施形態では、通常時ＯＳ１００ＡがＳＳＤ２にインストールされているが、緊
急時ＯＳがＳＳＤ２にインストールされていない場合について説明する。信頼性が劣化し
たＳＳＤ２へのアクセスを極力抑制する観点では、緊急時ＯＳ１００Ｂの起動はＳＳＤ２
とは別の記憶装置から行うことが望ましい。本実施形態の制御ツール２００は、寿命到達
時処理の際に、緊急時ＯＳをインストールした緊急時起動用の起動ディスクを作成する機
能を有している。
【０１７６】
緊急時起動用の起動ディスクとしては、ＵＳＢメモリ、ＳＤカード、ＣＤ・ＤＶＤなど
の光学メディア、ＳＳＤ、ハードディスクドライブなど、種々の不揮発性記憶装置を採用
することができる。本実施形態ではこの中で、緊急時起動用の起動ディスクとしてＵＳＢ
メモリを採用した場合について説明する。
【０１７７】
緊急時起動用の起動ディスクを作成するための緊急時ＯＳデータを含むデータ（イメー
ジデータ）は、たとえばＳＳＤ２や、その他ＳＳＤや、ＵＳＢメモリや、ＳＤカードや、
ＤＶＤ−ＲＯＭドライブなど光学メディアや、ＷＥＢサーバの記憶媒体などに記憶してお
けばよい。本実施形態では、緊急時ＯＳインストール用のイメージデータが格納される記
憶媒体としてＳＳＤ２を採用した場合について紹介する。つまり、信頼性劣化したＳＳＤ
２そのものに、インストール元イメージデータが格納されている。
【０１７８】
緊急時ＯＳのインストール時には、ＳＳＤ２からイメージデータの読み出しが発生する
が、いったんインストールを行えば、同イメージデータを読み出すことはなくなる。また
、ＳＳＤ２が寿命に到達するより以前の段階から、緊急時起動用の起動ディスクをユーザ
が任意に作成できる機能を制御ツール２００が持っていることが望ましい。
【０１７９】
図４４に緊急時起動用ディスクを作成する時のデータの移動の概念図を示す。また、図
４５に、緊急時起動用ディスクを作成する際の制御ツール２００の動作手順を示す。制御
ツール２００は、寿命到達時処理開始時、ホスト装置３のＵＳＢコントローラ１３にＵＳ
Ｂメモリが接続されているかどうかを確認し、接続されていない場合は、「緊急時ＯＳ起
動用ＵＳＢメモリを作成します。ＵＳＢメモリを接続してください。」という旨のメッセ
ージを、ディスプレイ９を介してユーザに表示することが望ましい。
【０１８０】
図４４に示すように、ＵＳＢメモリ２４が接続されている場合、制御ツール２００は、
ＳＳＤ２のＮＡＮＤメモリ１６の領域１６Ｑに記憶されているインストールイメージデー
タ４００から緊急時ＯＳデータを抽出し（緊急時ＯＳデータが圧縮・暗号化されている場
合はこれを復号化する）、ＵＳＢメモリ２４の領域２４Ｒにコピー（インストール）する
（ステップＳ２８０）。つぎに、制御ツール２００は、ＵＳＢメモリ２４に記憶されてい
るブートローダ３１０が読み込まれた場合にＵＳＢメモリ２４にインストールされた緊急
時ＯＳ１００Ｂが読み出されるべく、緊急時ＯＳ１００Ｂの記憶領域２４Ｒを参照するよ
うブートローダ３１０を書き換える（ステップＳ２８１）。具体的には、制御ツール２０
０は、たとえば、ブートローダ３１０のＯＳポインタ情報ＯＳＰＴ３１１に記憶領域２４
Ｒに対応するＬＢＡを書き込む。
【０１８１】
ホスト装置３にＵＳＢメモリ２４とＳＳＤ２の両方が接続されている場合、ＵＳＢメモ
リ２４のブートローダ３１０が優先して起動されるよう、ブートローダ３１０とブートロ
ーダ３１０が書き換えられたり、ＢＩＯＳ−ＲＯＭ１１の設定が変更されることが望まし
い（ステップＳ２８２）。なお、ステップＳ２８２を実行しなくてもよい。
【０１８２】
ホスト装置３にＵＳＢメモリ２４が接続されていない場合に、ＳＳＤ２から通常時ＯＳ
１００Ａが起動してしまいＳＳＤ２に不用意に書き込みアクセスが発生することを防止す
る観点では、ステップＳ２８２において、ＳＳＤ２から通常時ＯＳ１００Ａが起動しない
ようＳＳＤ２のブートローダ３００を書き換えることが望ましい。たとえば、ブートロー
ダ３００のＯＳポインタ情報ＯＳＰＴ３０１に通常時ＯＳ１００Ａの記憶領域１６Ｄ以外
のＬＢＡを書き込んだりあるいは無効なＬＢＡを書き込むことにより、ＳＳＤ２のブート
ローダ３００が読み出されても通常時ＯＳ１００Ａがロードされることを防止することが
できる。あるいは、通常時ＯＳ１００Ａのデータを書き換えてしまってもよい。
【０１８３】
このようにして、ＳＳＤ２が寿命に到達した場合やＳＳＤ２が異常な状態になった場合
に、ＳＳＤ２の信頼性悪化やＳＳＤ２のデータ破壊を抑制しながらＳＳＤ２のデータを読
み出したりＳＳＤ２のデータを他の不揮発性記憶装置にバックアップすることが可能なＯ
Ｓを立ち上げるための起動ディスクを作成することができる。
【０１８４】
また、図４６に示すように、緊急時ＯＳ１００ＢとしてＭＳ−ＤＯＳ（登録商標）やＬｉｎ
ｕｘ（登録商標）やＷｉｎｄｏｗｓ（登録商標）  ＰＥ（登録商標）などのＯＳを採用し、緊急時
ＯＳをＵＳＢメモリ２４にインストールするのと同時に、ＳＳＤ２のデータをバックアッ
プする機能を有する緊急時ツール２１０をＵＳＢメモリ２４の領域２４Ｓにインストール
し、緊急時ツール２１０を緊急時ＯＳ１００Ｂから実行できるようにしてもよい。緊急時
ツール２１０は第１の実施形態で説明したものと同様のバックアップ機能を有することが
望ましい。
【０１８５】
図４７は、ホスト装置３の起動時の動作を示すものである。ホスト装置３の起動時、Ｕ
ＳＢメモリ２４から緊急時ＯＳ１００Ｂが読み出され、主メモリ６に書き込まれることで
、緊急時ＯＳ１００ＢがＵＳＢメモリ２４から起動される（ステップＳ２９０）。つぎに
、ＵＳＢメモリ２４から緊急時ツール２１０が読み出され、主メモリ６に書き込まれるこ
とで、緊急時ツール２１０がＵＳＢメモリ２４から起動される（ステップＳ２９１）。緊
急時ツール２１０が緊急時ＯＳ１００Ｂのスタートアップに登録されるなどして、緊急時
ＯＳ１００Ｂの起動後に自動的に緊急時ツール２１０が起動されることが望ましい。
【０１８６】
緊急時ＯＳ１００Ｂは、図４８に示すように、ディスプレイ９を介して、ユーザが選択
可能なメニュー項目の一つとしてバックアップメニューを表示したり、「バックアップす
るか？」というメッセージとＯＫボタンを表示したり、または「バックアップするか？」
というメッセージを表示してキーボード１４の入力待機状態にしたりすることで、ユーザ
が任意にバックアップ機能を起動可能状態にすることが望ましい（ステップＳ２９２）。
なお、緊急時ＯＳ１００Ｂは、バックアップを自動的に開始してもよい。
【０１８７】
キーボード１４やマウス１５により、バックアップ機能起動が選択されると（ステップ
Ｓ２９３）、緊急時ツール２１０が起動する。緊急時ツール２１０はＳＳＤ２のデータを
バックアップ用記憶装置１５０にコピーする（ステップＳ２９３）。バックアップの方式
は、第１の実施形態で説明したものと同様の方式を採用してもよく、例えばＬＢＡ単位バ
ックアップやファイル単位バックアップを採用してもよい。
【０１８８】
（第５の実施形態）
上述の実施形態によって、ＳＳＤ２の信頼性劣化やＳＳＤ２のデータ破壊を抑制したう
えで、ユーザがユーザデータを容易にＳＳＤ２から読み出したり、他の記憶装置にバック
アップしたりすることを実現した。第５の実施形態では、さらにＳＳＤ２の信頼性劣化を
抑制する方法を提供する。ＳＳＤ２では、経年劣化やリードディスターブの影響によるデ
ータの破損を修復するために、バックグラウンドでリフレッシュ処理を行う機能を搭載す
る場合がある。この機能では、ＮＡＮＤメモリ１６のブロックを定期的に読み出し、デー
タの誤り数が多いブロックのデータを別のブロックに書き込む処理を行う。これにより、
経年劣化やリードディスターブの影響を低減することが可能になるが、一方で、余分なブ
ロックの消去・書き込みが発生してしまうため、ＳＳＤ２の信頼性劣化が早まるという問
題もある。
【０１８９】
本実施形態では、制御ツール２００あるいは緊急時ＯＳ１００Ｂが、リフレッシュ制御
コマンド（ACS-2に記述されているSCT Command Transportやその他ベンダー独自のコマン
ドやその他コマンド）を用いて、リフレッシュの実施を停止するようＳＳＤＣ４１に命令
する。ＳＳＤＣ４１はリフレッシュ制御コマンドをうけて、リフレッシュ処理を停止した
り、リフレッシュの実行間隔（たとえば１分）を長く設定したりする（たとえば２分）。
ＳＳＤＣ４１にリフレッシュ実行間隔を長く設定させる場合は、リフレッシュ制御コマン
ド内でリフレッシュ実行間隔を明示的に指定することが望ましい。
【０１９０】
図４９は、制御ツール２００がリフレッシュ制御コマンドを発行する際の動作を示すも
のである。この場合、制御ツール２００は、図２９のステップＳ２０５に示した寿命到達
時処理の際に、リフレッシュ制御コマンドを発行すればよい。制御ツール２００は、図３
４で説明したブートローダ３００の書き換えを行い（ステップＳ３００）、この後、リフ
レッシュ制御コマンドをＳＳＤ２に対して送信する（ステップＳ３０１）。
【０１９１】
図５０は、緊急時ＯＳ１００Ｂがリフレッシュ制御コマンドを発行する際の動作を示す
ものである。この場合、ＣＰＵ４は、システム起動時、図３７で説明したように、ＳＳＤ
２のＮＡＮＤメモリ１６からＯＳポインタ情報ＯＳＰＴを含むブートローダ３００を読み
出し（ステップＳ３１０）、ＯＳポインタ情報ＯＳＰＴが示すＬＢＡを特定する。そして
、ＣＰＵ４は、特定したＬＢＡに対する読み出し命令をＳＳＤ２へ送信することで、ＯＳ
ポインタ情報ＯＳＰＴが指定するＯＳをＳＳＤ２から読み出す。ＯＳポインタ情報ＯＳＰ
Ｔが示すＬＢＡが通常時ＯＳ１００Ａの記憶領域である領域１６Ｄを指定しているときに
は（ステップＳ３１１：Ｙｅｓ）、通常時ＯＡ１００Ａが領域１６Ｄから読み出されて主
メモリ６上の領域６Ａに書き込まれ（ステップＳ３１２）、ＯＳポインタ情報ＯＳＰＴが
示すＬＢＡが緊急時ＯＳ１００Ｂの記憶領域である領域１６Ｅを指定しているときには（
ステップＳ３１１：Ｎｏ）、緊急時ＯＡ１００Ｂが領域１６Ｅから読み出されて主メモリ
６上の領域６Ａに書き込まれる（ステップＳ３１３）。緊急時ＯＡ１００Ｂが起動された
場合、緊急時ＯＡ１００Ｂは、リフレッシュ制御コマンドをＳＳＤ２に対して送信する（
ステップＳ３１４）。
【０１９２】
このように、第５の実施形態では、制御ツールは、寿命到達時処理の際に、リフレッシ
ュ処理などのＳＳＤ２でのバックグラウンドでの書き込み処理を禁止方向に制御するよう
にしたので、ＳＳＤの信頼性劣化を抑制することが可能となる。
【０１９３】
（第６の実施形態）
第１の実施形態においては、制御ツール２００は図２９に示したように定期的に統計情
報を取得して、ＳＳＤ２が寿命に到達したとき、あるいはＳＳＤ２が寿命に到達する直前
に寿命到達時処理を行った。制御ツール２００は取得した統計情報をもとにＳＳＤ２の寿
命を予測してディスプレイ９を通してユーザに通知するようにしてもよく、以下これに関
して説明する。
【０１９４】
制御ツール２００は、図２９に示した処理手順に従って定期的に統計情報を取得する際
に、取得したデータをたとえば図５１に示したような形式で、統計情報の時系列データを
主メモリ６に追記していく。統計情報時系列データは、たとえばＳＳＤ２のような不揮発
性記憶装置に定期的にバックアップしてもよい。また、統計情報時系列データは最新のデ
ータが追記されるごとに古いデータを消去していってもよい。
【０１９５】
また、制御ツール２００は主メモリ６の統計情報時系列データを、例えば、図５２に示
すような表示形式で、ディスプレイ９を介してユーザにグラフ表示してもよい。
【０１９６】
本実施形態では、この統計情報時系列データをもとにＳＳＤ２の寿命予測を行う。制御
ツール２００は、図５３に示すように、あるAttribute IDのAttribute Valueを変数Ｙと
し、時刻を変数Ｘとし、現在時刻からある所定の時間Ｔだけ前の時点の時刻Ａから、現在
時刻である時刻Ｃまでの期間の、（Ｘ，Ｙ）の全データを用いてフィッティング関数Ｙ＝
ｆ（Ｘ）を求める。すなわち、ｆを用いて、ＸからＹの予測値＝ｆ（Ｘ）)が得られるこ
とになる）。ｆの導き方は様々な方法が存在するが、たとえばパラメータａとパラメータ
ｂを用いてｆ（Ｘ）＝ａＸ＋ｂとし、時刻Ａから時刻Ｃまでの（Ｘ，Ｙ）の全データに対
して最小二乗法を用いてａとｂを求めることでｆを決定してもよい。
【０１９７】
そして、f（Ｘ）の逆関数であるｆ−１（Ｙ）を求める。f（Ｘ）＝ａＸ＋ｂの場合はｆ
−１（Ｙ）＝（Ｙ・ｂ）／ａをもとめる。ＳＳＤ２の予測寿命到達時刻はｆ−１（Ｙ＝Th
reshold）となる。なお、時刻Ａから時刻Ｃまでの（Ｘ，Ｙ）の全データに対して、フィ
ッティング関数Ｘ＝ｇ（Ｙ）を求めて、ＳＳＤ２の予測寿命到達時刻をｇ（Ｙ＝Threshol
d）としてもよい。また、ｆ（Ｘ）やｇ（Ｙ）は、２次関数など１次関数以外の関数にフ
ィッティングしてもよい。
【０１９８】
本実施形態では、S.M.A.R.TのAttribute Value(=Y)とThresholdを用いて寿命を予測し
たが、生データであるRaw ValueをＹとして用いてｆ（Ｘ）やｇ（Ｙ）を求め、予想寿命
到達時刻をｆ−１（Ｙ＝ＲＭＡＸ)またはｇ（Ｙ=ＲＭＡＸ）、あるいはｆ−１（Ｙ＝ＲＭ
ＩＮ)またはｇ（Ｙ=ＲＭＩＮ）としてもよい。また、SMART情報以外の手段を用いて得ら
れた統計情報により寿命予測してもよい。
【０１９９】
制御ツール２００は、このようにして得られた予測寿命到達時刻をディスプレイ９を通
してユーザに通知する。通知方法としては、たとえば「予測寿命到達時刻：１９９９年０
９月０９日」というふうにテキスト表示してもよいし、図５４に示すように、「ＳＳＤの
寿命が残り３０日を切っています。早急にＳＳＤのデータをバックアップし、新しいＳＳ
Ｄに買い替えてください。」のような警告画面を表示してもよい。あるいは、ＳＳＤの残
り寿命が所定日数をきると、制御ツール２００のアイコンの色を変えたりするなどして、
ディスプレイ上に表示されるアイコンの色を変えてもよい。
【０２００】
（第７の実施形態）
第１の実施形態においては、図３８に示したように、通常時ＯＳ１００Ａおよび緊急時
ＯＳ１００ＢがＳＳＤ２のＮＡＮＤメモリ１６に格納されている場合に、ＳＳＤ２のデー
タをバックアップ用記憶装置１５０にバックアップする機能について説明した。制御ツー
ル２００は寿命到達時処理（図２９のステップＳ２０５）として、ブートローダ３００を
書き換え、（図３４のステップＳ２３０）、バックアップ機能として、例えば前述したＬ
ＢＡ単位バックアップを採用する場合、ＳＳＤ２をその後ホスト装置３から切り離して、
バックアップ用記憶装置１５０をホスト装置３に接続した状態で、コンピュータシステム
１をパワーＯＮした場合に通常時ＯＳ１００Ａが正常に起動されるようにするためには、
バックアップ用記憶装置１５０にバックアップ処理によってコピーされたブートローダを
、寿命到達時処理以前のＳＳＤ２のブートローダ３００の状態に復元することが望ましい
。本実施形態では、バックアップ用記憶装置１５０のブートローダをバックアップ動作時
に書き換える方法について説明する。
【０２０１】
図５５に、バックアップ動作前後におけるコンピュータシステム１とバックアップ用記
憶装置１５０の機能構成を示す。ＳＳＤ２のＮＡＮＤメモリ１６の復元用ブートローダ領
域１６Ｖには、ブートローダ３００を制御ツール２００による書き換え前の状態に戻すた
めのブートローダ復元情報３５０が記憶されている。領域１６Ｖは、寿命到達時処理時に
制御ツール２００によって割り当てられてもよいし、制御ツール２００の起動時に割り当
てられてもよいし、制御ツール２００がＳＳＤ２にインストールされるときに割り当てら
れてもよい。割り当てられた領域１６Ｖには、ＳＳＤ２の管理情報４５（図１８参照）に
よりＬＢＡが割り当てられている。
【０２０２】
図５６に、本実施形態における寿命到達時処理の動作手順を示す。寿命到達時処理にお
いては、バックアップ用記憶装置１５０はホスト装置３に接続されていなくてもよい。制
御ツール２００は、寿命到達時処理の際に、すなわちブートローダ３００の書き換え前に
、ブートローダ３００のバックアップ情報、すなわちブートローダ復元情報３５０を復元
用ブートローダ領域１６Ｖに書き込む（ステップＳ３２０）。領域１６Ｖに書き込む情報
としては、たとえば領域１６Ｃに記憶されているブートローダ３００のデータ（イメージ
）をそのままコピーしてもよいし、ブートローダの書き換え差分情報を記録してもよい。
【０２０３】
領域１６Ｖに差分情報を記録する場合は、差分情報としてたとえば図５７に示すような
、書き換え前のデータと書き換わったＬＢＡとの対応関係が記録されている書き換え差分
ログを採用してもよい。書き換え差分ログを採用する場合、制御ツール２００は、領域１
６Ｃに記憶されているブートローダ３００のうち書き換えをおこなったＬＢＡを書き換え
差分ログの「書き換わったＬＢＡ」に書き込み、同ＬＢＡの書き換え前のデータを書き換
え差分ログの「書き換え前のデータ」に書き込む。たとえば、ＬＢＡの最小単位である論
理セクタが５１２バイトである場合は、書き換え差分ログの「書き換え前のデータ」の１
要素は５１２バイトのデータであってもよいし、書き換え前のデータを圧縮したり、ある
いは可逆変換した５１２バイト以外のデータであってもよい。書き換え差分ログを用いて
ブートローダ３００を新ブートローダから旧ブートローダに復元する場合は、領域１６Ｃ
に対し、書き換え差分ログの「書き換わったＬＢＡ」が示すＬＢＡに対し、「書き換え前
のデータ」を書き込むことで、旧ブートローダに復元することができる。
【０２０４】
その後、制御ツール２００は、ブートローダ３００を書き換え、第１の実施形態で説明
したのと同様に、次回以降コンピュータシステム１が起動されたときには、通常時ＯＳ１
００Ａではなく緊急時ＯＳ１００Ｂが主メモリ６に読み出されるようにする（ステップＳ
３２１）。
【０２０５】
後述するバックアップ動作時に、復元用ブートローダ領域１６Ｖの検索を容易にするた
めに、制御ツール２００は、ブートローダ領域１６Ｃに、復元用ブートローダ領域１６Ｖ
の先頭ＬＢＡを書き込んでおくことが望ましい（ステップＳ３２２）。ブートローダ領域
１６Ｃに復元用ブートローダ領域１６Ｖの先頭ＬＢＡを書き込んでおくことは必ずしも必
要ではなく、領域１６Ｖの先頭に特定データパターンを書き込んでおき、後述するバック
アップ時にこの特定データパターンを検索することで領域１６Ｖを特定してもよいし、領
域１６Ｖをあらかじめ定められた特定ＬＢＡに固定的に対応付けすることにしておいて、
後述するバックアップ時に前記特定ＬＢＡにアクセスすることで領域１６Ｖを特定しても
よいし、その他方法で領域１６Ｖを特定してもよい。
【０２０６】
ステップＳ３２１以降、第１の実施形態と同様に、コンピュータシステム１の再起動を
行ってもよいし、第５の実施形態と同様にＳＳＤ２のリフレッシュ制御コマンドを送信し
てもよい。また、復元用ブートローダ領域１６ＶはＳＳＤ２以外の記憶装置に確保しても
よい。
【０２０７】
図５８は、緊急時ＯＳ１００Ｂによるバックアップ動作を示すものである。バックアッ
プ時、バックアップ用記憶装置１５０がホスト装置３に接続されていない場合は、ユーザ
はバックアップ用記憶装置１５０をホスト装置３に接続する。その際、制御ツール２００
は、ユーザに「バックアップ装置を接続してください」というメッセージをディスプレイ
９に表示してもよい。
【０２０８】
ＮＡＮＤメモリ１６の領域１６Ｅから主メモリ６の領域６Ａにロードされた緊急時ＯＳ
は、第１の実施形態と同様にして、ＳＳＤ２のデータをバックアップ用記憶装置１５０に
コピーする（ステップＳ３３０）。たとえば、バックアップ方法として、ＬＢＡ単位バッ
クアップを採用してかつＳＳＤ２の全ＬＢＡ領域をバックアップ用記憶装置１５０にコピ
ーする場合、領域１６Ｄに記憶されている通常時ＯＳ１００Ａは、バックアップ用記憶装
置１５０の領域１５０Ｄにコピーされ、領域１６Ｕに記憶されているその他ユーザデータ
は、領域１５０Ｕにコピーされる。ブートローダ領域１６Ｃに記憶されているブートロー
ダ３００は、バックアップ用記憶装置１５０の領域１００Ｃにコピーしてもよいし、コピ
ーしなくてもよい。領域１６Ｅに記憶されている緊急時ＯＳ１００Ｂは、バックアップ用
記憶装置１５０の領域１５０Ｅにコピーしてもよいし、コピーしなくてもよい。また、復
元用ブートローダ領域１６Ｖに記憶されているブートローダ復元情報３５０は、バックア
ップ用記憶装置１５０にコピーしなくてもよい。
【０２０９】
緊急時ＯＳ１００Ｂは、ブートローダ復元情報３５０とブートローダ３００のデータを
もとに、バックアップ用記憶装置１５０に記憶するブートローダ３２０を作成し、作成し
たブートローダ３２０をバックアップ用記憶装置１５０の領域１５０Ｃに書き込むことで
、次回以降にコンピュータシステム１の起動時にブートローダ３２０がロードされた場合
は、通常時ＯＳ１００Ａが主メモリ６の領域６Ａにロードされるようにする（ステップＳ
３３１）。
【０２１０】
図５６のステップＳ３２０でのブートローダのバックアップ処理において、領域１６Ｃ
に記憶されているブートローダ３００のデータ（イメージ）を、そのまま復元用ブートロ
ーダ領域１６Ｖにコピーした場合は、図５８のステップＳ３３１において、復元用ブート
ローダ領域１６Ｖのブートローダ復元情報３５０をそのままバックアップ用記憶装置１５
０の領域１５０Ｃにコピーしてもよい。
【０２１１】
また、図５６のステップＳ３２０でのブートローダのバックアップ処理において、復元
用ブートローダ領域１６Ｖにブートローダ領域１６Ｃの書き換え差分情報が記録された場
合は、すなわちブートローダ領域１６Ｃが旧ブートローダデータから新ブートローダデー
タに書き換えられる時の新・旧ブートローダデータ書き換えの差分情報が復元用ブートロ
ーダ領域１６Ｖに記録された場合は、緊急時ＯＳ１００Ｂは、図５８のステップＳ３３１
において、ブートローダ領域１６Ｃのデータ（新ブートローダデータ）と、復元用ブート
ローダ領域１６Ｖに記憶されている差分データであるブートローダ復元情報３５０を主メ
モリ６に読み出し、ブートローダ復元情報３５０をもとに新ブートローダデータを旧ブー
トローダデータに復元し、復元した旧ブートローダデータをバックアップ用記憶装置１５
０の領域１５０Ｃに書き込む。
【０２１２】
上記のバックアップ処理を行った後、ＩＦ０からＳＳＤ２を取り外すことで寿命に到達
したＳＳＤ２をホスト装置３から切り離し、かつＩＦ１にバックアップ用記憶装置１５０
を接続することでバックアップ用記憶装置１５０をホスト装置３に接続した状態で、コン
ピュータシステム１を起動すると、ホスト装置３はバックアップ用記憶装置１５０のブー
トローダ３２０を読み出し、ブートローダ３２０の情報によりホスト装置３は、バックア
ップ用記憶装置１５０の領域１５０Ｄを主メモリ６の領域６Ａにロードすることで、通常
時ＯＳが起動される。バックアップ用記憶装置１５０がインタフェースＩＦ０に対応して
いる場合は、バックアップ用記憶装置１５０をＳＳＤ２と交換し、バックアップ用記憶装
置１５０をインタフェースＩＦ０と接続してもよい。バックアップ用記憶装置１５０がイ
ンタフェースＩＦ０に対応してない場合は、バックアップ用記憶装置１５０をＳＳＤ２と
交換し、バックアップ用記憶装置１５０をインタフェース変換装置を経由してインタフェ
ースＩＦ０と接続してもよい。
【０２１３】
このようにして、ＳＳＤ２が寿命に到達した場合であっても、コンピュータシステム１
はＳＳＤ２に保存されたユーザデータや通常時ＯＳをバックアップ用記憶装置に復元する
ことができ、ユーザは、余分な設定や通常時ＯＳの再インストールを行うことなく、ＳＳ
Ｄ２をバックアップ用記憶装置１５０に置き換え、ＳＳＤ２のかわりにバックアップ用記
憶装置１５０をシステムドライブとして使用することができる。
【０２１４】
（第８の実施形態）
本実施形態では、ＳＳＤ２が異常状態（寿命到達状態）から通常状態（健康状態）に戻
ったときに、ＳＳＤ２を接続したホスト装置を起動した場合、緊急時ＯＳではなく通常時
ＯＳが起動されるようにする。
【０２１５】
統計情報として、例えば、現在温度Ｘ２０、最高温度Ｘ２１のように、その数値が大き
いほど信頼性が悪くなることを示し、信頼性に悪影響のある数値まで増大してもその後再
び正常な値にまで回復することのできる特性を有するパラメータを採用する場合、それら
の統計情報に対しては、ＲＭＡＸとして例えばＲＭＡＸ＝８５℃を採用し、
統計情報の値＞ＲＭＡＸ
または
統計情報の値≧ＲＭＡＸ
のような動作保証外の温度になる条件が成立した時、制御ツール２００はブートローダ３
００を書き換えることで、次回以降コンピュータシステム１が起動されたときには、通常
時ＯＳ１００Ａではなく緊急時ＯＳ１００Ｂが主メモリ６に読み出されるようにする。
【０２１６】
緊急時ＯＳ１００Ｂは、起動後、統計情報の値を監視し、
統計情報の値≦ＲＭＡＸ−ＭＡＸマージン
または
統計情報の値＜ＲＭＡＸ−ＭＡＸマージン
となって当該統計情報が再び正常値にもどったとき、ブートローダ３００を書き換えるこ
とで、次回以降コンピュータシステム１が起動されたときには、緊急時ＯＳ１００Ｂでは
なく通常時ＯＳ１００Ａが主メモリ６に読み出されるようにする、ブートローダ復元処理
を実行する。
【０２１７】
ＭＡＸマージンはゼロ以上の値であるが、ブートローダ３００の書き換えが頻繁に発生
することを防止するために、ＭＡＸマージンはゼロより大きい値とすることが望ましい。
統計情報が現在温度や最高温度である場合、たとえばＭＡＸマージン＝５℃とする。統計
情報の取得および条件判断に、ＳＭＡＲＴ情報を用いる場合、Attribute ValueとThresho
ldを用いてもよいし、Ｒａｗ  ＶａｌｕｅとＲＭＡＸを用いてもよい。また、通常時ＯＳ
起動中に統計情報が異常状態から正常状態に戻った場合は、上記ブートローダ復元処理を
制御ツール２００が行うようにしてもよい。
【０２１８】
統計情報として、現在温度Ｘ２０、最低温度Ｘ２２のように、その数値が小さいほど信
頼性が悪くなることを示し、信頼性に悪影響のある数値まで減少してもその後再び正常な
値にまで回復することのできる特性を有するパラメータを採用する場合、ＲＭＩＮとして
ＲＭＩＮ＝−１０℃を採用し、
統計情報の値＜ＲＭＩＮ
または
統計情報の値≦ＲＭＩＮ
のようなたとえば動作保証外の温度になる条件が成立した時、制御ツール２００はブート
ローダ３００を書き換えることで、次回以降コンピュータシステム１が起動されたときに
は、通常時ＯＳ１００Ａではなく緊急時ＯＳ１００Ｂが主メモリに読み出されるようにす
る。
【０２１９】
緊急時ＯＳ１００Ｂは、起動後、統計情報の値を監視し、
統計情報の値≧ＲＭＩＮ＋ＭＩＮマージン
または
統計情報の値＞ＲＭＩＮ＋ＭＩＮマージン
となって当該統計情報が再び正常値にもどったとき、ブートローダ３００を書き換えるこ
とで、次回以降コンピュータシステム１が起動されたときには、緊急時ＯＳ１００Ｂでは
なく通常時ＯＳ１００Ａが主メモリ６に読み出されるようにする、ブートローダ復元処理
を実行する。
【０２２０】
ＭＩＮマージンはゼロ以上の値であるが、ブートローダ３００の書き換えが頻繁に発生
することを防止するために、ＭＩＮマージンはゼロより大きい値とすることが望ましい。
当該統計情報が現在温度や最低温度である場合、たとえば、ＭＩＮマージン＝５℃とする
。統計情報の取得および条件判断に、ＳＭＡＲＴ情報を用いる場合、Attribute ValueとT
hresholdを用いてもよいし、Ｒａｗ  ＶａｌｕｅとＲＭＩＮを用いてもよい。
【０２２１】
つぎに、寿命到達時処理における制御ツール２００の動作の詳細を説明する。異常状態
（寿命到達状態）から通常状態（健康状態）に戻ったときには、上記したブートローダ復
元処理により、ブートローダ３００は寿命到達時処理で書き換えられる以前のブートロー
ダに復旧されることが望ましい。図５９にブートローダ復元処理前後におけるコンピュー
タシステム１の機能構成を示す。ＳＳＤ２のＮＡＮＤメモリ１６の復元用ブートローダ領
域１６Ｖには、ブートローダ３００を制御ツール２００による書き換え前の状態に戻すた
めのブートローダ復元情報３５０が記憶されている。領域１６Ｖは、寿命到達時処理時に
制御ツール２００によって割り当てられてもよいし、制御ツール２００の起動時に割り当
てられてもよいし、制御ツール２００がＳＳＤ２にインストールされるときに割り当てら
れてもよい。割り当てられた領域１６Ｖには、ＳＳＤ２の管理情報４５（図１８参照）に
よりＬＢＡが割り当てられている。また、本実施形態の領域１６Ｖは、図５５に示した領
域１６Ｖと同じものとしてバックアップ時のブートローダ復元用として使用してもよいし
、図５５に示した領域１６Ｖとは異なるものであってもよい。
【０２２２】
寿命到達時処理の手順は、図５６に示したものと同様である。すなわち、制御ツール２
００は、寿命到達時処理の際に、ブートローダ３００のバックアップ情報、すなわちブー
トローダ復元情報３５０を復元用ブートローダ領域１６Ｖに書き込む（ステップＳ３２０
）。領域１６Ｖに書き込む情報としては、たとえば領域１６Ｃに記憶されているブートロ
ーダ３００のデータ（イメージ）をそのままコピーしてもよいし、ブートローダの書き換
え差分情報を記録してもよい。その後、制御ツール２００は、ブートローダ３００を書き
換え、次回以降コンピュータシステム１が起動されたときには、通常時ＯＳ１００Ａでは
なく緊急時ＯＳ１００Ｂが主メモリ６に読み出されるようにする（ステップＳ３２１）。
【０２２３】
さらに、後述するバックアップ動作時に、復元用ブートローダ領域１６Ｖの検索を容易
にするために、制御ツール２００は、ブートローダ領域１６Ｃに、復元用ブートローダ領
域１６Ｖの先頭ＬＢＡを書き込んでおくことが望ましい（ステップＳ３２２）。ブートロ
ーダ領域１６Ｃに復元用ブートローダ領域１６Ｖの先頭ＬＢＡを書き込んでおくことは必
ずしも必要ではなく、領域１６Ｖの先頭に特定データパターンを書き込んでおき、後述す
るバックアップ時にこの特定データパターンを検索することで領域１６Ｖを特定してもよ
いし、領域１６Ｖをあらかじめ定められた特定ＬＢＡに固定的に対応付けすることにして
おいて、後述するバックアップ時に前記特定ＬＢＡにアクセスすることで領域１６Ｖを特
定してもよいし、その他方法で領域１６Ｖを特定してもよい。
【０２２４】
ステップＳ３２１以降、第１の実施形態と同様に、コンピュータシステム１の再起動を
行ってもよいし、第５の実施形態と同様にＳＳＤ２のリフレッシュ制御コマンドを送信し
てもよい。また、復元用ブートローダ領域１６ＶはＳＳＤ２以外の記憶装置に確保しても
よい。
【０２２５】
図６０は、緊急時ＯＳ１００Ｂによるブートローダ復元処理を示すものである。寿命到
達処理後（異常時処理後）、コンピュータシステム１が緊急時ＯＳを用いて起動している
時、緊急時ＯＳ１００Ｂは、たとえば前述のSMART READ DATAなどを用いて統計情報を監
視し、統計情報が正常値に戻ったかどうかを判定する（ステップＳ３４０）。上述した判
断基準に基づき、統計情報が正常値に戻ったとき（ステップＳ３４０：Ｙｅｓ）、緊急時
ＯＳ１００Ｂは、復元用ブートローダ領域１６Ｖに記憶されたブートローダ復元情報３５
０とブートローダ領域１６Ｃに記憶されたブートローダ３００のデータをもとに、通常時
ＯＳ１００Ａが主メモリ６の領域６Ａにロードされるように処理するブートローダを作成
し、作成したブートローダをブートローダ領域１６Ｃに書き込む（ステップＳ３４１）。
これにより、次回以降コンピュータシステム１の起動時にブートローダ３００がロードさ
れた場合は通常時ＯＳ１００Ａが主メモリ６の領域６Ａにロードされる。
【０２２６】
図５６のステップＳ３２０でのブートローダのバックアップ処理において、領域１６Ｃ
に記憶されているブートローダ３００のデータ（イメージ）を、そのまま復元用ブートロ
ーダ領域１６Ｖにコピーした場合は、図６０のステップＳ３４１において、復元用ブート
ローダ領域１６Ｖのブートローダ復元情報３５０をそのままバックアップ用記憶装置１５
０の領域１５０Ｃにコピーしてもよい。
【０２２７】
また、図５６のステップＳ３２０でのブートローダのバックアップ処理において、復元
用ブートローダ領域１６Ｖにブートローダ領域１６Ｃの書き換え差分情報が記録された場
合は、すなわちブートローダ領域１６Ｃが旧ブートローダデータから新ブートローダデー
タに書き換えられる時の新・旧ブートローダデータ書き換えの差分情報が復元用ブートロ
ーダ領域１６Ｖに記録された場合は、緊急時ＯＳ１００Ｂは、図６０のステップＳ３４１
において、ブートローダ領域１６Ｃのデータ（新ブートローダデータ）と、復元用ブート
ローダ領域１６Ｖに記憶されている差分データであるブートローダ復元情報３５０を主メ
モリ６に読み出し、ブートローダ復元情報３５０をもとに新ブートローダデータを旧ブー
トローダデータに復元し、復元した旧ブートローダデータをバックアップ用記憶装置１５
０の領域１５０Ｃに書き込む。
【０２２８】
このように、本実施形態では、図６１に示すように、統計情報が正常状態から異常状態
になったときには、異常時ＯＳが起動されるよう動作する異常時到達処理を実行し、統計
情報が異常状態から正常状態に戻ったときは、通常時ＯＳが起動されるよう動作するブー
トローダ復元処理を実行する。
【０２２９】
このようにして、ＳＳＤ２が一時的に異常状態になった場合であっても、ＳＳＤ２が正
常状態（健康状態）に戻った後には、コンピュータシステム１は通常時ＯＳを起動するよ
うになり、ユーザは、余分な設定や通常時ＯＳの再インストールを行うことなく、ＳＳＤ
２を寿命到達時処理前と同等にＳＳＤ２を扱うことができる。
【０２３０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したも
のであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その
他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の
省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や
要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる
。
【符号の説明】
【０２３１】
１  コンピュータシステム、３  ホスト装置、６  主メモリ、１６  ＮＡＮＤメモリ、
２０  不揮発性記憶装置、１００Ａ  通常時ＯＳ、１００Ｂ  緊急時ＯＳ、２００  制御
ツール、２１０  緊急時ツール、３００  ブートローダ、３５０  ブートローダ復元情報
。
【図１】
2018022495.tif 000003
【図２】
2018022495.tif 000004
【図３】
2018022495.tif 000005
【図４】
2018022495.tif 000006
【図５】
2018022495.tif 000007
【図６】
2018022495.tif 000008
【図７】
2018022495.tif 000009
【図８】
2018022495.tif 000010
【図９】
2018022495.tif 000011
【図１０】
2018022495.tif 000012
【図１１】
2018022495.tif 000013
【図１２】
2018022495.tif 000014
【図１３】
2018022495.tif 000015
【図１４】
2018022495.tif 000016
【図１５】
2018022495.tif 000017
【図１６】
2018022495.tif 000018
【図１７】
2018022495.tif 000019
【図１８】
2018022495.tif 000020
【図１９】
2018022495.tif 000021
【図２０】
2018022495.tif 000022
【図２１】
2018022495.tif 000023
【図２２】
2018022495.tif 000024
【図２３】
2018022495.tif 000025
【図２４】
2018022495.tif 000026
【図２５】
2018022495.tif 000027
【図２６】
2018022495.tif 000028
【図２７】
2018022495.tif 000029
【図２８】
2018022495.tif 000030
【図２９】
2018022495.tif 000031
【図３０】
2018022495.tif 000032
【図３１】
2018022495.tif 000033
【図３２】
2018022495.tif 000034
【図３３】
2018022495.tif 000035
【図３４】
2018022495.tif 000036
【図３５】
2018022495.tif 000037
【図３６】
2018022495.tif 000038
【図３７】
2018022495.tif 000039
【図３８】
2018022495.tif 000040
【図３９】
2018022495.tif 000041
【図４０】
2018022495.tif 000042
【図４１】
2018022495.tif 000043
【図４２】
2018022495.tif 000044
【図４３】
2018022495.tif 000045
【図４４】
2018022495.tif 000046
【図４５】
2018022495.tif 000047
【図４６】
2018022495.tif 000048
【図４７】
2018022495.tif 000049
【図４８】
2018022495.tif 000050
【図４９】
2018022495.tif 000051
【図５０】
2018022495.tif 000052
【図５１】
2018022495.tif 000053
【図５２】
2018022495.tif 000054
【図５３】
2018022495.tif 000055
【図５４】
2018022495.tif 000056
【図５５】
2018022495.tif 000057
【図５６】
2018022495.tif 000058
【図５７】
2018022495.tif 000059
【図５８】
2018022495.tif 000060
【図５９】
2018022495.tif 000061
【図６０】
2018022495.tif 000062
【図６１】
2018022495.tif 000063