JP2001510600A - 回路内プログラミング構造を埋め込んだプロセッサ - Google Patents

回路内プログラミング構造を埋め込んだプロセッサ

Info

Publication number
JP2001510600A
JP2001510600A JP52040298A JP52040298A JP2001510600A JP 2001510600 A JP2001510600 A JP 2001510600A JP 52040298 A JP52040298 A JP 52040298A JP 52040298 A JP52040298 A JP 52040298A JP 2001510600 A JP2001510600 A JP 2001510600A
Authority
JP
Japan
Prior art keywords
circuit
programming
array
memory
memory array
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.)
Granted
Application number
JP52040298A
Other languages
English (en)
Other versions
JP4291881B2 (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 JP2001510600A publication Critical patent/JP2001510600A/ja
Application granted granted Critical
Publication of JP4291881B2 publication Critical patent/JP4291881B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 回路内プログラミングを有する集積回路(10)のための構造が、チップ上に記憶された他のソフトウェアと同様に、前記回路内プログラミングの命令セット自体を動的に変更させる。前記構造は集積回路上のマイクロコントローラ(11)に基づいており、前記集積回路は命令を記憶する埋め込まれた不揮発性メモリアレイの2以上のバンクを有し、回路内プログラミング命令セット(40)を含んでいる。デバイスに記憶された制御プログラムを使用して、前記デバイスは遠方の相手との回路内プログラミング交換局を対話式に確立し、必要な時に、前記回路内プログラミング命令セットを含むデータ及びソフトウェアを更新する。プロセッサとICPコードは回路内プログラミングの更新指令に応答し、第1メモリアレイ(17)からの前記回路内プログラミングセットのコピーを第2メモリアレイ(16)に書き込み、前記回路内プログラミングに前記第2メモリアレイからの前記回路内プログラミングセットを実行させ、前記外部ポートからのデータで前記第1メモリアレイの不揮発性メモリセルをプログラムする。

Description

【発明の詳細な説明】 回路内プログラミング構造を埋め込んだプロセッサ 本発明の背景 発明の分野 本発明は集積回路上のプロセッサによる実行のための命令シーケンスを記憶す る不揮発性メモリを有する集積回路に関し、より詳細には命令の記憶されたシー ケンスを更新及び修正する回路内プログラミングを成し遂げる技術に関する。 関連技術の説明 集積回路のマイクロコントローラは該マイクロコントローラにより実行される 命令シーケンスを記憶するためチップ上に不揮発性メモリのアレイを含むものを 開発した。命令シーケンスは読み出し専用メモリ(ROM)に記憶されることが でき、該ROMはデバイスの製作中にプログラムされなければならず、又更新す ることはできない。別のアプローチでは、命令はEPROMアレイに記憶される ことができる。これらのタイプのデバイスはデバイスが回路に配置される前にE PROMアレイをプログラムするために使用される特別のプログラミングデバイ スを必要とする。更なる他のシステムでは、EEPROMメモリが命令を記憶す るために使用可能である。EEPROMはEPROMより非常に早くプログラム でき、作動中に修正することができる。また、フラッシュメモリが利用でき、命 令を記憶する不揮発性メモリのより高密度で高速の再プログラミングを可能にす る。不揮発性メモリがEEPROM又はフラッシュメモリのように再プログラム 可能でマイクロコントローラに結合される時、デバイスが回路内にある間にデバ イスの再プログラミングが成し遂げられ、対話式アルゴリズムに基づいて回路内 プログラミングを可能にする。 例えば、インターネット環境では、リモートデバイスに命令セツト及びデータ を対話式にダウンロードする能力は非常に貴重である。例えば、会社はサービス センタに製品を戻すように顧客に要求することなしに顧客にサービスを提供する ことができる。それどころか、会社はインターネット又は電話線のような通信経 路を通して、顧客のデバイスの回路内プログラミング能力を使用して診断機能を 実行することができる。ソフトウェアの手直しは顧客にダウンロードさせること ができ、製品は修正又は更新したコードで再度与えることができる。 この性能を有する従来のデバイスの例は、カリフォルニアのAtmel of San Jos eにより製造されたAT89S8252マイクロコントローラ及びオランダのEindhovenのP hillps Semiconductorsにより製造されたP83CE558シングルチップマイクロコン トローラを含んでいる。フィリップス(Phillps)のP83CE558マイクロコントロ ーラの構造によれば、マスクROMは命令の回路内プログラミングICPセット のために利用され、チップのフラッシュメモリを更新するために使用されている 。従って、フィリップスのマイクロコントローラは専用のマスクROMモジュー ルを必要とし各個人環境のため手直ししたICPコードを記憶する。特別の環境 にICPコードを適合させるためには、マスクROMがコード化可能なようにデ バイスの製造が完了する前に環境が知られなければならない。更に、ICP通信 経路はフィリップスのマイクロコントローラのシリアルRS232ポートに取り付け られている。シリアルポートへの制限はマイクロコントローラの使用を比較的狭 い範囲の電位の使用に限定し、シリアルポートが更新されたソフトウェアの提供 する通信経路とうまく一致しない動的な通信環境においてICP機能を利用する のを困難にさせる。 アトメル(Atmel)のAT89S8252マイクロコントローラの構造によれば、チップ 上の専用シリアル周辺インタフェース(SPI)ポートは動的に変更可能な命令 を記憶するフラッシュメモリの更新に使用される。プログラム論理はSPIポー トに結合され、そのため柔軟性がない。更に、回路内プログラミング技術の修正 はSPIポートへのハードウェア専用のため行うことができない。アトメルのチ ップの更なる不利な点は、ICPイニシエータとハンドシェイキングすると共に フラッシュメモリ用の消去/プログラム/確認の波形をエミュレートするために 使用される複雑なハードウェアがチップに加えられなければならないこと、SP Iバス制限が異なるシステムの適用に必ずしも最良の選択であるとは限らないこ と、及び元のリセット回路を修正するために特別のシステム論理が要求され、 回路内プログラミングアルゴリズムにより密接に結び付けられることである。更 に、複合SPIドライバ及びレシーバ論理はアトメルのマイクロコントローラを 使用するシステムのチップの外部で要求される。 従って、回路内プログラミング構造はフラッシュメモリ又は他の動的に変更可 能な不揮発メモリによって開発された。しかし、従来技術のアプローチは使用さ れた回路内アルゴリズムで柔軟性がなかった。従って、通信の要求が変更可能で 回路内プログラミングを使用するデバイスの使用が幅広い種類の環境を介して急 激に増す動的なネットワーク環境において、より柔軟な回路内プログラミング性 能を提供するのが好ましい。更に、回路内プログラミング性能は、電源がプロセ ス中に切られている場合でさえ、回路内プログラミングプロセス中に命令が失わ れることがないことを保証しなければならない。その技術は遠方の相手との対話 型通信を可能にし回路内プログラミングプロセスを成し遂げる。これらの技術は 、インテル/マイクロソフト/デジタル標準全体シリアルバス(USB)、フィ リップ電子/コンピュータアクセス技術標準アクセスバス、アップルコンピュー タ/IBM/AT&T標準ゲオポート、アップルコンピュータ/テキサスインス トルメンツ/NCR標準1349ファイアワイア、インターネット、シリアルポート (RS232等)、及び他の環境を含む幅広い種類のメディアに渡って利用されてい るに違いない。 従って、集積回路での使用のためより柔軟な回路内プログラミング構造を提供 するのが好ましい。 本発明の概要 本発明は回路内プログラミングを支援する集積回路のための構造を提供し、チ ップに記憶された他のソフトウェアと同様に回路内プログラミング命令セット自 体を動的に変更することを可能にする。これは回路内プログラミングデバイスの 有用性を幅広い種類の通信環境に著しく拡大し、特定のシステムの要求に適合す るようにシリアルポート、パラレルポート、電話通信、インターネット通信、及 び他の通信プロトコルを支援する。本発明は命令を記憶する埋込み型不揮発性メ モリアレイを有する集積回路のマイクロプロセッサ又は他の命令実行プロセッサ に基づき、回路内プログラミング命令セットを含んでいる。デバイスに記憶され た制御プログラムを使用して、デバイスは遠方の相手との回路内プログラミング 交換局を対話式に確立し、必要な時に、回路内プログラミングシーケンスを含む データ及びソフトウェアを更新する。例えば、自己更新アルゴリズムは本発明に よると以下のように進められる。 1.デバイスは回路内プログラミング要求を受け取る。 2.イニシエータが確認される。 3.デバイスは識別子を要求のイニシエータに戻す。 4.パーティがうまく確認されると、情報交換が進行する。 5.回路内プログラミングを始めるため、プログラムの実行がチップの不揮発性 メモリの回路内プログラムルーチンにジャンプする。 6.回路内プログラミングルーチンがそれ自身又は少なくともICPの核をチッ プのメモリの別のバンクに映す。 7.回路内プログラミングソフトウェアはそれ自身を不能にし、映したICPシ ーケンスを生き返らせる。 8.映したICPシーケンスは新しい回路内プログラミングソフトウェアを元の ICPの位置にダウンロードする。 9.映したICPシーケンスはそれ自身を不能にし、元のフラッシュアレイの新 しいICPソフトウェアで生き返らせる。 10.正常のプログラムの実行がその後再開される。 フラッシュメモリデバイスに記憶されたソフトウェアの他の部分用の新しい命 令及びデータは、それが作動された後、元のICPコード、映したICPコード 、又は新しいICPコードによって、シーケンスの多数の場所で実行することが できる。 従って、本発明は命令のプログラムを実行するプロセッサを有する集積回路の 回路内プログラミング用の装置として特徴を表すことができる。装置は第1メモ リアレイを含み、プロセッサによる実行のための命令を記憶する集積回路上に、 命令の回路内プログラミングセットを含む、不揮発性メモリセルを含んでいる。 また、第2メモリアレイは好適なシステムで不揮発性メモリセルを含み、集積回 路に提供される。1以上の外部ポートが集積回路上に提供され、それによりデー タが外部の情報源から受け取られる。制御論理はプロセッサとICPコードの核 を含み、回路内プログラミング更新指令に応答し、第1メモリアレイからの回路 内プログラミングセットのコピーを第2メモリアレイに書き込むと共に第2メモ リアレイからの回路内プログラミングセットをプロセッサに実行させ、第1メモ リアレイの不揮発性メモリセルを外部ポートからのデータでプログラムする。 本発明の1つの特徴によれば、第1メモリアレイは不揮発性メモリセルの別々 に消去可能な複数のブロックを含み、回路内プログラミングセットは特定のブロ ックに記憶されている。回路内プログラミングセットの実行中、特定のブロック は修正され新しい回路内プログラミングセットを生成する。その後、制御論理は 第1メモリアレイからの新しい回路内プログラミングセットをプロセッサに実行 させる。 本発明の更なる別の特徴によると、集積回路は、1以上のシリアルポート、1 以上のパラレルポート、及び潜在的に1以上の専用通信ポートのような、外部の データ源への複数のポートを含んでいる。回路内プログラミングセットの実行中 に外部ポートとして使用されるような複数のポート中のポートは、回路内プログ ラミングセット自身の命令により決定され、従って、本発明の1つの好適な実施 例で動的に変更可能である。 本発明の別の特徴によれば、集積回路は、命令の回路内プログラミングセット から独立した第1メモリアレイ及び任意に第2メモリアレイをプログラムすると 共に確認するためのデータ経路を含んでいる。従って、多重I/Oピン等を使用 して、元のソフトウェアは製造中又はチップをシステムに取りつける前にデバイ スにロードされることができる。元のコードを修正するためには、回路内プログ ラミングプロセスが利用される。 本発明は集積回路のコントローラとしての特徴を表し、プロセッサモジュール への命令入力で受け取った命令を実行する集積回路のプロセッサを含んでいる。 不揮発性メモリセルの第1及び第2のメモリアレイは集積回路上に提供されてい る。第1メモリアレイは不揮発性セルの特定のブロックに命令の回路内プログラ ミングセットを記憶する。外部ポートは集積回路上に提供され、それによりデー タが外部の情報源から受け取られる。制御論理はICPコードにプロセツサと核 を含み、回路内プログラミング更新指令に応答して、第1メモリアレイからの回 路内プログラミングセットのコピーを第2メモリアレイに書き込むと共に第2メ モリから回路内プログラミングセットを第1メモリアレイの不揮発性メモリセル を外部ポートから受け取ったデータでプログラムさせる。集積回路のデータ経路 は回路内プログラミングセットから独立して第1メモリアレイをプログラムする と共に確認するために提供される。別の実施例では、外部ポートはシリアルポー トとパラレルポートを含んでいる。更なる別の実施例では、デバイス上の複数の 外部ポートと、回路内プログラミングシーケンスが回路内プログラミングソフト ウェア自体により指定されている間の使用のために選択されたものがある。 従って、命令のプログラムを実行するプロセッサを有する集積回路の回路内プ ログラムの方法が提供される。その方法は、 1.第1の消去可能でプログラム可能な読み出し専用メモリアレイと第2の消去 可能でプログラム可能な読み出し専用メモリアレイを集積回路上に提供すること 、 2.第1アレイに命令の回路内プログラミングセットを記憶すること、 3.集積回路の外部のイニシエータから回路内プログラム指令を受け取ること、 4.回路内プログラム指令に応じて、第1アレイからの回路内プログラミングセ ットを第2アレイにコピーし、第2アレイからの回路内プログラミングセツトを プロセッサで実行すること、 5.回路内プログラミングセットの制御下で、少なくとも第1アレイの選択した 部分を外部の情報源からのデータでプログラムすること、及び 6.第1アレイのその部分をプログラムした後、第1アレイからの回路内プログ ラミングセットをプロセッサで実行すること、 を含んでいる。 本発明の別の特徴によると、その方法は第1メモリアレイの選択した部分に回 路内プログラミングセットを記憶することを含んでいる。二者択一的には、その 方法は、回路内プログラミング指令により示された回路内プログラミングシーケ ンスが回路内プログラミングセットを修正することを含んでいるかどうかをイニ シエータから決定する段階を含んでいる。シーケンスが修正を含んでいる場合に は、その後コピー及び実行する段階が行われる。そうでなければ、その後コピー 及び実行する段階はスキップされ、アルゴリズムは直接続行しメモリアレイの他 の部分の命令及びデータをプログラムする。 要するに、本発明は回路内プログラミング技術を提供し、命令の回路内プログ ラミングシーケンスの動的変更を可能にする。これは幅広い種類の環境でのデバ イスの使用を可能にし、環境を動的に変更する。例えば、通信ピロトコルが更新 される場合、その後命令自体の回路内プログラミングシーケンスは修正を必要と してもよい。本発明によれば、通信プロトコルが改良されスピードが増加するに 連れて、マイクロコントローラはフィールドに配置され動的に更新されることが 可能である。更に、デバイスは幅広い種類の通信ポートに適合可能であり、回路 内プログラミング性能でより広く行き渡ったマイクロコントローラの適用が可能 である。 本発明の他の特徴及び利点は図面の概観、詳細な説明、及び後に続く特許請求 の範囲で理解できる。 図面の簡単な説明 図1は集積回路のマイクロコントローラの概略ブロック図であり、本発明の回 路内プログラミング構造を含んでいる。 図2A〜図2Cは本発明による好適な回路内プログラミングプロセスのフロー チャートである。 図3は図2A〜図2Cのプロセスで呼び出される更新ブロックルーチンのフロ ーチャートである。 図4は本発明の適用の環境を示している。 詳細な説明 本発明の好適な実施例の詳細な説明は図1,2A〜2C,3及び4に関して提 供され、図1はデバイスのハードウェアブロック図を提供する。 図1は集積回路10に埋め込まれたマイクロプロセッサ11のようなプロセッ サを有する集積回路10の簡略図である。マイクロコントローラ11は複数のシ リアルポート12、複数のパラレルポート13、割り込みピン14、及び他のシ ングルピン15を含んでいる。例えば、マイクロコントローラ11は本技術分野 で公知の標準8051マイクロコントローラ命令セットと互換性があってもよい。複 数のポート12及び13が標準インターフェース技術を使用してデバイス上で実 行される。別の設計はチップに特別の目的のポートを含んでいる。 本発明の回路内プログラミングの機能性を支援するため、不揮発性メモリの第 1アレイ16及び不揮発メモリの第2アレイは集積回路10に埋め込まれている 。好適な実施例によれば、第1アレイ16はフラッシュROMセルを含み、該フ ラッシュROMセルは本技術分野で公知なようにフローティングゲートメモリセ ルを使用して実行される。第1アレイはフラッシュROMセルの複数のブロック 、ブロックNを通るブロック0を含み、バンク0と呼ばれる。また、第2アレイ 17はフラッシュROMを含み、セルの複数のブロック、ブロックMを通るブロ ック0を含み、バンク1と呼ばれる。 集積回路は本技術分野で公知なように、アレイ16及び17の消去及びプログ ラミング用の正常経路20と消去を確認すると共にプロセスをプログラミングす る正常確認経路21とを含んでいる。好適なシステムでは、正常経路20及び2 1は集積回路10上でI/Oピンにより外部回路に接続されている。更に、集積 回路上のこれらのI/Oピンはポート12,13、割り込み14、及び他の信号 15を支援する他のピンで多重化される。従って、例えばテストモード又は製造 モード中にI/Oチップの他の機能が不能の間、正常消去及びプログラム経路2 0及び正常確認経路21が使用可能である。多重化したI/Oピンを行う技術は 本技術分野では常識である。 第1アレイ16と第2アレイ17はそれぞれの読み出しポート24及び25を 含み、アレイに記憶された命令をマイクロコントローラ11に提供する。従って 、読み出しポート24はコード入力多重装置26に結合され、読み出しポート2 5はコード入力多重装置26に結合されている。同様の方法で、両方の読み出し ポート24及び25は確認多重装置に結合され、アレイ16とアレイ17のデー タが確認手続きの間に読み出される。 コード多重装置26の出力はマイクロコントローラ11のための命令入力28 に供給される。確認多重装置27の出力はマイクロコントローラ11の読み出し 入力29及び正常確認経路21に供給される。 正常消去/プログラム経路20は消去/プログラムセレクタ30に接続されて いる。セレクタ30への第2入力はマイクロコントローラ11からの線38上の 消去及びプログラム信号を含んでいる。マイクロコントローラ11は線31及び 32で示したように多重装置26及び多重装置27を制御する。また、マイクロ コントローラ11は線33で示されるようにセレクタ30を制御する。 消去/プログラムセレクタ30は線35上の消去及びプログラムデータ及び信 号を第1アレイ16及び第2アレイ17の消去/プログラムポート36に供給す る。消去/プログラムポート36は、制御状態機械、高電圧発生機、負電圧発生 機、タイマ等のように、アレイのための消去及びプログラム動作で使用される論 理及び回路を含んでいる。好適な実施例では、共用の消去/プログラム回路が第 1アレイ16及び第2アレイ17の両方のために使用される。代案では、別個の 消去/プログラム回路が別個の不揮発性メモリセルのために使用される。別個の 消去/プログラム回路の使用は、チップ領域の消費を犠牲にして、デバイスの実 行を簡単にするために好まれる。 図1で示された実施例では、フラッシュROMセルの2つのバンクのみが示さ れている。別のシステムはフラッシュROMセルの2以上のバンクを含み、回路 内プログラミング構造の設計及び実行で一層著しい柔軟性を可能にする。 図1に示されているように、メモリアレイ16及び17はマイクロコントロー ラ11により実行される命令を記憶する。命令の1部分はICPの核を含み、命 令40の回路内プログラミングセットと呼ばれている。ICPの核は回路内プロ グラミングプロセス中に保存しなければならない本質的なICPコード及び又は システムコードを含んでいる。図1に示された実施例では、回路内プログラミン グセットはフラッシュアレイ17のバンク1のブロックMに記憶されている。回 路内プログラミングセット40は所定の実行のデバイスの特定のブロックに記憶 されることができる。また、セグメント化したフラッシュ構造により、アレイ1 6及び17は別々に消去可能な複数のセルのブロックを含み、例えば、Yinらに より発明された「フラッシュEPROMの集積回路構造(FLASH EPROM INTEGRATED CIRCUIT ARCHITECTURE)」という表題の米国特許No.5,526,307で説 明されている。別の実施例は第1アレイ16の別個に消去可能な複数のブロック と第2アレイのシングルブロックを含んでいる。二者択一的に、シングルブロッ クが各アレイに記憶されていてもよい。メモリ構造の幅広い種類の組み合わせは 特定のシステムの要求の適合するように行われることができる。 図1の構造を使用して、システムの設計者は回路内プログラミングコードをそ れらの特定の環境に適合することを可能にする。従って、製造者は図1に示すよ うに、それらの回路の実行のため集積回路を選択する。回路内プログラムコード が用意されていない場合、マイクロコントローラが利用され、チップ上で利用可 能な多様な通信ポートが利用され、回路盤上で要求される特別の論理をマイクロ コントローラで最小にし、描かれた特定の回路内プログラミング(ICP)環境 にシステムを一致させる。回路内プログラミングのための適切な接続とプロトコ ルが設計者により選択される。選択された環境用のICPコードか開発され改良 されている。次に、ICPコードはプログラムに統合され、システムの正常動作 中に実行される。正常消去及びプログラム経路20を使用して、集積されたIC Pコード及びユーザーコードがフラッシュメモリアレイ16及び17に記憶され ている。次に、正常確認経路21を使用して、消去及びプログラム動作が確認さ れる。集積されたICPコードを有する高性能のマイクロコントローラは、その 後システム内部に配置される。ICP手続きが行われテストされる。ICPコー ドかうまく動作すると、その後システムがテストされる。システムがうまく動作 すると、その後システム製品は大量生産可能となる。ICPコードが修正を必要 とする場合には、その後プロセスが対話式で行われ、ICPコードを最適化する 。同様に、システムコードは同じ技術を使用して最適化される。従って、製造者 により開発された本システムの最終ユーザーはマイクロコントローラに埋め込ま れた頑強な回路内プログラミングコードを有し、本発明により、対話式の回路内 プログラミング技術を使用して作動中に更新及び修正することが可能である。 図2A〜図2Cは最終ユーザーにより実行される本発明に係る回路内プログラ ミング技術を示している。図2A〜図2Cによると、論理はマイクロコントロー ラにより実行されるソフトウェアにより、専用の論理回路により、又はソフトウ ェアと専用の論理回路の組み合わせにより実行される。 点200で示されているように、リモートイニシエータが、命令の回路内プロ グラミングセット又は集積回路のフラッシュROMバンクの1つに記憶された他 のソフトウェアを更新又は置換することを望む時、プロセスが図2Aで始まる。 第1段階はイニシエータを含み、集積回路上のI/Oポートを介してICP修正 要求を送る(ブロック201)。マイクロコントローラはイニシエータの識別子 を検査し、その要求を実行する(ブロック202)。識別子検査が失敗した場合 、アルゴリズムは失敗の限界数が起きたかどうかを決定する(ブロック203) 。テストが何回も失敗した場合、その後マイクロコントローラはイニシエータに 認識の失敗応答を発行し(ブロック204)、図2Cの点Cに分岐する。ブロッ ク202のテストが何回も失敗しなかった場合、その後マイクロコントローラは イニシエータにイニシエータの識別子の要求を発行し(ブロック205)、ブロ ック201に分岐する。ブロック202のイニシエータの識別子テストが合格し た場合、マイクロコントローラのイニシエータは更新を確認する改訂番号を発行 する(ブロック206)。次に、マイクロコントローラは次の段階でICP修正 要求を認識し確認する(ブロック207)。例えば、1つの実施例では、マイク ロコントローラはICP認識指令を発行し、ICPイニシエータに戻す。イニシ エータは肯定応答で応答し、ICP通信路を開放する。 次の段階では、マイクロコントローラはICP修正要求が確認されたかどうか を決定する(ブロック208)。要求が確認されない場合、その後マイクロコン トローラは正常のアクティビティを続行し(ブロック209)、シーケンスは終 わる(ブロック210)。ICP修正要求が確認されると、その後マイクロコン トローラはICPコードにトラップを実行する(ブロック211)。従って、マ イクロコントローラはその電流状態を保持し、正常のアクティビティを遮断し、 ICPコードにジャンプし、回路内プログラミングシーケンスの準備を始める。 プロセスは図2Bの点Aに続く。 図2Bの第1段階はハンドシェイクプロトコルをイニシエータと関連させ、I CP修正シーケンスの範囲を決定する(ブロック212)。例えば、ICP修正 シーケンスは集積回路の第1及び第2アレイに1個のブロック又は多数のブロッ クを含んでいる。また、ハンドシェイクプロトコルはICPコード自体が修正動 作の対象であるかどうかを決定する。従って、次の段階はICPブロックが修正 シーケンスに含まれるかどうかを決定する(ブロック213)。ICPブロック が修正シーケンスに含まれない場合には、その後アルゴリズムは示したように点 Bに進み、図2Cで続けられる。ICP修正シーケンスがICPブロックを含む 場合、その後ICP論理は映したICPコードを記憶するブロックを選択する( ICPコードが元来バンク1に記憶される実施例のバンク0のブロックi)。I CPコードを映すブロックを選択して、選択したブロックは消去される(ブロッ ク214)。次に、元のICPコードはバンク0の選択ブロックにプログラムさ れる(ブロック215)。 プログラムシーケンスの後、確認動作が実行される(ブロック216)。確認 動作が失敗した場合、その後アルゴリズムはICPブロックのプログラムが何回 も失敗したかどうかを決定する(ブロック217)。そうでなければ、その後I CPブロックのプログラムはブロック214にループすることにより再試行する 。シーケンスが何回も失敗すると、その後論理はICPの失敗応答をイニシエー タに発行し(ブロック218)、図2Cの点Cに分岐する。 ブロック216で確認手続きが終わると、その後コード多重装置(例えば図1 の多重装置26)は切り替えられ、映したICPコードが記憶されるバンクから 命令を選択する(ブロック219)。映したICPコードが実行され、バンク1 のブロックMのためパラメータセットと共に更新ブロックルーチンへの呼出しが なされる(ブロック220)。更新ブロックルーチンは図3に示され、おそらく 新しいICPコードでバンク1のブロックを更新することになる。段階215の 後、コード多重装置は切り替えられ、元のバンクのバンク1に戻し、おそらく新 しいICPコードを記憶する(ブロック221)。その後アルゴリズムは図2C の点Bに進む。 図2Cでは、次の段階は、もしあれば、ICP手続きのため別のブロックを選 択することを含んでいる(ブロック223)。別のブロックを選択した後、更新 ブロックはバンクjのブロックiのパラメータセットで呼び出され、選択したブ ロックを示す(ブロック224)。アルゴリズムは次に回路内プログラミングシ ーケンスの全てのブロックが完了したかどうかを決定する(ブロック225)。 YESの場合には、その後全てのプログラムされたブロックのため検査合計が計 算される(ブロック226)。ブロック225でNOの場合には、その後アルゴ リズムはブロック223にループする。ループは回路内プログラミング手続きの 所定の範囲内の全てのブロックか完了するまで続く。ICP手続きの完了後、全 てのプログラムされたブロックのため検査合計が計算される(ブロック226) 。プロトコルは始動し計算された検査合計をイニシエータにより提供された検査 合計に突き合わせる(ブロック227)。一致した場合には、その後マイクロコ ントローラは改訂番号を記録し、ICPの完了応答をイニシエータに発行する( ブロツク228)。その後マイクロコントローラが正常動作に戻り(ブロック2 29)、アルゴリズムは終了する(ブロック230)。検査合計がブロック22 7で一致しない場合、その後アルゴリズムはICPシーケンスが何回も失敗した かどうかを決定する(ブロック231)。何回も失敗していない場合には、その 後アルゴリズムは図2Aの点Aにループし、ICPシーケンスを再試行する。I CPシーケンスが何回も失敗した場合には、その後アルゴリズムはICPの失敗 応答をイニシエータに発行し(ブロック232)、手続きが終了する(ブロック 230)。 更新ブロック手続きが図3に示されている。従って、更新ブロック手続きはパ ラメータセット、例えばバンクkのブロックjと共に呼び出される(ブロック3 00)。シーケンスは確認多重装置を設定し確認経路のためバンクkを選択する (ブロック301)。バンクkの次のブロックjはICP消去経路を使用して消 去される(ブロック302)。消去プロセスの後、確認シーケンスが実行される (ブロック303)。確認が失敗すると、その後消去手続きが何回も失敗したか どうかを決定する(ブロック304)。もしそうでなければ、その後アルゴリズ ムはブロツク302にループバックし消去を再試行する。それが何回も失敗した 場合には、その後エラーが返送される(ブロック305)。ブロック303から 首尾よく確認した後、データがICPイニシエータから検索される(ブロック3 06)。ICPイニシエータからのデータは1バイト以上のデータでもよく、ユ ーザーに選択されたICPプロトコルによる。 ICPイニシエータからのデータを検索後、アルゴリズムはICPプログラム 経路を介してバンクkのブロックjをプログラムする(ブロック307)。プロ グラムシーケンス後、確認動作が実行される(ブロック308)。プログラム確 認が失敗すると、その後それは失敗が何回も起きたかどうかを決定する(ブロッ ク309)。それが何回も失敗した場合には、その後エラーが返送される(ブロ ック310)。確認が何回も失敗した場合には、その後プログラムはブロック3 07にループすることにより再試行される。ブロック308で確認が成功すると 、その後ICPシーケンスがバンクkのブロックjにプログラムするためのデー タをもっと含んでいるかどうか決定する(ブロック311)。YESの場合には 、その後アルゴリズムはブロック306にループし、プログラミングのためのデ ータの次のシーケンスを検索する。それ以上バイトが残っていない場合には、そ の後アルゴリズムは戻る(ブロック312)。 図4は本発明の使用環境を示している。本発明はプリント回路板401又は他 のシステム手段に配置される集積回路400で実行される。マイクロコントロー ラ400はそれが利用されるシステムの複数の集積回路402,403,404 及び又は405に結合されている。チップ405はICPプログラミングが成し 遂げられる通信路を渡るブリッジを提供する。チップ405は単純ネットワーク ポートを含んでもよく、又は特別グルー(glue)論理を含んでもよく、存在するシ ステムの動きにICPの解釈を明白にする。ポートチップ405の特性は異なる 適用において相違するであろう。チップ405は種々のICP通信路に結合され 、データ率、エラー率、及び複雑さの異なるレベルを有してもよい。例えば、1 実施例では、通信路406はインターネットプロトコルを含んでいる。通信路4 06はパーソナルコンピュータ又はワークステーションのようなICPイニシエ ータ407に結合されている。ワークステーション407はネットワーク又は他 の通信路408ににより大規模記憶装置409に結合されている。例えば、ワー クステーション407は通信路406のインターネットを介してアクセスされた ワールドワイドウェブサイトであってもよい。二者択一的には、他のシステムに おいて、ワークステーション407はダイアル呼出しモデムリンクを横切るイニ シエータとして動作する。別の代案では、通信リンク406はパーソナルコン ピュータの通信バスであり、回路内ソフトウェアはバス406を渡ってロードさ れ、システム401へのアップグレードがフロッピディスクの最終ユーザーに分 散し、又はさもなければパーソナルコンピュータ407を介してロードされるよ うになっている。 従って、本発明は高性能で柔軟性のあるフラッシュメモリを基本にしたマイク ロコントローラ構造を提供し、種々の回路内プログラミングの適用を可能にする 。本発明によると、例えば、テレビ又はビデオモニター、デジタルビデオディス ク又はCD‐ROM、遠隔制御装置、又は移動電話が回路内プログラミング構造 を有するマイクロコントローラを含んでいてもよい。その後更新されたICPコ ードのいろいろな情報源が本発明の柔軟な構造を使用して各デバイスにロード可 能である。本発明の単一回路内プログラミング構造は幅広い種類の適用において 利用可能である。回路内プログラミング構造を支援するため、グルー論理はほと んど又は全く必要とされない。更に、回路内プログラミングに結合したマイクロ コントローラの力は柔軟性を増加させると共に所定の環境のためICPプロトコ ルに特注するために影響を与えることが可能である。 本発明の好適な実施例の前述した説明は図解又は説明の目的のため表されたも のである。本発明を開示された正確な形式に徹底又は限定することを意図するも のではない。明らかに、この技術分野の熟練した実務家にとって多くの修正及び 変更が明白であろう。本発明の範囲は以下の特許請求の範囲及びそれらの同等物 により定義されることを意図している。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リー チー ホルン 台湾 タイペイ サン チュン チュン チェン ノース ロード 2エフ ナンバ ー293

Claims (1)

  1. 【特許請求の範囲】 1.プロセッサによる実行のための命令を記憶する不揮発性メモリセルを集積回 路に含み、第1メモリアレイをプログラミングする命令の回路内プログラミン グセットを含む第1メモリアレイと、 集積回路上の第2メモリアレイと、 データが外部の情報源から受け取られる集積回路上の外部ポートと、 回路内プログラム更新指令に応答し、第1メモリアレイからの回路内プログ ラミングセットのコピーを第2メモリアレイに書き込むと共に第2メモリアレ イからの回路内プログラミングセットに外部ポートからのデータで第1メモリ アレイの不揮発性メモリセルをプログラムさせる制御論理とを含む、 ことを特徴とする命令のプログラムを実行するプロセッサを有する集積回路の 回路内プログラミング用装置。 2.第1メモリアレイの前記不揮発性メモリセルがフローティングゲートメモリ セルを含む請求項1に記載の装置。 3.前記第2メモリアレイが不揮発性メモリセルを含む請求項1に記載の装置。 4.第1メモリアレイ及び第2メモリアレイの前記不揮発性メモリセルがフロー ティングゲートメモリセルを含む請求項3に記載の装置。 5.前記第1メモリアレイが不揮発性メモリセルの別個に消去可能な複数のブロ ックを含み、回路内プログラミングセットが前記複数のブロックの特定のブロ ックに記憶され、前記回路内プログラミングブロックセットの実行中に前記特 定のブロックが修正され新しい回路内プログラミングセットを生成し、その後 制御論理が前記第1メモリセルからの新しい回路内プログラミングセットを前 記プロセッサに実行させる請求項1に記載の装置。 6.前記回路内プログラミングセットから独立して前記第1メモリアレイをプロ グラムすると共に確認するデータ経路を含む請求項1の装置。 7.前記第1メモリアレイ及び第2メモリアレイがフラッシュの消去可能でプロ グラム可能な読み出し専用メモリを含む請求項1に記載の装置。 8.前記制御論理が前記プロセッサにより実行される命令を含む請求項1に記載 の装置。 9.前記外部ポートがシリアルポートを含む請求項1に記載の装置。 10.前記外部ポートがパラレルポートを含む請求項1に記載の装置。 11.外部のセットのデータ源への複数のポートを含み、前記回路内プログラミン グセットの実行中に前記外部ポートのために使用される前記複数のポート中の ポートが前記回路内プログラミングセットの命令により決定される請求項1に 記載の装置。 12.外部のデータ源への複数のポートを含み、前記回路内プログラムの更新指令 が複数のポートのうちの1つで受け取られる請求項1に記載の装置。 13.前記外部ポートのために使用される前記複数のポート中のポートと、前記回 路内プログラム更新指令が受け取られる前記複数のポート中のポートとが、前 記回路内プログラミングセットの命令により決定される請求項12に記載の装 置。 14.前記第1メモリアレイの不揮発性メモリセルがフローティングゲートメモリ セルを含み、前記第2メモリアレイがフローティングゲートメモリセルを含み 、前記第1及び第2メモリアレイに結合された消去及びプログラムポートを含 み、前記第1及び第2メモリアレイを消去すると共にプログラムするために提 供される請求項1に記載の装置。 15.前記消去及びプログラムポートが前記第1及び第2メモリアレイに共通して 接続された消去及びプログラム回路を含む請求項14に記載の装置。 16.前記消去及びプログラムポートが前記第1及び第2メモリアレイのそれぞれ のため別個の消去及びプログラム回路を含む請求項14に記載の装置。 17.命令入力を有し、該命令入力で受け取った命令を実行する前記集積回路上の プロセッサと、 該プロセッサの命令入力に結合された読み出しポートを有する前記集積回路 上の不揮発性メモリセルを含み、命令の回路内プログラミングセットを記憶す る不揮発性メモリセルのブロックを含む第1メモリアレイと、 前記プロセッサの命令入力に結合された読み出しポートを有する前記集積回 路上の不揮発性メモリセルを含む第2メモリアレイと、 データが外部の情報源から受け取られる前記集積回路上の外部ポートと、 回路内プログラム更新指令に応答し、前記第1メモリアレイからの回路内プ ログラミングセットのコピーを前記第2メモリセルアレイに書き込み、前記第 2メモリアレイからの回路内プログラミングセットに前記外部ポートで受け取 られたデータで前記第1メモリアレイの不揮発性メモリセルをプログラムさせ る制御論理と、 前記回路内プログラミングセットから独立して前記第1メモリアレイをプロ グラミングすると共に確認するための前記集積回路上のデータ経路とを含む、 ことを特徴とする集積回路のコントローラ。 18.第1メモリアレイ及び第2メモリアレイの前記不揮発性メモリセルがフロー ティングゲートメモリセルを含む請求項17に記載のコントローラ。 19.前記第1メモリセルが不揮発性メモリセルの別個に消去可能な複数のブロッ クを含み、前記回路内プログラミングセットが前記複数のブロックの特定のブ ロックに記憶され、前記回路内プログラミングセットの実行中に前記特定のブ ロックが修正され新しい回路内プログラミングセットを生成し、その後制御論 理が前記第1メモリセルからの新しい回路内プログラミングセットを前記プロ セッサに実行させる請求項17に記載のコントローラ。 20.前記第1メモリアレイ及び第2メモリアレイがフラッシュの消去可能でプロ グラム可能な読み出し専用メモリを含む請求項17に記載のコントローラ。 21.前記制御論理かプロセッサにより実行される命令を含む請求項17に記載の コントローラ。 22.前記外部ポートがシリアルポートを含む請求項17に記載のコントローラ。 23.前記外部ポートがパラレルポートを含む請求項17に記載のコントローラ。 24.外部のデータ源への複数のポートを含み、前記回路内プログラミングセット の実行中に前記外部ポートのために使用される前記複数のポート中のポートが 前記回路内プログラミングセットの命令により決定される請求項17に記載の コントローラ。 25.前記第1メモリアレイの不揮発性メモリセルかフローティングゲートメモリ セルを含み、前記第2メモリアレイがフローティングゲートメモリセルを含み 、 前記第1及び第2メモリアレイに結合された消去及びプログラムポートを含み 、前記第1及び第2メモリアレイを消去すると共にプログラムするために提供 される請求項17に記載のコントローラ。 26.前記消去及びプログラムポートが前記第1及び第2メモリアレイに共通して 接続された消去及びプログラム回路を含む請求項25に記載のコントローラ。 27.前記消去及びプログラムポートが前記第1及び第2メモリアレイのそれぞれ のため別個の消去及びプログラム回路を含む請求項25に記載のコントローラ 。 28.第1の消去可能でプログラム可能な読み出し専用メモリアレイと第2の消去 可能でプログラム可能な読み出し専用メモリアレイを前記集積回路に提供し、 前記第1アレイに命令の回路内プログラミングセットを記憶し、 前記集積回路の外部のイニシエータから回路内プログラム指令を受け取り、 該回路内プログラム指令に応答して、第1アレイからの回路内プログラミン グセットを第2アレイにコピーし、前記第2アレイからの回路内プログラミン グセットを前記プロセッサで実行し、 前記回路内プログラミングセットの制御下、外部の情報源からのデータで少 なくとも前記第1アレイの選択した部分をプログラムし、 前記第1アレイの前記部分をプログラミング後、前記第1アレイからの回路 内プログラミングセットを前記プロセッサで実行することを含む ことを特徴とする命令のプログラムを実行するプロセッサを有する集積回路の 回路内プログラミングの方法。 29.前記回路内プログラミングセットを記憶する段階が前記第1アレイの選択し た部分に前記回路内プログラミングセットを記憶することを含む請求項28に 記載の方法。 30.前記第1アレイがセルの別個に消去可能な複数のブロックを含み、前記第1 アレイの選択した部分が前記複数のブロックに特定のブロックを含み、前記第 1アレイの前記部分をプログラムする段階が前記特定のブロックを修正し新し い回路内プログラミングセットを生成させる請求項28に記載の方法。 31.前記特定のブロックを修正後、前記第1メモリアレイからの前記新しい回路 内プログラミングセットを実行することを含む請求項28に記載の方法。 32.前記回路内プログラミング指令により示された前記回路内プログラミングシ ーケンスが前記回路内プログラミングセットを修正することを含むかどうかを 前記イニシエータから決定し、もしそうでなければ、その後前記第2アレイか らの前記回路内プログラミングセットをコピーすると共に実行する段階をスキ ップすることを含む請求項28に記載の方法。 33.前記集積回路が外部のデータ源への複数のポートを含み、プログラミングす る段階が前記複数のポートの選択したポートからデータを受け取ることを含む 請求項28に記載の方法。 34.前記選択したポートが前記回路内プログラミングセットにより指定される請 求項33に記載の方法。 35.前記プロセッサによる実行のための命令を記憶する不揮発性メモリセルを集 積回路に含み、第1及び第2メモリアレイをプログラミングする命令の回路内 プログラミングセットを含む第1メモリアレイと、 前記プロセッサによる実行のための命令を記憶する不揮発性メモリセルを前 記集積回路に含む第2メモリアレイと、 前記第1メモリアレイに結合される第1入力、第2メモリアレイに結合され る第2入力、及び前記プロセッサに命令を供給する出力を有するコード多重装 置と、 少なくとも前記第1メモリアレイをプログラムすると共に消去し少なくとも 前記第1メモリアレイに命令をロードする第1の消去/プログラム経路、及び 命令の前記回路内プログラミングセットの制御下で少なくとも前記第1メモリ アレイをプログラムすると共に消去する第2の消去/プログラム経路を支援す る消去/プログラム多重装置と、 前記集積回路と外部の情報源との間でメッセージを交換する前記集積回路上 の外部ポートと、 前記第1メモリアレイ及びプロセッサに記憶された命令の前記回路内プログ ラミングセットを含み、回路内プログラム更新指令に応答し、第1メモリアレ イ及び第2メモリアレイに記憶された命令の全て又は一部を更新する論理とを 含む、 ことを特徴とする命令のプログラムを実行するプロセッサを有する集積回路の 回路内プログラミング用装置。 36.命令の前記回路内プログラミングセットが、 前記第1メモリアレイからの前記元の回路内プログラミングセットのコピー を前記第2メモリアレイに書き込み、映した回路内プログラミングセットを創 出し、 前記元の回路内プログラミングセットから前記第2メモリアレイで映した回 路内プログラミングセットに前記プロセッサ制御を切り替える前記コード多重 装置を制御し、 前記第2メモリアレイで映した回路内プログラミングセットの制御下、前記 第1メモリアレイの回路内プログラミングセットを更新する、 論理を含む請求項35に記載の装置。 37.前記第1及び第2メモリアレイに共通して結合されるプログラム及び消去回 路を含む請求項35に記載の装置。 38.前記第1メモリアレイの前記不揮発性メモリセルがフローティングゲートメ モリセルを含む請求項3に記載の装置。 39.前記第1メモリアレイ及び前記第2メモリアレイの前記不揮発性メモリセル がフローティングゲートメモリセルを含む請求項35に記載の装置。 40.前記第1メモリアレイが不揮発性メモリセルの別個に消去可能な複数のブロ ックを含む請求項35に記載の装置。 41.前記第1メモリアレイ及び前記第2メモリアレイがフラッシュの消去可能で プログラム可能な読み出し専用メモリを含む請求項35に記載の装置。 42.前記外部ポートがシリアルポートを含む請求項35に記載の装置。 43.前記外部ポートがパラレルポートを含む請求項35に記載の装置。 44.外部のセットのデータ源への複数のポートを含み、前記回路内プログラミン グセットの実行中に前記外部ポートのために使用される前記複数のポート中の ポートが前記回路内プログラミングセットの命令により決定される請求項35 に記載の装置。 45.外部のデータ源への複数のポートを含み、前記回路内プログラムの更新指令 が複数のポートのうちの1つで受け取られる請求項35に記載の装置。 46.前記外部ポートのために使用される前記複数のポート中のポートと、データ 指令を有する前記回路内プログラムが受け取られる前記複数のポート中のポー トとが前記回路内プログラミングセットの命令により決定される請求項45に 記載の装置。 47.第1の消去可能でプログラム可能な読み出し専用メモリアレイと第2の消去 可能でプログラム可能な読み出し専用メモリアレイを前記集積回路に提供し、 前記第1アレイに命令の回路内プログラミングセットを記憶し、 前記集積回路の外部のイニシエータから回路内プログラム指令と識別子を受 け取り、 前記イニシエータの識別子を確認し、その後前記回路内プログラム指令に応 答して確認した場合、前記第1アレイからの前記回路内プログラミングセット を前記第2アレイにコピーし、前記第2アレイからの回路内プログラミングセ ットを前記プロセッサで実行し、 前記回路内プログラミングセットの制御下、外部の情報源からの命令セット で少なくとも前記第1アレイの選択した部分をプログラムすることを含む、 ことを特徴とする命令のプログラムを実行するプロセッサを有する集積回路の 回路内プログラミングの方法。 48.前記第1アレイの前記部分をプログラミング後、前記第1アレイから前記回 路内プログラミングセットを前記プロセッサで実行することを含む請求項47 に記載の方法。 49.前記イニシエータの識別子が確認されない場合には、その後前記イニシエー タから認識を要求し、確認か成功するまで、又は試みの最大数がなされるまで 、前記イニシエータの認識を確認しようとし、 前記試みの最大数がなされた場合には、その後前記イニシエータに失敗の応 答を発行することを含む、 請求項47に記載の方法。 50.前記命令セットを識別する改訂番号を発行し、プログラミング段階が成功し た場合には前記改訂番号を記憶することを含む請求項47に記載の方法。 51.プログラミングの段階の後、エラーのため前記プログラムされた命令セット を検査し、エラーが発見された場合には、エラーが発見されなくなるまで又は 再試行の最大数が試みられるまでプログラミング段階を再試行し、 再試行の最大数か試みられた場合には、その後前記イニシエータに失敗応答 を発行することを含む、 請求項47に記載の方法。 52.エラーのため前記プログラムされた命令セットを検査する段階が、前記プロ グラムされた命令セットの検査合計を確認することを含む請求項51に記載の 方法。 53.前記プログラムする段階が前記命令セットのセグメントをプログラムし、該 セグメントのプログラミングを確認し、該セグメントのプログラミングが確認 された場合には、前記命令セットが完了するまで次のセグメントに進み、前記 セグメントのプログラミングが確認されない場合には、その後それが確認を終 えるまで又は再試行の最大数が試みられるまで前記プログラミングを再試行し 、 確認を終えることなしに再試行の最大数が試みられた場合には、その後前記 イニシエータに失敗応答を発行することを含む、 請求項47に記載の方法。 54.前記回路内プログラミングセットを記憶する段階が、前記第1アレイの選択 された部分に前記回路内プログラミングセットを記憶することを含む請求項4 7に記載の方法。 55.前記第1アレイがセルの別個に消去可能な複数のブロックを含み、前記第1 アレイの選択された部分が前記複数のブロックに特定のブロックを含み、前記 第1アレイの前記部分をプログラミングする段階が前記特定のブロックを修正 し、新しい回路内プログラミングセットを生成する請求項47に記載の方法。 56.前記特定のブロックを修正後、前記第1メモリアレイからの前記新しい回路 内プログラミングセットを実行することを含む請求項55に記載の方法。 57.前記回路内プログラミング指令により示された前記回路内プログラミングシ ーケンスが前記回路内プログラミングセットを修正することを含むかどうかを 前記イニシエータから決定し、もしそうでなければ、その後前記第2アレイか らの前記回路内プログラミングセットをコピーすると共に実行する段階をスキ ップすることを含む請求項47に記載の方法。 58.前記集積回路が外部のデータ源への複数のポートを含み、プログラミングす る段階が前記複数のポートの選択したポートからデータを受け取ることを含む 請求項47に記載の方法。 59.前記選択されたポートが前記回路内プログラミングセットにより指定される 請求項58に記載の方法。 60.命令を実行する前記集積回路のプロセッサと、 データが外部の情報源から受け取られる前記集積回路の外部ポートと、 前記集積回路のプログラム可能な不揮発性メモリセルを含み、前記プロセッ サによる実行のための命令を記憶し、前記外部ポートを介して前記外部情報源 から前記集積回路への回路内プログラミング命令セットの移動を制御する命令 セットを含む第1メモリアレイとを含む、 ことを特徴とする集積回路の回路内プログラミング用装置。 61.命令の前記回路内プログラミングセットが、 前記第1メモリアレイからの元の回路内プログラミングセットのコピーを前 記第2メモリアレイに書き込み、映した回路内プログラミングセットを創出し 、 前記コード多重装置を制御し前記元の回路内プログラミングセットから前記 第2メモリアレイで映した回路内プログラミングセットに切り替え、 前記第2メモリアレイの前記映した回路内プログラミングセットの制御下、 前記第1メモリアレイの前記回路内プログラミングセットを更新する、 論理を含む請求項60に記載の装置。 62.前記第1メモリアレイに共通して結合されるプログラム及び消去回路を含む 請求項60に記載の装置。 63.前記第1メモリアレイの不揮発性メモリセルがフローティングゲートメモリ セルを含む請求項60に記載の装置。 64.前記第1メモリアレイの不揮発性メモリセルがフローティングゲートメモリ セルを含む請求項60に記載の装置。 65.前記第1メモリアレイが不揮発性メモリセルの別個に消去可能な複数のブロ ックを含む請求項60に記載の装置。 66.前記第1メモリアレイがフラッシュの消去可能でプログラム可能な読み出し 専用メモリを含む請求項60に記載の装置。 67.前記外部ポートがシリアルポートを含む請求項60に記載の装置。 68.前記外部ポートがパラレルポートを含む請求項60に記載の装置。 69.外部のセットのデータ源への複数のポートを含み、前記回路内プログラミン グセットの実行中に前記外部ポートのために使用される前記複数のポート中の ポートが前記回路内プログラミングセットの命令により決定される請求項60 に記載の装置。 70.外部のセットのデータ源への複数のポートを含み、前記回路内プログラム更 新指令が前記複数のポートの内の1つで受け取られる請求項60に記載の装置 。 71.前記外部ポートのために使用される前記複数のポート中のポートと、データ 指令と共に前記回路内プログラムが受け取られる前記複数のポート中のポート が前記回路内プログラミングの命令により決定される請求項70に記載の装置 。
JP52040298A 1996-10-28 1996-10-28 回路内プログラミング構造を埋め込んだプロセッサ Expired - Lifetime JP4291881B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1996/017302 WO1998019234A1 (en) 1996-10-28 1996-10-28 Processor with embedded in-circuit programming structures

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007206979A Division JP4296209B2 (ja) 2007-08-08 2007-08-08 回路内プログラミング構造を埋め込んだプロセッサ

Publications (2)

Publication Number Publication Date
JP2001510600A true JP2001510600A (ja) 2001-07-31
JP4291881B2 JP4291881B2 (ja) 2009-07-08

Family

ID=22256032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52040298A Expired - Lifetime JP4291881B2 (ja) 1996-10-28 1996-10-28 回路内プログラミング構造を埋め込んだプロセッサ

Country Status (4)

Country Link
EP (1) EP1008041B1 (ja)
JP (1) JP4291881B2 (ja)
DE (1) DE69635060T2 (ja)
WO (1) WO1998019234A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4615699B2 (ja) * 2000-11-22 2011-01-19 矢崎総業株式会社 メモリ書換セキュリティシステム
US6925554B1 (en) * 2001-10-09 2005-08-02 Cypress Semiconductor Corp. Method of programming USB microcontrollers
FR2903791B1 (fr) * 2006-07-13 2008-10-17 Airbus France Sas Procede de telechargement d'un module logiciel.
US9348385B2 (en) 2012-07-09 2016-05-24 L. Pierre deRochement Hybrid computing module

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01175057A (ja) * 1987-12-28 1989-07-11 Toshiba Corp セキュリティの動的管理方法
JPH0388052A (ja) * 1989-08-31 1991-04-12 Toshiba Corp 機密保護処理方式
FI912875A (fi) * 1991-06-14 1992-12-15 Nokia Mobile Phones Ltd Inskrivning av program i en radiotelefon
US5444861A (en) * 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
US5581723A (en) * 1993-02-19 1996-12-03 Intel Corporation Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array
US6031867A (en) * 1993-07-02 2000-02-29 Multi-Tech Systems, Inc. Modem with firmware upgrade feature
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
US5467286A (en) * 1993-11-03 1995-11-14 Square D Company Metering unit with downloadable firmware
JPH07302492A (ja) * 1994-05-04 1995-11-14 Internatl Business Mach Corp <Ibm> 再プログラム可能プラグ・イン・カートリッジ
US5579479A (en) * 1994-10-03 1996-11-26 Plum Hall Inc. Computer software licensing authentication method and apparatus

Also Published As

Publication number Publication date
DE69635060T2 (de) 2006-05-24
DE69635060D1 (de) 2005-09-15
EP1008041B1 (en) 2005-08-10
EP1008041A1 (en) 2000-06-14
EP1008041A4 (en) 2003-05-02
JP4291881B2 (ja) 2009-07-08
WO1998019234A1 (en) 1998-05-07

Similar Documents

Publication Publication Date Title
US6151657A (en) Processor with embedded in-circuit programming structures
JP4051091B2 (ja) Romとフラッシュメモリーを有する回路内プログラミング構造
US7237145B2 (en) Fault-tolerant architecture for in-circuit programming
US9678761B2 (en) Technology for selectively updating memory-resident images
US6772276B2 (en) Flash memory command abstraction
US7805562B2 (en) Microcomputer with configurable communication interfacing
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
US6009500A (en) Replacement of erroneous firmware in a redundant non-volatile memory system
JPH06348638A (ja) Pcmcia周辺装置
US6493788B1 (en) Processor with embedded in-circuit programming structures
US6842820B2 (en) Processor with embedded in-circuit programming structures
JP4089582B2 (ja) 電子音楽装置の設定情報編集システム、編集装置用プログラム、および、電子音楽装置
CN104035757A (zh) 基于MIPS处理器的u-boot移植的实现方法
JP2001510600A (ja) 回路内プログラミング構造を埋め込んだプロセッサ
CN114594970A (zh) 一种dsp软件远程升级系统及方法
JP3916253B2 (ja) プログラム記憶式制御装置に対する命令から成るユーザープログラムを生成かつ記憶するための方法およびプログラム記憶式制御装置の作動方法
JP4296209B2 (ja) 回路内プログラミング構造を埋め込んだプロセッサ
JP4042940B2 (ja) オンチップ・プログラミング機能を持つマイクロコントローラ
KR100316584B1 (ko) 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법
TW501061B (en) In-circuit programming process device and method of integrated circuit
JP3651752B2 (ja) ファイル更新時の通信システム用所データ作成方法および該方法を実施する通信システム
KR19990012940A (ko) 아이아이씨 버스를 이용한 마이콤 펌웨어 로드를 위한 회로
JP2001352036A (ja) 半導体集積回路の初期化装置および半導体集積回路の初期化方法
CN102799466A (zh) 一种应用于PowerPC最小系统的引导装置及引导方法
JPH1083345A (ja) フラッシュ・メモリのデータ更新装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061101

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070822

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071011

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090225

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

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

EXPY Cancellation because of completion of term