JP4520847B2 - 集積回路における不揮発性メモリからのデータをフェッチするための方法及び対応する集積回路 - Google Patents

集積回路における不揮発性メモリからのデータをフェッチするための方法及び対応する集積回路 Download PDF

Info

Publication number
JP4520847B2
JP4520847B2 JP2004502189A JP2004502189A JP4520847B2 JP 4520847 B2 JP4520847 B2 JP 4520847B2 JP 2004502189 A JP2004502189 A JP 2004502189A JP 2004502189 A JP2004502189 A JP 2004502189A JP 4520847 B2 JP4520847 B2 JP 4520847B2
Authority
JP
Japan
Prior art keywords
address
data
volatile memory
processor
cache
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.)
Expired - Fee Related
Application number
JP2004502189A
Other languages
English (en)
Other versions
JP2005524175A (ja
Inventor
ファブリッツィオ カンパナレ
ステーンウェイク ゲイス ファン
Original Assignee
ディーエスピー、グループ、スイッツァランド、アクチェンゲゼルシャフト
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 ディーエスピー、グループ、スイッツァランド、アクチェンゲゼルシャフト filed Critical ディーエスピー、グループ、スイッツァランド、アクチェンゲゼルシャフト
Publication of JP2005524175A publication Critical patent/JP2005524175A/ja
Application granted granted Critical
Publication of JP4520847B2 publication Critical patent/JP4520847B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Read Only Memory (AREA)

Description

本発明は、集積回路に組み込まれている不揮発性メモリからのデータをフェッチするための方法及び特に当該方法を実行するための集積回路に関する。
この種の集積回路は、ポータブルデバイス、例えば無線モジュール(wireless module)、ブルートゥースデバイス(Bluetooth device)、モバイル電話(mobile phone)、ディジタルコードレスデバイス(digital cordless device)、又は個人用携帯型情報端末(PDA(personal digital assistant))において広範に使用されている。この市場において、サイズ及び消費電力は決定的なファクタ(要因(factor))となり、それ故に小さな面積ファクタが最も重要な要求となる。従ってベースバンド(基底帯域)システム(baseband system)のメモリ制御ユニット(MCU(memory control unit))のダイ(die)上に不揮発性メモリを集積させる可能性(chance)は、低減されたコンポーネント数、低いピンの引き出し(pinout)数、配線可能性(ルータビリティ(routability))、及び低減されたシステム費用の点から最良の選択になると考えられる。
他方、いくつかの他の態様が、ベースバンドシステムオンチップ(baseband SOC(system on chip))の動作性能/費用の比率を改善することに寄与している。
構造的な特徴にいくらか依存しているが、最も効果的な特徴のうちの一つは、適切に選択されたメモリ階層(memory hierarcy)にある。異なるアクセス性能(access capability)と異なる費用及びサイズとで階層を介してメモリリソースを分散させることにより、システム動作特性の全体的な改善がもたらされる。
代表的ないわゆるハーバードアーキテクチャ(Harvard Architecture)が図1に示されている。ブリッジ101が、32ビットバス104を介して、高度システムバス(ASB(advanced system bus))モジュール105、メモリ管理ユニット(MMU(memory management unit))106、RAM107、及びフラッシュメモリ102に接続されている。高度RISCマシン(ARM(advanced RISC machine))103が、MMU106に接続されている。16ビットバス108を介してブリッジ101が高度周辺バス(APB(advanced peripheral bus))モジュール109に接続されている。これらは例えばユニバーサルシリアルバス(USB(universal serial bus))モジュールとなり得る。面積に関する主な犠牲(cost)がメモリ階層にあることは明らかである。従って、必要とされる動作特性に厳格に依存している、サイズ及び種類の賢明な選択は設計の成功の基礎となる。
アプリケーションがハーバードアーキテクチャ内のマイクロコントローラのためのソフトウエアのある層を必要とする場合、通常リードオンリメモリ(ROM(read only memory))は命令メモリ(IMEM(instruction memory))に対して使用される一方、データメモリに対しては揮発性メモリ(volatile memory)、例えばDRAM又はSRAMが最良の選択となる。これの利点は、更に命令メモリとしてダイ(die)上のブートコードメモリスペース(bootcode memory space)を使用する可能性にあり、それ故にスペースが節減され、システムの安全性及びロバスト性(robustness)が増大されることにある。利点は、基準プロセス(baseline process)で組み込まれているエンベデッドROMが特別な技術オプションを必要としていないことにある。
不都合なことにこのような解決策は、安定したソフトウエアを必要としており、それ故に最終的な製造の場合にしか適してない。他方で、ほとんどのアプリケーションはいくつかのソフトウエアの改良を必要としており、それによって、IMEMに対するROM解決策は好適とならない。従ってIMEMとして使用されるエンベデッドフラッシュメモリがサイズ及び動作特性の点で最良の解決策をもたらし得る。
最新技術関する
Figure 0004520847
氏他による米国特許第5802554号公報において、フラッシュメモリからのブロック転送に並行してフラッシュメモリに対する精度の高いダイレクト(直接)アクセス(fine grain direct access)をもたらすことによってメモリアクセスレイテンシ(memory access latency)を低減するためのシステム及び方法が記載されている。メモリ管理ユニットは、第一のレベルのメモリ階層からのデータ、又は第二のレベルのメモリ階層からのデータの何れかを備えるキャッシュのコンテンツを制御する。しかしながらこの解決策はIMEMとしてフラッシュメモリを使用し得ない。
本発明の目的は、集積回路及び集積回路に組み込まれている不揮発性メモリからのデータをフェッチするための方法を提供することにある。当該集積回路及び方法によって、フラッシュアクセス期間による最も高いデータスループットと、同時に最小限のチップ面積とが得られ得る。
本発明の他の目的は、データメモリとして自身の機能を抑止することなく命令メモリとして不揮発性メモリを使用することにある。
前記課題は、方法の請求項の何れか一項による特徴を備える集積回路に組み込まれている不揮発性メモリからのデータをフェッチするための方法、及び装置の請求項の何れか一項による特徴を備える集積回路によって解決される。
基本的に本発明による集積回路に組み込まれている不揮発性メモリからデータをフェッチするための方法は、以下のステップ、すなわち
・データが、プロセッサによって不揮発性メモリから要求されると、前記データに対応するアドレスは不揮発性メモリに転送される。
・アドレスが変化させられているシステムクロックサイクル内のストローブ信号(strobe signal)は不揮発性メモリに向けられる(ダイレクトされる)。
・アドレスに対応する不揮発性メモリにおけるデータが使用可能になるとすぐにデータはプロセッサに向けられる。
本発明による集積回路は、プロセッサと、不揮発性メモリと、システムクロック部と、一方の側でプロセッサに接続されると共に他方の側で不揮発性メモリに接続される及びインタフェイス部とを有する。プロセッサによってもたらされるアドレスが変化させられているとき、インタフェイス部は不揮発性メモリにアドレスをもたらし、アドレスが変化させられているシステムクロックサイクル内でストローブ信号を生成し、当該信号を不揮発性メモリに向ける。アドレスに対応する不揮発性メモリ内のデータが使用可能になるとすぐにデータはプロセッサに向けられるであろう。
本発明の有利な更なる展開が、従属請求項において示される特徴からもたらされる。
本発明の実施例において、集積回路の不揮発性メモリはフラッシュメモリとなる。
同期モードにおいて、ストローブ信号が活性化され、この段階で不揮発性メモリの読み出し回路が活性化されているとき、アドレスは不揮発性メモリにもたらされるであろう。これにより、電流及び期間が節減される。
非同期モードにおいて、常時アドレスが不揮発性メモリにもたらされ、不揮発性メモリの読み出し回路は常に活性化されている。それによってデータに対するアクセス期間は低減され得る。
本発明の他の実施例において、インタフェイス部は、バス上のアドレスをタグと比較するアドレス比較器(address comparator)を備える。
本発明の更なる実施例において、アドレス比較器は、バス上のアドレスをタグと固定的に比較すると共に、アドレスが安定していると即座に出力信号をもたらす固定(永久)アドレス比較器(permanent address comparator)となる。それによって、出力信号はアドレスが新たなものであるかどうかを示す。これによってアドレスが新たなものであるかどうかの決定のための期間は低減される。
データを待つための期間を低減させるために、不揮発性メモリに記憶されるデータの一部をバッファするキャッシュがもたらされる。インタフェイス部が、選択されたアドレスに対応するデータは既にキャッシュにあることを検出すると、データは即座にキャッシュからプロセッサに向けられる。インタフェイス部が、アドレスに対応するデータはキャッシュにないことを検出すると、インタフェイス部は、メモリアクセス期間の期間の待機信号(wait signal)を生成し、その後データを不揮発性メモリからプロセッサに向ける。
引き続き、本発明は更に11個の図面で説明される。
マイクロプロセッサが集積されている同じダイ上にフラッシュメモリを集積させることは、技術的な観点から、例えば消費電力、リーク、又は特性のためにいくつかの問題をもたらすと共に、アーキテクチャの観点から、例えばテスタビリティ(testability)又はシステムの書き込み動作(programming operation)ためのインタフェイスのためにいくつかの問題をもたらす。更にフラッシュメモリがプロセッサのためのダイレクトIMEMとして使用される場合、優れた動作特性を得る困難性が増大する。実際読み出しアクセスにおけるフラッシュメモリの絶対速度(absolute speed)は、ROM又はRAMの読み出しアクセスにおける速度よりも低速になる。このことは、適用例のクリティカルデータパス(critical data path)においてフラッシュメモリを使用することが全システムのボトルネックになることを示唆している。
エンベデッドフラッシュメモリアクセス期間は、所要のプロセッサ動作特性を実現させるためにマイクロプロセッサのクロックレートに追従しなければならない。当該問題を解決するための解決策は、図2に示されているように、フラッシュメモリ202とプロセッサ203との間のメモリ階層における更なる揮発性メモリ層(volatile memory layer)となる。コントローラを備えるいわゆるラインキャッシュ201が、フラッシュメモリ202を高速マイクロコントローラバスシステム204にインタフェイスさせている。当該サブシステムは、マルチプロセッサ、フラッシュメモリ以外のいくつかの揮発性キャッシュ、及びいくつかのクロックドメインを備える複雑なシステム(complex system)を管理するのに非常に適しているが、メモリの読み出し動作特性に高い重点を置くとIMEMとしてフラッシュメモリしか備えていない通常の単一のプロセッサシステムにおいて当該システムは非効率となる。
図2において、代表的な高度RISCマシン(ARM)によるバスサブシステム(AMBA bus)が示されている。通常の用途において、システムクロック周期が達成可能なフラッシュメモリサイクル期間よりも短くなる場合、フラッシュメモリ202はIMEMとして使用されるにはあまりに低速である。この場合可能な解決策は、フラッシュメモリのデータワード幅を増大させると共に、一つ又はそれより多くのラインを備えるキャッシュとして中間データ記憶レジスタを使用することを可能にするアドレスタグレジスタ(address tag register)をもたらすための役割を果たすフラッシュメモリ202とインタフェイス部201を一体化することにある。このようなシステムは、いくつかのマスタ又はARM203及びクロックドメインの間のアービトレーション(調停(arbitration))の必要性のために、データスループットに対してフラッシュメモリ202と異なる、更なるボトルネックをもたらす。
図3に示されているように、フラッシュブリッジは主に三つのステートマシン(状態機械(state machine))、すなわちキャッシュコントローラステートマシン(CACO−SM(cache controller state machine))と、バスコントローラステートマシン(BUCO−SM(bus controller state machine))と、読み出し及び書き込み動作を管理すると共に内部バスの肯定応答(アクノレッジメント(acknowledgement))を管理するためのアービタステートマシン(arbiter state machine)とによって構成される。これは、コントローラとフラッシュメモリとの間の制御、アドレス、及びデータバスを意味する。
読み出し動作は、CACO−SM及びアービタステートマシンによって制御される。以下、アイドル状態(idle state)から開始される、キャッシュメモリにおけるミスを伴う通常の読み出しアクセスが記載される。図3に示されているように、イベント(事象(event))のシーケンスは以下のようになる。
1. 読み出し要求
1.1. AMBAバスアドレスba[...]の変化の1/2クロック後、CACO−SMはRead(読み出し)状態になる。
1.2. バスアドレスba[...]はレジスタバスアドレスrba[...]に登録される。
1.3. タグキャッシュは比較し、フラッシュヒット信号f_hit<=0となる。
2. ミス認識
2.1. フラッシュヒット信号f_hit=0となるとすぐにCACO−SMはフラッシュバス要求状態Fbreqになる。
2.2. 内部バスを要求する内部バス要求信号rd_fbus_reqはハイになる。
3. 同期及びアービトレーション(arbitration)
3.1. 異なるクロックドメインがもたらされている場合に必要とされる、同期プロセスの1クロックサイクル後、フラッシュバス要求信号rd_fbus_reqはアービタSMフラッシュバス読み出し要求信号に転送されるf_fbrdreq<=rd_fbus_req。
3.2. CACO−SMはミス状態Missになる。
4. フラッシュメモリバス承認(grant)
4.1. f_fbrdreqがハイになると、アービタはFBEDGNT1になる。
4.2. バスアドレスrba[...]は最終的にフラッシュメモリアドレスに渡される。
5. フラッシュメモリアクセス
5.1. 2分の1(1/2)クロック後、フラッシュストローブ信号f_clはハイになり、リアルフラッシュストローブ信号Flash CLに渡される。この場合リアルフラッシュ読み出し動作が開始される。
図4に示されている流れ図は、イベントのタイミング図及び読み出し動作を行うために必要とされる動作のシーケンスを表している。
図5において、上記アーキテクチャによる読み出し動作に含まれるものに限り、主な信号、バスクロックbclk、バスアドレスba[...]、レジスタバスアドレスrba[...]、フラッシュバスヒット信号fb_hit、キャッシュ制御状態信号caco_state、フラッシュバス要求信号rd_fbus_req、フラッシュバス読み出し要求信号f_fbrdreq、アービトレーション状態信号arb_state、フラッシュアドレスFlash ADD[...]、及びフラッシュストローブ信号Flash CLのタイミング図が示されている。
このようなコントローラの場合、周波数から独立してARM要求からリアルフラッシュ読み出し要求まで四つのクロックサイクルが費やされることは分析により示される。それ故に、マイクロプロセッサ及びマルチクロックドメインを管理するためにもたらされる、エンベデッドフラッシュメモリブリッジに対するこの手法は非効率となる。このことは特に、単一クロックドメインにおいてフラッシュメモリを単一のマイクロコントローラに組み込む全てのシステムに対して真となり、速度要求が、高い周波数と低い周波数との両方において本質的になるときに真となる。
本発明によるアーキテクチャの目的は、キャッシュメモリにおけるミスの間、最短の期間を消費することにある。このことは、理想的な場合、この種のアクセスに対するレイテンシが、フラッシュメモリのリアルアクセス期間によって必要とされる最小数のクロックサイクルになるべきであることを意味する。この結果を得るために、フラッシュメモリコントローラが、フラッシュメモリをストローブする前にいかなる不必要なクロックサイクルももたらすべきではない。当然なことに、要求がARMからもたらされるとすぐにフラッシュメモリを照会することは、そのことがヒットになると共にフラッシュメモリの照会はいかなる場合もなされるため、不可能となる。次のサイクルがミスである場合、プロセッサは、新たな動作を開始させる前に読み出し動作が完了させられるまで待機しなければならない。従って理想的には、データのミスの情報が使用可能になるとすぐにフラッシュメモリはストローブされなければならない。
本発明による実施例がブロック図の形態で図6に示されている。AMBAシステムはインタフェイス部605又はコントローラからの肯定通知を待つことなくフラッシュメモリ602にアクセスし得るため、本発明はフラッシュメモリ602の読み出し動作に対して擬似ダイレクトメモリアクセス(pseudo−direct memory access(DMA))を採用している。基本的に当該インタフェイス部は、読み出し動作においてAMBAバス604及びフラッシュメモリ602の内部バスにインタフェイスするための小型且つ効率的なコントローラから構成される。当該インタフェイスはフラッシュメモリ602による最も高い優先度の動作とみなされる。このような手法で、フラッシュアドレスバスは、フラッシュメモリ602からデータをフェッチするためのARM要求と同時に既に更新されている。更に、異なるクロックドメイン、又はバスアービトレーションとの同期は何れも必要とされないため、AMBAデータバス604は、フラッシュメモリデータバスに直接接続され、それ故にフラッシュデータFlashOut Q[...]に直接接続される。この点で、アクセスモードに依存して二つの可能性がもたらされる。
1.同期モード
同期モードにおいて、フラッシュメモリ602はアドレスAdd[...]をフラッシュ同期ストローブ信号CLでラッチする。AMBAアドレスba[...]は接続されたままであり、デバイス選択部においてすぐに使用可能である。従って、ミスが安定である場合、情報を待つために必要とされるほんの半分(1/2)のクロックサイクル後、フラッシュメモリ602はストローブされる。これにより、図2乃至5に記載の上記実施例と比較して3.5クロックサイクルが節減される。フラッシュストローブ信号CLはそれからフラッシュメモリのレディ(準備完了)信号(ready signal)Flash Readyによって非同期にリセットされる。この解決策により、フラッシュストローブ信号CLが再びドライブされ得る前にフルクロックサイクルを待つことは不要となる。大きな改善点は、このメカニズムの場合、非常に低い周波数において、フラッシュメモリのアクセス期間がクロック周期よりも短いとき、キャッシュ601におけるミスはいかなる待機状態も示唆しないであろうということにある。実際フラッシュメモリのレディ信号Flash Readyは次のサイクルの前にもたらされるので、たとえミスが発生して、フラッシュメモリ602がストローブされても、マイクロコントローラ(以下ARM又はプロセッサ603とも称される)は待機状態に移行されないと共に、次のクロックサイクルにおいて新たなデータを既に要求していることが可能である。ストローブ信号CLがリセットされた後、他のサイクルに対して前記マイクロコントローラは動作可能状態にある。
2.DC又は非同期モード
DCモード(DC mode)により、最も速いアクセス期間がもたらされるが、より高い消費電力を伴う。上記の実施例において、読み出しの終わりでフラッシュメモリ602をスイッチオフするメカニズムがもたらされているが、無駄な第一のクロックサイクルを費やすことにより、消費電力は増大させられる。従って以下に記載の同期モードとの違いは、読み出し動作が自身のアドレス変化によってトリガされるので、ミス及びDCモード情報が安定になるために必要とされる、AMBA要求の半分1/2クロックサイクル後、ストローブ信号DCRはストローブ信号CLの代わりにドライブされ、フラッシュメモリアドレスバスは、AMBAアドレスrba[...]の登録バージョン(registerd version)で再ドライブ(redrive)されることにある。このように、アドレスは全ての読み出し動作に対して安定になることが仮定され得る。最終的に両方の場合、データFlashOut Q[...]がフラッシュメモリ602から使用可能になるとすぐに、当該データはAMBAデータバス604上でも使用可能になる。従ってプロセッサ603に対する待機信号の解放(release)は、上記アーキテクチャにおいて予想され得る解放よりも少なくとも1クロック早く予期され得る。これは、フラッシュメモリ602から内部キャッシュレジスタ601にデータを渡すために必要とされる期間である。
図6に示されているアーキテクチャによって実行される動作のシーケンスは、図7に示されている流れ図において記載されている。読み出し要求が検出されるとすぐに、Ambaアドレスバス604とフラッシュアドレスバスとの間の接続がもたらされる。この場合、要求されたデータがキャッシュメモリ601にもたらされているかが確認(check)されなければならない。もたらされている場合、ヒットがキャッシュメモリ601にもたらされていることが意味され、キャッシュメモリ601におけるデータはコマンドOutput Data from Cache muxing by reg_ba[...](reg_ba[...]で多重化してキャッシュからデータ出力)によってAmbaデータバス604にもたらされる。その後、システムは新たな読み出し要求に対して動作可能になる。要求されたデータがキャッシュメモリ601にもたらされていない場合、ステートマシンは分岐モード?にジャンプする。非同期モードAsynchにおいて、DCモードにおけるフラッシュストローブ(DCR)は登録Ambaアドレスrba[...]をフラッシュアドレスバスに接続し、フラッシュレディ信号が状態zero or low(0又はロー)にもたらされているかを確認する。フラッシュレディ信号が状態zero or low(0又はロー)にもたらされている場合、待機信号はARMに対してセットされ、フラッシュレディ信号は状態1又はハイ(one or high)にもたらされているかが確認されるであろう。これが真(true)であるとすぐにARMに対する待機信号はリセットされ、フラッシュメモリを休止(sleep)させる。この場合、フラッシュデータバスとAmbaデータバスとの間の接続が、コマンドDirect Connection Flash Data Bus to Amba Data muxing words by reg_ba[...](reg_ba[...]でワードを多重化してフラッシュデータバスをAmbaデータにダイレクト接続)によって確立される。その後、ラインキャッシュメモリが更新され、システムは新たな読み出し要求に対して動作可能になる。同期モードSynchが、非同期モードAsynchの代わりに選択される場合、信号フラッシュストローブCLはハイになり、フラッシュレディ信号が0であるかが確認される。これが真である場合、フラッシュストローブ信号CLは状態ローに変化する。それからステートマシンは上記と同じステップを実行する。
図8及び9において、メイン信号バスクロックbclkと、バスアドレスba[...]と、バス待機信号bwaitと、バスデータbd[...]と、登録バスアドレスrba[...]と、フラッシュバスヒット信号fb_hitと、フラッシュアドレスFlash ADD[...]と、同期モードのためのフラッシュストローブ信号Flash CLと、非同期モードのためのフラッシュストローブ信号Flash DCRと、Flash Readyと、提案された設計における読み出しミスアクセスに含まれるフラッシュデータFlash Q[...]とが表されている。
速度の改善点が図8に示されている。AMBA要求からのクロックサイクルのちょうど半分は、フラッシュメモリ602が照会される前に当該サイクルはミスか又はヒットかを決定するために必要とされる。
以下の表は、0.18μmエンベデッドフラッシュメモリに対する標準的な数値による、45nsのDCモードにおけるアクセス期間及び80nsの同期モードにおけるアクセス期間を備えるフラッシュメモリと三つの標準システム周波数における読み出しクロックレイテンシとの比較をまとめている。
Figure 0004520847
図10及び11におけるチャートは結果を示している。
本発明の新規性は、フラッシュメモリを備える構造的なインタフェイスにはなく、むしろキャッシュにおけるミスの場合における不必要な待機状態をもたらすことなくメモリへの高速ダイレクトアクセスをもたらすことを目的とするハードウエアアルゴリズムにある。自身のアーキテクチャの実現を伴う本発明は、マスタとしての単一のマイクロプロセッサが、命令メモリとして低速アクセスエンベデッドフラッシュメモリを使用する全ての用途に非常に適している。この場合、命令毎のシステムサイクル(CPI(cycle per instruction))及び毎秒百万命令(MIPS(million instructions per second))の演算性能はメモリのスループットに極めて依存している。従ってインタフェイス部がフラッシュメモリを照会することについてより高速になるほど、性能はより高くなる。
最新技術によるエンベデッドフラッシュメモリを備える高度RISCマシンによるサブシステムを示す。 最新技術によるバス幅よりも広いフラッシュメモリワード幅を備えるフラッシュメモリとシステムバスとの間のラインキャッシュを示す。 最新技術によるフラッシュメモリブリッジのアーキテクチャにおける読み出し動作を制御するステートマシンを示す。 フラッシュメモリを読み出す際に最新技術によるアーキテクチャによって行われる動作を表す流れ図を示す。 最新技術によるアーキテクチャでの読み出し動作に含まれるメイン信号のタイミング図を示す。 本発明によるアーキテクチャのブロック図を示す。 セルフタイム読み出しモードにおける本発明によるアーキテクチャによって行われる動作の流れ図を示す。 本発明によるアーキテクチャでの同期読み出し動作に含まれるメイン信号のタイミング図を示す。 本発明によるアーキテクチャでの非同期読み出し動作に含まれるメイン信号のタイミング図を示す。 異なるクロック速度における本発明によるアーキテクチャのタイミングを示す。 三つの異なる周波数における本発明によるプロセッサの読み出しレイテンシを示す。

Claims (11)

  1. プロセッサ及び前記プロセッサを不揮発性メモリに接続するインタフェイス部を備える集積回路に組み込まれる前記不揮発性メモリからのデータをフェッチするための方法であって、
    新たなデータが、前記プロセッサによって前記不揮発性メモリから要求されるとき、前記新たなデータに対応するアドレスは、前記不揮発性メモリと、前記不揮発性メモリに対してキャッシュとして機能する前記インタフェイス部に埋め込まれたキャッシュに同時に指定されるステップと、
    要求されたアドレスが、アドレスの同時指定からシステムクロックの同じ第1の半サイクル内に前記キャッシュに記憶されているかを決定するステップと、
    要求されたアドレスがキャッシュに記憶されているときには、データは前記キャッシュから前記プロセッサに供給されるステップと、
    要求されたアドレスがキャッシュに記憶されていないときには、前記アドレスが変化させられているシステムクロックサイクル内でストローブ信号は前記不揮発性メモリに向けられるステップと、
    前記アドレスに対応する前記不揮発性メモリにおける前記データが使用可能になると前記データは前記プロセッサに向けられるステップと
    を有する方法。
  2. 前記インタフェイス部は、前記ストローブ信号を生成すると共に前記新たなデータアドレスと前記ストローブ信号との両方を前記不揮発性メモリに向けさせる請求項1に記載のデータをフェッチするための方法。
  3. 同期モードにおいて、前記ストローブ信号が活性化されているときにのみ、前記不揮発性メモリに前記新たなデータアドレスがもたらされる請求項1又は2に記載のデータをフェッチするための方法。
  4. 非同期モードにおいて、前記新たなデータが伝送されるまで常時前記不揮発性メモリに前記新たなデータアドレスがもたらされる請求項1又は2に記載のデータをフェッチするための方法。
  5. 前記インタフェイス部は、前記キャッシュされたデータが前記新たなデータアドレスに対応していないことを検出したとき、前記不揮発性メモリからデータをアクセスするのに必要な時間、待機信号が生成される請求項1に記載のデータをフェッチするための方法。
  6. 前記インタフェイス部は、前記キャッシュされたデータが前記新たなデータアドレスに対応していないことを検出したとき、前記新たなデータは、使用可能時に前記不揮発性メモリから直接前記プロセッサに向けられる請求項5に記載のデータをフェッチするための方法。
  7. プロセッサ、不揮発性メモリ、システムクロック部、及び前記プロセッサを前記不揮発性メモリに接続するインタフェイス部、このインタフェイス部に埋め込まれたキャッシュを備える集積回路であって、
    前記インタフェイス部は、要求された新たなデータに対応する新たなアドレスが前記プロセッサによってもたらされるときはいつでも
    新たなアドレスを同時に前記不揮発性メモリおよび前記キャッシュにもたらし、同時アドレス供給が発生してから、システムクロックの同じ第1の半サイクル内に前記キャッシュ中に前記新たなアドレスが利用可能であるかを決定し、
    前記キャッシュ中に前記新たなアドレスが利用可能でないときには、前記アドレスが変化させられる同じシステムクロックサイクル内でストローブ信号を生成すると共に、当該信号を前記不揮発性メモリに向けさせ、前記不揮発性メモリに前記アドレス内のデータを供するように合図し、
    −前記要求された新たなデータが前記不揮発性メモリから使用可能になるとき、前記新たなデータを前記プロセッサに向けさせるように設けられる集積回路。
  8. 前記不揮発性メモリがフラッシュメモリである請求項7に記載の集積回路。
  9. 前記インタフェイス部は、前記プロセッサによってもたらされる前記アドレスをタグと比較するアドレス比較器を備える請求項7又は8に記載の集積回路。
  10. 前記アドレス比較器は、前記プロセッサによってもたらされる前記アドレスを前記タグと永久的に比較すると共に、前記アドレスが安定であると即座に出力信号をもたらす永久アドレス比較器であり、それによって前記出力信号は、前記アドレスが新たなものであるかどうかを示す請求項9に記載の集積回路。
  11. 前記インタフェイス部は、前記キャッシュにおけるデータが前記プロセッサによってもたらされる前記新たなデータアドレスに対応していないことを検出したとき、前記不揮発性メモリからデータをアクセスするのに必要な時間、待機信号を生成し、前記データを前記不揮発性メモリから前記プロセッサに向けさせる、請求項7乃至10の何れか一項に記載の集積回路。
JP2004502189A 2002-04-30 2003-04-29 集積回路における不揮発性メモリからのデータをフェッチするための方法及び対応する集積回路 Expired - Fee Related JP4520847B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02009727 2002-04-30
PCT/IB2003/001636 WO2003094036A1 (en) 2002-04-30 2003-04-29 Method for fetching data from a non-volatile memory in an integrated circuit and corresponding integrated circuit

Publications (2)

Publication Number Publication Date
JP2005524175A JP2005524175A (ja) 2005-08-11
JP4520847B2 true JP4520847B2 (ja) 2010-08-11

Family

ID=29286104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004502189A Expired - Fee Related JP4520847B2 (ja) 2002-04-30 2003-04-29 集積回路における不揮発性メモリからのデータをフェッチするための方法及び対応する集積回路

Country Status (8)

Country Link
US (1) US7536509B2 (ja)
EP (1) EP1502202B1 (ja)
JP (1) JP4520847B2 (ja)
CN (1) CN100445983C (ja)
AT (1) ATE503229T1 (ja)
AU (1) AU2003222384A1 (ja)
DE (1) DE60336461D1 (ja)
WO (1) WO2003094036A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101085406B1 (ko) * 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
KR100541642B1 (ko) * 2004-03-11 2006-01-10 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
TWI282140B (en) * 2005-11-10 2007-06-01 Realtek Semiconductor Corp Display controller and method for updating parameters of the same
US7995543B2 (en) * 2006-05-05 2011-08-09 Marvell World Trade Ltd. Network device for implementing multiple access points and multiple client stations
TWI338839B (en) 2007-06-27 2011-03-11 Etron Technology Inc Memory control system and memory data fetching method
US8122322B2 (en) 2007-07-31 2012-02-21 Seagate Technology Llc System and method of storing reliability data
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
KR20150098649A (ko) 2012-12-22 2015-08-28 퀄컴 인코포레이티드 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소
US11042315B2 (en) * 2018-03-29 2021-06-22 Intel Corporation Dynamically programmable memory test traffic router

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60250454A (ja) * 1984-05-25 1985-12-11 Yokogawa Hokushin Electric Corp メモリ制御装置
JPH03132852A (ja) * 1989-10-19 1991-06-06 Pfu Ltd バス非同期制御方式
JPH08314795A (ja) * 1994-05-19 1996-11-29 Hitachi Ltd 記憶装置の読み出し回路及び記憶システム
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5497355A (en) * 1994-06-03 1996-03-05 Intel Corporation Synchronous address latching for memory arrays
JP3153078B2 (ja) * 1994-09-09 2001-04-03 日本電気株式会社 データ処理装置
JPH08314794A (ja) 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
US6263399B1 (en) * 1998-06-01 2001-07-17 Sun Microsystems, Inc. Microprocessor to NAND flash interface
GB2338321B (en) * 1998-06-11 2000-04-26 Winbond Electronics Corp Single-chip micro-controller with an internal flash memory
CN2350805Y (zh) * 1998-09-11 1999-11-24 朱健 单片机高容量存储管理装置
JP5076133B2 (ja) * 2000-06-27 2012-11-21 インベンサス、コーポレーション フラッシュを備えた集積回路
US6697918B2 (en) * 2001-07-18 2004-02-24 Broadcom Corporation Cache configured to read evicted cache block responsive to transmitting block's address on interface

Also Published As

Publication number Publication date
EP1502202B1 (en) 2011-03-23
US7536509B2 (en) 2009-05-19
JP2005524175A (ja) 2005-08-11
WO2003094036A1 (en) 2003-11-13
DE60336461D1 (de) 2011-05-05
CN100445983C (zh) 2008-12-24
AU2003222384A1 (en) 2003-11-17
ATE503229T1 (de) 2011-04-15
US20050166004A1 (en) 2005-07-28
EP1502202A1 (en) 2005-02-02
CN1650288A (zh) 2005-08-03

Similar Documents

Publication Publication Date Title
US6574142B2 (en) Integrated circuit with flash memory
US7721123B2 (en) Method and apparatus for managing the power consumption of a data processing system
US6836829B2 (en) Peripheral device interface chip cache and data synchronization method
US20030177316A1 (en) Read exclusive for fast, simple invalidate
US20020013880A1 (en) Integrated circuit with flash bridge and autoload
US11500797B2 (en) Computer memory expansion device and method of operation
KR20070049676A (ko) 버스를 통해 메모리 프리-페치 명령들을 전송하기 위한방법 및 장치
JP2005502120A (ja) キャッシュミスに応答してタスクを切り替えることによってキャッシュベース埋め込みプロセッサのスループットを改善する方法および装置
EP0663087A1 (en) Method and apparatus for non-snoop window reduction
JPH0628254A (ja) ライトスルーキャッシュおよびパイプラインスヌープサイクルを備えたメモリシステムを有するパーソナルコンピュータ
JP4520847B2 (ja) 集積回路における不揮発性メモリからのデータをフェッチするための方法及び対応する集積回路
JP2005524170A (ja) 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法
JP3665030B2 (ja) バス制御方法及び情報処理装置
TWI223153B (en) Memory control for multiple read requests
JP3444154B2 (ja) メモリアクセス制御回路
US6754779B1 (en) SDRAM read prefetch from multiple master devices
US20150177816A1 (en) Semiconductor integrated circuit apparatus
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
US7296109B1 (en) Buffer bypass circuit for reducing latency in information transfers to a bus
JPH11134077A (ja) データ処理装置及びデータ処理システム
JP2002342162A (ja) メモリアクセス制御方式及びホストブリッジ
JP3914404B2 (ja) 省電力インターフェース装置及び省電力方法
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JP3669616B2 (ja) マイクロコンピュータ及びデータ処理システム
JPH01112451A (ja) キャッシュメモリ制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060428

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080125

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20081110

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091102

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

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

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

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees