(57)【要約】【課題】エラーが発生した不揮発性メモリを即座に使用中止せずに、不揮発性メモリの信頼性（エラー履歴）に合わせてデータの読み書きを制御することで、使用可能なメモリ容量の減少を最小限にすることができるディスクドライブ装置を提供する。【解決手段】ディスクドライブ装置１０は、不揮発性メモリディスク１２を構成する所定のメモリ単位毎にエラー発生回数を記憶するメモリ１１１ａと、エラー発生回数毎に予め設定された複数個のメモリ単位に対して同じデータを重複して書き込むデータ制御部１１４と、同じデータが重複して書き込まれた複数個のメモリ単位から複数個のデータを読み込み、複数個の読み込みデータに対して多数決判定を行い、最も数が多い読み込みデータを最尤値として決定する読み込みデータ処理部１１２とを備える。【選択図】図１
2010192047.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリを備えたディスクドライブ装置であって、
前記複数の不揮発性メモリを構成する所定のメモリ単位毎にエラー発生回数を記憶する記憶部と、該エラー発生回数毎に予め設定された複数個のメモリ単位に対して同じデータを重複して書き込むデータ書き込み制御部と、該同じデータが重複して書き込まれた前記複数個のメモリ単位から複数個のデータを読み込み、該複数個の読み込みデータに対して多数決判定を行い、最も数が多い読み込みデータを最尤値として決定する多数決判定部とを備えたことを特徴とするディスクドライブ装置。
【請求項２】
請求項１に記載のディスクドライブ装置において、前記エラー発生回数に対して、同じデータを重複して書き込むメモリ単位の個数を関連付けたデータテーブルを備え、
該データテーブルは、前記データ書き込み制御部によりアクセス可能とし、前記エラー発生回数が多くなるほど、前記メモリ単位の個数が多くなるように設定されていることを特徴とするディスクドライブ装置。
【請求項３】
請求項２に記載のディスクドライブ装置において、前記データテーブルは、前記エラー発生回数に応じて、各メモリ単位をランク分けしたランク分け情報が設定されていることを特徴とするディスクドライブ装置。
【請求項４】
請求項１〜３のいずれか１項に記載のディスクドライブ装置において、前記複数個の読み込みデータに対して誤り訂正処理を行う誤り訂正処理部を備え、
前記多数決判定部は、前記誤り訂正処理部による誤り訂正結果に基づいて、前記複数個の読み込みデータの中から、多数決判定を行う読み込みデータを選択し、該選択した読み込みデータに対して多数決判定を行い、最尤値を決定することを特徴とするディスクドライブ装置。
【請求項５】
請求項１〜３のいずれか１項に記載のディスクドライブ装置において、前記複数個の読み込みデータに対して誤り訂正処理を行う誤り訂正処理部を備え、
前記多数決判定部は、前記誤り訂正処理部による誤り訂正結果毎に読み込みデータの個数を集計し、該集計した読み込みデータの個数に所定の係数による重み付けを行い、該重み付け後の読み込みデータに対して多数決判定を行い、最尤値を決定することを特徴とするディスクドライブ装置。
【請求項６】
請求項５に記載のディスクドライブ装置において、前記誤り訂正処理部による誤り訂正数が多いほど、前記所定の係数が小さくなるように設定されていることを特徴とするディスクドライブ装置。
【請求項７】
請求項５又は６に記載のディスクドライブ装置において、前記多数決判定部は、前記多数決判定により最尤値を決定できない場合、前記誤り訂正結果に基づいて、前記複数個の読み込みデータのいずれかを最尤値として決定することを特徴とするディスクドライブ装置。
【請求項８】
請求項１〜７のいずれか１項に記載のディスクドライブ装置において、前記所定のメモリ単位は、１つの不揮発性メモリからなるメモリチップ単位、複数の不揮発性メモリからなるメモリモジュール単位、複数の不揮発性メモリと該複数の不揮発性メモリに対するデータの書き込み及び読み込みを制御するメモリコントローラとからなるメモリバンク単位、複数のメモリコントローラと該複数のメモリコントローラを制御するファイルシステムコントローラとからなるメモリユニット単位のいずれかであることを特徴とするディスクドライブ装置。
【請求項９】
請求項３〜８のいずれか１項に記載のディスクドライブ装置において、前記データテーブルに設定されている各メモリ単位をランク分けしたランク分け情報から算出したランク分け算出値と、予め設定されたランク分け評価基準値との比較を行い、その結果をユーザーに対しての通知情報とすることを特徴とするディスクドライブ装置。
【請求項１０】
複数の不揮発性メモリを備えたディスクドライブ装置による不揮発性メモリ制御方法であって、
前記ディスクドライブ装置が、前記複数の不揮発性メモリを構成する所定のメモリ単位毎にエラー発生回数を記憶する記憶ステップと、該エラー発生回数毎に予め設定された複数個のメモリ単位に対して同じデータを重複して書き込むデータ書き込み制御ステップと、該同じデータが重複して書き込まれた前記複数個のメモリ単位から複数個のデータを読み込み、該複数個の読み込みデータに対して多数決判定を行い、最も数が多い読み込みデータを最尤値として決定する多数決判定ステップとを備えたことを特徴とする不揮発性メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクドライブ装置及び不揮発性メモリ制御方法に関し、より詳細には、フラッシュメモリなどの不揮発性メモリを備えたディスクドライブ装置及び該装置による不揮発性メモリ制御方法に関する。
【背景技術】
【０００２】
従来、ディスクドライブ装置において、ハードディスクドライブ（ＨＤＤ）に加えて、フラッシュメモリなどの不揮発性メモリを内蔵したハイブリッドタイプのものが知られている。このフラッシュメモリは、ＨＤＤや他のディスクメディアと比べて、読み書きの高速化、軽量化や省電力化等が可能であり、データ保存や不揮発性キャッシュなどの用途で使用されている。
【０００３】
しかし、フラッシュメモリは、ＤＲＡＭ（Dynamic Random Access Memory）などとは異なり、書き込み（ライト）を行うためには、該当ブロックを先に消去する必要があり、消去／書き込みを繰り返すと劣化して使用できなくなるという問題がある。
【０００４】
従来のフラッシュメモリの管理において、ウェアレベリング（Wear leveling）処理や、誤り訂正処理を行うことで、フラッシュメモリの寿命延長を図る場合もあるが、いずれは寿命が来て使用できなくなる。また、エラーが発生したフラッシュメモリを使用するとシステム動作に支障がでる場合もあり好ましくない。このため、フラッシュメモリ搭載システムでは、エラーが発生したフラッシュメモリは使用しないように制御を行い、システム動作に支障がでないようにしている。しかし、使用不可にすることで徐々に使用できるメモリ容量が減少していくことになり、システムのパフォーマンスの低下を招くことになる。
【０００５】
これに対して、特許文献１には、ＨＤＤと不揮発性キャッシュとを有するハイブリッドハードディスクドライブにおいて、不揮発性キャッシュの消去回数に基づいて、不揮発性キャッシュが使用限界を超えたか否かを判断し、使用限界を超えた場合に永久に不活性化させるようにした技術が記載されている。
【０００６】
また、特許文献２には、不揮発性キャッシュの欠陥ブロックが限界値を超えていない場合、ハイブリッドＨＤＤとして動作させ、また、限界値を超えている場合、次回パワーオン時にはノーマルＨＤＤとして動作させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１８８６２４号公報
【特許文献２】特開２００８−２２６４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の発明は、不揮発性キャッシュの消去回数に基づいた制御方法であり、不揮発性キャッシュのエラー履歴に基づいた制御を行うものではない。また、一般的に、消去回数は、不揮発性キャッシュ全体で均等になるように制御されるため、消去回数に基づいた不活性の判断を行った場合、一定時間が経過すると、不活性化させるキャッシュ領域が増大し、使用可能なメモリ容量が急激に減少してしまう。
【０００９】
また、特許文献２に記載の発明は、不揮発性キャッシュの欠陥ブロックが限界値を超えたか否かに基づいて、ハイブリッドモードとして動作させるか否かの制御しか行っていないため、欠陥ブロックが限界値を超えた時点で、全ての不揮発性メモリが不活性化され、上記特許文献１に記載の発明と同様に、使用可能なメモリ容量が急激に減少してしまう。
【００１０】
本発明は、上述のごとき実情に鑑みてなされたものであり、エラーが発生した不揮発性メモリを即座に使用中止せずに、不揮発性メモリの信頼性（エラー履歴）に合わせてデータの読み書きを制御することで、使用可能なメモリ容量の減少を最小限にすることができるディスクドライブ装置及び該装置による不揮発性メモリ制御方法を提供すること、を目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、第１の技術手段は、複数の不揮発性メモリを備えたディスクドライブ装置であって、前記複数の不揮発性メモリを構成する所定のメモリ単位毎にエラー発生回数を記憶する記憶部と、該エラー発生回数毎に予め設定された複数個のメモリ単位に対して同じデータを重複して書き込むデータ書き込み制御部と、該同じデータが重複して書き込まれた前記複数個のメモリ単位から複数個のデータを読み込み、該複数個の読み込みデータに対して多数決判定を行い、最も数が多い読み込みデータを最尤値として決定する多数決判定部とを備えたことを特徴としたものである。
【００１２】
第２の技術手段は、第１の技術手段において、前記エラー発生回数に対して、同じデータを重複して書き込むメモリ単位の個数を関連付けたデータテーブルを備え、該データテーブルは、前記データ書き込み制御部によりアクセス可能とし、前記エラー発生回数が多くなるほど、前記メモリ単位の個数が多くなるように設定されていることを特徴としたものである。
【００１３】
第３の技術手段は、第２の技術手段において、前記データテーブルは、前記エラー発生回数に応じて、各メモリ単位をランク分けしたランク分け情報が設定されていることを特徴としたものである。
【００１４】
第４の技術手段は、第１〜第３のいずれか１の技術手段において、前記複数個の読み込みデータに対して誤り訂正処理を行う誤り訂正処理部を備え、前記多数決判定部は、前記誤り訂正処理部による誤り訂正結果に基づいて、前記複数個の読み込みデータの中から、多数決判定を行う読み込みデータを選択し、該選択した読み込みデータに対して多数決判定を行い、最尤値を決定することを特徴としたものである。
【００１５】
第５の技術手段は、第１〜第３のいずれか１の技術手段において、前記複数個の読み込みデータに対して誤り訂正処理を行う誤り訂正処理部を備え、前記多数決判定部は、前記誤り訂正処理部による誤り訂正結果毎に読み込みデータの個数を集計し、該集計した読み込みデータの個数に所定の係数による重み付けを行い、該重み付け後の読み込みデータに対して多数決判定を行い、最尤値を決定することを特徴としたものである。
【００１６】
第６の技術手段は、第５の技術手段において、前記誤り訂正処理部による誤り訂正数が多いほど、前記所定の係数が小さくなるように設定されていることを特徴としたものである。
【００１７】
第７の技術手段は、第５又は第６の技術手段において、前記多数決判定部は、前記多数決判定により最尤値を決定できない場合、前記誤り訂正結果に基づいて、前記複数個の読み込みデータのいずれかを最尤値として決定することを特徴としたものである。
【００１８】
第８の技術手段は、第１〜第７のいずれか１の技術手段において、前記所定のメモリ単位は、１つの不揮発性メモリからなるメモリチップ単位、複数の不揮発性メモリからなるメモリモジュール単位、複数の不揮発性メモリと該複数の不揮発性メモリに対するデータの書き込み及び読み込みを制御するメモリコントローラとからなるメモリバンク単位、複数のメモリコントローラと該複数のメモリコントローラを制御するファイルシステムコントローラとからなるメモリユニット単位のいずれかであることを特徴としたものである。
【００１９】
第９の技術手段は、第３〜第８のいずれか１の技術手段において、前記データテーブルに設定されている各メモリ単位をランク分けしたランク分け情報から算出したランク分け算出値と、予め設定されたランク分け評価基準値との比較を行い、その結果をユーザに対しての通知情報とすることを特徴としたものである。
【００２０】
第１０の技術手段は、複数の不揮発性メモリを備えたディスクドライブ装置による不揮発性メモリ制御方法であって、前記ディスクドライブ装置が、前記複数の不揮発性メモリを構成する所定のメモリ単位毎にエラー発生回数を記憶する記憶ステップと、該エラー発生回数毎に予め設定された複数個のメモリ単位に対して同じデータを重複して書き込むデータ書き込み制御ステップと、該同じデータが重複して書き込まれた前記複数個のメモリ単位から複数個のデータを読み込み、該複数個の読み込みデータに対して多数決判定を行い、最も数が多い読み込みデータを最尤値として決定する多数決判定ステップとを備えたことを特徴としたものである。
【発明の効果】
【００２１】
本発明によれば、エラーが発生した不揮発性メモリを即座に使用中止せずに、不揮発性メモリの信頼性（エラー履歴）に合わせてデータの読み書きを制御することができるため、システム動作に支障をきたすことなく、使用可能なメモリ容量の減少を最小限にすることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係るディスクドライブ装置の構成例を示すブロック図である。
【図２】本発明の一実施形態に係るフラッシュメモリを用いた不揮発性メモリディスクの構成例を示す図である。
【図３】誤り訂正のためのデータ構成の一例を示す図である。
【図４】本発明に係るエラー発生履歴情報の更新方法の一例を説明するためのフロー図である。
【図５】本発明に係るランク分け情報の更新方法の一例を説明するためのフロー図である。
【図６】図１に示したメモリに格納されるデータテーブルの一例を示す図である。
【図７】本発明による不揮発性メモリへの書き込み方法の一例を説明するためのフロー図である。
【図８】本発明による不揮発性メモリの読み込み時における多数決判定方法の一例を説明するためのフロー図である。
【図９】本発明による不揮発性メモリの読み込み時における多数決判定方法の他の例を説明するためのフロー図である。
【図１０】本発明による不揮発性メモリの読み込み時における多数決判定方法の他の例を説明するためのフロー図である。
【図１１】本発明によるランク分け状況評価の一例を説明するためのフロー図である。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照しながら、本発明のディスクドライブ装置及び該装置による不揮発性メモリ制御方法に係る好適な実施の形態について説明する。
【００２４】
図１は、本発明の一実施形態に係るディスクドライブ装置の構成例を示すブロック図で、図中、１０はディスクドライブ装置を示す。このディスクドライブ装置１０は、装置全体を制御するためのシステム制御部１１と、フラッシュメモリなどの不揮発性メモリで構成される不揮発性メモリディスク１２と、ＨＤ（Hard Disk）や各種光ディスク（例えば、ＢＤ:Blu-ray Disc，ＤＶＤ:Digital Versatile Disc、など）等のディスク媒体を駆動するディスク部１３とを備える。
【００２５】
また、システム制御部１１は、データテーブル（後述の図６参照）や誤り訂正結果情報などを格納するメモリ１１１ａと，ＣＰＵ（図示せず）などで構成される制御部１１１と、多数決判定部及び誤り訂正処理部に相当する読み込みデータ処理部１１２と、本体側機器と接続するための外部インタフェース（外部ＩＦ）部１１３と、データ書き込み制御部に相当しデータの書き込み／読み込みを制御するデータ制御部１１４とを備える。なお、メモリ１１１ａとしては、ＤＲＡＭ等の揮発性メモリ、または、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）やフラッシュメモリなどの不揮発性メモリ、または、これら揮発性メモリ及び不揮発性メモリの両方であってもよい。
【００２６】
以下、本発明のディスクドライブ装置１０を録画機器に適用した場合を代表例として説明する。この場合、図１に示す不揮発性メモリディスク１２は、録画データを記録（保存）するための装置であり、より詳細には、録画データだけでなくその録画データを管理するための管理データも保存する。この管理データには、録画データのタイトルや録画時刻などの情報をはじめ、録画データの保存領域などの情報も、通常含まれる。
【００２７】
以下の各実施形態では、不揮発性メモリとしてフラッシュメモリを用いた例を挙げて説明するが、ＥＥＰＲＯＭなど他の不揮発性メモリを採用することもできる。また、メモリコントローラを共通とする不揮発性メモリは全て同じ種類とするが、メモリコントローラの異なる同士は異なる種類の不揮発性メモリを採用してもよい。
【００２８】
図２は、本発明の一実施形態に係るフラッシュメモリを用いた不揮発性メモリディスクの構成例を示す図である。図２に示す不揮発性メモリディスク１２は、ＡＴＡブリッジ（Advanced Technology Attachment Bridge）１２１を介して、データ制御部１１４に接続されている。不揮発性メモリディスク１２は、ＡＴＡブリッジ１２１の他に、ファイルシステムコントローラ（File System Controller）１２２と、複数（この例では３つ）のメモリコントローラ（Memory Controller）１２３ａ，１２３ｂ，１２３ｃと、さらに、フラッシュメモリ１２４ａ〜１２４ｄ（フラッシュメモリ１２４ａ′〜１２４ｄ′），フラッシュメモリ１２５ａ〜１２５ｄ，フラッシュメモリ１２６ａ〜１２６ｄとを備えている。
【００２９】
ファイルシステムコントローラ１２２は、全てフラッシュメモリで記憶領域が構成されるファイルシステムを制御する。より具体的には、フラッシュメモリ１２４ａ〜１２４ｄ（フラッシュメモリ１２４ａ′〜１２４ｄ′）、フラッシュメモリ１２５ａ〜１２５ｄ、フラッシュメモリ１２６ａ〜１２６ｄは、それぞれ、メモリコントローラ１２３ａ、メモリコントローラ１２３ｂ、メモリコントローラ１２３ｃによりデータのリード及びライト（読み書き）が制御される。メモリコントローラ１２３ａ，１２３ｂ，１２３ｃは、ファイルシステムコントローラ１２２によりデータのリード及びライトが制御される。つまり、メモリコントローラ１２３ａ，１２３ｂ，１２３ｃは、ファイルシステムコントローラ１２２からの制御に基づき、それぞれフラッシュメモリ１２４ａ〜１２４ｄ（フラッシュメモリ１２４ａ′〜１２４ｄ′）、フラッシュメモリ１２５ａ〜１２５ｄ、フラッシュメモリ１２６ａ〜１２６ｄに対するデータのリード及びライトを制御する。
【００３０】
本発明の主たる特徴部分は、エラーが発生した不揮発性メモリを即座に使用中止せずに、不揮発性メモリの信頼性（エラー履歴）に合わせてデータの読み書きを制御することで、使用可能なメモリ容量の減少を最小限にすることである。このための構成として、ディスクドライブ装置１０は、複数のフラッシュメモリを構成する所定のメモリ単位毎にエラー発生回数を記憶する記憶部の一例であるメモリ１１１ａと、エラー発生回数毎に予め設定された複数個のメモリ単位に対して同じデータを重複して書き込むデータ制御部１１４と、同じデータを重複して書き込んだ複数個のメモリ単位から複数個のデータを読み込み、複数個の読み込みデータに対して多数決判定を行い、最も数が多い読み込みデータを最尤値として決定する読み込みデータ処理部１１２とを備える。
【００３１】
すなわち、エラー発生の履歴がある複数個のフラッシュメモリ単位（チップ単位，モジュール単位など）に対して、重複して同じデータを書き込みするように書き込み制御を行い、これらのデータ読み込み時には多数決判定を行うことで読み込みデータの最尤値を決定し、この最尤値を最終的な読み込みデータとして使用するようにする。上記構成により、フラッシュメモリの信頼性（エラー履歴）に合わせてデータの読み書きを制御することができるため、システム動作に支障をきたすことなく、使用可能なメモリ容量の減少を最小限にして、システムのパフォーマンス低下を極力遅らせることができる。
【００３２】
本実施形態の説明においては、エラー発生回数を管理するための所定のメモリ単位として、メモリチップ単位、メモリモジュール単位、メモリバンク単位、メモリユニット単位のいずれかが適用される。メモリチップ単位とは、例えば、１つのフラッシュメモリ１２４ａを１つの単位としたものである。また、メモリモジュール単位とは、例えば、４つのフラッシュメモリ１２４ａ〜１２４ｄあるいは４つのフラッシュメモリ１２４ａ′〜１２４ｄ′を１つの単位としたものである。また、メモリバンク単位とは、例えば、４つのフラッシュメモリ１２４ａ〜１２４ｄと、４つのフラッシュメモリ１２４ａ′〜１２４ｄ′と、これらフラッシュメモリ１２４ａ〜１２４ｄ及びフラッシュメモリ１２４ａ′〜１２４ｄ′に対するデータのライト及びリードを制御するメモリコントローラ１２３ａとをまとめて１つの単位としたものである。また、メモリユニット単位は、例えば、３つのメモリコントローラ１２３ａ〜１２３ｃと、３つのメモリコントローラ１２３ａ〜１２３ｃを制御するファイルシステムコントローラ１２２とをまとめて１つの単位としたものである。
【００３３】
上記において、ディスクドライブ装置１０は、不揮発性メモリディスク１２を構成するフラッシュメモリに対して、メモリチップ単位，メモリモジュール単位，メモリバンク単位，メモリユニット単位のいずれかのメモリ単位でエラー発生回数を記憶する。具体的には、不揮発性メモリディスク１２を構成するフラッシュメモリの読み書きの際に誤り訂正処理を行い、この誤り訂正結果に基づくエラー発生回数をエラー発生履歴情報としてメモリ１１１ａに記憶する。この場合、メモリ１１１ａは、データ記憶や不揮発性キャッシュなどの用途で使用される不揮発性メモリディスク１２のフラッシュメモリとは別に、エラー発生履歴情報を記憶するためのより長寿命なフラッシュメモリとして構成される。フラッシュメモリの中には、読み書きの速度は比較的遅いが、長寿命化を図ったものがある。このような長寿命設計のフラッシュメモリをこのエラー発生履歴情報の記憶用として使用するようにしてもよい。
【００３４】
また、メモリ１１１ａを揮発性メモリとして構成してもよい。この場合、ディスクドライブ装置１０の電源がオンのときには、エラー発生履歴情報をメモリ１１１ａに保存しておく。また、ディスクドライブ装置１０の電源がオフされるときには、不揮発性の記録媒体、例えば、不揮発性メモリディスク１２のフラッシュメモリ、または、ディスク部１３に挿入されているディスク媒体、または、ディスクドライブ装置１０が搭載されている録画機器本体に備えられた不揮発性メモリなどに、エラー発生履歴情報を退避させる。そして、ディスクドライブ装置１０の電源が再度オンされたときには、不揮発性記録媒体に退避させたエラー発生履歴情報を読み出して、これをメモリ１１１ａに再度保存する。
【００３５】
また、メモリ１１１ａではなく、ディスク部１３に挿入されているディスク媒体にエラー発生履歴情報を保存するようにしてもよい。この場合、ディスク媒体が挿入されているときには、エラー発生履歴情報をディスク媒体の記録領域に保存しておく。また、ディスク媒体が排出されるときには、不揮発性の記録媒体、例えば、不揮発性メモリディスク１２のフラッシュメモリ、または、ディスクドライブ装置１０が搭載されている録画機器本体に備えられた不揮発性メモリなどに、エラー発生履歴情報を退避させる。そして、再度ディスク媒体が挿入されたときには、不揮発性記録媒体に退避させたエラー発生履歴情報を読み出して、これをディスク媒体の記録領域に再度保存する。
【００３６】
このように、フラッシュメモリの使用が想定される状況で、ディスクドライブ装置１０内にエラー発生履歴情報を保存しておくことにより、ディスクドライブ装置１０が搭載されている録画機器本体に保存する場合と比べ、エラー発生履歴情報をより迅速に参照し、さらに更新することができる。
【００３７】
また、メモリ１１１ａには、データ制御部１１４によりアクセス可能なデータテーブルが格納される。このデータテーブルは、後述の図６に示すように、フラッシュメモリのメモリ単位のエラー発生回数に対して、同じデータを重複して書き込むメモリ単位の個数を関連付けたものであり、エラー発生回数が多いほど、メモリ単位の個数が多くなるように設定されている。データ制御部１１４は、不揮発性メモリディスク１２に対してデータの書き込みを行う際に、メモリ１１１ａに格納されたデータテーブルを参照し、エラー発生回数毎に設定された複数個のメモリ単位に対して同じデータを重複して書き込む。
【００３８】
また、メモリ１１１ａに保存されたエラー発生回数に応じて、フラッシュメモリのメモリ単位でランク分けするようにしてもよい。このランク分け情報に基づいて、エラー発生回数が保存されているメモリ単位毎に、重複して同じデータを書き込みする個数を変化させる。なお、上記ランク分け情報はデータテーブルに設定することができる。
【００３９】
例えば、エラー発生回数が１回など比較的少ないメモリ単位に対しては、３個のメモリ単位に対して重複して同じデータの書き込みを行い、エラー発生回数が多くなるほど、４,５,・・・，９個，・・・と重複して書き込みを行うメモリ単位数を増加させるように制御する。この場合、複数のメモリ単位に対して同じデータが重複して書き込まれるため、メモリ全体として書き込み可能なメモリ総容量は減少するが、エラー発生履歴のあるフラッシュメモリを全く使用しない場合と比較すると、メモリ容量の減少を最小限にして、その影響を小さくすることができる。
【００４０】
なお、不揮発性メモリディスク１２のフラッシュメモリに対して書き込み／読み込みを制御するための論理アドレスと物理アドレスは、エラー発生履歴情報に対応付けられて、ディスクドライブ装置１０内のメモリ１１１ａで管理され、実際に書き込み／読み込みの制御を行うデータ制御部１１４に送られる。
【００４１】
ここで、エラー発生回数を０回，１回，２〜３回，４〜５回，６回以上とし、各エラー発生回数それぞれに応じたメモリ単位を、順にランク０，ランク１，ランク２，ランク３，ランク４にランク分けを行う場合を例示して説明する。このランク分けの例の場合、ランク０にランク分けされたメモリ単位は、そのまま通常どおり単独で使用される。また、ランク１にランク分けされたメモリ単位は、３個のメモリ単位に対して重複書き込み及び読み込みが行われる。また、ランク２にランク分けされたメモリ単位は、５個のメモリ単位に対して重複書き込み及び読み込みが行われる。また、ランク３にランク分けされたメモリ単位は、７個のメモリ単位に重複書き込み及び読み込みが行われる。また、ランク４にランク分けされたメモリ単位は、９個のメモリ単位に重複書き込み及び読み込みが行われる。なお、ランク４にランク分けされたメモリ単位は、重複書き込み及び読み込みでの使用ではなく、使用しないとの設定でも良い。
【００４２】
次に、読み込みデータ処理部１１２による多数決判定処理について説明する。例えば、上記ランク３として、７個のメモリ単位に重複して書き込みを行った場合の読み込みデータが、１６進表示でそれぞれ、Ａ５，Ａ３，Ａ３，Ａ５，Ａ３，Ａ３，Ｅ７であった場合、「Ａ５」が２個、「Ａ３」が４個、「Ｅ７」が１個であり、多数決判定の結果、最も数が多い「Ａ３」が最尤値として決定される。そして、この最尤値「Ａ３」が最終的な読み込みデータとなる。なお、多数決判定において、複数の読み込みデータが同数であった場合（例えば、「Ａ５」が３個、「Ａ３」が３個の場合）には、単に判定不能としても良く、あるいは、読み込んだ順などの所定のルールに基づいて、いずれか（この例では「Ａ５」または「Ａ３」）を最尤値として最終的な読み込みデータとしても良い。
【００４３】
ここで、データ制御部１１４が不揮発性メモリディスク１２から読み込んだ複数個の読み込みデータに対して、誤り訂正処理を行い、その結果に基づいて、複数個の読み込みデータの中から、多数決判定を行う読み込みデータを選択し、選択した読み込みデータに対して多数決判定を行い、最尤値を決定するようにしてもよい。なお、誤り訂正処理及び多数決判定処理は読み込みデータ処理部１１２で実行される。
【００４４】
一般的にデータの書き込み／読み込みの際には誤り訂正符号に基づいた誤り訂正処理が行われる。以下では誤り訂正処理の概要について説明するが、具体的な生成多項式や誤り検出訂正処理などについては、従来技術であり、本発明の主目的ではないためその説明を省略するものとする。
【００４５】
代表的な誤り訂正符号としては、例えば、単一誤り訂正符号ではハミング符号や、代数的符号ではリード・ソロモン符号があり、映像機器を含むデジタル記録再生機器や、データ通信において使用されている。対象となるデータブロックに対して、データブロック内の各データに基づき生成された誤り訂正符号（パリティ）を付加する。デジタル映像信号を取り扱う映像機器を例にとれば、映像や音声のデジタルデータを誤り訂正処理で設定したデータブロックのサイズ単位に区切り、メモリなどの記録媒体に書き込みを行う際には、データブロック内の各デジタルデータに基づき生成された誤り訂正符号（パリティ）を付加したパケットデータにて記録媒体に書き込みを行う。
【００４６】
図３は、誤り訂正のためのデータ構成の一例を示す図である。例えば、２誤り訂正処理を行うリード・ソロモン符号での誤り訂正処理の場合、リード・ソロモン符号を使って、Ｎ個以下の誤り訂正を行うためには、（２×Ｎ）個のパリティを付加する必要がある。すなわち、２誤り訂正まで行う場合には、４個のパリティを付加する必要がある。
【００４７】
ここで、デジタル映像信号を取り扱う映像機器において、映像や音声のデジタルデータ（５１２Ｂｙｔｅ）で構成したデータブロックに対して、２誤り訂正まで行う場合は、４個（４Ｂｙｔｅ）のパリティを付加して、トータル５１６Ｂｙｔｅを単位としたデータ構成のパケットとして、メモリなどの記録媒体への書き込みおよび読み込みを行う。
【００４８】
図３（Ａ）に示すように、データ書き込み時に、４個（４Ｂｙｔｅ）のパリティ（Ｐ０，Ｐ１，Ｐ２，Ｐ３）を生成する。そして、図３（Ｂ）に示すように、このパリティを付加したデータパケットとして、メモリなどの記録媒体への書き込みを行う。読み込み時には、この５１６Ｂｙｔｅの中のパリティ部分に相当する読み込みデータ（Ｐ０’，Ｐ１’，Ｐ２’，Ｐ３’）に基づいて、誤り検出および訂正（２誤り訂正まで可能）を行う。誤りがなければ、Ｐ０＝Ｐ０’，Ｐ１＝Ｐ１’，Ｐ２＝Ｐ２’，Ｐ３＝Ｐ３’とすべて一致するが、誤りがあれば少なくともどれか１つが一致しないことになる。
【００４９】
なお、ＢＤ（Blu-ray）ディスクでは、リード・ソロモン符号に基づいたロング・ディスタンス・コード（ＬＤＣ）、ＢＩＳ（Burst Indicator Subcode）と呼ばれるものを導入している。ＬＤＣでは、２１６Ｂｙｔｅのデジタルデータに対して、３２Ｂｙｔｅのパリティを付加したデータ構造のパケットになっている。また、ＤＶＤでも、リード・ソロモン符号に基づいたＰＩ（Parity of the Inner Code）、ＰＯ（Parity of the Outer Code）を付加しており、ＰＩは１７２Ｂｙｔｅのデジタルデータに対して１０Ｂｙｔｅのパリティであり、ＰＯは１９２Ｂｙｔｅのデジタルデータに対して１６Ｂｙｔｅのパリティである。
【００５０】
上記で挙げた「リード・ソロモン符号」あるいは「ハミング符号」のいずれの誤り訂正処理を行ってもよいが、「ハミング符号」を採用した場合、「１誤り訂正」までの対応となる。以下の説明では、「リード・ソロモン符号」を採用し、「２誤り訂正」まで対応可能とした場合を代表例として説明する。
【００５１】
図１において、読み込みデータ処理部１１２は、データ制御部１１４が不揮発性メモリディスク１２から読み込んだ複数個の読み込みデータに対して誤り訂正処理を行い、この処理での誤り訂正結果（すなわち、誤りなし，１誤り訂正，２誤り訂正、誤り検出のみ（誤り訂正不可）など）に基づいて、多数決判定に使用するか否かの選択処理を行う。一般に誤り検出され、誤り訂正された読み込みデータは、信頼性が比較的低く、誤訂正の可能性もあると考えられるため、このようなデータはこれ以降の多数決判定に使用しないほうが好ましい。
【００５２】
例えば、第１に、同じデータを重複して書き込んだ各メモリ単位から読み込んだ複数個の読み込みデータの内、誤り訂正処理の結果が「誤りなし」であった読み込みデータのみを多数決判定に使用して、それ以外の読み込みデータ（１誤り訂正，２誤り訂正，誤り検出のみ）を使用しないようにする。第２に、誤り訂正処理の結果が「誤りなし」，「１誤り訂正」であった読み込みデータ、あるいは、誤り訂正処理の結果が「誤りなし」，「１誤り訂正」，「２誤り訂正」であった読み込みデータのみを多数決判定に使用してもよい。
【００５３】
以下、上記第１，第２の多数決判定処理について具体例を挙げて説明する。例えば、７個のメモリ単位に重複して書き込みを行った場合の読み込みデータに対して、誤り訂正処理を行った後のデータが、１６進表示でそれぞれ順番に、Ａ５（誤りなし），Ａ３（１誤り訂正），Ａ３（２誤り訂正），Ａ５（誤りなし），Ａ３（１誤り訂正），Ａ３（１誤り訂正），Ｅ７（誤り検出のみ）であったとする。
【００５４】
第１の多数決判定処理の場合、誤り訂正処理の結果が「誤りなし」のみを多数決判定に使用するため、１番目と４番目の計２個が選択され、これらが多数決判定に使用される。その結果、２個とも「Ａ５」であるため、この「Ａ５」を最尤値として最終的な読み込みデータとする。
【００５５】
また、第２の多数決判定処理の場合、誤り訂正処理の結果が「誤りなし」および「１誤り訂正」のみを多数決判定に使用するため、１番目、２番目、４番目、５番目、６番目の計５個が選択され、これらが多数決判定に使用される。その結果、「Ａ５」が２個、「Ａ３」が３個であるため、「Ａ３」を最尤値として最終的な読み込みデータとする。
【００５６】
さらに、上記多数決判定処理の別の実施形態について説明する。この実施形態においても、上記と同様に、７個のメモリ単位に重複して書き込みを行った場合の読み込みデータに対して、誤り訂正処理を行った後のデータが、１６進表示でそれぞれ順番に、Ａ５（誤りなし），Ａ３（１誤り訂正），Ａ３（２誤り訂正），Ａ５（誤りなし），Ａ３（１誤り訂正），Ａ３（１誤り訂正），Ｅ７（誤り検出のみ）であったとする。
【００５７】
図１において、読み込みデータ処理部１１２は、誤りが検出され誤り訂正を行った複数個の読み込みデータに対して、誤り訂正結果（誤りなし，１誤り訂正，２誤り訂正，誤り検出のみ）毎に読み込みデータの個数を集計し、集計した読み込みデータの個数に所定の係数による重み付けを行い、重み付け後の読み込みデータに対して多数決判定を行う。
【００５８】
例えば、この所定の係数を、「誤りなし」では“１”、「１誤り訂正」では“０．５”、「２誤り訂正」では“０．２５”、「誤り検出のみ」では“０”、とする。このように係数は、読み込みデータ処理部１１２による誤り訂正数が多いほど、小さくなるように設定されている。上記すべて（計７個）の誤り訂正後のデータを多数決判定に使用する場合、「誤りなし」は「Ａ５」が２個であるため、これに係数“１”を乗じると、２×１＝２個となる。「１誤り訂正」は「Ａ３」が３個、「２誤り訂正」は「Ａ３」が１個であるため、これらに各係数を乗じると、３×０．５＋１×０．２５＝１．７５個となる。「誤り検出のみ」は「Ｅ７」が１個であるため、これに係数“０”を乗じると、１×０＝０個となる。そうすると、「Ａ５」が２個、「Ａ３」が１.７５個、「Ｅ７」が０個となり、多数決判定の結果、最も数が多い「Ａ５」を最尤値として最終的な読み込みデータとする。
【００５９】
また、別の例として、上記係数を、「誤りなし」では“１”、「１誤り訂正」では“０．８”、「２誤り訂正」では“０．５”、「誤り検出のみ」では“０”、とする。上記すべて（計７個）の誤り訂正後のデータを多数決判定に使用する場合、「誤りなし」は「Ａ５」が２個であるため、これに係数“１”を乗じると、２×１＝２個となる。「１誤り訂正」は「Ａ３」が３個、「２誤り訂正」は「Ａ３」が１個であるため、これらに各係数を乗じると、３×０．８＋１×０．５＝２．９個となる。「誤り検出のみ」は「Ｅ７」が１個であるため、これに係数“０”を乗じると、１×０＝０個となる。そうすると、「Ａ５」が２個、「Ａ３」が２．９個、「Ｅ７」が０個となり、多数決判定の結果、最も数が多い「Ａ３」を最尤値として最終的な読み込みデータとする。
【００６０】
なお、上記多数決判定において、誤り訂正結果毎に読み込みデータの個数を集計した結果、複数の読み込みデータ（例えば、Ａ５，Ａ３）の個数が同数であった場合には、最尤値を決定できないため、単に判定不能としても良く、あるいは、誤り訂正結果に基づいて、最尤値を決定してもよい。例えば、誤り訂正処理の結果が同数の読み込みデータの内、誤り訂正結果が「誤りなし」であった個数が１番多いものを最尤値とする。
【００６１】
具体的には、上記係数を、「誤りなし」では“１”、「１誤り訂正」では“０．５”、「２誤り訂正」では“０．５”、「誤り検出のみ」では“０”、とする。上記すべて（計７個）の誤り訂正後のデータを多数決判定に使用する場合、「誤りなし」は「Ａ５」が２個であるため、これに係数“１”を乗じると、２×１＝２個となる。「１誤り訂正」は「Ａ３」が３個、「２誤り訂正」は「Ａ３」が１個であるため、これらに各係数を乗じると、３×０．５＋１×０．５＝２．０個となる。「誤り検出のみ」は「Ｅ７」が１個であるため、これに係数“０”を乗じると、１×０＝０個となる。そうすると、「Ａ５」が２個、「Ａ３」が２．０個、「Ｅ７」が０個となり、「Ａ５」と「Ａ３」が同数となるが、「誤り訂正なし」の個数に注目すると、「Ａ５」が２個、「Ａ３」が０個であるため、この「Ａ５」を最尤値として最終的な読み込みデータとする。
【００６２】
上記のように、「誤り訂正なし」の個数が１番多いことのみを判定基準にするだけではなく、他の誤り訂正の個数（例えば、「１誤り訂正」の個数）も合わせて判定基準としても良い。例えば、上記と同様に係数を設定し、集計すると、「Ａ５」が２個、「Ａ３」が２．０個、「Ｅ７」が０個となり、「Ａ５」と「Ａ３」が同数となるが、「誤り訂正なし」及び「１誤り訂正」の個数に注目すると、「Ａ５」が２個、「Ａ３」が３個であるため、この「Ａ３」を最尤値として最終的な読み込みデータとしてもよい。
【００６３】
また、メモリ１１１ａに保存されているデータテーブルのランク分け情報から、フラッシュメモリのランク分け状況を確認するために、ランク分け算出値を算出して、このランク分け算出値と、予め設定してあるランク分け評価基準値を比較して、この比較結果に基づいて、ユーザがメモリ単位に対しての重複書き込み及び読み込み制御を行うようにしても良い。
【００６４】
例えば、ランク３やランク４にランク分けされたメモリ単位の個数が、予め設定していたランク分け評価基準値を超えている場合には、フラッシュメモリのランク分け状況が悪い、つまり、フラッシュメモリ全体が劣化していると判断して、この判断結果を、ディスクドライブ装置１０を使用するユーザに対して通知する。この通知方法としては、外部インタフェース（外部ＩＦ）部１１３を介して、本体側機器に判定結果などの情報を通信し、この情報を本体側機器と接続されたディスプレイ（図示せず）上に表示してユーザに通知する方法や、ディスクドライブ装置１０自体に小型ディスプレイやＬＥＤなどの情報表示機能があれば、その表示機能を使ってユーザに通知する方法などが考えられる。
【００６５】
このようにしてフラッシュメモリのランク分け状況を通知されたユーザは、メモリ１１１ａに保存されているデータテーブルのランク分け情報に基づいて、メモリ単位に対しての重複書き込み及び読み込み制御を行うかどうか、判断することが可能となる。
【００６６】
例えば、前述の図２に示すように、フラッシュメモリ１２４ａ〜１２４ｄ（フラッシュメモリ１２４ａ′〜１２４ｄ′）、フラッシュメモリ１２５ａ〜１２５ｄ、フラッシュメモリ１２６ａ〜１２６ｄの合計１６個のメモリ単位のフラッシュメモリで記憶領域が構成された場合で、ランク０，ランク１，ランク２，ランク３，ランク４のそれぞれが、２個，２個，３個，３個，４個であった場合に、一例としてランク分け算出値の算出方法がランク３及びランク４の合計個数とすると、ランク分け算出値は７個となる。この時に、ランク分け評価基準値が６個であったとすると、ランク分け算出値はランク分け評価基準値より大きいため、ランク分け状況が劣化したとしてこのことをユーザに通知する。もちろん、評価基準値より大きい場合だけではなく、ランク分け算出値とランク分け評価基準値との比較結果すべてをユーザに通知するようにしても良い。
【００６７】
以上のような通知によって、ユーザがフラッシュメモリ全体（もしくは一部）の劣化が著しいと判断した場合には、データテーブルのランク分け情報をユーザ判断で見直した内容で更新を行う。例えば、すべてのメモリ単位のランクを１ランク落とした内容でランク分け情報の更新を行ったり、ランク４はそのままでランク０〜ランク３のメモリ単位をすべてランク３にする内容で更新したり、すべてのメモリ単位のランクをすべてランク４にした内容で更新を行う方法が考えられる。具体的にどのような更新方法を採用するかについては、メモリ単位毎にどうするかユーザに個々選択させても良いし、上記例のようないくつかの更新方法をディスプレイに選択肢として表示した上で、そのどれかをユーザに選択させても良い。
【００６８】
また、ランク分け情報に基づいたメモリ単位に対しての重複書き込み及び読み込み制御を行っても、書き込み及び読み込みされたデータ自体に信頼性が無いとユーザが判断した場合、フラッシュメモリ全体（もしくは一部）を使用しないようにユーザによる制御を行っても良い。
【００６９】
以下、本発明のディスクドライブ装置１０による不揮発性メモリ制御方法について説明する。なお、下記の図４〜図１１に示すフローは、図１の装置構成に基づいて説明するものとする。
【００７０】
図４は、本発明に係るエラー発生履歴情報の更新方法の一例を説明するためのフロー図である。まず、データ制御部１１４は、不揮発性メモリディスク１２における対象メモリ単位を決定し、その対象メモリ単位について誤り訂正結果情報を参照する（ステップＳ１）。この誤り訂正結果情報は、メモリ１１１ａに格納されており、直近（前回）のエラー発生履歴情報（エラー発生回数）に相当する。データ制御部１１４は、この誤り訂正結果情報に基づいて、対象メモリ単位にエラーが発生しているか否かを判定する（ステップＳ２）。ここで、対象メモリ単位にエラーが発生していると判定した場合（ＹＥＳの場合）、後述の図６に示すデータテーブルのエラー発生回数を更新する（ステップＳ３）。また、ステップＳ２において、対象メモリ単位にエラーが発生していないと判定した場合（ＮＯの場合）、ステップＳ６に移行する。
【００７１】
上記ステップＳ２において、誤り訂正結果情報によりエラー発生を判定しているが、リード・ソロモン符号による誤り訂正の場合、誤り訂正結果が「１誤り訂正」，「２誤り訂正」，「誤り検出のみ」のいずれかである場合、エラーが発生したと判定する。また、誤り訂正結果が「誤り訂正なし」の場合、エラーが発生していないと判定する。また、エラー発生回数のカウントは、誤り訂正数に係らず常に１回とカウントしてもよく、誤り訂正数に応じてエラー発生回数を異なるようにカウントしてもよい。例えば、「１誤り訂正」の場合、エラー発生回数を１回とカウントし、「２誤り訂正」の場合、エラー発生回数を２回とカウントする。
【００７２】
次に、データ制御部１１４は、上記ステップＳ３でのエラー発生回数の更新に伴い、同じデータテーブルのランク分け情報を更新し（ステップＳ４）、更新したエラー発生回数（及びランク分け情報）を保存する（ステップＳ５）。最後に、データ制御部１１４は、すべての対象メモリ単位の誤り訂正結果情報を参照したか否かを判定し（ステップＳ６）、すべての対象メモリ単位の誤り訂正結果情報を参照した場合（ＹＥＳの場合）、そのまま終了し、参照していない場合（ＮＯの場合）、ステップＳ１に戻り処理を繰り返す。
【００７３】
図５は、本発明に係るランク分け情報の更新方法の一例を説明するためのフロー図である。まず、データ制御部１１４は、メモリ１１１ａにアクセスし、直近の誤り訂正結果情報に基づくエラー発生回数（ｔＡ）と、過去のエラー発生回数（ｔＢ）を参照する（ステップＳ１１）。そして、直近のエラー発生回数（ｔＡ）と、過去のエラー発生回数（ｔＢ）とを加算して、最新のエラー発生回数（ｔＣ）を算出する（ステップＳ１２）。そして、この最新のエラー発生回数（ｔＣ）とランク分け設定値とを比較する（ステップＳ１３）。なお、ランク分け設定値としては、前述したように、エラー発生回数を０回，１回，２〜３回，４〜５回，６回以上とした場合に、順にランク０（１個），ランク１（３個），ランク２（５個），ランク３（７個），ランク４（９個）に設定されているものとする。
【００７４】
ここで、ステップＳ１３において、エラー発生回数（ｔＣ）が０回の場合（図中、０回の場合）、メモリ信頼性はランク０となり（ステップＳ１４）、そのまま通常通り単独使用に設定される（ステップＳ１５）。また、エラー発生回数（ｔＣ）が１回の場合（図中、１回の場合）、メモリ信頼性はランク１となり（ステップＳ１６）、今後は３個のメモリ単位が重複使用に設定される（ステップＳ１７）。また、エラー発生回数（ｔＣ）が２〜３回の場合（図中、２〜３回の場合）、メモリ信頼性はランク２となり（ステップＳ１８）、今後は５個のメモリ単位が重複使用に設定される（ステップＳ１９）。
【００７５】
また、エラー発生回数（ｔＣ）が４〜５回の場合（図中、４〜５回の場合）、メモリ信頼性はランク３となり（ステップＳ２０）、今後は７個のメモリ単位が重複使用に設定される（ステップＳ２１）。また、エラー発生回数（ｔＣ）が６回以上の場合（図中、６回以上の場合）、メモリ信頼性はランク４となり（ステップＳ２２）、今後は９個のメモリ単位が重複使用に設定される（ステップＳ２３）。
【００７６】
図６は、図１に示したメモリ１１１ａに格納されるデータテーブルの一例を示す図である。このデータテーブルは、メモリ単位で、エラー発生回数、ランク、リード／ライトの個数が設定されており、図５に示すフローに基づいてエラー発生回数（エラー発生履歴情報）が更新されると、ランク及びリード／ライトの個数が更新されていく。なお、このランクは、本発明において必須ではないため、ランクをなくした状態でデータテーブルを構成してもよい。
【００７７】
図７は、本発明による不揮発性メモリへの書き込み方法の一例を説明するためのフロー図である。まず、データ制御部１１４は、不揮発性メモリディスク１２に対して仮想的な論理アドレスを決定し（ステップＳ３１）、データテーブル（図６）にアクセスして、ステップＳ３１で決定した論理アドレスのメモリ信頼性ランクを参照する（ステップＳ３２）。そして、データ制御部１１４は、データテーブルにより、ステップＳ３２で特定したメモリ信頼性ランクに合わせて書き込みデータ数（Ｎ）を決定し（ステップＳ３３）、決定したＮ個の物理アドレスのデータを書き込む（ステップＳ３４）。
【００７８】
なお、不揮発性メモリディスク１２に対して書き込み／読み込みを制御するための論理アドレスと物理アドレスは、エラー発生履歴情報に対応付けられて、ディスクドライブ装置１０内のメモリ１１１ａで管理され、実際に書き込み／読み込みの制御を行うデータ制御部１１４に送られる。
【００７９】
図８は、本発明による不揮発性メモリの読み込み時における多数決判定方法の一例を説明するためのフロー図である。ここでは図７による書き込み処理を行った後の読み込み処理について説明する。まず、読み込みデータ処理部１１２は、不揮発性メモリディスク１２からＮ個の物理アドレスのデータを読み込み（ステップＳ４１）、読み込んだＮ個の読み込みデータに対して誤り訂正処理を行う（ステップＳ４２）。
【００８０】
そして、読み込みデータ処理部１１２は、Ｎ個の読み込みデータ中に最多数データがあるか否か判定し（ステップＳ４３）、ここで、最多数データがないと判定した場合（ＮＯの場合）、例えば、該当論理アドレスの読み込み判定不能とする（ステップＳ４４）。また、ステップＳ４３において、最多数データがあると判定した場合（ＹＥＳの場合）、この最多数データを最尤値（多数決判定値）として決定する（ステップＳ４５）。なお、ここでいう「最多数データ」とは、同じ値をとる読み込みデータの個数が最も多いときの各メモリ単位のデータであるものとする（以下同じ）。
【００８１】
図９は、本発明による不揮発性メモリの読み込み時における多数決判定方法の他の例を説明するためのフロー図である。ここでは図７による書き込み処理を行った後の読み込み処理について説明する。まず、読み込みデータ処理部１１２は、不揮発性メモリディスク１２からＮ個の物理アドレスのデータを読み込み（ステップＳ５１）、読み込んだＮ個の読み込みデータに対して誤り訂正処理を行う（ステップＳ５２）。
【００８２】
そして、読み込みデータ処理部１１２は、「誤り訂正なし」の読み込みデータの個数を集計（Ｍ個）し（ステップＳ５３）、このＭが“０”であるか否かを判定する（ステップＳ５４）。ここで、Ｍが“０”であると判定した場合（ＮＯの場合）、例えば、該当論理アドレスの読み込み判定不能とする（ステップＳ５５）。また、ステップＳ５４において、Ｍが“０”ではないと判定した場合（ＹＥＳの場合）、Ｍ個のうち、最多数データがあるか否かを判定する（ステップＳ５６）。
【００８３】
次に、ステップＳ５６において、Ｍ個のうち、最多数データがないと判定した場合（ＮＯの場合）、ステップＳ５５に移行し、また、ステップＳ５６において、Ｍ個のうち、最多数データがあると判定した場合（ＹＥＳの場合）、この最多数データを最尤値（多数決判定値）として決定する（ステップＳ５７）。
【００８４】
図１０は、本発明による不揮発性メモリの読み込み時における多数決判定方法の他の例を説明するためのフロー図である。ここでは図７による書き込み処理を行った後の読み込み処理について説明する。まず、読み込みデータ処理部１１２は、不揮発性メモリディスク１２からＮ個の物理アドレスのデータを読み込み（ステップＳ６１）、読み込んだＮ個の読み込みデータに対して誤り訂正処理を行う（ステップＳ６２）。
【００８５】
そして、読み込みデータ処理部１１２は、誤り訂正結果毎に、読み込みデータの個数を集計する（ステップＳ６３）。ここでは、集計の結果、「誤り訂正なし」がＭ個、「１誤り訂正」がＰ個、「２誤り訂正」がＱ個、「誤り検出のみ」がＲ個とする。次に、読み込みデータ処理部１１２は、Ｍ個とＰ個とＱ個とを加算した値が“０”であるか否かを判定する（ステップＳ６４）。Ｍ＋Ｐ＋Ｑが“０”と判定した場合（ＮＯの場合）、例えば、該当論理アドレスの読み込み判定不能とする（ステップＳ６５）。また、ステップＳ６４において、Ｍ＋Ｐ＋Ｑが“０”ではないと判定した場合（ＹＥＳの場合）、誤り訂正結果毎に読み込みデータの個数を補正（重み付け）する。ここでは補正（重み付け）係数を設定する（ステップＳ６６）。
【００８６】
そして、読み込みデータ処理部１１２は、補正後の読み込みデータの個数を算出（Ｓ個）し（ステップＳ６７）、このＳ個のうち、最多数データがあるか否かを判定する（ステップＳ６８）。ここで、Ｓ個のうち、最多数データがないと判定した場合（ＮＯの場合）、ステップＳ６５に移行し、また、ステップＳ６８において、Ｓ個のうち、最多数データがあると判定した場合（ＹＥＳの場合）、この最多数データを最尤値（多数決判定値）として決定する（ステップＳ６９）。
【００８７】
図１１は、本発明によるランク分け状況評価の一例を説明するためのフロー図である。ここではメモリ１１１ａに格納されるデータテーブルの設定が更新された後の処理について説明する。まず、制御部１１１は、データテーブルのランク分け情報を参照して（ステップＳ７１）、ランク分け算出値を算出する（ステップＳ７２）。そして、このランク分け算出値とランク分け評価基準値との比較を行う（ステップＳ７３）。ここで、ランク分け算出値がランク分け評価基準値より大きいと判定した場合（ＹＥＳの場合）、ランク分け状況が劣化したと判断し、このことをユーザに通知する（ステップＳ７４）。また、ステップＳ７３において、ランク分け算出値がランク分け評価基準値以下と判定した場合（ＮＯの場合）、ランク分け状況は劣化していないと判断し、特にユーザには通知せず、そのまま終了する。もちろん、このフロー図に示す一例に限らず、ランク分け算出値とランク分け評価基準値との比較結果すべてをユーザに通知するようにしても良い。
【符号の説明】
【００８８】
１０…ディスクドライブ装置、１１…システム制御部、１２…不揮発性メモリディスク、１３…ディスク部、１１１…制御部、１１１ａ…メモリ、１１２…読み込みデータ処理部、１１３…外部ＩＦ部、１１４…データ制御部。
【図１】
2010192047.tif 000003
【図２】
2010192047.tif 000004
【図３】
2010192047.tif 000005
【図４】
2010192047.tif 000006
【図５】
2010192047.tif 000007
【図６】
2010192047.tif 000008
【図７】
2010192047.tif 000009
【図８】
2010192047.tif 000010
【図９】
2010192047.tif 000011
【図１０】
2010192047.tif 000012
【図１１】
2010192047.tif 000013