JP2012511789A - 並行且つパイプライン化されたメモリ動作用の不揮発性メモリデバイス - Google Patents
並行且つパイプライン化されたメモリ動作用の不揮発性メモリデバイス Download PDFInfo
- Publication number
- JP2012511789A JP2012511789A JP2011539539A JP2011539539A JP2012511789A JP 2012511789 A JP2012511789 A JP 2012511789A JP 2011539539 A JP2011539539 A JP 2011539539A JP 2011539539 A JP2011539539 A JP 2011539539A JP 2012511789 A JP2012511789 A JP 2012511789A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- buffer
- buffers
- read
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/22—Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously
Abstract
本開示は、同一メモリ空間に関る複数ページの読み出し、消去、または書き込みを並行して処理する不揮発性メモリデバイスを提供する。デバイスは、各々の読み出しまたは書込み要求に各々動的に割り当てられているクロスバーおよびページバッファの組に依存する。デバイスはまた、外部データバスを介してバッファの内外へデータを転送すべくバッファが使用されている間にマルチサイクル状態変更動作を実行できるように、IO制御からメモリアレイ制御を分離する。この構造を用いて、メモリデバイスは、ページが直ちにバッファにロードされ、次いで書き込みデータレジスタまたは外部バスのいずれかに適宜転送すべく「パイプライン化」できる複数の処理を受理することができる。不揮発性メモリデバイス、特にフラッシュデバイスのプログラムおよび消去に関連付けられた長い「使用中時間」を大幅に短縮することにより、本開示はそのようなデバイスの潜在的な用途を大幅に拡大する。
【選択図】 図1
【選択図】 図1
Description
本出願は、2008年12月9日に出願された発明者Ian Shaefferおよび Brent Steven Hauknessによる米国仮特許出願第61/121,083号「並行およびパイプライン化されたメモリ動作用の不揮発性メモリデバイス(Non-Volatile Memory Device for Concurrent And Pipelined Memory Operations)」を優先権主張するものであり、本明細書において当該先出願の全文を引用している。
ある種の不揮発性メモリデバイスは、メモリ空間の複数部分を1個の記憶ユニットとして、典型的には「ページ」または「ブロック」として、まとめて書き込みまたは消去する必要があるものとして設計されている。これらの設計において各メモリセルが可変性であるため、セルのデータ状態を順次変える動作(例:プログラムまたは消去)は往々にして反復サイクルに基づいている。これらの反復サイクルは「プログラム検証」サイクルと呼ばれ、この用語で「プログラム」という表現を用いているが、ブロックの書き込みまたは消去が実行されるか否かの基本動作を指している点を理解されたい。各サイクルにおいて、メモリデバイスまたはコントローラは、(i)特定の電圧を用いて記憶ユニットの状態変更を試みて、(ii)どのセルが正しく状態を変更されなかったかを調べる。当該サイクルは次いで、未だ状態が正しく変更されていないセルについて僅かに高い電圧を用いて、当該セルが正しい状態になるかまたはエラーが発生する(その場合は通常、当該ユニットは「不良」であるとマーク付けされる)まで必要なだけ繰り返される。
この方法論の不具合な副作用は、状態変更動作が完了するまで相当の時間を要する場合がある点である。例えば、書き込みトランザクションはNANDフラッシュメモリにおける読み出しトランザクションよりも10倍、NORフラッシュメモリにおける読み出しトランザクションよりも1000倍以上長い時間を要する。この問題に対処する試みは大抵、複数の不揮発性デバイスの使用、またはメモリ空間を事実上複数バンクに分割することに注力しており、各々の場合に各バンクまたはデバイスを独立に読み出し可能にする補助回路を有する。しかし一般には、大多数の構造は依然として単一のセンスアレイがサービスする同一の基本「バンク」に対する並行処理に対応しておらず、補助書き込み回路、すなわち後続する読み出し、消去、書き込み、または他のトランザクションは通常、対象とする当該ブロックまたはページに対する先行動作の反復サイクルが完全に終了するまで、待ち行列に入れる必要がある。
必要とされているのは、先行プログラムまたは消去動作進行中であるか否かに拘わらず、読み出しプログラムまたは消去動作の開始を可能にすることにより、上述の問題を緩和する、理想的には可能であればボトルネックを完全に取り除く方法である。本発明は、このニーズに対処するものであり、更に関連した効果を提供する。
列挙された請求項により定義される主題について、添付図面の精査と合わせて以下の詳細説明を参照することにより理解が深まろう。請求項に開示する技術の各種実装の構築および使用を可能にすべく以下に述べる1個以上の特定の実施形態は、列挙された請求項を限定することは意図しておらず、特定の方法およびデバイスへのそれらの適用を例示することのみを目的としている。以下に開示する記述は、(i)複数の動作を並列に処理すべく用いてよい不揮発性メモリデバイス、(ii)新たなルーティングを有する不揮発性メモリデバイス、および(iii)そのような不揮発性メモリデバイスの管理に関連付けられた制御方法を例示する。これら特例の例を提示しているが、本明細書に記述する原理は他の方法およびデバイスに同様に適用できる。
1.概要
本開示は、多様な方法で、(a)他のメモリ動作が待ち行列にある間、1個のメモリ動作の実行を許可する、(b)(メモリの複数バンクだけでなく、単一「バンク」で)1個の記憶ユニットのほぼ並列な読み出しを、他のものが状態変更動作の対象である間(例えば書き込み動作の最中に)許可する、(c)記憶ユニットのほぼ並列な状態変更および新規のもの(すなわち、当該記憶ユニットに置かれているデータの書き込みまたは消去)の並行読み出しを許可する、および(d)システム内のメモリデバイスを制御する方法を提供するかまたは別途これらの機能の1個を実現する不揮発性メモリデバイスのいくつかの実施形態を提供する。特に、不揮発性メモリ内(例:フラッシュメモリデバイス内)の記憶ユニットのプログラムまたは消去に必要な長いリードタイムの影響を緩和することにより、本明細書に述べる実施形態は、特定の不揮発性デバイスの利用可能性を大幅に向上させる。すなわち、本開示が提供する技術により、不揮発性メモリ、特にフラッシュメモリを従来よりも極めて幅広い範囲の用途に利用できるようになり、潜在的にこれらの適用能力を拡張して新規の用途が可能になる。
本開示は、多様な方法で、(a)他のメモリ動作が待ち行列にある間、1個のメモリ動作の実行を許可する、(b)(メモリの複数バンクだけでなく、単一「バンク」で)1個の記憶ユニットのほぼ並列な読み出しを、他のものが状態変更動作の対象である間(例えば書き込み動作の最中に)許可する、(c)記憶ユニットのほぼ並列な状態変更および新規のもの(すなわち、当該記憶ユニットに置かれているデータの書き込みまたは消去)の並行読み出しを許可する、および(d)システム内のメモリデバイスを制御する方法を提供するかまたは別途これらの機能の1個を実現する不揮発性メモリデバイスのいくつかの実施形態を提供する。特に、不揮発性メモリ内(例:フラッシュメモリデバイス内)の記憶ユニットのプログラムまたは消去に必要な長いリードタイムの影響を緩和することにより、本明細書に述べる実施形態は、特定の不揮発性デバイスの利用可能性を大幅に向上させる。すなわち、本開示が提供する技術により、不揮発性メモリ、特にフラッシュメモリを従来よりも極めて幅広い範囲の用途に利用できるようになり、潜在的にこれらの適用能力を拡張して新規の用途が可能になる。
第1のメモリデバイスの実施形態は、図1に101とラベル付けされた不揮発性記憶デバイスを提供する。この不揮発性記憶デバイスは、状態変更動作が同時に進行中であっても特定のストレージアレイ103の読み出しを許可する。従来のように、当該アレイは、各々が一括的にプログラムまたは一緒に消去する必要があるメモリセルの最小グループ化を表す多数の記憶ユニット105に分割されている。[この点に関して、特定の従来型フラッシュデバイスは、高密度且つ極めて低コストの設計原理を反映しており、そのためコストおよび密度のためにアクセスの粒度を犠牲にしている。特定の設計はそれらの構造が「ページ」単位でプログラムし、「ブロック」単位で消去する必要があるようになされており、従来のフラッシュ方式、例えばNANDフラッシュにおいて、「ページ」は約4,000バイトのデータを含んでいて「ブロック」は数千ページを含んでいてよい。]本明細書で用いる用語「ページ」は、1個のユニットとしてプログラムまたは消去可能な最小の構造または単位と少なくとも同程度に大きいメモリユニットを指している。
これらのデバイスにおいて状態変更を行なう従来の方法は、当該デバイスの入出力(「IO」)インターフェース107が外部データバス109から送られて来たデータを受信するものである。[消去動作の場合、実際のデータは内部生成された「個体」の一塊のブロックからなり、記憶ユニットの消去済み状態への変更を検証するために用いられる。]データは、書き込みデータレジスタ(「WDR」)111へ送られ、デバイス101の回路113が最小限の電圧を用いて、図1の参照番号115で示すユニット等の特定記憶ユニットの状態変更動作を試みる。個々のメモリセル(設計に応じて単一レベルセルすなわち「SLC」または多レベルセルすなわち「MLC」のいずれか)は、動作のアーチファクトとして、または使用を通じて出現した異なるレベルの欠陥を有している可能性があり、各セルは所望の論理状態に変更できるようになる前に異なる電圧を必要とする場合がある。従って、電圧の印加に続いて(すなわち、「プログラムフェーズ」に続いて)、デバイス101は次いで、センスアレイ(または「センスアンプ装置」)117を用いて検証動作を実行し、書き込み回路113を用いて記憶ユニット115の内容を書き込みデータレジスタ111の内容と比較する(すなわち「検証フェーズ」)。内容が合致しなければ、デバイス制御論理119の支援の下で、より高い電圧で別の反復サイクルを起動する。そのような「サイクル」の各々は、特定の記憶ユニット115内の全てのセルが正しい状態になるまで、サイクルの最大回数まで必要に応じて繰り返される。動作が完了したならば、制御論理119はコントローラに通知するかまたは、代替的に、サイクルの最大数に達した場合はエラー値をアサートする(通常はコントローラに記憶ユニットが「不良」である旨のマークを付けさせる)。特に、消去動作はプログラム動作とは電圧を印加する方法において異なるが、基本的な動作フローは実質的に同じである。通常、各々のデータ書き込みに先立って消去動作が実行され、対象とする記憶ユニットのメモリセル(またはそのようなセルを含むブロック)を実質的に「リセット」する。メモリセル(またはメモリセルレベル)への値の書き込みを試み、次いで書き込みが成功した旨の検証を試みる各々の反復シーケンスを「プログラム検証」または「PV」サイクルと呼ぶ。
図1に示す実施形態は、実質的には図1に参照番号121で示すスイッチング機構である新たな内部ルーティングを用いて状態変更動作の最中における特定のストレージアレイ103の読み出しを許可する。ルーティングには、書き込みデータレジスタ111をセンスアンプ装置117と実質的に結合する第1の経路123、IOインターフェース107を書き込みデータレジスタ111と実質的に結合する第2の経路125、およびセンスアンプ装置をIOインターフェースと実質的に結合する第3の経路127を含む3個の実質的な経路を含んでいる。第3の経路は、データ読み出し中に、メモリ空間(センスアンプ装置により検知される)からバッファ129にデータをロードしてその後メモリコントローラへ出力すべく用いられる。図1に示す実施形態において、書き込みおよび読み出しが並行に生起するのは、センスアンプ装置からのデータ出力がマルチサイクル状態変更動作の最中に書き込みデータレジスタ(第1の経路123を介して)またはバッファへ(第3の経路127を介して)のいずれかの間で再ルーティングできるためである。この動作はまた、制御論理119支援の下で実行される。
特に、図1に示す構造および動作は、単に複数バンクを用いるのとは異なる、待ち時間問題へのアプローチを表す。複数バンク構造において、各々のバンクまたはデバイスは自身の書き込みデータレジスタを有しているため、第2のバンク(またはデバイス)において状態変更動作が進行中であるのと同時に1個のバンク(または異なるデバイス)の読み出しが可能である。対照的に、図1に示す実施形態は、当該レジスタを縛るマルチサイクル状態変更動作の最中に、当該書き込みデータレジスタがサービスする同一メモリ記憶空間の読み出しを許可する。特に、後述するように、本開示に示すいくつかの実施形態は、同一不揮発性ストレージアレイのデータの同時読み出しを許可するが、図1の実施形態がこの能力を有している必要が無い点を理解されたい。
図2に、プログラムされるかまたは別途メモリに書き込まれるデータ(「プログラムデータ」)に対する現在の読み出し能力を提供すべく構成できる第2の実施形態を示す。特に、図2は図1との関連で上述したものと同様のいくつかの要素を有する第2のメモリデバイス201を示す。当該メモリデバイスは、記憶空間が多数の記憶ユニット205に分割されている不揮発性ストレージアレイ203、IOインターフェース207、およびIOインターフェースを外部バス209と接続するピン(図示せず)を含んでいる。図2のメモリデバイス201はまた、データバッファのアレイまたは組211を含んでいて、各々のバッファが記憶ユニットサイズ(例:NANDフラッシュメモリデバイスの場合はページサイズ)に少なくとも対応する大きさに設定されている。この第2の実施形態のアレイは、各々が内部バス219を介してIOインターフェースに結合されている各々213、215および217と番号付けられた少なくとも3個のバッファを有するものと見られる。これらのバッファの各々を用いて、並行動作が並列に処理されるように、送られて来た書き込みデータのページを保存することができる。上記の一般性を限定することなく、図2に示す実施形態は以下を許可する。
(a)複数の読み出し動作の処理、例えば、別のバッファ(バッファ215等)が自身の内容を外部バスに送る間、1個のバッファ(バッファ213等)をセンスアンプ装置221から転送されたデータで満たすことができる
(b)複数の状態変更動作の処理、例えば、別のバッファ(バッファ213等)が自身の内容を書き込み回路223(および図2に別途示さない書き込みデータレジスタへ)送る間、1個のバッファ(バッファ215等)を外部バス209からのデータで満たすことができる
(c)読み出し動作および状態変更動作のほぼ同時処理、例えば、別のバッファ(バッファ213等)がIOインターフェース207からのデータで満たされている間、またはセンスアンプ装置および書き込み回路がマルチサイクル書き込みまたは消去動作を実行する間、1個のバッファ(バッファ217等)をセンスアンプ装置221から転送されたデータで満たすことができる、および
(d)動作が進行中である(すなわち、センスアンプ装置がデータを書き込み回路にフィードバックしている)間、ストレージアレイ203に書き込まれるデータをバッファ(213、215または217)のうち1個にコピーとして保存することができ、動作の最中に、データをストレージアレイ203からではなくバッファアレイ211から読み出すことができる。
他の組合せおよび他の可能な動作はまた当業者に想起されよう。
(a)複数の読み出し動作の処理、例えば、別のバッファ(バッファ215等)が自身の内容を外部バスに送る間、1個のバッファ(バッファ213等)をセンスアンプ装置221から転送されたデータで満たすことができる
(b)複数の状態変更動作の処理、例えば、別のバッファ(バッファ213等)が自身の内容を書き込み回路223(および図2に別途示さない書き込みデータレジスタへ)送る間、1個のバッファ(バッファ215等)を外部バス209からのデータで満たすことができる
(c)読み出し動作および状態変更動作のほぼ同時処理、例えば、別のバッファ(バッファ213等)がIOインターフェース207からのデータで満たされている間、またはセンスアンプ装置および書き込み回路がマルチサイクル書き込みまたは消去動作を実行する間、1個のバッファ(バッファ217等)をセンスアンプ装置221から転送されたデータで満たすことができる、および
(d)動作が進行中である(すなわち、センスアンプ装置がデータを書き込み回路にフィードバックしている)間、ストレージアレイ203に書き込まれるデータをバッファ(213、215または217)のうち1個にコピーとして保存することができ、動作の最中に、データをストレージアレイ203からではなくバッファアレイ211から読み出すことができる。
他の組合せおよび他の可能な動作はまた当業者に想起されよう。
バッファアレイ211は、クロスバー装置(図2にラベル「XBAR」および参照番号225で示す)により、一方でセンスアンプ装置221に結合されており、他方で書き込み回路223に結合されている。本明細書で用いる用語「クロスバー」は単に、2方向スイッチングを実行するスイッチング機構の形式を指す。すなわち、センスアンプ装置は任意のバッファに接続されて、そのうちどれにでもデータをルーティングすることができ、任意のバッファがセンスアンプ装置または書き込み回路に接続されていてもよい。図2の特定の実施形態に示す特定のクロスバー225はまた、この2方向スイッチングを、(a)マルチサイクル状態変更動作(すなわち、マルチサイクル動作の各サイクルにおける参照用に書き込みデータレジスタの内容を修正すべくデータをフィードバックできるように)で用いるためにセンスアンプ装置から書き込み回路へ、および(b)データ読み出しに用いるべく、センスアンプ装置からバッファへ、選択的にデータを送ることができる意味で実行する。図2に示す実施形態において、このスイッチングは少なくとも1ページ幅単位で実行される。例えば、ページサイズが4キロバイトの場合、クロスバーが上で示唆した転送を実行するために各原点について4kBの同時スイッチングを実行する。上述の第1の実施形態で述べたように、内部ルーティング内でこのスイッチングを実行するために、例えば、図2の実施形態のクロスバーを制御するために、制御論理を提供することができる(必要ならばオンボードで)。枠221と223を接続する破線に示すように、状態変更動作で使用すべくセンスアレイから書き込み回路にデータをフィードバックすることが通常は望ましい。この動作は、これらの2個の要素間の直接接続により、または代替的にこのルーティングを実行する能力を有するクロスバー225を提供することにより実装できる。この点に関して、書き込みデータレジスタ(図2で別途示していない)は通常、変更データを保存すべく、すなわちこれまでどのセルが正しく変更されなかったかを識別して、各サイクルで依然として必要とされる状態変化を示すべく各サイクル毎に修正される「作業用バッファ」である。また、代替的な実装方式において書き込みデータレジスタを従来型バッファとして構成することも可能である。
図2に、メモリデバイスへの外部からのアドレス指定をサポートするオプションのアドレス指定および制御機能を表す破線枠227を示す。特に、以下で各種の制御オプションについて述べるが、図2の一つの可能な実装方式は、コントローラにより個別にアドレス指定可能な複数のバッファを有するメモリデバイスとして実装するものである。例えば、バッファ213、215および217(アレイ内の他の任意のバッファも同様)を、外部デバイスがプログラムデータを直接これらのバッファに書き込むかまたはこれらのバッファから読み出しデータを取得する(対応するページがバッファアレイにリレーされていれば)ことができるように実装できる。この点に関して、(例:読み出し動作の場合)メモリアレイおよびセンスアンプ装置からデータを取得するのに有限な時間を要するため、バッファにロードされたデータをメモリデバイスが検知し、且つデータを提供可能であればいつでも、当該アドレス指定および制御機能はコントローラに対して動作を開始し、次いで読み出しデータを取り出す許可を与えることができる。これらの能力および付随する機能は、動作方法を扱う段落に関連して後述する。
図3に、本開示が提供する原理の更に別の実装方式を示す。特に、図3はフラッシュコントローラ303および1個以上のフラッシュデバイスを含むシステム301を示すが、図3では1個の例示的なフラッシュデバイス305だけを示す。各フラッシュデバイスは、図2の実施形態に関連して上で述べたように、フラッシュストレージアレイ307および書き込み回路311(書き込みデータレジスタを含む)と共に外部データバス309に接続する手段、センスアンプ装置313およびバッファアレイ314を含む。しかし図3は、各々参照番号317および319で示すメモリアレイ制御とIO制御を区別すべく用いる垂直線315を更に含んでいる。図3の実施形態において、IO制御論理はバッファアレイ314と外部バス309の間でのデータ転送を統括し、一方、メモリアレイ制御論理はバッファアレイ314とフラッシュストレージアレイの間での通信を統括する。メモリアレイ制御論理およびIO制御論理機能の各々は、バッファを新規データで満たすことができて、他の箇所のバッファの1個からデータのコピーをアンロード(すなわち転送)することができる。実装方式に応じて、データが外に転送されたならばこれらのバッファをクリア(すなわち解放)することができ、あるいは特定のイベント(特定のプログラミングまたは状態変更ステップの完了)が生起するまでデータを保持させることができる。図3に示す実施形態において、センスアレイまたはフラッシュメモリコントローラのいずれか(または、例えば後述する特定の実施形態に従えば複数のコントローラでもよい)について、任意のバッファへデータを送信するか、またはそこからデータを取り出すことができることを示すために、各々が交差する太線で示された2個のスイッチング機構(例:クロスバー)を実質的に表している。バッファの割当ては動的であってよく(例:先行動作が完了した場合にバッファは新規の動作に再割り当てされる)、この「動的な割り当て」は以下で更に述べるように、メモリデバイスにより、またはメモリコントローラ(フラッシュメモリコントローラ303等)の支援の下で実行される。
II.動作方法
上に挙げた実施形態の大多数は、メモリセンス機構(例:センスアレイ部)から実質的にデータを、書き込みデータレジスタ(当該レジスタのデータを修正して、追加的なサイクルを介して必要に応じて動作を続けるためにマルチサイクル状態変更動作で用いる)またはメモリページの読み出しに関して外部バスのいずれかにルーティングすべく内部ルーティングおよびスイッチング機構(クロスバー等)に依存する。上に示す構造により、メモリ空間に関る所与のマルチサイクル状態変更動作におけるこれらの動作の両方を可能にする。
上に挙げた実施形態の大多数は、メモリセンス機構(例:センスアレイ部)から実質的にデータを、書き込みデータレジスタ(当該レジスタのデータを修正して、追加的なサイクルを介して必要に応じて動作を続けるためにマルチサイクル状態変更動作で用いる)またはメモリページの読み出しに関して外部バスのいずれかにルーティングすべく内部ルーティングおよびスイッチング機構(クロスバー等)に依存する。上に示す構造により、メモリ空間に関る所与のマルチサイクル状態変更動作におけるこれらの動作の両方を可能にする。
この動作を実装可能ないくつかの方法があり、そのうち恐らく最も簡単なものは、対象とするメモリデバイス(群)内の各状態変更ステップまたはサイクルに至るきめ細かい制御が可能なリモートメモリコントローラ(例:フラッシュコントローラ)をメモリデバイス動作に提供することである。例えば、メモリデバイスが多数のコマンドを(例えば機械言語を用いて)実行すべく設計されている場合、コントローラは、(a)バッファから内容を書き込みデータレジスタに移動させる、(b)動作が実行される特定のアドレスにおいて記憶ユニット(例:メモリページ)または記憶ユニットグループ(例:記憶ブロック)の内容をリセットする1個以上の消去サイクルを実行する、(c)1個の記憶ユニットからバッファへ内容をコピーする、(d)第1の電圧「V1」を用いて書き込みデータレジスタの内容を有するメモリ部(特定のアドレスを有する)のプログラムまたは消去を試みる、(e)記憶ユニットの内容を書き込みデータレジスタの内容と比較して、レジスタの内容を差異のアトム(基本要素)単位に更新する、(f)後続するデータ読み出しを任意の記憶ユニット場所(状態変更を受けるものとは別のもの、または現在記憶ユニット場所に書き込まれているデータを保持しているバッファに)に向ける、または(g)将来の状態変更および検証/比較の反復をより高い電圧に向ける、連続した個別のコマンドを発行することができる。あるいは、メモリデバイス自身(例:フラッシュデバイス)がこれらの動作の多くをサポートすべく内部構造および論理を有するように設計することが望ましいであろう。これらの設計および各種の変形に関する検討について、いくつかの異なるマスター(例:いくつかの異なるコントローラまたはCPU)と対話すべく適合されたメモリデバイスの設計に関する設計上の検討事項と合わせて以下に述べる。
図4に、例えば図2、3の構造により例示する複数のバッファを有するフラッシュデバイスの複数のパイプライン化されたメモリ動作を管理するべく使用できる制御方法401のフロー図を示す。参照番号403および関連付けられた機能ブロックに示すように、N個のバッファを有するシステムにおいて、本制御方法は一般に、バッファが空いているかまたは使用中か否か判定すべく各バッファの使用状況を追跡して、未使用バッファを新規のメモリトランザクションに動的に割り当てる。この点に関して、いくらかのメモリトランザクション(例:状態変更動作と混在する読み出し)が完了するまでの時間が異なる場合がある点に注意されたい。例えば、後で開始されたメモリページの読み出しが完了した後でも先行する状態変更動作が依然として進行している場合がある。このような状況では、読み出し動作に後で割り当てられたバッファが解放されて、状態変更動作に使用するバッファよりも早い時間で再利用に供することができる。従って、参照番号405で示すように、新規のトランザクションが到着したならば、新規の動作「i」を第1個目の利用可能なバッファに割り当てることができ、その際にバッファ割り当てはラウンドロビンまたは絶対順序ベースで行われる。重要なのは、図5に関しての以下で紹介するように、状態レジスタを制御目的で用いることができ、各々の利用可能なバッファおよびフラグ「Fl」への入力により特定のバッファが空いている、使用中である、またはロード処理の途中であることを示す。コントローラが当該処理を管理する場合、状態をコントローラにローカルに保存することができ、その際にコントローラは1個以上のバッファが利用可能か否かを「知っている」。メモリデバイスが当該処理を管理する実施形態において、全てのバッファが使用中であって動作「i」を待ち行列に入れることができない場合、メモリデバイスは動的なバッファ割り当てを実行してコントローラにエラー信号を送ることができる。参照番号407に示すように、メモリデバイスの準備ができていれば、状態変更動作(書き込みまたは消去動作)、読み出し、または他の何らかのトランザクションのいずれにせよ、メモリ動作[i]を実行する。
図4に2個の破線で囲む機能ブロック409、411により、2個の動作が同時に提示された場合の並行処理動作を示す。この点に関して、この議論の目的のために、第1のメモリ動作「i]が完了する前に第2のメモリ動作「i+1」を受信するものと仮定すべきである。
実装方式によるが、大多数の動作には複数のステップまたは機能が関わっており、これら各々の機能の管理がコントローラまたはメモリデバイスのいずれかにより実行されている。例えば、今述べたように、メモリデバイスが機械コマンドをサポートするか、または代替的に、メモリデバイス内の制御論理がコントローラからの要求(例:読み出しコマンド、プログラムコマンド、または消去コマンド)を個々のステップに分解してそれらの管理を制御する実装方式において、コントローラ自身がこの処理を管理してもよい。読み出し動作の場合、通常は実行することが必要なステップには、センス回路の帯電、メモリページの読み出し制御、および内容の転送制御が含まれる。この動作の実行は時間を要することがあるため、コントローラには(処理内で各ステップを管理しない実装方式において)ページが読まれていてアップロードに利用可能であることを通知する必要があり、従ってメモリデバイスは、コントローラに読まれる状態レジスタを設定するか、または空き/使用中ピンへ信号を送ることにより、コントローラに対し読み出しデータが利用可能である旨の信号を送ることが必要な場合もある。消去要求および書込み要求に関連付けられたステップは、複数の電圧パルスを反復(「サイクル)において印加できる点で互いに極めて良く類似していてよく、各サイクルは比較または「検証」ステップで終わり、当該サイクルが対象とするメモリセルをどの程度うまくプログラムまたは消去したかを判定する。各サイクルは、回路に特定の電圧を持たせるべく帯電させる、特定の回路に電圧をゲートさせる(例:カラム線または各メモリセルゲートに選択的に電圧を印加する制御トランジスタに)、セルの内容を検知する、「排他的論理和」を実行させる等のコマンドを含んでいてよい。各プログラムコマンドは、プログラミングに用いられる1個以上のブロックを解放するために、コマンドの対象とするメモリ記憶ユニットの消去の後に続いてよい(これは特にフラッシュメモリにおいて真である)。各動作種類に関連付けられた各ステップは、連続するコマンドまたはハードウェア論理により実行することができ、本開示に提供する構造および関連教示によりコントローラまたはデバイス制御論理が複数のステップをインターレース可能にする。
このように、状態変更と読み出し動作をインターレースすることにより、本開示構造において複数のメモリ動作を同時に実行することができる。
並行読み出し動作の場合、複数ページの読み出しをパイプライン化することができ、各ページの内容は別々のバッファ(マルチバッファが利用可能な場合)に保存される。単一セルに基づくメモリの場合、検知機構(例:センスアンプ装置)を適用して、当該検知機構を異なるページに適用する前に、1ページの検知を完了すると共にこれに関連してページをバッファに転送することが望ましい。一般に、異なる回路、電圧、および電圧経路を用いてコマンドの読み出し、書き込み、消去を行なうことができ、次の読み出しへ移る前にこれらの動作(例:ページ全体の)の各々の反復またはサイクルを停止することが望ましいであろう。
並行状態変更動作の場合、書き込みデータレジスタおよび検知機構に対するその関連付けは通常、並行動作を制約するが、これは状態変更動作を集合的に構成する反復サイクルの間で動作が最も中断され易いことを意味する。各サイクルのプログラミングと検証フェーズの間にアレイの検知機構を再適用することも可能であるが、通常は同一カラムおよび補助回路が各フェーズに用いられるため、最も実際的な動作は、状態変更動作を構成する個々のサイクル間で他の動作をインターレースすることであろう。[特定の実装方式に必要ならば、単一のサイクルのプログラムと検証フェーズの間に他の動作にインターリーブすることは確かに可能である。]状態変更動作が進行中である間、プログラミングの対象を読み出すことは、すなわち書き込みデータレジスタに当初転送された書き込みデータのコピーを動的に割り当てられたバッファに残すことにより、可能であって、当該バッファはメモリページのアドレスに関連付けられているだけでよい。この動作が望ましい理由は、上で示唆したように、従来のプログラム動作の場合、書き込みデータレジスタが作業用バッファとして用いられ、PVサイクル間で変更データだけを保存することが多い。従って、プログラミングが開始されたならば、プログラム最中であるデータに対応するメモリデバイス内にデータの正確なインスタンスが存在しないことがある。上述の教示により提供されるバッファを用いて、プログラムデータの「余分な」コピーは保持することができ、当該データの読み出し要求を傍受して当該データが一時的に保持されているバッファから直接充填することができる。
上述のように、バッファおよびデバイスのIO側(すなわち、IOインターフェースおよびバッファと、関連付けられたレジスタ制御の間)およびデバイスのメモリアレイ側(すなわち、メモリ記憶空間とバッファの間)の通信の分離された制御を特徴とする実施形態において、以下に詳述する方法で、各々の側にほぼ独立して並行動作を実行することができる。
上で述べた方法および構造(例:複数すなわち「N」個のバッファを有する)は例示的に過ぎないことを強調しておく。例えば、1〜2個のバッファだけを用いる上述の実施形態がある。上述の例示的な方法は、これらおよび他の構造を備えた実施形態での利用に適合されていてよい。
A.IO側制御
上述のように、IOインターフェースとバッファのアレイの間での通信は、メモリアレイ制御機能とは独立に制御することができ、メモリコントローラにより、またはデバイス内のオンボード制御論理により実現することができる。一般に、このIO制御論理に関連付けられた機能は、バッファの可用性を監視し、外部バスからデータをバッファにロードし、バッファ制御に用いる状態レジスタを更新し、消去/プログラム/読み出しコマンドを多数の構成ステップに分解して適切な制御論理となるようこれらのステップを待ち行列に入れ、読み出しデータの準備ができている旨をコントローラ(実施形態に必要ならば)に通知するか、または別途読み出しデータをアップストリーム送信のためにバスに送り出すことを含んでいる。これらの機能を、IO制御論理の方法501を示す図5に示している。
上述のように、IOインターフェースとバッファのアレイの間での通信は、メモリアレイ制御機能とは独立に制御することができ、メモリコントローラにより、またはデバイス内のオンボード制御論理により実現することができる。一般に、このIO制御論理に関連付けられた機能は、バッファの可用性を監視し、外部バスからデータをバッファにロードし、バッファ制御に用いる状態レジスタを更新し、消去/プログラム/読み出しコマンドを多数の構成ステップに分解して適切な制御論理となるようこれらのステップを待ち行列に入れ、読み出しデータの準備ができている旨をコントローラ(実施形態に必要ならば)に通知するか、または別途読み出しデータをアップストリーム送信のためにバスに送り出すことを含んでいる。これらの機能を、IO制御論理の方法501を示す図5に示している。
図5に見られるように、本方法は、処理開始ブロック503に示すように、新規のメモリ動作を受信したときに開始される。この枠は、当該動作が特定のアドレスに対する読み出しコマンド、または書き込みや消去コマンド等の状態変更動作を含んでいることを示す頭字語「R/Pg(w/e)」がラベル付けされている。最初に、決定ブロック505により示すように、メモリデバイスがトランザクションを開始する容量を有するか否かを判定する必要がある。利用可能なバッファが少なくとも1個存在する場合、メモリデバイスは直ちにコマンドを受信することができ、実施形態が対応している場合、即時バッファ割り当てが必要でなくても依然としてデバイスはコマンドを受信して待ち行列に入れることができる。例えば、メモリデバイスが動的バッファ割り当てを実行するような実装方式である場合、メモリデバイスは、任意の数の読み出しコマンドおよび関連付けられたメモリアドレス(キャッシュ限度まで)を受信して待ち行列に入れるべく設計することができ、新規の読み出し動作をサポートする帯域幅を有しているため単にバッファを割り当てることができる。状態変更動作の場合、所望の動作を処理するために即座に利用できるバッファが存在しなければ、デバイスはエラーフラグ(処理停止ブロック507が示すように)を立てることが望ましいであろう(ここでもまた、デバイスがバッファ割り当てにより帯電されていれば)。例えば、当該実装方式が3個のメモリバッファだけで特徴付けられていて、その1個がメモリに書き込まれているページのコピーを保持すべく使用され、他の2個が異なるページの読み出しに関して既に使用中である場合、メモリデバイスはエラー検出ピンの論理レベルを切り換えて、メモリがそれを処理する準備ができるまで追加トランザクションを待ち行列に入れるべきである旨をコントローラに通知すべく構成されていてよい。あるいは、メモリデバイスは、単に内部空き/使用中状態レジスタフラグを設定することにより新規動作を命令する前にコントローラに読み出しを実行させることができるように構成されていてよい。また、コントローラがメモリデバイス内の個々のステップを命令する実施形態において、コントローラ自身がバッファ割り当てを辿ることにより、新規のメモリ動作が開始される時点で「知る」ことができる。
1.新規トランザクション要求の扱い
方法501は次いで、要求された動作がプログラム動作かまたは読み出しコマンドであるかの判定へ進み、読み出し要求は、実装方式に応じて、即時バッファ割り当てを行なうことなく処理のために待ち行列に入れることができる。プログラム要求は通常、即時バッファ割り当ておよび外部バスからのデータのロードを推奨する。例えば、コントローラは、プログラムされるデータの新規ページをプログラムコマンドと共に、またはその直後に、メモリに送信し始めることができ、従ってバッファはデバイスが当該データを受信すべく素早く割り当てられなければならない。読み出し動作の場合、方法501は読み出し要求および関連付けられたメモリアドレスを、処理される読み出し要求スタックに先入れ先出し方式で追加し、本方法は次いで終了することができる(参照番号511、513に示す)。[特に、後述する少なくとも1個の実施形態において、読み出しステップおよび状態変更ステップはインターリーブされていて、プログラム要求が同一ページに対する読み出し要求のすぐ後に続く場合、データ同期問題を回避するために、IO制御論理を用いてバッファを新規の読み出し要求に直ちに割り当てる(すなわち、コントローラから受信した時点で)ことが望ましいであろう。]当該動作がプログラム動作である場合、本方法は、バッファを割り当て、割り当てられたバッファにプログラムデータを転送し、状態レジスタを更新し、(バッファがロードされていれば)プログラム動作スタックに適切なコマンドを追加するステップを実行することができ、これら全てを参照番号515により示す。
方法501は次いで、要求された動作がプログラム動作かまたは読み出しコマンドであるかの判定へ進み、読み出し要求は、実装方式に応じて、即時バッファ割り当てを行なうことなく処理のために待ち行列に入れることができる。プログラム要求は通常、即時バッファ割り当ておよび外部バスからのデータのロードを推奨する。例えば、コントローラは、プログラムされるデータの新規ページをプログラムコマンドと共に、またはその直後に、メモリに送信し始めることができ、従ってバッファはデバイスが当該データを受信すべく素早く割り当てられなければならない。読み出し動作の場合、方法501は読み出し要求および関連付けられたメモリアドレスを、処理される読み出し要求スタックに先入れ先出し方式で追加し、本方法は次いで終了することができる(参照番号511、513に示す)。[特に、後述する少なくとも1個の実施形態において、読み出しステップおよび状態変更ステップはインターリーブされていて、プログラム要求が同一ページに対する読み出し要求のすぐ後に続く場合、データ同期問題を回避するために、IO制御論理を用いてバッファを新規の読み出し要求に直ちに割り当てる(すなわち、コントローラから受信した時点で)ことが望ましいであろう。]当該動作がプログラム動作である場合、本方法は、バッファを割り当て、割り当てられたバッファにプログラムデータを転送し、状態レジスタを更新し、(バッファがロードされていれば)プログラム動作スタックに適切なコマンドを追加するステップを実行することができ、これら全てを参照番号515により示す。
図5に、バッファ割り当に関して制御される例示的な状態レジスタ(または状態機械)517を示す。当該レジスタは、(1)各バッファ(各々「B1」、「B2」および「B3」とラベル付けされていて、必要に応じてより多くのバッファを提供できる旨を連続する矢印で示す)の識別フィールド、(2)特定のレジスタが(a)空いているかまたはトランザクションに使用されているか、(b)ロードのため使用中であるかまたは安定しているかを示すフラグ(「F1」)の組、(3)バッファの内容に関連付けられるメモリ記憶空間のアドレス、および(4)複数のマスターをサポートする実装方式において特定のマスターに関連付けられた属性を含む多数のフィールドを有している。上述の方法で新規のコマンドが処理されてバッファが割り当てられた状態で、参照番号519に示すように、外部デバイス(例:メモリコントローラ)から新規のコマンドが受信されるまで本処理は停止されてよい。いくつかの実施形態において、この状態レジスタまたは状態機械は、各メモリデバイスに常駐的に保存されていてよく、一方、他の実施形態ではフラッシュコントローラ(例:図3のコントローラ303等)が各メモリデバイスの状態レジスタを保持することができる。この場合、コントローラから発行された個々のコマンドはバッファ属性または命令コードフィールドを含んでおり、これも参照番号517に関連付けられたバッファ属性により表される。
2.動的バッファ割り当ておよびバッファ追跡
上述のいくつかの構造の利点の一つは、不揮発性メモリ内の記憶ユニットが、当該ユニット(または書き込みデータレジスタ内のデータ)が遷移状態であるにも拘わらず、実質的に可読され得る点である。これは、データが書き込みデータレジスタにコピーされた後で、当該データ(プログラムデータ)のコピーをバッファに残し、状態レジスタ(例えば図5に関して上で述べたように)を送られて来たメモリ読み出し結果の参照として使用することにより実質的に実現できる。このような動作を、例えばプログラム最中であるデータを読み出す制御方法601を示す図6に示している。
上述のいくつかの構造の利点の一つは、不揮発性メモリ内の記憶ユニットが、当該ユニット(または書き込みデータレジスタ内のデータ)が遷移状態であるにも拘わらず、実質的に可読され得る点である。これは、データが書き込みデータレジスタにコピーされた後で、当該データ(プログラムデータ)のコピーをバッファに残し、状態レジスタ(例えば図5に関して上で述べたように)を送られて来たメモリ読み出し結果の参照として使用することにより実質的に実現できる。このような動作を、例えばプログラム最中であるデータを読み出す制御方法601を示す図6に示している。
特に、図6に参照番号603、605で示すように、IO制御論理が送られて来た読み出し要求を検知した際に、要求が表すアドレスを状態レジスタ入力(例:図5のレジスタ517)の内容と比較する。論理は、直近に割り当てられたバッファの順にバッファのエントリを実質的に比較して、最初に合致したならば中止することができる(先行する消去要求を、関連付けられたメモリ空間に対する読み出し用のキャッシュとして扱わないことを保証するため)。他のオプションも存在する。読み出しアドレスがバッファのエントリに合致する場合、求めていたデータのコピーが既にバッファの1個に保存されていることが合致から分かり、次いで状態レジスタ内の関連付けられたエントリのフラグを調べて、関連付けられたデータが現在もバッファにロードされている最中ではない(すなわち、バッファ内で表現されているデータは正確である)ことを保証することができる。この機能を可能にすることは、(図5と関連して上で示唆したように)設計者がメモリからのページ内容の検知と同時になるようにバッファの割り当てを遅延するのではなく、新規のトランザクションに直ちにバッファを割り当てたい理由の一つである。すなわち、コントローラ要求の受信時に直ちにバッファを割り当てる(遅延されたバッファ割り当てと共にコマンドを待ち行列に入れるのではなく)ことで、同一ページに対する次の読み出しが必然的に図6の方法を用いてマッチングを起動させることを保証する。依然としてデータがバッファにロードされている場合、ロードが終わるまでIO制御論理は待つことができるが、データロードが終了したならば、コントローラはデータが読み出しの準備ができている旨の通知を受けることができる。先に述べたように、この通知を実行するために使用できる多数の機構があり、「空き/使用中」ピンの切り換え、コントローラが周期的に調べる状態レジスタの設定、コントローラへのコマンド送信その他いくつかの機構が含まれる。コントローラが通知を受けたならば、コントローラおよびメモリデバイスは、例えば、他のコントローラから発行された読み出しコマンド(または異なるコマンド、例えば、最初にバッファへのデータロードを起動し、続いて対象バッファに宛てられた読み出しコマンド)を用いて、バッファから外部バスへのデータ転送を起動することができる。これらの機能は、図6において参照番号607、609、611および613により多様に示されている。バッファ内で「ヒット」が見つからなかった場合、IO制御論理は、要求されたメモリページがローカルバッファ内で見つからなかったものと判定して、図6に参照番号615で示すように、対象コマンド(および関連付けられた記憶ユニットアドレス)をメモリアレイ制御論理の読み出されたスタックに追加する。方法は次いで、参照番号617で示すように終了することができる。今述べたように、当該動作を命令することに関連して、空きバッファを新規の読み出しコマンドに直ちに割り当てる(同一ページに対する任意の後続する読み出しによりローカルバッファ内で「ヒット」が生じ、従って当該バッファのコピーの読み出しへ向けられるように)ことが望ましいであろう。参照番号619で示す、キャッシュ準備を容易にするこの方法は、すなわち、後続するメモリ要求が受信された時点で、関連付けられた記憶ユニットがロード途中であってもよいため、ストレージアレイに対する読み出しよりも高速且つ潜在的にはより正確であるものと期待される。
これらの例が示すように、いくつかの実装方式において、バッファ使用状況を追跡して、例えば各バッファが空いているかまたは使用中か、および各バッファがロードされている途中か否かのインジケータを提供することは重要であろう。実質的には、レジスタ内の状態フラグを用いて以下のバッファ状態を示すことができる。
(a)バッファは未使用で新規トランザクションに動的に割り当てることができる
(b)バッファは使用中で現在安定、すなわちロード途中でビジー状態ではなく、プログラム動作(すなわち書き込みまたは消去)が進行中であるかないかに拘らず、特定のメモリアドレスに関連付けられた現在の内容を、メモリアレイ制御論理またはメモリ記憶空間が関与せずともIO制御論理によりバッファから直接に読み出すことができる
(c)バッファは使用中で現在ロードの最中である。この状態では、バッファの内容は不正確(例:部分的に有効、部分的に無効なデータ)であり、従ってメモリ動作(ステップ、またはメモリアレイ制御論理により管理されたコマンドあるいはIO制御論理により管理されたIO動作)を待ち行列に入れて、ロードが終了した旨を示すべく関連付けられたフラグが変更されるまで実質的に「待つ」必要がある。
この状態データ(例:レジスタフラグにより表されたデータ)をバッファ属性およびバッファ内容に対応するページアドレスと結合することにより、本開示で考察するメモリ動作の大部分を実行することができる。例えば、これらのバッファを基本的にメモリデバイス内のローカルキャッシュ形式で用いて、バッファから直接データを送ることによりプログラム動作の最中に並列動作処理を実行することができる。
(a)バッファは未使用で新規トランザクションに動的に割り当てることができる
(b)バッファは使用中で現在安定、すなわちロード途中でビジー状態ではなく、プログラム動作(すなわち書き込みまたは消去)が進行中であるかないかに拘らず、特定のメモリアドレスに関連付けられた現在の内容を、メモリアレイ制御論理またはメモリ記憶空間が関与せずともIO制御論理によりバッファから直接に読み出すことができる
(c)バッファは使用中で現在ロードの最中である。この状態では、バッファの内容は不正確(例:部分的に有効、部分的に無効なデータ)であり、従ってメモリ動作(ステップ、またはメモリアレイ制御論理により管理されたコマンドあるいはIO制御論理により管理されたIO動作)を待ち行列に入れて、ロードが終了した旨を示すべく関連付けられたフラグが変更されるまで実質的に「待つ」必要がある。
この状態データ(例:レジスタフラグにより表されたデータ)をバッファ属性およびバッファ内容に対応するページアドレスと結合することにより、本開示で考察するメモリ動作の大部分を実行することができる。例えば、これらのバッファを基本的にメモリデバイス内のローカルキャッシュ形式で用いて、バッファから直接データを送ることによりプログラム動作の最中に並列動作処理を実行することができる。
3.完了の信号通知およびバッファリソースの解放
メモリアレイ制御論理と共にIO制御論理により実行される特定のステップを用いて、各メモリ動作が完了した際に新たに使用すべくバッファを解放することができる。マルチサイクルプログラムコマンドが進行中である間に当該データを読み出せるように、プログラムデータのコピーをバッファに保持することをサポートする実施形態の場合、プログラミングが完全に正確である(例:書き込みデータレジスタとプログラム最中の記憶ユニットとの間の比較により、プログラムすべき対象が何も残っていないことを示す)と検証されたならば、関連付けられたバッファを解放することができる。この解放を実行するために、メモリアレイ制御論理は単にレジスタ状態ビット(例:関連バッファの最初の「Fl」フィールド)を変更して、IO制御論理がここで対象とするバッファを新規トランザクション適用できる(すなわち、たった今プログラムされたデータがメモリ記憶空間から確実に取得できるため)ことを示せばよい。IO制御論理に関して、読み出し動作が完了したならば(例:コントローラが読み出しデータを取り出さなければならない実装方式ではコントローラにより、またはメモリが肯定的にデータを転送しなければならない実装方式ではIO制御論理により)、バッファは同様に再利用可能である。逆に、プログラミング動作が正常に完了しない場合、無期限にデータを保持するためにバッファを用いてもよい。例えば、所定の数(例:20)のプログラミングサイクルが特定の装置(例:ページまたはブロック)を正しく「リセット」またはプログラムしない場合、エラー信号をコントローラに上げることができ、コントローラが対象とする記憶ユニットを「不良」であるとマーク付けしてデータを他のメモリ空間(同一デバイスまたは異なる不揮発性メモリデバイスのいずれか)に再設定するまで、データを保持しているバッファを一時ストレージとして用いることができる。
メモリアレイ制御論理と共にIO制御論理により実行される特定のステップを用いて、各メモリ動作が完了した際に新たに使用すべくバッファを解放することができる。マルチサイクルプログラムコマンドが進行中である間に当該データを読み出せるように、プログラムデータのコピーをバッファに保持することをサポートする実施形態の場合、プログラミングが完全に正確である(例:書き込みデータレジスタとプログラム最中の記憶ユニットとの間の比較により、プログラムすべき対象が何も残っていないことを示す)と検証されたならば、関連付けられたバッファを解放することができる。この解放を実行するために、メモリアレイ制御論理は単にレジスタ状態ビット(例:関連バッファの最初の「Fl」フィールド)を変更して、IO制御論理がここで対象とするバッファを新規トランザクション適用できる(すなわち、たった今プログラムされたデータがメモリ記憶空間から確実に取得できるため)ことを示せばよい。IO制御論理に関して、読み出し動作が完了したならば(例:コントローラが読み出しデータを取り出さなければならない実装方式ではコントローラにより、またはメモリが肯定的にデータを転送しなければならない実装方式ではIO制御論理により)、バッファは同様に再利用可能である。逆に、プログラミング動作が正常に完了しない場合、無期限にデータを保持するためにバッファを用いてもよい。例えば、所定の数(例:20)のプログラミングサイクルが特定の装置(例:ページまたはブロック)を正しく「リセット」またはプログラムしない場合、エラー信号をコントローラに上げることができ、コントローラが対象とする記憶ユニットを「不良」であるとマーク付けしてデータを他のメモリ空間(同一デバイスまたは異なる不揮発性メモリデバイスのいずれか)に再設定するまで、データを保持しているバッファを一時ストレージとして用いることができる。
再び、上で示唆したように、各々の新規メモリ要求が受信された際に、当該メモリデバイスは自身の状態レジスタをポーリングして最初に利用可能なバッファを選択して割り当てることができる。対応する要求が満たされたならば直ちにバッファ状態を「空き」に変更することにより、制御論理は、デバイスが直ちに解放されたバッファを再適用して、新規メモリ要求が提示されたならば直ちに受理できることを保証することを支援する。
バッファの使用状況の追跡および動的割り当てに関して与えた記述は例示的に過ぎず、デジタル設計に精通した当業者には明らかになるため、メモリデバイスまたはコントローラ(または他のマスター)のいずれかにおいてこれらの機能を管理きる他の方法が存在する。
4.機能のコントローラ対デバイス管理
上述のように、本開示で紹介した構造を実装および制御する最も直接的な方法は、コントローラに不揮発性メモリデバイス(群)内の個々のステップおよび動作、例えば各バッファ内外へのデータの移動、および個々の状態変更サイクルに関わる動作を管理させることであろう。この設計の直接的な性質の理由は、上述の管理機能がコントローラ管理環境において、コントローラ命令論理を介して比較的容易に実装することができ、且つ必要とされるデバイスハードウェアの観点から簡素化されたコマンドのサポートが比較的「安価」であって、実装が直接的であるからである。上述のように、バッファの使用状況および内容を記述する状態レジスタまたは状態機械は、各メモリデバイス用のコントローラに保持することができる。この構造を用いれば、例えば、コントローラにとって各バッファ内外へのデータの移動、および無論、状態の監視にも関連付けられたコマンドを構築することが比較的容易になる。例えば、これらの原理に従い設計されたコントローラは、以下のコマンドを生成するコマンド生成論理に依存していてよい。
データをセンスアンプ装置から特定のバッファに転送する、
データを特定のバッファからシステムデータバスに転送する、
プログラムデータを特定のバッファに書き込む、
プログラム制御の対象とするデータを特定のバッファから読み出す、
データを特定のバッファから書き込みデータレジスタにコピーする、あるいは
データを特定のバッファから書き込みデータレジスタに非破壊的にコピーする。
コントローラにより生成されたコマンドはこのとき、適宜、上で示唆したように命令コードを用いて通常は特定の宛先バッファを特定する。デジタルシステム設計の技術を有する当業者に想起されるように他のコマンドも無論可能である。
上述のように、本開示で紹介した構造を実装および制御する最も直接的な方法は、コントローラに不揮発性メモリデバイス(群)内の個々のステップおよび動作、例えば各バッファ内外へのデータの移動、および個々の状態変更サイクルに関わる動作を管理させることであろう。この設計の直接的な性質の理由は、上述の管理機能がコントローラ管理環境において、コントローラ命令論理を介して比較的容易に実装することができ、且つ必要とされるデバイスハードウェアの観点から簡素化されたコマンドのサポートが比較的「安価」であって、実装が直接的であるからである。上述のように、バッファの使用状況および内容を記述する状態レジスタまたは状態機械は、各メモリデバイス用のコントローラに保持することができる。この構造を用いれば、例えば、コントローラにとって各バッファ内外へのデータの移動、および無論、状態の監視にも関連付けられたコマンドを構築することが比較的容易になる。例えば、これらの原理に従い設計されたコントローラは、以下のコマンドを生成するコマンド生成論理に依存していてよい。
データをセンスアンプ装置から特定のバッファに転送する、
データを特定のバッファからシステムデータバスに転送する、
プログラムデータを特定のバッファに書き込む、
プログラム制御の対象とするデータを特定のバッファから読み出す、
データを特定のバッファから書き込みデータレジスタにコピーする、あるいは
データを特定のバッファから書き込みデータレジスタに非破壊的にコピーする。
コントローラにより生成されたコマンドはこのとき、適宜、上で示唆したように命令コードを用いて通常は特定の宛先バッファを特定する。デジタルシステム設計の技術を有する当業者に想起されるように他のコマンドも無論可能である。
しかし、不揮発性メモリデバイスにおける管理機能のいくつかまたは大部分を含めようとする設計者の動機もまた存在する。一例として、上で要求される管理論理および構造を実装するメモリデバイスは、既存のメモリコントローラおよびオペレーティングシステムと互換性を持つように設計することができる。このように設計されたメモリデバイスはまた、複数のマスター環境(例:複数のマイクロプロセッサを有するネットワークまたはシステムの構成要素として)に比較的容易に適合させることができる。この場合は当然ながら、コントローラまたは他の「マスター」が発行する個々のコマンドは、図5に更に参照番号517で示すように、マスター識別フィールドまたは命令コードを含んでいてよい。更に、各コントローラは一般に、管理を要求される多くのタスクを有し、少なくともいくつかのアプリケーションにおいて、且つ全体的な速度に影響を及ぼすことなく各メモリデバイスに機能をオフロードできる程度に、システム全体の効率を向上させることができる。
B.メモリアレイ制御論理
メモリアレイ制御論理は、バッファの組とメモリ記憶空間の間での情報の流れを管理するよう求められ、これにはメモリページのプログラムに使用したデータを書き込みデータレジスタへの充填、検証データのセンスアレイ(センスアンプ装置)から書き込みデータキャッシュへの転送、読み出しデータのセンスアレイから割り当てられたバッファへの移動が含まれる。上述のように、プログラム動作に関連付けられたデータはバッファに保持することができ、先行するマルチサイクル状態変更動作が完了するまで、後続するプログラム動作用のデータを別のバッファに保存して待ち行列に入れることができる。メモリの新規ページに動作が行なわれた際に、メモリアレイ制御論理機能は、関連バッファからデータを書き込みデータレジスタに転送する。
メモリアレイ制御論理は、バッファの組とメモリ記憶空間の間での情報の流れを管理するよう求められ、これにはメモリページのプログラムに使用したデータを書き込みデータレジスタへの充填、検証データのセンスアレイ(センスアンプ装置)から書き込みデータキャッシュへの転送、読み出しデータのセンスアレイから割り当てられたバッファへの移動が含まれる。上述のように、プログラム動作に関連付けられたデータはバッファに保持することができ、先行するマルチサイクル状態変更動作が完了するまで、後続するプログラム動作用のデータを別のバッファに保存して待ち行列に入れることができる。メモリの新規ページに動作が行なわれた際に、メモリアレイ制御論理機能は、関連バッファからデータを書き込みデータレジスタに転送する。
送られて来たメモリコマンドに関連して上で述べたように、メモリアレイ制御論理は、実質的にプログラムおよび読み出し動作を2個の異なるスタック内で待ち行列に入れて、状態変更動作ステップと読み出し動作ステップの制御を分離するように設計することができる。この違いは、以下で分かるように、読み出しおよび状態変更動作がメモリ動作にさほど影響を及ぼすことなく、自動的にインターリーブできるようにデバイス動作を構築する一つの可能な方法提示する。
1.コマンドスタックの処理および状態レジスタの更新
図7に、状態変更および読み出し動作をインターリーブできる方法701を示す論理フロー図を提示する。今述べたように、読み出しおよび状態変更ステップを別々の機能スタックまたは待ち行列に分離することができる。メモリアレイ制御論理機能は、いずれの待ち行列も未実行のメモリ動作を要求しない間、待ちモードで動作する。いずれかの待ち行列でステップが提示されたならば、機能的参照703、705および707に示すように、方法701は最初に状態変更ステップの実行へ進み、次いで第2に読み出しステップを実行する。実行のこの順序に従い、本方法は開始ブロック703に戻って、再び同じサイクルで動作する。すなわち、各々が各々の待ち行列で提示される程度に、待ち行列に入れられた任意の状態変更ステップに続いて待ち行列に入れられた任意の読み出し動作ステップを実行する。
図7に、状態変更および読み出し動作をインターリーブできる方法701を示す論理フロー図を提示する。今述べたように、読み出しおよび状態変更ステップを別々の機能スタックまたは待ち行列に分離することができる。メモリアレイ制御論理機能は、いずれの待ち行列も未実行のメモリ動作を要求しない間、待ちモードで動作する。いずれかの待ち行列でステップが提示されたならば、機能的参照703、705および707に示すように、方法701は最初に状態変更ステップの実行へ進み、次いで第2に読み出しステップを実行する。実行のこの順序に従い、本方法は開始ブロック703に戻って、再び同じサイクルで動作する。すなわち、各々が各々の待ち行列で提示される程度に、待ち行列に入れられた任意の状態変更ステップに続いて待ち行列に入れられた任意の読み出し動作ステップを実行する。
各ステップを実行した結果、影響を受ける各バッファに対する状態レジスタの更新と同様に、実質的に各々の機能的な待ち行列に追加ステップが挿入される場合がある。例えば、上述のように、状態変更動作が終了したならば(例:記憶ユニットが正しくプログラム最中である)、不揮発性メモリから完全且つ有効なデータを読み出すことができ、もはやバッファが必要とされないため、関連付けられたバッファを解放することができる。換言すれば、各ステップは、マルチサイクル状態変更動作(すなわち、プログラムまたは消去)の単一「サイクル」、または読み出しの場合、単一メモリページのバッファへの転送を表すことができる。各プログラム検証サイクルの検証フェーズの一部として、データが正しく変更状態されていると判定された場合、動作が終了してバッファを解放することができる。書き込みデータレジスタを更新した後で更なるサイクルが必要な場合、検証フェーズは新たなコマンド(すなわち新たなサイクル)を、実質的にプログラム待ち行列の最上位に挿入することができる。従って、メモリの1ページをバッファに転送することにより読み出し動作(存在すれば)を実行した後で、図7の方法701は、実質的に別のサイクルを実行すべくループバックされる。このように、状態変更および読み出しステップ(並行に存在するならば)を自動的にインターリーブして、マルチサイクル状態変更動作の各サイクルの間で読み出し(または必要に応じて複数の読み出し動作)を生起させることができる。
2.状態変更動作
図8に、今述べた当該論理フローを表すために用いる方法801を示すが、プログラム動作に関連付けられたステップに焦点を当てている。新規のプログラム(または書き込み)要求をコントローラから受信したならば、IO制御論理は、特定のメモリアドレス(例:メモリのブロックまたはページ)をプログラムする一連のプログラムステップを待ち行列に入れる。いずれかの特定のメモリページが書かれる場合に参照番号803に示すように、メモリセルの解放に用いるデータのブロックのリセットに対応して、通常は対象とする装置の消去が最初に生起する。消去動作は、対象とするブロックに関連付けられた全てのメモリセルの「リセット」を保証するために必要なサイクルだけ実行される(参照番号803で示すように)。参照番号805で示すように、次いでプログラム動作が生起し、同様に機能ブロック809に示すように、マルチサイクルを用いた関連データのバッファから書き込み回路への転送および当該データの記憶ユニット(例:メモリのページ)へのプログラミングから開始される。このように、マルチサイクルプログラミング動作の各サイクルを単一の処理またはステップと見なすことができる。上述のように、複数ステップ処理全体を、保留された読み出しがあればインターリーブ方式で消去サイクルの間に挿入するように管理することができる。
図8に、今述べた当該論理フローを表すために用いる方法801を示すが、プログラム動作に関連付けられたステップに焦点を当てている。新規のプログラム(または書き込み)要求をコントローラから受信したならば、IO制御論理は、特定のメモリアドレス(例:メモリのブロックまたはページ)をプログラムする一連のプログラムステップを待ち行列に入れる。いずれかの特定のメモリページが書かれる場合に参照番号803に示すように、メモリセルの解放に用いるデータのブロックのリセットに対応して、通常は対象とする装置の消去が最初に生起する。消去動作は、対象とするブロックに関連付けられた全てのメモリセルの「リセット」を保証するために必要なサイクルだけ実行される(参照番号803で示すように)。参照番号805で示すように、次いでプログラム動作が生起し、同様に機能ブロック809に示すように、マルチサイクルを用いた関連データのバッファから書き込み回路への転送および当該データの記憶ユニット(例:メモリのページ)へのプログラミングから開始される。このように、マルチサイクルプログラミング動作の各サイクルを単一の処理またはステップと見なすことができる。上述のように、複数ステップ処理全体を、保留された読み出しがあればインターリーブ方式で消去サイクルの間に挿入するように管理することができる。
図9に、状態変更動作の各サイクルに関連付けられた動作の詳細なフロー図を示す。図9は、プログラムスタック論理が特定のページについて保留されたプログラム動作を信号通知した際に実質的に開始され、図9に参照番号903で集合的に表すように、アドレスおよび関連データ(すなわちプログラム動作の場合の特定のデータ)が書き込み回路に送られる方法901を表す。本方法は次いで、参照番号905により識別されるプログラムフェーズを起動し、当該フェーズの間に書き込み回路は必要に応じてメモリ記憶空間を帯電させて、「ゼロ」(すなわち、この値を用いて影響を受けるメモリセルに関連付けられたコントロールゲートを「オン」にする)であるページ値に対応する各メモリセルをプログラムしようと試みる。このような最初のプログラム動作は、書き込み回路により設定された既定電圧値を用いて最小プログラミング電圧を表す。特に、本動作はプログラムおよび消去動作に類似しているが、セルをセット(すなわち、「プログラムされる」)またはリセットする(すなわち、「消去される」)場合、セルをプログラムする特定の方法は異なる。例えばフラッシュメモリの場合、設計に応じて、基板に量子トンネル効果が生じていれば基板を帯電させて基本的に除去することにより、ブロックに対して消去を適用することができるのに対し、「セット」は通常、トランジスタをオンにすることによりメモリセルに関連付けられたフローティングゲートを帯電させる電圧をコントロールゲートに印加することにより実行される。他の種類のメモリ(例:RRAM)の場合、「セット」および「リセット」動作には異なる電圧が関与する場合がある。[電荷を調整して送る特定の方法は、データが最初にバッファから書き込み回路および書き込みデータレジスタ転送された際に確定された設定に応じて書き込み回路により定義される。]消去動作の場合、適切な消去は、ブロック内のいずれかのメモリセルが正しくリセットされなかったか否かを検知することにより実行することができる。いずれかのセルが正しくリセットされなかった場合、再び消去が適用され、すなわち基本的にPVサイクルを用いて、全てのビットが論理値「1」にリセットされるまで当該動作を繰り返す。プログラム動作の場合、本方法は次いで検証するフェーズを起動し、記憶ユニット(すなわち、プログラム最中であるメモリ空間)と書き込みデータレジスタの間で排他的論理和を実行してその結果を反転させる。これらの結果において表現された「ゼロ」が存在しない場合、当該ページは正しくプログラム(または消去)されていて、関連付けられたバッファがあれば解放しながらプログラム動作を終了することができる。これらの動作を図9において参照番号907、909、911、および913により集合的に表す。あるいは、結果において少なくとも1個の「ゼロ」が存在する場合、完全な結果を用いて書き込みデータレジスタを上書きする。書き込みデータレジスタは次いで、先行する状態変更の試みが失敗した各メモリページ位置において(すなわち、記憶空間内の各セルについて)「ゼロ」となり、特定のサイクル(プログラムおよび検証フェーズ)が完了する。別のサイクルを実行する必要があるため、「V」を増大させる(すなわち、より高い電圧を次の状態変更の試みで使用するように書き込み回路が使用する既定電圧を増やす)し、且つ同一メモリページに対する別の状態変更動作を処理待ち行列の最上位に追加してステップが終了する。本動作はまた、対象とする記憶ユニットに対して既に実行された反復的PVサイクルの数を表す値「k」を増やす。上述のように、この値を用いて「不良」メモリブロックを検知する。すなわち、何らかの所定の制限(「20サイクル」等)に達したならば、この場合のメモリデバイスはコントローラにエラーの信号を送って、対象とするデータに対する更なる命令を待つ。これらの機能を図9に参照番号915、917、919および921で一般的に示す。
3.読み出し動作
図10に、上述の方法、構造、および論理に関連して読み出し動作を達成できる一方法1001を示す。特に、各々の読み出しは、クロスバー(例えば図2、3に示す実施形態のようにクロスバーに依存する実施形態が用いる場合)の設定から開始することができる。参照番号1003、1005により示すように、この設定機能は、センスアンプ装置からページ内容の一時的な宛先として機能する割り当てられたバッファへデータをルーティングする役割を果たす。クロスバーの設定に続いて、割り当てられたバッファ用のバッファ状態フラグが変更されて、割り当てられたバッファが「使用中」であって、この時点で読み出された場合、そのデータが遷移状態にあって正確ではない恐れがあることを示す。記憶空間に関連付けられた回路には、読み出される特定のユニット(例:データの特定のページ)のアドレスデータも与えられており、読み出しデータは次いで、参照番号1007、1009に示すように、割り当てられたバッファに転送される。読み出しが完了したならば、再び状態レジスタがアクセスされて(番号1011を参照)、バッファがもはや「使用中」ではない(すなわち、データをロードしておらず、従って自身の内容がデータの有効なページを表す)ことを示すために再びバッファ状態フラグを変更される。本方法は次いで、参照番号1013に示すように終了する。
図10に、上述の方法、構造、および論理に関連して読み出し動作を達成できる一方法1001を示す。特に、各々の読み出しは、クロスバー(例えば図2、3に示す実施形態のようにクロスバーに依存する実施形態が用いる場合)の設定から開始することができる。参照番号1003、1005により示すように、この設定機能は、センスアンプ装置からページ内容の一時的な宛先として機能する割り当てられたバッファへデータをルーティングする役割を果たす。クロスバーの設定に続いて、割り当てられたバッファ用のバッファ状態フラグが変更されて、割り当てられたバッファが「使用中」であって、この時点で読み出された場合、そのデータが遷移状態にあって正確ではない恐れがあることを示す。記憶空間に関連付けられた回路には、読み出される特定のユニット(例:データの特定のページ)のアドレスデータも与えられており、読み出しデータは次いで、参照番号1007、1009に示すように、割り当てられたバッファに転送される。読み出しが完了したならば、再び状態レジスタがアクセスされて(番号1011を参照)、バッファがもはや「使用中」ではない(すなわち、データをロードしておらず、従って自身の内容がデータの有効なページを表す)ことを示すために再びバッファ状態フラグを変更される。本方法は次いで、参照番号1013に示すように終了する。
読み出し動作は一般に、上述の状態変更動作よりも単純である。これらの動作もまた複数のステップを必要とするが、検知動作のために生じる帯電および電圧印加は通常、今述べた状態変更動作とは異なる。一般に、読み出し、プログラム、および消去動作のために潜在的に異なる信号経路で異なる特定の電圧を切替える必要があるため、一般に、メモリアレイ制御の設定を変えないように、読み出し動作「内」に別のコマンドをインターリーブする前に各サイクル(例:各々の書き込みまたは消去サイクル、あるいはページ全体の各々の読み出し)を完了させることが好適であるが、再び、所望のアプリケーションに応じて相反する動機があるかもしれない
これまで述べてきたメモリ構造を実装する各種のフレームワークおよび設計オプションを前提として、本開示は次に、上述の構造および方法を用いて実行可能な動作の具体例を挙げる。
III.特定のトランザクション例
1.複数の読み出し要求の同一メモリ記憶空間へのパイプライン化
先に述べたように、本開示で提案する構造は、複数の動作をメモリデバイスへ送って、先行動作の完了を待たなくても少なくとも部分的に開始できるため、より高速な不揮発性メモリ動作を容易にする。この並行動作は、同一メモリ空間に適用することができる。すなわち、単一書き込みデータレジスタ(またはそのようなレジスタの並列グループ)および単一センスアレイにより共通的にサービスを受けるセルへの複数のメモリ動作による並行アクセスを可能にする。
1.複数の読み出し要求の同一メモリ記憶空間へのパイプライン化
先に述べたように、本開示で提案する構造は、複数の動作をメモリデバイスへ送って、先行動作の完了を待たなくても少なくとも部分的に開始できるため、より高速な不揮発性メモリ動作を容易にする。この並行動作は、同一メモリ空間に適用することができる。すなわち、単一書き込みデータレジスタ(またはそのようなレジスタの並列グループ)および単一センスアレイにより共通的にサービスを受けるセルへの複数のメモリ動作による並行アクセスを可能にする。
実行可能な並行動作の一つは、複数の読み出し要求の処理に関る。上述のように、IO制御論理は、第1の動作の完了を待つことなく複数の動作をスタックすることができる。この点に関して、プログラム制御論理はセンスアレイ(センスアンプ装置)と1個のバッファの間でデータを転送することができるのに対し、IO制御論理はコントローラへ送信すべく異なるバッファからメモリの第2のページを外部データバスに転送する。クロスバーを使用することで、プログラム制御論理が任意のバッファをセンスアレイにスイッチング可能に接続することができるため、任意のバッファを読み出しデータの一時宛先として動的に割り当てることができる。読み出し要求に関連付けられたバッファの充填は、従って高速実行のためにパイプライン化することができる。通常は要求の起動および要求されたメモリの各ページに対するセンスアレイからのデータ転送毎に伴う時間を待つ必要なしに、フラッシュデバイスからメモリの複数のページを連続的に素早く読み出すことができる。
2.複数の書き込み/消去要求のパイプライン化
上述の構造もまた、今述べたのとほぼ同じ方法で複数の書き込み/消去要求をパイプライン化することができる。IO制御論理は、不揮発性メモリに書き込まれるデータの複数のページを連続的に素早く異なるバッファにロードできるように、状態変更動作を起動して書き込み(プログラム)要求にバッファを割り当てることができる。メモリデバイスが1個の状態変更動作に使用中である間、当該メモリ空間に関連付けられた書き込み回路およびセンスアレイが使用中であるにも拘わらず、後続する書込み動作用のデータのページを待ち行列に入れることができる。すなわち、上で紹介したメモリデバイスは一般に、状態変更動作(および、関連する「使用中」状態のコントローラへの提示)が完全に完了するのを待つ必要がなく、たとえマルチサイクル動作が進行中であっても、メモリの追加的なページまたはブロックに対する新たな状態変更要求の受理に進むことができる。
上述の構造もまた、今述べたのとほぼ同じ方法で複数の書き込み/消去要求をパイプライン化することができる。IO制御論理は、不揮発性メモリに書き込まれるデータの複数のページを連続的に素早く異なるバッファにロードできるように、状態変更動作を起動して書き込み(プログラム)要求にバッファを割り当てることができる。メモリデバイスが1個の状態変更動作に使用中である間、当該メモリ空間に関連付けられた書き込み回路およびセンスアレイが使用中であるにも拘わらず、後続する書込み動作用のデータのページを待ち行列に入れることができる。すなわち、上で紹介したメモリデバイスは一般に、状態変更動作(および、関連する「使用中」状態のコントローラへの提示)が完全に完了するのを待つ必要がなく、たとえマルチサイクル動作が進行中であっても、メモリの追加的なページまたはブロックに対する新たな状態変更要求の受理に進むことができる。
3.プログラム/消去サイクルまたはフェーズ間における読み出し要求のインターリービング
今述べた動作はまた、同時読み出し動作および書き込み(プログラム)または消去動作に拡張することができる。具体的には、メモリの1ページがプログラムされている間、デバイスを「使用中」のままにするのではなく、(既にデータバッファにロードされている)データを外部バスを介してコントローラへストリーミングすることにより、書き込み回路およびを検知回路が「使用中」であるにも拘わらず、メモリの1ページ以上を読み出すことができる。これらの動作はマルチサイクルを要するため、上述の論理は、書き込み回路設定または書き込みデータレジスタの内容を一切阻害することなく、マルチサイクル書き込みまたは消去動作を中断して、プログラム制御論理がデータのページを割り当てられたバッファへ素早く転送し、次いで状態変更動作を再開できるように読み出し動作のインターリーブ可能にする。次いで書き込み回路が自身の動作を続けるにつれて、IO制御論理はメモリの当該ページを外部バスを介してコントローラ読み出し要求を満たすべく外へ転送する。いくつかの実施形態において、単一の状態変更サイクル(すなわち、プログラミングサイクルの検証フェーズの前に読み出しを実行する)内でフェーズを中断することが可能である。しかし、標準のフラッシュアレイ実装の場合、セルがプログラムされる際にセルの内容が検知することが相対的に容易であるため、この設計選択は準最適であるかもしれない。上で述べた読み出しと状態変更を並行させる利点を拡張して、複数の読み出しおよび複数の状態変更動作をメモリデバイスが同時に受信して、効率的な動作のためにパイプライン化(個々のステップがインターリーブされて)することができる。メモリデバイスは、適切に設計されていれば、単一のマスター(例:単一のコントローラ)のスレーブとして、または複数の装置(すなわち、各メモリデバイスが各々の読み出しを要求しているマスターを識別して、要求されたデータの準備ができたならば当該マスターに通知可能にする構造を提供することにより)向けに構成することができる。所与のメモリ実装方式に設計されたバッファの個数に応じて任意の程度の並行性をサポートすることができる。
今述べた動作はまた、同時読み出し動作および書き込み(プログラム)または消去動作に拡張することができる。具体的には、メモリの1ページがプログラムされている間、デバイスを「使用中」のままにするのではなく、(既にデータバッファにロードされている)データを外部バスを介してコントローラへストリーミングすることにより、書き込み回路およびを検知回路が「使用中」であるにも拘わらず、メモリの1ページ以上を読み出すことができる。これらの動作はマルチサイクルを要するため、上述の論理は、書き込み回路設定または書き込みデータレジスタの内容を一切阻害することなく、マルチサイクル書き込みまたは消去動作を中断して、プログラム制御論理がデータのページを割り当てられたバッファへ素早く転送し、次いで状態変更動作を再開できるように読み出し動作のインターリーブ可能にする。次いで書き込み回路が自身の動作を続けるにつれて、IO制御論理はメモリの当該ページを外部バスを介してコントローラ読み出し要求を満たすべく外へ転送する。いくつかの実施形態において、単一の状態変更サイクル(すなわち、プログラミングサイクルの検証フェーズの前に読み出しを実行する)内でフェーズを中断することが可能である。しかし、標準のフラッシュアレイ実装の場合、セルがプログラムされる際にセルの内容が検知することが相対的に容易であるため、この設計選択は準最適であるかもしれない。上で述べた読み出しと状態変更を並行させる利点を拡張して、複数の読み出しおよび複数の状態変更動作をメモリデバイスが同時に受信して、効率的な動作のためにパイプライン化(個々のステップがインターリーブされて)することができる。メモリデバイスは、適切に設計されていれば、単一のマスター(例:単一のコントローラ)のスレーブとして、または複数の装置(すなわち、各メモリデバイスが各々の読み出しを要求しているマスターを識別して、要求されたデータの準備ができたならば当該マスターに通知可能にする構造を提供することにより)向けに構成することができる。所与のメモリ実装方式に設計されたバッファの個数に応じて任意の程度の並行性をサポートすることができる。
IV.結論
本開示は、不揮発性デバイスおよび関連する動作システムおよび方法の実施形態を提示してきた。より具体的には、書き込みデータレジスタへのロードに関連付けられた経路を分離し、センスアンプ装置から読み出しデータを出力し、センスアンプ装置からデータを送って書き込みデータレジスタ更新するデバイスを用いて、同一メモリ組織内(例えば同一メモリバンク内)で並行処理を並列に実行することができる。いくつかの実施形態において、複数のバッファの各々を読み出しまたはプログラム対象であるメモリページに動的に割り当てることにより、トランザクションの並列処理を行なって現在プログラム動作の最中であるデータの読み出しを可能にする。これらの構造および方法の他の実施形態、応用、および代替方式が存在する。
本開示は、不揮発性デバイスおよび関連する動作システムおよび方法の実施形態を提示してきた。より具体的には、書き込みデータレジスタへのロードに関連付けられた経路を分離し、センスアンプ装置から読み出しデータを出力し、センスアンプ装置からデータを送って書き込みデータレジスタ更新するデバイスを用いて、同一メモリ組織内(例えば同一メモリバンク内)で並行処理を並列に実行することができる。いくつかの実施形態において、複数のバッファの各々を読み出しまたはプログラム対象であるメモリページに動的に割り当てることにより、トランザクションの並列処理を行なって現在プログラム動作の最中であるデータの読み出しを可能にする。これらの構造および方法の他の実施形態、応用、および代替方式が存在する。
上述の議論から明らかなように、これらの構造は潜在的に、不揮発性デバイスのより広範囲にわたる利用を可能にする。これらのデバイスの待ち時間を短縮することにより、上述の実施形態は潜在的にこれらのデバイスを高速化できるため、速度が問題になる用途においてより実際的な選択肢となる。いくつかの用途はプログラムおよびアクセス速度の懸念と同様に電力の制約を受ける恐れがあるため、これらの教示は、例えば携帯および移動機器におけるより高速な不揮発性読み出し、プログラミング、および消去を許可することにより、以前は非現実的であると思われていた用途を可能にすることができる。
いくつかの設計において、特定の機能をフラッシュその他の不揮発性コントローラ等のメモリシステムコントローラにより追跡することができる。例えば、コントローラは、待ち行列からの読み出し要求に対応してデータを取得すべく読み出しデータを待機する、または状態レジスタおよび関連付けられたバッファを「ピングする」役割を与えられている場合がある。他の設計において、これらの機能のいくつかは、代わりにメモリデバイスに常駐している場合がある。例えば、特に1個のメモリデバイスが複数のプロセッサと対話可能な実施形態の場合、メモリデバイスに特定のバッファを特定のトランザクション(例:読み出し動作)に動的に割り当てさせ、割り当てられたバッファを関連付けられたコントローラに通知させることが望ましいであろう。更に他の場合において、バッファの割り当てをコントローラに対して透過的に行なうことができ、その場合個々のメモリ要求と関連付けられたバッファとの間の相互参照は純粋にメモリデバイス内だけで行なわれる。これらの原理の他の変形例もまた当業者には想起されよう。
また、上述の構造を、これらの原理の一つの可能な実施形態としてフラッシュメモリに特化して提示していたが、他のアプリケーションも存在する。すなわち、本明細書で述べた原理は、比較的長いプログラミング、書き込み、または消去リードタイムを要する、またはこれらの動作が複数のサイクルおよび/または検証ステップを要する任意の形式のメモリに適用可能である。これらの原理を制約することなく、これらの原理の適用可能ないくつかの特定のメモリ形式(具体的な設計に依存する)には、抵抗変化RAM、相変化RAM、磁気RAM、およびデジタル情報を保存するために物理状態が変化する他の形式のメモリが含まれる。
上述のデバイスはまた、少なくとも部分的に命令論理の観点で記述しているが、上で参照した各々の機能を、動作がハードウェア(すなわち論理回路)により、あるいは命令論理(すなわちソフトウェアまたはファームウェア)完全にまたはほぼ完全に管理されるように設計することも可能である。
従って、上述の議論は例示目的に過ぎず、他の設計、用途、代替、変更、および改良もまた当業者に想起されるにもかかわらず、それらは本開示の趣旨および範囲に含まれるものであり、添付の請求項および等価物によってのみ限定および定義される。
Claims (43)
- 複数の記憶ユニットを有し、各ユニットが、一括的にプログラムする必要がある記憶空間の最小量を表すメモリ記憶空間と、
マルチサイクル状態変更動作と関連して、前記ユニットの少なくとも1個のプログラミングに使用すべくデータを保持する書き込みデータレジスタと、
前記ユニットのいずれかからデータを読み出すセンスアンプ装置と、
入出力(IO)インターフェースと、
(i)前記センスアンプ装置を前記書き込みデータレジスタに結合して、前記マルチサイクル状態変更動作に使用すべく前記ユニットの内容をフィードバックし、
(ii)前記マルチサイクル状態変更動作と同時に、前記ユニットの1個からの読み出しデータを前記IOインターフェースに結合する内部ルーティングとを含む不揮発性メモリデバイス。 - 前記デバイスが、(i)前記センスアンプ装置と前記IOインターフェースの間、および(ii)前記書き込みデータレジスタと前記IOインターフェースの間にも動作可能に配置される少なくとも1個のデータバッファを更に含み、
前記内部ルーティングが、前記少なくとも1個のバッファからプログラムデータを前記書き込みデータレジスタにルーティングし、且つ前記センスアンプ装置からの読み出しデータを前記少なくとも1個のバッファにルーティングすべく適合されている、請求項1に記載のメモリデバイス。 - 前記メモリデバイスが、前記センスアンプ装置と前記IOインターフェースの間に動作可能に配置されていて、各々が少なくともメモリページを保持するサイズである少なくとも2個のバッファを更に含み、
前記内部ルーティングが、マルチサイクル状態変更動作が進行中である間、前記センスアンプ装置からデータを(i)前記マルチサイクル状態変更動作と関連して前記書き込みデータレジスタと(ii)前記バッファの動的に割り当てられた1個とへ交互にルーティングして、前記マルチサイクル状態変更動作と同時に、前記センスアンプ装置からの読み出しデータを前記バッファの動的に割り当てられた1個に転送すべく適合されたスイッチング機構を含む、請求項1に記載のメモリデバイス。 - 前記状態変更動作が書込み動作を含み、書込み動作が進行中である間、前記スイッチング機構が前記バッファの動的に割り当てられた1個から前記読み出しデータを前記出力インターフェースに転送する、請求項3に記載のメモリデバイス。
- 前記内部ルーティングが、前記プログラムデータに対応するページを、書込み動作に関連付けられた第2の動的に割り当てられたバッファにロードすべく適合されていて、前記第2の動的に割り当てられたバッファから前記書込み動作に関連付けられたデータを読み出すことにより、前記書込み動作の対象である前記メモリ記憶空間のユニットが遷移状態にあるにも拘わらず、前記書込み動作の対象である前記記憶空間の前記ユニットを、前記書込み動作と同時に読み出すことができる、請求項3に記載のメモリデバイス。
- 前記内部ルーティングが、前記ページサイズに少なくとも等しい幅を有するクロスバーを含み、前記クロスバーが(i)前記書き込みデータレジスタまたは前記センスアレイのいずれかと(ii)前記少なくとも2個のバッファのいずれか1個との間でデータをルーティングすべく適合されている、請求項3に記載のメモリデバイス。
- 前記少なくとも2個のバッファの各々が前記IOインターフェースを介して外部的にアドレス指定可能であって、外部デバイスが前記少なくとも2個のバッファの任意の特定の1個にあるデータのロードを選択的に生起させることができる、請求項6に記載のメモリデバイス。
- 前記マルチサイクル状態変更動作の複数のサイクルの各々が、前記メモリ記憶空間の一ユニットの内容を前記書き込みデータレジスタの内容と比較する検証動作を含み、
前記内部ルーティングが、検証動作の間、前記動的に割り当てられたバッファの1個への前記読み出しデータの転送を禁止すべく構成されている、請求項3に記載のメモリデバイス。 - 前記バッファの1個が、前記状態変更動作の最中に参照用に前記書き込みデータレジスタに当初保存されていたデータのコピーを保存すべく、且つ前記書き込みデータレジスタ当初保存されていた前記データの、前記マルチサイクル状態変更動作と同時の読み出しを許可すべく適合されていて、
前記メモリデバイスが、同時状態変更の対象ではない各ユニットを前記メモリ記憶空間から読み出すことにより、且つ前記バッファの1個から前記書き込みデータレジスタに当初保存されていた前記データを読み出すことにより、状態変更動作と同時に前記メモリ記憶空間の前記複数のユニットの任意の1個に関連付けられたデータの読み出しを許可すべく適合されている、請求項3に記載のメモリデバイス。 - 動的な割り当てが、前記メモリデバイス上に常駐している割り当て論理により実行される、請求項3に記載のメモリデバイス。
- 消去動作が進行中である間、前記スイッチング機構が、前記読み出しデータを前記センスアンプ装置から前記動的に割り当てられたバッファに転送すべく適合されている、請求項1に記載のメモリデバイス。
- 前記メモリデバイスが、各々が少なくともメモリページを保持するサイズである少なくとも3個のバッファを更に含み、
前記内部ルーティングが、(i)前記読み出しデータのコピーを動的に割り当てられた第1個目のバッファに保存する、且つ(ii)前記状態変更動作が進行中である間、前記読み出しデータを前記第1個目のバッファから前記IOインターフェースへ転送する動作の両方を行なうべく構成されていて、
前記内部ルーティングが、プログラムデータを動的に割り当てられた第2個目のバッファにロードして、前記状態変更動作と同時に前記第2個目のバッファからの前記プログラムデータの読み出しを許可すべく適合されていて、
前記メモリデバイスが、同時状態変更の対象ではない各ユニットを前記メモリ記憶空間から読み出すことにより、且つ前記バッファの1個から前記プログラムデータを読み出すことにより、状態変更動作と同時に前記複数の記憶ユニットの任意のものに関連付けられたデータの読み出しを許可すべく適合されている、請求項1に記載のメモリデバイス。 - 前記状態変更動作がマルチサイクルプログラム検証動作を含む、請求項12に記載のメモリデバイス。
- 前記内部ルーティングが、(a)センスアンプ装置と少なくとも3個のバッファの任意の1個の間でデータを転送し、(b)前記センスアンプ装置と前記書き込みデータレジスタの間でデータを転送する、請求項12に記載のメモリデバイス。
- 前記メモリデバイスが、状態変更動作のサイクル間でメモリ読み出し動作をインターリーブすべく適合された制御論理を更に含み、前記制御論理が、少なくとも前記状態変更動作のサイクルの1個の検証フェーズの間に前記メモリ読み出し動作を待ち行列に入れて、(a)少なくとも状態変更動作のサイクル間に実行すべく適合されている、請求項14に記載のメモリデバイス。
- フラッシュメモリデバイスとして実装されている、請求項1に記載のメモリデバイス。
- 前記内部ルーティングが、単一のプログラム検証サイクル内で、(i)前記センスアンプ装置を前記書き込みデータレジスタに結合して、前記マルチサイクル状態変更動作で使用するために記憶ユニットの内容をフィードバックし、且つ(ii)前記ユニットの1個からの読み出しデータを前記IOインターフェースに結合すべく適合されている、請求項1に記載のメモリデバイス。
- 記憶領域の複数のユニットと、
前記ユニットの任意のものからデータ値を読み出すセンス機構と、
前記ユニットの任意のものへデータ値をプログラミングすべく使用されるレジスタと、
複数のバッファと
(i)前記複数のバッファの各々と(ii)前記書き込みデータレジスタまたは前記センス機構の選択された1個を結合するクロスバーと、
前記複数のバッファの各々を前記外部バスに動作可能に結合すべく適合されている入出力(IO)インターフェースを含む不揮発性メモリデバイス。 - フラッシュメモリデバイスとして実装されている、請求項18に記載のデバイス。
- 各々のユニットが、(i)別々にプログラム可能な最小量のメモリ空間、または(ii)別々に消去可能な最小量のメモリ空間の少なくとも一方を表す、請求項18に記載のデバイス。
- 前記デバイスが、マルチサイクルプログラム検証動作により前記ユニットを個別にプログラムすべく適合されていて、
前記デバイスが、特定のデータの読み出しを、前記特定のデータの未完了であるマルチサイクルプログラム検証動作と同時に許可する手段を更に含む、請求項18に記載のデバイス。 - 前記デバイスが、マルチサイクルプログラム検証動作により前記ユニットを個別にプログラムすべく適合されていて、
前記デバイスが、前記プログラム検証動作に関連付けられたサイクル間で読み出し動作をインターリーブすべく適合されている制御論理を更に含む、請求項18に記載のデバイス。 - 前記デバイスが、マルチサイクル消去動作により前記ユニットを個別にプログラムすべく適合されていて、
前記デバイスが、前記消去動作関連に付けられたサイクル間で読み出し動作をインターリーブすべく適合されている制御論理を更に含む、請求項18に記載のデバイス。 - 前記デバイスが、前記IOインターフェースを介して前記複数のバッファの第1個目から前記記憶領域の前記複数のユニットのデータを読み出すことを許可すべく、且つ前記クロスバーを介して前記記憶ユニットの1個の後続する読み出し動作に関連付けられたデータを前記複数のバッファの第2個目に同時に転送すべく適合されている、請求項18に記載のデバイス。
- 前記デバイスが、(i)前記レジスタを用いて第1のデータを前記記憶領域の前記複数のユニットの1個にプログラミングすることを許可し、(ii)前記複数の記憶ユニットの1個の後続するプログラム動作に関連付けられた第2のデータを前記複数のバッファの1個の待ち行列に入れて、(iii)前記第1のデータのプログラミングの完了に続いて、前記複数のバッファの1個から前記クロスバーを介して前記第2のデータを前記レジスタに転送すべく適合されている制御論理を更に含む、請求項18に記載のデバイス。
- さらに、前記デバイスが、前記複数のバッファの第2個目からの前記第1のデータの読み出しを許可すべく適合され、且つ前記複数のバッファの第1個目からの前記第2のデータの読み出しを許可すべく適合されていて、その各々が、前記記憶領域の前記複数のユニットの1個のプログラミングが前記メモリデバイスにより同時に実行されているにも拘わらず可能である、請求項25に記載のデバイス。
- 不揮発性メモリデバイスであって、
前記デバイス内の複数のバッファの各1個の使用状況を追跡する手段と、
第1のメモリ動作と関連して、前記バッファの第1個目を現在使われていないものとして識別し、これに応答して前記デバイス内のメモリの少なくとも1ページに関連付けられた第1のデータを前記バッファの第1個目にロードする手段と、
第2のメモリ動作と関連して、前記バッファの第2個目を現在使われていないものとして識別し、これに応答して前記デバイス内のメモリの少なくとも1ページに関連付けられた第2のデータを前記バッファの第2個目にロードする手段と、
前記第1のメモリ動作および前記第2のデータのロードを並行して実行する手段と、
前記追跡に応答して、前記複数のバッファの任意の1個が、先行トランザクションに関する利用可能性に応じて前記第1のメモリ動作または前記第2のメモリ動作のいずれかに用いられるように、前記バッファの第1個目の識別および前記バッファの第2個目の識別を動的に実行する手段とを含む不揮発性メモリデバイス。 - 不揮発性メモリデバイスを動作させる方法であって、
前記デバイス内の複数のバッファの各々の使用状況を追跡するステップと、
第1のメモリ動作と関連して、前記バッファの第1個目を現在使われていないものとして識別し、これに応答して前記デバイス内のメモリの少なくとも1ページに関連付けられた第1のデータを前記バッファの第1個目にロードするステップと、
第2のメモリ動作と関連して、前記バッファの第2個目を現在使われていないものとして識別し、これに応答して前記デバイス内のメモリの少なくとも1ページに関連付けられた第2のデータを前記バッファの第2個目にロードするステップと、
前記第1のメモリ動作および前記第2のデータのロードを並行して実行するステップと、
前記追跡に応答して、前記複数のバッファの任意の1個が、先行トランザクションに関する利用可能性に応じて前記第1のメモリ動作または前記第2のメモリ動作のいずれかに用いられるように、前記バッファの第1個目の識別および前記バッファの第2個目の識別を動的に実行するステップとを含む方法。 - 前記追跡ステップが、フラッシュメモリコントローラ内の複数のバッファの各々を追跡するステップを含む、請求項28に記載の方法。
- 前記第1のメモリ動作が、マルチサイクルプログラム検証動作を含む、請求項28に記載の方法。
- 前記マルチサイクルプログラム検証動作の各サイクルが、プログラムフェーズおよび検証フェーズを含んでいて、並行的実行が、前記プログラムフェーズ最中に前記第2のデータをロードするステップと、前記検証フェーズの最中に前記第2のデータのロードを禁止するステップとを含む、請求項30に記載の方法。
- 前記第1のメモリ動作の各々が読み出し動作を含む、請求項28に記載の方法。
- 前記第1のメモリ動作および第2のメモリ動作の各々がプログラム動作を含み、前記方法が書き込みデータレジスタに前記バッファの第1個目から前記第1のデータのコピーをロードするステップと、前記第1のデータをプログラミングするステップと、前記第1のデータの前記プログラミングの完了に続いて、前記書き込みデータレジスタに前記バッファの第2個目から前記第2のデータのコピーをロードするステップを更に含む、請求項28に記載の方法。
- 機械可読記憶媒体に保存された命令を含む装置であって、各々がメモリ動作の最中にデータを保持すべく使用される複数のバッファを有する少なくとも1個の不揮発性メモリデバイスの制御に使用すべく適合されていて、前記少なくとも1個の不揮発性メモリデバイスが前記複数のバッファの異なるものを用いて第1のメモリ動作および第2のメモリ動作の各々を並行して実行すべく適合されていて、前記命令が実行された場合は機械に、
前記不揮発性メモリデバイス内の複数のバッファ常駐の各1個の使用状況を追跡させ、
前記第1のメモリ動作と関連して、前記バッファの第1個目を現在使われていないものとして識別させ、これに応答して前記デバイスのメモリの少なくとも1ページに関連付けられた第1のデータを前記バッファの第1個目にロードさせ、
前記第2のメモリ動作と関連して、前記バッファの第2個目を現在使われていないものとして識別させ、これに応答して前記デバイスのメモリの少なくとも1ページに関連付けられた第2のデータを前記バッファの第2個目にロードさせ
前記追跡に応答して、前記複数のバッファの任意の1個が、先行トランザクションに関する利用可能性に応じて前記第1のメモリ動作または前記第2のメモリ動作のいずれかに用いられるように、前記バッファの第1個目の識別および前記バッファの第2個目の識別を動的に実行させるべく適合されている装置。 - メモリコントローラによる使用に適合されていて、前記命令がファームウェアを含んでいて、前記機械可読記憶媒体が読み出し専用メモリデバイスを含む、請求項34に記載の装置。
- 各バッファがシステムデータバスを介してインターフェースに結合されている複数のバッファによるサービスを受ける不揮発性メモリストレージアレイで使用される装置であって、
前記複数のバッファ各1個の使用を追跡する状態機械と、
コントローラ常駐のコマンド生成器、すなわち前記状態機械に結合されていて、前記状態機械の内容に応答してバッファ固有のコマンドを生成するコマンド生成器とを含む装置。 - 前記状態機械が、前記不揮発性メモリストレージアレイおよび前記複数のバッファと共に不揮発性メモリデバイス内に常駐している、請求項36に記載の装置。
- 前記状態機械がコントローラ−常駐である、請求項36に記載の装置。
- 前記バッファ固有のコマンドが、
特定のバッファにセンスアンプ装置からデータを転送するコマンド、
特定のバッファから前記システムデータバスにデータを転送するコマンド、
特定のバッファにプログラムデータを書き込むコマンド、
特定のバッファからプログラム制御の対象であるデータを読み出すコマンド、
特定のバッファから前記書き込みデータレジスタにデータをコピーするコマンド、または
特定のバッファから前記書き込みデータレジスタに非破壊的にデータをコピーするコマンド
の少なくとも1個を含む、請求項36に記載の装置。 - 前記バッファ固有のコマンドがバッファアドレスフィールドを含む、請求項36に記載の装置。
- 複数の記憶ユニットを有し、各記憶ユニットが一括的にプログラムする必要がある記憶空間の最小量を表すメモリ記憶空間と、
マルチサイクル状態変更動作と関連して、前記記憶ユニットの少なくとも1個のプログラミングに使用すべくデータを保持する書き込みデータレジスタであって、自身が保持するデータが前記マルチサイクル状態変更動作の最中に変更される書き込みデータレジスタと、
前記書き込みデータレジスタにロードされた前記データのコピーを保持するバッファであって、前記データが前記マルチサイクル状態変更動作の最中に変更されないバッファと、
前記マルチサイクル状態変更動作の最中に、前記記憶ユニットの少なくとも1個においてプログラミングを受けている前記データに対する前記バッファからの読み出し要求を実行する制御論理とを含む不揮発性メモリデバイス。 - 前記データの真のコピーを保持する、前記バッファまたは前記メモリ記憶空間を含む記憶場所を識別する状態機械を更に含む、請求項41に記載のデバイス。
- 複数のバッファを更に含み、前記制御論理が、前記書き込みデータレジスタへの書き込みデータのコピーのロード、および前記マルチサイクル状態変更動作の最中に前記データに宛てられた読み出し要求と関連して、前記データのコピーの実行の両方に用いるべく前記複数のバッファの各々をアドホックに割り当てる、請求項42に記載のデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12108308P | 2008-12-09 | 2008-12-09 | |
US61/121,083 | 2008-12-09 | ||
PCT/US2009/060911 WO2010077414A1 (en) | 2008-12-09 | 2009-10-15 | Non-volatile memory device for concurrent and pipelined memory operations |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012511789A true JP2012511789A (ja) | 2012-05-24 |
Family
ID=42310089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011539539A Pending JP2012511789A (ja) | 2008-12-09 | 2009-10-15 | 並行且つパイプライン化されたメモリ動作用の不揮発性メモリデバイス |
Country Status (6)
Country | Link |
---|---|
US (1) | US8645617B2 (ja) |
EP (1) | EP2377129A4 (ja) |
JP (1) | JP2012511789A (ja) |
KR (1) | KR20110110106A (ja) |
CN (1) | CN102246240A (ja) |
WO (1) | WO2010077414A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015146209A (ja) * | 2015-03-26 | 2015-08-13 | 株式会社日立製作所 | 半導体装置、不揮発性メモリ装置の制御方法 |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100178038A1 (en) * | 2009-01-12 | 2010-07-15 | Mediatek Inc. | Video player |
US9104583B2 (en) | 2010-06-24 | 2015-08-11 | International Business Machines Corporation | On demand allocation of cache buffer slots |
US20110320863A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | Dynamic re-allocation of cache buffer slots |
JP5756622B2 (ja) * | 2010-11-30 | 2015-07-29 | 株式会社日立製作所 | 半導体装置 |
US8635407B2 (en) | 2011-09-30 | 2014-01-21 | International Business Machines Corporation | Direct memory address for solid-state drives |
US8625386B2 (en) * | 2012-03-22 | 2014-01-07 | Seiko Epson Corporation | Non-volatile memory device, circuit board, printing material container and printer |
CN103426470B (zh) * | 2012-05-21 | 2016-04-20 | 北京兆易创新科技股份有限公司 | 提高快闪存储器的页编程速度的方法 |
US20130318285A1 (en) * | 2012-05-23 | 2013-11-28 | Violin Memory Inc | Flash memory controller |
KR101988260B1 (ko) * | 2012-09-14 | 2019-06-12 | 삼성전자주식회사 | 임베디드 멀티미디어 카드, 및 이의 동작 방법 |
KR101932920B1 (ko) | 2012-09-14 | 2019-03-18 | 삼성전자 주식회사 | 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법 |
KR101919903B1 (ko) * | 2012-09-14 | 2018-11-19 | 삼성전자 주식회사 | 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법 |
KR20140076128A (ko) * | 2012-12-12 | 2014-06-20 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템 |
CN104704569B (zh) * | 2012-12-19 | 2017-11-14 | 慧与发展有限责任合伙企业 | Nvram路径选择 |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
JP5853973B2 (ja) * | 2013-03-07 | 2016-02-09 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 |
KR20140142960A (ko) * | 2013-06-05 | 2014-12-15 | 중소기업은행 | 병렬 파이프라인 더블래치로 구동되는 spi 낸드 플래시 메모리 |
US9923762B1 (en) * | 2013-08-13 | 2018-03-20 | Ca, Inc. | Upgrading an engine when a scenario is running |
US20150095551A1 (en) * | 2013-09-30 | 2015-04-02 | Micron Technology, Inc. | Volatile memory architecutre in non-volatile memory devices and related controllers |
KR101455682B1 (ko) * | 2014-02-18 | 2014-11-04 | 연세대학교 산학협력단 | 해시 파티셔닝 장치 및 방법 |
US9348518B2 (en) | 2014-07-02 | 2016-05-24 | International Business Machines Corporation | Buffered automated flash controller connected directly to processor memory bus |
US9542284B2 (en) | 2014-08-06 | 2017-01-10 | International Business Machines Corporation | Buffered automated flash controller connected directly to processor memory bus |
EP3268864B1 (en) * | 2015-03-11 | 2021-01-27 | Rambus Inc. | High performance non-volatile memory module |
CN106155573B (zh) * | 2015-04-17 | 2019-12-17 | 伊姆西公司 | 用于存储设备扩展的方法、装置以及扩展的存储设备 |
KR102356071B1 (ko) * | 2015-05-06 | 2022-01-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 이의 동작 방법 |
US10121553B2 (en) | 2015-09-30 | 2018-11-06 | Sunrise Memory Corporation | Capacitive-coupled non-volatile thin-film transistor NOR strings in three-dimensional arrays |
US11120884B2 (en) | 2015-09-30 | 2021-09-14 | Sunrise Memory Corporation | Implementing logic function and generating analog signals using NOR memory strings |
US9842651B2 (en) | 2015-11-25 | 2017-12-12 | Sunrise Memory Corporation | Three-dimensional vertical NOR flash thin film transistor strings |
US9892800B2 (en) | 2015-09-30 | 2018-02-13 | Sunrise Memory Corporation | Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates |
US10467157B2 (en) | 2015-12-16 | 2019-11-05 | Rambus Inc. | Deterministic operation of storage class memory |
US10254967B2 (en) | 2016-01-13 | 2019-04-09 | Sandisk Technologies Llc | Data path control for non-volatile memory |
US10579290B2 (en) * | 2016-03-23 | 2020-03-03 | Winbond Electronics Corp. | Option code providing circuit and providing method thereof |
EP3532933B1 (en) * | 2016-10-31 | 2022-03-02 | Rambus Inc. | Hybrid memory module |
US10528286B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528267B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
US10528255B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10114589B2 (en) * | 2016-11-16 | 2018-10-30 | Sandisk Technologies Llc | Command control for multi-core non-volatile memory |
CN108074617A (zh) * | 2016-11-18 | 2018-05-25 | 中芯国际集成电路制造(上海)有限公司 | 一种非易失性存储器 |
KR20180063419A (ko) * | 2016-12-01 | 2018-06-12 | 삼성전자주식회사 | 호스트와 양방향 통신을 수행하도록 구성된 스토리지 장치 및 그것의 동작 방법 |
WO2018175059A1 (en) * | 2017-03-24 | 2018-09-27 | Western Digital Technologies, Inc. | System and method for speculative execution of commands using the controller memory buffer |
US10452278B2 (en) * | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
US10509569B2 (en) | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US11180861B2 (en) | 2017-06-20 | 2021-11-23 | Sunrise Memory Corporation | 3-dimensional NOR string arrays in segmented stacks |
US10608008B2 (en) | 2017-06-20 | 2020-03-31 | Sunrise Memory Corporation | 3-dimensional nor strings with segmented shared source regions |
US10692874B2 (en) | 2017-06-20 | 2020-06-23 | Sunrise Memory Corporation | 3-dimensional NOR string arrays in segmented stacks |
JP7203054B2 (ja) | 2017-06-20 | 2023-01-12 | サンライズ メモリー コーポレイション | 3次元nor型メモリアレイアーキテクチャ及びその製造方法 |
CN111433749B (zh) | 2017-10-12 | 2023-12-08 | 拉姆伯斯公司 | 具有dram高速缓存的非易失性物理存储器 |
US10896916B2 (en) | 2017-11-17 | 2021-01-19 | Sunrise Memory Corporation | Reverse memory cell |
JP6967959B2 (ja) * | 2017-12-08 | 2021-11-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN107978337B (zh) * | 2017-12-21 | 2020-12-04 | 上海华力微电子有限公司 | 适用于随机存储器自动测试的高速电路结构及其测试方法 |
US10402121B2 (en) | 2017-12-21 | 2019-09-03 | Apple Inc. | Systems and methods for reducing performance state change latency |
US10475812B2 (en) | 2018-02-02 | 2019-11-12 | Sunrise Memory Corporation | Three-dimensional vertical NOR flash thin-film transistor strings |
KR102052816B1 (ko) * | 2018-03-15 | 2019-12-05 | 한양대학교 에리카산학협력단 | 비휘발성 주기억장치 환경에서 에러 복구 방법 및 그 시스템 |
US10754578B2 (en) | 2018-05-09 | 2020-08-25 | Micron Technology, Inc. | Memory buffer management and bypass |
US10714159B2 (en) | 2018-05-09 | 2020-07-14 | Micron Technology, Inc. | Indication in memory system or sub-system of latency associated with performing an access command |
US10942854B2 (en) | 2018-05-09 | 2021-03-09 | Micron Technology, Inc. | Prefetch management for memory |
US11010092B2 (en) * | 2018-05-09 | 2021-05-18 | Micron Technology, Inc. | Prefetch signaling in memory system or sub-system |
CN110554971A (zh) * | 2018-06-01 | 2019-12-10 | 北京兆易创新科技股份有限公司 | 一种在编程期间响应读操作的方法、装置及存储介质 |
US11751391B2 (en) | 2018-07-12 | 2023-09-05 | Sunrise Memory Corporation | Methods for fabricating a 3-dimensional memory structure of nor memory strings |
US11069696B2 (en) | 2018-07-12 | 2021-07-20 | Sunrise Memory Corporation | Device structure for a 3-dimensional NOR memory array and methods for improved erase operations applied thereto |
CN112567516A (zh) | 2018-07-12 | 2021-03-26 | 日升存储公司 | 三维nor存储器阵列的制造方法 |
TWI713195B (zh) | 2018-09-24 | 2020-12-11 | 美商森恩萊斯記憶體公司 | 三維nor記憶電路製程中之晶圓接合及其形成之積體電路 |
KR20200048318A (ko) * | 2018-10-29 | 2020-05-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
EP3891780A4 (en) | 2018-12-07 | 2022-12-21 | Sunrise Memory Corporation | METHODS OF FORMING NETWORKS OF MULTILAYER VERTICAL NOR TYPE MEMORY CHAINS |
US11670620B2 (en) | 2019-01-30 | 2023-06-06 | Sunrise Memory Corporation | Device with embedded high-bandwidth, high-capacity memory using wafer bonding |
CN113424319A (zh) | 2019-02-11 | 2021-09-21 | 日升存储公司 | 垂直薄膜晶体管以及作为用于三维存储器阵列的位线连接器的应用 |
TWI747369B (zh) | 2019-07-09 | 2021-11-21 | 美商森恩萊斯記憶體公司 | 水平反或閘記憶體串之三維陣列製程 |
US11917821B2 (en) | 2019-07-09 | 2024-02-27 | Sunrise Memory Corporation | Process for a 3-dimensional array of horizontal nor-type memory strings |
US20210150311A1 (en) * | 2019-11-19 | 2021-05-20 | Alibaba Group Holding Limited | Data layout conscious processing in memory architecture for executing neural network model |
US11515309B2 (en) | 2019-12-19 | 2022-11-29 | Sunrise Memory Corporation | Process for preparing a channel region of a thin-film transistor in a 3-dimensional thin-film transistor array |
US11138102B2 (en) * | 2019-12-24 | 2021-10-05 | Intel Corporation | Read quality of service for non-volatile memory |
US11675500B2 (en) | 2020-02-07 | 2023-06-13 | Sunrise Memory Corporation | High capacity memory circuit with low effective latency |
CN115362436A (zh) | 2020-02-07 | 2022-11-18 | 日升存储公司 | 准易失性系统级存储器 |
US11561911B2 (en) | 2020-02-24 | 2023-01-24 | Sunrise Memory Corporation | Channel controller for shared memory access |
WO2021173209A1 (en) | 2020-02-24 | 2021-09-02 | Sunrise Memory Corporation | High capacity memory module including wafer-section memory circuit |
US11507301B2 (en) | 2020-02-24 | 2022-11-22 | Sunrise Memory Corporation | Memory module implementing memory centric architecture |
US11705496B2 (en) | 2020-04-08 | 2023-07-18 | Sunrise Memory Corporation | Charge-trapping layer with optimized number of charge-trapping sites for fast program and erase of a memory cell in a 3-dimensional NOR memory string array |
TWI747532B (zh) * | 2020-05-27 | 2021-11-21 | 旺宏電子股份有限公司 | 記憶體裝置 |
US11937424B2 (en) | 2020-08-31 | 2024-03-19 | Sunrise Memory Corporation | Thin-film storage transistors in a 3-dimensional array of nor memory strings and process for fabricating the same |
US11842777B2 (en) | 2020-11-17 | 2023-12-12 | Sunrise Memory Corporation | Methods for reducing disturb errors by refreshing data alongside programming or erase operations |
US11848056B2 (en) | 2020-12-08 | 2023-12-19 | Sunrise Memory Corporation | Quasi-volatile memory with enhanced sense amplifier operation |
US11662942B2 (en) * | 2021-03-16 | 2023-05-30 | Kioxia Corporation | Explicit buffer control |
TW202310429A (zh) | 2021-07-16 | 2023-03-01 | 美商日升存儲公司 | 薄膜鐵電電晶體的三維記憶體串陣列 |
US11604732B1 (en) * | 2021-09-02 | 2023-03-14 | Micron Technology, Inc. | Memory performance during program suspend protocol |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05290585A (ja) * | 1992-04-13 | 1993-11-05 | Hitachi Ltd | 電気的に書き込み可能な不揮発性メモリ |
JPH07160569A (ja) * | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JPH07161195A (ja) * | 1993-06-30 | 1995-06-23 | Intel Corp | フラッシュメモリ |
JPH11176174A (ja) * | 1997-12-05 | 1999-07-02 | Sharp Corp | 不揮発性メモリの書き込み回路および不揮発性メモリ |
JP2001027966A (ja) * | 1999-07-15 | 2001-01-30 | Matsushita Graphic Communication Systems Inc | メモリ制御装置,ファクシミリ装置および画像形成装置 |
JP2004348790A (ja) * | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置及び携帯電子機器 |
JP2005527055A (ja) * | 2002-05-21 | 2005-09-08 | サンディスク コーポレイション | パイプラインメモリのための効率的な読出し、書込み方法 |
JP2007179669A (ja) * | 2005-12-28 | 2007-07-12 | Toshiba Corp | メモリシステム |
JP2007226957A (ja) * | 1999-05-10 | 2007-09-06 | Toshiba Corp | 半導体装置及び不揮発性半導体記憶装置 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3562554A (en) * | 1968-01-15 | 1971-02-09 | Ibm | Bipolar sense amplifier with noise rejection |
US4713797A (en) * | 1985-11-25 | 1987-12-15 | Motorola Inc. | Current mirror sense amplifier for a non-volatile memory |
US8027194B2 (en) * | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US5282271A (en) * | 1991-10-30 | 1994-01-25 | I-Cube Design Systems, Inc. | I/O buffering system to a programmable switching apparatus |
JPH05274860A (ja) * | 1992-03-26 | 1993-10-22 | Nec Corp | 半導体メモリ |
US5519847A (en) * | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
JP2922116B2 (ja) * | 1993-09-02 | 1999-07-19 | 株式会社東芝 | 半導体記憶装置 |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5717871A (en) * | 1995-08-17 | 1998-02-10 | I-Cube, Inc. | Crossbar switch with input/output buffers having multiplexed control inputs |
JP3579205B2 (ja) * | 1996-08-06 | 2004-10-20 | 株式会社ルネサステクノロジ | 半導体記憶装置、半導体装置、データ処理装置及びコンピュータシステム |
US5855343A (en) * | 1997-03-07 | 1999-01-05 | Irez Research, Corporation | Camera clip |
EP2105841A1 (en) * | 1997-10-10 | 2009-09-30 | Rambus Inc. | Apparatus and method for pipelined memory operations with write mask |
US6333871B1 (en) * | 1998-02-16 | 2001-12-25 | Hitachi, Ltd. | Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation |
US5982700A (en) * | 1998-05-21 | 1999-11-09 | Integrated Device Technology, Inc. | Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same |
US6370619B1 (en) * | 1998-06-22 | 2002-04-09 | Oracle Corporation | Managing partitioned cache |
CA2288451A1 (en) * | 1998-11-09 | 2000-05-09 | Seiji Muramoto | Video camera |
US6377502B1 (en) * | 1999-05-10 | 2002-04-23 | Kabushiki Kaisha Toshiba | Semiconductor device that enables simultaneous read and write/erase operation |
US6240040B1 (en) * | 2000-03-15 | 2001-05-29 | Advanced Micro Devices, Inc. | Multiple bank simultaneous operation for a flash memory |
US6851026B1 (en) * | 2000-07-28 | 2005-02-01 | Micron Technology, Inc. | Synchronous flash memory with concurrent write and read operation |
US6615307B1 (en) * | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US6728161B1 (en) * | 2000-06-30 | 2004-04-27 | Micron Technology, Inc. | Zero latency-zero bus turnaround synchronous flash memory |
JP2001344986A (ja) * | 2000-06-05 | 2001-12-14 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6442076B1 (en) * | 2000-06-30 | 2002-08-27 | Micron Technology, Inc. | Flash memory with multiple status reading capability |
US6278654B1 (en) * | 2000-06-30 | 2001-08-21 | Micron Technology, Inc. | Active terminate command in synchronous flash memory |
US6883044B1 (en) * | 2000-07-28 | 2005-04-19 | Micron Technology, Inc. | Synchronous flash memory with simultaneous access to one or more banks |
US7046633B2 (en) * | 2000-09-21 | 2006-05-16 | Avici Systems, Inc. | Router implemented with a gamma graph interconnection network |
GB2369694B (en) * | 2000-11-29 | 2002-10-16 | Sun Microsystems Inc | Efficient memory modification tracking |
US6889304B2 (en) * | 2001-02-28 | 2005-05-03 | Rambus Inc. | Memory device supporting a dynamically configurable core organization |
KR100454119B1 (ko) * | 2001-10-24 | 2004-10-26 | 삼성전자주식회사 | 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들 |
US6882562B2 (en) * | 2001-11-01 | 2005-04-19 | Agilent Technologies, Inc. | Method and apparatus for providing pseudo 2-port RAM functionality using a 1-port memory cell |
US6850438B2 (en) * | 2002-07-05 | 2005-02-01 | Aplus Flash Technology, Inc. | Combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations |
US7031192B1 (en) * | 2002-11-08 | 2006-04-18 | Halo Lsi, Inc. | Non-volatile semiconductor memory and driving method |
JP4331966B2 (ja) * | 2003-04-14 | 2009-09-16 | 株式会社ルネサステクノロジ | 半導体集積回路 |
US7155562B2 (en) * | 2003-05-08 | 2006-12-26 | Micron Technology, Inc. | Method for reading while writing to a single partition flash memory |
JP4325275B2 (ja) * | 2003-05-28 | 2009-09-02 | 株式会社日立製作所 | 半導体装置 |
JP4012144B2 (ja) * | 2003-12-25 | 2007-11-21 | 株式会社東芝 | 半導体記憶装置 |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
TWI273766B (en) * | 2004-03-31 | 2007-02-11 | Wistron Neweb Corp | Lnbf |
JP4253272B2 (ja) * | 2004-05-27 | 2009-04-08 | 株式会社東芝 | メモリカード、半導体装置、及び半導体メモリの制御方法 |
US7048454B2 (en) * | 2004-05-28 | 2006-05-23 | Creative Technology Ltd | Three way video camera base |
US7142477B1 (en) * | 2004-06-18 | 2006-11-28 | Cypress Semiconductor Corp. | Memory interface system and method for reducing cycle time of sequential read and write accesses using separate address and data buses |
GB2431026B (en) * | 2004-07-30 | 2008-05-07 | Spansion Llc | Semiconductor device and writing method |
US7572073B2 (en) * | 2004-10-15 | 2009-08-11 | Lifesize Communications, Inc. | Camera support mechanism |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7071731B1 (en) * | 2005-01-21 | 2006-07-04 | Altera Corporation | Programmable Logic with Pipelined Memory Operation |
US7206230B2 (en) * | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US7431253B2 (en) * | 2005-06-03 | 2008-10-07 | Kye Systems Corp. | Support device for computer peripheral equipment |
JP4989872B2 (ja) * | 2005-10-13 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置および演算処理装置 |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
KR100706816B1 (ko) * | 2006-03-10 | 2007-04-12 | 삼성전자주식회사 | 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법 |
US7931243B2 (en) * | 2006-04-07 | 2011-04-26 | Logitech Europe S.A. | Speaker with monitor mountable stand |
US7280398B1 (en) * | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
TW200820266A (en) * | 2006-10-19 | 2008-05-01 | Benq Corp | Method for reading and writing data in a flash memory in an embedded system |
TW200917005A (en) * | 2007-10-12 | 2009-04-16 | Kye Systems Corp | Structure of supporting base |
WO2009140112A1 (en) * | 2008-05-13 | 2009-11-19 | Rambus Inc. | Fractional program commands for memory devices |
US7775486B2 (en) * | 2008-10-04 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | Webcam assembly with clamp and stand forms |
-
2009
- 2009-10-15 EP EP09836571.1A patent/EP2377129A4/en not_active Withdrawn
- 2009-10-15 US US13/126,726 patent/US8645617B2/en active Active
- 2009-10-15 WO PCT/US2009/060911 patent/WO2010077414A1/en active Application Filing
- 2009-10-15 JP JP2011539539A patent/JP2012511789A/ja active Pending
- 2009-10-15 KR KR1020117013129A patent/KR20110110106A/ko not_active Application Discontinuation
- 2009-10-15 CN CN2009801492759A patent/CN102246240A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05290585A (ja) * | 1992-04-13 | 1993-11-05 | Hitachi Ltd | 電気的に書き込み可能な不揮発性メモリ |
JPH07161195A (ja) * | 1993-06-30 | 1995-06-23 | Intel Corp | フラッシュメモリ |
JPH07160569A (ja) * | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JPH11176174A (ja) * | 1997-12-05 | 1999-07-02 | Sharp Corp | 不揮発性メモリの書き込み回路および不揮発性メモリ |
JP2007226957A (ja) * | 1999-05-10 | 2007-09-06 | Toshiba Corp | 半導体装置及び不揮発性半導体記憶装置 |
JP2001027966A (ja) * | 1999-07-15 | 2001-01-30 | Matsushita Graphic Communication Systems Inc | メモリ制御装置,ファクシミリ装置および画像形成装置 |
JP2005527055A (ja) * | 2002-05-21 | 2005-09-08 | サンディスク コーポレイション | パイプラインメモリのための効率的な読出し、書込み方法 |
JP2004348790A (ja) * | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置及び携帯電子機器 |
JP2007179669A (ja) * | 2005-12-28 | 2007-07-12 | Toshiba Corp | メモリシステム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015146209A (ja) * | 2015-03-26 | 2015-08-13 | 株式会社日立製作所 | 半導体装置、不揮発性メモリ装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110208905A1 (en) | 2011-08-25 |
WO2010077414A1 (en) | 2010-07-08 |
KR20110110106A (ko) | 2011-10-06 |
EP2377129A4 (en) | 2013-05-22 |
CN102246240A (zh) | 2011-11-16 |
EP2377129A1 (en) | 2011-10-19 |
US8645617B2 (en) | 2014-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012511789A (ja) | 並行且つパイプライン化されたメモリ動作用の不揮発性メモリデバイス | |
JP6869885B2 (ja) | メモリの異なるメモリプレーンに同時にアクセスするための装置および方法 | |
US7243185B2 (en) | Flash memory system with a high-speed flash controller | |
TWI267862B (en) | Flash controller cache architecture | |
TWI421877B (zh) | 平衡主機寫入作業和快取清除之方法和系統 | |
US11487666B2 (en) | Timed data transfer between a host system and a memory sub-system | |
US11669272B2 (en) | Predictive data transfer based on availability of media units in memory sub-systems | |
US9495101B2 (en) | Methods for balancing write operations of SLC blocks in different memory areas and apparatus implementing the same | |
US20150324119A1 (en) | Method and System for Improving Swap Performance | |
US10642513B2 (en) | Partially de-centralized latch management architectures for storage devices | |
US10929059B2 (en) | Resistance switching memory-based accelerator | |
JP2011118469A (ja) | メモリ管理装置およびメモリ管理方法 | |
US11294820B2 (en) | Management of programming mode transitions to accommodate a constant size of data transfer between a host system and a memory sub-system | |
US10101946B2 (en) | Method of reading data from a memory device and information processing system controlling data reading | |
JP4254932B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
KR102462048B1 (ko) | 이중 slc/qlc 프로그래밍 및 리소스 해제 | |
US8374040B2 (en) | Write bandwidth in a memory characterized by a variable write time | |
TWI672706B (zh) | 記憶體儲存裝置及其操作方法 | |
US11507311B2 (en) | Storage device for accelerating write speed and read speed | |
US11782635B2 (en) | Method to ensure message arrival before a message pointer | |
US11886346B2 (en) | Cache read context switching in a memory sub-system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130408 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130905 |