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 PDFInfo
- 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
Links
Images
Landscapes
- Memory System (AREA)
Abstract
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,
特許文献1で参照されている関連する技術は、例えば、32bitのCPUがアクセス可能なメモリ空間のサイズが、約4GBに制限される中で、入出力動作のためのPCIデバイスの制御プログラムのアドレス空間を制限すると、PCIデバイスが正常に動作しなくなる課題があるので、これを解決することを意図したものである。
The related technology referred to in
しかしながら、上記特許文献1に記載された、メモリアドレス空間の割り当て方法では、結局、約4GBの領域の中で、入出力動作に必要な情報のためのメモリ空間を確保しつつ、装置の動作プログラム空間の割り当てを最適にすることに留まるため、一定以上の規模のシステムは、依然として構築できないという課題が残る。
However, in the memory address space allocation method described in
また、特許文献2は、情報処理装置の入出力動作を制御するプログラムを実行する際に、CPUの実行アドレスを外部回路でモニタすることによって、その外部回路でデコードした情報を基に、所定のバンク単位で入出力動作を制御するプログラム領域を切替えることにより、CPUの物理アドレスの制約を受けずに、入出力領域を拡張する、入出力領域拡張用メモリ装置およびそのメモリ装置を用いた情報処理システムを開示する。
In addition, when executing a program for controlling the input / output operation of the information processing apparatus,
特許文献2で参照されている関連する技術は、CPUがアクセス可能なメモリ空間を、プログラムの動作に必要な領域と、入出力の制御に必要な領域に効率よく分割するだけであって、結局、CPUやOSが扱う物理アドレスのbit数(処理bit数)で決まるアクセス可能なメモリエリアの上限を超えることができないという課題があるので、これを解決することを意図したものである。
The related technique referred to in
しかしながら、上記特許文献2に記載された、入出力領域拡張用メモリ装置では、CPUが、入出力動作を制御するプログラムの実行アドレスを外部のハードウェア(以下、「HW」と称する)回路を用いてモニタするとともに、そのモニタ結果を基にバンクを選択する必要がある。
However, in the input / output area expansion memory device described in
また、上述のプログラムは、入出力領域のバンクを切替るトリガにはなるが、切替えた先の当該領域を外部からアドレス指定するソフトウェア(以下、「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.
上述した関連する技術では、情報処理装置の処理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.
以下、本発明を実施する形態について図面を参照して詳細に説明する。 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
ここで、制御部1は、本アドレス空間変換装置の全体を制御する制御部である。
Here, the
アドレス空間変換部2は、制御部1と、周辺デバイス3の間にあって、周辺デバイス3のアドレス空間を拡大するようにアドレス空間を変換するアドレス空間変換部である。
The address
周辺デバイス3は、制御部1がアクセスする対象とする周辺デバイスである。
The
また、制御部1は、アドレス空間変換部2を制御することにより、周辺デバイス3にアクセスする際に、アドレス空間変換部2の図示していない、Global−Localアドレス空間変換テーブルに基いてアドレス空間を変換する。
In addition, when the
ここで、図示していないGlobalアドレスは、制御部1から、アドレス空間変換部2に与える論理的にアドレス空間を拡大したアドレスと定義する。
Here, a global address (not shown) is defined as an address that is logically expanded from the
また、同じく図示していないLocalアドレスは、アドレス空間変換部2から、周辺デバイス3に与える物理アドレスと定義する。
Similarly, a local address (not shown) is defined as a physical address given from the address
次に、本実施形態の動作について説明する。 Next, the operation of this embodiment will be described.
まず、制御部1は、所定の上位アドレスの範囲による論理的な区画であるセグメントを、アドレス空間変換部2に割り当てておく。
First, the
次に、制御部1は、周辺デバイス3にアクセスするための、アドレス空間変換部2に出力するアドレスを、そのセグメントの範囲において、周辺デバイス3の下位アドレスを特定して成るGlobalアドレスを指定する。
Next, the
次に、前記アドレス空間変換部2は、上述の制御部1が指定したGlobalアドレスを基に、自身が備えるGlobal−Localアドレス変換テーブルを参照することにより、制御部1が指定する、Globalアドレスの上位アドレス空間であるセグメントを特定するとともに、そのセグメントの配下にある、アクセス目的とする周辺デバイス3の下位アドレスを特定する変換を行う。
Next, the address
すなわち、本実施形態に係るアドレス空間変換装置によれば、前記アドレス空間変換部2において、周辺デバイス3の物理アドレス空間ごと、セグメント毎に区画した上位の論理アドレス空間に変換することによって、接続可能な周辺デバイスの数を増やすことができる。
That is, according to the address space conversion apparatus according to the present embodiment, the address
つまり、制御部1は、周辺デバイス3の物理アドレス空間を論理的に拡張することで、大規模な入出力機能を有するアドレス空間変換装置を構築することができるという効果を奏することができる。
That is, the
また、制御部1の処理bit数に比べて、周辺デバイス3の処理ビット数が小さい装置であっても、これに制限されることなく、制御部1からは、あたかも制御主体である制御部1と、制御対象である周辺デバイス3の処理bit数が同じに見えるように扱うことができる。
Moreover, even if the number of processing bits of the
さらに、アドレス空間変換部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
<第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
本アドレス空間変換装置10が有する、CPU11、メモリ12、チップセット13は、いわゆるx64アーキテクチャに代表される、64bitの処理bit数を有する機能ブロックである。
The
一方で、技術進歩に伴うアーキテクチャの過渡期にあって、本アドレス空間変換装置10が有する周辺デバイスであるPCIブリッジ17および、PCIデバイス19は、32bitの処理bit数を有しており、メモリのMMIO空間を使用する。
On the other hand, the
また、本装置に搭載しているチップセット13は、MMIOアクセスレジスタ14、MMIOアドレスレジスタ15、およびGlobal−Localアドレス変換テーブル16を有する。
Further, the chip set 13 mounted on this apparatus has an
また、本装置に搭載しているPCIブリッジ17は、配下に接続する、PCIデバイス19のMMIO空間を割り当てる、MMIOアドレスレジスタ18を有する。
Further, the
また、本装置に搭載しているPCIデバイス19は、MMIOアドレスレジスタ20および、MMIO空間にマッピングするMMIOレジスタ21を有する。
The
なお、PCIデバイス19は、例えば、NWカードであるNICや、FCカードなど通信カードの他、インタフェースが、例えば、Serial Attached SCSI(Small Computer System Interface);以下、「SAS」と称する)や、シリアルATA(Serial Advanced Technology Attachment;以下、「SATA」と称する)などの記憶装置を接続する規格に対応するPCIバスカード、もしくは周辺機器などである。
Note that the
ここで、図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
次に、図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
次に、図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
なお、図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
そしてCPU11において動作するプログラムの用途毎に区分けされた動作空間に対応するメモリマップとなっている。
The memory map corresponds to the operation space divided for each application of the program running on the
続いて、第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
つまり、BIOS22は本アドレス空間変換装置が搭載している、チップセット13、PCIブリッジ17を含む全てのPCIデバイス19を認識した後に、PCIデバイスに変更があれば、そのPCIデバイス19が有するレジスタから必要な情報を収集する。
In other words, the
その後、BIOS22は、PCIバス規格に規定されている、チップセット13が有する特別なモードである、PCIコンフィグレーション動作を使用することにより、PCIデバイス19が動作に必要とするレジスタやバッファなどの情報をメモリ12に割り当てる。
After that, the
つまり、BIOS22は、PCIブリッジ17および、PCIデバイス19の各々のMMIOアドレスレジスタ18および、20から、動作に必要なメモリのサイズを読出す。
That is, the
そして、BIOS22は、それを基にして、必要なメモリのサイズのデータを、MMIOアドレスレジスタ18および、20に改めて、書込むことにより、図5に示す、メモリ空間の範囲の中で、例えば、セグメント1 MMIO53という4GB以上のメモリ領域に新たなMMIO空間を割り当てることができる。
Then, the
これにより、以降、CPU11および図示していない協働するOSは、PCIデバイス19にアクセスする際に、上述のメモリ12の新たなMMIO空間に対してCPUのリード/ライトサイクルを使用してMMIOアクセスすることができる。
As a result, when the
なお、図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
その後、チップセット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
これによって、CPU11は、図示していないOSと協働して、目的とする、セグメント番号に属するPCIデバイス19のMMIOレジスタ21を使用して、MMIOアクセスによる書込みを行う。
Thus, the
次に、CPU11は、PCIデバイス19からデータを読出す際に、書込みの際と同様に、図示していないOSと協働して、目的のPCIデバイスを特定する64bitのGlobal MMIOアドレスをチップセット13のMMIOアクセスレジスタ14に設定する。
Next, when reading data from the
その後、チップセット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
これによって、CPU11は、図示していないOSと協働して、目的とする、セグメント番号に属するPCIデバイス19のMMIOレジスタ21を使用して、MMIOアクセスによる読出しを行う。
As a result, the
次に、図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
一方で、図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
上述の64bitの論理的なGlobal MMIOアドレス31は、上述の下位の物理的なLocal MMIOアドレス32を含むように、上位に32bitの論理的な上位アドレス範囲を配しており、合わせて64bitの論理アドレスを成している。
The 64-bit logical
なお、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
まず、下位アドレス範囲である0000_0000〜ffff_ffffは、32bitで表される約4GB毎のアドレス範囲であり、PCIブリッジ17および、PCIデバイス19が使えるLocal MMIOアドレス32である。
First, the
次に、上位アドレス範囲である、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
ここで、図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
また、同じく下から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
ここで、図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,
なお、PCIブリッジ17は、多段(いわゆる、カスケード)接続にすることが可能であるので、一段目のPCIブリッジに、2段目のPCIブリッジを複数個、接続する構成にしてもよい。
Since the
また、PCIデバイス19は、その各々のPCIブリッジ17の配下に、少なくとも1個以上、PCIブリッジ17のアドレス範囲を超えない範囲で、接続することができる。
Further, at least one
さらに、図3の右に接続している、PCIデバイス19であるPCI10〜PCI1nや、PCIf0〜PCIfn35は、各セグメントの範囲の中で、シーケンシャルにMMIOアドレスを割り当てるようにすればよい。
Further,
以上の本実施形態の動作について、図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
ここで、デバイス情報とは、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
次に、BIOS22は、取得したメモリ空間アクセス用のアドレスのサイズを基に、チップセット13に、Local MMIOアドレスレンジを割当てる(ステップS64)。
Next, the
次に、BIOS22は、チップセット13に、PCIブリッジおよび、PCIデバイスを区画するセグメント番号を割当てる。なお、チップセット13へのセグメント番号の割当ては初回、起動の際に決定済みである(ステップS65)。
Next, the
その結果、BIOS22は、Local MMIOアドレスレンジと、セグメント番号を基に、チップセットに有するGlobal−Localアドレス変換テーブルを作成する(ステップS66)。BIOS22は、本装置が起動する度に、以上の初期設定を行う。
As a result, the
なお、ステップS66では、万が一、PCIデバイス19のうちのどれかが、故障することで、BIOS22に対してPCIデバイスから応答がない場合は、本装置が起動する際に、当該故障のPCIデバイスを除いて、Global−Localアドレス変換テーブルを作成する。
In step S66, if one of the
BIOS22は、一連のBIOSの処理を行った後に、OSを起動する(不図示)。
The
つづいて、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
次に、OSは、PCIデバイスにデータを書込むために、Global MMIOアドレスを、MMIOアクセスレジスタ14に設定する(ステップS70)。
Next, the OS sets a global MMIO address in the
その後、チップセット13は、Global MMIOアドレス41をキーにして、Global−Local MMIOアドレス変換テーブル16を参照して、対応するPCIブリッジ19配下のセグメントを特定する(ステップS71)。
Thereafter, the chip set 13 specifies a segment under the
さらに、チップセット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
なお、ステップS71と、ステップS72では、MMIOアクセスレジスタ14に、MMIOアドレスレジスタ15からのセグメント番号とLocal MMIOアドレスとを、一旦、保有している。
In step S71 and step S72, the
そして、チップセット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
次に、ホットプラグの場合の動作について、図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
BIOS22は、本装置の操作者が、ホットプラグの操作を行う度に、上述のステップS85を含む、それまでの初期設定を行う。
The
なお、ステップS85では、万が一、PCIデバイス19のうちのどれかが、故障することで、BIOS22に対してPCIデバイスから応答がない場合で、組込み釦押下の際に、ステップS85において、当該故障のPCIデバイスを除いて、Global−Localアドレス変換テーブルを更新する。
In step S85, if one of the
一連のBIOSの処理を行った後に、BIOS22は、OSを起動(不図示)したのち、OSに対して、PCIデバイスの組込みを要求する(ステップS86)。
After performing a series of BIOS processes, the
次に、データ読出しでは、OSは、PCIデバイス19からデータを読出すために、対象PCIデバイス19のGlobal MMIOアドレス41をチップセット13が有するMMIOアクセスレジスタ14に設定する(ステップS90)。
Next, in the data reading, the OS sets the
次に、チップセット13は、Global MMIOアドレス41をキーにして、Global−Local MMIOアドレス16を参照して、対応するPCIブリッジ17配下のセグメント番号42を特定する(ステップS91)。
Next, the chip set 13 specifies the
その後、チップセット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
そして、チップセット13は、Local MMIOアドレスに対応する
PCIデバイス19のMMIOレジスタ21からデータを読出す(ステップS93)。
Then, the chip set 13 reads data from the MMIO register 21 of the
以上により、CPU11は、OSと協働して、PCIデバイス19に対して必要なデータを読込むことができる。
As described above, the
これにより、本実施形態に係るアドレス空間変換装置によれば、処理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
また、CPU11と協働して動作するOSからは、あたかもCPU11や、チップセット13と、PCIブリッジ17や、PCIデバイス19の処理bit数が同じに見えるように扱うことができる。
Further, the OS operating in cooperation with the
また、チップセット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-
また、CPU−A101と、CPU−B102は、チップセット−A103と、チップセット−B104が、高速ホストバス105によって直接接続されることにより、双方のチップセットに有する、Global−Localアドレス変換テーブルを相互に参照することができる点が異なる。
Further, the CPU-
このため、以下の説明においては、本実施形態に係る特徴的な部分を中心にさらに詳しく説明すると共に、上述した第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
また、同様に、本二重化アドレス空間変換装置100は、CPU−B102の配下に接続したチップセット−B104と、配下にPCIデバイスE、FならびにPCIデバイスG、Hをそれぞれ接続するPCIブリッジC、Dとを接続する系統Bを有する。
Similarly, the duplex address
ここで、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-
また、チップセット−A103、チップセット−B104は、それぞれのGlobal−Localアドレス変換テーブルを相互に管理する、図8に図示していない故障代替管理テーブルをさらに、上位にそれぞれで有している。
Further, the chip set-
この故障代替管理テーブルは、高速ホストバス105によって、接続することにより、それぞれの系統の下位にあるPCIデバイスの故障状況の監視と、故障した場合に、相互に代替するPCIデバイスを提供することができる。
This failure replacement management table can be connected by the high-
ここで、例えば、系統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
そして、系統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
なお、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
このために、操作者は、本アドレス空間変換装置が備える、上述の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-
また、本実施形態に係る二重化アドレス空間変換装置によれば、この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
これにより、SWのサポートのみで、本SWによるアドレス空間変換装置200を実現することが出来る。
As a result, the address
本SWによるアドレス空間変換装置200のBIOS22は、本装置が起動する際、および、PCIデバイス19を、拡張スロットから抜去したり、拡張スロットにPCIデバイス19を挿入したり、拡張スロットから抜去してから、PCIデバイス19を拡張スロットに挿入したりする際に、搭載している、チップセット13、PCIブリッジ17を含む全てのPCIデバイス19を認識する。
The
その際に、PCIデバイス19に変更があれば、その動作に必要とするレジスタやバッファなどの情報をメモリ12に割り当てる更新を行う。
At this time, if there is a change in the
また、その際に、FW層にある、FWによるアドレス空間変換部203を制御することによって、PCIバス規格に規定されている、チップセット13が有する特別なモードである、PCIコンフィグレーション動作を間接的に実行することにより、PCIデバイス19が動作に必要なメモリ空間をメモリ12に割り当てることができる。
At that time, by controlling the FW address
すなわち、SWの一種であるFWによるアドレス空間変換部203が、HWであるチップセット13の代わりを行う。
That is, the FW address
ここで、上述の第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
以降、OS201は、PCIデバイス19へのデータの読書きを行う際には、第2の実施形態で説明したように、CPU11、メモリ12、チップセット13を使ってアクセスする。また、この際に、ドライバ202を用いてPCIデバイス19を制御する。
Thereafter, when reading / writing data to / from the
これにより、処理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
また、前記の場合において、当該装置内へのコンピュータ・プログラムの供給方法は、フロッピー(登録商標)ディスクや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 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 4)
The control unit according to
(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 6)
(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 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
(Appendix 9)
8. The address space conversion device according to any one of
(Appendix 10)
The address according to
(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
(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
(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
12
53
100 Duplicated address
102 CPU-B
103 Chipset-A
104 Chipset-B
105 High-
107 PCI device D
108 PCI device H
Address space conversion device with 200
202
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.
所定の上位アドレスの範囲を、記憶領域単位を成すアドレス空間に論理的に区画し、
そのアドレス空間の区画を、前記アドレス空間変換部に割り当て、
その割り当てたアドレス空間の範囲において前記周辺デバイスの下位アドレスを特定することを特徴とするアドレス空間変換の制御方法。 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.
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)
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 |
-
2011
- 2011-12-01 JP JP2011263394A patent/JP2013114650A/en active Pending
Cited By (6)
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 |