JP2004310220A - Data processor, nonvolatile semiconductor storage device, and image processor - Google Patents
Data processor, nonvolatile semiconductor storage device, and image processor Download PDFInfo
- Publication number
- JP2004310220A JP2004310220A JP2003099634A JP2003099634A JP2004310220A JP 2004310220 A JP2004310220 A JP 2004310220A JP 2003099634 A JP2003099634 A JP 2003099634A JP 2003099634 A JP2003099634 A JP 2003099634A JP 2004310220 A JP2004310220 A JP 2004310220A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- block
- unnecessary
- nonvolatile semiconductor
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、フラッシュメモリなどの不揮発性半導体記憶装置、不揮発性半導体記憶装置を備えたデータ処理装置及び画像処理装置に関する。
【0002】
【従来の技術】
ファクシミリ又はMFPなどの画像処理装置(データ処理装置)に備えるメモリとして、電源を切ってもデータを保持できるフラッシュメモリ(不揮発性半導体記憶装置)がある。フラッシュメモリでは、例えば消去単位領域内の全ビットを“1”にすることで消去を行ない、消去したビットを“1”から“0”に電気的に変えることで書込を行っている(例えば、特許文献1参照)。
【0003】
フラッシュメモリの場合、消去単位領域が例えば64kバイトなど比較的大きいため、一つの消去単位領域(ブロック)に複数のデータを詰合せて記憶することがよく行われている。例えば、一つの消去単位領域を複数のデータ単位領域(クラスタ)に分け、各データ単位領域に夫々データを格納することにより、記憶容量を効率的に使用することが可能になる。
【0004】
【特許文献1】
特開2000−90678号公報
【0005】
【発明が解決しようとする課題】
上述したように、データの消去は消去単位領域ごとに行なうため、消去単位領域に格納されている全データ(全データ単位領域)が不要になるまで、データ消去は実行できない。そのため、消去単位領域内に有効なデータが残っている限りデータ消去は実行できず、他の不要になったデータは記憶されたままになる。
【0006】
また、データ消去に先立って、消去単位領域内の全ビットを“0”にクリア(ゼロクリア)するプレライト処理を行うことにより、消去単位領域を一括消去した際の特性(電位)を揃える場合もある。しかし、この場合も消去単位領域内の全データが消去可能になるまで、プレライト処理は行なえず、不要なデータはフラッシュメモリに残っている。
【0007】
不要になったデータがフラッシュメモリにそのまま残っている場合、フラッシュメモリから前記不要になったデータが不正に読出される可能性があり、セキュリティ面で問題がある。
【0008】
本発明は斯かる事情に鑑みてなされたものであり、不要になったデータのビット列内の未書込ビット部分に書込を行うことにより、データの漏洩を防止してセキュリティを高めることが可能なデータ処理装置及び画像処理装置を提供することを目的とする。
【0009】
また、本発明は、メモリ側で書込対象アドレスの未書込ビット部分に書込を行うことにより、メモリを使用する側の処理負荷を低減させることが可能な不揮発性半導体記憶装置を提供することを他の目的とする。
【0010】
【課題を解決するための手段】
本発明に係るデータ処理装置は、不揮発性半導体記憶装置を備え、該不揮発性半導体記憶装置の記憶領域を複数のブロックに分け、1つのブロックに複数データを書込み、不要になったデータはブロック単位で消去するデータ処理装置において、不要になったデータのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする。
【0011】
本発明に係るデータ処理装置は、不要になったデータをビット反転した反転データを作成する作成手段を備え、前記書込制御手段は、作成手段で作成した反転データを用いて、前記不要になったデータのビット列内の未書込ビット部分に書込を行なうように構成されていることを特徴とする。
【0012】
本発明に係るデータ処理装置は、前記書込制御手段によって未書込ビット部分に書込が行われたデータの識別情報を記憶する記憶部を備えることを特徴とする。
【0013】
本発明に係るデータ処理装置は、ブロック内の全データが不要になった場合に、前記ブロックのデータを消去するように構成されていることを特徴とする。
【0014】
本発明に係る不揮発性半導体記憶装置は、書込指示、書込先アドレス及び書込データを受付手段で受付け、該受付手段が受付た書込データを前記受付手段が受付た書込先アドレスに書込む不揮発性半導体記憶装置において、前記受付手段は、未書込ビット部分への書込指示及び書込対象アドレスを受付るように構成されており、受付手段が未書込ビット部分への書込指示を受付けた場合、受付手段が受付た書込対象アドレスに書込まれているデータのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする。
【0015】
本発明に係る画像処理装置は、処理対象の画像データを記憶する不揮発性半導体記憶装置を備え、該不揮発性半導体記憶装置の記憶領域を複数のブロックに分け、1つのブロックに複数画像データを書込み、不要になった画像データはブロック単位で消去する画像処理装置において、不要になった画像データのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする。
【0016】
本発明においては、不要になったデータのビット列内の未書込ビット部分に、書込制御手段で書込を行なう。例えば、不要になったデータをビット反転した反転データを作成手段で作成し、作成手段が作成した反転データを用いて、書込制御手段により、前記不要になったデータのビット列内の未書込ビット部分に書込を行なう。例えば、消去状態が“1”の場合は、“1”から“0”に書込を行う。不要なデータのビット列内の未書込ビット部分に書込みを行うことにより、前記不要なデータは元のデータとは異なるデータとなる。また、不要なデータのビット列の全ビットを書込状態にすることにより、データがクリア(ゼロクリア)された状態になる。フラッシュメモリにおいては、“1”から“0”の書込のみを行い、“0”から“1”の書込は実行されない(ブロック単位でまとめて“1”に消去する)ため、データが不要になったクラスタに、前記データをビット反転したデータを書込むことにより、前記クラスタをゼロクリアすることが可能である。不要になったデータに書込みを行ってデータ内容を変更又はゼロクリアすることにより、データのセキュリティが高まる。また、ビット反転したデータを用いて未書込ビット部分の書込を行うため、“0”に“0”を書込んでフラッシュメモリを破壊することを防止できる。
【0017】
本発明においては、書込制御手段が未書込ビット部分に書込を行ったデータの例えばアドレスなどの識別情報を記憶部に記憶する。未書込ビット部分に書込が行なわれたデータの識別情報が記憶部に記憶されているため、不要になった各データに対する未書込ビット部分の書込の完了/未完了を容易に把握することが可能になる。そのため、未書込ビット部分の書込処理を、他の処理と独立実行したり、他の処理の合間に実行することが容易になる。
【0018】
本発明においては、ブロック単位のデータ消去は、ブロック内の全データが不要になった場合に行なう。例えば不揮発性半導体記憶装置の記憶領域が複数のブロックに分けられ、さらにブロックが複数のクラスタに分けられている場合、ブロック内の全クラスタのデータが不要になった場合に、前記ブロックのデータ消去を行う。フラッシュメモリの寿命は消去回数に依存しており、全クラスタのデータが不要になった場合にデータ消去を行うことにより、消去回数は最低限に抑えられ、フラッシュメモリの寿命を延ばすことが可能である。
【0019】
本発明においては、未書込ビット部分への書込指示及び書込対象アドレスを不揮発性半導体記憶装置の受付手段で受付け、受付手段が受付た書込対象アドレスのビット列内の未書込ビット部分に、書込制御手段で書込を行なう。例えば“1”が消去状態である場合、書込対象アドレス内のビット列内に存在する“1”部分(未書込ビット部分)に書込を行って“0”(書込状態)にする。このような不揮発性半導体記憶装置を備えたデータ処理装置は、不要になったデータのアドレス(書込対象アドレス)及び未書込ビット部分への書込指示を与えることにより、不揮発性半導体記憶装置側で自動的に、前記指定したアドレス内の未書込ビット部分への書込を実行させることが可能になる。データ処理装置側は、未書込ビット部分への書込指示及び書込対象アドレスを与えるだけでよく、メモリ管理の負荷を低減させることが可能である。
【0020】
【発明の実施の形態】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(第1の実施の形態)
図1は、本発明に係るデータ処理装置の例を示すブロック図である。データ処理装置は、CPU(Central Processing Unit)12と、DRAM(Dynamic Random Access Memory)などのメインメモリ14と、PROM(Programmable Read Only Memory)16と、フラッシュメモリ(不揮発性半導体記憶装置)20とを備え、夫々は共通のバスに接続されている。
【0021】
フラッシュメモリ20は、メモリアレイなどのメモリ本体24と、アドレスデコーダ及び電圧制御回路などを含むメモリ制御部22とを備える。フラッシュメモリ20(メモリ本体24)の記憶領域は、消去単位である複数のブロックに分けられている。図1の例では、n個(nは3以上の整数)のブロック(ブロック1,ブロック2,・・・,ブロックn)に分けられている。また、各ブロックは複数のクラスタに分けられており、各クラスタには、例えば8ビット単位のデータが記憶される。
【0022】
本説明においては、フラッシュメモリ20は“1”が消去状態で、“1”から“0”に書込を行うものとする。また、“0”から“1”への消去処理はブロック単位で行い、データ単位(クラスタ単位)での“0”から“1”への書換(消去)については、フラッシュメモリ20(メモリ制御部22)は受付ず、実行されないものとする。
【0023】
CPU12は、不要になったデータのビット列内の未書込ビット部分に書込を行なう手段(書込制御手段)として動作する。また、CPU12は、不要になったデータをビット反転した反転データを作成する手段(作成手段)として動作し、作成した反転データを用いて、前記不要になったデータのビット列内の未書込ビット部分に書込を行なう。
【0024】
本説明では、CPU12は、不要になったデータが記憶されているクラスタに、前記不要になったデータの反転データを書込む。上述したように、フラッシュメモリ20(メモリ制御部22)は“0”から“1”への書換(消去)は受付ないため、不要になったデータの反転データを、前記不要になったデータが記憶されているクラスタに書込むことにより“1”部分のみが“0”になり、前記クラスタのデータはゼロクリア(全ビット=“0”)の状態になる。
【0025】
CPU12は、例えばPROM16に記憶されているゼロクリア制御プログラムを読出して実行することにより、上述した各手段として動作する。
【0026】
メインメモリ(記憶部)14には、CPU12によって未書込ビット部分に書込が行なわれたデータの識別情報として機能するステータス情報が記憶されている。本説明では、ステータス情報は、CPU12によって反転データが書込まれた(ゼロクリアされた)クラスタを識別するための情報として機能する。
【0027】
ステータス情報には、各クラスタの状態が記憶されている。例えば、CPU12がフラッシュメモリ20の所定クラスタにデータを書込んだ場合、CPU12は、ステータス情報内の前記所定クラスタの状態を“有効データ”に更新する。同様に、CPU12は、データが不要になった場合はクラスタの状態を“無効データ”に更新し、ゼロクリアを行った場合は“ゼロクリア済み”に更新し、消去を行った場合は“消去済み”に更新する。
【0028】
CPU12は、前記ステータス情報を参照して、ブロック内の全データ(全クラスタ)が不要又はゼロクリアになった場合に、ブロック単位のデータ消去を行なう。本説明では、プレライト処理を行うため、CPU12は、不要データをゼロクリアし、ブロック内の全データがゼロクリアされた場合に消去を行うものとする。
【0029】
CPU12は、例えばPROM16に記憶されているデータ管理プログラムを読出して実行することにより、上述したデータの消去、書込、ゼロクリア、及びステータス情報の更新などのフラッシュメモリ20のデータ記憶に関する各種処理を実行する。
【0030】
次に、本発明に係るデータ処理装置を用いたデータ消去について説明する。図2は、ブロック消去の実行手順の例を示すフローチャートである。CPU12は、フラッシュメモリ20に対する消去,データ書込,ゼロクリアなどの処理を行い、行った処理による各クラスタの状態(消去済み、有効データ、無効データ、ゼロクリア済み)の変化に応じて、ステータス情報を更新する。
【0031】
CPU12は、ステータス情報を参照し、データが無効になったクラスタがある場合(S10:YES)、データが無効になったクラスタのゼロクリアを実行する(S12)。例えば、ステータス情報の状態が“無効データ”のクラスタを、ゼロクリア対象クラスタにする。
【0032】
図3は、ゼロクリアの実行手順の例を示すフローチャートである。CPU12は、ゼロクリア対象クラスタの無効データをフラッシュメモリ20から読出して、メインメモリ14に退避(記憶)する(S30)。CPU12は、メインメモリ14に記憶される変数rAddrに、前記メインメモリ14に退避した無効データの先頭アドレスを設定(セット)する(S32)。また、CPU12は、メインメモリ14に記憶される変数wAddrに、前記フラッシュメモリ20のゼロクリア対象クラスタの先頭アドレスを設定(セット)する(S34)。
【0033】
CPU12は、メインメモリ14に記憶される変数SDに、rAddrが示すメインメモリ14のアドレスに格納された単位データを読出して格納する(S36)。また、CPU12は、SDに格納されたデータを読出してビット反転し、メインメモリ14に記憶される変数WDに、前記SDをビット反転したデータを格納する(S38)。
【0034】
CPU12は、wAddrが示すフラッシュメモリ20のアドレスに対するWD(WDに格納されたデータ)の書込コマンドを実行する(S40)。前記書込コマンド及びWDをCPU12から受取ったフラッシュメモリ20(メモリ制御部22)は、wAddrが示すアドレスにWDを書込む。WDは、フラッシュメモリ20の書込先に書込まれているデータ(SDと同じデータ)を反転したデータであるため、“1”部分に“0”を書込み、“0”部分に“1”を書込むことになるが、“0”部分への“1”の書込はフラッシュメモリ20(メモリ制御部22)が受付ず、“0”部分は“0”のままである。よって、“1”部分のみに“0”が書込まれ、書込先のデータの全ビットは“0”にクリア(ゼロクリア)される。
【0035】
CPU12は、rAddr及びwAddrに夫々1を加算するなどして(S42)、rAddr及びwAddrに次のアドレスをセットする。wAddrが、ゼロクリア対象クラスタの最終アドレスを超えている場合(S44:YES)は、ゼロクリア対象クラスタのゼロクリアが完了しているので処理を終了し、超えていない場合(S44:NO)は同様の処理(S36、S38、S40、S42)を行う。
【0036】
CPU12は、ゼロクリアの完了を確認した場合(図2のS14:YES)、ステータス情報を更新する(S16)。例えばCPU12は、メインメモリ14に記憶されているステータス情報内の前記ゼロクリアが完了したクラスタの状態を“ゼロクリア済み”に更新する。
【0037】
また、CPU12は、ステータス情報を参照し、全クラスタが“ゼロクリア済み”になったブロックがある場合(S18:YES)、前記ブロック内の全データの消去(以下、ブロック消去)を実行する(S20)。ブロック消去は従来と同様の方法で行うことが可能である。また、全クラスタが“ゼロクリア済み”になったブロックが無い場合(S18:NO)、上述したゼロクリア処理を行う(S10〜S16)。
【0038】
CPU12は、ブロック消去の完了を確認した場合(S22:YES)、ステータス情報を更新する(S24)。例えばCPU12は、メインメモリ14に記憶されているステータス情報内の前記ブロック消去が実行された各クラスタの状態を“消去済み”に更新する。以後、図2及び図3に示す処理を繰返す。
【0039】
図4及び図5は、ブロック内の各クラスタの状態(消去済み、有効データ、無効データ、ゼロクリア済み)の変化の例を示す図である。図4及び図5では、4つのクラスタ(クラスタA1,A2,A3,A4)を有するブロックAを例にしている。図4(a)ではブロックAの全クラスタは消去済み(全ビット=“1”)である。クラスタA1及びA2にCPU12がデータを書込んだ場合は、図4(b)に示すように、クラスタA1及びA2は有効データとなり、CPU12はステータス情報内のクラスタA1及びA2の状態を“有効データ”に更新する。
【0040】
その後、クラスタA1のデータを使用したCPU12の処理が終了するなどして、クラスタA1のデータが不要になった場合、図4(c)に示すように、クラスタA1は無効データとなり、CPU12はステータス情報内のクラスタA1の状態を“無効データ”に更新する。データが無効になったクラスタが存在する場合、上述(図2及び図3)したようにゼロクリア処理(及びステータス情報の更新)が行われ、図4(d)に示すように、クラスタA1はゼロクリア済み(全ビット=“0”)になる。
【0041】
その後、図5(a)に示すように、CPU12は、クラスタA3及びA4にデータを書込んで、クラスタA2をゼロクリアしたものとする。図5(a)の状態で、クラスタA3及びA4のデータを使用したCPU12の処理が終了するなどして、クラスタA3及びA4のデータが不要になった場合、図5(b)に示すように、クラスタA3及びA4は無効データとなり、CPU12はステータス情報内のクラスタA3及びA4の状態を“無効データ”に更新する。
【0042】
データが無効になったクラスタが存在する場合、上述(図2及び図3)したようにゼロクリア処理(及びステータス情報の更新)が行われ、図5(c)に示すように、クラスタA3及びA4はゼロクリア済み(全ビット=“0”)になる。これにより、ブロックAの全クラスタがゼロクリアされたことになる。全クラスタがゼロクリア済みになったブロックが存在する場合、上述(図2及び図3)したようにブロック消去(及びステータス情報の更新)が行われ、図5(d)に示すように、ブロックAの全データは消去され、全クラスタは消去済み(全ビット=“1”)になる。なお、図5(d)は図4(a)と同様の状態である。
【0043】
(第2の実施の形態)
図6は、本発明に係る不揮発性半導体記憶装置を備えたデータ処理装置の例を示すブロック図である。データ処理装置は、第1の実施の形態(図1)と同様に、CPU12と、メインメモリ14と、PROM16と、フラッシュメモリ(不揮発性半導体記憶装置)20とを備え、夫々は共通のバスに接続されている。また、フラッシュメモリ20は、メモリアレイなどのメモリ本体24と、アドレスデコーダ及び電圧制御回路などを含むメモリ制御部22とを備える。
【0044】
本説明においては、フラッシュメモリ20のメモリ制御部22は、CPU12から未書込ビット部分への書込指示及び書込対象アドレスを受付た場合、受付た書込対象アドレスのビット列内の未書込ビット部分に書込を行なう手段(書込制御手段(ゼロクリア制御部))として動作する。例えば、CPU12が、フラッシュメモリ20のゼロクリア対象クラスタの先頭アドレスに、ゼロクリアするサイズ指定を含むコマンドを書込んだ場合、メモリ制御部22は、前記コマンドが書込まれたクラスタを基準アドレスにした指定サイズ(ゼロクリアサイズ)内のビット列の未書込ビット部分に書込を行なう。本説明では、メモリ制御部22は、前記コマンドで指定されたサイズ内(アドレス範囲内)の各クラスタを“0”にクリア(ゼロクリア)する。指定されたサイズ内の各クラスタのゼロクリアは、メモリ制御部22により、第1の実施の形態と同様の方法で実行することが可能である。処理の実行に必要な変数などは、メモリ制御部22内のメモリ(図示せず)に記憶される。
【0045】
PROM16には、第1の実施の形態と同様に、データ管理プログラムが記憶されている。ブロックの消去手順は第1の実施の形態(図2)と同様である。
【0046】
図7は、ゼロクリアの実行手順の例を示すフローチャートである。CPU12は、フラッシュメモリ20のゼロクリア対象クラスタの先頭アドレスに、ゼロクリアするサイズ指定を含むコマンドを書込む(S50)。フラッシュメモリ20のメモリ制御部22は、前記コマンドが書込まれたアドレスから指定サイズ範囲内の各ビット列のビット“1”をビット“0”に変換する(S52)。
【0047】
CPU12は、フラッシュメモリ20のゼロクリア状態を確認し(S54)、ゼロクリアが完了した場合(S56:YES)、ステータス情報を更新する。CPU12は、フラッシュメモリ20に、ゼロクリアするアドレス範囲を含むコマンドを与えるだけでよく、CPU12の処理負荷は低減される。
【0048】
上述した各実施の形態においては、不要になったデータをゼロクリア(全ビット=“0”)したが、不要になったデータのビット列の任意の“1”部分に“0”を書込むことが可能である。例えば、不要になったデータのビット列の“1”部分の何れか1つ又はランダム部分に“0”を書込むことが可能である。
【0049】
本発明は、不揮発性半導体記憶装置を備えた任意のデータ処理装置に適用することが可能である。例えばMFP(Multi Function Peripheral)などの画像処理装置に適用することが可能である。図8は不揮発性半導体記憶装置(フラッシュメモリ)20を備えた画像処理装置の例を示すブロック図である。MFP(画像処理装置)10は、原稿の画像データを読取るスキャナ部60と、画像データを印刷するプリンタ部50と、スキャナ部60及びプリンタ部50の制御を含む画像処理制御を行うコントロール部30とを備える。
【0050】
スキャナ部60は、CCD(Charge Coupled Device)などを有する画像読取部64、及び、原稿の走査などを含んだ読取制御を行うスキャナ制御部62などを備える。プリンタ部は、LSU(Laser Scanning Unit)54、及び、記録紙の給紙などを含んだ印刷制御を行うプリンタ制御部52などを備える。
【0051】
コントロール部30は、LSU54を制御するレーザ制御IC36、画像読取部64から受取った画像データを記憶する画像メモリ(フラッシュメモリ:不揮発性半導体記憶装置)20、画像データを処理する画像処理IC32、NIC(Network Interface Card)38、ハードディスクコントローラ40、及び、CPU12を備え、夫々は共通のバスに接続されている。また、ハードディスクコントローラ40にはハードディスク42が接続され、CPU12にはメインメモリ14、PROM16、画像メモリ20、各種設定が記憶される不揮発性メモリ34、操作部44、LCD(Liquid Crystal Display)46、スキャナ制御部62及びプリンタ制御部52が接続され、NIC38にはコンピュータ70などの外部装置が接続されている。
【0052】
MFP10は、CPU12の制御により、画像読取部64で読取った画像データを画像メモリ20に記憶してプリンタ部50から出力したり、コンピュータ70又は外部のファクシミリ装置から受付けた画像データを画像メモリ20に記憶してプリンタ部50から出力したり、画像読取部64で読取った画像データを画像メモリ20に記憶してNIC38からコンピュータ70又は外部のファクシミリ装置に送信することなどが可能である。
【0053】
画像メモリ(フラッシュメモリ)20に対する画像データの書込、ゼロクリア及び消去は、上述した各実施の形態と同様にして、CPU12で制御することが可能である。また、各種設定が記憶される不揮発性メモリ34に対するデータ書込、ゼロクリア及び消去も、上述した各実施の形態と同様にして、CPU12で行うことが可能である。
【0054】
【発明の効果】
本発明によれば、不要になったデータのビット列内の未書込ビット部分に書込を行うことにより、前記不要になったデータは元のデータとは異なるデータとなる。また、不要になったデータのビット列の全ビットを書込状態にすることにより、前記不要になったデータはクリア(ゼロクリア)された状態になる。不要になったデータの未書込ビット部分に書込みを行うことにより、未消去データの漏洩を防止してセキュリティを高めることが可能である。
【0055】
本発明によれば、不要になったデータをビット反転したデータを用いて、前記不要になったデータのビット列内の未書込ビット部分に書込を行うため、“0”に“0”を書込んで不揮発性半導体記憶装置を破壊することを防止できる。また、ブロック内の全データが不要になった場合にデータ消去を行うことにより、消去回数は最低限に抑えられ、不揮発性半導体記憶装置の寿命を延ばすことが可能である。
【0056】
本発明によれば、不揮発性半導体記憶装置側で、未書込ビット部分への書込指示及び書込対象アドレスを受付け、受付た書込対象アドレスのビット列内の未書込ビット部分に書込を行なうことにより、不揮発性半導体記憶装置を使用する側は、書込指示及び書込対象アドレスを与えるだけでよく、メモリ管理の負荷を低減させることが可能である。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置の例を示すブロック図である。
【図2】ブロック消去の実行手順の例を示すフローチャートである。
【図3】ゼロクリアの実行手順の例を示すフローチャートである。
【図4】ブロック内の各クラスタの状態の変化の例を示す図である。
【図5】ブロック内の各クラスタの状態の変化の例を示す図である。
【図6】本発明に係る不揮発性半導体記憶装置を備えたデータ処理装置の例を示すブロック図である。
【図7】ゼロクリアの実行手順の例を示すフローチャートである。
【図8】本発明に係る画像処理装置の例を示すブロック図である。
【符号の説明】
10 MFP(画像処理装置)
12 CPU
14 メインメモリ
16 PROM
20 フラッシュメモリ(不揮発性半導体記憶装置)
22 メモリ制御部
24 メモリ本体
30 コントロール部
50 プリンタ部
60 スキャナ部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a nonvolatile semiconductor storage device such as a flash memory, a data processing device including the nonvolatile semiconductor storage device, and an image processing device.
[0002]
[Prior art]
As a memory provided in an image processing device (data processing device) such as a facsimile or an MFP, there is a flash memory (non-volatile semiconductor storage device) that can hold data even when the power is turned off. In a flash memory, for example, erasing is performed by setting all bits in an erasing unit area to “1”, and writing is performed by electrically changing the erased bits from “1” to “0” (for example, And Patent Document 1).
[0003]
In the case of a flash memory, since an erasing unit area is relatively large, for example, 64 kbytes, a plurality of data are often stored together in one erasing unit area (block). For example, by dividing one erasing unit area into a plurality of data unit areas (clusters) and storing data in each data unit area, the storage capacity can be used efficiently.
[0004]
[Patent Document 1]
JP-A-2000-90678
[0005]
[Problems to be solved by the invention]
As described above, since data is erased for each erasing unit area, data erasing cannot be performed until all data (all data unit areas) stored in the erasing unit area becomes unnecessary. Therefore, data erasure cannot be performed as long as valid data remains in the erasure unit area, and other unnecessary data remains stored.
[0006]
Also, prior to data erasure, by performing pre-write processing of clearing (clearing all bits) in the erasure unit area to “0” (zero clear), the characteristics (potentials) when the erasure unit area is erased collectively may be uniformed. is there. However, also in this case, the prewrite process cannot be performed until all data in the erasing unit area can be erased, and unnecessary data remains in the flash memory.
[0007]
If the unnecessary data remains in the flash memory, the unnecessary data may be illegally read from the flash memory, which poses a problem in security.
[0008]
The present invention has been made in view of such circumstances, and it is possible to prevent data leakage and enhance security by writing to an unwritten bit portion in a bit string of unnecessary data. It is an object to provide a simple data processing device and an image processing device.
[0009]
Further, the present invention provides a non-volatile semiconductor memory device capable of reducing the processing load on the side using the memory by writing the unwritten bit portion of the write target address on the memory side. That is another purpose.
[0010]
[Means for Solving the Problems]
A data processing device according to the present invention includes a nonvolatile semiconductor storage device, divides a storage area of the nonvolatile semiconductor storage device into a plurality of blocks, writes a plurality of data in one block, and stores unnecessary data in block units. The data processing device for erasing data in (1) is characterized by comprising write control means for writing data to an unwritten bit portion in a bit string of unnecessary data.
[0011]
The data processing device according to the present invention includes a creating unit that creates inverted data obtained by bit-inverting unnecessary data, and the writing control unit uses the inverted data created by the creating unit to generate the inverted data. Characterized in that it is configured to write to an unwritten bit portion in a bit string of the data.
[0012]
The data processing device according to the present invention is characterized by including a storage unit that stores identification information of data written in an unwritten bit portion by the write control unit.
[0013]
The data processing device according to the present invention is characterized in that, when all data in a block becomes unnecessary, the data of the block is erased.
[0014]
A non-volatile semiconductor storage device according to the present invention receives a write instruction, a write destination address, and write data by a receiving unit, and transfers the write data received by the receiving unit to the write destination address received by the receiving unit. In the nonvolatile semiconductor memory device for writing, the receiving means is configured to receive a write instruction to a non-written bit part and a write target address, and the receiving means writes the data to the unwritten bit part. A write control unit for writing an unwritten bit portion in a bit string of data written to the write target address received by the receiving unit when the write instruction is received.
[0015]
An image processing apparatus according to the present invention includes a nonvolatile semiconductor storage device that stores image data to be processed, divides a storage area of the nonvolatile semiconductor storage device into a plurality of blocks, and writes a plurality of image data in one block. An image processing apparatus for erasing unnecessary image data in block units is characterized in that the image processing apparatus further comprises a write control means for writing an unwritten bit portion in a bit string of the unnecessary image data.
[0016]
In the present invention, writing is performed by the write control means on the unwritten bit portion in the bit string of the data that is no longer needed. For example, inverted data obtained by bit-inverting unnecessary data is created by creating means, and the inverted data created by the creating means is used by the writing control means to write unwritten data in the bit string of the unnecessary data. Write to the bit portion. For example, when the erase state is “1”, writing is performed from “1” to “0”. By writing to the unwritten bit portion in the bit string of the unnecessary data, the unnecessary data becomes different from the original data. In addition, by setting all the bits of the bit string of the unnecessary data to the writing state, the data is cleared (cleared to zero). In the flash memory, only writing from "1" to "0" is performed, and writing from "0" to "1" is not executed (erased to "1" collectively in block units), so data is unnecessary. By writing data obtained by bit-inverting the data into the cluster that has become, the cluster can be cleared to zero. By writing to unnecessary data and changing or zero-clearing the data content, data security is enhanced. Further, since the unwritten bit portion is written using the bit-inverted data, it is possible to prevent the flash memory from being destroyed by writing "0" to "0".
[0017]
In the present invention, the write control means stores the identification information such as the address of the data written in the unwritten bit portion in the storage unit. Since the identification information of the data written to the unwritten bit portion is stored in the storage unit, it is easy to grasp the completion / incomplete of the writing of the unwritten bit portion for each unnecessary data. It becomes possible to do. Therefore, it becomes easy to execute the writing process of the unwritten bit portion independently of other processes, or to execute it between other processes.
[0018]
In the present invention, data erasure in block units is performed when all data in a block becomes unnecessary. For example, when the storage area of the nonvolatile semiconductor memory device is divided into a plurality of blocks and the blocks are further divided into a plurality of clusters, when data of all clusters in the block becomes unnecessary, the data in the block is erased. I do. The life of the flash memory depends on the number of erases, and when the data in all clusters is no longer needed, the data is erased, minimizing the number of erases and extending the life of the flash memory. is there.
[0019]
In the present invention, an instruction to write to an unwritten bit portion and a write target address are received by the receiving means of the nonvolatile semiconductor memory device, and the unwritten bit portion in the bit string of the write target address received by the receiving means is received. Then, writing is performed by the writing control means. For example, when “1” is in the erased state, the “1” portion (unwritten bit portion) existing in the bit string in the write target address is written to “0” (written state). A data processing device including such a nonvolatile semiconductor memory device provides a nonvolatile semiconductor memory device by giving an address of unnecessary data (address to be written) and a write instruction to an unwritten bit portion. The side can automatically execute writing to the unwritten bit portion in the specified address. The data processor only needs to give a write instruction to the unwritten bit portion and a write target address, and it is possible to reduce the load of memory management.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be specifically described with reference to the drawings showing the embodiments.
(First Embodiment)
FIG. 1 is a block diagram showing an example of a data processing device according to the present invention. The data processing device includes a CPU (Central Processing Unit) 12, a
[0021]
The
[0022]
In this description, it is assumed that “1” is erased from the
[0023]
The
[0024]
In this description, the
[0025]
The
[0026]
The main memory (storage unit) 14 stores status information that functions as identification information of data written in the unwritten bit portion by the
[0027]
The status information stores the status of each cluster. For example, when the
[0028]
The
[0029]
The
[0030]
Next, data erasing using the data processing device according to the present invention will be described. FIG. 2 is a flowchart illustrating an example of the execution procedure of block erasure. The
[0031]
The
[0032]
FIG. 3 is a flowchart illustrating an example of the execution procedure of the zero clear. The
[0033]
The
[0034]
The
[0035]
The
[0036]
When confirming completion of the zero clear (S14 in FIG. 2: YES), the
[0037]
In addition, referring to the status information, if there is a block in which all the clusters are “zero cleared” (S18: YES), the
[0038]
When confirming the completion of the block erasure (S22: YES), the
[0039]
FIGS. 4 and 5 are diagrams showing examples of changes in the state (erased, valid data, invalid data, and zero-cleared) of each cluster in the block. 4 and 5, a block A having four clusters (clusters A1, A2, A3, and A4) is taken as an example. In FIG. 4A, all clusters in block A have been erased (all bits = "1"). When the
[0040]
Thereafter, when the processing of the
[0041]
Thereafter, as shown in FIG. 5A, the
[0042]
When there is a cluster in which data has become invalid, zero clear processing (and updating of status information) is performed as described above (FIGS. 2 and 3), and clusters A3 and A4 as shown in FIG. Is cleared to zero (all bits = "0"). This means that all clusters in the block A have been cleared to zero. If there is a block in which all clusters have been cleared to zero, block erasure (and updating of status information) is performed as described above (FIGS. 2 and 3), and as shown in FIG. Are erased, and all clusters are erased (all bits = "1"). FIG. 5D shows the same state as FIG. 4A.
[0043]
(Second embodiment)
FIG. 6 is a block diagram showing an example of a data processing device provided with the nonvolatile semiconductor memory device according to the present invention. The data processing device includes a
[0044]
In the present description, when the
[0045]
A data management program is stored in the
[0046]
FIG. 7 is a flowchart illustrating an example of the execution procedure of the zero clear. The
[0047]
The
[0048]
In each of the above-described embodiments, unnecessary data is cleared to zero (all bits = “0”). However, “0” may be written in an arbitrary “1” portion of a bit string of unnecessary data. It is possible. For example, it is possible to write "0" in any one of the "1" portions or the random portion of the bit string of unnecessary data.
[0049]
The present invention can be applied to any data processing device including a nonvolatile semiconductor memory device. For example, the present invention can be applied to an image processing apparatus such as an MFP (Multi Function Peripheral). FIG. 8 is a block diagram illustrating an example of an image processing apparatus including a nonvolatile semiconductor storage device (flash memory) 20. An MFP (image processing apparatus) 10 includes a
[0050]
The
[0051]
The
[0052]
The
[0053]
Writing, clearing, and erasing of image data in the image memory (flash memory) 20 can be controlled by the
[0054]
【The invention's effect】
According to the present invention, by writing to the unwritten bit portion in the bit string of the unnecessary data, the unnecessary data becomes different from the original data. Further, by setting all the bits of the bit string of the unnecessary data to the write state, the unnecessary data is cleared (zero-cleared). By writing to the unwritten bit portion of the unnecessary data, it is possible to prevent the leakage of the unerased data and enhance the security.
[0055]
According to the present invention, "0" is set to "0" in order to write the unwritten bit portion in the bit string of the unnecessary data by using the data obtained by bit-inverting the unnecessary data. It is possible to prevent the nonvolatile semiconductor memory device from being destroyed by writing. In addition, by erasing data when all data in the block becomes unnecessary, the number of erasures can be minimized and the life of the nonvolatile semiconductor memory device can be extended.
[0056]
According to the present invention, the non-volatile semiconductor memory device receives a write instruction for a non-written bit portion and a write target address, and writes the non-written bit portion in the bit string of the received write target address. Is performed, the side using the nonvolatile semiconductor memory device only needs to give a write instruction and a write target address, and it is possible to reduce the load of memory management.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a data processing device according to the present invention.
FIG. 2 is a flowchart illustrating an example of an execution procedure of block erasure;
FIG. 3 is a flowchart illustrating an example of an execution procedure of zero clear.
FIG. 4 is a diagram illustrating an example of a change in the state of each cluster in a block.
FIG. 5 is a diagram illustrating an example of a change in the state of each cluster in a block.
FIG. 6 is a block diagram illustrating an example of a data processing device including a nonvolatile semiconductor memory device according to the present invention.
FIG. 7 is a flowchart illustrating an example of an execution procedure of zero clear.
FIG. 8 is a block diagram illustrating an example of an image processing apparatus according to the present invention.
[Explanation of symbols]
10 MFP (image processing device)
12 CPU
14 Main memory
16 PROM
20 Flash memory (non-volatile semiconductor storage device)
22 Memory control unit
24 Memory body
30 Control section
50 Printer section
60 Scanner unit
Claims (6)
不要になったデータのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とするデータ処理装置。In a data processing device comprising a nonvolatile semiconductor memory device, dividing a storage area of the nonvolatile semiconductor memory device into a plurality of blocks, writing a plurality of data in one block, and erasing unnecessary data in block units,
A data processing apparatus, comprising: a write control unit that writes data to an unwritten bit portion in a bit string of unnecessary data.
前記書込制御手段は、作成手段で作成した反転データを用いて、前記不要になったデータのビット列内の未書込ビット部分に書込を行なうように構成されていることを特徴とする請求項1記載のデータ処理装置。Providing a means for creating inverted data obtained by bit-inverting unnecessary data,
The writing control means is configured to write the unwritten bit portion in the bit string of the unnecessary data using the inverted data created by the creating means. Item 2. The data processing device according to Item 1.
前記受付手段は、未書込ビット部分への書込指示及び書込対象アドレスを受付るように構成されており、
受付手段が未書込ビット部分への書込指示を受付けた場合、受付手段が受付た書込対象アドレスに書込まれているデータのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする不揮発性半導体記憶装置。In a nonvolatile semiconductor memory device, a write instruction, a write destination address, and write data are received by a receiving unit, and the write data received by the receiving unit is written into a write destination address received by the receiving unit.
The receiving means is configured to receive a write instruction to a non-written bit portion and a write target address,
When the receiving unit receives an instruction to write to the unwritten bit portion, writing is performed to write to the unwritten bit portion in the bit string of the data written at the write target address received by the receiving unit. A nonvolatile semiconductor memory device comprising a control unit.
不要になった画像データのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする画像処理装置。A nonvolatile semiconductor storage device for storing image data to be processed; a storage area of the nonvolatile semiconductor storage device is divided into a plurality of blocks; a plurality of image data are written in one block; In an image processing device that erases in units,
An image processing apparatus comprising: a writing control unit that writes data to an unwritten bit portion in a bit string of unnecessary image data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003099634A JP2004310220A (en) | 2003-04-02 | 2003-04-02 | Data processor, nonvolatile semiconductor storage device, and image processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003099634A JP2004310220A (en) | 2003-04-02 | 2003-04-02 | Data processor, nonvolatile semiconductor storage device, and image processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004310220A true JP2004310220A (en) | 2004-11-04 |
Family
ID=33464023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003099634A Pending JP2004310220A (en) | 2003-04-02 | 2003-04-02 | Data processor, nonvolatile semiconductor storage device, and image processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004310220A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010108436A (en) * | 2008-10-31 | 2010-05-13 | Hochiki Corp | Controller with flash memory, and method of writing data to flash memory |
JP2013033559A (en) * | 2012-11-22 | 2013-02-14 | Fujitsu Ltd | Non-volatile memory driver |
US9244824B2 (en) | 2012-07-05 | 2016-01-26 | Samsung Electronics Co., Ltd. | Memory sub-system and computing system including the same |
-
2003
- 2003-04-02 JP JP2003099634A patent/JP2004310220A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010108436A (en) * | 2008-10-31 | 2010-05-13 | Hochiki Corp | Controller with flash memory, and method of writing data to flash memory |
US9244824B2 (en) | 2012-07-05 | 2016-01-26 | Samsung Electronics Co., Ltd. | Memory sub-system and computing system including the same |
JP2013033559A (en) * | 2012-11-22 | 2013-02-14 | Fujitsu Ltd | Non-volatile memory driver |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4713867B2 (en) | Memory controller, memory device, and memory controller control method | |
KR100874998B1 (en) | Data writing method of semiconductor integrated circuit device | |
JP3898305B2 (en) | Semiconductor storage device, control device and control method for semiconductor storage device | |
JP5574858B2 (en) | Information processing apparatus, control method for information processing apparatus, and program | |
US20130138871A1 (en) | Flash Memory Device and Data Access Method for Same | |
JP5979512B2 (en) | Image forming apparatus and flash memory control method | |
WO2007000862A1 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
JPWO2002054247A1 (en) | Data recording device and data writing method for flash memory | |
JP2006092019A (en) | Controller, memory card and its control method | |
TW200820259A (en) | Hybrid flash memory device and method for assigning reserved blocks thereof | |
JP2006039966A (en) | Memory card, card controller installed in memory card, and processing unit of memory card | |
JP6007529B2 (en) | Image forming apparatus, information processing apparatus, and program | |
JP2007133541A (en) | Storage device, memory management device, memory management method and program | |
JP2006195565A (en) | Control method for semiconductor storage device, memory card, and host apparatus | |
US20080126671A1 (en) | Nonvolatile memory system and a method of controlling nonvolatile memories | |
JPWO2007105688A1 (en) | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM | |
JP2007034581A (en) | Memory controller, flash memory system and method for controlling flash memory | |
JP2007094639A (en) | Memory controller and flash memory system | |
JP6405736B2 (en) | Image processing apparatus, writing control program, and writing control method | |
JP2004310220A (en) | Data processor, nonvolatile semiconductor storage device, and image processor | |
JP4308780B2 (en) | Semiconductor memory device, memory controller, and data recording method | |
JP2008020937A (en) | Nonvolatile storage device | |
JP2007094571A (en) | Memory controller, flash memory system, and control method of flash memory | |
JP2007133512A (en) | Information processor with flash rom, and data erasing method for flash rom | |
JP2007052558A (en) | Flash memory rewrite device, flash memory rewrite method and flash memory rewrite program |