JP4122824B2 - 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置 - Google Patents

不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置 Download PDF

Info

Publication number
JP4122824B2
JP4122824B2 JP2002122898A JP2002122898A JP4122824B2 JP 4122824 B2 JP4122824 B2 JP 4122824B2 JP 2002122898 A JP2002122898 A JP 2002122898A JP 2002122898 A JP2002122898 A JP 2002122898A JP 4122824 B2 JP4122824 B2 JP 4122824B2
Authority
JP
Japan
Prior art keywords
data
scan register
busy
transfer
program
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
JP2002122898A
Other languages
English (en)
Other versions
JP2003317490A (ja
Inventor
省三 冨田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2002122898A priority Critical patent/JP4122824B2/ja
Publication of JP2003317490A publication Critical patent/JP2003317490A/ja
Application granted granted Critical
Publication of JP4122824B2 publication Critical patent/JP4122824B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は,不揮発性記憶装置のデータ転送制御回路,不揮発性記憶装置のプログラム制御回路,及び,通信制御装置に関し,特に,フラッシュメモリのデータプログラム方式において,いわゆるJTAGインタフェースを用いたプログラムデータの転送を実現する方式に関する。
【0002】
【従来の技術】
近年においては,マイクロコントローラを様々なペリフェラル機能とともに混載し,いわゆるシステムLSIを構成することが当たり前になってきている。かかる状況において,EEPROMやFlashROM等の電気的に記憶データの消去および書き換えが可能な不揮発性記憶装置(non−volatile memory)は,現在のシステムLSIの基本的な技術要素となっている。以下,この種の不揮発性記憶装置の代表として,フラッシュメモリを例に挙げて説明する。
【0003】
フラッシュメモリは,電源を切っても記憶データが消失せず,電源を再投入すれば以前の記憶データを保持しつつそのまま動作し,かつ電気的に記憶データを消去およびプログラミングすることができる記憶装置である。フラッシュメモリは一般に,マイクロコントローラのプログラムコードの記憶デバイス,または,マイクロコントローラが一時的に読み出しかつ書き込むパラメータの記憶デバイスとして,マイクロコントローラチップに混載される。
【0004】
一般にシステムLSIには,短い製品TAT(Turn−Around−Time)が要求される。また,通常,フラッシュメモリの記憶データ(プログラムコードおよびデータ。以下,「プログラムデータ」という。)は,大規模なものとなる。したがって,システムLSIには,ソフトウェアの設計段階,または,製品が市場に出ている間に生じる設計仕様の変化等に対応するために,オンボード書き換え機能が必須となっている。ここで,オンボード書き換え機能とは,ユーザシステムのプリント基板上にシステムLSIを搭載したままフラッシュメモリのプログラムデータの書き換えを実施することができる機能をいう。
【0005】
従来は,使用端子の節約のために,プログラム書き換えに用いるシステムLSIと外部とのインタフェースには,もっぱらシリアルデータ転送方式が用いられており,各LSI製造メーカにより相互に異なる様々なインタフェース回路および転送プロトコルが用いられていた。
【0006】
一方,プリント基板上に様々なLSIを搭載した状態の製品,即ちオンボード状態での製品の基板検査試験には,従来よりいわゆるJTAG技術が用いられている。これは,ユーザシステムを構成するLSIに,LSI内部の本来の機能とは別に,各端子信号毎の入出力信号の論理レベルを設定および検知できるものである。そして,”IEEE std.1149.1”の「IEEE Standard Test Access Port and Boundary−Scan Architecture」,及び,「Joint Test Action Group (JTAG) Version 2.0」のプロトコルに記載されるところのバウンダリスキャン回路,及び,Test Access Port(以下,「TAP」という。)をもっている。
【0007】
このJTAG技術を用いた基板検査試験では,プリント基板に搭載されたLSIのそれぞれのバウンダリスキャン回路を連続して接続することにより,1本のバウンダリスキャンチェインが構成され,TAPを介して個々のLSIの信号端子の相互接続テストが実行される。
【0008】
最近のシステムLSIには,バウンダリスキャンチェインとは別に,他のスキャンチェインとして,マイクロコントローラコア(以下,「MCUコア」という。)のプログラムデバッグ機能回路のスキャンチェインを備えたものがある。かかる構成のシステムLSIでは,システムLSIに搭載されるMCUコアのプログラムデバッグ機能のためのインタフェース手段に対しても,JTAG技術が用いられている。
【0009】
このように,システムLSIに内蔵されるフラッシュメモリの書き換えのためのデータ転送手段においては,JTAG技術を用いることができ,かつ,1つのTAP回路でデバッグ機能とフラッシュメモリの書き換え機能とを制御することができる構成が要請される。このような構成が実現されれば,プログラムの開発時に,TAPにデバッグ装置及び端末装置を接続するだけで,特別な配線もしくは特別な装置を設けることなく,プログラムのデバッグ及びフラッシュメモリのデータ書き換えが同じ環境で実行可能となる。
【0010】
さらに,このような構成が実現できれば,1つのTAP回路デバッグ機能とフラッシュメモリの書き換え機能とを制御することができるため,1つのインタフェースに専用のフラッシュメモリ書き換え装置を接続することにより,市場でのプログラムデータの書き換えが可能となる。さらにまた,このような構成が実現できれば,1つのTAP回路でシステムLSIのバウンダリスキャン回路も操作できるため,ユーザシステムのプリント基板検査工程におけるフラッシュメモリのプログラムデータ書き換えが可能となり,ユーザシステムのコスト削減に寄与することができる。
【0011】
フラッシュメモリを内蔵したシステムLSIに対して,ユーザシステム基板にLSIが実装されたまま,フラッシュライタを用いて初期プログラムを書き込む手段,プロトコル,及び,回路方法の従来技術として,本件と同一出願人の特開2001−84787号公報に記載のものがある。この公報記載の従来例では,フラッシュメモリ自体へのデータ書き込み方法,いわゆるプログラム方法として,フラッシュメモリに内蔵された「セクタバッファ」に,一時的に格納されたセクタ単位のデータをメモリアレイの選択されたセクタに一括して書き込む方法について述べている。これは一般に,セクタ書き込み方式,あるいはページ書込み方式などと呼称されるが,本明細書では,以下,「セクタバッファ方式」という。
【0012】
フラッシュメモリのデバイス構造が微細化されてくると,消去のみを特定ブロック単位で実施し,データのプログラムをブロック内の指定されたアドレス単位で実施する方式が,消費電流やプログラムスピードの点からより効率的となっている。ここで「ブロック」とは,セクタより大きなサイズである。
【0013】
前記公報記載の回路構成はセクタバッファ方式であるため,データスキャンレジスタ(以下,DRレジスタという。)へ所定のバイト数のデータを転送することによりセクタバッファへ目的のセクタ分のデータを格納した後,ファンクションコマンドレジスタ(以下,FCRレジスタという)ヘコマンドを設定することをトリガとする。そして,そのセクタバッファの格納データが所定のメモリアレイの所定のセクタヘ一括してプログラムされるように機能する。
【0014】
前記公報記載の従来の回路方式の全体構成を図8に,また,プログラムデータをDRレジスタへ転送する手段について,DRレジスタへの転送に関わる部分のみの回路を抜粋して図9に示す。また,図7は,JTAGのTAPコントローラ回路の状態遷移を示す。
【0015】
図8のJTAGのTAP回路8は,TCKに同期して,TMSの論理状態が図7に示すような16個の状態を遷移する。JTAGのTAP回路8は,TAPコントローラ回路74と,インストラクションレジスタ(IR)62と,1ビットのバイパスレジスタ64などの基本構造に,任意のデータを設定可能なSCNレジスタ66とを追加したものである。
【0016】
これらのスキャンレジスタ(以下,レジスタという)へのデータアクセスは,すべて図7に示すTAPコントローラ回路74の状態遷移により実行される。すなわち,各スキャンレジスタはCapture状態のとき,パラレルデータをとりこむCapture動作,TDIからの入力論理をTCKの1クロック毎にシフトし,その都度TDOから出力するShift動作,TDIからの入力論理の複数のShift動作によるひとまとまりのスキャンデータをパラレルデータとして出力するUpdate動作を基本としている。さらに,IRレジスタに対するスキャン動作を規定した状態遷移については,「−IR」を付し,インストラクション・スキャンと呼称する。一方,IRレジスタ以外のスキャンレジスタのスキャン動作を規定した状態遷移については,同様に「−DR」を付し,データ・スキャンと呼称する。
【0017】
図7で,TAPコントローラ回路74のCapture−IR以降,Update−IRまでのインストラクション・スキャンの遷移により,インストラクションレジスタ(IR)62ヘのインストラクションの設定が実施される。そして,インストラクションレジスタ(IR)62で設定された所定のインストラクションが選択するレジスタに対して,TAPコントローラ回路74のデータ・スキャンの遷移により,そのインストラクションが指定するレジスタヘのデータアクセスが実施される。図8の,バイパスレジスタ(BP)64,SCNレジスタ66へのアクセスも専用のインストラクションにより指定され,SCNレジスタ66とともに,TDIとTDO間に接続された1つのスキャンレジスタとして機能する。
【0018】
SCNレジスタ66のある所定のコードは,デコーダ回路10によりデコードされ,レジスタブロック6に対してのアクセスのイネーブル信号として機能し,レジスタブロック6内部の各種のスキャンレジスタを一括して選択可能にする
【0019】
レジスタブロック6内部では,SCBNレジスタ26が専用のインストラクションにより指定されるが,SCBNレジスタ26以外のレジスタ,即ち,PRFレジスタ28,SECADRレジスタ30,DRレジスタ32,及び,FCRレジスタ34は,IRレジスタに設定済みの共通のあるインストラクション(ここでは,「INTEST命令」という)によりアクセスされる。ただし,PRFレジスタ28,SECADRレジスタ30,DRレジスタ32,FCRレジスタ34のそれぞれは,SCBNレジスタ26に設定されたコードの内容によりそれぞれ割り付けられている。そして,SCBNレジスタ26の設定内容によりPRFレジスタ28,SECADRレジスタ30,DRレジスタ32,及び,FCRレジスタ34のうちのいずれかが選択され,TDIとTDO間に接続された1つのスキャンレジスタ(レジスタ)としてINTEST命令によりアクセスされる。
【0020】
レジスタブロック6は,不揮発性記憶メモリ(以下,「フラッシュコア」という)4へのアクセスを行うための信号;S1,S2,S3,S4,及び,S5を生成し,検知するためのレジスタブロックである。レジスタブロック6は,バイトカウンタ(WCTR)36,SECADRレジスタ30,DRレジスタ32などから構成されている。バイトカウンタ(WCTR)36は,フラッシュコア4からのアドレス信号S1の中のバイトアドレスを設定する。SECADRレジスタ30は,S1の中の行アドレスを設定する。DRレジスタ32は,フラッシュコア4へのライトイネーブル,及び,リードイネーブル信号などの制御信号S4を生成するとともに,フラッシュコア4からの読み出しデータ信号S2を検知し,かつ,フラッシュコア4への書き込みデータ信号S3を設定する。フラッシュコア4の不揮発性記憶動作の実行を示すビジー信号(BUSY)は,S5としてFCRレジスタ34のCaptureデータに反映されている。
【0021】
PRFレジスタ28には,フラッシュコア4及びレジスタブロック6の構成に関するパラメータがあらかじめCaptureデータとして設定してある。PRFレジスタ28は,書き換えあるいは読み出しを選択するwrenフラグが設定可能である。
【0022】
レジスタブロック6内部の各レジスタは,JTAGのTAP回路8で制御できるスキャンレジスタであり,それぞれは,TDIとTDO間に,SCBN,SCNとともに並列に配置された構成になっている。
【0023】
前記公開公報に記載されたように,これらのスキャンレジスタは,SCNの所定の設定値によりレジスタブロック6全体が選択される。そしてその後に,SCBNレジスタ26の所定の設定値により,レジスタブロック6内部の各レジスタが選択され,あたかもTDI,TDO間に直接接続されているかのように機能する。
【0024】
図9によって,フラッシュコア4の所定のセクタヘ1つのセクタ分のデータを不揮発性記憶させる(以下,「プログラム」という)操作について説明する。
【0025】
まず,図8のPRFレジスタ28へのアクセスにより,wrenフラグを論理”1”に設定する。次に,SECADRレジスタ30を選択し,SECADRレジスタ30に目的のセクタアドレス値を設定する。このとき,SECADRレジスタ30の設定動作は,Update−DR状態に起因して生成される,Updateクロック(Update−SECADR_CK)により,同時にバイトカウンタ(WCTR)36の内容が初期化される。SECADRレジスタ30によりフラッシュコア4のセクタアドレスが指定され,メモリアレイ中の目的のセクタが選択される。また,バイトカウンタ(WCTR)36により,セクタバッファ内部の最下位アドレスが指定される。
【0026】
次に,DRレジスタ32を選択して,TDIを経由してDRレジスタ32のスキャンデータ入力SCANINへ1バイトのデータを転送すると,TAP回路のUpdate−DR状態で,1バイトの転送データがDRレジスタ32へUpdate(設定)される。これとともに,リード/ライト制御回路38によりライトパルス制御信号を含むS4が発生し,S1のA[n−1:0]で指定された,セクタバッファの現在のセクタ位置へ,DRレジスタ32の設定データがS4とともに書き込まれる。さらに,このUpdate−DR状態は,バイトカウンタ(WCTR)36の内容を+1インクリメントし,次の1バイトのデータ転送に対応するようにセクタバッファ内セクタ位置を更新する。
【0027】
この1バイト単位のセクタバッファヘの書込み操作をセクタサイズのバイト数分繰り返した後,FCRレジスタ34を選択し,プログラムコマンドのコードをUpdate動作により設定する。FCRレジスタ34に設定されたプログラムコマンドのコードによりフラッシュコア4は,セクタバッファ内部のデータを,SECADRレジスタ30により指定された不揮発性記憶エリア(いわゆる「メモリアレイ」)の目的のセクタヘ,不揮発性記憶操作を実行する。この不揮発性記憶動作の期間フラッシュコア4は,ビジー信号(BUSY)S5を発生する。その論理値は,FCRレジスタ34へNOPコマンドを印加したときのCaptureデータとしてTDO出力により観測可能である。
【0028】
一方,フラッシュコア4の所定のセクタからのデータ読み出し手順は,PRFレジスタ28のwrenフラグを論理”0”に設定することにより,図9のwren信号を論理”0”にすることから開始する。
【0029】
次に,SECADRレジスタ30に読み出すべき目的のセクタアドレスを設定し,バイトカウンタ(WCTR)36を初期化する。次に,SCANINへ任意のデータを転送する。このとき,wrenが論理”0”であるため,リード/ライト制御回路38はリード制御信号を出力し,論理回路203は,フラッシュコア4のデータ出力S2を選択する。そして,DRレジスタ32のCapture−DR状態により,S2がDRレジスタ32のCaptureデータとして取り込まれ,Shift−DR状態の1バイト分の遷移とともに,TDOからS2と等価な内容のCaptureデータが出力され,1バイトの読み出しが実施される。このとき,Update−DR状態で,バイトカウンタ(WCTR)36は+1のインクリメントが実行され,次の1バイトの読み出しの準備がなされる。
【0030】
プログラム時において,DRレジスタ32へのデータ転送が,外部装置であるフラッシュライタからデータを送信する場合には,DRレジスタ32へUpdateされたデータは,常にセクタバッファヘ順次ストアされる。そして,フラッシュコア4の不揮発性記憶動作を伴わず,フラッシュコア4からのウェイトにより保留されることが無いため,DRレジスタ32へのデータ転送の制約は発生しなかった。
【0031】
【発明が解決しようとする課題】
しかしながら,上記図8に示す回路構成をブロック消去型のフラッシュコアに適用する場合,フラッシュコアへの1バイト毎の書き込みにより,不揮発性記憶アレイの所定のブロックの,同ブロック内のバイト位置へ不揮発性記憶動作が実行,即ち,プログラムされる。このため,その都度,フラッシュコア不揮発性記憶操作期間が発生し,その不揮発性記憶操作期間状態を明示する手段としてのBUSY信号がフラッシュコアから出力される。即ち,BUSYが論理”1”のとき,フラッシュコアは不揮発性記憶操作期間であり,フラッシュコアに対するプログラム操作及び読み出し操作を受け付けない状態となる。
【0032】
また,BUSYが論理”0”のとき,フラッシュコアは不揮発性記憶操作が発生していない通常動作であり,フラッシュコアはプログラム操作の受付可能な状態,もしくは,データ読み出し可能な状態である。
【0033】
ここで,図10に,ブロック消去型のフラッシュコアである,フラッシュコア4Aの概略を示す。フラッシュコア4Aは図10に示すように,不揮発記憶メモリアレイ12と,行アドレスデコーダ14と,列アドレスデコーダ16と,制御回路20とから構成されている。不揮発記憶メモリアレイ12は,電気的にプログラム及び消去が可能な不揮発性記憶素子で構成されている。行アドレスデコーダ14は,不揮発記憶メモリアレイ12のうち,部分消去の実行単位であるブロックを選択する。列アドレスデコーダ16は,行アドレスデコーダ14で選択されたブロック24に対する列アドレスであり,ブロック24のワードデータ格納位置を生成する。制御回路20は,外部からプログラム,消去,読み出し等の制御信号S4を受け取り,不揮発記憶メモリアレイ12への不揮発性記憶動作期間中に外部からのS4の操作を禁止することを意味するビジー信号S5を出力する。図10では,行アドレスデコーダ14,制御回路20,列アドレスデコーダ16,不揮発記憶メモリアレイl2,及び,センスアンプ22以外の回路ブロックについては記載を省略している。
【0034】
図10のフラッシュコア4Aへのプログラム動作を実行するために,DRレジスタ32に対して1バイトのデータ転送する場合,前回の書き込みデータに起因する不揮発性記憶動作信号BUSYが論理”1”の間には,次のデータ転送はできない。このため,BUSYが論理”0”になり,この不揮発性記憶動作状態が完了した後に,次のデータ転送を開始しなければならない。さもないと,転送データが無視され,かつ,バイトカウンタ(WCTR)36が余分に+1インクリメントされてしまう。結局,選択されたブロックには,誤ったデータをプログラムする恐れがあった。
【0035】
上記の転送データの消失と,誤プログラムとを防止するため,このBUSYフラグの論理を考慮しながら,DRレジスタ32へのアクセスを制御する手段として,以下の方法Aが考えられる。
【0036】
従来技術では,BUSYフラグがFCRレジスタ34のCaptureデータにより観測可能である。そこで,方法Aは,DRレジスタ32への1バイトのデータ転送後,FCRレジスタ34を選択し,FCRレジスタ34へのNOPアクセスでCaptureデータのBUSYフラグを検出する。この検出されたBUSYフラグが論理”0”であることが確認された後,再度DRレジスタ32を選択し,DRレジスタ32へ次の1バイトのデータ転送を開始するようにする。
【0037】
方法Aの場合,FCRレジスタ34,DRレジスタ32の両レジスタの選択には,上記で説明したように,SCBNレジスタ26へそれぞれのレジスタに対する所定のコード値を設定する必要がある。図7によれば,Run−Test/Idle状態から始まり,FCRレジスタ34のCaptureデータを参照し,再度,DRレジスタ32をアクセス可能とするまでのフローは,以下のようになる。以下に,各手順内容と,それに要するTCKクロック数を記載する。
【0038】
▲1▼SCBNレジスタ26へ所定のコードを設定し,FCRレジスタ34を選択する。:19クロック
▲2▼FCRレジスタ34を操作するために,INTEST命令をIRレジスタ62に設定する。:10クロック
▲3▼FCRレジスタ34へNOPデータを転送し,そのときのCaptureデータを検出する。:9クロック
▲4▼SCBNレジスタ26へ所定のコードを設定し,DRレジスタ32を選択する。:19クロック
▲5▼DRレジスタ32を操作するために,INTEST命令をIRレジスタ62に設定する。:10クロック
【0039】
以上▲1▼〜▲5▼を合計すると,全体として67クロックを必要とすることになる。つまり,1回のBUSYチェックのために,67クロックが余分に必要となる。これを,フラッシュコアのブロックサイズが2KBで,1バイト単位のプログラム時間が20μsのフラッシュコアを例に,1プロックのプログラムの場合を想定すると,以下の様になる
【0040】
1クロックを10μsとすれば,BUSYチェックに要する時間は67×2048クロック×10μs,即ち1.37secである。また,フラッシュコアに対する不揮発性記憶時間は,20μs×2048バイト,即ち,41msとなる。
【0041】
以上より,方法Aのデータ転送に要するBUSYチェックの新たな追加時間は,本来のプログラム時間(20μs×2048,即ち,41ms)に比べて無視できなくなり,実際のプログラム時間効率が非常に悪くなるという欠点があった。
【0042】
オンボードフラッシュライタでフラッシュメモリの書き換えを実行する場合,TCKのクロック周波数は,LSIの周囲の電気的ノイズ等の外乱によるデータ転送の誤りを防止するため,あまり高くすることができないという事情がある。実際のTCKのクロックは,上記10μsよりかなり遅くならざるを得ず,上記問題は,ますます深刻になるという問題があった。
【0043】
フラッシュコア4のBUSYによるプログラム失敗を避けるためのもう一つの手段として,以下の方法Bが考えられる。
【0044】
方法Bは,現実のフラッシュコアのBUSY期間+余裕分のウェイトを考慮して,フラッシュライタがアクセスするようにする方法である。
【0045】
方法Bの場合,BUSY期間は,フラッシュコアを構成するデバイスのプロセスに依存する。このため,近年のように,デバイスプロセスの進化が進む中では,1つのプロセス毎に,フラッシュライタのプロトコルにおいてそのウェイト時間を変えるようになる。しかしながら,同一プロセスのデバイスであっても,不揮発性記憶動作の深さは,デバイスの印加電圧,温度,プロセスの工程により異なる。このため,BUSYの時間幅は,これらのバラツキを考慮して十分な余裕をもったウェイトを挿入しなければならず,しかもデータ転送の効率を損なわないようにするのは困難であった。
【0046】
また,システムLSI等の量産工程でのユーザシステムの検査工程において,プログラムコードを内蔵されたフラッシュへ同時にプログラムするような場合,フラッシュのプログラム時間の長短は,ユーザシステムの製造コストに大きな影響を与えるという問題があった。
【0047】
さらに,従来例のプログラム方式,ブロック消去タイプフラッシュコアヘのプログラム方法など,異なるプログラム方式に対して,別々にフラッシュライタを揃えることは,取り扱いの煩雑さ,使い勝手の面から,不自由さがあり,両者の方式を共通に扱える仕組みが望まれていた。
【0048】
そこで本発明は,ブロック消去タイプのフラッシュメモリを対象として,フラッシュライタでフラッシュメモリの書き換えを実行する場合に,BUSYチェックに要する時間を増やすことなく,データ転送における余分なアクセス,及び,余分なクロック数を排除できて高速なプログラム動作が可能になる不揮発性記憶装置のデ−タ転送制御回路,及び,不揮発性記憶装置の書き換え回路を提供することを目的とする。
【0049】
また,本発明は,フラッシュコアの目的のブロックに対する1ブロック分のプログラム操作が,比較的簡単なフローで実行でき,安定的かつ効率的にプログラム操作が実行できる不揮発性記憶装置のデ−タ転送制御回路,及び,不揮発性記憶装置の書き換え回路を提供することを目的とする。
【0050】
さらに本発明は,異なるプログラム方式に対して別々にフラッシュライタを揃えることなく,LSIに内蔵されているフラッシュコアのプログラム方式があらかじめ判明していなくても,また,フラッシュライタにそのフラッシュコアのプログラム方式の種別が設定されていなくても,フラッシュライタ自体がそのLSIへアクセスする過程で自動的にフラッシュコアの種別を判断することが可能である不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置を提供することを目的とする。
【0051】
【課題を解決するための手段】
上記目的を達成するための本発明の不揮発性記憶装置のデ−タ転送制御回路は,データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,外部からの1つのデータの転送毎に所定のデータ受付け禁止期間であるビジー信号を発生するメモリと,メモリヘのデータ設定動作を制御するためのメモリアドレスを指定するアドレス設定スキャンレジスタと,TAP回路を介して1転送単位のデータを設定し,メモリヘ与えるためのデータスキャンレジスタと,メモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備える。
【0052】
そして,データスキャンレジスタヘの1つデータが設定されたことに起因するメモリのビジー期間に次のデータ転送が発生し,当該データがデータスキャンレジスタヘ設定されるときに,制御回路が生成するライトパルス生成を抑制し,結果としてビジー信号が発生せず,アドレス設定スキャンレジスタの自動更新を抑制することを特徴とする。
【0053】
このような構成により,フラッシュライタでフラッシュメモリの書き換えを実行する場合に,BUSYチェックに要する時間を増やすことなく,データ転送における余分なアクセス,及び,余分なクロック数を排除できて高速なプログラム動作が可能になる。
【0054】
また,上記目的を達成するための本発明の他の不揮発性記憶装置のデ−タ転送制御回路は,上記構成でさらに,データスキャンレジスタが転送先メモリのビジー信号をキャプチャ動作するときに,ビジー信号をキャプチャデータ中のフラグとしてTAP回路を経由して外部へ送出し,次回のデータスキャンレジスタへの1つのプログラム送信時にビジー信号の存在を検出したときに,メモリに対する転送データの入力が無効化することを特徴とする。
【0055】
また,上記目的を達成するための本発明の他の不揮発性記憶装置のデ−タ転送制御回路は,上記いずれかの構成でさらに,1つのデータスキャンレジスタに対する1つの転送データとともに発生するビジー状態を,次の転送データのデータスキャンレジスタヘの転送入力の始めの状態で検知し,転送終了後に出力するとともに,ビジー状態の途上に次の転送データの送信に遭遇したとき,その転送データの受付を無効化する機能をもつ。
【0056】
そして,1つの転送データのデータスキャンレジスタへの送出完了の際に,得られる出力データのビジー状態の有無を示すビジーフラグの判定の結果,ビジーで無い場合に,次の1つの転送データの送信を準備する。ビジーフラグの判定の結果,ビジーである場合に,送出したデータと同じデータを再度データスキャンレジスタヘ送信し,得られる出力データの判定を前回と同様に実施するループをもつことを特徴とする。
【0057】
このような構成により,フラッシュコアの目的のブロックに対する1ブロック分のプログラム操作が,比較的簡単なフローで実行でき,安定的かつ効率的にプログラム操作が実行できる。
【0058】
また,上記目的を達成するための本発明の他の不揮発性記憶装置のデ−タ転送制御回路は,上記いずれかの構成でさらに,1つのデータスキャンレジスタに対する1つの転送データとともに発生するビジー状態を,次の転送データのデータスキャンレジスタヘの転送入力の始めの状態で検知し,転送終了後に出力するとともに,ビジー状態の途上に次の転送データの送信に遭遇したとき,転送データの受付を無効化する機能をもつ。
【0059】
そして,1つの転送データをデータスキャンレジスタヘの送出完了の際に,得られる出力データ中のビジーフラグの判定の結果,ビジーで無い場合に,あらかじめ設定されたウェイト数の遅延後,次の1つの転送データの送信を準備する。ビジーフラグの判定の結果,ビジーである場合に,送出したデータと同じデータを再度データスキャンレジスタへ送信し,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とする。
【0060】
また,上記目的を達成するための本発明の他の不揮発性記憶装置のデ−タ転送制御回路は,上記いずれかの構成でさらに,1つのデータスキャンレジスタに対する1つの転送データとともに発生するビジー状態を,次の転送データのデータスキャンレジスタへの転送入力の始めの状態で検知し,転送終了後に出力するとともに,ビジー状態の途上に次の転送データの送信に遭遇したとき,転送データの受付を無効化する機能をもつ。そして,あらかじめ初期化されたウェイト数パラメータをもち,1つの転送データのデータスキャンレジスタヘの送出完了の際に,得られる出力データを保持する。
【0061】
そして,保持されたキャプチャデータ中のビジーフラグの判定の結果,ビジーで無い場合に,ウェイト数パラメータの指定する遅延動作後に,次の1つの転送データの送信を準備する。ビジーフラグの判定の結果,ビジーである場合に,ウェイト数パラメータの値を+1増加させて保持し,保持されたウェイト数の遅延動作後に前回送出したデータと同じデータを再度データスキャンレジスタヘ送信し,かつ,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とする。
【0062】
ウェイト数設定の手段は,TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,この状態におけるループによってもよく,また,Run−Test/Idle状態におけるTCKクロックの伸張によってもよい。
【0063】
また,上記目的を達成するための本発明の不揮発性記憶装置の書き換え回路は,データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,1つのプログラムデータの書込み毎に不揮発性記憶動作が実行され,かつ,1ブロック単位での消去が可能なブロック消去型のフラッシュメモリと,フラッシュメモリのプログラム動作を制御するための,メモリアドレスを指定するアドレス設定スキャンレジスタと,TAP回路を介して1転送単位のプログラムデータを設定し,フラッシュメモリヘ与えるためのデータスキャンレジスタと,フラッシュメモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備える。
【0064】
そして,データスキャンレジスタへの1つのプログラムデータが設定されたことに起因するフラッシュメモリが不揮発性記憶動作状態である期間に次のプログラムデータがデータスキャンレジスタへ設定されるときに,制御回路が生成するライトパルス生成を抑制し,結果としてアドレス設定スキャンレジスタの自動更新を抑制することを特徴とする。
【0065】
また,上記目的を達成するための本発明の他の不揮発性記憶装置の書き換え回路は,上記構成でさらに,1つのプログラムデータのデータスキャンレジスタヘの設定に起因するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータのデータレジスタヘの入力のキャプチャ状態で検知し,データレジスタヘの設定の完了時に,外部ヘスティタス情報として送出する。
【0066】
そして,次回のデータスキャンレジスタヘの1つのプログラムデータ送信時にビジー信号の存在を検出したときに,メモリに対する転送データの入力が無効化することを特徴とする。
【0067】
また,上記目的を達成するための本発明の他の不揮発性記憶装置の書き換え回路は,上記いずれかの構成でさらに,1つのデータスキャンレジスタに対する1つのプログラムデータ送信とともに発生するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータのデータスキャンレジスタへの転送入力の始めの状態で検知し,転送終了後に出力するとともに,不揮発性記憶動作状態の途上に次のプログラムデータの送信に遭遇したとき,次のプログラムデータの送信を無効化する機能をもつ。
【0068】
そして,1つのプログラムデータのデータスキャンレジスタヘの送出完了の際に,得られる出力データの不揮発性記憶動作状態の有無を示すビジーフラグの判定の結果,ビジーで無い場合に,次の1つのプログラムデータの送信を準備する。ビジーフラグの判定の結果,ビジーである場合に,送出したデータと同じデータを再度データスキャンレジスタヘ送信し,得られる出力データの判定を前回と同様に実施するルーブをもつことを特徴とする。
【0069】
また,上記目的を達成するための本発明の他の不揮発性記憶装置の書き換え回路は,上記いずれかの構成でさらに,1つのデータスキャンレジスタに対する1つのプログラムデータ送信とともに発生するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータのデータスキャンレジンタヘの転送入力の始めの状態で検知し,転送終了後に出力するとともに,不揮発性記憶動作状態の途上に次のプログラムデータの送信に遭遇したとき,次のプログラムデータの送信を無効化する機能をもつ。
【0070】
そして,1つのプログラムデータのデータスキャンレジスタヘの送出完了の際に,得られる出力データの不揮発性記憶動作状態の有無を示すビジーフラグの判定の結果,ビジーで無い場合に,あらかじめ設定されたウェイト数の遅延後,次の1つのプログラムデータの送信を準備する。ビジーフラグの判定の結果,ビジーである場合に,送出したデータと同じデータを再度データレジスタヘ送信し,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とする。
【0071】
また,上記目的を達成するための本発明の他の不揮発性記憶装置の書き換え回路は,上記いずれかの構成でさらに,1つのデータスキャンレジスタに対する1つのプログラムデータ送信とともに発生するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータのデータスキャンレジスタへの転送入力の始めの状態で検知し,転送終了後に出力するとともに,不揮発性記憶動作状態の途上に次のプログラムデータの送信に遭遇したとき,次のプログラムデータの送信を無効化する機能をもつ。
【0072】
そして,あらかじめ初期化されたウェイト数パラメータをもち,1つのプログラムデータのデータスキャンレジスタヘの送出完了の際に,得られる出力データを保持する。保持された不揮発性記憶動作状態の有無を示すビジーフラグの判定の結果,ビジーで無い場合に,ウェイト数パラメータの指定する遅延動作後に,次の1つのプログラムデータの送信を準備する。ビジーフラグの判定の結果,ビジーである場合に,ウェイト数パラメータの値を+1増加させて保持し,保持されたウェイト数の遅延動作後に送出したデータと同じデータを再度データレジスタヘ送信し,かつ,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とする。
【0073】
ウェイト数設定の手段は,TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,状態におけるループによってもよく,また,TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,状態におけるTCKクロックの伸張によってもよい。
【0077】
【発明の実施の形態】
以下に,本発明のいくつかの実施の形態を,図面を用いて説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
【0078】
(第1の実施形態)
図1は,この発明の第1の実施形態を示す回路図であり,ブロック消去タイプのフラッシュコア4Aに対するプログラム転送動作を説明する回路図である。なお,図1では,従来例を示す図9に対応する部分についてのみ記載した。全体回路図については,図8のフラッシュコア4を4Aと読み替えて説明する。
【0079】
DRレジスタ32のCaptureデータは,wrenが”0”のとき,フラッシュコア4Aのデータ出力S2が選択される。一方,wrenが”1”のとき,フラッシュコア4Aの不揮発性記憶によりアクティブとなるBUSY信号が選択される。このように機能するマルチプレクサ回路(MUX)203Aが,従来の構成に追加されており,マルチプレクサ回路203Aの出力は,DRレジスタ32のCapture側に接続されている。
【0080】
また,従来技術と異なり,リード/ライト制御回路38Aが設けられている。リード/ライト制御回路38Aにより,フラッシュコア4Aのリード/ライトの制御信号nRE,及び,nWEが制御される。DRレジスタ32のUpdate−DR状態によるフラッシュコア4Aの不揮発性記憶サイクル時であることを示すBUSYのアクティブ期間と,DRレジスタ32のCapture状態とが遭遇した場合に,フラッシュコア4AはnWEを受け付けないので不揮発性記憶動作が起動せず,結果として,その転送に関わるバイトカウンタ(WCTR)36のカウントパルス220が抑制される。
【0081】
図10に示すように,不揮発性メモリアレイ12の部分消去の単位であるブロックのうち,フラッシュコア4Aのデータ書き換えに必要な信号は,S1,S2,S3,S4,及び,S5からなる。S1は,指定ブロック,及び,選択されたブロック24のデータ単位を指定するバイトアドレスからなるアドレス信号である。S2は,選択されたブロック24のうち列アドレスデコーダ16で指定される特定のバイトからの読み出しデータ信号である。S3は,不揮発性メモリアレイ12のブロック24へのプログラムデータ信号である。S4は,フラッシュコア4Aに対する読み出し,プログラム操作,及び全体消去などの各操作を指示するための制御信号である。そしてS5は,フラッシュコア4Aへの個々の操作の状況を示すスティタス信号である。そして,S1,S2,S3,S4,及び,S5は,それぞれ図8のものと同様のレジスタブロック6へ接続されている。
【0082】
レジスタブロック6は,フラッシュコア4Aへのアクセスを行うための信号,S1,S2,S3,S4,及び,S5を生成,及び,検知するためのレジスタブロックである。そして,フラッシュコア4Aのアドレス信号S1の中のバイトアドレスを設定するバイトカウンタ(WCTR)36と,S1の中のブロックアドレスを設定するSECADRレジスタ30と,制御信号S4を生成するとともに,フラッシュコア4Aの読み出しデータ信号S2を検知し,かつ,フラッシュコア4Aへの書き込みデータ信号S3を設定するDRレジスタ32等から構成されている。
【0083】
第1の実施形態の動作を,図2,図3を用いて説明する。図2,図3は,第1の実施形態の動作を示すタイミングチャートであり,図2はBUSY信号の非検出,図3はBUSY信号の検出を表す。
【0084】
フラッシュライタからのフラッシュコア4Aの所定のブロックヘ1ブロック分のプログラム操作を実行する場合,あらかじめ目的のブロックを指定するためSECADRレジスタ30へ所定の行アドレスを,JTAG端子を介して設定する。
【0085】
このとき,SECADRレジスタ30のアクセスは,Update−DR状態においてUpdate_SECADR_CK218が入力される。この信号218は,SECADRレジスタ30のUpdate動作を実行するとともに,カウンタ(WCTR)36を同時にクリアする。そして,S1,即ちフラッシュコア4AのアドレスA[m−1:0]は,所定のブロックの先頭アドしスを示すことになる。
【0086】
次に,選択されたブロックへ,1バイト単位でデータのプログラム操作の目的で,当該ブロックサイズ分のデータを1バイト単位でDRレジスタ32へ転送する操作を実施する。
【0087】
図2に示すタイミング動作のように,最初の1バイト目の転送では,フラッシュコアは何らの不揮発性記憶操作を実行していない。このため,DRレジスタ32へ1バイトのデータをスキャンし,Update−DR時点1バイト目のデータをUpdate_DR_CK210によりUpdateして設定すると,信号210により,リード/ライト制御回路38Aは,フラッシュコア4AヘのライトパルスnWEを生成する。このときフラッシュコア4Aは,バイトカウンタ(WCTR)36が初期状態である。このため,このライトパルスにより,フラッシュコア4AはSECADRレジスタ30により選択されたブロックの最初の列アドレスへ,1バイトの不揮発性記憶操作を開始する。そして,その不揮発性記憶実行中であることを示すBUSY信号に論理”1”を出力する。このBUSY信号は,フラッシュコア4A内の不揮発記憶動作が完了するまで論理”1”を保持する。この時間は,フラッシュコア4A内部の回路及びプロセスに依存し,製造プロセス中のウェハ・プロセスのバラツキにより,個々のチップにより異なる。また,同一チップであっても電源電圧により変動する。
【0088】
次に,2番目のプログラムデータがDRレジスタ32へ転送される操作が開始される。そして,このBUSYが論理”1”の期間の終了後に,2番目のDRレジスタアクセスにおけるCapture−DRが生成される。すると,2番目のDRレジスタ32へのUpdateが正常に実行され,同様にnWEが生成され,フラッシュコア4Aの1バイトの不揮発性記憶が開始する。
【0089】
このとき,1番目の不揮発性記憶の終了を意味するBUSYの立下がりで,バイトカウンタ(WCTR)36は+1インクリメントされる。そして,S1の示すアドレスは,バイトカウンタ(WCTR)36の更新値により同じブロックの2番目のバイト位置を示すアドレスに更新される。
【0090】
しかしながら,1番目のBUSY期間中に2番目の32のアクセスによるCapture−DR状態が重なった場合は事情は異なる。
【0091】
図3のタイミング動作に示されるように,1番目のnWEの発生から一定期間BUSYが発生する。2番目の32のアクセスによるUpdate−DR状態では,そのBUSYが論理”0”である保証は無いため,DRレジスタ32のアクセスによるCapture−DRが1番目のBUSYに遭遇すると,リード/ライト制御回路38A内部のINHフラグは論理”1”になる。このフラグにより,BUSYの立ち下がりによるWCTRインクリメントパルスが発生しないので,WCTRは+1が更新されず,以前のカウント状態を保持する。従って,nWEのパルス生成が禁止される。つまり,このとき,2番目のDRアクセスによるUpdate−DRは無視される。また,フラッシュコア4Aは,nWEが入力されないので不揮発性記憶動作が起動されず,しかも,不揮発性記憶動作状態を示すBUSY信号も発生しない。
【0092】
リード/ライト制御回路38Aの内部フラグINHは,2番目のUpdate−DR状態を過ぎるとクリアされ,3番目のDRアクセスを受付け可能にする。
【0093】
以下,3番目以降のデータ転送に関しても同様の機能を実行する。即ち,フラッシュの不揮発性記憶が発生するのは,以前の不揮発性記憶によるBUSYフラグと,次のデータ転送によるCapture−DR状態の重なりの有無に依存する。フラッシュコアのプロセスバラツキや,電源電圧等の変動要因には依存しない。
【0094】
DRレジスタ32へのデータ転送は,DRレジスタ32のCaptureデータのSCANOUT信号,即ち,最終的にはJTAGのTDO端子を介してフラッシュライタへ返送されることを意味する。このときのDRレジスタ32のCaptureデータは,フラッシュコア4AのBUSY信号の論理レベルを含んでいる。このため,フラッシュライタは,フラッシュコア4AのBUSY信号をフラッシュコア4Aのスティタス情報として観測できることになる。
【0095】
以上のように,第1の実施形態によれば,DRレジスタ32へのデータ転送時において,DRレジスタ32のCapture値に,フラッシュコアの不揮発性記憶動作状態を示すBUSY信号の論理レベルをCapture値のフラグとして入力させるようにした。このため,DRレジスタ32ヘのデータ転送によるフラッシュコアのスティタス情報であるBUSY信号を,次のデータ転送によるCapture出力により観測できることになる。
【0096】
つまりこれは,シリアル通信のプロトコルにおいて,1つのデータ転送というイベントに起因するスティタス情報が,その次のイベントの開始時に観測され,イベントの終了時にホストであるフラッシュライタへ通知されることを意味する。
【0097】
このことは,SCBNレジスタを操作し,FCRレジスタなどの別のレジスタを選択する必要がなく,また,IRレジスタを操作することなく,DRレジスタによりフラッシュコアのステイタス情報を得ることになる。このため,データ転送における余分なアクセス,及び,余分なクロック数が排除できるという効果がある。
【0098】
また,前回のフラッシュコアヘの1バイト書込みに対するBUSY期間中に,次のDRレジスタヘのデータ転送の際,Capture−DRがBUSY信号と遭遇した場合,このDRレジスタへのアクセスにより,nWEが生成されていないので,このDRアクセスは自動的に無効として処理されることになる。また,WCTRの内容は不変となる。このことより,この転送のデータ内容と同じものを再度,転送することを可能にする効果がある。
【0099】
なお,第1の実施形態において,DRレジスタ32ヘのデータ転送の単位をバイト単位として説明したが,DRレジスタ32のビット長を16ビット,あるいは32ビットなどとして,データ転送の単位を変更することも可能である。ただし,このときのバイトカウンタ(WCTR)36の示すアドレスも,これに対応して16ビット単位のアドレス,あるいは,32ビット単位のアドレスなどとしなければならない。
【0100】
また,第1の実施形態では,プログラム動作においてDRレジスタへのプログラムデータ転送について説明したが,フラッシュコアよりのデータ読み出しの場合には,wrenを”0”とし,リード/ライト制御回路38のフラッシュコアヘの制御信号がリードモードになるので,従来例と同様の動作をするのは言うまでない。
【0101】
また,第1の実施形態で,レジスタブロック6の制御対象を不揮発性記憶デバイス,即ち,フラッシュコアとしたが,制御信号であるnWE信号の入力後,ある一定のBUSY期間があり,そのBUSY信号を発生する回路モジュールであれば,特にフラッシュコアに限定されるものではない。
【0102】
(第2の実施形態)
図4は,第2の実施形態の回路構成における,フラッシュライタよりDRレジスタ32ヘプログラムデータを転送する手順のフローを示す。
【0103】
LSIの内部ハードウェアは,第1の実施形態において説明したものと同様である。第2の実施形態では,フラッシュコアヘ所定のプログラムデータを転送する。即ち,プログラムする機能のうち,フラッシュコアの目的のブロックヘの1ブロック分のプログラム操作手順を,フラッシュライタ側のフローとして実現している。
【0104】
第2の実施形態の動作を,図4を用いて説明する。なお,JTAGのTAPコントローラの詳細な説明,フラッシュブロックの初期化等の設定,また,メモリアレイの目的のブロックの選択操作についての記載は省略し,選択されたブロックに対する1バイト単位のプログラム動作の手順についてのみ記述する。
【0105】
まず,手順500で,DRレジスタヘ転送すべきデータの送信カウンタのカウント値を,0クリアして初期化する(500)。次に,手順501へ進む。
【0106】
手順501で,フラッシュライタがもっている,転送すべきプログラムデータの送信カウンタをポインタとして,1バイトをDRレジスタヘ転送する(501)。次に,手順502へ進む。
【0107】
手順502で,同時にCaptureデータを観測する(502)。次に,手順503へ進む。
【0108】
手順503で,Capture値のBUSYフラグの論理レベルが”1”であるか否かを判断する(503)。BUSYフラグが”0”であれば,手順504へ進む。また,BUSYフラグが”1”であれば,手順506へ進む。
【0109】
BUSYフラグが”0”であれば,手順504で,送信カウンタを+1カウントアップして更新する(504)。次に手順505へ進む。
【0110】
手順503でBUSYフラグが”1”であれば,手順506で,今回送信したデータと同じデータを再度,DRレジスタヘ送信する(506)。次に,手順502へ進む。
【0111】
手順505で,送信カウンタの最終値と1ブロックのバイト長とを比較し,送信データがすべて完了したかどうかを判断する(505)。送信データ完了に達していなければ,手順501に進む。送信データがすべて完了していれば,フローを終了する。
【0112】
以上のように,第2の実施形態によれば,フラッシュコアの目的のブロックに対する1ブロック分のプログラム操作が,図4のような比較的簡単なフローで実行できる。
【0113】
ここで,フラッシュブロック6におけるレジスタ操作は,常にDRレジスタ32に対してのみであり,他のレジスタヘのアクセスは何ら実行していない。フラッシュコアの不揮発性記憶中のDRレジスタ32へのアクセスによる送信データの喪失の防止は,ハードウェアによるライトパルスの抑制,及び,バイトカウンタ(WCTR)36のカウント値の保持により実施する。そして,フローとしては,CaptureデータのBUSYフラグの判定結果が「Yes」であった場合に,同一データの再送という手順506のみで対処していることになる。
【0114】
したがって,DRレジスタ32への1バイトのアクセス後に,次の1バイトの転送の失敗にTCK単位で13クロック,即ち,TCKの周期を前述と同様10μsとすれば,130μsを要する。フラッシュコアのBUSY生成期間を前述の例のように20μs程度とすると,手順503で分岐が「Yes」となる確率は低い。仮に,手順503による分岐が「Yes」となっても,BUSYフラグのCapture値は10クロック以前のものであるため,手順503の時点で,フラッシュコアのBUSY信号が論理”1”を保持している可能性は極めて低い。
【0115】
したがって,手順506において,前回と同一データを再送すれば,フラッシュコア自体はプログラムデータの受付可能状態になっているので,再送データによるプログラムは十分に成功する。再送データにより13クロックを消費するが,この時間はFCRレジスタのBUSYチェックによる方法の,67クロックに比べると少ない。TCKの1クロックが10μs,1ブロックが2048バイトとすると,1ブロックの毎回にわたって再送が行われるとしても,266msとなり,前述のFCRレジスタによるBUSYチェックによる方法と比べると十分に速い。
【0116】
1ブロックのブロックサイズは上記の例では2KBと比較的大きなサイズであるが,現実の送信クロックTCKの周波数は,フラッシュライタの処理スピードに依存し,上記の例の10μsよりは低くなる。したがって,図4のフローで手順506の分岐が発生する確率は低く,再送による転送時間の増分13クロックの実時間が増加したとしてもその発生回数は少ない。したがって,1ブロック全体としては,比較的高速なプログラム動作が可能になる。
【0117】
なお,第2の実施形態において,実際には各手順においてソフトウェア上何らかのウェイト動作は自然に発生するので,1つのデータ転送後に,次のデータ転送の直前に何らかの固定されたウェイト動作を置けば,手順506の分岐の発生確率を抑えられる。
【0118】
また,得られるBUSYチェックにより,同一データの再送の追加を判断する過程で,その再送の直前において何らかの固定されたウェイト動作を置いても良い。
【0119】
(第3の実施形態)
図5は,第3の実施形態の回路構成における,フラッシュライタよりDRレジスタ32ヘプログラムデータを転送する手順のフローを示す。図4の第2の実施形態のフローは,フラッシュライタの処理スピードがフラッシュコアのBUSY期間に比べて比較的遅いことを前提としていたが,図5の第3の実施形態のフローは,これを前提としていない。
【0120】
第3の実施形態において,LSIの内部ハードウェアは,第1の実施形態において説明したものと同様である。第3の実施形態では,フラッシュコアヘ所定のプログラムデータを転送,即ち,プログラムする機能のうち,フラッシュコアの目的のブロックヘの1ブロック分のプログラム操作手順を,フラッシュライタ側のフローとして実現している。
【0121】
第3の実施形態の動作を,図5を用いて説明する。なお,JTAGのTAPコントローラの詳細な説明,フラッシュブロックの初期化等の設定,また,メモリアレイの目的のブロックの選択操作についての記載は省略し,選択されたブロックに対する1バイト単位のプログラム動作の手順についてのみ記述する。
【0122】
まず,手順600で,DRレジスタ32ヘ転送すべきデータの送信カウンタのカウント値を0クリアして初期化する。また,TAPコントローラのRun−Test/Idle状態の1つのループを1つのウェイト動作とし,そのウェイトする回数を設定するテンポラリデータであるウェイト数を,0に初期化する(600)。次に,手順601へ進む。
【0123】
手順601で,フラッシュライタがもっている,転送すべきプログラムデータのカウンタをポインタとして示す1バイトを,DRレジスタ32へ転送する(601)。ここで,ウェイト数で現在指定されている回数分,RUN−Test/Idleの状態を繰り返す。ただし,ウェイト数の初期値は0である。次に,手順602ヘ進む。
【0124】
手順602で,同時にCaptureデータを観測する(602)。次に,手順603へ進む,
【0125】
手順603で,Capture値のBUSYフラグの論理レベルが”1”であるか否かを判断する(603)。BUSYフラグが”0”であれば,手順604へ進む。また,BUSYフラグが”1”であれば,手順606へ進む。
【0126】
手順603でBUSYフラグが0であれば,手順604で,送信カウンタを+1カウントアップして更新する(604)。次に,手順605へ進む。
【0127】
手順603で,BUSYフラグが”1”であれば,手順606で,ウェイト数を+1インクリメントし,TAPコントローラのRUN−TEST/Idle状態を更新されたウェイト数分繰り返す(606)。次に,手順607へ進む。
【0128】
手順607で,今回送信したデータと同じデータを再度,DRレジスタ32へ送信する。次に,手順602へ進む。
【0129】
手順605で,送信カウンタの最終値と1ブロックのバイト長とを比較し,送信データがすべて完了したかどうかを判断する(605)。送信データが完了に達していないければ,手順608に進む。また,送信データがすべて完了したならば,フローを終了する。
【0130】
手順608で,TAPコントローラのRUN−Test/Idle状態をウェイト数分操り返す(608)。次に,手順601へ進む。
【0131】
以上示したように,第3の実施形態によれば,フラッシュコアの目的のブロックに対する1ブロック分のプログラム操作が,図5のような比較的簡単なフローで実行できる。
【0132】
ここで,フラッシュブロックにおけるレジスタ操作は,第2の実施形態と同様に,常にDRレジスタに対してのみであり,他のレジスタへのアクセスは何ら実行していない。フラッシュコアの不揮発性記憶動作中のデータレジスタへのアクセスによる送信データの喪失の防止は,ハードウェアによるライトパルスの抑制,及び,WCTRカウンタのカウント値の保持により実施する。フローとしては,次の送信データを実施する前に,手順608においてウェイト数分の遅延を設けていることと,CaptureデータにおけるBUSYフラグ判定である手順603の「Yes」分岐の後,ウェイトサイクルの挿入である手順606,さらに同一データの再送という手順607,とで対処していることになる。
【0133】
DRレジスタヘの1バイトのアクセス後に,次の1バイトの転送に移る際,あらかじめ指定されたウェイト数というパラメータに依存する遅延,即ち,手順608が挿入されるので,次の1バイト転送後,手順603でBUSYフラグ判定が「Yes」となる確率は低い。
【0134】
また,DRレジスタヘの1バイトのアクセス後,次の1バイトの転送の失敗には13クロック,即ち130μsを要する。フラッシュコアのBUSY生成期間を前述の例のように20μs程度とすると,手順603で分岐が「Yes」となる確率はかなり低い。仮に,手順603による分岐が「Yes」となっても,BUSYフラグのCapture値はRun−Test/Idle状態より10クロック以前のものである。このため,手順603の時点で,フラッシュコアのBUSY信号が論理”1”を保持している可能性は,極めて低い。
【0135】
したがって,手順607において,前回と同一データを再送すれば,フラッシュコア自体は手順606の遅延によりプログラムデータを受付可能な状態になっているので,再送データによるプログラムは十分に成功する。この再送データにより13クロックを消費するが,この時間は前述のFCRレジスタのBUSYチェックによる方法Aの67クロックに比べると少ない。
【0136】
次に,プログラム転送時間を短くするために,フラッシュライタの処理性能を上げ,TCKの周期を短くした場合,最初の転送データではBUSYフラグの判定手順603で「Yes」となる可能性が高く,フラッシュコア自体が依然としてBUSYの論理”1”を保持している可能性がある。しかし,手順606で+1カウントアップされたウェイト状態を挿入し,次の手順607で同一データの再送を実行する。したがって,このときのCapture値のBUSYフラグ検出自体は,手順603の分岐後,ウェイト数が+1インクリメントされ,設定されたウェイト数分の遅延後実施される。このため,再送データによるBUSYフラグの判定の手順602,及び,判断手順603で,BUSYフラグの論理”1”が発生する可能性はさらに低くなる。
【0137】
仮に最初の分岐手順603で「Yes」が発生しても,手順606での遅延は,当初のウェイト数に+1インクリメントされた遅延量なので,当所に比べればこの時点でウェイト量が+1だけ増加することになる。
【0138】
したがって,図5に示す第3の実施形態のフローでは,通常のループに手順608の遅延を追加していることと,BUSYフラグ判断手順603での論理”1”の判定後,同一データの再送という,いわばデータ転送の失敗及びそのやり直しが発生するたびに追加されるウェイトサイクルが+1インクリメントされ,データ転送の失敗を発生しにくくする。このため,最初の数バイトの転送後は,手順603の「Yes」分岐は発生せず,1ブロック分のデータ転送という場合においては,最小限のウェイト数でデータ転送が実行され,かつ,安定的にプログラム動作が実行される。したがって,効率的なプログラム操作が実行できるという効果がある。
【0139】
また,ウェイト数のインクリ操作により,異なったプロセスのフラッシュコアに対しても図5のフローは適用可能である。実際のウェイト数は,個々のデバイス,あるいは個々のチップによりそれぞれに自動的に対応することになる。このことは,フラッシュコアのデバイスプロセスに依存せず,より効果的なプログラム操作が実行できるという効果があることになる,
【0140】
第2,第3の実施形態は,ブロック消去タイプのフラッシュコアヘの1ブロック単位のプログラム操作において,1バイト当たりの不揮発性記憶操作の実行期間であるBUSYのチェックを実施し,しかも,ブロック当たりのデータ転送に関わる余分な時間をできるだけ排除する回路方式,及び,手順をも提供している。
【0141】
なお,第1〜第3の実施形態では,データ通信のプロトコルをIEEE std.1149.1に記載のプロトコルを用いた場合を述べたが,レジスタブロック6の各スキャンレジスタのCapture動作,Shift動作,Update動作を実現すれば,TAPコントローラ回路74の状態遷移,あるいはJTAGのTAP回路8の構成を,別のシリアルインタフェースプロトコルとすることも可能である。
【0142】
(第4の実施形態)
図6は,第4の実施形態の回路構成において,フラッシュライタよりアクセスできるPRFレジスタ28の定義を示している。
【0143】
図6の上段は,PRFレジスタ28のUpdate値の詳細を示している。図6中のLSB(Least Significant Bit)であるwrenは,第1の実施形態で説明したwrenと同様の設定情報である。一方,図6の下段は,PRFレジスタ28のCapture値の詳細を示している。図6中のmodeフラグは,論理”0”のとき,レジスタブロック6の制御対象フラッシュコアが従来例のセクタバッファ方式のフラッシュコアであり,論理”1”のとき,前述したブロック消去型のフラッシュコアであることを示す。
【0144】
このmodeフラグは,LSIの製造段階で制御対象であるフラッシュコアの方式とともにあらかじめ設定される,そのLSIに固有のバラメータである。外部装置であるフラッシュライタからTAP回路を介してPRFレジスタ28のCapture値を参照することにより,このmodeフラグの内容を解読することが可能になる。
【0145】
図8,図6を用いて,第4の実施形態の動作を説明する。なお,JTAGのTAPコントローラの詳細な説明,フラッシュブロックの初期化等の設定の記載は省略し,また,メモリアレイの目的のブロックの選択操作についての記載も省略する。
【0146】
プログラム対象のLSIに内蔵されたフラッシュコアが,従来例のセクタバッファ方式であるか,ブロック消去方式であるかは,通常,汎用品のフラッシュメモリ製品をのぞけばLSIの外見からは判断できない。対象となるLSIの型名があらかじめ判明し,フラッシュコアの上記方式がいずれかであるかが判明していることが必要である。
【0147】
第4の実施形態は,LSI外部の装置であるフラッシュライタの電源投入後に,フラッシュライタに接続された制御対象となるLSIの図8に示すレジスタブロックへ,従来例の説明で述べたようにTAP回路8を経由してアクセスし,レジスタブロック6内部の1つのスキャンレジスタであるPRFレジスタ28のCapture値を参照する。
【0148】
次に,このCapture値の中の,図6に示すmodeフラグの論理値を判別する。そのmodeフラグの論理値の判別結果が,論理”0”である場合は,レジスタブロック6の制御対象のフラッシュコア4が,セクタバッファ方式のフラッシュコアであることを認識する。そこで,レジスタブロック6の内部の各種レジスタへ従来例と同様のアクセスを実施し,フラッシュコア4へフラッシュライタよりプログラムすべき一連のデータをレジスタブロック6内部のDRレジスタへ転送し,セクタバッファへ蓄えておき,その後,FCRレジスタに対するコマンド操作によりプログラムすることができる。
【0149】
また,そのmodeフラグの論理値の判別結果が,論理”1”であった場合,レジスタブロック6の制御対象のフラッシュコア4Aが,ブロック消去方式のフラッシュコアであることを認識する。そこで同様に,レジスタブロック6内部の各種レジスタへ,第1の実施形態,第2の実施形態,または,第3の実施形態で示した手順で,フラッシュライタより,プログラムすべき一連のデータを,レジスタブロック6内部のDRレジスタへ転送し,かつ,プログラムすることができる。
【0150】
以上のように,第4の実施形態によれば,LSIの外部に接続されたフラッシュライタにより,LSIに内蔵されているフラッシュコアのプログラム方式があらかじめ判明していなくても,また,フラッシュライタにそのフラッシュコアのプログラム方式の種別が設定されていなくても,フラッシュライタ自体がそのLSIへアクセスする過程で,LSI内部のフラッシュコアを制御するレジスタブロックの1つのレジスタにあらかじめ設定したフラグの論理値により,自動的に判別し,フラッシュコアの種別を判断することが可能となる。
【0151】
このことは,そのまま,LSI内部のフラッシュコアの種類に対応したプログラム手順を確立できることになる。つまり,あらかじめプログラム対象のフラッシュコアの種別が判明していなくても,フラッシュライタ自身がLSI内部に内蔵されたフラッシュコアの種別を自動的に認識し,その種別に適合したプログラム手順で,プログラム操作を実行できるという効果がある。
【0152】
以上,添付図面を参照しながら本発明の不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置の好適な実施形態について説明したが,本発明はこれらの例に限定されない。いわゆる当業者であれば,特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0153】
【発明の効果】
本発明により,フラッシュライタでフラッシュメモリの書き換えを実行する場合に,BUSYチェックに要する時間を増やすことなく,データ転送における余分なアクセス,及び,余分なクロック数を排除できて高速なプログラム動作が可能になる不揮発性記憶装置のデ−タ転送制御回路,及び,不揮発性記憶装置の書き換え回路が提供できた。
【0154】
また,本発明により,フラッシュコアの目的のブロックに対する1ブロック分のプログラム操作が,比較的簡単なフローで実行でき,安定的かつ効率的にプログラム操作が実行できる不揮発性記憶装置のデ−タ転送制御回路,及び,不揮発性記憶装置の書き換え回路が提供できた。
【0155】
さらに本発明により,異なるプログラム方式に対して別々にフラッシュライタを揃えることなく,LSIに内蔵されているフラッシュコアのプログラム方式があらかじめ判明していなくても,また,フラッシュライタにそのフラッシュコアのプログラム方式の種別が設定されていなくても,フラッシュライタ自体がそのLSIへアクセスする過程で自動的にフラッシュコアの種別を判断することが可能である不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置が提供できた。
【図面の簡単な説明】
【図1】図1は,第1の実施形態を示す回路図である。
【図2】図2は,第1の実施形態の動作(BUSY信号の非検出)を示すタイミングチャートである。
【図3】図3は,第1の実施形態の動作(BUSY信号の検出)を示すタイミングチャートである。
【図4】図4は,第2の実施形態の回路構成における,フラッシュライタよりDRレジスタヘプログラムデータを転送する手順のフロー図である。
【図5】図5は,第3の実施形態の回路構成における,フラッシュライタよりDRレジスタヘブログラムデータを転送する手順のフロー図である。
【図6】図6は,第4の実施形態の回路構成において,フラッシュライタよりアクセスできるPRFレジスタの定義を示している。
【図7】図7は,JTAGのTAPコントローラ回路の状態遷移を示す図である。
【図8】図8は,従来の回路方式の全体構成を示す回路ブロック図である。
【図9】図9は,プログラムデータをDRレジスタへ転送する手段について,図8のDRレジスタへの転送に関わる部分のみを抜粋した回路ブロック図である。
【図10】図10は,フラッシュコア4Aの構成を示す概略図である。
【符号の説明】
4 不揮発性記憶メモリ(フラッシュコア)
4A フラッシュコア
6 レジスタブロック
8 JTAGのTAP回路
10 デコーダ回路
12 不揮発記憶メモリアレイ
14 行アドレスデコーダ
16 列アドレスデコーダ
20 制御回路
22 センスアンプ
24 選択されたブロック
25 セレクタ
26 SCBNレジスタ
28 PRFレジスタ
30 SECADRレジスタ
32 DRレジスタ,あるいはデータスキャンレジスタ
34 FCRレジスタ
36 バイトカウンタ(WCTR)
38 リード/ライト制御回路
62 インストラクションレジスタ(IR)
64 バイパスレジスタ
66 SCNレジスタ
74 TAPコントローラ回路
203A マルチプレクサ回路(MUX)
220 カウントパルス

Claims (12)

  1. 不揮発性記憶装置のデ−タ転送制御回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    外部からの1つのデータの転送毎に所定のデータ受付け禁止期間であるビジー信号を発生するメモリと,
    前記メモリヘのデータ設定動作を制御するためのメモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のデータを設定し,前記メモリヘ与えるためのデータスキャンレジスタと,
    前記メモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタヘの1つデータが設定されたことに起因する前記メモリのビジー期間に次のデータ転送が発生し,
    当該データが前記データスキャンレジスタヘ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    前記データスキャンレジスタが転送先メモリのビジー信号をキャプチャ動作するときに,前記ビジー信号をキャプチャデータ中のフラグとしてTAP回路を経由して外部へ送出し,
    次回のデータスキャンレジスタへの1つのプログラム送信時に前記ビジー信号の存在を検出したときに,前記メモリに対する転送データの入力を無効化することを特徴とするデータ転送制御回路。
  2. 不揮発性記憶装置のデ−タ転送制御回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    外部からの1つのデータの転送毎に所定のデータ受付け禁止期間であるビジー信号を発生するメモリと,
    前記メモリヘのデータ設定動作を制御するためのメモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のデータを設定し,前記メモリヘ与えるためのデータスキャンレジスタと,
    前記メモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタヘの1つデータが設定されたことに起因する前記メモリのビジー期間に次のデータ転送が発生し,
    当該データが前記データスキャンレジスタヘ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのデータスキャンレジスタに対する1つの転送データとともに発生するビジー状態を,次の転送データの前記データスキャンレジスタヘの転送入力の始めの状態で検知し,転送終了後に出力するとともに,ビジー状態の途上に次の転送データの送信に遭遇したとき,その転送データの受付を無効化する機能をもち,
    1つの転送データの前記データスキャンレジスタへの送出完了の際に,得られる出力データのビジー状態の有無を示すビジーフラグの判定の結果ビジーで無い場合に,次の1つの転送データの送信を準備し,
    前記ビジーフラグの判定の結果ビジーである場合に,送出したデータと同じデータを再度前記データスキャンレジスタヘ送信し,得られる出力データの判定を前回と同様に実施するループをもつことを特徴とするデータ転送制御回路。
  3. 不揮発性記憶装置のデ−タ転送制御回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    外部からの1つのデータの転送毎に所定のデータ受付け禁止期間であるビジー信号を発生するメモリと,
    前記メモリヘのデータ設定動作を制御するためのメモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のデータを設定し,前記メモリヘ与えるためのデータスキャンレジスタと,
    前記メモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタヘの1つデータが設定されたことに起因する前記メモリのビジー期間に次のデータ転送が発生し,
    当該データが前記データスキャンレジスタヘ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのデータスキャンレジスタに対する1つの転送データとともに発生するビジー状態を,次の転送データのデータスキャンレジスタヘの転送入力の始めの状態で検知し,転送終了後に出力するとともに,
    ビジー状態の途上に次の転送データの送信に遭遇したとき,前記転送データの受付を無効化する機能をもち,
    1つの転送データを前記データスキャンレジスタヘの送出完了の際に,得られる出力データ中のビジーフラグの判定の結果ビジーで無い場合に,あらかじめ設定されたウェイト数の遅延後,次の1つの転送データの送信を準備し,
    前記ビジーフラグの判定の結果ビジーである場合に,送出したデータと同じデータを再度前記データスキャンレジスタへ送信し,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とするデータ転送制御回路。
  4. 不揮発性記憶装置のデ−タ転送制御回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    外部からの1つのデータの転送毎に所定のデータ受付け禁止期間であるビジー信号を発生するメモリと,
    前記メモリヘのデータ設定動作を制御するためのメモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のデータを設定し,前記メモリヘ与えるためのデータスキャンレジスタと,
    前記メモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタヘの1つデータが設定されたことに起因する前記メモリのビジー期間に次のデータ転送が発生し,
    当該データが前記データスキャンレジスタヘ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのデータスキャンレジスタに対する1つの転送データとともに発生するビジー状態を,次の転送データのデータスキャンレジスタへの転送入力の始めの状態で検知し,転送終了後に出力するとともに,
    ビジー状態の途上に次の転送データの送信に遭遇したとき,前記転送データの受付を無効化する機能をもち,
    あらかじめ初期化されたウェイト数パラメータをもち,
    1つの転送データの前記データスキャンレジスタヘの送出完了の際に,得られる出力データを保持し,
    前記保持されたキャプチャデータ中のビジーフラグの判定の結果ビジーで無い場合に,前記ウェイト数パラメータの指定する遅延動作後に,次の1つの転送データの送信を準備し,
    前記ビジーフラグの判定の結果ビジーである場合に,ウェイト数パラメータの値を+1増加させて保持し,前記保持されたウェイト数の遅延動作後に前回送出したデータと同じデータを再度前記データスキャンレジスタヘ送信し,
    かつ,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とするデータ転送制御回路。
  5. 前記ウェイト数設定の手段が,前記TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,前記状態におけるループによることを特徴とする請求項3または4に記載のデータ転送制御回路。
  6. 前記ウェイト数設定の手段が,前記TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,前記状態におけるTCKクロックの伸張によることを特徴とする請求項3または4に記載のデータ転送制御回路。
  7. 不揮発性記憶装置の書き換え回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    1つのプログラムデータの書込み毎に所定のデータ受付け禁止期間であるビジー信号を発生して不揮発性記憶動作が実行され,かつ,1ブロック単位での消去が可能なブロック消去型のフラッシュメモリと,
    前記フラッシュメモリのプログラム動作を制御するための,メモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のプログラムデータを設定し,フラッシュメモリヘ与えるためのデータスキャンレジスタと,
    前記フラッシュメモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタへの1つのプログラムデータが設定されたことに起因するフラッシュメモリが前記ビジー信号を発生して不揮発性記憶動作状態である期間に次のプログラムデータがデータスキャンレジスタへ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのプログラムデータの前記データスキャンレジスタヘの設定に起因するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータの前記データスキャンレジスタヘの入力のキャプチャ状態で検知し,前記データスキャンレジスタヘの設定の完了時に,外部ヘスティタス情報として送出し,
    次回のデータスキャンレジスタヘの1つのプログラムデータ送信時に前記ビジー信号の存在を検出したときに,前記メモリに対する転送データの入力を無効化することを特徴とする書き換え回路。
  8. 不揮発性記憶装置の書き換え回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    1つのプログラムデータの書込み毎に所定のデータ受付け禁止期間であるビジー信号を発生して不揮発性記憶動作が実行され,かつ,1ブロック単位での消去が可能なブロック消去型のフラッシュメモリと,
    前記フラッシュメモリのプログラム動作を制御するための,メモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のプログラムデータを設定し,フラッシュメモリヘ与えるためのデータスキャンレジスタと,
    前記フラッシュメモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタへの1つのプログラムデータが設定されたことに起因するフラッシュメモリが前記ビジー信号を発生して不揮発性記憶動作状態である期間に次のプログラムデータがデータスキャンレジスタへ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのプログラムデータの前記データスキャンレジスタヘの設定に起因するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータの前記データスキャンレジスタヘの入力のキャプチャ状態で検知し,前記データスキャンレジスタヘの設定の完了時に,外部ヘスティタス情報として送出し,
    1つのデータスキャンレジスタに対する1つのプログラムデータ送信とともに発生するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータの前記データスキャンレジスタへの転送入力の始めの状態で検知し,転送終了後に出力するとともに,前記不揮発性記憶動作状態の途上に次のプログラムデータの送信に遭遇したとき,前記次のプログラムデータの送信を無効化する機能をもち,
    1つのプログラムデータの前記データスキャンレジスタヘの送出完了の際に,得られる出力データの不揮発性記憶動作状態の有無を示すビジーフラグの判定の結果ビジーで無い場合に,次の1つのプログラムデータの送信を準備し,
    前記ビジーフラグの判定の結果ビジーである場合に,送出したデータと同じデータを再度前記データスキャンレジスタヘ送信し,得られる出力データの判定を前回と同様に実施するループをもつことを特徴とする書き換え回路。
  9. 不揮発性記憶装置の書き換え回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    1つのプログラムデータの書込み毎に所定のデータ受付け禁止期間であるビジー信号を発生して不揮発性記憶動作が実行され,かつ,1ブロック単位での消去が可能なブロック消去型のフラッシュメモリと,
    前記フラッシュメモリのプログラム動作を制御するための,メモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のプログラムデータを設定し,フラッシュメモリヘ与えるためのデータスキャンレジスタと,
    前記フラッシュメモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタへの1つのプログラムデータが設定されたことに起因するフラッシュメモリが前記ビジー信号を発生して不揮発性記憶動作状態である期間に次のプログラムデータがデータスキャンレジスタへ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのデータスキャンレジスタに対する1つのプログラムデータ送信とともに発生するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータのデータスキャンレジンタヘの転送入力の始めの状態で検知し,転送終了後に出力するとともに,前記不揮発性記憶動作状態の途上に次のプログラムデータの送信に遭遇したとき,前記次のプログラムデータの送信を無効化する機能をもち,
    1つのプログラムデータのデータスキャンレジスタヘの送出完了の際に,得られる出力データの不揮発性記憶動作状態の有無を示すビジーフラグの判定の結果ビジーで無い場合に,あらかじめ設定されたウェイト数の遅延後,次の1つのプログラムデータの送信を準備し,
    前記ビジーフラグの判定の結果ビジーである場合に,送出したデータと同じデータを再度前記データスキャンレジスタヘ送信し,
    得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とする書き換え回路。
  10. 不揮発性記憶装置の書き換え回路であって,
    データ入力信号TDI,データ出力信号TDO,モード選択信号TMS,及び,クロック信号TCKを外部信号として構成されるJTAGに規定されたTAP回路と,
    1つのプログラムデータの書込み毎に所定のデータ受付け禁止期間であるビジー信号を発生して不揮発性記憶動作が実行され,かつ,1ブロック単位での消去が可能なブロック消去型のフラッシュメモリと,
    前記フラッシュメモリのプログラム動作を制御するための,メモリアドレスを指定するアドレス設定スキャンレジスタと,
    前記TAP回路を介して1転送単位のプログラムデータを設定し,フラッシュメモリヘ与えるためのデータスキャンレジスタと,
    前記フラッシュメモリヘプログラム動作実行の指示を与えるライトパルス生成のための制御回路とを備え,
    前記データスキャンレジスタへの1つのプログラムデータが設定されたことに起因するフラッシュメモリが前記ビジー信号を発生して不揮発性記憶動作状態である期間に次のプログラムデータがデータスキャンレジスタへ設定されるときに,前記制御回路が生成するライトパルス生成を抑制するとともに,前記アドレス設定スキャンレジスタの自動更新を抑制し,
    1つのデータスキャンレジスタに対する1つのプログラムデータ送信とともに発生するフラッシュメモリの不揮発性記憶動作状態の有無を,次のプログラムデータの前記データスキャンレジスタへの転送入力の始めの状態で検知し,転送終了後に出力するとともに,前記不揮発性記憶動作状態の途上に次のプログラムデータの送信に遭遇したとき,前記次のプログラムデータの送信を無効化する機能をもち,
    あらかじめ初期化されたウェイト数パラメータをもち,
    1つのプログラムデータの前記データスキャンレジスタヘの送出完了の際に,得られる出力データを保持し,前記保持された不揮発性記憶動作状態の有無を示すビジーフラグの判定の結果ビジーで無い場合に,前記ウェイト数パラメータの指定する遅延動作後に,次の1つのプログラムデータの送信を準備し,
    前記ビジーフラグの判定の結果ビジーである場合に,前記ウェイト数パラメータの値を+1増加させて保持し,前記保持されたウェイト数の遅延動作後に送出したデータと同じデータを再度前記データスキャンレジスタヘ送信し,かつ,得られる出力データの判定を前回と同様に実施するフローをもつことを特徴とする書き換え回路。
  11. 前記ウェイト数設定の手段が,前記TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,前記状態におけるループによることを特徴とする請求項9または10に記載の書き換え回路。
  12. 前記ウェイト数設定の手段が,前記TAPコントローラの状態遷移におけるRun−Test/Idle状態の保持,及び,前記状態におけるTCKクロックの伸張によることを特徴とする請求項9または10に記載の書き換え回路。
JP2002122898A 2002-04-24 2002-04-24 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置 Expired - Fee Related JP4122824B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002122898A JP4122824B2 (ja) 2002-04-24 2002-04-24 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002122898A JP4122824B2 (ja) 2002-04-24 2002-04-24 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置

Publications (2)

Publication Number Publication Date
JP2003317490A JP2003317490A (ja) 2003-11-07
JP4122824B2 true JP4122824B2 (ja) 2008-07-23

Family

ID=29538383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002122898A Expired - Fee Related JP4122824B2 (ja) 2002-04-24 2002-04-24 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置

Country Status (1)

Country Link
JP (1) JP4122824B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4562468B2 (ja) * 2004-09-13 2010-10-13 ルネサスエレクトロニクス株式会社 半導体記憶装置
KR100590219B1 (ko) 2004-12-01 2006-06-19 삼성전자주식회사 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
KR101293365B1 (ko) 2005-09-30 2013-08-05 모사이드 테크놀로지스 인코퍼레이티드 출력 제어 메모리
US7451367B2 (en) 2006-02-14 2008-11-11 Atmel Corporation Accessing sequential data in microcontrollers

Also Published As

Publication number Publication date
JP2003317490A (ja) 2003-11-07

Similar Documents

Publication Publication Date Title
US6442092B1 (en) Interface circuit and method for writing data into a non-volatile memory, and scan register
US7047467B1 (en) Structure and method for verifying data in a non-JTAG device from a JTAG device with microcontroller
US5596734A (en) Method and apparatus for programming embedded memories of a variety of integrated circuits using the IEEE test access port
JP4527181B2 (ja) Jtagポートを介したメモリユニットの入出力処理の制御のための方法及び装置
US6523136B1 (en) Semiconductor integrated circuit device with processor
US7610528B2 (en) Configuring flash memory
KR101075091B1 (ko) 반도체 메모리 장치 및 그 테스트 방법
US20070204190A1 (en) Test algorithm selection in memory built-in self test controller
JP2002197898A (ja) 不揮発性半導体メモリ装置及びそれのフェイルビット数検出方法
US7506205B2 (en) Debugging system and method for use with software breakpoint
US7451367B2 (en) Accessing sequential data in microcontrollers
JPH0773696A (ja) セルフ・タイム式メモリ・アレイ及びそれをテストする方法
US7313730B1 (en) Configuration logic for embedded software
CN114237122B (zh) 一种对sram型fpga进行配置、回读和刷新的电路和操作方法
US6427216B1 (en) Integrated circuit testing using a high speed data interface bus
US11830563B2 (en) JTAG based architecture allowing multi-core operation
JP2006059355A (ja) マイクロコントローラーによって制御される不揮発性記憶装置
JP4122824B2 (ja) 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置
CN117234831B (zh) 一种基于多核cpu的芯片功能测试方法及系统
WO2020240223A1 (en) Improved jtag registers with concurrent inputs
JP4176944B2 (ja) 半導体集積回路及び記録媒体
CN107729271B (zh) 具备自测试功能的双总线型e-flash控制电路
JP2005190112A (ja) マイクロコンピュータ及びそのデバッグ方法
JP2006146757A (ja) デバッグ用レジスタおよびデータ転送方法
JP3856651B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070921

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4122824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees