JP2000510634A - 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 - Google Patents

複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能

Info

Publication number
JP2000510634A
JP2000510634A JP11543912A JP54391299A JP2000510634A JP 2000510634 A JP2000510634 A JP 2000510634A JP 11543912 A JP11543912 A JP 11543912A JP 54391299 A JP54391299 A JP 54391299A JP 2000510634 A JP2000510634 A JP 2000510634A
Authority
JP
Japan
Prior art keywords
sector
memory
information
block
row
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
JP11543912A
Other languages
English (en)
Other versions
JP3792259B2 (ja
Inventor
エスタキリ,ペトロ
イマン,ベルハヌ
Original Assignee
レクサー メディア,インコーポレイテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21855540&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2000510634(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by レクサー メディア,インコーポレイテッド filed Critical レクサー メディア,インコーポレイテッド
Publication of JP2000510634A publication Critical patent/JP2000510634A/ja
Application granted granted Critical
Publication of JP3792259B2 publication Critical patent/JP3792259B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 本発明は、ホストに結合されたコントローラ半導体デバイスを有するデジタルシステム、および複数の不揮発性メモリデバイスを含む不揮発性メモリバンクを含む。コントローラはセクタ単位に構成された情報を転送し、各セクタはホストと不揮発性メモリバンクとの間にユーザデータ部分およびオーバーヘッド部分を含み、2つの不揮発性メモリデバイス内の同じセクタに関連する2バイトのセクタの記憶および読み出しを同時に行う。各不揮発性メモリデバイスは、メモリロケーションの行によって規定され、ここで、少なくとも2つの半導体デバイスの対応する行が、その内部に2セクタの情報を、不揮発性メモリデバイスのメモリ行の1つに維持された2つのセクタに関連するオーバーヘッド情報と共に維持する。各32セクタの情報は、仮想物理ブロックアドレスによって識別されたブロックを規定し、1ブロックの情報は、2つのメモリデバイス間を送受信され、ここで、セクタの偶数バイトおよび奇数バイトが2つの不揮発性メモリデバイスから同時に読み出されるか、または2つの不揮発性メモリデバイスに同時に書き込まれる。別の実施形態において、コントローラは1つの不揮発性メモリデバイス内に1セクタの情報を丸ごと記憶し、そして、2つの不揮発性メモリデバイス内の少なくとも2つのセクタの対応するバイトを同時に処理することによって、1セクタの情報の読み出しまたは書き込みを行う。

Description

【発明の詳細な説明】 複数のデバイスへ同時書き込み操作を行うことにより 高まるフラッシュメモリデバイスにおけるメモリ性能 発明の背景 関連出願との相互参照 本発明は、1997年10月7日に出願された「Moving Sequential Sectors Within a Block of Information In a Flash Memory Mass Storage Architecture」と題 する本発明者らの先行出願である米国特許第08/946,331号の一部継続出願であり 、これは1997年3月31日に出願された「Moving Sectors With in a Block of In formation In a Flash Memory Mass Storage Architecture」と題する米国特許 第08/831,266号の一部継続出願である。 発明の分野 本発明は、ハードディスク記憶または従来のフィルムに置き換えて用いる、非 揮発性メモリを大容量記憶として採用する、パーソナルコンピュータおよびデジ タルカメラのようなデジタルシステムの分野に関する。より詳細には、本発明は 、そのようなデジタルシステムの性能を、デジタル情報が非揮発性メモリから読 み出され、そこへ書き込まれる速度を上げることにより高めるアーキテクチャに 関する。 従来技術の説明 フラッシュまたはEEPROMメモリのような、より高い容量のソリッドステ ート記憶デバイス(揮発性メモリ)の登場に伴い、多くのデジタルシステムは従 来の大容量記憶デバイスをフラッシュおよび/またはEEPROMメモリデバイ スに置き換えてきた。例えばパーソナルコンピュータ(PC)は、従来のハード ディスクの代わりに大容量記憶を目的としてソリッドステート記憶装置を用いる 。 デジタルカメラは、従来のフィルムと置き換えて、カードにおいてソリッドステ ート記憶デバイスを採用する。 図1は、コントローラ12を含む従来技術のメモリシステム10を示し、この コントローラは通常半導体(または集積回路)デバイスであり、PCまたはデジ タルカメラであり得るホスト14に結合する。コントローラ12はさらに、非揮 発性メモリバンク16に結合する。ホスト14は、複数のセクタに組織化された 情報をメモリバンク16へ書き込み、そして読み出す。このメモリバンク16は 、第1非揮発性メモリチップ18および第2非揮発性メモリチップ20を含む。 チップ18は、8ビットラインを含む第1バス28を介してコントローラ12の ポート26に接続されたポート24を有するI/Oレジスタ22、およびI/O レジスタ22と結合した記憶エリア30を含む。チップ20は、8ビットライン を含む第2バス38を介してコントローラ12のポート36に接続されたポート 34を有するI/Oレジスタ32、およびI/Oレジスタ32と結合した記憶エ リア40を含む。第1バス28および第2バス38は、コントローラとメモリチ ップ18および20との間で、データ、アドレスおよび命令信号を送信するため に使用される。情報の16ビットの内、最下位の8ビット(LSB)は第1バス 28を介してチップ18へ供給され、最上位の8ビット(MSB)は第2バス3 8を介してチップ20へ供給される。 メモリバンク16は、それぞれが複数のメモリ行ロケーションを含んでいる複 数のブロックロケーション42を含む。メモリバンクの各ブロックロケーション は、第1非揮発性メモリチップに位置する第1サブブロック44、および第2非 揮発性メモリチップに位置する対応する第2サブブロック46から構成される。 各メモリ行ロケーションは、第1の行ロケーション48および対応する第2の行 ロケーション50を含む。示されている実施形態では、第1行のロケーション4 8および第2の行ロケーション50のそれぞれは、256バイトのデータ情報用 の記憶に加え、オーバーヘッド情報用に追加の8バイトの記憶空間を含む。セク タは、512バイトのユーザデータおよび16バイトの非ユーザデータ(後者は 一般にオーバーヘッド情報と呼ばれる)を含むが、256バイトのユーザデータ および8バイトのセクタのオーバーヘッド情報は、チップ18の第1の行部分4 8において維持され得、残りの256バイトのユーザデータおよび残りの8バイ トの同じセクタのオーバーヘッド情報は、チップ20の第2の行部分50におい て維持され得る。従って、セクタの半分はチップ18のメモリ行ロケーション4 8に記憶され、セクタの他の半分はチップ20のメモリ行ロケーション50に記 憶される。加えて、記憶されたセクタのオーバーヘッド情報のそれぞれの半分は 、チップ18により維持され、他の半分はチップ20により維持される。 一般に、フラッシュメモリチップ18および20へデータを読み出し、そして 書き込むことは、時間を消費する。フラッシュメモリチップへデータを書き込む ことは、特に時間消費である。なぜなら、データはI/Oレジスタ22および3 2にラッチされなければならず、これらは第1および第2バスを介して一度に1 バイトずつロードされてから、I/Oレジスタ22および32からフラッシュメ モリチップ18および20のメモリセルへそれぞれ送信されるためである。デー タをI/Oレジスタからメモリへ、データのバイト毎に送信するために必要とさ れる時間は、I/Oレジスタのサイズおよびフラッシュメモリチップのサイズに 比例する。 書き込み操作中、コントローラ12は単一セクタの情報を、以下のようにメモ リバンク16へ書き込む。(1)書き込み命令信号をチップ18および20のそ れぞれに、バス28および38を介して同時に送信し、(2)対応するチップの サブブロック44および46を特定するアドレスデータを、チップ18および2 0へバス28および38を介して同時に送信し、(3)1バイトのユーザデータ をチップ18および20のそれぞれへ、対応するサブブロック44および46内 に記憶するために、バス28および38を介して同時に送信する。このような従 来技術システムに伴う問題点は、ホスト14により発せられる書き込み命令中に 、2バイトの情報が一度に書き込み、そして読み出されることに対して、1つの セクタの情報しかメモリバンク16により一度に収容されないことである。 別の従来技術デジタルシステム60を図2に示す。このシステムは、ホスト6 4に結合したコントローラ62、およびセクタで組織化された情報を非揮発性メ モリチップ68へ記憶し、そして読み出すための非揮発性メモリチップ68を含 み、このメモリチップ68はメモリバンク66内に含まれる。ホストからの命令 によりコントローラは1つのチップに1つのセクタ全体を記憶するが、より多く のチップ(図示せず)がメモリバンク内に含まれ得る。ブロック0のようなブロ ックは、16個のセクタS0、S1,...、S15を含む。またチップ68は 、512バイトに加え16バイト、総計528バイトの記憶空間を含むI/Oレ ジスタ70をも含む。コントローラは、ホスト64とメモリ66との間で、一度 に1バイトの情報を送信する。512バイトのユーザデータに加え16バイトの オーバーヘッド情報を含む1つのセクタは、書き込み操作中にI/Oレジスタ内 に一時的に記憶されてから、メモリデバイス内におけるブロックの1つに、そこ で記憶されるために送信される。読み出し操作中、1つのセクタの情報はメモリ デバイスのブロックの1つから読み出されてから、コントローラへの送信のため にI/Oレジスタ内に記憶される。図2の従来技術のアーキテクチャに伴う重要 な問題点は、総計528バイトがI/Oレジスタ36に記憶され得ることに対し 、1バイトのセクタ情報しかコントローラとメモリバンクとの間で一度に送信さ れ得ず、それによりシステムの全体的な性能が妨げられることである。 図1および2の従来技術の両システムは、1セクタの情報を識別するホスト供 給論理ブロックアドレス(LBA)を、メモリバンク内におけるセクタのロケー ションを識別する物理ブロックアドレス(PBA)に変換する、LBA−PBA マッピング情報を維持する。このマッピング情報は、コントローラの外に維持さ れ得るが、通常コントローラ内において揮発メモリ(例えばRAM)に含まれる 。 図3は、行および列により規定されるLBA−PBAマップ300の例を図示 した表図を示す。各行302は、16で除算されたホストから受信したLBAの 値に相当する値により独特に識別され、アドレスされている。図3の行の数は、 16進法を用いて示される。よって、例えば行10H(16進法において)は、 10進法における16に相当するアドレス値である。マップ300の各行302 は、PBA値を維持するメモリロケーションフィールド304、「オールド」フ ラグフィールド306、「使用中」フラグフィールド308、および「欠陥」フ ラグフィールド310を含む。フラグフィールド(図1および2)は、メモリバ ンク内において維持される1つのブロックの情報のステータスに関する情報を供 給する。仮想PBAフィールド304は、メモリバンク内におけるブロックのロ ケーションについての情報を記憶する。 図4は、メモリバンク内に維持される1つのセクタのデータを記憶するための 例示的なフォーマットを図示した表図である。仮想PBAフィールド304(図 3)は、各ブロックが複数のセクタ402を有するブロック400の情報のロケ ーションについての情報を供給する。各セクタ402はユーザデータフィールド 404、ECCフィールド406、「オールド」フラグフィールド408、「使 用中」フラグフィールド410、および「欠陥」フラグフィールド412で構成 される。 本明細書中で述べられる種類の従来技術のシステムに付随するさらなる問題点 は、表300(図3)が多大な「real estate」を占め、これが一般 にRAM技術(これは、それ自体に経費がかかり、そして通常コントローラ内に おいて保持される)で構成されることから、その製造に伴いかなりの経費がかか る。さらに、表300の各行が1つのブロックの情報に付随するように、ブロッ クの情報の数が大きければ大きいほど、表のサイズも大きくなるため(これはま たコントローラを製造する際に追加の経費となるが)、このデジタルシステムは このような表を採用する。 ここで必要とされるものは、読み出しおよび書き込み操作を行う際にかかる時 間を短縮するために、非揮発性メモリをセクタフォーマットで組織化されたデジ タル情報の記憶用に採用し、それによりシステムの全体的な性能を上げ、同時に このデジタルシステムの製造経費を削減する、デジタルシステムである。 発明の要旨 本発明の目的は、非揮発性メモリバンクへ情報を読み出し、書き込むことに伴 う時間を短縮することにより、1つ以上の非揮発性メモリデバイス(フラッシュ および/またはEEPROMチップ)を含む非揮発性メモリバンクを操作するホ ストに結合したコントローラを有するデジタルシステムの性能を高めることであ る。 本発明の別の目的は、本明細書中で述べるように、ホストから発される単一の 書き込み命令中に、少なくとも2つのセクタの情報を、少なくとも2つの非揮発 性メモリ半導体デバイスへ書き込むことにより、複数のセクタの情報を記憶する 際にかかる時間を短縮することである。 本発明の別の目的は、本明細書中で述べるように、ホストから発される単一の 読み出し命令中に、少なくとも2つのセクタの情報を、少なくとも2つの非揮発 性メモリ半導体デバイスへ読み出すことにより、複数のセクタの情報を記憶する 際にかかる時間を短縮することである。 本発明のさらなる目的は、2つの非揮発性メモリ半導体デバイスの1つにおけ る2つのセクタの情報に付随したオーバーヘッド情報を記憶することである。 本発明のまた別の目的は、2つの非揮発性メモリデバイス内において記憶され た、2バイトの1つのセクタの情報に同時にアクセスし、それにより本発明を少 なくとも2桁で採用するシステムの性能の速度を高めることである。 本発明のまた別の目的は、第1セクタの情報の1バイトおよび第2セクタの情 報の1バイトに、2つの非揮発性メモリデバイス内において同時にアクセスし、 それにより本発明を採用するシステムの性能の速度を高めることである。 本発明のさらなる目的は、複数のホスト供給セクタアドレスから非揮発性メモ リデバイス内におけるブロックのアドレス間の変換を維持する非揮発性メモリ表 (またはマップ)のサイズを縮小し、それによりデバイスシステムの製造経費を 削減することである。 簡潔に言うと、本発明は、ホストに連結したコントローラ半導体デバイス、お よび複数の非揮発性メモリデバイスを含む非揮発性メモリバンクを有するデバイ スシステムを含む。コントローラは、セクタで組織化された情報(各セクタはユ ーザデータ部分およびオーバーヘッド部分を含む)をホストと非揮発性メモリバ ンクとの間で送信し、同じセクタに関する2バイトの情報を、2つの非揮発性メ モリデバイス内において同時に記憶し、読み出す。各非揮発性メモリデバイスは 、メモリロケーションの行により規定され、ここで少なくとも2つの半導体デバ イスの対応する行は、2つのセクタの情報を維持し、そこに非揮発性メモリデバ イスのメモリ行の内、1つに維持される2つのセクタに関するオーバーヘッド情 報を伴う。32あるセクタの情報のそれぞれは、2つのメモリデバイス(ここで 偶 数および奇数バイトの1つのセクタは、2つの非揮発性メモリデバイスから同時 に読み出され、書き込まれる)間で展開する1つのブロックの情報を備えて仮想 物理ブロックアドレスにより識別されたブロックを規定する。別の実施形態にお いて、コントローラは単一の非揮発性メモリデバイス内においてセクタ全体の情 報を記憶し、2つの非揮発性メモリデバイスにおいて少なくとも2つのセクタの 対応するバイトを処理することにより、1つのセクタの情報を同時に読み出し、 または書き込む。 本発明のこれらの、また他の目的および利点は、いくつかの図面において示す 以下の好ましい実施形態の詳細な説明を読み終えた後、当業者には疑いなく明ら かとなる。 図面 図1は、単一のセクタの情報が、書き込み操作中に一度に2バイトずつ、2つ のメモリユニットを含むメモリバンクへ書き込まれ、各メモリユニットは単一の 行ロケーションにおける256バイトのユーザデータを記憶する容量を有する、 従来技術のメモリシステムのブロック図であり、 図2は、単一のセクタの情報が、書き込み操作中に一度に1バイトずつ、少な くとも1つのメモリユニットを含むメモリバンクへ書き込まれ、メモリユニット は単一の行ロケーションにおける512バイトのユーザデータを記憶する容量を 有する、従来技術のメモリシステムのブロック図であり、 図3は、セクタの情報を識別するホスト供給論理ブロックアドレス(LBA) から、メモリバンク内においてセクタのロケーションを識別する物理ブロックア ドレス(PBA)へ変換する例示的なマップを示す表図であり、 図4は、メモリバンクにおいて維持されたセクタのデータを記憶するための例 示的なフォーマットを示す表図であり、 図5は、2セクタの情報が、単一の書き込み操作中に一度に2バイトずつ、少 なくとも2つのメモリユニットを含むメモリバンクへ書き込まれ、各ユニットは 単一の行ロケーションにおける512バイトのユーザデータを記憶する容量を有 する、本発明によるメモリシステムの一般化ブロック図であり、 図6は、図5のメモリシステムの詳細なブロック図であり、 図7は、1つの偶数セクタおよび1つの奇数セクタが、単一のメモリ行ロケー ションにおいて記憶され、そして両セクタの偶数のデータバイトは第1のメモリ ユニットに位置する行部分に記憶され、両セクタの奇数のデータバイトは第2の メモリユニットに位置する第2の行ロケーションに記憶される、2つの非揮発性 メモリユニットを含むメモリバンクにおいて、1つのブロックの情報(1ブロッ クは32セクタ含む)を記憶するメモリ記憶フォーマットを一般化して示す表図 であり、 図8Aは、本発明に従って使用するための例示的なLBA−PBAマップの組 織を示す表図であり、 図8Bは、本発明によるセクタの情報と付随したブロックの情報とを識別する アドレス情報のフォーマットを示すブロック図であり、 図9は、単一の書き込み操作中に、2セクタの情報が図7に示すメモリ記憶フ ォーマットを有するメモリバンクへ同時に読み出される、図6のメモリシステム により行われる書き込み操作のための制御、アドレス、およびデータ信号のタイ ミングを示すタイミング図であり、 図10は、単一のセクタがメモリバンクの特定のメモリ行ロケーションに書き 込まれる、図7に示すようなメモリ記憶フォーマットを有するメモリバンクを示 す表図であり、 図11は、単一のセクタがメモリバンクの特定のメモリ行ロケーションに書き 込まれる、図7に示すような他のメモリ記憶フォーマットを有するメモリバンク を示す表図であり、 図12は、本発明による単一の書き込み操作中に、2セクタの情報を2つのメ モリユニットに同時に書き込むプロセスを示すフローチャートであり、 図12aは、図12の欠陥管理ルーチン(defect management routine)を行う にあたって行われる工程のフローチャートである。 図13は、1つの偶数セクタおよび1つの奇数セクタが、単一のメモリ行ロケ ーションにおいて記憶され、そして両セクタの偶数のデータバイトは第1の2つ のメモリユニットに位置する行部分に記憶され、両セクタの奇数のデータバイト は第2の2つのメモリユニットに位置する第2の行ロケーションに記憶される、 2つの非揮発性メモリユニットを含むメモリバンクにおいて、1つのブロックの 情報(1ブロックは32セクタ含む)を記憶するメモリ記憶フォーマットを一般 化して示す表図であり、 図14は、本発明の原理に従って、メモリバンクのブロックを消去するプロセ スのための制御、アドレスおよびデータ信号のタイミングを示すタイミング図で あり、 図15は、本発明に従って、第1メモリユニット内に記憶された第1サブブロ ック、および第2メモリユニット内に記憶された第2サブブロックを含むブロッ クを消去するプロセスを示すフローチャートである。 実施形態の詳細な説明 図5は、本発明の原理に従うメモリシステムである500において、一般化し たブロック図を示す。このシステムは、ホストシステム504に結合したメモリ カード502を含む。1つの実施形態では、ホスト504はデジタルカメラであ り、メモリカード502はデジタルフィルムカードであり、また別の実施形態で は、ホスト504はパーソナルコンピュータシステムであり、メモリカード50 2はPCMCIAカードである。メモリカード502は、ブロックに組織された 複数のセクタの情報を記憶するための複数の非揮発性メモリユニット508を含 む非揮発性メモリバンク506と、メモリバス512を介してメモリバンクに結 合され、ホストバス514を介してホスト504に結合されたメモリコントロー ラ510とを含む。メモリコントローラ510は、ホスト504とメモリバンク 506との間でセクタ組織化情報の送信を制御する。各セクタの情報は、ユーザ データ部分およびオーバーヘッド部分を含む。メモリコントローラは、以下でさ らに説明するように、本発明に従ってメモリバンクのメモリユニットへの書き込 み操作、およびそこからの読み出し操作を行う。 本発明において、非揮発性メモリバンク506は、任意の数の非揮発性メモリ ユニット508を含み得るが、好ましい実施形態においては、非揮発性メモリバ ンクは偶数のメモリユニットを有する。また、この好ましい実施形態では、各非 揮発性メモリユニットはフラッシュメモリ集積回路デバイスである。 図6は、図5のメモリシステムである600において、詳細なブロック図を示 す。コントローラ510は、コントローラとホストとの間でアドレス、データ、 および制御信号を送信するために、ホストバス514を介してホスト504に結 合したホストインターフェース610と、ホストインターフェースのポート61 8に結合したポート616を有するデータバッファ614と、ホストインターフ ェースのポート624に結合したポート622を有するマイクロプロセッサ62 0と、マイクロプロセッサのポート630に結合したポート628を有するコー ド記憶ユニット626と、マイクロプロセッサのポート630およびコード記憶 ユニットのポート628に結合したポート634を有するブートROMユニット 632と、マイクロプロセッサのポート640に結合したポート638を有する 空間マネジャー636と、マイクロプロセッサのポート646に結合したポート 644、空間マネジャーのポート650に結合したポート648、およびデータ バッファのポート647に結合したポート645を含むフラッシュ状態マシン6 42と、フラッシュ状態マシンのポート656に結合したポート654を有する メモリ入力/出力ユニット652と、フラッシュ状態マシンのポート664に結 合したポート662を有するエラー訂正コード論理ユニット(ECC論理ユニッ ト)660、およびデータバッファ614のポート668に結合したポート66 6とを含むように示される。 示されている実施形態では、メモリバンク506は、2つの非揮発性メモリユ ニット(追加のメモリは含まれ得るが、簡略化のため2つのみを示す)と、FL ASH0と指定された第1のフラッシュメモリチップ670と、FLASH1と 指定された第2のフラッシュメモリチップ672とを含む。第1のフラッシュメ モリチップ670は、第1入力/出力レジスタ(第1のI/Oレジスタ)671 および記憶エリア669を含む。第2のフラッシュメモリチップ672は、第2 入力/出力レジスタ(第2のI/Oレジスタ)673および記憶エリア674を 含む。 メモリバス512は、コントローラ510とメモリバンク506との間で、ア ドレス、データ、および制御信号を送信するために用いられる。メモリバス51 2は、フラッシュメモリチップ670、672とメモリI/Oユニット652と の間でアドレス、データ、および命令信号を送信するメモリI/Oユニット65 2のポート676に結合したフラッシュバス675を含む。フラッシュバス67 5は16のビットラインを含み、その内8ビットラインは第1フラッシュメモリ チップのI/Oレジスタ671のポート682に結合した第1バス680を形成 し、別の8ビットラインは第2フラッシュメモリチップのI/Oレジスタ673 のポート686に結合した第2バス684を形成する。 メモリバス512はまた、フラッシュ状態マシン642の制御信号(CTRL 信号)出力692を、第1フラッシュメモリチップの入力694および第2フラ ッシュメモリチップの出力696に接続する制御バス690と、フラッシュ状態 マシン642のチップイネーブル(CE)出力700を、第1フラッシュメモリ チップのイネーブル出力702および第2フラッシュメモリチップの出力704 に接続するチップイネーブルライン698と、第1フラッシュメモリチップの出 力708および第2フラッシュメモリチップの出力710を、フラッシュ状態マ シン642の出力712に接続する準備/ビジー信号(FRDY−BSY*信号 )ライン706とを含む。 マイクロプロセッサ620は、場合により(例えばメモリシステムの初期化中 )、ROM632に記憶されたプログラム指示(またはコード)を実行し、また メモリシステムの操作中のような他の場合には、マイクロプロセッサはコード記 憶ユニット626に記憶されたコードを実行する。この記憶コードユニットは、 揮発性(すなわち読み出しおよび書き込みメモリ(RAM)タイプ)、または非 揮発性(すなわちEEPROMタイプ)のメモリ記憶装置であり得る。コード記 憶ユニット626からのプログラムコードに先だって、プログラムコードはメモ リバンク506において記憶され得、そして後にそのコードの実行のために、コ ード記憶ユニットにダウンロードされ得る。初期化中、マイクロプロセッサ62 0はROM632からの指示を実行し得る。 ユーザデータおよびオーバーヘッド情報を含むセクタ組織化情報は、ホスト5 04からホストバス514を介してホストインターフェース610において受信 され、データバッファ614に、そのバッファ内での一時的な記憶のために供給 される。データバッファ内に記憶されたセクタの情報は、フラッシュ状態マシン 642の制御のもとで得られ、以下でさらに説明する方法でメモリバンク506 に供給される。当該分野において、各セクタが512バイトのユーザデータに加 えオーバーヘッド情報を含むことは一般的である。セクタは、他の数のバイトの 情報を含み得るが、好ましい実施形態においては、セクタは512バイトのユー ザデータよび16バイトのオーバーヘッド情報を有する。 ECC論理ブロック660は、セクタ組織化情報内のエラーの符号化および訂 正を行うための回路機構を含む。ECC論理ブロック660は、エラー検出操作 および/またはエラー訂正操作を、フラッシュメモリチップ670、672に記 憶された各セクタのユーザデータ部分上、あるいはホスト504から受信された データ上で行う。 必要であれば、空間マネジャー636は、それぞれが複数のセクタの情報を含 んでいるブロックの情報を記憶するための、メモリバンク内における次の未使用 (または空き)の非揮発性メモリロケーションを見出す。好ましい実施形態にお いては、1つのブロックは32セクタ含むが、代わりにブロックは他の数(例え ば16のような数)のセクタを含むように規定され得る。メモリバンク506内 に位置する記憶ブロックの物理アドレス(仮想物理ブロックアドレス(仮想PB A)と呼ばれる)、およびメモリバンク506内に位置するセクタの情報の物理 ブロックアドレス(実物理ブロックアドレス(実PBA)と呼ばれる)は、空間 マネジャーがホストから受信した論理ブロックアドレス(LBA)の変換を行う ことにより決定される。ホスト504から受信した実LBA(ホスト供給LBA )は、セクタの情報を識別する。空間マネジャー636は、以下でさらに説明す るように、改変版のホスト供給LBAから仮想PBAへ変換するためのLBA− PBAマップを記憶する空間マネジャーメモリユニット(これは好ましくは揮発 性メモリユニット)を含む。示されている実施形態では、空間マネジャーは、空 間マネジャーコントローラ(SPMコントローラ)724の制御のもとで、LB A−PBAマップを記憶する空間マネジャーRAMユニット(SPM RAMユ ニット)720を含み、このSPMコントローラ724はSPM RAMユニッ トに結合している。 図7は、本発明のある実施形態による、メモリバンク506内に記憶されたユ ーザデータ、エラー訂正情報、およびフラグ情報の組織を一般化して図示した表 図を示す。メモリバンク506は、BLCK0、BLCK1、BLCK(M−1 )と指定された複数あるM個のブロック727を含み、それぞれが仮想物理ブロ ックアドレス(PBA)を有する。ブロック727のそれぞれは、ROW0、R OW1、...ROW15と指定された複数あるN個のメモリ行ロケーション72 8を有する(ここで好ましい実施形態においてはN=16である)。メモリバン ク506の各ブロック727は、第1のフラッシュメモリチップ670の第1の サブブロック730、および第2のフラッシュメモリチップ672の対応する第 2のサブブロック731から構成される。対応するサブブロック730、731 は、合わせてlつ1ブロックを形成し、同じ仮想PBAにより識別される。各メ モリ行ロケーション728は、第1の行部分732および対応する第2の行部分 733を含む。示されている実施形態において、各第1および第2行部分、73 2および733は、512バイトのデータ情報のための記憶空間に加え、他の情 報のための追加の記憶空間を含む。示されている実施形態では、第1フラッシュ メモリチップの第1の行部分732内の情報の記憶は、第2フラッシュメモリチ ップの第2の行部分733内のものとは同じでない方法で達成される。 第1の行部分732のそれぞれは、偶数データバイトD0、D2、D4、... D510の偶数セクタ(S0、S2、S4、...)の情報を記憶する第1の偶数 セクタフィールド734と、第1スペアフィールド736と、偶数データバイト D0、D2、D4、...D510の奇数tクタ(S1、S3、S5、...)の情報 を記憶する第1の奇数セクタフィールド738と、第2スペアフィールド740 とを含む。第2行部分733のそれぞれは、奇数データバイトD1、D3、D5 、...D511の偶数のセクタのデータ(これは第1の偶数セクタフィールド7 34内に記憶されたその対応する偶数データバイトを有する)を記憶する第2の 偶数セクタフィールド742と、集団的にフィールド734および742に記憶 された偶数セクタの情報に対応するエラー訂正情報を記憶する第1のエラー訂正 フィールド744と、奇数データバイトの奇数セクタの情報(これは第1の奇数 セクタフィールド738内に記憶されたその対応する偶数データバイトを有す る)を記憶する第2の奇数セクタフィールド746と、集中的にフィールド73 8、746に記憶された奇数セクタの情報に対応するECC情報を記憶する第2 エラー訂正フィールド748と、ブロックアドレスフィールド750と、フラグ フィールド752を含む。フィールド734および742は、偶数セクタロケー ションを形成するが、フィールド738および746は奇数セクタロケーション を形成する。本発明において、フィールド734および742は、代わりに奇数 セクタロケーションを形成し得る一方で、フィールド738および746は代わ りに偶数セクタロケーションを形成し得ること、ならびにフィールド734およ び738は代わりに奇数データバイトを記憶するために用いられ得る一方で、フ ィールド742および746は代わりに偶数データバイトを記憶するために用い られ得ることが理解される。加えて、第1の行部分732は、代わりにメモリ行 ロケーション728内に記憶されたセクタに関するオーバーヘッド情報を記憶す るために用いられ得る。 フラグフィールド752は、以下でさらに説明するように、アクセス操作中に コントローラ510(図6)により用いられるフラグ情報を記憶するために用い られる。ブロックアドレスフィールド750は、以下でさらに説明するように、 ブロックに割り当てらた改変版のホスト供給LBA値を記憶するために用いられ る。単一のブロックアドレスエントリのみが、ブロックアドレスフィールドにお いてブロック毎に要求される。好ましい実施形態において、改変ホスト供給LB A値は、各ブロック727の行ロケーション728の第N行、つまりROW15 のブロックアドレスフィールド759に入力される。 作動中、コントローラ510(図6)は、第1および第2フラッシュメモリチ ップに集中的に記憶された偶数セクタの情報に、第1および第2フラッシュメモ リチップの対応する行部分である第1および第2の偶数セクタフィールド、73 4および742に、それぞれ第1分割バス680および第2分割バス684(図 6)を介して同時にアクセスすることにより、アクセスする。第1分割バス68 0および第2分割バス684(図6)は、偶数および奇数バイトのセクタの情報 をそれぞれ受信するように結合されたラインを含む。コントローラ510(図6 )は、第1および第2フラッシュメモリチップに集中的に記憶された奇数セク タの情報に、第1および第2フラッシュメモリチップの対応する行部分である第 1および第2の奇数セクタフィールド、738および746に、それぞれ第1分 割バス680および第2分割バス684(図6)を介して同時にアクセスするこ とにより、アクセスする。分割バス680、684(図6)はまた、フラッシュ メモリチップとフラッシュ状態マシン642とメモリコントローラ510のEC C論理ユニット660との間におけるECC情報の送信、およびフラッシュ状態 マシン642からフラッシュメモリチップへのアドレス情報の送信を供給する。 コントローラ510(図6)は、空間マネジャー636を用いてメモリバンク 506のブロック727のステータスを監視する。1つの実施形態では、コント ローラ510(図6)は、フラグフィールド752の使用中フラグロケーション 754および欠陥フラグロケーション756にそれぞれ記憶された使用中/空き ブロックフラグおよび欠陥ブロックフラグを含むブロックレベルフラグを用いて 、メモリバンクの各ブロックロケーション727のステータスを監視する。ブロ ックレベルフラグは、メモリバンクの全体のブロック727のステータスに関わ る情報を供給する。従って、単一のブロックレベルフラグエントリのみが、フラ グロケーション754および756においてブロック毎に要求される。使用中/ 新ブロックフラグは、対応するブロック727が情報を記憶するために現行で「 使用中」であるか否か、あるいは情報を記憶するために利用可能(または空き) か否かを示す。欠陥ブロックフラグは、対応するブロック727が欠陥であるか 否かを示す。 別の実施形態においては、コントローラ510(図6)は、メモリバンクの各 メモリ行ロケーション728のステータスを、使用中フラグロケーション754 に記憶された使用中/空き行フラグと、欠陥フラグロケーション756に記憶さ れた欠陥行フラグと、フラグフィールド752のオールドロケーション758に 記憶されたオールド行フラグと、偶数セクタ移動フラグロケーション760に記 憶された偶数セクタ移動フラグと、奇数セクタ移動フラグロケーション762に 記憶された奇数セクタ移動フラグとを用いて監視する。この実施形態において、 使用中/新フラグは、対応するメモリ行ロケーション728が情報を記憶するた めに現行で「使用中」であるか、あるいは情報を記憶するために利用可能(また は空き)か否かを示す。欠陥フラグは、対応するブロック727が欠陥であるか 否かを示す。非揮発性メモリロケーション732、733のペアのいずれかが欠 陥であるならば、セットされている欠陥フラグロケーション756における値に より示されるように、全メモリブロック727は欠陥であると宣言される。好ま しい実施形態では、ロケーション758、754、および756は単一の3ビッ トフラグロケーション764に含まれる。 奇数および偶数セクタ移動フラグロケーション760、762は、非揮発性メ モリセクタロケーションに記憶された対応する偶数および奇数セクタが、非揮発 性メモリバンク506(図6)内における別のロケーションへ移動したか否かを 示す値を記憶する。例えば、行ロケーション728の偶数セクタフィールド73 4、742の特定のペアにおいて集中的に記憶された偶数セクタの情報が、非揮 発性メモリバンク506内の偶数セクタフィールドの別のペアに移動した場合、 対応する偶数セクタ移動フラグロケーション760において値がセットされる。 同様に、同じ行ロケーションの奇数セクタフィールド738、746において集 中的に記憶された奇数セクタの情報が、非揮発性メモリバンク506内の奇数セ クタフィールドの別のペアに移動した場合には、対応する奇数セクタ移動フラグ ロケーション672において値がセットされる。非揮発性メモリバンク506内 におけるセクタの情報が移動しているロケーションは、MVPBAアドレスロケ ーション内のSPM RAM720に記憶されたLBA−PBAマップにおいて 示される。このことは本出願の発明者らにより出願された特許出願である、「Mo ving Sectors Within a Block of Information In a Flash Memory Mass Storag e Architecture」と題する米国特許第08/831,266号(1997年3月31日出願)にお いて教示しており、この出願の開示は本明細書中において参考として援用する。 好ましい実施形態では、ロケーション760および762は、単一の2ビット移 動フラグロケーション766である。 図8Aは、改変版のホスト供給LBA−PBAを変換する、例示的なLBA− PBAマップの組織である800(これはSPM RAM720(図6)に記憶 される)を一般化して図示した表図である。改変ホスト供給LBAは、ホスト供 給LBAを1つのブロックに伴うセクタの数で除算することにより得られる(こ れは後により詳細に説明される)。示されているLBA−PBAマップは、改変 ホスト供給LBAにより、または仮想PBAによりアドレス可能である複数のマ ップ行ロケーション802と、メモリバンク内におけるブロック727(図7) を識別する仮想PBA値を記憶する仮想PBAフィールド804と、フラグ情報 を記憶するフラグフィールド806とを含む。上述のように、実PBAはメモリ バンク内のセクタの情報のロケーションを特定し、仮想PBAはメモリバンク内 のブロック727(図7)のロケーションを特定する。仮想PBA値は、空間マ ネジャー636(図7)により示されているマップから取り出され、メモリバン ク506内においてブロックをアドレスする際に使用するため、フラッシュ状態 マシン642のポート648へ転送される。 図8Bは、ホスト供給LBAフォーマット810および実PBAフォーマット 820を図示するブロック図を示す。LBAフォーマット810は、「オフセッ トビット」812を含み、これはホスト供給LBA値の最下位ビットを備える。 上述のように、好ましい実施形態では、各ブロック727(図7)は各セクタが 512バイトのユーザデータおよび16バイトのオーバーヘッド情報を含む、3 2セクタの情報を記憶するメモリ空間を含む。なぜなら、好ましい実施形態にお いて各ブロック727(図7)は32セクタ含み、5つのオフセットビット81 2が、各ブロック内の32セクタのそれぞれを識別するために要求される。この 実施形態では、ホスト供給LBAから実および仮想PBA値への変換は、まずホ スト供給LBAの5つの最下位「オフセット」ビット812をマスクし、その結 果を右へ5ビットずつシフトさせ、そしてそのシフト値を改変ホスト供給LBA 値、または「LBA−マップ−値」として用い、LBA−PBAマップ800( 図8)におけるマップ行ロケーション802をアドレスする。これは実際、ホス ト供給LBAを32で除算している。実PBA値820(これはメモリバンクの ブロック内におけるセクタのロケーションを特定する)は、LBA値のオフセッ トビット812とLBA−PBAマップの対応するフィールド804(図8)に 記憶された仮想PBA822値とを連結することにより形成される。すなわち、 仮想PBA値822はメモリバンク内におけるブロックを識別するために用いら れ、5つの残ったオフセットビット812は識別されたブロック内におけるセク タをアドレスするために用いられる。 メモリシステム600(図6)の初期化により、各マップ行ロケーション80 2の仮想PBAフィールド804に記憶された仮想PBA値は、全て「1」の状 態にセットされる。ブロック727(図7)がコントローラによりアクセスされ る(例えば書き込み操作中)毎に、対応するマップ行ロケーションの対応する仮 想PBAフィールド804に記憶された仮想PBA値が、空間マネジャーコント ローラ724(図6)により改変され、新しい仮想PBA値を特定する。メモリ バンク506内におけるブロックが消去された場合、改変版のホスト供給LBA よりむしろ、オールド仮想PBA値(消去されたブロックに対応する仮想PBA 値)が、SPM RAM720(図6)をアドレスするために用いられ、SPM RAM720のフラグフィールド内において記憶された使用中フラグはクリア になる。SPM RAM720のフラグフィールド内のこの同じ「使用中」フラ グは、対応する仮想PBAがアップデートされ、セクタ情報が維持されるメモリ バンク内の新しいブロックを指摘する(工程1214)ときにセットされる。 図9は、メモリシステム600(図6)により行われる、書き込み操作用の制 御、アドレス、およびデータ信号のタイミングを図示するタイミング図を示し、 ここでは単一の書き込み操作中に、2セクタの情報が非揮発性メモリバンク50 6(図6)に同時に書き込まれる。この図は、命令、アドレス、およびデータ情 報を多重化した時間を、コントローラのフラッシュ状態マシン642(図6)か ら、バス680(図6)を介して第1フラッシュメモリチップのポート682へ 送信する、第1のフラッシュ信号を表す波形902と、命令、アドレス、および データ情報を多重化した時間を、コントローラのフラッシュ状態マシン642( 図6)から、バス684(図6)を介して第2フラッシュメモリチップのポート 686へ送信する、第2のフラッシュ信号を表す波形904と、タイムライン9 05と、複数の制御信号波形とを含む。 制御信号波形は、フラッシュ状態マシン642(図6)から第1および第2フ ラッシュメモリチップへ、制御バス690(図6)を介して送信される命令ライ ンイネーブル信号(CLE信号)を表す波形906と、フラッシュ状態マシンか らフラッシュメモリチップへ、制御バスを介して送信されるアドレスラインイネ ーブル信号(ALE信号)を表す波形908と、フラッシュ状態マシンからフラ ッシュメモリチップへ、制御バスを介して送信されるワイヤイネーブル信号(W E信号)を表す波形910と、フラッシュ状態マシンからメモリチップへ、制御 バスを介して送信される読み出しイネーブル信号(RE信号)を表す波形912 と、フラッシュ状態マシンのチップイネーブル信号出力700(図6)から、チ ップイネーブルライン698を介して、第1および第2フラッシュメモリチップ へ送信されるフラッシュチップイネーブル信号(FCE*信号)を表す波形91 4と、第1および第2フラッシュメモリチップの出力、708および710(図 6)から、フラッシュ状態マシンへフラッシュ準備/ビジー信号ライン706を 介して送信されるフラッシュ準備/ビジー信号(FRDY_BSY*信号)を表 す波形916とを含む。 書き込み操作は、FCE*信号(波形914)がHIGH状態からLOW状態 へ遷移する時間t0において始まり、それにより第1および第2フラッシュメモ リチップが命令、アドレス、データ、および制御信号を受信し始めることを可能 にする。時間t0に先だって、フラッシュメモリチップからフラッシュ状態マシ ンの入力712(図6)へ送信されるFRDY_BSY*信号(波形916)は 、すでに起動しており、第1および第2フラッシュメモリチップがアクセス命令 を受信する準備ができていることを示す。引き続く時間t1において、CLE信 号(波形906)が起動し、LOW状態からHIGH状態へ遷移し、それにより 第1および第2フラッシュメモリチップが命令信号を読み出すことを可能にする 。時間t2において、第1および第2フラッシュ信号(波形902および904 )は、連続的データシフト−イン命令信号80Hを、ディスプレイアップ1およ び第2フラッシュメモリチップへ、第1分割バス680および第2第1分割バス 684をそれぞれ介して同時に送信する。時間t3において、連続的データシフ ト−イン命令信号80Hが起動し、WE信号(波形910)がHIGH状態から LOW状態へ遷移し、それにより第1および第2フラッシュメモリチップが連続 的データ命令信号80Hを読み出すことを可能にする。時間t4において、CL E信号(波形906)が停止し、LOW状態に戻り、それによりフラッシュメモ リチップが命令信号を読み出すことを不可能にする。 また、時間t4において、ALE信号(波形908)が起動し、LOW状態か らHIGH状態に遷移し、それにより第1および第2フラッシュメモリチップが アドレス情報のパケットを読み出すことを可能にする。時間t5、t6、および t7において、第1および第2フラッシュ信号(波形902および904)のそ れぞれが、第1、第2、および第3アドレスパケットADD0、ADD1、およ びADD2を、第1および第2フラッシュメモリチップへそれぞれ送信する。時 間t8において、ALE信号(波形908)が停止し、HIGH状態からLOW 状態へ遷移し、それにより第1および第2フラッシュメモリチップがアドレス情 報を読み出すことを不可能にする。時間t5とt6との間、t6とt7との間、 およびt7とt8との間の時間間隔において、WE信号(波形910)は、HI GH状態からLOW状態へ遷移し、それにより第1および第2フラッシュメモリ チップが第1、第2、および第3アドレスパケットADD0、ADD1、および ADD2をそれぞれ読み出すことを可能にする。3つのアドレスパケットADD 0、ADD1、およびADD2は、第1サブブロック730(図7)内における 行部分732、733を特定する。 時間t9において、第1および第2フラッシュ信号(波形902および904 )が、インターリーブされた偶数および奇数データバイトを同時に送信し、ここ で偶数および奇数バイトは1つのセクタ情報を形成する。偶数バイトは、第1フ ラッシュメモリチップへバス680(図6)を介して送信され、奇数セクタバイ トは、第2フラッシュメモリチップへバス684(図6)を介して送信される。 奇数セクタの偶数データバイトD0、D2、D4、...D510は、第1フラッ シュチップにより受信され、第1フラッシュメモリチップの対応するロケーショ ン732の第1の偶数セクタフィールド734(図7)に記憶される。このこと は、書き込みイネーブル信号WE*(波形910)が起動する度に1バイト記憶 することにより行われる。偶数セクタの奇数データバイトD1、D3、D5、.. .D511は、第2フラッシュチップにより受信され、第2フラッシュメモリチ ップの対応するロケーション733の第2の偶数セクタフィールド742(図7 )に記憶され、このことから各バイトはWE*(波形910)が起動するときに 記憶される。時間t10において、第1および第2フラッシュ信号(波形902 お よび904)は、偶数セクタのインターリーブされた偶数および奇数データの送 信を完了する。 時間t10のすぐ後に、時間t10と時間t11との間において、第1フラッ シュ信号(波形902)は、4つのパケットのフィラー情報(FFH、16進法 F、等量2進法値「1111」、10進法値「15」)を、第1フラッシュメモ リ値へ第1分割バス680(図6)を介して送信し、それに対して第2フラッシ ュ信号(波形904)は、エラー訂正コード(ECC)を第2フラッシュメモリ チップへ、第2分割バス684(図6)を介して送信する。この時間周期中に送 信されたフィラー情報FFHは、第1フラッシュメモリチップにより受信され、 第1スペアフィールド736(図7)に記憶される。この時間周期中に送信され たエラー訂正コードは、第2フラッシュメモリチップにより受信され、第2フラ ッシュメモリチップの非揮発性メモリセクション733の第1エラー訂正フィー ルド744(図7)に記憶される。ECC論理ユニット660(図6)により発 されるこのエラー訂正コードは、前述の時間t10とt11との間の時間間隔の 間に送信される偶数セクタに関係する。 時間t11において、第1および第2フラッシュ信号(波形902および90 4)は、奇数セクタのインターリーブされた偶数および奇数データバイト(書き 込みイネーブル信号WE*(波形910)と同期である)を、ディスプレイアッ プ1および第2フラッシュメモリチップへ第1分割バス680および第2第1分 割バス684(図6)へ、それぞれ同時に送信し始める。偶数データバイトD0 、D2、D4、...D510は、第1フラッシュチップにより受信され、第1フ ラッシュメモリチップの対応するロケーション732の第1の奇数セクタフィー ルド738(図7)に記憶される。奇数セクタの奇数データバイトD1、D3、 D5、...D511は、第2フラッシュチップにより受信され、第2フラッシュ メモリチップの対応するロケーション733の第2の奇数セクタフィールド74 6(図7)に記憶される。時間t12において、第1および第2フラッシュ信号 (波形902および904)は、偶数セクタのインターリーブされた偶数および 奇数データの送信を完了する。 時間t12のすぐ後に、時間t12と時間t13との間において、第1フラッ シュ信号(波形902)は、第1フラッシュメモリチップへ情報を全く送信せず 、それにより、第1フラッシュメモリチップの記憶ロケーションバイトに対応し ている値を、FFH(16進法)または2進法の全て1状態において維持する。 一方、時間t12と時間t13との間において、第2フラッシュ信号(波形90 4)が同時に、エラー訂正コード(ECC)を第2フラッシュメモリチップへ、 第2分割バス684(図6)を介して送信する。この時間周期中に送信されたフ ィラー情報FFHは、第1フラッシュメモリチップにより受信され、第2スペア フィールド740(図7)に記憶される。この時間周期中に送信されたエラー訂 正コードは、第2フラッシュメモリチップにより受信され、第2フラッシュメモ リチップの非揮発性メモリセクション733の第1エラー訂正フィールド748 (図7)に記憶される。ECC論理ユニット660(図6)により発されるこの エラー訂正コードは、前述の時間t11とt12との間の時間間隔の間に送信さ れる奇数セクタに関係する。 時間t17において、第1および第2フラッシュ信号(波形902および90 4)はそれぞれ読み出し命令信号70Hを第1および第2第1および第2フラッ シュメモリチップへ、第1分割バス680および第2分割バス684をそれぞれ 介して送信する。読み出し命令信号70Hが起動すると、WE信号(波形910 )はHIGH状態からLOW状態へ遷移し、それにより第1および第2フラッシ ュメモリチップが読み出し命令信号70Hを読み出すことを可能にする。 時間t18において、CLE信号(波形906)が停止し、LOW状態に戻り 、それによりフラッシュメモリチップが命令信号を読み出すことを不可能にする 。 時間t18において、第1および第2フラッシュ信号(波形902および90 4)はそれぞれステータス命令信号STATUSを第1および第2第1および第 2フラッシュメモリチップへ、第1分割バス680および第2分割バス684を それぞれ介して送信する。読み出し命令信号70Hがアクティブの間、WE信号 (波形910)はHIGH状態からLOW状態へ遷移し、それにより第1および 第2フラッシュメモリチップが読み出し命令信号70Hを読み出すことを可能に する。 図10は、図7に示されるような、メモリバンク506(図6)内の1つのブ ロックの情報を記憶するメモリ記憶フォーマットを一般化して図示した表図を示 し、ここで単一のセクタがメモリバンクの特定のメモリ行ロケーションに書き込 まれる。示されるように、ROW1と指定されたメモリ行ロケーション728は 、図7を参照して上述されたフォーマットに従って、そのロケーションに記憶さ れた偶数セクタS2および奇数セクタS3を有する。ROW2と指定されたメモ リ行ロケーション728は、第1および第2フラッシュメモリチップ、670お よび672の行部分において対応するペアの第1および第2偶数セクタフィール ド734および742に記憶された単一の偶数セクタS4を有する。この場合、 記憶されるための奇数セクタは全く要求されないため、フィールド736、73 8、746、748、750、および752は消去されるように示される。 図11は、図7に示されるような、メモリバンク506(図6)内の1つのブ ロックの情報を記憶する、他のメモリ記憶フォーマットを一般化して図示した表 図を示し、ここで単一のセクタがメモリバンクの特定のメモリ行ロケーションに 書き込まれる。上述のように、フィールド764は、第1のビット場所における オールド行フラグ、第2ビット場所における使用中/空き行フラグ、および第3 ビット場所における欠陥行フラグを記憶するために用いられる、3ビットフィー ルドである。また上記で説明したように、フィールド766は、第1ビット場所 における偶数セクタ移動フラグ、および第2ビット画素における奇数セクタ移動 フラグを記憶するために用いられる、2ビットフィールドである。 ROW1と指定されたメモリ行ロケーション(そこに記憶されたセクタS2お よびS4を有する)は、フィールド766に記憶された値「00」を有し、これ は両セクタがメモリバンク内の他のところへ移動したことを示す。ROW2と指 定されたメモリ行ロケーション(第1および第2偶数セクタフィールド734お よび742に記憶された単一の偶数セクタS4を有する)は、フィールド766 に記憶された値「01」を有し、これはS4内の情報をアップデートされ終え、 そこでメモリバンク内の他のところで常駐することを示す。論理状態の値「O0 は一般に、移動したセクタがホストによりアップデートされ終えたことを示す。 従って、残りのセクタがホストにアップデートされなかったオールドブロックか ら移動した場合、これらのセクタがその移動中にオールドデータにより重ね書き されないことが決定され得る。 ROW1と指定されたメモリロケーション728は、図7を参照して上述した ようなフォーマットに従ってそこへ記憶された偶数セクタS2および奇数セクタ S3を有する。ROW2と指定されたメモリロケーション728は、第1および 第2フラッシュメモリチップ670および672の行部分において対応するペア の第1および第2偶数セクタフィールド734および742に記憶された単一の 偶数セクタS4を有する。この場合、奇数セクタは記憶するために全く要求され ないため、フィールドフィールド736、738、746、748、750、お よび752は消去されるように示される。 図12は、本発明による単一書き込み操作中に、2セクタの情報を2つのメモ リユニットへ同時に書き込むプロセスを図示するフローチャートである。工程1 202において、メモリコントローラ510(図6)は、ホスト504からホス トアドレス情報(これは1つ以上のセクタロケーションのアドレスを特定する) を、論理ブロックアドレス(ホスト供給LBA)の形で、あるいはシリンダヘッ ドセクタ(CHS)情報の形で受信する。ホストアドレス情報がCHS実施形態 である場合、コントローラはCHS情報をLBA情報へ変換する。上述のように 、セクタはブロック内で組織化されているため、複数のホスト供給LBAは、1 つ以上のブロックの複数のセクタに対応する。この情報は、以下でさらに説明す るように、マイクロプロセッサ620(図6)により用いられる。 マイクロプロセッサ620(図6)は、コード記憶ユニット626(図6)に 記憶されている指示を実行し、ここで説明しているプロセスを遂行する。工程1 204において、セクタカウント値は、ホストによりアドレスされている現行ブ ロックのセクタの数に等しくセットされ、ここで例えばセクタロケーションは、 メモリバンクのフィールド734および742(図7)またはフィールド738 および746(図7)から構成され得る。マイクロプロセッサは、ホスト供給L BA値により特定された各セクタロケーションが、その前にホスト供給LBA値 よりアクセスされたか否かを、1206において決定する。この決定は、SPM RAM720(図6)に記憶されたLBA−PBAマップ800の対応する仮想 PBAフィールド804(図8A)の内容を読み出すことにより下される。図 8Aを参照して説明したように、ホスト供給LBAに対応する仮想PBA値が全 て「1」の状態にセットされるならば、対応するLBAはその前にホストにより アクセスされていない。メモリバンク506内のメモリ空間は、一度につき1つ のブロック消去される。ブロックの任意のセクタが、そのブロックの最後の消去 以降にアクセスされたならば、そのブロックは、「全て1」ではない他の値であ るLBA−PBAマップにおいて、対応するマップ行ロケーションのフィールド 804(図8A)内の仮想PBA値の利点によりすでにアクセスされたと表示さ れる。 ホスト供給LBAにより特定された(現行ブロックの)1つ以上のセクタロケ ーションが以前にホストによりアクセスされたことが決定された場合、書き込み プロセスは工程1210へ進み、ここでマイクロプロセッサ620(図6)が現 行セクタロケーションに対応する移動フラグ760、762(図7)の内、対応 する1つをセットし、そして書き込みプロセスは工程1208へ進む。初めの方 で述べたように、非揮発性メモリ内において「移動」フラグを維持することは、 選択自由であり、本発明の範囲および思想から逸脱することなく、全く消去され 得る。移動フラグの欠如において、マイクロプロセッサはセクタのステータスを 維持し、これはそれらが他のブロックへ移動したか否かによる。このことは各ブ ロックについて2つの値のトラックを保持することによりなされる。1つの値は セクタが移動したブロック内におけるスタートセクタロケーションであり、2つ めの値は、移動したブロック内におけるセクタの数である。これらの2つの値を 伴い、1つのブロックのセクタが他の1つの(あるいは複数の)ブロックへ移動 したか否か、ならびにどのセクタが移動したかにより、ステータス情報は再構築 される。 ホスト供給(host-provided)LBAによって特定された現在のセクタロケー ションのいずれもが、以前にアクセスされていないと工程1206で判定された 場合、書き込みプロセスは工程1208に直接進む。 工程1208では、制御器のスペースマネジャー636(図6)が、非揮発性 メモリバンク内に記憶する、ブロック727(図7)のような空き(または未使 用の)ブロックを検索し、各空きブロックが特定の仮想PBA値によって識別さ れる。1212ではマイクロプロセッサは、空きブロックが発見されるかどうか を判定し、検出されなければ、制御器510(図6)によって、エラーがホスト に報告される、情報記憶を非揮発性メモリバンクにさらに収容できないことを指 示する。このことが致命的なシステムエラーを引き起こし得るので、本発明の発 明者は、この状況の発生を防ぐのに細心の注意を払った。 工程1208で非揮発性メモリ内に空きブロックが検出されるとすぐに、図示 した(depicted)プロセスは、工程1214に進む。工程1214では、マイク ロプロセッサ620が、スペースマネジャー636(図6)を促し、工程120 8で発見された空きブロックに仮想PBA値822(図8B)を割り当てる。こ の仮想PBA値は、現在のブロックに対応するホスト供給LBAのマスクビット 814(図8B)によって識別されたマップ行ロケーション802(図8A)内 のLBA−PBAマップ800(図8A)に記憶される。現在のホスト供給LB Aのマスクビット814(図8B)は、5オフセットビット分だけホスト供給L BAを右にずらすことによって(または32分割することによって)、獲得され る。例えば、ホスト識別LBAが16H(16進法)である場合、仮想PBAを 記憶する行は、行0である。また、工程1214では、マイクロプロセッサが、 発見された空きブロックに対応する仮想PBAに「オフセット」ビット812( 図8B)をアペンドし、実PBA値820(図8B)を獲得する。1216では 、マイクロプロセッサは、実PBA値が偶数値であるか奇数値であるかを判定し する。もしくは、1216で実PBA値の代わりにホスト供給LBAがチェック され、この値が偶数であるか奇数であるかが判定されてもよい。 1216で実PBA値が偶数であると判定された場合、プロセスは1218に 進み、マイクロプロセッサは、セクタカウントが1より大きいかどうか、即ち、 一つ以上のセクタをホストから制御器の内部バッファに転送する制御器が要求し た時点で、書き込みされる情報セクタが一つ以上存在するかどうかを判定し、工 程は1232に進んで、マイクロプロセッサは、2つの情報セクタが(ホストイ ンターフェース回路610を介して)ホストからデータバッファ614(図6) に転送されたかどうかを判定する。即ち、フラッシュ状態マシン642によって 検出されたように、非揮発性メモリに書き込まれる必要のある情報セクタが一つ 以上存在する場合、二つの情報セクタが同時に、ホストからデータバッファ61 4に転送される。データバッファ614は、同じ情報(the same)がメモリバン ク506内に記憶されるまで、一時的にセクタ情報を記憶するのに用いられる。 好適な実施形態では、各セクタが512バイトのユーザーデータおよび16バイ トのオーバーヘッド情報を含む。 二つの情報セクタが、まだデータバッファ614に転送されていない場合、マ イクロプロセッサは、1232の「NO」分岐ループによって示すように、その ような転送が完了するまで待機する。 工程1234では、マイクロプロセッサが、書き込みコマンド、それに続くア ドレスおよびデータ情報を発行して、データバッファに一時的に記憶された2つ のセクタの、メモリバンク506(図6)に対する書き込みを起動する。工程1 234における書き込み動作は、図7および図9を参照して上述した方法および 装置によって実行される。 2つの情報セクタの書き込みが完了した後、1235で書き込み動作が検証さ れる。工程1234で情報が正しくプログラムされていなかった場合、プロセス は1237に進み、後に詳述するように欠陥マネジメントルーチンが実行される 。欠陥マネジメントルーチンの実行の後、工程1236でセクタカウントが2ご とに減少される。1235で書き込み動作が成功であると検証された場合、工程 1236が実行され、欠陥マネジメントは必要ない。次に1238で、マイクロ プロセッサは、セクタカウントが0に等しいかどうかを判定し、もし等しい場合 、書き込みされるセクタはまったく残っていないと想定されて、プロセスは12 28に進む。しかし、より多くのセクタが書き込まれなければならない場合、プ ロセスは工程1240に進み、ホスト供給LBAが2ごとに、次に書き込まれる べきセクタの点(point)まで増加される。 工程1240では、マイクロプロセッサは、ブロックの最後のセクタに到達し たかどうかを判定する。現在のLBAの「オフセット」値をブロック内のセクタ の数と比較することによって、ブロックの境界が判定され、それらの値が等しい 場合、ブロック境界に到達している。例えば、好適な実施形態では、ブロックは 32のセクタを含んでいるので、現在のLBAの「オフセット」値は、「32」 (10進法)と比較される。もしくは、ブロックが32のセクタ以外、例えば1 6のセクタなどを有すると定義された場合、後者が「オフセット」に対して比較 される。非揮発性メモリにおけるブロック境界に到達した場合、書き込みプロセ スは、現在のLBA値に対応する仮想PBA値が、すべて「1」である条件に対 してチェックされる工程1206から繰り返され、以下同様に進められる。工程 1242でブロック境界に到達しなかった場合、書き込みプロセスは工程121 8から繰り返される。 工程1218で、セクタカウントが1より大きくないと判定された場合、マイ クロプロセッサは1220に進み、データバッファ614(図6)がホストから 少なくとも一つの情報セクタを受け取ったかどうかを判定する。受け取っていな い場合、マイクロプロセッサは、ホストからデータバッファ614に一つの情報 セクタが転送されるまで待機する。一つの情報セクタを受け取ると、図10およ び図11を参照して上述した方法および装置によって、工程1222で次のセク タの書き込みが起動される。情報セクタの書き込みが完了すれば、1223で書 き込み動作が検証される。工程1222で情報がセクタに正しくプログラムされ ていなかった場合、プロセスは工程1225に進み、後に詳述するように欠陥マ ネジメントルーチンが実行される。欠陥マネジメントルーチンが実行された後、 工程1224では、セクタカウントが1ごとに減少される。書き込み動作が正し く実行されたと、1223では判定された場合、プロセスは工程1224に進み 、欠陥マネジメントルーチンは実行されない。1226では、マイクロプロセッ サは、セクタカウントが零に等しいかどうかを判定し、等しくない場合、ホスト 供給LBAは1ごとに増加され、書き込みプロセスは工程1242に進んで、マ イクロプロセッサは上記に説明したように、ブロック境界をチェックする。 工程1226で、工程1238と同様に、書き込まれるセクタがまったく残っ ていない、即ちセクタカウントが零であると判定される場合、図示したプロセス は1228に進み、マイクロプロセッサは、移動フラグが立てられたかどうかを 判定する。上述したように、移動フラグは、ホストによってLBAが再アクセス されたと1206で判定される場合、工程1210で立てられる。 移動フラグが立てられていないと1228で判定される場合、書き込みプロセ スは終了する。しかしながら、移動フラグが立てられたことが1228で判定さ れれば、ブロックは更新される。即ち、アクセスされていない現在のブロックの これらのセクタは、工程1208で発見された空きブロックに、工程1214で 割り当てられた仮想PBA値によって識別されたメモリバンク506のブロック の対応するセクタロケーションに移動される。このことは、おそらく例示によっ て最もよく理解される。 考察の目的で、LBA1、2、3、4、5、および6によって識別されたセク タが既に書き込まれて、ホストは現在LBA3、4、および5によって識別され たセクタにデータを書き込むよう制御器に命令している、と想定されたい。さら に、LBA1〜6が書き込まれた最初の書き込みプロセスの間、それらは仮想P BA値「3」によって識別されたメモリバンク506(図6)のブロックロケー ションに記憶されており、LBAロケーション3、4、および5は現在(第2の 書き込みプロセスの間)仮想PBA値「8」によって識別されたメモリバンクの ブロックロケーションに書き込まれているところである、と想定されたい。ホス ト供給LBA3、4、および5により識別されたロケーションの書き込みの間、 工程1206で、マイクロプロセッサは、これらのブロックロケーションが再ア クセスされていることを判定し、1210で移動フラグが立てられる。さらに、 工程1230では、ホスト供給LBA3、4、および5により識別されたセクタ が仮想PBA「8」によって識別されたブロックの対応するセクタに書き込まれ た後、書き込み動作中に再アクセスされなかった、仮想PBA「3」によって識 別されたブロックのセクタは、仮想PBA「3」によって識別されたブロックか ら仮想PBA「8」によって識別されたブロックの対応するセクタロケーション に移動され、その後、仮想PBA「3」によって識別されたブロックは消去され る。この例では、セクタ0および7〜31(ブロックに32のセクタが存在する と想定して)など、仮想PBA「3」によって識別されたブロックの残りのセク タが、それらが存在するブロックの最後の消去以来アクセスされておらず、従っ て有効なセクタ情報をまったく含んでいない、と想定している。さもなくば、そ れらのセクタが以前にアクセスされている場合に、それらのセクタも仮想PBA ロケーション8に移動されている。 工程1230は、多くの方法で実施し得る。本発明の発明者等は、工程123 0の移動動作を実行するために、代わりに使用し得る様々な方法および装置を開 示している。特許出願では、本明細書に参照として援用する開示、1997年1 0月7日に申請され、「Moving Sequential Sectors Within a Block of Information In a Flash Memory Mass Storage Architectu re」と題された第08/946,331号、および1997年3月31日に申 請され「Moving Sectors Within a Block of Information In a Flash Memory Mass Storage Architecture」と題された第08/831,26 6号がある。 図12aは、工程1237および工程1225(図12)で欠陥マネジメント ルーチンが実行された場合に、マイクロプロセッサにより実施される工程を示す 。ブロックマネジメントルーチンは、書き込み動作がうまく検証されなかったと きに実施され、プログラムされたブロックは、何らかの形で欠陥を有し、非揮発 性メモリの別の領域、即ち別のブロックがプログラミングのために発見される必 要がある。 工程1600では、うまくプログラムされなかったブロックに、「欠陥」フラ グ756(図7)が立てられることにより、「欠陥有り」と標識される。工程1 602では、制御器内のスペースマネジャーが、空きブロックを発見するよう命 令を受ける。工程1604では、工程1234および1222(図12)にてプ ログラムされた情報、即ち「欠陥有り」と標識されたブロックが、工程1602 で発見された空きブロック内の対応するセクタロケーションにプログラムされる 。 工程1606では、が以前にうまく書き込まれた任意のセクタ情報の存在に関 して「欠陥有り」と識別されたブロックをチェックする。そのようなセクタが存 在する場合、工程1608では、これらの以前にプログラムされたセクタは、図 12の動作における追加ブロック情報として、空きブロックに移動される。 図13は、本発明の別なる実施形態による、32のセクタを含む、メモリバン ク506内の情報ブロックを記憶するためのメモリ記憶形式を一般的に示した表 である。この実施形態では、偶数セクタが、2つのメモリユニットの第1に記憶 する第1行ロケーションに記憶され、奇数セクタが、2つのメモリユニットの第 2に記憶する第2行ロケーションに記憶される。図示した実施形態では、メモリ バンク506は、BLCK0、BLCK1、BLCK(M−1)と指定された、 それぞれが物理ブロックアドレス(PBA)を有する、複数のMブロック130 2を含む。ブロック1302のそれぞれは、複数のNメモリ行ロケーション13 04を含み、好適な実施形態ではN=16である。メモリバンク506の各ブロ ック1302は、第1のフラッシュメモリチップ670の第1のサブブロック1 306、および第2のフラッシュメモリチップ672の対応する第2のサブブロ ック1308を含み、対応するサブブロックは同じ仮想PBAによって識別され る。各メモリ行1304は、第1の行部分1310および対応する第2の行部分 1312を含む。図示した実施形態では、各第1および第2の行部分1310、 1312が、512バイトのデータ情報のための記憶に加え、エラー修正情報( ECC情報)およびフラグ情報のための記憶スペースを含む。 第1の行部分1310のそれぞれは、偶数の情報セクタ(S0、S2、S4… )を記憶するための偶数セクタフィールド1314、およびフィールド1314 に記憶される偶数セクタに対応するエラー修正情報を記憶するための偶数セクタ エラー修正フィールド1316を含む。第2の行部分1312のそれぞれは、奇 数情報セクタ(S1、S3、S5…)を記憶するための奇数セクタフィールド1 318、フィールド1318に記憶される奇数セクタに対応するエラー修正情報 を記憶するための奇数セクタエラー修正フィールド1320を含む。ブロックア ドレスフィールド1322、およびフラグフィールド1324を含む。本発明で は、奇数セクタを記憶するために、代わりとしてフィールド1314を用い得、 偶数セクタを記憶するために、代わりとしてフィールド1318を使用し得るこ とが理解される。また、ブロックアドレスおよびフラグを記憶するために、替わ りとして第1の行部分1310を使用し得る。 フラグフィールド1324は、以下さらに説明するアクセス動作中において、 制御器510(図6)によって使用されるフラグ情報を記憶するために使用され る。ブロックアドレスフィールド1322は、BLCK0に対する「0」のよう に、ブロック1302に永久に割り当てられるブロックアドレスを記憶するため に使用される。ブロックごとのブロックアドレスフィールドでは、単一ブロック アドレスエントリのみが要求される。好適な実施形態では、ブロックアドレスエ ントリは、最終行1304のブロックアドレスフィールド1322、即ち行15 に入れられる。 この代わりの実施形態では、第1および第2のスプリットバス680、684 (図6)が、偶数および奇数セクタの受信データバイトにそれぞれ結合された配 線を含む。制御器510(図6)は、第1および第2のスプリットバス680、 684(図6)それぞれを同時に介して、偶数セクタおよび奇数セクタのバイト の同時書き込みによって、2つのセクタを同時に書き込む。また、スプリットバ ス680、684(図6)は、フラッシュメモリチップと、フラッシュ状態マシ ン642と、メモリ制御器510のECC論理ユニット660との間のECC情 報の転送、およびフラッシュ状態マシン642からフラッシュメモリチップへの アドレス情報の転送を提供する。 図14は、図6のメモリシステムの消去動作のための制御信号、アドレス信号 、およびデータ信号のタイミングを示すタイミング図である。この図は、第1の スプリットバス680(図6)を介して、フラッシュ状態マシン642(図6) から第1のフラッシュメモリチップへの、時間多重化されたコマンド、アドレス 、およびデータ情報を転送する第1のフラッシュ信号を示す波形902と、第2 のスプリットバス684(図6)を介して、フラッシュ状態マシンから第2のフ ラッシュメモリチップへ時間多重化されたコマンド、アドレス、およびデータ信 号を転送する第2のフラッシュ信号を示す波形904と、同時線(time line) 1450と、複数の制御信号波形とを含む。制御信号波形は、すべて上述したが 、制御配線イネーブル(CLE)信号を示す波形906と、アドレス配線イネー ブル(ALE)信号を示す波形908と、書き込みイネーブル(WE)信号を示 す波形910と、読み出しイネーブル(RE)信号を示す波形912と、フラッ シュチップイネーブル(FCE*)を示す波形914と、フラッシュレディ/ビ ジー(ready/busy)信号,(FRDY_BSY*信号)を示す波形916とを含 む。 消去動作は、FCE*信号(波形914)が、HIGH状態からLOW状態に 遷移する時刻E0において開始し、これにより、第1および第2のフラッシュメ モリチップが、コマンド、アドレス、およびデータ信号の受信を開始することを 可能にする。続く時刻E1では、CLE信号(波形906)が起動され、LOW 状態からHIGH状態に遷移して、これにより、第1および第2のフラッシュメ モリチップが制御信号を読み出すことを可能にする。時刻E2では、第1および 第2のフラッシュ信号(波形902および904)それぞれが制御信号を発信す る。第1のフラッシュ信号(波形902)は、第1のスプリットバス680(図 6)を介して、第1のフラッシュメモリチップに「消去セット」コマンド60H を発信し、第2のフラッシュ信号(波形904)は、第2のスプリットバス68 4(図6)を介して、第2のフラッシュメモリチップに読み出し状態コマンド信 号70Hを発信する。時刻E3では、コマンド信号60Hおよび70Hはアクテ ィブであるが、WE信号(波形910)はHIGH状態からLOW状態に遷移し 、第1および第2のフラッシュメモリチップがコマンド信号60Hおよび70H を読み出すことを可能にする。時刻E4では、CLE信号(波形906)が非ア クティブ化されて、再びLOW状態に遷移し、これにより、フラッシュメモリチ ップがコマンド信号を読み出すことを不可能にする。 また、時刻E4では、ALE信号(波形908)が起動され、LOW状態から HIGH状態に遷移して、これにより、第1および第2のフラッシュメモリチッ プがアドレス情報のパケットを読み出すことを可能にする。時刻E5およびE6 では、第1のフラッシュ信号(波形902)が、第1および第2のアドレスパケ ットADD0およびADD1をそれそぞれ、第1のフラッシュメモリチップに発 信し、第1および第2のアドレスパケットADD0およびADD1は、メモリバ ンクの第1のフラッシュメモリチップ670のサブブロック730(図7)を指 定する。時刻E7では、ALE信号(波形908)が非アクティブ化される。時 刻E3と時刻E4との間、および時刻E4とE5との間の期間において、WE信 号(波形910)は、LOW状態に遷移して、フラッシュメモリチップがアドレ スパケットを読み出すことを可能にする。 時刻E8において、CLE信号(波形906)が、再び起動され、第1及び第 2のメモリチップがコマンド信号を読み出すことを可能にする。時刻E9では、 第1のフラッシュ信号(波形902)が、第1のフラッシュメモリチップに対す る「消去確認コマンド」であるDOHを発信する。このコマンドは、CLE信号 によってサンプリングされ、実際にフラッシュチップ内で消去動作を起動し、そ の後、第1のフラッシュメモリチップ670のアドレスされたサブブロック73 0(図7)の各メモリ行部分のデータフィールド734および738の内容が消 去される。即ち「すべて1」の状態に設定される。時刻E10では、FRDY− BSY*信号(波形912)がHIGH状態からLOW状態に遷移し、少なくと も一つのフラッシュメモリチップがビジーであることをフラッシュ状態マシン6 42(図6)に指示する。 時刻E11において、CLE信号(波形906)が起動され、第1および第2 のフラッシュメモリチップがコマンド信号を読み出すことを可能にする。時刻E 12において、第1および第2のフラッシュ信号(波形902および904)は 、それぞれコマンド信号を発信する。第1のフラッシュ信号(波形902)は、 第1のスプリットバス680(図6)を介して、第1のフラッシュメモリチップ に読み出しコマンド信号70Hを発信し、第2のフラッシュ信号(波形904) は、第2のスプリットバス684(図6)を介して、第2のフラッシュメモリチ ップに消去コマンド信号60Hを発信する。時刻13では、コマンド信号70H および60Hはアクティブであるが、WE信号(波形910)は、LOW状態に 遷移し、第1および第2のフラッシュメモリチップがコマンド信号60Hおよび 70Hを読み出すことを可能にする。時刻E14では、CLE信号(波形906 )が非アクティブ化され、フラッシュメモリチップがコマンド信号を読み出すこ とを不可能にし、ALE信号(波形908)がアクティブ化されて、これにより 、第1および第2のフラッシュメモリチップがアドレス情報のパケットを読み出 すことを可能にする。時刻E15およびE16では、第2のフラッシュ信号(波 形904)が、第1および第2のアドレスパケットADD0およびADD1をそ れぞれ第2のフラッシュメモリチップに発信し、第1および第2のアドレスパケ ットADD0およびADD1は、メモリバンクの第2のフラッシュメモリチップ 672のサブブロック731(図7)を指定する。時刻E17では、ALE信号 (波形908)が非アクティブ化される。時刻E13とE14、およびE14と E1 5との間の期間において、WE信号(波形910)は、フラッシュメモリチップ がアドレスパケットを読み出すことを可能にする。時刻E18では、CLE信号 (波形906)が、再びアクティブ化され、第1および第2のメモリチップがコ マンド信号を読み出すことを可能にする。時刻19では、第1のフラッシュ信号 (波形902)が、第1のフラッシュメモリに対してDOHを発信し、指定され たブロックの各メモリ行部分732のデータフィールド734および738の内 容を消去して、これにより、「すべて1」の状態に設定する。 要約すると、メモリ制御器は、時刻E0とE11との間の期間TEB1におい て、第1のフラッシュメモリチップ670のアドレスされたサブブロック730 (図7)を消去する。また、時刻E11と時刻E20との間の期間TEB2にお いて、第2のフラッシュメモリチップ672の対応するアドレスされたサブブロ ック731(図7)を消去する。時刻E21では、FRDY−BSY*信号(波 形916)が、LOW状態からHIGH状態に遷移し、両方のフラッシュメモリ チップに対する消去動作が終了したことをフラッシュ状態マシン642(図6) に指示する。 時刻E21の直後に、第1および第2のフラッシュ信号(波形902および9 04)の各々は、読み出し状態コマンド信号70Hを第1および第2のフラッシ ュメモリチップにそれぞれ発信する。読み出しコマンド信号70Hはアクティブ であるが、WE信号(波形910)はLOW状態に遷移し、これにより、第1お よび第2のフラッシュメモリチップが読み出しコマンド信号70Hを読み出す。 時刻E22では、第1および第2のフラッシュ信号(波形902および904) の両方が、制御器に状態データを転送する。 こうして、上述のようにフラッシュメモリチップの、2つの対応するアドレス されたサブブロック上で、消去動作が実行された後、両方のフラッシュメモリチ ップの状態が同時に読み出される。 メモリチップのサブブロック730、731のいずれかがエラーを有する場合 、チップ内のブロック727全体(図7)が、第2のフラッシュメモリチップ6 72の欠陥フラグ756の内容を設定することにより、欠陥有りと標識される。 図15は、本発明によって、第1のメモリユニット内に記憶される第1のサブ ブロックおよび第2のメモリユニット内に記憶される第2のサブブロックを含む ブロックを消去するプロセスを示すフローチャートである。マイクロプロセッサ 620(図6)は、符号(code)RAM626(図6)に記憶されている命令を 実行し、図示したプロセスを実施する。 工程1502では、マイクロプロセッサ620(図6)が、消去されるブロッ クアドレスをロードする。工程1504では、マイクロプロセッサは1400( 図14)のタイミング図に応じて、上述の消去動作を起動する。1506では、 マイクロプロセッサは、LOW状態からHIGH状態に遷移するフラッシュレデ ィ/ビジー(FRDY_BSY*)信号(図14の波形916)を読み出すこと によって消去動作が終了したかどうかを判定し、両方のフラッシュメモリチップ において消去動作が終了したことを、フラッシュ状態マシン642(図6)に指 示する。1508では、マイクロプロセッサはがフラッシュチップ670、67 2(図6)の状態を読み出す。1508では、マイクロプロセッサは、工程15 04で実施された消去動作が、フラッシュチップ670、672(図6)の両方 において成功であったかどうかを判定し、成功であった場合、プロセスは終了す る。工程1504で実施された消去動作が、両方のフラッシュチップにおいて成 功でなかったと判定された場合、マイクロプロセッサはフラッシュチップ670 、672の両方を欠陥であると標識する。 本発明を特定の実施形態により説明してきたが、当業者には変更および修正が 自明になると予想される。従って以下の請求の範囲が、本発明の精神と範囲に納 まるそのような変更および修正のすべてを包含することを意図している。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AU,AZ,BA,BB ,BG,BR,BY,CA,CH,CN,CU,CZ, DE,DK,EE,ES,FI,GB,GE,GH,G M,HR,HU,ID,IL,IS,JP,KE,KG ,KP,KR,KZ,LC,LK,LR,LS,LT, LU,LV,MD,MG,MK,MN,MW,MX,N O,NZ,PL,PT,RO,RU,SD,SE,SG ,SI,SK,SL,TJ,TM,TR,TT,UA, UG,US,UZ,VN,YU,ZW (72)発明者 イマン,ベルハヌ アメリカ合衆国 カリフォルニア 94086, サニーベール,アイリス アベニュー 946 【要約の続き】 施形態において、コントローラは1つの不揮発性メモリ デバイス内に1セクタの情報を丸ごと記憶し、そして、 2つの不揮発性メモリデバイス内の少なくとも2つのセ クタの対応するバイトを同時に処理することによって、 1セクタの情報の読み出しまたは書き込みを行う。

Claims (1)

  1. 【特許請求の範囲】 1.セクタ単位に構成された情報を不揮発性メモリ内に記憶するメモリ記憶装置 であって、該セクタの各々がユーザデータ部分およびオーバーヘッド部分を含み 、該セクタがブロック単位に構成され、該セクタの各々がホスト供給論理ブロッ クアドレス(LBA)によって識別され、かつ、実際の物理ブロックアドレス(P BA)が仮想PBAに由来し、各ブロックが該ホスト供給LBAおよび該仮想P BAに由来する修正LBAによって識別され、アクセスされる情報のセクタを識 別するために該ホスト供給LBAが該記憶装置によってホストから受け取られ、 該メモリバンク内の空いているロケーションを識別するために該実際のPBAが 該記憶装置によって展開され、ここで、該アクセスされたセクタが記憶されるセ クタである、メモリ記憶装置において、該記憶装置は、 該ホストに結合されたメモリコントローラと、 メモリバスを介して該メモリコントローラに結合された不揮発性メモリバンク であって、該メモリバンクは第1の不揮発性半導体メモリユニットおよび第2の 不揮発性半導体メモリユニットを含み、該メモリバンクは記憶ブロックを有し、 各記憶ブロックは該第1のメモリユニット内に配置された第1の行部分および該 第2のメモリユニット内に配置された対応する第2の行部分を有する少なくとも 1つのメモリ行ロケーションを含み、該メモリ行ロケーションの各々が該セクタ のうちの2つについて記憶空間を供給する、不揮発性メモリバンクと、 を含み、 該メモリコントローラが2セクタの情報に同時にアクセスする、 メモリ記憶装置。 2.前記メモリコントローラが、 前記セクタ単位に構成された情報を一時的に記憶するためのデータバッファと 、 マイクロプロセッサと、 前記LBAを前記PBAに翻訳するためのマップを維持する空間マネジャーコ ントローラおよび空間マネジャーメモリユニットを含む空間マネジャーと、 該セクタ単位に構成された情報について、エラー符号化動作およびエラー訂正 動作を実行するためのエラー訂正符号論理ユニットと、 を含む、請求項1に記載のメモリ記憶装置。 3.前記第1の行部分の各々が、 偶数セクタの偶数データバイトを記憶する第1の偶数セクタ領域と、 奇数セクタの偶数データバイトを記憶する第1の奇数セクタ領域と、 を含み、 前記第2の行部分の各々が、 該偶数セクタの奇数データバイトを記憶する第2の偶数セクタ領域と、 該奇数セクタの奇数データバイトを記憶する第2の奇数セクタ領域と、 を含み、 前記メモリバスが、 前記メモリコントローラと前記第1のメモリユニットとの間の該セクタの該偶 数データバイトを伝送するように結合された第1のスプリットバスと、 該メモリコントローラと前記第2のメモリユニットとの間の該セクタの該奇数 データバイトを伝送するように結合された第2のスプリットバスと、 を含む、 請求項1に記載のメモリ記憶装置。 4.前記第2の行部分の各々が、 前記偶数セクタに対応するエラー訂正情報を記憶するための第1のエラー訂正 領域と、 前記奇数セクタに対応するエラー訂正情報を記憶するための第2のエラー訂正 領域と、 前記対応するブロックのアドレスを特定する前記PBAを記憶するためのブロ ックアドレス領域と、 該対応するブロックの状態を示す情報を記憶するためのフラグ領域と、 をさらに含む、請求項3に記載のメモリ記憶装置。 5.前記第1の行部分の各々が、 前記偶数セクタに対応するエラー訂正情報を記憶するための第1のエラー訂正 領域と、 前記奇数セクタに対応するエラー訂正情報を記憶するための第2のエラー訂正 領域と、 前記対応するブロックのアドレスを特定する前記PBAを記憶するためのブロ ックアドレス領域と、 該対応するブロックの状態を示す情報を記憶するためのフラグ領域と、 をさらに含む、請求項4に記載のメモリ記憶装置。 6.前記第1および第2の行部分の各々が、512バイトの前記ユーザデータを 記憶するための記憶空間と、前記オーバーヘッド情報を記憶するための追加的な 16バイトの記憶空間とを含み、 前記第1のスプリットバスおよび前記第2のスプリットバスが、それぞれ8本 のビットラインを含む、 請求項5に記載のメモリ記憶装置。 7.前記コントローラが、 前記第1および第2のスプリットバスを介して、前記第1および第2のメモリ ユニットの対応する行部分の前記第1および第2の偶数セクタ領域に同時にアク セスすることによって、1つの偶数セクタの情報にアクセスする手段と、 該第1および第2のスプリットバスを介して、該第1および第2のメモリユニ ットの対応する行部分の前記第1および第2の奇数セクタ領域に同時にアクセス することによって、1つの奇数セクタの情報にアクセスする手段と、 を含む、請求項6に記載のメモリ記憶装置。 8.前記コントローラが、前記セクタ単位に構成された情報についてエラー符号 化動作およびエラー訂正動作を実行するエラー訂正符号論理を含む、請求項7に 記載のメモリ記憶装置。 9.前記フラグ領域が、ブロックレベルフラグを記憶するために用いられ、該ブ ロックレベルフラグは、 情報を記憶するために前記対応するブロックが現在使用されているかどうかを 示す使用中/未使用ブロックフラグと、 該対応するブロックが欠陥であるかどうかを示す欠陥ブロックフラグと、 を含む、請求項8に記載のメモリ記憶装置。 10.対応するサブブロックの各々が1つのPBA値によって識別される、請求 項9に記載のメモリ記憶装置。 11.前記不揮発性メモリユニットがフラッシュメモリチップである、請求項1 0に記載のメモリ記憶装置。 12.前記第1の行部分の各々が、第1セクタのデータバイトを記憶するための 第1のセクタ領域を含み、 前記第2の行部分の各々が、第2セクタのデータバイトを記憶するための第2 のセクタ領域を含み、 前記メモリバスが、 前記メモリコントローラと前記第1メモリユニットとの間の(最下位?)デ ータバイトを伝送するように結合された第1のスプリットバスと、 前記メモリコントローラと前記第2メモリユニットとの間の(最上位?)デ ータバイトを伝送するように結合された第2のスプリットバスと、 を含む、 請求項11に記載のメモリ記憶装置。 13.前記第1および第2のスプリットバスを介して、前記第1および第2のメ モリユニットの対応する行部分の第1および第2のセクタ領域に同時にアクセス する手段をさらに含む、請求項12に記載のメモリ記憶装置。 14.不揮発性メモリバンクとメモリバスを介して該メモリバンクに結合された コントローラとを含む記憶装置であって、該メモリバンクが第1の不揮発性メモ リユニットおよび第2の不揮発性メモリユニットを含み、該メモリバンクがブロ ックによって規定された記憶ロケーションを有し、セクタ単位で情報を記憶する 各ブロックがユーザデータ部分およびオーバーヘッド部分を有し、各ブロックが 、それぞれに関連する、ホスト供給LBA値に由来する修正論理ブロックアドレ ス(LBA)と仮想PBA値に由来する実際の物理ブロックアドレス(PBA)とを 有し、アクセスされる1セクタの情報を識別するために該ホスト供給LBA値が 該コントローラによってホストから受け取られ、該メモリバンク内の未使用ロケ ーションを識別するために該実際のPBAが該記憶装置によって展開され、ここ で、ホストによって識別された1セクタの情報が記憶され、各ブロックは該第1 のメモリユニット内に配置された第1の行部分および該第2のメモリユニット内 に配置された対応する第2の行部分を有する少なくとも1つのメモリ行ロケーシ ョンを含む記憶装置において、1回の書き込み動作で第1セクタおよび第2セク タを該メモリバンクに書き込むプロセスであって、該プロセスは、 書き込みコマンドを該第1および第2のメモリユニットに同時に供給するステ ップと、 該アドレスされた行ロケーションの対応する第1および第2の行部分に同時に アドレスすることによって、該メモリバンクの該メモリ行ロケーションの1つに アドレスするステップと、 該第1のメモリユニットに該第1および第2のセクタの第1のデータバイトを 、該第2のメモリユニットに該第1および第2のセクタの第2のデータバイトを 同時に供給するステップと、 を含むプロセス 15.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、前記第1のバイトが前記第1および第2のセクタの一方の偶数データバイト であり、前記第2のデータバイトが該第1および第2のセクタの一方の奇数デー タバイトである、請求項14に記載のプロセス。 16.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、前記第1のデータバイトが前記第1セクタのデータバイトであり、前記第2 のデータバイトが前記第2セクタのデータバイトである、請求項15に記載のプ ロセス。 17.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、偶数セクタおよび奇数セクタが1つのメモリ行ロケーションに記憶され、前 記第1および第2のセクタの偶数ユーザデータバイトが前記第1のメモリユニッ ト内に記憶され、該第1および第2のセクタの偶数ユーザデータバイトが該第2 のメモリ内に記憶され、該第1および第2のセクタに関連するオーバーヘッド情 報が前記第1および第2の行ロケーションの一方に記憶される、請求項16に記 載のプロセス。 18.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、ブロックアドレスエントリが、前記ブロックの各々の前記行ロケーションの 最後のロケーション内のブロックアドレス領域内に入る、請求項17に記載のプ ロセス。 19.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、 該コントローラが、該第1および第2のフラッシュメモリチップの対応する行 部分の第1および第2の偶数セクタ領域に同時にアクセスすることにより、前記 第1および第2のスプリットバスを介して、前記第1および第2のフラッシュメ モリチップ内に集合的に記憶された偶数セクタの情報にアクセスし、 該第1および第2のスプリットバスが、1セクタの情報のそれぞれ前記偶数デ ータバイトおよび奇数データバイトを受け取るように結合されたラインを含み、 該コントローラが、該第1および第2の奇数セクタ領域に同時にアクセスする ことにより、該第1および第2のスプリットバスを介して、該第1および第2の フラッシュメモリチップ内に集合的に記憶された奇数セクタの情報にアクセスし 、該スプリットバスはまた、該フラッシュメモリチップと該フラッシュステート マシンと該メモリコントローラのECC論理ユニットとの間にECC情報の伝送 、およびフラッシュステートマシンから該フラッシュメモリチップへのアドレス 情報の伝送を提供する、 請求項18に記載のプロセス。 20.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、 前記フラグ領域が、ブロックレベルフラグを記憶するために用いられ、該フラ グは、 前記対応するブロックが情報を記憶するために現在使用されているかどうか を示す、使用中/未使用ブロックフラグと、 該対応するブロックが欠陥であるかどうかを示す欠陥ブロックフラグと、 を含む、 請求項19に記載のプロセス。 21.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、 前記対応するサブブロックの各々が、1つの仮想PBA値によって識別される、 請求項20に記載のプロセス。 22.メモリバンクとメモリバスを介して該メモリバンクに結合されたコントロ ーラとを含む記憶装置であって、該メモリバンクが第1の不揮発性メモリユニッ トおよび第2の不揮発性メモリユニットを含み、該メモリバンクはそれぞれがユ ーザデータ部分およびオーバーヘッド部分を含む情報セクタを記憶するための記 憶ブロックを有し、各ブロックはそれに関連する論理ブロックアドレス(LBA) および物理ブロックアドレス(PBA)を有し、アクセスされるブロックを識別す るために該LBAがホストによって該コントローラに供給され、該メモリバンク 内の未使用ロケーションを識別するために該PBAが該記憶装置によって展開さ れ、ここで、該アクセスされたブロックは記憶されるブロックであり、各ブロッ クは、該第1のメモリユニット内に配置された第1の行部分を有する少なくとも 1つのメモリ行ロケーションを含み、そして、対応する第2の行部分は該第2の メモリユニット内に配置された記憶装置において、1回の書き込み動作で第1セ クタおよび第2セクタを該メモリバンクに書き込むプロセスであって、該プロセ スは、 該第1および第2のメモリユニットに書き込みコマンドを同時に供給するステ ップと、 該アドレスされた行ロケーションの対応する第1および第2の行部分に同時に アドレスすることによって、該メモリバンクの該メモリ行ロケーションの1つに アドレスするステップと、 偶数セクタの偶数データバイトを該第1の行部分の第1の偶数セクタ領域に記 憶するステップと、 奇数セクタの偶数データバイトを該第1のアドレスされた行部分の第1の奇数 セクタ領域に記憶するステップと、 該偶数セクタの奇数データバイトを該第2のアドレスされた行部分の第2の偶 数セクタ領域に記憶するステップと、 該奇数セクタの情報の奇数データバイトを該第2のアドレスされた行部分の第 2の奇数セクタ領域に記憶するステップと、 を含むプロセス。 23.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、 前記偶数セクタの情報に対応する偶数セクタエラー訂正情報、および前記奇数 セクタの情報に対応する奇数セクタエラー訂正情報を判定するステップと、 該偶数セクタエラー訂正情報を、前記第2のアドレスされた行部分の第1のエ ラー訂正領域に記憶するステップと、 該奇数セクタエラー訂正情報を、前記第2のアドレスされた行部分の第2のエ ラー訂正領域に記憶するステップと、 を含む請求項22に記載のプロセス。 24.メモリバンクとメモリバスを介して該メモリバンクに結合されたコント ローラとを含む記憶装置であって、該メモリバンクが第1の不揮発性メモリユニ ットおよび第2の不揮発性メモリユニットを含み、該メモリバンクはそれぞれが ユーザデータ部分およびオーバーヘッド部分を含む情報のセクタを記憶するため のブロックを有し、該ブロックの各々はそれに関連する論理ブロックアドレス( LBA)および物理ブロックアドレス(PBA)を有し、アクセスされる1セクタ の情報を識別するために該LBAがホストによって該コントローラに供給され、 該メモリバンク内の未使用ブロックロケーションを識別するために該PBAが該 記憶装置によって展開され、ここで該アクセスされたブロックが記憶されるブロ ックであり、各ブロックは該第1のメモリユニット内に配置された第1の行部分 および該第2のメモリユニット内に配置された対応する第2の行部分を有する少 なくとも1つのメモリ行ロケーションを含み、該コントローラがデータバッファ を含む、記憶装置において、セクタ単位に構成された情報を該メモリバンクに書 き込むプロセスであって、該プロセスは、 該ホストからホスト供給LBA値を受け取るステップであって、該ホスト供給 LBA値の各々が1セクタの情報を識別するものであるステップと、 情報のセクタのブロックを識別するように、現在のホスト供給LBAを修正す るステップと、 該修正LBA値または仮想PBA値によって識別されたマップ行ロケーション を有するマップを供給するステップであって、該マップが、修正LBA値に対応 する仮想PBA値を記憶するためのルックアップテーブルとして使用されるステ ップと、 該ホストによって識別された情報のセクタの番号に等しいセクタカウント値を 設定するステップと、 現在の仮想PBAによって識別された該メモリバンク内の未使用ブロックを調 査するステップと、 該マップ内の該修正された現在のLBAによって識別されたマップ行ロケーシ ョンに、該未使用ブロックに対応する該現在の仮想PBAを記憶するステップと 、 該現在のホスト供給LBAが偶数であるかどうか、および該セクタカウントが 1よりも大きいかどうかを判定するステップとを含み、 該現在の実際のPBA値が偶数であり、かつ、該セクタカウントが1よりも大 きい場合に、 2セクタの情報を同時に書き込むステップであって、1つのセクタが該現在 のホスト供給LBAによって識別され、かつ、第2セクタの情報が該現在のホス ト供給LBA+1によって識別され、該第1セクタが該メモリバンクの該第1の 不揮発性メモリユニットに書き込まれ、該第2セクタが該メモリバンクの第2の 不揮発性メモリユニットに書き込まれる、ステップと、 該セクタカウントを2だけデクリメントするステップと、 該セクタカウントが0に等しいかどうかを判定するステップとを含み、 該セクタカウントが0に等しくない場合に、該現在のホスト供給LBAを2だ け増加させて、書き込まれる予定の次のセクタを指示するステップを含み、 該現在のホスト供給PBA値または該セクタカウントが1よりも大きくない場 合に、 該現在のホスト供給LBAによって識別された現在のセクタの情報の偶数デ ータバイトを該第1の不揮発性メモリユニットに、該現在のセクタの奇数データ バイトを該第2の不揮発性メモリユニットに同時に書き込むステップと、 該セクタカウントを1だけデクリメントするステップと、 該セクタカウントが0に等しいかどうかを判定するステップとを含み、 該セクタカウントが0に等しくない場合に、該現在のホスト供給LBAを1だ け増加して、書き込まれる予定の次のセクタの情報を指示するステップを含む、 プロセス。 25.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、前記2つの現在のセクタを該メモリバンクの前記第1および第2の不揮発性 メモリユニットに同時に書き込む前記ステップが、 書き込みコマンドを該第1および第2のメモリユニットに同時に供給するステ ップと、 前記アドレスされた行ロケーションの対応する第1および第2の行部分に同時 にアドレスすることによって、該メモリバンクの該メモリ行ロケーションの1つ にアドレスするステップと、 偶数セクタの偶数データバイトを、該第1のアドレスされた行部分の第1の偶 数セクタ領域に記憶するステップと、 奇数セクタの偶数データバイトを、該第1のアドレスされた行部分の第1の奇 数セクタ領域に記憶するステップと、 該偶数セクタの奇数データバイトを、該第2のアドレスされた行部分の第1の 偶数セクタ領域に記憶するステップと、 該奇数セクタの情報の奇数データバイ トを、該第2のアドレスされた行部分の第2の奇数セクタ領域に記憶するステッ プと、 を含む請求項24に記載のプロセス。 26.メモリバンクおよびコントローラを含む記憶装置におけるプロセスであっ て、 (LBA−PBAマップの対応する仮想PBA領域のコンテンツを読み出すこ とによって、)現在のブロックの前記アドレスされたセクタロケーションの各々 が、最後の消去以降にアクセスされたかどうかを判定するステップと、 該現在のブロックが最後の消去以降にアクセスされていた場合、該現在のブロ ックに対応する移動フラグを設定するステップとを含み、 書き込み動作の実行に引き続いて、 該移動フラグが設定されたかどうかを判定するステップを含み、 該移動フラグが設定されていた場合に、該書き込まれていないセクタのうち 、該現在のブロックに属さないものを前記未使用ブロック内の対応するセクタロ ケーションに移動することによって、該現在のブロックを更新するステップを含 む、 請求項25に記載のプロセス。
JP54391299A 1998-02-25 1999-02-25 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 Expired - Lifetime JP3792259B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/030,697 1998-02-25
US09/030,697 US6081878A (en) 1997-03-31 1998-02-25 Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
PCT/US1999/004247 WO1999044113A2 (en) 1998-02-25 1999-02-25 Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004199902A Division JP3944496B2 (ja) 1998-02-25 2004-07-06 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能

Publications (2)

Publication Number Publication Date
JP2000510634A true JP2000510634A (ja) 2000-08-15
JP3792259B2 JP3792259B2 (ja) 2006-07-05

Family

ID=21855540

Family Applications (6)

Application Number Title Priority Date Filing Date
JP54391299A Expired - Lifetime JP3792259B2 (ja) 1998-02-25 1999-02-25 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2004199902A Expired - Lifetime JP3944496B2 (ja) 1998-02-25 2004-07-06 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2006026387A Pending JP2006139805A (ja) 1998-02-25 2006-02-02 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2006026386A Pending JP2006139804A (ja) 1998-02-25 2006-02-02 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2010013538A Pending JP2010092506A (ja) 1998-02-25 2010-01-25 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2010140955A Pending JP2010257479A (ja) 1998-02-25 2010-06-21 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能

Family Applications After (5)

Application Number Title Priority Date Filing Date
JP2004199902A Expired - Lifetime JP3944496B2 (ja) 1998-02-25 2004-07-06 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2006026387A Pending JP2006139805A (ja) 1998-02-25 2006-02-02 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2006026386A Pending JP2006139804A (ja) 1998-02-25 2006-02-02 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2010013538A Pending JP2010092506A (ja) 1998-02-25 2010-01-25 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP2010140955A Pending JP2010257479A (ja) 1998-02-25 2010-06-21 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能

Country Status (5)

Country Link
US (4) US6081878A (ja)
EP (2) EP0983550A4 (ja)
JP (6) JP3792259B2 (ja)
AU (1) AU2975099A (ja)
WO (1) WO1999044113A2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004508626A (ja) * 2000-08-25 2004-03-18 レクサー メディア,インク. オーバヘッドデータとユーザデータを個別に格納するフラッシュメモリアーキテクチャ
JP2007018499A (ja) * 2005-06-06 2007-01-25 Sony Corp 記憶装置
US7242632B2 (en) 2002-06-20 2007-07-10 Tokyo Electron Device Limited Memory device, memory managing method and program
WO2008093606A1 (ja) 2007-01-30 2008-08-07 Panasonic Corporation 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
JP2008537828A (ja) * 2005-04-15 2008-09-25 トムソン ライセンシング 少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム
US7549012B2 (en) 2002-02-06 2009-06-16 Sandisk Corporation Memory device with sector pointer structure
US7685356B2 (en) 2006-05-30 2010-03-23 Tdk Corporation Chronological identification in flash memory using cyclic numbers
JP4921174B2 (ja) * 2003-12-31 2012-04-25 シェンジェンシランカカジグフェンヨウシャンゴンシ フラッシュメモリのデータ書込み方法
KR101305490B1 (ko) * 2005-10-01 2013-09-06 삼성전자주식회사 메모리 맵핑 방법 및 장치

Families Citing this family (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10326493A (ja) * 1997-05-23 1998-12-08 Ricoh Co Ltd 複合化フラッシュメモリ装置
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6182162B1 (en) 1998-03-02 2001-01-30 Lexar Media, Inc. Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer
GB2339044B (en) * 1998-03-02 2003-06-04 Lexar Media Inc Flash memory card with enhanced operating mode detection and user-friendly interfacing system
US7047357B1 (en) * 1998-10-01 2006-05-16 Intel Corporation Virtualized striping controller
US6901457B1 (en) 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
US6401161B1 (en) 1999-04-15 2002-06-04 Dell Products, Lp High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US6467015B1 (en) * 1999-04-15 2002-10-15 Dell Products, L.P. High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US6622199B1 (en) * 1999-07-02 2003-09-16 Qualcomm Incorporated Method for minimizing data relocation overhead in flash based file systems
WO2001008014A1 (en) * 1999-07-28 2001-02-01 Sony Corporation Recording system, data recording device, memory device, and data recording method
US8102662B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US7702831B2 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. Flash memory controller for electronic data flash card
US8043099B1 (en) 2004-02-12 2011-10-25 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US7628622B2 (en) * 1999-08-04 2009-12-08 Super Talent Electronics, Inc. Multi-level cell (MLC) slide flash memory
US7690031B2 (en) * 2000-01-06 2010-03-30 Super Talent Electronics, Inc. Managing bad blocks in flash memory for electronic data flash card
US7984303B1 (en) 2000-01-06 2011-07-19 Super Talent Electronics, Inc. Flash memory devices with security features
US8073985B1 (en) 2004-02-12 2011-12-06 Super Talent Electronics, Inc. Backward compatible extended USB plug and receptacle with dual personality
US7744387B2 (en) * 1999-08-04 2010-06-29 Super Talent Electronics, Inc. Multi-level cell (MLC) rotate flash memory device
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US7874067B1 (en) 2000-01-06 2011-01-25 Super Talent Electronics, Inc. Manufacturing method for single chip COB USB devices with optional embedded LED
US7788553B2 (en) * 2000-01-06 2010-08-31 Super Talent Electronics, Inc. Mass production testing of USB flash cards with various flash memory cells
US7440287B1 (en) 2000-01-06 2008-10-21 Super Talent Electronics, Inc. Extended USB PCBA and device with dual personality
US20080082813A1 (en) * 2000-01-06 2008-04-03 Chow David Q Portable usb device that boots a computer as a server with security measure
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US8240034B1 (en) 2000-01-06 2012-08-14 Super Talent Electronics, Inc. High throughput manufacturing method for micro flash memory cards
US6381175B2 (en) * 2000-01-10 2002-04-30 Texas Instruments Incorporated Method and system for validating flash memory
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6467014B1 (en) * 2000-02-29 2002-10-15 Plasmon Lms, Inc. Automatic mapping and efficient address translation for multi-surface, multi-zone storage devices
US6851026B1 (en) * 2000-07-28 2005-02-01 Micron Technology, Inc. Synchronous flash memory with concurrent write and read operation
US6675278B1 (en) * 2000-04-19 2004-01-06 Motorola, Inc. Method and apparatus for managing memory
US6772273B1 (en) 2000-06-29 2004-08-03 Intel Corporation Block-level read while write method and apparatus
US6721843B1 (en) * 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
DE10064356A1 (de) * 2000-12-21 2002-07-11 Claas Selbstfahr Erntemasch Vorrichtung und Verfahren zur Erntegutförderung in landwirtschaftlichen Arbeitsmaschinen
DE10064649A1 (de) * 2000-12-22 2002-07-04 Bosch Gmbh Robert Schnittstelle für einen Speicher und Verfahren zum variablen Konfigurieren einer Speichervorrichtung
TW539950B (en) * 2000-12-28 2003-07-01 Sony Corp Data recording device and data write method for flash memory
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4711531B2 (ja) * 2001-03-23 2011-06-29 ルネサスエレクトロニクス株式会社 半導体記憶装置
US6754765B1 (en) * 2001-05-14 2004-06-22 Integrated Memory Logic, Inc. Flash memory controller with updateable microcode
JP4256600B2 (ja) * 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US6603683B2 (en) * 2001-06-25 2003-08-05 International Business Machines Corporation Decoding scheme for a stacked bank architecture
JP4059473B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP2003067244A (ja) 2001-08-24 2003-03-07 Matsushita Electric Ind Co Ltd 不揮発性記憶装置及びその制御方法
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123417D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123410D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
EP1308964B1 (en) * 2001-10-25 2007-10-03 STMicroelectronics S.r.l. Fast programming method for nonvolatile memories, in particular flash memories, and related memory architecture
US6976143B2 (en) 2001-11-13 2005-12-13 Hewlett-Packard Development Company, L.P. Systems and methods for controlling communication with nonvolatile memory devices
US6721229B1 (en) * 2001-12-19 2004-04-13 Network Equipment Technologies, Inc. Method and apparatus for using SDRAM to read and write data without latency
US7290109B2 (en) * 2002-01-09 2007-10-30 Renesas Technology Corp. Memory system and memory card
TWI240861B (en) 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US6621739B2 (en) 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
DE60332091D1 (de) * 2002-01-31 2010-05-27 Panasonic Corp Informationsverarbeitungsvorrichtung, speicherverwaltungsvorrichtung, speicherverwaltungsverfahren und informationsverarbeitungsverfahren
US20030156207A1 (en) * 2002-02-20 2003-08-21 Creo Il. Ltd Image capture apparatus with backup memory
AU2003211154A1 (en) * 2002-02-22 2003-09-09 Lexar Media, Inc. Removable memory media with integral indicator light
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US6941411B2 (en) * 2002-08-21 2005-09-06 Micron Technology, Inc. Non-contiguous address erasable blocks and command in flash memory
US20040054846A1 (en) * 2002-09-16 2004-03-18 Wen-Tsung Liu Backup device with flash memory drive embedded
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
DE10256502A1 (de) * 2002-12-04 2004-06-24 Hyperstone Ag Speichersystem mit mehreren Speichercontrollern und Verfahren zu deren Synchronisierung
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
TWI220474B (en) * 2003-03-12 2004-08-21 Glovic Electronics Corp Physical page allocation method of flash memory
US6900761B2 (en) * 2003-04-03 2005-05-31 Optistreams, Inc. Automated portable remote robotic transceiver with directional antenna
US6906961B2 (en) 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
US7426596B2 (en) * 2003-07-30 2008-09-16 Hewlett-Packard Development Company, L.P. Integrated circuit with a scalable high-bandwidth architecture
US7343440B2 (en) * 2003-07-30 2008-03-11 Hewlett-Packard Development Company, L.P. Integrated circuit with a scalable high-bandwidth architecture
US7771215B1 (en) 2003-12-02 2010-08-10 Super Talent Electronics, Inc. MLC COB USB flash memory device with sliding plug connector
TW200523946A (en) * 2004-01-13 2005-07-16 Ali Corp Method for accessing a nonvolatile memory
US7815469B1 (en) 2004-02-12 2010-10-19 Super Talent Electronics, Inc. Dual-personality extended USB plugs and receptacles using with PCBA and cable assembly
US8021166B1 (en) 2004-02-12 2011-09-20 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality for embedded application with mother boards
CN100495369C (zh) * 2004-01-20 2009-06-03 特科2000国际有限公司 使用多个存储器设备的便携数据存储设备
US7869219B2 (en) * 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US8014130B1 (en) 2004-02-26 2011-09-06 Super Talent Electronics, Inc. Pen-like universal serial bus (USB) flash drive with deploying and retracting functionalities
KR100608592B1 (ko) * 2004-01-27 2006-08-03 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
EP2506486A1 (en) * 2004-02-23 2012-10-03 Lexar Media, Inc. Secure compact flash
US7806705B2 (en) * 2004-02-26 2010-10-05 Super Talent Electronics, Inc. Slide flash memory devices
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7664902B1 (en) 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
JP2006004079A (ja) 2004-06-16 2006-01-05 Sony Corp 記憶装置
JP2006040497A (ja) * 2004-07-30 2006-02-09 Renesas Technology Corp 半導体記憶装置、不揮発性半導体記憶装置
US7464306B1 (en) * 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US20060069896A1 (en) * 2004-09-27 2006-03-30 Sigmatel, Inc. System and method for storing data
US7660938B1 (en) 2004-10-01 2010-02-09 Super Talent Electronics, Inc. Flash card reader and data exchanger utilizing low power extended USB protocol without polling
US7850082B1 (en) 2004-10-01 2010-12-14 Super Talent Electronics, Inc. Extended universal serial bus (USB) card reader
ITMI20041968A1 (it) * 2004-10-15 2005-01-15 Atmel Corp "metodo e sistema per la gestione dei bit di indirizzo durante le operazioni di programmazione bufferizzata in un dispositivo di memoria"
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7426623B2 (en) * 2005-01-14 2008-09-16 Sandisk Il Ltd System and method for configuring flash memory partitions as super-units
US7757037B2 (en) * 2005-02-16 2010-07-13 Kingston Technology Corporation Configurable flash memory controller and method of use
JP4910426B2 (ja) * 2005-03-03 2012-04-04 パナソニック株式会社 不揮発性記憶装置の書込み方法
US7627712B2 (en) * 2005-03-22 2009-12-01 Sigmatel, Inc. Method and system for managing multi-plane memory devices
US20070079098A1 (en) * 2005-10-03 2007-04-05 Hitachi, Ltd. Automatic allocation of volumes in storage area networks
US7547218B2 (en) * 2005-10-24 2009-06-16 Super Talent Electronics Inc. Plug and cap for a universal-serial-bus (USB) device
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
EP2045722A4 (en) * 2006-07-20 2010-07-21 Nec Corp MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, DATA STORAGE METHOD, AND MEMORY ACCESS CONTROL PROGRAM
KR100825535B1 (ko) * 2006-07-26 2008-04-25 트렉 2000 인터네셔널 엘티디. 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치
US7280398B1 (en) * 2006-08-31 2007-10-09 Micron Technology, Inc. System and memory for sequential multi-plane page memory operations
DE102006045655A1 (de) * 2006-09-27 2008-04-10 Infineon Technologies Ag Speichersteuervorrichtung und Verfahren zur Vergabe von Zugriffsrechten
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US7515500B2 (en) * 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
US7518932B2 (en) * 2006-12-22 2009-04-14 Intel Corporation Erase cycle counting in non-volatile memories
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US20080235438A1 (en) * 2007-03-20 2008-09-25 Sony Corporation And Sony Electronics Inc. System and method for effectively implementing a multiple-channel memory architecture
JP4640366B2 (ja) * 2007-03-23 2011-03-02 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
US20080307156A1 (en) * 2007-06-08 2008-12-11 Sinclair Alan W System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium
US8713283B2 (en) * 2007-06-08 2014-04-29 Sandisk Technologies Inc. Method of interfacing a host operating through a logical address space with a direct file storage medium
US7850468B2 (en) 2007-06-28 2010-12-14 Super Talent Electronics, Inc. Lipstick-type USB device
US7789680B2 (en) * 2007-07-05 2010-09-07 Super Talent Electronics, Inc. USB device with connected cap
US20090190277A1 (en) * 2007-09-28 2009-07-30 Super Talent Electronics, Inc. ESD Protection For USB Memory Devices
US8122322B2 (en) 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
TWI348617B (en) * 2007-08-09 2011-09-11 Skymedi Corp Non-volatile memory system and method for reading data therefrom
US20090055605A1 (en) * 2007-08-20 2009-02-26 Zining Wu Method and system for object-oriented data storage
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US7768838B2 (en) * 2007-10-30 2010-08-03 Micron Technology, Inc. Operating memory cells
US8241047B2 (en) * 2007-10-30 2012-08-14 Super Talent Electronics, Inc. Flash drive with spring-loaded swivel connector
TWI368225B (en) * 2007-11-29 2012-07-11 Ind Tech Res Inst Recoding medium structure capable of displaying defect rate
US8116083B2 (en) * 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
WO2009072102A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
US8316277B2 (en) * 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US7817097B2 (en) * 2008-04-07 2010-10-19 Toyota Motor Engineering & Manufacturing North America, Inc. Microwave antenna and method for making same
US7971023B2 (en) * 2008-04-30 2011-06-28 Sandisk Corporation Guaranteed memory card performance to end-of-life
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
KR20100115583A (ko) * 2009-04-20 2010-10-28 삼성전자주식회사 데이터 저장 시스템
US8566510B2 (en) * 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
KR101143397B1 (ko) 2009-07-29 2012-05-23 에스케이하이닉스 주식회사 페이지 복사 발생 빈도를 줄이는 반도체 스토리지 시스템 및 그 제어 방법
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8452914B2 (en) * 2010-11-26 2013-05-28 Htc Corporation Electronic devices with improved flash memory compatibility and methods corresponding thereto
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US20130080731A1 (en) * 2011-09-28 2013-03-28 Ping-Yi Hsu Method and apparatus for performing memory management
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US20140189201A1 (en) * 2012-12-31 2014-07-03 Krishnamurthy Dhakshinamurthy Flash Memory Interface Using Split Bus Configuration
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9933980B2 (en) * 2014-02-24 2018-04-03 Toshiba Memory Corporation NAND raid controller for connection between an SSD controller and multiple non-volatile storage units
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US10002043B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10002044B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9916091B2 (en) 2015-07-13 2018-03-13 Samsung Electronics Co., Ltd. Memory system architecture
TWI611408B (zh) * 2015-11-25 2018-01-11 旺宏電子股份有限公司 記憶體裝置的抹除方法
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10141065B1 (en) * 2017-08-29 2018-11-27 Cypress Semiconductor Corporation Row redundancy with distributed sectors

Family Cites Families (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3633175A (en) 1969-05-15 1972-01-04 Honeywell Inc Defect-tolerant digital memory system
US4006457A (en) 1975-02-18 1977-02-01 Motorola, Inc. Logic circuitry for selection of dedicated registers
US4013902A (en) 1975-08-06 1977-03-22 Honeywell Inc. Initial reset signal generator and low voltage detector
US4250570B1 (en) 1976-07-15 1996-01-02 Intel Corp Redundant memory circuit
US4354253A (en) 1976-12-17 1982-10-12 Texas Instruments Incorporated Bubble redundancy map storage using non-volatile semiconductor memory
GB2020437B (en) 1978-04-14 1982-08-04 Seiko Instr & Electronics Voltage detecting circuit
US4210959A (en) 1978-05-10 1980-07-01 Apple Computer, Inc. Controller for magnetic disc, recorder, or the like
FR2426938A1 (fr) * 1978-05-26 1979-12-21 Cii Honeywell Bull Dispositif de detection de secteurs defectueux et d'allocation de secteurs de remplacement dans une memoire a disques
DE2828855C2 (de) 1978-06-30 1982-11-18 Siemens AG, 1000 Berlin und 8000 München Wortweise elektrisch umprogrammierbarer, nichtflüchtiger Speicher sowie Verfahren zum Löschen bzw. Einschreiben eines bzw. in einen solchen Speicher(s)
US4295205A (en) 1978-10-16 1981-10-13 Kunstadt George H Solid state mass memory system compatible with rotating disc memory equipment
US4281398A (en) 1980-02-12 1981-07-28 Mostek Corporation Block redundancy for memory array
IN155448B (ja) 1980-03-19 1985-02-02 Int Computers Ltd
DE3032630C2 (de) 1980-08-29 1983-12-22 Siemens AG, 1000 Berlin und 8000 München Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb
US4355376A (en) 1980-09-30 1982-10-19 Burroughs Corporation Apparatus and method for utilizing partially defective memory devices
JPS5760409A (en) 1980-09-30 1982-04-12 Fanuc Ltd Loading system of numerical control device
JPS5764383A (en) * 1980-10-03 1982-04-19 Toshiba Corp Address converting method and its device
US4380066A (en) 1980-12-04 1983-04-12 Burroughs Corporation Defect tolerant memory
JPS57130298A (en) 1981-02-06 1982-08-12 Hitachi Ltd Semiconductor integrated circuit memory and relieving method for its fault
JPS57132256A (en) * 1981-02-09 1982-08-16 Sony Corp Memory device
US4353376A (en) 1981-03-12 1982-10-12 Schuler Murry W Combine having separating and cleaning apparatus
US4422161A (en) 1981-10-08 1983-12-20 Rca Corporation Memory array with redundant elements
JPS5877034A (ja) * 1981-10-30 1983-05-10 Hitachi Ltd 記録方法
US4450559A (en) * 1981-12-24 1984-05-22 International Business Machines Corporation Memory system with selective assignment of spare locations
US4493075A (en) 1982-05-17 1985-01-08 National Semiconductor Corporation Self repairing bulk memory
JPS58215795A (ja) * 1982-06-08 1983-12-15 Toshiba Corp 不揮発性メモリ装置
JPS58215794A (ja) * 1982-06-08 1983-12-15 Toshiba Corp 不揮発性メモリ装置
US4479214A (en) 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US4498146A (en) * 1982-07-30 1985-02-05 At&T Bell Laboratories Management of defects in storage media
JPS5945695A (ja) * 1982-09-07 1984-03-14 Fujitsu Ltd Icメモリ
JPS5949022A (ja) 1982-09-13 1984-03-21 Toshiba Corp 多値論理回路
GB2129585B (en) 1982-10-29 1986-03-05 Inmos Ltd Memory system including a faulty rom array
US4710871A (en) * 1982-11-01 1987-12-01 Ncr Corporation Data transmitting and receiving apparatus
US4527251A (en) 1982-12-17 1985-07-02 Honeywell Information Systems Inc. Remap method and apparatus for a memory system which uses partially good memory devices
AU557723B2 (en) * 1982-12-17 1987-01-08 Blue Circle Southern Cement Ltd. Electronic memory system
US4617627A (en) 1983-01-17 1986-10-14 Hitachi, Ltd. Method for automatic operation of a vehicle
US4672240A (en) 1983-02-07 1987-06-09 Westinghouse Electric Corp. Programmable redundancy circuit
JPS59162695A (ja) * 1983-03-07 1984-09-13 Nec Corp 記憶装置
US4612640A (en) 1984-02-21 1986-09-16 Seeq Technology, Inc. Error checking and correction circuitry for use with an electrically-programmable and electrically-erasable memory array
US4617651A (en) 1984-02-22 1986-10-14 Seeq Technology, Inc. Redundancy circuit for use in a semiconductor memory array
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
US4642759A (en) 1984-04-02 1987-02-10 Targa Electronics Systems Inc. Bubble memory disk emulation system
JPS60212900A (ja) * 1984-04-09 1985-10-25 Nec Corp 半導体固定記憶装置
US4617624A (en) 1984-04-16 1986-10-14 Goodman James B Multiple configuration memory circuit
US4727475A (en) 1984-05-18 1988-02-23 Frederick Kiremidjian Self-configuring modular computer system with automatic address initialization
JPS6150293A (ja) 1984-08-17 1986-03-12 Fujitsu Ltd 半導体記憶装置
JPS6196598A (ja) 1984-10-17 1986-05-15 Fuji Electric Co Ltd 電気的消去可能なp−romのカウントデ−タ記憶方法
US4796233A (en) 1984-10-19 1989-01-03 Fujitsu Limited Bipolar-transistor type semiconductor memory device having redundancy configuration
US4654847A (en) * 1984-12-28 1987-03-31 International Business Machines Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array
JPS61208673A (ja) * 1985-03-12 1986-09-17 Matsushita Electric Ind Co Ltd 情報記録再生装置
US4744062A (en) * 1985-04-23 1988-05-10 Hitachi, Ltd. Semiconductor integrated circuit with nonvolatile memory
EP0198935A1 (de) 1985-04-23 1986-10-29 Deutsche ITT Industries GmbH Elektrisch umprogrammierbarer Halbleiterspeicher mit Redundanz
JPS62102482A (ja) * 1985-10-28 1987-05-12 Matsushita Electric Ind Co Ltd 情報記録再生装置
JP2664137B2 (ja) * 1985-10-29 1997-10-15 凸版印刷株式会社 Icカード
US4800520A (en) * 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
US4924331A (en) * 1985-11-20 1990-05-08 Seagate Technology, Inc. Method for mapping around defective sectors in a disc drive
US4746998A (en) * 1985-11-20 1988-05-24 Seagate Technology, Inc. Method for mapping around defective sectors in a disc drive
FR2591008B1 (fr) 1985-11-30 1991-05-17 Toshiba Kk Dispositif electronique portatif
US4718041A (en) 1986-01-09 1988-01-05 Texas Instruments Incorporated EEPROM memory having extended life
US4757474A (en) * 1986-01-28 1988-07-12 Fujitsu Limited Semiconductor memory device having redundancy circuit portion
KR950008676B1 (ko) 1986-04-23 1995-08-04 가부시기가이샤 히다찌세이사꾸쇼 반도체 메모리 장치 및 그의 결함 구제 방법
KR890001847B1 (ko) 1986-05-07 1989-05-25 삼성전자 주식회사 반도체 메모리 장치의 리던던시 회로
JP2685173B2 (ja) * 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
US4740882A (en) 1986-06-27 1988-04-26 Environmental Computer Systems, Inc. Slave processor for controlling environments
US4953122A (en) * 1986-10-31 1990-08-28 Laserdrive Ltd. Pseudo-erasable and rewritable write-once optical disk memory system
JPS63183700A (ja) 1987-01-26 1988-07-29 Mitsubishi Electric Corp Eepromアクセス方法
US4785425A (en) 1987-02-27 1988-11-15 Emhart Industries, Inc. Electronic locking system
US4949240A (en) 1987-03-13 1990-08-14 Kabushiki Kaisha Toshiba Data storage system having circuitry for dividing received data into sequential wards each stored in storage region identified by chain data
GB2205667B (en) 1987-06-12 1991-11-06 Ncr Co Method of controlling the operation of security modules
US4814903A (en) 1987-06-29 1989-03-21 International Business Machines Corporation Alternate storage areas in magnetooptical media
JPS6454543A (en) 1987-08-25 1989-03-02 Mitsubishi Electric Corp Information processor
JPS6472228A (en) 1987-09-14 1989-03-17 Hitachi Maxell Semiconductor file storage device
JPH0778997B2 (ja) 1987-10-30 1995-08-23 株式会社東芝 不揮発性半導体メモリ
US5053990A (en) 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US4949309A (en) 1988-05-11 1990-08-14 Catalyst Semiconductor, Inc. EEPROM utilizing single transistor per cell capable of both byte erase and flash erase
US5268318A (en) 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5168465A (en) 1988-06-08 1992-12-01 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5293560A (en) 1988-06-08 1994-03-08 Eliyahou Harari Multi-state flash EEPROM system using incremental programing and erasing methods
US5268319A (en) 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5198380A (en) 1988-06-08 1993-03-30 Sundisk Corporation Method of highly compact EPROM and flash EEPROM devices
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US4914529A (en) * 1988-07-18 1990-04-03 Western Digital Corp. Data disk defect handling using relocation ID fields
US5070474A (en) * 1988-07-26 1991-12-03 Disk Emulation Systems, Inc. Disk emulation system
JP2685825B2 (ja) 1988-08-12 1997-12-03 株式会社東芝 不揮発性半導体メモリ
JPH0283892A (ja) 1988-09-20 1990-03-23 Fujitsu Ltd 半導体記憶装置
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5163021A (en) 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5535328A (en) 1989-04-13 1996-07-09 Sandisk Corporation Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells
EP1031992B1 (en) 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US5226168A (en) * 1989-04-25 1993-07-06 Seiko Epson Corporation Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
US5003591A (en) 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
FR2647941B1 (fr) 1989-06-06 1991-08-30 Gemplus Card Int Procede d'effacement de points memoire, dispositif destine a sa mise en oeuvre, et son utilisation dans un dispositif a memoire non alimente
CA2010122A1 (en) 1989-06-21 1990-12-21 Makoto Sakamoto Integrated circuit including programmable circuit
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5134589A (en) 1989-10-30 1992-07-28 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having a flash write function
US5283762A (en) 1990-05-09 1994-02-01 Mitsubishi Denki Kabushiki Kaisha Semiconductor device containing voltage converting circuit and operating method thereof
US5303198A (en) * 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
EP0489204B1 (en) * 1990-12-04 1995-08-16 Hewlett-Packard Limited Reprogrammable data storage device
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5283882A (en) 1991-02-22 1994-02-01 Unisys Corporation Data caching and address translation system with rapid turnover cycle
US5270979A (en) * 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5396468A (en) 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for EEPROM system
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
JPH04332999A (ja) 1991-05-07 1992-11-19 Hitachi Koki Co Ltd メモリの使用方法
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
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
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
US5268928A (en) 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
JP2716906B2 (ja) 1992-03-27 1998-02-18 株式会社東芝 不揮発性半導体記憶装置
US5375222A (en) * 1992-03-31 1994-12-20 Intel Corporation Flash memory card with a ready/busy mask register
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5592415A (en) 1992-07-06 1997-01-07 Hitachi, Ltd. Non-volatile semiconductor memory
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
US5341330A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5337275A (en) * 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5357475A (en) * 1992-10-30 1994-10-18 Intel Corporation Method for detaching sectors in a flash EEPROM memory array
US5479633A (en) 1992-10-30 1995-12-26 Intel Corporation Method of controlling clean-up of a solid state memory disk storing floating sector data
US5343086A (en) 1992-11-06 1994-08-30 Intel Corporation Automatic voltage detector control circuitry
US5280198A (en) 1992-11-06 1994-01-18 Intel Corporation Power supply level detector
JP3101107B2 (ja) 1992-12-24 2000-10-23 三菱電機株式会社 偏向ヨーク
JPH06236686A (ja) 1993-01-22 1994-08-23 Nec Corp 半導体装置
US5740349A (en) * 1993-02-19 1998-04-14 Intel Corporation Method and apparatus for reliably storing defect information in flash disk memories
US5586285A (en) 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
US5581723A (en) 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH06266596A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
JP3078946B2 (ja) * 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5479638A (en) * 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5329491A (en) 1993-06-30 1994-07-12 Intel Corporation Nonvolatile memory card with automatic power supply configuration
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5422842A (en) 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
US5566314A (en) 1993-08-30 1996-10-15 Lucent Technologies Inc. Flash memory device employing unused cell arrays to update files
US5446408A (en) 1993-09-10 1995-08-29 Intel Corporation Method and apparatus for providing selectable sources of voltage
US5363335A (en) 1993-09-28 1994-11-08 Intel Corporation Nonvolatile memory with automatic power supply configuration
JPH07261883A (ja) 1994-02-07 1995-10-13 Mitsubishi Electric Corp 電源制御用半導体集積回路装置
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5809558A (en) 1994-09-29 1998-09-15 Intel Corporation Method and data storage system for storing data in blocks without file reallocation before erasure
US5508971A (en) 1994-10-17 1996-04-16 Sandisk Corporation Programmable power generation circuit for flash EEPROM memory systems
US5495453A (en) 1994-10-19 1996-02-27 Intel Corporation Low power voltage detector circuit including a flash memory cell
DE69520665T2 (de) * 1995-05-05 2001-08-30 St Microelectronics Srl Anordnung von nichtflüchtigen EEPROM,insbesondere Flash-EEPROM
JP3782840B2 (ja) * 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
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
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5822245A (en) 1997-03-26 1998-10-13 Atmel Corporation Dual buffer flash memory architecture with multiple operating modes

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004508626A (ja) * 2000-08-25 2004-03-18 レクサー メディア,インク. オーバヘッドデータとユーザデータを個別に格納するフラッシュメモリアーキテクチャ
JP4782360B2 (ja) * 2000-08-25 2011-09-28 レクサー メディア,インク. オーバヘッドデータとユーザデータを独立して個別に格納するフラッシュメモリアーキテクチャ
US7549012B2 (en) 2002-02-06 2009-06-16 Sandisk Corporation Memory device with sector pointer structure
US7242632B2 (en) 2002-06-20 2007-07-10 Tokyo Electron Device Limited Memory device, memory managing method and program
JP4921174B2 (ja) * 2003-12-31 2012-04-25 シェンジェンシランカカジグフェンヨウシャンゴンシ フラッシュメモリのデータ書込み方法
US8301825B2 (en) 2005-04-15 2012-10-30 Thomson Licensing Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
JP2008537828A (ja) * 2005-04-15 2008-09-25 トムソン ライセンシング 少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム
JP2007018499A (ja) * 2005-06-06 2007-01-25 Sony Corp 記憶装置
US8285916B2 (en) 2005-06-06 2012-10-09 Sony Corporation Storage device
KR101305490B1 (ko) * 2005-10-01 2013-09-06 삼성전자주식회사 메모리 맵핑 방법 및 장치
US7685356B2 (en) 2006-05-30 2010-03-23 Tdk Corporation Chronological identification in flash memory using cyclic numbers
WO2008093606A1 (ja) 2007-01-30 2008-08-07 Panasonic Corporation 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
US8209504B2 (en) 2007-01-30 2012-06-26 Panasonic Corporation Nonvolatile memory device, nonvolatile memory system, and access device having a variable read and write access rate

Also Published As

Publication number Publication date
EP0983550A2 (en) 2000-03-08
AU2975099A (en) 1999-09-15
JP3792259B2 (ja) 2006-07-05
US6081878A (en) 2000-06-27
JP2010257479A (ja) 2010-11-11
US6202138B1 (en) 2001-03-13
EP2306321B1 (en) 2018-08-08
JP2010092506A (ja) 2010-04-22
WO1999044113A3 (en) 1999-10-07
JP3944496B2 (ja) 2007-07-11
JP2006139804A (ja) 2006-06-01
WO1999044113A2 (en) 1999-09-02
WO1999044113A9 (en) 1999-11-11
US6397314B1 (en) 2002-05-28
EP2306321A1 (en) 2011-04-06
JP2004342126A (ja) 2004-12-02
US6172906B1 (en) 2001-01-09
JP2006139805A (ja) 2006-06-01
EP0983550A4 (en) 2005-09-21

Similar Documents

Publication Publication Date Title
JP2000510634A (ja) 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
US7424593B2 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6757800B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US6034897A (en) Space management for managing high capacity nonvolatile memory
US6262918B1 (en) Space management for managing high capacity nonvolatile memory
JP4695801B2 (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
US20010023472A1 (en) Data storage control method and apparatus for external storage device using a plurality of flash memories
US20050055497A1 (en) Faster write operations to nonvolatile memory by manipulation of frequently-accessed sectors
KR100914646B1 (ko) 멀티-플레인 구조의 플래시 메모리 관리 방법

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051101

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060405

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140414

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term