JPWO2010146715A1 - データ転送方法、コード変換回路及び装置 - Google Patents
データ転送方法、コード変換回路及び装置 Download PDFInfo
- Publication number
- JPWO2010146715A1 JPWO2010146715A1 JP2011519392A JP2011519392A JPWO2010146715A1 JP WO2010146715 A1 JPWO2010146715 A1 JP WO2010146715A1 JP 2011519392 A JP2011519392 A JP 2011519392A JP 2011519392 A JP2011519392 A JP 2011519392A JP WO2010146715 A1 JPWO2010146715 A1 JP WO2010146715A1
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- bit
- control
- circuit
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
データ転送方法において、ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化すると共に、前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成し、前記シンボルコードをパラレルデータからシリアルデータに変換して伝送路へ出力することでデータ転送を行う。
Description
本発明は、データ転送方法、コード変換回路及び装置に関する。
従来、大規模集積回路(LSI:Large Scale Integrated circuit)間、又は、LSIを有する装置間の情報伝送には、比較的低速なパラレルデータバスが用いられていた。しかし、パラレルデータバスは、簡易にLSI間又は装置間を結合可能にするものの、信号間に発生するスキューのため情報伝送能力を向上することは難しかった。そこで、近年はLSI間又は装置間の結合に比較的高速なシリアルバスを用いるようになった。
高速シリアル伝送を行う典型的な例として、PCI(Peripheral Component Interconnect)エクスプレス(以下、PCI Expressと言う)が知られている。このPCI Expressでは、高速シリアル伝送を可能にする目的で、8B10B方式と呼ばれるコード化方式が採用されている(例えば、特許文献1)。この8B10B方式は、PCI Expressの他に、イーサーネット(Ethernet)、ファイバチャネル(Fiber Channel)、IEEE 1394等で採用されている。
8B10B方式は、大きく分けて以下の2つの特徴を有する。第1に、図1に示すDキャラクタと呼ばれる256種類の8ビットのデータキャラクタと、図2に示す12種類のKキャラクタと呼ばれる制御キャラクタを多重化して、3ビット及び5ビットのルックアップテーブルLUTを用いて10ビットのシンボルコードに変換して伝送する。図1は、一例として8ビットのDキャラクタ、Kキャラクタ、制御キャラクタ有効信号、及びディスパリティ値に基づいてルックアップテーブルLUTを用いて10ビットのシンボルコードを出力する場合を示す。図2は、Kキャラクタのコード、シンボル、名称及び意味を示す。第2に、10ビットシンボル中では最大で5ビットの連続するビット値しか出現しない様に定義されているので、10ビットシンボル中には必ず1回以上のビット値の遷移が含まれており、受信側装置でのクロック再生が容易になる。尚、ビット値の遷移とは、ビットの値が0から1、又は、1から0に遷移することを意味する。
しかし、従来の8B10B方式では、シリアル転送時のオーバーヘッドが比較的大きいため、シリアルバスの帯域幅を比較的多く消費してしまう。具体的には8ビットのデータキャラクタを10ビットに変換するので、帯域幅が25%増加してしまう。
又、従来の8B10B方式では、データの変換にルックアップテーブルLUTを用いることに起因する不都合もある。つまり、変換に用いるルックアップテーブルLUTの回路量が比較的大きいため、遅延時間が比較的大きくなってしまう。具体的には、8ビットから10ビット(及びその逆)への変換には3ビット及び5ビットの変換テーブルが必要であるため遅延時間が比較的大きくなってしまう。
更に、従来の8B10B方式では、8ビットデータを3ビットと5ビットに分割し、ルップアップテーブルLUTを用いて10ビットシンボルに変換しているため、エラー耐性が悪化してしまう。つまり、伝送路で1ビットのエラーが発生した場合、10ビットシンボルを8ビットデータに戻した時に最大で4ビットエラーが発生してしまう。
図3は、8B10Bコード変換回路を含む、シリアルバスのデータの流れを説明する図である。送信側装置1では、8ビット幅のパラレルデータを8B10Bコード変換回路2により10ビットシンボルコードに変換する。このシンボルコードは、シリアルバス5を介して送信側装置1と受信側装置3との間で伝送される。受信側装置3では、受信した10ビットのシンボルコードを10B8Bコード変換回路4により送信側装置1とは逆の手順で8ビットの受信データに変換する。
説明の便宜上、送信側データは16進数で57(図3中2進数で01010111と表記)であるものとする。この送信側データがDキャラクタの場合、8B10B変換回路2で変換した結果は、16進数で055(図3中2進数で0001010101と表記)になる。この10ビットシンボルコードが伝送路であるシリアルバス5を介して伝送されている際に1ビットエラーが発生して16進数で255に変化(図3中ビット0が0から1に変化)したものと仮定すると、このシンボルデータが受信側の10B8Bコード変換回路4で変換された結果は、16進数で49(図3中2進数で01001001と表記)になる。送信側データである2進数01010111と受信側データである2進数01001001を比較すると、4ビットが変化していることがわかる。即ち、シリアルバス5での1ビットのエラーが送受信データで見ると4ビットエラーになり、エラービットが増加する。
PCI Express Base Specification Revision 2.0, PCI-SIG, December 20, 2006
従来の8B10B方式を用いたデータ転送方法では、シリアル伝送時のバスのオーバーヘッドを減少させ、バスの帯域幅を有効利用することは難しいという問題があった。
そこで、本発明は、シリアル伝送時のバスのオーバーヘッドを減少させ、バスの帯域幅を有効利用することが可能なデータ転送方法、コード変換回路及び装置を提供することを目的とする。
本発明の一観点によれば、ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化すると共に、前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成し、前記シンボルコードをパラレルデータからシリアルデータに変換して伝送路へ出力することでデータ転送を行うデータ転送方法が提供される。
本発明の一観点によれば、ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化する第1の回路と、前記第1の回路の出力に前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成する第2の回路を備え、前記シンボルコードはパラレルデータからシリアルデータに変換されて伝送路へ出力されるコード変換回路が提供される。
本発明の一観点によれば、ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化する第1の回路と、前記第1の回路の出力に前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成する第2の回路を有するコード変換回路と、前記シンボルコードをパラレルデータからシリアルデータに変換して伝送路へ出力する変換回路を備えた装置が提供される。
開示のデータ転送方法、コード変換回路及び装置によれば、シリアル伝送時のバスのオーバーヘッドを減少させ、バスの帯域幅を有効利用することが可能となる。
開示のデータ転送方法、コード変換回路及び装置では、シリアルパラレル変換を伴うシリアル転送において所望の転送効率(又は、伝送効率)を実現するために、転送(又は、送信)するキャラクタに対して制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加することでデータキャラクタと制御キャラクタを多重化して転送(又は、送信)する。
データキャラクタを転送する場合は、データキャラクタの所定のビットの反転値を制御キャラクタ有効信号ビットの値とし、制御キャラクタを転送する場合は、制御キャラクタ有効信号ビットとデータキャラクタの所定のビットを同一の値とし、これら以外のビットで制御キャラクタを表現する。
これにより、多重化されたコードを効率良くAC転送することができ、シリアル転送時のバスのオーバーヘッドを減少させ、バスの帯域幅を有効利用することが可能となる。
尚、AC転送とは、AC特性を持った信号を使用してデータを転送することを言う。又、AC特性とは、伝送路を転送されるデータに関して、転送されるデータキャラクタに依存せず、例えば常時データキャラクタの全てのビットが0(All"0")であっても、コード変換後のシンボルコードには必ず値「0」と値「1」が含まれており、必ず1回以上のビット値の遷移が発生することが保証されていることを言う。つまり、データがAC特性を有するとは、伝送路を転送されるデータがこのような交流特性を持っていることを言う。
以下に、開示のデータ転送方法、コード変換回路及び装置の各実施例を図面と共に説明する。
図4は、本発明の一実施例におけるコード変換回路を説明する図である。図4に示すコード変換回路11には、例えば転送データ(又は、送信データ)としての9ビットのデータキャラクタ(Dキャラクタ)D0〜D8、4ビットの制御キャラクタ(Kキャラクタ)K0〜K3、及び制御キャラクタ有効信号が入力される。又、コード変換回路11からは、10ビットのシンボルコードCntl,S0〜S8が出力される。尚、以下の説明では、便宜上DキャラクタのビットBit0をD0又はD_Bit0、KキャラクタのビットBit0をK0又はK_Bit0、シンボルコードのビットBit0をS0又はS_Bit0と表現する。
図5は、シンボルコードの定義の一例を説明する図である。コントロールビットCntlが1でシンボルコードのビットS_Bit0が0の場合、10ビットのシンボルコードのシンボルは、Dキャラクタである。この場合、DキャラクタのビットBit0の値は0であり、ビットS_Bit1〜S_Bit8でDキャラクタのビットD_Bit1〜D_Bit8の値を示す。コントロールビットCntlが0でシンボルコードのビットS_Bit0が1の場合、10ビットのシンボルコードのシンボルは、Dキャラクタである。この場合、DキャラクタのビットBit0の値は1であり、ビットS_Bit1〜S_Bit8でDキャラクタのビットD_Bit1〜D_Bit8の値を示す。コントロールビットCntlが1でシンボルコードのビットS_Bit0が1の場合、10ビットのシンボルコードのシンボルはKキャラクタである。この場合、ビットS_Bit2〜S_Bit8で最大128種類のコードを表現し、ビットS_Bit1はビットS_Bit2の反転値を示す。又、コントロールビットCntlが0でシンボルコードのビットS_Bit0が0の場合、コードが無効(Invalid)シンボルであることを示す。
図6は、制御キャラクタの定義の一例を説明する図であり、図7は、制御キャラクタの定義の他の例を説明する図である。図6及び図7は、各制御キャラクタの名称に対応する10ビットのシンボルコードCntl,S_Bit0〜S_Bit8を示す。図6は制御キャラクタ1〜128のシンボルコードを示し、図7が制御キャラクタ1〜16のシンボルコードを示す。図7の制御キャラクタは、図6の制御キャラクタに比べると冗長性が高められている。
図4〜図7では、一例として9ビット幅(又は、ビット長)のデータキャラクタと、4ビット幅(又は、ビット長)の制御キャラクタを転送するものとしているが、データキャラクタのビット幅は9ビットに限定されず、3ビット幅以上の整数値であれば良い。データキャラクタのビット幅をM(Mは、3以上の自然数)制御キャラクタのビット幅をN(Nは1以上の自然数)とした場合、シンボルコードのビット幅はM+1、或いは、N+3の何れか大きい方の数値となる。
図4〜図7の例では、9ビット幅のデータキャラクタに対して1ビットのコントロールビットCntlを付加するので、シリアルバスで転送される1つのシンボルコードCntl,S0〜S8は10ビット幅となる。更に、制御キャラクタは、PCI Express仕様と同様に図7の場合であれば12種類以上、最大で16種類転送され、図6の場合であれば12種類以上、最大で128種類転送される。
送信側装置においてデータキャラクタを転送する場合は、図5に定義された通り、データキャラクタの所定のビットD_Bit0の値の反転値をコントロールビットCntlの値とする。制御キャラクタを送信する場合は、コントロールビットCntlとデータキャラクタの所定のビットD_Bit0の位置を同一とし、所定のビットD_Bit0以外のビットで制御キャラクタを表現する。図5では、制御キャラクタを送信する場合はコントロールビットCntlとシンボルコードのビットS_Bit0の値を共に1に設定しているが、両方のビットの値を0にしても良いことは言うまでもない。制御キャラクタのビットK_Bit0の反転値をシンボルコードのビットS_Bit1の値とし、S_Bit 2から S_Bit 8の7ビットで128種類の制御キャラクタを表現する。
図6に示す制御キャラクタの定義の場合、最大で128種類の制御キャラクタを定義可能である。実際に必要とする制御キャラクタの種類が128種類より大幅に少ない場合、例えばPCI Expressの様に12種類しか必要としない場合、図7に示す制御キャラクタの定義のように冗長ビットを設けることで耐故障性を向上することも可能である。
図7は、4ビットの制御キャラクタを10ビットのシンボルコードにアサインした例を示す。図7の例では、コントロールビットCntlとシンボルコードのビットS_Bit0の値を1に設定し、制御キャラクタのK_Bit0からK_Bit3を夫々シンボルコードのビットS_Bit1,S_Bit3,S_Bit5,S_Bit7にアサインし、シンボルコードのビットS_Bit2,S_Bit4,S_Bit6,S_Bit8には夫々シンボルコードのビットS_Bit1,S_Bit3,S_Bit5,S_Bit7の値を反転した値をセットしている。
図7は、4ビットの制御キャラクタを10ビットのシンボルコードにアサインした例を示す。図7の例では、コントロールビットCntlとシンボルコードのビットS_Bit0の値を1に設定し、制御キャラクタのK_Bit0からK_Bit3を夫々シンボルコードのビットS_Bit1,S_Bit3,S_Bit5,S_Bit7にアサインし、シンボルコードのビットS_Bit2,S_Bit4,S_Bit6,S_Bit8には夫々シンボルコードのビットS_Bit1,S_Bit3,S_Bit5,S_Bit7の値を反転した値をセットしている。
一方、受信側装置においては、図5に従ってコントロールビットCntlとシンボルコードのビットS_Bit0の値を比較する。比較の結果が不一致であれば、受信したシンボルコードはデータキャラクタであると認識し、シンボルコードのビットS_Bit0からS_Bit8をデータキャラクタのビットD_Bit0からD_Bit8として出力する。又、比較の結果が一致であり、更に、両方のビットCntl,S_Bit0とも値が1であると、受信したシンボルコードは制御キャラクタであると受信側装置は認識する。
図8は、本実施例におけるデータ転送方法、コード変換回路及び装置を適用可能な情報処理装置を示すブロック図である。図8に示す情報処理装置20は、複数のシステムボード21−0〜21−n(nは1以上の自然数)、クロスバ装置22、複数の入出力(IO:Input and Output)装置23−0〜23−n、クロスババス24、及びIOバス25を有する。図8の例では、各システムボード21−0〜21−nは同じ構造を有し、複数のCPU(Central Processing Unit)211−0〜211−m(mはnに依存しない1以上の自然数)、メモリ212、メモリ制御装置213、CPUバス214、及びメモリバス215を有する。各システムボード21−0〜21−nにおいて、各CPU211−0〜211−mは、CPUバス214を介してメモリ制御装置213に接続されており、メモリ212はメモリバス215を介してメモリ制御装置213に接続されている。各システムボード21−0〜21−nは、クロスババス24を介してクロスバ装置22に接続されており、各IO装置23−0〜23−nはIOバス25を介してクロスバ装置22に接続されている。
各CPU211−0〜211−mとメモリ制御装置213との間のデータ転送は、各CPU211−0〜211−m内のコード変換回路(図示せず)とメモリ制御装置213内のコード変換回路(図示せず)の間で、CPUバス214を介して行われる。各システムボード21−0〜21−nにおいて、メモリ212とメモリ制御装置213との間のデータ転送は、メモリ212とメモリ制御装置213内のコード変換回路(図示せず)の間で、IOバス215を介して行われる。各システムボード21−0〜21−nにおいて、メモリ制御装置213とクロスバ装置22との間のデータ転送は、メモリ制御装置213内のコード変換回路(図示せず)とクロスバ装置22内のコード変換回路(図示せず)の間で、クロスババス24を介して行われる。又、クロスバ装置22と各IO装置23−0〜23−nとの間のデータ転送は、クロスバ装置22内のコード変換回路(図示せず)と各IO装置23−0〜23−n内のコード変換回路(図示せず)の間で、IOバス25を介して行われる。
図9は、送信側装置内のコード変換回路と受信側装置内のコード変換回路を示すブロック図である。送信側装置及び受信側装置は、夫々CPU211−0〜211−m、メモリ制御装置213、クロスバ装置22、及びIO装置23−0〜23−n内に設けられる。ここでは説明の便宜上、送信側装置31がシステムボード21−0内のメモリ制御装置213に設けられたものであり、受信側装置32がクロスバ装置22に設けられたものであるものとする。従って、送信側装置31と受信側装置32を接続するプリント板配線等の差動型伝送路33は、この例ではクロスババス24により形成される。
図9に示すように、送信側装置31は、クロック発振器311、データ送信回路312、LFSR(Linear Feedback Shift Register)を用いたスクランブラ313、送信側制御回路314、送信側コード変換回路315、並列直列(パラレルシリアル)変換回路316、及び出力ドライバ317を有する。クロック発振器311が出力するクロックは、データ送信回路312、送信側制御回路314、送信側コード変換回路315、及び並列直列変換回路31に入力される。送信側コード変換回路315には、スクランブラ313からのデータキャラクタと、送信側制御回路314からの制御キャラクタ及び制御キャラクタ有効信号が入力される。送信側制御回路314の出力は、データ送信回路312にも入力される。送信側コード変換回路315が出力するパラレルデータは、並列直列変換回路316によりシリアルデータに変換されて出力ドライバ317に入力される。
一方、受信側装置32は、入力レシーバ321、クロック再生回路322、直列並列(シリアルパラレル)変換回路323、受信側コード変換回路324、LFSRを用いたデスクランブラ325、受信側制御回路324、及びデータ受信回路327を有する。クロック再生回路322により入力レシーバ321が出力するシリアルデータから再生されたクロックは、直列並列変換回路323、受信側コード変換回路324、受信側制御回路326、及びデータ受信回路327に入力される。入力レシーバ321が出力するシリアルデータは、直列並列変換回路323によりパラレルデータに変換されて受信コード変換回路324に入力される。受信側コード変換回路324が出力するデータキャラクタはデスクランブラ325に入力される。受信側コード変換回路324が出力する制御キャラクタ、制御キャラクタ有効信号、及びデータ有効信号は、受信側制御回路326に入力される。デスクランブラ325及び受信側制御回路の出力は、データ受信回路327に入力される。
データ送信回路312及びデータ受信回路327は、例えばPCI Expressのデータリンク層に相当する。スクランブラ313及びデスクランブラ325は、転送データを乱数化することで差動型伝送路33で発生するEMI(Electro Magnetic Interference)を低減するために設けられているが、省略しても良い。
送信側制御回路314は、送信側コード変換回路315を含む送信側装置31全体の状態を制御する。同様に、受信側制御回路326は、受信側コード変換回路324を含む、受信側装置32全体の状態を制御する。制御回路314,326の制御動作の一例として、初期化処理がある。初期化処理では、Kキャラクタと呼ばれる制御キャラクタを用いた処理が行われる。初期化処理が必要な場合は、送信側装置31から受信側装置32に対して初期化を指示するKキャラクタが送られ初期化シーケンスが実行される。Kキャラクタは、この初期化シーケンスに必要な制御キャラクタである。尚、初期化処理自体は周知であり、例えば非特許文献1に記載されているので、本明細書では初期化処理の詳細についての説明は省略する。
送信側装置31の並列直列変換回路316は、送信側コード変換回路315から出力されたパラレルデータをシリアルデータに変換する。一方、受信側の直列並列変換回路323は、入力レシーバ321が受信したシリアルデータをパラレルデータに変換して受信側コード変換回路324に入力する。並列直列変換回路316及び直列並列変換回路323は、例えば高速シフトレジスタで形成可能である。
出力ドライバ317、入力レシーバ321、及びこれらを接続する差動型伝送路33は、送信側装置31と受信側装置32の間(例えば、LSI間)でシリアルデータを転送する回路である。シリアルデータを転送する回路自体は周知であるため、本明細書ではシリアルデータを転送する回路の詳細についての説明は省略する。
次に、送信側装置31から受信側装置32へのデータ転送を説明する。データ送信回路312からは、送信側制御回路314からの伝送路有効信号に応じてパラレルデータが出力される。パラレルデータは、スクランブラ313により乱数化されてデータキャラクタとして送信側コード変換回路315に供給される。送信側制御回路314が制御キャラクタを出力する場合は、送信側制御回路314が制御キャラクタ有効信号と共にコード化された制御キャラクタを送信側コード変換回路315に供給する。
スクランブラ313は、電磁放射ノイズの周波数成分を拡散させ、EMI対策を取り易くすることが目的で設置される。より具体的には、転送するDキャラクタが特定の値の連続であった場合、例えば値「0」と値「1」の連続であった場合、スクランブラを持たない送信回路の場合、伝送路上からは特定の周波数成分を持った電磁放射ノイズが発生し易くなる。この様なノイズは一般的には他の装置への悪影響を与え易い。スクランブラ313は、Dキャラクタが連続する同じ値であっても、疑似乱数化することで特定の周波数成分を持った電磁放射ノイズの発生をし辛くする効果があり、これを目的として設置される。
送信側コード変換回路315では、スクランブラ313からのデータキャラクタ及び送信側制御回路314からの制御キャラクタと制御キャラクタ有効信号とを、シンボルコードと呼ばれるパラレルデータに変換して並列直列変換回路316に供給する。並列直列変換回路316では、クロック発振器311が出力するクロック(送信クロック)に同期してパラレルデータをシリアルデータに変換して出力する。尚、クロック発信器311は、この送信クロックの他に、パラレルデータの転送を制御する低速クロックも出力して送信側装置31内の各部に供給する。低速クロックは、送信クロックに比べて低速、即ち、周波数が低い。
並列直列変換回路316から出力されたシリアルデータは、出力ドライバ317及び差動型伝送路33を介して受信側装置32に入力される。入力レシーバ321は、受信したシリアルデータをクロック再生回路322及び直列並列変換回路323に出力する。尚、図9では差動型伝送路33が用いられているが、差動型伝送路33以外の伝送路を用いても良いことは言うまでもない。
クロック再生回路322は、PLL(Phase Locked Loop)回路を内蔵しており、シンボルデータ中に最低1回は存在するビット遷移のエッジを検出して内蔵PLL回路を同期化して受信クロックを再生する。このように受信クロックを再生するためには、シンボルデータ中にビット遷移が存在する必要がある。このようにして受信クロックを再生する方法は、CDR(Clock Data Recovery)又はエンベデッドクロック(Embedded Clock)と呼ばれ、高速シリアル転送では一般的に用いられる技術である。
直列並列変換回路323では、再生された受信クロックに基づいて入力レシーバ321からのシリアルデータをシンボルコード(パラレルデータ)に変換して受信側コード変換回路324に出力する。受信側コード変換回路324は、シンボルコードをデコードしてシンボルのタイプ(種類)を検出し、データキャラクタ又は制御キャラクタと、各々の有効信号を生成する。つまり、受信側コード変換回路324は、データキャラクタとデータ有効信号、又は、制御キャラクタと制御キャラクタ有効信号を生成する。データキャラクタはデスクランブラ325に出力され、制御キャラクタ、制御キャラクタ有効信号、及びデータ有効信号は受信側制御回路326に出力される。
尚、シンボルコードをデコードする際に、シンボルエラーと呼ばれる特定のエラーパターンを検出してエラー検出信号を求めるようにしても良い。この場合、エラー検出信号は、データキャラクタ又は制御キャラクタの有効信号と共に受信側制御回路326に通知すれば良い。
デスクランブラ325は、LFSRを用いてデータキャラクタの乱数化を解除してデータキャラクタをデータ受信回路327に出力する。受信側制御回路326は、制御キャラクタ及びエラー信号に応じて各々の処理を行うが、これらの処理自体は本実施例の要旨と直接は関係がないので、本明細書ではこれらの処理の詳細についての説明は省略する。
本実施例では、従来の8B10B方式の場合と同様にKキャラクタを定義可能であり、図7の場合であれば最大16種類のKキャラクタを定義可能である。このため、物理層制御、DLLP等のリンク層制御には、8B10B方式の制御を利用可能である。従って、制御回路314,326は、8B10B方式の場合に使用する制御回路に基づいて設計可能である。
次に、図10、図11及び図12を用いて、送信側コード変換回路315のより詳細な動作を説明する。ここでは一例として、データキャラクタのビット幅が9ビット、制御キャラクタのビット幅が4ビット、シンボルコードのビット幅が10ビットの場合について説明するが、データキャラクタ、制御キャラクタ及びシンボルコードがこれらのビット幅に限定されないことは前述した通りである。
送信側コード変換回路315は、データキャラクタと制御キャラクタとの一方を選択して制御キャラクタ有効信号と多重化し、データキャラクタ及び制御キャラクタが受信側装置32内で分離が可能な様に、特定のビットパターンをシンボルコードに埋め込む。この特定のビットパターンは、クロック回復のためのビット遷移の発生を保証するものでもある。
図10は、送信側コード変換回路315の入出力を説明する図である。送信側コード変換回路315の入力は、9ビットのデータキャラクタ、4ビットの制御キャラクタ、及び制御キャラクタ有効信号を含む。又、送信側コード変換回路315の出力は、10ビットのパラレルデータであり、このパラレルデータがシンボルコードとして並列直列変換回路316に入力される。
図11は、送信側コード変換回路315の構成の一例を示す回路図である。送信側コード変換回路315は、図11に示す如く接続されたインバータ回路41−1〜41−5、及び2対1マルチプレクサ(2:1MUX:Multiplexer)42−1〜42−10を有する。図11中、Kcode_ENBL_inは制御キャラクタ有効信号を示し、論理オン(例えば、ハイレベル)である場合に制御キャラクタが有効であることを示す。又、Kcode_in[0:3]は制御キャラクタ入力を示し、Dcode_in[0:8]はデータキャラクタ入力を示す。更に、Output Cntl Bit及びOutput Bit[0:8]は10ビットのシンボルコード出力を示す。各マルチプレクサ42−1〜42−10は、制御キャラクタ有効信号Kcode_ENBL_inがオン(ON)の場合に制御キャラクタ入力Kcode_in側の入力を選択して出力し、オフ(OFF)の場合にデータキャラクタ入力Dcode_in側の入力を選択して出力する。
マルチプレクサ42−1〜42−10において、制御キャラクタ入力Kcode_in側の入力が選択された場合、Output Cntl Bit及びOutput Bit[0]には、値「1」が出力される。この値「1」は、シンボルコード出力が制御キャラクタであることを受信側に通知する値である。又、Output Bit[1]には制御キャラクタ入力Kcode_in[0]の値、Output Bit[2]には制御キャラクタ入力Kcode_in[0]の値をインバータ回路41−2で反転した値が出力される。以後、Output Bit[3]には制御キャラクタ入力Kcode_in[1]の値、Output Bit[4]には制御キャラクタ入力Kcode_in[1]の値をインバータ回路41−3で反転した値、Output Bit[5]には制御キャラクタ入力Kcode_in[2]の値、Output Bit[6]には制御キャラクタ入力Kcode_in[2]の値をインバータ回路41−4で反転した値、Output Bit[7]には制御キャラクタ入力Kcode_in[3]の値、Output Bit[8]には制御キャラクタ入力Kcode_in[3]の値をインバータ回路41−5で反転した値が出力される。
又、マルチプレクサ42−1〜42−10において、データキャラクタ入力Dcode_in側の入力が選択された場合、Output Cntl BitにはDcode_in[0]の値をインバータ回路41−1で反転した値、Output Bit[0]にはDcode_in[0]の値が出力される。これらの値、即ち、Output Cntl Bitの値とOutput Bit[0]の値が不一致である状態は、シンボルコード出力がデータキャラクタであることを受信側に通知する値である。又、Output Bit[1:8]にはデータキャラクタ入力Dcode_in[1:8]の値が出力される。
尚、Output Cntl Bitに出力する値は、この例ではDcode_in[0]としているが、受信側コード変換回路324と合意が取れている場合には、他のデータビットを選択することも可能である。
図12は、送信側コード変換回路315の動作を説明するための真理値表を示す図であり、図11の送信側コード変換回路315の論理動作条件を示している。図12中、^Kcode_in[0]はKcode_in[0]の値の反転値、^Kcode_in[1]はKcode_in[1]の値の反転値、^Kcode_in[2]はKcode_in[2]の値の反転値、^Kcode_in[3]はKcode_in[3]の値の反転値、^Dcode_in[0]はDcode_in[0]の値の反転値を夫々示す。
このように、送信側コード変換回路315は、従来のルックアップテーブルを用いる方法と比較すると、回路量を減少させることができると共に低コストで実現可能であることが判る。更に、変換に必要な回路の遅延時間は、インバータ回路と2対1のマルチプレクサ(又は、セレクタ)の遅延時間の合計値であるため、従来の方法と比較すると大幅に遅延時間を短縮することができ、この結果高速変換動作が可能であることが判る。
次に図13、図14及び図15を用いて、受信側コード変換回路324のより詳細な動作を説明する。ここでは一例として、送信側コード変換回路315の場合と同様にデータキャラクタのビット幅が9ビット、制御キャラクタのビット幅が4ビット、シンボルコードのビット幅が10ビットの場合について説明するが、データキャラクタ、制御キャラクタ及びシンボルコードがこれらのビット幅に限定されないことは前述した通りである。ただし、受信側コード変換回路324におけるデータキャラクタ、制御キャラクタ及びシンボルコードのビット幅は、送信側コード変換回路315におけるビット幅と同じである必要がある。
受信側コード変換回路324は、シンボルコードに埋め込まれている特定のビットパターンを検出し、特定のビットパターンに基づいて多重化されているデータキャラクタと制御キャラクタを分離する。受信側コード変換回路324は、シンボルエラーと呼ばれる特定のエラーパターンも検出する。
図13は、受信側コード変換回路324の入出力を説明する図である。受信側コード変換回路324の入力は、直列並列変換回路323からのシンボルコードである。又、受信側コード変換回路324の出力は、9ビット幅のデータキャラクタ、4ビット幅の制御キャラクタ、データキャラクタ有効信号、制御キャラクタ有効信号、及びシンボルエラーを検出することで得られるエラー検出信号を含む。
図14は、受信側コード変換回路324の構成の一例を示す回路図である。受信側コード変換回路324は、図14に示す如く接続された否定排他的論理和(ENOR:Exclusive-NOR)回路51、否定論理和(NOR)回路52、排他的論理和(EOR)回路53−1〜53−4、論理積(AND)回路54−1〜54−5、及び論理和(OR)回路55を有する。図14中、Input Cntl Bit及びInput Bit[0:8]は合計で10ビット幅のシンボルコード入力、Dcode_out[0:8]はデータキャラクタ出力、Kcode_out[0:3]は制御キャラクタ出力を示す。更に、Dcode_ENBL_outはDcode_out[0:8]が有効であることを示すデータキャラクタ有効信号、Kcode_ENBL_outはKcode_out[0:3]が有効であることを示す制御キャラクタ有効信号、Symbol_ERROR_outは受信したシンボルコードが規定以外のコードであることを示すエラー検出信号である。このエラー検出信号がオン(例えば、ハイレベル)であると、受信側コード変換回路324から出力される他の全ての出力信号は受信側制御回路326において無視される。
受信側コード変換回路324において、シンボルコード入力のビットInput Cntl Bit,Input Bit[0]は、シンボルコードの定義に従ってデコードされる。両ビットInput Cntl Bit,Input Bit[0]が不一致の場合、図14中のENOR回路51でこの不一致が検出されてデータキャラクタ有効信号Dcode_ENBL_outがオンになる。又、両ビットInput Cntl Bit,Input Bit[0]が共に値「1」の場合、図14中のAND回路54−1でこの状態が検出されて制御キャラクタ有効信号Kcode_ENBL_outがオンになる。尚、両ビットInput Cntl Bit,Input Bit[0]がこれら以外の場合、即ち、両ビットInput Cntl Bit,Input Bit[0]が共に値「0」の場合、このビットパターンはシンボルコードエラーであるため、図14中のNOR回路52によりこのシンボルコードエラーが検出されてOR回路55が出力するエラー検出信号Symbol_ERROR_outがオンになる。更に、制御キャラクタ有効信号Kcode_ENBL_outがオン、即ち、受信したシンボルコードが制御キャラクタである場合、シンボルコードの定義に従ってInput Bit[1]とInput Bit[2]、Input Bit[3]とInput Bit[4]、Input Bit[5]とInput Bit[6]、Input Bit[7]とInput Bit[8]が夫々不一致であるか否かをEOR回路53−1〜53−4により検査する。この検査の結果、EOR回路53−1〜53−4のいずれかにおいて不一致が検出されると、シンボルコードエラーであるため、AND回路54−2〜54−5及びOR回路55を介して出力されるエラー検出信号Symbol_ERROR_outがオンになる。
シンボルコード入力のビットInput Bit[0:8]の値はそのままデータキャラクタのビットDcode_out[0:8]の値になり、更に、ビットInput Bit[1,3,5,7]の値はそのまま制御キャラクタのビットKcode_out[0:3]の値になる。
図15は受信側コード変換回路324の動作を説明するための真理値表を示す図であり、図14の受信側コード変換回路324の論理動作条件を示している。
このように、受信側コード変換回路324は、従来のルックアップテーブルを用いる方法と比較すると、回路量を減少させることができると共に低コストで実現可能であることが判る。更に、変換に必要な回路の遅延時間は、最大でENOR回路、NOR回路、EOR回路、AND回路、及びOR回路の遅延時間の合計値であるため、従来の方法と比較すると大幅に遅延時間を短縮することができ、この結果高速変換動作が可能であることが判る。
次に、本発明の他の実施例について図16と共に説明する。図16は、本発明の他の実施例における送信側装置内のコード変換回路及び受信側装置内のコード変換回路を示すブロック図である。
コード変換回路が高速シリアルインタフェース回路に適用されており、より高帯域のバス性能が必要である場合、複数のシリアルインタフェースを組み合わせて1つの論理インタフェースを形成する場合がある。PCI Express仕様では、単独のシリアルインタフェースをレーン(Lane)と呼ばれる単位で呼称しているが、このPCI Express仕様では1レーン構成の他に、2レーン、4レーン、8レーン、12レーン、16レーン、及び32レーンの構成が定義されている。以下の説明では、このPCI Express仕様と同様に単独のシリアルインタフェースを1レーンと呼称するものとする。
図16は、コード変換回路を含むシリアルインタフェース回路を8個組み合わせて1つの論理インタフェースを構成した例を示す。即ち、図16において、伝送路133により接続された送信側装置131及び受信側装置132は、夫々8レーン構成である。送信側装置131は、バイト/ビット(Byte-to-Bit)分離回路61、送信側コード変換回路62−0〜62−7、及び出力部63−0〜63−7を有する。送信側装置131内の各レーン#0〜#7の構成は同じであるため、レーン#0の構成のみを示す。送信側コード変換回路62−0〜62−7は、夫々図9に示す送信側コード変換回路315と同じ構成を有する。出力部63−0は、図9と同じ構成の並列直列変換回路316及び出力ドライバ317を有する。一方、受信側装置132は、入力部71−0〜71−7、受信側コード変換回路72−0〜72−7、及びビット/バイト(Bit-to-Byte)組み立て回路73を有する。受信側装置132内の各レーン#0〜#7の構成は同じであるため、レーン#0の構成のみを示す。入力部71−0は、図9と同じ構成の入力レシーバ321及び直列並列変換回路323を有する。受信側コード変換回路72−0〜72−7は、夫々図9に示す受信側コード変換回路324と同じ構成を有する。尚、送信側制御回路及び受信側制御回路は、図9に示す送信側制御回路314及び受信側制御回路326と同じ構成のものとを使用可能であるため、図16ではこれらの制御回路の図示及び説明は省略する。
上記実施例と共に説明したように、コード変換回路は9ビットのデータキャラクタを10ビットのシンボルコードに変換する。このため、送信側装置131から見ると、1レーン当たり9ビットのパラレルデータバスを有するので、8レーン構成の場合は9ビット×8レーン=72ビットのパラレルデータバス、即ち、伝送路133を有する構成となる。
一方、従来び8B10Bコード変換回路を有するシリアルインタフェースでは、伝送路の帯域幅が同等である場合、即ち、1レーンのシンボルコード長が本実施例と同様の10ビットである場合、送信側装置からみて1レーン当たり8ビットのパラレルデータバスを有することになるので、8レーン構成の場合は8ビット×8レーン=64ビットのパラレルデータバスを有する構成となる。
分離回路51及び組み立て回路73は、複数レーンで構成されるシリアルインタフェース回路の場合に必要となる回路である。分離回路51は、データ送信機(図示せず)からの72ビット幅のパラレルデータバスを受け取り、9ビット毎に各レーンにパラレルデータを供給する機能を有する。又、組み立て回路73は、分離回路と逆の操作、即ち、各レーンからの9ビットパラレルデータを72ビット幅のパラレルデータバスに組み立てて、データ受信機(図示せず)に送信する機能を有する。
図17は、レーン毎のビット割り当ての一例を説明する図である。図17は、分離回路61による、72ビットパラレルデータバスの各ビットのレーン毎のビット定義を示す。図17中、縦軸は各レーンで転送されるシンボルコード(この例では10ビット幅)を示し、横軸は各レーン番号、即ち、シリアルバス番号を示す。又、図17では、72ビットパラレルデータバスのビット00をD00と表記している。一例を示すと、レーン番号#0には、1ビットのコントロールビットCntlとデータビットD00〜D08を組み合わせて一組のシンボルコードとしている。この例では、有効データバス幅として72ビット幅を確保することができる。尚、一組のシンボルコードに1ビットのコントロールビットCntlを定義する必要があるが、72ビットパラレルデータのどのビットをどのレーンに割り当てるかは任意であり、図17に示す以外のデータビットを割り当てても良いことは言うまでもない。
図18は、72ビットパラレルデータバスのビット割り当ての一例を説明する図である。図18は、送信側装置131及び受信側装置132での72ビットのパラレルデータバスのデータの定義を示す。例えば、72ビットのパラレルデータバスのビットBit0〜Bit7(Bit0〜7)は、データバイト(Byte)Byte0と定義される。尚、72ビットのパラレルデータバスのビットBit64〜Bit71(Bit64〜71)は、冗長ビット[0:7]と定義される。
高信頼性の情報処理装置では、8バイトのデータに対して8ビットの冗長ビットを割り当てて、耐故障性能を向上させることが一般的である。このように耐故障性能を向上する一例として、DIMM(Dual Inline Memory Module)が挙げられる。72ビット幅のDIMMの利用形態では、図18と同様に8バイトのデータ、即ち、64ビットのデータに対してエラー訂正コード(ECC:Error Correction Code)等によるチェックビット(CB:Check Bit)を8ビット割り当てることで、1ビット故障を修正し、更に、2ビット故障を検出することを可能として耐故障性能を向上させている。
上記の如く、8B10Bコード変換回路を有する従来のシリアルインタフェース回路では、8レーン構成であっても64ビット幅のパラレルデータバスしか実現できないので、DIMMに入力する例えば72ビットのDIMMデータを扱う場合、冗長ビットを廃棄するか、或いは、DIMMデータを何らかの形式に変形する等の対策が必要である。
更に、従来の8B10Bコード変換回路では、データキャラクタをルックアップテーブルを用いてシンボルコードに変換しているので、伝送路上の1ビットエラーが最大で4ビットのエラーになってしまう。一般的に、64ビットのデータに対して8ビットのCBを割り当てた場合、3ビット以上の複数ビットの故障は検知できない可能性が高い。従って、72ビットのDIMMデータを従来のシリアルインタフェース回路で転送した場合、伝送路上で1ビットエラーが発生すると、回復不能の多ビットエラーに変化してしまう可能性があった。
これに対して、本実施例の如きコード変換回路を有するシリアルインタフェース回路では、8レーン構成の場合、72ビット幅のデータを扱うことが可能であるため、DIMMデータの形式を変更せずに、そのままシリアルインタフェースバスに出力することが可能となる。又、伝送路上のシンボルコードの1ビットエラーは、Dキャラクタに変換した際、そのまま1ビットエラーとして認識されるので、ECCによりエラー回復が可能となり、より信頼性を向上することができる。
従来の8B10B方式では、8ビットのデータキャラクタを送信するために10ビットのシンボルに変換するので、25%のバスのオーバーヘッドとなる。これに対し、上記各実施例では、9ビットのデータキャラクタを送信するために1ビットのコントロールビットを付加して10ビットのシンボルに変換するので、バスのオーバーヘッドは11%となる。伝送路の帯域幅で言うと、従来の8B10B方式では帯域の20%がオーバーヘッドになるのに対し、上記各実施例では10%のオーバーヘッドとなり、従来の8B10B方式と比較してオーバーヘッドが10%減少し、バスの帯域幅を有効利用することができる。
又、上記各実施例によれば、データキャラクタと制御キャラクタを多重化して送信することが可能である。つまり、データキャラクタと12種類以上の制御キャラクタを多重化して転送することが可能である。これにより、送信側装置及び受信側装置の各々では、従来と同様の制御回路を使用することが可能となる。
更に、上記各実施例によれば、クロック再生に必要なAC特性を有するコード変換回路を提供することができる。つまり、1シンボル(この例では10ビット幅)中に、必ず1回以上のビット値遷移(0から1、又は1から0に遷移すること)が含まれている。より具体的には、データキャラクタを送信する場合は、シンボルコードのビットCntl Bit,S_Bit0の値が必ず排他的な関係の値になり、更に、制御コードを送信する場合は、最低でもシンボルコードのビットS_Bit1,S_Bit2が必ず排他的な関係の値になる。これにより、1シンボル中に必ず1回以上はビット遷移が含まれることになり、従来と同様にビット値の遷移タイミングを用いて受信装置側でクロック再生が可能となる。
尚、従来は、最大で5ビットのランレングス(Run Length)であるのに対して、上記各実施例では最大で9ビットのランレングスとなる。このランレングスは、クロック再生機能と密接な関係があり、ランレングスが伸びた場合、クロック再生に悪影響が発生すると考えられる。
これに対しては、例えば特許文献4にて提案されている受信側装置の入力レシーバ内のイコライザを用いることで、ランレングスが5ビットから9ビットに伸びた場合でも安定して受信側装置内でクロックを再生できる。
更に、上記各実施例によれば、Dキャラクタの各ビットは、反転して用いられるか、或いは、そのままシンボルコードのビットとして用いることが可能であるため、従来のようなルックアップテーブルを用いる必要はない。これにより、コード変換に伴う回路量を減少させることが可能となり、コストを削減し、更には遅延時間を減少させることが可能となる。
又、従来は、ルックアップテーブルを用いるため、伝送路上での1ビットエラーは最大でデータキャラクタの5ビットエラーとして認識される。これに対し、上記各実施例によれば、ルックアップテーブルを用いることなく、データキャラクタは略そのままの形式でシンボルコードにアサインされる。従って、伝送路で発生した1ビットエラーは、そのまま1ビットエラーの形でデータキャラクタとして受信側装置で認識される。このように、従来は5ビットエラーであったものが1ビットエラーとなるので、エラーを補正する機会が増加してエラー耐性を向上することが可能となる。更に、上記実施例であれば、シンボルコード中には必ず1個以上の値「0」と1個以上の値「1」が含まれているので、伝送路上で全てのビットが0(All"0")又は全てのビットが1(All"1")となるようなバーストエラーをも検出可能となる。
以上説明したように、従来の8B10B方式に対し、上記各実施例は一種の9B10B方式とも言える方式を提供するものである。
以上、開示のデータ転送方法及びコード変換回路を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
20 情報処理装置
21−0〜21−n システムボード
22 クロスバ装置
23−0〜23−n IO装置
31,131 送信側装置
32,132 受信側装置
33,133 伝送路
62−0〜62−7,315 送信側コード変換回路
72−0〜72−7,324 受信側コード変換回路
211−0〜211−m CPU
212 メモリ
213 メモリ制御装置
21−0〜21−n システムボード
22 クロスバ装置
23−0〜23−n IO装置
31,131 送信側装置
32,132 受信側装置
33,133 伝送路
62−0〜62−7,315 送信側コード変換回路
72−0〜72−7,324 受信側コード変換回路
211−0〜211−m CPU
212 メモリ
213 メモリ制御装置
Claims (13)
-
ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化すると共に、前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成し、
前記シンボルコードをパラレルデータからシリアルデータに変換して伝送路へ出力することでデータ転送を行う、データ転送方法。
-
M=9、N=4であり、
前記制御キャラクタ有効信号は1ビットであり、
前記シンボルコードのビット幅は10ビットである、請求項1記載のデータ転送方法。
-
前記データキャラクタを転送する場合は前記データキャラクタの所定のビットの反転値を前記制御キャラクタ有効信号の値とし、前記制御キャラクタを転送する場合は前記制御キャラクタ有効信号と前記データキャラクタの前記所定のビットを同じ値にして前記所定ビット以外のビットで前記制御キャラクタを表現する、請求項1又は2記載のデータ転送方法。
-
前記伝送路から入力される前記シリアルデータ中に存在するビット遷移のエッジからクロックを再生し、
前記伝送路から入力される前記シリアルデータを前記クロックに基づいてパラレルデータである前記シンボルコードに変換し、
前記シンボルコードをデコードしてシンボルのタイプを検出し、データキャラクタ又は制御キャラクタと、データキャラクタ及び制御キャラクタの有効信号を生成する、請求項1乃至3のいずれか1項記載のデータ転送方法。
-
前記データキャラクタはPCI ExpressのDキャラクタであり、前記制御キャラクタは前記PCI ExpressのKキャラクタである、請求項1乃至4のいずれか1項記載のデータ転送方法。
-
ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化する第1の回路と、
前記第1の回路の出力に前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成する第2の回路を備え、
前記シンボルコードはパラレルデータからシリアルデータに変換されて伝送路へ出力される、コード変換回路。
-
M=9、N=4であり、
前記制御キャラクタ有効信号は1ビットであり、
前記シンボルコードのビット幅は10ビットである、請求項6記載のコード変換回路。
-
前記第1の回路は、前記データキャラクタを転送する場合は前記データキャラクタの所定のビットの反転値を前記制御キャラクタ有効信号の値とし、前記制御キャラクタを転送する場合は前記制御キャラクタ有効信号と前記データキャラクタの前記所定のビットを同じ値にして前記所定ビット以外のビットで前記制御キャラクタを表現する、請求項6又は7記載のコード変換回路。
-
前記データキャラクタはPCI ExpressのDキャラクタであり、前記制御キャラクタは前記PCI ExpressのKキャラクタである、請求項6乃至8のいずれか1項記載のコード変換回路。
-
ビット幅M(Mは3以上の自然数)のデータキャラクタとビット幅N(Nは1以上の自然数)の制御キャラクタを多重化する第1の回路と、前記第1の回路の出力に前記制御キャラクタが有効であるか否かを示す制御キャラクタ有効信号を付加してM+1又はN+3の何れか大きい方のビット幅を有するシンボルコードを生成する第2の回路を有するコード変換回路と、
前記シンボルコードをパラレルデータからシリアルデータに変換して伝送路へ出力する変換回路を備えた、装置。
-
M=9、N=4であり、
前記制御キャラクタ有効信号は1ビットであり、
前記シンボルコードのビット幅は10ビットである、請求項10記載の装置。
-
前記第1の回路は、前記データキャラクタを転送する場合は前記データキャラクタの所定のビットの反転値を前記制御キャラクタ有効信号の値とし、前記制御キャラクタを転送する場合は前記制御キャラクタ有効信号と前記データキャラクタの前記所定のビットを同じ値にして前記所定ビット以外のビットで前記制御キャラクタを表現する、請求項10又は11記載の装置。
-
前記データキャラクタはPCI ExpressのDキャラクタであり、前記制御キャラクタは前記PCI ExpressのKキャラクタである、請求項10乃至12のいずれか1項記載の装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/061235 WO2010146715A1 (ja) | 2009-06-19 | 2009-06-19 | データ転送方法、コード変換回路及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010146715A1 true JPWO2010146715A1 (ja) | 2012-11-29 |
JP5382117B2 JP5382117B2 (ja) | 2014-01-08 |
Family
ID=43356053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011519392A Expired - Fee Related JP5382117B2 (ja) | 2009-06-19 | 2009-06-19 | データ転送方法、コード変換回路及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8723702B2 (ja) |
EP (1) | EP2445112A4 (ja) |
JP (1) | JP5382117B2 (ja) |
KR (1) | KR101283844B1 (ja) |
CN (1) | CN102460974B (ja) |
WO (1) | WO2010146715A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5348263B2 (ja) | 2012-02-29 | 2013-11-20 | 富士通株式会社 | データ伝送装置、データ伝送システムおよびデータ伝送方法 |
CN103067162B (zh) * | 2012-11-15 | 2016-08-03 | 新浪技术(中国)有限公司 | 一种数据传输的方法及装置 |
US10396840B2 (en) * | 2013-12-27 | 2019-08-27 | Intel Corporation | High speed short reach input/output (I/O) |
JP6325264B2 (ja) * | 2014-01-31 | 2018-05-16 | ローム株式会社 | シリアルデータの送信回路および受信回路、それらを用いた伝送システム、電子機器、シリアルデータの伝送方法 |
US9319178B2 (en) | 2014-03-14 | 2016-04-19 | Qualcomm Incorporated | Method for using error correction codes with N factorial or CCI extension |
JP6398801B2 (ja) * | 2015-03-09 | 2018-10-03 | 沖電気工業株式会社 | メモリ装置へのデータ書き込み/読み出し制御方法及びメモリ装置 |
CN107222218B (zh) * | 2017-05-26 | 2020-11-03 | 四川九洲电器集团有限责任公司 | 一种并行数据的产生电路、方法及电子设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
JPS60130236A (ja) * | 1983-12-19 | 1985-07-11 | Nec Corp | 復号器 |
EP0542087A3 (en) * | 1991-11-10 | 1997-12-29 | Hewlett-Packard Company | Method and apparatus for efficient serialized transmission of handshake signal on a digital bus |
US5838894A (en) * | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
US5930399A (en) * | 1997-04-03 | 1999-07-27 | Microsoft Corporation | Data encoding for a communication channel supporting a subset of the characters to be transmitted |
US6181821B1 (en) * | 1997-04-30 | 2001-01-30 | Massachusetts Institute Of Technology | Predictive source encoding and multiplexing |
US6484167B1 (en) * | 1997-11-12 | 2002-11-19 | John P. Tarlano | Method and apparatus for providing calendar year dates by forming hexadecimal dates having two digits |
JP3166692B2 (ja) | 1997-12-09 | 2001-05-14 | 日本電気株式会社 | 符号化回路 |
US6275587B1 (en) * | 1998-06-30 | 2001-08-14 | Adobe Systems Incorporated | Secure data encoder and decoder |
US6816509B2 (en) * | 2001-03-02 | 2004-11-09 | Ciena Corporation | Data mapper and method for flexible mapping of control and data information within a SONET payload |
US6915352B2 (en) * | 2001-06-01 | 2005-07-05 | Inventec Appliances Corp. | Infrared transmission system with automatic character identification |
US7069464B2 (en) * | 2001-11-21 | 2006-06-27 | Interdigital Technology Corporation | Hybrid parallel/serial bus interface |
JP4000564B2 (ja) | 2002-08-15 | 2007-10-31 | 富士ゼロックス株式会社 | 符号化装置およびその方法 |
US6867713B2 (en) * | 2002-09-09 | 2005-03-15 | Seagate Technology Llc | DC free code design with state dependent mapping |
AU2003269300A1 (en) | 2002-10-02 | 2004-04-23 | Koninklijke Philips Electronics N.V. | Low latency radio/baseband interface protocol |
JP2006250824A (ja) * | 2005-03-11 | 2006-09-21 | Nec Electronics Corp | 半導体集積回路およびその半導体集積回路におけるデータ解析方法 |
US7061407B1 (en) * | 2005-06-14 | 2006-06-13 | Xilinx, Inc. | Encoding of 8B10B control characters |
JP4640019B2 (ja) | 2005-07-29 | 2011-03-02 | 日産自動車株式会社 | 燃料噴射制御装置 |
JP2007096903A (ja) * | 2005-09-29 | 2007-04-12 | Rohm Co Ltd | パラレルシリアル変換回路およびそれを用いた電子機器 |
US7487426B2 (en) * | 2005-10-17 | 2009-02-03 | Enigma Semiconductor, Inc. | 64b/66b coding apparatus and method |
US20080033974A1 (en) * | 2006-08-07 | 2008-02-07 | International Characters, Inc. | Method and Apparatus for XML Parsing Using Parallel Bit streams |
US20100051470A1 (en) | 2006-11-02 | 2010-03-04 | Santoku Corporation | Process for producing metallic lithium |
-
2009
- 2009-06-19 KR KR1020117030355A patent/KR101283844B1/ko not_active IP Right Cessation
- 2009-06-19 EP EP09846208A patent/EP2445112A4/en not_active Withdrawn
- 2009-06-19 CN CN200980159910.1A patent/CN102460974B/zh not_active Expired - Fee Related
- 2009-06-19 JP JP2011519392A patent/JP5382117B2/ja not_active Expired - Fee Related
- 2009-06-19 WO PCT/JP2009/061235 patent/WO2010146715A1/ja active Application Filing
-
2011
- 2011-12-06 US US13/312,462 patent/US8723702B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5382117B2 (ja) | 2014-01-08 |
KR20120024797A (ko) | 2012-03-14 |
US8723702B2 (en) | 2014-05-13 |
WO2010146715A1 (ja) | 2010-12-23 |
CN102460974B (zh) | 2014-08-13 |
CN102460974A (zh) | 2012-05-16 |
US20120075127A1 (en) | 2012-03-29 |
KR101283844B1 (ko) | 2013-07-08 |
EP2445112A1 (en) | 2012-04-25 |
EP2445112A4 (en) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5382117B2 (ja) | データ転送方法、コード変換回路及び装置 | |
JP4639194B2 (ja) | 透明マルチモードpamインタフェース | |
US8903000B2 (en) | Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor | |
US9647701B2 (en) | Methods and apparatus for the intelligent association of control symbols | |
US7899111B2 (en) | Link interface technique including data indicator symbols | |
KR20180073578A (ko) | Mipi csi-2 c-phy 에 대한 의사-무작위 2진 시퀀스 시드들을 교번시키기 | |
US8000404B2 (en) | Method and apparatus to reduce the effect of crosstalk in a communications interface | |
JPH11500887A (ja) | 遷移制御されたデジタルエンコード及び信号伝送システム | |
US20090097588A1 (en) | Digital data encoding and decoding method and system | |
US20070168835A1 (en) | Serial communications system and method | |
US9031241B2 (en) | Link and physical coding sub-layer protocols | |
US7876900B1 (en) | Hybrid scrambled transmission coding | |
WO2010146714A1 (ja) | データ転送方法、コード変換回路及び装置 | |
US11777765B2 (en) | Signal transmission system, transmitter encoding apparatus and receiver decoding apparatus | |
CN103051415A (zh) | 用于通信系统的将比特编码为符号的设备和方法 | |
KR101038112B1 (ko) | 디스플레이 포트의 디지털 엔코더 및 디지털 디코더 | |
US20060015790A1 (en) | Low overhead coding techniques | |
CN116032420A (zh) | 用于数据传输的方法 | |
KR20230044078A (ko) | 데이터 전송 방법 및 데이터 복원 방법 | |
CN115811316A (zh) | 用于转换编码兼容的pam4编码的系统、方法和pam4编码器 | |
WO2007126821A2 (en) | Method and apparatus to reduce the effect of crosstalk in a communications interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130726 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130916 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |