WO2016139774A1 - 情報処理装置、情報処理システム - Google Patents

情報処理装置、情報処理システム Download PDF

Info

Publication number
WO2016139774A1
WO2016139774A1 PCT/JP2015/056347 JP2015056347W WO2016139774A1 WO 2016139774 A1 WO2016139774 A1 WO 2016139774A1 JP 2015056347 W JP2015056347 W JP 2015056347W WO 2016139774 A1 WO2016139774 A1 WO 2016139774A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
control unit
storage device
storage unit
Prior art date
Application number
PCT/JP2015/056347
Other languages
English (en)
French (fr)
Inventor
橋口慎哉
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2015/056347 priority Critical patent/WO2016139774A1/ja
Priority to JP2017503272A priority patent/JPWO2016139774A1/ja
Publication of WO2016139774A1 publication Critical patent/WO2016139774A1/ja
Priority to US15/688,350 priority patent/US20170357545A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Abstract

 障害発生時のメモリダンプの取得処理にかかる時間を短縮する。情報処理装置は、プロセッサ、第1の記憶部、制御部、第2の記憶部を備える。第1の記憶部は、プロセッサの主記憶として機能する。制御部は、プロセッサからの第1の記憶部への第1のアクセスと、第1のアクセスと同期せずに実行される第1の記憶部への第2のアクセスと、メモリダンプの取得に関する処理と、を制御する。第2の記憶部は、第2のアクセスの際に、制御部の指示により、第1の記憶部に記憶されているデータのメモリダンプを記憶する。

Description

情報処理装置、情報処理システム
 本発明は、メモリダンプに関する。
 コンピュータシステムは、システムに障害が発生した場合に、主記憶装置上のデータを他の記憶装置に保存させる。他の記憶装置に保存されたデータは、メモリダンプと呼ばれる。稼働中のシステムのメモリダンプを取得することは、システム障害の原因解析などを行う際に有効な手段となる。
 システム再起動後の無アクセス状態時に、磁気テープなどの外部可搬媒体にメモリダンプを退避させるメモリダンプのバックアップ方法が知られている(例えば、特許文献1参照)。
 主記憶装置は、通常使用領域とリザーブ領域とに予め設定される。障害が発生すると、リザーブ領域を使用領域として運用させ、システム運用に影響なく、通常使用領域のメモリダンプを取得する(例えば、特許文献2参照)。
特開平8-30492号公報 特開2004-280140号公報
 近年、主記憶装置の容量がテラバイト(TB)オーダのサーバが登場し、このようなシステムでは、主記憶装置のメモリダンプを取得する処理に時間がかかる。システムで障害が発生すると、メモリダンプを取得する処理が実行され、その間、システムの運用が停止してしまう。障害が発生後のシステムの運用停止時間が短く、すぐにシステムの運用を再開できることが好ましい。
 1つの側面において、本発明は、障害発生時のメモリダンプの取得処理にかかる時間を短縮することを目的とする。
 情報処理装置は、プロセッサ、第1の記憶部、制御部、第2の記憶部を備える。第1の記憶部は、プロセッサの主記憶として機能する。制御部は、プロセッサからの第1の記憶部への第1のアクセスと、第1のアクセスと同期せずに実行される第1の記憶部への第2のアクセスと、メモリダンプの取得に関する処理と、を制御する。第2の記憶部は、第2のアクセスの際に、制御部の指示により、第1の記憶部に記憶されているデータのメモリダンプを記憶する。
 障害発生時のメモリダンプの取得処理にかかる時間を短縮できる。
本実施形態に係る情報処理装置の例を説明する図である。 コアから主記憶装置へのメモリアクセスにおける制御部の処理の例を説明する図である。 管理情報の例を説明する図である。 スクラビングを利用してメモリダンプを取得する処理の例を説明する図である。 メモリダンプ取得中に主記憶装置への更新がある場合の処理の例を説明する図である。 システム障害が発生した後にメモリダンプを取得する処理の例を説明する図である。 コアから主記憶装置へのメモリアクセスにおける制御部の処理の例を説明するフローチャートである。 スクラビングを利用してメモリダンプを取得する処理の例を説明するフローチャートである。 スクラビングを利用してメモリダンプを取得する処理の例を説明するフローチャートである。 メモリダンプ取得中に主記憶装置への更新がある場合の処理の例を説明するフローチャートである。 システム障害が発生した後にメモリダンプを取得する処理の例を説明するフローチャートである。
 以下、図面を参照しながら、実施形態を詳細に説明する。
 図1は、本実施形態に係る情報処理装置の例を説明する図である。情報処理装置100は、Central Processing Unit(CPU)110、主記憶装置120、外部記憶装置130を備える。主記憶装置120は、CPU110の主記憶として機能する。外部記憶装置130は、主記憶装置120のメモリダンプを記憶するための記憶装置である。外部記憶装置130は、例えば、Hard Disc Drive(HDD)でもよく、Solid‐State Drive(SSD)でもよい。
 CPU110は、コア111、制御部150、IOコントローラ112を有する。コア111は、プロセッサコアを示し、演算処理をおこなうための論理回路やキャッシュなどを含む。制御部150は、メモリコントローラを示す。制御部150は、コア111から主記憶装置120へのメモリアクセスを制御する。IOコントローラ112は、制御部150の指示に従い、外部記憶装置130へのメモリダンプの書き込みを実行するインターフェースである。
 制御部150は、コア111から主記憶装置120へのメモリアクセス(F1)を制御する。更に、制御部150は、コア111から主記憶装置120へのメモリアクセス(F1)とは別に、メモリパトロールによる主記憶装置120へのメモリアクセス(F2)を行う。なお、メモリパトロール(F2)は、コア111から主記憶装置120へのメモリアクセス(F1)と同期しない。そのため、メモリパトロールのようなアクセス(F2)は、コア111から主記憶装置120へのメモリアクセス(F1)と同期しない非同期アクセス(F2)とも呼ばれる。メモリパトロール(F2)は、例えば、メモリパトロールスクラビングである。以降、メモリパトロールスクラビングを、「スクラビング」と称す。
 スクラビング(F2)は、主記憶装置120内の記憶領域をメモリアドレス順にアクセスしていき、データを読み込む。その後、スクラビング(F2)は、データが読み込まれた際に、訂正可能な1ビットエラーが検出されると、検出された1ビットエラーを訂正して書き戻す機能である。スクラビングで、エラーが検出されない場合は、書き戻す処理は行われない。スクラビング(F2)は、主記憶装置120の全体のデータをチェックするために、全メモリアドレスを網羅的にアクセスして行われる。
 本実施形態に係る情報処理装置100は、制御部150が実行するメモリパトロールにおける書き込み又は読み込みなどの処理(F2)を利用して、メモリダンプを取得(F3)する。例えば、スクラビング(F2)は主記憶装置120の全データを網羅的に読み込む。情報処理装置100の制御部150は、スクラビング(F2)で読み込まれたデータ(1ビットエラーの場合は訂正されたデータ)をメモリダンプとして利用することで、効率的にメモリダンプを取得できる。制御部150は、取得したメモリダンプを、外部記憶装置130に記憶させる。言い換えると、コア111から主記憶装置120へのメモリアクセス(F1)と平行して、非同期アクセス(F2)が実行される。該非同期アクセス(F2)を利用してメモリダンプを外部記憶装置130に書き込むことで、コア111から主記憶装置120へのメモリアクセス(F1)が実行されるバックグラウンドで、メモリダンプを実現できる。
 制御部150は、外部記憶装置130に記憶させたメモリダンプと、主記憶装置120内のデータと、でデータに差分があるかを管理する管理情報を記憶する(図3で後述する)。言い換えると、管理情報は、外部記憶装置130に記憶させたメモリダンプ、最新の主記憶装置120内のデータであるかどうかを示す情報である。システム障害が発生すると、制御部150は、管理情報を読み込み、外部記憶装置130に記憶されたメモリダンプから差分のあるデータのメモリアドレスを取得する。制御部150は、差分のあるデータのメモリアドレスを指定して、メモリダンプを取得する。
 このように、本実施形態に係る情報処理装置100は、システムに障害が発生していない間、制御部150は、コア111から主記憶装置120へのメモリアクセス(F1)と平行して、主記憶装置120のスクラビング(F2)を定期的に実行する。制御部150は、スクラビング(F2)で読み込まれたデータを利用してメモリダンプを取得する。システムに障害が発生すると、情報処理装置100は、取得済みのメモリダンプと差分のあるデータを対象に、主記憶装置120内のデータのメモリダンプを取得する。システムに障害が発生した後に、主記憶装置120の全データのメモリダンプを取得せず、一部データのメモリダンプを取得することで、処理対象のデータ量を減らすことができる。それに伴い、障害発生後のメモリダンプの取得処理時間も短縮される。
 図2は、コアから主記憶装置へのメモリアクセスにおける制御部の処理の例を説明する図である。図2は、図1と同一のものには、同じ番号を付す。制御部150は、メモリアクセス制御部151、スクラビング制御部152、ダンプ制御部153、書き込みキュー154、読み込みキュー155、ECCエンジン156、バッファ157、管理情報記憶部158を備える。メモリアクセス制御部151は、コア111から主記憶装置120へのメモリアクセスを制御する。スクラビング制御部152は、定期的に主記憶装置120にスクラビングを実行する制御を行う。ダンプ制御部153は、主記憶装置120内のデータのメモリダンプを取得する処理の制御をする。書き込みキュー154は、メモリアクセス制御部151から主記憶装置120への書き込み命令を記憶する。書き込み命令には、主記憶装置120に書き込むデータ、主記憶装置120内での書き込み先のメモリアドレス、タイプ判別情報が含まれる。タイプ判別情報は、例えば、メモリアクセス制御部151からのアクセス命令であることを示す情報「00」、スクラビング制御部152からのアクセス命令であることを示す情報「01」、それ以外のアクセス命令であることを示す情報「10」である。タイプ判別情報は、アクセス命令の種別を判別できればよい。
 読み込みキュー155は、メモリアクセス制御部151が主記憶装置120から読み出したデータや、スクラビング制御部152がスクラビングの際に主記憶装置120から読み出したデータを、一時的に格納する。ECCエンジン156は、書き込みデータに、ECCビットを付随させる。更に、ECCエンジン156は、ビットエラーを検出した場合に、エラーを訂正する。バッファ157は、読み込みキュー155に格納されたデータの内、スクラビング制御部152がスクラビングの際に主記憶装置120から読み出したデータを格納する。管理情報記憶部158は、管理情報を記憶する。管理情報は、外部記憶装置130に記憶させたメモリダンプと、主記憶装置120内のデータと、でデータに差分があるかを管理するための情報を含む。
 以下に、本実施形態に係るコア111から主記憶装置120へのメモリアクセスがあった場合の、制御部150の処理の例を説明する。
  (A1)コア111は、制御部150に書き込み要求を出す。書き込み要求は、主記憶装置120に書き込むデータ及び書き込み先のメモリアドレス(主記憶装置120内のメモリアドレス)を含む。
  (A2)メモリアクセス制御部151は、書き込み要求にタイプ判別情報「00」を付与する。メモリアクセス制御部151は、書き込み要求及びタイプ判別情報を、書き込みキュー154に格納する。
  (A3)メモリアクセス制御部151は、書き込みキュー154の先頭に書き込み要求及びタイプ判別情報がくると、主記憶装置120に書き込むデータを書き込みキュー154から読み出す。
  (A4)ECCエンジン156は、主記憶装置120に書き込むデータに、ECCビットを付与する。
  (A5)制御部151は、主記憶装置120内での書き込み先のメモリアドレスを指定して、主記憶装置120に書き込むデータを主記憶装置120に書き込む。
  (A6)ダンプ制御部153は、管理情報記憶部158に記憶されている管理情報を更新する。
 ここで、本実施形態における情報処理装置100は、主記憶装置120を所定のデータサイズ毎に分けて管理する。所定のデータサイズである主記憶装置120の管理単位を、「グループ」と称す。管理情報記憶部158に記憶されている管理情報は、グループ毎に、メモリダンプのデータが、最新のデータであるかを示す情報を含む。ダンプ制御部153は、外部記憶装置130に記憶されているメモリダンプが最新のデータである場合、管理情報に、該データが属するグループは「メモリダンプがダーティではない(最新のデータである)」ことを示す情報を設定する。一方、ダンプ制御部153は、外部記憶装置130に記憶されているメモリダンプが最新のデータでない場合、管理情報に、該データが属するグループは「メモリダンプがダーティである(最新のデータではない)」ことを示す情報を設定する。(A6)の処理において、ダンプ制御部153は、主記憶装置120内での書き込み先のメモリアドレスを含むグループに対して、主記憶装置120のデータが更新されており、メモリダンプが最新でない(ダーティである)ことを示す情報を、管理情報に設定する。
 図3は、管理情報の例を説明する図である。管理情報は、グループ識別番号、メモリアドレス、ディスクダーティビット、バッファダーティビットなどの情報を含む。グループ識別情報は、主記憶装置120内のデータの管理単位であるグループを識別するための情報である。メモリアドレスは、グループ識別番号に対応するグループに含まれるメモリアドレス群である。例えば、グループ識別番号1番のグループには、メモリアドレス「0x0000」~「0x000f」が含まれる。グループ識別番号2番のグループには、メモリアドレス「0x0010」~「0x001f」が含まれる。グループ識別番号3番のグループには、メモリアドレス「0x0020」~「0x002f」が含まれる。図3の管理情報の例は、各グループの管理単位であるデータサイズを限定するものではない。
 ディスクダーティビットは、グループ毎に、外部記憶装置130に記憶されているメモリダンプが、主記憶装置120における最新のデータかどうかを示す情報である。言い換えると、ディスクダーティビットは、外部記憶装置130に記憶されているメモリダンプと、主記憶装置120内のデータで差分があるかを示す情報である。外部記憶装置130に記憶されているメモリダンプが、主記憶装置120における最新のデータである場合に、ダーティではないことを示す「0」が管理情報に設定される。外部記憶装置130に記憶されているメモリダンプが、主記憶装置120における最新のデータでない場合に、ダーティであることを示す「1」が管理情報に設定される。図3の管理情報の例においては、グループ識別番号2番のグループに、該グループ内のデータが(メモリダンプ)がダーティである(最新でなはない)ことを示す「1」が設定されている。そのため、システム障害が発生すると、ダンプ制御部153は、管理情報記憶部158に記憶されている管理情報内のディスクダーティビットに「1」が設定されているグループの情報を取得し、取得したグループのメモリダンプを取得する。
 バッファダーティビットは、グループ毎に、主記憶装置120内のデータとバッファ157とが記憶しているデータに差分があるかどうかを示す情報である。バッファ157に記憶されているデータは、ダンプ制御部153がメモリダンプを取得する際に一時的に記憶させたものであり、該メモリダンプが外部記憶装置130に記憶される前のデータである。バッファダーティビットは、言い換えると、外部記憶装置130にメモリダンプを記憶させる処理の途中で、主記憶装置120内のデータが更新され、該メモリダンプが、最新のデータでなくなっているかどうかを示す情報である。外部記憶装置130にメモリダンプを記憶させる処理の途中で主記憶装置120内のデータが更新されていない場合には、ダーティでない(メモリダンプが最新である)ことを示す「0」が管理情報に設定される。外部記憶装置130にメモリダンプを記憶させる処理の途中で主記憶装置120内のデータが更新された場合には、ダーティである(メモリダンプが最新でない)ことを示す「1」が管理情報に設定される。図3の管理情報の例においては、グループ識別番号3番のグループに、ダーティ(メモリダンプが最新ではない)ことを示す「1」が設定されている。なお、ダンプ制御部153は、スクラビング中にメモリダンプを取得する処理の際に、バッファダーティビットのダーティを示す情報である「1」を、ディスクダーティビットのダーティを示す情報「1」として設定する(図4で詳しく説明する)。システム障害が発生すると、ダンプ制御部153は、管理情報内のディスクダーティビットにダーティを示す「1」が設定されているグループを取得し、取得したグループのメモリダンプを取得する。
 主記憶装置120内のデータのメモリダンプを、メモリアドレス毎に取得してもよい。主記憶装置120内のデータをグループ単位のメモリダンプの取得をしない場合、管理情報は、グループ及びバッファダーティビットを含まなくてよい。また、主記憶装置120内のデータをグループ単位のメモリダンプの取得をしない場合、図2の制御部150は、バッファ157を備えなくてよい。
 図4は、スクラビングを利用してメモリダンプを取得する処理の例を説明する図である。図4は、図2と同一のものには、同じ番号を付す。以下に、スクラビングを利用してメモリダンプを取得する処理の例を説明する。
  (B1)スクラビング制御部152は、スクラビングを実行するメモリアドレスを指定し、指定したメモリアドレスからのデータを主記憶装置120から読み出す。
  (B2)ECCエンジン156は、読み出されたデータのECCビットを確認し、1ビットエラーがある場合に、訂正を行う。
  (B3)スクラビング制御部152は、読み出したデータ又は訂正されたデータに、スクラビング制御部152からのアクセス命令であることを示すタイプ判別情報「01」を付与する。スクラビング制御部152は、読み出したデータ又は訂正されたデータと、タイプ判別情報を、読み込みキュー155に格納する。
  (B4)ダンプ制御部153は、読み込みキュー155を定期的に確認し、タイプ判別情報が「01」である(スクラビングにより読み込まれたデータである)かを判定する。ダンプ制御部153は、タイプ判別情報を判別する回路などを含む。
  (B5)ダンプ制御部153は、タイプ判別情報「01」が付与されているデータをバッファ157に格納する。
  (B6)ダンプ制御部153は、グループの全メモリアドレスに対応するデータがバッファ157に格納されたかを判定する。言い換えると、(B1)~(B5)までの処理は、スクラビングで指定されたメモリアドレス単位で処理が実行されている。ダンプ制御部153は、(B1)~(B5)の処理の結果、グループのデータサイズ分のデータがバッファ157に格納されたかを判定している。
  (B7)ダンプ制御部153は、グループに対応するデータがバッファ157に格納されると、該データを外部記憶装置130に書き込むよう、IOコントローラ112に指示する。
  (B8)IOコントローラ112は、指示に従い、バッファ157からデータを読み出し、該データを外部記憶装置130に書き込む。外部記憶装置130に書き込まれるデータは、メモリダンプである。
  (B9)ダンプ制御部153は、管理情報を読み込み、外部記憶装置130に書き込みをしたグループに対応するバッファダーティビットにダーティ(メモリダンプが最新でない)であることを示す「1」が設定されているかを判定する。言い換えると、ダンプ制御部153は、(B1)~(B8)の処理中に主記憶装置120側でデータの更新がされており、(B7)~(B8)で外部記憶装置130に書き込まれたメモリダンプが最新でなくなっているかどうかを判定する。
  (B10)ダンプ制御部153は、管理情報において、外部記憶装置130に書き込みをしたグループに対応するバッファダーティビットに、ダーティ(メモリダンプが最新でない)を示す「1」が設定されている場合、同グループのディスクダーティビットに「1」を設定する。ダンプ制御部153は、外部記憶装置130に書き込みをしたグループに対応するバッファダーティビットに、ダーティでない「0」が設定されている場合、同グループのディスクダーティビットに「0」を設定する。
  (B11)ダンプ制御部153は、管理情報において、外部記憶装置130に書き込みをしたグループに対応するバッファダーティビットにダーティでない(メモリダンプが最新である)ことを示す「0」を設定する。
 このように、制御部150は、主記憶装置120のスクラビングを定期的に実行する。制御部150は、スクラビングで読み込んだデータを利用してメモリダンプを取得することができる。言い換えると、コア111から主記憶装置120へのメモリアクセス(F1)と平行して、非同期アクセス(F2)が実行される。該非同期アクセス(F2)を利用してメモリダンプを外部記憶装置130に書き込むことで、コア111から主記憶装置120へのメモリアクセス(F1)が実行されるバックグラウンドで、メモリダンプを実現できる。
 図5は、メモリダンプ取得中に主記憶装置への更新がある場合の処理の例を説明する図である。図5は、図3と同一のものには、同じ番号を付す。以下に、メモリダンプ取得中に主記憶装置への更新がある場合の処理の例を説明する。
  (C1)メモリアクセス制御部151は、書き込み要求にタイプ判別情報「00」を付与する。メモリアクセス制御部151は、書き込み要求及びタイプ判別情報を、書き込みキュー154に格納する。
  (C2)ダンプ制御部153は、書き込みキュー154を定期的に確認し、タイプ判別情報が「00」であるデータが含まれるかを判定する。ダンプ制御部153は、タイプ判別情報を判別する回路などを含む。
  (C3)ダンプ制御部153は、タイプ判別情報が「00」であるデータの書き込み先のメモリアドレスと同じメモリアドレスが、バッファ157又は読み込みキュー155が保持するデータに含まれるかを判定する。
  (C4)タイプ判別情報が「00」であるデータの書き込み先のメモリアドレスと同じメモリアドレスが、バッファ157又は読み込みキュー155が保持するデータに含まれる場合、ダンプ制御部153は、管理情報を更新する。具体的には、ダンプ制御部153は、タイプ判別情報が「00」であるデータの書き込み先のメモリアドレスを含むグループに対応するバッファダーティビットにメモリダンプがダーティである(最新でない)ことを示す「1」を設定する。
 (C1)~(C4)の処理により、メモリダンプ取得中でも主記憶装置120内のデータに更新がされた場合には、管理情報に、メモリダンプがダーティである(最新でない)ことを示す情報が記憶される。
 図6は、システム障害が発生した後にメモリダンプを取得する処理の例を説明する図である。図6は、図2と同一のものには、同じ番号を付す。以下に、システム障害が発生した後にメモリダンプを取得する処理の例を説明する。
  (D1)システム障害が発生すると、制御部150は、Operating System(OS)又はファームウェアからメモリダンプを取得する指示を受信する。
  (D2)ダンプ制御部153は、管理情報内のディスクダーティビットにメモリダンプがダーティであることを示す「1」が設定されているグループがあるかを判定する。
  (D3)ダンプ制御部153は、管理情報内のディスクダーティビットで「1」が設定されているグループのメモリダンプを主記憶装置120から取得し、外部記憶装置130に記憶させる。
  (D4)制御部150は、情報処理装置100を再起動する。
 このように、本実施形態に係る情報処理装置100は、システムに障害が発生していない間、制御部150は、主記憶装置120のスクラビングを定期的に実行する。制御部150は、スクラビングで読み込んだデータを利用してメモリダンプを取得する。システムに障害が発生すると、情報処理装置100は、取得済みのメモリダンプと、主記憶装置120内でデータと、で差分のあるデータのメモリダンプを取得する。システムに障害が発生した後に、主記憶装置120の全データのメモリダンプを取得せず、一部データのメモリダンプを取得することで、処理対象のデータ量を減らすことができる。それに伴い、障害発生後のメモリダンプの取得処理時間も短縮される。
 図7は、コアから主記憶装置へのメモリアクセスにおける制御部の処理の例を説明するフローチャートである。コア111は、制御部150に書き込み要求を出す。(ステップS101)。メモリアクセス制御部151は、書き込み要求にタイプ判別情報「00」を付与し、書き込み要求及びタイプ判別情報を、書き込みキュー154に格納する(ステップS102)。メモリアクセス制御部151は、書き込みキュー154の先頭に書き込み要求及びタイプ判別情報がくると、主記憶装置120に書き込むデータを書き込みキュー154から読み出す(ステップS103)。ECCエンジン156は、主記憶装置120に書き込むデータに、ECCビットを付与する(ステップS104)。制御部151は、主記憶装置120内での書き込み先のメモリアドレスを指定して、主記憶装置120に書き込むデータを主記憶装置120に書き込む(ステップS105)。ダンプ制御部153は、主記憶装置120内での書き込み先のメモリアドレスを含むグループに対する管理情報内のディスクダーティビットにメモリダンプがダーティである(最新でない)ことを示す「1」を設定する(ステップS106)。
 図8Aと図8Bは、スクラビングを利用してメモリダンプを取得する処理の例を説明するフローチャートである。スクラビング制御部152は、スクラビングを実行するメモリアドレスを指定し、指定したメモリアドレスからのデータを主記憶装置120から読み出す(ステップS201)。ECCエンジン156は、読み出されたデータのECCビットを確認し、1ビットエラーがある場合に、訂正を行う(ステップS202)。スクラビング制御部152は、読み出したデータ又は訂正されたデータに、スクラビング制御部152からのアクセス命令であることを示すタイプ判別情報「01」を付与する。スクラビング制御部152は、読み出したデータ又は訂正されたデータと、タイプ判別情報を、読み込みキュー155に格納する(ステップS203)。ダンプ制御部153は、読み込みキュー155を定期的に確認し、タイプ判別情報が「01」である(スクラビングにより読み込まれたデータである)データを確認する(ステップS204)。ダンプ制御部153は、タイプ判別情報「01」が付与されているデータをバッファ157に格納する(ステップS205)。ダンプ制御部153は、グループの全メモリアドレスに対応するデータがバッファ157に格納されたかを判定する(ステップS206)。グループの全メモリアドレスに対応するデータがバッファ157に格納されていない場合(ステップS206でNO)、制御部150は、スクラビング処理の発生間隔の時間待機する(ステップS213)。
 グループの全メモリアドレスに対応するデータがバッファ157に格納されている場合(ステップS206でYES)、ダンプ制御部153は、データを外部記憶装置130に書き込むよう、IOコントローラ112に指示する(ステップS207)。IOコントローラ112は、指示に従い、バッファ157からデータを読み出し、該データを外部記憶装置130に書き込む(ステップS208)。ダンプ制御部153は、管理情報を読み込み、外部記憶装置130に書き込みをしたグループに対応するバッファダーティビットにダーティであることを示す「1」が設定されているかを判定する(ステップS209)。
 バッファダーティビットにダーティであることを示す「1」が設定されている場合(ステップS209でYES)、ダンプ制御部153は、ディスクダーティビットにダーティであることを示す「1」を設定する(ステップS210)。バッファダーティビットにダーティであることを示す「1」が設定されていない場合(ステップS209でNO)、ダンプ制御部153は、ディスクダーティビットにダーティでないことを示す「0」を設定する(ステップS211)。ダンプ制御部153は、管理情報において、外部記憶装置130に書き込みをしたグループに対応するバッファダーティビットにダーティでない(メモリダンプが最新である)ことを示す「0」を設定する(ステップS212)。制御部150は、スクラビング処理の発生間隔の時間待機する(ステップS213)。制御部150は、ステップS213の処理の後、処理をステップS201から繰り返す。
 図9は、メモリダンプ取得中に主記憶装置への更新がある場合の処理の例を説明するフローチャートである。メモリダンプ取得中に主記憶装置への書き込みがされた場合、制御部150は、図8Aと図8Bに更に、図9に示すフローチャートの処理を追加で実行する。
 メモリアクセス制御部151は、書き込み要求にタイプ判別情報「00」を付与する。メモリアクセス制御部151は、書き込み要求及びタイプ判別情報を、書き込みキュー154に格納する(ステップS301)。ダンプ制御部153は、書き込みキュー154を定期的に確認し、タイプ判別情報が「00」であるデータが含まれることを確認する(ステップS302)。ダンプ制御部153は、タイプ判別情報が「00」であるデータの書き込み先のメモリアドレスと同じメモリアドレスが、バッファ157又は読み込みキュー155が保持するデータに含まれるかを判定する(ステップS303)。該メモリアドレスを含むデータをバッファ157又は読み込みキュー155が保持している場合(ステップS303でYES)、ダンプ制御部153は、データが外部記憶装置に未だ書き込まれていないかを判定する(ステップS304)。データが外部記憶装置に未だ書き込まれていない場合(ステップS304でYES)、ダンプ制御部153は、バッファダーティビットにメモリダンプがダーティであることを示す「1」を設定する(ステップS305)。
 書き込み先のメモリアドレスと同じメモリアドレスを含むデータをバッファ157又は読み込みキュー155が保持していない場合(ステップS303でNO)、制御部150は、スクラビング処理中に追加で実行される図9に示す追加処理を終了する。データが外部記憶装置130に書き込み済みである場合(ステップS304でNO)、制御部150は、スクラビング処理中に追加で実行される図9に示す追加処理を終了する。同様に、制御部150は、ステップS305の処理が終了すると、スクラビング処理中に追加で実行される図9に示す追加処理を終了する。
 図10は、システム障害が発生した後にメモリダンプを取得する処理の例を説明するフローチャートである。
 システム障害が発生すると、制御部150は、Operating System(OS)又はファームウェアからメモリダンプを取得する指示を受信する(ステップS401)。ダンプ制御部153は、管理情報内の各グループのディスクダーティビットを確認する(ステップS402)。ダンプ制御部153は、管理情報内の1つのグループを選択し、選択したグループのディスクダーティビットにダーティである(メモリダンプが最新ではない)ことを示す「1」が設定されているかを判定する(ステップS403)。
 選択したグループがダーティである場合(ステップS403でYES)、ダンプ制御部153は、該グループのメモリダンプを取得し、外部記憶装置130に記憶させる(ステップS404)。ダンプ制御部153は、全てのグループを対象に、ステップS402以降の処理を実行したかを判定する(ステップS405)。選択したグループがダーティでない場合(ステップS403でNO)、ダンプ制御部153は、ステップS405の処理を実行する。ステップS402以降の処理を全グループに対して実行されていない場合(ステップS405でNO)、制御部150は、処理をステップS402から繰り返す。
 ステップS402以降の処理を、全グループを対象に実行されている場合(ステップS405でYES)、制御部150は、情報処理装置100を再起動する。
 このように、本実施形態に係る情報処理装置100は、システムに障害が発生していない間、制御部150は、コア111から主記憶装置120へのメモリアクセス(F1)と平行して、主記憶装置120のスクラビング(F2)を定期的に実行する。制御部150は、スクラビング(F2)で読み込んだデータを利用してメモリダンプを取得する。システムに障害が発生すると、情報処理装置100は、取得済みのメモリダンプと、主記憶装置120内でデータと、で差分のあるデータのメモリダンプを取得する。システムに障害が発生した後に、主記憶装置120の全データのメモリダンプを取得せず、一部データのメモリダンプを取得することで、処理対象のデータ量を減らすことができる。それに伴い、障害発生後のメモリダンプの取得処理時間も短縮される。
100 情報処理装置
110 CPU
111 コア
112 IOコントローラ
120 主記憶装置
130 外部記憶装置
150 制御部
151 メモリアクセス制御部
152 スクラビング制御部 
153 ダンプ制御部
154 書き込みキュー
155 読み込みキュー
156 ECCエンジン
157 バッファ
158 管理情報記憶部

Claims (12)

  1.  プロセッサと、
     前記プロセッサの主記憶として機能する第1の記憶部と、
     前記プロセッサから前記第1の記憶部への第1のアクセスと、前記第1のアクセスと同期せずに実行される前記第1の記憶部への第2のアクセスと、メモリダンプの取得に関する処理と、を制御する制御部と、
     前記第2のアクセスの際に、前記制御部の指示により、前記第1の記憶部に記憶されているデータのメモリダンプを記憶する第2の記憶部と、を備える
     ことを特徴とする情報処理装置。
  2.  前記制御部は、
     前記第1のアクセスにより、前記第1の記憶部内のデータへの書き込みが行われると、前記第2の記憶部に記憶されているメモリダンプと前記第1の記憶部内のデータとの差分を管理する管理情報を記憶し、
     障害が発生すると、前記管理情報に基づいて、差分のある前記第1の記憶部内のデータのメモリダンプを取得し、取得したメモリダンプを第2の記憶部に記憶させる
     ことを特徴とする請求項1に記載の情報処理装置。
  3.  前記第2のアクセスは、メモリパトロールスクラビングである
     ことを特徴とする請求項1又は2に記載の情報処理装置。
  4.  前記制御部は、前記管理情報において、前記第2の記憶部に記憶されているメモリダンプと前記第1の記憶部内のデータとの差分を、ダーティビットを用いて管理する
     ことを特徴とする請求項2又は3に記載の情報処理装置。
  5.  プロセッサと、
     前記プロセッサの主記憶として機能する第1の記憶部と、
     前記プロセッサから前記第1の記憶部への第1のアクセスと、前記第1のアクセスと同期せずに実行される前記第1の記憶部への第2のアクセスと、メモリダンプの取得に関する処理と、を制御する制御部と、
     前記第2のアクセスの際に、前記制御部の指示により、前記第1の記憶部に記憶されているデータのメモリダンプを記憶する第2の記憶部と、を備える
     ことを特徴とする半導体装置。
  6.  前記制御部は、
     前記第1のアクセスにより、前記第1の記憶部内のデータへの書き込みが行われると、前記第2の記憶部に記憶されているメモリダンプと前記第1の記憶部内のデータとの差分を管理する管理情報を記憶し、
     障害が発生すると、前記管理情報に基づいて、差分のある前記第1の記憶部内のデータのメモリダンプを取得し、取得したメモリダンプを第2の記憶部に記憶させる
     ことを特徴とする請求項5に記載の半導体装置。
  7.  前記第2のアクセスは、メモリパトロールスクラビングである
     ことを特徴とする請求項5又は6に記載の半導体装置。
  8.  前記制御部は、前記管理情報において、前記第2の記憶部に記憶されているメモリダンプと前記第1の記憶部内のデータとの差分を、ダーティビットを用いて管理する
     ことを特徴とする請求項6又は7に記載の半導体装置。
  9.  プロセッサから前記プロセッサの主記憶として機能する主記憶装置への第1のアクセスとは同期せずに実行される前記主記憶装置への第2のアクセスの際に、前記主記憶装置に記憶されているデータのメモリダンプを、外部記憶装置に記憶させる
     ことを特徴とする情報処理システム。
  10.  前記第1のアクセスにより、前記主記憶装置内のデータへの書き込みが行われると、前記外部記憶装置に記憶されているメモリダンプと前記主記憶装置内のデータとの差分を管理する管理情報を記憶し、
     障害が発生すると、前記管理情報に基づいて、差分のある前記第1の記憶部内のデータのメモリダンプを取得し、取得したメモリダンプを前記外部記憶装置に記憶させる
     ことを特徴とする請求項9に記載の情報処理システム。
  11.  前記第2のアクセスは、メモリパトロールスクラビングである
     ことを特徴とする請求項9又は10に記載の情報処理システム。
  12.  前記管理情報において、前記第2の記憶部に記憶されているメモリダンプと前記第1の記憶部内のデータとの差分を、ダーティビットを用いて管理する
     ことを特徴とする請求項10又は11に記載の情報処理システム。
PCT/JP2015/056347 2015-03-04 2015-03-04 情報処理装置、情報処理システム WO2016139774A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2015/056347 WO2016139774A1 (ja) 2015-03-04 2015-03-04 情報処理装置、情報処理システム
JP2017503272A JPWO2016139774A1 (ja) 2015-03-04 2015-03-04 情報処理装置、情報処理システム
US15/688,350 US20170357545A1 (en) 2015-03-04 2017-08-28 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/056347 WO2016139774A1 (ja) 2015-03-04 2015-03-04 情報処理装置、情報処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/688,350 Continuation US20170357545A1 (en) 2015-03-04 2017-08-28 Information processing apparatus and information processing method

Publications (1)

Publication Number Publication Date
WO2016139774A1 true WO2016139774A1 (ja) 2016-09-09

Family

ID=56849330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/056347 WO2016139774A1 (ja) 2015-03-04 2015-03-04 情報処理装置、情報処理システム

Country Status (3)

Country Link
US (1) US20170357545A1 (ja)
JP (1) JPWO2016139774A1 (ja)
WO (1) WO2016139774A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237639A (zh) * 2022-09-23 2022-10-25 泰山学院 一种实现多通道数据采集的单片机数据处理系统和方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6604241B2 (ja) * 2016-03-09 2019-11-13 富士通株式会社 情報処理システム、情報処理装置、情報処理方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293391A (ja) * 1999-04-07 2000-10-20 Mitsubishi Electric Corp 大規模メモリシステム管理方法および装置
WO2015015589A1 (ja) * 2013-07-31 2015-02-05 富士通株式会社 情報処理装置、メモリダンプ方法、およびメモリダンププログラム
JP2015035007A (ja) * 2013-08-07 2015-02-19 富士通株式会社 コンピュータ、制御プログラム、及びダンプ制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2780821B2 (ja) * 1989-09-22 1998-07-30 株式会社日立製作所 オンライン中のダンプ方式およびディスクサブシステム
JPH04137046A (ja) * 1990-09-28 1992-05-12 Toshiba Corp 電子計算機のオペレーティングシステム
US20050036363A1 (en) * 1996-05-24 2005-02-17 Jeng-Jye Shau High performance embedded semiconductor memory devices with multiple dimension first-level bit-lines
US8219662B2 (en) * 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US8639896B2 (en) * 2006-08-02 2014-01-28 International Business Machines Corporation Locating and altering sensitive information in core dumps
US8812443B2 (en) * 2007-10-01 2014-08-19 International Business Machines Corporation Failure data collection system apparatus and method
US8429467B2 (en) * 2007-10-19 2013-04-23 Oracle International Corporation User-triggered diagnostic data gathering
US7661045B2 (en) * 2007-12-19 2010-02-09 International Business Machines Corporation Method and system for enterprise memory management of memory modules
US8930327B2 (en) * 2010-05-04 2015-01-06 Salesforce.Com, Inc. Method and system for scrubbing information from heap dumps
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
WO2011127865A2 (zh) * 2011-05-26 2011-10-20 华为技术有限公司 内存转储处理方法和装置及内存转储系统
US9690508B1 (en) * 2016-09-27 2017-06-27 International Business Machines Corporation PDSE physical dump anonymizer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293391A (ja) * 1999-04-07 2000-10-20 Mitsubishi Electric Corp 大規模メモリシステム管理方法および装置
WO2015015589A1 (ja) * 2013-07-31 2015-02-05 富士通株式会社 情報処理装置、メモリダンプ方法、およびメモリダンププログラム
JP2015035007A (ja) * 2013-08-07 2015-02-19 富士通株式会社 コンピュータ、制御プログラム、及びダンプ制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237639A (zh) * 2022-09-23 2022-10-25 泰山学院 一种实现多通道数据采集的单片机数据处理系统和方法

Also Published As

Publication number Publication date
JPWO2016139774A1 (ja) 2017-12-14
US20170357545A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
US8266475B2 (en) Storage management device, storage management method, and storage system
JP4821448B2 (ja) Raidコントローラおよびraid装置
US20080082744A1 (en) Storage system having data comparison function
US10338844B2 (en) Storage control apparatus, control method, and non-transitory computer-readable storage medium
JP2014137711A (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US20160196085A1 (en) Storage control apparatus and storage apparatus
JP2016149051A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
WO2016139774A1 (ja) 情報処理装置、情報処理システム
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
US9569329B2 (en) Cache control device, control method therefor, storage apparatus, and storage medium
WO2014010077A1 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
WO2015155824A1 (ja) ストレージシステム
JP2012058840A (ja) 退避処理装置、退避処理方法および退避処理プログラム
JP2010536112A (ja) 中断された書込みの回復のためのデータ記憶方法、機器およびシステム
JP6175566B2 (ja) ストレージシステム及び記憶制御方法
JP6237202B2 (ja) 半導体記憶装置およびその制御方法
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
JP6142510B2 (ja) 情報格納制御装置及びその制御方法、並びにコンピュータ・プログラム
JP6805838B2 (ja) ディスク管理システム、ディスク管理方法、および、ディスク管理プログラム
US20180052749A1 (en) Information processing system and information processing method
JP2023002309A (ja) ストレージシステム及びデータ管理方法
JP2015109054A (ja) 磁気ディスク装置およびストレージ装置
JP2014153873A (ja) 情報処理装置、情報処理方法およびプログラム
JP2023110180A (ja) ストレージ装置および制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15883942

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017503272

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15883942

Country of ref document: EP

Kind code of ref document: A1