JP4667243B2 - 不揮発性記憶装置及びその書込み方法 - Google Patents

不揮発性記憶装置及びその書込み方法 Download PDF

Info

Publication number
JP4667243B2
JP4667243B2 JP2005513535A JP2005513535A JP4667243B2 JP 4667243 B2 JP4667243 B2 JP 4667243B2 JP 2005513535 A JP2005513535 A JP 2005513535A JP 2005513535 A JP2005513535 A JP 2005513535A JP 4667243 B2 JP4667243 B2 JP 4667243B2
Authority
JP
Japan
Prior art keywords
logical
address
data
block
physical block
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.)
Active
Application number
JP2005513535A
Other languages
English (en)
Other versions
JPWO2005022393A1 (ja
Inventor
利行 本多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2005022393A1 publication Critical patent/JPWO2005022393A1/ja
Application granted granted Critical
Publication of JP4667243B2 publication Critical patent/JP4667243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Description

本発明は書き換え可能な不揮発性メモリを有する不揮発性記憶装置及びその書込み方法に関するものである。
書き換え可能な不揮発性メモリを有する半導体メモリは、メモリカードとして需要が広まっている。そのメモリカードに主に使用されている不揮発性メモリであるNAND型フラッシュメモリは、16KBを消去単位としてきた。そのためにメモリカードを使用する外部ホスト機器は16KBというサイズを書き込みの管理単位として使用している。
しかし、近年メモリカードの容量の増加のために、内蔵するNAND型フラッシュメモリ容量も増加し、それに伴い消去単位を128KBとしたNAND型フラッシュメモリが提案されている。しかし、メモリカードを使用する外部ホスト機器からの16KB単位での書き込みに対して、メモリカード内部のコントローラではNAND型フラッシュメモリの消去単位である128KB単位として扱うために、ホスト機器からみて相対的に16KB単位の書き込みに要する時間がかかるという欠点があった。
次に従来の半導体メモリカードについてより具体的に説明する。第1図は従来のメモリカード100を示す図であり、コントローラ101と不揮発性メモリであるフラッシュメモリFM0〜FM3が設けられている。各フラッシュメモリFM0〜FM3は夫々例えば128MBの容量を有しており、有効データ領域として500MBのメモリカードを構成している。又コントローラ101は第1図に示すように、CPU111、2KBの容量を持つ一時退避バッファ112、512Bの容量を持つデータ転送バッファ113、12ビットで4KWord構成、即ち6KBの容量を持つアドレス変換テーブル114、及び1ビットで4KWord構成、即ち全512Bの容量を持つエントリテーブル115によって構成されている。
さてフラッシュメモリFM0〜FM3は第1図に示すように、夫々128MBの容量を持っている。各フラッシュメモリFM0〜FM3は第2図(a)に示すように、夫々が128KBの容量を持つ1024の物理ブロック(PB0〜PB1023)によって構成される。これによってメモリカード100の不揮発性メモリの全容量は512MBとなる。このうちホスト機器102がデータ領域として使用できる容量は500MBである。
第2図(b)はフラッシュメモリ内の1つの物理ブロックPBi(i=0〜1023)の構成を示している。物理ブロックは物理ページPP0〜PP63までの64の物理ページから成り立っている。各物理ページは第3図に示すように、2KBの容量を持つデータ領域と、64Bの容量を持つ管理領域から成り立っている。
さてこのメモリカード100は外部のホスト機器102から見て500MBのメモリ容量があり、第4図に示すような論理マップによって論理アドレスが割り付けられる。即ち500MBのデータ領域は論理ブロックLB0から論理ブロックLB3999まで4000の論理ブロック(LB)に分割され、各論理ブロックが128KBの容量を持つ。この論理ブロックアドレスはホスト機器が指定するアドレスと対応している。
第1図に示すアドレス変換テーブル114は論理グループを示す論理アドレスが与えられたときに、フラッシュメモリとその中の物理ブロックを指定するものである。このうち最初の2ビットはフラッシュメモリFM0からFM3のどれかを示すビット、続く10ビットはそのフラッシュメモリ内のどの物理ブロックかを示すビットである。又エントリテーブル115は、4096の物理ブロックに対応した1ビット構成のフラグから成るテーブルである。このフラグは消去済みであれば1、書込み済みの場合は0とする。
次にデータの読み出し処理について、第5図のデータ読み出しの概略図を用いて説明する。ホスト機器102からの論理アドレス(LA)のうち、128KB単位のアドレスを論理ブロックアドレス(LBA)、128KB未満のアドレスを論理ページアドレス(LPA)とする。論理ブロックアドレスを元にアドレス変換テーブル114から物理ブロックPBを指定し、これを読み出し元物理ブロックとする。そして読み出し元物理ブロックの論理ページアドレスのデータを読み出してデータ転送バッファ113を介してホスト機器102に転送する。そして読み出しが終了したかどうかをチェックし、終了していなければ論理ページアドレスがブロック内で最終となったかどうかをチェックする。最終でなければ論理ページアドレスをインクリメントし、同様の処理を繰り返す。論理ページアドレスがブロック内で最終となれば、論理ページアドレスを0とし、論理ブロックアドレスをインクリメントして同様の処理を繰り返す。こうすれば指定された論理アドレスからデータを読み出すことができる。
次に書込みの処理について第6図のフローチャートを用いて説明する。データを書込む際には、まずステップS301においてホスト機器102からの論理アドレスLAのうち、128KB単位のアドレスを論理ブロックアドレス(LAB)とし、128KB単位未満のアドレスを論理ページアドレス(LPA)に分ける。次いでステップS302においてエントリテーブルを検索し、消去済みの物理ブロックを得て書込み先物理ブロック(PB)とする。そしてエントリテーブル115の該当ビットを書込み済み「0」に更新する。次いでステップS303に進んで論理ページアドレスLPAが0かどうかをチェックし、0でなければ後述する前半巻き込み処理を行う(ステップS304)。論理ページアドレスが0であれば、この処理を行うことなくステップS305に進む。そしてステップS305において、ホスト機器102からの書込みデータをページバッファを介してフラッシュメモリに転送し、書込み先物理ブロックの論理ページアドレスに書込む。このとき管理領域に書込むための管理情報を同時に書込んでおく。そしてステップS306において書込みを終了したかどうかをチェックし、終了していなければステップS307において論理ページアドレス(LPA)がブロック内の最終かどうかをチェックする。最終でなければステップS308において論理ページアドレスLPAをインクリメントし、ステップS305に戻る。論理ページアドレスが最終ブロックであれば、ステップS309において消去とテーブル更新を行い、ステップS310において論理ページアドレスLPAを0、論理ブロックアドレスLBAをインクリメントして、ステップS302に戻る。又ステップS306において書込みが終了すれば、ステップS311において論理ページアドレスがブロック内最終かどうかをチェックする。最終でなければステップS312において後半の巻き込み処理を行い、ブロック内で最終であれば、この処理を行うことなくステップS313に進んで消去とテーブル更新を行って処理を終える。
このように従来の不揮発性記憶装置のデータ書き込み方法によれば、第7図に示すように読出し元物理ブロック120が128KBあり、そのうちのホスト機器が管理する16KBの新しいデータ122を書込む場合であっても、書込み先物理ブロック121は128KB単位で書き込みを行う。読出し元物理ブロック120のうち物理ブロックに書込まない前半の領域120−1については、前半巻き込み処理によってフラッシュメモリの書込み先物理ブロック121−1にコピーする。同様に後半の領域120−2についても、後半の巻き込み処理によって書込みページアドレス以降の論理ページアドレスについて書込み先物理ブロック121−2にコピーする。従って従来のデータ書き込み処理によれば、第7図に示すように外部のホスト機器で管理されているデータ処理単位が16KBであっても、書き込み先の物理ブロック単位で書き込まれることとなる。
このように従来の不揮発性記憶装置のデータ書き込み方法によれば、フラッシュメモリの消去サイズより小さなデータを書込むときに、メモリカード内部においてはフラッシュメモリの消去サイズと同等のデータを書き込むため、書き込み速度が低下するという欠点があった。
本発明はこのような従来の問題点に鑑みてなされたものであって、書き込みの単位を小さくして高速で書き込みを行うことができるようにすると共に、書込まれたデータを集約することによって消去済みのブロックを確保し、確保した消去済みの領域を次の書込みを容易に行えるようにすることを目的とする。
この課題を解決するために、本発明は、不揮発性メモリと、コントローラと、を有し、外部から与えられる論理アドレスに基づいて前記不揮発性メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、前記不揮発性メモリは、複数の物理ブロックから成り、前記各物理ブロックは複数の物理ページで構成される部分物理ブロックから成り、前記各物理ページは前記データを書き込むデータ領域と管理情報を書き込む管理領域とから成るものであり、外部からは、一連の論理グループアドレスと各論理グループに属する一連の論理ブロックアドレスと各論理ブロックに属する一連のページアドレスとを含む論理アドレスが与えられるものであり、前記論理ブロックのサイズは前記不揮発性メモリの部分物理ブロックのサイズに相当するものであり、前記コントローラは、外部から与えられる論理アドレスのうち論理グループアドレスをその論理グループに属する論理ブロックが記録される物理ブロックアドレスに変換するアドレス変換領域、及びある論理グループのデータが複数の物理ブロックに重複して記録された場合に、重複して記録されている物理ブロックアドレスを示す重複アドレス登録領域を有するアドレス変換テーブルと、各物理ブロックについて書き込み済み及び消去済みのいずれかを示すエントリーテーブルと、を有し、書き込みのためのデータとその論理アドレスとが外部から与えられたときに、未書き込みの領域に前記論理アドレスの論理ブロックのデータを部分物理ブロックの単位で前記データ領域に書き込むと同時に、前記論理ブロックが有する論理グループに含まれる全ての論理ブロックのデータが書き込まれた部分物理ブロックのアドレスを示すアドレステーブルを前記管理領域に書き込み、その後前記アドレス変換テーブルのアドレス変換領域又は重複アドレス登録領域を更新することを特徴とする。
このような特徴を有する本発明によれば、データ書き込みの際の書き込み単位をホスト機器で用いられているデータ書き込み単位と同一とし、しかもメモリカード内の不揮発性メモリの消去単位が大容量化により拡大した場合であっても外部ホスト機器からみたデータの書き込みを短時間で行うことができる。又書き込み領域のうちの一部が使用されている場合であっても、消去済みのブロックの確保処理を行うことによって書き込み可能な領域を形成することができるという効果が得られる。
(実施の形態1)
第8図は本発明の実施の形態1によるメモリカードの構成を示すブロック図である。本図に示すように、メモリカード1はコントローラ2及び不揮発性メモリ、例えば128MBの容量を持つフラッシュメモリFM0〜FM3によって構成されている。コントローラ2はCPU11、2KBの容量を持つ一時退避バッファ12、512Bの容量を持つデータ転送バッファ13、15ビットで4KWordの構成、即ち7.5KBの容量を持つアドレス変換テーブル14と、1ビットで4KWordの構成、即ち512Bの容量を持つエントリテーブル15によって構成されている。
さてフラッシュメモリFM0〜FM3は第8図に示すように、夫々128MBの容量を持っている。各フラッシュメモリFM0〜FM3は第9図(a)に示すように、夫々が128KBの容量を持つ1024の物理ブロック(PB0〜PB1023)によって構成される。これによってメモリカード1の不揮発性メモリの全データ容量は512MBとなり、このうち外部からデータ領域として使用できる容量は500MBである。
第9図(b)はフラッシュメモリ内の1つの物理ブロックPBi(i=0〜1023)を示している。ここで物理ブロックは64の物理ページPP0〜PP63から成り立っている。そしてその中の各8ページ、即ちホスト機器での管理サイズに等しい16KB分を、部分物理ブロックPPBとする。例えばPP0〜PP7までを部分物理ブロックPPB0とする。即ち物理ブロックPBiは夫々8つの部分物理ブロックから成り立っている。ここで部分物理ブロックPPBは後述する論理ブロックと同一のサイズであり、論理ブロックのデータを書込む領域である。又物理ページがデータの書込み単位となっている。
さてこのメモリカード1は外部のホスト機器3から見て500MBのメモリ容量があり、第10図に示すような論理マップによって論理アドレスが割り付けられる。即ち500MBのデータ領域は論理グループLG0から論理グループLG3999まで4000の論理グループ(LG)に分割され、各論理グループが128KBのデータ容量を持つ。そして各論理グループは16KBのデータ容量単位の8つの論理ブロック(LB)に分割される。論理ブロックLBは図示のようにLG0〜LG31999までの一連の番号が割り当てられている。この論理アドレスはホスト機器が指定するアドレスと対応している。そして異なる論理グループのデータは必ず物理的に異なる消去単位(物理ブロック)に含まれる部分物理ブロックに配置される。又各論理ブロックは夫々1つの部分物理ブロックに配置される。部分物理ブロックの8つの物理ページは夫々8つの論理ページに対応し、各物理ページは2KBの容量を持つデータ領域と、64Bの容量を持つ管理領域から成り立っている。物理ページのデータの構成は後ほど第12図で示すが、データ領域と管理領域ともに連続した領域を占有せず、複数の領域に離散して構成される。
第11図はアドレス変換テーブル14を示すブロック図である。本図に示すように、アドレス変換テーブル14は論理グループを示す論理アドレスが与えられたときに、フラッシュメモリとその中の物理ブロック及びその部分物理ブロックを指定する15ビットのアドレス変換領域ACR14aが設けられる。このうち最初の2ビットはフラッシュメモリFM0からFM3のどれかを示すビット、続く10ビットはそのフラッシュメモリ内のどの物理ブロックPBかを示すビット、続く3ビットはその物理ブロック内のどの部分物理ブロックPPBかを示すビットである。アドレス変換テーブル14のアドレス変換領域14aを除く空き領域の一部には、重複アドレス登録領域OARR14bが設けられる。ある論理グループのデータが複数の物理ブロックにまたがって記録されることがあるので、そのときに重複アドレス登録領域14bに登録される。重複アドレス登録領域14bは16の領域を持ち、各領域は重複部分物理ブロックアドレスOPPBA15ビット、重複論理グループアドレスOLGA12ビットから成り立っている。重複アドレス登録領域14bにおいて、重複部分物理ブロックアドレスの無効値を0とする。フラッシュメモリFM0の先頭の物理ブロックPB0に含まれる部分物理ブロックPPB0は固定したデータを書き込む領域として予定されているので、重複部分物理ブロックアドレスとしてとり得る有効な値は8〜32767である。又、重複論理アドレスの無効値は4095としている。重複論理アドレスとしてとり得る値は外部のホスト機器3が指定できる論理グループの0〜3999である。後述するアドレス変換テーブル修正フローの処理を終えた後は、重複アドレス登録領域14bの重複部分物理ブロックアドレスの下位3ビットは全て1となる。尚、ここではアドレス変換領域に論理グループアドレス毎に部分物理ブロックアドレスを登録しているが、部分物理ブロックアドレスに代えて物理ブロックアドレスを登録するようにしてもよい。又重複アドレス登録領域には、単に重複している物理ブロックを示す物理ブロックアドレスを登録するだけでもよい。物理ブロックアドレスがわかれば、その物理ブロック内の部分物理ブロックを検索することにより最新の部分物理ブロックアドレスを得ることができ、その物理ブロックアドレスの管理領域を読み出すことにより論理グループアドレスを得ることができる。
次に各物理ページに書き込まれる論理ページの構成を第12図に示す。論理ページはブロック管理領域BMRの24バイトに続いて、セクタデータ領域SDR512バイト、セクタ管理領域SMR8バイトが交互に連続する構成となっており、最後にページ管理領域PMR8バイトが設けられる。セクタデータ領域SDRは4つで、計2Kバイトのデータ領域を構成している。又ブロック管理領域には、論理ブロックアドレスLBA、アドレステーブルAT、リングカウンタ、アドレス管理領域が設けられている。ここでアドレステーブルATは、この論理ブロックが属する論理グループに含まれる8つの論理ブロックが書き込まれた部分物理ブロックのアドレスを示している。この内容は同一の論理ブロックに属する各論理ページ毎に同一である。アドレステーブルは各15ビットで表現されるので、例えばその16ビット目を用いてこの論理ページが消去済みかどうかを知ることができるようにしている。またリングカウンタはアドレステーブルの新旧を判別するためのカウンタであり、アドレステーブルの更新毎にインクリメントされる。
又第8図に示すエントリテーブル15は4096の物理ブロックに対応した1ビット構成のフラグから成るテーブルである。このフラグは消去済みであれば1、書込み済みの場合は0とする。
ここでコントローラ2のCPU11は、重複アドレス変換領域に登録可能な空きがないときにアドレス変換テーブル14の重複アドレス登録領域14bを参照し、複数の物理ブロックに重複して記録されている論理グループのデータについていずれかの物理ブロックに当該論理グループのデータを集約することによって消去ブロックを確保する消去ブロック確保手段の機能を有している。消去ブロック確保手段は、全ての部分物理ブロックが消去済みとなっている物理ブロックがない場合に消去ブロックを確保することとしてもよい。
次にテーブルの初期化処理について第13図のフローチャートを参照しつつ説明する。初期化処理は、電源投入後に不揮発性メモリの状態に応じてアドレス変換テーブル14、エントリテーブル15を作成する処理である。まずステップS11においてエントリテーブル15の全データを0とする。そしてアドレス変換テーブル14の全データを無効アドレスとする。ここで無効アドレスは0とする。有効アドレスは8〜32767である。次いでフラッシュメモリFMのポインタを0とし(ステップS13)、ステップS14において物理ブロックPBのポインタを0とする。次いでステップS15において指定されている物理ブロックのページ0の管理領域から論理ブロックアドレスを読み出し、そのブロックが消去済みかどうかをチェックする。消去済みであればエントリテーブル15に消去済みであるように登録し(ステップS17)、消去済みでなければステップS18においてアドレス変換テーブル14に登録する。この処理については後述する。次いでステップS19において最終物理ブロックかどうかをチェックし、最終物理ブロックでなければステップS20において物理ブロックのポインタをインクリメントし、ステップS15に戻る。又ステップS19において最終物理ブロックであれば、ステップS21に進んで最終フラッシュメモリかどうかをチェックする。最終フラッシュメモリでなければ、ステップS22においてフラッシュメモリのポインタをインクリメントし、ステップS14に戻る。ステップS21において最終フラッシュメモリであれば、ステップS23に進んで後述するアドレス変換テーブルの修正処理を行って処理を終える。
次にステップS18のアドレス変換テーブル14への登録について第14図のフローチャートを用いて説明する。第14図においてアドレス変換テーブルの登録を開始すると、まずステップS31においてテーブルオフセットページ(TOP)を56とする。次いでステップS32において物理ブロックのテーブルオフセットページの管理領域の論理ブロックアドレスを読み出す。そしてステップS33において、このページが消去済みかどうかをチェックし、消去済みであればテーブルオフセットページTOPを−8とし(ステップS34)、ステップS32に戻る。又消去済みでなければ、ステップS35に進んで物理ブロックのテーブルオフセットページから読み出した論理グループアドレスに対応するアドレス変換テーブルの値を読み出す。そしてステップS36において読み出した論理アドレスに対応するアドレス変換テーブルのデータが登録済みか未登録かを判定する。これが無効アドレス0であれば未登録と判定する。そしてステップS37において、アドレス変換テーブル14の変換領域14aより読み出した論理ブロックアドレスに属する論理グループアドレスに対応する位置に、読み出し対象である部分物理ブロックのアドレスを登録する。ステップS36において有効アドレスが登録済であれば、ステップS36からS38に進む。そしてアドレス変換テーブル14の重複アドレス登録領域14bに、読み出し対象である部分物理ブロックのアドレスと物理ブロック管理領域から読み出した論理グループアドレスLGAの値を登録する。
次にステップS23のアドレス変換テーブル修正処理について第15図のフローチャートについて説明する。アドレス変換テーブルの修正処理とは、同一の論理グループに属する論理ブロックのデータが複数の物理ブロックに離散して配置されている場合に、新しい書き込みのあった部分物理ブロックのアドレスをアドレス変換領域14aに、古い書き込みの部分物理ブロックを重複アドレス登録領域14bに登録するように修正する処理である。まずステップS41においてポインタiを0とし、ステップS42においてアドレス変換テーブル14の重複アドレス登録領域14bのi番目の論理グループアドレスLGAと部分物理ブロックアドレスPPBAとを得る。次いでステップS43においてこれが有効値かどうかを判別する。有効値であればステップS44に進んでi番目の部分物理ブロックの任意のページの管理領域を読み出し、リングカウンタ値を得る。次いでステップS45において、i番目の論理アドレスを元にアドレス変換テーブル14のアドレス変換領域14aから対応する部分物理ブロックのアドレスを得る。さらにステップS46においてi番目の論理アドレスに対応する部分物理ブロックアドレスの管理領域を読み出し、リングカウンタ値を得る。そしてステップS47において、リングカウンタ値によって重複アドレス登録領域のテーブルの方が新しいかどうかを判定する。これが新しければ、ステップS48においてi番目の部分物理ブロックとi番目の論理アドレスに対応する部分物理ブロックアドレスとを入れ替える。一方ステップS47においてテーブルが新しくなければ、この処理を行うことなく、ステップS49に進んでポインタiが15かどうかをチェックし、15でなければiをインクリメントし(ステップS50)、ステップS42に戻る。ポインタiが15となっていれば処理を終了する。こうすればアドレス変換テーブル14の修正を行うことができる。
次にデータの読み出し処理について、第16図のフローチャート、及び第17図のデータ読み出しの概略図を用いて説明する。ステップS51においてホスト機器3からの論理アドレスのうち、128KB単位のアドレスを論理グループアドレスLGA、16KB単位のアドレスを論理ブロックアドレスLBA、16KB未満のアドレスを論理ページアドレスLPAとする。次いでステップS52に進んで、論理グループアドレスを元にアドレス変換テーブル14から得られた部分物理ブロックをテーブル部分物理ブロックTPPBとする。次いでステップS53において、テーブル部分物理ブロックの任意のページのアドレステーブルを読み出し、論理ブロックアドレスのデータが書込まれている部分物理ブロックを読み出し元部分物理ブロックとする。ステップS54において読み出し元部分物理ブロックの論理ページアドレスのデータを読み出してデータ転送バッファ13を介してホスト機器3に転送する。そしてステップS55において読み出しが終了したかどうかをチェックし、終了していなければステップS56において論理ページアドレスがブロック内で最終となったかどうかをチェックする。最終でなければ論理ページアドレスLPAをインクリメントし(ステップS57)、ステップS54に戻って同様の処理を繰り返す。論理ページアドレスがブロック内で最終となれば、ステップS58において論理ブロックアドレスが論理グループ内で最終かどうかをチェックする。最終でなければ論理ページアドレスを0とし、論理ブロックアドレスをインクリメントする(ステップS59)。そしてステップS54に戻って同様の処理を繰り返す。論理ブロックアドレスが論理グループ内で最終であれば、ステップS60に進んで論理ページアドレスを0、論理ブロックアドレス及び論理グループアドレスをインクリメントしてステップS52に戻る。こうすれば指定された論理ページアドレスからデータを読み出すことができる。
次いで第18図、第19図を用いてデータ書き込み処理について説明する。データ書き込み処理を開始すると、まずステップS61においてホスト機器3からの論理アドレスのうち128KB単位のアドレスを論理グループアドレスLGA、16KB単位のアドレスを論理ブロックアドレスLBA、16KB未満のアドレスを論理ページアドレスLPAとする。次いでステップS62に進んで、論理グループアドレスを元にアドレス変換テーブルから得られる部分物理ブロックをテーブル部分物理ブロックTPPBとする。次いでステップS63に進んで、テーブル部分物理ブロックの任意のページのアドレステーブルを読み出して保持する。そしてステップS64に進んでテーブル部分物理ブロックのアドレスが物理ブロックPB内の最終部分物理ブロックかどうかをチェックする。最終部分物理ブロックでなければ、ステップS65に進んで、テーブル部分物理ブロックのアドレスの次の部分物理ブロックを書き込み先部分物理ブロックPPBとする。一方ステップS64において最終部分物理ブロックであれば、ステップS66において後述する重複アドレス登録処理をする。そしてステップS67においてエントリテーブル15を検索し、消去済みの物理ブロックを得て、その先頭の部分物理ブロックを書き込み先部分物理ブロックPPBとする。更にエントリテーブルのその物理ブロックの当ビットを書き込み済み「0」に更新する。こうして書き込み先部分物理ブロックを決めた後、ステップS68において、アドレステーブルのうち論理ブロックアドレスに対応するアドレスを読み込み元部分物理ブロックとして保持する。そしてステップS69において、アドレステーブルに読み込み元部分物理ブロックと同じ物理ブロックに属する部分物理ブロックがあるかどうかをチェックする。これはその部分物理ブロックが最後の部分物理ブロックか否かを検出するものである。これがなければステップS70において読み込み元部分物理ブロックと同じ物理ブロックに属する部分物理ブロックは消去してもよいので、これを消去予定物理ブロックとして保持する。ステップS69においてこれに相当する部分物理ブロックがなければ、ステップS70の処理を行うことなくステップS71に進んで、コントローラの内部においてアドレステーブルのうち論理ブロックアドレスに対応するアドレスを書き込み先部分物理ブロックに差し替える。
次いで第19図において論理ページアドレスLPAが0かどうかをチェックし、0でなければ後述するように、前半巻き込み処理を行う(ステップS73)。論理ページアドレスが0であれば、この処理を行うことなくステップS74に進んで、ホスト機器3からの書き込みデータをデータ転送バッファ13を介してフラッシュメモリに転送する。そして書き込み先部分物理ブロックの論理ページアドレスに書込む。このとき管理領域に書込む管理情報も同時に書込む。そしてステップS75において書込みを終了したかどうかをチェックし、終了していなければステップS76において論理ページアドレスが論理ブロック内の最終ページかどうかをチェックする。最終でなければステップS77において論理ページアドレスをインクリメントし、ステップS74に戻る。論理ブロック内の最終ページであれば、ステップS78において消去とテーブルの更新処理を行う。次いでステップS79において論理ブロックアドレスが論理グループ内の最終かどうかをチェックし、最終でなければステップS80において論理ページアドレスを0とし、論理ブロックアドレスをインクリメントする。次いでステップS81においてテーブル部分物理ブロックに書き込み先部分物理ブロックのアドレスを入れる。そして第18図のステップS64に戻って同様の処理を繰り返す。又ステップS79において論理ブロックアドレスが論理グループ内の最終であれば、ステップS82において論理ページアドレスを0、論理ブロックアドレスと論理グループアドレスをインクリメントし、ステップS62に戻る。そしてステップS75において書き込み処理が終了すれば、ステップS83において論理ページアドレスが論理ブロック内の最終かどうかをチェックする。最終でなければステップS84において後半巻き込み処理を行う。論理ページアドレスがブロック内で最終であれば、ステップS85において消去とテーブル更新を行って処理を終える。
次いでステップS66の重複アドレス登録処理について第20図を用いて説明する。重複アドレス登録処理では、ステップS91において重複アドレス登録領域の登録状況を確認する。そして空き領域があるかどうかを判別し、空き領域がなければ後述する消去ブロック確保の処理を行う(ステップS93)。空き領域があればステップS94において、重複アドレス登録領域の空き登録領域の重複部分物理ブロックアドレスにテーブル部分物理ブロックを、重複論理グループアドレスに論理グループアドレスを書込む。
次にステップS93の消去ブロックの確保処理について、第21図のフローチャートを用いて説明する。まずステップS101において、重複アドレス登録領域14bの有効アドレスを検索し、1組の重複部分物理ブロックアドレスと重複論理グループアドレスとを得る。そしてそれらを解消部分物理ブロックアドレス、及び解消論理グループアドレスとする。次いでステップS102において、解消論理グループアドレスを元にアドレス変換テーブルのアドレス変換領域から対応する部分物理ブロックアドレスを得て解消テーブル部分物理ブロック(解消TPPB)とする。そしてステップS103において、解消テーブル部分物理ブロックの任意のページよりアドレステーブルを読み出す。ステップS104において、解消テーブル部分物理ブロックに属する物理ブロックのうち、既に書き込まれている部分物理ブロックは全てアドレステーブルに書き込まれているかどうかをチェックする。この処理は解消テーブル部分物理ブロックの属する物理ブロックに有効なデータを全て集めることができるかどうかを判定している。これがYESであれば、ステップS105において、解消テーブル部分物理ブロックの次の部分物理ブロックを解消書き込み先部分物理ブロックとする。ステップS104においてNOであれば、ステップS106に進んで、新たな物理ブロックに全てのデータを書き込む。即ちエントリテーブルを検索して消去済の物理ブロックを得る。そしてその先頭の部分物理ブロックを解消書き込み先部分物理ブロックとする。そしてエントリテーブルの該当ビットを書き込み済み「0」に更新する。次いでこれらのいずれかの処理を行った後、ステップS107に進んで、アドレステーブルのうち解消書き込み先部分物理ブロックの属する物理ブロックにないデータを、順に解消書き込み先物理ブロックにコピーする。その際アドレステーブルとアドレス変換テーブルのアドレス変換領域についても順次アップデートする。次いでステップS108に進んで、重複アドレス登録領域のうち解消論理グループアドレスと一致する重複グループアドレスを持つ組の重複部分物理ブロックの属する物理ブロックのデータを消去し、重複部分物理ブロックアドレスOPPBと重複グループアドレスOGAとを無効化する。これは3以上の物理ブロックに渡って重複が生じていることもあるので、これを解消するためである。次いでステップS109において、消去に対応してエントリテーブルの重複部分物理ブロックアドレスに該当するデータを消去済みに更新して処理を終える。
次にこの消去ブロック確保の処理の例について、第22図,第23図に沿って説明する。第22図は消去ブロックを確保する前の物理ブロックPB100とPB101との例を示している。この図に示すように、物理ブロックPB100は部分物理ブロックとしてPPB800〜807を有しており、物理ブロックPB101は部分物理ブロックPPB808〜815を有している。そして論理グループLG0の論理ブロックLB0〜7のデータが一旦物理ブロックPB100に書き込まれ、その後論理グループLG0の論理ブロックLB0〜6は更新されて、物理ブロックPB101の部分物理ブロックPPB808〜814に書き込まれている。このため物理ブロックPB100のうち、部分物理ブロックPPB800〜806のデータは無効化されている。第22図ではこれをハッチングで示している。この場合には物理ブロックPB101の部分物理ブロックPPB815は未書き込みの領域である。この消去ブロック確保前のアドレス変換テーブル14とエントリテーブル15の状態も第22図に同時に示している。アドレス変換テーブル14の論理グループLG0の位置には、論理グループLG0のうち最も新しく記憶された部分物理ブロックPPB814が登録されている。又重複アドレス登録領域14bには重複部分物理ブロックPPB807、重複論理グループLG0が登録される。これは物理ブロックPB100内の部分物理ブロックPPB807に有効な論理グループLG0、論理ブロックLB7のデータが記録されていることを示している。この場合には部分物理ブロックPPB815に論理グループLG0、論理ブロックLB7のデータを書き込むことによって、ステップS104に示すように物理ブロックPB101に全てのデータを集めることができる。
従って解消テーブル部分物理ブロックを解消テーブル部分物理ブロックの次の部分物理ブロックとすること(ステップS104)、即ちこの例では部分物理ブロック815とすることによって、第23図に示すように論理グループLG0、論理ブロックLB7のデータを部分物理ブロックPPB815に書き込み、論理グループLG0の全てのデータを物理ブロックPB101に集めることができる。こうすれば物理ブロックPB100は全て消去済みで未書き込みとなり、新たなデータを書込むことができる。エントリテーブル15は物理ブロックPB100が「1」となって書込みができることを示している。
消去ブロックの確保の他の例について第24図,第25図を用いて説明する。第24図は物理ブロックPB100にまず論理グループLG0の論理ブロックLB0〜7が書き込まれ、更にその後に物理ブロックPB101の部分物理ブロックPPB808〜813に論理グループLG0の論理ブロックLB0〜5が書き込まれている。そしてハッチングで示すように、このとき物理ブロックPB100の部分物理ブロックPPB800〜805が無効となっている。更に論理グループLG0の論理ブロックLB0が物理ブロックPB101の部分物理ブロックPPB814に書き込まれ、部分物理ブロックPPB808のデータが無効化された状態を示している。このときアドレス変換テーブル14については論理グループLG0に対し部分物理ブロックPPB814が書き込まれており、重複アドレス登録領域14bに重複部分物理ブロック807とその重複論理グループ0が書き込まれている。この場合にはステップS104において、解消テーブル部分物理ブロックに属する物理ブロックPB101に有効なデータを集めることができない。即ち第21図のステップS104において、解消テーブル部分物理ブロックの属する物理ブロックのうち、既書き込みである部分物理ブロックは全てアドレステーブルに書き込まれていない場合を示している。そのためステップS106においてエントリテーブル15を検索し、消去済みの物理ブロックを得る。この場合には物理ブロックPB102を得てこの物理ブロックに全てのデータを書込む。第25図はこうして全てのデータが書込まれた状態を示している。この場合、物理ブロックPB100、101は消去済みとなり、エントリテーブル15のフラグが1となって新たなデータを書込むことができる状態を示している。
次にステップS73の前半巻き込み処理について、第26図のフローチャートを用いて説明する。まず動作を開始すると、ステップS111において、巻き込みページアドレスを0とする。次いでステップS112において、読み出し元部分物理ブロックの巻き込みページアドレスのデータを一時退避バッファ12に読み出す。次いでそのデータをフラッシュメモリに転送し、書き込み先物理ブロックの巻き込みページアドレスに書込む。このとき管理領域に書込む管理情報も同時に書込む。次いでステップS113に進んで巻き込みページアドレスをインクリメントし、ステップS114において巻き込みページアドレスが論理ページアドレスと一致しているかどうかをチェックする。これが一致していなければステップS112に戻って同様の処理を繰り返す。一致している場合には前半巻き込み処理を終える。
次にステップS84の後半巻き込み処理について、第27図のフローチャートを用いて説明する。後半巻き込み処理は動作を開始すると、まずステップS121において論理ページアドレス+1を巻き込みページアドレスとする。次いでステップS122において読み出し元物理ブロックの巻き込みページアドレスのデータを一時退避バッファ12に読み出す。そしてそのデータをフラッシュメモリに転送し、書き込み先物理ブロックの巻き込みページアドレスに書込む。このとき管理領域に書込む管理情報も同時に書込む。次いでステップS123に進んで、巻き込みページアドレスが最終ページアドレスかどうかをチェックする。最終ページでなければ、ステップS124において巻き込みページアドレスをインクリメントしてステップS122に戻る。巻き込みページアドレスが最終ページであれば後半巻き込み処理を終える。このように巻き込み処理は従来例と異なり、ページ単位で行うことによってフラッシュメモリの書き込み管理単位を16KBとして巻き込み処理の時間を短くなるようにしている。
次にステップS76,S85の消去とテーブル更新処理について、第28図のフローチャートを用いて説明する。この処理を開始すると、まずステップS131において、消去予定ブロックに有効な値があるかどうかをチェックする。有効な値があれば、ステップS132において消去予定物理ブロックを消去する。次いでステップS133においてアドレス変換テーブルの重複アドレス登録領域にあり、今回の書き込みで消去した物理ブロックに対応する重複部分物理ブロックアドレスと重複論理グループアドレスとを無効化する。次いでステップS134においてエントリテーブルの消去予定物理ブロックに該当するデータを消去済みに更新する。そしてステップS135においてアドレス変換テーブルの論理グループアドレスのデータを書き込み先部分物理ブロックに書き換える。又ステップS131において消去予定物理ブロックに有効な値がなければ、ステップS134までの処理を行うことなくステップS135の処理をした後このフローを終える。
第29図はこうした処理を行ってホスト機器から与えられた16KB単位のデータをデータ転送バッファ13を介して書き込み先の物理ブロックに書き込む例を示している。ホスト機器3より書き込み単位として16KBのデータが与えられると、書き込み先の物理ブロックの中のいずれかの部分物理ブロックにこのデータが書き込まれる状態を示している。この場合には従来のものと異なり、この書き込み先物理ブロックの他の部分物理ブロックについては元の状態、即ち消去済みのままでそのまま維持される。次にホスト機器より新たに16KBのデータが書き込みデータとして与えられた場合には、他の部分物理ブロックに新たなデータが書き込まれる。その物理ブロックの他の領域はそのまま保持される。このようにホスト機器3から16KB単位のデータが書き込みデータとして与えられたときに、フラッシュメモリに16KBの領域にのみ書き込みを行い、物理ブロックの128KBの全ての領域にデータを書込む必要はなく、書き込み時間を短縮することができる。
(実施の形態2)
次に本発明の実施の形態2について説明する。この実施の形態はほぼ実施の形態1と同様である。論理グループ0に属する論理ブロックには外部ホスト機器はFATと呼ばれるファイル管理のためのデータを配置するために、頻繁に書き込み処理が発生し易く、これに伴って消去ブロックの確保処理が頻繁に入ることとなる。このため論理的にアクセスが偏ることが予想される論理アドレスの領域については第30図に示すように、論理グループのサイズを小さくする。即ち論理グループ0、1については、論理グループLG0−0〜LG0−7、論理グループLG1−0〜LG1−7のように16KB単位に分割する。この部分では論理グループと論理ブロックとは同一のサイズの16KBとなる。論理ブロックは実施の形態1と同様に0から31999まで一連の論理ブロック番号が付けられる。こうすればアクセスが偏ることが予想される論理グループは論理グループのサイズの16KBに比べて割り当てられる物理ブロックのサイズの128KBが大きいために消去ブロック確保処理の頻度が低下し、速度の低下を防ぐことができる。
尚ここで説明した各実施の形態でのデータ容量などの数値は一例であり、他の数値としても良いことはいうまでもない。
本発明は書き換え可能な不揮発性メモリを有する不揮発性記憶装置及びその書込み方法であって、大容量化した場合にも従来例に比べて書き込み速度を高速化することができる。そのため大容量化で高速で書き込みが必要な不揮発性メモリの種々の用途に使用することができる。
従来の不揮発性メモリの構成を示す図である。 従来のフラッシュメモリ、及びその物理ブロックの構成を示す図である。 従来の物理ブロックに書き込まれる論理ページの構成を示す図である。 従来の論理ブロックの構成を示す図である。 従来の不揮発性メモリのデータ読み出し時の動作を示す概略図である。 従来の不揮発性記憶装置のデータ書き込み処理を示すフローチャートである。 従来のデータ書き込み時の動作を示す概略図である。 本発明の実施の形態1による不揮発性記憶装置の全体構成を示すブロック図である。 実施の形態1によるフラッシュメモリとその物理ブロックの構成を示す図である。 実施の形態1による論理グループの構成を示す図である。 実施の形態1によるアドレス変換テーブルの構成を示す図である。 実施の形態1による物理ページ内の論理ページの構成を示す図である。 実施の形態1によるテーブル初期化処理を示すフローチャートである。 実施の形態1によるアドレス変換テーブルの登録処理を示すフローチャートである。 実施の形態1によるアドレス変換テーブルの修正処理を示すフローチャートである。 実施の形態1によるデータ読み出し処理を示すフローチャートである。 実施の形態1によるデータ読み出し処理の動作を示す概略図である。 実施の形態1によるデータ書き込み処理(その1)を示すフローチャートである。 実施の形態1によるデータ書き込み処理(その2)を示すフローチャートである。 実施の形態1による重複アドレス登録処理を示すフローチャートである。 実施の形態1による消去ブロック確保処理を示すフローチャートである。 実施の形態1による消去ブロック確保処理をする前の第1の例を示す図である。 実施の形態1による第1の例の消去ブロック確保処理後の状態を示す図である。 実施の形態1による消去ブロック確保処理をする前の第2の例を示す図である。 実施の形態1による第2の例の消去ブロック確保処理後の状態を示す図である。 実施の形態1による前半巻き込み処理を示すフローチャートである。 実施の形態1による後半巻き込み処理を示すフローチャートである。 実施の形態1による消去とテーブル更新の処理を示すフローチャートである。 実施の形態1によるデータ書き込み処理の動作を示す概略図である。 本発明の実施の形態2による論理グループの構成を示す図である。
符号の説明
1 メモリカード
2 コントローラ
11 CPU
12 一時退避バッファ
13 データ転送バッファ
14 アドレス変換テーブル
15 エントリテーブル

Claims (12)

  1. 不揮発性メモリと、
    コントローラと、を有し、
    外部から与えられる論理アドレスに基づいて前記不揮発性メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、
    前記不揮発性メモリは、複数の物理ブロックから成り、前記各物理ブロックは複数の物理ページで構成される部分物理ブロックから成り、前記各物理ページは前記データを書き込むデータ領域と管理情報を書き込む管理領域とから成るものであり、
    外部からは、一連の論理グループアドレスと各論理グループに属する一連の論理ブロックアドレスと各論理ブロックに属する一連のページアドレスとを含む論理アドレスが与えられるものであり、
    前記論理ブロックのサイズは前記不揮発性メモリの部分物理ブロックのサイズに相当するものであり、
    前記コントローラは、
    外部から与えられる論理アドレスのうち論理グループアドレスをその論理グループに属する論理ブロックが記録される物理ブロックアドレスに変換するアドレス変換領域、及びある論理グループのデータが複数の物理ブロックに重複して記録された場合に、重複して記録されている物理ブロックアドレスを示す重複アドレス登録領域を有するアドレス変換テーブルと、
    各物理ブロックについて書き込み済み及び消去済みのいずれかを示すエントリーテーブルと、を有し、
    書き込みのためのデータとその論理アドレスとが外部から与えられたときに、未書き込みの領域に前記論理アドレスの論理ブロックのデータを部分物理ブロックの単位で前記データ領域に書き込むと同時に、前記論理ブロックが有する論理グループに含まれる全ての論理ブロックのデータが書き込まれた部分物理ブロックのアドレスを示すアドレステーブルを前記管理領域に書き込み、その後前記アドレス変換テーブルのアドレス変換領域又は重複アドレス登録領域を更新することを特徴とする不揮発性記録装置。
  2. 前記コントローラは、前記アドレス変換領域の前記重複アドレス登録領域に登録可能な空きがないとき、前記アドレス変換領域の前記重複アドレス登録領域を参照し、複数の物理ブロックに重複して記録されている論理グループのデータについていずれかの物理ブロックに当該論理グループのデータを集約することによって消去ブロックを確保する消去ブロック確保手段を有することを特徴とする請求項1記載の不揮発性記憶装置。
  3. 前記消去ブロック確保手段は、ある物理ブロックについて書き込み済み領域及び未書き込み領域があり、且つその物理ブロックに記録されている論理グループに属する論理ブロックのデータが他の物理ブロックから移動できる場合に、その物理ブロックに集約することによって、消去ブロックを確保することを特徴とする請求項2記載の不揮発性記憶装置。
  4. 前記消去ブロック確保手段は、ある物理ブロックについて同一論理グループに属する一部の論理ブロックが記録され、その物理ブロックの未書き込み領域に当該論理グループに属する他の論理ブロックのデータを書き込むことができない場合に、前記エントリテーブルを参照して新たな未書き込みの物理ブロックを検索し、検索した物理ブロックに同一論理グループに属する全ての論理ブロックのデータを書き込むことによって、消去ブロックを確保することを特徴とする請求項2記載の不揮発性記憶装置。
  5. 前記不揮発性メモリの物理ブロックを構成する部分物理ブロックのデータ容量は、前記不揮発性記憶装置の外部のデータ管理単位と等しくしたことを特徴とする請求項1記載の不揮発性記憶装置。
  6. 前記論理グループは、アクセス数の多い上位グループについて、他の論理グループよりもデータ容量を少なくした論理グループから成ることを特徴とする請求項1記載の不揮発性記憶装置。
  7. 不揮発性メモリと、
    コントローラと、を有し、
    外部から与えられる論理アドレスに基づいて前記不揮発性メモリにデータを書き込み、及び読み出す不揮発性記憶装置のデータ書き込み方法であって、
    前記不揮発性メモリは、複数の物理ブロックから成り、前記各物理ブロックは複数の物理ページで構成される部分物理ブロックから成り、前記各物理ページは前記データを書き込むデータ領域と管理情報を書き込む管理領域とから成るものであり、
    外部からは、一連の論理グループアドレスと各論理グループに属する一連の論理ブロックアドレスと各論理ブロックに属する一連のページアドレスとを含む論理アドレスが与えられるものであり、
    前記論理ブロックのサイズは前記不揮発性メモリの部分物理ブロックのサイズに相当するものであり、
    前記コントローラは、
    外部から与えられる論理アドレスのうち論理グループアドレスをその論理グループに属する論理ブロックが記録される物理ブロックアドレスに変換するアドレス変換領域、及びある論理グループのデータが複数の物理ブロックに重複して記録された場合に、重複して記録されている物理ブロックアドレスを示す重複アドレス登録領域を有するアドレス変換テーブルと、
    各物理ブロックについて書き込み済み及び消去済みのいずれかを示すエントリテーブルと、を有し、
    書き込みのためのデータとその論理アドレスとが外部から与えられたときに、未書き込みの領域に前記論理アドレスの論理ブロックのデータを部分物理ブロックの単位で前記データ領域に書き込むと同時に、前記論理ブロックが有する論理グループに含まれる全ての論理ブロックのデータが書き込まれた部分物理ブロックのアドレスを示すアドレステーブルを前記管理領域に書き込み、その後前記アドレス変換テーブルのアドレス変換領域又は重複アドレス登録領域を更新することを特徴とする不揮発性記憶装置のデータ書き込み方法。
  8. 前記アドレス変換領域の前記重複アドレス登録領域に登録可能な空きがないとき、前記アドレス変換領域の前記重複アドレス登録領域を参照し、複数の物理ブロックに重複して記録されている論理グループのデータについていずれかの物理ブロックに当該論理グループのデータを集約することによって消去ブロックを確保する処理を更に有することを特徴とする請求項7記載の不揮発性記憶装置のデータ書き込み方法。
  9. 前記消去ブロック確保処理は、ある物理ブロックについて書き込み済み領域及び未書き込み領域があり、且つその物理ブロックに記録されている論理グループに属する論理ブロックのデータが他の物理ブロックから移動できる場合に、その物理ブロックに集約することによって、消去ブロックを確保するものであることを特徴とする請求項7記載の不揮発性記憶装置のデータ書き込み方法。
  10. 前記消去ブロック確保処理は、ある物理ブロックについて同一論理グループに属する一部の論理ブロックが記録され、その物理ブロックの未書き込み領域に当該論理グループに属する他の論理ブロックのデータを書き込むことができない場合に、前記エントリテーブルを参照して新たな未書き込みの物理ブロックを検索し、検索した物理ブロックに同一論理グループに属する全ての論理ブロックのデータを書き込むことによって、消去ブロックを確保するものであることを特徴とする請求項7記載の不揮発性記憶装置のデータ書き込み方法。
  11. 前記不揮発性メモリの物理ブロックを構成する部分物理ブロックのデータ容量は、前記不揮発性記憶装置の外部のデータ管理単位と等しくしたことを特徴とする請求項7記載の不揮発性記憶装置のデータ書き込み方法。
  12. 前記論理グループは、アクセス数の多い上位グループについて他の論理グループよりもデータ容量を少なくした論理グループから成ることを特徴とする請求項7記載の不揮発性記憶装置のデータ書き込み方法。
JP2005513535A 2003-08-29 2004-08-26 不揮発性記憶装置及びその書込み方法 Active JP4667243B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003306160 2003-08-29
JP2003306160 2003-08-29
PCT/JP2004/012714 WO2005022393A1 (ja) 2003-08-29 2004-08-26 不揮発性記憶装置及びその書込み方法

Publications (2)

Publication Number Publication Date
JPWO2005022393A1 JPWO2005022393A1 (ja) 2006-10-26
JP4667243B2 true JP4667243B2 (ja) 2011-04-06

Family

ID=34269378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005513535A Active JP4667243B2 (ja) 2003-08-29 2004-08-26 不揮発性記憶装置及びその書込み方法

Country Status (6)

Country Link
US (1) US7987314B2 (ja)
EP (1) EP1659497A4 (ja)
JP (1) JP4667243B2 (ja)
CN (1) CN100511181C (ja)
TW (1) TW200511012A (ja)
WO (1) WO2005022393A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005103903A1 (ja) * 2004-04-20 2007-08-30 松下電器産業株式会社 不揮発性記憶システム
EP1960887B1 (en) * 2005-12-09 2011-07-27 SanDisk IL Ltd Method for flash-memory management
WO2007066720A1 (ja) * 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法
JP2007233838A (ja) * 2006-03-02 2007-09-13 Toshiba Corp メモリシステムの制御方法
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム
JP5026213B2 (ja) * 2007-09-28 2012-09-12 株式会社日立製作所 ストレージ装置及びデータ重複排除方法
KR20100133359A (ko) 2007-12-24 2010-12-21 동우 화인켐 주식회사 이리듐 착물, 이를 포함하는 유기전기발광소자
CN101727292B (zh) * 2008-10-16 2013-04-17 深圳市朗科科技股份有限公司 存储设备的访问系统、方法及存储设备
CN101650690B (zh) * 2009-09-21 2011-03-02 中兴通讯股份有限公司 大容量存储卡的应用方法及移动终端
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
US9645739B2 (en) * 2014-09-26 2017-05-09 Intel Corporation Host-managed non-volatile memory
JP7213712B2 (ja) * 2019-02-14 2023-01-27 キオクシア株式会社 不揮発性半導体記憶装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11512544A (ja) * 1995-09-13 1999-10-26 レクサー・マイクロシステムズ・インコーポレーテッド 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
JP2001154909A (ja) * 1999-11-25 2001-06-08 Casio Comput Co Ltd フラッシュメモリ管理装置及び記録媒体
JP2002366423A (ja) * 2001-06-04 2002-12-20 Samsung Electronics Co Ltd フラッシュメモリの管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US7617352B2 (en) * 2000-12-27 2009-11-10 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11512544A (ja) * 1995-09-13 1999-10-26 レクサー・マイクロシステムズ・インコーポレーテッド 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
JP2001154909A (ja) * 1999-11-25 2001-06-08 Casio Comput Co Ltd フラッシュメモリ管理装置及び記録媒体
JP2002366423A (ja) * 2001-06-04 2002-12-20 Samsung Electronics Co Ltd フラッシュメモリの管理方法

Also Published As

Publication number Publication date
WO2005022393A1 (ja) 2005-03-10
TWI354893B (ja) 2011-12-21
US20070276986A1 (en) 2007-11-29
EP1659497A1 (en) 2006-05-24
JPWO2005022393A1 (ja) 2006-10-26
US7987314B2 (en) 2011-07-26
TW200511012A (en) 2005-03-16
CN100511181C (zh) 2009-07-08
EP1659497A4 (en) 2008-01-23
CN1846199A (zh) 2006-10-11

Similar Documents

Publication Publication Date Title
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US8259498B2 (en) Continuous address space in non-volatile-memories (NVM) using efficient management methods for array deficiencies
KR100847506B1 (ko) 기억 장치, 메모리 관리 방법 및 프로그램
USRE46404E1 (en) Flash memory management method
US8291155B2 (en) Data access method, memory controller and memory storage system
JP4418439B2 (ja) 不揮発性記憶装置およびそのデータ書込み方法
JP4633802B2 (ja) 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法
US7155559B1 (en) Flash memory architecture with separate storage of overhead and user data
US20100082878A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
JP4667243B2 (ja) 不揮発性記憶装置及びその書込み方法
US6839798B1 (en) Flash memory capable of storing frequently rewritten data
JP2007018499A (ja) 記憶装置
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP2004280752A (ja) データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP2005516264A (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
US20100146239A1 (en) Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
JPWO2005083573A1 (ja) 半導体メモリ装置
CN1319205A (zh) 记录系统、数据记录设备、存储设备和数据记录方法
JP4661497B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003058417A (ja) 記憶装置
JP4366420B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP5617873B2 (ja) 記憶装置
JP2004326523A (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4254930B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2005078634A (ja) 不揮発性記憶装置及びその書込み方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4667243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150