JP2004502224A - フラッシュブリッジとオートロードとを有する集積回路 - Google Patents
フラッシュブリッジとオートロードとを有する集積回路 Download PDFInfo
- Publication number
- JP2004502224A JP2004502224A JP2002505620A JP2002505620A JP2004502224A JP 2004502224 A JP2004502224 A JP 2004502224A JP 2002505620 A JP2002505620 A JP 2002505620A JP 2002505620 A JP2002505620 A JP 2002505620A JP 2004502224 A JP2004502224 A JP 2004502224A
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- microprocessor
- integrated circuit
- bus
- flash
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Abstract
【課題】他のメモリと比較してフラッシュメモリの速度が異なることに起因する問題を解決する。
【解決手段】本発明は集積回路(IC)の構造および設計に関し、特に不揮発性のいわゆるフラッシュメモリをIC内に組み込むことまたは集積化することに関する。IC上の他の構成要素、特にIC上のマイクロプロセッサおよび/または他のメモリと比較して組み込まれたフラッシュメモリの速度が異なることに起因する問題を解決するために、特有の書込みインタフェースがフラッシュメモリに設けられ、これにより、ソフトウェアの観点からはフラッシュメモリが標準メモリのように見える。この書込みインタフェースは、フラッシュメモリ(7)とマイクロプロセッサ(6)との間のレジスタ列(2)を含み、これらのレジスタ列は、書込みコントローラ(1)とフラッシュバスアービタ(8)によって本質的に操作され、原則として状態マシンにより制御される中間バッファリング機構として作用する。
【選択図】図1
【解決手段】本発明は集積回路(IC)の構造および設計に関し、特に不揮発性のいわゆるフラッシュメモリをIC内に組み込むことまたは集積化することに関する。IC上の他の構成要素、特にIC上のマイクロプロセッサおよび/または他のメモリと比較して組み込まれたフラッシュメモリの速度が異なることに起因する問題を解決するために、特有の書込みインタフェースがフラッシュメモリに設けられ、これにより、ソフトウェアの観点からはフラッシュメモリが標準メモリのように見える。この書込みインタフェースは、フラッシュメモリ(7)とマイクロプロセッサ(6)との間のレジスタ列(2)を含み、これらのレジスタ列は、書込みコントローラ(1)とフラッシュバスアービタ(8)によって本質的に操作され、原則として状態マシンにより制御される中間バッファリング機構として作用する。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は、集積回路(IC)の構造および設計に関し、特に、1または2以上のマイクロプロセッサを有するIC内に不揮発性のメモリまたはフラッシュメモリを組み込みまたは集積化することに関する。不揮発性メモリのマイクロプロセッサとの組込または集積化は、携帯電話、個人のディジタルアシスタント(digital assi−stant)内、自動車または他のナビゲーションの目的のためのGPSアプリケーションで利用すべきIC用にしばしば望まれ、または要求すらされる。
【0002】
【従来の技術】
チップ内にフラッシュメモリを組み込むと、期待される利点がこのような集積化により現われる前に解決すべき一定の課題が生じる。問題の一つは、「必然」的に通常のフラッシュメモリのアクセス時間がIC上の他の構成要素のアクセス時間と大きく異なるということである。
【0003】
【発明が解決しようとする課題】
フラッシュメモリに特有の問題ある側面は、フラッシュメモリが何らかの電力供給、即ち、ロード(load)サイクルとプログラムサイクルを必要とするという点で、書き込みのためのそのハードウェアのインタフェースがSRAMやDRAMのインタフェースと異なるということである。従って、フラッシュメモリへの書き込みは、ソフトウェアの観点から他のメモリには見えない。フラッシュメモリに書き込むためには特別のソフトウェア駆動ルーチンを備えなければならない。これらのソフトウェア駆動ルーチンは、残念なことに書き込みの間フラッシュメモリのパフォーマンスに不都合な影響を及ぼす。ここに、本発明は、パフォーマンスを最大にすることを強調しつつ、IC上のマイクロプロセッサ環境内に組み込まれたフラッシュメモリを改良することにより、解決法を提供するものである。
【0004】
【課題を解決するための手段】
これは、原則として、他のメモリへの書き込みにとってフラッシュメモリへの書き込みアクセスをある程度見えるようにすることにより達成される。
【0005】
本発明は、以下の手段により上記のように特定された問題を本質的に解決する。
【0006】
中間の書き込み保持レジスタの列を設け、ICのマイクロプロセッサからのデータを、フラッシュメモリに転送される前にこれらのレジスタ内に格納(バッファリング)する。
【0007】
フラッシュメモリのデータ幅(またはそのバスの幅)mがマイクロプロセッサのデータ幅(またはそのバスの幅)nの倍数であれば、上記転送は、上記マイクロプロセッサが最後の保持レジスタに書き込んだ直後に、自動的に開始される。
【0008】
上記データ保持レジスタは、アドレスの範囲内でマッピングされる。このことは、上記マイクロプロセッサが上記アドレス範囲内のアドレスのいずれかに書き込めば、上記データ保持レジスタがアクセスされる、ということを意味する。最下位のアドレスビットが個々の保持レジスタを選択し、このビットは上記フラッシュメモリにアドレスとして直ぐに使用される。
【0009】
上記フラッシュメモリへの上記データ転送が完了する前の第2の時間で上記マイクロプロセッサが上記保持レジスタの一つに書き込もうとすると、上記フラッシュメモリへのデータ転送が完了するまで上記マイクロプロセッサのバスサイクルに待ちサイクルが挿入される。
【0010】
さらに、または代替的に、最後の保持レジスタが書き込まれる前に、上記マイクロプロセッサが上記書込みデータ保持レジスタから上記フラッシュメモリへの転送を望む場合は、上記マイクロプロセッサによってこの転送を強制することができる。
【0011】
上述した方法は、フラッシュメモリのデータ幅mがマイクロプロセッサのデータ幅nの倍数であるシステムに特に有効である。これは、書込みデータ保持レジスタがどうしても必要だからである。もしもmがnに等しい場合は、一つのデータ保持レジスタだけが必要である。しかしながら、この場合であっても、いくつかのデータ保持レジスタがあれば、膨大なデータにより上記フラッシュメモリをアクセスできるので、パフォーマンスは向上するであろう。
【0012】
上述した手段により、フラッシュメモリへの書き込みがSRAMへの書き込みのように見える。
【0013】
【発明の実施の形態】
以下、本発明の例示的な実施の一形態を図面とともに詳細に示す。
【0014】
図1の概略レイアウトは、不可欠の構成要素として、
データバス9とアドレスバス3とを有するマイクロプロセッサ6と、
フラッシュバス4を有するフラッシュメモリ7と、
マイクロプロセッサのデータバス9とフラッシュバス4との間の保持レジスタReg0…Regpの列2と、
フラッシュメモリ書込みコントローラ1と、
フラッシュバスアービタ8と、
コントロールレジスタ5と、
を示す。
【0015】
上述したように、マイクロプロセッサのデータバス9は、n、即ち、n=32の幅を有し、これは、フラッシュバス4の幅m、即ち、m=128よりも狭い。レジスタ列2内の保持レジスタReg0…Regpのそれぞれはまた、n、即ち、n=32の幅を有する。本実施形態において、4つの保持レジスタReg0…Reg3は、レジスタ列2内に設けられるが、より高速が望まれる場合は、4の倍数を設けてもよい。マイクロプロセッサ6が書込みデータをバス9に送ると、到来するデータを4つの32ビット保持レジスタReg0…Regpがラッチする。
【0016】
保持レジスタReg0…Regpは、より上位のアドレスビットがフラッシュメモリ7に直接接続されるようにアドレスされる。
【0017】
フラッシュメモリ7は、フラッシュバス4を介して保持レジスタ列2に接続される。フラッシュバスに接続される他の要求(requestors(この図には示さない))がある場合もあるので、アービタ8が必要である。列2の保持レジスタReg0…Regpの内容をフラッシュメモリ7に転送できる前に、要求をフラッシュバスアービタ8に送らなければならない。これは、信号fbwrreqを活性化させることにより書込みコントローラ1によって達成される。アービタ8は、信号fbackを発することによりフラッシュメモリへのデータ転送を確認する。これは、フラッシュバス4またはメモリ7と書込みコンローラ1との間の一種のハンドシェーキング(handshaking)システムである。
【0018】
列2の保持レジスタReg0…Regpのアドレスは、フラッシュメモリ7のアドレシングマップ(addressing map)内にある。本実施形態では、アドレシングは順次であると考えられる。このように、Regpへの書込みの後に、フラッシュメモリ書込みコントローラ1は、次の状態(状態FBREQ22、図2参照)に飛び、この状態でフラッシュバス4は書込みを要求され、書込みコンローラ1が信号fbwrreqを発する。その直後に、書込みコンローラ1は、無条件にLOAD状態(図2の23)に飛び、ここで書込みコンローラ1は、フラッシュバスアービタ8がフラッシュメモリ7へのデータ転送を認識することを待つ。このように、自動ロード機能が上述したように実行される。
【0019】
フラッシュメモリ書込みコンローラ1は、状態マシンと考えることができる。このマシンの状態図を図2に示す。
【0020】
状態マシンは、主として2つの機能を有する。即ち、第1の機能は、マイクロプロセッサ6から列2の4つのデータ保持レジスタReg0…Regpへの転送を制御することである。これを書込み(WRITE)動作と呼ぶ。
【0021】
第2の機能は、列2のデータ保持レジスタからフラッシュバス4へデータを転送することである。これをLOAD機能と呼ぶ。
【0022】
書込みコントローラ1の様々な状態または動作をそれぞれ以下に簡単に説明する。
【0023】
書込み動作:
リセット後、メモリ書込みコントローラの状態マシンは、IDLE状態21にある。マイクロプロセッサがフラッシュメモリチップ選択信号dsel regdataを活性化することによりデータ保持レジスタReg0…Regpをアドレスすると、状態マシンは、WRITE状態24に切替る。引き続く書込みアクセスで(dsel regdataは多数のサイクル用に活性のままである)、状態マシンは、IDLE状態21にとどまることがある。WRITE状態はまた、直ちにLOAD状態23に先行されることもある。
【0024】
マイクロプロセッサによるデータ保持レジスタReg0…Regpへの書込みアクセスが活性のフラッシュバスロードサイクルの間に到着すると、待ちサイクル(信号bwait)がマイクロプロセッサのバスサイクルに挿入される。ロードサイクルが完了すると、bwaitが除去されて書込みサイクルが実行される。即ち、マイクロプロセッサのバスデータがレジスタReg0…Regpに書込まれる。
【0025】
ロード動作:
状態マシンがWRITE状態24にあるものと想定する。ここで、レジスタ列2の最後の保持レジスタ、即ちRegpをアドレスした後、状態マシンはFBREQ状態22に飛び、この状態で書込みの要求がフラッシュバスアービタ8(図1)に送られる。これが行われると直ぐに、状態マシンは無条件でLOAD状態23に切替る。LOAD状態23において、状態マシンは、フラッシュバスアービタ8がフラッシュメモリ7へのデータ転送を認識することを待つ。フラッシュバスアービタ8がフラッシュバス書込み要求を与えると、信号fb ldclとf webとを活性化させ、レジスタからのデータをフラッシュメモリ7に格納する。フラッシュバスアービタ8が信号fbackをコントローラ1に返すと、残ったそのデータはフラッシュメモリ7に転送され、状態マシンはIDLE状態21とWRITE状態24のいずれかに飛ぶ。列2への他の書込みが未処理であるときはWRITE状態24に飛ぶ。
【0026】
非自動ロード:
上述したように、フラッシュメモリ書込みアクセスが順次に発生すると、ロードサイクルは自動的に発生するが、書込みアクセスが続いて発生していなければロードサイクルを強制する必要がある場合がある。これは、コントロールレジスタ5にビットを書込むことにより行われる。書込みコントローラ1に信号loadreqが発せられてロード動作が実行される。
【0027】
状態マシン、即ち書込みコントローラ1がIDLE状態21にある間にマイクロプロセッサ6がコントロールレジスタ5に書込む場合、コントロールレジスタは直ちに更新される。コントローラ1がLOAD状態23にある間にマイクロプロセッサ6がコントロールレジスタ5に書込む場合、状態マシンがLOAD状態23を離れるまで待ち状態がマイクロプロセッサのサイクルに挿入される。ロード動作が完了した後でのみ、コントロールレジスタは更新される。
【0028】
単一の実施形態のみに本発明を示したが、当業者は、本発明の要旨および最初に記載した特許請求の範囲から逸脱することなく上述した原理に従って改良および変形を容易に導くことができる。
【図面の簡単な説明】
【図1】
本発明の第1の実施の形態の詳細なレイアウトを示す図である。
【図2】
図1の書込みコントローラの状態図である。
【符号の説明】
1 書込みコントローラ
2 レジスタ列
3 アドレスバス
4 フラッシュバス
5 コントロールレジスタ
6 マイクロプロセッサ
7 フラッシュメモリ
8 フラッシュバスアービタ
9 データバス
Reg0〜Regp 保持レジスタ
【発明の属する技術分野】
本発明は、集積回路(IC)の構造および設計に関し、特に、1または2以上のマイクロプロセッサを有するIC内に不揮発性のメモリまたはフラッシュメモリを組み込みまたは集積化することに関する。不揮発性メモリのマイクロプロセッサとの組込または集積化は、携帯電話、個人のディジタルアシスタント(digital assi−stant)内、自動車または他のナビゲーションの目的のためのGPSアプリケーションで利用すべきIC用にしばしば望まれ、または要求すらされる。
【0002】
【従来の技術】
チップ内にフラッシュメモリを組み込むと、期待される利点がこのような集積化により現われる前に解決すべき一定の課題が生じる。問題の一つは、「必然」的に通常のフラッシュメモリのアクセス時間がIC上の他の構成要素のアクセス時間と大きく異なるということである。
【0003】
【発明が解決しようとする課題】
フラッシュメモリに特有の問題ある側面は、フラッシュメモリが何らかの電力供給、即ち、ロード(load)サイクルとプログラムサイクルを必要とするという点で、書き込みのためのそのハードウェアのインタフェースがSRAMやDRAMのインタフェースと異なるということである。従って、フラッシュメモリへの書き込みは、ソフトウェアの観点から他のメモリには見えない。フラッシュメモリに書き込むためには特別のソフトウェア駆動ルーチンを備えなければならない。これらのソフトウェア駆動ルーチンは、残念なことに書き込みの間フラッシュメモリのパフォーマンスに不都合な影響を及ぼす。ここに、本発明は、パフォーマンスを最大にすることを強調しつつ、IC上のマイクロプロセッサ環境内に組み込まれたフラッシュメモリを改良することにより、解決法を提供するものである。
【0004】
【課題を解決するための手段】
これは、原則として、他のメモリへの書き込みにとってフラッシュメモリへの書き込みアクセスをある程度見えるようにすることにより達成される。
【0005】
本発明は、以下の手段により上記のように特定された問題を本質的に解決する。
【0006】
中間の書き込み保持レジスタの列を設け、ICのマイクロプロセッサからのデータを、フラッシュメモリに転送される前にこれらのレジスタ内に格納(バッファリング)する。
【0007】
フラッシュメモリのデータ幅(またはそのバスの幅)mがマイクロプロセッサのデータ幅(またはそのバスの幅)nの倍数であれば、上記転送は、上記マイクロプロセッサが最後の保持レジスタに書き込んだ直後に、自動的に開始される。
【0008】
上記データ保持レジスタは、アドレスの範囲内でマッピングされる。このことは、上記マイクロプロセッサが上記アドレス範囲内のアドレスのいずれかに書き込めば、上記データ保持レジスタがアクセスされる、ということを意味する。最下位のアドレスビットが個々の保持レジスタを選択し、このビットは上記フラッシュメモリにアドレスとして直ぐに使用される。
【0009】
上記フラッシュメモリへの上記データ転送が完了する前の第2の時間で上記マイクロプロセッサが上記保持レジスタの一つに書き込もうとすると、上記フラッシュメモリへのデータ転送が完了するまで上記マイクロプロセッサのバスサイクルに待ちサイクルが挿入される。
【0010】
さらに、または代替的に、最後の保持レジスタが書き込まれる前に、上記マイクロプロセッサが上記書込みデータ保持レジスタから上記フラッシュメモリへの転送を望む場合は、上記マイクロプロセッサによってこの転送を強制することができる。
【0011】
上述した方法は、フラッシュメモリのデータ幅mがマイクロプロセッサのデータ幅nの倍数であるシステムに特に有効である。これは、書込みデータ保持レジスタがどうしても必要だからである。もしもmがnに等しい場合は、一つのデータ保持レジスタだけが必要である。しかしながら、この場合であっても、いくつかのデータ保持レジスタがあれば、膨大なデータにより上記フラッシュメモリをアクセスできるので、パフォーマンスは向上するであろう。
【0012】
上述した手段により、フラッシュメモリへの書き込みがSRAMへの書き込みのように見える。
【0013】
【発明の実施の形態】
以下、本発明の例示的な実施の一形態を図面とともに詳細に示す。
【0014】
図1の概略レイアウトは、不可欠の構成要素として、
データバス9とアドレスバス3とを有するマイクロプロセッサ6と、
フラッシュバス4を有するフラッシュメモリ7と、
マイクロプロセッサのデータバス9とフラッシュバス4との間の保持レジスタReg0…Regpの列2と、
フラッシュメモリ書込みコントローラ1と、
フラッシュバスアービタ8と、
コントロールレジスタ5と、
を示す。
【0015】
上述したように、マイクロプロセッサのデータバス9は、n、即ち、n=32の幅を有し、これは、フラッシュバス4の幅m、即ち、m=128よりも狭い。レジスタ列2内の保持レジスタReg0…Regpのそれぞれはまた、n、即ち、n=32の幅を有する。本実施形態において、4つの保持レジスタReg0…Reg3は、レジスタ列2内に設けられるが、より高速が望まれる場合は、4の倍数を設けてもよい。マイクロプロセッサ6が書込みデータをバス9に送ると、到来するデータを4つの32ビット保持レジスタReg0…Regpがラッチする。
【0016】
保持レジスタReg0…Regpは、より上位のアドレスビットがフラッシュメモリ7に直接接続されるようにアドレスされる。
【0017】
フラッシュメモリ7は、フラッシュバス4を介して保持レジスタ列2に接続される。フラッシュバスに接続される他の要求(requestors(この図には示さない))がある場合もあるので、アービタ8が必要である。列2の保持レジスタReg0…Regpの内容をフラッシュメモリ7に転送できる前に、要求をフラッシュバスアービタ8に送らなければならない。これは、信号fbwrreqを活性化させることにより書込みコントローラ1によって達成される。アービタ8は、信号fbackを発することによりフラッシュメモリへのデータ転送を確認する。これは、フラッシュバス4またはメモリ7と書込みコンローラ1との間の一種のハンドシェーキング(handshaking)システムである。
【0018】
列2の保持レジスタReg0…Regpのアドレスは、フラッシュメモリ7のアドレシングマップ(addressing map)内にある。本実施形態では、アドレシングは順次であると考えられる。このように、Regpへの書込みの後に、フラッシュメモリ書込みコントローラ1は、次の状態(状態FBREQ22、図2参照)に飛び、この状態でフラッシュバス4は書込みを要求され、書込みコンローラ1が信号fbwrreqを発する。その直後に、書込みコンローラ1は、無条件にLOAD状態(図2の23)に飛び、ここで書込みコンローラ1は、フラッシュバスアービタ8がフラッシュメモリ7へのデータ転送を認識することを待つ。このように、自動ロード機能が上述したように実行される。
【0019】
フラッシュメモリ書込みコンローラ1は、状態マシンと考えることができる。このマシンの状態図を図2に示す。
【0020】
状態マシンは、主として2つの機能を有する。即ち、第1の機能は、マイクロプロセッサ6から列2の4つのデータ保持レジスタReg0…Regpへの転送を制御することである。これを書込み(WRITE)動作と呼ぶ。
【0021】
第2の機能は、列2のデータ保持レジスタからフラッシュバス4へデータを転送することである。これをLOAD機能と呼ぶ。
【0022】
書込みコントローラ1の様々な状態または動作をそれぞれ以下に簡単に説明する。
【0023】
書込み動作:
リセット後、メモリ書込みコントローラの状態マシンは、IDLE状態21にある。マイクロプロセッサがフラッシュメモリチップ選択信号dsel regdataを活性化することによりデータ保持レジスタReg0…Regpをアドレスすると、状態マシンは、WRITE状態24に切替る。引き続く書込みアクセスで(dsel regdataは多数のサイクル用に活性のままである)、状態マシンは、IDLE状態21にとどまることがある。WRITE状態はまた、直ちにLOAD状態23に先行されることもある。
【0024】
マイクロプロセッサによるデータ保持レジスタReg0…Regpへの書込みアクセスが活性のフラッシュバスロードサイクルの間に到着すると、待ちサイクル(信号bwait)がマイクロプロセッサのバスサイクルに挿入される。ロードサイクルが完了すると、bwaitが除去されて書込みサイクルが実行される。即ち、マイクロプロセッサのバスデータがレジスタReg0…Regpに書込まれる。
【0025】
ロード動作:
状態マシンがWRITE状態24にあるものと想定する。ここで、レジスタ列2の最後の保持レジスタ、即ちRegpをアドレスした後、状態マシンはFBREQ状態22に飛び、この状態で書込みの要求がフラッシュバスアービタ8(図1)に送られる。これが行われると直ぐに、状態マシンは無条件でLOAD状態23に切替る。LOAD状態23において、状態マシンは、フラッシュバスアービタ8がフラッシュメモリ7へのデータ転送を認識することを待つ。フラッシュバスアービタ8がフラッシュバス書込み要求を与えると、信号fb ldclとf webとを活性化させ、レジスタからのデータをフラッシュメモリ7に格納する。フラッシュバスアービタ8が信号fbackをコントローラ1に返すと、残ったそのデータはフラッシュメモリ7に転送され、状態マシンはIDLE状態21とWRITE状態24のいずれかに飛ぶ。列2への他の書込みが未処理であるときはWRITE状態24に飛ぶ。
【0026】
非自動ロード:
上述したように、フラッシュメモリ書込みアクセスが順次に発生すると、ロードサイクルは自動的に発生するが、書込みアクセスが続いて発生していなければロードサイクルを強制する必要がある場合がある。これは、コントロールレジスタ5にビットを書込むことにより行われる。書込みコントローラ1に信号loadreqが発せられてロード動作が実行される。
【0027】
状態マシン、即ち書込みコントローラ1がIDLE状態21にある間にマイクロプロセッサ6がコントロールレジスタ5に書込む場合、コントロールレジスタは直ちに更新される。コントローラ1がLOAD状態23にある間にマイクロプロセッサ6がコントロールレジスタ5に書込む場合、状態マシンがLOAD状態23を離れるまで待ち状態がマイクロプロセッサのサイクルに挿入される。ロード動作が完了した後でのみ、コントロールレジスタは更新される。
【0028】
単一の実施形態のみに本発明を示したが、当業者は、本発明の要旨および最初に記載した特許請求の範囲から逸脱することなく上述した原理に従って改良および変形を容易に導くことができる。
【図面の簡単な説明】
【図1】
本発明の第1の実施の形態の詳細なレイアウトを示す図である。
【図2】
図1の書込みコントローラの状態図である。
【符号の説明】
1 書込みコントローラ
2 レジスタ列
3 アドレスバス
4 フラッシュバス
5 コントロールレジスタ
6 マイクロプロセッサ
7 フラッシュメモリ
8 フラッシュバスアービタ
9 データバス
Reg0〜Regp 保持レジスタ
Claims (10)
- 少なくとも一つのマイクロプロセッサと少なくとも一つのメモリとを備える集積回路システムであって、
前記メモリは、フラッシュバスによって動作上前記マイクロプロセッサのデータバスに連結される不揮発性のメモリまたはフラッシュメモリであり、前記フラッシュバスは、前記マイクロプロセッサのバスの幅とは異なる幅を有し、
前記フラッシュメモリに書き込むべきデータをバッファリングする記録手段と、
前記フラッシュメモリへの書込み動作を制御する制御手段と、
をさらに備える集積回路システム。 - 前記フラッシュバスは、前記マイクロプロセッサのデータバスの幅nよりも広い幅mを有する専用バスであり、特に、mはnの倍数であり、
前記記録手段は、p×n=mとなるようにそれぞれがnビットの幅であるp個のレジスタを含む、
請求項1に記載の集積回路システム。 - 前記制御手段は、最後の前記レジスタが前記マイクロプロセッサからそのデータを受け取ると直ぐに、前記レジスタの列内にバッファリングされた前記データの前記フラッシュメモリへの自動転送を準備する、
請求項1または2に記載の集積回路システム。 - 前記レジスタの列からの前記データの前記フラッシュメモリへの選択的な非自動的な制御された転送は、前記最後のレジスタの状態とは独立に、前記制御手段の制御の下で行われる、
請求項1または2に記載の集積回路システム。 - 前記フラッシュバスへのアクセスを仲裁する仲裁手段をさらに備える請求項1乃至4のいずれかまたは2以上に記載の集積回路システム。
- 1つまたは2以上の前記レジスタが前記フラッシュメモリへのアドレス範囲へマッピングされ、
前記アドレス範囲内の最上位のアドレスが前記フラッシュメモリをアドレスするために用いられる、
請求項1乃至5のいずれかまたは2以上に記載の集積回路システム。 - フラッシュメモリのロード動作を実行すべきときに、前記マイクロプロセッサからの命令を受け取って出力信号を提供する制御レジスタをさらに備える、請求項1乃至6のいずれかまたは2以上に記載の集積回路システム。
- 前記制御手段は、前記フラッシュメモリへの前記データ転送が完了する前に、前記マイクロプロセッサが前記レジスタを更新しようとするときはいつでも、1または2以上の待ち状態を前記マイクロプロセッサのサイクルに導入する、
請求項1乃至7のいずれかまたは2以上に記載の集積回路システム。 - 前記レジスタ列からの前記データ転送を前記フラッシュバスの利用に同期させるために、前記仲裁手段と前記制御手段との間でハンドシェーキングの仕組みが実行される、請求項1乃至8のいずれかまたは2以上に記載の集積回路システム。
- 前記制御手段は、4つの状態、特に、アイドル(IDLE)状態、フラッシュバスリクエスト(FBREQ)状態、ロード(LOAD)状態およびライト(WRITE)状態を有する状態マシンである、請求項1乃至9のいずれかまたは2以上に記載の集積回路システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00113611 | 2000-06-27 | ||
PCT/EP2001/007010 WO2002001566A1 (en) | 2000-06-27 | 2001-06-20 | Integrated circuit with flash bridge and autoload |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004502224A true JP2004502224A (ja) | 2004-01-22 |
Family
ID=8169087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002505620A Withdrawn JP2004502224A (ja) | 2000-06-27 | 2001-06-20 | フラッシュブリッジとオートロードとを有する集積回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20020013880A1 (ja) |
EP (1) | EP1295295A1 (ja) |
JP (1) | JP2004502224A (ja) |
KR (1) | KR20020029760A (ja) |
WO (1) | WO2002001566A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172467A (ja) * | 2004-12-17 | 2006-06-29 | Samsung Electronics Co Ltd | フラッシュメモリデータ記憶装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001573A1 (en) * | 2000-06-27 | 2002-01-03 | Koninklijke Philips Electronics N.V. | Integrated circuit with flash memory |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US10430303B1 (en) * | 2013-03-15 | 2019-10-01 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9916213B1 (en) * | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4041461A (en) * | 1975-07-25 | 1977-08-09 | International Business Machines Corporation | Signal analyzer system |
US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
JP3328321B2 (ja) * | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
FR2708763B1 (fr) * | 1993-06-30 | 2002-04-05 | Intel Corp | Dispositif de mémoire flash, procédé et circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash et système d'ordinateur comprenant un dispositif de mémoire flash. |
JP3737528B2 (ja) * | 1993-06-30 | 2006-01-18 | インテル・コーポレーション | フラッシュ・メモリ・デバイス、それのページ・バッファー資源の割り当てをする方法および回路 |
US5802268A (en) * | 1994-11-22 | 1998-09-01 | Lucent Technologies Inc. | Digital processor with embedded eeprom memory |
US5541886A (en) * | 1994-12-27 | 1996-07-30 | Intel Corporation | Method and apparatus for storing control information in multi-bit non-volatile memory arrays |
US5765002A (en) * | 1995-03-13 | 1998-06-09 | Intel Corporation | Method and apparatus for minimizing power consumption in a microprocessor controlled storage device |
JPH09231130A (ja) * | 1996-02-26 | 1997-09-05 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5903496A (en) * | 1997-06-25 | 1999-05-11 | Intel Corporation | Synchronous page-mode non-volatile memory with burst order circuitry |
-
2001
- 2001-06-20 WO PCT/EP2001/007010 patent/WO2002001566A1/en not_active Application Discontinuation
- 2001-06-20 JP JP2002505620A patent/JP2004502224A/ja not_active Withdrawn
- 2001-06-20 KR KR1020027002493A patent/KR20020029760A/ko not_active Application Discontinuation
- 2001-06-20 EP EP01940586A patent/EP1295295A1/en not_active Withdrawn
- 2001-06-26 US US09/891,448 patent/US20020013880A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172467A (ja) * | 2004-12-17 | 2006-06-29 | Samsung Electronics Co Ltd | フラッシュメモリデータ記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1295295A1 (en) | 2003-03-26 |
KR20020029760A (ko) | 2002-04-19 |
WO2002001566A1 (en) | 2002-01-03 |
US20020013880A1 (en) | 2002-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004502224A (ja) | フラッシュブリッジとオートロードとを有する集積回路 | |
US7907469B2 (en) | Multi-port memory device for buffering between hosts and non-volatile memory devices | |
KR100506062B1 (ko) | 복합형 메모리 장치 | |
TWI776553B (zh) | 具有晶片內執行能力的串列式反及閘快閃記憶體 | |
JP2004110785A (ja) | メモリコントローラ | |
US8086767B2 (en) | Pin multiplexing | |
JP2007073052A (ja) | 集積回路から外部メモリへのアクセス | |
JP2006228194A (ja) | 内部メモリデバイス間の直接的データ移動が可能な複合メモリチップおよびデータ移動方法 | |
JP2004536417A (ja) | 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス | |
WO2002077824A1 (en) | Using volatile memory to buffer non-volatile memory | |
US7562182B2 (en) | Memory access | |
JP3384770B2 (ja) | コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置 | |
JP2003281084A (ja) | 外部バスへのアクセスを効率的に行うマイクロプロセッサ | |
JP2008176518A (ja) | マイクロコンピュータ | |
US8677033B2 (en) | Method for initializing registers of peripherals in a microcontroller | |
JP2005107873A (ja) | 半導体集積回路 | |
JP2001202285A (ja) | マイクロプロセッサ及びそのプログラム命令とデータの格納方法 | |
JP3563340B2 (ja) | メモリコントローラ | |
JPH0588964A (ja) | 固有バースト検知を有するデータ格納システム | |
JP2002049607A (ja) | キャッシュ内蔵マイクロコンピュータ | |
JP4383495B2 (ja) | 半導体集積回路 | |
JPS6269347A (ja) | ダイレクトメモリアクセスコントロ−ラ | |
JP2004334257A (ja) | メモリアクセスシステム及びメモリアクセス装置 | |
JP2004507817A (ja) | Dram制御回路 | |
JPH1083373A (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080902 |