(57)【要約】【課題】複数のコマンド体系に対応するメモリ制御装置およびそのメモリ制御方法を提供。【解決手段】メモリ制御装置10は、CPU 16においてメモリ識別シーケンスを起動して、複数種類のF-ROMのそれぞれに対応する複数のID読み出しモードを実行することにより、本装置10に対応可能なフラッシュメモリを認識して、このフラッシュメモリに対応するコマンド体系を選択することができ、コスト低減および基板面積縮小、ならびに開発工数および開発納期の削減を実現する。【選択図】図４
2006163555.tif 000002
【特許請求の範囲】
【請求項１】
複数のピンを収容する伝送路を含んで複数種類のメモリと接続可能とし、前記伝送路に複数のジャンパを配置して前記複数種類のメモリの内、いずれかを対応メモリとして対応可能とするメモリ周辺回路と、
該メモリ周辺回路に接続された接続メモリに対して、前記対応メモリの動作を指示する対応コマンド体系を用いて制御するメモリ制御手段とを含むメモリ制御装置において、
前記メモリ制御手段は、前記接続メモリの種別を識別するメモリ識別手段を含み、
該メモリ識別手段は、前記複数種類のメモリのそれぞれの動作を指示する各コマンド体系を用いて前記接続メモリから識別情報を読み出す複数の識別情報読出手段を含み、
該複数の識別情報読出手段を順次実行して、前記接続メモリの前記識別情報の読み出しに成功した識別情報読出手段を検出し、該成功した識別情報読出手段で用いたコマンド体系をアクセスコマンド体系とし、
前記メモリ制御手段は、前記アクセスコマンド体系を用いて前記接続メモリの動作を指示することを特徴とするメモリ制御装置。
【請求項２】
請求項１に記載のメモリ制御装置において、前記メモリ制御手段は、該装置の起動時に前記メモリ識別手段を起動することを特徴とするメモリ制御装置。
【請求項３】
請求項１または２に記載のメモリ制御装置において、前記メモリ制御手段は、前記アクセスコマンド体系を設定して保持し、該設定後は、前記メモリ識別手段を起動せずに、該設定したアクセスコマンド体系を用いて前記接続メモリの動作を指示することを特徴とするメモリ制御装置。
【請求項４】
請求項１ないし３のいずれかに記載のメモリ制御装置において、前記メモリ制御手段は、前記メモリ識別手段が前記成功した識別情報読出手段を検出しないとき、前記接続メモリをアクセス不可と判定することを特徴とするメモリ制御装置。
【請求項５】
請求項１ないし４のいずれかに記載のメモリ制御装置において、前記識別情報は、マニュファクチャコードであることを特徴とするメモリ制御装置。
【請求項６】
複数のピンを収容する伝送路を含んで複数種類のメモリと接続可能とし、前記伝送路に複数のジャンパを配置して前記複数種類のメモリの内、いずれかを対応メモリとして対応可能とするメモリ周辺回路を含むメモリ制御装置で、該メモリ周辺回路に接続された接続メモリに対して、前記対応メモリの動作を指示する対応コマンド体系を用いて制御するメモリ制御方法において、該方法は、
前記接続メモリの種別を識別するメモリ識別工程を含み、
該メモリ識別工程は、前記複数種類のメモリのそれぞれの動作を指示する各コマンド体系を用いて前記接続メモリから識別情報を読み出す複数の識別情報読出工程を含み、
該複数の識別情報読出工程を順次実行して、前記接続メモリの前記識別情報の読み出しに成功した識別情報読出工程を検出し、該成功した識別情報読出工程で用いたコマンド体系をアクセスコマンド体系とし、
該方法は、前記アクセスコマンド体系を用いて前記接続メモリの動作を指示することを特徴とするメモリ制御方法。
【請求項７】
請求項６に記載のメモリ制御方法において、該方法は、該装置の起動時に前記メモリ識別工程を起動することを特徴とするメモリ制御方法。
【請求項８】
請求項６または７に記載のメモリ制御方法において、該方法は、前記アクセスコマンド体系を設定して保持し、該設定後は、前記メモリ識別工程を起動せずに、該設定したアクセスコマンド体系を用いて前記接続メモリの動作を指示することを特徴とするメモリ制御方法。
【請求項９】
請求項６ないし８のいずれかに記載のメモリ制御方法において、該方法は、前記メモリ識別工程が前記成功した識別情報読出工程を検出しないとき、前記接続メモリをアクセス不可と判定することを特徴とするメモリ制御方法。
【請求項１０】
請求項６ないし９のいずれかに記載のメモリ制御方法において、前記識別情報は、マニュファクチャコードであることを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコマンド体系に対応するメモリ制御装置およびそのメモリ制御方法に関するものである。
【背景技術】
【０００２】
現在、組み込み向け製品には、欠かすことのできないデバイスとしてフラッシュメモリなどの記憶装置を用いている。このフラッシュメモリは、デバイス各社で異なるコマンド体系を使用して制御されるものである。
【０００３】
従来から、組み込みシステム50は、図６に示すように、CPU（Central Processing Unit）52、DRAM（Dynamic Random Access Memory）54、フラッシュメモリ（F-ROM）56およびレジスタ（REG）58などを含んで構成されるものが知られている。
【０００４】
このような組み込みシステム50は、異なるメーカのF-ROM 56を適用する場合、ハードウエアおよびソフトウエアの違いをシステムが認識して動作させる必要がある。このとき、システム50は、異なるコマンド体系を持つF-ROM 56のそれぞれに対応した回路設計を必要とし、かつ、レジスタ58に対応F-ROM 56の種別を示してソフトウエア側に認識させる必要がある。
【０００５】
組み込みシステム50では、F-ROM 56と接続するインタフェースをバス60に備え、このインタフェースは、複数のF-ROMピンを収容する伝送路を含んで構成される。しかし、この伝送路はF-ROM 56の種別に応じて異なる配線がされる。
【０００６】
たとえば、図７に示すように、Ａ社製のF-ROM 62およびＢ社製のF-ROM 64において、同一番号のピンが、それぞれ異なる制御信号を示すことがある。このとき、Ａ社製のF-ROM 62に対応するインタフェース66は、図８に示すように伝送路が配線され、Ｂ社製のF-ROM 64に対応するインタフェース68は、図９に示すように伝送路が配線される。
【０００７】
また、レジスタ58は、F-ROMの種別に応じて構成されて、たとえば図10に示すように、デコーダ70およびバッファ72を含んで構成され、Ａ社製のF-ROM 62に対応する場合にはR7およびR10を実装し、Ｂ社製のF-ROM 64に対応する場合にはR8およびR9を実装する。
【０００８】
このレジスタ58は、CPU 52によりAddress信号、CS信号およびRD_N信号が制御され、割り付けられたAddress信号をデコーダ70で入力し、バッファ72を介してDATAバス上に出力する。
【０００９】
たとえば、組み込みシステム50の動作は、図11に示すシーケンス図により説明される。ここでは、まず、組み込みシステム50が起動すると、CPU 52が動作を開始する（ステップ202）。
【００１０】
次に、レジスタ58へのアクセスが開始され、基板に実装されているF-ROM 56の種別が読み出され、たとえば、Ａ社製のものであるかが判定される（ステップ204）。
【００１１】
ステップ204において、F-ROM 56がＡ社製であると判定された場合、ステップ206に進んで、Ａ社対応コマンド体系が採用される。他方、Ａ社製でないと判定された場合、ステップ208に進んで、F-ROM 56がＢ社製のものであるかが判定される。
【００１２】
ステップ208において、F-ROM 56がＢ社製であると判定された場合、ステップ210に進んで、Ｂ社対応コマンド体系が採用される。他方、Ｂ社製でないと判定された場合、ステップ212に進んで、F-ROM 56が本システム50で認識できないメモリであるか、または製造ミスであると判定される。
【００１３】
このように、組み込みシステム50では、起動後にレジスタ58をリードして、基板に実装されているF-ROM 56の種別を認識し、その後、認識されたF-ROM 56に対応するコマンド体系を用いてシステム50におけるソフトウエアを実行する。たとえば、システム50では、CPU 52が、データの一時記憶領域としてDRAM 54を使用して、各種プログラムをF-ROM 56から読み込んで実行することができる。また、システム50では、F-ROM 56に対して「データ消去」や「プログラム」などのコマンドを送ることにより、設定データの変更やプログラム更新などを実行してF-ROM 56の内容を書き換えることもできる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかし、上記の組み込みシステム50では、外部レジスタを設けることによりF-ROMの種別をシステムに認識させる必要があり、これには、FPGA（Field Programmable Gate Array）などを用いるため、製品コストが高くなり、かつ基板実装面積が拡張されてしまう。
【００１５】
また、上記の組み込みシステム50では、F-ROMの種別ごとに回路設計やPCB（Printed Circuits Board）設計を必要とし、さらに、F-ROMの種別ごとにF-ROMを制御するソフトウエアをも必要とするため、ハードウエアおよびソフトウエアの開発工数が増大してしまう。
【００１６】
本発明はこのような従来技術の欠点を解消し、製品コストの減少および基盤実装面積の縮小、ならびにハードウエアおよびソフトウエアの開発工数の削減を実現する、複数のコマンド体系に対応するメモリ制御装置およびそのメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は上述の課題を解決するために、複数のピンを収容する伝送路を含んで複数種類のメモリと接続可能とし、この伝送路に複数のジャンパを配置してこれら複数種類のメモリの内、いずれかを対応メモリとして対応可能とするメモリ周辺回路と、このメモリ周辺回路に接続された接続メモリに対して、この対応メモリの動作を指示する対応コマンド体系を用いて制御するメモリ制御手段とを含むメモリ制御装置において、このメモリ制御手段は、この接続メモリの種別を識別するメモリ識別手段を含み、このメモリ識別手段は、これら複数種類のメモリのそれぞれの動作を指示する各コマンド体系を用いてこの接続メモリから識別情報を読み出す複数の識別情報読出手段を含み、これら複数の識別情報読出手段を順次実行して、この接続メモリのこの識別情報の読み出しに成功した識別情報読出手段を検出し、この成功した識別情報読出手段で用いたコマンド体系をアクセスコマンド体系とし、このメモリ制御手段は、このアクセスコマンド体系を用いてこの接続メモリの動作を指示することを特徴とする。
【００１８】
また、複数のピンを収容する伝送路を含んで複数種類のメモリと接続可能とし、この伝送路に複数のジャンパを配置してこれら複数種類のメモリの内、いずれかを対応メモリとして対応可能とするメモリ周辺回路を含むメモリ制御装置で、このメモリ周辺回路に接続された接続メモリに対して、この対応メモリの動作を指示する対応コマンド体系を用いて制御するメモリ制御方法は、この接続メモリの種別を識別するメモリ識別工程を含み、このメモリ識別工程は、これら複数種類のメモリのそれぞれの動作を指示する各コマンド体系を用いてこの接続メモリから識別情報を読み出す複数の識別情報読出工程を含み、これら複数の識別情報読出工程を順次実行して、この接続メモリのこの識別情報の読み出しに成功した識別情報読出工程を検出し、この成功した識別情報読出工程で用いたコマンド体系をアクセスコマンド体系とし、この方法は、このアクセスコマンド体系を用いてこの接続メモリの動作を指示することを特徴とする。
【発明の効果】
【００１９】
本発明のメモリ制御装置によれば、CPUがメモリ識別シーケンスを起動して、複数種類のF-ROMのそれぞれに対応する複数のID読み出しモードを実行することにより、本装置に対応可能なフラッシュメモリを認識して、このフラッシュメモリに対応するコマンド体系を選択するため、フラッシュメモリの識別をするためのレジスタを不要とし、コスト低減および基板面積縮小を実現することができる。
【００２０】
また、本発明のメモリ制御装置によれば、複数のピンを収容する伝送路を含んで複数種類のメモリと接続することができるインタフェースに対して、その伝送路に複数のジャンパを配置して複数種類のメモリの内、いずれかを対応メモリとすることにより、各製造会社で異なるコマンド体系で動作するF-ROMを使用しても、それぞれに回路設計を行う必要がなく、開発工数および開発納期を削減することができる。
【００２１】
本発明のメモリ制御装置によれば、CPUが複数種類のF-ROMに対応可能なメモリ識別シーケンスを使用することにより、様々なメーカで製造される多種多様なフラッシュメモリを使用可能としてコスト低減および調達性の向上を実現し、また、本メモリ認識シーケンスをモジュールとして使用することにより、ソフト開発工数を削減することができる。
【発明を実施するための最良の形態】
【００２２】
次に添付図面を参照して、本発明によるメモリ制御装置の実施例を詳細に説明する。たとえば、本発明のメモリ制御装置10は、図２に示すように、フラッシュメモリ12をバス14に接続し、CPU（Central Processing Unit）16およびDRAM（Dynamic Random Access Memory）18を用いてフラッシュメモリ12におけるプログラムの読み出しおよび書き込みを実行するものである。なお、本発明の理解に直接関係のない部分は、図示を省略し、冗長な説明を避ける。
【００２３】
本実施例において、フラッシュメモリ12は、プログラムやデータの格納に用いる不活性メモリで、何度でも電気的に記憶の消去および書き込みができるEEPROM（Electrically Erasable Programmable Read-Only Memory）などのROMである。以下では、フラッシュメモリ12は、F-ROM（Flash ROM）とする。
【００２４】
F-ROM 12は、ソフトウエアによるコマンドを用いて操作および制御されるもので、たとえば、「データ読み出し」、「データ消去」、「データ書き込み」および「プログラム実行」などのコマンドを用いて指示することができる。また、F-ROM 12は、このF-ROMの種別によって異なるコマンド体系で動作し、たとえば、その製造会社ごとに異なるコマンド体系を用いて動作するものである。
【００２５】
また、F-ROM 12は、その製造会社を示すマニュファクチャコード（Manufacture's Code：ID）を記録しているが、このIDの読み出しも、そのF-ROMに対応するコマンド体系を用いて行われる。
【００２６】
また、バス14は、CPUアドレス、データおよび制御信号などで構成される信号を、F-ROM 12、CPU 16およびDRAM 18間で伝送するバスである。また、本実施例のバス14は、メモリインタフェースなどのF-ROM周辺回路を備えてF-ROM 12を着脱可能に接続する。
【００２７】
このF-ROM周辺回路は、様々なF-ROMに対応するために複数のF-ROMピンを収容する伝送路を含んで構成され、たとえば、メモリ制御装置10の製品化時に、複数のジャンパを配置して各社製品に対応するものでよい。
【００２８】
たとえば、F-ROM周辺回路30は、図３に示すように、Ａ社製のF-ROM 32に対応させる場合には、ジャンパR1、R4およびR5を実装、すなわちショートにし、かつジャンパR2およびR3を未実装、すなわちオープンにし、他方、Ｂ社製のF-ROM 34に対応させる場合には、図４に示すように、ジャンパR2、R3およびR4をショートにし、かつジャンパR1およびR5をオープンにする。
【００２９】
このように、本実施例のバス14に設けられるF-ROM周辺回路30は、適用するF-ROMの種類に応じて、複数のジャンパをショートおよびオープンにして、製造会社ごとに異なるF-ROMピン収容に対応する。
【００３０】
CPU 16は、各種プログラムを実行するメインプロセッサで、本実施例では、各種プログラムをF-ROM 12から読み出して実行し、また、設定データの変更およびプログラム更新などの場合は、F-ROM 12の内容を書き換え、たとえば、F-ROM 12に対して「データ消去」や「プログラム」などのコマンドを送信するメモリ制御機能を有している。
【００３１】
本実施例のCPU 16は、特に、メモリ制御機能の一つとして、本装置10が対応するメモリを識別する機能を有し、たとえば、F-ROM識別シーケンスなどのプログラムを格納して、バス14と接続したF-ROM 12に対してF-ROM識別シーケンスを実行するもので、複数種類のF-ROMのそれぞれに対応する複数のID読み出しモードを実行可能とする。
【００３２】
たとえば、CPU 16は、Ａ社製のF-ROM 32を動作させるＡ社対応コマンド体系を用いて、F-ROM 32からIDを読み出すＡ社対応ID読み出しモードと、Ｂ社製のF-ROM 34を動作させるＢ社対応コマンド体系を用いて、F-ROM 34からIDを読み出すＢ社対応ID読み出しモードとを実行可能とし、同様にして、N種類のF-ROMに対応する場合、それぞれN種類のコマンド体系を用いたN個のID読み出しモードを実行可能とする。
【００３３】
CPU 16は、F-ROM識別シーケンスにより、複数のID読み出しモードを順次実行し、IDを読み出すことができたときの対応コマンド体系を、バス14に接続しているF-ROM 12を動作可能なアクセスコマンド体系として設定する。また、CPU 16は、たとえば本装置10の起動時にF-ROM識別シーケンスを起動してアクセスコマンド体系を設定し、その後はF-ROM識別シーケンスを起動せずに設定したアクセスコマンド体系を使用するものでよい。
【００３４】
また、DRAM 18は、プログラムやデータなどを一時格納してスタックエリアとして用いられる活性メモリである。
【００３５】
次に、本実施例におけるメモリ制御装置10の動作について、F-ROM識別シーケンスに係る動作を図１のフローチャートを参照しながら説明する。
【００３６】
本実施例のメモリ制御装置10では、たとえば、メモリ制御装置10を起動した場合に、CPU 16において、ソフトウエアによりF-ROM識別シーケンスが起動する（ステップ102）。
【００３７】
F-ROM識別シーケンスでは、複数のID読み出しモードが順次実行され、まずＡ社対応コマンド体系を用いてＡ社対応ID読み出しモードを実行する（ステップ104）。
【００３８】
次に、ステップ104のＡ社対応ID読み出しモードが成功したか否かの判定（ステップ106）を行い、本実施例では、IDの読み出しに成功し、かつ読み出されたIDがＡ社のID“01h”である場合に、Ａ社対応ID読み出しモードが成功であると判定する。
【００３９】
ステップ106では、成功と判定した場合、ステップ108に進んで、F-ROM 12がＡ社製メモリ32であることを認識し、Ａ社対応コマンド体系をアクセスコマンド体系として設定し、CPU 16に格納してもよい。また、このとき、F-ROM識別シーケンスが終了する。
【００４０】
他方、ステップ106において、不成功と判定した場合、次のID読み出しモードが実行され、本実施例では、Ｂ社対応コマンド体系を用いてＢ社対応ID読み出しモードを実行する（ステップ110）。
【００４１】
次に、上記と同様に、ステップ110のＢ社対応ID読み出しモードが成功したか否かの判定（ステップ112）を行い、ここでは、IDの読み出しに成功し、かつ読み出されたIDがＢ社のID“02h”である場合に、Ｂ社対応ID読み出しモードが成功であると判定する。
【００４２】
ステップ112では、成功と判定した場合、ステップ114に進んで、F-ROM 12がＢ社製メモリ34であることを認識し、Ｂ社対応コマンド体系をアクセスコマンド体系として設定し、CPU 16に格納してもよい。また、このとき、F-ROM識別シーケンスが終了する。
【００４３】
他方、ステップ112において、不成功と判定した場合、次のID読み出しモードの実行に移る。
【００４４】
このようにして、F-ROM識別シーケンスが、複数のID読み出しモードの内、最後のID読み出しモード、たとえばＸ社対応コマンド体系を用いてＸ社対応ID読み出しモードを実行（ステップ120）する場合も、Ｘ社対応ID読み出しモードが成功したか否かの判定（ステップ122）を行う。
【００４５】
ステップ120において、IDの読み出しに成功し、かつ読み出されたIDがＸ社のID“0xxh”である場合には、ステップ122でＸ社対応ID読み出しモードが成功であると判定して、上記と同様に、ステップ124に進んで、F-ROM 12がＸ社製メモリ36であることを認識し、Ｘ社対応コマンド体系をアクセスコマンド体系として設定し、CPU 16に格納してもよい。また、このとき、F-ROM識別シーケンスが終了する。
【００４６】
しかし、ステップ122において、不成功と判定した場合、次のID読み出しモードがないので、F-ROM識別シーケンスがNGであると判定し（ステップ126）、CPU 16では、F-ROM識別シーケンスが終了する。
【００４７】
このように、F-ROM識別シーケンスでNG判定がされる場合には、F-ROM 12が本装置10で認識できないメモリである場合や、製造ミスである場合などが考えられ、F-ROM 12をアクセス不可と判定する。
【００４８】
本実施例のメモリ制御装置10は、所定の上位機種に適用されると、そのソフトウエア構成は、図５に示すように位置付けられ、本実施例のCPU 16におけるF-ROM識別シーケンスは、IPL（Initial Program Loader）レベルで位置付けられるため、アプリケーションおよびOS（Operating System）がF-ROMの種別を意識する必要はない。
【００４９】
このとき、図１のステップ126で示すF-ROM識別シーケンスのNG判定は、IPLレベルで認識されるが、OSレベルにはboot不可のみが示されてフリーズ状態になる。このとき、本装置10を用いる上位機種では、警告を示す赤色LEDなどを点灯することもできる。
【００５０】
このように、本発明のメモリ制御装置10は、F-ROM識別シーケンスのような動作シーケンスを実行することにより、複数社のフラッシュメモリの識別および運用を可能とするものである。また、本発明では、このような動作シーケンスのソフトウエアをモジュール化することにより、上位のソフトウエアからは、フラッシュメモリの違いを認識させない構造をとることができる。
【図面の簡単な説明】
【００５１】
【図１】本発明のメモリ制御装置の一実施例を示すブロック図である。
【図２】図１に示すメモリ制御装置において、所定のメモリに対応するインタフェースを示す配線図である。
【図３】図１に示すメモリ制御装置において、所定のメモリに対応するインタフェースを示す配線図である。
【図４】図１に示すメモリ制御装置の動作手順を説明するフローチャートである。
【図５】図１に示すメモリ制御装置を所定の上位機器に適用した場合のソフトウエア構成を示す図である。
【図６】従来の組み込みシステムの一実施例を示すブロック図である。
【図７】所定のメモリにおけるピンと制御信号との関係を示す図である。
【図８】図６に示す組み込みシステムにおいて、所定のメモリに対応するインタフェースを示す配線図である。
【図９】図６に示す組み込みシステムにおいて、所定のメモリに対応するインタフェースを示す配線図である。
【図１０】図６に示す組み込みシステムにおけるレジスタの概要を示す図である。
【図１１】図６に示す組み込みシステムの動作手順を説明するフローチャートである。
【符号の説明】
【００５２】
10  メモリ制御装置
12  フラッシュメモリ
14  バス
16  CPU
18  DRAM
【図１】
2006163555.tif 000003
【図２】
2006163555.tif 000004
【図３】
2006163555.tif 000005
【図４】
2006163555.tif 000006
【図５】
2006163555.tif 000007
【図６】
2006163555.tif 000008
【図７】
2006163555.tif 000009
【図８】
2006163555.tif 000010
【図９】
2006163555.tif 000011
【図１０】
2006163555.tif 000012
【図１１】
2006163555.tif 000013