(57)【要約】【課題】複数ＣＰＵからのアクセス要求が競合した場合においても低レイテンシのアクセスを実現する。【解決手段】Ｘデコーダ（１２１）の後段には、上記Ｘデコーダの出信号を保持してワードドライバ（１０６）に伝達可能な第１ラッチ回路（１０４）を配置する。Ｙデコーダ（１２２）の後段には、上記Ｙデコーダの出力信号を保持して上記Ｙ選択回路に伝達可能な第２ラッチ回路（１０５）を配置する。センスアンプ（１０８）の後段には、上記センスアンプの出力信号を保持して出力回路（１１１，１１２）に伝達可能な第３ラッチ回路（１１０）を配置する。それにより、上記不揮発性半導体メモリの記憶データの読み出しにおける一連の処理をパイプライン化することができ、複数ＣＰＵからのアクセス要求が競合した場合にも、低レイテンシのアクセスが可能とされる。【選択図】図１
2009123298.tif 000002
【特許請求の範囲】
【請求項１】
第１ＣＰＵ及び上記第１ＣＰＵとは異なる第２ＣＰＵによってアクセス可能な不揮発性半導体メモリを含む半導体集積回路装置であって、
上記不揮発性半導体メモリは、複数のワード線と、
上記複数のワード線に交差するように配置された複数のビット線と、
上記ワード線と上記ビット線とに結合され、それぞれデータを格納可能な複数の不揮発性メモリセルと、
上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたＸアドレス信号をデコードして、上記複数のワード線から１本を選択するためのワード線選択信号を形成するＸデコーダと、
上記Ｘデコーダ回路からのワード線選択信号に基づいて、対応する上記ワード線を選択レベルに駆動するためのワードドライバと、
上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたＹアドレス信号をデコードして、上記複数のビット線から１本を選択するためのビット線選択信号を形成するＹデコーダと、
上記不揮発性メモリセルから上記ビット線に出力された信号を増幅するためのセンスアンプと、
上記Ｙデコーダからのビット線選択信号に基づいて、対応する上記ビット線を選択的に上記センスアンプに接続可能なＹ選択回路と、
上記センスアンプの出力信号を上記第１ＣＰＵ又は上記第２ＣＰＵに出力するための出力回路と、を含み、
上記Ｘデコーダの後段には、上記Ｘデコーダの出信号を保持して上記ワードドライバに伝達可能な第１ラッチ回路が配置され、
上記Ｙデコーダの後段には、上記Ｙデコーダの出力信号を保持して上記Ｙ選択回路に伝達可能な第２ラッチ回路が配置され、
上記センスアンプの後段には、上記センスアンプの出力信号を保持して上記出力回路に伝達可能な第３ラッチ回路が配置されたことを特徴とする半導体集積回路装置。
【請求項２】
上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたアドレス信号におけるＸアドレス信号が上記Ｘデコーダでデコードされた後に、上記第１ラッチ回路により上記ワード線選択信号がラッチされ、上記第１ラッチ回路にラッチされた上記ワード線選択信号に従って、上記ワードドライバにより、上記ワード線が選択レベルに駆動される請求項１記載の半導体集積回路装置。
【請求項３】
上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたアドレス信号におけるＹアドレス信号が上記Ｙデコーダでデコードされた後に、上記第２ラッチ回路により上記ビット線選択信号がラッチされ、上記第２ラッチ回路にラッチされた上記ビット線選択信号に従って、上記Ｙ選択回路により、対応する上記ビット線が選択的に上記センスアンプに結合される請求項１記載の半導体集積回路装置。
【請求項４】
上記不揮発性メモリセルから上記ビット線に出力された信号が上記センスアンプで増幅された後、上記第３ラッチ回路により、上記センスアンプの出力信号がラッチされ、ラッチされた信号が上記出力回路を介して上記第１ＣＰＵ又は上記第２ＣＰＵに出力される請求項１記載の半導体集積回路装置。
【請求項５】
上記第１ＣＰＵから伝達されたアドレス信号におけるＸアドレス信号が上記Ｘデコーダでデコードされ、上記第１ラッチ回路により上記ワード線選択信号がラッチされた後に上記ワードドライバによりワード線が駆動され、このワード線駆動と並行して、第２ＣＰＵから伝達されたアドレス信号におけるＸアドレス信号が上記Ｘデコーダでデコードされる請求項２記載の半導体集積回路装置。
【請求項６】
上記第１ＣＰＵから伝達されたアドレス信号におけるＹアドレス信号が上記Ｙデコーダでデコードされ、上記第２ラッチ回路により上記ビット線選択信号がラッチされた後に、上記Ｙ選択回路により、対応する上記ビット線が選択的に上記センスアンプに結合され、このビット線とセンスアンプとの結合と並行して、上記第２ＣＰＵから伝達されたアドレス信号におけるＹアドレス信号が上記Ｙデコーダでデコードされる請求項３記載の半導体集積回路装置。
【請求項７】
上記第１ＣＰＵから伝達されたアドレス信号のデコード結果に従って読み出されたデータが上記第３ラッチ回路でラッチされた後に、上記出力回路から第１ＣＰＵへのデータ出力と並行して、第２ＣＰＵから伝達されたアドレス信号のデコード結果のラッチ、上記ワード線の駆動、上記ビット線と上記センスアンプとの結合、及び上記センスアンプによる信号増幅が行われる請求項４記載の半導体集積回路装置。
【請求項８】
上記不揮発性半導体メモリは、上記第１ＣＰＵからのアドレス信号取り込みを可能とする第１ポートと、
上記第１ポートを介して取り込まれたアドレス信号を保持可能な第１アドレスラッチと、
上記第２ＣＰＵからアドレス信号の取り込みを可能とする第２ポートと、
上記第２ポートを介して取り込まれたアドレス信号を保持可能な第２アドレスラッチと、
上記第１アドレスラッチに保持されているアドレス信号のデコードが完了された後に、上記第２アドレスタッチに保持されているアドレス信号のデコードを開始させるための制御信号を形成する制御回路と、を含む請求項１記載の半導体集積回路装置。
【請求項９】
上記不揮発性半導体メモリは、上記第１ＣＰＵから伝達されたアドレス信号のデコード結果に従って読み出されたデータが上記第３ラッチ回路でラッチされた後に、上記出力回路から第１ＣＰＵへのデータ出力と並行して、第２ＣＰＵから伝達されたアドレス信号のデコード結果のラッチ、上記ワード線の駆動、上記ビット線と上記センスアンプとの結合、及び上記センスアンプによる信号増幅を行うための制御信号を形成する制御回路を含む請求項７記載の半導体集積回路装置。
【請求項１０】
上記第１ＣＰＵと、上記第２ＣＰＵと、上記不揮発性半導体メモリとが一つの半導体基板に形成された請求項１記載の半導体集積回路装置。
【請求項１１】
上記第１ＣＰＵ及び上記第２ＣＰＵと、上記不揮発性半導体メモリとの間には、上記第１ＣＰＵと上記第２ＣＰＵとによって共有される共有アドレスバスと、
上記第１ＣＰＵによる上記共有アドレスバスの使用権と、上記第２ＣＰＵによる上記共有アドレスバスの使用権と競合を調停するための調停回路と、が配置される請求項１０記載の半導体集積回路装置。
【請求項１２】
上記第１ＣＰＵ及び上記第２ＣＰＵと、上記不揮発性半導体メモリとの間には、上記第１ＣＰＵと上記第２ＣＰＵとによって共有され、バスクロック信号の立ち上がり及び立ち下がりの両エッジに同期して駆動される共有アドレスバスと、
上記第１ＣＰＵ及び上記第２ＣＰＵから出力されたアドレス信号を上記バスクロック信号に等しい周波数で多重化し、上記共有アドレスバスを介して上記不揮発性半導体メモリに送出するためのアドレス選択回路と、が配置される請求項１０記載の半導体集積回路装置。
【請求項１３】
上記不揮発性半導体メモリからの読み出しデータを上記第１ＣＰＵに伝達するための第１データバスと、
上記不揮発性半導体メモリからの読み出しデータを上記第２ＣＰＵに伝達するための第２データバスと、を含み、
上記不揮発性半導体メモリから上記第１ＣＰＵへのデータ伝達と、上記不揮発性半導体メモリから上記第２ＣＰＵへのデータ伝達とが並行して行われる請求項１０記載の半導体集積回路装置。
【請求項１４】
上記不揮発性半導体メモリと上記第１ＣＰＵとの間には、上記不揮発性半導体メモリから出力されたデータを順次取り込んで、それを取り込み順に上記第１ＣＰＵに出力可能な第１バッファメモリが配置され、
上記不揮発性半導体メモリと上記第２ＣＰＵとの間には、上記不揮発性半導体メモリから出力されたデータを順次取り込んで、それを取り込み順に上記第２ＣＰＵに出力可能な第２バッファメモリが配置される請求項１３記載の半導体集積回路装置。
【請求項１５】
上記第１ＣＰＵと上記第２ＣＰＵとによって共有されるデータバスと、
上記不揮発性半導体メモリから上記バスを介して出力されたデータを順次取り込んで、それを取り込み順に単一のバスクロックサイクル内で上記第１ＣＰＵ及び上記第２ＣＰＵに出力可能なバッファメモリと、が配置される請求項１０記載の半導体集積回路装置。
【請求項１６】
上記不揮発性メモリセルは、半導体基板とメモリゲートとの間に、シリコン酸化膜、シリコン窒化膜、シリコン酸化膜の積層膜が配置されて成る請求項１記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵ（中央処理装置）によってアクセス可能な不揮発性半導体メモリを含む半導体集積回路装置に関し、例えばマルチプロセッサシステムに適用して有効な技術に関する。
【背景技術】
【０００２】
システムＬＳＩやマイクロコントローラの分野では、クロック周波数向上による消費電力増加を抑制しつつ性能を向上するために、複数ＣＰＵをチップ内に実装するマルチコア化が進展している。これに伴い、ＬＳＩ設計上、各ＣＰＵに専用のメモリを設けるのか、あるいは同一のメモリを複数ＣＰＵで共有するのか、といった選択が迫られる。
【０００３】
各ＣＰＵにそれぞれ専用のメモリを設けてＣＰＵとメモリを高速バスで接続するメモリ非共有型の場合、各ＣＰＵは別々のプログラムを実行し、メモリアクセスや高速バス上のデータ転送が互いに競合しない。このため、並列度が高いプログラムを高速に実行できるという利点がある。しかしながらメモリ非共有型では、ＬＳＩ全体として扱うプログラム、データを各メモリに分散して格納するため、限られたメモリ容量を有効利用できず未使用のメモリ領域が発生しやすいと考えられる。
【０００４】
一方で、複数ＣＰＵで同一メモリを共有するメモリ共有型の場合、メモリ領域を有効に使用することができる反面、各ＣＰＵからの共有メモリへのアクセス競合、バスのデータ転送上の競合が発生しやすいと考えられる。このため、チップ内データ転送上のレイテンシ増大による性能劣化が懸念される。
【０００５】
このため、特許文献１において提案されているように、メモリ共有型としてメモリ領域を有効に活用しながら、メモリアクセス、バスの競合によるレイテンシを低減することが必要となる。
【０００６】
【特許文献１】特開２００１−３０６３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
マルチプロセッサシステムにおいては、初期診断プログラム(ファームウェア：ＦＷ)によるシステム立上げ初期診断実行時、複数のモジュール上のＣＰＵが同時に診断モジュールの同一不揮発メモリ上の診断プログラムを読出すことになり、性能が低下する。
【０００８】
特許文献１ではＦＷ実行時のメモリアクセス、システム共有バス競合を低減するため、各プロセッサモジュール上にもＦＲＯＭ（スレーブ不揮発性ＲＯＭ）を配置し、ＦＷを予め各プロセッサモジュール内のＦＲＯＭに保存しておく。これによりＣＰＵと診断プログラムの論理的／物理的な距離を近くして、初期診断処理の高速化、システム立上げ時間の短縮を行う。ここで、ＦＷ自体の正当性がチェックされたプログラムをマスタープログラムとし、各プロセッサモジュール内ＦＲＯＭ上のＦＷを実行する前に、これらと診断モジュール内ＦＲＯＭ上ＦＷの比較チェックを行う。具体的には診断実行前に診断モジュールＳＶＰ内ＦＲＯＭ上ＦＷと各プロセッサモジュール内ＦＲＯＭ上ＦＷとのバージョンを比較し、より新しいバージョンのＦＷが格納された不揮発メモリをマスタＲＯＭとしてアドレス空間に配置する。バージョン比較判断処理はたかだか数バイトのデータを比較するだけで済み、アクセス速度の遅い診断経路を介しての命令フェッチ回数を減らすことができる。
【０００９】
これにより、各プロセッサモジュール内ＦＲＯＭ上のＦＷの正当性がチェックされない場合は別途ＦＷ更新処理が必要となるが、正当性がチェックされれば各プロセッサモジュール内でＣＰＵやキャッシュメモリ診断を並列に、システム共有バスや診断経路を介することなく高速に行える。
【００１０】
しかしながら、マルチコアの制御用マイクロコントローラ等の場合、不揮発メモリの用途は初期診断にとどまらない。メモリ共有型のマルチコア制御用マイクロコントローラの場合、制御用のユーザプログラム及びデータはオンチップ不揮発メモリに格納され、これを複数のＣＰＵが読出すという用途になる。各ＣＰＵによる不揮発メモリからの命令フェッチ、命令デコードと命令実行がユーザプログラム実行の基本処理となる。さらに命令の種類によっては不揮発メモリからＣＰＵ内レジスタへのデータ読み出しも頻繁に行われる。このため、システム立上げだけでなく、通常の動作として不揮発性半導体メモリ読み出しを高速化する必要がある。
【００１１】
そして、制御用マイクロコントローラでは高性能、高信頼と同時に低コストが要求される。特許文献１のように、各ＣＰＵから読み出し可能な共有不揮発性半導体メモリの他に各ＣＰＵ別にも専用の不揮発メモリを配置することは、制御用マイクロコントローラの分野ではチップ面積、コストの点から得策ではない。制御用マイクロコントローラにおいて高性能と低コストを両立するためには、メモリ共有型の構造をとりつつも、複数ＣＰＵからの読み出し要求が競合した場合でも高速で読出せるような不揮発性半導体メモリの技術が必須となる。
【００１２】
一般的には、不揮発性半導体メモリとＣＰＵの間に高速のキャッシュメモリを配置し、メモリ階層化により高速化する手段が採られることが多い。しかしながら、自動車制御のようにとくに高信頼が要求される分野では、ピーク性能だけでなく、キャッシュヒット率が低い場合のワーストケースに近い性能をも確保することが要求される。このような点から、不揮発性半導体メモリ自体の速度向上は本質的な課題である。
【００１３】
本発明の目的は、複数ＣＰＵからのアクセス要求が競合した場合においても低レイテンシのアクセスを実現するための技術を提供することにある。
【００１４】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１６】
すなわち、Ｘデコーダの後段には、上記Ｘデコーダの出力信号を保持してワードドライバに伝達可能な第１ラッチ回路を配置し、Ｙデコーダの後段には、上記Ｙデコーダの出力信号を保持して上記Ｙ選択回路に伝達可能な第２ラッチ回路を配置し、センスアンプの後段には、上記センスアンプの出力信号を保持して出力回路に伝達可能な第３ラッチ回路を配置する。上記の構成によれば、上記不揮発性半導体メモリの記憶データの読み出しにおける一連の処理をパイプライン化することができ、複数ＣＰＵからのアクセス要求が競合した場合にも、低レイテンシのアクセスが可能とされる。
【発明の効果】
【００１７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１８】
すなわち、複数ＣＰＵからのアクセス要求が競合した場合においても低レイテンシのアクセスを実現することができる。
【発明を実施するための最良の形態】
【００１９】
１．代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２０】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路装置（１０）は、第１ＣＰＵ（ＣＰＵ０）及び上記第１ＣＰＵとは異なる第２ＣＰＵ（ＣＰＵ１）によってアクセス可能な不揮発性半導体メモリ（１００）を含む。上記不揮発性半導体メモリは、複数のワード線（ＷＬ）と、上記複数のワード線に交差するように配置された複数のビット線（ＢＬ）と、上記ワード線と上記ビット線とに結合され、それぞれデータを格納可能な複数の不揮発性メモリセル（ＭＣ）とを含む。また、上記不揮発性半導体メモリは、上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたＸアドレス信号をデコードして、上記複数のワード線から１本を選択するためのワード線選択信号を形成するＸデコーダ（１２１）と、上記Ｘデコーダ回路からのワード線選択信号に基づいて、対応する上記ワード線を選択レベルに駆動するためのワードドライバ（１０６）とを含む。さらに上記不揮発性半導体メモリは、上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたＹアドレス信号をデコードして、上記複数のビット線から１本を選択するためのビット線選択信号を形成するＹデコーダ（１２２）と、上記不揮発性メモリセルから上記ビット線に出力された信号を増幅するためのセンスアンプ（１０８）と、上記Ｙデコーダからのビット線選択信号に基づいて、対応する上記ビット線を選択的に上記センスアンプに接続可能なＹ選択回路（１０７）と、上記センスアンプの出力信号を上記第１ＣＰＵ又は上記第２ＣＰＵに出力するための出力回路（１１１，１１２）とを含む。上記Ｘデコーダの後段には、上記Ｘデコーダの出信号を保持して上記ワードドライバに伝達可能な第１ラッチ回路（１０４）が配置される。上記Ｙデコーダの後段には、上記Ｙデコーダの出力信号を保持して上記Ｙ選択回路に伝達可能な第２ラッチ回路（１０５）が配置される。上記センスアンプの後段には、上記センスアンプの出力信号を保持して上記出力回路に伝達可能な第３ラッチ回路（１１０）が配置される。
【００２１】
上記の構成によれば、上記不揮発性半導体メモリの記憶データの読み出しにおける一連の処理をパイプライン化することができ、このことが、複数ＣＰＵからのアクセス要求が競合した場合にも低レイテンシのアクセスを可能とする。
【００２２】
〔２〕上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたアドレス信号におけるＸアドレス信号が上記Ｘデコーダでデコードされた後に、上記第１ラッチ回路により上記ワード線選択信号がラッチされ、上記第１ラッチ回路にラッチされた上記ワード線選択信号に従って、上記ワードドライバにより、上記ワード線が選択レベルに駆動される。
【００２３】
〔３〕上記第１ＣＰＵ又は上記第２ＣＰＵから伝達されたアドレス信号におけるＹアドレス信号が上記Ｙデコーダでデコードされた後に、上記第２ラッチ回路により上記ビット線選択信号がラッチされ、上記第２ラッチ回路にラッチされた上記ビット線選択信号に従って、上記Ｙ選択回路により、対応する上記ビット線が選択的に上記センスアンプに結合される。
【００２４】
〔４〕上記不揮発性メモリセルから上記ビット線に出力された信号が上記センスアンプで増幅された後、上記第３ラッチ回路により、上記センスアンプの出力信号がラッチされ、ラッチされた信号が上記出力回路を介して上記第１ＣＰＵ又は上記第２ＣＰＵに出力される。
【００２５】
〔５〕上記第１ＣＰＵから伝達されたアドレス信号におけるＸアドレス信号が上記Ｘデコーダでデコードされ、上記第１ラッチ回路により上記ワード線選択信号がラッチされた後に上記ワードドライバによりワード線が駆動され、このワード線駆動と並行して、第２ＣＰＵから伝達されたアドレス信号におけるＸアドレス信号が上記Ｘデコーダでデコードされる。
【００２６】
〔６〕上記第１ＣＰＵから伝達されたアドレス信号におけるＹアドレス信号が上記Ｙデコーダでデコードされ、上記第２ラッチ回路により上記ビット線選択信号がラッチされた後に、上記Ｙ選択回路により、対応する上記ビット線が選択的に上記センスアンプに結合され、このビット線とセンスアンプとの結合と並行して、上記第２ＣＰＵから伝達されたアドレス信号におけるＹアドレス信号が上記Ｙデコーダでデコードされる。
【００２７】
〔７〕上記第１ＣＰＵから伝達されたアドレス信号のデコード結果に従って読み出されたデータが上記第３ラッチ回路でラッチされた後に、上記出力回路から第１ＣＰＵへのデータ出力と並行して、第２ＣＰＵから伝達されたアドレス信号のデコード結果のラッチ、上記ワード線の駆動、上記ビット線と上記センスアンプとの結合、及び上記センスアンプによる信号増幅が行われる。
【００２８】
〔８〕上記不揮発性半導体メモリには、上記第１ＣＰＵからのアドレス信号取り込みを可能とする第１ポートと、上記第１ポートを介して取り込まれたアドレス信号を保持可能な第１アドレスラッチ（１０１）と、上記第２ＣＰＵからアドレス信号の取り込みを可能とする第２ポートと、上記第２ポートを介して取り込まれたアドレス信号を保持可能な第２アドレスラッチ（１０２）と、上記第１アドレスラッチに保持されているアドレス信号のデコードが完了された後に、上記第２アドレスタッチに保持されているアドレス信号のデコードを開始させるための制御信号を形成する制御回路（１３１）とを設けることができる。
【００２９】
〔９〕上記不揮発性半導体メモリには、上記第１ＣＰＵから伝達されたアドレス信号のデコード結果に従って読み出されたデータが上記第３ラッチ回路でラッチされた後に、上記出力回路から第１ＣＰＵへのデータ出力と並行して、第２ＣＰＵから伝達されたアドレス信号のデコード結果のラッチ、上記ワード線の駆動、上記ビット線と上記センスアンプとの結合、及び上記センスアンプによる信号増幅を行うための制御信号を形成する制御回路（１３１）を設けることができる。
【００３０】
〔１０〕上記第１ＣＰＵと、上記第２ＣＰＵと、上記不揮発性半導体メモリとは一つの半導体基板に形成することができる。
【００３１】
〔１１〕上記第１ＣＰＵ及び上記第２ＣＰＵと、上記不揮発性半導体メモリとの間には、上記第１ＣＰＵと上記第２ＣＰＵとによって共有される共有アドレスバス（ＣＡＢＵＳ）と、上記第１ＣＰＵによる上記共有アドレスバスの使用権と、上記第２ＣＰＵによる上記共有アドレスバスの使用権と競合を調停するための調停回路（８０１）とを設けることができる。
【００３２】
〔１２〕上記第１ＣＰＵ及び上記第２ＣＰＵと、上記不揮発性半導体メモリとの間には、上記第１ＣＰＵと上記第２ＣＰＵとによって共有され、バスクロック信号の立ち上がり及び立ち下がりの両エッジに同期して駆動され共有アドレスバス（ＣＡＢＵＳ）と、上記第１ＣＰＵ及び上記第２ＣＰＵから出力されたアドレス信号を上記バスクロック信号に等しい周波数で多重化し、上記共有アドレスバスを介して上記不揮発性半導体メモリに送出するためのアドレス選択回路（１００１）とを設けることができる。
【００３３】
〔１３〕上記不揮発性半導体メモリからの読み出しデータを上記第１ＣＰＵに伝達するための第１データバス（ＤＢＵＳ０）と、上記不揮発性半導体メモリからの読み出しデータを上記第２ＣＰＵに伝達するための第２データバス（ＤＢＵＳ１）とを設け、上記不揮発性半導体メモリから上記第１ＣＰＵへのデータ伝達と、上記不揮発性半導体メモリから上記第２ＣＰＵへのデータ伝達とを並行して行うことができる。
【００３４】
〔１４〕上記不揮発性半導体メモリと上記第１ＣＰＵとの間には、上記不揮発性半導体メモリから出力されたデータを順次取り込んで、それを取り込み順に上記第１ＣＰＵに出力可能な第１バッファメモリ（３０３）を配置することができる。上記不揮発性半導体メモリと上記第２ＣＰＵとの間には、上記不揮発性半導体メモリから出力されたデータを順次取り込んで、それを取り込み順に上記第２ＣＰＵに出力可能な第２バッファメモリ（３０４）を配置することができる。
【００３５】
〔１５〕上記第１ＣＰＵと上記第２ＣＰＵとによって共有されるデータバス（ＣＤＢＵＳ）と、上記不揮発性半導体メモリから上記バスを介して出力されたデータを順次取り込んで、それを取り込み順に単一のバスクロックサイクル内で上記第１ＣＰＵ及び上記第２ＣＰＵに出力可能なバッファメモリ（１００７）とを設けることができる。
【００３６】
〔１６〕上記不揮発性メモリセル（ＭＣ）は、半導体基板（ＳＵＢ）とメモリゲート（ＭＧ）との間に、シリコン酸化膜、シリコン窒化膜、シリコン酸化膜の積層膜（ＯＮＯ）が配置されて成るものを適用することができる。
【００３７】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００３８】
＜実施形態１＞
図１８には、本発明にかかる半導体集積回路装置の一例とされるマルチプロセッサシステムが示される。
【００３９】
図１８に示されるマルチプロセッサシステム１０は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
【００４０】
図１８に示されるマルチプロセッサシステム１０は、特に制限されないが、ＣＰＵ０，ＣＰＵ１、入出力（Ｉ／Ｏ）回路２００、及び不揮発性半導体メモリ（ＭＥＭ）１００がシステムバスＢＵＳによって、互いに信号のやり取り可能に結合されている。入出力回路２００は、ローカルバス４００を介して複数の周辺回路（ＰＥＲ）３００に結合される。周辺回路３００には、入力されたアナログ信号をディジタル信号に変換するためのＡ／Ｄ変換器や、時間計測のためのタイマなどが含まれる。上記不揮発性半導体メモリ１００は、ＣＰＵ０，ＣＰＵ１によって共有され、ＣＰＵ０，ＣＰＵ１によってランダムアクセス可能とされる。
【００４１】
図１には、上記不揮発性半導体メモリ１００の構成例が示される。
【００４２】
本例において上記不揮発性半導体メモリ１００は、特に制限されないが、ＭＯＮＯＳ型フラッシュメモリとされ、しかも、アドレスバスとデータバスをＣＰＵ０とＣＰＵ１で独立に持つデュアルポートを有する。すなわち、上記不揮発性半導体メモリ１００は、ポート０とポート１を有し、ポート０は、アドレスバスＡＢＵＳ０及びデータバスＤＢＵＳ０を介してＣＰＵ０に結合され、ポート１は、アドレスバスＡＢＵＳ１及びデータバスＤＢＵＳ１を介してＣＰＵ１に結合される。かかる構成により、バス競合時の調停を行う調停回路回路、ＣＰＵのシングルコア時からの回路変更を不要とする。さらに本例では、アドレスデコードや、選択ワード線ＷＬへの電圧供給と選択ビット線―センスアンプの接続及びデータのセンス、データ出力をパイプライン化して行うことを特徴とする。また、パイプライン動作を実現するために、アドレスのパス、データのパスにラッチが挿入されている。
【００４３】
ＣＰＵ０からのアドレス信号を保持可能なアドレスラッチ（ＡＬＡＣＨ）１０１、ＣＰＵ１からのアドレス信号を保持可能なアドレスラッチ（ＡＬＡＣＨ）１０２が設けられる。アドレスラッチ１０１，１０２の出力信号は後段のアドレス選択回路１０３により選択的に後段回路に伝達されるようになっている。
【００４４】
複数のワード線ＷＬと、複数のビット線ＢＬとが交差するように配置され、その交差箇所にメモリセルＭＣが配置される。メモリセルＭＣは、後に詳述するように不揮発性メモリセルとされ、ワードラインＷＬとビットラインＢＬとに結合され、プログラムやデータの記憶を可能とする。ロウアドレス信号をデコードするＸデコーダ（Ｘ−ＤＥＣ）１２１が設けられる。このＸデコーダ１２１の後段には、上記Ｘデコーダ１２１のデコード結果を保持可能なＸデコードラッチ１０４が配置される。Ｘデコードラッチ１０４の後段には、上記Ｘデコードラッチ１０４に対応して複数の上記ワードドライバ１０６が配置され、このワードドライバ１０６によってワード線ＷＬが選択レベルに駆動される。また、Ｙアドレス信号をデコードするＹデコーダ（Ｙ−ＤＥＣ）１２２が設けられる。このＹデコーダ１２２の後段には、上記Ｙデコーダ１２２のデコード結果を保持可能なＹデコードラッチ１０５が配置される。Ｙデコードラッチ１０５の出力信号は、上記複数のビット線ＢＬを選択するためのＹ選択回路（Ｙ−ＭＵＸ）１０７に伝達され、このＹデコードラッチ１０５の出力信号によって上記Ｙ選択回路１０７の選択動作が制御されるようになっている。上記Ｙ選択回路１０７の後段には、上記Ｙ選択回路１０７の出力信号を検出するためのセンスアンプ１０８が配置される。センスアンプ１０８の後段には、センスアンプ１０８に対応してデータラッチ１０９，１１０が配置される。データラッチ１０９の後段には、バスドライバ（出力回路）１１１が配置され、上記データラッチ１０９の出力信号が対応するバスドライバ１１１を介してＣＰＵ０に伝達されるようになっている。また、データラッチ１１０の後段には、バスドライバ１１２が配置され、上記データラッチ１１０の出力信号が対応するバスドライバ（出力回路）１１２を介してＣＰＵ１に伝達されるようになっている。また、制御回路（ＣＮＴ）１３１が設けられ、この不揮発性半導体メモリ１００における主要部の動作は、この制御回路１３１によって制御される。例えば上記制御回路１３１は、アドレスＭＵＸ制御信号２０１、ＸＹデコードラッチ用取り込み信号２０２、ＣＰＵ０出力側データラッチ用取り込み信号２０３、及びＣＰＵ１出力側データラッチ用取り込み信号２０４などの各種制御信号を生成する。上記アドレスＭＵＸ制御信号２０１によってアドレス選択回路１０３の選択動作が制御される。上記ＸＹデコードラッチ用取り込み信号２０２によって上記Ｘデコードラッチ１０４やＹデコードラッチ１０５の動作が制御される。ＣＰＵ０出力側データラッチ用取り込み信号２０３によって上記データラッチ１０９の動作が制御される。ＣＰＵ１出力側データラッチ用取り込み信号２０４によって上記データラッチ１１０の動作が制御される。
【００４５】
上記の構成によれば、Ｘデコーダ１２１の後段にＸデコードラッチ１０４が設けられ、Ｙデコーダ１２２の後段にＹデコードラッチ１０５が配置され、センスアンプ１０８の後段にデータラッチ１０９，１１０が配置されることにより、記憶データの読み出しにおいてパイプライン動作が可能となり、これにより、ＣＰＵ０からの読み出しとＣＰＵ１からの読み出しが競合しても、読み出しレイテンシを競合が無い場合の２倍未満に抑えることができる。
【００４６】
図１ではＣＰＵ０，ＣＰＵ１のデュアルコア構成の例となっているが、ＣＰＵ数は特に制限されない。ＣＰＵ数がｎのマルチコアにも拡張して適用することで、同時にｎ個のＣＰＵからの読み出しが競合した場合のレイテンシを、競合が無い場合のｎ倍以下に抑えることができる。
【００４７】
図１５には、上記複数のメモリセルＭＣのレイアウト例が示される。
【００４８】
メモリセルＭＣは、メモリゲートＭＧとコントロールゲートＣＧを持つスプリットゲート型のメモリセル構造とされ、ＭＧをゲートとするＭＧ−ＭＯＳとＣＧをゲートとするＣＧ−ＭＯＳを直列接続したセルとみなすことができる。コントロールゲートＣＧがワード線に相当し、読み出し時はこのコントロールゲートＣＧの電圧を上昇させることでＣＧ−ＭＯＳがオンし、ＭＧ−ＭＯＳの閾値電圧Ｖｔｈに応じた電流がビット線ＢＬに流れる。図示されないが、ビット線ＢＬに接続されたセンスアンプにより、ビット線ＢＬに流れる電流が設定した閾値電流より多い、すなわちメモリセルＭＣの閾値（Ｖｔｈ）が低い場合はデータの論理値が“１”とされ、ビット線ＢＬに流れる電流が閾値電流より少ない、すなわちメモリセルの閾値（Ｖｔｈ）が高い場合はデータの論理値が“０”というようにデータ読み出しが行われる。
【００４９】
メモリセルＭＣは、縦２セルのドレインがコンタクトＣＴを共有し、コンタクトＣＴを介してメタル配線のＢＬへと引き上げられる。複数メモリセルＭＣのソースは拡散層ＤＩＦでつながっており、一定間隔でコンタクトＣＴを介してメタル配線のソース線ＳＬへと引き上げられる。すなわち縦方向に並んだメモリセルＭＣはＢＬを共有し、すべてのメモリセルがＳＬを共有するという並列接続のＮＯＲ型アレイとなっている。
【００５０】
図１６には、上記メモリセルＭＣの断面（図１５におけるＡ−Ａ’線切断断面）が示される。半導体基板ＳＵＢに、多結晶シリコンのコントロールゲートＣＧを形成したあと、シリコン酸化膜、シリコン窒化膜、シリコン酸化膜の積層膜（ＯＮＯ積層膜という）を形成し、多結晶シリコンのメモリゲートＭＧを形成して側壁として残すことにより、メモリゲートＭＧ下にＯＮＯ積層膜を形成することができる。シリコン窒化膜は絶縁膜であるが、トラップ性の膜であり、電荷をトラップすることにより多結晶シリコン浮遊ゲート型のフラッシュメモリと同様にＭＧ−ＭＯＳの閾値（Ｖｔｈ）を制御してデータを記憶することができる。書込み、消去後は電荷が絶縁膜中に離散的にトラップされている。このため、低抵抗の浮遊ゲート型のように酸化膜の欠陥を介してトラップされた電荷がすべて消失してしまうということが起こりにくく、電荷の消失を欠陥の近傍のみにとどめることができる。これにより酸化膜を薄膜化することができ、浮遊ゲート型と比較して大きなメモリセル電流が得られる。さらにＣＧ-ＭＯＳでメモリセル電流をカットオフできるため、並列のＮＯＲ型アレイを採りながらもＭＧ−ＭＯＳのＶｔｈを下げてデプリートさせても問題なく動作でき、大きなメモリセル電流が得られる。コントロールＣＧ下のシリコン酸化膜は薄膜化でき、読み出し動作に関わるワードドライバ１０６や、センスアンプ１０８などはすべて低圧系の素子で構成できる。以上のように、この不揮発性半導体メモリ１００は、大きなメモリセル電流と低圧系の読み出し回路構成により、高速な読み出しが可能となる。
【００５１】
図１７には、上記メモリセルＭＣの読み出し、書込み、及び消去の各動作が示される。
【００５２】
上記メモリセルＭＣからのデータ読み出しは、図１７（Ａ）に示されるように、ドレインＤ及びコントロールゲートＣＧに高電位側電源Ｖｄｄが供給され、メモリゲートＭＧに読み出しのための所定電圧Ｖｍｇ＿ｒｅａｄが供給される。ソースは０Ｖ（グランドレベル）とされる。この状態でソースＳとドレインＤとの間の電流１７１が閾値電流以上か否かを判定することで読み出しが行われる。
【００５３】
上記メモリセルＭＣへのデータ書込みは、図１７（Ｂ）に示されるように、ソースサイドインジェクションにより行われる。ドレインＤに定電流源が接続され、コントロールゲートＣＧ、メモリゲートＭＧ、ソースＳにそれぞれ書込みのための所定電圧Ｖｃｇ＿ｐｒｏｇ、Ｖｍｇ＿ｐｒｏｇ、Ｖｓ＿ｐｒｏｇが供給される。このとき、ソースＳとドレインＤとの間に電流１７２が流れ、この電流１７２の電子をソース−ドレイン間の横方向電界で加速して、高エネルギーを持つホットエレクトロンを発生させる。酸化膜のエネルギー障壁を越えるエネルギーを得たホットエレクトロンは、メモリゲートＭＧの高電圧による縦方向電界により、シリコン酸化膜を通り抜けてシリコン窒化膜にトラップされ、ＭＧからみた閾値Ｖｔｈが上昇する。このようにしてデータ書込みが行われる。
【００５４】
上記メモリセルＭＣのデータ消去は、図１７（Ｃ）に示されるように、バンド間トンネルホットホール注入により行われる。すなわち、ソースＳに正電圧Ｖｓ＿ｅｒａｓｅが印加され、メモリゲートＭＧに負電圧Ｖｍｇ＿ｅｒａｓｅを印加してバンド間トンネルによりホットホールをシリコン窒化膜に注入する。これにより、シリコン窒化膜に電荷の無い状態での初期閾値よりも低い閾値への消去が可能である。
【００５５】
次に、図２に示されるタイミングチャートを参照しながら、上記不揮発性半導体メモリ１００のパイプライン動作を説明する。
【００５６】
不揮発性半導体メモリ１００は、バスクロックＢＣＬＫの立上りエッジで、ＣＰＵ０，ＣＰＵ１が出力したアドレスバスＡＢＵＳ０，ＡＢＵＳ１上のアドレス信号を取り込む。不揮発性半導体メモリ１００は、取り込まれたアドレス信号をデコードして該当アドレスに相当するワード線ＷＬ、ビット線ＢＬを選択し、選択ワード線への電圧供給、選択ビット線ＢＬと、それに対応するセンスアンプ１０８との接続が行われる。センスアンプ１０８により選択メモリセルＭＣからデータが読み出され、そのデータがデータバスＤＢＵＳ０又はＤＢＵＳ１に出力される。この読み出しデータは、バスクロックＢＣＬＫの立上りエッジでＣＰＵ０，ＣＰＵ１に取り込まれる。ＣＰＵ０及びＣＰＵ１の内部もバスクロックＢＣＬＫに同期動作しており、不揮発性半導体メモリ１００とＣＰＵ０，ＣＰＵ１とは互いに同期して動作する。
【００５７】
ＣＰＵ０とＣＰＵ１はそれぞれに独立したプログラムカウンタ、及びレジスタを持ち、同一バスクロックサイクルに不揮発性半導体メモリ１００に対して読み出し要求を行うことがある。このような同時読み出し要求があった場合、不揮発性半導体メモリ１００では、アドレスラッチ１０１とアドレスラッチ１０２とによってＣＰＵ０とＣＰＵ１からのアドレス信号が同一のバスクロック立上りエッジに同期してラッチされる。
【００５８】
図２に示されるように、ＣＰＵ０の要求アドレスがＡ０、ＣＰＵ１の要求アドレスがＡ１であるとする。アドレスラッチ１０１、アドレスラッチ１０２の後段に配置されるアドレス選択回路１０３では、まずアドレスラッチ１０１の出力、すなわちＣＰＵ０からのＡ０が選択され、Ｘデコーダ１２１、Ｙデコーダ１２２へとＡ０、あるいはＡ０のうちＸデコーダ、Ｙデコーダそれぞれに必要なビットだけが送られる。Ｘデコーダ１２１、Ｙデコーダ１２２でアドレスＡ０のデコードが行われ、選択ワード線ＷＬと選択ビット線ＢＬが決定される。
【００５９】
ここで、Ｘデコード時間、Ｙデコード時間のうち、長い方をデコード時間と呼ぶことにする。電源、温度、プロセス変動によりデコード時間はばらつくが、ここではワースト条件でのデコード時間にマージンを加えた時間を図２に示すようにＴ１とする。すなわちＴ１はアドレスラッチ１０１，１０２からＸデコードラッチ１０４又はＹデコードラッチ１２２までのワースト遅延時間＋マージンである。
【００６０】
バスクロックＢＣＬＫの立上りエッジからＴ１経過後のタイミングで、アドレスＭＵＸ制御信号２０１により、アドレスラッチ１０２側が選択される。さらに、同様のタイミングでＸデコードラッチ１０４、Ｙデコードラッチ１０５のデータ取り込み信号２０２がアサートされる。特に制限されないが、Ｘデコードラッチ１０４及びＹデコードラッチ１０５をエッジトリガ型のＤ−フリップフロップとすれば、スルー型のラッチを使用する場合よりもタイミング設計を緩和できる。これらラッチの機能として、取り込み信号の立ち上がりエッジで入力をラッチして内容、出力を更新する。
【００６１】
上記Ｔ１直後に、ワードドライバ１０６は、Ｘデコードラッチ１０４の内容に従い、Ｙ選択回路１０７は、Ｙデコードラッチ１０５の内容に従い、それぞれ選択ワード線ＷＬへの電圧供給と、選択ビット線ＢＬとセンスアンプ１０８との接続を行う。その後センスアンプ１０８は、選択ビット線ＢＬの電圧から、データ０／１を判定する。これらのメモリアレイ内動作と並行して、アドレス選択回路１０３の制御信号２０１の切り替えをトリガとしてＡ１のデコードが開始される。
【００６２】
ここで、選択ワード線ＷＬの立ち上げ、選択ビット線ＢＬとセンスアンプ１０８との接続、及びセンスアンプ１０８による読み出しデータ確定に要するワースト時間＋マージンを、図２に示されるようにＴ２とする。
【００６３】
バスクロックＢＣＬＫの立上りエッジからＴ１＋Ｔ２後、ＣＰＵ０出力側データラッチ１０９のデータ取り込み信号２０３を立上げ、アドレスＡ０に格納されているデータＤ０をデータラッチ１０９に取り込む。データラッチ１０９は、特に制限されないが、ポジティブエッジトリガのＤ−フリップフロップで実現できる。これと同様のタイミングで、Ｘデコードラッチ１０４及びＹデコードラッチ１０５の取り込み信号２０２を立ち上げ、Ａ１のデコード結果をワードドライバ１０６及びＹ選択回路１０７に出力する。
【００６４】
上記のＴ１＋Ｔ２直後、バスドライバ１１１によるデータバス駆動が開始され、Ｄ０がＣＰＵ０に出力される。同時にＡ１のデコード結果に基いてワードドライバ１０６による選択ワード線立上げ、選択ビット線とセンスアンプ(108)の接続が開始され、センスアンプによるＤ１データ読み出しを行う。ここで、データラッチ１０９からバスドライバ１１１を介してデータＤ０がＣＰＵ０に到達するまでのワースト遅延時間をＴ３とする。
【００６５】
バスクロックＢＣＬＫの立上りエッジから「Ｔ１＋Ｔ２＋Ｔ３」後にＣＰＵ０へデータＤ０の送出が完了する。一方、バスクロックＢＣＬＫの立上がりエッジから「Ｔ１＋Ｔ２＋Ｔ２」後にはＤ１が確定しているため、ここでＣＰＵ１側のデータラッチ１１０の取り込み信号２０４を立上げてＤ１を取り込む。データラッチ１１０も、特に制限されないがデータラッチ１０９と同様にポジティブエッジトリガのＤ−フリップフロップで実現できる。その後バスドライバ１１２を介してデータＤ１がＣＰＵ１に出力される。すなわち、バスクロック立上りエッジから「Ｔ１＋Ｔ２＋Ｔ２＋Ｔ３」後にＣＰＵ１へデータＤ１の送出が完了する。
【００６６】
尚、Ｔ１、Ｔ２、Ｔ３のタイミングは、バスクロックＢＣＬＫを基準として遅延回路により作成できる。複数の遅延回路を用意し、バスクロックを遅延させた信号どうしでＡＮＤなどの論理を取ることで任意のパルス波形を実現可能である。
【００６７】
上記の例によれば、以下の作用効果を得ることができる。
【００６８】
（１）クロックサイクルをＴＣＬＫとしたとき、「Ｔ１＋２Ｔ２＋Ｔ３＜ＴＣＬＫ」に設計できれば、１ＴＣＬＫ内に２ＣＰＵからの読み出し要求を同時に受け付けてデータを出力することが可能となる。よって、アドレスをラッチするバスクロック立上りエッジから１ＴＣＬＫ遅れた立上りエッジで、ＣＰＵへのデータ取り込みを行うことができる。仮にこのような不揮発性半導体メモリ読み出し動作のパイプライン化を行わなかった場合、「Ｔ１＋２Ｔ２＋Ｔ３＜ＴＣＬＫ」であったとしてもＤ０読み出しに１ＴＣＬＫ、Ｄ１読み出しに１ＴＣＬＫかかるため、ＣＰＵ１にとっては読み出しレイテンシは２ＴＣＬＫとなる。これに対し、パイプライン化を行うことで、「Ｔ１＋２Ｔ２＋Ｔ３＜ＴＣＬＫ」に設計しさえすれば、ＣＰＵ０、ＣＰＵ１の両方にとって１ＴＣＬＫの読み出しレイテンシの実現が可能となる。
【００６９】
（２）上記（１）の作用効果により、マルチプロセッサシステムの性能向上を図ることができる。
【００７０】
（３）ＭＯＮＯＳ型スプリットゲートメモリセルＭＣを含む不揮発性半導体メモリ１００は、大きなメモリセル電流と低圧系の読み出し回路構成により、高速な読み出しが可能となる。このような構成は、アドレスデコード時間、データバス駆動遅延時間と同等のワード線立上げ時間やセンスアンプ読み出し時間を実現できるメモリセル、メモリセルアレイに関して有効であり、以上の点からＭＯＮＯＳ型スプリットゲートメモリセルＭＣを含む不揮発性半導体メモリ１００は、本発明を実施する対象として好適である。
【００７１】
＜実施形態２＞
図３には、上記マルチプロセッサシステム１０の別の構成例が示される。図３に示される不揮発性半導体メモリ１００が図１に示されるのと大きく相違するのは、アドレスバスＡＢＵＳ、データバスＤＢＵＳ２ｂｉｔ構成の先入れ先出しバッファ（２ｂｉｔＦＩＦＯ）３０３，３０４が設けられている点である。この２ｂｉｔＦＩＦＯ３０３，３０４の動作は、制御回路１３１によって生成された２ｂｉｔＦＩＦＯ取り込み信号４０１によって制御される。
【００７２】
上記実施形態１においては、不揮発性半導体メモリの読み出しが図２に定義するＴＣＬＫ及びＴ１からＴ３を用いて、Ｔ１＋２Ｔ２＋Ｔ３＜ＴＣＬＫを満たす必要があった。しかしながら、一般的にＣＰＵとメモリ全般の速度差は年々広がる傾向にある。このため、それほど性能が要求されず、ＣＰＵのクロックが高々数十ＭＨｚであるような場合を除いて上記の制約を満たすことは難しい。
【００７３】
そこで、図３に示される構成では、以下のように不揮発性半導体メモリ１００の読み出しレイテンシが緩和されている。
【００７４】
図４には、図３に示される構成における動作タイミングチャートが示される。この例では「１ＴＣＬＫ＜Ｔ１＋Ｔ２＋Ｔ３＜２ＴＣＬＫ」であるから、同期式不揮発性半導体メモリ１００単体の性能としては読み出しレイテンシは２ＴＣＬＫである。このため、不揮発性半導体メモリ１００における読み出し動作のパイプライン化を行わない場合は、ＣＰＵ０，ＣＰＵ１の読み出し競合時の読み出しレイテンシは４ＴＣＬＫになってしまう。ここで、図４のようにデコード、ワード線ＷＬの選択と読み出し、データ出力の３段パイプライン化を行い、かつ「Ｔ１＋２Ｔ２＋Ｔ３＜２ＴＣＬＫ」を満たすことで、ＣＰＵ０とＣＰＵ１との両方にとって２ＴＣＬＫレイテンシでの読み出しが可能となる。
【００７５】
図４における２回目のバスクロック立上りエッジのタイミングにおいて、Ｄ０の出力とＡ１デコード結果に基づいた読み出しが行われているが、デコーダはＡ０、Ａ１のアドレスデコードを既に終えているため、次のアドレスを受け付けてデコードを開始することが可能である。２回目のバスクロックＢＣＬＫの立上りエッジでＣＰＵ０からのＡ２とＣＰＵ１からのＡ３を、アドレスラッチ３０１とアドレスラッチ３０２とに取り込み、以降はＡ０、Ａ１を受けた場合と同様のパイプライン動作を行う。
【００７６】
ここで、Ａ１ワード線立上げ及び読み出しの終了がＡ２デコード終了より早ければ、Ａ２デコードとＡ２ワード線立上げ及び読み出しの間に無駄な待ち時間がなくなる。このため、Ａ２、Ａ３に対する読み出し動作は完全にＡ０、Ａ１に対するそれと同様となり、各読み出しのレイテンシは２ＴＣＬＫであるにもかかわらず、ＴＣＬＫ周期で連続して２アドレスを受け付け、２データを出力するというＣＰＵと同周波数の動作が可能となる。このときの条件は、次式によって示される。
Ｔ１＋２Ｔ２＜ＴＣＬＫ＋Ｔ１
∴２Ｔ２＜ＴＣＬＫ
よって、「Ｔ１＋Ｔ３＜ＴＣＬＫ」、かつ「２Ｔ２＜ＴＣＬＫ」を満たすことが、ＴＣＬＫ周期でアドレスを受け付けてＴＣＬＫ周期でデータを出力するための条件となる。ただし上記の条件を満たしても、図４に示されるように、Ｄ０を３回目のバスクロック立上りエッジでＣＰＵ０に取り込もうとしたときは、既にＣＰＵ０のデータバス上はＤ２が駆動されている。このような上書きを防ぐためには、ＣＰＵ０及びＣＰＵ１側で何らかのバッファメモリが必要となる。具体的には、図３に示されるように、２ｂｉｔ以上の構成を有するＦＩＦＯ３０３，３０４を用意すればよい。例えば２ｂｉｔＦＩＦＯ３０３，３０４は、２本のラッチ列が設けられ、この２本のラッチ列に交互に不揮発性半導体メモリ１００からデータが書き込まれ、そのデータが、書き込まれた順に交互にＣＰＵ０，ＣＰＵ１に出力される。２ｂｉｔＦＩＦＯ３０３，３０４への書込みタイミングは、データバスに出力されたデータがＦＩＦＯの入力部に到達した後、かつ次のデータがデータバスの駆動を開始する前のタイミングであればよく、そのための２ｂｉｔＦＩＦＯ取り込み信号４０１は、制御回路１３１において、バスクロックＢＣＬＫのエッジ基準で適宜の遅延回路により信号遅延を行うことによって、図４に示されるタイミングでハイレベルにアサートされるように作成される。
【００７７】
以上より、図３の各データバスのＣＰＵ側に２ｂｉｔＦＩＦＯ３０３，３０４を配置したシステム構成、及び図４に示される「Ｔ１＋Ｔ３＜ＴＣＬＫ」かつ「２Ｔ２＜ＴＣＬＫ」の条件より、読み出しレイテンシは２ＴＣＬＫであるが、図１、２に示される実施形態１と同じスループットを確保することが可能となる。
【００７８】
＜実施形態３＞
図５には、上記マルチプロセッサシステム１０の別の構成例が示される。
【００７９】
図５に示されるのが、図３に示されるのと大きく相違するのは、ＣＰＵ０、ＣＰＵ１と不揮発性半導体メモリ１００との間にそれぞれキャッシュメモリ（ＣＭＥＭ）５０１，５０２が配置されることで、読み出しレイテンシが改善されている点である。
【００８０】
第２実施形態では、毎クロックサイクルでのアドレス受け付けとデータ出力が可能な点で、スループットは十分である。しかしながら読み出しレイテンシは２ＴＣＬＫであり、２ＣＰＵの読み出し競合時のレイテンシを半減する効果はあるものの、１回の読み出しのレイテンシを１ＴＣＬＫにまで縮めることはできない。
【００８１】
そこで、図５に示されるように、高速なキャッシュメモリ５０１，５０２をＣＰＵ０、ＣＰＵ１と不揮発性半導体メモリ１００との間に挿入する。キャッシュメモリ５０１，５０２は、１ＴＣＬＫのレイテンシでヒット判定及び読み出しが可能な性能を有する。そのようなキャッシュメモリ５０１，５０２は、特に制限されないが、スタティック型のＲＡＭ（ランダム・アクセス・メモリ）やフリップフロップ等の高速なメモリで構成することができる。
【００８２】
ＣＰＵ０とＣＰＵ１は、それぞれキャッシュメモリ５０１、キャッシュメモリ５０２にアドレス信号を出力する。キャッシュメモリ５０１，５０２は、ＣＰＵ０，ＣＰＵ１から送られてきたアドレス信号に対応するデータが自らのメモリ内に記憶されているかを、タグデータをもとに判定する。該当アドレスに対応するデータがキャッシュメモリ内にあれば、キャッシュヒットとなり、キャッシュメモリ５０１，５０２が該当アドレスに対応するデータをそれぞれＣＰＵ０，ＣＰＵ１に出力する。該当アドレスに対応するデータがキャッシュメモリ内に無ければ、キャッシュミスとなり、キャッシュメモリ５０１，５０２は、不揮発性半導体メモリ１００にアドレスを渡してデータを読み出し、当該データのＣＰＵ０，ＣＰＵ１への出力、及びキャッシュメモリ５０１，５０２内への書込みを行う。
【００８３】
このように、キャッシュヒット時は１ＴＣＬＫ、キャッシュミス時は２ＴＣＬＫの読み出しレイテンシとなり、キャッシュメモリ分のチップ面積、コスト増加があるものの、ピーク性能を向上できる利点がある。尚、不揮発性半導体メモリ１００の読み出し動作のパイプライン化は、ＣＰＵ０、ＣＰＵ１ともにキャッシュミスした場合に効果を発揮し、キャッシュヒット率はキャッシュメモリの構成、容量、ユーザプログラムに依存する。
【００８４】
＜実施形態４＞
図６には、上記マルチプロセッサシステム１０の別の構成例が示される。
【００８５】
図６に示されるマルチプロセッサシステム１０は、上記実施形態３と同様に、ＣＰＵ０、ＣＰＵ１と、不揮発性半導体メモリ１００の間にそれぞれキャッシュメモリ５０１，５０２を具備する。図５に示される実施形態３との差異は、不揮発性半導体メモリ１００とキャッシュメモリ５０１，５０２との間のデータバスＤＢＵＳ０，ＤＢＵＳ１の幅を十分確保し、連続キャッシュミスの確率を下げることにより、実施形態３に比べて大幅な性能の低下無しに不揮発性半導体メモリ１００の速度を緩和している点である。
【００８６】
図６に示すように、不揮発性半導体メモリ１００とキャッシュメモリ５０１，５０２との間のデータバスＤＢＵＳ０，ＤＢＵＳ１の幅をＮｂｉｔ、キャッシュメモリ５０１，５０２と、ＣＰＵ０，１との間のデータバスＤＢＵＳ０１，ＤＢＵＳ１１の幅をそれぞれＭｂｉｔとする。ＮがＭに対して十分に大きい場合には、キャッシュミス時に１回の読み出しで、より多くのデータを不揮発性半導体メモリ１００から読み出してキャッシュメモリ５０１，５０２に書き込むことが可能となる。このため、キャッシュメモリ５０１，５０２の容量が十分に確保されれば、ＮをＭに対して十分大きくすることで、連続してキャッシュミスが起こる確率は低くなると考えられる。すなわち、Ｎが十分大きい場合は、図４において、２回目の読み出し以降も毎クロックサイクルのアドレス受け付けとデータ出力を行う効果が薄れると考えられる。それによって、Ｎを大きくして不揮発性半導体メモリ１００からの読み出し速度を緩和することができる。Ｎの増加は、センスアンプ１０８の数を増やしてＹ選択回路１０７の入力を減らし、１個のセンスアンプ１０８あたりのビット線本数を減らすことで可能である。
【００８７】
図７には、図６に示される構成の動作タイミングが示される。図７に示される例は、１回目のバスクロックでＣＰＵ０、ＣＰＵ１ともにキャッシュミスとなり不揮発性半導体メモリからの読み出しを２ＴＣＬＫかけて行うが、３回目のバスクロックではキャッシュヒットした、というケースである。
【００８８】
仮にアドレスＡ０、Ａ１に続いてアドレスＡ２、Ａ３もキャッシュミスとなった場合は、データＤ２、Ｄ３の出力は、図７の例よりも１ＴＣＬＫ遅れることになる。ただしＮを十分大きくしてあるため、このような連続キャッシュミスとなる確率は低い。これにより、ＮをＭに対して十分大きくすることで、実施形態３に比べて性能を大きく損なわずに不揮発性半導体メモリ１００の読み出し速度を以下のように緩和できると考えられる。
【００８９】
実施形態３は実施形態２にキャッシュメモリ５０１，５０２を挿入しただけなので、不揮発性半導体メモリ１００の読み出し速度の条件は、実施形態２の場合と同様に、「Ｔ１＋２Ｔ２＋Ｔ３＜２ＴＣＬＫ」、かつ、「２Ｔ２＜ＴＣＬＫ」であるが、本実施形態の場合には、「Ｔ１＋２Ｔ２＋Ｔ３＜２ＴＣＬＫ」のみに緩和可能である。また、実施形態２で述べたようなデータバス上でのデータの上書きも無いため、図３、５に示される２ｂｉｔＦＩＦＯ３０３，３０４は不要となる。
【００９０】
＜実施形態５＞
図８には、上記マルチプロセッサシステム１０の別の構成例が示される。
【００９１】
図８に示されるのは、アドレスバス、データバス配線本数を低減し、チップ面積を低減した例である。実施形態２，３，４においては、ＣＰＵ０、ＣＰＵ１それぞれに独立したアドレスバスとデータバスを持っていたが、これらをＣＰＵ０とＣＰＵ１で共有することにより、長いバス配線の本数を低減し、チップ面積を削減できる。すなわち、共有アドレスバスＣＡＢＵＳ、共有データバスＣＤＢＵＳが設けられ、それらがＣＰＵ０とＣＰＵ１とで共有される。また、ＣＰＵ０によるバス使用権と、ＣＰＵ１によるバス使用権と競合を調停するための調停回路（ＡＲＢ）８０１が設けられる。
【００９２】
ＣＰＵ０とＣＰＵ１ともにキャッシュミスとなり、同時に不揮発性半導体メモリに読み出し要求を出した場合に、調停回路８０１がどちらかのＣＰＵに共有アドレスバスＣＡＢＵＳの占有権を与え、他方のＣＰＵに共有アドレスバスＣＡＢＵＳがビジー状態であることを伝える。
【００９３】
図９には、図８に対応する構成の動作タイミングが示される。
【００９４】
ここではＣＰＵ０、ＣＰＵ１ともにキャッシュミスとなり、同時に不揮発性半導体メモリに読み出し要求を出した場合を想定している。図示されないが、調停回路８０１は、ＣＰＵ０にアドレスバス権を与えＡ０を不揮発性半導体メモリに送出する一方で、ＣＰＵ１に共有アドレスバスＣＡＢＵＳがビジー状態であり、１ＴＣＬＫだけ待つ必要があることを伝える。不揮発性半導体メモリ１００は、アドレスＡ０についての読み出しを行い、共有データバスＣＢＵＳと調停回路８０１を介してデータＤ０をＣＰＵ０に出力する。ＣＰＵ０は、アドレスＡ０についてのデータ読み出し要求から２ＴＣＬＫだけ遅れて、バスクロックＢＣＬＫの立上りエッジでデータＤ０を取り込む。ＣＰＵ０のアドレスＡ０についてのデータ要求から１ＴＣＬＫだけ遅れて調停回路８０１はアドレスＡ１を不揮発性半導体メモリ１００に送出し、不揮発性半導体メモリ１００は、データＤ０の読み出しと並行して、アドレスＡ１のデコードを開始する。アドレスＡ１が不揮発性半導体メモリ１００に送出されてから２ＴＣＬＫだけ遅れて、換言すれば、アドレスＡ１についてのデータ読み出し要求から３ＴＣＬＫだけ遅れて、データＤ１の出力が完了する。アドレスＡ１についてのデータ読み出し要求時のアドレスバスビジー情報をもとに、ＣＰＵ１は、アドレスバス待ちの１ＴＣＬＫを足した３ＴＣＬＫ後にデータＤ１が出力されることを期待して、これを取り込むことが可能となる。
【００９５】
本実施形態５においては、キャッシュヒット時の読み出しレイテンシは１ＴＣＬＫである。キャッシュミス時は、共有アドレスバスの競合がない場合は２ＴＣＬＫのレイテンシとなる。ＣＰＵ０、ＣＰＵ１ともにキャッシュミスとなり、かつアドレスバス競合が起こった場合については、待たされるＣＰＵにとっては３ＴＣＬＫのレイテンシとなる。尚、図９の動作の条件としては、「Ｔ１＋Ｔ２＋Ｔ３＜２ＴＣＬＫ」、かつ、「Ｔ２＜ＴＣＬＫ」となる。
【００９６】
＜実施形態６＞
図１０には、上記マルチプロセッサシステム１０の別の構成例が示される。
【００９７】
図１０では、共有アドレスバスＣＡＢＵＳ、共有データバスＣＤＢＵＳがＣＰＵ０とＣＰＵ１で共有されることで、配線面積を低減しながら、バスクロックＢＣＬＫの立上りエッジ、立下りエッジの両方を使ってアドレスを２倍の転送レートで送出することで読み出しレイテンシを短縮している。ＣＰＵ０，ＣＰＵ１からのアドレス信号は、アドレス選択回路（ＭＵＸ）１００１により選択的に不揮発性半導体メモリ１００に伝達される。バスドライバ１１２の出力データは、共有データバスＣＤＢＵＳ及び２ｂｉｔＦＩＦＯ１００７を介してＣＰＵ０，ＣＰＵ１に伝達される。また、不揮発性半導体メモリ１００においては、それぞれバスクロックＢＣＬＫに同期動作されるアドレスラッチ（ＡＬＡＣＨ）１００３，１００４、及びアドレス選択回路１００５が設けられる。ＣＰＵ０，ＣＰＵ１からのアドレス信号は、アドレス選択回路１００１を介して、アドレスラッチ１００３，１００４に振り分けられて保持される。アドレスラッチ１００３，１００４に記憶されているアドレス信号は、アドレス選択回路１００５により選択的にＸデコーダ１２１、Ｙデコーダ１２２に伝達される。
【００９８】
図１１は、図１０に示される構成の動作タイミングが示される。
【００９９】
ＣＰＵ０、ＣＰＵ１から出力されたアドレスは、アドレス選択回路１００１によって多重化され、２倍の転送レートにして共有アドレスバスＣＡＢＵＳ経由で不揮発性半導体メモリ１００に送出される。アドレスＭＵＸ制御信号２０５は、バスクロックＢＣＬＫと同じ周波数であり、制御回路１３１において、バスクロックを遅延させて生成される。アドレス選択回路１００１では、アドレスＭＵＸ制御信号２０５の論理値“１”のとき、ＣＰＵ０側のアドレスが選択され、論理値“０”のとき、ＣＰＵ１側のアドレスが選択される。タイミングとしては、不揮発性半導体メモリ１００側でみたバスクロックＢＣＬＫの立上り時にＣＰＵ０側アドレスが不揮発性半導体メモリ１００に到着し、立下り時にＣＰＵ１側アドレスが不揮発性半導体メモリ１００に到達していればよい。不揮発性半導体メモリ１００では、バスクロックＢＣＬＫの立上りエッジでアドレスを取り込むアドレスラッチ１００３と、立下りエッジでアドレスを取り込むアドレスラッチ１００４が設けられている。こうすることで、ＣＰＵ０側のアドレスはアドレスラッチ１００３に、ＣＰＵ１側のアドレスはアドレスラッチ１００４に取り込まれる。アドレスラッチ１００３とアドレスラッチ１００４の後段に配置されたアドレス選択回路１００５が、バスクロックＢＣＬＫを用いて制御されることにより、ＴＣＬＫ／２おきにＸデコーダ１２１及びＹデコーダ１２２に、ＣＰＵ０側アドレスとＣＰＵ１側アドレスが送られ、１ＴＣＬＫ内に２アドレスのデコードを行うことが可能となる。
【０１００】
図１１に示されるように、Ｔ１、Ｔ２、Ｔ３のパイプライン動作が行われ、「Ｔ１＋Ｔ３＜ＴＣＬＫ」、かつ、「２Ｔ２＜ＴＣＬＫ」を満たせば、ＴＣＬＫ周期で連続してＣＰＵ０、ＣＰＵ１からの２アドレスを受け付け、２データを出力するという、ＣＰＵと同周波数の動作が可能となる。ただし、ＣＰＵ側でバスクロック立上りでデータを取り込むとすれば、各読み出しのレイテンシは２ＴＣＬＫとなる。また、ＣＰＵでアドレス送出後、２ＴＣＬＫ後にＣＰＵが取り込む前にデータバス上のデータが上書きされることを防ぐため、実施形態２，３と同様に、２ｂｉｔ以上のＦＩＦＯ１００７が必要となる。
【０１０１】
＜実施形態７＞
図１２には、上記マルチプロセッサシステム１０の別の構成例が示される。
【０１０２】
図１２に示される構成が図１０に示されるのと大きく相違するのは、ＣＰＵ０、ＣＰＵ１と不揮発性半導体メモリ１００との間にそれぞれキャッシュメモリ（ＣＭＥＭ）５０１，５０２が設けられることで、読み出しレイテンシが改善されている点である。実施形態６では、毎クロックサイクルでのアドレス受け付けとデータ出力が可能な点で、スループットは十分である。しかしながら読み出しレイテンシは２ＴＣＬＫであり、２ＣＰＵの読み出し競合時のレイテンシを半減する効果はあるものの、１回の読み出しのレイテンシを１ＴＣＬＫにまで縮めることはできない。
【０１０３】
そこで、図１２に示されるように、高速なキャッシュメモリ５０１，５０２をＣＰＵ０、ＣＰＵ１と不揮発性半導体メモリ１００との間に設ける。キャッシュメモリ５０１，５０２は、１ＴＣＬＫのレイテンシでヒット判定及び読み出しを可能とするため、ＳＲＡＭやフリップフロップ等の高速なメモリで構成される。
【０１０４】
上記の構成により、キャッシュヒット時は１ＴＣＬＫ、キャッシュミス時は２ＴＣＬＫの読み出しレイテンシとなり、キャッシュメモリ分のチップ面積、コスト増加があるものの、ピーク性能を向上できる利点がある。
【０１０５】
尚、不揮発性半導体メモリ１００からの読み出し動作のパイプライン化は、ＣＰＵ０、ＣＰＵ１ともにキャッシュミスした場合に効果を発揮し、キャッシュヒット率はキャッシュメモリの構成、容量、ユーザプログラムに依存する。
【０１０６】
＜実施形態８＞
図１３には、上記マルチプロセッサシステム１０の別の構成例が示される。
【０１０７】
図１３に示される構成では、実施形態７の場合と同様に、ＣＰＵ０、ＣＰＵ１と不揮発性半導体メモリ１００の間にそれぞれキャッシュメモリ５０１，５０２が配置される。実施形態７の場合と大きく相違するのは、不揮発性半導体メモリ１００とキャッシュメモリ５０１，５０２との間の共有データバスＣＤＢＵＳの幅を十分に確保し、連続キャッシュミスの確率を下げることにより、実施形態７の場合比べて、大幅な性能の低下無しに不揮発性半導体メモリ１００の速度を緩和している点である。
【０１０８】
図１３に示される構成では、不揮発性半導体メモリ１００とキャッシュメモリ５０１，５０２との間の共有データバスＣＤＢＵＳの幅をＮｂｉｔ、キャッシュメモリ５０１，５０２とＣＰＵ０，ＣＰＵ１との間のデータバスＤＢＵＳ０１，ＤＢＵＳ１１の幅をＭｂｉｔとしている。ＮがＭに対して十分に大きい場合は、キャッシュミス時に１回の読み出しで多くのデータを不揮発性半導体メモリ１００から読み出してキャッシュメモリ５０１，５０２に書き込むことが可能となる。このため、キャッシュメモリ５０１，５０２の容量が十分確保されれば、ＮをＭに対して十分大きくすることで連続してキャッシュミスが起こる確率は低くなると考えられる。すなわち、Ｎが十分大きい場合は、図１１に示されるように、２回目の読み出し以降も毎クロックサイクルのアドレス受け付けとデータ出力を行う効果が薄れると考えられる。そのため、Ｎを大きくして不揮発性半導体メモリ読み出し速度を緩和することができる。Ｎの増加は、センスアンプ数を増やしてＹ-ＭＵＸの入力を減らし、センスアンプあたりのビット線本数を減らすことで可能である。
【０１０９】
図１４には、図１３に示される構成の動作タイミングが示される。
【０１１０】
図１４に示される例では、１回目のバスクロックでＣＰＵ０、ＣＰＵ１ともにキャッシュミスとなり不揮発性半導体メモリ１００からの読み出しを２ＴＣＬＫかけて行うが、３回目のバスクロックではアドレスＡ２、Ａ３ともにキャッシュヒットしている。このため、アドレスＡ２、Ａ以降は不揮発性半導体メモリ１００へのアドレス信号の送出は行われない。ここで、仮にＡ０、Ａ１に続いてＡ２、Ａ３もキャッシュミスとなった場合は、Ｄ２、Ｄ３の出力は図１１に示される例よりも１ＴＣＬＫだけ遅れることになる。ただし、本例ではＮを十分大きくしてあるため、このような連続キャッシュミスとなる確率は低い。これにより、ＮをＭに対して十分大きくすることで、実施形態７の場合に比べてシステムの性能を大きく損なわずに不揮発性半導体メモリ１００の読み出し速度を以下のように緩和できると考えられる。
【０１１１】
すなわち、実施形態７では、実施形態６に比べてキャッシュメモリ５０１，５０２を挿入しただけなので、実施形態７における不揮発性半導体メモリ１００の読み出し速度の条件は、実施形態６の場合と同様に、「Ｔ１＋２Ｔ２＋Ｔ３＜２ＴＣＬＫ」かつ「２Ｔ２＜ＴＣＬＫ」であったが、実施形態８の場合には、「Ｔ１＋２Ｔ２＋Ｔ３＜２ＴＣＬＫ」のみに緩和することができる。
【０１１２】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１１３】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマルチプロセッサシステムに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路装置に広く適用することができる。
【０１１４】
本発明は、少なくとも不揮発性半導体メモリを含むことを条件に適用することができる。
【図面の簡単な説明】
【０１１５】
【図１】本発明にかかる半導体集積回路装置の一例であるマルチプロセッサシステムにおける主要部の構成例ブロック図である。
【図２】図１に示される構成における主要部の動作タイミング図である。
【図３】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図４】図３に示される構成における主要部の動作タイミング図である。
【図５】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図６】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図７】図６に示される構成における主要部の動作タイミング図である。
【図８】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図９】図８に示される構成における主要部の動作タイミング図である。
【図１０】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図１１】図１０に示される構成における主要部の動作タイミング図である。
【図１２】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図１３】上記マルチプロセッサシステムにおける主要部の別の構成例ブロック図である。
【図１４】図１３に示される構成における主要部の動作タイミング図である。
【図１５】上記マルチプロセッサシステムに含まれる不揮発性半導体メモリにおける主要部のレイアウト例を示す平面図である。
【図１６】図１５におけるＡ−Ａ’線切断断面図である。
【図１７】上記不揮発性半導体メモリにおける読み出し、書込み、及び消去の各動作の説明図である。
【図１８】上記マルチプロセッサシステムの全体的な構成例ブロック図である。
【符号の説明】
【０１１６】
１０  マルチプロセッサシステム
１００  不揮発性半導体メモリ
１０１，１０２  アドレスラッチ
１０３  アドレス選択回路
１０４  Ｘデコードラッチ
１０５  Ｙデコードラッチ
１０６  ワードドライバ
１０７  Ｙ選択回路
１０８  センスアンプ
１０９，１１０  データラッチ
１１１，１１２  バスドライバ
１２１  Ｘデコーダ
１２２  Ｙデコーダ
１３１  制御回路
８０１  調停回路
５０１，５０２  キャッシュメモリ
１００１  アドレス選択回路
１００７  ２ｂｉｔＦＩＦＯ
ＡＢＵＳ０，ＡＢＵＳ１  アドレスバス
ＤＢＵＳ０，ＤＢＵＳ１  データバス
ＭＣ  メモリセル
ＣＧ  コントロールゲート
ＭＧ  メモリゲート
ＯＮＯ  積層膜
【図１】
2009123298.tif 000003
【図２】
2009123298.tif 000004
【図３】
2009123298.tif 000005
【図４】
2009123298.tif 000006
【図５】
2009123298.tif 000007
【図６】
2009123298.tif 000008
【図７】
2009123298.tif 000009
【図８】
2009123298.tif 000010
【図９】
2009123298.tif 000011
【図１０】
2009123298.tif 000012
【図１１】
2009123298.tif 000013
【図１２】
2009123298.tif 000014
【図１３】
2009123298.tif 000015
【図１４】
2009123298.tif 000016
【図１５】
2009123298.tif 000017
【図１６】
2009123298.tif 000018
【図１７】
2009123298.tif 000019
【図１８】
2009123298.tif 000020