(57)【特許請求の範囲】
【請求項１】
メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
前記プロセッサのうち１つのプロセッサが、前記複数の処理対象ファイルを複数のファイル群に分ける組分ステップと、
前記１つのプロセッサが、前記組分ステップで分けた各ファイル群を、前記複数のプロセッサのうち少なくとも１つ以上の対象プロセッサに割り当てる割当ステップと、
前記１つのプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定ステップと、
前記１つのプロセッサが、前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記１つのプロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと、
前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出す読出ステップと、
前記１つのプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第２設定ステップと、
前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップと、を具備し、
前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理方法。
【請求項２】
前記１つのプロセッサが、前記ストレージコントローラに対し、前記実行ステップで前記書き込み用バッファに書き込まれた前記処理後ファイルを前記不揮発性ストレージに書き込むことを指示する書込指示ステップと、
前記ストレージコントローラが、前記書込指示ステップで指示された前記処理後ファイルを前記不揮発性ストレージに書き込む書込ステップとを具備する
ことを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記対象プロセッサは、前記メインメモリに対するデータの読み出し及び書き込みを制御するダイレクト・メモリ・アクセス・コントローラを有し、
前記実行ステップでは、前記ダイレクト・メモリ・アクセス・コントローラを介して、当該対象プロセッサに割り当てられたファイル群に対応する前記処理対象ファイルを前記読み出し用バッファから読み出し、前記ダイレクト・メモリ・アクセス・コントローラを介して、当該対象プロセッサに割り当てられたファイル群に対応する前記処理後ファイルを前記書き込み用バッファに書き込む
ことを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記組分ステップでは、前記複数の処理対象ファイルを、前記プロセッサの数を上限とした数のファイル群に分ける
ことを特徴とする請求項１に記載の情報処理方法。
【請求項５】
前記組分ステップでは、前記プロセッサの数と、前記所定の処理を行うために並行して実行されうる処理プログラムの数とに基づいて前記ファイル群の数を決定し、決定した数のファイル群に前記処理対象の複数のファイルを分け、
前記割当ステップでは、前記複数のプロセッサのうち、前記組分ステップで分けた各ファイル群の数と同数のプロセッサを前記対象プロセッサとして選択し、選択した各対象プロセッサに当該各ファイル群を割り当てる
ことを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記組分ステップでは、前記各ファイル群に属する前記ファイルの総数が、各々略同数となるように前記各ファイルを前記各ファイル群に分ける
ことを特徴とする請求項１に記載の情報処理方法。
【請求項７】
前記組分ステップでは、前記各ファイル群に属する全ての前記ファイルの総量が、各々略同量となるように前記各ファイルを前記各ファイル群に分ける
ことを特徴とする請求項１に記載の情報処理方法。
【請求項８】
前記１つのプロセッサは、メインプロセッサであり、
前記対象プロセッサは、サブプロセッサである
ことを特徴とする請求項１に記載の情報処理方法。
【請求項９】
前記マルチプロセッサに前記不揮発性ストレージが複数接続されており、
書込ステップでは、前記書込指示ステップで指示された各ファイルにつき、前記書き込み用バッファに書き込まれた順に、前記複数の不揮発性ストレージのうち１つの不揮発性ストレージを選択してこれに書き込み、前記１つの不揮発性ストレージを選択する際、当該ファイルが書き込まれる直前に前記書き込み用バッファに書き込まれたファイルが書き込まれる不揮発性ストレージとは異なる不揮発性ストレージを選択する
ことを特徴とする請求項２に記載の情報処理方法。
【請求項１０】
前記不揮発性ストレージ及び前記ストレージコントローラは、ネットワークを介して前記マルチプロセッサに接続される情報処理装置に接続されており、
前記読出指示ステップでは、前記情報処理装置を介して、前記ストレージコントローラに対し、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられ前記メインメモリに設定された前記読み出し用バッファに各々読み出すことを指示する
ことを特徴とする請求項１に記載の情報処理方法。
【請求項１１】
メインプロセッサと、ローカルメモリを有する複数のサブプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
前記メインプロセッサが、前記複数の処理対象ファイルを、複数のファイル群に分ける組分ステップと、
前記メインプロセッサが、前記組分ステップで分けた各ファイル群を、前記各サブプロセッサに割り当てる割当ステップと、
前記メインプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを、各ファイル群が割り当てられた前記各サブプロセッサの有する前記ローカルメモリに設定する設定ステップと、
前記メインプロセッサが、前記割当ステップで前記ファイル群を割り当てたサブプロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記メインプロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記ローカルメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと、
前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記ローカルメモリに設定された読み出し用バッファに各々読み出す読出ステップと、
前記メインプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する書き込み用バッファを前記ローカルメモリに設定する第２設定ステップと、
前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有する前記ローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップと、を具備し、
前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理方法。
【請求項１２】
第１メインメモリと複数の第１プロセッサとを備える第１マルチプロセッサと、第２メインメモリと複数の第２プロセッサとを備える第２マルチプロセッサとがネットワークを介して接続され、当該第１又は第２マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
前記複数の第１プロセッサのうち１つの第１プロセッサが、前記処理対象ファイルを複数のファイル群に分ける組分ステップと、
前記１つの第１プロセッサが、前記組分ステップで分けた各ファイル群を、前記複数の第１プロセッサ及び第２プロセッサのうち少なくとも１つの対象プロセッサに割り当てる割当ステップと、
前記１つの第１プロセッサが、前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第２メインメモリに設定することを指示する設定ステップと、
前記１つの第１プロセッサが、前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記１つの第１プロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと、
前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出す読出ステップと、
前記１つの第１プロセッサが、前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第２メインメモリに設定することを指示する第２設定ステップと、
前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップと、を具備し、
前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理方法。
【請求項１３】
前記読出指示ステップでは、前記不揮発性ストレージが前記第２マルチプロセッサに接続される場合、前記１つの第２プロセッサを介して、前記ストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出すことを指示する
ことを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理システムであって、
前記プロセッサのうち１つのプロセッサは、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも１つ以上の対象プロセッサに割り当てる割当手段と、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第２設定手段とを具備し、
前記ストレージコントローラは、前記読出指示手段によって指示された前記処理対象ファイルを、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出し、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理システム。
【請求項１５】
第１メインメモリと複数の第１プロセッサとを備える第１マルチプロセッサと、第２メインメモリと複数の第２プロセッサとを備える第２マルチプロセッサとがネットワークを介して接続され、当該第１又は第２マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理システムであって、
前記複数の第１プロセッサのうち１つの第１プロセッサは、
前記処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数の第１プロセッサ及び第２プロセッサのうち少なくとも１つの対象プロセッサに割り当てる割当手段と、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第２メインメモリに設定することを指示する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第２メインメモリに設定することを指示する第２設定手段とを具備し、
前記ストレージコントローラは、前記読出指示手段によって指示された前記処理対象ファイルを、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリの少なくとも１つに設定された読み出し用バッファに各々読み出し、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理システム。
【請求項１６】
メインメモリと複数のプロセッサとを備えるマルチプロセッサを具備し、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理装置であって、
前記プロセッサのうち１つのプロセッサは、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも１つ以上の対象プロセッサに割り当てる割当手段と、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
前記割当手段が前記ファイル群を割り当てた前記対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第２設定手段とを具備し、
前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理装置。
【請求項１７】
第１メインメモリと複数の第１プロセッサとを備える第１マルチプロセッサを具備し、第２メインメモリと複数の第２プロセッサとを備える第２マルチプロセッサを具備する第２情報処理装置とネットワークを介して接続され、第１又は第２マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理装置であって、
前記複数の第１プロセッサのうち１つの第１プロセッサは、
前記処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数の第１プロセッサ及び前記複数の第２プロセッサのうち少なくとも１つの対象プロセッサに割り当てる割当手段と、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第２メインメモリに設定することを指示する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第２メインメモリに設定することを指示する第２設定手段とを具備し、
前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリの少なくとも１つに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理装置。
【請求項１８】
メインメモリと複数のプロセッサとを備え、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うマルチプロセッサであって、
前記プロセッサのうち１つのプロセッサは、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも１つ以上の対象プロセッサに割り当てる割当手段と、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第２設定手段とを具備し、
前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とするマルチプロセッサ。
【請求項１９】
第１メインメモリと複数の第１プロセッサとを備え、第２メインメモリと複数の第２プロセッサとを備える第２マルチプロセッサとネットワークを介して接続され、当該第１マルチプロセッサ又は第２マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うマルチプロセッサであって、
前記複数の第１プロセッサのうち１つの第１プロセッサは、
前記処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数の第１プロセッサ及び第２プロセッサのうち少なくとも１つの対象プロセッサに割り当てる割当手段と、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第２メインメモリに設定することを指示する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第２メインメモリに設定することを指示する第２設定手段とを具備し、
前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリの少なくとも１つに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とするマルチプロセッサ。
【請求項２０】
メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うように、前記複数のプロセッサのうち１つのプロセッサを、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段、
前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも１つ以上の対象プロセッサに割り当てる割当手段、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段、及び
前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第２設定手段、
として機能させる情報処理プログラムであり、
前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理プログラム。
【請求項２１】
第１メインメモリと複数の第１プロセッサとを備える第１マルチプロセッサと、第２メインメモリと複数の第２プロセッサとを備える第２マルチプロセッサとがネットワークを介して接続されるシステムにおいて、前記第１マルチプロセッサが、前記第１又は第２マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うように、前記複数の第１プロセッサのうち１つの第１プロセッサを、
前記処理対象ファイルを複数のファイル群に分ける組分手段、
前記組分手段が分けた各ファイル群を、前記複数の第１プロセッサ及び第２プロセッサのうち少なくとも１つの対象プロセッサに割り当てる割当手段、
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第２メインメモリに設定することを指示する設定手段、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリのうち少なくとも１つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段、及び
前記対象プロセッサのうち前記第１プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第１メインメモリに設定すると共に、前記複数の第２プロセッサのうち１つの第２プロセッサに対し、前記対象プロセッサのうち前記第２プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第２メインメモリに設定することを指示する第２設定手段、
として機能させる情報処理プログラムであり、
前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第１メインメモリ及び前記第２メインメモリの少なくとも１つに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
ことを特徴とする情報処理プログラム。
【請求項２２】
請求項２０又は請求項２１のいずれかに記載の情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサを用いて、不揮発性ストレージに記憶されている複数のファイルを処理する情報処理技術に関する。
【背景技術】
【０００２】
近年、ハードディスクなどの不揮発性ストレージが安価になり、大容量化している。また、ネットワークを介して音楽ファイルをダウンロードしたり、ＣＤ(Compact Disk)に記憶されたデータファイルをリッピングしたり、ディジタルスティルカメラやビデオカメラで撮影された画像ファイルを編集したりすることが普及している。このような状況に伴い、大量のファイルを不揮発性ストレージ内に保持することが一般的になされるようになっている。このようなファイルの利用の増加に伴い、ファイルに対する以下のような処理がますます要求されてきている。例えば、ビデオコーデックやオーディオコーデックが複数存在するために、一つのコーデックから他のコーデックへ変換する処理や、ファイルに対してウィルススキャンを行う処理、ファイルの安全性確保のためにファイルを一括で暗号化する処理などである。
【０００３】
例えば、このような処理を複数のファイルに対して一括して行う方法がある。例えば、マイクロソフト社のＷＩＮＤＯＷＳ（登録商標）などでは、フォルダに含まれる全てのファイルをフォルダ単位で暗号化する手段が提供されている。このような手段としてシングルプロセッサとマルチプロセッサとが挙げられる。前者の場合、１つのプロセッサが、ファイルを不揮発性ストレージから逐次的に読み出し、これを暗号化する処理を行い、暗号化したファイルを不揮発性ストレージに再び書き込む処理を行う。この場合には、シングルプロセッサの処理能力に限界があるため、例えばマルチスレッド技術を用いて処理の並列化を図ったとしても、スイッチング時間などを考慮すると、並列化による処理時間の短縮や処理効率の向上はあまり見込むことはできない。
【０００４】
一方、後者の場合、複数のファイルを不揮発性ストレージから次々と読み出し、これを複数のプロセッサに割り当てて、各プロセッサを並列処理させることができる。この場合、まず、ファイルを読み出しこれをプロセッサに割り当てるという処理が逐次的に行われる。このような処理を行うマルチプロセッサは、例えば、特許文献１に開示されている。
【０００５】
【特許文献１】特開２００５ー２５１１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このようなマルチプロセッサにおいては、各ファイルを不揮発性ストレージから読み出す間、プロセッサを同期待ち合わせさせる必要がある。このような同期待ち合わせが頻繁に発生することにより、処理効率の低下や処理時間の延長を招く恐れがある。また、複数のプロセッサが不揮発性ストレージを共用する構成のマルチプロセッサにおいては、各プロセッサによる並列処理が行われる際に、不揮発性ストレージを同期させる必要がある。このため、ボトルネックがかなり生じることにより、処理効率の低下や処理時間の延長を招く恐れがある。
【０００７】
従って、マルチプロセッサを用いて複数のファイルに対して並列処理を行ったとしても、その並列処理性を有効に活かせず、処理時間の短縮や処理時間の向上を図ることは困難であった。
【０００８】
そこで、本発明は上述の課題に鑑みてなされたものであり、マルチプロセッサによる並列処理性をより有効に活かして、複数のファイルを処理する際の処理時間の短縮や処理効率の向上が可能な情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う場合、前記プロセッサのうち１つのプロセッサが、前記複数の処理対象ファイルを複数のファイル群に分け、分けた各ファイル群を、前記複数のプロセッサのうち少なくとも１つ以上の対象プロセッサに割り当て、各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する。また、前記１つのプロセッサが、前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示し、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する。
【００１０】
尚、前記処理対象ファイルをファイル群に分ける数は、前記マルチプロセッサの有するプロセッサの数と同じであっても良いし、前記プロセッサの数より多くても少なくても良い。
【００１１】
また、前記ファイル群を割り当てる対象プロセッサとして、前記複数の処理対象ファイルを複数のファイル群に分けた前記１つのプロセッサを含んでも良いし、含まなくても良い。
【００１２】
また、前記１つのプロセッサは、メインプロセッサとして機能させるプロセッサであり、前記対象プロセッサは、サブプロセッサとして機能させるプロセッサであっても良い。
【発明の効果】
【００１３】
本発明によれば、不揮発性ストレージに記憶された複数の処理対象ファイルを読み出す際の時間を短縮することができ、処理時間の短縮や、処理効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施例について説明する。なお、各図において共通する部分には、同一の符号が付されている。また、かかる実施例は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【００１５】
[実施例１]
（１）構成
＜情報処理装置の構成＞
図１は、本実施例に係る情報処理装置１の内部構成を例示するブロック図である。
【００１６】
情報処理装置１は、ワンチップマルチプロセッサ２と、メインメモリとして用いるＲＡＭ(Random Access Memory)１６と、サウスブリッジ１８と、ネットワークインタフェース１９と、フラッシュメモリ２０と、フラッシュメモリコントローラ３１と、ＤＶＤ（Digital Versatile Disk）ドライバ２１と、ＵＳＢ(Universal Serial Bus)２２と、グラフィックカード２４と、ＡＤＣ(analog digital converter)２７と、ＲＦ(Radio Frequency)処理部２８とから構成される。また、図示しないが、ユーザからの指示が入力される入力装置が情報処理装置１に接続される。
【００１７】
フラッシュメモリコントローラ３１は、フラッシュメモリ２０に対するデータの読み出し及びデータの書き込みを制御する。フラッシュメモリ２０には、オペレーティングシステムや、後述する暗号化プログラムなど各種プログラムや、各種ファイルが記憶されている。
【００１８】
ＲＡＭ１６には、ワンチップマルチプロセッサ２によって実行される各種プログラムや、各種プログラムの実行時に用いられる各種データや、後述する各種テーブルが記憶される。
【００１９】
グラフィックカード２４は、画像処理機能を実現させるためのカードであり、フレームメモリ２５を内蔵し、モニタ装置２６と接続される。グラフィックカード２４は、ワンチップマルチプロセッサ２の制御の下、フレームメモリ２５に画像を描画し、描画した画像をモニタ装置２６に表示させる。
【００２０】
ＲＦ処理部２８は、ダウンコンバータ２９を備え、アンテナ３０を介して外部装置との無線通信を制御する。ＡＤＣ２７は、ＲＦ処理部２８から供給されたアナログ信号をデジタル信号に変換し、これをワンチップマルチプロセッサ２に供給する。
【００２１】
ＤＶＤドライバ２１は、ワンチップマルチプロセッサ２の制御の下、ディスク装着部（図示せず）に装着されたＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）やＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）などのＤＶＤ３２に対するデータの読み出し及びデータの書き込みを制御する。
【００２２】
ＵＳＢ２２は、ワンチップマルチプロセッサ２の制御の下、コントローラ２３を介して各種周辺機器を制御する。コントローラ２３には、ＨＤ（Hard Disc)３３等の各種記憶装置や各種記憶媒体が接続される。コントローラ２３は、ハードディスクコントローラとして機能し、ＨＤ３３に対するデータの読み出し及びデータの書き込みを制御する。ＨＤ３３には、後述する暗号化処理の対象となるファイルが記憶されている。各ファイルには、これらを一意に識別可能なファイルＩＤが割り当てられている。尚、各ファイルは、例えばテキストファイルや、音楽ファイル、画像ファイルなどの任意の様々なファイルであって良い。
【００２３】
ネットワークインタフェース１９は、ワンチップマルチプロセッサ２の制御の下、インターネットやＬＡＮなどのネットワークを介したデータ通信を制御する。
【００２４】
＜ワンチップマルチプロセッサの構成＞
ワンチップマルチプロセッサ２は、メインプロセッサ(ＰＵ：Main Processor Unit)８と、８つのサブプロセッサ（ＳＰＵ：Sub Processor Unit）３ａ〜３ｈと、入出力インタフェース(Input/Output Interface)１７と、メモリコントローラ（ＭＣ:Memory Controller)１５とから構成される。これらは、各々リングバス１４に接続され、並列動作可能である。
【００２５】
ＰＵ８とＳＰＵ３ａ〜３ｈとは、それぞれ異なる命令セットを有する命令セットアーキテクチャである。ＰＵ８は、各ＳＰＵ３ａ〜３ｈの動作を制御し、各ＳＰＵ３ａ〜３ｈは、ＰＵ８の制御の下、並列的且つ独立に各種処理を実行する。ＰＵ８は、割り込みを全て受け付けるが、ＳＰＵ３ａ〜３ｈは割り込みを受け付けない。ＳＰＵ３ａ〜３ｈに対して割り込みがかけられた場合、ＰＵ８がその割り込みに対する処理を行う。これらの各プロセッサには、ワンチップマルチプロセッサ２内で一意に識別可能なプロセッサＩＤが各々割り当てられている。サブプロセッサ（ＳＰＵ）のプロセッサＩＤについては、例えば、図２に示されるように、ＲＡＭ１６のプロセッサ管理テーブル１６０に各々記憶される。この管理テーブル１６０では、プロセッサＩＤは、後述するグループＩＤと対応付けられて記憶される。尚、ここでは説明の便宜上各プロセッサＩＤは、各ＳＰＵ３ａ〜３ｈに付与された符号と同一のものを用いる。
【００２６】
ＰＵ８は、プロセッサコア(Core)９と、ＤＭＡＣ（Direct Memory Access Controller）１３を有するメモリフローコントローラ（ＭＦＣ:Memory flow Controller）１２と、Ｌ１キャッシュ１０と、Ｌ２キャッシュ１１とから構成される。
【００２７】
ＳＰＵ３ａは、プロセッサコア４ａと、ローカルストレージ（ＬＳ:Local Storage)５ａと、ＤＭＡＣ７ａを内蔵するＭＦＣ６ａとから構成される。
【００２８】
ＬＳ５ａは、キャッシュとは異なり、キャッシュ・コヒーレンシー、即ちキャッシュの整合性のサポートを必要としない。ＬＳ５ａは、ＤＲＡＭ（Dynamic Random Access Memory）として構成されることが好適である。このＬＳ５ａには、ＰＵ８からの制御命令に従い、各種プログラムがロードされる。
【００２９】
ＤＭＡＣ７ａは、ＳＰＵ３ａの制御の下、ＲＡＭ１６に記憶されている各種プログラム及び各種データにアクセスする。即ち、ＳＰＵ３ａは、ＲＡＭ１６にアクセスする際には、ＰＵ８を介さず、ＤＭＡＣ７ａを有するＭＦＣ６ａに読み出し又は書き込み命令を出し、ＭＦＣ６ａを介してＲＡＭ１６から各種プログラム及び各種データの読み出し又は書き込みを行う。読み出し又は書き込み命令には、ＳＰＵ３ａのプロセッサＩＤと、ＲＡＭ１６上のアクセス要求先のアドレスが含まれる。
【００３０】
尚、ＳＰＵ３ｂ〜３ｈについてもＳＰＵ３ａの構成と略同様であるため、その説明を省略する。以降、ＳＰＵ３ａ〜３ｈについて、区別して記載する必要がない場合には、単に、ＳＰＵ３と記載する。また、各ＳＰＵを区別して記載する必要があり、各ＳＰＵの各構成要素について区別して記載する必要がある場合には、各々符号の後ろにａ〜ｈを付記する。
【００３１】
ＭＣ１５は、ＲＡＭ１６に接続され、ＰＵ８及び各ＳＰＵ３ａ〜３ｈのＲＡＭ１６へのアクセスを仲介する。
【００３２】
入出力インタフェース１７は、サウスブリッジ１８と、グラフィックスカード２４と、ＲＦ（Radio Frequency）処理部２８に接続されたＡＤＣ２７と接続される。入出力インタフェース１７は、ＰＵ８やＳＰＵ３が外部装置を制御したり、外部装置との間でデータを送受信したりすることを制御する。
【００３３】
サウスブリッジ１８は、ネットワークインタフェース１９、フラッシュメモリ２０に接続されたフラッシュメモリコントロール３１と、ＤＶＤドライバ２１、ＵＳＢ（Universal Serial Bus）２２と接続され、これらとの間でデータの中継を行う。
【００３４】
＜機能的構成＞
次に、ワンチップマルチプロセッサ２の機能的構成について説明する。本実施例においては、フラッシュメモリ２０に記憶されたオペレーティングシステムやアプリケーションプログラムをＰＵ８が実行し、この処理の実行過程においてＰＵ８の制御命令に従って各ＳＰＵ３ａ〜３ｈが各種処理を行うことにより、以下の機能が実現される。
【００３５】
ＰＵ８は、ＨＤ３３に記憶されたファイルに対する暗号化処理などの処理命令がなされると、処理対象のファイルをグループ分けする。そして、ＲＡＭ１６にグループ毎の読み出し用バッファ及び書き込み用バッファを割り当てる共に、各グループに各ＳＰＵ３ａ〜３ｈを割り当てる。そして、ＰＵ８は、コントローラ２３に対し、処理対象の全てのファイルを、各グループに対応する各読み出し用バッファにフラッシュメモリ２０から読み出すよう命令を出す。コントローラ２３は、当該命令に従い、処理対象の全てのファイルを、各グループに対応する各読み出し用バッファにＨＤ３３から読み出す。そして、ＰＵ８は、各読み出し用バッファに読み出されたファイルに対する処理を各ＳＰＵ３ａ〜３ｈに行わせると共に、処理後のファイルを各書き込み用バッファに書き込ませる。次いで、ＰＵ８は、コントローラ２３に対し、各ＳＰＵ３ａ〜３ｈによって書き込み用バッファに書き込まれた処理後のファイルをＨＤ３３に書き込むよう命令を出す。コントローラ２３は、当該命令に従い、各ＳＰＵ３ａ〜３ｈによって書き込み用バッファに書き込まれた処理後のファイルをＨＤ３３に書き込む。
【００３６】
（２）動作
次に、本実施例に係る動作について図３を参照しながら説明する。本実施例においては、不揮発性ストレージの一例としてＨＤ３３に記憶された複数のファイルに対し暗号化処理を行う動作について説明する。
【００３７】
尚、情報処理装置１に主電源が投入されると、ＰＵ８は、オペレーティングシステム等の各種制御プログラム、および暗号化プログラム等の各種アプリケーションプログラムをＲＡＭ１６にロードする。プログラムのロード手順としては、ＰＵ８は、入出力インタフェース１７及びサウスブリッジ１８を介してフラッシュメモリコントローラ３１に対しプログラムの読出命令を出し、当該命令に従い、フラッシュメモリコントローラ３１はフラッシュメモリ２０からプログラムを読み出し、次に、ＰＵ８は、ＭＣ１５介して当該プログラムをＲＡＭ１６に書き込む。ＰＵ８は、ＲＡＭ１６にロードされた制御プログラムを実行することにより、情報処理装置１の各部を制御する。また、各種アプリケーションプログラムを実行することにより、各種機能を実現させる。
【００３８】
ここで、ＰＵ８がアプリケーションプログラムを実行している際に、ＨＤ３３に記憶された複数のファイルを一括して暗号化する処理を行う指示が、入力装置を介してユーザから入力された場合、ＰＵ８は、当該指示に応じた指示信号を、ＵＳＢ２２、サウスブリッジ１８、入出力インタフェース１７を介して受信する。そして、ＰＵ８は、当該指示信号に従い、入出力インタフェース１７、サウスブリッジ１８を介して暗号化プログラムをフラッシュメモリ２０から読み出し、ＭＣ１５を介して当該プログラムをＲＡＭ１６にロードする。
【００３９】
そして、図３のステップＳ１に示されるように、ＰＵ８は、まず、処理を行うことが可能なプロセッサの総数を計数する。ここでは、この数は、ワンチップマルチプロセッサ２の有するサブプロセッサの総数である。具体的には、ＲＡＭ１６に記憶されている管理テーブル１６０を参照し、当該管理テーブル１６０に記憶されているプロセッサＩＤに基づき、サブプロセッサの数を計数する。あるいは、レジスタ（図示せず）が、ＲＡＭ１６やフラッシュメモリ２０等のメモリの一部に、現在処理を実行可能なサブプロセッサの数を常に記録するように構成し、この数を「処理を行うことが可能なプロセッサの総数」として用いても良い。又、サブプロセッサのスケジューラが、処理を実行可能なサブプロセッサの数を管理するように構成し、この数を「処理を行うことが可能なプロセッサの総数」として用いても良い。次に、ＰＵ８は、ＨＤ３３に記憶された処理対象のファイルを特定し、特定した各ファイルのファイルＩＤ及びファイルサイズを検出する。
【００４０】
次いで、ＰＵ８は、以下の算式（１)により、処理対象のファイルをグループ分けするグループ数を算出する（ステップＳ２）。
（グループ数）＝MAX(１，FLOOR（（処理を行うことが可能なサブプロセッサの総数）÷（処理の並列度）））・・・・・算式（１）
ここで、FLOOR（Ｘ）は、”Ｘ”を超えない最大の整数を返す関数である。MAX(１,Ｙ)は、”１”と”Ｙ”とのうちいずれか大きい数を返す関数である。「処理の並列度」は、処理の実行が、並列動作可能な複数のプログラムを実行することにより実現される場合、そのプログラムの数を示す。処理の実行が、１つのプログラムを実行することにより実現される場合には、「処理の並列度」は”１”となる。即ち、ステップＳ２では、処理を行うために実行される処理プログラムの並列実行可能性を考慮して、処理を行うことが可能なサブプロセッサの数を決定し、決定した数のグループに処理対象のファイルを分ける。
【００４１】
本実施例においては、処理を行うことが可能なサブプロセッサは、ＳＰＵ３ａ〜３ｈであるから、「処理を行うことが可能なサブプロセッサの総数」は”８”である。また、上記暗号化処理を行うために実行される暗号化プログラムが１つであり、並列処理を必要としないものとするため、「処理の並列度」は”１”である。
【００４２】
従って、本実施例において「グループ数」は”８”となる。ステップＳ３では、「グループ数」が”１”より大きいか否かを判定し、”１”より小さい場合には、以下に説明するグループ分けを行わず、ステップＳ１２に進む。ここでは、「グループ数」は”１”より大きいため、ステップＳ３の判定結果が肯定的となり、ＰＵ８は、次にステップＳ４の処理を行う。ステップＳ４では、ＰＵ８は、処理対象ファイルを８個のグループに分け、各々のファイルに対してグループＩＤを割り当てる。尚、処理対象ファイルをグループに分ける場合、グループ毎の処理量が略同量となるように、グループ毎の処理量を均等化して、各グループへファイルを配分することが望ましい。具体的には、各グループへのファイルの配分については、ファイルサイズによるものと、ファイル数によるものとがある。ファイルサイズによりファイルを配分する場合、各グループに属するファイルのファイルサイズの合計が略同量となるように、即ちファイルサイズを均等化して配分する。尚、各グループに属するファイルのファイルサイズの合計は必ずしも同量でなくても良い。ファイル数によりファイルを配分する場合、各グループに属するファイルのファイル数の合計が略同量となるように、即ちファイル数を均等化して配分する。尚、各グループに属するファイルのファイル数の合計は必ずしも同量でなくても良い。本願発明においては、いずれの方法で配分しても良い。本実施例においては、ファイル数により配分するものとする。例えば、処理対象のファイルが８個ある場合、各グループには１個ずつファイルを配分する。具体的には、ファイルＩＤ”File1”のファイルに対し、グループＩＤ”Group1”のグループを割り当て、同様にして、ファイルＩＤ”File2”〜”File8”の各ファイルに対し、グループＩＤ”Group2”〜”Group8”の各グループを割り当てる。また、ＰＵ８は、ＲＡＭ１６に、各グループに属する各ファイルの情報を管理するための領域（以降、ファイル情報エリアという）を設ける。例えば図４に示されるように、ＰＵ８は、ファイル情報エリアに、ステップＳ１で検出したファイルＩＤ及びファイルサイズと、ステップＳ４で割り当てたグループのグループＩＤとをファイル毎に書き込む。
【００４３】
また、ＰＵ８は、このようにしてグループ分けしたグループにサブプロセッサを対応させる（ステップＳ５）。具体的には、グループ”Group1”のグループに対し、プロセッサＩＤ”３ａ”のＳＰＵ３ａを対応させ、同様にして、グループ”Group2”〜”Group8”の各グループに対し、プロセッサＩＤ”３ｂ”〜”３ｈ”の各ＳＰＵ３ｂ〜３ｈを対応させる。そして、ＰＵ８は、例えば図２に示されるように、ＲＡＭ１６に記憶されている管理テーブル１６０に、各サブプロセッサのプロセッサＩＤに対応する各グループＩＤを書き込む。
【００４４】
次いで、ＰＵ８は、ＲＡＭ１６において、ＨＤ３３からの読み出し用バッファ及びＨＤ３３に対する書き込み用バッファをグループ毎に設定する（ステップＳ６）。例えば、グループＩＤ”Group1”のグループに対し、読み出し用バッファとしてメモリーロケーション”MR1”の領域を割り当て、書き込み用バッファとしてメモリーロケーション”MW1”の領域を割り当てる。同様にして、グループＩＤ”Group2”〜”Group8”の各グループに対し、読み出し用バッファとしてメモリーロケーション”MR2”〜”MR8”の各領域を割り当て、書き込み用バッファとしてメモリーロケーション”MW2”〜”MW8”の各領域を割り当てる。また、ＰＵ８は、ＲＡＭ１６にバッファ管理エリアを設け、図５に示されるように、当該バッファ管理エリアに、各グループに対して割り当てた各バッファの各メモリロケーションを書き込む。尚、各バッファのサイズは、各グループに属するファイルのファイルサイズの総計に対して十分大きいものとする。言い換えると、割り当て可能なバッファのサイズを超えない程度の数に、一度に処理できるファイル数を制限することが望ましい。
【００４５】
次いで、ＰＵ８は、ＲＡＭ１６にロードした暗号処理プログラムの処理スレッドを８個生成し、それぞれの処理スレッドに対し、グループＩＤを割り当てる（ステップＳ７）。具体的には、ＰＵ８は、各処理スレッドに対し、各グループに対応する各ＳＰＵ３ａ〜３ｈを割り当て、割り当てた各処理スレッドを各ＳＰＵ３ａ〜３ｈのＬＳ５ａ〜５ｈに記憶させる。そして、ＰＵ８は、各ＳＰＵに対し割り当てた各処理スレッドを実行させるよう各ＳＰＵ３ａ〜３ｈに対して命令を出し、各々同期待ち合わせ状態にさせる。
【００４６】
その後、ＰＵ８は、コントローラ２３に対し、ＨＤ３３に記憶されている処理対象の全てのファイルの読み出し命令を出す（ステップＳ８）。具体的には、各ファイルの先頭ブロック、ブロック数、及び各ファイルのグループＩＤ毎に割り当てられた読み出し用バッファにおける書き込み位置を指定し、各ファイルをＨＤ３３から読み出してこれを各々対応する読み出し用バッファの書き込み位置へ書き込むことを命令する。尚、グループＩＤ毎の読み出し用バッファへの書き込み位置は、各読み出し用バッファに対応する各ファイルの読み出しを命令する際に、当該ファイルを読み出す直前に読み出したファイルのファイルサイズ分だけ増加するように更新される。一方、コントローラ２３は、ＰＵ８からの読み出し命令に従い、ＨＤ３３に記憶されている処理対象の全てのファイルを、各々対応する読み出し用バッファに読み出す。
【００４７】
また、ＰＵ８は、上記読み出し命令と同時に、ＳＰＵ３ａ〜３ｈに対して割り当てられた各処理スレッドの同期待ち合わせ状態を解除し、各ＳＰＵ３ａ〜３ｈに各処理スレッドの実行を開始させる。即ち、ＰＵ８は、ＳＰＵ３ａ〜３ｈに一斉に処理スレッドの実行を開始させる。ＰＵ８は、アプリケーションプログラムに従い、全ての読み出し命令の実行が完了した時点で、いずれかのＳＰＵ３ａ〜３ｈからの暗号処理完了通知の同期待ち合わせ状態に入る。
【００４８】
次に、ＳＰＵ３の動作について図６を参照しながら説明する。各ＳＰＵ３ａ〜３ｈの行う動作は略同じであるため、ＳＰＵ３ａについてのみ説明する。
【００４９】
ＳＰＵ３ａは、自装置に対して割り当てられ且つＬＳ５ａに記憶された処理スレッドを実行し（ステップＳ２０）、自装置に対して割り当てられたグループＩＤに対応する読み出し用バッファからファイルを読み出し（ステップＳ２２）、当該ファイルに対する暗号化処理を開始する（ステップＳ２３）。
【００５０】
具体的には、ＳＰＵ３ａは、ＤＭＡＣ７ａを有するＭＦＣ６ａ，ＭＣ１５を介して、ＲＡＭ１６にアクセスして、ファイル情報エリアに書き込まれた情報を参照し、読み出し用バッファ（ここでは、メモリロケーションが”MR1”の領域である）に記憶されている各ファイルを読み出す。各ファイルを読み出す際には、読み出し用バッファにおいて各ファイルの記憶開始位置（上述した書き込み位置に相当する）から各ファイルのファイルサイズ分のデータを読み出す。読み出し用バッファの記憶開始位置は、ファイルを読み出す毎に、当該ファイルを読み出す直前に読み出したファイルのファイルサイズ分だけ増加するように更新される。これにより、読み出し用バッファ上に記憶されている各ファイルを正確に読み出すことができる。
【００５１】
続いて、ＳＰＵ３ａは、このようにして読み出したファイルに対する暗号化処理を行う。そして、当該ファイルに対する暗号化処理が完了すると、次いで、ＳＰＵ３ａは、ＤＭＡＣ７ａ，ＭＣ１５を介してＲＡＭ１６にアクセスして、暗号化処理を行ったファイル（以下、暗号化ファイルという）を、当該ＳＰＵ３ａに割り当てられたグループＩＤに対応する書き込み用バッファに書き込む（ステップＳ２４）。そして、図４に示されるようなファイル情報エリアに、当該暗号化ファイルを書き込んだ領域の先頭位置（以下、処理後先頭アドレスという）、ファイルサイズ、並びにプロセッサＩＤを書き込む（ステップＳ２５）。
【００５２】
以上のようにして、ＳＰＵ３ａはステップＳ２０〜Ｓ２５の処理をファイル毎に行う。そして、自装置に対して割り当てられた全ての処理対象ファイルに対する暗号化処理が終了すると（ステップＳ２１：ＹＥＳ）、ＳＰＵ３ａは、ＰＵ８に対して、暗号化処理の終了を通知する（以下、暗号化処理終了通知という）割り込みを行う（ステップＳ２６）。
【００５３】
また、ＳＰＵ３ａは、暗号化ファイルの書き込みと同時に、ＳＰＵ３ｂに対し、書き込み用バッファＭＷ１においてファイルを書き込んだポジションとそのファイルサイズとを引き渡すと同時に、同期待ち合わせ状態を解除させ、処理を開始させる。
【００５４】
他のＳＰＵ３ｂ〜３ｈについても、ＳＰＵ３ａと同様の処理を行う。
【００５５】
次に、図３に戻り、ＰＵ８は、各ＳＰＵ３ａ〜３ｈのいずれかから暗号化処理終了通知を受け取ると（ステップＳ１０：ＹＥＳ）、アプリケーションプログラムに従い、ファイル情報エリアを参照して、書き込みの終了している暗号化ファイルの書き込み用バッファ上の開始アドレスと、当該ファイルのファイルサイズとを読み出し、コントローラ２３に対し、ＨＤ３３へファイルを書き込むよう命令を出す（ステップＳ１１）。尚、書き込みの終了している暗号化ファイルの判別は、例えば、ファイル情報エリアの各ファイルに対応するプロセッサＩＤや処理後のファイルサイズが書き込まれているか否かを判別することにより行うことができる。一方、コントローラ２３は、ＰＵ８からの書き込み命令に従い、書き込み用バッファに書き込まれた暗号化処理後のファイルをＨＤ３３へ書き込む。
【００５６】
また、書込み命令を出す時に、他のＳＰＵからの暗号処理終了通知を受け取った場合、当該通知を受け取る度に、ＰＵ８は、ステップＳ１１の処理を行う。書込み命令の実行終了時に、他のＳＰＵからの暗号化処理終了通知を受け取っていない場合には、再び同期待ち合わせ状態とする。そして、ファイル情報エリアにおいて、全てのファイルについて書き込み完了状態になった場合（ステップＳ９：ＹＥＳ）、ＰＵ８は、アプリケーションプログラムに従い、次の処理に移行する。次の処理とは、例えば、暗号化処理が終了した旨を示すメッセージをモニタ２６に表示させる等の処理である。
【００５７】
尚、ステップＳ２において算出した「グループ数」が”１”となった場合（ステップＳ３：ＮＯ）、ＰＵ８は、オペレーティングシステムに従い、ＳＰＵ３ａ〜３ｈの中から、処理を行うことが可能なサブプロセッサを選択し、選択したサブプロセッサに対し、上記処理対象の全てのファイルに対する暗号化処理を行わせる（ステップＳ１２）。
【００５８】
また、上述のステップＳ２でグループ数を算出する際、「処理の並列度」が”１”より大きく且つステップＳ３の判定結果が肯定的である場合、ＰＵ８は、算出したグループ数と同数のサブプロセッサをＳＰＵ３ａ〜３ｈの中から選択し、選択したサブプロセッサに対し、上述のステップＳ５〜Ｓ１１の処理を行う。また、「処理の並列度」が”１”より大きい場合、即ち、処理の実行が、並列動作可能な複数のプログラムを実行することにより実現される場合、ＰＵ８は、当該プログラムを実行可能なサブプロセッサに対し当該各プログラムを実行するよう命令を出す。
【００５９】
以上のようにして、メインプロセッサが、処理対象の複数のファイルをグループ分けして、グループ毎に各バッファを割り当てることにより、処理対象の全てのファイルの読み出しを一括して行うことができる。一方、サブプロセッサは、ＤＭＡＣを有することにより、メインプロセッサを介することなく、各バッファへアクセスすることができる。このため、従来のように、メインプロセッサが不揮発性ストレージからファイルを読み出す際に、割り込み命令がなされることなく、従って、従来必要とされていた割り込み時の同期待ち合わせ時間をなくすことが可能となる。この結果、処理時間の短縮、処理効率の向上を図ることができる。
【００６０】
[実施例２]
上述の第１実施例においては、処理対象のファイルが記憶されている不揮発性ストレージが１つである実施形態について説明した。本実施例においては、処理対象のファイルが複数の不揮発性ストレージに記憶されている実施形態について説明する。以下、上記第１実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
【００６１】
（１）構成
本実施例における情報処理装置１Ａの電気的な内部構成について、図７を用いて説明する。本実施例においては、情報処理装置１Ａは、メインプロセッサとして１つのＰＵ４１とサブプロセッサとして２つのＳＰＵ４２，４３とを有するワンチップマルチプロセッサ４０と、これとバス４４を介して接続されるＲＡＭ４６と、これらと入出力インタフェース４５，ブリッジ４７を介して接続される４つの不揮発性ストレージ４８〜５１と、ストレージコントローラ５３とを有する。
【００６２】
ストレージコントローラ５３は、不揮発性ストレージ４８〜５１に対するデータの読み出し及びデータの書き込みを各々制御する。
【００６３】
各不揮発性ストレージ４８〜５１には、オペレーティングシステムなどの各種制御プログラムや各種アプリケーションプログラムなどの各種プログラムや、暗号化処理の対象となるファイルが各々記憶されている。各不揮発性ストレージ４８〜５１には、これらを一意に識別可能なメモリＩＤが各々対応付けられており、各ファイルにはこれらを一意に識別可能なファイルＩＤが各々対応付けられている。これらの対応関係は、例えば図８に示されるようなファイル前管理テーブル４６０としてＲＡＭ４６に記憶されている。ここでは説明の便宜上各メモリＩＤは、不揮発性ストレージ４８〜５１に付与された符号と同一のものを用いる。
【００６４】
その他の構成については上述の実施例１と同様であるため、その説明及び図示を省略する。
【００６５】
（２）動作
次に、本実施例に係る動作について説明する。本実施例においては、複数の不揮発性ストレージ４８〜５１に記憶されている複数のファイルを暗号化する処理について説明する。
【００６６】
ＰＵ４１は、アプリケーションプログラムを実行している際に、上述の第１実施例と同様にして、暗号化プログラムを不揮発性ストレージ（例えば、不揮発性ストレージ４８）から読み出し、これを、処理の実行可能な全てのサブプロセッサの有するローカルストレージ（図示せず）にロードする。そして、ＰＵ４１は、図３のステップＳ１〜Ｓ２の処理を行い、上述の算出式（１）により、グループ数を算出する。
【００６７】
本実施例においては、処理を行うことが可能なサブプロセッサは、ＳＰＵ４２，４３であるから、「処理を行うことが可能なサブプロセッサの総数」は、”２”であり、「処理の並列度」は、上述の第１実施例と同様に、”１”であるとする。この為、「グループ数」は”２”となる。次いで、ＰＵ８は、各グループを各ＳＰＵに対応付ける。ここでは、グループＩＤ”Group1”のグループにＳＰＵ４２を対応付け、グループＩＤ”Group2”のグループにＳＰＵ４３を対応付ける。
【００６８】
各グループへのファイルの配分については、第１実施例で述べたように、ファイル数によるものと、ファイルサイズによるものとがある。ここでは、ファイル数により配分するものとして説明する。
【００６９】
不揮発性ストレージ４８〜５１には、各々処理対象のファイルが各々以下の数だけ記憶されているものとする。不揮発性ストレージ４８には、２０個、不揮発性ストレージ４９には、３０個、不揮発性ストレージ５０には、４０個、不揮発性ストレージ５１には、５０個、である。
【００７０】
この場合、不揮発性ストレージ４８〜５１に記憶されているファイルの総数を、ステップＳ２で算出したグループ数で除算すると、”７０”となる。そこで、各グループに対して７０個ずつファイルを割り当てる。具体的には、不揮発性ストレージ４８，４９の全てのファイルをグループ１に、不揮発性ストレージ５０のファイルのうち２０個を”Group1”のグループに、残りの２０個を”Group2”のグループに、不揮発性ストレージ５１の全てのファイルを”Group2”のグループに割り当てる。
【００７１】
以上のようにして、複数の不揮発性ストレージ４８〜５１に記憶されているファイルを各グループに割り当てる。
【００７２】
以降は、上述の第１実施例と同様にして、ＰＵ４１は、ステップＳ３〜Ｓ１２の処理を行う。また、ＳＰＵ４２，４３も上述の第１実施例と同様にして、図６のステップＳ２０〜Ｓ２６の処理を行う。
【００７３】
尚、ＰＵ４１がステップＳ１１の処理を行う際、暗号化ファイルを不揮発性ストレージ４８〜５１の何れに書き込むかによって並列処理の効率は変化する。最も効率的に書き込みを行うためには、暗号化ファイルを順次不揮発性ストレージ４８〜５１に割り当てていくことが望ましい。すなわち、１個又は複数個ずつの暗号化ファイルを、不揮発性ストレージ４８から順に不揮発性ストレージ４９，５０，５１，４８，４９・・・と再帰的に割り当てる。つまり、暗号化ファイルが暗号化処理前に記憶されていた不揮発性ストレージとは無関係に、暗号化ファイルを不揮発性ストレージに書き込む。これにより、暗号化ファイルを、各不揮発性ストレージに均等に且つ効率的に書き込むことができる。
【００７４】
本実施例においては、ステップＳ８における読み出し命令を出す時間又はステップＳ１１における書き込み命令を出す時間が、不揮発性ストレージ４８〜５１から又は不揮発性ストレージ４８〜５１へのファイル転送に掛かる時間に比べてほとんど無視できるとすると、４つの不揮発性ストレージ４８〜５１がほぼ同時にファイル転送を始めることになる。また各不揮発性ストレージ４８〜５１へのアクセスを中継する入出力インタフェース４５からＲＡＭ４６へのアクセスが、ほぼ平均的に起こるとすると、”Group1”のグループに関しては、当該グループに割り当てられた７０個全てのファイルを、当該グループに対応する読み込みバッファへ転送するのに掛かる時間は、最も多くのファイルを転送する不揮発性ストレージ４９に記憶されている３０個のファイルを転送するのに掛かる時間に略等しい。また、”Group2”のグループに関しては、全ての処理対象ファイルを対応する読み込みバッファへの転送を完了するのに掛かる時間は、最も多くのファイルを転送する不揮発性ストレージ５１に記憶されている５０個のファイルを転送するのに掛かる時間に略等しい。即ち、グループに割り当てられた複数のファイルが、複数の不揮発性ストレージに分散して記憶されている場合には、各不揮発性ストレージにおけるファイルの転送を非同期に行うことができ、各不揮発性ストレージにおけるファイルの転送を並行して行うことができる。このため、グループに割り当てられた全てのファイルを転送するのに掛かる時間を大幅に短縮することができる。
【００７５】
以上のようにして、本実施例においては、ファイル転送に掛かる時間を大幅に短縮することができることにより、全体の処理時間を短縮することができ、処理効率を大幅に向上させることができる。更に、実行可能な全ての処理を並列に実行することによって効率を向上させることができる。
【００７６】
[実施例３]
上述の各実施例においては、１つのワンチップマルチプロセッサを取り扱った。本実施例においては、複数のワンチップマルチプロセッサが協働して処理を行う実施形態について説明する。以下、上記第１実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
【００７７】
（１）構成
本実施例における情報処理システムＳの電気的な内部構成について、図９を用いて説明する。本実施例に係る情報処理システムＳにおいては、情報処理装置１Ｂ〜１ＥがスイッチングネットワークＮを介して各々接続されている。スイッチングネットワークＮは、インターネットやＬＡＮ（Local Area Network）などの、複数の情報処理装置を互いに接続させるネットワークである。情報処理装置１Ｂは、ワンチップマルチプロセッサ６０と、ＲＡＭ６１と、これらとブリッジ６２を介して接続される不揮発性ストレージ６３と、ストレージコントローラ６４とを有する。ワンチップマルチプロセッサ６０は、メインプロセッサとして１つのＰＵ６０ａと、サブプロセッサとして６つのＳＰＵ６０ｂ〜６０ｇとを有する。
【００７８】
情報処理装置１Ｃは、ワンチップマルチプロセッサ７０と、ＲＡＭ７１と、これらとブリッジ７２を介して接続される不揮発性ストレージ７３と、ストレージコントローラ７４とを有する。ワンチップマルチプロセッサ７０は、メインプロセッサとして１つのＰＵ７０ａと、サブプロセッサとして２つのＳＰＵ７０ｂ〜７０ｃとを有する。
【００７９】
情報処理装置１Ｄは、ワンチップマルチプロセッサ８０と、ＲＡＭ８１と、これらとブリッジ８２を介して接続される不揮発性ストレージ８３と、ストレージコントローラ８４とを有する。ワンチップマルチプロセッサ８０は、メインプロセッサとして１つのＰＵ８０ａと、サブプロセッサとして２つのＳＰＵ８０ｂ〜８０ｃとを有する。
【００８０】
情報処理装置１Ｅは、ワンチップマルチプロセッサ９０と、ＲＡＭ９１と、これらとブリッジ９２を介して接続される３つの不揮発性ストレージ９３，９４，９５と、ストレージコントローラ９６とを有する。ワンチップマルチプロセッサ９０は、メインプロセッサとして１つのＰＵ９０ａと、サブプロセッサとして２つのＳＰＵ９０ｂ〜９０ｃとを有する。
【００８１】
各不揮発性ストレージ６３，７３，８３，９３〜９５には、オペレーティングシステムなどの各種制御プログラムや各種アプリケーションプログラムなどの各種プログラムや、暗号化処理の対象となるファイルが記憶されている。本実施例におけるオペレーティングシステムなどの各種制御プログラムを各ＰＵ６０ａ，７０ａ，８０ａ，９０ａが実行することにより、スイッチングネットワークＮを介して他の情報処理装置に接続するための手続きや、スイッチングネットワークＮに接続されている他の情報処理装置を判別すると共に、他の情報処理装置の構成を判別する機能が実現される。具体的には、各情報処理装置の有するＰＵ，ＳＰＵ及びその数，不揮発性ストレージ及びその数を判別し、例えば図１０に示されるようなネットワーク管理テーブルＮＴＴＢＬを生成する。図１０においては説明の便宜上各ＩＤは各装置に付与された符号と同一のものを用いる。ネットワーク管理テーブルＮＴＴＢＬには、情報処理装置１Ｂ〜１Ｅ毎に、端末ＩＤ、メインプロセッサのプロセッサＩＤ、サブプロセッサのプロセッサＩＤ、メモリＩＤとが各々記憶される。端末ＩＤは、各情報処理装置１Ｂ〜１Ｅを一意に識別するための情報である。メインプロセッサＩＤは各メインプロセッサ６０ａ，７０ａ，８０ａ，９０ａを一意に識別するための情報である。プロセッサＩＤは各サブプロセッサ６０ｂ〜６０ｇ，７０ｂ〜７０ｃ，８０ｂ〜８０ｃ，９０ｂ〜９０ｃを一意に識別するための情報である。メモリＩＤは各不揮発性ストレージ６３，７３，８３，９３〜９５を一意に識別するための情報である。このようなネットワーク管理テーブルＮＴＴＢＬは、各情報処理装置１Ｂ〜１ＥのＲＡＭ６１，７１，８１，９１に各々記憶される。
【００８２】
また、各不揮発性ストレージ６３，７３，８３，９３〜９５と、これらの記憶されたファイルとの対応関係は、上述の第２実施例におけるファイル前管理テーブル４６０と同様にして、各々メモリＩＤと各々ファイルＩＤとの対応関係が各ＲＡＭ６１，７１，８１，９１に記憶されている。
【００８３】
その他の情報処理装置１Ｂ〜１Ｅの構成については上述の実施例１における情報処理装置１と略同様であるため、その説明及び図示を省略する。
【００８４】
（２）動作
次に、本実施例における動作について図３を参照しながら説明する。本実施例においては、６つの不揮発性ストレージ６３，７３，８３，９３〜９５に記憶されている複数のファイルを、上述の各実施例と同様にして、暗号化する処理について説明する。ここでは、ＰＵ６０ａがアプリケーションプログラムを実行している際に、上述の第１実施例と同様にして、暗号化プログラムを不揮発性ストレージ６３から読み出しこれをＲＡＭ６１にロードする。そして、ＰＵ４１は、ステップＳ１〜Ｓ２の処理を行い、上述の算出式（１）により、グループ数を算出する。
【００８５】
ステップＳ１では、ＰＵ６０ａは、上述の第１実施例と同様にして、処理対象のファイルを特定しその総数を計数すると共に、ネットワーク管理テーブルＮＴＴＢＬを参照して、処理を行うことが可能なサブプロセッサの総数を計数する。ここでは、処理を行うことが可能なサブプロセッサは、ＳＰＵ６０ｂ〜６０ｇ，７０ｂ〜７０ｃ，８０ｂ〜８０ｃ，９０ｂ〜９０ｃであるから、その総数は”１２”である。
【００８６】
次いで、ステップＳ２では、ＰＵ６０ａは、上述の第１実施例と同様にして、算出式（１）を用いてグループ数を算出する。ここでは、処理の並列度は、”１”とする。従って、ここでは、並列処理の対象となるグループ数は、”１２”となる。このため、ここでは、ステップＳ３の判定結果が肯定的となり、ステップＳ４に進む。
【００８７】
次いで、ステップＳ４において、ＰＵ６０ａは、６つの不揮発性ストレージに記憶されている処理対象のファイルを１２個のグループに分ける。本実施例においても、各グループへのファイルの配分は、ファイル数により行うものとする。また、ここでは、各不揮発性ストレージ６３，７３，８３，９３〜９５に記憶されている処理対象のファイルの数は、同じであるとする。例えば、５０個とする。すると、６個の各不揮発性ストレージ６３，７３，８３，９３〜９５に５０個ずつ記憶されたファイルを１２個のグループに分けることになる。このため、各不揮発性ストレージ６３，７３，８３，９３〜９５に記憶されたファイルを２５個ずつ２つのグループに分けることになる。そして、ＰＵ６０ａは、例えば、不揮発性ストレージ６３に記憶された２５個のファイルに対し、グループＩＤ”Group1”を割り当て、残りの２５個のファイルに対し、グループＩＤ”Group2”を割り当てる。不揮発性ストレージ７３に記憶されたファイルに対しても同様にして、２５個のファイル毎に、グループＩＤ”Group3”，”Group4”を各々割り当てる。同様にして、不揮発性ストレージ８３，９３〜９５に記憶されたファイルに対しても同様にして、２５個のファイル毎に、グループＩＤ”Group5”〜”Group12”を各々割り当てる。
【００８８】
次いで、ステップＳ５で、ＰＵ８は、各グループＩＤ”Group1”〜”Group12”を、ＳＰＵ６０ａ〜６０ｇ，７０ｂ〜７０ｃ，８０ｂ〜８０ｃ，９０ｂ〜９０ｃに各々対応させる。
【００８９】
つまり、ワンチップマルチプロセッサ６０のＳＰＵ６０ｂに対し、不揮発性ストレージ６３に記憶されグループＩＤ”Group1”のファイルを割り当て、ＳＰＵ６０ｃに対し、不揮発性ストレージ６３に記憶されグループＩＤ”Group2”のファイルを割り当てる。ＳＰＵ６０ｄ，６０ｅに対しては、不揮発性ストレージ９４に記憶されグループＩＤ”Group9”，”Group10”の各ファイルを各々割り当てる。ＳＰＵ６０ｆ，６０ｇに対しては、不揮発性ストレージ９５に記憶されグループＩＤ”Group11”，”Group12”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ７０のＳＰＵ７０ｂ，７０ｃに対しては、不揮発性ストレージ７３に記憶されグループＩ”Group3”，”Group4”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ８０のＳＰＵ８０ｂ，８０ｃに対しては、不揮発性ストレージ８３に記憶されグループＩＤ”Group5”，”Group6”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ９０のＳＰＵ９０ｂ，９０ｃに対しては、不揮発性ストレージ９３に記憶されグループＩＤ”Group7”，”Group8”の各ファイルを各々割り当てる。これらの対応関係は例えば図１１のように示される。
【００９０】
ＰＵ６０ａは、このようなグループ分けを行い、上述の各実施例と同様に、プロセッサ管理テーブル（図示せず）に情報を書き込む。
【００９１】
次いで、ステップＳ６では、情報処理装置１ＢのＰＵ６０ａは、自装置のＳＰＵ６０ｂ〜６０ｇに対して割り当てられたグループ毎の読み出し用バッファ及び書き込み用バッファをＲＡＭ６１上に各々割り当てる。また、ＰＵ６０ａは、他の情報処理装置１Ｃ〜１Ｅの各ＰＵ７０ａ，８０ａ，９０ａに対し、各々自装置の有するＲＡＭ７１，８１，９１に、各々自装置の有するＳＰＵに対応する読み出し用バッファ及び書き込み用バッファを割り当てるよう命令を出す。各ＰＵ７０ａ，８０ａ，９０ａは、当該命令に従い、各々自装置の有するＲＡＭ７１，８１，９１に、各々自装置の有するＳＰＵに対応する読み出し用バッファ及び書き込み用バッファを割り当てる。また、ＰＵ６０ａは、上述の第１実施例と同様に、割り当てた各バッファのメモリロケーションをバッファ管理エリアに書き込む。更に、ＰＵ６０ａは、ＲＡＭ６１にファイル情報エリアを設け、ファイル情報エリアに、上述と同様に情報を書き込む。
【００９２】
次いで、ステップＳ７では、ＰＵ６０ａは、暗号処理プログラムの処理スレッドをグループ数と同じ数だけ生成し、それぞれの処理スレッドに対しグループＩＤを割り当て、各処理スレッドをＳＰＵ６０ｂ〜６０ｇ，７０ｂ〜７０ｃ，８０ｂ〜８０ｃ，９０ｂ〜９０ｃに各々対応させる。そして、ＰＵ６０ａは、ＳＰＵ６０ｂ〜６０ｇに対応する処理スレッドについては、各ＳＰＵ６０ｂ〜６０ｇに対し、各々対応する処理スレッドを実行するよう命令を出し、各々同期待ち合わせ状態にさせる。また、ＰＵ６０ａは、他の情報処理装置１Ｃ〜１ＥのＳＰＵ７０ｂ〜７０ｃ，８０ｂ〜８０ｃ，９０ｂ〜９０ｃに対応する処理スレッドについては、他の情報処理装置１Ｃ〜１Ｅの各ＰＵ７０ａ，８０ａ，９０ａに対し、各自装置のＳＰＵに各々対応する処理スレッドを実行させるよう命令を出し、各処理スレッドを各々同期待ち合わせ状態にさせるよう命令を出す。この結果、各処理スレッドが、各々対応するＳＰＵの有するローカルストレージ（図示せず）にロードされて各ＳＰＵにより実行され、同期待ち合わせ状態となる。
【００９３】
次いで、ステップＳ８では、ＰＵ６０ａは、ストレージコントローラ６４に対し、ＲＡＭ６１に割り当てた上述の読み出し用バッファに、不揮発性ストレージ６３に記憶されている処理対象の全てのファイルを読み出すよう命令を出す。また、ＰＵ６０ａは、他の情報処理装置１Ｃ〜１Ｅの各ＰＵ７０ａ，８０ａ，９０ａに対し、各々自装置の有する不揮発性ストレージ７３，８３，９３〜９５に記憶されている処理対象の全てのファイルを、ＲＡＭ６１，７１，８１，９１に各々割り当てた上述の読み出し用バッファに読み出すよう命令を出す。他の情報処理装置１Ｃ〜１Ｅの各ＰＵ７０ａ，８０ａ，９０ａは、当該読み出し命令に従い、各々自装置の有するストレージコントローラ７４，８４，９６に対し、各々自装置の有する不揮発性ストレージ７３，８３，９３〜９５に記憶されている処理対象の全てのファイルを読み出すよう命令を出す。以上のようにして、ＰＵ６０ａは、他の情報処理装置１Ｃ〜１Ｅに接続されている不揮発性ストレージ７３，８３，９３〜９５に記憶されている処理対象ファイルの読み出しを、各情報処理装置１Ｃ〜１Ｅの各ＰＵ７０ａ，８０ａ，９０ａを介して、各不揮発性ストレージ７３，８３，９３〜９５に対応するストレージコントローラ７４，８４，９６に対して指示する。一方、各ストレージコントローラ６４，７４，８４，９６は、上述の各読み出し命令に従って、各不揮発性ストレージ６３，７３，８３，９３〜９５に記憶されている処理対象の全てのファイルを各々対応する読み出しバッファに読み出す。
【００９４】
また、ＰＵ６０ａは、上記読み出し命令と同時に、ＳＰＵ６０ｂ〜６０ｇに対して割り当てた各処理スレッドの同期待ち合わせ状態を解除し、各ＳＰＵに処理スレッドの実行を開始させる。また、同時に、ＰＵ６０ａは、他の情報処理装置１Ｃ〜１Ｅの有する各ＳＰＵに対して割り当てた各処理スレッドについて、他の情報処理装置１Ｃ〜１Ｅの各ＰＵ７０ａ，８０ａ，９０ａを介して、各処理スレッドの同期待ち合わせ状態を解除し、各ＳＰＵに処理スレッドの実行を開始させる。以降、上述の第１実施例と同様にステップＳ９〜Ｓ１１と同様の処理が行われる。尚、ステップＳ１１において、書き込み用バッファに書き込まれた暗号化ファイルを不揮発性ストレージ６３，７３，８３，９３〜９５へ書き込ませる際、ＰＵ６０ａは、不揮発性ストレージ６３への書き込みについては、ストレージコントローラ６４に対して書き込み命令を出し、各不揮発性ストレージ７３，８３，９３〜９５への書き込みについては、各々対応するＰＵ７０ａ，８０ａ，９０ａを介して、各々対応するストレージコントローラ７４，８４，９６に書き込み命令を出す。尚、暗号化ファイルを書き込む不揮発性ストレージの割り当てについては、上述の第２実施例と同様に、暗号化ファイルを順次不揮発性ストレージ７３，８３，９３〜９５に割り当るようしても良い。
【００９５】
以上のような構成によって、異なる情報処理装置に各々接続された不揮発性ストレージに記憶されたファイルについても、複数の各情報処理装置のワンチップマルチプロセッサの各サブプロセッサに割り当て、並列処理させることができる。即ち、複数の各情報処理装置のワンチップマルチプロセッサに処理を分散させて、各ワンチップマルチプロセッサのサブプロセッサを並列処理させることが可能となる。この結果、処理時間の大幅な短縮、及び処理効率の大幅な向上が図ることが可能となる。
【００９６】
尚、上述の情報システムＳを例えば以下のような環境下で構成することが望ましい。スイッチングネットワークＮを介したファイルの転送速度が十分速く、１つの情報処理装置内において不揮発性ストレージとＲＡＭとの間でブリッジを介してファイル転送するのに掛かる時間と、各々別の情報処理装置に接続された不揮発性ストレージとＲＡＭとの間でスイッチングネットワークＮを介してファイルを転送するのに掛かる時間とが略同じであるという環境である。このような環境下では、ある情報処理装置のワンチッププロセッサが、他の情報処理装置に接続された不揮発性ストレージに記憶されたファイルに対する処理を行うことに、時間的なロスが殆ど生じないからである。
【００９７】
[変形例]
＜変形例１＞
上述の第１実施例においては、不揮発性ストレージであるＨＤ３３は情報処理装置１の外部に設けるように構成した。また、上述の第２，第３実施例においては、各不揮発性ストレージ４８〜５１,６３，７３，８３，９３〜９５は、各情報処理装置の内部であり、各ワンチップマルチプロセッサの外部に設けるように構成した。本発明においては、各不揮発性ストレージは、情報処理装置１の外部又は内部のいずれに設けても良いし、ワンチップマルチプロセッサの外部又は内部のいずれに設けるように構成しても良い。また、不揮発性ストレージとして用いるものは、ハードディスク、フラッシュメモリ、ＤＶＤなどの各種記憶装置、記憶媒体であって良い。
【００９８】
また、上述の上述の第１実施例においては、ＨＤ３３は、ＵＳＢ２２を介して情報処理装置１と接続される構成としたが、本発明においてはこれに限らない。
【００９９】
また、上述の第１実施例においては、処理対象ファイルが記憶される不揮発性ストレージとしてＨＤ３３を用い、ストレージコントローラとしてコントローラ２３を用いた。しかし、本発明においてはこれに限らず、ＤＶＤやフラッシュメモリ等の各種記憶装置、各種記憶媒体を、処理対象ファイルが記憶される不揮発性ストレージとして用いても良い。例えば、図１におけるＤＶＤ３２に上記処理対象のファイルが記憶されている場合は、ＤＶＤドライバ２１が上述のストレージコントローラとして機能する。即ち、ＰＵ８が、ステップＳ８において、ＤＶＤドライバ２１に対し、ＤＶＤ３２に記憶されている処理対象のファイルの読み出し命令を出し、ステップＳ１１において、ＤＶＤドライバ２１に対し、ＤＶＤ３２への処理後ファイルの書き込み命令を出し、ＤＶＤドライバ２１がこれらの命令に従って、ＤＶＤ３２に対するファイルの読み出し及び書き込みを行う。また、図１におけるフラッシュメモリ２０に上記処理対象のファイルが記憶されている場合は、フラッシュメモリコントローラ３１が上述のストレージコントローラとして機能する。即ち、ＰＵ８が、ステップＳ８において、フラッシュメモリコントローラ３１に対し、フラッシュメモリ２０に記憶されている処理対象のファイルの読み出し命令を出し、ステップＳ１１において、フラッシュメモリコントローラ３１に対し、ＨＤ３３への処理後ファイルの書き込み命令を出し、フラッシュメモリコントローラ３１がこれらの命令に従って、フラッシュメモリ２０に対するファイルの読み出し及び書き込みを行う。
【０１００】
また、上述の各実施例に係る情報処理装置とは異なる他の情報処理装置に不揮発性ストレージを設け、当該他の情報処理装置と上述の各実施例に係る情報処理装置とをネットワークを介して接続し、上述の各実施例に係る情報処理装置の有するワンチップマルチプロセッサが、当該ネットワーク及び当該他の情報処理装置を介して当該不揮発性ストレージにアクセスする構成であっても良い。
【０１０１】
また、上述の第２，３実施例においては、ストレージコントローラ５３及びストレージコントローラ６４，７４，８４，９６が、複数の不揮発性ストレージに対してデータの読み出し及びデータの書き込みを各々制御するよう構成した。しかし、本発明においてはこれに限らず、不揮発性ストレージ１つに対し１つの不揮発性ストレージコントローラを設けるように構成しても良い。この場合、メインプロセッサは、ステップＳ８において、各不揮発性ストレージに記憶されている処理対象ファイルの読み出し命令を、各不揮発性ストレージに対応する各ストレージコントローラに対して各々出し、ステップＳ１１において、各不揮発性ストレージへの処理後ファイルの書き込み命令を、各不揮発性ストレージに対応する各ストレージコントローラに対して各々出し、各ストレージコントローラがこれらの命令に従って、各々対応する不揮発性ストレージに対するファイルの読み出し及び書き込みを行う。
【０１０２】
また、上述の各実施例においては、不揮発性ストレージとストレージコントローラとを別体で設けるように構成したが、これらを一体的に設けるように構成しても良い。
【０１０３】
また、上述の各実施例においては、マルチプロセッサとして、ワンチップ内にコアを複数有し、メインプロセッサとサブプロセッサとの構成が異なる非対称型のマルチコアプロセッサを用いた。しかし、本発明においてはこれに限らず、シングルプロセッサを複数有する構成のマルチプロセッサや、シングルコアのマルチプロセッサを用いても良く、例えば、図１２（ａ），（ｂ）に示されるように、同一構成のプロセッサを複数有する対称型のマルチプロセッサを用いても良い。図１２（ａ）に示されるマルチプロセッサ５００は、プロセッサ５０１を２つ備え、これらとバスを介して接続されるメモリコントローラ５０５′を備える。各プロセッサ５０１は、ＣＰＵ５０２をコアとして備え、Ｌ１キャッシュ５０３,Ｌ２キャッシュ５０４′をキャッシュメモリとして備える。図１２（ｂ）に示されるマルチプロセッサ５００′は、プロセッサ５０１′を２つ備え、これらとバスを介して接続されるメモリコントローラ５０５を備え、各プロセッサ５０１′が共用するＬ２キャッシュ５０４′をキャッシュメモリとして備える。各プロセッサ５０１′は、ＣＰＵ５０２をコアとして備え、Ｌ１キャッシュ５０３をキャッシュメモリとして備える。このような構成を有するマルチプロセッサ５００，５００′においては、キャッシュメモリ５０２，５０３，５０４，５０４′のうち少なくとも１つをローカルメモリとして機能させるようにしても構成しても良いし、各プロセッサ５０１,５０１′が用いるローカルメモリを別途備えるように構成しても良い。このような同一構成のプロセッサを複数有する対称型のマルチプロセッサを用いた場合、複数のプロセッサのうちいずれか１つを、例えば、上述の第１実施例におけるＰＵ８（メインプロセッサ）として機能させ、他のプロセッサをＳＰＵ３（サブプロセッサ）として機能させるようにしても良い。また、複数のプロセッサのうちいずれか１つをメインプロセッサとして機能させる場合であっても、当該１つのプロセッサを、上述の第１実施例におけるステップＳ４でグループ分けしたグループをステップＳ５で割り当てる対象のプロセッサとしても良い。
【０１０４】
＜変形例２＞
上述の各実施例においては、複数のファイルに対して暗号化処理を行う構成とした。しかし、本発明においてはこれに限らず、複数のファイルに対して一括して行う処理であれば、例えば、暗号化を解除する復号化処理、コーデック変換処理、画像処理、ウイルススキャン、ファイルの圧縮又は展開処理などの様々な処理であっても良い。
【０１０５】
＜変形例３＞
上述の実施例においては、オペレーティングシステムは、メインプロセッサが実行する構成とした。しかし、本発明においてはこれに限らず、サブプロセッサが、オペレーティングシステムの一部をなすようなプログラム（例えば、デバイスドライバやシステムプログラムの一部）を実行するように構成しても良い。また、オペレーティングシステムとして、サブプロセッサ全体を制御する専用のオペレーティングシステムを備えるように構成しても良い。
【０１０６】
＜変形例４＞
上述の各実施例においては、各ＳＰＵに対応するグループに割り当てられたファイルをＲＡＭ上の読み出し用バッファに読み出してこれを処理するように構成した。しかし、本発明においてはこれに限らず、各ＳＰＵの有するローカルストレージに、当該ＳＰＵに割り当てられた処理対象のファイルを記憶させ、これを暗号化処理後にＲＡＭ上の書き込み用バッファに書き込むように構成しても良い。
【０１０７】
＜変形例５＞
上述の各実施例においては、各グループへのファイルの配分は、ファイル数又はファイルサイズにより行う構成とした。しかし、本発明においてはこれに限らず、例えば、ファイルの種類や、ファイルの更新日時、ファイルの使用頻度などのファイルの属性情報を用いて行うようにしても良い。
【０１０８】
＜変形例６＞
上述の第３実施例においては、上述の図３に示される各処理をＰＵ６０ａが行うようにしたが、他のＰＵが行うようにしても良い。また、上述のステップＳ１４，１５では、各ＳＰＵと同一情報処理装置内にある各ＲＡＭに各グループに対応する読み出し用バッファ及び書き込み用バッファを設けるようにした。しかし、本発明においてはこれに限らず、他の情報処理装置のＲＡＭに他の情報処理装置のＳＰＵに対応する各バッファを設けるようにしても良いし、いずれかのＲＡＭ上に各グループに対応する全ての各バッファを設けるように構成しても良い。
【０１０９】
また、各ワンチップマルチプロセッサ６０，７０，８０，９０は、各々異なる情報処理装置１Ｂ〜１Ｅに備わるように構成したが、１つの情報処理装置内に備わるように構成しても良い。
【０１１０】
上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論である。
【産業上の利用可能性】
【０１１１】
本発明は、マルチプロセッサを用いて、不揮発性ストレージに記憶されている複数のファイルを処理する情報処理技術に用いて好適である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の一実施例に係る情報処理装置の内部構成を例示するブロック図である。
【図２】同実施例に係るプロセッサ管理テーブルを例示する図である。
【図３】同実施例に係るメインプロセッサの動作の流れを例示するフローチャートである。
【図４】同実施例に係るファイル情報エリアに記憶される情報を例示する図である。
【図５】同実施例に係るバッファ管理エリアに記憶される情報を例示する図である。
【図６】同実施例に係るサブプロセッサの動作の流れを例示するフローチャートである。
【図７】本発明の他の実施例に係る情報処理装置の内部構成を例示するブロック図である。
【図８】同実施例に係るファイル前管理テーブルを例示する図である。
【図９】本発明の他の実施例に係る情報処理装置の内部構成を例示するブロック図である。
【図１０】同実施例に係るネットワーク管理テーブルを例示する図である。
【図１１】同実施例に係るグループ分けしたファイルのファイルＩＤと、当該ファイルの記憶されている不揮発性ストレージのメモリＩＤと、サブプロセッサのプロセッサＩＤと、グループＩＤとの対応関係を例示する図である。
【図１２】本発明の他の実施例に係るマルチプロセッサの内部構成を例示するブロック図である。
【符号の説明】
【０１１３】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅ・・・情報処理装置、２・・・ワンチップマルチロプロセッサ、３，３ａ，３ｂ，３ｃ，３ｄ，３ｅ，３ｆ，３ｇ，３ｈ，４２，４３，６０ｂ，６０ｃ，６０ｄ，６０ｅ，６０ｆ，６０ｇ，７０ｂ，７０ｃ，８０ｂ，８０ｃ，９０ｂ，９０ｃ・・・サブプロセッサ、４，４ａ，４ｂ，４ｃ，４ｄ，４ｅ，４ｆ，４ｇ，４ｈ，９・・・プロセッサコア、５，５ａ，５ｂ，５ｃ，５ｄ，５ｅ，５ｆ，５ｇ，５ｈ・・・ローカルストレージ、６，６ａ，６ｂ，６ｃ，６ｄ，６ｅ，６ｆ，６ｇ，６ｈ，１２・・・メモリフローコントローラ、７，７ａ，７ｂ，７ｃ，７ｄ，７ｅ，７ｆ，７ｇ，７ｈ，１３・・・ダイレクト・メモリ・アクセス・コントローラ、８，４１，６０ａ，７０ａ，８０ａ，９０ａ・・・メインプロセッサ、１０・・・Ｌ１キャッシュ、１１・・・Ｌ２キャッシュ、１５・・・メモリコントローラ、１６，４６，６１，７１，８１，９１・・・ＲＡＭ、１７・・・入出力インタフェース、１８・・・サウスブリッジ、２０・・・フラッシュメモリ、３１・・・フラッシュメモリコントローラ，６４，７４，８４，９６・・・ストレージコントローラ、３２・・・ＤＶＤ、３３・・・ＨＤ、４８，４９，５０，５１，６３，７３，８３，９３，９４，９５・・・不揮発性ストレージ、４７，６２，７２，８２，９２・・・ブリッジ、１６０・・・プロセッサ管理テーブル、４６０・・・ファイル前管理テーブル、Ｎ・・・スイッチングネットワーク、Ｓ・・・情報処理システム、ＮＴＴＢＬ・・・ネットワーク管理テーブル
【図１】
0004727480.tif 000002
【図２】
0004727480.tif 000003
【図３】
0004727480.tif 000004
【図４】
0004727480.tif 000005
【図５】
0004727480.tif 000006
【図６】
0004727480.tif 000007
【図７】
0004727480.tif 000008
【図８】
0004727480.tif 000009
【図９】
0004727480.tif 000010
【図１０】
0004727480.tif 000011
【図１１】
0004727480.tif 000012
【図１２】
0004727480.tif 000013