JP3827682B2 - フラッシュメモリ、そのためのマッピング制御装置及び方法 - Google Patents

フラッシュメモリ、そのためのマッピング制御装置及び方法 Download PDF

Info

Publication number
JP3827682B2
JP3827682B2 JP2004106982A JP2004106982A JP3827682B2 JP 3827682 B2 JP3827682 B2 JP 3827682B2 JP 2004106982 A JP2004106982 A JP 2004106982A JP 2004106982 A JP2004106982 A JP 2004106982A JP 3827682 B2 JP3827682 B2 JP 3827682B2
Authority
JP
Japan
Prior art keywords
block
state
flash memory
data
sector
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.)
Expired - Fee Related
Application number
JP2004106982A
Other languages
English (en)
Other versions
JP2005174279A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005174279A publication Critical patent/JP2005174279A/ja
Application granted granted Critical
Publication of JP3827682B2 publication Critical patent/JP3827682B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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

本発明は、フラッシュメモリ、そのためのマッピング制御装置及び方法に関し、特に、所定の状態変移アルゴリズムを基盤として、プロセスから要求される論理演算により変更されるブロックの状態情報をフラッシュメモリに更新し、書き込み/読み出し演算の際に参照するようにして、効率的なメモリアクセスを可能にするものに関する。
フラッシュメモリは、データの書き込みと削除が自在なRAM(ランダム・アクセス・メモリ)の長所と、電源の供給無しでも、格納されているデータを保存するROM(リード・オンリ・メモリ)の長所を共に有しており、最近、デジタルカメラ、PDA、MP3プレーヤーのような携帯用電子機器の保存媒体として広く用いられている。
この種のフラッシュメモリは、既存のRAM、不揮発性保存装置、マグネチックのように、特定の位置に保存されたデータを任意にアクセスすることができるが、データを修正または削除する方法においては、既存の保存装置とは異なり、ブロックを基本単位としてアクセスが行われる。
即ち、以前のデータを修正または削除しようとする場合、該当データを含むブロックを削除した後、データを書き換えなければならず、例えば、文字やアルファベットを1つずつ修正せず、「削除」キーを押して全ての単語を削除した後、さらに修正することのようである。
以下、使用する用語において、物理的に連続したアドレスを有するバイトをセクタといい、セクタは、フラッシュメモリに対する読み出し/書き込み演算の基本単位であり、複数のセクタで構成されるブロックは、フラッシュメモリにおいて一度の削除演算で消すことができる削除演算の基本単位である。
このようなフラッシュメモリでは、書き込み前削除(erase before write)により、フラッシュメモリに書き込まれたデータの物理アドレス(Physical Address)が変更されても、同一の論理アドレス(Logical Address)でフラッシュメモリに書き込まれたデータにアクセスすることができるように、論理‐物理マッピング(logical-physical mapping)方法を支援する。
即ち、マッピング技法は、特定のデータに対する論理アドレスと物理アドレス間のマッピング情報を所定のマッピングテーブルで管理することをいい、セクタマッピング方法、ブロックマッピング方法、及び混合方法に大別される。
図1Aは、従来のセクタマッピング方法によるフラッシュメモリアクセス構造を示す概略図である。
図示のように、セクタマッピング方法は、フラッシュメモリのセクタ単位でマッピング情報を維持し、論理セクタ情報を用いたフラッシュメモリの物理セクタアクセスを可能にするものである。
例えば、所定のデータに対して、書き込み動作の要求と共に論理セクタ番号(Logical Sector Number: LSN)が9番と指定されると、フラッシュメモリアクセス装置では、マッピングテーブルを参照してLSNの9番に相応する物理セクタ番号(Physical Sector Number: PSN)であるPSN6番を検索する。
その後、フラッシュメモリの6番セクタに該当データを書き込むが、若し、該当セクタに他のデータが書き込まれていると、フラッシュメモリの空いている物理セクタにデータを書き込み、マッピングテーブルにおいてLSN9番に相応するPSNを変更する。
図1Bは、従来のブロックマッピング方法によるフラッシュメモリアクセス構造を示す概略図である。
図示のように、ブロックマッピング方法は、フラッシュメモリのブロック単位でマッピング情報を保持し、論理セクタ情報を論理ブロック情報に変換させた後、論理ブロック情報とオフセット情報を用いたフラッシュメモリの物理セクタアクセスを可能にするものである。
例えば、所定のデータに対して、書き込み動作の要求と共にLSNが9番と指定されると、フラッシュメモリアクセス装置では、論理セクタ番号9番の論理ブロック番号(Logical Block Number: LBN)の9/4=2を求めた後、マッピングテーブルを参照してLBNに相応する物理ブロック番号(Physical Block Number: PBN)を求める。
このとき、論理ブロックのオフセットと物理ブロックのオフセットとを一致させて算出されたPBNである1番において、オフセット1に相応するセクタにデータを書き込む。
若し、該当のセクタに他のデータが書き込まれていると、オフセットを一致させてフラッシュメモリの空いている物理セクタにデータを書き込み、マッピングテーブルにおいてLBN2番に相応するPBNを変更する。
このとき、既存のPBNに残っている有効なデータを新たなPBNにオフセットを一致させてコピーしなければならない。
図1Cは、従来の混合マッピング方法によるフラッシュメモリアクセス構造を示す概略図である。
図示のように、混合マッピング方法は、ブロックマッピング方法のように、ブロック単位のマッピングを行った後、物理ブロック内でセクタマッピング情報を保存することにより、セクタマッピングの性質を得る方法である。
例えば、所定のデータに対して、書き込み動作の要求と共にLSNが9番と指定されると、フラッシュメモリアクセス装置では、論理セクタ番号9番のLBNの9/4=2を求めた後、マッピングテーブルを参照してLBNに相応するPBN1番を得る。
次に、PBN1番の空いているセクタにデータを書き込み、LSN9番を書き込む。
このような従来のマッピング技法の中でセクタマッピング方法は、フラッシュメモリのセクタ単位でマッピング情報を保持するためのマッピング情報が多すぎて、実際にフラッシュメモリに応用するには困難であるとの問題点があった。
このため、最近の技術は、マッピング情報を少しでも不要とするブロックマッピング方法を基盤としている。
しかし、ブロックマッピング方法は、オフセットを一致させなければならないので、同一のセクタに対する書き込み演算が多く行われる場合、新たなブロックを割り当てられて、同一のセクタにデータを書き込まなければならず、該当セクタだけでなく、同一のブロックの他のセクタの有効なデータもコピーしなければならないので、書き込みと削除の演算が多く行われ、システムの性能を顕著に低下させるとの問題点があった。
また、混合マッピング方法は、ブロックマッピングを経た後、セクタマッピング情報を保存するので、オフセットを一致させなくてもよいものの、セクタマッピング情報を書き込むために所定のメモリ空間を確保しなければならないため、ブロックマッピング技法に比べてメモリ要求量が多くなるという問題点があった。
このような従来技術の問題点を補完するために既に提案されている、韓国公開特許公報第2002‐92487号(発明の名称:フラッシュメモリの管理方法)は、所定のログブロックを割り当ててデータ更新過程での書き込み演算が要求されるデータをログブロックに書き込みをさせることにより、データの更新が多い環境でもシステムの性能が低下しないようにしたが、ログブロックに書き込まれているデータをデータブロックに移動させる過程での書き込み/削除演算が要求されるため、繰り返しの書き込み演算によるフラッシュメモリのシステム性能の低下を防止するための方法としては不十分であった。
従って、プロセッサから要求される書き込み演算による書き込みと削除演算の回数を減らすことにより、フラッシュメモリシステムの性能を向上させることができるフラッシュメモリアクセス方法が要望されている。
本発明は、上記問題点に鑑みなされたものであり、プロセッサから要求される論理演算により変更されるブロックの状態情報を、所定の状態遷移アルゴリズムにより、フラッシュメモリに書き込み、書き込み/読み出し演算の際に参照させる効率的なフラッシュメモリアクセスのためのマッピングアルゴリズムを提供することを目的とする。
また、オフセットが一致しなくても、既存のブロックマッピングアルゴリズムによるフラッシュメモリアクセス方法を用いたフラッシュメモリアクセスを可能にすることを他の目的とする。
また、状態遷移アルゴリズムを用いた状態情報により削除演算過程を最小化し、フラッシュメモリシステムの全体性能を高めることをさらに他の目的とする。
上記の目的を達成するため、本発明は、ブロックの状態を示すブロック状態情報により、フラッシュメモリに対する所定の論理演算実行の際に論理演算が行われるセクタを決定し、決定されたセクタをアクセスするものである。
また、決定されたセクタをアクセスした結果に応じて変更されるブロック状態情報を所定の状態遷移アルゴリズムにより更新するものである。
また、本発明による状態遷移アルゴリズムは、所定の論理演算に応じて変更されるブロックの状態を示すものであり、状態は、ブロックにデータが書き込まれていない第1の状態と、第1の状態において所定のデータをセクタオフセットを一致させて書き込みをした第2の状態と、第1の状態において所定のデータをセクタオフセットを一致させずに書き込みをした第3の状態と、ブロックの全体に前記第2の状態のデータが書き込まれた第4の状態と、第3の状態または第4の状態において有効なデータが新たなブロックに移され、以前のブロックに書き込まれているデータが有効でない第5の状態とを含むことを特徴とする。
以下、本発明の構成と動作を一実施形態によって説明するために、第1の状態はフリー(以下、Fという)、第2の状態はM、第3の状態はN、第4の状態はソース(以下、Sという)、第5の状態はオールド(以下、Oという)と称し、それぞれのブロック状態情報を有するブロックをFブロック、Mブロック、Nブロック、Sブロック、Oブロックと称する。
本発明の一実施形態によるフラッシュメモリは、所定のセクタからなるブロック単位で領域が区分され、ブロックの状態を示し、論理演算が行われるセクタを決定するのに用いられるブロック状態情報を含むことを特徴とする。
本発明の一実施形態によるフラッシュメモリのためのマッピング制御装置は、所定のセクタからなるブロックを単位として領域が区分され、前記ブロックの状態を示すブロック状態情報を含むフラッシュメモリと、フラッシュメモリに対する所定の論理演算が要求されると、前記ブロック状態情報により前記論理演算が行われるセクタを決定し、所定の状態遷移アルゴリズムにより前記ブロック状態情報を更新するプロセッサとを備えることを特徴とする。
本発明の一実施形態によるフラッシュメモリのためのマッピング制御方法は、フラッシュメモリの特定の論理セクタに対し、所定の論理演算が要求されると、マッピングテーブルを参照して前記論理セクタに該当する物理ブロックを検索するステップと、物理ブロックのブロック状態情報により前記論理演算が行われるセクタを決定するステップと、決定されるセクタをアクセスして前記論理演算を行うステップとを含むことを特徴とする。
本発明によると、フラッシュメモリに要求される論理セクタに対する書き込み/読み出し演算において、所定の状態遷移アルゴリズムにより該当の演算が行われるセクタを決定することにより、フラッシュメモリの特定の論理ブロックに対する書き込み演算の際に要求される削除演算を最小化し、フラッシュメモリシステムの性能を最大化することができる。
以下、本発明の好ましい実施形態を、添付図面に基づいて詳しく説明する。
先ず、本発明によるフラッシュメモリとそのためのマッピング制御装置を含むフラッシュメモリ基盤システムの構成と動作について添付図面に基づいて詳しく説明する。
図2は、本発明の一実施形態によるフラッシュメモリ基盤システムを示す概略図である。
図示のように、システムは、フラッシュメモリ100と、システムメモリ300と、プロセッサ500とからなる。
フラッシュメモリ100は、削除演算の基本単位であるブロックで構成され、各ブロックは書き込み/読み出し演算の基本単位である複数のセクタからなる。
また、フラッシュメモリ100は、各ブロックの状態を示し、書き込み/読み出し等の論理演算が行われるセクタを決定するのに用いられるブロック状態情報を含む。
ブロック状態情報は、フラッシュメモリ100に関する情報を書き込むメタブロック(Meta Block)に書き込み、または各ブロックの保存領域の中で所定領域(例えば、スペア)を割り当てられて書き込む。
システムメモリ300は、フラッシュメモリアクセスのためのアクセスコードを含むものであって、RAMまたはROMのような現地実行(eXecute‐In‐Place: XIP)が可能なメモリが用いられる。
プロセッサ500は、システムメモリ300に書き込まれているフラッシュメモリアクセスコードを用いて、フラッシュメモリ100をアクセスするものであって、所定の論理演算が要求されると、論理セクタのアドレスをフラッシュメモリアクセスのための物理ブロックアドレスに変換し、物理ブロックアドレスを通じて該当ブロックのブロック状態情報により論理演算が行われるセクタを決定して論理演算を行うものである。
また、プロセッサ500は、所定の論理演算が要求されると、所定の状態遷移アルゴリズムを通じて論理演算により変更される各ブロックのブロック状態情報を決定し、決定されたブロック状態情報によりフラッシュメモリ100に書き込まれている該当ブロックのブロック状態情報を更新する。
各ブロック状態情報により、各ブロックは、ブロックにデータが書き込まれていないFブロックと、Fブロックにおいて所定のデータをセクタオフセットを一致させて書き込みをしたMブロックと、Mブロックにおいて所定のデータをセクタオフセットを一致させずに書き込みをしたNブロックと、ブロック全体にMブロックのデータが書き込まれたSブロックと、NブロックまたはSブロックにおいて有効なデータが新たなブロックに移され、以前のブロックに書き込まれたデータが有効でないOブロックとからなる。
状態遷移アルゴリズムは、現在、Mブロックが全部使用中であれば、新たに要求される書き込み演算を行うためにFブロックをさらに割り当て、既存のMブロックをSブロックに遷移させた後、新たなデータをFブロックに書き込むスワップマージ(swap merge)演算を行う。
また、状態遷移アルゴリズムは、現在、Nブロックが全部使用中であれば、新たに要求される書き込み演算を行うために新たなFブロックをさらに割り当て、既存のNブロックに書き込まれたデータの中で有効なデータのみをFブロックに書き込み、既存のNブロックをOブロックに遷移させるスマートマージ(smart merge)演算を行う。
このようなスマートマージ演算により、新たなFブロックに書き込まれるデータは、セクタオフセットが一致され、FブロックはMブロックに遷移させられ、Oブロックは所定の削除演算によりFブロックに遷移させられる。
図3は、本発明の一実施形態によるフラッシュメモリ基盤システムのソフトウェアの構造を示す概略図である。
図示のように、本発明によるソフトウェアの構造は、システムのファイルシステムにより所定のファイルに対する論理演算を行う応用プログラムモジュール(Applications)と、応用プログラムモジュールで行われる論理演算により要求されるフラッシュメモリのデータをアクセスするフラッシュメモリマッピング制御装置モジュールと、フラッシュメモリマッピング制御装置モジュールのアクセス制御により相応するデータを書き込みまたは読み出しをするフラッシュメモリモジュール(Flash Memory)とで構成される。
フラッシュメモリマッピング制御装置モジュールは、応用プログラムモジュールから要求される論理演算によりフラッシュメモリモジュールにアクセスし、フラッシュメモリをアクセスするファイルシステムと、ファイルシステムでのフラッシュメモリアクセスができるように、所定の論理セクタ番号(LSN)をフラッシュメモリ上の実際のアドレスである物理アドレスに変更させるフラッシュ変換階層(Flash Translation Layer: FTL)とからなる。
図4は、本発明の一実施形態による状態遷移アルゴリズムの状態遷移過程を示す状態遷移図である。
図示のように、フラッシュメモリ100の所定ブロックに対する状態遷移過程は、ブロックに何らのデータも書き込まれていないFブロックから始める。
Fブロックに対する書き込み演算がプロセッサ500により要求されると、プロセッサ500では書き込み演算を行うセクタを決定し、書き込み演算が要求されるデータのセクタオフセットが一致させることにより、プロセッサ500ではブロック状態情報をFブロックからMブロックに遷移させる(a)。
Mブロックは、プロセッサ500による書き込み演算により、SブロックまたはNブロックに遷移される。即ち、Mブロックにセクタオフセットが一致するデータに対する書き込み演算が繰り返され、書き込み可能なセクタが存在しなくなると、スワップマージ演算を行ってFブロックをさらに割り当て、MブロックをSブロックに遷移する(b)。
また、Mブロックに、以前にデータが書き込まれたセクタに対する書き込み演算が要求されると、プロセッサ500では、任意のセクタを書き込み演算が行われるセクタと決定し、ブロック状態情報をMブロックからNブロックに遷移し(c)、決定されたセクタにデータを書き込む。
Sブロックのデータがもう有効でなくなると、プロセッサ500ではブロック状態情報をSブロックからOブロックに遷移する(d)。
また、Nブロックにセクタオフセットが一致しないデータに対する書き込み演算が繰り返され、書き込み可能なセクタが存在しなくなると、スマートマージ演算を行って有効なデータのみを新たに割り当てられるFブロックに書き込み、ブロック状態情報をNブロックからOブロックに遷移する(e)。
Oブロックは、プロセッサ500による所定の削除演算によりFブロックに遷移する(f)。
参考として、前述した本発明の一実施形態によるフラッシュメモリとそのためのマッピング制御装置は、各モジュールが全てハードウェアで構成されても、一部のモジュールがソフトウェアで構成されても、または全体のモジュールがソフトウェアで構成されていてもよい。
従って、本発明の一実施形態によるフラッシュメモリとそのためのマッピング制御装置がハードウェアまたはソフトウェアで構成されるものは、本発明の思想から外れるものではなく、本発明の思想を逸脱しない範囲内で、ソフトウェア及び/またはハードウェアで構成されることによる修正と変更が実施可能であることは明らかである。
次に、本発明によるフラッシュメモリ基盤システムを用いてフラッシュメモリをアクセスするフラッシュメモリマッピング制御方法について、添付図面に基づいて詳しく説明する。
本発明によるフラッシュメモリマッピング制御過程の説明において、初期化過程は既存の処理過程と同一であるので、その説明は省略する。
従って、先ず、本発明によるマッピング制御方法による書き込み演算過程を説明してから、マッピング制御方法による読み出し演算過程について説明する。
1.書き込み演算過程
図5は、本発明の一実施形態による書き込み演算過程を概略的に示すフローチャートである。
図示のように、先ずプロセッサ500では、所定の論理セクタ番号を有するデータに対する書き込み演算が要求されると、指定された論理セクタ番号(以下、論理セクタという)から論理ブロック番号(以下、論理ブロックという)を算出する。
その後、プロセッサ500では、初期化過程で得られるマッピングテーブルから算出された論理ブロックに相応する物理ブロック番号(以下、物理ブロックという)を検索し、該当物理ブロックのブロック状態情報によりマージ演算が必要か否かを判別する(S1)。
即ち、該当物理ブロックに対して繰り返される書き込み演算により、該当物理ブロックに書き込み可能なセクタが存在しない場合、新たなデータを書き込むブロックを割り当てるために、スワップまたはスマートマージ演算が要求されるか否かを判断することである。
判別の結果、マージ演算が必要であれば、該当物理ブロックの特性によりマージ演算を行う(S2)。
即ち、プロセッサ500では、マッピングテーブルに書き込まれた該当物理ブロックの現在状態がMブロックであれば、MブロックをSブロックに遷移するスワップマージを行い、該当物理ブロックの現在状態がNブロックであれば、新たにFブロックを割り当てた後、Nブロックから有効なデータのみを検出して書き込みをした後、FブロックをMブロックに遷移するスマートマージを行う。
判別の結果、マージ演算が不要であるか、またはマージ演算が行われると、プロセッサ500では、マッピングテーブルから書き込み演算が要求される論理ブロックがMブロックまたはNブロックを有するか否かを判別する(S3)。
判別の結果、論理ブロックがMブロックまたはNブロックを有すると、プロセッサ500は、MブロックまたはNブロックにおいて、書き込み演算が要求されるデータのオフセット情報と一致するセクタを検索し、該当セクタが空いているか否かを判別する(S4)。
判別の結果、該当セクタが空いていると、プロセッサ500は、該当セクタに書き込み演算が要求されたデータを書き込み(S5)、判別の結果、該当セクタが空いていなければ、該当ブロックがMブロックであるか否かを判別する(S6)。
判別の結果、該当ブロックがMブロックであると、該当物理ブロックのブロック状態情報をNブロックに遷移し(S7)、判別の結果、該当ブロックがMブロックでなく、またはMブロックからNブロックに遷移されると、プロセッサ500は、Nブロックから任意のセクタを選択し、セクタオフセットが一致しない状態でデータを書き込む(S8)。
判別の結果、論理ブロックがMブロックまたはNブロックを有していなければ、プロセッサ500は、算出された論理ブロックに相応する物理ブロックにデータが全く書き込まれておらず、またはマージ演算が行われたものであるので、新たにデータを書き込むFブロックを割り当てる(S9)。
その後、プロセッサ500は、割り当てられたFブロックをMブロックに遷移させ(S10)、Mブロックにおいて書き込み演算が要求されたデータをセクタオフセットが一致するように書き込む(S11)。
2.読み出し演算過程
図6は、本発明の一実施形態による読み出し演算過程を概略的に示すフローチャートである。
図示のように、先ずプロセッサ500は、所定の論理セクタ番号を有するデータに対する読み出し演算が要求されると、指定された論理セクタから論理ブロックを算出する。
その後、プロセッサ500は、初期化過程で得られるマッピングテーブルから算出された論理ブロックに相応する物理ブロックを検索し、読み出し演算が要求される論理ブロックがMブロックまたはNブロックを有するか否かを判別する(S10)。
判別の結果、論理ブロックがMブロックまたはNブロックを有していなければ、プロセッサ500は、マッピングテーブルにより論理ブロックがSブロックを有するか否かを判別する(S11)。
判別の結果、論理ブロックがSブロックを有すると、プロセッサ500は、Sブロックにおいて、読み出し演算が要求されたデータのオフセット情報と一致するセクタを検索し、該当セクタに書き込まれたデータを読み出す(S12)。
判別の結果、論理ブロックがSブロックを有していなければ、プロセッサ500は、読み出し演算が要求されたデータがフラッシュメモリ100に存在しないものと判断し、読み出しミスのメッセージを発生させる(S13)。
判別の結果、論理ブロックがMブロックまたはNブロックを有すると、プロセッサ500は、論理ブロックに相応する物理ブロックがMブロックを有するか否かを判別する(S14)。
判別の結果、論理ブロックに相応する物理ブロックがMブロックを有していなければ、プロセッサ500は、Nブロックに読み出し演算が要求された論理セクタに該当するセクタが存在するか否かを判別する(S15)。
判別の結果、Nブロックに該当セクタが存在すると、Nブロックの該当セクタに書き込まれたデータを読み出し(S16)、判別の結果、Nブロックに該当セクタが存在しなければ、論理ブロックに相応する物理ブロックがSブロックを有するか否かを判別する(S17)。
判別の結果、論理ブロックに相応する物理ブロックがSブロックを有すると、該当セクタに書き込まれたデータを読み出し(S18)、判別の結果、論理ブロックに相応する物理ブロックがSブロックを有していなければ、フラッシュメモリ100に読み出し演算が要求されたデータが存在しないものと判断し、読み出しミスのメッセージを発生させる(S19)。
判別の結果、論理ブロックに相応する物理ブロックがMブロックであると、プロセッサ500は、読み出し演算が要求されたセクタがMブロックに存在するか否かを判別する(S20)。
判別の結果、該当セクタがMブロックに存在すると、Mブロックの該当セクタからデータを読み出し(S21)、判別の結果、該当セクタがMブロックに存在しなければ、読み出し演算が要求された論理ブロックがSブロックを有するか否かを判別する(S22)。
判別の結果、論理ブロックがSブロックを有していなければ、プロセッサ500は、読み出し演算が要求されたデータがフラッシュメモリ100に存在しないものと判断し、読み出しミスのメッセージを発生させる(S23)。
判別の結果、論理ブロックがSブロックを有すると、プロセッサ500は、Sブロックにおいて、読み出し演算が要求されたデータのオフセット情報と一致するセクタを検索し、該当セクタに書き込まれたデータを読み出す(S24)。
次に、このような本発明の一実施形態によるフラッシュメモリと、そのためのマッピング制御装置及び方法について添付図面に基づいて詳しく説明する。
図7は、本発明の一実施形態によるマッピングテーブルを用いる書き込み演算過程を示す概略図である。
本発明によるマッピングテーブルにおいて、論理ブロックは最大2つ以下の物理ブロックと対応され、2つの物理ブロックは、S状態のブロックとM状態またはN状態のブロックと組み合わされてもよい。
若し、図7に示すように、論理セクタ9(LSN=9)のデータに対する書き込み演算が要求されると、プロセッサ500では、論理セクタ9の論理ブロック及びオフセット値を算出する(LBN:9/4=2、Offset:1)。
この場合、プロセッサ500では、マッピングテーブルを参照して算出された論理ブロック(LBN=2)に相応する物理ブロック及び状態を検索する(a)。
その後、プロセッサ500では、該当物理ブロックのブロック状態情報からマージ演算が必要か否かを判別する。
若し、該当物理ブロックが1であり、現在、M状態として全てのセクタにデータが書き込まれていると、プロセッサ500では、MブロックをSブロックに遷移し、データ書き込みみのためのFブロックを割り当てるスワップマージ演算を行う。
スワップマージ演算によって新たなFブロックに物理ブロック2(PBN=2)が割り当てられると、プロセッサ500では、書き込み演算が要求されたデータを新たに割り当てられた物理ブロック2にオフセット値を一致させて書き込み、マッピングテーブルにおいて論理ブロック(LBN=2)に相応する物理ブロック及び状態情報を更新する。
即ち、プロセッサ500は、マッピングテーブルにおいて論理ブロック(LBN=2)に対する物理ブロック(PBN=1)のブロック状態をM→Sと、新たに割り当てられた物理ブロック(PBN=2)のブロック状態をF→Mと更新する。
例えば、図8Aに示すように、フラッシュメモリ100の一つのブロックが4つのセクタからなる場合、プロセッサ500では、所定の論理セクタに対する書き込み演算がセクタオフセット0、1、2、3、0の順に要求されると、論理セクタから論理ブロックを算出する。
その後、プロセッサ500は、マッピングテーブルを参照して算出された論理ブロックに該当する物理ブロックを検索し、検索された物理ブロックのブロック状態情報を確認し、ブロック状態情報により書き込み演算が行われるセクタを決定する。
若し、該当物理ブロックがFブロックであれば、プロセッサ500は、オフセット情報により該当物理ブロックにデータを書き込む。
即ち、プロセッサ500は、ブロック状態情報をFブロックからMブロックに遷移した後、セクタオフセットの順によって0、1、2、3、0の順に該当物理ブロックの各セクタにデータを書き込む。
この場合、1つのブロックが4つのセクタからなるので、0、1、2、3のセクタにデータが書き込まれると、該当ブロックに書き込み可能なセクタが存在しなくなるので、プロセッサ500では、スワップマージ演算によりFブロックをさらに割り当て、ブロック状態情報をMブロックからSブロックに遷移する(1)。
その後、プロセッサ500は、さらに割り当てられたFブロックのブロック状態情報をFブロックからMブロックに遷移させた後、セクタオフセット0のデータを該当セクタに書き込む(2)。
他の実施形態として、図8Bに示すように、プロセッサ500では、所定の論理セクタに対する書き込み演算がセクタオフセット0、1、2、3、0、1、2、3、0の順に要求されると、論理セクタから論理ブロックを算出する。
その後、プロセッサ500は、 マッピングテーブルを参照して算出された論理ブロックに該当する物理ブロックを検索し、検索された物理ブロックのブロック状態情報を確認し、ブロック状態情報によって書き込み演算が行われるセクタを決定する。
若し、該当物理ブロックがFブロックであれば、プロセッサ500は、オフセット情報によって該当物理ブロックにデータを書き込む。
即ち、プロセッサ500は、ブロック状態情報をFブロックからMブロックに遷移した後、セクタオフセットの順によって0、1、2、3、0、1、2、3、0の順に該当物理ブロックの各セクタにデータを書き込む。
この場合、1つのブロックが4つのセクタからなるので、0、1、2、3のセクタにデータが書き込まれると、該当ブロックに書き込み可能なセクタが存在しなくなるので、プロセッサ500では、スワップマージ演算によりFブロックをさらに割り当て、ブロック状態情報をMブロックからSブロックに遷移させる(1)。
その後、プロセッサ500は、さらに割り当てられたFブロックのブロック状態情報をFブロックからMブロックに遷移させた後、セクタオフセット0、1、2、3のデータをさらに割り当てられたMブロックの該当セクタに書き込む。
その後、プロセッサ500は、該当ブロックに書き込み可能なセクタが存在しなくなるので、Sブロックのデータがもう存在しなくなり、これによって、Sブロックのブロック状態情報をSブロックからOブロックに遷移させた後、スワップマージ演算によりFブロックをさらに割り当て、以前にさらに割り当てられたブロックのブロック状態情報をMブロックからSブロックに遷移させる(2)。
その後、プロセッサ500は、またさらに割り当てられたFブロックのブロック状態情報をFブロックからMブロックに遷移させた後、セクタオフセット0のデータを該当セクタに書き込む(3)。
また他の実施形態として、図8Cに示すように、プロセッサ500では、所定の論理セクタに対する書き込み演算がセクタオフセット0、0、0、0、1の順に要求されると、論理セクタから論理ブロックを算出する。
その後、プロセッサ500は、 マッピングテーブルを参照して算出された論理ブロックに該当する物理ブロックを検索し、検索された物理ブロックのブロック状態情報を確認し、ブロック状態情報によって書き込み演算が行われるセクタを決定する。
若し、該当物理ブロックがFブロックであれば、プロセッサ500は、オフセット情報によって該当物理ブロックにデータを書き込む。
即ち、プロセッサ500は、ブロック状態情報をFブロックからMブロックに遷移した後、セクタオフセットの順によって0、0、0、0、1の順に該当物理ブロックの各セクタにデータを書き込む。
この場合、2番目の書き込み演算を行う過程において、物理ブロックの該当セクタに既にデータが書き込まれているので、プロセッサ500は、物理ブロックのブロック状態情報をMブロックからNブロックに遷移させた後、任意のセクタを選択し、書き込み演算が要求されたデータを書き込む。
このようにセクタオフセットが一致しない書き込み演算が繰り返され、該当物理ブロックに書き込み可能なセクタが存在しなくなると、プロセッサ500では、スマートマージ演算によりFブロックをさらに割り当て、NブロックをOブロックに遷移させる(1)。
その後、プロセッサ500は、さらに割り当てられたFブロックのブロック状態情報をFブロックからMブロックに遷移させた後、Nブロックに書き込まれているデータの中で有効なデータのみを検出してMブロックの該当セクタに書き込む。
即ち、Oブロックに書き込まれているセクタオフセット0のデータのうち、最終に書き込まれたデータのみを読み出し、さらに割り当てられたMブロックのセクタ0に書き込み、セクタオフセット1のデータを該当セクタに書き込む(2)。
以上、本発明について図示された一実施形態により詳述したが、これは、一例に過ぎず、その技術の分野における通常の知識を有する者であれば、これから種々の変形と均等な他の実施形態が可能なことが理解されるべきである。従って、本発明の真正な技術的な保護範囲は、上記した請求の範囲の技術的思想により定められるものである。
従来のフラッシュメモリアクセス方法を制御方式による演算過程を示すフラッシュメモリブロック図である。 従来のフラッシュメモリアクセス方法を制御方式による演算過程を示すフラッシュメモリブロック図である。 従来のフラッシュメモリアクセス方法を制御方式による演算過程を示すフラッシュメモリブロック図である。 本発明の一実施形態によるフラッシュメモリ基盤のシステムを示す概略図である。 本発明の一実施形態によるフラッシュメモリ基盤のシステムのソフトウェアの構造を示す概略図である。 本発明の一実施形態による状態遷移アルゴリズムの状態遷移の過程を示す状態遷移図である。 本発明の一実施形態による書き込み演算過程を概略的に示すフローチャートである。 本発明の一実施形態による読み出し演算過程を概略的に示すフローチャートである。 本発明の一実施形態によるマッピングテーブルを用いる書き込み演算過程を示す概略図である。 本発明の一実施形態によるフラッシュメモリのブロック遷移の過程を示す概略図である。 本発明の一実施形態によるフラッシュメモリのブロック遷移の過程を示す概略図である。 本発明の一実施形態によるフラッシュメモリのブロック遷移の過程を示す概略図である。
符号の説明
100…フラッシュメモリ
300…システムメモリ
500…プロセッサ

Claims (26)

  1. 所定のセクタからなるブロック単位で領域が区分され、
    前記ブロックの状態を示し、書き込み/読み出しが行われるセクタを決定するのに用いられるブロック状態情報を含み、
    前記ブロック状態情報は、所定の状態遷移アルゴリズムにより決定されることを特徴とするフラッシュメモリ。
  2. 前記状態が、前記ブロックにデータが書き込まれていない第1の状態と、
    前記第1の状態において所定のデータをセクタオフセットを一致させて書き込みをした第2の状態と、
    前記第1の状態において所定のデータをセクタオフセットを一致させずに書き込みをした第3の状態と、
    前記ブロックの全体に前記第2の状態のデータが書き込まれた第4の状態と、
    前記第3の状態または第4の状態において有効なデータが新たなブロックに移され、以前のブロックに書き込まれたデータが有効でない第5の状態と
    を含むことを特徴とする請求項に記載のフラッシュメモリ。
  3. 前記状態遷移アルゴリズムは、前記第4の状態において新たに要求される書き込み演算を行うために、第1の状態のブロックをさらに割り当てるスワップマージ演算を行うことを特徴とする請求項に記載のフラッシュメモリ。
  4. 前記状態遷移アルゴリズムは、前記第3の状態において該当ブロックの全てのセクタが使用中であれば、新たに要求される書き込み演算を行うために、第1の状態のブロックをさらに割り当て、既存のブロックに書き込まれているデータの中で有効なデータのみを検出し、前記割り当てられたブロックに書き込むスマートマージ演算を行うことを特徴とする請求項に記載のフラッシュメモリ。
  5. 前記スマートマージ演算は、前記有効なデータが書き込まれると、前記割り当てられたブロックのブロック状態情報を第1の状態から第2の状態に遷移させ、既存のブロックのブロック状態情報を第3の状態から第5の状態に遷移させることを特徴とする請求項に記載のフラッシュメモリ。
  6. 前記第5の状態は、削除演算により前記第1の状態に遷移させられることを特徴とする請求項に記載のフラッシュメモリ。
  7. 前記ブロック状態情報は、前記フラッシュメモリに関する情報を書き込むメタブロックに書き込まれたり、前記各ブロックに書き込まれたりすることを特徴とする請求項1に記載のフラッシュメモリ。
  8. 所定のセクタからなるブロックを単位として領域が区分され、前記ブロックの状態を示すブロック状態情報を含むフラッシュメモリと、
    前記フラッシュメモリに対する書き込み/読み出しが要求されると、要求された論理アドレスをマッピングテーブルを参照して物理ブロックアドレスに変換し、この物理ブロックアドレスのブロック状態情報により前記書き込み/読み出しが行われるセクタを決定し、所定の状態遷移アルゴリズムにより前記ブロック状態情報を更新するプロセッサと
    を備えることを特徴とするフラッシュメモリのためのマッピング制御装置。
  9. 前記ブロック状態情報は、前記フラッシュメモリに関する情報を書き込むメタブロックに書き込まれたり、前記各ブロックに書き込まれたりすることを特徴とする請求項に記載のフラッシュメモリのためのマッピング制御装置。
  10. 前記プロセッサは、前記ブロック状態情報により決定されるセクタに所定のデータを書き込み、または前記セクタからデータを読み出し、前記更新されるブロック状態情報により削除演算を通じて有効でないブロックのデータを削除することを特徴とする請求項に記載のフラッシュメモリのためのマッピング制御装置。
  11. 前記状態は、前記ブロックにデータが書き込まれていない第1の状態と、
    前記第1の状態において所定のデータをセクタオフセットを一致させて書き込みをした第2の状態と、
    前記第1の状態において所定のデータをセクタオフセットを一致させずに書き込みをした第3の状態と、
    前記ブロックの全体に前記第2の状態のデータが書き込まれた第4の状態と、
    前記第3の状態または第4の状態において有効なデータが新たなブロックに移され、以前のブロックに書き込まれたデータが有効でない第5の状態と
    を含むことを特徴とする請求項に記載のフラッシュメモリのためのマッピング制御装置。
  12. 前記状態遷移アルゴリズムは、前記第4の状態において新たに要求される書き込み演算を行うために、第1の状態のブロックをさらに割り当てるスワップマージ演算を行うことを特徴とする請求項11に記載のフラッシュメモリのためのマッピング制御装置。
  13. 前記状態遷移アルゴリズムは、前記第3の状態において該当ブロックの全てのセクタが使用中であれば、新たに要求される書き込み演算を行うために、第1の状態のブロックをさらに割り当て、既存のブロックに書き込まれているデータの中で有効なデータのみを検出し、前記割り当てられたブロックに書き込むスマートマージ演算を行うことを特徴とする請求項11に記載のフラッシュメモリのためのマッピング制御装置。
  14. 前記スマートマージ演算は、前記有効なデータが書き込まれると、前記割り当てられたブロックのブロック状態情報を第1の状態から第2の状態に遷移させ、既存のブロックのブロック状態情報を第3の状態から第5の状態に遷移させることを特徴とする請求項13に記載のフラッシュメモリのためのマッピング制御装置。
  15. 前記第5の状態は、削除演算により前記第1の状態に遷移させられることを特徴とする請求項11に記載のフラッシュメモリのためのマッピング制御装置。
  16. フラッシュメモリの特定の論理セクタに対し、書き込み/読み出しが要求されると、マッピングテーブルを参照して前記論理セクタに該当する物理ブロックを検索するステップと、
    前記物理ブロックのブロック状態情報により前記書き込み/読み出しが行われるセクタを決定するステップと、
    前記決定されるセクタをアクセスして前記書き込み/読み出しを行うステップと
    を含み、
    前記ブロック状態情報は、所定の状態遷移アルゴリズムにより決定されることを特徴とするフラッシュメモリのためのマッピング制御方法。
  17. 前記論理セクタに該当する物理ブロックを検索するステップは、
    前記論理セクタから論理ブロックを算出するステップと、
    前記算出された論理ブロックに該当する物理ブロックを前記マッピングテーブルから検索するステップと
    を含むことを特徴とする請求項16に記載のフラッシュメモリのためのマッピング制御方法。
  18. 前記書き込み/読み出しが行われるセクタを決定するステップは、前記物理ブロックのブロック状態情報によりセクタオフセットが一致するセクタを選択することを特徴とする請求項16に記載のフラッシュメモリのためのマッピング制御方法。
  19. 前記書き込み/読み出しが行われるセクタを決定するステップは、前記物理ブロックのブロック状態情報によりセクタオフセットが一致しないセクタを選択することを特徴とする請求項16に記載のフラッシュメモリのためのマッピング制御方法。
  20. 前記決定されるセクタをアクセスして前記書き込み/読み出しを行うステップは、
    前記書き込み/読み出しに応じて変更される前記物理ブロックのブロック状態情報を所定の状態遷移アルゴリズムにより決定するステップと、
    前記決定されたブロック状態情報により、前記物理ブロックのブロック状態情報を更新するステップと
    を含むことを特徴とする請求項16に記載のフラッシュメモリのためのマッピング制御方法。
  21. 前記状態は、前記ブロックにデータが書き込まれていない第1の状態と、
    前記第1の状態において所定のデータをセクタオフセットを一致させて書き込みをした第2の状態と、
    前記第1の状態において所定のデータをセクタオフセットを一致させずに書き込みをした第3の状態と、
    前記ブロックの全体に前記第2の状態のデータが書き込まれた第4の状態と、
    前記第3の状態または第4の状態において有効なデータが新たなブロックに移され、以前のブロックに書き込まれたデータが有効でない第5の状態と
    を含むことを特徴とする請求項20に記載のフラッシュメモリのためのマッピング制御方法。
  22. 前記状態遷移アルゴリズムは、前記第4の状態において新たに要求される書き込み演算を行うために、第1の状態のブロックをさらに割り当てるスワップマージ演算を行うことを特徴とする請求項21に記載のフラッシュメモリのためのマッピング制御方法。
  23. 前記状態遷移アルゴリズムは、前記第3の状態において該当ブロックの全てのセクタが使用中であれば、新たに要求される書き込み演算を行うために、第1の状態のブロックをさらに割り当て、既存のブロックに書き込まれているデータの中で有効なデータのみを検出し、前記割り当てられたブロックに書き込むスマートマージ演算を行うことを特徴とする請求項21に記載のフラッシュメモリのためのマッピング制御方法。
  24. 前記スマートマージ演算は、前記有効なデータが書き込まれると、前記割り当てられたブロックのブロック状態情報を第1の状態から第2の状態に遷移させ、既存のブロックのブロック状態情報を第3の状態から第5の状態に遷移させることを特徴とする請求項23に記載のフラッシュメモリのためのマッピング制御方法。
  25. 前記第5の状態は、削除演算により前記第1の状態に遷移させられることを特徴とする請求項21に記載のフラッシュメモリのためのマッピング制御方法。
  26. 前記ブロック状態情報は、前記フラッシュメモリに関する情報を書き込むメタブロックに書き込まれたり、前記各ブロックに書き込まれたりすることを特徴とする請求項16に記載のフラッシュメモリのためのマッピング制御方法。
JP2004106982A 2003-12-10 2004-03-31 フラッシュメモリ、そのためのマッピング制御装置及び方法 Expired - Fee Related JP3827682B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030089817A KR100608602B1 (ko) 2003-12-10 2003-12-10 플래시 메모리, 이를 위한 사상 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2005174279A JP2005174279A (ja) 2005-06-30
JP3827682B2 true JP3827682B2 (ja) 2006-09-27

Family

ID=34511209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004106982A Expired - Fee Related JP3827682B2 (ja) 2003-12-10 2004-03-31 フラッシュメモリ、そのためのマッピング制御装置及び方法

Country Status (5)

Country Link
US (1) US7287117B2 (ja)
EP (1) EP1542129A3 (ja)
JP (1) JP3827682B2 (ja)
KR (1) KR100608602B1 (ja)
CN (1) CN1306414C (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395384B2 (en) * 2004-07-21 2008-07-01 Sandisk Corproation Method and apparatus for maintaining data on non-volatile memory systems
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
KR100703727B1 (ko) * 2005-01-12 2007-04-05 삼성전자주식회사 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
US8819088B2 (en) * 2005-07-14 2014-08-26 International Business Machines Corporation Implementing storage management functions using a data store system
KR100801072B1 (ko) * 2005-09-30 2008-02-11 삼성전자주식회사 플래시 메모리, 이를 위한 맵핑 장치 및 방법
KR100843133B1 (ko) * 2006-09-20 2008-07-02 삼성전자주식회사 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법
KR100849221B1 (ko) 2006-10-19 2008-07-31 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
KR100843135B1 (ko) * 2006-11-20 2008-07-02 삼성전자주식회사 비휘발성 메모리 관리 방법 및 장치
KR100794312B1 (ko) * 2006-12-27 2008-01-11 삼성전자주식회사 명령어 자동 처리 유니트를 포함한 메모리 컨트롤러 및그를 포함한 메모리 시스템
KR101447188B1 (ko) * 2007-07-31 2014-10-08 삼성전자주식회사 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
JP4535117B2 (ja) * 2007-11-06 2010-09-01 ソニー株式会社 メモリ装置、メモリ管理方法、およびプログラム
KR100950281B1 (ko) 2008-02-28 2010-03-31 아주대학교산학협력단 플래시 메모리 시스템 및 플래시 메모리의 데이터 연산방법
TWI370969B (en) 2008-07-09 2012-08-21 Phison Electronics Corp Data accessing method, and storage system and controller using the same
CN101567849B (zh) * 2009-04-30 2011-09-21 炬才微电子(深圳)有限公司 一种数据缓存方法和装置
CN102279815A (zh) * 2010-06-13 2011-12-14 宇瞻科技股份有限公司 以快闪存储器为基础的存储装置及其数据写入方法
CN102541777B (zh) * 2010-12-13 2015-08-19 深圳市硅格半导体有限公司 基于DMA映射的Flash数据传输控制方法及装置
KR102034626B1 (ko) * 2013-06-26 2019-10-21 삼성전자 주식회사 메모리 동작을 제어하는 방법 및 장치
KR102402783B1 (ko) * 2015-05-11 2022-05-27 삼성전자 주식회사 전자 장치 및 이의 페이지 병합 방법
CN106325764B (zh) * 2015-07-08 2021-02-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
KR20170012629A (ko) * 2015-07-21 2017-02-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180001681A (ko) * 2016-06-27 2018-01-05 에스케이하이닉스 주식회사 메모리 시스템, 이의 어드레스 맵핑 방법 및 억세스 방법
KR20200066882A (ko) * 2018-12-03 2020-06-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
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
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US6014724A (en) 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
US5745418A (en) 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
KR100577380B1 (ko) 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
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
CN1362708A (zh) * 2001-01-02 2002-08-07 吴秀林 一种闪存芯片的读写方法
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
JP3818130B2 (ja) 2001-11-14 2006-09-06 日本電信電話株式会社 データ管理方法及び装置及びデータ管理プログラム及びデータ管理プログラムを格納した記憶媒体

Also Published As

Publication number Publication date
CN1627271A (zh) 2005-06-15
EP1542129A2 (en) 2005-06-15
KR100608602B1 (ko) 2006-08-03
JP2005174279A (ja) 2005-06-30
EP1542129A3 (en) 2008-08-13
KR20050056761A (ko) 2005-06-16
US7287117B2 (en) 2007-10-23
US20050132127A1 (en) 2005-06-16
CN1306414C (zh) 2007-03-21

Similar Documents

Publication Publication Date Title
JP3827682B2 (ja) フラッシュメモリ、そのためのマッピング制御装置及び方法
JP4740216B2 (ja) 不揮発性メモリ管理方法及び装置
KR100449708B1 (ko) 플래시 메모리 관리방법
US7191306B2 (en) Flash memory, and flash memory access method and apparatus
KR100453053B1 (ko) 플래쉬 메모리용 파일 시스템
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
USRE45577E1 (en) Method of writing to a flash memory including data blocks and log blocks
JP4773342B2 (ja) 不揮発性記憶装置及びデータ書込み方法
USRE42263E1 (en) Address conversion unit for memory device
US7734862B2 (en) Block management for mass storage
KR101465789B1 (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
US20090031076A1 (en) Method for Managing Flash Memory
JP2008192154A (ja) メモリマッピング方法およびメモリマッピングシステム
JP2007280428A (ja) メモリ管理
JPH08328762A (ja) 半導体ディスク装置及びそのメモリ管理方法
US7664906B2 (en) Flash memory access apparatus and method
JP2010287049A (ja) メモリシステムおよびメモリシステムの管理方法
JP4242245B2 (ja) フラッシュrom制御装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
CN111338562A (zh) 数据存储装置与数据处理方法
KR100638638B1 (ko) 플래시 메모리의 제어 방법
KR20050009045A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
US11614876B2 (en) Memory device and method for accessing memory device with namespace management
JP2002222120A (ja) メモリ・アクセス管理装置並びに管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060519

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: 20060606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060704

R150 Certificate of patent or registration of utility model

Ref document number: 3827682

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090714

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees