JP2013250982A - 記憶装置のデータ書き込み方法 - Google Patents
記憶装置のデータ書き込み方法 Download PDFInfo
- Publication number
- JP2013250982A JP2013250982A JP2013116938A JP2013116938A JP2013250982A JP 2013250982 A JP2013250982 A JP 2013250982A JP 2013116938 A JP2013116938 A JP 2013116938A JP 2013116938 A JP2013116938 A JP 2013116938A JP 2013250982 A JP2013250982 A JP 2013250982A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- data
- sub
- memory
- 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.)
- Granted
Links
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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
【解決手段】不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、書き込み要請及び、書き込み要請に係る書き込みデータを受信する段階と、書き込み要請に応答してメモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は物理ブロック単位よりサイズが小さいサブブロック単位でログブロックを割り当てる段階と、書き込みデータを割り当てられたログブロックに書き込む段階とを有する。
【選択図】 図8
Description
揮発性半導体メモリ装置は、読み書き速度が速いが、電源の供給が切れれば、記憶された内容が消えてしまう欠点がある。一方、不揮発性半導体メモリ装置は、電源の供給が中断されても、その内容を保存する。
したがって、不揮発性半導体メモリ装置は、電源が供給されているか否かに関係なく、保存する内容を記憶させるために使われる。
EEPROMの一種であるフラッシュメモリ装置は、商業面において重要度が高い。
例えば、フラッシュメモリ装置は、コンピュータ、携帯電話、デジタルカメラ、ビデオカメラ、ボイスレコーダ、MP3プレーヤ、携帯情報端末(PDA)、ハンドヘルドコンピュータ(Handheld PC)、ゲーム機、ファックス、スキャナ、プリンタなどのような情報機器の音声及び画像データの記憶媒体として広く使用されている。
3次元メモリセルアレイは、メモリセルアレイの単位面積当たり高いデータ記憶容量を提供することができる。
従って、上述のような大容量化デバイスで書き込みの性能を向上することが問題となっている。
また、本発明の他の目的は、書き込みパターンとフリーブロックの数を参照して、物理ブロック単位又はサブブロック単位でログブロック又はデータブロックを割り当て、書き込みデータを割り当てられたログブロックに書き込む方法を提供することにある。
また、本発明の他の目的は、書き込みパターンとバッドブロックの数を参照して、物理ブロック単位又はサブブロック単位でログブロック又はデータブロックを割り当て、書き込みデータを割り当てられたログブロックに書き込む方法を提供することにある。
したがって、メモリブロックの大容量化にもかかわらず、十分なフリーブロックの数を保持することができ、マージ動作の発生頻度を低減することができるメモリシステムを実現することができるという効果がある。
同一構成要素は同一参照番号を使用して引用する。このような構成要素は、類似の参照番号を使用して引用する。以下で説明される本発明によるフラッシュメモリ装置の回路構成と、それによって実行される読み出し動作は、例をあげて説明したものに過ぎず、本発明の技術的思想を逸脱しない範囲内で様々な変化及び変更が可能である。
ブロック単位で削除される不揮発性メモリ装置で‘フリーブロック’はマージ(Merge)動作の後に消去されたメモリブロックを指す。
または、‘フリーブロック’は、消去されたブロックに加えて、データが無効したメモリブロックを含む概念として使用する。
つまり、‘フリーブロック’は、記憶装置が必要な時点にすぐにデータを書き込むように指定されたメモリブロックを意味する。
図1を参照すると、フラッシュ変換階層(FTL)30は、アプリケーションソフトウェア10とファイルシステム20から伝達された論理アドレス(例えば、セクタアドレスとセクタ数)を物理アドレスPAに変換する。
特に、フラッシュ変換階層30は、書き込み要請されるデータがランダムに提供される場合には、サブブロック(Sub−block)単位でログブロックを提供する。
一方、フラッシュ変換階層30は、書き込み要請されるデータが連続して提供される場合には、サブブロック単位より大きい単位の物理ブロック単位でログブロックを提供する。実質的に、物理ブロックは、複数のサブブロックを含むことになる。
しかし、フラッシュ変換階層30は、フリーブロックの数が十分でないときには、書き込みパターンに関係なく、サブブロック単位でログブロックを割り当てる。
このような工程を通じてフリーブロックを確保するためのマージ演算時間を提供することができる。
マージ動作が発生するたびにページコピーとブロック消去動作が伴う。
したがって、マージ動作の回数を減らすことができれば、メモリシステムの性能向上が期待できることを意味する。本発明の実施形態によるフラッシュ変換階層30は、フリーブロックの数とデータの書き込みパターンによって、ログブロック又はデータブロックに割り当てるメモリ単位のサイズを適応的に可変することができる。
さらに、本発明の実施形態によれば、少ない容量のデータについては相対的に少ないサイズのメモリ単位のログブロックやデータブロックに割り当てるので、メモリブロックの無駄を最小限に抑えることができる。
図2を参照すると、メモリシステム100は、メモリコントローラ110と不揮発性メモリ装置120とを含む。
メモリコントローラ110は、ホストHostと不揮発性メモリ装置120とをインタフェーシングする。メモリコントローラ110は、ホストHostの書き込み要請に応答して、データを書き込むために不揮発性メモリ装置120を制御する。また、メモリコントローラ110は、ホストHostからの読み出し命令に応答して不揮発性メモリ装置120の読み出し動作を制御する。
フラッシュ変換階層FTLによって、書き込み前消去(Erase−before−Write)及び消去単位と書き込み単位の不一致という不揮発性メモリ装置120の欠点を補完することができる。
本発明のメモリコントローラ110によって駆動されるフラッシュ変換階層FTLは、ログマッピング方法(Log mapping method)に基づいてアドレスをマッピングする。
しかし、本発明の利点は、ログマッピングの方法だけではなく、様々なアドレスマッピング法に適用することができる。
例示的にデータの属性では、書き込みパターンを使用することができる。
特に、メモリコントローラ110は、フリーブロックの管理における1つの物理ブロック単位でログブロックを割り当てるか、又は物理ブロックより小さいサブブロック単位でログブロックを割り当てる。
以下では、フリーブロックプール(Free block pool)に存在するフリーブロックをログブロックに割り当てることと、データブロックに割り当てることは類似の意味として使用する。したがって、フリーブロックプールで選択されたメモリ単位をログブロックに割り当てるのは、データブロックにも割り当てることができることを意味する。
ワードラインが基板に垂直方向に積層される3次元の不揮発性メモリ装置において、物理ブロックは積層されたすべてのワードラインを共有するセルストリングのグループとして定義することができる。
サブブロック(Sub−block)は、1つの物理ブロックをワードライン単位又は選択ライン単位に区分した細部メモリ単位に該当する。
例えば、サブブロック(Sub−block)は、物理ブロックのうちで、一部のワードラインを共有するメモリセルの単位として定義することができる。
そして、本発明のメモリコントローラ110のブロック管理方法によれば、1つの物理ブロック単位で消去せず、サブブロック単位で消去することができるので、消去時間の短縮による性能の向上も期待できる。
不揮発性メモリ装置120は、複数のメモリブロックを含み、メモリブロックの各々は、行と列に配列された複数のメモリセルを含む。
メモリセルの各々は、マルチレベル(又は、マルチビット)のデータを格納する。
メモリセルは、2次元アレイ構造を有するように、又は3次元(又は、垂直)アレイ構造を有するように配列することができる。
各々のメモリブロック(BLK1〜BLKi)は、1つの消去単位を構成する。
各々のメモリブロック(BLK1〜BLKi)は、基板と垂直となる方向に積層されてセルストリングを構成する複数のメモリセルを含む。
又は、各々のメモリブロック(BLK1〜BLKi)は、基板に平行な方向に複数のセルストリングが積層される形態として提供することができる。
上述のような3次元構造で形成されるメモリブロック(BLK1〜BLKi)によって1つのメモリブロックの容量は飛躍的に増加する傾向にある。
本発明の実施形態によるメモリシステム100は、大容量のメモリブロックを含む不揮発性メモリ装置120に対して高い性能を提供することができる。
メモリシステム100の性能は、マージ動作(Merge operation)の回数に大きく影響を受ける。しかし、本発明の実施形態によるブロック管理方法によれば、大容量のブロックに対してもマージ動作の回数を大幅に減らすことができる。
すなわち、本発明のブロック管理方法によれば、マージ動作に伴うブロック消去とページコピーの発生確率を減少させて、メモリの性能を大きく向上することができる。
しかし、他の不揮発性メモリ装置で構成することができる。例えば、記憶媒体として、PRAM、MRAM、ReRAM、FRAM(登録商標)、NORフラッシュメモリなどが使用でき、異種のメモリ装置が混在するメモリシステムを適用することができる。
特に、最近活発に研究されているソリッドステートドライブ(Solid State Drive以下、SSD)のような記憶装置で、本発明の技術的特徴を採用することができる。この場合、メモリコントローラ110は、USB、MMC、PCI−E、SATA、PATA、IDE、E−IDE、SCSI、ESDI、及びSASなどのようなインターフェイスプロトコルのうちの1つを通じてホストHostと通信するように構成される。
図3を参照すると、不揮発性メモリ装置120は、メモリセルアレイ121と、行デコーダ122と、ページバッファ123と、制御ロジック124とを含む。
メモリセルアレイ121は、ビットラインBLsを通じてページバッファ123に接続される。
メモリセルアレイ121は、複数のNAND型セルストリング(NAND Cell Strings)を含む。複数のセルストリングは、動作又は選択の単位によって複数のメモリブロック(BLK1〜BLKi)を構成する。そして、メモリブロックの各々は、複数のサブブロックを含む。
メモリセルアレイ121には、複数のワードラインが垂直方向に積層され、セルストリングの各々のチャネルを垂直方向に形成することができる。このようなセルストリングの構造によりメモリセルアレイ121が形成されるメモリ装置を垂直構造の不揮発性メモリ装置、又は3次元構造の不揮発性メモリ装置と言う。
行デコーダ122は、選択されたメモリブロックのワードラインWLsのうちのいずれか1つを選択する。
行デコーダ122は、選択されたメモリブロックのワードラインにワードライン電圧を伝達する。
プログラム(書き込み)動作の時、行デコーダ122は、選択ワードライン(Selected WL)にプログラム電圧Vpgmと検証電圧Vvfyを、非選択ワードライン(Unselected WL)にはパス電圧Vpassを伝達する。そして、行デコーダ122は、選択ラインSSL、GSLとワードライン電圧を提供してサブブロック単位で選択する。
選択されたサブブロックについて、行デコーダ122は、プログラム(書き込み)、消去、読み出しのようなすべてのアクセス動作を実行する。
プログラム(書き込み)動作の時、ページバッファ123は、メモリセルアレイ121のビットラインにプログラムされる(書き込まれる)データに対応するビットライン電圧を伝達する。
読み出し動作の時に、ページバッファ123は、選択されたメモリセルに格納されたデータをビットラインを通じて感知する。
ページバッファ123は、感知されたデータをラッチして外部に伝達する。
制御ロジック124は、消去動作の時に、選択されたメモリブロック(又は、物理ブロック)を消去したり、サブブロック単位で消去するように行デコーダ122を制御する。
サブブロック単位の消去動作は、後述の図7でさらに具体的に説明する。
したがって、本発明の不揮発性メモリ装置120によれば、メモリブロックの大容量化によって発生するマージ動作の非効率性を大幅に改善することができる。
図4を参照すると、メモリセルアレイ121は、複数のメモリブロック(BLK1〜BLKi)を含む。
メモリブロック(BLK1〜BLKi)の各々は3次元構造(又は、垂直構造)を有する。
例えば、メモリブロック(BLK1〜BLKi)の各々は3次元に対応する複数の方向(x、y、z)に沿って延長された構造を含む。例えば、メモリブロック(BLK1〜BLKi)の各々は、z方向に沿って延長された複数のNANDセルストリング(NAND Cell Strings)を含むことができる。
つまり、メモリブロック(BLK1〜BLKi)の各々は、複数のビットラインBL、複数のストリング選択ラインSSL、複数の接地選択ラインGSL、複数のワードラインWL、及び共通ソースラインCSLに接続される。
3次元に延長されるメモリブロック(BLK1〜BLKi)の各々の構造は、図5を参照してさらに詳細に説明する。
そして、サブブロックは、1つの物理ブロックをワードライン単位又は選択ライン単位に区分した細部メモリ単位に対応することができる。
図5を参照すると、メモリブロックBLKiは、複数の方向の(x、y、z)に沿って延長された構造を含む。
例えば、基板111は、ホウ素(B、Boron)のような5族元素が注入されて形成されたPウェルで形成することができる。
または、基板111は、Nウェル内に提供されるポケットPウェルで形成することができる。
以下では、基板111は、Pウェルであると仮定する。しかし、基板111は、Pウェルに限定されない。
例えば、複数のドーピング領域(311〜314)は、基板111と異なるnタイプの導電体で形成することができる。以下では、第1〜第4ドーピング領域(311〜314)は、nタイプを有すると仮定する。
しかし、第1〜第4ドーピング領域(311〜314)は、nタイプを有するものに限定されない。
例えば、複数の絶縁物質112は、z方向に沿って所定の距離だけ離隔されて形成される。
例示的に、絶縁物質112は、シリコン酸化物(Silicon Oxide)のような絶縁物質を含む。
例示的に、ピラー113は、絶縁物質112を貫通して基板111と接続される。
ここで、ピラー113は、第2及び第3ドーピング領域312、313の間の基板の上部と、第3及び第4ドーピング領域313、314の間の基板の上部にも形成される。
例示的に、各ピラー113は、複数の物質で構成される。
例えば、各ピラー113の表面層114は、基板111と同じタイプを有するシリコン物質を含む。
以下では、各ピラー113の表面層114は、pタイプシリコンを含むと仮定する。
しかし、各ピラー113の表面層114は、pタイプシリコンを含むものに限定されない。
各ピラー113の内部層115は、絶縁物質で構成される。
例えば、各ピラー113の内部層115は、シリコン酸化物(Silicon Oxide)のような絶縁物質を含む。
例えば、各ピラー113の内部層115はエアギャップ(Air gap)を含むことができる。
例示的に、z方向に沿って提供される最後の絶縁物質112のz方向側の露出面に提供される絶縁膜116は除去可能である。
例えば、基板111に隣接した絶縁物質112と基板111との間にy方向に沿って延長される第1導電物質211が提供される。
さらに詳細には、基板111に隣接した絶縁物質112の下部面の絶縁膜116と基板111との間に、y方向に延長する第1導電物質211が提供される。
絶縁物質112のうち、特定の絶縁物質の上部面の絶縁膜116と、特定の絶縁物質の上部に配置された絶縁物質の下部面の絶縁膜116との間に、y方向に沿って延長される複数の第1導電物質(211〜291)が提供される。
例示的に、第1導電物質(211〜291)は、金属物質である。例示的に、第1導電物質(211〜291)は、ポリシリコンなどのような導電物質である。
第3及び第4ドーピング領域313、314の間の領域で、第1及び第2ドーピング領域311、312上の構造物と同じ構造が提供される。
例示的に、第3及び第4ドーピング領域313、314の間の領域で、y方向に延長される複数の絶縁物質112、y方向に沿って順に配置され、z方向に沿って複数の絶縁物質112を貫通する複数のピラー113、複数の絶縁物質112及び複数のピラー113の露出面に提供される絶縁膜116、そしてy方向に沿って延長される複数の第1導電物質(213〜293)が提供される。
例示的に、ドレイン320は、第2タイプでドーピングされたシリコン物質である。
例えば、ドレイン320は、nタイプでドープされたシリコン物質である。以下では、ドレイン320は、nタイプシリコンを含むと仮定する。しかし、ドレイン320は、nタイプシリコンを含むものに限定されない。
例示的に、各々のドレイン320の幅は、対応するピラー113の幅より大きいことがある。例えば、各ドレイン320は、対応するピラー113の上部面にパッドの形態に提供することができる。
第2導電物質(331〜333)は、y方向に沿って順次配置される。
第2導電物質(331〜333)の各々は、対応する領域のドレイン320と接続される。例示的に、ドレイン320と、x方向に延長された第2導電物質333は、各々コンタクトプラグ(Contact plug)を通じて接続することができる。例示的に、第2導電物質(331〜333)は、金属物質である。例示的に、第2導電物質(331〜333)は、ポリシリコンなどのような導電物質である。
図5と図6を参照すると、第1ビットラインBL<1>と共通ソースラインCSLとの間にセルストリング(NS11、NS21、NS31)が形成される。
第2ビットラインBL<2>と共通ソースラインCSLとの間にセルストリング(NS12、NS22、NS32)が形成される。
第3ビットラインBL<3>と共通ソースラインCSLとの間に、セルストリング(NS13、NS23、NS33)が形成される。
第1〜第3ビットライン(BL<1>〜BL<3>)は、x方向に延長された第2導電物質(331〜333)に各々対応する。
セルストリングNSsの接地選択トランジスタGSTは、共通ソースラインCSLと接続される。
セルストリングNSsのストリング選択トランジスタSSTと接地選択トランジスタGSTとの間にメモリセル(MC1〜MC6)が提供される。
以下では、行と列単位でセルストリングNSが定義される。
1つのビットラインに共通に接続されたセルストリングNSは、1つの列を形成する。
例えば、第1ビットラインBL<1>に接続されたセルストリング(NS11〜NS31)は、第1列に対応する。第2ビットラインBL<2>に接続されたセルストリング(NS12〜NS32)は、第2列に対応する。第3ビットラインBL<3>に接続されたセルストリング(NS13〜NS33)は、第3列に対応する。
例えば、第1ストリング選択ラインSSL<1>に接続されたセルストリング(NS11〜NS13)は、第1行を形成する。第2ストリング選択ラインSSL<2>に接続されたセルストリング(NS21〜NS23)は、第2行を形成する。第3ストリング選択ラインSSL<3>に接続されたセルストリング(NS31〜NS33)は、第3行を形成する。
セルストリングNSsの各々は、接地選択トランジスタGSTを含む。
1つの接地選択ラインGSLによって接地選択トランジスタGSTを制御することができる。あるいは図に示していないが、互いに異なる接地選択ラインによって各行に対応するセルストリングを制御することもできる。
導電ライン(221〜223)(図5参照)が共通に接続され、第1ワードラインWL<0>を形成する。導電ライン(231〜233)が共通に接続され、第2ワードラインWL<1>を形成する。導電ライン(241〜243)が共通に接続され、第3ワードラインWL<2>を形成する。導電ライン(251〜253)が共通に接続され、第4ワードラインWL<3>を形成する。導電ライン(261〜263)が共通に接続され、第5ワードラインWL<4>を形成する。導電ライン(271〜273)が共通に接続され、第6ワードラインWL<5>を形成する。
異なる行のセルストリングNSは異なるストリング選択ラインSSL<1>、SSL<2>、SSL<3>に各々接続される。
共通ソースラインCSLは、セルストリングNSsに共通に接続される。
例えば、第1〜第4ドーピング領域(311〜314)(図5参照)が互いに接続されて、共通ソースラインCSLを形成する。
または、各々のサブブロック(SB0、SB1、SB2)は、ビットラインBLやストリング選択ラインSSLに基づいて区分できる。
どのような基準によってサブブロックを区分しても、各々のサブブロックは、物理ブロックBLKi内で、他のサブブロックとは独立的に消去可能でなければならない。
サブブロックSB1は、メモリブロックBLKiに含まれたメモリセルのうちでワードラインWL<2>、WL<3>に接続されたメモリセルを含む。
サブブロックSB2は、メモリブロックBLKiに含まれたメモリセルのうちでワードラインWL<4>、WL<5>に接続されたメモリセルを含む。
そして、サブブロックSB0に含まれたメモリセルは、残りのサブブロック(SB1、SB2)とは別個に選択されて消去可能である。
すなわち、サブブロック(SB0、SB1、SB2)は、1つ又は2つ以上が同時に選択されて消去することができる。このため、不揮発性メモリ装置120の行デコーダ122は、サブブロックSB単位でメモリセルを消去するためのバイアスを提供すべきである。
しかし、サブブロックの区分基準は、図に示した例に限定されない。
すなわち、1つの物理ブロックBLKiが3つのサブブロックに区分される例を説明したが、1つの物理ブロックBLKiは、2つ又は4つ以上のサブブロックに区分できる。
また、1つの物理ブロックでサブブロックは、ストリング選択ラインSSL単位、又はビットラインBL単位として定義することもできる。
図7を参照すると、1つの物理ブロックが3つのサブブロックに区分される場合の消去バイアス条件を示す。
1つの物理ブロックを構成するセルストリングの各々を、例示的に3つのサブブロック(SB0、SB1、SB2)に区分する。
物理ブロックPBに含まれる任意のセルストリングNSjを参照して消去動作の時のバイアス条件を説明する。
ビットラインBL、ストリング選択ラインSSL1、接地選択ラインGSLは、電気的にフローティングされる。そして、サブブロック(SB1、SB2)に対応するワードライン(WL<2>〜WL<5>)もフローティングされる。
一方、サブブロックSB0に対応するワードライン(WL<0>、WL<1>)は、接地レベル又は0Vが提供される。
このような状態で、基板Subに高電圧の消去電圧Versが提供されれば、サブブロックSB0に含まれるメモリセルがFNトンネリングによって消去される。
しかし、フローティング状態に維持されるワードライン(WL<2>〜WL<5>)の電圧は、容量性カップリングにより、高電圧レベルに上昇するようになる。したがって、ワードライン(WL<2>〜WL<5>)とチャネルとの間の電位差は、FNトンネリングが発生するには不十分になる。このようなバイアスによってサブブロックSB0の選択的消去動作が可能になる。
ただし、サブブロックSB1の消去バイアスは、ワードライン(WL<2>、WL<3>)に接地又は0Vの電圧が提供され、ワードライン(WL<0>〜WL<1>、WL<4>〜WL<5>)がフローティングされる条件のみが異なり、サブブロックSB0の消去バイアスと類似である。
ワードライン(WL<4>、WL<5>)に接地又は0Vの電圧が提供され、ワードライン(WL<0>〜WL<3>)がフローティングされる。
このような状態で、基板Subに高電圧の消去電圧Versが印加されれば、サブブロックSB2のみを選択的に消去することができる。
サブブロックSBnの消去動作を部分ブロック消去(Partial Block Erase)と言う。
すべてのワードライン(WL<0>〜WL<5>)に接地又は0Vの電圧が印加され、ビットラインBL、選択行SSL1、GSLはフローティングされる。
そして、このような状態で、基板Subに高圧の消去電圧Versが印加すれば、物理ブロックPBを消去することができる。
例えば、同時にサブブロック(SB0、SB1)が選択されて消去されることも可能である。同時にサブブロック(SB1、SB2)の消去も可能であり、同時にサブブロック(SB0、SB2)の消去も可能である。
したがって、メモリコントローラ110によるログブロックの割り当ての時に、サブブロック単位で、又は物理ブロック単位で割り当てることができる。
もし、フリーブロックプール(Free block pool)に存在するサブブロックSB0がログブロックに割り当てられる場合に、物理的には、サブブロックSB0に対する消去動作が先行する。
消去されたサブブロックSB0が指定されたデータブロックに対するログブロックに割り当てられ、書き込み要請されたデータが書き込まれる。
図8を参照して、サブブロック単位でログブロックの割り当てが可能な本発明のブロック管理手順を説明する。
フリーブロックの数NFBは、メモリシステムの外部から提供される書き込みや削除命令、又はメモリシステムの内部で発生するガベージコレクションのようなメモリ管理動作によって変動する。
メモリコントローラ110は、ホストHostからの書き込み要請に応答して、これらのフリーブロックの数NFBを検出する。書き込み要請に応答して、メモリコントローラ110で駆動されるフラッシュ変換階層FTLは、現在のメモリシステム100で十分なフリーブロックが具備されているか否かを判断する。
例えば、フラッシュ変換階層FTLは、フリーブロックの数NFBがしきい値THより多いか否かを判断する。
もし、フリーブロックの数NFBがしきい値THより少ないか、又は同一であれば、S150段階に移動する。
一方、フリーブロックの数NFBがしきい値THよりも多い場合は、S130段階に移動する。
サブブロックを順次ログブロックに割り当てるためには、サブブロック単位で消去動作が先行する。
サブブロック単位でログブロックが割り当てられる間にメモリコントローラ110は、マージ動作を実施して、追加でフリーブロックを確保することができる。
書き込み要請されたデータの書き込みパターンを検出するためには、様々な検出方法を使用することができる。
例えば、連続して入力されるデータのサイズが所定のサイズ(例えば、16KB)未満の場合には、ランダムパターン(Random pattern)と認識することができる。又は、書き込みパターンを分析するために、LRU(Least Recently Used)、CFLRU(Clean−First LRU)、CA(Clock Algorithm)、SC(Second Chance)、MDH(Multi−Dimensional Hashing)のようなアルゴリズムを使用することができる。
しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
一方、書き込みパターンが順次書き込みとして判断された場合、S160段階に移動する。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックはサブブロックに提供する。
ここで、1つ又は2つ以上のサブブロックをログブロックに割り当てることができる。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータを書き込むためのS170段階に移動する。
例えば、書き込み要請されたデータに対応するデータブロックに対応するログブロックは1つの物理ブロックPBに提供する。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータを書き込むためのS170段階に移動する。
書き込みデータの動作プログラムが完了すれば、1つの書き込み要請に対応する動作プログラムのサイクルは終了する。
フリーブロックの数NFBが不足な状態では、書き込みパターンに関係なく、サブブロック単位でログブロックの割り当てが実行される。
したがって、マージ動作を通じてフリーブロックをさらに確保することができる時間を獲得することができる。
しかし、フリーブロックの数NFBが十分な状態では、書き込みパターンによってサブブロック又は物理ブロックがログブロックに割り当てられる。これらの特性を通じて、大容量ブロックの不揮発性メモリ装置を有するメモリシステムでもフリーブロックを確保するための頻繁なマージ動作の発生を抑制することができる。
図9を参照すると、メモリコントローラ110(図1参照)は、書き込み動作の時に不揮発性メモリ装置120(図1参照)のメモリブロックをデータブロック360、ログブロック370、及びフリーブロックプール380に区分して管理する。
例えば、データブロック360は、物理ブロック番号(PBN:Physical Block Number)(100、101、103、104、900)に対応するメモリブロックを含む。
メモリコントローラ110によってアドレスを通じて指定される実質的なメモリブロックは、データブロックに該当する。
例えば、ログブロック370は、物理ブロックBL200及びサブブロックSB0を含むことができる。
物理ブロックBL200はデータブロック100を更新するために割り当てられる。そして、サブブロックSB0は、データブロック102を更新するためにログブロックに割り当てることができる。
フリーブロックプール380は、(BL210、BL211、・・・、BL218)の物理ブロックを含むことができる。
そして、各々の物理ブロックは、サブブロック単位で選択される。選択されたサブブロックは、ログブロックに割り当てられる。データの書き込み動作の時に新しいログブロックが必要になれば、フリーブロックプール380に位置する物理ブロックやサブブロックのうちのいずれか1つを選択して、ログブロックに指定することができる。
もし、書き込み要請されるデータは、サイズが小さいランダムパターンとして提供されると仮定すれば、メモリコントローラ110は、書き込み要請されるデータのブロックアドレスをデータブロックBL102に割り当てる。そして、書き込み要請されるデータに対するログブロックでは、サブブロックSB0を割り当てる。
物理ブロックの一部に対応するサブブロックSB0に対する消去動作が完了すれば、サブブロックSB0は、データブロックBL102を更新するためのログブロックに割り当てられる。
ランダムパターンの書き込みデータは、まずログブロックに選択されたサブブロックSB0にプログラムされる(書き込まれる)。以後、サブブロックSB0に書き込まれたデータは、適切なタイミングでマージ動作を通じてデータブロックBL102に存在する有効なデータ(Valid data)と共に新しいデータブロックにコピーされる。
したがって、サブブロック単位でログブロックを割り当てれば、フリーブロックの不足によって頻繁に発生するマージ動作やガベージコレクションの発生頻度が減少する。
ここで、1つのサブブロック単位がログブロックに割り当てられると説明したが、本発明はこれに限定されない。1つのデータブロックに対応するログブロックに2つ又はそれ以上のサブブロックをログブロックに割り当てることができる。
図10を参照すると、書き込み要請されるデータが順次パターン(SequentialPattern)で提供される場合のログブロックの割り当て方法を示す。
メモリブロックがデータブロック360、ログブロック370、及びフリーブロックプール380に区分される形態は、図9で説明したので、ブロックの区分に対する詳細な説明は省略する。
もし、データブロックBL104に対応するデータが順次書き込みパターンに入力されると仮定すれば、メモリコントローラ110は、書き込みパターンに応答して、データブロックBL104に対するログブロックに物理ブロックBL211を割り当てる。
消去された物理ブロックBL211に順次パターンに提供されたデータがプログラムされる(書き込まれる)。
以後、ログブロックとして使用される物理ブロックBL211とデータブロックBL104に存在する有効なデータ(Valid data)は、フリーブロックから提供された新しい物理ブロックにコピーされる。
マージ動作は、ページのコピーを通じても実現可能であるが、ログブロックBL211に格納されるデータが、データブロックBL104を完全に置換することもできる。このようなマージ方式を、ページのコピーは発生せず、ブロックマッピング情報のみを変更するスワップマージ(Swap merge)とする。
ログブロックの割り当て単位を大容量の物理ブロックより小さい単位で割り当てることによって、フリーブロックプールの速い消耗を軽減して、フリーブロックを確保するためのあらゆるブロックの管理動作の発生確率を大幅に減らすことができる。
さらに、ランダムパターンに入力されるデータに対してサブブロック単位でログブロックを割り当てれば、1つのサブブロックに対する迅速な消去動作が可能になって、書き込みの性能の向上を期待することができる。
図11を参照すると、ソフトウェアは、ファイルシステム410と、フラッシュ変換階層(FTL)420と、不揮発性メモリ装置(NVM)430とを含む。
フラッシュ変換階層420は、マッピングテーブル421を使用して、論理アドレスLAを物理アドレスPAに変換する。
フラッシュ変換階層420は、マッピングテーブル421と、書き込みパターン分析器422と、フリーブロックマネージャ423と、マージマネージャ424のようなモジュール(Module)とを含むことができる。マッピングテーブル421を参照して、フラッシュ変換階層420は、論理アドレスLAを物理アドレスPAに変換する。
検出された書き込みパターンは、マージマネージャ424に提供される。
書き込みパターン分析器422は、連続して入力されるデータのサイズが基準値(例えば、16KB)未満の場合には、ランダムパターンに認識する。
又は、書き込みパターン分析器322は、LRU(Least Recently Used)、CFLRU(Clean−First LRU)、CA(Clock Algorithm)、SC(Second Chance)、MDH(Multi−Dimensional Hashing)のようなアルゴリズムによって書き込みパターンを検出することができる。しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
フリーブロックマネージャ423は、フリーブロックプールに含まれる物理ブロックやサブブロックの数が基準に達するか否かを監視する。
もし、フリーブロックプールに十分な数の物理ブロック又はサブブロックが確保されていないと判断されれば、フリーブロックマネージャ423は、マージマネージャ424に、これらの状態を知らせる。
マージマネージャ424は、ログブロックとデータブロックの状態を参照して、最適のマージ方式を選択することができる。
フリーブロックの数が十分な場合、マージマネージャ424は、フリーブロックの数を確保するためのマージ動作は実行しない。しかし、フリーブロックの数が不足の場合、マージマネージャ424は、書き込みデータのパターンに関係なく、マージ動作を実行して、フリーブロックに提供する。
メタ領域431は、マージ動作やガベージコレクション(Garbage collection)などによって変更されたマッピング情報を格納する。メタ領域431は、フラッシュ変換階層420で生成されたマッピング情報と多様な制御情報を格納することができる。
データ領域432は、複数のデータブロックで構成され、ユーザデータを格納する。
特に、フラッシュ変換階層420によってフリーブロックの数とデータの書き込みパターンによるログブロックの割り当てサイズが決められる。
したがって、本発明の実施形態によるメモリシステムは、大容量の物理ブロックを有するメモリシステムでもマージ回数を最小化することができ、メモリブロックの利用率を最大化することができる。
図12を参照して、ベッドブロック(Bad Block)の発生を考慮したサブブロック単位でログブロックの割り当てが可能な本発明のブロック管理手順を説明する。
書き込み命令語の受信によって、メモリコントローラ110で駆動されるフラッシュ変換階層420(図11参照)によって、本発明に係るログブロックの割り当てが行われる。
バッドブロック(Bad Block)は、最初の量産時に検出されたものと不揮発性メモリ装置120の使用中に発生した進行性バッドブロックの全部を含む。
バッドブロックの数が増加すると、実質的に可用メモリブロック(Usable memory block)の数は減少するようになる。したがって、可用メモリブロックの減少によって、フリーブロック数の確保が難しくなる。本発明の実施形態によれば、バッドブロック数の増加によって発生する性能の低下を軽減することができる。
まず、バッドブロックの数NBBが基準値Refの以上に増加したと判断されれば、S240段階に移動する。
一方、バッドブロックの数NBBが基準値Refの未満であると判断されれば、S250段階に移動する。
すなわち、バッドブロックの数NBBが増加して、可用メモリブロックの数が減少した状態では、フリーブロックの確保も段々難しくなる。この場合、サブブロックSB単位でログブロックを割り当てれば、フリーブロックを確保するための過度なマージ動作の頻度を減らすことができる。
もし、検出された書き込みパターンがランダム書き込みとして判断されれば、S260段階に移動する。
一方、書き込みパターンが順次パターンとして判断されれば、S270段階に移動する。
すなわち、入力されるアドレスが連続アドレスであるか、又はランダムアドレスであるかを判断して、書き込みパターンを判断することができる。
又は、連続して入力されるデータのサイズが特定のサイズ(例えば、16KB)未満の場合には、ランダムパターン(Random pattern)に認識することができる。
書き込みパターンを分析するために、LRU(Least Recently Used)、CFLRU(Clean−First LRU)、CA(Clock Algorithm)、SC(Second Chance)、MDH(Multi−Dimensional Hashing)のようなアルゴリズムも使用可能である。しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックは、サブブロックに提供する。
ここで、1つ又は2つ以上のサブブロックをログブロックに割り当てることができる。ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータをプログラムするためのS280段階に移動する。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックを、1つの物理ブロックPBに提供する。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータをプログラムするためのS280段階に移動する。
書き込みデータのプログラムが完了すれば、1つの書き込み要請に対応するプログラムのサイクルは終了する。
バッドブロックの数が基準値の以上に増加すれば、書き込みパターンに関係なく、サブブロック単位でログブロックの割り当てが実行される。
したがって、可用メモリブロックが相対的に減少する状況でもフリーブロックを確保するためのコストが最小化できる。
図13を参照すると、図12のS250段階の、より詳細な手順を示す。
メモリコントローラ110は、書き込み要請されたデータのページアドレスが連続的な値に提供されるかを検出する。
もし、書き込み要請されたページのアドレスがメモリブロック内での位置とは無関係にランダムに提供されれば、順次位置方式(In−place−order)、又は順次書き込みパターンと見なすことができない。
メモリコントローラ110は、書き込みデータのページアドレスが順次位置方式(In−place−order)ではないと判断した場合、書き込みパターンをランダム書き込みパターンと決定する(S253段階)。
一方、メモリコントローラ110は、ページアドレスが順次位置方式(In−place−order)であると判断した場合には、ログブロックの書き込みパターンを順次書き込みパターンと決定する(S254段階)。
図14を参照すると、ユーザ装置1000は、ホスト1100とSSD1200とを含む。
SSD1200は、SSDコントローラ1210と、バッファメモリ1220と、不揮発性メモリ装置(NVM)1230とを含む。
すなわち、SSDコントローラ1210は、ホスト1100のバスフォーマット(Bus format)に対応してSSD1200とのインタフェーシングを提供する。
特に、SSDコントローラ1210は、ホスト1100から提供される命令語をデコーディングする。デコーディングされた結果に基づいて、SSDコントローラ1210は、不揮発性メモリ装置1230にアクセスする。
ホスト1100の読み出し要請の時に不揮発性メモリ装置1230に存在するデータがキャッシュされている場合には、バッファメモリ1220は、キャッシュされたデータを直接ホスト1100に提供するキャッシュ機能を支援する。
一般的に、ホスト1100のバスフォーマット(例えば、SATAまたはSAS)によるデータ伝送速度は、SSD1200のメモリチャネルの伝送速度より顕著に速い。つまり、ホスト1100のインターフェイス速度が顕著に速い場合、大容量のバッファメモリ1220を提供することによって、速度差によって発生するパフォーマンスの低下を最小化することができる。
例えば、不揮発性メモリ装置1230は、大容量の記憶能力を有する垂直構造NANDフラッシュメモリ(NAND−type Flashmemory)で提供することができる。
不揮発性メモリ装置1230は、複数のメモリ装置で構成することができる。この場合、各々のメモリ装置は、チャネル単位でSSDコントローラ1210と接続される。
例えば、記憶媒体としてPRAM、MRAM、ReRAM、FRAM(登録商標)、NORフラッシュメモリなどを使用することができ、異種のメモリ装置が混用されるメモリシステムも適用可能である。
不揮発性メモリ装置は実質的に図3での説明と同一に構成することができる。
すなわち、SSDコントローラ1210は、フリーブロックの数がしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックSBの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、SSDコントローラ1210は、書き込みパターンを考慮して、サブブロックSB、又は物理ブロックPBの単位でログブロックやデータブロックを割り当てる。
さらに、SSDコントローラ1210は、バッドブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロック又はログブロックのサイズを決めることができる。
すなわち、不揮発性メモリ装置1230は、大容量のメモリブロックを含み、各々のメモリブロックは、サブブロック単位で選択及び消去可能である。
メモリカードシステム2000は、ホスト2100と、メモリカード2200とを含む。
ホスト2100は、ホストコントローラ2110と、ホスト接続ユニット2120とを含む。
メモリカード2200は、カード接続ユニット2210と、カードコントローラ2220と、フラッシュメモリ2230とを含む。
ピンの数は、メモリカード2200の種類によって変わる。例として、SDカードは、9つのピンを有することができる。
ホストコントローラ2110は、コマンド(例えば、書き込みコマンド)、ホスト2100内のクロック発生器(図示しない)で発生したクロック信号CLK、そして、データDATをホスト接続ユニット2120を通じてメモリカード2200に伝送する。
メモリ2230は、ホスト2100から伝送されたデータを格納する。
例えば、ホスト2100がデジタルカメラの場合には、画像データを格納する。
すなわち、カードコントローラ2220は、フリーブロックの数がしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックSBの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、カードコントローラ2220は、書き込みパターンを考慮して、サブブロックSB、又は物理ブロックPBの単位でログブロックやデータブロックを割り当てる。
さらに、カードコントローラ2220は、バッドブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決めることができる。
本発明によるコンピューティングシステム3000は、システムバス3600に電気的に接続された中央処理装置(CPU)3200と、RAM3300と、ユーザインターフェース3400と、ベースバンドチップセット(Baseband chipset)のようなモデム3500と、メモリシステム3100とを含む。
本発明によるコンピューティングシステム3000がモバイル装置の場合は、コンピューティングシステム3000の動作電圧を供給するためのバッテリ(図示しない)が追加で提供される。
図に示していないが、本発明によるコンピューティングシステム3000には、アプリケーションチップセット(Application chipset)、カメライメージプロセッサ(Camera Image Processor;CIS)、モバイルDRAMなどがさらに提供できることは、この分野の通常の知識を習得した者に自明である。
又は、メモリシステム3100は、フュージョンフラッシュメモリ(例えば、OneNANDフラッシュメモリ)で提供することができる。
すなわち、メモリコントローラ3110はフリーブロックの数ががしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックSBの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、メモリコントローラ3110は、書き込みパターンを考慮して、サブブロックSB、又は物理ブロックPBの単位でログブロックやデータブロックを割り当てる。
さらに、メモリコントローラ3110は、バッドブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決めることができる。
例えば、本発明によるラッシュメモリ装置及び/又はメモリコントローラは、PoP(Package on Package)、Ball grid arrays(BGAs)、Chip scale packages(CSPs)、Plastic Leaded Chip Carrier(PLCC)、Plastic Dual In−Line Package(PDIP)、Die in Waffle Pack、Die in Wafer Form、Chip On Board(COB)、Ceramic Dual In−Line Package(CERDIP)、Plastic Metric Quad Flat Pack(MQFP)、Thin Quad Flatpack(TQFP)、Small Outline(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline(TSOP)、Thin Quad Flatpack(TQFP)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)などのようなパッケージを利用して実装することができる。
20 ファイルシステム
30、420 フラッシュ変換階層(FTL)
40、120、430、1230 不揮発性メモリ装置(NVM)
110 メモリコントローラ
111 基板
112 絶縁物質
113 ピラー
114 表面層
115 内部層
116 絶縁膜
121 メモリセルアレイ
122 行デコーダ
123 ページバッファ
124 制御ロジック
211〜291、213〜293 第1導電物質
311、312、313、314 (第1〜第4)ドーピング領域
320 ドレイン
331、332、333 第2導電物質
360 データブロック
370 ログブロック
380 フリーブロックプール
410 ファイルシステム
421 マッピングテーブル
422 書き込みパターン分析器
423 フリーブロックマネージャ
424 マージマネージャ
431 メタ領域
432 データ領域
1000 ユーザ装置
1100、2100 ホスト
1200 SSD
1210 SSDコントローラ
1220 バッファメモリ
2000 メモリカードシステム
2110 ホストコントローラ
2120 ホスト接続ユニット
2200 メモリカード
2230 フラッシュメモリ
2210 カード接続ユニット
2220 カードコントローラ
2230 フラッシュメモリ
3000 コンピューティングシステム
3100 メモリシステム
3110 メモリコントローラ
3120 フラッシュメモリ装置
3200 中央処理装置
3300 RAM
3400 ユーザインターフェース
3500 モデム
3600 システムバス
Claims (13)
- 不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、
書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、
前記書き込み要請に応答して前記メモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、
前記検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、
前記検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、
前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする記憶装置のデータ書き込み方法。 - 前記検出されたフリーブロックの数がしきい値以上の場合、前記書き込みデータがランダムパターンであるか否かを判断する段階をさらに有することを特徴とする請求項1に記載の記憶装置のデータ書き込み方法。
- 不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、
書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、
前記書き込み要請に応答して前記メモリセルアレイに含まれる複数のメモリブロックの内からバッドブロックの数を検出する段階と、
前記検出されたバッドブロックの数がしきい値より大きい場合には、サブブロック単位でログブロックを割り当て、前記検出されたバッドブロックの数がしきい値以下の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、
前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする記憶装置のデータ書き込み方法。 - 前記検出されたバッドブロックの数がしきい値以下の場合、前記書き込みデータがランダムパターンであるか否かを判断する段階をさらに有することを特徴とする請求項3に記載の記憶装置のデータ書き込み方法。
- 前記書き込みデータがランダムパターンに対応する場合には、前記サブブロック単位で前記ログブロックを割り当て、前記書き込みデータがランダムパターンに対応しない場合には、前記物理ブロック単位で前記ログブロックを割り当てることを特徴とする請求項2又は4に記載の記憶装置のデータ書き込み方法。
- 前記書き込みデータがランダムパターンであるか否かを検出する段階は、前記書き込みデータのアドレスを検出する段階を含むことを特徴とする請求項2又は4に記載の記憶装置のデータ書き込み方法。
- 前記書き込みデータのアドレスを検出する段階は、前記アドレスが順次位置方式(in−place−order)であるか否かを判断する段階を含むことを特徴とする請求項6に記載の記憶装置のデータ書き込み方法。
- 前記書き込みデータのアドレスを検出する段階は、前記アドレスが非連続であるか否かを判断する段階を含むことを特徴とする請求項6に記載の記憶装置のデータ書き込み方法。
- 前記メモリセルアレイは、3次元にメモリセルが積層されることを特徴とする請求項1又は3に記載の記憶装置のデータ書き込み方法。
- 前記不揮発性メモリセルは、NAND型フラッシュメモリセルであり、前記物理ブロック単位によって定義される物理ブロックは、少なくとも1つのワードラインに共通接続される複数のストリングが配列された前記NAND型フラッシュメモリセルを含むことを特徴とする請求項1又は3に記載の記憶装置のデータ書き込み方法。
- 前記物理ブロックは、前記不揮発性メモリ装置で実行される消去動作の間に消去されることを特徴とする請求項10に記載の記憶装置のデータ書き込み方法。
- 前記物理ブロックは、各々のサブブロック単位によって定義される複数のサブブロックを含み、
各々のサブブロックは、1つのワードラインに共通接続されるNAND型フラッシュメモリセルを含むことを特徴とする請求項10に記載の記憶装置のデータ書き込み方法。 - 前記サブブロックの各々は、前記不揮発性メモリ装置で実行される消去動作の間に独立的に消去されることを特徴とする請求項12に記載の記憶装置のデータ書き込み方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0059353 | 2012-06-01 | ||
KR1020120059353A KR101997572B1 (ko) | 2012-06-01 | 2012-06-01 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013250982A true JP2013250982A (ja) | 2013-12-12 |
JP6134205B2 JP6134205B2 (ja) | 2017-05-24 |
Family
ID=49671731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013116938A Active JP6134205B2 (ja) | 2012-06-01 | 2013-06-03 | 記憶装置のデータ書き込み方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9715444B2 (ja) |
JP (1) | JP6134205B2 (ja) |
KR (1) | KR101997572B1 (ja) |
CN (1) | CN103456357B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016174744A1 (ja) * | 2015-04-28 | 2016-11-03 | 株式会社日立製作所 | 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102147628B1 (ko) * | 2013-01-21 | 2020-08-26 | 삼성전자 주식회사 | 메모리 시스템 |
US9495288B2 (en) | 2013-01-22 | 2016-11-15 | Seagate Technology Llc | Variable-size flash translation layer |
KR102285462B1 (ko) * | 2014-03-26 | 2021-08-05 | 삼성전자주식회사 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
CN106354615B (zh) * | 2015-07-21 | 2021-06-01 | 北京忆恒创源科技有限公司 | 固态硬盘日志生成方法及其装置 |
CN107766262B (zh) * | 2016-08-18 | 2021-09-14 | 北京忆恒创源科技股份有限公司 | 调节并发写命令数量的方法与装置 |
US10642497B2 (en) | 2016-08-31 | 2020-05-05 | International Business Machines Corporation | System, method and computer program product for instantiating blocks of a solid-state disk to include different flash characteristics |
CN107273303B (zh) * | 2017-05-23 | 2020-06-26 | 建荣半导体(深圳)有限公司 | 一种闪存数据管理系统、方法、闪存芯片及存储装置 |
US10878859B2 (en) | 2017-12-20 | 2020-12-29 | Micron Technology, Inc. | Utilizing write stream attributes in storage write commands |
CN109992536A (zh) * | 2018-01-03 | 2019-07-09 | 华为技术有限公司 | 数据处理方法、固态硬盘以及计算机设备 |
KR20190106008A (ko) * | 2018-03-07 | 2019-09-18 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작 방법 및 전자 장치 |
KR102596407B1 (ko) * | 2018-03-13 | 2023-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11803325B2 (en) * | 2018-03-27 | 2023-10-31 | Micron Technology, Inc. | Specifying media type in write commands |
KR20190116641A (ko) * | 2018-04-05 | 2019-10-15 | 성균관대학교산학협력단 | 가상화 시스템을 위한 저장 장치 및 그 동작 방법 |
CN110390985B (zh) * | 2018-04-20 | 2021-08-03 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
KR102530327B1 (ko) | 2018-06-01 | 2023-05-08 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
KR102387960B1 (ko) * | 2018-07-23 | 2022-04-19 | 삼성전자주식회사 | 컨트롤러 및 그것의 동작 방법 |
KR20200016076A (ko) | 2018-08-06 | 2020-02-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200085513A (ko) | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR20200114009A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
TWI724427B (zh) | 2019-05-22 | 2021-04-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112015327B (zh) * | 2019-05-30 | 2022-10-21 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
US11194516B2 (en) | 2019-10-08 | 2021-12-07 | Micron Technology, Inc. | Media type selection |
US11287989B2 (en) | 2020-03-24 | 2022-03-29 | Western Digital Technologies, Inc. | Dynamic allocation of sub blocks |
JP2022051086A (ja) * | 2020-09-18 | 2022-03-31 | キオクシア株式会社 | メモリシステム |
EP4332968A3 (en) * | 2022-08-31 | 2024-05-15 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and operating method of storage device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284995A (ja) * | 1999-03-30 | 2000-10-13 | Fujitsu Ltd | データ処理装置及び記録媒体 |
JP2008130088A (ja) * | 2006-11-20 | 2008-06-05 | Samsung Electronics Co Ltd | 不揮発性メモリ管理方法及び装置 |
US20100082890A1 (en) * | 2008-09-30 | 2010-04-01 | Jin Gyu Heo | Method of managing a solid state drive, associated systems and implementations |
US20110040930A1 (en) * | 2009-08-17 | 2011-02-17 | Heedong Shin | Method for Accessing Flash Memory Device and Memory System Including the Same |
US20120005415A1 (en) * | 2010-07-02 | 2012-01-05 | Samsung Electronics Co., Ltd. | Memory system selecting write mode of data block and data write method thereof |
US20120072657A1 (en) * | 2010-09-16 | 2012-03-22 | Samsung Electronics Co., Ltd | System and method to write data using phase-change ram |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) * | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
GB9717718D0 (en) | 1997-08-22 | 1997-10-29 | Philips Electronics Nv | Memory management with compaction of data blocks |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP4812192B2 (ja) * | 2001-07-27 | 2011-11-09 | パナソニック株式会社 | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
CN1389730A (zh) | 2002-07-12 | 2003-01-08 | 江南大学 | 一种盐酸克伦特罗酶免疫检测试剂盒及其检测方法 |
CN1679005A (zh) | 2002-08-30 | 2005-10-05 | 皇家飞利浦电子股份有限公司 | 动态存储器管理 |
KR100528967B1 (ko) | 2002-12-18 | 2005-11-15 | 한국전자통신연구원 | 가변 길이의 패킷 저장을 위한 메모리 관리 장치 및 방법 |
JP4220319B2 (ja) | 2003-07-04 | 2009-02-04 | 株式会社東芝 | 不揮発性半導体記憶装置およびそのサブブロック消去方法 |
JP2005078634A (ja) | 2004-08-26 | 2005-03-24 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置及びその書込み方法 |
US20060256623A1 (en) | 2005-05-12 | 2006-11-16 | Micron Technology, Inc. | Partial string erase scheme in a flash memory device |
US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
KR100849221B1 (ko) * | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
KR20080045833A (ko) | 2006-11-21 | 2008-05-26 | 삼성전자주식회사 | 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템 |
JP2008171103A (ja) | 2007-01-10 | 2008-07-24 | Seiko Epson Corp | 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム |
JP2008293615A (ja) | 2007-05-28 | 2008-12-04 | Sharp Corp | 不揮発性記憶装置並びにその管理方法、書き込み方法及び読み出し方法 |
KR101477047B1 (ko) * | 2008-02-29 | 2014-12-30 | 삼성전자주식회사 | 메모리 시스템 및 그것의 블록 병합 방법 |
JP4737223B2 (ja) | 2008-04-21 | 2011-07-27 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
KR101020781B1 (ko) | 2009-03-04 | 2011-03-09 | 한국과학기술원 | 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법 |
KR101692520B1 (ko) | 2010-02-17 | 2017-01-04 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
JP5404483B2 (ja) | 2010-03-17 | 2014-01-29 | 株式会社東芝 | メモリシステム |
KR101734200B1 (ko) * | 2010-12-03 | 2017-05-11 | 삼성전자주식회사 | 적응적 머지를 수행하는 메모리 시스템 및 그것의 데이터 쓰기 방법 |
-
2012
- 2012-06-01 KR KR1020120059353A patent/KR101997572B1/ko active IP Right Grant
-
2013
- 2013-03-06 US US13/786,787 patent/US9715444B2/en active Active
- 2013-06-03 JP JP2013116938A patent/JP6134205B2/ja active Active
- 2013-06-03 CN CN201310216818.2A patent/CN103456357B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284995A (ja) * | 1999-03-30 | 2000-10-13 | Fujitsu Ltd | データ処理装置及び記録媒体 |
JP2008130088A (ja) * | 2006-11-20 | 2008-06-05 | Samsung Electronics Co Ltd | 不揮発性メモリ管理方法及び装置 |
US20100082890A1 (en) * | 2008-09-30 | 2010-04-01 | Jin Gyu Heo | Method of managing a solid state drive, associated systems and implementations |
US20110040930A1 (en) * | 2009-08-17 | 2011-02-17 | Heedong Shin | Method for Accessing Flash Memory Device and Memory System Including the Same |
US20120005415A1 (en) * | 2010-07-02 | 2012-01-05 | Samsung Electronics Co., Ltd. | Memory system selecting write mode of data block and data write method thereof |
US20120072657A1 (en) * | 2010-09-16 | 2012-03-22 | Samsung Electronics Co., Ltd | System and method to write data using phase-change ram |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016174744A1 (ja) * | 2015-04-28 | 2016-11-03 | 株式会社日立製作所 | 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 |
JPWO2016174744A1 (ja) * | 2015-04-28 | 2017-12-28 | 株式会社日立製作所 | 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 |
US10388369B2 (en) | 2015-04-28 | 2019-08-20 | Hitachi, Ltd. | Nonvolatile memory control method, control device, and semiconductor storage device |
Also Published As
Publication number | Publication date |
---|---|
JP6134205B2 (ja) | 2017-05-24 |
CN103456357A (zh) | 2013-12-18 |
KR20130135618A (ko) | 2013-12-11 |
CN103456357B (zh) | 2018-03-09 |
KR101997572B1 (ko) | 2019-07-09 |
US9715444B2 (en) | 2017-07-25 |
US20130326119A1 (en) | 2013-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6134205B2 (ja) | 記憶装置のデータ書き込み方法 | |
JP6742964B2 (ja) | 不揮発性メモリ装置、メモリシステム、及びそれのプログラム方法 | |
US11243878B2 (en) | Simultaneous garbage collection of multiple source blocks | |
US10467133B2 (en) | Storage device including nonvolatile memory device and garbage collection method thereof | |
US9032138B2 (en) | Storage device based on a flash memory and user device including the same | |
US9190155B2 (en) | Memory system | |
US8964481B2 (en) | Nonvolatile memory device and sub-block managing method thereof | |
KR101861170B1 (ko) | 마이그레이션 관리자를 포함하는 메모리 시스템 | |
KR102295208B1 (ko) | 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법 | |
US9715344B2 (en) | Memory device and controlling method of the same | |
US9257192B2 (en) | Memory system performing multi-step erase operation based on stored metadata | |
KR20160008365A (ko) | 저장 매체, 메모리 시스템 및 메모리 시스템에서의 저장 영역 관리 방법 | |
KR20130032155A (ko) | 데이터 저장 장치 및 그것의 데이터 관리 방법 | |
KR20140020445A (ko) | 3차원 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법 | |
KR20170015708A (ko) | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법 | |
KR20120128978A (ko) | 데이터 저장 장치 및 그것의 데이터 관리 방법 | |
KR20130084846A (ko) | 플래시 메모리를 기반으로 하는 저장 장치, 그것을 포함한 사용자 장치, 그리고 그것의 데이터 읽기 방법 | |
TW201440058A (zh) | 非揮發性記憶體之記憶體干擾減少 | |
KR20150133084A (ko) | 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템 | |
US20230147882A1 (en) | Memory controller for controlling allocation ratio of buffer memory, memory system including the same, and method of operating memory controller | |
KR102580946B1 (ko) | 버퍼 메모리의 할당 비율을 제어하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작 방법 | |
US20240168669A1 (en) | Non-volatile memory device and storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160602 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170321 |
|
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: 20170328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170421 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6134205 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |