JP5810962B2 - 記憶制御装置、記憶制御方法及び記憶制御プログラム - Google Patents

記憶制御装置、記憶制御方法及び記憶制御プログラム Download PDF

Info

Publication number
JP5810962B2
JP5810962B2 JP2012035360A JP2012035360A JP5810962B2 JP 5810962 B2 JP5810962 B2 JP 5810962B2 JP 2012035360 A JP2012035360 A JP 2012035360A JP 2012035360 A JP2012035360 A JP 2012035360A JP 5810962 B2 JP5810962 B2 JP 5810962B2
Authority
JP
Japan
Prior art keywords
unit
configuration information
storage unit
control
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012035360A
Other languages
English (en)
Other versions
JP2012216188A (ja
Inventor
晃 橋本
晃 橋本
英史 合原
英史 合原
大山 健一
健一 大山
木下 浩一
浩一 木下
藤吉 新一
新一 藤吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012035360A priority Critical patent/JP5810962B2/ja
Publication of JP2012216188A publication Critical patent/JP2012216188A/ja
Application granted granted Critical
Publication of JP5810962B2 publication Critical patent/JP5810962B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、記憶制御装置、記憶制御方法及び記憶制御プログラムに関する。
例えば、通信機器やコンピュータ等の情報処理装置は、各種情報を記憶した記憶部を有している。図11は、情報処理装置内部の一例を示すブロック図である。例えば、通信機器等の情報処理装置100Aは、CPU(Central Processing Unit)101と、FPGA(Field Programmable Gate Array)102と、記憶部103と、記憶制御部104とを有する。CPU101は、FPGA102を通じて記憶部103に対してデータの書込み及び読出しを制御する。FPGA102は、後述する設定中の構成情報に基づき記憶部103をアクセス制御する。フラッシュメモリ111には、記憶部103の交流(AC:Alternating Current)特性に対応した構成情報が記憶される。尚、構成情報は、例えば、FPGA102が記憶部103をアクセス制御する上で記憶部103に対する各種制御信号のタイミングを制御する情報である。
FPGA102は、CPUインタフェース102Aと、メモリインタフェース102Bと、メモリコントローラ102Cとを有する。CPUインタフェース102Aは、CPU101とメモリコントローラ102Cとを接続するインタフェースである。メモリインタフェース102Bは、メモリコントローラ102Cと記憶部103とを接続するインタフェースである。メモリコントローラ102Cは、設定中の構成情報に基づき、記憶部103をアクセス制御する。記憶部103は、例えば、EAROM(Electrically Alterable ROM)、EEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ、FeRAM(Ferroelectric RAM)、MRAM(Magnetic RAM)等のメモリ装置である。
記憶制御部104は、フラッシュメモリ111と、コンフィグレーション制御部112とを有する。コンフィグレーション制御部112は、情報処理装置100Aの電源起動を検出すると、フラッシュメモリ111に記憶中の初期設定の構成情報を読み出す。更に、コンフィグレーション制御部112は、構成情報及びコンフィグレーション信号(以下、コンフィグ信号と称する)をFPGA102に通知する。FPGA102内のメモリコントローラ102Cは、コンフィグレーション制御部112からのコンフィグ信号に応じて構成情報をFPGA102に設定する。
メモリコントローラ102Cは、記憶部103との間で、例えば、アドレス信号、チップセレクト信号、ライトイネーブル信号、アウトプットイネーブル信号等の制御信号を用いて記憶部103のアクセスを制御する。尚、アドレス信号は、記憶部103内のアドレスを指定する信号である。チップセレクト信号は、記憶部103内のチップを指定する信号である。ライトイネーブル信号は、記憶部103内のデータ書込みを指示する信号である。アウトプットイネーブル信号は、記憶部103内のデータ読出を指示する信号である。
構成情報は、メモリコントローラ102Cが記憶部103に対して正常にアクセス制御する上で、例えば、所定のセットアップタイム及びホールドタイムを設定する情報である。尚、セットアップタイムは、タイミング信号に先立ってデータを確定及び保持する最小限の時間である。ホールドタイムは、タイミング信号検出後もデータを保持する時間である。つまり、メモリコントローラ102Cは、セットアップタイム及びホールドタイムの条件を満たすことで、記憶部103との制御信号間の正常なタイミングでアクセス制御が可能となる。
特開2010−122842号公報 国際公開第2004/102389号 特開2006−99597号公報 特開2006−65470号公報 特開2007−87284号公報 特開2004−246699号公報 特開2001−136058号公報
しかしながら、FPGA102は、初期設定の構成情報を設定中に、記憶部103の経年劣化や温度変化等の環境変化で記憶部103のAC特性に変化が生じた場合に記憶部103との制御信号間でタイミングエラーが生じる。従って、FPGA102では、記憶部103との制御信号間のタイミングエラーが生じた場合、初期設定の構成情報で決定される、例えば、セットアップタイムまでにデータを確定及び保持できない。その結果、FPGA102は、記憶部103の特性変化等で初期設定の構成情報では記憶部103に対する正常なアクセス制御を確保できない。
そこで、記憶制御部104では、例えば、チップセレクト信号、アドレス信号、ライトイネーブル信号やアウトプットイネーブル信号等の制御信号毎にタイミングを調整するタイミング調整回路を備え、制御信号間のタイミングエラーを解消することが考えられる。しかしながら、各タイミング調整回路は、制御信号のタイミングを高精度に調整するには複数段のフリップフロップ回路を要する。従って、記憶制御部104では、制御信号毎に複数のフリップフロップ回路を備えたタイミング調整回路を要するため、その回路規模が大規模になることは勿論のこと、その消費電力も大きくなる。
一つの側面は、記憶部の特性に変化が生じた場合でも記憶部に対して正常なアクセス制御を確保できる記憶制御装置、記憶制御方法及び記憶制御プログラムを提供することを目的とする。
開示の装置は一つの態様において、記憶部をアクセス制御する制御部に関わる、前記記憶部のアクセス制御の特性に対応した、複数の構成情報を記憶する構成記憶部と、前記構成情報を前記制御部に設定する設定部とを有する。更に、開示の装置の前記設定部は、前記構成記憶部に記憶中の一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記構成記憶部に記憶中の異なる構成情報に切替えて、切替えられた構成情報を前記制御部に設定する。
記憶部の特性に変化が生じた場合でも記憶部に対して正常なアクセス制御を確保できる。
図1は、実施例1の情報処理装置内部の一例を示すブロック図である。 図2は、生成部内部の一例を示すブロック図である。 図3は、生成部内部の再コンフィグ信号の生成タイミングを示す説明図である。 図4は、FPGA及び選択部に関わる記憶部のタイミングエラー発生からタイミングエラー解消までの動作タイミングを示す説明図である。 図5は、コンフィグレーション制御処理に関わるFPGA及びコンフィグレーション制御部の処理動作の一例を示すフローチャートである。 図6は、実施例2の情報処理装置内部の一例を示すブロック図である。 図7は、FPGAのバンク構成の一例を示す説明図である。 図8は、コンフィグレーション制御処理に関わるFPGA及びコンフィグレーション制御部の処理動作の一例を示すフローチャートである。 図9は、故障判定処理に関わる故障判定部の処理動作の一例を示すフローチャートである。 図10は、記憶制御プログラムを実行するコンピュータを示す説明図である。 図11は、情報処理装置内部の一例を示すブロック図である。
以下、図面に基づいて、本願の開示する記憶制御装置、記憶制御方法及び記憶制御プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。
図1は、実施例1の情報処理装置内部の一例を示すブロック図である。図1に示す情報処理装置1は、例えば、通信機器やコンピュータ等に相当し、CPU2と、FPGA3と、記憶部4と、記憶制御部5とを有する。CPU2は、情報処理装置1全体を制御すると共に、FPGA3経由で記憶部4をアクセス制御する。FPGA3は、CPU2と記憶部4との間に配置し、記憶部4をアクセス制御する。FPGA3は、CPUインタフェース11と、メモリインタフェース12と、メモリコントローラ13とを有する。CPUインタフェース11は、CPU2とメモリコントローラ13とを接続するインタフェースである。メモリインタフェース12は、メモリコントローラ13と記憶部4とを接続するインタフェースである。メモリコントローラ13は、後述する設定中の構成情報に基づき、記憶部4をアクセス制御する。更に、メモリコントローラ13は、記憶部4の状態、例えば、ECC(Error Check and Correct)やパリティチェックを行うチェック部13Aを有する。チェック部13Aは、例えば、記憶部4の経年変化や温度変化等の環境変化による記憶部4のAC特性が変化した場合に記憶部4の制御信号間のタイミングエラーを検出すると、メモリNG信号を出力する。
記憶部4は、例えば、EAROM(Electrically Alterable ROM)、EEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ、FeRAM(Ferroelectric RAM)、MRAM(Magnetic RAM)等のメモリ装置である。また、記憶部4は、例えば、PRAM(Pseudo RAM)、ReRAM(Resistance RAM)、DRAM(Dynamic RAM)やSRAM(Static RAM)等のメモリ装置である。
記憶制御部5は、メモリ20と、指示部30と、コンフィグレーション制御部40とを有する。メモリ20は、例えばフラッシュメモリ、EAROM、EEPROM等のメモリ装置である。メモリ20には、記憶部4の異なるAC特性に対応した複数の構成情報が格納してある。尚、メモリ20には、例えば、アドレス“0000”〜“0FFF”の格納領域に初期設定の構成情報“A”が格納してある。更に、メモリ20には、アドレス“1000”〜“1FFF”の格納領域に、他のAC特性に対応した構成情報“B”が格納してある。更に、メモリ20は、アドレス“2000”〜“2FFF”の格納領域に、他のAC特性に対応した構成情報“C”が格納してある。これら3種類の構成情報“A”〜“C”は、一例に過ぎず、2種類あるいは4以上の種類の構成情報をメモリ20格納してもよい。
指示部30は、選択部31と、生成部32とを有する。選択部31は、メモリコントローラ13からの“H”レベルのメモリNG信号を検出すると、メモリ20に格納された構成情報の内、切替先の構成情報を選択する選択信号を出力する。生成部32は、“H”レベルのメモリNG信号を検出すると、“H”レベルのメモリNG信号のタイミングに基づき再コンフィグ信号を生成する。
図2は、生成部32内部の一例を示すブロック図である。図3は、生成部32内部の再コンフィグ信号の生成タイミングを示す説明図である。生成部32は、フリップフロップ回路(以下、単にFF回路)32Aと、NOT回路32Bと、AND回路32Cと、FF回路32Dとを有する。図3においてFF回路32Aは、“H”レベルのメモリNG信号の立ち上がりを検出すると、このメモリNG信号を1クロック(CLK)分遅延した信号をNOT回路32Bに出力する。NOT回路32Bは、FF回路32Aの出力信号を反転してAND回路32Cへ出力する。AND回路32Cは、NOT回路32Bの出力信号と、“H”レベルのメモリNG信号との論理積による信号を出力する。FF回路32Dは、AND回路32Cの出力信号を1クロック分遅延することで、再コンフィグ信号を出力する。尚、再コンフィグ信号は、他の構成情報をFPGA3に再設定する際のコンフィグ信号の生成に使用する。
コンフィグレーション制御部40は、選択部31から切替先の構成情報を選択する選択信号を検出すると、選択信号により指定された構成情報をメモリ20から読み出す。
コンフィグレーション制御部40は、上位指定部41と、下位指定部42と、ビット結合部43とを有する。上位指定部41は、選択部31からの選択信号を検出すると、構成情報を格納したメモリ20内の格納領域のアドレスの上位ビットを指定する。下位指定部42は、当該格納領域のアドレスの下位ビットを指定する。尚、例えば、構成情報“B”の格納領域の先頭アドレスが“1000”の場合、上位ビットは“1”、下位ビットは“000”となる。ビット結合部43は、上位指定部41により指定された上位ビットと、下位指定部42により指定された下位ビットとを結合して読み出し対象の構成情報のアドレスを生成する。尚、ビット結合部43は、上位ビットが“1”、下位ビットが“000”とした場合、“1”と“000”とを結合してアドレス信号“1000”となる。コンフィグレーション制御部40は、ビット結合部43が出力したアドレス信号に基づき、メモリ20から構成情報を読み出す。更に、コンフィグレーション制御部40は、生成部32から再コンフィグ信号を検出すると、読み出された指定の構成情報をFPGA3に設定するコンフィグ信号をFPGA3に出力する。FPGA3は、コンフィグ信号を検出すると、構成情報を設定する。
次に実施例1の情報処理装置1の動作について説明する。図4は、FPGA3及び選択部31に関わる記憶部4のタイミングエラー発生からタイミングエラー解消までの動作タイミングを示す説明図である。図4では、記憶部4の経年変化や温度変化等の環境変化でAC特性に変化が生じ、例えば、初期設定の構成情報“A”のセットアップタイム前にデータを確定及び保持できずにタイミングエラーが生じたとする。尚、初期設定の構成情報“A”は、セットアップタイムTsuとホールドタイムThとの間を、例えば5n秒間とする。この際、メモリコントローラ13のチェック部13Aは、構成情報“A”のタイミングエラーを検出すると、“H”レベルのメモリNG信号を出力する。指示部30内の選択部31は、メモリコントローラ13から“H”レベルのメモリNG信号を検出すると、構成情報“A”から切替先の構成情報“B”を選択する選択信号をコンフィグレーション制御部40に出力する。更に、指示部30内の生成部32は、“H”レベルのメモリNG信号のタイミングに基づき再コンフィグ信号を生成する。そして、生成部32は、再コンフィグ信号をコンフィグレーション制御部40に出力する。
コンフィグレーション制御部40は、選択信号を受信した場合、上位指定部41、下位指定部42及びビット結合部43を通じて構成情報“B”の格納領域のアドレス信号を生成する。更に、コンフィグレーション制御部40は、アドレス信号に基づき、メモリ20の格納領域から指定の構成情報“B”を読み出す。更に、コンフィグレーション制御部40は、構成情報“B”をFPGA3内のメモリコントローラ13に出力する。更に、コンフィグレーション制御部40は、指示部30からの再コンフィグ信号を検出すると、再コンフィグ信号に基づき、FPGA3に構成情報“B”を設定するコンフィグ信号を出力する。FPGA3は、コンフィグ信号を検出すると、構成情報“B”が設定されるため、構成情報“B”のセットアップタイムTsu1とホールドタイムTh1との間が、例えば3n秒間となる。その結果、FPGA3は、セットアップタイムがTsuからTsu1へ変わることで、セットアップタイムTsu1時又はセットアップタイムTsu1以前にデータを確定及び保持できる。従って、FPGA3は、構成情報“B”の設定で記憶部4のタイミングエラーが解消できる。つまり、図4の例では、構成情報“A”から構成情報“B”に切替選択し、セットアップタイムを変更して記憶部4のタイミングエラーが解消できる。
図5は、コンフィグレーション制御処理に関わるFPGA3及びコンフィグレーション制御部40の処理動作の一例を示すフローチャートである。図5においてコンフィグレーション制御部40は、情報処理装置1の電源起動時にメモリ20に格納された初期設定の構成情報“A”をFPGA3に設定する(ステップS11)。FPGA3は、通常運用時に、例えば、記憶部4に書き込んだデータを読み出す(ステップS12)。FPGA3のメモリコントローラ13のチェック部13Aは、記憶部4のチェック結果がOK状態であるか否かを判定する(ステップS13)。尚、チェック部13Aは、例えば、セットアップタイム及びホールドタイムの正常条件を満たしたか否かを判定し、正常条件を満たした場合はチェック結果をOK状態とし、正常条件を満たしていない場合はチェック結果をOK状態でない、NG状態とする。チェック部13Aは、チェック結果がOK状態の場合(ステップS13肯定)、記憶部4に書き込んだデータを読み出すべく、ステップS12に移行する。
また、チェック部13Aは、チェック結果がOK状態でない場合(ステップS13否定)、選択部31に対して“H”レベルのメモリNG信号を出力する(ステップS14)。選択部31は、“H”レベルのメモリNG信号を検出すると、切替先の構成情報を選択する選択信号をコンフィグレーション制御部40に出力する(ステップS15)。更に、生成部32は、“H”レベルのメモリNG信号を検出すると、メモリNG信号のタイミングに基づき再コンフィグ信号をコンフィグレーション制御部40に出力する(ステップS16)。
コンフィグレーション制御部40は、FPGA3に現在設定中の構成情報が“C”であるか否かを判定する(ステップS17)。コンフィグレーション制御部40は、FPGA3に現在設定中の構成情報が“C”でない場合(ステップS17否定)、再コンフィグ信号を検出すると、コンフィグ信号をFPGA3に出力する。そして、FPGA3は、コンフィグ信号を検出すると、切替先の構成情報をFPGA3に再設定する(ステップS18)。尚、FPGA3内のメモリコントローラ13は、情報処理装置1の電源起動時に初期設定の構成情報“A”を設定し、“H”レベルのメモリNG信号を検出する都度、構成情報“B”→構成情報“C”に切替え設定する。そして、コンフィグレーション制御部40は、コンフィグ信号で構成情報をFPGA3のメモリコントローラ13に再設定すると、ステップS12に移行する。
また、コンフィグレーション制御部40は、FPGA3に現在設定中の構成情報が“C”である場合(ステップS17肯定)、メモリ20内の全ての構成情報が設定されてもチェック結果がNG状態であると判断する。その結果、コンフィグレーション制御部40は、記憶部4の故障を外部通知する(ステップS19)。尚、情報処理装置1側のユーザは、例えば、故障アラームの音響出力や点灯出力等の外部通知で記憶部4の故障を認識できる。更に、コンフィグレーション制御部40は、記憶部4の故障を外部通知すると、記憶部4の動作を停止し(ステップS20)、図5に示す処理動作を終了する。
図5に示すコンフィグレーション制御処理では、記憶部4の特性変化で“H”レベルのメモリNG信号を検出すると、メモリ20に格納中の複数の構成情報から異なる構成情報を読み出し、読み出された構成情報をFPGA3に設定する。その結果、FPGA3は、読み出された構成情報が設定されるため、記憶部4の特性変化に対応した構成情報を提供できる。
また、コンフィグレーション制御処理では、情報処理装置1の電源起動時に初期設定の構成情報“A”、その後、“H”レベルのメモリNG信号を検出する都度、構成情報“B”→構成情報“C”の順に切替設定する。その結果、構成情報“A”→構成情報“B”→構成情報“C”の順に提供できる。尚、再度、情報処理装置1の電源起動を検出すると、初期設定の構成情報“A”に切替設定される。
また、コンフィグレーション制御処理では、構成情報“A”→構成情報“B”→構成情報“C”の各構成情報が切替設定され、全ての構成情報によっても記憶部4のタイミングエラーが解消できない場合、記憶部4の故障を外部へ通知する。その結果、情報処理装置1側のユーザは、通知に基づき記憶部4の故障を認識できる。
更に、コンフィグレーション制御処理では、各構成情報が順次設定されても、記憶部4のタイミングエラーが解消できなかった場合、記憶部4の動作を停止する。その結果、タイミングエラーを抱えた記憶部4の動作を自動停止できる。
実施例1では、複数の構成情報を記憶しておき、一の構成情報をFPGA3に設定した後、記憶部4のAC特性変化で“H”レベルのメモリNG信号を検出した場合、他の構成情報に切替えて、切替えられた構成情報をFPGA3に設定する。その結果、FPGA3は、記憶部4のAC特性変化によるタイミングエラーが発生した場合でも、構成情報を切替えて記憶部4のAC特性変化によるタイミングエラーを解消できる。しかも、記憶制御部5では、記憶部4のAC特性変化によるタイミングエラーを解消する機能を備えたからといって、特別に大規模な回路規模を要せず、その消費電力も特別に大きくなることもない。
また、実施例1では、異なる構成情報を切替設定した後、切替設定された各構成情報でもタイミングエラーが解消できない場合、記憶部4の動作を停止する。その結果、タイミングエラーを抱えた記憶部4の動作を自動停止できる。
また、実施例1では、構成情報がセットアップタイムを調整する情報としたので、構成情報を切替設定することでセットアップタイムを調整する。その結果、FPGA3は、切替えた構成情報のセットアップタイム前にデータを確定及び保持できるため、AC特性変化による記憶部4のタイミングエラーを解消できる。
尚、上記実施例1では、メモリNG信号を検出する都度、初期設定の構成情報“A”→構成情報“B”→構成情報“C”に切替設定し、電源停止後、再度、電源起動を検出すると、初期設定の構成情報“A”からFPGA3に設定する。しかしながら、記憶制御部5では、電源停止直前に設定中の構成情報、例えば、構成情報“B”をバックアップする不揮発性のバックアップ記憶部を備える。更に、記憶制御部5は、電源起動を検出した場合、タイミングエラーが生じた初期設定の構成情報“A”を再度設定せず、バックアップ記憶部に記憶中の構成情報“B”をFPGA3に設定しても良い。
また、上記実施例1では、記憶部4のAC特性変化に対応した構成情報として、例えば、セットアップタイムを調整する情報としたが、例えば、ホールドタイムを調整する情報としても良い。
また、構成情報として記憶部4に記憶されたデータを外部出力する制御信号の出力タイミングを調整する情報としても良い。FPGA3は、異なる構成情報を切替設定することで、制御信号の出力タイミングを調整して、記憶部4からのデータ読み出しタイミングを調整する。その結果、FPGA3は、記憶部4のAC特性変化によるタイミングエラーを解消できる。例えば、FPGA3が記憶部4へ出力する制御信号であるチップセレクト信号の出力タイミングを早める構成情報を切替設定することで、記憶部4のAC特性変化によるタイミングエラーを解消できる。
また、構成情報としてFPGA3が記憶部4のアクセス制御のタイミング調整に使用するクロック(CLK)の位相を調整する情報としても良い。この場合、FPGA3は、異なる構成情報を切替設定することで、クロック(CLK)の位相を調整して、記憶部4のアクセス制御のタイミングを調整する。その結果、FPGA3は、記憶部4のAC特性変化によるタイミングエラーを解消できる。
尚、上記実施例1では、FPGA3が、記憶部4のAC特性変化によるタイミングエラーが発生した場合、異なる構成情報を切替えて記憶部4のAC特性変化によるタイミングエラーを解消した。しかしながら、FPGA3内のメモリインタフェース12自体が故障した場合、記憶部4に対してアクセス制御できない。そこで、メモリインタフェース12自体が故障した場合でも、記憶部4に対して正常にアクセス制御できる情報処理装置1につき、実施例2として以下に説明する。
図6は、実施例2の情報処理装置内部の一例を示すブロック図である。尚、実施例1の情報処理装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図6に示す情報処理装置1Aは、CPU2と、FPGA3Aと、記憶部4と、記憶制御部5Aとを有する。CPU2は、情報処理装置1A全体を制御すると共に、FPGA3A経由で記憶部4をアクセス制御する。FPGA3Aは、CPU2と記憶部4との間に配置し、記憶部4をアクセス制御する。FPGA3Aは、CPUインタフェース11と、メモリインタフェース12Aと、メモリコントローラ13Bとを有する。
メモリインタフェース12Aは、メモリコントローラ13Bと記憶部4とを接続するインタフェースである。メモリインタフェース12Aは、運用モード設定部61と、低速モード設定部62と、SEL(Selector)63とを有する。運用モード設定部61は、記憶部4との通信速度が、後述の低速モードよりも速い通常速度の運用モードに設定する。低速モード設定部62は、通信速度が運用モードの通常速度よりも遅い低速モードに設定する。SEL63は、メモリコントローラ13Bの切替制御のモード制御信号に応じて運用モード設定部61又は低速モード設定部62を切替選択することで、通信速度を運用モード又は低速モードに設定する。尚、低速モードに設定された場合、メモリインタフェース12Aの通信速度が全体的に遅くなるため、ACタイミングのセットアップタイムやホールドタイムに余裕が生じてタイミングエラーが解消できる。
メモリコントローラ13Bは、設定中の構成情報に基づき、記憶部4をアクセス制御する。更に、メモリコントローラ13Bは、チェック部13Aの他に、メモリインタフェース12Aの故障を判定する故障判定部13Cを有する。故障判定部13Cは、所定タイミングに応じて、SEL63を切替制御することで運用モードから低速モードに切替設定する。尚、所定タイミングとは、例えば、チェック部13Aのチェック結果がOK状態でない、すなわちNG状態を検出した場合である。
故障判定部13Cは、例えば、チェック部13AがNG状態を検出した場合、運用モードから低速モードに切り替え設定してメモリインタフェース12Aの故障を判定する故障判定処理を実行する。故障判定部13Cは、低速モードに設定されてチェック結果がOK状態の場合、メモリインタフェース12Aが正常と判定する。これに対して、故障判定部13Cは、低速モードに設定されたにもかかわらず、チェック結果がNG状態のままの場合、メモリインタフェース12Aの故障と判定する。そして、故障判定部13Cは、メモリインタフェース12Aの故障と判定された場合、インタフェースNG信号を指示部30に出力する。
図7は、FPGA3Aのバンク構成の一例を示す説明図である。図7に示すFPGA3Aは、例えば、Bank a〜Bank pの合計16個のI/Oを備えたバンクを有し、各バンクは、設定された構成情報に基づき、例えば、メモリインタフェース12Aやメモリコントローラ13B等の各回路として機能(構成)する。そして、FPGA3Aは、空きのBankを確保しておく。例えば、FPGA3A内のBank aは、例えば、メモリインタフェース12Aとして機能し、FPGA3A内のBank bは、未使用の空き領域とする。
記憶制御部5Aは、メモリ20Aと、指示部30Aと、コンフィグレーション制御部40Aとを有する。メモリ20Aは、例えば、FPGA3A内のメモリインタフェース12Aの構成情報が格納してある。尚、メモリ20Aには、アドレス“0000”〜“0FFF”の格納領域に、FPGA3A内のBank aの構成情報“A”が格納してある。更に、メモリ20Aには、アドレス“1000”〜“1FFF”の格納領域に、FPGA3A内のBank aの構成情報“B”が格納してある。更に、メモリ20Aには、アドレス“2000”〜“2FFF”の格納領域に、FPGA3A内のBank aの構成情報“C”が格納してある。
また、メモリ20Aには、アドレス“3000”〜“3FFF”の格納領域に、FPGA3A内のBank bの構成情報“A”が格納してある。更に、メモリ20Aには、アドレス“4000”〜“4FFF”の格納領域に、FPGA3A内のBank bの構成情報“B”が格納してある。更に、メモリ20Aには、アドレス“5000”〜“5FFF”の格納領域に、FPGA3A内のBank bの構成情報“C”が格納してある。
指示部30Aは、生成部32の他に、選択部31Aを有する。選択部31Aは、メモリコントローラ13Bからの“H”レベルのメモリNG信号を検出すると、メモリ20Aに格納されたBankの内、切替先のBankを選択する第1の選択信号を出力する。更に、選択部31Aは、“H”レベルのメモリNG信号を検出すると、メモリ20Aに格納された切替先Bankの構成情報“A”〜“C”の内、切替先の構成情報を選択する第2の選択信号を出力する。生成部32は、“H”レベルのメモリNG信号及び“H”レベルのインタフェースNG信号を検出すると、“H”レベルのメモリNG信号及び“H”レベルのインタフェースNG信号のタイミングに基づき再コンフィグ信号を生成する。尚、再コンフィグ信号は、他の構成情報をFPGA3Aに再設定する際のコンフィグ信号の生成に使用する。
コンフィグレーション制御部40Aは、選択部31Aから切替先のBank及び切替先の構成情報を選択する選択信号を検出すると、メモリ20Aから指定のBankの構成情報を読み出す。尚、選択信号は、切替先のBankを選択する第1の選択信号と、切替先の構成情報を選択する第2の選択信号とを含む。
コンフィグレーション制御部40Aは、Bank指定部41Aと、上位指定部41Bと、下位指定部42Aと、ビット結合部43Aとを有する。Bank指定部41Aは、選択部31Aから第1の選択信号が検出されると、切替先のBankを指定する。Bank指定部41Aは、第1の選択信号“0”が検出されると、Bank aを指定すると共に、第1の選択信号“1”が検出されると、Bank bを指定する。
また、上位指定部41Bは、選択部31Aから第2の選択信号が検出されると、切替先の構成情報を指定する。上位指定部41Bは、例えば、第2の選択信号“0”が検出されると、構成情報“A”を指定する。また、上位指定部41Bは、例えば、第2の選択信号“1”が検出されると、構成情報“B”を指定する。また、上位指定部41Bは、例えば、第2の選択信号“2”が選択されると、構成情報“C”を指定する。
また、下位指定部42Aは、メモリ20A内の格納領域のアドレスの下位ビットを指定する。ビット結合部43Aは、上位ビットと下位ビットとを結合して読み出し対象の構成情報のアドレスを指定する。ビット結合部43Aは、例えば、Bank指定部41Aが“0”、上位指定部41Bが“0”の場合、Bank aの構成情報“A”の上位アドレス“0”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“0”と下位アドレス“000”とを結合して、アドレス“0000”を指定してBank aの構成情報“A”をメモリ20Aから読み出す。
また、ビット結合部43Aは、Bank指定部41Aが“0”、上位指定部41Bが“1”の場合、Bank aの構成情報“B”の上位アドレス“1”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“1”と下位アドレス“000”とを結合して、アドレス“1000”を指定してBank aの構成情報“B”をメモリ20Aから読み出す。
また、ビット結合部43Aは、Bank指定部41Aが“0”、上位指定部41Bが“2”の場合、Bank aの構成情報“C”の上位アドレス“2”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“2”と下位アドレス“000”とを結合して、アドレス“2000”を指定してBank aの構成情報“C”をメモリ20Aから読み出す。
また、ビット結合部43Aは、例えば、Bank指定部41Aが“1”、上位指定部41Bが“0”の場合、Bank bの構成情報「A」の上位アドレス“3”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“3”と下位アドレス“000”とを結合して、アドレス“3000”を指定してBank bの構成情報“A”をメモリ20Aから読み出す。
また、ビット結合部43Aは、例えば、Bank指定部41Aが“1”、上位指定部41Bが“1”の場合、Bank bの構成情報“B”の上位アドレス“4”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“4”と下位アドレス“000”とを結合して、アドレス“4000”を指定してBank bの構成情報“B”をメモリ20Aから読み出す。
また、ビット結合部43Aは、例えば、Bank指定部41Aが“1”、上位指定部41Bが“2”の場合、Bank bの構成情報“C”の上位アドレス“5”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“5”と下位アドレス“000”とを結合して、アドレス“5000”を指定してBank bの構成情報“C”をメモリ20Aから読み出す。
コンフィグレーション制御部40Aは、ビット結合部43Aからのアドレス信号に基づき、メモリ20Aから構成情報を読み出す。更に、コンフィグレーション制御部40Aは、生成部32から再コンフィグ信号を検出すると、読み出された指定の構成情報をFPGA3Aに設定するコンフィグ信号をFPGA3Aに出力する。FPGA3Aは、コンフィグ信号を検出すると、構成情報を設定する。
つまり、コンフィグレーション制御部40Aは、Bank bの構成情報がメモリ20Aから読み出されると、Bank bの格納領域に構成情報が設定される。その結果、FPGA3Aは、FPGA3A内のBank aのメモリインタフェース12Aの代わりに、Bank bの新たなメモリインタフェース12Aを機能させる。
次に実施例2の情報処理装置1Aの動作について説明する。図8は、コンフィグレーション制御処理に関わるFPGA3A及びコンフィグレーション制御部40Aの処理動作の一例を示すフローチャートである。図8においてコンフィグレーション制御部40Aは、情報処理装置1Aの電源起動時にメモリ20Aに格納された初期設定のBank aの構成情報“A”をFPGA3A内のBank aに設定する(ステップS31)。FPGA3Aは、通常運用時に、例えば、記憶部4に書き込んだデータを読み出す(ステップS32)。
FPGA3Aのメモリコントローラ13Bのチェック部13Aは、記憶部4のチェック結果がOK状態であるか否かを判定する(ステップS33)。尚、チェック部13Aは、例えば、セットアップタイム及びホールドタイムの正常条件を満たしたか否かを判定し、正常条件を満たした場合はチェック結果をOK状態とし、正常条件を満たしていない場合はチェック結果をOK状態でない、NG状態とする。チェック部13Aは、チェック結果がOK状態の場合(ステップS33肯定)、記憶部4に書き込んだデータを読み出すべく、ステップS32に移行する。
また、メモリコントローラ13Bの故障判定部13Cは、チェック結果がOK状態でない場合(ステップS33否定)、後述する図9の故障判定処理の判定結果に基づき、メモリインタフェース12Aが故障であるか否かを判定する(ステップS34)。故障判定部13Cは、メモリインタフェース12Aが故障でない場合(ステップS34否定)、選択部31Aに対して“H”レベルのメモリNG信号を出力する(ステップS35)。
選択部31Aは、“H”レベルのメモリNG信号を検出すると、Bank aの構成情報の内、切替先の構成情報を選択する選択信号をコンフィグレーション制御部40Aに出力する(ステップS36)。尚、選択信号は、第1の選択信号“0”と、第2選択信号とを含む。更に、生成部32は、“H”レベルのメモリNG信号を検出すると、メモリNG信号のタイミングに基づき再コンフィグ信号をコンフィグレーション制御部40Aに出力する(ステップS37)。
コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank aの構成情報が“C”であるか否かを判定する(ステップS38)。コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank aの構成情報が“C”でない場合(ステップS38否定)、再コンフィグ信号を検出すると、コンフィグ信号をFPGA3Aに出力する。そして、FPGA3Aは、コンフィグ信号を検出すると、Bank aの切替先の構成情報をFPGA3Aに再設定する(ステップS39)。尚、FPGA3A内のメモリコントローラ13Aは、情報処理装置1Aの電源起動時に初期設定のBank aの構成情報“A”を設定し、“H”レベルのメモリNG信号を検出する都度、Bank a内の構成情報“B”→構成情報“C”に切替え設定する。そして、FPGA3Aのメモリコントローラ13Bは、コンフィグ信号でBank aの構成情報が再設定されると、ステップS32に移行する。
また、コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank aの構成情報が“C”である場合(ステップS38肯定)、メモリ20A内の全ての構成情報が設定されてもチェック結果がNG状態と判定する。その結果、コンフィグレーション制御部40Aは、記憶部4の故障を外部通知する(ステップS40)。尚、情報処理装置1A側のユーザは、例えば、故障アラームの音響出力や点灯出力等の外部通知で記憶部4の故障を認識できる。更に、コンフィグレーション制御部40Aは、記憶部4の故障を外部通知すると、記憶部4の動作を停止し(ステップS41)、図8に示す処理動作を終了する。
また、故障判定部13Cは、メモリインタフェース12Aが故障の場合(ステップS34肯定)、選択部31Aに対して“H”レベルのインタフェースNG信号を出力する(ステップS42)。コンフィグレーション制御部40Aは、選択部31Aの指示に応じて、Bank bの構成情報“A”をメモリ20Aから読み出す(ステップS43)。コンフィグレーション制御部40Aは、読み出されたBank bの構成情報“A”をFPGA3A内のBank bに設定する(ステップS44)。
FPGA3Aは、例えば、記憶部4に書き込んだデータを読み出す(ステップS45)。チェック部13Aは、記憶部4のチェック結果がOK状態であるか否かを判定する(ステップS46)。チェック部13Aは、チェック結果がOK状態の場合(ステップS46肯定)、記憶部4に書き込んだデータを読み出すべく、ステップS45に移行する。
また、チェック部13Aは、チェック結果がOK状態でない場合(ステップS46否定)、選択部31Aに対して“H”レベルのメモリNG信号を出力する(ステップS47)。選択部31Aは、“H”レベルのメモリNG信号を検出すると、Bank bの構成情報の内、切替先の構成情報を選択する選択信号をコンフィグレーション制御部40Aに出力する(ステップS48)。尚、選択信号は、第1の選択信号“1”と、第2の選択信号とを含む。更に、生成部32は、“H”レベルのメモリNG信号を検出すると、メモリNG信号のタイミングに基づき再コンフィグ信号をコンフィグレーション制御部40Aに出力する(ステップS49)。
コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank bの構成情報が“C”であるか否かを判定する(ステップS50)。コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank bの構成情報が“C”でない場合(ステップS50否定)、再コンフィグ信号を検出すると、コンフィグ信号をFPGA3Aに出力する。そして、FPGA3Aは、コンフィグ信号を検出すると、Bank bの切替先の構成情報をFPGA3Aに再設定する(ステップS51)。尚、メモリコントローラ13Aは、メモリインタフェース12Aの故障判定時に設定のBank bの構成情報“A”を設定した場合、“H”レベルのメモリNG信号を検出する都度、Bank b内の構成情報“B”→構成情報“C”に切替え設定する。そして、FPGA3Aのメモリコントローラ13Bは、コンフィグ信号でBank bの構成情報が再設定されると、ステップS45に移行する。
また、コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank bの構成情報が“C”である場合(ステップS50肯定)、メモリ20A内の全ての構成情報が設定されてもチェック結果がNG状態と判定する。その結果、コンフィグレーション制御部40Aは、FPGA3Aの故障を外部通知すべく、ステップS40に移行する。
図8に示すコンフィグレーション制御処理では、メモリインタフェース12Aが故障と判定されると、メモリ20Aに格納中のBank bの構成情報を読み出し、読み出された構成情報をFPGA3A内のBank bに設定する。FPGA3Aは、Bank bに新規のメモリインタフェース12Aを設定する。その結果、FPGA3Aは、FPGA3A内のBank aの故障のメモリインタフェース12AをFPGA3A内のBank bの新規のメモリインタフェース12Aに代用できる。
コンフィグレーション制御処理では、メモリインタフェース12Aの故障判定後、Bank bの構成情報“A”を設定した後、“H”レベルのメモリNG信号を検出する都度、構成情報“B”→構成情報“C”の順に切替設定する。その結果、Bank bの構成情報を、構成情報“A”→構成情報“B”→構成情報“C”の順に提供できる。
また、コンフィグレーション制御処理では、Bank bの構成情報“A”→構成情報“B”→構成情報“C”の各構成情報が切替設定されても、エラーが解消できない場合には、FPGA3Aの故障を外部通知する。その結果、情報処理装置1A側のユーザは、外部通知に基づきFPGA3Aの故障を認識できる。
更に、コンフィグレーション制御処理では、Bank bの各構成情報が順次設定されても、メモリインタフェース12Aの故障が解消できなかった場合、記憶部4の動作を停止する。その結果、故障したメモリインタフェース12Aと接続する記憶部4の動作を自動停止できる。
図9は、故障判定処理に関わる故障判定部13Cの処理動作の一例を示すフローチャートである。図9に示す故障判定処理は、FPGA3A内のメモリインタフェース12Aの故障を判定する処理である。
図9において故障判定部13Cは、所定タイミングであるか否かを判定する(ステップS61)。尚、所定タイミングとは、例えば、チェック部13Aのチェック結果がOK状態でない、すなわちNG状態と判定されたタイミングである。故障判定部13Cは、所定タイミングの場合(ステップS61肯定)、メモリインタフェース12Aを低速モードに設定する(ステップS62)。尚、故障判定部13Cは、メモリインタフェース12A内のSEL63に対して運用モード設定部61から低速モード設定部62に切替選択し、メモリインタフェース12Aを低速モードに設定する。
故障判定部13Cは、低速モードに設定した後、チェック部13Aを通じてチェック結果がOK状態であるか否かを判定する(ステップS63)。故障判定部13Cは、チェック結果がOK状態の場合(ステップS63肯定)、現在使用中のメモリインタフェース12Aが正常と判定する(ステップS64)。故障判定部13Cは、メモリインタフェース12Aが正常と判定されると、メモリインタフェース12Aを運用モードに設定し(ステップS65)、図9に示す処理動作を終了する。
また、故障判定部13Cは、チェック結果がOK状態でない場合(ステップS63否定)、現在使用中のメモリインタフェース12A自体が故障と判定し(ステップS66)、メモリインタフェース12Aを運用モードに設定すべく、ステップS65に移行する。
図9に示す故障判定処理では、記憶部4との通信速度を低速にしたにも関わらず、チェック結果がNG状態の場合、FPGA3A内のメモリインタフェース12A自体が故障と判定する。その結果、FPGA3Aの故障判定部13Cは、Bank内のメモリインタフェース12Aの故障を認識できる。
また、故障判定処理では、記憶部4との通信速度を低速することでチェック結果がOK状態の場合、FPGA3A内のメモリインタフェース12Aが正常と判定する。その結果、FPGA3Aの故障判定部13Cは、Bank内のメモリインタフェース12Aの正常を認識できる。
実施例2の情報処理装置1Aでは、FPGA3A内のBank aのメモリインタフェース12A自体が故障した場合、FPGA3A内のBank bにBank bの構成情報を設定することで新たなメモリインタフェース12Aを構成する。その結果、FPGA3Aは、Bank aの故障したメモリインタフェース12AをBank bのメモリインタフェース12Aに代用できるため、FPGA3Aの故障によるタイミングエラーを解消できる。
実施例2の情報処理装置1Aでは、Bank毎に複数の構成情報を記憶しておく。そして、情報処理装置1Aは、他のBankの一の構成情報をFPGA3Aに設定した後、記憶部4のAC特性変化で“H”レベルのメモリNG信号を検出した場合、同一Bank内の他の構成情報に切替えて、切替えられた構成情報をFPGA3Aに設定する。その結果、FPGA3Aは、記憶部4のAC特性変化によるタイミングエラーが発生した場合でも、同一Bank内の構成情報を切替えて記憶部4のAC特性変化によるタイミングエラーを解消できる。
尚、上記実施例2の故障判定処理では、ステップS61の所定タイミングとして、例えば、チェック部13Aによるチェック結果がNG状態と判定されたタイミングを例示したが、このタイミングに限定されるものではない。例えば、FPGA3Aが記憶部4とのアクセスが少なくなる時間帯等のタイミングとしても良い。
また、上記実施例では、メモリ20(20A)内に記憶された構成情報を3種類の構成情報としたが、その数に限定されるものではない。また、構成情報は、例えば、FeRAM、MRAM、PRAM、ReRAM、DRAMやSRAM等のメモリ装置に記憶しても良い。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現できる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図10は、記憶制御プログラムを実行するコンピュータを示す説明図である。
図10に示すように、記憶制御プログラムとしてのコンピュータ100では、HDD(Hard Disk Drive)110、RAM(Random Access Memory)120、ROM(Read Only Memory)130及びCPU140がバス150を介して接続される。更に、コンピュータ100は、記憶部170をアクセス制御するFPGA160をバス150で接続される。
そして、ROM130若しくはHDD110には、上記の実施例と同様の機能を発揮する記憶制御プログラムが予め記憶されている。尚、ROM130及びHDD110ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体に記憶制御プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。記憶制御プログラムとしては、図10に示すように、設定プログラム131である。尚、設定プログラム131は、図1に示した記憶制御部5の各構成要素と同様、適宜統合又は分散してもよい。
そして、CPU140が、設定プログラム131をROM130から読み出して実行する。そして、設定プログラム131は、設定プロセス141として機能する。
CPU140は、記憶部170をアクセス制御するFPGA160に関わる、記憶部170のアクセス制御の特性に対応した、複数の構成情報を記憶するRAM120から構成情報をFPGA160に設定する。更に、CPU140は、RAM120に記憶中の一の構成情報をFPGA160に設定した後、記憶部170のタイミングエラーを検出すると、RAM120に記憶中の異なる構成情報に切替えて、切替えられた構成情報をFPGA160に設定する。その結果、FPGA160は、記憶部170の特性変化によるタイミングエラーが発生した場合でも、構成情報を切替えて記憶部170の特性変化によるタイミングエラーを解消できる。
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。
(付記1)複数のバンクを備え、設定された構成情報に基づき、前記バンク内に回路を構成する制御部と、
前記バンクに対応した前記構成情報を記憶する構成記憶部と、
前記構成記憶部から前記構成情報を読み出し、読み出された構成情報に関わるバンク内に当該構成情報を設定する設定部と、
前記設定部によって設定された前記構成情報に基づき当該バンク内に構成された、記憶部と接続する回路と当該記憶部との間のタイミング調整のエラーを検出した場合に、前記回路の故障と判定する故障判定部と
を有することを特徴とする記憶制御装置。
(付記2)前記設定部は、
前記故障判定部によって前記回路の故障と判定された場合に、前記制御部内の他のバンクに、前記記憶部と接続する回路を構成する前記構成情報を設定し、
前記制御部は、
前記設定部によって設定された前記構成情報に基づき、当該バンク内に当該回路を構成することを特徴とする付記1に記載の記憶制御装置。
(付記3)前記設定部は、
前記故障判定部によって前記回路の故障と判定された場合に、前記制御部内の未使用のバンクに、前記記憶部と接続する回路を構成する前記構成情報を設定し、
前記制御部は、
前記設定部によって設定された前記構成情報に基づき、当該未使用のバンク内に当該回路を構成することを特徴とする付記1に記載の記憶制御装置。
(付記4)前記故障判定部は、
前記回路と前記記憶部との間の通信速度を運用速度から低速化して前記タイミング調整のエラーを検出したか否かを判定し、前記タイミング調整のエラーを検出した場合に、前記回路の故障と判定すると共に、
前記通信速度を低速化して前記タイミング調整のエラーを検出しなかった場合に、前記回路の正常と判定する
ことを特徴とする付記1〜3の何れか一つに記載の記憶制御装置。
(付記5)複数のバンクを備え、設定された構成情報に基づき、前記バンク内に回路を構成する制御部と、前記バンクに対応した前記構成情報を記憶する構成記憶部と、前記構成記憶部から前記構成情報を読み出し、読み出された構成情報に関わるバンク内に当該構成情報を設定する設定部とを有する記憶制御装置の記憶制御方法であって、
前記記憶制御装置は、
前記設定部によって設定された前記構成情報に基づき当該バンク内に構成された、記憶部と接続する回路と当該記憶部との間のタイミング調整のエラーを検出した場合に、前記回路の故障と判定する
ことを特徴とする記憶制御方法。
1,1A 情報処理装置
3,3A FPGA
4 記憶部
5,5A 記憶制御部
13,13B メモリコントローラ
13A チェック部
13C 故障判定部
20,20A メモリ
30,30A 指示部
31,31A 選択部
32 生成部
40,40A コンフィグレーション制御部

Claims (11)

  1. 記憶部と、
    前記記憶部をアクセス制御する、書き換え可能な制御部と、
    前記記憶部のアクセス制御の特性に対応する複数の構成情報記憶された構成記憶部と、
    前記構成情報を前記制御部に設定することにより、前記制御部の回路の構成を書き換える設定部と
    を有し、
    前記設定部は、
    前記構成記憶部に記憶された前記複数の構成情報の内、一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記一の構成情報と異なる他の構成情報前記制御部に設定する
    ことを特徴とする記憶制御装置。
  2. 前記設定部にて前記他の構成情報を前記制御部に設定した後、設定後の前記記憶部の前記制御エラーを検出した場合に、設定可能な構成情報があるか否かを判定し、設定可能な構成情報がなくなった場合に、前記記憶部の動作を停止する停止部を有することを特徴とする請求項1に記載の記憶制御装置。
  3. 前記記憶部の電源停止直前に設定中の前記構成情報を記憶するバックアップ記憶部を有し、
    前記設定部は、
    前記電源の起動を検出した場合、前記バックアップ記憶部に記憶中の前記構成情報を前記制御部に設定することを特徴とする請求項1又は2に記載の記憶制御装置。
  4. 前記構成情報は、
    前記制御部が前記記憶部のセットアップタイムを調整する情報であって、
    前記設定部は、
    異なる構成情報を前記制御部に設定することで、前記制御部の前記セットアップタイムを調整して前記記憶部へのデータ書込みタイミングを調整することを特徴とする請求項1又は2に記載の記憶制御装置。
  5. 前記構成情報は、
    前記制御部が前記記憶部に記憶されたデータを外部出力する制御信号の出力タイミングを調整する情報であって、
    前記設定部は、
    異なる構成情報を前記制御部に設定することで、前記制御部が前記出力タイミングを調整して、前記記憶部からのデータ出力タイミングを調整することを特徴とする請求項1又は2に記載の記憶制御装置。
  6. 前記構成情報は、
    前記制御部が前記記憶部のアクセス制御のタイミング調整に使用するクロック位相を調整する情報であって、
    前記設定部は、
    異なる構成情報を前記制御部に設定することで、前記制御部が前記クロック位相を調整して、前記記憶部のアクセス制御のタイミングを調整することを特徴とする請求項1又は2に記載の記憶制御装置。
  7. 前記制御部は、
    複数のバンクを備え、設定された構成情報に基づき、前記バンク内に前記回路を構成し、
    前記構成記憶部は、
    前記バンクに対応した前記構成情報が記憶され、
    前記設定部は、
    前記構成情報を前記制御部に設定することにより、前記バンク内の前記回路の構成を書き換えることを特徴とする請求項1又は2に記載の記憶制御装置。
  8. 前記設定部にて設定された前記構成情報に基づき、当該バンク内に構成された前記回路と接続する記憶部の制御エラーを検出したか否かを判定する第1の判定部と、
    前記記憶部の制御エラーを検出した場合に、前記記憶部と接続する前記回路の障害を検出したか否かを判定する第2の判定部と
    をさらに有し、
    前記設定部は、
    前記第2の判定部にて前記回路の障害を検出した場合に、前記制御部内の他のバンクに、前記記憶部と接続する回路を構成する前記構成情報を設定することを特徴とする請求項7に記載の記憶制御装置。
  9. 前記設定部にて設定された前記構成情報に基づき、当該バンク内に構成された前記回路と接続する記憶部の故障を検出したか否かを判定する第3の判定部と、
    前記記憶部の故障を検出した場合に、前記記憶部と前記回路との間の通信速度を運用速度から低速化して前記記憶部と前記回路との間のタイミング調整のエラーを検出したか否かを判定し、その判定結果に基づき、前記記憶部と接続する前記回路の障害を検出したか否かを判定する第4の判定部と
    をさらに有し、
    前記設定部は、
    前記第4の判定部にて前記回路の障害を検出した場合に、前記制御部内の他のバンクに、前記記憶部と接続する回路を構成する前記構成情報を設定することを特徴とする請求項7に記載の記憶制御装置。
  10. 記憶部と、前記記憶部をアクセス制御する、書き換え可能な制御部と、前記記憶部のアクセス制御の特性に対応する複数の構成情報が記憶された構成記憶部と、前記構成情報を前記制御部に設定することにより、前記制御部の回路の構成を書き換える設定部とを有する記憶制御装置は、
    前記構成記憶部に記憶された前記複数の構成情報の内、一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記一の構成情報と異なる他の構成情報前記制御部に設定する
    処理を実行することを特徴とする記憶制御方法。
  11. 記憶部と、前記記憶部をアクセス制御する、書き換え可能な制御部と、前記記憶部のアクセス制御の特性に対応する複数の構成情報が記憶された構成記憶部と、前記構成情報を前記制御部に設定することにより、前記制御部の回路の構成を書き換える設定部とを有する記憶制御装置に、
    前記構成記憶部に記憶された前記複数の構成情報の内、一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記一の構成情報と異なる他の構成情報前記制御部に設定する
    処理を実行させることを特徴とする記憶制御プログラム。
JP2012035360A 2011-03-30 2012-02-21 記憶制御装置、記憶制御方法及び記憶制御プログラム Expired - Fee Related JP5810962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012035360A JP5810962B2 (ja) 2011-03-30 2012-02-21 記憶制御装置、記憶制御方法及び記憶制御プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011076757 2011-03-30
JP2011076757 2011-03-30
JP2012035360A JP5810962B2 (ja) 2011-03-30 2012-02-21 記憶制御装置、記憶制御方法及び記憶制御プログラム

Publications (2)

Publication Number Publication Date
JP2012216188A JP2012216188A (ja) 2012-11-08
JP5810962B2 true JP5810962B2 (ja) 2015-11-11

Family

ID=47268867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012035360A Expired - Fee Related JP5810962B2 (ja) 2011-03-30 2012-02-21 記憶制御装置、記憶制御方法及び記憶制御プログラム

Country Status (1)

Country Link
JP (1) JP5810962B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200053886A (ko) 2018-11-09 2020-05-19 삼성전자주식회사 뉴럴 프로세싱 유닛, 뉴럴 프로세싱 시스템, 및 어플리케이션 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123717A (ja) * 1994-10-25 1996-05-17 Oki Electric Ind Co Ltd 半導体記憶装置
JP2001265647A (ja) * 2000-03-17 2001-09-28 Mitsubishi Electric Corp 基板システム、基板システムにおけるメモリ制御方法および基板システムにおけるメモリ置換方法
JP2005348272A (ja) * 2004-06-04 2005-12-15 Fujitsu Ltd 共通パッケージ搭載装置
JP2006091940A (ja) * 2004-09-21 2006-04-06 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2008192108A (ja) * 2007-02-08 2008-08-21 Yokogawa Electric Corp 二重化情報処理システム
JP2009075759A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
JP2011221819A (ja) * 2010-04-09 2011-11-04 Toshiba Denpa Products Kk パラメータ設定によるsdramコントローラ

Also Published As

Publication number Publication date
JP2012216188A (ja) 2012-11-08

Similar Documents

Publication Publication Date Title
KR100706240B1 (ko) 하나의 테스트 핀을 사용하여 테스트 할 수 있는 시스템온 칩 및 테스트 방법
JP3708726B2 (ja) 欠陥救済回路
JP6113964B2 (ja) 動的ポート優先割当能力を有しているメモリコントローラー
TWI678702B (zh) 具有熔絲陣列的半導體裝置及其操作方法
KR20140013695A (ko) 페일 어드레스 감지기, 그것을 포함하는 반도체 메모리 장치 및 페일 어드레스 감지 방법
JP2012252733A (ja) 半導体装置
JP2006275616A (ja) 半導体装置及びスキュー調整方法
CN101925885A (zh) 存储器存取定时调整装置以及存储器存取定时调整方法
TW201826282A (zh) 用於記憶體之冗餘方案
JP5810962B2 (ja) 記憶制御装置、記憶制御方法及び記憶制御プログラム
JP2004185691A (ja) 半導体記憶装置のテスト方法、半導体記憶装置のテスト回路、半導体記憶装置及び半導体装置
JP2019003717A (ja) 半導体記憶装置
JP2019192322A (ja) 半導体装置、半導体装置のメモリテスト方法、テストパターン生成プログラム
WO2018096776A1 (ja) 電源回路
JP2010250905A (ja) 半導体集積回路およびそのテスト方法
TWI517163B (zh) 非揮發性記憶體設備與用於處理其組態資訊的方法
KR102163983B1 (ko) 반도체 메모리 장치
JP4282716B2 (ja) 半導体記憶装置
JP6084535B2 (ja) メモリチップ試験回路
JP2003288278A (ja) マイクロコントローラ
JP6530166B2 (ja) 半導体集積装置のテスト方法及び半導体集積装置
JP6035760B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP2013037749A (ja) 書込回路、半導体集積回路、及び書込方法
JP6108478B2 (ja) コンピュータ装置、アドレス変換装置及びプログラム
US20050223160A1 (en) Memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150831

R150 Certificate of patent or registration of utility model

Ref document number: 5810962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees