(57)【要約】【課題】データを格納済みのデータ領域に対してデータを上書きした場合であってもデータの上書きが原因のＥＣＣエラーの発生を防止することができるデータ記録装置を得ること。【解決手段】データ記録装置１００が、データを記録する不揮発性メモリ２と、不揮発性メモリ２へのデータの書き込みおよび消去を制御する制御部１と、を備え、不揮発性メモリ２は、データを格納するデータ領域と、データの誤り訂正符号値を格納するスペア領域と、を有し、制御部１は、データ領域内のデータの誤り訂正符号値が全て１となるようにデータを符号化する符号化部１１と、符号化されたデータを符号化前のデータに復号する復号化部１２と、を有する。【選択図】図１
2020194428.tif 000002
【特許請求の範囲】
【請求項１】
データを記録する不揮発性メモリと、
前記不揮発性メモリへのデータの書き込みおよび消去を制御する制御部と、
を備え、
前記不揮発性メモリは、前記データを格納するデータ領域と、
前記データの誤り訂正符号値を格納するスペア領域と、
を有し、
前記制御部は、
前記データ領域内の前記データの誤り訂正符号値が全て１となるように前記データを符号化する符号化部と、
前記符号化部によって符号化された符号化後のデータを符号化前のデータに復号する復号化部と、
を有する、
ことを特徴とするデータ記録装置。
【請求項２】
前記符号化部は、符号化前のデータと符号化後のデータとの対応関係を示す対応表に基づいて、前記データを符号化し、
前記復号化部は、前記対応表に基づいて、前記符号化後のデータを復号する、
ことを特徴とする請求項１に記載のデータ記録装置。
【請求項３】
前記符号化部は、前記符号化前のデータに含まれる第１の位置のビットの値と、前記符号化後のデータに含まれる第２の位置のビットの値と、が一致するよう、前記データを符号化し、
前記復号化部は、前記符号化後のデータから前記第２の位置のビットの値を抽出することによって、前記符号化後のデータを復号する、
ことを特徴とする請求項１または２に記載のデータ記録装置。
【請求項４】
前記符号化部は、計算処理によって前記データを符号化する、
ことを特徴とする請求項１または２に記載のデータ記録装置。
【請求項５】
前記符号化部は、前記符号化前のデータにパリティを付与し、前記パリティを付与したデータまたは前記パリティを付与したデータを反転したデータを、前記パリティを付与したデータに付与することによって、前記データを符号化する、
ことを特徴とする請求項４に記載のデータ記録装置。
【請求項６】
前記符号化部が符号化するデータは、前記データ領域に格納されるデータをページ毎に管理するための管理情報であり、
前記制御部は、前記データ領域のうちの特定のデータ領域に、前記ページ毎の前記管理情報をまとめて格納する、
ことを特徴とする請求項１から５の何れか１つに記載のデータ記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正符号化を用いてデータを記録するデータ記録装置に関する。
【背景技術】
【０００２】
データを記録するＮＡＮＤ型のフラッシュメモリといった不揮発性メモリは、新たなデータの書き込み（Program）を行う前には、データの消去（Erase）によって、決められた範囲（ブロック）の全てのビットを「１」に変化させる必要がある。このような不揮発性メモリは、データの書き込み動作の際に、所望のビットを「１」から「０」に変化させることはできるが、ビットを「０」から「１」に変化させることはできない。このため、不揮発性メモリは、所望のビットを「１」から「０」に変化させる場合に限り、データを消去することなく続けてデータの書き込み（上書き）を行うことができる。
【０００３】
このような不揮発性メモリは、記録するデータの内容を保証することが望まれる。特許文献１に記載の不揮発性メモリは、データを格納するデータ領域に加え、スペアデータを格納するスペア領域を備えている。スペアデータは、データ領域に格納されたデータのビットエラー等を検出し訂正する際に用いられる誤り訂正符号（ＥＣＣ：Error  Correcting  Code）値等である。これにより、特許文献１に記載の不揮発性メモリは、スペアデータを用いて、データ領域に記録されるデータの内容を保証している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５２１４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の不揮発性メモリにおいて、データ領域に記録されているデータを上書きすると、データ領域のデータのＥＣＣ値が変化するが、スペア領域に書き込み済みのＥＣＣ値に対しビットを「０」から「１」に変化させることができない。すなわち、特許文献１に記載の不揮発性メモリは、スペア領域には最初のデータ書き込みの際のＥＣＣ値が格納されており、上書きによって変化したデータ領域のデータのＥＣＣ値をスペア領域に上書きしようとしても、ビットの値を「０」から「１」に上書きすることはできない。このため、特許文献１に記載の不揮発性メモリにおいて、データ領域に記録されているデータを上書きすると、上書きされたデータのＥＣＣ値と、スペア領域に格納されているＥＣＣ値とが相違することとなり、データの上書きが原因のＥＣＣエラーが発生してしまう。このように、特許文献１に記載の不揮発性メモリは、一旦、スペア領域のＥＣＣ値を消去しないと、データ領域のデータを上書きすることができないという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、データを格納済みのデータ領域に対してデータを上書きした場合であってもデータの上書きが原因のＥＣＣエラーの発生を防止することができるデータ記録装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明のデータ記録装置は、データを記録する不揮発性メモリと、不揮発性メモリへのデータの書き込みおよび消去を制御する制御部と、を備える。不揮発性メモリは、データを格納するデータ領域と、データの誤り訂正符号値を格納するスペア領域と、を有する。制御部は、データ領域内のデータの誤り訂正符号値が全て１となるようにデータを符号化する符号化部と、符号化部によって符号化された符号化後のデータを符号化前のデータに復号する復号化部と、を有する。
【発明の効果】
【０００８】
本発明によれば、データを格納済みのデータ領域に対してデータを上書きした場合であってもデータの上書きが原因のＥＣＣエラーの発生を防止することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかるデータ記録装置の構成を示す図
【図２】実施の形態１にかかるデータ記録装置が備える不揮発性メモリの構成を示す図
【図３】実施の形態１にかかるデータ記録装置による符号化処理の例を説明するための図
【図４】実施の形態１にかかるデータ記録装置のハードウェア構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明にかかるデータ記録装置の実施の形態を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１にかかるデータ記録装置の構成を示す図である。データ記録装置１００は、通信装置などのホスト装置と通信線で接続される装置であり、ホスト装置の外部記憶装置として機能する。なお、データ記録装置１００は、外部記憶装置として用いられる場合に限らず、何れの装置として用いられてもよい。データ記録装置１００は、例えば、自らが生成したデータを記録（記憶）してもよいし、自らの動作に必要なデータを記録してもよい。
【００１２】
データ記録装置１００は、制御部１と不揮発性メモリ２とを備えている。不揮発性メモリ２は種々のデータを記録し、制御部１は、不揮発性メモリ２を制御する。不揮発性メモリ２は、データ（実データ）を格納するデータ領域と、データ領域内のデータのＥＣＣ値を格納するスペア領域とを有している。不揮発性メモリ２の例は、ＮＡＮＤ型のフラッシュメモリである。
【００１３】
制御部１は、不揮発性メモリ２に対し、データの読み出し、データの書き込み、データの消去等を制御する。具体的な制御方法の詳細は、本実施の形態の本質ではないので省略する。
【００１４】
制御部１は、データに対して種々の計算を行う計算機として動作する。制御部１は、不揮発性メモリ２に格納するデータを符号化する符号化部１１と、不揮発性メモリ２に格納されているデータを復号する復号化部１２と含んで構成されている。
【００１５】
本実施の形態の符号化部１１は、データ領域内のデータのＥＣＣ値が全て「１」となるようにデータを符号化する。すなわち、符号化部１１は、符号化後のデータのＥＣＣ値が全て「１」となるようにデータを符号化する。復号化部１２は、符号化されてデータ領域に格納されているデータを元の値に復号する。なお、制御部１は、符号化部１１、復号化部１２以外の構成要素を有していてもよい。
【００１６】
図２は、実施の形態１にかかるデータ記録装置が備える不揮発性メモリの構成を示す図である。不揮発性メモリ２は、データ消去の単位であるブロックを複数備えている。図２では、ブロックがブロックＢ０〜ＢＮ（Ｎは自然数）である場合を図示している。各ブロックＢ０〜ＢＮは、データ書き込みの単位であるページを複数備えている。図２では、ページが、ページＰ０〜ＰＭ（Ｍは自然数）である場合を図示している。各ページＰ０〜ＰＭは、データを格納するデータ領域と、スペアデータを格納するスペア領域とを有している。
【００１７】
なお、以下の説明ではブロックＢ０〜ＢＮを識別する必要が無い場合には、ブロックをブロックＢｘという場合がある。また、以下の説明ではページＰ０〜ＰＭを識別する必要が無い場合には、ページをページＰｘという場合がある。
【００１８】
スペア領域に格納されるスペアデータの例は、データ領域に格納されるデータ（符号化後のデータ）のＥＣＣ値である。ブロックＢｙ（ｙは０からＮの何れか）のページＰｚ（ｚは０からＭの何れか）のスペア領域には、ブロックＢｙのページＰｚのデータ領域に格納されるデータのＥＣＣ値が格納される。
【００１９】
次に、データ記録装置１００によるデータ記録処理について説明する。制御部１は、不揮発性メモリ２へのデータの書き込みを、ページ単位で行う。制御部１が、データの書き込みを行うと、不揮発性メモリ２の指定されたページＰｘのデータ領域は、所望のビット（指定されたビット）が「１」から「０」に変化する。制御部１は、このデータの書き込みによってビットを「０」から「１」に変化させることはできない。例えば、データの元の値が「１１１１」であった場合、制御部１は、データの書き込みによって、「１１１１」を「１０１０」に変化させることはできる。制御部１は、更なる書き込みによって「１０１０」を「１０００」に変化させることもできる。しかし、制御部１は、「１０１０」を「１１１０」に変化させることはできない。
【００２０】
制御部１は、指定したページＰｘのデータ領域にデータを書き込む際には、指定したページＰｘのスペア領域に、データ領域のデータに対応するＥＣＣ値を格納する。スペア領域のビットも、データ領域のビットと同様に、書き込み動作によって変化できるのは「１」から「０」であり、「０」から「１」へは変化できない。例えば、データ領域へのデータの書き込みによって、データ領域のデータのＥＣＣ値が「１０１０」となった場合、この「１０１０」がスペア領域に格納される。データ領域への更なるデータの書き込みによって、データ領域のデータのＥＣＣ値が「１１１０」に変化した場合、既にスペア領域に格納されているＥＣＣ値が「１０１０」であるため、新しいＥＣＣ値である「１１１０」をスペア領域に格納することはできない。
【００２１】
不揮発性メモリ２内のビットを「０」から「１」に変化させるにはデータの消去が必要となる。制御部１によるデータの消去は、ブロック単位で行われる。制御部１によるデータの消去によって、不揮発性メモリ２の指定されたブロックＢｘに含まれる全てのページＰ０〜ＰＭのデータ領域およびスペア領域において、全てのビットが「１」になる。制御部１は、あるページＰｘのビットだけを「０」から「１」に変化させたい場合であっても、このページＰｘが含まれるブロックＢｘの全体のデータを消去する必要があり、このブロックＢｘに含まれる他のページの全てのビットを「１」に変化させることとなる。
【００２２】
このように、スペア領域に格納されるＥＣＣ値が「０」を含む場合、データ領域へのデータの上書きが困難となる。このため、本実施の形態では、制御部１が、データ領域のデータのＥＣＣ値が常に全て「１」となるよう、データ領域に書き込むデータを符号化する。
【００２３】
制御部１は、データ領域に格納されているデータのＥＣＣ値が全て「１」となるようデータが符号化されているので、データ領域に格納されているデータを上書きした場合であってもデータ領域のデータのＥＣＣ値は全て「１」のままである。このため、制御部１は、スペア領域のＥＣＣ値を消去せずにデータ領域のデータを上書きしても、データ領域のデータのＥＣＣ値と、スペア領域のＥＣＣ値とを同じに保つことができる。したがって、制御部１は、データの消去を行うことなくデータ領域のデータを上書きすることができる。
【００２４】
制御部１は、データの上書きを行いたい場合には、符号化部１１にデータを符号化させる。制御部１は、書き込むデータを符号化部１１に符号化させた後、符号化させたデータを不揮発性メモリ２に書き込む。
【００２５】
制御部１は、データを書き込んだページＰｘからデータを読み出す際には、復号化部１２にデータを復号させる。制御部１は、不揮発性メモリ２から読み出したデータを復号化部１２に復号させることによって、不揮発性メモリ２から読み出したデータを元のデータに戻す。
【００２６】
このように、本実施の形態の符号化部１１は、データ領域のＥＣＣ値が常に全て「１」となるよう、データ領域に書き込むデータを符号化する。以下、８ビットのデータに対して６ビットのＥＣＣ値が用いられる場合を例として、符号化の処理を説明する。
【００２７】
６ビットのＥＣＣ値が全て「１」となる８ビットのデータには、例えば以下のデータがある。符号化部１１は、データ領域に格納するデータを、以下のようなデータに符号化する。
「００００００００」
「００００１１１１」
「００１１００１１」
「００１１１１００」
「０１０１０１０１」
「０１０１１０１０」
「０１１００１１０」
「０１１０１００１」
「１００１０１１０」
「１００１１００１」
「１０１００１０１」
「１０１０１０１０」
「１１００００１１」
「１１００１１００」
「１１１１００００」
「１１１１１１１１」
【００２８】
例えば、データ記録装置１００は、元のデータ（符号化前のデータ）と符号化後のデータとの対応関係を示す対応表を格納しておく。この場合、符号化部１１は、対応表を参照することで元のデータから符号化後のデータを生成する。また、復号化部１２は、対応表を参照することで符号化後のデータから元のデータを生成（復号）する。
【００２９】
また、符号化部１１は、符号化後のデータの一部に、元のデータが含まれるように、データを符号化してもよい。すなわち、符号化部１１は、符号化前の特定ビット（第１の位置のビット）の値と、符号化後の特定ビット（第２の位置のビット）の値と、が一致するよう、データを符号化してもよい。
【００３０】
図３は、実施の形態１にかかるデータ記録装置による符号化処理の例を説明するための図である。図３では、元のデータと、符号化後のデータとの対応関係を示している。ここでは、元のデータを３ビット長とし、符号化後のデータを８ビット長とした場合に、６ビットのＥＣＣ値が全て「１」となる８ビットのデータのうち、下位３ビットが元のデータと一致するデータの例を示している。
【００３１】
例えば、元のデータが「１１１」である場合、６ビットのＥＣＣ値が全て「１」となり、且つ下位３ビットが元のデータである「１１１」と一致するデータは、「００００１１１１」または「１１１１１１１１」である。したがって、符号化部１１は、元のデータである「１１１」に対しては、符号化後のデータである「００００１１１１」または「１１１１１１１１」を適用する。
【００３２】
符号化部１１が、図３に示す対応関係に基づいて元のデータを符号化した場合、復号化部１２は、符号化後のデータの一部を抜き出すだけで、元のデータを生成することができる。すなわち、復号化部１２は、符号化後のデータの下位３ビットの値（第２の位置のビットの値）をそのまま抽出することで、復号を行うことができる。
【００３３】
例えば、符号化後のデータが「００００１１１１」である場合、復号化部１２は、「００００１１１１」の下位３ビットのデータである「１１１」を復号後のデータとして抽出する。
【００３４】
また、符号化部１１は、特定の計算処理によって、符号化後のデータを生成してもよい。この場合、符号化部１１は、例えば、元のデータに偶数パリティを付与し、偶数パリティを付与したデータの値を、そのまま又は反転したうえで、偶数パリティを付与したデータに付与することで、符号化後のデータを生成できる。図３に示した例では、元のデータ「００１」は、偶数パリティを付与すると「１００１」となる。符号化部１１は、このデータをそのまま「１００１」に付与すると「１００１１００１」を生成することができ、反転して付与すると「０１１０１００１」を生成することができる。
【００３５】
なお、図３では、元のデータが３ビット長であり、符号化後のデータが８ビット長である場合について説明したが、データのビット長は、何れの長さであってもよい。元のデータを４ビット長とした場合、符号化部１１は、例えば、４ビットのデータを、上位１ビットと下位３ビットとに分割する。符号化部１１は、下位３ビットに対して偶数パリティを付与した後、上位１ビットが「０」であるか「１」であるかによって、偶数パリティを付与したデータをそのまま付与するか、反転して付与するかを決定する。符号化部１１は、例えば、上位１ビットが「０」である場合に、偶数パリティを付与したデータを、偶数パリティを付与したデータにそのまま付与することで、符号化後のデータを生成する。なお、符号化部１１は、偶数パリティの代わりに奇数パリティを付与してもよい。
【００３６】
また、元のデータを５ビット長とした場合、符号化部１１は、例えば、５ビットのデータを、上位２ビットと下位３ビットとに分割する。符号化部１１は、下位３ビットに対して８ビット長の符号化後のデータを生成し、上位２ビットについては３ビット長に拡張してから８ビット長の符号化後のデータを生成する。
【００３７】
元のデータを６ビット長以上とした場合も、符号化部１１は、元のデータを４ビット長または５ビット長とした場合と同様の符号化を行う。すなわち、符号化部１１は、元のデータが６ビット長以上の場合、元のデータを下位ビットから３ビットずつに分割する。符号化部１１は、３ビットのデータに対しては、８ビット長の符号化後のデータを生成する。符号化部１１は、上位に残ったビットが１ビットである場合は、元のデータが４ビットである場合の上位１ビットと同様の処理を行い、上位に残ったビットが２ビットである場合は、元のデータが５ビットである場合の上位２ビットと同様の処理を行う。
【００３８】
なお、上述した符号化部１１による符号化処理は、一例であり、符号化部１１は、上述した符号化処理以外の符号化処理によって、データ領域のデータのＥＣＣ値が全て「１」となるよう元のデータを符号化してもよい。
【００３９】
このように、制御部１は、符号化部１１に符号化させることによって、データ領域に格納するデータのＥＣＣ値を全て「１」とすることができる。制御部１は、符号化部１１が符号化したデータをデータ領域に格納し、全ての値が「１」であるＥＣＣ値をスペア領域に格納する。制御部１は、このデータ領域に対してさらにデータの書き込みを行う場合（上書きする場合）も、データ領域に格納するデータ（上書き用のデータ）を符号化部１１に符号化させる。これにより、制御部１は、データ領域に上書きするデータのＥＣＣ値を全て「１」とすることができる。この場合のスペア領域に格納されるＥＣＣ値は、全てが「１」のまま変化しない。このように、符号化部１１がデータを符号化することによって、制御部１による不揮発性メモリ２へのデータの上書きが可能となる。なお、制御部１は、データ領域のビットを「０」から「１」に変化させるような上書きはできないので、この場合は、上書きを行わない。
【００４０】
スペア領域に格納されるＥＣＣ値が「０」を含む場合にデータ領域のデータが上書きされると、データ領域のデータのＥＣＣ値とスペア領域のＥＣＣ値とが異なることとなり、ＥＣＣエラーが発生する。本実施の形態では、制御部１が、データ領域のデータのＥＣＣ値が全て「１」となるよう、データ領域に書き込むデータを符号化するので、データ領域にデータを上書きしてもＥＣＣ値は全て「１」のままである。したがって、データ領域にデータを上書きした場合であっても、データの上書きが原因のＥＣＣエラーの発生を防止できる。
【００４１】
また、制御部１は、データ領域のデータを上書きできるので、データ領域のデータの消去回数を抑制することができる。したがって、制御部１は、データ領域の劣化を抑制することができる。
【００４２】
ここで、データ記録装置１００のハードウェア構成について説明する。図４は、実施の形態１にかかるデータ記録装置のハードウェア構成例を示す図である。データ記録装置１００を構成する構成要素の一部又は全部の機能は、プロセッサ１０１およびメモリ１０２により実現することができる。
【００４３】
プロセッサ１０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Digital  Signal  Processor）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ１０２の例は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリである。
【００４４】
データ記録装置１００の一部の機能は、プロセッサ１０１が、メモリ１０２で記憶されている、データ記録装置１００の動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、データ記録装置１００の手順または方法をコンピュータに実行させるものであるともいえる。メモリ１０２は、プロセッサ１０１が各種処理を実行する際の一時メモリにも使用される。
【００４５】
なお、データ記録装置１００の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。すなわち、データ記録装置１００の一部の機能を図４に示したプロセッサ１０１およびメモリ１０２で実現し、残りの機能を専用の処理回路で実現するようにしてもよい。
【００４６】
このように実施の形態１によれば、符号化部１１が、データ領域内のデータのＥＣＣ値が全て「１」となるようにデータを符号化するので、データを格納済みのデータ領域に対してデータを上書きした場合であってもデータの上書きが原因のＥＣＣエラーの発生を防止することができる。
【００４７】
実施の形態２．
つぎに、この発明の実施の形態２について説明する。実施の形態２では、データ記録装置１００が、データ領域に格納されるデータを管理するための管理情報を、符号化部１１に符号化させた後に、特定のデータ領域に格納する。データ記録装置１００は、データ領域内で管理情報を上書きする。
【００４８】
データ領域に格納されるデータを管理するための管理情報は、例えば、データ領域が未使用か否かを示す情報、データ領域が不良ブロックであるか否かを示す情報、データ領域の論理アドレス、データ領域のセクタ番号などである。
【００４９】
制御部１は、管理情報をページＰｘ毎に管理する。すなわち、データ領域に格納される管理情報は、各ページＰｘの管理情報を含んでいる。制御部１は、ページＰｘが未使用である場合は、このページＰｘの管理情報を示すビットの全てを「１」にする。また、制御部１は、ページＰｘに意味のあるデータが格納されている場合には、このページＰｘの管理情報に、格納されているデータを特定するためのＩＤ（Identification）番号を設定する。ＩＤ番号の例は、論理アドレス、セクタ番号である。また、制御部１は、ページＰｘのデータが使用済みとなり、ページＰｘのデータを消去可能な場合は、このページＰｘの管理情報を示すビットの全てを「０」にする。
【００５０】
制御部１は、例えば、各ブロックＢｘのページＰ０のデータ領域に、ブロックＢｘ内の他のページの管理情報を格納する。不揮発性メモリ２の初期状態は、全てのページＰ０〜ＰＭが未使用であるので、各ページの管理情報は全て「１」である。
【００５１】
例えば、ページＰ１にＩＤ番号＝３のデータが書き込まれる場合、ページＰ１の管理情報はＩＤ番号＝３となる。したがって、制御部１は、このＩＤ番号＝３を、符号化部１１に符号化させ、ページＰ０のデータ領域に格納されている管理情報に上書きする。このとき、符号化部１１は、ＥＣＣ値が全て「１」となるようＩＤ番号＝３を符号化する。したがって、スペア領域に格納されているＥＣＣ値は全て「１」のまま変化しない。
【００５２】
続いて、ページＰ２にＩＤ番号＝５のデータが書き込まれる場合、ページＰ２の管理情報はＩＤ番号＝５となる。したがって、制御部１は、このＩＤ番号＝５を、符号化部１１に符号化させ、ページＰ０のデータ領域に格納されている管理情報に上書きする。この上書きでも、符号化部１１は、ＥＣＣ値が全て「１」となるようＩＤ番号＝５を符号化する。したがって、スペア領域に格納されているＥＣＣ値は全て「１」のまま変化しない。
【００５３】
その後、ページＰ１に格納されているＩＤ番号＝３のデータが不要となった場合、ページＰ１の管理情報は、使用済みを示す情報（全て「０」）となる。したがって、制御部１は、ページＰ１の管理情報のデータ（全て「０」）を、符号化部１１に符号化させ、ページＰ１のデータ領域に格納されている管理情報に上書きする。この上書きでも、符号化部１１は、ＥＣＣ値が全て「１」となるようデータを符号化する。したがって、スペア領域に格納されているＥＣＣ値は全て「１」のまま変化しない。
【００５４】
このように、ページＰ０に格納された管理情報は、未使用の状態から最終的に使用済みとなるまで、消去されることなく、上書きすることができる。
【００５５】
なお、ページＰ０に格納される管理情報以外のデータ、すなわちページＰ０以外の他のページに格納される意味のあるデータは、実施の形態１の方法によって上書きされてもよいし、上書きされなくてもよい。制御部１は、ページＰ０以外のページにおいてデータを上書きしない場合、符号化部１１に符号化させる必要はない。この場合、制御部１は、元のデータをそのままデータ領域に書き込めばよい。また、制御部１は、元のデータを一般的な符号化処理によって符号化してからデータ領域に書き込んでもよい。
【００５６】
本実施の形態では、各ブロックＢｘのページＰ０に、自らのブロックＢｘ内のページＰ０以外の他のページの管理情報を格納する場合について説明したが、制御部１は、ページＰ０以外の他の領域に管理情報を格納してもよい。制御部１は、例えば、ページＰ１に管理情報を格納してもよいし、ページＰ０，Ｐ１以外の別のページに管理情報を格納してもよい。また、ブロックＢ０の各ページに、他のブロックの各ページの管理情報を格納してもよい。
【００５７】
仮に、各ページの管理情報が、ページ毎のスペア領域に格納される場合、各スペア領域から管理情報が読み出される必要があるので、全ての管理情報を読み出すのに長時間を要する。一方、制御部１は、管理情報を特定の領域にまとめて格納している。これにより、制御部１は、管理情報を短時間で読み出すことできる。
【００５８】
また、管理情報が特定のデータ領域にまとめて格納される場合であっても、管理情報が上書きのできない態様でデータ領域に格納されると、管理情報が更新されるたびに、データ領域の管理情報が消去されて、新しい管理情報が書き込まれることとなる。この場合、管理情報を格納するデータ領域の劣化が早められてしまう。一方、本実施の形態の制御部１は、管理情報のＥＣＣ値が全て「１」となるよう、符号化部１１に管理情報を符号化させている。これにより、制御部１は、管理情報を格納するデータ領域の消去回数を抑制することができるので、データ領域の劣化を抑制することができる。
【００５９】
このように、実施の形態２によれば、制御部１が、データ領域のうちの特定のデータ領域に、管理情報をまとめて格納するので、データ領域の劣化を抑制することが可能となる。
【００６０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６１】
１  制御部、２  不揮発性メモリ、１１  符号化部、１２  復号化部、１００  データ記録装置、１０１  プロセッサ、１０２  メモリ。
【図１】
2020194428.tif 000003
【図２】
2020194428.tif 000004
【図３】
2020194428.tif 000005
【図４】
2020194428.tif 000006