JP2009516889A - レガシーホストのための方法およびメモリシステム - Google Patents

レガシーホストのための方法およびメモリシステム Download PDF

Info

Publication number
JP2009516889A
JP2009516889A JP2008542499A JP2008542499A JP2009516889A JP 2009516889 A JP2009516889 A JP 2009516889A JP 2008542499 A JP2008542499 A JP 2008542499A JP 2008542499 A JP2008542499 A JP 2008542499A JP 2009516889 A JP2009516889 A JP 2009516889A
Authority
JP
Japan
Prior art keywords
memory
legacy
memory device
host
ecc
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
JP2008542499A
Other languages
English (en)
Other versions
JP5192388B2 (ja
Inventor
シー. グッターマン,ダニエル
シダー,ヨーラム
シュレーター,チャールズ
ローレンコ バッロカス,ミルトン
ゴンザレス,カルロス
エム. コンレー,ケビン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/285,992 external-priority patent/US7747927B2/en
Priority claimed from US11/286,100 external-priority patent/US7739472B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009516889A publication Critical patent/JP2009516889A/ja
Application granted granted Critical
Publication of JP5192388B2 publication Critical patent/JP5192388B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Abstract

不揮発性メモリデバイスはコントローラを備え、メモリ動作を制御しかつレガシーメモリデバイスのメモリおよび通信特性を模倣する方法を含む。かくして、メモリデバイスは、レガシーメモリデバイスとともに動作するように本来設計されたホストに適合する。とりわけコントローラは、マルチビットメモリ、誤り訂正要求、メモリの上書き支援状況、消去可能なブロックサイズ等の差異を考慮に入れながらホストに対し模倣を遂行する。

Description

本発明は、一般的に不揮発性半導体メモリに関し、具体的には2状態の小ブロックサイズメモリと協働するように本来設計されたレガシーホストに対し後方互換性を持つ不揮発性半導体メモリに関する。
不揮発性電荷蓄積が可能な固体メモリは、特に小形形状のファクタカードとしてパッケージ化されたEEPROMとフラッシュEEPROMの形状をとり、最近では情報家電や家庭用電子製品を中心に様々なモバイル/ハンドヘルドデバイスの記憶装置として好まれるようになった。同じく固体メモリであるRAM(ランダムアクセスメモリ)と違って、フラッシュメモリは不揮発性であり、電源を切った後でもその格納データを保持する。また、フラッシュメモリは、ROM(読み出し専用メモリ)と違って、ディスク記憶デバイスのように書き換え可能である。磁気ディスクドライブに比べてコストが高いにもかかわらず、大容量記憶の用途におけるフラッシュメモリの使用は拡大しつつある。ハードドライブやフロッピーディスク等、回転磁気媒体に基づく従来の大容量記憶は、モバイル/ハンドヘルド環境に不向きである。なぜならば、ディスクドライブはかさばり、機械的故障が起きやすく、長い待ち時間と電力要求が大きいからである。このような望ましくない特性を持つディスク方式の記憶装置は、ほとんどのモバイル/ポータブル用途において実用的でない。一方、フラッシュメモリは、埋め込み形でも着脱可能なカードの形状をとるものでも、その小さなサイズ、低い消費電力、高速、高信頼性の特性ゆえにモバイル/ハンドヘルド環境に最適である。
フラッシュEEPROMは、消去が可能でそのメモリセルに新しいデータを書き込める、すなわち「プログラム」できる、不揮発性メモリであるという点がEEPROM(電気的に消去可能でプログラム可能な読み出し専用メモリ)に類似する。いずれも通常は、半導体基板のチャネル領域上、ソース領域とドレイン領域との間に配置された電界効果トランジスタ構造によるフローティング(分離)導電性ゲートを利用する。フローティングゲートの上にはコントロールゲートを設ける。トランジスタのしきい値電圧特性は、フローティングゲート上に保持される電荷の量によって制御される。つまり、フローティングゲート上の一定レベルの電荷に応じてコントロールゲートに印加すべき対応する電圧(しきい値)があり、これが印加されることによりトランジスタは「オン」に切り替わり、そのソース領域とドレイン領域との導通が可能となる。特にフラッシュEEPROM等のフラッシュメモリでは、メモリセルからなるブロック全体を同時に消去できる。
フローティングゲートは幅広い電荷を保持でき、それによりしきい値電圧ウィンドウの中の任意のしきい値電圧レベルまでプログラムできる。しきい値電圧ウィンドウのサイズはデバイスの最小しきい値レベルと最大しきい値レベルによって決まり、これはフローティングゲートにプログラムできる電荷の範囲に一致する。しきい値ウィンドウは普通、メモリデバイスの特性と、動作条件と、履歴とに依存する。原則として、ウィンドウの中の各固有の分解可能なしきい値電圧レベル範囲が一定のメモリセル状態を指定するために用いられる。
メモリセルとして働くトランジスタは通常、2通りの手段の一方によって「プログラム済み」状態までプログラムされる。「ホットエレクトロン注入法」では、ドレインに印加される高電圧によって基板チャネル領域上の電子が加速する。同時に、コントロールゲートに印加される高電圧は、薄いゲート誘電体を通じてフローティングゲートまでホットエレクトロンを引き寄せる。「トンネル注入法」では、基板を基準としてコントロールゲートに高電圧を印加する。かくして、電子は基板から介在するフローティングゲートまで引き寄せられる。これまで、メモリ状態を変えるためメモリセルの最初に消去済みの電荷蓄積単位に電子を注入することによってメモリに書き込むことを表す用語として「プログラム」が歴史的に使われてきたが、現在は「書き込み」や「記録」等、より一般的な用語が代わりに使われるようになっている。
メモリデバイスの消去にはいくつか手段がある。EEPROMの場合、コントロールゲートを基準として基板に高電圧を印加し、フローティングゲートの電子を薄い酸化物を通じて基板チャネル領域まで誘導することによってメモリセルを電気的に消去できる(すなわち、ファウラ・ノルドハイム・トンネル)。EEPROMは通常、バイト毎に消去可能である。フラッシュEEPROMの場合、メモリは一度に全部または一度に1つ以上の最小の消去可能なブロックを電気的に消去でき、最小の消去可能なブロックは1つ以上のセクタからなり、各セクタは512バイト以上のデータを格納する。
メモリデバイスは通常、カード上に装着される1つ以上のメモリチップを備える。各メモリチップは、復号器や消去回路、書き込み回路、および読み出し回路等の周辺回路によって支援されるメモリセルアレイを備える。より精緻なメモリデバイスには、知的で高度なメモリ操作とインターフェイスを遂行するコントローラも付属する。
現在、商業的に成功を収めた不揮発性の固体メモリデバイスが数多く使われている。これらのメモリデバイスはフラッシュEEPROMであったり、タイプの異なる不揮発性メモリセルを採用するものであったりしてもよい。米国特許第5,070,032号(特許文献1)、第5,095,344号(特許文献2)、第5,315,541号(特許文献3)、第5,343,063号(特許文献4)、および第5,661,053号(特許文献5)、第5,313,421号(特許文献6)、並びに第6,222,762号(特許文献7)には、フラッシュメモリの例とこれを製造するシステムおよび方法の例が記載されている。特に、米国特許第5,570,315号(特許文献8)、第5,903,495号(特許文献9)、第6,046,935号(特許文献10)には、NANDストリング構造を持つフラッシュメモリデバイスが説明されている。また、不揮発性メモリデバイスは、電荷蓄積のための誘電体層を備えるメモリセルから製造される。前述した導電性フローティングゲート素子の代わりに誘電体層が使われる。誘電体蓄積素子を利用するそのようなメモリデバイスは、Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell", IEEE Electron Device Letters, vol.21, no.11, November 2000, pp. 543-545(非特許文献1)によって説明されている。ONO誘電体層は、ソースおよびドレイン拡散間のチャネルにわたって延在する。1データビットの電荷はドレインに隣接する誘電体層に局在化し、他のデータビットの電荷はソースに隣接する誘電体層に局在化する。例えば、米国特許第5,768,192号(特許文献11)および第6,011,725号(特許文献12)には、2つの二酸化シリコン層にトラッピング誘電体を挟んだ不揮発性メモリセルが開示されている。多状態データ記憶は、誘電体の中で空間的に分離した電荷蓄積領域のバイナリ状態を別々に読み出すことによって実装される。
先行世代のフラッシュメモリの特徴として、メモリ集積度は低く、各メモリ素子(例えば、セル)は1ビットのデータを格納し、そのアーキテクチャにおける消去ブロックのサイズは小さい。これらのレガシーメモリデバイスには、比較的単純なメモリ管理とデータ操作が求められる。着脱可能メモリカードとして実施されたこれらのレガシーメモリデバイスは通常、単純なメモリコントローラによって制御される。コストを節約するため、この単純なメモリコントローラは通常、ある特定のレガシーメモリデバイスとともに動作するように設計されたレガシーホストシステム上のソフトウェアドライバとして実装される。レガシーホストシステムとその着脱可能なメモリデバイスとの間のインターフェイスは単純なメモリコントローラが求めるのと同様に、初歩的である。
フラッシュメモリのメモリ容量と性能は世代ごとに向上している。メモリ容量の拡大は、半導体技術における大規模集積の向上と、各メモリ素子に2ビット以上のデータを格納する多状態メモリの実装によって可能となる。
読み出しおよびプログラミング性能を高めるには、アレイ内の複数の電荷蓄積素子またはメモリトランジスタを並行して読み出すか、またはプログラムする。こうして、メモリ素子の「ページ」はともに読み出されるか、またはプログラムされる。既存のメモリアーキテクチャでは通常、1行が数個の交互ページを収容し、あるいは1行で1ページを構成する。1ページのメモリ素子は全部まとめて読み出されるか、またはプログラムされる。
フラッシュメモリシステムの消去操作には読み出しおよびプログラミング操作とは桁違いの時間がかかることがある。そこで、かなりのサイズの消去ブロックを有しているのが望ましい。かくして、消去時間は大きなメモリセル集団にわたって償却される。
フラッシュメモリの性質上、データは通常、消去済みのメモリ位置に書き込まなければならない。ホストからのある特定の論理アドレスのデータを更新する場合、更新データを同じ物理メモリ位置で書き換える方法がある。つまり、論理アドレスから物理アドレスへのマッピングに変化はない。しかし、これは、その物理位置を含む消去ブロック全体を先に消去し、その後で更新済みデータを再度書き換えなければならないことを意味する。この更新方法は消去ブロック全体の消去と再書き込みを要するために非効率的であり、更新されるデータが消去ブロックのごく僅かな部分しか占めない場合はなおさらである。また、これは、メモリブロックのより頻繁な消去リサイクルを招くが、これはこの種のメモリデバイスの限られた耐久性の観点から望ましくない。
このように、読み出しと、プログラミングと、消去の粒度はメモリ技術の世代によって異なることがある。同様に、2状態から多状態に進歩したメモリには異なる読み出しおよびプログラミング手法が求められるほか、より精緻な誤り訂正方式が求められる。概して、後続世代のメモリは先行世代のメモリとともに動作するように設計されたレガシーホストに適合しないと言える。
他方、先行世代のメモリデバイスと協動するように設計された電子・計算装置は既に数多く存在する。これらのレガシーホストは通常、メモリセルアレイと単純なメモリインターフェイスを内蔵する着脱可能メモリカードと協働する。そのメモリセルはサイズが比較的小さい消去可能なブロックに編制され、各セルは僅か1ビットのデータを格納する。これらのレガシーメモリデバイスには、より新しい世代のものと違って、独自のインテリジェントメモリコントローラは付属していない。そこで、求められる僅かなメモリブロック管理はホスト側のホストプロセッサによって遂行される。このため、これらのレガシーホストは専ら特定世代のメモリデバイスと協動するように設計され、そのインターフェイスは所与のメモリシステムのハードウェア特性に合わせてカスタマイズされている。
メモリアーキテクチャ、コントロール、操作の差異にもかかわらず、最新のメモリ技術を用いて、これらのレガシーホストのためのメモリデバイスを製造し、それによって高集積、大容量および低コストの利点を得ることが望ましい。
米国特許第5,070,032号 米国特許第5,095,344号 米国特許第5,315,541号 米国特許第5,343,063号 米国特許第5,661,053号 米国特許第5,313,421号 米国特許第6,222,762号 米国特許第5,570,315号 米国特許第5,903,495号 米国特許第6,046,935号 米国特許第5,768,192号 米国特許第6,011,725号 米国公開特許出願第2005−0144360号 Eitan et al., "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell", IEEE Electron Device Letters, vol.21, no.11, November 2000, pp. 543-545
第1のセットのメモリおよび通信特性を有する不揮発性メモリデバイスにコントローラを設け、コントローラの機能は、第2のセットのメモリおよび通信特性を有するレガシーメモリデバイスを模倣するインターフェイスおよび方法を提供することを含む。かくして、メモリデバイスは、レガシーメモリデバイスと協動するように本来設計されたレガシーホストに適合する。インターフェイスは、第1および第2のセットのメモリおよび通信特性間に存在する少なくとも1つの差異を解決し、少なくとも1つの差異は、基本的には誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択される。
本発明の一態様によると、非レガシーメモリデバイスは、非レガシーメモリデバイスの誤り訂正とは異なるレガシーメモリデバイスの誤り訂正を処理するように本来設計されたレガシーホストとともに動作するように適応する。これは、非レガシーメモリデバイスに適したECC(誤り訂正符号)を処理し、次にレガシーECCを計算して、ホストに提示するためのメモリコントローラを非レガシーメモリデバイスとともに提供することにより達成される。かくして、ホストに変更を施さずとも非レガシーメモリデバイスの誤り訂正は処理される。
本発明のもうひとつの態様によると、レガシーホストがセクタのヘッダで更新することを期待するステータス情報は、非レガシーメモリデバイスのコントローラによって格納されるテーブルの中で保守され、更新される。かくして、非レガシーメモリデバイスが書き込み済みバイトまたはセクタの部分上書きを支援しない場合でも、レガシーホストとの適合性は保たれる。
本発明のさらなる特徴と利点は、その好適な実施形態の以降の説明を添付の図面と併せて解釈することにより理解される。
レガシーホスト
図1は、レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを概略的に示す。レガシーホスト10はコネクタ20を有し、このコネクタがレガシーメモリデバイス30の相補形コネクタ20’と嵌合すると、レガシーホスト10からレガシーメモリデバイス30にかけて1セットのデータおよび制御線21がつながる。
レガシーメモリデバイス30は、ホスト内の埋め込みシステムの一部であってよく、あるいはメモリカード等の外部で着脱可能な記憶デバイスの形状をとる。これはメモリアレイ32と、レガシーホストによってこれを動作させるためのインターフェイス34とを含む。メモリセルアレイは消去可能なブロックの形に編制され、各ブロック内の全メモリセルは1つの単位として消去できる。レガシーメモリデバイスの場合、消去可能なブロックのサイズは通常、DOSセクタに一致する512MB等、比較的小さい。また、メモリセルは、通常は1セル当たり1ビットのデータを格納できる。レガシーメモリデバイスのメモリアーキテクチャと動作条件は、後続世代のメモリに比べて比較的単純である。その結果、レガシーメモリデバイスの場合は通常、その動作の制御にあたって単純なメモリコントローラしか要求されない。レガシーメモリデバイスのコストを抑えるため、単純なメモリコントローラは、ホスト側制御部とメモリ側制御部とに分かれる。インテリジェンスの多くはホスト側に置かれ、メモリ側制御部は最低限の機能を遂行する。したがって、メモリインターフェイス34はメモリ側制御部として働き、通常は必要な動作電圧を提供し、場合によっては単純な連続論理機能を遂行する状態マシンを提供する。
レガシーホスト10は、レガシーメモリデバイス30に専用のホスト側制御部12を内蔵するので、メモリデバイス30等の特定のレガシーメモリデバイスと協動するように設計されている。前述したように、レガシーメモリデバイス30では、それよりも新しい世代のものと違って、メモリブロック管理のほとんどがより知的なホスト側制御部によって処理される。経済的見地から、インテリジェンスはホストプロセッサから提供され、メモリコントローラ機能は通常、ホストにある1セットのソフトウェアドライバによって実装される。
したがって、レガシーホスト10は専ら特定世代のメモリデバイスと協動するように設計され、そのインターフェイスは所与のメモリデバイスのハードウェア特性に合わせてカスタマイズされているとみなすことができる。通常、これらのレガシーメモリデバイスは集積回路チップの形状をとり、そのインターフェイスは単にチップのピン配列仕様によって決まる。逆に、レガシーホスト10は概して後続世代のメモリデバイスと協働せず、したがってこれらの非レガシーメモリデバイスから提供される低コストと大容量を活かすことはできない。
非レガシーメモリデバイス
また、図1は、本発明の好適な実施形態に従い、レガシーホストとともに動作するように適応する非レガシーメモリデバイスを示す。非レガシーメモリデバイス100はメモリアレイ110を含み、このメモリアレイは通常、単位記憶当たりの低コストと大容量を提供する後続世代のメモリ技術によって製造される。好適な実施形態において、多状態メモリセルからメモリアレイ110が構成され、そのメモリセルは1ビットより多くのデータを個別に格納する。
メモリデバイス100は通常、レガシーメモリデバイス30とは異なるメモリアーキテクチャおよび特性を有する。しかし、これは、レガシーホスト10とともに動作するときに、あたかもこれがレガシーメモリデバイス30のように見えるように実装される。メモリデバイス100は、これを果たすため、1セットのデータおよび制御線21をレガシーホストに接続する相補形コネクタ20”の形状で同じホスト−メモリデバイスインターフェイスを有する。さらに、一方で後続世代のメモリアレイ110の要求を処理し、他方でレガシーインターフェイスエミュレーションを処理できるインテリジェンスが埋め込まれたメモリコントローラ120を有する。
メモリコントローラ120は、メモリアレイインターフェイス130と、ホストインターフェイス140と、メモリ管理モジュール150とを含む。メモリアレイインターフェイス130は、メモリアレイ110とメモリ管理モジュール150とを連係させる。ホストインターフェイス140は、レガシーホスト10とメモリ管理モジュール150とを連係させる。また、メモリコントローラ120は、必要な供給電圧とクロックを制御するアナログモジュール(図示せず)等の他のモジュールを含む。
メモリ管理モジュール150はさらに、誤り訂正符号(「ECC」)モジュール200と、メモリブロック管理モジュール300と、ステータスビット管理モジュール400とを含む。ECCモジュール200は、メモリアレイ110から引き出される、またはメモリアレイ110に格納される、データに対し誤り訂正操作を遂行するために使用される。メモリブロック管理モジュール300は、消去可能なブロックにおけるデータの格納とその後の更新およびガーベッジコレクションを管理するために使用される。ステータスビット管理モジュール400は、メモリデバイスとホストの様々な状態についてステータス情報を与えるために使用される。
図2は、図1に示すメモリコントローラのハードウェアコンポーネントを示す。好適な実施形態において、メモリコントローラ120はメモリアレイインターフェイス装置130’とホストインターフェイス装置140’とを有する。図1に示すメモリ管理モジュール150は、バス160を通じて通信するマイクロプロセッサ方式のシステムの一部として実装される。
メモリアレイインターフェイス装置130’は、メモリI/Oインターフェイスコントロール132と、読み出しFIFO134と、書き込みFIFO136とを含む。読み出しおよび書き込みFIFOはそれぞれ、図1に示す線111を通じてメモリコントローラ120とメモリアレイ110との間で転送される非同期の読み出しまたは書き込みデータをバッファする役割を果たす。読み出しFIFO134は、(後述する)メモリアレイとコントローラ内のDPRAMバッファとの間でデータ転送の同期を図るキューである。書き込みFIFO136は、DPRAMバッファとメモリアレイとの間でデータ転送の同期を図るキューである。メモリI/Oインターフェイスコントロール132は、メモリアレイとメモリ管理モジュール150との、特にDPRAMバッファとの転送を制御する。メモリアレイ110のための制御/タイミング信号もすべてこれが生成する。好適な実施形態において、有限な状態マシンによってこれが実装される。
ホストインターフェイス装置140’は、ホストI/Oインターフェイスコントロール142とコマンドFIFO144とを含む。コマンドFIFO144は、ホストI/Oインターフェイスコントロール142の制御下でホスト−メモリデバイスインターフェイス20”および21を通じて受信するホストコマンドをバッファする。また、ホストI/Oインターフェイスコントロールは、ホストインターフェイス装置とメモリ管理モジュール150内のDPRAMとの転送を制御する。ホストインターフェイス装置はホストにとって、あたかもそれがレガシーメモリデバイスのそれであるかのように見える。これは、ホストによって提供される読み出しおよび書き込みストローブからクロック制御される非同期インターフェイスである。ホストは、コントローラ120が低電力モードに入っているときにコマンドの発行を開始でき、コントローラが平常動作に戻っている間はコマンドFIFO144によってコマンドがバッファされる。また、ホストは、実際には非レガシーメモリデバイスとともに動作している場合でも、レガシーメモリデバイス向けのユーザコマンドを発行できる。
図1に示すメモリ管理モジュール150の各種機能単位はマイクロプロセッサ方式のシステムによって実装される。インテリジェンスは、読み出し専用メモリ(「ROM」)154に格納されたコードを実行するプログラム可能な制御装置(「PCU」)152によって提供される。メモリコントローラ120を出入りするデータはデュアルポートランダムアクセスメモリ(「DPRAM」)170に格納されて、PCUによって処理される。データ転送装置156は、DPRAMを出入りするデータのバス転送を促進する。シンクロナイザ(「SYNC」)158は、様々な非同期データ転送のタイミングを提供する。ECC装置180は、データの誤り訂正を処理する。
PCU152は、データ転送装置156へ至る制御信号等の動作の流れを制御する。PCUはROM154またはRAMに格納された必要なコードデータを実行して様々なタスクを遂行する。これらのタスクは、コマンドFIFO144の解析と、しかるべきメモリアレイコマンド/アドレスシーケンスの生成、データフローの制御、書き込み保護機能の遂行、割り込み処理、ブートシーケンスの遂行、ID/ステータス読み出しの遂行等、様々な論理ブロックの制御とを含む。PCUは、DPRAM170内のレジスタ、ホストインターフェイス装置140’にアクセスするほか、メモリコントローラ内のその他のレジスタおよびFIFOにアクセスする。好適な実施形態において、PCUのアーキテクチャは効率化のための別々の命令およびデータバスを有する。
データ転送装置156は状態マシンとして実装され、メモリI/Oインターフェイスコントロール132、ECC装置200、読み出しFIFO134、および書き込みFIFO136に対し数多くの制御信号を提供し、データバッファとメモリアレイとの間の実際のデータ転送を制御する。データ転送装置156はPCU152によって制御される。
デュアルポートRAM(DPRAM)170は双方向および同期である。これは、ホストの書き込み/読み出しイネーブルクロックでデータの同期を図る。これは、ECC処理の中間ページデータの記憶と、デバイスIDデータの記憶と、デバイスステータスデータの記憶とを提供する。また、これは、PCUデータのスクラッチパッドとしての役割を果たす。
ECC装置200は通常、符号器と、復号器と、訂正ロジックとを通常含むリード・ソロモン処理ロジックである。好適な実施形態において、符号器は10バイトのパリティデータを生成する。復号器は誤りを検出し、訂正ロジックはDPRAMバッファ170内のデータを訂正する。符号化、復号化、および訂正操作は、PCU152とデータ転送装置156の制御下で遂行される。
レガシーホストとともに動作するときのメモリデバイスの誤り訂正
本発明の一態様によると、非レガシーメモリデバイスは、非レガシーメモリデバイスの誤り訂正とは異なるレガシーメモリデバイスの誤り訂正を処理するように本来設計されたレガシーホストとともに動作するように適応する。これは、非レガシーメモリデバイスに適したECC(誤り訂正符号)を処理し、次にレガシーECCを計算し、ホストに提示するためのメモリコントローラを非レガシーメモリデバイスとともに提供することにより達成される。かくして、ホストに変更を施さずとも非レガシーメモリデバイスの誤り訂正は処理される。
前述したように、レガシーホスト10はレガシーメモリデバイス30とともに動作するように設計されている。レガシーメモリデバイス30は通常、1メモリセル当たり1ビットのデータ格納を支援するメモリだから、これに求められる誤り訂正は単純であり、さもなくば誤り訂正は必要ない。
図3は、レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを満足させながら同時に非レガシーメモリデバイスにも対応するためのコントローラによって提供されるECCモジュールを示す。ホスト10は、前述したように、レガシーメモリデバイス30を制御するソフトウェアドライバとして通常実装される埋め込みメモリコントローラ12を有する。レガシーメモリデバイスに誤り訂正が必要ではない場合、ホストの設計にECC機能はおりこまれない。レガシーメモリデバイスに誤り訂正が必要な場合、その誤り訂正は通常は比較的単純であり、単一ビットエラーを訂正すれば事足りる。この場合のECC計算はソフトウェアメモリコントローラ12によって相応に処理される。
しかし、例えば1メモリセル当たり2ビット以上を支援するもの等の、非レガシーメモリデバイス100の場合、より精緻で複雑な誤り訂正が求められる。これは、レガシーメモリデバイス30向けに本来設計されたホスト10に元のECCが組み込まれている場合には元のECCに適合しない。
図1に示すように、非レガシーメモリデバイス100はメモリコントローラ120を含み、このメモリコントローラはECCモジュール200を有する。ECCモジュール200は、レガシーメモリデバイスECCコンポーネント210と非レガシーメモリデバイスECCコンポーネント220とを備える。非レガシーメモリデバイスECCコンポーネント220は好ましくは、図2に示すECC装置180と同様に、ハードウェアECC装置である。レガシーメモリデバイスECCコンポーネント210は、ソフトウェアプロセッサとして、ROM154とPCU152でのコードの組み合わせにより実装できる。
図4Aは、ホストとレガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のECCを示す。論理セクタ302は、ユーザデータを格納するデータ部304と、システム情報を格納するヘッダまたはオーバーヘッド部306とを備える。セクタのデータ部が書き込まれると、ホスト内のレガシーコントローラ12によって誤り訂正符号ECC1が計算され、セクタのヘッダ部に格納される。セクタのデータ部がレガシーメモリ32から読み出されるときには、ヘッダのECC1がデータから計算されたECC1’に照合される。不一致がある場合には、格納されたECC1を使って引き出されたデータを訂正する。
図4Bは、ホストと非レガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のECCを示す。本発明は、この場合、各セクタにデータとともに格納される適切なECC2の処理にあたって、(図3に示す)非レガシーメモリデバイスECCコンポーネント220を必要とする。同様に、読み出されるデータで誤りを検出し訂正するのに格納されたECC2を使用する。(図2に示す)ハードウェアECC装置180の使用により、たとえ訂正するべきビットが数ビットある場合でも、PCU152を拘束することなく、効率的な誤り訂正が保証される。
図4Cは、ホストと非レガシーメモリデバイスとの間でやり取りされる論理セクタのヘッダ内のECCを示す。レガシーメモリデバイスのECC1を処理することを期待するレガシーホストの場合に、非レガシーメモリデバイスのECC2が代わりに提示され処理されるとエラーが発生する。本発明は、読み出し中にデータからホストのレガシーECC1を計算するのに、レガシーメモリデバイスECCコンポーネント210の使用を必要とする。書き込みの場合、ホストによって計算されるレガシーECC1は無視できる。非レガシーメモリデバイスECCコンポーネント220は、適切なECC2を計算して、セクタデータとともに非レガシーメモリ110に格納される。
非レガシーおよびレガシーメモリアーキテクチャの差異処理
単一ビット記憶とマルチビット記憶の違いのほかに、非レガシーメモリデバイスは通常、性能を高めるためにより大きい消去可能なブロックサイズを持つ。レガシーメモリデバイス向けに本来設計されたホストに非レガシーメモリデバイスを適合させる場合、ホストにとって、これが、レガシーメモリデバイスと同様のアーキテクチャとアドレス方式を持つものとして映らなければならない。
図5Aは、レガシーメモリデバイスのメモリアーキテクチャとアドレス方式を示す。レガシーメモリ30は、消去可能なブロックHPB0,HPB1,...の形に編制されたメモリアレイ32を有する。例えば消去可能なブロックは、それぞれ約512バイトのセクタを32セクタ収容する。図1との関係で前に説明したように、レガシーメモリデバイス30には経済的見地から、インテリジェンスが皆無かごく僅かな最低限のコントローラ34だけが用意され、メモリ管理にあたってはコントローラ12を提供するホスト10に依存する。簡素と便宜を図るため、ホストはレガシーメモリデバイスの物理ブロックに直接アクセスし、これを管理する。このため、ホストとメモリデバイスとの間でやり取りされる実体を「ホスト物理ブロック」または(「HPB」)と呼ぶ。HPB番号とHPB内のセクタオフセットによって完全なアドレスが与えられる。ホストは通常、データを生成するアプリケーションを有し、そのデータはオペレーティングシステム(「OS」)によってファイルにパッケージ化される。データが生成されると、OSは、生成されたデータを論理セクタに入れる。コントローラ12はメモリ管理を担当し、論理−物理マッピングモジュール14は論理セクタのグループをHPBにマッピングする。
図5Bは、レガシーメモリデバイスの論理セクタ302の編制を示す。図4Aに示すものと同様に、セクタはデータ部304とヘッダ部306に分かれている。とりわけ、ヘッダ部は、このセクタが割り振られるHPBを識別するHPBフィールド308を収容する。
図5Cは、ホストによって割り当てられ、レガシーメモリ32のホスト物理ブロックHPBに割り振られる1論理ブロックのセクタを示す。
図5Dは、ホストによって遂行される論理ブロックとホスト物理ブロックとの論理−物理マッピングを示す。コントローラは、個々の論理セクタが修正され削除されるときに、ブロック全体が消去された後に限り更新を行うことができるという制約に従い、ブロック内に格納された論理セクタの更新と削除のタスクを管理しなければならない。
図6Aは、非レガシーメモリのメモリアーキテクチャを示す。メモリは、これより「メタブロック」と呼ぶ消去可能なブロックMB0 ,MB1 ,...に分割される。各メタブロックはH個のセクタを収容する。よって、MB0 はセクタS(0),S(1),...S(H−1)を収容する。例えば、各メタブロックは、レガシーメモリブロックの8倍にあたる256個のセクタを収容する。一般的に、メタブロックは好ましくは異なるプレーンに属するセクタからなり、各プレーンのセクタは並行して操作できる。かくして、最大限の並列性が達成される。更新と削除を管理するため、論理ブロックLBはメタブロックMBにマッピングされる。
図6Bは、非レガシーメモリデバイスのコントローラによって遂行される論理ブロック−メタブロックマッピングを示す。かくして、システムは、論理ブロック内のデータを、たとえその物理位置が変化した場合でも、絶えず把握することができる。
図6Cは、レガシーホストに適合するために非レガシーメモリデバイスのコントローラによって遂行されるアドレス翻訳を示す。前述したように、レガシーホスト10はレガシーメモリデバイス30ともに動作するように設計され、ホスト物理ブロックHPBのアドレスを交換する。非レガシーメモリデバイス100のコントローラ200は、HPBアドレスをメタブロックアドレスに翻訳するアドレス翻訳コンポーネント230と、論理LBから物理MBへのブロックマッピングを処理するブロックマネージャ240とを含む。ホスト側では、アドレス翻訳コンポーネント230は、ホスト側から着信するホスト物理ブロックHPBを受け取り、それらをメタブロックに格納するために論理ブロック単位にパッケージ化する。非レガシーメモリコントローラ200ではHPBアドレスが論理アドレスとして扱われ、論理−論理マッピングによって論理ブロックを満たすように割り当てられ、HPB−LBマッピングテーブル232の中で保守される。論理ブロックLB−物理MBブロックマッピングは論理ブロックを記憶装置内の特定のメタブロックに結び付け、その結び付きをLB−MBマッピングテーブル234の中で保守する。
その後、論理ブロックに対するメタブロックの管理はブロックマネージャ240によって処理される。当該技術分野ではいくつかのブロック管理方式が知られている。「Non-Volatile Memory and Method with Block Management System (不揮発性メモリとブロック管理システムを用いた方法)」という米国公開特許出願第2005−0144360号(特許文献13)には好適な方式が開示されている。この特許出願は、その全体が本願明細書において参照により援用されている。
特殊なレガシーステータス処理
本発明のもうひとつの態様によると、レガシーホストがセクタのヘッダで更新することを期待するステータス情報は、非レガシーメモリデバイスのコントローラによって格納されるテーブルの中で代わりに保守され、更新される。かくして、非レガシーメモリデバイスが後述する部分上書きを支援しない場合でも、レガシーホストとの適合性は保たれる。
図7は、レガシーメモリデバイスにおいてステータスを伝えるヘッダフラグを収容するセクタのヘッダを示す。レガシーメモリデバイス30の場合、ヘッダ306のヘッダフラグフィールド309を使ってステータス情報を格納する。さらに、ステータスフィールド309のビットは上書きできるので、フィールド内のビットは、これが設定される前に1つの状態を伝え、これが設定された後には別の状態を伝える。つまり、個別のビットは、当初の書き込みの後でも「1」から「0」へ書き換えることができる。
しかし、一部のデバイスではメモリの書き換えによってメモリが壊れることがあるため、非レガシーメモリデバイス100は上書き機能を支援しない場合がある。これは特に、数あるしきい値レベルの内の1つが個別のメモリセルにプログラムされるマルチレベルメモリデバイスに当てはまる。各セルにつき2つ以上のレベルを解決する必要があるため、誤差の許容範囲は狭くなる。よって、これらのメモリは、既存のプログラム済みビットにプログラミングによる混乱をきたすことから、バイトまたはセクタの選択されたビットをプログラムする2回目の行程に耐えることができない。このように上書き機能が支援されない場合にレガシーホスト10との互換性を保つには、オーバーヘッドビットをシミュレートする。
図8は、コントローラのテーブルにおける上書きステータスビットの保守を示す。コントローラ200(図6C参照)で保守するHPB−LBマッピングテーブル232は、ヘッダフラグを保存するために使われる。ホストは、ホストセクタ書き込み操作のたびにヘッダとセクタデータを送信する。(前に例として用いた)32セクタの全てのヘッダは、同じHPB(ホスト物理ブロック)に対し同じLB(論理ブロック)番号を収容する。この結び付きは先々の読み出しコマンドで使用するためにHPB−LBテーブル232に保存される。コントローラがLB番号をメタブロックに割り振ると、LB−MBテーブル234(図6C参照)にこのマッピングが保存される。ホストコントローラ12がHPBでヘッダの上書きを決定する場合、この情報は、上書きできない媒体上のヘッダ309ではなく、HPB−LBテーブル232の中に保存される。
例えば、コピー操作(ブロック内の書き込み更新)中に元のホストブロックのセクタの更新ステータスビットは、ホストがそのブロックを消去するまで、設定(アクティブ)される。この状態は更新操作中にHPB−LBテーブル232に格納される。この状態は電源投入後にホストがこのHPBのヘッダを読み出すときに正しく復帰させなければならないから、テーブルは媒体へ書き込まれる。更新操作が完了したらホストブロックは消去され、テーブル項目はクリアできる。
もうひとつの例は2ビットページステータスである。これらのビットは、全て良好であること(=3)、セクタに異常が生じたこと(=1)、または不良セクタからコピーされた壊れたデータがセクタに収容されていること(=0)を指示するために使われる。不良ページを含むブロック(=1)に向けて消去が発行されると、消去の代わりにブロック全体が不良(=1)とマーク付けされる。新たなブロックへのコピー操作のときに不良(=1)とマーク付けされたセクタのページステータスは新たなブロックにおいて0に設定される。ページフラグは、フラグ値をHPB−LBテーブルに保存することによってシミュレートできる。
さらにもうひとつの例は、ブロックが大きな欠陥を含み、もはや使用されていないことを示すブロックステータスビットである。上書きビットはこのブロックのHPB−LBテーブルをマーク付けし、現在のブロックを欠陥リストに加えることによってシミュレートできる。
これまで本発明の様々な態様を特定の実施形態との関係で説明してきたが、添付の特許請求の範囲の最大の範囲内においてその権利が保護されるべきであることが理解できよう。
レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストとともに動作するように適応する非レガシーメモリデバイスを概略的に示す。 図1に示すメモリコントローラのハードウェアコンポーネントを示す。 レガシーメモリデバイスとともに動作するように本来設計されたレガシーホストを満足させながら同時に非レガシーメモリデバイスにも対応するためにコントローラによって提供されるECCモジュールを示す。 ホストとレガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のECCを示す。 ホストと非レガシーメモリデバイスとの間で通常やり取りされる論理セクタのヘッダ内のECCを示す。 ホストと非レガシーメモリデバイスとの間でやり取りされる論理セクタのヘッダ内のECCを示す。 レガシーメモリデバイスのメモリアーキテクチャとアドレス方式を示す。 レガシーメモリデバイスの論理セクタの編制を示す。 ホストによって割り当てられ、レガシーメモリのホスト物理ブロックHPBに割り振られる1論理ブロックのセクタを示す。 ホストによって遂行される論理ブロックとホスト物理ブロックとの間の論理−物理マッピングを示す。 非レガシーメモリのメモリアーキテクチャを示し、かつ異なるプレーンの最小消去単位を結び付けて構成されるメタブロックを示す。 非レガシーメモリデバイスのコントローラによって遂行される論理ブロック−メタブロックマッピングを示す。 レガシーホストに適合するために非レガシーメモリデバイスのコントローラによって遂行されるアドレス翻訳を示す。 レガシーメモリデバイスにおいてステータスを伝えるヘッダフラグを収容するセクタのヘッダを示す。 コントローラのテーブルにおける上書きステータスビットの保守を示す。

Claims (16)

  1. 第1のセットのメモリおよび通信特性を有するメモリデバイスを、前記第1のセットとは異なる第2のセットのメモリおよび通信特性を有するレガシーメモリデバイスとともに動作するように本来設計されたホストとともに動作するように適応させる方法であって、
    前記メモリデバイスと前記ホストとの間にインターフェイス回路を設けるステップと、
    前記第1のセットのメモリおよび通信特性を有する前記メモリデバイスを、前記第2のセットのメモリおよび通信特性とともに動作する前記ホストに連係するステップと、を備え、
    前記連係するステップは、前記第1および第2のセットのメモリおよび通信特性間に存在する少なくとも1つの差異を解決し、前記少なくとも1つの差異は、基本的には誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択される方法。
  2. 請求項1記載の方法において、
    前記メモリデバイスはマルチビットメモリセルを備え、前記レガシーメモリデバイスは、単一ビットメモリセルを有する前記レガシーメモリデバイスを動作させるように設計される方法。
  3. 請求項1記載の方法において、
    前記少なくとも1つの差異は、前記第1のセットの動作特性の中でメモリ動作状態を指示するステータスビットを含み、
    前記連係するステップは、
    前記メモリデバイスに格納されたディレクトリを保守するステップと、
    前記メモリ動作状態の有無に応じて前記ステータスビットの値を前記ディレクトリに格納するステップと、をさらに備える方法。
  4. 請求項1記載の方法において、
    前記少なくとも1つの差異は消去可能なメモリブロックサイズを含み、前記メモリデバイスのメモリブロックサイズは、前記ホストが本来動作するように設計された、前記レガシーメモリデバイスに適合するメモリブロックサイズとは異なり、
    前記連係するステップは、前記メモリデバイスのメモリブロックと前記レガシーメモリデバイスに適合するメモリブロックとをマッピングする方法。
  5. 請求項4記載の方法において、
    前記メモリデバイスのメモリブロックサイズは、前記レガシーメモリデバイスに適合するメモリブロックサイズより大きいメモリデバイス。
  6. 請求項1記載の方法において、
    前記メモリデバイスと前記ホストとを連係するステップは、非同期である方法。
  7. 第1のメモリシステムとともに動作するように設計されたホストを有するシステムであって、前記ホストは前記第1のメモリシステムから引き出されたデータの誤りを第1の誤り訂正符号(ECC)により訂正し、第2のECCを使用する第2のメモリシステムとともに前記ホストを動作させる方法であって、
    前記第2のメモリシステムに第2のECC計算モジュールを設けるステップと、
    前記第2のメモリシステムから引き出されたデータのため、前記第2のECC計算モジュールを用いて前記第2のECCを処理するステップと、
    第2のECCによって処理された前記データを用いて前記第1のECCを計算するステップと、
    前記データを前記第1のECCとともに前記ホストへ提示するステップと、
    を備える方法。
  8. 請求項7記載の方法において、
    前記第2のメモリシステムはマルチビットメモリセルを備え、前記第1のメモリシステムは単一ビットメモリセルを備える方法。
  9. メモリデバイスであって、
    第1のセットのメモリおよび通信特性を備える少なくとも1つのメモリチップと、
    レガシーホストへ結合するためのコネクタと、
    前記レガシーホストは、第2のセットのメモリおよび通信特性を有するレガシーメモリデバイスとともに動作するように設計されているが、前記少なくとも1つのメモリチップと直接的に動作するようには設計されておらず、
    前記レガシーホストが前記コネクタへ結合されているときに前記メモリデバイスが前記レガシーメモリを模倣することを可能にするため、前記コネクタと前記少なくとも1つのメモリチップとの間に結合されるインターフェイス回路と、を備え、
    前記インターフェイス回路は、前記第1および第2のセットのメモリおよび通信特性間に存在する少なくとも1つの差異を解決し、前記少なくとも1つの差異は、基本的には誤り訂正符号、メモリブロックサイズ、各メモリセルに格納されるビット数、およびステータス情報からなるグループから選択されるメモリデバイス。
  10. 請求項9記載のメモリデバイスにおいて、
    前記メモリデバイスはマルチビットメモリセルを備え、前記レガシーホストは単一ビットメモリセルを有する前記レガシーメモリデバイスを動作させるように設計されるメモリデバイス。
  11. 請求項9記載のメモリデバイスにおいて、
    前記少なくとも1つの差異は、前記第2のセットの動作特性の中で誤り訂正符号(ECC)を含み、
    前記インターフェイス回路は、前記ECCを処理するECC計算モジュールを含むメモリデバイス。
  12. 請求項9記載のメモリデバイスにおいて、
    前記少なくとも1つの差異は、前記第1のセットの動作特性の中でメモリ動作状態を指示するステータスビットを含み、
    前記インターフェイス回路は、
    前記少なくとも1つのメモリチップに格納されるディレクトリと、
    前記メモリ動作状態の有無に応じて前記ステータスビットの一状態または代替の状態を前記ディレクトリに格納する回路と、を含むメモリデバイス。
  13. 請求項9記載のメモリデバイスにおいて、
    前記少なくとも1つの差異はメモリブロックサイズを含み、前記メモリデバイスは前記レガシーメモリデバイスのメモリブロックサイズより大きいメモリブロックサイズを有するメモリデバイス。
  14. 請求項9記載のメモリデバイスにおいて、
    前記少なくとも1つの差異は各メモリセルに格納されるビット数を含み、前記メモリデバイスは、前記レガシーホストが本来動作するように設計された、前記レガシーメモリデバイスより多くのビットを各メモリセルにつき格納するメモリデバイス。
  15. 請求項9記載のメモリデバイスにおいて、
    前記インターフェイス回路は、
    前記ホストと連係する非同期ホストインターフェイス装置と、
    前記少なくとも1つのメモリチップと連係する非同期メモリチップインターフェイス装置と、
    前記非同期ホストインターフェイス装置と前記非同期メモリチップインターフェイス装置とを制御する制御装置と、
    をさらに備えるメモリデバイス。
  16. 請求項15記載のメモリデバイスにおいて、
    前記インターフェイス回路は、
    前記第1および第2のセットのメモリおよび通信特性間に存在する差異を解決するために前記制御装置によって実行される1セットのコードをさらに備えるメモリデバイス。
JP2008542499A 2005-11-22 2006-11-15 レガシーホストのための方法およびメモリシステム Expired - Fee Related JP5192388B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/285,992 US7747927B2 (en) 2005-11-22 2005-11-22 Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system
US11/286,100 US7739472B2 (en) 2005-11-22 2005-11-22 Memory system for legacy hosts
US11/286,100 2005-11-22
US11/285,992 2005-11-22
PCT/US2006/060932 WO2007062307A2 (en) 2005-11-22 2006-11-15 Method and memory system for legacy hosts

Publications (2)

Publication Number Publication Date
JP2009516889A true JP2009516889A (ja) 2009-04-23
JP5192388B2 JP5192388B2 (ja) 2013-05-08

Family

ID=37964027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008542499A Expired - Fee Related JP5192388B2 (ja) 2005-11-22 2006-11-15 レガシーホストのための方法およびメモリシステム

Country Status (7)

Country Link
EP (1) EP1952404B1 (ja)
JP (1) JP5192388B2 (ja)
KR (1) KR101398403B1 (ja)
AT (1) ATE467893T1 (ja)
DE (1) DE602006014299D1 (ja)
TW (1) TWI319879B (ja)
WO (1) WO2007062307A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080920A (ja) * 2007-06-08 2009-04-16 Qimonda Ag エミュレートされるコンビネーションメモリデバイス
JP6443572B1 (ja) * 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016054212A1 (en) * 2014-10-01 2016-04-07 Cacheio Llc Efficient metadata in a storage system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131102A (ja) * 1997-07-14 1999-02-02 Toshiba Corp データ記憶システム及び同システムに適用するアクセス制御方法
JP2004062913A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置
JP2004511030A (ja) * 2000-07-07 2004-04-08 レクサー メディア,インク. ホスト互換性を有し、同時にプログラミング可能なマルチフラッシュメモリバンクを実現するメモリアーキテクチャ
JP2004524636A (ja) * 2001-04-24 2004-08-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビット変更を可能にする、フラッシュメモリにおける使用のための、改良されたエラー修正方式
JP2004319048A (ja) * 2003-04-18 2004-11-11 Sandisk Corp 不揮発性半導体記憶装置およびそれを用いた電子カードと電子装置
US20050144358A1 (en) * 2003-12-30 2005-06-30 Conley Kevin M. Management of non-volatile memory systems having large erase blocks
JP2005267628A (ja) * 2004-03-19 2005-09-29 Samsung Electronics Co Ltd Nandフラッシュメモリを使用するメモリカード及びそれの動作方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887145A (en) * 1993-09-01 1999-03-23 Sandisk Corporation Removable mother/daughter peripheral card
AU4371700A (en) * 1999-04-30 2000-11-17 Centennial Technologies, Inc. Combination ata/linear flash memory device
US6438638B1 (en) * 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US20040049627A1 (en) * 2001-11-09 2004-03-11 Flex-P Industries Method and system for controlling compact flash memory
US6704852B2 (en) * 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131102A (ja) * 1997-07-14 1999-02-02 Toshiba Corp データ記憶システム及び同システムに適用するアクセス制御方法
JP2004511030A (ja) * 2000-07-07 2004-04-08 レクサー メディア,インク. ホスト互換性を有し、同時にプログラミング可能なマルチフラッシュメモリバンクを実現するメモリアーキテクチャ
JP2004524636A (ja) * 2001-04-24 2004-08-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビット変更を可能にする、フラッシュメモリにおける使用のための、改良されたエラー修正方式
JP2004062913A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置
JP2004319048A (ja) * 2003-04-18 2004-11-11 Sandisk Corp 不揮発性半導体記憶装置およびそれを用いた電子カードと電子装置
US20050144358A1 (en) * 2003-12-30 2005-06-30 Conley Kevin M. Management of non-volatile memory systems having large erase blocks
JP2007517319A (ja) * 2003-12-30 2007-06-28 サンディスク コーポレイション 大きな消去ブロックを有する不揮発性メモリシステムの管理
JP2005267628A (ja) * 2004-03-19 2005-09-29 Samsung Electronics Co Ltd Nandフラッシュメモリを使用するメモリカード及びそれの動作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080920A (ja) * 2007-06-08 2009-04-16 Qimonda Ag エミュレートされるコンビネーションメモリデバイス
JP6443572B1 (ja) * 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
JP2019133601A (ja) * 2018-02-02 2019-08-08 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Also Published As

Publication number Publication date
TWI319879B (en) 2010-01-21
WO2007062307A3 (en) 2008-07-10
EP1952404B1 (en) 2010-05-12
ATE467893T1 (de) 2010-05-15
KR101398403B1 (ko) 2014-05-26
DE602006014299D1 (de) 2010-06-24
KR20080089568A (ko) 2008-10-07
JP5192388B2 (ja) 2013-05-08
EP1952404A2 (en) 2008-08-06
TW200811868A (en) 2008-03-01
WO2007062307A2 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
US7739472B2 (en) Memory system for legacy hosts
KR101517416B1 (ko) 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기
TWI575374B (zh) 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
US8041878B2 (en) Flash file system
US6906961B2 (en) Erase block data splitting
US5907856A (en) Moving sectors within a block of information in a flash memory mass storage architecture
US6978342B1 (en) Moving sectors within a block of information in a flash memory mass storage architecture
US6601211B1 (en) Write reduction in flash memory systems through ECC usage
US7747927B2 (en) Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system
US20110099323A1 (en) Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
TWI785876B (zh) 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置
JP5192388B2 (ja) レガシーホストのための方法およびメモリシステム
CN112988076A (zh) 快闪存储器控制方法、存储装置及控制器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120510

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130131

R150 Certificate of patent or registration of utility model

Ref document number: 5192388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160208

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees