JP2007334813A - メモリ制御回路及びデータ書き換え方法 - Google Patents

メモリ制御回路及びデータ書き換え方法 Download PDF

Info

Publication number
JP2007334813A
JP2007334813A JP2006168941A JP2006168941A JP2007334813A JP 2007334813 A JP2007334813 A JP 2007334813A JP 2006168941 A JP2006168941 A JP 2006168941A JP 2006168941 A JP2006168941 A JP 2006168941A JP 2007334813 A JP2007334813 A JP 2007334813A
Authority
JP
Japan
Prior art keywords
data
write
memory
write data
process
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
JP2006168941A
Other languages
English (en)
Inventor
Yuji Hisaie
Takao Kondo
Yoji Terauchi
裕司 久家
洋二 寺内
隆生 近藤
Original Assignee
Nec Electronics Corp
Necエレクトロニクス株式会社
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 Nec Electronics Corp, Necエレクトロニクス株式会社 filed Critical Nec Electronics Corp
Priority to JP2006168941A priority Critical patent/JP2007334813A/ja
Publication of JP2007334813A publication Critical patent/JP2007334813A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention

Abstract

【課題】記憶素子に格納されたデータの書き換えにおいて、処理時間を短縮するメモリ制御回路を提供する。
【解決手段】本発明の一態様に係るメモリ制御回路は、データの書き込み及び読み出しが可能なメモリに対する制御回路であって、メモリ120に対する書き込みデータと前記書き込みデータを書き込んだメモリアドレスからの読み出しデータとを比較する比較手段105と、比較手段105による比較結果を、前記メモリアドレスと対応して格納する比較結果格納手段107と、前記比較結果に基づいて、不一致と判定された前記メモリアドレスに対して、前記書き込みデータを再度書き込むリトライ処理を制御する制御手段108と、を備えている。
【選択図】図2

Description

本発明は、記憶素子に格納されたデータの書き換えにおいて、処理時間を短縮するメモリ制御回路及びデータ書き換え方法に関する。

従来、メモリ等記憶素子に格納されたデータの書き換えについては、以下のような技術が用いられている。図9は、従来技術に係る書き換え処理のフローを示すフローチャートである。図9を用いて、従来技術について説明する。従来技術では、CPUからメモリ制御回路にデータ書き換え処理が要求された場合、書き込み処理(S700)に続いて、ベリファイ処理及びリトライ処理(S800)が実行される。

始めに、S700の書き込み処理によって、CPUから出力された書き込みデータが記憶素子に書き込まれる。次に、S800にて記憶素子に書き込まれたデータが正しく書き込まれたか否かを、本来の書き込みデータと比較する(ベリファイ処理)。以下の説明では、記憶素子に書き込むデータを書き込みデータと称す。記憶素子に書き込まれたデータをベリファイ処理のために読み出したデータを読み出しデータと称す。読み出しデータと書き込みデータが一致し、正しく書き込まれている場合、データ書き換え処理は終了する。読み出しデータと書き込みデータが一致せず、正しく書き込まれていない場合は、記憶素子に書き込まれた不一致データの位置に書き込みデータを再度書き込む処理(リトライ処理)を実施する。

図9に示した処理を更に詳述する。図10は、図9に示す書き込み処理(S700)を詳細に示したフローチャートである。図10を用いて、書き込み処理の動作を説明する。図示しないが、従来技術に係るメモリ制御回路は、CPUから出力された書き込みデータを格納する第1のメモリと、CPUと第1のメモリとの間のデータ送受処理に用いる第2のメモリを有している。始めに、CPUからメモリ制御回路にデータ書き換え処理が要求されると、メモリ制御回路は書き込みモードに設定される(S701)。S702にて、書き込みデータを書き込む第1のメモリのアドレス情報を取得する。ここで処理される書き込みデータの単位は、書き込みに指定された領域(以下、指定領域と称す)全てでも、指定領域を所定の書き込み単位毎に分割してもよい。なお、第1のメモリにおいては、所定の書き込み単位毎に1つのアドレスが対応する。S703にて、第2のメモリに書き込みデータを格納する。S704にて、S702で取得した第1のメモリのアドレスに書き込みデータを格納する(書き込み制御処理)。S705にて、指定領域全ての書き込みが終了したか確認する。終了していれば書き込み処理は終了する。終了していなければ、次の書き込みデータを書き込むアドレス情報を取得し(S706)、次の書き込みデータを第2のメモリに格納し(S707)、S704からの処理を繰り返す。

図11は、図9に示すベリファイ処理及びリトライ処理(S800)を詳細に示したフローチャートである。図11を用いて、従来技術に係るベリファイ/リトライ処理の動作について説明する。始めに、書き込み処理(S700)において第1のメモリに格納されたデータが正しく書き込まれているか否かを確認するため、S801にてベリファイモードに設定する。S802にて、ベリファイするデータが格納された第1のメモリのアドレス情報を取得する。S803にて、第2のメモリに、S802にて取得したアドレスに格納されているデータに対応する書き込みデータを格納する。S804のベリファイ制御処理にて、S802で取得した第1のメモリのアドレスに格納されているデータを読み出し(読み出しデータ)、第2のメモリに格納されている書き込みデータと比較処理する。書き込みデータと読み出しデータが一致するか否かを判定し(S805)、一致した場合、指定領域全てにおいて確認が終了したか判定する(S806)。指定領域の確認が終了していなければ、次にベリファイするデータのアドレス情報を取得する(S807)。そして、そのデータに対応する書き込みデータを第2のメモリに格納し(S808)、S804からの処理を繰り返す。

S805にて、書き込みデータと読み出しデータが一致しなかった場合、即ちベリファイ不一致となった場合、S809からリトライ処理が実行される。まず、S809にて、メモリ制御回路を再度書き込みモードに設定する。次に、再度書き込み制御処理にてベリファイ不一致となったデータに対応する書き込みデータを第1のメモリのアドレスに書き込む(S810)。リトライ処理での再度書き込み制御処理にて第1のメモリに格納されたデータを再修正データと称す。S811にてベリファイモードに設定し、S812のベリファイ制御処理にて、再修正データを読み出し、それに対応する書き込みデータと比較処理する。S813にて、書き込みデータと再修正データが一致するか判定する。一致した場合は、次にベリファイするデータのアドレスを受け付ける(S814)。そして、そのベリファイデータに対応する書き込みデータを第2のメモリに格納し(S815)、S804の処理から開始する。S813にて、書き込みデータと再修正データが一致しなかった場合、S816にてリトライ処理を所定回数繰り返す。定められた閾値の回数繰り返す前にリトライ処理が正常に終了した場合、S809の処理から開始する。閾値の回数を繰り返してもベリファイ不一致となる場合、異常終了する。

なお、データの書き換えに関する技術の一例は、特許文献1にも開示されている。特許文献1では、第1のメモリにデータを書き込む際、第2のメモリに書いてから第1のメモリを読み出して比較し、一致しないときだけ書き込むことにより、不要な書き込み回数を抑制し、時間短縮を図っている。また、特許文献1には、特定の大きさに分割した読み出しデータと書き込みデータを比較し、データの一部に不一致があった場合は不一致フラグがセットされる技術についても記載されている。不一致フラグがセットされているデータのみを第1のメモリに書き込むことにより、不要な書き込みを削減することができる。
特開2003−256266号公報

しかしながら、発明者は従来技術には以下の課題があることを見出した。従来技術のベリファイ処理では、ベリファイ不一致が発生すると直ちに不一致データのリトライ処理が実行され、リトライ処理終了後ベリファイ処理に戻る。リトライ処理では、書き込み処理とベリファイ処理が実施されるため、メモリ制御回路を書き込みモードとベリファイモードに切り替える必要がある。従って、ベリファイ不一致データが発生する毎に、メモリ制御回路は書き込みモードとベリファイモードを切り替える。書き込みモードとベリファイモードの切り替えには、モードを安定させるためのセットアップ時間が必要となる。その結果、ベリファイ不一致データが発生する毎に、書き込みモードとベリファイモードの切り替え時間が必要となるため、データ書き換え処理速度が低下する。特に、ベリファイ不一致データが複数発生する場合等、処理速度の低下が顕著である。

また、特許文献1では、不一致フラグにより不要な書き込みを削減することは可能であるが、特定の大きさに分割したデータ単位内のどのアドレスが不一致であるかを記憶する手段がない。従って、比較処理が終了する毎に不一致アドレスを第1のメモリ等に書き込む必要がある。即ち、第1のメモリは、データを読み出して書き込みデータと比較した後、データが不一致となった場合不一致フラグを第1のメモリに書き込む必要がある。例えば、フラッシュメモリのように読み出しと書き込みの動作を切り替えて使用する記憶素子に不一致アドレスを書き込む場合、書き込みのためのモード切替や内部電圧を発生するため所定の時間を要することになる。そのため、切り替え回数の増加と共に、実際の書き込み時間以外のオーバヘッド時間が増大し、全体の書き込み時間が長くなるという問題がある。

本発明の第1の態様に示されるメモリ制御回路は、データの書き込み及び読み出しが可能なメモリに対する制御回路であって、前記メモリに対する書き込みデータと前記書き込みデータを書き込んだメモリアドレスからの読み出しデータとを比較する比較手段と、前記比較手段による比較結果を、前記メモリアドレスと対応して格納する比較結果格納手段と、前記比較結果に基づいて、不一致と判定された前記メモリアドレスに対して、前記書き込みデータを再度書き込むリトライ処理を制御する制御手段と、を備えたものである。

また、本発明の第2の態様に示されるデータ書き換え方法は、データの書き込み及び読み出しが可能なメモリへのデータ書き換え方法であって、前記メモリに対する書き込みデータと前記書き込みデータを書き込んだメモリアドレスからの読み出しデータとを比較し、比較した結果を、前記メモリアドレスと対応して格納し、格納された比較結果に基づいて、不一致と判定された前記メモリアドレスに対して、前記書き込みデータを再度書き込むリトライ処理を制御するものである。

このように、不一致と判定されたデータを纏めてリトライ処理することにより、リトライ処理では、不一致データの書き込み処理を繰り返した後、ベリファイ処理を実施する。従って、書き込みモードとベリファイモードへの切り替えは1回ずつとなるため、従来技術のようにベリファイ不一致データ毎にモード切り替えを繰り返す必要がない。その結果、データ書き換えの処理速度を向上させることが可能となる。

以上のような構成により、記憶素子に格納されたデータの書き換えにおいて、処理時間を短縮するメモリ制御回路及びデータ書き換え方法を提供することができる。

以下に、本発明の好ましい実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、説明の明確化のため、必要に応じて重複説明は省略されている。

発明の実施の形態1.
図面を参照し、第1の実施形態に係るメモリ制御回路について説明する。第1の実施形態では、LSI(大規模集積回路:Large Scale Integrated Circuit)等に形成された半導体装置に内蔵されるフラッシュメモリへのデータ書き換え処理を行うメモリ制御回路を例に説明する。図1は、第1の実施形態に係るメモリ制御回路を有する半導体装置の構成を示したブロック図である。

図1に示すように、半導体装置100は、メモリ制御回路110、フラッシュメモリ120、CPU130の他、RAM140、ファームROM150、及びシリアルインターフェース160を有している。また、外部に備えられたライタ170は、フラッシュメモリ120へのプログラムの書き込み等に使用される。CPU130は、バス180を介して、メモリ制御回路110やシリアルインターフェース160等の周辺機器を制御する。各々の周辺機器には、入出力端子が設けられ、バス180やライタ170等の外部機器と接続することが可能である。

第1の実施形態に係るデータの書き換え処理では、ライタ170から送信される書き込みデータをシリアルインターフェース160を介して、CPU140がRAM140に一旦格納する。CPU140は、所定の書き込みデータ量分だけRAM140に格納した後、RAM140からデータを読み出し、バス180を介してメモリ制御回路110に転送する。これらのCPU130の動作は、ファームROM150に書き込まれたプログラムによって行われる。

次に、図2を用いて、第1の実施形態に係るメモリ制御回路について説明する。図2は、半導体装置100におけるデータ書き換え処理に係る構成を示したブロック図である。半導体装置100は、メモリ制御回路110、フラッシュメモリ120、及びCPU130を有している。メモリ制御回路110は、アドレスポインタ101、クロック制御レジスタ102、モード制御レジスタ103、ライトバッファ104、比較回路105、リードバッファ106、ステータスレジスタ107、シーケンサ108、及び書込レジスタ109を有している。第1の実施形態では、記憶素子にフラッシュメモリ120を用いているが、フラッシュメモリに限らず他の不揮発性の記憶素子を使用することも可能である。フラッシュメモリ120は、従来技術で示す第1のメモリと同様の機能を有す。

メモリ制御回路110は、CPU130からの要求に従い、フラッシュメモリ120への書き換え処理等読み書きに関する処理を制御する機能を有する。フラッシュメモリ120への書き込みは、前述のようにRAM140に格納されたデータをCPU130が読み出し、メモリ制御回路110に転送する。転送された書き込みデータは、書込レジスタ109に格納される。CPU130は、メモリ制御回路110に必要なデータを設定後、シーケンサ108に書き換え処理を指示する。以降のデータ書き換え処理は、シーケンサ108が制御する。

メモリ制御回路110の各要素について、以下に説明する。アドレスポインタ101は、シーケンサ108の指示に応じて、フラッシュメモリ120へデータを書き込む場合の書き込みアドレスを取得する。同様に、フラッシュメモリ120からデータを読み出す場合の読み出しアドレスを取得する。クロック制御レジスタ102は、シーケンサ108からの指示に基づいて、データ書き換えに対する処理をクロック制御している。

モード制御レジスタ103は、シーケンサ108の指示に応じて、メモリ制御回路110のモードの切り替えを制御する。メモリ制御回路110では、書き込み処理を実行する書き込みモードや、ベリファイ処理を実行するベリファイモード等が使用され、処理に応じて切り替えられる。書き込みモードでは、シーケンサ108が書込レジスタ109から取得した書き込みデータをフラッシュメモリ120に書き込む書き込み処理が行われる。ベリファイモードでは、フラッシュメモリ120に書き込まれたデータが正しく書き込まれたか否かを検査するベリファイ処理が行われる。具体的には、フラッシュメモリ120に書き込まれたデータをリードバッファ106に読み出し、ライトバッファ104にセットされた本来の書き込みデータ(期待値)と比較する。即ち、読み出したデータに誤りがないか検査することをベリファイ処理と称す。なお、以降の記述には、フラッシュメモリ120に書き込むデータを書き込みデータと称す。フラッシュメモリ120に書き込まれたデータをベリファイ処理のために読み出したデータを読み出しデータと称す。

ライトバッファ104は、CPU130とフラッシュメモリ120の間に配設され、書き込み処理時にフラッシュメモリ120へ書き込みデータを出力し、ベリファイ処理時に比較回路105へベリファイデータ(書き込みデータ)を出力するための一時保存用のバッファである。ライトバッファ104への書き込みはシーケンサ108により実施される。第1の実施形態に係るライトバッファ104は、例えば32ビット分(4バイト)のバッファ領域を有し、CPU130から受信した書き込みデータの書き込み単位を32ビットとする場合の例を示す。なお、バッファ領域は32ビットに限らず設定でき、書き込み単位が32ビットに限らないことはもちろんである。

リードバッファ106は、CPU130とフラッシュメモリ120の間に配設され、フラッシュメモリ120から読み出された読み出しデータを一時保存し、ベリファイ処理時に比較回路105へ出力するバッファである。第1の実施形態では、例えば32ビット分(4バイト)のバッファ領域を有し、読み出しデータの読み出し単位を32ビットとする場合の例を示す。なお、バッファ領域は32ビットに限らず設定でき、読み出し単位が32ビットに限らないことはもちろんである。

比較回路105は、ライトバッファ104に格納された書き込みデータと、リードバッファ106に読み出された読み出しデータが一致するか否かを比較する回路である。比較回路105では、ライトバッファ104と、リードバッファ106に格納されたデータを単位領域毎に比較する。例えば、1書き込み単位が32ビット分の領域である場合、32ビット毎に書き込みデータと読み出しデータが一致するか否かを比較する。比較した結果は、ステータスレジスタ107に出力される。このように、比較回路105は、フラッシュメモリ120に対する書き込みデータと、この書き込みデータを書き込んだフラッシュメモリ120のアドレス(メモリアドレス)からの読み出しデータとを比較する比較手段である。ライトバッファ104に格納された32ビット分のデータとリードバッファ106に格納された32ビット分のデータが一致する場合は、例えば"1"を示すビット情報がステータスレジスタ107へ出力される。ライトバッファ104に格納されたデータとリードバッファ106に格納されたデータが不一致である場合は、例えば"0"を示すビット情報がステータスレジスタ107へ出力される。なお、ビット情報については、データが一致する場合を"0"とし、データ不一致の場合を"1"とすることも可能である。

ステータスレジスタ107は、比較回路105での比較結果を格納するレジスタである。ステータスレジスタ107には、比較した結果を、一致/不一致に係らず格納することができる。第1の実施形態に係るステータスレジスタ107は、1ビットのフラグを64個分有している。従って、比較結果を64個分格納することができる。例えば、1書き込み単位が32ビット(4バイト)である場合、64書き込み単位(256バイト)分のデータの比較結果を格納することができる。即ち、ステータスレジスタ107は、1つの書き込みデータに対して1ビットの情報格納領域を有し、その書き込みデータの比較結果を格納する比較結果格納手段である。比較結果に対して、ステータスレジスタ107のどのビットをセットするかについては、シーケンサ108からステータスレジスタ107への選択信号によって制御される。例えば比較結果がエラーとなった場合、シーケンサ108によって該当するステータスレジスタ107に不一致を示すビットがセットされる。なお、セットされたステータスレジスタ107のビットは、該当するデータが格納されている書込レジスタ109と対応している。

ステータスレジスタ107では、1書き込み単位分のデータに対応する比較結果が1ビットのフラグとしてセットされる。セットされたフラグは、比較に使用したデータが格納されているフラッシュメモリ120のアドレス(メモリアドレス)と対応している。例えば、比較回路105にて、書き込みデータと読み出しデータを比較し不一致となった場合、"0"を示すビット情報が図2に示すb0に格納される。b0は、フラッシュメモリ120の所定のアドレス(メモリアドレス)と対応しており、そのメモリアドレスには上記で不一致となった読み出しデータが格納されている。即ち、ステータスレジスタ107は、比較回路105における比較結果と、比較に使用した書き込みデータが書き込まれるフラッシュメモリ120のアドレス(メモリアドレス)情報とを、関連付けて保持する比較結果格納手段である。フラッシュメモリ120のアドレスに対応したステータスレジスタ107の選択は、シーケンサ108が制御する。なお、ステータスレジスタ107の格納領域が64ビットのフラグに限らないことはもちろんである。また、ステータスレジスタ107には、RAM等の記憶素子を用いることが可能である。更に、ビット情報については、データが一致する場合を"0"とし、データ不一致の場合を"1"とすることも可能である。ステータスレジスタ107は、ベリファイ処理を行う前にシーケンサ108からの初期化信号により、全て"1"又は"0"に初期化しておき、不一致となったビットだけに"0"又は"1"を格納する。

シーケンサ108は、メモリ制御回路110の各要素を統括し、第1の実施形態に係る書き込み処理、ベリファイ処理、及びリトライ処理を制御する制御手段である。具体的に、シーケンサ108は、以下の動作を制御する。即ち、CPU130によって書込レジスタ109に転送された書き込みデータをライトバッファ104にセットする。そして、フラッシュメモリ120へ書き込みデータを書き込む(書き込み処理)。その後、書き込みデータが正しく書き込まれたかを確認する。即ち、フラッシュメモリ120へ書き込まれた書き込みデータに対して読み出し動作を行い、読み出しデータをリードバッファ106に格納し、ライトバッファ104にセットされた書き込みデータと比較する(ベリファイ処理)。ベリファイ処理による比較の結果、不一致の場合、ステータスレジスタ107にエラー情報を格納する。そして、エラー情報に対応するアドレスに格納されるデータのみを纏めて、再度書き込み処理(リトライ処理)を実施する。シーケンサ108は、ベリファイ処理による比較結果に基づいて、不一致と判定されたメモリアドレスに対して、書き込みデータを再度書き込むリトライ処理を制御する制御手段である。なお、これらの処理は、シーケンサ108で実行する以外にも、CPU130でのソフトウェア処理によって制御することも可能である。

ライトバッファ104の前段には、書込レジスタ109が配設されている。書込レジスタ109は、ライトバッファ104より記憶容量が多く、CPU130から受信した書き込みデータを保持しておくことが可能である。例えば、CPU130から要求されたデータ書き換え処理が発生した場合、書込レジスタ109に全ての書き込みデータが格納され、書き換え処理が完了するまで保持しておくことが可能である。書き換え処理において、データが不一致となった場合、不一致データに対応する本来の書き込みデータをライトバッファ104に出力する。書込レジスタ109に格納されたデータは、シーケンサ108を介してライトバッファ104に出力することが可能である。書込レジスタ109のどのレジスタの内容をライトバッファ104に出力するかの選択信号は、シーケンサ108から書き込みレジスタ109に出力される。前述したように、ステータスレジスタ107のビットは、該当するデータが格納される書込レジスタ109と対応する。また、ステータスレジスタ107のビットは、フラッシュメモリ120のメモリアドレスと対応する。即ち、書込レジスタ109は、メモリアドレスと対応してデータを格納するデータ記憶手段であり、不一致と判定されたメモリアドレスに対応する書き込みデータをシーケンサ108を介してライトバッファ104に出力する。なお、ライトバッファ104への書き込みはシーケンサ108により制御される。

第1の実施形態に係る書込レジスタ109は、32ビット(4バイト)のデータを格納できる書込レジスタを64個有している例について示す。従って、256バイト分の書き込みデータを保持することが可能である。なお、書込レジスタ109の有するレジスタが64レジスタに限らないことはもちろんである。

次に、図3を用いて、第1の実施形態に係るデータ書き換え処理について詳述する。なお、必要に応じて図2を併用して説明する。図3は、第1の実施形態に係る書き換え処理の動作を示すフローチャートである。始めに、CPU130からフラッシュメモリ120に格納されているデータの書き換え処理が要求されると、書き込み処理によって書き込みデータがフラッシュメモリ120に書き込まれる(S100)。S100の工程は従来技術の説明で用いた図9のS700の工程と同様である。なお、ここで処理する書き込みデータの単位は、書き込みに指定された指定領域全てでも、指定領域を所定の書き込み単位毎に分割したものでもよい。また、フラッシュメモリ120には、書き込み単位毎に1つのアドレスが対応する。

次に、ベリファイ処理(S200)では、フラッシュメモリ120に格納されたデータが正しく書き込まれたか否かを書き込みデータと比較する。比較した結果、書き込みデータとフラッシュメモリ120から読み出した読み出しデータがベリファイ不一致となるか否かを確認し、比較結果をステータスレジスタ107に格納する。S300にて、ベリファイ不一致が生じた場合、ベリファイ不一致データのリトライ処理を実施する。ベリファイ不一致がない場合は、書き換え処理は終了する。

リトライ処理は、リトライ用書き込み処理(S400)とリトライ用ベリファイ処理(S500)から構成される。S400のリトライ用書き込み処理では、S300にてベリファイ不一致となったデータが再度書き込み処理され、フラッシュメモリ120に格納される。再度書き込み処理で修正されたデータを再修正データと称す。S500のリトライ用ベリファイ処理では、フラッシュメモリ120に格納された再修正データが正しく書き込まれているか否か、対応する本来の書き込みデータと比較する。比較した結果、書き込みデータと再修正データが一致しないものがある場合は、定められた閾値の回数リトライ処理する。定められた閾値の回数を繰り返してもベリファイ不一致となる場合は、異常終了する。

図3に示した処理を更に個別に詳述する。S100の書き込み処理のフローは、従来技術の図10のフローと同じであるため説明を省略する。図4は、図3に示すベリファイ処理(S200)を詳細に示したフローチャートである。図4を用いて、第1の実施形態に係るベリファイ処理(S200)の動作を説明する。

ベリファイ処理(S200)では、書き込み処理(S100)においてフラッシュメモリ120に格納されたデータが正しく書き込まれているかを確認する。始めに、メモリ制御回路110は、シーケンサ108の要求に応じて、モード制御レジスタ103をベリファイモードに設定する(S201)。次に、アドレスポインタ101がフラッシュメモリ120に格納されているデータのアドレス情報を取得する(S202)。

次に、ライトバッファ104に、S202にて取得したアドレスに格納されているデータに対応する書き込みデータを格納する(S203)。書き込み処理(S100)において使用した本来の書き込みデータは、書き換え処理が終了するまで書込レジスタ109にそのまま保持されている。従って、書込レジスタ109に保持されている書き込みデータをライトバッファ104に再度格納する。ここで処理するデータの単位は、書き込み処理(S100)において書き込まれた指定領域全てでも、指定領域を所定の書き込み単位毎に分割したものでもよい。次に、S204のベリファイ制御処理にて、リードバッファ106にS202にて取得したアドレスに格納されているデータを読み出し(読み出しデータ)、ライトバッファ104に格納された書き込みデータと一致するか否か比較処理する。

S205にて、ライトバッファ104の書き込みデータとリードバッファ106の読み出しデータが一致するか否かを判定する。一致した場合、読み出しデータが格納されていたアドレスに対応するステータスレジスタ107に、一致したことを示すビット情報(例えば"1")を格納する。次に、書き込み処理(S100)において書き込まれた指定領域全てにおいて確認が終了したか判定する(S207)。終了していなければ、次の読み出しデータのベリファイ処理が実行される。即ち、アドレスポインタ101には、次にベリファイするデータのアドレスが設定される(S208)。そして、そのデータに対応する書き込みデータをライトバッファ104に格納し(S209)、S204からの処理を繰り返す。

S205にて、書き込みデータと読み出しデータが一致しなかった場合、即ちベリファイ不一致となった場合、不一致となったデータが格納されていたアドレスに対応するステータスレジスタ107に、不一致であることを示すビット情報(例えば"0")を格納する(S206)。そして、S207からの処理を続ける。

第1の実施形態に係るベリファイ処理では、書き込み単位毎に分割されたデータを比較し、比較結果をステータスレジスタ107に格納することを、指定領域が全て比較されるまで繰り返すことに特徴を有している。即ち、第1の実施形態は、従来技術のようにベリファイ不一致データが生じても直ぐにリトライ処理を行わず、指定領域の全てのベリファイ処理を実行してからリトライ処理を実施する。その場合、ベリファイ結果を纏めて格納するステータスレジスタ107を有している。なお、第1の実施形態に係るベリファイ処理は、シーケンサ108によって制御される。但し、点線にて示すS204以降の処理においては、シーケンサ108に限らず、CPU130によって制御することも可能である。

次に、図5を用いて、第1の実施形態に係るリトライ用書き込み処理(S400)の動作を説明する。図5は、図3に示すリトライ用書き込み処理(S400)を詳細に示したフローチャートである。

リトライ用書き込み処理(S400)は、ベリファイ処理(S200)でベリファイ不一致となったデータに対応する本来の書き込みデータを再度フラッシュメモリ120に書き込む処理である。始めに、シーケンサ108は、ステータスレジスタ107からベリファイ処理(S200)にて不一致となったデータのアドレス情報を読み出す(S411)。また、メモリ制御回路110は、モード制御レジスタ103により、書き込みモードに設定される(S412)。

次に、ステータスレジスタ107から読み出したベリファイ不一致データのアドレス情報を、アドレスポインタ101が取得する(S413)。次に、取得したアドレス情報に対応する書き込みデータを、ライトバッファ104に格納する(S414)。この書き込みデータは、CPU130から転送された本来のデータのことであり、フラッシュメモリ120に格納する必要のある期待値を示している。書き込み処理(S100)やベリファイ処理(S200)において使用した本来の書き込みデータは、書き換え処理が終了するまで、書込レジスタ109にそのまま保持される。従って、書込レジスタ109に保持されている書き込みデータが、シーケンサ108を介してライトバッファ104に再度格納される。次に、S415にて、ライトバッファ104に格納された書き込みデータを、S413にて取得したフラッシュメモリ120のアドレスに格納し、書き込み制御処理が行われる。このリトライ用書き込み処理にて、フラッシュメモリ120に格納されたデータは、再修正データと称される。

次に、S416では、ステータスレジスタ107に格納されている他のベリファイ不一致データのアドレス情報を読み出す。S417にて、ベリファイ不一致データのアドレス情報の有無を判定し、無い場合は、リトライ用書き込み処理が終了する。S417にて、ベリファイ不一致データのアドレス情報があった場合、次のベリファイ不一致データのアドレスがアドレスポインタ101に設定される(S418)。そして、そのアドレスに対応する本来の書き込みデータ(期待値)がライトバッファ104に格納され(S419)、S415からの処理を繰り返す。

第1の実施形態に係るリトライ用書き込み処理では、ベリファイ不一致となったデータの数だけ連続して書き込み処理を繰り返すことに特徴を有している。従って、従来技術のようにベリファイ不一致データ毎にリトライ用書き込み処理とリトライ用ベリファイ処理を切り替える必要がない。なお、第1の実施形態に係るリトライ用書き込み処理は、シーケンサ108によって制御される。但し、点線にて示すS415以降の処理においては、シーケンサ108に限らず、CPUによって制御することも可能である。

次に、図6を用いて、第1の実施形態に係るリトライ用ベリファイ処理(S500)の動作を説明する。図6は、図3に示すリトライ用ベリファイ処理(S500)を詳細に示したフローチャートである。

リトライ用ベリファイ処理(S500)では、リトライ用書き込み処理(S400)でフラッシュメモリ120に格納された再修正データが正しく書き込まれているかを確認する。始めに、シーケンサ108は、ステータスレジスタ107からベリファイ処理(S200)にて不一致となったデータのアドレス情報を読み出す(S501)。なお、読み出したアドレスには、リトライ書き込み処理において書き込まれた再修正データが格納されている。また、メモリ制御回路110は、モード制御レジスタ103により、ベリファイモードに設定される(S502)。

次に、ステータスレジスタ107から読み出したベリファイ不一致データのアドレス情報を、アドレスポインタ101が取得する(S503)。次に、取得したアドレス情報に対応する書き込みデータを、ライトバッファ104に格納する(S504)。この書き込みデータは、CPU130から転送された本来のデータのことであり、フラッシュメモリ120に格納する必要のある期待値を示している。書き込み処理(S100)やベリファイ処理(S200)において使用した本来の書き込みデータは、書き換え処理が終了するまで、書込レジスタ109にそのまま保持される。従って、書込レジスタ109に保持されている書き込みデータが、シーケンサ108を介してライトバッファ104に再度格納される。S505のベリファイ制御処理にて、S503にて取得されたアドレスに格納されている再修正データをリードバッファ106に読み出し、ライトバッファ104に格納された書き込みデータと一致するか否か比較処理する。

S506にて、ライトバッファ104の書き込みデータとリードバッファ106の再修正データとが一致するか否かを判定する。一致した場合、ステータスレジスタ107のベリファイ不一致データに対応するアドレスに格納されているビット情報をシーケンサ108が初期化する(S507)。ステータスレジスタ107は、ベリファイ処理を行う前にシーケンサ108からの初期化信号により、全て"1"又は"0"に初期化しておき、不一致データに対応するビット情報に"0"又は"1"を格納する。従って、不一致データが格納されているアドレスに対応するステータスレジスタ107の内容が"0"である場合、初期化によって"1"が格納される。なお、不一致のときのステータスレジスタ107の内容が"1"である場合は、初期化によって"0"が格納されることも可能である。一致しなかった場合、ステータスレジスタ107に格納されている次のベリファイ不一致データのアドレス情報を読み出す(S508)。

S509にて、ベリファイ不一致データのアドレス情報の有無を判定し、無い場合は、リトライ用ベリファイ処理が終了する。ベリファイ不一致データのアドレス情報があった場合は、次のベリファイ不一致データのアドレス情報がアドレスポインタ101に取得される(S510)。そして、そのアドレスに対応する書き込みデータが書込レジスタ109からライトバッファ104に格納され(S511)、S505からの処理を繰り返す。

第1の実施形態に係るリトライ用ベリファイ処理では、リトライ用書き込み処理で書き込まれた再修正データのベリファイ処理を再修正データの数だけ繰り返すことに特徴を有している。従って、従来技術のように、ベリファイ不一致データ毎にリトライ用書き込み処理とリトライ用ベリファイ処理を切り替える必要がない。なお、第1の実施形態に係るリトライ用ベリファイ処理は、シーケンサ108によって制御される。但し、点線にて示すS505以降の処理においては、シーケンサ108に限らず、CPU130によって制御することも可能である。

以上のように、第1の実施形態では、ベリファイ処理(S200)によって発生したベリファイ不一致データ情報を集約して保存するステータスレジスタ107を有している。そして、リトライ処理では、ステータスレジスタ107に格納されたベリファイ不一致データの書き込み処理を繰り返し、更にリトライ書き込みした再修正データのベリファイ処理を繰り返す。従って、従来技術のように、ベリファイ処理中にベリファイ不一致データが発生した場合、その都度ベリファイ処理を中断し、ベリファイ不一致データ毎にリトライ処理をする必要がない。その結果、ベリファイ不一致データが生じる毎に書き込みモードとベリファイモードに切り替える必要がなくなる。

例えば、第1の実施形態に係る処理時間を数1、従来技術に係る処理時間を数2に示す。Dは、書き込まれた指定領域を書き込み単位毎に分割した場合の分割数を示し、Nは、ベリファイ不一致データのアドレス数を示す。

処理時間=D×ベリファイ処理時間+N×書き込み処理時間+モード変更処理時間・・・・・(数1)

処理時間=D×ベリファイ処理時間+N×(書き込み処理時間+2×モード変更処理時間)・・・・・(数2)

数1及び数2を比較すると、第1の実施形態に係る処理時間(数1)は、従来技術の処理時間(数2)に比べ、ベリファイ不一致データ毎に生じる2つのモード変更処理時間がない。即ち、ベリファイ不一致データ数毎に生じる書き込みモードとベリファイモードの切り替え時間分が短縮される。その結果、データ書き換え処理の処理速度が向上するという効果が得られる。

このような構成は、多段階書き込み処理のようにリトライ処理を前提とした書き込み処理を実施する場合や、書き込みデータを分割し、ベリファイ不一致データが複数発生する場合等に特に有効である。

また、メモリアドレスと対応したステータスレジスタ107に不一致データの情報を格納することにより、不一致データが格納されているアドレスを簡単に検出することが可能となる。即ち、特許文献1のように書き込み/読み出しモード切替等に時間を要する記憶素子に不一致フラグを立てる必要がなくなり、データ書き換え処理の処理速度が向上する効果が得られる。

発明の実施の形態2.
次に、本発明の実施の形態2について説明する。第2の実施形態においても、LSI等に形成された半導体装置に内蔵されるフラッシュメモリへの書き換え処理を行うメモリ制御回路を例に説明することは第1の実施形態と同様である。半導体装置の構成要素や動作等、第1の実施形態と同様のものは省略する。図7を用いて、第2の実施形態に係るメモリ制御回路について説明する。図7は、第2の実施形態に係るメモリ制御回路を有する半導体装置の構成図を示したものである。

図7は、半導体装置200におけるデータ書き換え処理を制御する構成を示したブロック図である。第2の実施形態におけるメモリ制御回路210の構成及びその機能については、比較回路205、ステータスレジスタ207を除いて、図2に示す第1の実施形態に係るメモリ制御回路110と同様である。また、メモリ制御回路210とフラッシュメモリ120及びCPU130との間の構成についても第1の実施形態と同様であるため、説明を省略する。

ステータスレジスタ207は、比較回路205での比較結果を格納するレジスタであることは、第1の実施形態と同様である。第2の実施形態に係るステータスレジスタ207も、比較結果の一致/不一致に係らず、比較した結果を格納することができる。また、第2の実施形態に係るステータスレジスタ207は、64個分のレジスタを有している。そして、1書き込み単位分のデータに対応する比較結果が1レジスタにセットされる。そのレジスタは、比較に使用したデータが格納されているフラッシュメモリ120のアドレスと対応している。

第2の実施形態では、64個のレジスタの各々に比較回路205での比較結果だけでなく、所定のデータ領域を備えることに特徴を有している。第2の実施形態では、ステータスレジスタ207の各々のレジスタは、1書き込み単位及び1読み出し単位の32ビットデータに対応して、b0〜b31の32ビットで構成される。比較回路205は、比較動作は第1の実施形態と同様にライトバッファ204の各ビットとリードバッファ206の各ビットが比較されるが、第1の実施形態では32ビットのうち、全てのビットが一致したか否かだけを示す判定結果がステータスレジスタ207に出力するのに対し、第2の実施形態では、各ビットの一致/不一致情報を出力する。例えば、各ビット毎に、一致の場合は"1"、不一致の場合は"0"として32ビットの情報をステータスレジスタ207へ出力する。また、ステータスレジスタ207の格納領域が64レジスタに限らず、1レジスタに格納される領域が32ビットに限らないことはもちろんである。1レジスタに格納される領域は書き込み単位に応じて変更することができる。また、ステータスレジスタ207は、RAM等の記憶素子を用いることが可能である。更に、比較回路205における比較結果が不一致となった場合、ステータスレジスタ207に格納される内容は"0"に限らず、"1"とすることも可能である。ステータスレジスタ207は、ベリファイ処理を行う前にシーケンサ108からの初期化信号により、全て"1"又は"0"に初期化しておき、不一致となったビットだけに"0"又は"1"を格納する。

例えば、比較回路205にて、1書き込み単位である32ビット分の書き込みデータと読み出しデータのそれぞれ対応するビットを比較し、最下位ビットだけが不一致となった場合、"0"がステータスレジスタ207のレジスタR0のb0部に格納される。同時に、レジスタR0の他のビットb1〜b31には、夫々のビットの一致結果である"1"が格納される。R1〜R63についても同様に比較の結果、不一致となったビットに対応したビットだけが"0"にセットされる。比較回路205による比較動作は、書き込みデータと読み出しデータとの否定排他的論理和(exclusive NOR:ENOR)処理により行うことができる。その結果、ステータスレジスタ207の"0"が格納されたレジスタに対応したフラッシュメモリ120のデータ領域で不一致が発生したこと、及び不一致のビット位置情報を得ることが可能である。

その後、フラッシュメモリ120の不一致となったアドレスに対してリトライ処理により再書き込みを行うが、ステータスレジスタ207の内容に基づいて、不一致となったビットに対してだけ書き込みするためのデータを書き込みデータとして書き込み処理を行う。例えば、最初の書き込みデータを書き込み後に読み出した読み出しデータとの比較で不一致があったメモリアドレスに再度書き込みを行う際に、ステータスレジスタ207の内容を元に、既に正常に書き込まれたビットに対しては不要な上書きをせずに、正常に書き込まれなかったビットに対してだけ書き込み処理を行う。フラッシュメモリ120では不要な書き込みをしないことで、正常に書き込まれているメモリセル(メモリビット)に必要以上のストレスをかけずに済む効果がある。この場合、実際に書き込み動作を行う場合のメモリセルには"0"を書くようなメモリ構成の場合には、比較後のステータスレジスタ207の内容をそのまま再書き込みデータとすることが可能となる。ベリファイ処理を行う前にステータスレジスタ207をシーケンサ108からの初期化信号により、全て"1"に初期化しておき、不一致となったビットだけ "0"を格納するようにしておけばよい。また、上記は不一致となったビットに対してだけ書き込みするためのデータを書き込みデータとして書き込み処理を行う例を説明したが、一致したビットも含めて最初の書き込みデータと同一のデータを書き込むようにしてもよい。また、メモリセルへの実際の書き込みデータを"0"とするか"1"とするかは回路設計で適宜成し得ることであり、ステータスレジスタ207へ格納する不一致情報についても"1"とすることもできるし、ベリファイ前に"0"に初期化することも可能である。

以上のように、レジスタR0〜R63は、フラッシュメモリ120の所定のアドレスと対応しており、ベリファイ処理にて一致/不一致となった各々のデータが格納されている。即ち、ステータスレジスタ207は、1つの書き込みデータに対して複数ビットの情報格納領域を有し、その情報格納領域には、書き込みデータの各ビットに対応した比較結果を格納する比較結果格納手段である。

次に、第2の実施形態に係るデータ書き換え処理について説明する。第2の実施形態に係るデータ書き換え処理は、図3に示すフローチャートのS200におけるベリファイ処理の一部と、S400及びS500におけるリトライ処理を除いて第1の実施形態と同じである。以下では、第2の実施形態に特有のベリファイ処理と、リトライ処理についてのみ説明し、その他は第1の実施形態と同様であるため省略する。

第2の実施形態におけるベリファイ処理については、図4に示したフローチャートを用いて説明する。図4に示すS204のベリファイ制御処理では、1書き込み単位毎に比較するだけでなく、1書き込み単位及び1読み出し単位の32ビットデータに対応する各ビット毎に一致するか否かを比較処理する。従って、S206の処理では、ステータスレジスタ207には、1書き込み単位及び1読み出し単位の32ビットデータに対応する各ビット毎に一致するか否かを比較した結果(以下、読み出し結果と称す)が格納されている。その他の処理については、第1の実施形態と同様であるため、説明を省略する。

次に、図8を用いて、第2の実施形態に係るリトライ用書き込み処理について説明する。第2の実施形態に係るリトライ用書き込み処理は、ベリファイ処理でベリファイ不一致となったデータを再度フラッシュメモリ120に書き込む処理である。始めに、シーケンサ208は、ステータスレジスタ207からベリファイ処理にて不一致となったデータのアドレス情報と読み出し結果を読み出す(S421)。また、メモリ制御回路210は、モード制御レジスタ203により、書き込みモードに設定される(S422)。

次に、ステータスレジスタ207から読み出したベリファイ不一致となったビットのアドレス情報を、アドレスポインタ201が取得する(S423)。S424では、取得したアドレスに対応する書き込みデータが、ライトバッファ204に格納される。S424で示される書き込みデータは、CPU130から転送された本来の書き込みデータ(期待値)と、読み出し結果との否定排他的論理和処理を行い、不一致となったビットに対応する書き込みデータのことを示している。そして、ライトバッファ204に格納された比較結果が不一致となっている箇所のみ、書き込み制御処理が行われる(S425)。

S426では、ステータスレジスタ207に格納されている次のベリファイ不一致データのアドレス情報と読み出し結果を読み出す。S427にて、ベリファイ不一致となったデータのアドレス情報の有無を判定し、無い場合は、リトライ用書き込み処理が終了する。S427にて、ベリファイ不一致となったデータのアドレス情報があった場合は、そのアドレスがアドレスポインタ201に取得される(S428)。そして、取得したアドレスに対応する書き込みデータがライトバッファ204に格納され(S429)、S425からの処理を繰り返す。なお、S429で示される書き込みデータについても、S424にて示された書き込みデータと同様である。即ち、CPU130から転送された本来の書き込みデータ(期待値)と、読み出し結果との否定排他的論理和処理を行い、不一致となったビットに対応する書き込みデータのことを示している。

第2の実施形態に係るリトライ用書き込み処理は、シーケンサ208によって制御される。但し、点線にて示すS425以降の処理においては、シーケンサ208に限らず、CPU130によって制御することも可能である。また、シーケンサ208は、CPU130以外の別のCPUを用いて構成されることも可能である。

次に、第2の実施形態に係るリトライ用ベリファイ処理動作を説明する。第2の実施形態に係るリトライ用ベリファイ処理動作は、図6に示したフローチャートと同様である。但し、S507の処理では、ステータスレジスタ207には、1書き込み単位毎に比較した結果だけでなく、読み出し結果も格納されている。

以上のように、ステータスレジスタ207に読み出し結果を格納することにより、ベリファイ不一致となる領域を更に絞りこむことができる。その結果、リトライの必要のない領域において書き込み処理をすることなく、書き込み処理時間を短縮することができる。

また、ベリファイ不一致となった箇所のみを書き込むことにより、メモリセルへの不要な書き込みよるストレスをかける必要がなくなる。

なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。例えば、上述した半導体装置は、フラッシュ内蔵シングルチップマイクロコンピュータであることが望ましいが、それに限定されるものではない。

第1の実施形態に係る半導体装置の構成を示すブロック図である。 第1の実施形態に係るメモリ制御回路の構成を示すブロック図である。 第1の実施形態に係る書き換え処理動作を示すフローチャート図である。 第1の実施形態に係るベリファイ処理動作を示す詳細フローチャート図である。 第1の実施形態に係るリトライ用書き込み処理動作を示す詳細フローチャート図である。 第1の実施形態に係るリトライ用ベリファイ処理動作を示す詳細フローチャート図である。 第2の実施形態に係るメモリ制御回路の構成を示すブロック図である。 第2の実施形態に係るリトライ用書き込み処理動作を示す詳細フローチャート図である。 従来技術に係る書き換え処理動作を示すフローチャート図である。 従来技術に係る書き込み処理動作を示す詳細フローチャート図である。 従来技術に係るベリファイ処理+リトライ処理動作を示す詳細フローチャート図である。

符号の説明

100 半導体装置
101 アドレスポインタ、 102 クロック制御レジスタ、
103 モード制御レジスタ、 104 ライトバッファ、
105 比較回路、 106 リードバッファ、
107 ステータスレジスタ、
108 シーケンサ、 109 書込レジスタ、
110 メモリ制御回路、 120 フラッシュメモリ、
130 CPU、 140 RAM、 150 ファームROM、
160 シリアルマクロ、 170 ライタ、 180 周辺バス、
190 CPU I/F
200 半導体装置、
201 アドレスポインタ、 202 クロック制御レジスタ、
203 モード制御レジスタ、 204 ライトバッファ、
205 比較回路、 206 リードバッファ、
207 ステータスレジスタ、
208 シーケンサ、 209 書込レジスタ、

Claims (12)

  1. データの書き込み及び読み出しが可能なメモリに対する制御回路であって、
    前記メモリに対する書き込みデータと前記書き込みデータを書き込んだメモリアドレスからの読み出しデータとを比較する比較手段と、
    前記比較手段による比較結果を、前記メモリアドレスと対応して格納する比較結果格納手段と、
    前記比較結果に基づいて、不一致と判定された前記メモリアドレスに対して、前記書き込みデータを再度書き込むリトライ処理を制御する制御手段と、を備えたメモリ制御回路。
  2. 前記制御手段は、不一致と判定されたメモリアドレスに対して連続して前記リトライ処理を行うことを特徴とする請求項1に記載のメモリ制御回路。
  3. 更に、前記書き込みデータを格納するデータ記憶手段を有し、
    前記データ記憶手段は、不一致と判定された前記メモリアドレスに対応する書き込みデータを前記制御手段に出力することを特徴とする請求項1又は2に記載のメモリ制御回路。
  4. 前記比較結果格納手段は、1つの書き込みデータに対して1ビットの情報格納領域を有し、前記書き込みデータの比較結果を格納することを特徴とする請求項1に記載のメモリ制御回路。
  5. 前記比較結果格納手段は、1つの書き込みデータに対して複数ビットの情報格納領域を有し、前記複数ビットの情報格納領域には、前記書き込みデータの比較結果と、前記書き込みデータの各ビットに対応した比較結果を格納することを特徴とする請求項1に記載のメモリ制御回路。
  6. 請求項1乃至5のいずれかに記載のメモリ制御回路を備えたマイクロコンピュータ。
  7. 前記メモリは、不揮発性メモリであることを特徴とする請求項1乃至6のいずれかに記載のメモリ制御回路。
  8. データの書き込み及び読み出しが可能なメモリへのデータ書き換え方法であって、
    前記メモリに対する書き込みデータと前記書き込みデータを書き込んだメモリアドレスからの読み出しデータとを比較し、
    比較した結果を、前記メモリアドレスと対応して格納し、
    格納された比較結果に基づいて、不一致と判定された前記メモリアドレスに対して、前記書き込みデータを再度書き込むリトライ処理を制御するデータ書き換え方法。
  9. 不一致と判定されたメモリアドレスに対して連続して前記リトライ処理を行うことを特徴とする請求項8に記載のデータ書き換え方法。
  10. 前記書き込みデータを格納し、
    不一致と判定された前記メモリアドレスに対応する書き込みデータを出力することを特徴とする請求項8又は9に記載のデータ書き換え方法。
  11. 1つの書き込みデータに対して、1ビットの前記比較結果情報を格納することを特徴とする請求項8に記載のデータ書き換え方法。
  12. 1つの書き込みデータに対して、前記書き込みデータの比較結果情報と、前記書き込みデータの各ビットに対応した比較結果情報を格納することを特徴とする請求項8に記載のデータ書き換え方法。
JP2006168941A 2006-06-19 2006-06-19 メモリ制御回路及びデータ書き換え方法 Pending JP2007334813A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006168941A JP2007334813A (ja) 2006-06-19 2006-06-19 メモリ制御回路及びデータ書き換え方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006168941A JP2007334813A (ja) 2006-06-19 2006-06-19 メモリ制御回路及びデータ書き換え方法
US11/808,063 US7596036B2 (en) 2006-06-19 2007-06-06 Memory control circuit, microcomputer, and data rewriting method

Publications (1)

Publication Number Publication Date
JP2007334813A true JP2007334813A (ja) 2007-12-27

Family

ID=38873410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006168941A Pending JP2007334813A (ja) 2006-06-19 2006-06-19 メモリ制御回路及びデータ書き換え方法

Country Status (2)

Country Link
US (1) US7596036B2 (ja)
JP (1) JP2007334813A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464454B1 (ja) * 2008-11-27 2010-05-19 Necエレクトロニクス株式会社 半導体装置及び半導体装置におけるベリファイ方法
KR20120053953A (ko) * 2010-11-18 2012-05-29 그랜디스, 인코포레이티드 메모리 쓰기 에러 정정 회로
JP2013164849A (ja) * 2012-02-11 2013-08-22 Samsung Electronics Co Ltd メモリシステム及びそれの書込み方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958151A (zh) * 2010-08-26 2011-01-26 南京通用电器有限公司 一种电可擦可编程只读存储器的读写方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004022112A (ja) * 2002-06-18 2004-01-22 Toshiba Corp 不揮発性半導体メモリ装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132981A (ja) * 1998-10-26 2000-05-12 Nec Corp 不揮発性半導体記憶装置の書込み装置とその書込み方法
JP3105884B2 (ja) * 1999-03-31 2000-11-06 新潟日本電気株式会社 メモリ性表示装置用表示コントローラ
JP4173297B2 (ja) * 2001-09-13 2008-10-29 株式会社ルネサステクノロジ メモリカード
JP2003256266A (ja) 2002-02-28 2003-09-10 Hitachi Ltd メモリ装置
DE60216268D1 (de) * 2002-08-08 2007-01-04 St Microelectronics Srl Eingebaute Selbsttestschaltung für integrierte Schaltungen
JP3967704B2 (ja) * 2003-09-25 2007-08-29 株式会社東芝 半導体記憶装置とそのテスト方法
JP4153882B2 (ja) * 2004-02-17 2008-09-24 株式会社東芝 半導体集積回路装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004022112A (ja) * 2002-06-18 2004-01-22 Toshiba Corp 不揮発性半導体メモリ装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464454B1 (ja) * 2008-11-27 2010-05-19 Necエレクトロニクス株式会社 半導体装置及び半導体装置におけるベリファイ方法
JP2010129124A (ja) * 2008-11-27 2010-06-10 Renesas Electronics Corp 半導体装置及び半導体装置におけるベリファイ方法
US8042013B2 (en) 2008-11-27 2011-10-18 Renesas Electronics Corporation Semiconductor device and verify method for semiconductor device
KR20120053953A (ko) * 2010-11-18 2012-05-29 그랜디스, 인코포레이티드 메모리 쓰기 에러 정정 회로
JP2012109010A (ja) * 2010-11-18 2012-06-07 Grandis Inc メモリ書込みエラー訂正回路
JP2016186835A (ja) * 2010-11-18 2016-10-27 サムスン セミコンダクター,インコーポレーテッド メモリ書込みエラー訂正回路
KR101863552B1 (ko) * 2010-11-18 2018-06-01 삼성세미콘덕터, 인코포레이티드 메모리 쓰기 에러 정정 회로
JP2013164849A (ja) * 2012-02-11 2013-08-22 Samsung Electronics Co Ltd メモリシステム及びそれの書込み方法
KR102060835B1 (ko) * 2012-02-11 2019-12-30 삼성전자주식회사 메모리 시스템 및 그것의 쓰기 방법

Also Published As

Publication number Publication date
US20070297237A1 (en) 2007-12-27
US7596036B2 (en) 2009-09-29

Similar Documents

Publication Publication Date Title
US9817711B2 (en) Memory controller
US8223563B2 (en) Nonvolatile memory
US6279069B1 (en) Interface for flash EEPROM memory arrays
JP3979486B2 (ja) 不揮発性記憶装置およびデータ格納方法
TWI408597B (zh) 透過嵌入式控制器之快閃儲存器初始化
EP2003569B1 (en) Flash memory controller
US7145801B2 (en) External storage device
KR100543447B1 (ko) 에러정정기능을 가진 플래쉬메모리장치
TWI659422B (zh) 半導體記憶裝置及連續讀出方法
KR940002754B1 (ko) 반도체 집적회로 장치의 제어방법
US8171281B2 (en) Microprocessor boot-up controller connected to a processor and NAND flash memory for controlling the boot-up of a computer device
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
EP0803091B1 (en) Computer system
TWI473117B (zh) 具資料修正功能之快閃記憶體儲存裝置
JP4404625B2 (ja) 情報処理装置および該装置用のromイメージ生成装置
US6154808A (en) Method and apparatus for controlling data erase operations of a non-volatile memory device
JP4840859B2 (ja) 半導体装置、及び起動方法
US7783857B2 (en) Data management apparatus and method, non-volatile memory, storage device having the non-volatile memory and data processing system
US9971647B2 (en) Apparatus and method for programming ECC-enabled NAND flash memory
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
US20030117846A1 (en) Semiconductor memory system with a data copying function and a data copy method for the same
EP1241571A2 (en) Methods and apparatus for upgrading firmware in an embedded system
JP2004258946A (ja) メモリカード
KR20060127093A (ko) 반도체 장치 및 그 기동 처리 방법
JP2008504637A (ja) フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120522