JP2009531747A - フラッシュメモリシステムコントロールスキーム - Google Patents

フラッシュメモリシステムコントロールスキーム Download PDF

Info

Publication number
JP2009531747A
JP2009531747A JP2009501801A JP2009501801A JP2009531747A JP 2009531747 A JP2009531747 A JP 2009531747A JP 2009501801 A JP2009501801 A JP 2009501801A JP 2009501801 A JP2009501801 A JP 2009501801A JP 2009531747 A JP2009531747 A JP 2009531747A
Authority
JP
Japan
Prior art keywords
flash memory
memory device
program
pages
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009501801A
Other languages
English (en)
Other versions
JP5214587B2 (ja
JP2009531747A5 (ja
Inventor
キム ジンキ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
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 Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of JP2009531747A publication Critical patent/JP2009531747A/ja
Publication of JP2009531747A5 publication Critical patent/JP2009531747A5/ja
Application granted granted Critical
Publication of JP5214587B2 publication Critical patent/JP5214587B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • G11C7/1021Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/24Nonvolatile memory in which programming can be carried out in one memory bank or array whilst a word or sector in another bank or array is being erased simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【解決手段】 フラッシュメモリシステムのアーキテクチャは、データの高速プログラムを達成するため直列に接続されたフラッシュメモリ装置を有する。
データの高速プログラムは、データの種々のページが異なるメモリ装置に格納されるように、システム内のメモリ装置にプログラムされるべきデータのページをインターリーブすることによって行われる。メモリコントローラは、各メモリ装置にプログラム命令を発する。各メモリ装置は、プログラム命令を受け取るとき、プログラム動作を開始するか命令を次のメモリ装置へ渡す。それ故、フラッシュシステムのメモリ装置は、次から次にデータのページを連続的にプログラムし、これにより、フラッシュメモリシステムにデータの各ページをプログラムする遅延をできるだけ小さくする。メモリコントローラは、各メモリ装置の耐久性を最大限にし、あるいはあらゆるサイズのデータのプログラム性能と耐久性を最適化する損耗レベルアルゴリズムを実行することができる。
【選択図】 図4

Description

本発明は、2006年3月31日に提出された仮特許出願番号60/788083号の優先権の利益を主張し、この出願は、引用することによってその全体がここに包含される。
本発明は、概してフラッシュメモリに関する。特に、本発明は、大容量記憶向けのマルチデバイスフラッシュメモリシステムに関する。
フラッシュメモリは、ディジタルカメラやポータブルディジタル音楽プレイヤなどの民生電子装置の大容量記憶としての広汎の不揮発性メモリタイプに広く使用されている。現在利用可能なフラッシュメモリチップの集積度は、32Gビット(4Gバイト)まで可能であるが、これは、フラッシュチップのサイズが小さいので、流行しているUSBフラッシュ装置の使用に適している。
8メガ(800万)画素のディジタルカメラや音楽やビデオ機能があるポータブルディジタルエンターテイメント装置の出現は、大容量データを蓄積するための超高容量の要求を促しているが、これは、単一のフラッシュメモリ装置によって応じることができない。それ故、多数のフラッシュメモリ装置が共にメモリシステムに組み込まれ、利用可能な蓄積容量を効果的に増加させる。例えば、20GBのフラッシュメモリの蓄積密度がこのようなアプリケーションに要求される。
図1は、ホストシステム12に結合される従来のフラッシュメモリシステム10のブロック図である。フラッシュメモリシステム10は、ホストシステム12と通信するフラッシュメモリコントローラ14と、多数の不揮発性メモリ装置16とを含む。ホストシステムは、マイクロコントローラ、マイクロプロセッサ、またはコンピュータシステムのような処理装置を含む。図1のフラッシュメモリシステム10は、1つのチャンネル20を含むように構成され、メモリ装置16は、チャンネル20に並列に接続される。当業者であれば、メモリシステム10がチャンネルに接続された多数のメモリ装置を有することを理解するであろう。
チャンネル20は、1組の共通のバスを含み、バスは、全ての対応するメモリ装置に接続されるデータとコントロールのラインを含む。ここには図示しないが、各メモリ装置は、フラッシュメモリコントローラ14によって提供される各チップ選択信号でイネーブル/ディスエーブルされる。フラッシュメモリコントローラ14は、ホストシステム12の動作に基づき、チャンネルを介して命令とデータを、選択されたメモリ装置へ発する責任を有する。メモリ装置から読み出されたデータは、チャンネルを介してフラッシュメモリコントローラ14およびホストシステム12へ転送される。フラッシュメモリシステム10は、概してマルチ−ドロップ(multi-drop)構成として参照され、そのメモリ装置16は、チャンネル20に対して並列に接続される。
フラッシュメモリシステム10において、不揮発性メモリ装置16は、互いに同一であり、かつ典型的にNANDフラッシュメモリ装置として実行される。当業者であれば、フラッシュメモリが複数のバンクに構成され、各バンクが、ブロック消去を容易にするために複数のブロックに構成されることを理解するであろう。大部分の商業的に入手可能なNANDフラッシュメモリ装置は、2つのバンクメモリを持つように構成される。フラッシュメモリシステム10の動作の説明の前に、単一のNANDフラッシュメモリ装置のコアの概要を説明する。
図2は、公知のNANDフラッシュメモリの1つのバンクの一般的なブロック図である。バンク30は、k+1のブロックに構成される。各ブロックは、互いに直列に接続されたi+1までのフラッシュメモリセルを有するNANDメモリセルストリングから構成される。従って、ワードラインWL0からWLiがメモリセルストリングの各フラッシュメモリセルのゲートに接続される。信号SSL(ストリング選択ライン)に接続されたストリング選択装置は、メモリセルストリングをビットラインに選択的に接続し、他方、信号GSL(グランド選択ライン)に接続されたグランド選択装置は、メモリセルストリングをソースライン、例えばVSSに選択的に接続する。ストリング選択装置とグランド選択装置はnチャンネルトランジスタである。バンク30の全てのブロックに共通のj+1のビットラインがあり、各ビットラインは、ブロック[0]から[k]の各々の1つのNANDメモリセルストリングに接続される。それぞれのワードライン(WL0からWLi)、SSL、およびGSLは、ブロックの各NANDメモリセルストリングの同一の対応するトランジスタに接続される。当業者であれば、1つのワードラインに沿うフラッシュメモリセルに蓄積されたデータは、ページデータとして言及されることを知っているであろう。
バンク30の外側で各ビットラインに接続されているのは、フラッシュメモリセルの1ページにプログラムされるべき1ページの書込みデータを蓄積するデータレジスタ32である。データレジスタ32はまた、フラッシュメモリセルの1ページから読み出されたデータを感知するセンス回路を含む。プログラムの動作中、データレジスタは、選択されたワードラインに接続されたフラッシュメモリセルにデータが正しくプログラムされたことを保証するためにプログラムベリファイ動作を実行する。ブロックへのプログラムは、典型的に、WL0に対応するページで始まり、現在のブロックを満たすようにWLiまで連続的に進む。それから、新しいブロックのワードラインWL0で継続する。装置内で、ブロックは順番にプログラムされる。
図1のフラッシュメモリシステムに戻ると、システムの性能に悪い影響を与える特有の問題がある。あるものは物理的な問題であり、他のものはアーキテクチャ状の問題である。
フラッシュメモリシステム10の構成は、物理的な性能の限界を強いている。システム間を走る多数の並列信号で、信号が搬送する信号のインテグリティ(完全さ)は、クロストーク、信号スキュー、および同時スイッチングノイズ(SSN)により悪化される。このような構成における電力消費は、フラッシュコントローラとフラッシュメモリ装置間の各信号トラックが頻繁に変化しかつ信号送信(signaling)のため放電されるので、問題となる。システムクロック周波数の増加で、電力消費も同様に増加する。
アーキテクチャル状の観点から、プログラム動作は、時間がかかりすぎる。フラッシュコントローラ14の本来の機能は、システムにおけるメモリ装置へのデータの書込みを管理することである。フラッシュメモリでは、データの書込みは、データをプログラムすることとしてより広く言及されている。フラッシュのプログラムに関する2つの重要な問題がある。第1に、フラッシュのプログラムは、DRAMやSRANのような揮発性メモリや、ハードディスクドライブのような他の不揮発性メモリに対して遅い。フラッシュメモリセルにプログラムするデータは、高い電圧を必要とし、かつプログラムされる厳しいしきい値電圧の分配を得るための段階的なプログラムシーケンスとを必要とする。2つのバンクメモリを有するNANDフラッシュメモリ装置では、2ページのデータは同時にプログラムされ、各バンクにつき1ページである。バンクにつき1つのデータレジスタしかないので、さらなるプログラム動作は、現在のページが首尾よくプログラムされるまで待たなければならない。それ故、フラッシュメモリ装置16に多くの量のデータをプログラムすることは、多くの時間を必要と得る。
従来のフラッシュメモリシステム10の第2の問題は、プログラムデータの線形ファイル構造である。図3は、4つのメモリ装置を有するフラッシュメモリシステム50の従来のファイル構造の例示である。図3において、各メモリ装置52、54、56および58は、多数のブロックに分割される、全体でnの物理的なページの蓄積空間を有している。ここに示された例では、nページが2つのバンク間で等しく分割されていると仮定する。大部分のフラッシュメモリシステムは、1つのメモリ装置内に線形に、多数のデータページからなるデータファイルを蓄積する。例えば、データファイルの最初のページは、装置52のページ0に蓄積され、連続するデータページは、次のページに漸次蓄積される。装置52が一杯になると、さらなるデータファイルは、装置54のページ0で始まるシステム50内に蓄積され、先に進む。矢印60は、フラッシュメモリシステム50にデータが書き込まれる蓄積パターンを示している。
メモリ装置毎のデータファイルのページにつき比較的長いプログラム時間に結合された線形のフィル構造は、データを記憶するためにかなりの時間を要するフラッシュメモリシステムとなる。線形ファイル構造に関連する別の問題は、装置の信頼性であり、より具体的には、システム内の他のメモリ装置に対する1のメモリ装置のプログラム/消去の消耗または損耗(wearing)である。プログラム/消去の消耗は、蓄積したプログラムと消去動作によるフラッシュメモリセルの進行する劣化に言及される。このような蓄積したプログラムおよび消去の動作の影響は、最適なパラメータを超えたメモリセルのプログラムおよび消去の特性の変更である。メモリセルが劣化されると、メモリセルをプログラムまたは消去するために、望まれるしきい値電圧に対してより高いプログラムおよび消去の電圧が必要とされる。最終的に、メモリセルは、適切に機能することができなくなる。フラッシュメモリが消去−プログラムサイクルに限られた数、例えば10,000と100,000間の数にランク付けされているのは、これが理由である。
例えば、もし、図3の第1のメモリ装置52が他のメモリ装置よりも、多くのプログラムおよび消去サイクルに耐えるならば、メモリ装置52は、他のものよりも前に故障が生じ得る。メモリ装置52が故障したとき、メモリ装置が一緒にパッケージ化されているので、全体のシステム50はもはや使用することができないし、1つのメモリ装置の取り替えは非現実的である。システムに残っているメモリ装置が未だ使用でき、多くの寿命が残されている場合には、これはメモリ装置の不運な無駄である。
大部分のフラッシュメモリの固有の技術的なアーキテクチャは、消去することができるメモリの一番小さな単位がメモリブロックである、ということである。これは、もし、ブロック内の1ページが変更される場合であっても、全体のブロックが新しいページで再度プログラムされなければならないことを意味する。これは、かなりのプログラム時間を必要とするブロック再プログラムとして言及され、それ故、システムの性能に否定的な影響を与える。
それ故、現在知られているフラッシュメモリシステムは、プログラムするデータについて遅い処理能力をゆうしており、かつ、装置間の均一でないプログラムおよび消去の損耗により、全体のシステムは、故障する最初の装置に制限された寿命をもつ。
それ故、システムの寿命を最大にするスキームをもつ高速のフラッシュメモリシステムアーキテクチャを提供することが望まれる。
発明の概要
本発明の目的は、フラッシュメモリシステムについて従前のコントロールスキームの少なくとも1つの短所を未然に防止しあるいは緩和することである。特に、本発明の目的は、システムのフラッシュメモリ装置のプログラム動作をインターリーブすることによりフラッシュメモリシステムのプログラム処理能力を改善することである。
第1の態様において、本発明は、チャンネルに接続された第1および第2のフラッシュメモリ装置を制御する方法を提供する。
第1の態様では、本発明は、チャンネルに接続された第1および第2のフラッシュメモリ装置を制御する方法を提供する。この方法は、第1の命令に応答して第1のフラッシュメモリ装置の第1の動作を実行すること、および第1のフラッシュメモリ装置が第1の動作を実行している間に、第2の命令に応答して第2のフラッシュメモリ装置の第2の動作を開始することを含む。
本態様の実施例では、第1のフラッシュメモリ装置および第2のフラッシュメモリ装置は互いに直列に接続され、第2の命令は、開始するステップの前に第1のフラッシュメモリ装置を介して第2のフラッシュメモリ装置に渡される。更なる実施例では、第1の動作を実行するステップは、第1のフラッシュメモリ装置のデータファイルの少なくとも1つのページをプログラムすることを含む。第2の動作は、第2のフラッシュメモリ装置のデータファイルの少なくとも1つの他のページのプログラムの開始を含み、他方、方法はさらに第3の命令に応答して第1のフラッシュメモリ装置の第3の動作を開始することを含む。第2の動作は、第2のメモリ装置のデータの読み出し動作を開始すること、または第2のメモリ装置の消去動作の開始することを含む。更なる他の実施例では、第1の動作を実行することは、第1のメモリ装置の読み出し動作と消去動作の1つを含む。
第2の態様では、本発明は、複数のフラッシュメモリ装置を有するフラッシュメモリシステムの高速損耗レベルプログラムの方法を提供する。この方法は、kページを有するデータファイルを受け取り、kは0より大きい整数であり、;サイズkとフラッシュメモリシステムの構成パラメータに対応するプログラムプロファイルを選択し;選択されたプログラムプロファイルに従い、データファイルのkページの少なくとも1つを複数のフラッシュメモリ装置の少なくとも2つの各々にプログラムする。
本態様の実施例によれば、構成(コンフィギュレーション)パラメータは、jのフラッシュメモリ装置を含み、jのフラッシュメモリ装置の各々は、ブロックにつきiページを有し、ここで、jとiは0よりも大きい整数の値である。選択するステップは、zの天井関数を計算し、ここで、z=k/iであり、そして、zがj以下のとき、プログラムプロファイルは、jフラッシュメモリ装置のzのデータファイルのkページを格納する単一のファイル構造を含む。プログラムするステップは、kページをプログラムするためzフラッシュメモリ装置の各々にプログラム命令を連続的に提供することを含み、各プログラム命令は、kページの少なくとも1つをプログラムする(書き込む)。
本態様の他の実施例では、プログラムプロファイルは、zがjよりも大きいとき、多重のファイル構造を含む。多重のファイル構造は、jフラッシュメモリ装置のデータファイルのj*iページのユニットを格納することを含み、さらに、zがj以下であるとき、jフラッシュメモリ装置のzのデータファイルのk−(m*(j*i))を格納することを含み、ここで、mは0よりも大きい整数の値である。プログラムするステップは、データファイルのj*iページをプログラムするためjフラッシュメモリ装置の各々にプログラム命令を連続的に提供することを含み、ここで、各プログラム命令は、kページの少なくとも1つをプログラムする。プログラムするステップはさらに、k−(m*(j*i))ページをプログラムするためzフラッシュメモリ装置の各々にプログラム命令を連続的に提供することを含み、各プログラム命令は、kページの少なくとも1つをプログラムする。
第3の態様では、本発明は、同じチャンネルに接続された少なくとも2つのメモリ装置を有するメモリシステムのデータファイル格納アーキテクチャを提供する。データファイル格納アーキテクチャは、少なくとも2つのメモリ装置に格納されるデータファイルの部分を含む。本態様の実施例によれば、この部分は、互いに実質的に等しいサイズであり、この部分は、メモリシステムの少なくとも2つのメモリ装置の各々に格納される。
第4の態様では、本発明は、jフラッシュメモリ装置を有するフラッシュメモリシステムの高速損耗(wear)レベルプログラム方法を提供し、ここで、jフラッシュメモリ装置の各々は、ブロックにつきiページを有し、jとiは0よりも大きい整数の値である。この方法は、kページを有するデータファイルを受け取り、kは0よりも大きな整数であり;もし、z=k/iの天井関数がj以下ならば、jメモリ装置のz以内のkページをプログラムする命令を提供し、;もし、z=k/iの天井関数がjよりも大きいならば、jメモリ装置内のj*iページをプログラムする命令を提供し、k=k−(j*i)をセットすることによりkを更新し、;更新されたkページをプログラムするステップを繰返す。
第5の態様では、本発明は、フラッシュメモリシステムを提供する。フラッシュメモリシステムは、コントローラ、第1のフラッシュメモリ装置、および第2のフラッシュメモリ装置を含む。コントローラは、第1の命令と第2の命令を提供するチャンネルを有する。第1のフラッシュメモリ装置は、第1の命令に応答して第1の動作を実行するためチャンネルに結合される。第2のフラッシュメモリ装置は、第1のフラッシュメモリ装置が第1の動作を実行している間に、第2の命令に応答して第2の動作を開始するためにチャンネルに結合される。
本態様の実施例によれば、第1のフラッシュメモリ装置および第2のフラッシュメモリ装置は、互いに直列に接続され、第2の命令は、第1のフラッシュメモリ装置を介して第2のフラッシュメモリ装置へ渡される。第1の動作は、プログラム動作を含み、第1のフラッシュメモリ装置は、データファイルの少なくとも1ページをプログラムする。第2の動作は、他のプログラム動作を含み、第2のフラッシュメモリ装置は、データファイルの少なくとも1つの他のページをプログラムする。
本発明の他の態様および特徴は、図面を伴う本発明の具体的な実施例の以下の説明の検討後に当業者に明らかになるであろう。
本発明の実施例は、添付する図面を参照し例示することで説明される。フラッシュメモリシステムのアーキテクチャは、直列に接続されたフラッシュメモリ装置を有し、データの高速プログラムを実現する。データの高速プログラムは、データの種々のページが種々のメモリ装置に格納されるように、システム内のメモリ装置のデータのページをインテーリーブすることによって実現される。メモリコントローラは、1つ若しくはそれ以上の信号ラインを有するビットストリームにおいて各メモリ装置に対してプログラム命令を発する。各メモリ装置はプログラム命令を受け取るとき、プログラム動作を開始するか、あるいは当該命令を次のメモリ装置へ渡す。それ故、フラッシュシステムのメモリ装置は、次から次へと連続的にデータのページをプログラムし、これにより、フラッシュメモリシステムにデータページをプログラムする遅延をできるだけ小さくする。メモリコントローラは、損耗レベル(wear level)制御プログラムを実行し、あらゆるデータサイズのプログラム性能と耐久性(endurance)を最適化する。
図4は、本発明の実施例による、損耗レベル制御を有する高速データプログラム動作を実行するメモリ装置に直列に接続されたフラッシュメモリシステムのブロック図である。フラッシュメモリシステム100は、ホストシステム104と通信するフラッシュメモリコントローラ102と、4つの直列に接続されたフラッシュメモリ装置106、108、110、112とを含む。4つのメモリ装置が本発明の実施例で示されているが、本発明の実施例は、少なくとも2つのメモリ装置を有するメモリシステムに有効である。4つのフラッシュメモリ装置の各々は、メモリ装置間で直列の動作を容易にするため、直列入力/出力インターフェース回路を有する。このようなフラッシュメモリ装置の例は、共有で所有される2005年12月30日に提出された米国特許出願番号第11/324,023号、および2006年7月31日に提出された米国特許出願番号第11/324,023号に説明され、これらの内容は、参照することによってここに包含される。米国特許出願11/324,0123のフラッシュメモリ装置は、多重独立シリアルリンク装置(multiple independent serial link device(MISL))として参照される。図1に示すメモリシステムのように、ホストシステムは、マイクロコントローラ、マイクロプロセッサ、あるいはコンピュータシステムのような処理装置を含む。
フラッシュメモリ装置106は、チェーンの最初の装置であり、読出し(リード)、プログラム、および消去(イレース)のような命令を、フラッシュメモリコントローラ102から受け取る。米国特許出願番号第11/324,023号のMISLフラッシュメモリ装置において、全ての命令、データおよびアドレス情報は、直列のビットストリームとして受け取られる。命令は、データ情報、アドレス情報、および特定の動作を実行するためにメモリ装置によって要求される他の情報を含む。各フラッシュメモリ装置は、貫通(flow-through)論理回路を含むべきであるので、特定の装置のために意図されていない受け取られた命令は、次のフラッシュメモリ装置に渡され、これは、意図されたフラッシュメモリ装置によって動作されるまで進められる。チェーンの最後のフラッシュメモリ装置112は、フラッシュメモリコントローラ102に接続される出力を有し、読出し命令に応答して読み出されたデータを提供する。図4に示された実施例は、フラッシュメモリ装置のチェーンからデータを受け取りかつデータを送信するための1つのチャンネルを有する。当業者であれば、フラッシュメモリコントローラ102は、任意に、フラッシュメモリ装置のチェーンの対応する数に適応する多数のチャンネルを有することを理解するであろう。各フラッシュメモリ装置は、好ましくは他の装置に近接して配置されるため、フラッシュメモリ装置を互いに相互接続する導電ワイヤができるだけ小さくされる。それ故、図1のフラッシュメモリシステム10のように、バスラインの長さに関連された物理的な性能の限界はない。
上記したように、フラッシュメモリコントローラ102は、プログラム命令を各フラッシュメモリ装置に発する責任がある。本発明の実施例によるデータの高速プログラムにとって、データファイルのページは、種々のメモリ装置にプログラムされる。これは、直列に次から次へとプログラム命令を発することによって行われ、高速の連続で各フラッシュメモリ装置においてプログラム動作が開始される。図5および図6は、このような高速プログラムがどのようにして実現されるのかの例を補うものである。
図5は、フラッシュメモリコントローラ102によるプログラム命令の発行を例示するタイミング図であり、本発明の実施例によるフラッシュメモリシステム100の全体のプログラム速度を最大化する。ここに示された例では、1つのデータファイルをプログラムするために、4つのプログラム命令Data[0]、Data[1]、Data[2]、Data[3]がフラッシュメモリコントローラ102によって各時間期間t1からt4に直列に発せられる。各プログラム命令の四角い区分内の識別番号は、プログラム命令がフラッシュメモリコントローラ102から発生された連続的な順序を示す。各プログラム命令は、限定されるものではないが、特定のメモリ装置の命令200と少なくとも1つのデータページ202を含む。命令200は、データページがプログラムされるべきアドレスと、プログラム命令を特定のメモリ装置にマッチングするための装置識別子とを含む。
フラッシュメモリ装置106、108、110、112は、それぞれプログラム命令Data[0]、Data[1]、Data[2]、Data[3]に応答する。フラッシュメモリ装置は、直列に接続され、プログラム命令が直列に発せされるので、各フラッシュメモリ装置のコアのプログラム動作は、次のフラッシュメモリ装置の動作と重複するが、プログラム命令を受け取る最後のフラッシュメモリ装置は除かれる。
各プログラム命令が、メモリ装置へ転送するために約85マイクロ秒(時間t1)を必要とするならば、4つのプログラム命令の転送のための全体のシーケンスは、4×85マイクロ秒=340マイクロ秒を必要とする。メモリ装置につきデータの少なくとも1ページをプログラムするのに要求される時間は一定であり、約200マイクロ秒であると想定される。それ故、フラッシュメモリシステム100にデータのすべてをプログラムするための全体の経過時間は、約340マイクロ秒+200マイクロ秒=540マイクロ秒である。200マイクロ秒のプログラム時間は、プログラム命令を受け取る最後のメモリ装置によって寄与される。対照的に、同一のメモリ装置に4ページをプログラムするには、1140マイクロ秒かかる。フラッシュメモリ装置の重複するプログラム動作は、図6の拡張されたタイミング図により明らかに示される。
図6は、各プログラム命令Data[0]、Data[1]、Data[2]、Data[3]に応答したフラッシュメモリ装置106、108、110、112の動作を示す拡大されたタイミングである。時間期間t1ないしt4は、図5に示された同じ時間期間に対応する。図6のプログラムシーケンスを図7のフローチャートを参照して説明する。図7に記載されたフラッシュシステムのプログラム制御の実施例は、高速インターリーブプログラム方法として参照され、それによって、プログラム動作は、種々のメモリ装置間でインターリーブされる。方法は、ステップ300で始まり、少なくとも2つのプログラム命令がシステムの第1のメモリ装置106に直列に提供される。第1のプログラム命令は、プログラム命令Data[0]に対応し、2番目のプログラム命令はプログラム命令Data[1]に対応する。ステップ302で、メモリ装置106は、第1の時間期間t1中にプログラム命令Data[0]を受け取り、これは、ステップ304でプログラム動作に引き継がれる。時間期間t1において、プログラム命令Data[0]は、メモリ装置106に転送され、他方、メモリ装置108、110、112は、動作をしない状態(NOP)にとどまる。
プログラム命令Data[0]がメモリ装置106に転送されるやいなや、第2のプログラム命令Data[1]がステップ306で第2の時間期間t2中にメモリ装置108によって受け取られる。プログラム動作は、ステップ308に続き、メモリ装置106についてのプログラム動作が時間期間t1の終わりで既に開始されるため、双方のメモリ装置106と108が同じ時間でプログラム動作を実行する時間期間が存在する。この処理は、次のプログラム命令およびメモリ装置について同じ方法で繰り返される。この例では、メモリ装置106と108におけるプログラム動作は、時間期間t4の終わりまでに完了されるであろう。メモリ装置110のプログラム動作は、メモリ装置112のプログラム動作が継続するときに完了される。
上記の例は、命令を受け取る最初のメモリ装置は106であるシナリオを提示している。代わりに、システム内のいずれか1つのメモリ装置が、最初のプログラム命令を受け取る最初のメモリ装置になり得る。5番目のプログラム命令は、時間期間t4の後にメモリ装置106に発せられ、装置106はプログラム動作を完了している。当業者は、種々のフラッシュメモリ装置が異なるプログラム時間を有することを理解するであろう。図6に示された例では、メモリ装置106は、時間期間t4の開始時にデータのプログラムを終了し、それ故、メモリ装置112がプログラム命令Data[3]の受取を終了するやいなや、次のプログラム命令Data[4]を受け取る状態にある。もし、フラッシュメモリ装置が非常に長いコアプログラム時間を有するならば、フラッシュメモリコントローラは、Data[4]のプログラム命令を発する前にメモリ装置106がプログラム動作を完了するまで待つ必要がある。フラッシュメモリ装置は、典型的に、フラッシュメモリコントローラにレディ状態の信号を提供し、プログラム動作がいつ完了したかを示す。
図8は、図6および図7に記載された高速プログラムシーケンスがプログラム命令Data[0]、Data[1]、Data[2]、Data[3],Data[4]を実行した後のフラッシュメモリ装置106、108、110および112のグラフィカルなファイル構造の例示である。図8に示すファイル構造は、装置106、108、112のメモリブロックがプログラム前に空であることを前提としている。これは、これらの装置の物理ページ0にページがプログラムされるためである。他方、メモリ装置110では、メモリブロックは、物理ページ0と1の中に他のデータを有することができる。それ故、Data[2]は、ブロックの次の利用可能なページにプログラムされ、これは物理ページ2である。図8に示すように、メモリ装置106の物理ページ1は、ここに示された高速プログラムシーケンスでプログラムされるべき最後のページである。次のプログラムシーケンスは、メモリ装置108の物理ページ1でデータのプログラムを開始し、図6に示したプログラムシーケンスで説明したときと同様の方法で続行される。それ故、フラッシュメモリシステム100の最大のプログラム速度は、連続的な直列に接続されたメモリ装置にプログラム命令が直列に発せられたときに得られる。言い換えれば、直列に相互接続されたフラッシュメモリシステムの最大の数のメモリ装置にデータが分配されるファイル構造は、最も高速なデータファイルのプログラムとなる。データは、必ずしも全てのメモリ装置において同じ物理ページ番号にプログラムされる必要はないことに留意すべきである。
高速プログラムは、フラッシュメモリシステム100を用いたシステムにとって利点であるが、あるシステムは、フラッシュメモリ装置100の最大の耐久性を必要とするかもしれない。図8に示すファイル構造は、主にフラッシュメモリ装置のブロック消去のアーキテクチャにより、全てのメモリ装置のプログラム/消去の耐久(wear)を最大にするものでない。例えば、もし、20ページのデータファイルが各メモリ装置の1つのブロックにインターリーブされてプログラムされるならば、すべての4つのメモリ装置は、データファイルを更新する前にブロック消去を実行する必要がある。対照的に、もし、すべての20ページが1つのメモリ装置の1つのブロックに蓄積されるならば、、そのブロックが消去される必要があるだけである。
それ故、本発明の他の実施例によれば、上記した高速プログラム制御方法は、プログラム/消去の損耗をできるだけ小さくするように適応され、あるいはプログラム性能およびプログラム/消去の損耗を最適化するように適応される。より具体的には、図4のフラッシュコントローラ112は、所定の基準に基づきプログラム性能とプログラム/消去の損耗を最適化するプログラム制御アルゴリズムを実行する。この所定の基準は、プログラムされるべきデータの特性やフラッシュメモリシステムのメモリ装置の特性を含む。データ特性は、プログラムされるべきデータのページ数を含み、メモリ装置の特性は、1つのブロックについてのページ数を含む。
図9は、高速および損耗レベル制御を有するフラッシュメモリシステムの多重フラッシュメモリ装置をプログラムする例を示すフローチャートである。このプログラム制御の実施例は、高速損耗レベルプログラム方法として参照される。損耗レベルは、フラッシュメモリシステムの寿命を延長するためのスキームを参照する。ここに記載した実施例は、種々のプログラムプロファイルを用いることにより、プログラムされるべきあらゆるデータファイルの性能と損耗レベルを最適化する。プログラムプロファイルは、概して特定のファイル格納構造を有するデータファイルのページを格納するためのプログラムシーケンスに対応する。最終的に、プログラムプロファイルは、フラッシュメモリシステムのフラッシュメモリ装置間にデータファイルのページを分配する。ここに開示した方法は、直列に接続されたメモリ装置のシステム内の、図4のフラッシュメモリコントローラ102のようなメモリコントローラによって実行可能である。
高速損耗レベルプログラム方法は、ステップ400で開始し、ここで、変数iは、フラッシュメモリシステムの各メモリ装置のブロック当たりのページ数にセットされ、変数jは、フラッシュメモリシステムのメモリ装置の数にセットされる。フラッシュメモリシステムのすべてのメモリ装置は、互いに同一であり、同じブロックサイズをもつと仮定する。この情報は、メモリコントローラにプログラムされる。ステップ402で、ページkの数からなるデータファイルがプログラムのためにメモリコントローラによって受け取られる。ステップ404へ続き、kがiより小さいかあるいは等しいかいなか(kがi以下か否か)を決定するために計算が成される。もし、kがiより小さいか等しいならば、データファイルは、メモリ装置の格納空間の1つのブロックより小さいかそれに等しいことを意味し、それから、ステップ406で1つのメモリ装置の1つのブロックにデータファイルの全てのkページがプログラムされる。これは、単一のファイル構造を有するプログラムプロファイルの例である。メモリコントローラは、1つもしくはそれ以上の選択パラメータに従いデータファイルがプログラムされる特定のメモリ装置を選択する。例えば、1つの選択パラメータは、残存するプログラム/消去サイクルの最高の数を有するメモリ装置であり、他の選択パラメータは、プログラムされるべき最後のメモリ装置を含む。
他方、もし、kがiよりも大きいならば、データファイルは、メモリ装置の格納空間の1つのブロックよりも大きなページを含むことを意味し、次に、方法はステップ408へ進む。ステップ408で、k/iがjより小さいかまたはこれに等しいか否か(k/iがj以下か否か)を決定するために計算が成される。k/iの計算は、整数のみを算出することに留意すべきである。本方法は、kデータを格納するために必要な最小のブロック数を決定し、整数と小数部を有する非整数の結果(すなわち、実数)は、整数より1つ大きなブロックが必要であることを示している。これは、公知の数学的な関数、例えば天井関数(ceiling function)によって成される。当業者は、天井関数が実数より小さくない一番小さい整数を戻すことを理解するであろう。他方、k/iからの直接的な整数の結果は、さらなる数学的な処理を必要としない。この観点から、k/iの結果への参照は、天井関数が適用されたものと仮定する。
もし、k/iの整数値が、j、フラッシュメモリシステムのメモリ装置の数よりも小さいならば、ステップ410において、データファイルのkページは、k/iメモリ装置間でインターリーブプログラムされる。これは、単一のファイル構造を有するプログラムプロファイルの別の例である。インターリーブプログラムは、図7の方法で前に記載したように進められる。現実的な例では、もし、i=32、j=4およびk=61ならば、k/i=1.90である。k/iは実数なので、1.90に適合された天井関数は、整数2を生じる。それ故、ステップ410において、すべてのk=61ページが2つのメモリ装置間でインターリーブプログラムされる。メモリコントローラは、フラッシュメモリシステムの中からいずれか2つのメモリ装置を選択し、それらは直接的に共に接続されているか、あるいは間接的に共に接続されている。2つの間接的に接続されたメモリ装置は、それらの装置間に接続された少なくとも1つのインターリーブするメモリ装置を有することができる。データファイルは2つのメモリ装置内にプログラムされるため、ページの約半分が1つのメモリ装置にプログラムされ、残りが他のメモリ装置に格納される。
もし、k/iが少なくともjであるシステム内のメモリ装置の数ならば、異なる最適化プログラムシーケンスが、データファイルの異なるサイズのグループをプログラムするために用いられる。具体的には、非常に大きなデータファイルは、より小さなデータファイルの多数のユニットとして取り扱われ、これらが上記したプログラムシーケンスのいずれか1つによりプログラムされる。ステップ412へ続き、各メモリ装置の1つのブロック内の全てのページ位置は、ステップ410のインターリーブされるプログラムシーケンスにより、データファイルのkページのj*iページでプログラムされる。ステップ414に続き、kページの数がそれをk−(j*i)に等しくセットすることにより更新される。それ故、プログラムされるべき残りのページ数が計算される。本方法は、ステップ404に戻り、更新された値kに基づき、決定ツリー処理およびプログラムシーケンスを繰り返す。概略すれば、本方法は、j*iページの各ユニットについて同じファイル構造を用いるデータファイルのj*iページの多重ユニットを反復してプログラムし、そして、異なるファイル構造を用いる残りのk−(j*i)ページをプログラムする。それ故、本方法は、データファイルについて多重ファイル構造からなるプログラムプロファイルを有する。
実用的な例は、この実施例を例示して用いられる。もし、i=32、j=4、k=192ならば、最初の128ページがステップ412に述べたようにすべてのメモリ装置間にプログラムされる。ステップ414で、kが192−(128)=64に更新される。それから、残りの64ページは、ステップ410に述べたように、2つのメモリ装置間にプログラムされる。上記したように、いずれか2つのメモリ装置が残りの64ページをプログラムするために選択される。ここに説明された実施例は、プログラムすることがkの再計算によって引き継がれる方法を例示するが、全体のシーケンスは、プログラム動作が上記計算を用いることにより開始する前に、前もってフラッシュコントローラにより決定することができる。プログラムされるべきデータファイルの最初のページがj*iページと仮定されるが、プログラムされるべき最初のページは、代わりにk−(j*i)ページであることができ、これは、j*iページの多重のユニットによって引き継がれる。
ここに説明された高速損耗レベルプログラム方法は、図4に示された実施例のような、単一のチャンネルを有するフラッシュメモリシステムについて説明した。前に説明した本発明の実施例は、2つ若しくはそれ以上のチャンネルを有するフラッシュメモリシステムにおいて実行される。このような代わりの実施例において、少なくとも2つのデータファイルが同時にプログラムされ、第1のデータファイルが一方のチャンネル、第2のデータファイルが他方のチャンネルを介してである。
さらに、本実施例は、単一のメモリバンクを有するメモリ装置での動作で説明をしてきが、勿論、2つ若しくはそれ以上のメモリバンクを有するメモリ装置を使用することができる。2つのメモリバンクでは、データの2ページを格納するための2つの利用可能なページバッファがある。多重バンクの装置構成において、幾つかのプログラムオプションが利用可能で有る。第1のオプションでは、1つのメモリ装置にプログラムされるべきデータのすべてのページは、メモリ装置の1つのバンク内の1つのブロックにプログラムされる。動作は、たった1つのメモリバンクを有するメモリ装置に類似している。2つ目のオプションでは、データファイルの2ページが1つのメモリ装置に同時にロードされ、すなわち、単一のプログラム命令である。これは、各メモリ装置が2ページを同時にプログラムするので、プログラムの処理能力を効果的に向上させる。第3のオプションでは、プログラム動作は、複数のメモリ装置のバンク間でインターリーブされる。例えば、2つのメモリ装置にプログラムするページは、次のシーケンスで開始する;装置1[バンク1]、装置2[バンク1]、装置1[バンク2]、および装置2[バンク2]。プログラムシーケンスは、2バンクより多いバンクをもつメモリ装置にとっても明らかであろう。
さらに、上記した高速損耗レベルプログラム方法は、直列接続された、あるいはディジーチェーンのメモリ装置を有するフラッシュメモリシステムについて説明したが、本実施例は、図1に示されたように、マルチドロップ構成のフラッシュシステムに適用することができる。これは、適切なメモリ装置をイネーブルし、かつ対応する命令データを異なる時間で共通バスに提供することによって行われる。
本発明の上記の実施例は、図4のフラッシュメモリシステムのプログラム動作がインターリーブされる例を示す。本発明の他の実施例によれば、インターリーブされるプログラム(書込み)および読み出し動作は、図4のフラッシュメモリシステムにより実行される。
図10は、図4のフラッシュメモリシステムについて高速インターリーブされる読み出しおよびプログラム動作を例示するタイミング図である。この例では、メモリ装置106、112がデータをプログラムされ、他方、メモリ装置108、110が読み出されたデータを提供する。時間期間t1の間、メモリ装置106は、プログラム命令Data[0]を受け取り、それから即座にデータをプログラムするためのコア内部シーケンスを開始する。時間期間t2の開始で、読み出し命令がメモリ装置108によって受け取られ、そして、内部のデータ転送動作(xfer)が開始される。内部のデータ転送動作は、データを読み出しかつデータレジスタをロードするために、例えば、20マイクロ秒かかり、その時間の後に、フラッシュコントローラは、時間期間t3の開始時にメモリ装置110に読み出し命令を発する。内部NOP期間500がメモリ装置108によって突入され、これにより、データレジスタからデータを出力する前に命令の貫通が下流のメモリ装置へなされる。
メモリ装置110は、読み出し命令を受け取った後に内部のデータ転送動作を開始する。しかしながら、メモリ装置108と110間の信号線が使用されない以上は、上流のメモリ装置108は、データレジスタのデータをメモリ装置110へ出力することを開始し、メモリ装置112を介してデータを通過させる。これは、例えば、シーケンシャルな方法で行われる。時間期間t3の終わりに、メモリ装置108は、すべての読み出したデータの出力を完了し、これにより、メモリ装置110が時間期間t4の開始時に読み出したデータの出力を開始することを可能にする。メモリ装置110は、メモリ装置108がデータの出力を完了するまでデータを出力することができないので、内部NOP期間502がなる。時間期間t4の終わりに、メモリ装置110と112間の信号線は、メモリ装置110からのすべてのデータがメモリ装置112を介して出力されたので、使用されない。それ故、時間期間t5の始まりに、メモリ装置112は、プログラム命令Data[1]を受け取る。
インターリーブされた読み出しおよびプログラム動作を例示したが、インテーリーブされる読み出し、プログラム、消去の動作は、どのような組合せであっても実行することができる。
上記した高速インテーリーブプログラム方法は、直列に接続されたメモリ装置を有するフラッシュメモリシステムのプログラム性能を最大にするために用いられる。高速インターリーブプログラムは、あらゆるサイズのデータファイルにも適用される。しかしながら、すべてのメモリ装置の耐久性を改善するため、高速損耗レベルプログラム方法は、データファイルのサイズに基づくファイル構造を有するデータファイルのページを分配するために使用される。実施例は、フラッシュメモリ装置を対象としたが、本発明の実施例は、データファイルのページが少なくとも2つのメモリ装置にプログラムされあるいは書き込まれる他のメモリ装置に適用可能である。
上記記載は説明のために、本発明の実施例の完全な理解を提供するように多数の詳細なことを設定した。しかしながら、これらの具体的な詳細なことは本発明を実施するために要求されるものではないことは当業者には明らかであろう。他の例では、公知の電気的な構造や回路が本発明の障害とならないようにブロック図の形態で示された。ここに説明された本発明の実施例がソフトウエアルーチン、ハードウエア回路、ファームウエア、あるいはそれらの組合せとして実行されるか否かに関して、具体的な詳細は条件とされない。
本発明の実施例は、機械が読み取り可能な媒体(コンピュータが読み取り可能な媒体、プロセッサが読み取り可能な媒体、あるいはコンピュータが読み取り可能である埋め込まれたプログラムコードを有するコンピュータが利用可能である媒体)に格納されたソフトウエア製品として表されることができる。機械が読み取り可能な媒体は、ディスケット、コンパクトディスク読み取り専用メモリ(CD−ROM)、メモリ装置(揮発性または不揮発性)、あるいは同様の格納メカニズムを含む磁気、光学、あるいは電気的な格納媒体を含む、適切な実体のある媒体であることができる。機械が読み取り可能な媒体は、実行されるとき、プロセッサが本発明の実施例による方法のステップを実行する、種々の命令セット、コードシーケンス、コンフィギュレーション情報、あるいは他のデータを含むことができる。当業者は、ここに説明された発明を実行するための他の命令や動作もまた機械が読み取り可能な媒体に格納され得ることを理解しよう。機械が読み取り可能な媒体から実行するソフトウエアは、説明されたタスクを実行するために回路とインターフェースすることができる。
本発明の上記した実施例は、例としてのみ意図されたものである。代替、変更、変形は、ここに添付された特許請求の範囲によって唯一規定される、発明の範囲から逸脱することなく当業者によってもたらされる。
従来のフラッシュメモリシステムのブロック図である。 従来のNANDフラッシュメモリコアの概略図である。 フラッシュメモリシステムの一般的なファイル構造の例示である。 本発明の実施例によるフラッシュメモリシステムのブロック図である。 本発明の実施例による図4のフラッシュコントローラにより発せられたプログラム命令のタイミング図である。 図4のフラッシュメモリシステムの各メモリ装置により受け取られたプログラム命令を示すタイミング図である。 本発明の実施例による高速インターリーブプログラム方法を例示するフローチャートである。 図7の高速インターリーブプログラム方法から生じる図4のフラッシュメモリシステムのファイル構造の図式の例示である。 本発明の実施例による高速損耗レベルプログラム方法を例示するフローチャートである。 インターリーブプログラムと読出し動作を示すタイミング図である。

Claims (25)

  1. チャンネルに接続された第1および第2のフラッシュメモリ装置を制御する方法であって、
    a)第1の命令に応答して第1のフラッシュメモリ装置において第1の動作を実行し、
    b)第1のフラッシュメモリ装置が第1の動作を実行している間に、第2の命令に応答して第2のフラッシュメモリ装置において第2の動作を開始する、
    方法。
  2. 第1のフラッシュメモリ装置および第2のフラッシュメモリ装置は、互いに直列に接続され、第2の命令は、前記開始するステップの前に第1のフラッシュメモリ装置を介して第2のフラッシュメモリ装置に渡される、請求項1に記載の方法。
  3. 前記第1の動作の実行は、第1のフラッシュメモリ装置にデータファイルの少なくとも1ページをプログラムすることを含む、請求項1に記載の方法。
  4. 前記第2の動作の開始は、第2のフラッシュメモリ装置にデータファイルの少なくとも1つの他のページのプログラムの開始を含む、請求項3に記載の方法。
  5. 方法はさらに、第3の命令に応答して第1のフラッシュメモリ装置において第3の動作を開始することを含む、請求項4に記載の方法。
  6. 前記第2の動作の開始は、第2のフラッシュメモリ装置のデータの読出し動作の開始を含む、請求項3に記載の方法。
  7. 前記第2の動作の開始は、第2のフラッシュメモリ装置の消去動作の開始を含む、請求項3に記載の方法。
  8. 前記第1の動作の実行は、第1のフラッシュメモリ装置の読出し動作および消去動作の1つを含む、請求項1に記載の方法。
  9. 複数のフラッシュメモリ装置を有するフラッシュメモリシステムを高速損耗レベルプログラムする方法であって、
    i kページを有するデータファイルを受け取り、kページは0よりも大きい整数であり、
    ii フラッシュメモリシステムの構成パラメータとkサイズに対応するプログラムプロファイルを選択し、
    iii 選択されたプログラムプロファイルに従い、データファイルのkページの少なくとも1つを複数のフラッシュメモリ装置の少なくとも2つの各々にプログラムする、
    方法
  10. 前記構成パラメータは、jフラッシュメモリ装置を含み、jフラッシュメモリ装置の各々はブロックにつきiページを有し、jとiは0よりも大きい整数である、請求項9に記載の方法。
  11. 前記選択するステップは、zの天井関数の計算を含み、z=k/jである、請求項10に記載の方法。
  12. 前記プロファイルのプログラムは、zがj以下であるとき、jフラッシュメモリ装置のzのデータファイルのkページを格納するため単一のファイル構造を含む、請求項11に記載の方法。
  13. プログラムするステップは、kページをプログラムするためzフラッシュメモリ装置の各々にプログラム命令を連続的に提供し、各プログラム命令は、kページの少なくとも1つをプログラムする、請求項12に記載の方法。
  14. プログラムプロファイルは、zがjより大きいとき、多重ファイル構造を含む、請求項11に記載の方法。
  15. 多重ファイル構造は、jフラッシュメモリ装置のデータファイルのj*iページのmユニットを格納すること、zがj以下のときjフラッシュメモリ装置のzのデータファイルのk−(m*(j*i))ページを格納することを含み、mは0より大きい整数である、請求項14に記載の方法。
  16. プログラムするステップは、データファイルのj*iページをプログラムするためjフラッシュメモリ装置の各々にプログラム命令を連続的に提供し、各プログラム命令がkページの少なくとも1つをプログラムする、請求項15に記載の方法。
  17. プログラムするステップは、k−(m*(j*i))ページをプログラムするためzフラッシュメモリ装置の各々に連続的にプログラム命令を提供し、各プログラム命令は、kページの少なくとも1つをプログラムする、請求項16に記載の方法。
  18. 同じチャンネルに接続された少なくとも2つのメモリ装置を有するメモリシステムのデータファイル構造であって、
    少なくとも2つのメモリ装置の2つに格納されるデータファイルの部分を有する、データファイル構造。
  19. 前記部分は、実質的に互いにサイズが等しい、請求項18に記載のデータファイル構造。
  20. 前記部分は、メモリシステムの少なくとも2つのメモリ装置の各々に格納される、請求項18に記載のデータファイル構造。
  21. jフラッシュメモリ装置を有するフラッシュメモリシステムの高速損耗レベルプログラム方法であって、jフラッシュメモリ装置の各々はブロックにつきiページを有し、jとiは0より大きい整数である、前記方法は、
    a)kページを有するデータファイルを受け取り、kは、0よりも大きい整数であり、
    b)z=k/iの天井関数がj以下であるならば、jメモリ装置のz以内のkページをプログラムする命令を提供し、
    c)z=k/iの天井関数がjよりも大きいならば、jメモリ装置内のj*iページをプログラムする命令を提供し、
    d)k=k−(j*i)によってkを更新し、
    e)ステップbを繰り返す、
    方法。
  22. フラッシュメモリシステムであって、
    第1の命令および第2の命令を提供するチャンネルを有するコントローラと、
    チャンネルに結合され、第1の命令に応答して第1の動作を実行する第1のフラッシュメモリ装置と、
    チャンネルに結合され、第1のフラッシュメモリ装置が第1の動作を実行している間に、第2の命令に応答して第2の動作を開始する第2のフラッシュメモリ装置と、
    を有するフラッシュメモリシステム。
  23. 第1のフラッシュメモリ装置および第2のフラッシュメモリ装置は互いに直列に接続され、第2の命令は、第1のフラッシュメモリ装置を介して第2のフラッシュメモリ装置へ渡される、請求項22に記載の方法。
  24. 第1の動作は、プログラム動作を含み、第1のフラッシュメモリ装置はデータファイルの少なくとも1ページをプログラムする、請求項22に記載の方法。
  25. 第2の動作は、別のプログラム動作を含み、第2のフラッシュメモリ装置は、データファイルの少なくとも1つの他のページをプログラムする、請求項24に記載の方法。
JP2009501801A 2006-03-31 2007-03-29 フラッシュメモリシステムコントロールスキーム Expired - Fee Related JP5214587B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US78808306P 2006-03-31 2006-03-31
US60/788,083 2006-03-31
PCT/CA2007/000501 WO2007112555A1 (en) 2006-03-31 2007-03-29 Flash memory system control scheme

Publications (3)

Publication Number Publication Date
JP2009531747A true JP2009531747A (ja) 2009-09-03
JP2009531747A5 JP2009531747A5 (ja) 2011-04-07
JP5214587B2 JP5214587B2 (ja) 2013-06-19

Family

ID=38563033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009501801A Expired - Fee Related JP5214587B2 (ja) 2006-03-31 2007-03-29 フラッシュメモリシステムコントロールスキーム

Country Status (10)

Country Link
US (2) US7802064B2 (ja)
EP (2) EP2002442B1 (ja)
JP (1) JP5214587B2 (ja)
KR (1) KR101194965B1 (ja)
CN (2) CN102063931B (ja)
AT (1) ATE488009T1 (ja)
DE (1) DE602007010439D1 (ja)
ES (1) ES2498096T3 (ja)
TW (2) TW201445576A (ja)
WO (1) WO2007112555A1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US9003354B2 (en) * 2006-07-20 2015-04-07 Texas Instruments Incorporated Optimizing memory usage and system performance in a file system requiring entire blocks to be erased for rewriting data
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8310872B2 (en) * 2008-01-25 2012-11-13 Rambus Inc. Multi-page parallel program flash memory
WO2009100149A1 (en) * 2008-02-10 2009-08-13 Rambus, Inc. Segmentation of flash memory for partial volatile storage
JP2009266349A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
US8275970B2 (en) * 2008-05-15 2012-09-25 Microsoft Corp. Optimizing write traffic to a disk
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
US9176859B2 (en) * 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US8412880B2 (en) * 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8924661B1 (en) * 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
EP2394221A4 (en) * 2009-02-09 2012-11-21 Rambus Inc NON-VOLATILE MEMORY WITH MULTIPLE LEVELS WITH SYNCHRONIZED CONTROL
TWI396090B (zh) * 2009-02-18 2013-05-11 Silicon Motion Inc 快閃記憶裝置、資料儲存系統、以及傳送特殊命令至快閃記憶裝置之方法
US10079048B2 (en) * 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US8639877B2 (en) 2009-06-30 2014-01-28 International Business Machines Corporation Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks
US8234520B2 (en) 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
US8327092B2 (en) * 2009-09-21 2012-12-04 Freescale Semiconductor, Inc. Memory device configurable as interleaved or non-interleaved memory
US9244836B2 (en) * 2009-11-23 2016-01-26 Agiga Tech Inc. Flash memory organization for reduced failure rate
TWI486769B (zh) * 2010-05-26 2015-06-01 Netac Technology Co Ltd 存儲設備及其輪詢方法
CN101923570B (zh) * 2010-07-21 2012-07-04 中国电子科技集团公司第三十八研究所 一种在Windows CE环境下建立大页面Nand Flash存储系统的方法
EP2418584A1 (en) 2010-08-13 2012-02-15 Thomson Licensing Method and apparatus for storing at least two data streams into an array of memories, or for reading at least two data streams from an array of memories
US8769374B2 (en) 2010-10-13 2014-07-01 International Business Machines Corporation Multi-write endurance and error control coding of non-volatile memories
WO2012048444A1 (en) 2010-10-14 2012-04-19 Freescale Semiconductor, Inc. Are Memory controller and method for accessing a plurality of non-volatile memory arrays
US8539139B1 (en) 2010-12-17 2013-09-17 Teradota Us, Inc. Managing device wearout using I/O metering
US8797799B2 (en) * 2012-01-05 2014-08-05 Conversant Intellectual Property Management Inc. Device selection schemes in multi chip package NAND flash memory system
US9501437B2 (en) 2012-11-15 2016-11-22 Empire Technology Development Llc Scalable storage system having multiple storage channels
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9728526B2 (en) 2013-05-29 2017-08-08 Sandisk Technologies Llc Packaging of high performance system topology for NAND memory systems
US9324389B2 (en) * 2013-05-29 2016-04-26 Sandisk Technologies Inc. High performance system topology for NAND memory systems
KR102254099B1 (ko) 2014-05-19 2021-05-20 삼성전자주식회사 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템
US9417804B2 (en) * 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9292210B1 (en) 2014-08-29 2016-03-22 International Business Machines Corporation Thermally sensitive wear leveling for a flash memory device that includes a plurality of flash memory modules
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
KR102296740B1 (ko) * 2015-09-16 2021-09-01 삼성전자 주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
US9928907B1 (en) * 2017-01-27 2018-03-27 Western Digital Technologies, Inc. Block erase schemes for cross-point non-volatile memory devices
US10600484B2 (en) 2017-12-20 2020-03-24 Silicon Storage Technology, Inc. System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory
US10552319B2 (en) * 2018-06-01 2020-02-04 Intel Corporation Interleave set aware object allocation
KR102671402B1 (ko) 2019-04-16 2024-05-31 삼성전자주식회사 문턱전압 산포 특성을 향상한 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
US11315649B2 (en) 2019-04-16 2022-04-26 Samsung Electronics Co., Ltd. Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
US11049570B2 (en) 2019-06-26 2021-06-29 International Business Machines Corporation Dynamic writes-per-day adjustment for storage drives
US11163482B2 (en) 2019-06-26 2021-11-02 International Business Machines Corporation Dynamic performance-class adjustment for storage drives
US11137915B2 (en) 2019-06-27 2021-10-05 International Business Machines Corporation Dynamic logical storage capacity adjustment for storage drives
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282880A (ja) * 1992-01-10 1993-10-29 Toshiba Corp 半導体ディスク装置
JP2002202912A (ja) * 2000-10-26 2002-07-19 Matsushita Electric Ind Co Ltd 記録装置、記録制御方法、及びプログラム
WO2005038660A2 (en) * 2003-10-17 2005-04-28 Micron Technology, Inc. Method and apparatus for sending data from multiple sources over a communications bus
WO2006017725A2 (en) * 2004-08-09 2006-02-16 Sandisk Corporation Ring bus structure and it's use in flash memory systems

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4174536A (en) 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
EP0179605B1 (en) 1984-10-17 1992-08-19 Fujitsu Limited Semiconductor memory device having a serial data input circuit and a serial data output circuit
US4683555A (en) 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
EP0417314B1 (en) 1989-03-15 1997-06-04 Oki Electric Industry Company, Limited Serial in to parallel out converting circuit
US5126808A (en) 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5175819A (en) 1990-03-28 1992-12-29 Integrated Device Technology, Inc. Cascadable parallel to serial converter using tap shift registers and data shift registers while receiving input data from FIFO buffer
US5243703A (en) 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
KR950000761B1 (ko) 1992-01-15 1995-01-28 삼성전자 주식회사 직렬 입력신호의 동기회로
JP3088180B2 (ja) 1992-03-26 2000-09-18 日本電気アイシーマイコンシステム株式会社 シリアル入力インタフェース回路
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
KR960000616B1 (ko) 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
JPH06275069A (ja) 1993-03-20 1994-09-30 Hitachi Ltd シリアルメモリ
US5365484A (en) 1993-08-23 1994-11-15 Advanced Micro Devices, Inc. Independent array grounds for flash EEPROM array with paged erase architechture
JPH0793219A (ja) 1993-09-20 1995-04-07 Olympus Optical Co Ltd 情報処理装置
US5602780A (en) 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
US5452259A (en) 1993-11-15 1995-09-19 Micron Technology Inc. Multiport memory with pipelined serial input
US5404460A (en) 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
US5596724A (en) 1994-02-04 1997-01-21 Advanced Micro Devices Input/output data port with a parallel and serial interface
DE4429433C1 (de) 1994-08-19 1995-10-26 Siemens Ag Adreßzuordnungsverfahren
US5473566A (en) 1994-09-12 1995-12-05 Cirrus Logic, Inc. Memory architecture and devices, systems and methods utilizing the same
KR0142367B1 (ko) 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5636342A (en) 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
TW307869B (en) 1995-12-20 1997-06-11 Toshiba Co Ltd Semiconductor memory
KR100211760B1 (ko) 1995-12-28 1999-08-02 윤종용 멀티뱅크 구조를 갖는 반도체 메모리 장치의 데이타 입출력 경로 제어회로
KR0170723B1 (ko) 1995-12-29 1999-03-30 김광호 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치
US5828899A (en) 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
JPH09231740A (ja) 1996-02-21 1997-09-05 Nec Corp 半導体記憶装置
US5941974A (en) 1996-11-29 1999-08-24 Motorola, Inc. Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits
KR100243335B1 (ko) 1996-12-31 2000-02-01 김영환 독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치
KR100272037B1 (ko) 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
GB2329792A (en) 1997-08-20 1999-03-31 Nokia Telecommunications Oy Identification signals enable a transceiver module to correctly configure itself to an attached functional module
JPH1166841A (ja) 1997-08-22 1999-03-09 Mitsubishi Electric Corp 半導体記憶装置
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
KR100240873B1 (ko) 1997-08-26 2000-01-15 윤종용 송수신 겸용의 레지스터를 갖는 직렬인터페이스장치
JP4039532B2 (ja) 1997-10-02 2008-01-30 株式会社ルネサステクノロジ 半導体集積回路装置
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6148364A (en) 1997-12-30 2000-11-14 Netlogic Microsystems, Inc. Method and apparatus for cascading content addressable memory devices
US6002638A (en) 1998-01-20 1999-12-14 Microchip Technology Incorporated Memory device having a switchable clock output and method therefor
DE19980546B4 (de) 1998-03-02 2011-01-27 Lexar Media, Inc., Fremont Flash-Speicherkarte mit erweiterter Betriebsmodus-Erkennung und benutzerfreundlichem Schnittstellensystem
US6085290A (en) 1998-03-10 2000-07-04 Nexabit Networks, Llc Method of and apparatus for validating data read out of a multi port internally cached dynamic random access memory (AMPIC DRAM)
US6144576A (en) 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US5995417A (en) 1998-10-20 1999-11-30 Advanced Micro Devices, Inc. Scheme for page erase and erase verify in a non-volatile memory array
JP4601737B2 (ja) 1998-10-28 2010-12-22 株式会社東芝 メモリ混載ロジックlsi
JP2000149564A (ja) 1998-10-30 2000-05-30 Mitsubishi Electric Corp 半導体記憶装置
US6304921B1 (en) 1998-12-07 2001-10-16 Motorola Inc. System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices
KR100284742B1 (ko) 1998-12-28 2001-04-02 윤종용 입출력 센스앰프의 개수가 최소화된 메모리장치
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US6680904B1 (en) 1999-12-27 2004-01-20 Orckit Communications Ltd. Bi-directional chaining of network access ports
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US6442098B1 (en) 2000-02-08 2002-08-27 Alliance Semiconductor High performance multi-bank compact synchronous DRAM architecture
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US6816933B1 (en) 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6535948B1 (en) 2000-05-31 2003-03-18 Agere Systems Inc. Serial interface unit
US6317350B1 (en) 2000-06-16 2001-11-13 Netlogic Microsystems, Inc. Hierarchical depth cascading of content addressable memory devices
US6754807B1 (en) 2000-08-31 2004-06-22 Stmicroelectronics, Inc. System and method for managing vertical dependencies in a digital signal processor
US6317352B1 (en) 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6853557B1 (en) 2000-09-20 2005-02-08 Rambus, Inc. Multi-channel memory architecture
FR2816751A1 (fr) 2000-11-15 2002-05-17 St Microelectronics Sa Memoire flash effacable par page
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US6996644B2 (en) 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
KR100413762B1 (ko) 2001-07-02 2003-12-31 삼성전자주식회사 뱅크 수를 가변할 수 있는 반도체 장치 및 그 방법
US6928501B2 (en) 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6763426B1 (en) 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US7062601B2 (en) 2002-06-28 2006-06-13 Mosaid Technologies Incorporated Method and apparatus for interconnecting content addressable memory devices
KR100499686B1 (ko) 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
CA2396632A1 (en) 2002-07-31 2004-01-31 Mosaid Technologies Incorporated Cam diamond cascade architecture
KR100487539B1 (ko) 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
DE60229649D1 (de) 2002-11-28 2008-12-11 St Microelectronics Srl Nichtflüchtige Speicheranordnungsarchitektur, zum Beispiel vom Flash-Typ mit einer seriellen Übertragungsschnittstelle
US7296112B1 (en) * 2002-12-10 2007-11-13 Greenfield Networks, Inc. High bandwidth memory management using multi-bank DRAM devices
KR100493884B1 (ko) 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
US20040199721A1 (en) 2003-03-12 2004-10-07 Power Data Communication Co., Ltd. Multi-transmission interface memory card
US20050166006A1 (en) 2003-05-13 2005-07-28 Advanced Micro Devices, Inc. System including a host connected serially in a chain to one or more memory modules that include a cache
JP4156986B2 (ja) 2003-06-30 2008-09-24 株式会社東芝 不揮発性半導体記憶装置
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
CN100495369C (zh) * 2004-01-20 2009-06-03 特科2000国际有限公司 使用多个存储器设备的便携数据存储设备
CN1655277A (zh) * 2004-02-09 2005-08-17 联想(北京)有限公司 多功能数据存储装置及方法
KR100705221B1 (ko) 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
US6950325B1 (en) 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282880A (ja) * 1992-01-10 1993-10-29 Toshiba Corp 半導体ディスク装置
JP2002202912A (ja) * 2000-10-26 2002-07-19 Matsushita Electric Ind Co Ltd 記録装置、記録制御方法、及びプログラム
WO2005038660A2 (en) * 2003-10-17 2005-04-28 Micron Technology, Inc. Method and apparatus for sending data from multiple sources over a communications bus
WO2006017725A2 (en) * 2004-08-09 2006-02-16 Sandisk Corporation Ring bus structure and it's use in flash memory systems

Also Published As

Publication number Publication date
WO2007112555A1 (en) 2007-10-11
EP2242058B1 (en) 2014-07-16
TW200805396A (en) 2008-01-16
CN101410906A (zh) 2009-04-15
EP2242058A3 (en) 2011-05-25
EP2002442A4 (en) 2009-05-06
US20070233939A1 (en) 2007-10-04
DE602007010439D1 (de) 2010-12-23
KR20090017494A (ko) 2009-02-18
CN102063931B (zh) 2014-07-30
KR101194965B1 (ko) 2012-10-25
EP2002442A1 (en) 2008-12-17
US20100325353A1 (en) 2010-12-23
US7802064B2 (en) 2010-09-21
TWI456582B (zh) 2014-10-11
EP2002442B1 (en) 2010-11-10
JP5214587B2 (ja) 2013-06-19
CN101410906B (zh) 2015-04-29
CN102063931A (zh) 2011-05-18
ATE488009T1 (de) 2010-11-15
ES2498096T3 (es) 2014-09-24
EP2242058A2 (en) 2010-10-20
TW201445576A (zh) 2014-12-01

Similar Documents

Publication Publication Date Title
JP5214587B2 (ja) フラッシュメモリシステムコントロールスキーム
US11150808B2 (en) Flash memory system
US9330765B2 (en) Non-volatile memory device having configurable page size
US8619493B2 (en) Flexible memory operations in NAND flash devices
US9281068B2 (en) Nonvolatile memory and related reprogramming method
US8693247B2 (en) Non-volatile memory device and method for programming the device, and memory system
TWI427637B (zh) 在程式執行期間具有背景資料鎖存快取的非揮發性記憶體及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees