JP4863472B2 - Memory management method - Google Patents

Memory management method Download PDF

Info

Publication number
JP4863472B2
JP4863472B2 JP2006292043A JP2006292043A JP4863472B2 JP 4863472 B2 JP4863472 B2 JP 4863472B2 JP 2006292043 A JP2006292043 A JP 2006292043A JP 2006292043 A JP2006292043 A JP 2006292043A JP 4863472 B2 JP4863472 B2 JP 4863472B2
Authority
JP
Japan
Prior art keywords
memory
information
management method
user data
defective area
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
JP2006292043A
Other languages
Japanese (ja)
Other versions
JP2008108162A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2006292043A priority Critical patent/JP4863472B2/en
Publication of JP2008108162A publication Critical patent/JP2008108162A/en
Application granted granted Critical
Publication of JP4863472B2 publication Critical patent/JP4863472B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、不良領域の存在するメモリの管理技術に関する。   The present invention relates to a management technique for a memory in which a defective area exists.

アプリケーションプログラムなどのコンテンツデータを格納するメモリとしては、NOR型フラッシュメモリが使用されている。NOR型フラッシュメモリは、誤りのないメモリ(不良領域の存在しないメモリ、あるいはビット誤りの発生しないメモリ)であり、コンテンツの格納用に適している。たとえば、携帯電話機、携帯情報端末、パチンコ機、パチスロ機においては、アプリケーションプログラムなどのコンテンツデータ格納用としてNOR型フラッシュメモリが使用されている。   As a memory for storing content data such as an application program, a NOR flash memory is used. The NOR type flash memory is a memory free from errors (a memory in which no defective area exists or a memory in which no bit error occurs), and is suitable for storing contents. For example, in a mobile phone, a portable information terminal, a pachinko machine, and a pachislot machine, a NOR flash memory is used for storing content data such as application programs.

NOR型フラッシュメモリに格納されているコンテンツデータの正当性をチェックするためには、チェックサムの利用が有効である。図6は、NOR型フラッシュメモリに、たとえば、アプリケーションデータなどのユーザデータが格納されている様子を示している。このユーザデータの正当性をチェックするために、全物理アドレスからデータの単純読み出しを行い、ユーザデータのチェックサムが計算される。そして、予め計算されていた正しいチェックサムと比較することで、正当性の判断を行うのである。   In order to check the validity of the content data stored in the NOR flash memory, it is effective to use a checksum. FIG. 6 shows how user data such as application data is stored in the NOR flash memory. In order to check the validity of the user data, data is simply read from all physical addresses, and the checksum of the user data is calculated. Then, the validity is judged by comparing with a correct checksum calculated in advance.

チェックサムを利用したROMデータのチェック方法については、下記特許文献1にも開示されている。また、下記特許文献2では、ROMに記録されたチェックサムを変更することなく、データを書き換える技術について開示されている。   A method for checking ROM data using a checksum is also disclosed in Patent Document 1 below. Patent Document 2 below discloses a technique for rewriting data without changing the checksum recorded in the ROM.

特開2002−108723号公報JP 2002-108723 A 特開2002−351749号公報JP 2002-351749 A

上述したように、NOR型フラッシュメモリでは、チェックサムによるデータ正当性チェックが有効であり、コンテンツメモリを安定して供給することが可能である。しかし、NOR型フラッシュメモリは、誤りがないという優れた特徴を備える一方、メモリ単価が高いという問題がある。   As described above, in the NOR flash memory, the data correctness check using the checksum is effective, and the content memory can be supplied stably. However, the NOR flash memory has an excellent feature that there is no error, but has a problem that the unit price of the memory is high.

たとえば、パチンコ機、パチスロ機のコンテンツ格納用として考えた場合であっても、機器の台数が非常に多いため、メモリ単価の与える影響は大きい。したがって、メモリ単価を下げることができれば、製品供給コストを大幅に低減させることが可能となる。   For example, even if it is considered for storing contents of a pachinko machine or a pachislot machine, the number of devices is so large that the influence of the memory unit price is large. Therefore, if the memory unit price can be reduced, the product supply cost can be significantly reduced.

そこで、NOR型フラッシュメモリよりも安価なNAND型フラッシュメモリを使用するという選択肢が考えられる。NAND型フラッシュメモリは、誤りのあるメモリ(不良領域が存在するメモリ、あるいはビット誤りが発生するメモリ)であるが、大容量化、低コスト化を実現している。   Therefore, an option of using a NAND flash memory that is less expensive than a NOR flash memory is conceivable. The NAND flash memory is an erroneous memory (a memory in which a defective area exists or a memory in which a bit error occurs), but realizes a large capacity and a low cost.

図7は、NAND型フラッシュメモリにユーザデータを格納した様子を示している。図に示すように、NAND型フラッシュメモリの記憶領域には、不良領域(INVALID BLOCKあるいはBAD BLOCK)が混在している。不良領域は、デバイスの出荷時点で使用不可能な領域である。不良領域には、データを記録することができないため、別の代替領域にデータが格納されることになる。この不良領域と代替領域の対応関係を示す代替情報は、エラーコントロールデータとして、図に示すようにメモリ内に格納される。   FIG. 7 shows a state in which user data is stored in the NAND flash memory. As shown in the drawing, a defective area (INVALID BLOCK or BAD BLOCK) is mixed in the storage area of the NAND flash memory. The defective area is an area that cannot be used when the device is shipped. Since data cannot be recorded in the defective area, the data is stored in another alternative area. The substitution information indicating the correspondence between the defective area and the substitution area is stored in the memory as error control data as shown in the figure.

ここで、問題となるのが、データ正当性のチェックである。上述したように、NOR型フラッシュメモリにおいては、全物理アドレスの単純読み出しにより、全ての固体で同一のチェックサムを計算することができる。しかし、NAND型フラッシュメモリの場合、不良領域に格納することができなかったデータについては、代替領域に格納されるため、データの格納位置がデバイスごとで異なることになる。たとえば、格納されているアドレスも考慮してチェックサムを計算する場合、不良領域の発生箇所がデバイスによって異なれば、デバイスによってチェックサムが変化することになる。   The problem here is checking data validity. As described above, in the NOR flash memory, the same checksum can be calculated for all the solids by simple reading of all physical addresses. However, in the case of a NAND flash memory, data that could not be stored in the defective area is stored in the alternative area, and therefore the data storage location differs from device to device. For example, when the checksum is calculated in consideration of the stored address, the checksum changes depending on the device if the occurrence location of the defective area differs depending on the device.

NAND型フラッシュメモリでは、デバイスごとに不良領域のばらつきがあるため、通常は、何らかの方法で論理アドレスと物理アドレスの変換を行ってデータを読み出している。このため、単純に誤りがないメモリと同一の方法で全物理アドレスに対するアクセスを行い、読み出したデータに対してチェックサムを計算する方法では、内容確認を行えないのである。   In the NAND flash memory, since there is a variation in defective area for each device, data is usually read by converting a logical address and a physical address by some method. For this reason, the contents cannot be confirmed by a method in which all physical addresses are accessed by the same method as a memory having no error and a checksum is calculated for the read data.

また、そもそも、不良領域については、データ値が不定であるため、チェックサムがデバイスごとに異なることになる。したがって、いずれにしても、誤りのないメモリと同じ方法をそのまま用いてもデータ正当性のチェックを行うことができない。   In the first place, since the data value is indefinite for the defective area, the checksum is different for each device. Therefore, in any case, the data validity cannot be checked even if the same method as that for an error-free memory is used as it is.

そこで、本発明は前記問題点に鑑み、誤りのあるメモリを利用する上で、データの正当性をチェックするための管理技術を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide a management technique for checking the validity of data when using an erroneous memory.

上記課題を解決するため、請求項1記載の発明は、ユーザデータが格納されるメモリを管理する方法であって、前記メモリから不良領域情報を取得する工程と、取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、前記誤り管理情報から固有情報を抽出し、所定の記憶手段に格納する工程と、前記メモリにユーザデータを格納する工程と、前記メモリに前記誤り管理情報を格納する工程と、を備えることを特徴とする。   In order to solve the above-described problem, the invention according to claim 1 is a method for managing a memory in which user data is stored, the step of acquiring defective area information from the memory, and based on the acquired defective area information. A step of creating error management information including replacement information of a defective area of the memory, a step of extracting unique information from the error management information and storing it in a predetermined storage means, and a step of storing user data in the memory And storing the error management information in the memory.

請求項2記載の発明は、請求項1に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたチェックサム、を含むことを特徴とする。   According to a second aspect of the present invention, in the memory management method according to the first aspect, the unique information includes a checksum calculated from the error management information.

請求項3記載の発明は、請求項1に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたハッシュ値、を含むことを特徴とする。   According to a third aspect of the present invention, in the memory management method according to the first aspect, the unique information includes a hash value calculated from the error management information.

請求項4記載の発明は、請求項1に記載のメモリ管理方法において、前記固有情報は、前記メモリの不良領域のブロック数、を含むことを特徴とする。   According to a fourth aspect of the present invention, in the memory management method according to the first aspect, the unique information includes the number of blocks in the defective area of the memory.

請求項5記載の発明は、請求項1に記載のメモリ管理方法において、前記固有情報は、前記メモリの不良領域のアドレス情報、を含むことを特徴とする。   According to a fifth aspect of the present invention, in the memory management method according to the first aspect, the unique information includes address information of a defective area of the memory.

請求項6記載の発明は、請求項1ないし請求項5のいずれかに記載のメモリ管理方法において、前記メモリは、NAND型フラッシュメモリ、を含むことを特徴とする。   A sixth aspect of the present invention is the memory management method according to any one of the first to fifth aspects, wherein the memory includes a NAND flash memory.

請求項7記載の発明は、請求項1ないし請求項6のいずれかに記載のメモリ管理方法において、前記所定の記憶手段は、前記メモリ、を含むことを特徴とする。   According to a seventh aspect of the present invention, in the memory management method according to any one of the first to sixth aspects, the predetermined storage unit includes the memory.

請求項8記載の発明は、ユーザデータが格納される不良領域の存在するメモリを管理する方法であって、格納するユーザデータから所定のアルゴリズムを用いて固有情報を抽出し、所定の記憶手段に格納する工程と、前記メモリから不良領域情報を取得する工程と、取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、前記メモリにユーザデータを格納する工程と、前記メモリに前記誤り管理情報を格納する工程と、不良領域については前記代替情報に基づいて代替された領域のデータを読み出すことにより、NOR型フラッシュメモリに対する読み出し処理をエミュレートすることで、前記メモリからユーザデータを全て読み出す工程と、読み出したユーザデータから前記所定のアルゴリズムと同じアルゴリズムを用いて情報を抽出し、前記記憶手段に格納されている前記固有情報と比較することで、格納されているユーザデータの正当性を判定する工程と、を備えることを特徴とする。   The invention according to claim 8 is a method for managing a memory in which a defective area in which user data is stored is present, wherein specific information is extracted from the stored user data using a predetermined algorithm and stored in a predetermined storage means. A step of storing, a step of acquiring defective area information from the memory, a step of creating error management information including replacement information of a defective area of the memory based on the acquired defective area information, and user data in the memory , Storing the error management information in the memory, and reading out the data of the replaced area based on the replacement information for the defective area, thereby emulating the reading process for the NOR flash memory The process of reading all user data from the memory and the predetermined altitude from the read user data. Extracting the information using the same algorithm as the rhythm, and comparing with the unique information stored in the storage means to determine the validity of the stored user data. To do.

請求項9記載の発明は、請求項8に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたチェックサム、を含むことを特徴とする。   According to a ninth aspect of the present invention, in the memory management method according to the eighth aspect, the specific information includes a checksum calculated from the error management information.

請求項10記載の発明は、請求項8に記載のメモリ管理方法において、前記固有情報は、前記誤り管理情報から演算されたハッシュ値、を含むことを特徴とする。   According to a tenth aspect of the present invention, in the memory management method according to the eighth aspect, the unique information includes a hash value calculated from the error management information.

本発明のメモリ管理方法は、メモリから取得した不良領域情報に基づいて、誤り管理情報を作成し、誤り管理情報から固有情報を抽出して、所定の記憶手段に格納する。これにより、ユーザデータが格納されるメモリのデバイスごとによって異なる固有情報が保存されることになり、ユーザデータが、代替情報に基づいて正しく記録されていることを確認する手段を与えることができる。   The memory management method of the present invention creates error management information based on the defective area information acquired from the memory, extracts unique information from the error management information, and stores it in a predetermined storage means. Thus, different unique information is stored for each device of the memory in which the user data is stored, and a means for confirming that the user data is correctly recorded based on the alternative information can be provided.

また、本発明のメモリ管理方法は、NOR型フラッシュメモリに対する読み出し処理をエミュレートすることで、不良領域の存在するメモリ(例えば、NAND型フラッシュメモリ)からユーザデータを全て読み出し、保持しておいた固有情報と比較することで、ユーザデータの正当性を判定する。これにより、NOR型フラッシュメモリで使用していた同様の方法で、ユーザデータの正当性をチェックすることが可能である。   Further, the memory management method of the present invention reads and holds all user data from a memory in which a defective area exists (for example, a NAND flash memory) by emulating a read process for a NOR flash memory. The validity of the user data is determined by comparing with the unique information. Thereby, it is possible to check the validity of the user data by the same method used in the NOR type flash memory.

以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、NAND型フラッシュメモリ1(以下、メモリ1とする。)と、メモリ1にデータを書き込む書込装置2とを示す図である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a NAND flash memory 1 (hereinafter referred to as a memory 1) and a writing device 2 for writing data into the memory 1.

メモリ1は、たとえば、パチンコ機やパチスロ機のコンテンツデータを書き込む用途に用いられる。メモリ1は、上述したように、NAND型フラッシュメモリであり、図1の(a)に示すように、データを書き込むことのできる正常領域11と、データを書き込むことのできない不良領域12とを含んでいる。   For example, the memory 1 is used for writing content data of a pachinko machine or a pachislot machine. As described above, the memory 1 is a NAND flash memory, and includes a normal area 11 where data can be written and a defective area 12 where data cannot be written, as shown in FIG. It is out.

書込装置2には、別の工程で作成されたユーザデータ51が与えられる。書込装置2によってメモリ1に、ユーザデータ51が記録されると、図1の(b)に示すように、ユーザデータ51とともに、エラーコントロールデータ52が記録されることになる。エラーコントロールデータ52には、各不良領域がどの代替領域に代替されているかを示す代替情報が含まれている。また、エラーコントロールデータ52には、ビット誤りの訂正に必要な情報(ECCなど)が含まれている。さらに、エラーコントロールデータ52には、不良領域のブロック数や、不良領域のアドレス情報(アドレスリスト)などを記録するようにしてもよい。   The writing device 2 is given user data 51 created in a separate process. When the user data 51 is recorded in the memory 1 by the writing device 2, the error control data 52 is recorded together with the user data 51, as shown in FIG. The error control data 52 includes replacement information indicating which replacement area each defective area is replaced with. Further, the error control data 52 includes information (ECC and the like) necessary for correcting bit errors. Further, the error control data 52 may record the number of blocks in the defective area, address information (address list) of the defective area, and the like.

ユーザデータ51は、前述した例であれば、パチンコ機やパチスロ機のコンテンツデータのことである。ユーザデータ51は、別の工程で作成されている。このユーザデータ51は、大量生産される全てのメモリに共通のものである。つまり、このユーザデータ51が、次々にNAND型フラッシュメモリに格納されることで、コンテンツ格納メモリが作成されるのである。   In the example described above, the user data 51 is content data of a pachinko machine or a pachislot machine. The user data 51 is created in a separate process. This user data 51 is common to all memories that are mass-produced. That is, the user data 51 is stored in the NAND flash memory one after another, thereby creating a content storage memory.

そして、この共通のユーザデータ51に対しては、さらに別の工程で、固有情報が計算されている。固有情報とは、たとえば、チェックサムやハッシュ値などである。この固有情報は、固有情報記憶部3に格納されている。   For this common user data 51, unique information is calculated in a further step. The unique information is, for example, a checksum or a hash value. This unique information is stored in the unique information storage unit 3.

書込装置2は、ユーザデータ51をNAND型フラッシュメモリであるメモリ1に格納する装置である。以下、図2のフローチャートを参照しつつ、書込装置2によるメモリ1に対するデータの書込み手順について説明する。   The writing device 2 is a device that stores user data 51 in a memory 1 that is a NAND flash memory. Hereinafter, a data writing procedure for the memory 1 by the writing device 2 will be described with reference to the flowchart of FIG.

まず、書込装置2は、新たなメモリ1と接続されると、メモリ1にアクセスし、メモリ1の不良領域情報を取得する(ステップS1)。つまり、書込装置2は、全ての不良領域のアドレスと、各不良領域が代替される領域のアドレスを取得する。また、これにより、不良領域のブロック数を得ることができる。   First, when the writing device 2 is connected to a new memory 1, the writing device 2 accesses the memory 1 and acquires defective area information of the memory 1 (step S1). That is, the writing device 2 acquires the addresses of all defective areas and the addresses of areas where each defective area is replaced. Thereby, the number of blocks in the defective area can be obtained.

次に、書込装置2は、ステップS1で取得した不良領域情報に基づいて、エラーコントロールデータ52を作成する(ステップS2)。このエラーコントロールデータ52には、代替情報が含まれる。代替情報は、不良領域と代替領域との対応関係を示す情報である。また、エラーコントロールデータ52には、ビット誤りの訂正に必要な情報が格納される。さらには、エラーコントロールデータ52に、不良領域のブロック数や不良領域のアドレス情報を格納するようにしてもよい。   Next, the writing device 2 creates error control data 52 based on the defective area information acquired in step S1 (step S2). The error control data 52 includes alternative information. The replacement information is information indicating a correspondence relationship between the defective area and the replacement area. The error control data 52 stores information necessary for correcting bit errors. Further, the error control data 52 may store the number of blocks in the defective area and the address information of the defective area.

次に、書込装置2は、ステップS2で作成したエラーコントロールデータ52の固有情報を計算する(ステップS3)。あるいは、書込装置2は、ステップS2で作成したエラーコントロールデータ52に含まれる情報から固有情報を得る。   Next, the writing device 2 calculates unique information of the error control data 52 created in step S2 (step S3). Alternatively, the writing device 2 obtains unique information from the information included in the error control data 52 created in step S2.

固有情報としては、たとえば、チェックサムを利用することができる。図3は、チェックサムを利用した固有情報を示す図である。まず、ユーザデータ51については、上述したように、予め別の工程でユーザデータ51のチェックサムが計算されている。そして、ユーザデータ51のチェックサムとユーザデータ51のバイト数を固有情報として、固有情報記憶部3に格納しておくのである。   As the unique information, for example, a checksum can be used. FIG. 3 is a diagram illustrating specific information using a checksum. First, as described above, for the user data 51, the checksum of the user data 51 is calculated in a separate process in advance. Then, the checksum of the user data 51 and the number of bytes of the user data 51 are stored in the unique information storage unit 3 as unique information.

図で示した例では、CRC演算方式によって計算されたユーザデータ51のチェックサム(8桁)を16進表示している。   In the example shown in the figure, the checksum (8 digits) of the user data 51 calculated by the CRC calculation method is displayed in hexadecimal.

このチェックサムは、ユーザデータ51が、誤りのないメモリ(たとえばNOR型フラッシュメモリ)に格納されたと仮定した場合に計算されるチェックサムと同じものである。つまり、ユーザデータを、図6で示したように、不良領域の存在しないNOR型フラッシュメモリの先頭アドレスから順に格納した場合に、その格納されたデータを全物理アドレスについて順に読み出すことによって計算されるチェックサムと同じものである。なお、ブランクも含めてチェックサムを計算するようにしてもよい。   This checksum is the same as the checksum calculated when it is assumed that the user data 51 is stored in an error-free memory (for example, a NOR flash memory). That is, as shown in FIG. 6, when user data is stored in order from the top address of a NOR flash memory in which no defective area exists, the stored data is calculated by sequentially reading all stored physical addresses. Same as checksum. Note that the checksum including the blank may be calculated.

ユーザデータ51は、全てのデバイスに共通のデータであるので、ユーザデータ51に対する固有情報は、上記のように予め別の工程で作成され、固有情報記憶部3に格納されている。そして、このステップS3では、デバイスによって異なるデータであるエラーコントロールデータ52に基づいて、書込装置2が、チェックサムを計算する。そして、計算されたチェックサムと不良領域のブロック数を固有情報として固有情報記憶部3に格納するのである(ステップS4)。   Since the user data 51 is data common to all devices, the unique information for the user data 51 is created in a separate process in advance as described above and stored in the unique information storage unit 3. In step S3, the writing device 2 calculates a checksum based on the error control data 52 that is different data depending on the device. Then, the calculated checksum and the number of blocks in the defective area are stored in the unique information storage unit 3 as unique information (step S4).

図で示した例では、エラーコントロールデータ52の8桁のチェックサムを16進表示している。また、不良領域のブロック数に代えて、不良領域のアドレスリストを固有情報として格納するようにしてもよい。なお、不良領域のブロック数や、不良領域のアドレスリストについては、エラーコントロールデータ52に含めることなく、固有情報として固有情報記憶部3に格納するようにしてもよい。   In the example shown in the figure, the 8-digit checksum of the error control data 52 is displayed in hexadecimal. Further, instead of the number of blocks in the defective area, an address list of the defective area may be stored as unique information. Note that the number of defective area blocks and the address list of the defective area may be stored in the specific information storage unit 3 as specific information without being included in the error control data 52.

このように、ユーザデータ51については、共通のチェックサム、つまり、誤りのないメモリに格納された場合に計算されるチェックサムと同様の値を計算して保持するとともに、不良領域の存在するNAND型フラッシュメモリでデバイスごとに異なるエラーコントロールデータ52についても、固有情報を保持しておくのである。   Thus, for the user data 51, a common checksum, that is, the same value as the checksum calculated when stored in an error-free memory is calculated and held, and the NAND in which a defective area exists is stored. The unique information is also stored for the error control data 52 that is different for each device in the type flash memory.

また、固有情報としては、ハッシュ値を利用することもできる。図4は、SHA1のハッシュ値を利用した固有情報を示す図である。まず、ユーザデータ51からは、上述したように、予め別の工程で、ユーザデータ51のハッシュ値が計算されている。そして、ユーザデータ51のハッシュ値とユーザデータ51のバイト数を固有情報として、固有情報記憶部3に格納しておくのである。なお、ハッシュ値の計算には、MD5を利用してもよい。   As the unique information, a hash value can be used. FIG. 4 is a diagram showing unique information using the hash value of SHA1. First, as described above, the hash value of the user data 51 is calculated from the user data 51 in a separate process in advance. Then, the hash value of the user data 51 and the number of bytes of the user data 51 are stored in the unique information storage unit 3 as unique information. Note that MD5 may be used to calculate the hash value.

チェックサムの場合と同様、ユーザデータ51は、全てのデバイスに共通のデータであるので、ユーザデータ51に対する固有情報は、上記のように予め別の工程で作成され、固有情報記憶部3に格納されている。そして、ステップS3では、デバイスによって異なるデータであるエラーコントロールデータ52に基づいて、書込装置2が、ハッシュ値を計算する。そして、計算されたハッシュ値と不良領域のブロック数を固有情報として固有情報記憶部3に格納するのである(ステップS4)。あるいは、不良領域のブロック数に代えて、不良領域のアドレスリストを固有情報として格納するようにしてもよい。   As in the case of the checksum, since the user data 51 is common to all devices, the unique information for the user data 51 is created in advance in a separate process as described above and stored in the unique information storage unit 3. Has been. In step S3, the writing device 2 calculates a hash value based on the error control data 52 that is different data depending on the device. Then, the calculated hash value and the number of blocks in the defective area are stored in the unique information storage unit 3 as unique information (step S4). Alternatively, instead of the number of blocks in the defective area, the address list of the defective area may be stored as unique information.

なお、ステップS4において、固有情報を格納する記憶部は、メモリ1の記憶領域内であってもよいし、この実施の形態のようにメモリ1の外部であってもよい。   In step S4, the storage unit for storing the unique information may be in the storage area of the memory 1 or outside the memory 1 as in this embodiment.

ステップS4において、エラーコントロールデータ52の固有情報を固有情報記憶部3に格納した後、書込装置2は、ユーザデータ51とエラーコントロールデータ52をメモリ1に書き込むのである(ステップS5)。このようにして、ユーザデータ51とエラーコントロールデータ52が書き込まれた状態のメモリ1は、図1の(b)で示した状態となる。なお、図1の(b)では、ユーザデータ51の書込み領域にだけ不良領域12が混在しているが、もちろん、エラーコントロールデータ52の書込み領域についても、不良領域12が存在している場合はある。   After storing the unique information of the error control data 52 in the unique information storage unit 3 in step S4, the writing device 2 writes the user data 51 and the error control data 52 in the memory 1 (step S5). In this way, the memory 1 in which the user data 51 and the error control data 52 are written is in the state shown in FIG. In FIG. 1B, the defective area 12 is mixed only in the writing area of the user data 51. Of course, the defective area 12 is also present in the writing area of the error control data 52. is there.

このように、本実施の形態においては、全デバイスで共通のデータであるユーザデータ51に対しては、共通のチェックサムやハッシュ値を計算するとともに、ユーザデータ51のデータサイズ(バイト数)を固有情報として保持している。これにより、ユーザデータ51の正当性をチェックする情報として利用可能である。   As described above, in the present embodiment, for the user data 51 that is data common to all devices, a common checksum and hash value are calculated, and the data size (number of bytes) of the user data 51 is set. Stored as unique information. Thereby, it can be used as information for checking the validity of the user data 51.

さらに、本実施の形態においては、各デバイスで異なるデータであるエラーコントロールデータ52について、それぞれチェックサムやハッシュ値を計算し、固有情報として保持するようにしている。ここで、エラーコントロールデータ52には、不良領域の代替情報が含まれている。したがって、この固有情報を利用することで、代替情報に基づいて正当にデータが格納されていることを確認するための情報を提供可能となる。また、固有情報として、不良領域のブロック数やアドレス情報を保持するので、これによっても、誤りのあるNAND型フラッシュメモリに対して、正しく不良領域が代替されて維持されている状態を確認可能である。   Further, in the present embodiment, a checksum and a hash value are calculated for each error control data 52, which is different data in each device, and held as unique information. Here, the error control data 52 includes defect area replacement information. Therefore, by using this unique information, it is possible to provide information for confirming that data is properly stored based on the substitute information. In addition, since the number of blocks and address information of the defective area are held as the unique information, it is possible to confirm the state in which the defective area is correctly replaced and maintained for the erroneous NAND flash memory. is there.

図5は、上記の手順で管理されているメモリ1の正当性をチェックするシステムを示す図である。このシステムは、ホストコンピュータ5と、メモリ1を含むメモリデバイス10とで構成される。メモリデバイス10は、メモリ1と、メモリ1へのアクセスをコントロールするコントローラ4とを備えている。   FIG. 5 is a diagram showing a system for checking the validity of the memory 1 managed in the above procedure. This system includes a host computer 5 and a memory device 10 including a memory 1. The memory device 10 includes a memory 1 and a controller 4 that controls access to the memory 1.

コントローラ4は、動作モードとして、NORインタフェースモードを設定可能となっている。コントローラ4が、NORインタフェースモードに設定されている場合、メモリ1に対して、連続的に全物理アドレスに対してデータ読み出しを行うと、不良領域については、代替領域の情報が読み出されて、ホストコンピュータ5に対して読み出しデータが転送される。つまり、ホストコンピュータ5は、ユーザデータ51が、NOR型フラッシュメモリに格納されている場合と同様の手順、インタフェースで、読み出しデータを入力することができるのである。   The controller 4 can set the NOR interface mode as the operation mode. When the controller 4 is set in the NOR interface mode, when data is continuously read from the memory 1 for all physical addresses, information on the alternative area is read for the defective area. Read data is transferred to the host computer 5. That is, the host computer 5 can input read data by the same procedure and interface as when the user data 51 is stored in the NOR flash memory.

そして、ホストコンピュータ5は、メモリデバイス10から読み出したユーザデータ51に対して、上記実施の形態で説明した場合と同じアルゴリズムを用いて、チェックサムあるいはハッシュ値を計算するのである。そして、固有情報記憶部3に保持しておいたユーザデータ51のチェックサムあるいはハッシュ値と計算された値とを比較することで、データの正当性をチェックすることが可能である。   The host computer 5 calculates a checksum or hash value for the user data 51 read from the memory device 10 using the same algorithm as described in the above embodiment. The validity of the data can be checked by comparing the checksum or hash value of the user data 51 held in the unique information storage unit 3 with the calculated value.

このように、本実施の形態によれば、NAND型フラッシュメモリに格納されたユーザデータについても、NOR型フラッシュメモリに格納されていたユーザデータと同じ固有情報を利用して、データ正当性のチェックを行うことが可能である。   As described above, according to the present embodiment, the user data stored in the NAND flash memory is also checked for data validity by using the same unique information as the user data stored in the NOR flash memory. Can be done.

なお、上記の実施の形態においては、ユーザデータ51やエラーコントロールデータ52から固有情報を計算するアルゴリズムとしては、CRC演算方式やSHA1、MD5などを例に説明したが、固有情報の計算に利用するアルゴリズムは特に限定されるものではない。   In the above embodiment, the algorithm for calculating the unique information from the user data 51 and the error control data 52 has been described using the CRC calculation method, SHA1, MD5, etc. as an example, but it is used for calculating the unique information. The algorithm is not particularly limited.

本実施の形態で説明したメモリ1の管理方法は、メモリ1に格納されたデータの正当性をチェックするために利用可能である。したがって、メモリ1に格納されたデータを読み出したとき、固有情報記憶部3に格納されている固有情報を参照することで、データの改竄検知を行うことも可能である。そして、改竄を検知した場合には、システムが動作しないように制御すれば、効果的である。また、エラーコントロールデータ52の中に、ユーザデータ51に関するパラメータも挿入するようにしておけば、ユーザデータ51の改竄を効果的に検知可能である。   The management method of the memory 1 described in the present embodiment can be used to check the validity of the data stored in the memory 1. Therefore, when the data stored in the memory 1 is read, it is possible to detect falsification of the data by referring to the unique information stored in the unique information storage unit 3. When tampering is detected, it is effective to control so that the system does not operate. Further, if parameters related to the user data 51 are also inserted in the error control data 52, it is possible to effectively detect falsification of the user data 51.

本実施の形態に係るメモリと書込装置とを示す図である。It is a figure which shows the memory and writing device which concern on this Embodiment. ユーザデータおよびエラーコントロールデータの書込みフローチャートである。It is a write-in flowchart of user data and error control data. 固有情報としてのチェックサムを示す図である。It is a figure which shows the checksum as specific information. 固有情報としてのハッシュ値を示す図である。It is a figure which shows the hash value as specific information. ユーザデータの正当性をチェックするシステムを示す図である。It is a figure which shows the system which checks the correctness of user data. NOR型フラッシュメモリに対するユーザデータの格納形態を示す図である。It is a figure which shows the storage form of the user data with respect to a NOR type flash memory. NAND型フラッシュメモリに対するユーザデータの格納形態を示す図である。It is a figure which shows the storage form of the user data with respect to NAND type flash memory.

符号の説明Explanation of symbols

1 メモリ(NAND型フラッシュメモリ)
11 正常領域
12 不良領域
51 ユーザデータ
52 エラーコントロールデータ
1 Memory (NAND flash memory)
11 Normal area 12 Defective area 51 User data 52 Error control data

Claims (10)

ユーザデータが格納されるメモリを管理する方法であって、
前記メモリから不良領域情報を取得する工程と、
取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、
前記誤り管理情報から固有情報を抽出し、所定の記憶手段に格納する工程と、
前記メモリにユーザデータを格納する工程と、
前記メモリに前記誤り管理情報を格納する工程と、
を備えることを特徴とするメモリ管理方法。
A method for managing memory in which user data is stored,
Obtaining defective area information from the memory;
Creating error management information including replacement information of the defective area of the memory based on the acquired defective area information;
Extracting unique information from the error management information and storing it in a predetermined storage means;
Storing user data in the memory;
Storing the error management information in the memory;
A memory management method comprising:
請求項1に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたチェックサム、
を含むことを特徴とするメモリ管理方法。
The memory management method according to claim 1,
The specific information is
A checksum calculated from the error management information,
A memory management method.
請求項1に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたハッシュ値、
を含むことを特徴とするメモリ管理方法。
The memory management method according to claim 1,
The specific information is
A hash value calculated from the error management information,
A memory management method.
請求項1に記載のメモリ管理方法において、
前記固有情報は、
前記メモリの不良領域のブロック数、
を含むことを特徴とするメモリ管理方法。
The memory management method according to claim 1,
The specific information is
The number of blocks in the defective area of the memory,
A memory management method.
請求項1に記載のメモリ管理方法において、
前記固有情報は、
前記メモリの不良領域のアドレス情報、
を含むことを特徴とするメモリ管理方法。
The memory management method according to claim 1,
The specific information is
Address information of a defective area of the memory,
A memory management method.
請求項1ないし請求項5のいずれかに記載のメモリ管理方法において、
前記メモリは、
NAND型フラッシュメモリ、
を含むことを特徴とするメモリ管理方法。
The memory management method according to any one of claims 1 to 5,
The memory is
NAND flash memory,
A memory management method.
請求項1ないし請求項6のいずれかに記載のメモリ管理方法において、
前記所定の記憶手段は、
前記メモリ、
を含むことを特徴とするメモリ管理方法。
The memory management method according to any one of claims 1 to 6,
The predetermined storage means is
The memory,
A memory management method.
ユーザデータが格納される不良領域の存在するメモリを管理する方法であって、
格納するユーザデータから所定のアルゴリズムを用いて固有情報を抽出し、所定の記憶手段に格納する工程と、
前記メモリから不良領域情報を取得する工程と、
取得した不良領域情報に基づいて、前記メモリの不良領域の代替情報を含む誤り管理情報を作成する工程と、
前記メモリにユーザデータを格納する工程と、
前記メモリに前記誤り管理情報を格納する工程と、
不良領域については前記代替情報に基づいて代替された領域のデータを読み出すことにより、NOR型フラッシュメモリに対する読み出し処理をエミュレートすることで、前記メモリからユーザデータを全て読み出す工程と、
読み出したユーザデータから前記所定のアルゴリズムと同じアルゴリズムを用いて情報を抽出し、前記記憶手段に格納されている前記固有情報と比較することで、格納されているユーザデータの正当性を判定する工程と、
を備えることを特徴とするメモリ管理方法。
A method for managing a memory in which a defective area in which user data is stored exists.
Extracting specific information from user data to be stored using a predetermined algorithm and storing it in a predetermined storage means;
Obtaining defective area information from the memory;
Creating error management information including replacement information of the defective area of the memory based on the acquired defective area information;
Storing user data in the memory;
Storing the error management information in the memory;
For the defective area, the process of reading all user data from the memory by emulating the reading process for the NOR type flash memory by reading the data of the replaced area based on the replacement information;
A step of extracting the information from the read user data using the same algorithm as the predetermined algorithm and comparing the specific information stored in the storage means to determine the validity of the stored user data When,
A memory management method comprising:
請求項8に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたチェックサム、
を含むことを特徴とするメモリ管理方法。
The memory management method according to claim 8.
The specific information is
A checksum calculated from the error management information,
A memory management method.
請求項8に記載のメモリ管理方法において、
前記固有情報は、
前記誤り管理情報から演算されたハッシュ値、
を含むことを特徴とするメモリ管理方法。
The memory management method according to claim 8.
The specific information is
A hash value calculated from the error management information,
A memory management method.
JP2006292043A 2006-10-27 2006-10-27 Memory management method Expired - Fee Related JP4863472B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006292043A JP4863472B2 (en) 2006-10-27 2006-10-27 Memory management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006292043A JP4863472B2 (en) 2006-10-27 2006-10-27 Memory management method

Publications (2)

Publication Number Publication Date
JP2008108162A JP2008108162A (en) 2008-05-08
JP4863472B2 true JP4863472B2 (en) 2012-01-25

Family

ID=39441448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006292043A Expired - Fee Related JP4863472B2 (en) 2006-10-27 2006-10-27 Memory management method

Country Status (1)

Country Link
JP (1) JP4863472B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354818B2 (en) 2014-02-25 2016-05-31 Kabushiki Kaisha Toshiba Memory device and data storing method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103578565B (en) * 2012-07-19 2017-06-20 百富计算机技术(深圳)有限公司 The method of calibration and device of a kind of NAND Flash memory chips
CN109243517B (en) * 2017-07-10 2020-11-13 深圳市得一微电子有限责任公司 Searching method for NAND Flash bad block and solid state disk

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3472008B2 (en) * 1996-01-16 2003-12-02 株式会社東芝 Flash memory management method
JP2003337759A (en) * 2002-05-17 2003-11-28 Mitsubishi Electric Corp Flash memory controller
JP2005050442A (en) * 2003-07-30 2005-02-24 Sanyo Electric Co Ltd Redundant memory circuit
JP2005085121A (en) * 2003-09-10 2005-03-31 Seiko Epson Corp Data update method for flash memory, data update program, information processor, and information processing system
JP2005135260A (en) * 2003-10-31 2005-05-26 Fujitsu Ten Ltd Method and system for setting product function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354818B2 (en) 2014-02-25 2016-05-31 Kabushiki Kaisha Toshiba Memory device and data storing method

Also Published As

Publication number Publication date
JP2008108162A (en) 2008-05-08

Similar Documents

Publication Publication Date Title
US9817749B2 (en) Apparatus and method of offloading processing from a data storage device to a host device
KR101730510B1 (en) Non-regular parity distribution detection via metadata tag
JP4560408B2 (en) Method for controlling nonvolatile memory device
US8060688B2 (en) Method and device for reconfiguration of reliability data in flash EEPROM storage pages
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US8751817B2 (en) Data processing apparatus and validity verification method
TWI459393B (en) Data writing method for a non-volatile memory module, memory controller and memory storage apparatus
TWI394170B (en) Link table recovery method
JPH08235028A (en) Data management method for flash memory and data processor using the data management method
JP2009064238A (en) Memory system
JP2010079856A (en) Storage device and memory control method
JP4863472B2 (en) Memory management method
TWI616807B (en) Data writing method and storage controller
JP2004220068A (en) Memory card and method for writing data in memory
WO2017107160A1 (en) Bad block identification processing and error correction method and system for heterogeneous hybrid memory-based nvm
TW201403323A (en) Memory storage device and repairing method thereof
JP2004342112A (en) Device and method for responding to data retention loss in nonvolatile memory unit using error-checking and correction techniques
JP4888862B2 (en) Memory management method
CN107257281B (en) Method, apparatus and computer readable storage medium for NOR F L ASH storage key record
CN114203252A (en) Bad block detection method, device, equipment and storage medium of nonvolatile memory
JP5786702B2 (en) Security token, instruction execution method in security token, and computer program
US9558110B2 (en) Method for managing a flash memory
JP2004145964A (en) Semiconductor memory, semiconductor memory manufacturing method, memory card, and method of controlling semiconductor memory
JP4866114B2 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD
JP4691355B2 (en) Non-volatile memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090223

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090223

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: 20111025

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: 20111107

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

Ref document number: 4863472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees