JP5756335B2 - 半導体メモリ装置のブロック併合方法 - Google Patents

半導体メモリ装置のブロック併合方法 Download PDF

Info

Publication number
JP5756335B2
JP5756335B2 JP2011103615A JP2011103615A JP5756335B2 JP 5756335 B2 JP5756335 B2 JP 5756335B2 JP 2011103615 A JP2011103615 A JP 2011103615A JP 2011103615 A JP2011103615 A JP 2011103615A JP 5756335 B2 JP5756335 B2 JP 5756335B2
Authority
JP
Japan
Prior art keywords
block
program
data
merging
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011103615A
Other languages
English (en)
Other versions
JP2011248873A (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 JP2011248873A publication Critical patent/JP2011248873A/ja
Application granted granted Critical
Publication of JP5756335B2 publication Critical patent/JP5756335B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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/7205Cleaning, compaction, garbage collection, erase control

Description

本発明は、半導体メモリ装置に関し、より詳細には、半導体メモリ装置のブロック併合方法に関する。
半導体メモリ装置は、電源が供給されない状態でデータを保存できるかによって揮発性半導体メモリ装置と不揮発性半導体メモリ装置に分類される。最近、電子機器が低電力化及び小型化されることによって、不揮発性半導体メモリ装置の中でもNANDフラッシュメモリ装置(NAND flash memory device)が広く使われている。このようなNANDフラッシュメモリ装置はプログラム(program)動作をページ(page)単位で遂行する反面、消去(erase)動作をブロック(block)単位で遂行する。
一般的に、NANDフラッシュメモリ装置は、ハードディスクとは異なり、データオーバーライト(overwrite)動作を支援しないので、NANDフラッシュメモリ装置においてのデータ修正は該当ブロック、または、他のブロック内に存在する空き(free)ページに修正されるページデータをプログラムし、これをフラッシュ変換階層(Flash Translation Layer;FTL)にアドレスマッピングする方式からなる。その結果、以前のページデータがプログラムされているページは、無効ページ(invalid page)となり、修正されるページデータがプログラムされているページは有効ページ(valid page)となるので、1つのブロック内には、有効ページと無効ページが並存する。
従って、NANDフラッシュメモリ装置は、色々なブロックに分散されている有効ページを併合し、不必要な無効ページを消去して空きブロックを確保するためのブロック併合動作を遂行できる。しかし、ブロック併合動作の遂行に伴う時間遅延などによって、NANDフラッシュメモリ装置の全般的な性能は非常に低下する。よって、ブロック併合動作を効率的に遂行するためのアルゴリズムに対する研究が活発に進行しているが、NANDフラッシュメモリ装置の性能を根本的に向上させるには限界がある。
特開2005−216434号公報 特開2005−078378号公報 米国特許7,409,473号明細書
本発明の一目的は、ブロック併合動作時のプログラム方式を一般的なプログラム動作時のプログラム方式とは相異なるプログラム方式で設定して、半導体メモリ装置の全般的な性能を向上させることができる半導体メモリ装置のブロック併合方法を提供することにある。
本発明の他の目的は、ブロック併合動作時と一般的なプログラム動作時に、相異なるプログラム方式でプログラムを遂行できる半導体メモリ装置を提供することにある。
ただ、本発明の解決しようとする課題は、前記言及された課題に限定されるのではなく、本発明の思想及び領域から離れない範囲で多様に拡張される。
本発明の一目的を達成するために、本発明の実施形態に係る半導体メモリ装置のブロック併合方法は、複数のデータを第1プログラム方式で少なくとも1つ以上の第1ブロックにプログラム(program)し、前記第1ブロックのうち併合の必要性がある少なくとも1つ以上の併合対象ブロックを選択して、前記第1ブロック、または、少なくとも1つ以上の第2ブロックのうち併合を遂行するための併合遂行ブロックを選択し、前記併合対象ブロックに位置する複数の併合対象データを第2プログラム方式で前記併合遂行ブロックにプログラムすることができる。
実施形態によって、前記半導体メモリ装置のブロック併合方法は、前記併合対象ブロックに位置する前記併合対象データが前記併合遂行ブロックにプログラムされた後、前記併合対象ブロックに位置する前記併合対象データを消去(erase)することができる。
実施形態によって、前記半導体メモリ装置は複数のシングルレベルメモリセル(Single Level memory Cell;SLC)、または、複数のマルチレベルメモリセル(Multi Level memory Cell;MLC)を具備したNANDフラッシュメモリ装置(NAND flash memory device)であってもよい。
実施形態によって、前記データ及び前記併合対象データはページ単位でプログラムされ、ブロック単位で消去される。
実施形態によって、前記第1プログラム方式と前記第2プログラム方式は、相異なる複数のプログラムパラメータ(program parameter)に基づく。
実施形態によって、前記第1プログラム方式は、シャドウプログラム(shadow program)方式であり、前記第2プログラム方式はリプログラム(re program)方式であってもよい。
実施形態によって、前記併合対象データは、前記併合対象ブロックからページバッファ部を経由して、前記併合遂行ブロックにプログラムされる。
実施形態によって、前記第1プログラム方式は、第1増加型ステップパルスを利用するオンチップバッファードプログラム(on chip buffered program)方式であり、前記第2プログラム方式は、第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよい。
実施形態によって、前記併合対象データは、前記併合対象ブロックからページバッファ部及びシングルレベルメモリセルブロックを経由して、前記併合遂行ブロックにプログラムされる。
実施形態によって、前記第1増加型ステップパルスは、前記第2増加型ステップパルスより相対的に低い電圧レベルを有することができる。
実施形態によって、前記第1ブロックは、少なくとも1つ以上のデータブロック(data block)及び少なくとも1つ以上のログブロック(log block)を含むことができる。
実施形態によって、前記第2ブロックは、少なくとも1つ以上の空きブロック(free block)を含むことができる。
実施形態によって、前記併合対象データが前記併合対象ブロックから消去されると、前記併合対象ブロックは前記空きブロックに転換され、前記併合対象データが前記併合遂行ブロックにプログラムされると、前記併合遂行ブロックは前記データブロックに転換される。
本発明の他の目的を達成するために、本発明の実施形態に係る半導体メモリ装置は、複数のメモリセル、複数のワードライン及び複数のビットラインを具備するメモリセルアレイ、半導体メモリ装置の動作モードに基づいて記入ドライバ、または、感知増幅器として動作するページバッファ部、前記動作モードに基づいて前記ワードラインに印加される複数のワードライン電圧を生成する電圧生成器、ロウアドレスに基づいて前記電圧生成器から提供される前記ワードライン電圧を前記ワードラインに印加するロウデコーダ及び前記動作モードによってプログラム方式を転換し、前記ページバッファ部、前記電圧生成器及び前記ロウデコーダを制御するプログラム制御器を含むことができる。
実施形態によって、前記半導体メモリ装置は、複数のシングルレベルメモリセル(Single Level memory Cell;SLC)、または、複数のマルチレベルメモリセル(Multi Level memory Cell;MLC)を具備したNANDフラッシュメモリ装置(NAND flash memory device)であってもよい。
実施形態によって、前記動作モードは、記入動作モード、読み出し動作モード、消去動作モード及びブロック併合動作モードを含むことができる。
実施形態によって、前記プログラム方式は、第1プログラム方式及び第2プログラム方式を含み、前記第1プログラム方式と前記第2プログラム方式は、相異なる複数のプログラムパラメータ(program parameter)に基づく。
実施形態によって、前記記入動作モードにおいて前記第1プログラム方式でプログラムが遂行され、前記ブロック併合動作モードにおいて前記第2プログラム方式でプログラムが遂行される。
実施形態によって、前記第1プログラム方式は、シャドウプログラム(shadow program)方式であり、前記第2プログラム方式はリプログラム(re program)方式であってもよい。
実施形態によって、前記第1プログラム方式は、相対的に低い電圧レベルの第1増加型ステップパルスを利用するオンチップバッファードプログラム(on chip buffered program)方式であり、前記第2プログラム方式は、相対的に高い電圧レベルの第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよい。
本発明の実施形態に係る半導体メモリ装置のブロック併合方法は、半導体メモリ装置をしてブロック併合動作時と一般的なプログラム動作時に相異なるプログラム方式でプログラムを遂行することによって、不揮発性メモリセルの敷居電圧分布(distribution)を改善し、半導体メモリ装置の動作速度を速くすることができる。
本発明の実施形態に係る半導体メモリ装置は、ブロック併合動作時と一般的なプログラム動作時に、相異なるプログラム方式でプログラムを遂行することによって、不揮発性メモリセルの敷居電圧分布を改善し、速い動作速度を確保することができる。従って、半導体メモリ装置の全般的な性能は向上される。
ただ、本発明の効果は前記言及した効果に限定されるのではなく、本発明の思想及び領域から離れない範囲で多様に拡張される。
本発明の実施形態に係る半導体メモリ装置のブロック併合方法を示したフローチャートである。 図1のブロック併合方法を説明するための半導体メモリ装置のブロックを示した図面である。 図1のブロック併合方法によって遂行されるブロック併合形態の一例を示した図面である。 図1のブロック併合方法によって遂行されるブロック併合形態の他の例を示した図面である。 図1のブロック併合方法によって遂行されるブロック併合形態のまた他の例を示した図面である。 図1のブロック併合方法において、併合対象データが併合対象ブロックから併合遂行ブロックにプログラムされる併合過程の一例を示したフローチャートである。 図6の併合過程を説明するための図面である。 図1のブロック併合方法において、一般的なプログラム動作がシャドウプログラム方式で遂行される一例を示したフローチャートである。 図8のシャドウプログラム方式を説明するための図面である。 図1のブロック併合方法において、ブロック併合動作がリプログラム方式で遂行される一例を示したフローチャートである。 図10のリプログラム方式を説明するための図面である。 図1のブロック併合方法において、併合対象データが併合対象ブロックから併合遂行ブロックにプログラムされる併合過程の他の例を示すフローチャートである。 図12の併合過程を説明するための図面である。 本発明の実施形態に係る半導体メモリ装置を示したブロック図である。 図14の半導体メモリ装置に具備されるメモリセルアレイの一例を示した図面である。 図14の半導体メモリ装置を含むメモリシステムを示したブロック図である。 図16のメモリシステムが動作するソフトウェア構造を示したブロック図である。 図16のメモリシステムが具現される一例を示したブロック図である。 図16のメモリシステムが具現される他の例を示すブロック図である。 図16のメモリシステムが具現されるまた他の例を示したブロック図である。 図16のメモリシステムを含むコンピューティングシステムを示したブロック図である。
本明細書で開示する本発明の実施形態に対して、特定の構造的又は機能的説明は単に本発明の実施形態を説明するための目的で例示したものであり、本発明の実施形態は多様な形態で実施され、本明細書で説明した実施形態に限定されるものと解釈してはならない。
本発明は、多様な変更を加えることができ、様々な形態を有することができるが、特定の実施形態を図面に例示して本明細書で詳細に説明する。しかし、これは本発明を特定の開示形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物、或いは代替物を含むものとして理解せねばならない。
第1、第2などの用語は多様な構成要素を説明するために使用することができるが、これらの構成要素は用語によって限定されてはならない。用語は1つの構成要素を他の構成要素から区別する目的として使用することができる。例えば、本発明の権利範囲から逸脱せずに第1構成要素は第2構成要素と命名することができ、同様に第2構成要素も第1構成要素と命名することができる。
ある構成要素が他の構成要素に「接続され」る、又は「接続されて」いると言及した場合には、その他の構成要素に直接的に接続されたり、又は接続されていたりすることもあるが、中間に他の構成要素が存在することもあると理解すべきである。反面、ある構成要素が他の構成要素に「直接接続され」る、又は「直接接続されて」いると言及した場合には、中間に他の構成要素が存在しないことと理解すべきである。構成要素の間の関係を説明する他の表現、即ち「〜間に」と「すぐに〜間に」、又は「〜に隣接する」と「〜に直接隣接する」等も同じように解釈すべきである。
本明細書で使用する用語は単に特定の実施形態を説明するために使用するものであり、本発明を限定しようとする意図ではない。単数の表現は文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、段階、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを指定しようとするものであって、1つ又はそれ以上の他の特徴や数字、段階、動作、構成要素、部品、又はこれらを組み合わせたものなどの存在、又は付加の可能性を、予め排除しないことと理解すべきである。
特に定義しない限り、技術的或いは科学的用語を含み、ここで使用する全ての用語は、本発明が属する技術分野で通常の知識を有する者であれば、一般的に理解されることと同一な意味を有する。一般的に使用される辞書において定義する用語と同じ用語は関連技術の文脈上に有する意味と一致する意味を有することと理解すべきであり、本明細書において明白に定義しない限り、理想的或いは形式的な意味として解釈してはならない。
以下、添付の図面を参照して、本発明の望ましい実施形態をより詳細に説明する。図面上の同一な構成要素については、同一な参照符号を使用して同一な構成要素について重複された説明は省略する。
図1は、本発明の実施形態に係る半導体メモリ装置のブロック併合方法を示すフローチャートである。
図1を参照すると、半導体メモリ装置のブロック併合方法は、複数のデータを第1プログラム方式で少なくとも1つ以上の第1ブロックにプログラム(Step S110)し、第1ブロックのうち併合の必要性がある少なくとも1つ以上の併合対象ブロックを選択(Step S120)して、第1ブロック、または、少なくとも1つ以上の第2ブロックのうち併合を遂行するための併合遂行ブロックを選択(Step S130)することができる。以後、半導体メモリ装置のブロック併合方法は、併合対象ブロックに位置する複数の併合対象データを第2プログラム方式で併合遂行ブロックにプログラム(Step S140)し、複数の併合対象データが併合遂行ブロックにプログラムされた後、併合対象ブロックに位置する併合対象データを消去(Step S150)することができる。
一般的に、NANDフラッシュメモリ装置は、ハードディスクドライブ(hard disk drive)装置等と異なり、データのオーバーライト(overwrite)が不可能であるため、メモリセルにプログラムされているデータを直接修正したり、変更することができない。従って、NANDフラッシュメモリ装置は、データの修正及び変更の際に、メモリセルにプログラムされているデータを消去することによって、メモリセルをプログラムできる初期状態とし、修正されたり、変更されるデータを、再度メモリセルにプログラムしなければならない。これを、いわゆる、プログラム前消去動作(erase before program operation)という。しかし、NANDフラッシュメモリ装置においては、プログラム動作及び読み出し動作がページ(page)単位で遂行される反面、消去動作はブロック(block)単位で遂行されるので、1つのブロックに位置する一部のデータを修正したり、変更するために、前記ブロックに対して、プログラム前消去動作を遂行するのは効率的ではない。
このような限界を克服するために、NANDフラッシュメモリ装置は、論理的にブロックをデータブロック(data block)、ログブロック(log block)及び空きブロック(free block)に区分することによって、プログラム動作、読み出し動作、消去動作及びブロック併合動作を遂行できる。例えば、NANDフラッシュメモリ装置は、データをデータブロックにプログラムし、修正されたり、変更されるデータをログブロックにプログラムして、フラッシュ変換階層(Flash Translation Layer;FTL)にアドレスマッピングを遂行することによって、データを管理することができる。このように、フラッシュ変換階層は、ユーザーがNANDフラッシュメモリ装置をハードディスクドライブ装置のように使用できるようにする。例えば、フラッシュ変換階層は、アドレスマッピング(address mapping)、ブロック併合(block merge)、パワードロップ管理(power drop management)、バッドブロック管理(bad block management)及びウェアレベリング(wear leveling)等を遂行できる。以下、メモリシステムがデータを処理することにおいて、論理的アドレス(logical address)を物理的アドレス(physical address)に変換するように管理するアドレスマッピング及びデータブロックとログブロックにおいて、有効なデータを抽出して保存し、有効でないデータを除去することによって、空きブロックを確保するためのブロック併合を中心として説明する。
NANDフラッシュメモリ装置において、ページ単位のデータ(以下、ページデータ)がデータブロックにプログラムされ、修正されたり、変更されるページデータは、ログブロックにプログラムされるので、1つのブロック内には有効なページデータを含む有効ページ(valid page)と有効でないページデータを含む無効ページ(invalid page)が並存することができる。従って、NANDフラッシュメモリ装置は、フラッシュ変換階層を利用してブロック併合動作を遂行することによって、色々なブロックに分散している有効ページを併合し、不必要な無効ページを消去することができる。その結果、プログラムできる初期状態の空きページ(free page)のみ含む空きブロックが確保される。例えば、NANDフラッシュメモリ装置は、データブロック及びこれに係るログブロックにおいて、有効ページを1つの空きブロックに移動させ新しいデータブロックを生成し、以前データブロック及び以前ログブロックを空きブロックに転換させることができる。
NANDフラッシュメモリ装置において、このようなブロック併合動作が遂行される時、併合対象ブロック(即ち、併合の必要性があるデータブロック及びこれに係るログブロック)内にある有効ページは複数のページバッファで構成されたページバッファ部を経て、併合遂行ブロック(即ち、併合を遂行するために選択されたブロック)にプログラムされる。しかし、従来のNANDフラッシュメモリ装置は、ブロック併合動作を遂行する時、一般的なプログラム動作時のプログラム方式とブロック併合動作時のプログラム方式を同一にさせて、一般的なプログラム動作とブロック併合動作に起因するそれぞれの特殊な環境及び条件をまともに反映できない問題点がある。このような問題点を解決するために、半導体メモリ装置のブロック併合方法は、一般的なプログラム動作とブロック併合動作に起因するそれぞれの特殊な環境及び条件に基づいて、一般的なプログラム動作時のプログラム方式とブロック併合動作時のプログラム方式を相異なるように設定することができる。例えば、増加型ステップパルスプログラム(Incremental Step Pulse Program;ISPP)条件、検証リード電圧(verify read level)及びセンシングスキーム(sensning scheme)等のようなプログラムパラメータを相異なるように設定することができる。以下、半導体メモリ装置のブロック併合方法に対して具体的に説明する。
複数のデータが第1プログラム方式で少なくとも1つ以上の第1ブロックにプログラム(Step S110)される。この時、第1ブロックは、複数の空きページを含み、ページデータがページ単位で第1ブロックにプログラムされる。第1プログラム方式は、一般的なプログラム動作時のプログラム方式を意味する。一実施形態において、第1ブロックは少なくとも1つ以上のデータブロック及び少なくとも1つ以上のログブロックを含むことができる。例えば、NANDフラッシュメモリ装置が新しいページデータを第1ブロックにプログラムする場合には、第1ブロックは少なくとも1つ以上のデータブロックであってもよく、NANDフラッシュメモリ装置が修正されたり、変更されるページデータを第1ブロックにプログラムする場合には、第1ブロックは少なくとも1つ以上のログブロックであってもよい。
NANDフラッシュメモリ装置がブロック併合動作を遂行する必要がある時、第1ブロック(即ち、データブロック及びこれに係るログブロック)のうち併合の必要性がある少なくとも1つ以上の併合対象ブロックが選択(Step S120)される。一実施形態において、NANDフラッシュメモリ装置は、有効ページ及び無効ページを含むデータブロックと有効ページ及び/または、無効ページを含むログブロックを併合の必要性がある少なくとも1つ以上の併合対象ブロックで選択することができる。上述した通り、NANDフラッシュメモリ装置は、新しいページデータをデータブロックにプログラムすると、修正されたり、変更されるページデータをログブロックにプログラムするので、1つのブロック内には有効ページと無効ページが並存することができる。従って、少なくとも1つ以上の併合対象ブロックは有効ページ及び無効ページが並存するデータブロック及びこれに係るログブロックの中から選択される。
少なくとも1つ以上の併合対象ブロックが選択されると、少なくとも1つ以上の第1ブロック、または、少なくとも1つ以上の第2ブロック併合を遂行するための併合遂行ブロックが選択される。一実施形態において、第1ブロックは少なくとも1つ以上のデータブロック及び少なくとも1つ以上のログブロックを含み、第2ブロックは少なくとも1つ以上の空きブロックを含むことができる。即ち、併合遂行ブロックは、少なくとも1つ以上のデータブロック及び少なくとも1つ以上のログブロックに相応する第1ブロック、または、少なくとも1つ以上の空きブロックに相応する第2ブロックの中で選択される。例えば、NANDフラッシュメモリ装置のブロック併合動作が交換併合(switch merge)形態や複写併合(copy merge)形態で遂行される場合には、併合遂行ブロックは、少なくとも1つ以上のデータブロック及び少なくとも1つ以上のログブロックに相応する第1ブロックのうち選択されることができ、NANDフラッシュメモリ装置のブロック併合動作が完全併合(full merge)形態で遂行される場合には、併合遂行ブロックは、少なくとも1つ以上の空きブロックに相応する第2ブロックの中で選択される。
以後、併合対象ブロックに位置する複数の併合対象データが第2プログラム方式で併合遂行ブロックにプログラム(Step S140)される。この時、併合遂行ブロックは、複数の空きページを含み、このような併合対象データがページ単位で併合遂行ブロックにプログラムされる。第2プログラム方式は、ブロック併合動作時のプログラム方式を意味する。一実施形態において、併合対象ブロックに位置する併合対象データが併合遂行ブロックにプログラムされるために、併合対象データは併合対象ブロックからページバッファ部を経由して併合遂行ブロックにプログラムされる。他の実施形態において、併合対象ブロックに位置する併合対象データが併合遂行ブロックにプログラムされるために、併合対象データは併合対象ブロックからページバッファ部及びシングルレベルメモリセルブロックを経由して、併合遂行ブロックにプログラムされる。これについては詳しく後述する。
このように、半導体メモリ装置のブロック併合方法は、一般的なプログラム動作時のプログラム方式とブロック併合動作時のプログラム方式を相異なるように設定することによって、メモリセルの敷居電圧分布を改善し、半導体メモリ装置の動作速度を速くすることができる。この時、一般的なプログラム動作時の第1プログラム方式とブロック併合動作時の第2プログラム方式は、相異なるプログラムパラメータに基づく。一実施形態において、第1プログラム方式は、シャドウプログラム(shadow program)方式で設定され、第2プログラム方式はリプログラム(re program)方式で設定される。他の実施形態において、第1プログラム方式は、相対的に低い電圧レベルの第1増加型ステップパルスを利用するオンチップバッファードプログラム(on chip buffered program)方式で設定され、第2プログラム方式は相対的に高い電圧レベルの第2増加型ステップパルスを利用するオンチップバッファードプログラム方式で設定される。このようなプログラム方式の設定は、プログラムパラメータを変更することからなる。
一方、併合対象データが併合遂行ブロックにプログラムされた後、併合対象ブロックに位置する併合対象データは消去される。即ち、併合対象ブロックに位置する有効ページが併合遂行ブロックにプログラムされることによって、新しいデータブロックを生成したので、NANDフラッシュメモリ装置は、以前データブロック及び/または、以前ログブロックの併合対象ブロックに位置する併合対象データを消去することによって、このような併合対象ブロックを空きブロックに転換させることができる。上述した通り、NANDフラッシュメモリ装置の消去動作は、ブロック単位で遂行される。その結果、併合対象ブロックは、それぞれ全体(即ち、ブロック単位)として消去されて空きブロックに転換される。このように、半導体メモリ装置のブロック併合方法は半導体メモリ装置、即ち、NANDフラッシュメモリ装置とし、十分な空きブロックを確保することによって、半導体メモリ装置の全般的な性能を向上させることができる。
図2は図1のブロック併合方法を説明するための半導体メモリ装置のブロックを示す図面である。
図2を参照すると、半導体メモリ装置のブロックはデータブロック10、ログブロック20及び空きブロック30を含むことができる。ただ、データブロック10、ログブロック20及び空きブロック30は、メモリセルアレイにおいて物理的に区分されるのではなく、論理的に区分される。実施形態によって、半導体メモリ装置のブロックは、ブロック併合動作によって変更されるアドレスマッピング情報を保存するためのメタブロックをさらに含むことができる。
半導体メモリ装置は、複数のページを含む複数のブロックで構成されたメモリセルアレイを含むことができる。上述した通り、ページはNANDフラッシュメモリ装置において、読み出し動作及びプログラム動作の基本単位として、それぞれのデータ領域(data region)とスペア領域(spare region)とを含むことができる。一実施形態において、データ領域にはページデータが保存され、スペア領域には論理ページのオフセットが保存されることができる。ブロックは、NANDフラッシュメモリ装置において、消去動作の基本単位として、データブロック10、ログブロック20及び空きブロック30に区分されることができる。この時、データブロック10は、ページデータがプログラムされているブロックを意味し、ログブロック20は、修正されたり、変更されたページデータが保存されているブロックを意味し、空きブロック30は、ページデータがプログラムされていないプログラムできる状態のブロックを意味する。即ち、データブロック10は、ページデータをプログラムするために、割当されるブロックであり、ログブロック20は修正されたり、変更されるページデータをプログラムするために割当されるブロック等であり、空きブロック30は状況によってデータブロック10、または、ログブロック20に転換されるブロックである。一般的に、ログブロック20のページは、データブロック10のページよりアップデートされたページデータがプログラムされているので、ログブロック20のページはデータブロック10のページより優先的に参照される。一実施形態において、1つのログブロック20は、1つのデータブロック10に関係する。
上述した通り、データブロック10とログブロック20は内部に有効ページと無効ページとを含むことができる。即ち、NANDフラッシュメモリ装置において、新しいページデータはデータブロック10にプログラムされ、修正されたり、変更されるページデータはログブロック20にプログラムされるので、データブロック10とログブロック20には有効ページと無効ページとが並存することができる。例えば、ログブロック20の一部のページがデータブロック10の一部のページより優先的に参照される場合、ログブロック20の一部のページは有効ページに判断され、データブロック10の一部のページは無視されるので、無効ページに判断される。また、ログブロック20内においても、ページデータがアップデートされるので、ログブロック20の一部のページがログブロック20の他の一部のページより優先的に参照される場合、ログブロック20の一部のページは有効ページに判断され、ログブロック20の他の一部のページは無視されるので、無効ページに判断される。一方、ブロックは半導体メモリ装置のメモリセルアレイで論理的にデータブロック10、ログブロック20及び空きブロック30に区分されるので、物理的には相互連続的、または、非連続的に存在する。
図3は図1のブロック併合方法によって遂行されるブロック併合形態の一例を示す図面である。
図3を参照すると、図1のブロック併合方法によって、遂行される交換併合が示されている。ここで、IPは無効ページを示し、VPは有効ページを示し、FPは空きページを示す。また、0から3までの数字は論理ページのオフセットを示し、各ブロックの物理ページはよっつに示されている。一般的に、交換併合は以前データブロックに無効ページIPだけが含まれていて、以前ログブロックに含まれた有効ページVPの個数が以前ログブロックの物理ページの個数と同じ場合に遂行される。このような交換併合においては、以前ログブロックがアドレスマッピング情報が更新されることによって、新しいデータブロックに転換される。また、以前データブロックから無効ページIPが消去されることによって、以前データブロックが新しい空きブロックに転換される。一実施形態において、交換併合は以前ログブロックが新しいデータブロックに転換時にアドレスマッピング情報だけを更新する方式からなる。この場合に、以前ログブロックの有効ページVPが新しくプログラムされるのではないので、新しいデータブロックの有効ページVPの順序は、以前ログブロックの有効ページVPの順序と同一(例えば、3−0−1−2)であってもよい。他の実施形態において、交換併合は、以前ログブロックが新しいデータブロックに転換する際に、以前ログブロックの有効ページVPが選択された空きブロックに新しくプログラムされる方式からなる。この場合に、新しいデータブロックの有効ページVPの順序は、以前ログブロックの有効ページVPが整列する順序(例えば、0−1−2−3)で決定される。この時、図1のブロック併合方法は、以前ログブロックの有効ページVPを選択された空きブロックに新しくプログラムする時、一般的なプログラム動作時の第1プログラム方式とは相異なる第2プログラム方式でプログラムすることができる。
図4は図1のブロック併合方法によって遂行されるブロック併合形態の他の例を示す図面である。
図4を参照すると、図1のブロック併合方法によって遂行される複写併合が示されている。同じく、IPは無効ページを示し、VPは有効ページを示し、FPは空きページを示す。また、0から3までの数字は論理ページのオフセットを示し、各ブロックの物理ページはよっつに示されている。一般的に、複写併合は以前データブロックに有効ページVPと無効ページIPが並存し、以前ログブロックにおいて、有効ページVPの個数が以前ログブロックの物理ページの個数と同一でない場合に遂行される。このような複写併合においては、以前データブロックの有効ページVPが以前ログブロックの空きページFPに複写された後、以前ログブロックが新しいデータブロックに転換される。また、以前データブロックにおいて、有効ページVP及び無効ページIPが消去されることによって、以前データブロックが新しい空きブロックに転換される。一実施形態において、複写併合は以前ログブロックが新しいデータブロックに転換される以前に、以前データブロックの有効ページVPが以前ログブロックに新しくプログラムされる方式からなる。この場合に、新しいデータブロックの有効ページVPの順序は、以前ログブロックの有効ページVPに次いで、以前データブロックの有効ページVPが次ぐ順序(例えば、2−0−1−3)で決定されることができる。この時、図1のブロック併合方法は、以前データブロックの有効ページVPを以前ログブロックに新しくプログラムする時、一般的なプログラム動作時の第1プログラム方式とは相異なる第2プログラム方式でプログラムすることができる。
図5は図1のブロック併合方法によって遂行されるブロック併合形態のまた他の例を示す図面である。
図5を参照すると、図1のブロック併合方法によって遂行される完全併合が示されている。同じく、IPは無効ページを示し、VPは有効ページを示し、FPは空きページを示す。また、0から3までの数字は論理ページのオフセットを示し、各ブロックの物理ページはよっつに示されている。一般的に、完全併合は以前データブロックに有効ページVPと無効ページIPが並存し、以前ログブロックにも有効ページVPと無効ページIPが並存する場合に遂行される。このような完全併合においては、以前データブロックの有効ページVP及び以前ログブロックの有効ページVPが選択された空きブロックの空きページFPに複写された後、選択された空きブロックが新しいデータブロックに転換される。また、以前データブロック及び以前ログブロックで有効ページVP及び無効ページIPが消去されることによって、以前データブロック及び以前ログブロックが新しい空きブロックに転換される。一実施形態において、完全併合は選択された空きブロックが新しいデータブロックに転換される以前に、以前データブロック及び以前ログブロックの有効ページVPが選択された空きブロックに新しくプログラムされる方式からなる。この場合に、新しいデータブロックの有効ページVPの順序は、以前ログブロック及び以前データブロックの有効ページVPが整列する順序(例えば、0−1−2−3)で決定される。この時、図1のブロック併合方法は、以前ログブロック及び以前データブロックの有効ページVPを選択された空きブロックに新しくプログラムする時、一般的なプログラム動作時の第1プログラム方式とは相異なる第2プログラム方式でプログラムすることができる。
図6は図1のブロック併合方法において、併合対象データが併合対象ブロックから併合遂行ブロックにプログラムされる併合過程の一例を示すフローチャートである。
図6を参照すると、図1のブロック併合方法は併合対象ブロックに位置する併合対象データを併合遂行ブロックに併合するために、併合対象データを併合対象ブロックからページバッファ部を経由して、併合遂行ブロックにプログラムすることができる。具体的に、図1のブロック併合方法は併合対象データを併合対象ブロックからページバッファ部にローディング(Step S141)した後、ページバッファ部にローディングされた併合対象データを併合遂行ブロックにプログラム(Step S142)することができる。
NANDフラッシュメモリ装置は、複数のシングルレベルメモリセルSLC、または、複数のマルチレベルメモリセルMLCを具備するメモリセルアレイ及びNANDフラッシュメモリ装置の動作モードに基づいて、メモリセルアレイに対する記入ドライバ、または、感知増幅器として動作するページバッファ部を含むことができる。このようなページバッファ部は複数のページバッファで構成される。図1のブロック併合方法によると、併合対象データは、併合対象ブロックからページバッファ部にローディング(Step S141)される。この時、ページバッファ部は、メモリセルアレイに対する感知増幅器として動作し、併合対象データを併合対象ブロックから読み出しして内部のページバッファにローディングする。以後、ページバッファ部にローディングされた併合対象データが併合遂行ブロックにプログラム(Step S142)される。この時、ページバッファ部はメモリセルアレイに対する記入ドライバとして動作し、ロウデコーダが電圧生成器から出力されるワードライン電圧(例えば、プログラム電圧及びパス電圧)をワードラインに印加すると、ローディングされた併合対象データを併合遂行ブロックにプログラムする。一実施形態において、メモリセルアレイに含まれるメモリセルがマルチレベルメモリセルMLCの場合、図1のブロック併合方法は、増加型ステップパルスプログラム方式を採用した第2プログラム方式に基づいて遂行される。
上述した通り、図1のブロック併合方法は、外部から入力されるページデータをページバッファ部にローディングし、ローディングされたページデータをページバッファ部から対象ブロックにプログラムする半導体メモリ装置の一般的なプログラム動作で第1プログラム方式を利用し、併合対象ブロックから併合対象データをページバッファ部にローディングし、ローディングされた併合対象データをページバッファ部から併合遂行ブロックにプログラムするブロック併合動作で第1プログラム方式とは相異なる第2プログラム方式を利用することができる。この時、第1プログラム方式と第2プログラム方式の選択は、増加型ステップパルスプログラム条件、検証リード電圧、センシングスキームなどのようなプログラムパラメータを相異なるように設定する形態からなる。一実施形態において、第1プログラム方式はシャドウプログラム方式であり、第2プログラム方式はリプログラム方式であってもよい。このように、図1のブロック併合方法は、一般的なプログラム動作時とブロック併合動作時にそれぞれの特殊な環境及び条件によって、相異なるプログラムパラメータを利用してプログラムを遂行できる。
図7は図6の併合過程を説明するための図面である。
図7を参照すると、NANDフラッシュメモリ装置は第1〜第mブロックBLOCK(1)、...、BLOCK(m)で構成されたメモリセルアレイ120及びページバッファ部140を含むことができる。説明の便宜上、NANDフラッシュメモリ装置の他の構成要素は図示を省略した。メモリセルアレイ120の第1〜第mブロックBLOCK(1)、...、BLOCK(m)はそれぞれの複数の物理ページを含み、ページバッファ部140はページデータDATA及び修正されたり、変更されるアップデートページデータUPDATAをローディングするための複数のページバッファを含むことができる。この時、メモリセルアレイ120の第1〜第mブロックBLOCK(1)、...、BLOCK(m)は、フラッシュ変換階層FTLによって、データブロック、ログブロック及び空きブロックに定義される。
NANDフラッシュメモリ装置の一般的なプログラム動作においては、外部からページ単位のデータ、即ち、ページデータDATAが入力されると、このようなページデータDATAは、ページバッファ部140内のページバッファにローディングPTAされた後、メモリセルアレイ120の第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中から選択されたデータブロック(例えば、BLOCK(m−1))に第1プログラム方式でプログラムPTBされる。前記プログラム過程によって、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中でページデータDATAが保存されているブロックはデータブロックに定義される。さらに、外部からアップデートページデータUPDATAが入力されると、このようなアップデートページデータUPDATAもページバッファ部140内のページバッファにローディングPTAされた後、メモリセルアレイ120の第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中で選択されたログブロック内に第1プログラム方式でプログラムPTBされる。前記プログラム過程によって、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中でアップデートページデータUPDATAが保存されているブロックは、ログブロックに定義される。一方、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中でページデータDATA及びアップデートページデータUPDATAが保存されていないブロックは空きブロックに定義される。
上述した通り、1つのデータブロック内でページデータDATAのうち一部がアップデートページデータUPDATAによって修正されたり、変更されても、NANDフラッシュメモリ装置がオーバーライト(overwrite)機能を提供しないので、それらは該当データブロックから消去されない。即ち、ページデータDATAのうちアップデートページデータUPDATAによって修正したり、変更される一部は参照されないので、無効ページに定義され、ページデータDATAのうちアップデートページデータUPDATAによって修正したり、変更されない他の一部は参照されるので、有効ページに定義される。従って、1つのデータブロック内には有効ページと無効ページが並存することができる。同じく、アップデートページデータUPDATAの中でも他のアップデートページデータUPDATAによって修正したり、変更される一部は参照されないので、無効ページに定義され、アップデートページデータUPDATAの中で他のアップデートページデータUPDATAによって修正したり、変更されない他の一部は参照されるので、有効ページに定義される。従って、1つのログブロック内でも有効ページと無効ページが並存することができる。
NANDフラッシュメモリ装置は、色々なブロック(即ち、データブロック及び/または、これと関係するログブロック)に分散されている有効ページを併合し、不必要な無効ページを消去して空きブロックを確保するためのブロック併合動作を周期的、または、非周期的に遂行できる。このようなブロック併合動作においては、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中で併合対象ブロック(例えば、BLOCK(m−1))に選択されたデータブロック及び/または、これと関係するログブロックからページデータDATA及びアップデートページデータUPDATAがページバッファ部140内のページバッファにローディングMTAされた後、第1〜第mブロックBLOCK(1)、...、BLOCK(m)で選択された併合遂行ブロック(例えば、BLOCK(n))に第2プグラム方式でプログラムMTBされる。この時、ブロック併合動作時の第2プログラム方式は、一般的なプログラム動作時の第1プログラム方式とは相異なるプログラムパラメータに基づいて決定される。一実施形態において、第1プログラム方式はシャドウプログラム方式であり、第2プログラム方式はリプログラム方式であってもよい。
図8は図1のブロック併合方法において、一般的なプログラム動作がシャドウプログラム方式で遂行される一例を示したフローチャートである。
図8を参照すると、シャドウプログラム方式は、マルチレベルメモリセルに対してLSB(least significant bit)プログラムを遂行(Step S210)した後に、マルチレベルメモリセルに対してMSB(most significant bit)プログラムを遂行(Step S220)することができる。
従来には1つのメモリセルにつき、1つのビットを保存(即ち、SLC方式)したが、最近では1つのメモリセルにつき、複数のビットを保存(即ち、MLC方式)することによって、NANDフラッシュメモリ装置は小型化及び高集的化を達成している。一般的に、1つのマルチレベルメモリセルにNビットが保存される場合、マルチレベルメモリセルは、それぞれ2^N 個に細分化された敷居電圧の状態の中で1つの敷居電圧状態を有することができる。例えば、1つのマルチレベルメモリセルに2ビットが保存されると、マルチレベルメモリセルは、それぞれよっつに細分化された敷居電圧状態で、1つの敷居電圧状態を有することができ、マルチレベルメモリセルが有せる敷居電圧状態は低い状態から「11」、「10」、「01」及び「00」ビット値に相応することができる。即ち、「00」のビット値に相応する敷居電圧状態を有するマルチレベルメモリセルは、最も高い敷居電圧でプログラムされたマルチレベルメモリセルであり、「11」のビット値に相応する敷居電圧状態を有するマルチレベルメモリセルは、消去されたまま残っているマルチレベルメモリセルであってもよい。
図1のブロック併合方法は、NANDフラッシュメモリ装置の一般的なプログラム動作において、マルチレベルメモリセルにページデータをプログラムするために、シャドウプログラム方式を第1プログラム方式で設定することができる。シャドウプログラム方式はマルチレベルメモリセルに対してLSBプログラムを先に遂行した後に、マルチレベルメモリセルに対してMSBプログラムを遂行できる。具体的に、シャドウプログラム方式はLSBプログラムを遂行することによって、マルチレベルメモリセルをそれぞれNビットに相応する以前敷居電圧状態のうち1つの敷居電圧状態を有するようにして、Nビットに相応する以前敷居電圧状態に基づいて、MSBプログラムを遂行することによってマルチレベルメモリセルをそれぞれN+1ビットに相応する最終敷居電圧状態の中で1つの敷居電圧状態を有するようにすることができる。一般的に、シャドウプログラム方式は安定した敷居電圧分布を形成し、NANDフラッシュメモリ装置の一般的なプログラム動作に適用されることができる。
図9は図8のシャドウプログラム方式を説明するための図面である。
図9を参照すると、シャドウプログラム方式によってマルチレベルメモリセルは8個の最終敷居電圧状態S1、...、S8のうち1つの敷居電圧状態を有するように、それぞれプログラムされる。 この時、第1最終敷居電圧状態S1は、最も高い敷居電圧でプログラムされたマルチレベルメモリセルが有する敷居電圧状態を示し、第8最終敷居電圧状態S8は、プログラムされない、即ち、消去状態のまま残っているマルチレベルメモリセルが有する敷居電圧状態を示す。図9においては、マルチレベルメモリセルに3ビットのデータがプログラムされることとして示されているが、それに限定されるものではない。
図1のブロック併合方法はNANDフラッシュメモリ装置の一般的なプログラム動作において、シャドウプログラム方式を第1プログラム方式で設定することができる。まず、シャドウプログラム方式は、LSBプログラムを遂行することによって、マルチレベルメモリセルをそれぞれよっつの以前敷居電圧状態(PS1、...、PS4)のうち1つの敷居電圧状態を有するように作ることができる。 この時、LSBプログラムの遂行は、増加型ステップパルスプログラム方式に基づいて、プログラム及び検証を繰り返す方式からなされるが、LSBプログラムの遂行時の検証は、第1〜第3LSB検証電圧VL1、...、VL3に基づいて形成される。以後、シャドウプログラム方式は、よっつの以前敷居電圧状態PS1、...、PS4に基づいて、MSBプログラムを遂行することによって、マルチレベルメモリセルをそれぞれ8個の最終敷居電圧状態S1、...、S8のうち1つの敷居電圧状態を有するように作ることができる。この時、MSBプログラムの遂行も増加型ステップパルスプログラム方式に基づいて、プログラム及び検証を繰り返す方式からなり、MSBプログラムの遂行時検証は第1〜第7MSB検証電圧VM1、...、VM7に基づいてなることができる。
図10は図1のブロック併合方法において、ブロック併合動作がリプログラム方式で遂行される一例を示したフローチャートである。
図10を参照すると、リプログラム方式はマルチレベルメモリセルに対してプリプログラムを遂行(Step S310)した後に、マルチレベルメモリセルに対して再プログラム(Step S320)を遂行することができる。
図1のブロック併合方法は、NANDフラッシュメモリ装置のブロック併合動作において、マルチレベルメモリセルにページデータをプログラムするために、リプログラム方式を第2プログラム方式で設定することができる。リプログラム方式は、マルチレベルメモリセルに対してプリプログラムを遂行した後に、マルチレベルメモリセルに対して再プログラムを遂行することができる。具体的に、リプログラム方式はプリプログラムを遂行することによって、マルチレベルメモリセルが粗い敷居電圧分布を有するように作り、このような粗い敷居電圧分布に基づいて再プログラムを遂行することによって、マルチレベルメモリセルが微細敷居電圧分布を有するように作ることができる。その結果、マルチレベルメモリセルが有する敷居電圧状態が相互重ならないので、マルチレベルメモリセルに保存されたビット値は相互明確に区分される。一般的に、リプログラム方式は、速度が速くてNANDフラッシュメモリ装置のブロック併合動作に適用される。
図11は、図10のリプログラム方式を説明するための図面である。
図11を参照すると、リプログラム方式によって、マルチレベルメモリセルは8個の最終敷居電圧状態S1、...、S8のうち1つの敷居電圧状態を有するようにそれぞれプログラムされる。この時、第1最終敷居電圧状態S1は最も高い敷居電圧でプログラムされたマルチレベルメモリセルが有する敷居電圧状態を示し、第8最終敷居電圧状態S8はプログラムされない、即ち、消去状態されたまま残っているマルチレベルメモリセルが有する敷居電圧状態を示す。図11においては、マルチレベルメモリセルに3ビットのデータがプログラムされることとして示されているが、それに限定されるものではない。
図1のブロック併合方法は、NANDフラッシュメモリ装置のブロック併合動作においてリプログラム方式を第2プログラム方式で設定することができる。まず、リプログラム方式は相対的に低い第1〜第7プリ検証電圧VP1、...、VP7に基づいて、プリプログラムを遂行することによって、マルチレベルメモリセルをそれぞれ8個の以前敷居電圧状態PS1、...、PS7のうち1つの敷居電圧状態を有するように作ることができる。この時、プリプログラムの遂行は、増加型ステップパルスプログラム方式に基づいてプログラム及び検証を繰り返す方式からなる。以後、リプログラム方式は、相対的に高い第1〜第7最終検証電圧VR1、...、VR7に基づいて、再プログラムを遂行することによってマルチレベルメモリセルをそれぞれ8個の最終敷居電圧状態S1、...、S8のうち1つの敷居電圧状態を有するように作ることができる。この時、再プログラムの遂行は、増加型ステップパルスプログラム方式に基づいてプログラム及び検証を繰り返す方式からなる。この時、プリプログラムを遂行する時より再プログラムを遂行する時、マルチレベルメモリセルの敷居電圧分布は相対的に少なく移動する。このように、リプログラム方式はカップリング(coupling)による影響を受ける前に、相対的に低い第1〜第7プリ検証電圧VP1、...、VP7に基づいてプリプログラムを遂行し、カップリングによる影響を受けた後に、第1〜第7最終検証電圧VR1、...、VR7に基づいて、再プログラムを遂行することによって、マルチレベルメモリセルの敷居電圧分布を大きく改善することができる。
図12は図1のブロック併合方法において、併合対象データが併合対象ブロックから併合遂行ブロックにプログラムされる併合過程の他の例を示すフローチャートである。
図12を参照すると、図1のブロック併合方法は併合対象ブロックに位置する併合対象データを併合遂行ブロックに併合するために、併合対象データを併合対象ブロックからページバッファ部及びシングルレベルメモリセルブロックを経由して併合遂行ブロックにプログラムすることができる。具体的に、図1のブロック併合方法は併合対象データを併合対象ブロックからページバッファ部にローディング(Step S143)した後、ページバッファ部にローディングされた併合対象データをページバッファ部からシングルレベルメモリセルブロックでローディング(Step S144)する。その後、シングルレベルメモリセルブロックにローディングされた併合対象データをシングルレベルメモリセルブロックからページバッファ部にローディング(Step S145)した後、ページバッファ部にローディングされた併合対象データを併合遂行ブロックにプログラム(Step S146)することができる。
NANDフラッシュメモリ装置は複数のシングルレベルメモリセル、または、複数のマルチレベルメモリセルを具備するメモリセルアレイ及びNANDフラッシュメモリ装置の動作モードに基づいて、メモリセルアレイに対する記入ドライバ、または、感知増幅器として動作するページバッファ部を含むことができる。このようなページバッファ部は、複数のページバッファで構成される。また、NANDフラッシュメモリ装置はオンチップバッファードプログラム(on chip buffered program)方式の半導体メモリ装置として、メモリセルアレイはNANDフラッシュメモリ装置を制御するメモリコントローラ内に一般的に含まれているバッファ(例えば、エスラム(SRAM)バッファ)に代わるシングルレベルメモリセルブロックをさらに含むことができる。従って、NANDフラッシュメモリ装置は、バッファが含まれないメモリコントローラと連動して動作することができる。
図1のブロック併合方法によると、併合対象データは併合対象ブロックからページバッファ部にローディング(Step S143)される。この時、ページバッファ部はメモリセルアレイに対する感知増幅器として動作して、併合対象データを併合対象ブロックから読み出しして、内部のページバッファにローディングする。この後、ページバッファ部にローディングされた併合対象データがページバッファ部からシングルレベルメモリセルブロックにローディング(Step S144)され、シングルレベルメモリセルブロックにローディングされた併合対象データは、シングルレベルメモリセルブロックから再度ページバッファ部にローディング(Step S145)される。この時、ページバッファ部の最小プログラム単位とシングルレベルメモリセルブロックの最小プログラム単位は相異なる。一実施形態において、ページバッファ部の最小プログラム単位がシングルレベルメモリセルブロックの最小プログラム単位より相対的に大きくてもよい。以後、ページバッファ部にローディングされた併合対象データが併合遂行ブロックにプログラム(Step S146)できる。この時、ページバッファ部はメモリセルアレイに対する記入ドライバとして動作して、ロウデコーダが電圧生成器から出力されるワードライン電圧(例えば、プログラム電圧及びパス電圧)をワードラインに印加すると、ローディングされた併合対象データを併合遂行ブロックにプログラムする。一実施形態において、メモリセルアレイに含まれるメモリセルがマルチレベルメモリセルの場合、図1のブロック併合方法は、増加型ステップパルスプログラム方式を採用した第2プログラム方式に基づいて遂行される。
上述した通り、図1のブロック併合方法は、外部から入力されるページデータをページバッファ部にローディングし、ページバッファ部にローディングされたページデータをシングルレベルメモリセルブロックにローディングして、シングルレベルメモリセルブロックにローディングされたページデータを再度ページバッファ部にローディングして、対象ブロックにプログラムする半導体メモリ装置の一般的なプログラム動作で第1プログラム方式を利用し、併合対象ブロックから併合対象データをページバッファ部にローディングし、ページバッファ部にローディングされた併合対象データをシングルレベルメモリセルブロックにローディングして、シングルレベルメモリセルブロックにローディングされた併合対象データを、再度ページバッファ部にローディングして、併合遂行ブロックにプログラムするブロック併合動作において第1プログラム方式とは相異なる第2プログラム方式を利用することができる。この時、第1プログラム方式と第2プログラム方式の選択は、増加型ステップパルスプログラム条件、検証リード電圧、センシングスキームなどのようなプログラムパラメータを相異なるように設定する形態からなる。一実施形態において、第1プログラム方式は相対的に低い電圧レベルの第1増加型ステップパルスを利用するオンチップバッファードプログラム方式であり、第2プログラム方式は相対的に高い電圧レベルの第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよい。このように、図1のブロック併合方法は、一般的なプログラム動作時とブロック併合動作時にそれぞれの特殊な環境及び条件によって相異なるプログラムパラメータを利用してプログラムを遂行できる。
図13は図12の併合過程を説明するための図面である。
図13を参照すると、NANDフラッシュメモリ装置は第1〜第mブロックBLOCK(1)、...、BLOCK(m)及びシングルレベルメモリセルブロックSLC BLOCKで構成されたメモリセルアレイ220とページバッファ部240を含むことができる。説明の便宜上、NANDフラッシュメモリ装置の他の構成要素は図示を省略した。メモリセルアレイ220の第1〜第mブロックBLOCK(1)、...、BLOCK(m)は、それぞれ複数の物理ページを含み、ページバッファ部240はページデータDATA及び修正したり、変更されるアップデートページデータUPDATAをローディングするための複数のページバッファを含むことができる。また、メモリセルアレイ220の第1〜第mブロックBLOCK(1)、...、BLOCK(m)は複数のマルチレベルメモリセルを含むことができる。この時、メモリセルアレイ220の第1〜第mブロックBLOCK(1)、...、BLOCK(m)は、フラッシュ変換階層FTLによってデータブロック、ログブロック及び空きブロックに定義される。
NANDフラッシュメモリ装置は、オンチップバッファードプログラム方式で、一般的なプログラム動作及びブロック併合動作を遂行できる。このために、メモリセルアレイ220は、マルチレベルメモリセルを含む第1〜第mブロックBLOCK(1)、...、BLOCK(m)及びシングルレベルメモリセルを含むシングルレベルメモリセルブロックSLC BLOCKを含むことができる。シングルレベルメモリセルブロックSLC BLOCKは高速で動作し、低集積度で製造されるブロックとして、シングルレベルメモリセルを含み、1つのメモリセルにつき1つのビットを保存することができる。一方、第1〜第mブロックBLOCK(1)、...、BLOCK(m)は低速で動作し、高集積度で製造されるブロックとして、マルチレベルメモリセルを含み、1つのメモリセルにつき複数のビットを保存することができる。上述した通り、オンチップバッファードプログラム方式を採用したNANDフラッシュメモリ装置は、メモリコントローラ内部のバッファの役割をメモリセルアレイ220のシングルレベルメモリセルブロックSLC BLOCKが遂行することができる。
オンチップバッファードプログラム方式を採用したNANDフラッシュメモリ装置の一般的なプログラム動作においては、外部からページ単位のデータ、即ち、ページデータDATAが入力されると、最小プログラム単位のページデータDATAは、ページバッファ部240内のページバッファにローディングPTAされた後、メモリセルアレイ220のシングルレベルメモリセルブロックSLC BLOCKにローディングPTBされる。一実施形態において、外部から入力されるページデータDATAに対して、インターリーブ動作が遂行され、インターリーブ動作が遂行された最小プログラム単位のページデータDATAがページバッファ部240内のページバッファにローディングPTAされた後、メモリセルアレイ220のシングルレベルメモリセルブロックSLC BLOCKにローディングPTBされる。この時、最小プログラム単位は、要求される条件(例えば、プログラム方式、セル当たりビット数、インターリーブ可否など)によって多様に設定されることができる。例えば、インターリーブ動作が遂行されない場合に、最小プログラム単位は1つのページデータDATAに相応することができる。
シングルレベルメモリセルブロックSLC BLOCKにページデータDATAがローディングされると、シングルレベルメモリセルブロックSLC BLOCKにローディングされたページデータDATAは、ページバッファ部240内のページバッファにローディングPTCされる。この時、ページバッファ部240の最小プログラム単位は、シングルレベルメモリセルブロックSLC BLOCKの最小プログラム単位より相対的に大きくてもよい。以後、ページバッファ部240にローディングされたページデータDATAは、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中で選択されたデータブロック(例えば、BLOCK(m‐1)に第1プログラム方式でプログラムPTDされる。前記プログラム過程によって、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中でページデータDATAが保存されているブロックはデータブロックに定義される。さらに、外部からアップデートページデータUPDATAが入力されると、このようなアップデートページデータUPDATAも前記のような方式で第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中で選択されたログブロックに第1プログラム方式でプログラムされる。前記プログラム過程によって、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中でアップデートページデータUPDATAが保存されているブロックは、ログブロックに定義される。一方、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中でページデータDATA及びアップデートページデータUPDATAが保存されないブロックは空きブロックに定義される。
上述した通り、1つのデータブロック内でページデータDATAのうち一部がアップデートページデータUPDATAによって修正されたり、変更されても、NANDフラッシュメモリ装置がオーバーライト(overwrite)機能を提供しないので、それらは該当データブロックから消去されない。即ち、ページデータDATAのうちアップデートページデータUPDATAによって修正されたり、変更される一部は参照されないため、無効ページに定義されることができ、ページデータDATAのうちアップデートページデータUPDATAによって修正されたり、変更されない他の一部は参照されるため、有効ページに定義される。従って、1つのデータブロック内には有効ページと無効ページが並存することができる。同じく、アップデートページデータUPDATAの中でも他のアップデートページデータUPDATAによって修正したり、変更される一部は参照されないため、無効ページに定義され、アップデートページデータUPDATAのうち他のアップデートページデータUPDATAによって修正したり、変更されない他の一部は参照されるため、有効ページに定義される。従って、1つのログブロック内でも有効ページと無効ページが並存することができる。
オンチップバッファードプログラム方式を採用したNANDフラッシュメモリ装置は、色々なブロック(即ち、データブロック及び/または、これと関係するログブロック)に分散している有効ページを併合し、不必要な無効ページを消去して空きブロックを確保するためのブロック併合動作を周期的、または、非周期的に遂行される。このようなブロック併合動作においては、第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中で併合対象ブロック(例えば、BLOCK(m‐1))に選択されたデータブロック及び/または、これに係るログブロックからページデータDATA及びアップデートページデータUPDATAがページバッファ部240内のページバッファにローディングMTAされ、ページバッファ部240にローディングされたページデータDATA及びアップデートページデータUPDATAは、シングルレベルメモリセルブロックSLC BLOCKにローディングMTBされる。その後、シングルレベルメモリセルブロックSLC BLOCKにローディングされたページデータDATA及びアップデートページデータUPDATAは、ページバッファ部240のページバッファに再度ローディングMTCされ、ページバッファ部240にローディングされたページデータDATA及びアップデートページデータUPDATAは第1〜第mブロックBLOCK(1)、...、BLOCK(m)の中で選択された併合遂行ブロック(例えば、BLOCK(n))に第2プログラム方式でプログラムMTDできる。この時、ブロック併合動作時の第2プログラム方式は、一般的なプログラム動作時の第1プログラム方式とは相異なるプログラムパラメータに基づいて決定される。一実施形態において、第1プログラム方式は、相対的に低い電圧レベルの第1増加型ステップパルスを利用するオンチップバッファードプログラム方式であり、第2プログラム方式は相対的に高い電圧レベルの第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよい。
図14は本発明の実施形態に係る半導体メモリ装置を示すブロック図である。
図14を参照すると、半導体メモリ装置300はメモリセルアレイ310、ページバッファ部320、ロウデコーダ330、電圧生成器340及びプログラム制御器350を含むことができる。実施形態によって、半導体メモリ装置300は増加型ステップパルスプログラムにおいての敷居電圧状態を検証するためのパス‐フェイル検出器をさらに含むことができる。図14においては、半導体メモリ装置300をNANDフラッシュメモリ装置で説明したが、本発明はそれに限定されるものではない。従って、半導体メモリ装置300はページ単位のデータをメモリセルアレイにプログラムできる半導体メモリ装置300に解釈されなければならない。
メモリセルアレイ310は、ワードライン及びビットラインに接続された複数のメモリセルを含むことができる。一実施形態において、メモリセルはそれぞれ複数のビットを保存できるマルチレベルメモリセルであってもよい。メモリセルアレイ310内部のメモリセルは半導体メモリ装置300の一般的なプログラム動作で第1プログラム方式でプログラムされ、半導体メモリ装置300のブロック併合動作では第1プログラム方式とは相異なる第2プログラム方式でプログラムされる。即ち、第1プログラム方式と第2プログラム方式は、増加型ステップパルスプログラム条件、検証リード電圧、センシングスキームなどのようなプログラムパラメータが相異なる。一実施形態において、第1プログラム方式はシャドウプログラム方式であってもよく、第2プログラム方式はリプログラム方式であってもよい。他の実施形態において、第1プログラム方式は相対的に低い電圧レベルの第1増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよく、第2プログラム方式は相対的に高い電圧レベルの第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよい。
ページバッファ部320は、半導体メモリ装置300の動作モードに基づいて記入ドライバ、または、感知増幅器として動作することができる。ページバッファ部320は、外部から入力されるページデータをローディングしたり、併合対象ブロックから有効ページに相応するページデータをローディングするための複数のページバッファ321を含むことができる。ページバッファ部320内のページバッファ321のそれぞれはビットラインに接続される複数のデータラッチを含むことができる。具体的に、ページバッファ部320は半導体メモリ装置300の読み出し動作モードで感知増幅器として動作でき、半導体メモリ装置300の記入動作モードで記入ドライバとして動作し、半導体メモリ装置300のブロック併合動作モードにおいては感知増幅器及び記入ドライバとして動作することができる。実施形態によって、ページバッファ部320はビットラインを選択するためのコラムデコーダの機能を遂行し、半導体メモリ装置300が増加型パルスステッププログラム方式を採用する場合には、敷居電圧を検証するためのパス‐フェイル検出器の機能も遂行することができる。
ロウデコーダ330はロウアドレス(row address)に基づいて電圧生成器340から提供されるワードライン電圧WLVをワードラインに印加することができる。具体的に、ロウデコーダ330は電圧生成器340から提供されるプログラム電圧、パス電圧、検証電圧、読み出し電圧などのようなワードライン電圧WLVをワードラインに印加することができる。例えば、ロウデコーダ330は、半導体メモリ装置300の記入動作モードで選択されたワードラインにプログラム電圧を印加し、非選択されたワードラインにはパス電圧を印加し、増加型パルスステッププログラム方式では検証時にワードラインに検証電圧を印加することができる。また、ロウデコーダ330は、半導体メモリ装置300の読み出し動作モードでワードラインに読み出し電圧を印加することができる。一方、半導体メモリ装置300のブロック併合モードは読み出し動作モード、記入動作モード及び消去動作モードが連続的に組合されているモードなので、ロウデコーダ330は半導体メモリ装置300のブロック併合モードの一部として組合された読み出し動作モード、記入動作モード及び消去動作モードによって、それぞれ要求されるワードライン電圧WLVをワードラインに印加することができる。
電圧生成器340は半導体メモリ装置300の動作モードに基づいて、ワードラインに印加されるワードライン電圧WLVを生成することができる。具体的に、電圧生成器340はプログラム制御器350から出力される制御信号CTL2に基づいてプログラム電圧、パス電圧、検証電圧、読み出し電圧などのようなワードライン電圧WLVを生成することができる。例えば、電圧生成器340は半導体メモリ装置300の記入動作モードでプログラム電圧、パス電圧及び/または、検証電圧を生成し、半導体メモリ装置300の読み出し動作モードで読み出し電圧を生成することができる。一方、半導体メモリ装置300のブロック併合モードは読み出し動作モード、記入動作モード及び消去動作モードが連続的に組合されるモードであるが、一般的な記入動作モードでのプログラム方式とブロック併合モードの一部としての記入動作モードでのプログラム方式は相異なる。従って、電圧生成器340は制御信号CTL2に基づいて、一般的な記入動作モードでのワードライン電圧WLVとブロック併合モードの一部としての記入動作モードでのワードライン電圧WLVを相異なるように生成することができる。
プログラム制御器350は半導体メモリ装置300の動作モードによってプログラム方式を転換し、ページバッファ部320、電圧生成器330及びロウデコーダ330に制御信号CTL1、CTL2、CLT3を出力することによって、これらを制御することができる。上述した通り、半導体メモリ装置300のブロック併合モードは読み出し動作モード、記入動作モード及び消去動作モードが連続的に組合されるモードであるが、半導体メモリ装置300は一般的な記入動作モードにおいては第1プログラム方式でメモリセルをプログラムし、ブロック併合モードの一部としての記入動作モードにおいては第2プログラム方式でメモリセルをプログラムすることができる。即ち、半導体メモリ装置300は、一般的な記入動作モードとブロック併合モードの一部としての記入動作モードの増加型ステップパルスプログラム条件、検証リード電圧、センシングスキームなどのようなプログラムパラメータを相異なるように設定することができる。このために、プログラム制御器は、ページバッファ部320、電圧生成器330及びロウデコーダ330に制御信号CTL1、CTL2、CTL3を出力して、プログラムパラメータを制御することによって、半導体メモリ装置300の動作モードによってプログラム方式を転換することができる。
図15は図14の半導体メモリ装置に備わるメモリセルアレイの一例を示す図面である。
図15を参照すると、メモリセルアレイ310はストリング選択トランジスタ311、接地選択トランジスタ312及びメモリセル313を含むことができる。実施形態によって、メモリセル313は2次元アレイ(array)構造で配列され、3次元垂直アレイ構造で配列されてもよい。
ストリング選択トランジスタ311はビットラインBL(1)、...、BL(m)に接続され、接地選択トランジスタ312は共通ソースラインCSLに接続される。ストリング選択トランジスタ311と接地選択トランジスタ312との間にはメモリセル313が直列に接続される。同一な行に配列されたメモリセル313はワードラインWL(1)、...、WL(n)にそれぞれ共通に接続される。例えば、ストリング選択ラインSSLと接地選択ラインGSLとの間には16個、32個、または、64個の複数のワードラインが配列される。ストリング選択トランジスタ311はストリング選択ラインSSLに接続され、ストリング選択ラインSSLから印加される電圧によって制御され、接地選択トランジスタ312は接地選択ラインGSLに接続され、接地選択ラインGSLから印加される電圧によって制御される。メモリセル313はワードラインWL(1)、...、WL(n)から印加される電圧によって制御される。一実施形態において、メモリセル313がマルチレベルメモリセルの場合、メモリセル313には複数のビットが保存される。一方、ページバッファ部320内のページバッファ321は、それぞれ偶数ビットラインと奇数ビットラインが1つずつ接続される。この場合、偶数ビットラインは偶数ページを形成し、奇数ビットラインは奇数ページを形成し、メモリセル313に対するプログラムは偶数ページと奇数ページが交代に次々と遂行される。上述した通り、半導体メモリ装置300は、一般的なプログラム動作時の第1プログラム方式とブロック併合動作時の第2プログラム方式を相異なるように設定し、このようなプログラム方式の設定は半導体メモリ装置300のプログラム制御器350が増加型ステップパルスプログラム条件、検証リード電圧、センシングスキームなどのようなプログラムパラメータを変更することによって成される。
図16は図14の半導体メモリ装置を含むメモリシステムを示すブロック図である。
図16を参照すると、メモリシステム500は半導体メモリ装置520及びメモリコントローラ540を含むことができる。
半導体メモリ装置520は、図14に示されたメモリセルアレイ310、ページバッファ部320、ロウデコーダ330、電圧生成器340及びプログラム制御器350を含むことができる。実施形態によって、半導体メモリ装置520は増加型ステップパルスプログラムにおいての敷居電圧状態を検証するためのパス‐フェイル検出器をさらに含むことができる。半導体メモリ装置520はNANDフラッシュメモリ装置であってもよいが、それらに限定されるものではない。上述した通り、半導体メモリ装置520は、一般的な記入動作モードにおいては第1プログラム方式でメモリセルをプログラムし、ブロック併合モードの一部としての記入動作モードにおいては第2プログラム方式でメモリセルをプログラムすることができる。即ち、半導体メモリ装置520は一般的な記入動作モードとブロック併合モードの一部としての記入動作モードの増加型ステップパルスプログラム条件、検証リード電圧、センシングスキームなどのようなプログラムパラメータを相異なるように設定することができる。一実施形態において、第1プログラム方式はシャドウプログラム方式であり、第2プログラム方式はリプログラム方式であってもよい。他の実施形態において、第1プログラム方式は相対的に低い電圧レベルの第1増加型ステップパルスを利用するオンチップバッファードプログラム方式であり、第2プログラム方式は相対的に高い電圧レベルの第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であってもよい。ただし、これに対しては上述したので、重複する説明は省略する。
メモリコントローラ540は中央処理部541、メモリ部542、ホストインターフェイス543及びメモリインターフェイス544を含むことができる。メモリコントローラ540は半導体メモリ装置520を制御し、外部のホスト装置と半導体メモリ装置520との間のデータ送受信を遂行することができる。中央処理部541はデータ送受信のためにメモリ部542、ホストインターフェイス543及びメモリインターフェイス544を制御することができる。メモリ部542は、ホスト装置から提供されるデータ、または、半導体メモリ装置520から提供されるデータを一時的に保存することができる。実施形態によって、メモリ部542は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、PRAM(Phase Random Access Memory)、FRAM(Ferroelectric Random Access Memory)、RRAM(Resistive Random Access Memory)及び/または、MRAM(Magnetic Random Access Memory)で具現される。ホストインターフェイス543は、ホスト装置と接続されて通信を遂行し、メモリインターフェイス544は半導体メモリ装置520と接続されて通信を遂行される。さらに、中央処理部541は、メモリインターフェイス544を通じて半導体メモリ装置520を制御することもある。
実施形態によって、ホストインターフェイス543はホスト装置とユニバーサルシリアルバスUSB、マルチメディアカードMMC、PCI、PCI‐エクスプレスPCI‐Express、ATA、直列‐ATA(S‐ATA)、並列‐ATA(P‐ATA)、SCSI、ESDI、SAS及びIDE等のような標準プロトコルを利用してデータ通信を遂行できる。メモリインターフェイス544は、半導体メモリ装置520とNANDインターフェイスプロトコルなどのような標準プロトコルを利用してデータ通信を遂行できる。一方、メモリコントローラ540は、半導体メモリ装置520にビルトイン(built‐in)されて具現されるが、メモリコントローラ540がビルトインされて具現された半導体メモリ装置520を、いわゆる、One NANDメモリ装置(One‐NAND memory device)と命名することができる。
メモリシステム500は、メモリカード(memory card)、ソリッドステートドライブ(solid state drive)等のような形態で具現される。メモリシステム500は多様な形態のパッケージを利用して具現されるが、例えば、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)等のようなパッケージを利用して具現される。
図17は図16のメモリシステムが動作するソフトウェア構造を示すブロック図である。
図17を参照すると、メモリシステム500が動作するソフトウェア構造400はアプリケーション410、ファイルシステム420、フラッシュ変換階層430及びNANDフラッシュメモリ装置440を含むことができる。図17においては、NANDフラッシュメモリ装置440が示されているが、本発明はNANDフラッシュメモリ装置440に限定されず、ページ単位でメモリセルにプログラムを遂行できる多様な半導体メモリ装置に適用される。
メモリシステム500が動作するソフトウェア構造400は、アプリケーション410、ファイルシステム420、フラッシュ変換階層430及びフラッシュメモリ装置440の順からなされた階層構造(hierarchical structure)を有することができる。具体的に、アプリケーション410がそれぞれの動作に要求されるコマンドCMDをファイルシステム420に出力すると、ファイルシステム420はこのようなコマンドCMDに基づいて、NANDフラッシュメモリ装置440のそれぞれのメモリセルに接近するための論理的アドレスLAを出力することができる。フラッシュ変換階層430は、ファイルシステム420から論理的アドレスLAを入力され、内部に具備されたアドレスマッピングテーブル(address mapping table)に基づいて、論理的アドレスLAを物理的アドレスPAに変換して、物理的アドレスPAをNANDフラッシュメモリ装置440に提供することができる。一実施形態において、アドレスマッピングテーブルは論理ブロック番号を物理ブロック番号に変換するためのブロックマッピングテーブル及び/または、論理ページ番号を物理ページ番号に変換するためのページマッピングテーブルを含むことができる。NANDフラッシュメモリ装置440は、フラッシュ変換階層430から提供される物理的アドレスPAに基づいて、それぞれのメモリセルに直接接近することができる。フラッシュ変換階層430のアドレスマッピング方式は、マッピング単位によって多様に区分される。 例えば、フラッシュ変換階層430のアドレスマッピング方式は、ページ単位でアドレスマッピングを遂行するページマッピング方式、ブロック単位でアドレスマッピングを遂行するブロックマッピング方式及びページマッピング方式とブロックマッピング方式とを混用する混合マッピング方式で区分される。
図18は図16のメモリシステムが具現されること例を示すブロック図である。
図18を参照すると、メモリシステム600はホスト装置620、メモリコントローラ630及び少なくとも1つ以上のNANDフラッシュメモリ装置640を含むことができる。
メモリシステム600において、ホスト装置620と少なくとも1つ以上のNANDフラッシュメモリ装置640との間にメモリコントローラ630が位置する。一実施形態において、少なくとも1つ以上のNANDフラッシュメモリ装置640は単一チャネル、または、マルチチャネルを構成することができる。メモリコントローラ630はホスト装置620及び少なくとも1つ以上のNANDフラッシュメモリ装置640と物理的に分離して具現されるので、メモリコントローラ630は図16に示された中央処理部541、メモリ部542、ホストインターフェイス543及びメモリインターフェイス544を含むことができる。一実施形態において、ホストインターフェイス543がホスト装置620とユニバーサルシリアルバスUSB、マルチメディアカードMMC、PCI、PCI‐エクスプレス(PCI‐Express)、ATA、直列‐ATA(S‐ATA)、並列‐ATA(P‐ATA)、SCSI、ESDI、SAS及びIDE等のような標準プロトコルを利用してインターアクション(interaction)を遂行し、メモリインターフェイス544が少なくとも1つ以上のNANDフラッシュメモリ装置640とNANDインターフェイスプロトコルとを利用してインターアクションを遂行できる。このような実現形態は、メモリコントローラ630がホストインターフェイス543を利用してホスト装置620によって、既に支援される標準プロトコルを使い、メモリインターフェイス544を利用して少なくとも1つ以上のNANDフラッシュメモリ装置640によって、既に支援される標準プロトコルを使うので、汎用的という利点がある。
図19は図16のメモリシステムが具現される他の例を示すブロック図である。
図19を参照すると、メモリシステム700はメモリコントローラ730がビルトインされて、具現されたホスト装置720及び少なくとも1つ以上のNANDフラッシュメモリ装置740を含むことができる。
メモリシステム700において、メモリコントローラ730はホスト装置720に位置する。一実施形態において、少なくとも1つ以上のNANDフラッシュメモリ装置740は単一チャネル、または、マルチチャネルを構成することができる。メモリコントローラ730はホスト装置720にビルトインされて具現されるので、図16のホストインターフェイス543が備えられていなかったり、独自的なプロトコルを利用してインターアクションを遂行できる。さらに、メモリコントローラ730が図16の中央処理部541を具備しない場合、ホスト装置720のホストプロセッサによって該当機能が遂行される。一実施形態において、ホストインターフェイス543がホスト装置720の内部から独自的なプロトコルを利用して、インターアクションを遂行し、メモリインターフェイス544が少なくとも1つ以上のNANDフラッシュメモリ装置740とNANDインターフェイスプロトコルを利用してインターアクションを遂行できる。このような実現形態は、メモリコントローラ730がホスト装置720との関係で既に支援される標準プロトコルよりメモリシステム700に適合した独自的なプロトコルを使用し、ホスト装置720内部からインターアクションが遂行されるので、高速動作が可能であるという利点がある。
図20は図16のメモリシステムが具現されるまた他の例を示すブロック図である。
図20を参照すると、メモリシステム800はホスト装置820及びメモリコントローラ830がビルトインされて、それぞれ具現された少なくとも1つ以上のNANDフラッシュメモリ装置840を含むことができる。
メモリシステム800において、メモリコントローラ830は少なくとも1つ以上のフラッシュメモリ装置840にそれぞれ位置する。一実施形態において、少なくとも1つ以上のNANDフラッシュメモリ装置840は単一チャネル、または、マルチチャネルを構成することができる。メモリコントローラ830は、少なくとも1つ以上のフラッシュメモリ装置840にそれぞれビルトインされて具現されるので、図16のメモリインターフェイス544が備えられていなかったり、独自のプロトコルを利用してインターアクションを遂行できる。さらに、メモリコントローラ830の中央処理部は少なくとも1つ以上のフラッシュメモリ装置840を制御する機能まで遂行できる。一実施形態において、ホストインターフェイス543がホスト装置820とユニバーサルシリアルバスUSB、マルチメディアカードMMC、PCI、PCI‐エクスプレス(PCI‐Express)、ATA、直列‐ATA(S‐ATA)、並列‐ATA(P‐ATA)、SCSI、ESDI、SAS及びIDE等のような標準プロトコルを利用してインターアクションを遂行できて、メモリインターフェイス544が少なくとも1つ以上のNANDフラッシュメモリ装置840の内部からそれぞれ独自的なプロトコルを利用してインターアクションを遂行できる。このような実現形態は、メモリコントローラ830が少なくとも1つ以上のNANDフラッシュメモリ装置840との関係で、既に支援される標準プロトコルよりメモリシステム800に適合した独自のプロトコルを使用し、少なくとも1つ以上のNANDフラッシュメモリ装置840それぞれの内部でインターアクションが遂行されるので、高速動作が可能であるという利点がある。例えば、メモリコントローラ830がビルトインされて具現される少なくとも1つ以上のフラッシュメモリ装置840は、いわゆる、One NANDメモリ装置(One‐NAND memory device)と命名される。
図21は図16のメモリシステムを含むコンピュータシステムを示すブロック図である。
図21を参照すると、コンピュータシステム900はプロセッサ910、メモリ装置920、ユーザーインターフェイス930、パワーサプライ940及びメモリシステム950を含むことができる。
プロセッサ910は特定計算、または、タスクを実行する特定ソフトウェアを実行するような多様なコンピュータ機能を実行することができる。一実施形態において、プロセッサ910はマイクロプロセッサ(microprocessor)、または、中央処理装置CPUであってもよいが、アドレスバス、制御バス及び/または、データバスを通じて他の構成要素に接続される。メモリ装置920はダイナミックランダムアクセスメモリ(Dynamic Random Access Memory;DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory;SRAM)、または、EPROM(Erasable Programmable Read‐only Memory)、EEPROM(Electrically Erasable Programmable Read‐Only Memory)及びフラッシュメモリ装置を含むすべての形態の不揮発性メモリ装置であってもよい。一方、プロセッサ910はPCIバスのような拡張バスに接続される。従って、プロセッサ910はキーボード、または、マウスのような1つ以上の入力装置、プリンタ、または、ディスプレイ装置のような1つ以上の出力装置を含むユーザーインターフェイス930を制御することができる。ユーザーインターフェイス930はユーザーとコンピュータシステム900とのインターフェーシングを遂行できる。パワーサプライ940はコンピュータシステム900が動作するための電源を供給することができる。実施形態によって、コンピュータシステム900は、応用チップセット、カメライメージプロセッサ、モバイルディーラムなどをさらに含むことができる。メモリシステム950は、図16に示された半導体メモリ装置520及びメモリコントローラ540を含み、半導体メモリ装置520は、一般的なプログラム動作時とブロック併合動作時にプログラム方式を相異なるように設定することができる。ただし、メモリシステム950に対しては上述したことがあるので、重複する説明を省略する。
以上、本発明の実施形態に係る半導体メモリ装置のブロック併合方法に対して図面を参照して説明したが、前記説明は例示的なものとして本発明の技術的思想を離れない範囲で該当技術分野において通常の知識を有する者によって修正及び変更される。例えば、本発明の実施形態に係る半導体メモリ装置のブロック併合方法と関連して、前記では半導体メモリ装置としてフラッシュメモリ装置、特に、NANDフラッシュメモリ装置を参照して説明したが、本発明の半導体メモリ装置はNANDフラッシュメモリ装置にだけ限定されるのではない。即ち、ページ単位のデータをメモリセルアレイにプログラムできる多様な半導体メモリ装置に全て適用されることができる。また、半導体メモリ装置のブロック併合動作は、半導体メモリ装置のコピーバック(copy‐back)動作を含むことが理解されなければならない。
本発明は半導体メモリ装置(例えば、フラッシュメモリ装置など)を利用する多様なシステムに適用される。したがって、本発明は半導体メモリ装置を具備するコンピュータ(computer)、ノートブック(laptop)、携帯電話(cellular)、スマートフォン(smart phone)、MP3プレーヤ、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、デジタルTV、デジタルカメラ、ポータブルゲームコンソール(portable game console)、ソリッドステートドライブ(Solid State Drive;SSD)、メモリカードなどのような電子機器に拡大適用される。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特徴請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
300 半導体メモリ装置
310 メモリセルアレイ
320 ページバッファ部
330 ロウデコーダ
340 電圧生成器
350 プログラム制御器

Claims (10)

  1. 複数のデータを第1プログラム方式で少なくとも1つ以上の第1ブロックにプログラムする段階と、
    前記第1ブロックのうち併合の必要性がある少なくとも1つ以上の併合対象ブロックを選択する段階と、
    前記第1ブロック、または、少なくとも1つ以上の第2ブロックのうち併合を遂行するための併合遂行ブロックを選択する段階と、
    前記併合対象ブロックに位置する複数の併合対象データを第2プログラム方式で前記併合遂行ブロックにプログラムする段階と、を含むことを特徴とする半導体メモリ装置のブロック併合方法。
  2. 前記併合対象ブロックに位置する前記併合対象データを消去する段階をさらに含むことを特徴とする請求項1に記載の半導体メモリ装置のブロック併合方法。
  3. 前記第1プログラム方式と前記第2プログラム方式は、相異なる複数のプログラムパラメータに基づくことを特徴とする請求項1に記載の半導体メモリ装置のブロック併合方法。
  4. 前記第1プログラム方式はシャドウプログラム方式であり、前記第2プログラム方式はリプログラム方式であり、
    前記シャドウプログラム方式では、マルチレベルメモリセルに対してLSBプログラムを遂行した後に、MSBプログラムを遂行し、
    前記LSBプログラムでは、メモリセルの敷居電圧状態を、最終敷居電圧状態の数の1/2の数の状態のうちの1つにし、
    前記MSBプログラムでは、メモリセルの敷居電圧状態を、最終敷居電圧状態のうちの1つにし、
    前記リプログラム方式では、マルチレベルメモリセルに対してプリプログラムを遂行した後に、再プログラムを遂行し、
    前記プリプログラムでは、メモリセルの敷居電圧状態を、最終敷居電圧より低い、最終敷居電圧状態の数と同じ数の状態のうちの1つにし、
    前記再プログラムでは、メモリセルの敷居電圧状態を、最終敷居電圧状態のうちの1つにする
    ことを特徴とする請求項3に記載の半導体メモリ装置のブロック併合方法。
  5. 前記併合対象データは、前記併合対象ブロックからページバッファ部を経由して、前記併合遂行ブロックにプログラムされることを特徴とする請求項4に記載の半導体メモリ装置のブロック併合方法。
  6. 前記第1プログラム方式は、第1増加型ステップパルスを利用するオンチップバッファードプログラム方式であり、前記第2プログラム方式は第2増加型ステップパルスを利用するオンチップバッファードプログラム方式であることを特徴とする請求項3に記載の半導体メモリ装置のブロック併合方法。
  7. 前記併合対象データは、前記併合対象ブロックからページバッファ部及びシングルレベルメモリセルブロックを経由して、前記併合遂行ブロックにプログラムされることを特徴とする請求項6に記載の半導体メモリ装置のブロック併合方法。
  8. 前記第1増加型ステップパルスは、前記第2増加型ステップパルスより相対的に低い電圧レベルを有することを特徴とする請求項7に記載の半導体メモリ装置のブロック併合方法。
  9. 前記第1ブロックは少なくとも1つ以上のデータブロック及び少なくとも1つ以上のログブロックを含むことを特徴とする請求項1に記載の半導体メモリ装置のブロック併合方法。
  10. 前記第2ブロックは少なくとも1つ以上の空きブロックを含むことを特徴とする請求項9に記載の半導体メモリ装置のブロック併合方法。
JP2011103615A 2010-05-25 2011-05-06 半導体メモリ装置のブロック併合方法 Active JP5756335B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100048367A KR101635446B1 (ko) 2010-05-25 2010-05-25 반도체 메모리 장치의 블록 병합 방법
KR10-2010-0048367 2010-05-25

Publications (2)

Publication Number Publication Date
JP2011248873A JP2011248873A (ja) 2011-12-08
JP5756335B2 true JP5756335B2 (ja) 2015-07-29

Family

ID=45023074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011103615A Active JP5756335B2 (ja) 2010-05-25 2011-05-06 半導体メモリ装置のブロック併合方法

Country Status (3)

Country Link
US (1) US8812773B2 (ja)
JP (1) JP5756335B2 (ja)
KR (1) KR101635446B1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5066241B2 (ja) * 2010-09-24 2012-11-07 株式会社東芝 メモリシステム
TWI451249B (zh) * 2011-12-15 2014-09-01 Phison Electronics Corp 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
CN103176910B (zh) * 2011-12-26 2015-10-14 群联电子股份有限公司 用于非易失性存储器的数据合并方法、控制器与储存装置
US8797799B2 (en) * 2012-01-05 2014-08-05 Conversant Intellectual Property Management Inc. Device selection schemes in multi chip package NAND flash memory system
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
KR20140078893A (ko) * 2012-12-18 2014-06-26 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US10763752B1 (en) 2019-06-25 2020-09-01 Chengdu Monolithic Power Systems Co., Ltd. Zero-voltage-switching flyback converter
EP3033682A4 (en) 2013-08-14 2017-04-05 Skyera, LLC Address translation for a non-volatile memory storage device
KR102166924B1 (ko) * 2013-12-26 2020-10-16 삼성전자주식회사 저장 장치의 구동 방법
KR102384344B1 (ko) * 2015-06-03 2022-04-07 삼성전자주식회사 모바일 장치 및 모바일 장치의 동작 방법
KR102498248B1 (ko) * 2016-02-04 2023-02-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
CN107704466B (zh) * 2016-08-09 2020-12-11 上海川源信息科技有限公司 数据储存系统
US20180261281A1 (en) * 2017-03-10 2018-09-13 Micron Technology, Inc. Methods for mitigating power loss events during operation of memory devices and memory devices employing the same
KR102410306B1 (ko) * 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200071955A (ko) 2018-12-12 2020-06-22 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법, 스토리지 장치의 동작 방법 및 스토리지 장치
CN109979508A (zh) * 2019-03-15 2019-07-05 合肥沛睿微电子股份有限公司 固态硬盘装置与相关的固态硬盘控制电路
US20220189557A1 (en) * 2019-06-17 2022-06-16 SK Hynix Inc. Memory device and method of operating the same
KR20210026895A (ko) 2019-09-02 2021-03-10 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN111144300B (zh) * 2019-12-26 2021-06-01 杭州费尔斯通科技有限公司 一种基于图像识别的pdf表格结构识别方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101437091B1 (ko) * 2008-06-17 2014-09-05 삼성전자주식회사 비대칭 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
JP2005078378A (ja) 2003-08-29 2005-03-24 Sony Corp データ記憶装置及び不揮発性メモリに対するデータ書き込み方法
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory
JP4237648B2 (ja) 2004-01-30 2009-03-11 株式会社東芝 不揮発性半導体記憶装置
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
KR100719368B1 (ko) * 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
JP2008146253A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
KR101143397B1 (ko) * 2009-07-29 2012-05-23 에스케이하이닉스 주식회사 페이지 복사 발생 빈도를 줄이는 반도체 스토리지 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
KR20110128992A (ko) 2011-12-01
KR101635446B1 (ko) 2016-07-04
JP2011248873A (ja) 2011-12-08
US8812773B2 (en) 2014-08-19
US20110296087A1 (en) 2011-12-01

Similar Documents

Publication Publication Date Title
JP5756335B2 (ja) 半導体メモリ装置のブロック併合方法
KR102254392B1 (ko) 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US11137912B2 (en) Memory controller and method of operating the same
US20150347291A1 (en) Flash memory based storage system and operating method
CN107450845B (zh) 存储器系统及其操作方法
US20140281174A1 (en) Non-volatile multi-level cell memory system and method of performing adaptive data back-up in the system
US10847247B2 (en) Storage device and method of operating the same
US20130138870A1 (en) Memory system, data storage device, memory card, and ssd including wear level control logic
US20200135283A1 (en) Memory controller and method of operating the same
US11194736B2 (en) Memory controller having improved map data access performance and method of operating the same
US20190121727A1 (en) Memory system and method for operating the same
US10910045B2 (en) Storage device having improved cache performance and method of operating the same
CN111258793A (zh) 存储器控制器及其操作方法
US11543986B2 (en) Electronic system including host, memory controller and memory device and method of operating the same
US10650897B2 (en) Storage device and method for operating the same
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US20200264982A1 (en) Memory controller and method of operating the same
CN111338978B (zh) 存储装置以及操作存储装置的方法
KR20210157544A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US10846214B2 (en) Nonvolatile memory system and method of operating the same
CN115732006A (zh) 存储器装置及其操作方法
CN112416809A (zh) 用于可扩展存储区域的分配模式
KR20210143387A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20210012123A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11237767B2 (en) Memory system, memory controller and method for operating memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150529

R150 Certificate of patent or registration of utility model

Ref document number: 5756335

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250