JP2013250982A - 記憶装置のデータ書き込み方法 - Google Patents

記憶装置のデータ書き込み方法 Download PDF

Info

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
Application number
JP2013116938A
Other languages
English (en)
Other versions
JP6134205B2 (ja
Inventor
Joonho Lee
俊 鎬 李
Jong-Nam Baek
種 南 白
Dong-Hoon Ham
東 勳 咸
Sokyoku Ryu
相 旭 柳
Intae Hwang
仁 テ 黄
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 JP2013250982A publication Critical patent/JP2013250982A/ja
Application granted granted Critical
Publication of JP6134205B2 publication Critical patent/JP6134205B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation 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

本発明は、半導体メモリ装置に関し、より具体的には、不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法に関する。
半導体メモリ装置は、大きく揮発性半導体メモリ装置(Volatile semiconductor memory device)と不揮発性半導体メモリ装置(Non−volatile semiconductor memory device)に区別される。
揮発性半導体メモリ装置は、読み書き速度が速いが、電源の供給が切れれば、記憶された内容が消えてしまう欠点がある。一方、不揮発性半導体メモリ装置は、電源の供給が中断されても、その内容を保存する。
したがって、不揮発性半導体メモリ装置は、電源が供給されているか否かに関係なく、保存する内容を記憶させるために使われる。
不揮発性半導体メモリ装置には、MROM(Mask read−only memory)、PROM(Programmable read−only memory)、EPROM(Erasable programmable read−only memory)、EEPROM(Electrically erasable programmable read−only memory)などがある。
EEPROMの一種であるフラッシュメモリ装置は、商業面において重要度が高い。
例えば、フラッシュメモリ装置は、コンピュータ、携帯電話、デジタルカメラ、ビデオカメラ、ボイスレコーダ、MP3プレーヤ、携帯情報端末(PDA)、ハンドヘルドコンピュータ(Handheld PC)、ゲーム機、ファックス、スキャナ、プリンタなどのような情報機器の音声及び画像データの記憶媒体として広く使用されている。
近年では、半導体メモリ装置の集積度を向上させるために、3次元的に積層されたメモリセルを有する半導体メモリ装置が盛んに研究されている。
3次元メモリセルアレイは、メモリセルアレイの単位面積当たり高いデータ記憶容量を提供することができる。
従って、上述のような大容量化デバイスで書き込みの性能を向上することが問題となっている。
韓国公開特許第10−2010−0099888号公報
本発明は上記従来の半導体メモリ装置における問題点に鑑みてなされたものであって、本発明の目的は、不揮発性メモリ装置を含む記憶装置で書き込みの性能を向上することができる方法を提供することにある。
また、本発明の他の目的は、書き込みパターンとフリーブロックの数を参照して、物理ブロック単位又はサブブロック単位でログブロック又はデータブロックを割り当て、書き込みデータを割り当てられたログブロックに書き込む方法を提供することにある。
また、本発明の他の目的は、書き込みパターンとバッドブロックの数を参照して、物理ブロック単位又はサブブロック単位でログブロック又はデータブロックを割り当て、書き込みデータを割り当てられたログブロックに書き込む方法を提供することにある。
上記目的を達成するためになされた本発明による記憶装置のデータ書き込み方法は、不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、前記書き込み要請に応答して前記メモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、前記検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、前記検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする。
また、上記目的を達成するためになされた本発明による記憶装置のデータ書き込み方法は、不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、前記書き込み要請に応答して前記メモリセルアレイに含まれる複数のメモリブロックの内からバッドブロックの数を検出する段階と、前記検出されたバッドブロックの数がしきい値より大きい場合には、サブブロック単位でログブロックを割り当て、前記検出されたバッドブロックの数がしきい値以下の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする。
本発明に係る記憶装置のデータ書き込み方法によれば、不揮発性メモリ装置を含む格納装置やメモリシステムにおいて、フリーブロックの数と書き込みパターンによって、ログブロックのサイズを適応的に調整することができる。
したがって、メモリブロックの大容量化にもかかわらず、十分なフリーブロックの数を保持することができ、マージ動作の発生頻度を低減することができるメモリシステムを実現することができるという効果がある。
本発明の実施形態によるメモリシステムを駆動するためのソフトウェア階層構造を示すブロック図である。 本発明の実施形態によるメモリシステムを示すブロック図である。 図2の不揮発性メモリ装置を示すブロック図である。 図3のメモリセルアレイを示すブロック図である。 図4のメモリブロックのうちの1つを例示的に示す斜視図である。 図5のメモリブロックの構造を示す等価回路図である。 不揮発性メモリ装置の部分消去動作を説明するためのテーブルである。 本発明の実施形態によるブロック管理方法を説明するためのフローチャートである。 本発明の実施形態によるログブロックの割り当て方法の一例を示すブロック図である。 本発明の実施形態によるログブロックの割り当て方法の他の例を示すブロック図である。 本発明の実施形態によるメモリシステムのソフトウェア階層を具体的に示すブロック図である。 本発明の他の実施形態によるメモリブロックの管理方法を説明するためのフローチャートである。 データの書き込みパターンを判定するための方法を例示的に説明するためのフローチャートである。 本発明の実施形態によるソリッドステートディスクを含むユーザ装置を示すブロック図である。 本発明の実施形態によるメモリカードの例を示すブロック図である。 本発明の実施形態によるフラッシュメモリ装置を含むコンピューティングシステムを示すブロック図である。
次に、本発明に係る記憶装置のデータ書き込み方法を実施するための形態の具体例を図面を参照しながら説明する。
以下、本発明が属する技術分野における通常の知識を有する者が本発明の技術的思想を容易に実施できる程度に詳細に説明するために、本発明の実施形態を添付の図面を参照して説明する。
同一構成要素は同一参照番号を使用して引用する。このような構成要素は、類似の参照番号を使用して引用する。以下で説明される本発明によるフラッシュメモリ装置の回路構成と、それによって実行される読み出し動作は、例をあげて説明したものに過ぎず、本発明の技術的思想を逸脱しない範囲内で様々な変化及び変更が可能である。
以下のフラッシュメモリ装置は、本発明の特徴及び機能を説明するために不揮発性メモリの一例として用いている。しかし、この技術分野に精通した者であれば、ここに記載した内容によって本発明の他の利点及び性能を容易に理解することができる。または記憶媒体として他の不揮発性メモリ装置で構成することも可能である。例えば、記憶媒体としてPRAM、MRAM、ReRAM、FRAM(登録商標)、NORフラッシュメモリなどを用いることができ、異種のメモリ装置が混用するメモリシステムにも適用することができる。
そして、本発明では、消去後の書き込み方法でメモリ領域が管理される記憶装置において、‘フリーブロック(Free block)’という用語を使用する。
ブロック単位で削除される不揮発性メモリ装置で‘フリーブロック’はマージ(Merge)動作の後に消去されたメモリブロックを指す。
または、‘フリーブロック’は、消去されたブロックに加えて、データが無効したメモリブロックを含む概念として使用する。
つまり、‘フリーブロック’は、記憶装置が必要な時点にすぐにデータを書き込むように指定されたメモリブロックを意味する。
図1は、本発明の実施形態によるメモリシステムを駆動するためのソフトウェア階層構造を示すブロック図である。
図1を参照すると、フラッシュ変換階層(FTL)30は、アプリケーションソフトウェア10とファイルシステム20から伝達された論理アドレス(例えば、セクタアドレスとセクタ数)を物理アドレスPAに変換する。
フラッシュ変換階層30は、論理アドレスLAに対応する不揮発性メモリ装置(NVM)40の物理アドレスPAをマッピングするためにアドレスマッピングテーブル(Address Mapping Table)を構成する。フラッシュ変換階層30のアドレスマッピング方法には、マッピングの単位に応じて様々な方法がある。代表的なアドレスのマッピング方法では、ページマッピング方法(Page mapping method)、ブロックマッピング方法(Block mapping method)、及びログマッピング方法(Log mapping method)がある。
フラッシュ変換階層30は、書き込み要請が発生すると、フリーブロック(Free block)の数と書き込みパターン(Write pattern)とを参照して、ログブロック(Log Block)を割り当てる。
特に、フラッシュ変換階層30は、書き込み要請されるデータがランダムに提供される場合には、サブブロック(Sub−block)単位でログブロックを提供する。
一方、フラッシュ変換階層30は、書き込み要請されるデータが連続して提供される場合には、サブブロック単位より大きい単位の物理ブロック単位でログブロックを提供する。実質的に、物理ブロックは、複数のサブブロックを含むことになる。
さらに、フラッシュ変換階層30は、フリーブロックの数が十分であるときは、データの書き込みパターンによってサブブロック単位又は物理ブロック単位でログブロックを提供する。
しかし、フラッシュ変換階層30は、フリーブロックの数が十分でないときには、書き込みパターンに関係なく、サブブロック単位でログブロックを割り当てる。
このような工程を通じてフリーブロックを確保するためのマージ演算時間を提供することができる。
メモリシステムの性能は、フラッシュ変換階層30で実行されるマージ動作の発生頻度に大きく影響を受ける。
マージ動作が発生するたびにページコピーとブロック消去動作が伴う。
したがって、マージ動作の回数を減らすことができれば、メモリシステムの性能向上が期待できることを意味する。本発明の実施形態によるフラッシュ変換階層30は、フリーブロックの数とデータの書き込みパターンによって、ログブロック又はデータブロックに割り当てるメモリ単位のサイズを適応的に可変することができる。
本発明のフラッシュ変換階層30の使用によって大容量のメモリブロック単位を支援するメモリシステムのフリーブロックの不足による性能の低下を遮断することができる。
さらに、本発明の実施形態によれば、少ない容量のデータについては相対的に少ないサイズのメモリ単位のログブロックやデータブロックに割り当てるので、メモリブロックの無駄を最小限に抑えることができる。
図2は、本発明の実施形態によるメモリシステムを示すブロック図である。
図2を参照すると、メモリシステム100は、メモリコントローラ110と不揮発性メモリ装置120とを含む。
メモリコントローラ110は、ホストHostの要請に応答して不揮発性メモリ装置120を制御するように構成される。
メモリコントローラ110は、ホストHostと不揮発性メモリ装置120とをインタフェーシングする。メモリコントローラ110は、ホストHostの書き込み要請に応答して、データを書き込むために不揮発性メモリ装置120を制御する。また、メモリコントローラ110は、ホストHostからの読み出し命令に応答して不揮発性メモリ装置120の読み出し動作を制御する。
メモリコントローラ110は、フラッシュ変換階層(Flash Translation Layer 以下、FTL)を含むことができる。フラッシュ変換階層FTLは、ホストHostのファイルシステム(File System)と不揮発性メモリ装置120との間で不揮発性メモリ装置120の削除動作を隠すためのインタフェーシングを提供する。
フラッシュ変換階層FTLによって、書き込み前消去(Erase−before−Write)及び消去単位と書き込み単位の不一致という不揮発性メモリ装置120の欠点を補完することができる。
また、フラッシュ変換階層FTLは、不揮発性メモリ装置120の書き込み動作の時に、ファイルシステムが生成した論理アドレスLAを不揮発性メモリ装置120の物理アドレスPNにマッピング(Mapping)させる。
本発明のメモリコントローラ110によって駆動されるフラッシュ変換階層FTLは、ログマッピング方法(Log mapping method)に基づいてアドレスをマッピングする。
しかし、本発明の利点は、ログマッピングの方法だけではなく、様々なアドレスマッピング法に適用することができる。
本発明のメモリコントローラ110は、フリーブロック(Free block)の数と入力されるデータの属性(Attribute)とを参照して、ログブロック又はデータブロックを割り当てることができる。
例示的にデータの属性では、書き込みパターンを使用することができる。
特に、メモリコントローラ110は、フリーブロックの管理における1つの物理ブロック単位でログブロックを割り当てるか、又は物理ブロックより小さいサブブロック単位でログブロックを割り当てる。
以下では、フリーブロックプール(Free block pool)に存在するフリーブロックをログブロックに割り当てることと、データブロックに割り当てることは類似の意味として使用する。したがって、フリーブロックプールで選択されたメモリ単位をログブロックに割り当てるのは、データブロックにも割り当てることができることを意味する。
ここで、物理ブロック(Physical Block)は、同時に消去可能な最大メモリ単位である。
ワードラインが基板に垂直方向に積層される3次元の不揮発性メモリ装置において、物理ブロックは積層されたすべてのワードラインを共有するセルストリングのグループとして定義することができる。
サブブロック(Sub−block)は、1つの物理ブロックをワードライン単位又は選択ライン単位に区分した細部メモリ単位に該当する。
例えば、サブブロック(Sub−block)は、物理ブロックのうちで、一部のワードラインを共有するメモリセルの単位として定義することができる。
サブブロック単位のログブロックの割り当てを通じて入力されるデータに対してフリーブロックの無駄を最小化することができる。
そして、本発明のメモリコントローラ110のブロック管理方法によれば、1つの物理ブロック単位で消去せず、サブブロック単位で消去することができるので、消去時間の短縮による性能の向上も期待できる。
不揮発性メモリ装置120は、メモリコントローラ110の制御によって、消去動作、読み出し動作、及び書き込み動作を実行する。
不揮発性メモリ装置120は、複数のメモリブロックを含み、メモリブロックの各々は、行と列に配列された複数のメモリセルを含む。
メモリセルの各々は、マルチレベル(又は、マルチビット)のデータを格納する。
メモリセルは、2次元アレイ構造を有するように、又は3次元(又は、垂直)アレイ構造を有するように配列することができる。
不揮発性メモリ装置120は、複数のメモリブロック(BLK1〜BLKi)を含むことができる。
各々のメモリブロック(BLK1〜BLKi)は、1つの消去単位を構成する。
各々のメモリブロック(BLK1〜BLKi)は、基板と垂直となる方向に積層されてセルストリングを構成する複数のメモリセルを含む。
又は、各々のメモリブロック(BLK1〜BLKi)は、基板に平行な方向に複数のセルストリングが積層される形態として提供することができる。
上述のような3次元構造で形成されるメモリブロック(BLK1〜BLKi)によって1つのメモリブロックの容量は飛躍的に増加する傾向にある。
メモリブロックの大容量化の傾向に応じて、既存の制御技術やアルゴリズムでは、増加した容量に適した性能を提供することが容易ではない。
本発明の実施形態によるメモリシステム100は、大容量のメモリブロックを含む不揮発性メモリ装置120に対して高い性能を提供することができる。
メモリシステム100の性能は、マージ動作(Merge operation)の回数に大きく影響を受ける。しかし、本発明の実施形態によるブロック管理方法によれば、大容量のブロックに対してもマージ動作の回数を大幅に減らすことができる。
すなわち、本発明のブロック管理方法によれば、マージ動作に伴うブロック消去とページコピーの発生確率を減少させて、メモリの性能を大きく向上することができる。
不揮発性メモリ装置120の記憶媒体として、NANDフラッシュメモリを例として説明する。
しかし、他の不揮発性メモリ装置で構成することができる。例えば、記憶媒体として、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は、図2の不揮発性メモリ装置を示すブロック図である。
図3を参照すると、不揮発性メモリ装置120は、メモリセルアレイ121と、行デコーダ122と、ページバッファ123と、制御ロジック124とを含む。
メモリセルアレイ121は、ワードラインWLs又は選択ラインSSL、GSLを通じて行デコーダ122に接続される。
メモリセルアレイ121は、ビットラインBLsを通じてページバッファ123に接続される。
メモリセルアレイ121は、複数のNAND型セルストリング(NAND Cell Strings)を含む。複数のセルストリングは、動作又は選択の単位によって複数のメモリブロック(BLK1〜BLKi)を構成する。そして、メモリブロックの各々は、複数のサブブロックを含む。
ここで、セルストリングの各々のチャンネルは、垂直又は水平方向に形成することができる。
メモリセルアレイ121には、複数のワードラインが垂直方向に積層され、セルストリングの各々のチャネルを垂直方向に形成することができる。このようなセルストリングの構造によりメモリセルアレイ121が形成されるメモリ装置を垂直構造の不揮発性メモリ装置、又は3次元構造の不揮発性メモリ装置と言う。
行デコーダ122は、アドレスADDに応答してメモリセルアレイ121のメモリブロックのうちのいずれか1つを選択する。
行デコーダ122は、選択されたメモリブロックのワードラインWLsのうちのいずれか1つを選択する。
行デコーダ122は、選択されたメモリブロックのワードラインにワードライン電圧を伝達する。
プログラム(書き込み)動作の時、行デコーダ122は、選択ワードライン(Selected WL)にプログラム電圧Vpgmと検証電圧Vvfyを、非選択ワードライン(Unselected WL)にはパス電圧Vpassを伝達する。そして、行デコーダ122は、選択ラインSSL、GSLとワードライン電圧を提供してサブブロック単位で選択する。
選択されたサブブロックについて、行デコーダ122は、プログラム(書き込み)、消去、読み出しのようなすべてのアクセス動作を実行する。
ページバッファ123は、動作モードによって書き込みドライバとして、又は感知増幅器として動作する。
プログラム(書き込み)動作の時、ページバッファ123は、メモリセルアレイ121のビットラインにプログラムされる(書き込まれる)データに対応するビットライン電圧を伝達する。
読み出し動作の時に、ページバッファ123は、選択されたメモリセルに格納されたデータをビットラインを通じて感知する。
ページバッファ123は、感知されたデータをラッチして外部に伝達する。
制御ロジック124は、外部から伝達される命令語CMDに応答して、ページバッファ123と行デコーダ122とを制御する。
制御ロジック124は、消去動作の時に、選択されたメモリブロック(又は、物理ブロック)を消去したり、サブブロック単位で消去するように行デコーダ122を制御する。
サブブロック単位の消去動作は、後述の図7でさらに具体的に説明する。
本発明の不揮発性メモリ装置120は、物理ブロック(Physical Block以下、PB)又はそれより小さいサブブロック(Sub−block 以下、SB)単位で消去動作を実行する。
したがって、本発明の不揮発性メモリ装置120によれば、メモリブロックの大容量化によって発生するマージ動作の非効率性を大幅に改善することができる。
図4は、図3のメモリセルアレイ121を示すブロック図である。
図4を参照すると、メモリセルアレイ121は、複数のメモリブロック(BLK1〜BLKi)を含む。
メモリブロック(BLK1〜BLKi)の各々は3次元構造(又は、垂直構造)を有する。
例えば、メモリブロック(BLK1〜BLKi)の各々は3次元に対応する複数の方向(x、y、z)に沿って延長された構造を含む。例えば、メモリブロック(BLK1〜BLKi)の各々は、z方向に沿って延長された複数のNANDセルストリング(NAND Cell Strings)を含むことができる。
各々のNANDセルストリングは、ビットラインBL、ストリング選択ラインSSL、接地選択ラインGSL、ワードラインWL、及び共通ソースラインCSLに接続される。
つまり、メモリブロック(BLK1〜BLKi)の各々は、複数のビットラインBL、複数のストリング選択ラインSSL、複数の接地選択ラインGSL、複数のワードラインWL、及び共通ソースラインCSLに接続される。
3次元に延長されるメモリブロック(BLK1〜BLKi)の各々の構造は、図5を参照してさらに詳細に説明する。
ここで、メモリブロック(BLK1〜BLKi)の各々が物理ブロック(Physical Block)に対応する。
そして、サブブロックは、1つの物理ブロックをワードライン単位又は選択ライン単位に区分した細部メモリ単位に対応することができる。
図5は、図4のメモリブロック(BLK1〜BLKi)のうちの1つBLKiを例示的に示す斜視図である。
図5を参照すると、メモリブロックBLKiは、複数の方向の(x、y、z)に沿って延長された構造を含む。
メモリブロックBLKiを形成するためには、まず、基板111が提供される。
例えば、基板111は、ホウ素(B、Boron)のような5族元素が注入されて形成されたPウェルで形成することができる。
または、基板111は、Nウェル内に提供されるポケットPウェルで形成することができる。
以下では、基板111は、Pウェルであると仮定する。しかし、基板111は、Pウェルに限定されない。
基板111上に、x方向に沿って複数のドーピング領域(311〜314)が形成される。
例えば、複数のドーピング領域(311〜314)は、基板111と異なるnタイプの導電体で形成することができる。以下では、第1〜第4ドーピング領域(311〜314)は、nタイプを有すると仮定する。
しかし、第1〜第4ドーピング領域(311〜314)は、nタイプを有するものに限定されない。
第1及び第2ドーピング領域311、312の間の基板111の領域上に、y方向に沿って延長される複数の絶縁物質112がz方向に沿って順次提供される。
例えば、複数の絶縁物質112は、z方向に沿って所定の距離だけ離隔されて形成される。
例示的に、絶縁物質112は、シリコン酸化物(Silicon Oxide)のような絶縁物質を含む。
第1及び第2ドーピング領域311、312の間の基板111の上部に、y方向に沿って順次配置され、z方向に沿って絶縁物質112を貫通するピラー113が形成される。
例示的に、ピラー113は、絶縁物質112を貫通して基板111と接続される。
ここで、ピラー113は、第2及び第3ドーピング領域312、313の間の基板の上部と、第3及び第4ドーピング領域313、314の間の基板の上部にも形成される。
例示的に、各ピラー113は、複数の物質で構成される。
例えば、各ピラー113の表面層114は、第1タイプを有するシリコン物質を含む。
例えば、各ピラー113の表面層114は、基板111と同じタイプを有するシリコン物質を含む。
以下では、各ピラー113の表面層114は、pタイプシリコンを含むと仮定する。
しかし、各ピラー113の表面層114は、pタイプシリコンを含むものに限定されない。
各ピラー113の内部層115は、絶縁物質で構成される。
例えば、各ピラー113の内部層115は、シリコン酸化物(Silicon Oxide)のような絶縁物質を含む。
例えば、各ピラー113の内部層115はエアギャップ(Air gap)を含むことができる。
第1及び第2ドーピング領域311、312の間の領域において、絶縁物質112、ピラー113、及び基板111の露出された表面に沿って絶縁膜116が提供される。
例示的に、z方向に沿って提供される最後の絶縁物質112のz方向側の露出面に提供される絶縁膜116は除去可能である。
第1及び第2ドーピング領域311、312の間の領域において、絶縁膜116の露出された表面上に第1導電物質(211〜291)が提供される。
例えば、基板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)は、ポリシリコンなどのような導電物質である。
第2及び第3ドーピング領域312、313の間の領域において、第1及び第2ドーピング領域311、312上の構造物と同じ構造が提供される。
第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)が提供される。
複数のピラー113上にドレイン320が各々提供される。
例示的に、ドレイン320は、第2タイプでドーピングされたシリコン物質である。
例えば、ドレイン320は、nタイプでドープされたシリコン物質である。以下では、ドレイン320は、nタイプシリコンを含むと仮定する。しかし、ドレイン320は、nタイプシリコンを含むものに限定されない。
例示的に、各々のドレイン320の幅は、対応するピラー113の幅より大きいことがある。例えば、各ドレイン320は、対応するピラー113の上部面にパッドの形態に提供することができる。
ドレイン320上に、x方向に延長された第2導電物質(331〜333)が提供される。
第2導電物質(331〜333)は、y方向に沿って順次配置される。
第2導電物質(331〜333)の各々は、対応する領域のドレイン320と接続される。例示的に、ドレイン320と、x方向に延長された第2導電物質333は、各々コンタクトプラグ(Contact plug)を通じて接続することができる。例示的に、第2導電物質(331〜333)は、金属物質である。例示的に、第2導電物質(331〜333)は、ポリシリコンなどのような導電物質である。
図6は、図5のメモリブロックBLKiの構造を示す等価回路図である。
図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のストリング選択トランジスタSSTは、対応するビットラインBLに接続される。
セルストリング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に接続されるセルストリングNSは、1つの行を形成する。
例えば、第1ストリング選択ラインSSL<1>に接続されたセルストリング(NS11〜NS13)は、第1行を形成する。第2ストリング選択ラインSSL<2>に接続されたセルストリング(NS21〜NS23)は、第2行を形成する。第3ストリング選択ラインSSL<3>に接続されたセルストリング(NS31〜NS33)は、第3行を形成する。
セルストリングNSsの各々は、接地選択トランジスタGSTを含む。
1つの接地選択ラインGSLによって接地選択トランジスタGSTを制御することができる。あるいは図に示していないが、互いに異なる接地選択ラインによって各行に対応するセルストリングを制御することもできる。
同一の半導体層に対応するメモリセルMCは、ワードラインWLを共有する。
導電ライン(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を共有する。
異なる行のセルストリングNSは異なるストリング選択ラインSSL<1>、SSL<2>、SSL<3>に各々接続される。
共通ソースラインCSLは、セルストリングNSsに共通に接続される。
例えば、第1〜第4ドーピング領域(311〜314)(図5参照)が互いに接続されて、共通ソースラインCSLを形成する。
以上で、例示的に説明した1つの物理ブロックBLKiは、それより小さい複数のサブブロック(SB0、SB1、SB2)に区分できる。各々のサブブロック(SB0、SB1、SB2)は、ワードライン方向に区分できる。
または、各々のサブブロック(SB0、SB1、SB2)は、ビットラインBLやストリング選択ラインSSLに基づいて区分できる。
どのような基準によってサブブロックを区分しても、各々のサブブロックは、物理ブロックBLKi内で、他のサブブロックとは独立的に消去可能でなければならない。
例示的に、サブブロックSB0は、メモリブロックBLKiに含まれたメモリセルのうちでワードラインWL<0>、WL<1>に接続されたメモリセルを含む。
サブブロック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の内部で定義されるサブブロックの区分方法を例示的に説明した。
しかし、サブブロックの区分基準は、図に示した例に限定されない。
すなわち、1つの物理ブロックBLKiが3つのサブブロックに区分される例を説明したが、1つの物理ブロックBLKiは、2つ又は4つ以上のサブブロックに区分できる。
また、1つの物理ブロックでサブブロックは、ストリング選択ラインSSL単位、又はビットラインBL単位として定義することもできる。
図7は、本発明の不揮発性メモリ装置の部分消去動作を説明するためのテーブルである。
図7を参照すると、1つの物理ブロックが3つのサブブロックに区分される場合の消去バイアス条件を示す。
1つの物理ブロックを構成するセルストリングの各々を、例示的に3つのサブブロック(SB0、SB1、SB2)に区分する。
物理ブロックPBに含まれる任意のセルストリングNSjを参照して消去動作の時のバイアス条件を説明する。
サブブロックSB0だけを消去する場合に、消去バイアスは次の通りである。
ビットライン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に対する消去動作もサブブロックSB0の消去動作と類似である。
ただし、サブブロックSB1の消去バイアスは、ワードライン(WL<2>、WL<3>)に接地又は0Vの電圧が提供され、ワードライン(WL<0>〜WL<1>、WL<4>〜WL<5>)がフローティングされる条件のみが異なり、サブブロックSB0の消去バイアスと類似である。
サブブロックSB2に対する消去バイアスは、次の通りである。
ワードライン(WL<4>、WL<5>)に接地又は0Vの電圧が提供され、ワードライン(WL<0>〜WL<3>)がフローティングされる。
このような状態で、基板Subに高電圧の消去電圧Versが印加されれば、サブブロックSB2のみを選択的に消去することができる。
サブブロックSBnの消去動作を部分ブロック消去(Partial Block Erase)と言う。
なお、物理ブロックPBの消去動作は、次の通りである。
すべてのワードライン(WL<0>〜WL<5>)に接地又は0Vの電圧が印加され、ビットラインBL、選択行SSL1、GSLはフローティングされる。
そして、このような状態で、基板Subに高圧の消去電圧Versが印加すれば、物理ブロックPBを消去することができる。
ここで、サブブロック(SB0、SB1、SB2)が各々1つのみが消去される例が説明したが、2つ以上のサブブロックの消去も可能である。
例えば、同時にサブブロック(SB0、SB1)が選択されて消去されることも可能である。同時にサブブロック(SB1、SB2)の消去も可能であり、同時にサブブロック(SB0、SB2)の消去も可能である。
以上の消去バイアスによれば、本発明の不揮発性メモリ装置120は、各々下位単位(サブブロック単位)で消去可能な大容量の物理ブロックを含む。
したがって、メモリコントローラ110によるログブロックの割り当ての時に、サブブロック単位で、又は物理ブロック単位で割り当てることができる。
もし、フリーブロックプール(Free block pool)に存在するサブブロックSB0がログブロックに割り当てられる場合に、物理的には、サブブロックSB0に対する消去動作が先行する。
消去されたサブブロックSB0が指定されたデータブロックに対するログブロックに割り当てられ、書き込み要請されたデータが書き込まれる。
図8は、本発明の実施形態によるブロック管理方法を説明するためのフローチャートである。
図8を参照して、サブブロック単位でログブロックの割り当てが可能な本発明のブロック管理手順を説明する。
S110段階において、メモリコントローラ110(図1参照)は、メモリブロックの内からフリーブロック(Free Block)の数NFBを検出する。
フリーブロックの数NFBは、メモリシステムの外部から提供される書き込みや削除命令、又はメモリシステムの内部で発生するガベージコレクションのようなメモリ管理動作によって変動する。
メモリコントローラ110は、ホストHostからの書き込み要請に応答して、これらのフリーブロックの数NFBを検出する。書き込み要請に応答して、メモリコントローラ110で駆動されるフラッシュ変換階層FTLは、現在のメモリシステム100で十分なフリーブロックが具備されているか否かを判断する。
S120段階において、メモリコントローラ110は、十分な数のフリーブロックが確保された状態であるか否かを判断する。
例えば、フラッシュ変換階層FTLは、フリーブロックの数NFBがしきい値THより多いか否かを判断する。
もし、フリーブロックの数NFBがしきい値THより少ないか、又は同一であれば、S150段階に移動する。
一方、フリーブロックの数NFBがしきい値THよりも多い場合は、S130段階に移動する。
フリーブロックの数が十分でない状況では、メモリコントローラ110は、書き込み要請されるデータの書き込みパターンに関係なく、サブブロックSB単位でログブロックを割り当てる。
サブブロックを順次ログブロックに割り当てるためには、サブブロック単位で消去動作が先行する。
サブブロック単位でログブロックが割り当てられる間にメモリコントローラ110は、マージ動作を実施して、追加でフリーブロックを確保することができる。
S130段階において、メモリコントローラ110は、書き込み要請されたデータの書き込みパターンを検出する。
書き込み要請されたデータの書き込みパターンを検出するためには、様々な検出方法を使用することができる。
例えば、連続して入力されるデータのサイズが所定のサイズ(例えば、16KB)未満の場合には、ランダムパターン(Random pattern)と認識することができる。又は、書き込みパターンを分析するために、LRU(Least Recently Used)、CFLRU(Clean−First LRU)、CA(Clock Algorithm)、SC(Second Chance)、MDH(Multi−Dimensional Hashing)のようなアルゴリズムを使用することができる。
しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
S140段階において、書き込みパターンがランダム書き込みか否かを判断し、ランダム書き込みと判断された場合、S150段階に移動する。
一方、書き込みパターンが順次書き込みとして判断された場合、S160段階に移動する。
S150段階において、ランダム書き込みパターンで定義されるサブブロックSB単位でログブロックの割り当てが実行される。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックはサブブロックに提供する。
ここで、1つ又は2つ以上のサブブロックをログブロックに割り当てることができる。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータを書き込むためのS170段階に移動する。
S160段階において、順次書き込みパターンで定義される物理ブロックPB単位でログブロックの割り当てが行われる。
例えば、書き込み要請されたデータに対応するデータブロックに対応するログブロックは1つの物理ブロックPBに提供する。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータを書き込むためのS170段階に移動する。
S170段階において、メモリコントローラ110は、割り当てられた物理ブロックPB、又はサブブロックSBに書き込み要請されたデータを書き込む。
書き込みデータの動作プログラムが完了すれば、1つの書き込み要請に対応する動作プログラムのサイクルは終了する。
結局、1つのログブロックを割り当てるためにサブブロックSBや物理ブロックPBの選択は、現在フリーブロックプールに維持されるフリーブロックの数NFBと書き込み要請されるデータのパターンによって決められる。
フリーブロックの数NFBが不足な状態では、書き込みパターンに関係なく、サブブロック単位でログブロックの割り当てが実行される。
したがって、マージ動作を通じてフリーブロックをさらに確保することができる時間を獲得することができる。
しかし、フリーブロックの数NFBが十分な状態では、書き込みパターンによってサブブロック又は物理ブロックがログブロックに割り当てられる。これらの特性を通じて、大容量ブロックの不揮発性メモリ装置を有するメモリシステムでもフリーブロックを確保するための頻繁なマージ動作の発生を抑制することができる。
図9は、本発明の実施形態によるログブロックの割り当て方法の一例を示すブロック図である。
図9を参照すると、メモリコントローラ110(図1参照)は、書き込み動作の時に不揮発性メモリ装置120(図1参照)のメモリブロックをデータブロック360、ログブロック370、及びフリーブロックプール380に区分して管理する。
データブロック360は、予めデータが書き込まれたデータブロックが含まれる。
例えば、データブロック360は、物理ブロック番号(PBN:Physical Block Number)(100、101、103、104、900)に対応するメモリブロックを含む。
メモリコントローラ110によってアドレスを通じて指定される実質的なメモリブロックは、データブロックに該当する。
ログブロック370には、外部で選択されたデータブロックを更新(Update)するためのログブロック(Log Block)が含まれる。
例えば、ログブロック370は、物理ブロックBL200及びサブブロックSB0を含むことができる。
物理ブロックBL200はデータブロック100を更新するために割り当てられる。そして、サブブロックSB0は、データブロック102を更新するためにログブロックに割り当てることができる。
フリーブロックプール380には、マージ動作やガベージコレクションによって消去されたメモリブロック又は無効なデータを有するメモリブロックが割り当てられる。
フリーブロックプール380は、(BL210、BL211、・・・、BL218)の物理ブロックを含むことができる。
そして、各々の物理ブロックは、サブブロック単位で選択される。選択されたサブブロックは、ログブロックに割り当てられる。データの書き込み動作の時に新しいログブロックが必要になれば、フリーブロックプール380に位置する物理ブロックやサブブロックのうちのいずれか1つを選択して、ログブロックに指定することができる。
再び図9を参照すると、1つのデータブロックには、少なくとも1つのログブロック又はサブブロックSBを割り当てる。
もし、書き込み要請されるデータは、サイズが小さいランダムパターンとして提供されると仮定すれば、メモリコントローラ110は、書き込み要請されるデータのブロックアドレスをデータブロックBL102に割り当てる。そして、書き込み要請されるデータに対するログブロックでは、サブブロックSB0を割り当てる。
ログブロックに選択されたサブブロックSB0は、まず、部分ブロック消去(Partial Block Erase)方式によって消去される。
物理ブロックの一部に対応するサブブロックSB0に対する消去動作が完了すれば、サブブロックSB0は、データブロックBL102を更新するためのログブロックに割り当てられる。
ランダムパターンの書き込みデータは、まずログブロックに選択されたサブブロックSB0にプログラムされる(書き込まれる)。以後、サブブロックSB0に書き込まれたデータは、適切なタイミングでマージ動作を通じてデータブロックBL102に存在する有効なデータ(Valid data)と共に新しいデータブロックにコピーされる。
ランダムパターン(Random pattern)に入力される書き込みデータは、ほとんどサブブロックSB0に十分に受容可能なサイズである。
したがって、サブブロック単位でログブロックを割り当てれば、フリーブロックの不足によって頻繁に発生するマージ動作やガベージコレクションの発生頻度が減少する。
ここで、1つのサブブロック単位がログブロックに割り当てられると説明したが、本発明はこれに限定されない。1つのデータブロックに対応するログブロックに2つ又はそれ以上のサブブロックをログブロックに割り当てることができる。
図10は、本発明の実施形態によるログブロックの割り当て方法の他の例を示すブロック図である。
図10を参照すると、書き込み要請されるデータが順次パターン(SequentialPattern)で提供される場合のログブロックの割り当て方法を示す。
メモリブロックがデータブロック360、ログブロック370、及びフリーブロックプール380に区分される形態は、図9で説明したので、ブロックの区分に対する詳細な説明は省略する。
メモリコントローラ110は、書き込み要請されるデータの書き込みパターンが順次パターンに対応する場合、1つの物理ブロックBL211をログブロックに割り当てる。
もし、データブロックBL104に対応するデータが順次書き込みパターンに入力されると仮定すれば、メモリコントローラ110は、書き込みパターンに応答して、データブロックBL104に対するログブロックに物理ブロックBL211を割り当てる。
ログブロックとして選択された物理ブロックBL211はログブロックとして使用される前に消去される。
消去された物理ブロックBL211に順次パターンに提供されたデータがプログラムされる(書き込まれる)。
以後、ログブロックとして使用される物理ブロックBL211とデータブロックBL104に存在する有効なデータ(Valid data)は、フリーブロックから提供された新しい物理ブロックにコピーされる。
マージ動作は、ページのコピーを通じても実現可能であるが、ログブロックBL211に格納されるデータが、データブロックBL104を完全に置換することもできる。このようなマージ方式を、ページのコピーは発生せず、ブロックマッピング情報のみを変更するスワップマージ(Swap merge)とする。
以上、図9と図10では、サブブロック単位でログブロックが割り当てられる例と、物理ブロック単位でログブロックが割り当てられる例を説明した。
ログブロックの割り当て単位を大容量の物理ブロックより小さい単位で割り当てることによって、フリーブロックプールの速い消耗を軽減して、フリーブロックを確保するためのあらゆるブロックの管理動作の発生確率を大幅に減らすことができる。
さらに、ランダムパターンに入力されるデータに対してサブブロック単位でログブロックを割り当てれば、1つのサブブロックに対する迅速な消去動作が可能になって、書き込みの性能の向上を期待することができる。
図11は、本発明の実施形態によるメモリシステムのソフトウェア階層を具体的に示すブロック図である。
図11を参照すると、ソフトウェアは、ファイルシステム410と、フラッシュ変換階層(FTL)420と、不揮発性メモリ装置(NVM)430とを含む。
フラッシュ変換階層420には、ファイルシステム410から書き込み命令CMDとデータData、そして論理アドレスLAが入力される。
フラッシュ変換階層420は、マッピングテーブル421を使用して、論理アドレスLAを物理アドレスPAに変換する。
フラッシュ変換階層420は、マッピングテーブル421と、書き込みパターン分析器422と、フリーブロックマネージャ423と、マージマネージャ424のようなモジュール(Module)とを含むことができる。マッピングテーブル421を参照して、フラッシュ変換階層420は、論理アドレスLAを物理アドレスPAに変換する。
書き込みパターン分析器422は、ファイルシステム410からの書き込み命令CMD、データ(Data)、論理アドレスLAのうちの少なくとも1つを参照して、書き込みパターンを検出する。
検出された書き込みパターンは、マージマネージャ424に提供される。
書き込みパターン分析器422は、連続して入力されるデータのサイズが基準値(例えば、16KB)未満の場合には、ランダムパターンに認識する。
又は、書き込みパターン分析器322は、LRU(Least Recently Used)、CFLRU(Clean−First LRU)、CA(Clock Algorithm)、SC(Second Chance)、MDH(Multi−Dimensional Hashing)のようなアルゴリズムによって書き込みパターンを検出することができる。しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
フリーブロックマネージャ423は、不揮発性メモリ装置430で管理するフリーブロックプール(Freeblock pool)に含まれるフリーブロックを管理する。
フリーブロックマネージャ423は、フリーブロックプールに含まれる物理ブロックやサブブロックの数が基準に達するか否かを監視する。
もし、フリーブロックプールに十分な数の物理ブロック又はサブブロックが確保されていないと判断されれば、フリーブロックマネージャ423は、マージマネージャ424に、これらの状態を知らせる。
マージマネージャ424は、フリーブロックプールに存在する物理ブロック又はサブブロックの数を適切なレベルに維持するためのマージ動作を実行する。
マージマネージャ424は、ログブロックとデータブロックの状態を参照して、最適のマージ方式を選択することができる。
フリーブロックの数が十分な場合、マージマネージャ424は、フリーブロックの数を確保するためのマージ動作は実行しない。しかし、フリーブロックの数が不足の場合、マージマネージャ424は、書き込みデータのパターンに関係なく、マージ動作を実行して、フリーブロックに提供する。
不揮発性メモリ装置430は、メタ領域431とデータ領域432に管理されるメモリ領域を含む。
メタ領域431は、マージ動作やガベージコレクション(Garbage collection)などによって変更されたマッピング情報を格納する。メタ領域431は、フラッシュ変換階層420で生成されたマッピング情報と多様な制御情報を格納することができる。
データ領域432は、複数のデータブロックで構成され、ユーザデータを格納する。
以上、本発明のフラッシュ変換階層420に含まれる動作モジュールを簡単に説明した。
特に、フラッシュ変換階層420によってフリーブロックの数とデータの書き込みパターンによるログブロックの割り当てサイズが決められる。
したがって、本発明の実施形態によるメモリシステムは、大容量の物理ブロックを有するメモリシステムでもマージ回数を最小化することができ、メモリブロックの利用率を最大化することができる。
図12は、図11のメモリシステムでのメモリブロックの管理方法を説明するためのフローチャートである。
図12を参照して、ベッドブロック(Bad Block)の発生を考慮したサブブロック単位でログブロックの割り当てが可能な本発明のブロック管理手順を説明する。
S210段階において、メモリコントローラ110(図1参照)は、ホストHostから書き込み要請(又は書き込み命令語)を受信する。
書き込み命令語の受信によって、メモリコントローラ110で駆動されるフラッシュ変換階層420(図11参照)によって、本発明に係るログブロックの割り当てが行われる。
S220段階において、メモリコントローラ110は、不揮発性メモリ装置120に含まれるメモリブロックの内のバッドブロック(Bad Block)の数NBBを検出する。
バッドブロック(Bad Block)は、最初の量産時に検出されたものと不揮発性メモリ装置120の使用中に発生した進行性バッドブロックの全部を含む。
バッドブロックの数が増加すると、実質的に可用メモリブロック(Usable memory block)の数は減少するようになる。したがって、可用メモリブロックの減少によって、フリーブロック数の確保が難しくなる。本発明の実施形態によれば、バッドブロック数の増加によって発生する性能の低下を軽減することができる。
S230段階において、検出されたベットブロックの数NBBに従って、メモリコントローラ110は、ログブロックの割り当て方法を決定する。
まず、バッドブロックの数NBBが基準値Refの以上に増加したと判断されれば、S240段階に移動する。
一方、バッドブロックの数NBBが基準値Refの未満であると判断されれば、S250段階に移動する。
S240段階において、メモリコントローラ110は、書き込み要請されたデータのパターンに関係なく、無条件にサブブロック単位でログブロックの割り当てを実行する。
すなわち、バッドブロックの数NBBが増加して、可用メモリブロックの数が減少した状態では、フリーブロックの確保も段々難しくなる。この場合、サブブロックSB単位でログブロックを割り当てれば、フリーブロックを確保するための過度なマージ動作の頻度を減らすことができる。
S250段階において、メモリコントローラ110は、書き込み要請されたデータの書き込みパターンを検出、判断する。
もし、検出された書き込みパターンがランダム書き込みとして判断されれば、S260段階に移動する。
一方、書き込みパターンが順次パターンとして判断されれば、S270段階に移動する。
ここで、書き込み要請されたデータの書き込みパターンを検出するために使用可能な方法としてはアドレスの検出がある。
すなわち、入力されるアドレスが連続アドレスであるか、又はランダムアドレスであるかを判断して、書き込みパターンを判断することができる。
又は、連続して入力されるデータのサイズが特定のサイズ(例えば、16KB)未満の場合には、ランダムパターン(Random pattern)に認識することができる。
書き込みパターンを分析するために、LRU(Least Recently Used)、CFLRU(Clean−First LRU)、CA(Clock Algorithm)、SC(Second Chance)、MDH(Multi−Dimensional Hashing)のようなアルゴリズムも使用可能である。しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
S260段階において、書き込みパターンがランダム書き込みと判断されれば、サブブロック単位でログブロックの割り当てが実行される。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックは、サブブロックに提供する。
ここで、1つ又は2つ以上のサブブロックをログブロックに割り当てることができる。ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータをプログラムするためのS280段階に移動する。
S270段階において、書き込みパターンが順次書き込みパターンと判断されれば、物理ブロック単位でログブロックの割り当てが実行される。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックを、1つの物理ブロックPBに提供する。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータをプログラムするためのS280段階に移動する。
S280段階において、メモリコントローラ110は、割り当てられた物理ブロックPB、又はサブブロックSBに書き込み要請されたデータをプログラムする(書き込む)。
書き込みデータのプログラムが完了すれば、1つの書き込み要請に対応するプログラムのサイクルは終了する。
結局、1つのログブロックを割り当てるためにサブブロックや物理ブロックの選択は、現在のメモリシステム100で検出されるバッドブロック(Bad block)の数NBBと書き込み要請されるデータの書き込みパターンによって決められる。
バッドブロックの数が基準値の以上に増加すれば、書き込みパターンに関係なく、サブブロック単位でログブロックの割り当てが実行される。
したがって、可用メモリブロックが相対的に減少する状況でもフリーブロックを確保するためのコストが最小化できる。
図13は、書き込み要請されるデータの書き込みパターンを判定するための方法を例示的に説明するためのフローチャートである。
図13を参照すると、図12のS250段階の、より詳細な手順を示す。
S251段階において、メモリコントローラ110(図1)は、書き込み要請されるデータのページアドレスが順次位置方式(In−place−order)であるか否かを検出する。
メモリコントローラ110は、書き込み要請されたデータのページアドレスが連続的な値に提供されるかを検出する。
もし、書き込み要請されたページのアドレスがメモリブロック内での位置とは無関係にランダムに提供されれば、順次位置方式(In−place−order)、又は順次書き込みパターンと見なすことができない。
S252段階において、メモリコントローラ110は、ページアドレスが順次位置方式(In−place−order)であるか否かを判断する。
メモリコントローラ110は、書き込みデータのページアドレスが順次位置方式(In−place−order)ではないと判断した場合、書き込みパターンをランダム書き込みパターンと決定する(S253段階)。
一方、メモリコントローラ110は、ページアドレスが順次位置方式(In−place−order)であると判断した場合には、ログブロックの書き込みパターンを順次書き込みパターンと決定する(S254段階)。
図14は、本発明の実施形態によるソリッドステートディスク(以下、SSD)を含むユーザ装置を示すブロック図である。
図14を参照すると、ユーザ装置1000は、ホスト1100とSSD1200とを含む。
SSD1200は、SSDコントローラ1210と、バッファメモリ1220と、不揮発性メモリ装置(NVM)1230とを含む。
SSDコントローラ1210は、ホスト1100とSSD1200との物理的な接続を提供する。
すなわち、SSDコントローラ1210は、ホスト1100のバスフォーマット(Bus format)に対応してSSD1200とのインタフェーシングを提供する。
特に、SSDコントローラ1210は、ホスト1100から提供される命令語をデコーディングする。デコーディングされた結果に基づいて、SSDコントローラ1210は、不揮発性メモリ装置1230にアクセスする。
ホスト1100のバスフォーマット(Bus format)としては、USB(Universal Serial Bus)、SCSI(Small Computer System Interface)、PCI express、ATA、PATA(Parallel ATA)、SATA(Serial ATA)、SAS(Serial Attached SCSI)などを含むことができる。
バッファメモリ1220には、ホスト1100から提供される書き込みデータ又は不揮発性メモリ装置1230から読み出されたデータが一時格納される。
ホスト1100の読み出し要請の時に不揮発性メモリ装置1230に存在するデータがキャッシュされている場合には、バッファメモリ1220は、キャッシュされたデータを直接ホスト1100に提供するキャッシュ機能を支援する。
一般的に、ホスト1100のバスフォーマット(例えば、SATAまたはSAS)によるデータ伝送速度は、SSD1200のメモリチャネルの伝送速度より顕著に速い。つまり、ホスト1100のインターフェイス速度が顕著に速い場合、大容量のバッファメモリ1220を提供することによって、速度差によって発生するパフォーマンスの低下を最小化することができる。
バッファメモリ1220は、大容量の補助記憶装置として使用されるSSD1200で十分なバッファリングを提供するために、同期式DRAM(Synchronous DRAM)が提供され得る。しかし、バッファメモリ1220はこれに限定されないことは、この分野の通常の知識を習得した者には自明である。
不揮発性メモリ装置1230は、SSD1200の記憶媒体として提供される。
例えば、不揮発性メモリ装置1230は、大容量の記憶能力を有する垂直構造NANDフラッシュメモリ(NAND−type Flashmemory)で提供することができる。
不揮発性メモリ装置1230は、複数のメモリ装置で構成することができる。この場合、各々のメモリ装置は、チャネル単位でSSDコントローラ1210と接続される。
記憶媒体として不揮発性メモリ装置1230がNANDフラッシュメモリを例としてあげて説明したが、他の不揮発性メモリ装置で構成されてもよい。
例えば、記憶媒体としてPRAM、MRAM、ReRAM、FRAM(登録商標)、NORフラッシュメモリなどを使用することができ、異種のメモリ装置が混用されるメモリシステムも適用可能である。
不揮発性メモリ装置は実質的に図3での説明と同一に構成することができる。
上述のSSD1200において、SSDコントローラ1210は、フリーのブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロックやログブロックのサイズを決める。
すなわち、SSDコントローラ1210は、フリーブロックの数がしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックSBの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、SSDコントローラ1210は、書き込みパターンを考慮して、サブブロックSB、又は物理ブロックPBの単位でログブロックやデータブロックを割り当てる。
さらに、SSDコントローラ1210は、バッドブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロック又はログブロックのサイズを決めることができる。
不揮発性メモリ装置1230は、図3の不揮発性メモリ装置と実質的に同様に動作することができる。
すなわち、不揮発性メモリ装置1230は、大容量のメモリブロックを含み、各々のメモリブロックは、サブブロック単位で選択及び消去可能である。
図15は、本発明の実施形態によるメモリカードの例を示すブロック図である。
メモリカードシステム2000は、ホスト2100と、メモリカード2200とを含む。
ホスト2100は、ホストコントローラ2110と、ホスト接続ユニット2120とを含む。
メモリカード2200は、カード接続ユニット2210と、カードコントローラ2220と、フラッシュメモリ2230とを含む。
ホスト接続ユニット2120及びカード接続ユニット2210は、複数のピンを有して構成される。これらのピンには、コマンドピン、データピン、クロックピン、電源ピンなどが含まれる。
ピンの数は、メモリカード2200の種類によって変わる。例として、SDカードは、9つのピンを有することができる。
ホスト2100は、メモリカード2200にデータを書き込むか、又は、メモリカード2200に格納されたデータを読み出す。
ホストコントローラ2110は、コマンド(例えば、書き込みコマンド)、ホスト2100内のクロック発生器(図示しない)で発生したクロック信号CLK、そして、データDATをホスト接続ユニット2120を通じてメモリカード2200に伝送する。
カードコントローラ2220は、カード接続ユニット2210を通じて受信された書き込みコマンドに応答して、カードコントローラ2220内にあるクロック発生器(図示しない)で発生したクロック信号に同期して、データをメモリ2230に格納する。
メモリ2230は、ホスト2100から伝送されたデータを格納する。
例えば、ホスト2100がデジタルカメラの場合には、画像データを格納する。
カードコントローラ2220は、フリーブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決める。
すなわち、カードコントローラ2220は、フリーブロックの数がしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックSBの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、カードコントローラ2220は、書き込みパターンを考慮して、サブブロックSB、又は物理ブロックPBの単位でログブロックやデータブロックを割り当てる。
さらに、カードコントローラ2220は、バッドブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決めることができる。
カード接続ユニット2210は、USB、MMC、PCI−E、SAS、SATA、PATA、SCSI、ESDI、及びIDEなどのような様々なインターフェイスプロトコルのうちの1つを通じて外部(例えば、ホスト)と通信するように構成される。
図16は、フラッシュメモリ装置3120を含むコンピューティングシステム3000を簡略に示すブロック図である。
本発明によるコンピューティングシステム3000は、システムバス3600に電気的に接続された中央処理装置(CPU)3200と、RAM3300と、ユーザインターフェース3400と、ベースバンドチップセット(Baseband chipset)のようなモデム3500と、メモリシステム3100とを含む。
メモリシステム3100は、図14のSSD1200又は図15に示したメモリシステム2000と実質的に同様に構成される。
本発明によるコンピューティングシステム3000がモバイル装置の場合は、コンピューティングシステム3000の動作電圧を供給するためのバッテリ(図示しない)が追加で提供される。
図に示していないが、本発明によるコンピューティングシステム3000には、アプリケーションチップセット(Application chipset)、カメライメージプロセッサ(Camera Image Processor;CIS)、モバイルDRAMなどがさらに提供できることは、この分野の通常の知識を習得した者に自明である。
メモリシステム3100は、例えば、データを格納するために不揮発性メモリを使用するSSD(Solid State Drive/Disk)で構成することができる。
又は、メモリシステム3100は、フュージョンフラッシュメモリ(例えば、OneNANDフラッシュメモリ)で提供することができる。
メモリコントローラ3110は、フリーブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロックやログブロックのサイズを決める。
すなわち、メモリコントローラ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)などのようなパッケージを利用して実装することができる。
尚、本発明は、上述の実施例に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
10 アプリケーションソフトウェア
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. 不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、
    書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、
    前記書き込み要請に応答して前記メモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、
    前記検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、
    前記検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、
    前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする記憶装置のデータ書き込み方法。
  2. 前記検出されたフリーブロックの数がしきい値以上の場合、前記書き込みデータがランダムパターンであるか否かを判断する段階をさらに有することを特徴とする請求項1に記載の記憶装置のデータ書き込み方法。
  3. 不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、
    書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、
    前記書き込み要請に応答して前記メモリセルアレイに含まれる複数のメモリブロックの内からバッドブロックの数を検出する段階と、
    前記検出されたバッドブロックの数がしきい値より大きい場合には、サブブロック単位でログブロックを割り当て、前記検出されたバッドブロックの数がしきい値以下の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、
    前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする記憶装置のデータ書き込み方法。
  4. 前記検出されたバッドブロックの数がしきい値以下の場合、前記書き込みデータがランダムパターンであるか否かを判断する段階をさらに有することを特徴とする請求項3に記載の記憶装置のデータ書き込み方法。
  5. 前記書き込みデータがランダムパターンに対応する場合には、前記サブブロック単位で前記ログブロックを割り当て、前記書き込みデータがランダムパターンに対応しない場合には、前記物理ブロック単位で前記ログブロックを割り当てることを特徴とする請求項2又は4に記載の記憶装置のデータ書き込み方法。
  6. 前記書き込みデータがランダムパターンであるか否かを検出する段階は、前記書き込みデータのアドレスを検出する段階を含むことを特徴とする請求項2又は4に記載の記憶装置のデータ書き込み方法。
  7. 前記書き込みデータのアドレスを検出する段階は、前記アドレスが順次位置方式(in−place−order)であるか否かを判断する段階を含むことを特徴とする請求項6に記載の記憶装置のデータ書き込み方法。
  8. 前記書き込みデータのアドレスを検出する段階は、前記アドレスが非連続であるか否かを判断する段階を含むことを特徴とする請求項6に記載の記憶装置のデータ書き込み方法。
  9. 前記メモリセルアレイは、3次元にメモリセルが積層されることを特徴とする請求項1又は3に記載の記憶装置のデータ書き込み方法。
  10. 前記不揮発性メモリセルは、NAND型フラッシュメモリセルであり、前記物理ブロック単位によって定義される物理ブロックは、少なくとも1つのワードラインに共通接続される複数のストリングが配列された前記NAND型フラッシュメモリセルを含むことを特徴とする請求項1又は3に記載の記憶装置のデータ書き込み方法。
  11. 前記物理ブロックは、前記不揮発性メモリ装置で実行される消去動作の間に消去されることを特徴とする請求項10に記載の記憶装置のデータ書き込み方法。
  12. 前記物理ブロックは、各々のサブブロック単位によって定義される複数のサブブロックを含み、
    各々のサブブロックは、1つのワードラインに共通接続されるNAND型フラッシュメモリセルを含むことを特徴とする請求項10に記載の記憶装置のデータ書き込み方法。
  13. 前記サブブロックの各々は、前記不揮発性メモリ装置で実行される消去動作の間に独立的に消去されることを特徴とする請求項12に記載の記憶装置のデータ書き込み方法。
JP2013116938A 2012-06-01 2013-06-03 記憶装置のデータ書き込み方法 Active JP6134205B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174744A1 (ja) * 2015-04-28 2016-11-03 株式会社日立製作所 不揮発性メモリの制御方法、制御装置、および半導体記憶装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 적응적 머지를 수행하는 메모리 시스템 및 그것의 데이터 쓰기 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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