(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-30
(54)【発明の名称】低減電力状態間の2段階遷移のためのデバイス及び方法
(51)【国際特許分類】
G06F 1/3215 20190101AFI20240920BHJP
【FI】
G06F1/3215
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024516384
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2024-04-03
(86)【国際出願番号】 US2022038552
(87)【国際公開番号】W WO2023048819
(87)【国際公開日】2023-03-30
(32)【優先日】2021-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ベンジャミン チェン
(72)【発明者】
【氏名】アレクサンダー ジェイ. ブラノーバー
(72)【発明者】
【氏名】インドラニ ポール
(72)【発明者】
【氏名】クリストファー ティー. ウィーバー
(72)【発明者】
【氏名】トーマス ジェイ. ギブニー
(72)【発明者】
【氏名】ステファン ヴィー. コソノキー
(72)【発明者】
【氏名】ジョン ピー. ペトリー
(72)【発明者】
【氏名】ミヒル シャイルシュバイ ドクター
【テーマコード(参考)】
5B011
【Fターム(参考)】
5B011DA01
5B011DC01
5B011DC06
5B011EA02
5B011EB01
5B011EB03
5B011EB09
(57)【要約】
キャッシュプリフェッチング用のデバイス及び方法を提供する。プログラムを実行するためのデータを記憶するために使用される第1の割り当てレジスタを有するサービス品質(QOS)構成要素と、プログラムを実行するためのデータを記憶するために使用される第2の割り当てレジスタを有する複数の非QOS構成要素と、QOS構成要素及び非QOS構成要素と通信する電力管理コントローラと、を備えるデバイスが提供される。電力管理コントローラは、非QOS構成要素のうち1つ以上がアイドルであると判定された場合に、非QOS構成要素に対してフェンスを発行し、非QOS構成要素に対するフェンスが完了した場合に、QOS構成要素に対してフェンスを発行し、非QOS構成要素に対するフェンス及びQOS構成要素に対するフェンスが完了した場合に、低減電力状態に移行するように構成されている。
【選択図】
図6
【特許請求の範囲】
【請求項1】
処理デバイスであって、
プログラムを実行するためのデータを記憶するために使用される第1の割り当てられたレジスタを有するサービス品質(QOS)構成要素と、
前記プログラムを実行するためのデータを記憶するために使用される第2の割り当てられたレジスタを有する複数の非QOS構成要素と、
前記QOS構成要素及び前記複数の非QOS構成要素と通信する電力管理コントローラと、を備え、
前記電力管理コントローラは、
前記複数の非QOS構成要素のうち1つ以上がアイドルであると判定された場合に、前記複数の非QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンスが完了した場合に、前記QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンス及び前記QOS構成要素に対するフェンスが完了した場合に、低減電力状態に移行することと、
を行うように構成されている、
処理デバイス。
【請求項2】
データファブリックを備え、
前記データファブリックは、
前記複数の非QOS構成要素のうち何れかとして、他の非QOS構成要素のデータをサービスするように構成された非QOSサービスロジックと、
追加のQOS構成要素として、前記QOS構成要素のデータをサービスするように構成されたQOSサービスロジックと、を備え、
前記電力管理コントローラは、
前記複数の非QOS構成要素への電力を除去するために、前記非QOSサービスロジックを含む前記複数の非QOS構成要素にフェンス要求を送信することと、
前記複数の非QOS構成要素へのフェンス要求の肯定応答が受信された場合に、前記複数の非QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンスが完了した場合に、前記QOS構成要素及び前記追加のQOS構成要素にフェンス要求を送信することと、
を行うように構成されている、
請求項1の処理デバイス。
【請求項3】
前記電力管理コントローラは、
前記QOS構成要素から前記肯定応答を受信する前に、前記QOS構成要素、前記追加のQOS構成要素及び前記複数の非QOS構成要素のうち1つ以上がアイドルでなくなったかどうかを判定することと、
前記QOS構成要素及び前記追加のQOS構成要素から前記肯定応答を受信する前に、前記QOS構成要素、前記追加のQOS構成要素又は複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定された場合に、前記低減電力状態への移行を中断することと、
前記QOS構成要素及び前記追加のQOS構成要素から前記肯定応答を受信した後に、前記QOS構成要素、前記追加のQOS構成要素又は複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定された場合に、前記低減電力状態に移行することと、
を行うように構成されている、
請求項2の処理デバイス。
【請求項4】
前記電力管理コントローラは、電源オフされていない別の構成要素からウェイクイベントの指標を受信することによって、前記QOS構成要素及び前記複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定するように構成されている、
請求項1の処理デバイス。
【請求項5】
前記電力管理コントローラは、前記複数の非QOS構成要素のうち1つ以上がアクティブであると示された場合に、前記構成要素に対する電力を回復させるプロセスを実行するように構成されている、
請求項1の処理デバイス。
【請求項6】
複数のQOS構成要素を備え、
前記電力管理コントローラは、前記複数の非QOS構成要素がアイドルであると判定された場合に、前記複数のQOS構成要素に対してフェンスを発行するように構成されている、
請求項1の処理デバイス。
【請求項7】
ディスプレイを備え、
前記QOS構成要素は、前記第2の割り当てられたレジスタ内のデータを前記ディスプレイに提供するように構成されたディスプレイコントローラである、
請求項1の処理デバイス。
【請求項8】
前記低減電力状態は、前記複数の非QOS構成要素及び前記QOS構成要素から電力が除去された状態である、
請求項1の処理デバイス。
【請求項9】
前記低減電力状態は、前記複数の非QOS構成要素及び前記QOS構成要素から電力が除去された第2の低減電力状態であり、
前記電力管理コントローラは、前記複数の非QOS構成要素から電力が除去され、ディスプレイスタッタモードをサポートする第1の低減電力状態と、前記第2の低減電力状態と、の間で往復遷移するように構成されている、
請求項1の処理デバイス。
【請求項10】
電力状態遷移の方法であって、
複数の非QOS構成要素のうち1つ以上がアイドルであると判定された場合に、前記複数の非QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンスが完了した場合に、QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンス及び前記QOS構成要素に対するフェンスが完了した場合に、処理デバイスの低減電力状態に移行することと、を含む、
方法。
【請求項11】
前記複数の非QOS構成要素への電力を除去するために、データファブリックの非QOSサービスロジックを含む前記複数の非QOS構成要素にフェンス要求を送信することと、
前記複数の非QOS構成要素へのフェンス要求の肯定応答が受信された場合に、前記複数の非QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンスが完了した場合に、前記QOS構成要素及び追加のQOS構成要素としてのQOSサービスロジックにフェンス要求を送信することと、を含む、
請求項10の方法。
【請求項12】
前記QOS構成要素から前記肯定応答を受信する前に、前記QOS構成要素、前記追加のQOS構成要素及び前記複数の非QOS構成要素のうち1つ以上がアイドルでなくなったかどうかを判定することと、
前記QOS構成要素及び前記追加のQOS構成要素から前記肯定応答を受信する前に、前記QOS構成要素、前記追加のQOS構成要素又は複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定された場合に、前記低減電力状態への移行を中断することと、
前記QOS構成要素及び前記追加のQOS構成要素から前記肯定応答を受信した後に、前記QOS構成要素、前記追加のQOS構成要素又は複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定された場合に、前記低減電力状態に移行することと、を含む、
請求項11の方法。
【請求項13】
電源オフされていない別の構成要素からウェイクイベントの指標を受信することによって、前記QOS構成要素及び前記複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定することを含む、
請求項12の方法。
【請求項14】
前記複数の非QOS構成要素のうち1つ以上がアクティブであると示された場合に、前記構成要素に対する電力を回復させるプロセスを実行することを含む、
請求項10の方法。
【請求項15】
前記複数の非QOS構成要素がアイドルであると判定された場合に、複数のQOS構成要素に対してフェンスを発行することを含む、
請求項10の方法。
【請求項16】
前記低減電力状態は、前記複数の非QOS構成要素及び前記QOS構成要素から電力が除去された状態である、
請求項10の方法。
【請求項17】
前記低減電力状態は、前記複数の非QOS構成要素及び前記QOS構成要素から電力が除去された第2の低減電力状態であり、
前記処理デバイスは、前記非QOS構成要素から電力が除去され、ディスプレイスタッタモードをサポートする第1の低減電力状態と、前記第2の低減電力状態と、の間で往復遷移する、
請求項10の方法。
【請求項18】
電力状態遷移の方法をコンピュータに実行させるための命令を含むコンピュータ可読記憶媒体であって、
前記命令は、
複数の非QOS構成要素のうち1つ以上がアイドルであると判定された場合に、前記複数の非QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンスが完了した場合に、QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンス及び前記QOS構成要素に対するフェンスが完了した場合に、低減電力状態に移行することと、を含む、
コンピュータ可読記憶媒体。
【請求項19】
前記命令は、
前記複数の非QOS構成要素への電力を除去するために、データファブリックの非QOSサービスロジックを含む前記複数の非QOS構成要素にフェンス要求を送信することと、
前記複数の非QOS構成要素へのフェンス要求の肯定応答が受信された場合に、前記複数の非QOS構成要素に対してフェンスを発行することと、
前記複数の非QOS構成要素に対するフェンスが完了した場合に、前記QOS構成要素及び追加のQOS構成要素としてのQOSサービスロジックにフェンス要求を送信することと、を含む、
請求項18のコンピュータ可読記憶媒体。
【請求項20】
前記命令は、
前記QOS構成要素から前記肯定応答を受信する前に、前記QOS構成要素、前記追加のQOS構成要素及び前記複数の非QOS構成要素のうち1つ以上がアイドルでなくなったどうかを判定することと、
前記QOS構成要素及び前記追加のQOS構成要素から前記肯定応答を受信する前に、前記QOS構成要素、前記追加のQOS構成要素又は複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定された場合に、前記低減電力状態への移行を中断することと、
前記QOS構成要素及び前記追加のQOS構成要素から前記肯定応答を受信した後に、前記QOS構成要素、前記追加のQOS構成要素又は複数の非QOS構成要素のうち1つ以上がアイドルでなくなったと判定された場合に、前記低減電力状態に移行することと、を含む、
請求項19のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2021年9月23日に出願された米国特許出願第17/483,702号の利益を主張し、参照により本明細書に十分に記載されているように組み込まれる。
【背景技術】
【0002】
コンピューティングシステムは、単一チップ又はマルチチップモジュール上に多数の異なるタイプの構成要素を集積するようになってきている。システムの複雑さ及び電力消費は、異なるタイプの構成要素の数と共に増加する。電力管理は、集積回路、特に、モバイルデバイス等のように、通常、バッテリ電力に依存するデバイス内に集積される回路の設計及び動作の重要な態様である。これらのデバイスの集積回路における電力消費を低減することは、バッテリの寿命を増加させ、及び、集積回路によって生じた熱を減少させることができる。
【0003】
添付の図面と共に例として与えられる以下の説明から、より詳細な理解を得ることができる。
【図面の簡単な説明】
【0004】
【
図1】本開示の1つ以上の特徴を実装することができる例示的なデバイスのブロック図である。
【
図2】本開示の1つ以上の特徴を実装するための電力管理コントローラを含む例示的な構成要素を示すブロック図である。
【
図3】
図2に示される電力管理コントローラを更に詳細に示すブロック図である。
【
図4】本開示の1つ以上の特徴を実装するための中間システム管理ユニットの構成要素を示すブロック図である。
【
図5】本開示の1つ以上の特徴を実装することができる例示的なデバイスの異なる電力ドメインを示すブロック図である。
【
図6】本開示の特徴による、電力状態遷移の例示的な方法を示すフロー図である。
【
図7】本開示の特徴による、アクティブ電力状態と低減電力状態との間の2段階遷移プロセスを示すタイミング図である。
【
図8】本開示の特徴による、低減電力状態への移行の中断の例を示すタイミング図である。
【発明を実施するための形態】
【0005】
いくつかの従来のデバイスは、低減電力状態(すなわち、電力ゲーティングされた状態)に移行することによって、消費電力を低減し、この状態は、デバイス又はデバイスの1つ以上の構成要素が、別の動作モードよりも消費電力の少ないモードで動作している状態である。例えば、いくつかの実装では、現在の電力状態を保持するために通常使用される電力が、1つ以上の構成要素から除去され、低減電力状態に移行し、消費電力が少なくなる。低減電力状態は、例えば、構成要素に対する電力をオフにすること若しくは除去することによって、又は、代替的に、構成要素に供給される電源電圧を低減すること及び/若しくはクロック周波数を低減することによって移行される。
【0006】
低減電力状態に移行する前に、構成レジスタ状態がメモリ(例えば、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM))に保存される。構成レジスタ状態は、デバイスの構成要素に割り当てられた複数の構成レジスタに記憶された値を指し、構成要素を識別し、構成要素の様々な特徴を定義し、システムソフトウェアが構成要素とインターフェースし、及び/又は、構成要素の動作を制御することを許容する。構成要素に割り当てられたレジスタには、ルーティングテーブル、アドレスマップ、構成データ、フロー制御クレジットを含むバッファ割り当て情報(例えば、初期化中に第1の構成要素がそのバッファカウントを第2の構成要素に通信し、それによって、第2の構成要素が、バッファが解放されるのを一時停止して待つことなく、第1の構成要素に送信することができるパケット数の指標を有する場合)、パフォーマンスレジスタ及びデバッグ関連レジスタ等のような、任意の数及びタイプのレジスタが含まれる。
【0007】
オペレーティングシステム、デバイスドライバ及び診断ソフトウェアは、通常、構成要素の動作中に構成レジスタ状態にアクセスする。低減電力状態を終了すると、構成レジスタ状態が回復する。構成要素の構成レジスタ状態を保存及び回復させることにより、構成要素が、電力が除去される前と電力が回復した後とで同じように動作し、実行中に誤ったデータが記憶されることに起因する計算エラーの発生を防止することが確実になる。しかしながら、システムが低減電力状態に移行する毎に構成レジスタ状態をメモリに保存すると、低減電力状態で費やされる合計時間を低減する遅延が引き起こされる。また、構成レジスタ状態をメモリに書き込むことにより、電力使用のペナルティが発生する。
【0008】
(Z0~Z8電力状態等の)より浅い低減電力状態では、電力は、1つ以上の構成要素に供給される。Z8電力状態中、電力(例えば、電圧)がいくつかの構成要素に供給されるが、低減電圧である。より浅い低減電力状態への遷移及びより浅い低減電力状態からの遷移中に、各構成要素の構成レジスタ状態が保存及び回復される。
【0009】
しかしながら、より深い低減電力状態(例えば、Z9及びZ10電力状態)では、電力は、構成要素に供給されない。例えば、Z9低減電力状態中、電力は、ディスプレイ(例えば、ディスプレイコントローラ)に供給されるが、他の構成要素(例えば、CPU、GPU及びメモリコントローラ)には供給されない。Z10電力状態中、電力は、ディスプレイコントローラ又はデバイスのこれらの他の構成要素に供給されることはない。したがって、これらの構成要素は、機能することができず、互いの間でデータを通信することができない。
【0010】
デバイスの動作中、構成要素は、短い時間間隔でアイドルになる可能性がある。例えば、ユーザがディスプレイを見ているが、デバイスが短い期間(例えば、キーストローク間の期間)にわたっていかなるユーザ入力も受信していない場合、構成要素(例えば、CPU、GPU及びメモリコントローラ)は、これらの短い時間期間の間アイドルになる。これらの短いアイドル期間中、デバイスの電力消費は、Z9電力状態に遷移し、これらの構成要素に供給される電力を除去することによって低減される可能性がある。
【0011】
従来のシステムは、ソフトウェアを介して構成要素のアイドル状態(すなわち、アイドル又は非アイドル)を検出し、構成要素がアクティブになってから(すなわち、もはやアイドルでなくなってから)複数のミリ秒(millisecond、ms)が経過するまで、電力を回復させ、低減電力状態を終了させることができない。したがって、これらの従来のシステムは、これらの短いアイドル期間(例えば、キーストローク間の期間)の間、これらの低減電力状態間で効率的に遷移することができない。
【0012】
本開示の特徴は、1つ以上の構成要素のアイドル状態を(例えば、ウェイク信号を介して)識別し、構成要素とのハンドシェイクプロセス(例えば、フェンス要求及びフェンス肯定応答)を実施して、電力状態間を効率的に遷移する電力管理コントローラ(power management controller、PMC)の固有のハードウェアを介して、異なるレベルの低減電力状態間の効率的な遷移を提供する。
【0013】
Z9電力状態への遷移及びZ9電力状態からの遷移中、構成レジスタ状態の一部(すなわち、電力が除去される構成要素に対応するレジスタ)は、レジスタの一部(例えば、ディスプレイコントローラに対応するレジスタ)が保存及び回復されるが、これらの構成要素は、Z9電力状態中、アクティブではないため、保存及び回復されることはない。しかしながら、Z10電力状態では、Z9電力状態で電源オフされた構成要素に対応するレジスタも、ディスプレイコントローラに対応するレジスタも、これらの構成要素の何れもZ10電力状態中にアクティブでないので、保存されない。
【0014】
いくつかの構成要素(例えば、ディスプレイコントローラ)は、サービス品質(quality of service、QOS)制約(例えば、低減電力状態への移行及びその終了のためのより厳密なレイテンシ期間許容範囲)を有するが、他の構成要素(例えば、CPU、GPU、IO構成要素)は、これらのQOS制約を有していない。例えば、Z9電力状態は、ディスプレイコントローラがそのデータバッファからディスプレイにデータを連続的に出力するディスプレイスタッタモードもサポートする。ディスプレイバッファが一杯になると、デバイスは、低減電力状態に移行する。ディスプレイバッファは、データをディスプレイに提供するためにドレインし続ける。ディスプレイバッファがデータ閾値を下回ると、デバイスは低減電力状態を終了し、ディスプレイバッファを満たすためにメモリへのアクセスが回復する。次いで、デバイスは、もう一度低減電力状態に移行し、プロセスが繰り返される。したがって、電力が除去される前に、ディスプレイコントローラがそのタスクを完了するために、可能な限り長くメモリにアクセスし続けることができることをよりよく可能にする。したがって、Z9電力状態への移行及びZ9電力状態の終了のためのレイテンシ期間は、ディスプレイスタッタモードを効率的に実装するために、Z10電力状態のためのレイテンシ期間よりも厳しい許容範囲を有する。Z10電力状態は、ディスプレイが電源オフされた場合、又は、パネルセルフリフレッシュ(panel self-refresh、PSR)中に有効にされるので、より長い終了レイテンシが、より低い電力と引き換えに許容される。
【0015】
しかしながら、いくつかの非QOS構成要素がフェンスされ、低減電力移行が可能になるまでにかかる時間は、非効率な実行又は機能エラーを引き起こす可能性がある。例えば、バッファ(例えばディスプレイバッファ)が満たされてから、構成要素が低減電力状態に移行するまでの時間により、非効率性が発生する。ディスプレイコントローラ等のQOS構成要素が、フェンスされて低減電力移行に利用可能になるのに長い時間を要する(すなわち、QOS構成要素が低減電力状態に移行するためのレイテンシ許容範囲を満たさない)非QOS構成要素と並行してフェンスする場合、QOS構成要素は、低減電力状態への遷移中に要求を生成することを妨げられる。すなわち、非効率性は、ディスプレイコントローラがディスプレイバッファを満たしてフェンスオフされる一方で、低速非QOS構成要素が、その構成レジスタ状態が保存されるために、又は、構成要素が低減電力状態に遷移することを構成要素が許容することを妨げる別の条件のために、そのフェンスを完了することができない場合に生じる可能性がある。一方、ディスプレイに提供され続けているディスプレイバッファ内のデータが空になり、ディスプレイバッファは、低減電力状態への遷移中にディスプレイに提供される追加データのためのメモリにアクセスすることができない。加えて、機能エラーは、例えば、構成要素がフェンスされることを許容しない条件を有しており、ディスプレイバッファがアンダーランした場合に生じる。
【0016】
本開示の特徴は、PMCを利用して、Z9及びZ10の低減電力状態への及び低減電力状態からの遷移のための2段階IP構成要素/PMCインターフェースプロトコルを実装することによって、低減電力状態への及び低減電力状態からの効率的な遷移を提供する。第1の段階では、電力を除去するためのフェンス要求が先ず非QOS構成要素(例えば、CPU、GPU及びIO構成要素)に送信され、次いで、第2の段階でフェンス要求がQOS構成要素(例えば、ディスプレイコントローラ)に送信される。したがって、非QOS構成要素は、QOS構成要素によって生成されるデータトラフィックに干渉することなく、先ずフェンスを完了し、その構成レジスタの状態をPMC内のメモリ(例えば、バッファ)に保存する。次いで、QOS構成要素は、それらのフェンスを完了し、デバイスが低減電力状態に移行する前に、それらの構成レジスタ状態をPMC内のメモリに保存する。すなわち、いくつかの非QOS構成要素は、それらのフェンスの完了とそれらの構成要素レジスタ状態の保存に時間がかかりすぎることによって、非効率性及びエラーをもたらす可能性があるため、非QOS構成要素を2段階に分けてフェンスオフした後に、QOS構成要素をフェンスオフする。
【0017】
プログラムを実行するためのデータを記憶するために使用される第1の割り当てレジスタを有するQOS構成要素と、プログラムを実行するためのデータを記憶するために使用される第2の割り当てレジスタを有する複数の非QOS構成要素と、QOS構成要素及び非QOS構成要素と通信する電力管理コントローラと、を備える処理デバイスが提供される。電力管理コントローラは、非QOS構成要素のうち1つ以上がアイドルであると判定された場合に非QOS構成要素のためのフェンスを発行し、非QOS構成要素のためのフェンスが完了した場合にQOS構成要素のためのフェンスを発行し、非QOS構成要素のためのフェンス及びQOS構成要素のためのフェンスが完了した場合に低減電力状態に移行するように構成されている。
【0018】
非QOS構成要素のうち1つ以上がアイドルであると判定された場合に非QOS構成要素のためのフェンスを発行することと、非QOS構成要素のためのフェンスが完了した場合にQOS構成要素のためのフェンスを発行することと、非QOS構成要素のためのフェンス及びQOS構成要素のためのフェンスが完了した場合に処理デバイスの低減電力状態に移行することと、を含む、電力状態遷移の方法が提供される。
【0019】
電力状態遷移の方法をコンピュータに実行させるための命令を含む非一時的なコンピュータ可読記憶媒体が提供される。命令は、非QOS構成要素のうち1つ以上がアイドルであると判定された場合に非QOS構成要素のためのフェンスを発行することと、非QOS構成要素のためのフェンスが完了した場合にQOS構成要素のためのフェンスを発行することと、非QOS構成要素のためのフェンス及びQOS構成要素のためのフェンスが完了した場合に低減電力状態に移行することと、を含む。
【0020】
図1は、本開示の1つ以上の特徴が実装され得る例示的なデバイス100のブロック図である。デバイス100は、例えば、コンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話又はタブレットコンピュータを含むことができる。デバイス100は、プロセッサ102、メモリ104、ストレージ106、1つ以上の入力デバイス108、及び、1つ以上の出力デバイス110を含む。また、デバイス100は、オプションで、入力ドライバ112及び出力ドライバ114を含むことができる。デバイス100は、
図1に示されていない追加の構成要素を含むことができることを理解されたい。
【0021】
様々な代替形態では、プロセッサ102は、中央処理ユニット(central processing unit、CPU)、グラフィックス処理ユニット(graphics processing unit、GPU)、同じダイ上に位置するCPU及びGPU、各プロセッサコアがCPU若しくはGPUである可能性がある1つ以上のプロセッサコア、又は、デバイス100若しくはデバイス100の構成要素が通常動作モードよりも少ない電力を消費するモードで動作している場合の低減電力状態等のようなデバイス100の異なる電力状態を管理するために使用される電力管理コントローラ(power management controller、PMC)を含む。様々な代替例では、メモリ104は、プロセッサ102と同じダイ上に位置しているか、又は、プロセッサ102とは別に位置する。メモリ104は、揮発性若しくは不揮発性メモリ(例えば、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックRAM(dynamic RAM、DRAM)、キャッシュ)を含む。
【0022】
ストレージ106は、固定若しくはリムーバブルストレージ(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含む。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/若しくは受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802シグナルの送信及び/若しくは受信のための無線ローカルエリアネットワークカード)を含むが、これらに限定されない。
【0023】
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信することを可能にする。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信することを可能にする。入力ドライバ112及び出力ドライバ114は、オプションの構成要素であること、並びに、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合に、同じ方式で動作することに留意されたい。
【0024】
図2は、本開示の1つ以上の特徴を実装するためのPMC260を含むデバイス200の例示的な構成要素を示すブロック図である。例示的なデバイス200の構成要素は、デバイスの知的財産(intellectual property、IP)構成要素(本明細書では「IP構成要素」と称される)間でデータを通信するための任意のタイプの通信ファブリック、バス、及び/又は、他の制御及びインターフェースロジックを表すデータファブリック205を含む。IP構成要素は、例えば、プログラム又はアプリケーションの様々な部分を実行するために使用されるコア、ハードウェアブロック、メモリセル及びロジックを含む。データファブリック205は、CPU210、GPU220、マルチメディア処理ユニット230、(
図3に示されるディスプレイコントローラ240を介した)ディスプレイ240、I/Oハブ250、及び、メモリコントローラ270等の様々なIP間でデータを通信するために使用される、データ経路、スイッチ、ルータ及び他のロジックを含む。データファブリック205は、共有バス構成、クロスバー構成及びブリッジを有する階層型バスを含むバスベースとすることができる。また、データファブリック205は、パケットベースとすることができ、ブリッジ、クロスバー、ポイントツーポイント又は他の相互接続を有する階層とすることができる。
図2の矢印は、デバイスのIP構成要素間のデータフローを示す。DF205は、QOS機能性と非QOS機能性の両方を担うIP構成要素である。DF205の非QOS機能性は、非QOS構成要素によって使用されるデータパスを介して非QOSトラフィックを生成すること又はサービス提供することを含み、DF205のQOS機能性は、QOS構成要素によって使用されるデータパスを介してQOSトラフィックを生成すること又はサービス提供することを含む。
【0025】
また、
図2に示されるデバイス200の構成要素は、例えば、ユニバーサルシリアルバス(universal serial bus、USB)ポート、周辺構成要素相互接続エクスプレス(peripheral component interconnect express、PCIe)バス、NVMeコントローラ、汎用入力/出力(general-purpose input/output、GPIO)コントローラ及びセンサフュージョンI/O構成要素等の様々なI/O構成要素280を含む。
【0026】
図3に関して以下でより詳細に説明されるように、PMC260は、ハードウェア及びファームウェアの組合せを含み、IP構成要素制御インターフェース及びレジスタバスインターフェース(IP構成要素間でデータを通信するために使用されるデータファブリックインターフェースとは異なる)を介してIP構成要素(例えば、CPU210、GPU220、マルチメディア処理ユニット230、ディスプレイ240、I/Oハブ250及びメモリコントローラ270)とインターフェースして、デバイスの異なる電力状態間の遷移(例えば、移行及び終了)を管理する。
【0027】
図3は、複数のIP構成要素308と通信するPMC260の構成要素を示すブロック図である。
図3に示されるように、PMC260は、PMCハードウェア(hardware、HW)ロジック302、IP保存/回復中間システム管理ユニット(middle system management unit、MSMU)304、及び、メインMSMU306を含む。PMC HWロジック302は、IP/PMCインターフェースプロトコルに従って、(
図5に示されるP1及びP2電力ドメイン内の)IP構成要素308とインターフェースするハードウェアブロック(すなわち、ロジック回路)である。例えば、PMC HWロジック302は、IP構成要素308のうち1つ以上がアイドルであるか又はアイドルでない(例えば、ウェイクイベント)かのアイドル状態指標を受信し、ハンドシェイクを実行する(例えば、1つ以上のIP構成要素308にフェンス要求を送信し、1つ以上のIP構成要素308からフェンス肯定応答を受信する)。
【0028】
図4は、
図3に示されるMSMU304及び306の構成要素を示すブロック図である。
図4に示されるように、MSMU304及び306は、命令メモリ402、データメモリ404、レジスタ及びタイマ406、命令プロセッサ408、及び、MSMUバス410を含む。IP保存/回復MSMU304は、並列に動作して、対応するIP構成要素308のレジスタデータをそれらのデータメモリ404に保存し、レジスタデータをそれらのデータメモリ404から対応するIP構成要素308に回復させる。
【0029】
各MSMUプロセッサ408は、その命令メモリ402内のファームウェア命令を実行して、その対応するIP構成要素308のためのレジスタデータを保存及び回復させる。命令メモリ402は、レジスタ保存回復トラフィックを効率的に実装する(例えば、1つ以上のIP構成要素308がアクティブになる(すなわち、アイドルではない)時間と、デバイス200の1つ以上のIP構成要素308をアクティブ状態に回復させる時間との間のターゲットレイテンシ期間を満たす)ために使用されるファームウェア命令の限定されたセット(例えば、16個の命令)を含む。データメモリ404は、プログラムの一部を実行するために対応するIP構成要素308によって使用されるデータを記憶するために使用されるダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)及びスタティックランダムアクセスメモリ(static random access memory、SRAM)を含む。データは、デバイス200の電力状態を終了する場合にIP構成要素308に割り当てられた構成レジスタからデータメモリ404に保存され、デバイス200の電力状態に移行する場合に構成レジスタに回復される(例えば、リロードされる)。
【0030】
メインMSMU306は、PMCバス310を介してIP保存/回復MSMU304及びPMC HWロジック302と通信し、IP保存/回復MSMU304を管理し、IP保存/回復MSMU304とそれらの対応するIP構成要素308との間のレジスタ保存回復トラフィックの実装を編成するために使用されるファームウェア命令を含む。
【0031】
図5は、例示的なデバイス200の異なる電力ドメインを示すブロック図である。
図5に示されるように、第1の電力ドメイン(P1)内のIP構成要素は、CPU210と、GPU220と、例えばマルチメディア処理ユニット230、I/Oハブ250及びメモリコントローラ270等の他のIP構成要素502と、を含む。第2の電力ドメイン(P2)は、ディスプレイコントローラ240を含む。第3の電力ドメイン(P3)は、PMC260を含む。第4の電力ドメインは、I/O構成要素280等のデバイス200の他の構成要素を含む。
【0032】
デバイス200の電力状態は、例えば、Z0(状態S0とも称される)からZ10までの11個の状態を含む。しかしながら、本開示の特徴は、任意の数の電力状態に対して実装することができる。S0/Z0電力状態中、電力が、ドメインの各々に提供される(例えば、各電力レールがオンである)。Z1~Z7状態中、IP構成要素の各々ではなく、1つ以上がアイドルである。Z8及びZ9電力状態中、CPU210、GPU220及びIP構成要素502は、アイドルである。Z8電力状態中に、P1電力ドメインに供給された電力(例えば、電圧)は、制限された機能性(例えば、ディスプレイスタッタ)のために低減される。Z9状態中、P1電力ドメインには電力が供給されない(すなわち、電力がオフである)。DZ10状態中、電力は、P1及びP2電力ドメインに供給されない。
【0033】
図6は、本開示の特徴による、2段階アプローチを使用した低減電力状態への遷移及び低減電力状態からの遷移の例示的な方法600を示すフロー図である。方法600は、低減電力状態への移行が成功したことを示す。
図8に関して以下でより詳細に説明されるように、低減電力状態への移行も中断することができる。
【0034】
また、方法600は、
図7を参照して説明される。
図7は、本開示の特徴による、アクティブ電力状態と低減電力状態との間の2段階遷移プロセスを示すタイミング図である。
図7に示される例は、アクティブ電力状態(例えば、S0電力状態又はZ0電力状態)からZ9低減電力状態への又はZ10低減電力状態への遷移と、Z9又はZ10低減電力状態からアクティブ電力状態(すなわち、S0電力状態又はZ0電力状態)に戻る遷移と、を含む。
【0035】
PMC260は、電力状態間の遷移を実装するための複数の異なる指標(指示)を受信する。例えば、PMC260は、非QOS構成要素の各々から個別の指標を受信する。各対応する非QOS構成要素308のアイドル状態(アイドル又は非アイドル)に関して(例えば、
図3のIP構成要素308)。非QOS構成要素308は、データファブリック(data fabric、DF)205を含み、これは、以下でより詳細に説明されるように、ステージ1構成要素及びステージ2構成要素の両方である。しかしながら、簡略化の目的で、単一のアイドル状態指標信号(すなわち、DF_PMC_idle)が、ステージ1のための非QOS IP構成要素308の組み合わされたアイドル状態を表すために、
図7に示されている。すなわち、DF_PMC_idle指標がハイである場合、非QOS構成要素308の各々は、アイドルである。DF_PMC_idle指標がローである場合、非QOS構成要素308のうち1つ以上は、アイドルではない(すなわち、アクティブである)。
【0036】
また、PMC260は、IP構成要素308間のハンドシェイキングプロセスを実施する。例えば、PMC260は、非QOS構成要素308の各々にフェンス要求を送信し、非QOS構成要素308の各々からフェンス肯定応答を受信する。しかしながら、簡略化の目的で、単一のステージ1フェンス要求(例えば、PMC_DF_fence_req)が、データファブリック(DF)205を含むステージ1のための非QOS構成要素308の各々に送信されるフェンス要求を表すために
図7に示されている。加えて、単一のフェンス肯定応答(例えば、DF_PMC_fence_ack)が、ステージ1のための非QOS構成要素308の各々に送信されるフェンス肯定応答を表すために
図7に示されている。
【0037】
また、PMC260は、ウェイク信号を受信するように構成されている。例えば、フェンス要求が各IP構成要素に送信される一方で、いくつかのIP構成要素(例えば、デジタルコントローラハブ)は、低減電力状態中には電源がオフにならない。電源オフされていないこれらのIP構成要素のうち1つ以上は、低減電力状態中にウェイク信号をPMC260に送信する。例えば、デジタルコントローラハブが新しいトラフィック(例えば、データ)を受信した場合に、デジタルコントローラハブは、ウェイク信号(すなわち、IP_PMC_wake)を送信して、1つ以上のIP構成要素がもはやアイドルではなく、デバイスが低減電力状態を終了させるべきであることを示す。
【0038】
図6のブロック602に示されるように、方法600は、デバイスのデータファブリック(DF)205を含む、非QOS構成要素の各々がアイドルであるという指標(指示)を受信することを含む。例えば、PMC260のハードウェアロジック302は、
図3に示す非QOS IP構成要素308の各々がアイドルであるという指標を受信し、これにより低減電力状態への移行プロセスが開始される。
【0039】
時間t1において、IP_ZSC_idleがハイになる。すなわち、PMC260は、非QOS構成要素308(例えば、CPU、GPU、IO構成要素及びデータファブリック(DF)205)の各々がアイドルであるという指標を受信し、PMC260は、低減電力状態への移行プロセスを開始する。
【0040】
ブロック604に示されるように、方法600は、電力を除去する要求をデバイスの非QOS IP構成要素に送信することを含む。例えば、時間t2において、PMC260は、非QOS IP構成要素308の各々にフェンス要求(PMC_DF_fence_req)を送信して、IP構成要素308に対する電力を除去する許可を要求する。また、フェンス要求は、非QOS構成要素308の各々に、他の構成要素への通信の送信を停止すべきであるという指標を提供する。
【0041】
ブロック606に示されるように、方法600は、フェンス要求の肯定応答を受信することを含む。例えば、時間t3において、PMC260は、非QOS IP構成要素308の各々から肯定応答(DF_PMC_fence_ack)を受信し、PMC260が非QOS IP構成要素308から電力を除去することを許可する。上述したように、DF205は、ステージ1構成要素及びステージ2構成要素の両方である。DF205は、QOS機能性と非QOS機能性の両方を担う構成要素である。DF205の非QOS機能性は、ステージ1ハンドシェイクの完了時(すなわち、PMC260が非QOS IP構成要素308の各々から肯定応答(DF_PMC_fence_ack)を受信した場合)にフェンスオフされる。QOS構成要素が(上述したように)低減電力状態に移行するためのレイテンシ許容範囲を満たすために、DFは、PMC_DF_fence_reqを介して、非QOSトラフィックを生成し又はサービス提供することからフェンスされ、これは、非QOS構成要素によって使用されるデータパスをフェンスすること、非QOSクライアント(例えば、CPU210、GPU220)への割込み生成をフェンスすること、及び、そのレジスタ状態の一部のDRAMへの保存を含む。
【0042】
構成要素がフェンス要求を受信すると、構成要素のデータがDRAM(例えば、メモリ290)に保存される。構成要素は、フェンス要求に肯定応答し、次いで、構成要素の残りのデータ(すなわち、構成レジスタ状態)が、対応するMSMU304のSRAMに保存され、それにより、低減電力状態が終了すると、逆の順序を実施して、DRAMへのアクセスを再確立することができる。データをDRAMに保存することは、第1段階ハンドシェイクを満足させるための非QOS構成要素アクションと考えられる。
【0043】
次いで、PMC260は、ステージ2に遷移し、PMC_DF_stage2_startが時間t4において、中断される(ハイになる)(以下で説明されるようにディスプレイスタッタモードを実装する場合、ディスプレイスタッタ要求がディスプレイコントローラ240に送信される)。PMC260がステージ2に遷移した後、DF205は、非QOS構成要素(例えば、CPU、GPU及びIO構成要素)にサービス提供しないが、非QOS構成要素がフェンスオフされるまで、QOS構成要素にサービス提供する(例えば、ディスプレイコントローラ及びDF205のQOSサービスロジック)。すなわち、DF205のQOS機能性は、ステージ2ハンドシェイクの完了まで(すなわち、PMC 260が肯定応答(DF_PMC_stage2_ack)を受信する場合まで)動作可能なままである。
【0044】
ブロック608に示されるように、PMC260は、ディスプレイコントローラ240及びDF205のQOSサービスロジック等のQOS構成要素がアイドルであるという指標(指示)を受信する。例えば、時間t5において、PMC260は、ディスプレイコントローラ204がアイドルであるという指標を受信する。すなわち、ディスプレイコントローラ204は、そのバッファを満たし、アイドルであることを示す。
【0045】
ブロック610において、PMC260は、電力を除去する要求をQOS構成要素(例えば、ディスプレイコントローラ204及びDF205のQOSサービスロジック)に送信する。例えば、時間t6において、PMC260は、ディスプレイコントローラ204及びDF205のQOSサービスロジックにフェンス要求(PMC_DF_stage2_req)を送信し、ディスプレイコントローラ204及びDF205のQOSサービスロジックへの電力を除去する許可を要求する。
【0046】
ブロック612において、PMC260は、フェンス要求(PMC_DF_stage2_req)の肯定応答を受信する。例えば、時間t7において、PMC260は、ディスプレイコントローラ204及びDF205のQOSサービスロジックから肯定応答(DF_PMC_stage2_ack)を受信し、PMC260がディスプレイコントローラ204及びDF205のQOSサービスロジックから電力を除去することを許可する。ステージ2ハンドシェイクが完了すると(すなわち、PMC260が肯定応答(DF_PMC_stage2_ack)を受信すると)、DF205は、QOS構成要素へのサービス提供を停止する。この例では、フェンス要求は、2つのQOS構成要素、ディスプレイコントローラ及びDF205のQOSサービスロジックに送信される。しかしながら、本開示の特徴は、任意の数の異なるQOS構成要素の要求をDF205のQOSサービスロジックに送信し、DF205のQOSサービスロジック及び任意の数の異なるQOS構成要素から肯定応答を受信することによって実装することができる。
【0047】
ブロック614に示されるように、方法600は、電力を除去し、低減電力状態に移行することを含む。例えば、PMC260は、電力リセット信号(すなわち、リセット)を使用して、構成要素の各々への電力をリセットする。
図7の例に示されるように、リセットは、時間t8においてローからハイになり、次いで、非QOS構成要素308及びQOS構成要素(例えば、ディスプレイコントローラ204及びDF205のQOSサービスロジック)を含む構成要素の各々から電力が除去される(
図7ではオフ)。
【0048】
決定ブロック616に示されるように、方法600は、ウェイク信号IP_PMC_wakeを受信することを含む。例えば、構成要素のうち何れか(例えば、デジタルコントローラハブ)が新しいトラフィック(例えば、データ)を検出した場合、デジタルコントローラハブは、時間t9において、ウェイク信号(すなわち、IP_PMC_wake)をPMC260に送信して、IP構成要素308のうち1つ以上がもはやアイドルではなく、デバイスが低減電力状態を終了させるべきであることを示す。
【0049】
決定ブロック618に示されるように、電力が回復され、デバイスは、低減電力状態を終了させる。例えば、
図7に示されるように、時間t10において、電力が回復される。リセットは、時間t11において、ハイからローになる。すなわち、PMC260は、リセットをデアサートし、MSMU304に対して、レジスタデータをそれらのデータメモリ404から対応するIP構成要素308に対して回復させるように指示する。時間t12において、MSMU304は、回復を完了し、完了をPMC260に示し、PMC260は、両方のステージ要求をデアサートする。
【0050】
時間t12とt13との間では、DF_ZSC_ack及びDF_ZSC_stage2_ackがデアサートされる。スタッタパスDRAMが回復され、デバイスはディスプレイスタッタモードを終了させる。時間t13において、IP_PMC_wakeがデアサートされる。
【0051】
上述したように、方法600は、低減電力状態への移行が成功したことを示しているが、低減電力状態へのその移行を中断することもできる。例えば、
図7に示される例では、PMCは、ウェイク信号(IP_PMC_wake)を介して、時間t7においてQOS構成要素の各々から肯定応答を受信した後に、構成要素のうち1つ以上がもはやアイドルではないという指標を受信する。しかしながら、時間t7においてQOS構成要素の各々から肯定応答を受信する前に、QOS構成要素又は非QOS構成要素のうち1つ以上が(例えば、ウェイク信号を介して)もはやアイドルではないと判定された場合、低減電力状態への移行が中断される。すなわち、PMC260は、IP構成要素308のレジスタデータを保存せず、低減電力状態に移行しない。
【0052】
図8は、本開示の特徴による、低減電力状態への移行の中断の例を示すタイミング図である。
図8に示されるように、PMCは、ウェイク信号(IP_PMC_wake)を介して、時間t7においてQOS構成要素の各々から肯定応答を受信する前に、時間t3において構成要素のうち1つ以上がもはやアイドルではないという指標を受信する。したがって、
図8に示されるように、低減電力状態への移行が中断され、電力はオンのままであり、リセットはローのままであり、デバイスは低減電力状態に移行しない。
【0053】
上述したように、Z9電力状態は、ディスプレイコントローラがそのデータバッファからディスプレイにデータを連続的に出力するディスプレイスタッタモードをサポートする。ディスプレイバッファが一杯になると、デバイスは、低減電力状態に移行する。ディスプレイバッファは、データをディスプレイに提供するためにドレインし続ける。ディスプレイバッファがデータ閾値を下回ると、デバイスは低減電力状態を終了し、ディスプレイバッファを満たすためにメモリへのアクセスが回復する。次いで、デバイスは、もう一度低減電力状態に移行し、プロセスが繰り返される。すなわち、スタッタは、非QOSクライアントがフェンスオフされたまま、QOSクライアントのためのステージ2ハンドシェイクの繰り返しであり、これは非効率的な電力消費を回避する。例えば、非QOSクライアントは、スタッタ中に低減電力モードにとどまることができ、非QOSクライアントの非効率的な回復が回避され、ステージ1アイドル検出と終了及び再移行のためのハンドシェイクプロセスとを繰り返すために発生する時間が回避される。
図7に示されるように、フェンス要求(PMC_DF_fence_req)及びステージ2の開始(PMC_DF_stage2_start)は、時間t12においてデアサートされる(すなわち、ローになる)。しかしながら、ディスプレイスタッタモードが実装された場合、PMC_DF_fence_req及びPMC_DF_stage2_startは、QOSクライアントがスタッタを完了した場合に、
図7のt5より前のステップをスキップして、t5から始まる低減電力状態への移行が繰り返されるように、スタッタを示すために時間t12においてアサートされたままである。
【0054】
図において示され及び/又は本明細書に説明される様々な機能ユニット(プロセッサ102、入力ドライバ112、入力デバイス108、出力デバイス110、出力ドライバ114、データファブリック205、CPU210、GPU220、メモリコントローラ270及びPMC260を含むが、これらに限定されない)は、汎用コンピュータ、プロセッサ若しくはプロセッサコアとして、又は、汎用コンピュータ、プロセッサ若しくはプロセッサコアによって実行可能な非一時的なコンピュータ可読記憶媒体若しくは別の記憶媒体に記憶されているプログラム、ソフトウェア若しくはファームウェアとして実装され得る。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実施することができる。好適なプロセッサとしては、例として、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令)の結果を使用して製造プロセスを構成することによって製造することができる。そのような処理の結果は、マスクワークとすることができ、このマスクワークをその後の半導体製造プロセスにおいて使用して、本開示の特徴を実装するプロセッサを製造する。
【0055】
本明細書に提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実施することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
【国際調査報告】