JP2006524373A - システムメモリの使用を設定、レポート、調節する方法と装置 - Google Patents

システムメモリの使用を設定、レポート、調節する方法と装置 Download PDF

Info

Publication number
JP2006524373A
JP2006524373A JP2006501245A JP2006501245A JP2006524373A JP 2006524373 A JP2006524373 A JP 2006524373A JP 2006501245 A JP2006501245 A JP 2006501245A JP 2006501245 A JP2006501245 A JP 2006501245A JP 2006524373 A JP2006524373 A JP 2006524373A
Authority
JP
Japan
Prior art keywords
memory
system memory
temperature
load
determined
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.)
Pending
Application number
JP2006501245A
Other languages
English (en)
Inventor
ヴァージス,ジョージ
グプテ,ニティン
ホアン,ユチェン
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006524373A publication Critical patent/JP2006524373A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4067Refresh in standby or low power modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

不揮発記憶またはメモリ資源から情報を読み出すステップを含む方法が開示されている。該情報は閾値または閾値を計算できる情報である。該情報は、システムメモリがさらされていると認識された動作環境に特に合わせてある。本方法は、メモリが動作するレ―トを制御するために、メモリコントローラに前記閾値を使用させるステップをさらに含む。該レートは、システムメモリ動作環境にさらされている時に前記システムメモリが機能不全を起こすレートよりも低い。

Description

本発明は、コンピューティングシステムの最適化に関し、特に、システムメモリの使用を設定、レポート、調節する方法と装置に関する。
コンピューティングシステムはシステムメモリを含む。システムメモリは、一般にメモリ資源として見ることができる。a)コンピューティングシステムの異なる構成要素はそのシステムメモリからデータを取得し、また、b)コンピューティングシステムの異なる構成要素はそのシステムメモリにデータを格納する。図1は、システムメモリ106とメモリコントローラ101を含むコンピューティングシステムの一部を示す概略図である。コンピューティングシステムの異なる構成要素がシステムメモリの資源をほぼ同時に呼び出すことは多いので(例えば、コンピューティングシステムの複数の異なる構成要素が短い時間内にシステムメモリ資源を呼び出そうと「突然」決めることがある)、メモリコントローラ101はシステムメモリ106により異なる構成要素に対応する順序とタイミングを管理しなければならない。
図1は、典型的なアプリケーションに対する見識を提供するためのものである。留意すべきことは、メモリコントローラ101はいろいろなシステムメモリの実施形態を管理するように構成されていることである。そのシステムメモリの実施形態は、1)少なくとも1つのプロセッサ(例えば、プロセッサフロントサイドバス108を介して)、2)グラフィックスコントローラ(例えば、グラフィックスコントローラインターフェイス109を介して)、3)コンピューティングシステム全体の様々な周辺構成要素(例えば、システムバスインターフェイス110(例えば、PCIバスインターフェイス)を介して)により構成されている。システムメモリ106はいくつかの異なる半導体メモリチップにより構成され、簡単のためアドレスバス104とデータバス105を有すると考える。アドレスバス104上で対応するアドレス値を提示することにより、メモリセルにアクセスする。メモリセルとの間で読み書きするデータはデータバス105上に現れる。
メモリコントローラは、システムメモリ106にかかるストレスまたは使用を平均化する能力を備えている。例えば、図1から分かるように、メモリコントローラ101は閾値を格納する閾値レジスタ102を含む。閾値を使用して、システムメモリ106がいろいろ動作(例えば、読み出し、書き込み、起動等のいろいろなアクセス)するレートを制御し、そうすることにより、システムメモリ106にかかる使用やストレスを制御する。メモリコントローラ101は、閾値に応じて、動作がシステムメモリ106に課されるレートを落とし、システムメモリ106に課される使用がシステムメモリ106にストレスをかけすぎないようにする。
単純化した例として、図2は、異なる閾値に応じて、異なる読み出しと書き込みのレートがシステムメモリに適用されるかの例を示している。上の図201は、第1の閾値による読み出しと書き込み(それぞれ「R」と「W」で示す)がシステムメモリに適用される最大レートを示す。下の図202は、第2の閾値による読み出しと書き込みがシステムメモリに適用される最大レートを示す。上の図201は下の図202と比較して(ほぼ同じ時間で)より多くの読み出しと書き込みを明らかに示しており、第1の閾値は第2の閾値より読み出しと書き込みの最大レートが高くできる。単純化するため、両方の図201と202では、読み出しと書き込みが交互に起こるとしていることに留意せよ。実際には、読み出しが続いたり、書き込みが続いたりすることも多い。
コンピューティングシステムにより使用される閾値(または閾値を計算可能な情報)は、電気的消去可能プログラマブルROM(EEPROM)等の不揮発メモリ領域に格納される。例えば、閾値をコンピューティングシステムのBIOSメモリ領域107またはシリアルプレゼンスディテクと(SPD)メモリ領域114内に格納してもよい。BIOSメモリ領域107は、コンピューティングシステムの起動フェーズの早い時期に使用される命令を格納する。SPDメモリ領域114は、システムメモリ106の説明および/または特徴を示す情報を格納する。
発明の詳細な説明
自分の閾値を変更できるコンピューティングシステム
システムメモリが影響を受ける動作環境がどのようなものであっても好適な閾値を取得または導出するのに十分な情報をコンピューティングシステム内に含んでいると有用である。そのようなコンピューティングシステムは、唯一の閾値ではなく、複数の閾値を使用できるようになっている。その結果、システムメモリの動作環境の検出された変化に応じて、閾値を他の閾値に置き換えることができる。
例えば、システムメモリの半導体チップの周りの環境温度が上がると、閾値が変更され、システムメモリの最大許容動作レートを引き下げる(これにより、半導体チップの内部の「接合」温度を限界レベル以下に保つ。限界レベルより高いと故障の確率が大幅に大きくなる)。同様に、システムメモリの半導体チップの環境温度が下がると、閾値が変更され、システムメモリの最大許容動作レートを高くする(これにより、システムメモリが、新しい、より低い環境温度において理論的な最大持続可能性能により近い状態で動作することができる)。
図3は、複数の閾値を用いることができるコンピューティングシステムにより実行可能な方法を示している。図3の方法によれば、システムメモリの動作環境の特徴を抽出する(ステップ301)。いろいろな動作環境の実施形態については、以下、図5を参照してより詳細に説明する。一般に、「動作環境」とは、システムメモリが置かれている少なくとも1つの条件(例えば、温度、読み出し/書き込みの割合等)を表し、メモリの使用に関する制限(例えば、システムメモリにいろいろな動作をさせる最大レートを制限することによる)を決定することができる。システムメモリの動作環境の特徴を明らかにすると(ステップ301)、システムメモリの動作環境に基づき閾値を取得または導出する(ステップ302)。閾値を一旦取得または導出すると、システムメモリが動作するレートを制限するために使用される(ステップ303)。
図4は、図3の方法の一部をより詳細に示す図である。具体的に、図4は、システムメモリの環境温度及びシステムメモリの負荷を含む動作環境に応じて取得または導出(ステップ402)される閾値を示している。システムメモリの負荷は、メモリデバイスがそれに対応するコンピューティングシステムにより使用される、その使用のされ方を表す。それゆえ、負荷には以下の少なくとも1つを含む。1)システムメモリへのアクセスの読み出し/書き込み比率(例えば、いくつか例を挙げると、読み出し75%と書き込み25%、読み出し50%と書き込み50%、読み出し25%と書き込み75%);2)ページヒット/ページエンプティ/ページミスの割合(例えば、1つの例として、50%ページヒット/25%ページエンプティ/25%ページミス);3)バースト長;および4)メモリデバイスがいる具体的な「スタンバイ」モード。これらの態様を次に詳しく説明する。
読み出しと書き込みの割合は、読み出し動作によるメモリアクセスの割合と書き込み動作によるメモリアクセスの割合を反映している。読み出しと書き込みの割合は、コンピューティングシステムがどのように使用されているかを反映しているとも言える。例えば、コンピューティングシステムを使用してネットワークから情報をシステムメモリにダウンロードしている時、書き込みの割合が読み出しの割合よりも高いと考えられる。例えば、コンピューティングシステムを使用してシステムメモリから情報をネットワークにアップロードしている時、読み出しの割合が書き込みの割合よりも高いと考えられる。一般的に、システムメモリがデータを読み込んでいるか書き込んでいるかにより、システムメモリ回路の異なる領域が利用される。そのため、システムメモリが特定タイプの動作(読み出しまたは書き込み)を重点的に使用されるとき、システムメモリのパワー損失はその重点的に使用する動作に関連した回路によるパワー損失をより多く反映していると言える。
ページヒット/ページエンプティ/ページミスは、ブレークダウンすると:1)データの読み出しまたは書き込みが成功したメモリページアクセス(すなわち、ページ「ヒット」);2)メモリページへの空アクセス(例えば、メモリコントローラが効率を高くするため新しいページに意図的に移る時、そのアクセスパターンはページエンプティアクセスと呼ばれる。);3)メモリページミスアクセス(メモリコントローラが既存のページに所望のデータを見つけられないとき、そのページを閉じて、新しいページを起動しなければならない。)「ミス」レートが高い場合、「オーバーヘッド」が高くなる。すなわち、デバイスのパワー消費は、所定の情報スループットに対して高くなる。
バースト長は、システムメモリとの間でバースト読み出しおよび/またはバースト書き込みを実行するために消費されるクロックサイクル数を表す。バースト読み出しおよび/またはバースト書き込みは、「隣接する」アドレスを有するメモリセルからの一連の動作をするために、アドレスバスの上位ビットは固定し、下位ビットを連続的にカウントすることにより、メモリの動作効率を高める方法である。一般的に、バースト長が長いとメモリの効率は高くなる。その結果、バースト長が長ければ長いほど、複数のより短いバーストシーケンスにより達成される同回数の動作と比較して、パワー損失はより小さくなる。
トラフィックの統計を追跡できるメモリコントローラは、システムメモリの負荷の状態のいろいろな側面を常に更新することができる。例えば、読み出し/書き込みの割合とページヒット/ページエンプティ/ページミスの統計を追跡するように構成されたメモリコントローラは、システムメモリの負荷のこれらの側面を継続的に追跡することができる。ここで、現在の負荷状態を反映するデータ(メモリコントローラにより追跡される)と、システムメモリ周辺の現在の環境温度を反映するデータを組み合わせて「ルックアップ」パラメータとして使用し、そのルックアップパラメータが表す特定の既存の負荷/温度条件に合った閾値をフェッチしてもよい。
そのようにすることにより、メモリコントローラによりシステムメモリに適用できる最大動作ストレスを、動作不良の重大なリスク無しに現在の条件下でシステムメモリが処理できる最善のところに限定する。例えば、環境温度が突然上昇したり、負荷が突然大きくなったりしたとき、閾値を低くする。環境温度が突然低下したり、負荷が突然小さくなったりしたとき、閾値を高くする。
図5は、N通りの異なる負荷とM通りの異なる環境温度までの組み合わせに対する閾値を表すルックアップテーブルを示す。
特定タイプのメモリデバイスに対してのみ当てはまる特殊でユニークな負荷があることに注意せよ。そのため、コンピューティングシステムで実施されるルックアップテーブルが業界で受け入れられ標準となっている方法に合致するとき、あるコンピューティングシステムの負荷の列の一部は「空白」としておいてもよい。その理由は、その負荷の列はそのコンピューティングシステムが利用するメモリデバイスに適用されないからである。
一実施形態において、コンピューティングシステムのBIOSメモリ領域を用いて、システムメモリがどのような動作環境にあってもその動作環境に合った閾値を提供するルックアップテーブル情報を(例えば、図5に示したように)格納する。他の一実施形態において、コンピューティングシステムのSPDメモリ領域を用いて、システムメモリがどのような動作環境にあってもその動作環境に合った閾値を提供するルックアップテーブル情報を(例えば、図5に示したように)格納する。図6は、BIOSメモリ領域607またはSPDメモリ領域614がそのように構成されたコンピューティングシステムを示す。
図6によると、BIOSメモリ領域607またはSPDメモリ領域614は、現在の動作環境を表すルックアップパラメータ入力612を有している(例えば、読み出しアドレスとして構成されている)。ルックアップパラメータ入力612に応じて、システムメモリ606に適用される動作レートを制御するために使用する閾値がメモリ領域から(例えば、読み出し動作を介して)提供される。多くのアプリケーションにおいて、BIOSメモリ領域607またはSPDメモリ領域614のいずれかを用いて閾値に関する情報を格納することが予想される。そのように、ルックアップパラメータ612は、これらの領域の1つだけに適用される。
上で説明したように、動作環境は負荷とシステムメモリ606の周囲の環境温度の組み合わせとして表される。このように、例えば、環境温度はシステムメモリ606の近くにある温度センサ608によりモニターされる。負荷は、システムメモリ606が使用されているそのやり方を表す内容の少なくとも1つのトラフィック統計レジスタ609によりモニターされる。ルックアップパラメータ入力612は、これらから作られる。BIOS607メモリ領域またはSPDメモリ領域614(または他のメモリまたは記憶領域)で有効にルックアップを行い、新しい閾値を提供する。新しい閾値は閾値レジスタ602にロードされ、最適ではなくなった前の閾値に置き換わる。
図6は、異なるコンピューティングシステムの構成要素により、異なる方法でルックアップパラメータ入力612が作られることも示している。一アプローチによれば、メモリコントローラ601がルックアップパラメータ612を生成する組み込み制御機能610を含む。組み込み制御機能612は、ルックアップパラメータ612の構成に関するソフトウェアルーチンを実行する組み込みプロセッサまたはマイクロコントローラとして実施されてもよい。代替的に、または組み合わせて、専用ロジックを用いてメモリコントローラの組み込み制御機能610を実施してもよい。
他のやり方によれば、コンピューティングシステムのプロセッサ611を用いてルックアップパラメータ612を構成する。ここで、プロセッサ611は、メモリコントローラのトラフィック統計レジスタ609の内容を受け取り(例えば、フロントサイドバス613を通して送られる)、温度センサ611から環境温度を受け取る。さらに別の実施形態において、入力ルックアップパラメータ612の構成は、プロセッサ611とメモリコントローラ601との間で分けられる。及び/または、プロセッサ611とメモリコントローラ601以外のインテリジェントな構成要素により受け持たれてもよい。とにかく、入力ルックアップパラメータ612を作る機能は、1)適当な時間間隔をあけて新しいルックアップパラメータを繰り返し構成してもよく、及び/または、2)システムメモリの動作環境の急激な大幅な変化に応じて、新しいルックアップパラメータを生成してもよい。
ルックアップテーブルの使用は、コンピューティングシステムの動作中に新しい閾値を「取得」する1つの方法であることに留意せよ。他の実施形態において、以下により詳しく説明するように、既存の閾値テーブルを参照して取得するのではなく、特定の計量から適当な閾値を動的に計算(すなわち「導出」)してもよい。さらにまた、当業者には明らかなことだが、新しい閾値を取得または導出するのに十分な詳細を記憶するために使用するリソースは、BIOSメモリ領域607、SPDメモリ領域614、またはその他コンピューティングシステム資源(例えば、他の不揮発メモリまたは記憶資源)等である。
適当な閾値を決定する方法
コンピューティングシステムにより新しい閾値がルックアップされるか計算されるかにかかわらず、ある動作環境においてあるタイプのメモリに「何の」閾値が適当であるかについて、理解しておくべきである。いろいろな例において、コンピューティングシステムがシステムメモリに提示する可能な動作環境を、システムメモリを実施(例えば、製造、生産プロセス、パッキングアプローチ等)するために使用するそのタイプのメモリと関係づけておき、そのタイプのメモリに対して適当な閾値を設定できるようにする必要がある。ここで、メモリ生産者は、必要なすべての閾値を自分では提供しないとき、適当な閾値を設定する必要がある者に一定の情報を入手可能としておくものと期待される。
例えば、上で説明した実施形態と一貫して、プロセッサ生産者及び/またはコンピューティングシステム生産者は、コンピューティングシステムのBIOS内に格納される情報の編集の責任を有していると考えられている。そのため、コンピューティングシステムのBIOSその他に閾値情報を表として格納しておく場合、メモリのサプライヤとプロセッサ/コンピューティングシステムの生産者の間で関係を構築し、適当な閾値をリストするか、導出するのに十分な情報がプロセッサ/コンピューティングシステムの生産者に利用可能となるようにする。以下、これらのやり方を説明する。
図7aないし7cは、システムメモリが置かれている動作環境の観測された変化を考慮して内部メモリの制御閾値を修正することができるコンピューティングシステムの最適化を構成するために、適当な当事者にコア能力を与える、実際的な関係を示す。図7aは、コンピューティングシステムの最大許容デバイスパワーと環境温度の関係を示す。図7aに示した関係は、コンピューティングシステムの環境温度が高くなると、メモリデバイスにより消費される電力パワーを下げ、メモリデバイスが動作不良を起こすことを防止しなければならない。
ここで、コンピューティングシステムの設計者/生産者が、図7aを理解する最もよい立場にいると思われる。システムメモリ上のエアフローと、コンピューティングシステムで使用するシステムメモリデバイスのタイプを決定するのは、コンピューティングシステム設計プロセスの一部をになう設計者である。システム設計者により組み込まれるシステムメモリデバイスのタイプは、パッケージタイプと最大許容接合温度により特徴づけられる。接合温度がデバイスのパワー損失と関係するので、コンピューティングシステムの設計者は、これらの特徴(エアフロー、メモリパッケージタイプ、最大接合温度)から、設計する(した)システムの「最大許容デバイスパワー対環境温度」の関係(一例を図7aに示した)を知ることができる。
図7bは、問題となっているコンピューティングシステムの設計者により選択されたメモリデバイスの帯域幅(BW)とメモリデバイスパワーの間の関係を示す。さらにまた、図7bに示した関係は、メモリデバイスに課されている負荷に関するものであると理解することもできる。図7bは、負荷(例えば、読み出し/書き込み割合、ページヒット/ページエンプティ/ページミス、バースト長さ、タイミング条件等)が一定のアプリケーションにおいて、メモリデバイスの動作レート(すなわち「帯域幅」(BW))が高ければ高いほど、より大きなパワーをメモリデバイスが消費することを示している。負荷は、メモリが実行するいろいろなタイプの動作に関してメモリの使用を特徴づけるが、帯域幅/閾値項はそのタイプの動作が適用されるレートに対応することに留意せよ。究極的には、与えられた電源電圧と与えられた負荷に応じて半導体デバイスにより消費されるパワー量は、その半導体デバイスの電気的設計とその半導体デバイスの生産に使用した生産プロセスにより決まる。そのため、メモリデバイスのサプライヤが図7bに示した関係を求めるのに最適な位置にいると期待される。
メモリデバイスサプライヤは、この関係を理論的、実験的、または理論と実験の組み合わせにより求めることができる。
図7cは、図7aと7bを組み合わせて「デバイスパワー」の変数を消去したものである。この結果は、「最大持続帯域幅(BWM)」をコンピューティングシステムの環境温度に関係づけている。図7cの相関は、例えば、次のものから得られる:1)第1の式で、図7aに示した関係を数学的に記述する、(すなわち、第1の式は、許容デバイスパワーと環境温度の関係を示している。);
2)第2の式で、図7bに示した関係を数学的に記述する、(すなわち、第2の式は、デバイスの帯域幅を負荷に対するデバイスパワーと関係づける式である。)3)両式を組み合わせて、デバイスパワーを変数として有しない第3の式を求める。初めに、上記の数学的プロセスは、直線近似以外の挙動モデルにも適用できることに留意せよ。(そのため、図7aないし7cには直線で示したが、適宜、直線以外の挙動モデルを使用してもよい。)
組み合わせの結果として、図7cの帯域幅パラメータは「最大持続帯域幅」(BWMAX)と解釈されることに留意せよ。その理由は、図7aの関係は「最大持続デバイスパワー」を表しているからである。言い換えると、最大持続デバイスパワーとなる帯域幅は、図7cの縦軸により表される。図7cの表示は非常に有用である。その理由は、図7bに示した負荷について、コンピューティングシステム内の環境温度に合わせた、所定の負荷をかけてもそのコンピューティングシステムのシステムメモリが最大持続デバイスパワーを超えない、コンピューティングシステムのメモリコントローラ用の閾値を生成するために使用できるからである。このように、例として、図7cの関係の離散的なポイントをテーブルとして、図5に示したルックアップ値の列を作る。図5に示した完全なルックアップテーブルを作るために、図7bに示したように、N個の関係を求めるようにメモリサプライヤに頼むこともできる。すなわち、各負荷に対して「帯域幅対パワー」の関係を図5のルックアップテーブルに記録する。
再び図7aと7cを参照して、「環境温度」以外の熱パラメータも相関パラメータとして使用できることに留意することは重要である。例えば、少数の実施形態を挙げると、図7aと7cの各々の相関スキームにおいて、デバイスのケース温度を「横」軸として使用することができる。デバイスのケース温度はどのメモリパッケージについても環境温度から容易に計算することができる。よって、実際に、測定した環境温度をデバイスケース温度に変換することは容易である。そのため、スキームの一部として、環境温度をモニターしても、実際の数学的相関スキームは、環境温度ではなくデバイスケース温度に基づいていてもよい。同様に、環境温度ではなくケース温度をコンピューティングシステムにより動的にモニターしてもよい。それゆえ、メモリデバイスのケース温度または接合温度パラメータを、不揮発記憶またはSPD等のメモリ領域に格納することもできる。例えば、メモリサプライヤは、自分の部品が動作不良モードを呈する温度を特定し、このパラメータをSPDに格納してもよい。システムは、この値を読み込み、上記の閾値を調節し、そのデバイスから付加的性能を引き出すことができる。温度パラメータのサブセットとして、最大ケース温度と最大接合温度があり、メモリサプライヤは自分の部品についてこれらを保証する。
実施方法
N通りの負荷の各々について「帯域幅対パワー」の関係(図7b)をメモリサプライヤからコンピューティングシステムの設計者/生産者に渡すやり方は、実施形態ごとに変わってもよい。一般的に、関係情報は、どのような方法でシステム設計者/生産者に「送る」こともできる。さらにまた、関係情報をシステム設計者/生産者に提示する形式も実施形態ごとに変化してよい。一般的に、関係情報はシステム設計者/生産者がその関係を理解できる方法であれば、どのような方法によって表してもよい。
コンピューティングシステムを構成してN通りの負荷の各々に対して「BWMAX対環境温度」情報(図7c)を取得するやり方も、実施形態ごとに変わってよい。基本的な実施形態において、この情報は、生産情報の一部としてコンピューティングシステム(例えば、BIOSメモリ領域607またはSPDメモリ領域614内)に単純に格納される。例えば、図5を再び参照して、N通りの「BWMAX対環境温度」の関係の各々から(すなわち、各負荷に対して1つの関係)M通りのデータポイントを選択し、コンピューティングシステムのBIOS、SPD、その他のメモリまたは記憶領域内に構成してもよい。
別の実施形態において、負荷ごとにM通りの選択データを格納するのではなく、「BWMAX対環境温度」の関係の各々を表すのに十分な情報を、コンピューティングシステムのBIOS、SPD、またはその他のメモリまたは記憶領域内に格納する。例えば、図7cは直線であり、直線を決定するには2つの点(例えば、直線上の2つの点、または1つの点とその直線の傾き)だけが分かればよいことに留意して、BIOSメモリ領域、SPDメモリ領域、その他のメモリまたは記憶領域内に負荷ごとに2つの点を格納する。これらから、コンピューティングシステムは既存の動作環境について適当な閾値を計算することができる。
図6も上記のシステムの構成要素を示している。例えば、BIOSまたはSPDメモリ領域607、614は、閾値または「閾値ベースの」情報のいずれかを提供するように示した。ここで、閾値ベースの情報は、閾値そのものではなく、閾値を計算することができる情報であればなんでもよい。直線を表す2つの点をBIOSまたはSPDから読み出せることを示した前出の実施形態において、BIOSまたはSPDの出力は、閾値ではなく、閾値ベースの情報に対応している。図6は、閾値ベースの情報は、上記の制御機能610により処理され、実際の閾値となる。
さらに別の実施形態によると、制御機能610は、環境温度及び/または統計情報から得られた入力ルックアップパラメータを決定し、BIOSまたはSPDのメモリ領域から正しい閾値ベースの情報を抽出するように設計し、そのルックアップパラメータ情報を再利用して、その閾値ベースの情報から適当な閾値を計算してもよいことに留意せよ。同様に、プロセッサ611は、閾値ベースの情報から閾値を計算し、それをメモリコントローラに送ってもよい。
今まで説明した上記の実施形態から、「BWMAX対環境温度」の関係情報(例えば、図7cの情報)をBIOSまたはSPDメモリ領域607、614に格納する。しかし、少なくとも実施形態の一ファミリーによれば、システムメモリの「帯域幅対パワー」情報をBIOSまたはSPDメモリ領域607、614に格納する。この情報はまだ閾値ベースの情報に対応することに留意せよ。「帯域幅対パワー」情報をBIOSまたはSPDメモリ領域607、614に格納した場合、コンピューティングシステムがデバイスパワー変数を消去して適当な閾値を計算しなければならない。(例えば、図7cの生成に関して最初に上で説明したように。)
ここで、閾値ベースの情報に関してすぐ上で説明したのと同じ計算方法を用いることができる。ただし、例外として、「デバイスパワー最大対環境温度」情報(例えば、図7aの情報)を閾値ベース情報に含めなければならない。再び、2つの点を用いて、所定の負荷に対してこの関係を特徴づける直線を表すことができる。それゆえ、各負荷に対してBIOSまたはSPDに格納された適当な4つの点のうち:最初の2つの点は「デバイスパワー最大対環境温度」情報(例えば、図7aの情報)を表し、次の2つの点は「帯域幅対パワー」情報(例えば、図7bの情報)を表す。「デバイスパワー最大対環境温度」情報(例えば、図7aの情報)の格納に関して、この情報はシステムメモリデバイスの最大許容接合温度またはケース温度を含んでもよいことに留意せよ。環境温度が上昇すると、接合温度が上昇するという効果がある。ベンダーが異なると、接合温度の許容誤差も異なる。接合温度に対するメモリベンダーの敏感さに比例して、持続可能帯域幅にも影響がある。ベンダーは、ここに設立したメカニズムを通じて、許容接合温度またはケース温度を報告することもできる。例えば、これらの温度パラメータのいずれかはSPDに格納される。接合温度とケース温度の間には決まった関係、すなわち接合・ケース熱抵抗がある。この抵抗はパッケージによって異なるが、それはパッケージング技術と性能が異なるからである。「帯域幅対パワー」情報の格納に関して、負荷ごとに格納されている2つの値には次のものが含まれる:1)第1の所定のデバイスパワーにおける第1の帯域幅;及び2)第2の所定のデバイスパワーにおける第2の帯域幅。第2の実施形態によると、負荷ごとに与えられる2つの値は次のものを含んでいる:1)第1の所定のデバイスパワーにおける第1の帯域幅;及び3)当てはまる直線の傾き。ここで、「所定の」という用語を用いたが、メモリデバイスサプライヤと、与えられた帯域幅がどのくらいのデバイスパワーに対応するかに関して数学的組み合わせアプローチを実行/設計する者との間に一定の理解が存在することを意味している。所定の理解により、メモリサプライヤはパワーの値を報告することなく、帯域幅の値のみを報告すればよいが、その理由は、数学的な組み合わせを実行する者には与えられた各帯域幅に対するパワーを「理解」しているからである。
さらに別の実施形態において、ここに示したスキームに「参加」するメモリデバイスについて、所定のパワーを選択し、いかなる負荷に対しても、いかなるメモリサプライヤからのいかなるタイプのメモリについても、その所定のパワーが「帯域幅対パワー」カーブと交わるようにする。そうすることにより、一般産業にわたるメモリ特徴付けスキームを設立し、コンピューティングシステムが「参加」しているメモリデバイスの閾値を成功裏に調整することができる。いかなる所定パワーも、参加している少なくとも1つのメモリデバイスについて、交わることを保証できない場合、さらに「所定の」パワーを一般産業にわたるスキームにより利用される「所定の」パワーのファミリーに追加することを想定している。「所定の」パワーを適当に(例えば、参照番号により)識別することにより、帯域幅のファミリーに各参加メモリデバイスを入れることができると想定している。
図8に示した、コンピューティングシステムのBIOS、SPDまたは他のメモリまたは記憶資源内の帯域幅対デバイスパワー情報の記憶に関連する他の実施形態において、1つのメモリデバイスの複数の「帯域幅対パワー」関係(例えば、すべての「帯域幅対パワー」関係)が共通ポイントを有するモデル化され、平均的に、「帯域幅対パワー」関係を値のペアが格納されていなくても負荷に対して決定することを可能とする。図8に示したモデル化アプローチによれば、4つの負荷(A、B、C及びベースライン)が各々共通ポイント801としてモデル化される。図8において各「x」は、コンピューティングシステムに格納されたデータに対応する。
「x」の802、803、804、805について、対応するデータ値は、明示的な帯域幅の値(例えば、「x」802、803、804、805に対してそれぞれ帯域幅値807、806、808、809)として、または対応する直線の傾きとして格納される。「ベースライン負荷」関係は、SPDに格納された情報により完全に決まることに留意せよ。2つのポイント(801、802)が格納されているからである。しかし、負荷A、B、Cは、ベースライン負荷のポイント801をこれらの負荷に使用し、負荷ごとにもう1つのポイントを使えば、完全に知ることができる。(すなわち、負荷Aに対してポイント803、負荷Bに対してポイント804、負荷Cに対してポイント805)
そのように、5つのSPD値が格納され、4つの負荷を表す。格納されたSPD値の比率は2.0よりも1.0に近い。ポイント802ないし805の各々は、パワーレベルPRについて「所定」のものであると見ることができる。ポイント801のパワーレベルを所定のものとして、4つの負荷の各々について適当に組み合わせて、4つの負荷の各々について「BWMAX対環境温度」情報を提供する。さらに別の実施形態において、「端点」801は「最大帯域幅」および「最大デバイスパワー」により特定される(図8ではポイント810と811により表される)。データポイント802ないし805のいずれもSPDにおいて傾斜値と「置き換え」られる。各負荷について、801の傾斜、すなわち810を811で除算した値をSPDに格納することもできる。ここで、810はポイント801に対する帯域幅であり、811はポイント801に対するパワーである。
ここで分析的に求めた測定基準は、テストと測定を通じて求めてもよい。環境、負荷、パワーバジェットについての仮定は、メモリをテストするテスト入力条件としてとらえることができる。ここで説明したように、所定のテスト基準を用いて得られた帯域幅は、システムインテグレータに報告することができる。各メモリユニットを測定すれば、部品の価値についての不確定性を取り除くことができるが、分析的方法では1つのクラスのデバイスについてすべてのパラメータについて最悪値を仮定する。パワーと歩留まりを司るパラメータはすべて確率分布関数になるので、分析的ケースは最悪の場合のパラメータを説明しなければならない。最悪の場合の値よりも低いデバイスについて、本システムは付加的な性能的余裕を利用することができる。テストと測定により、メモリ部品の生産者はデバイスの分布グラフを正確に描くことができるであろう。
システムがセルフリフレッシュシステムメモリで動作すべきかどうかの決定
図9aと9bは、コンピューティングシステムのシステムメモリの動作に関して機能不全を避ける方法を示している。図9aの方法の場合、「時間分(time duration)」パラメータは、BIOSメモリ領域やSPDメモリ領域等の不揮発性資源に格納され、コンピューティングシステムがセルフリフレッシュモードでシステムメモリを動作させることができるかどうかを判断する(902)ために使用される。具体的に、格納された時間分パラメータにより、コンピューティングシステムがそのシステムメモリをセルフリフレッシュモードで動作させつつ正しくに動作する時間の程度を示す。とりわけ、システムメモリのセルフリフレッシュモードは十分なレベルのパワーを消費し、バッテリー駆動のコンピューティングシステムが正しく動作する時間の長さに影響を与える。そのように、格納された時間分パラメータは、バッテリー駆動のシステムに取って特に有用であると期待される。その理由は、バッテリーの電圧が、コンピューティングシステムが機能不全を起こし始めるポイントに下がる前に、コンピューティングシステムが、そのシステムメモリをセルフリフレッシュモードで動作させて、バッテリー駆動でどのくらい長い時間動作できると見込めるか反映しているからである。
図9aに示した方法によると、メモリやSPDメモリ領域とうの記憶資源から時間分パラメータを読み出した(ステップ901)後、コンピューティングシステムはその時間分パラメータをそのコンピューティングシステムのために設定された「目標」期間と比較する。さらに別の実施形態において、「目標」期間は、そのコンピューティングシステムのオペレ―ティングシステム(OS)が「スタンバイモード期間」として認識している時間分に対応する。格納された期間が「目標」期間以上であるとき、モード期間を時間分パラメータに設定する(ステップ903)。ここで、モード期間を用いて、機能不全が起こる前に残された時間を追跡する。
モード期間を読み出した時間分パラメータ903と等しく設定することにより、コンピューティングシステムは、システムメモリが機能不全を起こさずにコンピューティングシステム内で、セルフリフレッシュモードで動作できる時間の長さを正しく追跡する。格納された期間が「目標」期間以上でないとき、そのシステムメモリに取ってセルフリフレッシュモードは適当ではないと判断され、別のシステムモードに切り替えられる(ステップ904)。例えば、システムメモリをスタンバイモードにしてもよいし、「不適格」としてもよい(例えば、使用不可であると正式に認識される)し、システムメモリの内容をハードディスクドライブ等の不揮発記憶デバイスに格納してもよい。
1つの方法によれば、固定のパワーバジェットの下でセルフリフレッシュモードを確実に持続できる期間を計量する。パワーバジェットは標準的な携帯型コンピュータのバッテリーの充電キャパシティを表す。バッテリー容量は変化するので、この情報を数学的に伝えると便利であろう。利用可能な充電量をパワー消費の線形関数としてモデル化してもよい。この直線の2つのポイントが与えられると、他のポイントはすべて容易に決定論的に計算可能である。これらの2つのポイントを任意に選択して、有意の線形データまたは区分的線形データを保証する。利用可能な充電量は、リフレッシュレートが高くなったりまたはその他の動作が多くなったりすると、より早く減少する。リフレッシュレートが高くなるにつれ、消費パワーは比例的に増大する。複数の傾斜直線でいろいろなリフレッシュレートを表すことができる。
図10に示したように、複数のパワーポイントを特定して、時間軸に沿った対応したポイントを取得してもよい。一実施形態において、動作中のユニットの信頼性は需要可能な電圧低下により判断する。電圧低下が大きくデバイスが故障してしまう場合、そのようなイベントが起きた時間をポイント(t)として取り出す。曲線のファミリーを作り、複数のリフレッシュレートを解決する。次の式は考慮される変数を示している。
P=Δt*ΔV*I 式1
At=P/ΔV*I 式2
単純化するため、定電流源を仮定した。上の式で、利用可能パワー「P」は任意に選択することができる。ΔVは、理想的状態からデバイスが故障する状態までの電圧低下を表す。デバイスが故障する状態は、VthresholdΔtと呼び、グラフからT3b-T3aとして得られる。T3bは傾斜を表し、以下の式3に示したように、パワーバジェットの関数として理想的な電圧と一定の電流で計算される
T3b=PBudget/Videal*Iccs 式3
これらの変数が一旦決まると、消費パワーを表す直線を構成するのは容易である。利用可能なパワーバジェットと所定のVthresholdに応じて、時間軸上の対応する値を不揮発記憶またはメモリ資源(例えば、BIOSメモリ領域またはSPDメモリ領域)にプログラムし、または他の首尾一貫した手段を用いてホストシステムに送る。あるいは、比率を示す傾斜だけをプログラムしてもよい。
図9bは、時間ではなくパワーを比較の基礎として使用(ステップ907)していることを除いて、同様の方法である。図9bに示した方法によると、図9aに関して上で説明した時間分パラメータを似た時間分パラメータを不揮発記憶またはメモリ資源(BIOSまたはSPDメモリ領域等)に格納する。時間分パラメータをメモリまたは記憶資源から読み出した(ステップ905)後、コンピューティングシステムは、セルフリフレッシュモードにあるシステムメモリの消費パワーレベルにその時間分パラメータを変換する(ステップ906)。(例えば、システム時間分をシステム消費パワーに変換し、システムメモリ以外のシステム部品に帰属させることができる消費パワーの寄与分を取り除く。)そして、セルフリフレッシュモードにおいてシステムメモリに割り当てられた「設計」消費パワーとその消費パワーレベルを比較する。
パワーパラメータが割り当てパワー以内(すなわち、以下)であるとき、システムメモリをセルフリフレッシュモードで動作させる(ステップ908)。パワーパラメータが割り当てパワー以内でない場合、システムメモリにはセルフリフレッシュモードで動作は適当ではないと判断され、別のシステムモードを使用する(ステップ909)。例えば、システムメモリをスタンバイモードにしてもよいし、「不適格」としてもよいし(例えば、使用不可であると正式に認める)、システムメモリの内容をハードディスク等の不揮発記憶デバイスに格納してもよい。
本出願の別のところで説明した方法と同様に、図9aと9bに関して上で説明した方法のいずれかをソフトウェアとしてコンピューティングシステムのプロセッサにより実行してもよいし、専用ハードウェア(例えば、ロジック)で実行してもよい、ソフトウェアと専用ハードウェアを組み合わせて実行してもよい。ソフトウェアで実行される実施に関して、機能を実行する命令は機械読み取り可能な媒体に格納してもよい。
機械読み取り可能な媒体には、機械(例えば、コンピュータ)により読み取り可能な形体で情報を格納または送信するいかなるメカニズムも含まれる。例えば、機械読み取り可能媒体には、ROM、RAM、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気的・光学的・音響的またはその他の形式の伝送信号(例えば、搬送波、赤外信号、デジタル信号等)を含む。
上記の明細書において、具体的な例としての実施形態を参照して本発明を説明した。しかし、添付した請求項に記載した本発明のより広い精神と範囲から逸脱することなく、いろいろな修正や変更を加えることができることは明らかである。従って、本明細書と図面は、限定ではなく例示として考えなければならない。
本発明を、添付した図面において、限定ではなく例示により示す。
先行技術のコンピューティングシステムの一部を示す図である。 コンピューティングシステムのシステムメモリが動作する異なるレートの例を示す図である。 コンピューティングシステムの一連の動作にわたってメモリコントローラの閾値が調節される方法を示すフローチャートである。 図3の方法の一部の、より詳細な実施形態を示す図である。 一連の動作にわたってメモリコントローラの閾値を調節するために使用できるルックアップテーブルの一実施形態を示す図である。 一連の動作にわたってメモリコントローラの閾値を調節するために使用されるコンピューティングシステムの一部の一実施形態を示す図である。 図7aないし7cは、デバイスパワー、帯域幅、環境温度の間の関係を示す図である。 パワー消費をモデル化する方法を示す図である。 コンピューティングシステムのシステムメモリの動作に関する機能不全を防止する方法を示す図である。 コンピューティングシステムのシステムメモリの動作に関する機能不全を防止する方法を示す図である。 コンピュータシステムのバッテリーパワーが消費されるいろいろなレートをシステムメモリのセルフリフレッシュレートの関数として示す図である。

Claims (71)

  1. a)システムメモリの動作環境に合わせた、閾値または閾値を計算できる情報を不揮発記憶またはメモリ資源から読み出すステップと、
    b)前記動作環境にさらされている時に前記システムメモリが機能不全を起こすレートよりも低いレートに、前記メモリが動作するレ―トを制御するために、メモリコントローラに前記閾値を使用させるステップと、を有することを特徴とする方法。
  2. 請求項1に記載の方法であって、
    前記動作環境は少なくとも部分的に温度および負荷により決まることを特徴とする方法。
  3. 請求項2に記載の方法であって、
    前記温度は前記システムメモリのケース温度であることを特徴とする方法。
  4. 請求項2に記載の方法であって、
    前記温度は前記システムメモリの環境温度であることを特徴とする方法。
  5. 請求項2に記載の方法であって、
    前記温度は前記システムメモリの接合温度であることを特徴とする方法。
  6. 請求項2に記載の方法であって、
    前記負荷は少なくとも部分的に前記メモリコントローラによりとられるトラフィック統計により決まることを特徴とする方法。
  7. 請求項2に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出しおよび書き込み動作により決まることを特徴とする方法。
  8. 請求項7に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出し/書き込み割合により決まることを特徴とする方法。
  9. 請求項2に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスにより決まることを特徴とする方法。
  10. 請求項9に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスの割合により決まることを特徴とする方法。
  11. 請求項1に記載の方法であって、
    前記不揮発記憶またはメモリ資源はBIOSメモリ領域であることを特徴とする方法。
  12. 請求項1に記載の方法であって、
    前記不揮発記憶またはメモリ資源はSPDメモリ領域であることを特徴とする方法。
  13. 請求項12に記載の方法であって、
    前記SPDは複数の異なる負荷および温度の各々に特に合わせた閾値を有するように構成されることを特徴とする方法。
  14. 請求項12に記載の方法であって、
    前記SPDは複数の異なる負荷の各々の直線を記述するポイントのペアを有するように構成されていることを特徴とする方法。
  15. 請求項14に記載の方法であって、
    前記直線は最大許容帯域幅対温度を特徴づける直線であることを特徴とする方法。
  16. 請求項14に記載の方法であって、
    前記直線は最大許容帯域幅対パワーを特徴づける直線であることを特徴とする方法。
  17. 請求項12に記載の方法であって、
    前記SPDは前記直線が1つの共通ポイントを有するものとしてモデル化されているため、1本の直線当たり2つより少ないポイントを用いて複数の直線を表すように構成されていることを特徴とする方法。
  18. 請求項1に記載の方法であって、
    システムメモリ部品のケースまたは接合温度の検出感度を部品機能に組み込み、前記検出感度をシステムまたはプロセッサのサプライヤに送ることを特徴とする方法。
  19. 請求項18に記載の方法であって、
    前記組み込むステップはテストと測定を組み込むステップをさらに有することを特徴とする方法。
  20. コンピューティングシステムであって、
    a)システムメモリと、
    b)システムメモリがさらされていると認識している動作環境に合わせた、閾値または閾値を計算できる情報を有する不揮発記憶またはメモリ資源と、
    c)前記動作環境にさらされている時に前記システムメモリが機能不全を起こすレートよりも低いレートに、前記メモリが動作するレ―トを制御するために、メモリコントローラに前記閾値を使用するメモリコントローラと、を有することを特徴とするコンピューティングシステム。
  21. 請求項20に記載の装置であって、
    前記動作環境は少なくとも部分的に温度および負荷により決まることを特徴とする装置。
  22. 請求項21に記載の装置であって、
    前記温度は前記システムメモリのケース温度であることを特徴とする装置。
  23. 請求項21に記載の装置であって、
    前記温度は前記システムメモリの環境温度であることを特徴とする装置。
  24. 請求項21に記載の装置であって、
    前記負荷は少なくとも部分的に前記メモリコントローラによりとられるトラフィック統計により決まることを特徴とする装置。
  25. 請求項21に記載の装置であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出しおよび書き込み動作により決まることを特徴とする装置。
  26. 請求項25に記載の装置であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出し/書き込み割合により決まることを特徴とする装置。
  27. 請求項21に記載の装置であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスにより決まることを特徴とする装置。
  28. 請求項27に記載の装置であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスの割合により決まることを特徴とする装置。
  29. 請求項20に記載の装置であって、
    前記不揮発記憶またはメモリ資源はBIOSメモリ領域であることを特徴とする装置。
  30. 請求項20に記載の装置であって、
    前記不揮発記憶またはメモリ資源はSPDメモリ領域であることを特徴とする装置。
  31. 請求項30に記載の装置であって、
    前記SPDは複数の異なる負荷および温度の各々に特に合わせた閾値を有するように構成されることを特徴とする装置。
  32. 請求項30に記載の装置であって、
    前記SPDは複数の異なる負荷の各々の直線を記述するポイントのペアを有するように構成されていることを特徴とする装置。
  33. 請求項32に記載の装置であって、
    前記直線は最大許容帯域幅対温度を特徴づける直線であることを特徴とする装置。
  34. 請求項32に記載の装置であって、
    前記直線は最大許容帯域幅対パワーを特徴づける直線であることを特徴とする装置。
  35. 請求項30に記載の装置であって、
    前記SPDは前記直線が1つの共通ポイントを有するものとしてモデル化されているため、1本の直線当たり2つより少ないポイントを用いて複数の直線を表すように構成されていることを特徴とする装置。
  36. 命令シーケンスを記憶した機械読み取り可能媒体であって、前記命令シーケンスは少なくとも1つのプロセッサにより実行された時、前記少なくとも1つのプロセッサに、
    a)システムメモリの動作環境に合わせた、閾値または閾値を計算できる情報を不揮発記憶またはメモリ資源から読み出させるステップと、
    b)前記動作環境にさらされている時に前記システムメモリが機能不全を起こすレートよりも低いレートに、前記メモリが動作するレ―トを制御するために、メモリコントローラに前記閾値を使用させるステップと、を有する方法を実行させることを特徴とする媒体。
  37. 請求項36に記載の機械読み取り可能媒体であって、
    前記動作環境は少なくとも部分的に温度および負荷により決まることを特徴とする媒体。
  38. 請求項37に記載の機械読み取り可能媒体であって、
    前記温度は前記システムメモリのケース温度であることを特徴とする媒体。
  39. 請求項37に記載の機械読み取り可能媒体であって、
    前記温度は前記システムメモリの環境温度であることを特徴とする媒体。
  40. 請求項37に記載の機械読み取り可能媒体であって、
    前記温度は前記システムメモリの接合温度であることを特徴とする媒体。
  41. 請求項37に記載の機械読み取り可能媒体であって、
    前記負荷は少なくとも部分的に前記メモリコントローラによりとられるトラフィック統計により決まることを特徴とする媒体。
  42. 請求項37に記載の機械読み取り可能媒体であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出しおよび書き込み動作により決まることを特徴とする媒体。
  43. 請求項42に記載の機械読み取り可能媒体であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出し/書き込み割合により決まることを特徴とする媒体。
  44. 請求項37に記載の機械読み取り可能媒体であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスにより決まることを特徴とする媒体。
  45. 請求項44に記載の機械読み取り可能媒体であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスの割合により決まることを特徴とする媒体。
  46. 請求項36に記載の機械読み取り可能媒体であって、
    前記不揮発記憶またはメモリ資源はBIOSメモリ領域であることを特徴とする媒体。
  47. 請求項36に記載の機械読み取り可能媒体であって、
    前記不揮発記憶またはメモリ資源はSPDメモリ領域であることを特徴とする媒体。
  48. 請求項47に記載の機械読み取り可能媒体であって、
    前記SPDは複数の異なる負荷および温度の各々に特に合わせた閾値を有するように構成されることを特徴とする媒体。
  49. 請求項47に記載の機械読み取り可能媒体であって、
    前記SPDは複数の異なる負荷の各々の直線を記述するポイントのペアを有するように構成されていることを特徴とする媒体。
  50. 請求項49に記載の機械読み取り可能媒体であって、
    前記直線は最大許容帯域幅対温度を特徴づける直線であることを特徴とする媒体。
  51. 請求項49に記載の機械読み取り可能媒体であって、
    前記直線は最大許容帯域幅対パワーを特徴づける直線であることを特徴とする媒体。
  52. 請求項47に記載の機械読み取り可能媒体であって、
    前記SPDは前記直線が1つの共通ポイントを有するものとしてモデル化されているため、1本の直線当たり2つより少ないポイントを用いて複数の直線を表すように構成されていることを特徴とする媒体。
  53. a)システムメモリの動作環境に合わせた、閾値または閾値を計算できる情報をSPDメモリ領域から読み出すステップと、
    b)前記動作環境にさらされている時に前記システムメモリが機能不全を起こすレートよりも低いレートに、前記メモリが動作するレ―トを制御するために、メモリコントローラに前記閾値を使用させるステップと、を有する方法。
  54. 請求項53に記載の方法であって、
    前記動作環境は少なくとも部分的に温度および負荷により決まることを特徴とする方法。
  55. 請求項54に記載の方法であって、
    前記温度は前記システムメモリのケース温度であることを特徴とする方法。
  56. 請求項54に記載の方法であって、
    前記温度は前記システムメモリの環境温度であることを特徴とする方法。
  57. 請求項54に記載の方法であって、
    前記温度は前記システムメモリの接合温度であることを特徴とする方法。
  58. 請求項54に記載の方法であって、
    前記負荷は少なくとも部分的に前記メモリコントローラによりとられるトラフィック統計により決まることを特徴とする方法。
  59. 請求項54に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出しおよび書き込み動作により決まることを特徴とする方法。
  60. 請求項52に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリの読み出し/書き込み割合により決まることを特徴とする方法。
  61. 請求項54に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスにより決まることを特徴とする方法。
  62. 請求項61に記載の方法であって、
    前記負荷は少なくとも部分的に前記システムメモリのページヒット、ページエンプティ、ページミスの割合により決まることを特徴とする方法。
  63. a)コンピューティングシステムのシステムメモリがセルフリフレッシュモードで動作している時に前記コンピューティングシステムが機能不全を起こすこと無しに動作すると期待される時間分を示す不揮発記憶またはメモリ資源から情報を読み出すステップと、
    b)前記時間分が前記コンピューティングシステムに設定された目標時間分よりも短いとき、前記システムメモリにセルフリフレッシュモードで動作させるステップと、を有することを特徴とする方法。
  64. 請求項63に記載の方法であって、
    前記目標時間分はスタンバイモード期間であることを特徴とする方法。
  65. 請求項63に記載の方法であって、
    前記時間分が前記目標時間分より長いとき、前記システムメモリをスタンバイモードにするステップをさらに有することを特徴とする方法。
  66. 請求項53に記載の方法であって、
    前記時間分が前記目標時間分より長いとき、前記システムメモリを不適格とするステップをさらに有することを特徴とする方法。
  67. 請求項63に記載の方法であって、
    前記時間分が前記目標時間分より長いとき、前記システムメモリの内容をハードディスクドライブに格納するステップをさらに有することを特徴とする方法。
  68. a)コンピューティングシステムのシステムメモリがセルフリフレッシュモードで動作している時に前記コンピューティングシステムが機能不全を起こすこと無しに動作すると期待される時間分を示す不揮発記憶またはメモリ資源から情報を読み出すステップと、
    b)前記システムメモリが前記セルフリフレッシュモードで動作している時、前記時間分を前記システムメモリのパワーに変換するステップと、
    c)前記パワーが前記システムメモリに割り当てられたパワー以内であるとき、前記システムメモリをセルフリフレッシュモードで動作させるステップと、を有することを特徴とする方法。
  69. 請求項68に記載の方法であって、
    前記時間分が前記目標時間分より長いとき、前記システムメモリをスタンバイモードにするステップをさらに有することを特徴とする方法。
  70. 請求項68に記載の方法であって、
    前記時間分が前記目標時間分より長いとき、前記システムメモリを不適格とするステップをさらに有することを特徴とする方法。
  71. 請求項68に記載の方法であって、
    前記時間分が前記目標時間分より長いとき、前記システムメモリの内容をハードディスクドライブに格納するステップをさらに有することを特徴とする方法。
JP2006501245A 2003-04-24 2004-03-24 システムメモリの使用を設定、レポート、調節する方法と装置 Pending JP2006524373A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/423,189 US20040215912A1 (en) 2003-04-24 2003-04-24 Method and apparatus to establish, report and adjust system memory usage
PCT/US2004/008893 WO2004097657A2 (en) 2003-04-24 2004-03-24 Method and apparatus to establish, report and adjust system memory usage

Publications (1)

Publication Number Publication Date
JP2006524373A true JP2006524373A (ja) 2006-10-26

Family

ID=33299054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006501245A Pending JP2006524373A (ja) 2003-04-24 2004-03-24 システムメモリの使用を設定、レポート、調節する方法と装置

Country Status (7)

Country Link
US (1) US20040215912A1 (ja)
EP (1) EP1616264A2 (ja)
JP (1) JP2006524373A (ja)
KR (2) KR20070039176A (ja)
CN (1) CN100468374C (ja)
TW (1) TWI260498B (ja)
WO (1) WO2004097657A2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008093606A1 (ja) * 2007-01-30 2008-08-07 Panasonic Corporation 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
JP2009541866A (ja) * 2006-06-29 2009-11-26 インテル コーポレイション 熱効率的な集積回路(ic)動作のためのダイ単位温度プログラミング
JP2010079675A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 記憶装置及び記憶装置の制御方法
JP2010257491A (ja) * 2010-08-17 2010-11-11 Toshiba Corp 記憶装置及び記憶装置の制御方法
JP2010287242A (ja) * 2010-06-30 2010-12-24 Toshiba Corp 不揮発性半導体メモリドライブ
JP2011103147A (ja) * 2011-02-17 2011-05-26 Toshiba Corp 情報処理装置
JP2012059281A (ja) * 2011-11-21 2012-03-22 Toshiba Corp 記憶装置及びssd
JP2012515381A (ja) * 2009-01-12 2012-07-05 マイクロン テクノロジー, インク. メモリシステムを監視するシステムおよび方法
JP7149394B1 (ja) * 2021-08-26 2022-10-06 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350046B2 (en) 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions
US7304905B2 (en) * 2004-05-24 2007-12-04 Intel Corporation Throttling memory in response to an internal temperature of a memory device
US7523285B2 (en) * 2004-08-20 2009-04-21 Intel Corporation Thermal memory control
US7644192B2 (en) * 2005-08-25 2010-01-05 Hitachi Global Storage Technologies Netherlands B.V Analyzing the behavior of a storage system
US7496796B2 (en) 2006-01-23 2009-02-24 International Business Machines Corporation Apparatus, system, and method for predicting storage device failure
US7830690B2 (en) * 2006-10-30 2010-11-09 Intel Corporation Memory module thermal management
US7983171B2 (en) * 2008-09-30 2011-07-19 International Business Machines Corporation Method to manage path failure thresholds
US8027263B2 (en) * 2008-09-30 2011-09-27 International Business Machines Corporation Method to manage path failure threshold consensus
US20100169729A1 (en) * 2008-12-30 2010-07-01 Datta Shamanna M Enabling an integrated memory controller to transparently work with defective memory devices
US20120102367A1 (en) * 2010-10-26 2012-04-26 International Business Machines Corporation Scalable Prediction Failure Analysis For Memory Used In Modern Computers
US8873323B2 (en) * 2012-08-16 2014-10-28 Transcend Information, Inc. Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device
US9465426B2 (en) * 2013-09-18 2016-10-11 Huawei Technologies Co., Ltd. Method for backing up data in a case of power failure of storage system, and storage system controller
US9417961B2 (en) * 2014-11-18 2016-08-16 HGST Netherlands B.V. Resource allocation and deallocation for power management in devices
US10185511B2 (en) * 2015-12-22 2019-01-22 Intel Corporation Technologies for managing an operational characteristic of a solid state drive
US9927986B2 (en) 2016-02-26 2018-03-27 Sandisk Technologies Llc Data storage device with temperature sensor and temperature calibration circuitry and method of operating same
TWI595492B (zh) * 2016-03-02 2017-08-11 群聯電子股份有限公司 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置
CN107179877B (zh) * 2016-03-09 2019-12-24 群联电子股份有限公司 数据传输方法、存储器控制电路单元与存储器存储装置
US11500439B2 (en) * 2018-03-02 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for performing power analytics of a storage system
US11481016B2 (en) 2018-03-02 2022-10-25 Samsung Electronics Co., Ltd. Method and apparatus for self-regulating power usage and power consumption in ethernet SSD storage systems
KR102568896B1 (ko) * 2018-04-19 2023-08-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN110333770B (zh) 2019-07-10 2023-05-09 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI722490B (zh) * 2019-07-16 2021-03-21 大陸商合肥兆芯電子有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US20220197524A1 (en) * 2020-12-21 2022-06-23 Advanced Micro Devices, Inc. Workload based tuning of memory timing parameters
CN113776591B (zh) * 2021-09-10 2024-03-12 中车大连机车研究所有限公司 一种机车辅助控制单元数据记录与故障分析装置及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US6848054B1 (en) * 1989-10-30 2005-01-25 Texas Instruments Incorporated Real-time computer thermal management and power conservation
US5365487A (en) * 1992-03-24 1994-11-15 Texas Instruments Incorporated DRAM power management with self-refresh
US5504858A (en) * 1993-06-29 1996-04-02 Digital Equipment Corporation Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US5422806A (en) * 1994-03-15 1995-06-06 Acc Microelectronics Corporation Temperature control for a variable frequency CPU
US5798667A (en) * 1994-05-16 1998-08-25 At&T Global Information Solutions Company Method and apparatus for regulation of power dissipation
US5752011A (en) * 1994-06-20 1998-05-12 Thomas; C. Douglas Method and system for controlling a processor's clock frequency in accordance with the processor's temperature
KR100468561B1 (ko) * 1996-01-17 2005-06-21 텍사스 인스트루먼츠 인코포레이티드 중앙처리장치의동작특성에따라컴퓨터의동작을제어하는방법및시스템
US5774704A (en) * 1996-07-29 1998-06-30 Silicon Graphics, Inc. Apparatus and method for dynamic central processing unit clock adjustment
EP0855653B1 (en) * 1997-01-23 2004-10-06 Hewlett-Packard Company, A Delaware Corporation Memory controller with a programmable strobe delay
JP3013825B2 (ja) * 1997-12-02 2000-02-28 日本電気株式会社 情報端末装置、入出力制御方法及び記録媒体
US5835885A (en) * 1997-06-05 1998-11-10 Giga-Byte Technology Co., Ltd. Over temperature protection method and device for a central processing unit
US6424528B1 (en) * 1997-06-20 2002-07-23 Sun Microsystems, Inc. Heatsink with embedded heat pipe for thermal management of CPU
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
US6470238B1 (en) * 1997-11-26 2002-10-22 Intel Corporation Method and apparatus to control device temperature
US6021076A (en) * 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
US6535798B1 (en) * 1998-12-03 2003-03-18 Intel Corporation Thermal management in a system
CN100359601C (zh) * 1999-02-01 2008-01-02 株式会社日立制作所 半导体集成电路和非易失性存储器元件
US6393374B1 (en) * 1999-03-30 2002-05-21 Intel Corporation Programmable thermal management of an integrated circuit die
US6233190B1 (en) * 1999-08-30 2001-05-15 Micron Technology, Inc. Method of storing a temperature threshold in an integrated circuit, method of modifying operation of dynamic random access memory in response to temperature, programmable temperature sensing circuit and memory integrated circuit
JP2003514296A (ja) * 1999-11-09 2003-04-15 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド プロセッサの動作パラメータをその環境に従って動的に調節する方法
JP2001290697A (ja) * 2000-04-06 2001-10-19 Hitachi Ltd 情報処理システム
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
US6564288B2 (en) * 2000-11-30 2003-05-13 Hewlett-Packard Company Memory controller with temperature sensors
US6701272B2 (en) * 2001-03-30 2004-03-02 Intel Corporation Method and apparatus for optimizing thermal solutions
JP4765222B2 (ja) * 2001-08-09 2011-09-07 日本電気株式会社 Dram装置
US6507530B1 (en) * 2001-09-28 2003-01-14 Intel Corporation Weighted throttling mechanism with rank based throttling for a memory system

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009541866A (ja) * 2006-06-29 2009-11-26 インテル コーポレイション 熱効率的な集積回路(ic)動作のためのダイ単位温度プログラミング
WO2008093606A1 (ja) * 2007-01-30 2008-08-07 Panasonic Corporation 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置
US8209504B2 (en) 2007-01-30 2012-06-26 Panasonic Corporation Nonvolatile memory device, nonvolatile memory system, and access device having a variable read and write access rate
JP4575484B2 (ja) * 2008-09-26 2010-11-04 株式会社東芝 記憶装置及び記憶装置の制御方法
US8189412B2 (en) 2008-09-26 2012-05-29 Kabushiki Kaisha Toshiba Storage device and method for controlling storage device
JP2010079675A (ja) * 2008-09-26 2010-04-08 Toshiba Corp 記憶装置及び記憶装置の制御方法
US8482998B2 (en) 2008-09-26 2013-07-09 Kabushiki Kaisha Toshiba Storage device and method for controlling storage device
JP2012515381A (ja) * 2009-01-12 2012-07-05 マイクロン テクノロジー, インク. メモリシステムを監視するシステムおよび方法
JP2015109100A (ja) * 2009-01-12 2015-06-11 マイクロン テクノロジー, インク. メモリシステムを監視するシステムおよび方法
JP2010287242A (ja) * 2010-06-30 2010-12-24 Toshiba Corp 不揮発性半導体メモリドライブ
JP2010257491A (ja) * 2010-08-17 2010-11-11 Toshiba Corp 記憶装置及び記憶装置の制御方法
JP2011103147A (ja) * 2011-02-17 2011-05-26 Toshiba Corp 情報処理装置
JP2012059281A (ja) * 2011-11-21 2012-03-22 Toshiba Corp 記憶装置及びssd
JP7149394B1 (ja) * 2021-08-26 2022-10-06 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法

Also Published As

Publication number Publication date
KR20070039176A (ko) 2007-04-11
WO2004097657A2 (en) 2004-11-11
CN100468374C (zh) 2009-03-11
KR100750030B1 (ko) 2007-08-16
WO2004097657A3 (en) 2005-04-07
TWI260498B (en) 2006-08-21
US20040215912A1 (en) 2004-10-28
EP1616264A2 (en) 2006-01-18
KR20060009264A (ko) 2006-01-31
TW200506606A (en) 2005-02-16
CN1809823A (zh) 2006-07-26

Similar Documents

Publication Publication Date Title
JP2006524373A (ja) システムメモリの使用を設定、レポート、調節する方法と装置
US8806106B2 (en) Estimating wear of non-volatile, solid state memory
CN104700886B (zh) 具有电源状态传感器的存储器电路
US9146821B2 (en) Methods and systems for monitoring write operations of non-volatile memory
US8719531B2 (en) System and method for performing data retention that incorporates environmental conditions
US9146850B2 (en) Data storage system with dynamic read threshold mechanism and method of operation thereof
US11222704B1 (en) Power state aware scan frequency
TWI428739B (zh) 記憶卡之壽命終點恢復及尺寸重整
KR101683357B1 (ko) 비휘발성 메모리의 멀티스트로브 판독을 이용하여 상태 신뢰 데이터를 획득하는 방법 및 시스템
WO2011102126A1 (ja) 不揮発性半導体記憶装置及び電子機器
JP6262025B2 (ja) 抵抗メモリ要素の特性化パラメータの形成のための方法および装置
US9229640B2 (en) Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table
JP2017059223A (ja) 電力消費を制御するシステム及びその方法
US10650879B2 (en) Device and method for controlling refresh cycles of non-volatile memories
US11886313B2 (en) Temperature assisted NAND flash management
US20130262942A1 (en) Flash memory lifetime evaluation method
KR102634813B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US9312029B2 (en) Memory device and associated controlling method
TW201831903A (zh) 記憶體元件
CN113782082B (zh) 一种闪存的二维磨损均衡方法及固态硬盘
US10579759B2 (en) Apparatus for modeling resistive memory devices
WO2022250741A1 (en) Method and apparatus for outlier management
Janukowicz et al. IN THIS WHITE PAPER

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014