IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アンリツ株式会社の特許一覧

<>
  • 特開-誤り率測定装置及び誤り率測定方法 図1
  • 特開-誤り率測定装置及び誤り率測定方法 図2
  • 特開-誤り率測定装置及び誤り率測定方法 図3
  • 特開-誤り率測定装置及び誤り率測定方法 図4
  • 特開-誤り率測定装置及び誤り率測定方法 図5
  • 特開-誤り率測定装置及び誤り率測定方法 図6
  • 特開-誤り率測定装置及び誤り率測定方法 図7
  • 特開-誤り率測定装置及び誤り率測定方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134211
(43)【公開日】2024-10-03
(54)【発明の名称】誤り率測定装置及び誤り率測定方法
(51)【国際特許分類】
   H04L 1/00 20060101AFI20240926BHJP
   H04L 25/49 20060101ALI20240926BHJP
【FI】
H04L1/00 C
H04L25/49 L
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023044405
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】000000572
【氏名又は名称】アンリツ株式会社
(74)【代理人】
【識別番号】100067323
【弁理士】
【氏名又は名称】西村 教光
(74)【代理人】
【識別番号】100124268
【弁理士】
【氏名又は名称】鈴木 典行
(72)【発明者】
【氏名】城所 久生
【テーマコード(参考)】
5K014
5K029
【Fターム(参考)】
5K014BA05
5K014GA02
5K014GA06
5K029FF02
5K029KK27
(57)【要約】
【課題】ビットエラーだけでなく、Flitエラーの測定を同時に行う。
【解決手段】ハイスピードバス規格で定義されるレーン数に応じたEIEOSとSKPを含むFlitパターンの1周期、レーン数に応じたFlit長、SKP相当部分のマスクパターン長、SKP繰り返し周期相当のマスクパターン周期、Flitエラーを判別するための閾値、EISOS相当部分のマスクパターン長、EIEOSの挿入周期、Flitパターンのパターン先頭の設定を操作部2にて行う。エラー検出器4は、マスクパターンをシンボルマスク生成部27にて生成し、エラー検出部30により、被測定物WからのPAM4信号のFlit相当部分のエラーを検出してカウントし、Flitエラー検出部31により、Flit相当部分のECC GroupごとのFECシンボルエラーを検出してカウントし、FECシンボルエラー数が閾値を超えたものをFlitエラーと判定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ハイスピードバス規格で定義されるレーン数に応じたEIEOSとSKP OSを含むFlitパターンの1周期、レーン数に応じたFlit長、前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、Flitエラーを判別するための閾値、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期、前記Flitパターンのパターン先頭の設定を行う操作部(2)と、
前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期によるマスクパターンを生成するシンボルマスク生成部(27)と、被測定物(W)から送信される前記Flitパターンのビット列データに基づくPAM4信号を受信し、受信したPAM4信号の前記EIEOSと前記SKP OSに相当する部分を前記マスクパターンでマスクしてFlitに相当する部分のエラーを検出してカウントするエラー検出部(30)と、前記Flitに相当する部分のECC GroupごとのFECシンボルエラーを検出してFECシンボルエラー数をカウントし、FECシンボルエラー数が前記閾値を超えたものをFlitエラーと判定するFlitエラー検出部(31)と、前記エラー検出部にて検出される前記Flitに相当する部分のエラーの量が同期条件閾値を上回ったときに、前記Flitパターンのパターン先頭の再取得を指示する同期状態管理部(32)とを含むエラー検出器(4)と、
を備えたことを特徴とする誤り率測定装置。
【請求項2】
前記Flitパターンのビット列データに基づくPAM4信号を発生して前記被測定物に送信するパターン発生器(3)を備え、
前記被測定物は、自身の設定でループバック状態に遷移可能であり、ループバック状態のときに前記パターン発生器から送信される前記Flitパターンのビット列データに基づくPAM4信号を前記エラー検出器に折り返して送信することを特徴とする請求項1に記載の誤り率測定装置。
【請求項3】
ハイスピードバス規格で定義されるレーン数に応じたEIEOSとSKP OSを含むFlitパターンの1周期、レーン数に応じたFlit長、前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、Flitエラーを判別するための閾値、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期、前記Flitパターンのパターン先頭の設定を操作部(2)にて行うステップと、
前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期によるマスクパターンをエラー検出器(4)のシンボルマスク生成部(27)にて生成するステップと、
前記エラー検出器のエラー検出部(30)により、被測定物(W)から送信される前記Flitパターンのビット列データに基づくPAM4信号を受信し、受信したPAM4信号の前記EIEOSと前記SKP OSに相当する部分を前記マスクパターンでマスクしてFlitに相当する部分のエラーを検出してカウントするステップと、
前記エラー検出器のFlitエラー検出部(31)により、前記Flitに相当する部分のECC GroupごとのFECシンボルエラーを検出してFECシンボルエラー数をカウントし、FECシンボルエラー数が前記閾値を超えたものをFlitエラーと判定するステップと、
前記エラー検出器の同期状態管理部(32)により、前記エラー検出部にて検出される前記Flitに相当する部分のエラーの量が同期条件閾値を上回ったときに、前記Flitパターンのパターン先頭の再取得を指示するステップと、を含むことを特徴とする誤り率測定方法。
【請求項4】
前記被測定物が自身の設定でループバック状態に遷移可能であり、
前記Flitパターンのビット列データに基づくPAM4信号をパターン発生器(3)から発生して前記被測定物に送信するステップと、
前記被測定物がループバック状態のときに前記パターン発生器から前記被測定物に送信される前記Flitパターンのビット列データに基づくPAM4信号を前記被測定物から前記エラー検出器に折り返して送信するステップと、を含むことを特徴とする請求項3に記載の誤り率測定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自身の設定でループバック状態に遷移できるデバイスを被測定物とし、被測定物から送信されるFlitパターンのビット列データに基づくPAM4信号のエラー測定を行う誤り率測定装置及び誤り率測定方法に関する。
【背景技術】
【0002】
誤り率測定装置は、固定データを含む既知パターンのテスト信号を被測定物に送信し、このテスト信号の送信に伴って被測定物から折り返して受信した被測定信号と基準となる参照信号とをビット単位で比較してビット誤り率(BER:Bit Error Rate)を測定する装置として従来から知られている。
【0003】
また、下記特許文献1に開示されるように、IEEE 802.3規格に準拠したRS-FEC測定機能を有する誤り率測定装置が知られている。この誤り率測定装置では、コードワード長で区切った領域のコードワード長ごとのFECシンボルエラー数を集計し、各々のエラーカウント数及びエラーレートを取得して表示していた。
【0004】
ところで、PCI Express5.0の物理層評価は、被測定物のLTSSM(Link Training and Status State Machine)とリンクトレーニングを行って被測定物をLoopback状態(信号折り返しの状態)にし、MCP(Modified Compliance Pattern)を用いて行われていた。このときの性能指標は、BER<10-12 である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-136651号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
PCI Express6.0ではFECが導入された。しかしながら、PCI Express6.0でもMCPが定義されているが、FECガードの対象外となっている。そこで、FECガードされているFlitパターンでGen6物理層評価を行おうとした場合は、Flitパターンには1b/1b同期に必要なEIEOS(Electrical Idle Exit Ordered Set)が含まれないため、それだけではPCIe Gen6物理層が同期できない。
【0007】
さらに説明すると、PCI Express6.0のGen6のFlitは1b/1bエンコーディングされている。1b/1bエンコーディングでは、1b/1b同期をとるためにEIEOSが使用される。そして、L0ステートのときに流れるパターンだけを誤り率測定装置から被測定物に流してしまうと、L0におけるパターンは、図4(b)に示すように、Flit、SDS、SKP OS(SKP Ordered Sets)しか含まれないため、誤り率測定装置が被測定物からのEIEOSを受信できず、PCIe Gen6.0物理層では1b/1b同期が取れず、エラー測定ができないという問題が生じる。
【0008】
通常Flitを送受させるL0ステートは、EIEOSによる1b/1bシンボルの同期が完了した後に到達するステートであり、EIEOSは送受されない。L0ステートにおいて、EIEOSが流れると、Recoveryステートに遷移となってしまう。
【0009】
そこで、本発明は上記問題点に鑑みてなされたものであって、ビットエラーだけでなく、Flitエラーの測定を同時に行う誤り率測定装置及び誤り率測定方法を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の請求項1に記載された誤り率測定装置は、ハイスピードバス規格で定義されるレーン数に応じたEIEOSとSKP OSを含むFlitパターンの1周期、レーン数に応じたFlit長、前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、Flitエラーを判別するための閾値、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期、前記Flitパターンのパターン先頭の設定を行う操作部2と、
前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期によるマスクパターンを生成するシンボルマスク生成部27と、被測定物Wから送信される前記Flitパターンのビット列データに基づくPAM4信号を受信し、受信したPAM4信号の前記EIEOSと前記SKP OSに相当する部分を前記マスクパターンでマスクしてFlitに相当する部分のエラーを検出してカウントするエラー検出部30と、前記Flitに相当する部分のECC GroupごとのFECシンボルエラーを検出してFECシンボルエラー数をカウントし、FECシンボルエラー数が前記閾値を超えたものをFlitエラーと判定するFlitエラー検出部31と、前記エラー検出部にて検出される前記Flitに相当する部分のエラーの量が同期条件閾値を上回ったときに、前記Flitパターンのパターン先頭の再取得を指示する同期状態管理部32とを含むエラー検出器4と、
を備えたことを特徴とする。
【0011】
本発明の請求項2に記載された誤り率測定装置は、請求項1の誤り率測定装置において、
前記Flitパターンのビット列データに基づくPAM4信号を発生して前記被測定物に送信するパターン発生器3を備え、
前記被測定物は、自身の設定でループバック状態に遷移可能であり、ループバック状態のときに前記パターン発生器から送信される前記Flitパターンのビット列データに基づくPAM4信号を前記エラー検出器に折り返して送信することを特徴とする。
【0012】
本発明の請求項3に記載された誤り率測定方法は、ハイスピードバス規格で定義されるレーン数に応じたEIEOSとSKP OSを含むFlitパターンの1周期、レーン数に応じたFlit長、前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、Flitエラーを判別するための閾値、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期、前記Flitパターンのパターン先頭の設定を操作部2にて行うステップと、
前記SKP OSに相当する部分をマスクするためのマスクパターン長、前記SKP OSの繰り返し周期に相当するマスクパターン周期、前記EIEOSに相当する部分をマスクするためのマスクパターン長、前記EIEOSの挿入周期によるマスクパターンをエラー検出器4のシンボルマスク生成部27にて生成するステップと、
前記エラー検出器のエラー検出部30により、被測定物Wから送信される前記Flitパターンのビット列データに基づくPAM4信号を受信し、受信したPAM4信号の前記EIEOSと前記SKP OSに相当する部分を前記マスクパターンでマスクしてFlitに相当する部分のエラーを検出してカウントするステップと、
前記エラー検出器のFlitエラー検出部31により、前記Flitに相当する部分のECC GroupごとのFECシンボルエラーを検出してFECシンボルエラー数をカウントし、FECシンボルエラー数が前記閾値を超えたものをFlitエラーと判定するステップと、
前記エラー検出器の同期状態管理部32により、前記エラー検出部にて検出される前記Flitに相当する部分のエラーの量が同期条件閾値を上回ったときに、前記Flitパターンのパターン先頭の再取得を指示するステップと、を含むことを特徴とする。
【0013】
本発明の請求項4に記載された誤り率測定方法は、請求項3の誤り率測定方法において、
前記被測定物が自身の設定でループバック状態に遷移可能であり、
前記Flitパターンのビット列データに基づくPAM4信号をパターン発生器3から発生して前記被測定物に送信するステップと、
前記被測定物がループバック状態のときに前記パターン発生器から前記被測定物に送信される前記Flitパターンのビット列データに基づくPAM4信号を前記被測定物から前記エラー検出器に折り返して送信するステップと、を含むことを特徴とする。
【発明の効果】
【0014】
本発明によれば、被測定物をL0状態にすることなく、L0状態のときと同じFlitパターンを使用でき、ビットエラーとFlitエラーの関係を正しくは把握することができるようになる。また、FECでガードされたパターンと、FECでガードされていないパターンが混在する環境でもFECでガードされたパターンを識別し、Uncorrectableになるかの判定を行うことが可能となる。
【図面の簡単な説明】
【0015】
図1】本発明に係る誤り率測定装置の概略構成を示すブロック図である。
図2】PCI Express6.0規格で定義されるFlitの説明図である。
図3】FlitのECC Groupごとのエラー数、Flit内のFECシンボルエラー数ごとのFlit数の一例を示す図である。
図4】(a)本発明に係る誤り率測定装置によるエラー測定方法の概略説明図、(b)従来の誤り率測定装置によるエラー測定方法の概略説明図である。
図5】本発明に係る誤り率測定装置における各種エラー検出のタイミングチャートの一例を示す図である。
図6図1におけるFlitエラー検出部の内部構成を示すブロック図である。
図7】本発明に係る誤り率測定装置におけるECC Group毎のFECシンボルエラー検出のタイミングチャートの一例を示す図である。
図8】本発明に係る誤り率測定装置の処理動作のフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態について、添付した図面を参照しながら詳細に説明する。
【0017】
図1に示すように、本実施の形態の誤り率測定装置1は、自身の設定でループバック状態に遷移できるデバイスを被測定物(DUT:Device Under Test)Wとし、ハイスピードバス規格としてのPCI Express6.0(以下、PCIe Gen6と言う)規格の物理層のエラー測定において、Flitパターンを用いてビットエラーだけでなく、Flitエラー(FlitのFECがUncorrectableになるか)の測定を同時に行う機能を有するものであり、操作部2、パターン発生器3、エラー検出器4を備えて概略構成される。
【0018】
なお、本実施の形態が対象とするPCIe Gen6規格では、取り扱う信号がPAM4信号となる。また、Flitの概念はPCIe Gen6から定義されたが、同様のFlitの概念を用いた今後のPCI Express規格にも本発明の適用は可能である。さらに、本実施の形態では、PCIe Gen6を例示して説明するが、例えばUSB等の他のハイスピードバス規格において、Flitエラーを測定する場合にも本発明の適用は可能である。
【0019】
[Flitについて]
まず、本実施の形態の誤り率測定装置1が取り扱うPCIe Gen6規格で定義されるFlitについて図2および図3を参照しながら説明する。Flitは、PCIe Gen6規格において、LTSSM(Link Training and Status State Machine:リンク状態管理機構)のステートがL0のとき送信されるデータフォーマットであり、FECによるエラー訂正機能を有している。
【0020】
1Flitは、図2に示すように、3つのECC Group(ECC Group0、ECC Group1、ECC Group2)でインターリーブされる。1つのECC Groupは、1FECシンボル(4PAM4シンボル=8bit)で区切られる。
【0021】
そして、FlitがUncorrectableになる条件を要約すると、1Flit内において同じECC Groupに2回FECシンボルエラーが入った場合にUncorrectableとなる。
【0022】
さらに図3を用いて説明する。図3はFlitのECC Groupごとのエラー数、Uncorrectable数(2以上)、Flit内のFECシンボルエラー数(0~7、8以上)ごとのFlit数の一例を示している。なお、図3において、右下がりの斜線で示す部分はUncorrectableになる部分を示し、右上がりの斜線で示す部分はUncorrectableになる場合とUncorrectableにならない場合がある部分を示している。
【0023】
例えばFECシンボルエラー閾値:n≧2の場合を例にとって図3を参照しながら説明する。図3の点線で囲まれるA(Flit数:3)では、Flit内のFECシンボルエラーが2個発生しているが、別々のECC Group(この場合、ECC Group0とECC Group1)のエラー数が1個ずつなので、Uncorrectableにならない。
【0024】
これに対し、図3の点線で囲まれるB(Flit数:5)では、Flit内のFECシンボルエラーが4個発生しているだけでなく、ECC Groupごとのエラー数で見ても、何れかのECC Group(この場合、ECC Group0)のエラー数が2個なので、Uncorrectableになる。
【0025】
また、図3の点線で囲まれるC(Flit数:9)では、Flit内のFECシンボルエラーが2個発生し、同じECC Group(この場合、ECC Group0)のエラー数が2個なので、Uncorrectableになる。
【0026】
このように、PCIe Gen6では、新しくFlitのモードが導入されており、Flitは256FECシンボル長(1FECシンボル=8bit)で、FECによるエラー訂正機能を有している。また、Gen6のFlitは1b/1bエンコーディングされているものなので、1FECシンボル=1b/1bシンボルでもある。FlitのFECは、3-way interleaved ECCであり、各ECC Groupはシングルバイトエラー(1FECシンボルのエラー)を訂正することができる。
【0027】
そして、1Flitでは、3FECシンボルまでの誤りが訂正可能であり、誤り訂正ができない場合、Flitエラー(ECCがUncorrectable)となる。しかし、3FECシンボル誤りでも誤り位置の発生状況によっては、訂正不可となってしまう。例えば、ECC Group0のシンボル0、ECC Group1のシンボル1、ECC Group2のシンボル2が誤りであった場合は訂正可能であるが、同じECC Group0のシンボル0、3、6が誤りであった場合は訂正不可となる。これは同じビットエラーレートでも、ビットエラーの発生位置によってFlitエラー発生数が異なることを意味する。
【0028】
[本発明の概要について]
図4(a)に示すように、誤り率測定装置1は、EIEOSを定期的に挿入したFlitパターンを使用し、ビットエラーとFlitエラーを同時に測定する。このとき、SKP OS(SKP Ordered Sets、以下、SKPと省略する:図面上では「SKP」にて図示)位置のパターンをマスクし、さらにEIEOS位置のパターンをマスクすることで測定対象外とし、Flit部分のみのエラー(ビットエラー、PAM4シンボルエラー、FECシンボルエラー)をカウントする。また、Flit部分については、ECC GroupごとのFECシンボルエラーをカウントし、FECシンボルエラー数がFECシンボルエラー閾値を超えたものをFlitエラーと判定する。
【0029】
なお、EIEOSを挿入する影響は、FlitとSKP部分の長さを、EIEOS長よりも十分長くとることでほとんど無視することができる。EIEOS挿入周期すなわちパターン長L[bit]の定め方は以下の通りである。
【0030】
SKP挿入間隔t[Flit]は、PCIe Gen6規格で定められている。また、Flitは、LFSR:G(X)=X23+X21+X16+X8+X5+X2+1でスクランブルされているので、EIEOS周期は、LFSR_L=2^23-1=8,388,607[bit]長以上を確保する。これ以下だと、スクランブル値で出現しない値が出てしまう。
【0031】
そこで、スクランブル長LFSR_L[bit]と、Flit長Flit_L[bit]の最小公倍数LCM_LFSR_Flitを求める(下記式(1))。
【0032】
LCM(LFSR_L、Flit_L)=LCM_LFSR_Flit…式(1)
【0033】
これより、LCMに到達Flit数LCM_Flit[Flit]は、下記式(2)のように表される。
【0034】
LCM_Flit=LCM_LFSR_Flit/Flit_L…式(2)
【0035】
次に、LFSR以上となるSKP数(切り上げして整数とする)LCM_skp_tは下記式(3)のように表される。ここで、ceil()は正の数の小数点以下を切り上げた数を表す。
【0036】
LCM_skp_t=ceil(LCM_Flit/t)…式(3)
【0037】
また、LFSR1周期以上を回すFlit数Flit_1fsr_t[Flit]は、下記式(4)により求めることができる。
【0038】
Flit_1fsr_t=t×LCM_skp_t…式(4)
【0039】
ここで、定期的にSKPを挿入する必要があることから、FlitとSKPの1ペアをFlit周期長Flit_size[bit]とすると、下記式(5)のように表される。
【0040】
Flit_size[bit]=SKP_L+t×Flit_L…式(5)
【0041】
なお、SKP_LはSKPのパターン長[bit]である。
【0042】
したがって、パターン長L[bit]は、下記式(6)で求めることができる。
【0043】
L[bit]=EIEOS長[bit]+(LCM_skp_t×Flit_size)×n[bit](n=1以上の整数)…式(6)
【0044】
このパターン長L[bit]の中に含まれるFlit数は、式(4)×nとなる。
【0045】
そして、EIEOS長は128bitであり、nを大きくとれば、パターン長L[bit]におけるEIEOSはほとんど無視することができる。
【0046】
PCIe Gen6規格では、物理層がビットエラー性能指標を満たしても、ストレス条件よってはFlitエラーが起きる可能性がある。これに対し、ビットエラーとFlitエラーを同時に測定することで、ビットエラーとFlitエラーの相関性を明らかにし、Flitエラーが起きるか否かを知ることができる。
【0047】
また、Flitは、Transaction Layerのユーザーデータを運んでおり、Flitエラーが起きた際、ユーザーデータを再送処理することでリカバリされるが、これが多発するようでは、PCIe Gen6本来の帯域で通信ができない。これに対し、ビットエラー測定とFlitエラー測定を同時に行うことで、ユーザーデータ使用時のスループット性能、すなわち、PCIe Gen6本来の帯域を使用できているか否かを正確に把握することができるようになる。
【0048】
[誤り率測定装置の各部の構成について]
操作部2は、設定手段や表示手段としても機能するものであり、図1の誤り率測定装置1の本体に備える例えば操作ノブ、各種キー、スイッチ、ボタンや表示手段の表示画面上のソフトキーなどのユーザインタフェースで構成され、ユーザの操作に応じて各種設定、指示や測定結果の表示を行う。
【0049】
操作部2にて設定される設定内容としては、レーン数に応じたFlitパターン(含むEIEOS,SKP)の1周期、レーン数に応じたFlit長、SKPに相当する部分をマスクするためのマスクパターン長、SKPの繰り返し周期に相当するマスクパターン周期、Flitエラーを判別するための閾値、EIEOSに相当する部分をマスクするためのマスクパターン長、EIEOSの挿入周期、Flitパターンのパターン先頭の設定がある。
【0050】
パターン発生器3は、操作部2からの指示に従い、Flitエラー測定パターンを発生するもので、図1に示すように、Flitパターン発生部11、ビット分割部12、PAM4エンコーダ13を備えて構成される。
【0051】
Flitパターン発生部11は、被測定物Wに送信するFlitエラー測定パターンの元になるパターンとして、操作部2にて設定されるレーン数に応じたFlitパターン(式(6)で算出されるパターン(含むEIEOS,SKP))を発生する。
【0052】
ビット分割部12は、Flitパターン発生部11が発生するFlitパターンを最上位ビット列データ(以下、MSBデータと言う)と最下位ビット列データ(以下、LSBデータと言う)に分割する。
【0053】
PAM4エンコーダ13は、ビット分割部12にて分割されたMSBデータとLSBデータをPAM4エンコードし、PAM4エンコードしたPAM4信号をFlitエラー測定パターンとして出力する。
【0054】
エラー検出器4は、パターン発生器3からFlitエラー測定パターン(PAM4信号)が被測定物Wに送信されたときに、被測定物W自身のループバックにより折り返されるFlitエラー測定パターン(PAM4信号)を受信してエラーを検出するもので、PAM4デコーダ21、ビット合成部22、EIEOS同期部23、ビット分割部24、同期パターン検出部25、リファレンスパターン生成部26、シンボルマスク生成部27、第1遅延部28、第2遅延部29、エラー検出部30、Flitエラー検出部31、同期状態管理部32を備えて構成される。
【0055】
PAM4デコーダ21は、被測定物Wから受信したFlitエラー測定パターン(PAM4信号)のPAM4シンボルを、MSBデータとLSBデータにデコードして分離する。
【0056】
ビット合成部22は、PAM4デコーダ21にてデコードされたMSBデータとLSBデータをビットMUXにより合成してEIEOS同期部23に出力する。
【0057】
EIEOS同期部23は、ビット合成部22にてビットMUXにより合成された入力データからPCIe Gen6のEIEOSパターンを見つけて1b/1bシンボル同期(8bitの区切り)を取り、入力データをシンボル境界で揃えてビット分割部24に出力する。
【0058】
ビット分割部24は、EIEOS同期部23からのデータをビットDMUXによりMSBデータとLSBデータに分割して第1遅延部28に出力する。
【0059】
同期パターン検出部25は、操作部2にて設定されたFlitパターンのパターン先頭と同じパターンをEIEOS同期部23から出力されるデータから検索してパターン先頭信号を出力する。
【0060】
リファレンスパターン生成部26は、同期パターン検出部25からのパターン先頭信号をトリガとして、操作部2にて設定されたレーン数に応じたFlitパターン(式(6)で算出されるパターン(含むEIEOS,SKP))に基づく、MSBリファレンスパターンとLSBリファレンスパターンを生成する。
【0061】
シンボルマスク生成部27は、同期パターン検出部25からのパターン先頭信号をトリガとして、入力パターンであるMSBデータとLSBデータをFlit領域と区別するのか、SKP領域、EIEOS領域と区別するのかの、1b/1bシンボル単位のマスクパターンを操作部2にて設定されるマスクパターン長、マスクパターン周期に基づいて生成する。また、シンボルマスク生成部27は、マスクパターン先頭信号をエラー検出部30に出力する。
【0062】
なお、PCIe Gen6のFlitパターンは1FECシンボル=8bitであり、1FECシンボルはMSBデータとLSBデータにビットインターリーブされているため、4PAM4シンボル単位のマスクとなる。本実施の形態では、0:Flit領域、1:EIEOS領域、SKP領域とする。マスクパターンは、操作部2の設定操作により図4(a)に対応したものを事前に計算し、シンボルマスク生成部27の内部メモリに設定しておく。
【0063】
第1遅延部28は、エラー検出部30に入力されるMSBデータ、LSBデータ、パターン先頭信号、MSBリファレンスパターン、LSBリファレンスパターン、マスクパターン、マスクパターン先頭信号が同位相となるように、MSBデータとLSBデータを所定時間遅延させてエラー検出部30に入力する。
【0064】
第2遅延部29は、エラー検出部30に入力されるMSBデータ、LSBデータ、パターン先頭信号、MSBリファレンスパターン、LSBリファレンスパターン、マスクパターン、マスクパターン先頭信号が同位相となるように、パターン先頭信号を所定時間遅延させてエラー検出部30に入力する。
【0065】
エラー検出部30は、FlitパターンによるMSBデータとLSBデータ、パターン先頭信号、MSBリファレンスパターン、LSBリファレンスパターン、マスクパターン、マスクパターン先頭信号を用いて、ビットエラー(MSBビットエラー、LSBビットエラー)の検出及びカウント、PAM4シンボルエラーの検出及びカウント、FECシンボルエラーの検出及びカウントを行い、カウント結果を操作部2に出力する。
【0066】
ここで、図5は誤り率測定装置1のエラー検出部30による各種エラー検出のタイミングチャートの一例を示している。図5はFlitパターンのビット列データに基づくPAM4信号を被測定物Wに送信したときのタイミングチャートの一例である。
【0067】
図5のマスクパターン先頭信号入力後のCLK位置1~36に着目した場合を例にとって説明する。この場合、入力FlitパターンのMSB(FlitパターンによるMSBデータに相当)の各ビットとリファレンスFlitパターンのMSB(MSBリファレンスパターンに相当)の対応する各ビットとを比較し、入力FlitパターンのLSB(FlitパターンによるLSBデータに相当)の各ビットとリファレンスFlitパターンのLSB(LSBリファレンスパターンに相当)の対応する各ビットとを比較する。
【0068】
その結果、Flit領域(マスク信号が0)のエラー結果は、MSBビットエラーが「0」、「1」、「0」、「1」、 「1」、「0」、「1」、「1」、 「0」、「0」、「0」、「0」、 「1」、「1」、「0」、「1」、 「1」、「1」、「1」、「1」、LSBビットエラーが「1」、「0」、「0」、「0」、 「1」、「0」、「1」、「1」、 「0」、「0」、「0」、「0」、 「0」、「0」、「0」、「0」、 「0」、「0」、「0」、「0」、PAM4シンボルエラーが「1」、「1」、「0」、「1」、 「1」、「0」、「1」、「1」、 「0」、「0」、「0」、「0」、 「1」、「1」、「0」、「1」、 「1」、「1」、「1」、「1」、FECシンボルエラーが「1」、「1」、「0」、「1」、「1」となる。
【0069】
これに対し、EIEOS、SKP領域(マスク信号が0)のエラー結果は、MSBビットエラーが「0」、「1」、「0」、「1」、 「0」、「1」、「0」、「1」、 「0」、「0」、「0」、「0」、 「1」、「1」、「0」、「0」、LSBビットエラーが「1」、「0」、「1」、「0」、 「0」、「0」、「0」、「0」、 「0」、「0」、「0」、「0」、 「0」、「0」、「0」、「0」、PAM4シンボルエラーが「1」、「1」、「1」、「1」、 「0」、「1」、「0」、「1」、 「0」、「0」、「0」、「0」、 「1」、「1」、「0」、「0」、FECシンボルエラーが「1」、「1」、「0」、「1」となる。
【0070】
なお、エラー検出部30は、シンボルマスク生成部27から入力されるマスクパターンとマスクパターン先頭信号を、FECシンボル単位のエラー検出結果と位相を合わせ、FECシンボル単位のエラー検出結果と共にFlitエラー検出部31に出力する。ここで、シンボルマスク生成部27からのマスクパターン先頭の代わりに、第2遅延部29からのパターン先頭信号を用いても良い。
【0071】
Flitエラー検出部31は、マスクパターンを用いて、Flit領域(マスク信号が0)と、EIEOS、SKP領域(マスク信号が1)に分けてFECシンボルエラーの検出及びカウントを行う。
【0072】
また、Flitエラー検出部31は、1Flit長において、何れかのECC Group内のFECシンボルエラー数が、操作部2にて設定されたFECシンボルエラー閾値を超えたか否かの検出とカウントを行い、カウント結果を操作部2に出力する。
【0073】
なお、Flitエラー検出部31の検出結果を用いて、キャプチャなどを行うこともできる。
【0074】
同期状態管理部32は、エラー検出部30のエラー検出結果に基づくエラー数情報を基に、Flitに相当する部分のエラーの量が同期条件閾値を下回ったときに、同期確立を操作部2に通知する。また、同期状態管理部32は、エラー検出部30のエラー検出結果に基づくエラー数情報を基に、Flitに相当する部分のエラーの量が同期条件閾値を上回ったときに、同期未確立を操作部2に通知し、同期パターン検出部25にFlitパターンのパターン先頭の再取得(パターン先頭の再探索)を指示する。なお、同期確立や同期未確立の通知先は操作部2に限定されるものではない。例えば外部の端末装置であってもよく、メッセージ表示や音声などでユーザに知らせることもできる。
【0075】
次に、図1におけるFlitエラー検出部31の内部構成について図6を参照しながら説明する。
【0076】
図6に示すように、Flitエラー検出部31は、Flit長タイミングカウンタ31a、ECC Groupタイミングカウンタ31b、第1ECC Groupエラー検出部31c、第2ECC Groupエラー検出部31d、第3ECC Groupエラー検出部31e、第1ECC Groupエラーカウント部31f、第2ECC Groupエラーカウント部31g、第3ECC Groupエラーカウント部31h、比較部31i、Flitエラーカウント部31jを備えて構成される。
【0077】
Flit長タイミングカウンタ31aは、マスクパターン先頭信号をトリガにして、操作部2にて設定されたFlit長をカウントする。カウンタは、マスクパターンがFlit領域(マスク信号が0)のときにカウントアップし、Flit長に達したら0からカウントを繰り返す。
【0078】
ECC Groupタイミングカウンタ31bは、ECC Groupの区別に使用するカウンタであり、Flit長タイミングカウンタ値を3で割った余りを出力するカウンタである。
【0079】
第1ECC Groupエラー検出部31cは、ECC Groupタイミングカウンタ31bのカウンタ値が0、かつ、マスクパターンがFlit領域(マスク信号が0)のFECシンボルエラーを検出する。
【0080】
第1ECC Groupエラーカウント部31fは、第1ECC Groupエラー検出部31cが検出した1Flit長区間のFECシンボルエラー数をFlit長区間ごとにカウントする。
【0081】
第2ECC Groupエラー検出部31dは、ECC Groupタイミングカウンタ31bのカウンタ値が1、かつ、マスクパターンがFlit領域(マスク信号が0)のFECシンボルエラーを検出する。
【0082】
第2ECC Groupエラーカウント部31gは、第2ECC Groupエラー検出部31dが検出した1Flit長区間のFECシンボルエラー数をFlit長区間ごとにカウントする。
【0083】
第3ECC Groupエラー検出部31eは、ECC Groupタイミングカウンタ31bのカウンタ値が2、かつ、マスクパターンがFlit領域(マスク信号が0)のFECシンボルエラーを検出する。
【0084】
第3ECC Groupエラーカウント部31hは、第3ECC Groupエラー検出部31eが検出した1Flit長区間のFECシンボルエラー数をFlit長区間ごとにカウントする。
【0085】
比較部31iは、1Flit長区間のFECシンボルエラー数と、操作部2にて設定されたFECシンボルエラー閾値:nとを比較し、1Flit長区間のFECシンボルエラー数がFECシンボルエラー閾値:nを超えたECC GroupがあったときにFlitエラー検出信号をFlitエラーカウント部31jに出力する。
【0086】
Flitエラーカウント部31jは、比較部31iからのFlitエラー検出信号をカウントし、カウント結果(Flitエラーカウント値)を操作部2に出力する。
【0087】
ここで、図7は誤り率測定装置1のFlitエラー検出部31によるECC GroupごとのFECシンボルエラー検出のタイミングチャートの一例を示している。この例では、Flit長が8シンボル、FECシンボルエラー閾値nが3シンボルに設定されているものとする。
【0088】
図7のCLK位置0~15のFlit領域に着目すると、FECシンボルエラーとして「1」、「1」、「1」、「1」、「0」、「0」、「0」、「0」、「1」、「1」、「1」、「1」、「0」、「0」、「1」、「0」が入力し、Flit領域内における4PAM4シンボル=8bitごとのECC Group0のFECシンボルエラー数が「2」、「3」、ECC Group1のFECシンボルエラー数が「1」、「1」、ECC Group2のFECシンボルエラー数が「1」、「1」となっている。そして、CLK位置8~15のFlit領域におけるECC Group0のFECシンボルエラー数が「3」であり、FECシンボルエラー閾値:n=「3」以上なので、Flitエラー1がエラー結果として出力される。
【0089】
なお、図7のSKP領域のCLK位置16~20、37~41は、マスクパターンによってマスクされるため、エラーの検出及びカウントは行われない。
【0090】
次に、上記構成の誤り率測定装置1によるPCIe Gen6物理層のエラー測定時の処理動作について図8のフローチャートを参照しながら説明する。なお、PCIe Gen6物理層のエラー測定を行うにあたっては、被測定物Wが自身の設定によりループバック状態に遷移しているものとする。
【0091】
まず、Flitのビット列データに基づくPAM4信号をパターン発生器3から発生してループバック状態の被測定物Wに送信する(ST1)。
【0092】
そして、エラー検出器4は、パターン発生器3から被測定物WへのPAM4信号の送信に伴って被測定物Wから折り返されるPAM4信号を受信し、受信したPAM4信号をPAM4デコーダ21によりMSBデータとLSBデータに分割する(ST2)。このPAM4デコーダ21により分割されたMSBデータとLSBデータは、ビット合成部22にてビットMUXして同期パターン検出部25に出力される。
【0093】
続いて、EIEOS同期部23は、ビット合成部22にてビットMUXされた入力データからPCIe Gen6のEIEOSパターンを見つけて1b/1bシンボル同期を取り、入力データをシンボル境界で揃えて出力する(ST3)。
【0094】
続いて、同期パターン検出部25は、操作部2にて設定されたFlitパターンのパターン先頭と同じパターンをEIEOS同期部23から出力されるデータから検索してパターン先頭信号を出力する(ST4)。
【0095】
そして、リファレンスパターン生成部26は、同期パターン検出部25からのパターン先頭信号をトリガとして、式(6)で求めたパターンに基づくMSBリファレンスパターンとLSBリファレンスパターンを生成する(ST5)。
【0096】
また、シンボルマスク生成部27は、同期パターン検出部25からのパターン先頭信号をトリガとして、操作部2にて設定されるマスクパターン長およびマスクパターン周期に基づくシンボルマスクパターンを生成する(ST6)。
【0097】
そして、エラー検出部30は、FlitパターンによるMSBデータとLSBデータ、パターン先頭信号、MSBリファレンスパターン、LSBリファレンスパターン、マスクパターン、マスクパターン先頭信号を用いて、ビットエラーの検出及びカウント、PAM4シンボルエラーの検出及びカウント、FECシンボルエラーの検出及びカウントを行う(ST7)。このときのカウント結果は操作部2に出力される。その際、エラー検出部30が検出するFlitに相当する部分のエラーの量が同期条件閾値を下回ると、同期状態管理部32から同期確立が操作部2に通知される。これに対し、エラー検出部30が検出するFlitに相当する部分のエラーの量が同期条件閾値を上回ると、同期状態管理部32から同期未確立が操作部2に通知され、同期パターン検出部25にFlitパターンのパターン先頭の再取得(パターン先頭の再探索)が指示される。
【0098】
また、Flitエラー検出部31は、1Flit長において、何れかのECC Group内のFECシンボルエラー数が、操作部2にて設定されたFECシンボルエラー閾値を超えたか否かの検出とカウントを行う(ST8)。このときのカウント結果は操作部2に出力される。
【0099】
ところで、上述した実施の形態では、パターン発生器3が発生するFlitパターンのビット列データに基づくPAM4信号を被測定物Wに送信し、リンクトレーニングを行わず被測定物W自身が信号折り返しのステートに遷移する機能を有するものとして説明したが、パターン発生器3を省き、被測定物WからFlitパターンのビット列データに基づくPAM4信号をエラー検出器4に送信する構成としてもよい。この場合、被測定物Wが送信するFlitパターンのビット列データに基づくPAM4信号を受信して各種エラーを検出するために必要な情報(レーン数に応じたFlitパターン(含むEIEOS,SKP)の1周期、レーン数に応じたFlit長、SKPに相当する部分をマスクするためのマスクパターン長、SKPの繰り返し周期に相当するマスクパターン周期、Flitエラーを判別するための閾値、EIEOSに相当する部分をマスクするためのマスクパターン長、EIEOSの挿入周期、パターン先頭)は、予め操作部2に設定されているものとする。
【0100】
このように、本実施の形態によれば、被測定物をL0状態にすることなく、L0状態のときと同じFlitパターンを使用でき、ビットエラーとFlitエラーの関係を正しく把握することができるようになる。しかも、誤り訂正を行わないため、回路規模を小さくできる。
【0101】
また、FECでガードされたパターンと、FECでガードされていないパターンが混在する環境でもFECでガードされたパターンを識別し、Uncorrectableになるかの判定を行うことが可能となる。
【0102】
以上、本発明に係る誤り率測定装置及び誤り率測定方法の最良の形態について説明したが、この形態による記述および図面により本発明が限定されることはない。すなわち、この形態に基づいて当業者等によりなされる他の形態、実施例および運用技術などはすべて本発明の範疇に含まれることは勿論である。
【符号の説明】
【0103】
1 誤り率測定装置
2 操作部
3 パターン発生器
4 エラー検出器
11 Flitパターン発生部
12 ビット分割部
13 PAM4エンコーダ
21 PAM4デコーダ
22 ビット合成部
23 EIEOS同期部
24 ビット分割部
25 同期パターン検出部
26 リファレンスパターン生成部
27 シンボルマスク生成部
28 第1遅延部
29 第2遅延部
30 エラー検出部
31 Flitエラー検出部
31a Flit長タイミングカウンタ
31b ECC Groupタイミングカウンタ
31c 第1ECC Groupエラー検出部
31d 第2ECC Groupエラー検出部
31e 第3ECC Groupエラー検出部
31f 第1ECC Groupエラーカウント部
31g 第2ECC Groupエラーカウント部
31h 第3ECC Groupエラーカウント部
31i 比較部
31j Flitエラーカウント部
32 同期状態管理部
W 被測定物
図1
図2
図3
図4
図5
図6
図7
図8