JP3020009B2 - プログラマブル・アーキテクチャを使用する高速巡回冗長検査システム - Google Patents

プログラマブル・アーキテクチャを使用する高速巡回冗長検査システム

Info

Publication number
JP3020009B2
JP3020009B2 JP9500417A JP50041797A JP3020009B2 JP 3020009 B2 JP3020009 B2 JP 3020009B2 JP 9500417 A JP9500417 A JP 9500417A JP 50041797 A JP50041797 A JP 50041797A JP 3020009 B2 JP3020009 B2 JP 3020009B2
Authority
JP
Japan
Prior art keywords
data
error
word
port
latch
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.)
Expired - Fee Related
Application number
JP9500417A
Other languages
English (en)
Other versions
JPH10510411A (ja
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of JPH10510411A publication Critical patent/JPH10510411A/ja
Application granted granted Critical
Publication of JP3020009B2 publication Critical patent/JP3020009B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【発明の詳細な説明】 発明の分野 本発明は、デジタル巡回冗長検査システムに関し、詳
細には、デジタル・システム用の高速巡回冗長検査シス
テムに関する。
発明の背景 デジタル・システムでは、エラー検出及びデジタル・
データの訂正のために、システムから転送されるデータ
の巡回冗長検査(「CRC」)をしばしば利用する。本デ
ジタル・システムは、エラーの検出及び訂正を実施する
ために一般に固定データ転送プロトコルを必要とするエ
ラー訂正システムを有する。
例えば、コンピュータ・システムでは、データは所定
のプロトコルにしたがって転送され、CRCは転送される
各バイトについて実行される。生データは、生データの
各バイトに関連するCRCビット情報を提供するCRCモジュ
ールを通過する。このCRCビット情報は、生データと連
結し、生データと一緒に転送することができる。生デー
タ及びCRCビット情報はその後受信される。CRCビット情
報はバッファに記憶され、エラー検出モジュールは生デ
ータについて別のCRCを実行する。新しく生成されたCRC
ビット情報がバッファに記憶されたCRCビット情報と一
致する場合には、受信側は生データの各ビットを正確に
受信しており、エラー訂正の必要はない。CRCビット情
報が一致しない場合は、エラーが検出されており、した
がって受信側はエラー訂正を実行することができる。
スループットが小さいシステムでは、このような訂正
を実行する際の処理オーバヘッドが最小限になるので、
このエラー訂正を固定プロトコルについて定期的に実行
することができる。しかし、データ・ボリュームの大き
いシステムでは、固定式且つインフレキシブルなエラー
訂正システムのオーバヘッドにより、スループットが大
幅に減少することがある。
更に、幾つかの形態のデジタル・データは、情報を実
時間で処理することが要求され且つ幾つかの生データが
消失してもシステムの動作を特に損なうことはないの
で、エラー訂正を必要としない。1つの例としては、デ
ジタル化音声の応用例がある。この場合は、エラー訂正
はスループットを減少させる不必要なオーバヘッドであ
る。
したがって、当技術分野では高速エラー訂正システム
が必要である。このエラー訂正システムは、このシステ
ムを通過する生データが状況に応じて任意に検査される
か否かが可能なようにもプログラム可能でなければなら
ない。このようなシステムは、ハードウェアの変更を実
行する必要性なく、異なるデータ・プロトコルを取り扱
うことができるように、フレキシブルでなければならな
い。
発明の概要 本開示は、デジタル・コンピュータ・システムにおけ
るデータの巡回冗長検査のためのシステムについて説明
する。本システムは、プログラマブル・アーキテクチャ
又はプログラム可能なアーキテクチャの使用を通じて、
高速エラー訂正を提供する。このシステムは、共通のバ
ス構造に接続された入力バッファ、ラッチ、CRC生成回
路及び書込み回路、状況レジスタ、ならびに編集バッフ
ァを含み、エラー訂正の実行に際して最大限のフレキシ
ビリティを提供する。
データ流れは、データがエラー訂正を必要としない場
合にはCRCモジュールを迂回するようにプログラムする
ことができる。更に、システムが単一のデータ・プロト
コルに制限されないように、様々なデータ・プロトコル
に適応するように生データを処理することができる。
図面の簡単な説明 図面中では、幾つかの図を通して同様の番号は同様の
構成要素を描写する。
第1図は、巡回冗長検査システムの一実施例を示すブ
ロック図である。
第2A図、第2B図、並びに第2C図は、第1図の巡回冗長
検査システムを詳細に示す概略図である。
第3A図、第3B図、第3C図は、第1図の巡回冗長検査シ
ステム用のCRC生成回路モジュールの一例を詳細に示す
概略図である。
第4図は、第3A図、第3B図、第3C図のCRC生成回路モ
ジュールの1ステージを詳細に示す概略図である。
第5図は、第1図の巡回冗長検査システム用の比較回
路の一例を詳細に示す概略図である。
第6図は、第1図の巡回冗長検査システム用のラッチ
回路の一例を詳細に示す概略図である。
第7図は、第1図の巡回冗長検査システムの単一サイ
クル動作の一例を示す流れ図である。
好適実施例の詳細な説明 以下の好適実施例の詳細な説明では、本発明の一部で
あり、例示のために本発明を実施することができる特定
の実施例を示す添付の図面を参照する。これらの実施例
については、当業者が発明を実施することができるよう
十分詳細に説明しており、その他の実施例を利用するこ
とができることや、本発明の趣旨及び範囲を逸脱するこ
となく構造的な変更を加えることができることが理解さ
れるであろう。それ故に、以下の詳細な説明は限定的な
意味でとらえるべきものではなく、本発明の範囲は、添
付の請求の範囲及びその等価物により定義される。
第1図は、巡回冗長検査(CRC:cyclical redundancy
check)システムの一実施例を示す一般的なブロック図
である。このシステムを通過するデータ流れは双方向性
である。第1図の左側のポートIOD[0:31]へのデータ
入力は、HE[0:31]、PP[0:31]、並びにCRC生成回路1
30の各ポートに移動(又は転送)することができる。HE
[0:31]及びPP[0:31]の各ポートからのデータは、ゲ
ート183及び185を使用してデータ・バス105を介して、
或いはゲート184及び186を使用してデータ・バス106を
介してポートIOD[0:31]に移動し、そこから出力され
て、CRC生成回路130に移動することができる。更に、ポ
ートIOD[0:31]への入力をCRCシステム100で処理し、
ポートIOD[0:31]に戻して出力用とすることもでき
る。同様に、HE[0:31]及びPP[0:31]の各ポートへの
入力をCRCシステム100で内部的に処理し、HE[0:31]及
びPP[0:31]の各ポートに戻して出力することもでき
る。それ故に、CRCシステム100のアーキテクチャは、異
なる様々なプロトコル及びデータ処理動作を取り扱うよ
うにプログラム可能且つフレキシブルである。
CRCシステム100を介したデータ流れの制御は、制御回
路190を介して、ゲート181乃至189からの入力、CRCイネ
ーブル信号192、入力イネーブル信号196、Doutラッチ・
イネーブル信号197、並びに、状況イネーブル信号194を
使用して実行される。制御回路190はエラー信号198をも
受信し、CRC生成回路130、編集バッファ160、並びに比
較回路170によって提供されたエラー訂正情報を処理す
る。
動作モード 本発明の改良型アーキテクチャは、多数の処理モード
で実証することができるデータ流れ及びデータ処理にお
いてフレキシビリティを提供する。第1動作モードでCR
Cシステム100は、C[0:7]、HE[0:31]、並びにPP
[0:31]のポートからの並列データを、それぞれゲート
187,188,189を使用可能(イネーブル)にすることによ
り受信する。これらポートからのデータは、編集バッフ
ァ160に入力され、そこで後続の処理のために記憶され
る。編集バッファ160に記憶された生データは、多数の
異なるプロトコルを使用して転送され得るが、しばしば
見られるプロトコルは、編集バッファ160のレジスタ160
aに記憶された8ビットのCRC情報、レジスタ160bに記憶
された32ビットのヘッダ情報、並びにレジスタ160cに記
憶された32ビットの生データを含む。別のプロトコル
は、編集バッファ160のレジスタ160aに記憶された8ビ
ットのCRC情報、レジスタ160bに記憶された32ビットの
ヘッダ情報、並びにレジスタ160cに記憶された32ビット
の事前保留(prepend:プリペンド)及び事後保留(post
pend:ポストペンド)データを含む。第1図には、レジ
スタ160aを8ビットの幅、160bを32ビットの幅、160cを
32ビットの幅として図示するが、本発明の趣旨及び範囲
を逸脱することなく様々なレジスタ・ビット長さが利用
できることを当業者なら容易に理解するであろう。これ
らのレジスタ長さの使用は、排他的或いは制限的な方式
に意図したものではない。
この第1動作モードでは、CRCシステム100が使用され
てC[0:7]、HE[0:31]、並びにPP[0:31]の各ポー
トからのデータを受信し、受信したデータにエラーがな
いかどうかを調べる。データは、ゲート187,188,189を
ストローブすることにより、編集バッファ160に記憶さ
れる。第1図に示すゲートは、それぞれ8,32,32ビット
の並列伝送ゲートを表す。レジスタ160b或いはレジスタ
160cの何れからのデータも、ゲート183及び185を用いて
データ・バス105を介してCRC生成回路130に転送される
ことができる。CRC生成回路130は、該CRC生成回路130の
入力に提示される32ビットに基づく新しい8ビットCRC
ワードを生成するために、制御回路190によってのCRCイ
ネーブル信号192を介して使用可能にされなければなら
ない。新しく生成されたCRCワードはCRC書込み回路132
でラッチされ、次いで比較回路170で利用可能となる。
レジスタ160aの内容も、ゲート182をストローブすると
同時に比較回路170に提示され、比較回路170はエラー信
号198を生成する。比較回路170は、CRC生成回路130から
のCRCワードとレジスタ160aとが異なる場合には、論理
1を生成する。このプロトコルは、CRC検査がレジスタ1
60b或いは160cのどちらについて実施されているかを決
定するが、この実施例では、レジスタ160bの内容につい
てのエラー訂正の実施が優先される。本CRCシステム100
は、レジスタ160c或いは160cに記憶されたデータのどち
らに対してもCRC情報を生成することができるので、本
システムで処理され得るモード数は増加する。
第2動作モードでは、本CRCシステムはポートIOD[0:
31]から生データを取り、(1)生データに関して適当
なCRCワードを生成し、このCRCワードをポートC[0:
7]に転送することによって、そして(2)プロトコル
に応じて、生データをポートHE[0:31]或いはPP[0:3
1]に転送することによって、このデータを伝送用に向
けてフォーマットする。この第2モードにおいて、本CR
Cシステム100は、ポートIOD[0:31]への32ビット・ワ
ードを受信し、制御回路190からの入力イネーブル信号1
96で入力バッファ120が活動化されている時には、この
ワードをラッチ110に記憶する。使用するプロトコル
は、記憶されたワード(生データ)を受け取り、編集バ
ッファ160のどちらの32ビット・ポートが受信するかを
設定する。例えば1つの動作において、ラッチ110に記
憶されたワードは、ゲート183を使用可能とすることに
よって、データ・バス105を介してレジスタ160bに送ら
れる。別の例において、記憶されたワードは、ゲート18
5を使用可能とすることによって、データ・バス105を介
してレジスタ160cに送られる。ラッチ110中のワードに
ついてエラー訂正が必要な場合には、CRCワードを生成
するCRC生成回路130のCRCイネーブル信号192をアサート
することによってそのワードを処理する。生成されたCR
Cワードは、ゲート181を使用可能にすることによりレジ
スタ160aに記憶されることができる。
第2動作モードの変形により、32ビット・ワードのス
トローブを繰り返すことによって、64ビット・データを
処理させることができる。64ビットの第1及び第2の32
ビット・ワードは、ポートIOD[0:31]からラッチ110
へ、そして、データ・バス105とゲート183及び185とを
用いてのレジスタ160b及び160cへのラッチを繰り返すこ
とによって、編集バッファ160に記憶される。但し、こ
の場合は、CRCワード生成は、64ビット・データの32ビ
ットについてのみ起こらなければならない。しかし、本
CRCシステム100のフレキシビリティにより、CRCは、レ
ジスタ160b或いはレジスタ160cのどちらに記憶された32
ビット・ワードについてもプログラムすることができ
る。
第3動作モードにおいて、CRCシステム100は、IOD
[0:31]とHE[0:31]或いはPP[0:31]との間の「パイ
プライン」流れを提供する。データ流れは双方向性であ
り、HE[0:31]或いはPP[0:31]からIOD[0:31]に進
むことができる。IOD[0:31]からのデータは、入力バ
ッファ120、ラッチ110、データ・バス105、並びにゲー
ト183及び185を介して、HE[0:31]及びPP[0:31]に転
送される。HE[0:31]及びPP[0:31]からのデータは、
データ・バス106、Doutラッチ140、並びにゲート184及
び186を使用してIOD[0:31]に転送される。データは、
以下の3つの異なるフォーマットでパイプライン化する
ことができる。
フォーマット1は、IOD[0:31]とHE[0:31]との間
の32ビット転送を提供する。
フォーマット2は、IOD[0:31]とPP[0:31]との間
の32ビット転送を提供する。
フォーマット3は、IOD[0:31]と、HE[0:31]及びP
P[0:31]の両方との間の連続する32ビット転送による6
4ビット転送を提供する。
上記の各フォーマットは転送するデータについてのCR
Cを必要とする場合もあれば必要としない場合もあるの
で、これらの各フォーマットは2倍になることにも留意
されたい。但し、64ビットのフォーマットにおいて、CR
C情報は64ビット・ワードの32ビットに対してのみ生成
することができる。
更に別の動作モードにおいて、CRCシステム100は、32
ビット・ワード転送及び単一サイクル中のCRCを提供
し、データ転送速度を最大限にする。例えば、編集バッ
ファ160が、レジスタ160aにCRCワードを、160bにヘッダ
・ワードを、160cに生データを含むと想定されたい。単
一サイクルでは、(1)生データがデータ・バス106及
びゲート186を介してDoutラッチ140に転送され、(2)
ヘッダ・ワードがデータ・バス105及びゲート183を使用
してCRCエラー検査され、(3)比較回路170が使用可能
にされ、CRC生成回路130の8ビット出力をレジスタ160a
中の8ビット・データと突き合わせて検査する。「出
力」動作を実行すると必ず、Doutラッチ使用可能信号19
7がDoutラッチ140を活動化し、データはIOD[0:31]に
送られることになる。
本CRCシステム100のフレキシビリティ及びプログラム
可能性は、レジスタ160bではなくレジスタ160cの内容に
ついてCRCを実行することができるモードをも提供す
る。このモードにおいて、データ・バス106及びゲート1
84が用いられて、レジスタ160bの内容をDoutラッチ140
に転送する。データ・バス105及びゲート185が用いられ
て、レジスタ160cの内容をCRC生成回路130に転送し、CR
Cワードを生成する。CRCシステム100は、言及したもの
以外の変更したデータ転送を提供するフレキシブルなア
ーキテクチャを有し、実際に説明したモードは排他的或
いは制限的な意味に意図したものではない。
CRCシステム100によって、ユーザはレジスタPP160c或
いはHE160b、及び/或いはレジスタ160aにデータを入
れ、それと同時に状況レジスタ150からデータを読み取
り、該データをバス106上に送り、Doutラッチ140に入
れ、そこからIOD[0:31]に送ることができる。代替の
実施例において、状況レジスタ150は、編集バッファ160
と類似した独立したサブレジスタと、各サブレジスタを
選択的にデータ・バス106に接続するマルチプレクサと
を含む。
単一サイクル動作の一例が第7図に示されている。単
一サイクルにおいてCRCシステム100は、IOD[0:31]か
らデータ入力をとり、ラッチ110にそれらをラッチする
(ステップ710、720、730)。これ以上のデータ遷移が
入力バッファ120からラッチ110に伝送されるのを防止す
るために、入力バッファを使用不能にする(ステップ74
0)。ラッチ110中のデータをデータ・バス105上に駆動
する(ステップ750)。この時点で、レジスタ160b或い
は160cの何れにとっても、データ・バス105及びそれぞ
れのゲート183,185を介してデータを利用することがで
きる(ステップ760)。その他の動作が同じサイクル中
に実行され。例えば状況レジスタ150の内容を、Doutラ
ッチ140を使用してIOD[0:31]に転送することができる
(ステップ770、780、790、800)。本発明の範囲及び趣
旨を逸脱することなく、その他の動作が可能である。イ
ネーブル信号の調整は制御回路190で実行される。一実
施例の制御回路190は、組合せられた論理及びアナログ
・タイミング遅延を使用して、単一サイクル動作で使用
するイネーブル信号のタイミングを同期させる。別の実
施例では、プロセッサ及びデジタル・タイマを使用して
制御を実行する。本発明の範囲及び趣旨を逸脱すること
なく、その他の制御方法が可能である。
詳細な論理図 第2A図、第2B図、並びに第2C図は、図1のCRCシステ
ムの詳細構成であり、比較回路170、ラッチ110、CRCド
ライバ132、状況レジスタ150、Doutラッチ140、並びに
編集バッファ160に関する詳細な論理図を示す。第3A
図、第3B図、並びに第3C図は、CRC生成回路130における
詳細な論理図である。CRC生成回路130の例示的なステー
ジ310を第4図に示す。第5図は、比較回路170の一実施
例を示す詳細な論理図である。第6図は、ラッチ回路11
0を示す詳細な論理図である。
高速CRC動作 高速で小型のCRCシステム100は、高機能編集バッファ
160のラッチ(第2C図のEB HFF209)と、第2B図の3状
態インバータ・ドライバ回路207とから製作される。CRC
を生成するために、レジスタ160b或いは160cの何れかの
データを、データ・バス105(EBIO[0:31]、或いは第2
C図のD及びC)上に多重化し、第6図に更に詳細に示
されるラッチ110(第2A図のisosa crcラッチ110)を使
用してCRC生成回路130にストローブする。ラッチ110の
各isosa crcラッチは、事前充電、分離、ストローブ、
並びにラッチの各回路を有する。事前充電時間中、デー
タ・バス105の線は高位に事前充電され、CRCストローブ
192は低位になり、編集バッファ160は事前充電される。
CRCストローブ192に及んで、事前充電はオフになり、書
込みドライバ或いは編集バッファ160の何れかの出力が
活動化され、電荷をデータ・バス105上にダンプするこ
とが可能になる。電荷の差を発生させるのに十分な時間
周期が経過するとデータがラッチ110にラッチされ、こ
のため事前充電を次のアクセスに向けて活動化すること
が可能になり、キャパシタンスの大きいデータ・バス10
5の線を分離することにより電力が節約される。この時
点で、データは適時にラッチされ、ラッチ110の出力Q
及びQに送られ、次のアクセスがあるまで有効なまま
残ることになる。ラッチ110の出力Q及びQは、CRC生
成回路130に関する全CMOS値であり、事前充電方式を使
用し、適切に活動化するために安定したDC入力を必要と
する。CRC事前充電は使用不能とされて、CRC生成回路13
0からCRC出力を生成する。この方式は、非常に高速であ
り、CMOS EXORゲート・タイプの回路ほどレイアウト・
スペースを必要としない。
結論 好適実施例の説明のために、本明細書では特定の実施
例についての図示及び説明が為されたが、本発明の範囲
を逸脱することなく、同じ目的を達成するよう意図され
た幅広い様々な代替及び/或いは等価の実施態様を、図
示及び説明した特定の実施例の代わりに使用することが
できることを、当業者なら理解するであろう。例えば、
レジスタごとのビット数は、本発明の範囲及び趣旨を逸
脱することなく変更することができる。更に、本設計に
係るレジスタ及びバッファの接続における僅かな変更
も、本発明から逸脱することなく実行することができ
る。電気、コンピュータ、通信の技術に習熟した者な
ら、非常に幅広い様々な実施例で本発明を実施すること
ができることを容易に理解するであろう。例えば、エラ
ー訂正を組み込む任意のデジタル・システムでは、プロ
グラム可能なエラー訂正を提供してスループットを向上
させるために本発明を使用することができる。これに
は、デジタル・ビデオ・システム、オーディオ・システ
ム、コンピュータ・システム、コンピュータ・ネットワ
ーク・システム、並びにその他の通信システムが含まれ
る。本出願は、本明細書で論じた好適実施例の任意の適
合形態及び変更形態をカバーするよう意図されている。
したがって、本発明が請求の範囲及びその等価物によっ
てのみ制限されることは明白である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 インガルス、チャールズ・エル アメリカ合衆国 83642 アイダホ、メ リディアン、ウェスト・ペンウッド 982 (56)参考文献 特開 昭51−79519(JP,A) 特開 平3−216037(JP,A) 特開 平8−102761(JP,A) 特開 平4−344732(JP,A) 特開 平3−244219(JP,A) 特開 平2−270169(JP,A) 特開 昭57−68944(JP,A) 特表 平10−511830(JP,A) 特表 平10−510410(JP,A) 特表 平10−506776(JP,A) 1996 IEEE ISSCC,p. 114−115,p.427 (58)調査した分野(Int.Cl.7,DB名) H03M 13/00 - 13/22

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロトコルを有するデータについ
    て、エラーの検出及び訂正を同時に為すと共に、エラー
    訂正ワードを生成する双方向性エラー訂正システムであ
    って、 第1ポート(IOD)に接続された入力バッファ(120)
    と、 前記入力バッファ(120)に接続され、データをラッチ
    するラッチ(110)と、 エラー訂正ワードを記憶するためのエラー部分(160
    a)、データを記憶するためのデータ部分(160b,160
    c)、前記エラー部分のためのエラー・ワード・ポート
    (C[0:7])、並びに前記データ部分のためのデータ
    ・ワード・ポート(HE[0:31],PP[0:31])部分を有
    して、前記データ・プロトコルに基づきプログラム可能
    な編集バッファ(160)と、 前記ラッチに接続された入力と、前記編集バッファに接
    続された出力とを有し、前記入力に提示されたデータに
    基づきエラー・ワードを生成すると共に、前記編集バッ
    ファにエラー・ワードを転送するエラー・ワード生成器
    (130)と、 前記エラー・ワード生成器の前記出力と前記編集バッフ
    ァの前記編集部分とに接続され、前記エラー・ワードと
    前記編集バッファの前記エラー部分中の前記エラー訂正
    ワードとの比較に基づいてエラー信号(198)を生成す
    る比較回路(170)と、 前記エラー・ワード生成器の前記入力を前記編集バッフ
    ァの前記データ部分に接続して、前記入力と前記編集バ
    ッファとの間でデータを転送する第1データ・バス(10
    5)と、 前記編集バッファの前記データ部分を出力ラッチ(14
    0)に接続し、この出力ラッチを前記第1ポートに接続
    して、前記編集バッファにおけるデータを前記第1ポー
    トへ転送する第2データ・バス(106)と、 を備える双方向性エラー訂正システム。
  2. 【請求項2】前記データ・プロトコルがヘッダ及び生デ
    ータを含み、前記編集バッファの前記データ部分が、ヘ
    ッダ・ワード・ポート(HE[0:31])によってヘッダ部
    分(160b)内にプログラムされると共に、生データ・ワ
    ード・ポート(PP[0:31])によって生データ部分(16
    0c)内にプログラムされる、請求項1に記載の双方向性
    エラー訂正システム。
  3. 【請求項3】前記プロトコルがヘッダ、事前保留デー
    タ、並びに事後保留データを含み、前記編集バッファの
    前記データ部分が、ヘッダ・ワード・ポート(HE[0:3
    1])によってヘッダ部分(160b)内にプログラムされ
    ると共に、事前及び事後保留データ・ポート(PP[0:3
    1])によって事前及び事後保留データ部分(160c)内
    にプログラムされる、請求項1に記載の双方向性エラー
    訂正システム。
  4. 【請求項4】前記エラー・ワード生成器が巡回冗長検査
    生成回路である、請求項1に記載の双方向性エラー訂正
    システム。
  5. 【請求項5】前記第2データ・バスが、もし前記エラー
    信号によってデータがエラー無しであることが示されて
    いれば、該データを前記出力ラッチから前記第1ポート
    へデータを転送する、請求項1に記載の双方向性エラー
    訂正システム。
  6. 【請求項6】もし前記エラー信号によってデータがエラ
    ー有りであることが示されていれば、前記編集バッファ
    の前記データ部分における前記データが訂正される、請
    求項1に記載の双方向性エラー訂正システム。
  7. 【請求項7】マルチポート・システムに用いられる、デ
    ータ部分、ヘッダ部分、並びにエラー訂正部分を有する
    データ・ワードのエラーの検出及び訂正のための方法で
    あって、 前記データ部分を出力ラッチ(140)に、前記ヘッダ部
    分をエラー信号生成器(130,170)に、同時に伝送する
    段階と、 前記ヘッダ部分及び前記エラー訂正部分に基づいて、前
    記エラー信号生成器からエラー信号(198)を生成する
    段階と、 前記エラー信号が否定である場合に、前記出力ラッチを
    使用可能にして前記データ・ワードを第1ポート(IO
    D)へ伝送する段階と、 前記エラー信号が肯定である場合に、前記出力ラッチを
    使用不能にして前記データ・ワードの前記第1ポートへ
    の伝送を阻止する段階と、 前記第1ポートから受信されたデータに基づき、前記エ
    ラー信号生成器においてエラー・ワードを生成する段階
    と、 前記エラー・ワードと前記第1ポートから受信された前
    記データとを第2ポート(C[0:7],HE[0:31],PP
    [0:31])へ伝送する段階と、 の諸段階を含み、 前記第1ポートが入力バッファ(120)及びラッチ(11
    0)を介して前記エラー信号生成器に接続されており、
    単一サイクル中、前記入力バッファが活動化されて前記
    第1ポートから前記データを受信し、該データが前記ラ
    ッチ内にラッチされ、前記入力バッファが使用不能とさ
    れ、前記入力ラッチ内の前記データが前記第2ポートへ
    伝送され、前記出力ラッチが活動化されて、もし前記エ
    ラー信号が否定であれば、前記データ・ワードを前記第
    1ポートへ転送することを特徴とする方法。
  8. 【請求項8】マルチポート・システムに用いられる、デ
    ータ部分、ヘッダ部分、並びにエラー訂正部分を有する
    データ・ワードのエラーの検出及び訂正のための方法で
    あって、 前記データ部分を出力ラッチ(140)に、前記ヘッダ部
    分をエラー信号生成器(130,170)に、同時に伝送する
    段階と、 前記ヘッダ部分及び前記エラー訂正部分に基づいて、前
    記エラー信号生成器からエラー信号(198)を生成する
    段階と、 前記エラー信号が否定である場合に、前記出力ラッチを
    使用可能にして前記データ・ワードを第1ポート(IO
    D)へ伝送する段階と、 前記エラー信号が肯定である場合に、前記出力ラッチを
    使用不能にして前記データ・ワードの前記第1ポートへ
    の伝送を阻止する段階と、 前記第1ポートから受信されたデータに基づき、前記エ
    ラー信号生成器においてエラー・ワードを生成する段階
    と、 前記エラー・ワードと前記第1ポートから受信された前
    記データとを第2ポート(C[0:7],HE[0:31],PP
    [0:31])へ伝送する段階と、 の諸段階を含み、 複数のデータ・バス線が、入力バッファ(120)及びラ
    ッチ(110)を介して前記第1ポートを前記エラー信号
    生成器に接続しており、前記エラー・ワードを生成する
    前記段階が、 前記エラー信号生成器及び前記入力バッファの出力を抑
    制する段階と、 ストローブが検出されるまで、前記複数のデータ・バス
    線を第1論理レベルに事前充電する段階と、 事前充電回路をオフにする段階と、 前記入力バッファ出力を活動化して、電荷を前記複数の
    データ・バス線上で変調する階調と、 前記複数のデータ・バス線が電荷の差を発生させるのに
    十分な時間待機する段階と、 前記複数のデータ・バス線を前記ラッチ上にラッチし
    て、前記エラー・ワードが前記データ・ラッチ内の前記
    データから生成されるように為す段階と、 を更に含むことを特徴とする方法。
JP9500417A 1995-06-07 1995-12-08 プログラマブル・アーキテクチャを使用する高速巡回冗長検査システム Expired - Fee Related JP3020009B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/474,397 1995-06-07
US08/474,397 US5854800A (en) 1995-06-07 1995-06-07 Method and apparatus for a high speed cyclical redundancy check system
US474,397 1995-06-07
PCT/US1995/016179 WO1996041424A1 (en) 1995-06-07 1995-12-08 High speed cyclical redundancy check system using a programmable architecture

Publications (2)

Publication Number Publication Date
JPH10510411A JPH10510411A (ja) 1998-10-06
JP3020009B2 true JP3020009B2 (ja) 2000-03-15

Family

ID=23883351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9500417A Expired - Fee Related JP3020009B2 (ja) 1995-06-07 1995-12-08 プログラマブル・アーキテクチャを使用する高速巡回冗長検査システム

Country Status (8)

Country Link
US (2) US5854800A (ja)
EP (1) EP0830741B1 (ja)
JP (1) JP3020009B2 (ja)
KR (1) KR100264875B1 (ja)
AT (1) ATE178443T1 (ja)
DE (1) DE69508800T2 (ja)
TW (1) TW482955B (ja)
WO (1) WO1996041424A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289023B1 (en) * 1997-09-25 2001-09-11 Hewlett-Packard Company Hardware checksum assist for network protocol stacks
US6516363B1 (en) 1999-08-06 2003-02-04 Micron Technology, Inc. Output data path having selectable data rates
US6694416B1 (en) * 1999-09-02 2004-02-17 Micron Technology, Inc. Double data rate scheme for data output
GB0013350D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd End of message markers
US6906961B2 (en) 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
KR101110625B1 (ko) 2005-03-09 2012-02-16 삼성전자주식회사 전송 데이터의 무결성 검사 방법 및 수단
US7444579B2 (en) 2005-04-28 2008-10-28 Micron Technology, Inc. Non-systematic coded error correction
US7453723B2 (en) * 2006-03-01 2008-11-18 Micron Technology, Inc. Memory with weighted multi-page read
US7369434B2 (en) * 2006-08-14 2008-05-06 Micron Technology, Inc. Flash memory with multi-bit read
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
US9106258B2 (en) 2013-11-22 2015-08-11 International Business Machines Corporation Early data tag to allow data CRC bypass via a speculative memory data return protocol

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55120252A (en) * 1979-03-12 1980-09-16 Nec Corp Error control system
JPS5776621A (en) * 1980-10-30 1982-05-13 Fujitsu Ltd Data processing system having input and output system
JPS58206254A (ja) * 1982-05-27 1983-12-01 Nec Corp 誤り検出符号生成/検査方式
US4720830A (en) * 1985-12-02 1988-01-19 Advanced Micro Devices, Inc. CRC calculation apparatus having reduced output bus size
JPH01150940A (ja) * 1987-12-08 1989-06-13 Hitachi Ltd Crc演算方式
JPH03505035A (ja) * 1989-02-16 1991-10-31 グラマン エアロスペース コーポレーション 超高速エラー検出ネットワーク
US5241546A (en) * 1991-02-01 1993-08-31 Quantum Corporation On-the-fly error correction with embedded digital controller
US5691976A (en) * 1992-04-02 1997-11-25 Applied Digital Access Performance monitoring and test system for a telephone network
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
US5602857A (en) * 1993-09-21 1997-02-11 Cirrus Logic, Inc. Error correction method and apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1996 IEEE ISSCC,p.114−115,p.427

Also Published As

Publication number Publication date
DE69508800D1 (de) 1999-05-06
JPH10510411A (ja) 1998-10-06
KR100264875B1 (ko) 2000-09-01
DE69508800T2 (de) 1999-08-05
EP0830741A1 (en) 1998-03-25
TW482955B (en) 2002-04-11
US5854800A (en) 1998-12-29
EP0830741B1 (en) 1999-03-31
WO1996041424A1 (en) 1996-12-19
KR19990022495A (ko) 1999-03-25
US5964896A (en) 1999-10-12
ATE178443T1 (de) 1999-04-15

Similar Documents

Publication Publication Date Title
US6198751B1 (en) Multi-protocol packet translator
US6658582B1 (en) Serial interface circuits having improved data transmitting and receiving capability
JP4904154B2 (ja) 非同期スタティックランダムアクセスメモリ
US7053802B2 (en) Single-ended balance-coded interface with embedded-timing
US6272134B1 (en) Multicast frame support in hardware routing assist
JP3020009B2 (ja) プログラマブル・アーキテクチャを使用する高速巡回冗長検査システム
US5384788A (en) Apparatus and method for optimal error correcting code to parity conversion
JPH04358245A (ja) データ通信装置
JPH0831802B2 (ja) Crcビット計算装置およびcrcビット計算方法
JPH0720096B2 (ja) 情報処理システム
JPH0831801B2 (ja) Crcチェックビット計算装置およびそのプリセット方法
EP1346368A1 (en) Relational content addressable memory
JP4336860B2 (ja) シリアルインタフェース回路、及びシリアル受信器
US7474586B1 (en) Random access memory (RAM) method of operation and device for search engine systems
US5809341A (en) Circuit for transmitting received character when detection signal is not activated and transmitting substitute character when the detection signal is activated
EP0322116A2 (en) Interconnect system for multiprocessor structure
JPH04303234A (ja) データ転送方式
Yakovlev et al. Designing an asynchronous pipeline token ring interface
US7161937B1 (en) Method and apparatus for routing encoded signals through a network
JP2695780B2 (ja) 多相パリテイー発生回路
WO2002043069A2 (en) Boundary addressable memory
US20030149932A1 (en) Transmission error checking in result forwarding
US6889272B1 (en) Parallel data bus with bit position encoded on the clock wire
JPH05181744A (ja) 記憶装置
JPS59173821A (ja) バス接続制御回路

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110114

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120114

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130114

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130114

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees