(57)【要約】  本発明は、メモリ（ＥＭ）へのアクセスを提供するために、それぞれのアドレス範囲（ＡＳ１〜ＡＳｚ）によってアドレス可能な少なくとも２つの所定のレジスタおよび少なくとも１つのアクセス・ポート（Ｐ１〜ＰＺ）を有する、前記メモリ（ＥＭ）を含む記憶装置に関する。さらに、前記レジスタ・メモリ・セクションをシフト・レジスタとして動作させ、少なくとも１つのアクセス・ポート（Ｐ１〜ＰＺ）のレジスタ・アクセスをメモリ（ＥＭ）のグローバル・アドレス空間の所定のアドレスにマップするために、前記メモリ（ＥＭ）にアドレスするためのアクセス制御手段（Ａ）が提供される。このようにして、複数のＦＩＦＯメモリを組み合わせて単一のアドレス可能記憶装置にすることができる。この実装は、電力消費および面積の点から好ましいものである。さらに、バッファ・メモリを導入することにより、マルチポート記憶装置を同じ容量のシングルポート記憶装置で置き換えることができる。また、この先端的な実装によって、サイクル・タイムおよびアクセス・タイムも削減される。
2007527079.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置であって、
ａ．それぞれのアドレス範囲によってアドレス可能な少なくとも２つの所定のレジスタ・メモリ・セクションを有するメモリと、
ｂ．前記メモリへのアクセスを提供するための少なくとも１つのアクセス・ポートと、
ｃ．前記メモリにアドレスして、前記レジスタ・メモリ・セクションをシフト・レジスタとして動作させ、前記少なくとも１つのアクセス・ポートのシフト・レジスタ・アクセスを前記メモリのグローバル・アドレス空間の所定のアドレスにマップするためのアクセス制御手段とを含む記憶装置。
【請求項２】
前記アクセス制御手段が少なくとも１つのアドレス・カウンタを含む、請求項１に記載の装置。
【請求項３】
前記アドレス範囲が所定のサイズの重複領域を含む、請求項１または２に記載の装置。
【請求項４】
前記少なくとも１つのアクセス・ポートが、データを前記レジスタ・メモリ・セクションのそれぞれに書き込むための複数のデータ・ソースへのアクセス、およびデータを前記レジスタ・メモリ・セクションから読み出すための複数のデータ処理装置へのアクセスを提供する、前記請求項の何れかに記載の装置。
【請求項５】
前記アクセス制御手段が、前記データ・ソースおよび前記データ処理装置に交互アクセスを提供するように構成されている、請求項４に記載の装置。
【請求項６】
データ・ソース・アクセスが前記グローバル・アドレス空間の中で循環するように制御され、処理装置アクセスがそれぞれのレジスタ・メモリ・セクションのアドレス範囲の中で循環するように制御される、請求項４または５に記載の装置。
【請求項７】
前記少なくとも１つのアクセス・ポートおよび前記メモリに接続可能なバッファ・メモリをさらに含み、前記バッファ・メモリおよび前記メモリのライン幅が、少なくとも１つのアクセス・ポートのデータ幅にサイクル当りの読出しアクセス回数と書込みアクセス回数の和を乗じた幅以上になるように選択される、前記請求項の何れかに記載の装置。
【請求項８】
前記メモリがシングルポート・メモリである、請求項７に記載の装置。
【請求項９】
前記少なくとも１つのアクセス・ポートが複数の書込みポートおよび複数の読出しポートを含み、書込みポートの数が読出しポートの数と異なる、請求項７または８に記載の装置。
【請求項１０】
前記バッファ・メモリが前記少なくとも１つのアクセス・ポートの読出しおよび書込みアクセスをバッファするように構成されている、請求項７ないし９の何れかに記載の装置。
【請求項１１】
前記アドレス制御手段が、前記読出しアクセスに関するアドレスを前記ライン幅に合うように位置合せするアドレス変換手段を含む、請求項７ないし１０の何れかに記載の装置。
【請求項１２】
前記アドレス変換手段がルックアップ・テーブルを含む、請求項１１に記載の装置。
【請求項１３】
前記アクセス制御手段が書込みアクセスを前記バッファ・メモリにそれが満杯になるまで転送するように、かつ、前記バッファ・メモリが満杯になったとき、１つのメモリ・ラインを書き込むように適合される、請求項７ないし１２の何れかに記載の装置。
【請求項１４】
前記アドレス制御手段が、常に前記ライン幅のブロックが読み出されるように読出しアクセスを位置合せするように適合される、請求項７ないし１３の何れかに記載の装置。
【請求項１５】
前記少なくとも２つの所定のレジスタ・メモリ・セクションがＦＩＦＯメモリ・セクションとして動作される、前記請求項の何れかに記載の装置。
【請求項１６】
複数の入力データ・ストリームを逆多重化し、逆多重化されたデータ・ストリームを複数のデータ処理ユニットに供給するための逆多重化装置であって、前記入力・データが前記請求項の何れかに記載の記憶装置に供給される、逆多重化装置。
【請求項１７】
前記逆多重化装置がＰＲＭＬベースのインターリーブ機能を含む、請求項１６に記載の装置。
【請求項１８】
複数のデータ処理ユニットから供給されるデータ・ストリームを多重化し、多重化された出力データ・ストリームを生成するための多重化装置であって、前記データ・ストリームが請求項１ないし１４の何れかに記載の記憶装置に供給される、多重化装置。
【請求項１９】
前記多重化装置がＰＲＭＬベースのデインターリーブ機能を含む、請求項１８に記載の装置。
【請求項２０】
それぞれのアドレス範囲によってアドレス可能な少なくとも２つの所定のレジスタ・メモリ・セクションを有するメモリを提供するステップと、
前記メモリへのアクセスを提供するための、少なくとも１つのアクセス・ポートを提供するステップと、
前記メモリにアドレスして、前記レジスタ・メモリ・セクションをシフト・レジスタとして動作させ、前記少なくとも１つのアクセス・ポートのシフト・レジスタ・アクセスを前記メモリのグローバル・アドレス空間の所定のアドレスにマップするためのアクセス制御手段を提供するステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つまたは複数のデータ・ソースを複数のデータ処理装置に結合するために使用することができる、ＦＩＦＯ（先入れ先出し）メモリなど、シフト・レジスタ機能を有する記憶装置に関する。
【背景技術】
【０００２】
現在の記憶システムの密度および転送速度は、着実に増大している。その結果の１つは、読出し信号を妨害する振幅ひずみおよび位相ひずみの増大である。このような状況下で、受け入れ可能な誤り率を維持するためには、先端的信号処理技法が必要である。ＰＲＭＬ（Partial-Response Maximum-Likelihood）受信機は、（磁気−）光ディスク・システムおよびハード・ドライブから衛星および移動通信システムに至るまで、非常に幅広い範囲の用途に極めて有効であることが判明している。今日では、ＰＲＭＬベースの検出は、殆ど全てのハイエンド記憶システムに使用されている。ＰＲＭＬベースの受信機の使用によって、システムの容量およびマージンの少なくとも一方を著しく増やすことができる、あるいは、同様に、容量およびマージンの少なくとも一方を変えないまま、コストを減らすことができる。とりわけ、ＤＶＤ＋ＲＷ（読書き可能デジタル多用途ディスク）やＤＶＲ（ブルーレイ・ディスク）など先端的光ディスク・システムにＰＲＭＬベースの検出を導入することによって、ノイズ、デフォーカスおよびディスク・チルトに対するシステム・センシティビティが低下することが判明している。ＰＲＭＬベースの検出によって、機械的および光学的なシステム構成要素に対する必要条件を緩和することができ、その結果、より高いシステム強靭性およびより低い生産コストを達成することができる。
【０００３】
いわゆるビタビ・アルゴリズムは、ＰＲＭＬ検出器の最も効率的な実用的実装であると考えられる。しかし、ビタビ・アルゴリズムは、データ依存のフィードバック・ループを含んでいるので、その速度は本質的に限られている。加算−比較−選択（ＡＣＳ）操作をクロック・サイクル毎に行わなければならず、次のサイクルは、このＡＣＳ演算の結果が利用可能になるまで開始することができない。
【０００４】
生クロック周波数を増大させる他に、ビタビ検出器のスループットを改善するための代替手法が提案されている。この代替手法は、入ってきたデータ・ストリームをいくつかのサブストリームに分割し、パラレルに処理するという考えに基づくものである。しかし、光ディスク、ハード・ディスク、特にテープなどの、デジタル記憶システムまたは転送システムから高速でデータを読み出すためのビタビ・デコーダのパラレル実装は、高価で電力消費量の多い高クロック速度のデジタル・ハードウェアを必要とする。このような高クロック速度のデジタル・ハードウェアが必要になるのは、たとえば、ＦＩＦＯメモリ・ブロックに様々なパラレル・データ・ストリームをバッファしておく必要があるからである。様々なＦＩＦＯを組み合わせて１つの埋込みブロックにしようとすると、それらＦＩＦＯのサンプリング・レートの合計がシステム・クロックより高い場合は、マルチポート・メモリが必要になる。多くの信号またはイメージ処理システム、記憶システム、および通信システムにおいてそうである。
【０００５】
面積および電力消費ならびにシリコン実装の点から見て、容量がＺｘＢの一体化されたメモリ・ブロック１個は、一般に、容量がＢのメモリ・ブロックＺ個より安く、その結果、小さなメモリを数多く使うよりも、より大きな容量のメモリを１個使う方が好ましい。さらに、同じ容量のシングルポート・メモリは、それに等しい容量のマルチポート・メモリより安価である。したがって、マルチポート・メモリの代わりにシングルポート・メモリを使うことが好ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的は、いくつかの小さなＦＩＦＯメモリ・ブロックを１個の一体化された埋込みメモリ・ブロックで置き換えることを可能にするメモリ・アーキテクチャを提供することである。
【課題を解決するための手段】
【０００７】
この目的は、請求項１に記載の記憶装置によって達成される。
【０００８】
したがって、所定のレジスタ・メモリ・ブロックへのシフト・レジスタ・アクセスがメモリのグローバル・アドレス空間の後続のアドレスにマップされる、ここで提案するアーキテクチャによれば、複数のＦＩＦＯまたは他の種類のシフト・レジスタ・メモリを組み合わせて、ＲＡＭ（ランダム・アクセス・メモリ）など１個の埋込みメモリにすることが可能になる。この実装は、電力消費および面積を考えると最も好ましいものである。さらに、この好ましい実装によれば、マルチポートＲＡＭを同じ容量のシングルポートＲＡＭで置き換えることが可能になる。このような実装は、面積および電力の点でさらに好ましいばかりでなく、サイクル・タイムおよびアクセス・タイムも削減される。
【０００９】
アクセス制御手段は、少なくとも１つのアドレス・カウンタ、または、必要とされるアドレス・シーケンスを生成するどのような種類の有限状態機械をも含むことができる。それによって、アドレスを生成するための簡単な実装を提供することができる。
【００１０】
さらに、所定のレジスタ・メモリ・セクションのアドレス範囲は、所定のサイズの重複領域を含むことができる。これによって、埋込みメモリの容量が、置き換えられたＦＩＦＯブロック全てのメモリ・ロケーションの総数より小さくなるという利点が得られる。これらの重複領域は、有利なことに、ビタビ検出器のトレーニング領域として使用することができ、これらの検出器では、入ってきたデータ・ストリームは、そのサブストリームが重複するようにいくつかの検出器に分割される。この場合、一方の検出器では、そのサブストリームの末尾が重複領域となり、他方の検出器では、その同じ重複領域がそのサブストリームの先頭になる。後者の検出器は、前者の検出器がビット判断を提供できるので、重複領域をトレーニングのために使用することができる。ここで提案する方式は、データ・ストリーム中に特別なマーカを必要とせず、データ・ストリームがすでに標準化されていて、そのデータ・ストリーム中にマーカを含む可能性がない応用例で使用することができる。
【００１１】
少なくとも１つのポートは、レジスタ・メモリ・ブロックのそれぞれにデータを書き込むための、複数のデータ・ソースへのアクセスと、レジスタ・メモリ・ブロックからデータを読み出すための、複数のデータ処理装置へのアクセスとを提供することができる。具体的には、このアクセス処理手段は、データ・ソースおよびデータ処理装置に交互アクセスを提供するように構成することができる。このデータ・ソース・アクセスは、グローバル・アドレス空間の中で循環するように制御することができ、処理装置アクセスは、それぞれのレジスタ・メモリ・セクションのアドレス範囲の中で循環するように制御することができる。この循環読出しおよび書込み動作によって、読出しアクセスに必要なアドレス変換が容易になる。
【００１２】
有利な変更形態として、バッファ・メモリは少なくとも１つのアクセス・ポートおよびメモリに接続可能であってもよく、その際、バッファ・メモリおよびメモリのライン幅は、少なくとも１つのアクセス・ポートのデータ幅にサイクル当りの読出しアクセス回数と書込みアクセス回数の和を乗じた幅以上になるように選択される。それによって、シングルポート・アーキテクチャを提供することができ、その際、埋込みメモリは、メモリ・ライン数がより少なく、それに対応してライン当りのビット数がより多いメモリ・ブロックで置き換えられる。書込みデータは、１つまたは複数のデータ・ソースからバッファ・メモリを介して埋込みメモリに提供される。このようにして、各書込みサイクルでライン全体を埋込みメモリに書き込み、それによってアクセス頻度を減らすことができる。したがって、マルチポートＲＡＭ装置を同じ容量のシングルポートＲＡＭ装置で置き換えることができ、サイクル・タイムおよびアクセス・タイムを削減することができる。さらに、少なくとも１つのアクセス・ポートの書込みポートの数は、今や、読出しポートの数と異なってもよい。したがって、記憶装置によって受け入れられるデータ・シンボルの数が、サイクルごとに生成されるデータ・シンボルの数と異なっていてもよい。これによって、埋込みＦＩＦＯメモリに接続される処理装置の数は様々であってもよく、入力データ・ストリームの数に等しい必要はないという利点が得られる。
【００１３】
アクセス制御手段は、読出しアクセスに関するアドレスをライン幅に合うように位置合せするためのアドレス変換手段を含むことができる。具体的には、アクセス制御手段は、書込みアクセスをバッファ・メモリにそれが満杯になるまで転送し、このバッファ・メモリが満杯になったとき、１メモリ・ラインを書き込むように適合させることができる。一方、アクセス制御手段は、常にライン幅の１ブロックが読み出されるように、読出しアクセスを適合させることができる。アクセス変換手段は、ルックアップ・テーブル、または必要な出力シーケンスを生成する有限状態機械を含むことができる。
【００１４】
本発明の有利な変更形態は、添付の特許請求の範囲で定義されている。  
次に、本発明を、添付の図面を参照しながら、好ましい実施形態に即して説明する。
【発明を実施するための最良の形態】
【００１５】
次に、好ましい実施形態を、Ｚ個のＦＩＦＯメモリ・ブロックが１つの一体化された埋込みメモリ・ブロックＥＭに実装されている、メモリ・アーキテクチャに即して説明する。
【００１６】
図１は、左側に、専用入力端子および出力端子を備えた従来の離散的ＦＩＦＯメモリ・ブロックＦＩＦＯ１〜ＦＩＦＯＺを示す。この従来の構造は、図１の右側に示した、本発明の第１の好ましい実施形態によるメモリ・アーキテクチャに変換することができる。第１の実施形態によれば、小さなＦＩＦＯブロックＦＩＦＯ１〜ＦＩＦＯＺは、１つの一体化された埋込みメモリ・ブロックＥＭで置き換えられる。したがって、Ｚ個のＦＩＦＯブロックがそれぞれメモリ容量Ｂを有する場合、それらを組み合わせてＺｘＢの容量を有する埋込みメモリ・ブロックＥＭにすることができ、ＦＩＦＯアクセスを、この埋込みメモリ・ブロックＥＭのグローバル・メモリ空間の後続アドレスにマップすることができる。この場合、ＦＩＦＯブロックの容量は必ずしも同じでなくてもよいことに留意されたい。各ＦＩＦＯブロックはそれぞれ特有の容量を持つことができるが、このことは、個々のアドレス方式を実装する際に考慮しなければならない。読出しおよび書込みの少なくとも一方のアクセスは、対応する制御信号およびアドレスを埋込みメモリ・ブロックＥＭに供給するアクセス制御ユニットＡによって制御することができる。さらに、埋込みメモリ・ブロックＥＭに書き込まれる、またはそれから読み出されるデータ・ユニットは、それぞれのアクセス・ポートＰ１〜ＰＺを介して供給することができる。
【００１７】
各ＦＩＦＯブロックでは、所定のＦＩＦＯメモリ・セクションに、対応するアドレス範囲ＡＳ１〜ＡＳｚが割り当てられまたは割り振られる。アクセス制御ユニットＡのアドレス生成機能は、順次または循環カウンタ、あるいは順次または循環カウント機能に基づいており、それによって、ＦＩＦＯ方式で埋込みメモリ・ブロックから読み出し、またそれに書き込むための後続アドレス、すなわち、ＦＩＦＯメモリ・セクションの幅に相当する対応するシフト遅延後に対応するＦＩＦＯメモリ・セクションに書き込まれる最初のデータ・ユニットを、生成することができる。特に、ＦＩＦＯまたはその他のシフト・レジスタ・メモリの重要な特徴は、データ・ユニットまたはデータ・ワードが順次読み書きされることである。
【００１８】
したがって、システム設計者は、たとえば、ビタビ検出器で使用することができ、インターリーブまたはデインターリーブ機能をそれぞれ含むことができる、多重化または逆多重化装置を設計する場合、従来の小さなＦＩＦＯブロック、ＦＩＦＯ１〜ＦＩＦＯＺを、一体化された埋込みメモリ・ブロックＥＭで置き換えることができる。この場合、入ってきたデータ・ストリームは、逆多重化され、インターリーブされて、１組の「市販の(out-of-the-shelf)」ビタビ検出器によるデータのパラレル処理が可能になる。パラレル・ビタビ検出器から出た出力データ・ストリームは、多重化され、デインターリーブされて、入力ストリームのフォーマットに類似したフォーマットで出力ビット判断ストリームを形成する。このように編成されたビタビ・ベースのビット検出器は、システムの残りの部分に対して透過的であり、集積回路内で既存のデータ・フローに容易に組み込むことができる。順次ビタビ・デコーダは、ビット・レートより低い速度で動作させることができる。ビタビ検出器の速度が遅いほど、多くのビタビ検出器がパラレルに走る必要がある。ビタビ検出器の数は、ビット・レートおよび検出器の速度の比に対して少なくともほぼ直線的に増加する。
【００１９】
このような検出器の応用例では、さらには他の種類の応用例でも、埋込みメモリ・ブロックＥＭの異なるＦＩＦＯメモリ・セクション間に重複領域を作成することは有用であり得る。その場合、入力ストリームのサブディビジョン内の重複領域の存在に関係するオーバーヘッドを処理するために、追加のビタビ検出器が少なくとも１つ必要であり、重複領域で同じ入力サンプルが少なくとも２回処理される。ここに提案するパラレル・ビタビ検出器の誤り率を、標準の順次ビタビ検出器と変わらないようにしておくために必要な重複領域のサイズは、小さい。関係する応用例、すなわち、光ディスク・システム、ハード・ディスク・ドライブ、デジタル・テープ記憶システムなどの場合、このサイズは５０〜１００程度の入力サンプルであり得る。重複領域の一部、一般的に３０〜５０のサンプルを使用して、バックトラッキング・アレイを初期化することができ、残りの部分、一般的に２０〜５０のサンプルを使用して、パス・メトリクスを初期化することができる。このような重複領域を設けると、埋込みメモリ・ブロックＥＭの容量がＺｘＢより少なくなるという利点が得られる。
【００２０】
図２は、マルチポート埋込みメモリ・ブロックＥＭが追加バッファ・メモリＢを有するシングルポート埋込みメモリ・ブロックＥＭで置き換えられた、第２の好ましい実施形態の概略ブロック線図である。
【００２１】
これに関連して、図２の左側に示すように、Ｍラインからなり、ライン当りＮビットであるマルチポート・メモリ・ブロックＥＭが、１サイクル毎にＸ回の書込みアクセスおよびＹ回の読出しアクセスを処理しなければならないと仮定する。これは、１つのＦＩＦＯメモリ・セクションに２つ以上の書込みポートが割り当てられてもよく、２つ以上のＦＩＦＯメモリ・セクションに１つの読出しポートが割り当てられてもよいことを意味する。
【００２２】
バッファ・メモリＢのライン幅Ｌが、条件Ｌ≧Ｘ＋Ｙを満たす場合、埋込みメモリ・ブロックＥＭをシングルポート・メモリ・ブロックで置き換えることができ、この場合、このシングルポート・メモリ・ブロックは、読出しおよび書込みアクセスがバッファされている場合、１ライン当りＬｘＮ個のビットを有するＭ／Ｌラインを含む。書込み側にＬｘＮビットの拡張されたバッファ・サイズがあれば、埋込みメモリ・ブロックＥＭではなくバッファ・メモリＢに、このバッファ・メモリＢが満杯になるまで、これらのアクセスを転送することができる。バッファ・メモリＢが満杯になると、埋込みメモリ・ブロックＥＭの１メモリ・ラインを書き込むことができる。
【００２３】
バッファ・メモリＢのタイミング要件により、同じサイクル内に、データをバッファ・メモリＢに書込み、バッファ内容を埋込みメモリ・ブロックＥＭにコピーすることができない場合は、バッファ・メモリＢの幅をメモリ・ブロックＥＭの幅より１サンプル幅だけ狭い、すなわちＮｘ（Ｌ−１）のバッファ幅と定義することができ、その結果、（このように定義されていなければ、バッファ・メモリＢを満杯にしていたはずの）最後のアクセスは、バッファされることなく、バッファ内容とパラレルに、埋込みメモリ・ブロックＥＭに直接転送される。しかし、バッファ・メモリＢと埋込みメモリ・ブロックＥＭとの間でのライン幅は、ＬｘＮのままである。
【００２４】
読出し側では、アクセスは、常にＬｘＮビットのブロックが読み出されるように位置合せする必要がある。これを考慮して、アクセス制御ユニットＡは、アクセスのアドレスが埋込みメモリ・ブロックＥＭのライン・サイズに合うように位置合せされる形でアドレスを生成するように適合される。これは、別個のユニットでもよく、あるいはアクセス制御装置Ａのアドレス生成機能に組み込まれていてもよい、アドレス変換ユニットＡＴを導入することによって達成することができる。アドレス変換ユニットＡＴは、読出し側と書込み側の両方に設けることができる、あるいはその両方で制御することができる。
【００２５】
このバッファ方式では、アクセス・タイムに加えられたＬサイクルの待ち時間を導入する。すなわち、サイクルＫで書き込まれたデータは、サイクルＫ＋Ｌ＋１でのみ利用できるようになる。しかし、殆どの応用例の場合、パラメータＬはかなり小さい。さらに、データ・サンプルのストリームに作用する多くの応用例は、とにかくあまり待ち時間の影響を受けない。
【００２６】
したがって、第２の好ましい実施形態において、１つまたは複数のデータ・ソースから生じる１つまたは複数の入力データ・ストリームは、埋込みメモリ・ブロックＥＭの拡張されたライン幅に対応する長さを有するバッファ・メモリＢを介して、埋込みメモリ・ブロックＥＭに書込みデータを提供する。このようにして、書込みサイクル毎に、何回かのメモリ・アクセスに対応するライン全体を埋込みメモリ・ブロックＥＭに書き込むことができる。それによって、アクセス頻度を、第１の好ましい実施形態のマルチポート埋込みメモリ・ブロックに比べて減らすことができる。
【００２７】
図３は、第１および第２の好ましい実施形態におけるアクセス制御ユニットＡ内のアドレス生成機能の概略ブロック線図である。このアドレス生成は、アクセス・ポートＰ１〜ＰＺに割り当てられたＦＩＦＯメモリ・セクションをアドレス指定するために使用される、それぞれのアドレスＡ１〜ＡＺを生成する簡単なカウンタまたはカウンタ機能Ｃ１〜ＣＺを使用して行うことができる。各カウンタ機能は、クロック信号Ｃｌｋによって、またカウンタ機能を所定の初期アドレス値にするためのリセット信号Ｒｅｓによって制御される。ＦＩＦＯメモリのアドレス指定の場合、第１および第２の好ましい実施形態の場合と同様、カウンタ機能Ｃ１〜ＣＺは、順次カウンタ機能、たとえば、アドレス範囲ＡＳ１〜Ａｓｚのそれぞれ１つを指すポインタを生成する第１カウンタ、および、選択された現在のＦＩＦＯアドレス範囲内のメモリ・ラインのそれぞれのアドレスを生成する第２カウンタとして、簡単に実装することができる。
【００２８】
第２の好ましい実施形態では、追加のカウンタまたはカウンタ機能ＣＢが、バッファ・メモリＢをアドレスするために使用されるバッファ・アドレスＡＢを生成するために提供される。
【００２９】
必要なアドレス・シーケンスを生成するように適合させた任意の有限状態機械（ＦＳＭ）が、図３に示すカウンタ機能Ｃ１〜ＣＺ、ＣＢの代わりに使用できることに留意されたい。
【００３０】
図４は、第２の好ましい実施形態による、アクセス制御ユニットＡ内のアドレス変換機能の概略ブロック線図である。このアドレス変換機能は、必要なアドレス・シーケンスが格納されているルックアップ・テーブルＬＵＴに基づいて簡単に実装することができる。ルックアップ・テーブルＬＵＴは、アクセス制御ユニットＡのアドレス生成機能によって生成されたアドレスＡ１〜ＡＺによってアドレスされる。アドレスＡ１〜ＡＺのそれぞれについて、埋込みメモリ・ブロックＥＭの対応するメモリ・アドレスＡＥＭがルックアップ・テーブルに格納されており、埋込みメモリ・ブロックＥＭに供給される。
【００３１】
しかし、アドレス変換機能も、必要なアドレス・シーケンスを生成するＦＳＭとして実装することができる。ＦＩＦＯメモリ・セクションの場合、このＦＳＭもやはり２つの簡単な循環カウンタからなるものでよい。
【００３２】
上記の第１および第２の好ましい実施形態は、完全に独立に実装できて、クロック周波数の増加を必要としないことに留意されたい。
【００３３】
以下に、図５および６を参照しながら、好ましい実施形態の実装の第１の例を説明する。この実装は、ビタビ検出器などパラレルＰＲＭＬ方式のビット検出器の多重化または逆多重化機能で使用することができる。このシステムでは、５つのデータ・ストリームがパラレルに処理され、したがって埋込みメモリ・ブロックＥＭ内に５つのＦＩＦＯメモリ・セクションが必要になる。入力側では、８ビットのサンプルの場合、クロック・サイクル毎に各サンプルを読み出し、ＦＩＦＯメモリ・セクションの間に分配しなければならない。第１の好ましい実施形態の場合には、少なくとも１つのアクセス・ポート、すなわち１つの読出しポートおよび１つの書込みポートを有する、マルチポート・メモリ・アーキテクチャが得られる。アクセス・ポートは、サイクル毎に、４つのサンプルを受け入れ、５つのサンプルを生成することができなければならない。
【００３４】
必要なメモリ容量は、個々の応用例によって変わる。各ＦＩＦＯメモリ・セクションが３００バイトのメモリ容量を有すると仮定する。ＦＩＦＯメモリ・セクションが重複していない場合、埋込みメモリ・ブロックＥＭの総容量は１５００バイトになるはずである。読み出されたデータの重複が２０％の場合、これは、入力サンプルのいくつかが異なる２つのＦＩＦＯによって読み出されることを意味するが、図１のアドレス範囲ＡＳ１〜ＡＳｚが重複し、その結果、総容量は１２００バイトで十分である。
【００３５】
第２の好ましい実施形態の場合、バッファ・メモリＢのライン幅は、１２バイトでよく、１２のメモリ・アクセスをバッファすることができる。１バイトが８ビットで構成されていると考えると、埋込みメモリ・ブロックＥＭは、それぞれ９６ビットのラインを１００個有するＳＲＡＭ（スタティックＲＡＭ）として編成することができる。したがって、１２のサンプルをバッファし、それらを埋込みメモリ・ブロックＥＭに書き込むためには、３サイクル必要である。したがって、書込みアクセスは３サイクルに１回生じる。１回の読出しアクセスによって、１２のサンプルが読み出され、埋込みＦＩＦＯブロックの出力側で５つのデータ・ストリームの処理が必要なので、５つの読出しアクセスが発生する。したがって、１２サイクル毎に５つの読出しアクセスが発生する。この場合、延長係数がＬ＝１２の値を有し、書込みアクセスの数がＸ＝４の値を有し、読出しアクセスの数がＹ＝５の値を有するので、この第１の例では上記の要件、Ｌ≧Ｘ＋Ｙは、満たされている。
【００３６】
図５は、第１の例の場合の、適切なメモリ・アクセス・スケジュールの１つの可能な実装を示すテーブルである。第１および第２サイクル（サイクルＮｏ．０および１）では、埋込みメモリ・ブロックＥＭへのアクセスは１回も行われず、各サイクルで４つのサンプルがバッファ・メモリＢに書き込まれる。第３サイクル（サイクルＮｏ．２）でもやはり４つのサンプルがバッファ・メモリＢに書き込まれ、これでこのバッファ・メモリＢは満杯になり、したがって、バッファ・メモリＢの内容を埋込みメモリ・ブロックＥＭにコピーすることによって、埋込みメモリ・ブロックＥＭへの書込みアクセスを行うことができる。第４サイクル（サイクルＮｏ．３）では、埋込みＦＩＦＯブロックの出力側にある第１処理ユニット、すなわち第１ＰＲＭＬデコーダへの読出しアクセスを行って、１２のサンプルを第１ＰＲＭＬデコーダへ転送することができ、やはり４つのサンプルがバッファ・メモリＢに書き込まれる。同様に、第５サイクル（サイクルＮｏ．４）では、２回目の読出しアクセスが行われ、１２のサンプルが第２ＰＲＭＬデコーダに転送され、４つのサンプルがバッファ・メモリＢに書き込まれる。第６サイクル（サイクルＮｏ．５）では、４つのサンプルがバッファ・メモリＢに書き込まれ、このときもやはりバッファ・メモリＢが満杯になるので、その内容が、新たな書込みアクセスで、埋込みメモリ・ブロックＥＭにコピーされる。次いで、第７および第８サイクル（サイクルＮｏ．６およびサイクルＮｏ．７）で、それぞれの読出しアクセスが行われ、１２のサンプルが第３ＰＲＭＬデコーダおよび第４ＰＲＭＬデコーダに転送され、２つのサイクルでそれぞれ４つの新しいサンプルがバッファ・メモリＢに書き込まれる。次いで、第９サイクル（サイクルＮｏ．８）で、４つのサンプルがバッファ・メモリＢに書き込まれ、このときまたバッファ・メモリＢが満杯になり、その内容が、次の書込みアクセス中に、埋込みメモリ・ブロックＥＭにコピーされる。第１０サイクル（サイクルＮｏ．９）で、また読込みアクセスが行われ、１２のサンプルが、最後の第５ＰＲＭＬデコーダに転送され、４つの新しいサンプルがバッファ・メモリＢに書き込まれる。次の第１１サイクル（サイクルＮｏ．１０）では、埋込みメモリ・ブロックＥＭへのアクセスは行われず、４つのサンプルがバッファ・メモリＢに書き込まれる。最後に、第１２サイクル（サイクルＮｏ．１１）で、４つの追加サンプルがバッファ・メモリＢに書き込まれ、次いでこれがまた満杯になり、３回目の書込みアクセスが行われて、バッファ・メモリＢの内容が埋込みメモリ・ブロックＥＭにコピーされる。
【００３７】
したがって、１２サイクル毎に、４回の書込みアクセスおよび５回の読出しアクセスがある。ただし、これは、読出しアクセスのメモリ・ラインが書込みアクセスのメモリ・ラインのますます前にくるということではない。その理由は、同じデータがときどきＰＲＭＬデコーダのうちの２つの異なるデコーダによって書き込まれるからである。
【００３８】
一般に、バッファ・メモリＢおよび埋込みメモリ・ブロックＥＭのライン幅は、必ずしも書込みアクセスおよび読出しアクセスの回数の和に対応しなくてもよい。実際上、パラメータＬは、少なくともこの和でなければならない。しかし、このパラメータＬには、たとえば、その値が埋込みメモリ・ブロックＥＭの適切なメモリ・サイズによりうまく合う場合は、より高い値、たとえば１２００バイトを選ぶことができる。
【００３９】
実際、上記の第１の例では、書き込まれたデータは、１３サイクルの後でのみ使用可能になる。図５のサイクルＮｏ．３では、読み出されたデータは、１サイクル前に書き込まれたデータに対応していないことに留意されたい。常に、少なくとも１３サイクルの遅延がある。さらに、電源を入れた後、「有用な」データを読み出すことができるようになるまでに、埋込みメモリ・ブロックＥＭにデータを書き込むのに若干の時間が必要である。
【００４０】
実際の実装では、こうして得られた、第２の好ましい実施形態の埋込みメモリ・ブロックＥＭは、バッファおよびアドレス・ジェネレータを除き、０．１５ｍｍ２の面積を有し、ＣＭＯＳ１８プロセス中に０．９５１ｍＷ／Ｍｈｚを消費する。この応用例の要件、すなわち２４０ラインで、１ライン当り４０ビットという要件に適合する同等のデュアルポート・メモリでは、０．４６ｍｍ２の面積が必要となり、１アクセス・ポート当り０．２１１ｍＷ／Ｍｈｚを消費する。さらに、シングルポート埋込みメモリ・ブロックＥＭを使用すれば、あまり先端的でない、したがってより安いＣＭＯＳプロセスを使用したＩＣ実装が可能になる。５つのＦＩＦＯを実装すると、面積は０．４４ｍｍ２、消費電力は０．９４４ｍＷ／Ｍｈｚになる。したがって、ここで提案する技法の利点がはっきり表れている。
【００４１】
図６は、好ましい実施形態の第２の例の場合の、別の適切なメモリ・アクセス・スケジュールである。この第２の例では、３つの出力処理装置Ｏ１〜Ｏ３が、この第２の例では９つのラインＬ０〜Ｌ８の合計メモリ容量を含む埋込みメモリ・ブロックＥＭに接続されている。したがって、各ＦＩＦＯセクションは３つのラインにより構成される。具体的には、第１出力処理装置Ｏ１は、ラインＬ０〜Ｌ２を使用し、第２出力処理装置Ｏ２はラインＬ３〜Ｌ５を使用し、第３出力処理装置Ｏ３はラインＬ６〜Ｌ８を使用する。偶数サイクル毎に書込みアクセスが行われ、奇数サイクル毎に読出しアクセスが行われる。アドレス変換器ＡＴの書込みアドレス生成機能がアドレスＡ＝Ｃ／２ｍｏｄ  ９を生成する。ただし、Ｃはサイクル数を示し、「ｍｏｄ」は数学のモジュロ演算を示す。さらに、アドレス変換器ＡＴの読出しアドレス・ジェネレータ機能が、読出しアドレスＡ＝３ｘ（ｎ  ｍｏｄ  ３）＋ＩＮＴ（ｎ／３  ｍｏｄ  ９）を生成する。ただし、ｎ＝（Ｃ−１）／２である。
【００４２】
したがって、書込みアドレスは、読出しアドレスとは別の順序でこのメモリの中を循環する。したがって、出力サンプルは、必ずしも入力サンプルと同じ順序でなくてもよい。図６によれば、第１出力処理装置Ｏ１の場合、読出し方式「Ｌ０を読み出す」→「Ｌ１を読み出す」→「Ｌ２を読み出す」が使用される。さらに、第２出力処理装置Ｏ２の場合には、読出し方式「Ｌ４を読み出す」→「Ｌ５を読み出す」→「Ｌ３を読み出す」が使用され、最初に読み出されたラインＬ４およびＬ５は、初期化後、廃棄される。第３出力処理装置Ｏ３の場合には、読出し方式は、「Ｌ７を読み出す」→「Ｌ８を読み出す」→「Ｌ６を読み出す」であり、最初に読み出されたラインＬ７およびＬ８は廃棄される。この廃棄機能は、意味のあるデータは何も表さない何らかのダミー・データをストリームの先頭に挿入することによって実装することができる。この廃棄機能が関係するのは、埋込みメモリ・ブロックＥＭが空である、リセット後の開始時のみである。図６で、最初に破棄されるラインは、対応する括弧によって示されている。したがって、図６のアクセス方式では、第２および第３出力処理装置Ｏ２およびＯ３は、短い遅延の後で、その最初の「有用な」データを受け取り、第１出力処理装置Ｏ１は、それを直ちに受け取る。
【００４３】
システムは、全てのアドレスが少なくとも１回書き込まれるとすぐ、初期化を終わり安定状態に達し、したがって、廃棄の必要がなくなる。また、ビタビ検出器の例では、この問題は、上記にすでに述べたように、初期化の目的で最初に何か「意味のない」データ、すなわちダミー・データを導入することによって解決することができる。
【００４４】
図６から分かるように、ラインＬ０〜Ｌ８は、第１サイクル（サイクルＮｏ．０）から始めて、偶数のサイクル毎に連続して書き込まれる。第２サイクル（Ｎｏ．１）で、ラインＬ０が読み出されて第１出力処理装置Ｏ１に供給される。第４サイクル（サイクルＮｏ．３）で、ラインＬ４が読み出されて第２出力処理装置に供給されるが、その内容は、最初の第１読出し動作中に破棄される。第６サイクル（サイクルＮｏ．５）で、ラインＬ７が読み出され第３出力処理装置Ｏ３に供給されるが、その内容は、やはり、この第３出力処理装置Ｏ３にとっての最初の第１読出し動作中に破棄される。第８サイクル（サイクルＮｏ．７）で、ラインＬ１が読み出されて第１出力処理装置Ｏ１に供給される。さらに、第１０サイクル（サイクルＮｏ．９）で、ラインＬ５が読み出されて出力装置Ｏ２に供給される。この内容も、第１読出し動作中に破棄される。第１２サイクル（サイクルＮｏ．１１）でのラインＬ８の読出しも同じことで、ラインＬ８が第３出力処理装置Ｏ３に供給される。次いで、第１４サイクル（サイクルＮｏ．１３）中に、ラインＬ２が読み出され、その内容が第１出力処理装置Ｏ１に供給される。第１６および第１８サイクル（サイクルＮｏ．１５および１７）で、それぞれのラインＬ３およびＬ６が読み出され、それぞれ第２および第３出力処理装置Ｏ２およびＯ３に供給される。次いで、この手順は、再び第１サイクル（サイクルＮｏ．０）から始まる。
【００４５】
本発明は、図５および６に示された上記のアクセス方式に限定されるものではないことに留意されたい。望ましいアクセス方式に応じて、適切ないかなるアドレス方式を使用することもできる。さらに、いくつの読出しアクセス、書込みアクセス、およびラインを実装することもできるが、第２の好ましい実施形態では、上記のバッファ・メモリＢの幅の要件を考慮しなければならない。
【００４６】
本発明は、ポータブル・ブルー（ＰＢ）またはスモール・フォーム・ファクタ・オプティカル（ＳＦＦＯ）、ＤＶＤ、ＤＶＤ＋ＲＷ、ＤＶＲ、または何らかの将来の光ディスク・システムなどの光ディスク・システムにおけるいかなるパラレル・シフト・レジスタ構造にも適用することができる。さらに、本発明は、磁気光システム、ハード・ディスク・システム、デジタル・テープ記憶システム、衛星および移動通信システム、映像処理システムなどに適用することができる。ＰＲＭＬまたはビタビ処理システムの場合、本発明は、入力側で逆多重化またはインターリーブ機能に適用することができ、あるいは、出力側で多重化またはデインターリーブ機能に適用することもできる。したがって、好ましい実施形態を、添付の特許請求の範囲内で変更することができる。
【図面の簡単な説明】
【００４７】
【図１】埋込みＦＩＦＯブロックを備えた第１の好ましい実施形態による、個々のＦＩＦＯ記憶装置から１つの記憶装置への変換（transfer）を示す、概略機能ブロック線図である。
【図２】バッファ・アクセスを備えた第２の好ましい実施形態による、埋込みマルチポート記憶構造からシングルポート記憶装置への変換（transfer）を示す機能ブロック線図である。
【図３】第１および第２の好ましい実施形態で使用されるアドレス生成機能の概略ブロック線図である。
【図４】第２の好ましい実施形態で使用されるアドレス変換機能の概略ブロック線図である。
【図５】第１の実装例によるメモリ・アクセス・スケジュールを示すテーブルである。
【図６】第２の実装例によるメモリ・アクセス・スケジュールを示す図である。
【図１】
2007527079.tif 000003
【図２】
2007527079.tif 000004
【図３】
2007527079.tif 000005
【図４】
2007527079.tif 000006
【図５】
2007527079.tif 000007
【図６】
2007527079.tif 000008
【国際調査報告】
2007527079.tif 000009
2007527079.tif 000010
2007527079.tif 000011