(57)【特許請求の範囲】
【請求項１】
（ａ）単一の書込み動作を実行することによってメモリ中のワード・ロケーションから複数の対数尤度比（ＬＬＲ）値をクリアするステップを備える方法であって、
前記ワード・ロケーションが複数のワード・ロケーションのうちの１つであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションのすべてが同時にクリアされ、
前記メモリがマルチバンク・メモリであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションの各々が前記マルチバンク・メモリの異なるバンクの一部であり、
第１のサブパケットのＬＬＲ値と第２のサブパケットのＬＬＲ値とが、両方とも前記マルチバンク・メモリの同じバンクに記憶される、
方法。
【請求項２】
前記複数のＬＬＲ値の第１のＬＬＲ値が第１のパリティＬＬＲ値であり、前記複数のＬＬＲ値の第２のＬＬＲ値が第２のパリティＬＬＲ値である、請求項１に記載の方法。
【請求項３】
（ｂ）命令を解釈するステップと、
（ｃ）前記解釈するステップ（ｂ）に応答して、前記命令によって識別される複数のワード・ロケーションがクリアされるように、ステップ（ａ）を複数回実行するステップとをさらに備える、請求項１に記載の方法。
【請求項４】
（ｃ）が、前記命令によって識別される前記ワード・ロケーションの第１のワード・ロケーションから第１のサブパケットのＬＬＲ値をクリアすることを含み、（ｃ）が、前記命令によって識別される前記ワード・ロケーションの第２のワード・ロケーションから第２のサブパケットのＬＬＲ値をクリアすることをも含む、請求項３に記載の方法。
【請求項５】
前記メモリが第１のサブパケット領域と第２のサブパケット領域とを含み、（ｃ）が前記第１のサブパケット領域のワード・ロケーションをクリアすることを含み、（ｃ）が前記第２のサブパケット領域のワード・ロケーションをクリアすることをも含む、請求項３に記載の方法。
【請求項６】
第１の対数尤度比（ＬＬＲ）値と第２のＬＬＲ値とを記憶するメモリと、
前記第１および第２のＬＬＲ値を同時にクリアする機構と、を備える装置であって、
前記メモリがマルチバンク・メモリであり、前記第１のＬＬＲ値が前記マルチバンク・メモリの第１のバンクに記憶され、前記第２のＬＬＲ値が前記マルチバンク・メモリの第２のバンクに記憶され、
前記第１および第２のＬＬＲ値が前記メモリの単一のワード・ロケーションに記憶される、
装置。
【請求項７】
前記第１および第２のＬＬＲ値が単一の書込み動作によって同時にクリアされる、請求項６に記載の装置。
【請求項８】
前記第１および第２のＬＬＲ値が、同時に行われる複数の書込み動作によって同時にクリアされる、請求項６に記載の装置。
【請求項９】
前記機構がタスク・マネージャを含む、請求項６に記載の装置。
【請求項１０】
前記機構が命令を受信し、前記命令が前記メモリ中の複数のワード・ロケーションを識別し、前記機構が、前記第１および第２のＬＬＲ値を、前記識別された複数のワード・ロケーションへの書込みによってクリアさせる、請求項６に記載の装置。
【請求項１１】
第１の対数尤度比（ＬＬＲ）値と第２のＬＬＲ値とを記憶するメモリと、
前記第１および第２のＬＬＲ値を同時にクリアするための手段と、を備える装置であって、
前記メモリがマルチバンク・メモリであり、前記第１のＬＬＲ値が前記マルチバンク・メモリの第１のバンクに記憶され、前記第２のＬＬＲ値が前記マルチバンク・メモリの第２のバンクに記憶され、
前記第１および第２のＬＬＲ値が前記メモリの単一のワード・ロケーションに記憶される、
装置。
【請求項１２】
前記手段が、単一の書込み動作を実行することによって、前記第１および第２のＬＬＲ値を同時にクリアする、請求項１１に記載の装置。
【請求項１３】
前記手段が、複数の書込み動作を同時に実行することによって、前記第１および第２のＬＬＲ値を同時にクリアする、請求項１１に記載の装置。
【請求項１４】
単一の書込み動作を実行することによって、コンピュータに、メモリ中のワード・ロケーションから複数の対数尤度比（ＬＬＲ）値をクリアさせるためのコードを記録したコンピュータ読み取り可能な記録媒体であって、
前記ワード・ロケーションが複数のワード・ロケーションのうちの１つであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションのすべてが同時にクリアされ、
前記メモリがマルチバンク・メモリであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションの各々が前記マルチバンク・メモリの異なるバンクの一部であり、
第１のサブパケットのＬＬＲ値と第２のサブパケットのＬＬＲ値とが、両方とも前記マルチバンク・メモリの同じバンクに記憶される、
コンピュータ読み取り可能な記録媒体。
【請求項１５】
前記コードがタスク命令である、請求項１４に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記コードが、前記メモリ中の単一のワード・ロケーションに単一の書込み動作を実行することによって、前記コンピュータに前記複数のＬＬＲ値を同時にクリアさせるためのものである、請求項１４に記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記コードが、複数の書込み動作を同時に実行することによって、前記コンピュータに、前記複数のＬＬＲ値を同時にクリアさせるためのものである、請求項１４に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２００８年３月２８日に出願された仮出願第６１／０４０，５９１号、および２００８年３月２８日に出願された仮出願第６１／０４０，５７７号の米国特許法第１１９条による利益を主張し、前記２つの仮出願は両方とも参照により本明細書に組み込まれる。
【０００２】
開示する実施形態は、デインターリーブに関し、より詳細には、マルチバンク・メモリを利用したデインターリーブに関する。
【背景技術】
【０００３】
図１（従来技術）は、セルラー電話などの従来のワイヤレス通信デバイス１の１つのタイプの簡略ブロック図である。ワイヤレス通信デバイス１は、アンテナ２と、ＲＦトランシーバ集積回路３と、デジタル・ベース・バンド集積回路４とを含む。デジタル・ベース・バンド集積回路４は、モジュラ送信チャネル（ＴＸ）５と、変調器受信チャネル（ＲＸ）６とを含む。デバイス１が送信している場合、送信される情報７は、エンコーダ回路８と、マッパ回路９と、変調器回路１０と、逆高速フーリエ変換（ＩＦＦＴ）回路１１と、ウィンド・ウイングイング回路１２とを含む変調器送信チャネル５を通過する。情報は、アンテナ２から送信するために、デジタル・アナログ変換器（ＤＡＣ）１３によってアナログ形式に変換され、ＲＦトランシーバ集積回路３を通過する。情報は、送信中に熱雑音、干渉、およびスプリアス信号などの障害によって劣化することがあるので、送信前に符号化され、インターリーブされる。符号化およびインターリーブ技法を採用することにより、受信ワイヤレス通信デバイスが、劣化または損傷した情報を復元するためにデインターリーブおよび復号を実行することができる。
【０００４】
送信を受信する受信ワイヤレス通信デバイスの構造は、図１に記載する構造と同じとすることができる。送信は、アンテナ２で受信され、ＲＦトランシーバ集積回路３を通過し、アナログ・デジタル変換器（ＡＤＣ）１４によってデジタル形式に変換され、モジュラ受信チャネル（ＲＸ）６を通過する。受信チャネル６は、フロント・エンド回路１５と、高速フーリエ変換（ＦＦＴ）回路１６と、復調器回路１７と、デマップ回路１８と、対数尤度比（ＬＬＲ）バッファ１９と、デコーダ回路２０とを含む。デマップ回路１８は、アンペイント回路２１と、ＬＬＲ生成器回路２２と、デスクランブラ回路２３と、デインターリーバ回路２４とを含む。デインターリーバ回路２４は、たとえば、インターリーブＬＬＲ値のストリームを受信し、そのストリームをデインターリーブし、ＬＬＲ値をバッファ１９にデインターリーブ方法で書き込むことができる。復号回路２０は、バッファ１９からＬＬＲ値を読み取り、その値に対して復号を実行し、それによって、矢印２５によって表される最初に送信された情報を復元する。そのようなワイヤレス通信デバイス上のデータ・スループット要件が増加するにつれて、一層より高速で、より効率的なデインターリーブ方法および構造が必要になる。したがって、改善されたデインターリーブ・プロセスが望まれる。
【発明の概要】
【０００５】
第１の態様では、（たとえば、セルラー電話の無線受信機中の）デインターリーバ機構は、複数のデインターリーブされたレコーダ物理（De-interleaved Reorder Physical：ＤＲＰ）アドレスを生成する。２つ以上の対数尤度比（ＬＬＲ）値が一度にマルチバンク・メモリの各バンクに書き込まれないように、複数のＤＲＰアドレスを使用して、対応する複数のＬＬＲ値をマルチバンク・メモリに同時に書き込む。そのような並列書込みのシーケンスにより、サブパケットの送信のＬＬＲ値がマルチバンク・メモリに記憶されることになる。ＤＲＰアドレスの生成中にデインターリーバ機構によって実行されるアドレス変換により、ＬＬＲ値がバンク内に記憶されるので、デコーダは、デインターリーブ中に生じるシーケンスにおいてメモリからＬＬＲ値を読み取ることができる。バンクの各メモリ・ロケーションは、複数のＬＬＲ値を記憶するためのワード・ロケーションである。複数のＬＬＲ値は、その関連するパリティＬＬＲ値とともにＬＬＲ値を含むことができる。
【０００６】
第２の態様では、複数のＬＬＲ値が同時にクリアされる。複数の異なるバンク中のＬＬＲ値が、並列書込み動作中に同時にクリアされるだけでなく、ワード・ロケーションに記憶された複数のＬＬＲ値も同時にクリアされる。単一のクリア命令により複数のサブパケットのサブパケット領域がクリアされ、それによって、ＬＬＲ書込み動作およびＬＬＲクリア動作を制御する中央処理回路への処理負担を低減することができる。
【０００７】
上記は概要であり、したがって当然、詳細の簡略化、一般化および省略を含んでおり、したがって、概要はいかなる形でも例示的なものにすぎず、限定的なものではないことを当業者は諒解されたい。特許請求の範囲のみによって定義される、本明細書で説明するデバイスおよび／またはプロセスの他の態様、発明的特徴、および利点は、本明細書に記載する非限定的な詳細な説明において明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】モバイル通信デバイスの簡略図（従来技術）。
【図２】モバイル通信デバイスの送信機中で実行される符号化プロセスを示す簡略ブロック図。
【図３】モバイル通信デバイスのトランシーバ中の受信および送信チャネル処理を示す簡略ブロック図。
【図４】図２のデジタル・ベース・バンド集積回路１０３のより詳細なブロック図。
【図５】図４のＤＤＥ  ＷＣＳＭＳＣ１２５のより詳細なブロック図。
【図６】図５のデインターリーバ回路のより詳細なブロック図。
【図７】図５のＬＬＲバッファのブロック図。
【図８】図７のＬＬＲバッファのマルチバンク・メモリ・セグメントＤ１１のブロック図。
【図９】図５のデインターリーバ回路２２３に入るインターリーブＬＬＲ値の着信ストリームの例を示し、また、図５のデインターリーバ回路２２３から出るデインターリーブＬＬＲ値の発信ストリームの例を示す図。
【図１０】図９のＬＬＲ値の着信シーケンスの例についてＰＢＲＩリオーダ・インデックスを判断する方法を示す図。
【図１１】図９のＬＬＲ値の着信シーケンスの例についてＰＢＲＩリオーダ・インデックスを判断する方法を示す図。
【図１２】ＰＲＢＩアドレスを示し、図６のデインターリーバ回路２２３によって同時に生成されるすべての可能なＰＲＢＩアドレスについて各アドレスの４つの最上位ビット（ＭＳＢ）を示す図。
【図１３】ＰＲＢＩアドレスを７ビットの長さに調整するためにシフト（アドレス変換）される前および後のＰＲＢＩアドレスを示す図。
【図１４】ＰＲＢＩアドレスを１１ビットの長さに調整するためにシフト（アドレス変換）される前および後のＰＲＢＩアドレスを示す図。
【図１５】ＬＬＲバッファのバンクのワード・ロケーション中に隣接して配置されるＬＬＲ値およびパリティＬＬＲ値と、ＬＬＲバッファからＬＬＲ値をデインターリーブ順序で読み取る方法とを示す図。
【図１６】複数のＬＬＲ値をマルチバンク・メモリに同時に書き込むことを含む方法のフローチャート。
【図１７】ＬＬＲバッファへの２つのサブパケットのＬＬＲ値の書込みを示すタイムライン（従来技術）。
【図１８】第２の新規な態様による、２つのサブパケット領域を有するセグメント（マルチバンク・メモリ）を示す図。
【図１９】第２の新規な態様による、図１８のセグメントへの２つのサブパケットのＬＬＲ値の書込みを示すタイムライン。
【図２０】図１９の方法において使用されるＤＤＥクリアＬＬＲタスク命令の図。
【図２１】第２の新規な態様による、図１９に記載する方法５００のフローチャート。
【発明を実施するための形態】
【０００９】
図２は、１つの特定のタイプのモバイル通信デバイスの非常に簡略化したハイレベル・ブロック図である。この特定の例では、モバイル通信デバイス１００はセルラー電話である。モバイル通信デバイス１００は、（図示されないいくつかの他の部分の間に）アンテナ１０１と、２つの集積回路１０２および１０３とを含む。集積回路１０２はＲＦトランシーバ集積回路である。ＲＦトランシーバ集積回路１０２は送信機と受信機とを含む。ＲＦトランシーバ集積回路１０２は、主に、アナログ回路を含むアナログ集積回路である。一方、集積回路１０３は、主に、デジタル回路を含むデジタル集積回路である。集積回路１０３は「デジタル・ベース・バンド集積回路」または「ベース・バンドプロセッサ集積回路」と呼ばれる。
【００１０】
図３は、図２のアンテナ１０１およびＲＦトランシーバ集積回路１０２のより詳細なブロック図である。ＲＦトランシーバ集積回路１０２は、受信チェーン１０４と送信チェーン１０５とを含む。着信送信１０６は、アンテナ１０１で受信され、デュプレクサ１０７およびマッチング・ネットワーク１０８を通過し、受信チェーン１０４に入る。受信チェーン１０４中でダウン・コンバートされた後、受信信号は、さらなる処理のために、デジタル・ベース・バンド集積回路１０３中のアナログ・デジタル変換器（ＡＤＣ）１０９にパスされる。ワイヤレス通信デバイス１００が送信を行う場合、デジタル情報がデジタル・ベース・バンド集積回路１０３中のデジタル・アナログ変換器（ＤＡＣ）１１０によってアナログ形式に変換される。次いで、得られたアナログ信号がＲＦトランシーバ集積回路１０２の送信チェーン１０５によってアップ・コンバートされ、得られたＲＦ信号は電力増幅器ＰＡ１１１によって増幅される。増幅された信号は、デュプレクサ１０７を通過し、発信送信１１２として送信するためにアンテナ１０１にパスされる。
【００１１】
図４は、図２のデジタル・ベース・バンド集積回路１０３のより詳細なブロック図である。デジタル・ベース・バンド集積回路１０３は、図示しない他の部分の間に、ＡＤＣ１０９と、受信チャネル１１３と、送信チャネル１１４と、ＤＡＣ１１０と、処理回路１１５と、一定量メモリ１１６と、一定量高速メモリ１１７と、データ・ムーバ・エンジン１１８と、第１のバス１１９と、第２のバス１２０と、ウォール・クロック・タイマ１２１とを含む。受信チャネル１１３は、着信データのストリームを処理するためにチェーンで編成されたワイヤレス通信システム・モデム・サブ回路（ＷＣＳＭＳＣ）と本明細書で呼ばれる処理ブロック１２２〜１２５のセットを含む。これらのＷＣＳＭＳＣは、フロント・エンドＷＣＳＭＳＣ１２２と、高速フーリエ変換ＷＣＳＭＳＣ１２３と、復調（ＤＥＭＯＤ）ＷＣＳＭＳＣ１２４と、デマップ／デインターリーブ／復号（ＤＤＥ）ＷＣＳＭＳＣ１２５とを含む。ＤＤＥ  ＷＣＳＭＳＣ１２５は、以下でさらに詳細に説明するデマッパ部分と、ＬＬＲバッファ１２９と、デコーダ部分とを含む。受信チャネル１１３の様々なＷＣＳＭＳＣを通過するデータ・フローは、バッファ１２６〜１３０によってバッファされる。受信チャネルデータの一般的なパスは、図４の左から右に、回路１０９、１２２、１２６、１２３、１２７、１２４、１２８、１２５、１３０を通って第２のバス１２０に向かう。同様に、送信チャネル１１４は、ＷＣＳＭＳＣ１３１〜１３４とバッファ１３５〜１３８との対応するセットを含む。送信チャネルデータの一般的なパスは、図４の右から左に、第２のバス１２０から１３５、１３１、１３６、１３２、１３７、１３３、１３８、１３４、および１１０に向かう。
【００１２】
処理回路１１５は複数のプロセッサを含むことができる。処理回路１１５は、メモリ１１６に記憶されたプロセッサ実行可能命令のプログラム１３９を実行する。高速メモリ１１７、第１のバス１１９および処理回路１１５は一緒に密結合メモリ（ＴＣＭ）システムを形成する。処理回路１１５は、第１のバス１１９上で高速メモリ１１７から読み取り、高速メモリ１１７に書き込むことができる。
【００１３】
この例では、処理回路１１５は、「タスク・リスト」と呼ばれるものを使用して、受信チャネルおよび送信チャネルの様々なサブ回路１２２〜１２５および１３１〜１３４を制御する。タスク・リストは１つまたは複数のタスク命令を含む。図では、４つのタスク・リストＴＬ１、ＴＬ２、ＴＬ３およびＴＬ４がメモリ１１７に記憶されるのが示されている。タスク・リストＴＬ１は、送信チャネル１１４のためのタスク命令を含む。タスク・リストＴＬ２は、ＦＦＴ  ＷＣＳＭＳＣ１２３のためのタスク命令を含む。タスク・リストＴＬ３は、ＤＥＭＯＤ  ＷＣＳＭＳＣ１２４のためのタスク命令を含む。タスク・リストＴＬ４は、ＤＤＥ  ＷＣＳＭＳＣ１２５のためのタスク命令を含む。各タスク・リストは、関連するサブ回路によって実行するための一連のタスク命令を含む。サブ回路は、第２のバス１２０に結合されたタスク・マネージャ回路、ならびにその回路のデータ処理動作を実行するための一定量専用機能回路を含む。タスク・マネージャは、その関連するタスク・リストからタスク命令を読み取り、タスク命令のオペコードおよび様々なフィールドを解釈し、次いで、タスク命令によって示される動作を実行するために、専用機能回路の関連するハードウェアを制御する。図４のＤＤＥ  ＷＣＳＭＳＣ１２５のタスク・マネージャは、参照番号１４２によって識別される。適切なタスク命令を特定のサブ回路のためのタスク・リストに配置することによって、処理回路１１５は、特定のサブ回路の専用機能回路に、処理回路によって指定された特定の動作を実行させることができる。処理回路１１５は、タスク命令をこれらのタスク・リストに書き込み、これらのタスク・リストを修正し、タスク・リストを削除し、さもなければ、必要に応じて第１のバス１１９を介してタスク・リストを維持することができる。各タスク・リストは、サーキュラ・バッファ中のメモリ１１７中に維持される。
【００１４】
図５は、図４のＤＤＥ  ＷＣＳＭＳＣ１２５のより詳細なブロック図である。ＤＤＥ  ＷＣＳＭＳＣ１２５のデマッパ部分は、実際は２つのデマップ回路２００および２０１を含む。ＤＤＥ  ＷＣＳＭＳＣ１２５のデコーダ部分２０２は、２つのビタビ・デコーダ２０３および２０４と、２つのターボ・デコーダ２０５および２０６と、フロー制御回路２０７と、メモリ・インターフェース回路２０８とを含む。デマップ部分およびデコーダ部分に加えて、ＤＤＥ  ＷＣＳＭＳＣ１２５は、プッシュ・エンジン２０９と、第２のバス１２０にインターフェースするためのバス・インターフェース２１０と、構成レジスタ、ステータスレジスタおよびポインタ・レジスタのセット２１１と、メモリ・インターフェース２１２とを含む。図４のタスク・マネージャ１４２は、タスク・マネージャブロック２１３および２１４と、レジスタ２１１とに分散される。全タスク・マネージャ機能はタスク命令を受信する。これらのタスク命令の一部は、デマップ回路２００を制御するためのフィールドを含み、それらのフィールドはタスク・マネージャ部分２１３によって解釈され、使用されるが、他のフィールドはデマップ回路２０１を制御するためのものであり、それらのフィールドはタスク・マネージャ部分２１４によって解釈され、使用される。図４の処理回路１１５は一般に、ＤＤＥ  ＷＣＳＭＳＣ１２５のためのタスク・リストＴＬ４上にタスク命令を書き込み、次いで、第２のバス１２０およびＡＨＢバス・インターフェース２１０上に単一の書込みを実行して、レジスタブロック２１１中のＷＲ＿ＰＴＲを更新する。タスク・マネージャ部分２１３および２１４は、最後のタスク命令が実行された後、ブロック２１１中のレジスタ中のＷＲ＿ＰＴＲ値が今、メモリ１１７（図４参照）中のサーキュラ・バッファ中のロケーションを指していることを検出する。したがって、タスク・マネージャ部分は、第２のバス１２０上でＴＬ４の次のタスク命令を読み取り、次いでタスク命令を解釈し、実行する。ＤＤＥ  ＷＣＳＭＳＣ１２５のタスク・マネージャ部分は、ＥＸＥＣ＿ＰＴＲをレジスタブロック２１１中の別のレジスタ中に維持する。このＥＸＥＣ＿ＰＴＲの値は、実行されたタスク・リストＴＬ４中の最後のタスク命令を示す。
【００１５】
図５のデマップ１部分２００は、制御パケットのために使用される比較的低いスループットの回路であるが、デマップ２部分２０１は、データ・パケットのために使用される比較的高いスループットの回路である。デマップ１部分２００は、機能ブロックである、アンペイント・ブロック２１５と、対数尤度比（ＬＬＲ）生成器ブロック２１６と、デスクランブラ・ブロック２１７と、デインターリーバ・ブロック２１８とを含む。デマップ１部分２００は、導体２１９および２２７を介してＬＬＲバッファ１２９にインターフェースする。ＬＬＲバッファ１２９は、以下でより詳細に説明するように、マルチセグメント、マルチバンク・メモリである。データ導体２１９は、２つの並列読取り／書込みチャネルをデータに与える。アドレス導体２２７は、デインターリーブ回路２１８からＬＬＲバッファ１２９にデータを書き込み、ＬＬＲバッファ１２９からデータを読み取ってデインターリーブ回路２１８に戻すためのアドレス情報を与える。より高いスループットのデマップ２部分２０１は、機能ブロックである、アンペイント・ブロック２２０と、対数尤度比（ＬＬＲ）生成器ブロック２２１と、デスクランブラ・ブロック２２２と、デインターリーバ・ブロック２２３とを含む。デマップ２部分２０１は、６つの並列読取り／書込みデータ・チャネルをＬＬＲバッファに与える導体２２４を介してＬＬＲバッファ１２９にインターフェースする。６つの並列読取り／書込みチャネルのためのアドレス情報は、アドレス導体２２８を介してＬＬＲバッファ１２９に与えられる。
【００１６】
デマップ／デインターリーブ／復号動作が開始すると、処理は常にアンペイントステップから各連続したステップを通って、ＬＬＲ生成に、デスクランブルに、デインターリーブに、および復号に進む。したがって、別個のタスク命令が処理のデマップ、デインターリーブおよび復号の態様を制御する必要はない。そうではなく、単一のタスク命令を使用して、これらのステップを介した処理のシーケンス全体を制御する。デマップ部分２００または２０１がサブパケットの処理のその部分を完了すると、次いで、サブパケットが、サブパケットに関連するステータス情報とともにデマップ部分によってデコーダ・ブロックに転送される。次いで、デコーダ・ブロック２０２は、受信したサブパケットをできるだけ早く処理する。デマップ部分２００および２０１は、最初にサブパケットをＬＬＲバッファ１２９の部分に書き込むことによって、そのサブパケットをデコーダ・ブロック２０２に転送し、次いで、ＬＬＲバッファ１２９中のサブパケットのロケーションについて、デコーダ・ブロック２０２が復号の結果を復号出力バッファ１３０に書き込むべき場所について、およびサブパケットに関連するステータス情報について、導体２２５および２２６を介してデコーダ・ブロック２０２に通知する。
【００１７】
図６は、デインターリーバ回路２２３のより詳細なブロック図である。デインターリーバ回路２２３は、ＰＢＲＩ（Pruned Bit Reversal Interleaved：切り詰めビット・リバーサル・インターリーブ）リオーダ・インデックス生成器２３１と、物理アドレス・トランスレータ２３２と、コントローラ回路２３３と、プリプロセッサ回路２３６と、ＬＬＲバッファ書込みエンジン２３７とを含む。ＰＢＲＩリオーダ・インデックス生成器２３１は、一定量非順序論理を含み、現在のシード値から１２個の候補ＰＢＲＩリオーダ・インデックスを生成する。各候補ＰＢＲＩリオーダ・インデックスを用いて、ＰＢＲＩリオーダ・インデックス生成器２３１はまた、関連する候補ＰＢＲＩリオーダ・インデックスがレンジ外であるかどうかを示す。次に、クロック信号に応答して、物理アドレス・トランスレータ２３２が、６つのＰＢＲＩリオーダ・インデックスを６つの対応するデインターリーブ・リオーダ物理アドレスＰ０〜Ｐ５に変換する。物理アドレス・トランスレータ２３２に入るＰＢＲＩリオーダ・インデックスは、トランスレータ２３２内に登録される。次いで、コントローラ回路２３３が、次のＰＢＲＩリオーダ・インデックス生成サイクルのための「現在のシード」を得る。次いで、候補生成器および選択回路２３４が、６つのＰＢＲＩリオーダ・インデックスの別のセットを生成する。物理アドレスＰ０〜Ｐ５は、導体２３８を介してＬＬＲバッファ１２９に供給される６つの対応するＬＬＲ値を記憶するために使用される６つのデインターリーブ・リオーダ物理アドレス（ＤＲＰアドレス）である。
【００１８】
図６に示すように、ＰＢＲＩリオーダ・インデックス生成器２３１が６つのＰＢＲＩリオーダ・インデックスの次のセットを生成している間に、物理アドレス・トランスレータ２３２は、その前に生成された６つのＰＢＲＩリオーダ・インデックスのセットに対する６つのデインターリーブ・リオーダ物理アドレスの１つのセットを生成している。ＰＢＲＩリオーダ・インデックス生成動作および物理アドレス生成動作がパイプライン化されるだけでなく、図５のＬＬＲ値のＬＬＲバッファ１２９への書込みもパイプライン化される。物理アドレス・トランスレータ２３２が、後で受信したＬＬＲ値のセットに対する物理アドレスのセットを生成しているのと同時に、およびＰＢＲＩリオーダ・インデックス生成器２３１が、さらに後で受信したＬＬＲ値のセットに対するＰＢＲＩリオーダ・インデックスを生成しているのと同時に、前に受信したＬＬＲ値のセットがＬＬＲバッファ１２９に書き込まれる。ＬＬＲバッファ書込みエンジン２３７が、クロックエッジが受信されたとき、ＬＬＲ値を受信し、アドレス（デインターリーブ・リオーダ物理アドレス）におけるＬＬＲバッファ１２９に書き込むためのＬＬＲ値を、図５のマルチバンクＬＬＲバッファ１２９に導体２３８を介して送信する。
【００１９】
図７は、図５のＬＬＲバッファ１２９のより詳細なブロック図である。ＬＬＲバッファ１２９は、マルチバンク・メモリ・セグメントＣ１１、Ｃ１２、Ｃ２１、Ｃ２２、Ｄ１１、Ｄ１２、Ｄ２１およびＤ２２を用いたマルチセグメント調停メモリである。各メモリ・セグメントは、複数のメモリバンクとアービタ１４０とを含む。アービタ１４０を、図７の拡大された部分に示す。図５のデマップ回路および復号回路は、図７において、デマップ１  ２００と、デマップ２  ２０１と、ビタビ１  ２０３と、ビタビ２  ２０４と、ターボ１  ２０５と、ターボ２  ２０６とを含む。ＬＬＲバッファはまた、ＡＨＢインターフェース２１０からアクセス可能である。メモリ・セグメントＣ１１、Ｃ１２、Ｃ２１およびＣ２２は、制御チャネル・パケットを記憶することができ、デマップ１回路２００と、ビタビ・デコーダ２０３と２０４の両方と、ＡＨＢバス・インターフェース２１０とによってアクセスされる。デマップ１回路２０１およびＡＨＢバス・インターフェース２１０は、制御チャネル・メモリ・セクション上で書込みおよび読取り制御権を有し、デコーダは、制御チャネル・メモリ・セクションから読取りアクセスできる。Ｄ１１、Ｄ１２、Ｄ２１およびＤ２２マルチバンク・メモリ・セクションはデータ・チャネル・サブパケットを記憶するために使用され、デマップ２回路２０１と、ＡＨＢインターフェースと、ビタビ・デコーダ２０３と２０４の両方と、ターボ・デコーダ２０５と２０６の両方とによってアクセスが可能である。書込みおよび読取りアクセスがデマップ２  ２０１とＡＨＢインターフェース２１０とによって許可され、デコーダは、ＬＬＲバッファ１２９のデータセクションに読取りアクセスできる。デマップ２  ２０１は、図７に示すように、アドレスの６つの並列セットと、データ導体２２４および２２８とを通って、メモリ・セグメントＤ１１、Ｄ１２、Ｄ２１およびＤ２２とインターフェースする。
【００２０】
セグメントのアービタが、各マルチバンク・メモリ・セグメントへのアクセスを調停する。たとえば、アービタ１４０はセグメントＣ１１のためのアービタである。一実施形態では、アービタは２つのプログラマブル・モードを有し、各セグメントは任意の他のセグメントの調停モードとは無関係にいずれのモードでも動作することができる。第１のモードでは、アービタは、第１の許可がデマップ回路に行くようにする。次いで、第２の許可が、ビタビ・デコーダ回路またはターボ・デコーダ回路のいずれかに与えられる。次いで、このパターンが繰り返し、第３の許可がデマップ回路に行く。これにより、デマップ回路は、マルチバンク・メモリ・セグメントへのアクセスと後続のデコーダへのアクセス許可を有することになる。この第１のプログラマブル・モードでは、セグメントのアービタが要求をデマップ回路に許可するとき、デマップ２  ２０１はデマップ１  ２００に勝る優先順位を有する。アービタが要求を復号回路に許可するとき、デコーダの優先順位は、降順に、ターボ２  ２０６、ターボ１  ２０５、ビタビ２  ２０４およびビタビ１  ２０３となる。第２のモードでは、アービタは、要求元回路の優先順位に基づいてアクセスを要求に許可する。このモードでの優先順位は、降順に、ターボ２  ２０６、ターボ１  ２０５、ビタビ２  ２０４、ビタビ１  ２０３、デマップ２  ２０１およびデマップ１  ２００となる。アービタがアクセスをデマップ回路またはデコーダ回路に許可すると、処理が完了し、そのメモリ・セクションがアービタによって解放されるまで、その回路のみがそのメモリ・セグメントにアクセスできる。たとえば、アービタ１４１は、デマップ２  ２０１から、マルチバンク・メモリ・セグメントＤ１１に書き込むためのアクセス要求を受信することができる。アービタ１４１は、要求を許可し、デマップ２は、デマップ２  ２０１からの６つのＬＬＲ値が同時にマルチバンク・メモリ・セグメントＤ１１に書き込まれるように、６つのデインターリーブされたレコーダ物理（De-interleaved Reorder Physical：ＤＲＰ）アドレスを６つの並列アドレスチャネルを通ってマルチバンク・メモリ・セグメントＤ１１に同時に送信することによって応答する。サブパケットのすべてのＬＬＲ値がメモリ・セグメントＤ１１に書き込まれるまで、このプロセスは繰り返される。次いで、ターボ・デコーダ２０５および２０６がメモリ・セグメントＤ１１へのアクセスを要求することができ、アクセスはアービタ１４１によって許可される。次のステップで、ターボ・デコーダは、セグメントＤ１１からＬＬＲ値をデインターリーブ形式で読み取る。
【００２１】
図８は、ＬＬＲバッファ１２９のマルチバンク・メモリ・セグメントＤ１１の詳細図である。セグメントは、メモリの１６個のバンク、バンク０〜バンク１６を含む。本簡略図では、各バンクは、２５６個のワード・ロケーションの深さである。最下位ワード・ロケーションは左端の位置０に示されているが、最上位ワード・ロケーションは右端の位置２５５に示されている。この例は２５６の深さを含むが、実際の実装形態では、深さは実質的により深い。深さは、たとえば、サポートされる通信規格におけるインターレースの数に応じて、４０個または８０個のサブパケットを調整するのに十分な深さとすることができる。
【００２２】
図示の例では、図８のワード・ロケーションの各ワード・ロケーションは、少なくとも３０ビット長であり、最高５つのＬＬＲ値をそれぞれ保持することができ、各ＬＬＲ値は長さが６ビットである。この構成では、サブパケットの「Ｕ」ＬＬＲ値のすべてが、互いに連続するバンクに記憶され、「Ｕ」ＬＬＲ値は各ワード・ロケーションの最下位ビットを占有する。この例は５つのＬＬＲ値の幅を含むが、実際の実装形態では、幅は８つのＬＬＲ値を記憶するのに十分である。
【００２３】
図８はまた、６５個のＬＬＲ値の長さのサブパケットの例において、１６個のバンクのどのワード・ロケーションがＬＬＲ値を含むことになるかを示す。サブパケットのすべてのＬＬＲ値がセグメントに記憶された場合、各バンクの影付き領域が、ＬＬＲ値を含むそれらのワード・ロケーションを示す。バンク０では、最初の５つのメモリアドレス・ロケーションがデータを含む。すべての残りのバンク、バンク１〜バンク１５では、最初の４つのアドレス・ロケーションがＬＬＲ値を含む。影付きでない領域は０値を記憶する。４０９６個のＬＬＲ値のサブパケットの長さの場合、１６個のすべてのバンクのすべてのワード・ロケーションがＬＬＲ値を含む。
【００２４】
図９〜図１１は、連続するＬＬＲ値を衝突なしにセグメントに書き込むことができる方法を表す図である。図９に、デインターリーブ後の、サブパケット４６のＬＬＲ値の発信ストリーム４４の例を示す。丸括弧中の添字によって示すように、ＬＬＲ値Ｂ０〜Ｂ１１の位置は、デインターリーブ（デシャッフル）される。リオーダされたデインターリーブＬＬＲ値位置を定義する添字を、本明細書では「ＰＢＲＩリオーダ・インデックス」と呼ぶ。ＬＬＲ値のサブパケットをデインターリーブするために、デインターリーブ・パケット中の様々なＬＬＲ値の添字を判断する。ＰＢＲＩリオーダ・インデックスのシーケンス中の連続したＰＢＲＩリオーダ・インデックスごとに、関連するＬＬＲ値を出力して、デインターリーブ・ストリーム４４を形成する。
【００２５】
図１０および図１１は、図９の例についてＰＢＲＩリオーダ・インデックスを判断する１つの方法を示す図である。図９の簡略化した例では、サブパケットは１１のサイズを有する。１１の値を表すことができる２進ビットの最小数は４である。したがって、１６個の可能な４ビット２進値を図１０の左端列４７中に記載する。４ビット値ごとに、その対応する１０進表現を次の左端列４８中の丸括弧中に記載する。たとえば４ビット２進値「００００」は１０進値（０）によって表される。ＰＢＲＩ方法は「ビット反転」演算を必要とする。したがって、列４７中の各４ビット値のビット反転バージョンを列４９中に記録する。たとえば列４７中の４ビット２進値「０１１１」は、ビット反転されて、列４９中で４ビット２進値「１１１０」になる。右端列５０に、列４９中の値の１０進相当値を記載する。列４８と列４９との間の関係はリオーダを定義するが、これらの列中にある添字はパケット４６中にあるＬＬＲ値よりも多い。サブパケット４６のサイズは１１であり、列４８および列５０中には１６個の値がある。したがって、リオーダ・インデックスの数を１１まで「切り詰める」。図１１に示すように、右端列中の１０よりも大きい値は「レンジ外」であると言われ、図１１ではより暗い背景で示されている。次いで、デインターリーブ回路２２３は、関連するＬＬＲ値をこれらのアドレスにおいてマルチバンクＬＬＲバッファ１２９に書き込む。
【００２６】
列４９中の４ビット２進値は、図７のＬＬＲバッファ１２９の各マルチバンクＬＬＲバッファ・セグメントの１６個の利用可能なバンクのうちの１つを選択する。次いで、デマップ回路は、これらのＰＢＲＩリオーダ物理アドレスのうちの６つの連続したアドレスを選択し、関連する６つのＬＬＲ値をセグメントに同時に書き込む。アドレスは、図５の並列アドレス導体２２８の６つのセットを使用してＬＬＲバッファ１２９に送信される。６つのＰＲＢＩリオーダ物理アドレスの各セットに対応する６つのＬＬＲ値は、図５の並列データ導体２２４の６つのセットを介してＬＬＲバッファ１２９に書き込むために利用可能になる。これらの物理リオーダ・アドレスの各アドレスは、ＬＬＲバッファ１２９内のマルチバンク・メモリ・セグメント内の異なるバンクに対応する。したがって、２つ以上のＬＬＲ値が一度にマルチバンク・メモリの各バンクに書き込まれない。
【００２７】
図１２は、各アドレスが６ビットＬＬＲ値に対応する、１２ビットＰＢＲＩアドレスを示すより詳細な例である。各アドレスの４つの最上位ビット（ＭＳＢ）が左側に配置され、図９〜図１１に図示するプロセスによって選択されている。アドレスの残りは、ＭＳＢの右側に配置される。４つのＭＳＢは、対応するＬＬＲ値が記憶されるセグメントのバンクを選択する。たとえば、最初のＰＢＲＩアドレス「００００」の４つのＭＳＢは、マルチバンクＬＬＲバッファ・セグメントＤ１１の「バンク０」を選択することができる。４つのＭＳＢの残りの各セットは、その同じセグメント内のメモリの異なるバンクに対応し、それによって、２つ以上のＬＬＲ値が一度にマルチバンク・メモリの各バンクに書き込まれないようにする。
【００２８】
図１３は、１２ビット・アドレス・フィールド内で長さが７ビットであるＰＢＲＩ物理アドレスのビットシフトを示す図である。変換前に、図１３のアドレスのすべてのビットは、１２ビット・アドレス・フィールドの左端のロケーションにある。４つのＭＳＢは、バンクロケーションを判断し、３つの最下位ビット（ＬＳＢ）（「１０１」）は、ＭＳＢによって選択されたバンク内のワード・ロケーションを判断する。図６の物理アドレス・トランスレータ２３２は、同時シフトを実行し、アドレスの３つのＬＳＢをアドレス・フィールドの右端のロケーションに配置する。ＭＳＢ「１０１０」は左端のロケーションに残り、一実施形態では、すべての残りのビットは２進値「０」に設定される。１２ビット・アドレス・ロケーションが完全には占有されないとき、このビットシフト演算は、ビットを対象のアドレス・ロケーションに書き込むようにする。
【００２９】
図１４は、長さが１２ビットよりも小さいＰＢＲＩ物理アドレスのシフトを示す別の図である。図１４では、ＰＢＲＩ物理アドレスは、長さが１１ビットである。変換前に、図１４のアドレスのすべてのビットは、１２ビット・アドレス・フィールドの左端のロケーションにある。４つのＭＳＢはバンク・ロケーションを判断する。８つのＬＳＢ「１０１０１０１０」は、ＭＳＢによって選択されたバンク内のアドレス・ロケーションを判断する。この例では、図６の物理アドレス・トランスレータ２３２は、同時シフトを実行し、アドレスの８つのＬＳＢをアドレス・フィールドの右端のロケーションに配置する。ＭＳＢ「１０１０」は左端のロケーションに残り、一実施形態では、残りのビットは２進値「０」に設定される。
【００３０】
図１５は、一度に１つのワード・ロケーションの割合でデインターリーブ順序でＬＬＲバッファ１２９のセグメントから読み取られているＬＬＲ値を示す斜視図である。ＬＬＲバッファ・セグメントは、メモリの１６個のバンク、ＢＡＮＫ０〜ＢＡＮＫ１５を含み、各バンクは２５６個のアドレス可能なワード・ロケーションを有する。図示の例では、２５６個のアドレス可能なワード・ロケーションの各々は、５つのＬＬＲ値、すなわち１つの「Ｕ」６ビットＬＬＲ値と、長さがそれぞれ６ビットである４つの追加のパリティＬＬＲ値とを記憶することができる十分なビットを含んでいる。４つの追加のＬＬＲ値は、第１の「Ｕ」６ビットＬＬＲ値中でエラーを検出し、修復するためのパリティ情報を含む。ＬＬＲ値「Ｕ」は、対応するパリティＬＬＲ値Ｖ０、Ｖ０’、Ｖ１およびＶ１’とともに図１５に示される。
【００３１】
図１５に、ワード・ロケーションのすべての内容を同時に読み取る方法をさらに示す。パリティをもつＬＬＲ値とパリティをもたないＬＬＲ値とが、互いに連続して１つのワード・ロケーション内に記憶されるので、デコーダは、パリティＬＬＲ値とともに非パリティＬＬＲ値を、その後におよび同時に読み出すことができる。デコーダは、矢印５１によって示されるデインターリーブ順序でＬＬＲ値を読み出す。図１５の例では、デコーダは、ＢＡＮＫ０中の上部左端のワード・ロケーションを読み取り、次いで、ＢＡＮＫ０中の右側の次のワード・ロケーションを読み取り、ＢＡＮＫ０中のすべての影付きワード・ロケーションが読み取られるまで、以下同様である。次いで、デコーダは、ＢＡＮＫ１中の左端のワード・ロケーションを読み取り、次いで、ＢＡＮＫ１中の右側の次のワード・ロケーションを読み取り、ＢＡＮＫ１中のすべての影付きワード・ロケーションが読み取られるまで、以下同様である。この読み取りは、デコーダがすべての影付きワード・ロケーションを読み取るまで、垂直方向に下にバンクからバンクに進行する。読み取られたＬＬＲ値のデインターリーブを生じるこの読み取りは、図１３および図１４に関して上述した新規なアドレス変換により可能になる。ＬＬＲ値を含んでいないストレージロケーションは０値を含んでいる。第１の送信において、サブパケットのＬＬＲ値の一部のみが受信され、ＬＬＲバッファに書き込まれる。サブパケット・サイズのために図１５で影付きで図示された、いくつかのワード・ロケーションが、たとえば、第１の送信の後、すべて０を含んでいることがある。同様に、所与のワード・ロケーション内のＬＬＲ位置のいくつかが０を含んでいることがあるが、そのワード・ロケーション中の他のＬＬＲ位置はＬＬＲ値で充填される。どのくらい多くのＬＬＲ値が第１の送信において受信されたかにかかわらず、デコーダは、矢印５１によって示されるデインターリーブ順序ですべての影付きワード・ロケーションを読み取り、サブパケットを復号しようと試みることができる。復号が機能しない場合、サブパケットのより多くのＬＬＲ値が第２の送信において受信される。第２の送信の終了時に、デコーダは、再びデインターリーブ順序ですべての影付きワード・ロケーションを読み取り、サブパケットを復号しようと試みることができる。このプロセスは、何度も、またはサブパケットの復号が成功するまで続く。
【００３２】
図１６は、新規な方法３００のフローチャートである。第１のステップ３０１において、一定量非順序論理が、複数のデインターリーブ・リオーダ物理（ＤＲＰ）アドレスを同時に生成する。ＤＲＰアドレスの各々は、マルチバンク・メモリの異なるバンクを識別する。ＤＲＰアドレスの各々はまた、ＬＬＲ値の着信インターリーブストリームのＬＬＲ値に対応する。
【００３３】
第２のステップ３０２において、２つ以上のＬＬＲ値が一度にマルチバンク・メモリの各バンクに書き込まれないように、複数のＬＬＲ値を、衝突なしにマルチバンク・メモリに同時に書き込む。ＬＬＲ値の各々を、その対応するＤＲＰアドレスによって示されるロケーションにおけるマルチバンク・メモリに書き込む。
【００３４】
第３のステップ３０３において、デコーダは、ＬＬＲ値がデインターリーブ順序で読み出されるように、マルチバンク・メモリの内容を読み取る。
【００３５】
図１７（従来技術）は、ＬＬＲバッファへの２つのサブパケットのＬＬＲ値の書込みを示すタイムラインである。各サブパケットは、６５個のＬＬＲ値のサイズを有する。この簡略化した例では、ＬＬＲパリティ値がない。サブパケットのＬＬＲ値は６５個のロケーションに書き込まれる。図１７の例では、サブパケット・サイズは６５であるが、第１の送信は５４個のＬＬＲ値のみを含み、５４個のＬＬＲ値のみが、第１のサブパケットに割り当てられた６５個のロケーションに書き込まれる。これらの書込みの各々は１時間単位を要する。図において、「５４」は、５４個のＬＬＲ値を６５個のロケーションのうちの５４個に書き込むことに５４時間単位を要することを示す。これらの書込みの後、０値を６５個のロケーションの残りの１１個に書き込む。０値のこれらの書込みは、この例では１つずつ行われ、「１１」は、このプロセスが１１時間単位を要することを示す。これらの０の書込みの各々はクリア命令によって開始される。下向きを指す矢印は、これらのクリア命令を示す。次いで、デコーダが６５個のロケーションを読み取り、サブパケットを復号しようと試みる。図示の例では、第２の送信が第２のサブパケットのＬＬＲ値を含んでいる。これらのＬＬＲ値は、第２のサブパケットに割り当てられたＬＬＲバッファ中の別の６５個のロケーションに書き込まれる。第１の送信の場合のように、第２の送信は５４個のＬＬＲ値のみを含むので、第２のサブパケットに割り当てられたＬＬＲバッファの部分の残りの１１個のロケーションは０値を用いて書き込まれる。必要とされる時間単位の総数は１３０時間単位である。
【００３６】
図１８は、ＬＬＲバッファ１２９のセグメントの斜視図である。セグメントは、１６個のバンクを含むマルチバンク・メモリである。各バンクはワード・ロケーションの１行である。本明細書で説明する一例では、２つのサブパケットのＬＬＲ値がセグメントに書き込まれる。これらの２つのサブパケットの各々のサブパケット・サイズは６５である。第１のサブパケットのＬＬＲ値は、淡い陰影でマーキングされたワード・ロケーションに書き込まれるが、第２のサブパケットのＬＬＲ値は、より暗い陰影でマーキングされたワード・ロケーションに書き込まれる。所与の送信において、サブパケットの、すべてではないが、いくつかのＬＬＲ値が受信されるが、受信されたＬＬＲ値は適切なワード・ロケーションに書き込まれる。送信が受信された後、デコーダが、サブパケットのすべてのワード・ロケーションを読み取り、サブパケットを復号しようと試みる。
【００３７】
図１９は、第２の新規な態様による、図１８のセグメントへの２つのサブパケットのＬＬＲ値の書込みを示すタイムラインである。この簡略化した例では、ＬＬＲパリティ値がない。最初に、処理回路１１５が、ＤＤＥ  ＷＣＳＭＳＣ１２５にＤＤＥクリアＬＬＲタスク命令を発行する。これは、図１９で矢印４００によって示されている。ＤＤＥ  ＷＣＳＭＳＣ１２５内のデマップ回路のタスク・マネージャは、密結合メモリからタスク命令を読み取って、タスク命令を解釈する。
【００３８】
図２０は、ＤＤＥクリアＬＬＲタスク命令の図である。タスク命令中のフィールドが、セグメント中のワード・ロケーションの矩形ブロックを識別する。このブロックは、第１のサブパケットのＬＬＲ値を記憶するために使用されるすべてワード・ロケーションと、第２のサブパケットのＬＬＲ値を記憶するために使用されるすべてのワード・ロケーションとを含む。本明細書で説明する例では、セグメントは、図１８に示すサブパケット領域に分割される。サブパケット領域は、図示のように、対応するサブパケットのＬＬＲ値を記憶するために使用されるすべてのワード・ロケーションを含む、ワード・ロケーションの矩形ブロックである。サブパケット領域は、セグメントのすべてのバンクにわたり、各バンク中に同じ数のワード・ロケーションを含む。
【００３９】
次いで、タスク・マネージャは、デマッパに、６つの同時ＬＬＲ書込みのシーケンス中にＤＤＥクリアＬＬＲタスク命令によって示されるすべてのワード・ロケーションに０値を書き込ませる。図１９の例では、２つのサブパケット領域は、合計１９２個のワード・ロケーションを含む。したがって、３２個の並列書込みを実行して、これらの１９２個のワード・ロケーションをクリアする。タイムライン中の「３２」は、これらの書込みを実施するために３２時間単位が必要であることを示す。ブロック・クリア動作が完了した後、次いで、第１のサブパケットのＬＬＲ値が、図８に関して上述したように第１のサブパケットのサブパケット領域に書き込まれる。この例では、第１の送信は、第１のサブパケットの５４個のＬＬＲ値のみを含む。これらのＬＬＲ値が一度に６つ書き込まれるので、９時間単位が必要である。第１のサブパケットに割り当てられたワード・ロケーションのうちの１１個は、ＬＬＲ値を用いて書き込まれないが、これらのワード・ロケーションは、ＤＤＥクリアＬＬＲタスク命令の実行により、すでに０値を記憶している。次に、第２の送信が行われ、第２のサブパケットの５４個のＬＬＲ値が受信され、第２のサブパケットのサブパケット領域に書き込まれる。これらのＬＬＲ値が一度に６つのＬＬＲ値を書き込まれるので、別の９時間単位がこれらの書込みを実行するために必要である。第１および第２のサブパケットのＬＬＲ値を記憶するために、およびデコーダによって読み取られることになる他のワード・ロケーションが０値を含むようにするために必要な時間単位の総数は、５０時間単位である。一方、図１７の従来例では、同じ数のＬＬＲ書込みおよび０化演算を達成するために、１３０時間単位を必要とする。
【００４０】
新規の一態様では、ＬＬＲ書込み動作を制御する処理回路１１５は、複数のサブパケットに対してＬＬＲの０化を実行するために、ただ１つのクリア命令（ＤＤＥクリアＬＬＲタスク命令）を発行しなければならないが、従来技術の例では、多くのクリア命令を必要とする。これらの多くのクリア命令を生成しなければならないことにより、タスクを与えられる中央プロセッサまたは他の機構に、ＬＬＲの書込みおよび０化演算の制御を負わせることがある。別の新規な態様では、複数のＬＬＲ値が同時にクリアされる。たとえば、６つの異なるバンクに記憶されたＬＬＲ値は、図８に関して上述した並列書込み機能を使用して、同時にクリアされる。さらに別の新規な態様では、ワード・ロケーションに記憶されたすべてのＬＬＲ値が同時にクリアされる。図１８および図８の例では、各ワード・ロケーションは５つのＬＬＲ値を記憶するためのビットを含み、すべてのこれらのビットは同時にクリアされる。
【００４１】
図２１は、図１９に記載する方法５００のフローチャートである。複数のサブパケットのＬＬＲ値を記憶するための（ＬＬＲバッファのマルチバンクセグメントの）メモリ・ロケーションのブロックを識別するタスク命令を受信する（ステップ５０１）。一例では、第１のサブパケットＬＬＲ値をＬＬＲバッファのマルチバンク・メモリの第１のサブパケット領域に記憶し、第２のサブパケットＬＬＲ値をＬＬＲバッファのマルチバンク・メモリの第２のサブパケット領域に記憶する。タスク命令によって識別されたメモリ・ロケーションのブロックは、第１のサブパケット領域と第２のサブパケット領域の両方を含む。次いで、０値を用いて複数のロケーションを並列に書き込むことによって、タスク命令を実行し（ステップ５０２）、ブロックのすべてのロケーションが０値を用いて書き込まれるまで、この並列の書込みを繰り返す。一例では、各ロケーションは、複数のＬＬＲ値を保持することが可能なマルチビットワード・ロケーションであり、ワード・ロケーションのすべてのビットは、０を用いて同時に書き込まれる。次いで、デインターリーブ方式に従って、一度に複数のＬＬＲ値の割合で並列に、第１のサブパケットのＬＬＲ値を第１のサブパケット領域中の適切なロケーションに書き込む（ステップ５０３）。デインターリーブ方式に従って、一度に複数のＬＬＲ値の割合で並列に、第２のサブパケットのＬＬＲ値を第２のサブパケット領域中の適切なロケーションに書き込む（ステップ５０４）。
【００４２】
本明細書で説明した技法は、様々な方法で実装できる。１つまたは複数の例示的な実施形態では、説明した機能はハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装できる。ソフトウェアで実装する場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶するか、あるいはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体でよい。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを運搬または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００４３】
いくつかの特定の実施形態について説明の目的で上述したが、本特許文書の教示は、一般的な適用可能性を有し、上述した特定の実施形態に限定されない。したがって、説明した特定の実施形態の様々な特徴の様々な変更、適合、および組合せは、以下に記載する特許請求の範囲の範囲から逸脱することなく実施できる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  （ａ）複数のＤＲＰ（デインターリーブされたレコーダ物理（De-interleaved Reorder Physical）アドレス）を生成することと、
（ｂ）対応する複数の（対数尤度比）ＬＬＲ値をマルチバンク・メモリに同時に書き込むために前記ＤＲＰアドレスを使用することであって、前記マルチバンク・メモリが複数のバンクを備え、２つ以上のＬＬＲ値が一度に前記マルチバンク・メモリの各バンクに書き込まれない、前記ＤＲＰアドレスを使用することと、
を備える方法。
［２］  前記ＤＲＰアドレスがＰＢＲＩ（Pruned Bit Reversal Interleaved）アドレスである［１］に記載の方法。
［３］  前記生成すること（ａ）が、
各リオーダ・インデックスが複数のアドレスビットを含む、リオーダ・インデックスのストリームを生成することと、
各リオーダ・インデックスを、前記リオーダ・インデックスの第２のアドレスビットをシフトすることによって、および前記リオーダ・インデックスの第１のアドレスビットをシフトされないままにすることによって、対応するＤＲＰアドレスに変換することと、
を含む［１］に記載の方法。
［４］  前記リオーダ・インデックスの前記第１のアドレスビットが前記ＤＲＰアドレスの第１の部分を形成し、前記ＤＲＰアドレスの前記第１の部分が、ＬＬＲ値が書き込まれる前記マルチバンク・メモリのうちの唯一無二の１つのバンクを識別する［３］に記載の方法。
［５］  シフト後の前記リオーダ・インデックスの前記第２のアドレスビットが前記ＤＲＰアドレスの第２の部分を形成し、前記ＤＲＰアドレスの前記第２の部分が、前記ＬＬＲ値が書き込まれるワード・ロケーションを識別する［４］に記載の方法。
［６］  （ｃ）前記複数のＬＬＲ値がデインターリーブ順序を有するように、前記マルチバンク・メモリから前記複数の前記ＬＬＲ値を読み取ること
をさらに備える［１］に記載の方法。
［７］  前記読み取ること（ｃ）が、前記マルチバンク・メモリの第１のバンクから前記複数のＬＬＲ値の第１のサブセットを読み取り、次いで、前記マルチバンク・メモリの第２のバンクから前記複数のＬＬＲ値の第２のサブセットを読み取ることを含む［６］に記載の方法。
［８］  前記マルチバンク・メモリが、マルチセグメント調停メモリの複数のセグメントのうちの１つであり、第２のサブパケットのＬＬＲ値がデコーダによって前記セグメントの別のセグメントから読み取られる時間期間中に、第１のサブパケットのＬＬＲ値が前記セグメントのうちの１つに書き込まれる［６］に記載の方法。
［９］  各バンクが複数のワード・ロケーションを備え、複数のＬＬＲ値が前記ワード・ロケーションのうちの少なくとも１つに書き込まれる［１］に記載の方法。
［１０］  （ａ）ＤＲＰ（De-interleaved Reorder Physical）アドレスの複数のセットを備える、複数のＤＲＰアドレスを生成することと、
（ｂ）（対数尤度比）ＬＬＲ値の対応するセットをメモリに同時に書き込むために、ＤＲＰアドレスの各セットを使用することと、
（ｃ）デインターリーブ順序で前記メモリから前記複数のＬＬＲ値を読み取ることと、
を備える方法。
［１１］  前記ＤＲＰアドレスがＰｒｕｎｅｄ  Ｂｉｔ  Ｒｅｖｅｒｓａｌ  Ｉｎｔｅｒｌｅａｖｅｄ（ＰＢＲＩ）アドレスであり、前記メモリがマルチバンク・メモリである［１０］に記載の方法。
［１２］  複数のＤｅ−ｉｎｔｅｒｌｅａｖｅｄ  Ｒｅｏｒｄｅｒ  Ｐｈｙｓｉｃａｌ（ＤＲＰ）アドレスを生成するデインターリーバ回路と、
２つ以上のＬＬＲ値が一度に前記マルチバンク・メモリの各バンクに書き込まれないように、複数のＬＬＲ値を前記マルチバンク・メモリに同時に書き込むために前記複数のＤＲＰアドレスを使用するマルチバンク・メモリと、
を備える装置。
［１３］  前記デインターリーバ回路が、
各リオーダ・インデックスが複数のアドレスビットを含む、リオーダ・インデックスのストリームを生成するリオーダ・インデックス生成器と、
リオーダ・インデックスの前記ストリームを受信し、各受信されたリオーダ・インデックスを対応するＤＲＰアドレスに変換するアドレス・トランスレータ回路であって、前記アドレス・トランスレータ回路が、リオーダ・インデックスを、前記リオーダ・インデックスの第１のアドレスビットをシフトすることによって、および前記リオーダ・インデックスの第２のアドレスビットをシフトされないままにすることによって、ＤＲＰアドレスに変換する、アドレス・トランスレータ回路と、
を備える［１２］に記載の装置。
［１４］  前記マルチバンク・メモリが、
各バンクが複数のワード・ロケーションを含み、各ＬＬＲ値がいくつかのビットＡを含み、各ワード・ロケーションがいくつかのビットＢを含み、Ｂが少なくともＡの２倍である、複数のバンク
を備える、［１２］に記載の装置。
［１５］  前記第２のアドレスビットが、前記ＬＬＲ値のうちの１つが書き込まれる前記マルチバンク・メモリのバンクを識別する、［１３］に記載の装置。
［１６］  前記複数のＤＲＰアドレスの各々が、前記複数のＬＬＲ値のうちの対応するＬＬＲ値が書き込まれる前記マルチバンク・メモリの前記バンクのうちの唯一無二の１つのバンクを識別する、［１３］に記載の装置。
［１７］  前記マルチバンク・メモリが、マルチセグメント調停メモリの複数のセグメントのうちの１つであり、第２のサブパケットのＬＬＲ値が前記セグメントの別のセグメントから読み取られる時間期間中に、第１のサブパケットのＬＬＲ値が前記セグメントのうちの１つに書き込まれる、［１２］に記載の装置。
［１８］  複数のバンクを備えるマルチバンク・メモリと、
対数尤度比（ＬＬＲ）値の複数のセットを前記マルチバンク・メモリに書き込むための手段であって、２つ以上のＬＬＲ値が一度に前記マルチバンク・メモリの各バンクに書き込まれないように、各セットの前記ＬＬＲ値が前記マルチバンク・メモリに同時に書き込まれる、書き込むための手段と
を備える装置。
［１９］  デインターリーブ順序で前記マルチバンク・メモリから前記ＬＬＲ値を読み取るための手段をさらに備える、［１８］に記載の装置。
［２０］  デインターリーバが複数のＤＲＰ（De-interleaved Reorder Physical）アドレスを生成するように、および前記ＤＲＰアドレスが、対応する複数の（対数尤度比）ＬＬＲ値をマルチバンク・メモリに同時に書き込むために使用されるように、コンピュータに前記デインターリーバを制御させるためのコードであって、前記マルチバンク・メモリが複数のバンクを備え、２つ以上のＬＬＲ値が一度に前記マルチバンク・メモリの各バンクに書き込まれない、制御させるためのコードと、
デコーダが、デインターリーブ順序で前記マルチバンク・メモリから前記複数のＬＬＲ値を読み取るように、前記コンピュータに前記デコーダを制御させるためのコードと、
を備えるコンピュータ可読媒体
を備えるコンピュータプログラム製品。
［２１］  （ａ）単一の書込み動作を実行することによってメモリ中のワード・ロケーションから複数の対数尤度比（ＬＬＲ）値をクリアするステップ
を備える方法。
［２２］  前記ワード・ロケーションが複数のワード・ロケーションのうちの１つであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションのすべてが同時にクリアされる、［２１］に記載の方法。
［２３］  前記メモリがマルチバンク・メモリであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションの各々が前記マルチバンク・メモリの異なるバンクの一部である、［２２］に記載の方法。
［２４］
第１のサブパケットのＬＬＲ値と第２のサブパケットのＬＬＲ値とが、両方とも前記マルチバンク・メモリの同じバンクに記憶される、［２３］に記載の方法。
［２５］  （ｂ）命令を解釈するステップと、
（ｃ）前記解釈するステップ（ｂ）に応答して、前記命令によって識別される複数のワード・ロケーションがクリアされるように、ステップ（ａ）を複数回実行するステップと
をさらに備える、［２１］に記載の方法。
［２６］  （ｃ）が、前記命令によって識別される前記ワード・ロケーションの第１のワード・ロケーションから第１のサブパケットのＬＬＲ値をクリアすることを含み、（ｃ）が、前記命令によって識別される前記ワード・ロケーションの第２のワード・ロケーションから第２のサブパケットのＬＬＲ値をクリアすることをも含む、［２５］に記載の方法。
［２７］  前記複数のＬＬＲ値の第１のＬＬＲ値が第１のパリティＬＬＲ値であり、前記複数のＬＬＲ値の第２のＬＬＲ値が第２のパリティＬＬＲ値である、［２１］に記載の方法。
［２８］  前記メモリが第１のサブパケット領域と第２のサブパケット領域とを含み、（ｃ）が前記第１のサブパケット領域のワード・ロケーションをクリアすることを含み、（ｃ）が前記第２のサブパケット領域のワード・ロケーションをクリアすることをも含む、［２５］に記載の方法。
［２９］  第１の対数尤度比（ＬＬＲ）値と第２のＬＬＲ値とを記憶するメモリと、
前記第１および第２のＬＬＲ値を同時にクリアする機構と
を備える装置。
［３０］  前記第１および第２のＬＬＲ値が単一の書込み動作によって同時にクリアされる、［２９］に記載の装置。
［３１］  前記第１および第２のＬＬＲ値が、同時に行われる複数の書込み動作によって同時にクリアされる、［２９］に記載の装置。
［３２］  前記機構がタスク・マネージャを含む、［２９］に記載の装置。
［３３］  前記機構が命令を受信し、前記命令が前記メモリ中の複数のワード・ロケーションを識別し、前記機構が、前記第１および第２のＬＬＲ値を、前記識別された複数のワード・ロケーションへの書込みによってクリアさせる、［２９］に記載の装置。
［３４］  前記メモリがマルチバンク・メモリであり、前記第１のＬＬＲ値が前記マルチバンク・メモリの第１のバンクに記憶され、前記第２のＬＬＲ値が前記マルチバンク・メモリの第２のバンクに記憶される、［２９］に記載の装置。
［３５］  前記第１および第２のＬＬＲ値が前記メモリの単一のワード・ロケーションに記憶される、［２９］に記載の装置。
［３６］  第１の対数尤度比（ＬＬＲ）値と第２のＬＬＲ値とを記憶するメモリと、
前記第１および第２のＬＬＲ値を同時にクリアするための手段と
を備える装置。
［３７］  前記手段が、単一の書込み動作を実行することによって、前記第１および第２のＬＬＲ値を同時にクリアする、［３６］に記載の装置。
［３８］  前記手段が、複数の書込み動作を同時に実行することによって、前記第１および第２のＬＬＲ値を同時にクリアする、［３６］に記載の装置。
［３９］  コンピュータに、メモリから複数の対数尤度比（ＬＬＲ）値を同時にクリアさせるためのコード
を備えるコンピュータ可読媒体
を備えるコンピュータプログラム製品。
［４０］  前記コードがタスク命令である、［３９］に記載のコンピュータプログラム製品。
［４１］  前記コードが、前記メモリ中の単一のワード・ロケーションに単一の書込み動作を実行することによって、前記コンピュータに前記複数のＬＬＲ値を同時にクリアさせるためのものである、［３９］に記載のコンピュータプログラム製品。
［４２］  前記コードが、複数の書込み動作を同時に実行することによって、前記コンピュータに、前記複数のＬＬＲ値を同時にクリアさせるためのものである、［３９］に記載のコンピュータプログラム製品。
【図１】
0005654057.tif 000002
【図２】
0005654057.tif 000003
【図３】
0005654057.tif 000004
【図４】
0005654057.tif 000005
【図５】
0005654057.tif 000006
【図６】
0005654057.tif 000007
【図７】
0005654057.tif 000008
【図８】
0005654057.tif 000009
【図９】
0005654057.tif 000010
【図１０】
0005654057.tif 000011
【図１１】
0005654057.tif 000012
【図１２】
0005654057.tif 000013
【図１３】
0005654057.tif 000014
【図１４】
0005654057.tif 000015
【図１５】
0005654057.tif 000016
【図１６】
0005654057.tif 000017
【図１７】
0005654057.tif 000018
【図１８】
0005654057.tif 000019
【図１９】
0005654057.tif 000020
【図２０】
0005654057.tif 000021
【図２１】
0005654057.tif 000022