JP2005252712A - 転送データの正当性を判定する装置および方法 - Google Patents
転送データの正当性を判定する装置および方法 Download PDFInfo
- Publication number
- JP2005252712A JP2005252712A JP2004061087A JP2004061087A JP2005252712A JP 2005252712 A JP2005252712 A JP 2005252712A JP 2004061087 A JP2004061087 A JP 2004061087A JP 2004061087 A JP2004061087 A JP 2004061087A JP 2005252712 A JP2005252712 A JP 2005252712A
- Authority
- JP
- Japan
- Prior art keywords
- data
- check code
- frame
- data block
- group identifier
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 17
- 238000012546 transfer Methods 0.000 title claims description 17
- 238000004364 calculation method Methods 0.000 claims abstract description 107
- 238000012545 processing Methods 0.000 claims description 20
- 238000013500 data storage Methods 0.000 claims 1
- 239000000835 fiber Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
- H04L1/008—Formats for control data where the control data relates to payload of a different packet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【解決手段】 各ユーザデータに対して互いに異なるグループIDが割り当てられ、受信フレームに対応するグループIDがレジスタ221に格納される。格納されたグループIDに対応する中間結果バッファ226のエントリ内の途中計算結果と、受信フレームのデータがチェックコード生成回路229に入力され、チェックコードが計算されて、そのエントリの途中計算結果が更新される。この動作がフレームを受信する毎に繰り返され、複数のユーザデータのチェックコードが並行して計算される。
【選択図】図2
Description
従来のチェックコード判定のシーケンスによると、ユーザデータのデータブロックのすべてのフレームを受信した後に、チェックコード判定回路を起動してチェックコードの判定を行うため、判定の終了までにかなりの時間を要する。そこで、判定を早く終了させるためにフレームの受信毎にチェックコード判定回路を起動して、受信したデータまでの途中結果を計算することも考えられる。
図2は、本実施形態のストレージ制御装置の構成図である。図2において、ブロック間の実線の矢印はデータ信号の転送を表し、破線の矢印は制御信号の転送を表す。
・データバッファ204内で、受信したフレームのデータが格納されているアドレス
・チェックコード判定回路214に入力されるデータのデータ長
・ユーザデータの最初および最後を示すフラグ
・受信したフレームのデータがどのデータブロックに属するかを表すグループID
チェックコード判定回路214は、グループIDレジスタ221、フラグレジスタ222、バッファアドレスレジスタ223、データ長レジスタ224、ステートマシン回路225、中間結果バッファ226、マルチプレクサ227、228、チェックコード生成回路229、生成結果レジスタ230、チェックコード比較回路231、およびチェック結果レジスタ232を備える。
(1)最初のフレームの受信に続いて、チェックコード判定回路214のステートマシン回路225がプロセッサ202から起動される。
(2)ステートマシン回路225は、予め決められたシード値を初期値としてチェックコード生成回路229に与える。
(3)チェックコード生成回路229は、データバッファ204から読み出されたデータのチェックコードを計算する。
(4)チェックコード生成回路229は、指示されたデータの計算を終えると、計算結果を中間結果バッファ226のグループIDに対応するエントリに格納する。
(5)2番目のフレームの受信に続いて、ステートマシン回路225がプロセッサから起動される。
(6)ステートマシン回路225は、中間結果バッファ226のグループIDに対応するエントリから読み出した値を、初期値としてチェックコード生成回路229に与える。
(7)チェックコード生成回路229は、データバッファ204から読み出されたデータのチェックコードを計算する。
(8)チェックコード生成回路229は、指示されたデータの計算を終えると、計算結果を中間結果バッファ226のグループIDに対応するエントリに格納する。
(9)3番目のフレームの受信に続いて、ステートマシン回路225がプロセッサから起動される。
(10)ステートマシン回路225は、中間結果バッファ226のグループIDに対応するエントリから読み出した値を、初期値としてチェックコード生成回路229に与える。
(11)チェックコード生成回路229は、データバッファ204から読み出されたデータのチェックコードを計算する。
(12)チェックコード生成回路229は、指示されたデータの計算を終えると、計算結果をチェックコード比較回路231に出力する。
(13)チェックコード比較回路231は、データバッファ204からチェックコード部分を読み出し、計算されたチェックコードと比較する。
図4は、フラグレジスタ222に格納される先頭フラグおよび終了フラグを示している。これらのフラグはそれぞれ1ビットの情報で表される。先頭フラグが立っているとき(論理“1”のとき)、データブロックの最初のフレームであることを表し、終了フラグが立っているとき、データブロックの最後のフレームであることを表す。いずれのフラグも立っていないときは、最初でも最後でもない途中のフレームであることを表し、両方のフラグが立っているときは、最初で最後のフレームであることを表す。
サイクル1
コントローラ203が最初のフレームを受信すると、プロセッサ202がグループID、フラグ、データ長、およびアドレスを設定し、チェックコード判定回路214を起動する。グループIDは0、先頭フラグは論理“1”、終了フラグは論理“0”、データ長はNに設定される。これにより、ステートマシン回路225は、IDLE状態からWAIT状態に遷移する。
サイクル4
データバッファ204からバッファインタフェース213を介して最初のデータ“D1”が読み出され、チェックコード生成回路229のポートI2に入力される。このとき、先頭フラグは論理“1”であるから、マルチプレクサ227はシード値を選択し、ステートマシン回路225はWAIT状態であるから、マルチプレクサ228はマルチプレクサ227の出力を選択する。したがって、チェックコード生成回路229のポートI1にはシード値が入力される。ステートマシン回路225は、WAIT状態からCALC状態に遷移し、データ長レジスタ224の値は1だけデクリメントされる。
サイクル5
サイクル4でチェックコード生成回路229に入力されたデータから得られた値“C1”が、生成結果レジスタ230に格納される。データバッファ204から2番目のデータ“D2”が読み出され、チェックコード生成回路229のポートI2に入力される。このとき、ステートマシン回路225はCALC状態であるから、マルチプレクサ228は生成結果レジスタ230の出力を選択し、チェックコード生成回路229のポートI1には“C1”が入力される。データ長レジスタ224の値は1だけデクリメントされる。
サイクル6−10
サイクル5と同様の動作が繰り返され、生成結果レジスタ230の値が順次更新される。
サイクル11
チェックコード生成回路229から出力された値“CN−1”が、生成結果レジスタ230に格納され、チェックコード生成回路229のポートI1に入力される。データバッファ204からデータ“DN”が読み出され、チェックコード生成回路229のポートI2に入力される。データ長レジスタ224の値は1であり、デクリメントすると0になるので、“DN”は最後のデータと判定される。このとき、終了フラグは論理“0”であるから、ステートマシン回路225は、CALC状態からWRT状態へ遷移する。
サイクル12
チェックコード生成回路229から出力された値“CN”が、最初のフレームに対するチェックコードの計算結果として、生成結果レジスタ230に格納される。ステートマシン回路225からライト有効信号が出力され、生成結果レジスタ230の値“CN”が、途中計算結果として中間結果バッファ226へ格納される。このとき、“CN”は、グループIDレジスタ221のグループIDが指しているアドレス“0”のエントリに書き込まれる。
サイクル21
コントローラ203が最後のフレームを受信すると、プロセッサ202がグループID、フラグ、データ長、およびアドレスを設定し、チェックコード判定回路214を起動する。グループIDは0、先頭フラグは論理“0”、終了フラグは論理“1”、データ長はMに設定される。これにより、ステートマシン回路225は、IDLE状態からWAIT状態に遷移する。
サイクル24
データバッファ204から最初のデータ“D1”が読み出され、チェックコード生成回路229のポートI2に入力される。このとき、先頭フラグは論理“0”であるから、マルチプレクサ227は中間結果バッファ226の出力を選択し、ステートマシン回路225はWAIT状態であるから、マルチプレクサ228はマルチプレクサ227の出力を選択する。したがって、チェックコード生成回路229のポートI1には、中間結果バッファ226のアドレス“0”のデータ“CN”が入力される。ステートマシン回路225は、WAIT状態からCALC状態に遷移し、データ長レジスタ224の値は1だけデクリメントされる。
サイクル25−29
サイクル5と同様の動作が繰り返され、生成結果レジスタ230の値が順次更新される。
サイクル30
チェックコード生成回路229から出力された値“CM−1”が、生成結果レジスタ230に格納され、チェックコード生成回路229のポートI1に入力される。データバッファ204からデータ“DM”が読み出され、チェックコード生成回路229のポートI2に入力される。データ長レジスタ224の値は1であるから、“DM”は最後のデータと判定される。このとき、終了フラグは論理“1”であるから、ステートマシン回路225は、CALC状態からCHK状態へ遷移する。
サイクル31
チェックコード生成回路229から出力された値“CM”が、最後のフレームに対するチェックコードの計算結果として、生成結果レジスタ230に格納される。この“CM”は、グループID“0”のデータ全体に対するチェックコードの計算結果であり、チェックコード比較回路231のポートI4に入力される。また、データバッファ204から最後のフレームのデータに続くチェックコード“CC”が読み出され、チェックコード比較回路231のポートI3に入力される。
サイクル32
チェックコード比較回路231は、ステートマシン回路225からの制御信号に従って、計算結果“CM”とチェックコード“CC”を比較し、その結果をチェック結果としてチェック結果レジスタ232に書き込む。
前記複数のデータブロックにそれぞれ割り当てられた複数のグループ識別子のうち、受信したフレームに対応するデータブロックのグループ識別子を格納するグループ識別子格納手段と、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段と、
前記グループ識別子格納手段に格納されたグループ識別子に対応する、前記中間結果格納手段のエントリに格納された途中計算結果と、前記受信したフレームに含まれるデータとを用いて、チェックコードの途中計算結果を生成し、該エントリに格納された途中計算結果を更新する生成手段と、
前記生成手段が1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較して、比較結果を出力する比較手段と
を備えることを特徴とする判定装置。
送信されたフレームを受信する受信手段と、
前記複数のデータブロックにそれぞれ異なるグループ識別子を割り当て、受信したフレームのヘッダ部の情報を解析して、該フレームに対応するデータブロックのグループ識別子を該フレームに割り当てる制御手段と、
前記受信したフレームに割り当てられたグループ識別子を格納するグループ識別子格納手段と、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段と、
前記グループ識別子格納手段に格納されたグループ識別子に対応する、前記中間結果格納手段のエントリに格納された途中計算結果と、前記受信したフレームに含まれるデータとを用いて、チェックコードの途中計算結果を生成し、該エントリに格納された途中計算結果を更新する生成手段と、
前記生成手段が1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較して、比較結果を出力する比較手段と
を備えることを特徴とするストレージ制御装置。
送信されたフレームを受信する受信手段と、
前記複数のデータブロックにそれぞれ異なるグループ識別子を割り当て、受信したフレームのヘッダ部の情報を解析して、該フレームに対応するデータブロックのグループ識別子を該フレームに割り当てる制御手段と、
前記受信したフレームに割り当てられたグループ識別子を格納するグループ識別子格納手段と、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段と、
前記グループ識別子格納手段に格納されたグループ識別子に対応する、前記中間結果格納手段のエントリに格納された途中計算結果と、前記受信したフレームに含まれるデータとを用いて、チェックコードの途中計算結果を生成し、該エントリに格納された途中計算結果を更新する生成手段と、
前記生成手段が1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較して、比較結果を出力する比較手段と、
前記複数のアクセス装置により共用され、各データブロックの複数のフレームに含まれるデータから組み立てられた元のデータを格納する記憶装置と
を備えることを特徴とするストレージ装置。
受信したフレームのヘッダ部の情報を格納手段に格納し、該ヘッダ部の情報を解析して、該フレームが1つのデータブロックの最初のフレームか否かを判定し、
前記受信したフレームが前記最初のフレームであれば、該フレームに新たなグループ識別子を割り当て、該受信したフレームが該最初のフレームでなければ、該フレームと同じデータブロックに属する受信済みのフレームと同じグループ識別子を該フレームに割り当て、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ保持しながら各データブロックのチェックコードを計算し、計算したチェックコードと受信したチェックコードを比較する判定装置に、割り当てたグループ識別子を転送し、
前記判定装置から転送されたチェックコードの比較結果に基づいて、各データブロックの正当性を確認する
処理を前記プロセッサに実行させることを特徴とするプログラム。
前記プログラムは、
受信したフレームのヘッダ部の情報を格納手段に格納し、該ヘッダ部の情報を解析して、該フレームが1つのデータブロックの最初のフレームか否かを判定し、
前記受信したフレームが前記最初のフレームであれば、該フレームに新たなグループ識別子を割り当て、該受信したフレームが該最初のフレームでなければ、該フレームと同じデータブロックに属する受信済みのフレームと同じグループ識別子を該フレームに割り当て、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ保持しながら各データブロックのチェックコードを計算し、計算したチェックコードと受信したチェックコードを比較する判定装置に、割り当てたグループ識別子を転送し、
前記判定装置から転送されたチェックコードの比較結果に基づいて、各データブロックの正当性を確認する
処理を前記プロセッサに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
前記プログラムは、
受信したフレームのヘッダ部の情報を格納手段に格納し、該ヘッダ部の情報を解析して、該フレームが1つのデータブロックの最初のフレームか否かを判定し、
前記受信したフレームが前記最初のフレームであれば、該フレームに新たなグループ識別子を割り当て、該受信したフレームが該最初のフレームでなければ、該フレームと同じデータブロックに属する受信済みのフレームと同じグループ識別子を該フレームに割り当て、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ保持しながら各データブロックのチェックコードを計算し、計算したチェックコードと受信したチェックコードを比較する判定装置に、割り当てたグループ識別子を転送し、
前記判定装置から転送されたチェックコードの比較結果に基づいて、各データブロックの正当性を確認する
処理を前記プロセッサに実行させることを特徴とする搬送信号。
1つのフレームを受信する毎に、
受信したフレームのヘッダ部の情報を解析して、該フレームに対応するデータブロックのグループ識別子を該フレームに割り当て、
前記受信したフレームに割り当てられたグループ識別子をグループ識別子格納手段に格納し、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段から、前記グループ識別子格納手段に格納されたグループ識別子に対応するエントリに格納された途中計算結果を取り出し、
取り出した途中計算結果と前記受信したフレームに含まれるデータとを用いてチェックコードの途中計算結果を生成して、前記グループ識別子に対応するエントリに格納された途中計算結果を更新する動作を繰り返し、
1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較する
ことを特徴とする判定方法。
102 チェックコード
103、141a、141b、141c データブロック
104a、104b、104c、104d フレーム
111、111a、111b、111c フレーム
112 通信ネットワーク
113、801 ストレージ制御装置
151 グループ識別子格納手段
152 中間結果格納手段
153 生成手段
154 比較手段
121、202 プロセッサ
122、203 コントローラ
123、204 データバッファ
131、214 チェックコード判定回路
132 CRCチェック回路
201 メモリ
211 プロセッサインタフェース
212 ファイバチャネルインタフェース
213 バッファインタフェース
221 グループIDレジスタ
222 フラグレジスタ
223 バッファアドレスレジスタ
224 データ長レジスタ
225 ステートマシン回路
226 中間結果バッファ
227、228 マルチプレクサ
229 チェックコード生成回路
230 生成結果レジスタ
231 チェックコード比較回路
232 チェック結果レジスタ
811、812 エントリ
901 外部装置
902 可搬記録媒体
Claims (7)
- 複数のデータブロックがそれぞれ複数のフレームに分割されて送信されたとき、各データブロックに含まれるチェックコードを用いて各データブロックに含まれるデータの正当性を判定する判定装置であって、
前記複数のデータブロックにそれぞれ割り当てられた複数のグループ識別子のうち、受信したフレームに対応するデータブロックのグループ識別子を格納するグループ識別子格納手段と、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段と、
前記グループ識別子格納手段に格納されたグループ識別子に対応する、前記中間結果格納手段のエントリに格納された途中計算結果と、前記受信したフレームに含まれるデータとを用いて、チェックコードの途中計算結果を生成し、該エントリに格納された途中計算結果を更新する生成手段と、
前記生成手段が1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較して、比較結果を出力する比較手段と
を備えることを特徴とする判定装置。 - 前記生成手段は、1つのフレームを受信する毎に、前記中間結果格納手段の対応するエントリに格納された途中計算結果を更新する動作を繰り返しながら、該中間結果格納手段の複数のエントリの途中計算結果を並行して更新することを特徴とする請求項1記載の判定装置。
- 前記受信したフレームが1つのデータブロックの最後のフレームであるか否かを示すフラグを格納するフラグ格納手段をさらに備え、前記生成手段は、該フラグが該最後のフレームであることを示していないとき、前記中間結果格納手段のエントリに格納された途中計算結果を更新し、前記比較手段は、該フラグが該最後のフレームであることを示しているとき、前記最終計算結果を前記1つのデータブロックのチェックコードと比較することを特徴とする請求項1記載の判定装置。
- 複数のデータブロックがそれぞれ複数のフレームに分割されて送信されたとき、各データブロックに含まれるチェックコードを用いて各データブロックに含まれるデータの正当性を判定し、該データを記憶装置へ転送する制御を行うストレージ制御装置であって、
送信されたフレームを受信する受信手段と、
前記複数のデータブロックにそれぞれ異なるグループ識別子を割り当て、受信したフレームのヘッダ部の情報を解析して、該フレームに対応するデータブロックのグループ識別子を該フレームに割り当てる制御手段と、
前記受信したフレームに割り当てられたグループ識別子を格納するグループ識別子格納手段と、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段と、
前記グループ識別子格納手段に格納されたグループ識別子に対応する、前記中間結果格納手段のエントリに格納された途中計算結果と、前記受信したフレームに含まれるデータとを用いて、チェックコードの途中計算結果を生成し、該エントリに格納された途中計算結果を更新する生成手段と、
前記生成手段が1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較して、比較結果を出力する比較手段と
を備えることを特徴とするストレージ制御装置。 - 複数のアクセス装置から複数のデータブロックがそれぞれ複数のフレームに分割されて送信されたとき、各データブロックに含まれるチェックコードを用いて各データブロックに含まれるデータの正当性を判定し、該データを格納するストレージ装置であって、
送信されたフレームを受信する受信手段と、
前記複数のデータブロックにそれぞれ異なるグループ識別子を割り当て、受信したフレームのヘッダ部の情報を解析して、該フレームに対応するデータブロックのグループ識別子を該フレームに割り当てる制御手段と、
前記受信したフレームに割り当てられたグループ識別子を格納するグループ識別子格納手段と、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段と、
前記グループ識別子格納手段に格納されたグループ識別子に対応する、前記中間結果格納手段のエントリに格納された途中計算結果と、前記受信したフレームに含まれるデータとを用いて、チェックコードの途中計算結果を生成し、該エントリに格納された途中計算結果を更新する生成手段と、
前記生成手段が1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較して、比較結果を出力する比較手段と、
前記複数のアクセス装置により共用され、各データブロックの複数のフレームに含まれるデータから組み立てられた元のデータを格納する記憶装置と
を備えることを特徴とするストレージ装置。 - 複数のデータブロックがそれぞれ複数のフレームに分割されて送信されたとき、各データブロックに含まれるチェックコードを用いて各データブロックに含まれるデータの正当性を判定するプロセッサのためのプログラムであって、
受信したフレームのヘッダ部の情報を格納手段に格納し、該ヘッダ部の情報を解析して、該フレームが1つのデータブロックの最初のフレームか否かを判定し、
前記受信したフレームが前記最初のフレームであれば、該フレームに新たなグループ識別子を割り当て、該受信したフレームが該最初のフレームでなければ、該フレームと同じデータブロックに属する受信済みのフレームと同じグループ識別子を該フレームに割り当て、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ保持しながら各データブロックのチェックコードを計算し、計算したチェックコードと受信したチェックコードを比較する判定装置に、割り当てたグループ識別子を転送し、
前記判定装置から転送されたチェックコードの比較結果に基づいて、各データブロックの正当性を確認する
処理を前記プロセッサに実行させることを特徴とするプログラム。 - 複数のデータブロックがそれぞれ複数のフレームに分割されて送信されたとき、各データブロックに含まれるチェックコードを用いて各データブロックに含まれるデータの正当性を判定する判定方法であって、
1つのフレームを受信する毎に、
受信したフレームのヘッダ部の情報を解析して、該フレームに対応するデータブロックのグループ識別子を該フレームに割り当て、
前記受信したフレームに割り当てられたグループ識別子をグループ識別子格納手段に格納し、
前記複数のデータブロックのチェックコードの途中計算結果をグループ識別子毎にそれぞれ格納する複数のエントリを有する中間結果格納手段から、前記グループ識別子格納手段に格納されたグループ識別子に対応するエントリに格納された途中計算結果を取り出し、
取り出した途中計算結果と前記受信したフレームに含まれるデータとを用いてチェックコードの途中計算結果を生成して、前記グループ識別子に対応するエントリに格納された途中計算結果を更新する動作を繰り返し、
1つのデータブロックの最後のフレームのデータを用いて該1つのデータブロックのチェックコードの最終計算結果を生成したとき、該最終計算結果を該1つのデータブロックのチェックコードと比較する
ことを特徴とする判定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004061087A JP4271602B2 (ja) | 2004-03-04 | 2004-03-04 | 転送データの正当性を判定する装置および方法 |
US10/929,675 US7577894B2 (en) | 2004-03-04 | 2004-08-31 | Apparatus and method for judging the legitimacy of transfer data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004061087A JP4271602B2 (ja) | 2004-03-04 | 2004-03-04 | 転送データの正当性を判定する装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005252712A true JP2005252712A (ja) | 2005-09-15 |
JP4271602B2 JP4271602B2 (ja) | 2009-06-03 |
Family
ID=34918040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004061087A Expired - Fee Related JP4271602B2 (ja) | 2004-03-04 | 2004-03-04 | 転送データの正当性を判定する装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7577894B2 (ja) |
JP (1) | JP4271602B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010501090A (ja) * | 2006-08-18 | 2010-01-14 | デジタル ライズ テクノロジー シーオー.,エルティーディー. | 音声復号化 |
JP2010501153A (ja) * | 2006-08-18 | 2010-01-14 | デジタル ライズ テクノロジー シーオー.,エルティーディー. | フレーム型データの可変分解能処理 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2192495A1 (de) * | 2008-11-11 | 2010-06-02 | Thomson Licensing | Verfahren zur Bearbeitung von Daten mittels Dreifach-Pufferung |
US8321753B2 (en) * | 2010-04-13 | 2012-11-27 | Juniper Networks, Inc. | Optimization of packet buffer memory utilization |
CN107579920B (zh) * | 2017-09-25 | 2021-06-01 | 盛科网络(苏州)有限公司 | 数据流的传输方法、装置、存储介质及处理器 |
CN110795269B (zh) * | 2018-08-03 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种数据恢复验证方法、装置及设备 |
CN114817100B (zh) * | 2022-04-08 | 2023-09-29 | 武汉光迅电子技术有限公司 | 一种用于单板的数据读取方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5168495A (en) | 1991-05-10 | 1992-12-01 | Ibm Corporation | Nested frame communication protocol |
JPH07111695B2 (ja) | 1991-07-25 | 1995-11-29 | 株式会社メルコ | データ転送方法ならびにデータ送信装置および復元装置 |
JPH0591072A (ja) | 1991-09-30 | 1993-04-09 | Nec Corp | 高速データ転送方式 |
US5630054A (en) | 1995-04-18 | 1997-05-13 | Mti Technology Center | Method and apparatus for storing and retrieving error check information |
JP3111993B2 (ja) | 1998-07-14 | 2000-11-27 | 日本電気株式会社 | ノード装置 |
JP2001034427A (ja) | 1999-07-23 | 2001-02-09 | Fujitsu Ltd | デバイス制御装置及び制御方法 |
JP3527873B2 (ja) | 1999-09-03 | 2004-05-17 | 松下電器産業株式会社 | 誤り訂正装置 |
US6647528B1 (en) * | 2000-11-02 | 2003-11-11 | Computer Network Technology Corporation | Fiber channel CRC for internal error checking on a switching platform |
JP2002247097A (ja) | 2001-02-22 | 2002-08-30 | Oki Electric Ind Co Ltd | 通信制御装置 |
US7174498B2 (en) * | 2002-02-15 | 2007-02-06 | Intel Corporation | Obtaining cyclic redundancy code |
US7391723B2 (en) * | 2002-04-22 | 2008-06-24 | Computer Network Technology Corporation | Frame-level fibre channel CRC on switching platform |
-
2004
- 2004-03-04 JP JP2004061087A patent/JP4271602B2/ja not_active Expired - Fee Related
- 2004-08-31 US US10/929,675 patent/US7577894B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010501090A (ja) * | 2006-08-18 | 2010-01-14 | デジタル ライズ テクノロジー シーオー.,エルティーディー. | 音声復号化 |
JP2010501089A (ja) * | 2006-08-18 | 2010-01-14 | デジタル ライズ テクノロジー シーオー.,エルティーディー. | 音声符号化システム |
JP2010501153A (ja) * | 2006-08-18 | 2010-01-14 | デジタル ライズ テクノロジー シーオー.,エルティーディー. | フレーム型データの可変分解能処理 |
JP4871999B2 (ja) * | 2006-08-18 | 2012-02-08 | デジタル ライズ テクノロジー シーオー.,エルティーディー. | フレーム型データの可変分解能処理 |
Also Published As
Publication number | Publication date |
---|---|
US20050204238A1 (en) | 2005-09-15 |
US7577894B2 (en) | 2009-08-18 |
JP4271602B2 (ja) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0449661B1 (en) | Computer for Simultaneously executing plural instructions | |
JP2004005382A (ja) | データ転送装置および方法 | |
CN102937936B (zh) | 使用n路高速缓冲存储器的系统和方法 | |
JPH1185512A (ja) | 命令圧縮格納および命令復元機能を有するデータ処理装置 | |
US7111289B2 (en) | Method for implementing dual link list structure to enable fast link-list pointer updates | |
JP4271602B2 (ja) | 転送データの正当性を判定する装置および方法 | |
US7769966B2 (en) | Apparatus and method for judging validity of transfer data | |
US8291270B2 (en) | Request processing device, request processing system, and access testing method | |
JP2010109746A (ja) | データ受信装置、データ受信方法、及びデータ受信プログラム | |
US7036003B1 (en) | Instruction processing device and method for controlling branch instruction accompanied by mode change | |
CN116028404A (zh) | 一种dma配置方法和配置电路 | |
JP2002157215A (ja) | 直接メモリ・アクセス・コントローラにおけるアドレス変更装置および方法 | |
US20090037917A1 (en) | Apparatus and method capable of using reconfigurable descriptor in system on chip | |
US20020069350A1 (en) | Apparatus and method for executing a block data transfer instruction inside processor | |
EP4293505A1 (en) | Instruction retirement unit, instruction execution unit, processing unit, cumputing device, and instruction processing method | |
CN102112956B (zh) | 用来存储原始时间点数据的设备和方法 | |
JP3583032B2 (ja) | ベクトル拡散処理装置 | |
JP3522150B2 (ja) | データ処理装置およびそのデータ処理方法 | |
JPH1040165A (ja) | データ読み出し方法およびリードバッファ | |
CN116342368A (zh) | 基于risc-v指令集的图形处理器指令处理方法及装置 | |
US8924836B2 (en) | Data receiving apparatus, data receiving method, and computer-readable recording medium | |
JP2001053621A (ja) | Crc生成部およびcrc計算装置 | |
CN111352025A (zh) | 一种fpga中配置控制器验证方法、系统及设备 | |
JP2004178058A (ja) | プログラム制御装置およびプログラム制御方法 | |
JP2006072452A (ja) | データ記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081002 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090225 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120306 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4271602 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130306 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140306 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |