JP2008226245A - フラッシュメモリに基づくメモリシステム - Google Patents

フラッシュメモリに基づくメモリシステム Download PDF

Info

Publication number
JP2008226245A
JP2008226245A JP2008059901A JP2008059901A JP2008226245A JP 2008226245 A JP2008226245 A JP 2008226245A JP 2008059901 A JP2008059901 A JP 2008059901A JP 2008059901 A JP2008059901 A JP 2008059901A JP 2008226245 A JP2008226245 A JP 2008226245A
Authority
JP
Japan
Prior art keywords
program
flash memory
information
data
repeat
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
JP2008059901A
Other languages
English (en)
Other versions
JP5427360B2 (ja
Inventor
Won-Tae Kim
▲ウォン▼ 泰 金
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 JP2008226245A publication Critical patent/JP2008226245A/ja
Application granted granted Critical
Publication of JP5427360B2 publication Critical patent/JP5427360B2/ja
Expired - Fee Related 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
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】フラッシュメモリに基づくメモリシステムを提供する。
【解決手段】フラッシュメモリと、中央処理装置と、コピーバックプログラムの動作時に中央処理装置によって設定されるアドレス及び制御レジスタを具備し、ファームウエアの介入なしにレジスタに格納された情報に応じてフラッシュメモリのコピーバックプログラムの動作をハードウェア的に制御するフラッシュコントローラと、を備える。
【選択図】図1

Description

本発明は、格納装置に係り、さらに詳細には、フラッシュメモリに基づくメモリシステムに関する。
半導体メモリ装置は、データの読み出し/書き込みを自由に行うことができるが、電源を切ると内容が消えてしまうRAMと、一度書き込んだ内容は削除されないが、電源を切っても内容が消えないROMと、を含み、フラッシュメモリ装置は、両方の要素を兼備えたメモリである。フラッシュメモリ装置をカード型にパッケージしたものは、メモリカード(又はフラッシュメモリカード)と呼ばれ、デジタルカメラや携帯用ミュージックプレーヤなど、デジタル機器の記憶媒体として急速に普及しつつある。また、フラッシュメモリ装置のパッケージにUSBコネクタを付着したUSBメモリは、フロッピー(登録商標)ディスクの代わりをするPC用の簡便なデータ交換用メディアとして注目されつつある。最近では、PCのマザーボード上にフラッシュメモリ装置を装着して、BIOS記憶用として使用する例もある。
フラッシュメモリの容量が増加するにつれて、フラッシュメモリに基づくメモリシステム(例えば、メモリカード)の性能は、フラッシュメモリを管理するのに必要な動作によって制限する。例えば、フラッシュメモリは、コピーバックプログラムの動作、マージ動作、などを必要とする。コピーバックプログラムの動作とは、任意のページのデータを他のページに複写する動作のことを意味し、マージ動作は、任意のメモリブロックに属する有効なページのデータを他のメモリブロックに複写する動作のことを意味する。このような動作は、一連の命令、アドレス、そしてデータの生成を必要とし、これは、ファームウエアの制御の下に行われるはずである。周知のように、ファームウエアの介入時間が増加すれば増加するほど、メモリシステムの性能はさらに低下するはずである。
本発明は、上述の問題点に鑑みてなされたもので、その目的は、動作性能を向上させることができるフラッシュメモリに基づくメモリシステムを提供することにある。
本発明の他の目的は、ハードウェアを介してコピーバック動作を制御できるフラッシュメモリに基づくメモリシステムを提供することにある。
本発明の例示的な実施の形態は、フラッシュメモリと、中央処理装置と、コピーバックプログラムの動作時に前記中央処理装置によって設定されるアドレス及び制御レジスタを具備し、ファームウエアの介入なしに前記レジスタに格納された情報に応じて前記フラッシュメモリのコピーバックプログラムの動作をハードウェア的に制御するフラッシュコントローラと、を備えるメモリシステムを提供する。
例示的な実施の形態において、前記フラッシュコントローラは、前記フラッシュメモリのコピーバックプログラムの動作が終了されたか否かを割込みを介して前記中央処理装置に知らせる。
例示的な実施の形態において、前記フラッシュコントローラは、前記コピーバックプログラムの動作の間に一連の命令、アドレス、及びデータをファームウエアの介入なしに生成する。
例示的な実施の形態において、前記フラッシュコントローラは、前記コピーバックプログラムの動作の間にソースデータに対するエラー訂正及び検出動作を行う。
例示的な実施の形態において、前記ソースデータからエラーが検出されないとき、前記フラッシュコントローラは、前記アドレスレジスタに設定された情報に応じて、デスティネイションアドレス及び命令を前記フラッシュメモリに出力する。
例示的な実施の形態において、前記ソースデータからエラーが検出されるとき、前記フラッシュコントローラは、エラー訂正されたデータと共に、前記アドレスレジスタに設定された情報に応じてデスティネイションアドレス及び命令を前記フラッシュメモリに出力する。
例示的な実施の形態において、前記フラッシュコントローラは、前記制御レジスタに設定された情報に応じて、前記フラッシュメモリのコピーバックプログラムの動作を反復的に行う。
例示的な実施の形態において、前記コピーバックプログラムの動作の間に前記フラッシュメモリの同一プランでページデータが複写される。
例示的な実施の形態において、前記コピーバックプログラムの動作の間に、前記フラッシュメモリの相異するプランでページデータが同時に複写される。
例示的な実施の形態において、前記コピーバックプログラムの動作の間に、前記フラッシュメモリの第1プランから第2プランへページデータが複写される。
例示的な実施の形態において、前記制御レジスタは、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、ECC自動訂正情報、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加/減少情報、デスティネイションアドレスの増加/減少情報、及びプラン選択情報のいずれかの制御情報を含む。
例示的な実施の形態において、前記フラッシュコントローラは、前記制御レジスタのハードウェアコピーバックプログラム開始情報が設定される時に前記コピーバックプログラムの動作を制御する。
例示的な実施の形態において、前記フラッシュコントローラは、前記ハードウェアコピーバック繰り返し回数情報、前記ソースアドレスの増加/減少情報、そしてデスティネイションアドレスの増加/減少情報に応じて、コピーバックプログラムの動作を反復的に行う。
例示的な実施の形態において、前記フラッシュメモリに格納されるデータを一時格納する第1RAMをさらに含む。
例示的な実施の形態において、前記フラッシュコントローラ、前記中央処理装置、及び前記第1RAMは、システムバスに電気的に接続される。
例示的な実施の形態において、前記フラッシュコントローラは、前記コピーバックプログラムの動作時に前記フラッシュメモリから読み出されたソースデータを一時格納する第2RAMと、前記ソースデータに対するエラーを検出及び訂正するエラー検出訂正回路と、前記アドレス及び制御レジスタに設定された情報に応じて、前記コピーバックプログラムの動作に必要な一連の命令及びアドレスを生成するステートマシンと、をさらに備える。
例示的な実施の形態において、前記第2RAMは、前記システムバスと電気的に分離される。
例示的な実施の形態において、前記メモリシステムは、メモリカードを含む。
本発明の他の例示的な実施の形態において、複数のページを含むメモリセルアレイと、前記メモリセルアレイに対する読み出し及びプログラムの動作を行う読み出し/プログラム回路と、繰り返しデータを格納する繰り返しレジスタと、前記繰り返しレジスタに格納された繰り返しデータに応じて、コピーバックプログラムの動作を反復的に行うように前記読み出し/プログラム回路を制御する制御ロジックと、を備えるフラッシュメモリ装置を提供する。
例示的な実施の形態において、前記繰り返しデータは、前記コピーバック繰り返し回数情報、前記ソースアドレスの増加/減少情報、そして上記のデスティネイションアドレスの増加/減少情報を含む。
例示的な実施の形態において、前記繰り返しレジスタは、ソースページに対する読み出し動作が遂行される以前に繰り返し命令と共に入力される前記繰り返しデータを設定する。
例示的な実施の形態において、前記繰り返しレジスタは、ソースページに対する読み出し動作が行われた後にデスティネイションアドレスに対するプログラムの動作が行われる以前に繰り返し命令と共に入力される前記繰り返しデータを設定する。
例示的な実施の形態において、前記繰り返しレジスタは、前記繰り返しデータを格納するように構成された不揮発性格納回路である。
例示的な実施の形態において、繰り返し命令が入力されるとき、前記制御ロジックは、コピーバックプログラムの動作を反復的に行うように、前記繰り返しレジスタに格納された前記繰り返しデータに応じて前記読み出し/プログラム回路を制御する。
例示的な実施の形態において、前記繰り返し命令は、ソースページに対する読み出し動作が遂行される以前に入力される。
例示的な実施の形態において、前記繰り返し命令は、ソースページに対する読み出し動作が行われた後に、デスティネイションアドレスに対するプログラムの動作が行われる以前に入力される。
例示的な実施の形態において、前記繰り返し命令は、ソースアドレスの入力を表す命令とデスティネイションアドレスの入力を表す命令のうちのいずれか一つである。
例示的な実施の形態において、前記繰り返しデータは、ソースアドレスの入力を表す命令とデスティネイションアドレスの入力を表す命令との組み合わせによって前記繰り返しレジスタに設定される。
例示的な実施の形態において、前記コピーバックプログラムの動作の繰り返し時にエラーを検出するように構成されるエラー検出ブロックをさらに備える。
例示的な実施の形態において、前記コピーバックプログラムの動作の繰り返し時にエラーが検出されるとき、前記制御ロジックは、前記コピーバックプログラムの動作を終了し、状態読み出し命令に応じてフェイルされたページ情報を外部に出力する。
フラッシュメモリのコピーバックプログラムの動作をソフトウェアの代わりにハードウェアを介して自動的に行うことによって、ソフトウェア(又はファームウエア)が介入する時間を減らすことができる。結果的に、メモリシステムの全般的な性能を向上させることが可能である。
前記一般的な説明及び以下の詳細な説明は、全て例示的なものと理解すべきであり、請求された発明の付加的な説明が提供されるものである。
参照符号は、本発明の好ましい実施の形態に詳細に表示されており、その例が参照図面に表示されている。同一参照番号は、同一又は類似の部分を参照するために説明及び図面中で使用される。
以下では、フラッシュメモリに基づくメモリシステムが、本発明の特徴及び機能を説明するための一例として使用される。しかしながら、この技術分野に精通した人は、ここに記載された内容から、本発明の他の利点及び性能を容易に理解できるはずである。本発明は、他の実施の形態に具現されるか適用されうる。さらに、詳細な説明は、本発明の範囲、技術的思想、そして他の目的から逸脱せずに観点及び応用によって修正されるか、又は変更されうる。
図1は、本発明の例示的な実施の形態によるフラッシュメモリに基づくメモリシステムを概略的に示すブロック図である。
図1に示すように、本発明の例示的な実施の形態によるフラッシュメモリに基づくメモリシステムは、フラッシュメモリ100、フラッシュコントローラ200、中央処理装置300、及びRAM400を備え、このような構成200、300、400は、システムバスに電気的に接続されている。
フラッシュコントローラ200は、中央処理装置300の制御に応答して、フラッシュメモリ100を制御する。特に、フラッシュコントローラ200は、フラッシュメモリ100のコピーバックプログラムの動作をハードウェア的に処理するように構成される。これについては、以後に詳細に説明する。フラッシュコントローラ200は、RAM210、アドレスレジスタ220、制御レジスタ230、ECC240、及びステートマシン250を備える。RAM210は、コピーバックプログラムの動作時にフラッシュメモリ100から読み出されたソースデータを一時格納するのに使用され、1ページのデータを格納するのに充分な容量を有する。
アドレスレジスタ220は、中央処理装置300から提供されるソースアドレス及びデスティネイションアドレスを格納するのに使用される。同一プランでコピーバックプログラムの動作が行われる場合に、図2Aに示すように、アドレスレジスタ220には、同一プランに属するソースアドレス及びデスティネイションアドレスが格納される。これに対して、相異するプランでコピーバックプログラムの動作が行われる場合には、図2Bに示すように、アドレスレジスタ220には、各プランに属するソースアドレス及びデスティネイションアドレスが格納される。
次に、図1に示すように、制御レジスタ230は、中央処理装置300から提供されるコピーバックプログラムの動作のための制御情報を格納するのに使用される。例えば、図3に示すように、制御レジスタ230には、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、ECC自動訂正情報、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加/減少情報、デスティネイションアドレスの増加/減少情報、プラン選択情報、などが格納される。ECC240は、フラッシュメモリ100からRAM210へ送信されるデータに対するエラーを検出し、該検出結果に応じてエラーを訂正し、該訂正されたデータをフラッシュメモリ100に送信する。ステートマシン250は、制御レジスタ230に格納された制御情報に応じて、コピーバックプログラムの動作の全般的な動作を制御するように構成される。ステートマシン250は、コピーバックプログラムの動作が完了するときに、中央処理装置300に割込みを発生させる。
中央処理装置300は、コピーバックプログラムの動作が要求されるとき、アドレスレジスタ220及び制御レジスタ230を設定し、ステートマシン250から割込みが発生するまで待機する。これは、中央処理装置300がコピーバックプログラムの動作に必要な情報としてレジスタ220、230を設定した後に、コピーバックプログラムの動作に関与しないことを意味する。RAM400は、フラッシュメモリ100に格納されるデータを一時格納するのに使用される。RAM400の一部は、また、ワークメモリとして使用することができる。
この実施の形態において、フラッシュコントローラ200、中央処理装置300、及びRAM400は、フラッシュメモリ100を制御するメモリコントローラを構成する。フラッシュコントローラ200のRAM210は、システムバスと電気的に分離される。
本発明によるメモリシステムは、フラッシュメモリ100のコピーバックプログラムの動作をソフトウェアの代わりにハードウェアを介して自動的に行うように構成される。これは、ソフトウェア(又はファームウエア)が介入する時間が減少し、その結果、全般的な性能を向上させることが可能である。コピーバックプログラムの動作は、一つのページから他のページにデータを移すためのものであって、これは、この分野に周知のマージ動作時に一つのメモリブロックに属するページの各々に対して行わなければならない。かかる理由で、ソフトウェア(又はファームウエア)が介入する時間をさらに減少させることが可能であり、その結果、全般的な性能をさらに向上させることが可能である。
図4は、本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図であり、図5は、本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図である。以下、本発明によるメモリシステムのコピーバックプログラムの動作を参照図面に基づいて詳細に説明する。
コピーバックプログラムの動作が要求されるとき、中央処理装置300は、フラッシュコントローラ200のアドレス及び制御レジスタ220、230を設定する。例えば、アドレスレジスタ220は、ソースアドレスとデスティネイションアドレスとして設定され、制御レジスタ230は、必要な制御情報として設定される。説明の便宜上、一つのページに対するコピーバックプログラムの動作が同一のプラン内で行われると仮定する。また、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、及びECC自動訂正情報のみが制御情報として制御レジスタ230に設定されると仮定する。
まず、ハードウェアコピーバックプログラム開始情報が設定されると、図4に示すように、00h命令、ソースアドレス、及び35h命令がフラッシュコントローラ200からフラッシュメモリ100に順次出力される。以後、読み出し時間tRの間に、ソースページのデータがページバッファによって読み出される(図5において、(1)と表記される)。読み出し時間tRが経過した後に、ページバッファに格納されたデータは、一定単位でフラッシュコントローラ200のRAM210に送信される(図5において、(2)と表記される)。ECC自動訂正情報が設定されているために、RAM210に送信されるデータに対するエラー検出動作が行われる。
仮に、エラーが検出されないと、図4に示すように、フラッシュコントローラ200は、85h命令、デスティネイションアドレス、及び10h命令をフラッシュメモリ100に順次出力する。フラッシュメモリ100は、10h命令の入力によってページバッファに格納されたデータをデスティネイションページにプログラムする(図5において、(3)と表記される)。すなわち、tPROG時間の間にプログラムの動作が行われる。プログラムの動作が完了した後に、ステートマシン250は、プログラムの動作がフェイルされたか、又はパスされたかを確認する。ステートマシン250は、確認結果に応じて、制御レジスタ230の割込み状態情報をプログラムパス/フェイルと設定し、割込みを発生する。以後、中央処理装置300は、割込みに応答して割込み状態情報を確認する。
コピーバックプログラムの動作が完了されたか否かを確認する動作は、多様に変更されうることは、この分野における通常の知識を有した者にとって自明である。例えば、R/nBピンのロー・ハイ遷移時に状態読み出し命令70hをフラッシュメモリ100に出力することによって、プログラムの動作のパス/フェイルを確認することができる。又は、連続的コピーバックプログラムの動作が要求される場合に、コピーバックプログラムの動作が開始される前に、状態読み出し命令70hをフラッシュメモリ100に出力することによって、以前のコピーバックプログラムの動作のパス/フェイルを確認することができる。説明の便宜上、図4には、前者の場合に対する状態読み出し動作が示されている。
図6は、本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図であり、図7は、本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図であり、図8は、コピーバックプログラムの動作時に行うエラー検出及び訂正動作を説明するための図である。以下、本発明によるメモリシステムのコピーバックプログラムの動作を参照図面に基づいて詳細に説明する。
コピーバックプログラムの動作が要求されるとき、中央処理装置300は、フラッシュコントローラ200のアドレス及び制御レジスタ220、230を設定する。例えば、アドレスレジスタ220は、ソースアドレスとデスティネイションアドレスとして設定され、制御レジスタ230は、必要な制御情報として設定される。説明の便宜上、一つのページに対するコピーバックプログラムの動作が同一プラン内で行われると仮定する。また、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、そしてECC自動訂正情報のみが制御情報として設定されると仮定する。
一旦ハードウェアコピーバックプログラム開始情報が設定されると、図4に示すように、00h命令、ソースアドレス、及び35h命令がフラッシュコントローラ200からフラッシュメモリ100に順次出力される。以後、読み出し時間tRの間に、ソースページのデータがページバッファによって読み出される(図5において、(1)と表記される)。読み出し時間tRが経過した後に、ページバッファに格納されたデータは、一定単位でフラッシュコントローラ200のRAM210に送信される(図5において、(2)と表記される)。ECC自動訂正情報が設定されているために、RAM210に送信されるデータに対するエラー検出動作が行われる。エラー検出動作をさらに具体的に説明すると、以下のとおりである。
図8に示すように、ECC240は、フラッシュメモリ100からRAM210に送信されるデータに対するエラーを検出する。仮に、エラーが検出されると、ECC240は、エラーが発生したデータをRAM210から読み出し、該読み出されたデータに対するエラーを訂正する。また、ECC240は、エラーが発生したことをステートマシン250に知らせると共に、エラーが発生したデータの位置情報をステートマシン250に送信する。エラーが発生することによって、まず、ステートマシン250は、85h命令とデスティネイションアドレスをフラッシュメモリ100に送信する。次に、図6に示すように、ステートマシン250は、エラー訂正されたデータの列アドレスをフラッシュメモリ100に送信し、ECC240は、エラー訂正されたデータ(すなわち、ランダムデータ)をフラッシュメモリ100に送信する(図7において、(3)と表記される)。
フラッシュメモリ100は、10h命令の入力に応じてページバッファに格納されたデータをデスティネイションページにプログラムする(図7において、(4)と表記される)。すなわち、tPROG時間の間にプログラムの動作が行われる。プログラムの動作が完了した後に、ステートマシン250は、プログラムの動作がフェイルされたか、又はパスされたかを確認する。ステートマシン250は、確認結果に応じて制御レジスタ230の割込み状態情報をプログラムパス/フェイルとして設定し、割込みを発生する。以後、中央処理装置300は、割込みに応答して割込み状態情報を確認する。このような割込み状態情報は、プログラムパス/フェイル情報のみでなく、ECCエラー情報を含む。
上述のように、フラッシュメモリのコピーバックプログラムの動作がソフトウェアの介入なしにハードウェア、すなわちフラッシュコントローラ200の制御に応じて自動的に行われる。
図4では、単に1ページに対するコピーバックプログラムの動作が説明された。しかしながら、複数のページに対するコピーバックプログラムの動作が、上述のような方式でハードウェアの制御に応じて自動的に行われることは自明である。例えば、制御レジスタ230の制御情報が複数のページに対するコピーバックプログラムの動作が連続的に行われるように、中央処理装置300によって設定される。さらに詳細に説明すると、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、及びECC自動訂正情報と共に、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加/減少情報、及びデスティネイションアドレスの増加/減少情報が制御情報としてさらに制御レジスタ230に設定される。
かかる場合には、一つのページ、すなわちソースアドレス(アドレスレジスタに設定されたアドレス)に対応するページのデータがデスティネイションアドレス(アドレスレジスタに設定されたアドレス)に対応するページにコピーバックプログラムされる。一旦、コピーバックプログラムの動作がプログラムパスとして終了すると、ステートマシン250の制御に応じてソースアドレス及びデスティネイションアドレスが1だけ増加/減少される。増加/減少されたソースアドレスのページに対するコピーバックプログラムの動作は、上述したものと実質的に同様に行われる。そのため、それについての説明は省略する。ハードウェアコピーバック繰り返し回数情報分だけコピーバックプログラムの動作が反復的に行われる。
フラッシュメモリ100が2個のプランで構成される場合に、2−プランコピーバックプログラムの動作も、上述の方式と同様にフラッシュコントローラ200によって自動的に行われる。例えば、中央処理装置300によって図2Bに示すアドレスレジスタ220が第1プランのソース及びデスティネイションアドレスと第2プランのソース及びデスティネイションアドレスとして設定される。かかる場合に、制御レジスタ230のプラン選択情報は、2個のプランが同時に選択されるように設定される。アドレス及び制御レジスタ220、230が設定された後に、各プランのソースページのデータがページバッファに同時に移される(図9において、(1)と表記される)。その後、第1プランのページバッファに格納されたデータがフラッシュコントローラ200のRAM210に送信される。このとき、上述のように、ECC240によって送信データに対するエラーが検出される(図9において、(2)と表記される)。
次に、第2プランのページバッファに格納されたデータがフラッシュコントローラ200のRAM210に送信される。同様に、ECC240によって送信データに対するエラーが検出される(図9において、(2)と表記される)。エラーが検出される場合に、上述のように、各プランでエラー訂正されたデータは、デスティネイションアドレスと共にフラッシュコントローラ200の制御に応じて対応するページバッファにロードされる(図9において、(3)と表記される)。以後、ページバッファに格納されたデータは、対応するデスティネイションページに各々プログラムされる。
第1プランのソースページから読み出されたデータを他のプランのデスティネイションページにコピーバックプログラムすることが可能である。例えば、図10に示すように、中央処理装置300によって図2Bに示すアドレスレジスタ220が第1プランのソースアドレスと第2プランのデスティネイションアドレスとが設定される。かかる場合に、制御レジスタ230には、他のプラン選択情報がさらに提供される。アドレス及び制御レジスタ220、230が設定された後に、第1プランのソースページのデータがページバッファに移される(図10において、(1)と表記される)。
その次に、第1プランのページバッファに格納されたデータがフラッシュコントローラ200のRAM210に送信される。このとき、上述のように、ECC240によって送信データに対するエラーが検出される(図10において、(2)と表記される)。エラーが検出される場合に、RAM210に格納されたデータのうち、エラーのあるデータは、ECC240によって訂正される。以後、RAM210に格納されたデータは、デスティネイションアドレスと共に第2プランのページバッファにロードされる(図10において、(3)と表記される)。以後、第2プランのページバッファに格納されたデータは、デスティネイションページにプログラムされる(図10において、(4)と表記される)。
図11は、本発明の他の実施の形態によるフラッシュメモリを概略的に示すブロック図である。
図11に示すように、フラッシュメモリ500は、メモリセルアレイ510、行デコーダ回路520、ページバッファ回路530、列デコーダ回路540、制御ロジック550、及び繰り返しレジスタ560を備える。メモリセルアレイ510、行デコーダ回路520、ページバッファ回路530、列デコーダ回路540、及び制御ロジック550は、この分野における通常の知識を有した者にとって周知であるから、それについての説明は省略する。繰り返しレジスタ560には、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加/減少情報、そしてデスティネイションアドレスの増加/減少情報が格納される。繰り返しレジスタ560に格納された情報に応じて、すなわち、ハードウェアコピーバック繰り返し回数情報分だけコピーバックプログラムの動作が反復的に行われる。コピーバックプログラムの動作は、この分野における通常の知識を有した者にとって自明であり、それについての説明は省略する。
フラッシュメモリ装置100は、エラー検出ブロック570をさらに備える。エラー検出ブロック570は、コピーバックプログラムの動作の間にエラーの発生有無を検出するように構成される。コピーバックプログラムの動作の間にエラーが検出されるとき、制御ロジック550は、プログラムの動作を終了させる。プログラムの動作が終了した後、制御ロジック550は、状態読み出し動作を介してフェイルされたページ情報を外部(例えば、メモリコントローラ)に出力する。
繰り返し情報を繰り返しレジスタ560に設定する方式は、多様に具現することができる。まず、図12Aに示すように、ソースアドレスに対応するページから読み出し動作が行われた後、繰り返し命令RPT CMDと繰り返しデータがメモリコントローラからフラッシュメモリ装置100に提供される。ここで、繰り返しデータは、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加/減少情報、及びデスティネイションアドレスの増加/減少情報を含む。入力された繰り返しデータは、繰り返しレジスタ560に格納される。繰り返し命令RPT CMDと繰り返しデータの入力は、多様に変更できる。
例えば、図12Bに示すように、繰り返し命令RPT CMDと繰り返しデータは、デスティネイションアドレスの入力後に、そしてプログラムの動作の開始前にメモリコントローラでフラッシュメモリ装置100に提供することが出来る。入力された繰り返しデータは、繰り返しレジスタ560に格納される。又は12Cに示すように、繰り返し命令RPT CMDと繰り返しデータは、ソースアドレスの入力後に、かつ読み出し動作の開始前にメモリコントローラからフラッシュメモリ装置100に提供することができる。入力された繰り返しデータは、繰り返しレジスタ560に格納される。図示していなが、ソースアドレスの入力前に繰り返し命令及び繰り返しデータが入力されうることは、この分野における通常の知識を有した者にとって自明である。
図12において説明されたものとは異なり、繰り返しデータ無しで繰り返し命令RP TCMDのみをフラッシュメモリ装置100に提供することもできる。かかる場合に、繰り返しデータは、予めフラッシュメモリ装置100に設定される。例えば、繰り返しレジスタ560は、予め決定された繰り返しデータを格納するように、不揮発性特性を有する格納装置で具現される。したがって、繰り返し命令が入力される場合に、フラッシュメモリ装置100は、繰り返しレジスタ560に予め設定された繰り返しデータに応じてコピーバックプログラムの動作を行う。繰り返し命令RPT CMDが入力される時点は、多様に具現されることができる。
例えば、図13Aに示すように、ソースアドレスに対応するページから読み出し動作が行われた後に、繰り返し命令RPT CMDをメモリコントローラからフラッシュメモリ装置100に提供することができる。又は、図13Bに示すように、繰り返し命令RPT CMDは、デスティネイションアドレスの入力後に、そしてプログラムの動作の開始前にメモリコントローラからフラッシュメモリ装置100に提供することができる。又は、図12Cに示すように、繰り返し命令RPT CMDは、ソースアドレスの入力後に、かつ読み出し動作の開始前にメモリコントローラからフラッシュメモリ装置100に提供することができる。図面には図示していなが、ソースアドレスの入力前に繰り返し命令が入力されうることは、この分野における通常の知識を有した者にとって自明である。
図13A〜図13Cで説明した繰り返し命令は、図13A〜図13Cに示す命令00h、35h、10h等のうちのいずれか一つを用いて具現することもできる。例えば、00hを11hに変更することによって、繰り返し命令をフラッシュメモリ装置100に提供することが可能である。かかる場合に、繰り返しレジスタ560には、予め設定された繰り返しデータが格納される。命令の組み合わせで繰り返しデータを提供することが可能である。
以上で、本発明による回路の構成及び動作を上記説明及び図面に従って示したが、これは例示の目的のために開示されたものであり、本発明の属する技術の分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲内で、様々な置換、変形、及び変更が可能であり、このような置換、変更などは、特許請求の範囲に属するものである。
本発明によるフラッシュメモリに基づくメモリシステムを概略的に示すブロック図である。 図1に示すアドレスレジスタを示す図である。 図1に示す制御レジスタを示す図である。 本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図である。 本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図である。 本発明によるメモリシステムのコピーバックプログラムの動作を説明するためのタイミング図である。 本発明によるメモリシステムのコピーバックプログラムの動作時のデータの流れを示す図である。 コピーバックプログラムの動作時に行うエラー検出及び訂正動作を説明するための図である。 本発明によるメモリシステムの2−プランコピーバックプログラムの動作を説明するための図である。 本発明によるメモリシステムの2−プランコピーバックプログラムの動作の他の実施の形態を説明するための図である。 本発明の他の実施の形態によるフラッシュメモリを概略的に示すブロック図である。 図11に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。(その1) 図11に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。(その2) 図11に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。(その3) 図11に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。(その1) 図11に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。(その2) 図11に示すフラッシュメモリ装置に繰り返し命令及び繰り返しデータを提供する方法を説明するための図である。(その3)
符号の説明
100 フラッシュメモリ
200 フラッシュコントローラ
210、400 RAM
220 アドレスレジスタ
230 制御レジスタ
240 ECC
250 ステートマシン
300 中央処理装置

Claims (30)

  1. フラッシュメモリと、
    中央処理装置と、
    コピーバックプログラムの動作時に前記中央処理装置によって設定されるアドレス及び制御レジスタを具備し、ファームウエアの介入なしに前記レジスタに格納された情報に応じて前記フラッシュメモリのコピーバックプログラムの動作をハードウェア的に制御するフラッシュコントローラと、を備えることを特徴とするメモリシステム。
  2. 前記フラッシュコントローラは、前記フラッシュメモリのコピーバックプログラムの動作が終了したか否かを割込みを介して前記中央処理装置に知らせることを特徴とする請求項1に記載のメモリシステム。
  3. 前記フラッシュコントローラは、前記コピーバックプログラムの動作の間に一連の命令、アドレス、及びデータをファームウエアの介入なしに生成することを特徴とする請求項1に記載のメモリシステム。
  4. 前記フラッシュコントローラは、前記コピーバックプログラムの動作の間にソースデータに対するエラー訂正及び検出動作を行うことを特徴とする請求項1に記載のメモリシステム。
  5. 前記ソースデータからエラーが検出されないとき、前記フラッシュコントローラは、前記アドレスレジスタに設定された情報に応じて、デスティネイションアドレス及び命令を前記フラッシュメモリに出力することを特徴とする請求項4に記載のメモリシステム。
  6. 前記ソースデータからエラーが検出されるとき、前記フラッシュコントローラは、エラー訂正されたデータと共に、前記アドレスレジスタに設定された情報に応じてデスティネイションアドレス及び命令を前記フラッシュメモリに出力することを特徴とする請求項4に記載のメモリシステム。
  7. 前記フラッシュコントローラは、前記制御レジスタに設定された情報に応じて、前記フラッシュメモリのコピーバックプログラムの動作を反復的に行うことを特徴とする請求項1に記載のメモリシステム。
  8. 前記コピーバックプログラムの動作の間に前記フラッシュメモリの同一プランでページデータが複写されることを特徴とする請求項1に記載のメモリシステム。
  9. 前記コピーバックプログラムの動作の間に、前記フラッシュメモリの相異するプランでページデータが同時に複写されることを特徴とする請求項1に記載のメモリシステム。
  10. 前記コピーバックプログラムの動作の間に、前記フラッシュメモリの第1プランから第2プランへページデータが複写されることを特徴とする請求項1に記載のメモリシステム。
  11. 前記制御レジスタは、ハードウェアコピーバックプログラム開始情報、割込みイネーブル情報、割込み状態情報、ECC自動訂正情報、ハードウェアコピーバック繰り返し回数情報、ソースアドレスの増加/減少情報、デスティネイションアドレスの増加/減少情報、及びプラン選択情報のいずれかの制御情報を含むことを特徴とする請求項1に記載のメモリシステム。
  12. 前記フラッシュコントローラは、前記制御レジスタのハードウェアコピーバックプログラム開始情報が設定される時に前記コピーバックプログラムの動作を制御することを特徴とする請求項11に記載のメモリシステム。
  13. 前記フラッシュコントローラは、前記ハードウェアコピーバック繰り返し回数情報、前記ソースアドレスの増加/減少情報、そしてデスティネイションアドレスの増加/減少情報に応じて、コピーバックプログラムの動作を反復的に行うことを特徴とする請求項11に記載のメモリシステム。
  14. 前記フラッシュメモリに格納されるデータを一時格納する第1RAMをさらに含むことを特徴とする請求項1に記載のメモリシステム。
  15. 前記フラッシュコントローラ、前記中央処理装置、及び前記第1RAMは、システムバスに電気的に接続されることを特徴とする請求項14に記載のメモリシステム。
  16. 前記フラッシュコントローラは、
    前記コピーバックプログラムの動作時に前記フラッシュメモリから読み出されたソースデータを一時格納する第2RAMと、
    前記ソースデータに対するエラーを検出及び訂正するエラー検出訂正回路と、
    前記アドレス及び制御レジスタに設定された情報に応じて、前記コピーバックプログラムの動作に必要な一連の命令及びアドレスを生成するステートマシンと、
    をさらに備えることを特徴とする請求項15に記載のメモリシステム。
  17. 前記第2RAMは、前記システムバスと電気的に分離されることを特徴とする請求項16に記載のメモリシステム。
  18. 前記メモリシステムは、メモリカードを含むことを特徴とする請求項1に記載のメモリシステム。
  19. 複数のページを含むメモリセルアレイと、
    前記メモリセルアレイに対する読み出し及びプログラムの動作を行う読み出し/プログラム回路と、
    繰り返しデータを格納する繰り返しレジスタと、
    前記繰り返しレジスタに格納された繰り返しデータに応じて、コピーバックプログラムの動作を反復的に行うように前記読み出し/プログラム回路を制御する制御ロジックと、を備えることを特徴とするフラッシュメモリ装置。
  20. 前記繰り返しデータは、前記コピーバック繰り返し回数情報、前記ソースアドレスの増加/減少情報、そして上記のデスティネイションアドレスの増加/減少情報を含むことを特徴とする請求項19に記載のフラッシュメモリ装置。
  21. 前記繰り返しレジスタは、ソースページに対する読み出し動作が遂行される以前に繰り返し命令と共に入力される前記繰り返しデータを設定することを特徴とする請求項20に記載のフラッシュメモリ装置。
  22. 前記繰り返しレジスタは、ソースページに対する読み出し動作が行われた後にデスティネイションアドレスに対するプログラムの動作が行われる以前に繰り返し命令と共に入力される前記繰り返しデータを設定することを特徴とする請求項20に記載のフラッシュメモリ装置。
  23. 前記繰り返しレジスタは、前記繰り返しデータを格納するように構成された不揮発性格納回路であることを特徴とする請求項20に記載のフラッシュメモリ装置。
  24. 繰り返し命令が入力されるとき、前記制御ロジックは、コピーバックプログラムの動作を反復的に行うように、前記繰り返しレジスタに格納された前記繰り返しデータに応じて前記読み出し/プログラム回路を制御することを特徴とする請求項23に記載のフラッシュメモリ装置。
  25. 前記繰り返し命令は、ソースページに対する読み出し動作が遂行される以前に入力されることを特徴とする請求項24に記載のフラッシュメモリ装置。
  26. 前記繰り返し命令は、ソースページに対する読み出し動作が行われた後に、デスティネイションアドレスに対するプログラムの動作が行われる以前に入力されることを特徴とする請求項24に記載のフラッシュメモリ装置。
  27. 前記繰り返し命令は、ソースアドレスの入力を表す命令とデスティネイションアドレスの入力を表す命令のうちのいずれか一つであることを特徴とする請求項24に記載のフラッシュメモリ装置。
  28. 前記繰り返しデータは、ソースアドレスの入力を表す命令とデスティネイションアドレスの入力を表す命令との組み合わせによって前記繰り返しレジスタに設定されることを特徴とする請求項19に記載のフラッシュメモリ装置。
  29. 前記コピーバックプログラムの動作の繰り返し時にエラーを検出するエラー検出ブロックをさらに備えることを特徴とする請求項19に記載のフラッシュメモリ装置。
  30. 前記コピーバックプログラムの動作の繰り返し時にエラーが検出されるとき、前記制御ロジックは、前記コピーバックプログラムの動作を終了し、状態読み出し命令に応じてフェイルされたページ情報を外部に出力することを特徴とする請求項29に記載のフラッシュメモリ装置。
JP2008059901A 2007-03-12 2008-03-10 フラッシュメモリに基づくメモリシステム Expired - Fee Related JP5427360B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070024090A KR100918707B1 (ko) 2007-03-12 2007-03-12 플래시 메모리를 기반으로 한 메모리 시스템
KR10-2007-0024090 2007-03-12

Publications (2)

Publication Number Publication Date
JP2008226245A true JP2008226245A (ja) 2008-09-25
JP5427360B2 JP5427360B2 (ja) 2014-02-26

Family

ID=39763818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008059901A Expired - Fee Related JP5427360B2 (ja) 2007-03-12 2008-03-10 フラッシュメモリに基づくメモリシステム

Country Status (3)

Country Link
US (1) US7941586B2 (ja)
JP (1) JP5427360B2 (ja)
KR (1) KR100918707B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369163B2 (en) 2009-12-24 2013-02-05 SK Hynix Inc. Memory device for reducing programming time

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152496B2 (en) * 2007-12-21 2015-10-06 Cypress Semiconductor Corporation High performance flash channel interface
US8621137B2 (en) 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Metadata rebuild in a flash memory controller following a loss of power
TW200935433A (en) * 2008-02-15 2009-08-16 Asmedia Technology Inc Method for reducing data error when flash memory storage device using copy back command
US7719876B2 (en) 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
US8145985B2 (en) * 2008-09-05 2012-03-27 Freescale Semiconductor, Inc. Error detection schemes for a unified cache in a data processing system
US8291305B2 (en) * 2008-09-05 2012-10-16 Freescale Semiconductor, Inc. Error detection schemes for a cache in a data processing system
US8825912B2 (en) * 2008-11-12 2014-09-02 Microchip Technology Incorporated Dynamic state configuration restore
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
KR101575248B1 (ko) * 2009-04-30 2015-12-07 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US20110296131A1 (en) * 2010-05-31 2011-12-01 Samsung Electronics Co., Ltd Nonvolatile memory system and the operation method thereof
KR101148352B1 (ko) * 2010-11-02 2012-05-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
US8909982B2 (en) * 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8938658B2 (en) 2011-11-07 2015-01-20 Sandisk Enterprise Ip Llc Statistical read comparison signal generation for memory systems
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8976604B2 (en) * 2012-02-13 2015-03-10 Macronix International Co., Lt. Method and apparatus for copying data with a memory array having redundant memory
TWI457760B (zh) * 2012-02-23 2014-10-21 Macronix Int Co Ltd 具有冗餘記憶體之記憶體陣列的資料複製方法及裝置
CN103295647B (zh) * 2012-03-02 2016-02-10 旺宏电子股份有限公司 具有冗余存储器的存储器阵列的数据复制方法及装置
US8755215B2 (en) * 2012-07-31 2014-06-17 SK Hynix Inc. Resistive memory device
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US10169225B2 (en) * 2015-01-23 2019-01-01 Silicon Motion, Inc. Memory system and memory-control method with a programming status
US10387046B2 (en) * 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10915448B2 (en) 2017-08-22 2021-02-09 Seagate Technology Llc Storage device initiated copy back operation
KR102415218B1 (ko) * 2017-11-24 2022-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
TWI679537B (zh) 2018-03-09 2019-12-11 深圳大心電子科技有限公司 資料移動方法及儲存控制器
US11726869B2 (en) 2019-08-20 2023-08-15 Micron Technology, Inc. Performing error control operation on memory component for garbage collection
US20210055878A1 (en) * 2019-08-20 2021-02-25 Micron Technology, Inc. Data compaction within the same plane of a memory component
US11281578B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Garbage collection in a memory sub-system during a low battery state
US11282567B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Sequential SLC read optimization
US11036633B2 (en) 2019-08-22 2021-06-15 Micron Technology, Inc. Hierarchical memory apparatus
US11281392B2 (en) 2019-08-28 2022-03-22 Micron Technology, Inc. Garbage collection in a memory component using an adjusted parameter

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001006379A (ja) * 1999-06-16 2001-01-12 Fujitsu Ltd 複写、移動機能を有するフラッシュメモリ
JP2003186739A (ja) * 2001-12-13 2003-07-04 Seiko Epson Corp 半導体記憶装置、制御装置及び半導体記憶装置の制御方法
JP2004152301A (ja) * 2002-10-28 2004-05-27 Sandisk Corp 不揮発性メモリシステムにおいて用いられる電力管理ブロック
JP2004327021A (ja) * 2003-04-29 2004-11-18 Samsung Electronics Co Ltd パーシャルコピーバック動作モードを有するフラッシュメモリ装置
US20050172065A1 (en) * 2004-01-30 2005-08-04 Micron Technology, Inc. Data move method and apparatus
WO2006007264A2 (en) * 2004-06-23 2006-01-19 Atmel Corporation Simultaneous external read operation during internal programming in a flash memory device
WO2006068963A1 (en) * 2004-12-21 2006-06-29 Sandisk Corporation Data relocation in a memory system
JP2006294218A (ja) * 2005-04-07 2006-10-26 Samsung Electronics Co Ltd 不揮発性メモリ装置及びそのマルチページコピーバック方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802553A (en) 1995-12-19 1998-09-01 Intel Corporation File system configured to support variable density storage and data compression within a nonvolatile memory
KR100263672B1 (ko) 1997-05-08 2000-09-01 김영환 가변적인 페이지 크기를 지원하는 어드레스 변환장치
US6614685B2 (en) 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures
KR100572328B1 (ko) * 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템
JP2006244017A (ja) 2005-03-02 2006-09-14 Matsushita Electric Ind Co Ltd データコピー方法
JP4910426B2 (ja) 2005-03-03 2012-04-04 パナソニック株式会社 不揮発性記憶装置の書込み方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001006379A (ja) * 1999-06-16 2001-01-12 Fujitsu Ltd 複写、移動機能を有するフラッシュメモリ
JP2003186739A (ja) * 2001-12-13 2003-07-04 Seiko Epson Corp 半導体記憶装置、制御装置及び半導体記憶装置の制御方法
JP2004152301A (ja) * 2002-10-28 2004-05-27 Sandisk Corp 不揮発性メモリシステムにおいて用いられる電力管理ブロック
JP2004327021A (ja) * 2003-04-29 2004-11-18 Samsung Electronics Co Ltd パーシャルコピーバック動作モードを有するフラッシュメモリ装置
US20050172065A1 (en) * 2004-01-30 2005-08-04 Micron Technology, Inc. Data move method and apparatus
WO2006007264A2 (en) * 2004-06-23 2006-01-19 Atmel Corporation Simultaneous external read operation during internal programming in a flash memory device
WO2006068963A1 (en) * 2004-12-21 2006-06-29 Sandisk Corporation Data relocation in a memory system
JP2006294218A (ja) * 2005-04-07 2006-10-26 Samsung Electronics Co Ltd 不揮発性メモリ装置及びそのマルチページコピーバック方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369163B2 (en) 2009-12-24 2013-02-05 SK Hynix Inc. Memory device for reducing programming time

Also Published As

Publication number Publication date
US7941586B2 (en) 2011-05-10
JP5427360B2 (ja) 2014-02-26
KR100918707B1 (ko) 2009-09-23
US20080229000A1 (en) 2008-09-18
KR20080083474A (ko) 2008-09-18

Similar Documents

Publication Publication Date Title
JP5427360B2 (ja) フラッシュメモリに基づくメモリシステム
JP5021220B2 (ja) 不揮発性メモリ装置及びそのマルチページコピーバック方法
JP4711531B2 (ja) 半導体記憶装置
US7921339B2 (en) Flash storage device with data correction function
JP5492679B2 (ja) 記憶装置およびメモリコントローラ
US20070170268A1 (en) Memory cards, nonvolatile memories and methods for copy-back operations thereof
JP2017224379A (ja) 内部ecc処理を有するnand型フラッシュメモリおよびその動作方法
JP4984666B2 (ja) 不揮発性メモリ
JP2006107710A (ja) 停電によるプログラムエラーの有無を検出することができる集積回路メモリ装置及び方法
JP2006079808A (ja) Nandフラッシュメモリ装置及びそれのコピーバックプログラム方法
JP2004311010A (ja) エラー訂正機能を有したフラッシュメモリ装置
KR20100082710A (ko) 데이터 메모리 디바이스 및 인터페이스 에러 검출 및 처리 논리를 갖는 제어기
JP2012234363A (ja) メモリシステム
KR20150029402A (ko) 데이터 저장 시스템 및 그것의 동작 방법
JP2009301194A (ja) 半導体記憶装置の制御システム
KR20170076106A (ko) 제어회로 및 제어회로를 포함하는 메모리 장치
JP2019114318A (ja) Nandプログラミングフェイルを処理するための内部コピー
JP2010079856A (ja) 記憶装置およびメモリ制御方法
JP4256307B2 (ja) メモリカード
JP2007305105A (ja) メモリコントローラ
KR101627322B1 (ko) 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법
US8046529B2 (en) Updating control information in non-volatile memory to control selection of content
JP2011118922A (ja) 半導体記憶装置の読出し・書き込み方法
US10120614B2 (en) Storage device, storage system, and method of controlling storage device
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130905

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5427360

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

LAPS Cancellation because of no payment of annual fees