JP2006190036A - メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 - Google Patents
メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 Download PDFInfo
- Publication number
- JP2006190036A JP2006190036A JP2005000790A JP2005000790A JP2006190036A JP 2006190036 A JP2006190036 A JP 2006190036A JP 2005000790 A JP2005000790 A JP 2005000790A JP 2005000790 A JP2005000790 A JP 2005000790A JP 2006190036 A JP2006190036 A JP 2006190036A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- management table
- address
- address management
- nonvolatile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】信頼性が高い不揮発性記憶装置やその中に備えられるメモリコントローラを提供する。
【解決手段】メモリコントローラの主記憶メモリ104内に、アドレス管理テーブル(AT)とアドレス管理テーブルインデックス(ATI)とをその物理アドレスが随時更新されるように格納し、且つATIの物理アドレスを指し示すアドレス管理テーブルインデックスポインタ(ATIポインタ)をメモリコントローラ内に備えられた不揮発性補助記憶メモリ101に記録する。
【選択図】図1
【解決手段】メモリコントローラの主記憶メモリ104内に、アドレス管理テーブル(AT)とアドレス管理テーブルインデックス(ATI)とをその物理アドレスが随時更新されるように格納し、且つATIの物理アドレスを指し示すアドレス管理テーブルインデックスポインタ(ATIポインタ)をメモリコントローラ内に備えられた不揮発性補助記憶メモリ101に記録する。
【選択図】図1
Description
本発明は、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法に関する。
フラッシュメモリ等の不揮発性の主記憶メモリを内部に備えた不揮発性記憶装置は、フラッシュメモリにアクセスする際には、与えられた論理アドレスを物理アドレスに変換し、かかる物理アドレスをもってデータの書き込みや読み出しを行うようにしている。そして、このアドレス変換のためのアドレス管理テーブル(アドレス管理情報)を有している。
上述したような、アドレス管理テーブルをフラッシュメモリに記憶して、そのアドレス管理テーブルのうちの必要部分のみをランダムアクセスメモリ(RAM)等の揮発性メモリに読み出して使用する不揮発性記憶装置は、例えば、特許文献1に記載されたものが知られている。
図8に、特許文献1に記載された不揮発性記憶装置に備えられているフラッシュメモリ805のアドレスマップを示す。フラッシュメモリ805は、管理領域801とデータ領域802とからなる。データ領域802は、外部のアクセス装置から読み書きされるデータ、即ち音楽データや画像データなどのいわゆるコンテンツ情報を格納する領域であり、例えば、1024ブロック毎に4つの領域(データ領域#0〜データ領域#3)に分割されている。
管理領域801には、管理情報、すなわちデータの論理ブロックアドレスに対応する物理ブロックアドレスを決めるアドレス管理テーブル(アドレス変換テーブル)が格納されており、管理領域801は、当該アドレス管理テーブルLTPb804と、アドレス管理テーブルのインデックス情報が格納される領域LTPa803とから構成されている。アドレス管理テーブルLTPb804は、上記データ領域802の#0〜#3をそれぞれ管理するために、#0〜#3の4領域からなる。LTPb804#0〜LTPb804#3が管理するエントリ数は、データ領域802それぞれのブロック数に一致する。
各アドレス管理テーブルLTPb804では、基本的には論理ブロックアドレス(0〜1023ブロック)を物理ブロックアドレス(0〜1023ブロック)に変換するために、各論理ブロックアドレスに対応する物理ブロックアドレスを有している。詳しくは、各論理ブロック番号ごとに、物理ブロック番号とアロケーションフラグとを1ワードで持っている。アロケーションフラグとは、記憶された物理ブロック番号に有効なデータが既にアロケートされているか否かを識別するフラグである。
一方、LTPa803は、LTPb804#0〜LTPb804#3が記憶されている物理ブロック番号とアロケーションフラグを持つ。
上述したLTPa803及びLTPb804#0〜LTPb804#3は、フラッシュメモリの消去単位である1ブロックで存在し、例えばブロック内がページ1からページNとするとページ1(例えば2Kバイト)を使用して1つのアドレス管理テーブルを構成する。例えば、管理領域801の先頭ブロックのページ1にLTPa803を、その次のブロックのページ1にLTPb804#0を対応させ、各ブロックのページ1以外のページは未使用で構わない。
以上のように構成された不揮発性記憶装置について、その書き込み動作について説明する。外部のアクセス装置から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。例えば、アクセス装置から論理アドレス0が指定されると、フラッシュメモリの中のデータ領域#0に対応するLTPb#0を、LTPa803に基づきフラッシュメモリからRAMなどの揮発性メモリに読み出す。次に、読み出されたLTPb#0を参照し、まず論理ブロック番号に対応するアロケーションフラグをチェックする。該フラグをチェックした結果、未アロケートの場合は、論理ブロックに対応する物理ブロック番号を参照し、それに対応するデータ領域#0の物理ブロックをイレーズ処理した上でデータを書き込む。その後、RAM内でアロケーションフラグをアロケート済み状態、即ち値0に更新した後に、RAMからフラッシュメモリにLTPb#0を書き戻す。
一方、論理ブロック番号に対応するアロケーションフラグをチェックし、既にアロケート済みの場合は、論理ブロック番号0から1023までの全領域に対応する物理ブロック番号を調べ、アロケート済みでない物理ブロック番号(例えば物理ブロック番号10)を探しだす。そして、物理ブロック番号10に対応するデータ領域#0の物理ブロックをイレーズ処理した上でそこにデータを書き込む。加えて、RAM内で、論理ブロック番号0に対応する物理ブロック番号の部分に物理ブロック番号10を書き込む。更に、以前、物理ブロック番号10が記録されていた論理ブロック番号に関しては、以前論理ブロック番号0の物理ブロック番号の部分に記憶されていた値(物理ブロック番号値)に変更すると共に、アロケーションフラグを未アロケート状態、即ち値1にする。それらの後、RAMからフラッシュメモリにLTPb#0を書き戻す。
上記したメモリ管理方法により、データを外部から確実に読み書きできるようになる。しかしながら、特許文献1のアドレス管理方法では、LTPb804が固定領域に割り付けられている為、例えばデータ領域#0内の1つのブロックだけでも書き換えられた場合には、必ずLTPb#0が割り付けられているブロックを書き換える必要があった。言い換えれば、データ領域#0内の1024ブロックが各々1回ずつ書き換えられた場合、LTPb#0が割り付けられているブロックは1024回書き換えられることになる。したがって、平均的なメモリ書き換え回数を考えた場合、データ領域802よりも管理領域801の方が約1000倍以上の書き換えが行われるようになり、管理領域801の方に書き換えが集中してしまい、フラッシュメモリの寿命(書き換え回数約10万回)にすぐ達してしまうという大きな問題点があった。
この問題点を解決する方法として、特許文献2に開示された「管理情報を再配置可能にする技術」がある。この技術によれば、アドレス管理領域を固定領域に割り付けるのではなく、管理領域の配置位置(配置アドレス)を逐次変更していくことにより、管理領域の書換回数をデータ領域と同程度に小さくすることが可能となり、フラッシュメモリの寿命を高めることが可能となる。
以下、特許文献2に開示された、管理領域の配置アドレスを逐次変更していくアドレス管理方法(以降、再配置型アドレス管理方法と呼ぶ)について、図5〜図7を用いて説明する。
図5は、再配置型アドレス管理方法が適用されるアドレス管理テーブル(AT)とアドレス管理デーブルのインデックス情報(ATI)との構成を示す概念図であり、図6は、再配置型アドレス管理方法が適用される不揮発性記憶装置の構成および同装置内のフラッシュメモリのアドレスマップを示す図である。図7は、再配置型アドレス管理方法に基づく、アドレス管理情報更新方法を示すフローチャートである。ちなみに、特許文献2におけるエントリ領域及び管理領域は、それぞれ、図5のATI群及びAT群α,βに対応する。
図5において、501はATI群である。502,503はAT群であり、便宜上AT群αを502、AT群βを503とする。AT群は図示した以外にも存在するものである。また、504は物理ブロックであり、ATI群501、AT群α502、AT群β503、・・・は、それぞれ4つの物理ブロック504から構成される。
図6において、608はフラッシュメモリ、601は不揮発性記憶装置とアクセス装置との間でデータやコマンドなどの信号を送受信するためのホストインターフェース(ホストI/F)、602はアクセス装置からのコマンドなどによりフラッシュメモリ608や不揮発性記憶装置の動作を制御する制御部、603はデータやアドレス管理情報などを一時蓄える揮発性メモリとしてのRAM(ランダムアクセスメモリ)である。また、604はATI群を記憶するためのATI群領域、605はデータを記憶するためのデータ領域であり、フラッシュメモリ608は、ATI群領域604とデータ領域605からなる。また、606はAT群であり、607は現ATが管理するデータエントリ、609はホストI/F601と制御部602とRAM603をまとめたメモリコントローラである。なお、前述したフラッシュメモリ608は、消去単位である物理ブロックが2ページからなり、各ページサイズが2KBで構成されるものとする。
ATI群領域604は、データ領域605(#0〜#3)内のAT群を管理するためのATI群を格納する領域である。ATIは、各AT群の物理ブロック番号、即ち物理ブロックを指し示すアドレスを有する。1つのATIで、各データ領域に64のAT群を管理すると、約1ワード(物理ブロック番号10ビット分)×4(データ領域数)×64(AT群の数)=512Bとなり、図5に示すように1ブロック当たり8個のATIを記録することができる。ATIはフラッシュメモリ608の先頭物理ブロックから4物理ブロック分に配置されATI群601を形成する。
データ領域605は、外部のアクセス装置から読み書きされるデータ、即ち音楽データや画像データなどのいわゆるコンテンツ情報を格納すると共に、AT群を格納する領域である。また、データ領域605は4つの領域、即ちデータ領域#0〜データ領域#3に分割され、それぞれの領域毎に1024ブロックを有する。
これらデータ領域#0〜#3内には、それぞれのデータ領域を管理するAT群が格納されている。各ATは、論理ブロックアドレス(0〜1023ブロック)を物理ブロックアドレス(0〜1023ブロック)に変換する為に、論理ブロックアドレスに対応する論理ブロック番号(10ビット)ごとに、物理ブロック番号(10ビット)とアロケーションフラグ(1ビットで、物理ブロックに有効なデータが既にアロケートされているか否かを識別する)とを持つような構造となっている。なお、ATが管理する単位、即ちデータエントリ607は1ブロック分となっている。これらのことから、1つのATのデータ容量は、11ビット(物理ブロック番号10ビットとアロケーションフラグ1ビット)×1024ブロック=約2048Bとなり、図5,図6に示されている如く、1ページに1つのATを持つことになる。
次に、図5及び図7を用いて、書き込み動作について説明する。なお、図5のAT群α502及びAT群β503は、同一のデータ領域を管理するAT群であり、同図に示す例では、AT群α502はATI#4により管理され、AT群β503はATI#5により管理される領域である。
AT及びATIの更新は、次のAT及びATIのフラッシュメモリ608への書き込みが現AT及び現ATIと同一ブロックに行われず、且つATの更新毎にATIの書き換え更新が発生しないように、書き込みの順番が予め決められた上でフラッシュメモリ608に記憶される。
また、ATI群の中から最新のATIを検出する処理(図7のS701)は、例えば、初期化時に実施され、外部のアクセス装置から不揮発性記憶装置に対するデータ書き込み指令毎には実施されない。図7に示す一連の制御は、図6に示した制御部602によって実行され、制御部602は中央処理演算装置CPU等を含んでもよい。
以下、1つのATIが管理するAT群内での更新について述べる。まず、外部のアクセス装置から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。例えば、外部のアクセス装置から論理アドレス0が指定されると、フラッシュメモリ608の中のデータ領域#0に対応する現AT群を決定する。即ち図5においてAT群α502とAT群β503とのどちらが現AT群であるかを、現ATIから求める(S702)。
読み出された現AT群内で現在のAT、例えばAT#2を現ATIから求め、フラッシュメモリ608からRAM603に読み出し、論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックする(S703)。
論理ブロック番号に対応する1ワード中に物理ブロック番号が登録されていない、即ち未アロケートの場合は、未アロケート物理ブロック番号を検出し、対応するデータ領域#0の物理ブロックをイレーズ処理し、データをフラッシュメモリ608に書き込み、データを書き込んだ物理ブロック番号に対応したアロケーションフラグをアロケート済み状態、即ち値0に更新する(S704)。その後に、予め決められた書き込み順に従いフラッシュメモリにAT#3を書く(S705、S707)。
一方、論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックし、既にアロケート済みの場合は、RAM603内でアロケート済みでない物理ブロック番号を検出し、フラッシュメモリ608内の対応するデータ領域#0の物理ブロックをイレーズ処理し、データを書き込む。加えて、RAM603内で、論理ブロック番号0の1ワード中の物理ブロック番号に対応する領域に、データを書き込んだ物理ブロック番号を書き込むと共に、その物理ブロック番号に対応するアロケーションフラグをアロケート済み状態、即ち値0に更新し、さらに、以前論理ブロック番号0で使用した物理ブロック番号に対応するアロケーションフラグを、未アロケート状態、即ち値1にする(S704)。その後に、予め決められた書き込み順に従いフラッシュメモリにAT#3を書く(S705、S707)。
次に、ATIの更新が発生する場合について述べる。図5で、現在のATがATI#4の管理するAT群α502の最終AT#7の場合、S705にて現ATが当該ATIで管理する最終のATであると判断し、S706にて次にAT群を書き込むための空きブロックを確保する。RAM603内で現ATであるAT群α502のAT#7のアロケーションフラグより未アロケートの物理ブロック番号を検出し、検出した物理ブロック番号に対応するデータ領域#0内の物理ブロックをイレーズ処理することでAT群β503の領域を確保する。さらに、RAM603内でAT群α502の領域を確保するために使用していた物理ブロック番号に対応するアロケーションフラグを未アロケートに更新し、AT群β503の領域確保に使用する物理ブロック番号に対応するアロケーションフラグをアロケートに更新する。
S708にて、最新のATをデータ領域#0内のAT群β503のAT#0に書き込む。その後、S709にて、ATI#5の領域に、AT群β503の各ATの物理ブロックアドレスを書き込む。
ATI群501自体を更新する際には、前記ATIの内容更新処理に加え、次にATI群を記録するための物理ブロックを確保する必要がある。本引用文献では、RAM603内でAT#7のアロケーションフラグより未アロケートの物理ブロック番号を検出し、フラッシュメモリ608の検出した対象物理ブロックをイレーズ処理することで、次のATI群の領域を確保するものとしている。さらに、ATI更新時のATのアドレス情報に加え、RAM608内で現ATI群の領域を確保するために使用していた物理ブロック番号に対応するアロケーションフラグを未アロケートし、次ATI群501の領域確保に使用する物理ブロック番号に対応するアロケーションフラグをアロケート状態に更新する。以降、ATIの内容更新時と同様にAT及びATIをフラッシュメモリ608に書き込む。
特開2001−142774号公報
特開平10−260908号公報
前述した特許文献2の技術によれば、ATIによってATを再配置可能、即ちフラッシュメモリ上の固定領域に割り当てないようにすることができるので、書き換え頻度の高いATが特定の物理ブロックに集中し、フラッシュメモリの書き換え寿命に短期間に達することを防止することができる。
しかしながら、特許文献2の技術においては、ATIを依然としてフラッシュメモリ内の固定領域に割り当てる必要があるため、ATIの書き換え頻度が高い場合、この固定領域がフラッシュメモリの書き換え寿命に容易に達する可能性が大である。それを回避すべく、ATIが格納される領域を大きく確保した上でその中でウェアレベリングを行うことが考えられるが、そのためには、ATI格納のための固定領域をフラッシュメモリ上にあらかじめ多く確保する必要があった。
本発明は上記従来の問題点を解決するもので、再配置型アドレス管理方法において、アドレス管理情報の領域確保を最小限としつつ信頼性が高い不揮発性記憶装置や不揮発性記憶システム、及びその中に備えられるメモリコントローラを提供すること目的とする。さらに、前述の作用効果を備えたメモリ制御方法を提供することを目的とする。
前記目的を達成するため、本発明においては以下の技術的手段を講じた。すなわち、本発明における課題解決のための技術的手段は、データと該データの記憶アドレスを管理するアドレス管理テーブル(AT)と該アドレス管理テーブルの記憶アドレスを管理するアドレス管理テーブルインデックス(ATI)とが格納された不揮発性の主記憶メモリに、外部から与えられる論理アドレスに応じてアクセスするメモリコントローラであって、前記メモリコントローラは、データの読み書き制御を行う制御手段と、前記主記憶メモリよりも書き換え保証回数が多く且つ前記アドレス管理テーブルインデックスの物理アドレスを保持するアドレス管理テーブルインデックスポインタ(ATIポインタ)が格納されている不揮発性補助記憶メモリと、を有しており、前記制御手段は、不揮発性補助記憶メモリ上のアドレス管理テーブルインデックスポインタを参照することでアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいてアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行うものであり、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更することを特徴とする。
この構成による作用効果を述べる。前述した特許文献2の抱える問題を再度検討してみると、ATIをメモリ書き換え保証回数が少なく短期間で寿命に達する主記憶メモリ上の固定領域に格納していることにその原因がある。
そこで、本願出願人は、主記憶メモリに比して書き換え保証回数が多い(書き換え寿命が長い)不揮発性補助記憶メモリに着目することとし、ATIをメモリコントローラ内に設けられた不揮発性補助記憶メモリに記憶させることを考えた。この技術により飛躍的に主記憶メモリの寿命問題を解決することが可能であり、本願出願人は既にこの技術を特許出願済みである(特願2004−281677)。
ここで、本願出願人はさらなる技術革新を意図し、当該不揮発性補助記憶メモリの書き換えに関しても、その回数をなるべく少なくすることを考えた。換言すれば、いかに書き換え保証回数の多いといわれる不揮発性補助記憶メモリであってもその書き換え回数に寿命があり、頻繁な読み書きは避けた方がよいことは自明であって、かかる不揮発性補助記憶メモリに対する読み書きを減らすことにより、不揮発性補助記憶メモリを備えるメモリコントローラの寿命を飛躍的に延ばすことが可能である。
本技術的手段を用いたメモリコントローラは、以上述べた技術的思想を具現化したもので、当該メモリコントローラがアクセスする主記憶メモリに、データと該データの記憶アドレスを管理するATと該ATの記憶アドレスを管理するATIとが格納されるものとなっている。さらに、メモリコントローラの不揮発性補助記憶メモリには、前記ATIが格納されている物理アドレスを保持するATIポインタが格納されている。加えて、メモリコントローラの制御手段は、AT及びATIを主記憶メモリ内に書き込む際には、その書き込みアドレスを常に変更するようにしているため、ATやATIがいつも主記憶メモリ上の同一物理アドレスに書き込まれることが避けられるものとなっている。
さらに、主記憶メモリ上の1つのデータ書き込み単位(ブロック)内の任意の場所に変更後のATIを書き込むに当たっては、そのブロックのアドレスは同一であるため、不揮発性補助記憶メモリ内のATIポインタを書き換える必要はない。例えば、1ブロック内に8つのATI書き込み領域が用意され、その領域に更新されたATIを順次書き換えていくとした場合、ATIポインタの書き換えは、ブロック変更時すなわちATIを8回書き換えた後に1回発生することとなる。これにより、ATIの書き換えに関して主記憶メモリの高寿命化を図ることができるばかりか、ATIの書き換えに付随するATIポインタの書き換えに関しても、不揮発性補助記憶メモリの書き換え保証回数を上回ることがなく、メモリコントローラ自体の高寿命化を図ることができるようになる。
また、不揮発性補助記憶メモリ上でATIポインタの情報を逐次更新するだけで、ATIおよびATが再配置可能となるので、主記憶メモリ上でのATやATIの格納領域を最小限に抑えることができ、リソースの節減ができるようにもなる。
また、本発明における課題解決のための技術的手段は、データと該データの記憶アドレスを管理するアドレス管理テーブル(AT)と該アドレス管理テーブルの記憶アドレスを管理するアドレス管理テーブルインデックス(ATI)とが格納された不揮発性の主記憶メモリと、この不揮発性の主記憶メモリに対して外部から与えられた論理アドレスに応じてアクセスするメモリコントローラとを備える不揮発性記憶装置であって、前記メモリコントローラは、データの読み書き制御を行う制御手段と、前記主記憶メモリよりも書き換え保証回数が多く且つ前記アドレス管理テーブルインデックスの物理アドレスを保持するアドレス管理テーブルインデックスポインタ(ATIポインタ)が格納されている不揮発性補助記憶メモリと、を有しており、前記制御手段は、不揮発性補助記憶メモリ上のアドレス管理テーブルインデックスポインタを参照することでアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいてアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行うものであり、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更することを特徴とする。
この不揮発性記憶装置は、前述したメモリコントローラをその内部に内蔵しているものであるため、作用効果は上記したことと略同一である。
また、本発明における課題解決のための技術的手段は、データと該データの記憶アドレスを管理するアドレス管理テーブル(AT)と該アドレス管理テーブルの記憶アドレスを管理するアドレス管理テーブルインデックス(ATI)とが格納された不揮発性の主記憶メモリと、この不揮発性の主記憶メモリに対して論理アドレスに応じてデータを読み書きするメモリコントローラとを備えると共に、前記論理アドレスを付与するアクセス装置を有する不揮発性記憶システムであって、前記メモリコントローラは、データの読み書き制御を行う制御手段と、前記主記憶メモリよりも書き換え保証回数が多く且つ前記アドレス管理テーブルインデックスの物理アドレスを保持するアドレス管理テーブルインデックスポインタ(ATIポインタ)が格納されている不揮発性補助記憶メモリと、を有しており、前記制御手段は、不揮発性補助記憶メモリ上のアドレス管理テーブルインデックスポインタを参照することでアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいてアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行うものであり、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更することを特徴とする。
この不揮発性記憶システムは、前述したメモリコントローラをその内部に内蔵しているものであるため、作用効果は上記したことと略同一である。
また、本発明における課題解決のための技術的手段は、外部から与えられる論理アドレスに応じて、不揮発性の主記憶メモリに対してデータを読み書きする際に用いるメモリ制御方法であって、前記主記憶メモリとは別に設けられた不揮発性補助記憶メモリに格納されたアドレス管理テーブルインデックスポインタ(ATIポインタ)を参照することで、主記憶メモリ上のアドレス管理テーブルインデックス(ATI)を読み出し、該アドレス管理テーブルインデックスに基づいて、主記憶メモリからアドレス管理テーブル(AT)を読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行い、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更することを特徴とする。
このメモリ制御方法によれば、AT及びATIを主記憶メモリ内に書き込む際には、その書き込みアドレスを常に変更するようにしているため、ATやATIがいつも主記憶メモリ上の同一物理アドレスに書き込まれることが避けられるものとなっている。
加えて、主記憶メモリ上の1つのデータ書き込み単位(ブロック)内の複数の場所のいずれかに変更後のATIを書き込むに当たっては、そのブロックのアドレスは同一であるため、不揮発性補助記憶メモリ内のATIポインタを書き換える必要はない。例えば、1ブロック内に8つのATI書き込み領域が用意され、その領域に更新されたATIを順次書き換えていくとした場合、ATIポインタの書き換えは、ブロック変更時すなわちATIを8回書き換えた後に1回発生することとなる。これにより、ATI及びATIポインタの書き換えに関して、主記憶メモリのみならず不揮発性補助記憶メモリの書き換え保証回数を上回ることを防ぐことができる。
また、以上述べた技術的手段において、前記不揮発性補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリであることが好ましい。
こうすることで、不揮発性補助記憶メモリでATIポインタを書き換える場合、主記憶メモリ上で行うより高速に書き換え処理を実行できるようになる。
なお、前記不揮発性補助記憶メモリは、不揮発性RAMから構成され、この不揮発性RAMは、強誘電体メモリ(FeRAM)、磁性記録式随時書き込み読み出しメモリ(MRAM)、オボニックユニファイドメモリ(OUM)、レジスタンスRAM(RRAM)のいずれかであることが好ましい。
本発明によれば、不揮発性補助記憶メモリ上でATIのポインタ情報を逐次更新するだけで、ATIおよびATが再配置可能となるので、主記憶メモリ上で、ATやATIの格納領域を最小限に抑えることができ、リソースの節減ができると共に信頼性向上が可能となる。
また、不揮発性補助記憶メモリ上にはATIのポインタ情報のみがあるため、更新されたATIを同一アドレスのブロック内の別場所に書き込む際には、当該不揮発性補助記憶メモリ上のATIポインタを書き換える必要がなくなる。ゆえに、不揮発性補助記憶メモリの書き換え保証回数が、ATIの書き換え回数に対して十分ではない場合であっても、不揮発性補助記憶メモリのみが先に寿命に達することを防ぐことができるものとなる。
以下、本発明にかかるメモリコントローラ及び不揮発性記憶装置を、SDメモリカードを例示して説明する。SDメモリカードは、フラッシュメモリを不揮発性の主記憶メモリとして使用する小型の半導体メモリカードであり、図1に示すような構造を有している。すなわち、SDメモリカード(不揮発性記憶装置)は、フラッシュメモリ104と、このフラッシュメモリ104に外部からの指令を受けてアクセスしデータの読み書きを行うメモリコントローラ108を有している。
メモリコントローラ108は、ホストI/F110と、不揮発性RAM(不揮発性補助記憶メモリ)101、RAM103、制御部102から構成されている。本実施の形態の場合、不揮発性RAMとしては強誘電体メモリ(FeRAM)を採用し、RAMとしてはSRAMを使用している。
ホストI/F110は、外部に設けられたアクセス装置111からの命令を受けたり、フラッシュメモリから読み込んだデータを出したりする機能を有し、制御部102は、アクセス装置111からのコマンドなどによりフラッシュメモリ104に対するアクセスなどを制御するものである。RAM103には、データやデータのアドレスを管理するアドレス管理テーブル(AT)などが一時的に蓄えられる。不揮発性RAM101にはATIポインタが格納されている。このATIポインタは、ATの物理アドレスを管理するアドレス管理テーブルインデックス(ATI)が格納されている物理アドレスを指し示すものである。
一方、フラッシュメモリ104は、データ領域#0〜#3の4つに分割されており、それぞれのデータ領域は、消去単位である複数の物理ブロックを有する。各物理ブロックは2ページからなり、各ページサイズは2KBで構成されている。
各データ領域内には、ATを格納するブロックと、ATIを格納するブロックと、データを格納するブロックとが設けられている。図1の105は旧ATを記憶しているブロックであり、106は現在のAT(現AT)を記憶しているブロック、107は現ATの管理下にあるデータエントリ、109はATIを記憶しているブロックとなっている。その他のブロック構成は、図5に示した従来の不揮発性記憶装置と同様である。
上述した中で、アドレス管理テーブル(AT)等の言葉が出てきているので、ここで、それらの関係について整理しておく。本実施の形態のSDメモリカードでは、
(i) フラッシュメモリ内の所定のブロックにコンテンツデータ等が格納されている。
(ii) 前記データが格納されたブロックの物理アドレス情報は、フラッシュメモリ内のアドレス管理テーブル(AT)に格納されている。
(iii) 前記ATが格納されている領域の物理アドレスは、フラッシュメモリ内に記憶されたアドレス管理テーブルインデックス(ATI)に記憶されている。
(iv) 前記ATIが格納されている領域の物理アドレスは、不揮発性RAM内のATIポインタに記憶されている。
(i) フラッシュメモリ内の所定のブロックにコンテンツデータ等が格納されている。
(ii) 前記データが格納されたブロックの物理アドレス情報は、フラッシュメモリ内のアドレス管理テーブル(AT)に格納されている。
(iii) 前記ATが格納されている領域の物理アドレスは、フラッシュメモリ内に記憶されたアドレス管理テーブルインデックス(ATI)に記憶されている。
(iv) 前記ATIが格納されている領域の物理アドレスは、不揮発性RAM内のATIポインタに記憶されている。
図2は、不揮発性RAM101内に記憶されるATIポインタのフォーマットを示している。ATIポインタは2バイトで構成されており、Byte0の8ビット、Byte1の2ビットから構成されている。Byte1のb1がMSBであり、Byte0のb0がLSBである。言い換えるならば、図2において、上位バイト、即ちByte0から2バイト分は、データ領域#0〜#3の旧AT及び現ATの物理アドレスを管理するATIの物理アドレスを保持する領域である。当該ATIポインタがどのデータ領域を指し示すかは、ホストI/F110を介してアクセス装置111から与えられるものとなっている。
図3は、フラッシュメモリ104に記録されたATIの格納フォーマットである。ATIの内容としては、新旧2つのATがそれぞれ格納されている物理アドレス(ATポインタ)を有している。例えば、図3におけるATポインタ#0_0とATポインタ#0_1である。これら2つのATポインタ領域の内、どちらかに現在のAT(現AT)が記憶される。さらに、ATIは、ATポインタ#0_0とATポインタ#0_1に引き続いて、データ領域#1〜#3のATポインタを順に備えるものとなっている(ATポインタ#1_0とATポインタ#1_1、ATポインタ#2_0とATポインタ#2_1、ATポインタ#3_0とATポインタ#3_1)。
各ATポインタの内訳は、ATの物理アドレスを保持する10ビット分の領域を持ち、Byte1のb1がMSB、Byte0のb0がLSBである。さらに、Byte1のb7は、現ATであることを指し示す現AT識別フラグであり、値1が付与された方のATポインタが、現ATの物理アドレスを保持したポインタとなる。このようなATIがフラッシュメモリの1ブロック内に8個記録されるようになっている(ATI#0〜ATI#7)。
図4は、本実施の形態にかかるアドレス管理情報の更新方法を示すフローチャートであり、この図や図1〜図3及び表1を用いて、本実施の形態による不揮発性記憶装置の動作について説明する。なお、基本的な動作は図6に示した特許文献2の不揮発性記憶装置と略同様である。特許文献2の技術との大きな相違点は、ATI及びATの再配置方法、即ちATI及びATの物理アドレスの決定方法であり、本実施の形態では不揮発性RAM101上でATIポインタを更新することによってATI及びATの再配置を行うことである。
以下、アクセス装置111から書き込み要求があった場合の処理について説明する。まず、フラッシュメモリ104に初めてデータが書き込まれる時においては、不揮発性RAM101には、ATIポインタが格納されており、そのポインタ値は物理ブロック番号2が設定されているとする。
ATIには、各ATを指し示すATポインタが8個格納されており、その一つのATI、例えばATI#0に着目すると、そこに格納されているATポインタの0番側(ATポインタ#0_0、ATポインタ#1_0、ATポインタ#2_0、ATポインタ#3_0)は、現AT識別フラグ(太枠のビット)の値が1に設定されていて、ポインタ値としては物理ブロック番号0が設定されているとする。但しATI及びATが記録されている物理ブロックはバッドブロックではないとする。
この状態の後、アクセス装置から与えられる論理アドレスに従い、データの書き込み先の領域を決定する(図4のS401)。例えば、外部のアクセス装置から論理アドレス0が指定されると、不揮発性RAM101に記憶されているATIポインタからフラッシュメモリ104に記憶されているATIを読み出し(S402)、ATIからフラッシュメモリ104の中のデータ領域#0の物理ブロック番号0が現ATとして指定され、フラッシュメモリ104から現ATをRAM103に読み出す(S403)。論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックし、論理ブロック番号に対応する1ワード中に物理ブロック番号が登録されていない、即ち未アロケートの場合は、未アロケート物理ブロック番号を検出し、当該物理ブロックをイレーズ処理し、データをフラッシュメモリ104に書き込み、データを書き込んだ物理ブロック番号に対応したアロケーションフラグをアロケート済み状態、即ち値0に更新する(S404)。
その後、RAM103上のATに基づいて、未アロケート物理ブロック番号を検出し(例えば物理ブロック番号5)、当該物理ブロックをイレーズ処理し、当該物理ブロックをアロケート済み状態、即ち値0に更新した上で、RAM103のATをフラッシュメモリ104に書き戻す(S405)。
その際、物理ブロック番号5が現ATとなるので、フラッシュメモリ104のATIの未書込み領域、例えばATI#1に、ATポインタ#0_1のポインタ値を物理ブロック番号5に設定し、現AT識別フラグ(太枠のビット)の値1とし、更にATポインタ#0_0は旧ATとなるので、現AT識別フラグ(太枠のビット)に値0を書き込む。
以上の処理が終わった時の不揮発性RAM101の記憶状態を図2、フラッシュメモリ104のATI領域の記憶状態を図3に示す。
図3から判るように、ATIが書き込まれるブロックには複数(8個)のATI領域があり、本実施の形態では、ATI#0の値を基にデータを読み書きし、その後に更新されたATIの値をATI#1に書き込むようにしている。すなわち、ATIの値をATI#0〜#7にシーケンシャルに書き込むようにしている。このように、フラッシュメモリ上の1ブロック内の異なった位置にATIを順次書き込んだとしても、そのブロックのアドレスは同一であるため、不揮発性RAM内のATIポインタを書き換える必要はない。そのため、ATIポインタ自体の書き換えは、ブロック変更時すなわちATIを8回書き換えた後に1回発生することとなる。
ATIポインタが格納される不揮発性RAM101は、表1に示すように、フラッシュメモリと比較すると、書き換え保証回数が理論値で100億回と多く、不揮発性RAM101上でのATIポインタの更新、即ち書き換えによる寿命を特に考慮する必要がない。しかしながら、実際の不揮発性RAMを考えた場合、リード時も「書き換え1回」とカウントしたりすることや製品のばらつき等があり、実際に書き換えできる回数が少なくなる可能性も否めない。そのような場合であっても、本実施の形態ではATIポインタの書き換え回数を極力少なくすることが可能であるため、SDメモリカード内のメモリコントローラの高寿命化を図ることができる。
また、本実施の形態においては、不揮発性RAM上でATIポインタの情報を逐次更新するだけで、ATIおよびATが再配置可能となるので、フラッシュメモリ上でのATやATIの格納領域を最小限に抑えることができリソースの節減ができるようにもなる。
次にアクセス装置から、書き込み要求があった場合は、図1に示す通り、物理ブロック番号5のアドレスに記憶されている現ATに基づいて、斜線を施した物理ブロック、即ち物理ブロック番号4092の物理ブロックにデータを書き込めばよい。
なお、本発明は、上記実施の形態に限定されるものではない。すなわち、不揮発性RAM101は、強誘電体メモリ(FeRAM)に限定されず、磁性記録式随時書き込み読み出しメモリ(MRAM)や、オボニックユニファイドメモリ(OUM)や、レジスタンスRAM(RRAM)等を採用してもよい。
また、フラッシュメモリ104はデータ領域#0〜データ領域#3に分割しなくても構わない。また不揮発性RAM101はメモリコントローラ108に内蔵させず、メモリコントローラ108の外部にあっても構わない。
なお、AT自体を不揮発性RAM101に記憶させることも考えられるが、本実施の形態のようにATの容量は2KBと比較的大きな容量である為、現状の不揮発性RAM101より容量の大きな不揮発性RAMを備える必要がありコスト的にデメリットがある。フラッシュメモリの容量が大きくなればなるほどアドレス管理情報ATの容量が大きくなるので、上記デメリットは更に顕著となる。したがって、本実施の形態の構成が最良である。
本発明にかかる不揮発性記憶装置は、不揮発性メモリを主記憶メモリとして使用し、また不揮発性の補助記憶メモリを使用した装置において、高速処理性を損なうことなく低コスト且つ高信頼性を実現する技術を提案したものであり、静止画記録再生装置や動画記録再生装置等のポータブルAV機器、あるいは携帯電話等のポータブル通信機器の記録媒体として有益である。
101 不揮発性RAM
102 制御部
103 RAM
104 フラッシュメモリ
105 旧ATが格納されたブロック(領域)
106 現ATが格納されたブロック(領域)
107 データが格納されたブロック(領域)
108 メモリコントローラ
109 ATIが格納されたブロック(領域)
110 ホストI/F
111 アクセス装置
102 制御部
103 RAM
104 フラッシュメモリ
105 旧ATが格納されたブロック(領域)
106 現ATが格納されたブロック(領域)
107 データが格納されたブロック(領域)
108 メモリコントローラ
109 ATIが格納されたブロック(領域)
110 ホストI/F
111 アクセス装置
Claims (28)
- データと該データの記憶アドレスを管理するアドレス管理テーブルと該アドレス管理テーブルの記憶アドレスを管理するアドレス管理テーブルインデックスとが格納された不揮発性の主記憶メモリに、外部から与えられる論理アドレスに応じてアクセスするメモリコントローラであって、
前記メモリコントローラは、
データの読み書き制御を行う制御手段と、
前記主記憶メモリよりも書き換え保証回数が多く且つ前記アドレス管理テーブルインデックスの物理アドレスを保持するアドレス管理テーブルインデックスポインタが格納されている不揮発性補助記憶メモリと、を有しており、
前記制御手段は、不揮発性補助記憶メモリ上のアドレス管理テーブルインデックスポインタを参照することでアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいてアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行うものであり、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更するものであることを特徴とするメモリコントローラ。 - 前記不揮発性補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリであることを特徴とする請求項1に記載のメモリコントローラ。
- 前記不揮発性補助記憶メモリは、不揮発性RAMから構成されることを特徴とする請求項1又は2記載のメモリコントローラ。
- 前記不揮発性RAMは、強誘電体メモリ(FeRAM)であることを特徴とする請求項3に記載のメモリコントローラ。
- 前記不揮発性RAMは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項3に記載のメモリコントローラ。
- 前記不揮発性RAMは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項3に記載のメモリコントローラ。
- 前記不揮発性RAMは、レジスタンスRAM(RRAM)であることを特徴とする請求項3に記載のメモリコントローラ。
- データと該データの記憶アドレスを管理するアドレス管理テーブルと該アドレス管理テーブルの記憶アドレスを管理するアドレス管理テーブルインデックスとが格納された不揮発性の主記憶メモリと、この不揮発性の主記憶メモリに対して外部から与えられた論理アドレスに応じてアクセスするメモリコントローラとを備える不揮発性記憶装置であって、
前記メモリコントローラは、
データの読み書き制御を行う制御手段と、
前記主記憶メモリよりも書き換え保証回数が多く且つ前記アドレス管理テーブルインデックスの物理アドレスを保持するアドレス管理テーブルインデックスポインタが格納されている不揮発性補助記憶メモリと、を有しており、
前記制御手段は、不揮発性補助記憶メモリ上のアドレス管理テーブルインデックスポインタを参照することでアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいてアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行うものであり、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更するものであることを特徴とする不揮発性記憶装置。 - 前記不揮発性補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリであることを特徴とする請求項8に記載の不揮発性記憶装置。
- 前記不揮発性補助記憶メモリは、不揮発性RAMから構成されることを特徴とする請求項8又は9に記載の不揮発性記憶装置。
- 前記不揮発性RAMは、強誘電体メモリ(FeRAM)であることを特徴とする請求項10に記載の不揮発性記憶装置。
- 前記不揮発性RAMは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項10に記載の不揮発性記憶装置。
- 前記不揮発性RAMは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項10に記載の不揮発性記憶装置。
- 前記不揮発性RAMは、レジスタンスRAM(RRAM)であることを特徴とする請求項10に記載の不揮発性記憶装置。
- データと該データの記憶アドレスを管理するアドレス管理テーブルと該アドレス管理テーブルの記憶アドレスを管理するアドレス管理テーブルインデックスとが格納された不揮発性の主記憶メモリと、この不揮発性の主記憶メモリに対して論理アドレスに応じてデータを読み書きするメモリコントローラとを備えると共に、前記論理アドレスを付与するアクセス装置を有する不揮発性記憶システムであって、
前記メモリコントローラは、
データの読み書き制御を行う制御手段と、
前記主記憶メモリよりも書き換え保証回数が多く且つ前記アドレス管理テーブルインデックスの物理アドレスを保持するアドレス管理テーブルインデックスポインタが格納されている不揮発性補助記憶メモリと、を有しており、
前記制御手段は、不揮発性補助記憶メモリ上のアドレス管理テーブルインデックスポインタを参照することでアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいてアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行うものであり、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更するものであることを特徴とする不揮発性記憶システム。 - 前記不揮発性補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリであることを特徴とする請求項15に記載の不揮発性記憶システム。
- 前記不揮発性補助記憶メモリは、不揮発性RAMから構成されることを特徴とする請求項15又は16に記載の不揮発性記憶システム。
- 前記不揮発性RAMは、強誘電体メモリ(FeRAM)であることを特徴とする請求項17に記載の不揮発性記憶システム。
- 前記不揮発性RAMは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項17に記載の不揮発性記憶システム。
- 前記不揮発性RAMは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項17に記載の不揮発性記憶システム。
- 前記不揮発性RAMは、レジスタンスRAM(RRAM)であることを特徴とする請求項17に記載の不揮発性記憶システム。
- 外部から与えられる論理アドレスに応じて、不揮発性の主記憶メモリに対してデータを読み書きする際に用いるメモリ制御方法であって、
前記主記憶メモリとは別に設けられた不揮発性補助記憶メモリに格納されたアドレス管理テーブルインデックスポインタを参照することで、主記憶メモリ上のアドレス管理テーブルインデックスを読み出し、該アドレス管理テーブルインデックスに基づいて、主記憶メモリからアドレス管理テーブルを読み出し、該アドレス管理テーブルを用いて論理アドレスを物理アドレスに変換してデータの読み込みや書き込みを行い、さらに当該アドレス管理テーブルインデックス及びアドレス管理テーブルの主記憶メモリ上での記憶アドレスの固定化を防ぐべく、アドレス管理テーブルインデックス及びアドレス管理テーブルを主記憶メモリへ書き戻す際にその書き込みアドレスを変更することを特徴とするメモリ制御方法。 - 前記不揮発性補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリであることを特徴とする請求項22に記載のメモリ制御方法。
- 前記不揮発性補助記憶メモリは、不揮発性RAMから構成されることを特徴とする請求項22又は23に記載のメモリ制御方法。
- 前記不揮発性RAMは、強誘電体メモリ(FeRAM)であることを特徴とする請求項24に記載のメモリコントローラ。
- 前記不揮発性RAMは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項24に記載のメモリ制御方法。
- 前記不揮発性RAMは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項24に記載のメモリ制御方法。
- 前記不揮発性RAMは、レジスタンスRAM(RRAM)であることを特徴とする請求項24に記載のメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005000790A JP2006190036A (ja) | 2005-01-05 | 2005-01-05 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005000790A JP2006190036A (ja) | 2005-01-05 | 2005-01-05 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006190036A true JP2006190036A (ja) | 2006-07-20 |
Family
ID=36797184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005000790A Pending JP2006190036A (ja) | 2005-01-05 | 2005-01-05 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006190036A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097107A (ja) * | 2006-10-06 | 2008-04-24 | Seiko Epson Corp | データ記録装置及びその制御方法 |
JP2008152415A (ja) * | 2006-12-15 | 2008-07-03 | Matsushita Electric Ind Co Ltd | アクセス装置、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
JP2021015388A (ja) * | 2019-07-11 | 2021-02-12 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
-
2005
- 2005-01-05 JP JP2005000790A patent/JP2006190036A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008097107A (ja) * | 2006-10-06 | 2008-04-24 | Seiko Epson Corp | データ記録装置及びその制御方法 |
JP2008152415A (ja) * | 2006-12-15 | 2008-07-03 | Matsushita Electric Ind Co Ltd | アクセス装置、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
JP2021015388A (ja) * | 2019-07-11 | 2021-02-12 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
JP7317609B2 (ja) | 2019-07-11 | 2023-07-31 | 日立Astemo株式会社 | 電子制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709597B2 (en) | Memory system and method for controlling nonvolatile memory | |
US7594067B2 (en) | Enhanced data access in a storage device | |
US11416387B2 (en) | Memory system and method for controlling nonvolatile memory | |
US8180955B2 (en) | Computing systems and methods for managing flash memory device | |
US7191306B2 (en) | Flash memory, and flash memory access method and apparatus | |
EP3436953B1 (en) | Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device | |
JP4871260B2 (ja) | メモリモジュール、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリの読み書き方法 | |
JPWO2006067923A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 | |
KR101465789B1 (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
US20080189490A1 (en) | Memory mapping | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
US8438325B2 (en) | Method and apparatus for improving small write performance in a non-volatile memory | |
US8521947B2 (en) | Method for writing data into flash memory | |
US11347412B2 (en) | Memory system and method of controlling nonvolatile memory | |
US20140223075A1 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
KR20120074707A (ko) | 플래시 메모리를 사용하는 저장장치 및 주소 사상과 데이터 페이지 할당 방법 | |
TWI417720B (zh) | 快閃記憶體管理方法與計算機系統 | |
JP2006190036A (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 | |
KR20100022811A (ko) | 플래시메모리 저장장치 및 그에 따른 관리 방법 | |
JP2005092678A (ja) | 半導体メモリカード及び不揮発性メモリのデータ消去処理方法 | |
JP2004199605A (ja) | 半導体メモリカードおよび管理情報更新方法 | |
CN107025062B (zh) | 数据储存方法及其系统 | |
JP2005250831A (ja) | 半導体メモリ装置 | |
JP2006099211A (ja) | メモリコントローラ及び不揮発性記憶装置 | |
JP2005234738A (ja) | 半導体メモリ装置 |