(57)【要約】【課題】  メモリ故障に対して信頼性を向上させることのできるメモリ管理システムを得る。【解決手段】  ＦＰＧＡ１０中に、プログラムおよびデータの少なくとも一方を保持するメモリ２０のアクセス先を管理するためのメモリ管理テーブル１２と、メモリ２０の故障を検出するメモリ故障検出部１３と、プログラムおよびデータの少なくとも一方を保持する代替メモリ１５と、メモリ故障検出部１３でメモリ故障が検出された場合、メモリ管理テーブル１２におけるアクセス先を、代替メモリ１５に変更するテーブル更新部１４とを格納する。【選択図】        図１
2006065396.tif 000002
【特許請求の範囲】
【請求項１】
プログラムおよびデータの少なくとも一方を保持するメモリのアクセス先を管理するためのメモリ管理テーブルと、
前記メモリの故障を検出するメモリ故障検出部と、
プログラムおよびデータの少なくとも一方を保持する代替メモリと、
前記メモリ故障検出部でメモリ故障が検出された場合、前記メモリ管理テーブルにおけるアクセス先を、前記代替メモリに変更するテーブル更新部とを、演算処理機能を備える可変型の集積回路に備えたメモリ管理装置。
【請求項２】
演算処理機能を備える可変型の集積回路は、フィールドプログラマブルゲートアレイであることを特徴とするメモリ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＲＡＭなどの揮発性メモリを備えるコンピュータシステムにおいて、メモリ故障が発生した場合にこれを検出し、かつソフトウェアの動作に支障のない正常な状態に復帰させるメモリ管理装置に関するものである。
【背景技術】
【０００２】
従来、例えば、ＢＩＯＳ（Basic Input Output System)等をシステム起動時にＤＲＡＭ等のメモリにロードする場合に、メモリの一部の領域に故障が発生すると、メモリの障害が発生していない領域にロードするようにしたものがあった（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００１−６７２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のメモリ管理装置では、例えば、メモリの制御を行うメモリコントローラ等に故障が発生した場合、メモリそのものをアクセスできなくなる。従って、このような状態が発生した場合には、外部のフラッシュメモリ等からメモリにＢＩＯＳ等をロードすることが出来ないという問題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、メモリ故障に対して信頼性を向上させることのできるメモリ管理システムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るメモリ管理装置は、演算処理機能を備える可変型の集積回路内に、プログラムおよびデータの少なくとも一方を保持するメモリのアクセス先を管理するためのメモリ管理テーブルと、メモリの故障を検出するメモリ故障検出部と、プログラムおよびデータの少なくとも一方を保持する代替メモリと、メモリ故障検出部でメモリ故障が検出された場合、メモリ管理テーブルにおけるアクセス先を、代替メモリに変更するテーブル更新部とを備えたものである。
【発明の効果】
【０００７】
この発明のメモリ管理装置は、演算処理機能を備える可変型の集積回路内に、代替メモリを設け、メモリ故障検出部がメモリ故障を検出した場合は、アクセス先を代替メモリに変更するようにしたので、メモリ故障に対する信頼性を向上させることができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１によるメモリ管理システムを示す構成図である。
図示のメモリ管理装置は、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）１０とメモリ２０とフラッシュメモリ３０からなり、これらの構成がＣＰＵボード１上に設けられている。ＦＰＧＡ１０は、演算処理機能を備える可変型の集積回路であり、メモリコントローラ１１、メモリ管理テーブル１２、メモリ故障検出部１３、テーブル更新部１４、代替メモリ１５、プロセッサ１６を備えている。
【０００９】
メモリコントローラ１１は、メモリ２０を制御する制御部である。メモリ管理テーブル１２は、メモリ２０の構成を記憶し、メモリ２０のアクセス先を管理するための管理テーブルである。メモリ故障検出部１３は、メモリ２０の故障を検出する機能部である。テーブル更新部１４は、メモリ管理テーブル１２を更新する機能部である。即ち、テーブル更新部１４は、メモリ故障検出部１３でメモリ故障が検出された場合、メモリ管理テーブル１２におけるアクセス先を、代替メモリ１５に設定する機能を有している。代替メモリ１５は、例えば、メモリ２０と同様にＤＲＡＭから構成されるメモリであり、メモリ２０と同様に、プログラムおよびデータの少なくとも一方を保持するためのメモリである。プロセッサ１６は、ＦＰＧＡ１０内に設けられたプロセッサであり、メモリ２０の初期化処理やフラッシュメモリ３０からのＢＩＯＳのメモリ２０へのロード処理といった処理を行う機能を有している。
【００１０】
メモリ２０は、例えばＤＲＡＭ等からなるプログラムおよびデータの少なくとも一方を保持するためのメモリであり、複数のバンク（図示例では８個のバンク）で構成されている。そして、メモリ故障検出部１３における故障検出といったメモリ２０の管理は、これらのバンク毎に行われるようになっている。また、フラッシュメモリ３０は、ＢＩＯＳといったソフトウェアを格納するためのメモリである。尚、図示例では、メモリ２０における複数のバンクとして８個の場合を図示しているが、この値に限定されるものではない。
【００１１】
次に、動作について説明する。
図２は、実施の形態１の動作を示すフローチャートである。
システム起動時には、先ず、メモリ２０のリセットが行われる（ステップＳＴ１）。次に、テーブル更新部１４は、メモリ２０における処理中のバンクを示すバンク番号に初期値０を設定し（ステップＳＴ２）、プロセッサ１６は、メモリ２０におけるバンク０の初期化をメモリコントローラ１１を介して実施する（ステップＳＴ３）。また、システムが起動されると、メモリ故障検出部１３はメモリ２０における各バンクの故障検出を行う（ステップＳＴ４）。即ち、メモリ故障検出部１３は、プロセッサ１６によるメモリ２０へのアクセス状態を監視する。
【００１２】
ステップＳＴ４において、メモリ故障検出部１３がメモリ故障を検出しない場合は、テーブル更新部１４によってメモリ管理テーブル１２のバンク番号がインクリメントされ（ステップＳＴ５）、バンク番号が８より小さい場合は（ステップＳＴ６）、ステップＳＴ３に戻り、プロセッサ１６は、次のバンクの初期化処理へ移行する。一方、ステップＳＴ４において、メモリ故障検出部１３がいずれかのメモリバンクの故障を検出した場合、テーブル更新部１４は、故障したメモリバンクのバンク番号を代替メモリ１５に置き換え（ステップＳＴ７）、メモリ管理テーブル１２を更新する（ステップＳＴ８）。これにより、プロセッサ１６は、置き換えられた代替メモリ１５に対して初期化を行う。
【００１３】
また、メモリ２０の初期化処理の後、プロセッサ１６が、フラッシュメモリ３０からＢＩＯＳをメモリ２０にロードする場合も、メモリ故障検出部１３がいずれかのメモリバンクの故障を検出した場合は、上記の動作と同様に、テーブル更新部１４によってメモリ管理テーブル１２が代替メモリ１５に対応したアドレスに変更される。これにより、プロセッサ１６は、フラッシュメモリ３０から置き換えられた代替メモリ１５にＢＩＯＳをロードし、これ以降、メモリ２０における故障が発生したメモリバンクの代わりに代替メモリ１５にアクセスする。
【００１４】
以上のように、実施の形態１によれば、プログラムおよびデータの少なくとも一方を保持するメモリのアクセス先を管理するためのメモリ管理テーブルと、メモリの故障を検出するメモリ故障検出部と、プログラムおよびデータの少なくとも一方を保持する代替メモリと、メモリ故障検出部でメモリ故障が検出された場合、メモリ管理テーブルにおけるアクセス先を、代替メモリに変更するテーブル更新部とを、演算処理機能を備える可変型の集積回路に備えたので、従来のように、外部のメモリコントローラに起因するメモリへのアクセス不可状態の発生といったことを防止することができ、その結果、メモリ故障に対する信頼性の向上を図ることができる。
【００１５】
また、実施の形態１によれば、演算処理機能を備える可変型の集積回路を、フィールドプログラマブルゲートアレイとしたので、メモリ故障に対する信頼性をより向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】この発明の実施の形態１によるメモリ管理装置を示す構成図である。
【図２】この発明の実施の形態１の動作を示すフローチャートである。
【符号の説明】
【００１７】
１０  フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、１２  メモリ管理テーブル、１３  メモリ故障検出部、１４  テーブル更新部、１５  代替メモリ、２０  メモリ。
【図１】
2006065396.tif 000003
【図２】
2006065396.tif 000004