JP5500114B2 - Access device and access method - Google Patents

Access device and access method Download PDF

Info

Publication number
JP5500114B2
JP5500114B2 JP2011089051A JP2011089051A JP5500114B2 JP 5500114 B2 JP5500114 B2 JP 5500114B2 JP 2011089051 A JP2011089051 A JP 2011089051A JP 2011089051 A JP2011089051 A JP 2011089051A JP 5500114 B2 JP5500114 B2 JP 5500114B2
Authority
JP
Japan
Prior art keywords
access
core
unit
extension unit
list
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.)
Expired - Fee Related
Application number
JP2011089051A
Other languages
Japanese (ja)
Other versions
JP2012221399A (en
Inventor
隆 米村
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 JP2011089051A priority Critical patent/JP5500114B2/en
Publication of JP2012221399A publication Critical patent/JP2012221399A/en
Application granted granted Critical
Publication of JP5500114B2 publication Critical patent/JP5500114B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Multi Processors (AREA)

Description

本発明は、記憶装置や入出力装置等にアクセスするためのアクセス装置及びアクセス方法に関する。   The present invention relates to an access device and an access method for accessing a storage device, an input / output device, and the like.

拡張記憶装置(EMU(Extended Memory Unit))は高速メモリの拡張ユニット(EU(Extended Unit))を持ち、接続された計算機(ホスト)の主記憶装置と外部二次記憶装置との記憶階層のギャップを埋めることができる装置であり、メインフレーム等のスケーラビリティや可用性の向上のために複数のホストを互いに結合したクラスタシステムにおいて、複数のホストの間で高速なデータ共有を実現する手段として主に利用されている。EMUの制御にはEMU内部に設けられたCPU(Central Processing Unit)で動作するEMUFW(Extended Memory Unit Firmware)が用いられる。EMUFWはホストがEUをアクセスする際の排他制御やEUの構成制御といった制御を主に行う。   The extended memory unit (EMU (Extended Memory Unit)) has a high-speed memory extended unit (EU (Extended Unit)), and the storage hierarchy gap between the main memory of the connected computer (host) and the external secondary memory In a cluster system in which multiple hosts are joined together to improve scalability and availability of mainframes, etc., it is mainly used as a means to realize high-speed data sharing among multiple hosts. Has been. For the control of the EMU, an EMUFW (Extended Memory Unit Firmware) that operates on a CPU (Central Processing Unit) provided in the EMU is used. The EMUFW mainly performs control such as exclusive control and EU configuration control when the host accesses the EU.

図1に通常のEMUの第一の構成を示す。図1の通常のEMU(71)はEU(72)とEMUFW(731)が動作するCPU(73)及びホストと接続するためのホスト台数分のホスト接続Port(740,741,…74n)を含む。本構成ではCPU(73)がEU(72)や全てのホスト接続Port(740,741,…74n)と直接接続されているため、CPU(73)の障害が局所化できずにEMU(71)の全体の障害につながってしまうという課題があった。   FIG. 1 shows a first configuration of a normal EMU. The normal EMU (71) in FIG. 1 includes a CPU (73) in which the EU (72) and the EMUFW (731) operate, and host connection ports (740, 741,... 74n) corresponding to the number of hosts for connecting to the host. . In this configuration, since the CPU (73) is directly connected to the EU (72) and all the host connection ports (740, 741,... 74n), the failure of the CPU (73) cannot be localized and the EMU (71). There was a problem that would lead to an overall obstacle.

そこで、この課題を解決するために図2に示す通常のEMUの第二の構成が発明された。図2ではEMU81はEU82と複数のFW用プラットフォームHW(ファームウェア用プラットフォームハードウェア)#0〜#n(符号830,831,…,83n)を含む。FW用プラットフォームHW#0〜#n(符号830,831,…83n)は、それぞれ、IF用HW(インターフェース用ハードウェア)(8301,8311,…,83n1)、EMUFW(83021,83121,…,83n21)が動作するCPU(8302,8312,…,83n2)、CPU(8302,8312,…,83n2)から使用するローカルメモリ(Local Memory)(以下、LMと記載)であるLM(8303,8313,…83n3)、ホスト接続ポート(Port)(8304,8314,…,83n4)を含む。IF用HW(8301,8311,…,83n1)はCPU(8302,8312,…,83n2)とEU2のインターフェースとなるハードウェアである。FW用プラットフォームHW#0〜#n(830,831,…83n)はそれぞれが独立しているが、内部のCPU(8302,8312,…,83n2)上で動作するEMUFW(83021,83121,…,83n21)はEU2によってデータを共有することで協調動作をすることができる。 In order to solve this problem, the second configuration of the normal EMU shown in FIG. 2 was invented. In FIG. 2, the EMU 81 includes an EU 82 and a plurality of FW platforms HW (firmware platform hardware) # 0 to #n (reference numerals 830, 831,..., 83n). FW platforms HW # 0 to #n (reference numerals 830, 831,... 83n) are IF HWs (interface hardware) (8301, 8311,..., 83n1) and EMUFWs (830211, 83121,..., 83n21), respectively. , And LM (8303, 8313,..., 83n2), and a local memory (Local Memory) (hereinafter referred to as LM) used by the CPUs (8302, 8312,..., 83n2). 83n3) and host connection ports (Port) (8304, 8314, ..., 83n4). The IF HW (8301, 8311,..., 83n1) is hardware that serves as an interface between the CPU (8302, 8312,..., 83n2) and the EU2. The FW platforms HW # 0 to #n (830, 831,... 83n) are independent of each other, but the EMUFW (830211, 83121,...,) That operates on the internal CPU (8302, 8312,..., 83n2). 83N21) can be a cooperative operation by sharing data by EU 8 2.

なお、本願発明に関連した発明が特許文献1乃至3に記載されている。   The inventions related to the present invention are described in Patent Documents 1 to 3.

特開2003−196251号公報JP 2003-196251 A 特開2003−271573号公報JP 2003-271573 A 特開平05−225154号公報JP 05-225154 A

図2の構成ではEMUFW(83021,83121,…,83n21)が動作するCPU(8302,8312,…,83n2)をEU(2)から切り離し、CPU(8302,8312,…,83n2)を複数動作させ負荷分散させることで、CPU障害を当該CPUが動作しているFW用プラットフォームHWに局所化することができ、図1の構成での課題を解決することができた。しかし、図2の構成ではCPU(8302,8312,…,83n2)をEU(2)から切り離したため、EMUFW(83021,83121,…,83n21)からEU(2)へのアクセスにIF用HW(8301,8311,…,83n1)を介在させる必要があり、HWが介在することでEMUFW(83021,83121,…,83n21)の処理にオーバーヘッドが発生してしまうという課題があった。   In the configuration of FIG. 2, the CPU (8302, 8312,..., 83n2) on which the EMUFW (83021, 83121,..., 83n21) operates is disconnected from the EU (2), and a plurality of CPUs (8302, 8312,. By distributing the load, the CPU failure can be localized in the FW platform HW in which the CPU is operating, and the problem in the configuration of FIG. 1 can be solved. However, since the CPU (8302, 8312,..., 83n2) is disconnected from the EU (2) in the configuration of FIG. 2, the IF HW (8301) is used to access the EU (2) from the EMUFW (83021, 83121,..., 83n21). , 8311,..., 83n1), and there is a problem in that overhead is generated in the processing of EMUFW (830211, 83121,..., 83n21) by interposing HW.

そこで、本発明は、他の処理から見たときのアクセス処理によるオーバーヘッドを削減することを可能とするアクセス装置及びアクセス方法を提供することを目的とする。   Accordingly, an object of the present invention is to provide an access device and an access method that can reduce overhead due to access processing when viewed from other processing.

本発明の第1の観点によれば、拡張ユニットと、前記拡張ユニットにアクセスする機能を有する1以上のアクセス装置と、を備える拡張記憶装置におけるアクセス装置であって、マルチコアCPU又は複数のCPUにより当該アクセス装置に複数のコアが備わるようにし、第1のコアでは、拡張ユニットアクセス専用ファームウェアが実行され、第2のコアでは、拡張記憶装置ファームウェアが実行され、前記拡張ユニットアクセス専用ファームウェアは、前記拡張ユニットにアクセスする処理の少なくとも一部を前記第1のコアに実行させるものであり、前記拡張記憶装置ファームウェアは、前記第2のコアで実行されるプログラムと前記拡張ユニットアクセス専用ファームウェアとの仲介をする処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置が提供される。   According to a first aspect of the present invention, there is provided an access device in an extended storage device comprising an expansion unit and one or more access devices having a function of accessing the expansion unit, wherein the access device is a multi-core CPU or a plurality of CPUs. The access device is provided with a plurality of cores, the first core executes the expansion unit access dedicated firmware, the second core executes the extended storage device firmware, and the expansion unit access dedicated firmware The first core is caused to execute at least a part of processing for accessing an expansion unit, and the expansion storage device firmware is an intermediary between a program executed in the second core and the expansion unit access dedicated firmware. To cause the second core to execute the process of Access device is provided, wherein Rukoto.

また、本発明の第2の観点によれば、拡張ユニットと、前記拡張ユニットにアクセスする機能を有する1以上のアクセス装置と、を備える拡張記憶装置における前記アクセス装置から前記拡張ユニットへのアクセス方法であって、前記アクセス装置には、マルチコアCPU又は複数のCPUにより複数のコアが備わり、前記アクセス方法は、第1のコアが、拡張ユニットアクセス専用ファームウェアを実行することと、第2のコアが、拡張記憶装置ファームウェアを実行することを含むものであり、前記拡張ユニットアクセス専用ファームウェアは、前記拡張ユニットにアクセスする処理の少なくとも一部を前記第1のコアに実行させるものであり、前記拡張記憶装置ファームウェアは、前記第2のコアで実行されるプログラムと前記拡張ユニットアクセス専用ファームウェアとの仲介をする処理を前記第2のコアに実行させるものであることを特徴とするアクセス方法が提供される。 According to a second aspect of the present invention, an access method from the access device to the expansion unit in an extended storage device comprising an expansion unit and one or more access devices having a function of accessing the expansion unit. a is, in the access device, features a Rifuku number of cores by the multi-core CPU or multiple CPU, the access method, and that the first core executes the expansion unit access only firmware, second core of, which comprises performing the extended storage unit firmware, the expansion unit access only firmware, which makes out at least part of the process of accessing the expansion unit to the first core, The extended storage device firmware includes a program executed by the second core and the extended user firmware. Ttoakusesu access wherein the processing for the mediation of a dedicated firmware is intended to be executed by the second core is provided.

本発明によれば、他の処理から見たときのアクセス処理によるオーバーヘッドを削減することが可能となる。   According to the present invention, it is possible to reduce overhead due to access processing when viewed from other processing.

通常のEMUの第一の構成を示す図である。It is a figure which shows the 1st structure of normal EMU. 通常のEMUの第二の構成を示す図である。It is a figure which shows the 2nd structure of normal EMU. 本発明の実施形態によるEMUの構成を示す図である。It is a figure which shows the structure of EMU by embodiment of this invention. 本発明の実施例の構成を示す図である。It is a figure which shows the structure of the Example of this invention. 本発明の実施例で用いるリストのデータ構造を示す図である。It is a figure which shows the data structure of the list | wrist used in the Example of this invention. 本発明の実施例のEMUFWのメインループとWAIT再開処理のフローチャートである。It is a flowchart of the main loop of EMUFW and the WAIT restart process of the Example of this invention. 本発明の実施例のEUアクセス時のフローチャート(その1)である。It is a flowchart (the 1) at the time of EU access of the Example of this invention. 本発明の実施例のEUアクセス時のフローチャート(その2)である。It is a flowchart (the 2) at the time of EU access of the Example of this invention.

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

図3に本発明の実施形態におけるEMUの構成を示す。図2の通常の構成と比較して、FW用プラットフォームHW#0〜#n(30,31,…3n)の内部に差分がある。FW用プラットフォームHW#0〜#n(30,31,…3n)の各々は同様であるため、以降はFW用プラットフォームHW#n(3n)のみについて説明し、FW用プラットフォームHW#n(3n)以外については説明を省略する。EMUFW(3n23)を実行するCPUとしてマルチCore CPU(3n2)を用いる。マルチCore CPU(3n2)はCore#0(3n21)、Core#1(3n24)を含み、各CoreはCore間通信機能(3n22、3n25)を有する。なお、図3ではマルチCore CPU(3n2)としてCoreの数が2つのものを記載しているが、本発明では2つ以上のCoreがあれば良く、Coreの数を2つに限定するものではない。一つのCore上でEMUFW(3n23)を、もう一方のCoreでEUアクセス専用FW(3n26)を動作させる。ここでは説明のため、Core#0(3n21)にEMUFW(3n23)、Core#1(3n24)にEUアクセス専用FW(3n26)を動作させるものとする。LM(3n3)にはマルチCore CPU(3n2)の各Core(Core#0(3n21), Core#1(3n24))間でデータの共有が可能な領域である、共有メモリ(3n31)を設ける。   FIG. 3 shows the configuration of the EMU in the embodiment of the present invention. Compared with the normal configuration of FIG. 2, there is a difference inside the FW platform HW # 0 to #n (30, 31,..., 3n). Since each of the FW platforms HW # 0 to #n (30, 31,... 3n) is the same, only the FW platform HW # n (3n) will be described below, and the FW platform HW # n (3n) Description of other than that is omitted. A multi-core CPU (3n2) is used as a CPU for executing EMUFW (3n23). The multi-core CPU (3n2) includes Core # 0 (3n21) and Core # 1 (3n24), and each Core has an inter-core communication function (3n22, 3n25). Although FIG. 3 shows a multi-core CPU (3n2) having two cores, in the present invention, two or more cores are sufficient, and the number of cores is not limited to two. Absent. The EMUFW (3n23) is operated on one Core and the EU access dedicated FW (3n26) is operated on the other Core. Here, for the sake of explanation, it is assumed that the Core # 0 (3n21) operates the EMUFW (3n23), and the Core # 1 (3n24) operates the EU access dedicated FW (3n26). The LM (3n3) is provided with a shared memory (3n31), which is an area where data can be shared among the cores (Core # 0 (3n21), Core # 1 (3n24)) of the multi-Core CPU (3n2).

以上の構成で、上述した通常の課題を解決する動作について以下で説明する。マルチCore CPU(3n2)のCore#0(3n21)上で動作するEMUFW(3n23)はEUアクセスの要求をLM(3n3)の共有メモリ(3n31)に書き込む。Core#1(3n24)上で動作するEUアクセス専用FW(3n26)は共有メモリ(3n31)から前記要求を取得し、IF用HW(3n1)に対してEUアクセスを要求する。IF用HW(3n1)はEUアクセスを実施する。EUアクセス専用FW(3n26)はEUアクセスが完了するのを待つ(例えば、EUアクセス専用FW(3n26)はポーリングによりIF用HW(3n1)からEUアクセス完了を知ることができる)。EUアクセスが完了すると、EUアクセス専用FW(3n26)はIF用HW(3n1)からアクセス結果を取得して共有メモリ(3n31)に格納し、core間通信機能(3n25)によってCore#1(3n24)からCore#0(3n21)にCore間通信を行い、EUアクセス完了をEMUFW(3n23)に通知する。通知を受けたEMUFW(3n23)は共有メモリ(3n31)からアクセス結果を取得する。以上の動作により、EUアクセスをCore#1(3n24)のEUアクセス専用FW(3n26)に行わせ、共有メモリ(3n31)とCore間通信を介して、Core#0(3n21)のEMUFW(3n23)がアクセス結果を取得することで、課題であったEUアクセス時のEMUFW(3n23)の処理のオーバーヘッドを削減することができる。   An operation for solving the above-described normal problem with the above configuration will be described below. The EMUFW (3n23) operating on the Core # 0 (3n21) of the multi-Core CPU (3n2) writes an EU access request to the shared memory (3n31) of the LM (3n3). The EU access dedicated FW (3n26) operating on the Core # 1 (3n24) acquires the request from the shared memory (3n31), and requests EU access to the IF HW (3n1). The IF HW (3n1) performs EU access. The EU access dedicated FW (3n26) waits for completion of EU access (for example, the EU access dedicated FW (3n26) can know the completion of EU access from the IF HW (3n1) by polling)). When the EU access is completed, the EU access dedicated FW (3n26) acquires the access result from the IF HW (3n1), stores it in the shared memory (3n31), and the Core # 1 (3n24) by the inter-core communication function (3n25). From Core to Core # 0 (3n21), inter-core communication is performed, and EUMU completion (3n23) is notified of EU access completion. The EMUFW (3n23) that has received the notification acquires the access result from the shared memory (3n31). Through the above operation, the EU access is made to the EU access dedicated FW (3n26) of the Core # 1 (3n24), and the EMUFW (3n23) of the Core # 0 (3n21) is communicated between the shared memory (3n31) and the Core. By acquiring the access result, it is possible to reduce the processing overhead of EMUFW (3n23) at the time of EU access, which was a problem.

図4に本発明の実施例の構成を示す。図4によれば、本発明の実施例のEMU(1)はEU(2)と複数のIOC(Input Output Controller)(IOC#0(30),IOC#1(31),…,IOC#n(3n))を含む。各IOC(IOC#0(30),IOC#1(31),…,IOC#n(3n))の構成は同様であるため、以降はIOC#n(3n)についてのみ説明を行い、IOC#n(3n)以外については説明を省略する。なお、IOCは、FW用プラットフォームHWを改良したものとして機能するものである。   FIG. 4 shows the configuration of the embodiment of the present invention. 4, the EMU (1) according to the embodiment of the present invention includes an EU (2) and a plurality of IOCs (Input Output Controllers) (IOC # 0 (30), IOC # 1 (31),..., IOC #n). (3n)). Since the configuration of each IOC (IOC # 0 (30), IOC # 1 (31),..., IOC #n (3n)) is the same, only IOC #n (3n) will be described below, and IOC # The description is omitted except for n (3n). The IOC functions as an improvement of the FW platform HW.

IOC#n(3n)は前述した図3のFW用プラットフォームHW#n(3n)に対応するものであって、各々のIOCでEMUFWが動作する。EU(2)にはUBARエリア(Under Base address Register Area)(21)が含まれる。このエリアは各IOC上で動作するEMUFW間で共有するためのデータを格納するエリアであり、このエリアのデータにアクセスすることで、複数のIOCのEMUFWは協調動作を行うことができる。   IOC # n (3n) corresponds to the FW platform HW # n (3n) of FIG. 3 described above, and the EMUFW operates in each IOC. EU (2) includes a UBAR area (Under Base address Register Area) (21). This area is an area for storing data to be shared among the EMUFWs operating on each IOC. By accessing the data in this area, the EMUFWs of a plurality of IOCs can perform a cooperative operation.

次にIOC#n(3n)内の構成について説明する。IOC#n(3n)はIF用LSI(Interface用Large Scale Integrated Circuit)(3n1)、マルチCore CPU(3n2)、LM(3n3)、ホスト接続Port(3n4)を含む。   Next, the configuration in IOC # n (3n) will be described. The IOC #n (3n) includes an IF LSI (Large Scale Integrated Circuit for Interface) (3n1), a multi-core CPU (3n2), an LM (3n3), and a host connection Port (3n4).

IF用LSI(3n1)は図のIF用HW(3n1)に対応するものであって、EUアクセス機能(3n11)を有する。EUアクセス機能(3n11)は制御レジスタを介して使用することができるもので、制御レジスタにリクエストを書くことでEUアクセスを実施し、アクセス完了後にアクセス結果が制御レジスタ上に反映される。この制御レジスタを参照することで、EMUFW(3n2)はEUアクセスの結果(アクセスの成功/失敗や読み出しデータ)を取得することができる。 The IF LSI (3n1) corresponds to the IF HW (3n1) of FIG. 3 , and has an EU access function (3n11). The EU access function (3n11) can be used via the control register. The EU access is performed by writing a request in the control register, and the access result is reflected on the control register after the access is completed. By referring to this control register, the EMUFW (3n2 3 ) can acquire the result of EU access (access success / failure or read data).

マルチCore CPU(3n2)はCore#0(3n21)とCore#1(3n24)の2つのCoreを含むCPUである。両CoreにはCore間通信機能(3n22,3n25)を有している。このCore間通信機能(3n22,3n25)により、各Coreはもう一方のCoreに対して通信を行うことが可能である。この通信は通信元のCoreから通信先のCoreに割り込みを発生させ、割り込みを受信した通信先のCoreの割り込み処理で通信データを処理することで行われる。Core#0(3n21)にEMUFW(3n23)を動作させ、Core#1(3n24)にEUアクセス専用FW(3n26)を動作させる。   The multi-core CPU (3n2) is a CPU including two cores of Core # 0 (3n21) and Core # 1 (3n24). Both Cores have an inter-core communication function (3n22, 3n25). With this inter-core communication function (3n22, 3n25), each Core can communicate with the other Core. This communication is performed by generating an interrupt from the communication source Core to the communication destination Core, and processing the communication data in the interrupt processing of the communication destination Core that has received the interrupt. The EMUFW (3n23) is operated on the Core # 0 (3n21), and the EU access dedicated FW (3n26) is operated on the Core # 1 (3n24).

LM(3n3)はCore#0専用メモリ(3n31)、Core#1専用メモリ(3n33)、共有メモリ(3n34)を含む。Core#0専用メモリ(3n31)はCore#0(3n21)上で動作するEMUFW(3n23)からのみアクセス可能な領域であり、WAITリスト(3n32)を有している。WAITリスト(3n32)については後述する。Core#1専用メモリ(3n33)はCore#1(3n24)上で動作するEUアクセス専用FW(3n26)からのみアクセス可能な領域である。共有メモリ(3n34)はCore間で共有可能なメモリ領域であり、EMUFW(3n23)、EUアクセス専用FW(3n26)の両者からアクセス可能である。共有メモリ(3n34)は要求リスト(3n35)、結果リスト(3n36)を含む。両リストについては後述する。   The LM (3n3) includes a Core # 0 dedicated memory (3n31), a Core # 1 dedicated memory (3n33), and a shared memory (3n34). The Core # 0 dedicated memory (3n31) is an area accessible only from the EMUFW (3n23) operating on the Core # 0 (3n21), and has a WAIT list (3n32). The WAIT list (3n32) will be described later. The Core # 1 dedicated memory (3n33) is an area accessible only from the EU access dedicated FW (3n26) operating on the Core # 1 (3n24). The shared memory (3n34) is a memory area that can be shared between Cores, and is accessible from both the EMUFW (3n23) and the EU access dedicated FW (3n26). The shared memory (3n34) includes a request list (3n35) and a result list (3n36). Both lists will be described later.

ホスト接続Port(3n4)はホストと接続しIFを実現するPortであり、本Portを介してホストからの要求を受信したり、応答を返したりすることが可能である。本実施例ではホスト接続Portは各IOCに1つあるため、ホストの台数によりIOCの数が定まる。   The host connection port (3n4) is a port that is connected to the host to realize the IF, and can receive a request from the host or return a response via the port. In this embodiment, since there is one host connection port for each IOC, the number of IOCs is determined by the number of hosts.

図5に本発明の実施例で用いる各リストのデータ構造について示す。本実施例で用いるリストには上述したCore#0専用メモリ(3n31)内のWAITリスト(3n32)、共有メモリ(3n34)内の要求リスト(3n35)、結果リスト(3n36)がある。EMUFW(3n23)はホストからの通信、他のEMUFWからの通信、障害といった各要因の発生に従って、発生した要因に対応した処理を実行する。   FIG. 5 shows the data structure of each list used in the embodiment of the present invention. The list used in this embodiment includes the above-described WAIT list (3n32) in the Core # 0 dedicated memory (3n31), the request list (3n35) in the shared memory (3n34), and the result list (3n36). The EMUFW (3n23) executes processing corresponding to the generated factor in accordance with the occurrence of each factor such as communication from the host, communication from other EMUFW, and failure.

WAITリスト(3n32)はEMUFW(3n23)が、ある要因の処理でEU(2)のUBARエリア(21)にアクセスする際に、EU(2)のUBARエリア(21)へのアクセスが完了するまで実行中の当該要因の処理をWAIT状態にして待ち合わせ、別の要因の処理を実行し、アクセス完了後に前記ある要因の処理を再開するために使用するリストである。   The WAIT list (3n32) indicates that when the EMUFW (3n23) accesses the UBAR area (21) of the EU (2) by processing of a certain factor, the access to the UBAR area (21) of the EU (2) is completed. This is a list used to wait for the processing of the factor being executed in the WAIT state, execute the processing of another factor, and resume the processing of the factor after the access is completed.

WAITリストの各要素には処理ID、再開point、状態、EUアクセスキー番号、EUデータの構成メンバーを持つ。処理IDはEUアクセス処理を呼んだ要因毎の各処理を区別するためのIDであり、「ホスト通信要因処理=0,他EMUFWからの通信要因処理=1,…」のように定義される。再開pointはWAIT状態にある要因処理を再開させる際に、当該処理のどこから再開するかを指定するデータである。状態にはWAITと再開待ちがあり、それぞれの状態に移行する際に設定する。EUアクセスキー番号はEU(2)のUBARエリア(21)にアクセス要求を出す際にEMUFW(3n23)が指定する番号であり、アクセス要求を一意に識別するためのものである。EUデータはEU(2)のUBARエリア(21)へのアクセスが完了した際に、アクセス結果のデータを格納するためのものであり、再開する要因処理にアクセス結果のデータを渡すために使用する。アクセスが書込みであれば、EUデータは、アクセスの成功/失敗を示すデータであり、アクセスが読出しであれば、EUデータは、アクセスの成功/失敗を示すデータと読み出したデータである。   Each element of the WAIT list has a process ID, a restart point, a state, an EU access key number, and a member of EU data. The process ID is an ID for distinguishing each process for each factor that called the EU access process, and is defined as “host communication factor process = 0, communication factor process from other EMUFW = 1,...”. The restart point is data specifying where to restart the factor process in the WAIT state when the factor process is restarted. The status includes WAIT and waiting for resumption, and is set when shifting to each status. The EU access key number is a number designated by the EMUFW (3n23) when issuing an access request to the UBAR area (21) of the EU (2), and uniquely identifies the access request. The EU data is for storing access result data when the access to the UBAR area (21) of the EU (2) is completed, and is used to pass the access result data to the cause process to be resumed. . If the access is a write, the EU data is data indicating the success / failure of the access. If the access is a read, the EU data is the data indicating the success / failure of the access and the read data.

次に要求リスト(3n35)、結果リスト(3n36)について説明する。要求リスト(3n35)はEMUFW(3n23)がEU(2)のUBARエリア(21)へのアクセスをEUアクセス専用FW(3n26)に要求する際に使用するリストであり、結果リスト(3n36)はアクセス結果を格納するリストである。要求リスト(3n35)、結果リスト(3n36)の要素が持つ構成メンバーは同一であり、結果リスト(3n36)はEU(2)のUBARエリア(21)へのアクセス完了時にEUアクセス専用FW(3n26)が完了した要求リストの要素を要求リスト(3n35)から外し、結果リスト(3n36)に追加し、アクセス結果を格納することで作成される。   Next, the request list (3n35) and the result list (3n36) will be described. The request list (3n35) is a list used when the EMUFW (3n23) requests access to the UBAR area (21) of the EU (2) from the EU access dedicated FW (3n26), and the result list (3n36) is an access. A list that stores the results. The members of the request list (3n35) and the result list (3n36) are the same, and the result list (3n36) is the EU access dedicated FW (3n26) when the access to the UBAR area (21) of the EU (2) is completed. Is created by removing the element of the request list completed from the request list (3n35), adding it to the result list (3n36), and storing the access result.

要求リスト及び結果リストの各要素はEUアクセスキー番号、アクセス先アドレス、アクセス種別、サイズ、EUデータ、状態、結果の構成メンバーを持つ。EUアクセスキー番号はWAITリスト(3n32)のものと同様のため、説明を省略する。アクセス先アドレスはアクセスするEU(2)のUBARエリア(21)のアドレスを指定し、アクセス種別はreadかwriteかを指定し、サイズはアクセスするデータサイズを指定する。EUデータはアクセス種別がwriteの場合はEU(2)のUBARエリア(21)に書き込むデータを、readの場合はEU(2)のUBARエリア(21)から読み出したデータを格納する。状態はアクセス待ち、完了待ち、完了がある。結果にはEU(2)のUBARエリア(21)へのアクセスの結果(OK/NG)を格納する。   Each element of the request list and the result list has EU access key number, access destination address, access type, size, EU data, status, and result components. Since the EU access key number is the same as that of the WAIT list (3n32), the description is omitted. The access destination address designates the address of the UBAR area (21) of the EU (2) to be accessed, the access type designates read or write, and the size designates the data size to be accessed. The EU data stores data to be written to the UBAR area (21) of the EU (2) when the access type is write, and data read from the UBAR area (21) of the EU (2) when read. The status includes waiting for access, waiting for completion, and completion. The result (OK / NG) of the access to the UBAR area (21) of EU (2) is stored in the result.

本発明の実施例の動作について、図面を用いて詳細に説明する。   The operation of the embodiment of the present invention will be described in detail with reference to the drawings.

図6にEMUFW(3n23)の主処理であるメインループのフローチャートを示す。また、図7、図8にEMUFW(3n23)からEU(2)にアクセスする際のフローチャートを示す。   FIG. 6 shows a flowchart of the main loop which is the main process of EMUFW (3n23). FIG. 7 and FIG. 8 show flowcharts when accessing the EU (2) from the EMUFW (3n23).

図6に示すようにEMUFW(3n23)は、メインループではホスト通信要因、他のEMUFW通信要因、障害処理要因、WAIT要因の各要因が発生しているかをチェックし(図6のステップA1、A3、A5、A7)、発生している場合に各要因に対応した処理(図6のステップA2、A4、A6、A8)を行い、この要因の検出と発生した要因に対応した処理を繰り返す。   As shown in FIG. 6, the EMUFW (3n23) checks whether the host communication factor, other EMUFW communication factor, failure processing factor, and WAIT factor are generated in the main loop (steps A1 and A3 in FIG. 6). , A5, A7), the processing corresponding to each factor (steps A2, A4, A6, A8 in FIG. 6) when it occurs, the detection of this factor and the processing corresponding to the generated factor are repeated.

次にWAIT要因に対応した処理の詳細を説明する。図6のステップA7のWAIT要因の検出において、EMUFW3n23はWAITリスト(3n32)に要素があれば、要因ありと判断し(図6のステップA7でYesのケース)、WAIT再開処理(図6のステップA8)を実行する。WAIT再開処理の詳細のフローチャートを図6の右側の吹出しに示す。WAIT再開処理で、EMUFW(3n23)はWAITリスト(3n32)の要素を読み出し(図6のステップB1)、状態が再開待ちかどうかをチェックする(図6のステップB2)。状態が再開待ちでない場合は全要素をチェックしたかを確認し(図6のステップB5)、全要素チェック済みの場合は再開すべき処理がなかったとして、メインループに戻る。WAITリスト(3n32)にまだ確認未の要素がある場合は次の要素にチェック対象を移し(図6のステップB6)、状態が再開待ちになっている要素があるかを探す。状態が再開待ちの要素があった場合(図6のステップB2でYesのケース)、処理IDに対応する処理を再開pointから実行する。その際、要素内のEUデータをその処理に渡すことで、EU(2)のUBARエリア(21)へのアクセスで取得したデータを再開する処理に渡す(図6のステップB3)。再開した処理が終了したらWAITリスト(3n32)から当該要素を削除し(図6のステップB4)、メインループに戻る。以上により、メインループのWAIT再開処理により、WAITリスト(3n32)中の状態が再開待ちになっている要素を再開させることができる。   Next, details of processing corresponding to the WAIT factor will be described. In the detection of the WAIT factor in step A7 in FIG. 6, if there is an element in the WAIT list (3n32), the EMUFW 3n23 determines that there is a factor (Yes in step A7 in FIG. 6), and the WAIT restart processing (step in FIG. 6). A8) is executed. A detailed flowchart of the WAIT restart process is shown in the right-hand balloon of FIG. In the WAIT restart process, the EMUFW (3n23) reads an element of the WAIT list (3n32) (step B1 in FIG. 6) and checks whether the state is waiting for restart (step B2 in FIG. 6). If the state is not waiting for resumption, it is confirmed whether all elements have been checked (step B5 in FIG. 6). If all elements have been checked, the process returns to the main loop assuming that there is no process to be resumed. If there is an unconfirmed element in the WAIT list (3n32), the check target is moved to the next element (step B6 in FIG. 6), and it is searched whether there is an element whose state is awaiting resumption. If there is an element whose state is waiting to be resumed (Yes in step B2 in FIG. 6), the process corresponding to the process ID is executed from the restart point. At that time, by passing the EU data in the element to the process, the data acquired by accessing the UBAR area (21) of the EU (2) is passed to the process of restarting (step B3 in FIG. 6). When the resumed process is completed, the element is deleted from the WAIT list (3n32) (step B4 in FIG. 6), and the process returns to the main loop. As described above, the WAIT restart process of the main loop can restart the elements whose status in the WAIT list (3n32) is waiting for restart.

次にEMUFW(3n23)がある要因の処理を実行中(ここでは説明のため、ホスト通信処理を実行中とする)にEU(2)のUBARエリア(21)にアクセスを行う場合の動作について図7、図8のフローチャートを用いて説明する。   Next, an operation when accessing the UBAR area (21) of the EU (2) while executing the process of a certain factor (here, for the sake of explanation, the host communication process is being executed) is shown. 7 and will be described with reference to the flowchart of FIG.

図7、図8の処理は、図6に示すホスト通信処理A2、他EMUFW通信処理A4又は障害処理A6の中から起動される。   7 and 8 are started from the host communication process A2, the other EMUFW communication process A4, or the failure process A6 shown in FIG.

EMUFW(3n23)は要求リスト(3n35)の要素の各構成メンバーにEU(2)のUBARエリア(21)へのアクセス内容に従って書き込みを行い、EU(2)のUBARエリア(21)へのアクセスをEUアクセス専用FW(3n26)に要求する(図7のステップC1)。ここで各要素の構成メンバーとして、EUアクセスキー番号(アクセス毎にユニークな番号)、アクセス先アドレス、アクセス種別、サイズ、データ(アクセス内容に応じた内容)、状態(アクセス待ち)が設定される。EMUFW(3n23)はWAITリスト(3n32)に要素を追加し、その要素に書き込みを行い、実行中の処理(例えば、ホスト通信処理)をWAIT状態にして(図7のステップC2)、メインループに戻る。ここでWAITリスト(3n32)に要素を追加するが、追加する要素には処理IDとして0(ホスト通信処理の場合)、再開pointとして中断した次の処理を指すデータに、状態としてWAITに、EUアクセスキー番号として図7のステップC1で要求リスト(3n35)の要素に設定したEUアクセスキー番号が設定される。メインループに戻ったEMUFW(3n23)はメインループの処理を継続する。   The EMUFW (3n23) writes to each constituent member of the element of the request list (3n35) according to the access contents to the UBAR area (21) of the EU (2), and accesses the UBAR area (21) of the EU (2). A request is made to the EU access dedicated FW (3n26) (step C1 in FIG. 7). Here, the EU access key number (unique number for each access), access destination address, access type, size, data (content according to access content), and state (waiting for access) are set as constituent members of each element. . The EMUFW (3n23) adds an element to the WAIT list (3n32), writes the element, puts the process being executed (for example, host communication process) into the WAIT state (step C2 in FIG. 7), and enters the main loop. Return. Here, an element is added to the WAIT list (3n32). The element to be added is 0 as the process ID (in the case of host communication process), the data indicating the next process interrupted as the restart point, the status to WAIT, and the EU The EU access key number set in the element of the request list (3n35) in step C1 in FIG. 7 is set as the access key number. The EMUFW (3n23) that has returned to the main loop continues the main loop processing.

EUアクセス専用FW(3n26)は要求リストから要素を読み出し(図7のステップD1)、状態がアクセス待ちの要求かどうかをチェックする(図7のステップD2)。状態がアクセス待ちの要素であった場合(図7のステップD2でYesのケース)、EUデータとしての書込データ(アクセスが書込みである場合のみ)とアクセス先アドレスとアクセス種別とサイズを附随させてIF用LSI(3n1)のEUアクセス機能(3n11)の制御レジスタに書き込みを行い、アクセス要求を行う(図7のステップD3)。   The EU access dedicated FW (3n26) reads an element from the request list (step D1 in FIG. 7), and checks whether the status is a request waiting for access (step D2 in FIG. 7). If the status is an element waiting for access (Yes in step D2 in FIG. 7), write data as EU data (only when access is write), an access destination address, an access type, and a size are attached. Then, write to the control register of the EU access function (3n11) of the IF LSI (3n1) to make an access request (step D3 in FIG. 7).

要求を受けたIF用LSI(3n1)はEU(2)に対してアクセスを実施する(図7のステップE1)。アクセスされたEU(2)は結果を返す(図7のステップF1,F2)が、アクセスが完了し結果が出力されるまでは時間を要する。   Upon receiving the request, the IF LSI (3n1) accesses the EU (2) (step E1 in FIG. 7). The accessed EU (2) returns the result (steps F1 and F2 in FIG. 7), but it takes time until the access is completed and the result is output.

EUアクセス専用FW(3n26)はEUアクセスの完了を確認するため、要求リストの当該要素の状態をアクセス待ちから完了待ちに設定し、IF用LSI(3n1)のEUアクセス機能(3n11)の制御レジスタをみることによりEUアクセスが完了したかをチェックする、完了待ちのポーリングを行う(図7のステップD5)。ポーリングの結果、EUアクセスが完了していない場合(図7のステップD6でNoのケース)は要求リスト(3n35)の次の要素に移り、要求リストの走査を繰り返す(図7のステップD7)。   The EU access dedicated FW (3n26) sets the state of the element of the request list from waiting for access to waiting for completion in order to confirm the completion of EU access, and the control register of the EU access function (3n11) of the IF LSI (3n1) It is checked whether the EU access has been completed by watching the above, and polling waiting for completion is performed (step D5 in FIG. 7). If the EU access is not completed as a result of the polling (No in step D6 in FIG. 7), the process moves to the next element in the request list (3n35) and repeats the scanning of the request list (step D7 in FIG. 7).

そして再び対象が当該要素になった時には状態が完了待ちになっているため、完了待ちの要求と判断され(図7のステップD4でYesのケース)、再び完了待ちのポーリングが行われる(図7のステップD5)。ここで、EUアクセスが完了したとすると、EU(2)は結果をIF用LSI(3n1)に対して結果を返し(図7のステップF2)、IF用LSI(3n1)は受信したアクセス結果をEUアクセス機能(3n11)の制御レジスタに反映する(図7のステップE2)。アクセスが書込みである場合には、制御レジスタには、書込み結果(OK/NG)が書き込まれ、アクセスが読出しである場合には、読出し結果(OK/NG)と読出しデータが書き込まれる。EUアクセス専用FW(3n26)は完了待ちのポーリング(図7のステップD5)し、アクセス完了を検出する(図7のステップD6でYesのケース)。   When the target becomes the element again, the status is waiting for completion, so it is determined that the request is waiting for completion (Yes in step D4 in FIG. 7), and polling waiting for completion is performed again (FIG. 7). Step D5). If the EU access is completed, the EU (2) returns the result to the IF LSI (3n1) (step F2 in FIG. 7), and the IF LSI (3n1) returns the received access result. This is reflected in the control register of the EU access function (3n11) (step E2 in FIG. 7). When the access is a write, a write result (OK / NG) is written to the control register, and when the access is a read, the read result (OK / NG) and read data are written. The EU access dedicated FW (3n26) polls for completion (step D5 in FIG. 7), and detects the completion of access (Yes in step D6 in FIG. 7).

アクセス完了を検出したEUアクセス専用FW(3n26)はIF用LSI(3n1)のEUアクセス機能(3n11)の制御レジスタからアクセス結果を取得し(図7のステップD8)、要求リスト(3n35)の当該要素を結果リスト(3n36)に移し、アクセス結果を当該要素のEUデータ、結果(OK/NG)に反映して状態を完了待ちから完了に設定する(図7のステップD9)。   The EU access dedicated FW (3n26) that has detected the access completion acquires the access result from the control register of the EU access function (3n11) of the IF LSI (3n1) (step D8 in FIG. 7), and the request list (3n35) The element is moved to the result list (3n36), and the access result is reflected in the EU data and the result (OK / NG) of the element to set the state from waiting for completion to completion (step D9 in FIG. 7).

そして、EUアクセス専用FW(3n26)はCore間通信機能(3n25)を用いて、EMUFW(3n23)にCore間通信でEUアクセス完了を通知する(図7のステップD10)。その後、EUアクセス専用FW(3n26)は図7のステップD1に戻り、要求リスト(3n35)を走査し、EUアクセスと完了待ちのポーリングを行う処理を繰り返す。   Then, the EU access dedicated FW (3n26) uses the inter-core communication function (3n25) to notify the EMUFW (3n23) of EU access completion through inter-core communication (step D10 in FIG. 7). Thereafter, the EU access dedicated FW (3n26) returns to step D1 of FIG. 7, scans the request list (3n35), and repeats the process of EU access and polling waiting for completion.

Core間通信を受信したEMUFW(3n23)は割込み処理が起動され、EUアクセス完了の処理を以下で行う(図7、図8の状態A)。EMUFW(3n23)は結果リスト(3n36)から要素を読み出し(図8のステップC3)、当該要素のEUアクセスキーと一致するEUアクセスキーを持つ要素をWAITリスト(3n32)から捜し、捜した要素(すなわち、完了したEUアクセスを行った処理の要素)をWAITリストから取得する(図8のステップC4)。   The EMUFW (3n23) that has received the inter-Core communication starts the interrupt process, and performs the EU access completion process (state A in FIGS. 7 and 8). The EMUFW (3n23) reads the element from the result list (3n36) (step C3 in FIG. 8), searches the WAIT list (3n32) for the element having the EU access key that matches the EU access key of the element, That is, the process element that has completed EU access) is acquired from the WAIT list (step C4 in FIG. 8).

EMUFW(3n23)はWAIT状態になっていて、EUアクセスが完了した当該処理を再開するため、WAITリストの当該要素の状態をWAITから再開待ちに変え、EUアクセスで取得したデータを結果リストの当該要素から読み出し、WAITリストの当該要素のEUデータに格納する(図8のステップC5)。   The EMUFW (3n23) is in the WAIT state, and in order to resume the processing that has completed the EU access, the state of the element in the WAIT list is changed from WAIT to waiting for resumption, and the data acquired by the EU access is changed to the corresponding in the result list. Read from the element and store it in the EU data of the element in the WAIT list (step C5 in FIG. 8).

そして、EMUFW(3n23)は結果リスト(3n36)の当該要素を削除し(図8のステップC6)、メインループに戻る。メインループに戻ったEMUFW(3n23)は前述のWAIT再開処理によりWAITリスト(3n23)からEUアクセス完了の当該要素の処理(ホスト通信処理)を再開させる。再開されたEUアクセスを行った処理(ホスト通信処理)はWAITリストの要素から取得したEUアクセス結果を用いて処理を継続する。   Then, EMUFW (3n23) deletes the element in the result list (3n36) (step C6 in FIG. 8) and returns to the main loop. The EMUFW (3n23) that has returned to the main loop restarts the processing (host communication processing) of the element of EU access completion from the WAIT list (3n23) by the WAIT restart processing described above. The resumed EU access process (host communication process) continues using the EU access result acquired from the elements of the WAIT list.

以上の動作により、課題であったEUアクセス時のEMUFWの処理のオーバーヘッドを削減することができる。   With the above operation, the overhead of EMUFW processing at the time of EU access, which was a problem, can be reduced.

なお、上記の説明では、EUアクセス処理では、EU(2)のUBARエリア(21)にアクセスする例を用いたが、EU(2)の他のエリア(オペレーティングシステムやユーザが利用するエリア)にも本発明を適用することができる。   In the above description, the example of accessing the UBAR area (21) of the EU (2) is used in the EU access processing. However, other areas (areas used by the operating system and the user) of the EU (2) are used. The present invention can also be applied.

また、上記の説明では、マルチコアCPUを用いるとしたが、シングルコアCPUを複数設け、複数のシングルCPUのコアを用いてもよい。   In the above description, a multi-core CPU is used. However, a plurality of single-core CPUs may be provided, and a plurality of single-CPU cores may be used.

本実施形態の第一の効果は、EMUの耐故障性の向上のためにEMUFWが動作するCPUとEUを切り離し、CPUを複数動作させ負荷分散させる構成をとった場合に、課題となっていたEUアクセス時のEMUFWの処理のオーバーヘッドを削減することができる点である。その理由はマルチCore CPUを用いて、EMUFWを実行するCoreとは別のCoreでEUアクセス専用FWを動作させ、EUアクセスをEUアクセス専用FWに行わせ、共有メモリとCore間通信を介して、EMUFWがアクセス結果を取得することで前記オーバーヘッドを削減できるためである。   The first effect of the present embodiment is that the EU, which has been a problem in the case of taking a configuration in which the CPU and the EU on which the EMUFW operates are separated and the load is distributed by operating a plurality of CPUs in order to improve the fault tolerance of the EMU, The overhead of the processing of EMUFW at the time of access can be reduced. The reason is that, using a multi-core CPU, the EU access dedicated FW is operated by a core different from the core executing the EMUFW, and the EU access dedicated FW is performed by the EU access dedicated FW, via the communication between the shared memory and the core, This is because the EMUFW can reduce the overhead by acquiring the access result.

第二の効果は第一の効果を低コストで実現できることである。その理由は、本発明はマルチCore CPU以外の特別なHWを使用することなく実施することが可能なためである。マルチCore CPUは現在のCPUの市場で主流となってきており、低コストで入手することができる。また、本実施形態はCoreの有効活用の観点でも有効である。マルチCore CPUが主流になってきた現在、全Coreを使用しないケースにおいてもマルチCore CPUを採用する機会も出てきた。EMUFWのような高信頼性が要求されるFWについては、並列処理による処理の複雑化による品質低下を避けるためマルチCore CPUを採用しても、あえて1つのCoreしか使用しない場合があるが、未使用Coreができてしまい不経済となってしまう。本実施形態ではEMUFWの処理そのものは並列化せずにEUアクセスのみで他Coreを使用するため、EMUFWの処理を複雑化させずにマルチCore CPUのCoreを有効活用することができる。   The second effect is that the first effect can be realized at low cost. This is because the present invention can be implemented without using a special HW other than the multi-core CPU. Multi-Core CPUs have become mainstream in the current CPU market and can be obtained at low cost. This embodiment is also effective from the viewpoint of effective utilization of Core. Now that multi-core CPUs have become mainstream, there has been an opportunity to adopt multi-core CPUs even when not using all cores. For FW that requires high reliability such as EMUFW, even if a multi-core CPU is adopted to avoid quality degradation due to complicated processing due to parallel processing, only one core may be used. It becomes uneconomical because Core is used. In the present embodiment, the EMUFW processing itself is not parallelized, and other Cores are used only for EU access. Therefore, the Core of the multi-Core CPU can be effectively used without complicating the EMUFW processing.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
拡張ユニットと、
前記拡張ユニットにアクセスする機能を有する1以上のアクセス装置と、
を備える拡張記憶装置におけるアクセス装置であって、
マルチコアCPU又は複数のCPUにより当該アクセス装置に複数のコアが備わるようにし、
第1のコアでは、拡張ユニットアクセス専用ファームウェアが実行され、
第2のコアでは、拡張記憶装置ファームウェアが実行され、
前記拡張ユニットアクセス専用ファームウェアは、前記拡張ユニットにアクセスする処理の少なくとも一部を前記第1のコアに実行させるものであり、
前記拡張記憶装置ファームウェアは、前記第2のコアで実行されるプログラムと前記拡張ユニットアクセス専用ファームウェアとの仲介をする処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置。
(Appendix 1)
An expansion unit,
One or more access devices having a function of accessing the extension unit;
An access device in an extended storage device comprising:
The access device is provided with a plurality of cores by a multi-core CPU or a plurality of CPUs,
In the first core, the firmware dedicated to expansion unit access is executed,
In the second core, the extended storage firmware is executed,
The expansion unit access dedicated firmware causes the first core to execute at least a part of processing for accessing the expansion unit,
The extended storage device firmware causes the second core to execute a process that mediates between a program executed in the second core and the extended unit access dedicated firmware.

(付記2)
付記1に記載のアクセス装置であって、
前記拡張記憶装置ファームウェアには、拡張ユニットアクセス処理部と、拡張ユニットアクセス完了割込み処理部と、WAIT再開処理部が含まれ、
前記拡張ユニットアクセス処理部は、前記第2のコアで実行されるプログラムで前記拡張ユニットにアクセスする必要がある時に、前記拡張ユニットアクセス専用ファームウェアを起動させた後に、アクセスを必要とする処理以外の処理を前記第2のコアに実行させるためのものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記拡張ユニットアクセス専用ファームウェアにより起動され、前記拡張ユニットにアクセスした結果を前記第2のコアで実行されるプログラムに渡すためのものであり、
前記WAIT再開処理部は、前記第2のコアで実行されるプログラムのメインループに含まれ、前記拡張ユニットにアクセスした結果を前記第2のコアで実行されるプログラムに渡すためのものであることを特徴とするアクセス装置。
(Appendix 2)
The access device according to attachment 1, wherein
The extended storage device firmware includes an extended unit access processing unit, an extended unit access completion interrupt processing unit, and a WAIT restart processing unit.
When the expansion unit access processing unit needs to access the expansion unit with a program executed by the second core, the expansion unit access processing unit starts up the expansion unit access dedicated firmware and then performs a process other than the process that requires access. For causing the second core to execute a process;
The extension unit access completion interrupt processing unit is started by the extension unit access dedicated firmware, and is for passing a result of accessing the extension unit to a program executed by the second core,
The WAIT restart processing unit is included in a main loop of a program executed by the second core, and is for passing a result of accessing the extension unit to a program executed by the second core. An access device characterized by.

(付記3)
付記2に記載のアクセス装置であって、
ローカルメモリと、
インターフェース用回路と、
を更に備え、
前記ローカルメモリには、前記第2のコア専用の専用エリアと前記第1のコアと前記第2のコアに共有される共有エリアが設けられ、
前記専用エリアには、WAITリストが生成され、
前記共有エリアには、要求リストと、結果リストが生成され、
前記拡張ユニットアクセス処理部は、前記要求リストに要素を追加し、追加した要素に状態として「アクセス待ち」を書き込み、また、拡張ユニットアクセスキー番号と書込データとアクセス先情報も書き込み、更に、前記WAITリストに要素を追加し、追加した要素に状態として「WAIT」を書き込み、また、当該拡張ユニットアクセス処理部を呼んだ処理の識別情報と、前記拡張ユニットアクセスキー番号を書き込んだ後に、当該拡張ユニットアクセス処理部を呼んだ処理をWAITさせる処理を前記第2のコアに実行させるものであり、
前記拡張ユニットアクセス専用ファームウェアは、
状態が「アクセス待ち」である要素が前記要求リストにある時に、その要素の状態を「完了待ち」にすると共に、その要素に含まれる書込データとアクセス先情報を付随させて、前記インターフェース用回路を介して、前記拡張ユニットにアクセス要求を出す処理と、
状態が「完了待ち」である要素が前記要求リストにあり、更に、前記インターフェース用回路に前記拡張ユニットへのアクセス結果である拡張ユニットデータがある時に、その要素の状態を「完了」にすると共に、前記インターフェース用回路から前記拡張ユニットデータを取得し、状態を「完了」にした要素を前記要求リストから前記結果リストに移し、その要素に前記拡張ユニットデータを含ませた上で、前記拡張ユニット完了割込み処理部を起動する処理を前記第1のコアに実行させるものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記結果リストの要素から拡張ユニットアクセスキー番号と前記拡張ユニットデータを読み出してから、前記WAITリストに含まれ、前記結果リストの要素から読み出された前記拡張ユニットアクセスキー番号を含む要素の状態を「WAIT」から「再開待ち」にし、前記結果リストの要素から読み出された拡張ユニットデータを前記WAITリストのその要素に含ませる処理を前記第2のコアに実行させるものであり、
前記WAIT再開処理部は、前記WAITリストに状態が「再開待ち」である要素がある時に、その要素に含まれている拡張ユニットデータをその要素に含まれている識別情報を有する処理に渡して、その処理を再開させる処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置。
(Appendix 3)
The access device according to attachment 2, wherein
Local memory,
An interface circuit;
Further comprising
The local memory is provided with a dedicated area dedicated to the second core, a shared area shared by the first core and the second core,
In the dedicated area, a WAIT list is generated,
In the shared area, a request list and a result list are generated,
The extension unit access processing unit adds an element to the request list, writes “waiting for access” as a status to the added element, writes an extension unit access key number, write data, and access destination information, An element is added to the WAIT list, “WAIT” is written as a state in the added element, and the identification information of the process that called the extension unit access processing unit and the extension unit access key number are written. A process for causing the second core to execute a process for causing the process that called the extension unit access processing unit to WAIT,
The expansion unit access dedicated firmware is:
When an element whose state is “waiting for access” is in the request list, the state of the element is set to “waiting for completion”, and write data and access destination information included in the element are attached to the request list. A process of issuing an access request to the extension unit via a circuit;
When an element whose status is “waiting for completion” is in the request list and there is extension unit data as a result of accessing the extension unit in the interface circuit, the status of the element is set to “complete” The extension unit data is acquired from the interface circuit, the element whose state is “completed” is moved from the request list to the result list, and the extension unit data is included in the element, and then the extension unit data is included. Causing the first core to execute a process for starting a completion interrupt processing unit;
The extension unit access completion interrupt processing unit reads the extension unit access key number and the extension unit data from the result list element, and then includes the extension unit included in the WAIT list and read from the result list element. A process of changing the state of the element including the unit access key number from “WAIT” to “waiting for restart” and including the extension unit data read from the element of the result list in the element of the WAIT list. To be executed,
When there is an element whose state is “waiting for restart” in the WAIT list, the WAIT restart processing unit passes the extension unit data included in the element to the process having the identification information included in the element. An access device that causes the second core to execute a process for resuming the process.

(付記4)
付記2に記載のアクセス装置であって、
ローカルメモリと、
インターフェース用回路と、
を更に備え、
前記ローカルメモリには、前記第2のコア専用の専用エリアと前記第1のコアと前記第2のコアに共有される共有エリアが設けられ、
前記専用エリアには、WAITリストが生成され、
前記共有エリアには、要求リストと、結果リストが生成され、
前記拡張ユニットアクセス処理部は、前記要求リストに要素を追加し、追加した要素に状態として「アクセス待ち」を書き込み、また、拡張ユニットアクセスキー番号とアクセス先情報も書き込み、更に、前記WAITリストに要素を追加し、追加した要素に状態として「WAIT」を書き込み、また、当該拡張ユニットアクセス処理部を呼んだ処理の識別情報と、前記拡張ユニットアクセスキー番号を書き込んだ後に、当該拡張ユニットアクセス処理部を呼んだ処理をWAITさせる処理を前記第2のコアに実行させるものであり、
前記拡張ユニットアクセス専用ファームウェアは、
状態が「アクセス待ち」である要素が前記要求リストにある時に、その要素の状態を「完了待ち」にすると共に、その要素に含まれるアクセス先情報を付随させて、前記インターフェース用回路を介して、前記拡張ユニットにアクセス要求を出す処理と、
状態が「完了待ち」である要素が前記要求リストにあり、更に、前記インターフェース用回路に前記拡張ユニットへのアクセス結果である拡張ユニットデータがある時に、その要素の状態を「完了」にすると共に、前記インターフェース用回路から前記拡張ユニットデータを取得し、状態を「完了」にした要素を前記要求リストから前記結果リストに移し、その要素に前記拡張ユニットデータを含ませた上で、前記拡張ユニット完了割込み処理部を起動する処理を前記第1のコアに実行させるものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記結果リストの要素から拡張ユニットアクセスキー番号と前記拡張ユニットデータを読み出してから、前記WAITリストに含まれ、前記結果リストの要素から読み出された前記拡張ユニットアクセスキー番号を含む要素の状態を「WAIT」から「再開待ち」にし、前記結果リストの要素から読み出された拡張ユニットデータを前記WAITリストのその要素に含ませ、処理を前記第2のコアに実行させるものであり、
前記WAIT再開処理部は、前記WAITリストに状態が「再開待ち」である要素がある時に、その要素に含まれている拡張ユニットデータをその要素に含まれている識別情報を有する処理に渡して、その処理を再開させる処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置。
(Appendix 4)
The access device according to attachment 2, wherein
Local memory,
An interface circuit;
Further comprising
The local memory is provided with a dedicated area dedicated to the second core, a shared area shared by the first core and the second core,
In the dedicated area, a WAIT list is generated,
In the shared area, a request list and a result list are generated,
The extension unit access processing unit adds an element to the request list, writes “waiting for access” as a status in the added element, writes an extension unit access key number and access destination information, and further adds to the WAIT list. An element is added, “WAIT” is written in the added element as a state, and the identification information of the process that called the extension unit access processing unit and the extension unit access key number are written, and then the extension unit access process The second core executes a process that causes the process that called the section to WAIT,
The expansion unit access dedicated firmware is:
When an element whose status is “waiting for access” is in the request list, the status of the element is set to “waiting for completion” and the access destination information included in the element is attached to the request list via the interface circuit. Issuing an access request to the extension unit;
When an element whose status is “waiting for completion” is in the request list and there is extension unit data as a result of accessing the extension unit in the interface circuit, the status of the element is set to “complete” The extension unit data is acquired from the interface circuit, the element whose state is “completed” is moved from the request list to the result list, and the extension unit data is included in the element, and then the extension unit data is included. Causing the first core to execute a process for starting a completion interrupt processing unit;
The extension unit access completion interrupt processing unit reads the extension unit access key number and the extension unit data from the result list element, and then includes the extension unit included in the WAIT list and read from the result list element. The state of the element including the unit access key number is changed from “WAIT” to “Waiting for restart”, the extension unit data read from the element of the result list is included in the element of the WAIT list, and the process is performed in the second state. Which is what the core does
When there is an element whose state is “waiting for restart” in the WAIT list, the WAIT restart processing unit passes the extension unit data included in the element to the process having the identification information included in the element. An access device that causes the second core to execute a process for resuming the process.

(付記5)
付記3又は4に記載のアクセス装置であって、
前記識別情報には、当該処理の再開ポイントを附随させることを特徴とするアクセス装置。
(Appendix 5)
The access device according to appendix 3 or 4,
An access device characterized in that the identification information is accompanied by a restart point of the process.

(付記6)
付記3乃至5の何れか1に記載のアクセス装置であって、
前記第1のコア及び前記第2のコアでは、コア間通信機能のプログラムも実行され、
前記拡張ユニットアクセス専用ファームウェアは、前記コア間通信機能のプログラムを利用して、前記拡張ユニット完了割込み処理部を起動することを特徴とするアクセス装置。
(Appendix 6)
The access device according to any one of appendices 3 to 5,
In the first core and the second core, an inter-core communication function program is also executed,
The extension unit access dedicated firmware activates the extension unit completion interrupt processing unit using the inter-core communication function program.

(付記7)
付記1乃至6の何れか1に記載のアクセス装置を備えることを特徴とする拡張記憶装置。
(Appendix 7)
An extended storage device comprising the access device according to any one of appendices 1 to 6.

(付記8)
付記1乃至6の何れか1に記載の拡張ユニットアクセス専用ファームウェア。
(Appendix 8)
The expansion unit access dedicated firmware according to any one of appendices 1 to 6.

(付記9)
付記1乃至6の何れか1に記載の拡張記憶装置ファームウェア。
(Appendix 9)
The extended storage device firmware according to any one of appendices 1 to 6.

(付記10)
拡張ユニットと、
前記拡張ユニットにアクセスする機能を有する1以上のアクセス装置と、
を備える拡張記憶装置における前記アクセス装置から前記拡張ユニットへのアクセス方法であって、
前記アクセス装置には、マルチコアCPU又は複数のCPUにより当該アクセス装置に複数のコアが備わり、
第1のコアが、拡張ユニットアクセス専用ファームウェアを実行し、
第2のコアが、拡張記憶装置ファームウェアを実行し、
前記拡張ユニットアクセス専用ファームウェアは、前記拡張ユニットにアクセスする処理の少なくとも一部を前記第1のコアに実行させるものであり、
前記拡張記憶装置ファームウェアは、前記第2のコアで実行されるプログラムと前記拡張ユニットアクセス専用ファームウェアとの仲介をする処理を前記第2のコアに実行させるものであることを特徴とするアクセス方法。
(Appendix 10)
An expansion unit,
One or more access devices having a function of accessing the extension unit;
An access method from the access device to the expansion unit in an extended storage device comprising:
The access device is provided with a plurality of cores in the access device by a multi-core CPU or a plurality of CPUs,
The first core executes firmware for exclusive use of expansion unit access,
The second core executes the extended storage firmware;
The expansion unit access dedicated firmware causes the first core to execute at least a part of processing for accessing the expansion unit,
2. The access method according to claim 1, wherein the extended storage device firmware causes the second core to execute a process that mediates between the program executed in the second core and the extended unit access dedicated firmware.

(付記11)
付記10に記載のアクセス方法であって、
前記拡張記憶装置ファームウェアには、拡張ユニットアクセス処理部と、拡張ユニットアクセス完了割込み処理部と、WAIT再開処理部が含まれ、
前記拡張ユニットアクセス処理部は、前記第2のコアで実行されるプログラムで前記拡張ユニットにアクセスする必要がある時に、前記拡張ユニットアクセス専用ファームウェアを起動させた後に、アクセスを必要とする処理以外の処理を前記第2のコアに実行させるためのものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記拡張ユニットアクセス専用ファームウェアにより起動され、前記拡張ユニットにアクセスした結果を前記第2のコアで実行されるプログラムに渡すためのものであり、
前記WAIT再開処理部は、前記第2のコアで実行されるプログラムのメインループに含まれ、前記拡張ユニットにアクセスした結果を前記第2のコアで実行されるプログラムに渡すためのものであることを特徴とするアクセス方法。
(Appendix 11)
The access method according to attachment 10, wherein
The extended storage device firmware includes an extended unit access processing unit, an extended unit access completion interrupt processing unit, and a WAIT restart processing unit.
When the expansion unit access processing unit needs to access the expansion unit with a program executed by the second core, the expansion unit access processing unit starts up the expansion unit access dedicated firmware and then performs a process other than the process that requires access. For causing the second core to execute a process;
The extension unit access completion interrupt processing unit is started by the extension unit access dedicated firmware, and is for passing a result of accessing the extension unit to a program executed by the second core,
The WAIT restart processing unit is included in a main loop of a program executed by the second core, and is for passing a result of accessing the extension unit to a program executed by the second core. An access method characterized by.

(付記12)
付記11に記載のアクセス方法であって、
前記アクセス装置は、
ローカルメモリと、
インターフェース用回路と、
を更に備え、
前記ローカルメモリには、前記第2のコア専用の専用エリアと前記第1のコアと前記第2のコアに共有される共有エリアが設けられ、
前記専用エリアには、WAITリストが生成され、
前記共有エリアには、要求リストと、結果リストが生成され、
前記拡張ユニットアクセス処理部は、前記要求リストに要素を追加し、追加した要素に状態として「アクセス待ち」を書き込み、また、拡張ユニットアクセスキー番号と書込データとアクセス先情報も書き込み、更に、前記WAITリストに要素を追加し、追加した要素に状態として「WAIT」を書き込み、また、当該拡張ユニットアクセス処理部を呼んだ処理の識別情報と、前記拡張ユニットアクセスキー番号を書き込んだ後に、当該拡張ユニットアクセス処理部を呼んだ処理をWAITさせる処理を前記第2のコアに実行させるものであり、
前記拡張ユニットアクセス専用ファームウェアは、
状態が「アクセス待ち」である要素が前記要求リストにある時に、その要素の状態を「完了待ち」にすると共に、その要素に含まれる書込データとアクセス先情報を付随させて、前記インターフェース用回路を介して、前記拡張ユニットにアクセス要求を出す処理と、
状態が「完了待ち」である要素が前記要求リストにあり、更に、前記インターフェース用回路に前記拡張ユニットへのアクセス結果である拡張ユニットデータがある時に、その要素の状態を「完了」にすると共に、前記インターフェース用回路から前記拡張ユニットデータを取得し、状態を「完了」にした要素を前記要求リストから前記結果リストに移し、その要素に前記拡張ユニットデータを含ませた上で、前記拡張ユニット完了割込み処理部を起動する処理を前記第1のコアに実行させるものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記結果リストの要素から拡張ユニットアクセスキー番号と前記拡張ユニットデータを読み出してから、前記WAITリストに含まれ、前記結果リストの要素から読み出された前記拡張ユニットアクセスキー番号を含む要素の状態を「WAIT」から「再開待ち」にし、前記結果リストの要素から読み出された拡張ユニットデータを前記WAITリストのその要素に含ませる処理を前記第2のコアに実行させるものであり、
前記WAIT再開処理部は、前記WAITリストに状態が「再開待ち」である要素がある時に、その要素に含まれている拡張ユニットデータをその要素に含まれている識別情報を有する処理に渡して、その処理を再開させる処理を前記第2のコアに実行させるものであることを特徴とするアクセス方法。
(Appendix 12)
The access method according to attachment 11, wherein
The access device is:
Local memory,
An interface circuit;
Further comprising
The local memory is provided with a dedicated area dedicated to the second core, a shared area shared by the first core and the second core,
In the dedicated area, a WAIT list is generated,
In the shared area, a request list and a result list are generated,
The extension unit access processing unit adds an element to the request list, writes “waiting for access” as a status to the added element, writes an extension unit access key number, write data, and access destination information, An element is added to the WAIT list, “WAIT” is written as a state in the added element, and the identification information of the process that called the extension unit access processing unit and the extension unit access key number are written. A process for causing the second core to execute a process for causing the process that called the extension unit access processing unit to WAIT,
The expansion unit access dedicated firmware is:
When an element whose state is “waiting for access” is in the request list, the state of the element is set to “waiting for completion”, and write data and access destination information included in the element are attached to the request list. A process of issuing an access request to the extension unit via a circuit;
When an element whose status is “waiting for completion” is in the request list and there is extension unit data as a result of accessing the extension unit in the interface circuit, the status of the element is set to “complete” The extension unit data is acquired from the interface circuit, the element whose state is “completed” is moved from the request list to the result list, and the extension unit data is included in the element, and then the extension unit data is included. Causing the first core to execute a process for starting a completion interrupt processing unit;
The extension unit access completion interrupt processing unit reads the extension unit access key number and the extension unit data from the result list element, and then includes the extension unit included in the WAIT list and read from the result list element. A process of changing the state of the element including the unit access key number from “WAIT” to “waiting for restart” and including the extension unit data read from the element of the result list in the element of the WAIT list. To be executed,
When there is an element whose state is “waiting for restart” in the WAIT list, the WAIT restart processing unit passes the extension unit data included in the element to the process having the identification information included in the element. An access method characterized by causing the second core to execute a process for resuming the process.

(付記13)
付記11に記載のアクセス方法であって、
前記アクセス装置は、
ローカルメモリと、
インターフェース用回路と、
を更に備え、
前記ローカルメモリには、前記第2のコア専用の専用エリアと前記第1のコアと前記第2のコアに共有される共有エリアが設けられ、
前記専用エリアには、WAITリストが生成され、
前記共有エリアには、要求リストと、結果リストが生成され、
前記拡張ユニットアクセス処理部は、前記要求リストに要素を追加し、追加した要素に状態として「アクセス待ち」を書き込み、また、拡張ユニットアクセスキー番号とアクセス先情報も書き込み、更に、前記WAITリストに要素を追加し、追加した要素に状態として「WAIT」を書き込み、また、当該拡張ユニットアクセス処理部を呼んだ処理の識別情報と、前記拡張ユニットアクセスキー番号を書き込んだ後に、当該拡張ユニットアクセス処理部を呼んだ処理をWAITさせる処理を前記第2のコアに実行させるものであり、
前記拡張ユニットアクセス専用ファームウェアは、
状態が「アクセス待ち」である要素が前記要求リストにある時に、その要素の状態を「完了待ち」にすると共に、その要素に含まれるアクセス先情報を付随させて、前記インターフェース用回路を介して、前記拡張ユニットにアクセス要求を出す処理と、
状態が「完了待ち」である要素が前記要求リストにあり、更に、前記インターフェース用回路に前記拡張ユニットへのアクセス結果である拡張ユニットデータがある時に、その要素の状態を「完了」にすると共に、前記インターフェース用回路から前記拡張ユニットデータを取得し、状態を「完了」にした要素を前記要求リストから前記結果リストに移し、その要素に前記拡張ユニットデータを含ませた上で、前記拡張ユニット完了割込み処理部を起動する処理を前記第1のコアに実行させるものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記結果リストの要素から拡張ユニットアクセスキー番号と前記拡張ユニットデータを読み出してから、前記WAITリストに含まれ、前記結果リストの要素から読み出された前記拡張ユニットアクセスキー番号を含む要素の状態を「WAIT」から「再開待ち」にし、前記結果リストの要素から読み出された拡張ユニットデータを前記WAITリストのその要素に含ませ、処理を前記第2のコアに実行させるものであり、
前記WAIT再開処理部は、前記WAITリストに状態が「再開待ち」である要素がある時に、その要素に含まれている拡張ユニットデータをその要素に含まれている識別情報を有する処理に渡して、その処理を再開させる処理を前記第2のコアに実行させるものであることを特徴とするアクセス方法。
(Appendix 13)
The access method according to attachment 11, wherein
The access device is:
Local memory,
An interface circuit;
Further comprising
The local memory is provided with a dedicated area dedicated to the second core, a shared area shared by the first core and the second core,
In the dedicated area, a WAIT list is generated,
In the shared area, a request list and a result list are generated,
The extension unit access processing unit adds an element to the request list, writes “waiting for access” as a status in the added element, writes an extension unit access key number and access destination information, and further adds to the WAIT list. An element is added, “WAIT” is written in the added element as a state, and the identification information of the process that called the extension unit access processing unit and the extension unit access key number are written, and then the extension unit access process The second core executes a process that causes the process that called the section to WAIT,
The expansion unit access dedicated firmware is:
When an element whose status is “waiting for access” is in the request list, the status of the element is set to “waiting for completion” and the access destination information included in the element is attached to the request list via the interface circuit. Issuing an access request to the extension unit;
When an element whose status is “waiting for completion” is in the request list and there is extension unit data as a result of accessing the extension unit in the interface circuit, the status of the element is set to “complete” The extension unit data is acquired from the interface circuit, the element whose state is “completed” is moved from the request list to the result list, and the extension unit data is included in the element, and then the extension unit data is included. Causing the first core to execute a process for starting a completion interrupt processing unit;
The extension unit access completion interrupt processing unit reads the extension unit access key number and the extension unit data from the result list element, and then includes the extension unit included in the WAIT list and read from the result list element. The state of the element including the unit access key number is changed from “WAIT” to “Waiting for restart”, the extension unit data read from the element of the result list is included in the element of the WAIT list, and the process is performed in the second state. Which is what the core does
When there is an element whose state is “waiting for restart” in the WAIT list, the WAIT restart processing unit passes the extension unit data included in the element to the process having the identification information included in the element. An access method characterized by causing the second core to execute a process for resuming the process.

(付記14)
付記12又は13に記載のアクセス方法であって、
前記識別情報には、当該処理の再開ポイントを附随させることを特徴とするアクセス方法。
(Appendix 14)
The access method according to attachment 12 or 13,
An access method characterized in that the identification information is accompanied by a restart point of the process.

(付記15)
付記12乃至14の何れか1に記載のアクセス方法であって、
前記第1のコア及び前記第2のコアでは、コア間通信機能のプログラムも実行され、
前記拡張ユニットアクセス専用ファームウェアは、前記コア間通信機能のプログラムを利用して、前記拡張ユニット完了割込み処理部を起動することを特徴とするアクセス方法。
(Appendix 15)
The access method according to any one of appendices 12 to 14,
In the first core and the second core, an inter-core communication function program is also executed,
The extension unit access dedicated firmware activates the extension unit completion interrupt processing unit by using a program of the inter-core communication function.

本発明は、ファームウェア用プラットフォームハードウェアが拡張ユニットにアクセスするために利用できるだけでなく、複数のコアを備える装置が記憶装置又は入出力装置にアクセスするためにも利用することができる。複数のコアを備える装置は、複数ではなく、単数であってもよい。   The present invention can be used not only for firmware platform hardware to access expansion units, but also for devices with multiple cores to access storage devices or input / output devices. The apparatus provided with a plurality of cores may be singular rather than plural.

1 EMU
2 EU
21 UBARエリア
30、31、・・・、3n IOC
301、・・・、3n1 IF用LSI
302、・・・、3n2 マルチコアCPU
303、・・・、3n3 LM
3023、・・・、3n23 EMUFW
3026、・・・、3n26 EUアクセス専用FW
1 EMU
2 EU
21 UBAR area 30, 31, ..., 3n IOC
301, ... 3n1 IF LSI
302, ... 3n2 multi-core CPU
303, ... 3n3 LM
3023, ... 3n23 EMUFW
3026, ... 3n26 EU access dedicated FW

Claims (10)

拡張ユニットと、
前記拡張ユニットにアクセスする機能を有する1以上のアクセス装置と、
を備える拡張記憶装置におけるアクセス装置であって、
マルチコアCPU又は複数のCPUにより当該アクセス装置に複数のコアが備わるようにし、
第1のコアでは、拡張ユニットアクセス専用ファームウェアが実行され、
第2のコアでは、拡張記憶装置ファームウェアが実行され、
前記拡張ユニットアクセス専用ファームウェアは、前記拡張ユニットにアクセスする処理の少なくとも一部を前記第1のコアに実行させるものであり、
前記拡張記憶装置ファームウェアは、前記第2のコアで実行されるプログラムと前記拡張ユニットアクセス専用ファームウェアとの仲介をする処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置。
An expansion unit,
One or more access devices having a function of accessing the extension unit;
An access device in an extended storage device comprising:
The access device is provided with a plurality of cores by a multi-core CPU or a plurality of CPUs,
In the first core, the firmware dedicated to expansion unit access is executed,
In the second core, the extended storage firmware is executed,
The expansion unit access dedicated firmware causes the first core to execute at least a part of processing for accessing the expansion unit,
The extended storage device firmware causes the second core to execute a process that mediates between a program executed in the second core and the extended unit access dedicated firmware.
請求項1に記載のアクセス装置であって、
前記拡張記憶装置ファームウェアには、拡張ユニットアクセス処理部と、拡張ユニットアクセス完了割込み処理部と、WAIT再開処理部が含まれ、
前記拡張ユニットアクセス処理部は、前記第2のコアで実行されるプログラムで前記拡張ユニットにアクセスする必要がある時に、前記拡張ユニットアクセス専用ファームウェアを起動させた後に、アクセスを必要とする処理以外の処理を前記第2のコアに実行させるためのものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記拡張ユニットアクセス専用ファームウェアにより起動され、前記拡張ユニットにアクセスした結果を前記第2のコアで実行されるプログラムに渡すためのものであり、
前記WAIT再開処理部は、前記拡張記憶装置ファームウェアのメインループに含まれ、前記拡張ユニットにアクセスした結果を前記第2のコアで実行されるプログラムに渡すためのものであることを特徴とするアクセス装置。
The access device according to claim 1,
The extended storage device firmware includes an extended unit access processing unit, an extended unit access completion interrupt processing unit, and a WAIT restart processing unit.
When the expansion unit access processing unit needs to access the expansion unit with a program executed by the second core, the expansion unit access processing unit starts up the expansion unit access dedicated firmware and then performs a process other than the process that requires access. For causing the second core to execute a process;
The extension unit access completion interrupt processing unit is started by the extension unit access dedicated firmware, and is for passing a result of accessing the extension unit to a program executed by the second core,
The WAIT restart processing unit is included in a main loop of the extended storage device firmware , and is used to pass a result of accessing the extended unit to a program executed by the second core. apparatus.
請求項2に記載のアクセス装置であって、
ローカルメモリと、
インターフェース用回路と、
を更に備え、
前記ローカルメモリには、前記第2のコア専用の専用エリアと前記第1のコアと前記第2のコアに共有される共有エリアが設けられ、
前記専用エリアには、WAITリストが生成され、
前記共有エリアには、要求リストと、結果リストが生成され、
前記拡張ユニットアクセス処理部は、前記要求リストに要素を追加し、追加した要素に状態として「アクセス待ち」を書き込み、また、拡張ユニットアクセスキー番号と書込データとアクセス先情報も書き込み、更に、前記WAITリストに要素を追加し、追加した要素に状態として「WAIT」を書き込み、また、当該拡張ユニットアクセス処理部を呼んだ処理の識別情報と、前記拡張ユニットアクセスキー番号を書き込んだ後に、当該拡張ユニットアクセス処理部を呼んだ処理をWAITさせる処理を前記第2のコアに実行させるものであり、
前記拡張ユニットアクセス専用ファームウェアは、
状態が「アクセス待ち」である要素が前記要求リストにある時に、その要素の状態を「完了待ち」にすると共に、その要素に含まれる書込データとアクセス先情報を付随させて、前記インターフェース用回路を介して、前記拡張ユニットにアクセス要求を出す処理と、
状態が「完了待ち」である要素が前記要求リストにあり、更に、前記インターフェース用回路に前記拡張ユニットへのアクセス結果である拡張ユニットデータがある時に、その要素の状態を「完了」にすると共に、前記インターフェース用回路から前記拡張ユニットデータを取得し、状態を「完了」にした要素を前記要求リストから前記結果リストに移し、その要素に前記拡張ユニットデータを含ませた上で、前記拡張ユニットアクセス完了割込み処理部を起動する処理を前記第1のコアに実行させるものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記結果リストの要素から拡張ユニットアクセスキー番号と前記拡張ユニットデータを読み出してから、前記WAITリストに含まれ、前記結果リストの要素から読み出された前記拡張ユニットアクセスキー番号を含む要素の状態を「WAIT」から「再開待ち」にし、前記結果リストの要素から読み出された拡張ユニットデータを前記WAITリストのその要素に含ませる処理を前記第2のコアに実行させるものであり、
前記WAIT再開処理部は、前記WAITリストに状態が「再開待ち」である要素がある時に、その要素に含まれている拡張ユニットデータをその要素に含まれている識別情報を有する処理に渡して、その処理を再開させる処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置。
The access device according to claim 2,
Local memory,
An interface circuit;
Further comprising
The local memory is provided with a dedicated area dedicated to the second core, a shared area shared by the first core and the second core,
In the dedicated area, a WAIT list is generated,
In the shared area, a request list and a result list are generated,
The extension unit access processing unit adds an element to the request list, writes “waiting for access” as a status to the added element, writes an extension unit access key number, write data, and access destination information, An element is added to the WAIT list, “WAIT” is written as a state in the added element, and the identification information of the process that called the extension unit access processing unit and the extension unit access key number are written. A process for causing the second core to execute a process for causing the process that called the extension unit access processing unit to WAIT,
The expansion unit access dedicated firmware is:
When an element whose state is “waiting for access” is in the request list, the state of the element is set to “waiting for completion”, and write data and access destination information included in the element are attached to the request list. A process of issuing an access request to the extension unit via a circuit;
When an element whose status is “waiting for completion” is in the request list and there is extension unit data as a result of accessing the extension unit in the interface circuit, the status of the element is set to “complete” The extension unit data is acquired from the interface circuit, the element whose state is “completed” is moved from the request list to the result list, and the extension unit data is included in the element, and then the extension unit data is included. Causing the first core to execute processing for starting an access completion interrupt processing unit;
The extension unit access completion interrupt processing unit reads the extension unit access key number and the extension unit data from the result list element, and then includes the extension unit included in the WAIT list and read from the result list element. A process of changing the state of the element including the unit access key number from “WAIT” to “waiting for restart” and including the extension unit data read from the element of the result list in the element of the WAIT list. To be executed,
When there is an element whose state is “waiting for restart” in the WAIT list, the WAIT restart processing unit passes the extension unit data included in the element to the process having the identification information included in the element. An access device that causes the second core to execute a process for resuming the process.
請求項2に記載のアクセス装置であって、
ローカルメモリと、
インターフェース用回路と、
を更に備え、
前記ローカルメモリには、前記第2のコア専用の専用エリアと前記第1のコアと前記第2のコアに共有される共有エリアが設けられ、
前記専用エリアには、WAITリストが生成され、
前記共有エリアには、要求リストと、結果リストが生成され、
前記拡張ユニットアクセス処理部は、前記要求リストに要素を追加し、追加した要素に状態として「アクセス待ち」を書き込み、また、拡張ユニットアクセスキー番号とアクセス先情報も書き込み、更に、前記WAITリストに要素を追加し、追加した要素に状態として「WAIT」を書き込み、また、当該拡張ユニットアクセス処理部を呼んだ処理の識別情報と、前記拡張ユニットアクセスキー番号を書き込んだ後に、当該拡張ユニットアクセス処理部を呼んだ処理をWAITさせる処理を前記第2のコアに実行させるものであり、
前記拡張ユニットアクセス専用ファームウェアは、
状態が「アクセス待ち」である要素が前記要求リストにある時に、その要素の状態を「完了待ち」にすると共に、その要素に含まれるアクセス先情報を付随させて、前記インターフェース用回路を介して、前記拡張ユニットにアクセス要求を出す処理と、
状態が「完了待ち」である要素が前記要求リストにあり、更に、前記インターフェース用回路に前記拡張ユニットへのアクセス結果である拡張ユニットデータがある時に、その要素の状態を「完了」にすると共に、前記インターフェース用回路から前記拡張ユニットデータを取得し、状態を「完了」にした要素を前記要求リストから前記結果リストに移し、その要素に前記拡張ユニットデータを含ませた上で、前記拡張ユニットアクセス完了割込み処理部を起動する処理を前記第1のコアに実行させるものであり、
前記拡張ユニットアクセス完了割込み処理部は、前記結果リストの要素から拡張ユニットアクセスキー番号と前記拡張ユニットデータを読み出してから、前記WAITリストに含まれ、前記結果リストの要素から読み出された前記拡張ユニットアクセスキー番号を含む要素の状態を「WAIT」から「再開待ち」にし、前記結果リストの要素から読み出された拡張ユニットデータを前記WAITリストのその要素に含ませ処理を前記第2のコアに実行させるものであり、
前記WAIT再開処理部は、前記WAITリストに状態が「再開待ち」である要素がある時に、その要素に含まれている拡張ユニットデータをその要素に含まれている識別情報を有する処理に渡して、その処理を再開させる処理を前記第2のコアに実行させるものであることを特徴とするアクセス装置。
The access device according to claim 2,
Local memory,
An interface circuit;
Further comprising
The local memory is provided with a dedicated area dedicated to the second core, a shared area shared by the first core and the second core,
In the dedicated area, a WAIT list is generated,
In the shared area, a request list and a result list are generated,
The extension unit access processing unit adds an element to the request list, writes “waiting for access” as a status in the added element, writes an extension unit access key number and access destination information, and further adds to the WAIT list. An element is added, “WAIT” is written in the added element as a state, and the identification information of the process that called the extension unit access processing unit and the extension unit access key number are written, and then the extension unit access process The second core executes a process that causes the process that called the section to WAIT,
The expansion unit access dedicated firmware is:
When an element whose status is “waiting for access” is in the request list, the status of the element is set to “waiting for completion” and the access destination information included in the element is attached to the request list via the interface circuit. Issuing an access request to the extension unit;
When an element whose status is “waiting for completion” is in the request list and there is extension unit data as a result of accessing the extension unit in the interface circuit, the status of the element is set to “complete” The extension unit data is acquired from the interface circuit, the element whose state is “completed” is moved from the request list to the result list, and the extension unit data is included in the element, and then the extension unit data is included. Causing the first core to execute processing for starting an access completion interrupt processing unit;
The extension unit access completion interrupt processing unit reads the extension unit access key number and the extension unit data from the result list element, and then includes the extension unit included in the WAIT list and read from the result list element. the state of the element containing a unit access key number from the "wAIT" to "resume waiting", the results list element from the read extension unit data processing for allowed Ru contained in the element the second of the wAIT list Which is what the core does
When there is an element whose state is “waiting for restart” in the WAIT list, the WAIT restart processing unit passes the extension unit data included in the element to the process having the identification information included in the element. An access device that causes the second core to execute a process for resuming the process.
請求項3又は4に記載のアクセス装置であって、
前記識別情報には、当該処理の再開ポイントを附随させることを特徴とするアクセス装置。
The access device according to claim 3 or 4,
An access device characterized in that the identification information is accompanied by a restart point of the process.
請求項3乃至5の何れか1に記載のアクセス装置であって、
前記第1のコア及び前記第2のコアでは、コア間通信機能のプログラムも実行され、
前記拡張ユニットアクセス専用ファームウェアは、前記コア間通信機能のプログラムを利用して、前記拡張ユニットアクセス完了割込み処理部を起動する処理を、前記第1のコアに実行させるものであることを特徴とするアクセス装置。
The access device according to any one of claims 3 to 5,
In the first core and the second core, an inter-core communication function program is also executed,
The extension unit access-dedicated firmware causes the first core to execute processing for starting the extension unit access completion interrupt processing unit using the inter-core communication function program. Access device.
請求項1乃至6の何れか1に記載のアクセス装置を備えることを特徴とする拡張記憶装置。   An extended storage device comprising the access device according to claim 1. 請求項1乃至6の何れか1に記載のアクセス装置における拡張ユニットアクセス専用ファームウェア。 The dedicated firmware for accessing the expansion unit in the access device according to any one of claims 1 to 6. 請求項1乃至6の何れか1に記載のアクセス装置における拡張記憶装置ファームウェア。 The extended storage device firmware in the access device according to claim 1. 拡張ユニットと、
前記拡張ユニットにアクセスする機能を有する1以上のアクセス装置と、
を備える拡張記憶装置における前記アクセス装置から前記拡張ユニットへのアクセス方法であって、
前記アクセス装置には、マルチコアCPU又は複数のCPUにより複数のコアが備わり、
前記アクセス方法は、
第1のコアが、拡張ユニットアクセス専用ファームウェアを実行することと、
第2のコアが、拡張記憶装置ファームウェアを実行することを含むものであり
前記拡張ユニットアクセス専用ファームウェアは、前記拡張ユニットにアクセスする処理の少なくとも一部を前記第1のコアに実行させるものであり、
前記拡張記憶装置ファームウェアは、前記第2のコアで実行されるプログラムと前記拡張ユニットアクセス専用ファームウェアとの仲介をする処理を前記第2のコアに実行させるものであることを特徴とするアクセス方法。
An expansion unit,
One or more access devices having a function of accessing the extension unit;
An access method from the access device to the expansion unit in an extended storage device comprising:
The said access device, equipped with Rifuku number of cores by the multi-core CPU or multiple CPU,
The access method is:
The first core executes dedicated firmware for expansion unit access;
The second core includes executing the extended storage firmware;
The expansion unit access dedicated firmware causes the first core to execute at least a part of processing for accessing the expansion unit,
2. The access method according to claim 1, wherein the extended storage device firmware causes the second core to execute a process that mediates between the program executed in the second core and the extended unit access dedicated firmware.
JP2011089051A 2011-04-13 2011-04-13 Access device and access method Expired - Fee Related JP5500114B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011089051A JP5500114B2 (en) 2011-04-13 2011-04-13 Access device and access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011089051A JP5500114B2 (en) 2011-04-13 2011-04-13 Access device and access method

Publications (2)

Publication Number Publication Date
JP2012221399A JP2012221399A (en) 2012-11-12
JP5500114B2 true JP5500114B2 (en) 2014-05-21

Family

ID=47272791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011089051A Expired - Fee Related JP5500114B2 (en) 2011-04-13 2011-04-13 Access device and access method

Country Status (1)

Country Link
JP (1) JP5500114B2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61134863A (en) * 1984-12-04 1986-06-21 Mitsubishi Electric Corp Data processor
JPS6292058A (en) * 1985-10-18 1987-04-27 Fujitsu Ltd Multiprocessor system
JP3137117B2 (en) * 1987-03-27 2001-02-19 将容 曽和 High-speed processing computer
JP2527038B2 (en) * 1989-07-07 1996-08-21 日本電気株式会社 Extended memory transfer control method
JPH0438550A (en) * 1990-06-04 1992-02-07 Fujitsu Ltd Extended memory control system
JP3157513B2 (en) * 1990-06-27 2001-04-16 日本電気株式会社 Extended storage device
JPH04127349A (en) * 1990-09-19 1992-04-28 Fujitsu Ltd System communication control method
JPH1078941A (en) * 1996-09-04 1998-03-24 Fujitsu Ltd Parallel computer
JP2007317152A (en) * 2006-05-29 2007-12-06 Yuundo:Kk Information processor

Also Published As

Publication number Publication date
JP2012221399A (en) 2012-11-12

Similar Documents

Publication Publication Date Title
US9996401B2 (en) Task processing method and virtual machine
JP6089349B2 (en) Method and system for supporting resource separation in a multi-core architecture
US6832298B2 (en) Server system operation control method
JP4148528B2 (en) Technology to make exclusive control more efficient
US9201691B2 (en) Method, apparatus and system for coordinating execution of tasks in a computing system having a distributed shared memory
JP2016508647A5 (en)
US7216206B2 (en) Control apparatus of storage unit, and method of controlling the control apparatus of storage unit
JP3765201B2 (en) Computer system
JP2013206379A (en) Cluster monitoring device, cluster monitoring method, and program
CN101448027A (en) System of a pipeline Web server and operating method thereof
US11182252B2 (en) High availability state machine and recovery
JP5472447B2 (en) Multi-core processor system, memory controller control method, and memory controller control program
US10025521B2 (en) Obtaining additional data storage from another data storage system
JP2001022599A (en) Fault tolerant system, fault tolerant processing method and recording medium for fault tolerant control program
JP5500114B2 (en) Access device and access method
JP4734348B2 (en) Asynchronous remote procedure call method, asynchronous remote procedure call program and recording medium in shared memory multiprocessor
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
JP2007265043A (en) Scheduler program, server system, and scheduler
JP2014211727A (en) Virtual computer system and i/o execution method in virtual computer
JPWO2009050764A1 (en) Information processing apparatus for performing self-diagnosis processing, self-diagnosis processing method, and self-diagnosis processing program
KR100978083B1 (en) Procedure calling method in shared memory multiprocessor and computer-redable recording medium recorded procedure calling program
JP4023441B2 (en) Computer system and program
JP5731665B2 (en) Computer system and replication control method
CN116820833A (en) Crash recovery method and device
JP2004110376A (en) System bus direct connection type memory controller and chip

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5500114

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees