JP2019047146A - 電子機器および電力管理方法 - Google Patents
電子機器および電力管理方法 Download PDFInfo
- Publication number
- JP2019047146A JP2019047146A JP2017164431A JP2017164431A JP2019047146A JP 2019047146 A JP2019047146 A JP 2019047146A JP 2017164431 A JP2017164431 A JP 2017164431A JP 2017164431 A JP2017164431 A JP 2017164431A JP 2019047146 A JP2019047146 A JP 2019047146A
- Authority
- JP
- Japan
- Prior art keywords
- state
- lane
- host
- electronic device
- reception
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
- Power Sources (AREA)
- Dc Digital Transmission (AREA)
- Communication Control (AREA)
Abstract
【課題】ホストとのネゴシエーションを実行することなく遷移可能な新たな低電力状態を利用できる電子機器を実現する。【解決手段】実施形態によれば、複数のレーンから構成されるリンクを含むシリアルインタフェースを介してホストに接続可能な電子機器は、各々が対応するレーンの送信用の差動信号線ペアを介してデータを送信する複数の送信回路と、各々が対応するレーンの受信用の差動信号線ペアを介してデータを受信する複数の受信回路と、制御回路とを具備する。前記制御回路は、前記電子機器の状態を、通常動作状態から、前記複数の送信回路がアクティブ状態に維持され且つ前記複数のレーン内の一つのレーンに対応する受信回路を除いて全ての受信回路がインアクティブ状態となる第1の状態に遷移させる。【選択図】図6
Description
本発明の実施形態は、複数のレーンから構成されるリンクを含むシリアルインタフェースを介して通信する技術に関する。
近年、デバイス間を相互接続するシリアルインタフェースが広く普及している。このシリアルインタフェースは、デバイス間の高速データ転送を可能にする。高速データ転送を必要する多くのデバイスは、シリアルインタフェースをサポートしている。これらデバイスの例には、様々な電子機器が含まれる。これらデバイスの各々は、そのデバイスとホストとの間のシリアルインタフェースを介してホストと通信することができる。
また、これらデバイスの各々は、ホストとネゴシエーションすることによって、通常動作状態から低電力状態に遷移することができる。例えば、PCI Express仕様で定められたアクティブ・ステート・パワー・マネージメント(ASPM)においては、ASPMの機能がホストによって有効にされた場合にのみ、デバイスは、通常動作状態から低電力状態への遷移を開始することができる。
したがって、たとえリンクを介して何ら情報が転送されていない場合であっても、ASPMの機能がホストによって有効にされない限り、デバイスは低電力状態に入ることができない。このことは、デバイスの電力消費を増加させる要因となる。
本発明が解決しようとする課題は、ホストとのネゴシエーションを実行することなく遷移可能な新たな低電力状態を利用できる電子機器および電力管理方法を提供することである。
実施形態によれば、送信用の差動信号線ペアと受信用の差動信号線ペアとを各々が含む複数のレーンから構成されるリンクを含むシリアルインタフェースを介してホストに接続可能な電子機器は、前記複数のレーンに対応する複数の送信回路であって各々が対応するレーンの前記送信用の差動信号線ペアを介してデータを送信する複数の送信回路と、前記複数のレーンに対応する複数の受信回路であって各々が対応するレーンの前記受信用の差動信号線ペアを介してデータを受信する複数の受信回路と、制御回路とを具備する。前記制御回路は、前記電子機器の状態を、前記複数の送信回路および前記複数の受信回路がアクティブ状態である通常動作状態から、前記複数の送信回路がアクティブ状態に維持され且つ前記複数のレーン内の一つのレーンに対応する受信回路を除いて前記複数の受信回路がインアクティブ状態となる第1の低電力状態に遷移させる。
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、実施形態に係る電子機器の構成を説明する。
この電子機器は、シリアルインタフェースを介してホスト(ホストデバイス)1に接続可能なデバイス4として実現されている。このシリアルインタフェースは、デバイス間を相互接続するリンク(シリアルリンク)を含む。図1では、デバイス4が、複数のレーンを含むリンク(マルチレーンリンク)を介してホスト1に接続されている場合が例示されている。
このリンクは、複数のレーン、つまりレーン0、レーン1、…レーンNを含む。各レーンは、受信用の差動信号線ペア(Rx+,Rx−)と、送信用の差動信号線ペア(Tx+,Tx−)とを含む。各レーンは、ロジカルレーンと称されることもある。デバイス4は、レーン0、レーン1、…レーンNから構成されるリンクを介してデータ送信およびデータ受信を同時に実行することができる。
このようなレーンから構成されるリンクを含むシリアルインタフェースの規格の例には、PCI Express(登録商標)がある。PCI Express仕様に準拠するシリアルインタフェースにおいては、x1レーン、x2レーン、x4レーン、x8レーン、x12レーン、x16レーン、x32レーンがサポートされている。
以下では、デバイス4とホスト1との間を相互接続するシリアルインタフェースがPCI Express仕様に準拠するシリアルインタフェースである場合を例示して説明する。もちろん、本実施形態が適用されるシリアルインタフェースはPCI Express仕様に準拠するシリアルインタフェースに限定されず、本実施形態は、複数のレーンを含むリンクを備える様々なシリアルインタフェース規格に適用することができる。
ホスト1は、デバイス4を周辺デバイス(I/Oデバイス)として利用する装置である。ホスト1は、パーソナルコンピュータ、サーバといった情報処理装置であってもよいし、カメラのようなオーディオ・ビデオ製品であってもよい。
このホスト1は、CPU2と、シリアルインタフェースを介してデバイス4と通信するためのルート・コンプレックス3とを含む。
ルート・コンプレックス3は、トランザクション・レイヤ31、データ・リンク・レイヤ32、および物理レイヤ33を含む。物理レイヤ33は、物理サブブロック(PHY)33a、およびMAC(メディアアクセスコントロール)サブブロック33bとを含む。
デバイス4は、エンドポイントと称されるI/Oデバイスである。このデバイス4も、ルート・コンプレックス3と同様に、トランザクション・レイヤ41、データ・リンク・レイヤ42、および物理レイヤ43を含む。物理レイヤ43は、物理サブブロック(PHY)43a、およびMAC(メディアアクセスコントロール)サブブロック43bとを含む。これらトランザクション・レイヤ41、データ・リンク・レイヤ42、および物理レイヤ43は、一つのSystem−on−a−chip(SoC)のような回路によって実現されていてもよい。
トランザクション・レイヤ31、41は、データリード、データライトのようなトランザクションを処理するレイヤである。トランザクション・レイヤ31、41は、トランザクション・レイヤ・パケット(TLP)の構築および処理を実行する。TLPは、リード/ライト要求、リード/ライト要求に対するコンプリーション(リード要求に対するコンプリーションの場合はデータを含む)、等を送信するために使用される。
データ・リンク・レイヤ32、42の各々は、トランザクション・レイヤと物理レイヤとの間の中間レイヤであり、リンク管理と、TLPを安全に送受信するための処理と、データ・リンク・レイヤ・パケット(DLLP)の構築および処理とを実行する。DLLPには、フロー制御情報を送信するためのDLLP(例えば、Update FC DLLP)、肯定応答(アクノリッジ)を送信するためのAck DLLP、否定応答(再送要求)を送信するためのNak DLLP、などが含まれる。
物理レイヤ33、43は、リンクに含まれる複数のレーンを介してデータを物理的に送受信するインタフェース動作を実行する。物理レイヤ33、43の各々は、このインタフェース動作のための様々な回路を含む。上述のシリアルインタフェースが第3世代PCI express仕様(Gen3)に準拠するケースにおいては、これら回路は、通常、ドライバ、入力バッファ、パラレル・ツー・シリアル変換回路(シリアライザ)、シリアル・ツー・パラレル変換回路(デシリアライザ)、128b/130bエンコーダ、128b/130bデコーダ、スクランブラ、デスクランブラ、フレーミング回路、デフレーミング回路、等を含む。なお、本実施形態が適用可能なシリアルインタフェースは、第3世代PCI express仕様(Gen3)に限定されず、第1世代PCI express仕様(Gen1)であってもよいし、第2世代PCI express仕様(Gen2)であってもよい。Gen1/2においては、物理レイヤ33、43の各々は、例えば、128b/130bエンコーダおよび128b/130bデコーダの代わりに、8b/10bエンコーダおよび8b/10bデコーダを含む。
ドライバは、データを送信するために送信用の差動信号線ペアを駆動する。入力バッファは、受信用の差動信号線ペアから信号を受信する回路であり、例えば、イコライザ、等を含む。パラレル・ツー・シリアル変換回路(シリアライザ)は、送信データをパラレルデータからシリアルデータに変換する。シリアル・ツー・パラレル変換回路(デシリアライザ)は、受信されたシリアルデータをパラレルデータに変換する。128b/130bエンコーダは、シンボル間干渉を低減し且つクロックを送信データに埋め込むために、送信データに対して128b/130b符号化を施す。128b/130bデコーダは、受信された128b/130b符号化データを復号する。スクランブラは、128b/130b符号化の前に、同じビット値が連続する長さが一定長以下になるように送信データをスクランブルする。デスクランブラは、スクランブルされている受信データをデスクランブルして元のデータを得る。
フレーミング回路、およびデフレーミング回路は、フレーミング動作、およびデフレーミング動作を実行する。フレーミング動作は、TLP、DLLPのような送信データを構成する複数のバイトデータを複数のレーンにバイト単位で順番に割り当てる動作である。デフレーミング動作は、複数のレーンに対応する複数の受信データストリームを結合して、TLP、DLLPのような元データを再生成する動作である。
さらに、物理レイヤ33、43の各々は、オーダード・セットと称されるメッセージを送受信する機能を有している。
デバイス4は、さらに、コンフィグレーションレジスタ51を含む。コンフィグレーションレジスタ51は、ホスト1によってアクセス可能なレジスタであり、デバイス4内の様々な機能をホスト1によって設定するために使用される。通常、コンフィグレーションレジスタ51は、トランザクション・レイヤ41の上位層(ソフトウェア層)内に設けられている。
図2は、デバイス4に含まれている物理レイヤ43、データ・リンク・レイヤ42、およびトランザクション・レイヤ42それぞれの構成例を示す。
図2では、リンクがレーン0〜レーン3を含むx4レーンである場合が想定されている。また、図2では、各レーンに含まれる受信用の差動信号線ペアは各レーンからデバイス4に向かう一つの矢印によって表されており、各レーンに含まれる送信用の差動信号線ペアはデバイス4から各レーンに向かう一つの矢印によって表されている。
デバイス4の物理レイヤ43は、4つの受信回路(Rx回路)、つまり、レーン0に対応する受信回路(Rx回路(レーン0))、レーン1に対応する受信回路(Rx回路(レーン1))、レーン2に対応する受信回路(Rx回路(レーン2))、レーン3に対応する受信回路(Rx回路(レーン3))を含む。各受信回路(Rx回路)は、対応するレーンの受信用の差動信号線ペアを介してデータを受信する回路(レシーバ)である。
デバイス4の物理レイヤ43は、4つの送信回路(Tx回路)、つまり、レーン0に対応する送信回路(Tx回路(レーン0))、レーン1に対応する送信回路(Tx回路(レーン1))、レーン2に対応する送信回路(Tx回路(レーン2))、レーン3に対応する送信回路(Tx回路(レーン3))も含む。各送信回路(Tx回路)は、対応するレーンの送信用の差動信号線ペアを介してデータを送信する回路(トランスミッタ)である。
上述したように、物理レイヤ43がフレーミング動作およびデフレーミング動作を実行するので、データ・リンク・レイヤ42およびトランザクション・レイヤ41の各々は、複数のレーン(ここでは、レーン0、レーン1、レーン2、レーン3)に共通の一つの受信回路(Rx回路)と、複数のレーン(ここでは、レーン0、レーン1、レーン2、レーン3)に共通の一つの送信回路(Tx回路)とを含む。
図1で説明したルート・コンプレックス3およびデバイス(エンドポイント)4の各々は、複数のリンクステート(リンクパワーステートともいう)をサポートしている。
PCI Express仕様においては、L0、L0s、L1.xのようなリンクステートが規定されている。L0ステートは、データ送信およびデータ受信が実行される通常動作状態であり、L0sステート、L1.xステートは、低電力状態である。L1.xステートは、低電力状態であるL1ステートの幾つかのサブステート内の任意の一つを表している。L1.0ステートは、これらL1サブステートの一つである。
図3に示されているように、電力消費量は、L0ステート、L0sステート、L1.0ステートの順で、減少する。
L0sからL0への遷移に必要な時間(復帰レイテンシ)は、非常に短い。L1.0からL0への遷移に必要な時間(復帰レイテンシ)は、L0sからL0への遷移に必要な時間よりも長い。
PCI Express仕様で定められたアクティブ・ステート・パワー・マネージメント(ASPM)においては、ASPMの機能(ASPM L0s、またはASPM L1.0)がホスト1によって有効にされた場合にのみ、デバイス4は、L0ステート(通常動作状態)からL0sステートに、またはL0ステート(通常動作状態)からL1.0ステートに遷移することができる。つまり、ホスト1によってL0sステート(ASPM L0s)が有効にされた場合にのみ、デバイス4は、送信すべきTLPが一定期間無い等の条件が満たされた時にL0ステートからL0sステートに遷移することができる。同様に、ホスト1によってL1.0ステート(ASPM L1.0)が有効にされた場合にのみ、デバイス4は、送信すべきTLPが一定期間無い等の条件が満たされた時にL0ステートからL1.0ステートに遷移することができる。
一方、低電力状態(ASPM L0s、またはASPM L1.0)の有効/無効は、ホスト1のルート・コンプレックス3によって制御される。このため、デバイス(エンドポイント)4単独で低電力状態に遷移することはできない。
ここで、ASPM L0sが有効であるとは、デバイス(エンドポイント)4がL0ステートからL0sステートへ遷移することが許可されていることを意味する。同様に、ASPM L1.0が有効であるとは、デバイス(エンドポイント)4がL0ステートからL1.0ステートへ遷移することが許可されていることを意味する。
ASPM L0sがホスト1によって有効にされない限り、デバイス4は、L0ステートからL0sステートに遷移することができない。同様に、ASPM L1.0がホスト1によって有効にされない限り、デバイス4は、L0ステートからL1.0ステートに遷移することができない。
図4は、L1.0(ASPM L1.0)への遷移シーケンスの例を示す。
ルート・コンプレックス3は、ASPM L1.0を有効にすることを要求するTLP(Configuration Write Request: CfgWr)をデバイス4に送信する。デバイス4がこの要求(CfgWr)を受信した時、ASPM L1.0が有効であることを示す値がデバイス4内のコンフィグレーションレジスタ51に設定される。デバイス4は、この要求に対する肯定応答(Acknowledgement: Ack)およびコンプリーション(Completion: Cpl)をルート・コンプレックス3に送信し、またルート・コンプレックス3は、このコンプリーションに対する肯定応答(Acknowledgement: Ack)をデバイス4に送信する。
そして、送信すべきTLPが一定期間無い等の条件が満たされた時に、デバイス4は、デバイス4のリンクステートをL1.0ステートに入ることを決定してもよい(L1.0 Entry)。この決定は、パワーマネージメントコントローラと称されるデバイス4内の要素によって実行されてもよい。このパワーマネージメントコントローラは、上述のSoC内の一部の回路によって実現されていてもよいし、SoC内の処理回路(プロセッサ)によって実行されるプログラム(ファームウェア)によって実現されていてもよい。あるいは、このパワーマネージメントコントローラは、上述のSoCとは別の回路によって実現されていてもよいし、ソフトウェア層のプロセッサによって実行されるプログラムによって実現されていてもよい。
デバイス4がリンクステートをL1.0ステートに入ることを決定すると、デバイス4とホスト1との間のネゴシエーションのためのハンドシェークが開始される。そして、デバイス4においては、トランザクション・レイヤ41、データ・リンク・レイヤ42、物理レイヤ43が、この順番で、アクティブ状態からインアクティブ状態に遷移する。同様に、ホスト1のルート・コンプレックス3においても、トランザクション・レイヤ31、データ・リンク・レイヤ32、物理レイヤ33が、この順番で、アクティブ状態からインアクティブ状態に遷移する。
ここで、あるレイヤがアクティブ状態であるとは、このレイヤが、データを送受信可能な通常動作状態であることを意味する。また、あるレイヤがインアクティブ状態であるとは、このレイヤが動作していない状態であること、つまり、このレイヤが低電力状態(ローパワーステート)に入っていることを意味する。
デバイス4とホスト1との間のネゴシエーションは、以下のように実行される。
まず、デバイス4のトランザクション・レイヤ41がアクティブ状態からインアクティブ状態に遷移し、同時に、トランザクション・レイヤ41がインアクティブ状態に遷移したことを示す通知(Inactive status)がデータ・リンク・レイヤ42に送出される。
Inactive statusの受信に応じて、データ・リンク・レイヤ42は、L1.0に入ることを要求するDLLPであるPM_active_state_request_L1をルート・コンプレックス3に送信する。
ルート・コンプレックス3においては、データ・リンク・レイヤ32がPM_active_state_request_L1を受信した時、動作停止指示(Inactivation)がデータ・リンク・レイヤ32からトランザクション・レイヤ31に送られる。この動作停止指示(Inactivation)に応じて、トランザクション・レイヤ31は、アクティブ状態からインアクティブ状態に遷移する。データ・リンク・レイヤ32の送信回路(Tx)はアクティブ状態に維持される一方、データ・リンク・レイヤ32の受信回路(Rx)はインアクティブ状態となる。そして、データ・リンク・レイヤ32は、PM_active_state_request_L1に対する肯定応答(PM_request_ack)をデバイス4に送信する。
デバイス4においては、データ・リンク・レイヤ42がPM_request_ackを受信した時、データ・リンク・レイヤ42がアクティブ状態からインアクティブ状態に遷移し、同時に、データ・リンク・レイヤ42がインアクティブ状態に遷移したことを示す通知(Inactive status)がデータ・リンク・レイヤ42から物理レイヤ43に送られる。
Inactive statusの受信に応じて、物理レイヤ43は、リンク内の各レーン(各送信用差動信号線ペア)を電気的アイドル状態に入れる前に、電気的・アイドル・オーダード・セット(ELECTRICAL IDLE ORDERED SET;EIOS)をルート・コンプレックス3に送信する。このEIOSは、リンク内の各レーンが電気的アイドル状態に入ることを相手側に通知するためのオーダード・セットである。そして、物理レイヤ43の各送信回路(Tx)はアクティブ状態からインアクティブ状態に遷移する。これによって、デバイス4においては、各レーンの送信用差動信号線ペアは駆動されなくなり、各レーンの送信用差動信号線ペアが電気的アイドル状態となる。電気的アイドル状態においては、各レーンのTx+とTx−との間の電位差が一定範囲内に収まるようにTx+およびTx−がある特定の電位にそれぞれ固定される。
ルート・コンプレックス3においては、物理レイヤ33がデバイス4からEIOSを受信した時、物理レイヤ33の各受信回路(Rx)がアクティブ状態からインアクティブ状態に遷移するとともに、動作停止指示(Inactivation)が物理レイヤ33からデータ・リンク・レイヤ32に送られる。
このInactivationの受信に応じて、データ・リンク・レイヤ32の送信回路(Tx)はインアクティブ状態に遷移し、これによってデータ・リンク・レイヤ32全体がインアクティブ状態になる。
この後、物理レイヤ33は、各レーン(各送信用差動信号線ペア)を電気的アイドル状態に入れる前に、EIOSをデバイス4に送信し、これによって各レーン(各送信用差動信号線ペア)が電気的アイドル状態に入ることをデバイス4に通知する。そして、物理レイヤ33の各送信回路(Tx)はアクティブ状態からインアクティブ状態に遷移する。これによって、物理レイヤ33全体がインアクティブ状態となる。
デバイス4においては、物理レイヤ43がルート・コンプレックス3からEIOSを受信した時、物理レイヤ43の各受信回路(Rx)はアクティブ状態からインアクティブ状態に遷移する。これによって物理レイヤ43全体がインアクティブ状態になる。
このように、デバイス4は、ホスト1(つまり、ルート・コンプレックス3)によってASPM L1.0が有効にされた場合にのみ、L1.0に遷移することが許可される。また、デバイス4がL1.0に遷移するためには、ホスト1(ルート・コンプレックス3)とのネゴシエーション(ハンドシェーク)を実行することが必要とされる。
本実施形態では、ホスト1(ルート・コンプレックス3)とのネゴシエーションを実行することなく、デバイス4が単独で遷移することが可能な新たな低電力状態(第1の低電力状態)がサポートされている。以降、この新たな低電力状態(第1の低電力状態)は、Advanced L0として参照される。
このAdvanced L0は、デバイス4があたかもL0であるかのようにホスト1(ルート・コンプレックス3)に認識させつつ、デバイス4の電力消費を削減可能なリンクステートである。デバイス4は、ASPM L0s/ASPM L1.0が有効であるか否かにかかわらず、Advanced L0に遷移することができる。
Advanced L0においては、基本的には、物理レイヤ43に含まれる複数の送信回路(Tx回路)および複数の受信回路(Rx回路)が次のように制御される。
<送信回路の制御>
物理レイヤ43に含まれる複数の送信回路(Tx回路)は、アクティブ状態に維持される。これにより、各レーンの送信用差動信号線ペアは電気的アイドル状態にはならないので、デバイス4がL0であるかのようにホスト1に認識させることが可能となる。
物理レイヤ43に含まれる複数の送信回路(Tx回路)は、アクティブ状態に維持される。これにより、各レーンの送信用差動信号線ペアは電気的アイドル状態にはならないので、デバイス4がL0であるかのようにホスト1に認識させることが可能となる。
Advanced L0の期間中においては、デバイス4は、論理的アイドルを示す信号(アイドルトークン:IDL Token)、フロー制御用のデータ(Update FC DLLP)等をホスト1に送信することができる。
アイドルトークン(IDL Token)は、デバイス4とホスト1との間のリンクが論理的アイドル状態であることを示す。アイドルトークン(IDL Token)は、オール“0”のビットパターンを含む。アイドルトークン(IDL Token)は物理レイヤ43によって生成され、そしてスクランブルされたアイドルトークン(IDL Token)が送信される。TLP、DLLP、他のフレーミングトークンが送受信されていない論理的アイドル状態の期間中においては、アイドルトークン(IDL Token)が常に送受信される。これにより、ホスト1は、送信側(デバイス4)のクロック信号との同期(ビット同期、およびシンボル同期/ブロックアライメント)が確立されている状態を維持することができる。
Update FC DLLPは、ホスト1によるTLP送信量を調整するフロー制御のために使用されるDLLPである。Update FC DLLPは、ホスト1からのTLPを受け入れるためのデバイス4内の受信バッファの現在のサイズを示す。
<受信回路の制御>
物理レイヤ43に含まれる複数の受信回路(ある一つのレーンに対応するRx回路を除く)はインアクティブ状態に設定される。つまり、複数のレーン内の一つのレーンに対応する受信回路を除いて全ての受信回路がインアクティブ状態となる。一つのレーンに対応する受信回路をアクティブ状態に維持する理由は、デバイス4が、ホスト1から送信される特定のデータの受信に応じて、Advanced L0からL0に復帰できるようにするためである。
物理レイヤ43に含まれる複数の受信回路(ある一つのレーンに対応するRx回路を除く)はインアクティブ状態に設定される。つまり、複数のレーン内の一つのレーンに対応する受信回路を除いて全ての受信回路がインアクティブ状態となる。一つのレーンに対応する受信回路をアクティブ状態に維持する理由は、デバイス4が、ホスト1から送信される特定のデータの受信に応じて、Advanced L0からL0に復帰できるようにするためである。
復帰イベントに利用可能なホスト1からのデータの例には、EIOSが含まれてもよい。ホスト1がL0sに入る前に、ホスト1は、EIOSを各レーンにシリアルに送信する。Advanced L0においては、一つのレーンに対応する受信回路はアクティブ状態であるので、デバイスは、このレーンの受信データに基づいてホスト1からのEIOSの受信を検出することができ、そしてPCI Express仕様で定められたL0sに入るために、Advanced L0からL0に復帰することができる。
復帰イベントに利用可能なホスト1からのデータの例には、TLPも含まれてもよい。TLP、DLLPのようなパケットは、その最初のバイトデータがレーン0に置かれ、かつ複数のバイトデータがリンク内の全てのレーンにマッピングされるようにフレーミングされる。この場合、TLPの最初のバイトデータは、TLPの開始を示すトークン(STP:Start of a Transaction Layer Packet)である。したがって、このSTPトークンの少なくとも一部は必ずレーン0を介して受信される。レーン0は、レーン番号0が割り当てられたレーンである。したがって、アクティブ状態に維持される上述の一つのレーンに対応する受信回路は、レーン0の受信回路であることが好ましい。この場合、デバイス4は、ホスト1からのTLP全体を正しく受信することはできないものの、レーン0の受信データに基づいてホスト1から送信されるTLPを検出でき、そしてAdvanced L0からL0に復帰することができる。デバイス4がAdvanced L0からL0に復帰した後、デバイス4は、このTLPの再送をホスト1に要求してもよい。
図5は、Advanced L0における物理レイヤ43内の複数の送信回路および複数の受信回路それぞれの状態を示す。
ここでは、リンクがx4レーンである場合が想定されている。
物理レイヤ43は、レーン0〜3に対応する4つの送信回路と、レーン0〜3に対応する4つの受信回路とを含む。
L0においては、4つの送信回路の全てがアクティブ状態であり、4つの受信回路の全てもアクティブ状態である。
Advanced L0においては、図5に示されているように、4つの送信回路(Tx回路)の全てはアクティブ状態に維持されるが、4つの受信回路(Rx回路)は、レーン0の受信回路を除いて、インアクティブ状態となる。つまり、4つの受信回路(Rx回路)のうち、レーン0の受信回路のみがアクティブ状態であり、レーン1の受信回路、レーン2の受信回路、およびレーン3の受信回路はインアクティブ状態である。
図6は、デバイス4内の物理レイヤ43の構成例を示す。
物理レイヤ43の受信回路は、回路61−1〜61−(N+1)、128b/130bデコーダ62−1〜62−(N+1)、デスクランブラ63−1〜63−(N+1)、デフレーマ&エラー検出器64を含む。回路61−1〜61−(N+1)の各々は、イコライザおよびデシリアライザ等を含む。
回路61−1、128b/130bデコーダ62−1、およびデスクランブラ63−1は、レーン0の差動信号線ペアを介してデータを受信する受信回路として動作する。
回路61−2、128b/130bデコーダ62−2、およびデスクランブラ63−2は、レーン1の差動信号線ペアを介してデータを受信する受信回路として動作する。
そして、回路61−(N+1)、128b/130bデコーダ62−(N+1)、およびデスクランブラ63−(N+1)は、レーンNの差動信号線ペアを介してデータを受信する受信回路として動作する。
デフレーマ&エラー検出器64は、上述のデフレーミング動作とエラー検出動作を実行する。
Advanced L0においては、ハッチングによって示されている回路、つまり回路61−2〜61−(N+1)、128b/130bデコーダ62−2〜62−(N+1)、デスクランブラ63−2〜63−(N+1)、およびデフレーマ&エラー検出器64は、インアクティブ状態に設定され、一方、回路61−1、128b/130bデコーダ62−1、およびデスクランブラ63−1は、アクティブ状態に維持される。回路61−2〜61−(N+1)、128b/130bデコーダ62−2〜62−(N+1)、デスクランブラ63−2〜63−(N+1)、およびデフレーマ&エラー検出器64をインアクティブ状態にするために、これら回路へのクロック信号の供給を遮断するクロックゲーティングを行ってもよい。
物理レイヤ43は、さらに、低消費電力モード制御回路71、およびTLP/EIOS検出器72を含む。これら低消費電力モード制御回路71およびTLP/EIOS検出器72は、デバイス4のリンクステートをL0(通常動作状態)からAdvanced L0に遷移させる制御、およびデバイス4のリンクステートをAdvanced L0からL0に遷移させる制御を実行する制御回路である。
低消費電力モード制御回路71は、送信データ(送信すべきTLP)が一定期間無い等の条件が満たされた時に、ターンオフ指示(動作停止指示)を送出して回路61−2〜61−(N+1)、128b/130bデコーダ62−2〜62−(N+1)、デスクランブラ63−2〜63−(N+1)、およびデフレーマ&エラー検出器64をアクティブ状態からインアクティブ状態(ローパワーステート)に遷移させる。これにより、デバイス4のリンクステートは、L0からAdvanced L0に遷移する。
また、低消費電力モード制御回路71は、デバイス4内のパワーマネージメントコントローラ52からのウェイク指示、またはTLP/EIOS検出器72からのウェイク指示に応じて、回路61−2〜61−(N+1)、128b/130bデコーダ62−2〜62−(N+1)、デスクランブラ63−2〜63−(N+1)、およびデフレーマ&エラー検出器64にウェイク指示を送出してこれら各回路をインアクティブ状態からアクティブ状態に遷移させる。これにより、デバイス4のリンクステートがAdvanced L0からL0に復帰される。
パワーマネージメントコントローラ52は、デバイス4がAdvanced L0である期間中にホスト1へのTLPの送信が必要となった場合に、ウェイク指示を低消費電力モード制御回路71に送出する。
TLP/EIOS検出器72は、デバイス4のリンクステートがAdvanced L0である間、レーン0の受信データを監視して、ホスト1から送信されるTLPまたはEIOSを検出する回路である。ホスト1から送信されるTLPまたはEIOSを検出した時、TLP/EIOS検出器72は、ウェイク指示を低消費電力モード制御回路71に送出する。
図7は、図6の回路61−1の構成例を示す。
回路61−1は、入力バッファとイコライザとを含む回路81、クロック&データリカバリ回路(CDR)82、デシリアライザ83等を含む。CDR82は、受信データから送信側のクロック信号を再生する回路であり、内部PLL(フェーズ・ロックド・ループ)回路を含む。CDR82は、ビット同期(ビットロックともいう)およびシンボル同期(シンボルロックともいう)を確立および維持するために利用される。デシリアライザ83は、サンプラおよびシリアル・ツー・パラレル変換回路を含む。
図6の回路61−2〜回路61−(N+1)の各々も、回路61−1と同様に、入力バッファ&イコライザ、クロック&データリカバリ回路(CDR)、デシリアライザ等を含む。
図8は、L0からAdvanced L0に遷移するシーケンスとAdvanced L0からL0に遷移するシーケンスとを示す。
(1)デバイス4は、ホスト1に送信すべきデータ(送信すべきTLP)が、閾値によって定められる期間無い等の条件が満たされた時に、デバイス4の状態(つまり、デバイス4のリンクステート)を、L0(通常動作状態)からAdvanced L0へ遷移させるための遷移シーケンスを開始する。まず、トランザクション・レイヤ41全体がアクティブ状態からインアクティブ状態に遷移してもよく、そしてトランザクション・レイヤ41がインアクティブ状態に遷移したことを示す通知(Inactive status)がデータ・リンク・レイヤ42を介して低消費電力モード制御回路&TLP/EIOS検出器71,72に送出されてもよい。この通知は、パワーマネージメントコントローラ52から低消費電力モード制御回路&TLP/EIOS検出器71,72に送出されてもよい。この通知の受信に応じて、低消費電力モード制御回路&TLP/EIOS検出器71,72は、動作停止指示(Inactivation)をレーン0以外の物理レイヤ43内の受信回路(Rx回路)それぞれに送出して、物理レイヤ43の受信回路(レーン0以外)をインアクティブ状態にする。また、低消費電力モード制御回路&TLP/EIOS検出器71,72は、動作停止指示(Inactivation)をデータ・リンク・レイヤ42に送出して、データ・リンク・レイヤ42の受信回路(Rx回路)をインアクティブ状態にしてもよい。
これにより、デバイス4のリンクステートは、L0からAdvanced L0に遷移する。
(2)デバイス4がAdvanced L0である期間中は、データ・リンク・レイヤ42の送信回路(Tx回路)、および物理レイヤ43の全てのレーンの送信回路(Tx回路)は、アクティブ状態に維持されている。このため、デバイス4は、Update FC DLLPをホスト1のルート・コンプレックス3に定期的に送信することができる。Advanced L0の期間中は、デバイス4内の受信バッファのサイズは変化しない。したがって、同じ値のUpdate FC DLLPがデバイス4からルート・コンプレックス3に定期的に送信される。さらに、デバイス4は、TLP、DLLP等が送信されない論理的アイドル状態の期間中は、上述のトークン(アイドルトークンIDLE)を常に送信することができる。よって、たとえデバイス4がL0からAdvanced L0に遷移しても、ホスト1(ルート・コンプレックス3)は、デバイス4がL0ステートであると認識する。
(3)このため、ルート・コンプレックス3も、定期的にUpdate FC DLLPをデバイス4に送信する。デバイス4においては物理レイヤ43のレーン0以外の各受信回路(Rx回路)はインアクティブ状態である。よって、デバイス4は、Update FC DLLPを正常に受信および処理することはできない。しかし、Advanced L0の期間中は、デバイス4は、TLPをホスト1のルート・コンプレックス3に送信しないので、ルート・コンプレックス3内の受信バッファサイズは変化しない。したがって、Advanced L0の期間中は、ルート・コンプレックス3は、デバイス4がAdvanced L0に遷移する前と同じ値のUpdate FC DLLPをデバイス4に定期的に送信する。よって、これらUpdate FC DLLPを正常に処理できなくとも問題は生じない。
(4)ルート・コンプレックス3がTLPをデバイス4に送信した場合、デバイス4は、TLPを正確に認識することができない。しかし、物理レイヤ43のレーン0に対応する受信回路はアクティブ状態であるので、TLPの最初のバイトデータ(1バイトデータ)のみを受信することができる。この最初の1バイトデータには、STPの少なくとも一部が含まれている。したがって、低消費電力モード制御回路&TLP/EIOS検出器71,72は、レーン0の受信データを監視することによって、ルート・コンプレックス3からTLPを受信したことを検出可能である。
(5)TLPの検出に応じて、低消費電力モード制御回路&TLP/EIOS検出器71,72は、Advanced L0からL0への遷移を要求する指示(Activation)を、物理レイヤ43、データ・リンク・レイヤ42、およびトランザクション・レイヤ41に送出する。この指示に応じて、データ・リンク・レイヤ42の受信回路(Rx回路)はアクティブ状態となり、これによってデータ・リンク・レイヤ42全体がアクティブ状態となる。また、この指示に応じて、トランザクション・レイヤ41全体がアクティブ状態となる。
(6)物理レイヤ43は、この指示に応じて、リンク内の全てのレーンを利用可能にするリカバリ処理を開始する。リカバリ処理においては、物理レイヤ43は、まず、トレーニングシーケンス(TS1・オーダード・セット;TS1 OS)を各レーンに繰り返し送信する。つまり、物理レイヤ43は、トレーニングシーケンス(TS1)を各レーンを介してホスト1(ルート・コンプレックス3)に繰り返し送信する。このTS1 OSは、デバイス4のリンクコンフィグレーション情報、クロック・パターン、等を含む。TS1 OSの受信に応じて、ルート・コンプレックス3の物理レイヤ33も、リカバリ処理を開始し、TS1 OSを各レーンに繰り返し送信する。物理レイヤ43、33の各々は、受信したTS1 OSを使用して、送信側のクロックとの同期(ビット同期(ビット・ロック)、シンボル同期(シンボル・ロック)、等)を確立する。物理レイヤ43、33の各々は、TS1 OSを正常に受信及び処理できる状態になると、次のトレーニングシーケンス(TS2・オーダード・セット;TS2 OS)を繰り返し送受信する。物理レイヤ43、33の各々は、受信したTS2 OSを使用して、送信側のクロックとの同期(ビット同期(ビット・ロック)、シンボル同期(シンボル・ロック)、等)を確立する。物理レイヤ43、33の各々がTS2 OSを正常に受信及び処理できる状態になると、リカバリ処理が完了する。デバイス4およびルート・コンプレックス3の各々は、L0(通常動作状態)に復帰する。
(7)データ・リンク・レイヤ42は、正常認識できなかったTLPの再送を要求する否定応答(negative acknowledgement DLLP;Nak DLLP)を送信する。デバイス4がL0に復帰した後、このNak DLLPはルート・コンプレックス3に送信される。
(8)ルート・コンプレックス3は、このTLPをデバイス4に再送信する。
以上の説明では、ルート・コンプレックス3から送信されるTLPの検出に応じてAdvanced L0からL0へ遷移するシーケンスを説明したが、Advanced L0の期間中にルート・コンプレックス3からのEIOSが検出された時は、デバイス4は、上述の(5)、(6)の処理を実行してL0に復帰した後、L0からL0sに遷移する処理を実行する。この場合、上述の(7)、(8)の処理を実行する必要はない。
なお、デバイス4は、リンクステートをAdvanced L0からL0sに直接的に遷移させることが可能なモードをサポートしていてもよい。リンクステートをAdvanced L0からL0sに直接的に遷移させたケースにおいては、このL0sからL0へ遷移時、つまりL0復帰時には、リンクステートを、L0s→(5)→(6)→L0という順序で遷移させることも可能である。この場合、(5)の動作は、TLPが検出された時ではなく、ルート・コンプレックス3がL0sから抜ける時(つまり、ルート・コンプレックス3によって各レーンへのオーダード・セットの送信が開始されることによって各レーンが電気的アイドル状態でなくなった時)に実行されてもよい。
また、Advanced L0の期間中にパワーマネージメントコントローラ52からのウェイク指示を受信した時にも、デバイス4は、上述の(5)、(6)の処理を実行してL0に復帰する。この場合も、上述の(7)、(8)の処理を実行する必要はない。
図9は、オーダード・セットの送信処理とTLP/DLLPの送信処理とを示す。
図9に示されるように、オーダード・セットは、リンクに含まれる全てのレーンの各々にシリアルに送信される。例えば、リンクがx4レーンである場合には、同じオーダード・セットがレーン0、レーン1、レーン2、レーン3に同時にシリアルに送信される。
一方、TLP/DLLPは、そのTLP/DLLPの最初のバイトデータがレーン0に置かれ、且つTLP/DLLPを構成する複数のバイトデータがリンク内の全てのレーンにマッピングされるようにフレーミングされる。例えば、リンクがx4レーンであり、TLP/DLLPがバイトデータ0、バイトデータ1、バイトデータ2、バイトデータ3、バイトデータ4、バイトデータ5、バイトデータ6、バイトデータ7、…バイトデータn−1を含む場合には、バイトデータ0、バイトデータ1、バイトデータ2、バイトデータ3がレーン0、レーン1、レーン2、レーン3に割り当てられ、バイトデータ4、バイトデータ5、バイトデータ6、バイトデータ7がレーン0、レーン1、レーン2、レーン3に割り当てられ、そしてバイトデータn−4、バイトデータn−3、バイトデータn−2、バイトデータn−1がレーン0、レーン1、レーン2、レーン3に割り当てられる。
図10は、TLPの構成を示す。
TLPは、4バイトのSTPと、STPに後続するTLPペイロードと、TLPペイロードに後続する4バイトのCRC(LCRC)とを含む。
図11はSTPトークンの構成を示す。
STPトークンの最初の1バイトデータは、TLPの長さを示す11ビットデータのうちの下位4ビット(TLP長[3:0])と、コード“1111b”とを含む。TLP長は、STPとTLPペイロードとLCRCとを含む、送信される情報の総量である。STPトークンの最初の1バイトのビットパターンはTLPに固有のビットパターンであるので、デバイス4は、レーン0の受信データのみからTLPを検出することができる。
図12は、x8リンクにおけるTLPレイアウトの例を示す。
ここでは、TLPペイロードがTLPヘッダ(DW0−DW3)およびデータ(1DW)を含む場合が想定されている。ここで、DWは4バイトのダブルワードを表す。図12に示されているように、TLPはリンク内の全てのレーンにマッピングされる。何ら送信すべき情報が無い各シンボル期間においては、アイドルトークン(図12においてIDLとして図示されている)が送信される。
図13は、L0、L0s、L1.0、Advanced L0間の関係の例を示す。
Advanced L0においては、物理レイヤ43の複数の受信回路(レーン0以外)がインアクティブ状態となるので、L0ステートよりも電力消費量を減少することができる。Advanced L0における電力消費量は、各受信回路のインアクティブ状態をどのように実現するかによって変わる。例えば、Advanced L0における電力消費量がL0sにおける電力消費量とL1.0における電力消費量のほぼ中間のレベルになるように、各受信回路のインアクティブ状態が規定されてもよい。
図14のフローチャートは、デバイス4によって実行されるステート遷移処理の手順を示す。
デバイス4の制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、デバイス4のリンクステートがL0である間、Advanced L0への遷移条件が満たされたか否かを判定する(ステップS11)。Advanced L0への遷移条件の例は、ホスト1に送信すべきデータ(送信すべきTLP)が、閾値によって定められる期間無いという条件を含んでいてもよい。
Advanced L0への遷移条件が満たされたならば(ステップS11のYES)、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、ASPM L0s/ASPM L1.0が有効であるか否かにかかわらず、ホスト1(ルート・コンプレックス3)とのネゴシエーションを実行することなく、デバイス4のリンクステートをL0からAdvanced L0へ遷移させる(ステップS12)。ステップS12では、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、物理レイヤ43の複数の送信回路(Tx回路)をアクティブ状態に維持した状態で、物理レイヤ43の複数の受信回路(レーン0以外)をインアクティブ状態にする(ステップS12)。さらに、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、データ・リンク・レイヤ42の受信回路、およびトランザクション・レイヤ41全体をそれぞれインアクティブ状態にしてもよい。
デバイス4のリンクステートがAdvanced L0である間、デバイス4(物理レイヤ43)は、図15に示すように、Update FC DLLPを定期的にホスト1に送信し、送信すべきUpdate FC DLLPが存在しない期間には、論理的アイドル状態を示すアイドルトークン(IDLE)を常にホスト1に送信する。
デバイス4のリンクステートがAdvanced L0である間、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、レーン0の受信データ(つまり、レーン0に対応する物理レイヤ43の受信回路によって受信されるデータ)を監視し、レーン0の受信データに基づいて、ホスト1(ルート・コンプレックス3)から送信されるTLP/EIOSを検出したか否かを判定する(図14のステップS13)。さらに、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、デバイス4のリンクステートがAdvanced L0である間、デバイス4内のパワーマネージメントコントローラ52からウェイク指示が受信されたか否かも判定する(ステップS14)。
デバイス4のリンクステートがAdvanced L0である間に、レーン0の受信データに基づいてホスト1(ルート・コンプレックス3)からのTLP/EIOSが検出されるか(ステップS13のYES)、あるいはパワーマネージメントコントローラ52からウェイク指示が受信されたならば(ステップS14のYES)、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、Advanced L0からL0への遷移シーケンスを開始するために、物理レイヤ43の全ての受信回路をアクティブ状態にする(ステップS15)。ステップS15では、制御回路(低消費電力モード制御回路&TLP/EIOS検出器71,72)は、データ・リンク・レイヤ42の受信回路、およびトランザクション・レイヤ41もアクティブ状態にする。
物理レイヤ43は、ホスト1とデバイス3との間のリンクを利用可能にするためのリカバリ処理を実行する(ステップS16)。このリカバリ処理が完了すると、デバイス4のリンクステートは、リカバリステートからL0に遷移する(ステップS17)。リカバリステートは、送信側のクロックとの同期を再確立するための上述のリカバリ処理が実行されているリンクステートである。
図15は、デバイス4がAdvanced L0である期間中にデバイス4からホスト1に送信されるアイドルトークンおよびUpdate FC DLLPを示す。
上述したように、デバイス4がAdvanced L0である間、全てのレーン(ここではレーン0〜レーン3)に対応する全ての送信回路(Tx回路)はアクティブ状態に維持されている。このため、Advanced L0の期間中、デバイス4は、Update FC DLLPを各レーンに定期的に送信することができる。さらに、デバイス4は、送信すべきUpdate FC DLLPが存在しない期間には、論理的アイドル状態を示すアイドルトークン(IDL)を各レーンに常に送信する。
図16は、Rx回路の同期状態の変化を示す。
デバイス4がL0ステートである期間中において、TLP、DLLP、等が存在しない期間は、ホスト1のルート・コンプレックス3は、論理的アイドル状態を示すアイドルトークン(図16においてIDLとして図示されている)を常にデバイス4に送信する。このため、デバイス4がL0ステートである期間中においては、デバイス4は、送信側(ルート・コンプレックス3)のクロック信号との同期(ビット同期、シンボル同期、等)が確立されている状態を維持することができる。
デバイス4がAdvanced L0に入ると、物理レイヤ43の複数の受信回路(レーン0以外)はインアクティブ状態になる。このため、デバイス4がAdvanced L0に一旦入ると、送信側(ルート・コンプレックス3)のクロック信号との同期(ビット同期、シンボル同期、等)を維持できなくなる。したがって、デバイス4がAdvanced L0からL0に遷移する際には、ビット同期、シンボル同期、等を再確立してリンクを利用可能にするためのリカバリ処理が実行される。
図17は、デバイス4の構成が適用されたストレージデバイスを示す。
このストレージデバイスは、例えば、NAND型フラッシュメモリを備えたソリッドステートドライブ(SSD)21として実現されている。
SSD21は、レーン0、レーン1、…レーンNを含むリンクを備えるシリアルインタフェースを介してホスト(ホストデバイス)11に接続することができる。
ホスト11は、CPU(ホストCPU)12、ルート・コンプレックス13、およびメモリ14を備える。CPU12は、ホスト2内のコンポーネントを制御するプロセッサである。CPU12は、SSD21または他のストレージデバイスからメモリ14にロードされる様々なプログラムを実行する。これらプログラムには、オペレーティングシステムおよび各種アプリケーションプログラムが含まれる。ルート・コンプレックス13は、図1で説明したルート・コンプレックス3と同様の構成を有する。
SSD21に対するリードコマンド、ライトコマンド、ライトデータは、それぞれ対応するTLPによってホスト11からSSD21に送信される。
SSD21は、ホストインタフェース22、メモリコントローラ23、および不揮発性メモリ(NAND型フラッシュメモリ)24を備える。ホストインタフェース22およびメモリコントローラ23は、一つのSoCのような回路内の異なる回路要素として実現されていてもよい。通常、NAND型フラッシュメモリ24は複数のNAND型フラッシュメモリチップを含む。
ホストインタフェース22は、レーン0、レーン1、…レーンNを含むリンクを介してホスト11と通信するインタフェース回路である。このホストインタフェース22は、図1のデバイス4のトランザクション・レイヤ41、データ・リンク・レイヤ42、および物理レイヤ43に相当する。すなわち、このホストインタフェース22は、複数のレーン(レーン0、レーン1、…レーンN)に対応する複数の送信回路と、複数のレーン(レーン0、レーン1、…レーンN)に対応する複数の受信回路とを含む。各送信回路は、対応するレーンの送信用の差動信号線ペアを介してデータを送信する。各受信回路は、対応するレーンの受信用の差動信号線ペアを介してデータを受信する。
さらに、ホストインタフェース22は、ホストインタフェース22のステートをL0(通常動作状態)とAdvanced L0との間で遷移させるためのAdvanced L0制御回路22Aを含む。Advanced L0制御回路22Aは、低消費電力モード制御回路91、およびTLP/EIOS検出器92を含む。これら低消費電力モード制御回路91およびTLP/EIOS検出器92は、図6で説明した低消費電力モード制御回路71およびTLP/EIOS検出器72と同じ動作をそれぞれ実行する。
メモリコントローラ23は、NAND型フラッシュメモリ24のデータ管理およびブロック管理を実行するように構成されたフラッシュトランスレーション層(FTL)として機能する。このFTLによって実行されるデータ管理には、論理アドレスそれぞれとNAND型フラッシュメモリ24の物理アドレスそれぞれとの間の対応関係を示すマッピング情報の管理、等が含まれる。論理アドレスは、SSD3の論理空間内の位置をアドレス指定するためにホスト1によって使用されるアドレスである。この論理アドレスとしては、LBA(logical block address(addressing))が使用され得る。
論理アドレスそれぞれと物理アドレスそれぞれとの間のマッピングの管理は、論理物理アドレス変換テーブル(logical−to−physical address translation table:L2Pテーブル)を用いて実行される。メモリコントローラ23は、L2Pテーブルを使用して、論理アドレスそれぞれと物理アドレスそれぞれとの間のマッピングを所定の管理サイズ単位で管理する。ある論理アドレスに対応する物理アドレスは、この論理アドレスのデータがライトされたNAND型フラッシュメモリ24内の最新の物理記憶位置を示す。L2Pテーブルは、SSD21の電源オン時にNAND型フラッシュメモリ24からSSD3内のDRAMなどにロードされてもよい。あるいは、SSD3がDRAMを有さない構成である場合には、L2Pテーブルの一部またはすべてが、ホスト11内のメモリ14にL2Pテーブルキャッシュ14Aとして格納されてもよい。
ブロック管理には、バッドブロックの管理と、ウェアレベリングと、ガベージコレクション等が含まれる。ウェアレベリングは、物理ブロックそれぞれの消耗を均一化するための動作である。
ガベージコレクションにおいては、メモリコントローラ23は、データを書き込むことが可能なフリーブロックの個数を増やすため、有効データと無効データとが混在する幾つかのブロック内の有効データを別のブロック(例えばフリーブロック)に移動する。ここで、有効データとは、L2Pテーブルから参照されているデータ(すなわち論理アドレスから最新のデータとして紐付けられているデータ)であって、後にホスト11からリードされる可能性があるデータを意味する。無効データとは、もはやホスト11からリードされる可能性が無いデータを意味する。例えば、ある論理アドレスに関連付けられているデータは有効データであり、どの論理アドレスにも関連付けられていないデータは無効データである。そして、メモリコントローラ23は、L2Pテーブルを更新して、移動された有効データの論理アドレスそれぞれを移動先の物理アドレスにマッピングする。有効データが別のブロックに移動されることによって無効データのみになったブロックはフリーブロックとして解放される。これによって、このブロックはその消去後に再利用することが可能となる。
メモリコントローラ23は、上述のFTLの処理に加え、ホスト11からの様々なコマンドを処理するためのコマンド処理等を実行する。
本実施形態においては、ホストインタフェース22は、ホスト11に送信すべきデータ、例えば、TLP、コマンド完了を示すTLP(コンプリーション)、等が、、閾値によって定められる期間無い場合、L0s/L1.0が有効であるか否かにかかわらず、ホスト11(ルート・コンプレックス13)とのネゴシエーションを実行せずに、L0からAdvanced L0に迅速に遷移することができる。これにより、ホストインタフェース22の電力消費を低減することができる。
ホストインタフェース22がAdvanced L0である間に、リード/ライトコマンドのようなTLPがホスト11から送信されると、Advanced L0制御回路22Aは、ホストインタフェース22をAdvanced L0からL0に復帰させる。
また、ホストインタフェース22がAdvanced L0である間に、メモリコントローラ23は、必要に応じて、ガベージコレクションを開始してもよい。この場合、L2Pテーブルの一部またはすべてがホスト11内のメモリ14にL2Pテーブルキャッシュ14Aとして格納されているケースにおいては、ガベージコレクションの実行によってL2Pテーブルキャッシュ14Aの更新が必要となった時に、つまり、L2Pテーブルキャッシュ14Aを更新するライト要求のためのTLPをホスト1に送信することが必要となった時に、メモリコントローラ23は、ウェイクアップ指示をホストインタフェース22のAdvanced L0制御回路22Aに送出してもよい。これにより、ホストインタフェース22をAdvanced L0からL0に復帰させることができる。ホストインタフェース22がL0に復帰した後、メモリコントローラ23は、L2Pテーブルキャッシュ14Aを更新するライト要求のためのTLPをホストインタフェース22を介してホスト11に送信してもよい。
以上説明したように、本実施形態によれば、各々が対応するレーンの送信用の差動信号線ペアを介してデータを送信する複数の送信回路がアクティブ状態に維持され、且つ各々が対応するレーンの受信用の差動信号線ペアを介してデータを受信する複数の受信回路(特定の一つのレーン以外)がインアクティブ状態となる第1の低電力状態(Advanced L0)が規定されている。
このAdvanced L0では、複数の送信回路がアクティブ状態に維持される。したがって、各レーンの送信用差動信号線ペアは電気的アイドル状態にはならないので、デバイス4がL0であるかのようにホスト1に認識させることが可能となる。したがって、デバイス4は、ASPM L0s/ASPM L1.0がホストによって有効にされているか否かにかかわらず、しかもホスト1とデバイス4との間のネゴシエーションを実行せずに、Advanced L0に遷移することができる。
また、Advanced L0では、一つのレーンに対応する受信回路のみがアクティブ状態であるので、ホスト1から特定の情報の受信に応じてデバイス4の状態をL0(通常動作状態)に復帰することができる。
したがって、デバイス4は、デバイス4側の条件のみで、Advanced L0に迅速に遷移することができ、これによってデバイス4の電力消費を削減することができる。
なお、本実施形態では、レーン0に対応する受信回路を除く他の全てのレーンの受信回路をインアクティブ状態にしたが、これは、ホスト1からのTLPの検出に応じて、新たな低電力状態(Advanced L0)からL0に復帰することを可能にするためである。アクティブ状態に維持されるレーンは、必ずしもレーン0でなくてもよい。ホスト1からのEIOSは各レーンにシリアルに送信される。したがって、レーン0とは異なる一つのレーンに対応する受信回路のみがアクティブ状態に維持された場合であっても、ホスト1からのEIOSの検出に応じて、レーン状態を新たな低電力状態(Advanced L0)からL0に復帰させることができる。
また、本実施形態では、PCI Express仕様に準拠するシリアルインタフェースを例示した。しかし、本実施形態の構成は、複数のレーンを含むリンクを備える様々なシリアルインタフェース規格に適用することができる。このようなシリアルインタフェース規格の例としては、MIPIアライアンスによって規定されたMIPI D−PHY、MIPI M−PHY、MIPI C−PHY、等がある。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、11…ホスト、3、13…ルート・コンプレックス、4…デバイス、41…トランザクション・レイヤ、42…データ・リンク・レイヤ、43…物理レイヤ、71、91…低消費電力モード制御回路、72、92…TLP/EIOS検出器。
Claims (16)
- 送信用の差動信号線ペアと受信用の差動信号線ペアとを各々が含む複数のレーンから構成されるリンクを含むシリアルインタフェースを介してホストに接続可能な電子機器であって、
前記複数のレーンに対応する複数の送信回路であって各々が対応するレーンの前記送信用の差動信号線ペアを介してデータを送信する複数の送信回路と、
前記複数のレーンに対応する複数の受信回路であって各々が対応するレーンの前記受信用の差動信号線ペアを介してデータを受信する複数の受信回路と、
制御回路とを具備し、
前記制御回路は、前記電子機器の状態を、前記複数の送信回路および前記複数の受信回路がアクティブ状態である通常動作状態から、前記複数の送信回路がアクティブ状態に維持され且つ前記複数のレーン内の一つのレーンに対応する受信回路を除いて前記複数の受信回路がインアクティブ状態となる第1の低電力状態に遷移させるように構成されている、電子機器。 - 前記複数のレーン内の前記一つのレーンは、レーン番号0が割り当てられたレーンである請求項1記載の電子機器。
- 前記制御回路は、前記ホストに送信すべきデータが第1の期間無い場合、前記電子機器の状態を、前記通常動作状態から前記第1の低電力状態に遷移させるように構成されている請求項1記載の電子機器。
- 前記制御回路は、前記ホストに送信すべきデータが前記第1の期間無い場合、前記ホストとのネゴシエーションを実行することなく、前記電子機器の状態を、前記通常動作状態から前記第1の低電力状態に遷移させるように構成されている請求項3記載の電子機器。
- 前記制御回路は、前記一つのレーンの受信データに基づいて特定の情報の受信が検出された場合に、前記電子機器の状態を前記第1の低電力状態から前記通常動作状態に遷移させるように構成されている請求項1記載の電子機器。
- 前記特定の情報は、前記ホストから送信される電気的・アイドル・オーダード・セットを含む請求項5記載の電子機器。
- 前記複数のレーン内の前記一つのレーンは、レーン番号0が割り当てられたレーンであり、
前記特定の情報は、前記ホストから送信されるトランザクション・レイヤ・パケットを含む請求項5記載の電子機器。 - 前記制御回路は、前記トランザクション・レイヤ・パケットの受信が検出された場合、前記電子機器の状態が前記第1の低電力状態から前記通常動作状態に遷移した後に、前記トランザクション・レイヤ・パケットの再送要求を前記ホストに送信するように構成されている請求項7記載の電子機器。
- 前記制御回路は、前記電子機器の状態が前記第1の低電力状態である間にトランザクション・レイヤ・パケットを前記ホストに送信することが必要とされた場合、前記電子機器の状態を前記第1の低電力状態から前記通常動作状態に遷移させるように構成されている請求項1記載の電子機器。
- 前記制御回路は、前記一つのレーンの受信データに基づいて特定の情報の受信が検出されるか、または前記電子機器の状態が前記第1の低電力状態である間にトランザクション・レイヤ・パケットを前記ホストに送信することが必要とされた場合、トレーニングシーケンスを前記複数のレーンの各々を介して前記ホストに送信するように構成されている請求項1記載の電子機器。
- 前記シリアルインタフェースは、PCI express仕様に準拠したシリアルインタフェースである請求項1記載の電子機器。
- 送信用の差動信号線ペアと受信用の差動信号線ペアとを各々が含む複数のレーンから構成されるリンクを含むシリアルインタフェースを介してホストに接続可能な電子機器によって実行される電力管理方法であって、前記電子機器は、前記複数のレーンに対応する複数の送信回路であって各々が対応するレーンの前記送信用の差動信号線ペアを介してデータを送信する複数の送信回路と、前記複数のレーンに対応する複数の受信回路であって各々が対応するレーンの前記受信用の差動信号線ペアを介してデータを受信する複数の受信回路とを含み、
前記電子機器の状態を、前記複数の送信回路および前記複数の受信回路がアクティブ状態である通常動作状態から、前記複数の送信回路がアクティブ状態に維持され且つ前記複数のレーン内の一つのレーンに対応する受信回路を除いて前記複数の受信回路がインアクティブ状態となる第1の低電力状態に遷移させることと、
前記一つのレーンの受信データに基づいて特定の情報の受信が検出された場合に、前記電子機器の状態を前記第1の低電力状態から前記通常動作状態に遷移させることとを具備する電力管理方法。 - 前記複数のレーン内の前記一つのレーンは、レーン番号0が割り当てられたレーンである請求項12記載の電力管理方法。
- 前記電子機器の状態を前記通常動作状態から前記第1の低電力状態に遷移させることは、前記ホストに送信すべきデータが第1の期間無い場合、前記電子機器の状態を前記通常動作状態から前記第1の低電力状態に遷移させることを含む請求項12記載の電力管理方法。
- 前記特定の情報は、前記ホストから送信される電気的・アイドル・オーダード・セットを含む請求項12記載の電力管理方法。
- 前記複数のレーン内の前記一つのレーンは、レーン番号0が割り当てられたレーンであり、
前記特定の情報は、前記ホストから送信されるトランザクション・レイヤ・パケットを含む請求項12記載の電力管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017164431A JP2019047146A (ja) | 2017-08-29 | 2017-08-29 | 電子機器および電力管理方法 |
US15/905,824 US10503239B2 (en) | 2017-08-29 | 2018-02-27 | Electronic device and power management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017164431A JP2019047146A (ja) | 2017-08-29 | 2017-08-29 | 電子機器および電力管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019047146A true JP2019047146A (ja) | 2019-03-22 |
Family
ID=65437158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017164431A Pending JP2019047146A (ja) | 2017-08-29 | 2017-08-29 | 電子機器および電力管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10503239B2 (ja) |
JP (1) | JP2019047146A (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261923B2 (en) * | 2017-07-26 | 2019-04-16 | Intel Corporation | Configurable interconnect apparatus and method |
US10855600B2 (en) * | 2018-11-13 | 2020-12-01 | Intel Corporation | System, apparatus and method for traffic shaping of data communication via an interconnect |
US11442876B2 (en) | 2019-05-30 | 2022-09-13 | Intel Corporation | System, apparatus and method for synchronizing multiple virtual link states over a package interconnect |
US11625084B2 (en) * | 2019-08-15 | 2023-04-11 | Intel Corporation | Method of optimizing device power and efficiency based on host-controlled hints prior to low-power entry for blocks and components on a PCI express device |
US11580017B2 (en) * | 2020-04-27 | 2023-02-14 | Silicon Motion, Inc. | Method and apparatus and computer program product for preparing logical-to-physical mapping information for host side |
KR20220006927A (ko) * | 2020-07-09 | 2022-01-18 | 삼성전자주식회사 | 메모리 컨트롤러, 및 이를 포함하는 스토리지 장치, 및 메모리 시스템 |
TWI763470B (zh) * | 2021-05-04 | 2022-05-01 | 瑞昱半導體股份有限公司 | 網路裝置之操作方法及網路裝置之控制晶片 |
JP2023112427A (ja) | 2022-02-01 | 2023-08-14 | キオクシア株式会社 | メモリシステム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4387815B2 (ja) | 2004-01-30 | 2009-12-24 | 富士通株式会社 | シリアルタイプのインターフェイス回路、そのパワーセーブ方法及びシリアルインターフェイスを持つデバイス |
US7809969B2 (en) * | 2005-12-28 | 2010-10-05 | Intel Corporation | Using asymmetric lanes dynamically in a multi-lane serial link |
EP2726956A1 (en) | 2011-07-01 | 2014-05-07 | Qualcomm Incorporated | System and method for standby power reduction in a serial communication system |
US9141162B2 (en) * | 2012-10-05 | 2015-09-22 | Intel Corporation | Apparatus, system and method for gated power delivery to an I/O interface |
US9563260B2 (en) * | 2013-03-15 | 2017-02-07 | Intel Corporation | Systems, apparatuses, and methods for synchronizing port entry into a low power state |
US9921768B2 (en) | 2014-12-18 | 2018-03-20 | Intel Corporation | Low power entry in a shared memory link |
-
2017
- 2017-08-29 JP JP2017164431A patent/JP2019047146A/ja active Pending
-
2018
- 2018-02-27 US US15/905,824 patent/US10503239B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10503239B2 (en) | 2019-12-10 |
US20190064909A1 (en) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019047146A (ja) | 電子機器および電力管理方法 | |
US11789892B2 (en) | Recalibration of PHY circuitry for the PCI express (PIPE) interface based on using a message bus interface | |
US11595318B2 (en) | Ordered sets for high-speed interconnects | |
JP6243469B2 (ja) | 低電力物理ユニットのロード/ストア通信プロトコルへの提供 | |
US9652388B2 (en) | Method, apparatus and system for performing management component transport protocol (MCTP) communications with a universal serial bus (USB) device | |
CN106970886B (zh) | 使用第二协议的扩展功能结构来控制第一协议的物理链路 | |
CN111857838B (zh) | 用于管理ufs装置与ufs主机之间的通信的方法和系统 | |
US10127187B2 (en) | Digital interconnects with protocol-agnostic repeaters | |
EP3465453B1 (en) | Reduced pin count interface | |
US20220327074A1 (en) | PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) SYSTEM AND METHOD OF OPERATING THE SAME | |
EP3920442A1 (en) | Latency-optimized mechanisms for handling errors or mis-routed packets for computer buses | |
KR20220141681A (ko) | PCIe 인터페이스 장치 및 그 동작 방법 | |
CN115437978A (zh) | 高速外围组件互连接口装置及其操作方法 | |
WO2015099676A1 (en) | Input output data alignment | |
KR102668564B1 (ko) | PCIe 인터페이스 장치 및 그 동작 방법 | |
JP2009037474A (ja) | データ転送制御装置及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |