JP2016151888A - Communication apparatus - Google Patents

Communication apparatus Download PDF

Info

Publication number
JP2016151888A
JP2016151888A JP2015028844A JP2015028844A JP2016151888A JP 2016151888 A JP2016151888 A JP 2016151888A JP 2015028844 A JP2015028844 A JP 2015028844A JP 2015028844 A JP2015028844 A JP 2015028844A JP 2016151888 A JP2016151888 A JP 2016151888A
Authority
JP
Japan
Prior art keywords
memory
memory area
area
data
communication 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.)
Granted
Application number
JP2015028844A
Other languages
Japanese (ja)
Other versions
JP6316223B2 (en
Inventor
直矢 野尻
Naoya Nojiri
直矢 野尻
秀光 樋口
Hidemitsu Higuchi
秀光 樋口
和雄 須貝
Kazuo Sukai
和雄 須貝
匡 打矢
Tadashi Uchiya
匡 打矢
嘉宏 中尾
Yoshihiro Nakao
嘉宏 中尾
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2015028844A priority Critical patent/JP6316223B2/en
Publication of JP2016151888A publication Critical patent/JP2016151888A/en
Application granted granted Critical
Publication of JP6316223B2 publication Critical patent/JP6316223B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To store dynamic data in a non-volatile memory of a communication apparatus, and properly store fault log necessary for fault analysis.SOLUTION: A communication apparatus 10 includes a control section 100 for controlling a communication apparatus, and a transfer section 200 for controlling data transfer processing. The control section includes an arithmetic processing section 104, a non-volatile memory 106, a volatile memory 105, and a memory area control device 109 for controlling memory areas generated by dividing the non-volatile memory to be accessed by the arithmetic processing section. When the communication apparatus is started and the non-volatile memory is not initialized, the memory area control device divides a part of the non-volatile memory into a plurality of memory areas, including an area where data is to be stored, an area where a protection bit for preventing data overwriting is to be stored, and an area where time stamp is to be stored, to determine a memory area to be used by the arithmetic processing section, from among the memory areas. The arithmetic processing section stores dynamic data in the memory area to be used.SELECTED DRAWING: Figure 1

Description

本発明は、通信装置に関する。   The present invention relates to a communication device.

ルータ及びスイッチ等の一般的な通信装置では、通信装置の運用時に決定され、かつ、運用中に動的に更新される経路情報等のデータは、書込寿命に優れているDRAM(Dynamic Random Access Memory)等の揮発性メモリに格納される。また、一般的な通信装置では、通信装置の運用時に決定され、運用中に動的に更新されないコンフィグ情報及び装置の設定情報のデータは、一時的に揮発性メモリに格納され、ユーザからのオペレーション等を契機に、Flashメモリ等の不揮発性メモリに格納される。   In a general communication device such as a router and a switch, data such as path information determined at the time of operation of the communication device and dynamically updated during operation is DRAM (Dynamic Random Access) having an excellent write life. Stored in a volatile memory such as Memory. In general communication devices, configuration information and device setting information that are determined during operation of the communication device and are not dynamically updated during operation are temporarily stored in a volatile memory, and the operation from the user is performed. Etc., the data is stored in a non-volatile memory such as a flash memory.

本明細書では、運用中に動的に更新されるデータ(更新頻度が高いデータ)を動的データとも記載する。また、運用中に動的に更新されないデータ(更新頻度が低いデータ)を静的データとも記載する。   In this specification, data that is dynamically updated during operation (data that is frequently updated) is also referred to as dynamic data. In addition, data that is not dynamically updated during operation (data with low update frequency) is also described as static data.

通信装置の運用及び管理において、インシデントが発生した直前の装置情報(ログ)を記録し、故障又は障害が発生した時の装置及び経路の情報である障害ログに基づいて、原因究明及び障害対策を立てることが重要である。障害が発生する直前の装置情報を保持するためには常にログを更新する必要がある。また、ログの更新に合わせて電源断などの致命的な障害が発生した場合でも、障害を解析できる仕組みが必要とされる。   In the operation and management of communication devices, record device information (log) immediately before the occurrence of an incident, and investigate the cause and take countermeasures based on the failure log, which is device and path information when a failure or failure occurs. It is important to stand. In order to retain device information immediately before a failure occurs, it is necessary to always update the log. In addition, even if a fatal failure such as a power failure occurs when the log is updated, a mechanism that can analyze the failure is required.

通信装置の障害には、ルーティングプロトコルのアプリケーション若しくはデーモンのハングアップ又はプログラムの暴走等に起因するソフトウェア障害と、CPU、メモリ、電源又はクロック周辺回路等の故障に起因するハードウェア障害とが存在する。   Communication device failures include software failures due to routing protocol applications or daemon hang-ups or program runaway, and hardware failures due to failures in CPU, memory, power supply, clock peripheral circuits, etc. .

一般的な通信装置においてハードウェア障害が発生した場合、揮発性メモリに格納される動的データはログとして残らない。そのため、周期的に、揮発性メモリに格納される動的データを不揮発性メモリ等にバックアップする方法が考えられる。また、一般的な通信装置においてソフトウェア障害が発生した場合、揮発性メモリに格納される動的データを不揮発性メモリに障害ログとしてダンプする方法が考えられる。例えば、障害を解析するためのログの取得方法に関する発明として特許文献1に記載の発明が知られている。   When a hardware failure occurs in a general communication device, dynamic data stored in the volatile memory is not left as a log. Therefore, a method for periodically backing up dynamic data stored in a volatile memory to a nonvolatile memory or the like can be considered. In addition, when a software failure occurs in a general communication device, a method of dumping dynamic data stored in a volatile memory as a failure log in a nonvolatile memory can be considered. For example, the invention described in Patent Document 1 is known as an invention relating to a log acquisition method for analyzing a failure.

特許文献1には、「機能ごとにパッケージ化されたユニットを複数個組み合わせて実装された伝送装置において、ロギングにより前記ユニットの状態情報を入手したログを、前記伝送装置に障害が生じた場合に前記障害の原因解析に利用できるように、順次記録する不揮発性記録部を備えることを特徴とする伝送装置」が記載されている。   Japanese Patent Laid-Open No. 2004-133867 describes that “a transmission device in which a plurality of units packaged for each function are combined and mounted is provided with a log obtained by logging the status information of the unit when a failure occurs in the transmission device. There is described a “transmission apparatus comprising a non-volatile recording unit that sequentially records so that it can be used for the cause analysis of the failure”.

特許文献1に記載の伝送装置は、ログ専用の揮発性メモリ及び不揮発性メモリを有する。特許文献1に記載の伝送装置は、周期的又は状態情報の変化が検出された場合にロギングを行い、収集された情報を一旦揮発性メモリに格納し、必要な情報を抽出し、抽出された情報を不揮発性メモリに格納する。また、特許文献1に記載の伝送装置は、重複した繰り返しパターンが含まれる場合には、時刻のログのみを不揮発性メモリに格納する。また、不揮発性メモリにおけるログの管理方法としてはループバッファ方式を用いることが記載されている。   The transmission device described in Patent Document 1 has a volatile memory and a nonvolatile memory dedicated to logs. The transmission device described in Patent Document 1 performs logging when periodic or change in state information is detected, temporarily stores the collected information in a volatile memory, extracts necessary information, and is extracted. Store information in non-volatile memory. Moreover, the transmission apparatus described in Patent Document 1 stores only a time log in a nonvolatile memory when an overlapping repetition pattern is included. Further, it is described that a loop buffer method is used as a log management method in the nonvolatile memory.

特開2010−147804号公報JP 2010-147804 A

特許文献1に記載の伝送装置は、一旦、揮発性メモリに、収集された情報を格納するため、ハードウェア障害が発生した場合、揮発性メモリに格納された情報が消滅する。そのためログを取得できない。   Since the transmission device described in Patent Document 1 temporarily stores collected information in a volatile memory, when a hardware failure occurs, the information stored in the volatile memory disappears. Therefore, log cannot be acquired.

特許文献1に記載の伝送装置は、揮発性メモリに格納された情報から所定の条件を満たす情報のみを抽出し、抽出された情報を不揮発性メモリに格納する。そのため、揮発性メモリから不揮発性メモリへのデータの移動に時間が掛かり、前述したような問題が大きくなる要因となる。また、障害を解析するためには様々な要因を考慮する必要があるが、特許文献1に記載の伝送装置は必ずしも障害解析に必要な情報がログとして取得できるわけではない。   The transmission device described in Patent Literature 1 extracts only information satisfying a predetermined condition from information stored in a volatile memory, and stores the extracted information in a nonvolatile memory. Therefore, it takes time to move data from the volatile memory to the non-volatile memory, which causes the above-described problem to increase. In addition, various factors need to be considered in order to analyze a failure. However, the transmission device described in Patent Document 1 does not necessarily acquire information necessary for failure analysis as a log.

また、特許文献1に記載の伝送装置は、動的データを不揮発性メモリに格納する場合、ループバッファ方式でログを管理する。そのため、不揮発性メモリの容量が不足している場合、ログの取得を開始してから初めて発生した障害の障害情報が新たなデータに上書きされる。したがって、障害解析に必要な情報をログとして残すことができない。特許文献1に記載されているように、一度発生した障害は何度も発生する可能性があるため、初めて発生した障害の障害情報は、障害解析において重要な情報となる。   Moreover, the transmission apparatus described in Patent Document 1 manages logs in a loop buffer method when storing dynamic data in a nonvolatile memory. For this reason, when the capacity of the nonvolatile memory is insufficient, the failure information of the failure that has occurred for the first time after the start of log acquisition is overwritten with new data. Therefore, information necessary for failure analysis cannot be left as a log. As described in Patent Document 1, since a failure that has occurred once may occur many times, the failure information of a failure that has occurred for the first time becomes important information in failure analysis.

本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データを転送する通信装置であって、前記通信装置は、当該通信装置を制御する制御部及び前記データの転送を制御する転送部を備え、前記制御部は、処理を実行する演算処理部と、不揮発性メモリと、揮発性メモリと、前記演算処理部がアクセスする前記不揮発性メモリの領域を分割することによって生成されたメモリ領域を制御するメモリ領域制御デバイスと、を含み、前記転送部は、受信したデータを転送する経路を検索する経路検索エンジンと、前記受信したデータを前記経路検索エンジンの処理結果に基づいて転送する転送エンジンと、前記経路検索エンジンが前記受信したデータを転送する経路を検索するための経路情報を格納するメモリと、ネットワークに接続するインタフェースと、を含み、前記メモリ領域制御デバイスは、前記通信装置が起動し、かつ、前記不揮発性メモリが初期化されていない場合、前記不揮発性メモリの領域の一部を、データを格納する領域、前記メモリ領域に対するデータの上書きを抑止する制御を行う保護ビットを格納する領域、前記データに関するタイムスタンプを格納する領域を含む複数のメモリ領域に分割し、前記複数のメモリ領域の中から前記演算処理部に使用させるメモリ領域である利用メモリ領域を決定し、前記演算処理部は、前記メモリ領域制御デバイスによって決定された利用メモリ領域に前記通信装置の運用中に動的に更新される動的データを格納することを特徴とする。   A typical example of the invention disclosed in the present application is as follows. That is, a communication device that transfers data, the communication device including a control unit that controls the communication device and a transfer unit that controls the transfer of the data, and the control unit is an arithmetic processing unit that executes processing A non-volatile memory, a volatile memory, and a memory area control device that controls a memory area generated by dividing an area of the non-volatile memory accessed by the arithmetic processing unit, and the transfer unit Includes a route search engine for searching for a route for transferring received data, a transfer engine for transferring the received data based on a processing result of the route search engine, and the route search engine for transferring the received data. A memory for storing path information for searching for a path; and an interface connected to a network. When the communication device is activated and the non-volatile memory is not initialized, the device suppresses overwriting of a part of the non-volatile memory area, a data storage area, and the memory area. A memory area that is divided into a plurality of memory areas including an area for storing a protection bit for performing control and an area for storing a time stamp related to the data, and is used by the arithmetic processing unit from among the plurality of memory areas A memory area is determined, and the arithmetic processing unit stores dynamic data that is dynamically updated during operation of the communication apparatus in a use memory area determined by the memory area control device.

本発明によれば、複数のメモリ領域に分割し、データの上書きを抑止する保護ビットを設けた不揮発性メモリにログとして障害解析に必要となるデータを保存するので、ユーザによる障害解析を容易にする。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。   According to the present invention, data necessary for failure analysis is stored as a log in a nonvolatile memory that is divided into a plurality of memory areas and provided with a protection bit for preventing overwriting of data, so that failure analysis by a user is easy. To do. Problems, configurations, and effects other than those described above will become apparent from the description of the following examples.

実施例の通信装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the communication apparatus of an Example. 実施例の制御部の構成の一例を説明するブロック図である。It is a block diagram explaining an example of a structure of the control part of an Example. 実施例の不揮発性メモリの構成の一例を示す説明図である。It is explanatory drawing which shows an example of a structure of the non-volatile memory of an Example. 実施例の面制御レジスタの一例を示す説明図である。It is explanatory drawing which shows an example of the surface control register of an Example. 実施例の面管理テーブルの一例を示す説明図である。It is explanatory drawing which shows an example of the surface management table of an Example. 実施例の通信装置の処理の流れを示す説明図であるIt is explanatory drawing which shows the flow of a process of the communication apparatus of an Example. 実施例の面制御デバイスが実行する処理の概要を説明するフローチャートである。It is a flowchart explaining the outline | summary of the process which the surface control device of an Example performs. 実施例の面制御デバイスが実行する初期設定処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the initial setting process which the surface control device of an Example performs. 実施例の面制御デバイスが実行する初期設定処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the initial setting process which the surface control device of an Example performs. 実施例の面制御デバイスが実行する利用面決定処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the utilization surface determination process which the surface control device of an Example performs. 実施例の面制御デバイスが実行する利用面決定処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the utilization surface determination process which the surface control device of an Example performs. 実施例の面制御デバイスが実行するログ更新面選択処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the log update surface selection process which the surface control device of an Example performs. 実施例の面制御デバイスが実行する不揮発性メモリ整合性確認処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the non-volatile memory consistency confirmation process which the surface control device of an Example performs. 実施例の面制御デバイスが実行するソフトウェア正常起動確認処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the software normal starting confirmation process which the surface control device of an Example performs. 実施例のCPUがソフトウェア正常起動確認処理において実行する処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the process which CPU of an Example performs in a software normal starting confirmation process. 実施例の通信装置の不揮発性メモリ内の面の設定方法及び更新方法の一例を示す説明図である。It is explanatory drawing which shows an example of the setting method and the update method of the surface in the non-volatile memory of the communication apparatus of an Example. 実施例の通信装置の不揮発性メモリ内の面の設定方法及び更新方法の一例を示す説明図である。It is explanatory drawing which shows an example of the setting method and the update method of the surface in the non-volatile memory of the communication apparatus of an Example. 実施例の通信装置の不揮発性メモリ内の面の設定方法及び更新方法の一例を示す説明図である。It is explanatory drawing which shows an example of the setting method and the update method of the surface in the non-volatile memory of the communication apparatus of an Example. 実施例の通信装置の不揮発性メモリ内の面の設定方法及び更新方法の一例を示す説明図である。It is explanatory drawing which shows an example of the setting method and the update method of the surface in the non-volatile memory of the communication apparatus of an Example. 実施例の通信装置が実行する障害ログの取得処理の一例を説明するフローチャートである。It is a flowchart explaining an example of the acquisition process of the failure log which the communication apparatus of an Example performs.

以下、実施例を添付図面に基づいて説明する。   Embodiments will be described below with reference to the accompanying drawings.

図1は、実施例の通信装置の構成の一例を示すブロック図である。   FIG. 1 is a block diagram illustrating an example of the configuration of the communication apparatus according to the embodiment.

通信装置10は、ネットワーク206からパケット(データ)を受信し、受信したパケット(データ)を所定の宛先に送信する。通信装置10は、図1に示すように、制御部100及び転送部200から構成される。   The communication device 10 receives a packet (data) from the network 206 and transmits the received packet (data) to a predetermined destination. As shown in FIG. 1, the communication device 10 includes a control unit 100 and a transfer unit 200.

制御部100は、通信装置10全体の制御を行う。制御部100は、中央演算処理部104、Flashメモリ101、揮発性メモリ105、不揮発性メモリ106、メモリ領域制御デバイス109、及び転送デバイス108を含む。中央演算処理部104は、Flashメモリ101、揮発性メモリ105、メモリ領域制御デバイス109、転送デバイス108、保守用Flashメモリ118、及び入出力装置103と接続され、また、メモリ領域制御デバイス109を経由して不揮発性メモリ106と接続される。   The control unit 100 controls the communication device 10 as a whole. The control unit 100 includes a central processing unit 104, a flash memory 101, a volatile memory 105, a nonvolatile memory 106, a memory area control device 109, and a transfer device 108. The central processing unit 104 is connected to the flash memory 101, the volatile memory 105, the memory area control device 109, the transfer device 108, the maintenance flash memory 118, and the input / output device 103, and also passes through the memory area control device 109. Then, it is connected to the nonvolatile memory 106.

中央演算処理部104は、Flashメモリ101、揮発性メモリ105、及び不揮発性メモリ106等の記憶装置に格納される情報を用いて演算処理を実行する。   The central processing unit 104 performs arithmetic processing using information stored in a storage device such as the flash memory 101, the volatile memory 105, and the nonvolatile memory 106.

Flashメモリ101は、データの書き込みによる性能劣化が発生する不揮発性メモリであり、制御部100が有する機能を実現するOS(Operating System)等のデータを格納する。   The flash memory 101 is a non-volatile memory in which performance degradation occurs due to data writing, and stores data such as an OS (Operating System) that realizes the function of the control unit 100.

揮発性メモリ105は、運用中に動的に更新されないデータ(更新頻度が低いデータ)、すなわち、静的データ102を格納する。揮発性メモリ105は、例えばDRAM(Dynamic Random Access Memory)等が考えられる。   The volatile memory 105 stores data that is not dynamically updated during operation (data with low update frequency), that is, static data 102. As the volatile memory 105, for example, a DRAM (Dynamic Random Access Memory) can be considered.

不揮発性メモリ106は、運用中に動的に更新されるデータ(更新頻度が高いデータ)すなわち、動的データ107を格納する。不揮発性メモリ106は、データの書き込みによる性能劣化が発生しない不揮発性メモリであり、例えばMRAM(Magnetoresistive Random Access Memory)等が考えられる。本実施例では、不揮発性メモリ106のメモリ領域が複数のメモリ領域に分割され、一つのメモリ領域にパケットの転送に必要な動的データ107が格納される。以下では、メモリ領域を2次元の「面」と表現するが、メモリ領域は3次元であってもよい。また、以下では、メモリ領域制御デバイス109を面制御デバイス109と表現する。   The nonvolatile memory 106 stores data that is dynamically updated during operation (data that is frequently updated), that is, dynamic data 107. The non-volatile memory 106 is a non-volatile memory in which performance degradation due to data writing does not occur. For example, an MRAM (Magnetic Resistive Random Access Memory) or the like can be considered. In this embodiment, the memory area of the nonvolatile memory 106 is divided into a plurality of memory areas, and dynamic data 107 necessary for packet transfer is stored in one memory area. Hereinafter, the memory area is expressed as a two-dimensional “surface”, but the memory area may be three-dimensional. Hereinafter, the memory area control device 109 is expressed as a surface control device 109.

面制御デバイス109は、不揮発性メモリ106の各面に対するデータの追加、削除、更新等の制御を行う。面制御デバイス109の具体的な処理については後述する。   The surface control device 109 performs control such as addition, deletion, and update of data for each surface of the nonvolatile memory 106. Specific processing of the surface control device 109 will be described later.

転送デバイス108は、制御部100及び転送部200間のデータの転送を行う。   The transfer device 108 transfers data between the control unit 100 and the transfer unit 200.

保守用Flashメモリ118は、通信装置10からログを取得する場合に、当該ログを一時的に格納する。保守用Flashメモリ118は、例えば通信装置10から抜き差し可能なUSBメモリなどが考えられる。   The maintenance flash memory 118 temporarily stores the log when acquiring the log from the communication device 10. The maintenance flash memory 118 may be, for example, a USB memory that can be inserted into and removed from the communication device 10.

入出力装置103は、通信装置10の管理者等のユーザが通信装置10のオペレーションを行う装置である。入出力装置103は、例えば、管理用コンピュータ、キーボード、マウス、タッチパネル、及びディスプレイ等が考えられる。   The input / output device 103 is a device on which a user such as an administrator of the communication device 10 operates the communication device 10. Examples of the input / output device 103 include a management computer, a keyboard, a mouse, a touch panel, and a display.

転送部200は、パケットの受信及びパケットの送信を制御する。転送部200は、転送デバイス201、経路検索エンジン202、テーブルメモリ203、転送エンジン204、及び1つ以上のネットワークインタフェース205を含む。経路検索エンジン202は、転送デバイス201、テーブルメモリ203、及び転送エンジン204と接続される。転送エンジン204は、1つ以上のネットワークインタフェース205と接続される。図1では、転送エンジン204は、ネットワークインタフェース205A、205B、205C、205D、205E、205Fと接続される。   The transfer unit 200 controls packet reception and packet transmission. The transfer unit 200 includes a transfer device 201, a route search engine 202, a table memory 203, a transfer engine 204, and one or more network interfaces 205. The route search engine 202 is connected to the transfer device 201, the table memory 203, and the transfer engine 204. The transfer engine 204 is connected to one or more network interfaces 205. In FIG. 1, the transfer engine 204 is connected to network interfaces 205A, 205B, 205C, 205D, 205E, and 205F.

転送デバイス201は、転送デバイス108と同様のものであり、制御部100及び転送部200間のデータの転送を行う。経路検索エンジン202は、受信したパケットの転送先を決定する。テーブルメモリ203は、経路検索エンジン202によって使用される経路情報等を格納する。ネットワークインタフェース205は、ネットワーク206に接続するインタフェースである。   The transfer device 201 is the same as the transfer device 108 and transfers data between the control unit 100 and the transfer unit 200. The route search engine 202 determines the transfer destination of the received packet. The table memory 203 stores route information and the like used by the route search engine 202. A network interface 205 is an interface connected to the network 206.

ネットワーク206は、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、SAN(Storage Area Network)、及びインターネット等が考えられる。なお、本実施例は、通信装置10に接続されるネットワーク206の種類に限定されない。   The network 206 may be, for example, a WAN (Wide Area Network), a LAN (Local Area Network), a SAN (Storage Area Network), and the Internet. Note that the present embodiment is not limited to the type of network 206 connected to the communication device 10.

なお、経路検索エンジン202及び転送エンジン204は、機能ブロック単位で分割されているが、一つの機能ブロック又は一つのデバイスとして実現してもよい。   The route search engine 202 and the transfer engine 204 are divided in units of functional blocks, but may be realized as one functional block or one device.

ここで、通信装置10の動作の概略について説明する。   Here, an outline of the operation of the communication apparatus 10 will be described.

中央演算処理部104は、ルーティングプロトコルによる収集された動的な経路データ及びユーザが入出力装置103を操作して入力した静的な経路データに基づいて、経路算出処理を実行する。経路算出処理は、管理しているネットワークトポロジが変更されるたびに実行される。   The central processing unit 104 performs route calculation processing based on the dynamic route data collected by the routing protocol and the static route data input by the user operating the input / output device 103. The route calculation process is executed every time the managed network topology is changed.

中央演算処理部104は、経路算出処理の結果に基づいて現時点の経路情報の差分を更新情報として抽出し、面制御デバイス109を介して不揮発性メモリ106のメモリ領域の一部(面)に更新情報を動的データ107として格納する。本実施例では、更新情報が面制御デバイス109を経由して不揮発性メモリ106に格納される。また、中央演算処理部104は、転送デバイス108を経由して更新情報を転送部200に送信する。   The central processing unit 104 extracts the difference of the current route information as update information based on the result of the route calculation processing, and updates it to a part (surface) of the memory area of the nonvolatile memory 106 via the surface control device 109. Information is stored as dynamic data 107. In this embodiment, the update information is stored in the nonvolatile memory 106 via the surface control device 109. Further, the central processing unit 104 transmits update information to the transfer unit 200 via the transfer device 108.

転送デバイス108及び転送デバイス201は、それぞれ、バケツリレー方式で不揮発性メモリ106に格納された更新情報を転送する。これによって、テーブルメモリ203に当該更新情報が書き込まれる。   The transfer device 108 and the transfer device 201 each transfer update information stored in the nonvolatile memory 106 by the bucket relay method. As a result, the update information is written in the table memory 203.

経路検索エンジン202は、テーブルメモリ203に書き込まれた更新情報に基づいて、ネットワーク206から送信されてきたパケットの転送先を決定する。   The route search engine 202 determines a transfer destination of a packet transmitted from the network 206 based on the update information written in the table memory 203.

また、転送エンジン204は、経路検索エンジン202による宛先検索結果に基づいて、ネットワークインタフェース205のいずれかを経由して、ネットワーク206から受信したパケットを所定の宛先に転送する。なお、転送先が不明な場合又は通信装置10宛のパケットだった場合、パケットは、転送デバイス201及び転送デバイス108を経由して中央演算処理部104へ送信され、中央演算処理部104によって当該パケットが処理される。   Further, the transfer engine 204 transfers a packet received from the network 206 to a predetermined destination via one of the network interfaces 205 based on the destination search result by the route search engine 202. When the transfer destination is unknown or the packet is addressed to the communication apparatus 10, the packet is transmitted to the central processing unit 104 via the transfer device 201 and the transfer device 108, and the central processing unit 104 transmits the packet. Is processed.

なお、図1に示す通信装置10の構成は一例であってこれに限定されない。例えば、制御部100及び転送部200を冗長構成にしてもよい。   Note that the configuration of the communication apparatus 10 illustrated in FIG. 1 is an example, and the present invention is not limited to this. For example, the control unit 100 and the transfer unit 200 may be configured redundantly.

図2は、実施例の制御部100の構成の一例を説明するブロック図である。   FIG. 2 is a block diagram illustrating an example of the configuration of the control unit 100 according to the embodiment.

中央演算処理部104は、CPU1041及びI/O(Input/Output)制御部1042を有する。CPU1041は、各種演算処理を実行する。I/O制御部1042は、転送デバイス108等のI/Oデバイスからのメモリアクセス(DMA:Direct Memory ACCESS)及びCPU1041からのメモリアクセス(PIO:Programmed I/O)の調停処理を実行する。   The central processing unit 104 includes a CPU 1041 and an I / O (Input / Output) control unit 1042. The CPU 1041 executes various arithmetic processes. The I / O control unit 1042 executes arbitration processing of memory access (DMA: Direct Memory ACCESS) from an I / O device such as the transfer device 108 and memory access (PIO: Programmed I / O) from the CPU 1041.

CPU1041は、I/O制御部1042に接続されるDDR3に代表されるメモリバス111を介して、揮発性メモリ105及び後述する面切替制御部114と接続される。ここで、メモリバス111はメモリアドレス信号の出力に用いられる接続線である。CPU1041は、I/O制御部1042に接続されるPCIeに代表される制御バス112を介して、転送デバイス108及び後述する面切替制御部114と接続される。ここで、制御バス112は、通信装置10内の各種バスを制御するバス制御用のバスであり、メモリバス111等のバスにおける信号の入出力タイミング、中央演算処理部104と面制御デバイス109等の他のデバイスとの間で送受信される制御情報の送信する信号の出力に用いられる接続線である。CPU1041は、I/O制御部1042に接続されるSATAに代表されるストレージ用バスを介して、Flashメモリ101と接続される。また、CPU1041は、活線状態で抜き挿しが可能なUSB等を代表としたバスを介して保守用Flashメモリ118と接続される。   The CPU 1041 is connected to the volatile memory 105 and a later-described surface switching control unit 114 via a memory bus 111 typified by DDR3 connected to the I / O control unit 1042. Here, the memory bus 111 is a connection line used for outputting a memory address signal. The CPU 1041 is connected to the transfer device 108 and a surface switching control unit 114 to be described later via a control bus 112 typified by PCIe connected to the I / O control unit 1042. Here, the control bus 112 is a bus for controlling various buses in the communication apparatus 10, and signal input / output timing in the bus such as the memory bus 111, the central processing unit 104, the surface control device 109, and the like. This is a connection line used to output a signal transmitted by control information transmitted / received to / from another device. The CPU 1041 is connected to the flash memory 101 via a storage bus represented by SATA connected to the I / O control unit 1042. The CPU 1041 is connected to the maintenance flash memory 118 via a bus typified by a USB or the like that can be inserted and removed in a live state.

面制御デバイス109は、面切替制御部114、面制御レジスタ110、及び面管理テーブル113を有する。なお、面制御デバイス109は、面管理テーブル113及び面制御レジスタ110、処理に使用する一時的なデータを格納するメモリ(図示省略)を有する。   The surface control device 109 includes a surface switching control unit 114, a surface control register 110, and a surface management table 113. The surface control device 109 includes a surface management table 113, a surface control register 110, and a memory (not shown) that stores temporary data used for processing.

面切替制御部114は、不揮発性メモリ106における面の割り当て及び切り替えを行い、また、中央演算処理部104にCPUリセット命令を出力する。CPUリセット命令は、CPU1041の起動処理をリセット(停止)する命令である。面切替制御部114は、内部バスを介して面管理テーブル113及び面制御レジスタ110と接続される。また、面切替制御部114は、メモリバス111を介して不揮発性メモリ106と接続される。   The surface switching control unit 114 assigns and switches surfaces in the nonvolatile memory 106 and outputs a CPU reset command to the central processing unit 104. The CPU reset command is a command for resetting (stopping) the startup process of the CPU 1041. The surface switching control unit 114 is connected to the surface management table 113 and the surface control register 110 via an internal bus. The surface switching control unit 114 is connected to the nonvolatile memory 106 via the memory bus 111.

本実施例では、中央演算処理部104は、メモリバス111を介して直接不揮発性メモリ106に接続されず、面切替制御部114を経由して不揮発性メモリ106に接続される。これによって、面切替制御部114は、CPU1041が認識可能な不揮発性メモリ106のメモリ領域を特定の領域(面)に限定する。   In this embodiment, the central processing unit 104 is not directly connected to the nonvolatile memory 106 via the memory bus 111 but is connected to the nonvolatile memory 106 via the surface switching control unit 114. Thus, the surface switching control unit 114 limits the memory area of the nonvolatile memory 106 that can be recognized by the CPU 1041 to a specific area (surface).

面制御レジスタ110は、不揮発性メモリ106における面の制御に必要な情報を格納する。面制御レジスタ110の詳細については図4を用いて後述する。面管理テーブル113は、不揮発性メモリ106における面を管理する情報を格納する。面管理テーブル113の詳細については図5を用いて後述する。   The surface control register 110 stores information necessary for controlling the surface in the nonvolatile memory 106. Details of the surface control register 110 will be described later with reference to FIG. The surface management table 113 stores information for managing surfaces in the nonvolatile memory 106. Details of the surface management table 113 will be described later with reference to FIG.

本実施例では、中央演算処理部104が、データを格納するメモリ領域として、揮発性メモリ105及び不揮発性メモリ106を動的に決定する。具体的には、中央演算処理部104は、図2に示すように情報の削除及び追加等、頻繁に更新される動的データ107を不揮発性メモリ106に格納し、頻繁に更新されない静的データ102を揮発性メモリ105に格納する。静的データ102は、例えば、コンフィグ情報等、ユーザ契機で適宜変更される情報が考えられる。   In this embodiment, the central processing unit 104 dynamically determines the volatile memory 105 and the nonvolatile memory 106 as memory areas for storing data. Specifically, the central processing unit 104 stores dynamic data 107 that is frequently updated, such as information deletion and addition, as shown in FIG. 2, in the nonvolatile memory 106, and static data that is not frequently updated. 102 is stored in the volatile memory 105. As the static data 102, for example, information that is appropriately changed according to a user opportunity, such as configuration information, can be considered.

なお、経路情報は、周期的に周辺の機器から収集された情報に基づいて設定されるデータ、すなわち、動的データ107の特性を有するデータと、ユーザ契機で設定されるデータ、すなわち、静的データ102の特性を有するデータとを含む。したがって、中央演算処理部104は、揮発性メモリ105又は不揮発性メモリ106のいずれか一方に経路情報を格納してもよいし、特性の異なるデータを分割することができる場合には、揮発性メモリ105及び不揮発性メモリ106にそれぞれのデータを格納してもよい。   The route information includes data set based on information periodically collected from peripheral devices, that is, data having the characteristics of the dynamic data 107, and data set by a user opportunity, that is, static information. Data having the characteristics of data 102. Therefore, the central processing unit 104 may store the path information in either the volatile memory 105 or the non-volatile memory 106, and when the data having different characteristics can be divided, the volatile memory Each data may be stored in 105 and the non-volatile memory 106.

次に、図3を用いて本実施例の不揮発性メモリ106の構成について説明する。図3は、実施例の不揮発性メモリ106の構成の一例を示す説明図である。   Next, the configuration of the nonvolatile memory 106 of this embodiment will be described with reference to FIG. FIG. 3 is an explanatory diagram illustrating an example of the configuration of the nonvolatile memory 106 according to the embodiment.

本実施例では不揮発性メモリ106のメモリ領域が、実利用メモリ領域1067及び制御フラグ格納領域1068の二つに分けて管理される。実利用メモリ領域1067は、データを格納するメモリ領域である。本実施例の実利用メモリ領域1067は、複数の面に分割され、各面にデータが格納される。以下の説明では、実利用メモリ領域1067を所定のサイズの複数の面に分割することを、面を設定するとも記載する。制御フラグ格納領域1068は、面を制御するためのフラグ及び情報を格納するメモリ領域である。   In the present embodiment, the memory area of the nonvolatile memory 106 is managed by being divided into an actual use memory area 1067 and a control flag storage area 1068. The actual use memory area 1067 is a memory area for storing data. The actual use memory area 1067 of this embodiment is divided into a plurality of surfaces, and data is stored in each surface. In the following description, dividing the actual memory area 1067 into a plurality of surfaces having a predetermined size is also referred to as setting a surface. The control flag storage area 1068 is a memory area for storing a flag and information for controlling the surface.

本実施例では、不揮発性メモリ106の制御フラグ格納領域1068の定義情報が、面制御デバイス109等の通信装置10の内部に設定されているものとする。定義情報には、不揮発性メモリ106における制御フラグ格納領域1068の先頭アドレス(例えば、0x0000000)、及びサイズが含まれる。なお、制御フラグ格納領域1068は、必要な情報を格納できるメモリ領域であるものとする。   In this embodiment, it is assumed that the definition information of the control flag storage area 1068 of the nonvolatile memory 106 is set inside the communication apparatus 10 such as the surface control device 109. The definition information includes the start address (for example, 0x0000000) and the size of the control flag storage area 1068 in the nonvolatile memory 106. Note that the control flag storage area 1068 is a memory area in which necessary information can be stored.

実利用メモリ領域1067には、一つ以上の面を含む。本実施例では、一つの面は、データエリア1062、保護ビット1063、マジックナンバ1064、及びタイムスタンプ1065から構成される。   The actual use memory area 1067 includes one or more surfaces. In this embodiment, one surface includes a data area 1062, a protection bit 1063, a magic number 1064, and a time stamp 1065.

データエリア1062は、データを格納するメモリ領域である。保護ビット1063は、保護ビットを設定するメモリ領域である。ここで、保護ビットは、面に対する新たなデータの上書きを抑止する制御を実現するためのビットである。保護ビット1063には、保護ビットが無効であることを示す「0」、又は、保護ビットが有効であることを示す「1」のいずれかが格納される。なお、保護ビット1063には初期値として「0」が格納される。   The data area 1062 is a memory area for storing data. The protection bit 1063 is a memory area for setting a protection bit. Here, the protection bit is a bit for realizing control for suppressing overwriting of new data on the surface. The protection bit 1063 stores either “0” indicating that the protection bit is invalid or “1” indicating that the protection bit is valid. The protection bit 1063 stores “0” as an initial value.

マジックナンバ1064は、データエリア1062に格納されるデータの整合性を確認するための識別情報を格納するメモリ領域である。タイムスタンプ1065は、データエリア1062にデータが格納された時間(タイムスタンプ)を格納するメモリ領域である。   The magic number 1064 is a memory area for storing identification information for confirming the consistency of data stored in the data area 1062. The time stamp 1065 is a memory area for storing the time (time stamp) when data is stored in the data area 1062.

制御フラグ格納領域1068は、不揮発性メモリ初期化パスフラグ1066及びライトポイント格納エリア1061を含む。   The control flag storage area 1068 includes a nonvolatile memory initialization pass flag 1066 and a write point storage area 1061.

不揮発性メモリ初期化パスフラグ1066は、初期設定処理を実行する必要があるか否かを示すフラグを格納するメモリ領域である。不揮発性メモリ初期化パスフラグ1066が無効化されている場合、初期設定処理を実行する必要があることを示す。ライトポイント格納エリア1061は、中央演算処理部104にアサインする面の候補となる面の識別情報を格納するメモリ領域である。   The non-volatile memory initialization pass flag 1066 is a memory area for storing a flag indicating whether or not the initialization process needs to be executed. When the nonvolatile memory initialization pass flag 1066 is invalidated, it indicates that it is necessary to execute the initial setting process. The light point storage area 1061 is a memory area for storing identification information of a surface that is a candidate surface to be assigned to the central processing unit 104.

次に、図4及び図5を用いて、面切替制御部114が保持する情報について説明する。   Next, information held by the surface switching control unit 114 will be described with reference to FIGS. 4 and 5.

図4は、実施例の面制御レジスタ110の一例を示す説明図である。   FIG. 4 is an explanatory diagram illustrating an example of the surface control register 110 according to the embodiment.

面制御レジスタ110は、最大面数1101、制御フラグ格納領域サイズ1102、実利用メモリ容量1103、マジックナンバ1104、ソフトウェア起動確認フラグ1105、及び面選択フラグ1106を含む。   The surface control register 110 includes a maximum number of surfaces 1101, a control flag storage area size 1102, an actual use memory capacity 1103, a magic number 1104, a software activation confirmation flag 1105, and a surface selection flag 1106.

最大面数1101は、不揮発性メモリ106に設定された面の数である。制御フラグ格納領域サイズ1102は、制御フラグ格納領域1068のメモリ容量である。実利用メモリ容量1103は、実利用メモリ領域1067のメモリ容量である。マジックナンバ1104は、面に格納されるデータの整合性を確認するための識別情報である。なお、マジックナンバ1104には、面制御デバイス109の固有の値が予め設定されているものとする。   The maximum number of faces 1101 is the number of faces set in the nonvolatile memory 106. The control flag storage area size 1102 is the memory capacity of the control flag storage area 1068. The actual use memory capacity 1103 is the memory capacity of the actual use memory area 1067. The magic number 1104 is identification information for confirming the consistency of data stored on the surface. In the magic number 1104, a unique value of the surface control device 109 is set in advance.

ソフトウェア起動確認フラグ1105は、OS等のソフトウェアの起動完了を確認するためのフラグである。本実施例のソフトウェア起動確認フラグ1105には、初期値としてフラグが無効であることを示す「0」が格納される。後述するように、ソフトウェアの起動が完了した場合、ソフトウェア起動確認フラグ1105にはフラグが有効であることを示す「1」が格納される。   The software activation confirmation flag 1105 is a flag for confirming completion of activation of software such as an OS. In the software activation confirmation flag 1105 of this embodiment, “0” indicating that the flag is invalid is stored as an initial value. As will be described later, when the activation of the software is completed, the software activation confirmation flag 1105 stores “1” indicating that the flag is valid.

面選択フラグ1106は、不揮発性メモリ106の各面に格納されるデータを障害ログとして取得するか否かを示すフラグである。面選択フラグ1106は、最大面数1101に格納される値と同一の数だけ存在する。面選択フラグ1106には、初期値として、面に格納されるデータを障害ログとして取得しないこと、すなわち、フラグが無効であることを示す「0」が格納される。後述するように、任意の面に格納されるデータを障害ログとして取得する場合には、当該面に対応する面選択フラグ1106にはフラグが有効であることを示す「1」が格納される。   The surface selection flag 1106 is a flag indicating whether or not data stored in each surface of the nonvolatile memory 106 is acquired as a failure log. There are as many face selection flags 1106 as the values stored in the maximum face number 1101. In the face selection flag 1106, “0” indicating that the data stored in the face is not acquired as a failure log, that is, the flag is invalid, is stored as an initial value. As will be described later, when data stored in an arbitrary surface is acquired as a failure log, “1” indicating that the flag is valid is stored in the surface selection flag 1106 corresponding to the surface.

図5は、実施例の面管理テーブル113の一例を示す説明図である。   FIG. 5 is an explanatory diagram illustrating an example of the surface management table 113 according to the embodiment.

面管理テーブル113は、面ID1131、不揮発性メモリ格納領域1132、タイムスタンプ1133、及び故障フラグ1134を含む。   The surface management table 113 includes a surface ID 1131, a nonvolatile memory storage area 1132, a time stamp 1133, and a failure flag 1134.

面ID1131は、不揮発性メモリ106内の各面を一意に識別するための識別番号である。不揮発性メモリ格納領域1132は、面に対応するメモリ領域を特定するためのアドレス範囲である。タイムスタンプ1133は、面にデータが格納された時間である。故障フラグ1134は、面に格納されるデータにデータ化け等の不具合が発生しているか否かを示すフラグである。故障フラグ1134には、初期値として、不具合が発生していないこと、すなわち、フラグが無効であることを示す「0」が格納される。   The surface ID 1131 is an identification number for uniquely identifying each surface in the nonvolatile memory 106. The nonvolatile memory storage area 1132 is an address range for specifying a memory area corresponding to a surface. The time stamp 1133 is the time when data is stored in the plane. The failure flag 1134 is a flag indicating whether or not a defect such as data corruption has occurred in the data stored in the surface. The failure flag 1134 stores “0” as an initial value indicating that no failure has occurred, that is, the flag is invalid.

次に、図6を用いて通信装置10の一連の処理の流れについて説明する。図6は、実施例の通信装置10の処理の流れを示す説明図である   Next, a flow of a series of processes of the communication apparatus 10 will be described using FIG. FIG. 6 is an explanatory diagram illustrating a processing flow of the communication device 10 according to the embodiment.

図6では、横軸は時間軸に対応する。また、三角の記号は通信装置10における状態変化を表す。以下、三つのケース300、400、500に分けて通信装置10の処理の流れについて説明する。   In FIG. 6, the horizontal axis corresponds to the time axis. The triangular symbol represents a change in state in the communication device 10. Hereinafter, the processing flow of the communication apparatus 10 will be described in three cases 300, 400, and 500.

まず、通常の通信装置10の起動処理の流れを示すケース300について説明する。通信装置10に初めて電源が投入されると(ステップS10)、通信装置10は、中央演算処理部104及び面制御デバイス109等の各種デバイスを起動する(ステップS11)。このとき、面制御デバイス109は、中央演算処理部104のCPU1041に対してCPUリセット命令を出力し、不揮発性メモリ106を初期化し、また、利用面を決定する(ステップS12)。ここで、利用面とは、中央演算処理部104が動的データ107を格納するメモリ領域と提供される面をいう。また、初期化とは、格納された情報を削除することをいう。   First, a case 300 showing a flow of activation processing of a normal communication device 10 will be described. When power is first applied to the communication device 10 (step S10), the communication device 10 activates various devices such as the central processing unit 104 and the surface control device 109 (step S11). At this time, the surface control device 109 outputs a CPU reset command to the CPU 1041 of the central processing unit 104, initializes the nonvolatile memory 106, and determines a usage surface (step S12). Here, the usage plane refers to a plane provided as a memory area where the central processing unit 104 stores the dynamic data 107. Also, initialization refers to deleting stored information.

具体的には、面制御デバイス109が、不揮発性メモリ106のメモリ領域に面を設定し、設定された面の中から初期の利用面を決定する。面制御デバイス109が、中央演算処理部104の起動前に不揮発性メモリ106を初期化し、また、利用面を決定することによって、中央演算処理部104がメモリ空間にアサインする不揮発性メモリ106のメモリ領域を設定できる。ここで、メモリ空間とは中央演算処理部104が不揮発性メモリ106にアクセスするアドレスが割り当てられたメモリ領域をいう。   Specifically, the surface control device 109 sets a surface in the memory area of the nonvolatile memory 106, and determines an initial usage surface from the set surfaces. The memory of the non-volatile memory 106 that the central processing unit 104 assigns to the memory space by the surface control device 109 initializing the non-volatile memory 106 before starting the central processing unit 104 and determining the usage plane You can set the area. Here, the memory space refers to a memory area to which an address for accessing the nonvolatile memory 106 by the central processing unit 104 is assigned.

通信装置10は、BIOSを起動させ、また、CPUのリセットを解除する(ステップS13)。通信装置10は、不揮発性メモリ106の所定の利用面をメモリ空間にアサインする(ステップS14)。   The communication device 10 activates the BIOS and releases the reset of the CPU (step S13). The communication device 10 assigns a predetermined usage surface of the nonvolatile memory 106 to the memory space (step S14).

具体的には、面制御デバイス109が中央演算処理部104へのCPUリセット命令の出力を停止する。これによって、中央演算処理部104が、通信装置10の各種デバイスの認識処理を開始する。本実施例では、面制御デバイス109によって不揮発性メモリ106の所定のメモリ領域、すなわち、一つの面のみを中央演算処理部104が認識できるように制御される。そのため、中央演算処理部104は、面制御デバイス109によって決定された一つの面をメモリ空間にアサインする。   Specifically, the surface control device 109 stops outputting the CPU reset command to the central processing unit 104. As a result, the central processing unit 104 starts recognition processing of various devices of the communication apparatus 10. In the present embodiment, the surface control device 109 controls the central processing unit 104 to recognize a predetermined memory area of the nonvolatile memory 106, that is, only one surface. Therefore, the central processing unit 104 assigns one surface determined by the surface control device 109 to the memory space.

さらに、通信装置10は、OSの起動処理を実行する(ステップS15)。その後、通信装置10は、ソフトウェアの通常運用を開始する(ステップS16)。面制御デバイス109は、ソフトウェアの通常運用後に、アサインされた面の保護ビット1063に「1」を設定する(ステップS17)。   Furthermore, the communication device 10 executes OS startup processing (step S15). Thereafter, the communication device 10 starts normal operation of the software (step S16). The surface control device 109 sets “1” to the protection bit 1063 of the assigned surface after the normal operation of the software (step S17).

次に、通常の通信装置10の再起動処理の流れを示すケース400について説明する。通信装置10は、ソフトウェアの通常運用を開始している(ステップS20)。再起動オペレーションが発生した場合(ステップS21)、再起動のために通信装置10に再度電源が投入される(ステップS22)。面制御デバイス109は、通信装置10の再起動前に、アサインされた面の保護ビット1063に「0」を設定する(ステップS23)。   Next, a case 400 showing a flow of restart processing of the normal communication device 10 will be described. The communication device 10 has started normal operation of software (step S20). When a restart operation occurs (step S21), the communication apparatus 10 is turned on again for restart (step S22). The surface control device 109 sets “0” in the protection bit 1063 of the assigned surface before the communication apparatus 10 is restarted (step S23).

通信装置10は、各種デバイスを起動すると(ステップS24)、面制御デバイス109は、利用面を切り替える(ステップS25)。再起動を契機にこれまで提供されていた利用面が他の面に切り替えられる。なお、切替前の面の保護ビット1063には「1」が設定されていないため、新たなデータを格納するメモリ領域として再利用できる。   When the communication device 10 activates various devices (step S24), the surface control device 109 switches the usage surface (step S25). The use side that has been provided so far is switched to another side upon restart. Since “1” is not set in the protection bit 1063 of the surface before switching, it can be reused as a memory area for storing new data.

通信装置10は、BIOSを起動させ、また、CPUのリセットを解除する(ステップS26)。通信装置10は、面制御デバイス109によって決定された利用面をメモリ空間にアサインする(ステップS27)。さらに、通信装置10は、OSの起動処理を実行する(ステップS28)。その後、通信装置10は、ソフトウェアの通常運用を開始する(ステップS29)。面制御デバイス109は、ソフトウェアの通常運用後に、アサインされた面の保護ビット1063に「1」を設定する。   The communication device 10 activates the BIOS and releases the reset of the CPU (step S26). The communication apparatus 10 assigns the usage plane determined by the plane control device 109 to the memory space (step S27). Furthermore, the communication device 10 executes OS startup processing (step S28). Thereafter, the communication device 10 starts normal operation of the software (step S29). The surface control device 109 sets “1” to the protection bit 1063 of the assigned surface after the normal operation of the software.

次に、障害発生時の通信装置10の再起動処理の流れを示すケース500について説明する。   Next, a case 500 showing a flow of restart processing of the communication device 10 when a failure occurs will be described.

通信装置10は、ソフトウェアの通常運用を開始している(ステップS30)。障害が発生した場合(ステップS31)、再起動のために通信装置10に再度電源が投入される(ステップS32)。このとき、アサインされた面の保護ビット1063は変更されない。通信装置10は、各種デバイスを起動すると(ステップS33)、面制御デバイス109は、利用面を切り替える(ステップS34)。   The communication device 10 has started normal operation of software (step S30). When a failure occurs (step S31), the communication apparatus 10 is powered on again for restart (step S32). At this time, the protection bit 1063 of the assigned surface is not changed. When the communication device 10 activates various devices (step S33), the surface control device 109 switches the usage surface (step S34).

このとき、これまで利用していた利用面の保護ビット1063には「1」が設定されているため、切替前の面のデータエリア1062に格納されるデータが障害ログとして保存される。   At this time, since “1” is set in the protection bit 1063 of the usage surface that has been used so far, the data stored in the data area 1062 of the surface before switching is saved as a failure log.

通信装置10は、BIOSを起動させ、また、CPUのリセットを解除する(ステップS35)。通信装置10は、不揮発性メモリ106の所定の利用面をメモリ空間にアサインする(ステップS36)。さらに、通信装置10は、OSの起動処理を実行する(ステップS37)。その後、通信装置10は、ソフトウェアの通常運用を開始する(ステップS38)。面制御デバイス109は、ソフトウェアの通常運用後に、アサインされた面の保護ビット1063に「1」を設定する(ステップS39)。   The communication device 10 activates the BIOS and releases the reset of the CPU (step S35). The communication device 10 assigns a predetermined usage surface of the nonvolatile memory 106 to the memory space (step S36). Furthermore, the communication device 10 executes an OS activation process (step S37). Thereafter, the communication apparatus 10 starts normal operation of the software (step S38). The surface control device 109 sets “1” to the protection bit 1063 of the assigned surface after the normal operation of the software (step S39).

通信装置10は、自動的に又は管理者からの指示にしたがって、保護ビット1063に「1」が設定された面に格納されるデータを障害ログとして取得する(ステップS40)。   The communication apparatus 10 acquires, as a failure log, data stored on a surface in which “1” is set in the protection bit 1063, automatically or according to an instruction from the administrator (step S40).

ケース300、400、500を用いて説明したように、本実施例の通信装置10は、不揮発性メモリ106の一部のメモリ領域(面)を中央演算処理部104が動的データ107を格納するメモリ領域として提供する。また、通信装置10は、通常の再起動処理の場合、保護ビット1063を無効化した後に、中央演算処理部104が使用する面を切り替え、また、障害発生に起因する再起動処理の場合、保護ビット1063を有効化したまま、中央演算処理部104が使用する面を切り替える。なお、以下の説明では障害発生に起因する再起動処理を障害再起動処理とも記載する。   As described using the cases 300, 400, and 500, in the communication device 10 according to the present embodiment, the central processing unit 104 stores the dynamic data 107 in a partial memory area (surface) of the nonvolatile memory 106. Provide as a memory area. Further, the communication device 10 switches the surface used by the central processing unit 104 after invalidating the protection bit 1063 in the case of normal restart processing, and protects in the case of restart processing due to the occurrence of a failure. The surface used by the central processing unit 104 is switched while the bit 1063 is enabled. In the following description, the restart process resulting from the occurrence of a failure is also referred to as a failure restart process.

従来、通信装置10は、障害が発生した場合、障害ログのダンプを取得した後に再起動を行っていたため、通信装置10の停止時間が長くなるという問題があった。しかし、本実施例の通信装置10は、面を切り替えることによって障害ログを保存できるため、停止時間を短くすることができる。   Conventionally, when a failure occurs, the communication device 10 has been restarted after acquiring a dump of the failure log, and thus there has been a problem that the stop time of the communication device 10 becomes longer. However, since the communication device 10 according to the present embodiment can save the failure log by switching the plane, the stop time can be shortened.

また、保護ビット1063が「1」でない面は、新たにデータを上書きできるように制御される。そのため、不揮発性メモリ106のメモリ領域を有効に活用することができ、障害解析に必要な障害ログのみを不揮発性メモリ106に保存することができる。   Further, the surface where the protection bit 1063 is not “1” is controlled so that data can be overwritten newly. Therefore, the memory area of the nonvolatile memory 106 can be used effectively, and only the failure log necessary for failure analysis can be stored in the nonvolatile memory 106.

なお、面制御デバイス109の起動時間、不揮発性メモリ106の初期化、利用面の決定に必要な処理時間は、障害ログのダンプの取得に必要な時間より短いため、通信装置10の通常運用に与える影響は十分に小さい。   It should be noted that the processing time required for starting the surface control device 109, initializing the non-volatile memory 106, and determining the usage surface is shorter than the time required for acquiring the dump of the failure log. The impact is small enough.

次に、通信装置10の起動時の処理における面制御デバイス109の処理の詳細について説明する。   Next, details of the process of the surface control device 109 in the process at the time of starting the communication apparatus 10 will be described.

図7は、実施例の面制御デバイス109が実行する処理の概要を説明するフローチャートである。通信装置10に電源が投入され、各種デバイスが起動した後に面制御デバイス109は、以下で説明する処理を開始する。   FIG. 7 is a flowchart illustrating an outline of processing executed by the surface control device 109 according to the embodiment. After the communication apparatus 10 is turned on and various devices are activated, the surface control device 109 starts processing described below.

面制御デバイス109は、不揮発性メモリ106に対する初期設定処理を実行する(ステップS100)。初期設定処理では、面制御デバイス109は、不揮発性メモリ106のメモリ領域を所定のサイズのメモリ領域に分割することによって、複数の面を設定する。初期設定処理の詳細は図8A及び図8Bを用いて後述する。   The surface control device 109 executes an initial setting process for the nonvolatile memory 106 (step S100). In the initial setting process, the surface control device 109 sets a plurality of surfaces by dividing the memory area of the nonvolatile memory 106 into memory areas of a predetermined size. Details of the initial setting process will be described later with reference to FIGS. 8A and 8B.

面制御デバイス109は、不揮発性メモリ106に設定された複数の面の中から、中央演算処理部104の利用面を決定するために、利用面決定処理を実行する(ステップS200)。利用面決定処理では、通信装置10の起動の契機及び不揮発性メモリ106の各面の状態に応じて、ログ更新面選択処理及び不揮発性メモリ整合性確認処理が実行される(ステップS300、ステップS400)。利用面決定処理の詳細は図9A及び図9Bを用いて、ログ更新面選択処理の詳細は図10を用いて、不揮発性メモリ整合性確認処理の詳細は図11を用いて後述する。   The surface control device 109 executes a utilization surface determination process in order to determine a utilization surface of the central processing unit 104 from a plurality of surfaces set in the nonvolatile memory 106 (step S200). In the usage plane determination process, a log update plane selection process and a nonvolatile memory consistency check process are executed according to the trigger of the communication device 10 and the state of each plane of the nonvolatile memory 106 (steps S300 and S400). ). Details of the usage plane determination process will be described later with reference to FIGS. 9A and 9B, details of the log update plane selection process with reference to FIG. 10, and details of the nonvolatile memory consistency confirmation process with reference to FIG.

面制御デバイス109は、利用面決定処理が完了した後、ソフトウェア正常起動確認処理を実行する(ステップS500)。ソフトウェア正常起動確認処理の詳細は図12A及び図12Bを用いて後述する。   The surface control device 109 executes the software normal activation confirmation processing after the usage surface determination processing is completed (step S500). Details of the software normal activation confirmation process will be described later with reference to FIGS. 12A and 12B.

ソフトウェア正常起動確認処理が正常に完了した場合、通信装置10は、通常の運用状態に移行する。通常の運用状態では、図1を用いた説明したように、通信装置10は、ネットワーク206に対するパケットの転送処理を実行する。   When the software normal activation confirmation process is normally completed, the communication device 10 shifts to a normal operation state. In the normal operation state, as described with reference to FIG. 1, the communication device 10 executes a packet transfer process for the network 206.

ソフトウェア正常起動確認処理が正常に完了しない場合、又は、再起動オペレーション若しくは障害が発生した場合、通信装置10はステップS100に戻り、面制御デバイス109は同様の処理を実行する。   If the software normal activation check process is not completed normally, or if a restart operation or a failure occurs, the communication device 10 returns to step S100, and the surface control device 109 executes the same process.

後述するように、本実施例では、不揮発性メモリ106の面に対して、リングバッファ形式でデータが更新される。通常の再起動処理の場合、保護ビット1063は無効化される。一方、障害再起動処理の場合、保護ビット1063は無効化されない。そのため、リングバッファ形式で面の管理を実現しつつ、不揮発性メモリ106に障害ログを残すことができる。   As will be described later, in this embodiment, data is updated in a ring buffer format on the surface of the nonvolatile memory 106. In the case of normal restart processing, the protection bit 1063 is invalidated. On the other hand, in the case of failure restart processing, the protection bit 1063 is not invalidated. Therefore, it is possible to leave a failure log in the nonvolatile memory 106 while realizing surface management in a ring buffer format.

図8A及び図8Bは、実施例の面制御デバイス109が実行する初期設定処理の一例を説明するフローチャートである。   8A and 8B are flowcharts illustrating an example of an initial setting process executed by the surface control device 109 according to the embodiment.

面制御デバイス109の面切替制御部114は、通信装置10に電源が投入された後に初期設定処理を開始する。なお、面制御デバイス109は、通信装置10の管理者によって不揮発性メモリ106、面制御レジスタ110、及び面管理テーブル113が初期化された場合に初期設定処理を実行してもよい。   The surface switching control unit 114 of the surface control device 109 starts the initial setting process after the communication device 10 is powered on. The surface control device 109 may execute the initial setting process when the administrator of the communication apparatus 10 initializes the nonvolatile memory 106, the surface control register 110, and the surface management table 113.

面切替制御部114は、中央演算処理部104に対してCPUリセット命令を発行する(ステップS1001)。これによって、中央演算処理部104の起動が停止する。これは、中央演算処理部104がメモリ空間に不揮発性メモリ106のメモリ領域をアサインする前に、不揮発性メモリ106の設定を完了させるためである。   The surface switching control unit 114 issues a CPU reset command to the central processing unit 104 (step S1001). As a result, the activation of the central processing unit 104 is stopped. This is because the setting of the nonvolatile memory 106 is completed before the central processing unit 104 assigns the memory area of the nonvolatile memory 106 to the memory space.

なお、通信装置10に電源管理用のデバイスを設けて、面制御デバイス109及び中央演算処理部104の起動シーケンスを制御することによって、同様の手順を実現してもよい。   A similar procedure may be realized by providing a power management device in the communication apparatus 10 and controlling the activation sequence of the surface control device 109 and the central processing unit 104.

面切替制御部114は、不揮発性メモリ106の制御フラグ格納領域1068の不揮発性メモリ初期化パスフラグ1066の値を読み出し(ステップS1002)、不揮発性メモリ初期化パスフラグ1066が有効化されているか否かを判定する(ステップS1003)。すなわち、不揮発性メモリ106の初期設定が必要であるか否かが判定される。   The surface switching control unit 114 reads the value of the nonvolatile memory initialization pass flag 1066 in the control flag storage area 1068 of the nonvolatile memory 106 (step S1002), and determines whether or not the nonvolatile memory initialization pass flag 1066 is enabled. Determination is made (step S1003). That is, it is determined whether initial setting of the nonvolatile memory 106 is necessary.

具体的には、面切替制御部114は、制御フラグ格納領域1068が設定されるメモリ領域の先頭アドレスに基づいて不揮発性メモリ106にアクセスし、不揮発性メモリ初期化パスフラグ1066の値を読み出す。   Specifically, the surface switching control unit 114 accesses the nonvolatile memory 106 based on the top address of the memory area in which the control flag storage area 1068 is set, and reads the value of the nonvolatile memory initialization pass flag 1066.

不揮発性メモリ初期化パスフラグ1066が有効化されている場合(ステップS1003がYES)、すでに不揮発性メモリ106の初期化が完了しているため、面切替制御部114は初期設定処理を終了する。   If the nonvolatile memory initialization pass flag 1066 is validated (YES in step S1003), the surface switching control unit 114 ends the initialization process because the initialization of the nonvolatile memory 106 has already been completed.

不揮発性メモリ初期化パスフラグ1066が無効化されている場合(ステップS1003がNO)、面切替制御部114は、面制御レジスタ110及び面管理テーブル113に設定された値を初期化する(ステップS1004)。   When the nonvolatile memory initialization pass flag 1066 is invalidated (NO in step S1003), the surface switching control unit 114 initializes values set in the surface control register 110 and the surface management table 113 (step S1004). .

具体的には、面切替制御部114は、面制御レジスタ110の最大面数1101、制御フラグ格納領域サイズ1102及び実利用メモリ容量1103の値を削除し、ソフトウェア起動確認フラグ1105に「0」を設定する。面切替制御部114は、面制御レジスタ110に含まれる全ての面選択フラグ1106を削除する。また、面切替制御部114は、面管理テーブル113から全てのエントリを削除する。   Specifically, the surface switching control unit 114 deletes the values of the maximum number of surfaces 1101, the control flag storage area size 1102 and the actual used memory capacity 1103 of the surface control register 110, and sets “0” in the software activation confirmation flag 1105. Set. The surface switching control unit 114 deletes all surface selection flags 1106 included in the surface control register 110. Further, the surface switching control unit 114 deletes all entries from the surface management table 113.

面切替制御部114は、不揮発性メモリ106を初期化する(ステップS1005)。   The surface switching control unit 114 initializes the nonvolatile memory 106 (step S1005).

具体的には、面切替制御部114は、不揮発性メモリ106の実利用メモリ領域1067を初期化する。また、面切替制御部114は、制御フラグ格納領域1068の不揮発性メモリ初期化パスフラグ1066を無効化し、また、ライトポイント格納エリア1061に初期値(例えば「1」)を設定する。また、面切替制御部114は、不揮発性メモリ106のメモリ領域のサイズを取得する。   Specifically, the surface switching control unit 114 initializes the actual use memory area 1067 of the nonvolatile memory 106. Further, the surface switching control unit 114 invalidates the non-volatile memory initialization pass flag 1066 in the control flag storage area 1068 and sets an initial value (for example, “1”) in the light point storage area 1061. Further, the surface switching control unit 114 acquires the size of the memory area of the nonvolatile memory 106.

面切替制御部114は、面制御レジスタ110の制御フラグ格納領域サイズ1102及び実利用メモリ容量1103に値を格納する(ステップS1006)。   The surface switching control unit 114 stores values in the control flag storage area size 1102 and the actual used memory capacity 1103 of the surface control register 110 (step S1006).

具体的には、面切替制御部114は、制御フラグ格納領域1068の定義情報から制御フラグ格納領域1068のサイズを取得し、取得された値を制御フラグ格納領域サイズ1102に格納する。面切替制御部114は、不揮発性メモリ106のメモリ領域のサイズから制御フラグ格納領域1068のサイズを減算することによって、実利用メモリ領域1067のサイズを算出する。面切替制御部114は、算出された値を実利用メモリ容量1103に格納する。   Specifically, the surface switching control unit 114 acquires the size of the control flag storage area 1068 from the definition information of the control flag storage area 1068 and stores the acquired value in the control flag storage area size 1102. The surface switching control unit 114 calculates the size of the actual use memory area 1067 by subtracting the size of the control flag storage area 1068 from the size of the memory area of the nonvolatile memory 106. The surface switching control unit 114 stores the calculated value in the actual use memory capacity 1103.

面切替制御部114は、実利用メモリ領域1067に設定可能な最大面数を算出し、面制御レジスタ110を更新する(ステップS1007)。   The surface switching control unit 114 calculates the maximum number of surfaces that can be set in the actual use memory area 1067, and updates the surface control register 110 (step S1007).

具体的には、面切替制御部114は、面制御レジスタ110の最大面数1101に算出された値を格納し、また、面制御レジスタ110に算出された値の数だけ面選択フラグ1106を生成し、生成された面選択フラグ1106に「0」を設定する。   Specifically, the surface switching control unit 114 stores the value calculated in the maximum number of surfaces 1101 of the surface control register 110, and generates the surface selection flags 1106 for the number of values calculated in the surface control register 110. Then, “0” is set to the generated surface selection flag 1106.

なお、一つの面のサイズは、面切替制御部114に設定されているものとする。例えば、面切替制御部114に予め面のサイズの情報を入力する方法、管理者からの入力を受け付ける方法などが考えられる。また、不揮発性メモリ106の制御フラグ格納領域1068の一部に一つの面のサイズの情報を格納し、面切替制御部114が当該情報を読み出してもよい。   Note that the size of one surface is set in the surface switching control unit 114. For example, a method of inputting surface size information to the surface switching control unit 114 in advance, a method of receiving input from an administrator, or the like can be considered. Further, the size information of one surface may be stored in a part of the control flag storage area 1068 of the nonvolatile memory 106, and the surface switching control unit 114 may read the information.

面切替制御部114は、算出された最大面数に基づいて実利用メモリ領域1067を分割し、面管理テーブル113を更新する(ステップS1008)。具体的には、以下のような処理が実行される。   The surface switching control unit 114 divides the actual use memory area 1067 based on the calculated maximum number of surfaces, and updates the surface management table 113 (step S1008). Specifically, the following processing is executed.

面切替制御部114は、実利用メモリ領域1067を最大面数分のメモリ領域(面)に分割する。また、面切替制御部114は、分割された各メモリ領域に、データエリア1062、保護ビット1063、マジックナンバ1064、及びタイムスタンプ1065に対応するメモリ領域を設定する。この時点では、データエリア1062、保護ビット1063、マジックナンバ1064、及びタイムスタンプ1065にはデータは格納されていない。   The surface switching control unit 114 divides the actual use memory area 1067 into memory areas (surfaces) for the maximum number of surfaces. In addition, the surface switching control unit 114 sets a memory area corresponding to the data area 1062, the protection bit 1063, the magic number 1064, and the time stamp 1065 in each divided memory area. At this time, no data is stored in the data area 1062, the protection bit 1063, the magic number 1064, and the time stamp 1065.

また、面切替制御部114は、面管理テーブル113に最大面数のエントリを生成する。面切替制御部114は、生成された各エントリの不揮発性メモリ格納領域1132に、各面に対応するメモリ領域の開始アドレス及び終了アドレスを設定する。面切替制御部114は、生成された各エントリの面ID1131に降順に面の識別番号を設定する。また、面切替制御部114は、生成された各エントリの故障フラグ1134に「0」を設定する。なお、面ID1131に設定する面の識別番号は昇順に設定されてもよい。   In addition, the surface switching control unit 114 generates an entry for the maximum number of surfaces in the surface management table 113. The surface switching control unit 114 sets the start address and the end address of the memory region corresponding to each surface in the nonvolatile memory storage region 1132 of each generated entry. The surface switching control unit 114 sets surface identification numbers in descending order to the surface ID 1131 of each generated entry. Further, the surface switching control unit 114 sets “0” in the failure flag 1134 of each generated entry. Note that the surface identification numbers set in the surface ID 1131 may be set in ascending order.

面切替制御部114は、面制御レジスタ110のマジックナンバ1104の値を読み出し(ステップS1009)、不揮発性メモリ106の各面のマジックナンバ1064に読み出された値を設定する(ステップS1010)。   The surface switching control unit 114 reads the value of the magic number 1104 of the surface control register 110 (step S1009), and sets the read value to the magic number 1064 of each surface of the nonvolatile memory 106 (step S1010).

面切替制御部114は、不揮発性メモリの全ての面のマジックナンバ1064に設定された値が面制御レジスタ110のマジックナンバ1104の値と一致するか否かを判定する(ステップS1011)。   The surface switching control unit 114 determines whether or not the values set in the magic numbers 1064 of all the surfaces of the nonvolatile memory match the values of the magic numbers 1104 in the surface control register 110 (step S1011).

全ての面のマジックナンバ1064に設定された値が面制御レジスタ110のマジックナンバ1104の値と一致すると場合(ステップS1011がYES)、面切替制御部114は、ステップS1013に進む。   If the values set in the magic numbers 1064 of all the faces coincide with the magic number 1104 in the face control register 110 (YES in step S1011), the face switching control unit 114 proceeds to step S1013.

全ての面のマジックナンバ1064に設定された値が面制御レジスタ110のマジックナンバ1104の値と一致しない場合(ステップS1011がNO)、面切替制御部114は、面制御レジスタ110のマジックナンバ1104の値と一致していない面に対応するエントリの故障フラグ1134を有効化する(ステップS1012)。   When the values set for the magic numbers 1064 of all the faces do not match the magic number 1104 of the face control register 110 (NO in step S1011), the face switching control unit 114 sets the magic number 1104 of the face control register 110. The failure flag 1134 of the entry corresponding to the surface that does not match the value is validated (step S1012).

具体的には、面切替制御部114は、故障フラグ1134に「1」を設定する。なお、面切替制御部114は、ステップS1012の処理の代わりに、ステップS1002又はステップS1009に戻ってもよい。面のマジックナンバ1064に設定された値が面制御レジスタ110のマジックナンバ1104の値と一致しない場合、データの欠損及びデータ化け等が発生することによって当該面にはデータを正しく格納できないことを示しており、面が故障している可能性がある。そのため、前述した面の故障フラグ1134に「1」が設定される。   Specifically, the surface switching control unit 114 sets “1” in the failure flag 1134. Note that the surface switching control unit 114 may return to step S1002 or step S1009 instead of the process of step S1012. If the value set in the magic number 1064 of the surface does not match the value of the magic number 1104 in the surface control register 110, it indicates that data cannot be correctly stored in the surface due to data loss or data corruption. The surface may be broken. Therefore, “1” is set in the failure flag 1134 of the surface described above.

ステップS1011又はステップS1012の処理が完了した後、面切替制御部114は、不揮発性メモリ106の制御フラグ格納領域1068にアクセスし、不揮発性メモリ初期化パスフラグ1066を有効化する(ステップS1013)。その後、面切替制御部114は、初期設定処理を終了する。   After the process of step S1011 or step S1012 is completed, the surface switching control unit 114 accesses the control flag storage area 1068 of the nonvolatile memory 106 and validates the nonvolatile memory initialization pass flag 1066 (step S1013). Thereafter, the surface switching control unit 114 ends the initial setting process.

図9A及び図9Bは、実施例の面制御デバイス109が実行する利用面決定処理の一例を説明するフローチャートである。   FIG. 9A and FIG. 9B are flowcharts for explaining an example of usage surface determination processing executed by the surface control device 109 of the embodiment.

面制御デバイス109の面切替制御部114は、初期設定処理が終了した後、以下で説明する利用面決定処理を開始する。   The surface switching control unit 114 of the surface control device 109 starts a utilization surface determination process described below after the initial setting process is completed.

面切替制御部114は、不揮発性メモリ106にアクセスし、ライトポイント格納エリア1061から値を読み出し、読み出された値を変数WPとして保持する(ステップS2001)。面切替制御部114は、面管理テーブル113から変数WPに対応する面のアドレスを取得する(ステップS2002)。   The surface switching control unit 114 accesses the nonvolatile memory 106, reads a value from the light point storage area 1061, and holds the read value as a variable WP (step S2001). The surface switching control unit 114 acquires the address of the surface corresponding to the variable WP from the surface management table 113 (step S2002).

具体的には、面切替制御部114は、面ID1131の値が変数WPの値と一致するエントリを検索し、検索されたエントリの不揮発性メモリ格納領域1132から面のアドレスを取得する。   Specifically, the surface switching control unit 114 searches for an entry in which the value of the surface ID 1131 matches the value of the variable WP, and acquires the surface address from the nonvolatile memory storage area 1132 of the searched entry.

面切替制御部114は、取得されたアドレスに基づいて不揮発性メモリ106の変数WPの値に対応する面にアクセスして、当該面の保護ビット1063の値を読み出す(ステップS2003)。さらに、面切替制御部114は、読み出された値に基づいて保護ビット1063が有効化されているか否かを判定する(ステップS2004)。すなわち、保護ビット1063から読み出された値が「1」であるか否かが判定される。   The surface switching control unit 114 accesses the surface corresponding to the value of the variable WP in the nonvolatile memory 106 based on the acquired address, and reads the value of the protection bit 1063 for the surface (step S2003). Further, the surface switching control unit 114 determines whether or not the protection bit 1063 is enabled based on the read value (step S2004). That is, it is determined whether or not the value read from the protection bit 1063 is “1”.

保護ビット1063が無効化されている場合(ステップS2004がNO)、面切替制御部114は、変数WPの値に対応する面に不具合が発生しているか否かを判定するために不揮発性メモリ整合性確認処理を実行する(ステップS400)。また、面切替制御部114は、当該処理の結果が正常完了であるか否かを判定する(ステップS2005)。なお、不揮発性メモリ整合性確認処理では、変数WPの値に対応する面が処理対象の面として入力される。   When the protection bit 1063 is invalidated (NO in step S2004), the surface switching control unit 114 performs non-volatile memory matching in order to determine whether or not a defect has occurred on the surface corresponding to the value of the variable WP. A sex confirmation process is executed (step S400). Further, the surface switching control unit 114 determines whether or not the result of the processing is normal completion (step S2005). In the nonvolatile memory consistency check process, a surface corresponding to the value of the variable WP is input as a processing target surface.

不揮発性メモリ整合性確認処理の処理結果が正常完了である場合(ステップS2005がYES)、面切替制御部114は、変数WPの値に対応する面を中央演算処理部104の利用面として決定し、ステップS2008に進む。   When the processing result of the nonvolatile memory consistency check processing is normal completion (YES in step S2005), the surface switching control unit 114 determines the surface corresponding to the value of the variable WP as the usage surface of the central processing unit 104. The process proceeds to step S2008.

保護ビット1063が有効化されている場合(ステップS2004がYES)、又は、不揮発性メモリ整合性確認処理の処理結果が正常完了でない場合(ステップS2005がNO)、面切替制御部114は、変数WPの値に対応する面を中央演算処理部104の利用面として選択できない。そこで、面切替制御部114は、変数WPの値に対応する面以外の面の中で利用可能な全ての面の保護ビット1063の値を読み出す(ステップS2006)。さらに、面切替制御部114は、利用可能な全ての面の保護ビット1063が有効化されているか否かを判定する(ステップS2007)。ここで、利用可能な面とは故障フラグ1134が無効化された面を示す。具体的には、以下のような処理が実行される。   If the protection bit 1063 is enabled (YES in step S2004), or if the processing result of the nonvolatile memory consistency check process is not normally completed (NO in step S2005), the surface switching control unit 114 sets the variable WP The surface corresponding to the value of cannot be selected as the usage surface of the central processing unit 104. Therefore, the surface switching control unit 114 reads the values of the protection bits 1063 of all the surfaces that can be used among the surfaces other than the surface corresponding to the value of the variable WP (step S2006). Furthermore, the surface switching control unit 114 determines whether or not the protection bits 1063 for all available surfaces are enabled (step S2007). Here, the usable surface indicates a surface in which the failure flag 1134 is invalidated. Specifically, the following processing is executed.

面切替制御部114は、面管理テーブル113を参照し、面ID1131の値が変数WPの値と異なるエントリの中から、故障フラグ1134が「0」であるエントリを検索する。すなわち、面切替制御部114は、不揮発性メモリ106の面の中から利用可能な全ての面を検索する。   The surface switching control unit 114 refers to the surface management table 113 and searches for an entry whose failure flag 1134 is “0” from entries whose surface ID 1131 is different from the value of the variable WP. That is, the surface switching control unit 114 searches all available surfaces from the surfaces of the nonvolatile memory 106.

面切替制御部114は、検索された各エントリの不揮発性メモリ格納領域1132に格納されるアドレスに基づいて、当該エントリに対応する面の保護ビット1063の値を読み出す。面切替制御部114は、全ての面の保護ビット1063の値が「1」であるか否かを判定する。以上が、ステップS2006及びステップS2007の処理の説明である。   The surface switching control unit 114 reads the value of the protection bit 1063 of the surface corresponding to the entry based on the address stored in the nonvolatile memory storage area 1132 of each searched entry. The surface switching control unit 114 determines whether or not the values of the protection bits 1063 for all surfaces are “1”. The above is the description of the processing in step S2006 and step S2007.

利用可能な全ての面の保護ビット1063が有効化されている場合(ステップS2007がYES)、面切替制御部114は、保護ビット1063が有効化されている面の中から中央演算処理部104の利用面を決定するために更新ログ選択処理を実行する(ステップS300)。これによって、中央演算処理部104の利用面が決定される。   When the protection bits 1063 for all available surfaces are enabled (YES in step S2007), the surface switching control unit 114 selects the central processing unit 104 from the surfaces for which the protection bits 1063 are enabled. An update log selection process is executed to determine the usage surface (step S300). Thereby, the usage surface of the central processing unit 104 is determined.

面切替制御部114は、中央演算処理部104の利用面として決定された面にアクセスして、当該面のデータエリア1062及びタイムスタンプ1065を初期化し(ステップS2008)、また、変数WPの値に「1」を加算した値をライトポイント格納エリア1061に設定する(ステップS2009)。   The surface switching control unit 114 accesses the surface determined as the usage surface of the central processing unit 104, initializes the data area 1062 and the time stamp 1065 of the surface (step S2008), and sets the value of the variable WP. A value obtained by adding “1” is set in the light point storage area 1061 (step S2009).

具体的には、面切替制御部114は、データエリア1062からデータを削除し、タイムスタンプ1065からタイムスタンプを削除する。   Specifically, the surface switching control unit 114 deletes data from the data area 1062 and deletes the time stamp from the time stamp 1065.

面切替制御部114は、面制御レジスタ110の決定された面に対応する面選択フラグ1106の操作を禁止する(ステップS2010)。例えば、面切替制御部114は、面選択フラグ1106へのアクセス属性を読み出しのみに設定する。その後、面切替制御部114は、利用面決定処理を終了する。ステップS2010の処理は、通信装置10の起動処理とは異なる処理として実行される障害ログの取得処理において、決定された面への操作を禁止するためのものである。   The surface switching control unit 114 prohibits the operation of the surface selection flag 1106 corresponding to the determined surface of the surface control register 110 (step S2010). For example, the surface switching control unit 114 sets the access attribute to the surface selection flag 1106 to read only. Thereafter, the surface switching control unit 114 ends the usage surface determination process. The process of step S2010 is for prohibiting an operation on the determined plane in the fault log acquisition process executed as a process different from the activation process of the communication apparatus 10.

ステップS2007において、少なくとも一つの利用可能な面の保護ビット1063が無効化されている場合(ステップS2007がNO)、面切替制御部114は、変数WPの値に「1」を加算した値を新たな変数WPとして設定する(ステップS2011)。   When the protection bit 1063 of at least one available surface is invalidated in step S2007 (step S2007 is NO), the surface switching control unit 114 newly sets a value obtained by adding “1” to the value of the variable WP. Is set as a variable WP (step S2011).

面切替制御部114は、変数WPの値と最大面数とを比較し(ステップS2012)、変数WPの値が最大面数と一致するか否かを判定する(ステップS2013)。例えば、最大面数が「N−1」の場合、面切替制御部114は、変数WPの値が「N−1」であるか否かを判定する。   The surface switching control unit 114 compares the value of the variable WP with the maximum number of surfaces (step S2012), and determines whether or not the value of the variable WP matches the maximum number of surfaces (step S2013). For example, when the maximum number of surfaces is “N−1”, the surface switching control unit 114 determines whether or not the value of the variable WP is “N−1”.

変数WPの値が最大面数と一致しない場合(ステップS2013がNO)、面切替制御部114は、ステップS2002に戻り同様の処理を実行する。   If the value of the variable WP does not match the maximum number of faces (NO in step S2013), the face switching control unit 114 returns to step S2002 and executes the same process.

変数WPの値が最大面数と一致する場合(ステップS2013がYES)、面切替制御部114は、変数WPの値を「1」に設定し(ステップS2014)、その後ステップS2002に戻り同様の処理を実行する。   If the value of the variable WP matches the maximum number of faces (YES in step S2013), the face switching control unit 114 sets the value of the variable WP to “1” (step S2014), and then returns to step S2002 to perform the same processing. Execute.

ステップS2009において、面切替制御部114は、面が決定された後、当該面の次の面の識別番号を不揮発性メモリ106上のライトポイント格納エリア1061に設定することによって、通常運用中の電源障害等のハードウェア障害が発生した場合でも、再起動後の中央演算処理部104の利用面の候補を特定することが可能となり、リングバッファとしての機能が維持することができる。   In step S2009, after the face is determined, the face switching control unit 114 sets the identification number of the face next to the face in the light point storage area 1061 on the nonvolatile memory 106, so that the power supply during normal operation is set. Even when a hardware failure such as a failure occurs, it becomes possible to specify candidates for the usage surface of the central processing unit 104 after the restart, and the function as a ring buffer can be maintained.

なお、面切替制御部114は、ステップS2007の判定処理の前に、利用可能な全ての面の保護ビット1063の値を読み出していたが、以下のような処理でもよい。すなわち、面切替制御部114は、ステップS2007の判定処理の実行回数をカウントする変数を保持し、そのカウント値が最大面数と一致するまで変数WPの値をカウントアップする。このとき、面切替制御部114は、一度だけステップS2006の処理を実行し、読み出した保護ビット1063の値を一時的に保持する。これによって、不揮発性メモリ106へのアクセス回数を削減できる。   Note that the surface switching control unit 114 reads the values of the protection bits 1063 of all available surfaces before the determination processing in step S2007, but the following processing may be performed. That is, the surface switching control unit 114 holds a variable that counts the number of executions of the determination process in step S2007, and counts up the value of the variable WP until the count value matches the maximum number of surfaces. At this time, the surface switching control unit 114 executes the process of step S2006 only once, and temporarily holds the value of the read protection bit 1063. As a result, the number of accesses to the nonvolatile memory 106 can be reduced.

前述したように、本実施例では、全ての面にデータが格納された状態において新たにデータを格納する場合に、所定の制御ポリシにしたがって、データを格納する面が選択される。これによって、不揮発性メモリ106の面におけるデータをリングバッファ形式で更新することができ、また、所定の条件を満たすデータが不揮発性メモリ106に障害ログとして残る。   As described above, in this embodiment, when data is newly stored in a state where data is stored in all the surfaces, the surface for storing the data is selected according to a predetermined control policy. As a result, data on the surface of the nonvolatile memory 106 can be updated in a ring buffer format, and data satisfying a predetermined condition remains in the nonvolatile memory 106 as a failure log.

図10は、実施例の面制御デバイス109が実行するログ更新面選択処理の一例を説明するフローチャートである。   FIG. 10 is a flowchart illustrating an example of a log update surface selection process executed by the surface control device 109 according to the embodiment.

面制御デバイス109の面切替制御部114は、利用面決定処理において利用可能な全ての面の保護ビット1063が有効化されている場合に、以下で説明するログ更新面選択処理を開始する。   The surface switching control unit 114 of the surface control device 109 starts the log update surface selection processing described below when the protection bits 1063 of all the surfaces that can be used in the usage surface determination processing are enabled.

面切替制御部114は、不揮発性メモリ106の全ての面のタイムスタンプ1065の値を読み出し(ステップS3001)、読み出された値に基づいて面管理テーブル113を更新する(ステップS3002)。   The surface switching control unit 114 reads the values of the time stamps 1065 of all the surfaces of the nonvolatile memory 106 (step S3001), and updates the surface management table 113 based on the read values (step S3002).

具体的には、面切替制御部114は、各面のタイムスタンプ1065から取得された値を、各面に対応するエントリのタイムスタンプ1133に設定する。   Specifically, the surface switching control unit 114 sets the value acquired from the time stamp 1065 of each surface to the time stamp 1133 of the entry corresponding to each surface.

面切替制御部114は、更新された面管理テーブル113に基づいて、タイムスタンプが最も古い障害ログが格納される面を特定する(ステップS3003)。具体的には、以下のような処理が実行される。   Based on the updated surface management table 113, the surface switching control unit 114 identifies the surface in which the failure log with the oldest time stamp is stored (step S3003). Specifically, the following processing is executed.

面切替制御部114は、更新された面管理テーブル113を参照し、故障フラグ1134が「0」であるエントリを全て抽出する。面切替制御部114は、抽出されたエントリの中からタイムスタンプ1133の値が最も古いエントリを選択する。面切替制御部114は、選択されたエントリに基づいて、当該エントリに対応する面の保護ビット1063の値を読み出す。   The surface switching control unit 114 refers to the updated surface management table 113 and extracts all entries whose failure flag 1134 is “0”. The face switching control unit 114 selects an entry having the oldest value of the time stamp 1133 from the extracted entries. Based on the selected entry, the surface switching control unit 114 reads the value of the protection bit 1063 of the surface corresponding to the entry.

面切替制御部114は、読み出された保護ビット1063の値が「1」であるか否かを判定する。読み出された保護ビット1063の値が「1」である場合、面切替制御部114は、選択されたエントリに対応する面を、最も古い障害ログが格納される面として特定する。   The surface switching control unit 114 determines whether or not the value of the read protection bit 1063 is “1”. When the value of the read protection bit 1063 is “1”, the surface switching control unit 114 specifies the surface corresponding to the selected entry as the surface in which the oldest failure log is stored.

読み出された保護ビット1063の値が「1」ではない場合、面切替制御部114は、抽出されたエントリの中からタイムスタンプ1133の値が2番目に古いエントリを選択し、前述した処理を実行する。面切替制御部114は、最も古い障害ログが格納される面が特定されるまで、前述した処理を繰り返し実行する。面切替制御部114は、特定された面の面ID1131を一時的に保持する。以上がステップS3003の処理の説明である。   If the value of the read protection bit 1063 is not “1”, the surface switching control unit 114 selects the entry having the second oldest value of the time stamp 1133 from the extracted entries, and performs the above-described processing. Run. The surface switching control unit 114 repeatedly executes the above-described processing until the surface storing the oldest failure log is specified. The surface switching control unit 114 temporarily holds the surface ID 1131 of the specified surface. The above is the description of the process in step S3003.

面切替制御部114は、変数Jに「1」を設定する(ステップS3004)。また、面切替制御部114は、面管理テーブル113を参照して、最も古い障害ログが格納される面を除いた面の中から利用可能な全ての面を抽出し(ステップS3005)、抽出された利用可能な全ての面の中からJ番目にタイムスタンプが古い面を選択する(ステップS3006)。   The surface switching control unit 114 sets “1” to the variable J (step S3004). In addition, the surface switching control unit 114 refers to the surface management table 113 and extracts all available surfaces from surfaces other than the surface storing the oldest failure log (step S3005). The face with the oldest time stamp is selected from all available faces (step S3006).

具体的には、面切替制御部114は、最も古い障害ログが格納される面に対応するエントリを検索対象から除外する。面切替制御部114は、残りの面の中から故障フラグ1134が「0」であるエントリを全て抽出し、一時的に抽出されたエントリを保持する。面切替制御部114は、抽出されたエントリのタイムスタンプ1133の値を参照して、J番目に古いタイムスタンプを特定する。   Specifically, the surface switching control unit 114 excludes the entry corresponding to the surface storing the oldest failure log from the search target. The surface switching control unit 114 extracts all entries whose failure flag 1134 is “0” from the remaining surfaces, and holds the temporarily extracted entries. The surface switching control unit 114 refers to the value of the time stamp 1133 of the extracted entry and identifies the Jth oldest time stamp.

さらに、面切替制御部114は、選択された面に不具合が発生しているか否かを判定するために不揮発性メモリ整合性確認処理を実行する(ステップS400)。また、面切替制御部114は、当該処理の結果が正常完了であるか否かを判定する(ステップS3007)。なお、不揮発性メモリ整合性確認処理では、選択された面に対応するエントリの面ID1131の値が処理対象の面として入力される。つまり、面切替制御部114は、選択された面に対応するエントリの面ID1131を変数WPとして設定し、不揮発性メモリ整合性確認処理を実行する。   Further, the surface switching control unit 114 executes a nonvolatile memory consistency confirmation process to determine whether or not a defect has occurred in the selected surface (step S400). Further, the surface switching control unit 114 determines whether or not the result of the processing is normal completion (step S3007). In the nonvolatile memory consistency check process, the value of the surface ID 1131 of the entry corresponding to the selected surface is input as the surface to be processed. That is, the surface switching control unit 114 sets the surface ID 1131 of the entry corresponding to the selected surface as the variable WP, and executes the nonvolatile memory consistency confirmation process.

不揮発性メモリ整合性確認処理の処理結果が正常完了である場合(ステップS3007がYES)、面切替制御部114は、不揮発性メモリ106のJ番目に古い面の保護ビット1063を無効化する(ステップS3008)。面切替制御部114は、J番目に古い面に対応するエントリの面ID1131の値を変数WPとして設定し(ステップS3009)、ログ更新面選択処理を終了する。   If the processing result of the nonvolatile memory consistency check processing is normal completion (YES in step S3007), the surface switching control unit 114 invalidates the J-th oldest surface protection bit 1063 of the nonvolatile memory 106 (step S3007). S3008). The surface switching control unit 114 sets the value of the surface ID 1131 of the entry corresponding to the Jth oldest surface as a variable WP (step S3009), and ends the log update surface selection process.

ステップS3007において、不揮発性メモリ整合性確認処理の処理結果が正常完了でない場合(ステップS3007がNO)、面切替制御部114は、抽出された面の中に選択可能な面が存在するか否かを判定する(ステップS3010)。すなわち、処理されていない面が存在するか否かが判定される。   In step S3007, when the processing result of the nonvolatile memory consistency check process is not normally completed (NO in step S3007), the surface switching control unit 114 determines whether there is a selectable surface among the extracted surfaces. Is determined (step S3010). That is, it is determined whether or not there is an unprocessed surface.

抽出された面の中に選択可能な面が存在する場合(ステップS3010がYES)、面切替制御部114は、変数Jの値に「1」を加算した値を新たな変数Jとして設定して(ステップS3011)、ステップS3006に戻り、同様の処理を実行する。一方、抽出された面の中に選択可能な面が存在しない場合(ステップS3010がNO)、面切替制御部114は、通信装置10の起動を中断し、通信装置10を停止させる。   If there is a selectable surface among the extracted surfaces (YES in step S3010), the surface switching control unit 114 sets a value obtained by adding “1” to the value of the variable J as a new variable J. (Step S3011), the process returns to Step S3006, and the same processing is executed. On the other hand, when there is no selectable surface among the extracted surfaces (NO in step S3010), the surface switching control unit 114 interrupts the activation of the communication device 10 and stops the communication device 10.

不揮発性メモリ106の面に対するデータの更新はリングバッファ形式で管理される。そのため、面切替制御部114は、通常、全ての面にデータが格納されている場合、一番古いデータが格納される面に新たなデータを上書きする。この場合、通信装置10が起動してから初めて発生した障害に関する障害ログを保存することができない。   Data updates to the surface of the nonvolatile memory 106 are managed in a ring buffer format. Therefore, the surface switching control unit 114 normally overwrites new data on the surface storing the oldest data when data is stored in all the surfaces. In this case, it is not possible to save a failure log relating to a failure that has occurred for the first time after the communication device 10 is activated.

本実施例では、ユーザが通信装置10の障害を解析するために障害ログを取得する場合、通信装置10が正常に起動した後から障害ログが取得されるまでの間に、最も古い障害ログ(最初の障害ログ)及び最も新しい障害ログ(直前の障害ログ)を不揮発性メモリ106に必ず残すことを想定している。これによって、1次障害及び2次障害で問題の切り分け等の障害解析に役立てることができる。したがって、面切替制御部114は、ユーザオペレーション又は障害の発生により通信装置10が再起動を繰り返した場合に、最初の障害ログが格納される面に新たなデータが上書きされるのを防止する必要がある。   In this embodiment, when a user acquires a failure log in order to analyze a failure of the communication device 10, the oldest failure log (from the time when the communication device 10 is normally started until the failure log is acquired) It is assumed that the first failure log) and the latest failure log (immediate failure log) are always left in the nonvolatile memory 106. This can be used for failure analysis such as problem isolation between primary failure and secondary failure. Accordingly, the surface switching control unit 114 needs to prevent new data from being overwritten on the surface where the first failure log is stored when the communication apparatus 10 repeatedly restarts due to a user operation or a failure. There is.

そこで、面切替制御部114は、利用可能な全ての面に保護ビット1063が有効化されている場合、最初の障害ログを格納する面を除外した面の中から新たなデータを上書きする面を選択する。前述のような制御によって、不揮発性メモリ106におけるリングバッファ形式のログ更新及び障害解析に必要な障害ログの保存を実現している。   Therefore, when the protection bit 1063 is enabled for all available surfaces, the surface switching control unit 114 selects a surface overwriting new data from the surfaces excluding the surface storing the first failure log. select. The control as described above realizes ring buffer type log update in the nonvolatile memory 106 and storage of a failure log necessary for failure analysis.

なお、本実施例の面切替制御部114は、最初の障害ログ及び直前の障害ログを必ず不揮発性メモリ106に残すように制御しているがこれに限定されない。面切替制御部114に予めログの更新を定義した制御ポリシを設定することが考えられる。例えば、面切替制御部114は、制御ポリシに基づいて、最初の障害の発生後、通信装置10が再起動し、再び発生した障害に関する障害ログを不揮発性メモリ106に残すように制御してもよい。また、不揮発性メモリ106に残す障害ログの数を制御ポリシとして設定することもできる。   Note that the surface switching control unit 114 according to the present embodiment performs control so that the first failure log and the previous failure log are always left in the nonvolatile memory 106, but is not limited thereto. It is conceivable to set a control policy that defines log updating in advance in the surface switching control unit 114. For example, the surface switching control unit 114 may control the communication device 10 to restart after the occurrence of the first failure based on the control policy so that a failure log relating to the failure that has occurred again remains in the nonvolatile memory 106. Good. In addition, the number of failure logs that remain in the nonvolatile memory 106 can be set as a control policy.

図11は、実施例の面制御デバイス109が実行する不揮発性メモリ整合性確認処理の一例を説明するフローチャートである。   FIG. 11 is a flowchart illustrating an example of a nonvolatile memory consistency check process executed by the surface control device 109 according to the embodiment.

面制御デバイス109の面切替制御部114は、利用面の候補が選択された場合(ステップS2004がYES、又はステップS3006の後)、以下で説明する不揮発性メモリ整合性確認処理を開始する。なお、当該処理の開始時には、変数WPの値が入力される。   The surface switching control unit 114 of the surface control device 109 starts a non-volatile memory consistency confirmation process described below when a use surface candidate is selected (YES in step S2004 or after step S3006). At the start of the process, the value of the variable WP is input.

面切替制御部114は、面管理テーブル113を参照し、変数WPの値に対応する面の故障フラグ1134が有効化されているか否かを判定する(ステップS4001)。   The surface switching control unit 114 refers to the surface management table 113 and determines whether or not the surface failure flag 1134 corresponding to the value of the variable WP is enabled (step S4001).

具体的には、面切替制御部114は、面ID1131の値が変数WPの値と一致するエントリを検索し、検索されたエントリの故障フラグ1134が「1」であるか否かを判定する。検索されたエントリの故障フラグ1134が「1」である場合、面切替制御部114は、変数WPの値に対応する面の故障フラグ1134が有効化されていると判定する。   Specifically, the surface switching control unit 114 searches for an entry in which the value of the surface ID 1131 matches the value of the variable WP, and determines whether or not the failure flag 1134 of the searched entry is “1”. When the failure flag 1134 of the retrieved entry is “1”, the surface switching control unit 114 determines that the surface failure flag 1134 corresponding to the value of the variable WP is enabled.

変数WPの値に対応する面の故障フラグ1134が有効化されている場合(ステップS4001がYES)、面切替制御部114は、処理結果が失敗であるとして、不揮発性メモリ整合性確認処理を終了する。   When the failure flag 1134 of the surface corresponding to the value of the variable WP is validated (YES in step S4001), the surface switching control unit 114 ends the nonvolatile memory consistency confirmation process on the assumption that the processing result is failure. To do.

変数WPの値に対応する面の故障フラグ1134が無効化されている場合(ステップS4001がNO)、面切替制御部114は、面管理テーブル113から変数WPの値に対応する面のアドレスを取得する(ステップS4002)。さらに、面切替制御部114は、取得されたアドレスに基づいて不揮発性メモリ106の変数WPの値に対応する面のマジックナンバ1064から値を読み出す(ステップS4003)。   When the surface failure flag 1134 corresponding to the value of the variable WP is invalidated (NO in step S4001), the surface switching control unit 114 acquires the address of the surface corresponding to the value of the variable WP from the surface management table 113. (Step S4002). Further, the surface switching control unit 114 reads a value from the magic number 1064 of the surface corresponding to the value of the variable WP in the nonvolatile memory 106 based on the acquired address (step S4003).

具体的には、面切替制御部114は、ステップS4001において検索されたエントリの不揮発性メモリ格納領域1132から変数WPの値に対応する面のアドレスを取得する。また、面切替制御部114は、取得されたアドレスに基づいて変数WPの値に対応する面にアクセスし、当該面のマジックナンバ1064の値を読み出す。   Specifically, the surface switching control unit 114 acquires the address of the surface corresponding to the value of the variable WP from the nonvolatile memory storage area 1132 of the entry searched in step S4001. Further, the surface switching control unit 114 accesses the surface corresponding to the value of the variable WP based on the acquired address, and reads the value of the magic number 1064 of the surface.

面切替制御部114は、面制御レジスタ110のマジックナンバ1104の値と変数WPに対応する面のマジックナンバ1064の値とを比較し(ステップS4004)、両方のマジックナンバが一致するか否かを判定する(ステップS4005)。   The surface switching control unit 114 compares the value of the magic number 1104 of the surface control register 110 with the value of the magic number 1064 of the surface corresponding to the variable WP (step S4004), and determines whether or not both magic numbers match. Determination is made (step S4005).

両方のマジックナンバが一致する場合(ステップS4005がYES)、面切替制御部114は、処理結果が正常完了であるとして不揮発性メモリ整合性確認処理を終了する。両方のマジックナンバが一致しない場合(ステップS4005がNO)、面切替制御部114は、変数WPの値に対応する面の故障フラグ1134を有効化し(ステップS4006)、また、処理結果が失敗であるとして、不揮発性メモリ整合性確認処理を終了する。   If the two magic numbers match (YES in step S4005), the surface switching control unit 114 ends the nonvolatile memory consistency checking process on the assumption that the processing result is normal completion. If the two magic numbers do not match (NO in step S4005), the surface switching control unit 114 enables the surface failure flag 1134 corresponding to the value of the variable WP (step S4006), and the processing result is failure. As a result, the nonvolatile memory consistency check process is terminated.

具体的には、面切替制御部114は、面管理テーブル113を参照して、面ID1131の値が変数WPに値に一致するエントリを検索し、検索されたエントリの故障フラグ1134に「1」を設定する。   Specifically, the surface switching control unit 114 refers to the surface management table 113 to search for an entry whose surface ID 1131 value matches the value of the variable WP, and sets “1” in the failure flag 1134 of the searched entry. Set.

図12Aは、実施例の面制御デバイス109が実行するソフトウェア正常起動確認処理の一例を説明するフローチャートである。図12Bは、実施例のCPU1041がソフトウェア正常起動確認処理において実行する処理の一例を説明するフローチャートである。   FIG. 12A is a flowchart illustrating an example of a normal software activation confirmation process executed by the surface control device 109 according to the embodiment. FIG. 12B is a flowchart illustrating an example of processing executed by the CPU 1041 according to the embodiment in software normal activation confirmation processing.

面制御デバイス109の面切替制御部114は、利用面決定処理が完了した後、以下で説明するソフトウェア正常起動確認処理を開始する。ソフトウェアが起動し、当該ソフトウェアがメモリの利用を開始した後に、保護ビット1063が有効化された面に格納される情報が障害ログとして意味を持つ。そのため、面に格納される情報を障害ログとして保存するためにソフトウェア正常起動確認処理が実行される。   The surface switching control unit 114 of the surface control device 109 starts a software normal activation confirmation process described below after the use surface determination process is completed. After the software is activated and the software starts to use the memory, information stored in the surface where the protection bit 1063 is activated is meaningful as a failure log. Therefore, software normal activation confirmation processing is executed in order to save the information stored on the surface as a failure log.

面切替制御部114は、中央演算処理部104に出力していたCPUリセット命令の発行を停止し(ステップS5001)、決定された利用面を不揮発性メモリ106のメモリ領域及び面制御レジスタ110を制御用のメモリ空間としてアサインするようにCPU1041に通知する(ステップS5002)。さらに、面切替制御部114は、面制御レジスタ110を参照し、ソフトウェア起動確認フラグ1105が有効化されているか否かを判定する(ステップS5003)。   The surface switching control unit 114 stops issuing the CPU reset command output to the central processing unit 104 (step S5001), and controls the memory area and the surface control register 110 of the non-volatile memory 106 based on the determined usage surface. The CPU 1041 is notified to assign it as a memory space for use (step S5002). Further, the surface switching control unit 114 refers to the surface control register 110 and determines whether or not the software activation confirmation flag 1105 is enabled (step S5003).

具体的には、面切替制御部114は、周期的に、面制御レジスタ110のソフトウェア起動確認フラグ1105が「1」であるか否か判定する。面制御レジスタ110のソフトウェア起動確認フラグ1105が「1」である場合、面切替制御部114は、ソフトウェア起動確認フラグ1105が有効化されていると判定する。   Specifically, the surface switching control unit 114 periodically determines whether or not the software activation confirmation flag 1105 of the surface control register 110 is “1”. When the software activation confirmation flag 1105 of the surface control register 110 is “1”, the surface switching control unit 114 determines that the software activation confirmation flag 1105 is enabled.

ソフトウェア起動確認フラグ1105が有効化されている場合(ステップS5003がYES)、面切替制御部114は、不揮発性メモリ106にアクセスして、利用面の保護ビット1063を有効化し(ステップS5004)、また、利用面のタイムスタンプ1065を更新する(ステップS5005)。具体的には、以下のような処理が実行される。   If the software activation confirmation flag 1105 is activated (YES in step S5003), the surface switching control unit 114 accesses the nonvolatile memory 106 to activate the use surface protection bit 1063 (step S5004). The usage time stamp 1065 is updated (step S5005). Specifically, the following processing is executed.

面切替制御部114は、面管理テーブル113を参照して利用面に対応するエントリを検索し、検索されたエントリの不揮発性メモリ格納領域1132から利用面のアドレスを取得する。面切替制御部114は、取得されたアドレスに基づいて不揮発性メモリ106にアクセスし、利用面の保護ビット1063に「1」を設定する。これによって、利用面に格納された情報を障害ログとして保存することができる。また、ステップS5004及びステップS5005の処理後は、通信装置10の通常運用に移行する。   The surface switching control unit 114 searches the entry corresponding to the usage surface with reference to the surface management table 113, and acquires the address of the usage surface from the nonvolatile memory storage area 1132 of the searched entry. The surface switching control unit 114 accesses the nonvolatile memory 106 based on the acquired address, and sets “1” in the protection bit 1063 for the usage surface. As a result, information stored in the usage area can be saved as a failure log. In addition, after the processing in step S5004 and step S5005, the communication apparatus 10 is shifted to normal operation.

また、面切替制御部114は、アクセスした利用面のタイムスタンプ1065に所定のタイムスタンプを設定する。タイムスタンプ1065に設定される時刻は、利用面の保護ビット1063を有効化された時刻、及びソフトウェア正常起動確認処理を開始した時刻等が考えられる。なお、本実施例はタイムスタンプ1065に格納する時刻に限定されない。以上がステップS5004及びステップS5005の処理の説明である。   Further, the surface switching control unit 114 sets a predetermined time stamp in the time stamp 1065 of the accessed usage surface. The time set in the time stamp 1065 may be the time when the use-side protection bit 1063 is validated, the time when the software normal activation confirmation process is started, and the like. Note that this embodiment is not limited to the time stored in the time stamp 1065. The above is the description of the processing in steps S5004 and S5005.

ソフトウェア起動確認フラグ1105が無効化されている場合(ステップS5003がNO)、面切替制御部114は、ソフトウェア起動確認フラグ1105の監視を開始してから一定時間経過したか否かを判定する(ステップS5008)。   When the software activation confirmation flag 1105 is invalidated (NO in step S5003), the surface switching control unit 114 determines whether or not a predetermined time has elapsed since the monitoring of the software activation confirmation flag 1105 was started (step S5003). S5008).

ソフトウェア起動確認フラグ1105の監視を開始してから一定時間経過していない場合(ステップS5008がNO)、面切替制御部114は、ステップS5003に戻り、同様の処理を実行する。   If the predetermined time has not elapsed since the monitoring of the software activation confirmation flag 1105 was started (NO in step S5008), the surface switching control unit 114 returns to step S5003 and executes the same processing.

ソフトウェア起動確認フラグ1105の監視を開始してから一定時間経過した場合(ステップS5008がYES)、面切替制御部114は、障害発生として障害再起動処理を開始する。   If a certain time has elapsed since the monitoring of the software activation confirmation flag 1105 was started (YES in step S5008), the surface switching control unit 114 starts failure restart processing as a failure has occurred.

ステップS5005の処理後、通信装置10は通常運用の状態に移行する。通常運用の状態では、面切替制御部114は、CPU1041によって発行された再起動コマンドを検知したか否かを判定する(ステップS5006)。   After the process of step S5005, the communication apparatus 10 shifts to a normal operation state. In the normal operation state, the surface switching control unit 114 determines whether a restart command issued by the CPU 1041 has been detected (step S5006).

CPU1041によって発行された再起動コマンドを検知していない場合(ステップS5006がNO)、面切替制御部114は、障害の発生が検知されたか否かを判定する(ステップS5007)。障害発生の検知方法としては、例えば、OSがソフトウェア障害又はハードウェア障害を検知する方法や、再起動処理の失敗を検知する方法などが考えられる。   When the restart command issued by the CPU 1041 has not been detected (NO in step S5006), the surface switching control unit 114 determines whether or not a failure has been detected (step S5007). As a method for detecting the occurrence of a failure, for example, a method in which the OS detects a software failure or a hardware failure, a method in which a restart processing failure is detected, or the like can be considered.

障害の発生が検知されていない場合(ステップS5007がNO)、面切替制御部114は、ステップS5006に戻り同様の処理を実行する。一方、障害の発生が検知された場合(ステップS5007がYES)、面切替制御部114は、障害再起動処理を開始する。   When the occurrence of a failure is not detected (NO in step S5007), the surface switching control unit 114 returns to step S5006 and executes the same processing. On the other hand, when occurrence of a failure is detected (YES in step S5007), the surface switching control unit 114 starts a failure restart process.

ステップS5006において、CPU1041によって発行された再起動コマンドを検知した場合(ステップS5006がYES)、面切替制御部114は、利用面の保護ビット1063を無効化し(ステップS5009)、通常の再起動処理を開始する。   In step S5006, when a restart command issued by the CPU 1041 is detected (YES in step S5006), the surface switching control unit 114 invalidates the use surface protection bit 1063 (step S5009), and performs a normal restart process. Start.

具体的には、面切替制御部114は、面管理テーブル113を参照して面ID1131の値が変数WPの値と一致するエントリを検索し、検索されたエントリの不揮発性メモリ格納領域1132から利用面のアドレスを取得する。面切替制御部114は、取得されたアドレスに基づいて、不揮発性メモリ106の利用面にアクセスし、保護ビット1063に「0」を設定する。   Specifically, the surface switching control unit 114 searches the surface management table 113 for an entry whose surface ID 1131 matches the value of the variable WP, and uses the retrieved entry from the nonvolatile memory storage area 1132. Get the face address. The surface switching control unit 114 accesses the usage surface of the nonvolatile memory 106 based on the acquired address, and sets “0” in the protection bit 1063.

図12Aを用いて説明したように、障害再起動処理の場合、利用面の保護ビット1063は無効化されないため、利用面に格納される情報は初期化されず、障害ログとして保存される。   As described with reference to FIG. 12A, in the case of failure restart processing, since the usage protection bit 1063 is not invalidated, the information stored in the usage is not initialized but is saved as a failure log.

次に、図12Bを用いてCPU1041が実行する処理について説明する。   Next, processing executed by the CPU 1041 will be described with reference to FIG. 12B.

CPU1041は、面切替制御部114から発行されたCPUリセット命令の発行が停止されることによって、CPUリセットが解除されると(ステップS5101)、面切替制御部114から通知された不揮発性メモリ106のメモリ領域(利用面)をメモリ空間にアサインし(ステップS5102)、面制御レジスタ110をメモリ空間にアサインする(ステップS5103)。これによって、CPU1041は、不揮発性メモリ106の利用面及び面制御レジスタ110にアクセスできる。   When the CPU reset is released by stopping the issuance of the CPU reset command issued from the surface switching control unit 114 (step S5101), the CPU 1041 of the nonvolatile memory 106 notified from the surface switching control unit 114 The memory area (usage plane) is assigned to the memory space (step S5102), and the plane control register 110 is assigned to the memory space (step S5103). As a result, the CPU 1041 can access the usage plane and the plane control register 110 of the nonvolatile memory 106.

CPU1041は、デバイスを初期化し、また、診断する(ステップS5104)。このとき、CPU1041は、不揮発性メモリ106の利用面のメモリ領域のサイズ等を確認し、また、不揮発性メモリ106(利用面)を診断する。CPU1041は、Flashメモリ101からOSを実現するプログラムを読み出し、揮発性メモリ105にロードすることによって、OSを起動させる(ステップS5105)。これによって、通信装置10のソフトウェアが正常に起動する。CPU1041は、OSの起動後、面制御レジスタ110のソフトウェア起動確認フラグ1105を有効化する(ステップS5106)。   The CPU 1041 initializes and diagnoses the device (step S5104). At this time, the CPU 1041 confirms the size of the memory area on the usage surface of the nonvolatile memory 106 and diagnoses the nonvolatile memory 106 (use surface). The CPU 1041 reads out a program for realizing the OS from the flash memory 101 and loads the program into the volatile memory 105 to start the OS (step S5105). As a result, the software of the communication device 10 starts normally. The CPU 1041 validates the software activation confirmation flag 1105 of the surface control register 110 after the activation of the OS (step S5106).

具体的には、CPU1041は、メモリ空間にアサインされた面制御レジスタ110にアクセスし、面制御レジスタ110のソフトウェア起動確認フラグ1105に「1」を設定する。ステップS5106の処理後は、通信装置10の通常運用に移行する。   Specifically, the CPU 1041 accesses the surface control register 110 assigned to the memory space, and sets “1” in the software activation confirmation flag 1105 of the surface control register 110. After the processing in step S5106, the communication apparatus 10 is shifted to normal operation.

CPU1041は、再起動オペレーションを受け付けたか否かを判定する(ステップS5107)。例えば、管理者からの指示に起因する再起動オペレーション又は通信装置10の保守若しくはアップデートに起因する再起動オペレーションが考えられる。   The CPU 1041 determines whether a restart operation has been accepted (step S5107). For example, a restart operation caused by an instruction from the administrator or a restart operation caused by maintenance or update of the communication device 10 can be considered.

再起動オペレーションを受け付けていない場合(ステップS5107がNO)、CPU1041は、ステップS5107に戻り同様の処理を実行する。   If the restart operation has not been received (NO in step S5107), the CPU 1041 returns to step S5107 and executes the same processing.

再起動オペレーションを受け付けた場合(ステップS5107がYES)、CPU1041は、再起動コマンドを発行し(ステップS5108)、OS等のソフトウェアの起動処理が終了した後、ソフトウェア起動確認フラグ1105を無効化する(ステップS5109)。その後、通常の再起動処理が開始される。   When a restart operation is accepted (YES in step S5107), the CPU 1041 issues a restart command (step S5108), and after the startup processing of software such as the OS is completed, the software startup confirmation flag 1105 is invalidated ( Step S5109). Thereafter, a normal restart process is started.

なお、初期設定処理から、利用面決定処理のステップS2014において不揮発性メモリ106のライトポイント格納エリア1061の値が更新されるまでの間に、ハードウェア障害が発生した場合、又は不揮発性メモリ整合性確認処理の完了後にCPU1041によるステップS5104の診断結果が不正となった場合、障害再起動処理が繰り返し実行される。この場合、CPU1041等が、リブートカウンタ等を用いてリブート回数をカウントして通信装置10を停止させる方法が考えられる。   It should be noted that if a hardware failure occurs between the initial setting process and the value of the write point storage area 1061 of the nonvolatile memory 106 in step S2014 of the usage plane determination process, or nonvolatile memory consistency When the diagnosis result of step S5104 by the CPU 1041 becomes invalid after the confirmation process is completed, the failure restart process is repeatedly executed. In this case, a method in which the CPU 1041 or the like stops the communication apparatus 10 by counting the number of reboots using a reboot counter or the like can be considered.

ここで、通信装置10の通常運用時の動作について説明する。   Here, the operation of the communication device 10 during normal operation will be described.

中央演算処理部104は、入出力装置103より受け付けた管理者のオペレーションにしたがって、コンフィグ情報及び装置設定情報などの静的データ102を揮発性メモリ105に格納する。また、中央演算処理部104は、管理者からの保存オペレーションにしたがって、揮発性メモリ105から静的データ102の情報をFlashメモリ101にコピーする。   The central processing unit 104 stores static data 102 such as configuration information and device setting information in the volatile memory 105 in accordance with the administrator's operation received from the input / output device 103. Further, the central processing unit 104 copies information of the static data 102 from the volatile memory 105 to the flash memory 101 in accordance with a storage operation from the administrator.

中央演算処理部104は、通信装置10と隣接するネットワーク、すなわち、各ネットワークインタフェース205に接続される全てのネットワーク206のネットワークトポロジを把握するために、RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、及びGRP(Gateway Routing Protocol)等のルーティングプロトコルにしたがって繰り返し、例えば周期的に経路情報を収集する。   The central processing unit 104 grasps the network topology of all the networks 206 connected to the communication device 10, that is, each network interface 205, RIP (Routing Information Protocol), OSPF (Open Shortest Path). First, route information is collected periodically, for example, according to a routing protocol such as GRP (Gateway Routing Protocol).

中央演算処理部104は、収集した周辺の経路情報を用いた経路計算の結果に基づいて、パケットを転送するために必要な経路の追加、削除、変更等を求める。中央演算処理部104は、面制御デバイス109を経由して、経路情報における更新単位で動的データ107の情報を不揮発性メモリ106に書き込む。中央演算処理部104は、経路情報の更新を契機に、不揮発性メモリ106に格納された動的データ107の格納番地を転送デバイス108に通知する。   The central processing unit 104 determines addition, deletion, change, etc. of a route necessary for transferring a packet based on the result of route calculation using the collected peripheral route information. The central processing unit 104 writes the information of the dynamic data 107 in the nonvolatile memory 106 by the update unit in the route information via the surface control device 109. The central processing unit 104 notifies the transfer device 108 of the storage address of the dynamic data 107 stored in the nonvolatile memory 106 when the route information is updated.

転送デバイス108は、通知された不揮発性メモリ106の格納番地にアクセスして更新された動的データ107を読み出し、転送部200に含まれる転送デバイス201に更新された動的データ107を転送する。   The transfer device 108 accesses the notified storage address of the nonvolatile memory 106 to read the updated dynamic data 107, and transfers the updated dynamic data 107 to the transfer device 201 included in the transfer unit 200.

転送デバイス201は、転送デバイス108から更新された動的データ107を受信し、テーブルメモリ203へ更新された動的データ107を転送することによって経路情報を更新する。   The transfer device 201 receives the updated dynamic data 107 from the transfer device 108 and updates the path information by transferring the updated dynamic data 107 to the table memory 203.

転送エンジン204が各ネットワーク206に接続するネットワークインタフェース205を介してパケットを受信した場合、経路検索エンジン202は、テーブルメモリ203を参照して、受信した動的データ107が反映された経路情報に基づいてパケットの宛先を特定する。さらに、転送エンジン204は、経路検索エンジン202が特定した宛先の結果に基づいて、ネットワークインタフェース205を介してネットワーク206にパケットを転送する。   When the transfer engine 204 receives a packet via the network interface 205 connected to each network 206, the route search engine 202 refers to the table memory 203 based on the route information reflecting the received dynamic data 107. To identify the destination of the packet. Further, the transfer engine 204 transfers the packet to the network 206 via the network interface 205 based on the destination result specified by the route search engine 202.

受信したパケットの転送先が不明な場合、又は、受信したパケットが通信装置10宛のパケットの場合、受信したパケットは転送デバイス201及び転送デバイス108を経由して中央演算処理部104に送信され、中央演算処理部104によって所定の処理が実行される。   When the transfer destination of the received packet is unknown, or when the received packet is a packet addressed to the communication device 10, the received packet is transmitted to the central processing unit 104 via the transfer device 201 and the transfer device 108, The central processing unit 104 executes predetermined processing.

ここで、図13A、図13B、図13C及び図13Dを用いて、本実施例の面の設定方法及び更新方法について説明する。   Here, the surface setting method and the updating method of the present embodiment will be described with reference to FIGS. 13A, 13B, 13C, and 13D.

図13A、図13B、図13C及び図13Dは、実施例の通信装置10の不揮発性メモリ106内の面の設定方法及び更新方法の一例を示す説明図である。   13A, 13B, 13C, and 13D are explanatory diagrams illustrating an example of a method for setting and updating a surface in the nonvolatile memory 106 of the communication device 10 according to the embodiment.

なお、図13A、図13B、図13C及び図13Dでは、不揮発性メモリ106の実利用メモリ領域1067に3つの面が生成されるものとする。また、下の面の面ID1131は「1」、真ん中の面の面ID1131は「2」、上の面の面ID1131は「3」であるものとする。また、3つの面の故障フラグ1134の値は「0」であるものとする。また、タイムスタンプの時系列は「A:A:A」、「B:B:B」、「C:C:C」及び「D:D:D」の順に古いものとする。   13A, 13B, 13C, and 13D, it is assumed that three surfaces are generated in the actual use memory area 1067 of the nonvolatile memory 106. The surface ID 1131 of the lower surface is “1”, the surface ID 1131 of the middle surface is “2”, and the surface ID 1131 of the upper surface is “3”. In addition, it is assumed that the values of the failure flags 1134 of the three surfaces are “0”. The time series of the time stamps are assumed to be older in the order of “A: A: A”, “B: B: B”, “C: C: C”, and “D: D: D”.

図13Aについて説明する。通信装置10の通常の起動処理が開始した場合、面切替制御部114は、実利用メモリ領域1067を初期化し、また、不揮発性メモリ初期化パスフラグ1066を無効化し、ライトポイント格納エリア1061に初期値を設定する(ステップS1005)。面切替制御部114は、最大面数を「3」と算出し(ステップS1007)、実利用メモリ領域1067を3つに分割する(ステップS1008)。このとき、面の状態は状態1のようになる。   FIG. 13A will be described. When the normal activation process of the communication apparatus 10 is started, the surface switching control unit 114 initializes the actual use memory area 1067, invalidates the nonvolatile memory initialization pass flag 1066, and sets an initial value in the light point storage area 1061. Is set (step S1005). The surface switching control unit 114 calculates the maximum number of surfaces as “3” (step S1007), and divides the actual use memory area 1067 into three (step S1008). At this time, the state of the surface is as in state 1.

面切替制御部114は、面制御レジスタ110のマジックナンバ1104の値を読み出し(ステップS1009)、不揮発性メモリ106の各面のマジックナンバ1064に読み出された値を設定する(ステップS1010)。これによって、面の状態は状態1から状態2に遷移する。   The surface switching control unit 114 reads the value of the magic number 1104 of the surface control register 110 (step S1009), and sets the read value to the magic number 1064 of each surface of the nonvolatile memory 106 (step S1010). As a result, the surface state transitions from state 1 to state 2.

面切替制御部114は、ライトポイント格納エリア1061に格納される値「1」を変数WPとして保持する(ステップS2001)。また、面切替制御部114は、下の面の保護ビット1063Aが有効化されているか否かを判定する(ステップS2004)。   The surface switching control unit 114 holds the value “1” stored in the light point storage area 1061 as the variable WP (step S2001). Further, the surface switching control unit 114 determines whether or not the protection bit 1063A for the lower surface is enabled (step S2004).

面切替制御部114は、下の面の保護ビット1063Aは無効化されていると判定し(ステップS2004がNO)、下の面について不揮発性メモリ整合性確認処理を実行する(ステップS400)。下の面の故障フラグ1134は無効化されているため、面切替制御部114は、正常完了であると判定する(ステップS2005がYES)。   The surface switching control unit 114 determines that the protection bit 1063A on the lower surface has been invalidated (NO in step S2004), and executes a nonvolatile memory consistency check process for the lower surface (step S400). Since the failure flag 1134 on the lower surface is invalidated, the surface switching control unit 114 determines that the normal completion has been completed (YES in step S2005).

面切替制御部114は、下の面を利用面として決定して、当該利用面を初期化する(ステップS2008)。面切替制御部114は、ライトポイント格納エリア1061に「2」を書き込む(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、下の面の保護ビット1063Aを有効化し(ステップS5004)、タイムスタンプ1065Aを更新する(ステップS5005)。   The surface switching control unit 114 determines the lower surface as the usage surface and initializes the usage surface (step S2008). The surface switching control unit 114 writes “2” in the light point storage area 1061 (step S2009). In the normal software activation confirmation process, the surface switching control unit 114 validates the protection bit 1063A for the lower surface (step S5004) and updates the time stamp 1065A (step S5005).

CPU1041は、下の面をメモリ空間にアサインし(ステップS5102)、下の面に動的データ107を格納する。以上の処理によって、面の状態は状態2から状態3に遷移する。   The CPU 1041 assigns the lower surface to the memory space (step S5102), and stores the dynamic data 107 on the lower surface. With the above processing, the surface state transitions from state 2 to state 3.

このようにして、面制御デバイス109は、不揮発性メモリ106の一部のメモリ領域(面)をCPU1041が利用するメモリ領域として提供することができる。   In this way, the surface control device 109 can provide a part of the memory area (surface) of the nonvolatile memory 106 as a memory area used by the CPU 1041.

次に、図13Bについて説明する。図13Bの下の面のデータエリア1062Aにはデータが格納され、かつ、保護ビット1063Aは「0」であり、また、真ん中の面のデータエリア1062Bにはデータが格納され、かつ、保護ビット1063Bが「1」である。そのため、通常の起動処理の実行後に、通常の再起動処理が1回行われ、現在真ん中の面が利用面であることを示す。このとき、ライトポイント格納エリア1061には「3」が格納される。   Next, FIG. 13B will be described. Data is stored in the data area 1062A on the lower side of FIG. 13B and the protection bit 1063A is “0”, and data is stored in the data area 1062B on the middle side and the protection bit 1063B. Is “1”. Therefore, after executing the normal startup process, the normal restart process is performed once, indicating that the current middle plane is the usage plane. At this time, “3” is stored in the light point storage area 1061.

真ん中の面を利用しているときに通常の再起動処理が開始される場合、面切替制御部114は、真ん中の面の保護ビット1063Bを「1」から「0」に変更し(ステップS5009)、さらに、ライトポイント格納エリア1061に格納される「3」を変数WPとして保持する(ステップS2001)。面切替制御部114は、上の面の保護ビット1063Cが有効化されているかを判定する(ステップS2004)。   When the normal restart process is started when using the middle surface, the surface switching control unit 114 changes the protection bit 1063B of the middle surface from “1” to “0” (step S5009). Furthermore, “3” stored in the light point storage area 1061 is held as a variable WP (step S2001). The surface switching control unit 114 determines whether the protection bit 1063C for the upper surface is enabled (step S2004).

面切替制御部114は、上の面の保護ビット1063Cは無効化されていると判定し(ステップS2004がNO)、上の面について不揮発性メモリ整合性確認処理を実行する(ステップS400)。上の面の故障フラグ1134は無効化されているため、面切替制御部114は、正常完了であると判定する(ステップS2005がYES)。   The surface switching control unit 114 determines that the protection bit 1063C for the upper surface has been invalidated (NO in step S2004), and executes a nonvolatile memory consistency check process for the upper surface (step S400). Since the failure flag 1134 for the upper surface is invalidated, the surface switching control unit 114 determines that the operation has been completed normally (YES in step S2005).

したがって、面切替制御部114は、上の面を利用面として決定して、当該利用面を初期化する(ステップS2008)。面切替制御部114は、ライトポイント格納エリア1061に「1」を書き込む(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、上の面の保護ビット1063Cを有効化し(ステップS5004)、タイムスタンプ1065Cを更新する(ステップS5005)。   Therefore, the surface switching control unit 114 determines the upper surface as the usage surface and initializes the usage surface (step S2008). The surface switching control unit 114 writes “1” in the light point storage area 1061 (step S2009). In the normal software activation confirmation process, the surface switching control unit 114 validates the upper surface protection bit 1063C (step S5004) and updates the time stamp 1065C (step S5005).

CPU1041は、上の面をメモリ空間にアサインし(ステップS5102)、上の面に動的データ107を格納する。以上の処理によって、面の状態は状態1から状態2に遷移する。   The CPU 1041 assigns the upper surface to the memory space (step S5102), and stores the dynamic data 107 on the upper surface. With the above processing, the surface state transitions from state 1 to state 2.

その後、再び通常の再起動処理が開始される場合、面切替制御部114は、上の面の保護ビット1063Cを無効化し(ステップS5009)、前述した処理と同様の処理を実行する。これによって、下の面が初期化され(ステップS2008)、ライトポイント格納エリア1061に「2」が格納される(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、下の面の保護ビット1063Aを有効化し(ステップS5004)、タイムスタンプ1065Aを更新する(ステップS5005)。また、CPU1041は、下の面をメモリ空間にアサインし(ステップS5102)、下の面に動的データ107を格納する。以上の処理によって、面の状態は状態2から状態3に遷移する。   Thereafter, when normal restart processing is started again, the surface switching control unit 114 invalidates the protection bit 1063C for the upper surface (step S5009), and executes the same processing as described above. As a result, the lower surface is initialized (step S2008), and “2” is stored in the light point storage area 1061 (step S2009). In the normal software activation confirmation process, the surface switching control unit 114 validates the protection bit 1063A for the lower surface (step S5004) and updates the time stamp 1065A (step S5005). The CPU 1041 assigns the lower surface to the memory space (step S5102), and stores the dynamic data 107 on the lower surface. With the above processing, the surface state transitions from state 2 to state 3.

このようにして、本実施例では不揮発性メモリ106の面にリングバッファ形式で情報が上書きされる。また、再起動処理に伴って、利用面が切り替えられる。   In this manner, in this embodiment, information is overwritten in the ring buffer format on the surface of the nonvolatile memory 106. In addition, the usage surface is switched along with the restart process.

次に、図13Cについて説明する。図13Cの下の面及び真ん中の面のデータエリア1062A、Bにはデータが格納され、かつ、保護ビット1063A、Bは「1」である。そのため、障害再起動処理が1回行われ、現在真ん中の面が利用面であることを示す。このとき、ライトポイント格納エリア1061には「3」が格納される。   Next, FIG. 13C will be described. Data is stored in the data areas 1062A and 106B on the lower surface and the middle surface in FIG. 13C, and the protection bits 1063A and B are “1”. For this reason, the failure restart process is performed once, indicating that the current middle surface is a usage surface. At this time, “3” is stored in the light point storage area 1061.

真ん中の面を利用しているときに通常の再起動処理が開始される場合、面切替制御部114は、図13Bと同様の処理を実行することによって、真ん中の面の保護ビット1063Bを無効化する(ステップS5009)。また、面切替制御部114は、上の面を初期化し(ステップS2008)、ライトポイント格納エリア1061に「1」を格納する(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、上の面の保護ビット1063Cを有効化し(ステップS5004)、タイムスタンプ1065Cを更新する(ステップS5005)。また、CPU1041は、上の面をメモリ空間にアサインし(ステップS5102)、上の面に動的データ107を格納する。以上の処理によって、面の状態は状態1から状態2に遷移する。   When the normal restart process is started when the middle plane is used, the plane switching control unit 114 invalidates the protection bit 1063B of the middle plane by executing the same process as in FIG. 13B. (Step S5009). Further, the surface switching control unit 114 initializes the upper surface (step S2008), and stores “1” in the light point storage area 1061 (step S2009). In the normal software activation confirmation process, the surface switching control unit 114 validates the upper surface protection bit 1063C (step S5004) and updates the time stamp 1065C (step S5005). The CPU 1041 assigns the upper surface to the memory space (step S5102), and stores the dynamic data 107 on the upper surface. With the above processing, the surface state transitions from state 1 to state 2.

その後、再び通常の再起動処理が開始される場合、面切替制御部114は、上の面の保護ビット1063Cを無効化する(ステップS5009)。面切替制御部114は、下の面の保護ビット1063Aの値を読み出し(ステップS2003)、下の面の保護ビット1063Aが有効化されていると判定する(ステップS2004がYES)。そこで、面切替制御部114は、利用可能な全ての面として真ん中の面及び上の面の保護ビット1063B、Cの値を読み出す(ステップS2006)。   Thereafter, when normal restart processing is started again, the surface switching control unit 114 invalidates the protection bit 1063C for the upper surface (step S5009). The surface switching control unit 114 reads the value of the protection bit 1063A for the lower surface (step S2003), and determines that the protection bit 1063A for the lower surface is enabled (YES in step S2004). Therefore, the surface switching control unit 114 reads the values of the protection bits 1063B and C of the middle surface and the upper surface as all available surfaces (step S2006).

少なくとも一つの利用可能な面の保護ビット1063が無効化されているため(ステップS2007がNO)、面切替制御部114は、変数WPの値を「2」に更新する(ステップS2011)。真ん中の面の保護ビット1063Bが無効化されているため(ステップS2004がNO)、面切替制御部114は、真ん中の面について不揮発性メモリ整合性確認処理を実行する(ステップS400)。真ん中の面の故障フラグ1134は無効化されており、面切替制御部114は、マジックナンバの整合性を確認し、正常完了と判定する(ステップS2005がYES)。   Since at least one usable surface protection bit 1063 is invalidated (NO in step S2007), the surface switching control unit 114 updates the value of the variable WP to “2” (step S2011). Since the protection bit 1063B for the middle surface is invalidated (NO in step S2004), the surface switching control unit 114 executes a nonvolatile memory consistency check process for the middle surface (step S400). The failure flag 1134 of the middle surface is invalidated, and the surface switching control unit 114 confirms the consistency of the magic number and determines that it is normally completed (YES in step S2005).

面切替制御部114は、真ん中の面を利用面として決定して、当該利用面を初期化する(ステップS2008)。面切替制御部114は、ライトポイント格納エリア1061に「3」を書き込む(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、真ん中の面の保護ビット1063Bを有効化し(ステップS5004)、タイムスタンプ1065Bを更新する(ステップS5005)。また、CPU1041は、真ん中の面をメモリ空間にアサインし(ステップS5104)、真ん中の面に動的データ107を格納する。以上の処理によって、面の状態は状態2から状態3に遷移する。   The surface switching control unit 114 determines the middle surface as the usage surface and initializes the usage surface (step S2008). The surface switching control unit 114 writes “3” in the light point storage area 1061 (step S2009). Further, in the software normal activation confirmation process, the surface switching control unit 114 validates the protection bit 1063B of the middle surface (step S5004), and updates the time stamp 1065B (step S5005). Further, the CPU 1041 assigns the middle surface to the memory space (step S5104), and stores the dynamic data 107 in the middle surface. With the above processing, the surface state transitions from state 2 to state 3.

このように、本実施例では、不揮発性メモリ106の面にリングバッファ形式で情報を上書きする場合、障害ログとして保存する面については情報が上書きされないように制御される。   As described above, in this embodiment, when information is overwritten in the ring buffer format on the surface of the nonvolatile memory 106, control is performed so that information is not overwritten on the surface to be stored as a failure log.

次に、図13Dについて説明する。図13Dの下の面及び真ん中の面のデータエリア1062A、Bにはデータが格納され、かつ、保護ビット1063A、Bは「1」である。そのため、障害再起動処理が1回行われ、現在真ん中の面が利用面であることを示す。このとき、ライトポイント格納エリア1061には「3」が格納される。   Next, FIG. 13D will be described. Data is stored in the data areas 1062A and B in the lower surface and the middle surface in FIG. 13D, and the protection bits 1063A and B are “1”. For this reason, the failure restart process is performed once, indicating that the current middle surface is a usage surface. At this time, “3” is stored in the light point storage area 1061.

真ん中の面を利用しているときに障害発生に起因する再起動が発生した場合、面切替制御部114は、図13Bと同様の処理を実行することによって、上の面を初期化し(ステップS2008)、ライトポイント格納エリア1061に「1」を格納する(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、上の面の保護ビット1063Cを有効化する(ステップS5004)。また、面切替制御部114は、タイムスタンプ1065Cを更新する(ステップS5005)。このとき、真ん中の面の保護ビット1063Bは無効化されない。   If a restart due to the occurrence of a failure occurs while using the middle surface, the surface switching control unit 114 initializes the upper surface by executing the same processing as in FIG. 13B (step S2008). ), “1” is stored in the light point storage area 1061 (step S2009). In the normal software activation confirmation process, the surface switching control unit 114 validates the protection bit 1063C for the upper surface (step S5004). Further, the surface switching control unit 114 updates the time stamp 1065C (step S5005). At this time, the protection bit 1063B of the middle surface is not invalidated.

また、CPU1041は、上の面をメモリ空間にアサインし(ステップS5104)、上の面に動的データ107を格納する。以上の処理によって、面の状態は状態1から状態2に遷移する。   The CPU 1041 assigns the upper surface to the memory space (step S5104), and stores the dynamic data 107 on the upper surface. With the above processing, the surface state transitions from state 1 to state 2.

その後、再び障害再起動処理が開始される場合、面切替制御部114は、下の面の保護ビット1063Aの値を読み出し(ステップS2003)、下の面の保護ビット1063Aが有効化されていると判定する(ステップS2004がYES)。このとき、上の面の保護ビット1063Cは無効化されない。   Thereafter, when the failure restart process is started again, the surface switching control unit 114 reads the value of the protection bit 1063A for the lower surface (step S2003), and the protection bit 1063A for the lower surface is enabled. Determination is made (step S2004 is YES). At this time, the protection bit 1063C on the upper surface is not invalidated.

面切替制御部114は、利用可能な全ての面として真ん中の面及び上の面の保護ビット1063B、Cの値を読み出す(ステップS2006)。面切替制御部114は、利用可能な全ての面に保護ビット1063B、Cが有効化されていると判定し(ステップS2007がYES)、ログ更新面選択処理を実行する(ステップS300)。   The surface switching control unit 114 reads out the values of the protection bits 1063B and C of the middle surface and the upper surface as all available surfaces (step S2006). The surface switching control unit 114 determines that the protection bits 1063B and C are valid for all available surfaces (YES in step S2007), and executes log update surface selection processing (step S300).

面切替制御部114は、ログ更新面選択処理において、最も古い障害ログを格納する面として下の面を特定し(ステップS3003)、下の面を除く、上の面及び真ん中の面を利用可能な面として抽出する(ステップS3005)。面切替制御部114は、1番目にタイムスタンプが古い面、すなわち、真ん中の面を選択し(ステップS3006)、真ん中の面について不揮発性メモリ整合性確認処理を実行する(ステップS400)。真ん中の面の故障フラグ1134は無効化されており、面切替制御部114は、マジックナンバの整合性を確認し、正常完了と判定する(ステップS3007がYES)。   In the log update surface selection process, the surface switching control unit 114 specifies the lower surface as the surface for storing the oldest failure log (step S3003), and can use the upper surface and the middle surface except the lower surface. It is extracted as a correct surface (step S3005). The surface switching control unit 114 selects the surface having the oldest time stamp, that is, the middle surface (step S3006), and executes the nonvolatile memory consistency check process for the middle surface (step S400). The failure flag 1134 for the middle surface is invalidated, and the surface switching control unit 114 confirms the consistency of the magic number and determines that it is normally completed (YES in step S3007).

面切替制御部114は、真ん中の面の保護ビット1063Bを無効化し(ステップS3008)、変数WPの値として「2」を設定する(ステップS3009)。面切替制御部114は、真ん中の面を利用面として決定して、当該利用面を初期化する(ステップS2008)。面切替制御部114は、ライトポイント格納エリア1061に「3」を書き込む(ステップS2009)。また、ソフトウェア正常起動確認処理において、面切替制御部114は、真ん中の面の保護ビット1063Bを有効化する(ステップS5004)。また、面切替制御部114は、タイムスタンプ1065Bを更新する(ステップS5005)。   The surface switching control unit 114 invalidates the protection bit 1063B of the middle surface (step S3008), and sets “2” as the value of the variable WP (step S3009). The surface switching control unit 114 determines the middle surface as the usage surface and initializes the usage surface (step S2008). The surface switching control unit 114 writes “3” in the light point storage area 1061 (step S2009). In the normal software activation confirmation process, the surface switching control unit 114 validates the protection bit 1063B for the middle surface (step S5004). Further, the surface switching control unit 114 updates the time stamp 1065B (step S5005).

また、CPU1041は、真ん中の面をメモリ空間にアサインし(ステップS5104)、真ん中の面に動的データ107を格納する。以上の処理によって、面の状態が状態2から状態3に遷移する。   Further, the CPU 1041 assigns the middle surface to the memory space (step S5104), and stores the dynamic data 107 in the middle surface. With the above processing, the surface state transitions from state 2 to state 3.

このように、本実施例では不揮発性メモリ106の全ての面の保護ビット1063が有効化されている場合、所定の制御ポリシに基づいて、障害ログとして保存する面が決定され、また、利用面が決定される。本実施例では、通信装置10が起動を開始してから最初に発生した障害に関する障害ログ(最も古い障害ログ)、及び最新の障害ログが不揮発性メモリ106に保存されるように制御される。   As described above, in this embodiment, when the protection bits 1063 of all the surfaces of the nonvolatile memory 106 are enabled, the surface to be saved as the failure log is determined based on the predetermined control policy, and the usage surface Is determined. In the present embodiment, control is performed so that the failure log (the oldest failure log) related to the first failure that has occurred since the communication device 10 started up is stored in the nonvolatile memory 106.

次に、障害ログの取得処理について説明する。   Next, failure log acquisition processing will be described.

図14は、実施例の通信装置10が実行する障害ログの取得処理の一例を説明するフローチャートである。   FIG. 14 is a flowchart illustrating an example of a failure log acquisition process executed by the communication apparatus 10 according to the embodiment.

障害ログは通信装置10に障害が発生した後に取得されるものであり、障害ログの取得方法には以下のようなものがある。一つの方法は、通信装置10の再起動処理によってソフトウェアの起動が完了し、通信装置10が通常運用に移行した後に、管理者等がコマンドを入力することによって障害ログを取得する方法である。もう一つの方法は、通信装置10の再起動処理でもソフトウェアの起動ができない場合、ソフトウェア起動を中断して、通信装置10を停止し、通信装置10から障害ログが格納された不揮発性メモリ106を回収する方法である。   The failure log is acquired after a failure has occurred in the communication device 10, and the failure log acquisition method includes the following. One method is a method of acquiring a failure log by inputting a command by an administrator or the like after the activation of software is completed by restart processing of the communication device 10 and the communication device 10 shifts to normal operation. In another method, when the software cannot be started even by the restart process of the communication device 10, the software activation is interrupted, the communication device 10 is stopped, and the nonvolatile memory 106 in which the failure log is stored from the communication device 10 is stored. It is a method to collect.

通信装置10に障害が発生した後に、以下で説明する処理が実行される。   After a failure has occurred in the communication device 10, processing described below is executed.

CPU1041は、ステップS5105におけるOSの起動処理(再起動処理)と平行して以下で説明する処理を開始する(ステップS6001)。まず、CPU1041は、ソフトウェア起動確認フラグ1105が有効化されているか否かを判定する(ステップS6002)。   The CPU 1041 starts processing described below in parallel with the OS startup processing (restart processing) in step S5105 (step S6001). First, the CPU 1041 determines whether or not the software activation confirmation flag 1105 is activated (step S6002).

具体的には、CPU1041は、制御バス112を介して面切替制御部114に面制御レジスタ110のソフトウェア起動確認フラグ1105の値の読み出しを指示することによって、ソフトウェア起動確認フラグ1105の値を取得する。CPU1041は、ソフトウェア起動確認フラグ1105の値が「1」であるか否かを判定する。ソフトウェア起動確認フラグ1105の値が「1」の場合、ソフトウェア起動確認フラグ1105が有効化されていると判定する。   Specifically, the CPU 1041 acquires the value of the software activation confirmation flag 1105 by instructing the surface switching control unit 114 to read the value of the software activation confirmation flag 1105 of the surface control register 110 via the control bus 112. . The CPU 1041 determines whether or not the value of the software activation confirmation flag 1105 is “1”. When the value of the software activation confirmation flag 1105 is “1”, it is determined that the software activation confirmation flag 1105 is enabled.

ソフトウェア起動確認フラグ1105が有効化されている場合(ステップS6002がYES)、CPU1041は、管理者によって入出力装置103を介して入力された障害ログの取得コマンドを受け付け(ステップS6003)、障害ログを取得する面の面選択フラグ1106を有効化する(ステップS6004)。取得コマンドは様々な形式が考えられる。例えば、障害ログを取得する面の識別番号を含むコマンド、現在の利用面以外の面の中から保護ビット1063が有効化されている面を指定するコマンド等が考えられる。   When the software activation confirmation flag 1105 is validated (YES in step S6002), the CPU 1041 accepts a failure log acquisition command input by the administrator via the input / output device 103 (step S6003), and stores the failure log. The surface selection flag 1106 of the surface to be acquired is validated (step S6004). There are various types of acquisition commands. For example, a command including an identification number of a surface from which a failure log is acquired, a command for designating a surface for which the protection bit 1063 is activated from surfaces other than the current usage surface, and the like can be considered.

具体的には、CPU1041は、入力された取得コマンドに基づいて障害ログを取得する面を特定する。CPU1041は、面制御レジスタ110にアクセスし、特定された面に対応する面選択フラグ1106に「1」を設定する。なお、CPU1041は、面に格納される障害ログを参照するために、制御バス112経由で面選択フラグ1106を操作する。   Specifically, the CPU 1041 specifies a surface from which a failure log is acquired based on the input acquisition command. The CPU 1041 accesses the surface control register 110 and sets “1” to the surface selection flag 1106 corresponding to the specified surface. Note that the CPU 1041 operates the surface selection flag 1106 via the control bus 112 in order to refer to the failure log stored in the surface.

なお、受け付けたコマンドが現在の利用面以外の面のうち保護ビット1063が有効化されている面を指定するコマンドの場合、CPU1041は、面制御デバイス109に当該条件を満たす面の検索処理を依頼する。これによって、CPU1041は、障害ログを取得する面を特定できる。   If the received command is a command for designating a surface for which the protection bit 1063 is valid among the surfaces other than the current usage surface, the CPU 1041 requests the surface control device 109 to search for a surface satisfying the condition. To do. As a result, the CPU 1041 can specify the surface from which the failure log is acquired.

なお、CPU1041は、制御バス112を介して、不揮発性メモリ106から障害ログを取得する。そのため、利用面に格納されるデータが利用されていないときに、不揮発性メモリ106の所定の面から障害ログを読み出す必要がある。   Note that the CPU 1041 acquires a failure log from the nonvolatile memory 106 via the control bus 112. Therefore, it is necessary to read out the failure log from a predetermined surface of the nonvolatile memory 106 when the data stored in the usage surface is not used.

面切替制御部114は、面選択フラグ1106の状態を監視し、CPU1041によって面選択フラグ1106が操作されたことを検知した場合、面管理テーブル113を参照して、操作された面選択フラグ1106に対応する面のアドレスを取得する(ステップS6005)。面切替制御部114は、取得されたアドレスに基づいて、障害ログを取得する面へのアクセス設定を行う(ステップS6006)。   The surface switching control unit 114 monitors the state of the surface selection flag 1106, and when detecting that the surface selection flag 1106 has been operated by the CPU 1041, refers to the surface management table 113 and sets the operated surface selection flag 1106. The address of the corresponding surface is acquired (step S6005). The surface switching control unit 114 performs access setting for the surface from which the failure log is acquired based on the acquired address (step S6006).

具体的には、面切替制御部114は、面ID1131が面選択フラグ1106に示す面の識別番号と一致するエントリを検索し、検索されたエントリの不揮発性メモリ格納領域1132から障害ログを取得する面のアドレスを取得する。また、面切替制御部114は、アドレスに対応するメモリ領域(面)をCPU1041のメモリ領域にアサインすることによって障害ログを取得する面へのアクセス設定を行う。このとき、面切替制御部114は、当該面からのデータの読み出しのみを許可するように設定してもよい。これによって、CPU1041は、制御バス112を介してアサインされた面から障害ログを取得できる。   Specifically, the surface switching control unit 114 searches for an entry whose surface ID 1131 matches the surface identification number indicated by the surface selection flag 1106, and acquires a failure log from the nonvolatile memory storage area 1132 of the searched entry. Get the face address. Further, the surface switching control unit 114 assigns a memory area (surface) corresponding to the address to the memory area of the CPU 1041, thereby performing access setting to the surface from which the failure log is acquired. At this time, the surface switching control unit 114 may be set to permit only reading of data from the surface. As a result, the CPU 1041 can acquire the failure log from the surface assigned via the control bus 112.

面切替制御部114は、メモリバス111及び制御バス112のそれぞれを介した、不揮発性メモリ106に対するアクセスの調停処理を実行する(ステップS6007)。当該調停処理では、面切替制御部114は、メモリバス111を介した不揮発性メモリ106へのアクセス中に、制御バス112を介した不揮発性メモリ106へのアクセス、すなわち、障害ログの取得が行われないように制御する。   The surface switching control unit 114 executes an arbitration process for access to the nonvolatile memory 106 via each of the memory bus 111 and the control bus 112 (step S6007). In the arbitration process, the surface switching control unit 114 performs access to the nonvolatile memory 106 via the control bus 112, that is, acquisition of a failure log while accessing the nonvolatile memory 106 via the memory bus 111. Control so as not to break.

CPU1041は、管理者から保守用Flashメモリ118への障害ログのコピーを指示するコマンドを受け付けた場合、障害ログを保守用Flashメモリ118にコピーする(ステップS6008)。   When the CPU 1041 receives a command for instructing copying of the failure log to the maintenance flash memory 118 from the administrator, the CPU 1041 copies the failure log to the maintenance flash memory 118 (step S6008).

具体的には、CPU1041は、制御バス112を介して面から読み出された障害ログを保守用Flashメモリ118に格納する。   Specifically, the CPU 1041 stores the failure log read from the surface via the control bus 112 in the maintenance flash memory 118.

面切替制御部114は、障害ログが取得された面に対応する面選択フラグ1106を無効化し(ステップS6009)、また、当該面の保護ビット1063を無効化する(ステップS6010)。その後、通信装置10は障害ログの取得処理を終了する。   The surface switching control unit 114 invalidates the surface selection flag 1106 corresponding to the surface for which the failure log is acquired (step S6009), and invalidates the protection bit 1063 for the surface (step S6010). Thereafter, the communication device 10 ends the failure log acquisition process.

具体的には、面切替制御部114は、面制御レジスタ110を参照して、障害ログが取得された面の面選択フラグ1106に「0」を設定し、また、不揮発性メモリ106の当該面の保護ビット1063に「0」を設定する。   Specifically, the surface switching control unit 114 refers to the surface control register 110 and sets “0” to the surface selection flag 1106 of the surface from which the failure log is acquired, and the surface of the nonvolatile memory 106 “0” is set in the protection bit 1063 of the above.

ステップS6002において、ソフトウェア起動確認フラグ1105が無効化されている場合(ステップS6002がNO)、CPU1041は、再起動の回数が所定の閾値以上であるか否かを判定する(ステップS6011)。例えば、リブートカウンタを用いる方法が考えられる。   In step S6002, when the software activation confirmation flag 1105 is invalidated (NO in step S6002), the CPU 1041 determines whether or not the number of restarts is equal to or greater than a predetermined threshold (step S6011). For example, a method using a reboot counter can be considered.

再起動の回数が所定の閾値より小さい場合(ステップS6011がNO)、通信装置10は、ステップS6001に戻り同様の処理を実行する。   When the number of restarts is smaller than the predetermined threshold (NO in step S6011), the communication device 10 returns to step S6001 and executes the same process.

再起動の回数が所定の閾値以上の場合(ステップS6011がYES)、CPU1041は、入出力装置103を介して管理者に再起動ができない旨を通知する(ステップS6012)。その後、CPU1041は、通信装置10を停止させる。このとき、管理者は、通信装置10からの通知を受信した場合、通信装置10の停止を確認し、通信装置10から不揮発性メモリ106を取り外す。   If the number of restarts is equal to or greater than the predetermined threshold (YES in step S6011), the CPU 1041 notifies the administrator that the restart cannot be performed via the input / output device 103 (step S6012). Thereafter, the CPU 1041 stops the communication device 10. At this time, when receiving a notification from the communication device 10, the administrator confirms the stop of the communication device 10 and removes the nonvolatile memory 106 from the communication device 10.

前述したように、面切替制御部114が実行する調停処理等によって、管理者は障害ログを取得するタイミングを意識することなく、不揮発性メモリ106から障害ログを読み出すことができる。また、ステップS2010において、現在の利用面に対する面選択フラグ1106の操作は禁止されているため、障害ログの取得処理においてCPU1041が誤って現在の利用面から障害ログを取得することを防止できる。   As described above, the administrator can read out the failure log from the nonvolatile memory 106 without being aware of the timing of acquiring the failure log by the arbitration process or the like executed by the surface switching control unit 114. In step S2010, since the operation of the surface selection flag 1106 for the current usage surface is prohibited, the CPU 1041 can be prevented from erroneously acquiring the failure log from the current usage surface in the failure log acquisition process.

従来は以下のような問題があった。   Conventionally, there are the following problems.

特許文献1に記載の伝送装置は、ハードウェア障害が発生した場合、適切なログを不揮発性メモリに保存することが困難である。また、特許文献1に記載の伝送装置は、動的データを不揮発性メモリに格納する場合、ループバッファ方式でログを管理する。そのため、不揮発性メモリの容量が不足している場合、ログの取得を開始してから初めて発生した障害の障害情報が新たなデータに上書きされる。したがって、障害解析に必要な情報をログとして残すことができない。特許文献1に記載されているように、一度発生した障害は何度も発生する可能性があるため、初めて発生した障害の障害情報は、障害解析において重要な情報となる。   In the transmission device described in Patent Document 1, it is difficult to save an appropriate log in a nonvolatile memory when a hardware failure occurs. Moreover, the transmission apparatus described in Patent Document 1 manages logs in a loop buffer method when storing dynamic data in a nonvolatile memory. For this reason, when the capacity of the nonvolatile memory is insufficient, the failure information of the failure that has occurred for the first time after the start of log acquisition is overwritten with new data. Therefore, information necessary for failure analysis cannot be left as a log. As described in Patent Document 1, since a failure that has occurred once may occur many times, the failure information of a failure that has occurred for the first time becomes important information in failure analysis.

また、特許文献1に記載の伝送装置は、ソフトウェア障害が発生した場合、一般的な通信装置と同様にダンプ処理が実行される。ダンプ処理が終了した後に伝送装置が再起動するため、早期の復旧が困難である。   Further, in the transmission device described in Patent Document 1, when a software failure occurs, dump processing is executed in the same manner as a general communication device. Since the transmission apparatus is restarted after the dump process is completed, early recovery is difficult.

また、特許文献1に記載の伝送装置は、不揮発性メモリに格納する情報を抽出するための定義情報を予め設定する必要があるため、管理コストが増大する。さらに、特許文献1に記載の伝送装置は、ログの保存にのみ使用する揮発性メモリ及び不揮発性メモリが必要となるため、装置のコストが増大する。   In addition, since the transmission apparatus described in Patent Literature 1 needs to set in advance definition information for extracting information stored in the nonvolatile memory, the management cost increases. Furthermore, since the transmission apparatus described in Patent Document 1 requires a volatile memory and a non-volatile memory that are used only for log storage, the cost of the apparatus increases.

図1から図14を用いて説明したように、本実施例によれば、通信装置10は、不揮発性メモリを複数の面に分け、所定の制御ポリシにしたがって障害ログとして残す面の保護ビット1063を有効化することによって、障害解析に必要な障害ログを不揮発性メモリに残すことができる。これによって、1次障害及び2次障害の問題の切り分け等の障害解析に役立てることができる。   As described with reference to FIGS. 1 to 14, according to the present embodiment, the communication device 10 divides the nonvolatile memory into a plurality of surfaces, and protects the bits 1063 that are left as a failure log according to a predetermined control policy. By enabling, a failure log necessary for failure analysis can be left in the nonvolatile memory. As a result, it can be used for failure analysis such as separation of primary failure and secondary failure problems.

また、通信装置10の運用中に、本来の処理とは関係のないバックアップ処理が不要であるため通信装置10の処理性能の低下が発生しない。本実施例の通信装置10は再起動時に利用面を切り替えることによって、すなわち、起動時処理同時にログの取得も実現しているため、動的データ107のダンプ処理が不要となる。したがって、通信装置10の早期の復旧が可能となる。   In addition, during the operation of the communication device 10, a backup process that is not related to the original processing is unnecessary, so that the processing performance of the communication device 10 does not deteriorate. Since the communication apparatus 10 of this embodiment switches the usage plane at the time of restart, that is, the log acquisition is realized at the same time as the startup process, the dump process of the dynamic data 107 becomes unnecessary. Therefore, early recovery of the communication device 10 is possible.

また、本実施例の通信装置10は、不揮発性メモリの一つの面に運用中に使用する動的データ107を格納するため、ログ専用の不揮発性メモリを必要としない。したがって、装置のコストを低く抑えることができる。また、情報の抽出処理等が不要なため管理コストを低減できる。   In addition, the communication device 10 according to the present embodiment stores the dynamic data 107 used during operation in one aspect of the nonvolatile memory, and therefore does not need a nonvolatile memory dedicated to logs. Therefore, the cost of the apparatus can be kept low. In addition, management costs can be reduced because no information extraction processing is required.

また、面制御デバイスが不揮発性メモリを複数のメモリ領域に分割し、演算部が動的データを格納する領域として分割された一つのメモリ領域を提供する。他の分割されたメモリ領域はログを格納する領域として使用できる。また、分割されたメモリ領域にデータの上書きを抑止する保護ビットを設けることによって、新たなデータが上書きされる場合であっても、ログとして必要となるデータを不揮発性メモリに保存するので、ユーザによる障害解析を容易にする。   Further, the surface control device divides the nonvolatile memory into a plurality of memory areas, and the arithmetic unit provides one memory area divided as an area for storing dynamic data. Other divided memory areas can be used as log storage areas. In addition, by providing a protection bit that suppresses overwriting of data in the divided memory area, even if new data is overwritten, data required as a log is saved in the nonvolatile memory, so that the user can Facilitates failure analysis.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。   In addition, this invention is not limited to an above-described Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。   Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. The present invention can also be realized by software program codes that implement the functions of the embodiments. In this case, a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention. As a storage medium for supplying such a program code, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, A non-volatile memory card, ROM, or the like is used.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。   The program code for realizing the functions described in the present embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, Java (registered trademark).

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。   Furthermore, by distributing the program code of the software that implements the functions of the embodiments via a network, the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R. The CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.

上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。   In the above-described embodiments, the control lines and information lines indicate what is considered necessary for the explanation, and not all control lines and information lines on the product are necessarily shown. All the components may be connected to each other.

10 通信装置
100 制御部
101 Flashメモリ
102 静的データ
103 入出力装置
104 中央演算処理部
105 揮発性メモリ
106 不揮発性メモリ
107 動的データ
108 転送デバイス
109 面制御デバイス
110 面制御レジスタ
111 メモリバス
112 制御バス
113 面管理テーブル
114 面切替制御部
118 保守用Flashメモリ
200 転送部
201 転送デバイス
202 経路検索エンジン
203 テーブルメモリ
204 転送エンジン
205 ネットワークインタフェース
206 ネットワーク
1041 CPU
1042 I/O制御部
1061 ライトポイント格納エリア
1062 データエリア
1063 保護ビット
1064 マジックナンバ
1065 タイムスタンプ
1066 不揮発性メモリ初期化パスフラグ
1067 実利用メモリ領域
1068 制御フラグ格納領域
1101 最大面数
1102 制御フラグ格納領域サイズ
1103 実利用メモリ容量
1104 マジックナンバ
1105 ソフトウェア起動確認フラグ
1106 面選択フラグ
1131 面ID
1132 不揮発性メモリ格納領域
1133 タイムスタンプ
1134 故障フラグ
DESCRIPTION OF SYMBOLS 10 Communication apparatus 100 Control part 101 Flash memory 102 Static data 103 I / O device 104 Central processing part 105 Volatile memory 106 Non-volatile memory 107 Dynamic data 108 Transfer device 109 Surface control device 110 Surface control register 111 Memory bus 112 Control Bus 113 Surface management table 114 Surface switching control unit 118 Maintenance flash memory 200 Transfer unit 201 Transfer device 202 Path search engine 203 Table memory 204 Transfer engine 205 Network interface 206 Network 1041 CPU
1042 I / O control unit 1061 Write point storage area 1062 Data area 1063 Protection bit 1064 Magic number 1065 Time stamp 1066 Non-volatile memory initialization pass flag 1067 Actual use memory area 1068 Control flag storage area 1101 Maximum number of faces 1102 Control flag storage area size 1103 Actual memory capacity 1104 Magic number 1105 Software activation confirmation flag 1106 Surface selection flag 1131 Surface ID
1132 Non-volatile memory storage area 1133 Time stamp 1134 Failure flag

Claims (9)

データを転送する通信装置であって、
前記通信装置は、当該通信装置を制御する制御部及び前記データの転送を制御する転送部を備え、
前記制御部は、処理を実行する演算処理部と、不揮発性メモリと、揮発性メモリと、前記演算処理部がアクセスする前記不揮発性メモリの領域を分割することによって生成されたメモリ領域を制御するメモリ領域制御デバイスと、を含み、
前記転送部は、受信したデータを転送する経路を検索する経路検索エンジンと、前記受信したデータを前記経路検索エンジンの処理結果に基づいて転送する転送エンジンと、前記経路検索エンジンが前記受信したデータを転送する経路を検索するための経路情報を格納するメモリと、ネットワークに接続するインタフェースと、を含み、
前記メモリ領域制御デバイスは、
前記通信装置が起動し、かつ、前記不揮発性メモリが初期化されていない場合、前記不揮発性メモリの領域の一部を、データを格納する領域、前記メモリ領域に対するデータの上書きを抑止する制御を行う保護ビットを格納する領域、前記データに関するタイムスタンプを格納する領域を含む複数のメモリ領域に分割し、
前記複数のメモリ領域の中から前記演算処理部に使用させるメモリ領域である利用メモリ領域を決定し、
前記演算処理部は、前記メモリ領域制御デバイスによって決定された利用メモリ領域に前記通信装置の運用中に動的に更新される動的データを格納することを特徴とする通信装置。
A communication device for transferring data,
The communication device includes a control unit that controls the communication device and a transfer unit that controls transfer of the data,
The control unit controls a memory region generated by dividing a region of the arithmetic processing unit that executes processing, a nonvolatile memory, a volatile memory, and the nonvolatile memory accessed by the arithmetic processing unit. A memory area control device, and
The transfer unit includes a route search engine for searching for a route for transferring received data, a transfer engine for transferring the received data based on a processing result of the route search engine, and the data received by the route search engine. A memory for storing route information for searching for a route for transferring the data, and an interface connected to the network.
The memory area control device is:
When the communication device is activated and the nonvolatile memory is not initialized, a part of the area of the nonvolatile memory is controlled to suppress data overwriting to an area for storing data and the memory area. Divided into a plurality of memory areas including an area for storing protection bits to be performed and an area for storing time stamps related to the data;
Determining a use memory area that is a memory area to be used by the arithmetic processing unit from the plurality of memory areas;
The communication processing apparatus, wherein the arithmetic processing unit stores dynamic data dynamically updated during operation of the communication apparatus in a use memory area determined by the memory area control device.
請求項1に記載の通信装置であって、
前記不揮発性メモリは、前記データの書き込みによる性能劣化が発生しない不揮発性メモリであり、
前記メモリ領域制御デバイスは、
前記通信装置が再起動した場合、前記保護ビット及び前記タイムスタンプに基づいて前記複数のメモリ領域の中から新たな利用メモリ領域を決定し、
前記演算処理部が利用するメモリ領域を、現在使用される前記利用メモリ領域から前記新たな利用メモリ領域に切り替えることを特徴とする通信装置。
The communication device according to claim 1,
The non-volatile memory is a non-volatile memory in which performance degradation due to writing of the data does not occur,
The memory area control device is:
When the communication device is restarted, a new use memory area is determined from the plurality of memory areas based on the protection bit and the time stamp,
A communication apparatus that switches a memory area used by the arithmetic processing unit from the currently used memory area to the new used memory area.
請求項2に記載の通信装置であって、
前記不揮発性メモリの領域の一部は、前記利用メモリ領域の候補となるメモリ領域の識別情報を格納する第1の格納領域を含み、
前記メモリ領域制御デバイスは、
前記第1の格納領域から前記利用メモリ領域の候補となるメモリ領域の識別情報を取得し、
前記取得されたメモリ領域の識別情報に基づいて、前記不揮発性メモリの前記利用メモリ領域の候補となるメモリ領域から前記保護ビットを取得して、前記保護ビットが有効化されているかを判定し、
前記保護ビットが無効化されている場合、前記利用メモリ領域の候補となるメモリ領域を前記新たな利用メモリ領域として選択して、前記新たな利用メモリ領域として選択されたメモリ領域に隣接するメモリ領域の識別情報を前記第1の格納領域に格納し、
前記保護ビットが有効化されている場合、前記保護ビットが無効化されたメモリ領域が存在するかを判定し、
前記保護ビットが無効化されたメモリ領域が存在すると判定された場合、前記保護ビットが無効化されたメモリ領域の中から前記新たな利用メモリ領域を選択して、前記新たな利用メモリ領域として選択されたメモリ領域に隣接するメモリ領域の識別情報を前記第1の格納領域に格納することを特徴とする通信装置。
The communication device according to claim 2,
A part of the area of the non-volatile memory includes a first storage area that stores identification information of a memory area that is a candidate for the use memory area,
The memory area control device is:
Obtaining identification information of a memory area that is a candidate for the used memory area from the first storage area;
Based on the acquired identification information of the memory area, to obtain the protection bit from a memory area that is a candidate for the use memory area of the nonvolatile memory, to determine whether the protection bit is enabled,
When the protection bit is invalidated, a memory area that is a candidate for the use memory area is selected as the new use memory area, and a memory area adjacent to the memory area selected as the new use memory area Is stored in the first storage area,
If the protection bit is enabled, determine whether there is a memory area where the protection bit is disabled;
When it is determined that there is a memory area in which the protection bit is invalidated, the new usage memory area is selected from the memory areas in which the protection bit is invalidated, and is selected as the new usage memory area. The communication apparatus stores identification information of a memory area adjacent to the memory area in the first storage area.
請求項3に記載の通信装置であって、
前記メモリ領域制御デバイスは、
前記通信装置の機能を実現するソフトウェアの起動が完了したかを判定し、
前記ソフトウェアの起動が完了したと判定された場合、前記利用メモリ領域の前記保護ビットを有効化し、
前記通信装置の再起動の開始の契機が、管理者の操作又はメンテナンス計画に基づく再起動である場合、前記現在使用される利用メモリ領域の前記保護ビットを無効化した後に、前記現在使用される利用メモリ領域から前記新たな利用メモリ領域に切り替え、
前記通信装置の再起動の開始の契機が、前記通信装置の障害に起因する再起動である場合、前記現在使用される利用メモリ領域の前記保護ビットを変更することなく、前記現在使用される利用メモリ領域から前記新たな利用メモリ領域に切り替えることを特徴とする通信装置。
The communication device according to claim 3,
The memory area control device is:
Determining whether the activation of the software for realizing the function of the communication device is completed;
If it is determined that the activation of the software is completed, the protection bit of the used memory area is enabled,
When the start of restart of the communication device is a restart based on an operation of an administrator or a maintenance plan, the current use is performed after invalidating the protection bit of the currently used memory area. Switch from the used memory area to the new used memory area,
When the start of restart of the communication device is a restart due to a failure of the communication device, the currently used usage is performed without changing the protection bit of the currently used memory area. A communication apparatus that switches from a memory area to the newly used memory area.
請求項3に記載の通信装置であって、
前記演算処理部は、前記不揮発性メモリに保存される障害ログの取得要求を受け付けた場合、前記保護ビットが有効化されたメモリ領域の中から前記障害ログを取得するメモリ領域を選択し、
前記メモリ領域制御デバイスは、前記演算処理部から前記現在使用される利用メモリ領域へのアクセスと、前記演算処理部から前記選択されたメモリ領域へのアクセスとを調停し、
前記演算処理部は、前記選択されたメモリ領域から当該メモリ領域に格納されるデータを前記障害ログとして取得し、
前記メモリ領域制御デバイスは、前記選択されたメモリ領域から前記データが取得された後に、当該メモリ領域の前記保護ビットを無効化することを特徴とする通信装置。
The communication device according to claim 3,
The arithmetic processing unit, when receiving a failure log acquisition request stored in the non-volatile memory, selects a memory region for acquiring the failure log from memory regions in which the protection bit is enabled,
The memory area control device arbitrates access from the arithmetic processing unit to the currently used memory area and access from the arithmetic processing unit to the selected memory area,
The arithmetic processing unit obtains data stored in the memory area from the selected memory area as the failure log,
The communication apparatus, wherein the memory area control device invalidates the protection bit of the memory area after the data is acquired from the selected memory area.
請求項3に記載の通信装置であって、
前記通信装置が再起動した場合、前記複数のメモリ領域の各々の前記タイムスタンプを取得し、
前記複数のメモリ領域の各々の前記保護ビットを取得して、前記保護ビットが無効化されたメモリ領域を抽出し、
前記抽出されたメモリ領域の前記タイムスタンプに基づいて、前記抽出されたメモリ領域の中から前記新たな利用メモリ領域を選択することを特徴とする通信装置。
The communication device according to claim 3,
When the communication device is restarted, obtain the time stamp of each of the plurality of memory areas,
Obtaining the protection bit of each of the plurality of memory areas, and extracting the memory area in which the protection bit is invalidated;
The communication apparatus, wherein the new use memory area is selected from the extracted memory areas based on the time stamp of the extracted memory area.
請求項6に記載の通信装置であって、
前記メモリ領域制御デバイスは、
前記保護ビットが無効化されたメモリ領域が存在しない場合、前記タイムスタンプが最も古い障害ログを格納する前記メモリ領域を特定し、
前記タイムスタンプが最も古い障害ログを格納するメモリ領域を除く全てのメモリ領域の中から前記タイムスタンプが1番目に古いメモリ領域を前記新たな利用メモリ領域と選択して、前記選択されたメモリ領域の前記保護ビットを無効化することを特徴とする通信装置。
The communication device according to claim 6,
The memory area control device is:
If there is no memory area in which the protection bit is invalidated, the memory area storing the fault log with the oldest time stamp is specified;
The memory area selected by selecting the memory area having the oldest time stamp as the new used memory area from all the memory areas excluding the memory area storing the fault log having the oldest time stamp. The communication device is invalidated.
請求項3に記載の通信装置であって、
前記不揮発性メモリの領域の一部は、前記不揮発性メモリが初期化されたことを示す情報を格納する第2の格納領域を含み、
前記メモリ領域制御デバイスは、
前記不揮発性メモリの領域の一部が前記複数のメモリ領域に分割された後、前記第2の格納領域に、前記不揮発性メモリが初期化されたことを示す情報を設定し、
前記通信装置が起動後に、前記第2の格納領域を参照し、
前記第2の格納領域に前記不揮発性メモリが初期化されたことを示す情報が設定されている場合、前記不揮発性メモリが初期化されていると判定することを特徴とする通信装置。
The communication device according to claim 3,
A part of the area of the nonvolatile memory includes a second storage area for storing information indicating that the nonvolatile memory has been initialized,
The memory area control device is:
After a part of the area of the nonvolatile memory is divided into the plurality of memory areas, information indicating that the nonvolatile memory is initialized is set in the second storage area,
After the communication device is activated, refer to the second storage area,
The communication apparatus, wherein information indicating that the nonvolatile memory is initialized is set in the second storage area, and determines that the nonvolatile memory is initialized.
請求項3に記載の通信装置であって、
前記メモリ領域制御デバイスは、前記利用メモリ領域の決定後、当該利用メモリ領域における前記データを格納する領域、及び、前記データに関するタイムスタンプを格納する領域を初期化することを特徴とする通信装置。
The communication device according to claim 3,
The said memory area control device initializes the area | region which stores the said data in the said used memory area, and the area which stores the time stamp regarding the said data after the said used memory area is determined.
JP2015028844A 2015-02-17 2015-02-17 Communication device Active JP6316223B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028844A JP6316223B2 (en) 2015-02-17 2015-02-17 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028844A JP6316223B2 (en) 2015-02-17 2015-02-17 Communication device

Publications (2)

Publication Number Publication Date
JP2016151888A true JP2016151888A (en) 2016-08-22
JP6316223B2 JP6316223B2 (en) 2018-04-25

Family

ID=56696577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028844A Active JP6316223B2 (en) 2015-02-17 2015-02-17 Communication device

Country Status (1)

Country Link
JP (1) JP6316223B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003104137A (en) * 2001-09-27 2003-04-09 Hitachi Ltd On-vehicle control device
JP2007206912A (en) * 2006-02-01 2007-08-16 Alaxala Networks Corp Effective use method of trace memory
JP2013003985A (en) * 2011-06-20 2013-01-07 Fuji Xerox Co Ltd Information processing apparatus, image forming apparatus, and program
JP2014127193A (en) * 2012-12-27 2014-07-07 Fujitsu Ltd Information processing apparatus and storage information analysis method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003104137A (en) * 2001-09-27 2003-04-09 Hitachi Ltd On-vehicle control device
JP2007206912A (en) * 2006-02-01 2007-08-16 Alaxala Networks Corp Effective use method of trace memory
JP2013003985A (en) * 2011-06-20 2013-01-07 Fuji Xerox Co Ltd Information processing apparatus, image forming apparatus, and program
JP2014127193A (en) * 2012-12-27 2014-07-07 Fujitsu Ltd Information processing apparatus and storage information analysis method

Also Published As

Publication number Publication date
JP6316223B2 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
US8990588B2 (en) Storage system, storage control apparatus, and storage control method
US8069191B2 (en) Method, an apparatus and a system for managing a snapshot storage pool
US11099953B2 (en) Automatic data healing using a storage controller
US9946616B2 (en) Storage apparatus
US9977620B2 (en) Storage device and storage system
CN103392166A (en) Information storage system and storage system management method
CN104205059A (en) Storage system and storage control apparatus
US20100191757A1 (en) Recording medium storing allocation control program, allocation control apparatus, and allocation control method
WO2014155653A1 (en) Data duplication detection system and method for controlling data duplication detection system
WO2011036707A1 (en) Computer system for controlling backups using wide area network
CN108475201B (en) Data acquisition method in virtual machine starting process and cloud computing system
EP3198447A1 (en) Smart flash cache logger
JP6544039B2 (en) Storage control device, storage control program and storage system
US11226746B2 (en) Automatic data healing by I/O
US9588855B2 (en) Management and utilization of fault domains in distributed cache systems
JP6316223B2 (en) Communication device
CN111752475B (en) Method and device for data access management in storage server
US20100223442A1 (en) Computer system and data erasing method
US20180295195A1 (en) Method and apparatus for performing storage space management for multiple virtual machines
JP5760585B2 (en) Storage system and abnormality location determination method
US10810163B2 (en) Storage management computer, storage management method, and recording medium
KR102357715B1 (en) Method to management operating system image for security and internet server using the methods
JP6999679B2 (en) Data erasure method and equipment
JP2015215708A (en) Storage control device, storage control program, and storage control method
CN116795494B (en) Memory protection unit information processing method, system and readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180221

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: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180327

R150 Certificate of patent or registration of utility model

Ref document number: 6316223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250