JP2010519626A - 1つもしくはそれ以上のメモリ装置を有するシステム - Google Patents

1つもしくはそれ以上のメモリ装置を有するシステム Download PDF

Info

Publication number
JP2010519626A
JP2010519626A JP2009550173A JP2009550173A JP2010519626A JP 2010519626 A JP2010519626 A JP 2010519626A JP 2009550173 A JP2009550173 A JP 2009550173A JP 2009550173 A JP2009550173 A JP 2009550173A JP 2010519626 A JP2010519626 A JP 2010519626A
Authority
JP
Japan
Prior art keywords
data
memory
memory device
width
output
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
JP2009550173A
Other languages
English (en)
Other versions
JP5408663B2 (ja
JP2010519626A5 (ja
Inventor
プルジビルスキィ スティーヴン
シュッツ ローランド
オー ハクジュン
ベム ペオン ホン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of JP2010519626A publication Critical patent/JP2010519626A/ja
Publication of JP2010519626A5 publication Critical patent/JP2010519626A5/ja
Application granted granted Critical
Publication of JP5408663B2 publication Critical patent/JP5408663B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)

Abstract

【解決手段】 高速性能を実現するためリンクトポロジー構成で直列に接続されたメモリ装置を有するシステム。
性能を最大限にするためシステムが最大の共通の数のアクティブデータパッドまでで動作することができ、あるいは消費電力を最小限にするためシステムが単一のアクティブデータパッドで動作することができるように、メモリ装置は動的に構成可能なデータ幅を有する。それ故、システムは、異なるデータ幅を有するメモリ装置の混合を含むことができる。メモリ装置は、ブロードキャスト動作でメモリコントローラからすべてのメモリ装置を介して直列に伝播される単一のコマンドの発行を通じて動的に構成され得る。システムの堅牢な動作は、データ出力禁止アルゴリズムを実施することによって保証され、このアルゴリズムは、読出し出力制御信号が適切なシーケンスから受け取られたとき、有効なデータがメモリコントローラに提供されることを抑制する。
【選択図】 図3A

Description

フラッシュメモリは、ディジタルカメラやポータブルディジタル音楽プレイヤなどの民生電子装置の大量記憶としての広汎の不揮発性メモリタイプに広く使用されている。1つのフラッシュコンポーネントのサイズが典型的に小さいので、現在利用可能なフラッシュメモリコンポーネントの集積度は、2つのスタックされたダイから構成され、32Gビット(4GB)であることができ、これは、一般的なUSBフラッシュ装置の利用に適している。
8メガ(800万)画素のディジタルカメラや、音楽やビデオ機能があるポータブルディジタルエンターテイメント装置の出現は、大量データを蓄積するための超高容量の要求を促しているが、これは、単一のフラッシュメモリ装置によって応じることができない。それゆえ、多数のフラッシュメモリ装置が共にメモリシステムに組み込まれ、利用可能な蓄積容量を効果的に増加させる。例えば、20GBのフラッシュメモリの蓄積密度がこのようなアプリケーションに要求される。
図1は、ホストシステム12に結合される従来のシステム10のブロック図である。従来のシステム10は、ホストシステム12と通信するメモリコントローラ14と、多数の不揮発性メモリ装置16とを含む。ホストシステム12は、マイクロコントローラ、マイクロプロセッサ、またはコンピュータシステムのような処理装置を含む。図1の従来のシステム10は、1つのチャンネル18を含むように構成され、メモリ装置16がチャンネル18に並列に接続されている。当業者であれば、従来のシステム10は、チャンネルに接続された多数のメモリ装置あるいは4つよりも少ないメモリ装置をもつことができることを理解されよう。
チャンネル18は、1組の共通のバスを含み、バスは、全ての対応するメモリ装置に接続されたデータおよび制御線とを含む。各々のメモリ装置は、メモリコントローラ14により提供された各チップ選択(イネーブル)信号CE1#、CE2#、CE3#およびCE4#によって、動作可能(イネーブル)にされたり、非動作(ディスエーブル)にされる。“#”は、信号がアクティブローの論理信号であることを示す。せいぜい、チップ選択信号の1つが、典型的に同時に選択される。メモリコントローラ14は、ホストシステム12の動作に応答して選択されたメモリ装置にチャンネル18を介してコマンドおよびデータを発する責任がある。メモリ装置からのリードデータの出力は、チャンネル18を経由してメモリコントローラ14およびホストシステム12へ転送される。従来のシステム10の動作は、同期型または非同期型であることができる。図1は、クロック(CK)を使用する同期型システムの一例を示しており、クロックは、チャンネル18上のデータ転送が同期されるように各々のメモリ装置16に並列に提供される。従来のシステム10は、概してマルチドロップバスを含むと言われ、メモリ装置16がチャンネル18に対して並列に接続されている。
従来のシステム10では、不揮発性のメモリ装置16は、実質的に互いに同一であることができ(しかし、同一は必要とされなくてもよい)、かつ典型的にNANDフラッシュメモリである。当業者であれば、フラッシュメモリが複数のバンクに構成され、かつ各バンクが複数のブロックに構成されブロック消去を容易にすることを理解されよう。市販で入手可能なNANDフラッシュメモリ装置は、2つのメモリバンクを有するものがある。
システムの性能に逆行して影響を与える可能性のある具体的な問題がある。従来のシステム10の構成は、物理的な性能の制限を課している。システム間を延びる多数の並列信号が存在し、並列信号が搬送する信号のインテグリティは、クロストーク、シグナルスキュー(signal skew)、および同時のスイッチングノイズ(simultaneous switching noise、SSN)によって劣化されることがある。このようなシステムにおける入力/出力の電力消費は、フラッシュコントローラとフラッシュメモリ装置間の各信号トラックが信号を送るために頻繁に充電されたり放電されたりするので、問題となる。システムクロックの周波数を増加させると、電力消費は増加する。
1つのメモリ装置の駆動能力は、長い信号トラックのローディングに比べて小さいので、チャンネルに並列に接続され得るメモリ装置の数に実用上の制限がある。さらに、メモリ装置の数が増えるにつれ、より多くのチップイネーブル信号(CE#)が要求され、さらに、CKは追加のメモリ装置へ配線される必要が生じ、それらのすべては、メモリ装置に配線されるだけ長くなる。広範囲のクロック分配によるクロック性能の問題は、従来より良く知られており、多くのメモリ装置16を有する大規模な従来のシステムにおいて問題となる。それゆえ、従来のシステムにとって、多くのメモリ装置を含ませるためには、メモリ装置が多重チャンネルで拡張されるか、メモリシステムの周波数動作が制限されるかである;どちらの選択も妥協を含んでいる。多重チャンネルと追加のチップイネーブル信号を有するコントローラは、システムのコストを増加させる。さもなくば、システムは、少ない数のメモリ装置に制限される。
図1のマルチドロップの従来のシステム10では、各メモリ装置16のデータ幅は同一でなければならない。例えば、データチャンネル幅が32ビットであるならば、各メモリ装置16は、x32の装置でなければならない。もし、他のマルチドロップシステムが8ビットのデータチャンネル幅を有するならば、x32のメモリ装置を利用することはできない。代わりに、異なるx8のメモリ装置が、使用のために必要とされる。従って、メモリ装置の製造者は、可能性のあるシステムの構成に対応するために、種々のデータ幅を有する同一のメモリ装置のバージョンを生産することになる。
より小さなフォームファクタ製品を求める消費者が増加するにつれ、製造者は、図1の従来のシステム10のような半導体チップによって占有される面積や空間を最小化する方法を見つける必要がある。各々のメモリ装置のチップは小さいけれども、チップをカプセル封止するパッケージは、チップの入力/出力パッドとプリント回路基板(PCB)のトレース間の信号を結合するパッケージピンの数によって決定される大きなサイズを有する。残念ながら、図1の従来のシステム10は、最小化されたPCB面積を要求するアプリケーションには適していない。各メモリ装置とメモリコントローラは、パッケージサイズが、データ幅の増加するにつれても大きくなるので、x8、x16、もしくはx32のデータチャンネル幅により、大きなPCBの面積を占有する。もし、パッケージサイズを最小化するようにデータ幅が減少されるならば、総メモリシステムのピークの帯域幅が減少するので、性能は不利な影響を受ける。
それゆえ、最小の基板領域を消費する高性能システムを提供することが望まれる。
本発明の実施例は、添付の図面を参照して、例を利用することで、ここに説明される。
図1は、フラッシュ装置を含む従来のシステムのブロック図である。 図2Aは、並列クロック信号を受け取るシステムのブロック図である。 図2Bは、ソース同期クロック信号を直列に受け取るシステムのブロック図である。 図3Aは、図2Bのシステムの詳細なブロック図である。 図3Bは、図2Aのシステムの詳細なブロック図である。 図4は、図3Aと図3Bのシステムで利用されるための、コアと入力/出力インターフェースとを有する一般的なメモリ装置のブロック図である。 図5Aは、パッケージを介してPCBに相互接続されたメモリ装置の例示である。 図5Bは、直列に接続されたメモリダイを含むパッケージ装置のシステムの例示である。 図6は、構成可能なデータ幅を有するメモリ装置の実施例のブロック図である。 図7は、動的に調整可能なシステムの実施例のブロック図である。 図8Aは、本実施例による、システムのアクティブデータ幅をセットする方法のフローチャートである。 図8Bは、構成可能なデータ幅を有するシステムの例示である。 図9は、図3Aと図3Bのシステムのための、モジュラーコマンドパケット構造の例示である。 図10は、図3Aと図3Bのシステムを動作するための例示的なモジュラーコマンドパケットを掲載する表である。 図11は、図3Aと図3Bのシステムのメモリ装置における装置アドレス論理の回路例である。 図12は、図11で示されたブロードキャストアドレス検出器の回路例である。 図13は、図11で表されたブロードキャストアドレスの別の回路例である。 図14は、本実施例による、図3Aと図3Bのシステムにおけるブロードキャスト動作を実行する方法のフローチャートである。 図15は、本実施例による、図3Aと図3Bのシステムのための有効な読み出し動作を例示するシーケンス図である。 図16は、本実施例による、図3Aと図3Bのシステムのための有効な読み出し動作を例示するシーケンス図である。 図17は、図6に示されたメモリ装置のデータ出力制御論理とデータ出力回路の回路例である。 図18は、無効な読み出し動作を例示するシーケンス図である。 図19は、他の無効な読み出し動作を例示するシーケンス図である。 図20は、他の無効な読み出し動作を例示するシーケンス図である。 図21は、本実施例による、データ出力禁止アルゴリズムのフローチャートである。
発明の詳細な説明
第1の態様では、メモリコントローラとメモリ装置とを有するシステムが提供される。メモリコントローラは、第1の数の出力ポートを含み、メモリコントローラは、第1の数の出力ポートのうちの1つの出力ポートから、最大データ幅構成データをアクセスするためのコマンドを提供する。メモリ装置は、最大データ幅構成データを格納するための入力/出力レジスタ、第2の数のデータ入力パッド、および第2の数のデータ出力パッドを含む。メモリ装置は、第2の数のデータ入力パッドのうちの1つのデータ入力パッドでコマンドを受け取り、第2の数のデータ出力パッドのうちの1つのデータ出力パッドから、最大データ幅構成データを提供する。本態様の実施例によれば、最大データ幅構成データは、入力/出力レジスタにハードワイヤー接続(hardwired)され、メモリコントローラは、第1の数の入力ポートのうちの1つの入力ポートから最大データ幅構成データを受け取るための第1の数の入力ポートを含む。他の実施例では、すべての第2の数のデータ入力パッドは、1つのデータを除いてディスエーブルされ、すべての第2の数のデータ出力パッドは、1つのデータ出力パッドを除いてディスエーブルされる。
実施例のある態様では、メモリ装置は、メモリコントローラから受け取られた構成コードを格納するためのカレントアクティブ幅レジスタを含む。構成コードは、第3の数のデータ入力パッドと第3の数のデータ出力パッドをイネーブルし、第3の数は、第2の数よりも小さいかそれに等しい。さらに、メモリ装置は、パッケージにカプセル封止されたメモリダイを含み、パッケージは、第4の数のデータ入力ピンとデータ出力ピンを有する。この実施例では、最も小さい共通の数のデータ入力ピンは、最も小さい共通の数のデータ入力パッドに電気的に接続さる、ここで、最も小さい共通の数は、第2の数および第4の数よりも小さい。第3の数は、1と最も小さい共通の数の間にあることができる。実施例の他の態様では、第1の数の出力ポートを第4の数の入力ピンへに電気的に接続する第5の数の導電性トラックが提供され、第3の数は、最も小さい共通の数と第5の数の導電性トラックよりも小さい。
第2の態様では、カレントアクティブ幅レジスタ、第1のデータ入力/出力回路ブロック、および第2のデータ入力/出力回路ブロックを有するメモリ装置が提供される。カレントアクティブ幅レジスタは、構成コードを格納アする。第1のデータ入力/出力回路ブロックは、データ入力パッドから構成コードを受け取る。データ入力/出力回路ブロックは、構成コードをカレントアクティブ幅レジスタへ送る。第2のデータ入力/出力回路ブロックは、カレントアクティブ幅レジスタに格納された構成コードに応答して選択的にイネーブルされる。本態様の実施例では、さらに、最大データ幅構成データを格納するための入力/出力レジスタが提供され、最大データ幅構成データは、データ出力パッドを介して、第1のデータ入力/出力回路ブロックにより提供される。本実施例のさらなる態様では、カレントアクティブ幅レジスタ、第1のデータ入力/出力回路ブロック、第2のデータ入力/出力回路ブロック、入力/出力レジスタ、データ入力パッド、およびデータ出力パッドは、パッケージ内に封止されたメモリダイに形成される。パッケージは、第1のデータ入力/出力回路ブロックに結合された1つのデータ入力ピンを厳密に含むことができる。これとは別に、パケージは、第1の入力/出力データ回路ブロックに結合された第1データ入力ピンと、第2の入力/出力回路ブロックに結合された第2のデータ入力ピンとを含むことができる。さらに、パッケージは、少なくとも1つ以上の追加のデータ入力ピンを含むことができる。
第3の態様では、リングトポロジー構成でメモリコントローラに接続された少なくとも1つのメモリ装置を有するシステムのためにデータ幅をセットする方法が提供される。この方法は、少なくとも1つのメモリ装置に格納された構成データをアクセスすることを含み、構成データは、少なくとも1つのメモリ装置の最大データに対応するものであり;すべての構成データの最小データ幅を決定し;そして、1と少なくとも1つのメモリ装置の最小データ幅との間の選択されたデータ幅をセットする。本態様の実施例によれば、アクセスは、少なくとも1つのメモリ装置に識別番号を割り当てること、1つのデータ幅に対応する単一のデータライン上にリードコマンドを直列に発することを含む。本実施例の態様では、選択されたデータ幅は、システムの動作プロファイルによって決定され、動作プロファイルは、選択されたデータ幅を最小のデータ幅にセットすることにより、システムの性能を最大化することに対応する。これとは別に、動作プロファイルは、選択されたデータ幅を1にセットすることによって、システムの消費電力最小化することに対応する。
本態様のさらなる実施例では、設定(セッティング)は、少なくとも1つのメモリ装置のカレントアクティブ幅レジスタに選択されたデータ幅に対応する構成コードをロードすることを含む。設定は、さらに、構成コードをカレントアクティブ幅レジスタに書き込むため、少なくとも1つのメモリ装置にアドレスされたコマンドを発することを含む。他の実施例では、システムは、直列に接続された複数のメモリ装置を含み、また設定は、複数のメモリ装置の各々のカレントアクティブ幅レジスタに構成コードを書き込むため、複数のメモリ装置によって認識することができるブロードキャストアドレスでコマンドを発することを含む。
第4の態様では、メモリコントローラを有するリングトポロジー構成で直列に接続されたメモリ装置にコマンドをブロードキャストする方法を提供する。この方法は、コマンドに対応するオペコードと、ブロードキャストアドレスとを有する1つのコマンドパケットを発すること;メモリ装置で直列にコマンドパケットを受け取り、各メモリ装置が割当てられた装置アドレスおよびブロードキャストアドレスを認識するよう構成されること;ブロードキャストアドレスに応答して各メモリ装置でオペコードを実行すること;そして、メモリ装置のうちの最後のメモリ装置からメモリコントローラへコマンドパケットを渡し、ブロードキャストを終了することを含む。本態様の実施例では、コマンドパケットは、2の総装置アドレスを提供するため、n−ビットの長さのアドレスフィールドを含み、総装置アドレス(2)−1は、装置アドレスを割当てられ、総装置アドレス(2)−1のうちの1つは、ブロードキャストアドレスである。ブロードキャストアドレスは、2の総装置アドレスのうちの最も高い論理アドレスであることができ、各メモリ装置は、オペコードの実行をイネーブルするため、ブロードキャストアドレスを論理的にデコードする。これとは別に、割当てられたブロードキャストアドレスは、各メモリ装置に格納され、オペコードの実行をイネーブルするため、ブロードキャストアドレスが、割当てられたブロードキャストアドレスに一致するようにする。
第5の態様では、メモリ装置のデータ出力を禁止する方法が提供される。この方法は、リードデータを出力するためのデータ出力制御信号を受け取ること;そして、前に受け取ったコマンドが非リード関連コマンドに対応するとき、データ出力回路を禁止し、前に受け取ったコマンドがリード関連コマンドに対応するとき、データ出力回路をイネーブルすることを含む。本態様の実施例では、禁止することは、論理“1”のデータと論理“0”のデータの1つに対応する連続的な一連のデータを出力することを含む。イネーブルすることは、データ出力制御信号がアクティブな論理レベルにある間に、クロックに応答してシリアルデータレジスタを動作させ、リードデータを直列に提供することを含む。禁止することは、データ出力制御信号がアクティブな論理レベルにある間に、クロックをシリアルデータレジスタから非結合にすることを含む。本実施例では、前に受け取られたコマンドは、アクティブ論理レベルでコマンドラッチ信号に応答してラッチされ、書き込み動作に対応する制御信号がコマンドラッチ信号のアクティブ論理レベルに応答してラッチされたとき、クロックは、シリアルデータレジスタから論理的に非結合にされる。
第6の態様では、シリアルデータレジスタ、第1の論理回路および第2の論理回路を含む、リードデータ出力回路が提供される。シリアルデータレジスタは、クロックに応じて直列にリードデータを出力する。第1の論理回路は、データ出力制御信号のアクティブ論理レベルに応答して、クロックをシリアルデータレジスタに結合する。第2の論理回路は、非リード関連動作中にクロックをディスエーブルする。
図1の従来のシステム10の多くの性能の問題を解決するシステムは、メモリ装置が、リングトポロジー構成(ring topology configuration)で、互いにかつメモリコントローラに直列に接続されるシステムである。図2Aおよび図2Bは、本実施例によるシステムの概念的な本質を示したブロック図である。図2Aは、並列クロック信号を受け取るシステムのブロック図であり、図2Bは、ソース同期型クロック信号を受け取る図2Aと同一システムのブロック図である。クロック信号は、単一終端のクロック信号(single ended clock signal)か差動クロック対のどちらかであることができる。
図2Aでは、システム20は、少なくとも1つの出力ポートSoutと入力ポートSinとを有するメモリコントローラ22と、直列に接続されたメモリ装置24、26、28および30とを含む。図2Aには示されていないが、各々のメモリ装置は、Sin入力ポートとSout出力ポートとを有する。入力および出力ポートは、メモリ装置をメモリ装置の一部であるシステムにインターフェースする1つまたはそれ以上の物理的なピンまたは接続から成る。1つの実施例では、メモリ装置は、フラッシュメモリ装置であることができる。あるいは、メモリ装置は、DRAM、SRAMまたは他のタイプのメモリ装置であることができ、メモリ装置は、コマンド(命令)を実行したり、次のメモリ装置にコマンドおよびデータを通過させるため、特定のコマンド構造に互換性のある入力/出力インターフェースを有する。図2Aの例は、4つのメモリ装置を含んでいるが、他の実施例は、単一のメモリ装置か、適切な数のメモリ装置を含むことができる。従って、もし、メモリ装置24が、Soutに接続されるようにシステム20の最初の装置であるならば、メモリ装置30は、Sinへ接続されるようにN番目または最後の装置であり、ここで、Nは、0よりも大きな整数である。メモリ装置26ないし28は、最初のメモリ装置と最後のメモリ装置間に介在する直列に接続されたメモリ装置である。各々のメモリ装置は、システムの電力投入の初期化後に、識別可能な識別(ID)番号、または装置アドレス(DA)を決定することができ、その結果、それらの装置は個々にアドレス可能である。共有の米国特許出願第11/622,828号、発明の名称”APPARATUS AND METHOD FOR PRODUSING IDS FOR INBERCONNECTED DEVICES OF MIXED TYPE”,米国特許番号第11/750,649号、発明の名称”APPARATUS AND METHOD FOR ESTABLISHING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNEDTED DEVISED”,米国特許番号第11/692,454号、発明の名称”APPARATUS AND METHOD FOR PRODUXING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES OF MIXED TYPE”,米国特許番号第11/692,446号、発明の名称”APPARATUS AND METHOD FOR PRODUXING IDENTIFIERS REGARDLESS OF MIXED DEVICE TYPE IN A SERIAL INTERCONNECTION”,米国特許番号第11/692,362号、発明の名称”APPARATUS AND METHOD FOR IDENTIFYING DEVIDE TYPE OF SERIALLY INTERCONNEDTED DEVICES”,米国特許番号第11/771,023号、発明の名称”ADDRESS ASSIGNMENT AND TYPE RECOGNITION OF SERIALLY INTERCONNEDTED MEMORY DEVICES OF MIXED TYPE”,および米国特許番号第11/771,241号、発明の名称”SYSTEM AND METHOD OF OPERATING MEMORY DEVICES OF MIXED TYPE”は、システムに直列に接続されたメモリで装置についての装置アドレスを発生させかつ割り当てる方法を説明しており、それらの内容は引用することにより全体的にここに包含される。
メモリ装置24ないし30は、直列に接続されていると考えられる。なぜなら、1つのメモリ装置のデータ入力は、前のメモリ装置のデータ出力に接続され、これにより、連鎖の中の最初と最後のメモリ装置を除いて、直列接続のシステム構成を形成するからである。メモリコントローラ22のチャンネルは、分離されたピンまたは同一のピンによって提供され、導電性のラインに接続されたデータ、アドレス、および制御情報を含む。図2Aの実施例は、1つのチャンネルを含み、1つのチャンネルは、Soutと対応するSinポートを含む。しかしながら、メモリコントローラ22は、個々のメモリ装置の連鎖に適応する適切な数のチャンネルを含むことができる。図2Aの例では、メモリコントローラ22は、クロック信号CKを提供し、クロック信号CKは、すべてのメモリ装置に並列に接続される。
一般的な動作では、メモリコントローラ22は、そのSoutポートを通じてコマンド(命令)を発し、Soutポートは、オペレーションコード(オペコード)、装置アドレス、読出しまたはプログラムのための任意のアドレス情報、およびプログラムのためのデータを含む。コマンドは、直列のビットストリームコマンドパケットのように発せられることができ、パケットは、予め決められた大きさのセグメントに論理的に分割されることができる。各セグメントは、例えば1バイトの大きさであることができる。ビットストリームは、時間上に提供されるビットのシーケンスまたは連続である。コマンドは、最初のメモリ装置24によって受け取られ、メモリ装置24は、装置アドレスを、割当てられたアドレスと比較する。もし、アドレスが一致するならば、メモリ装置24は、コマンドを実行する。コマンドは、自身の出力ポートSoutを介して次のメモリ装置26へ渡され、同様の手順が繰り返される。最終的に、一致する装置アドレスを有するメモリ装置(以下、選択されたメモリ装置)は、コマンドによって特定された動作を実行する。もし、コマンドがリードデータコマンドであるならば、選択されたメモリ装置は、リードデータをその出力ポートSout(図で示されていない)を介して出力し、これは、メモリコントローラ22のSinポートに到達するまで介在するメモリ装置を介して直列に送られる。コマンドとデータは、直列のビットストリームで提供されるので、クロックは、直列のビットをクロックイン/アウトするために、また、内部のメモリ装置の動作を同期化するために、各々のメモリ装置によって使用される。このクロックは、システム20のすべてのメモリ装置によって使用される。
図2Aによるシステムで使用されるクロック周波数は、比較的低いので、終端しない十分な振幅(unterminated full swing)のCMOSの信号レベルは、堅牢なデータ通信を提供するために使用することができる。これはまた、LVTTL信号として言及され、当業者には公知である。
図2Aのシステム20のさらなる性能の改善は、図2Bのシステムにより得ることができる。図2Bのシステム40は、ソース同期クロック信号CKを提供する別のメモリコントローラ42から各々のメモリ装置にクロック信号CKが直列に提供されることを除けば、図2Aのシステム20と類似している。各々のメモリ装置44、46、48および50は、クロック入力ポートにソース同期クロックを受け取ることができ、そしてそれを、クロック出力ポートを介してシステム内の次の装置へ転送することができる。システム40の例では、クロック信号CKは、1つのメモリ装置から、短い信号ラインを介して、別のメモリ装置へと送られる。それゆえ、並列クロック分配スキームに関連したクロック性能の問題は存在せず、クロックCKは、高い周波数で動作することができる。従って、システム40は、図2Aのシステム20よりも非常に高速で動作することができる。例えば、高速トランシーバ論理(high speed transceiver logic、HSTL)信号送信は、高性能のデータ通信を提供するために利用され得る。HSTL信号送信フォーマットでは、各々のメモリ装置は、入力されるデータ信号の論理状態を決定するために用いられる基準電圧を受け取ることができる。他の類似の信号送信フォーマットは、SSTL信号送信フォーマットである。従って、システム20と40のメモリ装置のデータおよびクロック入力回路は、互いに異って構成される。HSTLおよびSSTL信号送信フォーマットの双方は、当業者には周知である。
図3Aおよび図3Bは、システムのブロック図であり、図3Aのシステムのメモリ装置は、クロックを並列に受け取り、図3Bのシステムのメモリ装置は、クロックを直列に受け取る。ここで述べられる実施例では、双方のシステムは、メモリコントローラを有するリングトポロジーで互いに直列に接続されたメモリ装置を有するシステムである。各々のメモリ装置は、メモリコントローラもしくは前のメモリ装置から受け取られた1つもしくはそれ以上のシリアルビットストリームでコマンドおよびデータを受け取るように設計される。概して、コマンドおよび読み出されたデータは、システム内の各メモリ装置を介して直列に流れる。従って、このようなメモリ装置は、それらの入力および出力インターフェース回路がデータを直列に受け取りかつ提供するので、シリアルメモリ装置として参照され得る。図3Aと図3Bのシステムの実施例では、4つのメモリ装置が示され、メモリコントローラを有するリングトポロジーで直列に接続されているが、適切な数のメモリ装置がいずれのシステムにおいて含み得る。
図3Aにおいて、システム100は、メモリコントローラ102と、4つのメモリ装置104、106、108および110とを含む。メモリコントローラ102は、制御信号をメモリ装置へ並列に提供する。これらは、チップイネーブル信号CE#と、リセット信号RST#とを含む。CE#の1つの使用例では、メモリ装置は、CE#が低論理レベルにあるとき、イネーブルされる。先に検討された装置では、フラッシュメモリ装置が一旦プログラムまたは消去動作を開始すると、CE#は、アサートされなくなるか(de-asserted)、つまりは高論理レベルに駆動される。しかしながら、本実施例では、アサートされないCE#は、ディスエーブルされたシリアルメモリ装置のSinからSoutへの通信を無効にする効果を有する。シリアルメモリ装置はリング状に接続されるので、メモリ装置をディスエーブルすることは、リング内の通信を遮断し、メモリコントローラは、メモリシステム内のすべてのメモリ装置と通信することができなくなる。
その結果、CE#は、すべてのシリアルメモリ装置への共通の信号であり、CE#は、全体のメモリを低電力状態に置くために利用される。RST#の1つの使用例では、メモリ装置は、RST#が低論理レベルのとき、リセットモードにセットされる。リセットモードでは、電力は安定化され、メモリ装置は、すべての限りのあるステートマシンを(finite state machines)を初期化し、かつコンフィギュレーションおよび状態レジスタをデフォルト状態にリセットすることよって、動作のためそれ自身を準備させる。メモリコントローラ102は、相補的なクロック信号CKおよびCK#を提供するクロック出力ポートCKO#とCKOと、システムの最後のメモリ装置からの相補的なクロック信号を受け取るクロック入力ポートCKI#とCKIを含む。各メモリ装置は、受信したクロックの位相を生成するためのDLLもしくはPLLのようなクロックシンセサイザを含むことができる。ある位相は、内部的に信頼性のある動作を確実にするため、入力データの有効なウィンドー内にクロックエッジを集めるために利用される。各メモリ装置は、相補的なクロック信号を次のメモリ装置のクロック入力ポートへ通過させるためのクロック出力ポートCKO#およびCKOと、メモリコントローラ102もしくは前のメモリ装置のいずれかから相補的なクロック信号を受け取るためのクロック入力ポートCKIおよびCKI#を有する。最後のメモリ装置110は、クロック信号を元のメモリコントローラ102へ提供する。
メモリコントローラ102のチャンネルは、データ出力ポートSout、データ入力ポートSin、コマンドストローブ入力CSI、コマンドストローブ出力CSO(CSIのエコー)、データストローブ入力DSI、およびデータストローブ出力DSO(DSIのエコー)を含む。出力ポートSoutと入力ポートSinは、1ビットの幅か、もしくはnビットの幅であることができる。nは正の整数であり、メモリコントローラの特性に依存する。例えば、nが1であるとすれば、1バイトのデータは、データをラッチする8つのクロックエッジ後に受け取られる。データをラッチするクロックエッジは、例えば、シングルデータレート(SDR)動作の立ち上がりクロックエッジ、あるいは、例えば、ダブルデータレート(DDR)の立ち上がりエッジおよび立下りエッジの双方であることができる。もし、nが2である場合は、1バイトのデータは、4つのラッチするクロックのエッジの後に受け取られる。もし、nが4である場合は、1バイトのデータは、2つのラッチするクロックエッジ後に受け取られる。メモリ装置は、SoutおよびSinの幅について、静的に構成されあるいは動的に構成されることができる。それゆえ、nが1よりも大きい場合の構成では、メモリコントローラは、並列のビットストリームのデータを提供する。CSIは、入力ポートSinに出現するラッチコマンドデータを制御しまたはイネーブルするために使用され、また、CSIは、コマンドがデータ入力ポートSinに存在するときの時間を定めるパルス持続時間を有する。より具体的には、コマンドデータは、多数のクロックサイクルによって測定された持続時間を有し、CSI信号のパルス持続時間は、対応する持続時間を有することになる。DSIは、リードデータを出力するため、選択されたメモリ装置の出力ポートSoutバッファをイネーブルするために用いられ、DSIは、データ出力ポートSoutから提供されるリードデータの範囲を定めるパルス持続時間を有し、その結果、メモリコントローラは、最後のメモリ装置からのリターン中のデータをいつラッチすべきかを知る。
図3Aのここで述べられた実施例は、高速動作を意図されているので、HSTL信号送信フォーマットのような高速信号送信フォーマットが使用される。それゆえ、基準電圧VREFは、各々のメモリ装置に提供され、かつSin、CSIおよびDSI入力ポートで受け取られた信号の論理レベルを決定するために各メモリ装置によって利用される。基準電圧VREFは、例えばプリント回路基板上の他の回路によって発生されてもよく、基準電圧VREFは、HSTL信号の電圧スイングの中間地点に基づき、予め決められた電圧レベルにセットされる。
図3Aの実施例の使用では、各メモリ装置は、プリント回路基板上に位置決めされ、あるメモリ装置のSout出力ポートピンと、リング内の隣のメモリ装置のSin入力ポートピンとの間の距離と信号トラックの長さが最小にされる。これとは別に、4つのメモリ装置は、システムインパッケージモジュール(SIP)内に集めることができ、これは、さらに信号トラックの長さを最小にする。メモリコントローラ102およびメモリ装置104ないし110は、リングトポロジーを形成するために直列に接続され、すなわち、最後のメモリ装置110は、その出力をもとのメモリコントローラ102へ提供する。従って、メモリ装置110とメモリコントローラ102との間の距離が簡単に最小化されることが当業者に理解される。
図3Bでは、システム200は、メモリコントローラ202と、メモリ装置204、206、208および210とを含む。メモリコントローラ202は、クロック信号が並列に提供されることを除いて、図3Aで例示されたメモリコントローラ102のものと類似した機能を提供するよう設計され得る。それゆえ、各メモリ装置のクロック出力ポートCKO#およびCKOは、備え付けられていないか、あるいは接続されない。さらに、データおよびストローブ信号のための信号送信フォーマットは、図3Bのシステムと比較して図3Aのシステムと異なる。例えば、図3Bのシステムの信号送信フォーマットは、フルスイングの終端しないLVTTL(full swing un-terminated LVTTL)信号送信フォーマットであることができる。低クロック周波数であるいは低クロック周波数と関連して使用されるLVTTL信号送信は、基準電圧VREFを使用しない。図3Bのシステムでのみ使用するためのメモリ装置は、VREF入力を必要としない。もし、VREF入力が存在すれば、それは、VREFを必要とする高速信号送信規定によりメモリ装置が通信を行うことができるためである。そのような場合、VREFは、都合の良い信号送信の中間地点以外の電圧レベルにセットされるか、もしくは、LVTTL信号送信が利用されていることを示すようにセットされる。例えば、そのような装置にとっては、VREFは、VDDかVSSのどちらかにセットされることができ、LVTTL信号送信および図3Bによるネットワーク構成を示し、これは、HSTL信号送信および図3Aによるネットワーク構成とは対照的である。
本実施例によれば、図3Aのメモリ装置104、106、108および110と、図3Bのメモリ装置204、206、208および210は、他のメモリ装置に直列の相互接続のために設計された入力/出力インターフェースを有するあらゆるタイプのメモリ装置であることができる。ここで述べられた実施例によると、図3Aおよび図3Bのメモリ装置は同一であることができ、それゆえ、図3Aおよび図3Bのメモリ装置は、両システムにおいて動作可能である。その理由は、それらのメモリ装置が、LVTTL入力信号またはHSTL入力信号で動作することのできる入力および出力バッファ回路を有するからである。メモリ装置がLVTTLもしくはHSTL信号と等価な他のタイプの信号フォーマットで動作する入力および出力バッファ回路を含み得ることを当業者は理解しよう。これらのメモリ装置は、フラッシュメモリ装置を含むことができるが、これらのメモリ装置はまた、DRAM、SRAM、またはその他の適切なタイプの揮発性または不揮発性のメモリ装置であることができる。
図4は、図3Aおよび図3Bのシステムでの使用に適したコアと入力/出力インターフェースとを有する一般的なメモリ装置の概念的な構成を例示するブロック図である。メモリ装置300は、メモリコアを含み、メモリコアは、メモリアレイバンク302と304と、メモリアレイバンク302および304へアクセスするための制御およびI/O回路306を含む。当業者は、メモリアレイがシングルメモリバンク、もしくは2つ以上のメモリバンクで構成され得ることを理解しよう。メモリコアは、例えば、DRAM、SRAM、NANDフラッシュ、もしくはNORフラッシュメモリをベースとすることができる。もちろん、他の適切な新生のメモリやその対応する制御回路が利用され得る。それゆえ、メモリコアのタイプによって、回路ブロック306は、誤り訂正論理、電圧発生器、リフレッシュ論理、および、メモリタイプに備わった動作を実行するために必要とされる他の回路ブロックを含むことができる。
典型的に、メモリ装置は、内部の制御信号をアサートすることによって、受け取ったコマンドに応答して関連する回路を初期化するためのコマンドデコーダーを使用する。それらはまた、データ、コマンドおよびアドレスを受け取りかつラッチするための公知のI/O回路を含む。従来のフラッシュメモリの対応する回路とは異なり、本発明のメモリ装置は、シリアルインターフェースと制御論理ブロック308とを含む。このブロックは、RST#、CE#、CK#、CK、CSI、DSIおよびSinの入力を受け取り、Sout、CSO、DSO、CKO、およびCKO#の出力を提供する。
インターフェースおよび制御論理ブロック308は、共有の米国特許公開第20070076479A1で述べられているように、様々な機能に対して責任をもつ。インターフェースおよび制御論理ブロック308の例示的な機能は、装置に識別番号をセットすること、データを次の直列に接続されたメモリ装置へ渡すこと、ならびに、本来の動作を実行するために受け取ったコマンドをデコードすることを含む。この回路は、コマンドを直列に受け取り、メモリアレイに情報を蓄積しあるいはそこから抽出するコマンドを含むコアメモリ回路を制御するために特有な本来のコマンドに加えて、メモリ装置のシリアル動作を制御しまたは構成するべき特有のコマンドを含む。例えば、ここで述べられた実施例のメモリ装置は、シリアルリンクの管理に関連するコマンド(例えば、状態レジスタにリードアクセスを提供するコマンド)に加えて、情報の蓄積や抽出に関連する本来のコマンドの双方のコマンドに応じる。コマンドセットは、メモリ装置が直列に接続されたときにメモリコントローラによって利用可能な特徴を含むように拡張されることができる。例えば、状態レジスタ情報は、メモリ装置の状態を評価するために要求されることができる。
装置識別(ID)番号の設定は、いくつかの方法で行われることができる。例えば、装置ID番号は、各メモリ装置にプリセットされるか、あるいはハードワイヤードされることができ、もしくは、装置ID番号は、メモリコントローラによって割り当てられることができる。1つの技術は、ID番号が自身によって割り当てられ(セルフアサインメントされ)、これは、2006年12月20日に出願された、共有の米国出願番号第11/613,563号に開示され、それらの開示は、全体を参照することによって本明細書に含まれる。ID番号のセルフアサインメントでは、書き込みID動作は、最初のメモリ装置内で開始され、そのメモリ装置にIDを確立させる。最初のメモリ装置は、Sin入力の状態を取得することで第1の値を受け取る。最初のメモリ装置は、次に、第1の値から装置IDを確立し、この確立は、第1の値を、装置に関連したストレージ(例えば、レジスタ)内に置くことを含む。最初のメモリ装置は、入力の取得した状態から第2の値を発生する。第2の値は、例えば、第1の値に1を増加した値であることができる。最初のメモリ装置は、Sout出力から第2のメモリ装置へ第2の値を出力する。第2のメモリ装置は、第2の値を受け取り、上記のプロセスを繰り返し、固有のIDを確立する。
他の装置ID番号の割り当て技術は、2007年8月22日に出願された米国出願番号第11/843,024号に開示され、それらの内容は、参照することによって本明細書に含まれる。この技術では、システムのメモリ装置は、最初にリセット状態へと初期化され、さらにメモリコントローラは、反復して、固有の装置ID番号を各メモリ装置に発する。最初のメモリ装置は、割当てられたID番号を受け取りこれを承諾し、そして、リセット状態から抜け出す。リセット状態では、メモリ装置は、装置ID番号を後に続く次のメモリ装置へ渡さない。メモリコントローラは、割り当てられたID番号のエコーのためデータ入力を監視する。もし、エコーが、所定の時間期間後に受け取られない場合は、次のID番号が発せられ、リセット状態にない介在するメモリ装置は、ID番号を次のメモリ装置へ渡す。
図3Aおよび図3Bのシステムは、各々がホストシステムに対し異なる利点を提供する、メモリ装置タイプの混合を含むことができる。混合タイプのメモリ装置を有するそのようなシステムは、2006年12月6日に出願された共有の米国特許出願第60/868,773号において開示され、それらの開示は、全体を参照することによって本明細書に組み入れられる。さらなる詳細は、共有の米国特許出願第11/771,023の『混合タイプの直列に相互接続されたメモリ装置のアドレスの割り当ておよびタイプの認識』と、共有の米国特許出願第11/771,241号の『混合タイプのメモリ装置を動作するシステムおよび方法』で開示されたようなシステムであり、それらの内容は、参照することによって本明細書に組み入れられる。例えば、高速のDRAMメモリは、キャッシュとして利用することができ、その一方で、不揮発性のフラッシュメモリは、低電力の大容量データストレージのために利用されることができる。メモリ装置が使用されるタイプとは関係なく、各メモリ装置は、個々にアドレス可能であり、コマンドで動作し、これは、インターフェースおよび制御論理ブロック308が予め決められたプロトコルによるコマンドを受け取るためである。さらに、非メモリ装置であっても、図3A、3Bのシステム内に含まれることができ、それらは、直列に受信したコマンドで動作することができ、かつコマンドやリードデータをシステム内の次の装置に渡すことができるように設けられる。
図3A、図3Bおよび図4で示されたメモリ装置の利点は、x8の物理的なデバイス幅であるよう製造されたメモリ装置であり、つまり、メモリ装置は、Sin[0:7]の直列入力ポートと、対応するSout[0:7]の直列出力ポートとを有し、すべての入力および出力ポートを使用する必要がないということである。これが意味するところは、単一のx8のシリアルメモリ装置は、異なる効果のチャンネル幅を有する多様なシステムで使用されるように選択的かつ動的に構成され得ることである。この性能の利点は、システム設計者が、新しいシステムを構築するときに、広範な選択肢の入手可能なパーツから選ぶことができるという点である。この利点の他の面は、メモリ提供者が、狭いリンクを有するシステム内に本質的に広範なメモリ装置を受け入れさせることができる点である。
図5Aは、ひとつの可能性のある方法で、メモリダイ402をカプセル封止するパッケージ400の上から見た図を示している。メモリダイ402を有するパッケージ400は、図3Aおよび図3Bで示されたメモリ装置に対応する。パッケージ400は、データ入力ピン404と、データ出力ピン408とを有し、それらは、ダイ402をプリント回路基板(PCB)412に電気的に接続するための構造である。PCB412には、一連の導電性トラックもしくはトレース460および410が含まれており、それらは、パッケージ400のピン404および408に接続される。図5Aでは、各組のトレース406および410は、8つの個々のトレースを含む。メモリダイ402は、データ入力パッド414と、対応するデータ出力パッド418とを有する。データ入力パッド414は、対応するデータ入力ピン404へ電気的に接続され、データ出力パッド418は、対応するデータ出力ピン408へ電気的に接続される。これらの電気的な接続は、ここではボンドワイヤ416として図5Aに示されるが、この代わりにはんだバンプを使用することもできる。本実施例では、データ入出力のパッドとピンのみが示されているが、制御信号入力および出力、および電圧供給入力は、図の簡略化のために示されていない。
図5Bは、ひとつの可能性のある構成で、2つのメモリダイ452と454をカプセル封止するシステムインパッケージ(SIP)450の側面を表す図であり、メモリダイ452および454は、図5Aで示されたメモリダイ402と同じものである。各メモリダイは、データ入力パッド414とデータ出力パッド418を有する。マルチチップパッケージとしてもまた言及されるが、SIP450は、データ入力ピン456とデータ出力ピン456とを有する。ここでは、データ入力ピン、データ出力ピン、データ入力パッドおよびデータ出力パッドの1つのみを示している。2つのメモリダイは、並んで位置決めされ、メモリダイ452は、ボンドワイヤ460を介してデータ入力ピン456に接続されたデータ入力パッド414を有し、メモリダイ454は、ボンドワイヤ462を介してデータ出力ピン458に接続されたデータ出力パッド418を有する。メモリ装置452は、ボンドワイヤ464を介して、メモリ装置454のデータ入力パッド414に接続されたデータ出力パッド418を有する。このような構成では、ボンドワイヤ460、462および464の内部配線は、PCB412のリンク406/410と等価である。図5Bは、メモリダイの可能性のある内部レイアウトを示し、当業者であれば、ダイ452および454を積み重ねることが可能であることを理解するであろう。
図5Aおよび図5Bの本実施例では、メモリダイは、ダイに形成された入力データパッドと出力データパッドの数で定義される物理的な装置幅(device width)を有する。パッケージ幅は、パッケージ上の入力データピンと出力データピンの数である。シリアルメモリ装置の入力ポートSin[1:n]および出力ポートSout[1:n]についてのピンは、パッケージ400とメモリダイ402との結合である。リンク幅は、PCB上に形成された導電性トラックの数である。図5Aのメモリダイ402は、x4の物理的な装置幅を有し、メモリダイ402は、データ入力パッド414を介して4つの入力データストリームを受け取りかつデータ出力パッド418を介して4つの対応するデータ出力ストリームを提供するよう製造される。パッケージ400は、2つの入力データピン404と2つの対応するデータ出力ピン418とを有する。リンク幅は、合計8つであるが、上の2つだけがパッケージ400のピンに接続されている。アクティブなまたはイネーブルされるメモリダイ402のデータ入力パッド414およびデータ出力パッド418の最大数は、パッケージ400のデータピン404/408の最大数によって物理的に制限される。この観点から、メモリダイ402およびパッケージ400のデータピンまたはデータパッドへの参照は、便宜上、データ入力と出力のパッドおよびピンの両方を含む。メモリダイ402の下の2つのデータパッド414/418は、接続されていないので、それらは使用から動的にディスエーブルされ、メモリダイ402は、上の2つのデータパッド414/418からのみデータを受け取りまたはデータを提供する。使用中に、下の2つのデータ入力パッド414は、オープンしたままにすることができ、下の2つのデータ出力パッド418は、VSSのような供給電圧に接続することができる。それゆえ、このパッケージ400を含むシステムであれば、アクティブ幅は、x1かx2のいずれかであることができる。このパッケージの例についての最大のアクティブ幅は、x2であり、最大のアクティブ幅は、システムのデータ幅を参照する。本実施例のメモリダイ402は、x4のダイとして製造されるけれども、メモリダイ402は、x4の幅未満で動作するように動的に構成され得る。本実施例において、もし、このパッケージ400のメモリダイ402がx4の幅で動作するように動的に構成されるならば、実際には予想していた半分のビットだけを受け取るであろう。そのように構成されたシステムは、非機能的であろう。
表1は、リンク幅、パッケージのデータピン数、合計で1、2、4、8のデータパッドで製造されたメモリダイについての使用可能なデータパッドの最大数の組合せの例を示している。
Figure 2010519626
最後の列が表している“最大の使用可能なデータパス幅”は、これらの特性の各々の組合せにとって、システム内の装置のための使用可能な最大のデータパッドの数を例示している。最初の3つの列の各々の物理的な特性に等しいかそれよりも小さい最大の整数である。例えば、このメモリ装置を次のメモリ装置へ接続する物理的なリンク幅が2ビット幅であり、メモリダイがx2で製造されかつx4のパッケージにカプセル封止されるならば、最大の使用可能なデータパッドの数は、多くとも2である。表1に示されるすべての組合せは、物理的なパッケージのデータ幅が、メモリダイのデータ幅と等しいかそれよりも大きいという性質を有する。しかしながら、メモリダイのデータ幅は、一般に、パッケージのデータ幅よりも大きくすることができる。
それゆえ、本実施例で述べられたメモリ装置の動的な構成可能性は、適切な数のデータピンを有するパッケージでの使用を可能にする。パッケージがメモリ装置のアクティブなデータパッドよりも大きな数のデータピンを有している構成があることが表1に示されていることに留意すべきである。メモリ装置の特性を、メモリコントローラに直接利用することができるようにするために、メモリ装置は、これらの特性をエンコードする、メモリコントローラによって読取り可能な1つまたはそれ以上のレジスタを含む。特に、メモリ装置は、ダイのSinおよびSoutデータポートの幅をエンコードするI/O幅レジスタを含み、この幅をメモリコントローラに利用可能にさせる。その他の実施例は、このようなレジスタ、または他のレジスタ内にも同様に、物理的なパッケージ幅を含ませることができる。これら2つの分類の実施例間の主な区別は、物理的なパッケージ幅がメモリダイのデータ幅と等しいかそれよりも大きいという表1に見られるような上記した制約から生じる。もし、この制約が存在する場合には、I/O幅レジスタは、メモリダイのデータ幅をエンコードすることのみ必要とする。もし、制約が存在しない場合には、I/O幅レジスタは、物理的なパッケージのデータ幅とメモリダイのデータ幅の2つか、2つのうちのより少ない方のいずれかをエンコードする必要がある。現在イネーブルされた入力および出力データピンの数を設定する目的で、パッケージに追加のピンを設けることは望ましくないので、ダイは、カレントアクティブ幅レジスタを含む。ダイは、このレジスタに格納された値により動的に構成され、使用のためにイネーブルされた入力および出力のパッドの数は、格納される値と等しいか、あるいはカレントアクティブデータ幅を示す他の適切な値に等しい。もしあっても、物理的な入力および出力データパッドとそれらに対応する回路の残りはディスエーブルされる。PCBおよび/またはシステム構成の物理的なリンク幅に基づき、メモリコントローラは、使用されていないデータパッドをディスエーブルし、全ての連絡(シリアルメモリ装置の中もしくは外側にある)を残りのイネーブルされたデータパッドに向かわせるための適切なデータをカレントアクティブ幅レジスタにロードする。
図6は、構成可能なデータ幅を有するメモリダイの部分的なブロック図の例である。回路ブロックの配列は、物理的なレイアウトもしくは製造されたダイ内のブロックの位置を表すことを意図していない。メモリダイは、図3Aおよび図3Bで示されたシステムで使用されることができる。メモリダイ500は、x4のダイとして設計および製造され、それゆえ、4つのデータ入力パッド502と、4つの対応するデータ出力パッド504とを有する。データ入力パッド502とデータ出力パッド504の各対は、データI/O回路ブロック506に接続される。論理的に、一番上のデータI/O回路ブロック506は、最下位(least significant)であり、“Data_0”とラベルされる。残りのデータI/O回路ブロック506は、増加する論理的な重要さの順番で、“Data_1”、“Data_2”および“Data_3”とラベルされる。各データI/O回路ブロック506は、メモリコア508に接続され、メモリコア508は、メモリアレイ、制御ロジック、およびメモリダイ500の適切な動作のために必要な回路を含む。各データI/O回路ブロック506は、入力データを、対応するデータ出力パッド504および/またはメモリコア508へ転送することができる。メモリコア508から読み出されたデータは、データ出力パッド504を介して出力するために、各データI/O回路ブロック506に提供され得る。いくつかのレジスタがメモリコア508へ結合され、それらは、I/O幅(I/O)レジスタ510、カレントアクティブ幅(CAW)レジスタ512、割当てられた装置アドレス(ADA)レジスタ514、およびブロードキャストアドレス(BA)検出器516を含む。
典型的に、メモリコア508は、内部に非常に多くのデータラインを有するとても広いアレイとして構成される。また、典型的に、広い内部のデータバスは、メモリコアをデータパッドへ結合する、狭いI/Oデータパスに結合される。広いメモリデータパスと狭い内部I/Oデータパス間の結合は、広いデータパスの特定ライン上の狭いデータパスにもしくは狭いデータパスからビットを送信する双方向のマルチプレクサの収集の等価によって達成される。当業者に周知であるこのマルチプレクサの機能を実行するためのいくつかの共通のメカニズムがある。先に検討されたメモリ装置では、これらのマルチプレクサの制御は、メモリコアアクセスのアドレスからの一部を引き出され、典型的に、特に列アドレスからであった。しかしながら、本発明のシリアルメモリ装置では、これらのマルチプレクサの制御は、カレントアクティブ幅レジスタの内容から追加的に得られる。広い内部データパスとI/Oパッドへの狭いI/Oデータパスとの間の配線は、現在使用されるI/Oパッドの数に依存する。この制御の性質は、当業者にとって周知であり、単一のメモリダイの設計は、機能テストもしくはパッケージング中に、固定された幅装置のうちの1つであるようにプログラムされるヒューズであることができるとき、共通であるこれらのマルチプレクサの制御の調整に類似している。類似の状況は、到来するコマンドの制御とアドレス部分を捕獲する問題に関して存在する。これらの部分は、図9との関連で後述されるが、CAWレジスタに格納された値によって異なるデータ入力パッド上に到達する。従って、装置アドレス、オペコードおよびメモリアレイアドレスを一時的に保持するレジスタの適切な位置に到来するビットをシャント(分路)するマルチプレクサは、CAWレジスタの内容に依存する部分でまたすべて制御されなければならない。
I/O幅レジスタ510は、メモリダイ500の最大データ幅構成と選択的にデータパッドが物理的に接続されるパッケージピンの数とを示すデータを格納するようにハードワイヤ接続される。ハードワイヤ接続は、メモリ装置500のパワーアップ後にセンスされる不揮発性データ格納手段をセットすることを含む。そのような不揮発性データ格納手段は、電気的にもしくはレーザーによって遮断することができるヒューズと、電気的に導電性のリンクを生成するように電気的にブロー(blown)されるアンチヒューズとを含む。当業者であれば、あらゆる適切な不揮発性のプログラミング技術が利用可能であることを理解するであろう。CAWレジスタ512は、2つの目的に役立つ。第1に、所望のデータ幅の構成がメモリコントローラによって決定されたとき、構成コードは、メモリコントローラによってシステム内のすべてのメモリ装置へ発せられる。この構成コードは、CAWレジスタ512にロードされ、使用されるべきデータI/O回路ブロック506のみをイネーブルさせ、これにより、電力を節約する。この構成コードはさらに、コマンドデコーダとしてメモリコア508の制御論理によって使用され、メモリ装置500のカレントアクティブデータ幅構成に基づき受け取られまたは提供されたデータの適切なマッピングを確実にする。メモリ装置500の初期のパワーアップ中に、デフォルトのカレントアクティブデータ幅構成が、最小の可能な設定、すなわちx1にセットされる。デフォルトのx1のカレントアクティブデータ幅セッティングでは、論理位置のData_0に対応するデータI/O回路ブロック506のみがイネーブルされる。
ADAレジスタ514は、メモリコントローラによって発せられた、割当てられた装置アドレスを格納し、これにより、メモリ装置500は明確にアドレスされたコマンドで動作する。従って、各メモリ装置にアドレスされたコマンドを発することによって、同一の構成コードは、システム内の各メモリ装置に発せられることができる。そのような全体的な動作は、割当てられた装置アドレスとは無関係に、すべてのメモリ装置に構成コードをブロードキャストすることにより、さらに効果的に実行され得る。後述するように、メモリ装置500は、1つのアドレス、これはブロードキャストアドレスとして参照される、を認識するようにプリセットされ、そのブロードキャストアドレスは、いずれかのメモリ装置に割当てられるのではなく、すべてのメモリ装置によって認識される。選択的に、ブロードキャストアドレスは、システム内のメモリ装置の数と、割当てられた装置アドレスとに基づいて、動的に決定されることができる。それゆえ、このブロードキャストアドレスは、到来するコマンドに関連したアドレスとの比較のためにBA検出器516のレジスタに格納される。
従って、図6に従って構成されたメモリ装置は、図3Aおよび図3Bで示されたようなシステムで使用されることができる。いくつかの例では、システム内のすべてのメモリ装置は、機能的には同一であり、すなわち、それらは、同一のパッケージとその内部にメモリ装置を有する。しかしながら、メモリ装置の混合が、図3Aおよび図3Bのシステムに含まれることができる。システム内のすべてのメモリ装置が同一の物理的なパッケージ幅を有し、かつダイは、同一のデータ幅を有することが可能であり、かつ望まれるが、これは必須ではない。メモリ装置の集合は、たとえメモリ装置が異なる特性を有している場合であっても、図3Aおよび図3Bによるシステム内に配置することができる。
1つの実施例によれば、システムは、システム構築中もしくは作業中(in the filed)に、1つまたはそれ以上のメモリ装置を追加したり削除したりする機能を含む。図7は、動的に調整可能なシステムの実施例を例示したブロック図である。調整可能システム600は、メモリコントローラ602と、固定されたメモリ装置604、606、608、610と、拡張リンク612、614、616、618、および620と、拡張モジュール622、624、および626とを含む。固定されたメモリ装置604、606、608および610は、互いに直列に接続され、また介在する拡張リンクに、およびメモリコントローラ602に直列に接続されている。各拡張リンクは、雄型、雌型、もしくは双方の結合手段であり、対応する結合手段を有するモジュールを取り外し可能に受け取り、保持する。各モジュールは、拡張リンクの端子に直列に接続された少なくとも1つの固定されたメモリ装置611を含む。ここで示された例では、拡張モジュール622および626の各々は、モジュール結合手段の入力コネクタと出力コネクタとの間に直列に接続された4つのメモリ装置を含む。モジュール624は、モジュール結合手段である入力コネクタと出力コネクタとの間に直列に接続された2つのメモリ装置を含む。それゆえ、拡張リンク内にモジュールを挿入することによって、追加の直列に接続されたメモリ装置が、固定されたメモリ装置間に動的に挿入され得る。拡張リンク614および620のように使用されない拡張リンクは、適切なジャンバ628および630を有し、チェーンの連続的な直列の電気的接続を維持する。
調整可能システム600は、適切な数の固定されたメモリ装置と拡張リンクとを含むことができ、メモリモジュールは、適切な数の直列に接続されたメモリ装置を含むことができる。それゆえ、調整可能システム600は、単に新しいモジュールを追加したり、または既存のモジュールをより大きな容量のモジュールへ交換することにより、全体の性能に影響を及ぼすことなく、メモリ容量を十分に拡張することが可能である。同一のチャンネルが追加的に直列に接続されたメモリ装置に使用されるので、メモリコントローラを交換する必要がなく、当業者であれば、CE#やRST#のような並列の制御信号や電力供給を、挿入されたモジュールへどのように接続するのかを理解するであろう。モジュールが挿入された後に、もしくはモジュールが取り除かれた後に、メモリコントローラは、システム600内の新しい一連のメモリ装置のために自動装置ID発生を開始することができる。
このような実施例において、システム内にメモリ装置を混合することができ、異なるメモリ装置は、異なる物理的なパッケージデータ幅とダイデータ幅とを有することができる。従って、システム600の最大アクティブデータパス幅は、すべてのメモリ装置の中での、リンク幅、パッケージ幅およびダイ幅の最も小さなものである。通常のメモリ動作が開始され得る前に、システムの最大アクティブデータパス幅が決定される。システムの最大アクティブデータパス幅が一旦決定されると、すべてのメモリ装置は、最大データ幅に等しいかそれよりも小さいカレントアクティブデータで動作する。システムの最大データ幅の決定およびアクティブデータ幅の設定は、メモリコントローラによって実行される。図8Aは、ここで説明された実施例による、システムのメモリ装置のカレントアクティブデータ幅をセットする方法の概要を示すフローチャートである。この方法は、図8Bに示された例示的システムを参照することによって説明される。
図8Aの方法は、図8Bのシステムのパワーアップ初期化ルーチンの一部として実行される。メモリコントローラ700は、最大x4のデータ幅まで構成することが可能であとと仮定され、それゆえ、メモリコントローラ700は、システムのPCB上に施された4つの物理的な導電ライン702に電気的に接続された4つのデータ出力ポートを有する。図8Bには示されていないが、メモリコントローラ700は、最後のメモリ装置のデータ出力ポートに直接接続された4つの物理的な導電ラインに接続された4つのデータ入力ポートを有する。各メモリパッケージ704と706は、PCBの導電ライン702に結合されまたは選択的に結合されたデータピンを有する。図の簡略化のために、最後のメモリ装置からメモリコントローラ700へのデータの戻りのパスは省略され、メモリ装置によって使用される制御信号も同様に省略されている。メモリパッケージ704は、2つの入力および出力のデータピンを有するが、他方、メモリパッケージ706は、4つの入力および出力のデータピンを有する。メモリ装置708は、x4であるように製造され、メモリ装置708は、パッケージ704のピンに結合された最初の2つの入力/出力データパッドのみを有する。メモリ装置710は、x1であるよう製造され、メモリ装置710は、パッケージ706の最上部のピンに結合された入力/出力データパッドを有する。
この方法は、システムのパワーアップ後に始まり、それゆえ、すべてのメモリ装置は、x1のアクティブデータ幅構成にデフォルト(初期設定)され、メモリコントローラは、ステップ750で、x1のデータ構成で出力するよう初期設定(デフォルト)する。この構成では、最も上のピンが論理Data_0の位置と仮定され、これは、デフォルトのアクティブデータ幅構成に使用される。すべてのメモリ装置は、メモリコントローラによって発せられたデータをx1のリンク幅で受け取る。メモリコントローラは、それからステップ752でID番号の生成を実行し、この実行は、メモリID番号の生成に向けられた上記の共有の米国特許出願に開示された技術に従う。ID番号が割当てられ、かつ各メモリ装置の各ADAレジスタ514に格納された後、メモリコントローラは、ステップ754で、対応するコマンドを発することによって各メモリ装置のI/O幅レジスタ510を個々にアクセスする。メモリコントローラは、次に、すべてのI/O幅レジスタデータを集合し、ステップ756で、システム内の全てのメモリ装置における、リンク幅、パッケージ幅、およびダイ幅の最も小さいものを算術的に決定する。例えば、図8Bのシステムでは、メモリ装置708は、2の範囲のアクティブデータ幅を有し、メモリ装置710は、1の範囲の最大アクティブデータ幅を有する。メモリ装置710は、2番目のデータピンを有していないので、共通のアクティブデータ幅は1つである。
I/O幅レジスタは、メモリコントローラに、リング内の各シリアルメモリ装置の物理的なパッケージデータ幅、および/またはメモリダイデータポート幅を知らせる。もし、双方が提供されない場合は、他方よりもより低い範囲(bound)が、慣行に従って、提供されている1つから必然的に推論されることができる。最大の利用可能なデータパス幅を決定するために、メモリコントローラは、また、システム内の最小リンク幅を識別しなければならない。これを認識するための最もストレートな方法は、リンクセグメントがメモリコントローラのデータポート幅よりも狭くならないようにすることを明確にすることであり、これを本質的に知ることである。代替は、すべてのリンクセグメントが同じ幅を有すること、およびリンクトレース406に接続された入力に弱いプルアップもしくはプルダウン抵抗(すなわち大きな抵抗値)を配置することにより、Sin入力ポートに接続されたリンクセグメントのリンク幅をメモリコントローラが決定することができることを要求することである。リングがディスエーブルされたとき(CE#信号を介して)、入力の電圧を感知することにより、メモリコントローラは、リング周囲の最小のリンク幅を決定することができ、これにより、全体のリングの最大の使用可能なデータパス幅を計算することができる。依然として、多くのその他の代替は、すべてのリンク幅がリング内の最も狭いシリアルメモリ装置よりも必ず広いという慣行をあてにする。この想定により、メモリコントローラは、物理的なパッケージデータ幅上の単独で最大利用可能なデータパス幅および/またはリング内の装置のメモリダイデータポート幅を決定することができる。
ステップ758では、メモリコントローラ700は、最大の利用可能なデータパス幅と等しいかそれよりも小さい値であるべきシステムについての最終的なアクティブデータパス幅をセットするために、好ましい動作プロファイルを適用する。例えば、1つの動作プロファイルは、高性能であることができ、第2の動作プロファイルは、最小限の電力消費であることができ、第3のプロファイルは、性能と電力のバランスされたものであることができる。高性能プロファイルでは、最大データ幅が選択される。他方、最小化された電力消費プロファイルは、最小データ幅(すなわちx1)が選択されるよう命令することができる。性能と電力がバランスされたプロファイルは、システムの最大データ幅より下の値であることができる。適応型のプロファイルは、特定の性能、電力および温度制約や最適化に依存して、通常動作の進行中にまたはあるシステムレベルの電力または性能の状態から他のものへ遷移するときに、アクティブデータパス幅を変化させる。例えば、アクティブデータ幅は、サーマルオーバー温度事象の結果として、システムの全体的なスロットリング(throttling)の一部として、大きな値から小さな値へと変化させることができる。メモリコントローラ700もしくはホストシステム12で動作するソフトウエアが使用される共通のアクティブデータ幅をいったん決定すると、各メモリ装置は、ステップ760で、CAWレジスタ512に適切な構成コードをロードするためにアクセスされる。これは、ブロードキャストコマンドまたはすべてのシリアルメモリ装置のアクティブデータパス幅を本質的に同時に変更する他の互換性のあるメカニズムによって実施される必要があり、なぜなら、もし、リング上の2つの隣接する装置がそれらを接続するリンクのカレントアクティブ幅の同じ見解(view)を持たないならば、リングは、たとえ一時的であっても、正確に動作することができないからである。図8Bの本例では、システムの最大の利用可能なデータ幅はx1であり、従って、メモリ装置708は、デフォルトのx1のデータ幅のままであり、メモリ装置710は、デフォルトのx1のデータ幅のままである。図8Bの例では、もし、すべてのメモリ装置がx1の最大データ幅を有する場合は、ステップ758は必要とされない。同様に、この場合、ステップ760は任意である。それは、すべてのシリアルメモリ装置が、ステップ750でx1の装置として既に動作しているからである。
全てのメモリ装置が、決定されたアクティブデータ幅を有するように構成され、さらに、初期化動作もしくは通常動作が開始され得る。他の初期化動作より前に、図8Aの方法を実施することは有益である。なぜならば、もし、アクティブデータ幅がデフォルトx1の構成よりも大きくセットされるならば、次の動作がより迅速に実行され得るからである。異なる物理的なパッケージおよびダイパッドのデータ幅構成を有するメモリ装置の混合は、同一システム内で一緒に使用され得る。図7の実施例では、図8Aの方法は、拡張モジュールが除去または追加された後のパワーアップの各時間後に実行される。
前述したように、ブロードキャスティングは、システム内のすべてのメモリ装置への共通のコマンドの分配を簡略化するための技術である。ブロードキャスティングがなければ、個別のコマンドが、装置アドレスによって各メモリ装置に発せられる。これでは、装置が既にコマンドを発行したトラックを維持する必要があるので、メモリコントローラにより多くの時間とオーバーヘッドを必要とする。もし、メモリコントローラが安全に遮断されなければ、コマンドを受け取らないメモリ装置が存在するかもしれない。図3Aおよび図3Bのシステムでは、メモリコントローラによって発行されたいずれのコマンドパケットは、すべてのメモリ装置を介して伝播し、そして、コマンドの装置アドレスと一致する割当てられた装置アドレスを有するメモリ装置のみがコマンドで動作する。すべてのその他のメモリ装置は、コマンドを無視する。ここで述べられたブロードキャスティング技術では、メモリコントローラは、1つのコマンドパケットを発行し、このコマンドは、コマンドパケットが全てのメモリ装置を介して伝播されたときに各メモリ装置によって動作される。
コマンドパケット800は、図9に例示される構成を有し、コマンドパケット800は、3つのフィールドを含み、その2つは、特定のコマンドがメモリコントローラによって発せられることに依存して任意(選択的)である。最初のフィールドは、必須フィールドであり、コマンドフィールド802である。第1の選択的なフィールドは、アドレスフィールド804であり、第2の選択的なフィールドはデータフィールド806である。
コマンドフィールド802は、2つのサブフィールドを含み、第1のサブフィールドは、装置アドレス(DA)フィールド808であり、第2のサブフィールドは、オペコードフィールド810である。装置アドレスフィールド808は、適切な数のビット長であることができ、システム内の各メモリ装置をアドレスするために使用される。例えば、長さ1バイト(8ビット)の装置アドレスフィールド808は、256(2^8)までのメモリ装置をアドレスするのに十分であるが、装置アドレスフィールド808は、所望の長さであることができる。1つのアドレスは、全てのメモリ装置に同時にアドレスするために、すなわち、ブロードキャストする動作のために用意しておくことができる。他の実施例では、装置アドレスフィールド808は、オペコード810が向けられるメモリ装置のタイプを示すための装置タイプフィールドを含むことができる。例えば、装置タイプフィールドは、DRAM、SRAM、もしくはフラッシュメモリを示すことができる。オペコードフィールド810は、適切な数のメモリ装置のためのコマンドを表すために、適切な数のビット長さであることができ、また、オペコードフィールド810は、バンクアドレスを含むことができる。例えば、フラッシュメモリコマンドセットは、固有の違いの観点から、DRAMのコマンドセットとは異なったコマンドを有し、それゆえ、もし、システムが両タイプのメモリ装置を含むならば、オペコードフィールドには、両方のコマンドセットからすべての可能性のあるコマンドを伴う機能が割当てられる。しかしながら、種々のタイプのメモリを処理するための好ましい代替は、2つのコマンドの集合に分割されたオペコード空間を有することでる:リング動作に関連するコマンドと、メモリアレイ動作に関連するコマンドである。前者のセットは、全てのメモリタイプに一致することができるが、第2のグループはそうである必要はない。このグループのオペコードの記号論(semantics)は、メモリタイプに特有であろう。例えば、フラッシュメモリに発せられた際にプログラムを意味した特定のオペコードは、DRAMに提供された際には、リフレッシュを意味することができる。メモリコントローラは、どの種類のメモリが各割当てられた装置アドレスであるかを知る必要があるので、これらの機能が同じオペコードを共有するかどうかは問題ではない。アドレスフィールド804は、オペコードによって特定された動作のタイプによって、メモリアレイの行アドレス(Row Addr)、列アドレス(Col Addr)、またはフルアドレス(full address)のいずれかを提供するために使用される。データフィールド806は、メモリ装置へ書き込まれるかまたはプログラムされるべき適切な数のデータのビットを含む。それゆえ、書き込みデータが特定の動作のために必要とされないかもしれず、また、アドレスと書き込みデータの双方が特定の動作のために必要とされないかもしれないため、コマンドパケット800は、サイズを可変する。
図10は、図4で示された構成を有するフラッシュメモリ装置を動作するために使用され得るコマンドパケットの例の一覧表であり、前述された図3Aおよび図3Bのシステムで使用される。図10におけるバイトの位置は、それらがメモリ装置によって直列に受け取られる順序に対応する。コマンドフィールド802は、第1および第2のバイト位置を占め、それは、情報の最初のバイトとしての装置アドレス(DA)と、情報の2番目のバイトとしての動作に対応するオペコードとを含む。オペコードは、16進法の値として表され、“X”は、バイトの後半分の4ビットがいかなる値であり得ることを示す。図10のフラッシュのオペコードの特有のケースでは、いくつかのコマンドについてオペコードバイトの第2のニブルで、“X”で表された4つの使用されないビットは、バンクアドレスの位置である。この方法では、概念的に、いくつかのコマンドは、シリアルメモリ装置に向けられ、いくつかのコマンドは、装置内の特定のバンクに向けられる。オペコードスペースのこの構成は、単一のシリアルメモリ装置内のバンクからバンクの並行とその処理を容易にした。アドレスフィールド804は、3番目のバイトから5番目のバイト位置を占める3バイトの行アドレス(RA)を含むことができるが、他のコマンドのために短くし、3番目のバイトから4番目のバイト位置のみを占める2バイトの列アドレス(CA)を含むようにしてもよい。2バイトの列アドレスを含むコマンドにとって、データがそのような長さであるならば、データフィールド806は、5番目のバイトの位置から第2116番目のバイトの位置もしくはそれを超えて占有する。
メモリコントローラによって発せられたコマンドパケット800は、システム内の各メモリ装置によって直列に受け取られ、コマンドフィールド802のDAサブフィールド808に一致する、割当てられた装置アドレスを有するメモリ装置のみが、オペコードサブフィールド810で動作する。コマンドパケットは、メモリ装置を通して、チェーンの次のメモリ装置へ転送される。オペコードは、特定の動作に特有なので、図4のメモリ装置300のインターフェースおよび制御論理ブロック308は、コマンドパケットのアドレスおよび/またはデータ情報をラッチするために要求された回路を制御する。例えば、もし、ページリードコマンドパケットが、指定されたメモリ装置によって受け取られたならば、指定されたメモリ装置は、オペコードをデコードし、次の3バイトの行アドレスをラッチするように適切な回路を制御する。図10に一覧で記載された例示的なコマンドパケットは、フラッシュメモリ動作に向けられる。異なる動作を有する他のタイプのメモリ装置のための一連のコマンドパケットは、上述のコマンド構造に従うことができる。もし、DAサブフィールド808が長さnビットである場合は、2までの総装置アドレスを提供することができ、これにより、2のメモリ装置までアドレス可能である。ここで述べられた実施例では、(2)−1のアドレスが対応する数のメモリ装置に割当てられ、これらのアドレスのうちの1つは、ブロードキャストアドレスとして用意(リザーブ)される。
図10において、“動作中断(Operation Abort)”コマンドは、特定のメモリ装置に向けられるよう表されている。しかしながら、このコマンドは、第1のバイトを16進法のアドレスFFhにセットすることによって、すべてのメモリ装置へブロードキャストされることができる。本実施例では、アドレスFFhは、コマンドをブロードキャストするために用意された、割当てられていないDAであると仮定される。中断動作は、ソフトリセットに類ており、進行中のすべての動作は、メモリ装置をスタンバイ状態へ戻すように停止される。“Write CAW Register”コマンドは、図10のこのコマンドの装置アドレスがFFhであるブロードキャストコマンドとして表されている。このコマンドは、CAWレジスタ512に選択されたアクティブデータ幅構成コードをロードするため、図8Aの前述の方法で使用される。図10では示されていないが、全てのメモリ装置をプリセットテストモードに置くためのテストコマンドもまた、ブロードキャストであることができる。
図3Aおよび図3Bで示されたシステムのメモリ装置がブロードキャストコマンドに応答するため、単純な論理回路が予め決定されたブロードキャストアドレス(BA)を検出するために使用される。図11は、ここで述べられた実施例の各メモリ装置内の装置アドレス論理の1つの可能性のある回路例を例示する回路図である。図6で示されたメモリ装置を参照すると、この論理は、メモリコア508内で実行されるであろう。
図11において、装置アドレス論理830は、指定された装置アドレスかブロードキャストアドレスのいずれかに応答して受け取られたコマンドパケットで動作するよう、メモリ装置の他の論理および回路をイネーブルするマスターイネーブル信号ENを発生する責任がある。装置アドレス論理830は、メモリコントローラからの割当てられた装置アドレスを格納するADAレジスタ514、XNOR論理832、AND論理833、OR論理834、およびBA検出器516を含む。XNOR論理832は、ADAレジスタ514に格納されたすべてのnビットを受け取り、コマンドパケットの装置アドレスDA[1:n]のnビットとビット毎の比較を実行する。バスDA[1:n]は、一旦、カレントコマンドが完全に受け取られると、カレントコマンドの装置アドレスを伝える。コマンドの装置アドレス部分を受け取るのに必要とされる合計時間は、フィールドの幅(図10の例の1バイト)と、CAWレジスタにエンコードされたカレントアクティブデータパス幅とに依存する。装置アドレスDA[1:n]は、少なくともコマンドパケットが完全に受け取られるまで、レジスタ(図では表されていない)内に一時的に保持される。XNOR論理832は、装置アドレスDA[1:n]のnビット位置と、ADAレジスタ514のnビットの位置との比較に応じて、nの中間出力信号を発生する。AND論理833は、すべてのnの中間出力信号を受け取り、ADAレジスタ514とDA[1:n]との間のすべてのビット位置が一致する場合には、高論理レベルの単一のイネーブル信号en1を発生する。ブロードキャストアドレス(BA)検出器516は、装置アドレス(DA)[1:n]を受け取り、もし、BAがシステム内のすべてのメモリ装置のための予め決定されたBAのセットと一致する場合は、高論理レベルの単一のイネーブル信号en2を発生する。OR論理834は、en1とen2の双方を受け取り、en1かen2のいずれかが高論理レベルへ上昇するとき、高論理レベルのマスターイネーブル信号ENを発生する。それゆえ、メモリ装置は、コマンドパケットが一致する装置アドレスもしくはブロードキャストアドレスを含むとき、コマンドに応じる。上記したように、ブロードキャストアドレスは、プリセットされ固定されることができ、あるいは、メモリコントローラによって動的に割当てられることができる。
図12は、1つの実施例に従ったBA検出器516の回路図である。この実施例では、ブロードキャストアドレスは、プリセットされ、固定され、デコーダ論理836によってデコードされる。この例では、プリセットされたブロードキャストアドレスは、論理“1”のビットの集合であり、それは最も高い論理アドレスを表す。それゆえ、デコーダ論理836は、nの入力を有するNAND論理ゲートとして実施され、各々は、装置アドレスDA[1:n]の1つのビット位置を受け取る。従って、DA[1:n]がすべて論理“1”のビットであるならば、en2は、低論理レベルである。当業者であれば、あらゆるデコーダ論理構成が予め選択されたブロードキャストアドレスに基づいて使用され得ることを理解し、つまり、イネーブル信号en2は、DA[1:n]と予め選択されたブロードキャストアドレス間の一致を示す論理レベルに駆動される。
図13は、他の実施例によるBA検出器516の回路図である。この実施例では、ブロードキャストアドレスは、メモリコントローラによって動的に割当てられ、BAレジスタ838に格納される。この実施例では、メモリコントローラは、選択されたブロードキャストアドレスでBAレジスタ838をロードするコマンドで、各メモリ装置をアドレスする。このコマンドは、図10で示された“Write CAW Register”コマンドと類似し得る。いったんロードされると、BAレジスタのnビットは、XOR論理840で、受け取られた装置アドレスDA[1:n]のnビットと比較される。もし、すべてのビット位置が一致するならば、XOR論理840は、装置アドレスDA[1:n]のnビットの位置とBAレジスタ838のnビットの位置との比較に対応する、nの中間出力信号を発生する。AND論理は、nの中間出力信号を受け取り、DA[1:n]のすべてのアドレスビットが、BAレジスタ838の対応するビットと一致するとき、高論理レベルに駆動された単一のイネーブル信号en2を発生する。
装置アドレス論理830およびBA検出器516の前述された実施例は、一致する装置アドレスもしくはブロードキャストアドレスが受け取られたとき、高論理レベルのイネーブル信号en1およびen2を提供する論理回路で実施される。別の実施例では、反転された論理が使用されることができ、一致する装置アドレスもしくはブロードキャストアドレスが受け取られたとき、イネーブル信号en1およびen2が低論理レベルに駆動される。
それゆえ、図3Aおよび図3Bのシステムは、装置アドレスが割当てられる前後に、ブロードキャスト動作でアドレスされることができる。ブロードキャスト動作は、コマンドパケットがメモリコントローラによって発行されたときに初期化され、また、その動作は、メモリコントローラがシステム内の最後のメモリ装置から発行されたコマンドパケットを受け取るときに完了する。図14は、図3Aおよび図3Bのシステムのすべてのメモリ装置でブロードキャスト動作を実行する方法のフローチャートである。このシステムのブロードキャストは、メモリコントローラがプリセットまたは割当てられたブロードキャストアドレス(以下、単にブロードキャストアドレスと言う)を含むコマンドパケットを発するときのステップ850で始まる。コマンドパケットは、ステップ852のシステムの最初のメモリ装置(以下、メモリ装置iといい、iは、0よりも大きな整数の値である)によって受け取られる。受け取られたとき、図11の装置アドレス論理830のような装置アドレス論理は、コマンドパケット内のブロードキャストアドレスを、格納されたブロードキャストアドレスに一致させ、もしくはブロードキャストアドレスをデコードし、有効なブロードキャストアドレスであるか否かを決定する。
有効であると決定した後、あるいはブロードキャストアドレスが一致した後、メモリ装置は、ステップ854で、コマンドパケットのオペコードコマンドを実行するようイネーブルされる。ステップ856で、コマンドパケットは、システムの次の装置へ転送され、これは、次のメモリ装置もしくはメモリコントローラであり得る。ステップ856から、次の装置が他のメモリ装置であるとき、方法は、ステップ852へ戻る。パラメータiは、ステップ860で増加され、これは、ステップ852、854および856がシステム内の次に続くメモリ装置により実行されることを示す。最終的に、システム内の最後のメモリ装置がコマンドパケットをメモリコントローラへ渡すとき、この方法は、ステップ858からステップ862へ進む。ステップ862では、メモリコントローラは、それが当初に発したコマンドパケットを受け取り、ブロードキャスト動作は、すべてのメモリ装置がコマンドパケットを受け取りかつ動作したので、効果的に終了される。それゆえ、すべてのメモリ装置は、メモリコントローラからの単一の発行されたコマンドで動作を実行する。図14のステップは、1つのステップは、前のステップが完了するまで始まらないというケースではない点で、厳密かつ連続的に実行される。図3Aおよび図3Bのシステムでは、図14の動作は、論理的もしくは概念的なシーケンスのイベントを示しており、必ずしも、実際のイベントの順序を示すものではない。各々のステップの時間は、次のステップの開始間のギャップよりも長くあることができ、複数のステップが発生することができ、それらのステップはばらばらの順序で発生するように現われ得る。例えば、ステップ854は、コマンドパケットのすべてのオペコードビットが受け取られるまで、開始することができない。もし、カレントアクティブデータパス幅がx1である場合、これは、パケットの開始から多くのクロックサイクルとなり得る。しかしながら、コマンドパケットを次の装置へ転送すること(ステップ856)は、ほとんど瞬時に開始される。実際、狭いカレントアクティブ幅と少ない数のシリアルメモリ装置を有するリングで、最初の装置が装置アドレスとオペコードとの双方のすべてを受け取る前に、コマンドパケットは、開始時にリング中のすべての方向に進むことができる。
図3Aおよび図3Bのシステムにおいて、コマンドの発行は、コマンドストローブ入力CSIの主張(アサート)により伴って行われる。CSIは、入力ポートSin上に現れるコマンドパケットの捕獲を制御するために使用され、これは、コマンドパケットがシリアルメモリ装置を介して出力ポートSoutへ流れるからである。また、CSIのアサートは、受け取られるコマンドパケットの長さに対応するパルス持続時間を有する。メモリコントローラの設計者は、CSIパルスが発行されるコマンドパケットに同期することを保証するのみを必要とするので、本システムの実施例では、メモリコントローラによってコマンドを発行するためのプロトコルは簡単である。発行されたコマンドは、アドレスされたメモリ装置に出力データを提供することを命じる。予め決められた時間の後に、出力データは、出力のために準備され、すなわち、読み出されたデータは、内部のメモリのリード動作中に、リードデータレジスタへロードされる。シリアルメモリ装置は、選択され、かつデータを出力ために準備される。ここで説明されたシステムの実施例では、リード動作を実行する読出しのプロトコルは、データストローブ入力DSIのパルスがリードコマンドパケットを有するCSIパルスの後に発行されることを確実にする。DSIは、読出しデータを出力するために、図6のI/O回路ブロック506のようなSout出力ポートのための出力回路をイネーブルするために使用され、かつ読出しデータの長さが要求されていることに対応するパルス持続時間を有する。より具体的に、DSIパルスは、データI/O回路ブロック506を介してSout出力ポートを通してクロックアウトされるように、リードデータレジスタからのデータをイネーブルする。各々の装置にとって、CSOおよびDSOは、リング内の次の装置がコマンドおよびデータを適切に捕獲することができるように提供された、CSIおよびDSIの時間シフトされたバージョンである。
図15および16は、制御信号CSI、DSIとリードコマンドパケットに応答して、メモリ装置によって実行される有効なリード動作を例示するシーケンス図である。図15では、CSIは、発行されるリードコマンドパケットの持続時間の間、パルスされる。到来するリードコマンドは、そのコマンドが解釈されると同時にSoutポート上に送られる。選択的な最適化として、現在の装置(すなわち、DAバイト=ADAレジスタ)に明確にアドレスされてリードコマンドが一旦認識されると、リング内の次の装置へのコマンドの転送は、正当なコマンドの長さの境界で停止することができる。リードコマンドパケットは、図10にリストされたコマンドを含むことができ、情報のタイプは、メモリ装置から読み出されるべきものである。もし、リードコマンドパケットがシステムの最後のメモリ装置にアドレスされたならば、CSIパルスとリードコマンドパケットは、各々の介在するメモリ装置を介して渡され、そして最後のメモリ装置によって動作される。メモリ装置がリードデータを準備するために必要な最小の時間が過ぎた後に、メモリコントローラは、DSIパルスを発することができる。このパルスは、介在するメモリ装置を通過し、そして、選択された最後のメモリ装置によってのみ動作される。データは、対応するDSOパルスと整合して、DSIパルスの持続時間の間に選択された最後のメモリ装置のSout出力にクロックアウトされる。データは、DSIの立ち上がりエッジに対する遅延の後に提供されることに留意すべきである。ここで説明された実施例において、この遅延は、単一のクロックサイクルであるが、この遅延は、メモリ装置の設計および構成に依存した数のクロックサイクルであることができる。コマンドの転送と出力データの双方にとって、対応するCSOおよびDSOストローブは、Sout上のデータと同時の出力である。
図16では、CSIは、発行されたリードコマンドパケットの持続時間の間パルスされ、リードコマンドは、例えば、バーストリードコマンドに対応する。メモリ装置がリードデータを準備するために必要な最小時間が過ぎた後に、メモリコントローラは、リードデータの第1の部分を出力するように選択されたメモリ装置をイネーブルするための第1のDSIパルスを発することができる。第1のDSIパルスは、低論理レベルに駆動することによってアサートされず、一時的にデータ出力を停止または休止する。これは、例えば、他のシステム動作を適合させるために実行されてもよい。それから、メモリコントローラは、リードデータの第2の部分を出力するよう選択されたメモリ装置をイネーブルするための第2のDSIパルスを発することができ、このデータは、シリアルデータレジスタ902に格納されたデータの残りの部分である。第2のDSIパルスは、アサートされないようにすることができ、第3のDSIパルスが、残りのデータのデータ出力を完了するために発せられることができる。本実施例によれば、一致する装置アドレスと適切なオペコードバイトによって示されたように、前のCSIストローブが、選択されたメモリ装置のためのリードコマンドに関連されたときにのみ、選択されたメモリ装置のSout出力上の出力データは、受け取られたDSIストローブに応答してクロックアウトされる。図15と図16のシーケンスの双方において、少なくとも1つのDSIパルスは、リードコマンドのために直ちにCSIパルスに続く。当該シリアルメモリ装置にアドレスされた非リードコマンドパケットまたは他のシリアルメモリ装置へアドレスされたコマンドパケットの後にDSIがメモリコントローラによってアサートされた場合、選択されたメモリ装置のメモリからリードデータを提供する出力回路は、リードデータを提供することを禁止される。リードデータは、DSIに応答して提供されるので、メモリ装置は、当該シリアルメモリ装置への非リードコマンドパケットのためのアサートされたCSIを伴うDSIアサートを無視することができる。他の実施例では、何が有効なDSI入力を構成するのかのルールは、異なるものであってもよい。例えば、もし、コマンドプロトコルにより非リードコマンドが1つの装置にデータ出力のために選択された他の装置を邪魔させない場合には、DSIパルスは、リングのそれよりも前後にある可能性のある他のシリアルメモリ装置に向けられることができる。この場合、そのようなDSIパルスの間にSinポートに受け取られたビットは、メモリコントローラと他のシリアルメモリ装置間の連絡に干渉しないように、Soutポートへコピーされる必要がある。当業者であれば、種々のコマンドプロトコルがCSIおよびDSIパルスやSinの内容を無視したり転送したりするための種々のルールを有する可能があることを理解されよう。
図17は、図6のメモリ装置500で実行されることのできるデータ出力制御論理およびデータ出力回路を示す回路図である。データ出力制御論理は、一例であり、データ出力回路が内部のリードデータを提供することをどのようにしてディスエーブルまたは禁止されるかを例示する。当業者であれば、他の論理構造が、同様の所望の結果を達成するために開発できることを理解するであろう。図17は、データ出力セレクタ900、シリアルデータレジスタ902、リードデータ出力コントローラ904、およびID発生ブロック905を示す。ここで説明される実施例では、データ出力セレクタ900は、図6の各データI/O回路ブロック506で実施され、データ出力セレクタ900は、シリアルデータレジスタ902から受け取られた内部リードデータRD_DATAと、ラッチ907を介してメモリ装置のSin入力ポートからのパススルーデータP_DATAとを受け取るマルチプレクサ906を含む。マルチプレクサ906は、データ選択信号DSelectに応答してP_DATAまたはRD_DATAのいずれかを転送する。選択された出力は、それから、出力ドライバ908によって出力ポートSout上に駆動される。パススルーデータP_DATAは、図の簡略化のために示されていないが、他の論理回路によって受け取られるシリアルストリームのデータである。これらの他の回路は、書き込みデータをメモリアレイへ送り、またコマンドデータをメモリ装置のコマンドデコーダへ送る。RD_dataは、マルチプレクサ909から提供され、マルチプレクサ909は、レジスタ選択信号Rselectに応じて、シリアルデータレジスタ902からのデータか、ID発生ブロック905からのデータのいずれかを送る。レジスタ選択信号Rselectは、特定のレジスタを読み出すコマンドに応答してコマンドデコーダから提供される。ID発生ブロック905は、図6、図11、図12および図13で説明されたレジスタと、状態の情報を提供する他のレジスタと、更新されたID番号を提供するための追加の論理回路とを含む。例えば、メモリ装置がID番号を割当てられたときに、ID発生ブロック905は、更新されたID番号を発生させ、更新されたID番号は、ID発生フェーズの動作中にマルチプレクサ909に転送される。更新されたID番号は、それから、マルチプレクサ909および906を介して次のメモリ装置のためにSoutへ送られる。
シリアルデータレジスタ902は、図6の各データI/O回路ブロック506もしくはメモリコア508の一部であることができるが、ここで説明された実施例では、シリアルデータレジスタ902は、メモリコア508の一部である。シリアルデータレジスタ902は、入力クロックの遷移に応答してデータを直列に出力するあらゆるタイプのデータレジスタであることができる。シリアルデータレジスタ902には、直列または並列でメモリアレイから読み出されたデータM_DATAがロードされることができる。当業者は、図17で使用可能な、従来より公知の異なるタイプのシリアルレジスタに精通しているであろう。
リードデータ出力コントローラ904は、CSIとDSIの制御信号の有効および無効なシーケンス中に、シリアルデータレジスタ902を制御しなければならない。リードデータ出力コントローラ904は、ラッチ910と、AND論理回路912、914、916とを含む。ラッチ910は、CSIの高論理レベルに応答してラッチされる信号READを受け取る。ラッチ907と910との双方がレベル感知ラッチであることに留意すべきである。READ信号は、受け取られたコマンドが当該シリアル装置へアドレスされ、かついずれのタイプのリード動作に対応するときに、高論理レベルにセットされるが、READ信号は、受け取られたコマンドが、他のシリアルメモリ装置へアドレスされるか、もしくは認識されたリード動作ではないときには、低論理レベルにセットされる。コマンドデコーダは、読み書き動作を実行するために、アドレスされたメモリ装置への受け取られたコマンドをデコードするので、READの発生は、周知の論理によって簡単に達成されるであろう。ラッチ910の出力は、AND論理回路912の第1の入力により受け取られ、AND論理回路912は、第2の入力に内部クロック信号CLKを受け取る。内部クロック信号CLKは、外部クロック、もしくは外部クロックのバッファされたバージョンに応答してメモリ装置内で合成され得る。AND論理回路912は、CLKか、ラッチ910の出力に依存する低論理レベル出力のいずれかを通過させる。
CLKは、ロードされたデータをクロックアウトするシリアルデータレジスタ902を含めて、メモリ装置のその他の内部の回路により使用される。AND論理回路914は、AND論理回路912の出力を受け取る1つの入力と、DSIを受け取るもう1つの入力とを有する。それゆえ、AND論理回路912がCLKを通過させるときに、CLKは、DSIが高論理レベルにあるときシリアルデータレジスタ902に送信される。そうでなければ、シリアルデータレジスタ902のクロック入力は、低論理レベルのままである。DSIはさらに、マルチプレクサ906を制御するために使用される。AND論理回路916は、DSIを受け取る1つの入力と、イネーブル信号ENを受け取るもう1つの入力とを有する。ここで説明された実施例では、イネーブル信号ENは、図11で示された装置アドレス論理830により提供され、イネーブル信号ENは、ブロードキャストアドレスまたは一致する装置アドレスのいずれかがメモリ装置によって受け取られたとき、高論理レベルにある。ここで述べられた実施例では、AND論理回路916は、DSIとENとの双方が高論理レベルにあるとき、出力データ選択信号Dselectを高論理レベルに駆動する。こうした条件の下では、DSIがアサートされ、コマンドパケットの装置アドレスは、メモリ装置の装置アドレスと一致する。従って、Dselectは、RD_DATAを通過させるようにマルチプレクサ906を制御する。そうでなければ、DSIがアサートされずに、またメモリ装置がアドレスされないときに、マルチプレクサ906は、P_DATAを通過させるように制御される。
図17の回路の動作は、DSIの有効なアサートの間の動作を例示する図15のシーケンス図を参照して簡潔に説明される。先ず、CSIが高論理レベルに駆動されることでアサートされ、リードコマンドパケットが、メモリ装置のSin入力に受け取られる。コマンドパケットがメモリ装置をアドレスし、ENを高論理レベルにセットするし、さらにメモリ装置が、シリアルデータレジスタ902にメモリからのリードデータM_DATAをロードするように内部リード動作を実行すると仮定する。コマンドパケットは、リード(読出し)関連コマンドであるので、信号READは、高論理レベルである。高論理レベルのCSIで、CLKは、AND論理回路914に通過されるが、シリアルデータレジスタ902に結合することを妨げられる。後に、DSIが高論理レベルに駆動されてアサートされる。DSIが高論理レベルへ向かうやいなや、DSelectは、RD_DATAを通過させるようにマルチプレクサ906を制御する。高論理レベルのDSIで、CLKは、シリアルデータレジスタ902に結合され、格納されたデータをマルチプレクサ906を介して出力ドライバ908にクロックアウトさせる。従って、Sout出力ポートに提供されたデータは、メモリ装置からの有効なリードデータである。DSIが低論理レベルに下降した後に再びアサートされる図16の状況では、DSIが低論理レベルへ下降したとき、AND論理回路914は、AND論理回路912の出力をシリアルデータレジスタ902から非結合することに留意すべきである。DSIが再び立ち上がると、CLKは、シリアルデータレジスタ902に結合され、シリアルデータ出力を継続させる。
図17の回路の動作は、DSIの無効なアサート中の動作を例示する、図18から図20を参照して簡潔に説明される。図18では、CSIは、リード(読出し)関連コマンドではないコマンドパケットに関連してアサートされ、メモリ装置にアドレスされ、ここで、非リードコマンドは、例えば、書き込みコマンドに対応する。従って、信号READは、低論理レベルにあり、これは、CSIが高論理レベルにあるときにラッチされる。それゆえ、AND論理回路912は、CLKがAND論理回路914に送られるのを禁止する。DSIが後にアサートされたとき、AND論理回路914は、静的な低論理信号をシリアルデータレジスタ902へ渡す。従って、CLKがAND論理回路912によって禁止されているので、DSIはシリアルデータレジスタ902に影響力を与えない。それゆえ、RD_DATAは、マルチプレクサ906に直接結合されたシリアルデータレジスタ902の最初のレジスタ回路に保持されているデータに対応するであろう。DSIをシリアルデータレジスタ902から禁止することによって、シリアルデータレジスタ902の可能性のあるランダムなデータが、Sout出力ポート上にアサートされることが禁止される。1つの実施例では、Sout出力ポートは、DSIパルス持続時間の間、1つの論理レベルに静的に保持される。それゆえ、メモリコントローラは、非リードに基づくコマンド後のDSIのアサートであるような、無効な動作の結果である、連続的な“0”または“1”の論理状態のシーケンスを認識することができる。但し、アドレスされたメモリ装置は、例えば書き込み動作のような非リード動作を実行することに留意すべきである。
図19では、CSIは、最初に、メモリ装置にアドレスされたリードコマンドに関連してアサートされる。従って、CLKは、図15のシーケンス図について前述したのと同じ方法で、AND論理回路914に結合される。他方、メモリ装置は、リード動作を内部で実行し、シリアルデータレジスタ902にM_DATAをロードする。CSIは、例えば書き込みコマンドパケットのような、同じメモリ装置へアドレスされた、発行された非リードコマンドパケットに関連して再びアサートされる。ラッチ910は、低論理レベルのREADをラッチし、その結果、AND論理回路912は、CLKをAND論理回路914に結合されることを禁止する。DSIが後にアサートされたとき、DSelectは、マルチプレクサ906を制御し、RD_DATAを通過させるが、DSI AND論理回路914は、CLKを受け取らない。それゆえ、シリアルデータレジスタ902は、ディスエーブルされ、最初のレジスタ回路に格納されたデータビットを除き、その内容を出力しない。ここで述べられた実施例では、非リードコマンドパケットが異なるメモリ装置へアドレスされたことは問題ではない。なぜなら、コマンドデコーダ論理は、高レベルもしくは論理レベルへREADをセットするためにアクティブを維持することができるためである。このような場合では、先にアドレスされたメモリ装置は、コマンドに応答しないであろうし、また、そのマルチプレクサ906は、ENが低論理レベルにセットされることによりDSIがアサートされたときでさえ、P_DATAを通過させるようにセットされる。非リードコマンドによってアドレスされたメモリ装置では、マルチプレクサ906は、RD_DATAを送信するようセットされるが、シリアルデータレジスタ902は、図18の状況で説明された方法で、ディスエーブルにされる。
図20では、CSIは、最初に、メモリ装置にアドレスされたリードコマンドパケットに関連してアサートされ、リードコマンドは、例えば、バーストリードコマンドに対応する。従って、CLKは、図15のシーケンス図で前述されたのと同じ方法で、AND論理回路914に結合される。DSIは、バーストリードコマンドを有する最初のCSIストローブの後に、初めてアサートされる。マルチプレクサ906は、RD_DATAを送信するよう制御され、シリアルデータレジスタ902は、クロックを受け取り、格納されたデータをSout出力ポートへクロックアウトさせる。このバーストリードの例では、DSIは、低論理レベルに駆動されることでアサートされなくなり、一時的に停止、もしくは休止する。この状況は、図16で示されたバーストリード動作と同じである。しかしながら、2番目のアサートされたDSIパルスの代わりに、DSIがアサートされなくなった後に、CSIが非リードコマンドパケットに関連してアサートされる。このコマンドは、例えば書き込み動作に対応する。この非リードコマンドパケットは、いずれのメモリ装置にアドレスされることができる。すべてのメモリ装置では、ラッチ910が低論理レベルをAND論理回路912へ出力ことにより、CLKがAND論理回路914に結合されることを禁止し、次いで、CLKがシリアルデータレジスタ902に結合されることを禁止する。それゆえ、非リードコマンドパケットのためのCSIのアサートに引き続くDSIのアサートは、すべてのメモリ装置によって無視される。アドレスされたメモリ装置のSout出力ポートは、DSIパルス持続時間の間、1つの論理レベルを有するデータを静的に提供する。
データ出力制御信号の有効および無効な発行は、例えば、図3Aおよび図3Bのシステムの前述した実施例のDSIであるが、これは、各メモリ装置によって従われるデータ出力禁止アルゴリズムの実施例に要約され得る。より具体的には、データ出力禁止アルゴリズムは、各メモリ装置のコマンドデコーダによって従われる。図21は、本実施例によるデータ出力禁止アルゴリズムを要約したフローチャートである。
この方法は、DSIかCSIのいいずれかである最初の制御信号がメモリ装置によって受け取られたときに、ステップ950で開始する。もし、ステップ952で、受け取られた制御信号が対応するコマンドを有するCSIであるならば、ステップ953で決定されるように、コマンドが当該シリアルメモリ装置にアドレスされるならば、本方法は、954へと続く。ステップ954から、もし、CMDが非リード動作であるならば、本方法は、ステップ956へ進み、非リード動作を実行する。そして、メモリ装置は、次の制御信号を待つためにステップ950へ戻る。ステップ954へ戻って、もし、受け取られたCMDがリード関連コマンドであるならば、リード動作がステップ958で実行され、リードデータを出力する準備をする。本方法は、それから次の制御信号が受け取られるステップ950へ戻る。もし、次の制御信号が、アサートされたDSIであるならば、本方法は、シリアルメモリ装置が前のコマンドによって選択された場合には、ステップ952からステップ961を経由してステップ962に進行する。ステップ961は、前のコマンドの装置アドレスが、割り当てられた装置アドレスに一致することを確認する。そのような場合、前に受け取ったCMDがリードコマンドに対応するならば、リードデータがステップ964で、受け取られたDSIに応答して出力される。次の制御信号が他のDSIである場合は、本方法は、ステップ964へ戻り、さらにデータを出力する。特定のループは、連続的なアサートされたDSI制御信号の数だけ継続することができ、これは、有効なデータ出力となる。
リードコマンドがステップ958で実行され、かつ別のCSIが対応する非リード関連コマンドで受け取られるシナリオへ戻って、本方法は、ステップ952から962まで進み、ここで、コマンドが非リード関連コマンドであることが決定される。すると、データ出力動作は、ステップ966で中止される。それゆえ、非リード関連コマンドに対応するCSIの後に受け取られたアサートされたDSIは、中止されたデータ出力動作という結果になる。従って、もし、メモリコントローラが、DSI制御パルスをアサートすることによって無効なリードコマンドを発するならば、静的な論理“0”もしくは“1”のデータストリームがそれに戻される。それゆえ、メモリコントローラは、無効なコマンドの結果であるこのようなデータパターンを認識することができ、ホストシステムにはデータは全く提供されない。図19の状況では、メモリコントローラは、最初のリードコマンドパケットを再び発することができ、それは、オリジナルリード動作が、DSIのアサートの前に非リードコマンドパケットの発行で中止されたからである。
メモリ装置を有する前述されたシステムは、従来の並列マルチドロップシステムよりも非常に高速で動作し、それによって、より優れたパフォーマンスが提供される。各メモリ装置の性能とシステムの性能は、より多くのシリアル入力および出力のデータポートが提供されるにつれ、さらに改善される。もし、メモリ装置が、前述の構成可能なデータ幅の例を用いるならば、各メモリ装置は、動的に構成可能であり、最小限のアクティブな数のデータパッドで動作し、消費電力を低減する。メモリ装置は、ブロードキャスト動作において、メモリコントローラからすべてのメモリ装置へ直列に伝達された単一のコマンドの発行により構成可能である。システムの堅牢な動作は、データ出力禁止アルゴリズムを実行することによって保証され、そのアルゴリズムは、メモリコントローラが不適切にリード出力制御信号を発行するとき、有効なデータがメモリコントローラへ提供されることを抑制する。これらの前述した実施例は、各々が独立して実行可能であり、もしくは、システムのメモリ装置やメモリコントローラ内で互いに組み合わせて実行可能である。
上記した実施例の適用または修正を成すことができる。それゆえ、上記で検討された実施例は、例示的なものであって、限定的なものではないと考えられる。

Claims (40)

  1. 第1の数の出力ポートを有し、最大データ幅構成データをアクセスするためのコマンドを第1の数の出力ポートの1つの出力ポートから提供するメモリコントローラと、
    最大データ幅構成データを蓄積する入力/出力レジスタ、第2の数のデータ入力パッド、および第2の数のデータ出力パッドを有し、第2の数のデータ入力パッドの1つのデータ入力パッドにコマンドを受け取り、さらに最大データ幅構成データを第2の数のデータ出力パッドの1つのデータ出力パッドから提供するメモリ装置と、
    を有するシステム。
  2. 最大データ幅構成データは、入力/出力レジスタにハードワイヤ接続される、請求項1に記載のシステム。
  3. メモリコントローラは、第1の数の入力ポートの1つの入力ポートから最大データ幅構成データを受け取る、第1の数の入力ポートを含む、請求項1に記載のシステム。
  4. 第2の数のデータ入力パッドのすべては、1つのデータ入力パッドを除きディスエーブルされ、第2の数のデータ出力パッドの全ては、1つのデータ出力パッドを除きディスエーブルされる、請求項1に記載のシステム。
  5. メモリ装置は、メモリコントローラから受け取った構成(コンフィギュレーション)コードを蓄積するカレントアクティブ幅レジスタを含み、構成コードは、第3の数のデータ入力パッドと第3の数のデータ出力パッドをイネーブルする、請求項4に記載のシステム。
  6. 第3の数は、第2の数以下である、請求項5に記載のシステム。
  7. メモリ装置は、パッケージ内にカプセル封止されたメモリダイを含み、パッケージは、第4の数のデータ入力ピンとデータ出力ピンを有する、請求項6に記載のシステム。
  8. 最も小さい共通の数のデータ入力ピンは、最も小さい共通の数のデータ入力パッドに電気的に接続され、最も小さい共通の数は、第2の数および第4の数よりも小さい、請求項7に記載のシステム。
  9. 第3の数は、1と最も小さい共通の数の間である、請求項8に記載のシステム。
  10. システムはさらに、第1の数の出力ポートを第4の数の入力ピンに電気的に接続する第5の数の導電性トラックを含む、請求項9に記載のシステム。
  11. 第3の数は、最も小さい共通の数と導電性のトラックの第5の数より小さい、請求項10に記載のシステム。
  12. コンフィギュレーション(構成)コードを格納するカレントアクティブ幅レジスタと、
    データ入力パッドからコンフィギュレーションコードを受け取り、コンフィギュレーションコードをカレントアクティブ幅レジスタに渡す第1のデータ入力/出力回路ブロックと、
    カレントアクティブ幅レジスタに格納されたコンフィギュレーションコードに応答して選択的にイネーブルされる第2のデータ入力/出力回路ブロックと、
    を有するメモリ装置。
  13. メモリ装置はさらに、最大データ幅構成データを格納する入力/出力レジスタを含み、最大データ幅構成データは、データ出力パッドを介して第1のデータ入力/出力回路ブロックにより提供される、請求項12に記載のメモリ装置。
  14. カレントアクティブ幅レジスタ、第1のデータ入力/出力回路ブロック、第2のデータ入力/出力回路ブロック、入力/出力レジスタ、データ入力パッドおよびデータ出力パッドは、パッケージにカプセル封止されたメモリダイ上に形成される、請求項13に記載のメモリ装置。
  15. パッケージは、第1のデータ入力/出力回路ブロックに結合された厳密に1つのデータ入力ピンを含む、請求項14に記載のメモリ装置。
  16. パッケージは、第1のデータ入力/出力回路ブロックに結合された第1のデータ入力と、第2のデータ入力/出力回路ブロックに結合された第2のデータ入力ピンとを含む、請求項14に記載のメモリ装置。
  17. パッケージは、少なくとも1つの追加のデータ入力ピンを含む、請求項15に記載のメモリ装置。
  18. リンクトポロジーでメモリコントローラに接続された少なくとも1つのメモリ装置を有するシステムのためのデータ幅を設定する方法であって、
    少なくとも1つのメモリ装置に格納されたコンフィギュレーション(構成)データをアクセスし、コンフィギュレーションデータは、少なくとも1つのメモリ装置の最大データ幅に対応しており、
    すべてのコンフィギュレーションデータの最も小さいデータ幅を決定し、
    少なくとも1つのメモリ装置内の、1と最も小さいデータ幅との間の選択されたデータ幅を設定する、
    方法。
  19. 前記アクセスすることは、少なくとも1つのメモリ装置に識別番号を割り当てることを含む、請求項18に記載の方法。
  20. 前記アクセスすることは、1つのデータ幅に対応する単一データライン上に直列にリードコマンドを発することを含む、請求項18に記載の方法。
  21. 選択されたデータ幅は、システムの動作プロファイルによって決定される、請求項18に記載の方法。
  22. 前記動作プロファイルは、選択されたデータ幅をもっと小さいデータ幅になるように設定することにより、システムの性能を最大化することに対応する、請求項21に記載の方法。
  23. 前記動作プロファイルは、選択されたデータ幅が1になるように設定することにより、システムの電力消費を最小限にすることに対応する、請求項21に記載の方法。
  24. 前記設定することは、少なくとも1つのメモリ装置のカレントアクティブ幅レジスタに選択されたデータ幅に対応するコンフィギュレーションコードをロードすることを含む、請求項18に記載の方法。
  25. 前記設定することは、カレントアクティブ幅レジスタにコンフィギュレーションコードを書き込むため少なくとも1つのメモリ装置にアドレスされたコマンドを発することを含む、請求項24に記載の方法。
  26. システムは、直列に接続された複数のメモリ装置を含む、請求項24に記載の方法。
  27. 前記設定することは、複数のメモリ装置の各々のカレントアクティブ幅レジスタにコンフィギュレーションコードを書き込むため、複数のメモリ装置によって認識され得るブロードキャストアドレスを有するコマンドを発することを含む、請求項26に記載の方法。
  28. リングトポロジーでメモリコントローラに直列に接続されたメモリ装置にコマンドをブロードキャストする方法であって、
    コマンドに対応するオペコードとブロードキャストアドレスを有する1つのコマンドパケットを発し、
    メモリ装置でコマンドパケットを直列に受取り、メモリ装置の各々は、割り当てられた装置アドレスとブロードキャストアドレスを認識することができ、
    ブロードキャストアドレスに応答してメモリ装置の各々でオペコードを実行し、
    メモリ装置の最後のメモリ装置からメモリコントローラにコマンドパケットを渡しブロードキャストを終了する、
    方法。
  29. コマンドパケットは、2の全体の装置アドレスを提供するためのnビットアドレスフィールドを含み、全体の装置アドレスの2−1は、装置アドレスに割当てられ、2−1全体の装置アドレスの1つはブロードキャストアドレスである、請求項28に記載の方法
  30. ブロードキャストアドレスは、2の全体の装置アドレスの最も大きい論理アドレスである、請求項29に記載の方法。
  31. メモリ装置の各々は、オペコードの実行を可能にするためブロードキャストアドレスを論理的にデコードする、請求項30に記載の方法。
  32. 割当てられたブロードキャストアドレスは、メモリ装置の各々に格納される、請求項29に記載の方法。
  33. ブロードキャストアドレスは、割当てられたブロードキャストアドレスに一致され、オペコードの実行を可能にする、請求項32に記載の方法。
  34. メモリ装置のデータ出力を禁止する方法であって、
    読出しデータを出力するためのデータ出力制御信号を受け取り、
    以前に受け取ったコマンドが非読出し関連コマンドに対応するときデータ出力回路を禁止し、以前に受け取ったコマンドが読み出し関連コマンドに対応するときデータ出力回路をイネーブルする、
    方法。
  35. 禁止することは、論理「1」と論理「0」のデータのうちの1つに対応する連続的な一連のデータを出力することを含む、請求項34に記載の方法。
  36. イネーブルすることは、データ出力制御信号がアクティブ論理レベルの間、クロックに応答して直列に読出しデータを提供するようにシリアルデータレジスタを動作することを含む、請求項35に記載の方法。
  37. 禁止することは、データ出力制御信号がアクティブ論理レベルの間、クロックをシリアルデータレジスタから分離することを含む、請求項36に記載の方法。
  38. 以前に受け取られたコマンドは、アクティブ論理レベルでコマンドラッチ信号に応答してラッチされる、請求項37に記載の方法。
  39. 書込み動作に対応する制御信号がコマンドラッチ信号のアクティブ論理レベルに応答してラッチされたとき、クロックは、シリアルデータレジスタから論理的に分離される、請求項38に記載の方法。
  40. 読出しデータ出力回路であって、
    クロックに応答して直列に読出しデータを出力するシリアルデータレジスタと、
    データ出力制御信号のアクティブ論理レベルに応答してクロックをシリアルデータレジスタに結合する第1の論理回路と、
    非読出し関連動作中にクロックをディスエーブルする第2の論理回路と、
    を有する回路。
JP2009550173A 2007-02-16 2008-02-19 1つもしくはそれ以上のメモリ装置を有するシステム Expired - Fee Related JP5408663B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US90200307P 2007-02-16 2007-02-16
US60/902,003 2007-02-16
US89270507P 2007-03-02 2007-03-02
US60/892,705 2007-03-02
US11/840,692 2007-08-17
US11/840,692 US7904639B2 (en) 2006-08-22 2007-08-17 Modular command structure for memory and memory system
PCT/US2008/054307 WO2008101246A2 (en) 2007-02-16 2008-02-19 System having one or more memory devices

Publications (3)

Publication Number Publication Date
JP2010519626A true JP2010519626A (ja) 2010-06-03
JP2010519626A5 JP2010519626A5 (ja) 2011-04-07
JP5408663B2 JP5408663B2 (ja) 2014-02-05

Family

ID=39690850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009550173A Expired - Fee Related JP5408663B2 (ja) 2007-02-16 2008-02-19 1つもしくはそれ以上のメモリ装置を有するシステム

Country Status (8)

Country Link
US (2) US7904639B2 (ja)
EP (1) EP2126916A2 (ja)
JP (1) JP5408663B2 (ja)
KR (2) KR101476471B1 (ja)
CN (1) CN101675478B (ja)
CA (1) CA2676610A1 (ja)
TW (1) TW200849276A (ja)
WO (1) WO2008101246A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014509024A (ja) * 2011-03-11 2014-04-10 マイクロン テクノロジー, インク. メモリを制御するためのシステム、装置、メモリコントローラ、および方法
JP2015130193A (ja) * 2011-03-11 2015-07-16 マイクロン テクノロジー, インク. メモリ初期化のための方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407395B2 (en) 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
TW200951960A (en) * 2008-06-12 2009-12-16 Genesys Logic Inc Flash memory control apparatus having sequential writing and method thereof
US8139390B2 (en) * 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US8130527B2 (en) 2008-09-11 2012-03-06 Micron Technology, Inc. Stacked device identification assignment
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US7957173B2 (en) 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8549209B2 (en) * 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US20100115172A1 (en) * 2008-11-04 2010-05-06 Mosaid Technologies Incorporated Bridge device having a virtual page buffer
EP2359372B1 (en) * 2008-12-18 2020-04-08 NovaChips Canada Inc. Error detection method and a system including one or more memory devices
US8316201B2 (en) 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US8566508B2 (en) 2009-04-08 2013-10-22 Google Inc. RAID configuration in a flash memory data storage device
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8503211B2 (en) * 2009-05-22 2013-08-06 Mosaid Technologies Incorporated Configurable module and memory subsystem
US8521980B2 (en) 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
KR101678868B1 (ko) * 2010-02-11 2016-11-23 삼성전자주식회사 플래시 주소 변환 장치 및 그 방법
JP5259755B2 (ja) * 2011-02-25 2013-08-07 株式会社東芝 マルチチャネルを有するメモリ装置及び同装置におけるメモリアクセス方法
US8543758B2 (en) * 2011-05-31 2013-09-24 Micron Technology, Inc. Apparatus including memory channel control circuit and related methods for relaying commands to logical units
US8825967B2 (en) * 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US9760149B2 (en) 2013-01-08 2017-09-12 Qualcomm Incorporated Enhanced dynamic memory management with intelligent current/power consumption minimization
US9021154B2 (en) 2013-09-27 2015-04-28 Intel Corporation Read training a memory controller
US9690515B2 (en) * 2013-10-25 2017-06-27 Sandisk Technologies Llc Delayed automation to maximize the utilization of read and write cache
JP6541998B2 (ja) * 2015-03-24 2019-07-10 東芝メモリ株式会社 メモリデバイス、半導体装置および情報処理装置
DE102015214133A1 (de) * 2015-07-27 2017-02-02 Continental Automotive Gmbh Integrierter Schaltkreis zum Betreiben an einem Bus und Verfahren zum Betreiben des integrierten Schaltkreises
US9836232B1 (en) * 2015-09-30 2017-12-05 Western Digital Technologies, Inc. Data storage device and method for using secondary non-volatile memory for temporary metadata storage
JP2018032141A (ja) * 2016-08-23 2018-03-01 東芝メモリ株式会社 半導体装置
US20180060229A1 (en) * 2016-08-31 2018-03-01 Esab Ab Techniques for implementing memory segmentation in a welding or cutting system
KR102615775B1 (ko) * 2017-01-31 2023-12-20 에스케이하이닉스 주식회사 반도체 장치
CN107239363B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息上报方法及系统
TWI646546B (zh) * 2017-08-11 2019-01-01 慧榮科技股份有限公司 資料儲存裝置以及記憶體讀取方法
KR102516584B1 (ko) * 2018-11-21 2023-04-03 에스케이하이닉스 주식회사 메모리 시스템
US10761588B2 (en) * 2018-08-09 2020-09-01 Micron Technology, Inc. Power configuration component including selectable configuration profiles corresponding to operating characteristics of the power configuration component
CN109830252B (zh) * 2018-12-29 2024-03-22 灿芯半导体(上海)股份有限公司 实现时钟周期的数字电路及实现四分之一时钟周期的方法
TWI813379B (zh) * 2022-07-14 2023-08-21 瑞昱半導體股份有限公司 用於靜態隨機存取記憶體的輸出控制介面
CN117785733B (zh) * 2024-01-31 2024-04-26 深圳市晶准通信技术有限公司 芯片控制方法、控制芯片及控制系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266614A (ja) * 1993-03-16 1994-09-22 Hitachi Ltd メモリ制御方法
JPH1145206A (ja) * 1997-07-29 1999-02-16 Casio Comput Co Ltd 電子装置、メモリ起動方法及びメモリ起動プログラムを記録した記録媒体
JPH11161544A (ja) * 1997-11-25 1999-06-18 Seiko Epson Corp 情報処理装置、その制御方法およびメモリアドレス変換装置
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
WO2005015406A1 (ja) * 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. 半導体メモリカード、アクセス装置及びアクセス方法
US20050120163A1 (en) * 2003-12-02 2005-06-02 Super Talent Electronics Inc. Serial Interface to Flash-Memory Chip Using PCI-Express-Like Packets and Packed Data for Partial-Page Writes
US20060248305A1 (en) * 2005-04-13 2006-11-02 Wayne Fang Memory device having width-dependent output latency

Family Cites Families (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2264395A (en) * 1940-10-22 1941-12-02 Bell Telephone Labor Inc Power line carrier frequency telephone system
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
US4617566A (en) 1983-12-15 1986-10-14 Teleplex Corporation Addressable-port, daisy chain telemetry system with self-test capability
DE3586523T2 (de) * 1984-10-17 1993-01-07 Fujitsu Ltd Halbleiterspeicheranordnung mit einer seriellen dateneingangs- und ausgangsschaltung.
US4683555A (en) 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
JPS62152050A (ja) * 1985-12-26 1987-07-07 Nec Corp 半導体メモリ
JPS63113624A (ja) * 1986-10-30 1988-05-18 Tokyo Electric Co Ltd 電子秤のプリンタインタ−フエ−ス
WO1990010903A1 (en) * 1989-03-15 1990-09-20 Oki Electric Industry Co., Ltd. Serial data receiving circuit
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
US5126808A (en) * 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5175819A (en) * 1990-03-28 1992-12-29 Integrated Device Technology, Inc. Cascadable parallel to serial converter using tap shift registers and data shift registers while receiving input data from FIFO buffer
US5243703A (en) 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
US5204669A (en) 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
US5319598A (en) 1990-12-10 1994-06-07 Hughes Aircraft Company Nonvolatile serially programmable devices
US5132635A (en) 1991-03-05 1992-07-21 Ast Research, Inc. Serial testing of removable circuit boards on a backplane bus
US5249270A (en) * 1991-03-29 1993-09-28 Echelon Corporation Development system protocol
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
KR950000761B1 (ko) * 1992-01-15 1995-01-28 삼성전자 주식회사 직렬 입력신호의 동기회로
US5398330A (en) * 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
JP3088180B2 (ja) * 1992-03-26 2000-09-18 日本電気アイシーマイコンシステム株式会社 シリアル入力インタフェース回路
KR960000616B1 (ko) 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
JPH06275069A (ja) 1993-03-20 1994-09-30 Hitachi Ltd シリアルメモリ
US5365484A (en) * 1993-08-23 1994-11-15 Advanced Micro Devices, Inc. Independent array grounds for flash EEPROM array with paged erase architechture
JPH0793219A (ja) 1993-09-20 1995-04-07 Olympus Optical Co Ltd 情報処理装置
US5602780A (en) * 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
US5452259A (en) * 1993-11-15 1995-09-19 Micron Technology Inc. Multiport memory with pipelined serial input
US5404460A (en) 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
US5596724A (en) * 1994-02-04 1997-01-21 Advanced Micro Devices Input/output data port with a parallel and serial interface
DE4429433C1 (de) 1994-08-19 1995-10-26 Siemens Ag Adreßzuordnungsverfahren
US5473566A (en) 1994-09-12 1995-12-05 Cirrus Logic, Inc. Memory architecture and devices, systems and methods utilizing the same
KR0142367B1 (ko) * 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5636342A (en) 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
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
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
JPH0991197A (ja) 1995-09-22 1997-04-04 Sharp Corp データ転送制御装置
JP3693721B2 (ja) * 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
TW307869B (en) * 1995-12-20 1997-06-11 Toshiba Co Ltd Semiconductor memory
KR100211760B1 (ko) * 1995-12-28 1999-08-02 윤종용 멀티뱅크 구조를 갖는 반도체 메모리 장치의 데이타 입출력 경로 제어회로
KR0170723B1 (ko) * 1995-12-29 1999-03-30 김광호 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치
US5828899A (en) 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
JPH09231740A (ja) * 1996-02-21 1997-09-05 Nec Corp 半導体記憶装置
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US5911053A (en) * 1996-09-30 1999-06-08 Intel Corporation Method and apparatus for changing data transfer widths in a computer system
US5941974A (en) * 1996-11-29 1999-08-24 Motorola, Inc. Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits
KR100243335B1 (ko) 1996-12-31 2000-02-01 김영환 독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US6175891B1 (en) * 1997-04-23 2001-01-16 Micron Technology, Inc. System and method for assigning addresses to memory devices
GB2329792A (en) * 1997-08-20 1999-03-31 Nokia Telecommunications Oy Identification signals enable a transceiver module to correctly configure itself to an attached functional module
JPH1166841A (ja) 1997-08-22 1999-03-09 Mitsubishi Electric Corp 半導体記憶装置
KR100240873B1 (ko) * 1997-08-26 2000-01-15 윤종용 송수신 겸용의 레지스터를 갖는 직렬인터페이스장치
JP4039532B2 (ja) 1997-10-02 2008-01-30 株式会社ルネサステクノロジ 半導体集積回路装置
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6148364A (en) * 1997-12-30 2000-11-14 Netlogic Microsystems, Inc. Method and apparatus for cascading content addressable memory devices
US6002638A (en) 1998-01-20 1999-12-14 Microchip Technology Incorporated Memory device having a switchable clock output and method therefor
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
WO1999045460A2 (en) 1998-03-02 1999-09-10 Lexar Media, Inc. Flash memory card with enhanced operating mode detection and user-friendly interfacing system
US6085290A (en) * 1998-03-10 2000-07-04 Nexabit Networks, Llc Method of and apparatus for validating data read out of a multi port internally cached dynamic random access memory (AMPIC DRAM)
US6144576A (en) 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US6295618B1 (en) 1998-08-25 2001-09-25 Micron Technology, Inc. Method and apparatus for data compression in memory devices
US5995417A (en) * 1998-10-20 1999-11-30 Advanced Micro Devices, Inc. Scheme for page erase and erase verify in a non-volatile memory array
JP4601737B2 (ja) 1998-10-28 2010-12-22 株式会社東芝 メモリ混載ロジックlsi
JP2000149564A (ja) 1998-10-30 2000-05-30 Mitsubishi Electric Corp 半導体記憶装置
US6304921B1 (en) 1998-12-07 2001-10-16 Motorola Inc. System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices
KR100284742B1 (ko) * 1998-12-28 2001-04-02 윤종용 입출력 센스앰프의 개수가 최소화된 메모리장치
US6111787A (en) 1999-10-19 2000-08-29 Advanced Micro Devices, Inc. Address transistion detect timing architecture for a simultaneous operation flash memory device
US6680904B1 (en) 1999-12-27 2004-01-20 Orckit Communications Ltd. Bi-directional chaining of network access ports
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US20050160218A1 (en) 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US6442098B1 (en) 2000-02-08 2002-08-27 Alliance Semiconductor High performance multi-bank compact synchronous DRAM architecture
US6988154B2 (en) 2000-03-10 2006-01-17 Arc International Memory interface and method of interfacing between functional entities
US6816933B1 (en) 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6643728B1 (en) * 2000-05-30 2003-11-04 Lexmark International, Inc. Method and apparatus for converting IEEE 1284 signals to or from IEEE 1394 signals
US6535948B1 (en) * 2000-05-31 2003-03-18 Agere Systems Inc. Serial interface unit
US6317350B1 (en) 2000-06-16 2001-11-13 Netlogic Microsystems, Inc. Hierarchical depth cascading of content addressable memory devices
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
US6754807B1 (en) 2000-08-31 2004-06-22 Stmicroelectronics, Inc. System and method for managing vertical dependencies in a digital signal processor
US6317352B1 (en) 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6853557B1 (en) 2000-09-20 2005-02-08 Rambus, Inc. Multi-channel memory architecture
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6889304B2 (en) * 2001-02-28 2005-05-03 Rambus Inc. Memory device supporting a dynamically configurable core organization
US6691205B2 (en) * 2001-03-05 2004-02-10 M-Systems Flash Disk Pioneers Ltd. Method for using RAM buffers with simultaneous accesses in flash based storage systems
JP4115676B2 (ja) 2001-03-16 2008-07-09 株式会社東芝 半導体記憶装置
US20020161941A1 (en) * 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US6996644B2 (en) 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
KR100413762B1 (ko) * 2001-07-02 2003-12-31 삼성전자주식회사 뱅크 수를 가변할 수 있는 반도체 장치 및 그 방법
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6928501B2 (en) 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
US6763426B1 (en) 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US6799235B2 (en) * 2002-01-02 2004-09-28 Intel Corporation Daisy chain latency reduction
CN1278239C (zh) * 2002-01-09 2006-10-04 株式会社瑞萨科技 存储系统和存储卡
US6754129B2 (en) * 2002-01-24 2004-06-22 Micron Technology, Inc. Memory module with integrated bus termination
US7043599B1 (en) * 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
US7062601B2 (en) 2002-06-28 2006-06-13 Mosaid Technologies Incorporated Method and apparatus for interconnecting content addressable memory devices
KR100499686B1 (ko) * 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
CA2396632A1 (en) 2002-07-31 2004-01-31 Mosaid Technologies Incorporated Cam diamond cascade architecture
KR100487539B1 (ko) 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
US7032039B2 (en) 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
KR100493884B1 (ko) 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
JP4836794B2 (ja) 2003-05-13 2011-12-14 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド シリアルメモリインターコネクトを介して複数のメモリモジュールに接続されたホストを含むシステム
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7031221B2 (en) 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
CN100495369C (zh) 2004-01-20 2009-06-03 特科2000国际有限公司 使用多个存储器设备的便携数据存储设备
US7475174B2 (en) 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
DE102004013493B4 (de) * 2004-03-18 2009-11-05 Infineon Technologies Ag Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US6950325B1 (en) 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM
EP1681770A1 (en) * 2005-01-18 2006-07-19 Koninklijke Philips Electronics N.V. Error correcting code
US8041879B2 (en) 2005-02-18 2011-10-18 Sandisk Il Ltd Flash memory backup system and method
JP2006236105A (ja) * 2005-02-25 2006-09-07 Canon Inc アクセス制御装置及びその制御方法
WO2007036050A1 (en) 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7496777B2 (en) * 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
US7631162B2 (en) * 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US8364861B2 (en) 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US7506098B2 (en) * 2006-06-08 2009-03-17 Bitmicro Networks, Inc. Optimized placement policy for solid state storage devices
WO2008022434A1 (en) 2006-08-22 2008-02-28 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266614A (ja) * 1993-03-16 1994-09-22 Hitachi Ltd メモリ制御方法
JPH1145206A (ja) * 1997-07-29 1999-02-16 Casio Comput Co Ltd 電子装置、メモリ起動方法及びメモリ起動プログラムを記録した記録媒体
JPH11161544A (ja) * 1997-11-25 1999-06-18 Seiko Epson Corp 情報処理装置、その制御方法およびメモリアドレス変換装置
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
WO2005015406A1 (ja) * 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. 半導体メモリカード、アクセス装置及びアクセス方法
US20050120163A1 (en) * 2003-12-02 2005-06-02 Super Talent Electronics Inc. Serial Interface to Flash-Memory Chip Using PCI-Express-Like Packets and Packed Data for Partial-Page Writes
US20060248305A1 (en) * 2005-04-13 2006-11-02 Wayne Fang Memory device having width-dependent output latency

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014509024A (ja) * 2011-03-11 2014-04-10 マイクロン テクノロジー, インク. メモリを制御するためのシステム、装置、メモリコントローラ、および方法
JP2015130193A (ja) * 2011-03-11 2015-07-16 マイクロン テクノロジー, インク. メモリ初期化のための方法
JP2015158945A (ja) * 2011-03-11 2015-09-03 マイクロン テクノロジー, インク. メモリを制御するためのシステム、装置、メモリコントローラ、および方法
US9239806B2 (en) 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US9524118B2 (en) 2011-03-11 2016-12-20 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory

Also Published As

Publication number Publication date
TW200849276A (en) 2008-12-16
US7904639B2 (en) 2011-03-08
KR101492383B1 (ko) 2015-02-12
US20080052449A1 (en) 2008-02-28
CN101675478B (zh) 2013-10-30
CN101675478A (zh) 2010-03-17
KR101476471B1 (ko) 2014-12-24
KR20090115870A (ko) 2009-11-09
EP2126916A2 (en) 2009-12-02
KR20140119744A (ko) 2014-10-10
JP5408663B2 (ja) 2014-02-05
CA2676610A1 (en) 2008-08-21
US20110131383A1 (en) 2011-06-02
WO2008101246A2 (en) 2008-08-21
WO2008101246A8 (en) 2009-05-28
WO2008101246A3 (en) 2009-02-19

Similar Documents

Publication Publication Date Title
JP5408663B2 (ja) 1つもしくはそれ以上のメモリ装置を有するシステム
US8812768B2 (en) System having one or more memory devices
US11880569B2 (en) Clock mode determination in a memory system
US8837237B2 (en) Dual function compatible non-volatile memory device
JP5599852B2 (ja) 出力遅延調整によるシリアル接続のメモリシステム
JP2010524089A (ja) バッファ装置と集積回路メモリ装置を含むメモリシステムトポロジ

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121017

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130116

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130826

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131030

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees