JP2006018893A - Semiconductor storage device and data movement method thereof - Google Patents

Semiconductor storage device and data movement method thereof Download PDF

Info

Publication number
JP2006018893A
JP2006018893A JP2004193887A JP2004193887A JP2006018893A JP 2006018893 A JP2006018893 A JP 2006018893A JP 2004193887 A JP2004193887 A JP 2004193887A JP 2004193887 A JP2004193887 A JP 2004193887A JP 2006018893 A JP2006018893 A JP 2006018893A
Authority
JP
Japan
Prior art keywords
data
block
erasure
executed
status information
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
JP2004193887A
Other languages
Japanese (ja)
Inventor
Takashi Yamamoto
尊司 山本
Kenichi Nakanishi
健一 中西
Nobuhiro Kaneko
暢宏 金子
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004193887A priority Critical patent/JP2006018893A/en
Publication of JP2006018893A publication Critical patent/JP2006018893A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To make it possible to more equalize loads onto respective blocks of a nonvolatile memory with a markedly simple configuration. <P>SOLUTION: By recognizing a block BK1 in which data elimination processing is not carried out yet based on the elimination processing status information of "0" or "1" showing whether or not the data elimination processing is performed correspondingly to each block of the nonvolatile memory 2A, and moving the data stored in the recognized block BK1 into another block BK0, the number of blocks BK (immobile blocks) where same data remain stored because they are not elimination-processed, can be reduced. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は半導体記憶装置及びそのデータ移動方法に関し、特に不揮発性メモリ(フラッシュメモリ)の各ブロックに対する負荷を均一化する場合に適用して好適なものである。   The present invention relates to a semiconductor memory device and a data movement method thereof, and is particularly suitable for application to equalize the load on each block of a nonvolatile memory (flash memory).

近年の半導体記憶装置においては、その内部に不揮発性メモリを有しているものがある。この種の不揮発性メモリは、データ記憶領域が複数のブロックに分割されており、ブロックごとにデータの書き込みや消去が行われる。   Some recent semiconductor memory devices have a nonvolatile memory therein. In this type of nonvolatile memory, a data storage area is divided into a plurality of blocks, and data is written and erased for each block.

ところで一般的に不揮発性メモリにおいては、各ブロックに対するデータの消去回数に上限が設けられており、この上限を超えたブロックはデータを記憶し得ない不良ブロックとして扱われる。そしてこのような不揮発性メモリは、不良ブロックの数が所定数以上になってしまうと、製品上の仕様により寿命が尽きたものとされ、使用不可能になってしまう。   In general, in a nonvolatile memory, an upper limit is set for the number of times data is erased for each block, and a block exceeding this upper limit is treated as a defective block that cannot store data. Such a non-volatile memory becomes unusable when the number of defective blocks exceeds a predetermined number, because the product specifications have expired.

従って不揮発性メモリにおいては、ある特定ブロックばかりにデータの書き込みや消去が行われ、これにより当該特定ブロックの消去回数のみが増加するようになると、この特定ブロックが他のブロックよりも早く不良ブロックになってしまう。そしてこのようにして生じる不良ブロックの数が所定数以上になってしまうと、消去回数が少なく未だデータを記憶することができるブロックを数多く残しているのにも関わらず、不揮発性メモリが使用不可能になってしまう場合があった。   Therefore, in the nonvolatile memory, when data is written or erased only to a specific block, and only the number of times of erasure of the specific block increases, this specific block becomes a defective block earlier than other blocks. turn into. If the number of defective blocks generated in this way exceeds a predetermined number, the nonvolatile memory cannot be used even though there are still many blocks where the number of erases is small and data can still be stored. In some cases, it became possible.

この問題を解決するために、例えば次のような手法(以下、これを第1の手法と呼ぶ)が提案されている。すなわち第1の手法が適用された半導体記憶装置においては、ブロックごとにデータの消去回数をカウントし、この結果を消去管理テーブルに記して管理する。そしてこの半導体記憶装置は、消去管理テーブルを適宜参照することにより所定の規定回数に達したブロックを発見すると、当該消去管理テーブルに記された全ブロックの消去回数を参照することにより、消去回数が最も少ないブロックを特定する。次いでこの半導体記憶装置は、規定回数に達したブロックに記憶されているデータを、当該特定した消去回数が最も少ないブロックへ移動させる。このようにしてこの第1の手法では、不揮発性メモリの各ブロックに対する負荷を均一化(いわゆるウェアレベルリング(Wear Leveling))することにより、不揮発性メモリの使用可能期間を向上させることができる(特許文献1参照)。
特開2003−203016(第5頁)
In order to solve this problem, for example, the following method (hereinafter referred to as the first method) has been proposed. That is, in the semiconductor memory device to which the first method is applied, the number of times of erasing data is counted for each block, and the result is recorded in the erasure management table and managed. When the semiconductor memory device finds a block that has reached a predetermined specified number of times by referring to the erasure management table as appropriate, the number of times of erasure is determined by referring to the number of erasures of all the blocks described in the erasure management table. Identify the fewest blocks. Next, the semiconductor memory device moves the data stored in the block that has reached the specified number of times to the block that has the smallest specified number of erasures. Thus, in the first method, the usable period of the nonvolatile memory can be improved by equalizing the load on each block of the nonvolatile memory (so-called Wear Leveling) ( Patent Document 1).
JP2003-203016 (page 5)

ところで第1の手法が適用された半導体記憶装置は、消去管理テーブルに対しブロックごとの消去回数(例えば1000回等)を記すので、当該消去管理テーブルのデータ量が大きくなってしまう上、上述したようにウェアレベルリングする際、消去管理テーブルに記された全ブロックの消去回数を参照するような処理を実行しなければならず、従ってその構成が簡易であるとは言い難かった。   By the way, the semiconductor memory device to which the first method is applied records the number of times of erasing for each block (for example, 1000 times) in the erasure management table. Thus, when performing wear leveling, it is necessary to execute a process for referring to the number of times of erasure of all the blocks described in the erasure management table, and therefore, it is difficult to say that the configuration is simple.

一方、従来の半導体記憶装置においては、第1の手法と異なる次のような手法(以下、これを第2の手法と呼ぶ)も採用されている。以下に説明するこの第2の手法は、消去管理テーブル等を必要とせず、かくして半導体記憶装置の構成を簡易化し得るものである。   On the other hand, in the conventional semiconductor memory device, the following method (hereinafter referred to as the second method) different from the first method is also employed. This second method described below does not require an erasure management table or the like, and thus can simplify the configuration of the semiconductor memory device.

ここでは図4及び図5を用いて、この第2の手法を説明する。図4(A)〜(E)においては、不揮発性メモリ中の1つのセグメントSGXを簡略化して示している。実際上この1セグメントSGXは、例えば512個のブロックBK(BK0、BK1、……)を有し、各ブロックBKには、例えば64ページ分のデータが記憶され得るようになされている(例えば1ページが2[Kbyte]に相当)。   Here, the second method will be described with reference to FIGS. 4 and 5. 4A to 4E, one segment SGX in the nonvolatile memory is shown in a simplified manner. In practice, this one segment SGX has, for example, 512 blocks BK (BK0, BK1,...), And each block BK can store, for example, 64 pages of data (for example, 1 The page is equivalent to 2 [Kbyte]).

因みにこの図4及び図5においては、データを記憶しているブロックBKに斜線を施すと共に、データ消去処理が実行されたブロックBKに網掛けを施しており、またデータ消去処理の回数が多いブロックBKほど施す網掛けを密にした。   4 and 5, the block BK storing data is shaded, and the block BK subjected to the data erasing process is shaded, and the block having a large number of data erasing processes. The shading applied to BK was made dense.

第2の手法が適用された半導体記憶装置は、図4(A)に示すように、外部から供給されるデータを、データが書き込まれていない空ブロックBK0、BK1、……に順次書き込んでいく。   As shown in FIG. 4A, the semiconductor memory device to which the second technique is applied sequentially writes data supplied from the outside into empty blocks BK0, BK1,... Where no data is written. .

やがて外部から、例えばブロックBK6に記憶されている64ページ分のデータのうちの一部のデータを更新する更新データが、この半導体記憶装置に対して供給されたとする(図4(B))。   Eventually, for example, update data for updating a part of the data of 64 pages stored in the block BK6 is supplied to the semiconductor memory device (FIG. 4B).

このときこの半導体記憶装置は、ブロックBK6に記憶されているデータのうち当該更新データの更新対象でないデータ(以下、これを「更新対象外データ」と呼ぶ)を読み出し、当該読み出した更新対象外データとかかる更新データとを、このセグメントSGX中の所定部分に確保されている空ブロックBK21に対して書き込む(図4(C)中の(a))。そしてこの半導体記憶装置は、ブロックBK6に記憶されている古いデータを全て消去する(図4(C)中の(b))。この後外部から、例えばブロックBK3に記憶されているデータのうちの一部を更新する更新データが半導体記憶装置に対して供給されたときも、この半導体記憶装置は同様の処理(図4(D)中の(c)及び(d))を実行する。   At this time, the semiconductor memory device reads out data stored in the block BK6 that is not the update target of the update data (hereinafter referred to as “non-update target data”), and the read non-update target data. Then, the update data is written to the empty block BK21 secured in a predetermined part in the segment SGX ((a) in FIG. 4C). This semiconductor memory device erases all the old data stored in the block BK6 ((b) in FIG. 4C). Thereafter, when update data for updating a part of the data stored in the block BK3 is supplied to the semiconductor memory device from the outside, the semiconductor memory device performs the same processing (FIG. 4D ) (C) and (d)) are executed.

このように第2の手法が適用された半導体記憶装置は、例えばブロックBK6に記憶されているデータの一部を更新する際、このブロックBK6に一緒に記憶されていたデータを全て他のブロックBK21へ移動するようにしたことにより、ブロックBK6ばかりにデータの書込み処理や消去が行われてしまうことをある程度回避することができる。   As described above, when the semiconductor memory device to which the second method is applied updates, for example, part of the data stored in the block BK6, all the data stored together in the block BK6 is transferred to another block BK21. Thus, it is possible to avoid to some extent that data write processing and erasure are performed only on the block BK6.

次に図5を用いて、この第2の手法におけるデータの書き込み処理の様子を詳細に説明する。実際上このような半導体記憶装置は、論理アドレスと各ブロックBKに割り当てられた物理アドレスとを対応付けてなるテーブル(以下、これを論物変換テーブル)を有しており、これによりこれまで書き込んだ各データの記憶位置を管理している。   Next, the state of the data writing process in the second method will be described in detail with reference to FIG. In practice, such a semiconductor memory device has a table (hereinafter referred to as a logical-physical conversion table) in which a logical address and a physical address assigned to each block BK are associated with each other. It manages the storage location of each data.

ここで図5(A)に示すような状態において、外部から、例えば論理アドレス#0に対応するブロックBK0に記憶されているデータの一部を更新するための更新データが供給されると、このとき半導体記憶装置は、論物変換テーブルを参照することにより論理アドレス#0に対応する物理アドレス#0を認識する。そしてこの半導体記憶装置は、当該認識した物理アドレス#0に基づいてブロックBK0にアクセスし、当該アクセスしたブロックBK0に記憶されているデータのうち当該更新データの更新対象でない更新対象外データを読み出し、当該読み出した更新対象外データとかかる更新データとを、このセグメントSGX中の空ブロックBK3に対して書き込む(図5(B))。続いて半導体記憶装置は、ブロックBK0に記憶されている古いデータを全て消去すると共に、論理アドレス#0とブロックBK3の物理アドレス#3とを対応付けるようにして論物変換テーブルを更新する。   Here, in the state shown in FIG. 5A, when update data for updating a part of the data stored in the block BK0 corresponding to the logical address # 0 is supplied from the outside, for example, The semiconductor memory device recognizes the physical address # 0 corresponding to the logical address # 0 by referring to the logical-physical conversion table. Then, the semiconductor memory device accesses the block BK0 based on the recognized physical address # 0, reads out the non-update target data that is not the update target of the update data among the data stored in the accessed block BK0, The read non-update target data and the update data are written to the empty block BK3 in the segment SGX (FIG. 5B). Subsequently, the semiconductor memory device erases all the old data stored in the block BK0 and updates the logical-physical conversion table so as to associate the logical address # 0 with the physical address # 3 of the block BK3.

この後さらに外部から、論理アドレス#0に対応するブロックBK3に記憶されているデータの一部を更新するための更新データが供給されると、このとき半導体記憶装置は、論物変換テーブルを参照することにより論理アドレス#0に対応する物理アドレス#3を認識する。そしてこの半導体記憶装置は、当該認識した物理アドレス#3に基づいてブロックBK3にアクセスし、当該アクセスしたブロックBK3に記憶されているデータのうち当該更新データの更新対象でない更新対象外データを読み出し、当該読み出した更新対象外データとかかる更新データとを、このセグメントSGX中の空ブロックBK6に対して書き込む(図5(C))。続いて半導体記憶装置は、ブロックBK3に記憶されている古いデータを全て消去すると共に、論理アドレス#0とブロックBK6の物理アドレス#6とを対応付けるようにして論物変換テーブルを更新する。   Thereafter, when update data for updating a part of the data stored in the block BK3 corresponding to the logical address # 0 is supplied from the outside, the semiconductor memory device refers to the logical-physical conversion table at this time. As a result, the physical address # 3 corresponding to the logical address # 0 is recognized. Then, the semiconductor memory device accesses the block BK3 based on the recognized physical address # 3, reads out the non-update target data that is not the update target of the update data, among the data stored in the accessed block BK3, The read non-update target data and the update data are written to the empty block BK6 in the segment SGX (FIG. 5C). Subsequently, the semiconductor memory device erases all the old data stored in the block BK3 and updates the logical-physical conversion table so as to associate the logical address # 0 with the physical address # 6 of the block BK6.

かくしてこの第2の手法が適用された半導体記憶装置では、例えば論理アドレス#0に対応するデータばかりが頻繁に更新される場合であって、この他の論理アドレスに対応するデータがほとんど更新されない場合、図5(D)に示すように、データ消去処理の実行されるブロックBKがある程度固定されてしまう(この場合、ブロックBK0、BK3、BK6、BK10、BK13、BK19)。   Thus, in the semiconductor memory device to which the second method is applied, for example, only data corresponding to the logical address # 0 is frequently updated, and data corresponding to other logical addresses is hardly updated. As shown in FIG. 5D, the block BK on which the data erasing process is executed is fixed to some extent (in this case, the blocks BK0, BK3, BK6, BK10, BK13, BK19).

この結果不揮発性メモリにおいては、データ消去処理されないために同じデータが記憶されたままになってしまうブロックBK(いわゆる不動ブロック)が数多く発生してしまうことになる。   As a result, in the nonvolatile memory, many blocks BK (so-called non-moving blocks) are generated in which the same data remains stored because the data erasure process is not performed.

そしてこのように不動ブロックが数多く発生してしまった場合、不揮発性メモリの各ブロックBKに対する負荷が偏ってしまっている状態になっているので、不揮発性メモリの使用可能期間を向上させることが難しくなってしまう。   When a large number of immovable blocks are generated in this way, the load on each block BK of the nonvolatile memory is biased, so it is difficult to improve the usable period of the nonvolatile memory. turn into.

このように第2の手法を適用した半導体記憶装置は、消去管理テーブル等を保持する必要が無いので、第1の手法を適用した場合と比べてその構成を簡易化し得るものの、不揮発性メモリの各ブロックBKに対する負荷を十分に均一化することができないという問題があった。   Since the semiconductor memory device to which the second method is applied as described above does not need to hold the erasure management table or the like, its configuration can be simplified as compared with the case where the first method is applied. There was a problem that the load on each block BK could not be equalized sufficiently.

本発明は以上の点を考慮してなされたもので、格段と簡易な構成で不揮発性メモリの各ブロックに対する負荷をより均一化し得る半導体記憶装置及びそのデータ移動方法を提案しようとするものである。   The present invention has been made in consideration of the above points, and an object of the present invention is to propose a semiconductor memory device and a data movement method thereof that can make the load on each block of the nonvolatile memory more uniform with a remarkably simple configuration. .

かかる課題を解決するため本発明においては、半導体記憶装置において、データを記憶するためのブロックを複数有し、各上記ブロックに対しデータ消去処理が実行されたか否かを示す消去処理状況情報が対応付けられる不揮発性メモリと、データ消去処理が実行されていない旨の上記消去処理状況情報が対応付けられた上記ブロックに記憶されているデータを他の上記ブロックに移動させるデータ移動処理を実行するデータ移動手段とを設けるようにした。   In order to solve such a problem, in the present invention, in the semiconductor memory device, there are a plurality of blocks for storing data, and the erasure processing status information indicating whether or not the data erasure processing has been executed for each of the blocks corresponds. Data for executing data movement processing for moving data stored in the block associated with the non-volatile memory to be attached and the erasing processing status information indicating that data erasing processing has not been executed to another block And moving means.

また本発明においては、半導体記憶装置のデータ移動方法において、データを記憶するためのブロックを複数有し各上記ブロックに対しデータ消去処理が実行されたか否かを示す消去処理状況情報が対応付けられる不揮発性メモリの上記ブロックの中から、データ消去処理が実行されていない旨の上記消去処理状況情報が対応付けられた上記ブロックを認識する第1のステップと、上記認識したブロックに記憶されているデータを他の上記ブロックに移動させるデータ移動処理を実行する第2のステップとを設けるようにした。   Further, in the present invention, in the data movement method of the semiconductor memory device, there are a plurality of blocks for storing data, and erase process status information indicating whether or not the data erase process has been executed is associated with each of the blocks. A first step of recognizing the block associated with the erasure process status information indicating that the data erasure process has not been executed is stored in the recognized block from the block of the nonvolatile memory. And a second step of executing a data movement process for moving data to the other block.

このようにして、データ消去処理されていないブロックに記憶されているデータを、他のブロックへ移動させるようにしたことにより、データ消去処理されないために同じデータが記憶されたままになっているブロックを減らすことができる。   In this way, data stored in a block that has not been subjected to data erasure processing is moved to another block, so that the same data remains stored because data erasure processing is not performed. Can be reduced.

本発明によれば、データ消去処理されていないブロックに記憶されているデータを、他のブロックへ移動させるようにしたことにより、データ消去処理されないために同じデータが記憶されたままになっているブロックを減らすことができる。この結果、消去管理テーブル等を保持する必要なく格段と簡易な構成で、不揮発性メモリの各ブロックに対する負荷をより均一化することができる。   According to the present invention, since data stored in a block that has not been subjected to data erasure processing is moved to another block, the same data remains stored because data erasure processing is not performed. Blocks can be reduced. As a result, the load on each block of the nonvolatile memory can be made more uniform with a remarkably simple configuration without the need to hold an erase management table or the like.

以下図面について、本発明の一実施の形態を詳述する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

(1)半導体記憶装置の構成
図1において、1は全体としてカード型の半導体記憶装置を示し、複数の不揮発性メモリ2A、……からなるメモリ部2と、当該メモリ部2を制御するコントローラ部3とを有している。なお以下では説明の便宜上、複数の不揮発性メモリ2A、……のうちの不揮発性メモリ2Aを中心に説明する。
(1) Configuration of Semiconductor Memory Device In FIG. 1, reference numeral 1 denotes a card-type semiconductor memory device as a whole, a memory unit 2 comprising a plurality of nonvolatile memories 2A,..., And a controller unit for controlling the memory unit 2 3. In the following description, for convenience of explanation, the nonvolatile memory 2A among the plurality of nonvolatile memories 2A,.

因みに本実施の形態の場合、このカード型の半導体記憶装置1はメモリスティック(登録商標)に相当し、例えばパーソナルコンピュータ等の外部機器から供給されるデータが書き込まれる。   Incidentally, in the case of the present embodiment, the card type semiconductor memory device 1 corresponds to a Memory Stick (registered trademark), and data supplied from an external device such as a personal computer is written therein.

コントローラ部3において、制御を司るMPU(Micro Processing Unit)4に対しては、命令レジスタ等からなるレジスタ部5と、誤り訂正処理等を実行するECC(Error Correcting Circuit)部6と、不揮発性メモリ2Aに対して読み書きされるデータが一時蓄積されるデータバッファ部7とが接続される。またこのコントローラ部3は、MS内部クロック(メモリスティック内部クロック)を生成するためのクロック生成部8を有している。   In the controller unit 3, an MPU (Micro Processing Unit) 4 that performs control includes a register unit 5 including an instruction register, an ECC (Error Correcting Circuit) unit 6 that executes error correction processing, and the like, and a nonvolatile memory A data buffer unit 7 for temporarily storing data to be read / written from / to 2A is connected. The controller unit 3 also has a clock generation unit 8 for generating an MS internal clock (memory stick internal clock).

データバッファ部7は、所定のバス9を介して、シリアルインターフェース部10及びパラレルインターフェース部11と接続される。外部機器からのデータは、所定ライン(DATA0〜DATA3)及びパラレルインターフェース部11、(DATA0)及びシリアルインターフェース部10を順次介してデータバッファ部7へ入力され、MPU4は、このデータバッファ部7に入力されたデータを、不揮発性メモリ2Aに対して書き込むようになされている。   The data buffer unit 7 is connected to the serial interface unit 10 and the parallel interface unit 11 via a predetermined bus 9. Data from an external device is sequentially input to the data buffer unit 7 via a predetermined line (DATA0 to DATA3), the parallel interface unit 11, (DATA0), and the serial interface unit 10, and the MPU 4 is input to the data buffer unit 7. The written data is written to the nonvolatile memory 2A.

またこの半導体記憶装置1に対しては、所定ライン(VSS,VCC)を介して電源が供給される。またこの半導体記憶装置1は、外部機器からのデータを取り込むために必要となるクロックが入力されるライン(SCLK)や、外部機器に対してこの半導体記憶装置1が正常に装着されているか否かを判断するための信号が入力されるライン(INS)や、外部機器から供給されるデータの向きを判断するための信号が入力されるライン(BS)等も設けられている。   The semiconductor memory device 1 is supplied with power via predetermined lines (VSS, VCC). Further, the semiconductor memory device 1 has a line (SCLK) to which a clock necessary for taking in data from the external device is input, and whether or not the semiconductor memory device 1 is normally attached to the external device. There are also provided a line (INS) to which a signal for judging whether or not, a line (BS) to which a signal for judging the direction of data supplied from an external device is inputted, and the like.

次に図2において、不揮発性メモリ2A中の1つのセグメントSGを簡略化して示す。実際上このセグメントSGは、例えば512個のブロックBK(BK0、BK1、……)を有し、各ブロックBKには、例えば64ページ分のデータが記憶されるようになされている(例えば1ページが2[Kbyte]に相当)。   Next, in FIG. 2, one segment SG in the nonvolatile memory 2A is shown in a simplified manner. In practice, this segment SG has, for example, 512 blocks BK (BK0, BK1,...), And each block BK stores, for example, 64 pages of data (for example, one page). Is equivalent to 2 [Kbyte]).

因みに図2においては、データを記憶しているブロックBKに斜線を施すと共に、データ消去処理が実行されたブロックBKに網掛けを施しており、またデータ消去処理の回数が多いブロックBKほど施す網掛けを密にした。   In FIG. 2, the block BK storing data is shaded, and the block BK on which the data erasing process has been performed is shaded. Close the hanger.

本実施の形態の場合、各ブロックBKに対しては、データが記憶されているか否かを示す記憶状況情報(erase status)が対応付けて記憶されている。MPU4は、データが記憶されているブロックBKについては、そのブロックBKに対応する記憶状況情報を「0」に設定し、データが記憶されていないブロックBKについては、そのブロックBKに対応する記憶状況情報を「1」に設定する。   In the present embodiment, storage status information (erase status) indicating whether or not data is stored is stored in association with each block BK. The MPU 4 sets the storage status information corresponding to the block BK to “0” for the block BK in which data is stored, and the storage status corresponding to the block BK for the block BK in which no data is stored. Set the information to “1”.

また本実施の形態の場合、各ブロックBKに対しては、データ消去処理が実行されたか否かを示す消去処理状況情報(wear status)が対応付けて記憶されている。本実施の形態の場合このMPU4は、消去処理状況情報を全て「1」にリセットするリセット時に、各ブロックBKに対応付けられている全ての消去処理状況情報を「1」に設定し、この後データ消去処理が実行されたブロックBKが現れる度に、そのブロックBKに対応する消去処理状況情報を「0」に設定するようになされている。   In this embodiment, each block BK is stored with erasure process status information (wear status) indicating whether or not the data erasure process has been executed. In the case of this embodiment, the MPU 4 sets all the erasure processing status information associated with each block BK to “1” at the time of resetting all the erasure processing status information to “1”, and thereafter Each time a block BK for which data erasure processing has been executed appears, the erasure processing status information corresponding to that block BK is set to “0”.

図2(A)に示す状態において、半導体記憶装置1のMPU4は、例えば外部機器から、論理アドレス#0に対応するブロックBK10に記憶されているデータの一部を更新するための更新データが供給されると、MPU4内部のRAM(図示せず)に記憶されている論物変換テーブルを参照することにより、論理アドレス#0に対応する物理アドレス#10を認識し、当該認識した物理アドレス#10に対応するブロックBK10にアクセスする。因みにこのブロックBK10に対しては、消去処理状況情報のリセット後既にデータ消去処理が実行されているので、対応する消去処理状況情報が「0」に設定されている。   In the state shown in FIG. 2A, the MPU 4 of the semiconductor memory device 1 supplies update data for updating a part of the data stored in the block BK10 corresponding to the logical address # 0, for example, from an external device. Then, the physical address # 10 corresponding to the logical address # 0 is recognized by referring to the logical-physical conversion table stored in the RAM (not shown) inside the MPU 4, and the recognized physical address # 10 is recognized. The block BK10 corresponding to is accessed. Incidentally, for this block BK10, since the data erasing process has already been executed after the erasing process status information is reset, the corresponding erasing process status information is set to “0”.

そしてMPU4は、当該アクセスしたブロックBK10に記憶されているデータのうち当該更新データの更新対象でない更新対象外データを読み出し、当該読み出した更新対象外データとかかる更新データとを、同セグメントSG中の空ブロックBK13(物理アドレス#13)に対して書き込む。   Then, the MPU 4 reads out the non-update target data that is not the update target of the update data among the data stored in the accessed block BK10, and reads the read non-update target data and the update data in the same segment SG. Write to the empty block BK13 (physical address # 13).

続いてMPU4は、論理アドレス#0とブロックBK13の物理アドレス#13とを対応付けるようにして論物変換テーブルを更新すると共に、ブロックBK10に対してデータ消去処理を実行する。   Subsequently, the MPU 4 updates the logical-physical conversion table so as to associate the logical address # 0 with the physical address # 13 of the block BK13, and executes data erasure processing on the block BK10.

このようにして、消去処理状況情報が「0」に設定されているブロックBK10(つまり、リセット後既にデータ消去処理が実行されたブロックBK10)に対してデータ消去処理を再度実行したとき、この半導体記憶装置1のMPU4は、このままでは特定のブロックBK0、BK3、BK6、BK10、BK13、BK19ばかりにデータ消去処理を実行してしまう可能性が高いと判断し、これを契機として、ウェアレベリング処理を実行するためのウェアレベリング実行モードへ移行する。   In this way, when the data erasure process is performed again on the block BK10 whose erasure process status information is set to “0” (that is, the block BK10 in which the data erasure process has already been executed after the reset), this semiconductor The MPU 4 of the storage device 1 determines that there is a high possibility that the data erasure process is executed only on the specific blocks BK0, BK3, BK6, BK10, BK13, and BK19 as it is, and the wear leveling process is triggered by this. Transition to the wear leveling execution mode for execution.

ウェアレベリング実行モードに移行したMPU4は、このセグメントSG中の各ブロックBKに対応付けられている記憶状況情報及び消去処理状況情報を参照することにより、リセット以後未だデータ消去処理が実行されておらず且つ現在データを記憶している例えばブロックBK1(以下適宜、これを未消去処理ブロックと呼ぶ)と、リセット以後既にデータ消去処理が実行されており且つ現在データを記憶していない例えばブロックBK0(以下適宜、これを消去処理済ブロックと呼ぶ)とを認識する。   The MPU 4 that has shifted to the wear leveling execution mode refers to the storage status information and the erasure processing status information associated with each block BK in the segment SG, so that the data erasure processing has not yet been executed after the reset. In addition, for example, a block BK1 (hereinafter referred to as an unerased processing block as appropriate) that stores current data, and a block BK0 (hereinafter referred to as “unerased processing block”) that has already been subjected to data erasure processing after reset and does not store current data. As appropriate, this is called an erased block).

次いでMPU4は、認識した未消去処理ブロックBK1に記憶されているデータのうちの1ページ分のデータを、認識した消去処理済ブロックBK0へコピーする。さらにこの後MPU4は、このセグメントSG中の何れかのブロックBKに対して、外部機器からのデータを書き込む処理が実行される度に、未消去処理ブロックBK1に記憶されている残りのデータを1ページ分ずつ、消去処理済ブロックBK0へコピーする。そしてMPU4は、図2(B)に示すように、未消去処理ブロックBK1に記憶されているデータの全てを消去処理済ブロックBK0へコピーし終えると、この未消去処理ブロックBK1に対してデータ消去処理を実行する。   Next, the MPU 4 copies one page of data stored in the recognized unerased processing block BK1 to the recognized erased block BK0. Further, the MPU 4 thereafter sets the remaining data stored in the unerased processing block BK1 to 1 every time processing for writing data from an external device is executed for any block BK in the segment SG. Copy page by page to erased block BK0. When the MPU 4 finishes copying all of the data stored in the unerased processing block BK1 to the erased block BK0 as shown in FIG. 2B, the MPU 4 erases data in the unerased processing block BK1. Execute the process.

このようにしてこの半導体記憶装置1においては、リセット以後未だデータ消去処理されていないブロックBK1に記憶されているデータを、現在データを記憶保持していない消去処理済ブロックBK0へ移動するようにした。これにより、データ消去処理されないために同じデータが記憶されたままになっている不動ブロック(この場合ブロックBK1等)を減らすことができる。   In this way, in this semiconductor memory device 1, the data stored in the block BK1 that has not been subjected to data erasure processing after reset is moved to the erased block BK0 that does not currently store data. . As a result, it is possible to reduce the non-moving blocks (in this case, the block BK1 and the like) in which the same data remains stored because the data erasure processing is not performed.

この後MPU4は、例えば図2(B)に示すような状態になっているとき、外部機器から、論理アドレス#0に対応するブロックBK19に記憶中のデータを一部更新するための更新データが供給されると、当該ブロックBK19に記憶されているデータのうち当該更新データの更新対象でない更新対象外データを読み出し、当該読み出した更新対象外データとかかる更新データとを、例えばウェアレベリング処理によりデータが移動されたブロックBK1へ書き込むことができる(図2(C))。かくしてこの半導体記憶装置1は、論理アドレス#0に対応するデータを、特定のブロックBK0、BK3、BK6、BK10、BK13、BK19ばかりに書き込み続けてしまうことを回避することができる。   Thereafter, when the MPU 4 is in a state as shown in FIG. 2B, for example, update data for partially updating data stored in the block BK19 corresponding to the logical address # 0 is received from the external device. When supplied, the non-update target data that is not the update target of the update data is read out of the data stored in the block BK19, and the read non-update target data and the update data are processed by, for example, the wear leveling process. Can be written to the moved block BK1 (FIG. 2C). Thus, the semiconductor memory device 1 can avoid continuing to write the data corresponding to the logical address # 0 only to the specific blocks BK0, BK3, BK6, BK10, BK13, BK19.

またこの後もMPU4は、このセグメントSG中の各ブロックBKに対応付けられた全ての消去処理状況情報が「0」になるまで、上述のウェアレベリング処理を実行し続け、当該全ての消去処理状況情報が「0」になったとき、当該全ての消去処理状況情報を「1」にリセットし、ウェアレベリング処理を実行しないウェアレベリング非実行モードへ戻るようになされている。   Thereafter, the MPU 4 continues to execute the above-described wear leveling process until all the erasure process status information associated with each block BK in the segment SG becomes “0”. When the information becomes “0”, all the erasure processing status information is reset to “1”, and the operation returns to the wear leveling non-execution mode in which the wear leveling process is not executed.

次に図3に示すフローチャートを用いて、この半導体記憶装置1により実行されるデータ書き込み処理手順RT1を説明する。   Next, a data write processing procedure RT1 executed by the semiconductor memory device 1 will be described using the flowchart shown in FIG.

すなわち半導体記憶装置1のMPU4は、例えば外部機器から、ブロックBK10(図2(A))に記憶されている64ページ分のデータのうちの一部のデータを更新する更新データが供給されると、データ書き込み処理手順RT1をステップSP1から開始する。   That is, when the MPU 4 of the semiconductor memory device 1 is supplied with update data for updating a part of the data for 64 pages stored in the block BK10 (FIG. 2A), for example, from an external device. The data write processing procedure RT1 is started from step SP1.

ステップSP1においてMPU4は、ブロックBK10に記憶されているデータのうち当該更新データの更新対象でない更新対象外データを読み出し、当該読み出した更新対象外データとかかる更新データとを、同セグメントSG中の空ブロックBK13に対して書き込む。   In step SP1, the MPU 4 reads out the non-update target data that is not the update target of the update data from the data stored in the block BK10, and sets the read non-update target data and the update data as empty in the segment SG. Write to block BK13.

次いでMPU4はステップSP2において、ブロックBK10に対してデータ消去処理を実行する。   Next, the MPU 4 executes data erasure processing on the block BK10 in step SP2.

続いてMPU4はステップSP3へ移り、現在、ウェアレベリング実行モードになっているか否かを判定する。この場合このMPU4は、ウェアレベリング実行モードに未だ遷移していないので、このステップSP3で否定結果を得て、次のステップSP4へ移る。これに対しこのMPU4は、例えばウェアレベリング実行モードに遷移している場合、このステップSP3で肯定結果を得て、後述のステップSP5へ移りウェアレベリング処理を実行するようになされている。   Subsequently, the MPU 4 proceeds to step SP3, and determines whether or not it is currently in the wear leveling execution mode. In this case, since the MPU 4 has not yet transitioned to the wear leveling execution mode, a negative result is obtained in this step SP3, and the process proceeds to the next step SP4. On the other hand, when the MPU 4 has transitioned to the wear leveling execution mode, for example, the MPU 4 obtains a positive result in this step SP3, moves to step SP5 described later, and executes the wear leveling process.

ステップSP4においてMPU4は、ステップSP2でデータ消去処理したブロックBK10の消去処理状況情報が、そのデータ消去処理をする前に「0」に設定されていたか否かを判定する。この場合ここで肯定結果が得られるので、MPU4はウェアレベリング実行モードに遷移し、続くステップSP5へ移ってウェアレベリング処理を開始する。   In step SP4, the MPU 4 determines whether or not the erasure processing status information of the block BK10 subjected to the data erasure processing in step SP2 has been set to “0” before the data erasure processing is performed. In this case, since an affirmative result is obtained here, the MPU 4 shifts to the wear leveling execution mode, moves to the subsequent step SP5, and starts the wear leveling process.

因みに、ステップSP2でデータ消去処理したブロックBK10の消去処理状況情報が、そのデータ消去処理をする前「1」に設定されていた場合、MPU4はこのステップSP4で否定結果を得て、後述のステップSP9へ移るようになされている。   Incidentally, when the erasure processing status information of the block BK10 subjected to the data erasure processing in step SP2 is set to “1” before the data erasure processing, the MPU 4 obtains a negative result in this step SP4, and will be described later. The process moves to SP9.

ステップSP5においてMPU4は、例えば図2(A)に示すセグメントSG中の各ブロックBKに対応付けられた消去処理状況情報を参照し、これにより消去処理状況情報「1」が対応付けられているブロックBKを認識できたか否かを判定する。この場合MPU4は、消去処理状況情報「1」が対応付けられているブロック(上述の未消去処理ブロック)BK1を認識し、この結果ステップSP5において肯定結果を得て、続くステップSP6へ移る。   In step SP5, the MPU 4 refers to, for example, the erasure processing status information associated with each block BK in the segment SG shown in FIG. 2A, and thereby the erasure processing status information “1” is associated with the block. It is determined whether or not BK can be recognized. In this case, the MPU 4 recognizes the block (the above-mentioned non-erased processing block) BK1 associated with the erasing process status information “1”, and as a result, obtains a positive result in step SP5 and proceeds to the subsequent step SP6.

これに対しMPU4は、例えば消去処理状況情報「1」が対応付けられているブロックBKを1つも認識し得なかった場合、ステップSP5で否定結果を得てステップSP11へ移り、セグメントSG中の各ブロックBKに対応付けられた全ての消去処理状況情報を「0」から「1」へリセットすると共に、ウェアレベリング非実行モードに遷移するようになされている。   On the other hand, if the MPU 4 cannot recognize any block BK associated with the erasure processing status information “1”, for example, the MPU 4 obtains a negative result in step SP5, moves to step SP11, and moves to each of the segments SG. All the erasure processing status information associated with the block BK is reset from “0” to “1”, and at the same time, a transition is made to the wear leveling non-execution mode.

ステップSP6においてMPU4は、ステップSP5で認識したブロックBK1に記憶されているデータの1ページ分を、例えば現在データが記憶されていない他のブロック(上述の消去処理済ブロック)BK0へコピーする。   In step SP6, the MPU 4 copies one page of data stored in the block BK1 recognized in step SP5 to, for example, another block (the above-described erased block) BK0 in which no current data is stored.

続いてMPU4はステップSP7へ移り、ブロックBK1に記憶されている全てのデータをブロックBK0へコピーし終えたか否かを判定する。ここで例えば肯定結果が得られると、このことは、図2(B)に示すように、ブロックBK1に記憶されているデータの全てをブロックBK0へコピーし終えたことを意味しているので、このときMPU4は続くステップSP8へ移り、ブロックBK1に記憶されている古いデータを消去するデータ消去処理を実行すると共に、当該ブロックBK1の消去処理状況情報を「0」に変更し、続くステップSP9へ移る。   Subsequently, the MPU 4 proceeds to step SP7, and determines whether or not all data stored in the block BK1 has been copied to the block BK0. Here, for example, if a positive result is obtained, this means that all of the data stored in the block BK1 has been copied to the block BK0 as shown in FIG. At this time, the MPU 4 proceeds to the subsequent step SP8, executes a data erasing process for erasing old data stored in the block BK1, changes the erasing process status information of the block BK1 to “0”, and proceeds to the subsequent step SP9. Move.

これに対しこのステップSP7において例えば否定結果が得られると、このことは、ブロックBK1に記憶されているデータの全てを他のブロックBK0へコピーし終えていないことを意味しているので、このときMPU4はステップSP8をスキップし、ステップSP9以降の処理を順次実行するようになされている。   On the other hand, if a negative result is obtained in step SP7, for example, this means that all of the data stored in the block BK1 has not been copied to the other block BK0. The MPU 4 skips step SP8 and sequentially executes the processing after step SP9.

ステップSP9においてMPU4は、論物変換テーブルの更新処理(BMAP更新処理)を実行し、次のステップSP10へ移る。この論物変換テーブルの更新処理では、例えば、ステップSP1及びSP2の処理によりブロックBK10のデータがブロックBK13に移動したことに伴う、論理アドレス及び物理アドレスの対応付けの更新を行う。   In step SP9, the MPU 4 executes a logical-physical conversion table update process (BMAP update process), and proceeds to the next step SP10. In the logical-physical conversion table update process, for example, the correspondence between the logical address and the physical address is updated when the data in the block BK10 is moved to the block BK13 by the processes in steps SP1 and SP2.

ところで本実施の形態の場合、この半導体記憶装置1は、同じ論物変換テーブルを2つ保持している。すなわち、1つ目の論物変換テーブルはステップSP9で更新されるものであり、当該1つ目の論物変換テーブルのダミーとして設けられている2つ目の論物変換テーブルは、当該1つ目の論物変換テーブルに対する更新が正常に行われたか否かを確認する際に用いられるものである。またこの半導体記憶装置1は、不揮発性メモリ2A中のシステムエリアを管理するための管理情報が書き込まれた管理用テーブルも保持している。この管理用テーブルには、論物変換テーブルの記憶場所を示すアドレス等も書き込まれる。   By the way, in the case of the present embodiment, this semiconductor memory device 1 holds two identical logical-physical conversion tables. That is, the first logical-physical conversion table is updated in step SP9, and the second logical-physical conversion table provided as a dummy of the first logical-physical conversion table is the one. This is used when confirming whether or not the update to the logical-physical conversion table of the eye has been normally performed. The semiconductor memory device 1 also holds a management table in which management information for managing the system area in the nonvolatile memory 2A is written. In this management table, an address indicating the storage location of the logical-physical conversion table is also written.

ステップSP10においてMPU4は、2つ目の論物変換テーブルを更新する更新処理(DUMMY更新処理)を実行すると共に、必要に応じて管理用テーブルを更新する更新処理(SMAP更新処理)を実行し、終了ステップSP12へ移ってデータ書き込み処理手順RT1を終了する。この後さらに外部機器から、例えばこのセグメントSG中の何れかのブロックBKに記憶されているデータを更新するための更新データが供給されると、半導体記憶装置1は、このデータ書き込み処理手順RT1をステップSP1から再度開始するようになされている。   In step SP10, the MPU 4 executes an update process (DUMMY update process) for updating the second logical-physical conversion table, and also executes an update process (SMAP update process) for updating the management table as necessary. The process proceeds to end step SP12, and the data write processing procedure RT1 is ended. Thereafter, when update data for updating data stored in, for example, any block BK in the segment SG is supplied from an external device, the semiconductor memory device 1 executes the data write processing procedure RT1. The process starts again from step SP1.

(2)動作及び効果
以上の構成においてこの半導体記憶装置1は、消去処理状況情報のリセット後既にデータ消去処理が実行されたブロックBK10(図2(A))に対して、データ消去処理が再度実行されたとき、ウェアレベリング処理を開始する。
(2) Operation and Effect In the above configuration, the semiconductor memory device 1 performs the data erasure process again on the block BK10 (FIG. 2A) in which the data erasure process has already been executed after the erase process status information is reset. When executed, it starts the wear leveling process.

このウェアレベリング処理では、このセグメントSG中の各ブロックBKに対応付けられて記憶されている消去処理状況情報に基づいて、リセット以後未だデータ消去処理されていない例えばブロックBK1を認識し、当該認識したブロックBK1に記憶されているデータを、現在データが記憶されていない他のブロックBK0へ移動させるようにした。   In this wear leveling process, for example, the block BK1 that has not been subjected to the data erasure process after the reset is recognized based on the erasure process status information stored in association with each block BK in the segment SG, and the recognition is performed. The data stored in the block BK1 is moved to another block BK0 in which no current data is stored.

これにより、データ消去処理されないために同じデータが記憶されたままになっているブロックBK(不動ブロック)を確実に減らすことができる。   Thereby, the blocks BK (non-moving blocks) in which the same data remains stored because the data erasure process is not performed can be surely reduced.

またこの半導体記憶装置1においては、各ブロックBKに対しそれぞれ消去処理状況情報が記憶させているが、この消去処理状況情報は、データ消去処理が実行されたか否かのみを示すだけなので1ブロックBKごとに1ビット(「0」及び「1」のみ)の情報量で済み、この結果、消去管理テーブル等を保持しなければならない従来構成と比べて構成を格段と簡易化することができる。   In this semiconductor memory device 1, erase processing status information is stored for each block BK. Since this erase processing status information only indicates whether or not data erasing processing has been executed, one block BK is stored. Each bit requires only 1 bit (only “0” and “1”), and as a result, the configuration can be greatly simplified as compared with the conventional configuration in which an erasure management table or the like must be held.

以上の構成によれば、不揮発性メモリ2Aの各ブロックBKに対応付けられた、データ消去処理が実行されたか否かを「0」及び「1」により示す消去処理状況情報に基づいて、未だデータ消去処理されていないブロックBK1を認識し、当該認識したブロックBK1に記憶されているデータを、他のブロックBK0へ移動させるようにしたことにより、データ消去処理されないために同じデータが記憶されたままになっているブロックBK(不動ブロック)を減らすことができ、かくして格段と簡易な構成で不揮発性メモリ2Aの各ブロックBKに対する負荷をより均一化することができる半導体記憶装置1を実現することができる。   According to the above configuration, the data is not yet stored on the basis of the erasure process status information indicated by “0” and “1” indicating whether or not the data erasure process is executed, which is associated with each block BK of the nonvolatile memory 2A. By recognizing the block BK1 that has not been erased and moving the data stored in the recognized block BK1 to another block BK0, the same data remains stored because the data is not erased. It is possible to reduce the number of blocks BK (non-moving blocks), and thus to realize the semiconductor memory device 1 that can make the load on each block BK of the nonvolatile memory 2A more uniform with a remarkably simple configuration. it can.

また本実施の形態の場合、図2(A)に示すように、リセット以後未だデータ消去処理されていないブロック(未消去処理ブロック)BK1に記憶されている、更新される可能性の低いデータを、リセット以後既にデータ消去処理されたことのあるブロック(消去処理済ブロック)BK0へ移動するようにした。このようにして、既にデータ消去処理が何回も行われた可能性のある消去処理済ブロックBK0に、更新される可能性の低いデータを記憶保持させれば、これ以降この消去処理済ブロックBK0にデータ消去処理が集中してしまうことを回避することができ、かくして各ブロックBKに対する負荷を格段と確実に均一化することができる。   In the case of the present embodiment, as shown in FIG. 2 (A), data stored in a block (unerased processing block) BK1 that has not yet been subjected to data erasing processing after reset is not likely to be updated. Then, after the reset, the block is moved to a block (erase-processed block) BK0 that has already been subjected to data erase processing. In this way, if data that is unlikely to be updated is stored and held in the erased block BK0 that may have been subjected to data erasure processing many times, the erased block BK0 is thereafter stored. Therefore, it is possible to avoid the concentration of the data erasing process, and thus the load on each block BK can be remarkably equalized.

さらに本実施の形態の場合のウェアレベリング処理では、不揮発性メモリ2Aの何れかのブロックBKに対してデータを書き込む処理が実行される度に、未消去処理ブロックBK1に記憶されているデータを少しずつ(1ページ分ずつ)、消去処理済ブロックBK0に移動させるようにした。これにより、未消去処理ブロックBK1に記憶されているデータを消去処理済ブロックBK0に移動させる処理に起因して、不揮発性メモリ2Aに対するデータの書き込み処理が遅くなってしまうことを回避することができる。   Further, in the wear leveling process in the present embodiment, every time a process of writing data to any block BK of the nonvolatile memory 2A is executed, a little data is stored in the unerased process block BK1. Each (one page) is moved to the erased block BK0. As a result, it is possible to prevent the data writing process to the nonvolatile memory 2A from being delayed due to the process of moving the data stored in the unerased processing block BK1 to the erased block BK0. .

ところで、本実施の形態の半導体記憶装置1に対し次のような試験を行ってその効果を確認した。すなわちこの試験では、不揮発性メモリ2Aの全容量をデータで満たした後このデータを全て一旦消去し、次いでこの不揮発性メモリ2Aの半分の容量をデータで再度満たした後これを消去する、という処理を繰り返し行った。この結果、従来の第2の手法を適用した半導体記憶装置では、不揮発性メモリ2Aの全ブロックBKのうち約40%が不動ブロックBKになってしまうところ、本実施の形態の半導体記憶装置1では、不動ブロックBKの数を約3%まで抑制することができた。また本実施の形態の半導体記憶装置1では、第2の手法を適用した場合と比べて、その寿命を約25%向上させることができた。さらに本実施の形態の半導体記憶装置1では、上述したように、未消去処理ブロックBK1に記憶されている全てのデータを1度に他のブロックBK0へ移動させるのではなく、当該データを少しずつ他のブロックBK0へ移動させるようにしたことにより、メディアとしてのパフォーマンス(更新データの書き込み処理速度等)への影響を、約1%未満に抑制することができた。   By the way, the following test was performed on the semiconductor memory device 1 of the present embodiment to confirm the effect. That is, in this test, the entire capacity of the nonvolatile memory 2A is filled with data, and then all the data is temporarily erased. Then, the half capacity of the nonvolatile memory 2A is filled again with data and then erased. Was repeated. As a result, in the semiconductor memory device to which the second conventional technique is applied, about 40% of all the blocks BK in the nonvolatile memory 2A become the non-moving blocks BK. In the semiconductor memory device 1 of the present embodiment, The number of immobile blocks BK could be suppressed to about 3%. Further, in the semiconductor memory device 1 of the present embodiment, the lifetime could be improved by about 25% compared to the case where the second method was applied. Furthermore, in the semiconductor memory device 1 of the present embodiment, as described above, not all the data stored in the unerased processing block BK1 is moved to another block BK0 at a time, but the data is moved little by little. By moving to another block BK0, it was possible to suppress the influence on performance as a medium (update data write processing speed, etc.) to less than about 1%.

なお上述の実施の形態においては、データ消去処理が実行されていない旨の消去処理状況情報が対応付けられたブロックに記憶されているデータを他のブロックに移動させるデータ移動処理(ウェアレベリング処理)を実行するデータ移動手段として、MPU4を適用する場合について述べたが、本発明はこれに限らず、この他種々の構成を適用することができる。   In the above-described embodiment, data movement processing (wear leveling processing) for moving data stored in a block associated with erasure processing status information indicating that data erasure processing has not been executed to another block. Although the case where the MPU 4 is applied as the data moving means for executing the above has been described, the present invention is not limited to this, and various other configurations can be applied.

本発明は、不揮発性メモリを有する半導体記憶装置等に利用することができる。   The present invention can be used for a semiconductor memory device having a nonvolatile memory.

本実施の形態におけるカード型の半導体記憶装置の構成を示す略線図である。It is a basic diagram which shows the structure of the card-type semiconductor memory device in this Embodiment. ウェアレベリング処理の様子を示す略線図である。It is a basic diagram which shows the mode of a wear leveling process. データ書き込み処理手順を示すフローチャートである。It is a flowchart which shows a data write-in process procedure. 従来の書き込み処理(1)を示す略線図である。It is an approximate line figure showing conventional writing processing (1). 従来の書き込み処理(2)を示す略線図である。It is an approximate line figure showing conventional writing processing (2).

符号の説明Explanation of symbols

1……半導体記憶装置、2……メモリ部、2A……不揮発性メモリ、4……MPU、BK……ブロック、SG……セグメント。
DESCRIPTION OF SYMBOLS 1 ... Semiconductor memory device, 2 ... Memory part, 2A ... Nonvolatile memory, 4 ... MPU, BK ... Block, SG ... Segment.

Claims (12)

データを記憶するためのブロックを複数有し、各上記ブロックに対しデータ消去処理が実行されたか否かを示す消去処理状況情報が対応付けられる不揮発性メモリと、
データ消去処理が実行されていない旨の上記消去処理状況情報が対応付けられた上記ブロックに記憶されているデータを他の上記ブロックに移動させるデータ移動処理を実行するデータ移動手段と
を具えることを特徴とする半導体記憶装置。
A non-volatile memory having a plurality of blocks for storing data and associated with erasure processing status information indicating whether or not the data erasure processing has been executed for each of the blocks;
Data movement means for executing data movement processing for moving data stored in the block associated with the erasure processing status information indicating that data erasure processing is not executed to another block. A semiconductor memory device.
上記他のブロックは、データ消去処理が実行された旨の上記消去処理状況情報が対応付けられてなる
ことを特徴とする請求項1に記載の半導体記憶装置。
The semiconductor memory device according to claim 1, wherein the other block is associated with the erasure process status information indicating that the data erasure process has been executed.
上記データ移動処理では、上記不揮発性メモリの何れかの上記ブロックに対してデータを書き込む処理が実行される度に、データ消去処理が実行されていない旨の上記消去処理状況情報が対応付けられた上記ブロックに記憶されているデータを、所定量ずつ上記他のブロックに移動させる
ことを特徴とする請求項1に記載の半導体記憶装置。
In the data movement process, each time a process of writing data to any of the blocks of the nonvolatile memory is executed, the erasure process status information indicating that the data erasure process is not executed is associated. The semiconductor memory device according to claim 1, wherein data stored in the block is moved to the other block by a predetermined amount.
上記データ移動手段は、データ消去処理が実行された旨の上記消去処理状況情報が対応付けられている上記ブロックに対してデータ消去処理が再度実行された場合に、上記データ移動処理を開始する
ことを特徴とする請求項1に記載の半導体記憶装置。
The data moving means starts the data moving process when the data erasing process is executed again for the block associated with the erasing process status information indicating that the data erasing process has been executed. The semiconductor memory device according to claim 1.
上記データ移動手段は、各上記ブロックに対応付けられている全ての上記消去処理状況情報においてデータ消去処理が実行された旨が示されるまで、上記データ移動処理を実行する
ことを特徴とする請求項1に記載の半導体記憶装置。
The data movement means executes the data movement processing until it is indicated that the data erasure processing is executed in all the erasure processing status information associated with each block. 2. The semiconductor memory device according to 1.
上記全ての消去処理状況情報においてデータ消去処理が実行された旨が示されたとき、データ消去処理が実行されていない旨を示すように当該全ての消去処理状況情報を更新する更新手段
を具えることを特徴とする請求項5に記載の半導体記憶装置。
And updating means for updating all the erasure processing status information so as to indicate that the data erasure processing has not been executed when all the erasure processing status information indicates that the data erasure processing has been executed. The semiconductor memory device according to claim 5.
データを記憶するためのブロックを複数有し各上記ブロックに対しデータ消去処理が実行されたか否かを示す消去処理状況情報が対応付けられる不揮発性メモリの上記ブロックの中から、データ消去処理が実行されていない旨の上記消去処理状況情報が対応付けられた上記ブロックを認識する第1のステップと、
上記認識したブロックに記憶されているデータを他の上記ブロックに移動させるデータ移動処理を実行する第2のステップと
を具えることを特徴とする半導体記憶装置のデータ移動方法。
Data erasure processing is executed from among the blocks of the non-volatile memory having a plurality of blocks for storing data and associated with erasure processing status information indicating whether or not data erasure processing has been executed for each of the blocks. A first step of recognizing the block associated with the erasure processing status information indicating that it has not been performed;
A data movement method for a semiconductor memory device, comprising: a second step of executing a data movement process for moving data stored in the recognized block to another block.
上記他のブロックは、データ消去処理が実行された旨の上記消去処理状況情報が対応付けられてなる
ことを特徴とする請求項7に記載の半導体記憶装置のデータ移動方法。
8. The data movement method for a semiconductor memory device according to claim 7, wherein the other block is associated with the erasure process status information indicating that the data erasure process has been executed.
上記データ移動処理では、上記不揮発性メモリの何れかの上記ブロックに対してデータを書き込む処理が実行される度に、データ消去処理が実行されていない旨の上記消去処理状況情報が対応付けられた上記ブロックに記憶されているデータを、所定量ずつ上記他のブロックに移動させる
ことを特徴とする請求項7に記載の半導体記憶装置のデータ移動方法。
In the data movement process, each time a process of writing data to any of the blocks of the nonvolatile memory is executed, the erasure process status information indicating that the data erasure process is not executed is associated. 8. The data movement method for a semiconductor memory device according to claim 7, wherein the data stored in the block is moved to the other block by a predetermined amount.
上記第2のステップでは、データ消去処理が実行された旨の上記消去処理状況情報が対応付けられている上記ブロックに対してデータ消去処理が再度実行された場合に、上記データ移動処理を開始する
ことを特徴とする請求項7に記載の半導体記憶装置のデータ移動方法。
In the second step, the data movement process is started when the data erasure process is executed again for the block associated with the erasure process status information indicating that the data erasure process has been executed. 8. The method for moving data in a semiconductor memory device according to claim 7, wherein:
上記第2のステップでは、各上記ブロックに対応付けられている全ての上記消去処理状況情報においてデータ消去処理が実行された旨が示されるまで、上記データ移動処理を実行する
ことを特徴とする請求項7に記載の半導体記憶装置のデータ移動方法。
In the second step, the data movement process is executed until it is indicated that the data erasure process has been executed in all the erasure process status information associated with each block. Item 8. A data movement method for a semiconductor memory device according to Item 7.
上記全ての消去処理状況情報においてデータ消去処理が実行された旨が示されたとき、データ消去処理が実行されていない旨を示すように当該全ての消去処理状況情報を更新する
ことを特徴とする請求項11に記載の半導体記憶装置のデータ移動方法。
When all the erasure processing status information indicates that the data erasure processing has been executed, all the erasure processing status information is updated to indicate that the data erasure processing has not been executed. The data movement method of the semiconductor memory device according to claim 11.
JP2004193887A 2004-06-30 2004-06-30 Semiconductor storage device and data movement method thereof Pending JP2006018893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004193887A JP2006018893A (en) 2004-06-30 2004-06-30 Semiconductor storage device and data movement method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004193887A JP2006018893A (en) 2004-06-30 2004-06-30 Semiconductor storage device and data movement method thereof

Publications (1)

Publication Number Publication Date
JP2006018893A true JP2006018893A (en) 2006-01-19

Family

ID=35793028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004193887A Pending JP2006018893A (en) 2004-06-30 2004-06-30 Semiconductor storage device and data movement method thereof

Country Status (1)

Country Link
JP (1) JP2006018893A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117489B2 (en) 2008-06-06 2012-02-14 Hitachi Global Storage Technologies, Netherlands B.V. Disk drive and method for controlling the disk drive

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117489B2 (en) 2008-06-06 2012-02-14 Hitachi Global Storage Technologies, Netherlands B.V. Disk drive and method for controlling the disk drive

Similar Documents

Publication Publication Date Title
US9400744B2 (en) Magnetic random access memory journal for multi-level cell flash memory
JP5002201B2 (en) Memory system
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
CN109062827B (en) Flash memory control device, flash memory control system, and flash memory control method
US10168913B2 (en) Data storage device and data maintenance method thereof
JP5612514B2 (en) Nonvolatile memory controller and nonvolatile storage device
US7773420B2 (en) Memory card system including NAND flash memory and SRAM/NOR flash memory, and data storage method thereof
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US20190095100A1 (en) Block Clearing Method
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN103425589A (en) Control apparatus, storage device, and storage control method
US20170162267A1 (en) Data Storage Device and Data Maintenance Method
JP2006243780A (en) Memory controller, flash memory system and control method of flash memory
US8819332B2 (en) Nonvolatile storage device performing periodic error correction during successive page copy operations
US20170285953A1 (en) Data Storage Device and Data Maintenance Method thereof
JP4177360B2 (en) Memory controller, flash memory system, and flash memory control method
JPWO2007105688A1 (en) MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM
US8046529B2 (en) Updating control information in non-volatile memory to control selection of content
JP2006195736A (en) Semiconductor storage device and control method for same
CN103389943A (en) Control device, storage device, and storage control method
JP2006018893A (en) Semiconductor storage device and data movement method thereof
JP4177292B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD
CN114089908A (en) Nonvolatile memory and operating method thereof
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP4888333B2 (en) Flash disk device