(57)【特許請求の範囲】
【請求項１】
ＣＰＵを搭載したマイコンボードのメモリスロットに装着して使用されるメモリボードにおいて、
記憶素子としてＤ−ＲＡＭとフラッシュメモリとを搭載し、
該Ｄ−ＲＡＭ及び該フラッシュメモリを、当該メモリボード上に配線されるデータバス、アドレスバス及び制御信号ラインに対して、前記マイコンボード側からいずれもアクセス可能な様に結線すると共に、
前記フラッシュメモリが、
前記マイコンボード側で実行されるインタリーブを実質的に解除してフラッシュメモリ内にリニアに連続するアドレスにてデータを書き込むための処理手順を、前記マイコンボード上のＣＰＵで処理可能なプログラム形式にて記憶したインタリーブ解除手順記憶部を有することを特徴とするメモリボード。
【請求項２】
請求項１記載のメモリボードにおいて、
前記フラッシュメモリがＳ−ＲＡＭインタフェースを有する記憶素子であり、
前記アドレスバスが、前記フラッシュメモリに対して、ラッチ回路を介して接続されるルートと、該ラッチ回路を介さずに接続されるルートの２系統のルートで接続され、
アドレスバスにロウアドレスが出力されているタイミングにおいて前記ラッチ回路に動作信号を与える様に、該ラッチ回路にロウアドレスストローブラインが接続されると共に、
該ロウアドレスストローブライン及びカラムアドレスストローブラインを、前記アドレスバスにカラムアドレスが出力されているタイミングで前記フラッシュメモリにアドレス確定のための動作信号を与える様に、所定の信号処理回路を介して該フラッシュメモリに接続したこと
を特徴とするメモリボード。
【請求項３】
請求項１記載のメモリボードにおいて、
前記フラッシュメモリがＤ−ＲＡＭインタフェースを有する記憶素子であり、
該フラッシュメモリ及び前記Ｄ−ＲＡＭが、ロウアドレスストローブライン及びカラムアドレスストローブラインに対して互いに並列に接続されていることを特徴とするメモリボード。
【請求項４】
請求項１〜３のいずれか記載のメモリボードにおいて、
前記フラッシュメモリが、
該フラッシュメモリ内の記憶領域を、アドレスの連続する所定バイト分を一つの単位とする複数のブロックとし、該ブロックを単位としてデータを消去するディスク的な消去機能を実現するための処理手順を、前記マイコンボード上のＣＰＵで処理可能なプログラム形式にて記憶したディスク的消去手順記憶部を有することを特徴とするメモリボード。
【請求項５】
請求項１〜４のいずれか記載のメモリボードにおいて、
前記フラッシュメモリが、それ自身がフラッシュメモリであることを前記ＣＰＵ側に判別させるための種別判別情報を記憶した種別判別情報記憶部を有することを特徴とするメモリボード。
【請求項６】
請求項５記載のメモリボードにおいて、
前記種別判別情報は、さらに、当該フラッシュメモリが何ビット対応の記憶素子であるかを区別させる情報であることを特徴とするメモリボード。
【請求項７】
請求項１〜６のいずれか記載のメモリボードにおいて、
前記フラッシュメモリが、
当該フラッシュメモリと前記マイコンボード側のＣＰＵの対応ビット数が異なるとき、ＣＰＵ側からの読み書き指令に対して、フラッシュメモリ側の対応ビット数に応じて前記読み書き指令を前記マイコンボード側から実質的に繰り返し発行させることによってＣＰＵとフラッシュメモリの対応ビット数の相違を解消するための処理手順を、前記マイコンボード上のＣＰＵで処理可能なプログラム形式にて記憶した対応ビット数相違解消手順記憶部を有することを特徴とするメモリボード。
【請求項８】
ＣＰＵ側からいずれもアクセス可能な様に、データバス、アドレスバス及び制御信号ラインに対して結線されたＤ−ＲＡＭ及びフラッシュメモリを記憶素子として備えたメモリ手段に対してデータを読み書きするに当たり、ＣＰＵにより指定されたアドレスをインタリーブにより変換してから前記メモリ手段へ出力するようにしたメモリアクセス方法において、
前記ＣＰＵにより指定されたアドレスがフラッシュメモリ内のアドレスである場合には、前記インタリーブによって変換された後のアドレスが該ＣＰＵにより指定されたアドレスそのものとなるように、前記インタリーブの規則を逆に使って前記ＣＰＵにより指定されたアドレスを変更してから前記インタリーブを実行する様にしたことを特徴とするメモリアクセス方法。
【請求項９】
請求項８記載のメモリアクセス方法において、
前記ＣＰＵは、前記メモリ手段が備えている各記憶素子に予めアクセスすることにより、いずれの記憶素子がフラッシュメモリであるのかを判別しておき、該判別結果に基づいて、該ＣＰＵが指定しようとするアドレスがフラッシュメモリ内のアドレスであるのかＤ−ＲＡＭ内のアドレスであるのかを区別するようにしたことを特徴とするメモリアクセス方法。
【請求項１０】
請求項８又は９記載のメモリアクセス方法において、
前記フラッシュメモリと前記ＣＰＵの対応ビット数が異なるとき、該ＣＰＵが発行する読み書き指令を、前記フラッシュメモリ側の対応ビット数に応じて繰り返し発行することによってＣＰＵとフラッシュメモリの対応ビット数の相違を解消するようにしたこと特徴とするメモリアクセス方法。
【請求項１１】
ＣＰＵと、
該ＣＰＵのアドレスバスに接続され、ＣＰＵから出力されるアドレス信号を所定の規則に従って変換してからメモリ手段に対して出力するインタリーブ手段を内蔵したシステムロジックと
を備えるメモリアクセス装置において、
前記メモリ手段が、ＣＰＵ側からいずれもアクセス可能な様に、データバス、アドレスバス及び制御信号ラインに対して並列的に結線されたＤ−ＲＡＭ及びフラッシュメモリを記憶素子として備え、
前記ＣＰＵによるデータ読み書きの対象となる記憶素子が前記フラッシュメモリであるか否かを判別する対象記憶素子判別手段と、
該対象記憶素子判別手段によってデータ読み書きの対象となる記憶素子が前記フラッシュメモリであると判別された場合には、前記インタリーブ手段を実質的に機能させないようにするインタリーブ解除手段と
を備えたことを特徴とするメモリアクセス装置。
【請求項１２】
請求項１１記載のメモリアクセス装置において、
前記インタリーブ解除手段が、前記インタリーブ手段によって変換された後のアドレスが前記ＣＰＵにより指定されたアドレスとなるように、前記所定の規則を逆に使って前記ＣＰＵにより指定されたアドレスを変換してから前記インタリーブ手段に入力する手段として構成されていることを特徴とするメモリアクセス装置。
【請求項１３】
請求項１１記載のメモリアクセス装置において、
前記インタリーブ手段から出力されるアドレスバスとして、前記インタリーブ手段から出力されるアドレス信号を該インタリーブ手段への入力時の信号に逆変換する第２のインタリーブ手段を経由する第１の出力バスと、前記第２のインタリーブ手段をバイパスする第２の出力バスとを備え、
前記インタリーブ解除手段が、該第１，第２の出力バスを切り換えることにより、前記フラッシュメモリに対するデータの読み書きに際して前記インタリーブ手段を実質的に機能させないようにする手段として構成されていること
を特徴とするメモリアクセス装置。
【請求項１４】
請求項１１記載のメモリアクセス装置において、
前記ＣＰＵから前記システムロジックに入力されるアドレスバスとして、前記インタリーブ手段に入力する第１の入力バスと、該インタリーブ手段をバイパスする第２の入力バスとを備え、
前記インタリーブ解除手段が、該第１，第２の入力バスを切り換えることにより、前記フラッシュメモリに対するデータの読み書きに際して前記インタリーブ手段を実質的に機能させないようにする手段として構成されていること
を特徴とするメモリアクセス装置。
【請求項１５】
請求項１１〜１４のいずれか記載のメモリアクセス装置において、
前記フラッシュメモリが、それ自身がフラッシュメモリであることを前記ＣＰＵに判別させるための種別情報を記憶した種別情報記憶部を有し、
前記ＣＰＵが、前記メモリ手段に対してデータの読み書きをすべきアドレスを指定するアドレス指定機能と、
前記メモリ手段内の各記憶素子に対して予めアクセスし、いずれの記憶素子に前記種別情報が記憶されているかを確認することにより、前記メモリ手段内のいずれの記憶素子がフラッシュメモリであるかを判別するフラッシュメモリ判別機能と、
該フラッシュメモリ判別機能部によってフラッシュメモリと判別した記憶素子に対して前記メモリ手段全体の中でどのアドレスに割り付けられるかを特定するフラッシュアドレス特定機能と、
前記アドレス指定機能により指定されたアドレスが前記フラッシュアドレス特定憶機能によって特定されるアドレスであるときに前記インタリーブ解除手段を作動させるインタリーブ解除機能とを付与されていること
を特徴とするメモリアクセス装置。
【請求項１６】
請求項１１〜１５のいずれか記載のメモリアクセス装置において、
前記フラッシュメモリと前記ＣＰＵの対応ビット数が異なるとき、該ＣＰＵが発行する読み書き指令を、前記フラッシュメモリ側の対応ビット数に応じて繰り返し発行することによってＣＰＵとフラッシュメモリの対応ビット数の相違を解消するビット数相違解消手段を備えたこと特徴とするメモリアクセス装置。
【請求項１７】
請求項１１〜１６のいずれか記載のメモリアクセス装置において、
前記メモリ手段が、前記ＣＰＵ及び前記システムロジックを搭載したマイコンボードのメモリスロットに装着されるメモリボード上に備えられていることを特徴とするメモリアクセス装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリボード、メモリアクセス方法及びメモリアクセス装置に係り、特に、ディスク的に使用できると共にＣＰＵ（central processing unit ）のメインメモリとしても使用可能なメモリボードに関するものである。
【０００２】
【従来の技術】
近年、マイコンを内蔵した電子機器の小型化が進み、ＣＰＵ及びシステムロジックを搭載したマイコンボードのメモリスロットにメモりボードを装着して使用するようにしたものが知られている。
【０００３】
現状においては、こうしたメモリボードはＣＰＵのメインメモリとして使用されており、通常、小型で大容量のＤ−ＲＡＭ（dynamic random access memory）が搭載されている。このＤ−ＲＡＭは、ロウアドレス（row address ）とカラムアドレス（column address）とによりマトリックス的に一つのアドレスを指定するように構成されているため、システムロジックには、ＣＰＵから出力されるアドレス信号をロウアドレスとカラムアドレスとに分けるためのロジックが内蔵されている。
【０００４】
また、Ｄ−ＲＡＭに対して効率的にデータの読み書きを実行するため、システムロジックには、インタリーブ（interleve ）を実行するためのロジックも内蔵されている。このインタリーブロジックは、Ｄ−ＲＡＭに対して効率よくアクセスする目的の下、Ｄ−ＲＡＭ内を複数のバンクに分け、隣合うアドレスが別々のバンクに割り当てられるように、ＣＰＵから出力されるアドレス信号を変換する処理を実行している。
【０００５】
【発明が解決しようとする課題】
ところがＤ−ＲＡＭは、電源オフにすると記憶内容が消去されてしまうことから、上述の様な従来のメモリボードでは、データを記憶しておくことができない。このため、電源をオフにしてもデータを記憶しておけるメモリボードの提供が臨まれている。
【０００６】
こうした要望に対して、ＥＰ−ＲＯＭ（erasable and programable read onlymemory ）をメモリボードに搭載することも考えられるが、ＥＰ−ＲＯＭではデータの消去に紫外線照射が必要である上、一度に全部のデータが消去されてしまい、部分的な書き換えができないという問題がある。
【０００７】
また、最近では、ＥＰ−ＲＯＭに代わるものとして部分的な書き換えが可能な不揮発性メモリであるフラッシュメモリ（flush memory）が注目されている。しかし、フラッシュメモリはリニアなアドレス割付となっていることから、ＣＰＵのメインメモリとしては動作速度などの点で不十分である。
【０００８】
そこで、本発明は、ＣＰＵのメインメモリとして高速アクセスが可能であり、しかもディスク的に使用することのできるメモリボードを提供することを第１の目的とし、さらに、このようなメモリボードに対して効率よくデータの読み書きを実行できるようにすることを第２の目的とする。
【０００９】
【課題を解決するための手段、発明の実施の形態及び発明の効果】
上記第１の目的を達成するためになされた本発明のメモリボードは、請求項１に記載の様に、ＣＰＵを搭載したマイコンボードのメモリスロットに装着して使用されるメモリボードにおいて、記憶素子としてＤ−ＲＡＭとフラッシュメモリとを搭載し、該Ｄ−ＲＡＭ及び該フラッシュメモリを、当該メモリボード上に配線されるデータバス、アドレスバス及び制御信号ラインに対して、前記マイコンボード側からいずれもアクセス可能な様に結線すると共に、前記フラッシュメモリとして、前記マイコンボード側で実行されるインタリーブを実質的に解除してフラッシュメモリ内にリニアに連続するアドレスにてデータを書き込むための処理手順を、前記マイコンボード上のＣＰＵで処理可能なプログラム形式にて記憶したインタリーブ解除手順記憶部を有することを特徴とする。
【００１０】
この請求項１記載の発明によれば、ＣＰＵはＤ−ＲＡＭ及びフラッシュメモリのいずれに対してもアクセスが可能であるから、Ｄ−ＲＡＭにアクセスしてこれをメインメモリとして使用し、フラッシュメモリにアクセスしてこれを一種のディスクとして使用することができる。フラッシュメモリは電源をオフにしてもデータを保持できるので、次に電源オンした際に先に記憶しておいたデータやプログラムを読み出して処理することができる。また、フラッシュメモリは部分的な書き換えが可能なので、ＥＰ−ＲＯＭの様な全部消去の不揮発性メモリとは違ってディスク的な使用が可能である。
【００１１】
また、通常、Ｄ−ＲＡＭを記憶装置とする場合には、マイコンボード上のシステムロジックにおいて、ＣＰＵの出力したアドレス信号をインタリーブ（interleave）によって変換することにより、Ｄ−ＲＡＭに対して効率的なアクセスが可能になるような工夫がなされている。このインタリーブは、隣合うアドレスが別々のバンクに割り当てられる様な変換を行うものであるため、ＣＰＵが出力した連続的なアドレスが不連続なアドレスに置き換えられてしまう。従って、このようなインタリーブを実行するシステムロジックを備えたマイコンボードに装着された場合に何も処置を採らずにフラッシュメモリにデータを書き込んでしまうと、フラッシュメモリ内の離れたアドレスのデータによって、例えば１つのプログラムが記憶されることになる。このため、このプログラムを修正して書き直そうとしても、上述の様に、フラッシュメモリはその性質として連続的なアドレスにより特定されるブロックを単位として消去を行うものであるため、このプログラムの書き換えが困難となってしまうのである。
【００１２】
これに対し、本発明のメモリボードによれば、相手がインタリーブを実行するマイコンボードである場合には、インタリーブ解除手順記憶部に記憶されているプログラムを最初にインストールして、フラッシュメモリにデータを書き込むときはインタリーブを実質的に解除できるようにしておくのである。インタリーブが解除されれば、メモリボードに入力されるアドレス信号は、ＣＰＵが出力した連続的なアドレス信号と同じになるので、一連のプログラムやデータがフラッシュメモリ内でバラバラに書き込まれてしまうといったことがない。
【００１３】
より具体的には、請求項２に記載の様に、請求項１記載のメモリボードにおいて、前記フラッシュメモリがＳ−ＲＡＭインタフェースを有する記憶素子であり、前記アドレスバスが、前記フラッシュメモリに対して、ラッチ回路を介して接続されるルートと、該ラッチ回路を介さずに接続されるルートの２系統のルートで接続され、アドレスバスにロウアドレスが出力されているタイミングにおいて前記ラッチ回路に動作信号を与える様に、該ラッチ回路にロウアドレスストローブライン（row address strobe line ；以下、「ＲＡＳ」と略す。）が接続されると共に、該ロウアドレスストローブライン及びカラムアドレスストローブライン（column address strobe line；以下、「ＣＡＳ」と略す。）を、前記アドレスバスにカラムアドレスが出力されているタイミングで前記フラッシュメモリにアドレス確定のための動作信号を与える様に、所定の信号処理回路を介して該フラッシュメモリに接続したことを特徴とするメモリボードとして実現することができる。
【００１４】
この請求項２記載の発明によれば、ＲＡＳ及びＣＡＳから与えられる動作パルスによって、マイコンボード側からアドレスバスに出力されるアドレス信号がロウアドレスを特定するものなのかカラムアドレスを特定するものであるのかをＤ−ＲＡＭに区別させ、Ｄ−ＲＡＭ内にマトリックス的に配置されたアドレスを特定することができる。
【００１５】
ここで、ロウアドレス及びカラムアドレスについて具体例で少し説明しておく。例えば、２４ビットで１つのアドレスを特定する様にアドレス信号が構成されているとすると、マイコンボード側では、これを１２ビットずつの２つの信号に分けて出力する。この場合、例えば、ＣＰＵの出力した２４ビットのアドレス信号を上位１２ビットと下位１２ビットに分けるといったことがマイコンボード上のシステムロジックで実行される。そして、この上位１２ビットでロウアドレスを特定し、下位１２ビットでカラムアドレスを特定することによりＤ−ＲＡＭ内にマトリックス的に割り付けられた記憶領域の中から１つのアドレスを特定することができるのである。
【００１６】
一方、フラッシュメモリの内部は、リニアに番地がつながったアドレス割付となっている。従って、ロウアドレスとカラムアドレスに分かれたアドレス信号そのままではフラッシュメモリ内のアドレスを特定できない。そこで、請求項２記載のメモリボードでは、ＲＡＳに出力される制御信号によってラッチ回路を動作させてロウアドレスをラッチしておき、ＲＡＳ及びＣＡＳに出力される制御信号によってカラムアドレスを取り込める状態を判別し、ラッチ回路及びアドレスバスからアドレスを取り込んで合成し、アドレスを確定しているのである。
【００１７】
この請求項２記載のメモリボードによれば、今日普及しているＳ−ＲＡＭインタフェースを採用した各種のフラッシュメモリを、Ｄ−ＲＡＭと同じメモリボード上に共存させることができ、フラッシュメモリによるディスク的記憶機能と、Ｄ−ＲＡＭによるメインメモリとしての記憶機能とを両立させることができる。
【００１８】
また、請求項３に記載した様に、請求項１記載のメモリボードにおいて、前記フラッシュメモリがＤ−ＲＡＭインタフェースを有する記憶素子であり、該フラッシュメモリ及び前記Ｄ−ＲＡＭが、ロウアドレスストローブライン及びカラムアドレスストローブラインに対して互いに並列に接続されていることを特徴とするメモリボードとして具体化することもできる。
【００１９】
この請求項３記載のメモリボードによれば、フラッシュメモリはＤ−ＲＡＭインタフェースを有するので、ロウアドレスとカラムアドレスとに分けて出力されるアドレス信号を内部的に処理してフラッシュメモリ内のアドレスを特定することができる。
【００２０】
この様に、Ｄ−ＲＡＭインタフェースを有するフラッシュメモリを使用する場合、外部にラッチ回路等を備えることなく上記第１の目的を達成することができる。また、本発明のメモリボードは、請求項４記載の様に、請求項１〜３のいずれか記載のメモリボードにおいて、前記フラッシュメモリとして、該フラッシュメモリ内の記憶領域を、アドレスの連続する所定バイト分を一つの単位とする複数のブロックとし、該ブロックを単位としてデータを消去するディスク的な消去機能を実現するための処理手順を、前記マイコンボード上のＣＰＵで処理可能なプログラム形式にて記憶したディスク的消去手順記憶部を有するものを用いるとよい。
【００２１】
この請求項４記載のメモリボードによれば、マイコンボードに装着して電源をオンとした時点で、このディスク的消去手順記憶部の記憶内容をＣＰＵ側にインストールする。より具体的には、フラッシュメモリに記憶されているディスク的消去手順を表すプログラムをメインメモリであるＤ−ＲＡＭにインストールする。以後は、このＤ−ＲＡＭにインストールされたプログラムに従って、必要に応じてフラッシュメモリ内のデータをアドレスの連続したブロック単位で消去して書き換える処理を実行することにより、フラッシュメモリをディスク的に使用することができる。なお、このプログラムは他の記憶装置からインストールするようにしてもよいのであるが、フラッシュメモリに最初から記憶しておけば、こうした他の装置を使用する必要がなく簡便となる。そして、フラッシュメモリは不揮発性であるから、上記記憶しておいたプログラムは必要なときにいつでもインストールすることができる。
【００２２】
【００２３】
また、本発明のメモリボードは、請求項５に記載した様に、請求項１〜４のいずれか記載のメモリボードにおいて、前記フラッシュメモリとして、それ自身がフラッシュメモリであることを前記ＣＰＵ側に判別させるための種別判別情報を記憶した種別判別情報記憶部を有するものを用いるとよい。具体的には、フラッシュメモリであることを判別できるようなＩＤ番号などを登録しておき、ＣＰＵ側からＩＤ読み出し専用コマンドを発行してフラッシュメモリのＩＤ番号を取得できるようにするといったような構成を採ればよい。
【００２４】
こうした情報が登録されていることにより、ＣＰＵは、メモリボード全体の中で何番地から何番地までのアドレスがフラッシュメモリ中にあるのかを容易に判別することができる。この結果、請求項６記載のメモリボードによれば、この判別結果に従って、ＣＰＵがデータを書き込もうとするアドレスがフラッシュメモリであるのか否かを判別し、フラッシュメモリに対してデータを書き込むときにはインタリーブを実質的に解除するようにし、Ｄ−ＲＡＭに対してデータを読み書きするときはインタリーブによる効率的アクセスを確保するといった形で、アクセスしようとするアドレスに基づいてインタリーブの有無を切り換え、このメモリボードをメインメモリ及びディスク的メモリとして使用することができるようになる。
【００２５】
また、本発明のメモリボードは、請求項６に記載した様に、請求項５記載のメモリボードにおいて、前記種別判別情報を、さらに、当該フラッシュメモリが何ビット対応の記憶素子であるかを区別させる情報としておくとよい。これは、例えば、ＣＰＵが３２ビット対応のものであって一度に３２ビット分のデータの読み書きを実行しようとするとき、フラッシュメモリが８ビット対応にしか構成されていないとすると、データの読み書きを４度実施しなければＣＰＵが必要としている処理を実行できない。そこで、ＣＰＵ側に、フラッシュメモリが何ビット対応であるかを識別させるようにし、３２ビットＣＰＵに対して８ビットのフラッシュメモリであれば、指令を４回繰り返して３２ビット分のデータの読み書きを実行できるようにするのである。
【００２６】
そこで、請求項７に記載の様に、請求項１〜６のいずれか記載のメモリボードにおいて、前記フラッシュメモリとして、当該フラッシュメモリと前記マイコンボード側のＣＰＵの対応ビット数が異なるとき、ＣＰＵ側からの読み書き指令に対して、フラッシュメモリ側の対応ビット数に応じて前記読み書き指令を前記マイコンボード側から実質的に繰り返し発行させることによってＣＰＵとフラッシュメモリの対応ビット数の相違を解消するための処理手順を、前記マイコンボード上のＣＰＵで処理可能なプログラム形式にて記憶した対応ビット数相違解消手順記憶部を有するものを用いるとよい。
【００２７】
この請求項７記載のメモリボードによれば、この対応ビット数相違解消手順記憶部に記憶されているプログラムを最初にＣＰＵのメインメモリにインストールしておくことで、上述したようなＣＰＵの対応ビット数とフラッシュメモリの対応ビット数の相違を解消することができる。
【００２８】
また、上記第２の目的を達成するためになされた本発明のメモリアクセス方法は、請求項８に記載した様に、ＣＰＵ側からいずれもアクセス可能な様に、データバス、アドレスバス及び制御信号ラインに対して結線されたＤ−ＲＡＭ及びフラッシュメモリを記憶素子として備えたメモリ手段に対してデータを読み書きするに当たり、ＣＰＵにより指定されたアドレスをインタリーブにより変換してから前記メモリ手段へ出力するようにしたメモリアクセス方法において、前記ＣＰＵにより指定されたアドレスがフラッシュメモリ内のアドレスである場合には、前記インタリーブによって変換された後のアドレスが該ＣＰＵにより指定されたアドレスそのものとなるように、前記インタリーブの規則を逆に使って前記ＣＰＵにより指定されたアドレスを変更してから前記インタリーブを実行する様にしたことを特徴とする。
【００２９】
この請求項８記載のメモリアクセス方法によれば、メモリ手段としてフラッシュメモリとＤ−ＲＡＭとを備えている場合に、フラッシュメモリに対してはインタリーブを実質的に解除した形でアドレス信号が出力される。ここで、インタリーブを概念化し、このメモリアクセス方法により実行される処理内容のより具体的な一例に基づいて図示しながら説明する。
【００３０】
図１（ａ）に示す様に、ＣＰＵ１から仮に８ビットのアドレス信号が出力されているとしたとき、インタリーブロジック２は、この内のいずれかのビットをずらしてしまうことにより、図示の如く、ＣＰＵ１が「００００１０００」という信号を出した場合に「０００００００１」という信号に変換して出力するといった機能を実現している。そこで、同図（ｂ）示す様にインタリーブロジック２からの出力が「００００１０００」となる場合を考えると、これに対応するＣＰＵ１の出力は「０００００１０００」という信号をインタリーブロジック２に入力すればよい。つまり、ＣＰＵ１の指定したアドレスそのままでメモリにアクセスしようとするときは、インタリーブロジック内の変換規則に従って、ＣＰＵ１が指定しようとしているアドレスをいわば逆変換して得たアドレスをインタリーブロジック３に入力してやればよいのである。
【００３１】
請求項８記載のメモリアクセス方法は、図１で説明した考え方を利用して、ＣＰＵがフラッシュメモリにアクセスしようとしているときは、ＣＰＵが指定したアドレスを一旦インタリーブを逆にかけたようなアドレスに変換してからインタリーブを実行することで、インタリーブを実質的に解除するのである。そして、インタリーブが実質的に解除されているが故に、フラッシュメモリにデータを書き込む場合、連続したアドレスでデータを書き込むことができ、フラッシュメモリのディスク的な使用を可能ならしめるのである。
【００３２】
一方、この請求項８記載のメモリアクセス方法は、Ｄ−ＲＡＭに対してアクセスする際には通常のインタリーブを実行することで、連続的でないアドレスに対してデータの読み書きを行うことにより、高速アクセスを実現している。この本発明のメモリアクセス方法は、請求項９に記載した様に、請求項８記載のメモリアクセス方法において、前記ＣＰＵは、前記メモリ手段が備えている各記憶素子に予めアクセスすることにより、いずれの記憶素子がフラッシュメモリであるのかを判別しておき、該判別結果に基づいて、該ＣＰＵが指定しようとするアドレスがフラッシュメモリ内のアドレスであるのかＤ−ＲＡＭ内のアドレスであるのかを区別するようにしておくとよい。
【００３３】
この請求項９記載のメモリアクセス方法によれば、最初にメモり手段の各記憶素子にアクセスしてフラッシュメモリを判別することで、フラッシュメモリに対してＣＰＵが何番地から何番地までのアドレスを割り付けたかを把握しておき、以後、ＣＰＵがメモリ手段にアクセスしようとするとき、指定されたアドレスから対象となる記憶素子がフラッシュメモリであるか否かを判別し、フラッシュメモリである場合には、インタリーブを実質的に解除するための処理を実行するのである。
【００３４】
また、請求項１０に記載した様に、請求項８又は９記載のメモリアクセス方法において、前記フラッシュメモリと前記ＣＰＵの対応ビット数が異なるとき、該ＣＰＵが発行する読み書き指令を、前記フラッシュメモリ側の対応ビット数に応じて繰り返し発行することによってＣＰＵとフラッシュメモリの対応ビット数の相違を解消するようにしておくとよい。
【００３５】
これは、ＣＰＵとフラッシュメモリの対応ビット数が異なるときに、フラッシュメモリが仮想的にＣＰＵと同じ対応ビット数であるかの如く取り扱うためである。また、上記第２の目的を達成するためになされた本発明のメモリアクセス装置は、請求項１１に記載した様に、ＣＰＵと、該ＣＰＵのアドレスバスに接続され、ＣＰＵから出力されるアドレス信号を所定の規則に従って変換してからメモリ手段に対して出力するインタリーブ手段を内蔵したシステムロジックとを備えるメモリアクセス装置において、前記メモリ手段が、ＣＰＵ側からいずれもアクセス可能な様に、データバス、アドレスバス及び制御信号ラインに対して並列的に結線されたＤ−ＲＡＭ及びフラッシュメモリを記憶素子として備え、前記ＣＰＵによるデータ読み書きの対象となる記憶素子が前記フラッシュメモリであるか否かを判別する対象記憶素子判別手段と、該対象記憶素子判別手段によってデータ読み書きの対象となる記憶素子が前記フラッシュメモリであると判別された場合には、前記インタリーブ手段を実質的に機能させないようにするインタリーブ解除手段とを備えたことを特徴とする。
【００３６】
この請求項１１記載のメモリアクセス装置によれば、ＣＰＵがメモリにアクセスしようとするとき、対象記憶素子判別手段が、アクセスの対象がＤ−ＲＡＭなのかフラッシュメモリなのかを判別する。対象となる記憶素子がＤ−ＲＡＭである場合は、インタリーブ解除手段が働かないので、システムロジック内のインタリーブ手段によって変換されたアドレスに基づいて効率的にアクセスが行われる。従って、メインメモリに要求される高速読み書きが確保される。一方、フラッシュメモリがアクセスの対象である場合は、インタリーブ解除手段が働くので、ＣＰＵの出力した通りの連続的なアドレスにてアクセスが行われる。従って、一連のデータがフラッシュメモリ内にバラバラのアドレスに書き込まれてしまうということがなく、次に、このデータを書き換えようという場合に支障を来すことがない。この装置によれば、Ｄ−ＲＡＭをメインメモリとし、フラッシュメモリをディスクに見立てた小型コンピュータシステムを構成することができ、しかもＤ−ＲＡＭに対するアクセス方法を犠牲にしていないので、Ｄ−ＲＡＭの特質を生かした高速処理が可能である。
【００３７】
また、本発明のメモリアクセス装置は、具体的には、請求項１２に記載した様に、請求項１１記載のメモリアクセス装置において、前記インタリーブ解除手段が、前記インタリーブ手段によって変換された後のアドレスが前記ＣＰＵにより指定されたアドレスとなるように、前記所定の規則を逆に使って前記ＣＰＵにより指定されたアドレスを変換してから前記インタリーブ手段に入力する手段として構成することができる。
【００３８】
この請求項１２記載のメモリアクセス装置によれば、請求項８記載のメモリアクセス方法を利用してインタリーブが実質的に解除され、フラッシュメモリをディスクに見立てた利用が可能となる。この様な機能は、プログラムによってソフト的に実現することができる。この場合、メモリ手段がメモリボードの様に着脱自在な手段の場合、請求項５記載のメモリボードの様に、フラッシュメモリにこのインタリーブを実質的に解除するためのプログラムを記憶させておき、最初に、このフラッシュメモリ内のプログラムをＣＰＵのメインメモリとなるＤ−ＲＡＭにインストールするようにしてやるとよい。
【００３９】
また、他の具体的な構成としては、請求項１３に記載した様に、請求項１１記載のメモリアクセス装置において、前記インタリーブ手段から出力されるアドレスバスとして、前記インタリーブ手段から出力されるアドレス信号を該インタリーブ手段への入力時の信号に逆変換する第２のインタリーブ手段を経由する第１の出力バスと、前記第２のインタリーブ手段をバイパスする第２の出力バスとを備え、前記インタリーブ解除手段が、該第１，第２の出力バスを切り換えることにより、前記フラッシュメモリに対するデータの読み書きに際して前記インタリーブ手段を実質的に機能させないようにする手段として構成することもできる。
【００４０】
この請求項１３記載のメモリアクセス装置を模式的に示すと図２の様に表すことができる。即ち、第１のインタリーブロジック４と、第２のインタリーブロジック５とをシステムロジック内に備えさせ、第１のインタリーブロジック４の出力バスを第２のインタリーブロジック５に入力するルートと第２のインタリーブロジック５をバイパスするルートの２系統に分岐しておくのである。そして、ルート切換ロジック６を設けておき、この切換ロジック６に対してＣＰＵ１からルート切り替え指令を出力する様にしておけばよいのである。図の例において、第１のインタリーブロジック４に「００００１０００」というアドレスが入力されると、「０００００００１」にアドレスが変換される。しかし、第１のインタリーブロジック４の変換規則を逆転させた構成の第２のインタリーブロジック５に、この「０００００００１」を入力することにより、最終的に得られるアドレス信号を「００００１０００」に戻すことができるのである。
【００４１】
以上の原理を利用して、請求項１２記載のメモリアクセス装置と同様の作用・効果が発揮され、メインメモリとしてのＤ−ＲＡＭへの高速アクセスと、ディスク的記憶装置としてのフラッシュメモリへのアクセスとを的確に行うことができるのである。
【００４２】
また、さらに他の構成としては、請求項１４に記載の様に、請求項１１記載のメモリアクセス装置において、前記ＣＰＵから前記システムロジックに入力されるアドレスバスとして、前記インタリーブ手段に入力する第１の入力バスと、該インタリーブ手段をバイパスする第２の入力バスとを備え、前記インタリーブ解除手段が、該第１，第２の入力バスを切り換えることにより、前記フラッシュメモリに対するデータの読み書きに際して前記インタリーブ手段を実質的に機能させないようにする手段として構成することもできる。
【００４３】
この請求項１４記載のメモリアクセス装置を模式図で示すと、図３に示す様になる。即ち、インタリーブロジック８の入力側においてアドレスバスを分岐させてインタリーブロジック８をバイパスするルートを設けておき、切換ロジック９によってルートを切り換える様にしてやるのである。この請求項１５記載のメモリアクセス装置では、フラッシュメモリに対してアクセスする場合は、そもそもインタリーブ手段をパスするのである。これにより、メモリ手段にはＣＰＵが出力したままのアドレスが伝達され、フラッシュメモリ内に連続的なアドレスでもってデータの読み書きを実行することができるようになるのである。
【００４４】
また、本発明のメモリアクセス装置としては、請求項１５に記載した様に、請求項１１〜１４のいずれか記載のメモリアクセス装置において、前記フラッシュメモリが、それ自身がフラッシュメモリであることを前記ＣＰＵに判別させるための種別情報を記憶した種別情報記憶部を有し、前記ＣＰＵが、前記メモリ手段に対してデータの読み書きをすべきアドレスを指定するアドレス指定機能と、前記メモリ手段内の各記憶素子に対して予めアクセスし、いずれの記憶素子に前記種別情報が記憶されているかを確認することにより、前記メモリ手段内のいずれの記憶素子がフラッシュメモリであるかを判別するフラッシュメモリ判別機能と、該フラッシュメモリ判別機能部によってフラッシュメモリと判別した記憶素子に対して前記メモリ手段全体の中でどのアドレスに割り付けられるかを特定するフラッシュアドレス特定機能と、前記アドレス指定機能により指定されたアドレスが前記フラッシュアドレス特定憶機能によって特定されるアドレスであるときに前記インタリーブ解除手段を作動させるインタリーブ解除機能とを付与されているものを採用することもできる。これらの機能は、プログラムをインストールすることによってソフト的に付与すればよい。
【００４５】
この請求項１５記載の装置によれば、最初にメモり手段にアクセスしていずれの記憶素子がフラッシュメモリであるかをフラッシュメモリの種別情報記憶部の記憶内容から判別することにより、ＣＰＵがメモり手段の各記憶素子に対して割り付けたアドレスの何番地から何番地までがフラッシュメモリであるかを把握することができる。こうして何番地から何番地までがフラッシュメモリであるかが把握できれば、ＣＰＵがアクセスしようとしてアドレスを指定したとき、このアドレスがフラッシュメモリを対象とするものであるか否かが容易に判明する。そして、フラッシュメモリがアクセス対象となっているのであれば、インタリーブ解除手段を作動させるようにすることで、これまで述べてきたようなフラッシュメモリのディスク化が実現されるのである。また、逆に、ＣＰＵの指定するアドレスがＤ−ＲＡＭを対象とするものであるということも容易に判明し、この場合は、インタリーブ解除手段を作動させないようにして、Ｄ−ＲＡＭへの高速アクセスを実現することができる。
【００４６】
また、本発明のメモリアクセス装置は、請求項１６に記載した様に、請求項１１〜１５のいずれか記載のメモリアクセス装置において、前記フラッシュメモリと前記ＣＰＵの対応ビット数が異なるとき、該ＣＰＵが発行する読み書き指令を、前記フラッシュメモリ側の対応ビット数に応じて繰り返し発行することによってＣＰＵとフラッシュメモリの対応ビット数の相違を解消するビット数相違解消手段を備えるようにするとよい。この請求項１７記載のメモリアクセス装置によれば、フラッシュメモリがＣＰＵの対応ビット数と異なっていても支障なくデータの読み書きを実行することができる。
【００４７】
なお、これら請求項１１〜１６のいずれか記載のメモリアクセス装置において、前記メモリ手段として、前記ＣＰＵ及び前記システムロジックを搭載したマイコンボードのメモリスロットに装着されるメモリボード上に備えられたもの、より具体的には、請求項１〜７に記載した様なメモリボードを使用するとよい。
【００４８】
以上、本発明における課題を解決するための手段、発明の実施の形態及び発明の効果について詳述したが、さらに、実施例を用いて、より具体的な説明を加える。
【００４９】
【実施例】
発明の実施の形態として、小型コンピュータシステムの実施例について説明する。実施例の小型コンピュータシステムは、図４に示す様に、ＣＰＵ１１と、システムロジック１２とを搭載し、デュアルインラインメモリモジュール（dual inline memory module ；以下、「ＤＩＭＭ」という。）に対応したメモリスロット１３を備えるマイコンボード１０と、フラッシュメモリ３１及びＤ−ＲＡＭ３２を搭載したＤＩＭＭとしてのコネクタ３３を有するメモリボード３０とにより構成されている。なお、本実施例ではフラッシュメモリ３１は８ビット対応のものが１チップだけ搭載され、Ｄ−ＲＡＭ３２としては１６ビット対応のものが２チップ搭載されている。また、ＣＰＵ１１は３２ビット対応のものである。
【００５０】
システムロジック１２は、特に、Ｄ−ＲＡＭ３２にアクセスするための構成として、ＣＰＵ１１から出力されるアドレス信号を所定の規則に従って変換するインタリーブロジック１４と、このインタリーブロジックで変換されたアドレス信号をロウアドレスとカラムアドレスにより特定されるマトリックス的なアドレス信号に分けるためのロジック（以下、「マトリックス化ロジック」という。）１５とが内蔵されている。このシステムロジック１２は、Ｄ−ＲＡＭをメモリとして使用する場合に一般的に用いられているものである（こうしたシステムロジックとしては、例えば、ＣＩＲＲＵＳ ＬＯＧＩＣ，ＩＮＣ社製の商品名「ＰＴ８６Ｃ３６８Ｂ」などを用いることができる。）。
【００５１】
このシステムロジック１２は、アドレスバス１６及びデータバス１７を介してＣＰＵ１１と接続されている。そして、アドレスバス１６及びデータバス１７は、システムロジック１２から延ばされてメモリスロット１３へとつながれている。また、システムロジック１２からは、ロウアドレスストローブライン（以下、「ＲＡＳライン」という。）１８、カラムアドレスストローブライン（以下、「ＣＡＳライン」という。）１９、及び書き込み指令信号ライン（以下、「ＷＲライン」という。）２０がメモリスロット１３へと延ばされている。なお、図では省略したが、その他、通常ＣＰＵ１１、システムロジック１２及びメモリスロット１３の間に配線される各種信号線などが備えられていることはもちろんである。また、電源回路などその他の素子などが備えられていることももちろんである。
【００５２】
メモリボード３０に搭載するフラッシュメモリ３１としては、Ｓ−ＲＡＭインタフェースを有する一般的なものを使用する（このＳ−ＲＡＭインタフェースのフラッシュメモリとしては、例えば、インテル社製の商品名「２８Ｆ４００」などを用いることができる。）。フラッシュメモリ３１がＳ−ＲＡＭインタフェースであるため、アドレスバス３４がフラッシュメモリ３１に対して２系統に分岐されたアドレスバス３４ａ，３４ｂにて接続されている。
【００５３】
これら２系統の一方のルートのアドレスバス３４ａにはラッチ回路３５が備えられている。このラッチ回路３５はＲＡＳライン３６からのパルス信号を受けてアドレスバス３４に出力されているデータをラッチする様に構成されている。そして、このラッチ回路３５を経由する方のアドレスバス３４ａは、フラッシュメモリ３１のアドレス端子Ａ0 〜Ａn の内、上位アドレスに対応するアドレス端子に接続されている。そして、もう１つのルートのアドレスバス３４ｂが下位アドレスに対応するアドレス端子に接続されている。
【００５４】
また、ＲＡＳライン３６は、ＣＡＳライン３７と共に信号処理回路４１に入力されている。この信号処理回路４１の出力ラインは、フラッシュメモリ３１においてアドレス確定動作を実行するためのＣＳ端子に入力されている。また、ＣＡＳライン３７はＷＲライン３８と共に別の信号処理回路４２に入力されている。そして、この信号処理回路４２の出力ラインが、フラッシュメモリ３１のＯＥ端子に入力されており、ＷＲライン３８は、単独でＷＲ端子に入力されている。
【００５５】
これらＲＡＳライン３６、ＣＡＳライン３７及びＷＲライン３８は途中で分岐されてＤ−ＲＡＭ３２へも入力されている。またアドレスバス３４もデータバス３９と共に、フラッシュメモリ３１及びＤ−ＲＡＭ３２にそれぞれ接続されている。Ｄ−ＲＡＭ３２上の端子のいずれに各バス及び信号ラインが結線されるかについては、通常Ｄ−ＲＡＭに対してなされているのと同じであるので説明は省略する。また、ＲＡＳライン３６等の信号変化とＤ−ＲＡＭ３２の動作の関係も通常のＤ−ＲＡＭと変わるところがないので、これも説明は省略する。
【００５６】
フラッシュメモリ３１は、本実施例の特徴として、予め、フラッシュメモリであることを意味するＩＤ番号が登録されている。このＩＤ番号は、アドレスで指定される記憶領域とは関係なく、ＣＰＵ側からＩＤ読み出し専用コマンドが発行されたら出力できるように、フラッシュメモリ３１内に登録されているのである。また、所定の領域に、後述する３つのプログラムが登録されている。
【００５７】
次に、フラッシュメモリ３１がアドレスを確定する際の、ＲＡＳライン３６等に出力される信号とフラッシュメモリ３１の動作内容との関係をタイミングチャートを用いて説明する。図５に示す様に、ＲＡＳライン３６は、アドレスバス３４にロウアドレスが出力されるタイミングにおいて立ち下がり信号を出力する。この立ち下がり信号を受けると、ロウアクティブに設計されたラッチ回路３５が動作して、アドレスバス３４に出力されているデータをラッチする。
【００５８】
この時点では、ＣＡＳライン３７の信号がハイのままであるので、信号処理回路４１はハイレベル信号を出力する状態にあり、ＣＳ端子はアクティブになっていない。ＣＡＳライン３７の信号は、アドレスバス３４にカラムアドレスが出力されるタイミングにおいてロウレベルに切り換わる。このＣＡＳライン３７の信号の立ち下がりに応じて、信号処理回路４１からの出力がロウに変化し、ＣＳ端子がアクティブとなる。この結果、ラッチ回路３５によってラッチされているデータを上位アドレスとし、アドレスバス３４に出力されているデータを下位アドレスとする１つのアドレス信号が確定する。こうして、フラッシュメモリ３１は、マイコンボード１０からロウアドレスとカラムアドレスに分けて出力されるアドレスデータをフラッシュメモリ３１内のアドレスを特定し得るデータに戻すのである。
【００５９】
そして、こうして特定されたアドレスに対するアクセスが書き込みの場合には、図５に示した様に、ＷＲライン３８があるタイミングでロウに切り換わり、フラッシュメモリ３１のＷＲ端子をアクティブにし、データバス３９に出力されているデータを書き込む処理が実施される。読み出しの場合には、ＷＲライン３８がハイレベル信号のままであるからＷＲ端子はアクティブにならない。そして、あるタイミングにおいてＣＡＳライン３７がロウレベルでＷＲライン３８がハイレベルの状態が出現するので、このとき信号処理回路４２がロウレベル信号を出力し、ＯＥ端子がアクティブとなる。このＯＥ端子がアクティブとなると、フラッシュメモリ３１は、指定されているアドレスのデータをデータバス３９に対して出力する様に動作する。
【００６０】
次に、フラッシュメモリ３１の内部構造について説明する。フラッシュメモリ３１は、図６に模式的に示す様に、アドレスと関係なく、ＣＰＵ側からＩＤ読み出し専用コマンドが発行されたときに出力を行うＩＤ登録部分３１ａにＩＤ番号が登録されている。このＩＤ番号は、当該記憶素子が８ビット対応のフラッシュメモリであることを判別させるためのものである。
【００６１】
そして、アドレスで指令されるメモリ領域の先頭２Ｋバイト中の第１の領域３１ｂに、マイコンボード１０側のインタリーブを実質的に解除するためのプログラム（以下、「インタリーブ解除プログラム」という。）が記憶されている。この２Ｋバイトの領域は、ミニマムページサイズ（minimum page size ）であって、インタリーブが係らず、必ず連続的なアドレスでデータを格納できる領域である。
【００６２】
また、本実施例では、同じくこの先頭２Ｋバイトの第２の領域３１ｃに、８ビット対応，１６ビット対応のフラッシュメモリを３２ビット対応のＣＰＵに対して正常に動作させるためのビット数の相違を解消するためのプログラム（以下、「ビット数相違解消プログラム」という。）が記憶されている。
【００６３】
そして、さらに、他の領域に３１ｄには６４Ｋバイトを１単位としてデータを消去するためのプログラム（以下、「ディスク化プログラム」という。）が記憶されている。次に、実施例のコンピュータシステムにおける動作内容を説明する。
【００６４】
ＣＰＵ１１は、電源オン時に次の処理を実行する様になっている。まず、図７に示す様に、メモリボード３０に対してアクセスし、各記憶素子３１，３２の記憶容量の確認を実行する（Ｓ１０）。そして、今後、ＣＰＵ１１が各記憶素子３１，３２にアクセスする際のメモリボード３０の全体に対するアドレス割付を実行する（Ｓ２０）。例えば、Ｓ１０の処理により最初にアクセスした方の記憶素子が「１番地」〜「Ｘ番地」というアドレスを有するものと認識したら、次の記憶素子は「Ｘ＋１番地」〜というアドレスを有するものと認識し、ＣＰＵ１１から各記憶素子を見たときのアドレス割付を実施するのである。
【００６５】
また、各記憶素子３１，３２のＩＤ登録部分３１ａにフラッシュメモリであることを示すＩＤ番号が格納されているか否かにより、先ほど割り付けたアドレスの内、どの範囲のアドレスがフラッシュメモリ３１に該当するのかを識別する（Ｓ３０）。
【００６６】
以上の処理を実行することにより、ＣＰＵ１１からメモリボード３０を見たときの全記憶領域に対する連続的なアドレス割付が完了し、また、どのアドレスを指定するとフラッシュメモリ３１へのアクセスであるのかを判別できるようにするための前処理が完了する。
【００６７】
次に、こうしてフラッシュメモリ３１のアドレスが判明したら、まず、インタリーブ解除プログラム格納領域３１ｂにアクセスし、インタリーブ解除プログラムをＤ−ＲＡＭ３２にインストールする（Ｓ４０）。本実施例では、Ｄ−ＲＡＭ３２は、ＣＰＵ１１のメインメモリとして使用されるのである。
【００６８】
このインタリーブ解除プログラムの読み出しに当たっては、ＣＰＵ１１では、メインＢＩＯＳ（main basic input/output system）によってバス幅を８ビット固定としてプログラムの読み出しを実行する。これは、メモリボード３０側に何ビットのフラッシュメモリ３１が搭載されていてもよいように汎用性を持たせるためである。
【００６９】
そして、インタリーブ解除プログラムに続いて、続く格納領域３１ｃに格納されているビット数相違解消プログラムをインストールする（Ｓ５０）。これら二つのプログラムは、それほど大きなものではないので、インタリーブに関係ない先頭２Ｋバイトに格納されていることから、バス幅を８ビットに固定するだけで支障なくインストールが実行できる。
【００７０】
次に、ビット数相違解消プログラム及びインタリーブ解除プログラムを実行しながら、ディスク化プログラム格納領域３１ｄにアクセスし、ディスク化プログラムのインストールを実行する（Ｓ６０）。これは、ディスク化プログラムは、容量的に大きなものなので、フラッシュメモリ３１のミニマムページサイズ以内に格納できないことから、後述する様にインタリーブを解除しながらプログラムの読み出しを実行しなければならないからである。また、ビット数相違解消プログラムも起動することにより、フラッシュメモリ３１が１６ビットであればバス幅を１６ビットにして８ビット固定の場合より効率よくディスク化プログラムを読み出すためである。
【００７１】
次に、ＣＰＵ１１によりデータの読み書きを実際に行うための処理の内容を図８のフローチャートに基づいて説明する。まず、ＣＰＵ１１は、アクセスの対象となるアドレスを決定し、アドレスバス１６にセットする（Ｓ１１０）。また、アクセスの内容が書き込みか読み出しかを決定して、これをシステムロジック１２に対して指令する（Ｓ１２０〜Ｓ１５０）。即ち、読み出しの場合には読み出し指令を出力し（Ｓ１３０）、書き込みの場合は書き込むべきデータをデータバス１７にセットすると共に（Ｓ１４０）、システムロジック１２に書き込みを指令する（Ｓ１５０）。
【００７２】
ここで、Ｓ１１０のアドレスセットは、詳しくは、図９に示す様な内容となっている。まず、アクセスすべきアドレスＭＡを決定したら（Ｓ１１１）、このアドレスＭＡがフラッシュメモリ３１内のアドレスであるか否かを判断する（Ｓ１１３）。フラッシュメモリ３１内のアドレスであると判断された場合は、最初に読み込んでおいたインタリーブ解除プログラムを実行してアドレスＭＡをＭＡ’に変更し、この変更されたアドレスＭＡ’をアドレスバスにセットする（Ｓ１１５，Ｓ１１７）。フラッシュメモリ３１内のアドレスではないと判別された場合は、最初に決定したアドレスＭＡをそのままアドレスバスにセットする（Ｓ１１９）。
【００７３】
このインタリーブ解除プログラムは、図１を用いて概念的に説明したのと同様の方法を採用したものである。即ち、インタリーブロジックに入力されるアドレスをＸとし、インタリーブロジックから出力されるアドレスをＹとしたときの関係がＹ＝ｆ（Ｘ）という関数で表されるとき、これを逆に、Ｙを変数とする関数に変換した関数式Ｘ＝ｇ（Ｙ）を用いて、Ｙを与えるＸを求めるのと同じ思想の下で構成されている。
【００７４】
ただし、インタリーブの規則は１つだけでなく、種々の規則があり、使用されるインタリーブロジックによって異なっている。インタリーブの条件は、Ｄ−ＲＡＭのミニマムページサイズをどのように設定するかによっても異なる。本実施例では、ミニマムページサイズを２Ｋバイトに設定してある。
【００７５】
そこで、本実施例では、フラッシュメモリ３１のインタリーブ解除プログラム記憶部３１ｃに、上記Ｘ＝ｇ（Ｙ）に相当する複数の関数式と、どの種類のインタリーブロジックの場合にどの関数式を用いたらよいかの関係を対応付けたテーブルとを記憶しておく。そして、ＣＰＵ１１がインタリーブ解除プログラムをメインメモリとしてのＤ−ＲＡＭ３２にインストールする際に、この対応関係テーブルを参照して、自身の備えているインタリーブロジック１４に対応する関数式を選択し、これをインタリーブ解除プログラムで使用する関数式としてインストールしておく様に構成してある。
【００７６】
こうして、本実施例によれば、ＣＰＵ１１がメモリボード３０のフラッシュメモリ３１に対してアクセスするときは、インタリーブ解除プログラムが実行される。そして、インタリーブロジック１４にはＣＰＵ１１が決定したアドレスＭＡそのものではなく、これをＹ＝ＭＡを変数としてＸ＝ｇ（Ｙ）の関数式に代入して求められた関数Ｘ＝ＭＡ’をインタリーブロジック１４に入力することにより、インタリーブロジック１４から出力されるアドレスが元々のＭＡになるようにしている。この結果、フラッシュメモリ３１に対しては、ＣＰＵ１１がフラッシュメモリ３１をディスク的な記憶装置と見立てて決定したリニアに連続するアドレスに従って、データやプログラムなどがバラバラにされることなく書き込まれる。
【００７７】
従って、データやプログラムの書き換えの必要が生じた場合には、最初にインストールしておいたディスク化プログラムを起動して、フラッシュメモリ３１内を、例えば連続する６４Ｋバイトを１つのブロックとしてその中のデータを消去し、そこに新たなデータを書き込むといった処理により、フラッシュメモリ３１をハードディスクやフロッピーディスク等のディスクと同様の記憶装置として機能させることができるのである。つまり、フラッシュメモリ３１には一連のデータは連続したアドレスに書き込まれるので、上記ブロック内のデータ消去を行ったときに別の一連のデータの一部を消去してしまうといったことがなく、ディスクと同様の読み書きを実行できる状態となるのである。本実施例では、上述の記憶領域３１ａ〜３１ｄ以外の記憶領域を、書き込み可能な記憶領域とし、連続するアドレスに従って、６４Ｋバイトを１つのブロックとするように６４Ｋバイトごとのブロックに分割し、ＣＰＵ１１がフラッシュメモリ３１及びＤ−ＲＡＭ３２の両方を含むメモリボード３０の全体に対して割り付けたアドレスの中の何番地から何番地が１つのブロックに相当するのかを最初に本プログラムをインストールした際に直ちに本プログラムを実行して演算し、その演算結果をＤ−ＲＡＭ３２内に書き込んでおく。そして、この演算結果は、フラッシュメモリ３１に対して書き込みのためのアクセスをする際に参照され、対応するアドレスの存在するブロック内のデータを消去して新たなデータを上書きするといった形で、フラッシュメモリ３１をあたかもディスクの様に機能させるのである。
【００７８】
一方、Ｄ−ＲＡＭ３２に対してアクセスするときは、インタリーブ解除プログアムは実行されないので、Ｄ−ＲＡＭ３２に対しては、インタリーブによる効率的なアクセスが可能となり、ＣＰＵ１１のメインメモリとしての機動性を損なうことがない。
【００７９】
また、読み出し指令（Ｓ１３０）及び書き込み指令（Ｓ１５０）においては、具体的には、ＲＡＳライン、ＣＡＳライン及びＷＲラインへの信号出力によって読み出し指令と書き込み指令とを実施している。読み出し指令の場合は、まず、ロウアドレスをアドレスバスにセットしてＲＡＳラインをハイからロウに切り換え、次に、カラムアドレスをアドレスバスにセットしてＣＡＳラインをハイからロウに切り換える。なお、ＷＲラインはハイレベルのままとしておく。これは、図４に示した様に、信号処理回路４２は、ＣＡＳラインがロウでＷＲラインがハイのときにＯＥ端子をアクティブとし、読み出し許可の状態とするからである。
【００８０】
書き込み指令の場合も、データバスにデータをセットしたら、まず、ロウアドレスをアドレスバスにセットしてＲＡＳラインをハイからロウに切り換え、次に、カラムアドレスをアドレスバスにセットしてＣＡＳラインをハイからロウに切り換える。そして、今度は、ＷＲラインをハイからロウに切り換える。これによって、ＷＲ端子がアクティブとなり、フラッシュメモリが書き込み状態となるのである。
【００８１】
なお、このとき、最初にインストールしておいたビット数相違解消プログラムが実行される。このビット数相違解消プログラムにより、８ビット対応のフラッシュメモリ３１を３２ビット対応のＣＰＵ１１によって正常に読み書きできるようになっている。
【００８２】
このビット数相違解消プログラム自体は、図１０に示す様な構成となっている。まず、アクセスの対象となるフラッシュメモリが８ビット／１６ビット／３２ビットのいずれの構成であるかを判断する（Ｓ２１０）。フラッシュメモリが何ビット対応のものであるかは、最初に読み込んだフラッシュメモリのＩＤ番号によって特定することができる。
【００８３】
３２ビット対応に構成されていれば、バス幅を３２ビットとして読み出し／書き込みの指令信号は１回だけ出力する（Ｓ２２０）。しかし、１６ビット対応にしか構成されていない場合は、バス幅を１６ビットとして２回繰り返し出力し（Ｓ２３０）、また、８ビット対応にしか構成されていない場合にはバス幅を８ビットとして４回繰り返し出力する（Ｓ２４０）。
【００８４】
より具体的には、本実施例では、ＲＡＳライン１８，３６及びＣＡＳライン１８，３７は、各４本の信号線ＲＡＳ０〜ＲＡＳ３、ＣＡＳ０〜ＣＡＳ３で構成されており、３２ビット対応の場合は、これら各４本の信号線に同時に信号を出力するが、１６ビット対応の場合はＲＡＳ０，ＲＡＳ１，ＣＡＳ０，ＣＡＳ１のグループと、ＲＡＳ２，ＲＡＳ３，ＣＡＳ２，ＣＡＳ３のグループとに分けて２回信号を出力する。８ビットであれば、ＲＡＳ０，ＣＡＳ０、ＲＡＳ，ＣＡＳ１、・・・と４回に分けて信号を出力する。
【００８５】
こうして、ビット数相違解消プログラムを実行することにより、本実施例では、３２ビット対応のＣＰＵ１１に対して８ビット対応のフラッシュメモリ３１を正常に動作させることができている。なお、本実施例ではビット数相違解消プログラムにおいては常にＳ２４０の処理にしか進まないが、例えば、フラッシュメモリ３１を２個用いれば、１６ビット対応のフラッシュメモリとして構成できるので、同じフラッシュメモリであってもＳ２３０の処理へ進む様な構成ともなり得る。このため、Ｓ２１０の判定では、メモリボード３０全体としてのフラッシュメモリの対応ビット数に基づいて判断を実行する必要がある。
【００８６】
以上説明した本実施例のメモリボード３０は、小さなメモリボード上にＣＰＵのメインメモリと、ディスク的な記憶装置とを共に備えさせることができるので、小型電子機器用の記憶装置としてきわめて優れている。また、ビット数相違解消プログラムをインストールして８ビットのフラッシュメモリを３２ビットのＣＰＵに対応させることができるので、より小型のメモリボードとすることができる。つまり、現在普及している８ビットのフラッシュメモリで３２ビットのＣＰＵに対応させようとすると、どうしても４個のフラッシュメモリが必要となるのであるが、これを８ビットのフラッシュメモリでも３２ビットのＣＰＵに対応できるようにしたので、メモリボード上には最低１個のフラッシュメモリがあればよいこととなり、その分だけメモリボードを小さくすることができるのである。
【００８７】
特に、本実施例では、インタリーブ解除機能を採用したことにより、フラッシュメモリ３１には、常に、リニアに連続するアドレスにてデータやプログラムなどが書き込まれる。このフラッシュメモリへのデータの書き込み状態は、アドレスが連続した例えば６４Ｋバイト分の記憶領域を単位としてデータの消去を行うというフラッシュメモリの性質に合致している。従って、インタリーブの解除機能は、インタリーブによって高速アクセスを実現されているＤ−ＲＡＭと、ディスク的に読み書き可能なフラッシュメモリとを１つのメモリボード上に共存させる上で、きわめて重要な作用・効果を発揮しているといえる。
【００８８】
次に、第２実施例を説明する。第２実施例は、図１１に示す様な構成のコンピュータシステムであり、上述した第１実施例との違いは、メモリボード５０上に、フラッシュメモリ５１として、Ｄ−ＲＡＭインタフェースを有する１６ビット対応のものを用いる点である。このＤ−ＲＡＭインタフェースのフラッシュメモリ５１とは、概念的にいえば、図４のラッチ回路３５や信号処理回路４１、２系統のアドレスバス３４ａ，３４ｂが本体内に内蔵されたものとしてイメージして差し支えない。つまり、フラッシュメモリ５１の記憶領域はＳ−ＲＡＭインタフェースのフラッシュメモリ３１と同様に、リニアに連続的なアドレスで割り当てられており、内部的にラッチ等を行うことで、ロウアドレスを上位アドレスとし、カラムアドレスを下位アドレスとする１つのアドレス信号に戻す処理を実行してアドレスを特定するようになっていると考えてよい。なお、このＤ−ＲＡＭインタフェース付きの１６ビットのフラッシュメモリ５１はほとんど市場に出回っていないが、インテル社製の商品名「２８Ｆ０１６ＤＸ」がこれに対応するフラッシュメモリとして用いることができる。
【００８９】
なお、この第２実施例のメモリボード５０における他の構成は第１実施例とほぼ同様であるので、各部品に図４と同一の記号を付して詳細な説明は省略する。また、インタリーブ解除プログラム等についても第１実施例と同様であるので、その説明は省略する。
【００９０】
以上、本発明の実施例を説明したが、本発明は、これに限らず、さらに種々なる形態で実施することが可能である。例えば、メモリボードの構成として、シングルインラインメモリモジュール（single inline memory module ；ＳＩＭＭ）を用いてもよいし、フラッシュメモリへのアクセスの際にインタリーブをい実質的に解除できる限りは、ソフト的ではなくハード的に実施されていてもよく、また、そこに採用されたアルゴリズムがどのような手順になっていようとも、実質的にインタリーブを解除できる限り、本発明の目的を十分に達成することができ、それもまた一つの実施の形態として本発明の要旨の範囲内に含まれるものである。
【図面の簡単な説明】
【図１】  請求項７記載のメモリアクセス方法を概念的に例示する模式図である。
【図２】  請求項１１記載のメモリアクセス装置を概念的に例示する模式図である。
【図３】  請求項１２記載のメモリアクセス装置を概念的に例示する模式図である。
【図４】  第１実施例としてのコンピュータシステムの構成を示すブロック図である。
【図５】  第１実施例におけるフラッシュメモリのアドレス確定動作の様子を示すタイミングチャートである。
【図６】  第１実施例におけるフラッシュメモリ内に予め登録されているプログアム等の格納位置を示す説明図である。
【図７】  第１実施例における初期設定処理のフローチャートである。
【図８】  第１実施例におけるメモリアクセス処理のフローチャートである。
【図９】  第１実施例におけるインタリーブ解除に関する処理のフローチャートである。
【図１０】  第１実施例におけるＣＰＵとフラッシュメモリの対応ビット数の相違を解消するための処理のフローチャートである。
【図１１】  第２実施例としてのコンピュータシステムの構成を示すブロック図である。
【符号の説明】
１・・・ＣＰＵ、２，４，５，８・・・インタリーブロジック、６，９・・・切換ロジック、１０・・・マイコンボード、１１・・・ＣＰＵ、１２・・・システムロジック、１３・・・メモリスロット、１４・・・インタリーブロジック、１５・・・マトリックス化ロジック、１６・・・アドレスバス、１７・・・データバス、１８・・・ＲＡＳライン、１９・・・ＣＡＳライン、２０・・・ＷＲライン、３０・・・メモリボード、３１・・・フラッシュメモリ、３２・・・Ｄ−ＲＡＭ、３３・・・コネクタ、３４，３４ａ，３４ｂ・・・アドレスバス、３５・・・ラッチ回路、３６・・・ＲＡＳライン、３７・・・ＣＡＳライン、３８・・・ＷＲライン、４１，４２・・・信号処理回路、５１・・・フラッシュメモリ。
【図１】
0003761635.tif 000002
【図２】
0003761635.tif 000003
【図３】
0003761635.tif 000004
【図４】
0003761635.tif 000005
【図５】
0003761635.tif 000006
【図６】
0003761635.tif 000007
【図７】
0003761635.tif 000008
【図８】
0003761635.tif 000009
【図９】
0003761635.tif 000010
【図１０】
0003761635.tif 000011
【図１１】
0003761635.tif 000012