(57)【要約】  ＣＰＵ１と、誤り訂正符号化処理がなされた第１の情報と誤り訂正符号化処理がなされていない第２の情報とを記録するフラッシュＲＯＭ４と、ＲＯＭ４に記録された第１の情報をＣＰＵ１が読み取り可能とすべくアドレスバス２とＲＯＭ４とを接続する第１の経路とＲＯＭ４に記録された第２の情報を消去、書き込み、および読み取り可能にすべくアドレスバス２とＲＯＭ４とを接続する第２の経路とを切り替えるアドレス線切替器５と、ＲＯＭ４に記録された第１の情報の誤り訂正および復号を行う復号器７と、復号器７にて復号された情報をデータバス３に伝達すべく復号器７とデータバス３とを接続する第３の経路とＲＯＭ４に記録された第２の情報を消去、書き込み、および読み取り可能にすべくＲＯＭ４とデータバス３とを接続する第４の経路と、を切り替えるデータ線切替器６とを備える。
2012032595.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
誤り訂正符号化処理がなされた第１の情報と誤り訂正符号化処理がなされていない第２の情報とを記録し、電気的に書き換え可能な不揮発性のメモリと、
前記ＣＰＵから出力されたアドレスを検知して、前記メモリに記録された第１の情報をＣＰＵが読み取り可能とすべくアドレスバスと前記メモリとを接続する第１の経路と、前記メモリに記録された前記第２の情報を消去、書き込み、および読み取り可能にすべく前記アドレスバスと前記メモリとを接続する第２の経路と、を切り替える第１の切替器と、
前記メモリに記録された前記第１の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器と、
前記ＣＰＵから出力されたアドレスを検知して、前記復号器にて復号された情報を前記ＣＰＵのデータバスに伝達すべく前記復号器と前記データバスとを接続する第３の経路と、前記メモリに記録された前記第２の情報を消去、書き込み、および読み取り可能にすべく前記メモリと前記データバスとを接続する第４の経路と、を切り替える第２の切替器と、
を備えたことを特徴とするメモリ制御装置。
【請求項２】
前記ＣＰＵから出力されたアドレスが、前記第１の情報を読み出すことを示す第１のアドレスであるとき、
前記第１の切替器は、前記第１のアドレスを検知して、前記第１の経路にて前記アドレスバスと前記メモリとを接続し、
前記第２の切替器は、前記第１のアドレスを検知して、前記第３の経路にて前記復号器と前記データバスとを接続し、
前記ＣＰＵから出力されたアドレスが、前記第２の情報を消去、書き込み、および読み取ることを示す第２のアドレスであるとき、
前記第１の切替器は、前記第２のアドレスを検知して、前記第２の経路にて前記アドレスバスと前記メモリとを接続し、
前記第２の切替器は、前記第２のアドレスを検知して、前記第４の経路にて前記復号器と前記データバスとを接続することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記ＣＰＵは、誤り訂正が必要な情報を、ソフトウェア処理にて誤り訂正符号化し、
前記メモリには、この誤り訂正符号化処理がなされた情報が前記第１の情報として記録されていることを特徴とする請求項１に記載のメモリ制御装置。
【請求項４】
前記復号器は、誤り訂正を実施したときに誤り発生情報を保持し、
前記ＣＰＵは、誤り発生情報に基づいて、前記メモリ上の誤りが発生した記録領域を特定すると共に、この記録領域から読み出された情報の誤り訂正符号化処理を実行し、誤り訂正符号化処理がなされた情報を前記記録領域に上書きすることを特徴とする請求項１に記載のメモリ制御装置。
【請求項５】
前記第１の情報は、前記ＣＰＵの起動プログラムデータであることを特徴とする請求項１に記載のメモリ制御装置。
【請求項６】
誤り訂正符号化処理がなされた第１の情報と誤り訂正符号化処理がなされていない第２の情報とを記録し、電気的に書き換え可能な不揮発性のメモリの制御方法であって、
ＣＰＵから出力されたアドレスが、前記第１の情報を読み出すことを示す第１のアドレスであるとき、
前記メモリに記録された前記第１の情報をＣＰＵが読み取り可能とすべくアドレスバスと前記メモリとを接続する第１の経路と、前記メモリに記録された前記第２の情報を消去、書き込み、および読み取り可能にすべく前記アドレスバスと前記メモリとを接続する第２の経路と、を切り替える第１の切替器は、前記第１のアドレスを検知して前記第１の経路にて前記アドレスバスと前記メモリとを接続するステップと、
前記メモリに記録された前記第１の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器にて復号された情報を、前記ＣＰＵのデータバスに伝達すべく前記復号器と前記データバスとを接続する第３の経路と、前記メモリに記録された前記第２の情報を消去、書き込み、および読み取り可能にすべく前記メモリと前記データバスとを接続する第４の経路と、を切り替える第２の切替器は、前記第１のアドレスを検知して前記第３の経路にて復号器とデータバスとを接続するステップと、
を特徴とするメモリ制御方法。
【請求項７】
前記ＣＰＵから出力されたアドレスが、前記第２の情報を消去、書き込み、および読み取ることを示す第２のアドレスであるとき、
前記第１の切替器は、前記第２のアドレスを検知して、前記第２の経路にて前記アドレスバスと前記メモリとを接続するステップと、
前記第２の切替器は、前記第２のアドレスを検知して、前記第４の経路にて前記復号器と前記データバスとを接続するステップとを有することを特徴とする請求項６に記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的に書き換え可能な不揮発性のメモリ（「フラッシュＲＯＭ」あるいは「ＥＥＰＲＯＭ：Electrically  ErasableProgrammable  ROM」を用いたメモリ制御装置およびメモリ制御方法に関するものである。
【背景技術】
【０００２】
近年、ＣＰＵ（Central  Processing  Unit）によって各種の制御を行うメモリ制御装置には、オペレーティングシステム（ＯＳ）やアプリケーションソフトなどの記録媒体として、フラッシュＲＯＭが一般的に搭載されている。このフラッシュＲＯＭは、以下のような特徴がある。（１）電源を切ってもデータが保持される。（２）データ書き込み前に、書き込み領域の消去を行う必要がある。（３）データの消去は、デバイス毎に定められたブロック単位で行う必要があり、デバイスのデータピンに定められた手順で信号を与えることで行われる。（４）データの書き込みは、デバイスのデータピンに定められた手順で信号を与えることで行われる。【０００３】
ただし、このフラッシュＲＯＭは、デバイス内に電荷を閉じ込めることでデータ値を記録するように構成されているため、各メモリセルのデータ保時時間のばらつきやノイズの影響等によって、電荷漏れと呼ばれる現象が発生する場合がある。フラッシュＲＯＭに保存されたデータは、この電荷漏れによって一定の確率でビットエラーを発生する場合がある。【０００４】
このような問題を解決する手段として下記特許文献１に代表される従来技術は、上述したフラッシュＲＯＭを記録媒体とする記録装置であり、フラッシュＲＯＭにおいてデータ値の誤りが発生した場合、正規なデータに訂正するための誤り訂正技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３１２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に代表される従来技術は、例えば、消去、書き込み、および読み取り（以下単に「書き込み等」という）が可能なフラッシュＲＯＭと、読み取り専用のＲＯＭとを併用しており、ＣＰＵの起動時におけるデータバスへのアクセスは、ＣＰＵがアドレス信号とメモリ制御信号とを操作することによって、ＲＯＭに格納された起動プログラム（初期化プログラムと称してもよい）に関するデータを読み取るという態様である。ここで、起動プログラムに関するデータや起動プログラム以外のデータをフラッシュＲＯＭに保存して、これらのデータを用いて、ＣＰＵを安定的に起動させると共に、起動プログラム以外のデータの書き込み等を実行する場合には、起動プログラムに関するデータの誤り訂正を可能とするバス操作と、書き込み等を可能とするバス操作とを考慮しなければならない。しかしながら、上記特許文献１に代表される従来技術は、これらのバス操作が考慮されていないため、フラッシュＲＯＭを用いてＣＰＵを安定的に起動させ、かつ、データの書き込み等を行うことが困難であった。【０００７】
本発明は、上記に鑑みてなされたものであって、フラッシュＲＯＭを用いてＣＰＵを安定的に起動させ、かつ、データの書き込み等を行うことが可能なメモリ制御装置およびメモリ制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ＣＰＵと誤り訂正符号化処理がなされた第１の情報と誤り訂正符号化処理がなされていない第２の情報とを記録し、電気的に書き換え可能な不揮発性のメモリと、前記ＣＰＵから出力されたアドレスを検知して、前記メモリに記録された第１の情報をＣＰＵが読み取り可能とすべくアドレスバスと前記メモリとを接続する第１の経路と、前記メモリに記録された前記第２の情報を消去、書き込み、および読み取り可能にすべく前記アドレスバスと前記メモリとを接続する第２の経路と、を切り替える第１の切替器と、前記メモリに記録された前記第１の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器と、前記ＣＰＵから出力されたアドレスを検知して、前記復号器にて復号された情報を前記ＣＰＵのデータバスに伝達すべく前記復号器と前記データバスとを接続する第３の経路と、前記メモリに記録された前記第２の情報を消去、書き込み、および読み取り可能にすべく前記メモリと前記データバスとを接続する第４の経路と、を切り替える第２の切替器と、を備えたことを特徴とする。
【発明の効果】
【０００９】
この発明によれば、第１の切替器および第２の切替器を備えるようにしたので、フラッシュＲＯＭを用いてＣＰＵを安定的に起動させ、かつ、データの書き込み等を行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、ＣＰＵ起動時の動作を説明するための図である。
【図２】図２は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、フラッシュＲＯＭの書き込み操作あるいは消去操作をするときの動作を説明するための図である。
【図３】図３は、本発明の実施の形態にかかるメモリ制御装置を列車搭載機器に組み込んだ場合の効果を説明するための図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるメモリ制御装置およびメモリ制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、ＣＰＵ１起動時の動作を説明するための図である。また、図２は、本発明の実施の形態にかかるメモリ制御装置の構成図であって、フラッシュＲＯＭ４の書き込み操作あるいは消去操作をするときの動作を説明するための図である。
【００１３】
以下、説明の順としては、まずメモリ制御装置の構成を説明し、その後に、ＣＰＵ１起動時の動作と、フラッシュＲＯＭ４内のデータを書き込み等する場合の動作とを説明する。
【００１４】
図１および図２において、本実施の形態にかかるメモリ制御装置は、主たる構成として、ＣＰＵ１と、フラッシュＲＯＭ４（以下単に「ＲＯＭ４」と称する）と、ＣＰＵ１のアドレスバス２とＲＯＭ４との間に介在するアドレス線切替器５（第１の切替器）と、復号器７と、データ線切替器６（第２の切替器）を有して構成されている。
【００１５】
ＣＰＵ１は、メモリ制御装置の動作を制御するものである。ＣＰＵ１は、データバス幅を、例えば、８ビットデータバス幅または１６ビットデータバス幅に切り替える機能を有し、バス制御ライン（図示せず）を操作して、アドレスバス２あるいはデータバス３に接続された各デバイスにアクセスする。各デバイスとは、例えば、アドレス線切替器５やデータ線切替器６である。
【００１６】
データバス幅の切り替えは、ＣＰＵ１に内蔵されたバスコントローラ（図示せず）で生成されたチップセレクト信号（ＣＳ）に基づいて行われる。例えば、ＣＰＵ１は、ＣＳ＝０のとき８ビットデータバス幅でＲＯＭ４にアクセスし、ＣＳ＝１のとき１６ビットデータバス幅でＲＯＭ４にアクセスする。
【００１７】
アドレスバス２は、ＬＳＢ（最下位ビット）をＡ０とし、ＭＳＢ（最上位ビット）をＡｎ(ｎ＝１、２・・・）とする。図１および図２では、一例としてＡ０〜Ａ９までのアドレスバス２が示されている。データバス３は、ＬＳＢをＤ０とし、ＭＳＢをＤｎ(ｎ＝１、２・・・）とする。図１および図２では、一例としてＤ０からＤ１５までのデータバス３が示されている。なお、図１および図２に記載されるアドレスバス幅およびデータバス幅は、説明の便宜上のものであり、これに限定されるものではない。
【００１８】
次に、ＲＯＭ４に関して説明する。ＲＯＭ４は、電気的に書き換え可能なＥＥＰＲＯＭの一種であり、駆動用電源の供給がなくても情報を保持する不揮発性メモリである。本実施の形態では、ＲＯＭ４は、データバス幅が例えば１６ビット（２バイト）のものとして説明する。
【００１９】
ＲＯＭ４には、例えば、起動プログラムに関するデータや、アプリケーションプログラムに関するデータなど様々なデータ等が記録されている。本実施の形態では、例えば、誤り訂正符号化処理がなされたデータ（以下「第１の情報」とする）や、誤り訂正符号化処理がなされていないデータ（以下「第２の情報」とする）がＲＯＭ４に記録されているものとする。
【００２０】
誤り訂正符号化処理前のデータは、例えば、ＣＳ＝０でアクセスするときに扱うデータである。このデータは、復号器７にて誤り訂正を要すると考えられるデータであればよく、例えば、ＣＰＵ１の起動プログラムに関するデータなどである。そして、このデータは、例えば、符号長１５および情報ビット数１１のハミング符号で符号化され、第１の情報としてＲＯＭ４に記録される。第２の情報は、例えば、書き込み等を行うデータである。
【００２１】
ハミング符号は、公知の通り、符号長ｎ＝２ｍ−１（ｍは整数）、情報数ｋ＝ｎ−ｍで構成される。情報数とは、元データのビット数であり、符号長とは、生成される符号のビット数である。例えば、ｍ＝４の場合、ｎ＝１５、ｋ＝１１となり、１１ビットのビット列を１５ビットの符号語に置き換えるハミング符号が形成される。
【００２２】
ＲＯＭ４のアドレス信号は、ＬＳＢをｆＡ０とし、ＭＳＢをｆＡｎ(ｎ＝１、２・・・）とする。図１および図２では、一例としてｆＡ０〜ｆＡ８までのアドレス信号が示されている。ＲＯＭ４のデータ信号は、ＬＳＢをｆＤ０とし、ＭＳＢをｆＤｎ(ｎ＝１、２・・・）とする。図１および図２では、一例としてｆＤ０〜ｆＤ１５までのデータ信号が示されている。
【００２３】
図１および図２の例では、ＲＯＭ４は、ｆＡ０〜ｆＡ８のアドレス値に対応した１６ビットの信号を出力する。ＲＯＭ４からの出力は、復号器７およびデータ線切替器６に取り込まれる。
【００２４】
次に、復号器７に関して説明する。復号器７は、上述した第１の情報の誤り訂正を実行し誤り訂正符号化処理前のデータを復号する。ＲＯＭ４に記録されている第１の情報が、上述したハミング符号にて符号化された１５ビットのデータである場合、復号器７は、ＲＯＭ４のデータバスｆＤ０〜ｆＤ１５からこの第１の情報を取り込み、１１ビットの情報を復号し、さらに１１ビット中の８ビットのデータをｄＤ０〜ｄＤ７から出力する。すなわち、復号器７は、ＲＯＭ４に記録された第１の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する。復号器７から出力されたデータは、データ線切替器６を経由してデータバス３のＤ０〜Ｄ７（８ビット）に取り込まれる。
【００２５】
上述した符号長ｎと情報数ｋを用いて復号器７の動作を説明する。復号器７は、ＲＯＭ４から出力された１５ビットの信号「ｎ」の中から１１ビットの情報「ｋ」を復号して、さらにこの１１ビット中の８ビットをデータバス３に出力する。この８ビットのデータが誤り訂正後のデータとなる。
【００２６】
次に、アドレス線切替器５に関して説明する。アドレス線切替器５の一端は、アドレスバスＡ０〜Ａｎ(ｎ＝１、２・・・）に接続され、他端は、ＲＯＭ４に接続されている。アドレス線切替器５は、アドレスバス２とＲＯＭ４との間に介在して、アドレスバスＡ０〜Ａｎと、ＲＯＭ４のアドレスｆＡ０〜ｆＡｎとの対応を切り替えるものである。換言すれば、アドレス線切替器５は、ＣＰＵ１が第１の情報をＲＯＭ４から読み取り可能に、ＣＰＵ１のアドレスバス２とＲＯＭ４とを接続する第１の経路と、ＣＰＵ１が第２の情報を書き込み等可能にアドレスバス２とＲＯＭ４とを接続する第２の経路と、を切り替える。
【００２７】
第１の経路は、例えば、図１に示されるように、アドレスバス２のＡ０〜Ａ８とＲＯＭ４のアドレス信号ｆＡ０〜ｆＡ８とを接続している経路である。第２の経路は、例えば、図２に示されるように、アドレスバス２のＡ１〜Ａ９とＲＯＭ４のアドレス信号ｆＡ０〜ｆＡ８とを接続している経路である。
【００２８】
次に、データ線切替器６に関して説明する。データ線切替器６の一端は、復号器７の出力ｄＤ０〜ｄＤｎとＲＯＭ４の出力ｆＤ０〜ｆＤｎに接続されている。また、データ線切替器６の他端は、データバス３に接続されている。データ線切替器６は、復号器７とデータバス３との間に介在し、復号器７の出力ｄＤ０〜ｄＤｎと、ＲＯＭ４からの出力ｆＤ０〜ｆＤｎとを切り替えるものである。換言すれば、データ線切替器６は、復号器７にて誤り訂正された第１の情報をＣＰＵ１のデータバス３に伝達すべく復号器７とデータバス３とを接続する第３の経路と、ＣＰＵ１に記録された第２の情報を書き込み等可能とすべくＲＯＭ４とデータバス３とを接続する第４の経路と、を切り替える。
【００２９】
第３の経路は、例えば、図１に示されるように、復号器７の出力ｄＤ０〜ｄＤ７とデータバス３のＤ０〜Ｄ７とを接続している経路である。第４の経路は、例えば、図２に示されるように、ＲＯＭ４の出力ｆＤ０〜ｆＤ１５とデータバス３のＤ０〜Ｄ１５とを接続している経路である。
【００３０】
以上のように、本実施の形態にかかるメモリ制御装置は、ＣＰＵ１の動作時のアドレス値を判断して、アドレス線切替器５の動作とデータ線切替器６の動作とを決めるように構成されている。
【００３１】
以下、アドレス線切替器５の動作とデータ線切替器６の動作を詳細に説明する。説明の流れとしては、まずＲＯＭ４から第１の情報を読み出すときの動作を説明し、その次にＲＯＭ４内のデータを書き込み等する場合の動作を説明する。なお、前者は、一例として、ＣＰＵ１が８ビットデータバス幅で動作し、かつ、起動時のアドレス（起動アドレス）でＲＯＭ４にアクセスしたときの動作である。後者は、一例として、ＣＰＵ１が１６ビットデータバス幅で動作し、かつ、書き込み等をする時のアドレスでＲＯＭ４にアクセスしたときの動作である。
【００３２】
まず、図１を用いてＲＯＭ４から第１の情報を読み出す動作を説明する。なお、以下の説明では、一例として、ＣＰＵ１を起動するときの場面に関して説明するものとし、第１の情報が、例えば、起動プログラムに関するデータであると仮定して説明をする。
【００３３】
ＣＰＵ１を起動するとき、ＣＰＵ１は、８ビットデータバス幅で動作する。そして、ＣＰＵ１は、デバイス（ＣＰＵ１）固有の起動アドレスを出力して、ＲＯＭ４へのアクセスを実行する。
【００３４】
アドレス線切替器５およびデータ線切替器６は、アドレスバス２のアドレス信号をモニタしており、このアドレスに対応した切り替え動作を実行するように構成されている。具体的に説明すると、起動時のアドレス値でＣＰＵ１がアクセスした場合、アドレス線切替器５は、このアドレス値を検知して、アドレスバス２とＲＯＭ４のアドレス線とを、以下のように対応付けて接続する。
Ａ０−ｆＡ０
Ａ１−ｆＡ１
Ａｎ−ｆＡｎ(ｎ＝０、１、２・・・９）
【００３５】
このことを具体的に説明する。起動時のアドレス（例えば４桁のアドレスＸＸＸＸの場合）のＬＳＢが、ＸＸＸ０からＸＸＸ１に変化し、またはＸＸＸ１からＸＸＸ０に変化したとき、すなわちアドレス値が１つインクリメントされる毎に、ＲＯＭ４が１ワード（１６ビット）進むようにする必要がある。そのためには、アドレス線切替器５が起動時のアドレス値を検知して、アドレスバスのＬＳＢ（Ａ０）とＲＯＭ４のＬＳＢ（ｆＡ０）とを接続するように構成すればよい。その結果、アドレスバス２のＡ０が変化する毎に、ＲＯＭ４は１ワード進むことになる。
【００３６】
他方、データ線切替器６は、ＣＰＵ１が起動時のアドレス値でアクセスした場合、このアドレス値を検知して、データバス３と復号器７の出力とを、以下のように対応付けて接続する。
Ｄ０−ｄＤ０
Ｄ１−ｄＤ１
Ｄｎ−ｄＤｎ(ｎ＝０、１、２・・・７）
【００３７】
このようにデータ線切替器６が動作することで、ＲＯＭ４からは１６ビットのデータ（ｆＤ０〜ｆＤ１５）が出力される。
【００３８】
復号器７は、この１６ビットの内、１５ビット（ｆＤ０〜ｆＤ１４）を取り込み、１１ビットの情報を復号し、この１１ビット中の８ビットを、データバス３のＤ０〜Ｄ７（８ビット）に出力する。なお、起動時のアドレスに対応したデータ（起動プログラムに関するデータ）は、上述したように、誤り訂正符号化処理がなされて、第１の情報としてＲＯＭ４に記録されている。すなわち、８ビットのデータ（起動プログラムに関するデータ）が１５ビットのデータ（第１の情報）としてＲＯＭ４に記録されている。
【００３９】
本実施の形態にかかるメモリ制御装置は、ＣＰＵ１が８ビットデータバス幅で動作し、かつ、起動時のアドレスでＲＯＭ４にアクセスしたときに、アドレス線切替器５およびデータ線切替器６の経路を図１に示すように切り替えることで、第１の情報を読み出し、かつ、誤り訂正をしたデータをデータバス３に伝送可能に構成されている。従って、ＲＯＭ４において、データ値の誤りが発生した場合でも、ＣＰＵ１を正常に起動させることが可能である。
【００４０】
次に、図２を用いてＲＯＭ４内のデータを書き込み等する場合の動作を説明する。なお、ＣＰＵ１がＲＯＭ４にアクセスする際に、起動時のアドレスと書き込み等する時のアドレスとが重ならないように設計されているものとする。
【００４１】
ＲＯＭ４の書き込み等をする時には、ＣＰＵ１は、１６ビットデータバス幅で動作する。そして、ＣＰＵ１は、書き込み等する時のアドレス値を出力して、ＲＯＭ４へのアクセスを実行する。
【００４２】
ＣＰＵ１が、書き込み等する時のアドレス値でアクセスした場合、アドレス線切替器５は、このアドレス値を検知して、アドレスバス２とＲＯＭ４のアドレス線とを、以下のように対応付けて接続する。
Ａ１−ｆＡ０
Ａ２−ｆＡ１
Ａｎ−ｆＡ（ｎ−１）(ｎ＝０、１、２・・・９）
【００４３】
このことを具体的に説明する。書き込み等する時のアドレス（例えば４桁のアドレスＸＸＸＸの場合）の下から２桁目のビットが、ＸＸ０ＸからＸＸ１Ｘに変化し、またはＸＸ１ＸからＸＸ０Ｘに変化したとき、すなわちアドレス値が２つインクリメントされる毎に、ＲＯＭ４が１ワード（１６ビット）進むようにする必要がある。そのためには、アドレス線切替器５が書き込み等する時のアドレス値を検知して、アドレスバスのＡ１とＲＯＭ４のｆＡ０とを接続するように構成すればよい。その結果、アドレスバス２のＡ１が変化する毎に、ＲＯＭ４は１ワード進むことになる。
【００４４】
他方、データ線切替器６は、ＣＰＵ１が書き込み等する時のアドレス値でアクセスした場合、このアドレス値を検知して、データバス３とＲＯＭ４の出力とを、以下のように対応付けて接続する。
Ｄ０−ｆＤ０
Ｄ１−ｆＤ１
Ｄｎ−ｆＤｎ(ｎ＝０、１、２・・・１５）
【００４５】
このようにデータ線切替器６が動作することで、ＲＯＭ４のｆＤ０〜ｆＤ１５とデータバス３のＤ０〜Ｄ１５とが接続される。このように、ＣＰＵ１が１６ビットデータバス幅で動作することによって、ＲＯＭ４には、例えばＣＰＵ１で符号化された第１の情報を書き込むことも可能である。
【００４６】
本実施の形態にかかるＣＰＵ１は、書き込み等する時のアドレスでは、通常のＮＯＲ型フラッシュＲＯＭと同様のアクセス方式でアクセスする。すなわち、ＣＰＵ１は、アドレスバス２と図示しないバス制御信号とを操作して、データバス３経由でデバイス（ＲＯＭ４）にアクセスするが、ＲＯＭ４自体を１つのバス接続されたデバイスとしてアクセスすることができる。そのため、ＣＰＵ１は、ＲＯＭ４に用意された書き込み操作および消去操作を、データバス３経由で行うことが可能である。
【００４７】
書き込み操作とは、データを書き込むために、ＣＰＵ１がＲＯＭ４に書き込みコマンドを書き込むと共に、ＲＯＭ４からの書き込みの完了を読み取る動作を言う。また、消去操作とは、データを消去するために、ＣＰＵ１がＲＯＭ４に消去コマンドを書き込むと共に、ＲＯＭ４からの消去完了を読み取る動作を言う。
【００４８】
これらの操作は、ＣＰＵ１が１６ビットデータバス幅でＲＯＭ４にアクセスすることによって実行可能である。そして、ＲＯＭ４に１６ビットデータバス幅でアクセスするためには、アドレス線切替器５およびデータ線切替器６が切り替え動作をする必要がある。本実施の形態にかかるアドレス線切替器５およびデータ線切替器６は、アドレスバス２のアドレス信号をモニタし、このアドレスに対応した動作を実行するように構成されているため、書き込み等する時のアドレスを検知したとき、図２に示されるような切り替え動作を実行することで、書き込み操作あるいは消去操作を実現している。
【００４９】
なお、上記説明では、ＲＯＭ４に書き込まれる起動データのハミング符号化を、ＣＰＵ１で符号化計算することを前提として説明したが、これに限定されるものではない。例えば、専用のハードウェアをメモリ制御装置に組み込んでハミング符号化を実行するように構成してもよい。このように構成した場合、ソフトウェアを簡略化することが可能である。
【００５０】
また、データのハミング符号化を、メモリ制御装置以外の情報処理システムで実施し、この符号化されたデータをＲＯＭ４に書き込む態様であってもよい。このようにすれば、ＣＰＵ１の負荷を軽減することが可能である。
【００５１】
また、誤り訂正符号の方法としてハミング符号を使用する例について説明したが、ハミング符号に限定されるものではなく、ハミング符号以外の誤り訂正符号も採用可能である。
【００５２】
また、誤り訂正符号化処理前のデータは、起動プログラムに関するデータに限定されるものではなく、復号器７にて誤り訂正を要すると考えられるデータであればどのようなデータであってもよい。
【００５３】
また、上記説明では、一例として、第１の情報を読み出すときＣＰＵ１は８ビットデータバス幅でアクセスし、第２の情報を書き込み等するときＣＰＵ１は１６ビットデータバス幅でアクセスするとして説明したが、データバス幅はこれに限定されるものではない。
【００５４】
また、上記説明では、第１の情報を復号器７にて誤り訂正したデータをデータバス３に伝送する態様を説明した。ここで、ハミング符号を用いた場合、公知の通り、１ビットの誤り訂正が可能である。従って、２ビット以上の誤りが発生した場合には、誤り訂正が不可能になりうる。このような問題を解決するため、本実施の形態にかかるメモリ制御装置を以下のように構成してもよい。
【００５５】
例えば、復号器７の内部に所定のレジスタを用意し、復号器７が誤り訂正を実施したときに、誤り発生情報がこのレジスタに保存され、ＣＰＵ１は、この誤り発生情報をレジスタ経由で検知する。さらにＣＰＵ１は、ＲＯＭ４の誤りが発生した記録領域を特定すると共に、この記録領域のデータを読取り、このデータをハミング符号化した後に、該当箇所（誤りが発生した記録領域）に書き込みを実施する。このように、復号器７は、復号時の誤り検知結果を復号器内部情報として保持するように構成されている。
【００５６】
上記操作により、例えばＲＯＭ４に１ビットの誤りが発生した場合でも、データは誤り訂正可能な状態でＲＯＭ４に書込まれる。すなわち、本実施の形態にかかるメモリ制御装置によれば、ビット誤りが多数発生する前に誤り訂正可能な状態に戻すことによって、誤り訂正不可能なエラーの発生を抑制可能である。
【００５７】
以上に説明したように、本実施の形態にかかるメモリ制御装置は、ＣＰＵ１と、誤り訂正符号化処理がなされた第１の情報と誤り訂正符号化処理がなされていない第２の情報と記録するＲＯＭ４（メモリ）と、ＣＰＵ１から出力されたアドレスを検知して、ＲＯＭ４に記録された第１の情報をＣＰＵ１が読み取り可能とすべくアドレスバス２とＲＯＭ４とを接続する第１の経路と、ＲＯＭ４に記録された第２の情報を消去、書き込み、および読み取り可能にすべくアドレスバス２とＲＯＭ４とを接続する第２の経路と、を切り替えるアドレス線切替器５（第１の切替器）と、ＲＯＭ４に記録された第１の情報の誤り訂正を行い、訂正後の情報の中から冗長ビットを除いて誤り訂正符号化処理前の情報を復号する復号器７と、ＣＰＵ１から出力されたアドレスを検知して、復号器７にて復号された情報をＣＰＵ１のデータバス３に伝達すべく復号器７とデータバス３とを接続する第３の経路と、ＲＯＭ４に記録された第２の情報を消去、書き込み、および読み取り可能にすべくＲＯＭ４とデータバス３とを接続する第４の経路と、を切り替えるデータ線切替器６（第２の切替器）と、を備えるようにしたので、第１の情報を読み出すことを示す第１のアドレス（例えば、起動アドレス）がＣＰＵ１から出力されたとき、アドレス線切替器５は第１の経路にてアドレスバス２とＲＯＭ４とを接続し、データ線切替器６は第３の経路にて復号器７とデータバス３とを接続することで、誤り訂正がなされたデータを読み出すことが可能である。さらに、第２の情報の書き込み等をすることを示す第２のアドレスがＣＰＵ１から出力されたとき、アドレス線切替器５は、第２の経路にてアドレスバス２とＲＯＭ４とを接続し、データ線切替器６は、第４の経路にて復号器７とデータバス３とを接続することで、ＲＯＭ４内のデータの消去操作および書き込み操作を行うことが可能である。
【００５８】
従来のメモリ制御装置においては、電源がオンされたとき、ＣＰＵがＲＯＭに記憶された起動プログラムを読み出す。さらに、起動プログラムに基づいて、データの書き込み等が可能な記憶装置（例えばハードディスクやフラッシュＲＯＭ）からＯＳローダを読み出して実行する。このように、従来のメモリ制御装置は、起動データを保存するためのＲＯＭと、データの書き込み等が可能な記憶装置と、を併用する態様である。本実施の形態にかかるメモリ制御装置は、アドレス線切替器５およびデータ線切替器６を備えているので、ＲＯＭ４のみを用いて、ＣＰＵ１を安定的に起動することができると共に、ＲＯＭ４に記録されたデータの書き込み操作等が可能である。
【００５９】
なお、本実施の形態にかかるメモリ制御装置は、ＣＰＵ１によって各種の制御を行うメモリ制御装置に適用可能であるが、例えば、鉄道車両に適用した場合には以下のような効果を奏する。
【００６０】
図３は、本発明の実施の形態にかかるメモリ制御装置を列車搭載機器に組み込んだ場合の効果を説明するための図である。図３に示される列車の編成は、複数台の車両からなり、一例として両先頭車両１０ａおよび１０ｂ、先頭車両以外の車両１１ａおよび車両１１ｂで構成されている。
【００６１】
近年の鉄道車両には、乗務員の負荷低減や乗客に対するサービス向上を目的として、サービス機器などの動作状態の制御および監視を行う列車情報管理装置が搭載されている。車両１０ａおよび１０ｂには、一例として電機品２０、電機品２１、および電機品２２が搭載され、電機品２０は、例えば、列車情報管理装置を構成する中央局であり、電機品２２は、例えば、列車情報管理装置を構成する端末装置である。電機品２１は、例えば、運転台などに設置されたモニタ表示器などである。これらの電機品は、車両情報を相互に伝送可能に、車両内伝送路で接続されている。
【００６２】
車両１１ａおよび車両１１ｂには、一例として電機品３０および電機品３１が搭載されている。電機品３０は、例えば上述した端末装置であり、電機品３１は、端末装置に接続された車両内機器（例えば、エアコン、ＳＩＶ、ＶＶＶＦなど）である。電機品３０と電機品３１は、車両内伝送路で接続されている。そして、電機品２０と電機品３０は、車両間伝送路で相互に接続されている。
【００６３】
ここで、これらの電機品において、フラッシュＲＯＭのビットエラーに起因する故障が発生した場合、ＣＰＵの誤動作を引き起こし、列車の運用に大きな影響を与える可能性がある。例えば、ＳＩＶなどの一部の車両内機器の故障が発生した場合には、乗務員が列車情報管理装置を利用して故障原因の調査を行い現象の把握と応急処置を行うことは可能である。ただし、列車情報管理装置自体が故障した場合には故障原因を把握すること自体が困難となるため、列車の運用に大きな影響を与える可能性がある。
【００６４】
そこで、本実施の形態にかかるメモリ制御装置を、図３に示される各電機品に組み込むようにすれば、ＲＯＭのビットエラーに起因するＣＰＵの誤動作を回避できるため、列車運用への影響を大幅に軽減することが可能である。
【００６５】
さらに、本実施の形態にかかるメモリ制御装置は、例えば、一般的に市販されているＣＰＵ（あるいはＩＣ）のサポートしているバス制御の仕組みを変更することなく、フラッシュＲＯＭを用いてＣＰＵを安定的に起動させ、かつ、データの書き込み等を行うことが可能である。
【００６６】
なお、本実施の形態にかかるメモリ制御装置は、本発明の内容の一例を示すものであり、更なる別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能であることは無論である。
【産業上の利用可能性】
【００６７】
以上のように、本発明は、ＣＰＵによって各種の制御を行うメモリ制御装置に適用可能であり、特に、フラッシュＲＯＭを用いてＣＰＵを安定的に起動させ、かつ、データの書き込み等を行うことができる発明として有用である。
【符号の説明】
【００６８】
１  ＣＰＵ
２  アドレスバス
３  データバス
４  フラッシュＲＯＭ（メモリ）
５  アドレス線切替器（第１の切替器）
６  データ線切替器（第２の切替器）
７  復号器
１０ａ、１０ｂ、１１ａ、１１ｂ  鉄道車両
２０、２１、２２、３０、３１  電機品
【図１】
2012032595.tif 000003
【図２】
2012032595.tif 000004
【図３】
2012032595.tif 000005
【国際調査報告】
2012032595.tif 000006
2012032595.tif 000007
2012032595.tif 000008