説明

アクセス装置

【課題】重要データのより確実な保護ができ得るアクセス装置を提供する
【解決手段】メモリアクセス装置10は、論理メモリ空間を管理するファイルシステム装置14と、論理メモリ空間と物理メモリ空間との対応関係を記憶するとともに、当該対応関係に基づいてフラッシュメモリに物理的にアクセスするドライバ装置12と、を備えている。フラッシュメモリは、複数のストリングに物理的に分割されている。ファイルシステム装置12は、メモリ空間をROまたはRWのいずれかに設定された複数のパーティションに分割して管理する。ドライバ装置12は、各ストリングを単一の論理パーティションを対応させることで、一つのストリングに記憶されるデータの書込制限種類を統一させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物理的に電荷制御が独立した複数のストリングに分割されたフラッシュメモリへのデータの読み書きを制御するアクセス装置に関する。
【背景技術】
【0002】
フラッシュメモリは、電源オフ後もデータを保持できること、また、サイズが小さいこと、などの利点を有している。そのため、従来から、様々な機器、例えば、デジタルカメラなどの記録媒体として多用されている。かかるフラッシュメモリへのデータ読み書きの制御に関しては、従来からの技術を利用できる。例えば、下記特許文献1,2などの技術を利用できる。
【0003】
【特許文献1】特開2003−346106号公報
【特許文献2】特開平11−110984号公報
【特許文献3】特開平7−287604号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、フラッシュメモリには、上記のような利点がある一方で、ドレインディスターブと呼ばれる現象によりデータ破損が生じるという恐れもあることが知られている。ドレインディスターブは、フラッシュメモリを物理的に構成するブロック間において、データの書換回数の差が大きくなった際に生じる。かかるドレインディスターブに起因するデータ破損は、フラッシュメモリの信頼性を損ない、また、場合によっては、当該フラッシュメモリを記録媒体として利用している機器の制御に悪影響を与える。
【0005】
そこで、特許文献3では、不揮発性メモリへのデータ書込み回数の超過によるデータ破壊を防止する技術が開示されている。この特許文献3では、メモリへの書込み回数を当該メモリに記憶し、データ書き込みに先立って、記憶された回数を確認している。これにより、書き込み回数超過によるデータ破壊を低減できる。
【0006】
しかしながら、特許文献3では、書き込み回数を超過する場合にはデータ書き込みを行わないため、データ記録がNGになる。換言すれば、特許文献3に記載の技術では、メモリを使用できない場合があり、結果的には、当該メモリが搭載された機器の正常動作を阻害する。
【0007】
また、一つのメモリに記憶される複数のデータの重要度は、必ずしも均等ではなく、データ種類によって重要度が異なることが多い。特許文献1〜3に記載の技術は、かかる重要度の違いを一切考慮していない。そのため、特許文献1〜3では、各データの重要度に応じたデータ保護、特に、重要データのより確実な保護がなされているとは言い難かった。
【0008】
そこで、本発明では、重要データのより確実な保護ができ得るアクセス装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明のアクセス装置は、物理的に電荷制御が独立した複数のストリングに分割されたフラッシュメモリへのデータの読み書きを制御するアクセス装置であって、論理メモリ空間を、書込制限種類がリードオンリーまたはリライタブルのいずれかに設定された複数のパーティションに分割して管理する上位管理手段と、物理メモリ空間構成と論理メモリ空間構成との対応関係を記憶するとともに、上位管理装置からフラッシュメモリへのデータ読み書き指示があった場合に、当該対応関係に基づいてフラッシュメモリへのデータ読み書きを行う下位管理手段と、を備え、下位管理手段は、各ストリングを単一のパーティションを対応させることで、一つのストリングに記憶されるデータの書込制限種類を統一させることを特徴とする。
【0010】
好適な態様では、下位管理手段は、ストリングとパーティションとの対応関係として、各ストリングを物理的に構成する複数のブロックそれぞれに割り当てられる物理アドレスと、各パーティションを論理的に構成する複数のクラスタそれぞれに割り当てられる論理アドレスと、の対応関係を記憶する。
【0011】
他の好適な態様では、各ストリングに含まれる予測最大無効ブロック数が既知である場合に、下位管理手段は、各ストリングに割り当てられた複数の物理アドレスに対して、当該ストリングを構成する物理ブロック数から当該ストリングに含まれる予測最大無効ブロック数を引いた数分の論理アドレスを対応させる。
【0012】
他の好適な態様では、フラッシュメモリへリライタブルデータを記録する場合、下位管理手段は、上位管理手段からデータ記録が指示された論理アドレスに対応するストリング内において、指定された論理アドレスに基づいて決定される検索初期位置から順に、データ記録されていない未記録ブロックを検索し、最初に見つかった未記録ブロックにデータを記録する。この場合、下位管理手段は、未記録ブロックを検索時に、ストリング末尾まで未記録ブロックが見つからない場合は、ストリング先頭から順に未記録ブロックを検索することが望ましい。 また、上位管理手段からデータ消去が指示された場合に、下位管理手段は、当該指定された論理アドレスに対応するブロックを、論理的にデータ消去し、物理的にデータ消去しない擬似消去状態とすることも望ましい。そして、未記録ブロックを検索した結果、未記録ブロックが見つからなかった場合、前記擬似消去状態のブロックのデータを物理的に消去して、未記録ブロックにすることが望ましい。
【発明の効果】
【0013】
本発明によれば、一つのストリングに物理的に記録されるデータの書込制限種類を統一できる。そのため、一つのストリング内にリードオンリーデータとリライタブルデータとが混在することがなく、ドレインディスターブに起因するリードオンリーデータの破損が防止できる。その結果、重要データのより確実な保護ができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態について図面を参照して説明する。図1は、本発明の実施形態であるメモリアクセス装置10の構成を示すブロック図である。このメモリアクセス装置10は、デジタルカメラに搭載され、デジタルカメラ内部に設けられた上位制御装置からの指示に応じて、適宜、フラッシュメモリにアクセスし、データの読み出し、および、書き込みを行う。ただし、当然ながら、フラッシュメモリを記録媒体として使用する他の電子機器、例えば、電子音響装置や、携帯電話等にも適用できる。また、本実施形態において、メモリアクセス装置10は、二つのフラッシュメモリにバスを介して接続されており、この二つフラッシュメモリへのデータ読み書きを制御している。しかし、当然ながら、より多数、または、より少数のフラッシュメモリへのデータ読み書きを制御するようにしてもよい。
【0015】
メモリアクセス装置10は、上位管理手段として機能するファイルシステム装置14と、下位管理手段として機能するドライバ装置12と、に大別される。ファイルシステム装置14は、論理メモリ空間を管理する装置であり、各ファイルのアドレスを論理アドレスとして記憶している。また、本実施形態では、ファイルシステム装置14は、メモリ空間を複数のパーティションに分割するとともに、各パーティションそれぞれに書込制限種類を設定している。書込制限種類としては、リードオンリーまたはリライタブルのいずれかが設定される。このパーティションの分割および書込制限種類の設定については後に詳説する。上位制御装置から所定のファイルへのアクセス指示があった場合、ファイルシステム装置14は、当該ファイルの論理アドレスをドライバ装置12へと通知する。
【0016】
ドライバ装置12は、物理メモリ空間構成と論理メモリ空間構成との対応関係を記憶するとともに、当該対応関係に基づいてフラッシュメモリの所定位置にデータ読み書きする。このドライバ装置12は、CPU16とRAM20およびROM18から構成されている。ROM18には、当該ドライバ装置12を駆動するためのプログラムが記録されている。CPU16は、このROM18に記憶されたプログラムを起動して、ファイルシステム装置14からの指示に応じたデータの読み出し、書き込みを実行する。RAM20には、データの読み出し、書き込みに必要な各種データが記憶されている。具体的には、制御対象であるフラッシュメモリの物理アドレスと論理アドレスとの対応表や、後述するストリング番号とアドレスオフセットとの対応表などが記憶されている。CPU16は、適宜、このRAM20に記憶されている各種対応表を参照するとともに、必要に応じて対応表を更新する。具体的なデータ読み書き方法や、各種対応表の内容については後に詳説する。
【0017】
次に、メモリアクセス装置10の制御対象であるフラッシュメモリの物理的な構成、換言すれば、物理メモリ空間構成について図2を参照して説明する。図2は、単一のフラッシュメモリの物理的構成を概略的に示す図である。
【0018】
通常、フラッシュメモリは、予め、複数の、具体的には32のストリングに物理的に分割されている。各ストリングは、物理的に電荷制御が独立している。この複数のストリングには、物理的に先頭から昇順にストリング番号が付されている。各ストリング内には、さらに、複数の、具体的には256のブロックが設けられている。このブロックは、FATファイルシステムにおけるクラスタに相当する単位であり、約16KByteのデータが記録される。このブロックには、物理的に先頭から昇順に物理アドレスが付されている。
【0019】
ここで、フラッシュメモリにおいては、隣接ブロックとのデータ書換回数の差が大きくなると、電荷異常が発生し、データ破損が生じる場合がある。かかる現象は、ドレインディスターブと呼ばれ、フラッシュメモリの信頼性低下の原因となっている。このドレインディスターブは、同一ストリング内のブロック間で生じ得る。例えば、図2におけるブロック256のデータ書換回数とブロック257のデータ書換回数との差が大きくなると、書換回数の少ないブロックに記憶されているデータが破損する場合がある。
【0020】
一方で異なるストリング間でのデータ書換回数の差は、ドレインディスターブの原因とはならない。既述した通り、各ストリングは、物理的に電荷制御が互いに独立しているため、隣接ストリングにおけるブロックの電荷異常の影響を受けない。例えば、図2におけるブロック255と、ブロック256は隣接しているが、両ブロックは、異なるストリングに存在しており、物理的に電荷制御が独立している。したがって、このブロック255とブロック256とのデータ書換回数の差が大きくなっても、既述のドレインディスターブ現象は生じず、データ破損は生じないようになっている。
【0021】
次に、本実施形態における論理メモリ空間構成と、物理メモリ空間構成と、の対応関係について図3を用いて説明する。図3のうち左側3列であるパーティション番号、記録データ種類、書込制限種類は、ファイルシステム装置14で管理されている論理メモリ空間の構成を示している。また、右側2列のメモリ番号、ストリング番号は、物理メモリ空間の構成を示している。
【0022】
図3から明らかなように、論理メモリ空間は、7つのパーティションに分割されている。各パーティションには、それぞれ、記録データ種類および書込制限種類が設定されている。書込制限種類としては、リライタブル(RW)とリードオンリー(RO)の二種がある。RWは、適宜、データの書き換えが可能であることを示し、ROはデータの書き換えが不可であることを示している。通常、ROは、ユーザによるデータ再作成が困難であり、かつ、機器の基本的動作に深く関与しているデータが記憶されるパーティションに設定される。本実施形態では、キャリブレーションデータおよびファームウェア(FW)データを記憶するパーティション2およびパーティション3にROを設定している。キャリブレーションデータは、デジタルカメラで取り扱われる画像の色調整に用いられるデータである。このキャリブレーションデータは、デジタルカメラの出荷時においてメーカにより作成、記録されるもので、ユーザによる再作成は困難なデータである。また、当該キャリブレーションデータが破損した場合、デジタルカメラで取り扱う各種画像の色調整ができなくなり、デジタルカメラの適切な動作が阻害される。したがって、このキャリブレーションデータを記憶するパーティション2には、ROが設定さている。
【0023】
FWデータは、デジタルカメラの基本的制御に使用されるデータである。このFWデータもキャリブレーションデータと同様に、出荷時においてメーカにより作成記録されるデータであり、ユーザによる再作成が困難なデータである。また、当該FWデータが破損した場合には、デジタルカメラの基本的制御が阻害されることになる。そこで、当該FWデータを記録するパーティションには、ROが設定されている。
【0024】
一方、適宜、書き換えが必要なデータを記録するパーティションにはRWが設定されている。本実施形態では、メモリ管理用データ、カメラ設定データ、ユーザデータおよび画像キャッシュデータ、ユーザ画像データを記録するパーティション1,4,5,6,7にRWを設定している。
【0025】
メモリ管理用データは、当該フラッシュメモリ1,2を管理するための情報である。例えば、破損したブロック、いわゆる、無効ブロックの数やその物理アドレス等がメモリ管理用データに相当する。このメモリ管理用データは、適宜、ドライバ装置により書き換えられるリライタブルデータであるため、当該メモリ管理用データを記録するパーティション1にはRWが設定されている。
【0026】
カメラ設定データは、デジタルカメラの各種設定に関するデータである。これは、ユーザが適宜変更するデータであるため、当該データを記録するパーティション7もRWに設定されている。
【0027】
ユーザデータは、ユーザによって作成、記憶されるデータのうち、画像データ以外のデータである。また、画像キャッシュデータは、画像撮像や画像処理の過程において、一時的に記憶される画像データである。したがって、このユーザデータおよび画像キャッシュデータを記憶するパーティション5も、RWが設定されている。
【0028】
ユーザ画像データは、デジタルカメラにより撮像され、ユーザから記録指示がなされた画像データである。記録指示がなされた画像データは、パーティション6,7のいずれかに記録され、保存される。このユーザ画像データを記録するパーティション6,7にもRWが設定されている。
【0029】
以上の各パーティションは、それぞれ、物理メモリ空間の構成要素であるストリングに対応付けられている。図3に示すとおり、パーティション1にはストリング1が、パーティション2にはストリング2,3が、パーティション3にはストリング4〜6が、という具合に、一つのパーティションには1以上のストリングが対応付けられている。逆に、一つのストリングには、単一のパーティションが対応付けられている。別の見方をすれば、パーティションは、ストリング単位で区切られているとも言える。その結果、一つのストリングに記録されるデータの書込制限種類が統一されることになる。
【0030】
すなわち、ドライバ装置は、各パーティションに論理的に記録されるデータを、当該パーティションに対応するストリングに物理的に記録する。このとき、一つのストリングに対応するパーティションを単一とした場合、当該ストリングに記録されるデータの書込制限種類は、対応するパーティションに設定された書込制限種類に限定されることになる。その結果、ROデータを記憶するストリングにはROデータのみが、RWデータを記憶するストリングにはRWデータのみが、記録されることになる。
【0031】
かかる構成とすることで、既述のドレインディスターブによるROデータの破損を防止することができる。すなわち、ROデータは、書き換えることがないデータである。したがって、ROデータが記憶されるストリングに、RWデータを記憶しなければ、隣接ブロックとの書換回数の差が生じることはなく、ドレインディスターブに起因するデータ破損も生じない。その結果、確実にROデータが保護できる。なお、リードオンリーデータを保護するのは、リードオンリーデータの多くが再作成不可能なデータであり、かつ、デジタルカメラの基本的動作に影響を与えるデータであるからである。
【0032】
一方、RWパーティションに対応するストリングには、RWデータが記憶される。したがって、当該ストリング内では、ドレインディスターブに起因するデータ破損が生じる恐れがある。しかしながら、通常、RWデータは、ユーザにより再作成が可能なデータ、または、破損してもデジタルカメラの基本的動作に影響を与えないデータであることが多い。したがって、例え、ドレインディスターブに起因するデータ破損が生じたとしても、致命的な不具合を生じることはない。また、本実施形態では、ブロック間の書換回数の差を極力小さくするために、後に詳説するラウンドロビン方式でのデータ記録を実施している。そのため、通常のデータ読み書き方法に比較して、比較的、ドレインディスターブが生じにくい構成となっている。
【0033】
次に、本実施形態のドライバ装置におけるアドレスの管理態様について図4を用いて説明する。図4は、各ストリングを構成するブロックに割り当てられる物理アドレスと、論理アドレスとの関係を示す表である。
【0034】
既述したように、一つのストリングは256のブロックで構成されており、各ブロックには物理アドレスが先頭から昇順に割り当てられている。したがって、ストリング1の先頭ブロックには物理アドレス0が割り当てられ、ストリング2の先頭ブロックには物理アドレス256が割り当てられている。換言すれば、一つのストリングには256個の物理アドレスが割り当てられている。
【0035】
一方、一つのストリングに対応する論理アドレスの数は、物理アドレス数(ブロック数)と異なる。これは、予測最大無効ブロック数を考慮しているためである。無効ブロックとは、破損等により使用できない無効なブロックである。かかる無効ブロックは、本来、存在しないことが望ましいが、実際には、一つのストリングに複数個の無効ブロックが存在している。
【0036】
この無効ブロック数を考慮することなく、一つのストリングに同数の物理アドレスおよび論理アドレスを対応させた場合、無効ブロック数分だけ論理アドレスが余ることになる。そこで、本実施形態では、予め、この無効ブロックの予測最大数を考慮して論理アドレスを割り当てている。具体的には、一つのストリングに対応する論理アドレス数を、当該ストリングを構成するブロック数から無効ブロック数を引いた数でとしている。例えば、ストリング1における無効ブロック数が32である場合、当該ストリング1に割り当てられる論理アドレスは0〜223の224個となる。
【0037】
また、あるストリングに対応する先頭論理アドレスの値は、当該ストリングの先頭物理アドレス値を、当該ストリングより前のストリングおける無効ブロック数の総和分だけオフセットした値である。例えば、ストリング3の先頭論理アドレスは、ストリング3の先頭物理アドレス512を、ストリング3より前のストリング、すなわち、ストリング1およびストリング2における無効ブロック数の総和32+32=64分だけオフセットした値448である。以下では、この当該ストリングより前のストリングにおける無効ブロックの総和をアドレスオフセットと呼ぶ。このようにアドレスオフセットに応じて、各ストリングの先頭論理アドレスを設定することにより、フラッシュメモリ全体で、空きのない、連続した論理アドレスを持つことができる。その結果、上位制御装置におけるアドレス管理を簡易化できる。
【0038】
なお、無効ブロックは、後天的に発生する場合もあり、その数は固定していない。そこで、本実施形態では、予め、各ストリングにおいて発生し得る無効ブロックの最大数を予測しておき、その予測された予測最大無効ブロック数を考慮して論理アドレスの割り当てを行っている。
【0039】
次に、本実施形態におけるリライタブルデータのデータ読み書き方法について図5〜図7を用いて説明する。図5〜図7は、物理アドレスと論理アドレスとの対応関係、および、各ブロックの消去状態を示す表である。ここで、図5〜図7において、論理アドレス番号が付されているブロックは、既に物理的にデータが記録されている記録済ブロックである一方、論理アドレスが割り当てられず、未記録ブロックと記載されているブロックはデータが記録されていない空きブロックである。また、消去状態が「擬似消去」と記載されているブロックは、論理的にはデータ消去され、物理的にはデータ消去されていないブロックである。
【0040】
本実施形態のドライバ装置12は、ファイルシステム装置14からデータ記録が指示された場合、いわゆるラウンドロビン方式でデータ記録を行っている。具体的には、ドライバ装置12は、ファイルシステム装置14から指定された論理アドレスに対応する物理アドレスから順に未記録ブロックを検索し、最初に見つかった未記録ブロックにデータを記憶する。データ記録後、ドライバ装置12は、データ記憶されたブロックの物理アドレスと、指定された論理アドレスと、を対応付けてRAM20に記憶する。なお、ストリングの末尾まで未記録ブロックが見つからなかった場合には、ストリング先頭まで戻り、再び、順に未記録ブロックの検索を行う。また、消去指示があった場合には、指示されたブロックのデータを実際に消去するのではなく、擬似消去状態としておく。未記録ブロックの検索の際、この擬似消去ブロックは記録済ブロックとして取り扱う。ストリング内の全ブロックがデータ記録状態あるいは擬似消去状態となり、未記録ブロックが検索できなかった場合には、擬似消去状態のデータを実際に消去し、未記録ブロックとする。その後、再度、未記録ブロックの検索を行い、データの記録を行う。
【0041】
例えば、ファイルシステム装置14から論理アドレス477へのデータ記録が指示されたとする。この場合、ドライバ装置12は、論理アドレス477に対応する物理アドレスから順に、未記録ブロックの有無を検索していく。ここで、論理アドレス477に対応する物理アドレスとは、論理アドレス477に、既述のアドレスオフセットを足した値である。論理アドレス477は、ストリング2に存在し、ストリング2におけるアドレスオフセットは32である。したがって、論理アドレス477に対応する物理アドレスは、論理アドレス477にアドレスオフセット32を足した509となる。したがって、ドライバ装置12は、物理アドレス509から順に、未記録ブロックを検索する。
【0042】
物理アドレス509が未記録であった場合には、当該物理アドレス509にデータを記録するとともに、物理アドレス509と論理アドレス477とを対応づけてRAM20に記憶する。一方、物理アドレス509が記録済であった場合には、次の物理アドレス510の記録状況を確認し、未記録ブロックの検索を実行する。ストリングの末尾の物理アドレスまで未記録ブロックが見つからなかった場合には、ストリングの先頭の物理アドレスから順に未記録ブロックを検索する。そして、未記録ブロックが見つかれば、当該ブロックにデータを記録するとともに、当該ブロックの物理アドレスと論理アドレスとを対応付けてRAM20に記憶する。
【0043】
図5の例では、物理アドレス509からストリング末尾の物理アドレスまでの間に未記録ブロックは無い。したがって、ドライバ装置12は、ストリング先頭の物理アドレス256から順に未記録ブロックの検索を行う。そして、最初に見つかった未記録ブロックである物理アドレス260にデータを記録するとともに、当該物理アドレス260と論理アドレス477とを対応付けてRAM20に記憶する。
【0044】
次に、論理アドレス352のデータ消去指示がファイルシステム装置14から指示されたとする。この場合、ドライバ装置12は、RAM20の記録を参照して論理アドレス352に対応する物理アドレスの値を取得し、当該物理アドレスが割り当てられたブロックを擬似消去状態とする。具体的には、図6に図示するように、論理アドレス352と対応する物理アドレス511のブロックを擬似消去状態とする。また、物理アドレス511(論理アドレス352)を擬似消去状態としたことをRAM20に記憶する。
【0045】
この図6の状態で、さらに、ファイルシステム装置14から論理アドレス478へのデータ記録が指示されたとする。この場合、論理アドレス478と対応する物理アドレス510から順に未記録ブロックの検索を行う。このとき、物理アドレス511は、論理的にはデータ消去されているものの、物理的にはデータが残っている擬似消去状態である。したがって、ドライバ装置12は、当該物理アドレス511は、記録済ブロックとして取り扱い、更なる、未記録ブロックの検索を続ける。そして、ストリング内の全てのブロックを検索しても未記録ブロックが見つからない場合には、擬似消去状態のブロックのデータを実際に消去する。すなわち、未記録ブロックが見つからなかった場合、ドライバ装置12は、RAM20の記録を参照して、当該ストリング内における全ての擬似消去ブロックの物理アドレスを取得する。そして、取得した物理アドレスに基づいて、全ての擬似消去ブロックについて、記録されているデータを物理的に消去し、未記録ブロックにする。図6の状態であれば、擬似消去ブロックは、物理アドレス511である。したがって、この物理アドレス511のブロックのデータを実際に消去し、図7のような状態にする。実際にデータ消去した後、ドライバ装置12は、RAMに記録されている、物理アドレス、論理アドレスおよび消去状態の対応関係を更新する。そして、その状態で、再び、物理アドレス510から順に未記録ブロックの検索を開始する。この場合、物理アドレス511が未記録ブロックであるため、ここにデータを記録する。また、論理アドレス478と物理アドレス511を対応づけてRAM20に記憶する。
【0046】
以上の説明から明らかなように、本実施形態では、ファイルシステム装置14から指定された論理アドレスに対応する物理アドレスから順に未記録ブロックを検索している。また、データ消去が指示されたブロックについては、即座に物理的にデータ消去するのではなく、擬似消去状態としている。そのため、特定のブロックについてのみ、物理的なデータ書き込み、消去が多数回、繰り返される可能性が低い。その結果、ブロック間での書換回数の差が低減される。そして、ひいては、ドレインディスターブに起因するデータ破損を低減できる。
【0047】
以上、説明したように、本実施形態によれば、一つのストリングにRWデータとROデータとを混在させない構成となっている。その結果、ドレインディスターブに起因するROデータの破損が防止でき、重要データであるROデータをより確実に保護できる。また、RWデータを記憶するブロックを分散させることで、一つのストリング内における書換回数の差を低減している。その結果、RWデータが記録されるストリングでの、ドレインディスターブの発生を低減することができ、RWデータの破損を低減できる。
【図面の簡単な説明】
【0048】
【図1】本発明の実施形態であるメモリアクセス装置の構成を示すブロック図である。
【図2】フラッシュメモリの物理的構成を示す図である。
【図3】論理メモリ空間構成および物理メモリ空間構成の対応関係を示す表である。
【図4】各ストリングに対応する物理アドレス数および論理アドレス数を示す表である。
【図5】物理アドレスと論理アドレスとの対応関係および各ブロックの消去状態を示す表である。
【図6】物理アドレスと論理アドレスとの対応関係および各ブロックの消去状態を示す表である。
【図7】物理アドレスと論理アドレスとの対応関係および各ブロックの消去状態を示す表である。
【符号の説明】
【0049】
10 メモリアクセス装置、12 ドライバ装置、14 ファイルシステム装置、16 CPU、18 ROM、20 RAM。

【特許請求の範囲】
【請求項1】
物理的に電荷制御が独立した複数のストリングに分割されたフラッシュメモリへのデータの読み書きを制御するアクセス装置であって、
論理メモリ空間を、書込制限種類がリードオンリーまたはリライタブルのいずれかに設定された複数のパーティションに分割して管理する上位管理手段と、
物理メモリ空間構成と論理メモリ空間構成との対応関係を記憶するとともに、上位管理装置からフラッシュメモリへのデータ読み書き指示があった場合に、当該対応関係に基づいてフラッシュメモリへのデータ読み書きを行う下位管理手段と、
を備え、
下位管理手段は、各ストリングを単一のパーティションを対応させることで、一つのストリングに記憶されるデータの書込制限種類を統一させることを特徴とするアクセス装置。
【請求項2】
請求項1に記載のアクセス装置であって、
下位管理手段は、ストリングとパーティションとの対応関係として、各ストリングを物理的に構成する複数のブロックそれぞれに割り当てられる物理アドレスと、各パーティションを論理的に構成する複数のクラスタそれぞれに割り当てられる論理アドレスと、の対応関係を記憶することを特徴とするアクセス装置。
【請求項3】
請求項2に記載のアクセス装置であって、
各ストリングに含まれる予測最大無効ブロック数が既知である場合に、
下位管理手段は、各ストリングに割り当てられた複数の物理アドレスに対して、当該ストリングを構成する物理ブロック数から当該ストリングに含まれる予測最大無効ブロック数を引いた数分の論理アドレスを対応させることを特徴とするアクセス装置。
【請求項4】
請求項2または3に記載のアクセス装置であって、
フラッシュメモリへリライタブルデータを記録する場合、
下位管理手段は、上位管理手段からデータ記録が指示された論理アドレスに対応するストリング内において、指定された論理アドレスに基づいて決定される検索初期位置から順に、物理的にデータ記録されていない未記録ブロックを検索し、最初に見つかった未記録ブロックにデータを記録することを特徴とするアクセス装置。
【請求項5】
請求項4に記載のアクセス装置であって、
下位管理手段は、未記録ブロックを検索時に、ストリング末尾まで未記録ブロックが見つからない場合は、ストリング先頭から順に未記録ブロックを検索することを特徴とするアクセス装置。
【請求項6】
請求項4または5に記載のアクセス装置であって、
上位管理手段からデータ消去が指示された場合に、
下位管理手段は、当該指定された論理アドレスに対応するブロックを、論理的にデータ消去し、物理的にデータ消去しない擬似消去状態とすることを特徴とするアクセス装置。
【請求項7】
請求項6に記載のアクセス装置であって、
下位管理手段は、未記録ブロックを検索した結果、未記録ブロックが見つからなかった場合、前記擬似消去状態のブロックのデータを物理的に消去して、未記録ブロックにすることを特徴とするアクセス装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate