(57)【要約】【課題】高い転送効率で確実なエラー検出を行う情報処理装置、情報処理システム及び障害検出方法を提供する。【解決手段】チャネル装置２は、データを受信し所定の転送単位でシステム制御装置１へ転送する。システム制御装置１は、チャネル装置２から受信したデータを転送する。チャネル装置２は、受信したデータを基に、受信したデータ全体に対する第１エラー情報を計算するチェックサム算出部２５と、システム制御装置１が送出するデータを基に、送出されたデータ全体に対する第２エラー情報を計算するチェックサム算出部２５と、第１エラー情報と第２エラー情報とを比較してエラーを検出するエラー検出部２９とを備える。【選択図】図２
2015146554.tif 000002
【特許請求の範囲】
【請求項１】
データを受信し所定の転送単位で第２転送部へ転送する第１転送部と、
前記第１転送部から受信した前記データを送出する第２転送部とを備え、
前記第１転送部は、
受信したデータを基に、受信したデータ全体に対する第１エラー情報を計算する第１計算部と、
前記第２転送部が送出するデータを基に、送出されたデータ全体に対する第２エラー情報を計算する第２計算部と、
前記第１エラー情報と前記第２エラー情報とを比較してエラーを検出するエラー検出部とを備えた
ことを特徴とする情報処理装置。
【請求項２】
前記第２転送部は、
送出するデータの前記所定の転送単位毎に対するエラー情報を計算し、前記第１転送部へ送信する第３計算部をさらに備え、
前記第２計算部は、前記第３計算部から受信した前記所定の転送単位毎に対するエラー情報を基に前記第２エラー情報を算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１計算部は、受信したデータ全体のチェックサムを第１エラー情報として取得し、
前記第２計算部は、前記第２転送部から送出されたデータ全体のチェックサムを前記第２エラー情報として取得する
ことを特徴とする請求項１及び請求項２に記載の情報処理装置。
【請求項４】
第１データ転送装置と第２データ転送装置とを含む情報処理システムであって、
前記第１データ転送装置は、
データを受信する受信部と、
前記受信部が受信したデータを所定の転送単位で前記第２データ転送装置へ送信する第１転送部と、
前記受信部が受信したデータを基に、受信したデータ全体に対する第１エラー情報を計算する第１計算部と、
前記第２データ転送装置が送出したデータ基に、送出されたデータ全体に対する第２エラー情報を算出する第２計算部と、
前記第１エラー情報と前記第２エラー情報とを比較してエラーを検出するエラー検出部とを備え、
前記第２データ転送装置は、
前記第１データ転送装置から受信したデータを送出する第２転送部とを備えた
ことを特徴とする情報処理システム。
【請求項５】
第１データ転送装置に、データを受信させ、所定の転送単位で第２データ転送装置へ転送させ、
前記第１データ転送装置に、前記データを基に、受信したデータ全体に対する第１エラー情報を計算させ、
前記第２データ転送装置に、前記第１データ転送装置から受信したデータを送出させ、
前記第１データ転送装置に、前記第２データ転送装置が送出するデータを基に、送出されたデータ全体に対する第２エラー情報を計算させ、
前記第１データ転送装置に、前記第１エラー情報と前記第２エラー情報とを比較させてエラーを検出させる
ことを特徴とする障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び障害検出方法に関する。
【背景技術】
【０００２】
装置内のデータ転送制御回路ではパリティやError  Check  and  Collection（ＥＣＣ）などの１つの処理単位のデータ内でチェックを行う水平型のチェックコードが使用されることが多い。以下では、１つの処理単位を「ワード」という。これに対して、シリアル伝送の装置間インタフェースやハードディスクなどの記憶媒体などでは、Cyclic  Redundancy  Check（ＣＲＣ）などの複数のワードのデータに亘ってチェックを行う垂直型のチェックコードが使用されることが多い。
【０００３】
例えば、Input  Output（ＩＯ）装置、チャネル装置、システム制御装置及び主記憶装置の間を順に送られるデータの場合について各箇所で行われるチェック方法を説明する。チャネル装置は、チャネル毎に、対応するＩＯ装置とのデータ転送を行う装置である。システム制御装置は、チャネル装置から送られてきたデータをCentral  Processing  Unit（ＣＰＵ）や主記憶装置に転送する装置である。
【０００４】
チャネル装置がＩ／Ｏからデータを受信した場合、ＣＲＣを用いたチェックが行われる。そして、チャネル装置からシステム制御装置へ送られるデータに対して、チャネル装置の中では、パリティやＥＣＣを用いたチェックが行われる。その後、システム制御装置がチャネル装置からデータを受信した場合、ＣＲＣを用いたチェック行われる。さらに、システム制御装置から主記憶装置へ送られるデータに対して、システム制御装置の中では、パリティやＥＣＣを用いたチェックが行われる。
【０００５】
このような情報処理装置内のデータ転送において、パリティ又はＥＣＣによる故障のチェックでは、故障個所によっては検出が困難なバイト単位又はワード単位のエラーが存在する。
【０００６】
例えば、パリティは、バイト内の値の合計により算出され、図１２に示すパリティ９０１のように、バイト単位に付加されることでエラーチェックが実施される。図１２は、各誤り検出符号のデータへの付加状態を示す図である。パリティでは、２ビット以上のエラーの検出は行えない。
【０００７】
また、ＥＣＣは、パリティを用いて求めた値を、図１２に示すＥＣＣ９０２のように、複数バイトを含む１ワードに対して付加されることでエラーチェックが実施される。ＥＣＣでは、１ビットが誤った値になった場合には誤りを訂正、また、同時に２ビット以上が誤った値になった場合には、訂正できない誤りが発生したことを検出する。
【０００８】
これに対して、ＣＲＣは、パケットに対して多項式を用いて算出され、図１２示すＣＲＣ９０３のように、パケット単位に付加されることでエラーチェックが実施される。
【０００９】
また、チェックサムでは、複数のパケットにまたがって演算が行われて算出された、図１２に示すチェックサム９０４のような値を用いて、エラーチェックが実施される。
【００１０】
ＣＲＣやチェックサムでは、バイト単位又はワード単位のエラー検出が行える。
【００１１】
例えば、前述したデータ転送では、チャネル装置及びシステム制御装置の中で、レジスタ及びRandom  Access  Memory（ＲＡＭ）への格納及び読出しが行われる。各レジスタにおいて、入力されるセット信号及びリセット信号、又は、クロックの入力信号でエラーが発生した場合、バイト単位のエラーが発生してしまう。また、各レジスタからＲＡＭへの書き込み及びＲＡＭから各レジスタへの読み出しにおいて、ＲＡＭに対するライトイネーブル信号などにエラーが発生した場合、ワード単位のエラーが発生してしまう。このような場合、パリティやＥＣＣではエラーの検出が困難である。
【００１２】
このような、パリティやＥＣＣエラーで検出困難なエラーを検出するために、転送データにワード単位でパリティを付加し、さらにフレーム単位でチェックサムを付加する従来技術がある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０００−３６８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、チェックサムを付加した従来技術を用いた場合、チェックサムを付加したデータを転送することになるので、転送効率が低下してしまう。
【００１５】
開示の技術は、上記に鑑みてなされたものであって、高い転送効率で確実なエラー検出を行う情報処理装置、情報処理システム及び障害検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本願の開示する情報処理装置、情報処理システム及び障害検出方法は、一つの態様において、第１転送部は、データを受信し所定の転送単位で第２転送部へ送信する。第２転送部は、前記第１転送部から受信した前記データを送出する。そして、前記第１転送部は、以下の各部を有する。第１計算部は、受信したデータを基に、受信したデータ全体に対する第１エラー情報を計算する。第２計算部は、前記第２転送部が送出するデータを基に、送出されたデータ全体に対する第２エラー情報を計算する。エラー検出部は、前記第１計算部が算出した第１エラー情報と前記第２計算部が算出した第２エラー情報とを比較してエラーを検出する。
【発明の効果】
【００１７】
本願の開示する情報処理装置、情報処理システム及び障害検出方法の一つの態様によれば、高い転送効率で確実なエラー検出を行う情報処理装置、情報処理システム及び障害検出方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、情報処理装置のシステム構成図である。
【図２】図２は、システム制御装置及びチャネル装置のブロック図である。
【図３】図３は、システム制御装置及びチャネル装置のハードウェアの概略を表す構成図である。
【図４】図４は、ＩＯ装置から主記憶装置へ送られるデータの分割の一例を示す図である。
【図５】図５は、システム制御装置からチャネル装置へ送られるシステム制御装置側パケット単位チェックサムの分割の一例を示す図である。
【図６】図６は、データ転送を行う場合の各部の動作を表すタイミングチャートである。
【図７】図７は、チャネル装置がＩＯ装置からデータを受信する動作のフローチャートである。
【図８】図８は、チャネル装置がシステム制御装置へデータを送信する動作のフローチャートである。
【図９】図９は、システム制御装置がチャネル装置からデータを受信する動作のフローチャートである。
【図１０】図１０は、システム制御装置がチャネル装置へチェックサムを送信する動作のフローチャートである。
【図１１】図１１は、チャネル装置がシステム制御装置からチェックサムを受信する動作のフローチャートである。
【図１２】図１２は、各誤り検出符号のデータへの付加状態を示す図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示する情報処理装置、情報処理システム及び障害検出方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理システム及び障害検出方法が限定されるものではない。
【実施例】
【００２０】
図１は、情報処理装置のシステム構成図である。本実施例に係る情報処理装置は、システム制御装置１、チャネル装置２及び３、スイッチ装置４、ＣＰＵ５、主記憶装置６、並びに、ＩＯ装置７及び８を有する。
【００２１】
ＣＰＵ５は、演算処理部であり、主記憶装置６に格納されているデータなどを用いて演算処理を行う。
【００２２】
主記憶装置６は、例えばメモリであり、ＣＰＵ５が演算に用いるためのデータなどを格納する。
【００２３】
ＩＯ装置７及び８は、データを管理する装置であり、保持するデータの出力や、入力されたデータの保持を行う。例えば、ＩＯ装置７及び８は、ハードディスクなどのデータを格納する装置である。ＩＯ装置７は、チャネル装置２からの読み出しの指示を受けて、自己が保持するデータをチャネル装置２へ送信する。また、ＩＯ装置７は、チャネル装置２から出力されたデータを主記憶装置６に格納する。
【００２４】
チャネル装置２及び３は、データの伝送経路であるチャネル毎に配置される。チャネル装置２及び３は、自己が配置されたチャネルにおけるデータ転送を制御する。図１では、１例として２つのチャネルを有する情報処理装置について図示しているが、チャネルの数はいくつでもよい。そして、図１ではチャネル装置２及び３は、２つであるが、チャネル装置は、チャネルの数に合わせて配置される。チャネル装置２と３とは、配置されたチャネルに対して同様の機能を有するため、以下では、チャネル装置２を例に説明する。
【００２５】
例えば、チャネル装置２は、ＩＯ装置７から入力されたデータをスイッチ装置４及びシステム制御装置１を介して、主記憶装置６へ送信する。また、チャネル装置２は、主記憶装置６から読み出されたデータをシステム制御装置１及びスイッチ装置４を介して受信し、ＩＯ装置７へ送信する。このチャネル装置２が、「第１転送部」及び「第１データ転送装置」の一例にあたる。
【００２６】
スイッチ装置４は、チャネル装置２とシステム制御装置１との間のデータ転送経路の制御を行う。スイッチ装置４は、チャネル装置２から入力されたデータをシステム制御装置１へ出力する。また、スイッチ装置４は、システム制御装置１から入力されたデータをシステム制御装置１によって指定されたチャネル装置２へ出力する。
【００２７】
システム制御装置１は、ＣＰＵ５からの指示を受けて、主記憶装置６からデータを読出しスイッチ装置４を介して、ＣＰＵ５により指定されたチャネル装置３へデータを送信する。また、システム制御装置１は、ＣＰＵ５からの指示を受けて、チャネル装置２へデータの読み込みを指示する。そして、スイッチ装置４は、スイッチ装置４を介してチャネル装置２からデータを受信し、主記憶装置６へ格納する。このシステム制御装置１が、「第２転送部」及び「第２データ転送装置」の一例にあたる。
【００２８】
ここで、データがＩＯ装置７から読み出され主記憶装置６へ格納されるまでの全体的な流れをまとめて説明する。チャネル装置２は、ＣＰＵ５から指定されたデータをＩＯ装置７から読み出す。そして、チャネル装置２は、読み出したデータをスイッチ装置４を介してシステム制御装置１へ送信する。システム制御装置１は、スイッチ装置４を介してチャネル装置２が出力したデータを受信する。そして、システム制御装置１は、受信したデータをＣＰＵ５により指定された主記憶装置６のアドレスへ格納する。
【００２９】
次に、図２を参照して、システム制御装置１とスイッチ装置４との間のデータ転送について詳細に説明する。図２は、システム制御装置及びチャネル装置のブロック図である。スイッチ装置４は、システム制御装置１とスイッチ装置４との間のデータ転送を仲介するだけなので、図２では省略する。
【００３０】
チャネル装置２は、データ入力制御部２０、ＣＲＣチェック部２１、データ一時格納部２２、データ出力制御部２３及びＣＲＣ算出部２４を有する。さらに、チャネル装置２は、チェックサム算出部２５、チェックサム受信部２６、ＣＲＣチェック部２７、チェックサム計算部２８及びエラー検出部２９を有する。
【００３１】
ＩＯ装置７は、チャネル装置２に対して、データをパケット単位に分割して送信する。この際、ＩＯ装置７は、分割したパケット毎にＣＲＣのチェックコードを付加する。
【００３２】
データ入力制御部２０は、ＣＲＣのチェックコードが付加されたパケットをＩＯ装置７から受信する。そして、データ入力制御部２０は、受信したパケットをＣＲＣチェック部２１へ出力し、その後、チェック結果をＣＲＣチェック部２１から受信する。
【００３３】
データ入力制御部２０は、ＥＣＣのチェックコードを各データに付加した後、データ一時格納部２２へデータを出力する。同時に、データ入力制御部２０は、データをチェックサム算出部２５へ出力する。
【００３４】
ＣＲＣチェック部２１は、ＩＯ装置７からチャネル装置２へ送信されたパケットの入力をデータ入力制御部２０から受ける。そして、ＣＲＣチェック部２１は、受信したパケットに含まれるデータを用いてＣＲＣのチェックコードを算出する。その後、ＣＲＣチェック部２１は、受信したパケットに付加されているＣＲＣのチェックコードと算出したＣＲＣのチェックコードとを比較して、一致していればエラーが発生していないと判定し、一致していなければエラーの発生を検出する。
【００３５】
そして、ＣＲＣチェック部２１は、ＣＲＣのチェック結果をデータ入力制御部２０へ出力する。
【００３６】
データ一時格納部２２は、システム制御部１へデータを転送する際に、システム制御部１のデータ受信のタイミングに合わせてデータを出力するためにデータを一時保持する。データ一時格納部２２は、例えば、メモリである。
【００３７】
データ一時格納部２２は、ＥＣＣのチェックコードが付加されたデータをデータ入力制御部２０から受信し格納する。そして、データ一時格納部２２は、システム制御装置１のデータ受信タイミングに合わせて、データを順次出力する。
【００３８】
データ出力制御部２３は、システム制御装置１へ送信するデータの入力をデータ一時格納部２２から受ける。データ出力制御部２３は、受信したデータとＥＣＣからエラー検出及び訂正を行う。そして、データ出力制御部２３は、訂正不可能なエラーが検出されなければ、処理を進める。
【００３９】
データ出力制御部２３は、受信したデータをパケットに分割する。ここで、このパケットの長さは、ＩＯ装置７が用いるパケットの長さとは関係なく、同じ長さでもよいし異なる長さでもよい。次に、データ出力制御部２３は、生成したパケットをＣＲＣ算出部２４へ出力する。その後、データ出力制御部２３は、ＣＲＣのチェックコードをＣＲＣ算出部２４から受信する。そして、データ出力制御部２３は、ＣＲＣが付加されたパケットをシステム制御装置１へ出力する。
【００４０】
データ出力制御部２３がシステム制御装置１へデータを送信する際のパケットの最大長が、「所定の転送単位」の一例にあたる。
【００４１】
ＣＲＣ算出部２４は、システム制御部１へ送信するパケットをデータ出力制御部２３から受信する。そして、ＣＲＣ算出部２４は、各パケットに含まれるデータの値を基にＣＲＣのチェックコードを算出する。その後、ＣＲＣ算出部２４は、算出したＣＲＣのチェックコードをデータ出力制御部２３へ出力する。
【００４２】
チェックサム算出部２５は、ＩＯ装置７から入力されたデータをデータ入力制御部２０から受信する。チェックサム算出部２５は、受信したデータのデータ全体のチェックサムを算出する。ここで、データ全体とは、ＩＯ装置７がデータ転送を開始して最初のパケットを送信してから、チャネルがデータ転送終了条件を満たすまでに送信された全てのデータを指す。チャネルがデータ転送終了を満たす条件とは、例えば、チャネル装置２によるデータ転送の終了通知の受信である。以下では、チェックサム算出部２５が算出したチェックサムを「チャネル装置側チェックサム」という。
【００４３】
そして、チェックサム算出部２５は、算出したチャネル装置側チェックサムをエラー検出部２９へ出力する。このチェックサム算出部２５が、「第１計算部」の一例にあたる。また、チャネル装置側チェックサムが、「第１エラー情報」の一例にあたる。
【００４４】
チェックサム受信部２６は、システム制御装置１から主記憶装置６へ送信されるパケット毎に計算されたチェックサムを含むパケットを、後述するシステム制御装置１のチェックサム送信部１５から受信する。以下では、システム制御装置１から主記憶装置６へ送信されるパケット毎に計算されたチェックサムを、「システム制御装置側パケット単位チェックサム」という。そして、チェックサム受信部２６は、受信したパケットをＣＲＣチェック部２７へ出力する。その後、チェックサム受信部２６は、ＣＲＣチェック部２７からＣＲＣのチェック結果を受信する。
【００４５】
ＣＲＣのチェック結果でエラーが検出されていない場合、チェックサム受信部２６は、システム制御装置側パケット単位チェックサムをチェックサム計算部２８へ出力する。
【００４６】
ＣＲＣチェック部２７は、システム制御装置側パケット単位チェックサムを含むパケットの入力をチェックサム受信部２６から受ける。そして、ＣＲＣチェック部２７は、受信したパケットに含まれるデータを用いてＣＲＣのチェックコードを算出する。その後、ＣＲＣチェック部２７は、受信したパケットに付加されているＣＲＣのチェックコードと算出したＣＲＣのチェックコードとを比較して、一致していればエラーが発生していないと判定し、一致していなければエラーの発生を検出する。
【００４７】
そして、ＣＲＣチェック部２７は、ＣＲＣのチェック結果をチェックサム受信部２６へ出力する。
【００４８】
チェックサム計算部２８は、システム制御装置側パケット単位チェックサムの入力をチェックサム受信部２６から受信する。チェックサム計算部２８は、データ全体に対応する全パケットの各チェックサムの受信が完了するまで待機する。そして、チェックサム受信部２６は、全てのシステム制御装置側パケット単位チェックサムを用いて演算を行い、データ全体のチェックサムを算出する。
【００４９】
ここで、このチェックサム計算部２８が算出したデータ全体のチェックサムは、システム制御装置１が主記憶装置６へ出力したデータ全体のチェックサムにあたる。以下では、チェックサム計算部２８が算出したチェックサムを「システム制御装置側チェックサム」という。
【００５０】
その後、チェックサム計算部２８は、算出したシステム制御装置側チェックサムをエラー検出部２９へ出力する。このチェックサム計算部２８が、「第２計算部」の一例にあたる。また、システム制御装置側チェックサムが、「第２エラー情報」の一例にあたる。
【００５１】
エラー検出部２９は、チャネル装置側チェックサムの入力をチェックサム算出部２５から受ける。また、エラー検出部２９は、システム制御装置側チェックサムの入力をチェックサム計算部２８から受ける。そして、エラー検出部２９は、チャネル装置側チェックサムとシステム制御装置側チェックサムとを比較する。
【００５２】
ここで、チャネル装置側チェックサムは、チャネル装置２がＩＯ装置７から受信したデータ全体のチェックサムである。また、システム制御装置側チェックサムは、チャネル装置２がＩＯ装置７から受信したデータに対応する、システム制御装置１が主記憶装置６へ出力したデータ全体のチェックサムである。チャネル装置２がＩＯ装置７から受信し、システム制御装置１が主記憶装置６へ出力するまでにエラーが発生していなければ、チャネル装置側チェックサムとシステム制御装置側チェックサムとは一致するはずである。
【００５３】
そこで、エラー検出部２９は、チャネル装置側チェックサムとシステム制御装置側チェックサとが一致しない場合にエラーを検出する。エラー検出部２９は、エラーを検出した場合、モニタなどに表示させるなどして情報処理装置の操作者にエラーの発生を通知する。ただし、図２では、操作者へのエラーの通知については図示していない。
【００５４】
ここで、チャネル装置２におけるデータ転送経路には、図示していないが実際にはレジスタが配置され、各レジスタにおいて、パリティ又はＥＣＣのチェックコードを用いたエラーのチェックが行われる。
【００５５】
次に、システム制御装置１について説明する。システム制御装置１は、データ入力制御部１０、ＣＲＣチェック部１１、データ一時格納部１２、データ出力制御部１３、チェックサム算出部１４、チェックサム送信部１５及びＣＲＣ算出部１６を有する。
【００５６】
データ入力制御部１０は、ＣＲＣのチェックコードが付加されたパケットをチャネル装置２のデータ出力制御部２３から受信する。そして、データ入力制御部１０は、受信したパケットをＣＲＣチェック部１１へ出力し、その後、チェック結果をＣＲＣチェック部１１から受信する。
【００５７】
ＣＲＣのチェックによりエラーが検出されなければ、データ入力制御部１０は、ＥＣＣのチェックコードを各データに付加した後、データ一時格納部１２へデータを出力する。
【００５８】
ＣＲＣチェック部１１は、データ出力制御部２３からデータ入力制御部１０へ送信されたパケットの入力をデータ入力制御部１０から受ける。そして、ＣＲＣチェック部１１は、受信したパケットに含まれるデータを用いてＣＲＣのチェックコードを算出する。その後、ＣＲＣチェック部１１は、受信したパケットに付加されているＣＲＣのチェックコードと算出したＣＲＣのチェックコードとを比較して、一致していればエラーが発生していないと判定し、一致していなければエラーの発生を検出する。
【００５９】
そして、ＣＲＣチェック部１１は、ＣＲＣのチェック結果をデータ入力制御部１０へ出力する。
【００６０】
データ一時格納部１２は、主記憶装置６へデータ転送する際に、主記憶装置６のデータ受信のタイミングに合わせてデータを出力するためにデータを一時保持する。データ一時格納部１２は、例えば、First  In,  First  Out（ＦＩＦＯ）バッファである。
【００６１】
データ一時格納部１２は、ＥＣＣのチェックコードが付加されたデータをデータ入力制御部１０から受信し格納する。そして、データ一時格納部１２は、主記憶装置６のデータ受信タイミングに合わせて、データを順次出力する。
【００６２】
データ出力制御部１３は、主記憶装置６へ送信するデータの入力をデータ一時格納部１２から受ける。データ出力制御部１３は、受信したデータとＥＣＣからエラー検出及び訂正を行う。そして、データ出力制御部１３は、訂正不可能なエラーが検出されなければ、処理を進める。
【００６３】
データ出力制御部１３は、受信したデータをＣＰＵ５から受信したメモリへのアクセス制御情報に合わせて、キャッシュラインサイズに分割する。
【００６４】
データ出力制御部１３は、キャッシュラインサイズに分割したデータにＥＣＣを付加する。そして、データ出力制御部１３は、ＥＣＣを付加したデータを主記憶装置６へ出力する。また、データ出力制御部１３は、主記憶装置６へ出力したデータをチェックサム算出部１４にも出力する。
【００６５】
チェックサム算出部１４は、主記憶装置６へ出力されたデータの入力をデータ出力制御部１３から受ける。また、チェックサム算出部１４は、チャネル装置２から受信したパケット毎に含まれていたデータの情報をデータ入力制御部１０から取得する。
【００６６】
チェックサム算出部１４は、チャネル装置２から受信したパケット単位に、主記憶装置６へ出力されたデータのチェックサムを算出する。チェックサム算出部１４が算出したチェックサムがシステム制御部側パケット単位チェックサムとなる。
【００６７】
そして、チェックサム算出部１４は、算出したシステム制御部側パケット単位チェックサムをチェックサム送信部１５へ出力する。このチェックサム算出部１４が、「第３計算部」の一例にあたる。また、システム制御部側パケット単位チェックサムが、「所定の転送単位毎に対するエラー情報」の一例にあたる。
【００６８】
チェックサム送信部１５は、システム制御部側パケット単位チェックサムの入力をチェックサム算出部１４から受ける。そして、チェックサム送信部１５は、受信したシステム制御部側パケット単位チェックサムをＣＲＣ算出部１６へ出力する。その後、チェックサム送信部１５は、ＣＲＣのチェックコードの入力をＣＲＣ算出部１６から受ける。そして、チェックサム送信部１５は、ＣＲＣのチェックコードを付加してシステム制御部側パケット単位チェックサムをチャネル装置２のチェックサム受信部２６へ出力する。
【００６９】
ＣＲＣ算出部１６は、システム制御部１へ送信するシステム制御部側パケット単位チェックサムをチェックサム送信部１５から受信する。そして、ＣＲＣ算出部１６は、各システム制御部側パケット単位チェックサムを基にＣＲＣのチェックコードを算出する。その後、ＣＲＣ算出部１６は、算出したＣＲＣのチェックコードをチェックサム送信部１５へ出力する。
【００７０】
ここで、システム制御装置１におけるデータ転送経路には、図示していないが実際にはレジスタが配置され、各レジスタにおいて、パリティ又はＥＣＣのチェックコードを用いたエラーのチェックが行われる。
【００７１】
次に、図３を参照して、図２の各部が有するハードウェアについて説明する。図３は、システム制御装置及びチャネル装置のハードウェアの概略を表す構成図である。
【００７２】
まず、チャネル装置２側から説明する。データ入力制御部２０は、ＩＮ２０１、Write  Data  Register（ＷＤＲ）２０２及びWrite−ＥＣＣ（Ｗ−ＥＣＣ）２０３を有する。
【００７３】
ＩＮ２０１は、ＩＯ装置７からパケットを受信するレジスタである。ＩＮ２０１は、ＩＯ装置７から受信したパケットを、ＣＲＣ−Calculator（ＣＲＣ−Ｃ）２１１へ出力する。そして、ＣＲＣ  Input  register（ＣＲＣＩ）２１２が保持するＣＲＣのチェックコードと受信したパケットのＣＲＣのチェックコードとが一致すると、ＩＮ２０１は、ＷＤＲ２０２及びCheck  Sum−Generator（ＣＳＭ−Ｇ）２５１へ受信パケットに含まれるデータを出力する。
【００７４】
ＷＤＲ２０２は、メモリ２２１へデータを書き込むためのデータ転送経路のレジスタである。ＷＤＲ２０２は、データの入力をＩＮ２０１から受ける。そして、ＷＤＲ２０２は、受信したデータをＷ−ＥＣＣ２０３へ出力する。
【００７５】
Ｗ−ＥＣＣ２０３は、データの入力をＷＤＲ２０２から受ける。そして、Ｗ−ＥＣＣ２０３は、受信したデータにＥＣＣのチェックコードを付加する。その後、Ｗ−ＥＣＣ２０３は、ＥＣＣのチェックコードを付加したデータをメモリ２２１へ格納する。
【００７６】
ＣＲＣチェック部２１は、ＣＲＣ−Ｃ２１１及びＣＲＣＩ２１２を有する。
【００７７】
ＣＲＣ−Ｃ２１１は、パケットの入力をＩＮ２０１から受ける。そして、ＣＲＣ−Ｃ２１１は、受信したパケットに含まれるデータを用いてＣＲＣのチェックコードを計算する。より詳しくは、ＣＲＣ−Ｃ２１１は、パケットに含まれるデータを一つ取得し、そのデータのＣＲＣのチェックコードを算出してＣＲＣＩ２１２に格納する。次に、ＣＲＣ−Ｃ２１１は、パケットに含まれる他のデータを取得し、ＣＲＣのチェックコードを算出する。そして、ＣＲＣ−Ｃ２１１は、算出したＣＲＣのチェックコードとＣＲＣＩ２１２に格納されているＣＲＣのチェックコードを用いて、前のデータと次のデータとを合わせたデータのＣＲＣのチェックコードを算出する。ＣＲＣ−Ｃ２１１は、このようなＣＲＣのチェックコードの算出を繰り返して、パケットに含まれるワード単位のＣＲＣのチェックコードを算出する。
【００７８】
ＣＲＣＩ２１２は、ＣＲＣ−Ｃ２１１が算出したＣＲＣのチェックコードを保持するレジスタである。
【００７９】
メモリ２２１は、データ一時格納部２２に対応する。
【００８０】
データ出力制御部２３は、Read−ＥＣＣ（Ｒ−ＥＣＣ）２３１、Read  Data  Register（ＲＤＲ）２３２及びＯＵＴ２３３を有する。
【００８１】
Ｒ−ＥＣＣ２３１は、メモリ２２１からデータを読み出す。そして、Ｒ−ＥＣＣ２３１は、読み出したデータに付加されているＥＣＣのチェックコードを取得してＥＣＣのチェックを行う。エラーが検出されなければ、Ｒ−ＥＣＣ２３１は、データをＲＤＲ２３２へ出力する。
【００８２】
ＲＤＲ２３２は、メモリ２２１から読み出されたデータをシステム制御装置１へ転送するためのデータ転送経路のデータレジスタである。ＲＤＲ２３２は、メモリ２２１から読み出されたデータの入力をＲ−ＥＣＣ２３１から受ける。そして、ＲＤＲ２３２は、受信したデータをＣＲＣ−Ｃ２４１及びＯＵＴ２３３へ出力する。
【００８３】
ＯＵＴ２３３は、データの入力をＲＤＲ２３２から受ける。そして、ＯＵＴ２３３は、受信したデータをパケットに分割する。また、ＯＵＴ２３３は、ＣＲＣ  Output  Register（ＣＲＣＯ）２４２から送信するパケットに付加するＣＲＣのチェックコードを取得する。そして、ＯＵＴ２３３は、取得したＣＲＣチェックコードをパケットに付加してシステム制御装置１へ出力する。
【００８４】
ＣＲＣ算出部２４は、ＣＲＣ−Ｃ２４１及びＣＲＣＯ２４２を有する。
【００８５】
ＣＲＣ−Ｃ２４１は、ＲＤＲ２３２から受信したデータを用いてＣＲＣのチェックコードを算出し、ＣＲＣＯ２４２に格納する。そして、ＣＲＣ−Ｃ２４１は、ＣＲＣＯ２４２に格納されているＣＲＣのチェックコードと受信データから算出したチェックコードとを用いたＣＲＣのチェックコードの算出を繰り返し、送信するパケットのワード単位のＣＲＣのチェックコードを算出する。ＣＲＣ−Ｃ２４１は、算出した送信するパケットのワード単位のＣＲＣのチェックコードをＣＲＣＯ２４２に格納する。
【００８６】
チェックサム算出部２５は、ＣＳＭ−Ｇ２５１及びCheck  Sum  Register（ＣＳＭＲ）２５２を有する。
【００８７】
ＣＳＭ−Ｇ２５１は、ＩＮ２０１から受信したデータ及びＣＳＭＲ２５２に格納されている既に算出したチェックサムを用いてチェックサムを算出することを繰り返して、チャネル装置側チェックサムを算出する。ＣＳＭ−Ｇ２５１は、算出したチャネル装置側チェックサムをＣＳＭＲ２５２に格納する。
【００８８】
ＣＳＭＲ２５２は、ＣＳＭ−Ｇ２５１によるチェックサムの計算結果を保持するレジスタである。
【００８９】
チェックサム受信部２６は、ＩＮ２６１、Acknowledge−Receiver（ＡＣＫ−Ｒ）２６２を有する。
【００９０】
ＩＮ２６１は、例えばシステム制御部側パケット単位チェックサムを含むパケット及びＡＣＫの信号をシステム制御装置１から受信する。そして、ＩＮ２６１は、ＡＣＫはＡＣＫ−Ｒ２６２へ出力する。また、ＩＮ２６１は、システム制御部側パケット単位チェックサムを含むパケットをＣＲＣ−Ｃ２７１へ出力する。そして、ＩＮ２６１は、ＣＲＣ−Ｃ２７１に格納されているＣＲＣのチェックコードと受信したパケットのＣＲＣのチェックコードとを比較しエラーの検出を行う。エラーが検出されなければ、ＩＮ２６１は、システム制御部側パケット単位チェックサムをＣＳＭ−Ｇ２８１へ出力する。
【００９１】
ＡＣＫ−Ｒ２６２は、ＩＮ２６１からＡＣＫを受信すると、ＣＲＣＩ２７２を初期化する。
【００９２】
ＣＲＣチェック部２７は、ＣＲＣ−Ｃ２７１及びＣＲＣＩ２７２を有する。
【００９３】
ＣＲＣ−Ｃ２７１は、ＩＮ２６１から受信したパケットに含まれるデータ及びＣＲＣＩ２７２に格納されている既に算出したＣＲＣのチェックコードを用いてＣＲＣのチェックコードを算出することを繰り返す。これにより、ＣＲＣ−Ｃ２７１は、パケットに含まれるワード単位のＣＲＣのチェックコードを算出する。ＣＲＣ−Ｃ２７１は、算出したパケットに含まれるワード単位のＣＲＣのチェックコードをＣＲＣＩ２７２に格納する。
【００９４】
ＣＲＣＩ２７２は、ＣＲＣ−Ｃ２７１によるＣＲＣのチェックコードの計算結果を保持するレジスタである。
【００９５】
チェックサム計算部２８は、ＣＳＭ−Ｇ２８１及びＣＳＭＲ２８２を有する。
【００９６】
ＣＳＭ−Ｇ２８１は、ＩＮ２６１から受信したシステム制御装置側パケット単位チェックサム及びＣＳＭＲ２８２に格納されている既に算出したチェックサムを用いてチェックサムを算出することを繰り返して、システム制御装置側チェックサムを算出する。ＣＳＭ−Ｇ２８１は、算出したシステム制御装置側チェックサムをＣＳＭＲ２８２に格納する。
【００９７】
ＣＳＭＲ２８２は、ＣＳＭ−Ｇ２８１によるチェックサムの計算結果を保持するレジスタである。
【００９８】
コンパレータ（Comparator:Ｃ）２９１は、エラー検出部２９にあたる。コンパレータ２９１は、チャネル装置側チェックサムをＣＳＭＲ２５２から取得する。また、コンパレータ２９１は、システム制御装置側チェックサムをＣＳＭＲ２８２から取得する。そして、コンパレータ２９１は、チャネル装置側チェックサムとシステム制御装置側チェックサムとを比較して、エラーの検出を行う。
【００９９】
データ入力制御部１０は、ＩＮ１０１、ＷＤＲ１０２及びＷ−ＥＣＣ１０３を有する。
【０１００】
ＩＮ１０１は、チャネル装置２からパケットを受信するレジスタである。ＩＮ１０１は、ＯＵＴ２３３から受信したパケットを、ＣＲＣ−Ｃ１１１へ出力する。そしてＣＲＣＩ１１２が保持するＣＲＣのチェックコードと受信したパケットのＣＲＣのチェックコードとが一致すると、ＩＮ１０１は、ＷＤＲ１０２へ受信パケットに含まれるデータを出力する。
【０１０１】
ＷＤＲ１０２は、ＦＩＦＯバッファ１２１へデータを書き込むためのデータ転送経路のレジスタである。ＷＤＲ１０２は、データの入力をＩＮ１０１から受ける。そして、ＷＤＲ１０２は、受信したデータをＷ−ＥＣＣ１０３へ出力する。
【０１０２】
Ｗ−ＥＣＣ１０３は、データの入力をＷＤＲ１０２から受ける。そして、Ｗ−ＥＣＣ１０３は、受信したデータにＥＣＣのチェックコードを付加する。その後、Ｗ−ＥＣＣ１０３は、ＥＣＣのチェックコードを付加したデータをＦＩＦＯバッファ１２１へ格納する。
【０１０３】
ＣＲＣチェック部１１は、ＣＲＣ−Ｃ１１１及びＣＲＣＩ１１２を有する。
【０１０４】
ＣＲＣ−Ｃ１１１は、ＩＮ１０１から受信したパケットに含まれるデータ及びＣＲＣＩ１１２に格納されている既に算出したＣＲＣのチェックコードを用いてＣＲＣのチェックコードを算出することを繰り返す。これにより、ＣＲＣ−Ｃ１１１は、パケットに含まれるワード単位のＣＲＣのチェックコードを算出する。ＣＲＣ−Ｃ１１１は、算出したパケットに含まれるワード単位のＣＲＣのチェックコードをＣＲＣＩ１１２に格納する。
【０１０５】
ＣＲＣＩ１１２は、ＣＲＣ−Ｃ１１１によるＣＲＣのチェックコードの計算結果を保持するレジスタである。
【０１０６】
ＦＩＦＯバッファ１２１は、データ一時格納部１２に対応する。
【０１０７】
データ出力制御部１３は、Ｒ−ＥＣＣ１３１、ＲＤＲ１３２及びＯＵＴ１３３を有する。
【０１０８】
Ｒ−ＥＣＣ１３１は、ＦＩＦＯバッファ１２１からデータを読み出す。そして、Ｒ−ＥＣＣ１３１は、読み出したデータに付加されているＥＣＣのチェックコードを取得してＥＣＣのチェックを行う。エラーが検出されなければ、Ｒ−ＥＣＣ１３１は、データをＲＤＲ１３２へ出力する。
【０１０９】
ＲＤＲ１３２は、ＦＩＦＯバッファ１２１から読み出されたデータを主記憶装置６へ転送するためのデータ転送経路のデータレジスタである。ＲＤＲ１３２は、ＦＩＦＯバッファ１２１から読み出されたデータの入力をＲ−ＥＣＣ１３１から受ける。そして、ＲＤＲ１３２は、受信したデータをＯＵＴ１３３及びＣＳＭ−Ｇ１４１へ出力する。
【０１１０】
ＯＵＴ１３３は、データの入力をＲＤＲ１３２から受ける。そして、ＯＵＴ１３３は、受信したデータをキャッシュラインサイズに分割する。そして、ＯＵＴ１３３は、分割したデータにＥＣＣのチェックコードを付加して主記憶装置６へ出力する。
【０１１１】
チェックサム算出部１４は、ＣＳＭ−Ｇ１４１及びＣＳＭＲ１４２を有する。
【０１１２】
ＣＳＭ−Ｇ１４１は、ＲＤＲ１３２から受信したデータ及びＣＳＭＲ１４２に格納されている既に算出したチェックサムを用いてチェックサムを算出することを繰り返し、システム制御装置側パケット単位チェックサムを算出する。ＣＳＭ−Ｇ１４１は、算出したシステム制御装置側パケット単位チェックサムをＣＳＭＲ１４２に格納する。
【０１１３】
ＣＳＭＲ１４２は、ＣＳＭ−Ｇ１４１によるチェックサムの計算結果を保持するレジスタである。
【０１１４】
チェックサム送信部１５は、ＡＣＫ−Generator（ＡＣＫ−Ｇ）１５１及びＯＵＴ１５２を有する。
【０１１５】
ＡＣＫ−Ｇ１５１は、チャネル装置２が送信した１パケット分のチェックサムの算出が終わり、システム制御装置側パケット単位チェックサムがＣＳＭＲ１４２に格納されると、ＡＣＫの返信指示をＯＵＴ１５２へ送信する。ＡＣＫ−１５１は、チャネル装置２から送信された全てのデータに対応するシステム制御装置側パケット単位チェックサムの算出が終わるまで、システム制御装置側パケット単位チェックサムが格納される度に返信指示の通知を行う。
【０１１６】
ＯＵＴ１５２は、ＡＣＫ−Ｇ１５１からＡＣＫの返信指示の通知を受信すると、ＡＣＫであるパケットヘッダ部分をＩＮ２６１へ出力する。
【０１１７】
続いて、ＯＵＴ１５２は、システム制御装置側パケット単位チェックサムをＣＳＭＲ１４２から取得する。また、ＯＵＴ１５２は、システム制御装置側パケット単位チェックサムを含むパケットに付加するＣＲＣのチェックコードをＣＲＣＯ１６２から取得する。そして、ＯＵＴ１５２は、システム制御装置側パケット単位チェックサムを含むパケットにＣＲＣのチェックコードを付加してＩＮ２６１へ送信する。
【０１１８】
ＣＲＣ算出部１６は、ＣＲＣ−Ｃ１６１及びＣＲＣＯ１６２を有する。
【０１１９】
ＣＲＣ−Ｃ１６１は、ＡＣＫ−Ｇ１５１からＡＣＫの返信指示が送信されると、システム制御装置側パケット単位チェックサムをＣＳＭＲ１４２から取得する。そして、ＣＲＣ−Ｃ１６１は、取得したシステム制御装置側パケット単位チェックサムを用いてシステム制御装置側パケット単位チェックサムのＣＲＣチェックコードを算出する。そして、ＣＲＣ−Ｃ１６１は、算出したシステム制御装置側パケット単位チェックサムのＣＲＣのチェックコードをＣＲＣＯ１６２に格納する。
【０１２０】
ＣＲＣＯ１６２は、ＣＲＣ−Ｃ１６１によるＣＲＣのチェックサムの計算結果を保持するレジスタである。
【０１２１】
次に、Ｄａｔａ＃１，＃２，＃３−１，＃３−２及び＃４が、ＩＯ装置７から主記憶装置６へ転送される場合を例に各部の処理及び転送されるデータの状態を具体的に説明する。まずは、図４及び５を用いて、この場合のデータの分割の状態について説明する。図４は、ＩＯ装置から主記憶装置へ送られるデータの分割の一例を示す図である。図５は、システム制御装置からチャネル装置へ送られるシステム制御装置側パケット単位チェックサムの分割の一例を示す図である。
【０１２２】
図４の状態３０１は、Ｄａｔａ＃１〜＃４がＩＯ装置７に格納された状態を表す。ＩＯ装置７に格納されている状態では、Ｄａｔａ＃１〜４は、１つの処理単位のデータ群であり、まとめて１つのＣＲＣのチェックコードであるＣＲＣ＃０が付加されている。すなわち、Ｄａｔａ＃１〜＃４が、このデータ送信におけるデータ全体である。
【０１２３】
状態３０２は、Ｄａｔａ＃１〜＃４がＩＯ装置７からチャネル装置２に送信される状態を表す。ＩＯ装置７は、データをパケットに分割し、Ｄａｔａ＃１及び＃２を含むパケット及びＤａｔａ＃３−１，＃３−２及び＃４を含むパケットを生成する。そして、ＩＯ装置７は、Ｄａｔａ＃１及び＃２を含むパケットにＣＲＣ＃１というＣＲＣのチェックコードを付加してチャネル装置２へ出力する。また、ＩＯ装置７は、Ｄａｔａ＃３−１，＃３−２及び＃４を含むパケットにＣＲＣ＃２というＣＲＣのチェックコードを付加してチャネル装置２へ出力する。
【０１２４】
状態３０３は、Ｄａｔａ＃１〜＃４がチャネル装置２からシステム制御装置１に送信される状態を表す。チャネル装置２は、データをチャネル装置２とシステム制御装置１との間で送受信を行うためのパケットに分割する。この場合、チャネル装置２は、Ｄａｔａ＃１，＃２及び＃３−１を含むパケット及びＤａｔａ＃３−２及び＃４を含むパケットを生成する。そして、チャネル装置２は、Ｄａｔａ＃１，＃２及び＃３−１を含むパケットにＣＲＣ＃３というＣＲＣのチェックコードを付加してシステム制御装置１へ出力する。また、チャネル装置２は、Ｄａｔａ＃３−２及び＃４を含むパケットにＣＲＣ＃４というＣＲＣのチェックコードを付加してシステム制御装置１へ出力する。
【０１２５】
状態３０４は、Ｄａｔａ＃１〜＃４がシステム制御装置１から主記憶装置６に送信される状態を表す。システム制御装置１は、データをキャッシュラインサイズに分割する。この場合、システム制御装置１は、Ｄａｔａ＃１〜＃４をそれぞれバラバラにする。そして、システム制御装置１は、バラバラにしたＤａｔａ＃１〜＃４のそれぞれを主記憶装置６へ出力する。
【０１２６】
状態３０５は、Ｄａｔａ＃１〜＃４が主記憶装置６に格納された状態を表す。Ｄａｔａ＃１〜＃４は、それぞれキャッシュライン毎に分割されて主記憶装置６に格納される。
【０１２７】
図５の状態３０６は、Ｄａｔａ＃１〜＃４が主記憶装置６に格納された状態を表す。この状態は図４の状態３０５と同じである。
【０１２８】
状態３０７は、システム制御装置１において算出されるシステム制御装置側パケット単位チェックサムを表す。ここで、実際には、システム制御装置１は、主記憶装置６へ送信したデータと同じデータを自装置内で用いてチェックサムを算出する。ただし、図５では、主記憶装置６に格納されたデータのいずれに対応するチェックサムかが分かり易いように、主記憶装置６のデータとチェックサムとを対応させる矢印を付加している。システム制御装置１は、チャネル装置２が送信したパケットと同じパケットの１パケット分のデータに対してチェックサムを算出する。ここでは、システム制御装置１は、Ｄａｔａ＃１，＃２及び＃３−１を含むパケットのシステム制御装置側パケット単位チェックサムとしてチェックサム＃１を算出する。また、システム制御装置１は、Ｄａｔａ＃３−２及び＃４を含むパケットのシステム制御装置側パケット単位チェックサムとしてチェックサム＃２を算出する。
【０１２９】
状態３０８は、システム制御装置側パケット単位チェックサムがシステム制御装置１から主記憶装置６に送信される状態を表す。システム制御装置１は、チェックサム＃１から算出したＣＲＣのチェックコードであるＣＲＣ＃３をチェックサム＃１に付加して、チャネル装置２へ送信する。また、システム制御装置１は、チェックサム＃２から算出したＣＲＣのチェックコードであるＣＲＣ＃４をチェックサム＃２に付加して、チャネル装置２へ送信する。
【０１３０】
次に、図６を参照して、以上で説明したデータ転送が行われる場合の、各部の一連の動作をまとめて説明する。図６は、データ転送を行う場合の各部の動作を表すタイミングチャートである。図６において、点線で囲われた箱は計算結果を表す。さらに、破線で囲われた箱は、各部が行う処理以外の経路上で行われるエラー検出処理を表す。そして、図６では、左端に示した各部の動作及び転送されるデータの状態を表す。
【０１３１】
ＩＯ装置７は、チャネル装置２へパケット４０１及び４０２を送信してデータ転送を行う（ステップＳ１）。ＩＮ２０１は、パケット４０１、すなわちＤａｔａ＃１，＃２及びＣＲＣ＃１を受信する。その後、ＩＮ２０１は、パケット４０２、すなわちＤａｔａ＃３−１，＃３−２，＃４及びＣＲＣ＃２を受信する。
【０１３２】
ＣＲＣ−Ｃ２１１及びＣＲＣＩ２１２は、パケット４０１に含まれるＤａｔａ＃１及び＃２からＣＲＣ計算を行いＣＲＣのチェックコードを算出する（ステップＳ２）。その後、ＣＲＣ−Ｃ２１１及びＣＲＣ２１２は、ＣＲＣチェック、すなわちＣＲＣによるエラー検出を行う（ステップＳ３）。次に、ＣＲＣ−Ｃ２１１及びＣＲＣ２１２は、パケット４０２に含まれるＤａｔａ＃３−１，＃３−２及び＃４からＣＲＣ計算を行いＣＲＣのチェックコードを算出する（ステップＳ４）。その後、ＣＲＣ−Ｃ２１１及びＣＲＣ２１２は、ＣＲＣチェックを行う（ステップＳ５）。
【０１３３】
ＷＤＲ２０２及びＷ−ＥＣＣ２０３により、Ｄａｔａ＃１及び＃２がメモリ２２１へ書き込まれる（ステップＳ６）。次に、ＷＤＲ２０２及びＷ−ＥＣＣ２０３により、Ｄａｔａ＃３−１，＃３−２及び＃４がメモリ２２１へ書き込まれる（ステップＳ７）。
【０１３４】
さらに、データ転送経路において、各データは、パリティ又はＥＣＣのチェックを受ける（ステップＳ８）。
【０１３５】
また、ＣＳＭ−Ｇ２５１は、Ｄａｔａ＃１及び＃２を用いてチェックサムを計算する（ステップＳ９）。算出されたＤａｔａ＃１及び＃２のチェックサムは、ＣＳＭＲ２５２に格納される。さらに、ＣＳＭ−Ｇ２５１は、Ｄａｔａ＃３−１，＃３−２及び＃４とＣＳＭＲ２５２に格納されたＤａｔａ＃１及び＃２とを用いて、Ｄａｔａ＃１〜＃４のチェックサムを算出する（ステップＳ１０）。算出されたＤａｔａ＃１〜＃４のチェックサム、すなわちチャネル装置側チェックサムは、ＣＳＭＲ２５２に格納される。
【０１３６】
Ｒ−ＥＣＣ２３１及びＲＤＲ２３２は、Ｄａｔａ＃１及び＃２をメモリ２２１から読み出す（ステップＳ１１）。次に、Ｒ−ＥＣＣ２３１及びＲＤＲ２３２は、Ｄａｔａ＃３−１，＃３−２及び＃４をメモリ２２１から読み出す（ステップＳ１２）。
【０１３７】
さらに、データ転送経路において、各データは、パリティ又はＥＣＣのチェックを受ける（ステップＳ１３）。
【０１３８】
ＣＲＣ−Ｃ２４１は、チャネル装置２とシステム制御装置１との間のデータの授受において使用される固有のパケット長分のデータのＣＲＣ計算を行う。ここでは、ＣＲＣ−Ｃ２４１は、最初のパケットのＣＲＣ計算として、Ｄａｔａ＃１，＃２及び＃３−１を含むパケットのＣＲＣ計算を行う（ステップＳ１４）。そして、ＣＲＣ−Ｃ２４１は、算出したＣＲＣのチェックコードであるＣＲＣ＃３をＣＲＣＯ２４２に格納する。また、ＣＲＣ−Ｃ２４１は、次のパケットのＣＲＣ計算として、Ｄａｔａ＃３−２及び＃４を含むパケットのＣＲＣ計算を行う（ステップＳ１５）。そして、ＣＲＣ−Ｃ２４１は、算出したＣＲＣのチェックコードであるＣＲＣ＃４をＣＲＣＯ２４２に格納する。
【０１３９】
ＯＵＴ２３３は、Ｄａｔａ＃１，＃２及び＃３−１にＣＲＣ＃３を付加したパケット４０３をシステム制御装置１のＩＮ１０１へ送信する。また、ＯＵＴ２３３は、Ｄａｔａ＃３−２及び＃４にＣＲＣ＃４を付加したパケット４０４をシステム制御装置１のＩＮ１０１へ送信する。これにより、チャネ装置２からシステム制御装置１へのデータ転送が行われる（ステップＳ１６）。ＩＮ１０１は、パケット４０３、すなわちＤａｔａ＃１，＃２，＃２−１及びＣＲＣ＃３を受信する。その後、ＩＮ１０１は、パケット４０４、すなわちＤａｔａ＃３−２，＃４及びＣＲＣ＃４を受信する。
【０１４０】
ＣＲＣ−Ｃ１１１及びＣＲＣＩ１１２は、パケット４０３に含まれるＤａｔａ＃１，＃２及び＃３−１からＣＲＣ計算を行いＣＲＣのチェックコードを算出する（ステップＳ１７）。その後、ＣＲＣ−Ｃ１１１及びＣＲＣ１１２は、ＣＲＣチェックを行う（ステップＳ１８）。次に、ＣＲＣ−Ｃ１１１及びＣＲＣ１１２は、パケット４０４に含まれるＤａｔａ＃３−２及び＃４からＣＲＣ計算を行いＣＲＣのチェックコードを算出する（ステップＳ１９）。その後、ＣＲＣ−Ｃ１１１及びＣＲＣ１１２は、ＣＲＣチェックを行う（ステップＳ２０）。
【０１４１】
ＷＤＲ１０２及びＷ−ＥＣＣ１０３により、Ｄａｔａ＃１，＃２及び＃３−１がＦＩＦＯバッファ１２１へ書き込まれる（ステップＳ２１）。次に、ＷＤＲ１０２及びＷ−ＥＣＣ１０３により、Ｄａｔａ＃３−２及び＃４がＦＩＦＯバッファ１２１へ書き込まれる（ステップＳ２２）。
【０１４２】
さらに、データ転送経路において、各データは、パリティ又はＥＣＣのチェックを受ける（ステップＳ２３）。
【０１４３】
Ｒ−ＥＣＣ１３１及びＲＤＲ１３２は、Ｄａｔａ＃１〜＃４をキャッシュラインサイズに合わせてＦＩＦＯバッファ１２１から読み出す（ステップＳ２４）。
【０１４４】
ＯＵＴ１３３が、キャッシュラインサイズに分割されたＤａｔａ＃１〜＃４を主制御装置６へ送信することで、システム制御装置１から主記憶装置６へのデータ転送が行われる（ステップＳ２５）。
【０１４５】
ＣＳＭ−Ｇ１４１は、ＲＤＲ１３２からＯＵＴ１３３へ送信されたデータを取得する。そして、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃１からＤａｔａ＃１のチェックサムを求める（ステップＳ２６）。そして、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃１のチェックサムをＣＳＭＲ１４２に格納する。次に、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃２及びＣＳＭＲ１４２に格納されたＤａｔａ＃１のチェックサムを用いてＤａｔａ＃１及び＃２のチェックサムを求める（ステップＳ２７）。そして、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃１及び＃２のチェックサムをＣＳＭＲ１４２に格納する。次に、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃３−１及びＣＳＭＲ１４２に格納されたＤａｔａ＃１及び＃２のチェックサムを用いてＤａｔａ＃１，＃２及び＃３−１のチェックサムであるチェックサム＃１を求める（ステップＳ２８）。そして、ＣＳＭ−Ｇ１４１は、チェックサム＃１をＣＳＭＲ１４２に格納する。
【０１４６】
ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃３−２からＤａｔａ＃３−２のチェックサムを求める（ステップＳ２９）。そして、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃３−２のチェックサムをＣＳＭＲ１４２に格納する。次に、ＣＳＭ−Ｇ１４１は、Ｄａｔａ＃４及びＣＳＭＲ１４２に格納されたＤａｔａ＃３−２のチェックサムを用いてＤａｔａ＃３−２及び＃４のチェックサムであるチェックサム＃２を求める（ステップＳ３０）。そして、ＣＳＭ−Ｇ１４１は、チェックサム＃２をＣＳＭＲ１４２に格納する。
【０１４７】
ＣＲＣ−Ｃ１６１は、チェックサム＃１を用いてＣＲＣ計算を行う（ステップＳ３１）。そして、ＣＲＣ−Ｃ１６１は、算出したＣＲＣのチェックコードであるＣＲＣ＃５をＣＲＣＯ１６２に格納する。次に、ＣＲＣ−Ｃ１６１は、チェックサム＃２を用いてＣＲＣ計算を行う（ステップＳ３２）。そして、ＣＲＣ−Ｃ１６１は、算出したＣＲＣのチェックコードであるＣＲＣ＃６をＣＲＣＯ１６２に格納する。
【０１４８】
ＯＵＴ１５２は、チェックサム＃１にＣＲＣ＃５を付加したパケット４０５をチャネル装置２のＩＮ２６１へ送信する。また、ＯＵＴ１５２は、チェックサム＃２にＣＲＣ＃６を付加したパケット４０６をＩＮ２６１へ送信する。これにより、システム制御装置１からチャネル装置２へのデータ転送が行われる（ステップＳ３３）。ＩＮ２６１は、パケット４０５、すなわちチェックサム＃１及びＣＲＣ＃５を受信する。その後、ＩＮ２６１は、パケット４０６、すなわちチェックサム＃２及びＣＲＣ＃６を受信する。
【０１４９】
ＣＲＣ−Ｃ２７１及びＣＲＣＩ２７２は、パケット４０５に含まれるチェックサム＃１からＣＲＣ計算を行いＣＲＣのチェックコードを算出する（ステップＳ３４）。その後、ＣＲＣ−Ｃ２７１及びＣＲＣ２７２は、ＣＲＣチェックを行う（ステップＳ３５）。次に、ＣＲＣ−Ｃ１７１及びＣＲＣ１７２は、パケット４０６に含まれるチェックサム＃２からＣＲＣ計算を行いＣＲＣのチェックコードを算出する（ステップＳ３６）。その後、ＣＲＣ−Ｃ２７１及びＣＲＣ２７２は、ＣＲＣチェックを行う（ステップＳ３７）。
【０１５０】
ＣＳＭ−Ｇ２８１は、チェックサム＃１及びチェックサム＃２を用いてＤａｔａ＃１〜＃４の全体のチェックサム、すなわちシステム制御装置側チェックサムを求める（ステップＳ３８）。
【０１５１】
コンパレータ２９１は、システム制御装置側チェックサムとチャネル装置側チェックサムとを比較してエラー検出を行う（ステップＳ３９）。
【０１５２】
次に、図７を参照して、チャネル装置２がＩＯ装置７からデータを受信する動作を説明する。図７は、チャネル装置がＩＯ装置からデータを受信する動作のフローチャートである。
【０１５３】
ＩＯ装置７からＩＮ２０１へデータの入力が開始されると、データ入力制御部２０は、ＩＯ装置７から受信したデータのチェックサム結果を保持するチェックサム算出部２５が有するレジスタであるＣＳＭＲ２５２を初期化する（ステップＳ１０１）。
【０１５４】
次に、データ入力制御部２０は、パケットのヘッダ部分（以下、「パケットヘッダ」という。）を受信したか否かを判定する（ステップＳ１０２）。パケットヘッダを受信していない場合（ステップＳ１０２：否定）、データ入力制御部２０は、パケットヘッダを受信するまで待機する。
【０１５５】
これに対して、パケットヘッダを受信した場合（ステップＳ１０２：肯定）、データ入力制御部２０は、パケット単位にＣＲＣのチェック結果を保持するＣＲＣチェック部２１が有するレジスタであるＣＲＣＩ２１２を初期化する（ステップＳ１０３）。
【０１５６】
そして、データ入力制御部２０は、ＩＯ装置７からデータの入力を受ける（ステップＳ１０４）。
【０１５７】
ＣＲＣチェック部２１は、入力されたデータのＣＲＣ計算を行い、ＣＲＣのチェックコードを算出する（ステップＳ１０５）。
【０１５８】
チェックサム算出部２５は、入力されたデータのチェックサムを計算する（ステップＳ１０６）。
【０１５９】
データ入力制御部２０は、入力されたデータをデータ一時格納部２２へ書き込む（ステップＳ１０７）。
【０１６０】
データ入力制御部２０は、パケットデータ最後尾を受信したか否かを判定する（ステップＳ１０８）。最後尾を受信していない場合（ステップＳ１０８：否定）、データ入力制御部２０は、ステップＳ１０４へ戻る。すなわち、データ入力制御部２０は、１パケット分のデータを受け取るまで、処理を繰り返す。
【０１６１】
これに対して、パケットデータ最後尾を受信した場合（ステップＳ１０８：肯定）、データ入力制御部２０は、受信したデータの中からＣＲＣのチェックコードを取得する（ステップＳ１０９）。そして、データ入力制御部２０は、ＣＲＣＩ２１２に格納されているパケットのＣＲＣのチェックコードと取得したＣＲＣのチェックコードとを比較し、ＣＲＣによるエラー検出を行う（ステップＳ１１０）。
【０１６２】
データ入力制御部２０は、データ転送終了条件を検出したか否かを判定する（ステップＳ１１１）。ここで、データ転送終了条件とは、例えば、ＩＯ装置７からのデータ転送終了の通知の受信などである。データ転送終了条件を検出していない場合（ステップＳ１１１：否定）、データ入力制御部２０は、ステップＳ１０２へ戻る。
【０１６３】
これに対して、データ転送終了条件を検出した場合（ステップＳ１１１：肯定）、データ入力制御部２０は、データ受信処理を終了する。
【０１６４】
次に、図８を参照して、チャネル装置２がシステム制御装置１へデータを送信する動作を説明する。図８は、チャネル装置がシステム制御装置へデータを送信する動作のフローチャートである。
【０１６５】
データ出力制御部２３は、データ転送が開始されると、データ一時格納部２２を監視し、パケット生成が可能なデータ量がデータ一時格納部２２にあるか否かを判定する（ステップＳ２０１）。パケット生成可能なデータ量がない場合（ステップＳ２０１：否定）、データ出力制御部２３は、パケット生成が可能なデータ量がデータ一時格納部２２に溜まるまで待機する。
【０１６６】
これに対して、パケット生成可能なデータ量がある場合（ステップＳ２０１：肯定）、データ出力制御部２３は、パケットヘッダをシステム制御装置１へ出力する（ステップＳ２０２）。
【０１６７】
そして、データ出力制御部２３は、パケット単位にＣＲＣのチェックコードを保持するＣＲＣ算出部２４のレジスタであるＣＲＣＯ２４２を初期化する（ステップＳ２０３）。
【０１６８】
次に、データ出力制御部２３は、データ一時格納部２２からデータを読み出す（ステップＳ２０４）。
【０１６９】
そして、データ出力制御部２３は、読み出したデータに対してＥＣＣのチェックを行い、パリティを付加してシステム制御装置１にデータを出力する（ステップＳ２０５）。例えば、データ出力制御部２３は、図３のＲＤＲ２３２にパリティを付加したデータをセットし、タイミングを調整してＯＵＴ２３３へデータをセットしシステム制御装置１に転送する。
【０１７０】
ＣＲＣ算出部２４は、データ出力制御部２３が読み出したデータに対してＣＲＣ計算を行い、結果をＣＲＣＯ２４２に格納する（ステップＳ２０６）。
【０１７１】
データ出力制御部２３は、パケットのデータ最後尾を送信したか否かを判定する（ステップＳ２０７）。パケットのデータ最後尾を送信していない場合（ステップＳ２０７：否定）、データ出力制御部２３は、ステップＳ２０４へ戻る。すなわち、データ出力制御部２３は、１パケット分のデータを送信するまで処理を繰り返す。
【０１７２】
パケットのデータ最後尾を送信した場合（ステップＳ２０７：肯定）、データ出力制御部２３は、ＣＲＣ算出部２４が算出したＣＲＣのチェックコードをシステム制御装置１へ出力する（ステップＳ２０８）。
【０１７３】
その後、データ出力制御部２３は、データ転送終了条件を検出したか否かを判定する（ステップＳ２０９）。ここで、データ転送終了検出条件とは、例えば、最後のデータであることを示すフラグがついたデータの送信などである。データ転送終了条件を検出していない場合（ステップＳ２０９：否定）、データ出力制御部２３は、ステップＳ２０１へ戻る。
【０１７４】
これに対して、データ転送終了条件を検出した場合（ステップＳ２０９：肯定）、データ出力制御部２３は、データ送信処理を終了する。
【０１７５】
次に、図９を参照して、システム制御装置１がチャネル装置２からデータを受信する動作を説明する。図９は、システム制御装置がチャネル装置からデータを受信する動作のフローチャートである。
【０１７６】
データ入力制御部１０は、パケットヘッダを受信したか否かを判定する（ステップＳ３０１）。パケットヘッダを受信していない場合（ステップＳ３０１：否定）、データ入力制御部１０は、パケットヘッダを受信するまで待機する。
【０１７７】
これに対して、パケットヘッダを受信した場合（ステップＳ３０１：肯定）、データ入力制御部１０は、パケット単位にＣＲＣのチェック結果を保持するＣＲＣチェック部１１が有するレジスタであるＣＲＣＩ１１２を初期化する（ステップＳ３０２）。
【０１７８】
そして、データ入力制御部１０は、チャネル装置２からデータの入力を受ける（ステップＳ３０３）。
【０１７９】
ＣＲＣチェック部１１は、入力されたデータのＣＲＣ計算を行い、ＣＲＣのチェックコードを算出する（ステップＳ３０４）。
【０１８０】
データ入力制御部１０は、入力されたデータをデータ一時格納部１２へ書き込む（ステップＳ３０５）。
【０１８１】
データ入力制御部１０は、パケットデータ最後尾を受信したか否かを判定する（ステップＳ３０６）。最後尾を受信していない場合（ステップＳ３０６：否定）、データ入力制御部２０は、ステップＳ３０３へ戻る。すなわち、データ入力制御部１０は、１パケット分のデータを受け取るまで、処理を繰り返す。
【０１８２】
これに対して、パケットデータ最後尾を受信した場合（ステップＳ３０６：肯定）、データ入力制御部１０は、受信したデータの中からＣＲＣのチェックコードを取得する（ステップＳ３０７）。そして、データ入力制御部１０は、ＣＲＣＩ１１２に格納されているパケットのＣＲＣのチェックコードと取得したＣＲＣのチェックコードとを比較し、ＣＲＣによるエラー検出を行う（ステップＳ３０８）。
【０１８３】
データ入力制御部１０は、チャネル装置２とのパス閉塞条件を検出したか否かを判定する（ステップＳ３０９）。ここで、パス閉塞条件とは、例えば、チャネルのオフライン設定のチャネル装置２との接続切り離しなどである。パス閉塞条件を検出していない場合（ステップＳ３０９：否定）、データ入力制御部１０は、ステップＳ３０１へ戻る。
【０１８４】
これに対して、パス閉塞条件を検出した場合（ステップＳ３０９：肯定）、データ入力制御部１０は、データ受信処理を終了する。
【０１８５】
次に、図１０を参照して、システム制御装置１がチャネル装置２へデータを送信する動作を説明する。図１０は、システム制御装置がチャネル装置へデータを送信する動作のフローチャートである。
【０１８６】
データ出力制御部１３は、データ一時格納部１２を監視し、メモリアクセスが可能なデータ量、すなわちチャネル装置２から受信した１パケット分のデータ量がデータ一時格納部１２にあるか否かを判定する（ステップＳ４０１）。メモリアクセス可能なデータ量がない場合（ステップＳ４０１：否定）、データ出力制御部１３は、メモリアクセスが可能なデータ量がデータ一時格納部１２に溜まるまで待機する。
【０１８７】
これに対して、メモリアクセス可能なデータ量がある場合（ステップＳ４０１：肯定）、データ出力制御部１３は、次の処理を行う。データ出力制御部１３は、データ一時格納部１２から読み出したデータのチェックサム結果を保持するためのチェックサム算出部１４が有するレジスタであるＣＳＭＲ１４２を初期化する（ステップＳ４０２）。
【０１８８】
さらに、データ出力制御部１３は、データをキャッシュラインサイズに分割して主記憶装置６へ格納するための初期化を行う（ステップＳ４０３）。
【０１８９】
次に、データ出力制御部１３は、データ一時格納部１２からデータを読み出す（ステップＳ４０４）。そして、データ出力制御部１３は、読み出したデータに対してＥＣＣのチェックを行った後、再度ＥＣＣを付加して、主記憶装置６へデータを出力する（ステップＳ４０５）。例えば、データ出力制御部１３は、図３のＲＤＲ１３２にＥＣＣを付加したデータをセットし、タイミングを調整してＯＵＴ１３３へデータをセットし主記憶装置６へ転送する。
【０１９０】
チェックサム算出部１４は、データ出力制御部１３が主記憶装置６へ出力したデータのチェックサムを計算し、算出したチェックサムをＣＳＭＲ１４２へセットする（ステップＳ４０６）。
【０１９１】
データ出力制御部１３は、１キャッシュラインのデータの出力が終了したか否かを判定する（ステップＳ４０７）。１キャッシュラインのデータの出力が終了していない場合（ステップＳ４０７：否定）、データ出力制御部１３は、ステップＳ４０４へ戻る。
【０１９２】
これに対して、１キャッシュラインのデータの出力が終了した場合（ステップＳ４０７：肯定）、データ出力制御部１３は、１パケット分のデータの出力が終了したか否かを判定する（ステップＳ４０８）。１パケット分のデータの出力が終了していない場合（ステップＳ４０８：否定）、データ出力制御部１３は、ステップＳ４０３へ戻る。
【０１９３】
これに対して、１パケット分のデータの出力が終了した場合（ステップＳ４０８：肯定）、データ出力制御部１３は、ＡＣＫである返信用のパケットヘッダをチャネル装置２へ出力する（ステップＳ４０９）。
【０１９４】
チェックサム送信部１５は、チェックサム算出部１４が保持する１パケット分のチェックサムを取得しチャネル装置２へ出力する（ステップＳ４１０）。
【０１９５】
ＣＲＣ算出部１６は、チェックサム送信部１５が送信したデータに対してＣＲＣ計算を行い、結果をＣＲＣＯ１６２に格納する（ステップＳ４１１）。
【０１９６】
そして、チェックサム送信部１５は、ＣＲＣ算出部１６が算出したＣＲＣのチェックコードをチャネル装置２へ出力する（ステップＳ４１２）。
【０１９７】
その後、データ出力制御部１３は、主記憶アクセス閉塞条件を検出したか否かを判定する（ステップＳ４１３）。ここで、主記憶アクセス閉塞条件とは、例えば、構成変更による主記憶装置６とシステム制御装置１とのパス接続切り離しなどである。主記憶アクセス閉塞条件を検出していない場合（ステップＳ４１３：否定）、データ出力制御部１３は、ステップＳ４０１へ戻る。
【０１９８】
これに対して、主記憶アクセス閉塞条件を検出した場合（ステップＳ４１３：肯定）、データ出力制御部１３は、データ送信処理を終了する。
【０１９９】
次に、図１１を参照して、チャネル装置２がシステム制御装置１からチェックサムを受信する動作を説明する。図１１は、チャネル装置がシステム制御装置からチェックサムを受信する動作のフローチャートである。
【０２００】
チェックサム受信部２６は、システム制御装置１から受信したチェックサムを加算するためのチェックサム計算部２８が有するレジスタであるＣＳＭＲ２８２を初期化する（ステップＳ５０１）。
【０２０１】
チェックサム受信部２６は、返信用のパケットヘッダを受信したか否かを判定する（ステップＳ５０２）。パケットヘッダを受信していない場合（ステップＳ５０２：否定）、チェックサム受信部２６は、パケットヘッダを受信するまで待機する。
【０２０２】
これに対して、パケットヘッダを受信した場合（ステップＳ５０２：肯定）、チェックサム受信部２６は、パケット単位にＣＲＣのチェックコードを保持するためのＣＲＣチェック部２７が有するレジスタであるＣＲＣＩ２７２を初期化する（ステップＳ５０３）。
【０２０３】
そして、チェックサム受信部２６は、システム制御装置１からシステム制御装置側パケット単位チェックサムを受信する（ステップＳ５０４）。
【０２０４】
ＣＲＣチェック部２７は、入力されたシステム制御装置側パケット単位チェックサムのＣＲＣ計算を行い、算出したＣＲＣのチェックコードをＣＲＣＩ２７２に格納する（ステップＳ５０５）。
【０２０５】
また、チェックサム受信部２６は、システム制御装置側パケット単位チェックサムに付加されていたＣＲＣのチェックコードを取得する（ステップＳ５０６）。
【０２０６】
チェックサム受信部２６は、ＣＲＣＩ１７２に格納されているパケットのＣＲＣのチェックコードと取得したＣＲＣのチェックコードとを比較し、ＣＲＣによるエラー検出を行う（ステップＳ５０７）。
【０２０７】
次に、チェックサム受信部２６は、受信したシステム制御装置側パケット単位チェックサムをチェックサム計算部２８へ出力する。チェックサム計算部２８は、受信したシステム制御装置側パケット単位チェックサムを用いてチェックサムの計算を行う（ステップＳ５０８）。具体的には、チェックサム計算部２８は、システム制御装置側パケット単位チェックサムを加算していく。
【０２０８】
チェックサム受信部２６は、データ転送終了条件を検出したか否かを判定する（ステップＳ５０９）。ここで、データ転送終了条件とは、例えば、システム制御装置１からのデータ転送終了の通知の受信などである。データ転送終了条件を検出していない場合（ステップＳ５０９：否定）、チェックサム受信部２６は、ステップＳ５０２へ戻る。
【０２０９】
これに対して、データ転送終了条件を検出した場合（ステップＳ５０９：肯定）、チェックサム計算部２８は、システム制御装置側チェックサムとチャネル装置側チェックサムを用いて比較によるエラー検出を行う（ステップＳ５１０）。
【０２１０】
以上に説明したように本実施例に係る情報処理装置は、チャネル装置とシステム制御装置が中継するデータ転送において、チャネル装置が受信したデータとシステム制御装置が送出した信号とに対して、チェックサムを用いてエラーチェックを行う。これにより、チャネル装置とシステム制御装置との間でデータ転送を行う際のパリティやＥＣＣエラーで検出困難なエラーを検出することができる。さらに、チャネル装置側でチェックサムによるエラー検出を行うので、チェックサムを付加せずにデータの転送を行うことができ、転送効率の低下を回避することができる。すなわち、本実施例に係る情報処理装置は、高い転送効率で確実なエラー検出を行うことができる。
【０２１１】
また、システム制御装置側でチェックを行う場合、データを格納するＦＩＦＯなどの格納部へ格納する以前にチェックを行うため、データ転送経路上でエラー検出及び保証できない個所が発生してしまう。この点、本実施例に係る情報処理装置は、チャネル装置側でチェックサムによるエラー検出を行うので、システム制御装置が外部へ送出するデータをエラー検出に用いることができ、データ転送経路上のすべての個所のエラー検出及び保証を行うことができる。
【符号の説明】
【０２１２】
１  システム制御装置
２，３  チャネル装置
４  スイッチ装置
５  ＣＰＵ
６  主記憶装置
７，８  ＩＯ装置
１０  データ入力制御部
１１  ＣＲＣチェック部
１２  データ一時格納部
１３  データ出力制御部
１４  チェックサム算出部
１５  チェックサム送信部
１６  ＣＲＣ算出部
２０  データ入力制御部
２１  ＣＲＣチェック部
２２  データ一時格納部
２３  データ出力制御部
２４  ＣＲＣ算出部
２５  チェックサム算出部
２６  チェックサム受信部
２７  ＣＲＣチェック部
２８  チェックサム計算部
２９  エラー検出部
【図１】
2015146554.tif 000003
【図２】
2015146554.tif 000004
【図３】
2015146554.tif 000005
【図４】
2015146554.tif 000006
【図５】
2015146554.tif 000007
【図６】
2015146554.tif 000008
【図７】
2015146554.tif 000009
【図８】
2015146554.tif 000010
【図９】
2015146554.tif 000011
【図１０】
2015146554.tif 000012
【図１１】
2015146554.tif 000013
【図１２】
2015146554.tif 000014