(57)【要約】動的に構成可能なチャネル深さを含むようなメモリ・デバイス、システム、および方法について説明する。ハードウェア要件および／またはソフトウェア要件に基づきチャネル深さを調整するデバイス、システム、および方法を説明する。こうしたデバイスのひとつは、異なるメモリ・プロセスの要件に応じて同じ物理メモリ領域に対してチャネル深さを調整する仮想メモリ・操作を行う。【選択図】図２
2014516444.tif 000002
【特許請求の範囲】
【請求項１】
チャネル深さを使用して第１メモリ・操作中にメモリ・デバイスの領域がアクセスされる方法であって、第２のメモリ・操作に割り当てられている前記メモリ領域に応じて前記チャネル深さを調整するステップを含む方法。
【請求項２】
前記第１メモリ・操作は、第１仮想メモリ・プロセスを含み、前記第２メモリ・操作は、第２仮想メモリ・プロセスを含む請求項１に記載の方法。
【請求項３】
前記チャネル深さを調整するステップは、前記第２メモリ・操作中に前記メモリ領域を使用するソフトウェアの能力に基づき前記チャネル深さを調整するステップを含む請求項１に記載の方法。
【請求項４】
前記チャネル深さを調整するステップは、前記第２メモリ・操作中に前記メモリ領域を使用するハードウェアの能力に基づき前記チャネル深さを調整するステップを含む請求項１に記載の方法。
【請求項５】
前記チャネル深さを調整するステップは、ハードウェア・マスターからチャネル深さ選択信号を送信するステップを含む請求項１に記載の方法。
【請求項６】
前記チャネル深さを調整するステップは、前記メモリ・デバイスに接続されるメモリ・コントローラにあるレジスタに応じて前記チャネル深さを調整するステップを含む請求項１に記載の方法。
【請求項７】
前記チャネル深さは、マスターからメモリ・コントローラへのデータと共に持続する請求項１に記載の方法。
【請求項８】
前記チャネル深さを調整するステップは、メモリ要求に応じて前記チャネル深さを調整するステップを含む請求項１に記載の方法。
【請求項９】
メモリ・デバイスの領域がチャネル深さを使用して第１メモリ要求に応じてアクセスされる方法であって、
第２メモリ要求におけるチャネル選択ビットに応じて前記チャネル深さを調整するステップを含む。
【請求項１０】
前記第２メモリ要求は、さらに行選択ビットとバンク選択ビットを含む請求項９に記載の方法。
【請求項１１】
前記チャネル選択ビットは前記バンク選択ビットの後にある請求項１０に記載の方法。
【請求項１２】
前記チャネル選択ビットは、前記列選択ビットと交互配置されている請求項１１に記載の方法。
【請求項１３】
チャネル深さを持つメモリ・デバイスの領域が仮想メモリの第１ページに割り当てられる方法であって、
前記領域を前記仮想メモリの第２ページに割り当てることに応じて前記チャネル深さを調整する方法。
【請求項１４】
前記領域は、第１領域を含み、前記メモリ・デバイスの第２領域のチャネル深さは前記メモリ・デバイスの操作中は固定される請求項１３に記載の方法。
【請求項１５】
前記第２領域には、カーネル領域を含む請求項１４に記載の方法。
【請求項１６】
前記第２領域には、オペレーティング・システム領域を含む請求項１５に記載の方法。
【請求項１７】
前記カーネル領域の固定チャネル深さが、前記オペレーティング・システム領域の固定チャネル深さとは異なる請求項１６に記載の方法。
【請求項１８】
システムであって、
仮想メモリ・プロセスを管理するためのメモリ・コントローラと、
数多くのメモリ領域と、
前記数多くの領域にアクセスするための構成可能なチャネル深さを持つチャネルと、
仮想メモリの操作中の異なる時間に特定のメモリ領域に対するチャネル深さを調整するためのメモリ・マップと、を含むシステム。
【請求項１９】
さらに、選択したチャネル深さを保存するためのレジスタを含む請求項１８に記載のシステム。
【請求項２０】
前記メモリ・マップはメモリ要求でのアドレス内からのチャネル深さ要求を解釈するように構成される請求項１８に記載のシステム。
【請求項２１】
前記メモリ・マップは、数多くの異なるハードウェア・マスターからのチャネル深さ要求を解釈するように構成される請求項１８に記載のシステム。
【請求項２２】
カーネル・メモリ領域のチャネル深さが固定される請求項１８に記載のシステム。
【請求項２３】
オペレーティング・システムのチャネル深さが固定される請求項１８に記載のシステム。
【請求項２４】
システムであって、
数多くのメモリ領域を含むメモリ・デバイスと、
前記数多くの領域にアクセスするための数多くのチャネル部分を含むチャネルと、を含み、前記チャネル部分の少なくとも１つは、調整可能な深さを持つシステム。
【請求項２５】
調整可能な深さを持つ前記チャネル部分の前記少なくとも１つは、動的に調整可能な深さを持つチャネル部分を含む請求項２４に記載のシステム。
【請求項２６】
さらに、メモリ・マップを含み、前記メモリ・マップは前記チャネル部分の前記少なくとも１つの前記深さを調整するために変更できる請求項２４に記載のシステム。
【請求項２７】
前記メモリ・マップは前記メモリ・デバイスに保存される請求項２６に記載のシステム。
【発明の詳細な説明】
【関連出願の参照】
【０００１】
本出願は、米国特許出願１３／０８９，６２１号（２０１１年４月１９日出願）の優先権の利益を主張し、その全体を本明細書に援用する。
【背景技術】
【０００２】
コンピュータのメモリ・操作は多くの場合、競っている技術的ハードルを対応する。高速メモリ性能は、高帯域幅でデバイスを設計することによって達成できる。しかし、高帯域幅は多くの場合、操作のために高電力量を必要とする。低電力消費も望ましいものであり、これは、より高速なメモリ・操作に対する要望と競合することが多い。メモリ速度を向上し、電力消費も改善するメモリ・デバイスを提供することが望ましい。
【図面の簡単な説明】
【０００３】
【図１】本発明の実施形態による電子システムに接続されたメモリ・システムを含むシステムを示す図である。
【図２】本発明の実施形態による操作中のメモリ・システムのブロック図である。
【図３】本発明の実施形態によるメモリ・デバイスを含む情報処理システムを示す図である。
【発明を実施するための形態】
【０００４】
以下、本発明の詳細な説明で、本明細書の一部であり、本発明を実施可能な特定の実施形態を例示的に示す添付の図面を参照する。こうした実施形態は、当業者が本発明を実施できるように十分詳細に説明する。他の実施形態も利用可能であり、材料、構造、論理、電気的変更などを加えてもよい。
【０００５】
図１は、（例えば、無線、有線、または光学インタフェースなどを介して）電子システム１４０に接続されたメモリ・システム１００を示している。メモリ・システム１００の例としては、一緒に接続された１つ以上の個別のメモリ・デバイスを含んでもよい。ある例では、メモリ・システム１００と電子システム１４０を含むシステムは、以下の図３で説明する例に類似したパーソナル・コンピュータなどの情報処理システムでありうる。他のこうしたシステムとしては、例えば、音楽プレーヤー、電話、ネットブックなどがありうる。図１の電子システム１４０には、数多くのマスター１４２が含まれる。マスター１４２の例には、これに制限されるものではないが、プロセッサ、グラフィック・プロセッサ（ＧＰＵ）などのハードウェア・デバイス、または個々のソフトウェア・アプリケーションをいくつでも含む。複数のマスター１４２が図１に示されているが、本発明はそれに限定されるものではない。他の構成では、単独のマスター１４２のみを含む。
【０００６】
図１のメモリ・システム１００には、メモリ装置１０２、例えば、物理メモリの単独のモジュールまたは複数のモジュール（中央に配置またはシステム全体で分散に関わらない）が含まり、概念上、多数の様々なメモリ領域（例、部分）に分割可能（例、メモリ・マップ１０４によって）である。メモリ・システム１００は、電子システム１４０に接続され、動的チャネル１１０を使用して電子システム１４０によってアクセスされる。動的チャネル１１０は、数多くの構成可能なチャネル部分１１２を含んで示されている。
【０００７】
メモリの操作では、構成可能なチャネル部分１１２が、動的チャネル１１０で動的に使用またはアイドル状態になる。構成可能なチャネル部分１１２を追加することで、チャネル幅を増やし、電子システム１４０からメモリ・システム１００により多くのデータが並列で通過できるようにする。ある例では、１つ以上のチャネル部分１１２は、構成可能な深さを含む。チャネル幅とは対照的に、チャネル部分の深さは、例えば、メモリ・操作中に次のチャネル部分１１２を使用する前にチャネル部分１１２を使用してアクセスされるバイト数で定義される。
【０００８】
ある例では、特定のメモリ転送に対して、選択されたチャネル深さはチャネル幅も決定する。例えば、８個の利用可能なチャネル部分１１２があり、１２８Ｂの転送を持つシステムでは、チャネル深さが１６Ｂとして選択されると、各チャネル部分は、次のチャネル部分１１２にインクリメントする前に、１６Ｂを転送し、この８チャネル部分がインクリメントされると１２８Ｂが転送される。代わりに、チャネル深さが３２Ｂとして選択されると、次のチャネル部分１１２にインクリメントする前に、各チャネル部分は３２Ｂを転送し、４チャネル部分がインクリメントされると１２８Ｂが転送される。
【０００９】
選択されたメモリ・操作では、特定の幅を超える広いチャネルまたは並列システム（例、高帯域幅）は不要である。例えば、読み出し操作では、データを受信しているマスター１４２が、一定速度よりも速いデータを処理できない場合、その一定速度を超えるデータ速度を実現する余分なチャネル幅は不要である。ある例では、動的チャネル１１０は、特定のマスター１４２に対して最適化されたチャネル深さ／幅を提供するように構成されている。未使用の構成可能なチャネル部分１１２と関連するメモリ・アレイは起動（例、電源を入れる）しておらず、メモリ・デバイス１００は、エネルギー効率がより高い状態である。追加のチャネル幅（帯域幅）が不要なメモリ・操作の一例として、グラフィックスの操作がある。グラフィックス・マスターは、待ち時間ーの影響を受けづらく、データ・トランザクションで余分に数ナノ秒時間がかかっても性能に影響がない。
【００１０】
図１のメモリ・システム１００には、データとして保存され、図１にブロック図形式であらわされているメモリ・マップ１０４がある。本開示では、このメモリ・マップはメモリに保存され、例示目的でブロック１０４として表されている概念上の構造である。ある例では、メモリ・マップ１０４は、不揮発性メモリまたはドライブに保存されており、ブート時に読み出される。メモリ・マップ１０４は、メモリのファームウェアにメモリ・システム１００の記憶容量を通知し、メモリの様々な領域のサイズなどの変数およびメモリの様々な領域に対する動的チャネル１１０を定義する。
【００１１】
ある例では、メモリ・マップからのデータは、１つ以上の構成可能なチャネル部分１１２のチャネル深さをメモリ・操作中に動的に上下に調整する。ある例では、メモリ・マップは、異なるマスター１４２に応答して動的チャネル１１０の構成可能なチャネル部分１１２のチャネル深さを調整するように変更される。ある例では、メモリ・マップは様々なソフトウェア・アプリケーションに応答して構成可能なチャネル部分１１２のチャネル深さを調整するように変更される。様々なソフトウェア・アプリケーションは、様々な速度でデータを利用してもよい。動的チャネル１１０内でソフトウェア・アプリケーションに合わせてチャネル深さを最適化することにより、ソフトウェア・アプリケーションの機能に応じて省電力およびアプリケーション速度の向上を実現しうる。
【００１２】
ある例では、メモリ・マップ１０４は、チャネル深さを調整するためのチャネル深さ選択信号をメモリ要求から受信する。こうした構成では、チャネル深さはメモリ要求にあるデータで持続する。ある例では、チャネル深さはメモリ要求にあるメモリ・アドレス・ビットに含まれる。ある例では、メモリ要求には、物理アドレスの行の選択、バンクの選択、および列の選択に対応するビットを含む。こうしたアドレス構成では、階層の最上部は行で、次にバンク、その次に列になる。チャネル選択ビットが位置するアドレスの最下位ビットに近づくほど、次のチャネルに移動する前に、チャネル毎にアクセスされるバイト数が少なくなる。ある例では、チャネル選択ビットはバンク選択ビットの後に位置する。他の例では、チャネル選択ビットは列選択ビットと交互配置されている。
【００１３】
ある例では、メモリ・システム１００には、動的チャネル１１０内のチャネル深さを調整するためにレジスタ１０６を含む。レジスタ１０６を使用する構成例には、ハードウェア・マスター１４２からの要求によるチャネル深さの選択を含む。
【００１４】
図２は、第１メモリ・デバイス２００から構成される図１のメモリ・システム１００のようなメモリ・システムを含む。第１メモリ・デバイス２００（例、メイン・メモリの単独のモジュールまたは複数のモジュール）は、以下のメモリ・操作の説明で使用する多くの領域Ａ−Ｅに概念上分割されている（例、メモリ・マップによって）。カーネル領域とオペレーティング・システム（ＯＳ）領域も図示されている。領域Ａ−Ｅ、カーネル、およびＯＳは、第１メモリ・デバイス２００の全空間を占めているように図示されているが、図２のブロック図は単に領域の例である。例えば、メモリ・システムの物理メモリおよび／または仮想メモリは、図２の図よりも大きいかもしれないし、小さいかもしれない。
【００１５】
ある例では、メモリ・デバイス２００は、図１の動的チャネル１００などのような動的チャネルに接続される。ある例では、領域Ａ−Ｅのすべてに、メモリ・マップを使用して動的にチャネル深さを選択することでアクセスできる。ある例では、カーネル領域は、固定チャネル深さを使用してアクセスされる。ある例では、ＯＳ領域は、固定チャネル深さを使用してアクセスされる。ある例では、カーネル領域とＯＳ領域の両方が固定チャネル深さを持つ。カーネル領域とＯＳ領域のそれぞれの固定の深さは、メモリ速度や電力要件などの要件に応じて同じ深さであってもよいし、または異なるチャネル深さを持ってもよい。
【００１６】
第２メモリ・デバイス２６０（例、ハードディスク・ドライブまたはソリッド・ステート・ドライブ（ＳＳＤ））も図２に示されている。本発明の選択された実施形態では、ページング構成などの仮想メモリの構成では、第２メモリ・デバイス２６０を使用してメモリ・システムのメモリ機能を拡張する。
【００１７】
第１メモリ・操作（例、仮想メモリ・プロセス２２０）とそれに続く第２メモリ・操作（例、仮想メモリ２４０）を図２に示す。ある例では、第１メモリ・プロセス２２０の要件（例、待ち時間ー、帯域幅、電力）は、第２メモリ・プロセス２４０の要件と異なる。第１プロセス２２０は、領域Ｃに（例、ＯＳによって）割り当てられたデータ部分２２２（例、ページ）、および領域Ｅに割り当てられたデータ部分２２６を持ち、データ部分２２４とデータ部分２２８は第２メモリ２６０に割り当てられているように図示されている。第２プロセス２４０は、第１プロセス２２０を完了後、ＯＳが領域Ｃを第２プロセス２４０に再割り当てした場合など、別の時に領域Ｃに割り当てられるデータ部分２４２を示している。
【００１８】
ある実施形態では、仮想メモリのページがＯＳによって割り当てられる際にページに対するチャネル深さが宣言される。ある例では、この宣言されたチャネル深さは、ページがスワップアウトされるまで持続するか、または特定のプロセスが完了したときに再利用される。仮想メモリを使用する様々なプロセスは、待ち時間ー、帯域幅、および電力に関して様々な要件を持つことがあるため、様々な深さを使用して様々な時にメモリにアクセスするプロセスは、その時に実行している特定プロセスに対してメモリ・アクセスを最適化できる。
【００１９】
図２の第２メモリ・プロセス２４０では、第２メモリ・プロセス２４０の要件に応じて（例、要件に基づき）第２チャネル深さが宣言される。上記の実施形態で説明したように、こうした要件は、ハードウェア・ベース、ソフトウェア・ベースまたはその両方である場合がある。図２の例では、２つ以上のメモリ・プロセス（２２０、２４０）を含む選択されたメモリ・操作を示し、たとえ様々なメモリ・プロセスがメモリの同じ物理領域（Ｃ）を使用しても、異なるチャネル深さを時間の経過と共に設定できる。
【００２０】
コンピュータなどの情報処理システムの例は図３に含まれ、本発明のより高いレベルのデバイス・アプリケーションの実施形態を示している。図３は上記の本発明のメモリ・デバイスを組込んだ情報処理システム３００のブロック図である。情報処理システム３００は、本発明の動的チャネル・メモリ・デバイスを使用できるシステムの一実施形態にすぎない。他の例としては、これに制限されるものではないが、ネットブック、カメラ、携帯情報端末（ＰＤＡ）、携帯電話、ＭＰ３プレーヤー、航空機、衛星、軍用車両などがある。
【００２１】
この例では、情報処理システム３００は、システムの様々な構成要素を接続するシステム・バス３０２を含むデータ処理システムから構成される。システム・バス３０２は、情報処理システム３００の様々な構成要素間に通信リンクを提供し、単独のバス、バスを組み合わせたもの、またはほかの適切な方式で実現されてもよい。
【００２２】
チップ・アセンブリ３０４はシステム・バス３０２に接続される。チップ・アセンブリ３０４には、回路または動作可能で互換性のある回路を組み合わせたものを含んでもよい。ある実施形態では、チップ・アセンブリ３０４には、いかなるタイプであってもよいプロセッサ３０６を含む。本明細書では、「プロセッサ」は以下に制限されるものではないが、マイクロ・プロセッサ、マイクロ・コントローラ、グラフィックス・プロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）、または他のいかなるタイプのプロセッサ、処理回路またはそのコアなどのあらゆるタイプの計算回路を意味する。
【００２３】
ある実施形態では、メモリ・デバイス３０７がチップ・アセンブリ３０４に含まれている。ある実施形態では、プロセッサ・チップ以外に追加の論理チップ３０８がチップ・アセンブリ３０４に含まれている。プロセッサ以外の論理チップ３０８には、メモリ・コントローラを含む。論理チップ３０８上のカスタム回路、特定用途向け集積回路（ＡＳＩＣ）などの他の回路も本発明の実施形態に含まれる。
【００２４】
情報処理システム３００には、第２メモリ３１１も含んでもよく、この第２メモリ３１１は同様に１つ以上のハードディスク・ドライブ３１２および／またはコンパクト・ディスク（ＣＤ）、フラッシュ・ドライブ、デジタル・ビデオ・ディスク（ＤＶＤ）、その他同種類のものなどの取り外し可能なメディア３１３を扱う１つ以上のドライブなどの特定のアプリケーションに適した１つ以上のメモリ要素を含みうる。
【００２５】
情報処理システム３００には、ディスプレイ・デバイス３０９を含んでもよく、こうしたディスプレイ・デバイスには、モニタ、スピーカ、キーボードおよび／またはコントローラ３１４などの追加の周辺機器３１０を含み、コントローラ３１４はマウス、トラックボール、ゲーム・コントローラ、音声認識装置、またはシステム・ユーザが情報処理システム３００にデータを入力またはそこからデータを受信できるようにするその他のデバイスが含まれる。
【００２６】
本発明の多くの実施形態を説明したが、上記のリストは網羅することを意図していない。本明細書では特定の実施形態を図示し、説明したが、同じ目的を達成するために推定される構成は本明細書で示した特定の実施形態と置き換えうることを当業者は理解するであろう。本願は、本発明のいかなる適合例または変形例をカバーすることを意図している。上記の説明は例示目的であり、制限する目的ではないことを理解されたい。上記の実施形態を組み合わせたもの、および他の実施形態は、上記の説明を検討することで当業者にとって明らかになるであろう。
【図１】
2014516444.tif 000003
【図２】
2014516444.tif 000004
【図３】
2014516444.tif 000005
【国際調査報告】
2014516444.tif 000006
2014516444.tif 000007