(57)【要約】【課題】多値ＮＡＮＤフラッシュメモリを用いた場合において、発生した記録エラーによる重要なデータの破壊を防止する。【解決手段】メモリカードは、記憶領域を構成するｎ個（ｎは２以上の整数）の不揮発性メモリモジュール（２２１〜２２４）と、ｎ個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含む。ｎ個のメモリモジュールが所定のサイズ毎にストライピングされる。メモリカードのコントローラは、更新頻度の高いデータを、メモリモジュールのストライピングの順序における第２番目から第ｎ番目までのメモリモジュール（２２１〜２２４）のうちのいずれか１つに配置する。更新頻度の高いデータには、メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つが含まれる。【選択図】図２
2010015222.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域を構成するｎ個（ｎは２以上の整数）の不揮発性メモリモジュールと、
前記ｎ個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含むメモリカードであって、
前記ｎ個のメモリモジュールが所定のサイズ毎にストライピングされ、
前記コントローラは、前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つを、前記メモリモジュールのストライピングの順序における第２番目から第ｎ番目までのメモリモジュールのうちのいずれか１つに配置する
ことを特徴とするメモリカード。
【請求項２】
前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つが配置されるメモリモジュールは、前記メモリモジュールのストライピングの順序における第ｎ番目のメモリモジュールである、請求項１に記載のメモリカード。
【請求項３】
記憶領域を構成するｎ個（ｎは２以上の整数）の不揮発性メモリモジュールと、
前記ｎ個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含むメモリカードであって、
前記ｎ個のメモリモジュールが所定のサイズ毎にストライピングされ、
前記コントローラを動作させるプログラムデータが、前記ｎ個のメモリモジュールのうちの少なくとも１つのメモリモジュールに格納され、
前記コントローラは、前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つを、前記プログラムデータを格納したメモリモジュールとは異なるメモリモジュールに配置する、
ことを特徴とするメモリカード。
【請求項４】
前記プログラムデータが配置されるメモリモジュールは、前記メモリモジュールのストライピングの順序における第ｎ番目のメモリモジュールである、請求項３に記載のメモリカード。
【請求項５】
前記各メモリモジュールは、通常の書き込み命令や読み出し命令を使ってアクセス可能な通常記録領域と、所定の命令によってのみアクセスが可能な特殊記録領域とを有し、
前記コントローラは、前記メモリモジュールの前記特殊記録領域に、前記メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つを配置する、請求項１から４のいずれか１つ記載のメモリカード。
【請求項６】
前記メモリモジュールは多値ＮＡＮＤ型フラッシュメモリである、請求項１から５のいずれか１つに記載のメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記録媒体、特に不揮発性メモリ素子を用いたメモリカードに関する。
【背景技術】
【０００２】
フラッシュメモリなど書換え可能な不揮発性メモリ素子を内蔵したメモリカードが近年普及しつつあり、メモリカードに用いられるフラッシュメモリの種類としては、大容量で低コストの多値ＮＡＮＤ型のフラッシュメモリが使われ始めている。しかし、多値ＮＡＮＤフラッシュメモリは、特許文献１に記載されるように、ある記録領域にデータを書き込む際に記録エラーが発生すると、その記録領域だけでなく、他の記録領域に保持されたデータも変化する（データが壊れる）場合があるという課題がある。
【０００３】
記録エラー時にデータが壊れる領域は、特許文献１に記載のように、メモリセルを共有するページの関係や、メモリセルの共有範囲などが影響する。従って、記録エラーの発生時にどの記録領域のデータが壊れるかは、メモリカードの内部構成や内部コントローラの制御方法によって異なる。
【０００４】
パソコンやカメラ機器などのホスト機器には、様々な品種のメモリカードが装着される。しかし、ホスト機器が個々のメモリカードの内部構成や内部コントローラの制御方法までは把握できない。ホスト機器がメモリカードへのデータ記録時にエラーが発生した場合、エラーが発生した記録領域の他に、メモリカード内の何処の記録領域のデータも壊れたか、ホスト機器が予測することは困難である。ホスト機器から見ると、記録エラーの発生時に、ランダムにどこかのアドレスのデータも壊れた可能性がある、という程度しか把握できない。
【０００５】
また、メモリカードに記録された映像などのデータは、一般にファイルシステムによってファイルとして管理されている。ファイルシステムは、個々のファイルのサイズや記録更新の日時、クラスタやセクタなどの記録領域の使用状況や空き状況などを管理し、これらをファイル管理情報として、映像などのデータと共に記録媒体に記録する。メモリカードが装着されたホスト機器は、このファイル管理情報を頼りに所望のデータにアクセスするため、ファイル管理情報は重要な情報である。
【０００６】
また、フラッシュメモリなどのメモリ素子は書換え可能な回数に上限があり、書換え寿命が存在する。あるメモリカードに対して、これまでに累計で何回の書換えを行なったか、など、書換え回数のカウント値をメモリカード内に保持させれば、カードの書換え寿命を管理することができる。
【０００７】
しかし、ホスト機器がメモリカードの書換え回数のカウント値を更新するのは煩雑であり、メモリカード内部のコントローラが自動的に書換えカウント値を更新する方が便利である。ホスト機器は、メモリカードへのデータ書き込みだけをすれば良く、カード内のコントローラが自動的にホストからのデータ書き込み量や書き込み回数に応じた値をメモリカード内のカウント値に加算し更新すれば良い。
【０００８】
以上のような背景技術を踏まえ、従来のメモリカードについて図５を用いて説明する。
メモリカード３００がパソコンやメモリカメラなどのホスト機器に装着されると、インタフェース３３０を介して、ホスト機器からのデータ書き込み命令やデータ読み出し命令がコントローラ３１０に指示される。コントローラ３１０はホスト機器からの命令を解釈し、必要なメモリモジュール３２１〜３２４にアクセスし、ホスト機器とメモリモジュール間のデータのやり取りを制御する。ホスト機器からデータの書き込み命令があった場合、コントローラ３１０はインタフェース３３０を介してホスト機器から送られてくるデータをメモリモジュール３２１〜３２４へ記録するだけでなく、適切なタイミングで、書換え回数のカウント値を更新する。
【０００９】
コントローラ３１０は制御動作がプログラム可能な構成であったり、または、コントローラ３１０内にＣＰＵを内蔵したりする場合が多い。このため、コントローラ３１０の制御プログラムを例えば別メモリモジュール３４０に格納しておき、メモリカード３００の起動時にコントローラ３１０が別メモリモジュール３４０からプログラムをロードし、制御動作を開始する。
【００１０】
メモリカード内のコントローラのプログラムや、前述の書換え回数のカウント値などは、別メモリモジュール３４０に格納すれば良い。しかし、これらのデータをメモリモジュール３２１〜３２４に格納すれば、別メモリモジュール３４０は不要となり、メモリカードのコストを削減することができる。しかし、この場合次のような課題が発生する。
【特許文献１】特開２００６−３１８３６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
メモリカードのメモリモジュールに多値ＮＡＮＤフラッシュメモリを用いた場合、同じ多値ＮＡＮＤメモリモジュール上に格納された書換え回数のカウント値を更新する際に記録エラーが発生すると、他の記録領域のデータまで壊れる可能性がある。壊れたデータが前述のファイルシステムのファイル管理情報だった場合、ホスト機器は所望のファイルデータにアクセスできなくなる。また、壊れたデータがメモリカード内のコントローラの制御プログラムだった場合は、コントローラが動作不能となり、メモリカードに格納されたデータにはアクセス不能となる。
【００１２】
本発明ではこの課題を解決し、多値ＮＡＮＤフラッシュメモリを用いた場合でも、記録エラーの発生時に、重要なデータまで壊れることを防止することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る第１のメモリカードは、記憶領域を構成するｎ個（ｎは２以上の整数）の不揮発性メモリモジュールと、ｎ個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含む。メモリカードにおいて、ｎ個のメモリモジュールが所定のサイズ毎にストライピングされる。コントローラは、更新頻度の高いデータを、メモリモジュールのストライピングの順序における第２番目から第ｎ番目までのメモリモジュールのうちのいずれか１つに配置する。更新頻度の高いデータには、メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つが含まれる。
【００１４】
本発明に係る第２のメモリカードは、記憶領域を構成するｎ個（ｎは２以上の整数）の不揮発性メモリモジュールと、ｎ個のメモリモジュールに対するデータの書き込み、読み出しを制御するコントローラとを含む。メモリカードにおいて、ｎ個のメモリモジュールが所定のサイズ毎にストライピングされる。コントローラを動作させるプログラムデータのような重要度の高いデータが、ｎ個のメモリモジュールのうちの少なくとも１つのメモリモジュールに格納される。コントローラは、メモリカードに対する書換え回数、書換えデータ量、書換えブロック数及び書換え寿命に対する消耗の度合いの情報のうちの少なくとも１つを、プログラムデータを格納したメモリモジュールとは異なるメモリモジュールに配置する。
【発明の効果】
【００１５】
本発明によれば、メモリカードの書換え回数など、更新頻度の高いデータを、ストライプの先頭を避けて配置するため、多値ＮＡＮＤフラッシュメモリを用いた場合に記録エラーが発生しても、ストライプ単位の先頭のデータは保護される。従って、ファイルシステムの管理情報など、フォルダの先頭領域が保護されることでファイルエントリの破壊の危険性を低減する効果がある。
【００１６】
また、メモリカードのコントローラを動かすのに必要なプログラムデータなどの重要度の高いデータが、更新頻度の高いデータと異なるストライプに配置されることで、プログラムデータの破壊の危険性を低減する効果がある。更新頻度の高いデータや、重要度の高いデータを格納するために、別途メモリモジュールを設けて格納する必要がなくなり、余分なコストをかけずにメモリカードを構成することが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について、添付の図面を参照して説明する。
【００１８】
（実施の形態１）
図１は、本発明の実施形態のメモリカードの内部構成を表した図である。図１において、メモリカード２００は、メモリカード２００の動作制御を行うコントローラ２１０と、データを記憶するメモリモジュール２２１〜２２４と、パソコンやメモリカメラ等のホスト機器との間で通信を行うためのインタフェース２３０とを備える。メモリモジュール２２１〜２２４は多値ＮＡＮＤ型フラッシュメモリである。コントローラ２１０は例えばＣＰＵで構成され、プログラムデータをロードし実行することで所定の機能を実現する。
【００１９】
メモリカード２００がホスト機器のカードスロットに装着されると、インタフェース２３０を介して、ホスト機器から、データ書き込みや読み出し命令を受信する。コントローラ２１０はホスト機器からの命令を解釈し、必要なメモリモジュール２２１〜２２４にアクセスし、ホスト機器とメモリモジュール間のデータのやり取りを制御する。すなわち、コントローラ２１０はホスト機器からの命令にしたがいメモリモジュール２２１〜２２４に対して書き込みや読み出しを行う。コントローラ２１０にはメモリモジュール２２１〜２２４が並列に接続されており、コントローラ２１０はデータの書き込みや読み出しを各メモリモジュール２２１〜２２４に対して同時（並列）に実行でき、これにより高速なデータ書き込みや読み出しが行なわれる。
【００２０】
このようにコントローラ２１０に並列に接続されたメモリモジュール２２１〜２２４に対して同時にデータ書き込みや読み出しを行なうためには、ホスト機器から見たメモリ空間を適当なサイズ毎に各メモリモジュールに順に割り当てる必要がある。これを一般に「ストライプ」や「ストライピング」と呼ぶ。
【００２１】
図２に、本実施形態におけるメモリカード２００の記録領域の割り当てを示す。メモリカードの全記録領域１００は、４つのメモリモジュール２２１〜２２４により構成される。メモリカードの全記録領域１００は通常記録領域１３１と特殊記録領域１３０と１３２に分けられる。
【００２２】
特殊記録領域１３０は領域１４１〜１４４を含む。領域１４１はメモリモジュール２２１の先頭領域であり、領域１４２はメモリモジュール２２２の先頭領域であり、領域１４３はメモリモジュール２２３の先頭領域であり、領域１４４はメモリモジュール２２４の先頭領域である。また、特殊記録領域１３２は領域１５１〜１５４を含む。領域１５１はメモリモジュール２２１の末尾領域であり、領域１５２はメモリモジュール２２２の末尾領域であり、領域１５３はメモリモジュール２２３の末尾領域であり、領域１５４はメモリモジュール２２４の末尾領域である。
【００２３】
領域ｍ０〜ｍ９９はストライプ単位に区切られた記録領域であり、４つのメモリモジュール２２１〜２２４で構成される。ホスト機器から見たメモリ空間１１０は領域ｍ０〜ｍ９９からなる。メモリ空間１１０はメモリカードの通常記録領域１３１に対応する。
【００２４】
前述のようにメモリカードの全記録領域１００は４つのメモリモジュール２２１〜２２４で構成されている。このうち、各メモリモジュール１２１〜１２４の先頭部分１４１〜１４４と、末尾部分１５１〜１５４を除いた残りの部分を通常記録領域１３１として、ホスト機器へ開放している。ホスト機器からは通常記録領域１３１が、メモリ空間１１０として見える。ホスト機器はメモリ空間１１０に対して、通常の書き込み命令や読み出し命令を使ってアクセスすることができる。一方で、特殊記録領域１３０、１３２は、ホスト機器から通常の書き込み命令や読み出し命令ではアクセスできない領域である。ベンダユニークコマンドなどの特殊な命令をホスト機器が発行した場合のみ、特殊記録領域１３０、１３２にアクセスすることができる。
【００２５】
通常記録領域１３１は４つのメモリモジュール２２１〜２２４がストライプされており、例えばストライプ単位を８ＫＢ（キロバイト）とすると、ストライプ単位に区切られた個々の記録領域ｍ０〜ｍ９９は、それぞれ８ＫＢの記録領域となる。ホスト機器はメモリ空間１１０に対して、例えばｍ０〜ｍ３の範囲をアクセスすると、メモリカード２００内部ではｍ０〜ｍ３はそれぞれ異なる４つのメモリモジュール１２１〜１２４に割り当てられているので、４つのメモリモジュールが同時に動作することが可能となる。この並列動作によって、ホスト機器のアクセス命令に対して高速にデータを読み、書きすることが可能となる。本実施形態においてストライピングの順序は、メモリモジュール２２１、メモリモジュール２２２、メモリモジュール２２３、メモリモジュール２２４の順とする（以降の実施形態においても同じ）。
【００２６】
図３はメモリカード２００をファイルシステムで管理した場合の記録領域を説明した図である。図３において、領域４２０はファイルシステムの管理単位であり、ファイルエントリ４３１〜４３３は、空き領域４３４〜４３９を含む。
【００２７】
通常、ホスト機器側に搭載されるファイルシステムは、メモリカードの記録領域を所定のサイズからなる管理単位で管理する。ファイルシステムの管理単位４２０は、ファイルシステムの種類によって呼称が異なり、例えば「セクタ」や「クラスタ」と呼ばれる。また、この管理単位４２０はファイルシステムの設定によってサイズが異なる。ここでは、一例としてファイルシステムの管理単位４２０を「クラスタ」と呼び、管理単位４２０のサイズを３２ＫＢとする。ファイルシステムは、１クラスタ（＝３２ＫＢ）の管理単位でメモリカード２００の記録領域を管理することになる。前述の図２において、ｍ０〜ｍ９９のストライプ単位を８ＫＢとすると、１クラスタは８ＫＢずつ、４つのストライプ単位から構成されることになり、１クラスタ内は、８ＫＢずつ異なるメモリモジュール２２１〜２２４に割り当てられることになる。
【００２８】
ここで、ホスト機器のファイルシステムには複数のファイルを格納するフォルダ（またはディレクトリ）の仕組みがあるとする。図３の管理単位４２０に１つのフォルダを割り当てると、フォルダ内には多数のファイルエントリを格納することができる。ファイルエントリとは、ファイルの名前やサイズ、作成や更新された日時、使用している記録領域など、ファイルに関する種々の情報が含まれたファイルシステムの管理情報のことである。図３では、管理単位４２０を１つのフォルダとして、その中にファイルエントリ４３１〜４３３が格納されている。これはホスト機器から見ると、１つのフォルダに３つのファイルが格納されている状態として見える。図３において、領域４３４〜４３９まではフォルダ内の空き領域であり、ここにはファイルエントリは存在しない。
【００２９】
ここで、本実施形態のメモリカードは、フラッシュメモリの書換え回数のカウント値など、更新頻度の高いデータを配置する場所に大きな特徴がある。すなわち、本実施形態のメモリカードでは、更新頻度の高いデータをメモリモジュール２２４の先頭部分１４４または末尾部分１５４に配置する。これらの領域１４４、１５４は特殊領域であり、ホスト機器から通常の読み出し命令や書き込み命令ではアクセスできない領域である。さらには、これらの領域１４４、１５４は、ストライピングの順序で最後のメモリモジュールに位置する。以下ではこの配置による作用を説明する。
【００３０】
まず、図２において、メモリモジュール２２４の先頭部分１４４、または、末尾部分１５４は、ホスト機器から見えるメモリ空間１１０には割り当てられていないため、通常の書き込み命令で上書きされることはない。そこで、先頭部分１４４、または、末尾部分１５４に、本メモリカードの書換え回数のカウント値を配置すれば、誤ってホスト機器にカウント値を上書きされる心配はない。また、先頭部分１４４と末尾部分１５４は、メモリモジュール２２４の一部であるため、多値ＮＡＮＤフラッシュメモリ上の領域である。ここに配置された書換え回数のカウント値を図１のコントローラ２１０が更新する際に、記録エラーが発生する可能性がある。その場合、メモリモジュール２２４上のいずれかのデータも同時に壊れる可能性がある。仮に、メモリモジュール２２４の先頭部分１４４に書換え回数のカウント値を配置した場合に、その更新時に記録エラーが発生し、同じメモリモジュール１２４上の記録領域ｍ７のデータが壊れたと想定する。ここで、図３に示すように、ｍ７に相当する領域はファイルシステムのフォルダに割り当てられているが、ファイルエントリ情報は存在しない空き領域である。従って、記録領域ｍ７のデータが壊れたとしても、既存のファイルアクセスには何ら影響がないことが分かる。
【００３１】
すなわち、本実施形態のメモリカードでは、更新頻度の高いデータをストライピングの順序の先頭を避けて、なるべくストライピングの順序の最後の方へ配置する。ストライプの先頭に配置することにより、記録エラーの発生時に、ストライプ先頭のメモリモジュール上のどこかのデータが壊れる可能性があり、ファイルシステムの管理単位、この場合は各クラスタの先頭部分が壊れることになる。これは図３において、例えば領域ｍ０やｍ４が破壊される可能性が高くなり、領域ｍ４が破壊された場合は、ファイルエントリ４３１〜４３３が無効なデータとなる。ファイルエントリ情報が無効なデータになると、ホスト機器はメモリカードに格納されたファイルにアクセスすることが不能となる。
【００３２】
本実施形態では、ファイルシステムの管理単位を３２ＫＢとし、メモリカードのストライプ数を４ストライプ、ストライプ単位を８ＫＢとした。仮にファイルエントリが１つあたり３２バイトとすると、１つの管理単位３２ＫＢに格納可能なファイルエントリ数は、３２ＫＢ÷３２＝１０２４個となる。もし、書換え回数のカウント値など、更新頻度の高いデータをストライピングの順序での最後に配置すれば、先頭のストライプから最後のストライプの１つ前まで、つまり、ストライプ単位３個までは安全であるため、ストライプ３個分のファイルエントリ数、すなわち、７６８個（＝８ＫＢ÷３２×３個）のファイルエントリまでは、記録エラーによるデータ破壊が避けられる。
【００３３】
また、図２において、メモリモジュール２２４の先頭部分１４４や末尾部分１５４が、他の目的で使われている場合、更新頻度の高いデータをメモリモジュール２２３の先頭部分１４３や末尾部分１５３に配置する場合も考えられる。この場合はストライピングの順序で３番目に配置されるため、ストライプ単位２個分のファイルエントリ数については本実施形態の効果が得られることになる。ストライプ単位２個分のファイルエントリ数、すなわち、５１２個（＝８ＫＢ÷３２×２個）のファイルエントリまでは、記録エラーによるデータ破壊が避けられる。
【００３４】
同様に、ストライピングの順序の２番目である先頭部分１４２や末尾部分１５２に配置した場合も、データ破壊が避けられるファイルエントリ数は少なくなるが、本実施形態の効果を得ることができる。このように、更新頻度の高いデータをストライプの先頭を避けて配置すれば、本実施形態の効果を得ることができる。
【００３５】
コントローラ２１０は、メモリモジュール２２１〜２２４のストライプ単位やストライピングの順序を制御する。また、コントローラ２１０は、ホスト機器に対して、各メモリモジュールのどの範囲をメモリ空間として見せるかを制御する。そして、書換え回数のカウント値など更新頻度の高いデータを、ストライピングの順序の先頭を避けて、ストライピングの順序の先頭でないメモリモジュール上の、さらに、ホスト機器にメモリ空間として見せない領域に配置するように制御する。このようなコントローラ２１０の制御動作は、コントローラに内蔵されたＣＰＵなどのプログラムとして実装することが可能である。これによって、本実施形態のメモリカード２００の動作を実現することができる。
【００３６】
（実施の形態２）
次に、本発明の第２の実施形態について説明する。本実施形態のメモリカードは実施の形態１と同様に図１に示す構成を有する。図４に、本実施形態のメモリカードの記録領域の割り当てを示す。
【００３７】
本実施形態では、メモリカード２００のコントローラ２１０のプログラムデータをメモリカード２００内のメモリモジュールに配置する方法について説明する。プログラムデータとは、コントローラ２１０が所望の制御動作を実行するためにロードするプログラムのことである。
【００３８】
図４において、書換え回数のカウント値など更新頻度の高いデータを、メモリモジュール２２４の先頭部分１４４または末尾部分１５４に配置する。メモリモジュール１２４はストライピングの順序の最後に位置する。ストライピングの順序の最後のメモリモジュール上に更新頻度の高いデータを配置する効果は実施形態１で説明した通りである。本実施形態では、コントローラ２１０のプログラムデータを配置する際には、メモリモジュール２２４を避けて、メモリモジュール２２１〜２２３の先頭部分１４１〜１４３や末尾部分１５１〜１５３のいずれかに配置する。以下ではこの作用について説明する。
【００３９】
本実施形態では、コントローラ２１０のプログラムデータは、メモリモジュール２２１〜２２３の先頭部分１４１〜１４３や末尾部分１５１〜１５３に配置される。これらの記録領域はホスト機器から見えるメモリ空間１１０には割り当てられていないため、ホスト機器は通常の書き込み命令や読み出し命令ではアクセスすることができない。従って、ホスト機器が誤ってコントローラ２１０のプログラムデータを無効なデータで上書きすることを防止できる。
【００４０】
さらに、書換え回数のカウント値など更新頻度の高いデータを、ストライピングの順序で最後のメモリモジュール２２４の先頭部分１４４や末尾部分１５４に配置したことで、書換え回数のカウント値を更新する際に記録エラーが発生すると、メモリモジュール１２４上のいずれかの領域のデータも壊れる可能性がある。しかし、コントローラのプログラムデータは、メモリモジュール１２４を避けて、メモリモジュール１２１〜１２３の先頭部分１４１〜１４３や末尾部分１５１〜１５３に配置されているため、プログラムデータの破壊を逃れることができる。コントローラのプログラムデータが正常であれば、コントローラ２１０が正常に機能し、ホスト機器からのメモリカード２００へのデータアクセスが可能となる。
【００４１】
このように本実施形態では、書換え回数のカウント値など更新頻度の高いデータと、メモリカード２００内のコントローラ２１０のプログラムデータなど重要度の高いデータを、ストライプの異なるメモリモジュールに配置する。この方法によって、多値ＮＡＮＤフラッシュメモリを用いた場合でも、別メモリモジュールのような部品を追加する必要がなく、通常のメモリモジュール上にデータを配置できるため、メモリカードのコストを抑えることができる。
【００４２】
なお、本実施形態では、４個のメモリモジュールをストライプさせた例で説明したが、ストライプの数はこれに限らず、複数個のメモリモジュールで、複数のストライプを構成するメモリカードであれば、本実施形態の思想を適用することができる。
【００４３】
なお、本実施形態では、メモリモジュールの先頭領域または末尾領域に特定のデータを配置する例を説明したが、これに限らず、ホスト機器がアクセス可能な通常のメモリ空間において割り当てていない領域であれば、メモリモジュールの先頭や末尾でなくとも、その領域に特定のデータを配置するようにしてもよい。
【００４４】
なお、本実施形態では、更新頻度の高いデータとして、メモリカードの書換え回数のカウント値を例に説明したが、これに限らず、メモリカードの稼動履歴、メモリカードのエラー発生のログ情報、メモリカードが使用された温度や電圧などの履歴情報、メモリカードの個体識別情報、メモリカードの製造者や所有者に関する情報等の、メモリカードを使用する上で更新する可能性のあるデータを、更新頻度の高いデータとしてもよい。これらのデータに対しては、更新の際に記録エラーが発生する可能性があり、よって、上記実施形態の思想を適用することが有効となる。
【００４５】
なお、本実施形態では、重要度の高いデータとして、メモリカード内のコントローラのプログラムデータを例に説明したが、これに限らず、メモリカードの稼動履歴、メモリカードのエラー発生のログ情報、メモリカードが使用された温度や電圧などの履歴情報、メモリカードの個体識別情報、メモリカードの製造者や所有者に関する情報、メモリカードのスペック情報など、データ破壊を防止したいデータを重要度の高いデータとしてもよい。これらのデータを、更新頻度の高いデータと別々のストライプのメモリモジュールに配置することで、本実施形態の効果を得ることができる。
【００４６】
なお、本実施形態では、メモリカードの書換え回数という表現を用いたが、これに限らず、メモリカードの書換えデータ量、書換えブロック数、書換え寿命に対する消耗の度合いや、残りの書換え可能な回数、残りの書換え可能なデータ量、残りの書換え可能なブロック数など、メモリカードの書換え寿命を管理できるデータであれば、同等の意味として扱うことができる。
【産業上の利用可能性】
【００４７】
以上のように、本発明のメモリカードは、多値ＮＡＮＤフラッシュメモリなど、記録エラー時に他の記録領域のデータも壊れる可能性のあるメモリ素子を用いてメモリカードを構成する際に利用される。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態のメモリカードの構成を示した図
【図２】本発明の第１の実施形態のメモリカードの記憶領域の割り当てを示した図
【図３】本実施形態のメモリカードをファイルシステムで管理した場合の記録領域を説明した図
【図４】本発明の第２の実施形態のメモリカードの記憶領域の割り当てを示した図
【図５】従来のメモリカードの構成を示した図
【符号の説明】
【００４９】
１００    メモリカードの全記録領域
１１０    ホスト機器から見たメモリ空間
１３１    メモリカードの通常記録領域
１３０、１３２  メモリカードの特殊記録領域
１４１〜１４４  メモリモジュールの先頭領域
１５１〜１５４  メモリモジュールの末尾領域
２００  メモリカード
２１０  コントローラ
２２１〜２２４  メモリモジュール
２３０  インタフェース
ｍ０〜ｍ９９  ストライプ単位に区切られた記録領域
【図１】
2010015222.tif 000003
【図２】
2010015222.tif 000004
【図３】
2010015222.tif 000005
【図４】
2010015222.tif 000006
【図５】
2010015222.tif 000007