JP4841709B1 - メモリ制御装置およびメモリ制御方法 - Google Patents

メモリ制御装置およびメモリ制御方法 Download PDF

Info

Publication number
JP4841709B1
JP4841709B1 JP2011532382A JP2011532382A JP4841709B1 JP 4841709 B1 JP4841709 B1 JP 4841709B1 JP 2011532382 A JP2011532382 A JP 2011532382A JP 2011532382 A JP2011532382 A JP 2011532382A JP 4841709 B1 JP4841709 B1 JP 4841709B1
Authority
JP
Japan
Prior art keywords
information
address
memory
cpu
path
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.)
Active
Application number
JP2011532382A
Other languages
English (en)
Other versions
JPWO2012032595A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP4841709B1 publication Critical patent/JP4841709B1/ja
Publication of JPWO2012032595A1 publication Critical patent/JPWO2012032595A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

CPU1と、誤り訂正符号化処理がなされた第1の情報と誤り訂正符号化処理がなされていない第2の情報とを記録するフラッシュROM4と、ROM4に記録された第1の情報をCPU1が読み取り可能とすべくアドレスバス2とROM4とを接続する第1の経路とROM4に記録された第2の情報を消去、書き込み、および読み取り可能にすべくアドレスバス2とROM4とを接続する第2の経路とを切り替えるアドレス線切替器5と、ROM4に記録された第1の情報の誤り訂正および復号を行う復号器7と、復号器7にて復号された情報をデータバス3に伝達すべく復号器7とデータバス3とを接続する第3の経路とROM4に記録された第2の情報を消去、書き込み、および読み取り可能にすべくROM4とデータバス3とを接続する第4の経路と、を切り替えるデータ線切替器6とを備える。
【選択図】図1

Description

本発明は、電気的に書き換え可能な不揮発性のメモリ(「フラッシュROM」あるいは「EEPROM:Electrically ErasableProgrammable ROM」を用いたメモリ制御装置およびメモリ制御方法に関するものである。
近年、CPU(Central Processing Unit)によって各種の制御を行うメモリ制御装置には、オペレーティングシステム(OS)やアプリケーションソフトなどの記録媒体として、フラッシュROMが一般的に搭載されている。このフラッシュROMは、以下のような特徴がある。(1)電源を切ってもデータが保持される。(2)データ書き込み前に、書き込み領域の消去を行う必要がある。(3)データの消去は、デバイス毎に定められたブロック単位で行う必要があり、デバイスのデータピンに定められた手順で信号を与えることで行われる。(4)データの書き込みは、デバイスのデータピンに定められた手順で信号を与えることで行われる。
ただし、このフラッシュROMは、デバイス内に電荷を閉じ込めることでデータ値を記録するように構成されているため、各メモリセルのデータ保時時間のばらつきやノイズの影響等によって、電荷漏れと呼ばれる現象が発生する場合がある。フラッシュROMに保存されたデータは、この電荷漏れによって一定の確率でビットエラーを発生する場合がある。
このような問題を解決する手段として下記特許文献1に代表される従来技術は、上述したフラッシュROMを記録媒体とする記録装置であり、フラッシュROMにおいてデータ値の誤りが発生した場合、正規なデータに訂正するための誤り訂正技術を開示している。
特開2006−331233号公報
上記特許文献1に代表される従来技術は、例えば、消去、書き込み、および読み取り(以下単に「書き込み等」という)が可能なフラッシュROMと、読み取り専用のROMとを併用しており、CPUの起動時におけるデータバスへのアクセスは、CPUがアドレス信号とメモリ制御信号とを操作することによって、ROMに格納された起動プログラム(初期化プログラムと称してもよい)に関するデータを読み取るという態様である。ここで、起動プログラムに関するデータや起動プログラム以外のデータをフラッシュROMに保存して、これらのデータを用いて、CPUを安定的に起動させると共に、起動プログラム以外のデータの書き込み等を実行する場合には、起動プログラムに関するデータの誤り訂正を可能とするバス操作と、書き込み等を可能とするバス操作とを考慮しなければならない。しかしながら、上記特許文献1に代表される従来技術は、これらのバス操作が考慮されていないため、フラッシュROMを用いてCPUを安定的に起動させ、かつ、データの書き込み等を行うことが困難であった。
本発明は、上記に鑑みてなされたものであって、フラッシュROMを用いてCPUを安定的に起動させ、かつ、データの書き込み等を行うことが可能なメモリ制御装置およびメモリ制御方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、CPUと誤り訂正符号化処理がなされた第1の情報と誤り訂正符号化処理がなされていない第2の情報とを記録し、電気的に書き換え可能な不揮発性のメモリと、前記CPUから出力されたアドレスを検知して、前記メモリに記録された第1の情報をCPUが読み取り可能とすべくアドレスバスと前記メモリとを接続する第1の経路と、前記メモリに記録された前記第2の情報を消去、書き込み、および読み取り可能にすべく前記アドレスバスと前記メモリとを接続する第2の経路と、を切り替える第1の切替器と、前記メモリに記録された前記第1の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器と、前記CPUから出力されたアドレスを検知して、前記復号器にて復号された情報を前記CPUのデータバスに伝達すべく前記復号器と前記データバスとを接続する第3の経路と、前記メモリに記録された前記第2の情報を消去、書き込み、および読み取り可能にすべく前記メモリと前記データバスとを接続する第4の経路と、を切り替える第2の切替器と、を備えたことを特徴とする。
この発明によれば、第1の切替器および第2の切替器を備えるようにしたので、フラッシュROMを用いてCPUを安定的に起動させ、かつ、データの書き込み等を行うことができるという効果を奏する。
図1は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、CPU起動時の動作を説明するための図である。 図2は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、フラッシュROMの書き込み操作あるいは消去操作をするときの動作を説明するための図である。 図3は、本発明の実施の形態にかかるメモリ制御装置を列車搭載機器に組み込んだ場合の効果を説明するための図である。
以下に、本発明にかかるメモリ制御装置およびメモリ制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、CPU1起動時の動作を説明するための図である。また、図2は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、フラッシュROM4の書き込み操作あるいは消去操作をするときの動作を説明するための図である。
以下、説明の順としては、まずメモリ制御装置の構成を説明し、その後に、CPU1起動時の動作と、フラッシュROM4内のデータを書き込み等する場合の動作とを説明する。
図1および図2において、本実施の形態にかかるメモリ制御装置は、主たる構成として、CPU1と、フラッシュROM4(以下単に「ROM4」と称する)と、CPU1のアドレスバス2とROM4との間に介在するアドレス線切替器5(第1の切替器)と、復号器7と、データ線切替器6(第2の切替器)を有して構成されている。
CPU1は、メモリ制御装置の動作を制御するものである。CPU1は、データバス幅を、例えば、8ビットデータバス幅または16ビットデータバス幅に切り替える機能を有し、バス制御ライン(図示せず)を操作して、アドレスバス2あるいはデータバス3に接続された各デバイスにアクセスする。各デバイスとは、例えば、アドレス線切替器5やデータ線切替器6である。
データバス幅の切り替えは、CPU1に内蔵されたバスコントローラ(図示せず)で生成されたチップセレクト信号(CS)に基づいて行われる。例えば、CPU1は、CS=0のとき8ビットデータバス幅でROM4にアクセスし、CS=1のとき16ビットデータバス幅でROM4にアクセスする。
アドレスバス2は、LSB(最下位ビット)をA0とし、MSB(最上位ビット)をAn(n=1、2・・・)とする。図1および図2では、一例としてA0〜A9までのアドレスバス2が示されている。データバス3は、LSBをD0とし、MSBをDn(n=1、2・・・)とする。図1および図2では、一例としてD0からD15までのデータバス3が示されている。なお、図1および図2に記載されるアドレスバス幅およびデータバス幅は、説明の便宜上のものであり、これに限定されるものではない。
次に、ROM4に関して説明する。ROM4は、電気的に書き換え可能なEEPROMの一種であり、駆動用電源の供給がなくても情報を保持する不揮発性メモリである。本実施の形態では、ROM4は、データバス幅が例えば16ビット(2バイト)のものとして説明する。
ROM4には、例えば、起動プログラムに関するデータや、アプリケーションプログラムに関するデータなど様々なデータ等が記録されている。本実施の形態では、例えば、誤り訂正符号化処理がなされたデータ(以下「第1の情報」とする)や、誤り訂正符号化処理がなされていないデータ(以下「第2の情報」とする)がROM4に記録されているものとする。
誤り訂正符号化処理前のデータは、例えば、CS=0でアクセスするときに扱うデータである。このデータは、復号器7にて誤り訂正を要すると考えられるデータであればよく、例えば、CPU1の起動プログラムに関するデータなどである。そして、このデータは、例えば、符号長15および情報ビット数11のハミング符号で符号化され、第1の情報としてROM4に記録される。第2の情報は、例えば、書き込み等を行うデータである。
ハミング符号は、公知の通り、符号長n=2m−1(mは整数)、情報数k=n−mで構成される。情報数とは、元データのビット数であり、符号長とは、生成される符号のビット数である。例えば、m=4の場合、n=15、k=11となり、11ビットのビット列を15ビットの符号語に置き換えるハミング符号が形成される。
ROM4のアドレス信号は、LSBをfA0とし、MSBをfAn(n=1、2・・・)とする。図1および図2では、一例としてfA0〜fA8までのアドレス信号が示されている。ROM4のデータ信号は、LSBをfD0とし、MSBをfDn(n=1、2・・・)とする。図1および図2では、一例としてfD0〜fD15までのデータ信号が示されている。
図1および図2の例では、ROM4は、fA0〜fA8のアドレス値に対応した16ビットの信号を出力する。ROM4からの出力は、復号器7およびデータ線切替器6に取り込まれる。
次に、復号器7に関して説明する。復号器7は、上述した第1の情報の誤り訂正を実行し誤り訂正符号化処理前のデータを復号する。ROM4に記録されている第1の情報が、上述したハミング符号にて符号化された15ビットのデータである場合、復号器7は、ROM4のデータバスfD0〜fD15からこの第1の情報を取り込み、11ビットの情報を復号し、さらに11ビット中の8ビットのデータをdD0〜dD7から出力する。すなわち、復号器7は、ROM4に記録された第1の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する。復号器7から出力されたデータは、データ線切替器6を経由してデータバス3のD0〜D7(8ビット)に取り込まれる。
上述した符号長nと情報数kを用いて復号器7の動作を説明する。復号器7は、ROM4から出力された15ビットの信号「n」の中から11ビットの情報「k」を復号して、さらにこの11ビット中の8ビットをデータバス3に出力する。この8ビットのデータが誤り訂正後のデータとなる。
次に、アドレス線切替器5に関して説明する。アドレス線切替器5の一端は、アドレスバスA0〜An(n=1、2・・・)に接続され、他端は、ROM4に接続されている。アドレス線切替器5は、アドレスバス2とROM4との間に介在して、アドレスバスA0〜Anと、ROM4のアドレスfA0〜fAnとの対応を切り替えるものである。換言すれば、アドレス線切替器5は、CPU1が第1の情報をROM4から読み取り可能に、CPU1のアドレスバス2とROM4とを接続する第1の経路と、CPU1が第2の情報を書き込み等可能にアドレスバス2とROM4とを接続する第2の経路と、を切り替える。
第1の経路は、例えば、図1に示されるように、アドレスバス2のA0〜A8とROM4のアドレス信号fA0〜fA8とを接続している経路である。第2の経路は、例えば、図2に示されるように、アドレスバス2のA1〜A9とROM4のアドレス信号fA0〜fA8とを接続している経路である。
次に、データ線切替器6に関して説明する。データ線切替器6の一端は、復号器7の出力dD0〜dDnとROM4の出力fD0〜fDnに接続されている。また、データ線切替器6の他端は、データバス3に接続されている。データ線切替器6は、復号器7とデータバス3との間に介在し、復号器7の出力dD0〜dDnと、ROM4からの出力fD0〜fDnとを切り替えるものである。換言すれば、データ線切替器6は、復号器7にて誤り訂正された第1の情報をCPU1のデータバス3に伝達すべく復号器7とデータバス3とを接続する第3の経路と、CPU1に記録された第2の情報を書き込み等可能とすべくROM4とデータバス3とを接続する第4の経路と、を切り替える。
第3の経路は、例えば、図1に示されるように、復号器7の出力dD0〜dD7とデータバス3のD0〜D7とを接続している経路である。第4の経路は、例えば、図2に示されるように、ROM4の出力fD0〜fD15とデータバス3のD0〜D15とを接続している経路である。
以上のように、本実施の形態にかかるメモリ制御装置は、CPU1の動作時のアドレス値を判断して、アドレス線切替器5の動作とデータ線切替器6の動作とを決めるように構成されている。
以下、アドレス線切替器5の動作とデータ線切替器6の動作を詳細に説明する。説明の流れとしては、まずROM4から第1の情報を読み出すときの動作を説明し、その次にROM4内のデータを書き込み等する場合の動作を説明する。なお、前者は、一例として、CPU1が8ビットデータバス幅で動作し、かつ、起動時のアドレス(起動アドレス)でROM4にアクセスしたときの動作である。後者は、一例として、CPU1が16ビットデータバス幅で動作し、かつ、書き込み等をする時のアドレスでROM4にアクセスしたときの動作である。
まず、図1を用いてROM4から第1の情報を読み出す動作を説明する。なお、以下の説明では、一例として、CPU1を起動するときの場面に関して説明するものとし、第1の情報が、例えば、起動プログラムに関するデータであると仮定して説明をする。
CPU1を起動するとき、CPU1は、8ビットデータバス幅で動作する。そして、CPU1は、デバイス(CPU1)固有の起動アドレスを出力して、ROM4へのアクセスを実行する。
アドレス線切替器5およびデータ線切替器6は、アドレスバス2のアドレス信号をモニタしており、このアドレスに対応した切り替え動作を実行するように構成されている。具体的に説明すると、起動時のアドレス値でCPU1がアクセスした場合、アドレス線切替器5は、このアドレス値を検知して、アドレスバス2とROM4のアドレス線とを、以下のように対応付けて接続する。
A0−fA0
A1−fA1
An−fAn(n=0、1、2・・・9)
このことを具体的に説明する。起動時のアドレス(例えば4桁のアドレスXXXXの場合)のLSBが、XXX0からXXX1に変化し、またはXXX1からXXX0に変化したとき、すなわちアドレス値が1つインクリメントされる毎に、ROM4が1ワード(16ビット)進むようにする必要がある。そのためには、アドレス線切替器5が起動時のアドレス値を検知して、アドレスバスのLSB(A0)とROM4のLSB(fA0)とを接続するように構成すればよい。その結果、アドレスバス2のA0が変化する毎に、ROM4は1ワード進むことになる。
他方、データ線切替器6は、CPU1が起動時のアドレス値でアクセスした場合、このアドレス値を検知して、データバス3と復号器7の出力とを、以下のように対応付けて接続する。
D0−dD0
D1−dD1
Dn−dDn(n=0、1、2・・・7)
このようにデータ線切替器6が動作することで、ROM4からは16ビットのデータ(fD0〜fD15)が出力される。
復号器7は、この16ビットの内、15ビット(fD0〜fD14)を取り込み、11ビットの情報を復号し、この11ビット中の8ビットを、データバス3のD0〜D7(8ビット)に出力する。なお、起動時のアドレスに対応したデータ(起動プログラムに関するデータ)は、上述したように、誤り訂正符号化処理がなされて、第1の情報としてROM4に記録されている。すなわち、8ビットのデータ(起動プログラムに関するデータ)が15ビットのデータ(第1の情報)としてROM4に記録されている。
本実施の形態にかかるメモリ制御装置は、CPU1が8ビットデータバス幅で動作し、かつ、起動時のアドレスでROM4にアクセスしたときに、アドレス線切替器5およびデータ線切替器6の経路を図1に示すように切り替えることで、第1の情報を読み出し、かつ、誤り訂正をしたデータをデータバス3に伝送可能に構成されている。従って、ROM4において、データ値の誤りが発生した場合でも、CPU1を正常に起動させることが可能である。
次に、図2を用いてROM4内のデータを書き込み等する場合の動作を説明する。なお、CPU1がROM4にアクセスする際に、起動時のアドレスと書き込み等する時のアドレスとが重ならないように設計されているものとする。
ROM4の書き込み等をする時には、CPU1は、16ビットデータバス幅で動作する。そして、CPU1は、書き込み等する時のアドレス値を出力して、ROM4へのアクセスを実行する。
CPU1が、書き込み等する時のアドレス値でアクセスした場合、アドレス線切替器5は、このアドレス値を検知して、アドレスバス2とROM4のアドレス線とを、以下のように対応付けて接続する。
A1−fA0
A2−fA1
An−fA(n−1)(n=0、1、2・・・9)
このことを具体的に説明する。書き込み等する時のアドレス(例えば4桁のアドレスXXXXの場合)の下から2桁目のビットが、XX0XからXX1Xに変化し、またはXX1XからXX0Xに変化したとき、すなわちアドレス値が2つインクリメントされる毎に、ROM4が1ワード(16ビット)進むようにする必要がある。そのためには、アドレス線切替器5が書き込み等する時のアドレス値を検知して、アドレスバスのA1とROM4のfA0とを接続するように構成すればよい。その結果、アドレスバス2のA1が変化する毎に、ROM4は1ワード進むことになる。
他方、データ線切替器6は、CPU1が書き込み等する時のアドレス値でアクセスした場合、このアドレス値を検知して、データバス3とROM4の出力とを、以下のように対応付けて接続する。
D0−fD0
D1−fD1
Dn−fDn(n=0、1、2・・・15)
このようにデータ線切替器6が動作することで、ROM4のfD0〜fD15とデータバス3のD0〜D15とが接続される。このように、CPU1が16ビットデータバス幅で動作することによって、ROM4には、例えばCPU1で符号化された第1の情報を書き込むことも可能である。
本実施の形態にかかるCPU1は、書き込み等する時のアドレスでは、通常のNOR型フラッシュROMと同様のアクセス方式でアクセスする。すなわち、CPU1は、アドレスバス2と図示しないバス制御信号とを操作して、データバス3経由でデバイス(ROM4)にアクセスするが、ROM4自体を1つのバス接続されたデバイスとしてアクセスすることができる。そのため、CPU1は、ROM4に用意された書き込み操作および消去操作を、データバス3経由で行うことが可能である。
書き込み操作とは、データを書き込むために、CPU1がROM4に書き込みコマンドを書き込むと共に、ROM4からの書き込みの完了を読み取る動作を言う。また、消去操作とは、データを消去するために、CPU1がROM4に消去コマンドを書き込むと共に、ROM4からの消去完了を読み取る動作を言う。
これらの操作は、CPU1が16ビットデータバス幅でROM4にアクセスすることによって実行可能である。そして、ROM4に16ビットデータバス幅でアクセスするためには、アドレス線切替器5およびデータ線切替器6が切り替え動作をする必要がある。本実施の形態にかかるアドレス線切替器5およびデータ線切替器6は、アドレスバス2のアドレス信号をモニタし、このアドレスに対応した動作を実行するように構成されているため、書き込み等する時のアドレスを検知したとき、図2に示されるような切り替え動作を実行することで、書き込み操作あるいは消去操作を実現している。
なお、上記説明では、ROM4に書き込まれる起動データのハミング符号化を、CPU1で符号化計算することを前提として説明したが、これに限定されるものではない。例えば、専用のハードウェアをメモリ制御装置に組み込んでハミング符号化を実行するように構成してもよい。このように構成した場合、ソフトウェアを簡略化することが可能である。
また、データのハミング符号化を、メモリ制御装置以外の情報処理システムで実施し、この符号化されたデータをROM4に書き込む態様であってもよい。このようにすれば、CPU1の負荷を軽減することが可能である。
また、誤り訂正符号の方法としてハミング符号を使用する例について説明したが、ハミング符号に限定されるものではなく、ハミング符号以外の誤り訂正符号も採用可能である。
また、誤り訂正符号化処理前のデータは、起動プログラムに関するデータに限定されるものではなく、復号器7にて誤り訂正を要すると考えられるデータであればどのようなデータであってもよい。
また、上記説明では、一例として、第1の情報を読み出すときCPU1は8ビットデータバス幅でアクセスし、第2の情報を書き込み等するときCPU1は16ビットデータバス幅でアクセスするとして説明したが、データバス幅はこれに限定されるものではない。
また、上記説明では、第1の情報を復号器7にて誤り訂正したデータをデータバス3に伝送する態様を説明した。ここで、ハミング符号を用いた場合、公知の通り、1ビットの誤り訂正が可能である。従って、2ビット以上の誤りが発生した場合には、誤り訂正が不可能になりうる。このような問題を解決するため、本実施の形態にかかるメモリ制御装置を以下のように構成してもよい。
例えば、復号器7の内部に所定のレジスタを用意し、復号器7が誤り訂正を実施したときに、誤り発生情報がこのレジスタに保存され、CPU1は、この誤り発生情報をレジスタ経由で検知する。さらにCPU1は、ROM4の誤りが発生した記録領域を特定すると共に、この記録領域のデータを読取り、このデータをハミング符号化した後に、該当箇所(誤りが発生した記録領域)に書き込みを実施する。このように、復号器7は、復号時の誤り検知結果を復号器内部情報として保持するように構成されている。
上記操作により、例えばROM4に1ビットの誤りが発生した場合でも、データは誤り訂正可能な状態でROM4に書込まれる。すなわち、本実施の形態にかかるメモリ制御装置によれば、ビット誤りが多数発生する前に誤り訂正可能な状態に戻すことによって、誤り訂正不可能なエラーの発生を抑制可能である。
以上に説明したように、本実施の形態にかかるメモリ制御装置は、CPU1と、誤り訂正符号化処理がなされた第1の情報と誤り訂正符号化処理がなされていない第2の情報と記録するROM4(メモリ)と、CPU1から出力されたアドレスを検知して、ROM4に記録された第1の情報をCPU1が読み取り可能とすべくアドレスバス2とROM4とを接続する第1の経路と、ROM4に記録された第2の情報を消去、書き込み、および読み取り可能にすべくアドレスバス2とROM4とを接続する第2の経路と、を切り替えるアドレス線切替器5(第1の切替器)と、ROM4に記録された第1の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器7と、CPU1から出力されたアドレスを検知して、復号器7にて復号された情報をCPU1のデータバス3に伝達すべく復号器7とデータバス3とを接続する第3の経路と、ROM4に記録された第2の情報を消去、書き込み、および読み取り可能にすべくROM4とデータバス3とを接続する第4の経路と、を切り替えるデータ線切替器6(第2の切替器)と、を備えるようにしたので、第1の情報を読み出すことを示す第1のアドレス(例えば、起動アドレス)がCPU1から出力されたとき、アドレス線切替器5は第1の経路にてアドレスバス2とROM4とを接続し、データ線切替器6は第3の経路にて復号器7とデータバス3とを接続することで、誤り訂正がなされたデータを読み出すことが可能である。さらに、第2の情報の書き込み等をすることを示す第2のアドレスがCPU1から出力されたとき、アドレス線切替器5は、第2の経路にてアドレスバス2とROM4とを接続し、データ線切替器6は、第4の経路にて復号器7とデータバス3とを接続することで、ROM4内のデータの消去操作および書き込み操作を行うことが可能である。
従来のメモリ制御装置においては、電源がオンされたとき、CPUがROMに記憶された起動プログラムを読み出す。さらに、起動プログラムに基づいて、データの書き込み等が可能な記憶装置(例えばハードディスクやフラッシュROM)からOSローダを読み出して実行する。このように、従来のメモリ制御装置は、起動データを保存するためのROMと、データの書き込み等が可能な記憶装置と、を併用する態様である。本実施の形態にかかるメモリ制御装置は、アドレス線切替器5およびデータ線切替器6を備えているので、ROM4のみを用いて、CPU1を安定的に起動することができると共に、ROM4に記録されたデータの書き込み操作等が可能である。
なお、本実施の形態にかかるメモリ制御装置は、CPU1によって各種の制御を行うメモリ制御装置に適用可能であるが、例えば、鉄道車両に適用した場合には以下のような効果を奏する。
図3は、本発明の実施の形態にかかるメモリ制御装置を列車搭載機器に組み込んだ場合の効果を説明するための図である。図3に示される列車の編成は、複数台の車両からなり、一例として両先頭車両10aおよび10b、先頭車両以外の車両11aおよび車両11bで構成されている。
近年の鉄道車両には、乗務員の負荷低減や乗客に対するサービス向上を目的として、サービス機器などの動作状態の制御および監視を行う列車情報管理装置が搭載されている。車両10aおよび10bには、一例として電機品20、電機品21、および電機品22が搭載され、電機品20は、例えば、列車情報管理装置を構成する中央局であり、電機品22は、例えば、列車情報管理装置を構成する端末装置である。電機品21は、例えば、運転台などに設置されたモニタ表示器などである。これらの電機品は、車両情報を相互に伝送可能に、車両内伝送路で接続されている。
車両11aおよび車両11bには、一例として電機品30および電機品31が搭載されている。電機品30は、例えば上述した端末装置であり、電機品31は、端末装置に接続された車両内機器(例えば、エアコン、SIV、VVVFなど)である。電機品30と電機品31は、車両内伝送路で接続されている。そして、電機品20と電機品30は、車両間伝送路で相互に接続されている。
ここで、これらの電機品において、フラッシュROMのビットエラーに起因する故障が発生した場合、CPUの誤動作を引き起こし、列車の運用に大きな影響を与える可能性がある。例えば、SIVなどの一部の車両内機器の故障が発生した場合には、乗務員が列車情報管理装置を利用して故障原因の調査を行い現象の把握と応急処置を行うことは可能である。ただし、列車情報管理装置自体が故障した場合には故障原因を把握すること自体が困難となるため、列車の運用に大きな影響を与える可能性がある。
そこで、本実施の形態にかかるメモリ制御装置を、図3に示される各電機品に組み込むようにすれば、ROMのビットエラーに起因するCPUの誤動作を回避できるため、列車運用への影響を大幅に軽減することが可能である。
さらに、本実施の形態にかかるメモリ制御装置は、例えば、一般的に市販されているCPU(あるいはIC)のサポートしているバス制御の仕組みを変更することなく、フラッシュROMを用いてCPUを安定的に起動させ、かつ、データの書き込み等を行うことが可能である。
なお、本実施の形態にかかるメモリ制御装置は、本発明の内容の一例を示すものであり、更なる別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能であることは無論である。
以上のように、本発明は、CPUによって各種の制御を行うメモリ制御装置に適用可能であり、特に、フラッシュROMを用いてCPUを安定的に起動させ、かつ、データの書き込み等を行うことができる発明として有用である。
1 CPU
2 アドレスバス
3 データバス
4 フラッシュROM(メモリ)
5 アドレス線切替器(第1の切替器)
6 データ線切替器(第2の切替器)
7 復号器
10a、10b、11a、11b 鉄道車両
20、21、22、30、31 電機品

Claims (7)

  1. CPUと、
    誤り訂正符号化処理がなされた第1の情報と誤り訂正符号化処理がなされていない第2の情報とを記録し、電気的に書き換え可能な不揮発性のメモリと、
    前記CPUから出力されたアドレスを検知して、前記メモリに記録された第1の情報をCPUが読み取り可能とすべくアドレスバスと前記メモリとを接続する第1の経路と、前記メモリに記録された前記第2の情報を消去、書き込み、および読み取り可能にすべく前記アドレスバスと前記メモリとを接続する第2の経路と、を切り替える第1の切替器と、
    前記メモリに記録された前記第1の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器と、
    前記CPUから出力されたアドレスを検知して、前記復号器にて復号された情報を前記CPUのデータバスに伝達すべく前記復号器と前記データバスとを接続する第3の経路と、前記メモリに記録された前記第2の情報を消去、書き込み、および読み取り可能にすべく前記メモリと前記データバスとを接続する第4の経路と、を切り替える第2の切替器と、
    を備えたことを特徴とするメモリ制御装置。
  2. 前記CPUから出力されたアドレスが、前記第1の情報を読み出すことを示す第1のアドレスであるとき、
    前記第1の切替器は、前記第1のアドレスを検知して、前記第1の経路にて前記アドレスバスと前記メモリとを接続し、
    前記第2の切替器は、前記第1のアドレスを検知して、前記第3の経路にて前記復号器と前記データバスとを接続し、
    前記CPUから出力されたアドレスが、前記第2の情報を消去、書き込み、および読み取ることを示す第2のアドレスであるとき、
    前記第1の切替器は、前記第2のアドレスを検知して、前記第2の経路にて前記アドレスバスと前記メモリとを接続し、
    前記第2の切替器は、前記第2のアドレスを検知して、前記第4の経路にて前記復号器と前記データバスとを接続することを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記CPUは、誤り訂正が必要な情報を、ソフトウェア処理にて誤り訂正符号化し、
    前記メモリには、この誤り訂正符号化処理がなされた情報が前記第1の情報として記録されていることを特徴とする請求項1に記載のメモリ制御装置。
  4. 前記復号器は、誤り訂正を実施したときに誤り発生情報を保持し、
    前記CPUは、誤り発生情報に基づいて、前記メモリ上の誤りが発生した記録領域を特定すると共に、この記録領域から読み出された情報の誤り訂正符号化処理を実行し、誤り訂正符号化処理がなされた情報を前記記録領域に上書きすることを特徴とする請求項1に記載のメモリ制御装置。
  5. 前記第1の情報は、前記CPUの起動プログラムデータであることを特徴とする請求項1に記載のメモリ制御装置。
  6. 誤り訂正符号化処理がなされた第1の情報と誤り訂正符号化処理がなされていない第2の情報とを記録し、電気的に書き換え可能な不揮発性のメモリの制御方法であって、
    CPUから出力されたアドレスが、前記第1の情報を読み出すことを示す第1のアドレスであるとき、
    前記メモリに記録された前記第1の情報をCPUが読み取り可能とすべくアドレスバスと前記メモリとを接続する第1の経路と、前記メモリに記録された前記第2の情報を消去、書き込み、および読み取り可能にすべく前記アドレスバスと前記メモリとを接続する第2の経路と、を切り替える第1の切替器は、前記第1のアドレスを検知して前記第1の経路にて前記アドレスバスと前記メモリとを接続するステップと、
    前記メモリに記録された前記第1の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器にて復号された情報を、前記CPUのデータバスに伝達すべく前記復号器と前記データバスとを接続する第3の経路と、前記メモリに記録された前記第2の情報を消去、書き込み、および読み取り可能にすべく前記メモリと前記データバスとを接続する第4の経路と、を切り替える第2の切替器は、前記第1のアドレスを検知して前記第3の経路にて復号器とデータバスとを接続するステップと、
    を特徴とするメモリ制御方法。
  7. 前記CPUから出力されたアドレスが、前記第2の情報を消去、書き込み、および読み取ることを示す第2のアドレスであるとき、
    前記第1の切替器は、前記第2のアドレスを検知して、前記第2の経路にて前記アドレスバスと前記メモリとを接続するステップと、
    前記第2の切替器は、前記第2のアドレスを検知して、前記第4の経路にて前記復号器と前記データバスとを接続するステップとを有することを特徴とする請求項6に記載のメモリ制御方法。
JP2011532382A 2010-09-06 2010-09-06 メモリ制御装置およびメモリ制御方法 Active JP4841709B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/065255 WO2012032595A1 (ja) 2010-09-06 2010-09-06 メモリ制御装置およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JP4841709B1 true JP4841709B1 (ja) 2011-12-21
JPWO2012032595A1 JPWO2012032595A1 (ja) 2013-12-12

Family

ID=45475238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532382A Active JP4841709B1 (ja) 2010-09-06 2010-09-06 メモリ制御装置およびメモリ制御方法

Country Status (6)

Country Link
US (1) US9135107B2 (ja)
EP (1) EP2615556B1 (ja)
JP (1) JP4841709B1 (ja)
CN (1) CN103069399B (ja)
SG (1) SG188410A1 (ja)
WO (1) WO2012032595A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726057A (zh) * 2018-11-19 2019-05-07 浙江众合科技股份有限公司 一种cpu安全系统并行总线故障实时动态检测方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102466239B1 (ko) * 2016-04-05 2022-11-14 에스케이하이닉스 주식회사 메모리 컨트롤러를 포함하는 메모리 시스템 및 그의 동작 방법
KR20190029316A (ko) * 2017-09-12 2019-03-20 에스케이하이닉스 주식회사 마이크로 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작방법
CN111736878B (zh) * 2020-08-10 2020-12-08 广州汽车集团股份有限公司 一种对cpu连接ddr芯片的数据线异常进行定位的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111839A (ja) * 1996-10-04 1998-04-28 Fujitsu Ltd 記憶回路モジュール
WO2000016198A1 (fr) * 1998-09-14 2000-03-23 Fujitsu Limited Procede de diagnostic d'erreur de memoire et de recuperation de donnees, et dispositif de memoire utilisant ce procede
WO2009125470A1 (ja) * 2008-04-07 2009-10-15 三菱電機株式会社 列車用通信中継装置、および列車用通信中継方法
JP2010146226A (ja) * 2008-12-18 2010-07-01 Oki Data Corp 情報処理装置
JP2010152703A (ja) * 2008-12-25 2010-07-08 Sony Corp 不揮発性記憶装置、情報記録システム、及び情報記録方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI254848B (en) * 2004-11-16 2006-05-11 Via Tech Inc Method and related apparatus for performing error checking-correcting
JP4235624B2 (ja) * 2005-05-27 2009-03-11 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111839A (ja) * 1996-10-04 1998-04-28 Fujitsu Ltd 記憶回路モジュール
WO2000016198A1 (fr) * 1998-09-14 2000-03-23 Fujitsu Limited Procede de diagnostic d'erreur de memoire et de recuperation de donnees, et dispositif de memoire utilisant ce procede
WO2009125470A1 (ja) * 2008-04-07 2009-10-15 三菱電機株式会社 列車用通信中継装置、および列車用通信中継方法
JP2010146226A (ja) * 2008-12-18 2010-07-01 Oki Data Corp 情報処理装置
JP2010152703A (ja) * 2008-12-25 2010-07-08 Sony Corp 不揮発性記憶装置、情報記録システム、及び情報記録方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726057A (zh) * 2018-11-19 2019-05-07 浙江众合科技股份有限公司 一种cpu安全系统并行总线故障实时动态检测方法

Also Published As

Publication number Publication date
JPWO2012032595A1 (ja) 2013-12-12
CN103069399A (zh) 2013-04-24
EP2615556A1 (en) 2013-07-17
WO2012032595A1 (ja) 2012-03-15
US9135107B2 (en) 2015-09-15
SG188410A1 (en) 2013-04-30
US20130173992A1 (en) 2013-07-04
EP2615556B1 (en) 2015-07-29
EP2615556A4 (en) 2014-05-21
CN103069399B (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
JP4560408B2 (ja) 不揮発性記憶装置の制御方法
EP2187315B1 (en) Method for accessing data in flash memory and data accessing controller
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
CN107918571B (zh) 测试储存单元的方法以及使用该方法的装置
JP4841709B1 (ja) メモリ制御装置およびメモリ制御方法
US20130173986A1 (en) Memory controller, data storage device, and memory controlling method
CN111090545A (zh) 一种恢复故障cpld的方法、设备及介质
JP2009181425A (ja) メモリモジュール
JP2002007225A (ja) アドレスパリティエラー処理方法並びに情報処理装置および記憶装置
US10514980B2 (en) Encoding method and memory storage apparatus using the same
JP2006513471A (ja) メモリアクセスエラーの検出及び/又は訂正方法、並びにこの方法を実行するための電子回路構成
US8522075B2 (en) Storage system having storage devices for storing data and control devices for controlling the storage devices
US20190391874A1 (en) Memory storage apparatus with dynamic data repair mechanism and method of dynamic data repair thereof
US8151176B2 (en) CPU instruction RAM parity error procedure
US11249839B1 (en) Method and apparatus for memory error detection
JPH10302485A (ja) フラッシュ・メモリを有する情報処理装置
CN112151104B (zh) 存储器存放装置及其动态数据修复的方法
US11409596B1 (en) Encoding control method, memory storage device and memory control circuit unit
US20230282300A1 (en) Semiconductor device and semiconductor system
JP3358701B2 (ja) ベリファイ方法およびベリファイ装置
US20200387318A1 (en) Repetitive data processing method for solid state drive
CN116594804A (zh) 一种edac码读写优化方法、系统、设备及存储介质
JP5465164B2 (ja) 列車情報管理装置および多数決処理方法
JPS6142304B2 (ja)
US20090222702A1 (en) Method for Operating a Memory Device

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110830

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111004

R150 Certificate of patent or registration of utility model

Ref document number: 4841709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250