JP2011515994A - マルチバンクllrバッファを含むデインターリーブ機構 - Google Patents

マルチバンクllrバッファを含むデインターリーブ機構 Download PDF

Info

Publication number
JP2011515994A
JP2011515994A JP2011501913A JP2011501913A JP2011515994A JP 2011515994 A JP2011515994 A JP 2011515994A JP 2011501913 A JP2011501913 A JP 2011501913A JP 2011501913 A JP2011501913 A JP 2011501913A JP 2011515994 A JP2011515994 A JP 2011515994A
Authority
JP
Japan
Prior art keywords
llr
bank
memory
address
llr values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011501913A
Other languages
English (en)
Inventor
ロスタンピシェー、アリ
チャッラ、ラグー・エヌ.
ヤオ、イウェン
サントス、デイブ・ジェイ.
ネイス、ムリナル・エム.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011515994A publication Critical patent/JP2011515994A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Abstract

2つ以上のLLR値が一度にマルチバンク・メモリの各バンクに書き込まれないように、デインターリーバは、対応する複数のLLR値をマルチバンク・メモリに同時に書き込むために複数のDe−interleaved Reorder Physical(DRP)アドレスを生成する。そのような並列書込みのシーケンスにより、サブパケットの送信のLLR値がメモリに記憶されることになる。DRPアドレスの生成中に実行されるアドレス変換により、LLR値がバンク内に記憶されるので、デコーダは、デインターリーブシーケンスにおいてメモリからLLR値を読み取ることができる。バンクの各メモリ・ロケーションは、複数の関連するLLR値を記憶するためのワード・ロケーションであり、1つのLLR値は、そのパリティ値とともに記憶される。複数のLLR値を同時に書き込む能力は、高速で効率的な方法でロケーションをクリアするために使用される。

Description

関連出願の相互参照
本出願は、2008年3月28日に出願された仮出願第61/040,591号、および2008年3月28日に出願された仮出願第61/040,577号の米国特許法第119条による利益を主張し、前記2つの仮出願は両方とも参照により本明細書に組み込まれる。
開示する実施形態は、デインターリーブに関し、より詳細には、マルチバンク・メモリを利用したデインターリーブに関する。
図1(従来技術)は、セルラー電話などの従来のワイヤレス通信デバイス1の1つのタイプの簡略ブロック図である。ワイヤレス通信デバイス1は、アンテナ2と、RFトランシーバ集積回路3と、デジタル・ベース・バンド集積回路4とを含む。デジタル・ベース・バンド集積回路4は、モジュラ送信チャネル(TX)5と、変調器受信チャネル(RX)6とを含む。デバイス1が送信している場合、送信される情報7は、エンコーダ回路8と、マッパ回路9と、変調器回路10と、逆高速フーリエ変換(IFFT)回路11と、ウィンド・ウイングイング回路12とを含む変調器送信チャネル5を通過する。情報は、アンテナ2から送信するために、デジタル・アナログ変換器(DAC)13によってアナログ形式に変換され、RFトランシーバ集積回路3を通過する。情報は、送信中に熱雑音、干渉、およびスプリアス信号などの障害によって劣化することがあるので、送信前に符号化され、インターリーブされる。符号化およびインターリーブ技法を採用することにより、受信ワイヤレス通信デバイスが、劣化または損傷した情報を復元するためにデインターリーブおよび復号を実行することができる。
送信を受信する受信ワイヤレス通信デバイスの構造は、図1に記載する構造と同じとすることができる。送信は、アンテナ2で受信され、RFトランシーバ集積回路3を通過し、アナログ・デジタル変換器(ADC)14によってデジタル形式に変換され、モジュラ受信チャネル(RX)6を通過する。受信チャネル6は、フロント・エンド回路15と、高速フーリエ変換(FFT)回路16と、復調器回路17と、デマップ回路18と、対数尤度比(LLR)バッファ19と、デコーダ回路20とを含む。デマップ回路18は、アンペイント回路21と、LLR生成器回路22と、デスクランブラ回路23と、デインターリーバ回路24とを含む。デインターリーバ回路24は、たとえば、インターリーブLLR値のストリームを受信し、そのストリームをデインターリーブし、LLR値をバッファ19にデインターリーブ方法で書き込むことができる。復号回路20は、バッファ19からLLR値を読み取り、その値に対して復号を実行し、それによって、矢印25によって表される最初に送信された情報を復元する。そのようなワイヤレス通信デバイス上のデータ・スループット要件が増加するにつれて、一層より高速で、より効率的なデインターリーブ方法および構造が必要になる。したがって、改善されたデインターリーブ・プロセスが望まれる。
第1の態様では、(たとえば、セルラー電話の無線受信機中の)デインターリーバ機構は、複数のデインターリーブされたレコーダ物理(De-interleaved Reorder Physical:DRP)アドレスを生成する。2つ以上の対数尤度比(LLR)値が一度にマルチバンク・メモリの各バンクに書き込まれないように、複数のDRPアドレスを使用して、対応する複数のLLR値をマルチバンク・メモリに同時に書き込む。そのような並列書込みのシーケンスにより、サブパケットの送信のLLR値がマルチバンク・メモリに記憶されることになる。DRPアドレスの生成中にデインターリーバ機構によって実行されるアドレス変換により、LLR値がバンク内に記憶されるので、デコーダは、デインターリーブ中に生じるシーケンスにおいてメモリからLLR値を読み取ることができる。バンクの各メモリ・ロケーションは、複数のLLR値を記憶するためのワード・ロケーションである。複数のLLR値は、その関連するパリティLLR値とともにLLR値を含むことができる。
第2の態様では、複数のLLR値が同時にクリアされる。複数の異なるバンク中のLLR値が、並列書込み動作中に同時にクリアされるだけでなく、ワード・ロケーションに記憶された複数のLLR値も同時にクリアされる。単一のクリア命令により複数のサブパケットのサブパケット領域がクリアされ、それによって、LLR書込み動作およびLLRクリア動作を制御する中央処理回路への処理負担を低減することができる。
上記は概要であり、したがって当然、詳細の簡略化、一般化および省略を含んでおり、したがって、概要はいかなる形でも例示的なものにすぎず、限定的なものではないことを当業者は諒解されたい。特許請求の範囲のみによって定義される、本明細書で説明するデバイスおよび/またはプロセスの他の態様、発明的特徴、および利点は、本明細書に記載する非限定的な詳細な説明において明らかになるであろう。
モバイル通信デバイスの簡略図(従来技術)。 図1のデジタル・ベース・バンド集積回路のより詳細な図(従来技術)。 図3のデマップサブ回路34の一部である新規なデインターリーバ回路41を示すブロック図(従来技術)。 モバイル通信デバイスの送信機中で実行される符号化プロセスを示す簡略ブロック図。 モバイル通信デバイスのトランシーバ中の受信および送信チャネル処理を示す簡略ブロック図。 図2のデジタル・ベース・バンド集積回路103のより詳細なブロック図。 図4のDDE WCSMSC125のより詳細なブロック図。 図5のデインターリーバ回路のより詳細なブロック図。 図5のLLRバッファのブロック図。 図7のLLRバッファのマルチバンク・メモリ・セグメントD11のブロック図。 図5のデインターリーバ回路223に入るインターリーブLLR値の着信ストリームの例を示し、また、図5のデインターリーバ回路223から出るデインターリーブLLR値の発信ストリームの例を示す図。 図9のLLR値の着信シーケンスの例についてPBRIリオーダ・インデックスを判断する方法を示す図。 図9のLLR値の着信シーケンスの例についてPBRIリオーダ・インデックスを判断する方法を示す図。 PRBIアドレスを示し、図6のデインターリーバ回路223によって同時に生成されるすべての可能なPRBIアドレスについて各アドレスの4つの最上位ビット(MSB)を示す図。 PRBIアドレスを7ビットの長さに調整するためにシフト(アドレス変換)される前および後のPRBIアドレスを示す図。 PRBIアドレスを11ビットの長さに調整するためにシフト(アドレス変換)される前および後のPRBIアドレスを示す図。 LLRバッファのバンクのワード・ロケーション中に隣接して配置されるLLR値およびパリティLLR値と、LLRバッファからLLR値をデインターリーブ順序で読み取る方法とを示す図。 複数のLLR値をマルチバンク・メモリに同時に書き込むことを含む方法のフローチャート。 LLRバッファへの2つのサブパケットのLLR値の書込みを示すタイムライン(従来技術)。 第2の新規な態様による、2つのサブパケット領域を有するセグメント(マルチバンク・メモリ)を示す図。 第2の新規な態様による、図18のセグメントへの2つのサブパケットのLLR値の書込みを示すタイムライン。 図19の方法において使用されるDDEクリアLLRタスク命令の図。 第2の新規な態様による、図19に記載する方法500のフローチャート。
図2は、1つの特定のタイプのモバイル通信デバイスの非常に簡略化したハイレベル・ブロック図である。この特定の例では、モバイル通信デバイス100はセルラー電話である。モバイル通信デバイス100は、(図示されないいくつかの他の部分の間に)アンテナ101と、2つの集積回路102および103とを含む。集積回路102はRFトランシーバ集積回路である。RFトランシーバ集積回路102は送信機と受信機とを含む。RFトランシーバ集積回路102は、主に、アナログ回路を含むアナログ集積回路である。一方、集積回路103は、主に、デジタル回路を含むデジタル集積回路である。集積回路103は「デジタル・ベース・バンド集積回路」または「ベース・バンドプロセッサ集積回路」と呼ばれる。
図3は、図2のアンテナ101およびRFトランシーバ集積回路102のより詳細なブロック図である。RFトランシーバ集積回路102は、受信チェーン104と送信チェーン105とを含む。着信送信106は、アンテナ101で受信され、デュプレクサ107およびマッチング・ネットワーク108を通過し、受信チェーン104に入る。受信チェーン104中でダウン・コンバートされた後、受信信号は、さらなる処理のために、デジタル・ベース・バンド集積回路103中のアナログ・デジタル変換器(ADC)109にパスされる。ワイヤレス通信デバイス100が送信を行う場合、デジタル情報がデジタル・ベース・バンド集積回路103中のデジタル・アナログ変換器(DAC)110によってアナログ形式に変換される。次いで、得られたアナログ信号がRFトランシーバ集積回路102の送信チェーン105によってアップ・コンバートされ、得られたRF信号は電力増幅器PA111によって増幅される。増幅された信号は、デュプレクサ107を通過し、発信送信112として送信するためにアンテナ101にパスされる。
図4は、図2のデジタル・ベース・バンド集積回路103のより詳細なブロック図である。デジタル・ベース・バンド集積回路103は、図示しない他の部分の間に、ADC109と、受信チャネル113と、送信チャネル114と、DAC110と、処理回路115と、一定量メモリ116と、一定量高速メモリ117と、データ・ムーバ・エンジン118と、第1のバス119と、第2のバス120と、ウォール・クロック・タイマ121とを含む。受信チャネル113は、着信データのストリームを処理するためにチェーンで編成されたワイヤレス通信システム・モデム・サブ回路(WCSMSC)と本明細書で呼ばれる処理ブロック122〜125のセットを含む。これらのWCSMSCは、フロント・エンドWCSMSC122と、高速フーリエ変換WCSMSC123と、復調(DEMOD)WCSMSC124と、デマップ/デインターリーブ/復号(DDE)WCSMSC125とを含む。DDE WCSMSC125は、以下でさらに詳細に説明するデマッパ部分と、LLRバッファ129と、デコーダ部分とを含む。受信チャネル113の様々なWCSMSCを通過するデータ・フローは、バッファ126〜130によってバッファされる。受信チャネルデータの一般的なパスは、図4の左から右に、回路109、122、126、123、127、124、128、125、130を通って第2のバス120に向かう。同様に、送信チャネル114は、WCSMSC131〜134とバッファ135〜138との対応するセットを含む。送信チャネルデータの一般的なパスは、図4の右から左に、第2のバス120から135、131、136、132、137、133、138、134、および110に向かう。
処理回路115は複数のプロセッサを含むことができる。処理回路115は、メモリ116に記憶されたプロセッサ実行可能命令のプログラム139を実行する。高速メモリ117、第1のバス119および処理回路115は一緒に密結合メモリ(TCM)システムを形成する。処理回路115は、第1のバス119上で高速メモリ117から読み取り、高速メモリ117に書き込むことができる。
この例では、処理回路115は、「タスク・リスト」と呼ばれるものを使用して、受信チャネルおよび送信チャネルの様々なサブ回路122〜125および131〜134を制御する。タスク・リストは1つまたは複数のタスク命令を含む。図では、4つのタスク・リストTL1、TL2、TL3およびTL4がメモリ117に記憶されるのが示されている。タスク・リストTL1は、送信チャネル114のためのタスク命令を含む。タスク・リストTL2は、FFT WCSMSC123のためのタスク命令を含む。タスク・リストTL3は、DEMOD WCSMSC124のためのタスク命令を含む。タスク・リストTL4は、DDE WCSMSC125のためのタスク命令を含む。各タスク・リストは、関連するサブ回路によって実行するための一連のタスク命令を含む。サブ回路は、第2のバス120に結合されたタスク・マネージャ回路、ならびにその回路のデータ処理動作を実行するための一定量専用機能回路を含む。タスク・マネージャは、その関連するタスク・リストからタスク命令を読み取り、タスク命令のオペコードおよび様々なフィールドを解釈し、次いで、タスク命令によって示される動作を実行するために、専用機能回路の関連するハードウェアを制御する。図4のDDE WCSMSC125のタスク・マネージャは、参照番号142によって識別される。適切なタスク命令を特定のサブ回路のためのタスク・リストに配置することによって、処理回路115は、特定のサブ回路の専用機能回路に、処理回路によって指定された特定の動作を実行させることができる。処理回路115は、タスク命令をこれらのタスク・リストに書き込み、これらのタスク・リストを修正し、タスク・リストを削除し、さもなければ、必要に応じて第1のバス119を介してタスク・リストを維持することができる。各タスク・リストは、サーキュラ・バッファ中のメモリ117中に維持される。
図5は、図4のDDE WCSMSC125のより詳細なブロック図である。DDE WCSMSC125のデマッパ部分は、実際は2つのデマップ回路200および201を含む。DDE WCSMSC125のデコーダ部分202は、2つのビタビ・デコーダ203および204と、2つのターボ・デコーダ205および206と、フロー制御回路207と、メモリ・インターフェース回路208とを含む。デマップ部分およびデコーダ部分に加えて、DDE WCSMSC125は、プッシュ・エンジン209と、第2のバス120にインターフェースするためのバス・インターフェース210と、構成レジスタ、ステータスレジスタおよびポインタ・レジスタのセット211と、メモリ・インターフェース212とを含む。図4のタスク・マネージャ142は、タスク・マネージャブロック213および214と、レジスタ211とに分散される。全タスク・マネージャ機能はタスク命令を受信する。これらのタスク命令の一部は、デマップ回路200を制御するためのフィールドを含み、それらのフィールドはタスク・マネージャ部分213によって解釈され、使用されるが、他のフィールドはデマップ回路201を制御するためのものであり、それらのフィールドはタスク・マネージャ部分214によって解釈され、使用される。図4の処理回路115は一般に、DDE WCSMSC125のためのタスク・リストTL4上にタスク命令を書き込み、次いで、第2のバス120およびAHBバス・インターフェース210上に単一の書込みを実行して、レジスタブロック211中のWR_PTRを更新する。タスク・マネージャ部分213および214は、最後のタスク命令が実行された後、ブロック211中のレジスタ中のWR_PTR値が今、メモリ117(図4参照)中のサーキュラ・バッファ中のロケーションを指していることを検出する。したがって、タスク・マネージャ部分は、第2のバス120上でTL4の次のタスク命令を読み取り、次いでタスク命令を解釈し、実行する。DDE WCSMSC125のタスク・マネージャ部分は、EXEC_PTRをレジスタブロック211中の別のレジスタ中に維持する。このEXEC_PTRの値は、実行されたタスク・リストTL4中の最後のタスク命令を示す。
図5のデマップ1部分200は、制御パケットのために使用される比較的低いスループットの回路であるが、デマップ2部分201は、データ・パケットのために使用される比較的高いスループットの回路である。デマップ1部分200は、機能ブロックである、アンペイント・ブロック215と、対数尤度比(LLR)生成器ブロック216と、デスクランブラ・ブロック217と、デインターリーバ・ブロック218とを含む。デマップ1部分200は、導体219および227を介してLLRバッファ129にインターフェースする。LLRバッファ129は、以下でより詳細に説明するように、マルチセグメント、マルチバンク・メモリである。データ導体219は、2つの並列読取り/書込みチャネルをデータに与える。アドレス導体227は、デインターリーブ回路218からLLRバッファ129にデータを書き込み、LLRバッファ129からデータを読み取ってデインターリーブ回路218に戻すためのアドレス情報を与える。より高いスループットのデマップ2部分201は、機能ブロックである、アンペイント・ブロック220と、対数尤度比(LLR)生成器ブロック221と、デスクランブラ・ブロック222と、デインターリーバ・ブロック223とを含む。デマップ2部分201は、6つの並列読取り/書込みデータ・チャネルをLLRバッファに与える導体224を介してLLRバッファ129にインターフェースする。6つの並列読取り/書込みチャネルのためのアドレス情報は、アドレス導体228を介してLLRバッファ129に与えられる。
デマップ/デインターリーブ/復号動作が開始すると、処理は常にアンペイントステップから各連続したステップを通って、LLR生成に、デスクランブルに、デインターリーブに、および復号に進む。したがって、別個のタスク命令が処理のデマップ、デインターリーブおよび復号の態様を制御する必要はない。そうではなく、単一のタスク命令を使用して、これらのステップを介した処理のシーケンス全体を制御する。デマップ部分200または201がサブパケットの処理のその部分を完了すると、次いで、サブパケットが、サブパケットに関連するステータス情報とともにデマップ部分によってデコーダ・ブロックに転送される。次いで、デコーダ・ブロック202は、受信したサブパケットをできるだけ早く処理する。デマップ部分200および201は、最初にサブパケットをLLRバッファ129の部分に書き込むことによって、そのサブパケットをデコーダ・ブロック202に転送し、次いで、LLRバッファ129中のサブパケットのロケーションについて、デコーダ・ブロック202が復号の結果を復号出力バッファ130に書き込むべき場所について、およびサブパケットに関連するステータス情報について、導体225および226を介してデコーダ・ブロック202に通知する。
図6は、デインターリーバ回路223のより詳細なブロック図である。デインターリーバ回路223は、PBRI(Pruned Bit Reversal Interleaved:切り詰めビット・リバーサル・インターリーブ)リオーダ・インデックス生成器231と、物理アドレス・トランスレータ232と、コントローラ回路233と、プリプロセッサ回路236と、LLRバッファ書込みエンジン237とを含む。PBRIリオーダ・インデックス生成器231は、一定量非順序論理を含み、現在のシード値から12個の候補PBRIリオーダ・インデックスを生成する。各候補PBRIリオーダ・インデックスを用いて、PBRIリオーダ・インデックス生成器231はまた、関連する候補PBRIリオーダ・インデックスがレンジ外であるかどうかを示す。次に、クロック信号に応答して、物理アドレス・トランスレータ232が、6つのPBRIリオーダ・インデックスを6つの対応するデインターリーブ・リオーダ物理アドレスP0〜P5に変換する。物理アドレス・トランスレータ232に入るPBRIリオーダ・インデックスは、トランスレータ232内に登録される。次いで、コントローラ回路233が、次のPBRIリオーダ・インデックス生成サイクルのための「現在のシード」を得る。次いで、候補生成器および選択回路234が、6つのPBRIリオーダ・インデックスの別のセットを生成する。物理アドレスP0〜P5は、導体238を介してLLRバッファ129に供給される6つの対応するLLR値を記憶するために使用される6つのデインターリーブ・リオーダ物理アドレス(DRPアドレス)である。
図6に示すように、PBRIリオーダ・インデックス生成器231が6つのPBRIリオーダ・インデックスの次のセットを生成している間に、物理アドレス・トランスレータ232は、その前に生成された6つのPBRIリオーダ・インデックスのセットに対する6つのデインターリーブ・リオーダ物理アドレスの1つのセットを生成している。PBRIリオーダ・インデックス生成動作および物理アドレス生成動作がパイプライン化されるだけでなく、図5のLLR値のLLRバッファ129への書込みもパイプライン化される。物理アドレス・トランスレータ232が、後で受信したLLR値のセットに対する物理アドレスのセットを生成しているのと同時に、およびPBRIリオーダ・インデックス生成器231が、さらに後で受信したLLR値のセットに対するPBRIリオーダ・インデックスを生成しているのと同時に、前に受信したLLR値のセットがLLRバッファ129に書き込まれる。LLRバッファ書込みエンジン237が、クロックエッジが受信されたとき、LLR値を受信し、アドレス(デインターリーブ・リオーダ物理アドレス)におけるLLRバッファ129に書き込むためのLLR値を、図5のマルチバンクLLRバッファ129に導体238を介して送信する。
図7は、図5のLLRバッファ129のより詳細なブロック図である。LLRバッファ129は、マルチバンク・メモリ・セグメントC11、C12、C21、C22、D11、D12、D21およびD22を用いたマルチセグメント調停メモリである。各メモリ・セグメントは、複数のメモリバンクとアービタ140とを含む。アービタ140を、図7の拡大された部分に示す。図5のデマップ回路および復号回路は、図7において、デマップ1 200と、デマップ2 201と、ビタビ1 203と、ビタビ2 204と、ターボ1 205と、ターボ2 206とを含む。LLRバッファはまた、AHBインターフェース210からアクセス可能である。メモリ・セグメントC11、C12、C21およびC22は、制御チャネル・パケットを記憶することができ、デマップ1回路200と、ビタビ・デコーダ203と204の両方と、AHBバス・インターフェース210とによってアクセスされる。デマップ1回路201およびAHBバス・インターフェース210は、制御チャネル・メモリ・セクション上で書込みおよび読取り制御権を有し、デコーダは、制御チャネル・メモリ・セクションから読取りアクセスできる。D11、D12、D21およびD22マルチバンク・メモリ・セクションはデータ・チャネル・サブパケットを記憶するために使用され、デマップ2回路201と、AHBインターフェースと、ビタビ・デコーダ203と204の両方と、ターボ・デコーダ205と206の両方とによってアクセスが可能である。書込みおよび読取りアクセスがデマップ2 201とAHBインターフェース210とによって許可され、デコーダは、LLRバッファ129のデータセクションに読取りアクセスできる。デマップ2 201は、図7に示すように、アドレスの6つの並列セットと、データ導体224および228とを通って、メモリ・セグメントD11、D12、D21およびD22とインターフェースする。
セグメントのアービタが、各マルチバンク・メモリ・セグメントへのアクセスを調停する。たとえば、アービタ140はセグメントC11のためのアービタである。一実施形態では、アービタは2つのプログラマブル・モードを有し、各セグメントは任意の他のセグメントの調停モードとは無関係にいずれのモードでも動作することができる。第1のモードでは、アービタは、第1の許可がデマップ回路に行くようにする。次いで、第2の許可が、ビタビ・デコーダ回路またはターボ・デコーダ回路のいずれかに与えられる。次いで、このパターンが繰り返し、第3の許可がデマップ回路に行く。これにより、デマップ回路は、マルチバンク・メモリ・セグメントへのアクセスと後続のデコーダへのアクセス許可を有することになる。この第1のプログラマブル・モードでは、セグメントのアービタが要求をデマップ回路に許可するとき、デマップ2 201はデマップ1 200に勝る優先順位を有する。アービタが要求を復号回路に許可するとき、デコーダの優先順位は、降順に、ターボ2 206、ターボ1 205、ビタビ2 204およびビタビ1 203となる。第2のモードでは、アービタは、要求元回路の優先順位に基づいてアクセスを要求に許可する。このモードでの優先順位は、降順に、ターボ2 206、ターボ1 205、ビタビ2 204、ビタビ1 203、デマップ2 201およびデマップ1 200となる。アービタがアクセスをデマップ回路またはデコーダ回路に許可すると、処理が完了し、そのメモリ・セクションがアービタによって解放されるまで、その回路のみがそのメモリ・セグメントにアクセスできる。たとえば、アービタ141は、デマップ2 201から、マルチバンク・メモリ・セグメントD11に書き込むためのアクセス要求を受信することができる。アービタ141は、要求を許可し、デマップ2は、デマップ2 201からの6つのLLR値が同時にマルチバンク・メモリ・セグメントD11に書き込まれるように、6つのデインターリーブされたレコーダ物理(De-interleaved Reorder Physical:DRP)アドレスを6つの並列アドレスチャネルを通ってマルチバンク・メモリ・セグメントD11に同時に送信することによって応答する。サブパケットのすべてのLLR値がメモリ・セグメントD11に書き込まれるまで、このプロセスは繰り返される。次いで、ターボ・デコーダ205および206がメモリ・セグメントD11へのアクセスを要求することができ、アクセスはアービタ141によって許可される。次のステップで、ターボ・デコーダは、セグメントD11からLLR値をデインターリーブ形式で読み取る。
図8は、LLRバッファ129のマルチバンク・メモリ・セグメントD11の詳細図である。セグメントは、メモリの16個のバンク、バンク0〜バンク16を含む。本簡略図では、各バンクは、256個のワード・ロケーションの深さである。最下位ワード・ロケーションは左端の位置0に示されているが、最上位ワード・ロケーションは右端の位置255に示されている。この例は256の深さを含むが、実際の実装形態では、深さは実質的により深い。深さは、たとえば、サポートされる通信規格におけるインターレースの数に応じて、40個または80個のサブパケットを調整するのに十分な深さとすることができる。
図示の例では、図8のワード・ロケーションの各ワード・ロケーションは、少なくとも30ビット長であり、最高5つのLLR値をそれぞれ保持することができ、各LLR値は長さが6ビットである。この構成では、サブパケットの「U」LLR値のすべてが、互いに連続するバンクに記憶され、「U」LLR値は各ワード・ロケーションの最下位ビットを占有する。この例は5つのLLR値の幅を含むが、実際の実装形態では、幅は8つのLLR値を記憶するのに十分である。
図8はまた、65個のLLR値の長さのサブパケットの例において、16個のバンクのどのワード・ロケーションがLLR値を含むことになるかを示す。サブパケットのすべてのLLR値がセグメントに記憶された場合、各バンクの影付き領域が、LLR値を含むそれらのワード・ロケーションを示す。バンク0では、最初の5つのメモリアドレス・ロケーションがデータを含む。すべての残りのバンク、バンク1〜バンク15では、最初の4つのアドレス・ロケーションがLLR値を含む。影付きでない領域は0値を記憶する。4096個のLLR値のサブパケットの長さの場合、16個のすべてのバンクのすべてのワード・ロケーションがLLR値を含む。
図9〜図11は、連続するLLR値を衝突なしにセグメントに書き込むことができる方法を表す図である。図9に、デインターリーブ後の、サブパケット46のLLR値の発信ストリーム44の例を示す。丸括弧中の添字によって示すように、LLR値B0〜B11の位置は、デインターリーブ(デシャッフル)される。リオーダされたデインターリーブLLR値位置を定義する添字を、本明細書では「PBRIリオーダ・インデックス」と呼ぶ。LLR値のサブパケットをデインターリーブするために、デインターリーブ・パケット中の様々なLLR値の添字を判断する。PBRIリオーダ・インデックスのシーケンス中の連続したPBRIリオーダ・インデックスごとに、関連するLLR値を出力して、デインターリーブ・ストリーム44を形成する。
図10および図11は、図9の例についてPBRIリオーダ・インデックスを判断する1つの方法を示す図である。図9の簡略化した例では、サブパケットは11のサイズを有する。11の値を表すことができる2進ビットの最小数は4である。したがって、16個の可能な4ビット2進値を図10の左端列47中に記載する。4ビット値ごとに、その対応する10進表現を次の左端列48中の丸括弧中に記載する。たとえば4ビット2進値「0000」は10進値(0)によって表される。PBRI方法は「ビット反転」演算を必要とする。したがって、列47中の各4ビット値のビット反転バージョンを列49中に記録する。たとえば列47中の4ビット2進値「0111」は、ビット反転されて、列49中で4ビット2進値「1110」になる。右端列50に、列49中の値の10進相当値を記載する。列48と列49との間の関係はリオーダを定義するが、これらの列中にある添字はパケット46中にあるLLR値よりも多い。サブパケット46のサイズは11であり、列48および列50中には16個の値がある。したがって、リオーダ・インデックスの数を11まで「切り詰める」。図11に示すように、右端列中の10よりも大きい値は「レンジ外」であると言われ、図11ではより暗い背景で示されている。次いで、デインターリーブ回路223は、関連するLLR値をこれらのアドレスにおいてマルチバンクLLRバッファ129に書き込む。
列49中の4ビット2進値は、図7のLLRバッファ129の各マルチバンクLLRバッファ・セグメントの16個の利用可能なバンクのうちの1つを選択する。次いで、デマップ回路は、これらのPBRIリオーダ物理アドレスのうちの6つの連続したアドレスを選択し、関連する6つのLLR値をセグメントに同時に書き込む。アドレスは、図5の並列アドレス導体228の6つのセットを使用してLLRバッファ129に送信される。6つのPRBIリオーダ物理アドレスの各セットに対応する6つのLLR値は、図5の並列データ導体224の6つのセットを介してLLRバッファ129に書き込むために利用可能になる。これらの物理リオーダ・アドレスの各アドレスは、LLRバッファ129内のマルチバンク・メモリ・セグメント内の異なるバンクに対応する。したがって、2つ以上のLLR値が一度にマルチバンク・メモリの各バンクに書き込まれない。
図12は、各アドレスが6ビットLLR値に対応する、12ビットPBRIアドレスを示すより詳細な例である。各アドレスの4つの最上位ビット(MSB)が左側に配置され、図9〜図11に図示するプロセスによって選択されている。アドレスの残りは、MSBの右側に配置される。4つのMSBは、対応するLLR値が記憶されるセグメントのバンクを選択する。たとえば、最初のPBRIアドレス「0000」の4つのMSBは、マルチバンクLLRバッファ・セグメントD11の「バンク0」を選択することができる。4つのMSBの残りの各セットは、その同じセグメント内のメモリの異なるバンクに対応し、それによって、2つ以上のLLR値が一度にマルチバンク・メモリの各バンクに書き込まれないようにする。
図13は、12ビット・アドレス・フィールド内で長さが7ビットであるPBRI物理アドレスのビットシフトを示す図である。変換前に、図13のアドレスのすべてのビットは、12ビット・アドレス・フィールドの左端のロケーションにある。4つのMSBは、バンクロケーションを判断し、3つの最下位ビット(LSB)(「101」)は、MSBによって選択されたバンク内のワード・ロケーションを判断する。図6の物理アドレス・トランスレータ232は、同時シフトを実行し、アドレスの3つのLSBをアドレス・フィールドの右端のロケーションに配置する。MSB「1010」は左端のロケーションに残り、一実施形態では、すべての残りのビットは2進値「0」に設定される。12ビット・アドレス・ロケーションが完全には占有されないとき、このビットシフト演算は、ビットを対象のアドレス・ロケーションに書き込むようにする。
図14は、長さが12ビットよりも小さいPBRI物理アドレスのシフトを示す別の図である。図14では、PBRI物理アドレスは、長さが11ビットである。変換前に、図14のアドレスのすべてのビットは、12ビット・アドレス・フィールドの左端のロケーションにある。4つのMSBはバンク・ロケーションを判断する。8つのLSB「10101010」は、MSBによって選択されたバンク内のアドレス・ロケーションを判断する。この例では、図6の物理アドレス・トランスレータ232は、同時シフトを実行し、アドレスの8つのLSBをアドレス・フィールドの右端のロケーションに配置する。MSB「1010」は左端のロケーションに残り、一実施形態では、残りのビットは2進値「0」に設定される。
図15は、一度に1つのワード・ロケーションの割合でデインターリーブ順序でLLRバッファ129のセグメントから読み取られているLLR値を示す斜視図である。LLRバッファ・セグメントは、メモリの16個のバンク、BANK0〜BANK15を含み、各バンクは256個のアドレス可能なワード・ロケーションを有する。図示の例では、256個のアドレス可能なワード・ロケーションの各々は、5つのLLR値、すなわち1つの「U」6ビットLLR値と、長さがそれぞれ6ビットである4つの追加のパリティLLR値とを記憶することができる十分なビットを含んでいる。4つの追加のLLR値は、第1の「U」6ビットLLR値中でエラーを検出し、修復するためのパリティ情報を含む。LLR値「U」は、対応するパリティLLR値V0、V0’、V1およびV1’とともに図15に示される。
図15に、ワード・ロケーションのすべての内容を同時に読み取る方法をさらに示す。パリティをもつLLR値とパリティをもたないLLR値とが、互いに連続して1つのワード・ロケーション内に記憶されるので、デコーダは、パリティLLR値とともに非パリティLLR値を、その後におよび同時に読み出すことができる。デコーダは、矢印51によって示されるデインターリーブ順序でLLR値を読み出す。図15の例では、デコーダは、BANK0中の上部左端のワード・ロケーションを読み取り、次いで、BANK0中の右側の次のワード・ロケーションを読み取り、BANK0中のすべての影付きワード・ロケーションが読み取られるまで、以下同様である。次いで、デコーダは、BANK1中の左端のワード・ロケーションを読み取り、次いで、BANK1中の右側の次のワード・ロケーションを読み取り、BANK1中のすべての影付きワード・ロケーションが読み取られるまで、以下同様である。この読み取りは、デコーダがすべての影付きワード・ロケーションを読み取るまで、垂直方向に下にバンクからバンクに進行する。読み取られたLLR値のデインターリーブを生じるこの読み取りは、図13および図14に関して上述した新規なアドレス変換により可能になる。LLR値を含んでいないストレージロケーションは0値を含んでいる。第1の送信において、サブパケットのLLR値の一部のみが受信され、LLRバッファに書き込まれる。サブパケット・サイズのために図15で影付きで図示された、いくつかのワード・ロケーションが、たとえば、第1の送信の後、すべて0を含んでいることがある。同様に、所与のワード・ロケーション内のLLR位置のいくつかが0を含んでいることがあるが、そのワード・ロケーション中の他のLLR位置はLLR値で充填される。どのくらい多くのLLR値が第1の送信において受信されたかにかかわらず、デコーダは、矢印51によって示されるデインターリーブ順序ですべての影付きワード・ロケーションを読み取り、サブパケットを復号しようと試みることができる。復号が機能しない場合、サブパケットのより多くのLLR値が第2の送信において受信される。第2の送信の終了時に、デコーダは、再びデインターリーブ順序ですべての影付きワード・ロケーションを読み取り、サブパケットを復号しようと試みることができる。このプロセスは、何度も、またはサブパケットの復号が成功するまで続く。
図16は、新規な方法300のフローチャートである。第1のステップ301において、一定量非順序論理が、複数のデインターリーブ・リオーダ物理(DRP)アドレスを同時に生成する。DRPアドレスの各々は、マルチバンク・メモリの異なるバンクを識別する。DRPアドレスの各々はまた、LLR値の着信インターリーブストリームのLLR値に対応する。
第2のステップ302において、2つ以上のLLR値が一度にマルチバンク・メモリの各バンクに書き込まれないように、複数のLLR値を、衝突なしにマルチバンク・メモリに同時に書き込む。LLR値の各々を、その対応するDRPアドレスによって示されるロケーションにおけるマルチバンク・メモリに書き込む。
第3のステップ303において、デコーダは、LLR値がデインターリーブ順序で読み出されるように、マルチバンク・メモリの内容を読み取る。
図17(従来技術)は、LLRバッファへの2つのサブパケットのLLR値の書込みを示すタイムラインである。各サブパケットは、65個のLLR値のサイズを有する。この簡略化した例では、LLRパリティ値がない。サブパケットのLLR値は65個のロケーションに書き込まれる。図17の例では、サブパケット・サイズは65であるが、第1の送信は54個のLLR値のみを含み、54個のLLR値のみが、第1のサブパケットに割り当てられた65個のロケーションに書き込まれる。これらの書込みの各々は1時間単位を要する。図において、「54」は、54個のLLR値を65個のロケーションのうちの54個に書き込むことに54時間単位を要することを示す。これらの書込みの後、0値を65個のロケーションの残りの11個に書き込む。0値のこれらの書込みは、この例では1つずつ行われ、「11」は、このプロセスが11時間単位を要することを示す。これらの0の書込みの各々はクリア命令によって開始される。下向きを指す矢印は、これらのクリア命令を示す。次いで、デコーダが65個のロケーションを読み取り、サブパケットを復号しようと試みる。図示の例では、第2の送信が第2のサブパケットのLLR値を含んでいる。これらのLLR値は、第2のサブパケットに割り当てられたLLRバッファ中の別の65個のロケーションに書き込まれる。第1の送信の場合のように、第2の送信は54個のLLR値のみを含むので、第2のサブパケットに割り当てられたLLRバッファの部分の残りの11個のロケーションは0値を用いて書き込まれる。必要とされる時間単位の総数は130時間単位である。
図18は、LLRバッファ129のセグメントの斜視図である。セグメントは、16個のバンクを含むマルチバンク・メモリである。各バンクはワード・ロケーションの1行である。本明細書で説明する一例では、2つのサブパケットのLLR値がセグメントに書き込まれる。これらの2つのサブパケットの各々のサブパケット・サイズは65である。第1のサブパケットのLLR値は、淡い陰影でマーキングされたワード・ロケーションに書き込まれるが、第2のサブパケットのLLR値は、より暗い陰影でマーキングされたワード・ロケーションに書き込まれる。所与の送信において、サブパケットの、すべてではないが、いくつかのLLR値が受信されるが、受信されたLLR値は適切なワード・ロケーションに書き込まれる。送信が受信された後、デコーダが、サブパケットのすべてのワード・ロケーションを読み取り、サブパケットを復号しようと試みる。
図19は、第2の新規な態様による、図18のセグメントへの2つのサブパケットのLLR値の書込みを示すタイムラインである。この簡略化した例では、LLRパリティ値がない。最初に、処理回路115が、DDE WCSMSC125にDDEクリアLLRタスク命令を発行する。これは、図19で矢印400によって示されている。DDE WCSMSC125内のデマップ回路のタスク・マネージャは、密結合メモリからタスク命令を読み取って、タスク命令を解釈する。
図20は、DDEクリアLLRタスク命令の図である。タスク命令中のフィールドが、セグメント中のワード・ロケーションの矩形ブロックを識別する。このブロックは、第1のサブパケットのLLR値を記憶するために使用されるすべてワード・ロケーションと、第2のサブパケットのLLR値を記憶するために使用されるすべてのワード・ロケーションとを含む。本明細書で説明する例では、セグメントは、図18に示すサブパケット領域に分割される。サブパケット領域は、図示のように、対応するサブパケットのLLR値を記憶するために使用されるすべてのワード・ロケーションを含む、ワード・ロケーションの矩形ブロックである。サブパケット領域は、セグメントのすべてのバンクにわたり、各バンク中に同じ数のワード・ロケーションを含む。
次いで、タスク・マネージャは、デマッパに、6つの同時LLR書込みのシーケンス中にDDEクリアLLRタスク命令によって示されるすべてのワード・ロケーションに0値を書き込ませる。図19の例では、2つのサブパケット領域は、合計192個のワード・ロケーションを含む。したがって、32個の並列書込みを実行して、これらの192個のワード・ロケーションをクリアする。タイムライン中の「32」は、これらの書込みを実施するために32時間単位が必要であることを示す。ブロック・クリア動作が完了した後、次いで、第1のサブパケットのLLR値が、図8に関して上述したように第1のサブパケットのサブパケット領域に書き込まれる。この例では、第1の送信は、第1のサブパケットの54個のLLR値のみを含む。これらのLLR値が一度に6つ書き込まれるので、9時間単位が必要である。第1のサブパケットに割り当てられたワード・ロケーションのうちの11個は、LLR値を用いて書き込まれないが、これらのワード・ロケーションは、DDEクリアLLRタスク命令の実行により、すでに0値を記憶している。次に、第2の送信が行われ、第2のサブパケットの54個のLLR値が受信され、第2のサブパケットのサブパケット領域に書き込まれる。これらのLLR値が一度に6つのLLR値を書き込まれるので、別の9時間単位がこれらの書込みを実行するために必要である。第1および第2のサブパケットのLLR値を記憶するために、およびデコーダによって読み取られることになる他のワード・ロケーションが0値を含むようにするために必要な時間単位の総数は、50時間単位である。一方、図17の従来例では、同じ数のLLR書込みおよび0化演算を達成するために、130時間単位を必要とする。
新規の一態様では、LLR書込み動作を制御する処理回路115は、複数のサブパケットに対してLLRの0化を実行するために、ただ1つのクリア命令(DDEクリアLLRタスク命令)を発行しなければならないが、従来技術の例では、多くのクリア命令を必要とする。これらの多くのクリア命令を生成しなければならないことにより、タスクを与えられる中央プロセッサまたは他の機構に、LLRの書込みおよび0化演算の制御を負わせることがある。別の新規な態様では、複数のLLR値が同時にクリアされる。たとえば、6つの異なるバンクに記憶されたLLR値は、図8に関して上述した並列書込み機能を使用して、同時にクリアされる。さらに別の新規な態様では、ワード・ロケーションに記憶されたすべてのLLR値が同時にクリアされる。図18および図8の例では、各ワード・ロケーションは5つのLLR値を記憶するためのビットを含み、すべてのこれらのビットは同時にクリアされる。
図21は、図19に記載する方法500のフローチャートである。複数のサブパケットのLLR値を記憶するための(LLRバッファのマルチバンクセグメントの)メモリ・ロケーションのブロックを識別するタスク命令を受信する(ステップ501)。一例では、第1のサブパケットLLR値をLLRバッファのマルチバンク・メモリの第1のサブパケット領域に記憶し、第2のサブパケットLLR値をLLRバッファのマルチバンク・メモリの第2のサブパケット領域に記憶する。タスク命令によって識別されたメモリ・ロケーションのブロックは、第1のサブパケット領域と第2のサブパケット領域の両方を含む。次いで、0値を用いて複数のロケーションを並列に書き込むことによって、タスク命令を実行し(ステップ502)、ブロックのすべてのロケーションが0値を用いて書き込まれるまで、この並列の書込みを繰り返す。一例では、各ロケーションは、複数のLLR値を保持することが可能なマルチビットワード・ロケーションであり、ワード・ロケーションのすべてのビットは、0を用いて同時に書き込まれる。次いで、デインターリーブ方式に従って、一度に複数のLLR値の割合で並列に、第1のサブパケットのLLR値を第1のサブパケット領域中の適切なロケーションに書き込む(ステップ503)。デインターリーブ方式に従って、一度に複数のLLR値の割合で並列に、第2のサブパケットのLLR値を第2のサブパケット領域中の適切なロケーションに書き込む(ステップ504)。
本明細書で説明した技法は、様々な方法で実装できる。1つまたは複数の例示的な実施形態では、説明した機能はハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装できる。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶するか、あるいはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体でよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを運搬または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
いくつかの特定の実施形態について説明の目的で上述したが、本特許文書の教示は、一般的な適用可能性を有し、上述した特定の実施形態に限定されない。したがって、説明した特定の実施形態の様々な特徴の様々な変更、適合、および組合せは、以下に記載する特許請求の範囲の範囲から逸脱することなく実施できる。

Claims (42)

  1. (a)複数のDRP(デインターリーブされたレコーダ物理(De-interleaved Reorder Physical)アドレス)を生成することと、
    (b)対応する複数の(対数尤度比)LLR値をマルチバンク・メモリに同時に書き込むために前記DRPアドレスを使用することであって、前記マルチバンク・メモリが複数のバンクを備え、2つ以上のLLR値が一度に前記マルチバンク・メモリの各バンクに書き込まれない、前記DRPアドレスを使用することと、
    を備える方法。
  2. 前記DRPアドレスがPBRI(Pruned Bit Reversal Interleaved)アドレスである請求項1に記載の方法。
  3. 前記生成すること(a)が、
    各リオーダ・インデックスが複数のアドレスビットを含む、リオーダ・インデックスのストリームを生成することと、
    各リオーダ・インデックスを、前記リオーダ・インデックスの第2のアドレスビットをシフトすることによって、および前記リオーダ・インデックスの第1のアドレスビットをシフトされないままにすることによって、対応するDRPアドレスに変換することと、
    を含む請求項1に記載の方法。
  4. 前記リオーダ・インデックスの前記第1のアドレスビットが前記DRPアドレスの第1の部分を形成し、前記DRPアドレスの前記第1の部分が、LLR値が書き込まれる前記マルチバンク・メモリのうちの唯一無二の1つのバンクを識別する請求項3に記載の方法。
  5. シフト後の前記リオーダ・インデックスの前記第2のアドレスビットが前記DRPアドレスの第2の部分を形成し、前記DRPアドレスの前記第2の部分が、前記LLR値が書き込まれるワード・ロケーションを識別する請求項4に記載の方法。
  6. (c)前記複数のLLR値がデインターリーブ順序を有するように、前記マルチバンク・メモリから前記複数の前記LLR値を読み取ること
    をさらに備える請求項1に記載の方法。
  7. 前記読み取ること(c)が、前記マルチバンク・メモリの第1のバンクから前記複数のLLR値の第1のサブセットを読み取り、次いで、前記マルチバンク・メモリの第2のバンクから前記複数のLLR値の第2のサブセットを読み取ることを含む請求項6に記載の方法。
  8. 前記マルチバンク・メモリが、マルチセグメント調停メモリの複数のセグメントのうちの1つであり、第2のサブパケットのLLR値がデコーダによって前記セグメントの別のセグメントから読み取られる時間期間中に、第1のサブパケットのLLR値が前記セグメントのうちの1つに書き込まれる請求項6に記載の方法。
  9. 各バンクが複数のワード・ロケーションを備え、複数のLLR値が前記ワード・ロケーションのうちの少なくとも1つに書き込まれる請求項1に記載の方法。
  10. (a)DRP(De-interleaved Reorder Physical)アドレスの複数のセットを備える、複数のDRPアドレスを生成することと、
    (b)(対数尤度比)LLR値の対応するセットをメモリに同時に書き込むために、DRPアドレスの各セットを使用することと、
    (c)デインターリーブ順序で前記メモリから前記複数のLLR値を読み取ることと、
    を備える方法。
  11. 前記DRPアドレスがPruned Bit Reversal Interleaved(PBRI)アドレスであり、前記メモリがマルチバンク・メモリである請求項10に記載の方法。
  12. 複数のDe−interleaved Reorder Physical(DRP)アドレスを生成するデインターリーバ回路と、
    2つ以上のLLR値が一度に前記マルチバンク・メモリの各バンクに書き込まれないように、複数のLLR値を前記マルチバンク・メモリに同時に書き込むために前記複数のDRPアドレスを使用するマルチバンク・メモリと、
    を備える装置。
  13. 前記デインターリーバ回路が、
    各リオーダ・インデックスが複数のアドレスビットを含む、リオーダ・インデックスのストリームを生成するリオーダ・インデックス生成器と、
    リオーダ・インデックスの前記ストリームを受信し、各受信されたリオーダ・インデックスを対応するDRPアドレスに変換するアドレス・トランスレータ回路であって、前記アドレス・トランスレータ回路が、リオーダ・インデックスを、前記リオーダ・インデックスの第1のアドレスビットをシフトすることによって、および前記リオーダ・インデックスの第2のアドレスビットをシフトされないままにすることによって、DRPアドレスに変換する、アドレス・トランスレータ回路と、
    を備える請求項12に記載の装置。
  14. 前記マルチバンク・メモリが、
    各バンクが複数のワード・ロケーションを含み、各LLR値がいくつかのビットAを含み、各ワード・ロケーションがいくつかのビットBを含み、Bが少なくともAの2倍である、複数のバンク
    を備える、請求項12に記載の装置。
  15. 前記第2のアドレスビットが、前記LLR値のうちの1つが書き込まれる前記マルチバンク・メモリのバンクを識別する、請求項13に記載の装置。
  16. 前記複数のDRPアドレスの各々が、前記複数のLLR値のうちの対応するLLR値が書き込まれる前記マルチバンク・メモリの前記バンクのうちの唯一無二の1つのバンクを識別する、請求項13に記載の装置。
  17. 前記マルチバンク・メモリが、マルチセグメント調停メモリの複数のセグメントのうちの1つであり、第2のサブパケットのLLR値が前記セグメントの別のセグメントから読み取られる時間期間中に、第1のサブパケットのLLR値が前記セグメントのうちの1つに書き込まれる、請求項12に記載の装置。
  18. 複数のバンクを備えるマルチバンク・メモリと、
    対数尤度比(LLR)値の複数のセットを前記マルチバンク・メモリに書き込むための手段であって、2つ以上のLLR値が一度に前記マルチバンク・メモリの各バンクに書き込まれないように、各セットの前記LLR値が前記マルチバンク・メモリに同時に書き込まれる、書き込むための手段と
    を備える装置。
  19. デインターリーブ順序で前記マルチバンク・メモリから前記LLR値を読み取るための手段をさらに備える、請求項18に記載の装置。
  20. デインターリーバが複数のDRP(De-interleaved Reorder Physical)アドレスを生成するように、および前記DRPアドレスが、対応する複数の(対数尤度比)LLR値をマルチバンク・メモリに同時に書き込むために使用されるように、コンピュータに前記デインターリーバを制御させるためのコードであって、前記マルチバンク・メモリが複数のバンクを備え、2つ以上のLLR値が一度に前記マルチバンク・メモリの各バンクに書き込まれない、制御させるためのコードと、
    デコーダが、デインターリーブ順序で前記マルチバンク・メモリから前記複数のLLR値を読み取るように、前記コンピュータに前記デコーダを制御させるためのコードと、
    を備えるコンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  21. (a)単一の書込み動作を実行することによってメモリ中のワード・ロケーションから複数の対数尤度比(LLR)値をクリアするステップ
    を備える方法。
  22. 前記ワード・ロケーションが複数のワード・ロケーションのうちの1つであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションのすべてが同時にクリアされる、請求項21に記載の方法。
  23. 前記メモリがマルチバンク・メモリであり、前記複数のワード・ロケーションのうちの前記ワード・ロケーションの各々が前記マルチバンク・メモリの異なるバンクの一部である、請求項22に記載の方法。
  24. 第1のサブパケットのLLR値と第2のサブパケットのLLR値とが、両方とも前記マルチバンク・メモリの同じバンクに記憶される、請求項23に記載の方法。
  25. (b)命令を解釈するステップと、
    (c)前記解釈するステップ(b)に応答して、前記命令によって識別される複数のワード・ロケーションがクリアされるように、ステップ(a)を複数回実行するステップと
    をさらに備える、請求項21に記載の方法。
  26. (c)が、前記命令によって識別される前記ワード・ロケーションの第1のワード・ロケーションから第1のサブパケットのLLR値をクリアすることを含み、(c)が、前記命令によって識別される前記ワード・ロケーションの第2のワード・ロケーションから第2のサブパケットのLLR値をクリアすることをも含む、請求項25に記載の方法。
  27. 前記複数のLLR値の第1のLLR値が第1のパリティLLR値であり、前記複数のLLR値の第2のLLR値が第2のパリティLLR値である、請求項21に記載の方法。
  28. 前記メモリが第1のサブパケット領域と第2のサブパケット領域とを含み、(c)が前記第1のサブパケット領域のワード・ロケーションをクリアすることを含み、(c)が前記第2のサブパケット領域のワード・ロケーションをクリアすることをも含む、請求項25に記載の方法。
  29. 第1の対数尤度比(LLR)値と第2のLLR値とを記憶するメモリと、
    前記第1および第2のLLR値を同時にクリアする機構と
    を備える装置。
  30. 前記第1および第2のLLR値が単一の書込み動作によって同時にクリアされる、請求項29に記載の装置。
  31. 前記第1および第2のLLR値が、同時に行われる複数の書込み動作によって同時にクリアされる、請求項29に記載の装置。
  32. 前記機構がタスク・マネージャを含む、請求項29に記載の装置。
  33. 前記機構が命令を受信し、前記命令が前記メモリ中の複数のワード・ロケーションを識別し、前記機構が、前記第1および第2のLLR値を、前記識別された複数のワード・ロケーションへの書込みによってクリアさせる、請求項29に記載の装置。
  34. 前記メモリがマルチバンク・メモリであり、前記第1のLLR値が前記マルチバンク・メモリの第1のバンクに記憶され、前記第2のLLR値が前記マルチバンク・メモリの第2のバンクに記憶される、請求項29に記載の装置。
  35. 前記第1および第2のLLR値が前記メモリの単一のワード・ロケーションに記憶される、請求項29に記載の装置。
  36. 第1の対数尤度比(LLR)値と第2のLLR値とを記憶するメモリと、
    前記第1および第2のLLR値を同時にクリアするための手段と
    を備える装置。
  37. 前記手段が、単一の書込み動作を実行することによって、前記第1および第2のLLR値を同時にクリアする、請求項36に記載の装置。
  38. 前記手段が、複数の書込み動作を同時に実行することによって、前記第1および第2のLLR値を同時にクリアする、請求項36に記載の装置。
  39. コンピュータに、メモリから複数の対数尤度比(LLR)値を同時にクリアさせるためのコード
    を備えるコンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  40. 前記コードがタスク命令である、請求項39に記載のコンピュータプログラム製品。
  41. 前記コードが、前記メモリ中の単一のワード・ロケーションに単一の書込み動作を実行することによって、前記コンピュータに前記複数のLLR値を同時にクリアさせるためのものである、請求項39に記載のコンピュータプログラム製品。
  42. 前記コードが、複数の書込み動作を同時に実行することによって、前記コンピュータに、前記複数のLLR値を同時にクリアさせるためのものである、請求項39に記載のコンピュータプログラム製品。
JP2011501913A 2008-03-28 2009-03-17 マルチバンクllrバッファを含むデインターリーブ機構 Pending JP2011515994A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US4059108P 2008-03-28 2008-03-28
US4057708P 2008-03-28 2008-03-28
US61/040,591 2008-03-28
US61/040,577 2008-03-28
US12/404,613 US8572332B2 (en) 2008-03-28 2009-03-16 De-interleaving mechanism involving a multi-banked LLR buffer
US12/404,613 2009-03-16
PCT/US2009/037453 WO2009120546A1 (en) 2008-03-28 2009-03-17 De-interleaving mechanism involving a multi-banked llr buffer

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2013008335A Division JP5654057B2 (ja) 2008-03-28 2013-01-21 マルチバンクllrバッファを含むデインターリーブ機構
JP2013147120A Division JP5801353B2 (ja) 2008-03-28 2013-07-12 マルチバンクllrバッファを含むデインターリーブ機構

Publications (1)

Publication Number Publication Date
JP2011515994A true JP2011515994A (ja) 2011-05-19

Family

ID=40749220

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2011501913A Pending JP2011515994A (ja) 2008-03-28 2009-03-17 マルチバンクllrバッファを含むデインターリーブ機構
JP2013008335A Active JP5654057B2 (ja) 2008-03-28 2013-01-21 マルチバンクllrバッファを含むデインターリーブ機構
JP2013147120A Active JP5801353B2 (ja) 2008-03-28 2013-07-12 マルチバンクllrバッファを含むデインターリーブ機構

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2013008335A Active JP5654057B2 (ja) 2008-03-28 2013-01-21 マルチバンクllrバッファを含むデインターリーブ機構
JP2013147120A Active JP5801353B2 (ja) 2008-03-28 2013-07-12 マルチバンクllrバッファを含むデインターリーブ機構

Country Status (7)

Country Link
US (1) US8572332B2 (ja)
EP (1) EP2269313A1 (ja)
JP (3) JP2011515994A (ja)
KR (1) KR101185868B1 (ja)
CN (1) CN101953077B (ja)
TW (1) TW200952378A (ja)
WO (1) WO2009120546A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077947A (ja) * 2009-09-30 2011-04-14 Fujitsu Ltd ターボ復号装置及び通信装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347062B2 (en) * 2008-07-28 2013-01-01 Lantiq Deutschland Gmbh Interleaver memory allocation method and apparatus
US20110299442A1 (en) * 2010-06-04 2011-12-08 Sairamesh Nammi Methods and apparatus for controlling location for starting decoding of sub-packets of a communication packet
JP5564566B2 (ja) * 2010-07-12 2014-07-30 パナソニック株式会社 デインタリーブ装置および方法ならびにデータ伝送システムおよび方法
US8406330B2 (en) * 2010-07-19 2013-03-26 Qualcomm Incorporated Advanced LLR processor for wireless telecommunication system
CN106452454B (zh) * 2015-08-04 2019-09-27 上海数字电视国家工程研究中心有限公司 数据换序发送接收译码方法及装置
KR101779584B1 (ko) * 2016-04-29 2017-09-18 경희대학교 산학협력단 복잡도 감소에 기반한 ds-cdma 시스템에서의 원신호 복원 방법
CN109144963A (zh) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 一种重做日志持久化方法及设备
WO2019007495A1 (en) * 2017-07-05 2019-01-10 Huawei Technologies Co., Ltd. DECODING MULTI-CORE POLAR CODES
KR102478169B1 (ko) * 2020-04-03 2022-12-16 한국전자통신연구원 디인터리빙 방법 및 이를 수행하는 디인터리빙 시스템
US11386007B1 (en) * 2021-04-05 2022-07-12 Oracle International Corporation Methods and systems for fast allocation of fragmented caches

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531138A (ja) * 2001-05-11 2004-10-07 クゥアルコム・インコーポレイテッド ターボ復号器のためのバッファアーキテクチャ
WO2006069392A1 (en) * 2004-12-22 2006-06-29 Qualcomm Incorporated Pruned bit-reversal interleaver
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP2008135813A (ja) * 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63164091A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ・クリア方式
JP3304632B2 (ja) * 1994-09-21 2002-07-22 ソニー株式会社 インターリーブ方法およびインターリーブ回路
US6789218B1 (en) * 2000-01-03 2004-09-07 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US7095812B2 (en) * 2002-06-24 2006-08-22 Agere Systems Inc. Reduced complexity receiver for space-time- bit-interleaved coded modulation
US7702968B2 (en) * 2004-02-27 2010-04-20 Qualcomm Incorporated Efficient multi-symbol deinterleaver
US8325863B2 (en) 2004-10-12 2012-12-04 Qualcomm Incorporated Data detection and decoding with considerations for channel estimation errors due to guard subbands
WO2006059688A1 (ja) * 2004-12-02 2006-06-08 Mitsubishi Denki Kabushiki Kaisha 復号装置及び通信装置
US7840859B2 (en) 2005-02-14 2010-11-23 Koninklijke Philips Electronics N.V. Block interleaving with memory table of reduced size
KR100800853B1 (ko) * 2005-06-09 2008-02-04 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7783952B2 (en) * 2006-09-08 2010-08-24 Motorola, Inc. Method and apparatus for decoding data
US20090245423A1 (en) * 2008-03-28 2009-10-01 Qualcomm Incorporated De-Interlever That Simultaneously Generates Multiple Reorder Indices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531138A (ja) * 2001-05-11 2004-10-07 クゥアルコム・インコーポレイテッド ターボ復号器のためのバッファアーキテクチャ
WO2006069392A1 (en) * 2004-12-22 2006-06-29 Qualcomm Incorporated Pruned bit-reversal interleaver
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP2008135813A (ja) * 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN5011010049; BENEDETTO S: 'MAPPING INTERLEAVING LAWS TO PARALLEL TURBO AND LDPC DECODER ARCHITECTURES' IEEE TRANSACTIONS ON INFORMATION THEORY V50 N9, 20040901, P2002-2009, IEEE *
JPN6013011566; Jim Tomcik: 'MBFDD and MBTDD Wideband Mode: Technology Overview' IEEE C802.20-05/68r1 , 20060106, pp.1,45 *
JPN6013011568; Libero Dinoi et al.: 'Variable-size interleaver design for parallel turbo decoder architectures' Communications, IEEE Transactions on Vol.53, No.11, 200511, pp.1833-1840 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077947A (ja) * 2009-09-30 2011-04-14 Fujitsu Ltd ターボ復号装置及び通信装置

Also Published As

Publication number Publication date
JP2013128301A (ja) 2013-06-27
WO2009120546A1 (en) 2009-10-01
CN101953077A (zh) 2011-01-19
KR20100139114A (ko) 2010-12-31
JP2013255244A (ja) 2013-12-19
JP5654057B2 (ja) 2015-01-14
KR101185868B1 (ko) 2012-09-25
US8572332B2 (en) 2013-10-29
TW200952378A (en) 2009-12-16
CN101953077B (zh) 2014-12-10
US20090249134A1 (en) 2009-10-01
JP5801353B2 (ja) 2015-10-28
EP2269313A1 (en) 2011-01-05

Similar Documents

Publication Publication Date Title
JP5801353B2 (ja) マルチバンクllrバッファを含むデインターリーブ機構
JP6858857B2 (ja) 受信機及び復号方法
JP4478668B2 (ja) 並列のターボ復号機中でのインターリーブの方法およびシステム。
JP5657404B2 (ja) データ復号システムにおける動的スケーリングのためのシステムおよび方法
KR20120012960A (ko) 판독된 데이터 처리 시스템의 동적 스케일링을 위한 시스템 및 방법
US8438434B2 (en) N-way parallel turbo decoder architecture
KR20080067987A (ko) 큐피피 인터리브를 갖는 병렬 터보 디코딩을 위한 공식적플렉서블 충돌 방지 메모리 억세싱
US8522120B2 (en) Systems and methods for out of order Y-sample memory management
WO2009134846A1 (en) Method and apparatus for contention-free interleaving using a single memory
KR20110037953A (ko) 데이터 복호화 방법, 데이터 인터리브 방법, 데이터 복호화 장치, 인터리버 테이블 생성 장치 및 데이터 인터리브 장치
KR20090044178A (ko) 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
JP2006217072A (ja) ターボ復号装置及びターボ復号方法
JP2003526988A (ja) ビット−スライスの順に実施したパス計量更新におけるビタービ復号化
JP5680696B2 (ja) シンボルの再グループ化による復号化処理のためのシステム及び方法
Briki et al. A conflict-free memory mapping approach to design parallel hardware interleaver architectures with optimized network and controller
US20090245423A1 (en) De-Interlever That Simultaneously Generates Multiple Reorder Indices
US8499231B2 (en) Systems and methods for reduced format non-binary decoding
CN106330206A (zh) 一种译码方法及装置
US8560929B2 (en) Systems and methods for non-binary decoding
US9015551B2 (en) Decoding apparatus with de-interleaving efforts distributed to different decoding phases and related decoding method thereof
JP4666235B2 (ja) 符号化装置及び方法、並びにプログラム
KR20140140252A (ko) 인터리빙 및 디인터리빙을 위한 메모리 엑세스 장치 및 그 방법
Wong et al. Turbo Decoder with Parallel Processing
KR20020089310A (ko) 비트-슬라이스의 순서로 구현되는 경로측정 갱신을 갖는비터비 디코딩 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121102

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130719

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130809