JP6565506B2 - 受信装置、受信制御方法および受信制御プログラム - Google Patents

受信装置、受信制御方法および受信制御プログラム Download PDF

Info

Publication number
JP6565506B2
JP6565506B2 JP2015175462A JP2015175462A JP6565506B2 JP 6565506 B2 JP6565506 B2 JP 6565506B2 JP 2015175462 A JP2015175462 A JP 2015175462A JP 2015175462 A JP2015175462 A JP 2015175462A JP 6565506 B2 JP6565506 B2 JP 6565506B2
Authority
JP
Japan
Prior art keywords
data
abnormal
data block
frame
reception control
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.)
Active
Application number
JP2015175462A
Other languages
English (en)
Other versions
JP2017055153A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015175462A priority Critical patent/JP6565506B2/ja
Priority to US15/235,527 priority patent/US10014983B2/en
Publication of JP2017055153A publication Critical patent/JP2017055153A/ja
Application granted granted Critical
Publication of JP6565506B2 publication Critical patent/JP6565506B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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
    • G06F11/1004Adding 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
    • 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/0061Error detection 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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は受信装置、受信制御方法および受信制御プログラムに関する。
複数の装置間で送受信されるデータに誤りがあるかを検出するための技術が知られている。例えば、パリティビットやCRC(Cyclic Redundancy Check)などのチェック符号を用いることで、データに誤りがあるか否かを検出できる。
また、誤り検出に関する次のような技術が提案されている。例えば、ホストからHDD(Hard Disk Drive)に転送されるデータにCRCが付加され、HDDが、転送されたデータのエラーを、CRCを用いて検出する技術が提案されている。また、ディスク装置が、ディスクアレイ装置から転送されたデータを基に生成したチェックコードと当該転送されたデータに付随するチェックコードとを比較する技術が提案されている。
また、送信されたパケットを消失した場合、消失したパケットのみを再送信する技術が提案されている。
特開平11−45157号公報 特開2000−105675号公報 特表2005−529523号公報
ところで、データがパケット単位で送信される際には、パケット内のデータ領域に、当該データ領域のデータに基づくチェック符号が付加されることが多い。このような場合、受信装置は、チェック符号を用いてデータ領域のデータに異常がないかをチェックし、異常がある場合には、データ領域のデータの再送を送信装置に要求することができる。
しかし、チェック符号に基づいてデータ領域のデータに異常があると判定された場合でも、データ領域のデータ全体に異常があるとは限らず、そのデータの一部は正常であることもあり得る。このため、パケット単位でデータの再送を要求した場合には、データ領域のデータのうち、異常がある部分だけでなく正常な部分も再送されてしまい、その分だけ再送時間が長くなる。その結果、受信すべきデータ全体の受信が完了するまでの時間が長くなるという問題がある。
1つの側面では、本発明は、データの受信時間を短縮可能な受信装置、受信制御方法および受信制御プログラムを提供することを目的とする。
1つの態様では、送信装置からのデータを受信する受信装置が提供される。この受信装置は判定部と再送要求部とを有する。判定部は、複数のデータブロックと複数のデータブロックのそれぞれに基づいて算出された複数の第1チェック符号とを含むデータグループと、データグループに基づいて算出された第2チェック符号とを送信装置から受信すると、第2チェック符号に基づいてデータグループが異常であるかを判定し、異常である場合、複数の第1チェック符号に基づいて複数のデータブロックの中から異常なデータブロックを特定する。再送要求部は、異常なデータブロックの再送を送信装置に要求する。
また、1つの態様では、受信制御方法が提供される。この受信制御方法は、受信装置が、複数のデータブロックと複数のデータブロックのそれぞれに基づいて算出された複数の第1チェック符号とを含むデータグループと、データグループに基づいて算出された第2チェック符号とを送信装置から受信し、第2チェック符号に基づいてデータグループが異常であるかを判定し、データグループが異常である場合、複数の第1チェック符号に基づいて複数のデータブロックの中から異常なデータブロックを特定し、異常なデータブロックの再送を送信装置に要求する。
また、1つの態様では、受信制御プログラムが提供される。この受信制御プログラムは、コンピュータに、複数のデータブロックと複数のデータブロックのそれぞれに基づいて算出された複数の第1チェック符号とを含むデータグループと、データグループに基づいて算出された第2チェック符号とを送信装置から受信し、第2チェック符号に基づいてデータグループが異常であるかを判定し、データグループが異常である場合、複数の第1チェック符号に基づいて複数のデータブロックの中から異常なデータブロックを特定し、異常なデータブロックの再送を送信装置に要求する、処理を実行させる。
1つの側面では、データの受信時間を短縮できる。
第1の実施の形態の通信システムを示す図である。 第2の実施の形態のストレージシステムを示す図である。 CMのハードウェア例を示す図である。 CAのハードウェア例を示す図である。 FCフレームを示す図である。 PIのフォーマットを示す図である。 CMの機能例を示す図である。 コピー元のデータ送信処理の例を示すフローチャートである。 コピー先のデータ受信処理の例(その1)を示すフローチャートである。 コピー先のデータ受信処理の例(その2)を示すフローチャートである。 コピー先のデータ受信処理の例(その3)を示すフローチャートである。 データチェック処理の例を示すフローチャートである。 バックアップ処理の例(その1)を示すシーケンス図である。 バックアップ処理の例(その2)を示すシーケンス図である。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の通信システムを示す図である。第1の実施の形態の通信システムは、送信装置1と受信装置2とを有する。送信装置1と受信装置2とは、ネットワーク3を介して接続される。例えば、送信装置1に格納されているデータを受信装置2にコピーしたい場合に、ネットワーク3を介して通信が行われる。
送信装置1は、データグループ4aと、このデータグループ4aに基づいて算出されたチェック符号4bとを受信装置2に送信する。チェック符号4bは、例えば、データグループ4aに付加されて送信される。チェック符号4bは、例えばCRCである。
データグループ4aには、送信装置1から受信装置2に送信すべき実データが、データブロック毎に分割されて記録される。図1の例では、データグループ4aはデータブロック5a,5bを含む。また、送信装置1は、データブロック5aに基づいて算出されたチェック符号6aと、データブロック5bに基づいて算出されたチェック符号6bとを、データグループ4aに含めて送信する。チェック符号6a,6bは、例えば、それぞれデータブロック5a,5bに付加される。チェック符号6a,6bは、例えばCRCである。
受信装置2は、判定部2aおよび再送要求部2bを有する。判定部2aおよび再送要求部2bは、例えば、プロセッサである。プロセッサには、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。また、判定部2aおよび再送要求部2bは、マルチプロセッサであってもよい。
判定部2aは、データグループ4aとチェック符号4bとを送信装置1から受信する(ステップS1)。すると、判定部2aは、まず、チェック符号4bに基づいてデータグループ4aが異常であるかを判定する(ステップS2)。
ここで、データグループ4aが異常であると判定した場合、判定部2aは、チェック符号6a,6bに基づいて、データブロック5a,5bの中から異常なデータブロックを特定する(ステップS3)。すなわち、判定部2aは、チェック符号6aに基づいてデータブロック5aが異常であるかを判定し、チェック符号6bに基づいてデータブロック5bが異常であるかを判定する。
ここで、データブロック5bが異常なデータブロックと特定されたとする。すると、再送要求部2bは、データブロック5bの再送を送信装置1に要求する(ステップS4)。図1では、データブロック5bの再送要求を再送要求7で表している。図示しないが、この再送要求に応じて、送信装置1は、データブロック5bを受信装置2に再送する。
以上の処理によれば、受信装置2は、チェック符号4bを用いた異常判定結果だけに基づいて異常なデータの再送を要求する場合と比較して、データの再送にかかる時間を短縮することができる。すなわち、チェック符号4bを用いた異常判定結果だけに基づいて再送を行う場合、受信装置2は、データグループ4a内のどの部分が異常であるかを判別できないので、データグループ4a全体の再送を送信装置1に要求する。この場合、データグループ4aに含まれるデータブロック5aは、受信装置2が正常に受信できているにもかかわらず、送信装置1から再度送信されてしまい、その分だけ再送に余計な時間がかかる。
これに対して、受信装置2は、データグループ4aに含まれるデータブロック5a,5b毎に異常判定を行い、異常があるデータブロック5bのみを再送要求することで、再送されるデータ量を削減し、再送時間を短縮することができる。その結果、受信装置2は、送信装置1から受信すべきデータ全体の受信を完了するまでにかかる時間を短縮することができる。
[第2の実施の形態]
次に、送信装置から受信装置へのデータ送信の一例として、ストレージ装置間でのデータコピーを適用した実施の形態について説明する。
図2は、第2の実施の形態のストレージシステムを示す図である。第2の実施の形態のストレージシステムは、ストレージ装置10およびストレージ装置20を含む。
ストレージ装置10は、ストレージシステムのプライマリとして機能する。ストレージ装置20は、ストレージシステムのセカンダリとして機能する。このストレージシステムでは、予期せぬ災害などに備えて、プライマリのストレージ装置10に格納されるデータを遠隔地に配置されているセカンダリのストレージ装置20にバックアップさせることができる。以下、プライマリのストレージ装置10をコピー元のストレージ装置、セカンダリのストレージ装置20をコピー先のストレージ装置という場合がある。
ストレージ装置10は、CM(Controller Module)100とDE(Drive Enclosure)200とを有する。ストレージ装置20は、CM300とDE400とを有する。DE200,400は、複数のHDDを搭載する。
CM100とCM300との間は、例えば、ファイバチャネル(FC:Fibre Channel)などを用いたSAN(Storage Area Network)を介して接続されている。
CM100には、ホスト装置500が接続されている。CM100とホスト装置500との間は、例えば、FCを用いたSANを介して接続されている。CM100は、ホスト装置500からの要求に応じたDE200に対するデータアクセスを制御する。例えば、CM100は、論理ボリュームを作成し、ホスト装置500から論理ボリュームに対するアクセスを受け付ける。CM100は、論理ボリュームに対応する物理記憶領域をDE200内に確保し、ホスト装置500から論理ボリュームに対して書き込みが要求されたデータを、DE200における対応する記憶領域に書き込む。論理ボリュームのデータは、RAID(Redundant Arrays of Inexpensive Disks)によってDE200内の記憶領域への書き込みが制御されてもよい。
また、CM100は、DE200に記憶されたデータをCM300に送信してバックアップさせる。CM300は、CM100から送信されたデータを、DE400にバックアップする。例えば、CM300は、CM100に作成された論理ボリュームの記憶領域を指定した読み出し要求をCM100に送信する。CM100から読み出し要求に応じたデータが送信され、CM300は、送信されたデータを、その論理ボリュームに対応付けてDE400に確保した記憶領域に書き込む。これにより、論理ボリュームのリモートコピーが実現される。
図3は、CMのハードウェア例を示す図である。CM100は、プロセッサ101、RAM(Random Access Memory)102、SSD(Solid State Drive)103、DI(Drive Interface)104、CA(Channel Adapter)105、CA106および読み取り装置107を有する。
プロセッサ101は、CM100の情報処理を制御する。プロセッサ101は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。
RAM102は、CM100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
SSD103は、CM100の補助記憶装置である。SSD103は、不揮発性の半導体メモリである。SSD103には、プロセッサ101に実行させるプログラムや各種データなどが格納される。
DI104は、DE200と通信するためのインタフェースである。CA105は、ホスト装置500と通信するためのインタフェースである。CA106は、CM300と通信するためのインタフェースである。
読み取り装置107は、可搬型の記録媒体107aに記録されたプログラムやデータを読み取る装置である。記録媒体107aとして、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体107aとして、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置107は、例えば、プロセッサ101からの命令に従って、記録媒体107aから読み取ったプログラムやデータをプロセッサ101に送信する。
なお、CM300もCM100と同様のハードウェアにより実現できる。
図4は、CAのハードウェア例を示す図である。図4は、CM100が有するCA106とCM300が有するCA306のハードウェア例を示している。なお、図4では、CM100,300が有する他のハードウェアの図示を省略している。
CA106は、プロセッサ106aおよびメモリ106bを有する。プロセッサ106aは、ファームウェアプログラムを実行することでCA106を統括的に制御する。また、プロセッサ106aは、後述するFCフレームを生成し、FCフレームを用いてCM300と通信する。メモリ106bは、揮発性の半導体メモリである。例えば、メモリ106bは、RAMである。メモリ106bは、プロセッサ106aによる処理に用いる各種データを記憶する。
CA306は、CA106と同様のハードウェアにより実現できる。すなわち、CA306は、プロセッサ306aおよびメモリ306bを有する。プロセッサ306aは、FCフレームを生成し、FCフレームを用いてCM100と通知する。
なお、CM100は、第1の実施の形態の送信装置1の一例であり、CM300は、第1の実施の形態の受信装置2の一例である。また、CA106またはストレージ装置10が送信装置1の一例であってもよいし、CA306またはストレージ装置20が受信装置2の一例であってもよい。
図5は、FCフレームを示す図である。図5は、プロセッサ106a,306aが生成するFCフレームを示す図である。CM100とCM300との間の通信は、FCフレームが用いられる。
FCフレームは、先頭側から、SOF(Start Of Frame,4bytes)、フレームヘッダ(24bytes)、ペイロード(2112bytes)、CRC(4bytes)およびEOF(End Of Frame,4bytes)を有する。また、ペイロードは、オプション(64bytes)およびデータ部(2048bytes)を有する。
SOFには、FCフレームの始まりを示す情報が記録される。フレームヘッダには、送信元および送信先のアドレスや、FCフレームの種類を示す情報などが記録される。ペイロードには、主にSCSI(Small Computer System Interface)コマンドに関する情報が記録される。CRCには、データ部のデータに誤りがあるかを検出するためのチェック符号が記録される。例えば、データ部のデータを所定の定数で割った余りがCRCに記録される。EOFには、FCフレームの終わりを示す情報が記録される。
FCフレームの種類の例として、コマンドフレーム、データフレーム、レスポンスフレームなどがある。コマンドフレームにおけるペイロードのデータ部には、READコマンドやWRITEコマンドなどのSCSIコマンドが記録される。データフレームにおけるペイロードのデータ部には、SCSIコマンドによって読み出しや書き込みが要求された実データが記録される。レスポンスフレームにおけるペイロードのデータ部には、SCSIコマンドによって要求された処理を正常に完了したかを示す情報が記録される。
ここで、CM100からCM300に対してデータフレームを用いて送信される実データは、複数のデータブロックに分割される。データブロックの1つの大きさは、512bytesである。本実施の形態では、データブロックに、T10−DIF(Data Integrity Field)で規定されたPI(Protection Information)が付加される。PIは、8bytesの保護情報である。データブロックとPIとを合わせた容量が520bytesなので、図5の下側に示すように、PIが付加されたデータブロックを、データフレームにおけるペイロードのデータ部に3つまで記録することができる。
なお、データフレームにおけるペイロードのデータ部の大きさは、2048bytesを上限として可変となっている。そして、READコマンドを送信するコマンドフレームにおいては、対応するデータフレームにおけるペイロードのデータ部に格納させるデータブロック数を指定することが可能となっている。例えば、データブロック数が「1」に指定された場合、データフレームにおけるペイロードのデータ部は520bytesに縮小される。
図6は、PIのフォーマットを示す図である。データブロックに付加されるPIは、CRC(2bytes)、APP(Application tag)(2bytes)、LBA(Logical Block Address,4bytes)を有する。CRCには、データブロックに誤りがあるかを検出するためのチェック符号が記録される。例えば、データブロックを所定の定数で割った余りがCRCに記録される。APPには、任意の情報が登録される。LBAには、データブロックの位置を示すLBAが登録される。
本実施の形態では、APPに、1ビットのUnwrite Flagが記録される。Unwrite Flagは、データブロックのアドレスが示す読み出し元記憶領域が未書き込み領域であるか否かを示す。Unwrite Flagがtrue(例えば1)の場合、データブロックが未書き込み領域のデータ(0データ)であり、有効なデータが含まれていないことを示す。Unwrite Flagがfalse(例えば0)の場合、データブロックが未書き込み領域のデータでないことを示す。なお、本実施の形態では、データブロックの読み出し元領域は論理ボリュームの記憶領域であり、Unwrite Flagがtrueの場合、データブロックは論理ボリュームにおける未書き込み領域から読み出されたデータである。
図7は、CMの機能例を示す図である。図7では、CM100とCM300の機能例を説明する。
CM100は、ボリューム管理部111、送受信制御部112および記憶部113を有する。
ボリューム管理部111の処理は、例えば、CM100のプロセッサ101が所定のアプリケーションプログラムを実行することで実現される。ボリューム管理部111は、ホスト装置500からの論理ボリュームに対するアクセスを制御する。例えば、ボリューム管理部111は、論理ボリュームに対応する物理記憶領域をDE200内に確保し、ホスト装置500から論理ボリュームに対して書き込みが要求されたデータを、DE200における対応する記憶領域に書き込む。また、ボリューム管理部111は、RAM102をキャッシュメモリとして用いてホスト装置500からの論理ボリュームに対するアクセスを制御してもよい。さらに、ボリューム管理部111は、論理ボリュームに含まれるデータのうち、CM300からCA106を介してコピー(読み出し)が要求されたデータを、DE200(またはキャッシュメモリ)から読み出してCA106に転送する。
送受信制御部112の処理は、例えば、CA106のプロセッサ106aが所定のファームウェアプログラムを実行することで実現される。送受信制御部112は、CM300からコピーのために読み出しが要求されたデータをボリューム管理部111から取得し、FCフレームを用いてCM300に送信する。送受信制御部112は、読み出しが要求されたデータをデータブロックに分割し、各データブロックにPIを付加してFCフレームに格納する。
記憶部113は、例えば、CA106のメモリ106bに確保された記憶領域として実装される。記憶部113は、送受信制御部112がCM300に送信するデータを一時的に記憶する。
CM300は、コピー制御部311、送受信制御部312、チェック処理部313および記憶部314を有する。
コピー制御部311の処理は、例えば、CM300のメインプロセッサが所定のアプリケーションプログラムを実行することで実現される。コピー制御部311は、CM100に作成された論理ボリュームのデータをバックアップするためのコピー処理を実行する。コピー制御部311は、論理ボリュームにおけるコピーすべき領域のアドレスを送受信制御部312に通知して、その領域のデータをCM100から読み出すように指示する。コピー制御部311は、指示に応じてCM100から読み出されて送信されたデータを、DE400に書き込む。
送受信制御部312およびチェック処理部313の処理は、例えば、CA306のプロセッサ306aが所定のファームウェアプログラムを実行することで実現される。送受信制御部312は、コピー制御部311からの指示に応じて、CM100に対してREADコマンドを送信する。送受信制御部312は、READコマンドに応じてCM100から送信されたFCフレーム(データフレーム)について、チェック処理部313に異常がないかをチェックさせる。送受信制御部312は、異常がないと判定されたデータブロックをコピー制御部311に受け渡す。また、送受信制御部312は、異常があると判定されたデータブロックの再送を、CM100に対して要求する。
チェック処理部313は、送受信制御部312がCM100から受信したデータについて、異常がないかをチェックする。具体的には、チェック処理部313は、CM100から受信したFCフレームのCRCを用いて、FCフレームのペイロードに記録されたデータが異常であるか否かを判定する。FCフレームのペイロードに記録されたデータを異常と判定した場合、チェック処理部313は、データブロックに付加されているPIのCRCを用いて、当該データブロックが異常であるか否かを判定する。データブロックを異常と判定した場合、チェック処理部313は、データブロックに付加されているPIのUnwrite Flagがtrueであるか否かを判定する。Unwrite Flagがtrueの場合、チェック処理部313は、データブロックを0データとして修復する。Unwrite Flagがfalseの場合、チェック処理部313は、データブロックを異常なデータブロックと判定する。
記憶部314は、例えば、CA306のメモリ306bに確保された記憶領域として実装される。記憶部314は、送受信制御部312がCM100から受信したデータを一時的に記憶する。
次に、論理ボリュームのデータをCM300がバックアップするためのCM100からCM300へのコピー処理について、フローチャートを用いて説明する。
図8は、コピー元のデータ送信処理の例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
(S11)送受信制御部112は、コピー先のCM300からREADコマンドを含むFCフレーム(コマンドフレーム)を受信する。READコマンドには、論理ボリュームを指定するLUN(Logical Unit Number)と、読み出し領域を示す先頭LBAおよびデータ長が含まれている。
(S12)送受信制御部112は、READコマンドによって示される読み出し領域をボリューム管理部111に通知する。ボリューム管理部111は、通知された読み出し領域に記録されたデータをDE200(またはキャッシュメモリ)から読み出し、送受信制御部112に送信する。送受信制御部112は、読み出されたデータを取得して、記憶部113に格納する。
(S13)送受信制御部112は、ステップS11で受信したFCフレームのデータ部を参照して、データフレームのデータ部に格納するデータブロック数を判別する。送受信制御部112は、ステップS11で読み出しが要求されたデータのうち、未送信のデータブロックを、判別したデータブロック数の分だけ先頭側から選択する。
通常は、ステップS11で受信したFCフレームのデータ部には、データブロック数として最大の「3」が記録されている。この場合、送受信制御部112は、未送信のデータブロックを先頭側から3つ選択する。ただし、未送信のデータブロックが3つ未満の場合には、それらが全て選択され、選択されるデータブロックは3つ未満となる。一方、ステップS11で受信したREADコマンドが再送を要求するものである場合、データブロック数として「2」または「1」が記録されている場合がある。
送受信制御部112は、選択した各データブロックにPIを付加する。具体的には、送受信制御部112は、データブロックを所定の定数で割った余りをPIのCRCに記録する。送受信制御部112は、データブロックを参照し、PIのUnwrite Flagにデータブロックが0データであるか否かを示す情報を記録する。送受信制御部112は、データブロックの位置を示すLBAをPIのLBAに記録する。
送受信制御部112は、PIが付加されたデータブロックを含むFCフレーム(データフレーム)を生成する。このとき、送受信制御部112は、PIが付加されたデータブロックを含むペイロードのデータを所定の定数で割った余りを、FCフレームのCRCに記録する。また、送受信制御部112は、生成するFCフレームにおけるデータ部の長さを、ステップS11で受信したFCフレームのデータ部に記録されたデータブロック数に応じて可変する。例えば、データブロック数が「1」である場合、送受信制御部112は、データ部の長さをデータブロックおよびPIが1組だけ記録される長さに設定する。
(S14)送受信制御部112は、FCフレームをCM300に送信する。
(S15)送受信制御部112は、コピー先のCM300からステップS14で送信したFCフレームに対する送信結果を受信する。
(S16)送受信制御部112は、送信結果が正常か否かを判定する。正常の場合、処理をステップS18に進める。異常の場合、処理をステップS17に進める。
(S17)送受信制御部112は、ステップS11で受信したREADコマンドに応じたデータ送信処理を中断する。これにより、図8の処理は終了し、CM300から新たなREADコマンドが送信されると、図8の処理が実行される。
(S18)送受信制御部112は、ステップS11で受信したREADコマンドによって読み出しが要求されたデータのデータブロックを全て送信済みであるか否かを判定する。送信済みの場合、処理を終了する。送信済みでない場合、処理をステップS13に進める。
図9は、コピー先のデータ受信処理の例(その1)を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(S21)コピー制御部311は、論理ボリュームにおけるコピーすべき領域のアドレスを送受信制御部312に通知して、その領域のデータをCM100から読み出すように指示する。送受信制御部312は、コピー制御部311からの読み出し指示を受信する。
(S22)送受信制御部312は、コピー元のCM100にREADコマンドを含むFCフレーム(コマンドフレーム)送信する。コマンドフレームには、コピー制御部311から指定されたLUN、先頭LBAおよびデータ長が含まれる。また、データフレームのデータ部に格納するデータブロック数として、最大の「3」が指定される。
(S23)送受信制御部312は、コピー元のCM100からFCフレーム(データフレーム)を受信する。送受信制御部312は、受信したFCフレームを記憶部314に格納する。なお、このステップS23で受信されるFCフレームは、ステップS22または後述する図11のステップS44において送信されたREADコマンドに応じてCM100から送信されたものである。
(S24)チェック処理部313は、ステップS23で受信されたFCフレームに含まれるデータブロックに異常があるか否かを判定する。この判定処理の詳細については、図12において説明する。チェック処理部313は、判定結果を送受信制御部312に通知する。
(S25)送受信制御部312は、チェック処理部313から通知された判定結果に基づいて、ステップS23で受信したFCフレームの中に異常と判定されたデータブロックが存在するかを判定する。存在する場合、処理を図10のステップS31に進める。存在しない場合、処理をステップS26に進める。
(S26)送受信制御部312は、FCフレームが正常である旨をCM100に通知する。
(S27)送受信制御部312は、記憶部314に格納されている正常なデータブロックをコピー制御部311に送信し、書き込みを指示する。コピー制御部311は、受信したデータブロックを、DE400の所定領域に書き込む。これにより、受信したデータブロックに対応する論理ボリュームのデータがバックアップされる。なお、コピー制御部311は、受信したデータブロックをCM300のRAMのキャッシュ領域に一旦書き込んだ後、これらのデータブロックをDE400に書き込んでもよい。
(S28)送受信制御部312は、ステップS22または後述する図11のステップS44において送信したREADコマンドによって読み出しを要求したデータのデータブロックを、全て受信済みであるか否かを判定する。全て受信済みの場合、処理を終了する。受信済みでないデータブロックがある場合、処理をステップS23に進める。
図10は、コピー先のデータ受信処理の例(その2)を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(S31)送受信制御部312は、FCフレームが異常である旨をCM100に通知する。
(S32)送受信制御部312は、ステップS24で異常と判定されたデータブロックに付加されているPIのLBAを確認する。
(S33)送受信制御部312は、READコマンドを含むFCフレーム(コマンドフレーム)を生成する。このFCフレームは、コピー元のCM100に対して、異常と判定されたデータブロックの再送要求を行うためのものである。FCフレームのデータ部には、読み出し要求先のアドレスとして、ステップS24で異常と判定されたデータブロックのLBAが記録される。送受信制御部312は、生成したFCフレームをコピー元のCM100に送信する。これにより、異常が検出されたデータブロックの再送が要求される。また、送受信制御部312は、ステップS24で異常と判定されたデータブロックを記憶部314から削除する。
ここで、例えば、ステップS24で異常と判定されたデータブロックが1つのみの場合、生成されるFCフレームのデータ部には、そのデータブロックの先頭LBAと、1データブロック分のデータ長とが記録される。また、データブロックのデータ部に格納するデータブロック数として、「1」が記録される。
また、ステップS24で異常と判定されたデータブロックが複数ある場合には、それらのデータブロックごとにREADコマンドが送信されてもよい。しかしながら、次のような処理を実行することで、READコマンドの発行数を抑制し、再送にかかる時間を短縮することができる。
ステップS24で異常と判定されたデータブロックが2つ以上であり、かつ連続している場合、生成されるFCフレームのデータ部には、それらのデータブロックのうち先頭側のデータブロックの先頭LBAと、それらのデータブロック全体の長さを示すデータ長とが記録される。また、データブロックのデータ部に格納するデータブロック数としては、異常と判定されたデータブロックの数が記録される。
また、ステップS24で異常と判定されたデータブロックが2つ以上であり、かつ、連続していない場合、送受信制御部312は、ステップS23で受信したFCフレームに含まれるデータブロック全体の再送を要求する。すなわち、生成されるFCフレームのデータ部には、ステップS23で受信したFCフレームに含まれるデータブロックのうち先頭側のデータブロックの先頭LBAと、それらのデータブロック全体の長さを示すデータ長とが記録される。また、データブロックのデータ部に格納するデータブロック数としては、ステップS23で受信したFCフレームに含まれるデータブロックの数が記録される。
(S34)送受信制御部312は、CM100からFCフレーム(データフレーム)を受信する。受信したFCフレームには、再送要求したデータブロックが含まれている。また、再送されたデータブロックにはPIが付加されている。送受信制御部312は、受信したFCフレームを記憶部314に格納する。
(S35)チェック処理部313は、ステップS34で受信されたFCフレームに含まれるデータブロックに異常があるか否かを判定する。この判定処理の詳細については、図12において説明する。チェック処理部313は、判定結果を送受信制御部312に通知する。
(S36)送受信制御部312は、チェック処理部313から通知された判定結果に基づいて、ステップS34で受信したFCフレームの中に異常と判定されたデータブロックが存在するかを判定する。存在する場合、処理をステップS37に進める。存在しない場合、処理を図11のステップS41に進める。
(S37)送受信制御部312は、FCフレームが異常である旨をCM100に通知する。
(S38)送受信制御部312は、データの受信に異常が発生した旨をコピー制御部311に通知し、処理を終了する。
以上の図10の処理では、ステップS33において、受信したFCフレームに含まれるデータブロックのうち異常のデータブロックのみが再送要求され、ステップS34において、再送を要求した異常のデータブロックのみが受信される。これにより、FCフレーム単位で再送を要求する場合より再送にかかる時間を短縮することができる。したがって、コピー制御部311から読み出しが要求されたデータ全体の受信にかかる時間を短縮することができる。
また、ステップS33では、返信されるデータフレームのデータ部に含まれるデータブロック数として、読み出しを要求するデータブロック数と同じ数が指定される。これにより、ステップS34で受信するFCフレームのデータ部の長さが必要最小限の長さに短縮される。したがって、再送にかかる時間を確実に短縮することができる。
なお、図10の処理では、再送要求に応じて受信したFCフレームに異常のデータブロックが含まれる場合、送受信制御部312は、コピー制御部311にデータ異常を通知して処理を終了するものとした。しかし、例えば、再送要求に応じて受信したFCフレームに異常のデータブロックが含まれる場合、送受信制御部312は、正常なデータブロックを受信するまで所定回数だけ再送要求を送信してもよい。また、送受信制御部312は、ステップS38でコピー制御部311に受信データの異常を通知した後、処理を終了せずに後述する図11のステップS43に進み、受信済みでない残りのデータの読み出し要求処理を実行してもよい。
図11は、コピー先のデータ受信処理の例(その3)を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(S41)送受信制御部312は、FCフレームが正常である旨をCM100に通知する。
(S42)送受信制御部312は、ステップS23で受信したFCフレーム内のデータブロックのうち、ステップS24で正常と判定されたデータブロックと、ステップS34で受信したFCフレーム内のデータブロックとを記憶部314から読み出す。読み出されるデータブロック群は、ステップS23で受信したFCフレーム内のデータブロックのうち正常に受信されなかったデータブロックを、再送されたデータブロックによってリカバリしたものとなる。送受信制御部312は、読み出したデータブロック群をコピー制御部311に送信し、書き込みを指示する。コピー制御部311は、受信したデータブロック群を、DE400の所定領域に書き込む。これにより、読み出したデータブロック群に対応する論理ボリュームのデータがバックアップされる。
(S43)送受信制御部312は、ステップS21でコピー制御部311から読み出しが指示されたデータのデータブロックを、全て受信済みであるか否かを判定する。全て受信済みの場合、処理を終了する。受信済みでないデータブロックがある場合、処理をステップS44に進める。
(S44)送受信制御部312は、ステップS21でコピー制御部311から読み出しが指示されたデータのデータブロックのうち、受信済みでない残りのデータブロックの読み出しを要求するためのREADコマンドを含むFCフレーム(コマンドフレーム)を、CM100に送信する。コマンドフレームには、受信済みでない残りのデータブロックが含まれるLUNと、これらのデータブロックのうちの先頭LBAと、これらのデータブロック全体のデータ長とが含まれる。また、データフレームのデータ部に格納するデータブロック数として、最大の「3」が指定される。この後、処理を図9のステップS23に進める。
図12は、データチェック処理の例を示すフローチャートである。この図12の処理は、図9のステップS24および図10のステップS35の処理に対応する。以下、図12に示す処理をステップ番号に沿って説明する。
(S51)チェック処理部313は、受信したFCフレームのCRCを用いて、FCフレームのデータ部のデータが異常であるか否かを判定する。図12の処理がステップS24に対応する場合、ステップS23で受信したFCフレームが判定処理の対象となる。図12の処理がステップS35に対応する場合、ステップS34で受信したFCフレームが判定処理の対象となる。
チェック処理部313は、具体的には、FCフレームのデータ部のデータを所定の定数で割った余りとFCフレームのCRCが同じであるか否かにより、データ部のデータが異常であるかを判定する。当該余りとCRCとが異なる場合はデータ部のデータが異常と判定し、処理をステップS52に進める。当該余りとCRCとが同じ場合はデータ部のデータが正常と判定し、図12の処理を終了する。
(S52)チェック処理部313は、Nに1を代入する。なお、Nは、データ部に含まれるデータブロックを指定するための変数である。
(S53)チェック処理部313は、N番目のデータブロックに付加されているPIのCRCを用いて、当該データブロックが異常であるか否かを判定する。詳細には、チェック処理部313は、データブロックを所定の定数で割った余りとPIのCRCが同じであるか否かにより、データブロックが異常であるかを判定する。当該余りとCRCとが異なる場合はデータブロックが異常と判定し、処理をステップS54に進める。当該余りとCRCとが同じ場合はデータブロックが正常と判定し、処理をステップS57に進める。
(S54)チェック処理部313は、N番目のデータブロックに付加されているPIのUnwrite Flagがtrueであるか否かを判定する。trueの場合、処理をステップS55に進める。falseの場合、処理をステップS56に進める。
(S55)チェック処理部313は、記憶部314に記憶されているN番目のデータブロックを、未書き込み領域から読み出されたことを示すように修復する。例えば、チェック処理部313は、記憶部314に記憶されているN番目のデータブロックを、全ビットが0である0データに変換する。そして、処理をステップS57に進める。
(S56)チェック処理部313は、N番目のデータブロックを異常なデータブロックと判定する。
(S57)チェック処理部313は、N番目のデータブロックがデータ部に含まれる最後のデータブロックであるか否かを判定する。最後のデータブロックの場合、図12の処理を終了する。最後のデータブロックでない場合、処理をステップS58に進める。
(S58)チェック処理部313は、Nをインクリメントする。そして、処理をステップS53に進める。
以上の図12の処理では、ステップS53でPIのCRCを用いてデータブロックが異常と判定された場合でも、ステップS54でUnwrite Flagがtrueである場合には、異常なデータブロックと判定しないようにした。これにより、CRCを用いて異常と判定されたがそのビット内容がわかっているデータブロックを再送させずに済むため、再送させるデータ量を削減し、再送時間を短縮することができる。また、Unwrite Flagがtrueであるデータブロックを未書き込み領域から読み出されたことを示すように修復することで、コピー制御部311に正しいデータブロックを受け渡すことができる。
次に、CM300とCM100との間の通信処理の例について、シーケンス図を用いて説明する。
図13は、バックアップ処理の例(その1)を示すシーケンス図である。以下、図13に示す処理をステップ番号に沿って説明する。
(ST101)CM300は、データブロックX1〜X5の読み出しを要求するためのREADコマンドを含むFCフレーム(コマンドフレーム)を、CM100に送信する。なお、データブロックX1〜X5は、ある論理ボリューム上の連続したアドレス領域に記録されている。
(ST102)CM100は、データブロックX1,X2,X3それぞれにPIを付加する。CM100は、PIが付加されたデータブロックX1,X2,X3を含むFCフレーム(データフレーム)を生成する。
(ST103)CM100は、FCフレームをCM300に送信する。
(ST104)CM300は、受信したFCフレームのCRCを用いて、FCフレームのデータ部のデータが異常であるかをチェックする。ここでは、データ部のデータが異常であると判定されたとする。
(ST105)CM300は、データブロックX1に付加されているPIのCRCを用いて、データブロックX1が異常であるかをチェックする。ここでは、データブロックX1は異常でないと判定されたとする。
(ST106)CM300は、データブロックX2に付加されているPIのCRCを用いて、データブロックX2が異常であるかをチェックする。ここでは、データブロックX2は異常であると判定されたとする。この場合、次のステップST107の処理が実行される。
(ST107)CM300は、データブロックX2に付加されているPIのUnwrite Flagを確認する。ここでは、Unwrite Flagがfalseであったとする。
(ST108)ステップST107の確認の結果から、CM300は、データブロックX2を異常なデータブロックと判定する。
(ST109)CM300は、データブロックX3に付加されているPIのCRCを用いて、データブロックX3が異常であるかをチェックする。ここでは、データブロックX3は異常でないと判定されたとする。
図14は、バックアップ処理の例(その2)を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
(ST111)CM300は、FCフレームが異常である旨をCM100に通知する。
(ST112)CM300は、異常と判定されたデータブロックX2の再送を要求するためのREADコマンドを含むFCフレーム(コマンドフレーム)を、CM100に送信する。
(ST113)CM100は、データブロックX2にPIを付加する。CM100は、PIが付加されたデータブロックX2を含むFCフレーム(データフレーム)を生成する。
(ST114)CM100は、FCフレームをCM300に送信する。
(ST115)CM300は、受信したFCフレームのCRCを用いて、FCフレームのデータ部のデータが異常であるかをチェックする。ここでは、データ部のデータが異常でないと判定されたとする。
(ST116)CM300は、FCフレームが正常である旨をCM100に通知する。
(ST117)CM300は、ステップST101で読み出しを要求したデータブロックのうち、受信済みでないデータブロックX4,X5の読み出しを要求するためのREADコマンドを含むFCフレーム(コマンドフレーム)を、CM100に送信する。
(ST118)CM100は、データブロックX4,X5それぞれにPIを付加する。CM100は、PIが付加されたデータブロックX4,X5を含むFCフレーム(データフレーム)を生成する。
(ST119)CM100は、FCフレームをCM300に送信する。
(ST120)CM300は、FCフレームのCRCを用いて、FCフレームのデータ部のデータが異常であるかをチェックする。ここでは、データ部のデータが異常でないと判定されたとする。
(ST121)CM300は、FCフレームが正常である旨をCM100に通知する。
以上説明した第2の実施の形態によれば、FCフレームを用いてCM300に送信される読み出しデータにおいて、データブロック毎にCRCを含むPIが付加される。CM300は、受信したFCフレームのデータ部のデータについて異常を検出した場合、PIのCRCを用いて異常なデータブロックを検出する。CM300は、異常と検出したデータブロックのみをCM100に再送要求する。
これにより、FCフレームのCRCだけに基づいて再送要求を行う場合と比較して、再送にかかる時間を短縮することができる。すなわち、FCフレームのCRCだけに基づく場合、FCフレーム単位で再送要求が行われる。この場合、FCフレームに含まれるデータブロックの中に正常なデータブロックが含まれていても、FCフレーム内の全てのデータブロックについて再送が要求される。これにより、正常に受信できたデータブロックについても再送されることから、再送に余計な時間がかかる。これに対して、第2の実施の形態によれば、異常と判定されたデータブロックのみをCM100に再送要求するので、再送されるデータ量が削減され、再送時間を短くできる。その結果、コピー制御部311から読み出しが要求されたデータ全体の受信にかかる時間を短縮することができる。
なお、第2の実施の形態では、送受信制御部312およびチェック処理部313の処理がCA306によって実現される例について説明した。しかし、これに限らず、例えば、送受信制御部312およびチェック処理部313の処理は、CM300のプロセッサが所定のプログラムを実行することによって実現されてもよい。この場合、送受信制御部312は、CA306を介してCM100と通信する。同様に、送受信制御部112の処理は、CM100のプロセッサ101が所定のプログラムを実行することによって実現されてもよい。この場合、送受信制御部112は、CA106を介して送受信制御部312と通信する。
また、第2の実施の形態では、CM100に格納されているデータをCM300に送信する場合を例示した。これに限らず、例えば、ホスト装置500とCM100との間で行われる通信にも、第2の実施の形態に示したデータ異常のチェックおよび再送の手順を適用可能である。この場合、ホスト装置500とCM100との間の通信では、FCフレームが用いられ、FCフレームに含まれるデータブロックにはPIが付加される。そして、CM100は、例えば、ホスト装置500から送信されたFCフレームのデータ部に異常を検出した場合、PIのCRCを用いて異常なデータブロックを検出する。CM100は、異常と検出したデータブロックのみをホスト装置500に再送要求する。
なお、第1の実施の形態の情報処理は、受信装置2に用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態のCM100の情報処理は、CA106が有するプロセッサ106aまたはCM100が有するプロセッサ101にプログラムを実行させることで実現できる。第2の実施の形態のCM300の情報処理は、CA306が有するプロセッサ306aまたはCM300が有するプロセッサにプログラムを実行させることで実現できる。これらのプログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
例えば、プログラムを記録した可搬型記録媒体を配布することで、プログラムを流通させることができる。また、例えば、CM300が有するコピー制御部311、送受信制御部312およびチェック処理部313に相当する機能を実現するプログラムを別個のプログラムとし、各プログラムを別個に配布してもよい。CM300が有するコピー制御部311、送受信制御部312およびチェック処理部313の機能が別個のコンピュータにより実現されてもよい。コンピュータは、例えば、可搬型記録媒体に記録されたプログラムを、RAMやSSDなどの自己の記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
1 送信装置
2 受信装置
2a 判定部
2b 再送要求部
3 ネットワーク
4a データグループ
4b,6a,6b チェック符号
5a,5b データブロック
7 再送要求
S1,S4 ステップ

Claims (5)

  1. 送信装置からのデータを受信する受信装置において、
    複数のデータブロックと前記複数のデータブロックのそれぞれに基づいて算出された複数の第1チェック符号とを含むデータグループと、前記データグループに基づいて算出された第2チェック符号とを前記送信装置から受信すると、前記第2チェック符号に基づいて前記データグループが異常であるかを判定し、異常である場合、前記複数の第1チェック符号に基づいて前記複数のデータブロックの中から異常なデータブロックを特定する判定部と、
    前記異常なデータブロックの再送を前記送信装置に要求する再送要求部と、
    を有する受信装置。
  2. 前記データグループは、前記複数のデータブロックのそれぞれに対応する複数の判定情報をさらに含み、各判定情報は、対応するデータブロックのアドレスが示す送信元記憶領域が未書き込み領域であるかを示し、
    前記判定部は、前記異常なデータブロックのうち、前記判定情報が前記未書き込み領域であることを示す一のデータブロックを、前記再送要求部が再送を要求する対象から除外する、
    請求項1記載の受信装置。
  3. 前記判定部は、前記一のデータブロックを、前記未書き込み領域から読み出されたことを示す値に変換する、
    請求項2記載の受信装置。
  4. データ受信を制御する受信制御方法において、
    受信装置が、
    複数のデータブロックと前記複数のデータブロックのそれぞれに基づいて算出された複数の第1チェック符号とを含むデータグループと、前記データグループに基づいて算出された第2チェック符号とを送信装置から受信し、
    前記第2チェック符号に基づいて前記データグループが異常であるかを判定し、
    前記データグループが異常である場合、前記複数の第1チェック符号に基づいて前記複数のデータブロックの中から異常なデータブロックを特定し、
    前記異常なデータブロックの再送を前記送信装置に要求する、
    受信制御方法。
  5. データ受信を制御する受信制御プログラムにおいて、
    コンピュータに、
    複数のデータブロックと前記複数のデータブロックのそれぞれに基づいて算出された複数の第1チェック符号とを含むデータグループと、前記データグループに基づいて算出された第2チェック符号とを送信装置から受信し、
    前記第2チェック符号に基づいて前記データグループが異常であるかを判定し、
    前記データグループが異常である場合、前記複数の第1チェック符号に基づいて前記複数のデータブロックの中から異常なデータブロックを特定し、
    前記異常なデータブロックの再送を前記送信装置に要求する、
    処理を実行させる受信制御プログラム。
JP2015175462A 2015-09-07 2015-09-07 受信装置、受信制御方法および受信制御プログラム Active JP6565506B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015175462A JP6565506B2 (ja) 2015-09-07 2015-09-07 受信装置、受信制御方法および受信制御プログラム
US15/235,527 US10014983B2 (en) 2015-09-07 2016-08-12 System, receiving device, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015175462A JP6565506B2 (ja) 2015-09-07 2015-09-07 受信装置、受信制御方法および受信制御プログラム

Publications (2)

Publication Number Publication Date
JP2017055153A JP2017055153A (ja) 2017-03-16
JP6565506B2 true JP6565506B2 (ja) 2019-08-28

Family

ID=58190721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015175462A Active JP6565506B2 (ja) 2015-09-07 2015-09-07 受信装置、受信制御方法および受信制御プログラム

Country Status (2)

Country Link
US (1) US10014983B2 (ja)
JP (1) JP6565506B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788916B (zh) * 2016-12-30 2021-08-27 深圳市优必选科技股份有限公司 用于总线的数据传输方法及数据传输装置
CN109934268B (zh) * 2019-02-20 2021-01-22 中国工商银行股份有限公司 异常交易检测方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677918A (en) * 1995-07-28 1997-10-14 Motorola, Inc. Method and device for efficient error correction in a packet-switched communication system
JPH09214474A (ja) * 1995-11-28 1997-08-15 Sanyo Electric Co Ltd デジタル通信方法及び受信装置
JP3027800B2 (ja) * 1996-09-17 2000-04-04 株式会社 アドテック 無線lanにおける伝送制御方法および伝送制御装置
JPH1145157A (ja) 1997-07-24 1999-02-16 Internatl Business Mach Corp <Ibm> データ転送装置、ディスク装置及びデータ転送方法
JP2000105675A (ja) 1998-09-29 2000-04-11 Nec Corp ディスクアレイ装置
JP3263671B2 (ja) * 1998-09-30 2002-03-04 三洋電機株式会社 誤り検出装置
KR100762632B1 (ko) * 2001-10-17 2007-10-01 삼성전자주식회사 부호 분할 다중 접속 통신 시스템에서 전송 채널 다중화/역다중화 장치 및 방법
US7535913B2 (en) 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
WO2004105022A1 (en) 2003-05-20 2004-12-02 Koninklijke Philips Electronics N.V. Handling unwritten areas on a storage medium
US8074146B2 (en) * 2007-09-28 2011-12-06 Broadcom Corporation Multiple cyclic redundancy check (CRC) engines for checking/appending CRCs during data transfers
WO2009096658A1 (en) * 2008-01-31 2009-08-06 Lg Electronics Inc. Method for determining transport block size and signal transmission method using the same
US20120195327A1 (en) * 2009-07-22 2012-08-02 Korea Electronics Technology Institute Frame formation method in wireless communication network for medical prosthetic device
JP5517677B2 (ja) * 2010-02-26 2014-06-11 株式会社日立製作所 無線通信システム、及び、無線通信方法
JP2011198272A (ja) * 2010-03-23 2011-10-06 Toshiba Corp 半導体記憶装置および半導体記憶装置の制御方法

Also Published As

Publication number Publication date
JP2017055153A (ja) 2017-03-16
US20170070316A1 (en) 2017-03-09
US10014983B2 (en) 2018-07-03

Similar Documents

Publication Publication Date Title
US7975168B2 (en) Storage system executing parallel correction write
US7647526B1 (en) Reducing reconstruct input/output operations in storage systems
JP5807458B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US7570447B2 (en) Storage control device and method for detecting write errors to storage media
US7587631B2 (en) RAID controller, RAID system and control method for RAID controller
US20090210618A1 (en) Apparatus and method to allocate resources in a data storage library
US20070067666A1 (en) Disk array system and control method thereof
US20060236149A1 (en) System and method for rebuilding a storage disk
JP2013210847A (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US7454686B2 (en) Apparatus and method to check data integrity when handling data
US20100057978A1 (en) Storage system and data guarantee method
JP5852674B2 (ja) 情報機器間のデータ転送のデータ欠落を検出する方法
US20160170851A1 (en) Multi level data recovery in storage disk arrays
US11482294B2 (en) Media error reporting improvements for storage drives
JP6565506B2 (ja) 受信装置、受信制御方法および受信制御プログラム
JP3400328B2 (ja) データ記憶方法およびデータ記憶装置
JP2015114784A (ja) バックアップ制御装置及びバックアップ制御方法、ディスクアレイ装置、並びにコンピュータ・プログラム
US7174476B2 (en) Methods and structure for improved fault tolerance during initialization of a RAID logical unit
US8914668B2 (en) Asynchronous raid stripe writes to enable response to media errors
US11080136B2 (en) Dropped write error detection
US9383938B2 (en) Method, system, and apparatus for re-conveying input/output operations utilizing a sequential-access data storage device secondary communication port
JP2004185477A (ja) 光記憶媒体アレイ装置およびデータ転送方法
JP2012198704A (ja) ストレージ装置、制御装置およびストレージ装置制御方法
JP5640543B2 (ja) ストレージシステム及びその制御方法
JP6318769B2 (ja) ストレージ制御装置、制御プログラム、および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190624

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: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190715

R150 Certificate of patent or registration of utility model

Ref document number: 6565506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150