JP2007041813A - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

Publication number
JP2007041813A
JP2007041813A JP2005224708A JP2005224708A JP2007041813A JP 2007041813 A JP2007041813 A JP 2007041813A JP 2005224708 A JP2005224708 A JP 2005224708A JP 2005224708 A JP2005224708 A JP 2005224708A JP 2007041813 A JP2007041813 A JP 2007041813A
Authority
JP
Japan
Prior art keywords
information processing
external memory
memory
address
page
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.)
Pending
Application number
JP2005224708A
Other languages
Japanese (ja)
Inventor
Noboru Tanabe
昇 田邊
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005224708A priority Critical patent/JP2007041813A/en
Publication of JP2007041813A publication Critical patent/JP2007041813A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing system with which processing efficiency can be improved. <P>SOLUTION: This information processing system 1 is provided with a buffer memory 122 connected to a memory bus 16, and mapped on a first address space for performing access to the first arithmetic means 11, a transfer means 11 for, when page fault is generated, transferring block data in a block size with a portion or whole part of a page frame as a unit to the buffer memory 122 in a batch based on the address on the first address space and an external memory control means 130 for, when the page fault is generated, transferring a page frame between external memories 140 to 143 and the buffer memory 122 based on the address mapped on the second address space. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、スワッピング処理を行う情報処理システムおよび情報処理方法に関するものである。   The present invention relates to an information processing system and an information processing method for performing swapping processing.

従来、シリコンディスク、RAMディスク、拡張記憶と呼ばれている情報処理装置としては、PCIバスなどの標準入出力バスや、IDEまたはSCSI等のハードディスク向け標準入出力インタフェースや、専用の入出力インタフェースに接続されるものが商品として存在する。   Conventionally, as an information processing apparatus called a silicon disk, a RAM disk, and an extended memory, a standard input / output bus such as a PCI bus, a standard input / output interface for a hard disk such as IDE or SCSI, and a dedicated input / output interface are used. What is connected exists as a product.

PCIバスに装着されるものとしてはCENATEK社のRocket Driveなどがあり、SCSIに接続されるものとしてはTEXA社のRST SDシリーズ(「非特許文献1」参照)などがある。   There is a Rocket Drive of CENATEK, etc. that is mounted on the PCI bus, and there is a RST SD series of TEXA (see “Non-patent Document 1”) that is connected to the SCSI.

また、パーソナルコンピュータ等の主記憶の一部をRAMディスクとして設定することができるソフトウェアが存在する。また、一時ファイルなどをその領域に割り当てることにより高速化を達成することが可能なパッケージソフトウェアやフリーソフトウェアも存在する。   There is software that can set a part of main memory such as a personal computer as a RAM disk. There are also packaged software and free software that can achieve high speed by allocating temporary files to the area.

例えば、容量に制約が厳しいが、簡素なものとしてはMS−DOSのRAMDISK.SYSドライバなどOSに付属しているものがある。また、Windows(登録商標)においては、より容量上の制約や使い勝手が改善されたCENATEK社のRAMDiskNTやIODATA社のRamPhantomなどがこの方式にあたる。   For example, although the capacity is severely limited, as a simple one, the MS-DOS RAMDISK. Some of them come with the OS, such as a SYS driver. Also, in Windows (registered trademark), the CENATEK RAMDiskNT and the IODATA RamPhantom, which have improved capacity restrictions and usability, correspond to this method.

またプリフェッチ機能付きメモリモジュールが知られている(例えば、「特許文献1」参照)。このメモリモジュールはマザーボード、チップセットおよびCPUは、汎用の部品を使いつつ、メモリスロットに本来装着できる容量以上の記憶容量を有するメモリを装着できるものである。   A memory module with a prefetch function is known (for example, refer to “Patent Document 1”). In this memory module, a mother board, a chip set, and a CPU can be mounted with a memory having a storage capacity that is larger than a capacity that can be originally mounted in a memory slot while using general-purpose components.

特開2004−272576号公報JP 2004-272576 A TEXA社 “RDS SDシリーズリーフレット” 製品カタログ(2004.09.09)TEXA “RDS SD Series Leaflet” Product Catalog (2004.09.09)

上述のCENATEK社のRocket DriveなどPCIバスに装着される拡張記憶は、ハードディスクの代替品として、十分にメリットを見出せる程度に遅延時間が短い。しかし、主記憶へのアクセス経路と比べて低バンド幅・高遅延である。このため、十分に大きな主記憶容量を有するシステム上で、すべてを主記憶上で処理する場合と比較すると、処理内容によっては大幅な性能低下があることが予想される。   The extended memory attached to the PCI bus such as the above-mentioned CENATEK's Rocket Drive has a short delay time enough to find a merit as an alternative to the hard disk. However, it has a low bandwidth and a high delay compared to the access path to the main memory. For this reason, it is expected that there will be a significant performance degradation depending on the processing contents, as compared with the case where everything is processed on the main memory on a system having a sufficiently large main storage capacity.

また、主記憶の一部をRAMディスクとして設定するソフトウェアにおいては、主記憶の一部を本来の主記憶として用いることができなくなる。このため、あまり多くの容量を拡張記憶として提供することは困難である。限度以上に多くの容量を拡張記憶として設定するなど使い方を誤るとかえって性能低下をもたらしてしまう。   Further, in software that sets a part of the main memory as a RAM disk, a part of the main memory cannot be used as the original main memory. For this reason, it is difficult to provide too much capacity as extended storage. If you use it incorrectly, such as setting more capacity than the limit, as an extended memory, it will cause performance degradation.

さらに、32ビットアーキテクチャを有する多くのパーソナルコンピュータ上では4Gバイト以上のアドレス空間を主記憶として扱うことができず、この制約を超えるような大容量な拡張記憶を提供することは困難である。   Furthermore, on many personal computers having a 32-bit architecture, an address space of 4 Gbytes or more cannot be handled as main memory, and it is difficult to provide a large-capacity extended memory that exceeds this limitation.

以上説明したように、従来のシリコンディスク、RAMディスク、拡張記憶と呼ばれている情報処理装置は、十分に大きな主記憶容量を有するシステム上で、全てを主記憶上で処理する場合と比較すると、処理内容によっては大幅な性能低下が生じてしまう。   As described above, the information processing apparatus called a conventional silicon disk, RAM disk, and extended storage is compared with the case where all are processed on the main memory on a system having a sufficiently large main storage capacity. Depending on the processing content, a significant performance degradation will occur.

本発明は、上記に鑑みてなされたものであって、コストを抑えつつ、十分に大きな主記憶容量を有するシステム上で全てを主記憶上で処理する場合に匹敵するアプリケーション処理性能を発揮することのできる情報処理システムを提供する。   The present invention has been made in view of the above, and exhibits application processing performance comparable to the case of processing everything on the main memory on a system having a sufficiently large main storage capacity while suppressing the cost. Provide an information processing system that can

上述した課題を解決し、目的を達成するために、本発明は、演算手段と、主記憶装置と、前記演算手段および前記主記憶装置とメモリバスを介して接続された情報処理装置とを備え、前記情報処理装置は、前記メモリバスに接続され、前記演算手段によりアクセス可能な第1のアドレス空間上のアドレスを割り当てられたバッファメモリと、ページフォルトが発生した場合に、前記ページフレームの一部または全部を単位とするブロックサイズのブロックデータを前記第1のアドレス空間上のアドレスに基づいて、前記バッファメモリに一括転送を行う転送手段と、前記ページフォルトが発生した場合に、第2のアドレス空間上のアドレスを割り当てられたアドレスに基づいて、当該情報処理装置に接続された外部メモリにアクセスし、当該外部メモリと前記バッファメモリとの間でページフレームの転送を行う外部メモリ制御手段とを有することを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention includes a calculation means, a main storage device, and an information processing apparatus connected to the calculation means and the main storage device via a memory bus. The information processing apparatus is connected to the memory bus and assigned to an address in a first address space accessible by the arithmetic means, and when a page fault occurs, the information processing device A block means for transferring block data of a block size in units or whole to the buffer memory on the basis of an address in the first address space, and when the page fault occurs, Based on the address assigned to the address on the address space, the external memory connected to the information processing apparatus is accessed, and the address And having an external memory control unit for transferring page frame between the parts memory and the buffer memory.

また、本発明の他の形態は、演算手段と、主記憶装置と、前記演算手段および前記主記憶装置とメモリバスを介して接続された情報処理装置とを備えた情報処理システムにおける情報処理方法であって、ページフォルトが発生した場合に、前記メモリバスに接続され、前記演算手段によりアクセス可能な第1のアドレス空間上割り当てられたバッファメモリに接続された前記メモリバスを介して前記ページフレームの一部または全部を単位とするブロックサイズのブロックデータを前記第1のアドレス空間上のアドレスに基づいて、前記バッファメモリに一括転送を行う転送ステップと、前記ページフォルトが発生した場合に、第2のアドレス空間上に割り当てられたアドレスに基づいて、当該情報処理装置に接続された外部メモリにアクセスし、当該外部メモリと前記バッファメモリとの間でページフレームの転送を行う外部メモリ制御ステップとを有することを特徴とする。   According to another aspect of the present invention, there is provided an information processing method in an information processing system including a calculation unit, a main storage device, and an information processing device connected to the calculation unit and the main storage device via a memory bus. When a page fault occurs, the page frame is connected to the memory bus and connected to the buffer memory allocated on the first address space accessible by the arithmetic means. A block step of transferring block data having a block size in units of all or part of the block data to the buffer memory based on an address in the first address space, and when the page fault occurs, The external memory connected to the information processing apparatus is accessed based on the address assigned in the address space of 2. And characterized by having an external memory control step for transferring page frame between the external memory and the buffer memory.

本発明にかかる情報処理システムは、ページフォルトが発生した場合に、第1のアドレス空間上にマップされたバッファメモリのデータサイズ分を単位として、主記憶装置とバッファメモリとの間でページフレームが一括転送され、さらに、第2のアドレス空間上にマップされたアドレスに基づいて、外部メモリとバッファメモリとの間でページフレームが転送される。このように、メモリバスおよびバッファメモリを介して大容量の外部メモリとの間でページフレームの転送を行うことができるので、処理効率を向上させることができるという効果を奏する。   In the information processing system according to the present invention, when a page fault occurs, a page frame is transferred between the main storage device and the buffer memory in units of the data size of the buffer memory mapped on the first address space. A page frame is transferred between the external memory and the buffer memory on the basis of the addresses transferred in a lump and mapped onto the second address space. As described above, since page frames can be transferred to and from a large-capacity external memory via the memory bus and the buffer memory, the processing efficiency can be improved.

以下に、本発明にかかる情報処理システムおよび情報処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Embodiments of an information processing system and an information processing method according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

(実施の形態1)
図1は、情報処理システム1の全体構成を示す図である。情報処理システム1は、CPU11と、ノースブリッジ12と、サウスブリッジ13と、主記憶14a,14bと、メモリバス16と、メモリモジュール100とを備えている。
(Embodiment 1)
FIG. 1 is a diagram showing the overall configuration of the information processing system 1. The information processing system 1 includes a CPU 11, a north bridge 12, a south bridge 13, main memories 14 a and 14 b, a memory bus 16, and a memory module 100.

CPU11は、主記憶14a,14bや外部メモリ140〜143のデータを利用して演算を行う。ノースブリッジ12およびサウスブリッジ13は、CPU11と他の機器との間を仲介する。ノースブリッジ12には、メモリバス16が接続している。メモリバス16には、主記憶14a,14bおよびメモリモジュール100が接続している。ノースブリッジ12は、メモリバス16を介して主記憶14a,14bおよびメモリモジュール100に直接アクセスする。   The CPU 11 performs calculations using data in the main memories 14a and 14b and the external memories 140 to 143. The north bridge 12 and the south bridge 13 mediate between the CPU 11 and other devices. A memory bus 16 is connected to the north bridge 12. Main memories 14 a and 14 b and a memory module 100 are connected to the memory bus 16. The north bridge 12 directly accesses the main memories 14 a and 14 b and the memory module 100 via the memory bus 16.

情報処理システム1は、上限が1GBの3つのメモリスロット(図示せず)を備えている。このうち2本にはビット単価の安い512MBのメモリモジュールを装着する。これにより、合計1GBの主記憶14a,14bとする。さらに、残りの1本にシリコンディスクとして機能させるベクトルロードストア機能付きのメモリモジュール100を装着する。   The information processing system 1 includes three memory slots (not shown) whose upper limit is 1 GB. Two of these are equipped with 512 MB memory modules with a low bit unit price. As a result, a total of 1 GB of main memories 14a and 14b is obtained. Further, a memory module 100 with a vector load store function for functioning as a silicon disk is attached to the remaining one.

メモリモジュール100は、ベクトルロードストア機能付きメモリモジュールであり、シリコンディスク上に形成されている。メモリモジュール100は、ページフォルトハンドラにおいてアクセスされる。さらに、キャッシュのミスヒットにおいてもアクセスされる。   The memory module 100 is a memory module with a vector load / store function, and is formed on a silicon disk. The memory module 100 is accessed in a page fault handler. Furthermore, it is also accessed in a cache miss hit.

メモリモジュール100は、情報処理装置150と、複数の外部メモリ140〜143を有している。情報処理装置150は、ネットワーク制御部110と、メモリバスインタフェース120と、外部メモリ制御部130とを有している。情報処理装置150の各部は、電子回路基板上に形成されている。   The memory module 100 includes an information processing device 150 and a plurality of external memories 140 to 143. The information processing apparatus 150 includes a network control unit 110, a memory bus interface 120, and an external memory control unit 130. Each part of the information processing apparatus 150 is formed on an electronic circuit board.

メモリモジュール100には、2GBの外部メモリを構成するメモリモジュールを4枚装着する。これにより、合計8GBの容量の外部メモリ140〜143が搭載される。8GBの外部メモリ140〜143は、上限が1GBのメモリスロットに装着されている。   In the memory module 100, four memory modules constituting a 2 GB external memory are mounted. Thereby, the external memories 140 to 143 having a total capacity of 8 GB are mounted. The 8 GB external memories 140 to 143 are installed in a memory slot whose upper limit is 1 GB.

メモリバスインタフェース120は、バッファメモリ122と、バッファメモリ監視部124と、アドレス拡張レジスタ126とを含んでいる。外部メモリ制御部130は、アドレス生成部132を有している。   The memory bus interface 120 includes a buffer memory 122, a buffer memory monitoring unit 124, and an address extension register 126. The external memory control unit 130 has an address generation unit 132.

メモリモジュール100の外部メモリ140〜143は、CPU11が利用するデータを格納している。より具体的には、外部メモリ140〜143は、ページフォルトが発生した場合に、主記憶14a,14bとの間で交換されるページフレームを格納している。   The external memories 140 to 143 of the memory module 100 store data used by the CPU 11. More specifically, the external memories 140 to 143 store page frames exchanged with the main memories 14a and 14b when a page fault occurs.

情報処理装置150は、外部メモリ140〜143およびネットワークへのアクセスを制御する。情報処理装置150のメモリバスインタフェース120は、メモリバス16との間のデータ転送を管理する。   The information processing apparatus 150 controls access to the external memories 140 to 143 and the network. The memory bus interface 120 of the information processing apparatus 150 manages data transfer with the memory bus 16.

外部メモリ制御部130は、外部メモリ140〜143とバッファメモリ122との間のデータ転送を制御する。具体的には、ベクトルロードコマンドにより連続アクセスを行う。外部メモリ制御部130のアドレス生成部132は、メモリバス16を介してCPU11からベクトルロードコマンドまたはベクトルストアコマンドを取得する。ここで、ベクトルロードとは、所定のサイズのデータを外部メモリ140〜143から読み出し、バッファメモリ122に書き込むことをいう。ベクトルストアとは、所定のサイズのデータを読み出し、外部メモリ140〜143に書き込むことをいう。   The external memory control unit 130 controls data transfer between the external memories 140 to 143 and the buffer memory 122. Specifically, continuous access is performed by a vector load command. The address generation unit 132 of the external memory control unit 130 acquires a vector load command or a vector store command from the CPU 11 via the memory bus 16. Here, the vector load refers to reading data of a predetermined size from the external memories 140 to 143 and writing it to the buffer memory 122. The vector store refers to reading data of a predetermined size and writing it to the external memories 140 to 143.

アドレス生成部132は、ベクトルロードコマンドまたはベクトルストアコマンドを取得すると、取得したコマンドに基づいて、コマンドにおいてアクセスすべきコマンドアドレスを生成する。ここで、コマンドアドレスは、メモリモジュール100の外部メモリ制御部130がアクセスすることのできるI/O空間上のアドレスである。I/O空間には、外部メモリ140〜143がマップされている。   When the address generation unit 132 acquires the vector load command or the vector store command, the address generation unit 132 generates a command address to be accessed in the command based on the acquired command. Here, the command address is an address on the I / O space that can be accessed by the external memory control unit 130 of the memory module 100. External memories 140 to 143 are mapped in the I / O space.

メモリバスインタフェース120のバッファメモリ122は、外部メモリ制御部130により外部メモリ140〜143から読み出されたデータまたは主記憶14a,14bから読み出されたデータを一時的に格納する。   The buffer memory 122 of the memory bus interface 120 temporarily stores data read from the external memories 140 to 143 by the external memory control unit 130 or data read from the main memories 14a and 14b.

バッファメモリ監視部124は、バッファメモリ122を監視する。具体的には、バッファメモリ122に、バッファメモリ122のデータサイズ分のデータ、すなわちデータブロック単位のページフレームが格納されたか否かを監視する。   The buffer memory monitoring unit 124 monitors the buffer memory 122. Specifically, it is monitored whether or not data corresponding to the data size of the buffer memory 122, that is, a page frame in units of data blocks, is stored in the buffer memory 122.

外部メモリ制御部130は、外部メモリ140〜143に対してデータ単位でアクセスし、必要なデータをバッファメモリ122に書き込む。バッファメモリ122へのデータサイズ分のデータの書き込みが完了すると、バッファメモリ122に格納されているデータは、主記憶14a,14bにCPU11を経由して転送される。このとき、バッファメモリ122のデータは、バッファメモリ122のサイズ分のデータ、すなわちデータブロック単位で一括転送される。すなわち、データブロックとは、ページフレームの全体または一部を1単位とするサイズである。バッファメモリ122のサブブロックのサイズは、バースト転送による転送バンド幅向上の観点からCPUの最下位階層キャッシュのラインサイズとすることが望ましい。   The external memory control unit 130 accesses the external memories 140 to 143 in units of data and writes necessary data to the buffer memory 122. When the writing of data for the data size to the buffer memory 122 is completed, the data stored in the buffer memory 122 is transferred to the main memories 14a and 14b via the CPU 11. At this time, the data in the buffer memory 122 is transferred in batches in units of data corresponding to the size of the buffer memory 122, that is, data blocks. That is, the data block is a size in which the whole or part of the page frame is a unit. The size of the sub-block of the buffer memory 122 is desirably the line size of the lowest hierarchy cache of the CPU from the viewpoint of improving the transfer bandwidth by burst transfer.

ベクトルストアコマンドにより生成されたコマンドアドレスに基づいて、バッファメモリ122に格納されているデータを外部メモリ140〜143に書き込む場合には、バッファメモリ122に連続して格納されているデータを、外部メモリアドレス空間のアドレスにより特定される領域に書き込む。   When data stored in the buffer memory 122 is written to the external memories 140 to 143 based on the command address generated by the vector store command, the data continuously stored in the buffer memory 122 is stored in the external memory. Write to the area specified by the address in the address space.

このように、外部メモリ制御部130は、ベクトルロードコマンドまたはベクトルストアコマンドから生成されたコマンドアドレスにより所定のデータの書き込みおよび読み出しを行う。ベクトルロードコマンドおよびベクトルストアコマンドは、例えば、アプリケーションの実行中にページフォルトが発生した場合に発行される。また、キャッシュのミスヒットが生じた場合に発行される。   As described above, the external memory control unit 130 writes and reads predetermined data using the command address generated from the vector load command or the vector store command. The vector load command and the vector store command are issued, for example, when a page fault occurs during execution of the application. Also issued when a cache miss hit occurs.

ページフォルトが発生した場合には、ページフォルトハンドラが起動する。ページフォルトハンドラは、ページング処理を行う。ページフォルトハンドラはさらに、起動時にディスクにアクセスするのにかえて、メモリバスインタフェース120に対しベクトルロードコマンドまたはベクトルストアコマンドを発行する。   When a page fault occurs, a page fault handler is activated. The page fault handler performs paging processing. The page fault handler further issues a vector load command or a vector store command to the memory bus interface 120 instead of accessing the disk at startup.

CPU11は、CPUがアクセス可能なアドレス空間であるCPUアドレス空間上にマップされたバッファメモリ122に格納されたデータにはアクセスすることができる。しかし、CPUアドレス空間上には外部メモリ140〜143はマップされていない。32ビットCPU11の上限は4GBであるため、8GBの外部メモリ140〜143の全容量分を直接CPU11からアクセス可能なCPUアドレス空間上に主記憶としてマップすることができないからである。したがって、外部メモリアドレス空間にはアクセスすることができない。   The CPU 11 can access data stored in the buffer memory 122 mapped on the CPU address space, which is an address space accessible by the CPU. However, the external memories 140 to 143 are not mapped on the CPU address space. This is because the upper limit of the 32-bit CPU 11 is 4 GB, and the entire capacity of the external memory 140 to 143 of 8 GB cannot be mapped as the main memory on the CPU address space that can be directly accessed from the CPU 11. Therefore, the external memory address space cannot be accessed.

したがって、例えば、ページフォルトが発生し、主記憶14a,14bに格納されているページフレームを外部メモリ140〜143に書き込む場合には、まずページフォルトハンドラによりベクトルストアコマンドが発行される。そして、ベクトルストアコマンドにより主記憶14a,14bのページフレームがバッファメモリ122に書き込まれる。そして、一旦バッファメモリ122に書き込まれたページフレームは、外部メモリ制御部130によりバッファメモリ122から読み出され、外部メモリ140〜143の所定の領域に書き込まれる。このとき外部メモリ制御部130は、CPUアドレス空間とは独立した外部メモリアドレス空間上のアドレスに基づいて、外部メモリ140〜143の所定の領域にアクセスする。   Therefore, for example, when a page fault occurs and the page frames stored in the main memories 14a and 14b are written to the external memories 140 to 143, a vector store command is first issued by the page fault handler. Then, the page frames of the main memories 14a and 14b are written into the buffer memory 122 by the vector store command. The page frame once written in the buffer memory 122 is read from the buffer memory 122 by the external memory control unit 130 and written in a predetermined area of the external memories 140 to 143. At this time, the external memory control unit 130 accesses a predetermined area of the external memories 140 to 143 based on an address in the external memory address space independent of the CPU address space.

このように、主記憶14a,14bに格納されているページフレームは、バッファメモリ122を介して間接的に外部メモリ140〜143に書き込まれる。   As described above, the page frames stored in the main memories 14 a and 14 b are indirectly written to the external memories 140 to 143 through the buffer memory 122.

さらに、外部メモリアドレス空間におけるアドレスが利用されるので、CPU11がIA32アーキテクチャのように32ビット専用のアーキテクチャであったとしても8GBの外部メモリ140〜143に問題なくロードストアすることができる。   Furthermore, since addresses in the external memory address space are used, even if the CPU 11 has a 32-bit dedicated architecture such as the IA32 architecture, it can be loaded and stored in the 8 GB external memories 140 to 143 without any problem.

一方、外部メモリ140〜143に格納されているページフレームを主記憶14a,14bに書き込む場合には、まずページフォルトハンドラによりベクトルロードコマンドが発行される。そしてベクトルロードコマンドにより外部メモリ140〜143からバッファメモリ122にページフレームを書き込む。   On the other hand, when a page frame stored in the external memories 140 to 143 is written in the main memories 14a and 14b, a vector load command is first issued by the page fault handler. Then, the page frame is written from the external memories 140 to 143 to the buffer memory 122 by the vector load command.

そして、バッファメモリ122におけるベクトルロードが完了した後に、バッファメモリ122へのリードアクセスを行い、データブロック単位でバッファメモリ122からページフレームを読み出し、主記憶14a,14bに一括転送する。このように、バッファメモリ122から間接的に外部メモリ140〜143に格納されているページフレームは、バッファメモリ122を介して主記憶14a,14bに転送される。このように、外部メモリ140〜143は、外部メモリアドレス空間上にマップされ、ページフレーム格納領域として利用される。   Then, after the vector load in the buffer memory 122 is completed, read access to the buffer memory 122 is performed, a page frame is read from the buffer memory 122 in units of data blocks, and is transferred to the main memories 14a and 14b at once. As described above, the page frames stored in the external memories 140 to 143 indirectly from the buffer memory 122 are transferred to the main memories 14 a and 14 b via the buffer memory 122. As described above, the external memories 140 to 143 are mapped on the external memory address space and are used as page frame storage areas.

メモリモジュール100のネットワーク制御部110は、この外部メモリ140〜143にアクセスして送受信に関わるデータを読み書きする。さらに、CPU11が制御用のデータをネットワーク制御部110に対して読み書きすることにより、ネットワーク制御部110が外部メモリ140〜143にアクセスしつつ、CPU11から指示された通信を実行することでネットワークインタフェースとしての機能を果たす。   The network control unit 110 of the memory module 100 accesses the external memories 140 to 143 to read / write data related to transmission / reception. Further, the CPU 11 reads / writes control data from / to the network control unit 110, so that the network control unit 110 accesses the external memories 140 to 143 and executes communication instructed by the CPU 11 as a network interface. Fulfills the function.

図2は、実施の形態1にかかる情報処理システム1によるスワッピング処理を示すフローチャートである。アプリケーションの実行中にページフォルトが発生すると(ステップS100,Yes)、ページフォルトハンドラが呼び出される(ステップS102)。ここで、ページフォルトハンドラは、ページフォルト制御手段として動作する。   FIG. 2 is a flowchart of the swapping process performed by the information processing system 1 according to the first embodiment. If a page fault occurs during execution of the application (step S100, Yes), a page fault handler is called (step S102). Here, the page fault handler operates as a page fault control means.

次に、ページフォルトハンドラは、アドレス拡張処理を行う(ステップS104)。ここで、アドレス拡張処理とは、外部メモリ140〜143を識別するためのアドレスをアドレス拡張レジスタ126に書き込む処理である。本実施の形態においては、メモリバスは、32ビット幅である。したがって不足している、外部メモリ140〜143の上位3ビットのアドレスがアドレス拡張レジスタ126に書き込まれる。   Next, the page fault handler performs address extension processing (step S104). Here, the address expansion process is a process of writing an address for identifying the external memories 140 to 143 into the address expansion register 126. In the present embodiment, the memory bus is 32 bits wide. Therefore, the address of the upper 3 bits of the external memories 140 to 143 that are insufficient is written to the address extension register 126.

次に、ページフォルトハンドラは、ベクトルストアコマンドを発行する(ステップS110)。ここで、ベクトルストアコマンドとは、バッファメモリ122に格納されているデータを外部メモリ140〜143に退避する旨の命令である。なお、ベクトルストアコマンドでは、データを外部メモリ140〜143のうち連続なアドレスおよび不連続なアドレスのいずれに退避させるかを指定することができる。   Next, the page fault handler issues a vector store command (step S110). Here, the vector store command is an instruction for saving the data stored in the buffer memory 122 to the external memories 140 to 143. In the vector store command, it is possible to specify whether the data is saved to a continuous address or a discontinuous address in the external memories 140 to 143.

ベクトルストアコマンドが発行されると、主記憶14a,14bの所定の領域に格納されているページフレームはメモリバス16を介してバッファメモリ122に転送される。そして、バッファメモリ122に順番に書き込まれる(ステップS112)。次に、外部メモリ制御部130のアドレス生成部132はベクトルストアコマンドに基づいて、ベクトルストアコマンドによりアクセスすべきコマンドアドレスを生成する。そして、外部メモリ制御部130は、バッファメモリ122に格納されているページフレームを外部メモリ140〜143のうち外部メモリ制御部130により生成されたコマンドアドレスにより特定される領域に書き込む(ステップS114)。以上により、主記憶14a,14bに格納されていたページフレームは、メモリバス16を介して転送され、外部メモリ140〜143に退避される。以上によりスワップアウトが完了する。   When the vector store command is issued, the page frames stored in the predetermined areas of the main memories 14a and 14b are transferred to the buffer memory 122 via the memory bus 16. And it writes in order to the buffer memory 122 (step S112). Next, the address generation unit 132 of the external memory control unit 130 generates a command address to be accessed by the vector store command based on the vector store command. Then, the external memory control unit 130 writes the page frame stored in the buffer memory 122 in an area specified by the command address generated by the external memory control unit 130 in the external memories 140 to 143 (step S114). As described above, the page frames stored in the main memories 14a and 14b are transferred via the memory bus 16 and saved in the external memories 140 to 143. This completes the swap-out.

以上のように、ホストCPU11からのライトの際には書き込みデータをバッファメモリ122にストア後、ベクトルストアコマンドを用いてバッファメモリ122から外部メモリ140〜143にコピーしてデータを書き出す。   As described above, at the time of writing from the host CPU 11, the write data is stored in the buffer memory 122 and then copied from the buffer memory 122 to the external memories 140 to 143 using the vector store command to write the data.

このように、ページフォルトが発生した場合には、主記憶14a,14bのページフレームの退避が、メモリバス16を介して行われるので処理効率を向上させることができる。   As described above, when a page fault occurs, the page frames in the main memories 14a and 14b are saved via the memory bus 16, so that the processing efficiency can be improved.

さらに、主記憶14a,14bのページフレームの退避が完了すると、次に、ページフォルトハンドラは、ベクトルロードコマンドを発行する(ステップS120)。ここで、ベクトルロードコマンドとは、外部メモリ140〜143のうち所定の領域に格納されているデータをバッファメモリ122を介して読み出す旨の命令である。なお、ベクトルロードコマンドでは、外部メモリ140〜143のうち連続なアドレスおよび不連続なアドレスのいずれに対応する領域からもデータを読み出すことができる。   Further, when the saving of the page frames in the main memories 14a and 14b is completed, the page fault handler issues a vector load command (step S120). Here, the vector load command is an instruction to read data stored in a predetermined area of the external memories 140 to 143 through the buffer memory 122. In the vector load command, data can be read from an area corresponding to either a continuous address or a discontinuous address in the external memories 140 to 143.

ベクトルロードコマンドが発行されると、外部メモリ制御部130は、メモリバス16を介してベクトルロードコマンドを取得する。そして、アドレス生成部132は、ベクトルロードコマンドに基づいて、ベクトルロードコマンドによりアクセスすべきコマンドアドレスを生成する。そして、外部メモリ制御部130は、外部メモリ140〜143に格納されているページフレームをバッファメモリ122に順番に書き込む(ステップS122)。   When the vector load command is issued, the external memory control unit 130 acquires the vector load command via the memory bus 16. Then, the address generation unit 132 generates a command address to be accessed by the vector load command based on the vector load command. Then, the external memory control unit 130 sequentially writes the page frames stored in the external memories 140 to 143 to the buffer memory 122 (step S122).

バッファメモリ122のデータサイズ分のページフレームが書き込まれると(ステップS124,Yes)、バッファメモリ122に格納されているページフレームがデータブロック単位でメモリバス16に送出され、主記憶14a,14bに一括転送される(ステップS126)。以上により、スワップインが完了する。以上で、実施の形態1にかかる情報処理システム1によるスワッピング処理が完了する。   When a page frame corresponding to the data size of the buffer memory 122 is written (step S124, Yes), the page frame stored in the buffer memory 122 is sent to the memory bus 16 in units of data blocks and is collectively stored in the main memories 14a and 14b. Transferred (step S126). Thus, the swap-in is completed. Thus, the swapping process by the information processing system 1 according to the first embodiment is completed.

以上のように、CPU11からのリードの際にはベクトルロードコマンドを用いて外部メモリ140〜143から必要なデータをバッファメモリ122にロード後、ホストCPU11はバッファメモリ122をリードしてデータを取り込む。   As described above, when reading from the CPU 11, the host CPU 11 reads the buffer memory 122 and takes in the data after loading necessary data from the external memories 140 to 143 into the buffer memory 122 using the vector load command.

ここで、CPU11がバッファメモリ122にデータサイズ分のページフレームが書き込まれたか否かを監視する処理について説明する。具体的には、バッファメモリ122を複数のサブデータブロックに分割する。例えばバースト転送による転送バンド幅向上の観点からCPU11のキャッシュラインサイズにあわせて64バイトに分割する。そして、サブデータブロックごとにフラグを設ける。このフラグは、ページフレームを構成するブロックデータの書き込みが完了したか否かを示すものである。CPU11は、このフラグをリードすることにより、各サブデータブロックへのページフレームを構成するブロックデータの書き込みが完了したか否かを監視する。バッファメモリが512バイト、ページフレームが4KBの場合は、512/64=8より8個のサブブロックを含むバッファメモリを用いた転送を4KB/512B=8より8回繰り返すことにより、1ページフレーム全体の転送を行うことができる。   Here, a process in which the CPU 11 monitors whether or not a page frame for the data size has been written in the buffer memory 122 will be described. Specifically, the buffer memory 122 is divided into a plurality of sub data blocks. For example, it is divided into 64 bytes according to the cache line size of the CPU 11 from the viewpoint of improving the transfer bandwidth by burst transfer. A flag is provided for each sub data block. This flag indicates whether writing of block data constituting the page frame is completed. By reading this flag, the CPU 11 monitors whether or not writing of block data constituting the page frame to each sub data block is completed. When the buffer memory is 512 bytes and the page frame is 4 KB, the transfer using the buffer memory including 8 sub-blocks from 512/64 = 8 is repeated 8 times from 4 KB / 512B = 8, so that the entire page frame Can be transferred.

そして、ページフレームの書き込み完了を示す値になったことが確認された場合に、実際のリードコマンドを発行し、対応するサブデータブロックを得る。このようにページフレームの書き込み完了を監視することにより、ページフレームの書き込みが完了する前にリードコマンドを発行するのを防止することができる。すなわち、ページフレームの書き込み完了が遅延した場合であっても柔軟に対応することができる。   When it is confirmed that the value indicates completion of page frame writing, an actual read command is issued to obtain a corresponding sub data block. By monitoring the completion of page frame writing in this way, it is possible to prevent a read command from being issued before page frame writing is completed. In other words, even when the completion of page frame writing is delayed, it is possible to respond flexibly.

なお、この場合バッファメモリ122は、例えばメモリバスインタフェース120に緊密な位置に配置されたレジスタでフラグを実装し、CPU11からリードできるようにするのが好ましい。さらに、複数(例えば64ビット)のフラグの状態を1回のリードアクセスにより取得可能とするのが好ましい。   In this case, it is preferable that the buffer memory 122 is mounted with a flag using, for example, a register disposed at a close position on the memory bus interface 120 so that the CPU 11 can read the flag. Furthermore, it is preferable that a plurality of (for example, 64 bits) flag states can be acquired by one read access.

以上のように、実施の形態1にかかる情報処理システム1は、ページフォルトハンドラがスワップイン、スワップアウトを行う場合には、ディスクにアクセスするのにかえて、より転送速度の速いメモリバス16に接続されているバッファメモリ122にアクセスする。これにより、処理効率の向上を図ることができる。   As described above, when the page fault handler performs swap-in / swap-out, the information processing system 1 according to the first embodiment uses the memory bus 16 having a higher transfer speed instead of accessing the disk. The connected buffer memory 122 is accessed. As a result, the processing efficiency can be improved.

例えば、主記憶14a,14bが1GBしかなく例えば合計3GBの配列データをアクセスしなければならないようなアプリケーションプログラムを実行するとする。このとき、ページフォルトが発生してページフレームとの間でスワップイン・スワップアウトが発生したとする。この場合であっても、実施の形態1にかかる情報処理システム1においては、主記憶並みに高いバンド幅かつ低遅延でページフレームをアクセスすることができる。   For example, it is assumed that the main memory 14a, 14b has only 1 GB, and an application program that requires access to, for example, a total of 3 GB of array data is executed. At this time, it is assumed that a page fault has occurred and a swap-in / swap-out has occurred with the page frame. Even in this case, in the information processing system 1 according to the first embodiment, it is possible to access a page frame with a high bandwidth and a low delay as the main memory.

したがって、ページフォルトが発生した場合に、ハードディスクアクセスや、SCSI等の主記憶に比べると低バンド幅かつ高遅延であるインタフェースを介したアクセスを行うようなシリコンディスクへのアクセスで発生するような性能低下を防ぐことができる。   Therefore, in the event of a page fault, the performance that occurs when accessing a hard disk or accessing a silicon disk that is accessed via an interface that has a lower bandwidth and higher latency than main memory such as SCSI. Decline can be prevented.

さらに、32ビットOSの場合で主記憶が4GB、64ビットOSの場合で9GBあるかのような性能で、アプリケーションプログラムに全く変更を加えることなく処理を実行することができる。   Furthermore, the processing can be executed without changing the application program at all with the performance as if the main memory is 4 GB in the case of the 32-bit OS and 9 GB in the case of the 64-bit OS.

以上のように、本実施の形態にかかる情報処理システム1は、メモリモジュール100をディスクとみなして処理を行うことができる。   As described above, the information processing system 1 according to the present embodiment can perform processing by regarding the memory module 100 as a disk.

このように、アプリケーションプログラムを改造することなく、比較的小さな安価なパーソナルコンピュータを構成要素とし、十分に大きな容量を有するシリコンディスクを搭載することにより、OSの不安定動作や性能低下を回避しつつ、十分に大きな主記憶容量を有するシステム上で全てを主記憶上で処理する場合に匹敵するアプリケーション処理性能を発揮することができる。   Thus, without modifying the application program, a relatively small and inexpensive personal computer is used as a component, and a silicon disk having a sufficiently large capacity is mounted, thereby avoiding unstable operation and performance degradation of the OS. Application processing performance comparable to the case where everything is processed on the main memory on a system having a sufficiently large main storage capacity can be exhibited.

さらに、実施の形態1にかかる情報処理システム1は、メモリモジュール100を主記憶とみなして処理を行うことができる。   Furthermore, the information processing system 1 according to the first embodiment can perform processing by regarding the memory module 100 as main memory.

図3は、実施の形態1にかかる情報処理システム1によるプリロード処理を示すフローチャートである。プリロード処理においては、メモリモジュール100は、プログラマがコマンドでアドレスを指定して操作できる主記憶のように動作させることができる。ここでは、ページフレームの高速転送のみならず、不連続アクセス時のキャッシュのミスヒットの多発を回避するために、プリロードコマンドとしてベクトルロードコマンドが発行された場合について説明する。   FIG. 3 is a flowchart of the preload process performed by the information processing system 1 according to the first embodiment. In the preload process, the memory module 100 can be operated like a main memory that can be operated by a programmer specifying an address with a command. Here, not only high-speed transfer of page frames but also a case where a vector load command is issued as a preload command will be described in order to avoid frequent occurrence of cache miss hits during discontinuous access.

CPU11によりベクトルロードコマンドが発行されると(ステップS200)、ベクトルロードコマンドは、ノースブリッジ12およびメモリバス16を介してメモリモジュール100に転送される。   When the vector load command is issued by the CPU 11 (step S200), the vector load command is transferred to the memory module 100 via the north bridge 12 and the memory bus 16.

次に、メモリモジュール100において、ベクトルロードコマンドが起動される。そして、外部メモリ制御部130のアドレス生成部132においてベクトルロードコマンドにおいてアクセスすべきコマンドアドレスが生成される。   Next, in the memory module 100, a vector load command is activated. Then, the address generator 132 of the external memory controller 130 generates a command address to be accessed in the vector load command.

次に、外部メモリ制御部130は、アドレス生成部132により生成されたコマンドアドレスに基づいて外部メモリ140〜143にアクセスし、得られたデータを順次バッファメモリ122に書き込む(ステップS202)。   Next, the external memory control unit 130 accesses the external memories 140 to 143 based on the command address generated by the address generation unit 132, and sequentially writes the obtained data in the buffer memory 122 (step S202).

なお、図4の左側に示された1列分をキャッシュの1ラインとした場合には、通常の主記憶で不連続アクセスする場合には、黒丸のデータしか有効でないのに対し、バッファメモリ122にベクトルロードコマンドにより黒丸のデータを集めてからキャッシュに取り込むことによりヒット率を上げることができる。   If one column shown on the left side of FIG. 4 is one line of the cache, when discontinuous access is performed in the normal main memory, only the black circle data is valid, whereas the buffer memory 122 is used. It is possible to increase the hit rate by collecting the black circle data using the vector load command and then loading it into the cache.

一方、CPU11は、バッファメモリ122にバッファメモリ122分のデータが格納されたか否か、すなわちプリロードが完了したか否かを監視する。プリロードが完了すると(ステップS206,Yes)、リードコマンドを発行する(ステップS208)。   On the other hand, the CPU 11 monitors whether or not the data for the buffer memory 122 is stored in the buffer memory 122, that is, whether or not the preload is completed. When preloading is completed (step S206, Yes), a read command is issued (step S208).

具体的には、バッファメモリ122を複数のサブデータブロックに分割する。そして、サブデータブロックごとにフラグを設ける。このフラグは、プリロードが完了したか否かを示すものである。CPU11は、このフラグをリードすることにより、各サブデータブロックのプリロードが完了したか否か、すなわちサブデータブロックにデータが格納されたか否かを監視する。   Specifically, the buffer memory 122 is divided into a plurality of sub data blocks. A flag is provided for each sub data block. This flag indicates whether or not preloading has been completed. By reading this flag, the CPU 11 monitors whether or not preloading of each sub data block is completed, that is, whether or not data is stored in the sub data block.

そして、プリロード完了を示す値になったことが確認された場合に、実際のリードコマンドを発行し、対応するデータブロックを得る。このようにプリロードの完了を監視することにより、プリロードが完了する前にリードコマンドを発行するのを防止することができる。すなわち、プリロード完了が遅延した場合であっても柔軟に対応することができる。   When it is confirmed that the value indicates completion of preloading, an actual read command is issued to obtain a corresponding data block. By monitoring the completion of the preload in this way, it is possible to prevent a read command from being issued before the preload is completed. That is, even when the preload completion is delayed, it can be flexibly dealt with.

以上のようにCPU11は、リードコマンドを発行し(ステップS208)、ノースブリッジ12およびメモリバス16を介してリードコマンドをメモリモジュール100に転送する。メモリモジュール100は、リードコマンドを取得すると、リードコマンドに対応するデータ、すなわちバッファメモリ122に格納されているデータをデータブロック単位でCPU11に一括転送する(ステップS210)。以上で、情報処理システム1におけるプリロード処理が完了する。   As described above, the CPU 11 issues a read command (step S208), and transfers the read command to the memory module 100 via the north bridge 12 and the memory bus 16. When acquiring the read command, the memory module 100 collectively transfers the data corresponding to the read command, that is, the data stored in the buffer memory 122 to the CPU 11 in units of data blocks (step S210). Thus, the preload process in the information processing system 1 is completed.

以上のように、実施の形態1にかかる情報処理システム1は、メモリモジュール100を主記憶とみなしプリロード処理を行うことができる。   As described above, the information processing system 1 according to the first embodiment can perform the preload process by regarding the memory module 100 as the main memory.

さらに、外部メモリ140〜143に対し、図2において説明したようにページフォルトハンドラ経由でディスクとみなしてアクセスする領域と、アプリケーションプログラム中から主記憶とみなしてアクセスする領域とを設け、これらの領域が可変となるように制御する。そして、処理ごとにメモリモジュール100をディスクとみなして利用するか、主記憶とみなして利用するかを切り替える。   Further, as described with reference to FIG. 2, the external memories 140 to 143 are provided with an area that is accessed as a disk via a page fault handler, and an area that is accessed as a main memory in the application program. Is controlled to be variable. For each process, the memory module 100 is switched between being used as a disk and as being used as a main memory.

具体的には、OSにおいてスワップ領域の割り当てを変更可能なように設定しておく。すなわち、アドレス変換テーブルにおける仮想アドレスの属性として、主記憶とみなしてアクセス可能な領域か、ディスクとみなしてアクセス可能な領域かを設定しておく。このように、OSはアクセス可能領域指定手段として動作する。   Specifically, the OS is set so that the swap area allocation can be changed. In other words, as an attribute of the virtual address in the address conversion table, an area that can be regarded as main memory or an area that can be regarded as a disk is set. As described above, the OS operates as an accessible area designating unit.

例えば、主記憶が大きく連続アドレス領域への読み書きが高速であることが好ましいアプリケーションを実行するとする。この場合には、外部メモリ140〜143上にディスクとみなしてアクセスする領域を増加させるのが好ましい。これにより、アプリケーションプログラムを高速に実行することができる。   For example, assume that an application is executed that preferably has a large main memory and high speed reading and writing to a continuous address area. In this case, it is preferable to increase the area accessed on the external memories 140 to 143 as a disk. Thereby, an application program can be executed at high speed.

逆に大量なデータに対する不連続なアドレスへの等間隔やランダムな読み書きが高速であることが好ましいアプリケーションを実行するとする。この場合には、アプリケーションプログラム中から主記憶とみなしてアクセスする領域を増加させるのが好ましい。これにより、アプリケーションがこのような処理に対応していることが要求されるものの、アプリケーションプログラムを高速に実行することができる。   On the other hand, it is assumed that an application that preferably has a high speed at equal intervals and random reading / writing to discontinuous addresses for a large amount of data is executed. In this case, it is preferable to increase the area accessed from the application program as the main memory. Thereby, although the application is required to support such processing, the application program can be executed at high speed.

(実施の形態2)
図5は、実施の形態2にかかる情報処理システム1の全体構成を示す図である。実施の形態2にかかる情報処理システム1のハードウェア構成は、実施の形態1にかかる情報処理システム1と同様である。実施の形態2においては、汎用ページフォルトハンドラが起動すると、専用ドライバが起動する。そして、この専用ドライバにより実施の形態1において説明したようなメモリモジュール100と主記憶14a,14bの間のスワッピング処理が行われる。
(Embodiment 2)
FIG. 5 is a diagram illustrating an overall configuration of the information processing system 1 according to the second embodiment. The hardware configuration of the information processing system 1 according to the second embodiment is the same as that of the information processing system 1 according to the first embodiment. In the second embodiment, when the general-purpose page fault handler is activated, the dedicated driver is activated. The dedicated driver performs the swapping process between the memory module 100 and the main memories 14a and 14b as described in the first embodiment.

専用ドライバは、外部メモリアドレス空間にマップされた外部メモリ140〜143を仮想的なディスクとしてみせかけるためのドライバである。すなわち、ページフォルト制御手段として機能する。専用ドライバは、主記憶をアクセスする手続きの部分を、実施の形態1において説明したアドレス拡張機能を有するベクトルロードストアコマンドを用いたデータ転送手順に切り換えることにより実現することができる。これにより、主記憶とは異なる大容量で主記憶並みの高バンド幅低遅延でアクセス可能な外部メモリにOS的にはディスクとしてアクセスが可能となる。   The dedicated driver is a driver for making the external memories 140 to 143 mapped to the external memory address space appear as virtual disks. That is, it functions as a page fault control means. The dedicated driver can be realized by switching the procedure part for accessing the main memory to the data transfer procedure using the vector load / store command having the address extension function described in the first embodiment. As a result, an external memory that has a large capacity different from that of the main memory and that can be accessed with a high bandwidth and low delay comparable to the main memory can be accessed as a disk in terms of the OS.

このようにして、ひとたびメモリモジュール100の外部メモリ140〜143がCPU11からディスクとみなしてアクセスが可能になれば、OSがWindows(登録商標)の場合には、仮想的なディスクをページフレームを格納する領域として仮想記憶のスワップファイルを作成することができる。   In this way, once the external memories 140 to 143 of the memory module 100 can be accessed as a disk from the CPU 11, when the OS is Windows (registered trademark), a page frame is stored in the virtual disk. A virtual memory swap file can be created as a storage area.

図6は、実施の形態2におけるスワッピング処理を示すフローチャートである。ページフォルトが発生すると、汎用のページフォルトハンドラが呼び出される(ステップS130)。次に、さらに専用デバイスが呼び出される(ステップS132)。そして、専用デバイスにより、ステップS104以降の処理が行われる。ここで、専用デバイスは、ページフォルト制御手段として動作する。   FIG. 6 is a flowchart showing the swapping process in the second embodiment. When a page fault occurs, a general-purpose page fault handler is called (step S130). Next, a dedicated device is further called (step S132). Then, the processing after step S104 is performed by the dedicated device. Here, the dedicated device operates as a page fault control means.

このように、実施の形態2にかかる情報処理システム1においても、実施の形態1にかかる情報処理システム1と同様に、スワッピング処理において、ページフレームが主記憶並みに高いバンド幅かつ低遅延アクセスですることができる。   As described above, in the information processing system 1 according to the second embodiment, similarly to the information processing system 1 according to the first embodiment, in the swapping process, the page frame has the same high bandwidth as the main memory and low delay access. can do.

実施の形態2にかかる情報処理システム1のこれ以外の構成および処理は、実施の形態1にかかる情報処理システム1の構成および処理と同様である。   Other configurations and processes of the information processing system 1 according to the second embodiment are the same as the configurations and processes of the information processing system 1 according to the first embodiment.

(実施の形態3)
図7は、実施の形態3にかかる情報処理システム2の全体構成を示す図である。図7に示すように、情報処理システム2は、実施の形態1または実施の形態2において説明した情報処理システム1を複数備えたPCクラスタである。複数の情報処理システム1は、それぞれネットワーク5を介して接続されている。
(Embodiment 3)
FIG. 7 is a diagram illustrating an overall configuration of the information processing system 2 according to the third embodiment. As illustrated in FIG. 7, the information processing system 2 is a PC cluster including a plurality of information processing systems 1 described in the first embodiment or the second embodiment. The plurality of information processing systems 1 are connected to each other via a network 5.

各情報処理システム1は、ネットワーク5を介して遠隔ノード、すなわち他の情報処理システム1上に設けられた外部メモリアクセスすることができる。実施の形態1において図1を参照しつつ説明したように各情報処理システム1は、ネットワーク制御部110を介して遠隔ノード上の外部メモリをアクセスすることができる。   Each information processing system 1 can access an external memory provided on a remote node, that is, another information processing system 1 via the network 5. As described with reference to FIG. 1 in the first embodiment, each information processing system 1 can access an external memory on a remote node via the network control unit 110.

そこで、実施の形態3にかかる情報処理システム1においては、実施の形態1において情報処理システム1が備える外部メモリ140〜143に対するアクセスの一部を遠隔ノード上の外部メモリへのアクセスに拡張することとする。これにより、PCクラスタ全体に存在する外部メモリを仮想的なディスクとしてアクセス可能となる。   Thus, in the information processing system 1 according to the third embodiment, part of access to the external memories 140 to 143 included in the information processing system 1 in the first embodiment is extended to access to the external memory on the remote node. And As a result, the external memory existing in the entire PC cluster can be accessed as a virtual disk.

そして、遠隔ノード上の外部メモリにページフレームを格納しておくことにより、PCクラスタ全体に存在する外部メモリを仮想的に主記憶としてアクセス可能なPCクラスタを構築することができる。   By storing the page frame in the external memory on the remote node, it is possible to construct a PC cluster that can access the external memory that exists in the entire PC cluster as a virtual main memory.

図8は、以上のように構成された実施の形態3にかかる情報処理システム1によるスワッピング処理を示すフローチャートである。ページフォルトが発生すると(ステップS300)、ページフォルトハンドラが呼び出される(ステップS130)。次に、ページフォルトハンドラは、遠隔ノード上の外部メモリに対応してアドレス拡張を行う(ステップS104)。   FIG. 8 is a flowchart showing the swapping process by the information processing system 1 according to the third embodiment configured as described above. When a page fault occurs (step S300), a page fault handler is called (step S130). Next, the page fault handler performs address expansion corresponding to the external memory on the remote node (step S104).

次に、ベクトルストアコマンドを発行する(ステップS110)。これにより、主記憶14a,14bのページフレームがバッファメモリ122に退避される(ステップS112)。さらに、バッファメモリ122に格納されたページフレームはネットワーク制御部110を介して、遠隔ノード上の外部メモリに退避される(ステップS140)。   Next, a vector store command is issued (step S110). As a result, the page frames of the main memories 14a and 14b are saved in the buffer memory 122 (step S112). Further, the page frame stored in the buffer memory 122 is saved in the external memory on the remote node via the network control unit 110 (step S140).

次に、ページフォルトハンドラは、ベクトルロードコマンドを発行する(ステップS140)。これにより、遠隔ノード上の外部メモリのページフレームがバッファメモリ122に書き込まれる(ステップS142)。データサイズ分のページフレームの書き込みが完了すると(ステップS124,Yes)、バッファメモリ122のページフレームが主記憶14a,14bに書き込まれる(ステップS126)。以上で、スワッピング処理が完了する。   Next, the page fault handler issues a vector load command (step S140). As a result, the page frame of the external memory on the remote node is written into the buffer memory 122 (step S142). When the writing of the page frame for the data size is completed (step S124, Yes), the page frame of the buffer memory 122 is written to the main memories 14a and 14b (step S126). This completes the swapping process.

以上のように、各情報処理システム1は、遠隔ノード上の外部メモリを自身の外部メモリと同様に利用することによりスワッピング処理を行うことができる。   As described above, each information processing system 1 can perform the swapping process by using the external memory on the remote node in the same manner as its own external memory.

例えば、20台の情報処理システム1を備えた情報処理システム2においては、外部メモリの合計は160GBとなる。各ノードプロセッサすなわち情報処理システム1のCPU11において64ビットOSが稼動していれば、20台のCPU11が160GBの仮想的な主記憶をアクセス可能となる。   For example, in the information processing system 2 including 20 information processing systems 1, the total external memory is 160 GB. If each node processor, that is, the CPU 11 of the information processing system 1 is running a 64-bit OS, 20 CPUs 11 can access a 160 GB virtual main memory.

このように、情報処理システム2においては、中程度の大きさのデータベースのデータ全体を大容量な仮想的な主記憶上に保持させることができる。したがって、データベース検索処理などの処理を大幅に高速化することが可能となる。   As described above, in the information processing system 2, the entire data of the medium-sized database can be held on the large-capacity virtual main memory. Therefore, it is possible to greatly speed up processing such as database search processing.

田邊,箱崎,安藤,土肥,中條,宮代,北村,天野:「メモリモジュール上での等間隔アクセス連続化の効果」情報処理学会計算機アーキテクチャ研究会(March 2005)に記載されているように、ベクトルロードストア機能付きメモリモジュールによれば主記憶上に格納されたデータベース検索処理を逐次処理で最大25倍程度高速化することができる。したがって、実施の形態3にかかる情報処理システム1においては、その効果をより大規模な容量を有するデータベースにおいても発揮することが可能となる。   Tanabe, Hakozaki, Ando, Toi, Nakajo, Miyashiro, Kitamura, Amano: "Effects of Equal Interval Access Consecution on Memory Modules" Information Processing Society of Japan Computer Architecture Study Group (March 2005) According to the memory module with the load / store function, the database search process stored in the main memory can be accelerated up to about 25 times by sequential processing. Therefore, in the information processing system 1 according to the third embodiment, the effect can be exhibited even in a database having a larger capacity.

ところで、PCクラスタや並列計算機のプロセシングエレメントにおける主記憶を、ネットワーク越しにディスクとみなすことができるドライバを用いることで、上記の主記憶を寄せ集めて半導体拡張記憶を構成する技術が存在する。例えば日立製作所のスーパーテクニカルサーバーSR11000などにおいて実装されている。   By the way, there is a technique for configuring a semiconductor extended memory by gathering the above main memories by using a driver that can regard the main memories in the processing elements of PC clusters and parallel computers as disks over the network. For example, it is implemented in a super technical server SR11000 of Hitachi, Ltd.

ただし、この方式はただでさえ容量不足になりがちなプロセシングエレメントにおける主記憶の一部を本来の主記憶として用いることができなくなるためにあまり多くの容量を拡張記憶として提供することは困難であり、使い方を誤るとかえって性能低下をもたらすという欠点があった。また、ネットワーク越しでアクセスする頻度が多くなるためにネットワークに対する負担も大きい。   However, it is difficult to provide a large amount of expanded memory as this system because it becomes impossible to use a part of the main memory in the processing element that tends to be short of capacity even as the original main memory. However, there was a drawback that it would cause performance degradation if used incorrectly. In addition, since the frequency of access through the network increases, the burden on the network is large.

PCクラスタや並列計算機の遠隔ノード上の主記憶をRAMディスクとして設定する方式は、前記の方式よりは容量を多くできるものの、主記憶容量に厳しい限界があるため、あまり多くの容量を拡張記憶として提供することは困難であり、容量設定を誤るとかえって性能低下をもたらすという欠点があった。また、ネットワークに対する負担も大きい。   Although the method of setting the main memory on the remote node of the PC cluster or parallel computer as a RAM disk can have a larger capacity than the above method, there is a strict limit on the main memory capacity. It is difficult to provide, and there is a drawback that the performance is deteriorated if the capacity setting is wrong. In addition, the burden on the network is large.

これに対し、実施の形態3にかかる情報処理システム2においては、ネットワークを介して転送されたデータもバッファメモリ122に格納され、バッファメモリ122と主記憶14a,14bとの間でデータ転送が行われるため、各部の性能低下を生じることなく処理効率を向上させることができる。   On the other hand, in the information processing system 2 according to the third embodiment, data transferred via the network is also stored in the buffer memory 122, and data transfer is performed between the buffer memory 122 and the main memories 14a and 14b. Therefore, the processing efficiency can be improved without causing the performance of each part to deteriorate.

情報処理システム1の全体構成を示す図である。1 is a diagram illustrating an overall configuration of an information processing system 1. FIG. 実施の形態1にかかる情報処理システム1によるスワッピング処理を示すフローチャートである。3 is a flowchart showing swapping processing by the information processing system 1 according to the first exemplary embodiment; 実施の形態1にかかる情報処理システム1によるプリロード処理を示すフローチャートである。3 is a flowchart showing preload processing by the information processing system 1 according to the first exemplary embodiment; 外部メモリ制御部130の処理を説明するための図である。It is a figure for demonstrating the process of the external memory control part. 実施の形態2にかかる情報処理システム1の全体構成を示す図である。It is a figure which shows the whole structure of the information processing system 1 concerning Embodiment 2. FIG. 実施の形態2におけるスワッピング処理を示すフローチャートである。10 is a flowchart showing swapping processing in the second embodiment. 実施の形態3にかかる情報処理システム2の全体構成を示す図である。It is a figure which shows the whole structure of the information processing system 2 concerning Embodiment 3. FIG. 実施の形態3にかかる情報処理システム1によるスワッピング処理を示すフローチャートである。10 is a flowchart showing swapping processing by the information processing system 1 according to the third exemplary embodiment.

符号の説明Explanation of symbols

1,2 情報処理システム
5 ネットワーク
11 CPU
12 ノースブリッジ
13 サウスブリッジ
14a,14b 主記憶
16 メモリバス
100 メモリモジュール
110 ネットワーク制御部
120 メモリバスインタフェース
122 バッファメモリ
124 バッファメモリ監視部
126 アドレス拡張レジスタ
130 外部メモリ制御部
132 アドレス生成部
140 外部メモリ
150 情報処理装置
1, 2 Information processing system 5 Network 11 CPU
DESCRIPTION OF SYMBOLS 12 North bridge 13 South bridge 14a, 14b Main memory 16 Memory bus 100 Memory module 110 Network control part 120 Memory bus interface 122 Buffer memory 124 Buffer memory monitoring part 126 Address expansion register 130 External memory control part 132 Address generation part 140 External memory 150 Information processing device

Claims (12)

演算手段と、
主記憶装置と、
前記演算手段および前記主記憶装置とメモリバスを介して接続された情報処理装置と
を備え、
前記情報処理装置は、
前記メモリバスに接続され、前記演算手段によりアクセス可能な第1のアドレス空間上のアドレスを割り当てられたバッファメモリと、
ページフォルトが発生した場合に、前記ページフレームの一部または全部を単位とするブロックサイズのブロックデータを前記第1のアドレス空間上のアドレスに基づいて、前記バッファメモリに一括転送を行う転送手段と、
前記ページフォルトが発生した場合に、第2のアドレス空間上のアドレスを割り当てられたアドレスに基づいて、当該情報処理装置に接続された外部メモリにアクセスし、当該外部メモリと前記バッファメモリとの間でページフレームの転送を行う外部メモリ制御手段と
を有することを特徴とする情報処理システム。
Computing means;
A main storage device;
An information processing device connected to the arithmetic means and the main storage device via a memory bus;
The information processing apparatus includes:
A buffer memory connected to the memory bus and assigned an address on a first address space accessible by the computing means;
Transfer means for collectively transferring block data having a block size in units of part or all of the page frame to the buffer memory based on an address in the first address space when a page fault occurs; ,
When the page fault occurs, the external memory connected to the information processing apparatus is accessed based on the address assigned the address in the second address space, and the external memory is connected to the buffer memory. And an external memory control means for transferring page frames.
前記情報処理装置は、前記ページフォルトが発生した場合に、前記外部メモリ制御手段に接続された前記外部メモリを識別する上位アドレスを、前記アドレス拡張レジスタに書き込むアドレス拡張手段をさらに有し、
前記外部メモリ制御手段は、前記アドレス拡張レジスタに書き込まれた前記上位アドレスに基づいて前記外部メモリにアクセスすることにより前記外部メモリと前記バッファメモリとの間の前記ページフレームの転送を行うことを特徴とする請求項1に記載の情報処理システム。
The information processing apparatus further includes address expansion means for writing an upper address for identifying the external memory connected to the external memory control means to the address expansion register when the page fault occurs,
The external memory control means transfers the page frame between the external memory and the buffer memory by accessing the external memory based on the upper address written in the address extension register. The information processing system according to claim 1.
前記転送手段は、前記主記憶装置に格納されている前記ページフレームを前記バッファメモリに退避させ、
前記外部メモリ制御手段は、前記バッファメモリに退避された前記ページフレームを前記外部メモリに書き込むことを特徴とする請求項1または2に記載の情報処理システム。
The transfer means saves the page frame stored in the main storage device to the buffer memory,
The information processing system according to claim 1, wherein the external memory control unit writes the page frame saved in the buffer memory to the external memory.
前記ページフォルトが発生した場合に、ベクトルストアコマンドを発行するベクトルストアコマンド発行手段をさらに備え、
前記外部メモリ制御手段は、前記ベクトルストアコマンドに基づいて前記第2のアドレス空間上のアドレスを生成し、前記外部メモリのうち当該アドレスにより特定される領域に前記ページフレームを書き込むことを特徴とする請求項3に記載の情報処理システム。
A vector store command issuing means for issuing a vector store command when the page fault occurs;
The external memory control unit generates an address on the second address space based on the vector store command, and writes the page frame in an area specified by the address in the external memory. The information processing system according to claim 3.
前記外部メモリ制御手段は、前記外部メモリに格納されている前記ページフレームを読み出し、前記バッファメモリに格納し、
前記転送得手段は、前記バッファメモリに格納されている前記ページフレームを前記主記憶装置に書き込むことを特徴とする請求項1から4のいずれか一項に記載の情報処理システム。
The external memory control means reads the page frame stored in the external memory, stores it in the buffer memory,
5. The information processing system according to claim 1, wherein the transfer obtaining unit writes the page frame stored in the buffer memory into the main storage device. 6.
前記ページフォルトが発生した場合に、ベクトルロードコマンドを発行するベクトルロードコマンド発行手段をさらに備え、
前記外部メモリ制御手段は、前記ベクトルロードコマンドに基づいて前記第2のアドレス空間上のアドレスを生成し、前記外部メモリのうち当該アドレスにより特定される領域から前記ページフレームを読み出すことを特徴とする請求項5に記載の情報処理システム。
A vector load command issuing means for issuing a vector load command when the page fault occurs;
The external memory control unit generates an address on the second address space based on the vector load command, and reads the page frame from an area specified by the address in the external memory. The information processing system according to claim 5.
前記転送手段は、前記バッファメモリに前記ブロックサイズ分の前記ページフレームが格納された後に、前記バッファメモリに格納されている前記ブロックデータを前記演算装置に一括転送することを特徴とする請求項6に記載の情報処理システム。   7. The transfer unit collectively transfers the block data stored in the buffer memory to the arithmetic unit after the page frames for the block size are stored in the buffer memory. Information processing system described in 1. 前記ページフォルトが発生した場合に呼び出され、前記外部メモリに対するベクトルストアコマンドおよびベクトルロードコマンドを発行するページフォルト制御部をさらに備え、
前記外部メモリ制御手段は、前記ページフォルト制御手段により発行された前記ベクトルストアコマンドおよび前記ベクトルロードコマンドに基づいて前記外部メモリと前記バッファメモリとの間で前記ページフレームの転送を行うことを特徴とする請求項1に記載の情報処理システム。
A page fault control unit that is called when the page fault occurs and issues a vector store command and a vector load command for the external memory;
The external memory control means transfers the page frame between the external memory and the buffer memory based on the vector store command and the vector load command issued by the page fault control means. The information processing system according to claim 1.
前記ページフォルトが発生した場合に呼び出されるページフォルトハンドラと、
前記ページフォルトハンドラにおいて呼び出され、前記外部メモリに対するベクトルストアコマンドおよびベクトルロードコマンドを発行するページフォルト制御手段と
をさらに備え、
前記外部メモリ制御手段は、前記ページフォルト制御手段により発行された前記ベクトルストアコマンドおよび前記ベクトルロードコマンドに基づいて前記外部メモリと前記バッファメモリとの間で前記ページフレームの転送を行うことを特徴とする請求項1に記載の情報処理システム。
A page fault handler that is called when the page fault occurs;
Page fault control means that is called in the page fault handler and issues a vector store command and a vector load command for the external memory, and
The external memory control means transfers the page frame between the external memory and the buffer memory based on the vector store command and the vector load command issued by the page fault control means. The information processing system according to claim 1.
前記外部メモリのうち、前記ページフォルトが発生した場合にアクセス可能なページフォルト対応領域を指定するアクセス可能領域指定手段をさらに備え、
前記外部メモリ制御手段は、前記アクセス可能領域指定手段により指定された前記ページフォルト対応領域にアクセスすることを特徴とする請求項1から9のいずれか一項に記載の情報処理システム。
Of the external memory, further comprising an accessible area designating unit for designating a page fault corresponding area accessible when the page fault occurs,
The information processing system according to any one of claims 1 to 9, wherein the external memory control unit accesses the page fault corresponding region specified by the accessible region specifying unit.
前記アクセス可能領域指定手段は、前記外部メモリのうち、キャッシュのミスヒットが生じた場合にアクセス可能なキャッシュミスヒット対応領域をさらに指定し、
前記外部メモリ制御手段は、前記キャッシュのミスヒットが生じた場合には、前記アクセス可能領域指定手段により指定された前記キャッシュミスヒット対応領域にアクセスしてデータを読み出し、
前記転送手段は、前記外部メモリ制御手段によって前記外部メモリから読み出された前記データを前記メモリバスを介して一括転送することを特徴とする請求項10に記載の情報処理システム。
The accessible area designating unit further designates an area corresponding to a cache miss hit that is accessible when a cache miss occurs in the external memory,
The external memory control means, when a cache miss occurs, reads the data by accessing the cache miss hit corresponding area designated by the accessible area designating means,
11. The information processing system according to claim 10, wherein the transfer unit collectively transfers the data read from the external memory by the external memory control unit via the memory bus.
演算手段と、主記憶装置と、前記演算手段および前記主記憶装置とメモリバスを介して接続された情報処理装置とを備えた情報処理システムにおける情報処理方法であって、
ページフォルトが発生した場合に、前記メモリバスに接続され、前記演算手段によりアクセス可能な第1のアドレス空間上割り当てられたバッファメモリに接続された前記メモリバスを介して前記ページフレームの一部または全部を単位とするブロックサイズのブロックデータを前記第1のアドレス空間上のアドレスに基づいて、前記バッファメモリに一括転送を行う転送ステップと、
前記ページフォルトが発生した場合に、第2のアドレス空間上に割り当てられたアドレスに基づいて、当該情報処理装置に接続された外部メモリにアクセスし、当該外部メモリと前記バッファメモリとの間でページフレームの転送を行う外部メモリ制御ステップと
を有することを特徴とする情報処理方法。
An information processing method in an information processing system comprising a calculation means, a main storage device, and an information processing device connected to the calculation means and the main storage device via a memory bus,
When a page fault occurs, a part of the page frame or the part of the page frame is connected to the memory bus connected to the buffer memory allocated on the first address space and connected to the memory bus. A transfer step of performing batch transfer of block data of a block size in whole to the buffer memory based on an address on the first address space;
When the page fault occurs, the external memory connected to the information processing apparatus is accessed based on the address assigned in the second address space, and a page is set between the external memory and the buffer memory. And an external memory control step for transferring a frame.
JP2005224708A 2005-08-02 2005-08-02 Information processing system and information processing method Pending JP2007041813A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005224708A JP2007041813A (en) 2005-08-02 2005-08-02 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005224708A JP2007041813A (en) 2005-08-02 2005-08-02 Information processing system and information processing method

Publications (1)

Publication Number Publication Date
JP2007041813A true JP2007041813A (en) 2007-02-15

Family

ID=37799740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005224708A Pending JP2007041813A (en) 2005-08-02 2005-08-02 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP2007041813A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2278470A1 (en) 2009-07-13 2011-01-26 Fujitsu Limited Memory system and information processing device
CN102692880A (en) * 2012-04-28 2012-09-26 哈尔滨工业大学 Operation monitoring system configuration monitoring page generation method
JP2017097861A (en) * 2015-11-09 2017-06-01 グーグル インコーポレイテッド Memory devices and methods
WO2017126003A1 (en) * 2016-01-18 2017-07-27 株式会社日立製作所 Computer system including plurality of types of memory devices, and method therefor
US9880939B2 (en) 2015-09-04 2018-01-30 Toshiba Memory Corporation Memory system and information processing system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2278470A1 (en) 2009-07-13 2011-01-26 Fujitsu Limited Memory system and information processing device
US8473675B2 (en) 2009-07-13 2013-06-25 Fujitsu Limited Memory system and information processing device
CN102692880A (en) * 2012-04-28 2012-09-26 哈尔滨工业大学 Operation monitoring system configuration monitoring page generation method
US9880939B2 (en) 2015-09-04 2018-01-30 Toshiba Memory Corporation Memory system and information processing system
JP2017097861A (en) * 2015-11-09 2017-06-01 グーグル インコーポレイテッド Memory devices and methods
WO2017126003A1 (en) * 2016-01-18 2017-07-27 株式会社日立製作所 Computer system including plurality of types of memory devices, and method therefor

Similar Documents

Publication Publication Date Title
US11556433B2 (en) High performance persistent memory
US10909012B2 (en) System having persistent memory
US8370533B2 (en) Executing flash storage access requests
US20200081848A1 (en) Storage device and system
US20080235477A1 (en) Coherent data mover
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
JP2008176785A (en) Hybrid hard disk drive, computer system incorporating hybrid hard disk drive, and flash memory dma circuit for hybrid hard disk drive
KR20070070122A (en) Hard disk drive cache memory and playback device
JP6746747B2 (en) Storage system
US10268592B2 (en) System, method and computer-readable medium for dynamically mapping a non-volatile memory store
US20170083444A1 (en) Configuring fast memory as cache for slow memory
KR20200121372A (en) Hybrid memory system
US20170269863A1 (en) Electronic apparatus including memory modules that can operate in either memory mode or storage mode
WO2023125524A1 (en) Data storage method and system, storage access configuration method and related device
KR20180013693A (en) System and method for integrating overprovisioned memory devices
US5161219A (en) Computer system with input/output cache
JP2007041813A (en) Information processing system and information processing method
US20170199819A1 (en) Cache Directory Processing Method for Multi-Core Processor System, and Directory Controller
JP2016167215A (en) Memory device
KR20200117032A (en) Hybrid memory system
US20230176966A1 (en) Methods and apparatus for persistent data structures
KR20180078512A (en) Semiconductor device
US20170153994A1 (en) Mass storage region with ram-disk access and dma access
JP2010026969A (en) Data processor
JP4792065B2 (en) Data storage method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081216