JP2004062328A - Nand型フラッシュメモリを搭載したフラッシュストレージメディア - Google Patents
Nand型フラッシュメモリを搭載したフラッシュストレージメディア Download PDFInfo
- Publication number
- JP2004062328A JP2004062328A JP2002216911A JP2002216911A JP2004062328A JP 2004062328 A JP2004062328 A JP 2004062328A JP 2002216911 A JP2002216911 A JP 2002216911A JP 2002216911 A JP2002216911 A JP 2002216911A JP 2004062328 A JP2004062328 A JP 2004062328A
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- address
- block
- physical block
- data
- 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
- 230000015654 memory Effects 0.000 title claims description 122
- 238000012217 deletion Methods 0.000 abstract 3
- 230000037430 deletion Effects 0.000 abstract 3
- 238000000034 method Methods 0.000 description 47
- 239000000872 buffer Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 16
- 230000009189 diving Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Abstract
【解決手段】フラッシュストレージメディアが、ホスト機器から入力される論理セクタアドレスを、複数の論理セクタアドレスで構成された論理クラスタアドレスに変換する手段と、該論理クラスタアドレスに対応付けられる物理ブロックで構成されたユーザブロック領域と、消去状態にある物理ブロックで構成された消去ブロック領域と、対応付けられる物理ブロックが2つ存在する論理クラスタアドレスが存在し、これら2つの物理ブロックにそれぞれ有効なデータと無効なデータとが存在する場合に、ホスト機器から入力される論理セクタアドレスから、対応付けられた物理ブロックを取得する手段と、上記消去ブロック領域の物理ブロックと、ユーザブロック領域の物理ブロックとを入れ替える手段を具備する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、NAND型フラッシュメモリを搭載したフラッシュストレージメディアに関する。
【0002】
【従来の技術】
周知の通り、パーソナルコンピュータ,デジタルカメラ又はPDA等の機器間でデータのやり取りを行なうために、各機器に取外し可能に装填され、テキスト,画像又は音楽情報を記録する媒体として、コンパクトフラッシュ(登録商標),スマートメディア等のフラッシュストレージメディアが広く普及している。このフラッシュストレージメディアは、電気的なデータ消去・書込みが可能な不揮発性のフラッシュメモリを搭載したものであり、このようなフラッシュメモリとしては、一般的に、消去及び書込み速度が速く大容量化に適したNAND型のフラッシュメモリが用いられる。
【0003】
NAND型フラッシュメモリは、8ビット分又は16ビット分の記憶用トランジスタが一組をなし直列に接続されて、各組に2つの選択用トランジスタが接続される回路構成を備えており、かかる回路構成を備えたフラッシュメモリでは、データの書込み先が消去済みでない限り、データの書込みが不可能となっている。このため、NAND型フラッシュメモリを搭載したフラッシュストレージメディアにおいては、従来、フラッシュストレージメディアの論理アドレス(プログラムが指定するメモリアドレス)に対して物理アドレス(実際のメモリに割り当てられているアドレス)を割り当て、データ書込み時に、指定された論理アドレスに対応して割り当てられている物理アドレスを消去した上で、データを書き込むというシーケンスが採用されている。
【0004】
ところで、一般的なフラッシュストレージメディアとしては、フラッシュストレージメディア自体のメモリアクセス単位(セクタ)が、NAND型フラッシュメモリの消去単位(ブロック)よりも小さい場合が多い。このため、上記のシーケンスでは、データ書込み時に、ブロック内の既に書き込まれているデータを、一旦保管して新たに書き込むデータと合成して書き込むことが行なわれる。
【0005】
【発明が解決しようとする課題】
しかしながら、かかるシーケンスにおいては、次に連続した論理アドレスに対する書込みが行なわれる場合に、再度書き込むデータを合成する必要があり、無駄な処理が発生し、メディアのデータ書込みパフォーマンスが低下するという問題がある。
【0006】
本発明は、上記技術的課題に鑑みてなされたもので、NAND型フラッシュメモリの消去単位よりも小さいアクセス単位をもつフラッシュストレージメディアにおいて、連続した論理アドレスへのデータ書込み動作における無駄な処理の発生をなくし、データ書込みパフォーマンスを向上させ得るフラッシュストレージメディアを提供することを目的とする。
【0007】
【課題を解決するための手段】
本願の第1の発明は、NAND型フラッシュメモリを搭載し、該フラッシュメモリへのアクセス単位がフラッシュメモリの消去単位よりも小さいフラッシュストレージメディアにおいて、上記アクセス単位となる複数のセクタから構成されるクラスタ単位でメディア内部の管理を行なうべく、所定のホスト機器から入力される論理セクタアドレスを、複数の論理セクタアドレスで構成された論理クラスタアドレスに変換する手段と、上記フラッシュメモリ内に規定される領域であり、上記論理クラスタアドレスに対応付けられるフラッシュメモリ物理ブロックで構成されたユーザブロック領域と、上記フラッシュメモリ内に規定される領域であり、消去状態にあるフラッシュメモリ物理ブロックで構成された消去ブロック領域と、対応付けられるフラッシュメモリ物理ブロックが2つ存在する論理クラスタアドレスが存在し、これら2つのフラッシュメモリ物理ブロックにそれぞれ有効なデータと無効なデータとが存在する場合に、ホスト機器から入力される論理セクタアドレスから、対応付けられたフラッシュメモリ物理ブロックを取得する手段と、上記消去ブロック領域のフラッシュメモリ物理ブロックと、ユーザブロック領域のフラッシュメモリ物理ブロックとを入れ替える手段とを有していることを特徴としたものである。
【0008】
また、本願の第2の発明は、更に、上記論理クラスタアドレスに対応付けられたフラッシュメモリ物理ブロックが、消去状態及びデータ書込み状態のいずれにあるかを識別する手段と、上記フラッシュメモリ物理ブロックの消去状態およびデータ書込み状態に基づき、フラッシュストレージメディア内部の処理フローを変更する手段とを有していることを特徴としたものである。
【0009】
【発明の実施の形態】
以下、本発明の実施の形態について、添付図面を参照しながら説明する。
なお、以下に説明する実施の形態では、フラッシュストレージメディアのアクセス単位(セクタ)が、それに搭載されるNAND型フラッシュメモリの消去単位(ブロック)よりも小さく、書込み単位(ページ)と同じである例を取り上げる。
実施の形態1.
図1は、本発明の実施の形態1に係るフラッシュストレージメディアの内部構成を示すブロック図である。このフラッシュストレージメディア10は、CPU1と、CPUメインメモリ2と、第1及び第2のテーブルバッファ3及び4と、データバッファ5と、フラッシュインターフェース(図中のフラッシュI/F)6と、ホストインターフェース(図中のホストI/F)7と、シーケンサ8と、NAND型フラッシュメモリ(以下、フラッシュメモリという)9とを有している。
【0010】
CPU1は、パーソナルコンピュータ,デジタルカメラ,PDA等のホスト機器(不図示)側とデータのやり取りを実行すべく、フラッシュストレージメディア内部の制御を行なう。CPUメインメモリ2には、CPU1の動作フローが格納されており、CPU1は、ホスト機器側からのアクセスの種類毎に、対応するフローをCPUメインメモリ2から読み出して実行する。
【0011】
第1及び第2のテーブルバッファ3及び4は、フラッシュメモリ9内に格納されているポインタテーブル,ユーザブロック管理テーブル若しくは消去ブロック管理テーブルを読み出して一時的に格納するためのバッファメモリである。データバッファ5は、フラッシュメモリ9に格納されているユーザデータを読み出して格納し、ホスト機器へ出力するに際して若しくはホスト機器からデータを受け取りフラッシュメモリ9へ書き込むに際して使用されるバッファメモリである。
【0012】
フラッシュI/F6は、フラッシュメモリ9へのアクセスを実行する際の信号を生成する部分である。ホストI/F7は、ホスト機器からのアクセス信号を制御する部分である。シーケンサ8は、フラッシュメモリ9へのアクセスシーケンス若しくはホスト機器からのデータ転送シーケンスを制御する部分であり、CPU1は、シーケンサ8を使用してホスト機器へのデータ入/出力を行なったり、フラッシュメモリ9へのデータ書込みやフラッシュメモリ9からのデータ入力を行なったりする。
【0013】
図2は、フラッシュメモリ9内に規定されるブロック構成を示す図である。この図から分かるように、フラッシュメモリ9の内部には、それぞれ特定の情報を記録するためのブロック領域として、ポインタテーブルを格納するブロック領域(以下、ポインタテーブル用ブロック領域という)11Aと、ユーザブロック領域11Dを管理するためのテーブルを格納するブロック領域(以下、ユーザブロック管理テーブル用ブロックという)11Bと、消去ブロック領域11Eを管理するためのテーブルを格納するブロック領域(以下、消去ブロック管理テーブル用ブロック領域という)11Cと、ユーザブロック領域11Dと、消去ブロック領域11Eとが規定されている。各ブロック領域には、フラッシュメモリ9における総物理ブロックのうち、それぞれ所定数の物理ブロックが割り当てられている。
【0014】
まず、ポインタテーブル用ブロック領域11Aには、1つ分の物理ブロックが割り当てられている。図3に、ポインタテーブル用ブロック領域11A内に格納されるポインタテーブルの構成を示す。ポインタテーブル内には、ユーザブロック管理テーブルが格納されているフラッシュメモリ9の物理ブロックアドレス*USRTBLBLKや消去ブロック管理テーブルが格納されているフラッシュメモリ9の物理ブロックアドレス*ERSTBLBLK等の、フラッシュメモリ9のアドレス空間における各種情報の位置をあらわすフラッシュメモリ9の物理ブロックアドレスが格納される。
【0015】
かかるポインタテーブルは、フラッシュメモリ9において、物理ブロックアドレス「0」に格納されるように構成されており、CPU1は、パワー・オン・リセット時に、まず、ポインタテーブルを、第1のテーブルバッファ3に読み出し、上記の物理ブロックアドレス*USRTBLBLKや*ERSTBLBLKの値を、テーブルバッファ3内に格納する。
【0016】
また、図2から分かるように、ユーザブロック管理テーブル用ブロック領域11Bには、1つ分の物理ブロックが割り当てられている。図4に、ユーザブロック管理テーブルによりそのアドレスが制御されるユーザブロック領域11D内の構成を示す。この実施の形態では、フラッシュストレージメディア10の論理セクタアドレスに対して、フラッシュメモリ9の1つの物理セクタアドレスが対応付けられる。このとき、フラッシュメモリ9の物理ブロック内のページには、連続した論理セクタアドレスが対応付けられる。また、内部管理のために、1つの物理ブロックで構成される論理セクタの集まりを論理クラスタとし、1つの論理クラスタアドレスに対して、1つの物理ブロックアドレスが対応付けられる。
【0017】
なお、図4に示す例では、フラッシュメモリ9の物理ブロックが32の物理メモリページで構成されており、32の論理セクタで1つの論理クラスタを構成する場合について説明する。ユーザブロック領域11Dにおいては、フラッシュストレージメディア10がn個の論理クラスタアドレスをもつ場合、フラッシュメモリ9のnの物理ブロックが割り当てられる。
【0018】
より詳しくは、フラッシュストレージメディア10の論理クラスタアドレス0h,1h,2h,...,(n−1)hは、それぞれ、フラッシュストレージメディア10の論理セクタアドレスの組{0h,1h,...,1Fh},{20h,21h,...,3Fh},{40h,41h,...,5Fh},...,{32(n−1)h,32(n−1)+1h,...,32(n−1)+1Fh}に対応付けられる。このフラッシュストレージメディア10の論理セクタアドレスの組は、それぞれ、フラッシュメモリ9の物理セクタアドレスの組に対応付けられる。例えば、フラッシュストレージメディア10の論理セクタアドレスの組{20h,21h,...,3Fh}を構成する論理セクタアドレス20h,21,...,3Fhは、それぞれ、フラッシュメモリ9の物理セクタアドレス(vv2×32+0)h,(vv2×32+1)h,...,(vv2×32+1F)hに対応付けられている。
【0019】
更に、フラッシュメモリ9の物理セクタアドレスの組は、それぞれ、フラッシュメモリ9の物理ブロックアドレスに対応付けられる。例えば、物理セクタアドレス(vv1×32+0)h,(vv1×32+1)h,...,(vv1×32+1F)からなる物理セクタアドレスの組は、物理ブロックアドレスvv1hに対応付けられ、また、物理セクタアドレス(vvn×32+0)h,(vvn×32+1)h,...,(vvn×32+1F)からなる物理セクタアドレスの組は、物理ブロックアドレス「vvnh」に対応付けられる。
【0020】
以上の結果として、前述したように、フラッシュストレージメディア10の論理クラスタアドレス0h,1h,2h,...,(n−1)hは、それぞれ、フラッシュメモリ9の物理ブロックアドレスvv1h,vv2h,vv3h,...,vvnhに対応付けられる。
【0021】
また、図5には、ユーザブロック管理テーブル用ブロック領域11Bに格納されるユーザブロック管理テーブルの構成を示す。ユーザブロック管理テーブルの各オフセット0,1,2,3,4,...,n−2,n−1には、各論理クラスタアドレス0h,1h,2h,3h,4h,...,(n−2)h,(n−1)hに割り当てられたフラッシュメモリ9の物理ブロックアドレスが格納されている。
【0022】
また、このユーザブロック管理テーブル用ブロック領域11Bには、フラッシュストレージメディア10の各論理クラスタアドレスに割り当てられたフラッシュメモリ9の物理ブロックアドレスが格納されるオフセットよりも上位階層のオフセットに対して、分割使用中のフラッシュメモリ9の物理ブロックアドレス*DIVBLK,分割中のテーブル内オフセット*DIVOFST,分割境界ページ番号*DIVFSCT等が格納されている。
【0023】
ところで、ユーザブロック領域11Dには、図6の(a)に示すような、1つの論理クラスタアドレスxに対して有効なデータが1つのフラッシュメモリ9の物理ブロックに格納されている論理クラスタアドレスと、図6の(b)に示すような、有効なデータが2つのフラッシュメモリ9の物理ブロックに分割して格納されている論理クラスタアドレスとが存在する。
なお、図中の「有効なデータ」とは、所定の物理ブロックアドレスに書き込まれた必要なデータを指し、「無効なデータ」とは、所定の物理ブロックに書き込まれるものの、必要でないデータを指し、更に、「イレーズ状態」とは、データが存在しない状態を指す。
【0024】
ここで、分割中のテーブル内オフセットは、フラッシュメモリ9の2つの物理ブロックに分割して格納される論理クラスタアドレスをあらわすものである。論理クラスタアドレスの有効なデータは、図6の(b)に示すように、ユーザブロック管理テーブルのオフセット*DIVOFSTに格納されているフラッシュメモリ9の物理ブロックアドレス*(SRCBLK+*DIVOFST)の分割境界ページ番号*DIVFSCT以上のページと、分割使用中のフラッシュメモリの物理ブロックアドレス*DIVBLKの分割境界ページ番号*DIVFSCTより下位階層のページとに分割されて格納されている。
【0025】
続いて、消去ブロック管理テーブル用ブロック11Cについて説明する。図2から分かるように、フラッシュメモリ9にて、消去ブロック管理テーブル用ブロック領域11Cには、1つの物理ブロックアドレスが割り当てられている。図7に、消去ブロック管理テーブル用ブロック領域11C内の構成を示す。消去ブロック管理テーブル用ブロック領域11Cには、フラッシュメモリ9の消去済みの物理ブロックアドレス0,1,2,3,・・・,m−2,m−1が割り当てられている。ここで、mは、消去ブロック領域11Eに割り当てられる物理ブロックの数である。フラッシュメモリにおける有効な物理ブロックの総数を“TotalBlk”とすると、mは、ユーザブロック領域11Dにnブロック,消去ブロック管理テーブル用ブロック領域11Cに1ブロック,ユーザブロック管理テーブル用ブロック領域11Bに1ブロック,ポインタテーブル用ブロック領域11Aに1ブロックが割り当てられた場合に残った物理ブロックの数であり、m=TotalBlk−n−1−1−1であらわされる。
【0026】
図7に示すように、消去ブロック管理テーブル用ブロック領域11Cには、消去済みの物理ブロックアドレスとともに、消去ブロック管理テーブル用ブロック領域11Cには、現在のオフセット*CUROFST,最大のオフセット*MAXOFSTが格納されている。「現在のオフセット」とは、次に使用すべきフラッシュメモリ9の消去済みの物理ブロックアドレスが格納されるオフセットをあらわし、他方、「最大のオフセット」とは、消去ブロック管理テーブルに格納されるフラッシュメモリ9の消去済みの物理ブロックアドレスの数をあらわしている。
【0027】
続いて、図8に、ホスト機器側から論理セクタアドレスxhのデータ読出し要求があった場合における、フラッシュストレージメディア10の内部処理についてのフローチャートを示す。この処理では、まず、ステップ11(以下、S11と表記)において、アクセスする論理セクタアドレスxhをホストI/F7から取得し、S12において、取得した論理セクタアドレスxhから、論理クラスタアドレスx’hを、
x’ = x ÷ 32
で計算する。
【0028】
続いて、S13では、ブロック内のフラッシュメモリのページ番号FmPageを、
FmPage = x % 32
で計算する。
【0029】
次に、S14では、ユーザブロック管理テーブルが格納されるフラッシュメモリ9の物理ブロックアドレス*USRTBLBLKに基づき、ユーザブロック管理テーブルを第1のテーブルバッファ3に読み出し、また、S15では、消去ブロック管理テーブルが格納されるフラッシュメモリ9の物理ブロックアドレスである*ERSTBLBLKに基づき、消去ブロック管理テーブルを第2のテーブルバッファ4に読み出す。
【0030】
更に、S16では、S12にて算出されたx’が、ユーザブロック管理テーブル内の分割境界ページ番号の値*DIVFSCTに等しい(x’=*DIVFSCT)か否かを判定する。YESである場合には、S17へ進み、他方、NOである場合には、S19へ進む。
【0031】
S17では、ブロック内のフラッシュメモリのページ番号FmPageが、上記の分割境界ページ番号の値*DIVFSCTよりも小さい(FmPage<*DIVFSCT)か否かを判定する。
NOである場合には、S19へ進み、論理クラスタアドレスx’hに割り当てられたフラッシュメモリ9の物理ブロックアドレスRdBlkを取得した上で(すなわちRdBlk=*(SRCBLK+x’))、S20へ進む。
他方、YESである場合には、S18へ進み、分割中のフラッシュメモリ9の物理ブロックアドレスRdBlkを取得した上で(RdBlk=*DIVBLK)、S20へ進む。
【0032】
S20では、上記物理ブロックアドレスRdBlkのページ番号FmPageからデータバッファ5にデータを読み出す。そして、最後に、データバッファ5のデータをホスト機器に出力する。以上で、処理を終了する。
【0033】
このように、論理クラスタアドレスx’hに割り当てられたフラッシュメモリ9の物理ブロックアドレスRdBlkをユーザブロック管理テーブルから取得するに際して、論理クラスタアドレスx’hがフラッシュメモリ9の2つの物理ブロックに分割されている場合には、どちらの物理ブロックに有効なデータが格納されているかを識別した上でRdBlkを取得し、そのRdBlkに基づきデータを読み出して、ホスト機器へ出力する。
【0034】
続いて、図9〜12に、ホスト機器側から論理セクタアドレスxhへのデータ書込み要求があった場合における、フラッシュストレージメディア10の内部処理についてのフローチャートを示す。この処理では、まず、S31において、ホストI/F7から論理セクタアドレスxhを取得し、S32において、その論理セクタアドレスxhから、論理クラスタアドレスx’hを、
x’ = x ÷ 32
で計算する。
【0035】
続いて、S33において、ブロック内のフラッシュメモリのページ番号FmPageを、
FmPage = x % 32
で計算する。
【0036】
次に、S34において、ユーザブロック管理テーブルが格納されるフラッシュメモリ9の物理ブロックアドレスである*USRTBLBLKに基づき、ユーザブロック管理テーブルを第1のテーブルバッファ3に読み出す。
また、S35において、消去ブロック管理テーブルが格納されるフラッシュメモリ9の物理ブロックアドレスである*ERSTBLBLKに基づき、消去ブロック管理テーブルを第2のテーブルバッファ4に読み出す。
【0037】
更に、S36において、ユーザブロック管理テーブル内の分割中のテーブル内オフセットの値*DIVOFSTが0である(*DIVOFST=0)か否かを判定する。YESである場合には、S37へ進み、その*DIVOFSTがS32で計算したx’である(*DIVOFST=x’)と認識した上で、S38へ進む。他方、NOである場合には、S38へ直接進む。
【0038】
S38では、x’=*DIVOFSTであるか否かを判定し、YESの場合には、S39へ進み、他方、NOの場合には、S40へ進む。
S39では、上記のページ番号FmPageが、ユーザブロック管理テーブル内の分割境界ページ番号の値*DIVFSCT以上である(FmPage≧*DIVFSCT)か否かを判定し、YESの場合には、図中のBを経由して、図11のS55に進み、NOの場合には、S40へ進む。
【0039】
S40では、論理クラスタアドレスx’hに割り当てられたフラッシュメモリの物理ブロックアドレスSrcBlkを取得する(すなわちSrcBlk=*(SRCBLK+x’))。
続いて、S41では、分割中の物理ブロックアドレスDivBlkとして、ユーザブロック管理テーブル内の分割使用中のフラッシュメモリの物理ブロックアドレスの値*DIVBLKを取得する(DivBlk=*DIVBLK)。
更に、S42では、図6の(b)に示すように有効なデータが2つの物理ブロックに分割されて格納されている場合の境界にあたるブロック内のフラッシュメモリのページ番号(以下、分割境界ページ番号という)DivPageとして、上記の分割境界ページ番号の値*DIVFSCTを取得する(DivPage=*DIVFSCT)。次に、S43では、ユーザブロック管理テーブル内の分割境界ページ番号の値*DIVFSCTを更新する(*DIVFSCT=0)。そして、図中のAを経由して、図10のS44へ進む。
【0040】
S44では、上記の物理ブロックアドレスSrcBlkの分割境界ページ番号DivPageに基づき、データバッファ5へデータを読み出す。
S45では、データバッファ5のデータを、上記の分割中のフラッシュメモリ物理ブロックアドレスDivBlkの分割境界ページ番号DivPageに書き込む。
【0041】
S46では、上記の物理ブロックアドレスSrcBlkの分割境界ページ番号DivPageを更新する(DivPage=DivPage+1)。
S47では、上記の分割境界ページ番号DivPageについて、DivPageが32である(DivPage=32)か否かを判定する。YESである場合には、S48へ進み、他方、NOである場合には、S44へ戻り、以降の処理を繰り返す。
【0042】
S48では、上記の物理ブロックアドレスSrcBlkを消去(イレーズ)する。
S49では、オフセットの値TempOfstとして、消去ブロック管理テーブルから現在のオフセットの値*CUROFSTを取得する(TempOfst=*CUROFST)。
S50では、ユーザブロック管理テーブルを更新する。このとき、
*(SRCBLK+x’)=DivBlk
*DIVBLK=*(TGTBLK+TempOfst)
を用いる。TGTBLKとは、消去済みのフラッシュメモリの物理ブロックアドレス0をあらわし、TGTBLK+TempOfstとは、消去ブロック管理テーブルのオフセットOfstの値をあらわしている。
【0043】
S51では、消去ブロック管理テーブルを更新する。このとき、
*(TGTBLK+TempOfst)=SrcBlk
を用いる。
更に、S52では、上記の現在のオフセットの値*CUROFSTを更新する(*CUROFST=*CUROFST+1)。
【0044】
S53では、上記の現在のオフセットの値*CUROFSTが、消去ブロック管理テーブル内の最大のオフセットの値*MAXOFSTである(*CUROFST=*MAXOFST)か否かを判定する。YESである場合には、S54へ進み、上記の現在のオフセット値*CUROFSTが0である(*CUROFST=0)と認識した上で、図11のS55へ進む。他方、NOである場合には、S55へ直接進む。
【0045】
S55では、論理クラスタアドレスx’hに割り当てられたフラッシュメモリの物理ブロックアドレスSrcBlkを取得する(SrcBlk=*(SRCBLK+x’))。
S56では、分割中の物理ブロックアドレスDivBlkを取得する(DivBlk=*DIVBLK)。
S57では、分割境界ページ番号DivPageを取得する(DivPage=*DIVFSCT)。
【0046】
また、S58では、論理クラスタアドレスx’hに割り当てられたフラッシュメモリの物理ブロックアドレスSrcBlkの分割境界ページ番号DivPageからデータバッファ5へデータを読み出す。
S59では、データバッファ5のデータを、分割中の物理ブロックアドレスDivBlkの分割境界ページ番号DivPageに書き込む。
S60では、分割境界ページ番号DivPageを更新する(DivPage=DivPage+1)。
【0047】
S61では、分割境界ページ番号DivPageがブロック内のフラッシュメモリのページ番号FmPageに等しい(DivPage=FmPage)か否かを判定する。YESである場合には、S62へ進み、他方、NOである場合には、S58へ戻り、それ以降の処理を繰り返す。
S62では、ホストI/F7からデータバッファ5に書き込むデータを取得する。
S63では、データバッファ5のデータを、分割中の物理ブロックアドレスDivBlkのブロック内のフラッシュメモリのページ番号FmPageに書き込む。
S64では、ユーザブロック管理テーブル内の分割境界ページ番号の値*DIVFSCTを更新する(*DIVFSCT=FmPage+1)。
その後、図中のCを経由して、図12のS65へ進む。
【0048】
S65では、まず、ユーザブロック管理テーブル内の分割境界ページ番号の値*DIVFSCTが32である(*DIVFSCT=32)か否かを判定する。YESである場合には、S66へ進み、他方、NOである場合には、S74へ進む。
S66では、ユーザブロック管理テーブル内の分割境界ページ番号の値*DIVFSCTを0とする(*DIVFSCT=0)。
S67では、上記の物理ブロックアドレスSrcBlkを消去する。
S68では、オフセットの値TempOfstとして、現在のオフセットの値*CUROFSTを取得する(TempOfst=*CUROFST)。
【0049】
S69では、ユーザブロック管理テーブルを更新する。このとき、
*(SRCBLK+x’)=DivBlk
*DIVBLK=*(TGTBLK+TempOfst)
を用いる。
S70では、消去ブロック管理テーブルを更新する。このとき、
*(TGTBLK+TempOfst)=SrcBlk
を用いる。
S71では、消去ブロック管理テーブル内の現在のオフセットの値*CUROFSTを更新する(*CUROFST=*CUROFST+1)。
【0050】
S72では、消去ブロック管理テーブル内の現在のオフセットの値*CUROFSTが、消去ブロック管理テーブル内の最大のオフセットの値*MAXOFSTに等しい(*CUROFST=*MAXOFST)か否かを判定する。YESである場合には、S73へ進み、*CUROFST=0とした上で、S74へ進む。他方、NOである場合には、S74へ直接進む。
【0051】
S74では、消去ブロック管理テーブルが格納されているフラッシュメモリの物理ブロックアドレス*ERSTBLBLKを消去する。
S75では、消去後の*ERSTBLBLKに、第2のテーブルバッファ4の値を書き込む。
S76では、ユーザブロック管理テーブルが格納されているフラッシュメモリの物理ブロックアドレス*USRTBLBLKを消去する。
S77では、消去後の*USRTBLBLKに第1のテーブルバッファ3の値を書き込む。
以上で、処理を終了する。
【0052】
図13〜15には、それぞれ、図9〜12のフローチャートに沿った内部処理によるデータ書込み動作を概念的にあらわす。
図13は、ユーザブロック管理テーブル内の分割中のテーブル内オフセットの値*DIVOFSTが0である場合におけるデータ書込み動作をあらわす。また、図14は、*DIVOFST=x’かつFmPage≧*DIVOFSTである場合におけるデータ書込み動作をあらわす。更に、図15の(a)及び(b)は、図13及び14での条件以外の場合におけるデータ書込み動作をあらわし、また、更に、図16は、*DIVOFST=x’かつFmPage=*DIVOFSTの場合におけるデータ書込み動作をあらわす。
【0053】
以上のように、分割して使用されている論理クラスタアドレスに対してアクセスする場合と、それ以外の論理クラスタアドレスに対してアクセスする場合とで、内部処理を変更することで、フラッシュストレージメディアに対して連続した論理アドレスへの書込みを行なう場合に、図16に示すように、無駄なコピー処理をなくすることができ、書込みパフォーマンスを向上させることができる。
【0054】
次に、本発明の他の実施の形態について説明する。なお、以下、上記実施の形態1における場合と同じものについては同一の符号を付し、それ以上の説明を省略する。
実施の形態2.
この実施の形態2では、フラッシュストレージメディアのハード構成としては、上記実施の形態1における場合と同様のものが採用されるが、CPUにより制御されるプログラム中の動作として、実施の形態1とは異なるものが採用される。図17に示すように、ユーザブロック管理テーブルは、論理クラスタアドレスに割り当てられたフラッシュメモリの物理ブロックアドレスの消去状態を示すフラグErsFlagを備えるように構成される。この図17では、論理クラスタアドレス0hに割り当てられたフラッシュメモリの物理ブロックアドレスSRCBLKが取り上げられる。このフラグErsFlagが0である場合には、SRCBLKが消去状態にあることをあらわし、また、フラグErsFlagが1である場合には、SRCBLKにデータが書き込まれていることをあらわす。
【0055】
図18〜20には、上記実施の形態2に係る、ホスト機器側から論理アドレスxhへのデータ書込み要求があった場合におけるフラッシュストレージメディアの内部処理についてのフローチャートを示す。なお、開始から図18のS81に至るまでのフローは、上記実施の形態1についての図9に示すフローと同様であるため、これを省略する。
【0056】
S81では、論理クラスタアドレスx’hに割り当てられたフラッシュメモリの物理ブロックアドレスSrcBlkについてのフラグErsFlgが0であるか否かを判定する。NOである場合には、S82へ進み、他方、YESである場合には、S87へ進む。
【0057】
S82では、上記の物理ブロックアドレスSrcBlkの分割境界ページ番号DivPageに基づき、データバッファ5へデータを読み出す。
S83では、データバッファ5のデータを、分割中の物理ブロックアドレスDivBlkの分割境界ページ番号DivPageに書き込む。
続いて、S84では、分割境界ページ番号DivPageを更新する(DivPage=DivPage+1)。
【0058】
S85では、分割境界ページ番号DivPageが32である(DivPage=32)か否かを判定する。YESである場合には、S86へ進み、他方、NOである場合には、S82へ戻り、それ以降の処理を繰り返す。
S86では、上記の物理ブロックアドレスSrcBlkを消去する。
S87では、オフセットの値TempOfstとして、現在のオフセットの値*CUROFSTを取得する。このとき、
TempOfst=*CUROFST
となる。
S88では、ユーザブロック管理テーブルを更新する。このとき、
*(SRCBLK+x’)=DivBlk
*DIVBLK=*(TGTBLK+TempOfst)
を用いる。
【0059】
S89では、消去ブロック管理テーブルを更新する。このとき、
*(TGTBLK+TempOfst)=SrcBlk
を用いる。
更に、S90では、消去ブロック管理テーブル内の現在のオフセットの値*CUROFSTを更新する(*CUROFST=*CUROFST+1)。
【0060】
続いて、S91では、消去ブロック管理テーブル内の現在のオフセットの値*CUROFSTが、消去ブロック管理テーブル内の最大のオフセットの値*MAXOFSTに等しい(*CUROFST=*MAXOFST)か否かを判定する。YESである場合には、S92へ進み、*CUROFST=0とした上で、図中のBを経由して、図19のS93へ進む。他方、NOである場合には、S93へ直接進む。
【0061】
S93では、論理クラスタアドレスx’hに割り当てられたフラッシュメモリの物理ブロックアドレスSrcBlkを取得する(SrcBlk=*(SRCBLK+x’))。
S94では、分割中の物理ブロックアドレスDivBlkを取得する(DivBlk=*DIVBLK)。
S95では、分割境界ページ番号DivPageを取得する(DivPage=*DIVFSCT)。
【0062】
S96では、上記の物理ブロックアドレスSrcBlkのフラグErsFlgが0である(ErsFlg=0)か否かを判定する。NOである場合には、S97へ進み、他方、YESである場合には、S101へ進む。
S97では、上記の物理ブロックアドレスSrcBlkのブロック内のフラッシュメモリのページ番号DivPageからデータバッファ5へデータを読み出す。
S98では、データバッファ5のデータを上記の物理ブロックアドレスDivBlkの分割境界ページ番号DivPageに書き込む。
S99では、分割境界ページ番号DivPageを更新する(DivPage=DivPage+1)。
【0063】
S100では、上記の分割境界ページ番号DivPageがブロック内のフラッシュメモリのページ番号FmPageに等しい(DivPage=FmPage)か否かを判定する。YESである場合には、S101へ進み、他方、NOである場合には、S97へ戻り、それ以降の処理を繰り返す。
S101では、ホストI/F7からデータバッファ5に書き込むデータを取得する。
【0064】
S102では、データバッファ5のデータを分割中の物理ブロックアドレスDivBlkのブロック内のフラッシュメモリのページ番号FmPageに書き込む。
S103では、上記の分割境界ページ番号の値*DIVFSCTを更新する。このとき、
*DIVFSCT=FmPage+1
を用いる。
S104では、上記の分割境界ページ番号の値*DIVFSCTが32である(*DIVFSCT=32)か否かを判定する。YESである場合には、図中のCを経由して、図20のS105へ進み、他方、NOである場合には、図中のDを経由して、図20のS114へ進む。
【0065】
S105では、上記の分割境界ページ番号の値*DIVFSCT=0とし、続いて、S106では、上記の物理ブロックアドレスSrcBlkのフラグErsFlgが0である(ErsFlg=0)か否かを判定する。NOである場合には、S107へ進み、上記の物理ブロックアドレスSrcBlkを消去した上で、S108へ進む。他方、YESである場合には、S108へ直接進む。
【0066】
S108では、オフセットの値TempOfstとして、現在のオフセットの値*CUROFSTを取得する(TempOfst=*CUROFST)。
S109では、ユーザブロック管理テーブルを更新する。このとき、
*(SRCBLK+x’)=DivBlk
*DIVBLK=*(TGTBLK+TempOfst)
を用いる。
【0067】
S110では、消去ブロック管理テーブルを更新する。このとき、
*(TGTBLK+TempOfst)=SrcBlk
を用いる。
S111では、消去ブロック管理テーブル内の現在のオフセットの値*CUROFSTを更新する(*CUROFST=*CUROFST+1)。
【0068】
S112では、その*CUROFSTが、消去ブロック管理テーブル内の最大のオフセットの値*MAXOFSTと等しい(*CUROFST=*MAXOFST)か否かを判定する。YESである場合には、S113へ進み、*CUROFST=0とした上で、S114へ進む。他方、NOである場合には、S114へ直接進む。
【0069】
S114では、消去ブロック管理テーブルが格納されているフラッシュメモリの物理ブロックアドレス*ERSTBLBLKを消去する。
S115では、上記の物理ブロックアドレス*ERSTBLBLKに第2のテーブルバッファ4の値を書き込む。
S116では、ユーザブロック管理テーブルが格納されているフラッシュメモリの物理ブロックアドレス*USRTBLBLKを消去する。
S117では、上記の物理ブロックアドレス*USRTBLBLKに第1のテーブルバッファ3の値を書き込む。
以上で、処理を終了する。
【0070】
図21〜23には、それぞれ、図18〜20のフローチャートを用いて説明した内部処理によるデータ書込みを概念的にあらわす。
図21は、ユーザブロック管理テーブル内の分割中のテーブル内オフセットの値*DIVOFST=0かつ*(SRCBLK+x’)のErsFlag=0である場合におけるデータ書込み動作をあらわす。また、図22は、*DIVOFST=x’かつFmPage≧*DIVFSCTかつ*(SRCBLK+x’)のErsFlag=0である場合におけるデータ書込み動作をあらわす。更に、図23の(a)及び(b)は、図21及び22での条件以外でErsFlag=0である場合におけるデータ書込み動作をあらわす。
【0071】
以上のように、論理クラスタアドレスに割り当てられたフラッシュメモリ物理ブロックアドレスの消去状態に応じて、書込み時のフローを切り換えることにより、図21〜23に示すように、無駄なコピー処理をなくすることができ、書込みパフォーマンスを向上させることができる。
【0072】
なお、本発明は、例示された実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲において、種々の改良及び設計上の変更が可能であることは言うまでもない。
【0073】
【発明の効果】
本願の請求項1の発明によれば、1つの論理アドレスに対して繰り返して書込みが行なわれた場合でも同じ物理ブロックアドレスに対して消去/書込みが繰り返されることを防止し、消去単位よりメモリアクセス単位が小さいフラッシュストレージメディアにおいて、連続した論理アドレスへの書込み動作時の無駄なコピー処理をなくすることができ、データ書込みパフォーマンスを向上させることができる。
【0074】
また、本願の請求項2の発明によれば、論理クラスタアドレスに対応付けられたフラッシュメモリ物理ブロックが、消去状態及びデータ書込み状態のいずれにあるかを識別し、上記フラッシュメモリ物理ブロックの消去状態およびデータ書込み状態に基づき、フラッシュストレージメディア内部の処理フローを変更するので、無駄なコピー処理を一層厳密になくすることができ、データ書込みパフォーマンスを向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るNAND型フラッシュメモリを搭載したフラッシュストレージメディアの内部構成を示すブロック図である。
【図2】上記実施の形態1に係るNAND型フラッシュメモリ内に規定されるブロック構成を示す図である。
【図3】上記実施の形態1に係るポインタテーブルの構成を示す。
【図4】本発明の実施の形態1に係るユーザブロック領域における各種アドレスの対応を示す図である。
【図5】ユーザブロック管理テーブル用ブロック領域に格納されるユーザブロック管理テーブルの構成を示す。
【図6】ユーザブロック領域にて、有効なデータが1つの物理ブロックに格納される論理クラスタアドレスと、有効なデータが2つの物理ブロックに分割されて格納される論理クラスタアドレスとを示す。
【図7】消去ブロック管理テーブルの構成を示す。
【図8】データ読出し要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についてのフローチャートを示す図である。
【図9】データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第1のフローチャートを示す図である。
【図10】データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第2のフローチャートを示す図である。
【図11】データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第3のフローチャートを示す図である。
【図12】データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第4のフローチャートを示す図である。
【図13】ユーザブロック管理テーブル内の分割中のテーブル内オフセットの値*DIVOFSTが0である場合におけるデータ書込み動作をあらわす。
【図14】*DIVOFST=x’かつFmPage≧*DIVOFSTである場合におけるデータ書込み動作をあらわす。
【図15】図13及び14での条件以外の場合におけるデータ書込み動作をあらわす。
【図16】*DIVOFST=x’かつFmPage=*DIVOFSTの場合におけるデータ書込み動作をあらわす。
【図17】本発明の実施の形態2に係る、ユーザブロック管理テーブルの構成を示す図である。
【図18】上記実施の形態2に係る、データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第1のフローチャートを示す図である。
【図19】上記実施の形態2に係る、データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第2のフローチャートを示す図である。
【図20】上記実施の形態2に係る、データ書込み要求があった場合におけるフラッシュストレージメディアにより実行される内部処理についての第3のフローチャートを示す図である。
【図21】ユーザブロック管理テーブル内の分割中のテーブル内オフセットの値*DIVOFST=0かつ*(SRCBLK+x’)のErsFlag=0である場合におけるデータ書込み動作をあらわす。
【図22】*DIVOFST=x’かつFmPage≧*DIVFSCTかつ*(SRCBLK+x’)のErsFlag=0である場合におけるデータ書込み動作をあらわす。
【図23】図21及び22での条件以外でErsFlag=0である場合におけるデータ書込み動作をあらわす。
【符号の説明】
1 CPU,2 CPUメインメモリ,3 第1のテーブルバッファ,4 第2のテーブルバッファ,5 データバッファ,6 フラッシュI/F,7 ホストI/F,8 シーケンサ,9 NAND型フラッシュメモリ,10 フラッシュストレージメディア,11A ポインタテーブル用ブロック領域,11B ユーザブロック管理テーブル用ブロック領域,11C 消去ブロック管理テーブル用ブロック領域,11D ユーザブロック領域,11E 消去ブロック領域。
Claims (2)
- NAND型フラッシュメモリを搭載し、該フラッシュメモリへのアクセス単位がフラッシュメモリの消去単位よりも小さいフラッシュストレージメディアにおいて、
上記アクセス単位となる複数のセクタから構成されるクラスタ単位でメディア内部の管理を行なうべく、所定のホスト機器から入力される論理セクタアドレスを、複数の論理セクタアドレスで構成された論理クラスタアドレスに変換する手段と、
上記フラッシュメモリ内に規定される領域であり、上記論理クラスタアドレスに対応付けられるフラッシュメモリ物理ブロックで構成されたユーザブロック領域と、
上記フラッシュメモリ内に規定される領域であり、消去状態にあるフラッシュメモリ物理ブロックで構成された消去ブロック領域と、
対応付けられるフラッシュメモリ物理ブロックが2つ存在する論理クラスタアドレスが存在し、これら2つのフラッシュメモリ物理ブロックにそれぞれ有効なデータと無効なデータとが存在する場合に、ホスト機器から入力される論理セクタアドレスから、対応付けられたフラッシュメモリ物理ブロックを取得する手段と、
上記消去ブロック領域のフラッシュメモリ物理ブロックと、ユーザブロック領域のフラッシュメモリ物理ブロックとを入れ替える手段とを有していることを特徴とするフラッシュストレージメディア。 - 更に、上記論理クラスタアドレスに対応付けられたフラッシュメモリ物理ブロックが、消去状態及びデータ書込み状態のいずれにあるかを識別する手段と、
上記フラッシュメモリ物理ブロックの消去状態およびデータ書込み状態に基づき、フラッシュストレージメディア内部の処理フローを変更する手段とを有していることを特徴とする請求項1記載のフラッシュストレージメディア。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002216911A JP2004062328A (ja) | 2002-07-25 | 2002-07-25 | Nand型フラッシュメモリを搭載したフラッシュストレージメディア |
US10/374,130 US20040019761A1 (en) | 2002-07-25 | 2003-02-27 | Flash storage medium having a NAND-type flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002216911A JP2004062328A (ja) | 2002-07-25 | 2002-07-25 | Nand型フラッシュメモリを搭載したフラッシュストレージメディア |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004062328A true JP2004062328A (ja) | 2004-02-26 |
Family
ID=30767962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002216911A Pending JP2004062328A (ja) | 2002-07-25 | 2002-07-25 | Nand型フラッシュメモリを搭載したフラッシュストレージメディア |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040019761A1 (ja) |
JP (1) | JP2004062328A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006221636A (ja) * | 2005-02-07 | 2006-08-24 | Samsung Electronics Co Ltd | Run単位アドレスマッピングテーブル及びそれの構成方法 |
KR100687151B1 (ko) | 2004-05-27 | 2007-02-27 | 가부시끼가이샤 도시바 | 메모리 카드, 반도체 장치, 및 반도체 메모리의 제어 방법 |
US8429327B2 (en) | 2006-09-27 | 2013-04-23 | Samsung Electronics Co., Ltd. | Mapping apparatus and method for non-volatile memory supporting different cell types |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7747837B2 (en) * | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US8307148B2 (en) * | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
KR100809320B1 (ko) * | 2006-09-27 | 2008-03-05 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법 |
CN103309814B (zh) * | 2013-05-23 | 2015-10-14 | 航天科技控股集团股份有限公司 | 汽车里程数据在eeprom中的存储方法 |
US9990278B2 (en) * | 2014-10-20 | 2018-06-05 | Cypress Semiconductor Corporation | Overlaid erase block mapping |
JP2022074450A (ja) * | 2020-11-04 | 2022-05-18 | キオクシア株式会社 | メモリカード、メモリシステム、及びファイルの断片化解消方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
-
2002
- 2002-07-25 JP JP2002216911A patent/JP2004062328A/ja active Pending
-
2003
- 2003-02-27 US US10/374,130 patent/US20040019761A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100687151B1 (ko) | 2004-05-27 | 2007-02-27 | 가부시끼가이샤 도시바 | 메모리 카드, 반도체 장치, 및 반도체 메모리의 제어 방법 |
JP2006221636A (ja) * | 2005-02-07 | 2006-08-24 | Samsung Electronics Co Ltd | Run単位アドレスマッピングテーブル及びそれの構成方法 |
US8429327B2 (en) | 2006-09-27 | 2013-04-23 | Samsung Electronics Co., Ltd. | Mapping apparatus and method for non-volatile memory supporting different cell types |
Also Published As
Publication number | Publication date |
---|---|
US20040019761A1 (en) | 2004-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2348992C2 (ru) | Запоминающее устройство и ведущее устройство | |
KR100871027B1 (ko) | 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법 | |
US8099545B2 (en) | Wear leveling in storage devices based on flash memories and related circuit, system, and method | |
US6434658B1 (en) | Memory device operable with a small-capacity buffer memory and having a flash memory | |
US6591328B1 (en) | Non-volatile memory storing address control table data formed of logical addresses and physical addresses | |
KR20040023643A (ko) | 플래시 메모리장치 및 그것에 기억된 데이터의 머지방법 | |
US6996660B1 (en) | Memory device and method for storing and reading data in a write-once memory array | |
TW200919185A (en) | Data storage device, memory system, and computing system using nonvolatile memory device | |
TWI262505B (en) | Partial page programming of multi level flash | |
KR100684061B1 (ko) | 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법 | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
JP2006221636A (ja) | Run単位アドレスマッピングテーブル及びそれの構成方法 | |
JPH08263361A (ja) | フラッシュメモリカード | |
JPH1185609A (ja) | 半導体記憶装置及びそのデータ管理方法 | |
JP4874588B2 (ja) | 記憶デバイスおよびホスト機器 | |
JP4841070B2 (ja) | 記憶装置 | |
JP2004062328A (ja) | Nand型フラッシュメモリを搭載したフラッシュストレージメディア | |
JPH04263386A (ja) | Icメモリカード | |
KR100522006B1 (ko) | 비휘발성 기억장치 및 그 제어방법 | |
JP2000298992A (ja) | 多値記憶不揮発性半導体メモリの制御装置 | |
EP1659497A1 (en) | Non-volatile storage device and write method thereof | |
JP4235646B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4661497B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
JP2004151939A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080122 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080527 |