JP4670370B2 - メモリコントローラ及びフラッシュメモリシステム - Google Patents

メモリコントローラ及びフラッシュメモリシステム Download PDF

Info

Publication number
JP4670370B2
JP4670370B2 JP2005021007A JP2005021007A JP4670370B2 JP 4670370 B2 JP4670370 B2 JP 4670370B2 JP 2005021007 A JP2005021007 A JP 2005021007A JP 2005021007 A JP2005021007 A JP 2005021007A JP 4670370 B2 JP4670370 B2 JP 4670370B2
Authority
JP
Japan
Prior art keywords
register
data
flash memory
ata
block
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
JP2005021007A
Other languages
English (en)
Other versions
JP2006209489A (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.)
TDK Corp
Original Assignee
TDK Corp
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 TDK Corp filed Critical TDK Corp
Priority to JP2005021007A priority Critical patent/JP4670370B2/ja
Publication of JP2006209489A publication Critical patent/JP2006209489A/ja
Application granted granted Critical
Publication of JP4670370B2 publication Critical patent/JP4670370B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、メモリコントローラ及びフラッシュメモリシステムに関する。
近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種である。フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。
NAND型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“1”を示すデータが格納されている消去状態から、論理値“0”を示すデータが格納されている書込状態へと変化することができる。これとは対照的に、書込状態から消去状態へと変化するときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルが、全て同時に消去状態になる。この一括消去動作は、一般的に、“ブロック消去”と称されている。
NAND型フラッシュメモリに対する書込処理若しくは読出処理は、ページと称される予め定められた数のメモリセル単位で処理が行なわれる。消去処理の単位であるブロックは複数のページで構成されている。
NAND型フラッシュメモリを用いたメモリシステムは、通常、ATA(AT Attachment)インターフェースを介してホストシステムに接続される。ホストシステムからATAインターフェースを介して与えられたデータがNAND型フラッシュメモリに書込まれ、NAND型フラッシュメモリから読出したデータはATAインターフェースを介してホストシステムに与えられる。
一方、NOR型フラッシュメモリは、ランダムアクセスが可能なので、ホストシステムが起動するときに実行されるプログラム等を書込むデバイスとして使用することがでる。このような用途では、通常、NOR型フラッシュメモリは、ホストシステム内のシステムバスに接続して使用される。
ホストシステムが起動するときに実行されるプログラムは、頻繁に書き替えるものではないが、更新が必要になることがある。特許文献1では、NOR型フラッシュメモリに書込まれているプログラムを更新するときに、ホストシステム内のシステムバスに接続されているRAM(Random Access Memory)に、更新するプログラムを書込み、RAMに書込んだプログラムをNOR型フラッシュメモリに複写している。RAMには、RAMからNOR型フラッシュメモリへの複写処理を制御するプログラムも書込まれる。これらのプログラムは、JTAG(Joint Test Action Group(IEEE1149.1))インターフェースを介してRAMに書込まれる。
特開2002−278783号公報
上述のようにNAND型フラッシュメモリは、通常、ATAインターフェースを介して書込みや読出しが行われるが、ATAインターフェースを介して書込みや読出しを行うことができない場合や、ATAインターフェースを介さずに書込みや読出しを行いたい場合がある。このような場合に、特許文献1に示されているようなJTAGインターフェースを設けることが考えられるが、NAND型フラッシュメモリに特許文献1に示されているような構成を適用することは困難である。
そこで、本発明は、NAND型フラッシュメモリにJTAGインターフェースを介して書込みや読出しを行うことができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステムを提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係るメモリコントローラは、
ATAインターフェース及びJTAGインターフェースを備え、当該インターフェースを介してホストシステムから与えられる指示情報に基づいて、フラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ATAインターフェースを介して前記ホストシステムから与えられる前記指示情報を保持するATAレジスタと、
前記ATAインターフェースを介して前記ホストシステムから与えられる書き込みデータを保持するバッファメモリと、
前記JTAGインターフェースに含まれ、前記ホストシステムから当該JTAGインターフェースのデータ入力端子を介してシリアル入力される前記指示情報又は前記書き込みデータを保持する第1のシフトレジスタと、
前記JTAGインターフェースに含まれ、前記ホストシステムから当該JTAGインターフェースのデータ入力端子を介してシリアル入力される制御コマンドを保持する第2のシフトレジスタと、
前記JTAGインターフェースに含まれ、前記第1のシフトレジスタに保持された前記指示情報を前記ATAレジスタに転送し、前記第1のシフトレジスタに保持された前記書き込みデータを前記バッファメモリに転送するJTAG制御回路と、
前記ATAレジスタに保持された前記指示情報に基づいて、前記バッファメモリに保持された前記書き込みデータをフラッシュメモリに書き込む処理を制御するフラッシュメモリインターフェースブロックと、
を備え、
記JTAG制御回路は、前記第2のシフトレジスタに保持された前記制御コマンドに基づいて、前記第1のシフトレジスタに保持されたものが前記指示情報であるか又は前記書き込みデータであるかを判別することを特徴とする。
このような構成を採用したことにより、フラッシュメモリにJTAGインターフェースを介してアクセスできるようになる。
尚、前記フラッシュメモリインターフェースブロックは、前記ATAレジスタに保持された前記指示情報に基づいて、フラッシュメモリから読み出された読み出しデータを前記バッファメモリに書き込む処理を制御する回路を含み、
前記JTAG制御回路は、前記第2のシフトレジスタに保持された前記制御コマンドに基づいて、前記バッファメモリに保持された前記読み出しデータを、前記第1のシフトレジスタに転送する回路を含み、
前記JTAGインターフェースは、前記第1のシフトレジスタに保持された前記読み出しデータが当該JTAGインターフェースのデータ出力端子を介してシリアル出力されるように制御するシリアル出力制御回路を更に備えてもよい。
上記目的を達成するために、本発明の第2の観点に係るフラッシュメモリシステムは、本発明の第1の観点に係るメモリコントローラとフラッシュメモリを備えることを特徴とする。
本発明によれば、ATAインターフェースとJTAGインターフェースを備えたフラッシュメモリシステムを容易に構成することができる。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
図1は、本発明の実施形態に係るフラッシュメモリシステム10を、概略的に示すブロック図である。
このフラッシュメモリシステム10は、フラッシュメモリ11と、それを制御するメモリコントローラ20とで構成されている。フラッシュメモリシステム10は、通常、ホストシステム30に着脱可能に装着され、ホストシステム30に対して、一種の外部記憶装置として用いられる。
ホストシステム30としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
以下、フラッシュメモリ11及びメモリコントローラ20の詳細を説明する。
[フラッシュメモリ11の説明]
フラッシュメモリシステム10において、データを記憶するフラッシュメモリ11は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
NAND型フラッシュメモリは、このような特徴を有するため、通常、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替後のデータ)を書込み、古いデータ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なっている。
このようなデータの書替を行なった場合、書替後のデータは、書替前と異なるブロックに書込まれるため、ホストシステム30側から与えられる論理アドレスと、フラッシュメモリ11内での物理アドレスとの対応関係は、データを書替える毎に動的に変化する。従って、フラッシュメモリ11にアクセスするときには、通常、論理アドレスと物理アドレスとの対応関係を示したアドレス変換テーブルが作成され、このアドレス変換テーブルを用いて、フラッシュメモリ11に対するアクセスが行なわれる。
図2は、ブロックとページの関係を示す説明図である。
上記ブロックとページの構成は、フラッシュメモリ11の仕様によって異なるが、一般的なフラッシュメモリでは、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザー領域と16バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザー領域と64バイトの冗長領域で構成されているものも提供されている。本実施形態では、1ブロックが32ページで構成され、各ページが512バイトのユーザー領域と16バイトの冗長領域で構成されているものとして説明する。
ここで、ユーザー領域は、主に、ホストシステム30から供給されるデ―タが記憶される領域であり、冗長領域は、誤り訂正符号、対応論理ブロックアドレス情報及びブロックステータス等の付加データが記憶される領域である。誤り訂正符号は、ユーザー領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、後述するECCブロックによって生成される。
対応論理ブロックアドレス情報は、物理ブロックにデータが記憶されている場合に書込まれ、その物理ブロックに記憶されているデータの論理ブロックアドレスに関する情報を示している。尚、物理ブロックにデータが記憶されていない場合は、対応論理ブロックアドレス情報が書込まれないので、対応論理ブロックアドレス情報が書込まれているか否かで、そのブロックが消去済ブロックであるか否かを判断することができる。つまり、対応論理ブロックアドレスが書込まれていない場合は、消去済ブロックであると判断される。
ブロックステータスは、その物理ブロックが不良ブロック(正常にデータの書込み等を行なうことができない物理ブロック)であるか否かを示すフラグであり、その物理ブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
ここで、フラッシュメモリ11の回路構成について説明する。
一般的なNAND型フラッシュメモリは、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によって、メモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入したり、フローティングゲートから電荷(電子)を排出したりすることによって、データの書込みや消去を行っている。
フローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。フローティングゲートに電子が注入されている状態(書込状態)が、論理値“0”のデータに対応し、フローティングゲートから電子が排出されている状態(消去状態)が、論理値“1”のデータに対応する。
[メモリコントローラ20の説明]
メモリコントローラ20は、ATAインターフェースブロック21と、マイクロプロセッサ22と、フラッシュメモリインターフェースブロック23と、ECC(エラー・コレクション・コード)ブロック24と、バッファ25と、JTAGインターフェースブロック26と、ATAレジスタ27で構成されている。
これら機能ブロックによって構成されるメモリコントローラ20は、一つの半導体チップ上に集積されている。
以下に、各機能ブロックの機能を説明する。
ATAインターフェースブロック21は、フラッシュメモリシステム10を、ATAインターフェース31に接続するためのブロックである。
マイクロプロセッサ22は、メモリコントローラ20を構成する各機能ブロック全体の動作を制御する機能ブロックである。又、論理アドレス(フラッシュメモリシステム10に対して与えられるアドレス)と物理アドレス(フラッシュメモリ11内のアドレス)の対応関係を示す変換テーブルは、マイクロプロセッサ22の制御の下、SRAM(Static Random Access Memory)で構成された作業領域(図示せず)に作成される。
JTAGインターフェースブロック26は、フラッシュメモリシステム10を、JTAGインターフェース32に接続するためのブロックである。
図3は、JTAGインターフェースブロック26及びJTAGインターフェース32の概要を示す模式図である。
JTAGインターフェース32は、テストクロック端子TCKと、テストモードセレクト端子TMSと、テストデータインプット端子TDIと、テストデータアウトプット端子TDOと、テストリセット端子(図示せず)とを備えている。
テストクロック端子TCKは、クロック信号を入力する端子である。テストモードセレクト端子TMSは、JTAGインターフェースブロック26の動作を制御するための信号を入力する端子である。テストデータインプット端子TDIは、コマンドやデータの信号を入力する端子である。テストデータアウトプット端子TDOは、JTAGインターフェースブロック26から信号を出力する端子である。テストリセット端子は、初期化する信号を入力する端子でる。
JTAGインターフェースブロック26には、TAP(テストアクセスポート)コントローラ26a、JTAG制御ブロック26b、複数のシフトレジスタ(26c,26d,26e,26f)、マルチプレクサ26g,26h、及び入力カウンタiが設けられている。
シフトレジスタには、データレジスタ26c、アドレスレジスタ26d及びバイパスレジスタ26eで構成されるデータレジスタ群と、インストラクションレジスタ26fとがある。
マルチプレクサ26g及びマルチプレクサ26hは、複数の入力端子から入力される信号を、出力端子から選択的に出力するものである。
テストデータインプット端子TDIとデータレジスタ26cの出力端子とが、マルチプレクサ26gの入力端子に接続され、マルチプレクサ26gの出力端子がアドレスレジスタ26dの入力側に接続されている。
データレジスタ26cの出力端子とバイパスレジスタ26eの出力端子とがマルチプレクサ26hの入力端子に接続され、マルチプレクサ26hの出力端子がデータアウトプット端子TDOに接続されている。
即ち、マルチプレクサ26gにより、テストデータインプット端子TDIから入力されるTDI信号の入力経路が制御され、マルチプレクサ26hにより、テストデータアウトプット端子TDOから出力されるTDO信号の出力経路が制御されるようになっている。
データレジスタ26c、バイパスレジスタ26e及びインストラクションレジスタ26fの入力端子は、テストデータインプット端子TDIに接続されている。
入力カウンタ26iは、バッファ25にアドレスを供給するものであり、バッファ25への書込み処理を開始するときに先頭アドレスにリセットされ、その後、バッファ25にデータが書込まれる毎にアドレスがカウントアップされるように設定されている。
ATAレジスタ27は、情報保持手段であり、ホストシステム30側から供給される論理アドレス、セクタ数及び外部コマンド(ホストシステム30からフラッシュメモリシステム10に与えられるコマンド)等を保持するレジスタや、エラーが発生した場合にセットされるエラーレジスタで構成されている。
バッファ25は、第1の保持手段であり、フラッシュメモリ11に書込むデータ又はフラッシュメモリ11から読出したデータを一時的に保持するブロックであり、FIFO(first in first out)のバッファで構成されている。フラッシュメモリ11に書込むデータは、ATAインターフェースブロック21又はJTAGインターフェースブロック26を介してバッファ25に供給され、フラッシュメモリ11から読出したデータは、ATAインターフェースブロック21又はJTAGインターフェースブロック26を介してホストシステム30側に出力される。
フラッシュメモリインターフェースブロック23は、バッファ25からフラッシュメモリ11への書込み処理やフラッシュメモリ11からバッファ25への読出し処理を制御するブロックである。バッファ25とフラッシュメモリ11との間のデータの授受は、ページ単位で行なわれる。
フラッシュメモリ11に与えられるページアドレス及びブロックアドレスや内部コマンド(メモリコントローラ20からフラッシュメモリ11に与えられるコマンド)等は、フラッシュメモリインターフェースブロック23内のレジスタに設定され、この設定情報に基づいて、書込み処理や読出し処理が実行される。フラッシュメモリインターフェースブロック23内のレジスタには、ATAレジスタ27に書込まれている論理アドレス、セクタ数及び外部コマンド等の情報に基づいて、ページアドレスや内部コマンドが設定される。
ECCブロック24は、フラッシュメモリ11に書込むデータに付加されるエラーコレクションコードを生成するブロックである。このエラーコレクションコードは、通常、フラッシュメモリ11の冗長領域に書込まれる。フラッシュメモリ11からデータを読出すときは、データと共に読出されるエラーコレクションコードに基づいて、読出したデータに含まれる誤りの検出と訂正が、ECCブロック24によって行われる。
[フラッシュメモリシステム10の動作説明]
フラッシュメモリシステム10にATAインターフェース31を介してアクセスする場合、ATAインターフェースブロック21の制御のもと、ATAインターフェース31から与えられる外部コマンド、論理アドレス情報(例えば、LBA(Logical Block Address)方式のアドレス情報)及びセクタ数等の情報がATAレジスタ27に書込まれ、ATAインターフェース31から与えられるデータは、バッファ25に保持される。また、フラッシュメモリ11から読出したデータは、バッファ25に保持され、ATAインターフェースブロック21の制御のもと、ホストシステム30側に出力される。
ATAレジスタ27に、外部コマンド、論理アドレス情報及びセクタ数等の情報が書込まれると、マイクロプロセッサ22の制御のもと、フラッシュメモリインターフェースブロック23内のレジスタに、外部コマンドに対応する内部コマンドのコードや、フラッシュメモリ11内のページを指定する物理アドレス等が設定される。フラッシュメモリインターフェースブロック23内のレジスタに内部コマンド、物理アドレス等が設定されると、これらの設定に基づいて、書込み処理や読出し処理が実行される。
書込み処理では、フラッシュメモリインターフェースブロック23内のレジスタに設定された物理アドレスで指示されるフラッシュメモリ11のページに、バッファ25に保持されているデータが書込まれる。読出し処理では、フラッシュメモリインターフェースブロック23内のレジスタに設定された物理アドレスで指示されるフラッシュメモリ11のページに記憶されているデータが、バッファ25に読出される。フラッシュメモリ11に書込むページ数やフラッシュメモリ11から読出すページ数は、ATAレジスタ27に設定されたセクタ数に基づいて管理される。
ここで、フラッシュメモリインターフェースブロック23内のレジスタに設定される物理アドレス(ATAレジスタ27に書込まれた論理アドレスに対応する物理アドレス)は、変換テーブルを参照することによって求められる。変換テーブルは、論理アドレスと物理アドレスの対応関係を示したテーブルである。
論理アドレスと物理アドレスの対応関係をブロック単位で管理した場合、フラッシュメモリ11の1個の物理ブロックと同じ記憶容量分のセクタが、各論理ブロックに割当てられる。32セクタ分の記憶容量が、フラッシュメモリ11の物理ブロックの記憶容量と等しい場合には、論理アドレスの連続する32セクタを1個の論理ブロックとし、各論理ブロックに対してフラッシュメモリ11内の1個の物理ブロックが割当てられる。
この対応関係を管理するため、データが書込まれた物理ブロックの冗長領域には、書込まれたデータに対応する論理ブロックを示す論理アドレス情報が書込まれる。変換テーブルは、この論理アドレス情報に基づいて作成される。
尚、各物理ブロックの冗長領域に書込まれるブロックステータス、論理アドレス情報等は、冗長領域に書込むデータを設定するレジスタに書込まれ、ユーザ領域に書込まれるユーザデータと共に書込まれる。
次に、JTAGインターフェース32を介してフラッシュメモリシステム10にアクセスする場合について説明する。
JTAGインターフェース32を介してフラッシュメモリシステム10にアクセスする場合、外部コマンド、論理アドレス情報及びセクタ数等の情報は、JTAGインターフェースブロック26を介してATAレジスタ27に書込まれる。
また、フラッシュメモリ11に書込まれるデータは、JTAGインターフェースブロック26を介してバッファ25に供給され、フラッシュメモリ11から読出されるデータは、バッファ25からJTAGインターフェースブロック26を介してホストシステム30側に供給される。
尚、バッファ25とフラッシュメモリ11との間のデータ授受は、ATAインターフェース31を介してフラッシュメモリシステム10にアクセスする場合と同様に行われる。
次に、JTAGインターフェースブロック26の動作を説明する。
ここでの動作説明では、テストクロック端子TCKから入力する信号をTCK信号といい、テストモードセレクト端子TMSから入力する信号をTMS信号という。また、テストデータインプット端子TDIから入力する信号をTDI信号といい、テストデータアウトプット端子TDOから出力する信号をTDO信号という。
TCK信号とTMS信号は、TAP(テストアクセスポート)コントローラ26aに入力される。TMS信号は、TCK信号の立ち上がりエッジでサンプリングされる。サンプリングされたTMS信号のレベル(ハイレベル又はローレベル)によって、JTAGインターフェースブロック26の動作を決定するステートが切り替る。
尚、16あるステートの遷移については、IEEE1149.1に記述されており、主なステートとしては、キャプチャー(獲得)ステート、シフトステート及びアップデート(更新)ステートがある。
キャプチャーステートでは、バッファ25又はATAレジスタ27からJTAGインターフェースブロック26内のシフトレジスタにデータを獲得する動作が行われる。シフトステートでは、JTAGインターフェースブロック26内のシフトレジスタにTDI信号がシリアルのシフト入力されると共に、該シフトレジスタの内容がTDO信号としてシリアルにシフト出力される。アップデートステートでは、JTAGインターフェースブロック26内のシフトレジスタにラッチされた内容が出力される。
これらのキャプチャーステート、シフトステート及びアップデートステートは、データレジスタ26c、アドレスレジスタ26d及びバイパスレジスタ26eで構成されるデータレジスタ群と、インストラクションレジスタ26fとに対して個別に設定される。つまり、データレジスタ群(26c、26d、26e)に対するキャプチャーステート、シフトステート及びアップデートステートと、インストラクションレジスタ26fに対するキャプチャーステート、シフトステート及びアップデートステートとがある。
アップデートステートの対象がインストラクションレジスタ26fの場合には、インストラクションレジスタ26fのラッチ内容が出力され、出力されたデータはJTAGインターフェースブロック26に対する制御コマンドとしてデコードされる。
以下に、JTAGインターフェース32からバッファ25及びATAレジスタ27を用いて、フラッシュメモリ11にユーザデータ(ホストシステム30から与えられるデータ)を書込む処理について説明する。
図4は、JTAGインターフェースブロック26を介した書込み処理を示すフローチャートである。
図5は、テストデータインプット端子TDIから入力されるデータとテストデータアウトプット端子TDOから出力されるデータを示す説明図である。
フラッシュメモリ11にユーザデータを書込む場合、図4のステップW1〜ステップW5が行われる。
最初のステップW1では、ATAレジスタ27への書込み処理を実行し、これにより、ATAレジスタ27には、外部コマンド、論理アドレス情報(例えば、LBA(Logical Block Address)方式のアドレス情報)及びセクタ数等の情報が書込まれる。ここで、ATAレジスタ27に書込まれる外部コマンドは、フラッシュメモリ11への書込み処理を指示するものである。
ATAレジスタ27への書込み処理では、4ビットの制御コマンドIR−1と、4ビットのレジスタ指示情報AR−1と、外部コマンド、論理アドレス情報又はセクタ数等に対応する8ビットのデータDT−1とが、この順番でテストデータインプット端子TDIから入力される(図5(a))。
制御コマンドIR−1は、ATAレジスタ27への書込み処理を指示するコマンドである。レジスタ指示情報AR−1は、ATAレジスタ27内のレジスタを選択するための情報である。
制御コマンドIR−1を入力するときは、TCK信号に同期してサンプリングされたTMS信号に基づいてインストラクションレジスタ26fのステートをシフトステートに設定した後、テストデータインプット端子TDIから制御コマンドIR−1に対応するTDI信号を入力する。制御コマンドIR−1に対応するTDI信号は、TCK信号をシフトクロックとして、インストラクションレジスタ26f内のセル(IR0、IR1、IR2、IR3)に順にシフト入力される。
4回のシフトで、4ビットの制御コマンドIR−1がセルIR0、IR1、IR2及びIR3にラッチされる。その後、TCK信号とTMS信号に基づき、インストラクションレジスタ26fのステートをアップデートステートに設定することにより、インストラクションレジスタ26fのセルIR0〜IR3にラッチされた制御コマンドIR−1が、JTAG制御ブロック26bに入力されてデコードされる。JTAG制御ブロック26bは、インストラクションレジスタ26fにラッチされた制御コマンドIR−1が、ATAレジスタ27への書込み処理を指示するコマンドであることを知得し、この処理に応じた制御を行う。
レジスタ指示情報AR−1及びデータDT−1を入力するときは、TCK信号とTMS信号に基づき、データレジスタ群、つまりデータレジスタ26cとアドレスレジスタ26dのステートをシフトステートに設定した後、テストデータインプット端子TDIからレジスタ指示情報AR−1及びデータDT−1に対応するTDI信号を入力する。この際、JTAG制御ブロック26bには、データレジスタ26cからのシフト出力がアドレスレジスタ26dに入力されるようにマルチプレクサ26gを設定する。
レジスタ指示情報AR−1及びデータDT−1に対応するTDI信号はデータレジスタ26cから入力され、TCK信号をシフトクロックとして、データレジスタ26c内のセルDR0,DR1,DR2,DR3,DR4,DR5,DR6,DR7とアドレスレジスタ26d内のセルAR0,AR1,AR2,AR3にシフト入力される。12回のシフトで、4ビットのレジスタ指示情報AR−1がアドレスレジスタ26dのセルAR0〜AR3にシフト入力されてラッチされ、8ビットのデータDT−1がデータレジスタ26cのセルDR0〜DR7にシフト入力されてラッチされる。
この後、JTAG制御ブロック26bは、TCK信号とTMS信号に基づき、データレジスタ群のステートをアップデートステートに設定する。アップデートステートに設定されると、アドレスレジスタ26d内のセルAR0〜AR3からレジスタ指示情報AR−1が並列に出力され、レジスタ指示情報AR−1によりATAレジスタ27内のレジスタが選択される。
これと同時に、データレジスタ26c内のセルDR0〜DR7からデータDT−1が並列に出力される。データDT−1が、JTAG制御ブロック26bの制御のもと、レジスタ指示情報AR−1で指示されたATAレジスタ27内のレジスタに書込まれる。
例えば、レジスタ指示情報AR−1で外部コマンドを設定するレジスタを選択した場合は、データDT−1が外部コマンドを設定するレジスタに書込まれる。レジスタ指示情報AR−1で論理アドレス情報を設定するレジスタを選択した場合は、データDT−1が論理アドレス情報を設定するレジスタに書込まれる。レジスタ指示情報AR−1でセクタ数を設定するレジスタを選択した場合は、データDT−1がセクタ数を設定するレジスタに書込まれる。
以上のように、ATAレジスタ27への書込み処理では、レジスタ指示情報AR−1によりATAレジスタ27内のレジスタを適宜選択して、所望の情報を設定する。
尚、ATAレジスタ27内の各レジスタに設定されている情報を読出す場合には、ATAレジスタ27からの読出しを指示する制御コマンドIR−4と、ATAレジスタ27内のレジスタを選択するレジスタ指示情報AR−4を、テストデータインプット端子TDIから入力する(図5(e))。
制御コマンドIR−4は、上述の制御コマンドIR−1の場合と同様に、インストラクションレジスタ26fにシフト入力され、JTAG制御ブロック26bにデコードされる。この後、JTAG制御ブロック26bにより、テストデータインプット端子TDIから入力されるTDI信号が、アドレスレジスタ26dに直接入力されるようにマルチプレクサ26gが設定され、レジスタ指示情報AR−4がアドレスレジスタ26dにシフト入力されてラッチされる。ラッチされたレジスタ指示情報AR−4は、アドレスレジスタ26dからATAレジスタ27に並列に出力され、レジスタ指示情報AR−4で選択されたATAレジスタ27内のレジスタに設定されている情報が、JTAG制御ブロック26bの制御のもとにデータレジスタ26cに並列に入力されてラッチされる。
JTAG制御ブロック26bは、データレジスタ26cのシフト出力が、テストデータアウトプット端子TDOから直接出力されるようにマルチプレクサ26hを設定する。アップデートステートでアドレスレジスタ26dからレジスタ指示情報AR−1を出力した後、データレジスタ群のステートをシフトステートに設定し、シフトクロックとなるTCK信号に同期して、データレジスタ26cにラッチされた情報をシフト出力させる。これにより、テストデータアウトプット端子TDOから、ATAレジスタ27内のレジスタに設定されていた情報が出力される。
ステップW2において、バッファ25が空になったことを知得するため、割込みの要求の設定が行われる。
この設定では、ホストシステム30が、割込みを要求する制御コマンドIR−2をテストデータインプット端子TDIから入力する(図5(b))。制御コマンドIR−2は、インストラクションレジスタ26f内のセルIR0〜IR3にシフト入力されてラッチされ、JTAG制御ブロック26bによってデコードされる。即ち、制御コマンドIR−2のシフト入力とデコードは、上述の制御コマンドIR−1の場合と同様に、インストラクションレジスタ26fのステートをシフトステートに設定した後にアップデートステートに設定することにより実行される。
JTAG制御ブロック26bは、インストラクションレジスタ26fに入力された制御コマンドIR−2が、割込みを要求するコマンドであることを知得し、且つ、バッファ25が空になったことを検知すると、割込み情報(INT)をデータレジスタ26cに並列に入力する。更に、JTAG制御ブロック26bは、データレジスタ26cのシフト出力が、テストデータアウトプット端子TDOから直接出力されるようにマルチプレクサ26hを設定する。尚、JTAG制御ブロック26bが、割込み情報(INT)をデータレジスタ26cに並列に入力するときには、JTAG制御ブロック26bがデータレジスタ26cのステートを一時的にキャプチャーステートに設定する。
ステップW3において、バッファ25が空になったことを知らせる割込みを待つ間は(ステップW3:NO)、データレジスタ群のステートをシフトステートに設定して、TCK信号を入力し続ける。
バッファ25が空になり、それを知らせる割込み情報(INT)がデータレジスタ26cに並列に入力されると(ステップW3:YES)、TCK信号がシフトクロックとなって、テストデータアウトプット端子TDOから割込み情報(INT)がシフト出力される(図5(c))。この割込み情報(INT)により、ホストシステム30はバッファ25が空になったことを知得する。
ステップW4において、ユーザデータをバッファ25に書込む処理を実行する。
このバッファ25への書込み処理では、バッファ25への書込み処理を指示する制御コマンドIR−3と、ユーザデータに対応するデータDT−3とが、テストデータインプット端子TDIから入力される(図5(d))。制御コマンドIR−3は、インストラクションレジスタ26f内のセルIR0〜IR3にシフト入力され、JTAG制御ブロック26bにより、デコードされる。
この制御コマンドIR−3のシフト入力とデコードは、上述の制御コマンドIR−1の場合と同様に、インストラクションレジスタ26fのステートをシフトステートに設定した後にアップデートステートに切り替えることにより実行される。
JTAG制御ブロック26bは、インストラクションレジスタ26fに入力されてラッチされた制御コマンドIR−3が、バッファ25への書込み処理を指示するコマンドであることを知得し、この処理に応じた制御を行う。
この後、ユーザデータに対応する512バイトのデータDT−3が、連続して入力される。ユーザデータに対応するデータDT−3を入力するときは、データレジスタ群のステートをシフトステートに設定し、テストデータインプット端子TDIからデータDT−3に対応するTDI信号を入力する。データDT−3に対応するTDI信号はデータレジスタ26cにシフト入力され、8回のシフトで、1バイト分のデータDT−3がデータレジスタ26cのセルDR0〜DR7にシフト入力されてラッチされる。セルDR0〜DR7にラッチされた1バイト分のデータDT−3は並列に出力され、並列に出力されたデータDT−3が、JTAG制御ブロック26bの制御のもとに、バッファ25に書込まれる。
この際、バッファ25内の書込み先は、入力カウンタ26iによって指示される。入力カウンタ26iは、バッファ25への書込み処理を開始するときにリセットされ、1バイト分のデータDT−3が書込まれる毎にカウントアップされていく。従って、データレジスタ26cにシフト入力される512バイトのデータDT−3は、バッファ25の先頭アドレスから順番に書込まれていく。
尚、各セルDR0〜DR7に入力された1バイト分のデータDT−3を並列出力させるときは、TCK信号とTMS信号によりデータレジスタ26cのステートをアップデートステートに設定してもよいが、1バイト分のデータDT−3がシフト入力される毎に、シフトステートとアップデートステートを切り替えなければならないため、処理時間が長くなる。
従って、シフトステートのまま512バイト分のデータ(DT)を連続的にシフト入力し、1バイト分のデータDT−3が各セルDR0〜DR7にシフト入力される毎に、JTAG制御ブロック26bの制御のもとに、1バイト分のデータDT−3が並列出力されるようにすることが好ましい。
JTAG制御ブロック26bは、バッファ25への書込み処理又はバッファ25からの読出し処理を行うときのセクタ数を管理するためのセクタカウンタを備えている。このセクタカウンタは、ATAレジスタ27に書込まれるセクタ数に基づいて設定される。セクタカウンタに設定された値は、1ページ(セクタ)分のデータがバッファ25に書込まれる毎に、又は1ページ(セクタ)分のデータがバッファ25から読出される毎に、1ずつ減算される。
例えば、ATAレジスタ27に書込まれたセクタ数が“10”の場合、セクタカウンタにも“10”が設定され、1ページ(セクタ)分のデータがバッファ25に書込まれる毎に、又は1ページ(セクタ)分のデータがバッファ25から読出される毎に、1ずつ減算されていく。従って、10ページ(セクタ)分のデータがバッファ25に書込まれたとき、又は10ページ(セクタ)分のデータがバッファ25から読出されたときに、セクタカウンタの値が“0”になる。
この書込み処理では、ステップW1でATAレジスタ27にセクタ数が書込まれたときに、そのセクタ数がセクタカウンタに設定される。セクタカウンタに設定された値は、ステップW4で1ページ(セクタ)分のデータがバッファ25に書込まれる毎に1ずつ減算される。従って、ステップW1でATAレジスタ27に書込まれたセクタ数分の書込み処理が実行されるまで(ステップW5:NO)、つまり、セクタカウンタの値が“0”になるまで、ステップW2からステップW4までの処理が繰り返される。
次に、図6及び図7を参照して、JTAGインターフェース32からバッファ25及びATAレジスタ27を用いて、フラッシュメモリ11に記憶されているデータを読出す処理について説明する。
図6は、JTAGインターフェースブロック26を介した読出し処理を示すフローチャートである。
図7は、テストデータインプット端子TDIから入力されるデータとテストデータアウトプット端子TDOから出力されるデータを示している。
JTAGインターフェースブロック26は、図6のステップR1〜R5を実施してフラッシュメモリ11からデータを読出してホストシステム30に転送する。
最初のステップR1において、ATAレジスタ27への書込み処理を実行する。
ATAレジスタ27には、外部コマンド、論理アドレス情報(例えば、LBA方式のアドレス情報)及びセクタ数等の情報が書込まれる。ここで、ATAレジスタ27に書込まれる外部コマンドは、フラッシュメモリ11からの読出し処理を指示するものである。
ATAレジスタ27への書込み処理では、4ビットの制御コマンドIR−5と、4ビットのレジスタ指示情報AR−5、外部コマンド、論理アドレス情報又はセクタ数等に対応する8ビットのデータDT−5が、この順番でテストデータインプット端子TDIから入力される(図7(a))。制御コマンドIR−5は、ATAレジスタ27への書込み処理を指示するコマンドである。レジスタ指示情報AR−5は、ATAレジスタ27内のレジスタを選択するための情報である。
制御コマンドIR−5は、インストラクションレジスタ26f内のセルIR0〜IR3にシフト入力され、JTAG制御ブロック26bにデコードされる。つまり、制御コマンドIR−5のシフト入力とデコードは、上述の制御コマンドIR−1の場合と同様に、インストラクションレジスタ26fのステートをシフトステートに設定し、その後、アップデートステートに設定することにより実行される。
JTAG制御ブロック26bは、インストラクションレジスタ26fに入力された制御コマンドIR−5が、ATAレジスタ27への書込み処理を指示するコマンドであることを知得し、この処理に応じた制御を行う。
制御コマンドIR−5に続いて、レジスタ指示情報AR−5とデータDT−5に対応するTDI信号が、テストデータインプット端子TDIから入力される。この際、JTAG制御ブロック26bにより、データレジスタ26cからのシフト出力がアドレスレジスタ26dに入力されるようにマルチプレクサ26gが設定される。
レジスタ指示情報AR−5とデータDT−5に対応するTDI信号は、データレジスタ26c内のセルDR0〜DR7とアドレスレジスタ26d内のセルAR0〜AR3にシフト入力される。レジスタ指示情報AR−5とデータDT−5に対応するTDI信号のシフト入力は、データレジスタ群のステートをシフトステートに設定することにより実行される。
アドレスレジスタ26dにシフト入力されたレジスタ指示情報AR−5は、セルAR0〜AR3から並列に出力され、このレジスタ指示情報AR−5によりATAレジスタ27内のレジスタが選択される。
データレジスタ26cにシフト入力されたデータDT−5は、セルDR0〜DR7から並列に出力され、JTAG制御ブロック26bの制御のもと、レジスタ指示情報AR−5で指示されたATAレジスタ27内のレジスタに書込まれる。
ステップR1で、ATAレジスタ27に、フラッシュメモリ11からの読出し処理を指示する外部コマンド、論理アドレス情報(例えば、LBA方式のアドレス情報)及びセクタ数等の情報が設定されると、これらの情報に基づいてフラッシュメモリ11に記憶されているデータがバッファ25に読出される。このバッファ25への読出し処理で、1ページ(セクタ)分のデータがバッファ25に読出されたことを知得するため、ステップR2で割込み要求を設定する。この設定では、ホストシステム30が、割込みを要求する制御コマンドIR−6をテストデータインプット端子TDIから入力する(図7(b))。
制御コマンドIR−6は、インストラクションレジスタ26f内のセルIR0〜IR3にシフト入力され、JTAG制御ブロック26bにデコードされる。制御コマンドIR−6のシフト入力とデコードは、上述の制御コマンドIR−1の場合と同様に、インストラクションレジスタ26fのステートをシフトステートに設定し、その後にアップデートステートに設定することにより実行される。
JTAG制御ブロック26bは、インストラクションレジスタ26fに入力された制御コマンドIR−6が、割込みを要求するコマンドであることを知得し、バッファ25に1ページ(セクタ)分のデータが読出されたことを検知すると、割込み情報(INT)をデータレジスタ26cに並列に入力する。更に、JTAG制御ブロック26bは、データレジスタ26cのシフト出力が、テストデータアウトプット端子TDOから直接出力されるようにマルチプレクサ26hを設定する。
尚、JTAG制御ブロック26bが、割込み情報(INT)をデータレジスタ26cに並列入力するときには、JTAG制御ブロック26bがデータレジスタ26cのステートを一時的にキャプチャーステートにする。
バッファ25に1ページ(セクタ)分のデータが読出されたことを知らせる割込みを待つ間は、データレジスタ群のステートをシフトステートに設定し、TCK信号を入力し続ける。
バッファ25に1ページ(セクタ)分のデータが読出され、それを知らせる割込み情報(INT)がデータレジスタ26c内のセルDR0〜DR7に並列に入力されると(ステップR3:YES)、TCK信号がシフトクロックとなって、テストデータアウトプット端子TDOから割込み情報(INT)がシフト出力される(図7(c))。この割込み情報(INT)により、ホストシステム30はバッファ25に1ページ(セクタ)分のデータが読出されたことを知得する(ステップR3:YES)。
バッファ25に1ページ(セクタ)分のデータが読出されたことを知得したホストシステム30は、バッファ25からの読出し処理を指示する制御コマンドIR−7を発生する。JTAGインターフェースブロック26では、制御コマンドIR−7に基づき、ステップR4にて、バッファ25に保持されているデータ(フラッシュメモリ11からバッファ25に読出されたデータ)を読出す処理を実行する。
このバッファ25からの読出し処理では、バッファ25からの読出し処理を指示する制御コマンドIR−7を、テストデータインプット端子TDIから入力する(図7(d))。制御コマンドIR−7は、インストラクションレジスタ26f内のセルIR0〜IR3にシフト入力され、JTAG制御ブロック26bによってデコードされる。この制御コマンドIR−7のシフト入力とデコードは、上述の制御コマンドIR−1の場合と同様に、インストラクションレジスタ26fに対してシフトステートを設定した後に、アップデートステートを設定することにより実行される。
JTAG制御ブロック26bは、インストラクションレジスタ26fに入力された制御コマンドIR−7が、バッファ25からの読出し処理を指示するコマンドであることを知得し、この処理に応じた制御を行う。
即ち、バッファ25に保持されているデータを全て読出すまで、データレジスタ群のステートをシフトステートに設定し、TCK信号を入力し続ける。JTAG制御ブロック26bは、バッファ25に保持されているデータを、8ビット(1バイト)単位でデータレジスタ26c内のセルDR0〜DR7に並列に入力する。各セルDR0〜DR7に並列に入力されたデータは、TCK信号をシフトクロックとしてテストデータアウトプット端子TDOからシフト出力される。
8回のシフトでセルDR0〜DR7に並列に入力されたデータに対応する8ビットのデータ(DT)が出力される毎に、バッファ25に保持されているデータを、データレジスタ26c内のセルDR0〜DR7に並列に入力する。この処理は、バッファ25に保持されている512バイトのデータが全てテストデータアウトプット端子TDOからシフト出力されるまで続けられる。テストデータアウトプット端子TDOからは、セルDR0〜DR7に並列に入力されたデータに対応する8ビットのデータDT−8が、512バイト分連続して出力される(図7(e))。
尚、バッファ25に保持されているデータを、セルDR0〜DR7に並列に入力するときには、JTAG制御ブロック26bがデータレジスタ26cを一時的にキャプチャーステートにする。
読出し処理でフラッシュメモリ11から読出されるデータのページ数(セクタ数)は、JTAG制御ブロック26bが備えるセクタカウンタによって管理される。この読出し処理では、ステップR1でATAレジスタ27にセクタ数が書込まれたときに、そのセクタ数がセクタカウンタに設定される。セクタカウンタに設定された値は、ステップR4で1ページ(セクタ)分のデータがテストデータアウトプット端子TDOからシフト出力される毎に1ずつ減算される。従って、ステップR1でATAレジスタ27に書込まれたセクタ数分の読出し処理が実行されるまで(ステップR5:NO)、つまり、セクタカウンタの値が"0"になるまで、ステップR2からステップR4までの処理が繰り返される。
本発明の実施形態に係るフラッシュメモリシステムのブロック図である。 フラッシュメモリのブロックとページの構成を示す図である。 JTAGインターフェースブロック及びJTAGインターフェースの概要を示す模式図である。 JTAGインターフェースブロックを介した書込み処理を示すフローチャートである。 テストデータインプット端子から入力されるデータとテストデータアウトプット端子から出力されるデータを示す説明図である。 JTAGインターフェースブロックを介した読出し処理を示すフローチャートである。 テストデータインプット端子から入力されるデータとテストデータアウトプット端子から出力されるデータを示す説明図である。
符号の説明
10 フラッシュメモリシステム
11 フラッシュメモリ
20 メモリコントローラ
21 ATAインターフェースブロック
22 マイクロプロセッサ
23 フラッシュメモリインターフェースブロック
24 ECCブロック
25 バッファ
26 JTAGインターフェースブロック
26a TAPコントローラ
26b JTAG制御ブロック
26c データレジスタ
26d アドレスレジスタ
26e バイパスレジスタ
26f インストラクションレジスタ
26g マルチプレクサ
26h マルチプレクサ
26i 入力カウンタ
TDI テストデータインプット端子
TDO テストデータアウトプット端子
TCK テストクロック端子
TMS テストモードセレクト端子
27 ATAレジスタ
30 ホストシステム
31 ATAインターフェース
32 JTAGインターフェース

Claims (3)

  1. ATAインターフェース及びJTAGインターフェースを備え、当該インターフェースを介してホストシステムから与えられる指示情報に基づいて、フラッシュメモリに対するアクセスを制御するメモリコントローラであって、
    前記ATAインターフェースを介して前記ホストシステムから与えられる前記指示情報を保持するATAレジスタと、
    前記ATAインターフェースを介して前記ホストシステムから与えられる書き込みデータを保持するバッファメモリと、
    前記JTAGインターフェースに含まれ、前記ホストシステムから当該JTAGインターフェースのデータ入力端子を介してシリアル入力される前記指示情報又は前記書き込みデータを保持する第1のシフトレジスタと、
    前記JTAGインターフェースに含まれ、前記ホストシステムから当該JTAGインターフェースのデータ入力端子を介してシリアル入力される制御コマンドを保持する第2のシフトレジスタと、
    前記JTAGインターフェースに含まれ、前記第1のシフトレジスタに保持された前記指示情報を前記ATAレジスタに転送し、前記第1のシフトレジスタに保持された前記書き込みデータを前記バッファメモリに転送するJTAG制御回路と、
    前記ATAレジスタに保持された前記指示情報に基づいて、前記バッファメモリに保持された前記書き込みデータをフラッシュメモリに書き込む処理を制御するフラッシュメモリインターフェースブロックと、
    を備え、
    記JTAG制御回路は、前記第2のシフトレジスタに保持された前記制御コマンドに基づいて、前記第1のシフトレジスタに保持されたものが前記指示情報であるか又は前記書き込みデータであるかを判別することを特徴とするメモリコントローラ。
  2. 前記フラッシュメモリインターフェースブロックは、前記ATAレジスタに保持された前記指示情報に基づいて、フラッシュメモリから読み出された読み出しデータを前記バッファメモリに書き込む処理を制御する回路を含み、
    前記JTAG制御回路は、前記第2のシフトレジスタに保持された前記制御コマンドに基づいて、前記バッファメモリに保持された前記読み出しデータを、前記第1のシフトレジスタに転送する回路を含み、
    前記JTAGインターフェースは、前記第1のシフトレジスタに保持された前記読み出しデータが当該JTAGインターフェースのデータ出力端子を介してシリアル出力されるように制御するシリアル出力制御回路を更に備える、
    ことを特徴とする請求項1に記載のメモリコントローラ。
  3. 請求項1又は2に記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
JP2005021007A 2005-01-28 2005-01-28 メモリコントローラ及びフラッシュメモリシステム Expired - Fee Related JP4670370B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005021007A JP4670370B2 (ja) 2005-01-28 2005-01-28 メモリコントローラ及びフラッシュメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005021007A JP4670370B2 (ja) 2005-01-28 2005-01-28 メモリコントローラ及びフラッシュメモリシステム

Publications (2)

Publication Number Publication Date
JP2006209489A JP2006209489A (ja) 2006-08-10
JP4670370B2 true JP4670370B2 (ja) 2011-04-13

Family

ID=36966278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005021007A Expired - Fee Related JP4670370B2 (ja) 2005-01-28 2005-01-28 メモリコントローラ及びフラッシュメモリシステム

Country Status (1)

Country Link
JP (1) JP4670370B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5200470B2 (ja) * 2007-09-20 2013-06-05 株式会社リコー メモリ制御回路及び半導体装置
DE112019007388T5 (de) 2019-05-31 2022-02-17 Micron Technology, Inc. Jtag-basierte architektur, die den multi-core-betrieb ermöglicht

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2003271391A (ja) * 2002-03-08 2003-09-26 Samsung Electronics Co Ltd Nandフラッシュメモリを利用したブートシステム及びその方法
JP2005020349A (ja) * 2003-06-26 2005-01-20 Renesas Technology Corp 半導体集積回路および電子システム
JP2005025733A (ja) * 2003-06-10 2005-01-27 Tdk Corp フラッシュメモリコントローラ、メモリ制御回路、フラッシュメモリシステム、及びホストコンピュータとフラッシュメモリとの間でのデータ交換動作を制御するための方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278781A (ja) * 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2003271391A (ja) * 2002-03-08 2003-09-26 Samsung Electronics Co Ltd Nandフラッシュメモリを利用したブートシステム及びその方法
JP2005025733A (ja) * 2003-06-10 2005-01-27 Tdk Corp フラッシュメモリコントローラ、メモリ制御回路、フラッシュメモリシステム、及びホストコンピュータとフラッシュメモリとの間でのデータ交換動作を制御するための方法
JP2005020349A (ja) * 2003-06-26 2005-01-20 Renesas Technology Corp 半導体集積回路および電子システム

Also Published As

Publication number Publication date
JP2006209489A (ja) 2006-08-10

Similar Documents

Publication Publication Date Title
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20070245070A1 (en) Memory controller and flash memory system
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4661369B2 (ja) メモリコントローラ
JP4670370B2 (ja) メモリコントローラ及びフラッシュメモリシステム
US7606993B2 (en) Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory
US20120166740A1 (en) Data writing method, memory controller, and memory storage apparatus
JP2007094571A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006155335A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP4626595B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4273106B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2008097339A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2005316793A (ja) フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4235595B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4194518B2 (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4366283B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4670370

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees