JP2004199309A - マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置 - Google Patents

マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置 Download PDF

Info

Publication number
JP2004199309A
JP2004199309A JP2002366123A JP2002366123A JP2004199309A JP 2004199309 A JP2004199309 A JP 2004199309A JP 2002366123 A JP2002366123 A JP 2002366123A JP 2002366123 A JP2002366123 A JP 2002366123A JP 2004199309 A JP2004199309 A JP 2004199309A
Authority
JP
Japan
Prior art keywords
data
buffer area
stored
buffer
nonvolatile memory
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.)
Pending
Application number
JP2002366123A
Other languages
English (en)
Inventor
Kazuhiko Shibata
和彦 柴田
Hiroshi Tamai
博士 玉井
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2002366123A priority Critical patent/JP2004199309A/ja
Publication of JP2004199309A publication Critical patent/JP2004199309A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Microcomputers (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】AND/NAND型フラッシュメモリにおけるデータのランダムアクセスを可能とし、データの転送効率を大幅に向上する。
【解決手段】フラッシュメモリ10へデータを書き込む際、フラッシュメモリコントローラ1は、メインバス側からのデータの読み出し要求の際、その読み出し要求にかかるデータが第1バッファ7に格納されているか否かに応じて、第1バッファ7にデータが格納されている場合は、その格納されているデータをメインバス側に出力し、該第1バッファ7にデータが格納されていない場合は、フラッシュメモリ10に対してデータ読み出しを行い、メインバス側に出力する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、フラッシュメモリにおけるランダムアクセス技術に関し、特に、AND/NAND型フラッシュメモリの高速アクセスに適用して有効な技術に関するものである。
【0002】
【従来の技術】
現在、携帯電話やモバイル機器などにおいては、コード、プログラム、およびデータなどのストレージ用のデータを記憶させる不揮発性メモリとして、たとえば、NOR型フラッシュメモリが広く用いられている。
【0003】
今後、携帯電話やモバイル機器などの多機能、ならびに高性能化に伴い、ビット単価の安価なAND/NAND型フラッシュメモリが使用される可能性が高くなっている。
【0004】
このAND/NAND型フラッシュメモリは、シリアルアクセスであるために、データの読み出し/書き込みなどは、セクタ単位で行われる。
【0005】
なお、この種のフラッシュメモリにおいては、複数のNAND型フラッシュメモリのそれぞれにバッファメモリを備えることにより、データの書き込み/読み出し速度を高速化するものがある(たとえば、特許文献1)。
【0006】
【特許文献1】
特開平08−077066号公報
【0007】
【発明が解決しようとする課題】
ところが、上記のようなフラッシュメモリにおけるアクセス技術では、次のような問題点があることが本発明者により見い出された。
【0008】
すなわち、AND/NAND型フラッシュメモリでは、データの読み出し/書き込みなどがセクタ単位(たとえば、約2Kバイト程度)で行われるので、たとえば、アクセスするデータ量が少なく、かつ該データなどが2つのセクタにまたがってしまう場合、アクセス速度が落ちてしまい、データ転送効率が大幅に低下してしまうという問題がある。
【0009】
本発明の目的は、AND/NAND型フラッシュメモリであっても、ランダムアクセスを可能とし、データの転送効率を大幅に向上することのできるマイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置を提供することにある。
【0010】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0011】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
1.本発明のマイクロコントローラは、不揮発性メモリに接続可能であり、該不揮発性メモリに対してデータの読み出し、またはデータの書き込みの制御を行う不揮発性メモリコントローラを有し、該不揮発性メモリに対するデータの読み出し、またはデータの書き込みの際、データの一次格納を行うバッファ領域を有し、不揮発性メモリコントローラは、外部からのデータ読み出し要求を受け付けた際、読み出し要求にかかるデータがバッファ領域に格納されているか否かに応じて、バッファ領域にデータが格納されている場合には、バッファ領域に格納されているデータを外部へ出力し、バッファ領域にデータが格納されていない場合には、不揮発性メモリに対してデータの読み出しを行い、外部へ出力するものである。
【0012】
また、本願のその他の発明の概要を簡単に示す。
2.本発明のマイクロプロセッサは、不揮発性メモリに接続可能であり、該不揮発性メモリに対してデータの読み出し、またはデータの書き込みの制御を行う不揮発性メモリコントローラと、中央処理装置とを有し、不揮発性メモリに対するデータの読み出しの際、データの一次格納を行うバッファ領域を有し、不揮発性メモリコントローラは、中央処理装置からのデータの読み出し要求の際、読み出し要求にかかるデータがバッファ領域に格納されているか否かに応じて、バッファ領域にデータが格納されている場合は、バッファ領域に格納されているデータを中央処理装置に出力し、バッファ領域にデータが格納されていない場合は、不揮発性メモリに対してデータ読み出しを行い、該中央処理装置に出力するものである。
3.1のパッケージに封入され、外部からは所定の揮発性メモリとして認識可能であり、不揮発性メモリとコントローラとを有し、該コントローラに接続され、不揮発性メモリに対するデータの読み出しの際、データの一次格納を行うバッファ領域を有し、コントローラは、外部からのデータ読み出し要求の際、読み出し要求にかかるデータがバッファ領域に格納されているか否かに応じて、バッファ領域にデータが格納されている場合は、バッファ領域に格納されているデータを外部へ出力し、バッファ領域にデータが格納されていない場合には、不揮発性メモリに対してデータ読み出しを行い、バッファ領域へ格納するとともに外部へ出力するものである。
4.1のパッケージに封入され、コントローラと、揮発性メモリと、不揮発性メモリとを有し、該揮発性メモリは、該コントローラに接続され、不揮発性メモリに対するデータの読み出しの際、データの一次格納を行うバッファ領域とを有し、該コントローラは、外部からのデータ読み出し要求の際、読み出し要求にかかるデータがバッファ領域に格納されているか否かに応じて、バッファ領域にデータが格納されている場合は、バッファ領域に格納されているデータを揮発性メモリへ出力し、バッファ領域にデータが格納されていない場合には、不揮発性メモリに対してデータ読み出しを行い、バッファ領域へ格納するとともに揮発性メモリへ出力するものである。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0014】
図1は、本発明の一実施の形態によるフラッシュメモリコントローラのブロック図、図2は、図1は、本発明の一実施の形態によるフラッシュメモリコントローラの書き込み動作時におけるフローチャート、図3は、図1は、本発明の一実施の形態によるフラッシュメモリコントローラの読み出し動作時におけるフローチャート、図4は、図1は、本発明の一実施の形態によるフラッシュメモリコントローラのリードモディファイライト動作時におけるフローチャート、図5は、図4に続くリードモディファイライト動作時におけるフローチャート、図6は、図1のフラッシュメモリコントローラ1を搭載した半導体集積回路装置の一例を示すブロック図、図7は、図6の半導体集積回路装置における書き込み動作時における各信号のタイミングチャート、図8は、図1に示したフラッシュメモリコントローラとフラッシュメモリとを搭載した一例を示すフラッシュメモリカードのブロック図、図9は、図1のフラッシュメモリコントローラを用いて構成された半導体装置の説明図、図10は、図9の半導体装置における接続構成を示す説明図である。
【0015】
本実施の形態において、フラッシュメモリコントローラ(マイクロプロセッサ、不揮発性メモリコントローラ、コントローラ)1は、フラッシュメモリカードに用いられるフラッシュメモリの制御を司る。フラッシュメモリコントローラ1は、図1に示すように、メインバスインタフェース2、第1アドレス/データ制御部3、第2アドレス/データ制御部4、第1バッファセレクタ5、第2バッファセレクタ6、第1バッファ(バッファ領域)7、第2バッファ(バッファ領域)8、および転送制御部9から構成されている、
メインバスインタフェース2には、アドレスバスとデータバスとからなるメインバスが接続されている。このメインバスインタフェース2は、第1アドレス/データ制御部3にも接続されている。メインバスインタフェース2は、メインバスを介して接続されるCPUの転送プロトコルに対応した制御を行う。
【0016】
第1アドレス/データ制御部3には、第2アドレス/データ制御部4、ならびに第1バッファセレクタ5がそれぞれ接続されている。第2アドレス/データ制御部4には、第2バッファセレクタ6、および転送制御部9がそれぞれ接続されており、第1バッファセレクタ5には、第1バッファ7、ならびに第2バッファ8がそれぞれ接続されている。また、第2バッファセレクタ6にも、第1バッファ7、および第2バッファ8がそれぞれ接続されている。
【0017】
転送制御部9には、I/Oバスを介してフラッシュメモリ(不揮発性メモリ)10が接続されている。フラッシュメモリ10には、たとえば、SRAMなどのバッファ10aが設けられており、メモリアレイ10bから読み出されたデータが一時的に格納される。
【0018】
このフラッシュメモリ10は、NAND/AND方式からなり、メモリアレイ10bに設けられたメモリセルへの書き込み動作としては、メモリセルのゲート電極に正の高電圧を印加し、ソース電極−ドレイン電極間のチャネル領域に電流が流れることにより発生するホットエレクトロンをフローティングゲートに注入するホットエレクトロン方式や、チャネル領域にはほとんど電流を流さずチャネル−ゲート間に高電圧を印加し、FNトンネル現象によりフローティングゲートに電子(電荷)を注入するFNトンネル書き込み方式がある。
【0019】
フラッシュメモリでは、フローティングゲートに注入した電荷の量によりメモリセルのしきい値電圧が変化し、しきい値電圧分布を2個、またはそれ以上形成することによって、2値データや多値データの保持が可能となる。または、フローティングゲートに代えて窒化膜を有し、チャネルに流れる電流方向を変化させるなどにより該窒化膜に局所的に蓄積された電荷の有無により複数のビットのデータを保持するようなものであってもよい。
【0020】
第1アドレス/データ制御部3には、第1セレクタ3a、および第1レジスタ3bが設けられており、第2アドレス/データ制御部4には、第2セレクタ4a、および第2レジスタ4bが設けられている。
【0021】
第1、および第2セレクタ3a,4aは接続先を切り替え、第1、ならびに第2レジスタ3b,4bは、セクタアドレスを格納する。
【0022】
第1アドレス/データ制御部3は、書き込み動作時において、第1レジスタ3bに格納されたセクタアドレスとアクセスしようとしているセクタアドレスとの比較を行い、第1バッファ7、第2バッファ8、あるいはフラッシュメモリ10のバッファ10aのいずれにアクセスするかの判定を行い、第1セレクタ3aの接続先を切り替えてアクセスする任意のバッファを決定する。
【0023】
第2アドレス/データ制御部4は、読み出し動作時において、第2レジスタ4bに格納されたセクタアドレスとアクセスしようとしているセクタアドレスとの比較を行い、第1バッファ7、第2バッファ8、あるいはフラッシュメモリ10のバッファ10aのいずれにアクセスするかの判定を行い、第2セレクタ4aの接続先を切り替えてアクセスする任意のバッファを決定する。
【0024】
第1、および第2アドレス/データ制御部3,4は、データの読み出し/書き込みアドレスが、第1バッファ7、第2バッファ8、またはフラッシュメモリ10のデータかを判定する。
【0025】
また、第1アドレス/データ制御部3は、メインバスを介してDMA(Direct Memory Access)転送要求信号の発生、およびDMA実行信号の受信処理を行う。
【0026】
第1バッファセレクタ5には、第3セレクタ5a、および第1カウンタ5bが設けられており、第2バッファセレクタ6には、第4セレクタ6a、および第2カウンタ6bが設けられている。
【0027】
第1バッファセレクタ5は、データ転送量を第1カウンタ5bによってカウントし、あるカウント数になると第3セレクタ5aを切り替えて、第1、または第2バッファ7,8のいずれかに接続先を切り替える。
【0028】
第2バッファセレクタ6は、データ転送量を第2カウンタ6bによってカウントし、あるカウント数になると第4セレクタ6aを切り替えて、第1、または第2バッファ7,8のいずれかに接続先を切り替える。
【0029】
第1、ならびに第2バッファ7,8は、たとえば、フラッシュメモリ10における1セクタのカラムアドレスに対応したデータ容量を蓄積する容量をそれぞれ有する。
【0030】
転送制御部9は、フラッシュメモリコントローラ1とフラッシュメモリ10との間におけるデータ転送の制御を行う。
【0031】
次に、本実施の形態におけるフラッシュメモリコントローラ1の作用について説明する。
【0032】
フラッシュメモリ10への書き込み動作としては、以下の2つの場合がある。
【0033】
1つ目は、書き込みデータの容量が1セクタ内で収まるような小規模なデータの場合である。このデータ転送では、メインバス側からの書き込みデータをフラッシュメモリコントローラ1の第1、および第2のバッファ7,8を使用せずに直接フラッシュメモリ10のバッファ10aに転送する。
【0034】
2つ目は、書き込みデータの容量が1セクタ内に収まらない大規模なデータの場合である。このデータ転送では、メインバス側からの書き込みデータをフラッシュメモリコントローラ1の第1、および第2のバッファ7,8を使用してフラッシュメモリ10に転送する。
【0035】
このような、フラッシュメモリコントローラ1によるフラッシュメモリ10への書き込み動作を図2のフローチャートを用いて説明する。
【0036】
まず、第1アドレス/データ制御部3が、メインバス側から転送されたデータの転送開始信号を受信すると(ステップS101)、該第1アドレス/データ制御部3は、転送制御部9に制御信号を送信し、フラッシュメモリコントローラ1とフラッシュメモリ10とを切断する(ステップS102)。
【0037】
そして、第1アドレス/データ制御部3は、メインバス側にDMA要求信号を送信する(ステップS103)。第1アドレス/データ制御部3がメインバス側からDMA実行信号を受信した後(ステップS104)、該第1アドレス/データ制御部3は、書き込みデータと書き込み先のセクタアドレスデータとを受信する(ステップS105)。
【0038】
第1アドレス/データ制御部3は、第1レジスタ3bに格納されているセクタアドレスデータと受信したセクタアドレスデータとを比較し(ステップS106)、それらのアドレスデータが一致しているか否かを判断する(ステップS107)。ここで、第1レジスタに格納されているセクタアドレスデータは、前回の書き込み動作時に受信したセクタアドレスデータである。
【0039】
ステップS107の処理において、セクタアドレスデータが一致した際には、第1セレクタ3aを切り替えてフラッシュメモリ10のバッファ10aを選択する(ステップS108)。
【0040】
第1アドレス/データ制御部3は、転送制御部9に制御信号を出力し、フラッシュメモリコントローラ1とフラッシュメモリ10とを接続する(ステップS109)。
【0041】
そして、第1アドレス/データ制御部3は、書き込みデータを転送制御部9を介してフラッシュメモリ10のバッファ10aにDMA転送する(ステップS110)。
【0042】
その後、第1アドレス/データ制御部3は、書き込みデータの転送が終了したか否かの判断を行い(ステップS111)、転送終了の際には書き込み動作は終了となり、転送が終了していない場合には、ステップS105〜S110の処理を繰り返し実行する。
【0043】
また、ステップS107の処理において、セクタアドレスデータが不一致の場合には、第1セレクタ3aを切り替えて第1バッファ7を選択する(ステップS112)。
【0044】
その後、第1アドレス/データ制御部3は、転送制御部9に制御信号を送信し、フラッシュメモリコントローラ1とフラッシュメモリ10とを接続し(ステップS113)、第1バッファ7から第2バッファに接続先が切り替えられたか否かを判断する(ステップS114)。
【0045】
切り替えられていない場合には、メインバス側からのDMA転送により、選択されている第1バッファ7に書き込みデータを転送する(ステップS115)。
【0046】
また、ステップS114の処理において、第1バッファ7から第2バッファ8に接続先が切り替えられた場合には、第2バッファセレクタ6が第4セレクタ6aを切り替えて、第2アドレス/データ制御部4が第1バッファ7に蓄積されている書き込みデータをフラッシュメモリ10へ書き込む(ステップS116)。
その間、選択された第2バッファ8にはDMA転送された書き込みデータが蓄積される。
【0047】
同様に、第2バッファ8から第1バッファ7に接続先が切り替えられた場合には、第2バッファセレクタ6が第4セレクタ6aを切り替えて、第2バッファ8に蓄積された書き込みデータをフラッシュメモリ10へ書き込み、第1バッファ7にDMA転送された書き込みデータを蓄積する。
【0048】
ステップS115,S116のいずれかの処理が終了すると、第1カウンタ5bは、第1バッファ7に転送された書き込みデータの容量をカウントする(ステップS117)。
【0049】
そして、書き込みデータの転送が終了すると(ステップS118)、第2バッファセレクタ6の制御により接続先が切り替えられ、第1バッファ7または第2バッファ8に蓄積された書き込みデータがフラッシュメモリ10に書き込まれる(ステップS119)。
【0050】
また、書き込みデータの転送が終了していない場合(ステップS118)、第1バッファセレクタ5は、第1カウンタ5bのカウントがMAXか否かを判断する(ステップS120)。
【0051】
第1カウンタ5bのカウントがMAXでない場合には、そのカウンタ値を記憶し(ステップS121)、ステップS114〜S117の処理をカウンタがMAX(第1バッファ7のデータ蓄積がMAXになるまで)になるまで実行する。
【0052】
また、ステップS120の処理において、第1カウンタ5bのカウントがMAXの場合には、第1バッファセレクタ5が第3セレクタ5aを制御し、書き込みデータの蓄積先を第1バッファ7から第2バッファ8に切り替え(ステップS122)、ステップS114〜S117の処理を再び実行する。
【0053】
そして、ステップS116の処理が終了すると、第1アドレス/データ制御部3は、書き込みデータの転送が終了したか否かを判断し(ステップS123)、転送終了の場合にはステップS119の処理を行い、書き込み動作が終了する。
【0054】
また、書き込みデータの転送が終了していない場合には、第1バッファセレクタ5が第1カウンタ5bのカウント値がMAXか否かを判断する(ステップS124)。
【0055】
第1カウンタ5bのカウント値がMAXでない場合には、そのカウンタ値を記憶し(ステップS125)、カウンタがMAXとなり第1バッファ7のデータ蓄積がMAXになるまでステップS114〜S117の処理を実行する。
【0056】
第1カウンタ5bのカウント値がMAXの場合には、第1バッファセレクタ5が第3セレクタ5aを制御し、書き込みデータの蓄積先を第2バッファ8から第1バッファ7に切り替え(ステップS126)、ステップS114〜S117の処理を再び実行する。
【0057】
次に、フラッシュメモリ10から、メインバス側へのデータ読み出し動作を、図3のフローチャートを用いて説明する。
【0058】
第1アドレス/データ制御部3が、メインバス側から転送されたデータの転送開始信号を受信すると(ステップS201)、該第1アドレス/データ制御部3は、転送制御部9に制御信号を送信し、フラッシュメモリコントローラ1とフラッシュメモリ10と接続を切断する(ステップS202)。
【0059】
そして、第1アドレス/データ制御部3は、メインバス側にDMA要求信号を送信する(ステップS203)。その後、第1アドレス/データ制御部3がメインバス側からDMA実行信号を受信すると(ステップS204)、第2アドレス/データ制御部4は、読み出し先のセクタアドレスデータを受信する(ステップS205)。
【0060】
第2アドレス/データ制御部4は、第2レジスタ4bに格納されているセクタアドレスデータと受信したセクタアドレスデータとを比較し(ステップS206)、それらのアドレスデータが一致しているか否かを判断する(ステップS207)。ここで、第2レジスタ4bに格納されているセクタアドレスデータは、前回の読み出し動作時に受信したセクタアドレスデータである。
【0061】
そして、2つのセクタアドレスデータが一致した際には、第2セレクタ4aを切り替えてフラッシュメモリ10のバッファ10aを選択する(ステップS208)。
【0062】
第1アドレス/データ制御部3は、転送制御部9に制御信号を出力し、フラッシュメモリコントローラ1とフラッシュメモリ10とを接続する(ステップS209)。
【0063】
その後、第2アドレス/データ制御部4は、フラッシュメモリ10のバッファ10aからメインバス側に読み出しデータをDMA転送する(ステップS210)。
【0064】
第2アドレス/データ制御部4は、読み出しデータの転送が終了したか否かの判断を行い(ステップS211)、転送終了の際には読み出し動作が終了となり、転送が終了していない場合には、読み出しデータの転送が終了するまでステップS205〜S210の処理を繰り返し実行する。
【0065】
ステップS207の処理において、2つのセクタアドレスデータが不一致の場合には、アドレス/データ制御部4が第2セレクタ4aを切り替えて第1バッファ7を選択する(ステップS212)。
【0066】
その後、第1アドレス/データ制御部3は、転送制御部9に制御信号を送信し、フラッシュメモリコントローラ1とフラッシュメモリ10とを接続する(ステップS213)。
【0067】
そして、第2バッファセレクタ6によって、第1バッファ7から第2バッファに接続先が切り替えられたか否かを判断し(ステップS214)、切り替えられていない場合には、第2アドレス/データ制御部4が、フラッシュメモリ10から読み出したデータを第1バッファ7に転送する(ステップS215)。
【0068】
さらに、ステップS214の処理において、第1バッファ7から第2バッファ8に接続先が切り替えられている場合には、第1バッファセレクタ5が第3セレクタ5aを切り替えて、第1バッファ7に蓄積されている読み出しデータをメインバス側にDMA転送する(ステップS216)。その間、第2バッファ8にはフラッシュメモリ10の読み出しデータが蓄積される。
【0069】
ここでも、第2バッファ8から第1バッファ7に接続先が切り替えられた場合には、第1バッファセレクタ5が第3セレクタ5aを切り替えて、第2バッファ8に蓄積されている読み出しデータをメインバス側にDMA転送され、第1バッファ7にはフラッシュメモリ10の読み出しデータが蓄積される。
【0070】
ステップS215,216のいずれかの処理が終了すると、第2カウンタ6bが、第1バッファ7に転送された読み出しデータの容量をカウントする(ステップS217)。
【0071】
そして、第2アドレス/データ制御部4はデータの読み出しが終了したか否かを判断し(ステップS218)、データの読み出しが終了した際には、第1バッファセレクタ5の制御により接続先が切り替えられ、第1バッファ7、または第2バッファ8に読み出しデータがメインバス側にDMA転送される(ステップS219)。
【0072】
また、ステップS218の処理で、データの読み出しが終了していない場合には、第2バッファセレクタ6が、第2カウンタ6bのカウントがMAXか否かを判断する(ステップS220)。
【0073】
ステップS220の処理でカウントがMAXでない場合、第2カウンタ6bのカウンタ値を記憶し(ステップS221)、カウンタがMAX(第1バッファ7のデータ蓄積がMAX)になるまでステップS214〜S217の処理を実行する。
【0074】
ステップS220の処理において、カウントがMAXの場合には、第2バッファセレクタ6の制御によって、第4セレクタ6aを切り替え、読み出しデータの蓄積先を第1バッファ7から第2バッファ8に切り替え(ステップS222)、ステップS214〜S217までの処理を再び実行する。
【0075】
ステップS216の処理が終了すると、第2アドレス/データ制御部4は、データの読み出しが終了したか否かを判断し(ステップS223)、読み出し終了の際にはステップS219の処理を行い、読み出し動作が終了する。
【0076】
一方、データの読み出しが終了していない場合には、第2バッファセレクタ6が第2カウンタ6bのカウント値がMAXか否かを判断する(ステップS224)。
【0077】
カウント値がMAXでない場合、第2カウンタ6bのカウンタ値を記憶し(ステップS225)、カウンタがMAX(第2バッファ8のデータ蓄積がMAX)となるまでステップS214〜S217の処理を実行する。
【0078】
カウント値がMAXの場合には、第2バッファセレクタ6が第4セレクタ6aを制御し、読み出しデータの蓄積先を第2バッファ8から第1バッファ7に切り替えた後(ステップS225)、ステップS214〜S217までの処理を再び実行する。
【0079】
次に、データの書き換え(リードモディファイライト:Read Modify Write)動作時におけるフラッシュメモリコントローラ1の動作について、図4、図5のフローチャートを用いて説明する。
【0080】
まず、第1アドレス/データ制御部3が、メインバス側から転送されたデータの転送開始信号を受信すると(ステップS301)、該第1アドレス/データ制御部3は、転送制御部9に制御信号を送信し、フラッシュメモリコントローラ1とフラッシュメモリ10と接続を切断する(ステップS302)。
【0081】
第1アドレス/データ制御部3は、メインバス側にDMA要求信号を送信する(ステップS303)。そして、第1アドレス/データ制御部3がメインバス側からDMA実行信号を受信した後(ステップS304)、第2アドレス/データ制御部4がデータ変更先のセクタアドレスを受信する(ステップS305)。
【0082】
第2アドレス/データ制御部4は、第2レジスタ4bに格納されているセクタアドレスデータと受信したセクタアドレスデータとを比較し(ステップS306)、それらのアドレスデータが一致しているか否かを判断する(ステップS307)。ここで、第2レジスタ4bに格納されているセクタアドレスデータは、前回のリードモディファイライト(データの書き換え)動作時に受信したセクタアドレスデータである。
【0083】
そして、2つのセクタアドレスデータが一致した際には、第2セレクタ4aを切り替えてフラッシュメモリ10のバッファ10aを選択した後(ステップS308)、第1アドレス/データ制御部3が、転送制御部9に制御信号を出力し、フラッシュメモリコントローラ1とフラッシュメモリ10とを接続する(ステップS309)。
【0084】
その後、メインバス側より転送された上書きデータをフラッシュメモリ10のバッファ10aにおけるデータ変更アドレス先へDMA転送する(ステップS310)。
【0085】
上書きデータの転送が終了したか否かの判断を第2アドレス/データ制御部4が行い(ステップS311)、転送終了の際には、フラッシュメモリコントローラ1によりフラッシュメモリ10に上書きデータが書き込まれる(ステップS312)。
【0086】
また、S311の処理で、転送が終了していない場合には、ステップS1305〜S310の処理を繰り返し実行する。
【0087】
ステップS307の処理において、2つのセクタアドレスデータが不一致の場合には、第2アドレス/データ制御部4が第2セレクタ4aを切り替えて第1バッファ7を選択する(ステップS313)。
【0088】
第1アドレス/データ制御部3は、転送制御部9に制御信号を送信し、フラッシュメモリコントローラ1とフラッシュメモリ10とを接続する(ステップS314)。
【0089】
そして、第2バッファセレクタ6が、第1バッファ7から第2バッファに接続先を切り替えたか否かを判断し(ステップS315)、切り替えられていない場合には、第2アドレス/データ制御部4が、フラッシュメモリ10から読み出したデータを第1バッファ7に転送する(ステップS316)。
【0090】
また、ステップS315の処理で、切り替えられた場合には、第1バッファセレクタ5の制御により、切り替え前の第1バッファ7に蓄積されたデータについて、メインバス側より上書きデータをDMA転送(Modify Write)する(ステップS317)。その間、第2バッファセレクタ6の制御により、切り替えられた第2バッファ8へデータを読み出す。
【0091】
そして、ステップS316またはステップS317の処理が終了すると、第2カウンタ6bが、第1バッファ7に転送された読み出しデータの容量をカウントする(ステップS318)。
【0092】
第2アドレス/データ制御部4は、データの読み出しが終了したか否かを判断し(ステップS319)、データの読み出しが終了した際には、第1バッファセレクタ5の制御により第3セレクタ5aが切り替えられ、メインバス側より上書きデータがDMA転送(Modify Write)される(ステップS320)。
【0093】
第2バッファ8にデータがある場合には、該第2バッファ8のデータをフラシュメモリ10に書き込み(ステップS321)、その後、第1バッファ7のデータをフラッシュメモリ10に書き込む(ステップS322)。
【0094】
また、ステップS319の処理で、データの読み出しが終了していない場合には、第2バッファセレクタ6が、第2カウンタ6bのカウントがMAXか否かを判断する(ステップS323)。
【0095】
カウントがMAXでない場合、第2カウンタ6bのカウンタ値を記憶した後(ステップS324)、ステップS315〜S318の処理をカウンタがMAX、すなわち、第1バッファ7のデータ蓄積がMAXとなるまで繰り返し実行する。
【0096】
そして、カウントがMAXになると、第2バッファセレクタ6の制御によって第4セレクタ6aを切り替え、第2バッファ8にデータがある場合は、そのデータをフラッシュメモリ10に書き込む(ステップS325)。
【0097】
第2バッファセレクタ6の制御は、データの読み出し先を第1バッファ7から第2バッファ8に切り替え(ステップS326)、ステップS315〜S318の処理を実行する。
【0098】
その後、第2アドレス/データ制御部4が、データの読み出しが終了したか否かを判断し(ステップS327)、読み出し終了の際には第2バッファ8のデータについて、メインバス側から上書きデータがDMA転送される(ステップS328)。
【0099】
そして、第1バッファ7のデータがフラッシュメモリ10に書き込まれた後(ステップS329)、第2バッファ7のデータがフラッシュメモリ10に書き込まれる(ステップS322)。
【0100】
また、ステップS327の処理において、データの読み出しが終了していない場合には、第2バッファセレクタ6が、第2カウンタ6bのカウントがMAXか否かを判断する(ステップS330)。
【0101】
カウントがMAXでない場合、第2カウンタ6bのカウンタ値を記憶した後(ステップS331)、ステップS315〜S318の処理をカウンタがMAX、すなわち、第2バッファ8のデータ蓄積がMAXとなるまで繰り返し実行する。
【0102】
カウントがMAXになると、第2バッファセレクタ6により、第1バッファ7にデータがある場合には、そのデータをフラッシュメモリ10に書き込む(ステップS332)。
【0103】
その後、第2バッファセレクタ6が、データの読み出し先を第2バッファ8から第1バッファ7に切り替え(ステップS333)、再び第1バッファ7のデータ蓄積がMAXとなるまでステップS315〜S318の処理を実行する。
【0104】
図6は、フラッシュメモリコントローラ1をASIC(Application Specific Integration Circuit)などの半導体集積回路装置(マイクロコントローラ)11に搭載した一例を示すブロック図である。
【0105】
半導体集積回路装置11は、図示するように、フラッシュメモリコントローラ1、CPU(Central Processing Unit)12、MMU(Memory Management Unit)13、キャッシュ14、DMAC(DMA Controller)15、およびSRAM/SDRAMインタフェース16などから構成されている。
【0106】
CPU12は、外部からの所定の信号などによって、たとえば外部接続されたフラッシュメモリ10などに格納されたプログラムやデータなどを読み出し、所定の処理を行う。
【0107】
MMU13は、CPU12からフラッシュメモリ10にアクセスする際、該CPU12で生成された論理アドレスを物理アドレスに変換する。キャッシュ14は、CPU12とフラッシュメモリ10とのデータやり取りに用いられるメモリであり、CPU12からアクセス時間を短縮する。
【0108】
DMAC15は、フラッシュメモリ10と外部接続されたSRAMやSDRAMなどのメモリとをCPU12を介さずにデータ転送を制御する。RAM/DRAMインタフェース16は、外部接続されたSRAMやSDRAMなどのメモリのインタフェースである。
【0109】
また、これらフラッシュメモリコントローラ1、CPU12、MMU13、キャッシュ14、DMAC15、ならびにRAM/DRAMインタフェース16は、アドレスバスとデータバスとからなるメインバスMBにより、相互に接続されている。
【0110】
さらに、フラッシュメモリコントローラ1と外部接続されたフラッシュメモリ10とは、I/Oバスからなる周辺バスPBを介して接続されている。
【0111】
前述したように、CPU12からフラッシュメモリ10へのアクセスは、フラッシュメモリコントローラ1の第1アドレス/データ制御部3により、第1、または第2バッファかフラッシュメモリ10のバッファ10a(図1)かを判定して制御しているので、MMU13のアドレス空間は、フラッシュメモリ10をアクセスするように、アドレス空間を割り付けるようにすればよい。
【0112】
このように、フラッシュメモリコントローラ1を半導体集積回路装置11にオンチップ化することによって、フラッシュメモリ10をダイレクトに該半導体集積回路装置11に接続することが可能となり、PDAや携帯電話などのモバイル機器などの用途にAND/NAND型フラッシュメモリを用いることができる。
【0113】
図7は、図6の半導体集積回路装置11に搭載されたフラッシュメモリコントローラ1におけるDMA転送書き込み動作時の一例を示すタイミングチャートである。
【0114】
図7においては、上方から下方にかけて、半導体集積回路装置11に供給されるクロック信号CLK、書き込み先のアドレスデータ、書き込みデータ、CPU12から出力される転送開始信号、フラッシュメモリコントローラ1からCPU12に出力されるDMA要求信号、DMAC15から出力されるDMA実行信号、第1セレクタ3aによる第1バッファ7選択信号、第1バッファ7への転送開始信号、第1バッファ7におけるアドレスデータ、第1バッファ7に蓄積されるデータ、
第4セレクタ6aによる第1バッファ7選択信号、第2セレクタ4aによる第1バッファ7選択信号、第2バッファ8への転送開始信号、第2バッファ8のアドレスデータ、第2バッファ8に蓄積されるデータ、第4セレクタ6aによる第2バッファ8選択信号、およびフラッシュメモリ10の入出力(I/O)ポートにおける信号タイミングをそれぞれ示している。
【0115】
まず、CPU12から、転送開始信号がフラッシュメモリコントローラ1に出力されると、該、転送開始信号を受けてフラッシュメモリコントローラ1がDMA要求信号をCPU12に出力する。
【0116】
そして、DMAC15からフラッシュメモリコントローラ1にDMA実行信号が出力される。これにより、第3セレクタ5aから第1バッファ7を選択する選択信号が出力され、第1バッファ7への転送開始信号が出力される。
【0117】
その後、書き込み先のアドレスデータ、ならびに書き込みデータがフラッシュメモリコントローラ1に出力され、第1バッファ7にそれらのデータが蓄積される。
【0118】
これらデータの転送が終了すると、DMA実行信号がネゲートとなり、第1セレクタ3aによる第1バッファ7選択信号、ならびに第1バッファ7への転送開始信号がそれぞれネゲートとなる。
【0119】
その後、第4セレクタ6aによる第1バッファ7選択信号がネゲートとなって、フラッシュメモリ10の入出力ポートにデータが出力され、データの書き込みが行われる。
【0120】
図8は、フラッシュメモリコントローラ1とフラッシュメモリ10とをフラッシュメモリカード17に搭載した際の一例を示すブロック図である。
【0121】
フラッシュメモリカード17は、ASIC18、リセットIC19、水晶発振器20、PCカードスロット21、ならびにフラッシュメモリ10などから構成されている。
【0122】
ASIC18は、フラッシュメモリコントローラ1、パワーオンリセット22、クロックコントロール23、プロセッサ24、およびホストインタフェース25から構成されている。
【0123】
パワーオンリセット22は、リセットIC19から出力されたリセット信号に基づいてフラッシュメモリカード17を初期化する。クロックコントロール23は、水晶発振器20が生成したクロック信号から、内部動作用のクロック信号を生成し、供給する。
【0124】
プロセッサ24は、外部接続されたホストなどからの所定の信号などによって、フラッシュメモリ10などに格納されたプログラムやデータなどを読み出し、所定の処理を行う。ホストインタフェース25は、フラッシュメモリカード17とホストとのインタフェースである。
【0125】
また、リセットIC19は、電源投入時などにおいて所定のリセット信号をASIC18に出力する。水晶発振器20は、ある周波数のクロック信号を生成し、ASIC18に供給する。
【0126】
PCカードスロット21は、ホスト機器に備えられたスロットに対応したコネクタであり、メモリカード1とホストとのデータのやり取りが行われる。
【0127】
このように、メモリコントローラ1とフラッシュメモリ10とを搭載したフラッシュメモリカード17では、フラッシュメモリ10、フラッシュメモリコントローラ1、およびホストインタフェース25を接続した構成となるので、通常のフラッシュメモリカードとの互換性を有することができる。
【0128】
図9は、フラッシュメモリコントローラ1を用いて構成した半導体装置(不揮発性メモリ装置)26の説明図である。
【0129】
この半導体装置26は、3つ半導体チップ27〜29によって構成されたマルチチップパッケージからなる。半導体チップ27はフラッシュメモリ10であり、半導体チップ28はフラッシュメモリコントローラ1である。また、半導体チップ29はSRAM/SDRAMインタフェースロジックである。
【0130】
これら半導体チップ27〜29の周辺部近傍には、複数のチップ電極が等間隔でそれぞれ形成されている。
【0131】
半導体装置26には、プリント配線基板30が設けられている。このプリント配線基板30の一方の面(チップ実装面)には、ボンディング電極、および配線パターンが形成されている。ボンディング電極は、プリント配線基板30の周辺部近傍に所定の間隔で形成されている。
【0132】
また、プリント配線基板30の他方の面には、アレイ状に等間隔で配置されたバンプ用電極が形成されている。バンプ用電極の中央部には、スルーホールが形成されており、ボンディング電極とバンプ用電極とは、配線パターン、ならびにスルーホールを介してそれぞれ電気的に接続されている。
【0133】
プリント配線基板30のバンプ用電極には、球形のはんだからなるはんだバンプ31がそれぞれ形成されており、これらはんだバンプ31が半導体装置26の外部引き出し線となる。
【0134】
プリント配線基板30の一方の面には、半導体チップ27が接着材などを介して接着されている。半導体チップ27の上面には、半導体チップ28,29が接着材などを介してそれぞれ接着されている。
【0135】
また、半導体装置26の接続構成は、図10に示すように、フラッシュメモリ10が接続されたフラッシュメモリコントローラ1が、SRAM/SDRAMインタフェースロジック33に接続され、該SRAM/SDRAMインタフェースロジックが外部接続される構成となっている。
【0136】
よって、図9に示すように、半導体チップ27,28は、ボンディングワイヤW1を介してチップ電極間が接続されており、半導体チップ28,29は、ボンディングワイヤW2を介してチップ電極間が接続されている。
【0137】
また、半導体チップ29は、ボンディングワイヤW3を介して該半導体チップ29のチップ電極とプリント配線基板30の一方の面に形成されたボンディング電極とがそれぞれ接続されている。
【0138】
そして、これら半導体チップ27〜29、ならびにボンディングワイヤW1〜W3は、樹脂封止されてパッケージ32が形成されている。
【0139】
このように、半導体装置26は、SRAM/SDRAMインタフェースを有していることより、外部接続端子をSRAM/SDRAMインタフェースのI/O端子専用とすることで、他のプロセッサとの接続を容易にすることができる。
【0140】
また、マルチチップパッケージとすることで、半導体装置26を小型化することができ、メインボードなどに実装する際の実装面積を低減することができる。
【0141】
ここで、図9では、半導体装置26が、3つ半導体チップ27〜29によって構成されたマルチチップパッケージからなる構成としたが、たとえば、図11に示すように、半導体チップ27aと半導体チップ34とからなるマルチチップパッケージの半導体装置(不揮発性メモリ装置)26aとしてもよい。
【0142】
この場合、半導体チップ27aはフラッシュメモリ10からなり、半導体チップ34は、SRAMまたはSDRAMなどの揮発性メモリ、フラッシュメモリコントローラ、ならびにSRAM/SDRAMインタフェースロジックからなる。
【0143】
そして、半導体チップ27aと半導体チップ34とがボンディングワイヤW4を介してそれぞれ接続され、SRAM/SDRAMインタフェースロジックを有する半導体チップ34は、ボンディングワイヤW5を介してプリント配線基板30に形成されたボンディング電極とそれぞれ接続されている。
【0144】
半導体チップ34に形成されたフラッシュメモリコントローラにおいては、第1、および第2バッファ7,8として機能するバッファ領域が、揮発性メモリの一部の任意の領域を用いて構成されている点が異なる以外は、図1に示すフラッシュメモリコントローラ1と同じ回路である。
【0145】
よって、半導体装置26aでは、フラッシュメモリと揮発性メモリとを1つのパッケージにより構成することができるので、より他のプロセッサとの接続を容易にすることができるとともに、メインボードなどの実装面積を低減することができる。
【0146】
それにより、本実施の形態においては、AND/NAND型のフラッシュメモリ10における1セクタのデータのランダムアクセスを可能とすることができる。
【0147】
また、バスブリッジを介さずにデータをDMA転送することにより、データの転送効率を大幅に向上することができる。
【0148】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0149】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【0150】
(1)AND/NAND型のフラッシュメモリであっても、1セクタ分のデータのランダムアクセスが可能となり、データの転送効率を大幅に向上することができる。
【0151】
(2)また、NOR型フラッシュメモリコントローラからビット単価の安いAND/NAND型フラッシュメモリに置き換えが可能となるので、携帯電話やモバイル機器などの電子機器を低コスト化することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態によるフラッシュメモリコントローラのブロック図である。
【図2】図1のフラッシュメモリコントローラの書き込み動作時におけるフローチャートである。
【図3】図1のフラッシュメモリコントローラの読み出し動作時におけるフローチャートである。
【図4】図1のフラッシュメモリコントローラのリードモディファイライト動作時におけるフローチャートである。
【図5】図4に続くリードモディファイライト動作時におけるフローチャートである。
【図6】図1のフラッシュメモリコントローラを搭載した半導体集積回路装置の一例を示すブロック図である。
【図7】図6の半導体集積回路装置における書き込み動作時における各信号のタイミングチャートである。
【図8】図1に示したフラッシュメモリコントローラとフラッシュメモリとを搭載した一例を示すフラッシュメモリカードのブロック図である。
【図9】図1のフラッシュメモリコントローラを用いて構成された半導体装置の説明図である。
【図10】図9の半導体装置における接続構成を示す説明図である。
【図11】本発明の他の実施の形態によるフラッシュメモリコントローラを用いて構成された半導体装置の説明図である。
【符号の説明】
1 フラッシュメモリコントローラ(マイクロプロセッサ、不揮発性メモリコントローラ、コントローラ)
2 メインバスインタフェース
3 第1アドレス/データ制御部
3a 第1セレクタ
3b 第1レジスタ
4 第2アドレス/データ制御部
4a 第2セレクタ
4b 第2レジスタ
5 第1バッファセレクタ
5a 第3セレクタ
5b 第1カウンタ
6 第2バッファセレクタ
6a 第4セレクタ
6b 第2カウンタ
7 第1バッファ(バッファ領域)
8 第2バッファ(バッファ領域)
9 転送制御部
10 フラッシュメモリ(不揮発性メモリ)
10a バッファ
10b メモリアレイ
11 半導体集積回路装置(マイクロコントローラ)
12 CPU
13 MMU
14 キャッシュ
15 DMAC
16 SRAM/SDRAMインタフェース
17 フラッシュメモリカード
18 ASIC
19 リセットIC
20 水晶発振器
21 PCカードスロット
22 パワーオンリセット
23 クロックコントロール
24 プロセッサ
25 ホストインタフェース
26 半導体装置(不揮発性メモリ装置)
26a 半導体装置(不揮発性メモリ装置)
27,27a 半導体チップ
28,29 半導体チップ
30 プリント配線基板
31 はんだバンプ
32 パッケージ
33 SRAM/SDRAMインタフェースロジック
34 半導体チップ
W1〜W5 ボンディングワイヤ
MB メインバス
PB 周辺バス

Claims (18)

  1. 不揮発性メモリに接続可能であり、前記不揮発性メモリに対してデータの読み出し、またはデータの書き込みの制御を行う不揮発性メモリコントローラを有し、
    前記不揮発性メモリに対するデータの読み出し、またはデータの書き込みの際、データの一次格納を行うバッファ領域を有し、
    前記不揮発性メモリコントローラは、外部からのデータ読み出し要求を受け付けた際、前記読み出し要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合には、前記バッファ領域に格納されているデータを外部へ出力し、前記バッファ領域にデータが格納されていない場合には、前記不揮発性メモリに対してデータの読み出しを行い、外部へ出力することを特徴とするマイクロコントローラ。
  2. 請求項1記載のマイクロコントローラにおいて、前記不揮発性メモリコントローラは、外部からのデータ書き込み要求を受け付けた際、前記書き込み要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合には、前記バッファ領域に格納されているデータを前記不揮発性メモリに出力し、前記バッファ領域にデータが格納されていない場合には、外部から入力されたデータを前記不揮発性メモリに出力することを特徴とするマイクロコントローラ。
  3. 請求項1または2記載のマイクロコントローラにおいて、前記不揮発性メモリコントローラは、外部からのデータ書き換え要求を受け付けた際、前記書き換え要求にかかる上書きデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域に上書きデータが格納されている場合には、前記バッファ領域に格納されている上書きデータを前記不揮発性メモリに出力し、前記バッファ領域に上書きデータが格納されていない場合には、外部から入力された上書きデータを前記不揮発性メモリに出力することを特徴とするマイクロコントローラ。
  4. 請求項1〜3のいずれか1項に記載のマイクロコントローラにおいて、前記バッファ領域は、2つのバッファからなり、前記2つのバッファは、前記不揮発性メモリにおける1セクタのカラムアドレスに対応したデータを蓄積する容量をそれぞれ有し、一方の前記バッファが1セクタのカラムアドレスに対応したデータを蓄積し、他方の前記バッファが1セクタのカラムアドレスに対応した他のデータを出力することを特徴とするマイクロコントローラ。
  5. 請求項1〜4のいずれか1項に記載のマイクロコントローラにおいて、前記不揮発性メモリコントローラは、DMACに対してDMA要求信号を出力し、前記データをDMA転送することを特徴とするマイクロコントローラ。
  6. 不揮発性メモリに接続可能であり、前記不揮発性メモリに対してデータの読み出し、またはデータの書き込みの制御を行う不揮発性メモリコントローラと、中央処理装置とを有し、
    前記不揮発性メモリに対するデータの読み出しの際、データの一次格納を行うバッファ領域を有し、
    前記不揮発性メモリコントローラは、前記中央処理装置からのデータの読み出し要求の際、前記読み出し要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合は、前記バッファ領域に格納されているデータを前記中央処理装置に出力し、前記バッファ領域にデータが格納されていない場合は、前記不揮発性メモリに対してデータ読み出しを行い、前記中央処理装置に出力することを特徴とするマイクロプロセッサ。
  7. 請求項6記載のマイクロプロセッサにおいて、前記不揮発性メモリコントローラは、外部からのデータ書き込み要求を受け付けた際、前記書き込み要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合には、前記バッファ領域に格納されているデータを前記不揮発性メモリに出力し、前記バッファ領域にデータが格納されていない場合には、外部から入力されたデータを前記不揮発性メモリに出力することを特徴とするマイクロプロセッサ。
  8. 請求項6または7記載のマイクロプロセッサにおいて、前記不揮発性メモリコントローラは、外部からのデータ書き換え要求を受け付けた際、前記書き換え要求にかかる上書きデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域に上書きデータが格納されている場合には、前記バッファ領域に格納されている上書きデータを前記不揮発性メモリに出力し、前記バッファ領域に上書きデータが格納されていない場合には、外部から入力された上書きデータを前記不揮発性メモリに出力することを特徴とするマイクロプロセッサ。
  9. 請求項6〜8のいずれか1項に記載のマイクロプロセッサにおいて、前記バッファ領域は、2つのバッファからなり、前記2つのバッファは、前記不揮発性メモリにおける1セクタのカラムアドレスに対応したデータを蓄積する容量をそれぞれ有し、一方の前記バッファが1セクタのカラムアドレスに対応したデータを蓄積し、他方の前記バッファが1セクタのカラムアドレスに対応した他のデータを出力することを特徴とするマイクロプロセッサ。
  10. 請求項6〜9のいずれか1項に記載のマイクロプロセッサにおいて、前記不揮発性メモリコントローラは、DMACに対してDMA要求信号を出力し、前記データをDMA転送することを特徴とするマイクロプロセッサ。
  11. 請求項6〜9のいずれか1項に記載のマイクロプロセッサにおいて、前記不揮発性メモリコントローラに、外部メモリインタフェースを設け、前記外部メモリインタフェースを介して揮発性メモリが外部接続されることを特徴とするマイクロプロセッサ。
  12. 1のパッケージに封入され、外部からは所定の不揮発性メモリとして認識可能であり、不揮発性メモリとコントローラとを有し、
    前記コントローラに接続され、前記不揮発性メモリに対するデータの読み出しの際、データの一次格納を行うバッファ領域を有し、
    前記コントローラは、外部からのデータ読み出し要求の際、前記読み出し要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合は、前記バッファ領域に格納されているデータを外部へ出力し、前記バッファ領域にデータが格納されていない場合には、前記不揮発性メモリに対してデータ読み出しを行い、前記バッファ領域へ格納するとともに外部へ出力することを特徴とする不揮発性半導体メモリ装置。
  13. 請求項12記載の不揮発性半導体メモリ装置において、前記コントローラに、外部メモリインタフェースを設け、前記外部メモリインタフェースを介して揮発性メモリが外部接続されることを特徴とする不揮発性半導体メモリ装置。
  14. 1のパッケージに封入され、揮発性メモリと、不揮発性メモリとを有し、
    前記揮発性メモリは、コントローラと、前記コントローラに接続され、前記不揮発性メモリに対するデータの読み出しの際、データの一次格納を行うバッファ領域とを有し、
    前記コントローラは、外部からのデータ読み出し要求の際、前記読み出し要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合は、前記バッファ領域に格納されているデータを前記揮発性メモリへ出力し、前記バッファ領域にデータが格納されていない場合には、前記不揮発性メモリに対してデータ読み出しを行い、前記バッファ領域へ格納するとともに前記揮発性メモリへ出力することを特徴とする不揮発性半導体メモリ装置。
  15. 請求項12〜14のいずれか1項に記載の不揮発性半導体メモリ装置において、前記コントローラは、外部からのデータ書き込み要求を受け付けた際、前記書き込み要求にかかるデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域にデータが格納されている場合には、前記バッファ領域に格納されているデータを前記不揮発性メモリに出力し、前記バッファ領域にデータが格納されていない場合には、外部から入力されたデータを前記不揮発性メモリに出力することを特徴とする不揮発性半導体メモリ装置。
  16. 請求項12〜15のいずれか1項に記載の不揮発性半導体メモリ装置において、前記コントローラは、外部からのデータ書き換え要求を受け付けた際、前記書き換え要求にかかる上書きデータが前記バッファ領域に格納されているか否かに応じて、前記バッファ領域に上書きデータが格納されている場合には、前記バッファ領域に格納されている上書きデータを前記不揮発性メモリに出力し、前記バッファ領域に上書きデータが格納されていない場合には、外部から入力された上書きデータを前記不揮発性メモリに出力することを特徴とする不揮発性半導体メモリ装置。
  17. 請求項12〜16のいずれか1項に記載の不揮発性半導体メモリ装置において、前記バッファ領域は、2つのバッファからなり、前記2つのバッファは、前記不揮発性メモリにおける1セクタのカラムアドレスに対応したデータを蓄積する容量をそれぞれ有し、一方の前記バッファが1セクタのカラムアドレスに対応したデータを蓄積し、他方の前記バッファが1セクタのカラムアドレスに対応した他のデータを出力することを特徴とする不揮発性半導体メモリ装置。
  18. 請求項12〜17のいずれか1項に記載の不揮発性半導体メモリ装置において、前記コントローラは、DMACに対してDMA要求信号を出力し、前記データをDMA転送することを特徴とする不揮発性半導体メモリ装置。
JP2002366123A 2002-12-18 2002-12-18 マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置 Pending JP2004199309A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002366123A JP2004199309A (ja) 2002-12-18 2002-12-18 マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002366123A JP2004199309A (ja) 2002-12-18 2002-12-18 マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置

Publications (1)

Publication Number Publication Date
JP2004199309A true JP2004199309A (ja) 2004-07-15

Family

ID=32763421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002366123A Pending JP2004199309A (ja) 2002-12-18 2002-12-18 マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置

Country Status (1)

Country Link
JP (1) JP2004199309A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009123185A (ja) * 2007-11-15 2009-06-04 Genesys Logic Inc フラッシュメモリ装置及びそのアクセス方法
JP2009146499A (ja) * 2007-12-13 2009-07-02 Toshiba Corp 不揮発性メモリカード
JP2010508600A (ja) * 2006-10-31 2010-03-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド デュアルモードメモリ相互接続を備えたメモリコントローラ
CN114780461A (zh) * 2022-06-17 2022-07-22 山东理工职业学院 单片机参数的存储方法、装置和电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010508600A (ja) * 2006-10-31 2010-03-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド デュアルモードメモリ相互接続を備えたメモリコントローラ
JP2009123185A (ja) * 2007-11-15 2009-06-04 Genesys Logic Inc フラッシュメモリ装置及びそのアクセス方法
JP2009146499A (ja) * 2007-12-13 2009-07-02 Toshiba Corp 不揮発性メモリカード
CN114780461A (zh) * 2022-06-17 2022-07-22 山东理工职业学院 单片机参数的存储方法、装置和电子设备

Similar Documents

Publication Publication Date Title
US9047942B2 (en) Non-transitory computer-readable media describing a hybrid volatile and non-volatile memory device with an overlapping region of addressable range of storage cells
CN108572933B (zh) 用于直接存储器存取的数据缓冲器指针找取
US6928512B2 (en) Semiconductor device with non-volatile memory and random access memory
KR100924407B1 (ko) 반도체 장치 및 메모리 모듈
KR101182597B1 (ko) 구현가능한 준비/비지 제어
US20060136687A1 (en) Off-chip data relocation
KR100758301B1 (ko) 메모리 카드 및 그것의 데이터 저장 방법
JP2008090876A (ja) 不揮発性半導体記憶装置
KR100468634B1 (ko) 데이터 전송 제어장치, 반도체 메모리 장치 및 전자정보장치
US6523755B2 (en) Semiconductor memory device
US11360711B2 (en) Storage device temporarily suspending internal operation to provide short read response time for read request from host
US7953941B2 (en) Data processor with memory controller having burst access operation
JP2008059052A (ja) 半導体集積回路及びマイクロコンピュータ
US11853219B2 (en) Storage controller having data prefetching control function, operating method of storage controller, and operating method of storage device
JP2007310680A (ja) 不揮発性記憶装置およびそのデータ転送方法
KR20220048303A (ko) 크레딧을 이용하는 호스트 장치와 스토리지 장치의 동작 방법
JP2004199309A (ja) マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置
US20230112869A1 (en) Storage device and electronic system
JP4873526B2 (ja) 半導体集積回路及びマイクロコンピュータ
JP5391370B2 (ja) メモリモジュールとコントローラ
US11942180B2 (en) Memory system
CN114664336B (zh) 堆叠存储器件、存储芯片及其控制方法
WO2008001363A2 (en) Monolithic flash memory having integrated code and data memory portions
KR101175250B1 (ko) 낸드 플래시 메모리 장치와 그의 컨트롤러 및 이들의 라이트 오퍼레이션 방법
CN115148244A (zh) 半导体存储装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080924