JP2004310220A - Data processor, nonvolatile semiconductor storage device, and image processor - Google Patents

Data processor, nonvolatile semiconductor storage device, and image processor Download PDF

Info

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
Application number
JP2003099634A
Other languages
Japanese (ja)
Inventor
Teruki Matsuyama
輝樹 松山
Haruo Nishiyama
晴雄 西山
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2003099634A priority Critical patent/JP2004310220A/en
Publication of JP2004310220A publication Critical patent/JP2004310220A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processor and image processor capable of enhancing security by preventing the leak of data, and a nonvolatile semiconductor storage device capbale of reducing the processing load on a side using a memory. <P>SOLUTION: A CPU 12 executes, when a cluster with invalid data is present in reference to status information stored in a main memory 13, zero clear of the cluster concerned. The zero clear is realized by forming bit-inverted data of zero clear object data of a flash memory 20 by the CPU 12 and writing the formed data in the storage area of the zero clear object data. The CPU 12 also erase, when a block all clusters of which are zero-cleared is present in reference to the status information, all data in the block concerned. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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 main memory 14 such as a DRAM (Dynamic Random Access Memory), a PROM (Programmable Read Only Memory) 16, and a flash memory (non-volatile semiconductor storage device) 20. And each is connected to a common bus.
[0021]
The flash memory 20 includes a memory main body 24 such as a memory array, and a memory control unit 22 including an address decoder and a voltage control circuit. The storage area of the flash memory 20 (memory main body 24) is divided into a plurality of blocks, which are units of erasing. In the example of FIG. 1, the block is divided into n blocks (n is an integer of 3 or more) (block 1, block 2,..., Block n). Each block is divided into a plurality of clusters, and each cluster stores, for example, data in units of 8 bits.
[0022]
In this description, it is assumed that “1” is erased from the flash memory 20 and writing is performed from “1” to “0”. The erasing process from “0” to “1” is performed in block units, and the rewriting (erasing) from “0” to “1” in data units (cluster units) is performed in the flash memory 20 (memory control unit). 22) will not be accepted and will not be executed.
[0023]
The CPU 12 operates as means (write control means) for writing an unwritten bit portion in the bit string of unnecessary data. Further, the CPU 12 operates as a means (creating means) for creating inverted data obtained by bit-inverting unnecessary data, and using the created inverted data, an unwritten bit in the bit string of the unnecessary data. Write to the part.
[0024]
In this description, the CPU 12 writes inverted data of the unnecessary data into the cluster where the unnecessary data is stored. As described above, since the flash memory 20 (memory control unit 22) does not accept rewriting (erasing) from “0” to “1”, inverted data of unnecessary data is replaced with the unnecessary data. By writing to the stored cluster, only the "1" portion becomes "0", and the data of the cluster is cleared to zero (all bits = "0").
[0025]
The CPU 12 operates as each unit described above, for example, by reading and executing the zero clear control program stored in the PROM 16.
[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 CPU 12. In the present description, the status information functions as information for identifying the cluster in which the inverted data has been written (cleared to zero) by the CPU 12.
[0027]
The status information stores the status of each cluster. For example, when the CPU 12 writes data to a predetermined cluster of the flash memory 20, the CPU 12 updates the status of the predetermined cluster in the status information to “valid data”. Similarly, the CPU 12 updates the state of the cluster to “invalid data” when data is no longer needed, updates it to “zero cleared” when zero-cleared, and “erased” when erased. Update to
[0028]
The CPU 12 refers to the status information and erases data in block units when all data (all clusters) in the block is unnecessary or cleared to zero. In this description, in order to perform the prewrite process, the CPU 12 clears unnecessary data to zero, and performs erasing when all data in the block is cleared to zero.
[0029]
The CPU 12 reads and executes a data management program stored in the PROM 16, for example, to execute various processes related to data storage of the flash memory 20, such as the above-described data erasing, writing, zero clearing, and status information updating. I do.
[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 CPU 12 performs processes such as erasing, data writing, and zero clearing on the flash memory 20, and changes status information according to a change in the state of each cluster (erased, valid data, invalid data, or zero cleared) due to the performed process. Update.
[0031]
The CPU 12 refers to the status information, and if there is a cluster in which the data has become invalid (S10: YES), executes the zero clear of the cluster in which the data has become invalid (S12). For example, a cluster whose status information state is “invalid data” is set as a zero clear target cluster.
[0032]
FIG. 3 is a flowchart illustrating an example of the execution procedure of the zero clear. The CPU 12 reads the invalid data of the cluster to be cleared to zero from the flash memory 20 and saves (stores) it in the main memory 14 (S30). The CPU 12 sets (sets) the leading address of the invalid data saved in the main memory 14 in the variable rAddr stored in the main memory 14 (S32). Further, the CPU 12 sets (sets) the head address of the cluster to be zero-cleared in the flash memory 20 in the variable wAddr stored in the main memory 14 (S34).
[0033]
The CPU 12 reads and stores the unit data stored at the address of the main memory 14 indicated by rAddr in the variable SD stored in the main memory 14 (S36). Further, the CPU 12 reads the data stored in the SD, performs bit inversion, and stores the data obtained by bit-inverting the SD in a variable WD stored in the main memory 14 (S38).
[0034]
The CPU 12 executes a WD (data stored in the WD) write command for the address of the flash memory 20 indicated by wAddr (S40). The flash memory 20 (memory control unit 22) that has received the write command and the WD from the CPU 12 writes the WD to the address indicated by wAddr. Since WD is data obtained by inverting data (same data as SD) written in the write destination of the flash memory 20, "0" is written in the "1" portion and "1" is written in the "0" portion. However, writing of “1” to the “0” portion is not accepted by the flash memory 20 (memory control unit 22), and the “0” portion remains “0”. Therefore, "0" is written only in the "1" portion, and all bits of the write destination data are cleared to "0" (cleared to zero).
[0035]
The CPU 12 sets the next address in rAddr and wAddr, for example, by adding 1 to rAddr and wAddr (S42). If wAddr exceeds the final address of the zero-clear target cluster (S44: YES), the process ends because zero-clear of the zero-clear target cluster has been completed. If wAddr has not exceeded (S44: NO), the same process is performed. (S36, S38, S40, S42).
[0036]
When confirming completion of the zero clear (S14 in FIG. 2: YES), the CPU 12 updates the status information (S16). For example, the CPU 12 updates the status of the cluster for which the zero clear has been completed in the status information stored in the main memory 14 to “zero cleared”.
[0037]
In addition, referring to the status information, if there is a block in which all the clusters are “zero cleared” (S18: YES), the CPU 12 executes erasure of all data in the block (hereinafter, block erasure) (S20). ). Block erasure can be performed in the same manner as in the past. If there is no block in which all clusters have been “zero cleared” (S18: NO), the above-described zero clear processing is performed (S10 to S16).
[0038]
When confirming the completion of the block erasure (S22: YES), the CPU 12 updates the status information (S24). For example, the CPU 12 updates the status of each cluster in which the block erasure has been executed in the status information stored in the main memory 14 to “erased”. Thereafter, the processing shown in FIGS. 2 and 3 is repeated.
[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 CPU 12 writes data in the clusters A1 and A2, as shown in FIG. 4B, the clusters A1 and A2 become valid data, and the CPU 12 sets the status of the clusters A1 and A2 in the status information to "valid data". To ".
[0040]
Thereafter, when the processing of the CPU 12 using the data of the cluster A1 is completed and the data of the cluster A1 becomes unnecessary, as shown in FIG. 4C, the cluster A1 becomes invalid data and the CPU 12 The status of the cluster A1 in the information is updated to “invalid data”. 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 as shown in FIG. 4D, cluster A1 is cleared to zero. (All bits = "0").
[0041]
Thereafter, as shown in FIG. 5A, the CPU 12 writes data in the clusters A3 and A4 and clears the cluster A2 to zero. In the state of FIG. 5A, when the processing of the CPU 12 using the data of the clusters A3 and A4 ends and the data of the clusters A3 and A4 become unnecessary, as shown in FIG. , Clusters A3 and A4 become invalid data, and the CPU 12 updates the status of the clusters A3 and A4 in the status information to “invalid data”.
[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 CPU 12, a main memory 14, a PROM 16, and a flash memory (non-volatile semiconductor storage device) 20, similarly to the first embodiment (FIG. 1), each of which is connected to a common bus. It is connected. The flash memory 20 includes a memory main body 24 such as a memory array, and a memory control unit 22 including an address decoder and a voltage control circuit.
[0044]
In the present description, when the memory control unit 22 of the flash memory 20 receives a write instruction to write an unwritten bit portion and a write target address from the CPU 12, the memory control unit 22 stores the unwritten data in the bit string of the received write target address. It operates as a means for writing to the bit portion (write control means (zero clear control section)). For example, when the CPU 12 writes a command including a size specification for zero-clearing to the head address of the cluster to be zero-cleared in the flash memory 20, the memory control unit 22 specifies the cluster in which the command is written as a reference address. Writing is performed on the unwritten bit portion of the bit string within the size (zero clear size). In this description, the memory control unit 22 clears (zeros) each cluster within the size (address range) specified by the command to “0”. Zero clearing of each cluster within the designated size can be executed by the memory control unit 22 in the same manner as in the first embodiment. Variables and the like necessary for execution of the processing are stored in a memory (not shown) in the memory control unit 22.
[0045]
A data management program is stored in the PROM 16 as in the first embodiment. The block erasing procedure is the same as in the first embodiment (FIG. 2).
[0046]
FIG. 7 is a flowchart illustrating an example of the execution procedure of the zero clear. The CPU 12 writes a command including the designation of the size to be cleared to zero at the start address of the cluster to be cleared to zero in the flash memory 20 (S50). The memory control unit 22 of the flash memory 20 converts the bit “1” of each bit string within the specified size range into the bit “0” from the address where the command is written (S52).
[0047]
The CPU 12 checks the zero clear state of the flash memory 20 (S54), and updates the status information when the zero clear is completed (S56: YES). The CPU 12 only needs to give the flash memory 20 a command including an address range to be cleared to zero, and the processing load on the CPU 12 is reduced.
[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 scanner unit 60 that reads image data of a document, a printer unit 50 that prints image data, and a control unit 30 that performs image processing control including control of the scanner unit 60 and the printer unit 50. Is provided.
[0050]
The scanner unit 60 includes an image reading unit 64 having a charge coupled device (CCD) or the like, a scanner control unit 62 that performs reading control including scanning of a document, and the like. The printer unit includes an LSU (Laser Scanning Unit) 54, a printer control unit 52 that performs print control including feeding of recording paper, and the like.
[0051]
The control unit 30 includes a laser control IC 36 for controlling the LSU 54, an image memory (flash memory: nonvolatile semiconductor storage device) 20 for storing image data received from the image reading unit 64, an image processing IC 32 for processing image data, and an NIC ( A network interface card (38), a hard disk controller 40, and the CPU 12 are connected to a common bus. A hard disk 42 is connected to the hard disk controller 40, and the main memory 14, the PROM 16, the image memory 20, a non-volatile memory 34 for storing various settings, an operation unit 44, an LCD (Liquid Crystal Display) 46, and a scanner are connected to the CPU 12. The control unit 62 and the printer control unit 52 are connected, and an external device such as a computer 70 is connected to the NIC 38.
[0052]
The MFP 10 stores the image data read by the image reading unit 64 in the image memory 20 and outputs the image data from the printer unit 50 under the control of the CPU 12, or stores the image data received from the computer 70 or an external facsimile device in the image memory 20. The image data can be stored and output from the printer unit 50, or the image data read by the image reading unit 64 can be stored in the image memory 20 and transmitted from the NIC 38 to the computer 70 or an external facsimile machine.
[0053]
Writing, clearing, and erasing of image data in the image memory (flash memory) 20 can be controlled by the CPU 12 in the same manner as in the above-described embodiments. Further, data writing, zero clearing, and erasing in the nonvolatile memory 34 in which various settings are stored can be performed by the CPU 12 in the same manner as in the above-described embodiments.
[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)

不揮発性半導体記憶装置を備え、該不揮発性半導体記憶装置の記憶領域を複数のブロックに分け、1つのブロックに複数データを書込み、不要になったデータはブロック単位で消去するデータ処理装置において、
不要になったデータのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とするデータ処理装置。
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.
前記書込制御手段によって未書込ビット部分に書込が行われたデータの識別情報を記憶する記憶部を備えることを特徴とする請求項1又は2記載のデータ処理装置。3. The data processing device according to claim 1, further comprising: a storage unit configured to store identification information of data written in an unwritten bit portion by the write control unit. ブロック内の全データが不要になった場合に、前記ブロックのデータを消去するように構成されていることを特徴とする請求項1乃至3の何れかに記載のデータ処理装置。4. The data processing apparatus according to claim 1, wherein the data in the block is erased when all the data in the block becomes unnecessary. 書込指示、書込先アドレス及び書込データを受付手段で受付け、該受付手段が受付た書込データを前記受付手段が受付た書込先アドレスに書込む不揮発性半導体記憶装置において、
前記受付手段は、未書込ビット部分への書込指示及び書込対象アドレスを受付るように構成されており、
受付手段が未書込ビット部分への書込指示を受付けた場合、受付手段が受付た書込対象アドレスに書込まれているデータのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする不揮発性半導体記憶装置。
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.
処理対象の画像データを記憶する不揮発性半導体記憶装置を備え、該不揮発性半導体記憶装置の記憶領域を複数のブロックに分け、1つのブロックに複数画像データを書込み、不要になった画像データはブロック単位で消去する画像処理装置において、
不要になった画像データのビット列内の未書込ビット部分に書込を行なう書込制御手段を備えることを特徴とする画像処理装置。
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.
JP2003099634A 2003-04-02 2003-04-02 Data processor, nonvolatile semiconductor storage device, and image processor Pending JP2004310220A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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