JP2012216188A - Storage control device, storage control method, and storage control program - Google Patents
Storage control device, storage control method, and storage control program Download PDFInfo
- Publication number
- JP2012216188A JP2012216188A JP2012035360A JP2012035360A JP2012216188A JP 2012216188 A JP2012216188 A JP 2012216188A JP 2012035360 A JP2012035360 A JP 2012035360A JP 2012035360 A JP2012035360 A JP 2012035360A JP 2012216188 A JP2012216188 A JP 2012216188A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- configuration information
- storage unit
- configuration
- control
- 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
Links
Images
Abstract
Description
本発明は、記憶制御装置、記憶制御方法及び記憶制御プログラムに関する。 The present invention relates to a storage control device, a storage control method, and a storage control program.
例えば、通信機器やコンピュータ等の情報処理装置は、各種情報を記憶した記憶部を有している。図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に対する各種制御信号のタイミングを制御する情報である。
For example, an information processing apparatus such as a communication device or a computer has a storage unit that stores various types of information. FIG. 11 is a block diagram illustrating an example of the inside of the information processing apparatus. For example, the
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)等のメモリ装置である。
The
記憶制御部104は、フラッシュメモリ111と、コンフィグレーション制御部112とを有する。コンフィグレーション制御部112は、情報処理装置100Aの電源起動を検出すると、フラッシュメモリ111に記憶中の初期設定の構成情報を読み出す。更に、コンフィグレーション制御部112は、構成情報及びコンフィグレーション信号(以下、コンフィグ信号と称する)をFPGA102に通知する。FPGA102内のメモリコントローラ102Cは、コンフィグレーション制御部112からのコンフィグ信号に応じて構成情報をFPGA102に設定する。
The
メモリコントローラ102Cは、記憶部103との間で、例えば、アドレス信号、チップセレクト信号、ライトイネーブル信号、アウトプットイネーブル信号等の制御信号を用いて記憶部103のアクセスを制御する。尚、アドレス信号は、記憶部103内のアドレスを指定する信号である。チップセレクト信号は、記憶部103内のチップを指定する信号である。ライトイネーブル信号は、記憶部103内のデータ書込みを指示する信号である。アウトプットイネーブル信号は、記憶部103内のデータ読出を指示する信号である。
The
構成情報は、メモリコントローラ102Cが記憶部103に対して正常にアクセス制御する上で、例えば、所定のセットアップタイム及びホールドタイムを設定する情報である。尚、セットアップタイムは、タイミング信号に先立ってデータを確定及び保持する最小限の時間である。ホールドタイムは、タイミング信号検出後もデータを保持する時間である。つまり、メモリコントローラ102Cは、セットアップタイム及びホールドタイムの条件を満たすことで、記憶部103との制御信号間の正常なタイミングでアクセス制御が可能となる。
The configuration information is information for setting, for example, a predetermined setup time and hold time when the
しかしながら、FPGA102は、初期設定の構成情報を設定中に、記憶部103の経年劣化や温度変化等の環境変化で記憶部103のAC特性に変化が生じた場合に記憶部103との制御信号間でタイミングエラーが生じる。従って、FPGA102では、記憶部103との制御信号間のタイミングエラーが生じた場合、初期設定の構成情報で決定される、例えば、セットアップタイムまでにデータを確定及び保持できない。その結果、FPGA102は、記憶部103の特性変化等で初期設定の構成情報では記憶部103に対する正常なアクセス制御を確保できない。
However, the
そこで、記憶制御部104では、例えば、チップセレクト信号、アドレス信号、ライトイネーブル信号やアウトプットイネーブル信号等の制御信号毎にタイミングを調整するタイミング調整回路を備え、制御信号間のタイミングエラーを解消することが考えられる。しかしながら、各タイミング調整回路は、制御信号のタイミングを高精度に調整するには複数段のフリップフロップ回路を要する。従って、記憶制御部104では、制御信号毎に複数のフリップフロップ回路を備えたタイミング調整回路を要するため、その回路規模が大規模になることは勿論のこと、その消費電力も大きくなる。
Therefore, the
一つの側面は、記憶部の特性に変化が生じた場合でも記憶部に対して正常なアクセス制御を確保できる記憶制御装置、記憶制御方法及び記憶制御プログラムを提供することを目的とする。 An object of one aspect is to provide a storage control device, a storage control method, and a storage control program that can ensure normal access control for a storage unit even when the characteristics of the storage unit change.
開示の装置は一つの態様において、記憶部をアクセス制御する制御部に関わる、前記記憶部のアクセス制御の特性に対応した、複数の構成情報を記憶する構成記憶部と、前記構成情報を前記制御部に設定する設定部とを有する。更に、開示の装置の前記設定部は、前記構成記憶部に記憶中の一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記構成記憶部に記憶中の異なる構成情報に切替えて、切替えられた構成情報を前記制御部に設定する。 In one aspect, the disclosed apparatus relates to a control unit that controls access to a storage unit, the configuration storage unit that stores a plurality of configuration information corresponding to the access control characteristics of the storage unit, and the control of the configuration information A setting unit to be set in the unit. Further, the setting unit of the disclosed apparatus sets one configuration information stored in the configuration storage unit in the control unit, and then detects a control error in the storage unit, stores the configuration information in the configuration storage unit. Switch to different configuration information and set the switched configuration information in the control unit.
記憶部の特性に変化が生じた場合でも記憶部に対して正常なアクセス制御を確保できる。 Even when a change occurs in the characteristics of the storage unit, normal access control can be ensured for the storage unit.
以下、図面に基づいて、本願の開示する記憶制御装置、記憶制御方法及び記憶制御プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。 Hereinafter, embodiments of a storage control device, a storage control method, and a storage control program disclosed in the present application will be described in detail with reference to the drawings. The disclosed technology is not limited by the present embodiment.
図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信号を出力する。
FIG. 1 is a block diagram illustrating an example of the inside of the information processing apparatus according to the first embodiment. An information processing apparatus 1 illustrated in FIG. 1 corresponds to, for example, a communication device or a computer, and includes a
記憶部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)等のメモリ装置である。 The storage unit 4 is, for example, a memory device such as EAROM (Electrically Alterable ROM), EEPROM (Electrically Erasable and Programmable ROM), flash memory, FeRAM (Ferroelectric RAM), or MRAM (Magnetic RAM). The storage unit 4 is, for example, a memory device such as PRAM (Pseudo RAM), ReRAM (Resistance RAM), DRAM (Dynamic RAM), or 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格納してもよい。
The storage control unit 5 includes a
指示部30は、選択部31と、生成部32とを有する。選択部31は、メモリコントローラ13からの“H”レベルのメモリNG信号を検出すると、メモリ20に格納された構成情報の内、切替先の構成情報を選択する選択信号を出力する。生成部32は、“H”レベルのメモリNG信号を検出すると、“H”レベルのメモリNG信号のタイミングに基づき再コンフィグ信号を生成する。
The
図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に再設定する際のコンフィグ信号の生成に使用する。
FIG. 2 is a block diagram illustrating an example of the inside of the
コンフィグレーション制御部40は、選択部31から切替先の構成情報を選択する選択信号を検出すると、選択信号により指定された構成情報をメモリ20から読み出す。
When the
コンフィグレーション制御部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は、コンフィグ信号を検出すると、構成情報を設定する。
The
次に実施例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に出力する。
Next, the operation of the information processing apparatus 1 according to the first embodiment will be described. FIG. 4 is an explanatory diagram showing operation timings from the generation of the timing error of the storage unit 4 related to the FPGA 3 and the
コンフィグレーション制御部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のタイミングエラーが解消できる。
When receiving the selection signal, the
図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に移行する。
FIG. 5 is a flowchart illustrating an example of processing operations of the FPGA 3 and the
また、チェック部13Aは、チェック結果がOK状態でない場合(ステップS13否定)、選択部31に対して“H”レベルのメモリNG信号を出力する(ステップS14)。選択部31は、“H”レベルのメモリNG信号を検出すると、切替先の構成情報を選択する選択信号をコンフィグレーション制御部40に出力する(ステップS15)。更に、生成部32は、“H”レベルのメモリNG信号を検出すると、メモリNG信号のタイミングに基づき再コンフィグ信号をコンフィグレーション制御部40に出力する(ステップS16)。
If the check result is not in the OK state (No at Step S13), the
コンフィグレーション制御部40は、FPGA3に現在設定中の構成情報が“C”であるか否かを判定する(ステップS17)。コンフィグレーション制御部40は、FPGA3に現在設定中の構成情報が“C”でない場合(ステップS17否定)、再コンフィグ信号を検出すると、コンフィグ信号をFPGA3に出力する。そして、FPGA3は、コンフィグ信号を検出すると、切替先の構成情報をFPGA3に再設定する(ステップS18)。尚、FPGA3内のメモリコントローラ13は、情報処理装置1の電源起動時に初期設定の構成情報“A”を設定し、“H”レベルのメモリNG信号を検出する都度、構成情報“B”→構成情報“C”に切替え設定する。そして、コンフィグレーション制御部40は、コンフィグ信号で構成情報をFPGA3のメモリコントローラ13に再設定すると、ステップS12に移行する。
The
また、コンフィグレーション制御部40は、FPGA3に現在設定中の構成情報が“C”である場合(ステップS17肯定)、メモリ20内の全ての構成情報が設定されてもチェック結果がNG状態であると判断する。その結果、コンフィグレーション制御部40は、記憶部4の故障を外部通知する(ステップS19)。尚、情報処理装置1側のユーザは、例えば、故障アラームの音響出力や点灯出力等の外部通知で記憶部4の故障を認識できる。更に、コンフィグレーション制御部40は、記憶部4の故障を外部通知すると、記憶部4の動作を停止し(ステップS20)、図5に示す処理動作を終了する。
In addition, when the configuration information currently set in the FPGA 3 is “C” (Yes at Step S17), the
図5に示すコンフィグレーション制御処理では、記憶部4の特性変化で“H”レベルのメモリNG信号を検出すると、メモリ20に格納中の複数の構成情報から異なる構成情報を読み出し、読み出された構成情報をFPGA3に設定する。その結果、FPGA3は、読み出された構成情報が設定されるため、記憶部4の特性変化に対応した構成情報を提供できる。
In the configuration control process shown in FIG. 5, when an “H” level memory NG signal is detected by the characteristic change of the storage unit 4, different configuration information is read from the plurality of configuration information stored in the
また、コンフィグレーション制御処理では、情報処理装置1の電源起動時に初期設定の構成情報“A”、その後、“H”レベルのメモリNG信号を検出する都度、構成情報“B”→構成情報“C”の順に切替設定する。その結果、構成情報“A”→構成情報“B”→構成情報“C”の順に提供できる。尚、再度、情報処理装置1の電源起動を検出すると、初期設定の構成情報“A”に切替設定される。 Further, in the configuration control process, each time the information processing apparatus 1 detects the initial configuration information “A” when the power is turned on and then detects the “NG” memory NG signal, the configuration information “B” → the configuration information “C”. Switch settings in the order of "". As a result, configuration information “A” → configuration information “B” → configuration information “C” can be provided in this order. When the power-on of the information processing apparatus 1 is detected again, the setting information is switched to the initial configuration information “A”.
また、コンフィグレーション制御処理では、構成情報“A”→構成情報“B”→構成情報“C”の各構成情報が切替設定され、全ての構成情報によっても記憶部4のタイミングエラーが解消できない場合、記憶部4の故障を外部へ通知する。その結果、情報処理装置1側のユーザは、通知に基づき記憶部4の故障を認識できる。 In the configuration control process, the configuration information “A” → configuration information “B” → configuration information “C” is switched and set, and the timing error in the storage unit 4 cannot be resolved by all the configuration information. The failure of the storage unit 4 is notified to the outside. As a result, the user on the information processing device 1 side can recognize the failure of the storage unit 4 based on the notification.
更に、コンフィグレーション制御処理では、各構成情報が順次設定されても、記憶部4のタイミングエラーが解消できなかった場合、記憶部4の動作を停止する。その結果、タイミングエラーを抱えた記憶部4の動作を自動停止できる。 Further, in the configuration control process, if the timing error in the storage unit 4 cannot be resolved even if the respective pieces of configuration information are sequentially set, the operation of the storage unit 4 is stopped. As a result, the operation of the storage unit 4 having a timing error can be automatically stopped.
実施例1では、複数の構成情報を記憶しておき、一の構成情報をFPGA3に設定した後、記憶部4のAC特性変化で“H”レベルのメモリNG信号を検出した場合、他の構成情報に切替えて、切替えられた構成情報をFPGA3に設定する。その結果、FPGA3は、記憶部4のAC特性変化によるタイミングエラーが発生した場合でも、構成情報を切替えて記憶部4のAC特性変化によるタイミングエラーを解消できる。しかも、記憶制御部5では、記憶部4のAC特性変化によるタイミングエラーを解消する機能を備えたからといって、特別に大規模な回路規模を要せず、その消費電力も特別に大きくなることもない。 In the first embodiment, when a plurality of pieces of configuration information are stored and one piece of configuration information is set in the FPGA 3, and a memory NG signal of “H” level is detected due to an AC characteristic change in the storage unit 4, Switch to information and set the switched configuration information in the FPGA 3. As a result, even when a timing error due to the AC characteristic change in the storage unit 4 occurs, the FPGA 3 can switch the configuration information and eliminate the timing error due to the AC characteristic change in the storage unit 4. In addition, the storage control unit 5 does not require a particularly large circuit scale and has a particularly large power consumption just because it has a function of eliminating timing errors due to AC characteristic changes in the storage unit 4. Nor.
また、実施例1では、異なる構成情報を切替設定した後、切替設定された各構成情報でもタイミングエラーが解消できない場合、記憶部4の動作を停止する。その結果、タイミングエラーを抱えた記憶部4の動作を自動停止できる。 Further, in the first embodiment, after different configuration information is switched and set, if the timing error cannot be resolved even with the configuration information that is switched and set, the operation of the storage unit 4 is stopped. As a result, the operation of the storage unit 4 having a timing error can be automatically stopped.
また、実施例1では、構成情報がセットアップタイムを調整する情報としたので、構成情報を切替設定することでセットアップタイムを調整する。その結果、FPGA3は、切替えた構成情報のセットアップタイム前にデータを確定及び保持できるため、AC特性変化による記憶部4のタイミングエラーを解消できる。 In the first embodiment, since the configuration information is information for adjusting the setup time, the setup time is adjusted by switching the configuration information. As a result, since the FPGA 3 can determine and hold data before the setup time of the switched configuration information, the timing error of the storage unit 4 due to the AC characteristic change can be eliminated.
尚、上記実施例1では、メモリNG信号を検出する都度、初期設定の構成情報“A”→構成情報“B”→構成情報“C”に切替設定し、電源停止後、再度、電源起動を検出すると、初期設定の構成情報“A”からFPGA3に設定する。しかしながら、記憶制御部5では、電源停止直前に設定中の構成情報、例えば、構成情報“B”をバックアップする不揮発性のバックアップ記憶部を備える。更に、記憶制御部5は、電源起動を検出した場合、タイミングエラーが生じた初期設定の構成情報“A”を再度設定せず、バックアップ記憶部に記憶中の構成情報“B”をFPGA3に設定しても良い。 In the first embodiment, every time the memory NG signal is detected, the configuration information “A”, the configuration information “B”, and the configuration information “C” are switched from the initial setting, and the power is turned on again after the power is stopped. When detected, the initial configuration information “A” is set in the FPGA 3. However, the storage control unit 5 includes a nonvolatile backup storage unit that backs up the configuration information being set immediately before the power is stopped, for example, the configuration information “B”. Further, when detecting the power activation, the storage control unit 5 does not set the initial configuration information “A” in which the timing error has occurred, and sets the configuration information “B” stored in the backup storage unit in the FPGA 3. You may do it.
また、上記実施例1では、記憶部4のAC特性変化に対応した構成情報として、例えば、セットアップタイムを調整する情報としたが、例えば、ホールドタイムを調整する情報としても良い。 In the first embodiment, the configuration information corresponding to the AC characteristic change of the storage unit 4 is, for example, information for adjusting the setup time, but may be information for adjusting the hold time, for example.
また、構成情報として記憶部4に記憶されたデータを外部出力する制御信号の出力タイミングを調整する情報としても良い。FPGA3は、異なる構成情報を切替設定することで、制御信号の出力タイミングを調整して、記憶部4からのデータ読み出しタイミングを調整する。その結果、FPGA3は、記憶部4のAC特性変化によるタイミングエラーを解消できる。例えば、FPGA3が記憶部4へ出力する制御信号であるチップセレクト信号の出力タイミングを早める構成情報を切替設定することで、記憶部4のAC特性変化によるタイミングエラーを解消できる。 Moreover, it is good also as information which adjusts the output timing of the control signal which outputs the data memorize | stored in the memory | storage part 4 as structure information externally. The FPGA 3 adjusts the timing for reading data from the storage unit 4 by adjusting the output timing of the control signal by switching and setting different configuration information. As a result, the FPGA 3 can eliminate the timing error due to the AC characteristic change of the storage unit 4. For example, the timing error due to the AC characteristic change of the storage unit 4 can be eliminated by switching and setting the configuration information that advances the output timing of the chip select signal that is the control signal output from the FPGA 3 to the storage unit 4.
また、構成情報としてFPGA3が記憶部4のアクセス制御のタイミング調整に使用するクロック(CLK)の位相を調整する情報としても良い。この場合、FPGA3は、異なる構成情報を切替設定することで、クロック(CLK)の位相を調整して、記憶部4のアクセス制御のタイミングを調整する。その結果、FPGA3は、記憶部4のAC特性変化によるタイミングエラーを解消できる。 Further, the configuration information may be information for adjusting the phase of the clock (CLK) used by the FPGA 3 for adjusting the timing of access control of the storage unit 4. In this case, the FPGA 3 adjusts the access control timing of the storage unit 4 by adjusting the phase of the clock (CLK) by switching and setting different configuration information. As a result, the FPGA 3 can eliminate the timing error due to the AC characteristic change of the storage unit 4.
尚、上記実施例1では、FPGA3が、記憶部4のAC特性変化によるタイミングエラーが発生した場合、異なる構成情報を切替えて記憶部4のAC特性変化によるタイミングエラーを解消した。しかしながら、FPGA3内のメモリインタフェース12自体が故障した場合、記憶部4に対してアクセス制御できない。そこで、メモリインタフェース12自体が故障した場合でも、記憶部4に対して正常にアクセス制御できる情報処理装置1につき、実施例2として以下に説明する。 In the first embodiment, when the timing error due to the AC characteristic change of the storage unit 4 occurs, the FPGA 3 switches the different configuration information to eliminate the timing error due to the AC characteristic change of the storage unit 4. However, when the memory interface 12 in the FPGA 3 itself fails, access control to the storage unit 4 cannot be performed. Accordingly, an information processing apparatus 1 that can normally control access to the storage unit 4 even when the memory interface 12 itself fails will be described below as a second embodiment.
図6は、実施例2の情報処理装置内部の一例を示すブロック図である。尚、実施例1の情報処理装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図6に示す情報処理装置1Aは、CPU2と、FPGA3Aと、記憶部4と、記憶制御部5Aとを有する。CPU2は、情報処理装置1A全体を制御すると共に、FPGA3A経由で記憶部4をアクセス制御する。FPGA3Aは、CPU2と記憶部4との間に配置し、記憶部4をアクセス制御する。FPGA3Aは、CPUインタフェース11と、メモリインタフェース12Aと、メモリコントローラ13Bとを有する。
FIG. 6 is a block diagram illustrating an example of the inside of the information processing apparatus according to the second embodiment. The same components as those of the information processing apparatus 1 according to the first embodiment are denoted by the same reference numerals, and the description of the overlapping configuration and operation is omitted. An
メモリインタフェース12Aは、メモリコントローラ13Bと記憶部4とを接続するインタフェースである。メモリインタフェース12Aは、運用モード設定部61と、低速モード設定部62と、SEL(Selector)63とを有する。運用モード設定部61は、記憶部4との通信速度が、後述の低速モードよりも速い通常速度の運用モードに設定する。低速モード設定部62は、通信速度が運用モードの通常速度よりも遅い低速モードに設定する。SEL63は、メモリコントローラ13Bの切替制御のモード制御信号に応じて運用モード設定部61又は低速モード設定部62を切替選択することで、通信速度を運用モード又は低速モードに設定する。尚、低速モードに設定された場合、メモリインタフェース12Aの通信速度が全体的に遅くなるため、ACタイミングのセットアップタイムやホールドタイムに余裕が生じてタイミングエラーが解消できる。
The
メモリコントローラ13Bは、設定中の構成情報に基づき、記憶部4をアクセス制御する。更に、メモリコントローラ13Bは、チェック部13Aの他に、メモリインタフェース12Aの故障を判定する故障判定部13Cを有する。故障判定部13Cは、所定タイミングに応じて、SEL63を切替制御することで運用モードから低速モードに切替設定する。尚、所定タイミングとは、例えば、チェック部13Aのチェック結果がOK状態でない、すなわちNG状態を検出した場合である。
The
故障判定部13Cは、例えば、チェック部13AがNG状態を検出した場合、運用モードから低速モードに切り替え設定してメモリインタフェース12Aの故障を判定する故障判定処理を実行する。故障判定部13Cは、低速モードに設定されてチェック結果がOK状態の場合、メモリインタフェース12Aが正常と判定する。これに対して、故障判定部13Cは、低速モードに設定されたにもかかわらず、チェック結果がNG状態のままの場合、メモリインタフェース12Aの故障と判定する。そして、故障判定部13Cは、メモリインタフェース12Aの故障と判定された場合、インタフェースNG信号を指示部30に出力する。
For example, when the
図7は、FPGA3Aのバンク構成の一例を示す説明図である。図7に示すFPGA3Aは、例えば、Bank a〜Bank pの合計16個のI/Oを備えたバンクを有し、各バンクは、設定された構成情報に基づき、例えば、メモリインタフェース12Aやメモリコントローラ13B等の各回路として機能(構成)する。そして、FPGA3Aは、空きのBankを確保しておく。例えば、FPGA3A内のBank aは、例えば、メモリインタフェース12Aとして機能し、FPGA3A内のBank bは、未使用の空き領域とする。
FIG. 7 is an explanatory diagram showing an example of the bank configuration of the
記憶制御部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”が格納してある。
The
また、メモリ20Aには、アドレス“3000”〜“3FFF”の格納領域に、FPGA3A内のBank bの構成情報“A”が格納してある。更に、メモリ20Aには、アドレス“4000”〜“4FFF”の格納領域に、FPGA3A内のBank bの構成情報“B”が格納してある。更に、メモリ20Aには、アドレス“5000”〜“5FFF”の格納領域に、FPGA3A内のBank bの構成情報“C”が格納してある。
Further, the configuration information “A” of Bank b in the
指示部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に再設定する際のコンフィグ信号の生成に使用する。
In addition to the
コンフィグレーション制御部40Aは、選択部31Aから切替先のBank及び切替先の構成情報を選択する選択信号を検出すると、メモリ20Aから指定のBankの構成情報を読み出す。尚、選択信号は、切替先のBankを選択する第1の選択信号と、切替先の構成情報を選択する第2の選択信号とを含む。
When the
コンフィグレーション制御部40Aは、Bank指定部41Aと、上位指定部41Bと、下位指定部42Aと、ビット結合部43Aとを有する。Bank指定部41Aは、選択部31Aから第1の選択信号が検出されると、切替先のBankを指定する。Bank指定部41Aは、第1の選択信号“0”が検出されると、Bank aを指定すると共に、第1の選択信号“1”が検出されると、Bank bを指定する。
The
また、上位指定部41Bは、選択部31Aから第2の選択信号が検出されると、切替先の構成情報を指定する。上位指定部41Bは、例えば、第2の選択信号“0”が検出されると、構成情報“A”を指定する。また、上位指定部41Bは、例えば、第2の選択信号“1”が検出されると、構成情報“B”を指定する。また、上位指定部41Bは、例えば、第2の選択信号“2”が選択されると、構成情報“C”を指定する。
Further, when the second selection signal is detected from the selection unit 31A, the higher-
また、下位指定部42Aは、メモリ20A内の格納領域のアドレスの下位ビットを指定する。ビット結合部43Aは、上位ビットと下位ビットとを結合して読み出し対象の構成情報のアドレスを指定する。ビット結合部43Aは、例えば、Bank指定部41Aが“0”、上位指定部41Bが“0”の場合、Bank aの構成情報“A”の上位アドレス“0”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“0”と下位アドレス“000”とを結合して、アドレス“0000”を指定してBank aの構成情報“A”をメモリ20Aから読み出す。
The
また、ビット結合部43Aは、Bank指定部41Aが“0”、上位指定部41Bが“1”の場合、Bank aの構成情報“B”の上位アドレス“1”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“1”と下位アドレス“000”とを結合して、アドレス“1000”を指定してBank aの構成情報“B”をメモリ20Aから読み出す。
In addition, when the
また、ビット結合部43Aは、Bank指定部41Aが“0”、上位指定部41Bが“2”の場合、Bank aの構成情報“C”の上位アドレス“2”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“2”と下位アドレス“000”とを結合して、アドレス“2000”を指定してBank aの構成情報“C”をメモリ20Aから読み出す。
In addition, when the
また、ビット結合部43Aは、例えば、Bank指定部41Aが“1”、上位指定部41Bが“0”の場合、Bank bの構成情報「A」の上位アドレス“3”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“3”と下位アドレス“000”とを結合して、アドレス“3000”を指定してBank bの構成情報“A”をメモリ20Aから読み出す。
For example, when the
また、ビット結合部43Aは、例えば、Bank指定部41Aが“1”、上位指定部41Bが“1”の場合、Bank bの構成情報“B”の上位アドレス“4”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“4”と下位アドレス“000”とを結合して、アドレス“4000”を指定してBank bの構成情報“B”をメモリ20Aから読み出す。
For example, when the
また、ビット結合部43Aは、例えば、Bank指定部41Aが“1”、上位指定部41Bが“2”の場合、Bank bの構成情報“C”の上位アドレス“5”を指定すると共に、下位指定部42Aの下位アドレス“000”を指定する。コンフィグレーション制御部40Aは、上位アドレス“5”と下位アドレス“000”とを結合して、アドレス“5000”を指定してBank bの構成情報“C”をメモリ20Aから読み出す。
For example, when the
コンフィグレーション制御部40Aは、ビット結合部43Aからのアドレス信号に基づき、メモリ20Aから構成情報を読み出す。更に、コンフィグレーション制御部40Aは、生成部32から再コンフィグ信号を検出すると、読み出された指定の構成情報をFPGA3Aに設定するコンフィグ信号をFPGA3Aに出力する。FPGA3Aは、コンフィグ信号を検出すると、構成情報を設定する。
The
つまり、コンフィグレーション制御部40Aは、Bank bの構成情報がメモリ20Aから読み出されると、Bank bの格納領域に構成情報が設定される。その結果、FPGA3Aは、FPGA3A内のBank aのメモリインタフェース12Aの代わりに、Bank bの新たなメモリインタフェース12Aを機能させる。
That is, when the configuration information of Bank b is read from the memory 20A, the
次に実施例2の情報処理装置1Aの動作について説明する。図8は、コンフィグレーション制御処理に関わるFPGA3A及びコンフィグレーション制御部40Aの処理動作の一例を示すフローチャートである。図8においてコンフィグレーション制御部40Aは、情報処理装置1Aの電源起動時にメモリ20Aに格納された初期設定のBank aの構成情報“A”をFPGA3A内のBank aに設定する(ステップS31)。FPGA3Aは、通常運用時に、例えば、記憶部4に書き込んだデータを読み出す(ステップS32)。
Next, the operation of the
FPGA3Aのメモリコントローラ13Bのチェック部13Aは、記憶部4のチェック結果がOK状態であるか否かを判定する(ステップS33)。尚、チェック部13Aは、例えば、セットアップタイム及びホールドタイムの正常条件を満たしたか否かを判定し、正常条件を満たした場合はチェック結果をOK状態とし、正常条件を満たしていない場合はチェック結果をOK状態でない、NG状態とする。チェック部13Aは、チェック結果がOK状態の場合(ステップS33肯定)、記憶部4に書き込んだデータを読み出すべく、ステップS32に移行する。
The
また、メモリコントローラ13Bの故障判定部13Cは、チェック結果がOK状態でない場合(ステップS33否定)、後述する図9の故障判定処理の判定結果に基づき、メモリインタフェース12Aが故障であるか否かを判定する(ステップS34)。故障判定部13Cは、メモリインタフェース12Aが故障でない場合(ステップS34否定)、選択部31Aに対して“H”レベルのメモリNG信号を出力する(ステップS35)。
Also, the failure determination unit 13C of the
選択部31Aは、“H”レベルのメモリNG信号を検出すると、Bank aの構成情報の内、切替先の構成情報を選択する選択信号をコンフィグレーション制御部40Aに出力する(ステップS36)。尚、選択信号は、第1の選択信号“0”と、第2選択信号とを含む。更に、生成部32は、“H”レベルのメモリNG信号を検出すると、メモリNG信号のタイミングに基づき再コンフィグ信号をコンフィグレーション制御部40Aに出力する(ステップS37)。
When the selection unit 31A detects the memory NG signal at the “H” level, the selection unit 31A outputs a selection signal for selecting the configuration information of the switching destination to the
コンフィグレーション制御部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に移行する。
The
また、コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank aの構成情報が“C”である場合(ステップS38肯定)、メモリ20A内の全ての構成情報が設定されてもチェック結果がNG状態と判定する。その結果、コンフィグレーション制御部40Aは、記憶部4の故障を外部通知する(ステップS40)。尚、情報処理装置1A側のユーザは、例えば、故障アラームの音響出力や点灯出力等の外部通知で記憶部4の故障を認識できる。更に、コンフィグレーション制御部40Aは、記憶部4の故障を外部通知すると、記憶部4の動作を停止し(ステップS41)、図8に示す処理動作を終了する。
In addition, when the configuration information of Bank a currently set in the
また、故障判定部13Cは、メモリインタフェース12Aが故障の場合(ステップS34肯定)、選択部31Aに対して“H”レベルのインタフェースNG信号を出力する(ステップS42)。コンフィグレーション制御部40Aは、選択部31Aの指示に応じて、Bank bの構成情報“A”をメモリ20Aから読み出す(ステップS43)。コンフィグレーション制御部40Aは、読み出されたBank bの構成情報“A”をFPGA3A内のBank bに設定する(ステップS44)。
If the
FPGA3Aは、例えば、記憶部4に書き込んだデータを読み出す(ステップS45)。チェック部13Aは、記憶部4のチェック結果がOK状態であるか否かを判定する(ステップS46)。チェック部13Aは、チェック結果がOK状態の場合(ステップS46肯定)、記憶部4に書き込んだデータを読み出すべく、ステップS45に移行する。
For example, the
また、チェック部13Aは、チェック結果がOK状態でない場合(ステップS46否定)、選択部31Aに対して“H”レベルのメモリNG信号を出力する(ステップS47)。選択部31Aは、“H”レベルのメモリNG信号を検出すると、Bank bの構成情報の内、切替先の構成情報を選択する選択信号をコンフィグレーション制御部40Aに出力する(ステップS48)。尚、選択信号は、第1の選択信号“1”と、第2の選択信号とを含む。更に、生成部32は、“H”レベルのメモリNG信号を検出すると、メモリNG信号のタイミングに基づき再コンフィグ信号をコンフィグレーション制御部40Aに出力する(ステップS49)。
Further, when the check result is not in the OK state (No at Step S46), the
コンフィグレーション制御部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に移行する。
The
また、コンフィグレーション制御部40Aは、FPGA3Aに現在設定中のBank bの構成情報が“C”である場合(ステップS50肯定)、メモリ20A内の全ての構成情報が設定されてもチェック結果がNG状態と判定する。その結果、コンフィグレーション制御部40Aは、FPGA3Aの故障を外部通知すべく、ステップS40に移行する。
In addition, when the configuration information of Bank b currently being set in the
図8に示すコンフィグレーション制御処理では、メモリインタフェース12Aが故障と判定されると、メモリ20Aに格納中のBank bの構成情報を読み出し、読み出された構成情報をFPGA3A内のBank bに設定する。FPGA3Aは、Bank bに新規のメモリインタフェース12Aを設定する。その結果、FPGA3Aは、FPGA3A内のBank aの故障のメモリインタフェース12AをFPGA3A内のBank bの新規のメモリインタフェース12Aに代用できる。
In the configuration control process shown in FIG. 8, when it is determined that the
コンフィグレーション制御処理では、メモリインタフェース12Aの故障判定後、Bank bの構成情報“A”を設定した後、“H”レベルのメモリNG信号を検出する都度、構成情報“B”→構成情報“C”の順に切替設定する。その結果、Bank bの構成情報を、構成情報“A”→構成情報“B”→構成情報“C”の順に提供できる。
In the configuration control process, after determining the failure of the
また、コンフィグレーション制御処理では、Bank bの構成情報“A”→構成情報“B”→構成情報“C”の各構成情報が切替設定されても、エラーが解消できない場合には、FPGA3Aの故障を外部通知する。その結果、情報処理装置1A側のユーザは、外部通知に基づきFPGA3Aの故障を認識できる。
In the configuration control process, if the error cannot be resolved even if the configuration information “A” → configuration information “B” → configuration information “C” of Bank b is switched and set, the failure of the
更に、コンフィグレーション制御処理では、Bank bの各構成情報が順次設定されても、メモリインタフェース12Aの故障が解消できなかった場合、記憶部4の動作を停止する。その結果、故障したメモリインタフェース12Aと接続する記憶部4の動作を自動停止できる。
Further, in the configuration control process, if the failure of the
図9は、故障判定処理に関わる故障判定部13Cの処理動作の一例を示すフローチャートである。図9に示す故障判定処理は、FPGA3A内のメモリインタフェース12Aの故障を判定する処理である。
FIG. 9 is a flowchart illustrating an example of processing operation of the failure determination unit 13C related to failure determination processing. The failure determination process shown in FIG. 9 is a process for determining a failure of the
図9において故障判定部13Cは、所定タイミングであるか否かを判定する(ステップS61)。尚、所定タイミングとは、例えば、チェック部13Aのチェック結果がOK状態でない、すなわちNG状態と判定されたタイミングである。故障判定部13Cは、所定タイミングの場合(ステップS61肯定)、メモリインタフェース12Aを低速モードに設定する(ステップS62)。尚、故障判定部13Cは、メモリインタフェース12A内のSEL63に対して運用モード設定部61から低速モード設定部62に切替選択し、メモリインタフェース12Aを低速モードに設定する。
In FIG. 9, the failure determination unit 13C determines whether or not it is a predetermined timing (step S61). The predetermined timing is, for example, a timing at which the check result of the
故障判定部13Cは、低速モードに設定した後、チェック部13Aを通じてチェック結果がOK状態であるか否かを判定する(ステップS63)。故障判定部13Cは、チェック結果がOK状態の場合(ステップS63肯定)、現在使用中のメモリインタフェース12Aが正常と判定する(ステップS64)。故障判定部13Cは、メモリインタフェース12Aが正常と判定されると、メモリインタフェース12Aを運用モードに設定し(ステップS65)、図9に示す処理動作を終了する。
After setting the low-speed mode, the failure determination unit 13C determines whether the check result is in an OK state through the
また、故障判定部13Cは、チェック結果がOK状態でない場合(ステップS63否定)、現在使用中のメモリインタフェース12A自体が故障と判定し(ステップS66)、メモリインタフェース12Aを運用モードに設定すべく、ステップS65に移行する。
If the check result is not OK (No at Step S63), the failure determination unit 13C determines that the currently used
図9に示す故障判定処理では、記憶部4との通信速度を低速にしたにも関わらず、チェック結果がNG状態の場合、FPGA3A内のメモリインタフェース12A自体が故障と判定する。その結果、FPGA3Aの故障判定部13Cは、Bank内のメモリインタフェース12Aの故障を認識できる。
In the failure determination process illustrated in FIG. 9, when the check result is NG even though the communication speed with the storage unit 4 is low, the
また、故障判定処理では、記憶部4との通信速度を低速することでチェック結果がOK状態の場合、FPGA3A内のメモリインタフェース12Aが正常と判定する。その結果、FPGA3Aの故障判定部13Cは、Bank内のメモリインタフェース12Aの正常を認識できる。
In the failure determination process, if the check result is OK by reducing the communication speed with the storage unit 4, it is determined that the
実施例2の情報処理装置1Aでは、FPGA3A内のBank aのメモリインタフェース12A自体が故障した場合、FPGA3A内のBank bにBank bの構成情報を設定することで新たなメモリインタフェース12Aを構成する。その結果、FPGA3Aは、Bank aの故障したメモリインタフェース12AをBank bのメモリインタフェース12Aに代用できるため、FPGA3Aの故障によるタイミングエラーを解消できる。
In the
実施例2の情報処理装置1Aでは、Bank毎に複数の構成情報を記憶しておく。そして、情報処理装置1Aは、他のBankの一の構成情報をFPGA3Aに設定した後、記憶部4のAC特性変化で“H”レベルのメモリNG信号を検出した場合、同一Bank内の他の構成情報に切替えて、切替えられた構成情報をFPGA3Aに設定する。その結果、FPGA3Aは、記憶部4のAC特性変化によるタイミングエラーが発生した場合でも、同一Bank内の構成情報を切替えて記憶部4のAC特性変化によるタイミングエラーを解消できる。
In the
尚、上記実施例2の故障判定処理では、ステップS61の所定タイミングとして、例えば、チェック部13Aによるチェック結果がNG状態と判定されたタイミングを例示したが、このタイミングに限定されるものではない。例えば、FPGA3Aが記憶部4とのアクセスが少なくなる時間帯等のタイミングとしても良い。
In the failure determination process of the second embodiment, for example, the timing at which the check result by the
また、上記実施例では、メモリ20(20A)内に記憶された構成情報を3種類の構成情報としたが、その数に限定されるものではない。また、構成情報は、例えば、FeRAM、MRAM、PRAM、ReRAM、DRAMやSRAM等のメモリ装置に記憶しても良い。 Moreover, in the said Example, although the structure information memorize | stored in the memory 20 (20A) was made into three types of structure information, it is not limited to the number. Further, the configuration information may be stored in a memory device such as FeRAM, MRAM, PRAM, ReRAM, DRAM, or SRAM.
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 In addition, each component of each part illustrated does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each part is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed / integrated in arbitrary units according to various loads and usage conditions. Can be configured.
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。 Furthermore, various processing functions performed in each device are performed on a CPU (Central Processing Unit) (or a microcomputer such as an MPU (Micro Processing Unit), MCU (Micro Controller Unit), etc.) in whole or in part. You may make it perform. Various processing functions may be executed entirely or arbitrarily on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or hardware based on wired logic. Needless to say.
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現できる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図10は、記憶制御プログラムを実行するコンピュータを示す説明図である。 By the way, various processes described in the present embodiment can be realized by executing a program prepared in advance by a computer. In the following, an example of a computer that executes a program having the same function as that of the above embodiment will be described with reference to FIG. FIG. 10 is an explanatory diagram of a computer that executes a storage control program.
図10に示すように、記憶制御プログラムとしてのコンピュータ100では、HDD(Hard Disk Drive)110、RAM(Random Access Memory)120、ROM(Read Only Memory)130及びCPU140がバス150を介して接続される。更に、コンピュータ100は、記憶部170をアクセス制御するFPGA160をバス150で接続される。
As shown in FIG. 10, in a
そして、ROM130若しくはHDD110には、上記の実施例と同様の機能を発揮する記憶制御プログラムが予め記憶されている。尚、ROM130及びHDD110ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体に記憶制御プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。記憶制御プログラムとしては、図10に示すように、設定プログラム131である。尚、設定プログラム131は、図1に示した記憶制御部5の各構成要素と同様、適宜統合又は分散してもよい。
The ROM 130 or the
そして、CPU140が、設定プログラム131をROM130から読み出して実行する。そして、設定プログラム131は、設定プロセス141として機能する。
Then, the
CPU140は、記憶部170をアクセス制御するFPGA160に関わる、記憶部170のアクセス制御の特性に対応した、複数の構成情報を記憶するRAM120から構成情報をFPGA160に設定する。更に、CPU140は、RAM120に記憶中の一の構成情報をFPGA160に設定した後、記憶部170のタイミングエラーを検出すると、RAM120に記憶中の異なる構成情報に切替えて、切替えられた構成情報をFPGA160に設定する。その結果、FPGA160は、記憶部170の特性変化によるタイミングエラーが発生した場合でも、構成情報を切替えて記憶部170の特性変化によるタイミングエラーを解消できる。
The
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。 As described above, the following supplementary notes are further disclosed regarding the embodiment including the present example.
(付記1)複数のバンクを備え、設定された構成情報に基づき、前記バンク内に回路を構成する制御部と、
前記バンクに対応した前記構成情報を記憶する構成記憶部と、
前記構成記憶部から前記構成情報を読み出し、読み出された構成情報に関わるバンク内に当該構成情報を設定する設定部と、
前記設定部によって設定された前記構成情報に基づき当該バンク内に構成された、記憶部と接続する回路と当該記憶部との間のタイミング調整のエラーを検出した場合に、前記回路の故障と判定する故障判定部と
を有することを特徴とする記憶制御装置。
(Supplementary Note 1) A control unit that includes a plurality of banks and configures a circuit in the bank based on the set configuration information;
A configuration storage unit that stores the configuration information corresponding to the bank;
A setting unit that reads the configuration information from the configuration storage unit and sets the configuration information in a bank related to the read configuration information;
The circuit is determined to be faulty when an error in timing adjustment between the storage unit and the circuit connected to the storage unit configured in the bank based on the configuration information set by the setting unit is detected. And a failure determination unit.
(付記2)前記設定部は、
前記故障判定部によって前記回路の故障と判定された場合に、前記制御部内の他のバンクに、前記記憶部と接続する回路を構成する前記構成情報を設定し、
前記制御部は、
前記設定部によって設定された前記構成情報に基づき、当該バンク内に当該回路を構成することを特徴とする付記1に記載の記憶制御装置。
(Appendix 2) The setting unit
When the failure determination unit determines that the circuit is faulty, the configuration information configuring the circuit connected to the storage unit is set in another bank in the control unit,
The controller is
The storage control device according to appendix 1, wherein the circuit is configured in the bank based on the configuration information set by the setting unit.
(付記3)前記設定部は、
前記故障判定部によって前記回路の故障と判定された場合に、前記制御部内の未使用のバンクに、前記記憶部と接続する回路を構成する前記構成情報を設定し、
前記制御部は、
前記設定部によって設定された前記構成情報に基づき、当該未使用のバンク内に当該回路を構成することを特徴とする付記1に記載の記憶制御装置。
(Supplementary Note 3) The setting unit
When the failure determination unit determines that the circuit is faulty, the unused bank in the control unit is set to the configuration information that configures the circuit connected to the storage unit,
The controller is
The storage control device according to appendix 1, wherein the circuit is configured in the unused bank based on the configuration information set by the setting unit.
(付記4)前記故障判定部は、
前記回路と前記記憶部との間の通信速度を運用速度から低速化して前記タイミング調整のエラーを検出したか否かを判定し、前記タイミング調整のエラーを検出した場合に、前記回路の故障と判定すると共に、
前記通信速度を低速化して前記タイミング調整のエラーを検出しなかった場合に、前記回路の正常と判定する
ことを特徴とする付記1〜3の何れか一つに記載の記憶制御装置。
(Appendix 4) The failure determination unit
Determining whether or not the timing adjustment error is detected by reducing the communication speed between the circuit and the storage unit from the operation speed, and if the timing adjustment error is detected, Judgment and
The storage control device according to any one of appendices 1 to 3, wherein the circuit is determined to be normal when the communication speed is reduced and the timing adjustment error is not detected.
(付記5)複数のバンクを備え、設定された構成情報に基づき、前記バンク内に回路を構成する制御部と、前記バンクに対応した前記構成情報を記憶する構成記憶部と、前記構成記憶部から前記構成情報を読み出し、読み出された構成情報に関わるバンク内に当該構成情報を設定する設定部とを有する記憶制御装置の記憶制御方法であって、
前記記憶制御装置は、
前記設定部によって設定された前記構成情報に基づき当該バンク内に構成された、記憶部と接続する回路と当該記憶部との間のタイミング調整のエラーを検出した場合に、前記回路の故障と判定する
ことを特徴とする記憶制御方法。
(Supplementary Note 5) A plurality of banks, based on set configuration information, a control unit that configures a circuit in the bank, a configuration storage unit that stores the configuration information corresponding to the bank, and the configuration storage unit A storage control method for a storage control device, comprising: a setting unit that reads the configuration information from the bank and sets the configuration information in a bank related to the read configuration information,
The storage controller is
The circuit is determined to be faulty when an error in timing adjustment between the storage unit and the circuit connected to the storage unit configured in the bank based on the configuration information set by the setting unit is detected. A storage control method characterized by:
1,1A 情報処理装置
3,3A FPGA
4 記憶部
5,5A 記憶制御部
13,13B メモリコントローラ
13A チェック部
13C 故障判定部
20,20A メモリ
30,30A 指示部
31,31A 選択部
32 生成部
40,40A コンフィグレーション制御部
1,1A
4
Claims (8)
前記構成情報を前記制御部に設定する設定部と
を有し、
前記設定部は、
前記構成記憶部に記憶中の一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記構成記憶部に記憶中の異なる構成情報に切替えて、切替えられた構成情報を前記制御部に設定する
ことを特徴とする記憶制御装置。 A configuration storage unit that stores a plurality of configuration information corresponding to the characteristics of the access control of the storage unit, related to a control unit that performs access control of the storage unit;
A setting unit that sets the configuration information in the control unit;
The setting unit
After one configuration information stored in the configuration storage unit is set in the control unit, when a control error of the storage unit is detected, the configuration is switched to different configuration information stored in the configuration storage unit. A storage control device characterized in that information is set in the control unit.
前記設定部は、
前記電源の起動を検出した場合、前記バックアップ記憶部に記憶中の前記構成情報を前記制御部に設定することを特徴とする請求項1又は2に記載の記憶制御装置。 A backup storage unit that stores the configuration information that is being set immediately before the storage unit is powered off;
The setting unit
3. The storage control device according to claim 1, wherein when the activation of the power source is detected, the configuration information stored in the backup storage unit is set in the control unit.
前記制御部が前記記憶部のセットアップタイムを調整する情報であって、
前記設定部は、
異なる構成情報を切替設定することで、前記制御部の前記セットアップタイムを調整して前記記憶部へのデータ書込みタイミングを調整することを特徴とする請求項1又は2に記載の記憶制御装置。 The configuration information is
The control unit is information for adjusting the setup time of the storage unit,
The setting unit
3. The storage control device according to claim 1, wherein the setup time of the control unit is adjusted to adjust the data write timing to the storage unit by switching and setting different configuration information.
前記制御部が前記記憶部に記憶されたデータを外部出力する制御信号の出力タイミングを調整する情報であって、
前記設定部は、
異なる構成情報を切替設定することで、前記制御部が前記出力タイミングを調整して、前記記憶部からのデータ出力タイミングを調整することを特徴とする請求項1又は2に記載の記憶制御装置。 The configuration information is
Information for adjusting the output timing of a control signal for externally outputting the data stored in the storage unit by the control unit,
The setting unit
3. The storage control device according to claim 1, wherein the control unit adjusts the output timing to adjust the data output timing from the storage unit by switching and setting different configuration information.
前記制御部が前記記憶部のアクセス制御のタイミング調整に使用するクロック位相を調整する情報であって、
前記設定部は、
異なる構成情報を切替設定することで、前記制御部が前記クロック位相を調整して、前記記憶部のアクセス制御のタイミングを調整することを特徴とする請求項1又は2に記載の記憶制御装置。 The configuration information is
Information for adjusting a clock phase used by the control unit for timing adjustment of access control of the storage unit,
The setting unit
The storage control device according to claim 1, wherein the control unit adjusts the clock phase and adjusts the access control timing of the storage unit by switching and setting different configuration information.
前記記憶制御装置は、
前記制御部に関わる、前記記憶部のアクセス制御の特性に対応した、複数の構成情報を記憶した構成記憶部から前記構成情報を前記制御部に設定し、前記構成記憶部に記憶中の一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記構成記憶部に記憶中の異なる構成情報に切替えて、切替えられた構成情報を前記制御部に設定する
ことを特徴とする記憶制御方法。 A storage control method of a storage control device for setting configuration information in a control unit that controls access to a storage unit,
The storage controller is
The configuration information is set in the control unit from a configuration storage unit that stores a plurality of configuration information corresponding to the access control characteristics of the storage unit, and is stored in the configuration storage unit. After configuration information is set in the control unit, when a control error in the storage unit is detected, the configuration information is switched to different configuration information stored in the configuration storage unit, and the switched configuration information is set in the control unit. A storage control method.
記憶部をアクセス制御する制御部に関わる、前記記憶部のアクセス制御の特性に対応した、複数の構成情報を記憶する構成記憶部から前記構成情報を前記制御部に設定し、前記構成記憶部に記憶中の一の構成情報を前記制御部に設定した後、前記記憶部の制御エラーを検出すると、前記構成記憶部に記憶中の異なる構成情報に切替えて、切替えられた構成情報を前記制御部に設定する
各処理を実行させることを特徴とする記憶制御プログラム。 On the computer,
The configuration information is set in the control unit from a configuration storage unit that stores a plurality of configuration information corresponding to the access control characteristics of the storage unit related to the control unit that performs access control of the storage unit, and the configuration storage unit After setting one configuration information stored in the control unit, upon detecting a control error in the storage unit, the configuration information is switched to different configuration information stored in the configuration storage unit, and the switched configuration information is transferred to the control unit. A storage control program characterized by causing each process to be set to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012035360A JP5810962B2 (en) | 2011-03-30 | 2012-02-21 | Storage control device, storage control method, and storage control program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011076757 | 2011-03-30 | ||
JP2011076757 | 2011-03-30 | ||
JP2012035360A JP5810962B2 (en) | 2011-03-30 | 2012-02-21 | Storage control device, storage control method, and storage control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012216188A true JP2012216188A (en) | 2012-11-08 |
JP5810962B2 JP5810962B2 (en) | 2015-11-11 |
Family
ID=47268867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012035360A Expired - Fee Related JP5810962B2 (en) | 2011-03-30 | 2012-02-21 | Storage control device, storage control method, and storage control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5810962B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11733968B2 (en) | 2018-11-09 | 2023-08-22 | Samsung Electronics Co., Ltd. | Neural processing unit, neural processing system, and application system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08123717A (en) * | 1994-10-25 | 1996-05-17 | Oki Electric Ind Co Ltd | Semiconductor storage device |
JP2001265647A (en) * | 2000-03-17 | 2001-09-28 | Mitsubishi Electric Corp | Board system, memory control method in board system and memory replacing method in board system |
JP2005348272A (en) * | 2004-06-04 | 2005-12-15 | Fujitsu Ltd | Common package mounting apparatus |
JP2006091940A (en) * | 2004-09-21 | 2006-04-06 | Matsushita Electric Ind Co Ltd | Memory control device |
JP2008192108A (en) * | 2007-02-08 | 2008-08-21 | Yokogawa Electric Corp | Duplex information processing system |
JP2009075759A (en) * | 2007-09-19 | 2009-04-09 | Hitachi Ltd | Storage device, and method for managing data in storage device |
JP2011221819A (en) * | 2010-04-09 | 2011-11-04 | Toshiba Denpa Products Kk | Sdram controller by parameter setting |
-
2012
- 2012-02-21 JP JP2012035360A patent/JP5810962B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08123717A (en) * | 1994-10-25 | 1996-05-17 | Oki Electric Ind Co Ltd | Semiconductor storage device |
JP2001265647A (en) * | 2000-03-17 | 2001-09-28 | Mitsubishi Electric Corp | Board system, memory control method in board system and memory replacing method in board system |
JP2005348272A (en) * | 2004-06-04 | 2005-12-15 | Fujitsu Ltd | Common package mounting apparatus |
JP2006091940A (en) * | 2004-09-21 | 2006-04-06 | Matsushita Electric Ind Co Ltd | Memory control device |
JP2008192108A (en) * | 2007-02-08 | 2008-08-21 | Yokogawa Electric Corp | Duplex information processing system |
JP2009075759A (en) * | 2007-09-19 | 2009-04-09 | Hitachi Ltd | Storage device, and method for managing data in storage device |
JP2011221819A (en) * | 2010-04-09 | 2011-11-04 | Toshiba Denpa Products Kk | Sdram controller by parameter setting |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11733968B2 (en) | 2018-11-09 | 2023-08-22 | Samsung Electronics Co., Ltd. | Neural processing unit, neural processing system, and application system |
US11995417B2 (en) | 2018-11-09 | 2024-05-28 | Samsung Electronics Co., Ltd. | Neural processing unit, neural processing system, and application system |
Also Published As
Publication number | Publication date |
---|---|
JP5810962B2 (en) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100706240B1 (en) | System on chip tested using one test pin and method thereof | |
US7484141B2 (en) | Semiconductor device capable of performing test at actual operating frequency | |
US8081527B1 (en) | Per-bit de-skew mechanism for a memory interface controller | |
JP3708726B2 (en) | Defect relief circuit | |
JP6113964B2 (en) | Memory controller with dynamic port priority assignment capability | |
KR20110030779A (en) | Memory device and memory system having the same and method of controlling the same | |
KR20140013695A (en) | Fail address detector, semiconductor memory device including the same and method of detecting fail address | |
JP2013069360A (en) | Semiconductor device and data processing system | |
JP2012252733A (en) | Semiconductor device | |
JP2006275616A (en) | Semiconductor device and skew adjustment method | |
TW201826282A (en) | Redundancy schemes for memory | |
CN101925885A (en) | Memory access timing adjustment device and memory access timing adjustment method | |
JP2004185691A (en) | Method and circuit for testing semiconductor storage device, semiconductor storage device, and semiconductor device | |
JP5810962B2 (en) | Storage control device, storage control method, and storage control program | |
JP2010250905A (en) | Semiconductor integrated circuit and method for testing the same | |
JPWO2018096776A1 (en) | Power circuit | |
KR102163983B1 (en) | Semiconduct memory device | |
KR20140136203A (en) | Semiconductor integrated circuit | |
JP4282716B2 (en) | Semiconductor memory device | |
JP2009181627A (en) | Semiconductor storage device | |
JP2014095598A (en) | Semiconductor integrated circuit | |
JP2012234605A (en) | Semiconductor test device and test method of the same | |
JP6084535B2 (en) | Memory chip test circuit | |
JP2003288278A (en) | Microcontroller | |
JP2018195243A (en) | Semiconductor device and semiconductor device control method |
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 |