JP4866107B2 - Nonvolatile memory device and write determination method thereof - Google Patents

Nonvolatile memory device and write determination method thereof Download PDF

Info

Publication number
JP4866107B2
JP4866107B2 JP2006062550A JP2006062550A JP4866107B2 JP 4866107 B2 JP4866107 B2 JP 4866107B2 JP 2006062550 A JP2006062550 A JP 2006062550A JP 2006062550 A JP2006062550 A JP 2006062550A JP 4866107 B2 JP4866107 B2 JP 4866107B2
Authority
JP
Japan
Prior art keywords
write
unit
writing
data
nonvolatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006062550A
Other languages
Japanese (ja)
Other versions
JP2007241618A5 (en
JP2007241618A (en
Inventor
利行 本多
広和 宗
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006062550A priority Critical patent/JP4866107B2/en
Publication of JP2007241618A publication Critical patent/JP2007241618A/en
Publication of JP2007241618A5 publication Critical patent/JP2007241618A5/ja
Application granted granted Critical
Publication of JP4866107B2 publication Critical patent/JP4866107B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that it becomes the same as the entire deletion completion though the deletion of a physical page is not completed for data after error correction is performed after power interruption immediately after starting write to the physical page and determination as the state that write is normally performed is erroneously made. <P>SOLUTION: When writing the data to a nonvolatile memory, a write mark is surely written simultaneously. Information is read for each of a plurality of write units included in a unit block and the error correction of the read information is performed by an error correction function. Then, a write state for each write unit is determined on the basis of the read information of the write mark. <P>COPYRIGHT: (C)2007,JPO&amp;INPIT

Description

本発明は、フラッシュメモリ等の不揮発性メモリを用いた不揮発性記憶装置及びその書き込み判定方法に関する。   The present invention relates to a non-volatile storage device using a non-volatile memory such as a flash memory and a write determination method thereof.

近年、不揮発性メモリを搭載した不揮発性記憶装置は、メモリカードとして実用化されており、デジタルカメラや携帯電話のメモリカードとして市場を拡大している。メモリカードはデジタルカメラの高画素化や、携帯電話での動画記録等の用途へ向けて大容量化・高速化の拡がりを見せている。   In recent years, a nonvolatile memory device equipped with a nonvolatile memory has been put into practical use as a memory card, and the market has been expanded as a memory card for digital cameras and mobile phones. Memory cards are expanding in capacity and speed for applications such as higher pixel count of digital cameras and video recording on mobile phones.

メモリカードで使用されている主な不揮発性メモリはフラッシュメモリである。フラッシュメモリは大容量化に伴い、消去単位である物理ブロックサイズが拡大する傾向にあるが、メモリカードとしてホスト及びホストを操作するユーザー側から見た管理単位は一定である。その結果メモリカードに搭載されているメモリコントローラの制御によりホスト側のデータの管理と、フラッシュメモリ側のデータの管理の調整を行う必要がある。   The main nonvolatile memory used in the memory card is a flash memory. As the capacity of flash memory increases, the physical block size, which is an erasure unit, tends to increase. However, the management unit viewed from the host and the user operating the host as a memory card is constant. As a result, it is necessary to adjust the data management on the host side and the data management on the flash memory side under the control of the memory controller mounted on the memory card.

又この不揮発性メモリには信頼性を向上させるためにデータの書き込み時に誤り訂正符号(以下、単にECCという)を付加し、読出し後に誤り訂正を行っている。物理ブロックに対し途中まで書込まれた状態を管理するものが知られている。   In order to improve reliability, an error correction code (hereinafter simply referred to as ECC) is added to the nonvolatile memory when data is written, and error correction is performed after reading. A device that manages a state in which a physical block is written halfway is known.

一般的にホストがメモリカードに格納するデータの管理単位は物理ブロックの容量である128kBに比べて小さく、例えば16kBである。従ってメモリコントローラは物理ブロックに対して途中まで書き込まれた状態を管理する必要が出てくる。物理ブロックにおける部分的な書き込みを管理する方法については特許文献1でも述べられている。
特開2001−154909
In general, the management unit of data stored in the memory card by the host is smaller than 128 kB which is the capacity of the physical block, for example, 16 kB. Therefore, it becomes necessary for the memory controller to manage the state written halfway to the physical block. A method for managing partial writing in a physical block is also described in Patent Document 1.
JP 2001-154909 A

しかしながら、従来の書き込み判定方法では、物理ページの書き込み途中での電源遮断により、本来の書き込みデータが正常に書き込まれていない事を、ECC回路で訂正が不可能な誤りが発生していることで判断する。この判断方法は概ね良好に電源遮断によってデータが正しく書き込まれていないことを検出できる。しかし、電源遮断が発生して本来書き込むべきデータが正しく書き込まれていないにもかかわらずECC回路によって誤り訂正可能と判断される場合、特に物理ページへの書き込み開始直後の電源遮断によりほとんど全てのビットに対してはデータは未書き込みであり、訂正可能な範囲でのわずかなビットのみ書き込みが行われている場合には、誤り訂正を行った後のデータは全消去済と同じ全て”1”になる。この場合は物理ページの消去済みではなく、なおかつ正常にデータが書き込まれていないにもかかわらず、正常に書き込みが行われた状態と誤判定してしまうという可能性がある。誤判定が発生した場合、正常に書き込まれたわけでもないデータを正常に書き込まれていると判断するために、誤判定によって誤って更新される元のデータが全消去済みと同じ”1”のデータに置き換えられて、元のデータを消失してしまい、データの信頼性を維持できない事態を引き起こす可能性があるという課題がある。   However, in the conventional write determination method, an error that cannot be corrected by the ECC circuit has occurred because the original write data has not been normally written due to the power interruption during the writing of the physical page. to decide. This determination method can detect that data has not been written correctly due to power shutdown. However, when power is interrupted and the data to be originally written is not written correctly, it is determined that the error correction is possible by the ECC circuit. If no data is written and only a few bits within the correctable range are written, the data after error correction is all “1”, which is the same as all erased. Become. In this case, there is a possibility that the physical page has not been erased, and it is erroneously determined that the data has been normally written even though the data has not been normally written. If an erroneous determination occurs, the original data that is erroneously updated by the erroneous determination is the same as all erased data in order to determine that data that has not been written normally is written normally. There is a problem that the original data may be lost and the reliability of the data may not be maintained.

書き込み途中の電源遮断等の異常を正確に検出することができる不揮発性記憶装置及びその書き込み判定方法を提供することを目的とする。   It is an object of the present invention to provide a nonvolatile memory device and a method for determining writing thereof that can accurately detect an abnormality such as a power interruption during writing.

この課題を解決するため、本発明の不揮発性記憶装置は、複数の消去単位ブロックからなる記憶領域を含み、ユーザデータを記憶すると共に、1又は複数の書き込み単位毎に書き込みマークを記憶する領域を有する不揮発性メモリと、前記不揮発性メモリにデータを書き込み及び読み出すメモリコントローラと、を具備し、前記メモリコントローラは、前記不揮発性メモリから読み出されたデータが全て消去されているデータかどうかを検出する全消去検出回路と、読み出されたデータの誤りを検出および訂正する誤り検出訂正回路と、前記不揮発性メモリにデータを書き込む際には書き込みマーク内に書き込みマークを記録する一方、データの読み出し時には前記書き込みマークと前記全消去検出回路の出力と前記誤り検出訂正回路の出力に基づいて書き込み後の異常を検出する制御回路と、を有するものである。 In order to solve this problem, the nonvolatile memory device of the present invention includes a storage area including a plurality of erase unit blocks, stores user data, and stores an area for storing a write mark for each one or a plurality of write units. A non-volatile memory, and a memory controller that writes and reads data to and from the non-volatile memory, and the memory controller detects whether all the data read from the non-volatile memory has been erased An erase detection circuit that detects and corrects errors in the read data, and when writing data to the non-volatile memory , the write mark is recorded in the write mark while the data is read sometimes the output of the write mark and the output of the total erasure detection circuit and the error detecting and correcting circuit A control circuit for detecting an abnormality of the after writing based and has a.

ここで外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、前記書き込みマークは、管理単位内において最大書き込み単位に区分したときに、最終の最大書き込み単位の書き込み単位毎に設けられるようにしてもよい。   Here, the minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing with a single write command to the nonvolatile memory is the write unit. Assuming that the maximum unit that can be written with a single write command to the memory is the maximum write unit, the write mark is the write unit of the final maximum write unit when it is divided into the maximum write units within the management unit. You may make it provide for every.

ここで外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、前記書き込みマークは、管理単位が最大書き込み単位以下のときに全ての書き込み単位毎に設けられるようにしてもよい。   Here, the minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing with a single write command to the nonvolatile memory is the write unit. If the maximum unit that can be written by a single write command to the memory is the maximum write unit, the write mark is provided for every write unit when the management unit is less than or equal to the maximum write unit. Also good.

ここで前記消去単位ブロックは、複数の不揮発性メモリにまたがる消去単位をグループとして構成されているようにしてもよい。   Here, the erasing unit block may be configured by erasing units across a plurality of nonvolatile memories as a group.

ここで前記消去単位ブロックは、不揮発性メモリの消去単位の整数倍で構成されているようにしてもよい。   Here, the erase unit block may be constituted by an integral multiple of the erase unit of the nonvolatile memory.

この課題を解決するため、本発明の不揮発性記憶装置の書き込み判定方法は、複数の消去単位ブロックからなる記憶領域を含み、ユーザデータを記憶すると共に、1又は複数の書き込み単位毎に書き込みマークを記憶する領域を有する不揮発性メモリと、前記不揮発性メモリにデータを書き込み及び読み出すメモリコントローラと、を具備する不揮発性記憶装置の書き込み判定方法であって、前記単位ブロックに含まれる少なくとも1つの複数の書き込み単位毎にデータを読み出す読み出しステップと、読み出したデータが全て消去されているデータかどうかを判定する消去済み判定ステップと、前記読み出しステップで読み出したデータの誤り訂正を行う誤り訂正ステップと、データの読み出し時には前記書き込みマークの有無に基づいて書き込み時の異常を検出するステップと、を含み、前記不揮発性メモリの書き込み状態を判定するものである。   In order to solve this problem, a write determination method for a nonvolatile storage device according to the present invention includes a storage area including a plurality of erase unit blocks, stores user data, and writes a write mark for each one or a plurality of write units. A non-volatile memory having a storage area, and a memory controller for writing and reading data to and from the non-volatile memory, and a non-volatile storage device write determination method comprising: at least one of a plurality of at least one plurality of units included in the unit block A read step for reading data for each writing unit, an erased determination step for determining whether or not all read data is erased data, an error correction step for performing error correction on the data read in the read step, and data Based on the presence or absence of the write mark when reading It includes a step of detecting an abnormality when write attempts, and is to determine the programming state of the non-volatile memory.

ここで前記読み出したデータが消去済みでないと判定され、且つ前記書き込みマークが未書き込みの場合には前記書き込み単位の書き込み中に異常が発生したと判断するようにしてもよい。   Here, when it is determined that the read data has not been erased and the write mark is not yet written, it may be determined that an abnormality has occurred during writing in the write unit.

ここで外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、前記書き込みマークは、管理単位内において最大書き込み単位に区分したときに、最終の最大書き込み単位の書き込み単位毎に設けられているようにしてもよい。   Here, the minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing with a single write command to the nonvolatile memory is the write unit. Assuming that the maximum unit that can be written with a single write command to the memory is the maximum write unit, the write mark is the write unit of the final maximum write unit when it is divided into the maximum write units within the management unit. It may be provided for each.

ここで外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、前記書き込みマークは、管理単位が最大書き込み単位以下のときに全ての書き込み単位毎に設けられるようにしてもよい。   Here, the minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing with a single write command to the nonvolatile memory is the write unit. If the maximum unit that can be written by a single write command to the memory is the maximum write unit, the write mark is provided for every write unit when the management unit is less than or equal to the maximum write unit. Also good.

ここで前記消去単位ブロックは、複数の前記不揮発性メモリにまたがる消去単位をグループとして構成されているようにしてもよい。   Here, the erase unit block may be configured as a group of erase units that span a plurality of the nonvolatile memories.

ここで前記消去単位ブロックは、前記不揮発性メモリの消去単位の整数倍で構成されているようにしてもよい。   Here, the erase unit block may be constituted by an integral multiple of the erase unit of the nonvolatile memory.

以上のように本発明によれば、全消去検出回路の出力と書き込みマークの有無に基づいて書き込み状態を制御回路によって判定することによって、正確に書き込み途中の電源遮断等の異常を検出することのできる信頼性の高い不揮発性記憶装置及びその書き込み判定方法を提供することができる。   As described above, according to the present invention, the control state determines the write state based on the output of the all-erase detection circuit and the presence / absence of the write mark, thereby accurately detecting an abnormality such as power interruption during writing. It is possible to provide a highly reliable non-volatile memory device and a writing determination method thereof.

本発明の実施の形態による不揮発性記憶装置及びその書き込み判定方法について説明する。図1は本発明の実施の形態による不揮発性記憶装置及びホストを示すブロック図である。図1において、ホスト101は不揮発性記憶装置を取付けてデータを書き込み又は読み出すものである。メモリカード102は不揮発性記憶装置である。メモリカード102の内部には、ホスト101から書き込まれるデータが格納されるフラッシュメモリ103、ホスト101とインターフェース(IF)を制御すると共にフラッシュメモリ103の制御を行うメモリコントローラ104を含んでいる。メモリコントローラ104はホスト101とのインターフェースを制御するホストインターフェース(IF)105、及びフラッシュメモリ103とのインターフェースを制御するフラッシュインターフェース(IF)106が設けられる。制御回路107はメモリコントローラ104内部の動作を制御する制御部であり、後に詳細に説明するように書き込みマーク判定機能を有している。バッファメモリ108はメモリコントローラ104の内部にあってホスト101とフラッシュメモリ103の間の読み出し及び書き込みデータを一時格納するためのバッファである。バッファメモリ108は例えば512B(バイト)の容量を持つ。ECC回路109はホスト101からフラッシュメモリ103に書き込むデータに付加する誤り訂正符号(ECC)を生成する演算を行ったり、フラッシュメモリ103からホスト101へデータを読み出す際に誤り訂正演算を行い、誤りを訂正する回路である。ECC回路109はリードソロモン符号等が用いられるが、誤り訂正を行なう必要のあるデータ量よりも訂正符号の訂正能力を大きく取ることで、訂正能力以上の誤りが発生していることを検出することもできる(誤りの訂正位置を演算した結果がデータの存在しないアドレスになる場合や、データの存在しない訂正パターンになる場合)。全消去検出回路110はフラッシュメモリ103から読み出されたデータが全て消去済みであるか否かを判定するものである。   A nonvolatile memory device and a write determination method thereof according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a nonvolatile memory device and a host according to an embodiment of the present invention. In FIG. 1, a host 101 has a non-volatile storage device attached to write or read data. The memory card 102 is a nonvolatile storage device. The memory card 102 includes a flash memory 103 in which data to be written from the host 101 is stored, and a memory controller 104 that controls the interface (IF) with the host 101 and controls the flash memory 103. The memory controller 104 is provided with a host interface (IF) 105 that controls an interface with the host 101 and a flash interface (IF) 106 that controls an interface with the flash memory 103. The control circuit 107 is a control unit that controls the internal operation of the memory controller 104, and has a write mark determination function as will be described in detail later. The buffer memory 108 is a buffer inside the memory controller 104 for temporarily storing read and write data between the host 101 and the flash memory 103. The buffer memory 108 has a capacity of 512 B (bytes), for example. The ECC circuit 109 performs an operation for generating an error correction code (ECC) to be added to data to be written from the host 101 to the flash memory 103, or performs an error correction operation when data is read from the flash memory 103 to the host 101, and an error is corrected. This is a circuit to be corrected. The ECC circuit 109 uses a Reed-Solomon code or the like, but detects that an error exceeding the correction capability has occurred by taking a correction code correction capability larger than the amount of data that needs to be corrected. (The case where the result of calculating the error correction position is an address where data does not exist or a correction pattern where data does not exist). The all-erase detection circuit 110 determines whether all data read from the flash memory 103 has been erased.

図2はフラッシュメモリ103の内部の構成を示す。フラッシュメモリ103は例えば128MBの容量を持つフラッシュメモリとすると、内部にはPB0〜PB1023の1024個の物理ブロックがある。物理ブロックのそれぞれの容量は128kBであり、この物理ブロックがフラッシュメモリ103におけるデータの消去単位ブロックとなっている。なおここでの容量値は、ホストから転送されるユーザデータが格納される領域の容量を挙げており、実際にはECC等を格納する管理領域も併せ持っている。   FIG. 2 shows an internal configuration of the flash memory 103. If the flash memory 103 is a flash memory having a capacity of 128 MB, for example, there are 1024 physical blocks PB0 to PB1023 inside. Each physical block has a capacity of 128 kB, and this physical block is a data erasure unit block in the flash memory 103. The capacity value here indicates the capacity of the area where user data transferred from the host is stored, and actually has a management area for storing ECC and the like.

図3はフラッシュメモリの1つの物理ブロックの内部の構成を示す。各物理ブロックの内部には、PP0〜PP63の64個の物理ページがあり、それぞれの容量は2kBであり、この物理ページがフラッシュメモリ103における1回の書き込みコマンドで書き込みを行うことのできる単位である。なおここでも容量値はホストから転送されるユーザデータが格納される領域の容量を挙げており、実際にはECC等を格納する管理領域も併せ持っている。   FIG. 3 shows an internal configuration of one physical block of the flash memory. Within each physical block, there are 64 physical pages PP0 to PP63, each having a capacity of 2 kB, and this physical page is a unit that can be written by a single write command in the flash memory 103. is there. Note that the capacity value here also indicates the capacity of the area for storing user data transferred from the host, and actually has a management area for storing ECC and the like.

図4は物理ページの内部の論理データの構成の一例を示す。各物理ページには2kBのデータ領域と64Bの管理領域がある。データ領域にはホスト101からのデータが格納されており、管理領域には論理アドレスやECC等のメモリカード102内部で使用する管理情報が格納されている。なお、一般的に付加されるECC消去済みの状態でECCが正しいと判断されるように設定される。ここでも消去済みの状態では誤り訂正エラーが発生しない符号化を用いる。更に管理領域には書き込みマークを記録する領域を備えている。書き込みマークWMとは、データを書き込むときに必ず書き込む固定値の”0”であり、ここでは2ビットとする。書き込みマークは、書き込み単位である1物理ページにデータを書き込む際に、データ領域や管理領域ともに書き込みを行う。書き込みマークWMはECC演算の対象となる領域にあり、読み出しの際に誤りがあれば訂正の対象となる。   FIG. 4 shows an example of the configuration of logical data inside a physical page. Each physical page has a 2 kB data area and a 64 B management area. Data from the host 101 is stored in the data area, and management information used inside the memory card 102 such as a logical address and ECC is stored in the management area. It is set so that the ECC is judged to be correct in a state where ECC is generally added and erased. In this case, too, coding that does not cause an error correction error in the erased state is used. Further, the management area has an area for recording a write mark. The write mark WM is a fixed value “0” that is always written when data is written, and is 2 bits here. The write mark is written to both the data area and the management area when data is written to one physical page which is a write unit. The write mark WM is in the area to be subjected to the ECC calculation, and if there is an error in reading, it is to be corrected.

尚、この例では書き込み単位は1物理ページ、即ち2kBであり、管理単位も1物理ページ、即ち2kBとする。図5はフラッシュメモリ103の物理ブロック内部の一例を示しているが、物理ページPP0〜PP7までの16kBの容量部分にはデータが書き込み済みであり、物理ページPP8〜PP63まではまだ未書き込みの状態である。メモリコントローラ104はこの状態を管理することはもちろんのこと、メモリカード102に電源が投入された後に図5に示すような書き込み状態であることを判別する必要がある。そのためにメモリコントローラ104は物理ブロックの各物理ページのデータを読み出す際に、全消去検出回路110を用いて書き込み済であるのかそれとも未書き込みであるのかを判別する。   In this example, the writing unit is one physical page, that is, 2 kB, and the management unit is also one physical page, that is, 2 kB. FIG. 5 shows an example of the inside of the physical block of the flash memory 103, but data has been written in the 16 kB capacity portion of the physical pages PP0 to PP7, and the physical pages PP8 to PP63 are not yet written. It is. The memory controller 104 not only manages this state, but also needs to determine that the memory card 102 is in the write state as shown in FIG. 5 after the power is turned on. Therefore, when reading the data of each physical page of the physical block, the memory controller 104 uses the all erase detection circuit 110 to determine whether it has been written or not written.

図6は全消去検出回路110の簡単な構成を示す。全消去検出回路110の主な構成要素は論理積ゲート111とフリップフロップ112である。論理積ゲート111の出力はフリップフロップ112の入力であるD端子に接続されているとともに、論理積ゲート111の一方の入力はフリップフロップ112の出力であるQ端子に接続されている。また論理積ゲート111の他方の入力は全消去検出回路110の入力となっており、フリップフロップ112の出力であるQ端子が全消去検出回路110の出力となっている。フリップフロップ112は全消去検出回路110へのデータの入力と同期するクロック信号が入力される。   FIG. 6 shows a simple configuration of the all-erase detection circuit 110. The main components of the all-erase detection circuit 110 are an AND gate 111 and a flip-flop 112. The output of the AND gate 111 is connected to the D terminal that is the input of the flip-flop 112, and one input of the AND gate 111 is connected to the Q terminal that is the output of the flip-flop 112. The other input of the AND gate 111 is an input of the all erasure detection circuit 110, and the Q terminal which is the output of the flip-flop 112 is the output of the all erasure detection circuit 110. The flip-flop 112 receives a clock signal synchronized with data input to the all-erase detection circuit 110.

まず最初にメモリコントローラ104は消去済であるかそれとも書き込み済であるかを判定したい物理ページの読み出しに際して、全消去検出回路110のフリップフロップ112にラッチされたデータを”1”にセットする。そうしておいて物理ページの読み出しデータを全て全消去検出回路110に入力する。そうすると読み出し終了後に得られる全消去検出回路110の出力は、物理ページから読み出される全データを論理積演算したものになる。つまり全消去検出回路110の出力が”1”であれば物理ページのデータは全て”1”の未書き込みの状態であり、全消去検出回路110の出力が”0”であれば、物理ページのデータには”0”が少なくとも1ビットは存在する書き込み済の状態であることがわかる。   First, the memory controller 104 sets the data latched in the flip-flop 112 of the all-erase detection circuit 110 to “1” when reading a physical page to be determined whether it has been erased or written. Then, all read data of the physical page is input to the all-erase detection circuit 110. Then, the output of the all-erase detection circuit 110 obtained after the reading is completed is a logical product operation of all the data read from the physical page. That is, if the output of the all erase detection circuit 110 is “1”, the data on the physical page is all “1” in an unwritten state, and if the output of the all erase detection circuit 110 is “0”, It can be seen that “0” is present in the data, and at least one bit exists.

図7はある消去済みの物理ページのデータの状態を示した図である。物理ページはデータ領域と管理領域から構成され、管理領域には書き込みマーク領域WMがある。ここでは書き込みマーク領域WMに2ビットの領域を割り当てた場合について示している。消去済みの状態であるので、物理ページの全てのデータは”1”データで埋められている。書き込みマーク領域のデータも”1”である。   FIG. 7 is a diagram showing the data state of a certain erased physical page. The physical page includes a data area and a management area, and the management area includes a write mark area WM. Here, a case where a 2-bit area is allocated to the write mark area WM is shown. Since it has been erased, all data on the physical page is filled with “1” data. The data in the write mark area is also “1”.

図8はある書き込み済みの物理ページのデータの状態を示した図である。ハッチングで示された領域は”1”または”0”のどちらかのデータの領域である。データ領域はホスト101から送られるデータを格納するので”1”または”0”いずれかの状態であり、管理領域にある論理ブロック情報やECCも同様に”1”または”0”のいずれの状態もとりうる。しかし書き込みマーク領域WMのデータは”0”を書き込むことになっているので必ず”0”であり、図に示したような状態となる。   FIG. 8 is a diagram showing the data state of a written physical page. Areas indicated by hatching are data areas of either “1” or “0”. Since the data area stores data sent from the host 101, the data area is in either “1” or “0” state, and the logical block information and ECC in the management area are also in either “1” or “0” state. It can also take. However, since the data in the write mark area WM is to be written “0”, it is always “0”, and the state shown in FIG.

図9はある消去済みの物理ページに対して書き込みを開始した直後に電源遮断が発生した場合のデータの状態の一例を示した図である。データ領域及び管理領域のデータはほとんど”1”であるが、データ領域の901で示す1ビット及び管理領域の902で示す1ビットの合計2ビットのみがデータ”0”になっている。書き込みマーク領域WMには本来データ”0”が書き込まれるはずであったが、書き込み途中に電源遮断が生じたため、まだ未書き込みを示す”1”のままとなっている。   FIG. 9 is a diagram showing an example of a data state in the case where a power interruption occurs immediately after starting to write to a certain erased physical page. Data in the data area and the management area is almost “1”, but only a total of 2 bits, 1 bit indicated by 901 in the data area and 1 bit indicated by 902 in the management area, is data “0”. Although the data “0” was supposed to be written in the write mark area WM, the power is cut off during the writing, so that the data remains “1” indicating unwritten.

図9に示した物理ページの例に全消去検出回路110を適用して読み出した場合の出力結果は、”0”となっている領域901,902があるので書き込み済を表す”0”である。ここでECC回路109の性能が2ビット以上の誤りを訂正する能力を有していれば、誤り訂正処理を施して読み出すと、領域901と902のデータ”0”を”1”に訂正することが可能である。この場合はデータ領域及び管理領域のデータを全て”1”となるように訂正し、誤り訂正が不可能なエラーはないと判断する。ここで注意すべきはECCの誤り訂正を行った後で、書き込みマーク領域WMには何も書き込まれていない”1”の状態であるということである。   The output result when the all-erase detection circuit 110 is read out in the example of the physical page shown in FIG. 9 is “0” indicating that writing has been completed because there are areas 901 and 902 that are “0”. . If the performance of the ECC circuit 109 has the ability to correct an error of 2 bits or more, the data “0” in the areas 901 and 902 is corrected to “1” when the error correction process is performed and the data is read. Is possible. In this case, all data in the data area and the management area are corrected to “1”, and it is determined that there is no error that cannot be corrected. It should be noted here that after ECC error correction is performed, nothing is written in the write mark area WM.

図10のフローチャートを用いて本実施の形態の物理ブロックの書き込み判定方法を説明する。まず最初にステップ1001で読み出し対象となる物理ページを先頭ページ、例えば物理ページPP0に設定する。以下、こうして設定した物理ページを設定ページという。次にステップ1002では対象となった設定ページの全データを読み出す。この際にECC回路109で誤り訂正の演算を行うとともに、全消去検出回路110で消去済みを検出するための演算も行う。次に判定ステップ1003では、全消去判定回路110の結果をもって設定ページが書き込み済であるかどうかを判定する。書き込み済と判定した場合には判定ステップ1004へと遷移し、消去済みと判定した場合には結果1009へと遷移する。結果1009では現状の設定ページが未書き込みの状態であり、設定ページから新たなデータの書き込みが可能であると判断する。一方判定ステップ1004では、ECC回路109の演算結果でエラーがないか、または訂正可能なエラーがあるかどうかを判定する。エラーなし又は訂正が可能と判定した場合には、ステップ1005へと遷移し、訂正不可能なエラーがあると判定された場合(演算結果の示すアドレスは誤り訂正パターンがデータの存在しない領域に及ぶ場合には訂正不可能なエラーである)には結果1010へと遷移する。結果1010では設定ページにデータ書き込み中に電源遮断等の異常な状態が生じたと判定し、異常状態を解消するためのデータ復旧処理を行う。データ復旧処理では誤りが生じているページの直前までを有効なデータとし、誤りが生じているページ以降のデータ再書き込み等を行う。一方ステップ1005では、ECC回路109の演算結果に基づいて誤り訂正を行う。図9の場合には2ビットだけが0となっているため、誤り訂正によって全てのビットが”1”、即ち消去済みの状態となる。その後に判定ステップ1006へと遷移し、ECC回路109による誤り訂正後のデータに対して、書き込みマークWMが書き込み済みかどうかを制御回路107の書き込みマーク判定機能を用いて判定する。書き込み済みであると判定された場合には判定ステップ1007へと遷移し、書き込み済みでないと判定すれば結果1010へと遷移する。結果1010では、設定ページに書き込み中に電源遮断等の異常な状態があると判定し、異常状態を解消するためのデータ復旧処理を行う。一方判定ステップ1007では、現在の設定ページが最終ページ、即ちPP63であるかどうかを判定し、最終ページであれば結果1011へと遷移する。結果1011では全てのページが書き込み済であると判定し、処理を終了する。一方、最終ページでなければステップ1008へ遷移し、読み出し対象である設定ページを1インクリメントし、更にステップ1002へと遷移して、同様の処理を繰り返す。以上の判定フローチャートにより、物理ブロックのどのページまでデータが書き込み済であるかの判定を行う。   A physical block write determination method according to the present embodiment will be described with reference to the flowchart of FIG. First, in step 1001, the physical page to be read is set to the first page, for example, the physical page PP0. Hereinafter, the physical page thus set is referred to as a setting page. Next, in step 1002, all data of the target setting page is read out. At this time, the ECC circuit 109 performs an error correction operation, and the all erasure detection circuit 110 also performs an operation for detecting erased data. Next, in a determination step 1003, it is determined whether the setting page has been written based on the result of the all erasure determination circuit 110. If it is determined that writing has been completed, the process proceeds to determination step 1004. If it is determined that data has been erased, the process proceeds to result 1009. In result 1009, it is determined that the current setting page is in an unwritten state, and new data can be written from the setting page. On the other hand, in the determination step 1004, it is determined whether there is no error in the calculation result of the ECC circuit 109 or whether there is a correctable error. If it is determined that there is no error or correction is possible, the process proceeds to step 1005, and if it is determined that there is an error that cannot be corrected (the address indicated by the operation result covers an area where no error correction pattern exists in the data). In this case, the result is an uncorrectable error). In result 1010, it is determined that an abnormal state such as a power shutdown has occurred during data writing to the setting page, and data recovery processing is performed to eliminate the abnormal state. In the data recovery process, the data immediately before the page in which the error has occurred is regarded as valid data, and data is rewritten after the page in which the error has occurred. On the other hand, in step 1005, error correction is performed based on the calculation result of the ECC circuit 109. In the case of FIG. 9, since only 2 bits are 0, all the bits are “1”, that is, erased by error correction. Thereafter, the process proceeds to determination step 1006, where it is determined whether or not the write mark WM has been written to the data after error correction by the ECC circuit 109 using the write mark determination function of the control circuit 107. If it is determined that writing has been completed, the process proceeds to determination step 1007. If it is determined that writing has not been completed, the process proceeds to result 1010. In the result 1010, it is determined that there is an abnormal state such as a power shutdown while writing to the setting page, and data recovery processing for eliminating the abnormal state is performed. On the other hand, in the determination step 1007, it is determined whether or not the current setting page is the final page, that is, PP63, and if it is the final page, the process proceeds to a result 1011. In result 1011, it is determined that all pages have been written, and the process is terminated. On the other hand, if it is not the last page, the process proceeds to step 1008, the setting page to be read is incremented by 1, and the process proceeds to step 1002, and the same processing is repeated. According to the above determination flowchart, it is determined to which page of the physical block data has been written.

本実施の形態では、図9で示したように書き込み開始直後の電源遮断等で発生する、訂正可能な範囲でのわずかなビットのみが書き込まれた状態において、つまり全消去済でもなくECCの誤り訂正不可能なエラーがない状態においても、書き込みマーク領域が書き込み済みとなっているかどうかで書き込み途中の電源遮断等の異常を検出することができる。そして本実施の形態では結果ステップ1010において異常の処理を行い、データの復旧処理を行うことができ、データの信頼性が向上する。   In the present embodiment, as shown in FIG. 9, in the state where only a few bits within the correctable range, which are generated when the power is turned off immediately after the start of writing, are written, that is, not completely erased but an ECC error. Even in a state where there is no uncorrectable error, it is possible to detect an abnormality such as a power interruption during writing depending on whether or not the writing mark area has been written. In this embodiment, an abnormal process can be performed in the result step 1010, and a data recovery process can be performed, thereby improving data reliability.

なお、本実施の形態においては、不揮発性記憶メモリであるフラッシュメモリの書き込み単位である物理ページ毎に書き込み判定を行うケースについて説明したが、必ずしも物理ページに限定される必要がない。不揮発性記憶装置のシステムとして管理している書き込み単位毎に判定を行えれば、本発明の趣旨に従って判定を行うことは可能である。   In this embodiment, a case has been described in which writing determination is performed for each physical page that is a writing unit of the flash memory that is a nonvolatile storage memory. However, the present embodiment is not necessarily limited to a physical page. If a determination can be made for each writing unit managed as a nonvolatile storage device system, the determination can be made in accordance with the spirit of the present invention.

ここで書き込み単位をフラッシュメモリへの1回への書き込みコマンドで行う最小の単位とし、最大書き込み単位をフラッシュメモリへの1回の書き込みコマンドで書き込みを行うことができる最大の単位とする。又管理単位をホストから1回の書き込みコマンドがあったときにフラッシュメモリに対して書き込みを行う最小の単位とする。ホストからの1回の書き込みコマンドによってフラッシュメモリへの書き込みは1回の書き込みとは限らず、複数回に分けて書き込む場合もあり得る。またフラッシュメモリへの1回の書き込みで複数の管理単位を書き込む場合もありうるが、必ず管理単位の整数倍の書き込みを行なう。   Here, the unit of writing is the minimum unit that can be written by a single write command to the flash memory, and the maximum unit of writing is the maximum unit that can be written by a single write command to the flash memory. The management unit is the minimum unit for writing to the flash memory when there is one write command from the host. Writing to the flash memory by a single write command from the host is not limited to one write, and may be written in multiple times. In addition, a plurality of management units may be written in one write to the flash memory, but writing is always performed in an integral multiple of the management unit.

そして物理ページを複数のセクターに分割してデータの書き込みが行えるようなシステムの場合には、書き込み単位であるセクター毎に書き込みマーク領域を設けて判断を行うことができる。例えば図11は最大書き込み単位を1物理ページとし、書き込み単位及び管理単位は1セクター、即ち1/4物理ページとする。この場合には各ページの管理単位であるセクター毎に書き込みマークWMを設ける。フラッシュメモリへの1回での書き込みでの最小単位は1セクターであるが、最大書き込み単位は1ページであり、同一ページに存在する4セクターに対して同時に書き込みを行うこともできるので、各セクター単位でのみ書き込み状態を判別するのでなく、最大書き込み単位であるページにわたって、管理単位毎に未書き込みであるか、書き込み済みであるかを判断する必要がある。図11中におけるセクター毎に記載されている情報は、それぞれ正常書き込み済みとはそのセクターに正常にデータが書き込まれ、且つ書き込みマークが書き込み済みに設定されているものとする。又消去済み(未書き込み)とはそのセクターが消去済みであり、もちろん書き込みマークが未書き込みの状態になっているものとする。又書き込み済(未書き込み)とはそのセクターは書き込み直後に電源遮断が発生したために消去済ではなく書き込み済の状態ではあるが書き込みマークは未書き込みの状態になっているものとする。   In the case of a system in which data can be written by dividing a physical page into a plurality of sectors, it is possible to make a determination by providing a write mark area for each sector which is a write unit. For example, in FIG. 11, the maximum writing unit is one physical page, and the writing unit and the management unit are one sector, that is, ¼ physical page. In this case, a write mark WM is provided for each sector that is a management unit of each page. Although the minimum unit for writing to the flash memory at one time is one sector, the maximum writing unit is one page, and it is possible to write simultaneously to four sectors existing on the same page. Rather than determining the writing state only by the unit, it is necessary to determine whether it is unwritten or written for each management unit over the page which is the maximum writing unit. In the information described for each sector in FIG. 11, “normally written” means that data has been normally written to the sector and the write mark has been set to written. Further, “erased (unwritten)” means that the sector has been erased and, of course, the write mark is in an unwritten state. Further, “written” (unwritten) means that the sector is not erased but has been written since the power is cut off immediately after writing, but the write mark is in an unwritten state.

さて図11の状態は物理ページPP3の第3セクター目を書き込み中の書き込み直後に電源遮断が発生した状態を示している。PP3の第2セクターまでは正常に書き込みが終了しており、第3セクター目で一部書き込み済みであるが、書き込みマークWMは未書き込みの状態となっている。そして第4セクターおよびPP4以降は未書き込みの消去済の状態である。この場合には最大書き込み単位である物理ページにわたって、各セクターの書き込み状態を判定することで、PP0〜2は書き込み済のページ、PP3は書き込みマークWMによって第2セクターまで正しく書き込みが終了した後に第3セクターの書き込みで電源遮断が発生しデータ書き込みが正常に終了していないことが認識でき、正しくデータ復旧を行うことができる。   The state shown in FIG. 11 shows a state in which the power is cut off immediately after writing while writing the third sector of the physical page PP3. Writing is normally completed up to the second sector of PP3, and a part of the third sector has been written, but the write mark WM is in an unwritten state. The fourth sector and PP4 and thereafter are in an unwritten erased state. In this case, by determining the writing state of each sector over the physical page that is the maximum writing unit, PP0 to PP2 are written pages, PP3 is written to the second sector after writing to the second sector is correctly completed. It can be recognized that the power interruption occurs in the writing of three sectors and the data writing is not completed normally, and the data recovery can be performed correctly.

図12は図11の場合と同じく最大書き込み単位を1物理ページ、書き込み単位は1セクター、即ち1/4物理ページであり、管理単位も1セクター、即ち1/4物理ページである。この場合も図11の場合と同様に最大書き込み単位であるページにわたって、管理単位毎に未書き込みであるか、書き込み済であるかを判断する必要がある。図12に書かれたセクター毎の表記は図11と同じ意味を表す。   As in FIG. 11, the maximum write unit is one physical page, the write unit is one sector, that is, 1/4 physical page, and the management unit is also one sector, that is, 1/4 physical page. In this case as well, as in the case of FIG. 11, it is necessary to determine whether the management unit is unwritten or has been written over the page which is the maximum writing unit. The notation for each sector written in FIG. 12 represents the same meaning as in FIG.

さて、図12の状態は物理ページPP3に含まれる4つのセクターに同時に書き込み中の書込み直後に電源遮断が発生した状態を示している。PP3に含まれる4つのセクターのうち第3セクターにのみデータが一部書き込まれているが、まだ第3セクターの書き込みマークは未書込みの状態である。この場合にも最大書き込み単位である物理ページにわたって、各セクターの書き込み状態を判定することで、PP0〜2は書き込み済のページ、PP3の第1セクターは消去済であるが、PP3の残りのセクターを確認することで第3セクターが一部書き込み済で書き込みマークWMが未書き込みの状態であることがわかるので、PP2まで正常に書き込みが行なわれた後に、PP3の書き込み中で電源遮断が発生しデータ書き込みが正常に終了していないことが認識でき、正しくデータ復旧を行うことができる。   Now, the state of FIG. 12 shows a state in which the power shutoff occurs immediately after writing during simultaneous writing to the four sectors included in the physical page PP3. Of the four sectors included in PP3, data is partially written only in the third sector, but the write mark in the third sector is still unwritten. Also in this case, by determining the writing state of each sector over the physical page which is the maximum writing unit, PP0-2 are written pages, PP3 first sector is erased, but PP3 remaining sectors It can be seen that the third sector has been partially written and the write mark WM has not been written. Therefore, after the writing to PP2 has been performed normally, the power shutoff occurs during the writing of PP3. It can be recognized that data writing has not been completed normally, and data recovery can be performed correctly.

また、複数の書き込み単位で、物理ブロック内におけるデータの書き込み状態を許可するようなシステムを構成する場合がある。例えば図13に示すシステムでは、書き込み単位を1物理ページ、最大書き込み単位も1物理ページ、管理単位を2物理ページとする。この様な場合には、管理単位に含まれる複数の最大書き込み単位のうち最終の最大書き込み単位にのみ書き込みマークWMを設けて判断を行うことができる。なぜなら管理単位未満の書き込み状態は、システム上許容していないので、最終の最大書き込み単位が正しく書かれているかどうかを正しく判断できれば管理単位の書き込みを判断できる。言い換えれば管理単位に含まれる最終でない最大書き込み単位が書き込み済であれば正しく書き込まれていても、正しく書き込まれていなくても管理単位としての判断を誤ることはない(最終でない最大書き込み単位で電源遮断による中途半端な書き込みを正常な書き込みであると誤判定しても、最終の最大書き込み単位が消去済であるはずなので、管理単位が構成されていないので異常を検出できる)。従って書き込みマークWMは管理単位内の最大書き込み単位の最終単位以外には不要である。図13に書かれたページ毎の表記は図11と同じ意味を表す。   In some cases, a system that permits a data write state in a physical block in a plurality of write units may be configured. For example, in the system shown in FIG. 13, the writing unit is one physical page, the maximum writing unit is one physical page, and the management unit is two physical pages. In such a case, the determination can be made by providing the write mark WM only in the final maximum write unit among the plurality of maximum write units included in the management unit. This is because a write state less than the management unit is not allowed in the system, so that the management unit write can be determined if it can be correctly determined whether or not the final maximum write unit is correctly written. In other words, if the maximum non-final write unit included in the management unit is already written, it will not be misjudged as a management unit even if it is written correctly or not correctly written Even if a halfway write due to blocking is misjudged as a normal write, the final maximum write unit should have been erased, so a management unit is not configured and an abnormality can be detected). Therefore, the write mark WM is not required except for the last unit of the maximum write unit in the management unit. The notation for each page written in FIG. 13 represents the same meaning as in FIG.

さて、図13の状態は物理ページPP3に書き込み中の書込み直後に電源遮断が発生した状態を示している。この場合には管理単位毎にわたって、各ページの書き込み状態を判定することで、先頭の管理単位を構成する(PP0、PP1)は書き込み済のページ、次の管理単位である(PP2、PP3)はPP2が正常書き込み済でPP3が一部書き込み済で書き込みマークWMが未書き込みの状態であるので、先頭の管理単位まで正常に書き込みが行なわれた後に、次の管理単位の書き込み中で電源遮断が発生しデータ書き込みが正常に終了していないことが認識でき、正しくデータ復旧を行うことができる。   Now, the state of FIG. 13 shows a state in which a power interruption occurs immediately after writing during writing to the physical page PP3. In this case, by determining the writing state of each page for each management unit, the top management unit (PP0, PP1) is a written page, and the next management unit (PP2, PP3) is Since PP2 has been normally written, PP3 has been partially written, and the write mark WM has not been written, the power is shut down during the writing of the next management unit after the writing to the first management unit has been performed normally. It can be recognized that data writing has not been completed normally, and data recovery can be performed correctly.

また、書き込み性能の高速化のための並列書き込みを実現するために管理単位が複数の物理ブロックにまたがる場合、もしくは複数の不揮発性メモリに存在する物理ブロックにまたがる場合がある。図14はこのような場合の例を示しており、ここでは書き込み単位は1物理ページ、最大書き込み単位は1または複数の不揮発性メモリの複数の物理ブロックにまたがる2物理ページ、管理単位は2物理ページとする。図14は物理ブロックPB0の1つの物理ページと物理ブロックPB1のこれに対応する物理ページの2ページで1つの管理単位を構成する。この場合には図示のように夫々の物理ブロックの物理ページに書き込みマークWMを設けておく。図14に書かれたページ毎の表記は図11のセクター毎の表記と同じ意味を表す。   Further, in order to realize parallel writing for speeding up the writing performance, the management unit may extend over a plurality of physical blocks, or may extend over physical blocks existing in a plurality of nonvolatile memories. FIG. 14 shows an example of such a case, where the write unit is one physical page, the maximum write unit is two physical pages that span multiple physical blocks of one or more nonvolatile memories, and the management unit is two physical units. A page. In FIG. 14, one management unit is composed of one physical page of the physical block PB0 and two pages of the physical page corresponding to the physical block PB1. In this case, a write mark WM is provided on the physical page of each physical block as shown in the figure. The notation for each page written in FIG. 14 represents the same meaning as the notation for each sector in FIG.

さて、図14の状態はPB0およびPB1の物理ページPP3に同時に書き込み中の書込み直後に電源遮断が発生した状態を示している。この場合には管理単位毎にわたって、各ページの書き込み状態を判定することで、管理単位を構成する(PB0 PP0、PB1 PP0)、(PB0 PP1、PB1 PP1)、(PB0 PP2、PB1 PP2)は書き込み済の管理単位、次の管理単位である(PB0 PP3、PB1 PP3)はPB0 PP3が消去済であるが、PB1 PP3が一部書き込み済で書き込みマークWMが未書き込みの状態であるので、管理単位(PB0 PP3、PB1 PP3)の書き込み中で電源遮断が発生しデータ書き込みが正常に終了していないことが認識でき、正しくデータ復旧を行うことができる。   The state shown in FIG. 14 shows a state in which a power interruption occurs immediately after writing during simultaneous writing to the physical page PP3 of PB0 and PB1. In this case, by determining the write state of each page over each management unit, the management units (PB0 PP0, PB1 PP0), (PB0 PP1, PB1 PP1), (PB0 PP2, PB1 PP2) constituting the management unit are written. Management unit, the next management unit (PB0 PP3, PB1 PP3) has PB0 PP3 erased, but PB1 PP3 has been partially written and the write mark WM has not been written. (PB0 PP3, PB1 PP3) It is possible to recognize that the power interruption has occurred during the writing, and the data writing has not ended normally, and the data can be restored correctly.

尚一般的には書き込みマークは、管理単位内において、最大書き込み単位に区分すると最終の最大書き込み単位の書き込み単位毎に必要となる。但し管理単位が最大書き込み単位よりも小さい場合には、全ての書き込み単位毎に書き込みマークが必要となる。このように書き込みマークを配置することによって、不揮発性メモリの書き込み状態を判定することができる。   In general, a write mark is required for each write unit of the final maximum write unit when divided into the maximum write units in the management unit. However, when the management unit is smaller than the maximum writing unit, a writing mark is required for every writing unit. By arranging the write mark in this way, the write state of the nonvolatile memory can be determined.

本発明にかかる不揮発性記憶装置及びその書き込み判定方法は、大容量の不揮発性記憶装置を対象としてデータを格納するホストに対して、よりデータの信頼性を向上させることができる。本発明は、静止画記録再生装置や動画記録再生装置等のポータブルAV機器、あるいは携帯電話等のポータブル通信機器の記録媒体に適用することができる。   The nonvolatile storage device and the write determination method according to the present invention can further improve data reliability with respect to a host that stores data for a large-capacity nonvolatile storage device. The present invention can be applied to a recording medium of a portable AV device such as a still image recording / playback device or a moving image recording / playback device, or a portable communication device such as a mobile phone.

本発明の一実施の形態による不揮発性記憶装置とホスト機器との構成を示すブロック図である。It is a block diagram which shows the structure of the non-volatile storage device and host apparatus by one Embodiment of this invention. 本実施の形態の不揮発性記憶装置に搭載の不揮発性メモリの構成を示した図である。It is the figure which showed the structure of the non-volatile memory mounted in the non-volatile storage device of this Embodiment. 本実施の形態の不揮発性記憶装置に搭載の不揮発性メモリの構成を示した図である。It is the figure which showed the structure of the non-volatile memory mounted in the non-volatile storage device of this Embodiment. 本実施の形態の物理ページのなかのデータの論理構成を示した図である。It is the figure which showed the logical structure of the data in the physical page of this Embodiment. 本実施の形態の不揮発性記憶装置に搭載の不揮発性メモリのデータの書き込み状態を示した図である。It is the figure which showed the writing state of the data of the non-volatile memory mounted in the non-volatile storage device of this Embodiment. 本実施の形態の全消去検出回路の回路図である。FIG. 5 is a circuit diagram of an all erasure detection circuit according to the present embodiment. 本実施の形態の消去済みの物理ページのデータを示した図である。It is the figure which showed the data of the erased physical page of this Embodiment. 本実施の形態の書き込み済みの物理ページのデータを示した図である。It is the figure which showed the data of the written physical page of this Embodiment. 本実施の形態の書き込み済み直後の電源遮断後の物理ページのデータを示した図である。It is the figure which showed the data of the physical page after the power-off immediately after writing of this Embodiment. 本実施の形態の書き込み済みの物理ページ検出方法を示すフローチャートである。It is a flowchart which shows the written physical page detection method of this Embodiment. 本発明の他の形態による物理ブロックの書き込み状態を示す図である。It is a figure which shows the write state of the physical block by the other form of this invention. 本発明の他の形態による物理ブロックの書き込み状態を示す図である。It is a figure which shows the write state of the physical block by the other form of this invention. 本発明の他の形態による物理ブロックの書き込み状態を示す図である。It is a figure which shows the write state of the physical block by the other form of this invention. 本発明の他の形態による物理ブロックの書き込み状態を示す図である。It is a figure which shows the write state of the physical block by the other form of this invention.

符号の説明Explanation of symbols

101 ホスト
102 メモリカード
103 フラッシュメモリ
104 メモリコントローラ
105 ホストインターフェース
106 フラッシュインターフェース
107 制御回路
108 ページバッファ
109 ECC回路
110 全消去検出回路
101 Host 102 Memory Card 103 Flash Memory 104 Memory Controller 105 Host Interface 106 Flash Interface 107 Control Circuit 108 Page Buffer 109 ECC Circuit 110 All Erase Detection Circuit

Claims (11)

複数の消去単位ブロックからなる記憶領域を含み、ユーザデータを記憶すると共に、1又は複数の書き込み単位毎に書き込みマークを記憶する領域を有する不揮発性メモリと、
前記不揮発性メモリにデータを書き込み及び読み出すメモリコントローラと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリから読み出されたデータが全て消去されているデータかどうかを検出する全消去検出回路と、
読み出されたデータの誤りを検出および訂正する誤り検出訂正回路と、
前記不揮発性メモリにデータを書き込む際には書き込みマーク内に書き込みマークを記録する一方、データの読み出し時には前記書き込みマークと前記全消去検出回路の出力と前記誤り検出訂正回路の出力に基づいて書き込み後の異常を検出する制御回路と、を有する不揮発性記憶装置。
A non-volatile memory including a storage area composed of a plurality of erase unit blocks, storing user data, and storing an area for storing a write mark for each one or a plurality of write units;
A memory controller for writing and reading data to and from the non-volatile memory,
The memory controller is
An all-erase detection circuit for detecting whether all data read from the non-volatile memory is erased data;
An error detection and correction circuit for detecting and correcting an error in the read data;
When writing data to the non-volatile memory, a write mark is recorded in a write mark, while when reading data, after writing based on the write mark, the output of the all-erase detection circuit , and the output of the error detection and correction circuit And a control circuit for detecting an abnormality of the non-volatile memory device.
外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、
前記書き込みマークは、管理単位内において最大書き込み単位に区分したときに、最終の最大書き込み単位の書き込み単位毎に設けられる請求項1記載の不揮発性記憶装置。
The minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing by one write command to the nonvolatile memory is the write unit, and the nonvolatile unit is transferred to the nonvolatile memory. If the maximum unit that can be written with one write command is the maximum write unit,
The nonvolatile memory device according to claim 1, wherein the write mark is provided for each write unit of the final maximum write unit when the write mark is divided into the maximum write units in the management unit.
外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、
前記書き込みマークは、管理単位が最大書き込み単位以下のときに全ての書き込み単位毎に設けられる請求項1記載の不揮発性記憶装置。
The minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing by one write command to the nonvolatile memory is the write unit, and the nonvolatile unit is transferred to the nonvolatile memory. If the maximum unit that can be written with one write command is the maximum write unit,
The nonvolatile memory device according to claim 1, wherein the write mark is provided for every write unit when a management unit is equal to or less than a maximum write unit.
前記消去単位ブロックは、複数の不揮発性メモリにまたがる消去単位をグループとして構成されている請求項1〜3のいずれかに記載の不揮発性記憶装置。   The non-volatile storage device according to claim 1, wherein the erase unit block is configured by erasing units extending over a plurality of non-volatile memories as a group. 前記消去単位ブロックは、不揮発性メモリの消去単位の整数倍で構成されている請求項1〜3のいずれかに記載の不揮発性記憶装置。   The nonvolatile memory device according to claim 1, wherein the erase unit block is configured by an integral multiple of an erase unit of the nonvolatile memory. 複数の消去単位ブロックからなる記憶領域を含み、ユーザデータを記憶すると共に、1又は複数の書き込み単位毎に書き込みマークを記憶する領域を有する不揮発性メモリと、
前記不揮発性メモリにデータを書き込み及び読み出すメモリコントローラと、を具備する不揮発性記憶装置の書き込み判定方法であって、
前記単位ブロックに含まれる少なくとも1つの複数の書き込み単位毎にデータを読み出す読み出しステップと、
読み出したデータが全て消去されているデータかどうかを判定する消去済み判定ステップと、
前記読み出しステップで読み出したデータの誤り訂正を行う誤り訂正ステップと、
データの読み出し時には前記書き込みマークの有無に基づいて書き込み時の異常を検出するステップと、を含み、前記不揮発性メモリの書き込み状態を判定する不揮発性記憶装置の書き込み判定方法。
A non-volatile memory including a storage area composed of a plurality of erase unit blocks, storing user data, and storing an area for storing a write mark for each one or a plurality of write units;
A memory controller for writing and reading data to and from the non-volatile memory, and a non-volatile memory device write determination method comprising:
A reading step of reading data for each of at least one plurality of writing units included in the unit block;
An erased determination step for determining whether the read data is all erased data; and
An error correction step for performing error correction on the data read in the reading step;
And a step of detecting an abnormality at the time of reading based on the presence or absence of the write mark at the time of reading the data, and a method for determining the writing of the nonvolatile memory device for determining the writing state of the nonvolatile memory.
前記読み出したデータが消去済みでないと判定され、且つ
前記書き込みマークが未書き込みの場合には、
前記書き込み単位の書き込み中に異常が発生したと判断する請求項6記載の不揮発性記憶装置の書き込み判定方法。
When it is determined that the read data is not erased and the write mark is not written,
The write determination method for a nonvolatile memory device according to claim 6, wherein it is determined that an abnormality has occurred during writing in the write unit.
外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、
前記書き込みマークは、管理単位内において最大書き込み単位に区分したときに、最終の最大書き込み単位の書き込み単位毎に設けられている請求項6記載の不揮発性記憶装置の書き込み判定方法。
The minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing by one write command to the nonvolatile memory is the write unit, and the nonvolatile unit is transferred to the nonvolatile memory. If the maximum unit that can be written with one write command is the maximum write unit,
The write determination method for a nonvolatile memory device according to claim 6, wherein the write mark is provided for each write unit of the final maximum write unit when the write mark is divided into the maximum write units in the management unit.
外部からの1回の書き込みコマンドがあったときに書き込みを行う最小単位を管理単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行う最小単位を書き込み単位とし、前記不揮発性メモリへの1回の書き込みコマンドで書き込みを行うことができる最大単位を最大書き込み単位とすると、
前記書き込みマークは、管理単位が最大書き込み単位以下のときに全ての書き込み単位毎に設けられる請求項6記載の不揮発性記憶装置の書き込み判定方法。
The minimum unit for writing when there is a single write command from the outside is the management unit, and the minimum unit for writing by one write command to the nonvolatile memory is the write unit, and the nonvolatile unit is transferred to the nonvolatile memory. If the maximum unit that can be written with one write command is the maximum write unit,
The method according to claim 6, wherein the write mark is provided for every write unit when a management unit is equal to or less than a maximum write unit.
前記消去単位ブロックは、複数の前記不揮発性メモリにまたがる消去単位をグループとして構成されている請求項6〜9のいずれかに記載の不揮発性記憶装置の書き込み判定方法。   10. The non-volatile memory device write determination method according to claim 6, wherein the erase unit block is configured by erasing units extending over a plurality of the non-volatile memories as a group. 前記消去単位ブロックは、前記不揮発性メモリの消去単位の整数倍で構成されている請求項6〜9のいずれかに記載の不揮発性記憶装置の書き込み判定方法。   The write determination method for a nonvolatile memory device according to claim 6, wherein the erase unit block is configured by an integral multiple of an erase unit of the nonvolatile memory.
JP2006062550A 2006-03-08 2006-03-08 Nonvolatile memory device and write determination method thereof Expired - Fee Related JP4866107B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006062550A JP4866107B2 (en) 2006-03-08 2006-03-08 Nonvolatile memory device and write determination method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006062550A JP4866107B2 (en) 2006-03-08 2006-03-08 Nonvolatile memory device and write determination method thereof

Publications (3)

Publication Number Publication Date
JP2007241618A JP2007241618A (en) 2007-09-20
JP2007241618A5 JP2007241618A5 (en) 2009-04-16
JP4866107B2 true JP4866107B2 (en) 2012-02-01

Family

ID=38587106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006062550A Expired - Fee Related JP4866107B2 (en) 2006-03-08 2006-03-08 Nonvolatile memory device and write determination method thereof

Country Status (1)

Country Link
JP (1) JP4866107B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101541736B1 (en) * 2008-09-22 2015-08-04 삼성전자주식회사 LSB page recovering method for multi-level cell flash memory device
US8413016B2 (en) * 2009-04-28 2013-04-02 Panasonic Corporation Nonvolatile memory device and controller for judging a normal or anomalous condition of an error-corrected bit pattern
KR101605824B1 (en) 2009-08-06 2016-04-01 삼성전자주식회사 Test method and test device of memory device
KR20110025524A (en) * 2009-09-04 2011-03-10 삼성전자주식회사 Data processing device and method for data processing thereof
JP2016018473A (en) * 2014-07-10 2016-02-01 株式会社東芝 Semiconductor storage device, memory controller, and memory controller control method
US9875064B2 (en) * 2015-03-11 2018-01-23 Toshiba Memory Corporation Storage system architecture for improved data management
WO2019102656A1 (en) * 2017-11-21 2019-05-31 ソニーセミコンダクタソリューションズ株式会社 Memory controller, memory, memory system, information processing system, and method for control thereof
CN111930302B (en) * 2020-06-30 2024-10-18 深圳佰维存储科技股份有限公司 Data reading method, device, computer readable storage medium and electronic equipment
CN116564398B (en) * 2023-05-26 2023-12-22 北京得瑞领新科技有限公司 Method and device for detecting nor flash memory and embedded equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3797649B2 (en) * 1999-05-31 2006-07-19 シャープ株式会社 Nonvolatile semiconductor memory device
JP4034971B2 (en) * 2002-01-21 2008-01-16 富士通株式会社 Memory controller and memory system device
TW200608402A (en) * 2004-08-20 2006-03-01 Renesas Tech Corp Semiconductor integrated device, and IC card and portable information terminal using the semiconductor integrated device

Also Published As

Publication number Publication date
JP2007241618A (en) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4866107B2 (en) Nonvolatile memory device and write determination method thereof
JP4560408B2 (en) Method for controlling nonvolatile memory device
TWI527037B (en) Data storing method, memory control circuit unit and memory storage apparatus
US8949690B2 (en) Memory controller
EP2372549B1 (en) Emerging bad block detection
US8738974B2 (en) Nonvolatile memory device and memory controller
JP5185156B2 (en) Memory controller and semiconductor memory device
TWI467376B (en) Data protecting method, and memory controll and memory storage device using the same
US20120324299A1 (en) Flash storage wear leveling device and method
TWI633428B (en) Data storage device and methods for processing data in the data storage device
WO2007010829A1 (en) Nonvolatile storage device, memory controller, and defective region detection method
US20110264842A1 (en) Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
JP5798737B2 (en) Semiconductor recording apparatus, semiconductor recording apparatus control method, and semiconductor recording system
TW201637019A (en) Read voltage level estimating method, memory storage device and memory controlling circuit unit
JPWO2007000862A1 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND DATA WRITE METHOD
US8589756B2 (en) Semiconductor memory device, semiconductor memory system, and erasure correction method
JP5592478B2 (en) Nonvolatile storage device and memory controller
JP2010079486A (en) Semiconductor recording device
TW202338851A (en) Method of sudden power off recovery, memory controlling circuit unit and memory storage device
JP2010079856A (en) Storage device and memory control method
EP2587377A2 (en) Memory system and method for recording/reproducing data thereof
JP5335779B2 (en) Semiconductor recording device
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
JP4655034B2 (en) Memory controller, flash memory system, and flash memory control method
JP2006244017A (en) Data copy method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090303

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees