(57)【特許請求の範囲】
【請求項１】
複数のデータ入出力ポートを含むメモリモジュールと、
前記メモリモジュールに並列に接続された複数のコントローラと、を含み、
前記メモリモジュールは、前記複数のコントローラのうちの、マスタコントローラとして機能する第１のコントローラからの第１のコマンドに応答して、前記メモリモジュールの前記複数のデータ入出力ポートのそれぞれを、入力ポート、出力ポートあるいは入出力ポートとして構成するように構成されており、
前記メモリモジュールは、前記複数のコントローラのうちの前記第１のコントローラからの第２のコマンドに応じて、各メモリパーティションが前記複数のコントローラのうちのコントローラのそれぞれ１つと対応するように前記メモリモジュールをメモリパーティションへと区切るように構成されており、
前記複数のコントローラの複数のデータ入出力ポートのそれぞれは、前記メモリモジュールのデータ入出力ポートのそれぞれ１つに対応するように、入力ポート、出力ポートあるいは入出力ポートとして構成可能である、
ことを特徴とする電子システム。
【請求項２】
前記メモリモジュールは、アクセスコマンドが受信される前記複数のコントローラのうちのコントローラに構成信号を出力するように構成される、請求項１に記載の電子システム。
【請求項３】
前記メモリモジュールは、前記メモリモジュールのメモリデバイスがプログラムされた及び読み取られた回数を前記メモリモジュールに格納するように構成される、請求項１に記載の電子システム。
【請求項４】
前記メモリモジュールは、前記メモリモジュールに格納された構成データに従って入力および出力のうちの少なくとも１つとして、前記メモリモジュールの前記複数のデータ入出力ポートのそれぞれを構成するように構成される、請求項１に記載の電子システム。
【請求項５】
前記構成データは、前記メモリモジュールの製造期間中に前記メモリモジュールにプログラムされる、請求項４に記載の電子システム。
【請求項６】
入力として構成される前記メモリモジュールのデータ入出力ポートの数が、前記メモリモジュールのメモリデバイスがプログラムされた回数に比例し、及び、出力として構成される前記メモリモジュールのデータ入出力ポートの数が、前記メモリデバイスが読み取られた回数に比例するように、前記メモリモジュールのデータ入出力ポートを構成するように前記メモリモジュールが構成される、請求項１に記載の電子システム。
【請求項７】
メモリモジュールに並列に接続された複数のコントローラのうちの、マスタコントローラとして機能する第１のコントローラからの第１のコマンドを、前記メモリモジュールにおいて受信するステップ、
前記第１のコマンドに応答して、前記メモリモジュールの複数のデータ入出力ポートのそれぞれを、入力ポート、出力ポートあるいは入出力ポートとして構成するステップ、
前記第１のコントローラからの第２のコマンドを前記メモリモジュールにおいて受信するステップ、
前記第２のコマンドに応じて、各メモリパーティションが前記複数のコントローラのうちのそれぞれ１つと対応するように前記メモリモジュールをメモリパーティションへと区切るステップ、
前記メモリモジュールのデータ入出力ポートのそれぞれ１つに対応するように、前記複数のコントローラの複数のデータ入出力ポートのそれぞれを、入力ポート、出力ポートあるいは入出力ポートとして構成するステップ、
を含む、電子システムを操作する方法。
【請求項８】
アクセスコマンドが受信されるコントローラに前記メモリモジュールから構成データを通信することを含む、請求項７に記載の方法。
【請求項９】
前記メモリモジュールの１つ以上のメモリデバイスがプログラムされた及び読み取られた回数を追跡するステップをさらに含む、請求項７に記載の方法。
【請求項１０】
入力として構成される前記メモリモジュールのデータ入出力ポートの数が書き込み動作の回数に比例し、及び、出力として構成される前記メモリモジュールのデータ入出力ポートの数が読み取り動作の回数に比例するように、前記メモリモジュールのデータ入出力ポートを構成するステップをさらに含む、
請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、メモリモジュールに関し、具体的には、本開示は、構成可能な入出力ポートを伴うメモリモジュールに関する。
【背景技術】
【０００２】
メモリカード等のメモリモジュールは、一般的に、パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、デジタルメディアプレーヤ、携帯電話等の、電子デバイスで使用される。種々のストレージ応用の場合、フラッシュメモリモジュール等のメモリモジュールは、電子デバイスのプロセッサ等のホストデバイスに取り外し可能に連結することができる、リムーバブルメモリとして構成され得る。
【０００３】
標準的なメモリモジュールは、メモリコントローラに連結される１つ以上のメモリデバイスを含み得る。各メモリデバイスは、ＮＡＮＤまたはＮＯＲフラッシュメモリデバイス、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス等であり得、また、不揮発性メモリセル等のメモリセルのアレイを含み得る。メモリコントローラは、データ信号、アドレス信号、および制御信号を、１つ以上のメモリデバイスのそれぞれに提供する。
【０００４】
メモリコントローラは、通常、ホストデバイスを連結して電子システムの一部を形成するために、入出力インターフェース（例えば、しばしば入出力バスと称される）を介して、ホストと通信するように設置される。入出力バスの一例は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ：ユニバーサルシリアルバス）インターフェースである。
【０００５】
入出力インターフェースは、一般的に、１、４、８、１６個等の、１つ以上のデータ信号リンク（しばしば、レーンと称される）を提供し、それを通じて、コントローラは、ホストからデータ信号を受信することができ、および／または、それを通じて、コントローラは、データ信号をホストに送信することができる。例えば、入出力データ信号レーンは、一方向または双方向データ信号線を含み得る。入出力データ信号レーンの数は、しばしば、入出力インターフェースの入出力バス幅と称される。しかしながら、従来のインターフェースは、一般的に、出力のために使用される同じ入出力データ信号レーンが、入力のためにも使用される。
【０００６】
上述した理由から、また、本明細書を読み、理解した際に当業者に明らかとなる、以下に述べる他の理由から、メモリモジュール上に入出力インターフェースのデータ信号線を構成するための代替物に対する技術的必要性が存在する。
【図面の簡単な説明】
【０００７】
【図１】本開示の一実施形態による、電子システムの一実施形態のブロック図である。
【図２】本開示の別の実施形態による、リングとして構成される電子システムの一実施形態のブロック図である。
【図３】本開示の別の実施形態による、電子システムの別の実施形態のブロック図である。
【図４】本開示の別の実施形態による、電子システムの別の実施形態のブロック図である。
【図５】本開示の別の実施形態による、電子システムの別の実施形態のブロック図である。
【図６】本開示の別の実施形態による、電子システムの別の実施形態のブロック図である。
【発明を実施するための形態】
【０００８】
以下の詳細な説明では、本明細書の一部を形成し、具体的な実施形態が例示的に示される添付図面を参照する。図中、複数の図面を通じて、同じ参照番号は、実質的に同じ構成要素を示す。本開示の範囲から逸脱することなく、他の実施形態が用いられてもよく、また、構造的、論理的、および電気的な変更が行われ得る。したがって、以下の詳細な説明は、限定的に取り入れられるものではなく、本開示の範囲は添付の特許請求の範囲およびその均等物によってのみ定義される。
【０００９】
図１は、一実施形態による、例えば電子システムの一部として、ホストコントローラ１１０に連結されるメモリカード等のメモリモジュール１００のブロック図である。電子システムには、コンピュータシステム、周辺デバイス、携帯電話および無線デバイス、デジタルカメラ、音声レコーダ、携帯情報端末（ＰＤＡ）等のようなシステムが挙げられる。
【００１０】
一実施形態の場合、メモリモジュール１００は、メモリコントローラ１３０と通信する、メモリチップまたはダイ等の、１つ以上のメモリデバイス１２０を含み得る。メモリデバイスの例には、ＮＡＮＤ、ＮＯＲ、または他の不揮発性メモリデバイス、ダイナミックランダムアクセスメモリデバイス（ＤＲＡＭ）、スタティックランダムアクセスメモリデバイス（ＳＲＡＭ）等が挙げられる。各メモリデバイス１２０は、不揮発性メモリセル等のメモリセルのアレイを含み得る。
【００１１】
ホストコントローラ１１０は、メモリモジュール１００の外部にあり、かつホストコントローラ１１０とメモリコントローラ１３０との間に連結される外部制御信号リンク１４０を通じて、コマンド信号（コマンド）およびアドレス信号（アドレス）等の制御信号をメモリコントローラ１３０に提供する。一実施形態の場合、メモリコントローラ１３０は、例えばその構成および／またはメモリモジュール１００の構成を示す、構成信号（構成情報）を、制御信号リンク１４０を通じて、ホストコントローラ１１０に送信し得る。データ信号（データ）は、書き込み動作中に、外部データリンク１５０（データレーンとも称される）を通じて、ホストコントローラ１１０の入出力ポート１４２からメモリコントローラ１３０の入出力ポート１４４に送信され得る。データ信号は、読み取り動作中に、データリンク１５０を通じて、メモリコントローラ１３０の入出力ポート１４４から、ホストコントローラ１１０の入出力ポート１４２で受信され得る。
【００１２】
メモリコントローラ１３０は、例えばホストコントローラ１１０から受信されるコマンドおよび／またはアドレスに応答して、メモリモジュール１００の内部にある内部制御リンク１６０を通じて、アドレス信号および／またはコマンド信号をメモリデバイス１２０のうちの１つ以上に提供する。メモリコントローラ１３０はまた、書き込み動作中に、メモリモジュール１００の内部にある内部データリンク１７０を通じて、ホストコントローラ１１０から受信されるデータをメモリデバイス１２０のうちの１つ以上に送信する。メモリコントローラ１３０はまた、その後のホストコントローラ１１０への送信のために、書き込み動作中に、データリンク１７０を通じて、メモリデバイス１２０のうちの１つ以上からデータを受信する。一実施形態の場合、データリンク１７０は、１、２、４、８、１６、３２、または６４ビット等のバス幅を有する、データバスであり得る。
【００１３】
一実施形態の場合、第１の数のデータリンク１５０は、一方向であり得、例えば書き込み動作中に、例えばホストコントローラ１１０からメモリコントローラ１３０に、第１の方向にデータを運搬するように構成され得る。第１の数のデータリンク１５０に連結されるホストコントローラ１１０の入出力ポート１４２を、出力として構成することで、および、第１の数のデータリンク１５０によって入出力ポート１４２のそれぞれ１つに連結されるメモリコントローラ１３０の入出力ポート１４４を、入力として構成することで、これを達成し得る。第２の（例えば、残りの）数のデータリンク１５０は、一方向であり得、読み取り動作中に、例えばメモリコントローラ１３０からホストコントローラ１１０に、第１の方向とは反対の第２の方向にデータを運搬するように構成され得る。第２の数のデータリンク１５０に連結されるホストコントローラ１１０の入出力ポート１４２を、入力として構成することで、および、第２の数のデータリンク１５０によって入出力ポート１４２のそれぞれ１つに連結されるメモリコントローラ１３０の入出力ポート１４４を、出力として構成することで、これを達成し得る。
【００１４】
一実施例では、図１においてＮ＝４の場合、すなわち４つのデータリンク１５０の場合、データリンク１５０１〜１５０３にそれぞれ連結される入出力ポート１４２１〜１４２３は、出力ポートとして構成され得、データリンク１５０１〜１５０３にそれぞれ連結される入出力ポート１４４１〜１４４３は、入力ポートとして構成され得、一方で、データリンク１５０４に連結される入出力ポート１４２４は、入力ポートとして構成され得、データリンク１５０４に連結される入出力ポート１４４４は、出力ポートとして構成され得る。これは、データリンク１５０１〜１５０３が、ホストコントローラ１１０からメモリコントローラ１３０にデータを運搬するように、また、データリンク１５０４が、メモリコントローラ１３０からホストコントローラ１１０にデータを運搬するように構成する。別の実施例では、データリンク１５０１〜１５０２が、ホストコントローラ１１０からメモリコントローラ１３０にデータを運搬するように、また、データリンク１５０３〜１５０４が、メモリコントローラ１３０からホストコントローラ１１０にデータを運搬するように構成され得る。一実施形態の場合、読み取りおよび書き込み動作は、並行して生じ得、よって、データは、第１の数のデータリンク１５０を通じてホストコントローラ１１０からメモリコントローラ１３０に、およびデータリンク１５０のいくつかの一部を通じてメモリコントローラ１３０からホストコントローラ１１０に、並行して運搬される。
【００１５】
別の実施形態の場合、データリンク１５０の全ては、例えばホストコントローラ１１０からメモリコントローラ１３０といった、第１の方向にデータを運搬するように構成され得るが、データリンク１５０の全てのうちのいくつか（例えば、フラクション）は、例えばメモリコントローラ１３０からホストコントローラ１１０といった、第１の方向とは反対の第２の方向にデータを運搬するように構成され得る。例えば、データが第１の方向に運搬されている時には、ホストコントローラ１１０の入出力ポートの１４２の全てが、出力として構成され、メモリコントローラ１３０の入出力ポート１４４の全てが、入力として構成され、また、データが第２の方向に運搬される時には、データリンク１５０の全ての部分に連結されるホストコントローラ１１０の入出力ポート１４２の全てのうちのいくつかが、入力ポートとして構成され、データリンク１５０の全ての部分に連結されるメモリコントローラ１３０の入出力ポート１４４の全ての部分が、出力ポートとして構成される。代替として、データリンク１５０の全てが、メモリコントローラ１３０からホストコントローラ１１０にデータを運搬するように構成されてもよく、一方で、データリンク１５０の全てのうちのいくつか（例えば、フラクション）が、ホストコントローラ１１０からメモリコントローラ１３０にデータを運搬するように構成されてもよい。
【００１６】
別の実施形態の場合、データリンク１５０のうちの１つ以上は、双方向データリンクとして構成され得る。ホストコントローラ１１０の１つ以上の入出力ポート１４２を、双方向入出力として構成することで、および、データリンク１５０によって１つ以上の入出力ポート１４２にそれぞれ連結されるメモリコントローラ１３０の１つ以上の入出力ポート１４４を、双方向入出力（入力および出力の両方）として構成することで、これを達成し得る。一実施形態の場合、データは、第１の数の双方向データリンクを通じて、ホストコントローラ１１０からメモリコントローラ１３０に運搬され得、並行して、データは、第２の数の双方向データリンクを通じて、メモリコントローラからホストコントローラ１１０に運搬され得る。
【００１７】
一実施形態の場合、データリンク１５０の構成は、例えばメモリモジュール１００の製造中に、例えば構成データとして、例えばメモリコントローラ１３０のレジスタ１８０に格納され得る。次いで、メモリモジュール１００の始動時に、例えば、ホストコントローラ１１０からのデータ書き込みのための入力ポートとして、および／またはホストコントローラ１１０へのデータ書き込みのための出力ポートとして、適宜入出力ポート１４４を構成することによって、例えば、メモリコントローラ１３０は、レジスタ１８０に格納される構成に従って、レジスタ１８０を読み取り、かつデータリンク１５０を構成する。例えば、レジスタ１８０は、その構成を示す、すなわち、入力として構成されるか、または出力として構成される、各入出力ポート１４４のためのビットを含み得る。
【００１８】
別の実施形態の場合、メモリコントローラ１３０は、入出力ポート１４４の構成を示す信号を、ホストコントローラ１１０に送信し得、よって、ホストコントローラ１１０は、入出力ポート１４４の構成に対応するよう入出力ポート１４２を構成することができる。例えば、ホストコントローラ１１０からメモリコントローラ１３０へのデータ書き込みの場合、ホストコントローラ１１０は、入力ポートとして構成される入出力ポート１４４に連結される入出力ポート１４２を、出力ポートとして構成し得、一方で、メモリコントローラ１３０からホストコントローラ１１０へのデータ読み取りの場合、ホストコントローラ１１０は、出力ポートとして構成される入出力ポート１４４に連結される入出力ポート１４２を、入力ポートとして構成し得る。
【００１９】
一実施形態の場合、データリンク１５０は、入出力ポート１４４ごとの電力消費、メモリモジュール１００に供給される電力、メモリデバイス１２０がプログラムされた、および／または読み取られた回数、入出力ポート１４４ごとのデータレート容量等のような、メモリモジュール１００の動作属性に従って構成され得る。例えば、ホストコントローラ１１０は、データがホストコントローラ１１０とメモリコントローラ１３０との間をあるレートで運搬されるべきであることを示すコマンドを、メモリコントローラ１３０に送信し得る。所望のレートに基づいて、メモリコントローラ１３０は、所望のレートを達成するように、その入出力ポート１４４を構成し得る。代替として、メモリコントローラ１３０は、コマンドに応答して、その属性をホストコントローラ１１０に送信し得、ホストコントローラ１１０は、メモリモジュール１００の属性に基づいて、データを運搬するために構成すべきデータリンク１５０の数を決定し得る。次に、ホストコントローラ１１０は、それに応じてその入出力ポート１４２を構成し得、そして、出力ポートとして構成される入出力ポート１４２に連結される場合には、その入出力ポート１４４を入力ポートとして構成するように、および入力ポートとして構成される入出力ポート１４２に連結される場合には、その入出力ポート１４４を出力ポートとして構成するように、メモリコントローラ１３０に指示し得る。一実施形態の場合、メモリモジュール１００の属性は、メモリコントローラ１３０のレジスタ１８０等のレジスタに格納され得る。
【００２０】
別の実施形態の場合、データリンク１５０は、例えばホストコントローラ１１０からのコマンドに応答して、「オンザフライ」で構成され得る。例えば、ホストコントローラ１１０は、データがホストコントローラ１１０とメモリコントローラ１３０との間をある全体のデータレートで運搬されるべきであることを示すコマンドを、メモリコントローラ１３０に送信し得る。メモリコントローラ１３０は、次いで、そのレートに基づいて、ホストコントローラ１１０とメモリコントローラ１３０との間のデータの運搬に、いくつのデータリンク１５０を使用するのかを決定する。データリンク１５０の数は、リンクごとのデータレート、リンクごとの電力消費、メモリモジュール１００に供給される電力等のような、全体のデータレートおよびメモリモジュール１００の属性から決定され得る。例えば、メモリコントローラ１３０は、全体のデータレートの入力に応答して、データの運搬に使用されるべきデータリンク１５０の数を出力する、ルックアップテーブル１８５を有し得る。メモリコントローラ１３０は、次いで、それに応じて入出力ポート１４４を構成して、入出力ポート１４４の構成の指標をホストコントローラ１１０に送信し得、よって、ホストコントローラ１１０は、入出力ポート１４４の構成に対応するように、その入出力ポート１４２を構成することができ、例えば、出力ポートとして構成される入出力ポート１４２は、入力ポートとして構成される入出力ポート１４４に連結され、その逆も同様である。
【００２１】
別の実施形態の場合、メモリコントローラ１３０は、データがメモリコントローラ１３０とホストコントローラ１１０との間をあるデータレートで運搬されるべきであることを示す、ホストコントローラ１１０のコマンドに応答して、メモリモジュール１００の１つ以上の属性をホストコントローラ１１０に送信し得る。ホストコントローラ１１０は、次いで、メモリコントローラ１３０から受信されるメモリモジュール１００の１つ以上の属性から、ホストコントローラ１１０とメモリコントローラ１３０との間をあるデータレートで運搬するために必要となり得る、データリンク１５０の数を決定し得る。ホストコントローラ１１０は、次いで、それに応じて入力または出力のためのその入出力１４２の数を構成することによって、また、入力または出力のためのその入出力１４４の数をそれに応じて構成するように、コントローラ１３０に指示することによって、データリンク１５０の数を構成し得、よって、出力のために構成される入出力１４２は、入力のために構成される入出力１４４に連結され、その逆も同様である。
【００２２】
ある状況の場合、データがメモリコントローラ１３０からホストコントローラ１１０に運搬される、読み取り動作のためのデータレートは、データがホストコントローラ１１０からメモリコントローラ１３０に運搬される、書き込み動作のためのデータレート未満であり得、逆も同様である。したがって、より多くの数のデータリンク１５０が、読み取り動作よりも書き込み動作のために使用され得、逆も同様である。
【００２３】
一実施形態の場合、メモリコントローラ１３０に／からデータを運搬するために使用されるデータリンク１５０の数は、メモリモジュール１００の各線の所要電力等の属性に依存し得る。一実施例の場合、メモリモジュール１００は、データの運搬に使用されるデータリンク１５０の数を制限することによって、複数の電力消費レベルで動作させることができる。したがって、メモリモジュール１００は、電力消費をある所望のレベル未満に保持するように、その入出力ポート１４４を構成することができる。電力消費は、概して、入出力ポート１４４がデータ入力に使用される時と、データ出力に使用される時との間で異なるので、入力に指定される入出力ポート１４４の数は、出力に指定される数と同じ数にする必要はない。一実施形態の場合、データリンク１５０ごとの電力消費等の電力消費情報は、例えばメモリモジュール１００の製造中に、メモリコントローラ１３０のレジスタ１８０等のレジスタに格納され得る。
【００２４】
一実施形態の場合、メモリコントローラ１３０は、メモリモジュール１００に供給される電力等の属性に応答して、データリンク１５０を構成するように構成され得る。例えば、メモリモジュール１００が第１の電力モードで動作している時、例えばメモリモジュール１００が公共電力グリッド等の高電力源によって電力供給される時には、メモリモジュール１００が第２の電力モードで動作している時、例えばメモリモジュール１００がバッテリ等の低電力源によって電力供給される時よりも多い数のデータリンクが、ホストコンピュータ１１０とメモリコントローラ１３０との間でデータを運搬するために使用され得る。例えば、メモリモジュール１００が高電力源によって電力供給される時には、データリンク１５０の全てが、データを運搬するために使用され得、メモリモジュール１００が低電力源によって電力供給される時には、データリンク１５０の全てよりも少数が、データを運搬するために使用され得る。
【００２５】
一実施形態の場合、メモリモジュール１００が高電力源によって電力供給される時には、メモリコントローラ１３０は、その入出力ポート１４４の全てを入力または出力として構成し得、続いて、入出力ポート１４４の構成を示す信号をホストコントローラ１１０に送信し得る。ホストコントローラ１１０は、次いで、該信号に応答して、全てのその入出力ポート１４２を入力または出力のために構成し得、よって、出力のために構成される入出力ポート１４２は、入力のために構成される入出力ポート１４４にそれぞれ連結され、逆も同様である。
【００２６】
メモリモジュール１００が低電力源によって電力供給される時には、メモリコントローラ１３０は、その入出力ポート１４４の全てよりも少数を入力または出力として構成し得、残りの入出力ポート１４４の使用を防止（例えば、無効に）し得る。メモリコントローラ１３０は、次いで、入出力ポート１４４の構成を示す信号をホストコントローラ１１０に送信し得る。ホストコントローラ１１０は、次いで、該信号に応答して、その入出力ポート１４２の全てよりも少数（例えば、入出力ポート１４２および１４４が構成される数と同じ数）を入力または出力のために構成し得、よって、出力のために構成される入出力ポート１４２は、入力のために構成される入出力ポート１４４にそれぞれ連結され、逆も同様である。ホストコントローラ１１０は、無効の入出力ポート１４４にそれぞれ連結される残りの入出力ポート１４２の使用を防止（例えば、無効に）し得ることに留意されたい。
【００２７】
一実施形態の場合、ホストコントローラ１１０からメモリコントローラ１３０にデータを運搬するために使用される、データリンク１５０の数は、メモリデバイス１２０で実行されるプログラミング動作および読み取り動作の相対的な数に基づき得る。したがって、メモリコントローラ１３０は、プログラミングおよび読み取り動作の数を追跡し、そしてその入出力ポート１４４を構成し得、よって、入力として構成されるポートの数は、書き込み動作の数に比例し、出力として構成されるポートの数は、読み取り動作の数に比例する。
【００２８】
図２は、別の実施形態による、リングネットワークとして構成される電子システム２００のブロック図である。一実施形態の場合、リングネットワーク２００は、上記に説明されたメモリモジュール１００と実質的に類似し得るメモリモジュール２２０に、一方向データリンク２１２によって、ポイントツーポイントで連続的に連結される、ホストコントローラ等のコントローラ２１０を含む。一実施形態の場合、メモリモジュール２２０は、一方向データリンク２１４によって、デバイス２３０の列２２５の第１のデバイス（デバイス２３０１）にポイントツーポイントで連続的に連結される。デバイス２３０は、一方向のデータリンク２１６によって互いにポイントツーポイントで連続的に連結されて、列２２５を形成する。列２２５の最後のデバイス（デバイス２３０Ｍ）は、データリンク２１８によって、コントローラ２１０にポイントツーポイントで連続的に連結されて、リングネットワーク２００を完成する。本実施例は、各データリンクが２つの線を有するように示しているが、各データリンクは、１つ以上の線を有し得る。一実施形態の場合、デバイス２３０のそれぞれは、メモリモジュール２２０に類似するメモリモジュール、ハードドライブ、カメラ、スレーブコントローラ等であり得る。
【００２９】
別の実施形態の場合、メモリモジュール２２０は、例えば上記に説明されたメモリコントローラ１３０に類似するコントローラ２２２を含み、デバイス２３０のそれぞれは、例えばメモリコントローラ１３０に類似するコントローラ２３２を含む。例えば、メモリモジュール２２０のコントローラ２２２は、メモリモジュール２２０の入出力ポート２４０を入力として、およびメモリモジュール２２０の入出力ポート２４２を出力として構成するように構成される。デバイス２３０のそれぞれのコントローラ２３２は、そのデバイスの入出力ポート２４４を入力として、およびそのデバイスの入出力ポート２４６を出力として構成するように構成される。コントローラ２１０は、その入出力ポート２４８を入力として、およびその入出力ポート２５０を出力として構成するように構成される。
【００３０】
一実施形態の場合、メモリモジュール２２０およびデバイス２３０は、パススルーモードで動作するように構成され、よって、データは、リング２００の中を通ることができる。別の実施形態の場合、メモリモジュール２２０がコントローラ２１０に連結される時には、コントローラ２１０は、ある方法でメモリモジュール２２０の入出力ポートを構成するようにコントローラ２２２に指示する信号を、コントローラ２２２に送信し得る。加えて、該信号は、ある方法でそれぞれのデバイス２３０の入出力ポートを構成するようにコントローラ２３２に指示するために、デバイス２３０のコントローラ２３２に送信され得る。
【００３１】
メモリモジュール２２０のコントローラ２２２はまた、そこで受信されるホストコントローラ２１０からのデータが、メモリモジュール２２０を対象とし、かつコントローラ２２２によって作用されるべきか、または該データが、メモリモジュール２２０を対象とせず、かつデバイス２３０１に渡されるべきかを判断するように構成され得る。各デバイス２３０のコントローラ２３２は、そこで受信したデータが、そのデバイス２３０を対象とし、かつそのコントローラ２３２によって作用されるべきか、または該データが、そのデバイス２３０を対象とせず、かつ別のデバイス２３０または、デバイス２３０Ｍの場合は、コントローラ２１０に渡されるべきかを判断するように構成され得る。
【００３２】
一実施形態の場合、コントローラ２１０によって送信されるデータの全ては、リング２００の中を通り、メモリモジュール２２０、およびデバイス２３０のそれぞれで受信される。メモリモジュール２２０のコントローラ２２２が、データがメモリモジュール２２０を対象としていると判断した場合、コントローラ２２２が該データに作用し、および／またはデバイス２３０のコントローラ２３２が、該データがそのデバイス２３０を対象としていると判断した場合、そのコントローラ２３２が該データに作用する。
【００３３】
図３〜５は、他の実施形態による、メモリモジュール３２０が、データ入出力ポート３５０の定数、例えば４つ、をどのように構成し得るのかを示す実施例を提供する。図３では、入出力ポート３５０のそれぞれは、コントローラ３１０のそれぞれ１つと双方向通信するように構成される。双方向データリンク３４０は、各入出力ポート３５０とコントローラ３１０のそれぞれ１つとの間に連結される。コントローラ３１０のそれぞれは、図１に関連して上記に論じられたホストコントローラ１１０に類似する、ホストコントローラであり得る。メモリモジュール３２０は、図１に関連して上記に論じられたメモリモジュール１００に類似し得る。コントローラ３３０は、対応するアクセスコマンドが受信されたコントローラ３１０にデータおよび構成信号を出力するように構成される。例えば、データリンク３４０２上でコントローラ３１０２から読み取り要求を受信した場合は、その読み取り要求に応答して、データが入出力ポート３５０２に出力される。同様に、データリンク３４０３上でコントローラ３１０３から書き込みコマンドを受信した場合は、その書き込みコマンドに応答して、構成信号が入出力ポート３５０３に出力される。
【００３４】
図４では、入出力ポート３５０のそれぞれは、一方向の通信のために構成される。例えば、入出力ポート３５０１および３５０３は、それぞれ、一方向データリンク４４０１および４４０３を通じて、コントローラ３１０１および３１０２からデータを受信するための入力として構成され、入出力ポート３５０２および３５０４は、それぞれ、一方向データリンク４４０２および４４０４を通じて、コントローラ３１０１および３１０２にデータを送信するための出力として構成される。コントローラ３３０は、対応するアクセスコマンドが受信されたコントローラ３１０にデータおよび構成信号を出力するように構成される。例えば、データリンク４４０１上でコントローラ３１０１から読み取り要求を受信した場合は、その読み取り要求に応答して、データが入出力ポート３５０２に出力される。同様に、データリンク４４０３上でコントローラ３１０２から書き込みコマンドを受信した場合は、その書き込みコマンドに応答して、ステータス信号が入出力ポート３５０４に出力される。
【００３５】
図５では、入出力ポート３５０のそれぞれは、双方向通信のために構成される。例えば、入出力ポート３５０１および３５０２は、双方向データリンク５４０１を通じて、コントローラ３１０１と双方向通信するために構成され、入出力ポート３５０３および３５０４は、双方向データリンク５４０２を通じて、コントローラ３１０２と双方向通信するために構成される。コントローラ３３０は、対応するアクセスコマンドが受信されたコントローラ３１０にデータおよび構成信号を出力するように構成される。例えば、データリンク５４０１上でコントローラ３１０１から読み取り要求を受信した場合は、その読み取り要求に応答して、データがデータリンク５４０１に出力される。同様に、データリンク５４０２上でコントローラ３１０２から書き込みコマンドを受信した場合は、その書き込みコマンドに応答して、構成信号がデータリンク５４０２に出力される。
【００３６】
一実施形態の場合、メモリモジュール３２０のメモリコントローラ３３０は、図３〜５の構成例に従って、入出力ポート３５０のそれぞれを構成する。例えば、コントローラ３１０のうちの１つ、例えばコントローラ３１０１は、一時的に、入出力ポート３５０のそれぞれを構成するようにメモリコントローラ３３０に指示する、マスタコントローラとしての役割を果たし得る。随意に、コントローラ３１０１はまた、メモリモジュール３２０をパーティションで区切るようにメモリコントローラに３３０に指示し得、よって、各メモリパーティションは、コントローラ３１０のそれぞれ１つに対応する。別の実施形態の場合、メモリモジュール３２０は、メモリモジュール３２０の電力投入時にメモリコントローラ３３０によって読み取ることができ、また、入出力ポート３５０を構成し、随意にメモリモジュール３２０をパーティションで区切るようにコントローラ３３０に指示する、レジスタを有し得る。
【００３７】
図６は、例えば「チェーン」ネットワークとして構成される、電子システム６００のブロック図である。一実施形態の場合、電子システム６００は、上記に説明されたメモリモジュール１００と実質的に類似し得るメモリモジュール６２０に、一方向データリンク６１２および６１３によって、ポイントツーポイントで連続的に連結される、ホストコントローラ等のコントローラ６１０を含む。一実施形態の場合、メモリモジュール６２０は、一方向データリンク６１４および一方向データリンク６１５によって、デバイス６３０の列（例えば「チェーン」）６２５の第１のデバイス（デバイス６３０１）にポイントツーポイントで連続的に連結される。デバイス６３０は、デバイス６３０のそれぞれが「チェーン」の中で「リンク」を形成するように、一方向のデータリンク６１６および一方向データリンク６１８によって互いにポイントツーポイントで連続的に連結されて、列６２５を形成する。本実施例は、各データリンクが２つの線を有するように示しているが、各データリンクは、１つ以上の線を有し得る。一実施形態の場合、デバイス６３０のそれぞれは、メモリモジュール６２０に類似するメモリモジュール、ハードドライブ、カメラ、スレーブコントローラ等であり得る。
【００３８】
別の実施形態の場合、メモリモジュール６２０は、例えば上記に説明されたメモリコントローラ１３０に類似するコントローラ６２２を含み、デバイス６３０のそれぞれは、例えばメモリコントローラ１３０に類似するコントローラ６３２を含む。例えば、メモリモジュール６２０のコントローラ６２２は、メモリモジュール６２０の入出力ポート６４０を入力として、メモリモジュール６２０の入出力ポート６４５を出力として、およびメモリモジュール６２０の入出力ポート６４２を出力として構成するように構成される。デバイス６３０のそれぞれのコントローラ６３２は、そのデバイスの入出力ポート６４４を入力として、およびそのデバイスの入出力ポート６４６を出力として構成するように構成される。例えば最後のデバイス（デバイス６３０Ｋ）を除く、デバイス６３０のそれぞれのコントローラ６３２（例えば、デバイス６３０１および６３０２）は、そのデバイスの入出力ポート６５０を入力として、およびそのデバイスの入出力ポート６５２を出力として構成するように構成される。コントローラ６１０は、その入出力ポート６６０が入力として、およびその入出力ポート６６２が出力として構成されるように構成される。
【００３９】
一実施形態の場合、メモリモジュール６２０およびデバイス６３０は、パススルーモードで動作するように構成され、よって、データを、メモリモジュール６２０を通して、および連続するデバイス６３０を通して（例えば、デバイス６３０１および６３０２を連続して）、コントローラ６１０からデバイス６３０Ｋに渡すことができる。データは、連続するデバイス６３０を通して（例えば、デバイス６３０２および６３０１を連続して）、デバイス６３０Ｋからコントローラ６１０に渡され得る。
【００４０】
別の実施形態の場合、メモリモジュール６２０の破線矢印６７０およびデバイス６３０の破線矢印６７２によって示されるように、データは、コントローラ６１０に返される前に、その後のデバイス６３０を通過する必要はない。例えば、メモリモジュール６２０の入力６４０で受信されるコントローラ６１０からのデータは、破線矢印６７０によって示されるように、デバイス６３０のうちのいずれかを通過せずに、メモリモジュール６２０の出力６４５を通してコントローラ６１０に返され得る。同様に、デバイス６３０１の入力６４４で受信されるメモリモジュール６２０からのデータは、デバイス６３０１の破線矢印６７２によって示されるように、コントローラ６１０からの方向で、メモリモジュール６２０を通過し、かつデバイス６３０１の下流の残りのデバイス６３０のうちのいずれか（例えば、デバイス６３０２および６３０Ｋ）を通過せずに、デバイス６３０１の出力６５２を通してコントローラ６１０に返され得る。また、デバイス６３０２の入力６４４で受信されるデバイス６３０１からのデータは、デバイス６３０２の破線矢印６７２によって示されるように、デバイス６３０１およびメモリモジュール６２０を通過し、かつデバイス６３０２の下流の残りのデバイス６３０のうちのいずれか（例えば、デバイス６３０Ｋ）を通過せずに、デバイス６３０２の出力６５２を通してコントローラ６１０に返され得る。
【００４１】
一実施形態の場合、メモリモジュール６２０がコントローラ６１０に連結される時には、コントローラ６１０は、ある方法でメモリモジュール６２０の入出力ポートを構成するようにコントローラ６２２に指示する信号を、コントローラ６２２に送信し得る。加えて、該信号は、ある方法で、それぞれのデバイス６３０の入出力ポートを構成するようにコントローラ６３２に指示するために、デバイス６３０のコントローラ６３２に送信され得る。別の実施形態の場合、下流のデバイス６３０（例えば、デバイス６３０２）の上流（コントローラ１１０に向かう方向）に位置する、デバイス６３０（例えば、デバイス６３０１）は、ある方法で下流のデバイス６３０を構成し得、逆も同様であり、例えば、下流のデバイス６３０２は、上流のデバイス６３０１を構成し得る。
【００４２】
メモリモジュール６２０のコントローラ６２２はまた、そこで受信されるホストコントローラ６１０からのデータが、メモリモジュール６２０を対象とし、かつコントローラ６２２によって作用されるべきか、または該データが、メモリモジュール６２０を対象とせず、かつデバイス６３０１に渡されるべきかを判断するように構成され得る。各デバイス６３０のコントローラ６３２は、そこで受信したデータが、そのデバイス６３０を対象とし、かつそのコントローラ６３２によって作用されるべきか、または該データが、そのデバイス６３０を対象とせず、かつ別のデバイス６３０またはコントローラ６１０に渡されるべきかを判断するように構成され得る。
【００４３】
一実施形態の場合、コントローラ６１０によって送信されるデータの全てを、チェーンに沿って渡して、メモリモジュール６２０、およびデバイス６３０のそれぞれで受信することができる。メモリモジュール６２０のコントローラ６２２が、データがメモリモジュール６２０を対象としていると判断した場合、コントローラ６２２が該データに作用し、および／またはデバイス６３０のコントローラ６３２が、該データがそのデバイス６３０を対象としていると判断した場合、そのコントローラ６３２が該データに作用する。
【００４４】
別の実施形態の場合、メモリモジュール６２０、およびデバイス６３０のそれぞれは、異なる動作を並行して実行することができる。例えば、メモリモジュール６２０またはデバイス６３０は、コントローラ６１０からの方向（例えば、下流）に移動するデータを受信してこれに作用することができ、また、独立かつ並行して、コントローラ６１０に向かう反対の方向（例えば、上流）に移動するデータを受信してこれに作用することができる。別の実施形態の場合、メモリモジュール６２０、およびデバイス６３０のそれぞれは、異なるレートで動作するように構成され得る。
【００４５】
結論
本開示の具体的な実施形態を本願明細書にて図示および説明したが、当業者は、同じ目的が達成されると予測されるあらゆる機構が、示された特定の実施形態の代替物になり得るものと理解されよう。本実施形態の多数の適合例は、当業者には明らかである。したがって、本出願は、本実施形態のあらゆる適合例または変形例を対象とすることを意図するものである。以下の請求項およびその同等物によってのみ本実施形態が限定されることを明白に意図するものである。
【図１】
0005533963.tif 000002
【図２】
0005533963.tif 000003
【図３】
0005533963.tif 000004
【図４】
0005533963.tif 000005
【図５】
0005533963.tif 000006
【図６】
0005533963.tif 000007