特許第5753989号(P5753989)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ノヴァチップス カナダ インコーポレイテッドの特許一覧

特許5753989複数のメモリデバイスを有するシステムの状態表示
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5753989
(24)【登録日】2015年6月5日
(45)【発行日】2015年7月22日
(54)【発明の名称】複数のメモリデバイスを有するシステムの状態表示
(51)【国際特許分類】
   G06F 13/16 20060101AFI20150702BHJP
   G06F 12/00 20060101ALI20150702BHJP
【FI】
   G06F13/16 510B
   G06F12/00 597U
【請求項の数】26
【全頁数】23
(21)【出願番号】特願2013-505287(P2013-505287)
(86)(22)【出願日】2011年4月19日
(65)【公表番号】特表2013-525889(P2013-525889A)
(43)【公表日】2013年6月20日
(86)【国際出願番号】CA2011000448
(87)【国際公開番号】WO2011130835
(87)【国際公開日】20111027
【審査請求日】2013年8月26日
(31)【優先権主張番号】13/023,838
(32)【優先日】2011年2月9日
(33)【優先権主張国】US
(31)【優先権主張番号】61/325,451
(32)【優先日】2010年4月19日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】515061112
【氏名又は名称】ノヴァチップス カナダ インコーポレイテッド
(74)【代理人】
【識別番号】110000246
【氏名又は名称】特許業務法人OFH特許事務所
(72)【発明者】
【氏名】ローランド・シュッツ
(72)【発明者】
【氏名】ハクジュネ・オウ
(72)【発明者】
【氏名】ホン・ボム・ピョン
【審査官】 野田 佳邦
(56)【参考文献】
【文献】 特表2010−501915(JP,A)
【文献】 特開平05−081178(JP,A)
【文献】 特開2007−316699(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00−12/06
G06F 13/16−13/18
(57)【特許請求の範囲】
【請求項1】
複数のデバイスを含むシステムであって、
前記複数のデバイスの各々が状態入力ピン、状態出力ピン、別々のデータ入力ピンおよびデータ出力ピン、並びに別々のコマンド入力ピンおよびコマンド出力ピンを含み、前記複数のデバイスが、
a)少なくとも最初および最後のメモリデバイスを含む複数の半導体メモリデバイスと、
b)前記半導体メモリデバイスと通信するためのコントローラデバイスとを含み、
前記最初のメモリデバイスが前記コントローラデバイスの状態出力ピンに接続される状態入力ピンを有し、前記最初のメモリデバイスの状態出力ピンが介在メモリデバイスまたは前記最後のメモリデバイスのいずれかの状態入力ピンに接続され、前記最後のメモリデバイスの前記状態入力ピンが別の介在メモリデバイス、前記介在メモリデバイス、または前記最初のメモリデバイスのいずれかの状態出力ピンに接続され、前記最後のメモリデバイスの状態出力ピンは、状態リングが形成されるように前記コントローラデバイスの状態入力ピンに接続され、前記複数のデバイスの各々が前記状態リング上にあり、前記状態リングにおける通信が、前記半導体メモリデバイスのうちの任意のものと前記コントローラデバイスとの間のいかなるデータ通信のタイミングとも独立している、システム。
【請求項2】
前記半導体メモリデバイスのうちの少なくとも1つが、状態パケットを前記状態リングに出力して前記半導体メモリデバイスのうちの前記少なくとも1つの中の状態変化の表示を行うように構成されている、請求項1に記載のシステム。
【請求項3】
前記状態パケットは、前記状態パケットが前記半導体メモリデバイスのうちの前記少なくとも1つから生じたことを識別するための識別ビットを含む、請求項2に記載のシステム。
【請求項4】
前記半導体メモリデバイスのうちの少なくとも1つが、単一のストローブパルスを前記状態リングに出力して前記半導体メモリデバイスのうちの前記少なくとも1つの中の状態変化の表示を行うように構成されている、請求項1に記載のシステム。
【請求項5】
前記半導体メモリデバイスのうちの少なくとも1つが、クロック信号のエッジと同期関係でデータを出力するための少なくとも1つのデータ出力ピンを含む、請求項1に記載のシステム。
【請求項6】
少なくとも2つの非同期フラッシュメモリデバイスをさらに含み、前記非同期フラッシュメモリデバイスが前記半導体メモリデバイスのうちの前記少なくとも1つに接続され、前記半導体メモリデバイスのうちの前記少なくとも1つが、前記少なくとも2つの非同期フラッシュメモリデバイスのいずれかと非同期で通信するように構成されたブリッジデバイスである、請求項5に記載のシステム。
【請求項7】
前記半導体メモリデバイスのうちの前記少なくとも1つが、状態パケットを前記状態リングに出力して前記半導体メモリデバイスのうちの前記少なくとも1つの中の状態変化の表示を行うように構成されている、請求項6に記載のシステム。
【請求項8】
前記状態パケットは、前記状態パケットが前記半導体メモリデバイスのうちの前記少なくとも1つから生じたことを識別するための識別ビットを含む、請求項7に記載のシステム。
【請求項9】
前記半導体メモリデバイスの前記少なくとも1つが、単一のストローブパルスを前記状態リングに出力して前記メモリデバイスのうちの前記少なくとも1つの中の状態変化の表示を行うように構成されている、請求項6に記載のシステム。
【請求項10】
前記複数の半導体メモリデバイスがフラッシュメモリデバイスである、請求項1から9のいずれか一項に記載のシステム。
【請求項11】
前記フラッシュメモリデバイスがNANDフラッシュメモリデバイスである、請求項1から9のいずれか一項に記載のシステム。
【請求項12】
データバスへの接続のための複数のデータピンと、
前記データバスから独立している状態ラインへの接続のための状態ピンと、
第1の継続時間を有するメモリ動作の完了の際、前記第1の継続時間よりもはるかに短い第2の継続時間のストローブパルスを生成するための第1の回路であって、前記ストローブパルスが前記メモリ動作の前記完了の表示を行う、第1の回路と、
前記ストローブパルスを前記状態ピンを介して前記状態ラインに出力するための第2の回路とを含むメモリデバイス。
【請求項13】
前記メモリデバイスが複数の個別のメモリデバイスに接続するように構成されたブリッジデバイスである、請求項12に記載のメモリデバイス。
【請求項14】
前記メモリ動作が前記個別のメモリデバイスのうちの1つのメモリ動作である、請求項13に記載のメモリデバイス。
【請求項15】
前記複数の個別のメモリデバイスがフラッシュメモリデバイスであり、前記メモリ動作がプログラム、読出し、および消去のうちの1つからなる、請求項14に記載のメモリデバイス。
【請求項16】
前記フラッシュメモリデバイスがNANDフラッシュメモリデバイスである、請求項15に記載のメモリデバイス。
【請求項17】
前記ブリッジデバイスが、i)リング型トポロジーシステムにおけるコントローラデバイスと、ii)マルチドロップサブシステムにおける前記複数の個別のメモリデバイスとの両方と通信するように構成されている、請求項13から16のいずれか一項に記載のメモリデバイス。
【請求項18】
複数のデータピンおよび状態ピンを含むフラッシュメモリデバイスを用意する段階であって、前記複数のデータピンがデータバスに接続され、前記状態ピンが前記データバスから独立している状態ラインに接続される、段階と、
前記フラッシュメモリデバイス内で、第1の継続時間を有するメモリ動作を実行する段階と、
前記メモリ動作の完了の際、前記第1の継続時間よりもはるかに短い第2の継続時間のストローブパルスを生成する段階であって、前記ストローブパルスが前記メモリ動作の前記完了の表示を行う、段階と、
前記ストローブパルスを前記状態ピンを介して前記状態ラインに出力する段階とを含む方法。
【請求項19】
前記メモリ動作がプログラム、読出し、および消去のうちの1つからなる、請求項18に記載の方法。
【請求項20】
前記フラッシュメモリデバイスがNANDフラッシュメモリデバイスである、請求項18または19に記載の方法。
【請求項21】
少なくともそれぞれ1つのデータ及びコマンドの入力ピンと、
少なくともそれぞれ1つのデータ及びコマンドの出力ピンと、
別のメモリデバイスまたはコントローラデバイスのいずれかの状態出力ピンに接続するように構成された状態入力ピンと、
さらなる別のメモリデバイスまたは前記コントローラデバイスのいずれかの状態入力ピンに接続するように構成された状態出力ピンとを含むメモリデバイスであって、
前記メモリデバイスの前記状態入力ピン、前記メモリデバイスの前記状態出力ピン、前記少なくとも1つのデータ入力ピン、および前記少なくとも1つのデータ出力ピンが各々互いに物理的に別個のピンであり、前記状態出力ピンにおける状態出力のタイミングは、前記少なくとも1つのデータ出力ピンにおけるデータ出力のタイミングと独立している、メモリデバイス。
【請求項22】
前記メモリデバイスが、フラッシュメモリデバイス内で、第1の継続時間を有するメモリ動作を実行するように構成されたフラッシュメモリデバイスである、請求項21に記載のメモリデバイス。
【請求項23】
前記フラッシュメモリデバイスが、前記メモリ動作の完了の際、前記第1の継続時間よりもはるかに短い第2の継続時間のストローブパルスを生成するようにさらに構成され、前記ストローブパルスが前記メモリ動作の前記完了の表示を行う、請求項22に記載のメモリデバイス。
【請求項24】
前記フラッシュメモリデバイスが、前記ストローブパルスを前記状態出力ピンを介して出力するようにさらに構成されている、請求項23に記載のメモリデバイス。
【請求項25】
前記メモリ動作がプログラム、読出し、および消去のうちの1つからなる、請求項22から24のいずれか一項に記載のメモリデバイス。
【請求項26】
前記メモリデバイスが複数の個別のメモリデバイスに接続するように構成されたブリッジデバイスであって、前記ブリッジデバイスが、i)リング型トポロジーシステムにおける前記コントローラデバイスと、ii)マルチドロップサブシステムにおける前記複数の個別のメモリデバイスとの両方と通信するように構成されている、請求項21に記載のメモリデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、複数のメモリデバイスを有するシステムの状態表示に関するものである。
関連出願の相互参照
本出願は、2010年4月19日に出願された米国特許仮出願第61/325,451号および2011年2月9日に出願された米国特許非仮出願第13/023,838号の優先権の利益を主張するものであり、それらは参照によりそれらの全体が本明細書に組み込まれる。
【背景技術】
【0002】
コンピュータおよび他の情報技術システムは、一般に、メモリなどの半導体デバイスを含む。半導体デバイスはコントローラによって制御され、コントローラはコンピュータの中央処理装置(CPU)の一部を形成することができ、またはCPUから分離することができる。コントローラは、半導体デバイスに、または半導体デバイスから情報を通信するためのインタフェースを有する。さらに、通信され得る情報のタイプと、そのようなコントローラ-デバイス通信を実行するための先行技術で開示された様々な実施形態とは数が多いことが理解されよう。メモリデバイスのレディまたはビジー状態は、メモリデバイスからコントローラに通信され得る単なる1つのタイプの情報の例である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2008/0201548A1号
【特許文献2】米国特許出願公開第2008/0049505A1号
【特許文献3】米国特許出願公開第2008/0052449A1号
【特許文献4】米国特許出願公開第2010/0091536A1号
【特許文献5】米国特許出願第11/622,828号
【特許文献6】米国特許出願第11/750,649号
【特許文献7】米国特許出願第11/692,452号
【特許文献8】米国特許出願第11/692,446号
【特許文献9】米国特許出願第11/692,326号
【特許文献10】米国特許出願第11/771,023号
【特許文献11】米国特許出願第11/771,241号
【特許文献12】米国特許出願第12/401,963号
【特許文献13】米国特許出願第12/508,926号
【特許文献14】米国特許出願第12/607,680号
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、1つまたは複数のメモリデバイスを含む改善されたシステムを提供することである。
【課題を解決するための手段】
【0005】
本発明の1つの態様によれば、複数のデバイスを含むシステムが提供され、複数のデバイスの各々が状態入力ピン、状態出力ピン、ならびに別々のデータ入力ピンおよびデータ出力ピンを含む。複数のデバイスは、少なくとも最初および最後のメモリデバイスを含む複数の半導体メモリデバイスを含む。複数のデバイスは、半導体メモリデバイスと通信するためのコントローラデバイスをさらに含む。最初のメモリデバイスは、コントローラデバイスの状態出力ピンに接続される状態入力ピンを有する。最初のメモリデバイスの状態出力ピンは、介在メモリデバイスまたは最後のメモリデバイスのいずれかの状態入力ピンに接続される。最後のメモリデバイスの状態入力ピンは、別の介在メモリデバイス、前述の介在メモリデバイス、または最初のメモリデバイスのいずれかの状態出力ピンに接続される。最後のメモリデバイスの状態出力ピンは、状態リングが形成されるようにコントローラの状態入力ピンに接続される。複数のデバイスの各々が状態リング上にあり、状態リングは、複数の半導体メモリデバイスのうちの任意のものとコントローラデバイスとの間のいかなるデータ通信経路とも無関係である状態通信経路をもたらす。
【0006】
本発明の別の態様によれば、データバスへの接続のための複数のデータピンを含むメモリデバイスが提供される。メモリデバイスは、データバスから独立している状態ラインへの接続のための状態ピンをさらに含む。メモリデバイスは、第1の継続時間を有するメモリ動作の完了の際、第1の継続時間よりもはるかに短い第2の継続時間のストローブパルスを生成するための第1の回路をさらに含む。ストローブパルスはメモリ動作の完了の表示を行う。メモリデバイスはストローブパルスを状態ピンを介して状態ラインに出力するための第2の回路をさらに含む。
【0007】
本発明のさらなる別の態様によれば、複数のデータピンおよび状態ピンを含むフラッシュメモリデバイスを用意する段階であり、複数のデータピンがデータバスに接続され、状態ピンがデータバスから独立している状態ラインに接続される、段階を含む方法が提供される。この方法は、フラッシュメモリデバイス内で、第1の継続時間を有するメモリ動作を実行する段階をさらに含む。この方法は、メモリ動作の完了の際、第1の継続時間よりもはるかに短い第2の継続時間のストローブパルスを生成する段階であり、ストローブパルスがメモリ動作の完了の表示を行う、段階をさらに含む。この方法は、ストローブパルスを状態ピンを介して状態ラインに出力する段階をさらに含む。
【0008】
このように、1つまたは複数のメモリデバイスを含む改善されたシステムが提供されている。
【0009】
次に、例として添付図面を参照する。
【図面の簡単な説明】
【0010】
図1A】並列クロック信号を受信する例示のシステムのブロック図である。
図1B】ソース同期クロック信号を受信する例示のシステムのブロック図である。
図2】例示の実施形態によるシステムのブロック図であり、デバイスのリング中の各デバイスは独立した状態リングを設けるために追加の組のIOピンを含む。
図3】代替の例示の実施形態によるシステムのブロック図であり、デバイスのリング中の各デバイスは独立した状態リングを設けるために追加の組のIOピンを含む。
図4】例示の実施形態による状態パケットのダイヤグラムである。
図5】代替の例示の実施形態による状態パケットのダイヤグラムである。
図6】さらなる別の代替の例示の実施形態による状態パケットのダイヤグラムである。
図7】いくつかの例示の実施形態によるタイミング図である。
図8】例示の実施形態によるメモリデバイスに含まれ得る例示の状態バスコントローラのブロック図である。
図9】いくつかの例示の実施形態による別のタイミング図である。
図10】いくつかの例示の実施形態による別のタイミング図である。
図11】いくつかの例示の実施形態による別のタイミング図である。
図12】さらなる別の代替の例示の実施形態によるシステムのブロック図である。
図13A】いくつかの例示の実施形態による別のタイミング図である。
図13B】いくつかの例示の実施形態による別のタイミング図である。
図14】いくつかの例示の実施形態による別のタイミング図である。
図15A】いくつかの例示の実施形態によるさらなる別のタイミング図である。
図15B】いくつかの例示の実施形態によるさらなる別のタイミング図である。
【発明を実施するための形態】
【0011】
図面に示された同様の例示の特徴を表すのに同様または同じ参照番号が異なる図で使用されていることがある。
【0012】
リング型トポロジーを有するシステムの例は、2008年8月21日に公開された「SYSTEM HAVING ONE OR MORE MEMORY DEVICES」という名称の米国特許出願公開第2008/0201548A1号、2008年2月28日に公開された「SCALABLE MEMORY SYSTEM」という名称の米国特許出願公開第2008/0049505A1号、2008年2月28日に公開された「MODULAR COMMAND STRUCTURE FOR MEMORY AND MEMORY SYSTEM」という名称の米国特許出願公開第2008/0052449A1号、2010年4月15日に公開された「COMPOSITE MEMORY HAVING A BRIDGING DEVICE FOR CONNECTING DISCRETE MEMORY DEVICES TO A SYSTEM」という名称の米国特許出願公開第2010/0091536A1号に説明されている。以下の説明の様々な点において、ある特定の例示のコマンド、アドレスおよびデータフォーマット、プロトコル、内部デバイス構造体、および/またはバストランザクションなどを参照することができ、当業者は、上述の特許参考文献を参照しながら、さらなる例示の詳細が迅速に得られ得ることを理解されよう。
【0013】
いくつかの例示の実施形態によれば、コマンドパケットはコントローラから生じ、最後にコントローラに戻るまで、ポイントツーポイント式に各メモリデバイスを通ってメモリデバイスのリングを次々に回される。図1Aは並列クロック信号を受信する例示のシステムのブロック図であり、一方、図1Bは、ソース同期クロック信号を受信する図1Aの同じシステムのブロック図である。クロック信号は、シングルエンドクロック信号または差動クロックペアのいずれかとすることができる。
【0014】
図1Aにおいて、システム20は、少なくとも1つの出力ポートXoutおよび入力ポートXinを有するメモリコントローラ22と、直列に接続されるメモリデバイス24、26、28、および30とを含む。図1Aに示されていないが、各メモリデバイスはXin入力ポートとXout出力ポートとを有する。入力ポートおよび出力ポートは、メモリデバイスをそれが一部であるシステムにインタフェースする1つまたは複数の物理的ピンまたは接続部からなる。いくつかの例では、メモリデバイスはフラッシュメモリデバイスである。図1Aのこの例は4つのメモリデバイスを含んでいるが、代替の例は単一のメモリデバイスまたは任意の好適な数のメモリデバイスを含むことができる。したがって、メモリデバイス24が、Xoutに接続されるシステム20の最初のデバイスである場合、メモリデバイス30は、Xinに接続されるN番目または最後のデバイスであり、ここで、Nは0を超える整数である。そのとき、メモリデバイス26から28は最初のデバイスと最後のデバイスの間の介在している直列接続されたメモリデバイスである。各メモリデバイスは、システムの起動時の初期化に際して別個の識別(ID)番号、またはデバイスアドレス(DA)を想定することができ、その結果、それらは個々にアドレス指定することができる。同一出願人が所有する「APPARATUS AND METHOD FOR PRODUCING IDS FOR INTERCONNECTED DEVICES OF MIXED TYPE」という名称の米国特許出願第11/622,828号、「APPARATUS AND METHOD FOR ESTABLISHING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES」という名称の米国特許出願第11/750,649号、「APPARATUS AND METHOD FOR PRODUCING DEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES OF MIXED TYPE」という名称の米国特許出願第11/692,452号、「APPARATUS AND METHOD FOR PRODUCING IDENTIFIERS REGARDLESS OF MIXED DEVICE TYPE IN A SERIAL INTERCONNECTION」という名称の米国特許出願第11/692,446号、「APPARATUS AND METHOD FOR IDENTIFYING DEVICE TYPE OF SERIALLY INTERCONNECTED DEVICES」という名称の米国特許出願第11/692,326号、「ADDRESS ASSIGNMENT AND TYPE RECOGNITION OF SERIALLY INTERCONNECTED MEMORY DEVICES OF MIXED TYPE」という名称の米国特許出願第11/771,023号、および「SYSTEM AND METHOD OF OPERATING MEMORY DEVICES OF MIXED TYPE」という名称の米国特許出願第11/771,241号は、システムの直列接続メモリデバイスのためのデバイスアドレスを生成および割り当てる方法を説明している。
【0015】
メモリデバイス24から30は、チェーン中の最初のメモリデバイスと最後のメモリデバイスとを除いて、あるメモリデバイスのデータ入力が前のメモリデバイスのデータ出力に接続され、それによって、直列接続システム構成を形成するので、直列接続されていると見なされる。メモリコントローラ22のチャネルは、導電性ラインに接続された別々のピンまたは同じピンによって与えられるデータ、アドレス、および制御情報を含む。図1Aの例は1つのチャネルを含み、1つのチャネルはXoutおよび対応するXinポートを含む。しかし、メモリコントローラ22は、別々のメモリデバイスチェーンを収容するために任意の好適な数のチャネルを含むことができる。図1Aの例では、メモリコントローラ22はクロック信号CKを供給し、クロック信号CKはすべてのメモリデバイスに並列に接続される。
【0016】
大まかな動作では、メモリコントローラ22はそのXoutポートを通してコマンドを発行し、コマンドは、オペレーションコード(opコード)、デバイスアドレス、読み出しまたはプログラミングのためのオプションのアドレス情報、およびプログラミングのためのデータを含む。コマンドは直列ビットストリームコマンドパケットとして発行することができ、パケットは所定のサイズのセグメントに論理的に細分することができる。各セグメントは、例えば、サイズを1バイトとすることができる。ビットストリームはある期間にわたる一続きまたは一連のビットである。コマンドは最初のメモリデバイス24によって受け取られ、最初のメモリデバイス24はデバイスアドレスをその割当てられたアドレスと比較する。アドレスが一致する場合、メモリデバイス24はコマンドを実行する。コマンドはそれ自体の出力ポートXoutを通して次のメモリデバイス26に渡され、同じ手順が繰り返される。最終的に、選択されたメモリデバイスと呼ばれる一致デバイスアドレスを有するメモリデバイスは、コマンドで指示された動作を行うことになる。コマンドが読出しデータコマンドである場合、選択されたメモリデバイスはその出力ポートXout(図示せず)を通して読出しデータを出力することになり、読出しデータは、メモリコントローラ22のXinポートに到達するまで介在メモリデバイスを通して連続的に渡される。コマンドおよびデータは直列ビットストリームで供給されるので、クロックは、直列ビットをクロックイン/アウトさせるため、および内部メモリデバイス動作を同期させるために各メモリデバイスによって使用される。このクロックはシステム20のすべてのメモリデバイスによって使用される。
【0017】
図1Aのシステム20のより具体的な例のさらなる詳細が、前に述べた米国特許出願公開第2008/0201548A1号の図3Aおよび段落53〜56に与えられており、この図と説明の対応する段落とは参照により本明細書に組み込まれる。
【0018】
図1Aによるシステムで使用されるクロック周波数は比較的低いので、未終端フルスイング(unterminated full swing)CMOS信号レベルは頑健なデータ通信を行うのに使用することができる。これはLVTTLシグナリングとも呼ばれ、当業者にはよく知られている。
【0019】
図1Aのシステム20に対するさらなる性能向上は図1Bのシステムによって得ることができる。図1Bのシステム40は、ソース同期クロック信号CKを供給する代替のメモリコントローラ42から各メモリデバイスにクロック信号CKを直列的に供給することを除いて図1Aのシステム20と同様である。各メモリデバイス44、46、48、および50はそれぞれのクロック入力ポートでソース同期クロックを受け取り、それをそれぞれのクロック出力ポートを介してシステムの次のデバイスに転送することができる。システム40のいくつかの例では、クロック信号CKは、あるメモリデバイスから別のメモリデバイスに短い信号ラインを介して渡される。したがって、並列クロック分配方式に関連するクロック性能問題は存在せず、CKは高い周波数で動作することができる。したがって、システム40は、図1Aのシステム20よりも高い速度で動作することができる。例えば、高速トランシーバロジック(HSTL)シグナリングは高性能データ通信を行うのに使用することができる。HSTLシグナリングフォーマットでは、各メモリデバイスは入来データ信号の論理状態を決定するために使用される基準電圧を受け取ることができる。別の同様のシグナリングフォーマットはSSTLシグナリングフォーマットである。したがって、システム20および40のメモリデバイスのデータクロック入力回路は互いに異なるように構築される。HSTLおよびSSTLシグナリングフォーマットの両方は当業者によく知られているはずである。
【0020】
図1Bのシステム40のより具体的な例のさらなる詳細が、前に述べた米国特許出願公開第2008/0201548A1号の図3Bおよび段落57〜58に与えられており、この図と説明の対応する段落とは参照により本明細書に組み込まれる。
【0021】
次に、図2が参照される。図2は、例示の実施形態によるシステム200のブロック図であり、図示のシステムはメモリコントローラ210と複数のメモリデバイス212とを含む。図示のシステムは、多くの点で、図1Aのシステムに類似しており、XoutポートおよびXinポートは複数のラインによってより細分化した詳細でダイヤグラムにより示され、複数のラインのうちの1つは、デバイスのリングの回りをデバイスからデバイスに延びる状態ラインであり、デバイスの各々は、独立した状態リング214を設けるために追加の組のIOピン(すなわち、DQピンに追加した)を含む。これらの追加のIOピンは、メモリコントローラ210とメモリデバイス212の各々とにSIおよびSOでラベル付けされる。SIピンおよびSOピンは、本明細書では、それぞれ、状態入力ピンおよび状態出力ピンとも呼ばれる。
【0022】
次に、図3を参照すると、代替の例示の実施形態によるシステム300のブロック図があり、図示のシステムはメモリコントローラ310と複数のメモリデバイス312とを含む。システム300とシステム200との間の差異は、主として、システム300は図1Bに関連して説明したような直列分配クロックを使用することだけであり、この主な差異は、次に、両方の例示の実施形態を参照しながら後続の詳しい内容を説明するのに便宜を提供することになるであろう。
【0023】
図2および図3の例示の実施形態によれば、概略的な動作は以下のとおりである。メモリデバイス212または312は、プログラム、読出し、消去などのような内部動作を完了したとき、完了した動作に関する情報を用いてメモリデバイスのステータスレジスタを更新する。メモリデバイス212または312がステータスレジスタの更新を完了した後、メモリデバイスは、自動的に、ステータスレジスタのコンテンツをコントローラ210または310に状態リング214または314を介して送出して戻し、それによって、未処理動作(outstanding operation)を仕上げたことをコントローラ210または310に通知する。このようにコントローラに状態を自動転送することにより、未処理メモリ動作の進行の経過を追うためのコントローラの負担が緩和される。各メモリデバイス212または312は、動作を完了したときコントローラ210または310に通知する責任がある。
【0024】
したがって、状態リング214または314の目的は、コマンドのオーバヘッドおよびデータバスを増加させることなしに状態情報の転送を可能にすることである。特に、従来のメモリシステムでは、ホスト(例えば、コントローラ)は、次の2つの方法のうちの1つでメモリデバイスの状態を知る。2つの方法は、i)内部動作がメモリデバイス中で完了したときに関してコントローラに警報を出す、一般にRBbと呼ばれる、レディ/ビジー(Ready/Busy)ピンによるもの(いくつかのそれほど複雑でない実施形態では、すべてのメモリチップのRBbピンが一緒に結ばれ、その結果、共通線上の「ビジー」信号は、それ自体、任意の1つの特定のデバイスがレディであるかまたはビジーであるかを示すことができず、不利なことには、「ビジー」期間の間コントローラは1つの特定のデバイスがレディであるかどうかを他の方法で見いだす必要がある)、およびii)メモリデバイスのステータスレジスタのコンテンツがコマンド/データバスを介してコントローラに送出される、「リードステータスレジスタ(Read Status Register)」コマンドによるものである。どのデバイスがレディであり、どのデバイスがビジーであるかをコントローラが内部動作により容易に解釈することができるようにコントローラに接続された固有のRBbピンを各メモリデバイスは備えることができる。図1Aまたは1Bに示された例示のリングアーキテクチャなどのリングアーキテクチャで接続されたメモリデバイスでは、状態収集機能をバスのプロトコルに組み込むことができ、追加のレディ/ビジーピンは存在しない。これは、特に、各リングまたはチャネルに多くのデバイスを接続する場合にピン数を節約する手段として行われる。デバイス当たり1つのレディ/ビジーピンを用いると、ピンの数はデバイス数とともに直線的に増加し、リングまたはメモリサブシステムに対して使用不可能なピン数をもたらすことがある。したがって、レディ/ビジーを含む状態情報はコマンド/データバスのプロトコルに組み込まれる。
【0025】
しかし、メモリチャンネル上のトラヒックがビジーなるにつれて、状態およびレディ/ビジー情報の収集に関連するオーバヘッドが極めて大きくなることがあり、データページ転送サイズ(例えば、4KBまたは8KBとすることができる)と比べてもはや無視できると見なすことはできない。さらに、コントローラがバスへの必要な状態コマンドのすべてをコマンドパケットとデータパケットとの間にタイムリーにインタリーブするのは難題になる。この問題は、図2および図3の例示の実施形態では避けることができる。これらの実施形態では、状態コマンドおよび情報は、コマンド/データの入力ピンと出力ピンとの(DピンとQピンとの)間に延びるラインを含むデータ通信経路に沿って移動する必要がない。データ通信および状態通信の両方のための共有ラインの代わりに、システム200(またはシステム300)は、独立した状態通信経路をもたらす状態リングを含む。
【0026】
次に、図4が参照される。図4は、例示の実施形態による状態パケット400のダイヤグラムである。いくつかの例示の実施形態によれば、状態パケットは小さく、その結果、状態パケットはバス上で多くの時間を占めず、かつコントローラは最低限の論理および処理オーバヘッドで状態パケットを復号することができる。いくつかの例では、状態パケットはパケットの開始を識別するためにいくつかのヘッダビット410から始まり、関連する状態ビット414に加えた送信側デバイス識別情報(図4のビット412)と、最後に、長さm+1の誤り検出符合(EDC)値(図4のビット416)とを含む。EDCの代替として、図4および後で説明する図の例示の実施形態による状態パケットは誤り訂正符号(ECC)ビットを含むことができる。当業者なら理解されるように、ECCはシステムのコントローラ内での誤り検出と訂正との両方を意味するが、一方、EDCはコントローラが誤りを検出することができる(しかし訂正することはできない)ことを意味する。さらに、状態パケットは、オプションとして、DDRフォーマットで送出および受け取りを行うことができることに留意されたい。
【0027】
いくつかの例示の実施形態によれば、状態パケットのコンテンツは、特定のメモリサブシステムのリングにパケット特性を合わせるようにプログラム可能である。これは制御レジスタを介して達成することができる。例えば、メモリサブシステムがリング当たり15個のデバイスのみを含むリングを有する場合、コントローラは、必要とする総数である4ビットのデバイスID(id0〜id3)のみを含むようにパケットを構成することができる。さらに、各メモリデバイスがバンク当たり1つのプレーンをもつ4つのバンクを含む場合、コントローラは、4つの対応するレディ/ビジービット(srb0〜srb3)および4つのパス/フェイル(Pass/Fail)ビット(spf0〜spf3)のみを含むように状態ビットを構成し、それらのバンクに関連する他の状態ビットを除外することができる。このように、メモリデバイスの概略的な動作にとって最も重要なビットとしてレディ/ビジーおよびパス/フェイルを扱うように決定が行われることになる。上述のように構成された状態パケットが図5に示される。図示の例示の状態パケット500は、上述のビット、すなわち、ヘッダビット510、id0〜id3ビット512、レディ/ビジーおよびパス/フェイルビット514、ならびにEDCビット516を含む。
【0028】
さらなるパケットサイズ低減は、状態イベントを一度に1つの状態イベントに制限するシステムで達成することができる。そのようなシステムでは、状態パケットは、レディ/ビジーおよびパス/フェイル情報のサブセットのみ、すなわち、内部動作を完了したバンクのレディ/ビジーおよびパス/フェイル情報のみを含む。さらに、そのような状況では、コントローラはそれらの状態ビットのオーナを識別することを依然として必要とし、したがって、パケットはバンク識別のために2バンクビットを含むようにさらに構成されなければならないことになる。それにより、状態パケットはこの例示の場合にはさらなる4ビットだけサイズが減少される。上述のように構成された状態パケットが図6に示される。図示の例示の状態パケット600は、上述のビット、すなわち、ヘッダビット610、id0〜id3ビット612、バンクビット614、レディ/ビジーおよびパス/フェイルビット616、ならびにEDCビット618を含む。
【0029】
いくつかの例示の実施形態によれば、コントローラが、状態情報を含むように状態パケットを設定しなかったその状態情報を必要とする場合、コントローラは通常のデータおよびコマンドバスを介してそうすることができる。これは、過度のオーバヘッドを追加することによる悪影響をデータおよびコマンドバスの性能に及ぼさないはずであるが、それは、そのような補足の状態読出しが少数であり、まれにしか生じないと予想されるからである。
【0030】
ヘッダは任意の好適な長さとすることができる。パケット長に関して最も効率的な長さは単なる1ビット幅であるが、いくつかの代替の例では、論理「1」に対して設定される2ビットによりヘッダが構成され得る。他のヘッダ長またはデータパターンを可能とすることができる。
【0031】
少なくともいくつかの例示の実施形態の状態バスの適切な機能をサポートするために、各メモリデバイスは、コントローラ、プログラム可能遅延論理回路、および制御レジスタを備える。これらは後でより詳細に説明される。
【0032】
次に、図7が参照される。図7は、いくつかの例示の実施形態に従って状態バスコントローラの設計に入れ込む必要がある例示の状態パケット700と2つのタイミングパラメータとの構成を示すタイミング図である。図示の例における状態パケット700はCkのポジティブエッジから開始して受け取られ、DDR式にCkのエッジごとに新しいビットを含む。状態パケットの構成には、限定はしないが、i+1個のヘッダビット702、j+1個のデバイスIDビット704、k+1個のバンクビット(図示の都合でこの特定の図には示していない)、n+1個の状態ビット706、およびm+1個のEDCビット708が含まれる。状態パケットの長さはtSPLで与えられ、tSPLは、tSPL=1/2tCK*(i+j+k+n+m+5)で与えられ、ここで、tCKはシステムバスのクロック周期である(しかし、状態バスにのみ供給される固有で独立したクロックとすることができる)。各状態パケット700は、特定の実施形態で決定されるような所与の数のポジティブクロックエッジだけ分離される。この分離は状態分離待ち時間(Status Separation Latency )と呼ばれ、図7ではtSPSで与えられる。ある設計ではより多くのクロックエッジを必要とすることがあり、ある設計では1つのクロックエッジ(すなわち、1つのポジティブクロックエッジまたは代替として1つのネガティブクロックエッジのいずれか)しか必要としないことがある。
【0033】
次に、図8を参照すると、メモリデバイス212(図2)またはメモリデバイス312(図3)ごとに含まれ得る例示の状態バスコントローラ800がダイヤグラムで示される。図示の状態バスコントローラ800は、状態パケットコンテンツおよび遅延長レジスタ810を含む。システム動作の間、ホスト(例えば、コントローラ)は、状態パケットの構成(または機能)によりレジスタ810をプログラムする。レジスタ810は状態パケットの最終長をさらに含み、メモリの内部ステータスレジスタ812およびステータスインデコーダ(Status-In Decoder)814に接続 される。内部ステータスレジスタ812は、パケットが含むように構成されているヘッダビット、デバイスIDビット、バンクビット、状態ビット、EDCビット、および他のビットを含む状態パケットをシフトアウトするのを担う状態出力制御回路(Status Output Control circuitry)818を含む。状態出力制御回路818への入力は、i)状態パケットコンテンツ(状態出力制御回路818がどの状態ビットを含むべきであるかを確認することができるために)、ii)状態パケット長(制御目的のために状態出力制御回路818によって使用される)、およびiii)出力イネーブル(状態出力制御回路818が、いつ内部状態パケットをシフトアウトすることができるかを確認することができるために)である。
【0034】
さらに図8を参照すると、ステータスインデコーダ814は、状態パケットの長さに対応するタップラインを介して、シリアルシフトレジスタ820への入来状態パケットをゲート制御する。レジスタ810の遅延長部分からの状態パケット長信号が、シリアルシフトレジスタ820のどのタップを選ぶかを決定する。例えば、ホスト(例えば、コントローラ)が、レジスタ810の状態パケットコンテンツ部分をプログラムすることによって状態パケットのコンテンツを構成する場合、その長さが計算され、レジスタ810の遅延長部分に格納される。この値を使用して、シリアルシフトレジスタ820にロードするのにどのタップを使用するかを選択する。シリアルシフトレジスタ820の目的は、入来パケットがSO出力ピンに達する前に内部ステータスレジスタ812からのあり得る送出状態パケットが完了され得るように入来状態パケットに十分な遅延を付加することである。
【0035】
次に、図9が参照される。図9は、メモリデバイスを通過する例示の状態パケットを示すタイミング図である。状態パケットはt0にピンSIに到達し、シフトレジスタを通って移動し、次にt1にSOピンでドライブアウト排出される。ステータスインデコーダ814(図8)は出力選択(Output Select)信号を生成し、その出力選択により、出力多重装置(output mux)850(図8)はSOピンに送信するためのシフトレジスタ出力を選択する。ステータスインデコーダ814は、状態パケットの長さ、シフトレジスタによる遅延、およびtSPSが分かっており、したがって、パススルー状態パケットがt2にリングの次のデバイスに到達するようにパススルー状態パケットを選択するのに、いつおよびどれくらいの長さで出力選択を論理ハイにドライブするかが分かっている。パススルー状態パケットの最後のビットがSOピンでドライブアウトされるとき(t3で示される)、出力選択信号は、出力ピンへの内部状態パケットのアクセスを可能にするためにディアサートされ得る。
【0036】
SIでパススルー状態パケットを検出した場合、状態バスコントローラ800(図8)は内部状態パケットをドライブアウトすべきでない。図9に示されるように、内部状態パケットはt0で開始してドライブアウトされる。ほぼこの同じ時間に、新しいパススルーパケットがSIで検出される。したがって、これは、内部状態パケットの出力を開始するための最後のクロックサイクルである。ステータスインデコーダ814(図8)は信号、出力イネーブル(Output Enable)を生成し、状態出力制御回路818(図8)が新しいパケットをドライブアウトしても問題ないときを状態出力制御回路818に伝える。1つの例では、この信号の論理ハイは「内部状態パケットをドライブアウトしても問題ない」ことを意味し、論理ローは「新しい内部状態パケットをドライブアウトしない」ことを意味する。他のロジックセンスも可能である。状態出力制御回路818が論理ローを検出すると、新しい内部状態パケットをドライブアウトすることができないが、現在進行中であるパケットの全体のドライブアウトを完了することができる。シリアルシフトレジスタ820は、内部状態パケットとパススルー状態パケットとが出力ピンで衝突しないように、およびtSPSのようなタイミングパラメータがすべて守られるように十分な遅延を用意する。図9において、出力イネーブル信号は、メモリデバイスがt4に内部状態パケットをドライブアウトして、内部状態パケットがt5に次の下流のデバイスに到達できるように論理ハイを担う。
【0037】
次に、図10が参照される。図10は、例示の実施形態によるいくつかのパススルー状態パケットおよび内部状態パケット間のアービトレーションを示すタイミング図である。内部状態パケットint1はt0で開始してドライブアウトされる。これは、新しいパススルーパケットがSIで受け取られるのと同時である。次に、出力イネーブルは新しい内部パケットがドライブアウトされないようにディアサートされるが、進行中のパケットint1を完了させることができる。後で、出力選択は、パススルーパケットがt1にSOでドライブアウトされるようにハイに駆動される。t1に、新しいパススルーパケットがSIに到達する。t2に、パケットpt1はドライブアウトされており、そのため、出力選択はディアサートされる。新しいパケットpt2はt1に受け取られたので、新しい内部パケットのための出力イネーブルはt3で再アサートされ得ない。代わりに、出力選択はパススルーパケットpt2をドライブアウトするために再アサートされ、パススルーパケットpt2は次にシフトレジスタに存在する。t4に、パケットpt2は完了し、出力選択はディアサートされる。次に、t5に、出力イネーブルは再アサートされ、新しい内部状態パケットint2がドライブアウトされ、t6にリングの後続のデバイスによって受け取られるようになる。
【0038】
図2または図3のシステム内の状態表示を実行する他の変形が考えられる。例えば、以下で説明するような簡単な非同期タイプの実施形態は1つの代替の例示の実施形態である。この代替の例示の実施形態では、メモリデバイス212または312のうちのいずれかは、いくつかの内部動作(例えば、ページ読出し、ページプログラム、ブロック消去、動作中断など)の完了に際して、状態リング214または314に単一のストローブパルスを発行して、動作の完了をコントローラ210または310に通知する。しかし、単一のストローブパルスの発行は、ある動作が完了した場合のみに必ずしも限定されず、むしろ、より概括的には、単一のストローブパルスは、メモリデバイス内の何らかの形態の状態変化の表示を行うように意図される。さらに、例示の実施形態によるメモリデバイスは各々ストローブパルスを生成するための回路ならびにストローブパルスを出力するための回路を含むことができることが考えられる。
【0039】
少なくともいくつかの非同期タイプの実施形態では、状態パルスは発行しているメモリデバイスの識別に関する詳細情報を含んでおらず、そのため、コントローラ210または310は、例えば、デバイスのリングのまわりにリードステータスレジスタコマンドを同報通信することによって、発行しているメモリデバイスの識別を知ることができる。デバイスのリングの各メモリデバイス212または312はそれぞれのCSIのピンでリードステータスレジスタコマンドを受け取り、そのコマンドを処理し、それを次の下流のメモリデバイスに転送し、今度は、次の下流のメモリデバイスがリードステータスレジスタコマンドを同様な方法で取り扱う。このプロセスの間に、メモリデバイス212または312の各々は、メモリデバイスのQ出力ピンで外に送出される状態パケットにそれぞれの状態情報を追加する。状態パケットがコントローラ210または310に戻って到着した後、状態パケットを処理して、どのメモリデバイスが動作を完了したか、およびその動作が首尾よく完了したか(または失敗したか)の決定を得ることができる。いくつかの例では、コントローラは、必ずしも直ちにリードステータスレジスタコマンドを同報通信するのではなく、むしろある数(すなわち、1を超える数)の状態パルスを受け取るまで待った後にリードステータスレジスタコマンドを同報通信することによって、これらのリードステータスレジスタコマンドに関連するバス使用オーバヘッドを低減することを可能にすることができる。
【0040】
上述の代替の例示の実施形態は、図11のタイミング図を参照してさらに詳細に理解されよう。このタイミング図において、SO出力の状態パルス1102は、システム200または300(図2または図3)のいずれかにおいて最初のメモリデバイスによってではなくむしろ第2または後続の下流のメモリデバイスによって発行されている。状態パルス1102はtSTHPで表された最小のパルス幅を有する。さらに、同様の状態パルス1104がタイミング図に示されるが、状態パルス1104は、SI入力の状態パルスの時間的に前のバージョン1106で明白に示されるように上流のメモリデバイスから生じているので状態パルス1102と異なる。パルスのバージョン間の最小伝搬遅延がtSTDで表される。
【0041】
さらに、図11に、参照番号1112で表されたリードステータスレジスタコマンドがダイヤグラムで示される。リードステータスレジスタコマンド1112はデバイスアドレスバイト「DA」を含み、その結果、リードステータスレジスタコマンド1112は、すべてのメモリデバイスに同報通信されるのとは対照的に特定のメモリデバイスに誘導される点で前に説明したリードステータスレジスタコマンドと異なる。したがって、いくつかの例では、メモリコントローラはすべてのメモリデバイスの代わりに特定のメモリデバイスの状態情報しか知る必要がないことに留意されたい。リードステータスレジスタコマンドは、コマンドタイプを示す「F0h」バイトをさらに含む(「F0h」は単に例としてのものであり、任意の他の好適なバイトが考えられる)。リードステータスレジスタコマンドは、「EDC」で表される誤り訂正バイトをさらに含む。コマンド入力ストローブ1116がディアサートになった後、いくつかのクロックサイクルの後で、データ入力ストローブ1120はアサートになり、参照番号1126で表された状態パケットをメモリデバイスのQピンで外に送出するようにメモリデバイスに前もって知らせる。データ出力ストローブ1128は状態パケット1126の長さを描出する。
【0042】
例示の実施形態によるシステムは図2および図3に示したものに限定されない。別の代替のシステム1200が図12に示される。この代替のシステムは、今、やや大まかに説明されることになるが、より広範な例示の実施形態の詳細は同一出願人が所有する「COMPOSITE MEMORY HAVING A BRIDGING DEVICE FOR CONNECTING DISCRETE MEMORY DEVICES TO A SYSTEM」という名称の米国特許出願第12/401,963号、「BRIDGING DEVICE HAVING A CONFIGURABLE VIRTUAL PAGE SIZE」という名称の米国特許出願第12/508,926号、および「BRIDGE DEVICE HAVING A VIRTUAL PAGE BUFFER」という名称の米国特許出願第12/607,680号に見いだすことができ、これらの3つの出願はすべて参照によりそれらの全体が本明細書に組み込まれる。
【0043】
図12のシステム1200は図2および3のシステムと類似しているが、重要な差がある。システム1200は、メモリコントローラ1202と、複合メモリデバイス1204-1から1204-Nとを含み、ここで、Nは整数である。個々の複合メモリデバイス1204-1〜1204-Nはメモリコントローラ1202に直列に相互接続される。図2および3のシステムと同様に、複合メモリデバイス1204-1は、メモリコントローラ1202の出力ポートXoutに接続されるようなメモリシステム1200の最初の複合メモリデバイスであり、メモリデバイス1204-Nは、メモリコントローラ1202の入力ポートXinに接続されるような最後のデバイスである。そのとき、複合メモリデバイス1204-2から1204-7は、最初の複合メモリデバイスと最後の複合メモリデバイスとの間に接続された介在している直列接続されたメモリデバイスである。Xoutポートは、グローバルフォーマットでグローバルコマンドを供給する。Xinポートは、グローバルフォーマットでの読出しデータと、すべての複合メモリデバイスを通って伝搬するようなグローバルコマンドとを受け取る。
【0044】
本明細書で使用される「グローバルフォーマット」とはメモリコントローラ1202とブリッジデバイス1212とに適合したフォーマットを指し、同様に、「グローバルコマンド」とはブリッジデバイス1212の少なくとも1つで解釈されるべきコマンドを指す。「ローカルフォーマット」とは個別のメモリデバイス1214とブリッジデバイス1212とに適合したフォーマットを指し、同様に、「ローカルコマンド」とは個別のメモリデバイス1214の少なくとも1つで解釈されるべきコマンドを指す。図12に示された複合メモリデバイスの各々は1つのブリッジデバイス1212と4つの個別のメモリデバイス1214とを有する(図示の1:4関係は単に例としてのものであり、1:2、1:8などの他の関係または任意の好適な関係が考えられる)。複合メモリデバイスの各々における各ブリッジデバイス1212は、それぞれの個別のメモリデバイス1214と、メモリコントローラ1202および/またはデバイスのリングにおける前または後の複合メモリデバイスとに接続される。ブリッジデバイス1212の各々はそれを対象としたグローバルコマンドを含むパケットを処理することができ、そのパケットに含まれる情報に基づいて、それぞれの個別のメモリデバイス1214の少なくとも1つにローカルコマンドを供給する。上述の説明に基づいて、ブリッジデバイス1212の他の機能が当業者に理解されるはずである。例えば、メモリデバイス1214のうちのいずれかのメモリアレイに格納された読出しデータは、そのメモリデバイスから外に送出され、それぞれのブリッジデバイス1212によって受け取られ、次に、メモリコントローラ1202までデバイスのリングのまわりを通信して戻され得ることが理解されよう。いくつかの例では、個別のメモリデバイス1214の各々は1つを超えるプレーン(例えば、2つのプレーン)を含む。当業者なら理解されるように、各プレーンは1つの論理ユニット番号(LUN)と個別に一致することができる。
【0045】
図2図3および図12にダイヤグラムで示したシステムのうちの任意のものを含む、メモリデバイスを有する様々なシステムのうちの任意のものは、非同期タイプであろうと同期タイプであろうと前に本明細書で説明した方法で状態表示を実施することができる。したがって、考えられる例示の実施形態の数は多数であることが分かるであろう。
【0046】
次に、図13Aおよび図13Bが参照される。図13Aおよび図13Bは、図12のシステム1200内の状態表示を、ページコピー動作とともに示すタイミング図である。図示のページコピー動作は、データを再ロードすることなく、バンクのあるページに格納されたデータを同じバンクの別ページに迅速にかつ効率的に転送するのに使用することができる(記憶データにビット誤りがないと仮定して)。ページコピー動作はいわゆる「ごみ集め」に特に有用であることがあり、メモリアレイはデフラグされてストレージリソースの割り付けが最適化される。ページコピー動作において、下記のものがコマンドのシーケンスである。1)コピー用ページ読出し(Page Read for Copy)(DA & 1Xh)コマンド(参照番号1310で表される)が最初に発行される、2)ページ読出し時間(タイミングダイヤグラム中にtRで表され、ページがプレーンから仮想ページバッファに「読み出される」時間を意味する)の後、バーストデータ読出し(Burst Data Read)(DA & 2Xh)コマンド(参照番号1314で表される)が発行され、データ(参照番号1316で表される)を逐次的に読み出すことによってビット誤りを検査する、3)ビット誤りが検出されない場合、ページプログラム(Page Program)(DA & 6Xh)コマンド(参照番号1318で表される)が発行され、ページコピープログラミングを開始する。しかし、ビット誤りが検出される場合、バーストデータ読出し(DA & 2Xh)コマンドとページプログラム(DA & 6Xh)コマンドとの間に、カラムアドレスと変更されるべきデータとともに発行される別のコマンド、すなわちバーストデータロード(Burst Data Load )(DA & 5Xh)コマンド(参照番号1322で表される)が存在する。バーストデータロードコマンドは、ビット誤りが検出される場合にコピーデータを変更するためのものである。さらに、図13Aおよび図13Bに示されたコマンドタイプ(例えば、1Xh、2Xhなど)は単に例としてのものであり、これらに好適な任意の他のバイトも確実に考えられることを再度述べる価値がある。さらに、同じコメントが、後続の図14および図15に関連して与えられる後の説明に関して適用される。
【0047】
ページコピー動作の理解をさらに手助けするために、サブダイヤグラムがタイミング図内に埋め込まれている(図13A)。このサブダイヤグラムを参照すると、メモリプレーン1350およびページバッファ1354が個別のメモリデバイス1214(図12)のうちの1つに存在する。仮想ページバッファ1358はそれぞれのブリッジデバイス1212中にある。仮想ページバッファ1358は一時記憶である。仮想ページバッファ1358の機能の一部は、複合メモリデバイス1204-1から1204Nのうちの1つに向かうデータ、またはそれらのメモリデバイスのうちの1つから外に供給されるデータのための中間記憶を行うことである。いくつかの例では、仮想ページバッファ1358はスタティックランダムアクセスメモリ(SRAM)を含む。さらに、図13Aのサブダイヤグラムは自明の矢印(実線および非実線)および標識付けを含む。
【0048】
さらに図13Aおよび図13Bを参照すると、いくつかの単一のストローブパルス1380、1382、および1384は各々メモリデバイス1212(図12)のうちの1つの中のある形態の状態変化の表示を行うように意図される。より具体的には、ストローブパルス1380は、コピー用ページ読出しコマンド1310がメモリデバイス1212によって受け取られた後のある期間の後、メモリプレーン1350に格納されたページの仮想ページバッファ1358への転送が完了したという表示を行う。ストローブパルス1382は、ページプログラムコマンド1318がメモリデバイス1212によって受け取られた後のある期間の後、メモリデバイス1212がページプログラムコマンド1318に関してもはやビジーでない(すなわち、メモリデバイス1212は今では次のコマンドを受け取ることができる)という表示を行う。ストローブパルス1384は、ページプログラムコマンド1318がメモリデバイス1212によって受け取られた後のある期間の後、ページプログラム動作が完了したという表示を行う。
【0049】
次に、図14が参照される。図14は、図12のシステム1200内の状態表示を、ブロック消去動作とともに示すタイミング図である。図示のブロック消去動作によれば、まず、ブロックアドレス入力(Block Address Input)(DA & 8Xh)コマンドが、消去されるべきブロックの選択のための3バイトの行アドレスとともにロードされる(両方が参照番号1410でまとめて表される)。消去されるべきブロックのアドレス情報がすべてロードされると、消去(Erase)(DA & AXh)コマンド(参照番号1414で表される)が発行され、選択されたブロックに対して内部消去動作が開始される。内部消去状態機械を使用して、適切なアルゴリズムが自動的に実行され、検証を含む動作のための必要なタイミングのすべてが制御され得る。
【0050】
メモリコントローラ1202(図12)は、ストローブパルス1424の受け取りをモニタすることによって消去動作の完了を(タイミングダイヤグラムにおいてtBERSで表された期間の後)検出することができる。さらに、明確化のために、図14に示された2つの状態ストローブパルス、すなわち、ストローブパルス1428およびストローブパルス1424があるが、ストローブパルス1428は、メモリデバイス1212の1つによって時間的に早く発行される。ストローブパルス1428は、消去コマンド1414がメモリデバイス1212によって受け取られた後のある期間の後、メモリデバイス1212が消去コマンド1414に関してもはやビジーでないという表示を行う。言い換えれば、ストローブパルス1428に対応する状態変化は、メモリデバイス1212が今ではメモリデバイス1212に接続された4つの個別のメモリデバイス1214の別のものを対象とした任意の次のコマンドを受け取ることができるということである。
【0051】
ストローブパルス1424の受け取りに際して、メモリコントローラ1202は、消去動作が実行される個別のメモリデバイス1214のバンクまたはLUNのパス/フェイル結果を検査するためにリードステータスレジスタ(DA & F0h)コマンド(参照番号1432で表される)を発行することができる。いくつかの例では、少なくとも3バイトのステータスレジスタがデバイス動作の間に読み出され得る。第1のステータスレジスタバイトはバンクの第1のLUNを表すことができ、第2のステータスレジスタバイトはバンクの第2のLUNを表すことができる。ステータスレジスタのいくつかのビットは各バンクの状態(すなわち、ビジーまたはレディ)を反映することができる。バンクがレディになると、いくつかの追加のビットは、各バンク動作がパスかまたはフェイルかを示すことができる。特定のステータスレジスタビットが「パス」結果を示す場合、特定のブロックは首尾よく消去される。しかし、そのステータスレジスタビットが「フェイル」結果を示す場合、特定のブロックは首尾よくは消去されない。この場合、フェイルブロックは、「不良」ブロックとしてマッピングされることになる。
【0052】
次に、図15Aおよび図15Bが参照される。図15Aおよび図15Bは、図12のシステム1200内の状態表示を、2つのLUNに関連して実行される並行動作とともに示すタイミングダイヤグラムである。この例示の実施形態によれば、2つのLUNの2つの並行動作は、各バンクが行アドレスの最上位ビット(MSB)(例えばRA[20]またはその他の好適なビット)によって制御される2つの別々のLUNからなるとき、図15Aおよび図15Bに示されるように行われ得る。第1のLUNが消去(DA & AXh)コマンド(参照番号1510で示される、およびそれは参照番号1516で共にまとめて表されている前に説明したブロックアドレス入力コマンドおよび3バイトの行アドレスに続く)を受け取った後、第1のLUNはある期間(すなわち、tBERS)の間ビジー状態に入り、さらに、第2のLUNはより短い期間(すなわち、tDBERS)の間ビジー状態に入る。実用的な観点から見ると、tDBERS期間は、メモリデバイス1212(図12)とそれぞれの個別のメモリデバイス1214との間のバスがビジーである期間と見なすことができる。tDBERSの後、このバスはもはやビジーでなく(ストローブパルス1550で示されるように)、第2のLUNは、例えば、ページプログラム、ブロック消去、またはページ読出しなどの別の動作のためにレディになる。この例示の実施形態では、第2の消去(DA & AXh)コマンドと対応するブロックアドレス入力コマンドおよび3バイトの行アドレスとはそれぞれ参照番号1520および1526で表される。2プレーン動作、2LUN動作、および並行マルチバンク動作の組合せを実施して、全体的なシステム性能を改善することができる。
【0053】
さらに、第1のLUNのためのリードステータスレジスタ(DA & F0h)コマンド(参照番号1530で表される)と、第2のLUNのためのリードステータスレジスタ(DA & F0h)コマンド(参照番号1534で表される)とが図15Bに示される。リードステータスレジスタ(DA & F0h)コマンドは図14に関連して前に説明した。やはり、前により詳細に説明したように、ストローブパルス1540はリードステータスレジスタコマンド1530の発行に先立ち、ストローブパルス1544はリードステータスレジスタコマンド1534の発行に先立つ。ストローブパルス1550は、メモリデバイス1212が次の消去コマンド1520を今では受け取ることができるという表示を「レディの」LUNに行う。
【0054】
本明細書で説明した少なくともいくつかの例示の実施形態は、例えば、NANDフラッシュEEPROMデバイス、NORフラッシュEEPROMデバイス、ANDフラッシュEEPROMデバイス、DiNORフラッシュEEPROMデバイス、シリアルフラッシュEEPROMデバイス、DRAMデバイス、SRAMデバイス、フェロRAMデバイス、磁気RAMデバイス、相変化RAMデバイス、またはこれらのデバイスの任意の好適な組合せを含むものなどの任意の好適な固体メモリシステムに適用することができる。
【0055】
本明細書で図示および説明したいくつかの例示の実施形態は、システムのコントローラデバイスとシステムの複数の半導体メモリデバイスとの間に存在する直列相互接続構成があるので、ポイントツーポイントリングトポロジーを有するシステムに関連しているが、いくつかの代替の例示の実施形態は例えばマルチドロップシステムであることを特徴とするものなどの他のタイプのシステムに関連することが理解されよう。
【0056】
要素が別の要素に「接続される」または「結合される」と本明細書で言われる場合、要素は他の要素に直接に接続または結合することができ、または介在する要素が存在することができることが理解されよう。対照的に、要素が別の要素に「直接に接続される」または「直接に結合される」と本明細書で言われる場合、介在する要素は存在しない。要素間の関係を説明するのに使用される他の表現(すなわち、「間に」に対する「直接間に」、「隣り合う」に対する「直接隣り合う」など)は同様に解釈されるべきである。
【0057】
説明した実施形態のいくつかの改変および変更を行うことができる。したがって、上述の実施形態は、例示であり、限定でないと見なされる。
【符号の説明】
【0058】
20、40、200、300、1200 システム
22、42、210、310、1202 メモリコントローラ
24、26、28、30、44、46、48、50、212、312、1214 メモリデバイス
214 状態リング
800 状態バスコントローラ
810 状態パケットコンテンツおよび遅延長レジスタ
812 内部ステータスレジスタ
814 ステータスインデコーダ
818 状態出力制御回路
820 シリアルシフトレジスタ
850 出力多重装置
1204-1〜1204-N 複合メモリデバイス
1212 ブリッジデバイス
Xout 出力ポート
Xin 入力ポート
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図14
図15A
図15B