JP2020155916A - 通信装置および方法 - Google Patents
通信装置および方法 Download PDFInfo
- Publication number
- JP2020155916A JP2020155916A JP2019052276A JP2019052276A JP2020155916A JP 2020155916 A JP2020155916 A JP 2020155916A JP 2019052276 A JP2019052276 A JP 2019052276A JP 2019052276 A JP2019052276 A JP 2019052276A JP 2020155916 A JP2020155916 A JP 2020155916A
- Authority
- JP
- Japan
- Prior art keywords
- output waveform
- output
- data
- types
- communication device
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03012—Arrangements for removing intersymbol interference operating in the time domain
- H04L25/03019—Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
- H04L25/03057—Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception with a recursive structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03012—Arrangements for removing intersymbol interference operating in the time domain
- H04L25/03019—Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L2025/03777—Arrangements for removing intersymbol interference characterised by the signalling
- H04L2025/03802—Signalling on the reverse channel
- H04L2025/03815—Transmission of a training request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Dc Digital Transmission (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】デバイス間でのネゴシエーションの所要時間を短縮することができる通信装置を提供する。【解決手段】実施形態によれば、通信装置は、不揮発性メモリと、受信回路と、制御回路とを具備する。受信回路は、インタフェースを介して外部装置からデータを受信する。制御回路は、受信回路によって受信される外部装置からのデータの出力波形を決定する。制御回路は、データの出力波形をN種類(Nは3以上の自然数)の出力波形の候補の中から決定したことに応じて、当該決定した出力波形に関する情報を不揮発性メモリへ記録し、出力波形に関する情報が不揮発性メモリに記録されている状況下においてデータの出力波形を決定する場合、不揮発性メモリに記録されている出力波形に関する情報に基づき、N種類の出力波形の中のM(M<N)(MはN−2以上の自然数)種類以下の出力波形を選択肢としてデータの出力波形を決定する。【選択図】図1
Description
本発明の実施形態は、通信装置および方法に関する。
近時、たとえばPCI Express(PCIe)(登録商標)など、デバイス間を接続する様々なインタフェースが普及している。様々なインタフェース規格の多くが、デバイス間でのネゴシエーションに時間を要し、通信の開始が遅延することがある。
本発明が解決しようとする課題は、デバイス間でのネゴシエーションの所要時間を短縮することができる通信装置および方法を提供することである。
実施形態によれば、通信装置は、不揮発性メモリと、受信回路と、制御回路とを具備する。受信回路は、インタフェースを介して外部装置からデータを受信する。制御回路は、受信回路によって受信される外部装置からのデータの出力波形を決定する。制御回路は、データの出力波形をN種類(Nは3以上の自然数)の出力波形の候補の中から決定したことに応じて、当該決定した出力波形に関する情報を不揮発性メモリへ記録し、出力波形に関する情報が不揮発性メモリに記録されている状況下においてデータの出力波形を決定する場合、不揮発性メモリに記録されている出力波形に関する情報に基づき、N種類の出力波形の中のM(M<N)(MはN−2以上の自然数)種類以下の出力波形を選択肢としてデータの出力波形を決定する。
以下、実施の形態について図面を参照して説明する。
図1は、本実施形態の通信装置(第1通信装置1−1、第2通信装置1−2)の一構成例を示す図である。第1通信装置1−1と第2通信装置1−2とは、それぞれ共通のインタフェース規格に準拠する共通の通信機能を有するデバイスであり、パーソナルコンピュータ同士などの同一種類のデバイスであってもよいし、パーソナルコンピュータと周辺機器などの異なる種類のデバイスであってもよい。以下、第1通信装置1−1と第2通信装置1−2とをそれぞれ通信装置1と総称することがある。
図1は、本実施形態の通信装置(第1通信装置1−1、第2通信装置1−2)の一構成例を示す図である。第1通信装置1−1と第2通信装置1−2とは、それぞれ共通のインタフェース規格に準拠する共通の通信機能を有するデバイスであり、パーソナルコンピュータ同士などの同一種類のデバイスであってもよいし、パーソナルコンピュータと周辺機器などの異なる種類のデバイスであってもよい。以下、第1通信装置1−1と第2通信装置1−2とをそれぞれ通信装置1と総称することがある。
図1に示すように、第1通信装置1−1と第2通信装置1−2とは、インタフェース2を介して接続される。本実施形態においては、このインタフェース2が、PCIe規格に準拠するシリアルインタフェースであることを想定する。なお、PCIe規格は例示であって、後述する、本実施形態の通信装置1がネゴシエーションの所要時間を短縮するための構成は、様々なインタフェース規格に適用することができる。
また、図1に示すように、第1通信装置1−1と第2通信装置1−2とは、つまり、通信装置1は、プロセッサ10と、不揮発性メモリ20と、通信コントローラ30とを有している。
プロセッサ10は、通信相手との間でデータを送受信するために、通信コントローラ30の動作を制御する。具体的には、プロセッサ10は、データ送信またはデータ受信のための各種トランザクションの処理を通信コントローラ30に要求する。不揮発性メモリ20は、後述する履歴データ201を含む各種データ(プログラムを含む)を恒久的に保持することができるストレージデバイスである。
プロセッサ10は、通信相手との間でデータを送受信するために、通信コントローラ30の動作を制御する。具体的には、プロセッサ10は、データ送信またはデータ受信のための各種トランザクションの処理を通信コントローラ30に要求する。不揮発性メモリ20は、後述する履歴データ201を含む各種データ(プログラムを含む)を恒久的に保持することができるストレージデバイスである。
通信コントローラ30は、プロセッサ10の制御の下、インタフェース2経由でデータを送受信する。通信コントローラ30は、トランザクション・レイヤ31、データ・リンク・レイヤ32および物理レイヤ33を含む。物理レイヤ33は、物理サブブロック(PHY)33aおよびMACサブブロック33bを含む。
トランザクション・レイヤ31は、プロセッサ10から要求される各種トランザクションの処理を実行する。具体的には、トランザクション・レイヤ31は、トランザクション・レイヤ・パケット(TLP)の構築および処理を実行する。TLPは、通信相手のトランザクション・レイヤ31との間でやりとりされるパケットである。
データ・リンク・レイヤ32は、トランザクション・レイヤ31と物理レイヤ33との間の中間レイヤであり、インタフェース2に含まれるリンクの管理と、データ・リンク・レイヤ・パケット(DLLP)の構築および処理とを実行する。DLLPは、通信相手のデータ・リンク・レイヤ32との間でやりとりされるパケットである。PCIe規格に準拠するシリアルインタフェースであるインタフェース2は、デバイス間を接続するリンク(シリアルリンク)を含む。リンクは、複数のレーン(レーン0、レーン1、…、レーンN)を含む。各レーンは、送信用の差動信号線ペア(Tx+、Tx−)と、受信用の差動信号線ペア(Rx+、Rx−)とを含む。インタフェース2を介して接続される第1通信装置1−1と第2通信装置1−2とは、複数のレーン(レーン0、レーン1、…、レーンN)で構成されるリンクを介してデータ送信とデータ受信とを並行して実行することができる。PCIe規格においては、x1レーン、x2レーン、x4レーン、x8レーン、x12レーン、x16レーン、x32レーンがサポートされている。たとえばx4レーンのリンクの場合、リンクはレーン0〜レーン3を含む。DLLPには、フロー制御情報を送信するためのDLLP(Update FC DLLPなど)、肯定応答(アクノリッジ)を送信するためのDLLP(Ack DLLP)、否定応答(再送要求)を送信するためのDLLP(Nak DLLP)などが存在する。
また、データ・リンク・レイヤ32は、データの物理的な送受信を実行する物理レイヤ33に、通信相手が最適な出力波形でデータを送信するためのTXEQ決定回路321を含む。最適な出力波形は、通信相手との間で構築される伝送経路、具体的には、相手装置、ケーブル、自装置の3要素の組み合わせによって変化する。また、最適な出力波形は、相手装置から自装置へ向けたデータの出力波形と、自装置から相手装置へ向けたデータの出力波形とで異なり得る。データの出力波形は、通信相手との間のネゴシエーションによって決定される。TXEQ決定回路321は、このネゴシエーションの一環として、通信相手に要求するデータの出力波形を、選択肢として用意される複数の出力波形の中から決定する。つまり、第1通信装置1−1が第2通信装置1−2へ送信するデータ(第2通信装置1−2が第1通信装置1−1から受信するデータ)の出力波形は、受信側の装置である第2通信装置1−2によって決定される。一方、第2通信装置1−2が第1通信装置1−1へ送信するデータ(第1通信装置1−1が第2通信装置1−2から受信するデータ)の出力波形は、受信側の装置である第2通信装置1−2によって決定される。TxEQ決定回路321は、通信相手に要求するデータの出力波形を短時間で決定する仕組み(アルゴリズム)を備える。このTXEQ決定回路321が備える仕組みについては後述する。
物理レイヤ33は、リンクに含まれる複数のレーンを介してデータを物理的に送受信するインタフェース動作を実行する。物理レイヤ33は、このインタフェース動作のための様々な回路を含む。PCIe規格においては、ドライバ、入力バッファ、シリアライザ、デシリアライザ、エンコーダ、デコーダ、スクランブラ、デスクランブラ、バイトアライン回路、バイトストライピング回路、CDR(Clock Data Recovery)回路などが、インタフェース動作のための回路として存在する。ドライバ、シリアライザ、エンコーダ、スクランブラ、バイトストライピング回路は、データの送信に関する動作を行う回路であり、入力バッファ、デシリアライザ、デコーダ、デスクランブラ、バイトアライン回路、CDR回路は、データの受信に関する動作を行う回路である。
ドライバは、データを送信するために送信用の差動信号線ペア(Tx+、Tx−)を駆動する回路である。ドライバは、通信相手から要求されたデータの出力波形を形成するように、送信用の差動信号線ペア(Tx+、Tx−)を駆動する。
入力バッファは、受信用の差動信号線ペア(Rx+、Rx−)からデータを受信する回路であり、たとえばイコライザなどを含む。このイコライザによって、様々なデータの出力波形に対応することができる。また、入力バッファは、データの出力波形の品質を評価する機能を有する。
入力バッファは、受信用の差動信号線ペア(Rx+、Rx−)からデータを受信する回路であり、たとえばイコライザなどを含む。このイコライザによって、様々なデータの出力波形に対応することができる。また、入力バッファは、データの出力波形の品質を評価する機能を有する。
シリアライザは、送信データをパラレルデータからシリアルデータに変換する。デシリアライザは、受信されたシリアルデータをパラレルデータに変換する。エンコーダは、送信データを符号化する。デコーダは、受信された符号化データを復号する。スクランブラは、エンコーダによる符号化の前に、同じビット値が連続する長さが一定長以下となるように送信データをスクランブルする。デスクランブラは、スクランブルされている受信データをデスクランブルして元のデータを得る。
バイトストライピング回路は、バイトストライピング動作を実行する。バイトストライピング動作は、TLPやDLLPのような送信データを構成する複数のデータを複数のレーンに所定の単位で順番に割り当てる動作である。このように、物理レイヤ33がフレーミング動作を実行するので、データ・リンク・レイヤ32とトランザクション・レイヤ31とは、複数のレーンを意識する必要がない。物理レイヤ33が複数のレーンに対応して複数の送信回路(Tx回路)と複数の受信回路(Rx回路)とを備えるのに対して、データ・リンク・レイヤ32とトランザクション・レイヤ31とは各々、複数のレーンに共通の1つの送信回路(Tx回路)と、複数のレーンに共通の1つの受信回路(Rx回路)とを備える。
ここで、まず、図2から図4を参照して、デバイス間でのネゴシエーションに時間を要する原因の一つとなっている、PCIe規格に準拠するシリアルインタフェースにおいて選択肢として用意される様々なデータの出力波形について説明する。
図2は、PCIe規格に準拠するシリアルインタフェースにおいて選択肢として用意される42種類のデータの出力波形に関する設定値を表形式で示す図である。なお、図2は、ドライバの分割数が24の場合の例である。PCIeにおいては、ドライバの分割数として24〜63を取り得る。ここでは、ドライバの分割数が24の場合を例にとって説明する。
図2は、PCIe規格に準拠するシリアルインタフェースにおいて選択肢として用意される42種類のデータの出力波形に関する設定値を表形式で示す図である。なお、図2は、ドライバの分割数が24の場合の例である。PCIeにおいては、ドライバの分割数として24〜63を取り得る。ここでは、ドライバの分割数が24の場合を例にとって説明する。
図2中、横軸のC+1は、送信対象のデータに加算する、1タイミング前に送信されたデータの係数であり、縦軸のC-1は、送信対象のデータに加算する、1タイミング後に送信されるデータの係数である。PCIe規格に準拠するシリアルインタフェースにおいては、図3に示すように、送信対象のデータ(C0)b1が、1タイミング前に送信されたデータの一部(C+1)b2と、1タイミング後に送信されるデータの一部(C-1)b3とが加算されて出力される。図2に示すように、送信対象のデータに加算する、1タイミング前に送信されたデータの係数(C+1)の下限は0/24で上限は8/24であり、1タイミング後に送信されるデータの係数(C-1)の下限は0/24で上限は6/24である。また、送信対象のデータ(C0)に加算する、1タイミング前に送信されたデータの係数(C+1)と、1タイミング後に送信されるデータの係数(C-1)との和の上限は8/24である。
そして、図2中、横軸のC+1の何れかと縦軸のC-1の何れかとの交点に配置される42個の枠が、各々、C+1とC-1との組み合わせで設定されるデータの出力波形に関する設定値を示している。つまり、PCIe規格に準拠するシリアルインタフェースにおいては、C+1とC-1との2つの係数によって42種類のデータの出力波形を設定し得る。各枠内には、3つの数字が示されている。上段左部の数字は、C+1およびC-1によって定まるPreshoot(PS)の値、上段右部の数字は、C+1およびC-1によって定まるDe-emphasis(DE)の値、下段中央部の数字は、C+1およびC-1によって定まるBoost(BOOST)の値に対応する。Preshoot、De-emphasis、Boostは、図4に示すように、データの出力波形の特性を示す。通信装置1は、たとえばC+1とC-1との2つの係数を通知することで、通信相手に対して、意図する特性の波形でデータを出力することを要求する。
また、図2中、符号a1で示される枠内のハッチングと同じハッチングが施された6個の枠と、符号a2で示される枠内のハッチングと同じハッチングが施された4個の枠との計10個の枠は、42種類のC+1とC-1との組み合わせの中からPresetとして予め指定された10種類のC+1とC-1との組み合わせを示す。本来、42種類のC+1とC-1との組み合わせの中から最適なC+1とC-1との組み合わせ、つまり、最適なデータの出力波形を選択することが望ましいが、候補を絞り込むことで、選択のための所要時間を短縮することができる。もちろん、最適なデータの出力波形がPresetとして予め指定された10種類のC+1とC-1との組み合わせ以外であることも考えられるが、選択のための所要時間の短縮を優先する場合には、当該10種類のC+1とC-1との組み合わせの中から最適なデータの出力波形を選択する。なお、42種類のC+1とC-1との組み合わせは、TXEQ設定またはCoefficientと称される。つまり、Presetは、42種類のCoefficientの中から予め指定された10種類のCoefficientである。また、通信相手と協働して当該通信相手に要求するデータの出力波形を選択する手続きは、Equalizationと称される。さらに、Equalizationの手続きにおいて複数のTXEQ設定の中から最適なTXEQ設定を探索する行為は、Sweepと称される。
ここで、図5を参照して、一比較例について説明する。図5には、たとえば第1通信装置1−1と第2通信装置1−2とがインタフェース2を介した通信を開始する場合における、第2通信装置1−2が第1通信装置1−1に要求するデータの出力波形を選択する手続きであるEqualizationの典型的な流れが示されている。第1通信装置1−1が第2通信装置1−2に要求するデータの出力波形を選択する手続きであるEqualizationの典型的な流れも同様であるので、ここでは、その説明は省略する。
第2通信装置1−2は、第1通信装置1−1に対して、1個目のPreset(TXEQ=P1)でのトレーニングを要求する(S1_1)。この要求を受けた第1通信装置1−1は、第2通信装置1−2に対して1個目のPresetに応じたテストデータを送信する(S2_1)。このテストデータを受信した第2通信装置1−2は、受信データの波形品質を評価、具体的には、1個目のPresetに応じたテストデータを評価する(S3_1)。
第2通信装置1−2は、1個目のPreset(TXEQ=P1)でのトレーニングであるS1_1〜S3_1に相当する処理を、1個目のPreset(TXEQ=P1)から10個目のPreset(TXEQ=P10)までの10回分繰り返す。図5のS1_10〜S3_10は、10個目のPreset(TXEQ=P10)についての処理を示している。
1個目のPreset(TXEQ=P1)から10個目のPreset(TXEQ=P10)まで一通り評価を終えた第2通信装置1−2は、それら10個のPresetの中から最も評価の高かったPresetを最適なTXEQ設定として決定し(S4)、第1通信装置1−1に対して、決定したTXEQ設定での再トレーニングを要求する(S5)。この要求を受けた第1通信装置1−1は、第2通信装置1−2に対して最適と決定されたTXEQ設定に応じたテストデータを送信する。
ところで、たとえば第4世代PCIe仕様(Gen4)において、リンクをデータ送受信が実行可能な通常状態であるL0ステートに遷移させるためには、図6に示すように、第3世代PCIe仕様(Gen3)レベルでのRecovery.Equalization(c1)でリンクをL0ステートに遷移させた後、改めて、Gen4レベルでのRecovery.Equalization(c1)でリンクをL0ステートに遷移させる必要がある。そして、Recovery.Equalization(c1)のPhase0〜Phase3の4つのPhaseの中のPhase2(c2)において、たとえば図5に示したような手順で、第1通信装置1−1と第2通信装置1−2とが協働することが必要となる。つまり、デバイス間でのネゴシエーションに時間を要し、通信の開始が遅延することがある。そこで、本実施形態の通信装置1は、ネゴシエーションの所要時間を短縮する仕組み(アルゴリズム)を備えたものであり、以下、この点について説明する。
前述したように、本実施形態の通信装置1のデータ・リンク・レイヤ32は、物理レイヤ33が通信相手から最適な出力波形でデータを受信するためのTXEQ決定回路321を含む。TXEQ決定回路321は、Equalizationによって、図2に示した42種類のTXEQ設定の中から最適なTXEQ設定を決定するにあたり、図7に示すような、ステージ0〜ステージ3の4つのステージを管理する。
ステージ0は、図5を参照して説明した、Equalizationの典型的な流れである、すべてのPresetをSweepする段階である(A1)。ステージ0は、初期段階であり、TXEQ決定回路321は、まず、このステージ0で、すべてのPresetをSweepして、その中から最適なPresetを決定する。また、TXEQ決定回路321は、最適なPresetを決定した場合、そのPresetに対応したTXEQ設定情報を履歴データ201として不揮発性メモリ20に格納する。ステージ0は、不揮発性メモリ20に履歴データ201が格納されていない場合に実行される。つまり、通常、TXEQ決定回路321は、1度、すべてのPresetをSweepして、その中から最適なPresetを決定すると、ステージ1へ移行する。TXEQ決定回路321は、ステージ0〜ステージ3のどのステージの状態にあるのかについても、たとえば履歴データ201の属性情報として不揮発性メモリ20に格納する。また、履歴データ201は、通信相手を識別可能に不揮発性メモリ20に格納される。つまり、通信相手ごとに、履歴データ201が不揮発性メモリ20に格納されているか否かや、ステージ0〜ステージ3のどのステージの状態にあるのかなどを判定できる。通信相手を識別するための情報(識別子)としては、特定の情報に限定されず、様々な情報を使用し得る。
ステージ1は、選択Presetおよび周辺PresetをSweepする段階である(A2)。履歴データ201は、不揮発性メモリ20に格納されるので、通信装置1が電源オフされた後、再び電源オンされた場合においても、TXEQ決定回路321は、履歴データ201を参照することができる。
ステージ1における選択Presetは、履歴データ201によって示される、前回決定されたPresetや、最も多く決定されたPresetなどである。周辺PresetのSweepについて、図8を参照して説明する。
図8中、符号d1で示される黒塗りの星形が配置されたPresetが、たとえば前回決定されたPresetである。ステージ1に移行すると、TXEQ決定回路321は、選択Presetと、その選択Presetの周辺に位置するPresetを選択肢とし、その中から最適なTXEQ設定を決定する。図8中、符号d2で示される白抜きの星形が配置された複数のPresetが、周辺Presetである。図8では、3つのPresetが周辺Presetとして選択されている。周辺Presetの選択方法は、特定の方法に限定されず、種々の方法を適用し得る。たとえば、選択Presetとの間のC+1の値の差分とC-1の値の差分との和、又は各差分の和が一定値以内のPresetを周辺Presetとして選択する等でもよい。TXEQ決定回路321は、選択Presetと3つのPresetとをそれぞれSweepする。
図8中、符号d1で示される黒塗りの星形が配置されたPresetが、たとえば前回決定されたPresetである。ステージ1に移行すると、TXEQ決定回路321は、選択Presetと、その選択Presetの周辺に位置するPresetを選択肢とし、その中から最適なTXEQ設定を決定する。図8中、符号d2で示される白抜きの星形が配置された複数のPresetが、周辺Presetである。図8では、3つのPresetが周辺Presetとして選択されている。周辺Presetの選択方法は、特定の方法に限定されず、種々の方法を適用し得る。たとえば、選択Presetとの間のC+1の値の差分とC-1の値の差分との和、又は各差分の和が一定値以内のPresetを周辺Presetとして選択する等でもよい。TXEQ決定回路321は、選択Presetと3つのPresetとをそれぞれSweepする。
ステージ1においては、Sweep対象が10個のPresetから4個のPresetへ絞られているため、最適なTXEQ設定を決定する所要時間が短縮される。
また、TXEQ決定回路321は、履歴データ201を参照することで、決定されたPresetが特定のPresetに収束したことを判定することができる。この判定方法は、特定の方法に限定されず、種々の方法を適用し得る。たとえば、履歴データ201が一定数以上蓄積された状況下において、予め定められる割合を超えて決定されているPresetが存在する場合、決定されるPresetが特定のPresetに収束したと判定する等でもよい。特定のPresetは、1つに限らず、複数であってもよい。図7に示したように、このステージ1において、決定されるPresetが特定のPresetに収束した場合、TXEQ決定回路321は、ステージ2へ移行する。なお、TXEQ決定回路321は、単に、選択Presetと3つのPresetとのSweepを完了していずれかのPresetを選択したら、ステージ2へ移行するようにしてもよい。
また、TXEQ決定回路321は、履歴データ201を参照することで、決定されたPresetが特定のPresetに収束したことを判定することができる。この判定方法は、特定の方法に限定されず、種々の方法を適用し得る。たとえば、履歴データ201が一定数以上蓄積された状況下において、予め定められる割合を超えて決定されているPresetが存在する場合、決定されるPresetが特定のPresetに収束したと判定する等でもよい。特定のPresetは、1つに限らず、複数であってもよい。図7に示したように、このステージ1において、決定されるPresetが特定のPresetに収束した場合、TXEQ決定回路321は、ステージ2へ移行する。なお、TXEQ決定回路321は、単に、選択Presetと3つのPresetとのSweepを完了していずれかのPresetを選択したら、ステージ2へ移行するようにしてもよい。
ステージ2は、選択Presetおよび周辺CoefficientをSweepする段階である。ステージ2における選択Presetは、履歴データ201によって示される、ステージ1で収束した特定のPresetである。周辺CoefficientのSweepについて、図9を参照して説明する。
図9中、符号e1で示される黒塗りの星形が配置されたPresetが、選択Presetである。ステージ2に移行した場合、TXEQ決定回路321は、選択Presetと、選択Presetの周辺に位置するCoefficientとを選択肢とし、その中から最適なTXEQ設定を決定する。選択肢として選択されるCoefficientは、Presetか否かを問わない。図9中、符号e2で示される太線の枠で囲まれたCoefficientが、周辺Coefficientである。周辺Coefficientの選択方法は、特定の方法に限定されず、種々の方法を適用し得る。たとえば、選択PresetとC+1の値またはC-1の値の一方が同じで、他方が隣接するCoefficientを周辺Coefficientとして選択する等でもよい。なお、ここでは、C+1とC-1との2つの係数でデータの出力波長が設定される場合を想定しているが、データの出力波形が1つの係数で設定される場合、その係数が隣接する前後のCoefficientを周辺Coefficientとして選択してもよい。また、データの出力波形が3つ以上の係数で設定される場合、(係数の数−1)個の係数の値が同一であり、残りの1個の係数の値が隣接する(係数の数×2)個のCoefficientを周辺Coefficientとして選択してもよい。
ステージ2においても、Sweep対象がステージ0での10個のPresetと比較して5個のCoefficientと少ないため、最適なTXEQ設定を決定する所要時間が短縮される。加えて、ステージ2においては、Sweep対象がPresetに限定されないため、データの出力波形の品質向上が期待できる。
そして、このステージ2において、決定されるCoefficientが特定のCoefficientに収束した場合、TXEQ決定回路321は、ステージ3へ移行する(図7:A4)。なお、ステージ2における特定のCoefficientは、1つであることが好ましい。
ステージ3は、選択Coefficientのみに限定する段階である。ステージ3における選択Coefficientは、ステージ2における選択Presetと同様、履歴データ201によって示される、ステージ2で収束した特定のCoefficientである。ステージ3における選択Coefficientの例を図10に示す。
図10中、符号f1で示される黒塗りの星形が配置されたCoefficientが、選択Coefficientである。ステージ3に移行した場合、TXEQ決定回路321は、この選択Coefficientを最適なTXEQ設定として即時的に決定する。
ステージ3においては、最適なTXEQ設定が即時的に決定されるので、最適なTXEQ設定を決定する所要時間がさらに短縮される。
このように、本実施形態の通信装置1においては、履歴データ201を不揮発性メモリ20に格納し、この履歴データ201を用いた学習によって、最適なTXEQ設定にたどり着くまでの時間を短縮することができる。また、Presetに限定されず、すべてのCoefficientから最適なTXEQ設定が選択されるので、より良い受信特性を得ることができる。
このように、本実施形態の通信装置1においては、履歴データ201を不揮発性メモリ20に格納し、この履歴データ201を用いた学習によって、最適なTXEQ設定にたどり着くまでの時間を短縮することができる。また、Presetに限定されず、すべてのCoefficientから最適なTXEQ設定が選択されるので、より良い受信特性を得ることができる。
ところで、たとえば同じ通信相手との間であっても、たとえば環境温度や経時的変化などによって、データの出力波形の品質は変化し得る。そのため、ステージ3まで到達した後、即時的に決定されるTXEQ設定が、実は、最適なTXEQ設定ではなくなっているという事態も生じ得る。
前述したように、物理レイヤ33の入力バッファは、データの出力波形の品質を評価する機能を有する。本実施形態の通信装置1は、ステージ3において即時的に決定されるTXEQ設定によるデータの出力波形の品質が閾値を下回った場合、その通信相手に関する履歴データ201を不揮発性メモリ20から削除して、ステージ0(すべてのPresetをSweep)を再実行する。この結果、ステージ1に戻ることになる。このように、本実施形態の通信装置1は、たとえばデバイス特性が変わって最適なTXEQ設定が変化する場合に対しても適切に対処することができる。
図11Aおよび図11Bは、本実施形態の通信装置1において実行されるEqualizationの手順を示すフローチャートである。
TXEQ決定回路321は、通信相手に関する履歴データ201が不揮発性メモリ20に格納されているか否かを確認する(B1)。格納されていない場合、すなわち現在の状態がステージ0である場合、(B1:NO)、TXEQ決定回路321は、すべてのPresetをSweepする(B2)。
TXEQ決定回路321は、通信相手に関する履歴データ201が不揮発性メモリ20に格納されているか否かを確認する(B1)。格納されていない場合、すなわち現在の状態がステージ0である場合、(B1:NO)、TXEQ決定回路321は、すべてのPresetをSweepする(B2)。
TXEQ決定回路321は、B2のSweepで選択したPresetを履歴データ201として不揮発性メモリ20に格納する(B3)。TXEQ決定回路321は、履歴データ201と共に、ステージ1を示す情報を履歴データ201の属性情報として不揮発性メモリ20に格納し(B4)、Equalizationを終了する。履歴データ201は、通信相手を識別可能に不揮発性メモリ20に格納される。なお、B3とB4との順序は逆でもよい。
履歴データ201が格納されている場合(B1:YES)、TXEQ決定回路321は、現在の状態がステージ1であるか否かを確認する(B5)。現在の状態がステージ1の場合(B5:YES)、TXEQ決定回路321は、履歴データ201で示される、たとえば前回のEqualizationで選択されたPresetおよびその周辺Presetを選択肢としてSweepを実行する(B6)。
TXEQ決定回路321は、B6のSweepで選択したPresetを履歴データ201として不揮発性メモリ20に格納する(B7)。TXEQ決定回路321は、不揮発性メモリ20に格納される履歴データ201から、選択されるPresetが収束しているか否かを確認する(B8)。収束している場合(B8:YES)、TXEQ決定回路321は、ステージ2を示す情報を履歴データ201の属性情報として不揮発性メモリ20に格納し(B9)、Equalizationを終了する。収束していない場合は(B8:NO)、TXEQ決定回路321は、B9を実行せずに、そのままEqualizationを終了する。
また、現在の状態がステージ2の場合(B5:NO、B11:YES)、TXEQ決定回路321は、履歴データ201で示される、ステージ1で収束した特定のPresetおよびその周辺Coefficientを選択肢としてSweepを実行する(B12)。
TXEQ決定回路321は、B12のSweepで選択したCoefficientに関する情報を履歴データ201として不揮発性メモリ20に格納する(B13)。TXEQ決定回路321は、不揮発性メモリ20に格納されている履歴データ201から、選択したCoefficientが収束しているか否かを確認する(B14)。収束している場合(B14:YES)、TXEQ決定回路321は、ステージ3を示す情報を履歴データ201の属性情報として不揮発性メモリ20に格納し(B15)、Equalizationを終了する。収束していない場合は(B14:NO)、TXEQ決定回路321は、B15を実行せずに、そのままEqualizationを終了する。
また、現在の状態がステージ3の場合(B11:NO)、TXEQ決定回路321は、履歴データ201で示される、ステージ2で収束した特定のCoefficientを即時的に選択する(B16)。この場合、TXEQ決定回路321は、このCoefficientによるデータの出力波形の品質が閾値以上か否かを確認する(B17)。閾値以上の場合(B17:YES)、TXEQ決定回路321は、そのままEqualizationを終了する。閾値を下回っている場合(B17:NO)、TXEQ決定回路321は、通信相手に関するTXEQ決定履歴データ201を不揮発性メモリ20から削除し(B18)、B2に戻って、すべてのPresetを対象としたSweepを実行する。
以上のように、本実施形態の通信装置1においては、最適なTXEQ設定にたどり着くまでの時間を短縮することができる。また、Presetに限定されず、すべてのCoefficientから最適なTXEQ設定が選択されるので、より良い受信特性を得ることができる。さらに、たとえばデバイス特性が変わって最適なTXEQ設定が変化する場合に対しても適切に対処することができる。つまり、本実施形態の通信装置1は、デバイス間でのネゴシエーションの所要時間を短縮することができる。
なお、ここでは、TXEQ決定回路321が、ステージ0〜ステージ3の4つのステージを管理することを想定したが、各ステージについて種々の変更を施してもよい。たとえば、ステージ1において、選択Presetと周辺Presetとを選択肢とすることに代えて、選択Presetと周辺Coefficientとを選択肢とするようにしてもよい。この場合、ステージ2における周辺Coefficientとの違いは、ステージ2における周辺Coefficientは係数が隣接するものであるのに対して、ステージ1における周辺Coefficientは係数の差分の和が一定値以内のものである点である。
また、ステージ0〜ステージ3の4つのステージの中のいずれかのステージを省略してもよい。たとえば、ステージ1を省略して、ステージ0で選択されたPresetと、このPresetと係数が隣接するCoefficientとを選択肢としてステージ2のsweepを実行するようにしてもよい。あるいは、ステージ2を省略して、ステージ1で収束したCoefficientをステージ3で即時的に決定するようにしてもよい。
図12は、本実施形態の通信装置1がストレージ装置4として実現されている例を示す図である。なお、ホスト装置3も、本実施形態の通信装置1の一実現例であってもよい。
ストレージ装置4は、たとえばSoCなどの半導体集積回路で構成されるコントローラ41と、たとえばDRAMなどであるバッファメモリ42と、たとえばNAND型フラッシュメモリなどであるストレージ43とを有している。コントローラ41は、ホスト装置3からのコマンドに応じて、バッファメモリ42をデータの一時的な格納領域として利用しながら、ストレージ43へのデータの書き込みおよびストレージ43からのデータの読み出しを実行する。そして、このコントローラ41が、前述の通信コントローラ30を備える。
ストレージ装置4は、たとえばSoCなどの半導体集積回路で構成されるコントローラ41と、たとえばDRAMなどであるバッファメモリ42と、たとえばNAND型フラッシュメモリなどであるストレージ43とを有している。コントローラ41は、ホスト装置3からのコマンドに応じて、バッファメモリ42をデータの一時的な格納領域として利用しながら、ストレージ43へのデータの書き込みおよびストレージ43からのデータの読み出しを実行する。そして、このコントローラ41が、前述の通信コントローラ30を備える。
ストレージ装置4のコントローラ41が備える通信コントローラ30は、ホスト装置3との間の通信を制御する。前述したように、通信コントローラ30は、TXEQ決定回路(アルゴリズム)321を有している。このTXEQ決定回路321は、TXEQ決定履歴データ201をストレージ43に格納する。TXEQ決定回路321は、ストレージ43に格納されるTXEQ決定履歴データ201に基づき、ホスト装置3との間でEqualizationを実行する。
前述したように、TXEQ決定回路321が実行する、TXEQ決定履歴データ201に基づいたEqualizationによって、ストレージ装置4は、最適なTXEQ設定にたどり着くまでの時間を短縮することができ、また、より良い受信特性を得ることができ、さらに、たとえばデバイス特性が変わって最適なTXEQ設定が変化する場合に対しても適切に対処することができる。
したがって、本実施形態の通信装置1の一実現例であるストレージ装置4においては、たとえば電源オンされてからホスト装置3と通信を開始できるようになるまでの起動時間を短縮することが実現される。
また、ストレージ装置4は、PresetをSweepしたときや、選択されるPresetが収束したと判定したときなどの環境温度の情報も、履歴データ201の属性情報としてストレージ43に格納してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
また、ストレージ装置4は、PresetをSweepしたときや、選択されるPresetが収束したと判定したときなどの環境温度の情報も、履歴データ201の属性情報としてストレージ43に格納してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…通信装置、2…インタフェース、10…プロセッサ、20…不揮発性メモリ、30…通信コントローラ、31…トランザクション・レイヤ、32…データ・リンク・レイヤ、33…物理レイヤ、33a…物理サブブロック、33b…MACサブブロック、201…履歴データ、321…TXEQ決定回路。
Claims (13)
- 不揮発性メモリと、
インタフェースを介して外部装置からデータを受信する受信回路と、
前記受信回路によって受信される前記外部装置からのデータの出力波形を決定する制御回路と、
を具備し、
前記制御回路は、
前記データの出力波形をN種類(Nは3以上の自然数)の出力波形の候補の中から決定したことに応じて、当該決定した出力波形に関する情報を前記不揮発性メモリへ記録し、
前記出力波形に関する情報が前記不揮発性メモリに記録されている状況下において前記データの出力波形を決定する場合、前記不揮発性メモリに記録されている前記出力波形に関する情報に基づき、前記N種類の出力波形の中のM(M<N)(MはN−2以上の自然数)種類以下の出力波形を選択肢として前記データの出力波形を決定する、
通信装置。 - 前記N種類の出力波形は、それぞれ1以上の係数によって設定され、
前記制御回路は、前記不揮発性メモリに記録されている前記出力波形に関する情報で示される出力波形に関する前記1以上の係数の値と、前記N種類の出力波形の中の一部または全部の出力波形に関する前記1以上の係数の値とに基づき、前記M種類以下の出力波形を選択する、
請求項1に記載の通信装置。 - 前記制御回路は、前記N種類の出力波形の候補の中の一部または全部の出力波形の候補の中から前記不揮発性メモリに記録されている前記出力波形に関する情報で示される出力波形と前記1以上の係数の値の差分が第1閾値以内である前記M種類以下の出力波形を選択する請求項2に記載の通信装置。
- 前記制御回路は、前記N種類の出力波形の候補の中の一部または全部の出力波形の候補の中から前記M種類以下の出力波形を選択し、当該選択した前記M種類以下の出力波形の候補の中から前記データの出力波形を決定する段階を第1段階として、前記第1段階において決定される出力波形の種類数が第2閾値以内に収束したことに応じて、前記N種類の出力波形の中の前記第2閾値以内の種類数の出力波形と前記1以上の係数の中の一部の係数の値が一致し、かつ、前記一部の係数以外の係数の値が順序的に連続する出力波形を選択肢として前記データの出力波形を決定する第2段階へ移行する請求項2に記載の通信装置。
- 前記制御回路は、前記第2段階において決定される出力波形が1種類に収束した場合、当該1種類の出力波形を前記データの出力波形として決定する第3段階へ移行する請求項4に記載の通信装置。
- 前記制御回路は、前記第3段階において決定される出力波形によって前記外部装置から送信されるデータの出力波形の品質が第3閾値を下回った場合、前記不揮発性メモリに記録されている前記出力波形に関する情報を消去して、前記N種類の出力波形の候補の中から前記データの出力波形を決定する初期段階へ移行する請求項5記載の通信装置。
- 前記N種類の出力波形の中の一部の出力波形は、前記N種類の出力波形の中から予め指定されたL(L<N、L>M)種類の出力波形である請求項2から4のいずれか1項に記載の通信装置。
- 前記N種類の出力波形は、それぞれ1以上の係数によって設定され、
前記制御回路は、前記N種類の出力波形の候補の中から前記不揮発性メモリに記録されている前記出力波形に関する情報で示される出力波形と前記1以上の係数の中の一部の係数の値が一致し、かつ、前記一部の係数以外の係数の値が順序的に連続する前記M種類以下の出力波形を選択する、
請求項1に記載の通信装置。 - 前記制御回路は、前記N種類の出力波形の候補の中から前記M種類以下の出力波形を選択し、当該選択した前記M種類以下の出力波形の候補の中から前記データの出力波形を決定する段階を第1段階として、前記第1段階において決定される出力波形が1種類に収束した場合、当該1種類の出力波形を前記データの出力波形として決定する第2段階へ移行する請求項1に記載の通信装置。
- 前記制御回路は、前記第2段階において決定される出力波形によって送信されるデータの出力波形の品質が第3閾値を下回った場合、前記不揮発性メモリに記録されている前記出力波形に関する情報を消去して、前記N種類の出力波形の候補の中から前記データの出力波形を決定する初期段階へ移行する請求項9に記載の通信装置。
- 前記制御回路は、前記N種類の出力波形の中から予め指定されたL(L<N、L>M)種類の出力波形の候補の中から前記M種類以下の出力波形を選択し、当該選択した前記M種類以下の出力波形の候補の中から前記データの出力波形を決定する段階を第1段階として、前記第1段階において決定される出力波形が1種類に収束した場合、当該1種類の出力波形を前記データの出力波形として決定する第2段階へ移行する請求項1に記載の通信装置。
- 前記制御回路は、前記第2段階において決定される出力波形によって送信されるデータの出力波形の品質が第3閾値を下回った場合、前記不揮発性メモリに記録されている前記出力波形に関する情報を消去して、前記N種類の出力波形の候補の中から前記データの出力波形を決定する初期段階へ移行する請求項11に記載の通信装置。
- 不揮発性メモリと、インタフェースを介して外部装置からデータを受信する受信回路と、を具備する通信装置における、前記受信回路によって受信される前記外部装置からのデータの出力波形を決定する方法であって、
前記データの出力波形をN種類(Nは3以上の自然数)の出力波形の候補の中から決定したことに応じて、当該決定した出力波形に関する情報を前記不揮発性メモリへ記録することと、
前記出力波形に関する情報が前記不揮発性メモリに記録されている状況下において前記データの出力波形を決定する場合、前記不揮発性メモリに記録されている前記出力波形に関する情報に基づき、前記N種類の出力波形の中のM(M<N)(NはN−2以上の自然数)種類以下の出力波形を選択肢として前記データの出力波形を決定することと、
を具備する出力波形決定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052276A JP2020155916A (ja) | 2019-03-20 | 2019-03-20 | 通信装置および方法 |
US16/553,617 US11206158B2 (en) | 2019-03-20 | 2019-08-28 | Communication device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052276A JP2020155916A (ja) | 2019-03-20 | 2019-03-20 | 通信装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020155916A true JP2020155916A (ja) | 2020-09-24 |
Family
ID=72514651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019052276A Pending JP2020155916A (ja) | 2019-03-20 | 2019-03-20 | 通信装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11206158B2 (ja) |
JP (1) | JP2020155916A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102519484B1 (ko) * | 2021-02-18 | 2023-04-10 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 이를 포함하는 시스템 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000042609A1 (fr) * | 1999-01-18 | 2000-07-20 | Fujitsu Limited | Procede et dispositif de commande de signal reproduit |
JP2011130231A (ja) | 2009-12-18 | 2011-06-30 | Nec Corp | パラメータ設定装置およびパラメータ設定方法 |
JP5487996B2 (ja) | 2010-01-25 | 2014-05-14 | 富士通株式会社 | 適応等化器および適応等化方法 |
US9143369B2 (en) * | 2013-03-15 | 2015-09-22 | Intel Corporation | Adaptive backchannel equalization |
US9645965B2 (en) | 2013-03-15 | 2017-05-09 | Intel Corporation | Apparatus, system, and method for improving equalization with a hardware driven algorithm |
US20140307766A1 (en) * | 2013-04-16 | 2014-10-16 | Nvidia Corporation | Iteratively scanning equalization coefficients to optimize signal quality in a data communication link |
US9825787B1 (en) * | 2017-05-15 | 2017-11-21 | Western Digital Technologies, Inc. | Data storage device adapting two-dimensional equalizer based on off-track offset |
US20190044760A1 (en) * | 2018-06-20 | 2019-02-07 | Intel Corporation | Technologies for optimizing transmitter equalization with high-speed retimer |
-
2019
- 2019-03-20 JP JP2019052276A patent/JP2020155916A/ja active Pending
- 2019-08-28 US US16/553,617 patent/US11206158B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11206158B2 (en) | 2021-12-21 |
US20200304349A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8578086B2 (en) | Memory link initialization | |
US11574662B2 (en) | Memory devices configured to generate pulse amplitude modulation-based DQ signals, memory controllers, and memory systems including the memory devices and the memory controllers | |
US9842020B2 (en) | Multi-wire symbol transition clocking symbol error correction | |
US10163525B2 (en) | Test apparatus based on binary vector | |
JP2007110349A (ja) | Sataカメラシステム | |
US6442628B1 (en) | Method and system for automatically determining maximum data throughput over a bus | |
JP6409399B2 (ja) | 電子機器、通信制御回路および通信制御方法 | |
CN107918571B (zh) | 测试储存单元的方法以及使用该方法的装置 | |
US10090916B2 (en) | Optical module availability detection method and apparatus | |
CN107423160B (zh) | 一种提高NAND flash读速度的方法及装置 | |
TWI767997B (zh) | 通信裝置、通信方法、程式及通信系統 | |
JP2020155916A (ja) | 通信装置および方法 | |
JP6034273B2 (ja) | 送信装置、受信装置、送受信システムおよび画像表示システム | |
US20240030935A1 (en) | Encoding and decoding apparatuses and methods for implementing multi-mode coding | |
JP2021197583A (ja) | 電子機器および方法 | |
US9264267B2 (en) | Technologies for configuring transmitter equalization in a communication system | |
KR101978768B1 (ko) | 디스플레이포트 방식의 리피터 장치 및 그의 링크 트레이닝 방법 | |
CN102033713A (zh) | 电子系统、控制器及数据传输方法 | |
US8473665B2 (en) | Universal serial bus (USB) transaction translator and a universal serial bus (USB) isochronous-in transaction method | |
TWI638265B (zh) | 電子裝置、記憶體裝置及其資料交換方法 | |
US20150019772A1 (en) | Signal processing apparatus | |
US10498391B2 (en) | Methods and systems for reduction of nearest-neighbor crosstalk | |
CN112863562B (zh) | 存储器决策反馈均衡器 | |
US20130282926A1 (en) | Data transferring apparatus and method for inter-integrated circuit interface | |
WO2021102962A1 (zh) | 一种译码的方法、装置及控制设备 |