(57)【要約】【課題】バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高める。【解決手段】コントロールレジスタ１７にデータパリティエラー発生を示すビットを形成し、バスインタフェース１４がバスマスタ時にデータパリティエラーが発生した場合には、コントロールレジスタ１７のパリティエラービットのステータスがエラーを示すとともに、シーケンス番号をコントロールレジスタ１７のエラーステータス領域に書き込むようにし、メインボード５に対してエラー通知するようにした。これにより、エラー通知を受けたメインボード５側では、コントロールレジスタ１７のエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータをサブシステムモジュール１０に再送することができるようになるので、バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高めることができる。【選択図】        図２
2006260273.tif 000002
【特許請求の範囲】
【請求項１】
各種の電子回路を備えるメインボードにパラレルバス接続され、前記メインボード上のメモリからデータ転送されるサブシステムモジュールにおいて、
前記メインボード上のメモリからデータ転送されたデータを一時的に記憶するための記憶部と、
前記メインボード上のメモリに記憶されているデータを直接読み出して前記記憶部にＤＭＡ（Direct Memory Access）転送するＤＭＡコントローラと、
このＤＭＡコントローラによる前記パラレルバスを使用したＤＭＡ転送の際に、バスマスタとなるバスインタフェースと、
前記メインボードからのアクセスも可能であって、前記バスインタフェースがバスマスタ時におけるデータパリティエラー発生を示すビットを形成したコントロールレジスタと、
前記ＤＭＡコントローラにより前記記憶部に記憶された転送データにエラーが生じているか否かを判定する個別データエラー判定手段と、
この個別データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にするとともに、シーケンス番号を前記コントロールレジスタのエラーステータス領域に書き込む個別データエラー書込み手段と、
前記コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、前記メインボードに対してエラー通知するエラー通知手段と、
を備えることを特徴とするサブシステムモジュール。
【請求項２】
前記個別データエラー判定手段は、前記ＤＭＡコントローラにより前記記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、前記バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、前記バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定する、
ことを特徴とする請求項１記載のサブシステムモジュール。
【請求項３】
前記エラー通知手段は、前記メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめて前記メインボードに対してエラー通知する、
ことを特徴とする請求項１記載のサブシステムモジュール。
【請求項４】
前記メインボード上のメモリからのデータ転送が終了してデータが揃った段階で、転送データ全体にエラーが生じているか否かを判定する全体データエラー判定手段を更に備えており、
この全体データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にし、前記メインボードに対してエラー通知する、
ことを特徴とする請求項１ないし３のいずれか一記載のサブシステムモジュール。
【請求項５】
前記パラレルバスは、ＰＣＩ（Peripheral Component Interconnect）バスである、
ことを特徴とする請求項１ないし４のいずれか一記載のサブシステムモジュール。
【請求項６】
各種の電子回路を備えるメインボードと、このメインボードにパラレルバス接続され、前記メインボード上のメモリからデータ転送されるサブシステムモジュールと、を備えている情報処理装置において、
前記サブシステムモジュールは、
前記メインボード上のメモリからデータ転送されたデータを一時的に記憶するための記憶部と、
前記メインボード上のメモリに記憶されているデータを直接読み出して前記記憶部にＤＭＡ（Direct Memory Access）転送するＤＭＡコントローラと、
このＤＭＡコントローラによる前記パラレルバスを使用したＤＭＡ転送の際に、バスマスタとなるバスインタフェースと、
前記メインボードからのアクセスも可能であって、前記バスインタフェースがバスマスタ時におけるデータパリティエラー発生を示すビットを形成したコントロールレジスタと、
前記ＤＭＡコントローラにより前記記憶部に記憶された転送データにエラーが生じているか否かを判定する個別データエラー判定手段と、
この個別データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にするとともに、シーケンス番号を前記コントロールレジスタのエラーステータス領域に書き込む個別データエラー書込み手段と、
前記コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、前記メインボードに対してエラー通知するエラー通知手段と、
を備え、
前記メインボードは、
前記サブシステムモジュールからエラー通知を受け取ると、前記コントロールレジスタのエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータを前記サブシステムモジュールに再送する再送手段を備える、
ことを特徴とする情報処理装置。
【請求項７】
前記個別データエラー判定手段は、前記ＤＭＡコントローラにより前記記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、前記バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、前記バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定する、
ことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記エラー通知手段は、前記メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめて前記メインボードに対してエラー通知する、
ことを特徴とする請求項６記載の情報処理装置。
【請求項９】
前記サブシステムモジュールは、
前記メインボード上のメモリからのデータ転送が終了してデータが揃った段階で、転送データ全体にエラーが生じているか否かを判定する全体データエラー判定手段を更に備えており、
この全体データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にし、前記メインボードに対してエラー通知する、
ことを特徴とする請求項６ないし８のいずれか一記載の情報処理装置。
【請求項１０】
前記パラレルバスは、ＰＣＩ（Peripheral Component Interconnect）バスである、
ことを特徴とする請求項６ないし９のいずれか一記載の情報処理装置。
【請求項１１】
各種の電子回路を備えるメインボードにパラレルバス接続され、前記メインボード上のメモリからデータ転送されるサブシステムモジュールにおけるデータ転送方法であって、
ＤＭＡコントローラによって前記メインボード上のメモリに記憶されているデータを直接読み出し、データを一時的に記憶するための記憶部にＤＭＡ（Direct Memory Access）転送するＤＭＡ転送工程と、
このＤＭＡ転送工程により前記記憶部に記憶された転送データにエラーが生じているか否かを判定する個別データエラー判定工程と、
この個別データエラー判定工程により転送データにエラーが生じていると判定された場合、前記メインボードからのアクセスも可能であって、バスインタフェースがバスマスタ時におけるデータパリティエラー発生を示すビットを形成したコントロールレジスタのパリティエラービットのステータスをエラー発生にするとともに、シーケンス番号を前記コントロールレジスタのエラーステータス領域に書き込む個別データエラー書込み工程と、
前記コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、前記メインボードに対してエラー通知するエラー通知工程と、
を含むことを特徴とするサブシステムモジュールにおけるデータ転送方法。
【請求項１２】
前記個別データエラー判定工程は、前記記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、前記バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、前記バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定する、
ことを特徴とする請求項１１記載のサブシステムモジュールにおけるデータ転送方法。
【請求項１３】
前記エラー通知工程は、前記メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめて前記メインボードに対してエラー通知する、
ことを特徴とする請求項１１記載のサブシステムモジュールにおけるデータ転送方法。
【請求項１４】
前記メインボード上のメモリからのデータ転送が終了してデータが揃った段階で、転送データ全体にエラーが生じているか否かを判定する全体データエラー判定工程を更に含み、
この全体データエラー判定工程により転送データにエラーが生じていると判定された場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にし、前記メインボードに対してエラー通知する、
ことを特徴とする請求項１１ないし１３のいずれか一記載のサブシステムモジュールにおけるデータ転送方法。
【請求項１５】
前記パラレルバスは、ＰＣＩ（Peripheral Component Interconnect）バスである、
ことを特徴とする請求項１１ないし１４のいずれか一記載のサブシステムモジュールにおけるデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種電子回路を備えるメインボードにバス接続されるサブシステムモジュール、情報処理装置およびサブシステムモジュールにおけるデータ転送方法に関する。
【背景技術】
【０００２】
情報量の多いデータ、例えば、画像データ等を転送する場合は、ＤＭＡ（Direct Memory Access）転送することが望ましい。また、ＤＭＡ転送を行うためのバスとしてＰＣＩ（Peripheral Component Interconnect）バスは、低速から高速まで広い帯域に対応できることから様々なシステムで使用されている。
【０００３】
特許文献１には、画像データをＤＭＡ転送するシステムの内部構成に関する発明が提案されている。
【０００４】
また、特許文献２には、ＰＣＩバスを使用したシステムが記載されている。
【０００５】
【特許文献１】特開平８−１６３３３９号公報
【特許文献２】特開平１１−１９１０７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、バスアクセスやバスを使用したデータ送受信は、様々な電子回路システムにおいて、非常に頻発する作業であるにもかかわらずパフォーマンスのボトルネックになりやすい。
【０００７】
また、ＰＣＩバスでの複数ビット送信の場合には、配線やケーブルなどの電気的な問題で転送データのデータ化けが起こることがある。これは、ＰＣＩバスは高速かつパラレルバスであるため、バス上を流れるデータのビット列が本来のビット列と異なってしまうためである。
【０００８】
本発明は、上記に鑑みてなされたものであって、バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高めることができるサブシステムモジュール、情報処理装置およびサブシステムモジュールにおけるデータ転送方法を提供することを目的とする。
【０００９】
本発明は、上記に鑑みてなされたものであって、データ転送速度の高速化を図ることができるサブシステムモジュール、情報処理装置およびサブシステムモジュールにおけるデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明のサブシステムモジュールは、各種の電子回路を備えるメインボードにパラレルバス接続され、前記メインボード上のメモリからデータ転送されるサブシステムモジュールにおいて、前記メインボード上のメモリからデータ転送されたデータを一時的に記憶するための記憶部と、前記メインボード上のメモリに記憶されているデータを直接読み出して前記記憶部にＤＭＡ（Direct Memory Access）転送するＤＭＡコントローラと、このＤＭＡコントローラによる前記パラレルバスを使用したＤＭＡ転送の際に、バスマスタとなるバスインタフェースと、前記メインボードからのアクセスも可能であって、前記バスインタフェースがバスマスタ時におけるデータパリティエラー発生を示すビットを形成したコントロールレジスタと、前記ＤＭＡコントローラにより前記記憶部に記憶された転送データにエラーが生じているか否かを判定する個別データエラー判定手段と、この個別データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にするとともに、シーケンス番号を前記コントロールレジスタのエラーステータス領域に書き込む個別データエラー書込み手段と、前記コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、前記メインボードに対してエラー通知するエラー通知手段と、を備える。
【００１１】
また、請求項２にかかる発明は、請求項１記載のサブシステムモジュールにおいて、前記個別データエラー判定手段は、前記ＤＭＡコントローラにより前記記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、前記バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、前記バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定する。
【００１２】
また、請求項３にかかる発明は、請求項１記載のサブシステムモジュールにおいて、前記エラー通知手段は、前記メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめて前記メインボードに対してエラー通知する。
【００１３】
また、請求項４にかかる発明は、請求項１ないし３のいずれか一記載のサブシステムモジュールにおいて、前記メインボード上のメモリからのデータ転送が終了してデータが揃った段階で、転送データ全体にエラーが生じているか否かを判定する全体データエラー判定手段を更に備えており、この全体データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にし、前記メインボードに対してエラー通知する。
【００１４】
また、請求項５にかかる発明は、請求項１ないし４のいずれか一記載のサブシステムモジュールにおいて、前記パラレルバスは、ＰＣＩ（Peripheral Component Interconnect）バスである。
【００１５】
また、請求項６にかかる発明の情報処理装置は、各種の電子回路を備えるメインボードと、このメインボードにパラレルバス接続され、前記メインボード上のメモリからデータ転送されるサブシステムモジュールと、を備えている情報処理装置において、前記サブシステムモジュールは、前記メインボード上のメモリからデータ転送されたデータを一時的に記憶するための記憶部と、前記メインボード上のメモリに記憶されているデータを直接読み出して前記記憶部にＤＭＡ（Direct Memory Access）転送するＤＭＡコントローラと、このＤＭＡコントローラによる前記パラレルバスを使用したＤＭＡ転送の際に、バスマスタとなるバスインタフェースと、前記メインボードからのアクセスも可能であって、前記バスインタフェースがバスマスタ時におけるデータパリティエラー発生を示すビットを形成したコントロールレジスタと、前記ＤＭＡコントローラにより前記記憶部に記憶された転送データにエラーが生じているか否かを判定する個別データエラー判定手段と、この個別データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にするとともに、シーケンス番号を前記コントロールレジスタのエラーステータス領域に書き込む個別データエラー書込み手段と、前記コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、前記メインボードに対してエラー通知するエラー通知手段と、を備え、前記メインボードは、前記サブシステムモジュールからエラー通知を受け取ると、前記コントロールレジスタのエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータを前記サブシステムモジュールに再送する再送手段を備える。
【００１６】
また、請求項７にかかる発明は、請求項６記載の情報処理装置において、前記個別データエラー判定手段は、前記ＤＭＡコントローラにより前記記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、前記バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、前記バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定する。
【００１７】
また、請求項８にかかる発明は、請求項６記載の情報処理装置において、前記エラー通知手段は、前記メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめて前記メインボードに対してエラー通知する。
【００１８】
また、請求項９にかかる発明は、請求項６ないし８のいずれか一記載の情報処理装置において、前記サブシステムモジュールは、前記メインボード上のメモリからのデータ転送が終了してデータが揃った段階で、転送データ全体にエラーが生じているか否かを判定する全体データエラー判定手段を更に備えており、この全体データエラー判定手段により転送データにエラーが生じていると判定した場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にし、前記メインボードに対してエラー通知する。
【００１９】
また、請求項１０にかかる発明は、請求項６ないし９のいずれか一記載の情報処理装置において、前記パラレルバスは、ＰＣＩ（Peripheral Component Interconnect）バスである。
【００２０】
また、請求項１１にかかる発明は、サブシステムモジュールにおけるデータ転送方法において、各種の電子回路を備えるメインボードにパラレルバス接続され、前記メインボード上のメモリからデータ転送されるサブシステムモジュールにおけるデータ転送方法であって、ＤＭＡコントローラによって前記メインボード上のメモリに記憶されているデータを直接読み出し、データを一時的に記憶するための記憶部にＤＭＡ（Direct Memory Access）転送するＤＭＡ転送工程と、このＤＭＡ転送工程により前記記憶部に記憶された転送データにエラーが生じているか否かを判定する個別データエラー判定工程と、この個別データエラー判定工程により転送データにエラーが生じていると判定された場合、前記メインボードからのアクセスも可能であって、バスインタフェースがバスマスタ時におけるデータパリティエラー発生を示すビットを形成したコントロールレジスタのパリティエラービットのステータスをエラー発生にするとともに、シーケンス番号を前記コントロールレジスタのエラーステータス領域に書き込む個別データエラー書込み工程と、前記コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、前記メインボードに対してエラー通知するエラー通知工程と、を含む。
【００２１】
また、請求項１２にかかる発明は、請求項１１記載のサブシステムモジュールにおけるデータ転送方法において、前記個別データエラー判定工程は、前記記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、前記バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、前記バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定する。
【００２２】
また、請求項１３にかかる発明は、請求項１１記載のサブシステムモジュールにおけるデータ転送方法において、前記エラー通知工程は、前記メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめて前記メインボードに対してエラー通知する。
【００２３】
また、請求項１４にかかる発明は、請求項１１ないし１３のいずれか一記載のサブシステムモジュールにおけるデータ転送方法において、前記メインボード上のメモリからのデータ転送が終了してデータが揃った段階で、転送データ全体にエラーが生じているか否かを判定する全体データエラー判定工程を更に含み、この全体データエラー判定工程により転送データにエラーが生じていると判定された場合、前記コントロールレジスタのパリティエラービットのステータスをエラー発生にし、前記メインボードに対してエラー通知する。
【００２４】
また、請求項１５にかかる発明は、請求項１１ないし１４のいずれか一記載のサブシステムモジュールにおけるデータ転送方法において、前記パラレルバスは、ＰＣＩ（Peripheral Component Interconnect）バスである。
【発明の効果】
【００２５】
請求項１にかかる発明のサブシステムモジュールによれば、バスインタフェースのコントロールレジスタにデータパリティエラー発生を示すビットを形成し、バスインタフェースがバスマスタ時にデータパリティエラーが発生した場合には、バスインタフェースのコントロールレジスタのパリティエラービットのステータスがエラーを示すとともに、シーケンス番号をコントロールレジスタのエラーステータス領域に書き込むようにし、コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、メインボードに対してエラー通知するようにした。これにより、エラー通知を受けたメインボード側では、コントロールレジスタのエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータをサブシステムモジュールに再送することができるようになるので、バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高めることができる。また、転送量を必要最低限とすることができるので、データ転送速度の高速化を図ることができる。
【００２６】
また、請求項２にかかる発明のサブシステムモジュールによれば、記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定することにより、個別データのエラー判定を効率良く行なうことができる。
【００２７】
また、請求項３にかかる発明のサブシステムモジュールによれば、メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめてメインボードに対してエラー通知することにより、バスアクセスの回数を減らすことができ、負荷を軽減することができる。
【００２８】
また、請求項４にかかる発明のサブシステムモジュールによれば、転送が終了してデータが揃った段階でデータをチェックすることにより、データの精度を高めることができる。
【００２９】
また、請求項５にかかる発明のサブシステムモジュールによれば、パラレルバスがＰＣＩバスであることにより、高速でデータ転送することができる。
【００３０】
また、請求項６にかかる発明の情報処理装置によれば、バスインタフェースのコントロールレジスタにデータパリティエラー発生を示すビットを形成し、バスインタフェースがバスマスタ時にデータパリティエラーが発生した場合には、バスインタフェースのコントロールレジスタのパリティエラービットのステータスがエラーを示すとともに、シーケンス番号をコントロールレジスタのエラーステータス領域に書き込むようにし、コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、メインボードに対してエラー通知するようにした。これにより、エラー通知を受けたメインボード側では、コントロールレジスタのエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータをサブシステムモジュールに再送することができるようになるので、バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高めることができる。また、転送量を必要最低限とすることができるので、データ転送速度の高速化を図ることができる。
【００３１】
また、請求項７にかかる発明の情報処理装置によれば、記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定することにより、個別データのエラー判定を効率良く行なうことができる。
【００３２】
また、請求項８にかかる発明の情報処理装置によれば、メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめてメインボードに対してエラー通知することにより、バスアクセスの回数を減らすことができ、負荷を軽減することができる。
【００３３】
また、請求項９にかかる発明の情報処理装置によれば、転送が終了してデータが揃った段階でデータをチェックすることにより、データの精度を高めることができる。
【００３４】
また、請求項１０にかかる発明の情報処理装置によれば、パラレルバスがＰＣＩバスであることにより、高速でデータ転送することができる。
【００３５】
また、請求項１１にかかる発明のサブシステムモジュールにおけるデータ転送方法によれば、バスインタフェースのコントロールレジスタにデータパリティエラー発生を示すビットを形成し、バスインタフェースがバスマスタ時にデータパリティエラーが発生した場合には、バスインタフェースのコントロールレジスタのパリティエラービットのステータスがエラーを示すとともに、シーケンス番号をコントロールレジスタのエラーステータス領域に書き込むようにし、コントロールレジスタのパリティエラービットのステータスがエラー発生を示している場合に、メインボードに対してエラー通知するようにした。これにより、エラー通知を受けたメインボード側では、コントロールレジスタのエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータをサブシステムモジュールに再送することができるようになるので、バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高めることができる。また、転送量を必要最低限とすることができるので、データ転送速度の高速化を図ることができる。
【００３６】
また、請求項１２にかかる発明のサブシステムモジュールにおけるデータ転送方法によれば、記憶部に記憶された転送データのデータ領域に記憶されている個別チェックサムと、バスインタフェースに計算させた転送データのデータ領域のチェックサムとを比較し、バスインタフェースによる計算結果が転送データに付加された個別チェックサムと不一致であると判定した場合、転送データにエラーが生じていると判定することにより、個別データのエラー判定を効率良く行なうことができる。
【００３７】
また、請求項１３にかかる発明のサブシステムモジュールにおけるデータ転送方法によれば、メインボード上のメモリから最終のデータが転送された後、個別の転送データのエラー通知をまとめてメインボードに対してエラー通知することにより、バスアクセスの回数を減らすことができ、負荷を軽減することができる。
【００３８】
また、請求項１４にかかる発明のサブシステムモジュールにおけるデータ転送方法によれば、転送が終了してデータが揃った段階でデータをチェックすることにより、データの精度を高めることができる。
【００３９】
また、請求項１５にかかる発明のサブシステムモジュールにおけるデータ転送方法によれば、パラレルバスがＰＣＩバスであることにより、高速でデータ転送することができる。
【発明を実施するための最良の形態】
【００４０】
以下に添付図面を参照して、この発明にかかるサブシステムモジュール、情報処理装置およびサブシステムモジュールにおけるデータ転送方法の最良な実施の形態を詳細に説明する。
【００４１】
［第１の実施の形態］
本発明の第１の実施の形態を図１ないし図８に基づいて説明する。本実施の形態は、情報処理装置としてカラーレーザプリンタを適用した例を示す。
【００４２】
図１は、本発明の第１の実施の形態にかかるデータ通信装置を具備した情報処理装置の構成を概略的に示す縦断側面図である。図１において、情報処理装置１の制御部３は、ホストＰＣ２からのデータを受けてビットマップに展開するプリンタコントローラ、ＤＭＡ（Direct Memory Access）コントローラを具備するデータ通信装置１０（図２参照）、および情報処理装置１のメカ機構４の動作を制御するエンジン制御部等から構成されている。本実施の形態におけるデータ通信装置１０は、無線通信でデータの送受信をするための無線ＬＡＮ（Local Area Network）カードである。したがって、情報処理装置１とホストＰＣ２とは、無線ＬＡＮでデータ通信することになる。
【００４３】
図２は、データ通信装置１０を主体とした制御部３の構成を示すブロック図である。図２に示すように、データ通信装置１０は、プリンタコントローラやエンジン制御部として機能するメインボード５に接続部１０ａを介してバス接続されるサブシステムモジュール構成である。接続部１０ａは、サブシステムモジュールであるデータ通信装置１０をメインボード５の接続部（スロット）６に対して繋ぐ部位であり、ＰＣＩ（Peripheral Component Interconnect）バス接続される。
【００４４】
図３は、メインボード５の構成を示すブロック図である。図３に示すように、メインボード５は、情報処理装置１を制御する各種の電子回路（図示せず）を備えるとともに、各部を制御するＣＰＵ（Central Processing Unit）５ａを備えている。このＣＰＵ５ａには、データ通信装置１０を制御するファームウェアなどのプログラムを記憶するメモリ５ｂ、接続部（スロット）６に接続されるＰＣＩ Ｉ／Ｆ５ｃがバス接続されている。
【００４５】
次に、データ通信装置１０について詳述する。図２に示すように、データ通信装置１０は、データ通信装置１０の制御全般を行うＣＰＵ１１を備えており、このＣＰＵ１１には、メモリ１２、ＡＳＩＣ（Application Specified IC）１３、ＰＣＩ Ｉ／Ｆ１４、無線ＬＡＮモジュール２０がバス接続されている。
【００４６】
メモリ１２は、ＳＲＡＭやＳＤＲＡＭ、ＤＲＡＭなどであり、ファームウェアなどの情報を格納するのに用いられる。
【００４７】
ＡＳＩＣ１３には、ＴｘＤＭＡＣ１５、ＴｘＲＡＭ１６、ＣＴＲＬＲＡＭ１７が備えられている。ＴｘＤＭＡＣ１５は、送信ＤＭＡ（Direct Memory Access）コントローラであり、メインボード５上のメモリ５ｂからＴｘＲＡＭ１６へのＤＭＡ転送を行う。ＴｘＲＡＭ１６は、前述したように、ＴｘＤＭＡＣ１５から情報を受け取るメモリであり、ＳＲＡＭやＳＤＲＡＭ、ＤＲＡＭである。つまり、ＴｘＲＡＭ１６は、メインボード５上のメモリ５ｂからデータ転送されたデータを一時的に記憶するための記憶部である。ＣＴＲＬＲＡＭ１７は、デュアルポートＲＡＭ（ＳＲＡＭやＳＤＲＡＭ、ＤＲＡＭ）であり、メインボード５とＣＰＵ１１とからアクセス可能になっている。このＣＴＲＬＲＡＭ１７を介してメインボード５とＣＰＵ１１とは情報をやり取りすることができる。ＣＴＲＬＲＡＭ１７は、ＰＣＩ Ｉ／Ｆ１４のコントロールレジスタとして機能する。
【００４８】
ＰＣＩ Ｉ／Ｆ１４は、バスインタフェースであり、ＴｘＤＭＡＣ１５がメインボード５上のメモリ５ｂからＴｘＲＡＭ１６にＰＣＩバスを使用してＤＭＡ転送を行う際に、バスマスタとなる。
【００４９】
このような構成により、サブシステムモジュールであるデータ通信装置１０は、例えばデータ通信装置１０が動作に必要なプログラムを、メインボード５上のメモリ５ｂから受け取ることができる。より詳細には、ＴｘＤＭＡＣ１５がメインボード５上のメモリ５ｂ上のデータをＴｘＲＡＭ１６へＤＭＡ転送を行い、ＴｘＲＡＭ１６にデータが格納される毎にＣＰＵ１１がＴｘＲＡＭ１６からメモリ１２へデータをコピーする。この転送を繰り返すことで、データをメモリ１２上に残らず配置することが可能で、ＣＰＵ１１はメモリ１２上のデータであるプログラムを実行することが可能となる。
【００５０】
ところが、ＰＣＩバスでメインボード５上のメモリ５ｂからサブシステムモジュールであるデータ通信装置１０にデータ転送する場合には、ＰＣＩバスは高速かつパラレルバスであるためにバス上を流れるデータのビット列が本来のビット列と異なってしまい、転送データのデータ化けが起こることがある。
【００５１】
そこで、本実施の形態においては、ＰＣＩ Ｉ／Ｆ１４のコントロールレジスタであるＣＴＲＬＲＡＭ１７にデータパリティエラー発生を示すビットを形成し、ＰＣＩ Ｉ／Ｆ１４がバスマスタ時にデータパリティエラーが発生した場合には、ＰＣＩ Ｉ／Ｆ１４のコントロールレジスタであるＣＴＲＬＲＡＭ１７のパリティエラービットがエラーを示すようにした。
【００５２】
ここで、サブシステムモジュールであるデータ通信装置１０とメインボード５との間のデータ転送に用いられる転送データフォーマット、すなわちＴｘＲＡＭ１６へのデータ転送に用いられる転送データについて説明する。
【００５３】
図４は一つ目の転送データフォーマットの構成を示す説明図、図５は二つ目以降の転送データフォーマットの構成を示す説明図である。本実施の形態においては、転送データを図４及び図５に示す転送データフォーマットのデータ部を使用して転送する。図４及び図５の共通のデータコンポーネントは、アドレス、サイズ、シーケンス番号である。これは、一回の転送データ量は、ＴｘＲＡＭ１６のサイズに依存することによる。アドレスは、ＴｘＲＡＭ１６への転送後にデータをコピーする場合などに使用する。通常は、ＤＭＡ転送したデータを一転送毎にメモリ１２などにコピーして移す。サイズは、一転送毎のデータサイズを示す。シーケンス番号は、転送データの識別子になるものであり、転送順に１〜６５５３５の番号を使用する。個別チェックサムは、一転送毎のデータ領域のチェックサムである。本実施の形態においては、アドレスは３２ビット、サイズは１６ビット、シーケンス番号は１６ビット、個別チェックサムは３２ビットとする。なお、ビット数は変更して使用することもできる。
【００５４】
図４に示す一つ目の転送データフォーマットにおいては、全体チェックサムとトータルサイズ（total size）が追加してある。全体チェックサムは、サブシステムモジュールであるデータ通信装置１０がメインボード５からダウンロードするデータ全体のチェックサムであり、転送が終了してデータが揃った段階でデータをチェックするのに使用する。このような全体チェックサムは、必ずしも必要は無いが、データの精度が高くなる。一方、トータルサイズは、データ転送の終了を知るのに利用できる。このようなトータルサイズも、必ずしも必要では無い。
【００５５】
このような図４又は図５の転送データフォーマットを一転送毎に持つことで、転送毎のデータチェックを行うことができる。
【００５６】
また、プログラムを転送する場合には、図６に示すような転送データフォーマットでも良い。図６に示す一つ目の転送データフォーマットでは、図４で説明したトータルサイズ（total size）に代えて、プログラムサイズ（program size）、ＩＤ、バージョン（version）が構成要素になっている。プログラムサイズ（program size）は、ヘッダ領域を含まないデータ部に格納されるプログラムデータ全体のサイズである。ＩＤは、このプログラムデータのＩＤである。バージョン（version）は、このプログラムデータのバージョンを示すものである。
【００５７】
次に、データ通信装置１０におけるＤＭＡ個別データのエラー検知について説明する。図7は、データ通信装置１０におけるデータ転送処理の流れを示すフローチャートである。図７に示すように、サブシステムモジュールであるデータ通信装置１０のＣＰＵ１１は、メモリ１２に記憶されているプログラムに従い、メインボード５からのデータを受信してＴｘＲＡＭ１６にデータを格納すると（ステップＳ１のＹ）、ＰＣＩ Ｉ／Ｆ１４に転送データのデータ領域のチェックサムを計算させる。
【００５８】
そして、ＰＣＩ Ｉ／Ｆ１４による計算結果と転送データに付加された個別チェックサムと比較し、ＰＣＩ Ｉ／Ｆ１４による計算結果が、転送データに付加された個別チェックサムと不一致であると判定した場合、すなわち個別チェックサムがエラーであると判定した場合には（ステップＳ２のＹ：個別データエラー判定手段）、ＣＴＲＬＲＡＭ１７のエラーステータスをエラーにするとともに、シーケンス番号をＣＴＲＬＲＡＭ１７のエラーステータス領域に書き込む（ステップＳ３：個別データエラー書込み手段）。ＣＴＲＬＲＡＭ１７は、メインボード５からもデータ通信装置１０のＣＰＵ１１からもアクセスができるデュアルポートＲＡＭであり、ＣＴＲＬＲＡＭ１７にエラーを起したシーケンス番号をＤＭＡ個別データのエラー通知として書き込むことで、データ通信装置１０はメインボード５に転送エラーを起したシーケンス番号を知らせることができる。これにより、メインボード５は転送エラーを起したデータをデータ通信装置１０に再送することができる。なお、個別チェックサムでエラーが検出された場合、サブシステムモジュールであるデータ通信装置１０はエラーデータが検出されたブロックのメモリ１２への書込みは行わない。
【００５９】
一方、個別チェックサムがエラーでないと判定した場合には（ステップＳ２のＮ：個別データエラー判定手段）、ＣＰＵ１１は、メモリ１２へＴｘＲＡＭ１６のデータをコピーする（ステップＳ４）。ここで、ＰＣＩ割り込みによるジャンプコマンドが発生してしない場合には（ステップＳ２のＮ）、ステップＳ１に戻り、次のメインボード５からのデータ受信に待機する。
【００６０】
一方、最終データが転送され、ジャンプコマンドが発生している場合には（ステップＳ５のＹ）、メモリ１２の全体チェックサムチェックを行う（ステップＳ６：全体データエラー判定手段）。
【００６１】
全体チェックサムがエラーであると判定した場合には（ステップＳ７のＹ）、ＣＴＲＬＲＡＭ１７のエラーステータスをエラーにし（ステップＳ８）、ＣＴＲＬＲＡＭ１７をリードしてエラー通知を行う（ステップＳ９：エラー通知手段）。
【００６２】
図８は、ＣＴＲＬＲＡＭ１７におけるエラーチェックステータスレジスタを示す説明図である。Ａに示すｂｉｔ０は、全体チェックサムエラーステータスであり、全体チェックサムエラーが発生した場合には、１を示す。Ｂに示すｂｉｔ１は、個別チェックサムエラーステータスであり、個別チェックサムエラーが発生した場合には、１を示す。また、個別データのエラーステータスは、ＣＴＲＬＲＡＭ１７の以下の領域にエラーの発生した場合にはシーケンス番号を書く。
２８０４ｈ   １
２８０６ｈ   ２
２８０８ｈ   ３
２８０Ａｈ   ４
・・・・・・
２Ａ００ｈ   ２５５
なお、個別チェックサムエラーが出なかったものに関しては書き込まない。
【００６３】
ここで、最終データの転送、全体チェックサムチェックが終わった後に、個別データのエラー通知をまとめて通知する理由について説明する。個別データのエラー通知をまとめて通知するのは、まとめて通知することによって、ＰＣＩアクセスの回数を減らすことができるからである。ＰＣＩバスのアクセスは、ＣＰＵ１１やメインボード５上のＣＰＵ５ａにとって負荷が大きいからである。
【００６４】
一方、全体チェックサムがエラーでないと判定した場合には（ステップＳ７のＮ）、ステップＳ１０に進み、リマップ、ファームウェアの実行を行う。
【００６５】
メインボード５側では、ＣＰＵ５ａがメモリ５ｂに記憶されているプログラムに従うことにより、データ通信装置１０からエラー通知を受けると、データ通信装置１０のＣＴＲＬＲＡＭ１７のエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータをデータ通信装置１０に再送する。これにより、転送量を必要最低限とすることができるので、データ転送速度の高速化を図ることができる。ここに、再送手段の機能が実行される。
【００６６】
このように本実施の形態によれば、ＰＣＩ Ｉ／Ｆ１４のコントロールレジスタであるＣＴＲＬＲＡＭ１７にデータパリティエラー発生を示すビットを形成し、ＰＣＩ Ｉ／Ｆ１４がバスマスタ時にデータパリティエラーが発生した場合には、ＰＣＩ Ｉ／Ｆ１４のコントロールレジスタであるＣＴＲＬＲＡＭ１７のパリティエラービットのステータスがエラーを示すとともに、シーケンス番号をコントロールレジスタであるＣＴＲＬＲＡＭ１７のエラーステータス領域に書き込むようにし、コントロールレジスタであるＣＴＲＬＲＡＭ１７のパリティエラービットのステータスがエラー発生を示している場合に、メインボード５に対してエラー通知するようにした。これにより、エラー通知を受けたメインボード５側では、コントロールレジスタであるＣＴＲＬＲＡＭ１７のエラーステータス領域に書き込まれているシーケンス番号に従って転送エラーを起こしたデータをサブシステムモジュールであるデータ通信装置１０に再送することができるようになるので、バスアクセスの転送エラーを効率的にリカバリーすることができ、転送精度を高めることができる。また、転送量を必要最低限とすることができるので、データ転送速度の高速化を図ることができる。
【００６７】
［第２の実施の形態］
次に、本発明の第２の実施の形態を図９に基づいて説明する。なお、前述した第１の実施の形態と同じ部分は同じ符号で示し説明も省略する。本実施の形態は、データ通信装置として、外部メモリが接続されたデータ通信装置を適用したものである。
【００６８】
図９は、本発明の第２の実施の形態にかかるデータ通信装置１０を主体とした制御部３の構成を示すブロック図である。図９に示すように、本実施の形態のデータ通信装置１０は、第１の実施の形態の構成に加えて、外部メモリ３１を接続して制御するメモリコントローラ３０を備えており、このメモリコントローラ３０がＣＰＵ１１にバス接続されている。外部メモリ３１は、フラッシュメモリやＥＥＰＲＯＭ、ＤＲＡＭ、ハードディスクなどの記憶手段であり、メモリコントローラ３０はＣＰＵ１１が外部メモリ３１の制御に必要な各種設定を行う。
【００６９】
このような構成により、サブシステムモジュールであるデータ通信装置１０は、例えば外部メモリ３１に格納されているデータ通信装置１０を動作させるプログラムを、メインボード５上のメモリ５ｂから受け取り、外部メモリ３１の内容を書き換えることが可能である。ＴｘＤＭＡＣ１５がメインボード５上のメモリ５ｂのデータをＴｘＲＡＭ１６へＤＭＡ転送を行い、ＴｘＲＡＭ１６にデータが格納される毎にＣＰＵ１１がＴｘＲＡＭ１６から外部メモリ３１へデータをコピー、またはライトする。この転送を繰り返すことで、データを外部メモリ３１上に残らず配置することが可能で、外部メモリ３１の書換えを行うことができる。また、ＣＰＵ１１は、外部メモリ３１上のデータであるプログラムを実行することが可能である。
【００７０】
なお、各実施の形態においては、情報処理装置としてカラーレーザプリンタを適用した例を示したが、これに限るものではなく、情報処理装置として、コピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能及び入力画像（スキャナ機能による読み取り原稿画像やプリンタあるいはＦＡＸ機能により入力された画像）を配信する機能等を複合したいわゆるＭＦＰ（Multi Function Peripheral）と称されるデジタルカラー複合機などに適用することもできる。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施の形態にかかるデータ通信装置を具備した情報処理装置の構成を概略的に示す縦断側面図である。
【図２】データ通信装置を主体とした制御部の構成を示すブロック図である。
【図３】メインボードの構成を示すブロック図である。
【図４】一つ目の転送データフォーマットの構成を示す説明図である。
【図５】二つ目以降の転送データフォーマットの構成を示す説明図である。
【図６】一つ目の転送データフォーマットの別の構成を示す説明図である。
【図７】データ通信装置におけるデータ転送処理の流れを示すフローチャートである。
【図８】ＣＴＲＬＲＡＭにおけるエラーチェックステータスレジスタを示す説明図である。
【図９】本発明の第２の実施の形態にかかるデータ通信装置を主体とした制御部の構成を示すブロック図である。
【符号の説明】
【００７２】
１      情報処理装置
５      メインボード
５ａ    メインボード上のメモリ
１０    サブシステムモジュール
１４    バスインタフェース
１５    ＤＭＡコントローラ
１６    記憶部
１７    コントロールレジスタ
【図１】
2006260273.tif 000003
【図２】
2006260273.tif 000004
【図３】
2006260273.tif 000005
【図４】
2006260273.tif 000006
【図５】
2006260273.tif 000007
【図６】
2006260273.tif 000008
【図７】
2006260273.tif 000009
【図８】
2006260273.tif 000010
【図９】
2006260273.tif 000011