(57)【特許請求の範囲】
【請求項１】
メモリに直接アクセスして前記メモリのアドレスに第１データをライト（ｗｒｉｔｅ）するＤＭＡモジュールを含み、
前記ＤＭＡモジュールは、
プロセッサがキャッシュに格納された第２データを前記メモリのアドレスにフラッシュ（ｆｌｕｓｈｉｎｇ）する区間のあいだ、前記メモリに前記第１データをライトするための伝送パラメータを設定する設定ユニットと、
前記設定された伝送パラメータに基づいて前記メモリに伝送する第１データを生成する生成ユニットと、
前記フラッシュが完了した後、前記伝送パラメータに基づいて前記メモリのアドレスに前記生成された第１データをライトする伝送ユニットとを含む半導体装置。
【請求項２】
前記第１データは前記第２データと異なるデータである請求項１に記載の半導体装置。
【請求項３】
前記生成ユニットは前記第１データを外部装置から提供されたり前記第１データを直接生成する請求項１に記載の半導体装置。
【請求項４】
前記生成ユニットは前記外部装置にリード（ｒｅａｄ）動作またはライト（ｗｒｉｔｅ）動作を行う請求項３に記載の半導体装置。
【請求項５】
前記第１データが格納されるバッファをさらに含む請求項１に記載の半導体装置。
【請求項６】
前記生成ユニットは前記第１データを前記バッファに格納する請求項５に記載の半導体装置。
【請求項７】
前記伝送ユニットは前記バッファに格納された第１データを前記メモリに伝送する請求項６に記載の半導体装置。
【請求項８】
前記伝送パラメータは、前記第１データのサイズまたは前記第１データが格納された前記バッファのアドレスまたは前記メモリのアドレスを含む請求項５に記載の半導体装置。
【請求項９】
前記設定ユニットは、前記プロセッサから前記伝送パラメータと関連する情報及び前記キャッシュのフラッシュと関連する情報の提供を受ける請求項１に記載の半導体装置。
【請求項１０】
前記伝送ユニットは、前記設定ユニットから前記キャッシュのフラッシュと関連する情報の提供を受けて前記キャッシュがフラッシュする区間のあいだ非活性化する請求項９に記載の半導体装置。
【請求項１１】
前記伝送ユニットは前記フラッシュが完了した後に活性化する請求項１０に記載の半導体装置。
【請求項１２】
前記伝送ユニットは前記プロセッサから前記キャッシュのフラッシュと関連する情報の提供を受ける請求項１に記載の半導体装置。
【請求項１３】
前記伝送ユニットは前記キャッシュから前記キャッシュのフラッシュと関連する情報の提供を受ける請求項１に記載の半導体装置。
【請求項１４】
前記生成ユニットは前記設定ユニットが前記伝送パラメータを設定した後、前記第１データを生成する請求項１に記載の半導体装置。
【請求項１５】
前記生成ユニットは前記フラッシュする区間のあいだに前記第１データの生成を開始する請求項１４に記載の半導体装置。
【請求項１６】
前記伝送ユニットは、前記生成ユニットが前記第１データを生成した後、前記メモリのアドレスに前記第１データを伝送する請求項１５に記載の半導体装置。
【請求項１７】
前記伝送ユニットは、前記メモリにリード（ｒｅａｄ）動作またはライト（ｗｒｉｔｅ）動作を行う請求項１に記載の半導体装置。
【請求項１８】
前記第１データが格納されるバッファをさらに含み、
前記第１データは、第３データ及び第４データを含む請求項１に記載の半導体装置。
【請求項１９】
前記メモリのアドレスは第１アドレスと第２アドレスを含み、
前記伝送ユニットは前記第３データを前記第１アドレスに伝送する第１伝送動作と、前記第１伝送動作後に前記第４データを前記第２アドレスに伝送する第２伝送動作を行い、
前記第１伝送動作は前記生成ユニットが前記第４データを生成するあいだに行われる請求項１８に記載の半導体装置。
【請求項２０】
前記生成ユニットは前記フラッシュする区間のあいだに前記第３データの生成を開始し、
前記フラッシュが完了した後、前記第４データを生成する請求項１８に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、半導体システム及びシステムオンチップに関する。
【背景技術】
【０００２】
ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）は、入出力装置制御器がＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によるプログラムの実行なしで資料の移動ができるようにしたことを意味する。この方式によって入出力速度を向上させ、ＣＰＵと周辺装置との間の速度の差を減らすことができる。入出力装置がＤＭＡを要求するとＣＰＵが主メモリの制御を譲り渡すが、ＣＰＵはこの作業をＣＰＵサイクルが終わる時点ごとに許容し得る。
ただし、ＤＭＡを内蔵した周辺装置プロセッシングユニットを利用してシステムメモリの特定アドレスに最新データを伝送しようとする場合、メモリの特定アドレスから提供を受けてキャッシュ（ｃａｃｈｅ）に格納された以前データは有効でないため、先ずキャッシュを無効化（例えば、フラッシュ（ｆｌｕｓｈｉｎｇ））させた後にＤＭＡを始める。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２５８９３５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、ＤＭＡ機能をキャッシュの無効化（すなわち、フラッシュ）過程と同時に行うことによって、性能を向上させた半導体装置を提供することにある。
【０００５】
本発明が解決しようとする他の課題は、ＤＭＡ機能をキャッシュの無効化（すなわち、フラッシュ）過程と同時に行うことによって性能を向上させた半導体システムを提供することにある。
【０００６】
本発明が解決しようとするまた他の課題は、ＤＭＡ機能をキャッシュの無効化（すなわち、フラッシュ）過程と同時に行うことによって性能を向上させたシステムオンチップ（Ｓｙｓｔｍｅｎ  ｏｎ  Ｃｈｉｐ）を提供することにある。
【０００７】
本発明が解決しようとする課題は、以上言及した課題に制限されず、言及されていないまた他の課題は次の記載から当業者に明確に理解できるであろう。
【課題を解決するための手段】
【０００８】
前記課題を解決するための本発明の半導体装置の一実施形態は、メモリに直接アクセスして前記メモリのアドレスに第１データをライト（ｗｒｉｔｅ）するＤＭＡモジュールを含み、ＤＭＡモジュールは、プロセッサがキャッシュに格納された第２データをメモリのあらかじめ定められたアドレスにフラッシュ（ｆｌｕｓｈｉｎｇ）する区間のあいだ、メモリに第１データをライトするための伝送パラメータを設定する設定ユニットと、設定された伝送パラメータに基づいてメモリに伝送する第１データを生成する生成ユニットと、フラッシュが完了した後、伝送パラメータに基づいてメモリのあらかじめ定められたアドレスに生成された第１データをライトする伝送ユニットとを含む。
【０００９】
前記第１データは第２データと異なるデータであり得る。
【００１０】
前記生成ユニットは、生成ユニットが第１データを外部装置から提供されたり前記第１データを直接生成し得る。
【００１１】
前記生成ユニットは外部装置にリード（ｒｅａｄ）動作またはライト（ｗｒｉｔｅ）動作を行い得る。
【００１２】
前記第１データが格納されるバッファをさらに含み得る。
【００１３】
前記生成ユニットは第１データをバッファに格納し得る。
【００１４】
前記伝送ユニットはバッファに格納された第１データをメモリに伝送し得る。
【００１５】
前記伝送パラメータは、第１データのサイズまたは第１データが格納されたバッファのアドレスまたはメモリのアドレスを含み得る。
【００１６】
前記設定ユニットは、プロセッサから伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報の提供を受け得る。
【００１７】
前記伝送ユニットは、設定ユニットからキャッシュのフラッシュと関連する情報の提供を受け、キャッシュがフラッシュする区間のあいだ非活性化され得る。
【００１８】
前記伝送ユニットはフラッシュが完了した後、活性化され得る。
【００１９】
前記伝送ユニットはプロセッサからキャッシュのフラッシュと関連する情報の提供を受け得る。
【００２０】
前記伝送ユニットはキャッシュからキャッシュのフラッシュと関連する情報の提供を受け得る。
【００２１】
前記生成ユニットは設定ユニットが伝送パラメータを設定した後、第１データを生成し得る。
【００２２】
前記生成ユニットはフラッシュする区間のあいだに前記第１データの生成を開始し得る。
【００２３】
前記伝送ユニットは、生成ユニットが第１データを生成した後、メモリのアドレスに第１データを伝送し得る。
【００２４】
前記伝送ユニットは、メモリにリード（ｒｅａｄ）動作またはライト（ｗｒｉｔｅ）動作を行い得る。
【００２５】
前記第１データが格納されるバッファをさらに含み、前記第１データは、第３データ及び第４データを含み得る。
【００２６】
前記メモリのアドレスは第１アドレスと第２アドレスとを含み、伝送ユニットは第３データを第１アドレスに伝送する第１伝送動作と、第１伝送動作後に第４データを第２アドレスに伝送する第２伝送動作を行い、第１伝送動作は生成ユニットが第４データを生成するあいだに行われ得る。
【００２７】
前記生成ユニットは前記フラッシュする区間のあいだに前記第３データの生成を開始し、前記フラッシュが完了した後、前記第４データを生成し得る。
【００２８】
本発明のその他詳細な内容は詳細な説明及び図面に含まれている。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態による半導体装置を説明するブロック図。
【図２】図１のＤＭＡモジュールを説明するためのブロック図。
【図３】図１の半導体装置の動作を説明するための概略図。
【図４】図１の半導体装置の動作を説明するための概略図。
【図５】本発明の一実施形態による半導体システムを説明するブロック図。
【図６】図５の第２プロセッサを説明するためのブロック図。
【図７】本発明の他の実施形態による半導体システムを説明するブロック図。
【図８】図７の第２及び第３プロセッサを説明するためのブロック図。
【図９】システムオンチップ（Ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）で実現された図７の半導体システムを説明する図。
【図１０】本発明のいくつかの実施形態による半導体システムを適用できる例示的な電子システム。
【図１１】本発明のいくつかの実施形態による半導体システムを適用できる例示的な電子システム。
【図１２】本発明のいくつかの実施形態による半導体システムを適用できる例示的な電子システム。
【図１３】図１の半導体装置の動作方法を説明する図。
【図１４】図１の半導体装置の動作方法を説明する図。
【図１５】図５の半導体システムの動作方法を説明する図。
【図１６】図５の半導体システムの動作方法を説明する図。
【図１７】図７の半導体システムの動作方法を説明する図。
【図１８】図７の半導体システムの動作方法を説明する図。
【発明を実施するための形態】
【００３０】
本発明の利点及び特徴、これらを達成する方法は添付する図面と共に詳細に後述する実施形態において明確になるであろう。しかし、本発明は、以下で開示する実施形態に限定されるものではなく、互いに異なる多様な形態で実現されるものであり、本実施形態は、単に本発明の開示を完全にし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、特許請求の範囲によってのみ定義される。図面に表示する構成要素のサイズおよび相対的なサイズは説明を明瞭するため、誇張したものであり得る。明細書全体にかけて同一参照符号は同一構成要素を指称し、「および／または」は、言及されたアイテムの各々および一つ以上のすべての組合せを含む。
【００３１】
素子(elements)または層が他の素子または層の「上(on)」と指称された場合、他の素子の真上にまたは中間に他の層または他の素子を介在する場合のすべてを含む。一方、素子が「直接上(directly on)」または「真上」と指称される場合は、中間に他の素子または層を介在しないことを示す。
【００３２】
空間的に相対的な用語である「下(below)」、「下(beneath)」、「下部(lower)」、「上(above)」、「上部(upper)」などは図面に図示するように一つの素子または構成要素と異なる素子または構成要素との相関関係を容易に記述するために使用され得る。空間的に相対的な用語は、図面に図示する方向に加え、使用時または動作時の素子の互いに異なる方向を含む用語として理解しなければならない。例えば、図面に図示する素子をひっくり返す場合、他の素子の「下(below)」または「下(beneath)」と記述された素子は他の素子の「上(above)」に置かれる。したがって、例示的な用語である「下」は下と上の方向をすべて含み得る。素子は他の方向にも配向し得、これにより空間的に相対的な用語は配向により解釈される。
【００３３】
本明細書で使用された用語は実施形態を説明するためであり、本発明を制限しようとするものではない。本明細書で、単数型は文句で特に言及しない限り複数型も含む。明細書で使用される「含む（ｃｏｍｐｒｉｓｅｓ）」および／または「含む（ｃｏｍｐｒｉｓｉｎｇ）」は言及された構成要素以外に一つ以上の他の構成要素の存在または追加を排除しない。
【００３４】
第１、第２などが多様な素子、構成要素を叙述するために使用されるが、これら素子、構成要素はこれらの用語によって制限されないことはいうまでもない。これらの用語は、単に一つ構成要素を他の構成要素と区別するために使用するものである。したがって、以下で言及される第１構成要素は本発明の技術的思想内で第２構成要素であり得ることは勿論である。
【００３５】
他に定義されなければ、本明細書で使用されるすべての用語（技術および科学的用語を含む）は、本発明が属する技術分野で通常の知識を有する者が共通に理解できる意味として使用され得る。また一般に使用される辞典に定義されている用語は明白に特別に定義されていない限り理想的にまたは過度には解釈しない。
【００３６】
以下で、図１ないし図４を参照して本発明の一実施形態による半導体装置について説明する。
【００３７】
図１は本発明の一実施形態による半導体装置を説明するブロック図である。図２は図１のＤＭＡモジュールを説明するためのブロック図である。図３及び図４は図１の半導体装置の動作を説明するための概略図である。
【００３８】
以下の説明において、「部」または「モジュール」という用語はソフトウェア構成要素またはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、「部」または「モジュール」はある役割をする。しかし、「部」または「モジュール」はソフトウェアまたはハードウェアに限定される意味ではない。「部」または「モジュール」はアドレシングできる保存媒体にあるように構成でき、１つまたはそれ以上のプロセッサを実行させるようにも構成できる。したがって、一例として「部」または「モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素などのように構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素などと「部」または「モジュール」内で提供される機能はさらに小さな類の構成要素及び「部」または「モジュール」に結合されたり、追加的な構成要素などと「部」または「モジュール」にさらに分離できる。
【００３９】
図１を参照すると、本発明の一実施形態による半導体装置１００はＤＭＡモジュール１１０とバッファ１６０とを含み得る。
【００４０】
ＤＭＡモジュール１１０はメモリ２００に直接アクセスし得る。
【００４１】
具体的には、ＤＭＡモジュール１１０はデータを直接生成したり外部装置から提供を受けてバッファ１６０に格納し得、バッファ１６０に格納したデータをメモリ２００に伝送し得る。
【００４２】
またＤＭＡモジュール１１０はメモリ２００にリード（ｒｅａｄ）またはライト（ｗｒｉｔｅ）動作を行い得る。
【００４３】
バッファ１６０はＤＭＡモジュール１１０によって提供されたデータを格納し得る。ここで、ＤＭＡモジュール１１０がデータを伝送するときバス（図示せず）を占められない場合が発生し得るため、ＤＭＡモジュール１１０が性能低下なしに円滑に動作できるように十分なサイズのバッファ１６０が確保されることが好ましい。
【００４４】
具体的には、バッファ１６０は、ＤＭＡモジュール１１０が一度にメモリ２００に伝送できるデータの最大量より大きい余裕空間を有することが好ましい。
【００４５】
追加的には、メモリ２００は例えば、ＤＲＡＭを含み得るが、これに限定されない。またメモリ２００は一般データを格納するデータ領域とスペア領域とを含み得る。メモリ２００の領域の各々は複数のメモリブロックで構成され得る。このようなメモリ２００の詳細な構成は本技術分野の通常的な知識を習得した者によく知られているため詳しい説明は省略する。
【００４６】
図２を参照すると、ＤＭＡモジュール１１０は設定ユニット１１５、生成ユニット１２０、伝送ユニット１２５を含み得る。
【００４７】
設定ユニット１１５はメモリ２００に第１データをライトするための伝送パラメータＤＰを設定し得る。
【００４８】
具体的には、設定ユニット１１５はプロセッサ２５０から伝送パラメータＤＰと関連する情報（ＤＰ．Ｉ）の提供を受けて伝送パラメータＤＰを設定し得る。ここで、伝送パラメータＤＰは例えば、メモリ２００に伝送しようとする第１データのサイズ、メモリ２００に伝送しようとする第１データが格納されたバッファ１６０のアドレス、第１データを伝送しようとするメモリ２００のあらかじめ定められたアドレスを含み得るが、これに限定されない。第１データはメモリ２００に伝送しようとするデータである。
【００４９】
ここで、プロセッサ２５０は例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含み得るが、これに限定されない。また第１データはメモリ２００のあらかじめ定められたアドレスに格納しようとする最新データを含み得る。
【００５０】
設定ユニット１１５はプロセッサ２５０から伝送パラメータと関連する情報（ＤＰ．Ｉ）だけでなく、キャッシュの無効化（以下では、フラッシュという）と関連する情報（ＣＩ．Ｉ）の提供も受け得、提供されたキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）に基づいて伝送パラメータＤＰの設定動作を始めることができる。すなわち、伝送パラメータＤＰはプロセッサ２５０から提供された伝送パラメータと関連する情報（ＤＰ．Ｉ）に基づいて設定され、このような設定動作の開始時点はプロセッサ２５０から提供されたキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）に基づいて決定され得る。
【００５１】
ここで、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）はプロセッサ２５０で設定ユニット１１５に提供される場合を示すが、これに限定されない。より具体的には、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）はプロセッサ２５０から先に設定ユニット１１５に提供された後、設定ユニット１１５から伝送ユニット１２５に提供される場合を示すが、これに限定されない。すなわち、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）はプロセッサ２５０から設定ユニット１１５を経ず直接伝送ユニット１２５に提供され得、キャッシュ３００のフラッシュが開始されると、キャッシュ３００は自らキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を生成して伝送ユニット１２５に提供し得る。ただし、説明の便宜上、プロセッサ２５０から設定ユニット１１５にキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）が提供される場合を例えて説明する。
【００５２】
設定ユニット１１５が伝送パラメータＤＰを設定することは、プロセッサ２５０がキャッシュ３００に格納された第２データをメモリ２００のあらかじめ定められたアドレスにフラッシュするあいだに行われ得る。ここで、第２データは以前データ（すなわち、アップデートされないデータ）であって、最新データである第１データと異なるデータであり得る。またプロセッサ２５０はキャッシュ３００をフラッシュする動作以外にもキャッシュ３００にリードまたはライト動作を行い得る。
【００５３】
設定ユニット１１５は設定された伝送パラメータＤＰを生成ユニット１２０と伝送ユニット１２５に提供する。また設定ユニット１１５はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を伝送ユニット１２５に提供するため、これについての詳細な説明は後述する。
【００５４】
生成ユニット１２０は設定された伝送パラメータＤＰに基づいてメモリ２００に伝送する第１データを生成し得る。
【００５５】
具体的には、生成ユニット１２０は設定ユニット１１５から伝送パラメータＤＰの提供を受け得、伝送パラメータＤＰに基づいて第１データを生成し得る。ここで、生成ユニット１２０がデータを生成するということは、生成ユニット１２０がデータを外部装置３５０から提供されたり（リードしたり）直接生成することを含み得る。また生成ユニット１２０は生成した第１データをバッファ１６０に格納（ライト）し得る。
【００５６】
ここで、外部装置３５０は例えば、ＭＭＣ（Ｍｕｌｔｉ−Ｍｅｄｉａ  Ｃａｒｄ）を含み得るが、これに限定されない。
【００５７】
すなわち、生成ユニット１２０は伝送パラメータＤＰが指すデータのサイズに合わせて第１データを生成し、生成した第１データを伝送パラメータＤＰが指すバッファ１６０のアドレスに格納し得る。
【００５８】
生成ユニット１２０は外部装置３５０にリードまたはライト動作を行い得る。前述したとおり、生成ユニット１２０は第１データを生成するために外部装置３５０から第１データの提供を受け得るため、生成ユニット１２０はこのようなリード動作以外に外部装置３５０にデータをライトする動作も行い得る。
【００５９】
伝送ユニット１２５は伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データをライトし得る。
【００６０】
具体的には、伝送ユニット１２５は設定ユニット１１５から伝送パラメータＤＰの提供を受け得、伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データを伝送し得る。ここで、伝送ユニット１２５はバッファ１６０に格納された第１データをメモリ２００に伝送し得る。
【００６１】
すなわち、伝送ユニット１２５は伝送パラメータＤＰが指すバッファ１６０のアドレスに格納された第１データをリードし、伝送パラメータＤＰが指すメモリ２００のあらかじめ定められたアドレスに第１データを伝送（ライト）し得る。
【００６２】
伝送ユニット１２５がメモリ２００のあらかじめ定められたアドレスに第１データを伝送することは、キャッシュ３００のフラッシュが完了した後に行われ得る。
【００６３】
また伝送ユニット１２５は設定ユニット１１５からキャッシュ３００のフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ３００のフラッシュが開始されるという情報）の提供を受け、キャッシュ３００がフラッシュする区間のあいだ非活性化され得る。ここで、伝送ユニット１２５が非活性化する時点はキャッシュ３００のフラッシュが開始される前、開始と同時、または開始した後のいずれも可能である。
【００６４】
キャッシュ３００のフラッシュが完了した後に、伝送ユニット１２５は設定ユニット１１５からキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ３００のフラッシュが完了したという情報）の提供を受けて活性化する。
【００６５】
伝送ユニット１２５はメモリ２００にリードまたはライト動作を行い得る。前述したとおり、伝送ユニット１２５は第１データをメモリ２００のあらかじめ定められたアドレスに伝送するため、伝送ユニット１２５はこのようなライト動作以外にメモリ２００からデータをリードする動作も行い得る。
【００６６】
図２及び図３を参照すると、ＤＭＡモジュールの動作がキャッシュの無効化（すなわち、フラッシュ）が完了した後に開始される場合を示す。図３は、本発明の一実施形態による半導体装置１００が適用されない場合である。
【００６７】
すなわち、プロセッサがキャッシュをフラッシュする区間（Ｃａｃｈｅ  Ｉｎｖａｌｉｄａｔｉｏｎ）（時間ｔ１〜ｔ２）ではＤＭＡモジュールの動作がブロッキングされ得る。これはキャッシュをフラッシュする区間（時間ｔ１〜ｔ２）のあいだＤＭＡモジュールの動作がブロッキングされないと、キャッシュがフラッシュするメモリのアドレスとＤＭＡモジュールがデータを伝送しようとするメモリのアドレスが同じである場合、ＤＭＡモジュールが伝送しようとするデータが最新データであるにもかかわらず、キャッシュによってフラッシュされたデータ（すなわち、アップデートされないデータまたは古いデータ）が最新データの上に上書き（ｏｖｅｒ  ｗｒｉｔｅ）し得るからである。
【００６８】
これにより、キャッシュをフラッシュする区間（時間ｔ１〜ｔ２）ではＤＭＡモジュールの動作がブロッキングされ、キャッシュのフラッシュが完了した時間ｔ２からはＤＭＡモジュールの初期設定作業（Ｉｎｉｔｉａｌ  Ｓｅｔｕｐ）（すなわち、設定ユニットが伝送パラメータを設定する）が開始され得る。
【００６９】
ＤＭＡモジュールの初期設定作業が時間ｔ３に完了すると、時間ｔ３からは第１データの生成作業（Ｄａｔａ  Ｃｒｅａｔｉｏｎ１）（すなわち、生成ユニットが第１データを生成する）が開始され得る。
【００７０】
また時間ｔ４で第１データの生成作業が完了すると、時間ｔ４からは第２データの生成作業（Ｄａｔａ  Ｃｒｅａｔｉｏｎ２）（すなわち、生成ユニットが第１データと異なる最新データの第２データを生成する）と第１データの伝送作業（Ｄａｔａ  ｔｒａｎｓｆｅｒ  １）（すなわち、伝送ユニットが第１データをメモリに伝送する）が同時に開始され得る。すなわち、ＤＭＡモジュールの伝送ユニットの動作と生成ユニットの動作はパイプライン（ｐｉｐｅｌｉｎｅ）方式で処理され得る。
【００７１】
続いて、時間ｔ５で第２データの生成作業と第１データの伝送作業が完了すると、時間ｔ５で第２データの伝送作業（Ｄａｔａ  ｔｒａｎｓｆｅｒ  ２）（すなわち、伝送ユニットが第２データをメモリに伝送すること）が開始され得る。
【００７２】
ここで、第２データが伝送されるメモリのアドレスは第１データが伝送されるメモリのアドレスと異なる。
【００７３】
このように図３の場合、キャッシュによってフラッシュされたデータ（すなわち、アップデートされないデータまたは古いデータ）が最新データの上に上書き（ｏｖｅｒ  ｗｒｉｔｅ）することを防止できるが、キャッシュのフラッシュ時間だけＤＭＡモジュールの遂行時間が遅れるという点から全体的な性能低下の問題を引き起こす。
【００７４】
一方、図２及び図４を参照すると、ＤＭＡモジュールの動作がキャッシュの無効化（すなわち、フラッシュ）と同時に開始する場合を示す。図４は、本発明の一実施形態による半導体装置１００が適用された場合である。
【００７５】
前述した図３との差異点を中心に説明する。
【００７６】
すなわち、プロセッサ２５０がキャッシュ３００をフラッシュする区間（Ｃａｃｈｅ  Ｉｎｖａｌｉｄａｔｉｏｎ）（時間ｔ１′〜ｔ２′）で図３とは異なり、ＤＭＡモジュール１１０の動作がブロッキングされないということが分かる。
【００７７】
具体的には、時間ｔ１′でキャッシュ３００のフラッシュが開始されると同時に、ＤＭＡモジュール１１０の伝送ユニット１２５が非活性化（Ｄａｔａ  ｔｒａｎｓｆｅｒ  Ｄｉｓａｂｌｅ）する。もちろん、ＤＭＡモジュール１１０の伝送ユニット１２５が非活性化する時点は前述したとおり、キャッシュ３００のフラッシュが開始される前、開始と同時、または開始された後のいずれも可能であるが、説明の便宜上、図４では、キャッシュ３００のフラッシュが開始されると同時に行われる場合を説明する。
【００７８】
ここで、伝送ユニット１２５の非活性化区間は時間ｔ４′すなわち、キャッシュ３００のフラッシュが完了する時点まで持続する。これはキャッシュ３００によってフラッシュされたデータ（すなわち、アップデートされないデータまたは古いデータ）が最新データの上に上書き（ｏｖｅｒ  ｗｒｉｔｅ）することを防止するためである。
【００７９】
キャッシュ３００のフラッシュが開始された時間ｔ１′より少し経過した時間ｔ２′でＤＭＡモジュール１１０の初期設定作業（Ｉｎｉｔｉａｌ  Ｓｅｔｕｐ）（すなわち、設定ユニット１１５が伝送パラメータＤＰを設定すること）が開始され得る。
【００８０】
すなわち、ＤＭＡモジュール１１０の動作がキャッシュ３００がフラッシュする区間のあいだ行われ得る。これにより、前述した図３とは異なり、キャッシュ３００のフラッシュ時間だけＤＭＡモジュールの遂行時間が遅れることによって発生する全体的な性能低下の問題を防止できる。すなわち、図４でよりキャッシュ３００のフラッシュ時間だけＤＭＡモジュール１１０の遂行時間を操り上げることによって全体的な性能を向上させ得る。
【００８１】
ＤＭＡモジュール１１０の初期設定作業が時間ｔ３′に完了すると、時間ｔ３′からは第１データの生成作業（Ｄａｔａ  Ｃｒｅａｔｉｏｎ１）（すなわち、生成ユニットが第１データを生成すること）が開始され得る。ここで、第１データの生成作業はキャッシュ３００のフラッシュ区間とパイプライン方式で処理され得る。
【００８２】
具体的には、第１データの生成作業はキャッシュ３００のフラッシュ区間中に開始され （すなわち、時間ｔ１′から時間ｔ４′の間に始まって）キャッシュのフラッシュ区間が終了する前、終了と同時に、または終了した後に終了し得る。
【００８３】
また時間ｔ４′でキャッシュ３００のフラッシュが完了すると、時間ｔ４′以後からはＤＭＡモジュール１１０の伝送ユニット１２５が活性化（Ｄａｔａ  ｔｒａｎｓｆｅｒ  Ｅｎａｂｌｅ）する。これにより、第１データの生成作業が時間ｔ５′で完了すると、時間ｔ５′からは第２データの生成作業（Ｄａｔａ  Ｃｒｅａｔｉｏｎ２）（すなわち、生成ユニット１２０が第１データと異なる最新データの第２データを生成すること）と第１データの伝送作業（Ｄａｔａ  ｔｒａｎｓｆｅｒ  １）（すなわち、伝送ユニット１２５が第１データをメモリ２００に伝送すること）が同時に開始され得る。
【００８４】
すなわち、ＤＭＡモジュール１１０の伝送ユニット１２５の動作と生成ユニット１２０の動作はパイプライン（ｐｉｐｅｌｉｎｅ）方式で処理され得る。
【００８５】
続いて、時間ｔ６′で第２データの生成作業と第１データの伝送作業が完了すると、時間ｔ６′で第２データの伝送作業（Ｄａｔａ  ｔｒａｎｓｆｅｒ  ２）（すなわち、伝送ユニット１２５が第２データをメモリ２００に伝送すること）が開始され得る。
【００８６】
本発明の一実施形態による半導体装置１００は、伝送ユニット１２５の非活性化区間をキャッシュ３００のフラッシュが完了する時点まで維持することによって、キャッシュ３００によってフラッシュされたデータ（すなわち、アップデートされないデータまたは古いデータ）が最新データの上に上書きすることを防止し得、キャッシュ３００のフラッシュ時間だけＤＭＡモジュール１１０の遂行時間を操り上げることによって全体的な性能を向上させ得る。
【００８７】
また本発明のいくつかの実施形態で、このような設定ユニット１１５、生成ユニット１２０、伝送ユニット１２５はハードウェア形態で実現されるが、本発明がこれに限定されない。すなわち、設定ユニット１１５、生成ユニット１２０、伝送ユニット１２５はソフトウェア形態で実現されてＤＭＡモジュール１１０にコード（ｃｏｄｅ）形態で格納され得る。
【００８８】
以下では、図５及び図６を参照して本発明の一実施形態による半導体システムについて説明する。前述した図１及び図２の説明と重複する内容は省略する。
【００８９】
図５は本発明の一実施形態による半導体システムを説明するブロック図である。
図６は図５の第２プロセッサを説明するためのブロック図である。
【００９０】
図５を参照すると、本発明の一実施形態による半導体システム４００は第１プロセッサ４１０、キャッシュ４２０、第２プロセッサ４３０、バス４７０を含み得る。
【００９１】
第１プロセッサ４１０はキャッシュ４２０に格納されたデータ（例えば、以前データ、すなわち、アップデートされないデータ）をメモリ２００のあらかじめ定められたアドレスにフラッシュする。
【００９２】
具体的には、第１プロセッサ４１０はキャッシュ４２０をフラッシュする動作以外にもキャッシュ４２０にリードまたはライト動作を行い得る。また第１プロセッサ４１０は第２プロセッサ４３０に伝送パラメータＤＰと関連する情報及びキャッシュ４２０のフラッシュと関連する情報を提供し得る。
【００９３】
ここで、第１プロセッサ４１０は例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含み得、メモリ２００はＤＲＡＭを含み得るため、これに限定されない。
【００９４】
キャッシュ４２０は第１プロセッサ４１０によってフラッシュされ得る。
【００９５】
具体的には、キャッシュ４２０は第１プロセッサ４１０によってメモリ２００のあらかじめ定められたアドレスにフラッシュされ得る。またキャッシュ４２０はバス４７０を介してメモリ２００と接続し得る。
【００９６】
第２プロセッサ４３０はキャッシュ４２０に格納されたデータと異なるデータ（最新データ）を生成してメモリ２００のあらかじめ定められたアドレスに伝送し得る。
【００９７】
ここで、第２プロセッサ４３０は内部的にデータを直接生成したり外部装置３５０から提供を受け得る。
【００９８】
バス４７０は第１プロセッサ４１０、第２プロセッサ４３０、キャッシュ４２０を互いに接続させるだけでなく、半導体システム４００とメモリ２００を接続させ得る。
【００９９】
具体的には、第１プロセッサ４１０が第２プロセッサ４３０に伝送パラメータＤＰと関連する情報及びキャッシュ４２０のフラッシュと関連する情報を提供すること、キャッシュ４２０がメモリ２００のあらかじめ格納されたアドレスにフラッシュすること、第２プロセッサ４３０がメモリ２００のあらかじめ格納されたアドレスにデータを伝送することのすべてをバス４７０を介して行われ得る。
【０１００】
また、図５では、半導体システム４００が第１プロセッサ４１０、キャッシュ４２０、第２プロセッサ４３０、バス４７０を含む場合を示すが、これに限定されない。すなわち、半導体システム４００はメモリ２００と外部装置３５０も含み得る。
【０１０１】
図６を参照すると、第２プロセッサ４３０はＤＭＡモジュール４４０とバッファ４５０を含み得る。ここで、第２プロセッサ４３０は図２の半導体装置１００であり得る。
【０１０２】
したがって、ＤＭＡモジュール４４０はメモリ２００にバス４７０を介して直接アクセスし得る。
【０１０３】
具体的には、ＤＭＡモジュール４４０はメモリ２００にデータを伝送するための伝送パラメータＤＰを設定し、伝送パラメータＤＰに基づいてメモリ２００に伝送しようとするデータを生成してバッファ４５０に格納し得る。またＤＭＡモジュール４４０はバッファ４５０に格納されたデータをメモリ２００のあらかじめ定められたアドレスに伝送し得る。ここで、ＤＭＡモジュール４４０はメモリ２００に伝送しようとするデータを内部的に直接生成したり外部装置３５０から提供を受け得る。
【０１０４】
また前述したとおり、ＤＭＡモジュール４４０は設定ユニット４４２、生成ユニット４４５、伝送ユニット４４７を含み得るため、これについての詳細な説明は省略する。
【０１０５】
また、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）は第１プロセッサ４１０から第２プロセッサ４３０（例えば、第２プロセッサ４３０の設定ユニット４４２）に提供される場合を示すが、これに限定されない。より詳細には、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）は第１プロセッサ４１０で先に設定ユニット４４２に提供された後、設定ユニット４４２から伝送ユニット４４７に提供される場合を示すが、これに限定されない。すなわち、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）は第１プロセッサ４１０で設定ユニット４４２を経ず、バス４７０を介して直ちに伝送ユニット４４７に提供され得、キャッシュ４２０のフラッシュが開始されると、キャッシュ４２０は自らキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を生成してバス４７０を介して伝送ユニット４４７に提供し得る。
【０１０６】
以下では、図７及び図８を参照して本発明の他の実施形態による半導体システムについて説明する。前述した実施形態の説明と重複する内容は省略する。
【０１０７】
図７は本発明の他の実施形態による半導体システムを説明するブロック図である。図８は図７の第２及び第３プロセッサを説明するためのブロック図である。
【０１０８】
図７を参照すると、本発明の他の実施形態による半導体システム５００は第１プロセッサ５１０、キャッシュ５２０、第２プロセッサ５３０、第３プロセッサ５８０、バス５９５を含み得る。
【０１０９】
第１プロセッサ５１０はキャッシュ５２０に格納されたデータ（例えば、以前データ、すなわち、アップデートされないデータ）をメモリ２００のあらかじめ定められたアドレスにフラッシュし得る。
【０１１０】
具体的には、第１プロセッサ５１０はキャッシュ５２０をフラッシュする動作以外にもキャッシュ５２０にリードまたはライト動作を行い得る。また第１プロセッサ５１０は第２プロセッサ５３０に伝送パラメータＤＰと関連する情報及びキャッシュ５２０のフラッシュと関連する情報を提供し得る。
【０１１１】
ここで、第１プロセッサ５１０は例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含み得、メモリ２００はＤＲＡＭを含み得るため、これに限定されない。
【０１１２】
キャッシュ５２０は第１プロセッサ５１０によりフラッシュされ得る。
【０１１３】
具体的には、キャッシュ５２０は第１プロセッサ５１０によりメモリ２００のあらかじめ定められたアドレスにフラッシュされ得る。またキャッシュ５２０はバス５９５を介してメモリ２００と接続され得る。
【０１１４】
第２プロセッサ５３０はキャッシュ５２０に格納されたデータと異なるデータ（最新データ）をメモリ２００のあらかじめ定められたアドレスに伝送し得る。
【０１１５】
ここで、第２プロセッサ５３０は第３プロセッサ５８０に格納されたデータの提供を受け（すなわち、リードして）メモリ２００に伝送し得る。
【０１１６】
第３プロセッサ５８０は外部装置３５０からメモリ２００に伝送しようとするデータの提供を受けて格納し得る。
【０１１７】
バス５９５は第１プロセッサ５１０、第２プロセッサ５３０、第３プロセッサ５８０、キャッシュ５２０を互いに連結させるだけでなく、半導体システム５００とメモリ２００を接続させ得る。
【０１１８】
具体的には、第１プロセッサ５１０が第２プロセッサ５３０に伝送パラメータＤＰと関連する情報及びキャッシュ５２０のフラッシュと関連する情報を提供すること、第２プロセッサ５３０が第３プロセッサ５８０に伝送パラメータＤＰを提供すること、第２プロセッサ５３０が第３プロセッサ５８０に格納されたデータの提供を受けること、キャッシュ５２０がメモリ２００のあらかじめ格納されたアドレスにフラッシュすること、第２プロセッサ５３０がメモリ２００のあらかじめ格納されたアドレスにデータを伝送することのすべてをバス５９５を介して行い得る。
【０１１９】
図８を参照すると、第２プロセッサ５３０はＤＭＡモジュール５４０と第１バッファ５６０を含み得る。
【０１２０】
具体的には、ＤＭＡモジュール５４０は設定ユニット５４２、生成ユニット５４５、伝送ユニット５４７を含み得る。
【０１２１】
設定ユニット５４２はメモリ２００に第１データをライトするための伝送パラメータＤＰを設定し得る。
【０１２２】
具体的には、設定ユニット５４２は第１プロセッサ５１０からバス５９５を介して伝送パラメータＤＰと関連する情報の提供を受けて伝送パラメータＤＰを設定し得る。ここに伝送パラメータＤＰは例えば、メモリ２００に伝送しようとする第１データのサイズ、メモリ２００に伝送しようとする第１データが格納された第１バッファ５６０のアドレス、メモリ２００に伝送しようとする第１データが格納された第２バッファ５９０のアドレス、第１データを伝送しようとするメモリ２００のあらかじめ定められたアドレスを含み得るが、これに限定されない。また第１データはメモリ２００に伝送しようとする最新データを含み得る。
【０１２３】
設定ユニット５４２は第１プロセッサ５１０からバス５９５を介して伝送パラメータＤＰと関連する情報だけでなく、キャッシュの無効化（以下では、フラッシュという）と関連する情報（ＣＩ．Ｉ）の提供も受け得、提供されたキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）に基づいて伝送パラメータＤＰの設定動作を開始し得る。すなわち、伝送パラメータＤＰは第１プロセッサ５１０から提供された伝送パラメータＤＰと関連する情報に基づいて設定され、このような設定動作の開始時点は第１プロセッサ５１０から提供されたキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）に基づいて決定され得る。
【０１２４】
ここで、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）は第１プロセッサ５１０から第２プロセッサ５３０（例えば、第２プロセッサ５３０の設定ユニット５４２）に提供される場合を示すが、これに限定されない。より具体的には、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）は第１プロセッサ５１０から先に設定ユニット５４２に提供された後、設定ユニット５４２から伝送ユニット５４７に提供される場合を示すが、これに限定されない。すなわち、キャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）は第１プロセッサ５１０から設定ユニット５４２を経ず、バス５９５を介して直接伝送ユニット５４７に提供され得、キャッシュ５２０のフラッシュが開始されると、キャッシュ５２０は自らキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を生成してバス５９５を介して伝送ユニット５４７に提供し得る。ただし、説明の便宜上、第１プロセッサ５１０から設定ユニット５４２にキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）が提供される場合を例えて説明する。
【０１２５】
設定ユニット５４２が伝送パラメータＤＰを設定することは、第１プロセッサ５１０がキャッシュ５２０に格納された第２データをメモリ２００のあらかじめ定められたアドレスにフラッシュするあいだ行われ得る。ここで、第２データは以前データ（すなわち、アップデートされないデータ）であって、最新データである第１データと異なるデータであり得る。
【０１２６】
設定ユニット５４２は設定された伝送パラメータＤＰを生成ユニット５４５と伝送ユニット５４７に提供し得る。また設定ユニット５４２はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を伝送ユニット５４７に提供し得る。
【０１２７】
生成ユニット５４５は設定された伝送パラメータＤＰに基づいてメモリ２００に伝送する第１データを生成し得る。
【０１２８】
具体的には、生成ユニット５４５は設定ユニット５４２から伝送パラメータＤＰの提供を受け得、伝送パラメータＤＰに基づいて第３プロセッサ５８０の第２バッファ５９０に格納された第１データの提供を受け得る。また生成ユニット５４５が第１データの提供を受けることはキャッシュ５２０がフラッシュする区間のあいだに行われ得る。
【０１２９】
ここで、生成ユニット５４５は第３プロセッサ５８０の第２バッファ５９０からバス５９５を介してデータの提供を受けたり内部的に直接データを生成し得る。
【０１３０】
また、生成ユニット５４５は第１データを伝送パラメータＤＰが指す第１バッファ５６０のアドレスに格納できる。
【０１３１】
伝送ユニット５４７は伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データをライトし得る。
【０１３２】
具体的には、伝送ユニット５４７は設定ユニット５４２から伝送パラメータＤＰの提供を受け得、伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データを伝送し得る。ここで、伝送ユニット５４７は第１バッファ５６０に格納された第１データをメモリ２００に伝送し得る。
【０１３３】
すなわち、伝送ユニット５４７は伝送パラメータＤＰが指す第１バッファ５６０のアドレスに格納された第１データをリードし、伝送パラメータＤＰが指すメモリ２００のあらかじめ定められたアドレスに第１データを伝送（ライト）し得る。
【０１３４】
伝送ユニット５４７がメモリ２００のあらかじめ定められたアドレスに第１データを伝送することは、キャッシュ５２０のフラッシュが完了した後行われ得る。
【０１３５】
また伝送ユニット５４７は設定ユニット５４２からキャッシュ５２０のフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ５２０のフラッシュが開始されるという情報）の提供を受けてキャッシュ５２０がフラッシュする区間のあいだ非活性化し得る。ここで、伝送ユニット５４７が非活性化する時点はキャッシュ５２０のフラッシュが開始される前、開始と同時、または開始した後のいずれも可能である。
【０１３６】
キャッシュ５２０のフラッシュが完了した後に、伝送ユニット５４７は設定ユニット５４２からキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ５２０のフラッシュが完了したという情報）の提供を受けて活性化し得る。
【０１３７】
伝送ユニット５４７はメモリ２００にリードまたはライト動作を行い得る。前述したとおり、伝送ユニット５４７は第１データをメモリ２００のあらかじめ定められたアドレスに伝送できるため、伝送ユニット５４７はこのようなライト動作以外にメモリ２００にデータをリードする動作も行い得る。
【０１３８】
第３プロセッサ５８０は第２バッファ５９０を含み得る。
【０１３９】
具体的には、第３プロセッサ５８０は第１データを生成して第２バッファ５９０に格納し得る。すなわち、第３プロセッサ５８０は設定ユニット５４２から伝送パラメータの提供を受け得、提供された伝送パラメータに基づいて外部装置３５０から第１データの提供を受けたり内部的に第１データを生成し得る。
【０１４０】
すなわち、図８に示す半導体システム５００は、図６に示す半導体システム４００と別に、外部装置３５０からデータを提供されるプロセッサ（すなわち、第３プロセッサ５８０）と外部装置３５０から提供されたデータをメモリ２００に伝送するプロセッサ（すなわち、第２プロセッサ５３０）が別途存在することが分かる。
【０１４１】
また図６及び図８に示す半導体システム（４００、５００）はメモリ２００と共に一つのシステムに集積され得る。例示的には、半導体システム（４００または５００）及びメモリ２００は一つのシステムに集積され、メモリカードを構成し得る。例えば、半導体システム（４００または５００）及びメモリ２００は一つのシステムに集積され、ＰＣカード（ＰＣＭＣＩＡ、ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、コンパクトフラッシュ（登録商標）カード（ＣＦ）、スマートメディアカード（ＳＭ、ＳＭＣ）、メモリスティック、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ユニバーサルフラッシュ記憶装置（ＵＦＳ）などのようなメモリカードを構成する。また半導体システム（４００または５００）及びメモリ２００は一つのシステムに集積され、半導体ドライブ（ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を構成し得る。
【０１４２】
また図９を参照すると、本発明の他の実施形態による半導体システム５００は第１プロセッサ５１０、キャッシュ５２０、第２プロセッサ５３０、第３プロセッサ５８０を含み、これらは一つのシステムオンチップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）６００で実現され得、これらの各要素はシステムオンチップ内の内部バス、例えばＡＸＩ（ＡＭＢＡ  Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）プロトコルに従うバスを介して相互接続できる。また、本発明のいくつかの実施形態で前記システムオンチップは端末機に搭載されるアプリケーションプロセッサ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）で実現され得る。本発明のいくつかの実施形態で、前記システムオンチップはメモリ２００と外部装置５５０も含むように実現され得る。
【０１４３】
もちろん図７の半導体システム５００だけでなく図５の半導体システム４００もシステムオンチップで実現され得、これについての具体的な説明は省略する。
【０１４４】
また、半導体システム（４００または５００）は多様な形態のパッケージで実装され得る。例えば、半導体システム（４００または５００）はＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのような方式でパッケージ化されて実装され得る。図１０ないし図１２は本発明のいくつかの実施形態による半導体システムを適用できる例示的な電子システムである。
【０１４５】
図１０はタブレットＰＣ１２００を示す図であり、図１１はノートブック１３００を示す図であり、図１２はスマートフォン１４００を示す図である。本発明のいくつかの実施形態による半導体システム（４００、５００）はこのようなタブレットＰＣ１２００、ノートブック１３００、スマートフォン１４００などに使用され得る。
【０１４６】
また、本発明のいくつかの実施形態による半導体システム（４００、５００）は例示していない他の集積回路装置にも適用され得ることは当業者に自明である。すなわち、以上では本実施形態による電子システムの例として、タブレットＰＣ１２００、ノートブック１３００、およびスマートフォン１４００だけを挙げているが、本実施形態による電子システムの例はこれに制限されない。本発明のいくつかの実施形態で、電子システムは、コンピュータ、ＵＭＰＣ  （Ｕｌｔｒａ  ＭｏｂｉｌｅＰＣ）、ワークステーション、ネットブック（ｎｅｔ−ｂｏｏｋ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブル（ｐｏｒｔａｂｌｅ）コンピュータ、無線電話機（ｗｉｒｅｌｅｓｓ  ｐｈｏｎｅ）、モバイルフォン（ｍｏｂｉｌｅ  ｐｈｏｎｅ）、ｅ−ブック（ｅ−ｂｏｏｋ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、携帯用ゲーム機、ナビゲーション（ｎａｖｉｇａｔｉｏｎ）装置、ブラックボックス（ｂｌａｃｋ  ｂｏｘ）、デジタルカメラ（ｄｉｇｉｔａｌ  ｃａｍｅｒａ）、３次元テレビ（３−ｄｉｍｅｎｓｉｏｎａｌ  ｔｅｌｅｖｉｓｉｏｎ）、デジタルオーディオレコーダ（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｒｅｃｏｒｄｅｒ）、デジタルオーディオプレーヤ（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｐｌａｙｅｒ）、デジタル映像レコーダ（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｒｅｃｏｒｄｅｒ）、デジタル画像プレーヤ（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｐｌａｙｅｒ）、デジタルビデオレコーダ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ）、デジタルビデオプレーヤ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｐｌａｙｅｒ）などで実現され得る。
【０１４７】
以下では、図１３及び図１４を参照して図１の半導体装置の動作方法について説明する。前述した図１の内容と重複する説明は省略する。
【０１４８】
図１３及び図１４は図１の半導体装置の動作方法を説明する図である。
【０１４９】
図２、図１３、図１４を参照すると、先に、伝送パラメータと関連する情報（ＤＰ．Ｉ）及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を提供する（Ｓ１００）。
【０１５０】
具体的には、設定ユニット１１５はプロセッサ２５０から伝送パラメータと関連する情報（ＤＰ．Ｉ）及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）の提供を受け得る。
【０１５１】
キャッシュ３００のフラッシュ開始信号を提供する（Ｓ１０５）。
【０１５２】
具体的には、プロセッサ２５０はキャッシュ３００にフラッシュ開始信号を提供し得る。
【０１５３】
ＤＭＡモジュール１１０のデータ伝送動作が非活性化される（Ｓ１０７）。
【０１５４】
具体的には、設定ユニット１１５はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を伝送ユニット１２５に提供し得る。また伝送ユニット１２５はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ３００のフラッシュが開始されるという情報）の提供を受けて非活性化し得る。
【０１５５】
キャッシュ３００のフラッシュが開始される（Ｓ１１０）。
【０１５６】
具体的には、キャッシュ３００に格納された第２データ（以前データ、すなわち、アップデートされないデータ）はメモリ２００のあらかじめ定められたアドレスにフラッシュされ得る。
【０１５７】
本発明では、Ｓ１００、Ｓ１０５、Ｓ１０７、Ｓ１１０が順次に発生する場合を示すが、これに限定されない。すなわち、プロセッサ２５０はキャッシュ３００にフラッシュ開始信号を提供した後（Ｓ１０５）、設定ユニット１１５に伝送パラメータと関連する情報（ＤＰ．Ｉ）及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を提供（Ｓ１００）し得る。
【０１５８】
したがって、伝送ユニット１２５が非活性化する時点（Ｓ１０７）はキャッシュ３００のフラッシュが開始される時点（Ｓ１１０）より以前、同時、または以後であり得る。
【０１５９】
キャッシュ３００のフラッシュが開始され後、設定ユニット１１５はプロセッサ２５０から提供された伝送パラメータと関連する情報（ＤＰ．Ｉ）に基づいて伝送パラメータＤＰを設定し得る。また設定ユニット１１５は伝送パラメータＤＰを設定して生成ユニット１２０に提供する（Ｓ１１３）。
【０１６０】
データを生成する（Ｓ１１５）。
【０１６１】
具体的には、生成ユニット１２０は提供された伝送パラメータＤＰに基づいて第１データ（すなわち、メモリ２００のあらかじめ定められたアドレスに伝送しようとする最新データ）を生成し得る。生成ユニット１２０は内部的に直接第１データを生成したり外部装置３５０から第１データの提供を受け得る。
【０１６２】
バッファ１６０にデータを格納する（Ｓ１１７）。
【０１６３】
具体的には、生成ユニット１２０は伝送パラメータＤＰが示すバッファ１６０のアドレスに第１データを格納し得る。
【０１６４】
プロセッサ２５０はキャッシュ３００のフラッシュが終了すると（Ｓ１２０）、設定ユニット１１５にキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ３００のフラッシュが完了したという情報）を提供し得る。しかし、キャッシュ３００のフラッシュが終了していない場合、伝送ユニット１２５の非活性化状態が維持され得る（すなわち、ＤＭＡモジュールのデータ伝送動作の非活性化状態を維持）（Ｓ１２２）。
【０１６５】
ＤＭＡモジュール１１０のデータ伝送動作が活性化する（Ｓ１２５）。
【０１６６】
具体的には、設定ユニット１１５はプロセッサ２５０からキャッシュ３００のフラッシュが完了したとの情報の提供を受けると、これを伝送ユニット１２５に提供し得る。
【０１６７】
伝送ユニット１２５はキャッシュ３００のフラッシュが完了したという情報の提供を受けて活性化する。
【０１６８】
バッファ１６０に格納されたデータをリードする（Ｓ１２７）。
【０１６９】
具体的には、伝送ユニット１２５は伝送パラメータＤＰに基づいてバッファ１６０に格納された第１データをリードし得る。
【０１７０】
メモリ２００にデータを伝送する（Ｓ１３０）。
【０１７１】
具体的には、伝送ユニット１２５は伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データを伝送し得る。
【０１７２】
以下では、図１５及び図１６を参照して図５の半導体システムの動作方法について説明する。前述した図５の説明と重複する説明は省略する。
【０１７３】
図１５及び図１６は図５の半導体システムの動作方法を説明する図である。
【０１７４】
図６、図１５、図１６を参照すると、先に、伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を提供する（Ｓ２００）。
【０１７５】
具体的には、第２プロセッサ４３０のＤＭにこのモジュール４４０に含まれた設定ユニット４４２は第１プロセッサ４１０から伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）の提供を受け得る。
【０１７６】
キャッシュ４２０のフラッシュ開始信号を提供する（Ｓ２０５）。
【０１７７】
具体的には、第１プロセッサ４１０はキャッシュに無効化（すなわち、フラッシュ）開始信号を提供し得る。
【０１７８】
ＤＭＡモジュール４４０のデータ伝送動作が非活性化する（Ｓ２０７）。
【０１７９】
具体的には、設定ユニット４４２はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を伝送ユニット４４７に提供し得る。また伝送ユニット４４７はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ４２０のフラッシュが開始されるという情報）の提供を受けて非活性化する。
【０１８０】
キャッシュ４２０のフラッシュが開始される（Ｓ２１０）。
【０１８１】
具体的には、キャッシュ４２０に格納された第２データ（以前データ、すなわち、アップデートされないデータ）はメモリ２００のあらかじめ定められたアドレスにフラッシュし得る。
【０１８２】
本発明で、Ｓ２００、Ｓ２０５、Ｓ２０７、Ｓ２１０が順次に発生する場合を示すが、これに限定されない。すなわち、第１プロセッサ４１０はキャッシュ４２０にフラッシュ開始信号を提供した後（Ｓ２０５）、設定ユニット４４２に伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を提供（Ｓ２００）し得る。
【０１８３】
したがって、伝送ユニット４４７が非活性化する時点（Ｓ２０７）はキャッシュ４２０のフラッシュが始まる時点（Ｓ２１０）より以前、同時、または以後でり得る。
【０１８４】
キャッシュ４２０のフラッシュが開始された後、設定ユニット４４２は第１プロセッサ４１０から提供された伝送パラメータと関連する情報に基づいて伝送パラメータＤＰを設定し得る。また設定ユニット４４２は伝送パラメータＤＰを設定して生成ユニット４４５に提供し得る（Ｓ２１３）。
【０１８５】
データを生成する（Ｓ２１５）。
【０１８６】
具体的には、生成ユニット４４５は提供された伝送パラメータＤＰに基づいて第１データ（すなわち、メモリ２００のあらかじめ定められたアドレスに伝送しようとする最新データ）を生成し得る。生成ユニット４４５は内部的に直接第１データを生成したり外部装置３５０から第１データの提供を受け得る。
【０１８７】
バッファ４５０にデータを格納する（Ｓ２１７）。
【０１８８】
具体的には、生成ユニット４４５は伝送パラメータＤＰが示すバッファ４５０のアドレスに第１データを格納し得る。
【０１８９】
第１プロセッサ４１０はキャッシュ４２０のフラッシュが終了すると（Ｓ２２０）、設定ユニット４４２にキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ４２０のフラッシュが完了したという情報）を提供し得る。しかし、キャッシュ４２０のフラッシュが終了していない場合、伝送ユニット４４７の非活性化状態が維持され得る（すなわち、ＤＭＡモジュールのデータ伝送動作非活性化の状態を維持）（Ｓ２２２）。
【０１９０】
ＤＭＡモジュール４４０のデータ伝送動作が活性化する（Ｓ２２５）。
【０１９１】
具体的には、設定ユニット４４２は第１プロセッサ４１０からキャッシュ４２０のフラッシュが完了したとの情報の提供を受けると、これを伝送ユニット４４７に提供し得る。
【０１９２】
伝送ユニット４４７はキャッシュ４２０のフラッシュが完了したとの情報の提供を受けて活性化する。
【０１９３】
バッファ４５０に格納されたデータをリードする（Ｓ２２７）。
【０１９４】
具体的には、伝送ユニット４４７は伝送パラメータＤＰに基づいてバッファ４５０に格納された第１データをリードし得る。
【０１９５】
メモリ２００にデータを伝送する（Ｓ２３０）。
【０１９６】
具体的には、伝送ユニット４４７は伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データを伝送し得る。
【０１９７】
以下では、図１７及び図１８を参照して図７の半導体システムの動作方法について説明する。前述した図７の説明と重複する内容は省略する。
【０１９８】
図１７及び図１８は図７の半導体システムの動作方法を説明する図である。
【０１９９】
図７、図１７、図１８を参照すると、先に、伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を提供する（Ｓ３００）。
【０２００】
具体的には、第２プロセッサ５３０のＤＭＡモジュール５４０に含まれた設定ユニット５４２は第１プロセッサ５１０から伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）の提供を受け得る。
【０２０１】
キャッシュ５２０のフラッシュ開始信号を提供する（Ｓ３０５）。
【０２０２】
具体的には、第１プロセッサ５１０はキャッシュに無効化（すなわち、フラッシュ）開始信号を提供し得る。
【０２０３】
ＤＭＡモジュール５４０のデータ伝送動作が非活性化する（Ｓ３０７）。
【０２０４】
具体的には、設定ユニット５４２はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を伝送ユニット５４７に提供し得る。また伝送ユニット５４７はキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ５２０のフラッシュが開始されるという情報）の提供を受けて非活性化する。
【０２０５】
キャッシュ５２０のフラッシュが開始される（Ｓ３１０）。
【０２０６】
具体的には、キャッシュ５２０に格納された第２データ（以前データ、すなわち、アップデートされないデータ）はメモリ２００のあらかじめ定められたアドレスにフラッシュする。
【０２０７】
本発明で、Ｓ３００、Ｓ３０５、Ｓ３０７、Ｓ３１０が順次に発生する場合を示すが、これに限定されない。すなわち、第１プロセッサ５１０はキャッシュ５２０にフラッシュ開始信号を提供した後（Ｓ３０５）、設定ユニット５４２に伝送パラメータと関連する情報及びキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）を提供（Ｓ３００）し得る。
【０２０８】
したがって、伝送ユニット５４７が非活性化される時点（Ｓ３０７）はキャッシュ５２０のフラッシュが開始される時点（Ｓ３１０）より以前、同時、以後であり得る。
【０２０９】
キャッシュ５２０のフラッシュが始まった後、設定ユニット５４２は第１プロセッサ５１０から提供された伝送パラメータと関連する情報に基づいて伝送パラメータＤＰを設定し得る。図面に示していないが、第３プロセッサ５８０は設定ユニット５４２から伝送パラメータの提供を受け、提供された伝送パラメータに基づいて外部装置３５０から第１データを提供されたり第１データを生成し得る（Ｓ３１３）。
【０２１０】
設定ユニット５４２は伝送パラメータＤＰを設定して生成ユニット５４５に提供し得る（Ｓ３１４）。
【０２１１】
図１８では、第３プロセッサ５８０が設定ユニット５４２から伝送パラメータの提供を受けて第１データを生成する時点（Ｓ３１３）が生成ユニット５４５が設定ユニット５４２から伝送パラメータＤＰの提供を受ける時点（Ｓ３１４）より早い場合を示しているが、これに限定されない。
【０２１２】
すなわち、生成ユニット５４５が設定ユニット５４２から伝送パラメータＤＰの提供を受ける時点は、第３プロセッサ５８０が設定ユニット５４２から伝送パラメータの提供を受ける時点より以前、同時、以後であり得る。
【０２１３】
第２バッファ５９０からデータをリードする（Ｓ３１５）。
【０２１４】
具体的には、生成ユニット５４５は提供された伝送パラメータＤＰに基づいて第１データ（すなわち、メモリ２００のあらかじめ定められたアドレスに伝送しようとする最新データ）を第２バッファ５９０からリードし得る。もちろん生成ユニット５４５は内部的に直接第１データを生成し得るが、説明の便宜上、第２バッファ５９０に格納された第１データを提供される場合を例えて説明する。
【０２１５】
第１バッファ５６０にデータを格納する（Ｓ３１７）。
【０２１６】
具体的には、生成ユニット５４５は伝送パラメータＤＰが指す第１バッファ５６０のアドレスに第１データを格納し得る。
【０２１７】
第１プロセッサ５１０はキャッシュ５２０のフラッシュが終了すると（Ｓ３２０）、設定ユニット５４２にキャッシュのフラッシュと関連する情報（ＣＩ．Ｉ）（例えば、キャッシュ５２０のフラッシュが完了したとの情報）を提供し得る。しかし、キャッシュ５２０のフラッシュが終了していない場合、伝送ユニット５４７の非活性化状態が維持され得る（すなわち、ＤＭＡモジュールのデータ伝送動作非活性化の状態を維持）（Ｓ３２２）。
【０２１８】
ＤＭＡモジュール５４０のデータ伝送動作が活性化する（Ｓ３２５）。
【０２１９】
具体的には、設定ユニット５４２は第１プロセッサ５１０からキャッシュ５２０のフラッシュが完了したとの情報の提供を受けると、これを伝送ユニット５４７に提供し得る。
【０２２０】
伝送ユニット５４７はキャッシュ５２０のフラッシュが完了したという情報の提供を受けて活性化し得る。
【０２２１】
第１バッファ５６０に格納されたデータをリードする（Ｓ３２７）。
【０２２２】
具体的には、伝送ユニット５４７は伝送パラメータＤＰに基づいて第１バッファ５６０に格納された第１データをリードし得る。
【０２２３】
メモリ２００にデータを伝送する（Ｓ３３０）。
【０２２４】
具体的には、伝送ユニット５４７は伝送パラメータＤＰに基づいてメモリ２００のあらかじめ定められたアドレスに第１データを伝送し得る。
【０２２５】
以上添付する図面を参照して本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、互いに異なる多様な形態で製造され得、本発明が属する技術分野で通常の知識を有する者は、本発明の技術的な思想や必須の特徴を変更しない範囲で他の具体的な形態で実施され得ることを理解できるであろう。上記実施形態はすべての面で例示的なものであり、限定的なものではないと理解しなければならない。
【図１】
0006641120.tif 000002
【図２】
0006641120.tif 000003
【図３】
0006641120.tif 000004
【図４】
0006641120.tif 000005
【図５】
0006641120.tif 000006
【図６】
0006641120.tif 000007
【図７】
0006641120.tif 000008
【図８】
0006641120.tif 000009
【図９】
0006641120.tif 000010
【図１０】
0006641120.tif 000011
【図１１】
0006641120.tif 000012
【図１２】
0006641120.tif 000013
【図１３】
0006641120.tif 000014
【図１４】
0006641120.tif 000015
【図１５】
0006641120.tif 000016
【図１６】
0006641120.tif 000017
【図１７】
0006641120.tif 000018
【図１８】
0006641120.tif 000019