(57)【要約】【課題】回路規模を抑制しストレージに格納するデータの信頼性を向上するマルチレイヤバスシステムを得ること。【解決手段】スレーブ機能モジュールとして書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成するとともに、ＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施してデータ誤りを訂正しＥＣＣコードを削除した読み出しデータを生成するＥＣＣ回路１６を備え、ＣＰＵ１０からの指示がＨＤ３へのデータライトの場合、ＤＭＡＣ１２はＤＭＡ転送する書き込みデータをＥＣＣ回路１６に出力し、ＥＣＣ回路１６が生成したＥＣＣ付き書き込みデータをＨＤ３に格納し、ＣＰＵ１０からの指示がＨＤ３からのデータリードの場合、ＤＭＡＣ１２はＨＤ３から読み出したＥＣＣ付き読み出しデータをＥＣＣ回路１６に出力し、ＥＣＣ回路１６が生成した読み出しデータをＳＲＡＭに書き込む。【選択図】        図１
2006338533.tif 000002
【特許請求の範囲】
【請求項１】
バスマスタとして動作する１〜複数のマスタ機能モジュールと、バススレーブとして動作する複数のスレーブ機能モジュールと、前記マスタ機能モジュールからの動作指示および動作開始指示によってデータをダイナミック・メモリ・アクセス（ＤＭＡ）転送する１〜複数のＤＭＡコントローラとが、前記マスタ機能モジュール毎のバスと、前記ＤＭＡコントローラのリード用バスおよびライト用バスとで接続されるマルチレイヤバスシステムにおいて、
前記スレーブ機能モジュールの１つとして、書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成するとともに、ＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施してデータ誤りを訂正してＥＣＣコードを削除した読み出しデータを生成するＥＣＣ機能モジュール、
を備え、
前記マスタ機能モジュールからの動作指示および動作開始指示が前記スレーブ機能モジュールの１つから他のスレーブ機能モジュールへのデータライトの場合、前記ＤＭＡコントローラは、前記１つのスレーブ機能モジュールから他のスレーブ機能モジュールにＤＭＡ転送する書き込みデータを前記ＥＣＣ機能モジュールに出力し、前記ＥＣＣ機能モジュールによって生成されたＥＣＣ付き書き込みデータを前記他のスレーブ機能モジュールに格納し、
前記マスタ機能モジュールからの動作指示および動作開始指示が前記他のスレーブ機能モジュールから１つのスレーブ機能モジュールへのデータリードの場合、前記ＤＭＡコントローラは、ＤＭＡ転送する前記他のスレーブ機能モジュールから読み出したＥＣＣ付き読み出しデータを前記ＥＣＣ機能モジュールに出力し、前記ＥＣＣ機能モジュールによって生成された読み出しデータを前記１つのスレーブ機能モジュールに出力すること、
を特徴とするマルチレイヤバスシステム。
【請求項２】
バスマスタとして動作する１〜複数のマスタ機能モジュールと、バススレーブとして動作する複数のスレーブ機能モジュールと、前記マスタ機能モジュールからの動作指示および動作開始指示によってデータをダイナミック・メモリ・アクセス（ＤＭＡ）転送する１〜複数のＤＭＡコントローラとが、前記マスタ機能モジュール毎のバスと、前記ＤＭＡコントローラのリード用バスおよびライト用バスとで接続されるマルチレイヤバスシステムにおいて、
前記複数のスレーブ機能モジュールの２つに接続され、一方のスレーブ機能モジュールから入力される書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成し、生成したＥＣＣ付き書き込みデータを他方のスレーブ機能モジュールに出力し、前記他方のスレーブ機能モジュールから入力されるＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施してデータ誤りを訂正してＥＣＣコードを削除した読み出しデータを生成し、生成した読み出しデータを前記一方のスレーブ機能モジュールに出力するＥＣＣ機能モジュール、
を備え、
前記マスタ機能モジュールからの動作指示および動作開始指示が、前記ＥＣＣ機能モジュールが接続されているスレーブ機能モジュールとは異なる読み出し対象スレーブ機能モジュールから書き込み対象スレーブ機能モジュールへのデータライトの場合、前記ＤＭＡ
コントローラは、前記読み出し対象スレーブ機能モジュールから前記書き込み対象スレーブ機能モジュールにＤＭＡ転送する書き込みデータを前記読み出し対象スレーブ機能モジュールから前記一方のスレーブ機能モジュールに出力し、前記ＥＣＣ機能モジュールによって前記他方のスレーブ機能モジュールに出力されたＥＣＣ付き書き込みデータを前記書き込み対象スレーブ機能モジュールに格納し、
前記マスタ機能モジュールからの動作指示および動作開始指示が、前記ＥＣＣ機能モジュールが接続されているスレーブ機能モジュールとは異なる読み出し対象スレーブ機能モジュールから書き込み対象スレーブモジュールへのデータリードの場合、前記ＤＭＡコントローラは、ＤＭＡ転送する前記読み出し対象スレーブ機能モジュールから読み出したＥＣＣ付き読み出しデータを前記他方のスレーブ機能モジュールに出力し、前記ＥＣＣ機能モジュールによって前記一方のスレーブ機能モジュールに出力された読み出しデータを前記書き込み対象スレーブ機能モジュールに出力すること、
を特徴とするマルチレイヤバスシステム。
【請求項３】
前記ＤＭＡコントローラは、
前記マスタ機能モジュールによって、前記ＥＣＣ機能モジュールを用いたＤＭＡ転送を行なうか否かを決定する端子もしくは設定用制御レジスタを有し、
さらに、読み出しデータサイズ、ＥＣＣコードサイズを設定する１〜複数の端子もしくは設定用制御レジスタを有すること、
を特徴とする請求項１または２に記載のマルチレイヤバスシステム。
【請求項４】
前記ＥＣＣ機能モジュールは、
前記ＤＭＡコントローラを介して前記マスタ機能モジュールから設定されたデータサイズ、ＥＣＣコードサイズに基づいて、前記ＥＣＣコード生成または前記ＥＣＣエラーチェック処理を施すこと、
を特徴とする請求項１〜３の何れか一つに記載のマルチレイヤバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（Central Processing Unit）やＤＭＡＣ(Direct Memory Access Controller）、周辺機能モジュール若しくは周辺機能モジュールを接続するバス・インタフェースを含んだマルチレイヤバスシステムに関するものであり、特に、このマルチレイヤバスシステムを用いた製品で処理されるデータの信頼性に関するものである。
【背景技術】
【０００２】
近年、半導体製造技術の向上により、半導体集積回路が微細化され、同一半導体内に搭載されるゲート規模が大きくなり、システム・オン・チップ化が進展している。ＣＰＵや種々の周辺機能モジュールが搭載されるシステム・オン・チップ化された半導体集積回路では、ＣＰＵで実行されるプログラムが大規模化すると共に、処理されるデータ量も飛躍的に増大している。そのため、データの信頼性を向上することが重要な課題となっている。
【０００３】
一般的に、データの信頼性を向上するためにデータに冗長データ（ＥＣＣ：Error Correcting Code）を付加するＥＣＣ回路を用いることが多い。ＥＣＣ回路を用いてデータの信頼性を向上する従来技術として特許文献１がある。特許文献１に記載の従来技術には、ＥＣＣを用いて、ＣＰＵの介在なしに高速で主記憶部のデータの誤りを訂正することができるメモリデータ誤り訂正方式に関する技術が開示されている。
【０００４】
【特許文献１】特開２００２−２５９２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、システム・オン・チップ化された半導体集積回路を構成するマルチレイヤバスシステムについて考える。従来のマルチレイヤバスシステムは、プログラムによって所望の処理を実行するＣＰＵ、上位装置や他のＣＰＵで、前記ＣＰＵ以外のマスタ、ＣＰＵまたはマスタの動作指示および動作開始指示によってデータ転送処理を実行するダイナミック・メモリ・アクセス・コントローラ（以下、ＤＭＡＣとする）がバスマスタとして接続され、さらに、マルチレイヤバスシステムとのインタフェース機能を有する複数のバス・インタフェース・ユニット（以下、ＢＩＵとする）が接続され、各ＢＩＵにはＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disc）、ＨＤＤ（Hard Disk Drive）などの大容量ストレージデバイスや、ＣＰＵが実行するプログラムの格納やプログラム実行時のワーク領域として用いられるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）、フラッシュ・メモリなどのメモリデバイス（以下、ＢＩＵに接続されるストレージデバイスおよびメモリデバイスをストレージということがある）が接続されている。各ストレージは特許文献１に開示されるごとくＥＣＣ回路を有し、ストレージへのデータの書き込みやストレージからのデータの読み出しは、このＥＣＣ回路を介して行われる。ストレージへの／からのデータの書き込み／読み出し動作は、それぞれのストレージ用のコントローラの制御の元に実行される。これらのコントローラの例として、フラッシュ・メモリ用のフラッシュ・メモリ・コントローラ、ＳＤＲＡＭ用のＳＤＲＡＭＣ（SDRAM Controller）、ＨＤＤ用のＨＤＣ（Hard Disk Controller）がある。なお、ＣＰＵ、マスタ、およびＤＭＡＣはバスマスタであり、複数のＢＩＵおよびＢＩＵに接続されたストレージがバススレーブである。
【０００６】
このマルチレイヤバスシステムで、マスタから送られてくる書き込みデータや送信元のデータが格納されているストレージからＤＭＡＣを使用して転送されてくる書き込みデータを、書き込み対象のストレージに書き込む場合、書き込み用データは書き込み対象ストレージが存在するＢＩＵを介して書き込み対象ストレージのＥＣＣ回路に入力される。ＥＣＣ回路は、書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成する。書き込み対象ストレージ用のコントローラは、書き込み用ストレージアドレス、およびストレージ書き込み制御信号を生成してストレージに出力する。また、書き込み対象ストレージ用のコントローラは、ＢＩＵを介して送られてくる書き込みデータに対して、ＥＣＣ回路に取り込む入力タイミング制御、ＥＣＣ回路によって生成されたＥＣＣ付き書き込みデータを書き込み対象ストレージに出力する出力タイミング制御、およびマスタやＤＭＡＣとの間で書き込み時のウエイト制御も行う。
【０００７】
このマルチレイヤバスシステムで、マスタやＤＭＡＣにより読み出し対象ストレージから読み出しデータを読み出す場合、マスタやＤＭＡＣから読み出し対象ストレージが存在するＢＩＵを介して、読み出しアドレスおよび読み出し制御信号が読み出し対象ストレージ用のコントローラに出力される。読み出し対象ストレージ用コントローラは読み出しアドレスおよび読み出し制御信号に基づいて読み出し用ストレージアドレスおよびストレージ読み出し制御信号を生成してストレージに出力し、ストレージに格納されているＥＣＣ付き読み出しデータ（書き込み時に格納したＥＣＣ付き書き込みデータ）を読み出し、ＥＣＣ回路に出力する。ＥＣＣ回路は、ＥＣＣ付き読み出しデータにＥＣＣエラーチェック処理を施して読み出しデータに誤りがある場合には誤り訂正を行い、ＥＣＣを削除した読み出しデータを生成する。このとき、読み出し対象ストレージ用コントローラは、ＢＩＵを介してＥＣＣ回路で生成されたＥＣＣを削除した読み出しデータを、読み出しデータを出力することを示す読み出し応答信号とともに、マスタやＤＭＡＣに出力する。
【０００８】
このように、ストレージへの書き込みデータはＥＣＣ回路によってＥＣＣコードが付加されるため、ＥＣＣ機能モジュールに入力される書き込みデータよりもストレージ内ではデータ量が増加し、ストレージからのＥＣＣ付き読み出しデータはＥＣＣ回路によってＥＣＣエラーチェック処理が施されて誤り訂正を行なった後にＥＣＣコードが削除されるため、ストレージからのＥＣＣ付き読み出しデータより読み出しデータのデータ量は減少する。ストレージへの／からのデータの書き込み／読み出しを制御するストレージに対応したコントローラは、このデータ量の差異に対応して、アドレス（書き込みアドレスおよび読み出しアドレス）を管理するとともに、書き込みおよび読み出しのタイミングを制御する必要があり、処理が複雑になるという問題があった。すなわち、システム・オン・チップ化された半導体集積回路の回路、特にストレージのリード・ライトを制御する回路が複雑になり、回路規模が増大するという問題があった。
【０００９】
また、ストレージが異なる場合、たとえば、ＨＤＤやＤＶＤ、ＣＤ、ＳＤＲＡＭでは、ＥＣＣコードのビット数や、ＥＣＣコードを生成するためのデータサイズが異なる。したがって、ストレージ毎に対応するＥＣＣ回路を備える必要があり、接続するストレージが増えるほどＥＣＣ回路の数が増え、半導体集積回路の回路規模が増大するという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、回路規模を抑制してストレージに格納する大量のデータの信頼性を向上するマルチレイヤバスシステムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、バスマスタとして動作する１〜複数のマスタ機能モジュールと、バススレーブとして動作する複数のスレーブ機能モジュールと、前記マスタ機能モジュールからの動作指示および動作開始指示によってデータをダイナミック・メモリ・アクセス（ＤＭＡ）転送する１〜複数のＤＭＡコントローラとが、前記マスタ機能モジュール毎のバスと、前記ＤＭＡコントローラのリード用バスおよびライト用バスとで接続されるマルチレイヤバスシステムにおいて、前記スレーブ機能モジュールの１つとして、書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成するとともに、ＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施してデータ誤りを訂正してＥＣＣコードを削除した読み出しデータを生成するＥＣＣ機能モジュール、を備え、前記マスタ機能モジュールからの動作指示および動作開始指示が前記スレーブ機能モジュールの１つから他のスレーブ機能モジュールへのデータライトの場合、前記ＤＭＡコントローラは、前記１つのスレーブ機能モジュールから他のスレーブ機能モジュールにＤＭＡ転送する書き込みデータを前記ＥＣＣ機能モジュールに出力し、前記ＥＣＣ機能モジュールによって生成されたＥＣＣ付き書き込みデータを前記他のスレーブ機能モジュールに格納し、前記マスタ機能モジュールからの動作指示および動作開始指示が前記他のスレーブ機能モジュールから１つのスレーブ機能モジュールへのデータリードの場合、前記ＤＭＡコントローラは、ＤＭＡ転送する前記他のスレーブ機能モジュールから読み出したＥＣＣ付き読み出しデータを前記ＥＣＣ機能モジュールに出力し、前記ＥＣＣ機能モジュールによって生成された読み出しデータを前記１つのスレーブ機能モジュールに出力すること、を特徴とする。
【発明の効果】
【００１２】
この発明によれば、スレーブ機能モジュールの１つとして、書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成するとともに、ＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施してデータ誤りを訂正してＥＣＣコードを削除した読み出しデータを生成するＥＣＣ機能モジュールを備え、マスタ機能網ジュールからの動作指示および動作開始指示がスレーブ機能モジュールの１つから他のスレーブ機能モジュールへのデータライトの場合、ＤＭＡコントローラは、１つのスレーブ機能モジュー
ルから他のスレーブ機能モジュールにＤＭＡ転送するために１つスレーブ機能モジュールから読み出した書き込みデータをＥＣＣ機能モジュールに出力し、ＥＣＣ機能モジュールによって生成されたＥＣＣ付き書き込みデータを他のスレーブ機能モジュールに格納し、マスタ機能モジュールからの動作指示および動作開始指示が他のスレーブ機能モジュールから１つのスレーブ機能モジュールへのデータリードの場合、ＤＭＡコントローラは、他のスレーブ機能モジュールから読み出したＥＣＣ付き読み出しデータをＥＣＣ機能モジュールに出力し、ＥＣＣ機能モジュールによって生成された読み出しデータを１つのスレーブ機能モジュールに出力するようにしているので、マルチレイヤバスシステム内に１つのＥＣＣ機能モジュールを備えるだけでよく、スレーブ機能モジュール毎に個別のＥＣＣ機能モジュールを備える必要がなくなり、回路規模を削減してデータの信頼性を向上することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明にかかるマルチレイヤバスシステムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１〜図５を用いてこの発明の実施の形態１を説明する。図１は、この発明にかかる実施の形態１のマルチレイヤバスシステムの構成の一例を示すブロック図である。図１に示したマルチレイヤバスシステムは、ハードディスク(以下、ＨＤとする）３、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（以下、ＳＤＲＡＭとする）５、およびプログラムによって所望の処理を実行するＣＰＵ１０と、上位装置であるホストや他のＣＰＵであるマスタ１１と、ＣＰＵ１０またはマスタ１１の動作指示および動作開始指示によってデータ転送処理（ＤＭＡ転送）を実行するダイナミック・メモリ・アクセス・コントローラ（以下、ＤＭＡＣとする）１２と、ＤＭＡリードバスＢＵＳ１、ＤＭＡライトバスＢＵＳ２、サードバスＢＵＳ３、ＣＰＵバスＢＵＳ４からなるマルチレイヤバスと、マルチレイヤバスとのインタフェース機能を有する複数（この場合は３つ）のバス・インタフェース・ユニット（以下、ＢＩＵとする）１３−１〜１３−３とを備え、ＣＰＵ１０がＣＰＵバスＢＵＳ４に接続され、マスタ１１がサードバスＢＵＳ３に接続され、ＤＭＡＣ１２がＣＰＵ１０からの設定用にＣＰＵバスＢＵＳ４に、マスタ１１からの設定用にサードバスＢＵＳ３に、スレーブ機能モジュールの読み出し用にＤＭＡリードバスＢＵＳ１に、スレーブ機能モジュールへの書き込み用にＤＭＡライトバスＢＵＳ２にそれぞれ接続され、ＢＩＵ１３−１〜１３−３はバスマスタからの読み出しおよび／または書き込み用にＣＰＵバスＢＵＳ４、サードバスＢＵＳ３、ＤＭＡリードバスＢＵＳ１、ＤＭＡライトバ
スＢＵＳ２に接続され、ＢＩＵ１３−１にはＨＤ３への／からの書き込み／読み出しを制
御するハードディスク・コントローラ（以下、ＨＤＣとする）１４が接続され、ＢＩＵ１３−２にはＳＤＲＡＭ５への／からの書き込み／読み出しを制御するＳＤＲＡＭコントローラ（以下、ＳＤＲＡＭＣとする）１５が接続され、ＢＩＵ１３−３にはＥＣＣコードの付加およびＥＣＣコードによる誤り訂正を行なうＥＣＣ回路１６が接続される半導体集積回路１を備えている。
【００１５】
なお、ＣＰＵ１０、マスタ１１、およびＤＭＡＣ１２がバスマスタとして動作する特許請求の範囲でいうところのマスタ機能モジュールであり、ＢＩＵ１３−１とＢＩＵ１３−１に接続されるＨＤＣ１４、およびＢＩＵ１３−２とＢＩＵ１３−２に接続されるＳＤＲＡＭＣ１５がバススレーブとして動作する特許請求の範囲でいうところのスレーブ機能モジュールであり、ＢＩＵ１３−３とＢＩＵ１３−３に接続されるＥＣＣ回路１６がバススレーブとして動作する特許請求の範囲でいうところのスレーブ機能モジュールの１つであるＥＣＣ機能モジュールである。
【００１６】
ＣＰＵバスＢＵＳ４はＣＰＵ１０がバスマスタとして動作する際のアドレス、データ、および制御信号の伝達に用いられ、サードバスＢＵＳ３はマスタ１１がバスマスタとして動作する際のアドレス、データ、および制御信号の伝達に用いられ、ＤＭＡリードバスＢＵＳ１はＤＭＡＣ１２がバスマスタとして動作する際にＤＭＡＣ１２の出力するアドレスおよび制御信号に対応するバススレーブからＤＭＡＣ１２に入力されるデータおよび制御信号の伝達に用いられ、ＤＭＡライトバスＢＵＳ２はＤＭＡＣ１２がバスマスタとして動作する際にＤＭＡＣ１２から出力されるデータ、アドレス、および制御信号の伝達に用いられる。
【００１７】
また、図１においては、ストレージとしてＨＤ３、およびＳＤＲＡＭ５を接続しているが、ストレージはこれに限るものではなく、たとえば、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などのストレージデバイスや、フラッシュ・メモリなどのメモリデバイスなどでもかまわない。この場合、接続するストレージデバイスやメモリデバイスに応じた制御回路を備えるようにすればよい。
【００１８】
図２は、図１に示したＤＭＡＣ１２の構成を示すブロック図である。ＤＭＡＣ１２は、転送モードが設定される転送モードレジスタ１２１と、転送すべきデータのサイズが設定される転送データサイズレジスタ１２２と、転送するデータの先頭アドレスが設定されるアドレスレジスタ１２３とを有する制御レジスタ１２０、転送データを格納するデータバッファ１２７、および制御レジスタ１２０に設定された情報（転送モード、転送データサイズ、および先頭アドレス）に基づいてデータ転送を制御する転送制御部１２６を備えている。
【００１９】
さらに詳細には、転送モードレジスタ１２１には、バスマスタから設定可能なＤＭＡ転送の開始を指示する転送開始ビット、ＤＭＡ転送中を表示する転送ステータスビット、ＤＭＡ転送の終了を表示する転送終了ビット、ＤＭＡ転送のディスティネーションがＥＣＣ回路１６の書き込み用入力バッファ１６１である第一のモードか、ＤＭＡ転送のソースがＥＣＣ回路１６の書き込み用出力バッファ１６３である第二のモードか、ＤＭＡ転送のディスティネーションがＥＣＣ回路１６の読み出し用入力バッファ１６５である第三のモードか、ＤＭＡ転送のソースがＥＣＣ回路１６の読み出し用出力バッファ１６７である第四のモードかを指定するＥＣＣモードビットが存在する。
【００２０】
また、転送データサイズレジスタ１２２は、ＤＭＡで転送されるデータサイズとこのデータサイズに対応するＥＣＣビットサイズの各データが保持される。転送データサイズレジスタ１２２の内容および転送開始ビット、ＥＣＣモードビットはＥＣＣ制御信号の一部としてＤＭＡＣ１２からＥＣＣ回路１６へ伝達される。制御レジスタ１２０は、バスマスタ（ＣＰＵ１０およびマスタ１１）から設定のための書き込みや内容確認のための読み出しができる。
【００２１】
図３は、図１に示したＥＣＣ回路１６の構成を示すブロック図である。ＥＣＣ回路１６は、ＨＤ３またはＳＤＲＡＭ５に格納する書き込みデータを一時保持する書き込み用入力バッファ１６１と、書き込み用入力バッファ１６１に保持された書き込みデータのＥＣＣコードを生成し、生成したＥＣＣコードを書き込み用データに付加したＥＣＣコード付き書き込みデータを生成するＥＣＣコード生成部１６２と、ＥＣＣコード生成部１６２によって生成されたＥＣＣコード付き書き込みデータを一時保持する書き込み用出力バッファ１６３と、ＨＤ３またはＳＤＲＡＭ５から読み出されたＥＣＣ付き読み出しデータを一時保持する読み出し用入力バッファ１６５と、読み出し用入力バッファ１６５に保持されているＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施して読み出しデータの誤りを訂正した後にＥＣＣコードを削除した読み出しデータを生成するＥＣＣエラー検出訂正部１６６と、ＥＣＣエラー検出訂正部１６６によって生成されたＥＣＣコードを削除した読み出しデータを一時保持する読み出し用出力バッファ１６７と、ＤＭＡＣ１２から入力される制御レジスタ１２０に保持されている情報やＤＭＡＣ１２の処理状態を示すＥＣＣ制御信号に基づいて、ＥＣＣ回路１６内の各構成要素の動作設定と動作制御を行うと共に、ＥＣＣ回路１６内の処理状態とデータ転送タイミングを示すＤＭＡ制御信号を生成しＤＭＡＣ１２に出力するするタイミング制御部１６４とを備えている。
【００２２】
つぎに、図４および図５のフローチャートを参照して、この発明にかかるマルチレイヤバスシステムの動作を説明する。まず、図４のフローチャートを参照して、ＣＰＵ１０がＥＣＣコードを付加されていないデータの保管に使用するワーク用のデバイス（図示せず）、たとえば本発明のマルチレイヤバスに接続される図示されないＢＩＵを介してアクセスできるＳＲＡＭやＣＰＵ１０内に配置されるＳＲＡＭなどの半導体集積回路１内のメモリデバイスからＨＤ３にデータをＤＭＡ転送する場合を例に挙げて、マルチレイヤバスシステムのＤＭＡ転送動作を説明する。
【００２３】
ＣＰＵ１０は、ＣＰＵバスＢＵＳ４を介してＤＭＡＣ１２の制御レジスタ１２０を設定する（ステップＳ１００）。具体的には、前記ＳＲＡＭからＥＣＣ回路１６にデータを転送するために、ＣＰＵ１０は、転送データサイズレジスタ１２２に転送すべきデータサイズを設定し、アドレスレジスタ１２３に転送すべきデータが格納されている転送元のＳＲＡＭの先頭アドレスを設定し、転送モードレジスタ１２１のＥＣＣモードビットに第一の転送モードを設定するとともに転送開始ビットをＤＭＡ転送開始に設定する。
【００２４】
ＤＭＡＣ１２の転送制御部１２６は、転送元のデバイスであるＳＲＡＭから書き込みデータをＤＭＡリードバスＢＵＳ１に読み出して一旦データバッファ１２７に格納した後、データバッファ１２７内の書き込みデータをＤＭＡライトバスＢＵＳ２に出力しＢＩＵ１３−３を介してＥＣＣ回路１６に転送し、書き込み用入力バッファ１６１に格納する（ステップＳ１０１）。
【００２５】
具体的には、転送制御部１２６は、アドレスレジスタ１２３に設定された転送元のデバイスであるＳＲＡＭの先頭アドレス、制御信号（チップセレクト、リード信号など）を含むデータ読み出しに必要な情報をアドレス信号としてＤＭＡリードバスＢＵＳ１を介して出力する。この時転送ステータスビットはＤＭＡ転送中を表示する。そして、選択された転送元のデバイスであるＳＲＡＭから読み出された書き込みデータをＤＭＡリードバスＢＵＳ１を介してデータバッファ１２７に保持する。その後、データバッファ１２７に保持している書き込みデータをＤＭＡライトバスＢＵＳ２およびＢＩＵ１３−３を介してＥＣＣ回路１６に出力するとともに、書き込み用入力バッファ１６１を制御するＥＣＣ制御信号をＥＣＣ回路１６に出力する。ＥＣＣ回路１６のタイミング制御部１６４は、ＥＣＣ制御信号に基づいて書き込み用データを書き込み用入力バッファ１６１に保持させる。転送制御部１２６は、アドレスレジスタ１２３に格納された先頭アドレスを順次インクリメントし、転送データサイズレジスタ１２２に設定されたデータサイズ分のデータ（書き込みデータ）が全て転送元のデバイスであるＳＲＡＭから書き込み用入力バッファ１６１に転送されるまで上記動作を繰り返す。
【００２６】
転送元のデバイスであるＳＲＡＭからからＥＣＣ回路１６の書き込み用入力バッファ１６１へ転送データサイズレジスタ１２２が持つデータサイズ分のデータが書き込まれＤＭＡ転送が終了すると、転送ステータスビットはＤＭＡ転送中の表示をクリアし、転送終了ビットはＤＭＡ転送の終了を表示し、転送データサイズレジスタ１２２の内容と共にＥＣＣ制御信号としてＤＭＡＣ１２からＥＣＣ回路１６のタイミング制御部１６４に伝達される。
【００２７】
タイミング制御部１６４は、このＥＣＣ制御信号に基づいて書き込み用入力バッファ１６１、ＥＣＣコード生成部１６２、および書き込み用出力バッファ１６３を制御して、書き込みデータのＥＣＣコードを生成させ、生成されたＥＣＣコードを書き込みデータに付加したＥＣＣコード付き書き込みデータを生成させる（ステップＳ１０２）。
【００２８】
ＥＣＣ回路１６のタイミング制御部１６４は、ＥＣＣ制御信号に基づいてＥＣＣコード付き書き込みデータを書き込み用出力バッファ１６３に保持させる。タイミング制御部１６４は、書き込み用出力バッファ１６３へのＥＣＣコード付き書き込みデータの格納完了を示すＤＭＡ制御信号を生成してＤＭＡＣ１２の転送制御部１２６に出力する。転送制御部１２６はこのＤＭＡ制御信号の情報をバスマスタのＣＰＵ１０に割り込み信号として伝達する。
【００２９】
バスマスタ（ＣＰＵ１０またはマスタ１１）へのＥＣＣコード付き書き込みデータの格納完了情報の伝達手段として、ＤＡＭＣ１２は割り込み信号を出力する。割り込み信号出力先バスマスタ（ＣＰＵ１０またはマスタ１１）は、ＭＤＡＣ１２にＤＭＡ転送要求を行うため制御レジスタ１２０を設定するステップＳ１００の実行以前に、自身へ割り込み信号が出力されるよう設定を終えている。
【００３０】
ＤＭＡＣ１２の転送制御部１２６から割り込み信号を受けたＣＰＵ１０は、ＣＰＵバスＢＵＳ４を介してＤＭＡＣ１２の制御レジスタ１２０を設定する（ステップＳ１０３）。具体的には、ＥＣＣ回路１６の書き込み用出力バッファ１６３からＨＤ３にデータを転送するために、ＣＰＵ１０は、転送データサイズレジスタ１２２に転送すべきデータ（ＥＣＣ付き書き込みデータ）のサイズを設定し、アドレスレジスタ１２３に転送すべきデータを格納する転送先のＨＤ３の先頭アドレスを設定し、転送モードレジスタ１２１にＥＣＣ回路１６の書き込み用出力バッファ１６３を用いる第二の転送モードを設定すると共に転送開始ビットをＤＭＡ転送開始に設定する。
【００３１】
ＤＭＡＣ１２の転送制御部１２６は、ＥＣＣ回路１６の書き込み用出力バッファ１６３に保持されているＥＣＣコード付き書き込みデータをＤＭＡリードバスＢＵＳ１に読み出して一旦データバッファ１２７に格納した後、データバッファ１２７内の書き込みデータをＤＭＡライトバスＢＵＳ２に出力しＢＩＵ１３−１、ＨＤＣ１４を介してＨＤ３に格納する（ステップＳ１０４）。具体的には、転送制御部１２６は、ＤＭＡ制御信号に基づいてＥＣＣ回路１６の書き込み用出力バッファ１６３に保持されているＥＣＣ付き書き込みデータを出力させるためのＥＣＣ制御信号を生成し、生成したＥＣＣ制御信号をＤＭＡライトバスＢＵＳ２およびＢＩＵ１３−３を介してＥＣＣ回路１６のタイミング制御部１６４に出力する。この時転送ステータスビットはＤＭＡ転送中を表示する。
【００３２】
タイミング制御部１６４は、ＥＣＣ制御信号に基づいて書き込み用出力バッファ１６３に保持されているＥＣＣ付き書き込みデータをＢＩＵ１３−３を介してＤＭＡリードバスＢＵＳ１に出力すると共にＤＭＡリードバスＢＵＳ１にデータを出力したことを示すＤＭＡ制御信号を転送制御部１２６へ送出する。
【００３３】
転送制御部１２６は、ＤＭＡリードバスＢＵＳ１に出力されたＥＣＣ付き書き込みデータをデータバッファ１２７に格納する。転送制御部１２６は、アドレスレジスタ１２３に設定されているＨＤ３の先頭アドレスと制御信号（チップセレクト、ライト信号など）を含むデータ書き込みに必要な情報をアドレス信号としてデータバッファ１２７に格納されているＥＣＣ付き書き込みデータとともにＤＭＡライトバスＢＵＳ２およびＢＩＵ１３−１を介してＨＤＣ１４に出力する。
【００３４】
転送制御部１２６は、アドレスレジスタ１２３に格納された先頭アドレスを順次インクリメントし、転送データサイズレジスタ１２２に設定されたデータサイズ分のデータ（書き込みデータ）が全て転送元の書き込み用出力バッファ１６３からＨＤＣ１４に転送されるまで上記動作を繰り返す。
【００３５】
書き込み用出力バッファ１６３からＨＤＣ１４へ転送データサイズレジスタ１２２に設定されたデータサイズ分のデータ（書き込みデータ）のＤＭＡ転送が終了すると、転送ステータスビットはＤＭＡ転送中の表示をクリアし、転送終了ビットはＤＭＡ転送の終了を表示する。転送終了ビットの変化情報は制御信号としてＨＤＣ１４に伝えられる。
【００３６】
ＨＤＣ１４は、転送制御部１２６からのアドレス、制御信号の情報に基づいてＨＤ３にＥＣＣ付き書き込みデータを書き込む制御信号を生成し、書き込み用出力バッファ１６３からＤＭＡ転送された全てのＥＣＣ付き書き込みデータをＨＤ３に格納する。
【００３７】
なお、ＣＰＵ１０からの動作指示および動作開始指示によってＳＲＡＭなどの半導体集積回路１内のメモリデバイスからＳＤＲＡＭ５にデータを書き込む場合の動作は、ＳＲＡＭなどの半導体集積回路１内のメモリデバイスからＨＤ３にデータを書き込む動作と同様であり、マスタ１１からの動作指示および動作開始指示によってＳＲＡＭなどの半導体集積回路１内のメモリデバイスからＨＤ３またはＳＤＲＡＭ５にデータを書き込む動作は、ＤＭＡＣ１２の制御レジスタ１２０の設定をマスタ１１が行なうだけであるので、ここではその説明を省略する。
【００３８】
つぎに、図５のフローチャートを参照して、ＨＤ３からＣＰＵ１０がＥＣＣコードを付加されていないデータの保管に使用するワーク用のデバイス（図示せず）、たとえば本発明のマルチレイヤバスに接続される図示されないＢＩＵを介してアクセスできるＳＲＡＭやＣＰＵ１０内に配置されるＳＲＡＭなどの半導体集積回路１内のメモリデバイスにデータを書き込む場合を例に挙げて、マルチレイヤバスシステムのＤＭＡ転送動作を説明する。なお、ＨＤ３には図４のフローチャートを参照して説明したＥＣＣ付き書き込みデータが格納されているものとする。
【００３９】
ＣＰＵ１０は、ＣＰＵバスＢＵＳ４を介してＤＭＡＣ１２の制御レジスタ１２０を設定する（ステップＳ２００）。具体的には、ＨＤ３からＥＣＣ回路１６にデータを転送するために、ＣＰＵ１０は、転送データサイズレジスタ１２２に転送すべきデータサイズを設定し、アドレスレジスタ１２３に転送すべきデータが格納されている転送元のＨＤ３の先頭アドレスを設定し、転送モードレジスタ１２１のＥＣＣモードビットに第三の転送モードを設定すると共に転送開始ビットをＤＭＡ転送開始に設定する。
【００４０】
ＤＭＡＣ１２の転送制御部１２６は、ＨＤ３に格納されているＥＣＣ付き読み出しデータをＤＭＡリードバスＢＵＳ１に読み出して一旦データバッファ１２７に格納した後、データバッファ１２７内の書き込みデータをＤＭＡライトバスＢＵＳ２に出力しＢＩＵ１３−３を介してＥＣＣ回路１６に転送し、読み出し用入力バッファ１６５に格納する（ステップＳ２０１）。
【００４１】
具体的には、転送制御部１２６は、アドレスレジスタ１２３に設定された転送元のデバイスであるＨＤ３の先頭アドレス、制御信号（チップセレクト、リード信号など）を含むデータ読み出しに必要な情報をアドレス信号としてＤＭＡリードバスＢＵＳ１を介して出力する。この時転送ステータスビットはＤＭＡ転送中を表示する。このアドレス信号を受けてＢＩＵ１３−１とＢＩＵ１３−１に繋がるＨＤＣ１４が選択され、ＨＤＣ１４は、送られたアドレスに対応したＨＤ３のセクタからＥＣＣ付き読み出しデータをＨＤＣ１４に読み出す。簡単のため、読み出すべきＥＣＣ付き読み出しデータのデータサイズは、ＨＤ３の１セクタのデータサイズより小さいものとする。
【００４２】
ＨＤＣ１４はＨＤ３から読み出したＥＣＣ付き読み出しデータをＤＭＡリードバスＢＵＳ１に出力する。転送制御部１２６はＤＭＡリードバスＢＵＳ１上のＥＣＣ付き読み出しデータをデータバッファ１２７に保持する。その後、転送制御部１２６はデータバッファ１２７に保持している書き込みデータをＤＭＡライトバスＢＵＳ２およびＢＩＵ１３−３を介してＥＣＣ回路１６に出力するとともに、読み出し用入力バッファ１６１を制御するＥＣＣ制御信号をＥＣＣ回路１６に出力する。ＥＣＣ回路１６のタイミング制御部１６４は、ＥＣＣ制御信号に基づいてＥＣＣ付き読み出しデータを読み出し用入力バッファ１６５に保持させる。転送制御部１２６は、アドレスレジスタ１２３に格納された先頭アドレスを順次インクリメントしてＨＤＣ１４に送り、転送データサイズレジスタ１２２に設定されたデータサイズ分のデータ（ＥＣＣ付き読み出しデータ）が全て読み出し用入力バッファ１６１に転送されるまで、上記動作を繰り返す。
【００４３】
転送元のデバイスであるＨＤ３からからＥＣＣ回路１６の読み出し用入力バッファ１６５へ転送データサイズレジスタ１２２が持つデータサイズ分のデータが書き込まれＤＭＡ転送が終了すると、転送ステータスビットはＤＭＡ転送中の表示をクリアし、転送終了ビットはＤＭＡ転送の終了を表示し、転送データサイズレジスタ１２２の内容と共にＥＣＣ制御信号としてＤＭＡＣ１２からＥＣＣ回路１６のタイミング制御部１６４に伝達される。
【００４４】
ＥＣＣ回路１６のタイミング制御部１６４は、このＥＣＣ制御信号に基づいてＥＣＣ付き読み出しデータを読み出し用入力バッファ１６５、ＥＣＣエラー検出訂正部１６６および読み出し用出力バッファ１６７を制御してＥＣＣ付き読み出しデータにＥＣＣエラーチェック処理を施して、データの誤りを訂正した後にＥＣＣコードを削除した読み出しデータを生成する（ステップＳ２０２）。
【００４５】
ＥＣＣ回路１６のタイミング制御部１６４は、ＥＣＣ制御信号に基づいて読み出しデータを読み出し用出力バッファ１６７に保持させる。タイミング制御部１６４は、読み出し用出力バッファ１６７への読み出しデータの格納完了を示すＤＭＡ制御信号を生成してＤＭＡＣ１２の転送制御部１２６に出力する。転送制御部１２６はこのＤＭＡ制御信号の情報をバスマスタのＣＰＵ１０に割り込み信号として伝達する。
【００４６】
バスマスタ（ＣＰＵ１０またはマスタ１１）への読み出しデータの格納完了情報の伝達手段として、ＤＡＭＣ１２は割り込み信号を出力する。割り込み信号出力先バスマスタ（ＣＰＵ１０またはマスタ１１）は、ＭＤＡＣ１２にＤＭＡ転送要求を行うため制御レジスタ１２０を設定するステップＳ２００の実行以前に、自身へ割り込み信号が出力されるよう設定を終えている。
【００４７】
ＤＭＡＣ１２の転送制御部１２６から割り込み信号を受けたＣＰＵ１０は、ＣＰＵバスＢＵＳ４を介してＤＭＡＣ１２の制御レジスタ１２０を設定する（ステップＳ２０３）。具体的には、ＥＣＣ回路１６の読み出し用出力バッファ１６７からＳＲＡＭにデータを転送するために、ＣＰＵ１０は、転送データサイズレジスタ１２２に転送すべきデータ（ＥＣＣなし書き込みデータ）のサイズを設定し、アドレスレジスタ１２３に転送すべきデータを格納する転送先のＳＲＡＭの先頭アドレスを設定し、転送モードレジスタ１２１にＥＣＣ回路１６の読み出し用出力バッファ１６３を用いる第四の転送モードを設定すると共に転送開始ビットをＤＭＡ転送開始に設定する。
【００４８】
ＤＭＡＣ１２の転送制御部１２６は、ＥＣＣ回路１６の読み出し用出力バッファ１６７に保持されている読み出しデータをＤＭＡリードバスＢＵＳ１に読み出して一旦データバッファ１２７に格納した後、データバッファ１２７内の書き込みデータをＤＭＡライトバスＢＵＳ２に出力し、図示されないＢＩＵを介して転送先のデバイス（ＳＲＡＭ）に格納する（ステップＳ２０４）。具体的には、転送制御部１２６は、ＤＭＡ制御信号に基づいてＥＣＣ回路１６の読み出し用出力バッファ１６７に保持されている読み出しデータを出力させるためのＥＣＣ制御信号を生成し、生成したＥＣＣ制御信号をＤＭＡライトバスＢＵＳ２およびＢＩＵ１３−３を介してＥＣＣ回路１６のタイミング制御部１６４に出力する。この時転送ステータスビットはＤＭＡ転送中を表示する。
【００４９】
タイミング制御部１６４は、ＥＣＣ制御信号に基づいて読み出し用出力バッファ１６７に保持されている読み出しデータをＢＩＵ１３−３を介してＤＭＡリードバスＢＵＳ１に出力すると共にＤＭＡリードバスＢＵＳ１にデータを出力したことを示すＤＭＡ制御信号を転送制御部１２６へ送出する。
【００５０】
ＤＭＡＣ１２の転送制御部１２６は、ＤＭＡリードバスＢＵＳ１に出力された読み出しデータをデータバッファ１２７に格納する。転送制御部１２６は、アドレスレジスタ１２３に設定されている転送先のデバイス（ＳＲＡＭ）の先頭アドレスと制御信号（チップセレクト、ライト信号など）を含むデータ書き込みに必要な情報をアドレス信号としてデータバッファ１２７に格納されている読み出しデータと共にＤＭＡライトバスＢＵＳ２、図示されないＢＩＵを介してＳＲＡＭに書き込む。
【００５１】
転送制御部１２６は、アドレスレジスタ１２３に格納された先頭アドレスを順次インクリメントし、転送データサイズレジスタ１２２に設定されたデータサイズ分のデータ（読み込みデータ）が全て転送元の読み込み用出力バッファ１６７からＳＲＡＭに書き込まれるまで上記動作を繰り返す。
【００５２】
読み出し用出力バッファ１６７からＳＲＡＭへ転送データサイズレジスタ１２２に設定されたデータサイズ分のデータ（読み出しデータ）のＤＭＡ転送が終了すると、転送ステータスビットはＤＭＡ転送中の表示をクリアし、転送終了ビットはＤＭＡ転送の終了を表示する。
【００５３】
なお、ＣＰＵ１０からの動作指示および動作開始指示によってＳＲＡＭから読み出したデータにＥＣＣコードを付加し、ＥＣＣ付きデータとしてＳＤＲＡＭ５に書き込んだり、ＳＤＲＡＭ５から読み出したＥＣＣ付きデータのエラーチェック、誤り訂正を行いＥＣＣを削除したデータとしてＳＲＡＭに書き込む場合の動作は、上述したＳＲＡＭから読み出したデータにＥＣＣコードを付加し、ＥＣＣ付きデータとしてＨＤ３に書き込んだり、ＨＤ３から読み出したＥＣＣ付きデータのエラーチェック、誤り訂正を行いＥＣＣを削除したデータとしてＳＲＡＭに書き込む動作と同様であり、マスタ１１からの動作指示および動作開始指示によってＳＲＡＭから読み出したデータにＥＣＣコードを付加し、ＥＣＣ付きデータとしてＨＤ３またはＳＤＲＡＭ５に書き込んだり、ＨＤ３またはＳＤＲＡＭ５から読み出したＥＣＣ付きデータのエラーチェック、誤り訂正を行いＥＣＣを削除したデータとしてＳＲＡＭに書き込む動作は、ＤＭＡＣ１２の制御レジスタ１２０の設定をマスタ１１が行なうだけであるので、ここではその説明を省略する。
【００５４】
このようにこの実施の形態１では、スレーブ機能モジュールの１つとして、書き込みデータにＥＣＣコードを付加したＥＣＣ付き書き込みデータを生成するとともに、ＥＣＣコード付き読み出しデータにＥＣＣエラーチェック処理を施してデータ誤りを訂正してＥＣＣコードを削除した読み出しデータを生成するＥＣＣ回路１６を備え、ＣＰＵ１１からの動作指示および動作開始指示がＳＲＡＭからＨＤ３へのデータライト（ＤＭＡ転送）の場合、ＤＭＡＣ１２は、ＤＭＡ転送する書き込みデータをＥＣＣ回路１６に出力し、ＥＣＣ回路１６によって生成されたＥＣＣ付き書き込みデータをＨＤ３に格納し、ＣＰＵ１０からの動作指示および動作開始指示がＨＤ３からＳＲＡＭへのデータリード（ＤＭＡ転送）の場合、ＤＭＡＣ１２は、ＨＤ３から読み出したＥＣＣ付き読み出しデータをＥＣＣ回路１６に出力し、ＥＣＣ回路１６によって生成された読み出しデータを出力するようにしているので、マルチレイヤバスシステム内にＥＣＣ回路１６を１つ備えるだけでよく、従来のように各ストレージ毎にＥＣＣ回路を備える場合と比較して、回路規模を削減してデータの信頼性を向上することができる。
【００５５】
また、この実施の形態１では、ＤＭＡＣ１２の制御レジスタ１２０に転送データサイズレジスタ１２２を備え、ＥＣＣ処理またはＥＣＣエラーチェック処理を施すデータサイズを設定するようにしているので、１つのＥＣＣ回路１６で異なるデータサイズ単位でのＥＣＣ処理またはＥＣＣエラーチェック処理を実行することができる。具体的には、ＨＤ３に書き込む場合とＳＤＲＡＭ５に書き込む場合とで、転送するデータサイズと付加するＥＣＣコードサイズが異なる場合でも、１つＥＣＣ回路１６で対応することができ、ＥＣＣ回路１６内の各バッファ１６１，１６３，１６５，１６７を共通に用いることで、従来のようにストレージ毎にＥＣＣ回路を備える場合と比較して、回路規模を削減してデータの信頼性を向上することができる。さらに、マルチレイヤバスシステム内でＥＣＣ処理およびＥＣＣエラーチェック処理を行うデータサイズを共通とすれば（ＨＤ３とＳＤＲＡＭ５とのＥＣＣコードを付加するデータサイズを同じにする）、ＥＣＣ回路１６内のＥＣＣコード生成部１６２およびＥＣＣエラー検出訂正部１６６の回路規模をより小さくすることができる。
【００５６】
なお、この実施の形態１では、ＤＭＡＣ１２にデータバッファ１２７を設けて書き込みデータ、ＥＣＣ付き書き込みデータ、読み出しデータ、およびＥＣＣ付き読み出しデータを一時保持するようにしたが、データバッファ１２７を介することなくＤＭＡ転送を行なうようにしてもよい。この場合、データバッファ１２７を介するか否かは、データバッファ１２７を介するか否かを設定するレジスタを制御レジスタ１２０内に設けてＣＰＵ１０またはマスタ１１が設定するようにすればよい。
【００５７】
また、この実施の形態１では、書き込みデータとＥＣＣ付き書き込みデータのデータサイズおよびＥＣＣ付き読み出しデータと読み出しデータのデータサイズは、ＣＰＵ１０またはマスタ１１がＤＭＡＣ１２の制御レジスタ１２に設定するようにしたが、ＤＭＡＣ１２内で、ＣＰＵ１０またはマスタ１１が設定したＥＣＣが付かないデータサイズとＥＣＣビットサイズよりＥＣＣ付きデータサイズを生成しＤＭＡＣ１２の制御レジスタ１２に設定するようにしてもよい。
【００５８】
さらに、この実施の形態１では、ＤＡＭＣ１２の制御レジスタ１２０内に転送モードレジスタ１２１を備え、転送モードレジスタ１２１には、ＤＭＡ転送のディスティネーションがＥＣＣ回路１６の書き込み用入力バッファ１６１である第一のモードか、ＤＭＡ転送のソースがＥＣＣ回路１６の書き込み用出力バッファ１６３である第二のモードか、ＤＭＡ転送のディスティネーションがＥＣＣ回路１６の読み出し用入力バッファ１６５である第三のモードか、ＤＭＡ転送のソースがＥＣＣ回路１６の読み出し用出力バッファ１６７である第四のモードかを指定するＥＣＣモードビットを設けるようにしたが、第一から第四のモードそれぞれに対応する４つのＤＭＡＣを備えて、転送経路に応じてＣＰＵ１０またはマスタ１１が指定するようにしてもかまわない。
【００５９】
実施の形態２．
図６を用いてこの発明にかかる実施の形態２を説明する。図６は、この発明にかかる実施の形態２のマルチレイヤバスシステムの構成の一例を示すブロック図である。図６に示したマルチレイヤバスシステムは、図１に示したマルチレイヤバスシステムに、ＢＩＵ１３−１〜１３−３と同様にマルチレイヤバスのインタフェース機能を有するＢＩＵ１３−４が追加され、ＥＣＣ回路１６がＢＩＵ１３−３およびＢＩＵ１３−４に接続されている。図１に示したマルチレイヤバスシステムと同じ機能を備える構成部分には同一符号を付し、重複する説明は省略する。
【００６０】
この発明にかかる実施の形態２のマルチレイヤバスシステムと、上述した実施の形態１のマルチレイヤバスシステムとの相違点は、実施の形態１のマルチレイヤバスシステムではＢＩＵ１３−３にＥＣＣ回路１６を接続してＥＣＣ回路１６をＨＤ３やＳＤＲＡＭ５と同様のスレーブ機能モジュールの１つとしているのに対し、この実施の形態２のマルチレイヤバスシステムでは、ＢＩＵ１３−３とＢＩＵ１３−４とにＥＣＣ回路１６を接続していることである。具体的には、ＢＩＵ１３−３に書き込み用入力バッファ１６１および読み出し用出力バッファ１６７を接続し、ＢＩＵ１３−４に書き込み用出力バッファ１６３および読み出し用入力バッファ１６５を接続していることである。すなわち、この発明にかかる実施の形態２のマルチレイヤバスシステムは、ＥＣＣコードが付加されていない読み出しデータおよび書き込みデータをＢＩＵ１３−３を介してやり取りし、ＥＣＣコードが付加されているＥＣＣ付き書き込みデータおよびＥＣＣ付き読み出しデータをＢＩＵ１３−４を介してやり取りするようにしている。
【００６１】
この実施の形態２のマルチレイヤバスシステムのＤＭＡ転送の動作は、実施の形態１では、ＢＩＵ１３−３を介してＥＣＣ回路１６とのデータ（書き込みデータ、ＥＣＣ付き書き込みデータ、読み出しデータ、およびＥＣＣ付き読み出しデータ）のやり取りを行なうのに対して、書き込みデータおよび読み出しデータをＢＩＵ１３−３を介してやり取りし、ＥＣＣ付き書き込みデータおよびＥＣＣ付き読み出しデータをＢＩＵ１３−４を介してやり取りすることが異なるだけであるので、ここではその説明を省略する。
【００６２】
すなわち、この実施の形態２では、ＢＩＵ１３−３とＢＩＵ１３−４とにＥＣＣ回路１６を接続し、ＣＰＵ１０からの動作指示および動作開始指示が、半導体集積回路１内のＳＲＡＭからＨＤ３へのデータライト（ＤＭＡ転送）の場合、ＤＭＡＣ１２は、書き込みデータをＢＩＵ１３−３を介してＥＣＣ回路１６に出力し、ＥＣＣ回路１６によって生成されたＥＣＣ付き書き込みデータをＢＩＵ１３−４を介して出力させてＨＤ３にデータを格納し、ＣＰＵ１０からの動作指示および動作開始指示がＨＤ３から半導体集積回路１内のＳＲＡＭへのデータリード（ＤＭＡ転送）の場合、ＤＭＡＣ１２は、ＨＤ３から読み出したＥＣＣ付き読み出しデータをＢＩＵ１３−４を介してＥＣＣ回路１６に出力し、ＥＣＣ回路１６によって生成された読み出しデータをＢＩＵ１３−３を介して出力させて半導体集積回路１内部のデバイスであるＳＲＡＭに書き込むようにしているので、スレーブ機能モジュールの１つとしてＥＣＣ回路１６を備える場合と比較して、ＢＩＵ１３−３を通過するデータ転送量が軽減され、システム全体としてのデータ転送のスループットを向上することができる。
【産業上の利用可能性】
【００６３】
以上のように、本発明にかかるマルチレイヤバスシステムは、データにＥＣＣコードを付加してデータの信頼性を向上するシステム・オン・チップ化されたマルチレイヤバスシステムを含む半導体集積回路に適している。
【図面の簡単な説明】
【００６４】
【図１】この発明にかかる実施の形態１のマルチレイヤバスシステムの構成の一例を示すブロック図である。
【図２】図１に示したＤＭＡＣの構成を示すブロック図である。
【図３】図１に示したＥＣＣ回路の構成を示すブロック図である。
【図４】この発明にかかる実施の形態１のマルチレイヤバスシステムの動作を説明するための第一のフローチャートである。
【図５】この発明にかかる実施の形態１のマルチレイヤバスシステムの動作を説明するための第二のフローチャートである。
【図６】この発明にかかる実施の形態２のマルチレイヤバスシステムの構成の一例を示すブロック図である。
【符号の説明】
【００６５】
１  半導体集積回路
３  ＨＤ
５  ＳＤＲＡＭ
１０  ＣＰＵ
１１  マスタ
１２  ＤＭＡＣ
１３−１，１３−２，１３−３，１３−４  ＢＩＵ
１４  ＨＤＣ
１５  ＳＤＲＡＭＣ
１６  ＥＣＣ回路
１２０  制御レジスタ
１２１  転送モードレジスタ
１２２  転送データサイズレジスタ
１２３  アドレスレジスタ
１２６  転送制御部
１２７  データバッファ
１６１  書き込み用入力バッファ
１６２  ＥＣＣコード生成部
１６３  書き込み用出力バッファ
１６４  タイミング制御部
１６５  読み出し用入力バッファ
１６６  ＥＣＣエラー検出訂正部
１６７  読み出し用出力バッファ
【図１】
2006338533.tif 000003
【図２】
2006338533.tif 000004
【図３】
2006338533.tif 000005
【図４】
2006338533.tif 000006
【図５】
2006338533.tif 000007
【図６】
2006338533.tif 000008