JP2013114650A - Address space conversion device, address space conversion method of the same, and computer program - Google Patents

Address space conversion device, address space conversion method of the same, and computer program Download PDF

Info

Publication number
JP2013114650A
JP2013114650A JP2011263394A JP2011263394A JP2013114650A JP 2013114650 A JP2013114650 A JP 2013114650A JP 2011263394 A JP2011263394 A JP 2011263394A JP 2011263394 A JP2011263394 A JP 2011263394A JP 2013114650 A JP2013114650 A JP 2013114650A
Authority
JP
Japan
Prior art keywords
address space
address
space conversion
pci
peripheral device
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
JP2011263394A
Other languages
Japanese (ja)
Inventor
Daisuke Kamiishi
大介 上石
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2011263394A priority Critical patent/JP2013114650A/en
Publication of JP2013114650A publication Critical patent/JP2013114650A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an address space conversion device or the like for processing large-scale input/output data by avoiding constraints of an access space due to smallness of the number of processing bits.SOLUTION: The address space conversion device includes a control part and an address space conversion part controlled by the control part. In the address space conversion device, prior to accessing a peripheral device connected to the address space conversion part by controlling the address space conversion part, the control part logically sections a prescribed upper address range into address spaces forming a storage area unit, allocates the section of the address space to the address space conversion part, and then specifies a lower address of the peripheral device in the allocated address space range.

Description

本発明は、例えば、情報処理装置のアドレス空間を変換する技術分野に関する。   The present invention relates to a technical field for converting an address space of an information processing apparatus, for example.

近年、企業などで、取り扱う業務データなどの情報量が急速に増大しており、これらのデータを処理する情報処理装置は、多くの記憶装置などの周辺機器や、他の情報処理装置との間を、高速で大容量の通信ネットワーク(以下、「NW」と略称する)機能で接続することにより、大量のデータを処理することが期待されている。   In recent years, the amount of information such as business data handled by companies has increased rapidly, and information processing devices that process these data are not compatible with many peripheral devices such as storage devices and other information processing devices. Are connected with a high-speed and large-capacity communication network (hereinafter abbreviated as “NW”) function, and it is expected to process a large amount of data.

最近のNW機能として、例えば、サーバ等の情報処理装置ではG(ギガ)bps級の物理速度を有する、Network Interface Card(以下、「NIC」と称する)や、Fiber Channel(以下、「FC」と略称する)カードなどが使われている(以下、NICやFCカードを総称して、「NWカード」と称する)。   As a recent NW function, for example, a network interface card (hereinafter referred to as “NIC”) or a Fiber Channel (hereinafter referred to as “FC”) having a physical speed of G (giga) bps in an information processing apparatus such as a server. (Hereinafter abbreviated) cards are used (hereinafter, NIC and FC cards are collectively referred to as “NW cards”).

また、係るNWカードには、集積度を上げるために、1枚のカードに複数の通信ポートを搭載しているものがある。さらに、大規模な情報処理装置では、これらのNWカードを複数枚、搭載可能となっている。   Some NW cards have a plurality of communication ports mounted on one card in order to increase the degree of integration. Furthermore, a large-scale information processing apparatus can mount a plurality of these NW cards.

これらのNWカードを搭載する、サーバ等の情報処理装置では、Peripheral Component Interconnect − Special Interest Group(以下、「PCI−SIG」と称する)が、汎用バスインタフェースを規定している。   In an information processing apparatus such as a server equipped with these NW cards, Peripheral Component Interconnect-Special Interest Group (hereinafter referred to as “PCI-SIG”) defines a general-purpose bus interface.

それは、一般に普及している、Peripheral Component Interconnect(以下、「PCI」と称する)バス規格であり、この規格に対応した、拡張スロットを搭載することによって、上述のNWカードを複数枚、収容できるようにしている。   It is a commonly used Peripheral Component Interconnect (hereinafter referred to as “PCI”) bus standard, and by mounting an expansion slot corresponding to this standard, it is possible to accommodate a plurality of the above NW cards. I have to.

しかしながら、これらのPCIバスに対応したNWカードは、情報処理装置のオペレーティングシステム(Operating System;以下、「OS」と称する)や、制御ソフトウェアであるドライバと共に動作するために必要な、NWカード内のPCIバス制御チップが有するレジスタや、データ転送用のバッファなどのために、情報処理装置が有するメモリ容量の一部を占有する。   However, NW cards compatible with these PCI buses are necessary for operating together with an operating system of the information processing apparatus (hereinafter referred to as “OS”) and a driver that is control software. A part of the memory capacity of the information processing apparatus is occupied for a register of the PCI bus control chip, a buffer for data transfer, and the like.

情報処理装置のCPU(Central Proccessing Unit;以下、「CPU」と称する)は、NWカードが有するレジスタや、バッファなどの動作に必要な情報を、メモリにマッピングすることにより、そのメモリに直接アクセスすることによって、NWカードからの入出力データを高速にやりとりすることができる。   The CPU (Central Processing Unit; hereinafter referred to as “CPU”) of the information processing apparatus directly accesses the memory by mapping information necessary for the operation of the register and buffer of the NW card to the memory. Thus, input / output data from the NW card can be exchanged at high speed.

最近のNWなどの多くのカードは、動作速度が速くなってきていることと、レジスタや、バッファのサイズが大きくなってきていることから、CPUのメモリと連続的に同じ空間を用いるメモリマップドIO(Memory Mapped IO(Input Output);以下、「MMIO」と称する)と呼ばれるメモリのマッピング方法を採用しているカードが増えている。これとは別に、メモリ空間とは不連続なIO空間にマッピングするIOマップドIOがあるが、本アドレス空間変換装置ではMMIOを対象としている。   Many recent cards such as NWs have increased in operating speed and the size of registers and buffers has increased, so memory mapped memory that uses the same space as the CPU memory continuously. An increasing number of cards employ a memory mapping method called IO (Memory Mapped IO (Input Output); hereinafter referred to as “MMIO”). Apart from this, there is an IO mapped IO that maps to an IO space that is discontinuous from the memory space, but this address space conversion device targets MMIO.

係るNWカードは、伝送速度の高速化、通信ポートの集積化の他に、情報処理装置への搭載枚数の増加に伴って、情報処理装置のメモリを占有するMMIO空間が増大する。そのため、他にメモリを使用するOSやドライバの動作を圧迫する可能性がある。   Such an NW card has an increased MMIO space that occupies the memory of the information processing device as the number of mounted information processing devices increases in addition to an increase in transmission speed and integration of communication ports. For this reason, there is a possibility that the operation of an OS or a driver that uses a memory may be compressed.

すなわち、限られたメモリ空間で、OSやドライバの動作を圧迫しないようにするためには、NWなどのカードの枚数を制限する必要がある。しかし、これにより大規模な入出力機能を必要とする大量のデータ処理は困難となっている。   That is, it is necessary to limit the number of cards such as NW in order to prevent the operation of the OS and driver from being limited in a limited memory space. However, this makes it difficult to process a large amount of data that requires a large-scale input / output function.

そこで、係るメモリ空間不足の対策の一つとして、最近のサーバなどの情報処理装置は、その装置に搭載する、OSや、CPUおよびチップセットを、64bit(いわゆる、x64アーキテクチャ)に対応している。   Therefore, as one countermeasure against such a shortage of memory space, recent information processing apparatuses such as servers support the 64-bit (so-called x64 architecture) for the OS, CPU, and chipset installed in the apparatus. .

また、NWなどのカードも、メモリにおける、MMIOM空間の不足を解消するために、64bitのMMIOに対応したPCIデバイスが出現してきている。   In addition, for cards such as NW, in order to solve the shortage of MMIOM space in the memory, a PCI device corresponding to 64-bit MMIO has appeared.

しかしながら、情報処理装置は、32bit(いわゆるx86アーキテクチャ)対応から、上述した64bit対応への過渡期にあるため、一部の情報処理装置では、CPUやチップセット以外の、PCIバスを拡張するためのPCIブリッジや、PCIデバイスは、依然として、32bitの対応のままである場合がある。   However, since information processing devices are in a transitional period from 32-bit (so-called x86 architecture) support to the 64-bit support described above, some information processing devices are used to extend the PCI bus other than the CPU and chipset. PCI bridges and PCI devices may still remain 32-bit compatible.

なお、PCIバス制御チップを有するNWなどのカードは、アーキテクチャを説明する場合は、PCIデバイスと称する。また、情報処理装置が有するPCIブリッジと、PCIデバイスを総称して便宜的に周辺デバイスと呼ぶ場合がある。   A card such as an NW having a PCI bus control chip is referred to as a PCI device when the architecture is described. In addition, the PCI bridge and the PCI device included in the information processing apparatus may be collectively referred to as a peripheral device for convenience.

さらに、情報処理装置および、PCIデバイスの外部に接続する機器を周辺機器と称する。   Furthermore, an information processing apparatus and a device connected to the outside of the PCI device are referred to as peripheral devices.

つまり、情報処理装置の経路にある、PCIブリッジや、PCIデバイスが、64bitに対応していないことによって、それが制約となって、NWカードなどのPCIデバイスに割り当て可能な、メモリにおけるMMIO空間が、例えば、32bitの空間の上限である約4ギガバイト(Giga Byte;以下「GB」と称する)になってしまう。   In other words, the PCI bridge or PCI device in the path of the information processing apparatus does not support 64 bits, which is a limitation, and the MMIO space in the memory that can be allocated to the PCI device such as an NW card is limited. For example, it becomes about 4 gigabytes (Giga Byte; hereinafter referred to as “GB”) which is the upper limit of the 32-bit space.

実際には、上述したOSや、ドライバとメモリを分け合うので、NWカードなどのPCIデバイスに割り当て可能なMMIO空間はさらに狭くなる。   Actually, since the OS and the driver and the memory described above are shared, the MMIO space that can be allocated to a PCI device such as an NW card is further reduced.

例えば、最近のサーバが搭載する10GbpsのLANを1ポート内蔵するNICは、そのMMIO空間として128MBを使用する。   For example, a NIC incorporating one port of 10 Gbps LAN installed in a recent server uses 128 MB as its MMIO space.

そのため、この様なNICを、例えば8枚搭載しただけで、上述の約4GBの空間のうちの約1GBを消費してしまう。このため、このようなNWカードを数十枚必要とする、大規模な入出力機能を有する情報処理装置の構築は困難である。   For this reason, if only eight such NICs are mounted, for example, about 1 GB of the above-mentioned space of about 4 GB is consumed. For this reason, it is difficult to construct an information processing apparatus having a large-scale input / output function that requires several tens of such NW cards.

ここで、特許文献1は、情報処理装置の動作プログラムのためのメモリ空間と、周辺機器の入出力動作に必要な情報をメモリ空間に効果的に配置するメモリ空間の割り当て方法を開示する。   Here, Patent Document 1 discloses a memory space allocation method for effectively arranging a memory space for an operation program of an information processing apparatus and information necessary for input / output operations of peripheral devices in the memory space.

特許文献1で参照されている関連する技術は、例えば、32bitのCPUがアクセス可能なメモリ空間のサイズが、約4GBに制限される中で、入出力動作のためのPCIデバイスの制御プログラムのアドレス空間を制限すると、PCIデバイスが正常に動作しなくなる課題があるので、これを解決することを意図したものである。   The related technology referred to in Patent Document 1 is, for example, the address of the control program of the PCI device for input / output operations while the size of the memory space accessible by the 32-bit CPU is limited to about 4 GB. If the space is limited, there is a problem that the PCI device does not operate normally. This is intended to solve this problem.

しかしながら、上記特許文献1に記載された、メモリアドレス空間の割り当て方法では、結局、約4GBの領域の中で、入出力動作に必要な情報のためのメモリ空間を確保しつつ、装置の動作プログラム空間の割り当てを最適にすることに留まるため、一定以上の規模のシステムは、依然として構築できないという課題が残る。   However, in the memory address space allocation method described in Patent Document 1, the operation program of the device is secured while securing the memory space for information necessary for the input / output operation in the area of about 4 GB. The problem remains that a system of a certain size or larger cannot still be constructed because it only remains to optimize the space allocation.

また、特許文献2は、情報処理装置の入出力動作を制御するプログラムを実行する際に、CPUの実行アドレスを外部回路でモニタすることによって、その外部回路でデコードした情報を基に、所定のバンク単位で入出力動作を制御するプログラム領域を切替えることにより、CPUの物理アドレスの制約を受けずに、入出力領域を拡張する、入出力領域拡張用メモリ装置およびそのメモリ装置を用いた情報処理システムを開示する。   In addition, when executing a program for controlling the input / output operation of the information processing apparatus, Patent Literature 2 monitors a CPU execution address by an external circuit, and based on information decoded by the external circuit, An input / output area expansion memory device that expands the input / output area without being restricted by the physical address of the CPU by switching the program area that controls the input / output operation in units of banks, and information processing using the memory device Disclose the system.

特許文献2で参照されている関連する技術は、CPUがアクセス可能なメモリ空間を、プログラムの動作に必要な領域と、入出力の制御に必要な領域に効率よく分割するだけであって、結局、CPUやOSが扱う物理アドレスのbit数(処理bit数)で決まるアクセス可能なメモリエリアの上限を超えることができないという課題があるので、これを解決することを意図したものである。   The related technique referred to in Patent Document 2 simply divides the memory space accessible by the CPU into an area necessary for program operation and an area necessary for input / output control. Since there is a problem that the upper limit of the accessible memory area determined by the number of bits (number of processing bits) of the physical address handled by the CPU or the OS cannot be exceeded, it is intended to solve this problem.

しかしながら、上記特許文献2に記載された、入出力領域拡張用メモリ装置では、CPUが、入出力動作を制御するプログラムの実行アドレスを外部のハードウェア(以下、「HW」と称する)回路を用いてモニタするとともに、そのモニタ結果を基にバンクを選択する必要がある。   However, in the input / output area expansion memory device described in Patent Document 2, the CPU uses an external hardware (hereinafter referred to as “HW”) circuit as an execution address of a program for controlling input / output operations. It is necessary to select a bank based on the monitoring result.

また、上述のプログラムは、入出力領域のバンクを切替るトリガにはなるが、切替えた先の当該領域を外部からアドレス指定するソフトウェア(以下、「SW」と称する)の介在が必要である。さらに、プログラムの実行を、外部HWにより、一旦デコードした後、バンクを選択してから、再び、上述のSWによる仮想的な入出力領域の制御を行うため、入出力応答性能が低下するという課題がある。   The above-mentioned program serves as a trigger for switching the bank of the input / output area, but requires the intervention of software (hereinafter referred to as “SW”) for addressing the switched destination area from the outside. Furthermore, since the execution of the program is once decoded by the external HW, the bank is selected, and then the virtual input / output area is controlled again by the SW described above, so that the input / output response performance deteriorates. There is.

特開2007−233534号公報JP 2007-233534 A 特開平 9−223100号公報Japanese Patent Laid-Open No. 9-223100

上述した関連する技術では、情報処理装置の処理bit数が少ないことにより、入出力機能のために使用することができるメモリ空間は制限を受ける。その結果、入出力機能の拡張に制約が生じ、所望の大規模な情報処理装置を構築できない。あるいは、プログラムの実行をモニタする外部回路の追加や、SWの介在、およびこれらによる入出力応答性能の低下が発生するという課題がある。   In the related technology described above, the memory space that can be used for the input / output function is limited due to the small number of processing bits of the information processing apparatus. As a result, expansion of input / output functions is restricted, and a desired large-scale information processing apparatus cannot be constructed. Alternatively, there is a problem that the addition of an external circuit for monitoring the execution of the program, the intervention of the SW, and the deterioration of the input / output response performance due to these.

本発明の主たる目的は、上述した課題を解決するために、処理bit数の少なさに起因するアクセス空間の制約を回避することによって、大規模な入出力データを処理する情報処理装置を提供することにある。   In order to solve the above-described problems, the main object of the present invention is to provide an information processing apparatus that processes large-scale input / output data by avoiding access space restrictions due to the small number of processing bits. There is.

本発明は、上述した課題の解消を目的としてなされた。即ち、本発明に係るアドレス空間変換装置は、制御部と、前記制御部によって制御されるアドレス空間変換部とを備え、この制御部は、前記アドレス空間変換部に接続された周辺デバイスに、前記アドレス空間変換部を制御することによってアクセスするに先立って、所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、そのアドレス空間の区画を、前記アドレス空間変換部に割り当てた後に、その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とする。   The present invention has been made for the purpose of solving the above-described problems. That is, the address space conversion apparatus according to the present invention includes a control unit and an address space conversion unit controlled by the control unit, and the control unit is connected to the peripheral device connected to the address space conversion unit. Prior to access by controlling the address space conversion unit, a predetermined upper address range is logically partitioned into address spaces that form a storage area unit, and the address space partition is assigned to the address space conversion unit. After the assignment, the lower address of the peripheral device is specified in the range of the assigned address space.

また、同目的を達成する本発明の他の見地として、本発明に係るアドレス空間変換の制御方法は、制御部と、その制御部によって制御されるアドレス空間変換部とを備えたアドレス空間変換装置において、前記アドレス空間変換部に接続された周辺デバイスにアクセスするに先立って、
所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換部に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とする。
As another aspect of the present invention for achieving the same object, an address space conversion control method according to the present invention includes a control unit and an address space conversion unit controlled by the control unit. In prior to accessing the peripheral device connected to the address space conversion unit,
A predetermined upper address range is logically partitioned into an address space that forms a storage area unit,
The address space partition is assigned to the address space conversion unit,
A lower address of the peripheral device is specified in the range of the allocated address space.

そして、同目的を解決する本発明の更なる他の見地として、本発明に係るコンピュータ・プログラムは、制御機能と、その制御機能によって制御されるアドレス空間変換機能とを備えたアドレス空間変換装置を制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
前記制御機能は、前記アドレス空間変換機能によってアクセス可能に接続された周辺デバイスにアクセスするのに先立って、所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換機能に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定する制御を、
コンピュータに実現させることを特徴とする。
And as yet another aspect of the present invention that solves the same object, a computer program according to the present invention provides an address space conversion device having a control function and an address space conversion function controlled by the control function. A computer program for controlling the computer program,
The control function logically partitions a predetermined upper address range into an address space constituting a storage area unit prior to accessing a peripheral device accessible by the address space conversion function,
Assigning the address space partition to the address space conversion function;
Control for specifying the lower address of the peripheral device in the range of the allocated address space,
It is characterized by being realized by a computer.

本発明によれば、処理bit数の少なさに起因するアクセス空間の制約を回避することにより、大規模な入出力データを処理する情報処理装置を構築することができる。   According to the present invention, it is possible to construct an information processing apparatus that processes large-scale input / output data by avoiding access space restrictions due to the small number of processing bits.

本発明の第1の実施形態に係るアドレス空間変換装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the address space conversion apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るアドレス空間変換装置の詳細を示すブロック図である。It is a block diagram which shows the detail of the address space conversion apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るアドレス空間変換を模式的に表す図である。It is a figure which represents typically the address space conversion which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るアドレス空間変換テーブルの内容を例示する図である。It is a figure which illustrates the content of the address space conversion table which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るアドレス空間変換装置のメモリマップの一例を示す図である。It is a figure which shows an example of the memory map of the address space conversion apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるアドレス空間変換装置の起動からの動作シーケンス例を示すフローチャートである。It is a flowchart which shows the example of an operation | movement sequence after starting of the address space conversion apparatus in the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるアドレス空間変換装置のホットプラグからの動作シーケンス例を示すフローチャートである。It is a flowchart which shows the example of an operation | movement sequence from the hot plug of the address space conversion apparatus in the 2nd Embodiment of this invention. 本発明の第3の実施形態に係るアドレス空間変換装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the address space conversion apparatus which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施形態に係るアドレス空間を変換するコンピュータ・プログラムの概要を示すソフトウェアスタック図である。It is a software stack figure which shows the outline | summary of the computer program which converts the address space based on the 4th Embodiment of this invention.

以下、本発明を実施する形態について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<第1の実施形態>
まず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係るアドレス空間変換装置の概要を示すブロック図である。
<First Embodiment>
First, a first embodiment of the present invention will be described. FIG. 1 is a block diagram showing an outline of an address space conversion apparatus according to the first embodiment of the present invention.

本アドレス空間変換装置は、本装置を制御する制御部1、アドレス空間変換部2、周辺デバイス3を有する。   The address space conversion apparatus includes a control unit 1 that controls the apparatus, an address space conversion unit 2, and a peripheral device 3.

ここで、制御部1は、本アドレス空間変換装置の全体を制御する制御部である。   Here, the control unit 1 is a control unit that controls the entire address space conversion apparatus.

アドレス空間変換部2は、制御部1と、周辺デバイス3の間にあって、周辺デバイス3のアドレス空間を拡大するようにアドレス空間を変換するアドレス空間変換部である。   The address space conversion unit 2 is an address space conversion unit that is between the control unit 1 and the peripheral device 3 and converts the address space so as to expand the address space of the peripheral device 3.

周辺デバイス3は、制御部1がアクセスする対象とする周辺デバイスである。   The peripheral device 3 is a peripheral device to be accessed by the control unit 1.

また、制御部1は、アドレス空間変換部2を制御することにより、周辺デバイス3にアクセスする際に、アドレス空間変換部2の図示していない、Global−Localアドレス空間変換テーブルに基いてアドレス空間を変換する。   In addition, when the control unit 1 controls the address space conversion unit 2 to access the peripheral device 3, the control unit 1 uses an address space based on a global-local address space conversion table (not shown) of the address space conversion unit 2. Convert.

ここで、図示していないGlobalアドレスは、制御部1から、アドレス空間変換部2に与える論理的にアドレス空間を拡大したアドレスと定義する。   Here, a global address (not shown) is defined as an address that is logically expanded from the control unit 1 to the address space conversion unit 2.

また、同じく図示していないLocalアドレスは、アドレス空間変換部2から、周辺デバイス3に与える物理アドレスと定義する。   Similarly, a local address (not shown) is defined as a physical address given from the address space conversion unit 2 to the peripheral device 3.

次に、本実施形態の動作について説明する。   Next, the operation of this embodiment will be described.

まず、制御部1は、所定の上位アドレスの範囲による論理的な区画であるセグメントを、アドレス空間変換部2に割り当てておく。   First, the control unit 1 allocates segments, which are logical partitions based on a predetermined upper address range, to the address space conversion unit 2.

次に、制御部1は、周辺デバイス3にアクセスするための、アドレス空間変換部2に出力するアドレスを、そのセグメントの範囲において、周辺デバイス3の下位アドレスを特定して成るGlobalアドレスを指定する。   Next, the control unit 1 designates an address to be output to the address space conversion unit 2 for accessing the peripheral device 3, and a global address that specifies the lower address of the peripheral device 3 within the segment range. .

次に、前記アドレス空間変換部2は、上述の制御部1が指定したGlobalアドレスを基に、自身が備えるGlobal−Localアドレス変換テーブルを参照することにより、制御部1が指定する、Globalアドレスの上位アドレス空間であるセグメントを特定するとともに、そのセグメントの配下にある、アクセス目的とする周辺デバイス3の下位アドレスを特定する変換を行う。   Next, the address space conversion unit 2 refers to the Global-Local address conversion table provided by itself based on the Global address specified by the control unit 1 described above, thereby specifying the Global address specified by the control unit 1. A segment that is an upper address space is specified, and conversion is performed to specify the lower address of the peripheral device 3 that is under the segment and that is to be accessed.

すなわち、本実施形態に係るアドレス空間変換装置によれば、前記アドレス空間変換部2において、周辺デバイス3の物理アドレス空間ごと、セグメント毎に区画した上位の論理アドレス空間に変換することによって、接続可能な周辺デバイスの数を増やすことができる。   That is, according to the address space conversion apparatus according to the present embodiment, the address space conversion unit 2 can be connected by converting the physical address space of the peripheral device 3 into the higher logical address space partitioned for each segment. The number of peripheral devices can be increased.

つまり、制御部1は、周辺デバイス3の物理アドレス空間を論理的に拡張することで、大規模な入出力機能を有するアドレス空間変換装置を構築することができるという効果を奏することができる。   That is, the control unit 1 can exert an effect that an address space conversion device having a large-scale input / output function can be constructed by logically expanding the physical address space of the peripheral device 3.

また、制御部1の処理bit数に比べて、周辺デバイス3の処理ビット数が小さい装置であっても、これに制限されることなく、制御部1からは、あたかも制御主体である制御部1と、制御対象である周辺デバイス3の処理bit数が同じに見えるように扱うことができる。   Moreover, even if the number of processing bits of the peripheral device 3 is smaller than the number of processing bits of the control unit 1, the control unit 1 is not limited to this, and the control unit 1 is as if it is the controlling entity. And the number of processing bits of the peripheral device 3 to be controlled can be handled so as to appear to be the same.

さらに、アドレス空間変換部2に、Global−Localアドレス変換テーブルを追加するだけで、大規模な入出力機能を有するアドレス空間変換装置を容易に実現することができるという効果を奏することが出来る。   Furthermore, it is possible to achieve an effect that an address space conversion device having a large-scale input / output function can be easily realized only by adding a Global-Local address conversion table to the address space conversion unit 2.

<第2の実施形態>
次に、第1の実施形態を基本とする本発明の第2の実施形態について図を参照して、詳細に説明する。図2は、本実施形態に係るアドレス空間変換装置の詳細を示すブロック図である。
<Second Embodiment>
Next, a second embodiment of the present invention based on the first embodiment will be described in detail with reference to the drawings. FIG. 2 is a block diagram showing details of the address space conversion apparatus according to the present embodiment.

まず、図2に示すブロック図を参照して、その構成について説明する。   First, the configuration will be described with reference to the block diagram shown in FIG.

本アドレス空間変換装置10は、CPU11、メモリ12、チップセット13、PCIブリッジ17、PCIデバイス19から構成される。   The address space conversion apparatus 10 includes a CPU 11, a memory 12, a chip set 13, a PCI bridge 17, and a PCI device 19.

本アドレス空間変換装置10が有する、CPU11、メモリ12、チップセット13は、いわゆるx64アーキテクチャに代表される、64bitの処理bit数を有する機能ブロックである。   The CPU 11, the memory 12, and the chip set 13 included in the address space conversion apparatus 10 are functional blocks having the number of processing bits of 64 bits represented by the so-called x64 architecture.

一方で、技術進歩に伴うアーキテクチャの過渡期にあって、本アドレス空間変換装置10が有する周辺デバイスであるPCIブリッジ17および、PCIデバイス19は、32bitの処理bit数を有しており、メモリのMMIO空間を使用する。   On the other hand, the PCI bridge 17 and the PCI device 19 which are peripheral devices included in the address space conversion apparatus 10 have a 32-bit processing bit number in the transitional period of the architecture accompanying the technological advance, Use MMIO space.

また、本装置に搭載しているチップセット13は、MMIOアクセスレジスタ14、MMIOアドレスレジスタ15、およびGlobal−Localアドレス変換テーブル16を有する。   Further, the chip set 13 mounted on this apparatus has an MMIO access register 14, an MMIO address register 15, and a Global-Local address conversion table 16.

また、本装置に搭載しているPCIブリッジ17は、配下に接続する、PCIデバイス19のMMIO空間を割り当てる、MMIOアドレスレジスタ18を有する。   Further, the PCI bridge 17 mounted on this apparatus has an MMIO address register 18 that allocates the MMIO space of the PCI device 19 connected under the PCI bridge 17.

また、本装置に搭載しているPCIデバイス19は、MMIOアドレスレジスタ20および、MMIO空間にマッピングするMMIOレジスタ21を有する。   The PCI device 19 installed in this apparatus has an MMIO address register 20 and an MMIO register 21 that maps to the MMIO space.

なお、PCIデバイス19は、例えば、NWカードであるNICや、FCカードなど通信カードの他、インタフェースが、例えば、Serial Attached SCSI(Small Computer System Interface);以下、「SAS」と称する)や、シリアルATA(Serial Advanced Technology Attachment;以下、「SATA」と称する)などの記憶装置を接続する規格に対応するPCIバスカード、もしくは周辺機器などである。   Note that the PCI device 19 has an interface other than a communication card such as a NIC or an FC card, for example, a serial attached SCSI (Small Computer System Interface; hereinafter referred to as “SAS”) or a serial interface. A PCI bus card corresponding to a standard for connecting a storage device such as ATA (Serial Advanced Technology Attachment; hereinafter referred to as “SATA”), or a peripheral device.

ここで、図1に示す第1の実施形態のブロック図と対比すると、CPU11およびメモリ12は、第1の実施形態の制御部1に相当する。また、チップセット13は、第1の実施形態のアドレス空間変換部2に相当する。さらに、PCIブリッジ17およびPCIデバイス19は、第1の実施形態の周辺デバイス3に相当する。   Here, in contrast with the block diagram of the first embodiment shown in FIG. 1, the CPU 11 and the memory 12 correspond to the control unit 1 of the first embodiment. The chip set 13 corresponds to the address space conversion unit 2 of the first embodiment. Furthermore, the PCI bridge 17 and the PCI device 19 correspond to the peripheral device 3 of the first embodiment.

次に、図3について説明する。図3は、本実施形態に係るアドレス空間変換を模式的に表す図である。図3の左側は、Globl MMIOアドレス31、図3の右側は、Local MMIOアドレス32である。また、Global MMIOアドレス31は、チップセットセグメント33を有する。さらに、Local MMIOアドレス32は、ブリッジセグメント34、PCIデバイス35を有する。   Next, FIG. 3 will be described. FIG. 3 is a diagram schematically illustrating address space conversion according to the present embodiment. The left side of FIG. 3 is the Global MMIO address 31, and the right side of FIG. 3 is the Local MMIO address 32. The Global MMIO address 31 has a chipset segment 33. Further, the local MMIO address 32 has a bridge segment 34 and a PCI device 35.

次に、図4について、説明する。図4は、本実施形態に係るアドレス空間変換テーブルの内容を例示する図である。図4は、図3のアドレス空間変換を模式的に表す図に対応した、Global−Localアドレス変換テーブルである。   Next, FIG. 4 will be described. FIG. 4 is a diagram illustrating the contents of the address space conversion table according to the present embodiment. FIG. 4 is a Global-Local address conversion table corresponding to the diagram schematically representing the address space conversion of FIG.

チップセット13は、本Global−Localアドレス変換テーブル16を有している。本アドレス変換テーブルのデータ構造は、Global MMIOアドレス41と、セグメント番号42からなり、両者を対応付ける構造となっている。   The chip set 13 has a global-local address conversion table 16. The data structure of this address conversion table is composed of a Global MMIO address 41 and a segment number 42, and has a structure for associating both.

なお、図4に示すGlobal−Localアドレス変換テーブル16は、本実施形態では、一例として、HWによる再構成可能(書き換え可能、もしくはリコンフィギュアラブル)なHWルックアップ(参照)テーブルとして説明しているが、SWによって変更することが可能な、SWテーブルで実現してもよい。   In the present embodiment, the Global-Local address conversion table 16 shown in FIG. 4 is described as an HW lookup (reference) table that is reconfigurable (rewritable or reconfigurable) by HW as an example. However, it may be realized by an SW table that can be changed by the SW.

次に図5について説明する。図5は、本実施形態に係るアドレス空間変換装置のメモリマップの一例を示す図である。これは、CPU11のメモリアドレス空間50であり、CPU11から見た、64bitメモリアドレス空間51は、Global MMIOアドレスを示す。   Next, FIG. 5 will be described. FIG. 5 is a diagram showing an example of a memory map of the address space conversion apparatus according to the present embodiment. This is a memory address space 50 of the CPU 11, and a 64-bit memory address space 51 viewed from the CPU 11 indicates a global MMIO address.

そしてCPU11において動作するプログラムの用途毎に区分けされた動作空間に対応するメモリマップとなっている。   The memory map corresponds to the operation space divided for each application of the program running on the CPU 11.

続いて、第1の実施形態を基本とする本発明の第2の実施形態について図2乃至図5を参照して、その動作の概要について説明する。   Next, the outline of the operation of the second embodiment of the present invention based on the first embodiment will be described with reference to FIGS.

まず、図2に示す本アドレス空間変換装置のCPU11において動作するBIOS(Basic Input Output System)22は、本装置が起動する際、および、PCIデバイス19を、図示していない拡張スロットから抜去したり、拡張スロットに挿入したり、拡張スロットから抜去してから、挿入したりする際に、各デバイスの認識や。情報の更新を行う。   First, a basic input output system (BIOS) 22 that operates in the CPU 11 of the address space conversion apparatus shown in FIG. 2 removes the PCI device 19 from an expansion slot (not shown) when the apparatus starts up. Recognize each device when it is inserted into or removed from the expansion slot. Update information.

つまり、BIOS22は本アドレス空間変換装置が搭載している、チップセット13、PCIブリッジ17を含む全てのPCIデバイス19を認識した後に、PCIデバイスに変更があれば、そのPCIデバイス19が有するレジスタから必要な情報を収集する。   In other words, the BIOS 22 recognizes all the PCI devices 19 including the chip set 13 and the PCI bridge 17 mounted on the address space conversion apparatus, and if there is a change in the PCI devices, the BIOS 22 uses the registers of the PCI devices 19. Collect the necessary information.

その後、BIOS22は、PCIバス規格に規定されている、チップセット13が有する特別なモードである、PCIコンフィグレーション動作を使用することにより、PCIデバイス19が動作に必要とするレジスタやバッファなどの情報をメモリ12に割り当てる。   After that, the BIOS 22 uses the PCI configuration operation, which is a special mode of the chip set 13 defined in the PCI bus standard, so that the PCI device 19 needs information such as registers and buffers. Are allocated to the memory 12.

つまり、BIOS22は、PCIブリッジ17および、PCIデバイス19の各々のMMIOアドレスレジスタ18および、20から、動作に必要なメモリのサイズを読出す。   That is, the BIOS 22 reads the memory size necessary for the operation from the PCI bridge 17 and the MMIO address registers 18 and 20 of the PCI device 19.

そして、BIOS22は、それを基にして、必要なメモリのサイズのデータを、MMIOアドレスレジスタ18および、20に改めて、書込むことにより、図5に示す、メモリ空間の範囲の中で、例えば、セグメント1 MMIO53という4GB以上のメモリ領域に新たなMMIO空間を割り当てることができる。   Then, the BIOS 22 rewrites the data of the necessary memory size in the MMIO address registers 18 and 20 based on the BIOS 22 within the range of the memory space shown in FIG. A new MMIO space can be allocated to a memory area of 4 GB or more called segment 1 MMIO 53.

これにより、以降、CPU11および図示していない協働するOSは、PCIデバイス19にアクセスする際に、上述のメモリ12の新たなMMIO空間に対してCPUのリード/ライトサイクルを使用してMMIOアクセスすることができる。   As a result, when the CPU 11 and the cooperating OS (not shown) access the PCI device 19, the MMIO access is performed using the CPU read / write cycle for the new MMIO space of the memory 12 described above. can do.

なお、図5に示す例では、新たなMMIO空間の開始アドレスを0000_2001_0000_0000(hex表示。以下、同様)としている。   In the example shown in FIG. 5, the start address of the new MMIO space is set to 0000_2001_0000_0000 (hex display; the same applies hereinafter).

より具体的には、CPU11は、PCIデバイス19にデータを書込む際に、図示していないOSと協働して、目的のPCIデバイスを特定する64bitのGlobal MMIOアドレスをチップセット13のMMIOアクセスレジスタ14に設定する。   More specifically, when writing data to the PCI device 19, the CPU 11 cooperates with an OS (not shown) to assign a 64-bit Global MMIO address that identifies the target PCI device to the MMIO access of the chipset 13. Set in register 14.

その後、チップセット13は、図4に記載のGlobal−Localアドレス変換テーブル16を参照する。そして、チップセット13は、同テーブルに従い、Global MMIOアドレス41から、データを書込みたいPCIデバイス19が属するセグメント番号42と、図4に図示していない、そのPCIデバイス19のLocal MMIOアドレスに変換する。   Thereafter, the chip set 13 refers to the Global-Local address conversion table 16 illustrated in FIG. Then, according to the table, the chip set 13 converts the global MMIO address 41 into the segment number 42 to which the PCI device 19 to which data is to be written belongs and the local MMIO address of the PCI device 19 not shown in FIG. .

これによって、CPU11は、図示していないOSと協働して、目的とする、セグメント番号に属するPCIデバイス19のMMIOレジスタ21を使用して、MMIOアクセスによる書込みを行う。   Thus, the CPU 11 performs writing by MMIO access using the MMIO register 21 of the PCI device 19 belonging to the target segment number in cooperation with the OS (not shown).

次に、CPU11は、PCIデバイス19からデータを読出す際に、書込みの際と同様に、図示していないOSと協働して、目的のPCIデバイスを特定する64bitのGlobal MMIOアドレスをチップセット13のMMIOアクセスレジスタ14に設定する。   Next, when reading data from the PCI device 19, the CPU 11 cooperates with an OS (not shown) in the same way as writing to set a 64-bit Global MMIO address that identifies the target PCI device as a chipset. 13 MMIO access registers 14 are set.

その後、チップセット13は、図4に記載したGlobal−Localアドレス変換テーブル16を参照する。   Thereafter, the chip set 13 refers to the Global-Local address conversion table 16 described in FIG.

そして、チップセット13は、同テーブルに従い、Global MMIOアドレス41から、データを読出したいPCIデバイス19が属するセグメント番号42と、図4に図示していない、そのPCIデバイス19のLocal MMIOアドレスに変換する。   Then, according to the table, the chip set 13 converts the global MMIO address 41 into the segment number 42 to which the PCI device 19 to which data is read belongs and the local MMIO address of the PCI device 19 not shown in FIG. .

これによって、CPU11は、図示していないOSと協働して、目的とする、セグメント番号に属するPCIデバイス19のMMIOレジスタ21を使用して、MMIOアクセスによる読出しを行う。   As a result, the CPU 11 uses the MMIO register 21 of the PCI device 19 belonging to the target segment number in cooperation with the OS (not shown) to perform reading by MMIO access.

次に、図3に示す、本実施形態に係るMMIOのアドレス空間変換を模式的に表す図を用いて、さらに詳しく説明する。   Next, it will be described in more detail with reference to a diagram schematically showing MMIO address space conversion according to the present embodiment shown in FIG.

図3の左に記載したGlobal MMIOアドレス31は、CPU11が、指定する64bitで構成する論理アドレスである。   The Global MMIO address 31 described on the left side of FIG. 3 is a logical address composed of 64 bits designated by the CPU 11.

一方で、図3の右に示すLocal MMIOアドレス32は、周辺デバイスであるPCIブリッジ17および、PCIデバイス19の32bitの物理的な下位アドレス範囲である。   On the other hand, the Local MMIO address 32 shown on the right in FIG. 3 is a 32-bit physical lower address range of the PCI bridge 17 and the PCI device 19 which are peripheral devices.

上述の64bitの論理的なGlobal MMIOアドレス31は、上述の下位の物理的なLocal MMIOアドレス32を含むように、上位に32bitの論理的な上位アドレス範囲を配しており、合わせて64bitの論理アドレスを成している。   The 64-bit logical Global MMIO address 31 includes a 32-bit logical upper address range at the upper level so as to include the lower physical Local MMIO address 32 described above, and a 64-bit logical MMIO address 31 is combined. The address is made up.

なお、32bitの上位アドレス範囲のうちの、所定のbitで表すアドレス範囲を区画とする論理的なセグメント番号を付与することによって、そのセグメント番号の単位で、物理的な下位アドレス範囲を増やすことができる。   In addition, by assigning a logical segment number with the address range represented by a predetermined bit in the 32-bit upper address range as a partition, the physical lower address range can be increased in units of the segment number. it can.

さらに、32bitの下位アドレス範囲とは、例えば、図3の左下側に示す、Global MMIOアドレスである、0000_2001_0000_0000の下位から8桁の部分である。一方で、32bitの上位アドレス範囲とは、例えば、上記の例では、上位から8桁の部分である。   Furthermore, the 32-bit lower address range is, for example, the 8-digit portion from the lower order of 0000_2001_0000_0000, which is the Global MMIO address shown on the lower left side of FIG. On the other hand, the 32-bit upper address range is, for example, the 8-digit portion from the upper side in the above example.

ここで、図3に記載しているGlobal MMIOアドレス31が表す64bitのアドレス空間と、Local MMIOアドレス32が表す32bitのアドレス空間のアドレス範囲と、両空間の関係について説明する。   Here, the 64-bit address space represented by the Global MMIO address 31 shown in FIG. 3, the address range of the 32-bit address space represented by the Local MMIO address 32, and the relationship between the two spaces will be described.

まず、下位アドレス範囲である0000_0000〜ffff_ffffは、32bitで表される約4GB毎のアドレス範囲であり、PCIブリッジ17および、PCIデバイス19が使えるLocal MMIOアドレス32である。   First, the lower address range 0000 — 0000 to ffff_ffff is an address range of about 4 GB represented by 32 bits, and is a Local MMIO address 32 that can be used by the PCI bridge 17 and the PCI device 19.

次に、上位アドレス範囲である、0000_2001〜0000〜200fは、上述した、下位アドレス範囲の上位に位置する32bitで表されるアドレス範囲であり、論理的に区画(すなわち拡張)するためのアドレス範囲であるセグメントである。   Next, 0000 — 2001 to 0000 to 200f, which is the upper address range, is an address range represented by 32 bits located above the lower address range, and is an address range for logical partitioning (ie, expansion). Is a segment.

上述した、下位アドレス範囲の上位に上位アドレス範囲を位置したものが、Global MMIOアドレス31であり、64bitで表される。   The above-described one in which the upper address range is located above the lower address range is the Global MMIO address 31, which is represented by 64 bits.

ここで、図3の左側に記載している、上位アドレス範囲である0000_2001〜0000_200fの下位から1桁目の1〜fは、セグメントの番号もしくは個数を表している。つまり、本実施形態の例では、最大15個のセグメント番号を付与した、PCIブリッジ17を配置することができる。   Here, 1 to f in the first digit from the lower order of the upper address range 0000 — 2001 to 0000 — 200 f shown on the left side of FIG. 3 represents the segment number or number. That is, in the example of the present embodiment, the PCI bridge 17 to which a maximum of 15 segment numbers are assigned can be arranged.

また、同じく下から4桁目の2は、図5に示す、4GB以上での新たなMMIO空間である、例えば、セグメント1 MMIO(4GB以上での新MMIO空間)53以上の空間である。   Similarly, 2 in the fourth digit from the bottom is a new MMIO space of 4 GB or more shown in FIG. 5, for example, a space of segment 1 MMIO (new MMIO space of 4 GB or more) 53 or more.

ここで、図5に示すように、関連する情報処理装置では、MMIO(4GB以下での旧MMIO空間)52の範囲しか使えなかったが、本アドレス空間変換装置では、セグメント1 MMIO(4GB以上での新MMIO空間)53のような、広大なアドレス範囲を、複数のセグメント毎に割り当てて使うことができる。   Here, as shown in FIG. 5, in the related information processing apparatus, only the range of MMIO (old MMIO space below 4 GB) 52 can be used, but in this address space conversion apparatus, segment 1 MMIO (over 4 GB or more) is used. A large address range such as (new MMIO space) 53 can be allocated and used for each of a plurality of segments.

なお、PCIブリッジ17は、多段(いわゆる、カスケード)接続にすることが可能であるので、一段目のPCIブリッジに、2段目のPCIブリッジを複数個、接続する構成にしてもよい。   Since the PCI bridge 17 can be connected in multiple stages (so-called cascade), a plurality of second-stage PCI bridges may be connected to the first-stage PCI bridge.

また、PCIデバイス19は、その各々のPCIブリッジ17の配下に、少なくとも1個以上、PCIブリッジ17のアドレス範囲を超えない範囲で、接続することができる。   Further, at least one PCI device 19 can be connected to each PCI bridge 17 within a range not exceeding the address range of the PCI bridge 17.

さらに、図3の右に接続している、PCIデバイス19であるPCI10〜PCI1nや、PCIf0〜PCIfn35は、各セグメントの範囲の中で、シーケンシャルにMMIOアドレスを割り当てるようにすればよい。   Further, PCI 10 to PCI 1n and PCI f0 to PCI fn 35, which are the PCI devices 19 connected to the right in FIG. 3, may be sequentially assigned MMIO addresses within the range of each segment.

以上の本実施形態の動作について、図6、図7のフローチャートを参照して、さらに詳細に説明する。   The operation of the above embodiment will be described in more detail with reference to the flowcharts of FIGS.

図6は、本発明の第2の実施形態におけるアドレス空間変換装置の起動からの動作シーケンス例を示すフローチャートである。ここでは、一例として書込み動作も含めたフローチャートを説明する。   FIG. 6 is a flowchart showing an example of an operation sequence from the activation of the address space conversion apparatus according to the second embodiment of the present invention. Here, a flowchart including a write operation will be described as an example.

まず、本メモリアドレス空間変換装置の操作者は、本装置の電源を投入する(ステップS61)。   First, the operator of the memory address space conversion apparatus turns on the power of the apparatus (step S61).

次に、BIOS22は、本装置に接続するチップセットを含む、PCIブリッジ17および、PCIデバイス19を検出するとともに、これらのレジスタから必要なデバイス情報を取得する(ステップS62)。   Next, the BIOS 22 detects the PCI bridge 17 and the PCI device 19 including the chip set connected to the present apparatus, and acquires necessary device information from these registers (step S62).

ここで、デバイス情報とは、PCIバス規格で定められたPCIデバイスの属性情報および、PCIデバイス固有のデータの所在を示すMMIOレジスタ21などである。   Here, the device information includes PCI device attribute information defined by the PCI bus standard, the MMIO register 21 indicating the location of data unique to the PCI device, and the like.

次に、BIOS22は、特別なPCIコンフィギュレーション動作を使うことによって、PCIブリッジ17、PCIデバイス19が動作するために必要なメモリのサイズを読出す(ステップS63)。   Next, the BIOS 22 reads the size of the memory necessary for the PCI bridge 17 and the PCI device 19 to operate by using a special PCI configuration operation (step S63).

次に、BIOS22は、取得したメモリ空間アクセス用のアドレスのサイズを基に、チップセット13に、Local MMIOアドレスレンジを割当てる(ステップS64)。   Next, the BIOS 22 assigns a Local MMIO address range to the chip set 13 based on the acquired memory space access address size (step S64).

次に、BIOS22は、チップセット13に、PCIブリッジおよび、PCIデバイスを区画するセグメント番号を割当てる。なお、チップセット13へのセグメント番号の割当ては初回、起動の際に決定済みである(ステップS65)。   Next, the BIOS 22 assigns a segment number that partitions the PCI bridge and the PCI device to the chip set 13. Note that the assignment of segment numbers to the chipset 13 has already been determined at the time of activation for the first time (step S65).

その結果、BIOS22は、Local MMIOアドレスレンジと、セグメント番号を基に、チップセットに有するGlobal−Localアドレス変換テーブルを作成する(ステップS66)。BIOS22は、本装置が起動する度に、以上の初期設定を行う。   As a result, the BIOS 22 creates a Global-Local address conversion table in the chip set based on the Local MMIO address range and the segment number (Step S66). The BIOS 22 performs the above initial setting every time the apparatus is activated.

なお、ステップS66では、万が一、PCIデバイス19のうちのどれかが、故障することで、BIOS22に対してPCIデバイスから応答がない場合は、本装置が起動する際に、当該故障のPCIデバイスを除いて、Global−Localアドレス変換テーブルを作成する。   In step S66, if one of the PCI devices 19 fails and there is no response from the PCI device to the BIOS 22, the failed PCI device is selected when this apparatus is started. Except for this, a Global-Local address conversion table is created.

BIOS22は、一連のBIOSの処理を行った後に、OSを起動する(不図示)。   The BIOS 22 activates the OS after performing a series of BIOS processing (not shown).

つづいて、OSは、接続するPCIデバイスを含むデバイスリストを作成する(ステップS67)。   Subsequently, the OS creates a device list including PCI devices to be connected (step S67).

その後、OSは、PCIデバイスが格納している情報を取得する(ステップS68)。   Thereafter, the OS acquires information stored in the PCI device (step S68).

その後、OSは、PCIデバイスに合致するドライバを割当てる(ステップS69)。   Thereafter, the OS allocates a driver that matches the PCI device (step S69).

OSは、OSがブートする度に以上の初期設定を行う。   The OS performs the above initial setting every time the OS boots.

なお、ステップS67では、万が一、PCIデバイス19のうちのどれかが、故障することで、OSに対してPCIデバイスから応答がない場合は、本装置が起動する際に、当該故障のPCIデバイスを除いて、デバイスリストを作成する。   In step S67, if one of the PCI devices 19 fails and there is no response from the PCI device to the OS, the failed PCI device is selected when the apparatus is started. Except, create a device list.

次に、OSは、PCIデバイスにデータを書込むために、Global MMIOアドレスを、MMIOアクセスレジスタ14に設定する(ステップS70)。   Next, the OS sets a global MMIO address in the MMIO access register 14 in order to write data to the PCI device (step S70).

その後、チップセット13は、Global MMIOアドレス41をキーにして、Global−Local MMIOアドレス変換テーブル16を参照して、対応するPCIブリッジ19配下のセグメントを特定する(ステップS71)。   Thereafter, the chip set 13 specifies a segment under the corresponding PCI bridge 19 by referring to the Global-Local MMIO address conversion table 16 using the Global MMIO address 41 as a key (step S71).

さらに、チップセット13は、Global MMIOアドレス41をキーにして、Global−Local MMIOアドレス変換テーブル16を参照して、対応するPCIデバイスのLocal MMIOアドレスを特定する(ステップS72)。   Further, the chip set 13 specifies the Local MMIO address of the corresponding PCI device by referring to the Global-Local MMIO address conversion table 16 using the Global MMIO address 41 as a key (step S72).

なお、ステップS71と、ステップS72では、MMIOアクセスレジスタ14に、MMIOアドレスレジスタ15からのセグメント番号とLocal MMIOアドレスとを、一旦、保有している。   In step S71 and step S72, the MMIO access register 14 once holds the segment number and the local MMIO address from the MMIO address register 15.

そして、チップセット13は、Local MMIOアドレスに対応するPCIデバイスのMMIOレジスタ21にデータを書込む(ステップS73)。   Then, the chip set 13 writes data to the MMIO register 21 of the PCI device corresponding to the Local MMIO address (step S73).

以上により、CPU11は、OSと協働して、PCIデバイス19に対して必要なデータを書込むことができる。   As described above, the CPU 11 can write necessary data to the PCI device 19 in cooperation with the OS.

次に、ホットプラグの場合の動作について、図7を用いて説明する。   Next, the operation in the case of hot plug will be described with reference to FIG.

図7は、本発明の第2の実施形態におけるアドレス空間変換装置のホットプラグからの動作シーケンス例を示すフローチャートである。ここでは、一例として読出し動作も含めたフローチャートを説明する。   FIG. 7 is a flowchart showing an example of an operation sequence from hot plugging of the address space conversion apparatus according to the second embodiment of the present invention. Here, a flowchart including a read operation will be described as an example.

ここで、ホットプラグとは、操作者が、情報処理装置の稼動中に、その拡張スロットに搭載するPCIデバイスを抜いたり、追加したり、もしくはPCIデバイスを拡張スロットから抜いたあと、拡張スロットに追加したりすることである。   Here, hot plug means that an operator removes or adds a PCI device installed in the expansion slot while the information processing apparatus is in operation, or removes a PCI device from the expansion slot and then moves it to the expansion slot. Or to add.

なお、図6の起動からの動作フローチャートと同じ箇所は、説明を省略する。   The description of the same parts as those in the operation flowchart from the start in FIG.

まず、本アドレス空間変換装置の操作者は、本装置の稼動中に、本装置の拡張スロットから、PCIデバイスをホットプラグする操作を行うことを、本装置に予め通知するために、組込み釦を押下する(ステップS81)。   First, the operator of the address space conversion apparatus presses the built-in button to notify the apparatus in advance that an operation for hot plugging a PCI device from the expansion slot of the apparatus is performed while the apparatus is in operation. Pressing down (step S81).

また、BIOS22は、操作者により、本装置が、稼動中にホットプラグの操作を行うことによって、PCIデバイスの構成が変化するので、Global−Localアドレス変換テーブル16の内容を更新する(ステップS85)。   The BIOS 22 updates the contents of the Global-Local address conversion table 16 because the PCI device configuration changes when the operator operates the hot plug during operation of the apparatus (step S85). .

BIOS22は、本装置の操作者が、ホットプラグの操作を行う度に、上述のステップS85を含む、それまでの初期設定を行う。   The BIOS 22 performs initial settings including the above-described step S85 each time the operator of the apparatus performs a hot plug operation.

なお、ステップS85では、万が一、PCIデバイス19のうちのどれかが、故障することで、BIOS22に対してPCIデバイスから応答がない場合で、組込み釦押下の際に、ステップS85において、当該故障のPCIデバイスを除いて、Global−Localアドレス変換テーブルを更新する。   In step S85, if one of the PCI devices 19 fails and there is no response from the PCI device to the BIOS 22, when the built-in button is pressed, The Global-Local address conversion table is updated except for PCI devices.

一連のBIOSの処理を行った後に、BIOS22は、OSを起動(不図示)したのち、OSに対して、PCIデバイスの組込みを要求する(ステップS86)。   After performing a series of BIOS processes, the BIOS 22 starts up the OS (not shown) and then requests the OS to incorporate a PCI device (step S86).

次に、データ読出しでは、OSは、PCIデバイス19からデータを読出すために、対象PCIデバイス19のGlobal MMIOアドレス41をチップセット13が有するMMIOアクセスレジスタ14に設定する(ステップS90)。   Next, in the data reading, the OS sets the global MMIO address 41 of the target PCI device 19 in the MMIO access register 14 included in the chipset 13 in order to read data from the PCI device 19 (step S90).

次に、チップセット13は、Global MMIOアドレス41をキーにして、Global−Local MMIOアドレス16を参照して、対応するPCIブリッジ17配下のセグメント番号42を特定する(ステップS91)。   Next, the chip set 13 specifies the segment number 42 under the corresponding PCI bridge 17 by referring to the Global-Local MMIO address 16 using the Global MMIO address 41 as a key (step S91).

その後、チップセット13は、Global MMIOアドレス41をキーにして、Global−Local MMIOアドレス16を参照して、対応するPCIデバイス19の図示していないLocal MMIOアドレスを特定する(ステップS92)。   Thereafter, the chip set 13 specifies a local MMIO address (not shown) of the corresponding PCI device 19 with reference to the Global-Local MMIO address 16 using the Global MMIO address 41 as a key (step S92).

そして、チップセット13は、Local MMIOアドレスに対応する
PCIデバイス19のMMIOレジスタ21からデータを読出す(ステップS93)。
Then, the chip set 13 reads data from the MMIO register 21 of the PCI device 19 corresponding to the Local MMIO address (step S93).

以上により、CPU11は、OSと協働して、PCIデバイス19に対して必要なデータを読込むことができる。   As described above, the CPU 11 can read necessary data into the PCI device 19 in cooperation with the OS.

これにより、本実施形態に係るアドレス空間変換装置によれば、処理bit数の大きなチップセット13に設けたGlobal−Localアドレス変換テーブル16を用いることにより、チップセット13より処理bit数の小さい周辺デバイスである複数のPCIブリッジ17およびPCIデバイス19の物理アドレス空間を、PCIブリッジ17およびその配下のPCIデバイス19を単位とする、セグメント毎に区画した上位の論理アドレス空間に変換することによって、接続可能なPCIデバイス19の数を増やすことができる。   Thereby, according to the address space conversion device according to the present embodiment, by using the Global-Local address conversion table 16 provided in the chip set 13 having a large number of processing bits, a peripheral device having a smaller number of processing bits than the chip set 13 is used. Can be connected by converting the physical address space of a plurality of PCI bridges 17 and PCI devices 19 into an upper logical address space partitioned by segment, with the PCI bridge 17 and the PCI devices 19 under it as a unit. The number of PCI devices 19 can be increased.

また、CPU11と協働して動作するOSからは、あたかもCPU11や、チップセット13と、PCIブリッジ17や、PCIデバイス19の処理bit数が同じに見えるように扱うことができる。   Further, the OS operating in cooperation with the CPU 11 can handle the CPU 11, the chip set 13, the PCI bridge 17, and the PCI device 19 so that the number of processing bits looks the same.

また、チップセット13に、アドレス空間変換を行う、Global−Localアドレス変換テーブル16を追加するだけで、OSを改変することなく、大規模な入出力機能を有するアドレス空間変換装置を容易に構築できるという効果を奏することが出来る。   In addition, an address space conversion device having a large-scale input / output function can be easily constructed without modifying the OS simply by adding a global-local address conversion table 16 for performing address space conversion to the chip set 13. The effect that can be produced.

さらに、CPU、チップセットおよび、OS、アプリケーション(Application;以降、APと称する)SWなど情報処理装置が有する主要な構成要素は、64bit化されつつある過渡期にある中で、周辺デバイスであるPCIブリッジやPCIデバイスに、依然として32bitの部品が残留する装置でも、簡単なアドレス空間変換テーブルを埋め込んだチップセットに置き換えるだけで、上述した効果を奏することができる。   Further, the main components of the information processing apparatus such as a CPU, a chip set, an OS, and an application (hereinafter referred to as AP) SW are PCI, which is a peripheral device, in a transition period that is becoming 64 bits. Even an apparatus in which a 32-bit component still remains in a bridge or PCI device can achieve the above-described effects by simply replacing it with a chip set in which a simple address space conversion table is embedded.

即ち、本実施形態によれば、処理bit数の少なさに起因するアクセス空間の制約を、OSを改変することなく回避することによって、大規模な入出力データを処理する情報処理装置を構築できるという効果を奏することができる。   That is, according to the present embodiment, it is possible to construct an information processing apparatus that processes large-scale input / output data by avoiding the access space restriction caused by the small number of processing bits without modifying the OS. The effect that can be produced.

以上、本実施形態について、一例として、構成および動作を説明したが、必ずしも係る構成や動作に限定されない。   As described above, the configuration and operation of this embodiment have been described as an example. However, the present embodiment is not necessarily limited to the configuration and operation.

<第3の実施形態>
次に、第2の実施形態を基本とする第3の実施形態について説明する。図8は、第3の実施形態に係るアドレス空間変換装置の概要を示すブロック図である。
<Third Embodiment>
Next, a third embodiment based on the second embodiment will be described. FIG. 8 is a block diagram showing an outline of an address space conversion apparatus according to the third embodiment.

本実施形態は、第2の実施形態で説明した、図2に示すアドレス空間変換装置を、系統Aと系統Bとによって二重化しており、CPU−A101と、CPU−B102の配下にそれぞれに接続する、チップセット−A103と、チップセット−B104は、それぞれが有するGlobal−Localアドレス変換テーブルによって、それぞれが拡張した、少なくとも1つ以上の、下位に接続するPCIデバイスを有する。   In this embodiment, the address space conversion device shown in FIG. 2 described in the second embodiment is duplicated by a system A and a system B, and connected to the CPU-A 101 and the CPU-B 102, respectively. The chip set-A 103 and the chip set-B 104 each have at least one or more lower-level PCI devices that are expanded according to the global-local address conversion table that each has.

また、CPU−A101と、CPU−B102は、チップセット−A103と、チップセット−B104が、高速ホストバス105によって直接接続されることにより、双方のチップセットに有する、Global−Localアドレス変換テーブルを相互に参照することができる点が異なる。   Further, the CPU-A 101 and the CPU-B 102 are connected to the chip set-A 103 and the chip set-B 104 directly by the high-speed host bus 105, so that the global-local address conversion tables possessed by both chip sets are obtained. The difference is that they can be referred to each other.

このため、以下の説明においては、本実施形態に係る特徴的な部分を中心にさらに詳しく説明すると共に、上述した第2の実施形態と同様な構成についての重複する説明は省略する。   For this reason, in the following description, it demonstrates in detail focusing on the characteristic part which concerns on this embodiment, and the overlapping description about the structure similar to 2nd Embodiment mentioned above is abbreviate | omitted.

本実施形態に示す、二重化アドレス空間変換装置100は、CPU−A101の配下に接続したチップセット−A103と、配下にPCIデバイスA、BならびにPCIデバイスC、Dをそれぞれ接続するPCIブリッジA、Bとを接続する系統Aを有する。   The duplex address space conversion apparatus 100 shown in this embodiment includes a chip set-A 103 connected under the control of the CPU-A 101 and PCI bridges A, B for connecting the PCI devices A, B and the PCI devices C, D under the control. And a system A for connecting the two.

また、同様に、本二重化アドレス空間変換装置100は、CPU−B102の配下に接続したチップセット−B104と、配下にPCIデバイスE、FならびにPCIデバイスG、Hをそれぞれ接続するPCIブリッジC、Dとを接続する系統Bを有する。   Similarly, the duplex address space conversion apparatus 100 includes a chip set-B104 connected under the control of the CPU-B102, and PCI bridges C, D for connecting the PCI devices E, F and the PCI devices G, H under the control. And a system B for connecting the two.

ここで、CPU−A、CPU−Bがそれぞれ有するBIOSは、チップセット−A103とチップセット−B104とが高速ホストバス105によって接続されることにより、チップセット−A103とチップセット−B104それぞれが有する、それぞれ図示していないGlobal−Localアドレス変換テーブルを相互に参照したり、内容を書替えたりすることができる。   Here, the BIOS included in each of the CPU-A and the CPU-B is provided in each of the chipset-A103 and the chipset-B104 by connecting the chipset-A103 and the chipset-B104 via the high-speed host bus 105. The Global-Local address conversion tables (not shown) can be referred to each other, and the contents can be rewritten.

また、チップセット−A103、チップセット−B104は、それぞれのGlobal−Localアドレス変換テーブルを相互に管理する、図8に図示していない故障代替管理テーブルをさらに、上位にそれぞれで有している。   Further, the chip set-A 103 and the chip set-B 104 further have a failure substitution management table (not shown in FIG. 8) that mutually manages the respective global-local address conversion tables.

この故障代替管理テーブルは、高速ホストバス105によって、接続することにより、それぞれの系統の下位にあるPCIデバイスの故障状況の監視と、故障した場合に、相互に代替するPCIデバイスを提供することができる。   This failure replacement management table can be connected by the high-speed host bus 105 to monitor the failure status of the PCI devices in the lower level of each system, and to provide PCI devices that replace each other when a failure occurs. it can.

ここで、例えば、系統A側のPCIデバイスD107が故障することにより、系統A側のBIOSからのアクセスに応答できなくなった際に、系統A側のBIOSは、自身の故障代替管理テーブルによって、PCIデバイスD107が故障したことを認識したのち、高速ホストバス105を使って、系統Bの故障代替管理テーブルおよび、Global−Localアドレス変換テーブルを参照する。   Here, for example, when the PCI device D107 on the system A side fails and it becomes unable to respond to access from the BIOS on the system A side, the BIOS on the system A side uses the PCI After recognizing that the device D 107 has failed, the high-speed host bus 105 is used to refer to the fault substitution management table for system B and the global-local address conversion table.

そして、系統A側のBIOSは、使われていないか、もしくは使用頻度の低い系統B側の、例えばPCIデバイスH108に対して、系統B側のPCIブリッジD106のセグメント、チップセット−B104および、高速ホストバス105を通して、チップセット−A103に接続できるように、上述の双方の故障代替管理テーブルおよび、Global−Localアドレス変換テーブルの内容を書き換える。   The BIOS on the system A side is not used, or the PCI bridge H 106 on the system B side, the chipset-B 104, and the high-speed, for example, the PCI device H108 on the system B side that is not used or is not frequently used. The contents of both the above-described failure substitution management table and the Global-Local address conversion table are rewritten so that the chipset-A 103 can be connected through the host bus 105.

なお、BIOSは、PCIデバイスの故障の反映や、代替えにともなう、Global−Localアドレス変換テーブルの書き換えの他に、BIOSが作成するPCIデバイスが要求するメモリ領域を記載する、図8に図示していない、メモリマップを書き換える。   Note that the BIOS describes the memory area required by the PCI device created by the BIOS in addition to the reflection of the failure of the PCI device and the rewriting of the Global-Local address conversion table accompanying the replacement, as shown in FIG. No, rewrite the memory map.

また、図示していないOSは、OSが作成する、本装置に搭載しているPCIデバイスの一覧である、図8に図示していないPCIデバイスリストも書き換えることとする。   Further, an OS (not shown) rewrites a PCI device list (not shown in FIG. 8) which is a list of PCI devices installed in the apparatus created by the OS.

また、操作者は、何れかのPCIデバイス19が故障して、BIOSに対して応答できない場合は、随時、起動の際、もしくはホットプラグのために、組込み釦を押下した際のいずれかの際に、上述したGlobal−Localアドレス変換テーブル、メモリマップ、PCIデバイスリストに、当該故障PCIデバイス19は、削除されることによって反映されなくなり、その結果、使用できないことを認識する。   In addition, when any PCI device 19 fails and the operator cannot respond to the BIOS, the operator sometimes starts up or presses the built-in button for hot plugging. In addition, it is recognized that the failed PCI device 19 is not reflected in the Global-Local address conversion table, the memory map, and the PCI device list described above by being deleted, and as a result, cannot be used.

このために、操作者は、本アドレス空間変換装置が備える、上述のGlobal−Localアドレス変換テーブル、メモリマップ、PCIデバイスリストを表示するツールを使用する。   For this purpose, the operator uses a tool for displaying the above-mentioned Global-Local address conversion table, memory map, and PCI device list provided in the present address space conversion apparatus.

ここで、代替する可能性のあるPCIデバイスとしては、例えば、電気的もしくは、物理的な回線障害が生じたNICや、あるいは、周辺機器としては、例えば、機械的な動作箇所である、モータや、磁気ヘッドを有するハードディスクドライブ(以下、HDDと称する)などである。   Here, as a PCI device that may be replaced, for example, an NIC in which an electrical or physical line failure has occurred, or as a peripheral device, for example, a motor or a mechanical operation location, And a hard disk drive (hereinafter referred to as HDD) having a magnetic head.

以上、本実施形態では、二重化したアドレス空間変換装置が有するいずれかのPCIデバイスが故障した際に、その代替を行うことにより、信頼性が向上するという新たな効果を得る。   As described above, in this embodiment, when one of the PCI devices included in the duplicated address space conversion apparatus fails, a new effect is obtained in that reliability is improved by replacing the PCI device.

なお、PCIデバイスが故障した場合だけでなく、系統Aおよび系統Bのいずれかに接続している、例えば、希少なPCIデバイスや、周辺機器に対して、他方の系統のアドレス変換テーブル、メモリマップ、PCIデバイスリストの内容を書き換えることにより、相手方に乗り入れて、共有するような使い方にも応用することができる。   In addition to the case where a PCI device fails, for example, a rare PCI device or peripheral device connected to either system A or system B, the address conversion table or memory map of the other system By rewriting the contents of the PCI device list, it is possible to apply to usage such as getting on the other party and sharing.

本実施形態に係る二重化アドレス空間変換装置によれば、処理bit数の大きなチップセットに設けたGlobal−Localアドレス変換テーブルを用いることにより、チップセットより処理bit数の小さい周辺デバイスであるPCIブリッジおよびPCIデバイスの物理アドレス空間を、PCIブリッジおよびその配下のPCIデバイスを単位とする、セグメント毎に区画した上位の論理アドレス空間に変換することによって、接続可能なPCIデバイスの数を増やすことができる。   According to the duplex address space conversion apparatus according to the present embodiment, by using a Global-Local address conversion table provided in a chip set having a large number of processing bits, a PCI bridge that is a peripheral device having a smaller number of processing bits than the chip set, and The number of connectable PCI devices can be increased by converting the physical address space of the PCI device into an upper logical address space divided for each segment in units of the PCI bridge and the PCI devices under the PCI bridge.

また、本実施形態に係る二重化アドレス空間変換装置によれば、双方のGlobal−Localアドレス変換テーブルに加えて、高速ホストバス105および、双方に、故障代替管理テーブルを追加するだけで、OSを改変することなく、大規模で、信頼性の高い、入出力機能を有するアドレス空間変換装置を容易に構築できるという効果を奏することができる。   In addition, according to the duplex address space conversion apparatus according to the present embodiment, in addition to both the global-local address conversion tables, the OS can be modified by simply adding the fault substitution management table to the high-speed host bus 105 and both. Thus, it is possible to easily construct a large-scale and highly reliable address space conversion device having an input / output function.

また、本実施形態に係る二重化アドレス空間変換装置によれば、このPCIデバイスの数を増やしたアドレス空間変換装置は、さらに多重化することにより、さらに大規模で、信頼性の高い情報処理装置を実現できるという顕著な効果がある。   Further, according to the duplex address space conversion apparatus according to the present embodiment, the address space conversion apparatus having the increased number of PCI devices can be multiplexed to further increase the size and reliability of the information processing apparatus. There is a remarkable effect that it can be realized.

即ち、本実施形態によれば、処理bit数の少なさに起因するアクセス空間の制約を回避することによって、大規模な入出力データを処理する情報処理装置を構築できるという効果を奏することができる。   In other words, according to the present embodiment, it is possible to construct an information processing apparatus that processes large-scale input / output data by avoiding access space restrictions due to a small number of processing bits. .

さらに特有の効果として、アドレス空間変換装置間を多重化することにより、故障したPCIデバイスを制御対象から除外して、それを代替する正常なPCIデバイスを提供することにより、信頼性が向上するという効果もある。   Further, as a unique effect, reliability is improved by multiplexing the address space translation devices to exclude a failed PCI device from the control target and providing a normal PCI device that replaces it. There is also an effect.

以上、本実施形態について、一例として、構成および動作を説明したが、必ずしも係る構成や動作に限定されない。   As described above, the configuration and operation of this embodiment have been described as an example. However, the present embodiment is not necessarily limited to the configuration and operation.

<第4の実施形態>
次に、第2の実施形態を基にした、第4の実施形態を説明する。図2に示す第2の実施形態では、チップセット13内にHWのアドレス変換テーブルを用いたが、これをSWによるアドレス変換テーブルとし、かつ、図示していないOSとBIOSの連携を、Firm Wear(以下、「FW」と称する)でとることにより、CPUとOS、BIOS、が協働することで、HWであるチップセット13を変更することなく、アドレス空間変換装置を実現する点が異なる。
<Fourth Embodiment>
Next, a fourth embodiment based on the second embodiment will be described. In the second embodiment shown in FIG. 2, the HW address conversion table is used in the chip set 13, but this is used as the SW address conversion table, and the cooperation between the OS and the BIOS (not shown) (Hereinafter referred to as “FW”) differs in that the CPU, the OS, and the BIOS cooperate to realize an address space conversion device without changing the chip set 13 that is the HW.

本実施形態について図を用いて説明する。図9は第4の実施形態に係るアドレス空間を変換するコンピュータ・プログラムの概要を示すソフトウェア(SW、FW)スタック図である。   The present embodiment will be described with reference to the drawings. FIG. 9 is a software (SW, FW) stack diagram showing an outline of a computer program for converting an address space according to the fourth embodiment.

このため、以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第2および第3の実施形態と同様な構成についての重複する説明は省略する。   For this reason, in the following description, while focusing on the characteristic part according to the present embodiment, a redundant description of the same configuration as in the second and third embodiments described above is omitted.

上述した第2や、第3の実施形態では、PCIデバイス19が動作のために必要とするレジスタやバッファなどの情報をメモリ12へ割り当てる際には、チップセット13が有する特別なPCIコンフィグレーション動作をBIOS22で制御することにより実現したが、本実施形態では、OS201と、FWである、System Abstruction Layer(以下、「SAL」と称する)というSWインタフェース、すなわち、FWによるアドレス空間変換部203を使用することによりメモリ12への割り当てを行う。   In the second and third embodiments described above, a special PCI configuration operation that the chipset 13 has when assigning information such as registers and buffers necessary for the operation of the PCI device 19 to the memory 12. In this embodiment, the OS 201 and the SW interface called System Abstraction Layer (hereinafter referred to as “SAL”), that is, FW, that is, the address space conversion unit 203 by FW are used. By doing so, the allocation to the memory 12 is performed.

これにより、SWのサポートのみで、本SWによるアドレス空間変換装置200を実現することが出来る。   As a result, the address space conversion apparatus 200 using this SW can be realized with only SW support.

本SWによるアドレス空間変換装置200のBIOS22は、本装置が起動する際、および、PCIデバイス19を、拡張スロットから抜去したり、拡張スロットにPCIデバイス19を挿入したり、拡張スロットから抜去してから、PCIデバイス19を拡張スロットに挿入したりする際に、搭載している、チップセット13、PCIブリッジ17を含む全てのPCIデバイス19を認識する。   The BIOS 22 of the address space conversion apparatus 200 using this SW starts the apparatus startup, removes the PCI device 19 from the expansion slot, inserts the PCI device 19 into the expansion slot, or removes it from the expansion slot. Thus, when the PCI device 19 is inserted into the expansion slot, all the mounted PCI devices 19 including the chip set 13 and the PCI bridge 17 are recognized.

その際に、PCIデバイス19に変更があれば、その動作に必要とするレジスタやバッファなどの情報をメモリ12に割り当てる更新を行う。   At this time, if there is a change in the PCI device 19, information such as registers and buffers necessary for the operation is updated to be allocated to the memory 12.

また、その際に、FW層にある、FWによるアドレス空間変換部203を制御することによって、PCIバス規格に規定されている、チップセット13が有する特別なモードである、PCIコンフィグレーション動作を間接的に実行することにより、PCIデバイス19が動作に必要なメモリ空間をメモリ12に割り当てることができる。   At that time, by controlling the FW address space conversion unit 203 in the FW layer, the PCI configuration operation, which is a special mode of the chipset 13 defined in the PCI bus standard, is indirectly performed. As a result, the memory space required for the operation of the PCI device 19 can be allocated to the memory 12.

すなわち、SWの一種であるFWによるアドレス空間変換部203が、HWであるチップセット13の代わりを行う。   That is, the FW address space conversion unit 203, which is a type of SW, replaces the chip set 13 that is an HW.

ここで、上述の第2の実施形態で説明した、チップセット13を用いたHWによるアドレス空間変換部の構成要素と、本実施形態が有するFWによるアドレス空間変換部203の構成要素を対比すると、MMIOアクセスレジスタ14は、MMIOアクセスインタフェース204に、MMIOアドレスレジスタ15は、MMIOアドレスインタフェース205に、Global−Localアドレス変換テーブル16は、Global−LocalアドレスSW変換テーブル206にそれぞれ対応する。   Here, when the constituent elements of the address space conversion unit by the HW using the chip set 13 described in the second embodiment are compared with the constituent elements of the address space conversion unit 203 by the FW of the present embodiment, The MMIO access register 14 corresponds to the MMIO access interface 204, the MMIO address register 15 corresponds to the MMIO address interface 205, and the Global-Local address conversion table 16 corresponds to the Global-Local address SW conversion table 206, respectively.

以降、OS201は、PCIデバイス19へのデータの読書きを行う際には、第2の実施形態で説明したように、CPU11、メモリ12、チップセット13を使ってアクセスする。また、この際に、ドライバ202を用いてPCIデバイス19を制御する。   Thereafter, when reading / writing data to / from the PCI device 19, the OS 201 accesses using the CPU 11, the memory 12, and the chip set 13 as described in the second embodiment. At this time, the PCI device 19 is controlled using the driver 202.

これにより、処理bit数の少なさに起因するアクセス空間の制約を、HWを改変することなく回避することによって、大規模な入出力データを処理する情報処理装置を構築できるという効果を奏することができる。   As a result, it is possible to construct an information processing apparatus that processes large-scale input / output data by avoiding the restriction of the access space caused by the small number of processing bits without modifying the HW. it can.

さらに特有の効果として、HWの改変を伴わないで、SWの一部である、OSおよびFWに、対応するソフトウェアプログラムを読込むことによってアドレス変換を行うために、より安価に実現できるという顕著な効果も有する。   Furthermore, as a unique effect, it is possible to implement the address conversion by reading the corresponding software program into the OS and FW, which are part of the SW, without modification of the HW, and can be realized at a lower cost. It also has an effect.

なお、上述した各実施形態を例に説明した本発明は、第2の実施形態のアドレス変換装置のCPU11および協働する図示していないOS、ならびにチップセット13の動作説明において参照したフローチャート(図6および図7)の機能を実現可能なコンピュータ・プログラムとして供給した後、そのコンピュータ・プログラムをCPU11および協働する図示していないOSおよびFWに読出して実行することによって達成される。   The present invention described by taking each of the embodiments described above as an example is a flowchart (FIG. 5) referred to in the description of the operation of the CPU 11 and the cooperating OS (not shown) of the address translation device of the second embodiment and the chip set 13. 6 and FIG. 7) is provided as a computer program that can realize the functions, and then the computer program is read out and executed by the CPU 11 and a cooperating OS and FW (not shown).

また、前記の場合において、当該装置内へのコンピュータ・プログラムの供給方法は、フロッピー(登録商標)ディスクやCD−ROM等の各種記録媒体を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。   In the above case, the computer program can be supplied to the apparatus by a method of installing in the apparatus via various recording media such as a floppy (registered trademark) disk and a CD-ROM, and the Internet. Currently, a general procedure can be adopted, such as a method of downloading from the outside via a communication line.

そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。   In such a case, the present invention can be understood to be configured by a computer-readable storage medium in which the code constituting the computer program or the code is recorded.

なお、上述した実施形態及びその変形例の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限らない。即ち、
(付記1)
制御部と、
前記制御部によって制御されるアドレス空間変換部とを備え、
前記制御部は、前記アドレス空間変換部に接続された周辺デバイスに、前記アドレス空間変換部を制御することによってアクセスするに先立って、所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、そのアドレス空間の区画を、前記アドレス空間変換部に割り当てた後に、その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とするアドレス空間変換装置。
(付記2)
前記制御部は、前記アドレス空間変換部を制御することによって、前記周辺デバイスにアクセスする際に、前記アドレス空間の区画である論理的な上位アドレスに、前記周辺デバイスの物理的なアドレスを下位に加えて成る、論理的なアドレスを元にテーブルを参照することにより、複数の前記周辺デバイスのうち、アクセス対象である周辺デバイスを特定することを特徴とする付記1に記載のアドレス空間変換装置。
(付記3)
前記テーブルは、前記論理的な上位アドレスに、前記周辺デバイスの前記物理的なアドレスを下位に加えて成る、論理的なアドレスと、前記周辺デバイスの前記物理的な下位アドレスとの間でアドレスを変換する、アドレス変換テーブルであることを特徴とする付記2に記載のアドレス空間変換装置。
(付記4)
前記制御部は、前記周辺デバイスにアクセスする際に、前記アドレス空間変換部に、前記アドレス空間の区画である論理的な上位アドレスの範囲を、セグメントとして割り当てることを特徴とする付記3に記載のアドレス空間変換装置。
(付記5)
前記制御部は、前記周辺デバイスにアクセスするために、前記アドレス空間変換部において特定するアドレスは、前記論理的な上位アドレスに、前記周辺デバイスの物理的なアドレスを下位に加えて成る、論理的なアドレスであることを特徴とする付記3もしくは4に記載のアドレス空間変換装置。
(付記6)
前記アドレス空間変換部が、前記周辺デバイスにアクセスするために特定するアドレスは、前記論理的なアドレスから変換した、前記周辺デバイスの物理的な下位アドレスであることを特徴とする付記3もしくは4に記載のアドレス空間変換装置。
(付記7)
前記アドレス空間変換テーブルは、前記セグメントに番号を付与したセグメント番号および、該セグメント番号に対応する前記論理的な上位アドレスに、前記周辺デバイスの前記物理的なアドレスを下位に加えて成る、論理的なアドレスとを紐付けるデータ構造を有することを特徴とする付記3もしくは4に記載のアドレス空間変換装置。
(付記8)
前記制御部は、前記アドレス空間変換部を制御して、前記制御部が備えるメモリのアドレス空間に、前記周辺デバイスが動作するために必要な領域をマッピングし、そのマッピングには、IOマップドIOおよびメモリマップドIOのうち、少なくともメモリマップドIOを用いることを特徴とする付記1乃至6のいずれか1項に記載のアドレス空間変換装置。
(付記9)
前記アドレス空間変換部が有する、アドレス空間変換テーブルは、書き換え可能なハードウェアもしくはソフトウェアにより構成されることを特徴とする付記2、3もしくは7のいずれか1項に記載のアドレス空間変換装置。
(付記10)
前記周辺デバイスは、PCIバスを拡張する32bitバス対応のPCIブリッジおよび、該PCIブリッジに接続する32bitバス対応のPCIバス制御チップを内蔵するPCIデバイスから成ることを特徴とする付記2に記載のアドレス空間変換装置。
(付記11)
前記制御部は、自装置が稼動中に、自装置の拡張スロットから、いずれかの前記PCIデバイスを抜去されるか、新たなPCIデバイスを挿入されるか、もしくはいずれかの前記PCIデバイスを抜去されてから新たなPCIデバイスを挿入されるのに応じて、前記アドレス空間変換部が有するアドレス空間変換テーブルの内容を更新することを特徴とする付記2、3、7、9のいずれか1項に記載のアドレス空間変換装置。
(付記12)
前記制御部と、前記アドレス空間変換部と、前記周辺デバイスとを、それぞれ多重化したアドレス空間変換装置の、前記アドレス空間変換部同士を相互に接続することで、前記アドレス空間変換テーブルおよび、故障代替管理テーブルを相互に参照することにより、故障したいずれかの系統のいずれかのPCIデバイスを、当該系統の前記アドレス空間変換テーブルから削除するとともに、当該系統の前記故障代替管理テーブルを用いて、他の系統から代替のPCIデバイスを提供させることを特徴とする付記2、3、7、9、10のいずれか1項に記載のアドレス空間変換装置。
(付記13)
制御部と、その制御部によって制御されるアドレス空間変換部とを備えたアドレス空間変換装置において、前記アドレス空間変換部に接続された周辺デバイスにアクセスするに先立って、
所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換部に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とするアドレス空間変換の制御方法。
(付記14)
制御機能と、その制御機能によって制御されるアドレス空間変換機能とを備えたアドレス空間変換装置を制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
前記制御機能は、前記アドレス空間変換機能によってアクセス可能に接続された周辺デバイスにアクセスするのに先立って、所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換機能に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定する制御を実現させる
ことを特徴とする、コンピュータ読み取り可能な記憶媒体。
A part or all of the above-described embodiment and its modifications may be described as the following supplementary notes. However, the present invention described by way of example with the above-described embodiment and its modifications is not limited to the following. That is,
(Appendix 1)
A control unit;
An address space conversion unit controlled by the control unit,
Prior to accessing a peripheral device connected to the address space conversion unit by controlling the address space conversion unit, the control unit converts a predetermined upper address range into an address space that forms a storage area unit. An address space conversion apparatus characterized by logically partitioning and assigning a partition of the address space to the address space conversion unit, and then specifying a lower address of the peripheral device in the range of the assigned address space.
(Appendix 2)
The control unit controls the address space conversion unit to lower the physical address of the peripheral device to a logical upper address that is a partition of the address space when accessing the peripheral device. 2. The address space conversion apparatus according to appendix 1, wherein a peripheral device to be accessed is specified from the plurality of peripheral devices by referring to a table based on a logical address.
(Appendix 3)
The table includes an address between a logical address formed by adding the physical address of the peripheral device to the lower order to the logical upper address and the physical lower address of the peripheral device. The address space conversion device according to appendix 2, which is an address conversion table for conversion.
(Appendix 4)
The control unit according to claim 3, wherein when the peripheral device accesses the peripheral device, the address space conversion unit allocates a logical upper address range, which is a partition of the address space, as a segment. Address space converter.
(Appendix 5)
In order for the control unit to access the peripheral device, the address specified by the address space conversion unit is a logical upper address, which is obtained by adding the physical address of the peripheral device to the lower level. The address space conversion device according to appendix 3 or 4, wherein the address space conversion device is a unique address.
(Appendix 6)
Addendum 3 or 4, wherein the address specified by the address space conversion unit to access the peripheral device is a physical lower address of the peripheral device converted from the logical address The address space conversion device described.
(Appendix 7)
The address space conversion table is formed by adding the physical address of the peripheral device to the lower order to the segment number assigned to the segment and the logical upper address corresponding to the segment number. 5. The address space conversion device according to appendix 3 or 4, wherein the address space conversion device has a data structure that associates a unique address.
(Appendix 8)
The control unit controls the address space conversion unit to map an area necessary for the peripheral device to operate in an address space of a memory included in the control unit. 7. The address space conversion apparatus according to any one of appendices 1 to 6, wherein at least a memory mapped IO is used among the memory mapped IOs.
(Appendix 9)
8. The address space conversion device according to any one of appendices 2, 3 and 7, wherein the address space conversion table included in the address space conversion unit is configured by rewritable hardware or software.
(Appendix 10)
The address according to claim 2, wherein the peripheral device includes a PCI device supporting a 32-bit bus that expands a PCI bus and a PCI device incorporating a 32-bit bus-compatible PCI bus control chip connected to the PCI bridge. Spatial conversion device.
(Appendix 11)
The control unit removes one of the PCI devices, inserts a new PCI device, or removes one of the PCI devices from the expansion slot of the own device while the own device is operating. Any one of appendices 2, 3, 7, and 9, wherein the contents of the address space conversion table of the address space conversion unit are updated in response to the insertion of a new PCI device after that. An address space conversion device described in 1.
(Appendix 12)
By connecting the address space conversion units of the address space conversion device in which the control unit, the address space conversion unit, and the peripheral device are multiplexed, the address space conversion table and the failure By mutually referring to the substitution management table, any PCI device of any faulty system is deleted from the address space conversion table of the system, and using the fault substitution management table of the system, 11. The address space conversion apparatus according to any one of appendices 2, 3, 7, 9, and 10, wherein an alternative PCI device is provided from another system.
(Appendix 13)
In an address space conversion device including a control unit and an address space conversion unit controlled by the control unit, prior to accessing a peripheral device connected to the address space conversion unit,
A predetermined upper address range is logically partitioned into an address space that forms a storage area unit,
The address space partition is assigned to the address space conversion unit,
A method for controlling address space conversion, wherein a lower address of the peripheral device is specified in a range of the allocated address space.
(Appendix 14)
A computer program for controlling an address space conversion device having a control function and an address space conversion function controlled by the control function, the computer program,
The control function logically partitions a predetermined upper address range into an address space constituting a storage area unit prior to accessing a peripheral device accessible by the address space conversion function,
Assigning the address space partition to the address space conversion function;
A computer-readable storage medium characterized by realizing control for specifying a lower address of the peripheral device within a range of the allocated address space.

本発明は、上述した各実施形態には限定されず、例えばサーバの他、ワークステーション、パーソナルコンピュータ、ファクトリオートメーション等のPCIデバイスを搭載する各種の情報処理装置に適用可能である。   The present invention is not limited to the above-described embodiments, and can be applied to, for example, various information processing apparatuses equipped with PCI devices such as workstations, personal computers, and factory automation in addition to servers.

1 制御部
2 アドレス空間変換部
3 周辺デバイス
10 アドレス空間変換装置
11 CPU
12 メモリ
13 チップセット
14 MMIOアクセスレジスタ
15 MMIOアドレスレジスタ
16 Global−Localアドレス変換テーブル
17 PCIブリッジ
18 MMIOアドレスレジスタ
19 PCIデバイス
20 MMIOアドレスレジスタ
21 MMIOレジスタ
31 Global MMIOアドレス
32 Local MMIOアドレス
33 チップセットセグメント
34 ブリッジセグメント
35 PCIデバイス
41 Global MMIOアドレス
42 セグメント番号
50 CPU11のメモリアドレス空間
51 CPU11から見た、64bitメモリアドレス空間
52 MMIO(4GB以下での旧MMIO空間)
53 セグメント1 MMIO(4GB以上での新MMIO空間)
100 二重化アドレス空間変換装置
101 CPU−A
102 CPU−B
103 チップセット−A
104 チップセット−B
105 高速ホストバス
106 PCIブリッジD
107 PCIデバイスD
108 PCIデバイスH
200 SWによるアドレス空間変換装置
201 OS
202 ドライバ
203 FWによるアドレス空間変換部
204 MMIOアクセスインタフェース
205 MMIOアドレスインタフェース
206 Global−LocalアドレスSW変換テーブル
DESCRIPTION OF SYMBOLS 1 Control part 2 Address space conversion part 3 Peripheral device 10 Address space conversion apparatus 11 CPU
12 Memory 13 Chip Set 14 MMIO Access Register 15 MMIO Address Register 16 Global-Local Address Conversion Table 17 PCI Bridge 18 MMIO Address Register 19 PCI Device 20 MMIO Address Register 21 MMIO Register 31 Global MMIO Address 32 Local MMIO Address 33 Chip Set 34 Bridge segment 35 PCI device 41 Global MMIO address 42 Segment number 50 Memory address space of CPU 11 51 64-bit memory address space seen from CPU 11 52 MMIO (old MMIO space below 4 GB)
53 Segment 1 MMIO (New MMIO space above 4GB)
100 Duplicated address space conversion device 101 CPU-A
102 CPU-B
103 Chipset-A
104 Chipset-B
105 High-speed host bus 106 PCI bridge D
107 PCI device D
108 PCI device H
Address space conversion device with 200 SW 201 OS
202 Driver 203 FW Address Space Conversion Unit 204 MMIO Access Interface 205 MMIO Address Interface 206 Global-Local Address SW Conversion Table

Claims (10)

制御部と、
前記制御部によって制御されるアドレス空間変換部とを備え、
前記制御部は、前記アドレス空間変換部に接続された周辺デバイスに、前記アドレス空間変換部を制御することによってアクセスするに先立って、所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、そのアドレス空間の区画を、前記アドレス空間変換部に割り当てた後に、その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とするアドレス空間変換装置。
A control unit;
An address space conversion unit controlled by the control unit,
Prior to accessing a peripheral device connected to the address space conversion unit by controlling the address space conversion unit, the control unit converts a predetermined upper address range into an address space that forms a storage area unit. An address space conversion apparatus characterized by logically partitioning and assigning a partition of the address space to the address space conversion unit, and then specifying a lower address of the peripheral device in the range of the assigned address space.
前記制御部は、前記アドレス空間変換部を制御することによって、前記周辺デバイスにアクセスする際に、前記アドレス空間の区画である論理的な上位アドレスに、前記周辺デバイスの物理的なアドレスを下位に加えて成る、論理的なアドレスを元にテーブルを参照することにより、複数の前記周辺デバイスのうち、アクセス対象である周辺デバイスを特定することを特徴とする請求項1に記載のアドレス空間変換装置。   The control unit controls the address space conversion unit to lower the physical address of the peripheral device to a logical upper address that is a partition of the address space when accessing the peripheral device. 2. The address space conversion apparatus according to claim 1, wherein a peripheral device to be accessed is specified among the plurality of peripheral devices by referring to a table based on a logical address. . 前記テーブルは、前記論理的な上位アドレスに、前記周辺デバイスの前記物理的なアドレスを下位に加えて成る、論理的なアドレスと、前記周辺デバイスの前記物理的な下位アドレスとの間でアドレスを変換する、アドレス変換テーブルであることを特徴とする請求項2に記載のアドレス空間変換装置。   The table includes an address between a logical address formed by adding the physical address of the peripheral device to the lower order to the logical upper address and the physical lower address of the peripheral device. The address space conversion apparatus according to claim 2, wherein the address space conversion device performs conversion. 前記制御部は、前記周辺デバイスにアクセスする際に、前記アドレス空間変換部に、前記アドレス空間の区画である論理的な上位アドレスの範囲を、セグメントとして割り当てることを特徴とする請求項3に記載のアドレス空間変換装置。   The said control part allocates the range of the logical high-order address which is a division of the said address space to the said address space conversion part as a segment, when accessing the said peripheral device. Address space converter. 前記アドレス空間変換テーブルは、前記セグメントに番号を付与したセグメント番号および、該セグメント番号に対応する前記論理的な上位アドレスに、前記周辺デバイスの前記物理的なアドレスを下位に加えて成る、論理的なアドレスとを紐付けるデータ構造を有することを特徴とする請求項3もしくは4に記載のアドレス空間変換装置。   The address space conversion table is formed by adding the physical address of the peripheral device to the lower order to the segment number assigned to the segment and the logical upper address corresponding to the segment number. 5. The address space conversion apparatus according to claim 3 or 4, wherein the address space conversion apparatus has a data structure for linking a unique address. 前記アドレス空間変換部が有する、アドレス空間変換テーブルは、書き換え可能なハードウェアもしくはソフトウェアにより構成されることを特徴とする請求項2、3もしくは5のいずれか1項に記載のアドレス空間変換装置。   6. The address space conversion apparatus according to claim 2, wherein the address space conversion table included in the address space conversion unit is configured by rewritable hardware or software. 前記制御部は、自装置が稼動中に、自装置の拡張スロットから、いずれかの前記PCIデバイスを抜去されるか、新たなPCIデバイスを挿入されるか、もしくはいずれかの前記PCIデバイスを抜去されてから新たなPCIデバイスを挿入されるのに応じて、前記アドレス空間変換部が有するアドレス空間変換テーブルの内容を更新することを特徴とする請求項2、3、5、6のいずれか1項に記載のアドレス空間変換装置。   The control unit removes one of the PCI devices, inserts a new PCI device, or removes one of the PCI devices from the expansion slot of the own device while the own device is operating. 7. The content of an address space conversion table included in the address space conversion unit is updated in response to a new PCI device being inserted after being inserted. The address space conversion device according to item. 前記制御部と、前記アドレス空間変換部と、前記周辺デバイスとを、それぞれ多重化したアドレス空間変換装置の、前記アドレス空間変換部同士を相互に接続することで、前記アドレス空間変換テーブルおよび、故障代替管理テーブルを相互に参照することにより、故障したいずれかの系統のいずれかのPCIデバイスを、当該系統の前記アドレス空間変換テーブルから削除するとともに、当該系統の前記故障代替管理テーブルを用いて、他の系統から代替のPCIデバイスを提供させることを特徴とする請求項2、3、5、6のいずれか1項に記載のアドレス空間変換装置。   By connecting the address space conversion units of the address space conversion device in which the control unit, the address space conversion unit, and the peripheral device are multiplexed, the address space conversion table and the failure By mutually referring to the substitution management table, any PCI device of any faulty system is deleted from the address space conversion table of the system, and using the fault substitution management table of the system, The address space conversion apparatus according to claim 2, wherein an alternative PCI device is provided from another system. 制御部と、その制御部によって制御されるアドレス空間変換部とを備えたアドレス空間変換装置において、前記アドレス空間変換部に接続された周辺デバイスにアクセスするに先立って、
所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換部に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とするアドレス空間変換の制御方法。
In an address space conversion device including a control unit and an address space conversion unit controlled by the control unit, prior to accessing a peripheral device connected to the address space conversion unit,
A predetermined upper address range is logically partitioned into an address space that forms a storage area unit,
The address space partition is assigned to the address space conversion unit,
A method for controlling address space conversion, wherein a lower address of the peripheral device is specified in a range of the allocated address space.
制御機能と、その制御機能によって制御されるアドレス空間変換機能とを備えたアドレス空間変換装置を制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
前記制御機能は、前記アドレス空間変換機能によってアクセス可能に接続された周辺デバイスにアクセスするのに先立って、所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換機能に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定する制御を、
コンピュータに実現させることを特徴とするコンピュータ・プログラム。
A computer program for controlling an address space conversion device having a control function and an address space conversion function controlled by the control function, the computer program,
The control function logically partitions a predetermined upper address range into an address space constituting a storage area unit prior to accessing a peripheral device accessible by the address space conversion function,
Assigning the address space partition to the address space conversion function;
Control for specifying the lower address of the peripheral device in the range of the allocated address space,
A computer program characterized by being realized by a computer.
JP2011263394A 2011-12-01 2011-12-01 Address space conversion device, address space conversion method of the same, and computer program Pending JP2013114650A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011263394A JP2013114650A (en) 2011-12-01 2011-12-01 Address space conversion device, address space conversion method of the same, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011263394A JP2013114650A (en) 2011-12-01 2011-12-01 Address space conversion device, address space conversion method of the same, and computer program

Publications (1)

Publication Number Publication Date
JP2013114650A true JP2013114650A (en) 2013-06-10

Family

ID=48710099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011263394A Pending JP2013114650A (en) 2011-12-01 2011-12-01 Address space conversion device, address space conversion method of the same, and computer program

Country Status (1)

Country Link
JP (1) JP2013114650A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6249119B1 (en) * 2017-03-15 2017-12-20 日本電気株式会社 Control device, control method, program, information processing device
JP2020024557A (en) * 2018-08-07 2020-02-13 富士通株式会社 Information processing apparatus, boot method, and boot program
CN114185486A (en) * 2021-11-17 2022-03-15 深圳市德明利技术股份有限公司 Data writing method of DRAM (dynamic random Access memory) and DRAM control system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6249119B1 (en) * 2017-03-15 2017-12-20 日本電気株式会社 Control device, control method, program, information processing device
JP2018152019A (en) * 2017-03-15 2018-09-27 日本電気株式会社 Control device, control method, program, and information processing device
US10467149B2 (en) 2017-03-15 2019-11-05 Nec Corporation Control apparatus, control method, program, and information processing apparatus
JP2020024557A (en) * 2018-08-07 2020-02-13 富士通株式会社 Information processing apparatus, boot method, and boot program
JP7115128B2 (en) 2018-08-07 2022-08-09 富士通株式会社 Information processing device, boot method and boot program
CN114185486A (en) * 2021-11-17 2022-03-15 深圳市德明利技术股份有限公司 Data writing method of DRAM (dynamic random Access memory) and DRAM control system

Similar Documents

Publication Publication Date Title
KR102519904B1 (en) Allocating and configuring persistent memory
JP4818395B2 (en) Storage apparatus and data copy method
JP5583227B1 (en) Disk array device, disk array controller and method for copying data between physical blocks
CN107908571B (en) Data writing method, flash memory device and storage equipment
JP5750513B2 (en) Storage system having nonvolatile semiconductor storage medium
JP2006031367A (en) Computer system and method for shifting storage device system
JP2009043030A (en) Storage system
CN106227683B (en) Electronic equipment and information processing method
JP2020533694A (en) Dynamic relocation of data using cloud-based ranks
JP6068676B2 (en) Computer system and computer system control method
US8402195B2 (en) Storage system mounted with plurality of processors
JP2013114650A (en) Address space conversion device, address space conversion method of the same, and computer program
JP5027939B1 (en) Host server with virtual storage for virtual machines
US20180307427A1 (en) Storage control apparatus and storage control method
JP4734432B2 (en) Data storage system
JP5103823B2 (en) Information processing apparatus and input / output request control method
CN116483263A (en) Storage device of storage system and storage system
JP6022116B1 (en) Hierarchical storage system, storage controller, and replication initialization method
US11201788B2 (en) Distributed computing system and resource allocation method
CN104424124A (en) Memory device, electronic equipment and method for controlling memory device
JP2020177501A (en) Storage system, drive housing thereof, and parity operation method
KR20100062190A (en) Extensible flash memory device and control method thereof
CN114327250B (en) Storage system and control method of storage system
CN113630431B (en) Full network optical disc library cluster
US20230214134A1 (en) Storage device and control method therefor