JP2008504637A - フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作 - Google Patents

フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作 Download PDF

Info

Publication number
JP2008504637A
JP2008504637A JP2007518087A JP2007518087A JP2008504637A JP 2008504637 A JP2008504637 A JP 2008504637A JP 2007518087 A JP2007518087 A JP 2007518087A JP 2007518087 A JP2007518087 A JP 2007518087A JP 2008504637 A JP2008504637 A JP 2008504637A
Authority
JP
Japan
Prior art keywords
data
register
memory device
location
destination
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.)
Withdrawn
Application number
JP2007518087A
Other languages
English (en)
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.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of JP2008504637A publication Critical patent/JP2008504637A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

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

Abstract

メモリ装置(301)の内部のプログラミング中に同時に外部の読出動作を実行するためのシステム(300)および方法が記載される。メモリ装置は、データをランダムに記憶するように構成されており、かつ、ソース場所(305)と、宛先場所(303)と、データレジスタ(307)と、キャッシュレジスタ(309)とを含む。データレジスタ(307)は、データを宛先(303)およびキャッシュレジスタ(309)に同時に書込むように構成される。システム(300)はさらに、メモリ装置との電気的な通信を介して受信したデータの的確さを検証するための処理装置(107)(たとえば、マイクロプロセッサまたはマイクロコントローラ)を含む。処理装置(107)はさらに、受信したデータが不正確であった場合、誤り訂正を行ない、必要に応じてそのデータにランダムデータを追加し、誤り訂正済みおよび/またはランダムデータ変更されたデータを宛先場所(303)に転送して戻すように構成される。

Description

この発明は、半導体メモリ装置に関する。より具体的には、この発明は、メモリセルにおいてコピーバック動作を行なうためのシステムおよび方法に関する。
半導体メモリ装置は、典型的には、揮発性メモリ装置および不揮発性メモリ装置に分類される。揮発性メモリ装置は、さらにダイナミックランダムアクセスメモリ(DRAM)およびスタティックランダムアクセスメモリ(SRAM)に分けられる。不揮発性メモリタイプには、マスク読出専用メモリ(MROM)、プログラマブル読出専用メモリ(PROM)、消去可能なプログラマブル読出専用メモリ(EPROM)および電気的に消去可能なプログラマブル読出専用メモリ(EEPROM)が含まれる。EEPROMは連続的な更新または予備のメモリ装置が必要であるシステムプログラミングに使用されることが多くなっている。特に、フラッシュEEPROMは、その集積密度が従来のEEPROMに比べて高いために大容量記憶装置として有利である。フラッシュEEPROMの中でも、NANDタイプのフラッシュEEPROMは、NORタイプまたはANDタイプのフラッシュEEPROMに比べて高い集積密度を有する。
現在、フラッシュ装置における動作によって、ユーザは、データを外部のメモリに書出して、再度宛先に書込む代わりに、ソースアドレスの場所に内部記憶された1ページ(メモリのページのサイズは、典型的には、256バイトから2キロバイトである)のデータを直接、宛先アドレスの場所にコピーすることができる。よって、この動作に必要なステップは1つだけなので、効率的である。これは、コピーバック動作の一例である。ただし、このタイプのコピーバックはブラインド動作である。ユーザには、正しいデータがコピーされたかどうかがわからない。コピーされているデータが壊れているか、または間違っていた場合、そのデータは、宛先に不適切に書込まれることになる。
よって、このタイプのコピーバック動作で装置の性能は向上するように思われるが、ソースのデータの信頼性は保証されない。結果として、このコピーバック方式では、誤ったデータが宛先アドレスにコピーされるのを防ぐことはできない。
信頼性を確保できる最も有力な方法の1つは、誤り訂正符号(ECC)を用いることである。データメモリの信頼性を確保するために、さまざまな誤り訂正方式が使用可能である。ある誤り訂正方式では、たとえば、放電ロスによる誤りを訂正し、データの完全性を是正し、誤りのあるデータを廃棄できる。しかしながら、典型的な誤り訂正方式でデータの完全性を確認するには、少なくとも1つの順次ランダム読出サイクルをさらに実行する必要がある。この順次読出ステップを追加すると、フラッシュ装置の性能が低下し、さらにCPUバスを接続し、かつ、CPUクロックサイクルに、誤り訂正を実行させることで、システム全体の性能が低下する。
図1は、先行技術の別のコピーバック方式を示す。図1は、フラッシュメモリ装置101と、マイクロコントローラ107と、シリアルバス109とを含む。フラッシュメモリ装置101は、ソースアドレス場所103と宛先アドレス場所105とを含む。
フラッシュメモリ装置101は、たとえば、NANDタイプの装置であってもよい。フラッシュメモリ装置101は、典型的には、シリアルバス109を通してマイクロコントローラ107などの外部処理装置と通信する。マイクロコントローラ107はまた、CP
Uまたはその他のマイクロプロセッサなどの別の処理装置であってもよい。コピーバック動作を実行するために、マイクロコントローラ107はまず、ソースアドレス場所103に格納されているデータを読出す。マイクロコントローラ107は次に、読出されたデータのコピーを、宛先アドレス場所105に書込む。
最後に、マイクロコントローラ107は、宛先アドレス場所105にある新しく書き込まれたデータの最終読出動作(図示せず)を実行することにより、宛先アドレス場所105に書込まれたデータを検証する。図1に示すような典型的なコピーバック方式は、効果的ではあるが、フラッシュメモリ装置101とマイクロコントローラ107との間で行なわれるすべての読出動作および書込動作は、シリアルバス109を介する必要があるので速度が遅い。
図2は、先行技術の別のコピーバック方式を示す。この方式では、フラッシュメモリ装置201に内部データレジスタ209が追加される。ここでは、ソースアドレス場所103に記憶されたデータが直接、データレジスタ209に転送される。そこでデータレジスタ209は、ソースアドレス場所203に記憶されている中から当該データのコピーを、宛先アドレス場所205に転送する。このシステムは、高速データ転送に対応可能である。しかしながら、マイクロコントローラ107とのやり取りがないために、データの完全性を検証することができない。典型的には、マイクロコントローラが必要に応じて誤り訂正機能を実行すること(たとえば、誤り訂正符号(ECC)を実行するなど)が求められる。データレジスタ209の存在によって、キャッシュ動作が可能となるので、データレジスタ209におけるデータは、宛先アドレスでプログラミング可能となる前に、マイクロコントローラによって変更できる。
NANDタイプのフラッシュEEPROMは、ページのコピーバック動作に対応しており、それは、データ情報をあるページから別のページへ、外部に出力せずにコピーできることを意味する。そのような装置の1つが、ミヤモトへの米国特許第RE36,732号に記載されている。この開示された装置は、「『データ(原文のまま)がコピーバックされるとき、読出されたデータを外部ユニットに読出さずに』、・・・データを転送するための不揮発性半導体メモリ装置」(強調追記、ミヤモトの要約書)。ミヤモトの装置は、CPUを使用せずに、あるロウのメモリデータを別のロウにコピーすると同時に、コピーバック動作を実行することによって、全体のコピーバック時間を短縮する。
コピーバック動作を取入れた別のメモリ装置が、バイオンらへの米国特許出願第2003/0076719号に記載されている。バイオンは、「・・・(するところの)不揮発性メモリ装置は、『読出動作中はセンスアンプとして機能し、かつ、プログラミング動作中は書込ドライバとして機能するページバッファ』を含む。このページバッファは、2つのセンスおよびラッチブロックを有し、これらは、同一の機能を独占的に実行する。一方のセンスおよびラッチブロックが読出動作を実行する間、他方のセンスおよびラッチブロックは予め検出されたデータを外部に出力する。さらに、一方のセンスおよびラッチブロックがプログラミング動作を実行する間、他方のセンスおよびラッチブロックはプログラミングすべきデータをロードする。ページバッファによって、この不揮発性メモリ装置の動作速度を向上させることができる」(強調追記、バイオンの要約)。
しかしながら、ミヤモトもバイオンらも、(1)データの完全性を検証し、(2)データが無効であった場合に、誤り訂正を実行するか、または(3)内部のプログラミング動作を実行する間、同時に外部の読出動作を実行するための手段を開示していない。
したがって、フラッシュメモリ装置が、内部のプログラミング動作の実行と同時に外部の読出動作を実行し、読出動作の後にデータの完全性を検証し、かつ、必要に応じて誤り訂正を行なうことを可能にするためのシステムおよび方法が必要である。
発明の概要
この発明は、転送すべきデータのミラーコピーを、外部処理装置からアクセス可能なキャッシュレジスタに与えることによって、メモリ装置の内部のプログラミング中に同時に外部の読出動作を実行するためのシステムである。メモリ装置は、データをランダムに記憶するように構成されており、かつ、ソースメモリ場所と、宛先メモリ場所と、データレジスタと、キャッシュレジスタとを含む。データレジスタは、データを宛先メモリ場所およびキャッシュレジスタに同時に書込むように構成されている。ソースメモリ場所および宛先メモリ場所は、データレジスタと電子的に通信するように動作可能であり、データレジスタはさらに、キャッシュレジスタと通信するように動作可能である。このシステムはさらに、メモリ装置との電気的な通信を介して受信したデータの的確さを検証するための処理装置(たとえば、マイクロプロセッサまたはマイクロコントローラ)を含む。処理装置はさらに、受信したデータが不正確であった場合、誤り訂正を行なうように構成されている。
この発明の例証的な動作において、マイクロコントローラがキャッシュメモリに記憶されたデータを読出す間、そのデータは同時に宛先アドレスにプログラミングされる。さらに、そのデータが宛先アドレスにプログラミングされている間、マイクロコントローラが誤りの検出および訂正を実行してもよい。
この発明はまた、メモリ装置において、内部のプログラミング中に同時に外部の読出動作を実行するための方法である。この方法は、メモリ装置のソースアドレス場所に記憶された元のデータをデータレジスタにコピーし、同時にその元のデータをデータレジスタからキャッシュレジスタおよび宛先場所にコピーし、かつ、キャッシュレジスタに記憶された元のデータを処理装置に転送することを含む。
元のデータが一旦処理装置内に入ると、転送された元のデータと、ソースアドレス場所に記憶されている然るべきデータとを照合することで、元のデータの完全性を検証できる。この検証によって、転送された元のデータにおける潜在的な誤りが検出される。誤りが検出された場合、転送された元のデータに対して誤り訂正を実行することで、誤り訂正済みのデータを作成できる。さらに処理装置は、追加のランダムデータを誤り訂正済みデータストリームまたは転送された元のデータストリームに挿入することで、変更された誤り訂正済みのデータまたは変更された元のデータを作成できる。誤り訂正済みのデータ、変更された誤り訂正済みのデータまたは変更されたデータはそこで、処理装置からキャッシュレジスタに転送され、次に、処理装置から転送されたデータのコピーがデータレジスタにミラーリングされ、最後に、処理装置から転送されたデータがメモリ装置内の宛先場所にコピーされる。
発明を実施するためのベストモード
図3に関して、フラッシュ装置において、内部のプログラミング動作中に同時に外部の読出動作を実行するためのシステム300のブロック図を示す。図3は、フラッシュメモリ装置301と、宛先アドレス場所303と、ソースアドレス場所305と、データレジスタ307と、キャッシュレジスタ309とを含む。たとえば、フラッシュメモリ装置301を含む同じ集積回路チップ上に配置可能なステートマシン(図示せず)は、後述するルーチンを制御および実行することを目的とする。
一実施例では、フラッシュメモリ装置301はNANDフラッシュメモリ装置である。代わりに、フラッシュメモリ装置301は、NOR論理素子またはAND論理素子に基づくものであってもよい。コピーバック動作コマンドがアサートされると、ソースアドレス場所305のデータが、データレジスタ307に読出される。データレジスタ307に読出されるデータは、たとえば、まる1ページ分のデータであってもよい。一実施例では、ページのサイズは、256バイトまたは512バイトから最大2キロバイトで構成される。ソースデータが一旦データレジスタ307に読出されると、データレジスタ307は、そのデータを宛先アドレス場所303に書込む(すなわち、プログラミングする)(概念上、書込動作311として示す)と同時に、そのデータのミラーコピーをキャッシュレジスタ309に書込む。フラッシュメモリ場所への書込に要する時間は、フラッシュメモリ場所からの読出に要する時間に比べて相当長くなる可能性があるので、データが宛先ソース場所303に書込まれている間に、キャッシュレジスタ309に記憶されたデータのミラーコピーが、シリアルバス109を介してマイクロコントローラ107に読出されるようにしてもよい(概念上、読出動作313として示す)。上記の各々の動作における特定の相対的なタイミングについては、図4を参照して、さらに詳細に述べる。
データの少なくとも一部が一旦マイクロコントローラ107に転送されると、マイクロコントローラ107は、そのデータと、ソースアドレス場所305に元から記憶されていると思われるデータとの照合を開始することができる。マイクロコントローラ107が、たとえば、電荷ロスによるビット誤りによって、そのデータの完全性が部分的に失われていると判定した場合、マイクロコントローラ107は、当業者にとっては周知の誤り訂正符号化の方法によってそのデータを復元することができる。そのデータの誤りが訂正されると、マイクロコントローラ107は、その訂正されたデータを、シリアルバス109を介してキャッシュレジスタ309に順次書込み直す。キャッシュレジスタ309はそこで、そのデータをデータレジスタ307に転送し、次にデータレジスタは、その訂正済みのデータを宛先アドレス場所303に書込む。例証的な誤り訂正動作については、図4を参照して、以下でより詳細に説明する。
データに誤り訂正が必要ない場合でも、この発明の動作全体は、図1の先行技術で必要とされる総時間より短い時間で行なわれる。この発明では、宛先場所303へのデータの書込311と同時に、キャッシュレジスタ309への読出およびその次のキャッシュレジスタ309からマイクロコントローラ107へのデータの読出313が可能なことで、相当な時間の節約が実現する。したがって、誤り訂正が必要な場合、宛先場所303へのデータの書込と同時に、誤り訂正プロセスが開始される。対照的に、先行技術は専ら順次的な動作ステップに依存しており、そのプロセスは、シリアルバスの使用および関連するビット単位またはバイト単位の転送に大きく依存している。
この発明では、純粋なコピーバック動作を実行するだけでなく、ソースアドレス場所305から読出されたデータにおいて、ページの中に追加のデータまたはランダムデータを挿入することもできる。このランダムデータの挿入動作については、図6および図7に関連してより詳細に説明する。
図4を参照して、この発明と図2の先行技術との相対的なタイミングの違いをタイミング図に示す。図4に関して、トレース401は、データがソースアドレス場所305からデータレジスタ307にコピーされていることを示す。トレース403で示すように、データは一旦データレジスタ307にコピーされると、キャッシュレジスタ309に書込まれる。次の2つのトレース405、407は任意のものである。
トレース405は、マイクロコントローラ107による任意の読出を示す。マイクロコ
ントローラ107がデータを検証する場合、トレース407でソースレジスタ305におけるデータの完全性が検証され、提示される。任意のトレース405、407を有することで、マイクロコントローラ107は、ソース場所305におけるデータを確実に検証および確認できる(たとえば、この検証はECCであってもよい)。現行のシステムでは、トレース405で示す任意の読出ステップを実行することはできない。
ソース場所305から読出されたデータに、誤り訂正/検証ステップまたはランダムデータが追加された場合、任意のトレース405で、データは、シリアルバス109を介して、キャッシュレジスタ309からマイクロコントローラ107に読出される。そこで誤り訂正済みデータまたはランダムデータが、任意のトレース407に示すように、シリアルバス109を介してマイクロコントローラ107から読出され、キャッシュレジスタ309に戻される。
任意のトレース407は、キャッシュレジスタ309からマイクロコントローラ107へのデータ転送を示す。シリアルバス109を介したフラッシュメモリ装置301からマイクロコントローラ107へのデータ転送は順次行なわれるので、キャッシュレジスタ309からマイクロコントローラ107への書込に要する全体の転送時間は、フラッシュメモリ装置301内における内部データ転送に比べて相当長くなる。マイクロコントローラ107へのデータ転送が一旦開始されると、マイクロコントローラ107は、受信したデータに誤り訂正が必要かどうかを判定する。
さらに、マイクロコントローラ107は、ソースアドレス場所305から読出されたページデータのうち選択された部分に、データをランダムに追加することができる。誤り訂正の相対的なタイミングを、トレース409で示す。マイクロコントローラ107は、データの少なくとも一部を受信すると、すぐに誤り訂正を開始できることに注目されたい。
誤り訂正を実行するか、またはランダムデータを挿入すると、マイクロコントローラ107は、トレース411に示すように、変更されたデータをキャッシュレジスタ309に転送して戻す。トレース413で、変更されたデータのミラーコピーがキャッシュレジスタ309からデータレジスタ307に転送され、それから最終的に宛先場所303に転送される。縦線415は、マイクロコントローラ107が誤り訂正を実行するか、または追加のランダムデータを挿入した後、訂正されたデータを宛先場所303に書込むのに要する相対的な時間を示す。
代替的に、誤り訂正が必要でない場合、またはランダムデータが追加されなかった場合(すなわち、任意のトレース405、407で示すステップが省略された場合)、データが一旦宛先アドレス場所303に書込まれると、縦線417で示すように、コピーバック動作はそこで完了する。
図4を参照して、この発明の例示的なタイミング図400と、図2の先行技術のタイミング図450との相対的なタイミングの違いをタイミング図に示す。図4に関して、トレース401は、データがソースアドレス場所305からデータレジスタ307にコピーされていることを示す。トレース403で示すように、データは一旦データレジスタ307にコピーされると、キャッシュレジスタ309に書込まれる。
次の2つのトレース405、407は任意である。トレース405は、トレース407で示すように、マイクロコントローラ107がソース305におけるデータの完全性を検証し、かつ、何らかの変更を行なうためのステップを実行する場合の、マイクロコントローラ107による任意の読出ステップを示す。トレース405、407で示すような任意のステップを有することにより、マイクロコントローラ107は、(たとえば、ECCで
)データソースの検証および確認が行なわれるようにする。現行のフラッシュメモリ装置では、これを実現できない(この発明の先行技術では、トレース407で示すステップのみ実現可能である)。
代替的に、マイクロコンピュータ107は、トレース405、407で示すようなステップを省略してもよい。この場合、マイクロコントローラ107は、プログラミングの前にデータの訂正を行なう柔軟性を失うことになる。
ソースアドレス場所305から読出されたデータに、誤り訂正/検証ステップまたはランダムデータを追加する場合、任意のトレース405で、データは、シリアルバス109を介してキャッシュレジスタ309からマイクロコントローラ107に読出される。任意のトレース407で示すように、誤り訂正済みのデータまたはランダムデータが、シリアルバス109を介してマイクロコントローラ107から読出され、キャッシュレジスタ309に戻される。誤り訂正が必要ない場合、またはランダムデータが追加されなかった場合、データが一旦宛先アドレス場所303に書込まれると、第1の相対的なタイミング線415によって示すように、コピーバック動作はそこで完了することに留意されたい。エラー訂正が実行された場合、またはランダムデータが挿入された場合、マイクロコントローラ107はそこで、トレース411で示すように、変更されたデータをキャッシュレジスタ309に転送して戻す。変更されたデータのミラーコピーは、トレース409でキャッシュレジスタ309からデータレジスタ307に転送され、トレース411で最終的に宛先場所303に転送される。第2の相対的なタイミング線417は、データが宛先303に確実に正しく書込まれるようにするために、マイクロコントローラ107が同時の読出を行なうのに必要な時間を示す(後述するように、先行技術のトレース459と比較)。この構成の内部の回路によって、データはキャッシュレジスタ309から宛先303に確実に正しく転送される。
トレース409は、キャッシュレジスタ309からデータレジスタ307へのデータ転送を示す。重要な点として、トレース411および413でそれぞれ示すように、データレジスタ307から宛先303にデータを転送すると同時に、キャッシュレジスタ309からマイクロコントローラ107にデータを転送できる。
シリアルバス109を介したフラッシュメモリ装置301からマイクロコントローラ107へのデータ転送は順次行なわれるので、キャッシュレジスタ309からマイクロコントローラ107への書込に要する全体の転送時間は、フラッシュメモリ装置301内における内部のデータ転送より長くなる。マイクロコントローラ107へのデータ転送が一旦開始されると、マイクロコントローラ107は、受信したデータに誤り訂正を行なう必要があるかどうかを判定する。
タイミング図450は、図2に示す先行技術の方式に従ってデータを転送するのに必要とされる純粋な順次プロセスの相対的なタイミングを示す。先行技術では、トレース451で、データはソースアドレス場所203からデータレジスタ209に転送され、それからシリアルバス109を介してマイクロコントローラ107に転送される(トレース453)。データがマイクロコントローラ107に転送された後でないと、データレジスタはデータを宛先205に書込むことはできない(トレース455)。最終的なデータの検証またはデータの読出では、データが宛先205から読出されてデータレジスタ209に戻され(トレース457)、次にデータレジスタ209からマイクロコントローラ107に読出される(トレース459)。図4が示しているのは、この発明における誤り訂正またはランダムデータの挿入が必要な場合、データレジスタ307から宛先アドレス場所303へのコピーバック動作は、先行技術において、データをデータレジスタ209を介してソースアドレス場所203からマイクロコントローラ107に転送するのに要する時間に
比べて相当短い時間で完了できるということである(第1の相対的なタイミング線415でトレース411とトレース455とを比較)。先行技術の改良が可能であるとしても、データの転送を確実に行なうためには、依然として追加の動作が必要となる。
マイクロコントローラ107は、ソースアドレス場所203から転送されたデータの完全性を検証し、かつ、誤り訂正が必要かどうかを判定する(図示せず)。データの完全性に何らかの欠如が検出された場合、先行技術のプロセスは再びトレース451から繰り返される。さらに、先行技術では、同時に実行可能なデータ転送ステップが存在しない(すなわち、データ転送ステップを同時に実行できない)ことに注目されたい。
Figure 2008504637
したがって、読出期間tR511の間にロウの論理レベルがステータスピンでアサートされ、それによって、その他の読出動作またはプログラミング/書込動作が行なわれるのを防ぐ。ソースアドレス場所のデータが一旦読出されると、コピーバックプログラミング動作513が開始され、まず宛先ソースアドレス515が決定され、次にコピーバック確認動作517が続いて、宛先アドレス場所105をプログラミングすべきことを確認する。信号線501は、プログラミング(すなわち、書込)期間tPROG519を示し、その間はロウの論理レベルがステータスピンでアサートされる。通常、不揮発性メモリ装置、特にNANDフラッシュ装置では、tPROG>tRである。プログラミング機構自体の結果として、プログラミングの処理は遅い(すなわち、高電圧を発生する必要がある)。読出ステータスステップ521が実行され、次にI/O検証523が続く。I/O検証523は、成功/失敗の指示によって、コピーバックプログラミング動作で誤りがあれば報告する。宛先ソースアドレス105に書込まれたデータの完全性を検証するために、527で宛先ソースアドレスが再度決定された後、最終的な読出ステップ525が実行され、次に読出期間tR529の間に、ロウの論理レベルがステータスピンでアサートされる。
Figure 2008504637
図6のコピーバック動作は、図5のコピーバック動作と類似しているが、顕著かつ重要な違いがある。たとえば、宛先アドレスの決定ステップとプログラミング確認ステップとの間に、少なくとも1つの任意のランダムデータ入力ステップ607を挿入することができる。この発明のコピーバック動作では、読出動作が実行された後、次のページプログラ
ミング動作が続く。読出動作とプログラミング動作との間で、ページ内に追加のランダムデータを挿入することにより、データの読出および変更が可能になる。プログラミング時間は、読出時間に比べて相当長くなる場合があるので、先行技術のコピーバックシステムではかなりの待ち時間が生じる。この発明のフラッシュメモリ装置301は、その待ち時間を利用して、読出イネーブル信号をトグルさせることにより、キャッシュレジスタ309内で既に使用可能なデータを同時に読出す。ここでデータは、ソースアドレス場所305から読出されたデータストリームに挿入され、ランダムデータ入力プログラム607aの一部として組込まれる。元のソースアドレス場所305のデータを挿入するコピーバックプログラムの一部として、データの読出607cに必要なのは、追加の宛先列アドレス607bだけである(すなわち、ランダムデータの行アドレスと元のデータの行アドレスは同じである)。ランダムデータ入力ステップ607は、元のデータのさまざまな部分にさまざまな量のランダムデータを組込むのに必要な回数だけ繰返すことができる。
Figure 2008504637
内部のプログラミング動作と並行して外部の読出動作が行なわれることで、追加のデータが読出されて、かつ、フラッシュメモリ装置301にプログラミングされるときでも、コピーバック動作に要する時間は大幅に短縮される。tPROGが読出されるべきデータの順次アクセスに相当する場合、アイドル時間が最小となるので、スループットは最大となる。
図7は、この発明の処理フロー図700を示す。処理フロー図700は、読出コマンド動作701と、ソースアドレスのロード動作703と、コピーバックのための読出確認ステップ705と、内部の読出動作実行ステップ707とを含む。711でコピーバックプログラムがロードされ、713で適正な宛先アドレスがロードされる。
713で宛先アドレスが一旦ロードされると、任意のランダムデータ入力ステップ715が実行可能となる。ランダムデータ入力ステップ717は、719で中間アドレスをロードし、かつ、721でソースアドレス場所305から要求されたデータをロードすることで開始する。データがロードされた後、723でキャッシュレジスタ309が更新される。724で要求されたランダムデータがすべてロードされたかどうか判定される。ランダムデータがすべてロードされていれば、プロセスは、最終ステップ733に進み、プログラミングフェーズを実行し、データレジスタをプリセットし、キャッシュレジスタを更新する。
任意のランダムデータ入力ステップ715が必要ない場合、プロセスは、725でデータをキャッシュレジスタ309からデータレジスタ307にコピーする。727でステータスピン(図示せず)がハイの論理レベルに設定されるが、それは、フラッシュメモリ装置301が、ユーザが読出できるように準備されたことを示す。次に729でデータがキャッシュレジスタ309から読出される。ステップ731で、さらにデータがあるかどうか判定される。データが残っていれば、プロセスは、データ読出ステップ729にループバックし、対象となるデータがなくなるまで継続する。
詳細な説明および図面で、内部のプログラミング動作中に並行して外部の読出動作を実行できるフラッシュメモリ装置について説明したが、当業者であれば、記載の装置の意図される範囲から逸脱することなく、他の実施例も容易に考えられることを認識するであろう。たとえば、特定のタイミング図および波形は、この発明のフラッシュメモリ装置の例示的な実施例として示したものである。しかしながら、熟練者であれば、コピーバック動作を実行するための時間が短縮されるという同じ所望の結果をこれまでのように得ると同時に、タイミング図または波形図から特定の動作を容易に再構成することができるであろう。さらに、特にNANDタイプのフラッシュメモリを参照したが、ANDタイプまたはNORタイプのフラッシュメモリを用いても、同様のコピーバック動作が実行可能である。したがって、この発明の範囲は、前掲の特許請求の範囲によってのみ限定されるものである。
マイクロコントローラと、フラッシュメモリ装置と、メモリ装置およびマイクロコントローラを繋ぐシリアルバスとを用いる、先行技術のコピーバック方式を示す図である。 マイクロコントローラと、内部データレジスタを有するフラッシュメモリ装置と、メモリ装置およびマイクロコントローラを繋ぐシリアルバスとを用いる、別の先行技術のコピーバック方式を示す図である。 この発明のフラッシュメモリ装置と、マイクロコントローラと、メモリ装置およびマイクロコントローラを結合するシリアルバスとのブロック図である。 図1の先行技術の装置と図3のこの発明との相対的なタイミングの違いを示すタイミング図である。 図1の先行技術のコピーバック動作の図式的な波形を示す図である。 この発明のコピーバック動作を用いる波形図である。 この発明のコピーバック動作のフロー図である。

Claims (25)

  1. メモリ装置において内部のプログラミング中に同時に外部の読出動作を実行するためのシステムであって、
    データをランダムに記憶するための記憶手段を含み、前記記憶手段は、ソースメモリ場所と、宛先メモリ場所と、データレジスタと、キャッシュレジスタとを含み、前記データレジスタは、データを前記宛先メモリ場所および前記キャッシュレジスタに同時に書込むように構成されており、前記ソースメモリ場所および前記宛先メモリ場所は、前記データレジスタと電子的に通信するように動作可能であり、前記データレジスタはさらに、前記キャッシュレジスタと電子的に通信するように動作可能であり、前記システムはさらに、
    前記記憶手段との電気的な通信を介して受信されたデータの的確さを検証するための検証手段を含み、前記検証手段はさらに、前記データが不正確であった場合に、前記データの誤り訂正を行なうように構成される、システム。
  2. 前記記憶手段はフラッシュメモリ装置である、請求項1に記載のシステム。
  3. 前記フラッシュメモリ装置はNANDタイプの装置である、請求項2に記載のシステム。
  4. 前記検証手段はマイクロコントローラである、請求項1に記載のシステム。
  5. 前記検証手段はマイクロプロセッサである、請求項1に記載のシステム。
  6. 前記記憶手段と前記検証手段との間の電気的な通信は、シリアルバスを介して行なわれる、請求項1に記載のシステム。
  7. 前記データの的確さは、前記データと、前記ソースメモリ場所に元から記憶されているデータとを照合することで得られる、請求項1に記載のシステム。
  8. 前記データの的確さは、誤り訂正符号化の技法によって得られる、請求項1に記載のシステム。
  9. 前記検証手段はさらに、前記受信したデータにランダムデータを挿入するように構成されている、請求項1に記載のシステム。
  10. メモリ装置において内部のプログラミング中に同時に外部の読出動作を実行するための方法であって、
    前記メモリ装置のソースアドレス場所に記憶された元のデータをデータレジスタにコピーするステップと、
    前記元のデータを前記データレジスタからキャッシュレジスタおよび宛先場所に同時にコピーする間、コピーされた前記元のデータを前記データレジスタにミラーリングするステップとを含む、方法。
  11. 前記キャッシュレジスタに記憶された元のデータを処理装置に転送するステップと、
    転送された元のデータと、前記ソースアドレス場所に記憶された然るべきデータとを照合することで、前記元のデータの完全性を検証して、前記転送された元のデータにおける潜在的な誤りを見出すステップと、
    何らかの誤りが検出された場合、前記転送された元のデータに対して誤り訂正を実行し、それによって誤り訂正済みのデータを作成するステップとをさらに含む、請求項10に記載の方法。
  12. 誤り訂正済みのデータを、前記処理装置から前記キャッシュレジスタに転送するステップと、
    前記誤り訂正済みのデータのコピーを、前記キャッシュレジスタから前記データレジスタにミラーリングするステップと、
    前記誤り訂正済みのデータを、前記データレジスタから前記宛先場所にコピーするステップとを含む、請求項11に記載の方法。
  13. 変更された誤り訂正済みのデータを作成する前に、前記誤り訂正済みのデータにランダムデータを追加するステップと、
    変更された誤り訂正済みのデータを、前記処理装置から前記キャッシュレジスタに転送するステップと、
    前記変更された誤り訂正済みのデータのコピーを、前記キャッシュレジスタから前記データレジスタにミラーリングするステップと、
    前記変更された誤り訂正済みのデータを、前記データレジスタから前記宛先場所にコピーするステップとをさらに含む、請求項11に記載の方法。
  14. 前記元のデータにランダムデータを追加して、変更されたデータを作成するステップと、
    前記変更されたデータを、前記処理装置から前記キャッシュレジスタに転送するステップと、
    前記変更されたデータのコピーを、前記キャッシュレジスタから前記データレジスタにミラーリングするステップと、
    前記変更されたデータを、前記データレジスタから前記宛先場所にコピーするステップとをさらに含む、請求項11に記載の方法。
  15. 処理装置はマイクロコントローラである、請求項11に記載の方法。
  16. 処理装置はマイクロプロセッサである、請求項11に記載の方法。
  17. メモリ装置において内部のプログラミングの間に同時に外部の読出動作を実行するためのシステムであって、
    データをランダムに記憶するためのメモリ装置を含み、前記メモリ装置は、ソースメモリ場所と、宛先メモリ場所と、データレジスタと、キャッシュレジスタとを含み、前記データレジスタは、データを前記宛先メモリ場所および前記キャッシュレジスタに同時に書込むように構成されており、前記ソースメモリ場所および前記宛先メモリ場所は、前記データレジスタと電子的に通信するように動作可能であり、前記データレジスタはさらに、前記キャッシュレジスタと通信するように動作可能であり、前記システムはさらに、
    前記記憶手段との電気的な通信を介して受信されたデータの的確さを検証するための処理装置を含み、前記マイクロコントローラはさらに、前記データが不正確であった場合、前記データの誤り訂正を行なうように構成される、システム。
  18. 前記メモリ装置はフラッシュメモリ装置である、請求項17に記載のシステム。
  19. 前記フラッシュメモリ装置はNANDタイプの装置である、請求項18に記載のシステム。
  20. 前記処理装置はマイクロコントローラである、請求項17に記載のシステム。
  21. 前記処理装置はマイクロプロセッサである、請求項17に記載のシステム。
  22. 前記メモリ装置と前記処理装置との間の電気的な通信は、シリアルバスを介して行なわれる、請求項17に記載のシステム。
  23. 前記データの的確さは、前記データと、前記ソースメモリ場所に元から記憶されているデータとを照合することによって得られる、請求項17に記載のシステム。
  24. 前記データの的確さは、誤り訂正符号化の技法によって得られる、請求項1に記載のシステム。
  25. 前記処理装置はさらに、前記受信したデータにランダムデータを挿入するように構成される、請求項17に記載のシステム。
JP2007518087A 2004-06-23 2005-06-01 フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作 Withdrawn JP2008504637A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/875,652 US7159069B2 (en) 2004-06-23 2004-06-23 Simultaneous external read operation during internal programming in a flash memory device
PCT/US2005/019268 WO2006007264A2 (en) 2004-06-23 2005-06-01 Simultaneous external read operation during internal programming in a flash memory device

Publications (1)

Publication Number Publication Date
JP2008504637A true JP2008504637A (ja) 2008-02-14

Family

ID=35507446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007518087A Withdrawn JP2008504637A (ja) 2004-06-23 2005-06-01 フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作

Country Status (7)

Country Link
US (1) US7159069B2 (ja)
EP (1) EP1769362A2 (ja)
JP (1) JP2008504637A (ja)
KR (1) KR20070024624A (ja)
CN (1) CN101031895A (ja)
TW (1) TW200613978A (ja)
WO (1) WO2006007264A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108306A (ja) * 2009-11-16 2011-06-02 Sony Corp 不揮発性メモリおよびメモリシステム
JP2016507125A (ja) * 2013-01-14 2016-03-07 マイクロン テクノロジー, インク. データ経路整合性の照合

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466597B2 (en) * 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
KR100669352B1 (ko) * 2005-09-07 2007-01-16 삼성전자주식회사 카피 백 프로그램 동작 동안에 에러 검출 및 데이터 리로딩동작을 수행할 수 있는 낸드 플래시 메모리 장치
KR20070076849A (ko) * 2006-01-20 2007-07-25 삼성전자주식회사 메모리 카드의 카피백 동작을 수행하는 장치 및 방법
DE102006008771A1 (de) * 2006-02-22 2007-08-23 Beiersdorf Ag Gegen unreine Haut und milde Formen der Akne wirksame Zubereitungen mit einem Gehalt an Hydroxymatairesinol als wirksames Prinzip
JP4956230B2 (ja) * 2006-04-10 2012-06-20 株式会社東芝 メモリコントローラ
JP4839133B2 (ja) * 2006-05-22 2011-12-21 株式会社日立製作所 ストレージ装置のデータ管理方法及び計算機システム
US7680841B2 (en) * 2006-07-26 2010-03-16 International Business Machines Corporation Determining whether data written to source storage locations according to a write order is copied to corresponding target storage locations in the write order
KR100764749B1 (ko) * 2006-10-03 2007-10-08 삼성전자주식회사 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법
US7788438B2 (en) 2006-10-13 2010-08-31 Macronix International Co., Ltd. Multi-input/output serial peripheral interface and method for data transmission
KR100918707B1 (ko) * 2007-03-12 2009-09-23 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
US20090125790A1 (en) * 2007-11-13 2009-05-14 Mcm Portfolio Llc Method and Apparatus of Automatically Selecting Error Correction Algorithms by a NAND Flash Controller
US20090150721A1 (en) * 2007-12-10 2009-06-11 International Business Machines Corporation Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
US8621138B2 (en) 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Flash storage controller execute loop
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US9594679B2 (en) * 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
JP4564557B2 (ja) * 2008-08-28 2010-10-20 株式会社東芝 映像表示装置および映像表示方法
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
KR101583090B1 (ko) * 2009-12-15 2016-01-07 엘지이노텍 주식회사 마이크로 컨트롤러의 데이터 리드 방법
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
KR20110099570A (ko) 2010-03-02 2011-09-08 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
JP2012208980A (ja) * 2011-03-30 2012-10-25 Hitachi-Lg Data Storage Inc 光ディスク装置
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8909982B2 (en) * 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
KR20130036556A (ko) * 2011-10-04 2013-04-12 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9058289B2 (en) 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information 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
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8667368B2 (en) * 2012-05-04 2014-03-04 Winbond Electronics Corporation Method and apparatus for reading NAND flash memory
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
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
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
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
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
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
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening 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
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented 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
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
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
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
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
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
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
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
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
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in 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
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
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
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
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
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
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
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
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
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
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
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
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9442798B2 (en) 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
KR102189780B1 (ko) 2014-08-11 2020-12-11 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US10073772B2 (en) 2016-02-05 2018-09-11 International Business Machines Corporation Copy-on-write in cache for ensuring data integrity in case of storage system failure
KR102636039B1 (ko) 2016-05-12 2024-02-14 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법
US10552340B2 (en) * 2017-02-28 2020-02-04 Oracle International Corporation Input/output direct memory access during live memory relocation
KR102687354B1 (ko) 2019-08-01 2024-07-22 삼성전자주식회사 스토리지 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62145340A (ja) * 1985-12-20 1987-06-29 Toshiba Corp キヤツシユメモリ制御方式
US5214777A (en) * 1989-03-27 1993-05-25 Ncr Corporation High speed read/modify/write memory system and method
JP2922116B2 (ja) 1993-09-02 1999-07-19 株式会社東芝 半導体記憶装置
US6216205B1 (en) * 1998-05-21 2001-04-10 Integrated Device Technology, Inc. Methods of controlling memory buffers having tri-port cache arrays therein
KR100454119B1 (ko) 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108306A (ja) * 2009-11-16 2011-06-02 Sony Corp 不揮発性メモリおよびメモリシステム
JP2016507125A (ja) * 2013-01-14 2016-03-07 マイクロン テクノロジー, インク. データ経路整合性の照合

Also Published As

Publication number Publication date
EP1769362A2 (en) 2007-04-04
CN101031895A (zh) 2007-09-05
WO2006007264A2 (en) 2006-01-19
KR20070024624A (ko) 2007-03-02
TW200613978A (en) 2006-05-01
US7159069B2 (en) 2007-01-02
WO2006007264A3 (en) 2007-05-31
US20050289314A1 (en) 2005-12-29

Similar Documents

Publication Publication Date Title
JP2008504637A (ja) フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作
US7813187B2 (en) Multi-bit flash memory device and program method thereof
US7457997B2 (en) Apparatus and method for detecting over-programming condition in multistate memory device
JP4129381B2 (ja) 不揮発性半導体記憶装置
US6349056B1 (en) Method and structure for efficient data verification operation for non-volatile memories
US7350044B2 (en) Data move method and apparatus
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US6917547B2 (en) Non-volatile semiconductor memory device
JP3802411B2 (ja) 不揮発性半導体記憶装置のデータコピー方法
JP2004311010A (ja) エラー訂正機能を有したフラッシュメモリ装置
US8214725B2 (en) Memory access system
US8799555B2 (en) Boot data storage schemes for electronic devices
US20130185612A1 (en) Flash memory system and read method of flash memory system
US20050204264A1 (en) Error correction circuit
US20070168793A1 (en) Device and method capable of verifying program operation of non-volatile memory and method card including the same
JP2009545783A (ja) 不揮発性メモリシステム、及びそのデータ読み出し/書き込み制御方法
US8046529B2 (en) Updating control information in non-volatile memory to control selection of content
JP2008251154A (ja) 不揮発性半導体記憶装置
KR100634432B1 (ko) 카피백 프로그램 동작 중에 에러를 검출하는 낸드 플래시메모리 장치 및 에러 검출 방법
US20100083073A1 (en) Data processing apparatus, memory controlling circuit, and memory controlling method
KR100632949B1 (ko) 낸드 플래시 메모리 장치 및 그것의 카피백 프로그램 방법
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4561110B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
TW202143240A (zh) 半導體儲存裝置以及錯誤檢測糾正相關資訊的讀出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080516

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100423