特許第5953435号(P5953435)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ アルカテル−ルーセントの特許一覧

特許5953435光回線終端装置のためのビットインターリーバ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5953435
(24)【登録日】2016年6月17日
(45)【発行日】2016年7月20日
(54)【発明の名称】光回線終端装置のためのビットインターリーバ
(51)【国際特許分類】
   H03M 13/27 20060101AFI20160707BHJP
   H04L 12/44 20060101ALI20160707BHJP
   H04B 10/69 20130101ALI20160707BHJP
【FI】
   H03M13/27
   H04L12/44 B
   H04L12/44 200
   H04B9/00 690
【請求項の数】7
【全頁数】18
(21)【出願番号】特願2015-524713(P2015-524713)
(86)(22)【出願日】2013年7月23日
(65)【公表番号】特表2015-531196(P2015-531196A)
(43)【公表日】2015年10月29日
(86)【国際出願番号】EP2013065455
(87)【国際公開番号】WO2014019881
(87)【国際公開日】20140206
【審査請求日】2015年3月25日
(31)【優先権主張番号】12305947.9
(32)【優先日】2012年8月1日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】391030332
【氏名又は名称】アルカテル−ルーセント
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】デュパ,アルノー
(72)【発明者】
【氏名】ボワレグ,ロジェ
【審査官】 岡 裕之
(56)【参考文献】
【文献】 米国特許出願公開第2012/0121265(US,A1)
【文献】 特開2006−311552(JP,A)
【文献】 米国特許出願公開第2006/0239262(US,A1)
【文献】 米国特許第06954885(US,B2)
【文献】 特表平09−506750(JP,A)
【文献】 Arnaud Dupas et al.,Low energy bit-interleaving downstream protocol for passive optical networks,Online Conference on Green Communications (GreenCom), 2012 IEEE,2012年 9月28日,pp.26-31
【文献】 Dusan Suvakovic et al.,A Low-Energy Rate-Adaptive Bit-Interleaved Passive Optical Network,Selected Areas in Communications, IEEE Journal on ,2014年 8月,Vol.32 , No.8,pp.1552-1565
(58)【調査した分野】(Int.Cl.,DB名)
H03M 13/00 − 13/53
H04B 10/69
H04L 12/44
IEEE Xplore
CiNii
(57)【特許請求の範囲】
【請求項1】
光アクセスネットワークの光回線終端装置のためのビットインターリーバであって、
− 光ネットワークユニットにそれぞれ割り当てられた複数のM個のデータストリーム(OD1、...、OD4)を受信し、提供するように動作可能なメモリリーダ(FR)と、
− 時空間スイッチ(STS)であって、
− 1入力サイクル内で、前記M個のデータストリームそれぞれから最大でM個のビットセット(BS1、...、BS4)をそれぞれ読み出すように動作可能であり、
− 1書込みサイクル内で、前記データストリーム(OD1、...、OD4)の最大でNビットを、出力ベクトル(v0、...、v(N−1))をそれぞれ与える最大でN個の出力ポートにそれぞれ切り替えるように更に動作可能である、時空間スイッチと、
− 前記それぞれの出力ベクトル(v0、...、v(N−1))のうちの1つに基づいて、前記1書込みサイクル内で、単一の出力ビット(b0、...、b(N−1))をそれぞれ求めるように各々動作可能なN個のOR関数素子(O1、...、O(N−1))と、
− サブ素子アドレスをそれぞれ有する少なくともL個のビットサブ素子を各々備え、前記1書込みサイクル内で、前記それぞれの単一の出力ビット(b0、...、b(N−1))のうちのそれぞれの1つをそのビットサブ素子のそれぞれの1つに書き込むように各々動作可能なN個のメモリ素子(M0、...、M(N−1)とを備え、
制御ユニット(CU)を更に備え、前記制御ユニットは、
− 前記時空間スイッチ(STS)による前記M個のデータストリーム(M0、...、M(N−1)の読出しと、
− 前記時空間スイッチ(STS)による前記ビットの前記出力ポートへの切り替えと、
− 前記ビットサブ素子の書込みアドレスの選択とを制御するように動作可能であり、
前記制御ユニット(CU)は、
− 所定のデータ速度と、
− 所定のオフセット値と、
− ビットフレーム内のビットの最大数Bと、
− 数Nと、
− 数Lとに応じて、前記出力ポートおよび前記書込みアドレスを選択するように動作可能である、光アクセスネットワークの光回線終端装置のためのビットインターリーバ。
【請求項2】
前記制御ユニット(CU)が、前記データストリーム(OD1、...、OD4)が所定のデータ速度で読み出されるように、前記時空間スイッチ(STS)を制御するように動作可能であり、
前記制御ユニット(CU)が、前記1書込みサイクル内で、前記ビットサブ素子の前記書込みアドレスを同じアドレス値に選択するように動作可能である、請求項1に記載のビットインターリーバ。
【請求項3】
前記データストリームそれぞれから読み出された前記それぞれのビットセット(BS1、...、BS4)の各々がKビットを含む、請求項1に記載のビットインターリーバ。
【請求項4】
前記制御ユニット(CU)が、1読出しサイクル内で前記N個のメモリ素子からNビットをそれぞれ読み出すためにそれぞれの読出しアドレスを制御するように更に動作可能である、請求項1に記載のビットインターリーバ。
【請求項5】
前記制御ユニット(CU)が、前記1読出しサイクル内で、前記読出しアドレスを同じアドレス値に選択するように動作可能である、請求項1に記載のビットインターリーバ。
【請求項6】
光アクセスネットワークのための光回線終端装置であって、
請求項1からのいずれか一項に記載のビットインターリーバを備える、光アクセスネットワークのための光回線終端装置。
【請求項7】
光アクセスネットワークのためのビットインターリービングの方法であって、
− 光ネットワークユニットにそれぞれ割り当てられた複数のM個のデータストリーム(OD1、...、OD4)を受信し、提供することと、
− 時空間スイッチ(STS)を用いて、1入力サイクル内で、前記M個のデータストリームそれぞれから最大でM個のビットセット(BS1、...、BS4)をそれぞれ読み出すことと、
− 前記時空間スイッチ(STS)を用いて、1書込みサイクル内で、前記データストリーム(OD1、...、OD4)の最大でNビットを、出力ベクトルをそれぞれ与える最大でN個の出力ポートにそれぞれ切り替えることと、
− 前記それぞれの出力ベクトル(v0、...、v(N−1))のうちの1つに基づいて、前記1書込みサイクル内で、単一の出力ビット(b0、...、b(N−1))をそれぞれ求めることと、
− 前記1書込みサイクル内で、前記それぞれの単一の出力ビット(b0、...、b(N−1))のうちのそれぞれの1つをN個のメモリ素子(M0、...、M(N−1))それぞれの1つのビットサブ素子にそれぞれ書き込むことであって、前記それぞれのビットサブ素子はサブ素子アドレスをそれぞれ有する、書き込むこととを含み、
− 前記時空間スイッチ(STS)による前記M個のデータストリーム(M0、...、M(N−1)の読出しと、
− 前記時空間スイッチ(STS)による前記ビットの前記出力ポートへの切り替えと、
− 前記ビットサブ素子の書込みアドレスの選択とを制御することを更に含む、光アクセスネットワークのためのビットインターリービングの方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は電気通信分野に関し、詳細には、光アクセスネットワークの光回線終端装置のためのビットインターリーバおよびビットインターリービング方法に関する。
【背景技術】
【0002】
近年、光アクセスネットワークが、光回線終端装置から複数の光ネットワークユニットにデータを送信するための優れた解決策となっている。光回線終端装置は電話局に配置され、光回線終端装置は光アクセスネットワークとコアネットワークとの間でデータを送信するためのインターフェースとしての役割を果たす。光回線終端装置は、コアネットワークからデータを受信し、このデータを、顧客がデータ送信のための機器を接続することができる光ネットワークユニット(ONU)に向かってダウンストリーム方向に送信する。光回線終端装置によって生成されるダウンストリーム信号は、遠隔ノードが接続される光フィーダーファイバに送り込まれる。この遠隔ノードはダウンストリーム信号を、異なる光ネットワークユニットが接続される異なる光分岐に分割する。
【0003】
異なる光ネットワークユニットに割り当てられた異なるデータストリームを送信するための1つの解決策は、光ネットワークユニットごとのダウンストリーム信号内で1つまたは複数のタイムスロットを割り振ることであり、それぞれの光ネットワークユニットに割り当てられたデータストリームの複数のデータビットが光回線終端装置によってそのタイムスロット内に配置される。そのような解決策では、それぞれの光ネットワークユニットが、そのようなタイムスロット内で特定のデータ速度においてデータを受信する必要があり、一方、他の光ネットワークユニットに割り当てられた他のタイムスロット中には、それぞれの光ネットワークユニットはいかなるデータ速度においてもデータを受信する必要はない。これは、光ネットワークユニットが、指定されたタイムスロット内で、割り当てられたデータストリームが光回線終端装置からそれぞれの光ネットワークユニットに送信される際の、全平均データ速度より高いデータ速度においてデータを受信できなければならないことを意味する。
【0004】
光ネットワークユニットが一定のデータ速度において光回線終端装置からデータを受信することができる代替の解決策は、いわゆる、ビットインターリービングパッシブ光ネットワーク(bit−interleaving passive optical network:BIPON)のビットインターリービングプロトコルによって提供される。そのようなBIPONでは、異なるONUに割り当てられた異なるデータストリームのビットデータがグローバルフレーム内でインターリーブされるので、ONUごとの各データストリームにおいて結果として生じるデータ速度がそれぞれの一定の値を有する。グローバルフレームは、例えば、最大で8*19,200バイト=153,600バイトを含むことができ、それは1,228,800ビットに等しい。1つの特定のデータストリームのビットがグローバルフレーム内で互いに等距離に配置され、その結果、このデータストリームの場合にデータ速度が一定になる。
【0005】
その後、グローバルフレームに、進行中のデータ送信のための更なる一連のグローバルフレームが続く。
【0006】
特定のデータストリームのためのデータ速度は、グローバルフレームが所与の持続時間を持つと仮定して、このデータストリームのビットが間隔を置いて配置されるビット位置の数によって定義される。グローバルフレーム内で、異なるデータストリームのビットを異なるそれぞれの等間隔で配置することによって、異なるデータ速度が実現される。BIPONの利点は、ONUが、グローバルフレームによって与えられる全データ速度においてデータを受信する必要はなく、グローバルフレームの持続時間と、このONUのこの特定のデータストリームのビットがグローバルフレーム内に配置される速度とによって定義される、全データ速度より低いデータ速度においてデータを受信する必要があることである。これにより、ONUは、BIPONの一連のグローバルフレームによって実現される最大データ速度より低いデータ速度において動作できるようになる。
【0007】
さらに、このようにして、特定のデータストリームのデータビットがグローバルフレーム内で配置される速度を変更することによって、関連する光ネットワークユニットのための変更されたデータ速度が実現される。
【0008】
それゆえ、BIPON内で、異なる光ネットワークユニットごとに異なる所定のデータ速度が実現されるように、光回線終端装置は、異なる光ネットワークユニットに割り当てられた異なるデータストリームの受信を実行しなければならず、かつ異なるデータストリームのビットの一連のグローバルフレームへの適切なビットインターリービングも実行しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、光回線終端装置における異なるデータストリームのビットインターリービングのための知られている方法を改善することである。
【課題を解決するための手段】
【0010】
光アクセスネットワークの光回線終端装置のためのビットインターリーバが提案される。光アクセスネットワークはBIPONタイプのパッシブ光ネットワークであることが好ましい。
【0011】
提案されるビットインターリーバは異なるサブデバイスを含む。
【0012】
ビットインターリーバは、光ネットワークユニットにそれぞれ割り当てられた複数のM個のデータストリームを受信することができるメモリリーダを含む。メモリリーダはビットレベルにおけるこれらのデータストリームを時空間スイッチに与える、なお時空間スイッチはビットインターリーバの更なるサブデバイスである。
【0013】
時空間スイッチは、1入力サイクル内で、M個のデータストリームそれぞれから最大でN個のビットセットをそれぞれ読み出すことができる。
【0014】
さらに、時空間スイッチは、1書込みサイクル内で、データストリームの最大でNビットを、最大でN個の出力ポートにそれぞれ切り替えることができる。それぞれの出力ポートは出力ベクトルをそれぞれ与える。時空間スイッチは、ビットレベルにおいてそれぞれのビットセットの切り替えを実行する。
【0015】
ビットインターリーバは更にN個のOR関数素子を含み、OR関数素子はその書込みサイクル内でそれぞれの出力ベクトルに基づいて単一の出力ビットをそれぞれ求めることができる。したがって、OR関数素子は、ブール代数OR関数によって1つの出力ベクトルの異なるビットを組み合わせることによって、1つの出力ベクトルから、結果として生じる単一の出力ビットを求める。
【0016】
ビットインターリーバは更にN個のメモリ素子を含み、メモリ素子は更に各々少なくともL個のビットサブ素子を含み、これらのビットサブ素子はサブ素子アドレスをそれぞれ有する。N個のメモリ素子は各々、1書込みサイクル内で、それぞれの単一の出力ビットの1つをそのビットサブ素子のうちの1つに書き込むように動作可能である。
【0017】
ビットインターリーバは更に制御ユニットを含み、制御ユニットは、時空間スイッチによるM個のデータストリームの読出しを制御することができる。さらに、制御ユニットは、ビットを時空間スイッチによって時空間スイッチの出力ポートに切り替えるのを制御することができる。さらに、制御ユニットは、書込みアドレスの選択を制御することができる。書込みアドレスは、結果として生じる単一の出力ビットがビットサブ素子にそれぞれ書き込まれるアドレスである。
【0018】
提案されるビットインターリーバの利点を把握するために、以下の態様が考慮に入れられなければならない。
【0019】
光回線終端装置における異なるデータストリームのビットをビットインターリービングプロトコルのグローバルフレームにインターリーブしなければならないとき、簡単な解決策は、所望のビットインターリービングパターンに従って、異なるデータストリームの異なるビットを1つの大きなメモリに書き込むことである。次に、全てのビットをグローバルメモリに書き込んだ後に、グローバルフレームの全ての異なるビットが、1つの大きなメモリから読み出されることになる。この結果、最後のビットがメモリに書き込まれる前に、グローバルフレームの第1のビットをこの大きなメモリから読み出すことができないことになる。グローバルフレーム全体を保持する単一の大きなメモリに書き込まれた全てのデータストリームは、グローバルフレームの持続時間に等しい待ち時間が必要ということになる。
【0020】
提案されるビットインターリーバは、異なるM個のデータストリームのうちのB個未満のデータビットを、N個のメモリ素子に書き込むことができ、その後、これらのビットがこれらのN個のメモリ素子に書き込まれた後に、読み出すことができるという利点を有する。数Nのメモリ素子は、グローバルフレーム内に存在するビットの最大数Bより小さい。例えば、1書込みサイクル内で、N個のメモリ素子のそれぞれにNビットを書き込むことができ、一方、この書込みサイクルが完了した後に、その書込みサイクルが終了した直後に開始することができる1読出しサイクル内で、これらのNビットを読み出すことができる。
【0021】
先に言及されたように、数Nのメモリ素子はグローバルフレーム内に存在するビットの最大数Bより小さい。一連の読出しサイクルにおいてN個のメモリ素子からNビットのセットを読み出すことによって、異なる読出しサイクルから結果として生じるNビットのセットを、グローバルフレームのビットストリームを形成する1つのビットストリームとして連結することができる。こうして、グローバルフレームの全てのBビットをメモリ素子に書き込む前であっても、データ送信のために、N個のメモリ素子を用いるN個のインターリーブされたビットの書込みおよび読出しを実行することができる。これは、単一のメモリデバイスのみを使用する上記の簡単な方法に比べて、ビットインターリーバの待ち時間を大きく短縮する。
【0022】
さらに、制御ユニットが、時空間スイッチによる異なるデータストリームの読出し、時空間スイッチによる切り替え、および結果として生じる単一のビットをメモリ素子のビットサブ素子に書き込むために用いられる書込みアドレスの選択も制御するので、制御ユニットは、異なるデータストリームのための異なるデータ速度を容易に変更することができ、それにより、大きな柔軟性を達成する。
【0023】
上記を要約すると、提案されるビットインターリーバは、高速ビットインターリービングを実現する上に、待ち時間が短く、柔軟性が大きい。さらに、1つの大きなメモリ内にグローバルフレームの全てのBビットを保持するためにこの1つの大きなメモリを使用する、提案された簡単な方法に比べて、N個のメモリ素子しか使用する必要がないという事実に起因して、電力消費が削減される。
【図面の簡単な説明】
【0024】
図1a】同じデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
図1b】同じデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
図1c】同じデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
図2a】異なるデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
図2b】異なるデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
図2c】異なるデータ速度における異なるデータストリームの場合のビットインターリービングの原理を示す図である。
図3a】異なるデータストリームに対して同じデータ速度を実現するビットインターリービング方法の場合の、異なる時間における異なるメモリ素子のための異なるメモリ状態とともに、結果として生じる出力ベクトルを示す図である。
図3b】異なるデータストリームに対して同じデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子のための異なるメモリ状態とともに、結果として生じる出力ベクトルを示す図である。
図3c】異なるデータストリームに対して同じデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子のための異なるメモリ状態とともに、結果として生じる出力ベクトルを示す図である。
図4a】異なるデータストリームに対して異なるデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子の異なる状態とともに、結果として生じる異なる出力ベクトルを示す図である。
図4b】異なるデータストリームに対して異なるデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子の異なる状態とともに、結果として生じる異なる出力ベクトルを示す図である。
図4c】異なるデータストリームに対して異なるデータ速度を実現するビットインターリービング法の場合の、異なる時間における異なるメモリ素子の異なる状態とともに、結果として生じる異なる出力ベクトルを示す図である。
図5】メモリ素子からビットのセットを読み出すことによって得られた、結果として生じるデータストリームを示す図である。
図6】メモリ素子からビットのセットを読み出すことによって得られた、結果として生じるデータストリームを示す図である。
図7】好ましい実施形態による、提案されるビットインターリーバを示す図である。
【発明を実施するための形態】
【0025】
図7は提案されるビットインターリーバBIを示す。
【0026】
ビットインターリーバBIは、M個の異なるデータストリームOD1、...、OD4を受信するFIFOリーダFRを含む。FIFOリーダは、異なるデータストリームOD1、...、OD4を受信し、読み出すために用いることができるメモリリーダの一例である。代わりに、代替のタイプのメモリリーダを用いることもできる。
【0027】
この例では、何ら制約はないが、数MのデータストリームはM=4に選択される。
【0028】
FIFOリーダFRは、異なるデータストリームOD1、...、OD4を時空間スイッチSTSに与える。異なるデータストリームOD1、...OD4は、それぞれの光ネットワークユニットによって割り当てられたデータストリームである。
【0029】
時空間スイッチSTSは、1読出しサイクル内で、それぞれのデータストリームOD1、...OD4から抽出された最大でM個のそれぞれのビットセットBS1、...、BS4を受信する。ビットセットBS1、...、BS4はそれぞれKビットを含む。この例では、何ら制約はないが、1ビットセット内のビットの数KはK=8に選択される。
【0030】
時空間スイッチSTSは、1読出しサイクル内で、各データストリームOD1、...OD4からK=8ビットのセットを受信することができる。この場合、異なるデータストリームOD1、...OD4が読み出されるデータ速度は、全てのデータストリームの場合に同じである。異なるデータストリームOD1、...、OD4の場合に異なるデータ速度を実現するために、時空間スイッチSTSは、異なる一連の読出しサイクル内で、異なるデータストリームOD1、...、OD4から異なる数のビットセットを読み出すことができる。例えば、第1の読出しサイクル内で、時空間スイッチSTSは、各データストリームOD1、...、OD4から、それぞれのビットセットBS1、...、BS4を読み出すことができ、一方、次の後続の読出しサイクルにおいて、時空間スイッチSTSは、データストリームOD1、OD2だけからそれぞれのビットセットBS1、BS2を読み出す。時空間スイッチによって異なる読出しサイクル内でビットセットをそのように読み出す結果、データストレージOD1、OD2は、データストリームOD3、OD4が読み出されているデータ速度の2倍であるデータ速度での読出しを受けることになる。
【0031】
時空間スイッチSTSは、1書込みサイクル内で、最大でNビットをスイッチSTSの最大でN個の出力ポートに切り替える。N個の各出力ポートにおいて、それぞれの出力ベクトルv0、...、v(N−1)が与えられる。スイッチSTSがデータストリームのビットを出力ベクトルv0、...、v(N−1)に切り替える方法は、後に詳細に説明されることになる。
【0032】
制御ユニットCUがスイッチSTSおよびリーダFRに接続される。こうして、制御ユニットCUは、時空間スイッチSTSによるリーダFRからのデータストリームの読出しを制御する。さらに、制御ユニットCUは、スイッチSTSが、読み出されたビットを出力ポートに、それゆえ、それぞれの出力ベクトルv0、...、v(N−1)に切り替える方法も制御する。
【0033】
結果として生じる出力ベクトルv0、...、v(N−1)は、その後、それぞれのOR関数素子O0、...、O(N−1)に与えられる。出力ベクトルv0、...、v(N−1)はJ=3のビット長からなる。出力ベクトルのビット長は、何ら制約はないが、この例ではJ=3に選択される。
【0034】
OR関数素子O0は、1書込みサイクル内で、出力ベクトルv0に基づいて単一の出力ビットb0を求める。このために、OR関数素子O0は、ブール代数OR関数によって、ベクトルv0内に存在する全てのビットを組み合わせる。それぞれの更なるOR関数素子O1、...、O(N−1)は、それぞれのベクトルv1、...、v(N−1)から、それぞれの単一の出力ビットb1、...、b(N−1)を求める。
【0035】
制御ユニットCUは、1読出しサイクル内で、それぞれのN個のメモリ素子から最大でNビットを読み出すために用いられる読出しアドレスを制御する。
【0036】
出力ベクトルv0、...、v(N−1)から出力ビットb0、...、b(N−1)へのそのような換算が必要である理由は、1書込みサイクル内で、各ベクトルv0、...、v(N−1)が、スイッチSTSによって切り替えられる1つのビットのみを含むことである。この理由は更に、ビットストリームのビットを異なる出力ポートにおける出力ベクトルに切り替えるために時空間スイッチSTSを用いることは優れた解決策であるが、そのようなSTSスイッチの内部スケジューリング特性に起因して、書込みサイクルの各段階において、データストリームのビットのうちの1つを出力ベクトルv0、...、v(N−1)の第1のビット位置に厳密に切り替えられることを保証できないことである。同じ書込みサイクル内でビットセットBS1、...、BS4の全てのビットがスイッチSTSのそれぞれの出力ポートに切り替えられるとは限らない場合、そのようなビット系列BS1、...、BS4のうちの1つまたは複数のビットは、時空間スイッチSTSによって内部で遅延させなければならず、それによって今度は、そのような遅延したビットが、出力ベクトルの第1のビット位置とは異なるビット位置において出力ベクトルv0、...、v(N−1)のうちの1つの出力ベクトル内に配置されることになる。しかしながら、ビットインターリーバBIのために出力ベクトルv0、...、v(N−1)を有する時空間スイッチを用いることは、そのようなスイッチSTSが異なる入力ポートから異なる出力ポートにビットを切り替えるための優れたデバイスであるため、好ましい解決策である。出力ベクトル内で、切り替えられたビットから、結果として生じるビット位置までの結果として生じるシフトは、OR関数素子O0、...、O(N−1)によって補償される。
【0037】
求められた単一の出力ビットb0、...、b(N−1)は、その後、それぞれのメモリ素子M0、...、M(N−1)に与えられる。N個の各メモリ素子M0、...、M(N−1)は、それぞれのアドレスを有する少なくともL個のビットサブ素子を備える。1書込みサイクル内で、メモリ素子M0、...、M(N−1)は、それぞれの単一の出力ビットb0、...、b(N−1)をビットレベルにおいてそのサブ素子のうちの1つに書き込む。メモリ素子M0、...、M(N−1)がそれぞれの受信された出力ビットb0、...、b(N−1)をどのビットサブ素子に書き込むかを決定する書込みアドレスの選択は、制御ユニットCUによって選択される。書込みアドレスのこの選択は、後に詳細に説明される。
【0038】
提案されるビットインターリーバBIは、1書込みサイクル内で、それぞれのメモリ素子M0、...、M(N−1)において最大でN個の出力ビットを与えることができ、これらの出力ビットは1読出しサイクル内でそれぞれのメモリ素子から全体として読み出すことができる。こうして、1書込みサイクル内で、最大でNビットをメモリ素子M0、...、M(N−1)に書き込んだ後に、これらのNビットは、その後、第Nのビットがメモリ素子M0、...、M(N−1)のうちの1つに書き込まれた直後の1読出しサイクル内で読み出すことができる。ビットインターリーバBIは、グローバルフレーム全体を抽出する前に、大きなメモリへのグローバルフレームの全Bビットの書込みを実行しなくてもよい。
【0039】
ビットインターリーバBIは、一連の各書込みサイクル内で、メモリ素子への最大でNビットの書込みを処理することができ、その後、対応するグローバルフレームの一連のビットを形成するために、後続の読出しサイクルにおいて一連のNビットのセットを読み出すことができる。したがって、提案されるビットインターリーバBIは、グローバルビットインターリービングフレームの全ビットを一体のメモリに書き込み、その後、全ビットを単一の大きなメモリに書き込んだ後に、グローバルフレーム全体を読み出す解決策に比べて、短縮された待ち時間を達成する。
【0040】
さらに、スイッチSTSがデータストリームOD1、...、OD4のビットセットBS1、...、BS4を読み出す速度は制御ユニットCUによって制御されるので、かつさらに、スイッチSTSの切り替え特性、並びにメモリ素子M0、...、M(N−1)の読出しアドレスおよび書込みアドレスは制御ユニットCUによって制御されるので、提案されるビットインターリーバは、非常に柔軟な解決策であり、制御ユニットCUが高速ビットインターリービングにおいて短い待ち時間で異なるデータストリームOD1、...、OD4に対して異なるデータ速度を達成できるようになる。さらに、N個のメモリ素子M0、...、M(N−1)のみが用いられるので、提案されるビットインターリーバBIによって課せられる電力消費は、Bビットのグローバルフレーム全体がこれらのBビットを保持するメモリに書き込まれなければならない解決策より少ない。
【0041】
好ましくは、制御ユニットCUは所定のデータ速度R(i)を与えられる。ただし、この例におけるデータストリームの指標iは、i=1、...、M=4の範囲に及ぶ。制御ユニットCUは、空間スイッチSTSによるFIFOリーダFRからのビットセットBS1、...、BS4の読出しを制御するために、これらの所定のデータ速度R(i)を使用する。さらに、制御ユニットCUは、所定のオフセット値о(i)を与えられる。ただし、指標iは、グローバルフレーム内の異なるデータストリームOD1、...、OD4の異なるビットのオフセットを定義する。これらのオフセットの機能は後に説明される。
【0042】
さらに、制御ユニットは、グローバルフレーム内に存在するビットの所定の値Bと、メモリ素子の数Nおよびメモリのビットサブ素子の数Lとを与えられる。こうして、制御ユニットCUは、所定のデータ速度、所定のオフセット値、フレーム内に存在するビットの最大数B、メモリ素子の数N、およびビットサブ素子の数Lに応じて、出力ポートおよび書込みアドレスを選択する。
【0043】
図1aは、時間tにわたる系列として、ビットA1、...、A8、B1、...、B8、C1、...、C8、D1、...、D8とともに、異なるビットストリームOD1、...、OD4を示す。
【0044】
図1bは、グローバルフレームGFのビットインターリービングパターンを示しており、図1aからのデータストリームの異なるビットがインターリーブされる。図1bは、データ速度R(1)、R(2)、R(3)、R(4)が全データストリームについて全て1/8に等しい場合の、データストリームの異なるビットのインターリービングを示す。言い換えると、全てのデータストリームが同じ速度R(1)、...、R(4)を有する。グローバルフレームGF内に存在するビットの最大数Bは、例えば、1,228,800ビットとすることができる。そのようなグローバルフレームは、122マイクロ秒の持続時間を有することができる。
【0045】
データストリームOD1の第1のビットは、ビットA1であり、グローバルフレームGFのビット位置0に配置される。ビットストリームOD1に対して選択された速度R(1)が1/8であるという事実に起因して、データストリームOD1の次のビットA2は、ビットA2がビット位置8に配置されるように、第1のビットA1から更に8ビットだけ離れて配置される。データストリームOD1の更なるビットA3、A4、A5は、グローバルフレームGF内の次のビット位置16、24、32に続く。
【0046】
グローバルフレーム内にビットを配置する図示されるBIPONビットインターリービング方式の場合、指標iの場合のデータストリームの第xのビットのビット位置bp(x(i),i)は、一般的に、速度R(i)の逆数r(i)=1/R(i)と、オフセット値о(i)と、整数値x(i)とを用いることによって求めることができる。整数値x(i)は、第xのビットの指標値に対応し、それゆえ、x(i)=0から最大で整数値x(i)=int(B/r(i))までの範囲に及ぶ整数である。したがって、指標iの場合のデータストリームの第xのビットのビット位置bp(x(i),i)は、10進数の場合、以下のように求めることができる。
bp(x(i),i)=о(i)+r(i)*x(i)
【0047】
このようにして、制御ユニットCUは、先に詳細に説明されたように、第iのデータストリームの第xのビットの場合に、グローバルフレーム内の対応するビット位置を求める。
【0048】
この例では、オフセット値о(1)は、データストリームOD1の場合にо(1)=0に選択される。
【0049】
図1bには、グローバルフレームGF内のデータストリームOD4のビットD1、D2、...、の関係も示される。このビットインターリービング方式の場合、速度R(4)もR(4)=1/8として選択されるという事実に起因して、データストリームOD4のビットD1、D2、...、もそれぞれ、グローバルフレームGF内で8ビット位置だけ離れて配置される。この例では、オフセット値о(4)は値о4=3として選択される。データストリームOD2、OD3のビットの場合のオフセット値は、図1bには明示されないが、オフセット値о(2)は値о(2)=1に選択され、一方、オフセット値о(3)は値о(3)=2に選択されると言える。
【0050】
図1bに注目すると、グローバルフレームGFを受信する光ネットワークユニットが、グローバルフレームGFのデータ速度を8で割った値に等しいデータ速度において、データストリームのうちの1つのデータストリームのビットの受信を実行できることが明らかになる。
【0051】
図1cは、代替のビットパターンABPを示しており、図1bに示されるグローバルフレームの異なるビットがNビットのセットに分割される。時間の経過とともに、異なるNビットのセットは、図7に示されるメモリデバイスM0、...、M(N−1)から読み出すことができ、図1bに示されるグローバルフレームGFに対応するビット系列の送信を実現するために、その後、送信に成功することができる。
【0052】
図7に示されるメモリM0、...、M(N−1)から第1の読出しサイクル内で読み出されなければならない第1のセットはセットS1である。このセットS1のビットは、図1bのグローバルフレームGFのビット位置0−15内に記憶されるビットに対応する。
【0053】
次の読出しサイクル内で、図1cに示される次のセットのビットS2が図7に示されるメモリ素子M0、...、M(N−1)から読み出されることになる。これらのビットは、図1bに示されるグローバルフレームGFのビット位置16−31に割り当てられたビットである。
【0054】
第3の読出しサイクル内で、図1cに示されるビットのセットS3が、図7に示されるメモリ素子M0、...、M(N−1)から読み出されることになる。これらのビットは、図1bに示されるグローバルフレームGFのビット位置32において開始する更なるビットである。
【0055】
ここで、異なるデータストリームの異なるビットがスイッチSTSによって切り替えられ、図7に示されるメモリM0、...、M(N−1)に書き込まれ、さらに、これらのメモリから読み出されることになる方法が詳細に説明される。
【0056】
スイッチSTSが1入力サイクル内で、ファイバリーダFRからK=8ビットのビットセットBS1、...、BS4をそれぞれ読み出すと仮定される。1書込みサイクル内で、時空間スイッチSTSは、図3aに示されるように、ビットセットBS1、...、BS4の第1のビットおよび第2のビットをそれぞれの出力ポートに、それゆえ、それぞれのベクトルv0、...、v15に切り替える。スイッチSTSの内部スケジューリング特性に起因して、切り替えられたビットは、出力ベクトルv0、...、v15内で、指標0を有する第1のビット位置内に存在する。一例として、出力ベクトルv0、...、v15のビット長は、非限定的な例としてJ=3に選択される。
【0057】
スイッチSTSが特定のビットにおいて切り替える出力ポートの数、それゆえ、同じく、対応する出力ベクトルの数は、制御ユニットCUによって制御される。制御ユニットCUは、10進数の場合に、ポート数pn(x(i),i)=bp(x(i),i) mod Nとして、ビットが切り替えられる出力ポートの数、それゆえ、出力ベクトルの数と、さらに、メモリM0、...、M(N−1)の結果として生じる数とを求める。ビットごとに、ビット位置bpは、先に説明されたように制御ユニットCUによって求めることができる。
【0058】
図3aは、時間t=0における異なるメモリ素子M0、...、M15の異なる状態を更に示す。異なるOR関数素子が異なる出力ベクトルv0、...、v15を単一の出力ビットb0、...、b(N−1)に換算し、それらの出力ビットは、その後、それぞれのメモリM0、...、M(N−1)のそれぞれビットサブ素子に書き込まれる。ただし、これらのビットサブ素子は同じ書込みアドレスからなる。この例では、書込みアドレスは0に等しい。制御ユニットCUは、1書込みサイクル内で、第iのデータストリームの第xのビットの場合に、第iのデータストリームの第xのビットのビット位置および数Lに応じて、書込みアドレスwaを求める。詳細には、第iのデータストリームの第xのビットの書込みアドレスwaは、10進数の場合に、以下のように求めることができる。
wa(x(i),i)=int(bp(x(i),i)/L)
【0059】
時間t=0におけるメモリ素子M0、...、M15に注目すると、図1cにおいてビットセットS1として示される適切なNビットのセットは、同じ読出しアドレスを用いて、1つの時間において全てのメモリM0、...、M15を読み出すことによって、メモリから読み出すことができる。この例では、読出しアドレスは値0に等しい。
【0060】
この読出しは、そのビットがメモリ素子M0、...、M15に最終的に書き込まれた時間において厳密に実行される必要はなく、後の時点において実行することができる。適切な読出しアドレスによるメモリ素子M0、...、M15からのビットの読出しは、図7に示される制御ユニットCUによって制御され、決定される。
【0061】
次の書込みサイクル内で、図3bに示されるように、スイッチは、時間t=1において、異なるデータストリームのビットを出力ポートに、そして対応する出力ベクトルv0、...、v15に切り替える。ベクトルv0、...、v15内のビット位置0におけるビットA3、...、D4の配置は、スイッチの内部スケジューリング特性によってもたらされる。
【0062】
上記のように、図7に示される言及されたOR関数素子O0、...、O(N−1)は単一の出力ビットを生成し、その出力ビットは、図3bに示されるように、その後、この時間t=1においてメモリ素子M0、...、M15のそれぞれのビットサブ素子に書き込まれる。
【0063】
この次の書込みサイクル内で、制御ユニットCUは、第iのデータストリームの第xのビットの場合に、ビット位置bp(x(i),i)に応じて、出力ポートの数、それゆえ、結果として生じる出力ビットが書き込まれるメモリ素子の数を、ポート数pnとして求める。詳細には、制御ユニットCUは、第iのデータストリームの第xのビットの場合に、10進数のポート数pnを以下のように求める。
pn(x(i),i)=bp(x(i),i) mod N
【0064】
さらに、異なるビットA3、...、D4のそれぞれのビット位置bpを用いて、図7の制御ユニットCUは、10進数の書込みアドレスwaを以下のように求める。
wa(x(i),i)=int(bp(x(i),i)/L)
【0065】
図3bに注目することによって、以下が明らかになる:この例では値1の読出しアドレスである同じ読出しアドレスにおいてこれらのメモリ素子内に存在する16ビットを読み出すことによって、次のN=16ビットのセットをメモリ素子M0、...、M15から読み出すことができる。
【0066】
こうして、異なるメモリ素子から一連のNビットのセットを読み出さなければならないとき、BIPON方式のグローバルフレームに対応するビット系列を形成するために、同じ読出しサイクル内でこれらのN個のメモリ素子の全てに対して同じ読出しアドレスを使用し、その後、次の読出しサイクルの場合に読出しアドレスを単に増加することによって、N個のメモリ素子からそのようなNビットを簡単に読み出すことができる。
【0067】
更なるビットA5、...、D6の場合に、図3cは、次の時間t=2の場合に、これらのビットを切り替え、これらのビットをメモリM0、...、M15に書き込むための提案された選択によって、特定のビットサブ素子においてメモリ素子内にビットを配置する方法を示す。
【0068】
図5に示される結果として生じるビット系列RBSは、それぞれの読出しサイクル内で同じ読出しアドレスでN個のメモリ素子からNビットのセットを読み出した結果として得られる。図5の結果として生じるビット系列RBSを図1bのグローバルフレームGFの当初に望まれたビット系列と比較することによって、図7の提案されるビットインターリーバBIが、図1bに示されるグローバルフレームGFの所望のビットインターリービングを実行できることが明らかになる。
【0069】
図2aは異なるデータストリームOD1、...、OD4を再び示す。
【0070】
図2bは、データストリームOD1が1/8の速度でインターリーブされることになり、データストリームOD4も速度1/8においてインターリーブされることなり、一方、データストリームOD2が1/16の速度においてインターリーブされ、データストリームOD3が1/32の速度においてインターリーブされることになる場合のグローバルフレームGF2の所望のビット系列を示す。
【0071】
図1bに関して先に説明されたように、異なるデータストリームのオフセット値が選択される。
【0072】
図2cは、時間tにわたってN=16ビットのセットを有する対応する代替のビットパターンABP2を示す。結果として生じるビットのセットS11、S12,S13は、図7に示されるように、同じアドレスのビットサブ素子においてメモリ素子M0、...、M(N−1)内に存在することになるようなビットである。
【0073】
図4aは、出力ベクトルv0、...、v15およびメモリ素子M0、...、M15内の異なるビットA1、...、D2の結果として生じる配置を示す。
【0074】
次の時間t=1において、図2cに示されるセットS12のビットは、図4bに示されるように、出力ベクトルv0、...、v15内に配置されなければならない。
【0075】
ビットB2が図7に示される時空間スイッチSTSによって切り替えられなければならないという事実に起因して、このスイッチSTSの内部スケジューリング特性によって、このビットB2は出力ベクトルv1内の値1のビット位置内に配置される。先に詳細に説明されたように、OR関数素子は、図7に示されるように、それぞれの出力ビットb0、...、b(N−1)へのそれぞれの出力ベクトルv0、...、v15の換算を達成する。
【0076】
結果として生じる単一の出力ビットは、その後、時間t=1に対応する1書込みサイクル内で、書込みアドレスwa(x(i),i)=int(bp(x(i),i)/L)のビットサブ素子に書き込まれる。
【0077】
次の更なる時間t=2の場合、図4cは、出力ベクトルv0、...、v15内、およびメモリ素子M0、...、M15の、値2に等しい同じ書込みアドレスのビットサブ素子内の異なるビットの配置を示す。
【0078】
図4cの右側に注目すると、ここで、一連の読出しサイクルにおいて、異なるメモリ素子M0、...、M15からそれぞれのNビットのセットを読み出すことができることが明らかになる。ただし、1読出しサイクル内で、各メモリ素子M0、...、M15のビットサブ素子を選択するために同じ読出しアドレスが用いられる。
【0079】
一連の読出しサイクル内で上記のようにメモリ素子からNビットのセットを読み出すことによって、図6に示されるように、結果として生じるビットパターンRBS2を達成することができる。図6のビット系列RBS2を図4bのグローバルフレームGF2のビットの所望のビット系列と比較することによって、図7に示される提案されるビットインターリーバBIが、BIPONのために必要とされる所望のビットインターリービング方法を達成することが明らかになる。
【0080】
ビットサブ素子の数をL=3に選択することは、例示的な選択にすぎない。好ましくは、メモリ素子内に存在するビットサブ素子の数はL=1024に選択される。
【0081】
10ギガビット/秒の全データ速度を達成するために、Nの数を64に選択することができ、一方、f=156.25MHzの速度または周波数において、そのようなNビットのセットを読み出す。代替の例として、10ギガビット/秒の同じビット速度を達成するために、N=32ビットのセットをf=312.5MHzの周波数において書き込み、読み出すことができる。さらに、代替的には、f=78.125MHzの読出し周波数を用いてNの数をN=128に選択することができる。
【0082】
グローバルフレームを形成する全てのビットの全てのインターリービングプロセスが終了する前に、メモリ素子M0、...、M(N−1)から、インターリーブされたビットの読出しプロセスを開始することができるので、システムの全待ち時間が短いことが、図7に示される提案されるビットインターリーバBIの明らかな利点である。
【0083】
好ましくは、メモリリーダがFIFOリーダである場合に、図7に示されるビットインターリーバBIの異なるサブデバイスが、単一のフィールドプログラマブルゲートアレイ(FPGA)内に実装される。
【0084】
「制御ユニット」と呼ばれる任意の機能ブロックを含む、図7に示される種々の素子の機能は、専用のハードウェアを用いて、および適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアを用いて与えることができる。プロセッサによって与えられるとき、それらの機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、またはそのうちの幾つかが共用される場合がある複数の個別のプロセッサによって与えることができる。さらに、「制御ユニット」という用語を明示的に使用することは、ソフトウェアを実行することができるハードウェアだけを指していると解釈されるべきではなく、限定はしないが、デジタルシグナルプロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するためのリードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶装置を暗に含む場合がある。他のハードウェア、すなわち、従来のハードウェアおよび/またはカスタムハードウェアも含まれる場合がある。同様に、図に示される任意のスイッチは概念にすぎない。それらの機能は、プログラムロジックの演算を通して、専用ロジックを通して、プログラム制御と専用ロジックとのやりとりを通して、更には手動で、実行することができ、文脈からより具体的に理解されるように、開発者によって特定の技法が選択可能である。
図1a
図1b
図1c
図2a
図2b
図2c
図3a
図3b
図3c
図4a
図4b
図4c
図5
図6
図7