JP2002351689A - データ転送システム - Google Patents
データ転送システムInfo
- Publication number
- JP2002351689A JP2002351689A JP2001163279A JP2001163279A JP2002351689A JP 2002351689 A JP2002351689 A JP 2002351689A JP 2001163279 A JP2001163279 A JP 2001163279A JP 2001163279 A JP2001163279 A JP 2001163279A JP 2002351689 A JP2002351689 A JP 2002351689A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- crc code
- adapter
- host
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
正常にメモリデバイスに書き込まれたかどうかをデータ
転送元のホストデバイスで知ることができる。 【解決手段】ホストデバイス1がセクタデータの書込み
要求を行ったときに、ホストアダプタ2が、セクタデー
タをブロックデータにデブロッキングし、ブロックデー
タ単位でメモリアダプタ4に転送する。メモリアダプタ
4は、ブロックデータをメモリデバイス5にメモリライ
トするとともに、該ブロックデータからブロックCRC
コードを生成しライトリプライとしてホストアダプタ2
に返却する。ホストアダプタ2は、ブロックCRCコー
ドを受信すると、CRC演算を施してセクタデータ全体
のCRCコードを復元し元のセクタデータのCRCコー
ドと一致チェックを行い、チェック結果をホストデバイ
ス1に報告する。
Description
に関し、特にデータチェックを行うデータ転送システム
に関する。
バイスにデータをメモリライトするデバイスとが同一の
LSI(Large Scaled Integrat
ion)であれば、確実にデータの書込みが行えたこと
を検出することは可能であり、データ化け等のデバイス
の異常な状態を検出することも容易である。
模なシステムにおいては、必ずしも1つのLSIでデー
タ処理しているわけではなく、システムの内部にあるP
CI(Peripheral Component I
nterconnect)バス,システムバス等の各種
バスを経由しつつ、それらを制御する複数のLSIを通
ってから、目的のメモリデバイスに書込みが行われる。
なシステムは、ハードウェア故障等によりデータ転送中
に異常事態が発生すると、転送しているデータが途中で
無効データに変更されてしまったり、使用しているバス
に電気的ノイズが発生してパリティエラーが発生したり
して誤ったデータがメモリデバイスに記録されてしまう
ことも考えられるが、データ転送元のデバイスが末端の
メモリデバイスに正しいデータがライトされたかどうか
を完全には確認することができないシステム構成となっ
ていた。
バイスに正しいデータが書き込まれたかどうかの確認を
完全とするための一番確実な方法としては、データ転送
元のデバイスが自身が書き込んだデータをメモリデバイ
スからもう一度読み出して正しくデータが書き込まれた
かどうかの一致チェック(ベリファイ動作)等を行うと
いうものがあるが、それでは実データの転送レートが下
がってしまい、性能低下が生じてしまうという問題点が
あった。
への書込みを行うデバイス(LSI)の内部で書込みデ
ータをサンプリングし、部分データのCRC(Cycl
icRedundancy Check)コードをブロ
ックCRCコードとして作成してデータ転送元のデバイ
スに送り返し、データ転送元のデバイスでは送り返され
たブロックCRCコードから、転送データ全体のCRC
コードを復元して一致チェックを行うことで、実データ
の転送を阻害することなく、データ転送元がメモリデバ
イスへの書込みデータの値を保証することができるデー
タ転送システムを提供することにある。
54号公報に開示された「CRCコードの確認方法およ
び装置」がある。この従来技術では、データブロック
(本発明のセクタデータに対応)がサブブロック(本発
明のブロックデータに対応)に分割されて伝送される伝
送装置において、受信したサブブロック毎に初期設定値
を用いて部分CRCコード(本発明のブロックCRCコ
ードに対応)を発生し、部分CRCコードからデータブ
ロック全体に対するCRCコードを組み立ててその確認
を行っており、受信側で部分CRCコードからデータブ
ロック全体に対するCRCコードを組み立てている点
で、データ転送元でブロックCRCコードからセクタデ
ータ全体のCRCコードを復元してチェックしている本
発明とは決定的に相違している。
テムは、ホストデバイスから書込み要求されたセクタデ
ータをデブロッキングして複数のブロックデータとして
ライトリクエストするホストアダプタと、前記ライトリ
クエストされたブロックデータをメモリデバイスにメモ
リライトするメモリアダプタとを備えるデータ転送シス
テムにおいて、前記ホストアダプタからライトリクエス
トされたブロックデータを前記メモリデバイスにメモリ
ライトした際に該ブロックデータから、ある定まったコ
ードを生成しライトリプライとして前記ホストアダプタ
に返却する前記メモリアダプタと、前記メモリアダプタ
からライトリプライとして返却された前記ある定まった
コードからセクタデータ全体のCRCコードを復元して
元のセクタデータのCRCコードとチェックし前記ホス
トデバイスにエラーの有無を報告する前記ホストアダプ
タとを有することを特徴とする。
記ある定まったコードが、ある初期値を持った状態で前
記ブロックデータに対して部分的に演算されるブロック
CRCコードであることを特徴とする。
前記ブロックCRCコードを生成するときに、前記初期
値をゼロとしたことを特徴とする。
は、前記ホストアダプタと前記メモリアダプタとの間に
データ転送を中継するクロスバー回路を備えることを特
徴とする。
ストデバイスから書込み要求されたセクタデータをデブ
ロッキングして複数のブロックデータとしてライトリク
エストするホストアダプタと、前記ライトリクエストさ
れたブロックデータをメモリデバイスにメモリライトす
るメモリアダプタと、前記ホストアダプタ,前記メモリ
アダプタ間を接続するバスとを備えるデータ転送システ
ムにおいて、前記ホストアダプタから前記バスを介して
ライトリクエストされたブロックデータを前記メモリデ
バイスにメモリライトした際に該ブロックデータに対す
るブロックCRCコードを生成しライトリプライとして
前記バスを介して前記ホストアダプタに返却する前記メ
モリアダプタと、前記ホストアダプタから前記バスを介
してライトリプライとして返却されたブロックCRCコ
ードからセクタデータ全体のCRCコードを復元して元
のセクタデータのCRCコードとチェックし、エラーの
有無を前記ホストデバイスに報告する前記ホストアダプ
タとを有することを特徴とする。
ホストデバイスから書込み要求されたセクタデータをデ
ブロッキングして複数のブロックデータとしてライトリ
クエストする複数のホストアダプタと、前記ライトリク
エストされたブロックデータを複数のメモリデバイスに
メモリライトする複数のメモリアダプタと、前記ホスト
アダプタ,前記メモリアダプタ間を接続するバスとを備
えるデータ転送システムにおいて、前記ホストアダプタ
から前記バスを介してライトリクエストされたブロック
データを前記メモリデバイスにメモリライトした際に該
ブロックデータに対するブロックCRCコードを生成し
ライトリプライとして前記バスを介して前記ホストアダ
プタに返却する前記メモリアダプタと、前記ホストアダ
プタから前記バスを介してライトリプライとして返却さ
れたブロックCRCコードからセクタデータ全体のCR
Cコードを復元して元のセクタデータのCRCコードと
チェックし、エラーの有無を前記ホストデバイスに報告
する前記ホストアダプタとを有することを特徴とする。
は、前記ホストアダプタが、前記セクタデータをバッフ
ァリングするデータバッファと、前記ライトリプライと
して返却されたブロックCRCコードからセクタデータ
全体のCRCコードを復元するブロックCRCコード→
CRCコード変換回路と、前記ブロックCRCコード→
CRCコード変換回路により復元されたCRCコードを
元のセクタデータのCRCコードとチェックするCRC
コードチェック回路とを含むことを特徴とする。
記CRCコードチェック回路がチャネル対応に複数設け
られており、チャネル番号によりデータ転送元のチャネ
ルを特定して、該チャネルに対応するCRCコードチェ
ック回路を使用して復元されたCRCコードのチェック
を行うことを特徴とする。
前記メモリアダプタが、前記ホストアダプタからライト
リクエストされたブロックデータをバッファリングする
データバッファと、前記データバッファから前記メモリ
デバイスにメモリライトされたブロックデータに対して
ブロックCRCコードを生成するブロックCRCコード
生成回路とを含むことを特徴とする。
は、前記ブロックCRCコード生成回路が、前記ブロッ
クCRCコードを生成するときに初期値をゼロとするこ
とを特徴とする。
ストデバイスから書込み要求されたセクタデータをデブ
ロッキングして複数のブロックデータとしてライトリク
エストするホストアダプタと、前記ライトリクエストさ
れたブロックデータをメモリデバイスにメモリライトす
るメモリアダプタと、前記ホストアダプタ,前記メモリ
アダプタ間を接続するクロスバー回路とを備えるデータ
転送システムにおいて、前記ホストアダプタから前記ク
ロスバー回路を介してライトリクエストされたブロック
データを前記メモリデバイスにメモリライトした際に該
ブロックデータからブロックCRCコードを生成しライ
トリプライとして前記クロスバー回路を介して前記ホス
トアダプタに返却する前記メモリアダプタと、前記メモ
リアダプタから前記クロスバー回路を介してライトリプ
ライとして返却された前記ブロックCRCコードからセ
クタデータ全体のCRCコードを復元し元のセクタデー
タのCRCコードとチェックして前記ホストデバイスに
エラーの有無を報告する前記ホストアダプタとを有する
ことを特徴とする。
前記ホストアダプタが、前記セクタデータをバッファリ
ングするデータバッファと、前記ホストアダプタからラ
イトリプライとして返却されたブロックCRCコードか
らセクタデータ全体のCRCコードを復元するブロック
CRCコード→CRCコード変換回路と、前記ブロック
CRCコード→CRCコード変換回路により復元された
CRCコードを元のセクタデータのCRCコードとチェ
ックするCRCコードチェック回路と、前記ホストデバ
イスを制御するホスト制御回路と、前記クロスバー回路
とのインタフェースを制御するバスインタフェースとを
含むことを特徴とする。
は、前記CRCコードチェック回路がチャネル対応に複
数設けられており、チャネル番号によりデータ転送元の
チャネルを特定して、該チャネルに対応するCRCコー
ドチェック回路を使用して復元されたCRCコードのチ
ェックを行うことを特徴とする。
記メモリアダプタが、前記ホストアダプタからライトリ
クエストされたブロックデータをバッファリングするデ
ータバッファと、前記データバッファから前記メモリデ
バイスにメモリライトされたブロックデータに対してブ
ロックCRCコードを生成するブロックCRCコード生
成回路と、前記クロスバー回路とのインタフェースを制
御するバスインタフェースとを含むことを特徴とする。
前記ブロックCRCコード生成回路が、前記ブロックC
RCコードを生成するときに初期値をゼロとすることを
特徴とする。
は、前記クロスバー回路が、前記ホストアダプタとのイ
ンタフェースを制御する第1のバスインタフェースと、
前記メモリアダプタとのインタフェースを制御する第2
のバスインタフェースと、前記第1のバスインタフェー
ス,前記第2のバスインタフェース間に設けられた複数
のデータバッファとを含むことを特徴とする。
デバイスがメモリデバイスに対するあるまとまったデー
タ(以下、これをセクタデータという)の書込み要求を
行ったときに、ホストアダプタが、セクタデータをある
一定のバイト数毎のデータ(以下、これをブロックデー
タという)にデブロッキングし、ブロックデータ単位で
メモリアダプタに転送する。メモリアダプタは、ブロッ
クデータをメモリデバイスにメモリライトするととも
に、該ブロックデータからCRCコード(以下、これを
ブロックCRCコードという)を生成し、ブロックCR
Cコードをライトリクエストに対するライトリプライと
してホストアダプタに返却する。ホストアダプタは、ブ
ロックCRCコードをライトリプライとして受信する
と、ブロックCRCコードにCRC演算を施してセクタ
データ全体のCRCコードを復元し元のセクタデータの
CRCコードと一致チェックを行い、チェック結果をホ
ストデバイスに報告する。これにより、書込み要求した
セクタデータが正常にメモリデバイスに書き込まれたか
どうかをデータ転送元のホストデバイスで知ることがで
きる。
て図面を参照して詳細に説明する。
ステムの構成を示す回路ブロック図である。本実施の形
態に係るデータ転送システムは、セクタデータの書込み
要求を発行するホストデバイス1と、ホストデバイス1
から書込み要求されたセクタデータをブロックデータ単
位にデブロッキングしてメモリアダプタ4にライトリク
エストするホストアダプタ2と、ホストアダプタ2とメ
モリアダプタ4とを接続するシステムバス3と、ホスト
アダプタ2からライトリクエストされたブロックデータ
を取り込んでメモリデバイス5に対してメモリライトを
行い、該ブロックデータからブロックCRCコードを生
成しライトリプライとしてホストアダプタ2に返却する
メモリアダプタ4と、ブロックデータがメモリライトさ
れるメモリデバイス5とから、その主要部が構成されて
いる。
デバイス5との間のデータ転送における仕組みを簡略化
して示したものであり、本発明では、ホストデバイス1
およびメモリデバイス5の接続個数等の制限を設けるも
のではない。
ら書込み要求されたセクタデータを受信するデータバッ
ファ21と、メモリアダプタ4からライトリプライとし
て返却されたブロックCRCコードをセクタデータ全体
のCRCコードに復元するブロックCRCコード→CR
Cコード変換回路22と、ブロックCRCコード→CR
Cコード変換回路22により復元されたCRCコードの
正当性をチャネル対応にチェックする複数のCRCコー
ドチェック回路23とを含んで構成されている。なお、
ホストアダプタ2からホストデバイス1に報告されるC
RCコードチェック結果は、割込み信号線(図示せず)
を介して報告される。
らライトリクエストされたブロックデータを保持するデ
ータバッファ41と、メモリデバイス5にメモリライト
されたブロックデータを取り込んでブロックCRCコー
ドを生成しホストアダプタ2にライトリプライとして返
却するブロックCRCコード生成回路42とを含んで構
成されている。
システムは、ディスクアレイ装置などでホストデバイス
1からのセクタデータをメモリデバイス5に転送する経
路に実施した場合の例であり、実際にはハードディスク
等の他の回路が必要であるが、ここでは省略する。
理は、セクタデータ受信ステップS101と、ブロック
データへのデブロッキングステップS102と、カウン
タ初期設定ステップS103と、ブロックデータ転送ス
テップS104と、ブロックCRCコード受信ステップ
S105と、CRCコードチェック回路選択ステップS
106と、CRC演算ステップS107と、カウンタイ
ンクリメントステップS108と、データ転送終了判定
ステップS109と、CRCコード=0判定ステップS
110と、正常転送報告ステップS111と、異常転送
報告ステップS112とからなる。
タ4の処理は、ブロックデータ受信ステップS201
と、データバッファ格納ステップS202と、メモリラ
イト実行ステップS203と、ブロックCRCコード生
成ステップS204と、ブロックCRCコード返却ステ
ップS205とからなる。
およびメモリアダプタ4の処理を、理解しやすいように
一連のシーケンシャルなフローチャートとして図示した
が、本来はホストアダプタ2およびメモリアダプタ4の
パイプライン動作により、おのおの独自にパラレルなシ
ーケンスとして動作できるものである。
形態に係るデータ転送システムの動作について説明す
る。
み要求があると、ホストアダプタ2は、ホストデバイス
1からセクタデータを取り込み、データバッファ21に
格納する(ステップS101)。
ァ21に格納されたセクタデータを所定のバイト数m単
位のn個のブロックデータにデブロッキングする(ステ
ップS102)。
を0に初期化した後(ステップS103)、ブロック番
号iのブロックデータをメモリアダプタ4に転送する
(ステップS104)。このとき、転送されるブロック
データごとにシステム内部で固有となるチャネル番号お
よびブロック番号をヘッダに埋め込んでブロックデータ
をライトリクエストする。
らブロックデータをシステムバス3を介して受信すると
(ステップS201)、受信した転送データをデータバ
ッファ41に格納する(ステップS202)。
ァ41に格納されたブロックデータを自メモリアダプタ
4の配下にあるメモリデバイス5にメモリライトする
(ステップS203)。
メモリアダプタ4は、ブロックデータをそのままブロッ
クCRCコード生成回路42に転送し、ブロックCRC
コード生成回路42により、初期値をゼロとしたCRC
コードをブロックCRCコードとして生成する(ステッ
プS204)。ブロックCRCコード生成回路42によ
るブロックCRCコードの生成の具体例については、後
の実施例で詳述する。
ブロックCRCコードをシステムバス3を介してホスト
アダプタ2にライトリプライとして返却する(ステップ
S205)。
らライトリプライとして返却されたブロックCRCコー
ドを受信すると(ステップS105)、ブロックCRC
コード→CRCコード変換回路22により、データ転送
元のチャネルを特定し、対応するCRCコードチェック
回路23を選択し(ステップS106)、選択されたC
RCコードチェック回路23を使用してライトリプライ
として返却されてきたブロックCRCコードに対してC
RC演算を行う(ステップS107)。ブロックCRC
→CRC変換回路22によるCRC演算の具体例につい
ては、後の実施例で詳述する。
1つインクリメントし(ステップS108)、i>nで
あるかどうか、すなわち全てのブロックデータの転送が
終了したかどうかを判定し(ステップS109)、終了
していなければステップS104に制御を戻して、次の
ブロックデータをメモリデバイス4に転送する。
9でイエス)、ホストアダプタ2は、全てのブロックデ
ータの転送が完了したことになるので、そのときに生成
されているセクタデータ全体のCRCコードがオール0
であるかどうかを判定し(ステップS110)、オール
0であればセクタデータが正常に転送されたものとして
ホストデバイス1に報告する(ステップS111)。セ
クタデータ全体のCRCコードがオール0でなければ、
ホストアダプタ2は、CRCエラーとしてホストデバイ
ス1に異常転送を報告する(ステップS112)。
データ転送元となるホストデバイス1が、末端のメモリ
デバイス5にセクタデータが正常に転送されたかどうか
を把握することが可能となるため、データ転送の途中経
路においてデータが化ける事象を確実に検出でき、デー
タの保全性がより高まる。
ードを付加して転送するようなデータ転送システムでは
ないため、システムバス3の転送レートを一切落とさず
に導入できる。
プライとして返却する経路部分以外は従来のデータ転送
システムと同じであるため、データ保全性を高めるため
に本発明を適用しても、大幅な回路変更の必要がなく、
容易に導入することが可能である。
回路22およびCRCコードチェック回路23がホスト
アダプタ2に存在しているため、複数のホストデバイス
1が存在する構成になったとしても、メモリアダプタ4
側のハードウェアを増やすことなく、回路が複雑になる
ことを防ぐことができる。
アダプタ4においては、その内部にブロックCRCコー
ド生成回路42が1個あればよいだけの構成となってい
ることにより、ホストデバイス1が多重チャネルのデー
タ転送を行っても、ホストデバイス1およびホストアダ
プタ2が複数存在していても、メモリアダプタ4の回路
規模および構造を変更する必要がないため、メモリアダ
プタ4の回路規模が小さくできるという利点がある。
ステムの構成を示す回路ブロック図である。本実施の形
態に係るデータ転送システムは、ホストデバイス1−0
〜1−pと、ホストアダプタ2−0〜2−pと、リクエ
ストバス31と、リプライバス32と、メモリアダプタ
4−0〜4−qと、メモリデバイス5−0〜5−qとか
ら、その主要部が構成されている。
バッファ21−0〜21−pと、ブロックCRCコード
→CRCコード変換回路22−0〜22−pと、CRC
コードチェック回路23−0〜23−pとを含んで構成
されている。
バッファ41−0〜41−qと、ブロックCRCコード
生成回路42−0〜42−qとを含んで構成されてい
る。
係るデータ転送システムにおいても、図1に示した第1
の実施の形態に係るデータ転送システムとほぼ同様の動
作になるが、メモリデバイス5−0〜5−qが複数存在
していても、そのデータ転送の正当性をチェックする回
路はデータ転送元であるホストアダプタ2−0〜2−p
にあるため、メモリデバイス5−0〜5−qに分散して
データを転送することが可能となる。
ステムの構成を示す回路ブロック図である。本実施の形
態に係るデータ転送システムは、ホストデバイス1とメ
モリデバイス5との通信において、中継用のデバイスと
してクロスバー回路6が接続されているものである。詳
しくは、本実施の形態に係るデータ転送システムは、ホ
ストデバイス1−0,1−1と、ホストアダプタ2−
0,2−1と、クロスバー回路6−0,6−1と、メモ
リアダプタ4−0〜4−3と、メモリデバイス5−0〜
5−3とから、その主要部が構成されている。
バッファ21−0,21−1と、ブロックCRCコード
→CRCコード変換回路22−0,22−1と、CRC
コードチェック回路23−0,23−1と、バスインタ
フェース24−0,24−1と、ホスト制御回路25−
0,25−1と含んで構成されている。
ンタフェース61−0,61−1と、データバッファ6
2−0〜64−0,62−1〜64−1と、バスインタ
フェース65−0,65−1とを含んで構成されてい
る。
バッファ41−0〜41−3と、ブロックCRCコード
生成回路42−0〜42−3と、バスインタフェース4
3−0〜43−3とを含んで構成されている。
ムは、任意のホストデバイス1がすべてのメモリデバイ
ス5をアクセスできるように構成されているものであ
り、ホストアダプタ2およびメモリアダプタ4は、図1
および図3に示した第1および第2の実施の形態に係る
データ転送システムの構成とあまり変わりがなく、バス
インターフェース24およびバスインターフェース43
が備わっている点が異なるくらいである。
係るデータ転送システムでは、ホストアダプタ2がメモ
リデバイス5に対するブロックデータを分散して格納し
てもデータ転送元であるホストアダプタ2内部のCRC
コードチェック回路23でCRCコードの一致チェック
行うため、メモリデバイス5に分散してブロックデータ
を保存することが可能となり、メモリデバイス5のスト
ライピング動作による高速なデータ転送を行える効果が
ある。
クは、すべてホストアダプタ2で行われ、かつメモリデ
バイス5にメモリライトされたブロックデータを使用し
ているため、クロスバー回路6等のデータ転送を中継す
るハードウェアにデータチェック機能が備わらなくて
も、ハードウェア故障や動作ノイズによるデータ化けな
どの発生も即座にチェックできるという利点がある。
データ転送システムに基づく実施例として、ブロックC
RCコード生成回路42によるブロックCRCコードの
生成,およびブロックCRC→CRC変換回路22によ
るCRCコードの復元の動作を、具体的に詳しく説明す
る。
ホストアダプタ2への転送データは、システムバス3の
プロトコルに従った転送命令を示す命令コード,転送す
るチャネルの種類を示すチャネル番号,セクタデータの
長さを示すデータ長,およびメモリアドレスからなる8
バイトのヘッダと、8バイトのトレーラを含む512バ
イトのセクタデータとから構成されている。なお、トレ
ーラは、1バイトのCRCコードと、7バイトのオール
0とからなる。ホストデバイス1がセクタデータの転送
を行うにあたっては、セクタデータを転送するためのチ
ャネルや、セクタデータのディレクトリ情報,ファイル
名等を転送するためのチャネル、RAID(Redun
dant Arrays of Inexpensiv
e Disks)特有のパリティを生成するためのチャ
ネルなどと、多種なデータ転送を行う必要があり、これ
らは予めアドレス空間を定義しているホストデバイス1
が指定し、ヘッダの一部としてチャネル番号が埋め込ま
れている。
メモリアダプタ4への転送データは、システムバス3の
プロトコルに従った転送命令を示す命令コード,転送す
るチャネルの種類を示すチャネル番号,転送しているブ
ロックデータの番号を示すブロック番号,ブロックデー
タの長さを示すデータ長,およびメモリアドレスからな
る8バイトのヘッダと、16バイトのブロックデータと
から構成されている。ブロック番号は、そのチャネルが
転送するデータ長を16バイト単位に区切ったブロック
データに対して、データ転送を開始したときに初期値と
なる0を設定し、16バイト単位に+1ずつインクリメ
ントされていく番号である。
メモリデバイス5にメモリライトされるブロックデータ
は、ロウ(ROW)/カラム(COLUMN)アドレス
である12ビットのヘッダと、16バイトのブロックデ
ータとから構成されている。
ホストアダプタ2に返却される8バイトのライトリプラ
イは、システムバス3のプロトコルに従った転送命令を
示す命令コード,転送するチャネルの種類を示すチャネ
ル番号,転送しているブロックデータの番号を示すブロ
ック番号,ブロックデータの長さを示すデータ長,およ
び転送結果のステータス情報である結果ステータスから
構成されている。なお、結果ステータスの末尾に、1バ
イトのブロックCRCコードが格納される。
動作原理を説明する図である。
成および計算順序変更後のCRC演算回路の単位構成を
例示する回路ブロック図である。
算回路の単位構成を例示する回路ブロック図である。
算回路の全体構成を例示する回路ブロック図である。
ト)で表されることから、有限体GF(28)上の原始
多項式G(x)=x8+x5+x4+x3+1を考え
(今井秀樹著,「エレクトロニクス エッセンシャルズ
No.20 誤り訂正符号化技術の要点」,日本工業技
術センター発行,p164〜169参照)、その根(原
始元)をαとすると、有限体GF(28)上の任意の数
は、たとえば、下式のような8ビットのベクトルで表さ
れる。なお、以下、全角の大文字はベクトル,行列等を
表し、半角の小文字はベクトル,行列等の要素を表すも
のとする。
8)上の数に対する演算は、8×8の行列によるベクト
ル演算で実現される。原始多項式G(x)を生成多項式
とする巡回符号を得るには、原始多項式G(x)による
同伴行列Tを変換行列として用いればよい。
は、以下のように行われる。
るレジスタのベクトル表示、Ri(ri(0),,,,ri(7))をi
番目のデータDi(di(0),,,,di(7))を読み込んだ際のC
RCコードの値とする。
(0),,,,di(7))}
ようになる。
あるので、実際の論理演算では排他的論理和になり、式
2が得られる。以下、排他的論理和を表す演算子を、@
とする。
になったときのCRC演算結果であり、その結果とデー
タDi(di(0),,,,di(7))を同伴行列Tによる演算で、演
算結果である次の段のCRCコードを求めるというもの
である。
r0(7))とD0(d0(0),,,,d0(7))との2バイトのデータ列
から、R1(r1(0),,,,r1(7))の1バイトのCRCコード
を生成するものであるが、16バイト分のデータ列を生
成するR16(r16(0),,,,r16(7))を求めれば、16バイ
トを1ブロックデータとしたときのブロックCRCコー
ドが求まる。
けであり、式3が求められる。
ては、式4となり、R14(r14(0),,,,r14(7))〜R2(r
2(0),,,,r2(7))まで展開することになる。
(0),,,,r1(7))の計算式については、その前段の演算結
果がR0(r0(0),,,,r0(7))として存在することになる
が、ここでR0(r0(0),,,,r0(7))に対して初期値Z(z
(0),,,,,z(7))として定義し直すと、式5として表され
ることになり、16バイト分のブロックCRCコードで
あるR16(r16(0),,,,r16(7))については、データD0
(d0(0),,,,d0(7))〜D15(d15(0),,,,d15(7))と、その
計算を行うときの初期値Z(z(0),,,,,z(7))から計算さ
れる式となる。
クCRCコードR16(r16(0),,,,r16(7))は、初期値が
Z(z(0),,,,,z(7))であるときのデータD0(d0(0),,,,d
0(7))〜D15(d15(0),,,,d15(7))に行ったCRC演算
結果を求めるものである。
た条件を設定し、初期値がZ(z(0),,,,,z(7))という演
算結果をもつR16(r16(0),,,,r16(7))と、初期値が
“00”である演算結果をもつR'16(r'16(0),,,,r'1
6(7))との双方を求めて、R'16(r'16(0),,,,r'16(7))
とR16(r16(0),,,,r16(7))との差分をΔR16(Δr16
(0),,,,Δr16(7))と定義できれば、R'16(r'16
(0),,,,r'16(7))とΔR16(Δr16(0),,,,Δr16(7))と
からR16(r16(0),,,,r16(7))を生成できることにな
る。
おいて、初期値が“00”であることから、式6で求め
られる。
ついては、式7となり、R'14(r'14(0),,,,r'14(7))
〜R'2(r'2(0),,,,r'2(7))まで展開することになる。
(0),,,,r'1(7))の計算式については、その前段の演算結
果がR0(r1(0),,,,r1(7))として存在することになる
が、ここでR0(r1(0),,,,r1(7))に対して初期値“0
0”が入るため、式8となる。
6(0),,,,Δr16(7))@R'16(r'16(0),,,,r'16(7))と定
義して、R16(r16(0),,,,r16(7))とR'16(r'16
(0),,,,r'16(7))との差分ΔR16(Δr16(0),,,,Δr16
(7))を求めると、ΔR16(Δr16(0),,,,Δr16(7))=R
16(r16(0),,,,r16(7))@R'16(r'16(0),,,,r'16(7))
という式で求めることになる。
di(7))は同じデータを転送しているため、式3であるR
16(r16(0),,,,r16(7))と、式4であるR'16(r'16
(0),,,,r'16(7))との差としては、R1(r1(0),,,,r1
(7))とR'1(r'1(0),,,,r'1(7))との差でしかない。
(0),,,,Δr1(7))においては、式9が求まる。
(7) Δr1(1) = r1(1)@r'1(1) = {d(0)@z(0)} @{d(0) } = z
(0) Δr1(2) = r1(2)@r'1(2) = {d(1)@z(1)@d(7)@z(7)}@{d
(1)@d(7)} = z(1)@z(7) Δr1(3) = r1(3)@r'1(3) = {d(2)@z(2)@d(7)@z(7)}@{d
(2)@d(7)} = z(2)@z(7) Δr1(4) = r1(4)@r'1(4) = {d(3)@z(3)@d(7)@z(7)}@{d
(3)@d(7)} = z(3)@z(7) Δr1(5) = r1(5)@r'1(5) = {d(4)@z(4) } @{d(4) } = z
(4) Δr1(6) = r1(6)@r'1(6) = {d(5)@z(5) } @{d(5) } = z
(5) Δr1(7) = r1(7)@r'1(7) = {d(6)@z(6) } @{d(6) } = z
(6)
式9は、式3におけるR1(r1(0),,,,r1(7))において、
データD0(d0(0),,,,d0(7))が“00”である式に等し
い。
を求める場合にも、式3においてデータD0(d0(0),,,,
d0(7))〜D15(d15(0),,,,d15(7))をすべて“00”と
した場合を求めることで、ΔR16(Δr16(0),,,,Δr16
(7))が求まることになるため、データを“00”とした
場合の式3を当てはめて、順次ΔR2(Δr2(0),,,,Δr2
(7))〜ΔR16(Δr16(0),,,,Δr16(7))まで求めてみ
る。
式9で示されているため、式11となる。
式11で示されているため、式13となる。
式13で示されているため、式15となる。
式15で示されているため、式17となる。
式17で示されているため、式19となる。
式19で示されているため、式21となる。
z(6)@z(5) Δr7(5) = z(6)@z(4)@z(3)@z(7)@z(2)@z(7)@z(6) Δr7(6) = z(7)@z(5)@z(4)@z(3)@z(7) Δr7(7) = z(0)@z(6)@z(5)@z(4)
1で示されているため、式23、さらには式24とな
る。
z(5)@z(4) Δr8(4) = z(4)@z(2)@z(7)@z(6)@z(1)@z(7)@z(6)@z(5)@
z(0)@z(6)@z(5)@z(4) Δr8(5) = z(5)@z(3)@z(7)@z(2)@z(7)@z(6)@z(1)@z(7)@
z(6)@z(5) Δr8(6) = z(6)@z(4)@z(3)@z(7)@z(2)@z(7)@z(6) Δr8(7) = z(7)@z(5)@z(4)@z(3)@z(7)
(6) Δr8(1) = z(1)@z(7)@z(6)@z(5) = z(1)@z(5)@z(6)@z
(7) Δr8(2) = z(2)@z(7)@z(0)@z(6)@z(5)@z(4) = z(0)@z
(2)@z(4)@z(5)@z(7) Δr8(3) = z(3)@z(1)@z(0)@z(4) = z(0)@z(1)@z(3)@z
(4) Δr8(4) = z(2)@z(1)@z(0)@z(6) = z(0)@z(1)@z(2)@z
(6) Δr8(5) = z(3)@z(2)@z(1)@z(7) = z(1)@z(2)@z(3)@z
(7) Δr8(6) = z(4)@z(3)@z(2) = z(2)@z(3)@z(4) Δr8(7) = z(5)@z(4)@z(3) = z(3)@z(4)@z(5)
式24で示されているため、式26となる。
式26で示されているため、式28、さらには式29と
なる。
@z(3)@z(4) Δr10(4) = z(0)@z(2)@z(4)@z(5)@z(7)@z(3)@z(4)@z(5)
@z(2)@z(3)@z(4) Δr10(5) = z(0)@z(1)@z(3)@z(4)@z(3)@z(4)@z(5) Δr10(6) = z(0)@z(1)@z(2)@z(6) Δr10(7) = z(1)@z(2)@z(3)@z(7)
は、式29で示されているため、式31となる。
@z(7) Δr11(4) = z(1)@z(2)@z(6)@z(7)@z(1)@z(2)@z(3)@z(7) Δr11(5) = z(0)@z(4)@z(7) Δr11(6) = z(0)@z(1)@z(5) Δr11(7) = z(0)@z(1)@z(2)@z(6)
は、式31で示されているため、式33、さらには式3
4となる。
@z(1)@z(2)@z(6) Δr12(4) = z(0)@z(2)@z(3)@z(5)@z(6)@z(1)@z(2)@z(3)
@z(7)@z(0)@z(1)@z(2)@z(6) Δr12(5) = z(1)@z(2)@z(6)@z(7) @z(1)@z(2)@z(3)@z
(7) Δr12(6) = z(0)@z(4)@z(7) Δr12(7) = z(0)@z(1)@z(5)
は、式34で示されているため、式36となる。
は、式36で示されているため、式38、さらには式3
9となる。
(0)@z(4)@z(7) Δr14(4) = z(0)@z(1)@z(3)@z(4)@z(6)@z(0)@z(1)@z(5)
@z(0)@z(4)@z(7) Δr14(5) = z(0)@z(4)@z(5)@z(6)@z(7)@z(0)@z(1)@z(5) Δr14(6) = z(2)@z(5)@z(7) Δr14(7) = z(3)@z(6)
は、式39で示されているため、式41となる。
は、式41で示されているため、式43、さらには式4
4となる。
@z(5)@z(7) Δr16(5) = z(2)@z(3)@z(4)@z(5)@z(3)@z(6) Δr16(6) = z(0)@z(3)@z(5)@z(6)@z(7) Δr16(7) = z(1)@z(4)@z(6)@z(7)
(0),,,,Δr16(7))が求まり、R16(r16(0),,,,r16(7))
=R'16(r'16(0),,,,r'16(7))@ΔR16(Δr16
(0),,,,Δr16(7))の式を生成することが可能となる。
は、初期値Z(z(0),,,,z(7))を“00”とした16バイ
ト分のブロックデータを転送したブロックCRCコード
であり、式6で示され、ΔR16(Δr16(0),,,,Δr16
(7))は、初期値をZ(z(0),,,,z(7))とした場合の16バ
イト分のブロックデータの転送を行ったときのZ(z
(0),,,,z(7))の変位量であり、式44で示される。
る。
16(r'16(0),,,,r'16(7))@ΔR16(Δr16(0),,,,Δr1
6(7))の式を、「BCRC演算」として定義すると、図
11のようにすることができる。
めるブロックCRC演算式は、式45となる。
(7) r16(4) = r'16(4)@z(1)@z(3)@z(4)@z(7) r16(5) = r'16(5)@z(2)@z(4)@z(5)@z(6) r16(6) = r'16(6)@z(0)@z(3)@z(5)@z(6)@z(7) r16(7) = r'16(7)@z(1)@z(4)@z(6)@z(7)
位ごとに連結を行うことで、最終的なCRC演算結果を
求める回路を構成するこができ、これは図12のような
回路となる。
(0),,,,r512(7))は、データD0(d0(0),,,,d0(7))〜D
512(d512(0),,,,d512(7))までを転送したときのCR
C演算結果であり、それに対して、セクタデータに含ま
れるCRCコードをデータD513(d513(0),,,,d513
(7))として入力させることにより、R513(r513
(0),,,,r513(7))が“00”であれば正しい転送が行わ
れたことを示すことになる。
(7))とR'513(r'513(0),,,,r'513(7))とからR51
3(r513(0),,,,r513(7))を生成する「BCRC演算」に
おいては、転送するデータがD513(d513(0),,,,d513
(7))だけの1バイトであり、16バイトを転送したとき
の式22の「BCRC演算」とは異なるため、1バイト
の転送時の演算が必要である。これについては、すでに
式9で定義されている変位量となるため、式46が使わ
れることになる。
等で使われる例を挙げ、ホストデバイス1からのセクタ
データとCRCコードとを併せて520バイトであると
し、メモリデバイス5は1ブロックデータ(16バイト
単位)のアクセス、ブロックCRCコードを生成すると
きのCRCコードの初期値Z(z(0),,,,z(7))を“00”
としているが、本発明ではこれらは任意の値であり、特
に本発明の適用範囲の限定するものではない。
イスが、末端のメモリデバイスにデータがどのように転
送されたかを把握することが可能となるため、データ転
送の途中経路においてデータが化ける事象を確実に検出
でき、データの保全性がより高まることである。
理がデータ転送元であるホストアダプタ側に存在してい
るため、複数のホストデバイスが存在する構成になった
としても、メモリアダプタ側のハードウェアを増やすこ
となく、回路が複雑になることが防げることである。
CRCコードを付加してデータ転送するようなデータ転
送システムではないため、バスの転送レートを一切落と
さずに導入でき、ブロックCRCコードを返却される回
路部分以外は、従来のデータ転送システムの回路と同じ
であるため、データの保全性を高めるために本発明を適
用しても、大幅な回路変更の必要がなく、容易に導入す
ることが可能となることである。
ステムの構成を示す回路ブロック図である。
処理を示すフローチャートである。
ステムの構成を示す回路ブロック図である。
ステムの構成を示す回路ブロック図である。
タの構造例を示す図である。
タの構造例を示す図である。
タの構造例を示す図である。
タの構造例を示す図である。
する図である。
順序変更後のCRC演算回路の単位構成を例示する回路
ブロック図である。
構成を例示する回路ブロック図である。
構成を例示する回路ブロック図である。
Claims (16)
- 【請求項1】ホストデバイスから書込み要求されたセク
タデータをデブロッキングして複数のブロックデータと
してライトリクエストするホストアダプタと、前記ライ
トリクエストされたブロックデータをメモリデバイスに
メモリライトするメモリアダプタとを備えるデータ転送
システムにおいて、前記ホストアダプタからライトリク
エストされたブロックデータを前記メモリデバイスにメ
モリライトした際に該ブロックデータから、ある定まっ
たコードを生成しライトリプライとして前記ホストアダ
プタに返却する前記メモリアダプタと、前記メモリアダ
プタからライトリプライとして返却された前記ある定ま
ったコードからセクタデータ全体のCRCコードを復元
して元のセクタデータのCRCコードとチェックし前記
ホストデバイスにエラーの有無を報告する前記ホストア
ダプタとを有することを特徴とするデータ転送システ
ム。 - 【請求項2】前記ある定まったコードが、ある初期値を
持った状態で前記ブロックデータに対して部分的に演算
されるブロックCRCコードであることを特徴とする請
求項1記載のデータ転送システム。 - 【請求項3】前記ブロックCRCコードを生成するとき
に、前記初期値をゼロとしたことを特徴とする請求項2
記載のデータ転送システム。 - 【請求項4】前記ホストアダプタと前記メモリアダプタ
との間にデータ転送を中継するクロスバー回路を備える
ことを特徴とする請求項1ないし請求項3のいずれかに
記載のデータ転送システム。 - 【請求項5】ホストデバイスから書込み要求されたセク
タデータをデブロッキングして複数のブロックデータと
してライトリクエストするホストアダプタと、前記ライ
トリクエストされたブロックデータをメモリデバイスに
メモリライトするメモリアダプタと、前記ホストアダプ
タ,前記メモリアダプタ間を接続するバスとを備えるデ
ータ転送システムにおいて、前記ホストアダプタから前
記バスを介してライトリクエストされたブロックデータ
を前記メモリデバイスにメモリライトした際に該ブロッ
クデータに対するブロックCRCコードを生成しライト
リプライとして前記バスを介して前記ホストアダプタに
返却する前記メモリアダプタと、前記ホストアダプタか
ら前記バスを介してライトリプライとして返却されたブ
ロックCRCコードからセクタデータ全体のCRCコー
ドを復元して元のセクタデータのCRCコードとチェッ
クし、エラーの有無を前記ホストデバイスに報告する前
記ホストアダプタとを有することを特徴とするデータ転
送システム。 - 【請求項6】ホストデバイスから書込み要求されたセク
タデータをデブロッキングして複数のブロックデータと
してライトリクエストする複数のホストアダプタと、前
記ライトリクエストされたブロックデータを複数のメモ
リデバイスにメモリライトする複数のメモリアダプタ
と、前記ホストアダプタ,前記メモリアダプタ間を接続
するバスとを備えるデータ転送システムにおいて、前記
ホストアダプタから前記バスを介してライトリクエスト
されたブロックデータを前記メモリデバイスにメモリラ
イトした際に該ブロックデータに対するブロックCRC
コードを生成しライトリプライとして前記バスを介して
前記ホストアダプタに返却する前記メモリアダプタと、
前記ホストアダプタから前記バスを介してライトリプラ
イとして返却されたブロックCRCコードからセクタデ
ータ全体のCRCコードを復元して元のセクタデータの
CRCコードとチェックし、エラーの有無を前記ホスト
デバイスに報告する前記ホストアダプタとを有すること
を特徴とするデータ転送システム。 - 【請求項7】前記ホストアダプタが、前記セクタデータ
をバッファリングするデータバッファと、前記ライトリ
プライとして返却されたブロックCRCコードからセク
タデータ全体のCRCコードを復元するブロックCRC
コード→CRCコード変換回路と、前記ブロックCRC
コード→CRCコード変換回路により復元されたCRC
コードを元のセクタデータのCRCコードとチェックす
るCRCコードチェック回路とを含むことを特徴とする
請求項5または請求項6記載のデータ転送システム。 - 【請求項8】前記CRCコードチェック回路がチャネル
対応に複数設けられており、チャネル番号によりデータ
転送元のチャネルを特定して、該チャネルに対応するC
RCコードチェック回路を使用して復元されたCRCコ
ードのチェックを行うことを特徴とする請求項7記載の
データ転送システム。 - 【請求項9】前記メモリアダプタが、前記ホストアダプ
タからライトリクエストされたブロックデータをバッフ
ァリングするデータバッファと、前記データバッファか
ら前記メモリデバイスにメモリライトされたブロックデ
ータに対してブロックCRCコードを生成するブロック
CRCコード生成回路とを含むことを特徴とする請求項
5または請求項6記載のデータ転送システム。 - 【請求項10】前記ブロックCRCコード生成回路が、
前記ブロックCRCコードを生成するときに初期値をゼ
ロとすることを特徴とする請求項9記載のデータ転送シ
ステム。 - 【請求項11】ホストデバイスから書込み要求されたセ
クタデータをデブロッキングして複数のブロックデータ
としてライトリクエストするホストアダプタと、前記ラ
イトリクエストされたブロックデータをメモリデバイス
にメモリライトするメモリアダプタと、前記ホストアダ
プタ,前記メモリアダプタ間を接続するクロスバー回路
とを備えるデータ転送システムにおいて、前記ホストア
ダプタから前記クロスバー回路を介してライトリクエス
トされたブロックデータを前記メモリデバイスにメモリ
ライトした際に該ブロックデータからブロックCRCコ
ードを生成しライトリプライとして前記クロスバー回路
を介して前記ホストアダプタに返却する前記メモリアダ
プタと、前記メモリアダプタから前記クロスバー回路を
介してライトリプライとして返却された前記ブロックC
RCコードからセクタデータ全体のCRCコードを復元
し元のセクタデータのCRCコードとチェックして前記
ホストデバイスにエラーの有無を報告する前記ホストア
ダプタとを有することを特徴とするデータ転送システ
ム。 - 【請求項12】前記ホストアダプタが、前記セクタデー
タをバッファリングするデータバッファと、前記ホスト
アダプタからライトリプライとして返却されたブロック
CRCコードからセクタデータ全体のCRCコードを復
元するブロックCRCコード→CRCコード変換回路
と、前記ブロックCRCコード→CRCコード変換回路
により復元されたCRCコードを元のセクタデータのC
RCコードとチェックするCRCコードチェック回路
と、前記ホストデバイスを制御するホスト制御回路と、
前記クロスバー回路とのインタフェースを制御するバス
インタフェースとを含むことを特徴とする請求項11記
載のデータ転送システム。 - 【請求項13】前記CRCコードチェック回路がチャネ
ル対応に複数設けられており、チャネル番号によりデー
タ転送元のチャネルを特定して、該チャネルに対応する
CRCコードチェック回路を使用して復元されたCRC
コードのチェックを行うことを特徴とする請求項12記
載のデータ転送システム。 - 【請求項14】前記メモリアダプタが、前記ホストアダ
プタからライトリクエストされたブロックデータをバッ
ファリングするデータバッファと、前記データバッファ
から前記メモリデバイスにメモリライトされたブロック
データに対してブロックCRCコードを生成するブロッ
クCRCコード生成回路と、前記クロスバー回路とのイ
ンタフェースを制御するバスインタフェースとを含むこ
とを特徴とする請求項11記載のデータ転送システム。 - 【請求項15】前記ブロックCRCコード生成回路が、
前記ブロックCRCコードを生成するときに初期値をゼ
ロとすることを特徴とする請求項14記載のデータ転送
システム。 - 【請求項16】前記クロスバー回路が、前記ホストアダ
プタとのインタフェースを制御する第1のバスインタフ
ェースと、前記メモリアダプタとのインタフェースを制
御する第2のバスインタフェースと、前記第1のバスイ
ンタフェース,前記第2のバスインタフェース間に設け
られた複数のデータバッファとを含むことを特徴とする
請求項11記載のデータ転送システム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001163279A JP2002351689A (ja) | 2001-05-30 | 2001-05-30 | データ転送システム |
| US10/136,401 US20020188907A1 (en) | 2001-05-30 | 2002-05-02 | Data transfer system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001163279A JP2002351689A (ja) | 2001-05-30 | 2001-05-30 | データ転送システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002351689A true JP2002351689A (ja) | 2002-12-06 |
Family
ID=19006282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001163279A Pending JP2002351689A (ja) | 2001-05-30 | 2001-05-30 | データ転送システム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20020188907A1 (ja) |
| JP (1) | JP2002351689A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014523034A (ja) * | 2011-07-01 | 2014-09-08 | インテル・コーポレーション | ランク別巡回冗長検査 |
| JP2015146554A (ja) * | 2014-02-04 | 2015-08-13 | 富士通株式会社 | 情報処理装置、情報処理システム及び障害検出方法 |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6760772B2 (en) | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
| KR101166734B1 (ko) | 2003-06-02 | 2012-07-19 | 퀄컴 인코포레이티드 | 고속 데이터 레이트를 위한 신호 프로토콜 및 인터페이스의 생성 및 구현 |
| JP2007507918A (ja) | 2003-08-13 | 2007-03-29 | クゥアルコム・インコーポレイテッド | さらに高速なデータレート用の信号インタフェース |
| EP1665730B1 (en) | 2003-09-10 | 2009-03-04 | Qualcomm Incorporated | High data rate interface |
| CN1894931A (zh) | 2003-10-15 | 2007-01-10 | 高通股份有限公司 | 高数据速率接口 |
| TWI401601B (zh) | 2003-10-29 | 2013-07-11 | Qualcomm Inc | 用於一行動顯示數位介面系統之方法及系統及電腦程式產品 |
| RU2341906C2 (ru) | 2003-11-12 | 2008-12-20 | Квэлкомм Инкорпорейтед | Интерфейс высокоскоростной передачи данных с улучшенным управлением соединением |
| CA2546971A1 (en) | 2003-11-25 | 2005-06-09 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
| EP2247072B1 (en) | 2003-12-08 | 2013-09-25 | QUALCOMM Incorporated | High data rate interface with improved link synchronization |
| JP2007528681A (ja) | 2004-03-10 | 2007-10-11 | クゥアルコム・インコーポレイテッド | 高データレートインタフェース装置及び方法 |
| KR20060130749A (ko) | 2004-03-17 | 2006-12-19 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
| CA2560744C (en) | 2004-03-24 | 2012-12-04 | Qualcomm Incorporated | High data rate interface apparatus and method |
| CN102316052A (zh) | 2004-06-04 | 2012-01-11 | 高通股份有限公司 | 高数据速率接口设备和方法 |
| US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
| US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US8723705B2 (en) | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
| US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
| US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
| US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
| JP2007004720A (ja) * | 2005-06-27 | 2007-01-11 | Fujitsu Ltd | ストレージ装置およびストレージ装置のデータ転送方法 |
| US7996731B2 (en) | 2005-11-02 | 2011-08-09 | Advanced Micro Devices, Inc. | Error detection in high-speed asymmetric interfaces |
| US8892963B2 (en) * | 2005-11-10 | 2014-11-18 | Advanced Micro Devices, Inc. | Error detection in high-speed asymmetric interfaces utilizing dedicated interface lines |
| JP2007164765A (ja) * | 2005-11-15 | 2007-06-28 | Matsushita Electric Ind Co Ltd | Iicバス通信システム、スレーブ装置およびiicバス通信制御方法 |
| US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
| US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| JP2010009383A (ja) * | 2008-06-27 | 2010-01-14 | Fujitsu Ltd | メモリ装置、および情報処理システム |
| GB2528265B (en) | 2014-07-15 | 2021-03-10 | Advanced Risc Mach Ltd | Method of and apparatus for generating an output frame |
| US9299387B2 (en) * | 2014-07-25 | 2016-03-29 | Kabushiki Kaisha Toshiba | Magnetic disk apparatus, controller and data processing method |
| GB2540562B (en) * | 2015-07-21 | 2019-09-04 | Advanced Risc Mach Ltd | Method of and apparatus for generating a signature representative of the content of an array of data |
| US20170317691A1 (en) * | 2016-04-29 | 2017-11-02 | International Business Machines Corporation | Hardware-assisted protection for synchronous input/output |
| CN116225774B (zh) * | 2023-04-27 | 2023-08-15 | 云和恩墨(北京)信息技术有限公司 | 数据实时校验方法、装置、电子设备及存储介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
| US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
| JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
| US5418925A (en) * | 1992-10-23 | 1995-05-23 | At&T Global Information Solutions Company | Fast write I/O handling in a disk array using spare drive for buffering |
| JP3999822B2 (ja) * | 1993-12-28 | 2007-10-31 | 株式会社東芝 | 記憶システム |
| US6012839A (en) * | 1995-06-30 | 2000-01-11 | Quantum Corporation | Method and apparatus to protect data within a disk drive buffer |
-
2001
- 2001-05-30 JP JP2001163279A patent/JP2002351689A/ja active Pending
-
2002
- 2002-05-02 US US10/136,401 patent/US20020188907A1/en not_active Abandoned
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014523034A (ja) * | 2011-07-01 | 2014-09-08 | インテル・コーポレーション | ランク別巡回冗長検査 |
| KR101570622B1 (ko) | 2011-07-01 | 2015-11-19 | 인텔 코포레이션 | 랭크-특정 순환 중복 검사 |
| JP2015146554A (ja) * | 2014-02-04 | 2015-08-13 | 富士通株式会社 | 情報処理装置、情報処理システム及び障害検出方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20020188907A1 (en) | 2002-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2002351689A (ja) | データ転送システム | |
| US9015553B2 (en) | Data integrity in memory controllers and methods | |
| EP0489204B1 (en) | Reprogrammable data storage device | |
| US8156282B1 (en) | System and method for optimizing write operations in storage systems | |
| JP3904237B2 (ja) | 論理ブロックアドレスを備えたデータインテグリティおよびクロスチェックコード | |
| JP3204276B2 (ja) | ディスクアレーコントローラ | |
| JP2512666B2 (ja) | 誤り検査/訂正機能を有するコンピュ―タ・システム | |
| US20030221155A1 (en) | Error detection using data block mapping | |
| US9652408B2 (en) | System and method for providing data integrity | |
| US20030084397A1 (en) | Apparatus and method for a distributed raid | |
| CN101149709B (zh) | 存储卡的加密处理器和使用其进行数据读写的方法 | |
| US20120166909A1 (en) | Method and apparatus for increasing data reliability for raid operations | |
| JP3407276B2 (ja) | データ圧縮システム | |
| US5630054A (en) | Method and apparatus for storing and retrieving error check information | |
| CN101473308A (zh) | 非易失性存储器纠错系统和方法 | |
| JP4391170B2 (ja) | データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置 | |
| JPH02135534A (ja) | 誤りプロセッサ | |
| CN114117484B (zh) | 提高主机缓存数据安全的装置和缓存数据读取和写入方法及装置 | |
| JP2004260806A (ja) | 境界ワード格納機構を用いた読み取り−修正−書き込み動作を回避する方法及びシステム | |
| WO2019168880A1 (en) | Method and apparatus for data encoding and decoding using a standardized data storage and retrieval protocol | |
| US7797612B2 (en) | Storage accelerator | |
| US20080222500A1 (en) | Data relay apparatus, data relay method and data relay integrated circuit | |
| US6742146B2 (en) | Techniques for providing data within a data storage system | |
| US8489976B2 (en) | Storage controlling device and storage controlling method | |
| US5838892A (en) | Method and apparatus for calculating an error detecting code block in a disk drive controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050128 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051117 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060120 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060123 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060823 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070207 |