JP2007265143A - Information processing method, information processing system, information processor, multiprocessor, information processing program, and computer-readable storage medium storing information processing program - Google Patents

Information processing method, information processing system, information processor, multiprocessor, information processing program, and computer-readable storage medium storing information processing program Download PDF

Info

Publication number
JP2007265143A
JP2007265143A JP2006090785A JP2006090785A JP2007265143A JP 2007265143 A JP2007265143 A JP 2007265143A JP 2006090785 A JP2006090785 A JP 2006090785A JP 2006090785 A JP2006090785 A JP 2006090785A JP 2007265143 A JP2007265143 A JP 2007265143A
Authority
JP
Japan
Prior art keywords
file
processor
processors
processing
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006090785A
Other languages
Japanese (ja)
Other versions
JP4727480B2 (en
Inventor
Chisato Numaoka
千里 沼岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006090785A priority Critical patent/JP4727480B2/en
Publication of JP2007265143A publication Critical patent/JP2007265143A/en
Application granted granted Critical
Publication of JP4727480B2 publication Critical patent/JP4727480B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing technique capable of shortening processing time or improving processing efficiency in processing of a plurality of files by further effectively utilizing parallel processing property by a multiprocessor. <P>SOLUTION: A PU 8 divides, upon receipt of processing instruction to processing object files stored in a flash memory 20, the processing object files into groups. The PU 8 assigns a reading buffer and a writing buffer for each group to a RAM 16, and assigns each SPU 3a-3h to each group. The PU 8 reads all the processing object files from an HD 33 to each reading buffer corresponding to each group. The PU makes each SPU 3a-3h perform processing to each processing object file read to each reading buffer, and write the processed file to each writing buffer. The PU 8 writes the processed file written to each writing buffer by each SPU 3a-3h to the HD 33. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、マルチプロセッサを用いて、不揮発性ストレージに記憶されている複数のファイルを処理する情報処理技術に関する。 The present invention relates to an information processing technique for processing a plurality of files stored in a non-volatile storage using a multiprocessor.

近年、ハードディスクなどの不揮発性ストレージが安価になり、大容量化している。また、ネットワークを介して音楽ファイルをダウンロードしたり、CD(Compact Disk)に記憶されたデータファイルをリッピングしたり、ディジタルスティルカメラやビデオカメラで撮影された画像ファイルを編集したりすることが普及している。このような状況に伴い、大量のファイルを不揮発性ストレージ内に保持することが一般的になされるようになっている。このようなファイルの利用の増加に伴い、ファイルに対する以下のような処理がますます要求されてきている。例えば、ビデオコーデックやオーディオコーデックが複数存在するために、一つのコーデックから他のコーデックへ変換する処理や、ファイルに対してウィルススキャンを行う処理、ファイルの安全性確保のためにファイルを一括で暗号化する処理などである。   In recent years, non-volatile storage such as hard disks has become cheaper and larger in capacity. Also, downloading music files over a network, ripping data files stored on CDs (Compact Disk), and editing image files taken with digital still cameras and video cameras have become widespread. ing. Along with such a situation, a large number of files are generally held in a nonvolatile storage. As the use of such files increases, the following processing for files has been increasingly required. For example, because there are multiple video codecs and audio codecs, processing to convert from one codec to another, processing to scan files for viruses, and encrypting files in a batch to ensure file safety For example.

例えば、このような処理を複数のファイルに対して一括して行う方法がある。例えば、マイクロソフト社のWINDOWS(登録商標)などでは、フォルダに含まれる全てのファイルをフォルダ単位で暗号化する手段が提供されている。このような手段としてシングルプロセッサとマルチプロセッサとが挙げられる。前者の場合、1つのプロセッサが、ファイルを不揮発性ストレージから逐次的に読み出し、これを暗号化する処理を行い、暗号化したファイルを不揮発性ストレージに再び書き込む処理を行う。この場合には、シングルプロセッサの処理能力に限界があるため、例えばマルチスレッド技術を用いて処理の並列化を図ったとしても、スイッチング時間などを考慮すると、並列化による処理時間の短縮や処理効率の向上はあまり見込むことはできない。   For example, there is a method of performing such processing on a plurality of files at once. For example, WINDOWS (registered trademark) of Microsoft Corporation provides a means for encrypting all files included in a folder on a folder basis. Examples of such means include a single processor and a multiprocessor. In the former case, one processor sequentially reads a file from the non-volatile storage, performs a process of encrypting the file, and performs a process of rewriting the encrypted file in the non-volatile storage. In this case, since the processing capacity of a single processor is limited, for example, even if parallel processing is attempted using multithread technology, considering the switching time etc., processing time reduction and processing efficiency due to parallelization are considered. I cannot expect much improvement.

一方、後者の場合、複数のファイルを不揮発性ストレージから次々と読み出し、これを複数のプロセッサに割り当てて、各プロセッサを並列処理させることができる。この場合、まず、ファイルを読み出しこれをプロセッサに割り当てるという処理が逐次的に行われる。このような処理を行うマルチプロセッサは、例えば、特許文献1に開示されている。   On the other hand, in the latter case, a plurality of files can be read from the non-volatile storage one after another and assigned to a plurality of processors so that the processors can be processed in parallel. In this case, first, a process of reading a file and assigning it to a processor is sequentially performed. A multiprocessor that performs such processing is disclosed in Patent Document 1, for example.

特開2005ー251163号公報JP-A-2005-251163

しかしながら、このようなマルチプロセッサにおいては、各ファイルを不揮発性ストレージから読み出す間、プロセッサを同期待ち合わせさせる必要がある。このような同期待ち合わせが頻繁に発生することにより、処理効率の低下や処理時間の延長を招く恐れがある。また、複数のプロセッサが不揮発性ストレージを共用する構成のマルチプロセッサにおいては、各プロセッサによる並列処理が行われる際に、不揮発性ストレージを同期させる必要がある。このため、ボトルネックがかなり生じることにより、処理効率の低下や処理時間の延長を招く恐れがある。   However, in such a multiprocessor, it is necessary to cause the processor to wait for synchronization while reading each file from the nonvolatile storage. If such synchronization waiting frequently occurs, there is a possibility that the processing efficiency is lowered and the processing time is extended. Further, in a multiprocessor having a configuration in which a plurality of processors share nonvolatile storage, it is necessary to synchronize the nonvolatile storage when parallel processing is performed by each processor. For this reason, a considerable bottleneck may cause a reduction in processing efficiency and an increase in processing time.

従って、マルチプロセッサを用いて複数のファイルに対して並列処理を行ったとしても、その並列処理性を有効に活かせず、処理時間の短縮や処理時間の向上を図ることは困難であった。   Therefore, even if parallel processing is performed on a plurality of files using a multiprocessor, it is difficult to effectively utilize the parallel processing performance and to shorten the processing time or improve the processing time.

そこで、本発明は上述の課題に鑑みてなされたものであり、マルチプロセッサによる並列処理性をより有効に活かして、複数のファイルを処理する際の処理時間の短縮や処理効率の向上が可能な情報処理技術を提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems, and can effectively reduce the processing time and improve the processing efficiency when processing a plurality of files by making more effective use of parallel processing by a multiprocessor. An object is to provide information processing technology.

本発明では、メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う場合、前記プロセッサのうち1つのプロセッサが、前記複数の処理対象ファイルを複数のファイル群に分け、分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当て、各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する。また、前記1つのプロセッサが、前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示し、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する。   In the present invention, when a multiprocessor including a main memory and a plurality of processors performs a predetermined process on a plurality of processing target files stored in a nonvolatile storage connected to the multiprocessor, One processor divides the plurality of processing target files into a plurality of file groups, assigns each divided file group to at least one target processor among the plurality of processors, and reads each corresponding to each file group A buffer is set in the main memory. A storage controller in which the one processor instructs a target processor to which the file group is assigned to start a processing program for performing the predetermined processing, and controls reading and writing of data with respect to the nonvolatile storage Is instructed to read out the processing target file stored in the nonvolatile storage to the reading buffer set in the main memory in association with the file group to which the processing target file belongs.

尚、前記処理対象ファイルをファイル群に分ける数は、前記マルチプロセッサの有するプロセッサの数と同じであっても良いし、前記プロセッサの数より多くても少なくても良い。   The number of files to be processed divided into file groups may be the same as the number of processors included in the multiprocessor, or may be more or less than the number of processors.

また、前記ファイル群を割り当てる対象プロセッサとして、前記複数の処理対象ファイルを複数のファイル群に分けた前記1つのプロセッサを含んでも良いし、含まなくても良い。   The target processor to which the file group is assigned may or may not include the one processor in which the plurality of processing target files are divided into a plurality of file groups.

また、前記1つのプロセッサは、メインプロセッサとして機能させるプロセッサであり、前記対象プロセッサは、サブプロセッサとして機能させるプロセッサであっても良い。   The one processor may be a processor that functions as a main processor, and the target processor may be a processor that functions as a sub processor.

本発明によれば、不揮発性ストレージに記憶された複数の処理対象ファイルを読み出す際の時間を短縮することができ、処理時間の短縮や、処理効率の向上を図ることができる。   ADVANTAGE OF THE INVENTION According to this invention, the time at the time of reading the several process object file memorize | stored in the non-volatile storage can be shortened, processing time can be shortened and processing efficiency can be improved.

以下、図面を参照して本発明の実施例について説明する。なお、各図において共通する部分には、同一の符号が付されている。また、かかる実施例は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。   Embodiments of the present invention will be described below with reference to the drawings. In addition, the same code | symbol is attached | subjected to the common part in each figure. Moreover, this Example shows one aspect | mode of this invention, This invention is not limited, It can change arbitrarily in the scope of the present invention.

[実施例1]
(1)構成
<情報処理装置の構成>
図1は、本実施例に係る情報処理装置1の内部構成を例示するブロック図である。
[Example 1]
(1) Configuration <Configuration of information processing apparatus>
FIG. 1 is a block diagram illustrating the internal configuration of the information processing apparatus 1 according to this embodiment.

情報処理装置1は、ワンチップマルチプロセッサ2と、メインメモリとして用いるRAM(Random Access Memory)16と、サウスブリッジ18と、ネットワークインタフェース19と、フラッシュメモリ20と、フラッシュメモリコントローラ31と、DVD(Digital Versatile Disk)ドライバ21と、USB(Universal Serial Bus)22と、グラフィックカード24と、ADC(analog digital converter)27と、RF(Radio Frequency)処理部28とから構成される。また、図示しないが、ユーザからの指示が入力される入力装置が情報処理装置1に接続される。   The information processing apparatus 1 includes a one-chip multiprocessor 2, a RAM (Random Access Memory) 16 used as a main memory, a south bridge 18, a network interface 19, a flash memory 20, a flash memory controller 31, and a DVD (Digital A Versatile Disk (USB) driver 21, a USB (Universal Serial Bus) 22, a graphic card 24, an ADC (analog digital converter) 27, and an RF (Radio Frequency) processing unit 28 are included. Although not shown, an input device for inputting an instruction from the user is connected to the information processing device 1.

フラッシュメモリコントローラ31は、フラッシュメモリ20に対するデータの読み出し及びデータの書き込みを制御する。フラッシュメモリ20には、オペレーティングシステムや、後述する暗号化プログラムなど各種プログラムや、各種ファイルが記憶されている。   The flash memory controller 31 controls data reading and data writing to the flash memory 20. The flash memory 20 stores an operating system, various programs such as an encryption program described later, and various files.

RAM16には、ワンチップマルチプロセッサ2によって実行される各種プログラムや、各種プログラムの実行時に用いられる各種データや、後述する各種テーブルが記憶される。   The RAM 16 stores various programs executed by the one-chip multiprocessor 2, various data used when executing the various programs, and various tables described later.

グラフィックカード24は、画像処理機能を実現させるためのカードであり、フレームメモリ25を内蔵し、モニタ装置26と接続される。グラフィックカード24は、ワンチップマルチプロセッサ2の制御の下、フレームメモリ25に画像を描画し、描画した画像をモニタ装置26に表示させる。   The graphic card 24 is a card for realizing an image processing function, and has a built-in frame memory 25 and is connected to a monitor device 26. The graphic card 24 draws an image in the frame memory 25 under the control of the one-chip multiprocessor 2 and causes the monitor device 26 to display the drawn image.

RF処理部28は、ダウンコンバータ29を備え、アンテナ30を介して外部装置との無線通信を制御する。ADC27は、RF処理部28から供給されたアナログ信号をデジタル信号に変換し、これをワンチップマルチプロセッサ2に供給する。   The RF processing unit 28 includes a down converter 29 and controls wireless communication with an external device via the antenna 30. The ADC 27 converts the analog signal supplied from the RF processing unit 28 into a digital signal, and supplies this to the one-chip multiprocessor 2.

DVDドライバ21は、ワンチップマルチプロセッサ2の制御の下、ディスク装着部(図示せず)に装着されたDVD−ROM(Digital Versatile Disk Read Only Memory)やDVD−RAM(Digital Versatile Disk Random Access Memory)などのDVD32に対するデータの読み出し及びデータの書き込みを制御する。   The DVD driver 21 is a DVD-ROM (Digital Versatile Disk Random Access Memory) or DVD-RAM (Digital Versatile Disk Random Access Memory) mounted on a disk mounting unit (not shown) under the control of the one-chip multiprocessor 2. The reading and writing of data to the DVD 32 are controlled.

USB22は、ワンチップマルチプロセッサ2の制御の下、コントローラ23を介して各種周辺機器を制御する。コントローラ23には、HD(Hard Disc)33等の各種記憶装置や各種記憶媒体が接続される。コントローラ23は、ハードディスクコントローラとして機能し、HD33に対するデータの読み出し及びデータの書き込みを制御する。HD33には、後述する暗号化処理の対象となるファイルが記憶されている。各ファイルには、これらを一意に識別可能なファイルIDが割り当てられている。尚、各ファイルは、例えばテキストファイルや、音楽ファイル、画像ファイルなどの任意の様々なファイルであって良い。   The USB 22 controls various peripheral devices via the controller 23 under the control of the one-chip multiprocessor 2. Various storage devices such as HD (Hard Disc) 33 and various storage media are connected to the controller 23. The controller 23 functions as a hard disk controller and controls data reading and data writing to the HD 33. The HD 33 stores a file to be encrypted later. Each file is assigned a file ID that can uniquely identify these files. Each file may be any various file such as a text file, a music file, and an image file.

ネットワークインタフェース19は、ワンチップマルチプロセッサ2の制御の下、インターネットやLANなどのネットワークを介したデータ通信を制御する。   The network interface 19 controls data communication via a network such as the Internet or a LAN under the control of the one-chip multiprocessor 2.

<ワンチップマルチプロセッサの構成>
ワンチップマルチプロセッサ2は、メインプロセッサ(PU:Main Processor Unit)8と、8つのサブプロセッサ(SPU:Sub Processor Unit)3a〜3hと、入出力インタフェース(Input/Output Interface)17と、メモリコントローラ(MC:Memory Controller)15とから構成される。これらは、各々リングバス14に接続され、並列動作可能である。
<Configuration of one-chip multiprocessor>
The one-chip multiprocessor 2 includes a main processor (PU) 8, eight sub processors (SPUs) 3a to 3h, an input / output interface (Input / Output Interface) 17, and a memory controller ( MC: Memory Controller) 15. These are each connected to the ring bus 14 and can operate in parallel.

PU8とSPU3a〜3hとは、それぞれ異なる命令セットを有する命令セットアーキテクチャである。PU8は、各SPU3a〜3hの動作を制御し、各SPU3a〜3hは、PU8の制御の下、並列的且つ独立に各種処理を実行する。PU8は、割り込みを全て受け付けるが、SPU3a〜3hは割り込みを受け付けない。SPU3a〜3hに対して割り込みがかけられた場合、PU8がその割り込みに対する処理を行う。これらの各プロセッサには、ワンチップマルチプロセッサ2内で一意に識別可能なプロセッサIDが各々割り当てられている。サブプロセッサ(SPU)のプロセッサIDについては、例えば、図2に示されるように、RAM16のプロセッサ管理テーブル160に各々記憶される。この管理テーブル160では、プロセッサIDは、後述するグループIDと対応付けられて記憶される。尚、ここでは説明の便宜上各プロセッサIDは、各SPU3a〜3hに付与された符号と同一のものを用いる。   The PU 8 and the SPUs 3a to 3h are instruction set architectures having different instruction sets. The PU 8 controls the operations of the SPUs 3a to 3h, and the SPUs 3a to 3h execute various processes in parallel and independently under the control of the PU 8. The PU 8 accepts all interrupts, but the SPUs 3a to 3h do not accept interrupts. When an interrupt is applied to the SPUs 3a to 3h, the PU 8 performs processing for the interrupt. Each of these processors is assigned a processor ID that can be uniquely identified in the one-chip multiprocessor 2. The processor ID of the sub processor (SPU) is stored in the processor management table 160 of the RAM 16 as shown in FIG. 2, for example. In the management table 160, the processor ID is stored in association with a group ID described later. Here, for convenience of explanation, the same processor ID is used for each processor ID assigned to each of the SPUs 3a to 3h.

PU8は、プロセッサコア(Core)9と、DMAC(Direct Memory Access Controller)13を有するメモリフローコントローラ(MFC:Memory flow Controller)12と、L1キャッシュ10と、L2キャッシュ11とから構成される。   The PU 8 includes a processor core 9, a memory flow controller (MFC) 12 having a DMAC (Direct Memory Access Controller) 13, an L1 cache 10, and an L2 cache 11.

SPU3aは、プロセッサコア4aと、ローカルストレージ(LS:Local Storage)5aと、DMAC7aを内蔵するMFC6aとから構成される。   The SPU 3a includes a processor core 4a, a local storage (LS) 5a, and an MFC 6a incorporating a DMAC 7a.

LS5aは、キャッシュとは異なり、キャッシュ・コヒーレンシー、即ちキャッシュの整合性のサポートを必要としない。LS5aは、DRAM(Dynamic Random Access Memory)として構成されることが好適である。このLS5aには、PU8からの制御命令に従い、各種プログラムがロードされる。   Unlike the cache, the LS 5a does not require support for cache coherency, ie cache coherency. The LS 5a is preferably configured as a DRAM (Dynamic Random Access Memory). Various programs are loaded into the LS 5a in accordance with control commands from the PU 8.

DMAC7aは、SPU3aの制御の下、RAM16に記憶されている各種プログラム及び各種データにアクセスする。即ち、SPU3aは、RAM16にアクセスする際には、PU8を介さず、DMAC7aを有するMFC6aに読み出し又は書き込み命令を出し、MFC6aを介してRAM16から各種プログラム及び各種データの読み出し又は書き込みを行う。読み出し又は書き込み命令には、SPU3aのプロセッサIDと、RAM16上のアクセス要求先のアドレスが含まれる。   The DMAC 7a accesses various programs and various data stored in the RAM 16 under the control of the SPU 3a. That is, when accessing the RAM 16, the SPU 3a issues a read or write command to the MFC 6a having the DMAC 7a without using the PU 8, and reads or writes various programs and various data from the RAM 16 via the MFC 6a. The read or write command includes the processor ID of the SPU 3a and the address of the access request destination on the RAM 16.

尚、SPU3b〜3hについてもSPU3aの構成と略同様であるため、その説明を省略する。以降、SPU3a〜3hについて、区別して記載する必要がない場合には、単に、SPU3と記載する。また、各SPUを区別して記載する必要があり、各SPUの各構成要素について区別して記載する必要がある場合には、各々符号の後ろにa〜hを付記する。   Note that the SPUs 3b to 3h are substantially the same as the configuration of the SPU 3a, and thus the description thereof is omitted. Hereinafter, when it is not necessary to distinguish between the SPUs 3a to 3h, they are simply referred to as SPU3. Moreover, it is necessary to distinguish and describe each SPU, and when it is necessary to distinguish and describe each component of each SPU, a to h are added to the end of each symbol.

MC15は、RAM16に接続され、PU8及び各SPU3a〜3hのRAM16へのアクセスを仲介する。   MC15 is connected to RAM16 and mediates access to RAM16 of PU8 and each SPU3a-3h.

入出力インタフェース17は、サウスブリッジ18と、グラフィックスカード24と、RF(Radio Frequency)処理部28に接続されたADC27と接続される。入出力インタフェース17は、PU8やSPU3が外部装置を制御したり、外部装置との間でデータを送受信したりすることを制御する。   The input / output interface 17 is connected to the south bridge 18, the graphics card 24, and an ADC 27 connected to an RF (Radio Frequency) processing unit 28. The input / output interface 17 controls the PU 8 and the SPU 3 to control the external device and to transmit / receive data to / from the external device.

サウスブリッジ18は、ネットワークインタフェース19、フラッシュメモリ20に接続されたフラッシュメモリコントロール31と、DVDドライバ21、USB(Universal Serial Bus)22と接続され、これらとの間でデータの中継を行う。   The south bridge 18 is connected to a network interface 19, a flash memory control 31 connected to the flash memory 20, a DVD driver 21, and a USB (Universal Serial Bus) 22, and relays data between them.

<機能的構成>
次に、ワンチップマルチプロセッサ2の機能的構成について説明する。本実施例においては、フラッシュメモリ20に記憶されたオペレーティングシステムやアプリケーションプログラムをPU8が実行し、この処理の実行過程においてPU8の制御命令に従って各SPU3a〜3hが各種処理を行うことにより、以下の機能が実現される。
<Functional configuration>
Next, the functional configuration of the one-chip multiprocessor 2 will be described. In this embodiment, the PU 8 executes the operating system and application program stored in the flash memory 20, and the SPUs 3a to 3h perform various processes in accordance with the control instructions of the PU 8 in the execution process of the process, and the following functions are performed. Is realized.

PU8は、HD33に記憶されたファイルに対する暗号化処理などの処理命令がなされると、処理対象のファイルをグループ分けする。そして、RAM16にグループ毎の読み出し用バッファ及び書き込み用バッファを割り当てる共に、各グループに各SPU3a〜3hを割り当てる。そして、PU8は、コントローラ23に対し、処理対象の全てのファイルを、各グループに対応する各読み出し用バッファにフラッシュメモリ20から読み出すよう命令を出す。コントローラ23は、当該命令に従い、処理対象の全てのファイルを、各グループに対応する各読み出し用バッファにHD33から読み出す。そして、PU8は、各読み出し用バッファに読み出されたファイルに対する処理を各SPU3a〜3hに行わせると共に、処理後のファイルを各書き込み用バッファに書き込ませる。次いで、PU8は、コントローラ23に対し、各SPU3a〜3hによって書き込み用バッファに書き込まれた処理後のファイルをHD33に書き込むよう命令を出す。コントローラ23は、当該命令に従い、各SPU3a〜3hによって書き込み用バッファに書き込まれた処理後のファイルをHD33に書き込む。   When a processing command such as encryption processing is performed on the file stored in the HD 33, the PU 8 groups the files to be processed. Then, a read buffer and a write buffer for each group are allocated to the RAM 16, and each SPU 3a to 3h is allocated to each group. Then, the PU 8 instructs the controller 23 to read all the files to be processed from the flash memory 20 to each read buffer corresponding to each group. The controller 23 reads all files to be processed from the HD 33 to each read buffer corresponding to each group in accordance with the instruction. Then, the PU 8 causes the SPUs 3a to 3h to perform processing on the file read to each read buffer, and causes the processed file to be written to each write buffer. Next, the PU 8 instructs the controller 23 to write the processed file written in the write buffer by the SPUs 3 a to 3 h to the HD 33. The controller 23 writes the processed file written in the write buffer by the SPUs 3a to 3h to the HD 33 in accordance with the instruction.

(2)動作
次に、本実施例に係る動作について図3を参照しながら説明する。本実施例においては、不揮発性ストレージの一例としてHD33に記憶された複数のファイルに対し暗号化処理を行う動作について説明する。
(2) Operation Next, the operation according to the present embodiment will be described with reference to FIG. In the present embodiment, an operation for performing encryption processing on a plurality of files stored in the HD 33 as an example of nonvolatile storage will be described.

尚、情報処理装置1に主電源が投入されると、PU8は、オペレーティングシステム等の各種制御プログラム、および暗号化プログラム等の各種アプリケーションプログラムをRAM16にロードする。プログラムのロード手順としては、PU8は、入出力インタフェース17及びサウスブリッジ18を介してフラッシュメモリコントローラ31に対しプログラムの読出命令を出し、当該命令に従い、フラッシュメモリコントローラ31はフラッシュメモリ20からプログラムを読み出し、次に、PU8は、MC15介して当該プログラムをRAM16に書き込む。PU8は、RAM16にロードされた制御プログラムを実行することにより、情報処理装置1の各部を制御する。また、各種アプリケーションプログラムを実行することにより、各種機能を実現させる。   When the main power is turned on to the information processing apparatus 1, the PU 8 loads various control programs such as an operating system and various application programs such as an encryption program into the RAM 16. As a program loading procedure, the PU 8 issues a program read command to the flash memory controller 31 via the input / output interface 17 and the south bridge 18, and the flash memory controller 31 reads the program from the flash memory 20 according to the command. Next, the PU 8 writes the program into the RAM 16 via the MC 15. The PU 8 controls each unit of the information processing apparatus 1 by executing a control program loaded in the RAM 16. Various functions are realized by executing various application programs.

ここで、PU8がアプリケーションプログラムを実行している際に、HD33に記憶された複数のファイルを一括して暗号化する処理を行う指示が、入力装置を介してユーザから入力された場合、PU8は、当該指示に応じた指示信号を、USB22、サウスブリッジ18、入出力インタフェース17を介して受信する。そして、PU8は、当該指示信号に従い、入出力インタフェース17、サウスブリッジ18を介して暗号化プログラムをフラッシュメモリ20から読み出し、MC15を介して当該プログラムをRAM16にロードする。   Here, when the PU 8 is executing an application program, if an instruction to perform a process of collectively encrypting a plurality of files stored in the HD 33 is input from the user via the input device, the PU 8 The instruction signal corresponding to the instruction is received via the USB 22, the south bridge 18, and the input / output interface 17. Then, the PU 8 reads the encrypted program from the flash memory 20 via the input / output interface 17 and the south bridge 18 in accordance with the instruction signal, and loads the program into the RAM 16 via the MC 15.

そして、図3のステップS1に示されるように、PU8は、まず、処理を行うことが可能なプロセッサの総数を計数する。ここでは、この数は、ワンチップマルチプロセッサ2の有するサブプロセッサの総数である。具体的には、RAM16に記憶されている管理テーブル160を参照し、当該管理テーブル160に記憶されているプロセッサIDに基づき、サブプロセッサの数を計数する。あるいは、レジスタ(図示せず)が、RAM16やフラッシュメモリ20等のメモリの一部に、現在処理を実行可能なサブプロセッサの数を常に記録するように構成し、この数を「処理を行うことが可能なプロセッサの総数」として用いても良い。又、サブプロセッサのスケジューラが、処理を実行可能なサブプロセッサの数を管理するように構成し、この数を「処理を行うことが可能なプロセッサの総数」として用いても良い。次に、PU8は、HD33に記憶された処理対象のファイルを特定し、特定した各ファイルのファイルID及びファイルサイズを検出する。   Then, as shown in step S1 of FIG. 3, the PU 8 first counts the total number of processors that can perform processing. Here, this number is the total number of sub-processors that the one-chip multiprocessor 2 has. Specifically, the management table 160 stored in the RAM 16 is referred to, and the number of sub processors is counted based on the processor ID stored in the management table 160. Alternatively, a register (not shown) is configured to always record the number of sub-processors that can execute the current processing in a part of the memory such as the RAM 16 or the flash memory 20, May be used as the “total number of processors capable of processing”. Alternatively, the sub processor scheduler may be configured to manage the number of sub processors capable of executing processing, and this number may be used as the “total number of processors capable of performing processing”. Next, the PU 8 specifies a file to be processed stored in the HD 33, and detects the file ID and file size of each specified file.

次いで、PU8は、以下の算式(1)により、処理対象のファイルをグループ分けするグループ数を算出する(ステップS2)。
(グループ数)=MAX(1,FLOOR((処理を行うことが可能なサブプロセッサの総数)÷(処理の並列度)))・・・・・算式(1)
ここで、FLOOR(X)は、”X”を超えない最大の整数を返す関数である。MAX(1,Y)は、”1”と”Y”とのうちいずれか大きい数を返す関数である。「処理の並列度」は、処理の実行が、並列動作可能な複数のプログラムを実行することにより実現される場合、そのプログラムの数を示す。処理の実行が、1つのプログラムを実行することにより実現される場合には、「処理の並列度」は”1”となる。即ち、ステップS2では、処理を行うために実行される処理プログラムの並列実行可能性を考慮して、処理を行うことが可能なサブプロセッサの数を決定し、決定した数のグループに処理対象のファイルを分ける。
Next, the PU 8 calculates the number of groups into which the files to be processed are grouped by the following formula (1) (step S2).
(Number of groups) = MAX (1, FLOOR ((total number of sub-processors capable of performing processing) / (parallel degree of processing))) (1)
Here, FLOOR (X) is a function that returns the maximum integer that does not exceed “X”. MAX (1, Y) is a function that returns a larger number of “1” and “Y”. “Processing parallelism” indicates the number of programs when the execution of the processing is realized by executing a plurality of programs capable of operating in parallel. When the execution of processing is realized by executing one program, the “degree of parallelism of processing” is “1”. That is, in step S2, the number of sub-processors that can perform processing is determined in consideration of the parallel execution possibility of the processing program executed for processing, and the processing target is assigned to the determined number of groups. Separate files.

本実施例においては、処理を行うことが可能なサブプロセッサは、SPU3a〜3hであるから、「処理を行うことが可能なサブプロセッサの総数」は”8”である。また、上記暗号化処理を行うために実行される暗号化プログラムが1つであり、並列処理を必要としないものとするため、「処理の並列度」は”1”である。   In the present embodiment, the sub processors that can perform processing are SPUs 3a to 3h, and therefore, “the total number of sub processors that can perform processing” is “8”. In addition, since the number of encryption programs executed for performing the encryption processing is one and no parallel processing is required, the “parallel degree of processing” is “1”.

従って、本実施例において「グループ数」は”8”となる。ステップS3では、「グループ数」が”1”より大きいか否かを判定し、”1”より小さい場合には、以下に説明するグループ分けを行わず、ステップS12に進む。ここでは、「グループ数」は”1”より大きいため、ステップS3の判定結果が肯定的となり、PU8は、次にステップS4の処理を行う。ステップS4では、PU8は、処理対象ファイルを8個のグループに分け、各々のファイルに対してグループIDを割り当てる。尚、処理対象ファイルをグループに分ける場合、グループ毎の処理量が略同量となるように、グループ毎の処理量を均等化して、各グループへファイルを配分することが望ましい。具体的には、各グループへのファイルの配分については、ファイルサイズによるものと、ファイル数によるものとがある。ファイルサイズによりファイルを配分する場合、各グループに属するファイルのファイルサイズの合計が略同量となるように、即ちファイルサイズを均等化して配分する。尚、各グループに属するファイルのファイルサイズの合計は必ずしも同量でなくても良い。ファイル数によりファイルを配分する場合、各グループに属するファイルのファイル数の合計が略同量となるように、即ちファイル数を均等化して配分する。尚、各グループに属するファイルのファイル数の合計は必ずしも同量でなくても良い。本願発明においては、いずれの方法で配分しても良い。本実施例においては、ファイル数により配分するものとする。例えば、処理対象のファイルが8個ある場合、各グループには1個ずつファイルを配分する。具体的には、ファイルID”File1”のファイルに対し、グループID”Group1”のグループを割り当て、同様にして、ファイルID”File2”〜”File8”の各ファイルに対し、グループID”Group2”〜”Group8”の各グループを割り当てる。また、PU8は、RAM16に、各グループに属する各ファイルの情報を管理するための領域(以降、ファイル情報エリアという)を設ける。例えば図4に示されるように、PU8は、ファイル情報エリアに、ステップS1で検出したファイルID及びファイルサイズと、ステップS4で割り当てたグループのグループIDとをファイル毎に書き込む。   Therefore, in this embodiment, the “number of groups” is “8”. In step S3, it is determined whether or not the “number of groups” is larger than “1”. If it is smaller than “1”, the grouping described below is not performed, and the process proceeds to step S12. Here, since the “number of groups” is larger than “1”, the determination result of step S3 becomes affirmative, and the PU 8 next performs the process of step S4. In step S4, the PU 8 divides the processing target file into eight groups, and assigns a group ID to each file. In addition, when dividing a process object file into a group, it is desirable to equalize the processing amount for every group and distribute a file to each group so that the processing amount for every group may become substantially the same amount. Specifically, the file distribution to each group is based on the file size and on the number of files. When allocating files according to file size, the files belonging to each group are allocated so that the total file size is substantially the same, that is, the file sizes are equalized. Note that the total file size of files belonging to each group does not necessarily have to be the same. When allocating files according to the number of files, the total number of files belonging to each group is substantially equal, that is, the number of files is equalized. Note that the total number of files belonging to each group is not necessarily the same. In this invention, you may distribute by any method. In this embodiment, distribution is performed according to the number of files. For example, if there are eight files to be processed, one file is allocated to each group. Specifically, a group with a group ID “Group1” is assigned to a file with a file ID “File1”, and similarly, a group ID “Group2” to a file ID “File2” to “File8” is assigned to each file. Assign each group of “Group8”. The PU 8 also provides an area (hereinafter referred to as a file information area) for managing information of each file belonging to each group in the RAM 16. For example, as shown in FIG. 4, the PU 8 writes the file ID and file size detected in step S1 and the group ID of the group assigned in step S4 for each file in the file information area.

また、PU8は、このようにしてグループ分けしたグループにサブプロセッサを対応させる(ステップS5)。具体的には、グループ”Group1”のグループに対し、プロセッサID”3a”のSPU3aを対応させ、同様にして、グループ”Group2”〜”Group8”の各グループに対し、プロセッサID”3b”〜”3h”の各SPU3b〜3hを対応させる。そして、PU8は、例えば図2に示されるように、RAM16に記憶されている管理テーブル160に、各サブプロセッサのプロセッサIDに対応する各グループIDを書き込む。   Further, the PU 8 associates the sub processor with the group thus grouped (step S5). Specifically, the SPU 3a having the processor ID “3a” is associated with the group “Group1”, and similarly, the processor IDs “3b” to “” are assigned to the groups “Group2” to “Group8”. Each SPU 3b-3h of 3h "is made to correspond. Then, for example, as shown in FIG. 2, the PU 8 writes each group ID corresponding to the processor ID of each sub processor in the management table 160 stored in the RAM 16.

次いで、PU8は、RAM16において、HD33からの読み出し用バッファ及びHD33に対する書き込み用バッファをグループ毎に設定する(ステップS6)。例えば、グループID”Group1”のグループに対し、読み出し用バッファとしてメモリーロケーション”MR1”の領域を割り当て、書き込み用バッファとしてメモリーロケーション”MW1”の領域を割り当てる。同様にして、グループID”Group2”〜”Group8”の各グループに対し、読み出し用バッファとしてメモリーロケーション”MR2”〜”MR8”の各領域を割り当て、書き込み用バッファとしてメモリーロケーション”MW2”〜”MW8”の各領域を割り当てる。また、PU8は、RAM16にバッファ管理エリアを設け、図5に示されるように、当該バッファ管理エリアに、各グループに対して割り当てた各バッファの各メモリロケーションを書き込む。尚、各バッファのサイズは、各グループに属するファイルのファイルサイズの総計に対して十分大きいものとする。言い換えると、割り当て可能なバッファのサイズを超えない程度の数に、一度に処理できるファイル数を制限することが望ましい。   Next, the PU 8 sets a buffer for reading from the HD 33 and a buffer for writing to the HD 33 in the RAM 16 for each group (step S6). For example, for the group with the group ID “Group1”, an area of the memory location “MR1” is assigned as a read buffer, and an area of the memory location “MW1” is assigned as a write buffer. Similarly, for each group of group IDs “Group2” to “Group8”, the memory locations “MR2” to “MR8” are allocated as read buffers, and the memory locations “MW2” to “MW8” are used as write buffers. Assign each area. Further, the PU 8 provides a buffer management area in the RAM 16, and writes each memory location of each buffer allocated to each group in the buffer management area as shown in FIG. It is assumed that the size of each buffer is sufficiently larger than the total file size of files belonging to each group. In other words, it is desirable to limit the number of files that can be processed at one time to a number that does not exceed the size of the assignable buffer.

次いで、PU8は、RAM16にロードした暗号処理プログラムの処理スレッドを8個生成し、それぞれの処理スレッドに対し、グループIDを割り当てる(ステップS7)。具体的には、PU8は、各処理スレッドに対し、各グループに対応する各SPU3a〜3hを割り当て、割り当てた各処理スレッドを各SPU3a〜3hのLS5a〜5hに記憶させる。そして、PU8は、各SPUに対し割り当てた各処理スレッドを実行させるよう各SPU3a〜3hに対して命令を出し、各々同期待ち合わせ状態にさせる。   Next, the PU 8 generates eight processing threads of the cryptographic processing program loaded in the RAM 16, and assigns a group ID to each processing thread (step S7). Specifically, the PU 8 assigns the SPUs 3a to 3h corresponding to the groups to the processing threads, and stores the assigned processing threads in the LSs 5a to 5h of the SPUs 3a to 3h. Then, the PU 8 issues an instruction to each of the SPUs 3a to 3h so as to execute each processing thread assigned to each SPU, and sets each of them to a synchronization waiting state.

その後、PU8は、コントローラ23に対し、HD33に記憶されている処理対象の全てのファイルの読み出し命令を出す(ステップS8)。具体的には、各ファイルの先頭ブロック、ブロック数、及び各ファイルのグループID毎に割り当てられた読み出し用バッファにおける書き込み位置を指定し、各ファイルをHD33から読み出してこれを各々対応する読み出し用バッファの書き込み位置へ書き込むことを命令する。尚、グループID毎の読み出し用バッファへの書き込み位置は、各読み出し用バッファに対応する各ファイルの読み出しを命令する際に、当該ファイルを読み出す直前に読み出したファイルのファイルサイズ分だけ増加するように更新される。一方、コントローラ23は、PU8からの読み出し命令に従い、HD33に記憶されている処理対象の全てのファイルを、各々対応する読み出し用バッファに読み出す。   Thereafter, the PU 8 issues a read command for reading all the files to be processed stored in the HD 33 to the controller 23 (step S8). Specifically, the first block of each file, the number of blocks, and the write position in the read buffer assigned for each group ID of each file are designated, each file is read from the HD 33, and this is read buffer corresponding to each. To write to the write position. It should be noted that the write position in the read buffer for each group ID is increased by the file size of the file read immediately before the file is read when the reading of each file corresponding to each read buffer is instructed. Updated. On the other hand, the controller 23 reads all the files to be processed stored in the HD 33 to the corresponding read buffers in accordance with the read command from the PU 8.

また、PU8は、上記読み出し命令と同時に、SPU3a〜3hに対して割り当てられた各処理スレッドの同期待ち合わせ状態を解除し、各SPU3a〜3hに各処理スレッドの実行を開始させる。即ち、PU8は、SPU3a〜3hに一斉に処理スレッドの実行を開始させる。PU8は、アプリケーションプログラムに従い、全ての読み出し命令の実行が完了した時点で、いずれかのSPU3a〜3hからの暗号処理完了通知の同期待ち合わせ状態に入る。   At the same time as the read command, the PU 8 cancels the synchronization waiting state of each processing thread assigned to the SPUs 3a to 3h, and causes each SPU 3a to 3h to start executing each processing thread. That is, the PU 8 causes the SPUs 3a to 3h to start executing the processing thread all at once. In accordance with the application program, the PU 8 enters the synchronization waiting state of the encryption processing completion notification from any of the SPUs 3a to 3h when the execution of all the read instructions is completed.

次に、SPU3の動作について図6を参照しながら説明する。各SPU3a〜3hの行う動作は略同じであるため、SPU3aについてのみ説明する。   Next, the operation of the SPU 3 will be described with reference to FIG. Since the operations performed by the SPUs 3a to 3h are substantially the same, only the SPU 3a will be described.

SPU3aは、自装置に対して割り当てられ且つLS5aに記憶された処理スレッドを実行し(ステップS20)、自装置に対して割り当てられたグループIDに対応する読み出し用バッファからファイルを読み出し(ステップS22)、当該ファイルに対する暗号化処理を開始する(ステップS23)。   The SPU 3a executes the processing thread assigned to the own device and stored in the LS 5a (step S20), and reads the file from the read buffer corresponding to the group ID assigned to the own device (step S22). Then, the encryption process for the file is started (step S23).

具体的には、SPU3aは、DMAC7aを有するMFC6a,MC15を介して、RAM16にアクセスして、ファイル情報エリアに書き込まれた情報を参照し、読み出し用バッファ(ここでは、メモリロケーションが”MR1”の領域である)に記憶されている各ファイルを読み出す。各ファイルを読み出す際には、読み出し用バッファにおいて各ファイルの記憶開始位置(上述した書き込み位置に相当する)から各ファイルのファイルサイズ分のデータを読み出す。読み出し用バッファの記憶開始位置は、ファイルを読み出す毎に、当該ファイルを読み出す直前に読み出したファイルのファイルサイズ分だけ増加するように更新される。これにより、読み出し用バッファ上に記憶されている各ファイルを正確に読み出すことができる。   Specifically, the SPU 3a accesses the RAM 16 via the MFC 6a and MC 15 having the DMAC 7a, refers to the information written in the file information area, and reads the buffer (here, the memory location is “MR1”). Each file stored in (area) is read. When reading each file, data corresponding to the file size of each file is read from the storage start position of each file (corresponding to the write position described above) in the read buffer. Each time a file is read, the storage start position of the read buffer is updated so as to increase by the file size of the file read immediately before reading the file. Thereby, each file memorize | stored on the buffer for reading can be read correctly.

続いて、SPU3aは、このようにして読み出したファイルに対する暗号化処理を行う。そして、当該ファイルに対する暗号化処理が完了すると、次いで、SPU3aは、DMAC7a,MC15を介してRAM16にアクセスして、暗号化処理を行ったファイル(以下、暗号化ファイルという)を、当該SPU3aに割り当てられたグループIDに対応する書き込み用バッファに書き込む(ステップS24)。そして、図4に示されるようなファイル情報エリアに、当該暗号化ファイルを書き込んだ領域の先頭位置(以下、処理後先頭アドレスという)、ファイルサイズ、並びにプロセッサIDを書き込む(ステップS25)。   Subsequently, the SPU 3a performs an encryption process on the file read in this way. When the encryption process for the file is completed, the SPU 3a then accesses the RAM 16 via the DMAC 7a and MC 15, and assigns the file subjected to the encryption process (hereinafter referred to as an encrypted file) to the SPU 3a. The data is written into the write buffer corresponding to the group ID (step S24). Then, in the file information area as shown in FIG. 4, the head position of the area where the encrypted file is written (hereinafter referred to as post-processing head address), the file size, and the processor ID are written (step S25).

以上のようにして、SPU3aはステップS20〜S25の処理をファイル毎に行う。そして、自装置に対して割り当てられた全ての処理対象ファイルに対する暗号化処理が終了すると(ステップS21:YES)、SPU3aは、PU8に対して、暗号化処理の終了を通知する(以下、暗号化処理終了通知という)割り込みを行う(ステップS26)。   As described above, the SPU 3a performs the processing of steps S20 to S25 for each file. When the encryption process for all the processing target files assigned to the own device is completed (step S21: YES), the SPU 3a notifies the PU 8 of the end of the encryption process (hereinafter referred to as encryption). Interruption (referred to as processing end notification) is performed (step S26).

また、SPU3aは、暗号化ファイルの書き込みと同時に、SPU3bに対し、書き込み用バッファMW1においてファイルを書き込んだポジションとそのファイルサイズとを引き渡すと同時に、同期待ち合わせ状態を解除させ、処理を開始させる。   At the same time as the writing of the encrypted file, the SPU 3a delivers to the SPU 3b the position where the file has been written in the write buffer MW1 and the file size, and at the same time releases the synchronization waiting state and starts the process.

他のSPU3b〜3hについても、SPU3aと同様の処理を行う。   For the other SPUs 3b to 3h, the same processing as that for the SPU 3a is performed.

次に、図3に戻り、PU8は、各SPU3a〜3hのいずれかから暗号化処理終了通知を受け取ると(ステップS10:YES)、アプリケーションプログラムに従い、ファイル情報エリアを参照して、書き込みの終了している暗号化ファイルの書き込み用バッファ上の開始アドレスと、当該ファイルのファイルサイズとを読み出し、コントローラ23に対し、HD33へファイルを書き込むよう命令を出す(ステップS11)。尚、書き込みの終了している暗号化ファイルの判別は、例えば、ファイル情報エリアの各ファイルに対応するプロセッサIDや処理後のファイルサイズが書き込まれているか否かを判別することにより行うことができる。一方、コントローラ23は、PU8からの書き込み命令に従い、書き込み用バッファに書き込まれた暗号化処理後のファイルをHD33へ書き込む。   Next, returning to FIG. 3, when the PU 8 receives the encryption processing end notification from any of the SPUs 3 a to 3 h (step S 10: YES), the writing is ended with reference to the file information area according to the application program. The start address on the encrypted file write buffer and the file size of the file are read out, and a command is issued to the controller 23 to write the file to the HD 33 (step S11). Note that the encrypted file that has been written can be determined by, for example, determining whether or not the processor ID corresponding to each file in the file information area and the processed file size are written. . On the other hand, the controller 23 writes the encrypted file written in the write buffer to the HD 33 in accordance with the write command from the PU 8.

また、書込み命令を出す時に、他のSPUからの暗号処理終了通知を受け取った場合、当該通知を受け取る度に、PU8は、ステップS11の処理を行う。書込み命令の実行終了時に、他のSPUからの暗号化処理終了通知を受け取っていない場合には、再び同期待ち合わせ状態とする。そして、ファイル情報エリアにおいて、全てのファイルについて書き込み完了状態になった場合(ステップS9:YES)、PU8は、アプリケーションプログラムに従い、次の処理に移行する。次の処理とは、例えば、暗号化処理が終了した旨を示すメッセージをモニタ26に表示させる等の処理である。   Further, when a cryptographic process end notification is received from another SPU when issuing a write command, the PU 8 performs the process of step S11 each time the notification is received. At the end of execution of the write command, if an encryption processing end notification from another SPU has not been received, the synchronization waiting state is set again. When all files are written in the file information area (step S9: YES), the PU 8 proceeds to the next process according to the application program. The next process is, for example, a process of displaying on the monitor 26 a message indicating that the encryption process has been completed.

尚、ステップS2において算出した「グループ数」が”1”となった場合(ステップS3:NO)、PU8は、オペレーティングシステムに従い、SPU3a〜3hの中から、処理を行うことが可能なサブプロセッサを選択し、選択したサブプロセッサに対し、上記処理対象の全てのファイルに対する暗号化処理を行わせる(ステップS12)。   If the “number of groups” calculated in step S2 is “1” (step S3: NO), the PU 8 selects a sub-processor capable of performing processing from the SPUs 3a to 3h according to the operating system. The selected sub processor is made to perform encryption processing for all the files to be processed (step S12).

また、上述のステップS2でグループ数を算出する際、「処理の並列度」が”1”より大きく且つステップS3の判定結果が肯定的である場合、PU8は、算出したグループ数と同数のサブプロセッサをSPU3a〜3hの中から選択し、選択したサブプロセッサに対し、上述のステップS5〜S11の処理を行う。また、「処理の並列度」が”1”より大きい場合、即ち、処理の実行が、並列動作可能な複数のプログラムを実行することにより実現される場合、PU8は、当該プログラムを実行可能なサブプロセッサに対し当該各プログラムを実行するよう命令を出す。   Further, when the number of groups is calculated in the above-described step S2, if “the degree of parallelism of processing” is greater than “1” and the determination result in step S3 is affirmative, the PU 8 has the same number of sub-groups as the calculated number of groups. A processor is selected from the SPUs 3a to 3h, and the above-described steps S5 to S11 are performed on the selected sub-processor. Further, when “the degree of parallelism” is larger than “1”, that is, when the execution of the processing is realized by executing a plurality of programs capable of operating in parallel, the PU 8 Commands the processor to execute each program.

以上のようにして、メインプロセッサが、処理対象の複数のファイルをグループ分けして、グループ毎に各バッファを割り当てることにより、処理対象の全てのファイルの読み出しを一括して行うことができる。一方、サブプロセッサは、DMACを有することにより、メインプロセッサを介することなく、各バッファへアクセスすることができる。このため、従来のように、メインプロセッサが不揮発性ストレージからファイルを読み出す際に、割り込み命令がなされることなく、従って、従来必要とされていた割り込み時の同期待ち合わせ時間をなくすことが可能となる。この結果、処理時間の短縮、処理効率の向上を図ることができる。   As described above, the main processor divides a plurality of files to be processed into groups and assigns each buffer to each group, whereby all the files to be processed can be read at once. On the other hand, since the sub processor has the DMAC, it can access each buffer without going through the main processor. Therefore, unlike the conventional case, when the main processor reads a file from the non-volatile storage, an interrupt instruction is not issued, and therefore it is possible to eliminate the synchronization waiting time at the time of the interrupt that has been conventionally required. . As a result, the processing time can be shortened and the processing efficiency can be improved.

[実施例2]
上述の第1実施例においては、処理対象のファイルが記憶されている不揮発性ストレージが1つである実施形態について説明した。本実施例においては、処理対象のファイルが複数の不揮発性ストレージに記憶されている実施形態について説明する。以下、上記第1実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
[Example 2]
In the first embodiment described above, the embodiment has been described in which there is one nonvolatile storage in which a file to be processed is stored. In the present embodiment, an embodiment in which files to be processed are stored in a plurality of nonvolatile storages will be described. Hereinafter, the description of the parts common to the first embodiment will be omitted, or the same reference numerals will be used for description.

(1)構成
本実施例における情報処理装置1Aの電気的な内部構成について、図7を用いて説明する。本実施例においては、情報処理装置1Aは、メインプロセッサとして1つのPU41とサブプロセッサとして2つのSPU42,43とを有するワンチップマルチプロセッサ40と、これとバス44を介して接続されるRAM46と、これらと入出力インタフェース45,ブリッジ47を介して接続される4つの不揮発性ストレージ48〜51と、ストレージコントローラ53とを有する。
(1) Configuration The electrical internal configuration of the information processing apparatus 1A in the present embodiment will be described with reference to FIG. In the present embodiment, the information processing apparatus 1A includes a one-chip multiprocessor 40 having one PU 41 as a main processor and two SPUs 42 and 43 as sub-processors, and a RAM 46 connected thereto via a bus 44, There are four nonvolatile storages 48 to 51 connected to these via an input / output interface 45 and a bridge 47, and a storage controller 53.

ストレージコントローラ53は、不揮発性ストレージ48〜51に対するデータの読み出し及びデータの書き込みを各々制御する。   The storage controller 53 controls data reading and data writing to the nonvolatile storages 48 to 51, respectively.

各不揮発性ストレージ48〜51には、オペレーティングシステムなどの各種制御プログラムや各種アプリケーションプログラムなどの各種プログラムや、暗号化処理の対象となるファイルが各々記憶されている。各不揮発性ストレージ48〜51には、これらを一意に識別可能なメモリIDが各々対応付けられており、各ファイルにはこれらを一意に識別可能なファイルIDが各々対応付けられている。これらの対応関係は、例えば図8に示されるようなファイル前管理テーブル460としてRAM46に記憶されている。ここでは説明の便宜上各メモリIDは、不揮発性ストレージ48〜51に付与された符号と同一のものを用いる。   Each of the non-volatile storages 48 to 51 stores various programs such as various control programs such as an operating system, various application programs, and files to be encrypted. Each of the nonvolatile storages 48 to 51 is associated with a memory ID that can uniquely identify them, and each file is associated with a file ID that can uniquely identify them. These correspondences are stored in the RAM 46 as a pre-file management table 460 as shown in FIG. Here, for convenience of explanation, the same memory ID as that assigned to the nonvolatile storages 48 to 51 is used for each memory ID.

その他の構成については上述の実施例1と同様であるため、その説明及び図示を省略する。   Since other configurations are the same as those of the first embodiment, description and illustration thereof are omitted.

(2)動作
次に、本実施例に係る動作について説明する。本実施例においては、複数の不揮発性ストレージ48〜51に記憶されている複数のファイルを暗号化する処理について説明する。
(2) Operation Next, an operation according to the present embodiment will be described. In the present embodiment, a process for encrypting a plurality of files stored in the plurality of nonvolatile storages 48 to 51 will be described.

PU41は、アプリケーションプログラムを実行している際に、上述の第1実施例と同様にして、暗号化プログラムを不揮発性ストレージ(例えば、不揮発性ストレージ48)から読み出し、これを、処理の実行可能な全てのサブプロセッサの有するローカルストレージ(図示せず)にロードする。そして、PU41は、図3のステップS1〜S2の処理を行い、上述の算出式(1)により、グループ数を算出する。   While executing the application program, the PU 41 reads the encryption program from the nonvolatile storage (for example, the nonvolatile storage 48) in the same manner as in the first embodiment, and can execute the process. Load to local storage (not shown) of all sub-processors. And PU41 performs the process of step S1-S2 of FIG. 3, and calculates the number of groups by the above-mentioned calculation formula (1).

本実施例においては、処理を行うことが可能なサブプロセッサは、SPU42,43であるから、「処理を行うことが可能なサブプロセッサの総数」は、”2”であり、「処理の並列度」は、上述の第1実施例と同様に、”1”であるとする。この為、「グループ数」は”2”となる。次いで、PU8は、各グループを各SPUに対応付ける。ここでは、グループID”Group1”のグループにSPU42を対応付け、グループID”Group2”のグループにSPU43を対応付ける。   In this embodiment, since the sub processors capable of performing processing are the SPUs 42 and 43, the “total number of sub processors capable of performing processing” is “2”, and “the degree of parallel processing” "Is assumed to be" 1 "as in the first embodiment described above. Therefore, the “number of groups” is “2”. Next, the PU 8 associates each group with each SPU. Here, the SPU 42 is associated with the group with the group ID “Group1”, and the SPU 43 is associated with the group with the group ID “Group2”.

各グループへのファイルの配分については、第1実施例で述べたように、ファイル数によるものと、ファイルサイズによるものとがある。ここでは、ファイル数により配分するものとして説明する。   As described in the first embodiment, the file distribution to each group is based on the number of files and on the file size. Here, the description will be made assuming that distribution is performed according to the number of files.

不揮発性ストレージ48〜51には、各々処理対象のファイルが各々以下の数だけ記憶されているものとする。不揮発性ストレージ48には、20個、不揮発性ストレージ49には、30個、不揮発性ストレージ50には、40個、不揮発性ストレージ51には、50個、である。   It is assumed that the non-volatile storages 48 to 51 store the following number of files to be processed. There are 20 in the non-volatile storage 48, 30 in the non-volatile storage 49, 40 in the non-volatile storage 50, and 50 in the non-volatile storage 51.

この場合、不揮発性ストレージ48〜51に記憶されているファイルの総数を、ステップS2で算出したグループ数で除算すると、”70”となる。そこで、各グループに対して70個ずつファイルを割り当てる。具体的には、不揮発性ストレージ48,49の全てのファイルをグループ1に、不揮発性ストレージ50のファイルのうち20個を”Group1”のグループに、残りの20個を”Group2”のグループに、不揮発性ストレージ51の全てのファイルを”Group2”のグループに割り当てる。   In this case, when the total number of files stored in the nonvolatile storages 48 to 51 is divided by the number of groups calculated in step S2, “70” is obtained. Therefore, 70 files are allocated to each group. Specifically, all the files in the non-volatile storage 48 and 49 are group 1, 20 of the non-volatile storage 50 files are in the “Group 1” group, and the remaining 20 are in the “Group 2” group. All the files in the non-volatile storage 51 are assigned to the “Group2” group.

以上のようにして、複数の不揮発性ストレージ48〜51に記憶されているファイルを各グループに割り当てる。   As described above, the files stored in the plurality of nonvolatile storages 48 to 51 are assigned to each group.

以降は、上述の第1実施例と同様にして、PU41は、ステップS3〜S12の処理を行う。また、SPU42,43も上述の第1実施例と同様にして、図6のステップS20〜S26の処理を行う。   Thereafter, the PU 41 performs the processes of steps S3 to S12 in the same manner as in the first embodiment described above. In addition, the SPUs 42 and 43 perform the processing of steps S20 to S26 in FIG. 6 in the same manner as in the first embodiment.

尚、PU41がステップS11の処理を行う際、暗号化ファイルを不揮発性ストレージ48〜51の何れに書き込むかによって並列処理の効率は変化する。最も効率的に書き込みを行うためには、暗号化ファイルを順次不揮発性ストレージ48〜51に割り当てていくことが望ましい。すなわち、1個又は複数個ずつの暗号化ファイルを、不揮発性ストレージ48から順に不揮発性ストレージ49,50,51,48,49・・・と再帰的に割り当てる。つまり、暗号化ファイルが暗号化処理前に記憶されていた不揮発性ストレージとは無関係に、暗号化ファイルを不揮発性ストレージに書き込む。これにより、暗号化ファイルを、各不揮発性ストレージに均等に且つ効率的に書き込むことができる。   When the PU 41 performs the process of step S11, the efficiency of the parallel processing changes depending on which of the nonvolatile storages 48 to 51 writes the encrypted file. In order to perform writing most efficiently, it is desirable to sequentially assign encrypted files to the nonvolatile storages 48 to 51. That is, one or a plurality of encrypted files are recursively assigned to the non-volatile storages 49, 50, 51, 48, 49. That is, the encrypted file is written to the nonvolatile storage regardless of the nonvolatile storage stored before the encryption process. As a result, the encrypted file can be evenly and efficiently written to each nonvolatile storage.

本実施例においては、ステップS8における読み出し命令を出す時間又はステップS11における書き込み命令を出す時間が、不揮発性ストレージ48〜51から又は不揮発性ストレージ48〜51へのファイル転送に掛かる時間に比べてほとんど無視できるとすると、4つの不揮発性ストレージ48〜51がほぼ同時にファイル転送を始めることになる。また各不揮発性ストレージ48〜51へのアクセスを中継する入出力インタフェース45からRAM46へのアクセスが、ほぼ平均的に起こるとすると、”Group1”のグループに関しては、当該グループに割り当てられた70個全てのファイルを、当該グループに対応する読み込みバッファへ転送するのに掛かる時間は、最も多くのファイルを転送する不揮発性ストレージ49に記憶されている30個のファイルを転送するのに掛かる時間に略等しい。また、”Group2”のグループに関しては、全ての処理対象ファイルを対応する読み込みバッファへの転送を完了するのに掛かる時間は、最も多くのファイルを転送する不揮発性ストレージ51に記憶されている50個のファイルを転送するのに掛かる時間に略等しい。即ち、グループに割り当てられた複数のファイルが、複数の不揮発性ストレージに分散して記憶されている場合には、各不揮発性ストレージにおけるファイルの転送を非同期に行うことができ、各不揮発性ストレージにおけるファイルの転送を並行して行うことができる。このため、グループに割り当てられた全てのファイルを転送するのに掛かる時間を大幅に短縮することができる。   In the present embodiment, the time for issuing the read command in step S8 or the time for issuing the write command in step S11 is almost the time required for file transfer from or to the non-volatile storage 48-51. If it can be ignored, the four non-volatile storages 48 to 51 start the file transfer almost simultaneously. Also, assuming that the access to the RAM 46 from the input / output interface 45 that relays access to each of the non-volatile storages 48 to 51 occurs almost on average, for the group of “Group 1”, all 70 assigned to the group are all included. The time taken to transfer these files to the read buffer corresponding to the group is substantially equal to the time taken to transfer the 30 files stored in the non-volatile storage 49 that transfers the largest number of files. . For the group “Group 2”, the time required to complete the transfer of all files to be processed to the corresponding read buffer is 50 stored in the non-volatile storage 51 that transfers the largest number of files. Is approximately equal to the time it takes to transfer another file. That is, when a plurality of files assigned to a group are distributed and stored in a plurality of nonvolatile storages, file transfer in each nonvolatile storage can be performed asynchronously. Files can be transferred in parallel. For this reason, the time required to transfer all the files assigned to the group can be greatly reduced.

以上のようにして、本実施例においては、ファイル転送に掛かる時間を大幅に短縮することができることにより、全体の処理時間を短縮することができ、処理効率を大幅に向上させることができる。更に、実行可能な全ての処理を並列に実行することによって効率を向上させることができる。   As described above, in this embodiment, since the time required for file transfer can be greatly reduced, the overall processing time can be shortened, and the processing efficiency can be greatly improved. Furthermore, the efficiency can be improved by executing all executable processes in parallel.

[実施例3]
上述の各実施例においては、1つのワンチップマルチプロセッサを取り扱った。本実施例においては、複数のワンチップマルチプロセッサが協働して処理を行う実施形態について説明する。以下、上記第1実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
[Example 3]
In each of the above-described embodiments, one one-chip multiprocessor is handled. In this embodiment, an embodiment will be described in which a plurality of one-chip multiprocessors cooperate to perform processing. Hereinafter, the description of the parts common to the first embodiment will be omitted, or the same reference numerals will be used for description.

(1)構成
本実施例における情報処理システムSの電気的な内部構成について、図9を用いて説明する。本実施例に係る情報処理システムSにおいては、情報処理装置1B〜1EがスイッチングネットワークNを介して各々接続されている。スイッチングネットワークNは、インターネットやLAN(Local Area Network)などの、複数の情報処理装置を互いに接続させるネットワークである。情報処理装置1Bは、ワンチップマルチプロセッサ60と、RAM61と、これらとブリッジ62を介して接続される不揮発性ストレージ63と、ストレージコントローラ64とを有する。ワンチップマルチプロセッサ60は、メインプロセッサとして1つのPU60aと、サブプロセッサとして6つのSPU60b〜60gとを有する。
(1) Configuration The electrical internal configuration of the information processing system S in this embodiment will be described with reference to FIG. In the information processing system S according to the present embodiment, the information processing apparatuses 1B to 1E are connected to each other via the switching network N. The switching network N is a network that connects a plurality of information processing devices to each other, such as the Internet or a LAN (Local Area Network). The information processing apparatus 1B includes a one-chip multiprocessor 60, a RAM 61, a nonvolatile storage 63 connected to these via a bridge 62, and a storage controller 64. The one-chip multiprocessor 60 has one PU 60a as a main processor and six SPUs 60b to 60g as sub processors.

情報処理装置1Cは、ワンチップマルチプロセッサ70と、RAM71と、これらとブリッジ72を介して接続される不揮発性ストレージ73と、ストレージコントローラ74とを有する。ワンチップマルチプロセッサ70は、メインプロセッサとして1つのPU70aと、サブプロセッサとして2つのSPU70b〜70cとを有する。   The information processing apparatus 1 </ b> C includes a one-chip multiprocessor 70, a RAM 71, a nonvolatile storage 73 connected to these via a bridge 72, and a storage controller 74. The one-chip multiprocessor 70 has one PU 70a as a main processor and two SPUs 70b to 70c as sub processors.

情報処理装置1Dは、ワンチップマルチプロセッサ80と、RAM81と、これらとブリッジ82を介して接続される不揮発性ストレージ83と、ストレージコントローラ84とを有する。ワンチップマルチプロセッサ80は、メインプロセッサとして1つのPU80aと、サブプロセッサとして2つのSPU80b〜80cとを有する。   The information processing apparatus 1D includes a one-chip multiprocessor 80, a RAM 81, a nonvolatile storage 83 connected to these via a bridge 82, and a storage controller 84. The one-chip multiprocessor 80 has one PU 80a as a main processor and two SPUs 80b to 80c as sub processors.

情報処理装置1Eは、ワンチップマルチプロセッサ90と、RAM91と、これらとブリッジ92を介して接続される3つの不揮発性ストレージ93,94,95と、ストレージコントローラ96とを有する。ワンチップマルチプロセッサ90は、メインプロセッサとして1つのPU90aと、サブプロセッサとして2つのSPU90b〜90cとを有する。   The information processing apparatus 1E includes a one-chip multiprocessor 90, a RAM 91, three nonvolatile storages 93, 94, and 95 connected to these via a bridge 92, and a storage controller 96. The one-chip multiprocessor 90 has one PU 90a as a main processor and two SPUs 90b to 90c as sub processors.

各不揮発性ストレージ63,73,83,93〜95には、オペレーティングシステムなどの各種制御プログラムや各種アプリケーションプログラムなどの各種プログラムや、暗号化処理の対象となるファイルが記憶されている。本実施例におけるオペレーティングシステムなどの各種制御プログラムを各PU60a,70a,80a,90aが実行することにより、スイッチングネットワークNを介して他の情報処理装置に接続するための手続きや、スイッチングネットワークNに接続されている他の情報処理装置を判別すると共に、他の情報処理装置の構成を判別する機能が実現される。具体的には、各情報処理装置の有するPU,SPU及びその数,不揮発性ストレージ及びその数を判別し、例えば図10に示されるようなネットワーク管理テーブルNTTBLを生成する。図10においては説明の便宜上各IDは各装置に付与された符号と同一のものを用いる。ネットワーク管理テーブルNTTBLには、情報処理装置1B〜1E毎に、端末ID、メインプロセッサのプロセッサID、サブプロセッサのプロセッサID、メモリIDとが各々記憶される。端末IDは、各情報処理装置1B〜1Eを一意に識別するための情報である。メインプロセッサIDは各メインプロセッサ60a,70a,80a,90aを一意に識別するための情報である。プロセッサIDは各サブプロセッサ60b〜60g,70b〜70c,80b〜80c,90b〜90cを一意に識別するための情報である。メモリIDは各不揮発性ストレージ63,73,83,93〜95を一意に識別するための情報である。このようなネットワーク管理テーブルNTTBLは、各情報処理装置1B〜1EのRAM61,71,81,91に各々記憶される。   Each nonvolatile storage 63, 73, 83, 93 to 95 stores various programs such as various control programs such as an operating system, various application programs, and files to be encrypted. Each PU 60a, 70a, 80a, 90a executes various control programs such as an operating system in this embodiment, so that a procedure for connecting to another information processing apparatus via the switching network N, or a connection to the switching network N A function of discriminating another information processing apparatus being used and a configuration of the other information processing apparatus is realized. Specifically, the PU and SPU and the number of them, the nonvolatile storage and the number of each information processing apparatus are determined, and for example, a network management table NTTBL as shown in FIG. 10 is generated. In FIG. 10, the same IDs as those assigned to the respective devices are used for convenience of explanation. In the network management table NTTBL, the terminal ID, the processor ID of the main processor, the processor ID of the sub processor, and the memory ID are stored for each of the information processing apparatuses 1B to 1E. The terminal ID is information for uniquely identifying each of the information processing apparatuses 1B to 1E. The main processor ID is information for uniquely identifying each main processor 60a, 70a, 80a, 90a. The processor ID is information for uniquely identifying each of the sub processors 60b to 60g, 70b to 70c, 80b to 80c, and 90b to 90c. The memory ID is information for uniquely identifying each nonvolatile storage 63, 73, 83, 93-95. Such a network management table NTTBL is stored in the RAMs 61, 71, 81, 91 of the information processing apparatuses 1B to 1E, respectively.

また、各不揮発性ストレージ63,73,83,93〜95と、これらの記憶されたファイルとの対応関係は、上述の第2実施例におけるファイル前管理テーブル460と同様にして、各々メモリIDと各々ファイルIDとの対応関係が各RAM61,71,81,91に記憶されている。   In addition, the correspondence between each of the non-volatile storages 63, 73, 83, 93 to 95 and these stored files is the same as that of the file pre-management table 460 in the second embodiment described above, and the respective memory IDs. Correspondences with file IDs are stored in the RAMs 61, 71, 81, 91, respectively.

その他の情報処理装置1B〜1Eの構成については上述の実施例1における情報処理装置1と略同様であるため、その説明及び図示を省略する。   Other configurations of the information processing apparatuses 1B to 1E are substantially the same as those of the information processing apparatus 1 in the first embodiment described above, and thus the description and illustration thereof are omitted.

(2)動作
次に、本実施例における動作について図3を参照しながら説明する。本実施例においては、6つの不揮発性ストレージ63,73,83,93〜95に記憶されている複数のファイルを、上述の各実施例と同様にして、暗号化する処理について説明する。ここでは、PU60aがアプリケーションプログラムを実行している際に、上述の第1実施例と同様にして、暗号化プログラムを不揮発性ストレージ63から読み出しこれをRAM61にロードする。そして、PU41は、ステップS1〜S2の処理を行い、上述の算出式(1)により、グループ数を算出する。
(2) Operation Next, the operation in this embodiment will be described with reference to FIG. In the present embodiment, a process for encrypting a plurality of files stored in the six nonvolatile storages 63, 73, 83, 93 to 95 in the same manner as in the above-described embodiments will be described. Here, when the PU 60a is executing the application program, the encrypted program is read from the nonvolatile storage 63 and loaded into the RAM 61 in the same manner as in the first embodiment. And PU41 performs the process of step S1-S2, and calculates the number of groups by the above-mentioned calculation formula (1).

ステップS1では、PU60aは、上述の第1実施例と同様にして、処理対象のファイルを特定しその総数を計数すると共に、ネットワーク管理テーブルNTTBLを参照して、処理を行うことが可能なサブプロセッサの総数を計数する。ここでは、処理を行うことが可能なサブプロセッサは、SPU60b〜60g,70b〜70c,80b〜80c,90b〜90cであるから、その総数は”12”である。   In step S1, the PU 60a identifies a file to be processed, counts the total number thereof, and refers to the network management table NTTBL in the same manner as in the first embodiment, and can perform processing by referring to the network management table NTTBL. Count the total number of Here, the sub-processors that can perform the processing are SPUs 60b to 60g, 70b to 70c, 80b to 80c, and 90b to 90c, so the total number is “12”.

次いで、ステップS2では、PU60aは、上述の第1実施例と同様にして、算出式(1)を用いてグループ数を算出する。ここでは、処理の並列度は、”1”とする。従って、ここでは、並列処理の対象となるグループ数は、”12”となる。このため、ここでは、ステップS3の判定結果が肯定的となり、ステップS4に進む。   Next, in step S2, the PU 60a calculates the number of groups using the calculation formula (1) in the same manner as in the first embodiment described above. Here, the degree of parallelism of processing is “1”. Therefore, here, the number of groups to be subjected to parallel processing is “12”. For this reason, here, the determination result of step S3 becomes affirmative, and the process proceeds to step S4.

次いで、ステップS4において、PU60aは、6つの不揮発性ストレージに記憶されている処理対象のファイルを12個のグループに分ける。本実施例においても、各グループへのファイルの配分は、ファイル数により行うものとする。また、ここでは、各不揮発性ストレージ63,73,83,93〜95に記憶されている処理対象のファイルの数は、同じであるとする。例えば、50個とする。すると、6個の各不揮発性ストレージ63,73,83,93〜95に50個ずつ記憶されたファイルを12個のグループに分けることになる。このため、各不揮発性ストレージ63,73,83,93〜95に記憶されたファイルを25個ずつ2つのグループに分けることになる。そして、PU60aは、例えば、不揮発性ストレージ63に記憶された25個のファイルに対し、グループID”Group1”を割り当て、残りの25個のファイルに対し、グループID”Group2”を割り当てる。不揮発性ストレージ73に記憶されたファイルに対しても同様にして、25個のファイル毎に、グループID”Group3”,”Group4”を各々割り当てる。同様にして、不揮発性ストレージ83,93〜95に記憶されたファイルに対しても同様にして、25個のファイル毎に、グループID”Group5”〜”Group12”を各々割り当てる。   Next, in step S4, the PU 60a divides the files to be processed stored in the six nonvolatile storages into 12 groups. Also in this embodiment, the distribution of files to each group is performed according to the number of files. Here, it is assumed that the number of files to be processed stored in each of the nonvolatile storages 63, 73, 83, 93 to 95 is the same. For example, the number is 50. Then, 50 files stored in each of the six nonvolatile storages 63, 73, 83, and 93 to 95 are divided into 12 groups. For this reason, 25 files stored in each of the non-volatile storages 63, 73, 83, 93 to 95 are divided into two groups. For example, the PU 60 a assigns a group ID “Group1” to 25 files stored in the nonvolatile storage 63 and assigns a group ID “Group2” to the remaining 25 files. Similarly, group IDs “Group3” and “Group4” are assigned to each of 25 files for the files stored in the nonvolatile storage 73. Similarly, group IDs “Group5” to “Group12” are assigned to each of 25 files in the same manner for the files stored in the non-volatile storage 83, 93 to 95.

次いで、ステップS5で、PU8は、各グループID”Group1”〜”Group12”を、SPU60a〜60g,70b〜70c,80b〜80c,90b〜90cに各々対応させる。   Next, in step S5, the PU 8 associates the group IDs “Group1” to “Group12” with the SPUs 60a to 60g, 70b to 70c, 80b to 80c, and 90b to 90c, respectively.

つまり、ワンチップマルチプロセッサ60のSPU60bに対し、不揮発性ストレージ63に記憶されグループID”Group1”のファイルを割り当て、SPU60cに対し、不揮発性ストレージ63に記憶されグループID”Group2”のファイルを割り当てる。SPU60d,60eに対しては、不揮発性ストレージ94に記憶されグループID”Group9”,”Group10”の各ファイルを各々割り当てる。SPU60f,60gに対しては、不揮発性ストレージ95に記憶されグループID”Group11”,”Group12”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ70のSPU70b,70cに対しては、不揮発性ストレージ73に記憶されグループI”Group3”,”Group4”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ80のSPU80b,80cに対しては、不揮発性ストレージ83に記憶されグループID”Group5”,”Group6”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ90のSPU90b,90cに対しては、不揮発性ストレージ93に記憶されグループID”Group7”,”Group8”の各ファイルを各々割り当てる。これらの対応関係は例えば図11のように示される。   That is, the file of group ID “Group1” stored in the nonvolatile storage 63 is assigned to the SPU 60b of the one-chip multiprocessor 60, and the file of group ID “Group2” stored in the nonvolatile storage 63 is assigned to the SPU 60c. For the SPUs 60d and 60e, files of group IDs “Group9” and “Group10” stored in the nonvolatile storage 94 are allocated. For the SPUs 60f and 60g, files of group IDs “Group11” and “Group12” stored in the nonvolatile storage 95 are assigned. To the SPUs 70b and 70c of the one-chip multiprocessor 70, files of group I “Group3” and “Group4” stored in the nonvolatile storage 73 are allocated. To the SPUs 80b and 80c of the one-chip multiprocessor 80, files of group IDs “Group5” and “Group6” stored in the nonvolatile storage 83 are assigned. To the SPUs 90b and 90c of the one-chip multiprocessor 90, files of group IDs “Group7” and “Group8” stored in the nonvolatile storage 93 are assigned. These correspondences are shown as shown in FIG. 11, for example.

PU60aは、このようなグループ分けを行い、上述の各実施例と同様に、プロセッサ管理テーブル(図示せず)に情報を書き込む。   The PU 60a performs such grouping and writes information to a processor management table (not shown) as in the above embodiments.

次いで、ステップS6では、情報処理装置1BのPU60aは、自装置のSPU60b〜60gに対して割り当てられたグループ毎の読み出し用バッファ及び書き込み用バッファをRAM61上に各々割り当てる。また、PU60aは、他の情報処理装置1C〜1Eの各PU70a,80a,90aに対し、各々自装置の有するRAM71,81,91に、各々自装置の有するSPUに対応する読み出し用バッファ及び書き込み用バッファを割り当てるよう命令を出す。各PU70a,80a,90aは、当該命令に従い、各々自装置の有するRAM71,81,91に、各々自装置の有するSPUに対応する読み出し用バッファ及び書き込み用バッファを割り当てる。また、PU60aは、上述の第1実施例と同様に、割り当てた各バッファのメモリロケーションをバッファ管理エリアに書き込む。更に、PU60aは、RAM61にファイル情報エリアを設け、ファイル情報エリアに、上述と同様に情報を書き込む。   Next, in step S <b> 6, the PU 60 a of the information processing apparatus 1 </ b> B allocates the read buffer and the write buffer for each group allocated to the SPUs 60 b to 60 g of the own apparatus on the RAM 61. In addition, the PU 60a has a read buffer and a write buffer corresponding to the SPU of each of its own devices in the RAMs 71, 81, and 91 of its own device with respect to each of the PUs 70a, 80a, and 90a of the other information processing devices 1C to 1E. Issue an instruction to allocate a buffer. Each of the PUs 70a, 80a, and 90a allocates a read buffer and a write buffer corresponding to the SPU that each device has to the RAMs 71, 81, and 91 that each device has according to the instruction. Further, the PU 60a writes the memory location of each allocated buffer in the buffer management area, as in the first embodiment described above. Furthermore, the PU 60a provides a file information area in the RAM 61, and writes information in the file information area in the same manner as described above.

次いで、ステップS7では、PU60aは、暗号処理プログラムの処理スレッドをグループ数と同じ数だけ生成し、それぞれの処理スレッドに対しグループIDを割り当て、各処理スレッドをSPU60b〜60g,70b〜70c,80b〜80c,90b〜90cに各々対応させる。そして、PU60aは、SPU60b〜60gに対応する処理スレッドについては、各SPU60b〜60gに対し、各々対応する処理スレッドを実行するよう命令を出し、各々同期待ち合わせ状態にさせる。また、PU60aは、他の情報処理装置1C〜1EのSPU70b〜70c,80b〜80c,90b〜90cに対応する処理スレッドについては、他の情報処理装置1C〜1Eの各PU70a,80a,90aに対し、各自装置のSPUに各々対応する処理スレッドを実行させるよう命令を出し、各処理スレッドを各々同期待ち合わせ状態にさせるよう命令を出す。この結果、各処理スレッドが、各々対応するSPUの有するローカルストレージ(図示せず)にロードされて各SPUにより実行され、同期待ち合わせ状態となる。   Next, in step S7, the PU 60a generates the same number of processing threads as the number of groups of the cryptographic processing program, assigns a group ID to each processing thread, and assigns each processing thread to the SPUs 60b-60g, 70b-70c, 80b- 80c and 90b to 90c are associated with each other. Then, for the processing threads corresponding to the SPUs 60b to 60g, the PU 60a issues an instruction to execute the corresponding processing thread to each of the SPUs 60b to 60g, and puts them in a synchronization waiting state. Further, the PU 60a, with respect to the processing threads corresponding to the SPUs 70b to 70c, 80b to 80c, and 90b to 90c of the other information processing apparatuses 1C to 1E, is directed to the PUs 70a, 80a, and 90a of the other information processing apparatuses 1C to 1E. Then, an instruction is issued to execute a processing thread corresponding to each SPU of each device, and an instruction is issued to cause each processing thread to be in a synchronization waiting state. As a result, each processing thread is loaded into a local storage (not shown) of the corresponding SPU, executed by each SPU, and enters a synchronization waiting state.

次いで、ステップS8では、PU60aは、ストレージコントローラ64に対し、RAM61に割り当てた上述の読み出し用バッファに、不揮発性ストレージ63に記憶されている処理対象の全てのファイルを読み出すよう命令を出す。また、PU60aは、他の情報処理装置1C〜1Eの各PU70a,80a,90aに対し、各々自装置の有する不揮発性ストレージ73,83,93〜95に記憶されている処理対象の全てのファイルを、RAM61,71,81,91に各々割り当てた上述の読み出し用バッファに読み出すよう命令を出す。他の情報処理装置1C〜1Eの各PU70a,80a,90aは、当該読み出し命令に従い、各々自装置の有するストレージコントローラ74,84,96に対し、各々自装置の有する不揮発性ストレージ73,83,93〜95に記憶されている処理対象の全てのファイルを読み出すよう命令を出す。以上のようにして、PU60aは、他の情報処理装置1C〜1Eに接続されている不揮発性ストレージ73,83,93〜95に記憶されている処理対象ファイルの読み出しを、各情報処理装置1C〜1Eの各PU70a,80a,90aを介して、各不揮発性ストレージ73,83,93〜95に対応するストレージコントローラ74,84,96に対して指示する。一方、各ストレージコントローラ64,74,84,96は、上述の各読み出し命令に従って、各不揮発性ストレージ63,73,83,93〜95に記憶されている処理対象の全てのファイルを各々対応する読み出しバッファに読み出す。   Next, in step S <b> 8, the PU 60 a instructs the storage controller 64 to read all the files to be processed stored in the nonvolatile storage 63 to the above-described read buffer allocated to the RAM 61. Also, the PU 60a sends all the files to be processed stored in the non-volatile storage 73, 83, 93 to 95 of its own device to each of the PUs 70a, 80a, and 90a of the other information processing devices 1C to 1E. Then, an instruction is issued to read the data to the above-described read buffers allocated to the RAMs 61, 71, 81, 91, respectively. Each of the PUs 70a, 80a, and 90a of the other information processing apparatuses 1C to 1E follows the read command, and the storage controllers 74, 84, and 96 that the respective apparatuses have, respectively, the nonvolatile storages 73, 83, and 93 that the respective apparatuses have A command is issued to read all files to be processed stored in .about.95. As described above, the PU 60a reads the processing target files stored in the non-volatile storages 73, 83, and 93 to 95 connected to the other information processing apparatuses 1C to 1E. An instruction is given to the storage controllers 74, 84, and 96 corresponding to the nonvolatile storages 73, 83, and 93 to 95 via the PUs 70a, 80a, and 90a of 1E. On the other hand, each storage controller 64, 74, 84, 96 reads all corresponding files to be processed stored in each nonvolatile storage 63, 73, 83, 93-95 in accordance with the above read commands. Read to buffer.

また、PU60aは、上記読み出し命令と同時に、SPU60b〜60gに対して割り当てた各処理スレッドの同期待ち合わせ状態を解除し、各SPUに処理スレッドの実行を開始させる。また、同時に、PU60aは、他の情報処理装置1C〜1Eの有する各SPUに対して割り当てた各処理スレッドについて、他の情報処理装置1C〜1Eの各PU70a,80a,90aを介して、各処理スレッドの同期待ち合わせ状態を解除し、各SPUに処理スレッドの実行を開始させる。以降、上述の第1実施例と同様にステップS9〜S11と同様の処理が行われる。尚、ステップS11において、書き込み用バッファに書き込まれた暗号化ファイルを不揮発性ストレージ63,73,83,93〜95へ書き込ませる際、PU60aは、不揮発性ストレージ63への書き込みについては、ストレージコントローラ64に対して書き込み命令を出し、各不揮発性ストレージ73,83,93〜95への書き込みについては、各々対応するPU70a,80a,90aを介して、各々対応するストレージコントローラ74,84,96に書き込み命令を出す。尚、暗号化ファイルを書き込む不揮発性ストレージの割り当てについては、上述の第2実施例と同様に、暗号化ファイルを順次不揮発性ストレージ73,83,93〜95に割り当るようしても良い。   At the same time as the read command, the PU 60a cancels the synchronization waiting state of each processing thread assigned to the SPUs 60b to 60g, and causes each SPU to start executing the processing thread. At the same time, the PU 60a processes each processing thread assigned to each SPU of the other information processing apparatuses 1C to 1E via each PU 70a, 80a, 90a of the other information processing apparatuses 1C to 1E. The thread is released from the synchronization waiting state, and each SPU is started to execute the processing thread. Thereafter, the same processing as steps S9 to S11 is performed in the same manner as in the first embodiment described above. In step S11, when the encrypted file written in the write buffer is written to the nonvolatile storage 63, 73, 83, 93 to 95, the PU 60a performs the storage controller 64 for writing to the nonvolatile storage 63. A write command is issued to each of the non-volatile storages 73, 83, 93 to 95, and the write commands are respectively sent to the corresponding storage controllers 74, 84, 96 via the corresponding PUs 70a, 80a, 90a. Put out. As for the allocation of the non-volatile storage for writing the encrypted file, the encrypted file may be sequentially allocated to the non-volatile storage 73, 83, 93 to 95 as in the second embodiment.

以上のような構成によって、異なる情報処理装置に各々接続された不揮発性ストレージに記憶されたファイルについても、複数の各情報処理装置のワンチップマルチプロセッサの各サブプロセッサに割り当て、並列処理させることができる。即ち、複数の各情報処理装置のワンチップマルチプロセッサに処理を分散させて、各ワンチップマルチプロセッサのサブプロセッサを並列処理させることが可能となる。この結果、処理時間の大幅な短縮、及び処理効率の大幅な向上が図ることが可能となる。   With the configuration as described above, a file stored in a non-volatile storage connected to each of different information processing apparatuses can be assigned to each sub-processor of the one-chip multiprocessor of each information processing apparatus and processed in parallel. it can. That is, it is possible to distribute the processing to the one-chip multiprocessors of each of the plurality of information processing apparatuses and to process the subprocessors of each one-chip multiprocessor in parallel. As a result, the processing time can be greatly shortened and the processing efficiency can be greatly improved.

尚、上述の情報システムSを例えば以下のような環境下で構成することが望ましい。スイッチングネットワークNを介したファイルの転送速度が十分速く、1つの情報処理装置内において不揮発性ストレージとRAMとの間でブリッジを介してファイル転送するのに掛かる時間と、各々別の情報処理装置に接続された不揮発性ストレージとRAMとの間でスイッチングネットワークNを介してファイルを転送するのに掛かる時間とが略同じであるという環境である。このような環境下では、ある情報処理装置のワンチッププロセッサが、他の情報処理装置に接続された不揮発性ストレージに記憶されたファイルに対する処理を行うことに、時間的なロスが殆ど生じないからである。   Note that the above-described information system S is preferably configured under the following environment, for example. The transfer speed of the file via the switching network N is sufficiently fast, and the time required to transfer the file between the nonvolatile storage and the RAM via the bridge in one information processing apparatus, and each information processing apparatus In this environment, the time taken to transfer a file between the connected nonvolatile storage and the RAM via the switching network N is substantially the same. In such an environment, a one-chip processor of an information processing apparatus hardly causes a time loss in processing a file stored in a nonvolatile storage connected to another information processing apparatus. It is.

[変形例]
<変形例1>
上述の第1実施例においては、不揮発性ストレージであるHD33は情報処理装置1の外部に設けるように構成した。また、上述の第2,第3実施例においては、各不揮発性ストレージ48〜51,63,73,83,93〜95は、各情報処理装置の内部であり、各ワンチップマルチプロセッサの外部に設けるように構成した。本発明においては、各不揮発性ストレージは、情報処理装置1の外部又は内部のいずれに設けても良いし、ワンチップマルチプロセッサの外部又は内部のいずれに設けるように構成しても良い。また、不揮発性ストレージとして用いるものは、ハードディスク、フラッシュメモリ、DVDなどの各種記憶装置、記憶媒体であって良い。
[Modification]
<Modification 1>
In the first embodiment described above, the HD 33 that is a non-volatile storage is provided outside the information processing apparatus 1. In the second and third embodiments described above, each of the nonvolatile storages 48 to 51, 63, 73, 83, and 93 to 95 is inside each information processing apparatus and outside each one-chip multiprocessor. It comprised so that it might provide. In the present invention, each nonvolatile storage may be provided either outside or inside the information processing apparatus 1, or may be arranged outside or inside the one-chip multiprocessor. Further, what is used as the non-volatile storage may be various storage devices and storage media such as a hard disk, a flash memory, and a DVD.

また、上述の上述の第1実施例においては、HD33は、USB22を介して情報処理装置1と接続される構成としたが、本発明においてはこれに限らない。   In the first embodiment described above, the HD 33 is connected to the information processing apparatus 1 via the USB 22, but the present invention is not limited to this.

また、上述の第1実施例においては、処理対象ファイルが記憶される不揮発性ストレージとしてHD33を用い、ストレージコントローラとしてコントローラ23を用いた。しかし、本発明においてはこれに限らず、DVDやフラッシュメモリ等の各種記憶装置、各種記憶媒体を、処理対象ファイルが記憶される不揮発性ストレージとして用いても良い。例えば、図1におけるDVD32に上記処理対象のファイルが記憶されている場合は、DVDドライバ21が上述のストレージコントローラとして機能する。即ち、PU8が、ステップS8において、DVDドライバ21に対し、DVD32に記憶されている処理対象のファイルの読み出し命令を出し、ステップS11において、DVDドライバ21に対し、DVD32への処理後ファイルの書き込み命令を出し、DVDドライバ21がこれらの命令に従って、DVD32に対するファイルの読み出し及び書き込みを行う。また、図1におけるフラッシュメモリ20に上記処理対象のファイルが記憶されている場合は、フラッシュメモリコントローラ31が上述のストレージコントローラとして機能する。即ち、PU8が、ステップS8において、フラッシュメモリコントローラ31に対し、フラッシュメモリ20に記憶されている処理対象のファイルの読み出し命令を出し、ステップS11において、フラッシュメモリコントローラ31に対し、HD33への処理後ファイルの書き込み命令を出し、フラッシュメモリコントローラ31がこれらの命令に従って、フラッシュメモリ20に対するファイルの読み出し及び書き込みを行う。   In the first embodiment described above, the HD 33 is used as the nonvolatile storage for storing the processing target file, and the controller 23 is used as the storage controller. However, the present invention is not limited to this, and various storage devices such as a DVD and a flash memory and various storage media may be used as nonvolatile storage for storing files to be processed. For example, when the file to be processed is stored on the DVD 32 in FIG. 1, the DVD driver 21 functions as the storage controller described above. That is, in step S8, the PU 8 issues an instruction to read the file to be processed stored in the DVD 32 to the DVD driver 21. In step S11, the PU 8 instructs the DVD driver 21 to write the processed file to the DVD 32. The DVD driver 21 reads and writes a file from the DVD 32 according to these instructions. Further, when the file to be processed is stored in the flash memory 20 in FIG. 1, the flash memory controller 31 functions as the above-described storage controller. That is, the PU 8 issues an instruction to read the file to be processed stored in the flash memory 20 to the flash memory controller 31 in step S8, and after the processing to the HD 33 to the flash memory controller 31 in step S11. A file write command is issued, and the flash memory controller 31 reads and writes the file to the flash memory 20 in accordance with these commands.

また、上述の各実施例に係る情報処理装置とは異なる他の情報処理装置に不揮発性ストレージを設け、当該他の情報処理装置と上述の各実施例に係る情報処理装置とをネットワークを介して接続し、上述の各実施例に係る情報処理装置の有するワンチップマルチプロセッサが、当該ネットワーク及び当該他の情報処理装置を介して当該不揮発性ストレージにアクセスする構成であっても良い。   In addition, a non-volatile storage is provided in another information processing apparatus different from the information processing apparatus according to each embodiment described above, and the other information processing apparatus and the information processing apparatus according to each embodiment described above are connected via a network. The one-chip multiprocessor connected to the information processing apparatus according to each of the above embodiments may access the nonvolatile storage via the network and the other information processing apparatus.

また、上述の第2,3実施例においては、ストレージコントローラ53及びストレージコントローラ64,74,84,96が、複数の不揮発性ストレージに対してデータの読み出し及びデータの書き込みを各々制御するよう構成した。しかし、本発明においてはこれに限らず、不揮発性ストレージ1つに対し1つの不揮発性ストレージコントローラを設けるように構成しても良い。この場合、メインプロセッサは、ステップS8において、各不揮発性ストレージに記憶されている処理対象ファイルの読み出し命令を、各不揮発性ストレージに対応する各ストレージコントローラに対して各々出し、ステップS11において、各不揮発性ストレージへの処理後ファイルの書き込み命令を、各不揮発性ストレージに対応する各ストレージコントローラに対して各々出し、各ストレージコントローラがこれらの命令に従って、各々対応する不揮発性ストレージに対するファイルの読み出し及び書き込みを行う。   In the second and third embodiments described above, the storage controller 53 and the storage controllers 64, 74, 84, and 96 are configured to control data reading and data writing with respect to a plurality of nonvolatile storages, respectively. . However, the present invention is not limited to this, and one nonvolatile storage controller may be provided for each nonvolatile storage. In this case, in step S8, the main processor issues a read command for the processing target file stored in each nonvolatile storage to each storage controller corresponding to each nonvolatile storage, and in step S11, each nonvolatile memory. A command to write a file to the storage device after processing is issued to each storage controller corresponding to each nonvolatile storage, and each storage controller reads and writes a file to each corresponding nonvolatile storage according to these commands. Do.

また、上述の各実施例においては、不揮発性ストレージとストレージコントローラとを別体で設けるように構成したが、これらを一体的に設けるように構成しても良い。   Further, in each of the above-described embodiments, the nonvolatile storage and the storage controller are provided separately, but they may be provided integrally.

また、上述の各実施例においては、マルチプロセッサとして、ワンチップ内にコアを複数有し、メインプロセッサとサブプロセッサとの構成が異なる非対称型のマルチコアプロセッサを用いた。しかし、本発明においてはこれに限らず、シングルプロセッサを複数有する構成のマルチプロセッサや、シングルコアのマルチプロセッサを用いても良く、例えば、図12(a),(b)に示されるように、同一構成のプロセッサを複数有する対称型のマルチプロセッサを用いても良い。図12(a)に示されるマルチプロセッサ500は、プロセッサ501を2つ備え、これらとバスを介して接続されるメモリコントローラ505′を備える。各プロセッサ501は、CPU502をコアとして備え、L1キャッシュ503,L2キャッシュ504′をキャッシュメモリとして備える。図12(b)に示されるマルチプロセッサ500′は、プロセッサ501′を2つ備え、これらとバスを介して接続されるメモリコントローラ505を備え、各プロセッサ501′が共用するL2キャッシュ504′をキャッシュメモリとして備える。各プロセッサ501′は、CPU502をコアとして備え、L1キャッシュ503をキャッシュメモリとして備える。このような構成を有するマルチプロセッサ500,500′においては、キャッシュメモリ502,503,504,504′のうち少なくとも1つをローカルメモリとして機能させるようにしても構成しても良いし、各プロセッサ501,501′が用いるローカルメモリを別途備えるように構成しても良い。このような同一構成のプロセッサを複数有する対称型のマルチプロセッサを用いた場合、複数のプロセッサのうちいずれか1つを、例えば、上述の第1実施例におけるPU8(メインプロセッサ)として機能させ、他のプロセッサをSPU3(サブプロセッサ)として機能させるようにしても良い。また、複数のプロセッサのうちいずれか1つをメインプロセッサとして機能させる場合であっても、当該1つのプロセッサを、上述の第1実施例におけるステップS4でグループ分けしたグループをステップS5で割り当てる対象のプロセッサとしても良い。   In each of the above-described embodiments, an asymmetric multi-core processor having a plurality of cores in one chip and having different configurations of the main processor and sub-processor is used as the multi-processor. However, the present invention is not limited to this, and a multiprocessor having a plurality of single processors or a single-core multiprocessor may be used. For example, as shown in FIGS. A symmetric multiprocessor having a plurality of processors having the same configuration may be used. A multiprocessor 500 shown in FIG. 12A includes two processors 501 and a memory controller 505 ′ connected to them via a bus. Each processor 501 includes a CPU 502 as a core, and includes an L1 cache 503 and an L2 cache 504 ′ as cache memories. A multiprocessor 500 ′ shown in FIG. 12B includes two processors 501 ′, a memory controller 505 connected to the processors 501 ′ via a bus, and caches an L2 cache 504 ′ shared by the processors 501 ′. Prepare as memory. Each processor 501 ′ includes a CPU 502 as a core and an L1 cache 503 as a cache memory. In the multiprocessors 500 and 500 ′ having such a configuration, at least one of the cache memories 502, 503, 504, and 504 ′ may function as a local memory, or each processor 501 may be configured. , 501 ′ may be provided with a separate local memory. When such a symmetric multiprocessor having a plurality of processors having the same configuration is used, any one of the plurality of processors functions as, for example, the PU 8 (main processor) in the first embodiment described above, and the like. These processors may function as SPU3 (sub-processor). Further, even when any one of the plurality of processors is caused to function as a main processor, the group in which the one processor is grouped in step S4 in the above-described first embodiment is assigned in step S5. It may be a processor.

<変形例2>
上述の各実施例においては、複数のファイルに対して暗号化処理を行う構成とした。しかし、本発明においてはこれに限らず、複数のファイルに対して一括して行う処理であれば、例えば、暗号化を解除する復号化処理、コーデック変換処理、画像処理、ウイルススキャン、ファイルの圧縮又は展開処理などの様々な処理であっても良い。
<Modification 2>
In each of the embodiments described above, the encryption process is performed on a plurality of files. However, the present invention is not limited to this. For example, a decryption process for canceling encryption, a codec conversion process, an image process, a virus scan, and a file compression process can be performed for a plurality of files at once. Or various processes, such as an expansion | deployment process, may be sufficient.

<変形例3>
上述の実施例においては、オペレーティングシステムは、メインプロセッサが実行する構成とした。しかし、本発明においてはこれに限らず、サブプロセッサが、オペレーティングシステムの一部をなすようなプログラム(例えば、デバイスドライバやシステムプログラムの一部)を実行するように構成しても良い。また、オペレーティングシステムとして、サブプロセッサ全体を制御する専用のオペレーティングシステムを備えるように構成しても良い。
<Modification 3>
In the above-described embodiments, the operating system is configured to be executed by the main processor. However, the present invention is not limited to this, and the sub processor may be configured to execute a program that forms a part of the operating system (for example, a part of a device driver or a system program). Further, as an operating system, a dedicated operating system for controlling the entire sub-processor may be provided.

<変形例4>
上述の各実施例においては、各SPUに対応するグループに割り当てられたファイルをRAM上の読み出し用バッファに読み出してこれを処理するように構成した。しかし、本発明においてはこれに限らず、各SPUの有するローカルストレージに、当該SPUに割り当てられた処理対象のファイルを記憶させ、これを暗号化処理後にRAM上の書き込み用バッファに書き込むように構成しても良い。
<Modification 4>
In each of the above-described embodiments, the file assigned to the group corresponding to each SPU is read into the read buffer on the RAM and processed. However, the present invention is not limited to this, and the configuration is such that the processing target file assigned to the SPU is stored in the local storage of each SPU, and this is written to the write buffer on the RAM after the encryption process. You may do it.

<変形例5>
上述の各実施例においては、各グループへのファイルの配分は、ファイル数又はファイルサイズにより行う構成とした。しかし、本発明においてはこれに限らず、例えば、ファイルの種類や、ファイルの更新日時、ファイルの使用頻度などのファイルの属性情報を用いて行うようにしても良い。
<Modification 5>
In each of the above-described embodiments, the file is distributed to each group according to the number of files or the file size. However, the present invention is not limited to this. For example, file attribute information such as file type, file update date and time, and file usage frequency may be used.

<変形例6>
上述の第3実施例においては、上述の図3に示される各処理をPU60aが行うようにしたが、他のPUが行うようにしても良い。また、上述のステップS14,15では、各SPUと同一情報処理装置内にある各RAMに各グループに対応する読み出し用バッファ及び書き込み用バッファを設けるようにした。しかし、本発明においてはこれに限らず、他の情報処理装置のRAMに他の情報処理装置のSPUに対応する各バッファを設けるようにしても良いし、いずれかのRAM上に各グループに対応する全ての各バッファを設けるように構成しても良い。
<Modification 6>
In the third embodiment described above, each process shown in FIG. 3 described above is performed by the PU 60a, but may be performed by another PU. In steps S14 and S15 described above, a read buffer and a write buffer corresponding to each group are provided in each RAM in the same information processing apparatus as each SPU. However, the present invention is not limited to this, and each buffer corresponding to the SPU of another information processing apparatus may be provided in the RAM of another information processing apparatus, or each group may be supported on one of the RAMs. It may be configured to provide all the buffers.

また、各ワンチップマルチプロセッサ60,70,80,90は、各々異なる情報処理装置1B〜1Eに備わるように構成したが、1つの情報処理装置内に備わるように構成しても良い。   Further, each one-chip multiprocessor 60, 70, 80, 90 is configured to be provided in different information processing apparatuses 1B to 1E, but may be configured to be provided in one information processing apparatus.

上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論である。   The above description of each embodiment is an example of the present invention. For this reason, the present invention is not limited to the above-described embodiments, and various modifications can be made even outside the above-described embodiments as long as they do not depart from the technical idea according to the present invention. Of course.

本発明は、マルチプロセッサを用いて、不揮発性ストレージに記憶されている複数のファイルを処理する情報処理技術に用いて好適である。   The present invention is suitable for information processing technology that uses a multiprocessor to process a plurality of files stored in a nonvolatile storage.

本発明の一実施例に係る情報処理装置の内部構成を例示するブロック図である。It is a block diagram which illustrates the internal structure of the information processing apparatus which concerns on one Example of this invention. 同実施例に係るプロセッサ管理テーブルを例示する図である。It is a figure which illustrates the processor management table concerning the Example. 同実施例に係るメインプロセッサの動作の流れを例示するフローチャートである。It is a flowchart which illustrates the flow of operation | movement of the main processor which concerns on the same Example. 同実施例に係るファイル情報エリアに記憶される情報を例示する図である。It is a figure which illustrates the information memorized by the file information area concerning the example. 同実施例に係るバッファ管理エリアに記憶される情報を例示する図である。It is a figure which illustrates the information memorized by the buffer management area concerning the example. 同実施例に係るサブプロセッサの動作の流れを例示するフローチャートである。It is a flowchart which illustrates the flow of operation | movement of the sub processor based on the Example. 本発明の他の実施例に係る情報処理装置の内部構成を例示するブロック図である。It is a block diagram which illustrates the internal structure of the information processing apparatus which concerns on the other Example of this invention. 同実施例に係るファイル前管理テーブルを例示する図である。It is a figure which illustrates the pre-file management table which concerns on the same Example. 本発明の他の実施例に係る情報処理装置の内部構成を例示するブロック図である。It is a block diagram which illustrates the internal structure of the information processing apparatus which concerns on the other Example of this invention. 同実施例に係るネットワーク管理テーブルを例示する図である。It is a figure which illustrates the network management table which concerns on the Example. 同実施例に係るグループ分けしたファイルのファイルIDと、当該ファイルの記憶されている不揮発性ストレージのメモリIDと、サブプロセッサのプロセッサIDと、グループIDとの対応関係を例示する図である。It is a figure which illustrates the correspondence of file ID of the grouped file which concerns on the Example, memory ID of the non-volatile storage in which the said file is stored, processor ID of a sub processor, and group ID. 本発明の他の実施例に係るマルチプロセッサの内部構成を例示するブロック図である。It is a block diagram which illustrates the internal structure of the multiprocessor which concerns on the other Example of this invention.

符号の説明Explanation of symbols

1,1A,1B,1C,1D,1E・・・情報処理装置、2・・・ワンチップマルチロプロセッサ、3,3a,3b,3c,3d,3e,3f,3g,3h,42,43,60b,60c,60d,60e,60f,60g,70b,70c,80b,80c,90b,90c・・・サブプロセッサ、4,4a,4b,4c,4d,4e,4f,4g,4h,9・・・プロセッサコア、5,5a,5b,5c,5d,5e,5f,5g,5h・・・ローカルストレージ、6,6a,6b,6c,6d,6e,6f,6g,6h,12・・・メモリフローコントローラ、7,7a,7b,7c,7d,7e,7f,7g,7h,13・・・ダイレクト・メモリ・アクセス・コントローラ、8,41,60a,70a,80a,90a・・・メインプロセッサ、10・・・L1キャッシュ、11・・・L2キャッシュ、15・・・メモリコントローラ、16,46,61,71,81,91・・・RAM、17・・・入出力インタフェース、18・・・サウスブリッジ、20・・・フラッシュメモリ、31・・・フラッシュメモリコントローラ,64,74,84,96・・・ストレージコントローラ、32・・・DVD、33・・・HD、48,49,50,51,63,73,83,93,94,95・・・不揮発性ストレージ、47,62,72,82,92・・・ブリッジ、160・・・プロセッサ管理テーブル、460・・・ファイル前管理テーブル、N・・・スイッチングネットワーク、S・・・情報処理システム、NTTBL・・・ネットワーク管理テーブル
1, 1A, 1B, 1C, 1D, 1E ... information processing device, 2 ... one-chip multiprocessor, 3, 3a, 3b, 3c, 3d, 3e, 3f, 3g, 3h, 42, 43, 60b, 60c, 60d, 60e, 60f, 60g, 70b, 70c, 80b, 80c, 90b, 90c... Sub-processor, 4, 4a, 4b, 4c, 4d, 4e, 4f, 4g, 4h, 9,. -Processor core, 5, 5a, 5b, 5c, 5d, 5e, 5f, 5g, 5h ... local storage, 6, 6a, 6b, 6c, 6d, 6e, 6f, 6g, 6h, 12 ... memory Flow controller 7, 7a, 7b, 7c, 7d, 7e, 7f, 7g, 7h, 13... Direct memory access controller, 8, 41, 60a, 70a, 80a, 90a. Processor: 10 ... L1 cache, 11 ... L2 cache, 15 ... Memory controller, 16, 46, 61, 71, 81, 91 ... RAM, 17 ... Input / output interface, 18. South bridge, 20 ... flash memory, 31 ... flash memory controller, 64, 74, 84, 96 ... storage controller, 32 ... DVD, 33 ... HD, 48, 49, 50, 51, 63, 73, 83, 93, 94, 95... Nonvolatile storage, 47, 62, 72, 82, 92... Bridge, 160... Processor management table, 460. , N ... switching network, S ... information processing system, NTTBL ... network management table

Claims (24)

メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
前記プロセッサのうち1つのプロセッサが、前記複数の処理対象ファイルを複数のファイル群に分ける組分ステップと、
前記1つのプロセッサが、前記組分ステップで分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当ステップと、
前記1つのプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定ステップと、
前記1つのプロセッサが、前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記1つのプロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップとを具備する
ことを特徴とする情報処理方法。
An information processing method in which a multiprocessor including a main memory and a plurality of processors performs predetermined processing on a plurality of processing target files stored in a nonvolatile storage connected to the multiprocessor,
One of the processors, a grouping step for dividing the plurality of files to be processed into a plurality of file groups;
An assigning step in which the one processor assigns each file group divided in the grouping step to at least one target processor among the plurality of processors;
A setting step in which the one processor sets a read buffer corresponding to each file group divided in the grouping step in the main memory;
An activation instructing step for instructing activation of a processing program for performing the predetermined processing to the target processor to which the one processor has allocated the file group in the allocation step;
A group of files to which the processing target file belongs in the setting step with respect to the processing target file stored in the non-volatile storage for a storage controller in which the one processor controls reading and writing of data to and from the non-volatile storage. A reading instruction step for instructing reading to each of the reading buffers set in the main memory in association with the information processing method.
前記対象プロセッサは、ローカルメモリを有し、
前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出す読出ステップと、
前記1つのプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第2設定ステップと、
前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有する前記ローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップとを具備する
ことを特徴とする請求項1に記載の情報処理方法。
The target processor has a local memory;
The storage controller reads each of the processing target files instructed in the reading instructing step into a reading buffer set in the main memory in association with the file group to which the processing target files belong in the setting step Steps,
A second setting step in which the one processor sets a write buffer corresponding to each file group divided in the grouping step in the main memory;
The target processor stores the processing program instructed in the start instructing step in the local memory of the target processor, starts the program, and stores it in the read buffer corresponding to the file group assigned to the target processor. An execution step of performing the predetermined processing on the read processing target file and writing the processed file after the processing into the write buffer corresponding to the file group assigned to the target processor. The information processing method according to claim 1.
前記1つのプロセッサが、前記ストレージコントローラに対し、前記実行ステップで前記書き込み用バッファに書き込まれた前記処理後ファイルを前記不揮発性ストレージに書き込むことを指示する書込指示ステップと、
前記ストレージコントローラが、前記書込指示ステップで指示された前記処理後ファイルを前記不揮発性ストレージに書き込む書込ステップとを具備する
ことを特徴とする請求項2に記載の情報処理方法。
A write instruction step in which the one processor instructs the storage controller to write the processed file written in the write buffer in the execution step to the nonvolatile storage;
The information processing method according to claim 2, further comprising: a writing step in which the storage controller writes the processed file instructed in the writing instructing step into the non-volatile storage.
前記対象プロセッサは、前記メインメモリに対するデータの読み出し及び書き込みを制御するダイレクト・メモリ・アクセス・コントローラを有し、
前記実行ステップでは、前記ダイレクト・メモリ・アクセス・コントローラを介して、当該対象プロセッサに割り当てられたファイル群に対応する前記処理対象ファイルを前記読み出し用バッファから読み出し、前記ダイレクト・メモリ・アクセス・コントローラを介して、当該対象プロセッサに割り当てられたファイル群に対応する前記処理後ファイルを前記書き込み用バッファに書き込む
ことを特徴とする請求項2に記載の情報処理方法。
The target processor has a direct memory access controller that controls reading and writing of data to the main memory;
In the execution step, the processing target file corresponding to the file group assigned to the target processor is read from the read buffer via the direct memory access controller, and the direct memory access controller is The information processing method according to claim 2, wherein the post-processing file corresponding to the file group assigned to the target processor is written to the write buffer.
前記組分ステップでは、前記複数の処理対象ファイルを、前記プロセッサの数を上限とした数のファイル群に分ける
ことを特徴とする請求項1に記載の情報処理方法。
2. The information processing method according to claim 1, wherein in the grouping step, the plurality of files to be processed are divided into a number of file groups having an upper limit on the number of the processors.
前記組分ステップでは、前記プロセッサの数と、前記所定の処理を行うために並行して実行されうる処理プログラムの数とに基づいて前記ファイル群の数を決定し、決定した数のファイル群に前記処理対象の複数のファイルを分け、
前記割当ステップでは、前記複数のプロセッサのうち、前記組分ステップで分けた各ファイル群の数と同数のプロセッサを前記対象プロセッサとして選択し、選択した各対象プロセッサに当該各ファイル群を割り当てる
ことを特徴とする請求項5に記載の情報処理方法。
In the grouping step, the number of the file groups is determined based on the number of processors and the number of processing programs that can be executed in parallel to perform the predetermined process, and the determined number of file groups Dividing a plurality of files to be processed,
In the assigning step, the same number of processors as the number of file groups divided in the grouping step among the plurality of processors are selected as the target processors, and the file groups are assigned to the selected target processors. The information processing method according to claim 5, wherein:
前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が、各々略同量となるように前記各ファイルを前記各ファイル群に分ける
ことを特徴とする請求項2に記載の情報処理方法。
In the grouping step, the files are divided into the file groups so that the processing amounts of the target processors performing predetermined processing on the files in the execution step are substantially the same. The information processing method according to claim 2.
前記組分ステップでは、前記各ファイル群に属する前記ファイルの総数が、各々略同数となるように前記各ファイルを前記各ファイル群に分ける
ことを特徴とする請求項7に記載の情報処理方法。
The information processing method according to claim 7, wherein in the grouping step, the files are divided into the file groups so that the total number of the files belonging to the file groups is substantially the same.
前記組分ステップでは、前記各ファイル群に属する全ての前記ファイルの総量が、各々略同量となるように前記各ファイルを前記各ファイル群に分ける
ことを特徴とする請求項7に記載の情報処理方法。
8. The information according to claim 7, wherein, in the grouping step, the files are divided into the file groups so that the total amount of all the files belonging to the file groups is substantially the same. Processing method.
前記1つのプロセッサは、メインプロセッサであり、
前記対象プロセッサは、サブプロセッサである
ことを特徴とする請求項1に記載の情報処理方法。
The one processor is a main processor;
The information processing method according to claim 1, wherein the target processor is a sub-processor.
前記マルチプロセッサに前記不揮発性ストレージが複数接続されており、
書込ステップでは、前記書込指示ステップで指示された各ファイルにつき、前記書き込み用バッファに書き込まれた順に、前記複数の不揮発性ストレージのうち1つの不揮発性ストレージを選択してこれに書き込み、前記1つの不揮発性ストレージを選択する際、当該ファイルが書き込まれる直前に前記書き込み用バッファに書き込まれたファイルが書き込まれる不揮発性ストレージとは異なる不揮発性ストレージを選択する
ことを特徴とする請求項3に記載の情報処理方法。
A plurality of the nonvolatile storages are connected to the multiprocessor;
In the writing step, for each file instructed in the writing instruction step, one non-volatile storage is selected from the plurality of non-volatile storages in the order written in the writing buffer, and the non-volatile storage is written, 4. When selecting one non-volatile storage, a non-volatile storage different from the non-volatile storage to which the file written in the write buffer is written immediately before the file is written is selected. The information processing method described.
前記不揮発性ストレージ及び前記ストレージコントローラは、ネットーワークを介して前記マルチプロセッサと接続される情報処理装置に接続されており、
前記読出指示ステップでは、前記情報処理装置を介して、前記ストレージコントローラに対し、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられ前記メインメモリに設定された前記読み出し用バッファに各々読み出すことを指示する
ことを特徴とする請求項1に記載の情報処理方法。
The nonvolatile storage and the storage controller are connected to an information processing device connected to the multiprocessor via a network,
In the reading instruction step, the processing target file instructed in the reading instruction step is associated with the file group to which the processing target file belongs in the setting step with respect to the storage controller via the information processing apparatus. The information processing method according to claim 1, wherein each of the read buffers set in the main memory is instructed to be read.
メインプロセッサと、ローカルメモリを有する複数のサブプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
前記メインプロセッサが、前記複数の処理対象ファイルを、複数のファイル群に分ける組分ステップと、
前記メインプロセッサが、前記組分ステップで分けた各ファイル群を、前記各サブプロセッサに割り当てる割当ステップと、
前記メインプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを、各ファイル群が割り当てられた前記各サブプロセッサの有する前記ローカルメモリに設定する設定ステップと、
前記メインプロセッサが、前記割当ステップで前記ファイル群を割り当てたサブプロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記メインプロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記ローカルメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップとを具備する
ことを特徴とする情報処理方法。
An information processing method in which a multiprocessor including a main processor and a plurality of sub-processors having a local memory performs predetermined processing on a plurality of processing target files stored in a nonvolatile storage connected to the multiprocessor. There,
The main processor divides the plurality of files to be processed into a plurality of file groups;
The main processor assigns each group of files divided in the grouping step to the sub-processors, and
A setting step in which the main processor sets a read buffer corresponding to each file group divided in the grouping step in the local memory of each sub-processor to which each file group is assigned;
An activation instruction step for instructing activation of a processing program for performing the predetermined processing to the sub processor to which the main processor has allocated the file group in the allocation step;
For the storage controller that controls the reading and writing of data to and from the nonvolatile storage, the main processor converts the processing target file stored in the nonvolatile storage into the file group to which the processing target file belongs in the setting step. A reading instruction step for instructing reading to each of the reading buffers set in the local memory in association with each other.
第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサと、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとがネットワークを介して接続され、当該第1又は第2マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
前記複数の第1プロセッサのうち1つの第1プロセッサが、前記処理対象ファイルを複数のファイル群に分ける組分ステップと、
前記1つの第1プロセッサが、前記組分ステップで分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当ステップと、
前記1つの第1プロセッサが、前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定ステップと、
前記1つの第1プロセッサが、前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記1つの第1プロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップとを具備する
ことを特徴とする情報処理方法。
A first multiprocessor including a first main memory and a plurality of first processors and a second multiprocessor including a second main memory and a plurality of second processors are connected via a network, and the first or first 2 is an information processing method for performing predetermined processing on a plurality of processing target files stored in a non-volatile storage connected to a multiprocessor,
A grouping step in which one first processor among the plurality of first processors divides the processing target file into a plurality of file groups;
An allocation step in which the one first processor allocates each file group divided in the grouping step to at least one target processor of the plurality of first processors and second processors;
The one first processor sets a read buffer corresponding to each file group allocated to the first processor among the target processors in the first main memory, and one of the plurality of second processors. A setting step for instructing the second processor to set, in the second main memory, a read buffer corresponding to each file group allocated to the second processor among the target processors;
A start instruction step in which the one first processor instructs a target processor to which the file group is assigned in the assignment step to start a processing program for performing the predetermined process;
The processing target file stored in the non-volatile storage belongs to the processing target file in the setting step to a storage controller in which the one first processor controls reading and writing of data to and from the non-volatile storage. A reading instruction step for instructing reading to each reading buffer set in at least one of the first main memory and the second main memory in association with a file group. Processing method.
前記読出指示ステップでは、前記不揮発性ストレージが前記第2マルチプロセッサに接続される場合、前記1つの第2プロセッサを介して、前記ストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する
ことを特徴とする請求項14に記載の情報処理方法。
In the reading instruction step, when the nonvolatile storage is connected to the second multiprocessor, the processing target file stored in the nonvolatile storage is transmitted to the storage controller via the one second processor. Are read in the reading buffer set in at least one of the first main memory and the second main memory in association with the file group to which the processing target file belongs in the setting step. The information processing method according to claim 14.
メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理システムであって、
前記プロセッサのうち1つのプロセッサが、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段と、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段とを具備する
ことを特徴とする情報処理システム。
An information processing system in which a multiprocessor including a main memory and a plurality of processors performs predetermined processing on a plurality of processing target files stored in a nonvolatile storage connected to the multiprocessor,
One of the processors is
A grouping means for dividing the plurality of files to be processed into a plurality of file groups;
Assigning means for assigning each file group divided by the grouping means to at least one target processor among the plurality of processors;
Setting means for setting a read buffer corresponding to each file group divided by the grouping means in the main memory;
Start instruction means for instructing a target processor to which the assigning means assigns the file group to start a processing program for performing the predetermined processing;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs by the setting unit. An information processing system comprising: a read instructing unit for instructing each read to a read buffer set in a main memory.
第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサと、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとがネットワークを介して接続され、当該第1又は第2マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理システムであって、
前記複数の第1プロセッサのうち1つの第1プロセッサが、
前記処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当て割当手段と、
前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段とを具備する
ことを特徴とする情報処理システム。
A first multiprocessor including a first main memory and a plurality of first processors and a second multiprocessor including a second main memory and a plurality of second processors are connected via a network, and the first or first 2 is an information processing system for performing predetermined processing on a plurality of processing target files stored in a non-volatile storage connected to a multiprocessor,
One first processor of the plurality of first processors is
A grouping means for dividing the file to be processed into a plurality of file groups;
Assigning and assigning each file group divided by the grouping means to at least one target processor of the plurality of first processors and second processors;
A read buffer corresponding to each file group allocated to the first processor among the target processors is set in the first main memory, and the target is set for one second processor among the plurality of second processors. Setting means for instructing to set, in the second main memory, a read buffer corresponding to each file group allocated to the second processor among the processors;
Start instruction means for instructing a target processor to which the assigning means assigns the file group to start a processing program for performing the predetermined processing;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs by the setting unit. An information processing system comprising: a read instructing unit that instructs reading to a read buffer set in at least one of the first main memory and the second main memory.
メインメモリと複数のプロセッサとを備えるマルチプロセッサを具備し、当該マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理装置であって、
前記プロセッサのうち1つのプロセッサが、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段と、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
前記割当手段が前記ファイル群を割り当てた前記対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段とを具備する
ことを特徴とする情報処理装置。
An information processing apparatus that includes a multiprocessor including a main memory and a plurality of processors, and performs predetermined processing on a plurality of processing target files stored in a nonvolatile storage connected to the multiprocessor,
One of the processors is
A grouping means for dividing the plurality of files to be processed into a plurality of file groups;
Allocating means for allocating each file group divided by the grouping means to at least one target processor among the plurality of processors;
Setting means for setting a read buffer corresponding to each file group divided by the grouping means in the main memory;
Start instruction means for instructing start of a processing program for performing the predetermined processing to the target processor to which the assigning means has assigned the file group;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs by the setting unit. An information processing apparatus comprising: a read instructing unit for instructing reading to each read buffer set in a main memory.
第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサを具備し、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサを具備する第2情報処理装置とネットワークを介して接続され、第1又は第2マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理装置であって、
前記複数の第1プロセッサのうち1つの第1プロセッサが、
前記処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及びのうち第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当手段と、
前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段とを具備する
ことを特徴とする情報処理装置。
A second information processing apparatus including a first multiprocessor including a first main memory and a plurality of first processors, and including a second multiprocessor including a second main memory and a plurality of second processors, and a network. An information processing apparatus that performs predetermined processing on a plurality of processing target files stored in a non-volatile storage connected to the first or second multiprocessor,
One first processor of the plurality of first processors is
A grouping means for dividing the file to be processed into a plurality of file groups;
Allocating means for allocating each file group divided by the grouping means to at least one target processor among the plurality of first processors and the second processor,
A read buffer corresponding to each file group allocated to the first processor among the target processors is set in the first main memory, and the target is set for one second processor among the plurality of second processors. Setting means for instructing to set, in the second main memory, a read buffer corresponding to each file group allocated to the second processor among the processors;
Start instruction means for instructing a target processor to which the assigning means assigns the file group to start a processing program for performing the predetermined processing;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs by the setting unit. An information processing apparatus comprising: a read instructing unit that instructs reading to a read buffer set in at least one of the first main memory and the second main memory.
メインメモリと複数のプロセッサとを備え、当該マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うマルチプロセッサであって、
前記プロセッサのうち1つのプロセッサが、
前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段と、
前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段とを具備する
ことを特徴とするマルチプロセッサ。
A multiprocessor that includes a main memory and a plurality of processors, and performs predetermined processing on a plurality of files to be processed stored in a nonvolatile storage connected to the multiprocessor,
One of the processors is
A grouping means for dividing the plurality of files to be processed into a plurality of file groups;
Assigning means for assigning each file group divided by the grouping means to at least one target processor among the plurality of processors;
Setting means for setting a read buffer corresponding to each file group divided by the grouping means in the main memory;
Start instruction means for instructing a target processor to which the assigning means assigns the file group to start a processing program for performing the predetermined processing;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs by the setting unit. A multiprocessor comprising: a read instructing unit for instructing each read to a read buffer set in a main memory.
第1メインメモリと複数の第1プロセッサとを備え、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとネットワークを介して接続され、当該第1マルチプロセッサ又は第2マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うマルチプロセッサであって、
前記複数の第1プロセッサのうち1つの第1プロセッサが、
前記処理対象ファイルを複数のファイル群に分ける組分手段と、
前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当手段と、
前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段と、
前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段とを具備する
ことを特徴とする第1マルチプロセッサ。
A first multiprocessor comprising a first main memory and a plurality of first processors, and a second multiprocessor comprising a second main memory and a plurality of second processors, connected via a network; A multiprocessor that performs predetermined processing on a plurality of files to be processed stored in a connected non-volatile storage,
One first processor of the plurality of first processors is
A grouping means for dividing the file to be processed into a plurality of file groups;
Allocating means for allocating each file group divided by the grouping means to at least one target processor among the plurality of first processors and second processors;
A read buffer corresponding to each file group allocated to the first processor among the target processors is set in the first main memory, and the target is set for one second processor among the plurality of second processors. Setting means for instructing to set, in the second main memory, a read buffer corresponding to each file group allocated to the second processor among the processors;
Start instruction means for instructing a target processor to which the assigning means assigns the file group to start a processing program for performing the predetermined processing;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs by the setting unit. A first multiprocessor, comprising: a read instructing unit that instructs reading to a read buffer set in at least one of the first main memory and the second main memory.
メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うための情報処理プログラムであって、
前記複数の処理対象ファイルを複数のファイル群に分ける組分ステップと、
前記組分ステップで分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当ステップと、
前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定ステップと、
前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと
を前記マルチプロセッサの備える1つのプロセッサに実行させるための情報処理プログラム。
A multiprocessor including a main memory and a plurality of processors is an information processing program for performing predetermined processing on a plurality of processing target files stored in a nonvolatile storage connected to the multiprocessor,
A step of dividing the plurality of files to be processed into a plurality of file groups;
Assigning each file group divided in the grouping step to at least one target processor of the plurality of processors;
A setting step of setting a read buffer corresponding to each file group divided in the grouping step in the main memory;
An activation instruction step for instructing activation of a processing program for performing the predetermined processing to the target processor to which the file group is allocated in the allocation step;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs in the setting step. An information processing program for causing a single processor of the multiprocessor to execute a read instruction step for instructing reading to a read buffer set in a main memory.
第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサと、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとがネットワークを介して接続され、当該第1又は第2マルチプロセッサと接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理プログラムであって、
前記処理対象ファイルを複数のファイル群に分ける組分ステップと、
前記組分ステップで分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当ステップと、
前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定ステップと、
前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと
を前記第1マルチプロセッサの備える1つの第1プロセッサに実行させるための情報処理プログラム。
A first multiprocessor including a first main memory and a plurality of first processors and a second multiprocessor including a second main memory and a plurality of second processors are connected via a network, and the first or first 2 is an information processing program for performing predetermined processing on a plurality of processing target files stored in a non-volatile storage connected to a multiprocessor,
A step of dividing the file to be processed into a plurality of file groups;
An allocating step of allocating each file group divided in the grouping step to at least one target processor among the plurality of first processors and second processors;
A read buffer corresponding to each file group allocated to the first processor among the target processors is set in the first main memory, and the target is set for one second processor among the plurality of second processors. A setting step for instructing to set, in the second main memory, a read buffer corresponding to each file group allocated to the second processor among the processors;
An activation instruction step for instructing activation of a processing program for performing the predetermined processing to the target processor to which the file group is allocated in the allocation step;
For the storage controller that controls reading and writing of data to and from the nonvolatile storage, the processing target file stored in the nonvolatile storage is associated with the file group to which the processing target file belongs in the setting step. A read instruction step for instructing reading to each of the read buffers set in at least one of the first main memory and the second main memory. Information processing program.
請求項22又は請求項23のいずれかに記載の情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。   24. A computer-readable storage medium storing the information processing program according to claim 22.
JP2006090785A 2006-03-29 2006-03-29 Information processing method, information processing system, information processing apparatus, multiprocessor, information processing program, and computer-readable storage medium storing information processing program Expired - Fee Related JP4727480B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006090785A JP4727480B2 (en) 2006-03-29 2006-03-29 Information processing method, information processing system, information processing apparatus, multiprocessor, information processing program, and computer-readable storage medium storing information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006090785A JP4727480B2 (en) 2006-03-29 2006-03-29 Information processing method, information processing system, information processing apparatus, multiprocessor, information processing program, and computer-readable storage medium storing information processing program

Publications (2)

Publication Number Publication Date
JP2007265143A true JP2007265143A (en) 2007-10-11
JP4727480B2 JP4727480B2 (en) 2011-07-20

Family

ID=38638052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006090785A Expired - Fee Related JP4727480B2 (en) 2006-03-29 2006-03-29 Information processing method, information processing system, information processing apparatus, multiprocessor, information processing program, and computer-readable storage medium storing information processing program

Country Status (1)

Country Link
JP (1) JP4727480B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003156A (en) * 2008-06-20 2010-01-07 Fuji Xerox Co Ltd Particle behavior analysis device
JP2010175311A (en) * 2009-01-28 2010-08-12 Fuji Xerox Co Ltd Particle behavior analyzer, information processor and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137812A (en) * 1994-11-08 1996-05-31 Fujitsu Ltd Method and system for parallel code conversion processing
JPH10334129A (en) * 1997-06-02 1998-12-18 Nec Corp Data processor, data processing method and information storage medium
JP2005251163A (en) * 2004-02-03 2005-09-15 Sony Corp Information processing device, information processing method, information processing system and information processing program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137812A (en) * 1994-11-08 1996-05-31 Fujitsu Ltd Method and system for parallel code conversion processing
JPH10334129A (en) * 1997-06-02 1998-12-18 Nec Corp Data processor, data processing method and information storage medium
JP2005251163A (en) * 2004-02-03 2005-09-15 Sony Corp Information processing device, information processing method, information processing system and information processing program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003156A (en) * 2008-06-20 2010-01-07 Fuji Xerox Co Ltd Particle behavior analysis device
JP2010175311A (en) * 2009-01-28 2010-08-12 Fuji Xerox Co Ltd Particle behavior analyzer, information processor and program
US8392155B2 (en) 2009-01-28 2013-03-05 Fuji Xerox Co., Ltd. Particle behavior analysis system, information processing system, and computer readable medium

Also Published As

Publication number Publication date
JP4727480B2 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
WO2015169145A1 (en) Memory management method and device
US7971026B2 (en) Information processing apparatus and access control method
JP5243711B2 (en) Processor
JP6368434B2 (en) PLD management method and PLD management system
JP4996519B2 (en) Virtual multiprocessor, system LSI, mobile phone device, and virtual multiprocessor control method
US9229765B2 (en) Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task
JP2011086064A (en) Storage unit and memory system
JP6231899B2 (en) Semiconductor device, processor system, and control method thereof
JP2018063505A (en) Memory management control unit, memory management control method and memory management control program
JP2010282585A (en) Power management circuit, power management method and power management program
KR20100102283A (en) Flash memory apparatus and method of controlling the same
JP4727480B2 (en) Information processing method, information processing system, information processing apparatus, multiprocessor, information processing program, and computer-readable storage medium storing information processing program
JPWO2007099659A1 (en) Data transfer apparatus and data transfer method
JP2015170271A (en) Storage area management apparatus, storage area management method, and storage area management program
JP4789269B2 (en) Vector processing apparatus and vector processing method
CN111221756A (en) Method for efficiently transmitting downlink data of upper computer
WO2014188642A1 (en) Scheduling system, scheduling method, and recording medium
JP2014078214A (en) Schedule system, schedule method, schedule program, and operating system
JP2007141155A (en) Multi-core control method in multi-core processor
JP4017005B2 (en) Arithmetic unit
JP2016103112A (en) Data transfer control device, information processing device, and image forming apparatus
JP6251417B2 (en) Storage system and storage control method
JP7080698B2 (en) Information processing equipment
JP6364827B2 (en) Information processing apparatus, resource access method thereof, and resource access program
JP2013142927A (en) Computer loaded with physical random number generation device and method for controlling physical random number generation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110401

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110413

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees