JP2014089497A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2014089497A JP2014089497A JP2012237522A JP2012237522A JP2014089497A JP 2014089497 A JP2014089497 A JP 2014089497A JP 2012237522 A JP2012237522 A JP 2012237522A JP 2012237522 A JP2012237522 A JP 2012237522A JP 2014089497 A JP2014089497 A JP 2014089497A
- Authority
- JP
- Japan
- Prior art keywords
- program
- flash memory
- memory
- fpga
- information processing
- 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.)
- Pending
Links
Images
Abstract
【解決手段】CPU1からFPGA2を経由してアクセスされ、起動プログラムをそれぞれ格納した複数のフラッシュメモリ31、32と、このフラッシュメモリのいずれかを選択するようにフラッシュメモリの切替を手動で設定するディップスイッチ4とを有し、起動時にはFPGA2が、ディップスイッチ4の設定に応じたフラッシュメモリから起動プログラムを読み出し、CPU1に送るようにした。
【選択図】図1
Description
こうした場合に対応するために、フラッシュメモリを2個持ち、それぞれに起動プログラムを記録しておき、さらに一方の起動プログラムで正しく起動しない場合に他方の起動プログラムで起動する切替手段を持った手法が提案されている(特許文献1参照)。
一方、起動プログラムの更新書込みを行う場合には、書込み失敗すると装置起動ができなくなり装置にとって致命的な状態となる。自動的に切替を行うことはリスクを伴うため、実際の運用では手動で切替する場合も多い。こうした手動切替の場合には自動化を考慮した特別な機構は不要なので、余分な部品を削減したいという課題があった。
発性メモリから起動プログラムを読み出し、CPUに送るFPGAを備えたので、不揮発性メモリの切替えのための回路を必要とせず、不揮発性メモリへの更新起動プログラムの書込みに失敗した場合にも、不揮発性メモリの交換を必要とせず、更新起動プログラムの再書込みを可能とすることができる。
以下、この発明の実施の形態1を説明する。
図1は、この発明の実施の形態1による情報処理装置を示すブロック図である。
図1において、CPU1には、システムバス5を介してFPGA(Field−Programmable Gate Array)2が接続されている。FPGA2には、フラッシュメモリ31、フラッシュメモリ32、ディップスイッチ4が接続されている。
フラッシュメモリ31(不揮発性メモリ)には、起動プログラムと、起動後にメインメモリ6に展開されて動作するOSやアプリケーション等のプログラムが記録されている。
ディップスイッチ4(不揮発性メモリ選択手段)は、スイッチ状態により、フラッシュメモリ31、32のいずれかを選択する。メインメモリ6は、システムバス5によりCPU1とFPGA2に接続されている。
このように、実施の形態1では、システムバス5上でCPU1から直接フラッシュメモリ31、32にアクセスするのではなく、FPGA2を経由してフラッシュメモリ31、32にアクセスする点が従来と異なっている。
FPGA2は、ディップスイッチ4のスイッチ状態に基づいて、フラッシュメモリ31、32のいずれを選択するかを決定するように論理回路を構成する。通常は、フラッシュメモリ31を選択するようにディップスイッチ4を設定して起動する。すなわち、FPGA2経由でCPU1がフラッシュメモリの起動プログラムを読み込み、情報処理装置を起動するようになっている。
この状態で、フラッシュメモリ31への更新起動プログラムを再度書込みして成功すると、ディップスイッチ4の設定を元に戻して再起動することにより、再びフラッシュメモリ31から起動プログラムが実行可能となる。
また、ソフトウェアコマンドによりFPGA2のレジスタや内部メモリに設定することにより同じ手法を実現することもできる。
次に実施の形態2について説明する。
図2は、この発明の実施の形態2による情報処理装置を示すブロック図である。
図2において、1、2、31、4〜6は、図1におけるものと同一のものである。図2では、FPGA2に内部メモリ21を持たせ、内部メモリ21には、起動プログラムと、フラッシュメモリ31に記録されるプログラムを書換えるためのプログラムを記録しておく。
近年のFPGAは大容量化が進み、起動プログラムを保存するのに十分な大容量の内部メモリを持つFPGAが存在するようになった。このため、実施の形態2では、FPGA2に内部メモリ21を持つものとし、フラッシュメモリはフラッシュメモリ31の1個だけで構成する。
実施の形態1と同様に、フラッシュメモリ31に更新起動プログラムを書込み失敗した場合は、ディップスイッチ4のスイッチを切り替えて起動する。この場合、FPGA2はディップスイッチ4の設定に基づいて、フラッシュメモリ32の代わりに内部メモリ21を選択して起動プログラムをCPU1が読み込めるようにする。
この状態で、フラッシュメモリ31への更新起動プログラムを再度書込みして成功すると、ディップスイッチ4の設定を元に戻して再起動することにより、再びフラッシュメモリ31から更新された起動プログラムが実行可能となる。
次に実施の形態3について説明する。
図3は、この発明の実施の形態3による情報処理装置を示すブロック図である。
図3において、1、2、21、31、4〜6は、図2におけるものと同一のものである。図3では、フラッシュメモリ31は領域1(31a)と領域2(31b)を有している。
また、FPGA2内には、フラッシュメモリ領域毎の先頭アドレス(ベースアドレスと呼ぶ)を定義しておく。この定義は内部メモリ21内に保存することで実現できるが、ここでは特にベースアドレス指定テーブルと呼ぶ。
実施の形態1、2と同様に、フラッシュメモリ31の領域1(31a)に更新起動プログラムを書込み失敗した場合は、ディップスイッチ4のスイッチを切り替えて起動する。この場合、FPGA2はディップスイッチ4の設定に基づいて、フラッシュメモリ31の領域2(31b)をベースアドレスとして起動プログラムをCPU1が読み込めるようにする。
また、別のディップスイッチ設定をすることにより、内部メモリ21を選択して起動プログラムをCPU1が読み込めることもできるようにする。この状態でフラッシュメモリ31の領域1(31a)への更新起動プログラムを再度書込みして成功すると、ディップスイッチ4の設定を元に戻して再起動することにより、再びフラッシュメモリ31の領域1(31a)から更新された起動プログラムが実行可能となる。
さらにFPGA内部メモリからもフラッシュメモリ書込み可能な構成としておけば、フラッシュメモリの全領域のデータが全て破壊された場合でも、フラッシュメモリを交換することなく、再度書込みが可能となる。
次に実施の形態4について説明する。
図4は、この発明の実施の形態4による情報処理装置を示すブロック図である。
図4において、1、2、21、31、4〜6は、図3におけるものと同一のものである。図4では、内部メモリ21にセクタ番号テーブルを有し、フラッシュメモリ31は複数の物理セクタをもつ。
こうした問題を解決するため、実施の形態4では、特定の物理セクタが物理的に書込み不可となった場合でも、フラッシュメモリを交換せずに装置寿命を延ばすための手段を提供する。
図4のフラッシュメモリ31は、複数の物理セクタを持つ。このため、起動プログラムを記録する領域内でセクタ#1〜セクタ#Nとして複数のセクタ領域を保持しておく。
FPGA2では、フラッシュメモリのうち起動プログラムを記録する領域の各セクタ番号とベースアドレスの関係を保持したテーブルを定義する。この定義も内部メモリ21内に保存することで実現できるが、ここでは特にセクタ番号テーブルと呼ぶ。
実施の形態1〜3と同様に、フラッシュメモリ31のセクタ#1に更新起動プログラムを書込み失敗した場合は、ディップスイッチ4のスイッチを切り替えて起動する。しかし、何度書込みを試行しても失敗する場合は、物理セクタが壊れて物理的に書込み不可になったと判断することができる。
この場合、ディップスイッチ4の設定で、セクタ#2となるように変更して、このセクタに対して更新起動プログラムの書込みを行う。この状態で再起動すると、セクタ#2に記録した起動プログラムをFPGA2経由で読み込んでCPU1が起動できるようになる。
次に、実施の形態5について説明する。
実施の形態3、4では、フラッシュメモリの大容量化に着目して、フラッシュメモリ内での起動プログラム多重化を行う手法を説明したが、実施の形態5では、FPGA2の内部メモリ21の大容量化により、内部メモリ21でのプログラム多重化を行う手段を提供する。
特に、起動プログラムやフラッシュメモリ書込みプログラムの変更が、FPGA内部メモリ21に記録しているプログラムに対しても必要となる場合には、内部メモリ21のプログラムを多重化することにより、書込み失敗した場合でも再書込み可能となることが保証されるので、書込み操作に対する保守性を高めることができる。
図5において、1、2、21、31、4〜6は、図2におけるものと同一のものである。図5では、内部メモリ21は領域1(21a)と領域2(21b)を有している。
図5のFPGA2は内部メモリ21を持ち、この内部メモリ21を複数の領域に分割する。ここでは、内部メモリ21の領域1(21a)、領域2(21b)の2つに分けるものとするが、内部メモリの容量とプログラム記録に必要な容量に応じて、3つ以上の領域に分割することも当然可能である。
実施の形態1〜4と同様に、フラッシュメモリ31に更新起動プログラムを書込み失敗した場合は、ディップスイッチ4のスイッチを切り替えて起動する。
フラッシュメモリ31に書き換えた起動プログラムで正しく起動することが確認できれば、この新しい起動プログラムをFPGA2の内部メモリ21に対しても書換えしておく必要が生じる場合がある。
この場合は、内部メモリ21の領域1(21a)のフラッシュメモリ書込みプログラムを用いて、フラッシュメモリ31に記録された起動プログラム、または別途読み込んだ起動プログラムを内部メモリ21の領域2(21b)に書き込んでおく。
このようにすることで、内部メモリの起動プログラムを新しいものに更新することができる。同様に、ディップスイッチ4の設定により、内部メモリ21の領域2(21b)のフラッシュメモリ書込みプログラムを起動して、内部メモリ21の領域1(21a)の起動プログラムを書き換えることも可能となる。
次に、実施の形態6について説明する。
実施の形態1〜5では、更新起動プログラムの書込み操作中において失敗した場合でも再書込みできることを保証するための手段を提供した。しかし、新しく書き込もうとする起動プログラム自体に問題があって正しく起動が完了しない場合には、何度書込みをやり直しても正しく起動が完了できないので、速やかに元のプログラムに戻すことが必要になる。
実施の形態6は、新たに書き込んだ起動プログラムに問題がある場合に元の起動プログラムに速やかに戻す手段を提供する。
図6において、1、2、21、21a、21b、31、4〜6は、図5におけるものと同一のものである。
実施の形態5では、内部メモリ21の領域1(21a)と領域2(21b)は同じ役割であったが、実施の形態6では、内部メモリ21の領域2(21b)を起動プログラムのバックアップ用途に割当てるものとする。
フラッシュメモリ31を書き換える前に、フラッシュメモリ31から書換え前の起動プログラムを内部メモリ21の領域2(21b)に記録する。これが起動プログラムのバックアップの役割を果たす。
内部メモリ2に起動プログラムをバックアップした後で、フラッシュメモリ31に対して更新起動プログラム書込みを行う。書込み失敗した場合には、実施の形態1〜5の方法で再書込みを行う。
この後、更新起動プログラムを用いて再起動しても正しく起動しないことが確認された場合には、起動プログラムの書き戻しを行う。ディップスイッチ4の設定により、内部メモリ21の領域2(21b)からフラッシュメモリ31に対して起動プログラム書込みを行うようにFPGA2に処理を定義しておく。
31、32 フラッシュメモリ、4 ディップスイッチ、5 システムバス、
6 メインメモリ。
Claims (6)
- CPUを有する情報処理装置であって、
起動プログラムをそれぞれ格納した複数の不揮発性メモリ、
この不揮発性メモリのいずれかを選択するように設定できる不揮発性メモリ選択手段、
及び起動時に上記不揮発性メモリ選択手段の設定に応じた上記不揮発性メモリから上記起動プログラムを読み出し、上記CPUに送るFPGAを備えたことを特徴とする情報処理装置。 - CPUを有する情報処理装置であって、
起動プログラムを格納した不揮発性メモリ、
上記起動プログラムを内部メモリに格納したFPGA、
及び上記不揮発性メモリと上記内部メモリのいずれかを選択するように設定できる不揮発性メモリ選択手段を備え、
上記FPGAは、起動時に上記不揮発性メモリ選択手段の設定に応じた上記不揮発性メモリまたは上記内部メモリから上記起動プログラムを読み出し、上記CPUに送ることを特徴とする情報処理装置。 - CPUを有する情報処理装置であって、
起動プログラムをそれぞれ格納した複数の領域を有する不揮発性メモリ、
この不揮発性メモリの領域のいずれかを選択するように設定できる不揮発性メモリ選択手段、
及び起動時に上記不揮発性メモリ選択手段の設定に応じた上記不揮発性メモリの領域から上記起動プログラムを読み出し、上記CPUに送るFPGAを備えたことを特徴とする情報処理装置。 - 上記不揮発性メモリの領域は、物理セクタであることを特徴とする請求項3記載の情報処理装置。
- 上記FPGAの内部メモリはそれぞれ起動プログラムを格納した複数の領域に分割され、
上記不揮発性メモリ選択手段は、上記不揮発性メモリと上記内部メモリの領域のいずれかを選択するように設定できることを特徴とする請求項2記載の情報処理装置。 - 上記FPGAの内部メモリの領域の一つを上記不揮発性メモリに格納された起動プログラムのバックアップに用いることを特徴とする請求項5記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012237522A JP2014089497A (ja) | 2012-10-29 | 2012-10-29 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012237522A JP2014089497A (ja) | 2012-10-29 | 2012-10-29 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014089497A true JP2014089497A (ja) | 2014-05-15 |
Family
ID=50791373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012237522A Pending JP2014089497A (ja) | 2012-10-29 | 2012-10-29 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014089497A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018025925A (ja) * | 2016-08-09 | 2018-02-15 | シャープ株式会社 | 電子回路システム及び制御装置の起動方法 |
KR101860630B1 (ko) | 2015-07-22 | 2018-07-02 | 누보톤 테크놀로지 코포레이션 | 기능 프로그래밍이 가능한 전기회로 및 이의 작동 방법 |
CN109656593A (zh) * | 2018-12-07 | 2019-04-19 | 天津光电通信技术有限公司 | 基于zynq芯片实现fpga程序远程升级的方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0535558A (ja) * | 1991-07-31 | 1993-02-12 | Nec Eng Ltd | プログラムロード方式 |
JPH1011293A (ja) * | 1996-06-27 | 1998-01-16 | Nec Corp | 情報処理装置 |
JPH1145175A (ja) * | 1997-07-29 | 1999-02-16 | Nissin Electric Co Ltd | Cpu装置及びその使用方法 |
JP2000293376A (ja) * | 1999-04-05 | 2000-10-20 | Nec Corp | ブートプログラムの切替回路及び切替方法 |
JP2002278781A (ja) * | 2001-03-16 | 2002-09-27 | Tokyo Electron Device Ltd | 記憶装置、記憶装置制御方法及びプログラム |
JP2002297408A (ja) * | 2001-03-30 | 2002-10-11 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその構築方法 |
JP2002351683A (ja) * | 2001-05-24 | 2002-12-06 | Sharp Corp | プログラム更新制御方法 |
JP2003044303A (ja) * | 2001-07-27 | 2003-02-14 | Kyushu Ando Denki Kk | コンピュータ装置 |
JP2004054818A (ja) * | 2002-07-24 | 2004-02-19 | Konica Minolta Holdings Inc | プログラム実行装置 |
JP2004206499A (ja) * | 2002-12-26 | 2004-07-22 | Ricoh Co Ltd | 情報処理装置 |
US20060265581A1 (en) * | 2005-05-20 | 2006-11-23 | Dai-Hua Sun | Method for switching booting devices of a computer |
WO2008075646A1 (ja) * | 2006-12-18 | 2008-06-26 | International Business Machines Corporation | 情報処理システムおよび該システムの起動/リカバリ方法 |
JP2012118904A (ja) * | 2010-12-03 | 2012-06-21 | Ricoh Co Ltd | 情報処理装置 |
-
2012
- 2012-10-29 JP JP2012237522A patent/JP2014089497A/ja active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0535558A (ja) * | 1991-07-31 | 1993-02-12 | Nec Eng Ltd | プログラムロード方式 |
JPH1011293A (ja) * | 1996-06-27 | 1998-01-16 | Nec Corp | 情報処理装置 |
JPH1145175A (ja) * | 1997-07-29 | 1999-02-16 | Nissin Electric Co Ltd | Cpu装置及びその使用方法 |
JP2000293376A (ja) * | 1999-04-05 | 2000-10-20 | Nec Corp | ブートプログラムの切替回路及び切替方法 |
JP2002278781A (ja) * | 2001-03-16 | 2002-09-27 | Tokyo Electron Device Ltd | 記憶装置、記憶装置制御方法及びプログラム |
JP2002297408A (ja) * | 2001-03-30 | 2002-10-11 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその構築方法 |
JP2002351683A (ja) * | 2001-05-24 | 2002-12-06 | Sharp Corp | プログラム更新制御方法 |
JP2003044303A (ja) * | 2001-07-27 | 2003-02-14 | Kyushu Ando Denki Kk | コンピュータ装置 |
JP2004054818A (ja) * | 2002-07-24 | 2004-02-19 | Konica Minolta Holdings Inc | プログラム実行装置 |
JP2004206499A (ja) * | 2002-12-26 | 2004-07-22 | Ricoh Co Ltd | 情報処理装置 |
US20060265581A1 (en) * | 2005-05-20 | 2006-11-23 | Dai-Hua Sun | Method for switching booting devices of a computer |
WO2008075646A1 (ja) * | 2006-12-18 | 2008-06-26 | International Business Machines Corporation | 情報処理システムおよび該システムの起動/リカバリ方法 |
JP2012118904A (ja) * | 2010-12-03 | 2012-06-21 | Ricoh Co Ltd | 情報処理装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101860630B1 (ko) | 2015-07-22 | 2018-07-02 | 누보톤 테크놀로지 코포레이션 | 기능 프로그래밍이 가능한 전기회로 및 이의 작동 방법 |
JP2018025925A (ja) * | 2016-08-09 | 2018-02-15 | シャープ株式会社 | 電子回路システム及び制御装置の起動方法 |
CN109656593A (zh) * | 2018-12-07 | 2019-04-19 | 天津光电通信技术有限公司 | 基于zynq芯片实现fpga程序远程升级的方法 |
CN109656593B (zh) * | 2018-12-07 | 2022-04-15 | 天津光电通信技术有限公司 | 基于zynq芯片实现fpga程序远程升级的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8041879B2 (en) | Flash memory backup system and method | |
KR100735437B1 (ko) | 이동통신 단말기에서의 레이드 시스템 및 방법 | |
US8341386B2 (en) | Method for updating basic input/output system and method for repairing thereof | |
US9158475B2 (en) | Memory apparatus and method therefor | |
WO2010035596A1 (ja) | ファームウェア更新装置及び方法 | |
JP4828816B2 (ja) | メモリカード、半導体装置、及びメモリカードの制御方法 | |
CN102023908A (zh) | 一种引导程序备份方法及装置 | |
JP2006048893A (ja) | 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法 | |
JPWO2009016832A1 (ja) | 不揮発性記憶装置および不揮発性記憶システム | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
JPWO2009004674A1 (ja) | 記憶装置、ディスク装置、書込み判定方法、制御装置 | |
JP2013125513A (ja) | 不揮発性半導体記憶装置及びその管理方法 | |
US8527733B2 (en) | Memory system | |
JP2012018626A (ja) | メモリ制御装置、メモリ装置および停止制御方法 | |
JP2014089497A (ja) | 情報処理装置 | |
JP2013069047A (ja) | メモリシステム | |
CN116450244B (zh) | 芯片启动方法、装置、计算机设备和存储介质 | |
CN110688141A (zh) | 固件更新方法 | |
JP4661369B2 (ja) | メモリコントローラ | |
JP2015041262A (ja) | 情報記録装置 | |
JP2008084288A (ja) | メモリ制御装置 | |
JP2004013477A (ja) | ブートプログラム選択及び更新方法並びにこれを用いたフラッシュメモリ | |
JP2005353046A (ja) | 記録媒体、ホスト機器及びデータ処理方法 | |
CN105745616B (zh) | 针对存储设备使用作为ram代码的具有破坏性的特征 | |
JP4239754B2 (ja) | 不揮発メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151008 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160308 |