JP2014035747A - Semiconductor memory device - Google Patents

Semiconductor memory device Download PDF

Info

Publication number
JP2014035747A
JP2014035747A JP2012178340A JP2012178340A JP2014035747A JP 2014035747 A JP2014035747 A JP 2014035747A JP 2012178340 A JP2012178340 A JP 2012178340A JP 2012178340 A JP2012178340 A JP 2012178340A JP 2014035747 A JP2014035747 A JP 2014035747A
Authority
JP
Japan
Prior art keywords
management information
block
blocks
stored
memory device
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.)
Granted
Application number
JP2012178340A
Other languages
Japanese (ja)
Other versions
JP6152999B2 (en
Inventor
Mitsuru Tamura
満 田村
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 JP2012178340A priority Critical patent/JP6152999B2/en
Publication of JP2014035747A publication Critical patent/JP2014035747A/en
Application granted granted Critical
Publication of JP6152999B2 publication Critical patent/JP6152999B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor memory device capable of storing management information in a memory to be controlled while preventing a situation in which a normal operation is impeded due to the existence of defective blocks, a forced power shutdown, or the like.SOLUTION: Management information includes: first management information that is stored in a first block group R1; and second management information that is stored in a second block group R2. The second management information includes restoration information for restoring appropriate first management information in the first block group R1 when the appropriate first management information is not identified in the first block group R1.

Description

本発明は、半導体記憶装置に関する。   The present invention relates to a semiconductor memory device.

メモリコントローラと、フラッシュメモリ等のメモリセルアレイとを備えたメモリシステムが実用化されている。NAND型のフラッシュメモリ等においては、製造時に発生する先天性不良ブロックや、出荷後の通常使用によって発生する後天性不良ブロックが、ランダムに存在する。これらの不良ブロックを避けて使用する必要があるため、所定の管理情報によって不良ブロックの位置が管理される。   A memory system including a memory controller and a memory cell array such as a flash memory has been put into practical use. In a NAND flash memory or the like, there are randomly acquired congenital defective blocks that occur at the time of manufacture, and acquired defective blocks that occur due to normal use after shipment. Since it is necessary to avoid these bad blocks and use them, the position of the bad block is managed by predetermined management information.

制御対象メモリであるメモリセルアレイ内に管理情報を格納しようとすると、格納先のブロックが先天性不良ブロックであった場合や、格納時には先天性不良ブロックではなかったがその後に後天性不良ブロックとなった場合に、管理情報の一部又は全部のデータが破壊又は喪失されてしまう可能性がある。また、管理情報を更新するために新たな管理情報を書き込んでいる最中に、ユーザの誤操作等によって強制的に電源が遮断されてしまうと、管理情報の一部又は全部のデータが破壊又は喪失されてしまう可能性がある。管理情報が破壊又は喪失されると、その後はメモリシステムの正常動作が阻害される。   If you try to store management information in the memory cell array that is the memory to be controlled, if the storage block is a congenital defective block, or it was not a congenital defective block at the time of storage, it will later become an acquired defective block. In this case, some or all of the management information data may be destroyed or lost. Also, if the power is forcibly shut down due to a user's mistaken operation while writing new management information to update the management information, some or all of the data in the management information is destroyed or lost. There is a possibility of being. If the management information is destroyed or lost, then the normal operation of the memory system is hindered.

そこで、背景技術に係るメモリシステムでは、制御対象メモリとは別の専用の不揮発性メモリを用意し、当該不揮発性メモリ内に管理情報を格納することによって、管理情報の破壊等が防止されている。他の方法として、メモリコントローラ内の不揮発のメモリ領域に管理情報を格納し、あるいはDIPスイッチの設定によって管理情報をメモリコントローラに与えることで、管理情報の破壊等が防止されている。   Therefore, in the memory system according to the background art, by preparing a dedicated non-volatile memory different from the control target memory and storing the management information in the non-volatile memory, destruction of the management information is prevented. . As another method, management information is stored in a non-volatile memory area in the memory controller, or management information is given to the memory controller by setting a DIP switch, thereby preventing destruction of the management information.

なお、下記特許文献1には、コントローラとフラッシュメモリとを備えたメモリシステムが開示されている。不良ブロックのリスト等を含む管理情報は、複数の分割片に分割されて、各分割片がフラッシュメモリ内に個別に保存されている。また、コントローラ内には、DRAM等の揮発性メモリを用いた管理メモリが実装されている。複数の分割片がフラッシュメモリから管理メモリに読み出されることにより、管理メモリ内に管理情報が保存される。   Patent Document 1 listed below discloses a memory system including a controller and a flash memory. Management information including a list of defective blocks is divided into a plurality of divided pieces, and each divided piece is individually stored in the flash memory. A management memory using a volatile memory such as a DRAM is mounted in the controller. Management information is stored in the management memory by reading a plurality of divided pieces from the flash memory to the management memory.

特開2011−59866号公報JP 2011-59866 A

上述したように背景技術に係るメモリシステムでは、制御対象メモリとは別の専用の不揮発性メモリ内に管理情報が格納される。従って、制御対象メモリとは別に専用の不揮発性メモリを追加する必要があるため、製造コストが増大するとともに制御が複雑化する。   As described above, in the memory system according to the background art, management information is stored in a dedicated non-volatile memory different from the control target memory. Therefore, since it is necessary to add a dedicated non-volatile memory in addition to the control target memory, the manufacturing cost increases and the control becomes complicated.

本発明はかかる問題を解決するために成されたものであり、不良ブロックの存在や強制的な電源遮断等に起因して正常動作が阻害されるという事態を回避しつつ、管理情報を制御対象メモリに格納することが可能な半導体記憶装置を得ることを目的とする。   The present invention has been made to solve such a problem, and management information is controlled while avoiding a situation in which normal operation is hindered due to the presence of a defective block or forced power shutdown. An object is to obtain a semiconductor memory device that can be stored in a memory.

本発明の第1の態様に係る半導体記憶装置は、それぞれがデータの消去単位である複数のブロックを有する記憶部と、前記記憶部を制御する制御部と、を備え、前記記憶部が有する全ブロックには、前記制御部が前記記憶部を管理するために必要な管理情報を格納するためのブロックとして限定的に割り当てられた、複数の第1所定数個のブロックから成る第1ブロック群と、第1ブロック群以外の第2ブロック群と、が含まれ、管理情報は、第1ブロック群内に格納される第1管理情報と、第2ブロック群内に格納される第2管理情報と、を含み、第2管理情報には、第1ブロック群内において妥当な第1管理情報を特定できない場合に、当該妥当な第1管理情報を第1ブロック群内に復元するための復元情報が含まれることを特徴とするものである。   A semiconductor memory device according to a first aspect of the present invention includes a storage unit having a plurality of blocks, each of which is a data erasing unit, and a control unit that controls the storage unit, and all of the storage unit has A first block group consisting of a plurality of first predetermined number of blocks, which is assigned to the blocks in a limited manner as blocks for storing management information necessary for the control unit to manage the storage unit; , A second block group other than the first block group, and management information includes first management information stored in the first block group, second management information stored in the second block group, and The second management information includes restoration information for restoring the appropriate first management information in the first block group when the appropriate first management information cannot be specified in the first block group. It is characterized by being included Than is.

第1の態様に係る半導体記憶装置によれば、管理情報は、第1ブロック群内に格納される第1管理情報と、第2ブロック群内に格納される第2管理情報とを含む。そして、第2管理情報には、第1ブロック群内において妥当な第1管理情報を特定できない場合に、当該妥当な第1管理情報を第1ブロック群内に復元するための復元情報が含まれる。従って、第1ブロック群内において妥当な第1管理情報を特定できない場合であっても、制御部は、第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を第1ブロック群内に復元することができる。その結果、不良ブロックの存在や強制的な電源遮断等に起因して正常動作が阻害されるという事態を回避しつつ、管理情報を制御対象メモリに格納することが可能となる。   According to the semiconductor memory device of the first aspect, the management information includes the first management information stored in the first block group and the second management information stored in the second block group. The second management information includes restoration information for restoring the appropriate first management information in the first block group when the appropriate first management information cannot be specified in the first block group. . Therefore, even when it is not possible to specify the appropriate first management information in the first block group, the control unit determines the appropriate first management information based on the restoration information included in the second management information. It can be restored within one block group. As a result, it is possible to store the management information in the control target memory while avoiding the situation where the normal operation is hindered due to the presence of a defective block or forced power cut-off.

本発明の第2の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、第2管理情報は、第1管理情報よりも書き換え頻度の高い情報であることを特徴とするものである。   The semiconductor memory device according to the second aspect of the present invention is characterized in that, in the semiconductor memory device according to the first aspect, the second management information is information that is rewritten more frequently than the first management information. Is.

第2の態様に係る半導体記憶装置によれば、第2管理情報は、第1管理情報よりも書き換え頻度の高い情報である。書き換え頻度に応じて管理情報を第1管理情報と第2管理情報とに分割し、限定的に割り当てられた第1ブロック群内には、書き換え頻度の低い第1管理情報を格納することにより、第1ブロック群内ではデータの書き換えが頻繁には発生しない。その結果、第1ブロック群内における後天性不良ブロックの発生が抑制されるため、装置の信頼性を向上することが可能となる。   According to the semiconductor memory device according to the second aspect, the second management information is information that is rewritten more frequently than the first management information. By dividing the management information into the first management information and the second management information according to the rewrite frequency, and storing the first management information with a low rewrite frequency in the limited first block group, Data rewriting does not occur frequently in the first block group. As a result, since the occurrence of acquired defective blocks in the first block group is suppressed, the reliability of the apparatus can be improved.

本発明の第3の態様に係る半導体記憶装置は、第1又は第2の態様に係る半導体記憶装置において特に、第1管理情報には、第2管理情報を格納しているブロックを示す位置情報が含まれ、第2管理情報には、不良ブロックを示す位置情報が含まれることを特徴とするものである。   In the semiconductor memory device according to the third aspect of the present invention, in the semiconductor memory device according to the first or second aspect, the first management information includes, in the first management information, positional information indicating a block storing the second management information. And the second management information includes position information indicating a defective block.

第3の態様に係る半導体記憶装置によれば、第1管理情報には、第2管理情報を格納しているブロックを示す位置情報が含まれ、第2管理情報には、不良ブロックを示す位置情報が含まれる。従って、制御部は、第1管理情報を記憶部から読み出すことによって、第2管理情報を格納しているブロックを示す位置情報を取得でき、また、当該位置情報に基づいて第2管理情報を記憶部から読み出すことによって、不良ブロックを示す位置情報を取得することが可能となる。   According to the semiconductor memory device of the third aspect, the first management information includes position information indicating a block storing the second management information, and the second management information includes a position indicating a defective block. Contains information. Therefore, the control unit can acquire the position information indicating the block storing the second management information by reading the first management information from the storage unit, and stores the second management information based on the position information. By reading from the part, it is possible to acquire position information indicating a defective block.

本発明の第4の態様に係る半導体記憶装置は、第3の態様に係る半導体記憶装置において特に、第1管理情報には、第1ブロック群内の不良ブロックを示す位置情報が含まれ、第2管理情報には、第2ブロック群内の不良ブロックを示す位置情報が含まれることを特徴とするものである。   In the semiconductor memory device according to the fourth aspect of the present invention, particularly in the semiconductor memory device according to the third aspect, the first management information includes position information indicating a defective block in the first block group. The 2 management information includes position information indicating defective blocks in the second block group.

第4の態様に係る半導体記憶装置によれば、第1管理情報には、第1ブロック群内の不良ブロックを示す位置情報が含まれ、第2管理情報には、第2ブロック群内の不良ブロックを示す位置情報が含まれる。従って、第2ブロック群内で後天性不良ブロックが発生した場合には、第2管理情報のみを更新すればよく、第1管理情報の更新を省略することができる。   According to the semiconductor memory device of the fourth aspect, the first management information includes position information indicating a defective block in the first block group, and the second management information includes a defect in the second block group. Position information indicating a block is included. Therefore, when an acquired defective block occurs in the second block group, only the second management information needs to be updated, and the update of the first management information can be omitted.

本発明の第5の態様に係る半導体記憶装置は、第1〜第4のいずれか一つの態様に係る半導体記憶装置において特に、第2ブロック群内には、複数の第2所定数個のブロックの各々に、同一内容の第2管理情報が格納されていることを特徴とするものである。   The semiconductor memory device according to the fifth aspect of the present invention is the semiconductor memory device according to any one of the first to fourth aspects, in particular, a plurality of second predetermined number of blocks in the second block group. The second management information having the same contents is stored in each of the above.

第5の態様に係る半導体記憶装置によれば、第2ブロック群内には、複数の第2所定数個のブロックの各々に、同一内容の第2管理情報が格納されている。従って、第2所定数個のブロックに格納されている第2所定数個の第2管理情報のうちの一つが破壊又は喪失された場合であっても、制御部は、破壊又は喪失されていない残りの第2管理情報を、記憶部から取得することができる。その結果、不良ブロックの存在や強制的な電源遮断等に起因して正常動作が阻害されるという事態を回避しつつ、管理情報を制御対象メモリに格納することが可能となる。   According to the semiconductor memory device of the fifth aspect, in the second block group, the second management information having the same contents is stored in each of the plurality of second predetermined number of blocks. Therefore, even if one of the second predetermined number of second management information stored in the second predetermined number of blocks is destroyed or lost, the control unit is not destroyed or lost. The remaining second management information can be acquired from the storage unit. As a result, it is possible to store the management information in the control target memory while avoiding the situation where the normal operation is hindered due to the presence of a defective block or forced power cut-off.

本発明の第6の態様に係る半導体記憶装置は、第5の態様に係る半導体記憶装置において特に、前記制御部は、正常な第2管理情報が格納されている、複数の第3所定数個の正常ブロックを、第2ブロック群の中から特定し、第3所定数個の正常ブロックに格納されている第3所定数個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定し、当該妥当な第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を復元することを特徴とするものである。   A semiconductor memory device according to a sixth aspect of the present invention is the semiconductor memory device according to the fifth aspect, in particular, the control unit includes a plurality of third predetermined numbers in which normal second management information is stored. Normal blocks are identified from the second block group, and one appropriate first block is determined by majority from the third predetermined number of second management information stored in the third predetermined number of normal blocks. The second management information is specified, and the valid first management information is restored based on the restoration information included in the valid second management information.

第6の態様に係る半導体記憶装置によれば、制御部は、第3所定数個の正常ブロックを、第2ブロック群の中から特定する。そして、特定した第3所定数個の正常ブロックに格納されている第3所定数個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定する。従って、更新が繰り返されることで第2ブロック群内に複数バージョンの第2管理情報が格納されている場合であっても、妥当な第2管理情報を適切に特定することが可能となる。   According to the semiconductor memory device of the sixth aspect, the control unit specifies the third predetermined number of normal blocks from the second block group. Then, from the third predetermined number of second management information stored in the specified third predetermined number of normal blocks, one appropriate second management information is specified by majority vote. Therefore, even when multiple versions of the second management information are stored in the second block group by repeating the update, it is possible to appropriately specify the appropriate second management information.

本発明の第7の態様に係る半導体記憶装置は、第6の態様に係る半導体記憶装置において特に、前記制御部は、第2管理情報を格納している全てのブロックの中から、格納している第2管理情報にデータの誤りが生じている異常ブロックを除外することにより、正常ブロックを特定することを特徴とするものである。   A semiconductor memory device according to a seventh aspect of the present invention is the semiconductor memory device according to the sixth aspect, in which the control unit stores the second management information from all the blocks stored therein. The normal block is specified by excluding the abnormal block in which the data error has occurred in the second management information.

第7の態様に係る半導体記憶装置によれば、制御部は、第2管理情報を格納している全てのブロックの中から異常ブロックを除外することにより、正常ブロックを特定する。従って、異常ブロックが正常ブロックとして特定されるという事態を回避できるため、妥当な第2管理情報を適切に特定することが可能となる。   According to the semiconductor memory device of the seventh aspect, the control unit identifies the normal block by excluding the abnormal block from all the blocks storing the second management information. Accordingly, it is possible to avoid a situation in which an abnormal block is specified as a normal block, and it is possible to appropriately specify appropriate second management information.

本発明の第8の態様に係る半導体記憶装置は、第6又は第7の態様に係る半導体記憶装置において特に、前記制御部は、第3所定数個の正常ブロックの中から3個の正常ブロックを特定し、当該3個の正常ブロックに格納されている3個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定することを特徴とするものである。   The semiconductor memory device according to an eighth aspect of the present invention is the semiconductor memory device according to the sixth or seventh aspect, in particular, the control unit includes three normal blocks among the third predetermined number of normal blocks. , And one appropriate second management information is specified by a majority vote from the three pieces of second management information stored in the three normal blocks.

第8の態様に係る半導体記憶装置によれば、制御部は、第3所定数個の正常ブロックの中から3個の正常ブロックを特定し、当該3個の正常ブロックに格納されている3個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定する。このように、多数決を行う対象を3個の第2管理情報に限定することによって、簡易に多数決を行うことができるため、処理の所要時間を短縮することが可能となる。   According to the semiconductor memory device of the eighth aspect, the control unit specifies three normal blocks from the third predetermined number of normal blocks, and the three stored in the three normal blocks. From the second management information, one appropriate second management information is specified by majority vote. In this way, by limiting the target of the majority decision to the three pieces of second management information, the majority decision can be easily made, and thus the time required for processing can be shortened.

本発明の第9の態様に係る半導体記憶装置は、第8の態様に係る半導体記憶装置において特に、前記制御部は、ある1個の正常ブロックに格納されている第2管理情報と、当該第2管理情報に位置情報が記述されている特定の2個のブロックに格納されている2個の第2管理情報と、を用いて、多数決を行うことを特徴とするものである。   A semiconductor memory device according to a ninth aspect of the present invention is the semiconductor memory device according to the eighth aspect, in particular, the control unit includes second management information stored in a certain normal block, 2. Majority voting is performed using two pieces of second management information stored in two specific blocks in which position information is described in two pieces of management information.

第9の態様に係る半導体記憶装置によれば、制御部は、ある1個の正常ブロックに格納されている第2管理情報と、当該第2管理情報に位置情報が記述されている特定の2個のブロックに格納されている2個の第2管理情報とを用いて、多数決を行う。従って、多数決を行う対象を、更新時に併せて書き込まれた同一内容の第2管理情報に限定できるため、多数決によって妥当な第2管理情報を特定できる可能性を高めることが可能となる。   According to the semiconductor memory device of the ninth aspect, the control unit includes the second management information stored in a certain normal block and the specific 2 in which the position information is described in the second management information. A majority decision is made using two pieces of second management information stored in each block. Therefore, since the target of majority decision can be limited to the second management information having the same contents written together at the time of update, it is possible to increase the possibility of specifying appropriate second management information by majority decision.

本発明の第10の態様に係る半導体記憶装置は、第8又は第9の態様に係る半導体記憶装置において特に、前記制御部は、特定した3個の正常ブロックを対象とする多数決によっては妥当な第2管理情報を特定できない場合には、第3所定数個の正常ブロックの中から他の3個の正常ブロックを特定し、当該他の3個の正常ブロックに格納されている3個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定することを特徴とするものである。   In the semiconductor memory device according to the tenth aspect of the present invention, in particular, in the semiconductor memory device according to the eighth or ninth aspect, the control unit is appropriate depending on the majority vote for the three specified normal blocks. When the second management information cannot be specified, the other three normal blocks are specified from the third predetermined number of normal blocks, and the three first blocks stored in the other three normal blocks are specified. Among the two management information, one appropriate second management information is specified by majority vote.

第10の態様に係る半導体記憶装置によれば、制御部は、特定した3個の正常ブロックを対象とする多数決によっては妥当な第2管理情報を特定できない場合には、他の3個の正常ブロックを特定し直して多数決を行う。これにより、妥当な第2管理情報を特定できる可能性を高めることが可能となる。   According to the semiconductor memory device of the tenth aspect, when the control unit cannot identify the appropriate second management information by the majority vote for the identified three normal blocks, the other three normal Re-identify the block and make a majority vote. Thereby, it is possible to increase the possibility of specifying appropriate second management information.

本発明の第11の態様に係る半導体記憶装置は、第5〜第10のいずれか一つの態様に係る半導体記憶装置において特に、前記制御部は、第2管理情報を更新する必要が生じた場合には、更新前の第2管理情報が格納されている第2所定数個のブロックの各々に、更新後の第2管理情報をそれぞれ書き込むことを特徴とするものである。   The semiconductor memory device according to the eleventh aspect of the present invention is the semiconductor memory device according to any one of the fifth to tenth aspects, particularly when the control unit needs to update the second management information. Is characterized in that the updated second management information is written in each of the second predetermined number of blocks in which the second management information before the update is stored.

第11の態様に係る半導体記憶装置によれば、制御部は、第2管理情報を更新する必要が生じた場合には、更新前の第2管理情報が格納されている第2所定数個のブロックの各々に、更新後の第2管理情報をそれぞれ書き込む。これにより、更新後においても、同一内容の第2所定個数の第2管理情報を、第2ブロック群に格納することが可能となる。   According to the semiconductor memory device of the eleventh aspect, when it becomes necessary to update the second management information, the control unit stores the second predetermined number of second management information before the update. The updated second management information is written in each block. Thereby, even after the update, a second predetermined number of second management information having the same contents can be stored in the second block group.

本発明の第12の態様に係る半導体記憶装置は、第11の態様に係る半導体記憶装置において特に、前記制御部は、第2管理情報の更新毎に値が異なるバージョン情報を、第2管理情報に含めて書き込むことを特徴とするものである。   A semiconductor memory device according to a twelfth aspect of the present invention is the semiconductor memory device according to the eleventh aspect, in particular, the control unit receives version information having a different value every time the second management information is updated, It is characterized in that it is included and written.

第12の態様に係る半導体記憶装置によれば、制御部は、更新毎に値が異なるバージョン情報を、第2管理情報に含めて書き込む。従って、バージョン情報を用いて多数決を行うことができ、その結果、妥当な第2管理情報を適切に特定する精度を向上することが可能となる。   According to the semiconductor memory device in the twelfth aspect, the control unit writes the version information having a different value for each update included in the second management information. Therefore, a majority decision can be made using the version information, and as a result, it is possible to improve the accuracy of appropriately specifying appropriate second management information.

本発明の第13の態様に係る半導体記憶装置は、第12の態様に係る半導体記憶装置において特に、前記制御部は、あるブロックに第2管理情報を書き込む際に当該ブロックが後天性不良ブロックとなった場合には、当該第2管理情報に含めたバージョン情報の値を、以降の更新時には使用しないことを特徴とするものである。   A semiconductor memory device according to a thirteenth aspect of the present invention is the semiconductor memory device according to the twelfth aspect, particularly when the control unit writes the second management information in a certain block as an acquired defective block. In this case, the version information value included in the second management information is not used in subsequent updates.

第13の態様に係る半導体記憶装置によれば、制御部は、あるブロックに第2管理情報を書き込む際に当該ブロックが後天性不良ブロックとなった場合には、当該第2管理情報に含めたバージョン情報の値を、以降の更新時には使用しない。従って、バージョン情報の値を生成するためのカウンタ値が一周した場合であっても、後天性不良ブロックに格納されている第2管理情報が、多数決によって妥当な第2管理情報として誤って特定されるという事態を回避することが可能となる。   According to the semiconductor memory device of the thirteenth aspect, when the second management information is written in a certain block, the control unit includes the acquired second management information in the case where the block becomes an acquired defective block. The version information value is not used for subsequent updates. Therefore, even if the counter value for generating the version information value makes a round, the second management information stored in the acquired defective block is erroneously specified as valid second management information by majority vote. It is possible to avoid this situation.

本発明の第14の態様に係る半導体記憶装置は、第11の態様に係る半導体記憶装置において特に、前記制御部は、第2管理情報の更新時刻に関する時間情報を、第2管理情報に含めて書き込むことを特徴とするものである。   A semiconductor memory device according to a fourteenth aspect of the present invention is the semiconductor memory device according to the eleventh aspect, in which the control unit includes time information related to the update time of the second management information in the second management information. It is characterized by writing.

第14の態様に係る半導体記憶装置によれば、制御部は、第2管理情報の更新時刻に関する時間情報を、第2管理情報に含めて書き込む。従って、時間情報に基づいて最新の第2管理情報を特定でき、その結果、妥当な第2管理情報を適切に特定する精度を向上することが可能となる。   According to the semiconductor memory device in the fourteenth aspect, the control unit writes the time information related to the update time of the second management information in the second management information. Therefore, the latest second management information can be specified based on the time information, and as a result, it is possible to improve the accuracy of appropriately specifying appropriate second management information.

本発明の第15の態様に係る半導体記憶装置は、第11〜第14のいずれか一つの態様に係る半導体記憶装置において特に、前記制御部は、第2管理情報の誤り検出符号を、第2管理情報に含めて書き込むことを特徴とするものである。   The semiconductor memory device according to the fifteenth aspect of the present invention is the semiconductor memory device according to any one of the eleventh to fourteenth aspects, in particular, the control unit sets the error detection code of the second management information to the second It is characterized in that it is written in the management information.

第15の態様に係る半導体記憶装置によれば、制御部は、第2管理情報の誤り検出符号を、第2管理情報に含めて書き込む。従って、誤り検出符号を用いて多数決を行うことができ、その結果、妥当な第2管理情報を適切に特定する精度を向上することが可能となる。また、誤り検出符号を用いてデータの誤りが生じているか否かを判定することができ、その結果、第2ブロック群の中から正常ブロックを特定する際に、データの誤りが生じている異常ブロックを除外することが可能となる。   According to the semiconductor memory device in the fifteenth aspect, the control unit writes the error detection code of the second management information by including it in the second management information. Therefore, a majority decision can be made using the error detection code, and as a result, it is possible to improve the accuracy of appropriately identifying the appropriate second management information. In addition, it is possible to determine whether or not a data error has occurred using an error detection code. As a result, when a normal block is specified from the second block group, an abnormality in which a data error has occurred Blocks can be excluded.

本発明の第16の態様に係る半導体記憶装置は、第11〜第15のいずれか一つの態様に係る半導体記憶装置において特に、前記制御部は、第2所定数個のブロックの中の一のブロックに書き込む第2管理情報に、第2所定数個のブロックの中の他のブロックを示す位置情報を含めて書き込むことを特徴とするものである。   A semiconductor memory device according to a sixteenth aspect of the present invention is the semiconductor memory device according to any one of the first to fifteenth aspects, and in particular, the control unit is one of the second predetermined number of blocks. The second management information to be written in the block is written by including position information indicating other blocks in the second predetermined number of blocks.

第16の態様に係る半導体記憶装置によれば、制御部は、第2所定数個のブロックの中の一のブロックに書き込む第2管理情報に、第2所定数個のブロックの中の他のブロックを示す位置情報を含めて書き込む。従って、多数決を行う対象を、更新時に併せて書き込まれた同一内容の第2管理情報に限定できるため、多数決によって妥当な第2管理情報を特定できる可能性を高めることが可能となる。   According to the semiconductor memory device in the sixteenth aspect, the control unit adds the second management information to be written to one block in the second predetermined number of blocks to the other management information in the second predetermined number of blocks. Write including position information indicating the block. Therefore, since the target of majority decision can be limited to the second management information having the same contents written together at the time of update, it is possible to increase the possibility of specifying appropriate second management information by majority decision.

本発明によれば、不良ブロックの存在や強制的な電源遮断等に起因して正常動作が阻害されるという事態を回避しつつ、管理情報を制御対象メモリに格納することが可能な半導体記憶装置を得ることができる。   According to the present invention, a semiconductor storage device capable of storing management information in a control target memory while avoiding a situation in which normal operation is hindered due to the presence of a defective block or forced power-off Can be obtained.

本発明の実施の形態1に係る半導体記憶装置の構成を簡略化して示す図である。1 is a diagram showing a simplified configuration of a semiconductor memory device according to a first embodiment of the present invention. 制御対象メモリのメモリ空間の一部を抜き出して示す図である。It is a figure which extracts and shows a part of memory space of control object memory. 使用が想定されている制御対象メモリの種類を示す図である。It is a figure which shows the kind of control object memory assumed to be used. 第1ブロック群を示す図である。It is a figure which shows a 1st block group. 第2ブロック群を示す図である。It is a figure which shows a 2nd block group. ブロック内のページの割り当てを示す図である。It is a figure which shows the allocation of the page in a block. ブロック内のページの割り当てを示す図である。It is a figure which shows the allocation of the page in a block. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1ブロック群の他の例を示す図である。It is a figure which shows the other example of a 1st block group. 第1ブロック群の他の例を示す図である。It is a figure which shows the other example of a 1st block group. 第1管理情報の復元処理を示す図である。It is a figure which shows the decompression | restoration process of 1st management information. 第2管理情報の更新例を示す図である。It is a figure which shows the example of an update of 2nd management information. 第2管理情報の更新例を示す図である。It is a figure which shows the example of an update of 2nd management information. 第1ブロック群を示す図である。It is a figure which shows a 1st block group. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 管理情報の取得処理を順に示す図である。It is a figure which shows the acquisition process of management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1管理情報の更新処理を順に示す図である。It is a figure which shows the update process of 1st management information in order. 第1ブロック群の他の例を示す図である。It is a figure which shows the other example of a 1st block group. 第1ブロック群の他の例を示す図である。It is a figure which shows the other example of a 1st block group. 変形例1に係る半導体記憶装置の構成を簡略化して示す図である。FIG. 10 is a diagram showing a simplified configuration of a semiconductor memory device according to Modification 1; 制御対象メモリに格納されている第2管理情報片の第1の例を示す図である。It is a figure which shows the 1st example of the 2nd management information piece stored in the control object memory. 制御対象メモリに格納されている第2管理情報片の第2の例を示す図である。It is a figure which shows the 2nd example of the 2nd management information piece stored in the control object memory.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, the element which attached | subjected the same code | symbol in different drawing shall show the same or corresponding element.

<実施の形態1>
図1は、本発明の実施の形態1に係る半導体記憶装置1の構成を簡略化して示す図である。半導体記憶装置1は、メモリコントローラ2(制御部)と、メモリコントローラ2によって制御される制御対象メモリ3(記憶部)とを備えている。制御対象メモリ3は、不揮発性のメモリであり、例えばNAND型フラッシュメモリによって構成されている。
<Embodiment 1>
FIG. 1 is a diagram showing a simplified configuration of a semiconductor memory device 1 according to the first embodiment of the present invention. The semiconductor storage device 1 includes a memory controller 2 (control unit) and a control target memory 3 (storage unit) controlled by the memory controller 2. The control target memory 3 is a non-volatile memory, and is composed of, for example, a NAND flash memory.

図2は、制御対象メモリ3のメモリ空間の一部を抜き出して示す図である。メモリ空間は、複数のブロックB1〜BNに分割されている。ブロックは、データの消去の単位である。制御対象メモリ3が有する全ブロックB1〜BNは、第1ブロック群R1と第2ブロック群R2とに分類されている。   FIG. 2 is a diagram illustrating a part of the memory space of the control target memory 3. The memory space is divided into a plurality of blocks B1 to BN. A block is a unit for erasing data. All the blocks B1 to BN included in the control target memory 3 are classified into a first block group R1 and a second block group R2.

第1ブロック群R1は、後述する第1管理情報を格納するためのブロックの集合であり、全ブロックB1〜BNの中から限定された特定の複数個のブロックが、第1ブロック群R1として割り当てられている。本実施の形態の例では、ブロックB1〜B10の合計10個のブロックが、第1ブロック群R1として割り当てられている。   The first block group R1 is a set of blocks for storing first management information to be described later, and a specific plurality of blocks limited among all the blocks B1 to BN are assigned as the first block group R1. It has been. In the example of the present embodiment, a total of 10 blocks B1 to B10 are allocated as the first block group R1.

第2ブロック群R2は、第1ブロック群R1以外のブロックの集合である。第2ブロック群R2には、ユーザが使用する任意のデータが格納される。また、第2ブロック群R2には、後述する第2管理情報が格納される。   The second block group R2 is a set of blocks other than the first block group R1. Arbitrary data used by the user is stored in the second block group R2. The second block group R2 stores second management information to be described later.

本実施の形態に係る半導体記憶装置1では、第1ブロック群R1に属する10個のブロックB1〜B10の中から選択された3個のブロックに、同一内容の第1管理情報が格納される。但し、「10個」及び「3個」の値は一例であり、この値には限定されない。また、第2ブロック群R2に属する全てのブロックの中から任意に選択された3個のブロックに、同一内容の第2管理情報が格納される。但し、「3個」の値は一例であり、この値には限定されない。   In the semiconductor memory device 1 according to the present embodiment, the first management information having the same content is stored in three blocks selected from the ten blocks B1 to B10 belonging to the first block group R1. However, the values of “10” and “3” are examples, and are not limited to these values. Further, the second management information having the same contents is stored in three blocks arbitrarily selected from all the blocks belonging to the second block group R2. However, the value “3” is an example, and is not limited to this value.

管理情報は、メモリコントローラ2が制御対象メモリ3を管理するために必要な情報であり、本実施の形態の例において、管理情報は第1管理情報と第2管理情報とに分割されている。   The management information is information necessary for the memory controller 2 to manage the control target memory 3. In the example of the present embodiment, the management information is divided into first management information and second management information.

第1管理情報には、第2管理情報を格納している3個のブロックの所在を示す位置情報が含まれる。位置情報としては、例えばブロックアドレスが用いられる。   The first management information includes position information indicating the locations of the three blocks storing the second management information. As the position information, for example, a block address is used.

また、第1管理情報には、誤り検出符号が含まれる。誤り検出符号は、その第1管理情報にデータの誤りが生じているか否かの判定に使用される。また、誤り検出符号は、妥当な第1管理情報を特定するための多数決(詳細は後述する)に使用される。誤り検出符号としては、チェックサム、CRC(Cyclic Redundancy Check)、又はメッセージダイジェスト等を使用することができる。本実施の形態の例では、誤り検出符号としてCRCが使用される。   The first management information includes an error detection code. The error detection code is used to determine whether or not a data error has occurred in the first management information. Further, the error detection code is used for majority decision (details will be described later) for specifying appropriate first management information. As an error detection code, a checksum, CRC (Cyclic Redundancy Check), message digest, or the like can be used. In the example of the present embodiment, CRC is used as the error detection code.

また、第1管理情報には、固有のID情報(本明細書において「第1管理情報ID」と称す)が含まれる。第1管理情報IDは、第1管理情報のバージョンを示すものであり、第1管理情報が更新される度に第1管理情報IDの値も更新される。本実施の形態の例では、第1管理情報が更新される度に「1」ずつインクリメントされる整数値が、第1管理情報IDとして使用される。第1管理情報IDは、妥当な第1管理情報を特定するための多数決(詳細は後述する)に使用される。   The first management information includes unique ID information (referred to as “first management information ID” in this specification). The first management information ID indicates the version of the first management information, and the value of the first management information ID is updated every time the first management information is updated. In the example of the present embodiment, an integer value incremented by “1” each time the first management information is updated is used as the first management information ID. The first management information ID is used for a majority decision (details will be described later) for specifying appropriate first management information.

また、第1管理情報には、第1ブロック群R1の中に不良ブロックが存在している場合に、その不良ブロックの所在を示す位置情報が含まれる。不良ブロックには、制御対象メモリ3の製造時に発生する先天性不良ブロックと、出荷後の通常使用によって発生する後天性不良ブロックとが含まれる。   The first management information includes position information indicating the location of the defective block when there is a defective block in the first block group R1. The defective blocks include congenital defective blocks that occur when the control target memory 3 is manufactured and acquired defective blocks that occur due to normal use after shipment.

第1管理情報を更新する場合には、第1ブロック群R1のうち、更新前の第1管理情報を格納しているブロックとは異なるブロックに、更新後の第1管理情報が書き込まれる。書き込み中に該当ブロックが後天性不良ブロックとなった場合には、第1ブロック群R1内の別のブロックに、更新後の第1管理情報が書き込まれる。   When the first management information is updated, the updated first management information is written in a block different from the block storing the first management information before the update in the first block group R1. When the corresponding block becomes an acquired defective block during writing, the updated first management information is written to another block in the first block group R1.

第2管理情報には、第2ブロック群R2の中に不良ブロックが存在している場合に、その不良ブロックの所在を示す位置情報が含まれる。また、第2管理情報には、汎用領域の場所や制御対象メモリ3へのアクセス速度等の、メモリコントローラ2が制御対象メモリ3を管理するために必要な様々な情報が含まれる。   The second management information includes position information indicating the location of the defective block when there is a defective block in the second block group R2. The second management information includes various information necessary for the memory controller 2 to manage the control target memory 3, such as the location of the general-purpose area and the access speed to the control target memory 3.

また、第2管理情報には、固有のID情報(本明細書において「第2管理情報ID」と称す)が含まれる。第2管理情報IDは、第2管理情報のバージョンを示すものであり、第2管理情報が更新される度に第2管理情報IDの値も更新される。本実施の形態の例では、第2管理情報が更新される度に「1」ずつインクリメントされる整数値が、第2管理情報IDとして使用される。第2管理情報IDは、妥当な第2管理情報を特定するための多数決(詳細は後述する)に使用される。   The second management information includes unique ID information (referred to as “second management information ID” in this specification). The second management information ID indicates the version of the second management information, and the value of the second management information ID is updated every time the second management information is updated. In the example of the present embodiment, an integer value incremented by “1” each time the second management information is updated is used as the second management information ID. The second management information ID is used for a majority vote (details will be described later) for specifying appropriate second management information.

第2管理情報ID値のビット数は、実用上オーバーフローしないように十分に大きなサイズが確保されており、これにより、第2管理情報ID値が最も大きな第2管理情報を最新の第2管理情報と判定することができる。また、第2管理情報を更新する際に、その更新時刻を表す絶対時間そのもの、若しくは絶対時間から算出した値を、第2管理情報ID値として用いることにより、複数の第2管理情報の中から最新の第2管理情報を容易に特定することができる。   The number of bits of the second management information ID value is secured to a sufficiently large size so as not to overflow practically. As a result, the second management information having the largest second management information ID value is replaced with the latest second management information. Can be determined. Further, when updating the second management information, the absolute time itself representing the update time or a value calculated from the absolute time is used as the second management information ID value, so that the second management information can be selected from the plurality of second management information. The latest second management information can be easily identified.

また、第2管理情報には、自身と同一内容の第2管理情報が格納された他の2個のブロックを示す位置情報(本明細書において「グループアドレス」と称す)が含まれる。   Further, the second management information includes position information (referred to as “group address” in this specification) indicating the other two blocks in which the second management information having the same content as the second management information is stored.

また、第2管理情報には、誤り検出符号が含まれる。本実施の形態の例では、グループアドレスを含めた全域のCRC値と、グループアドレスを除いた部分のCRC値とが、第2管理情報内に含められる。グループアドレスを含めた全域のCRC値は、その第2管理情報にデータの誤りが生じているか否かの判定に使用される。また、グループアドレスを除いた部分のCRC値は、妥当な第2管理情報を特定するための多数決に使用される。   The second management information includes an error detection code. In the example of the present embodiment, the entire CRC value including the group address and the CRC value excluding the group address are included in the second management information. The entire CRC value including the group address is used to determine whether or not a data error has occurred in the second management information. Further, the CRC value excluding the group address is used for majority voting for specifying appropriate second management information.

また、第2管理情報には、第1ブロック群R1内において妥当な第1管理情報を特定できない場合に、当該妥当な第1管理情報を第1ブロック群R1内に復元するための復元情報が含まれる。対応する第1管理情報に含まれている様々な情報のうち、第1管理情報IDと、第1ブロック群R1内における不良ブロックの位置情報とが、復元情報内に含まれる。これらの情報は、平文をコピーして復元情報内に含めても良いし、圧縮したものを復元情報内に含めても良い。   The second management information includes restoration information for restoring the appropriate first management information in the first block group R1 when the appropriate first management information cannot be specified in the first block group R1. included. Among various information included in the corresponding first management information, the first management information ID and the position information of the defective block in the first block group R1 are included in the restoration information. These pieces of information may be copied in plain text and included in the restoration information, or compressed information may be included in the restoration information.

第2管理情報を更新する場合には、第2ブロック群R2のうち、更新前の第2管理情報を格納しているブロックと同一のブロックに、更新後の第2管理情報が上書きされる。書き込み中に該当ブロックが後天性不良ブロックとなった場合には、第2ブロック群R2内の別の任意のブロック(但し不良ブロックは除く)に、更新後の第2管理情報が書き込まれる。第1管理情報には第2管理情報を格納しているブロックの位置情報が含まれているため、第2管理情報を格納するブロックが変更された場合には、第1管理情報を更新する必要がある。   When the second management information is updated, the updated second management information is overwritten on the same block as the block storing the second management information before the update in the second block group R2. When the corresponding block becomes an acquired defective block during writing, the updated second management information is written in another arbitrary block (excluding the defective block) in the second block group R2. Since the first management information includes the position information of the block storing the second management information, it is necessary to update the first management information when the block storing the second management information is changed. There is.

各管理情報内に含めている情報の性質上、第2管理情報は第1管理情報よりも更新頻度(書き換え頻度)が高いといえる。例えば、第2ブロック群R2の中のユーザデータ領域内で後天性不良ブロックが発生した場合には、第2管理情報は更新する必要があるが、第1管理情報の更新は不要である。第2ブロック群R2のブロック数は第1ブロック群R1のブロック数よりもはるかに大きいため、第2ブロック群R2内で後天性不良ブロックが発生する確率は、第1ブロック群R1内で後天性不良ブロックが発生する確率よりも十分に高い。従って、第1管理情報は更新せずに第2管理情報を更新するという状況は、逆の状況よりも多く発生する。   From the nature of the information included in each management information, it can be said that the second management information has a higher update frequency (rewrite frequency) than the first management information. For example, when an acquired bad block occurs in the user data area in the second block group R2, the second management information needs to be updated, but the first management information does not need to be updated. Since the number of blocks in the second block group R2 is much larger than the number of blocks in the first block group R1, the probability that an acquired defective block will occur in the second block group R2 is acquired in the first block group R1. It is sufficiently higher than the probability that a bad block will occur. Therefore, the situation of updating the second management information without updating the first management information occurs more frequently than the opposite situation.

図3は、使用が想定されている制御対象メモリ3の種類を示す図である。本実施の形態では、ページサイズ、ブロックサイズ、総ブロック数、読み出しサイクル、及び先天性不良フラグの位置が異なる、複数種類(この例では4種類)のメモリの使用が想定されている。なお、各メモリには、メモリの種類を識別するための固有のID情報(本明細書において「メモリID」と称す)が付与されている。メモリIDには、ページサイズ及びブロックサイズの情報が含まれている。   FIG. 3 is a diagram illustrating the types of the control target memory 3 that are assumed to be used. In the present embodiment, it is assumed that a plurality of types (four types in this example) of memories having different page sizes, block sizes, total block numbers, read cycles, and innate defect flag positions are assumed. Each memory is given unique ID information (referred to as “memory ID” in this specification) for identifying the type of memory. The memory ID includes page size and block size information.

以下、本実施の形態に係る半導体記憶装置1に関して、(1)管理情報の格納例、(2)管理情報の取得処理、(3)管理情報の更新処理を、順に説明する。   Hereinafter, (1) management information storage example, (2) management information acquisition process, and (3) management information update process will be described in order with respect to the semiconductor memory device 1 according to the present embodiment.

(1)管理情報の格納例
図4は、第1ブロック群R1を示す図である。この例において、ブロックB1,B5は先天性不良ブロックであり、ブロックB2,B4は無効ブロック(詳細は後述する)である。
(1) Storage Example of Management Information FIG. 4 is a diagram illustrating the first block group R1. In this example, blocks B1 and B5 are congenital defective blocks, and blocks B2 and B4 are invalid blocks (details will be described later).

ブロックB3,B6〜B9には第1管理情報が格納されている。第1管理情報に付した丸括弧内の数字は、第1管理情報ID値(左側)及びCRC値(右側)を示している。説明の便宜上、第1管理情報を書き込む際のCRC値は、第1管理情報ID値と同一の値をとるものとする。データの誤りが生じていない正常ブロックに関しては、CRC値と第1管理情報ID値とは一致し、一方、後天性不良ブロックになったこと等に起因してデータの誤りが生じている異常ブロックに関しては、CRC値と第1管理情報ID値とは一致しない。この例において、ブロックB6に格納されている第1管理情報(2,1)に関しては、CRC値と第1管理情報ID値とが一致していない。従って、ブロックB6は後天性不良ブロックである。   Blocks B3, B6 to B9 store first management information. The numbers in parentheses attached to the first management information indicate the first management information ID value (left side) and the CRC value (right side). For convenience of explanation, it is assumed that the CRC value when the first management information is written has the same value as the first management information ID value. For a normal block in which no data error has occurred, the CRC value matches the first management information ID value, while an abnormal block in which a data error has occurred due to an acquired bad block or the like With respect to, the CRC value does not match the first management information ID value. In this example, regarding the first management information (2, 1) stored in the block B6, the CRC value and the first management information ID value do not match. Therefore, the block B6 is an acquired defective block.

また、図4に示した例では、最新の第1管理情報は第1管理情報(4,4)である。ここで、第1管理情報(4,4)はブロックB8,B9の2個のブロックにしか格納されていないが、その理由は、ブロックB10のデータを消去した後、第1管理情報(4,4)を書き込む前に、ユーザによって電源が強制的に遮断された状況を想定しているためである。従って、ブロックB10は消去済みブロックとなっている。   In the example shown in FIG. 4, the latest first management information is the first management information (4, 4). Here, the first management information (4, 4) is stored only in the two blocks B8 and B9. The reason is that after the data in the block B10 is erased, the first management information (4, 4) is stored. This is because it is assumed that the power supply is forcibly cut off by the user before 4) is written. Therefore, the block B10 is an erased block.

また、ブロックB3内に表記している「BAD」は、第1管理情報をブロックB3に書き込む際に、ブロックB3が後天性不良ブロックとなったことを表している。但し、ブロックB3に格納されている第1管理情報(1,1)に関しては、第1管理情報ID値とCRC値とが一致している。そのため、第1管理情報ID値とCRC値との比較によっては、ブロックB3が後天性不良ブロックであるとは判定できない。   Further, “BAD” written in the block B3 indicates that the block B3 has become an acquired defective block when the first management information is written in the block B3. However, regarding the first management information (1, 1) stored in the block B3, the first management information ID value matches the CRC value. Therefore, it cannot be determined that the block B3 is an acquired defect block by comparing the first management information ID value and the CRC value.

なお、第1管理情報をブロックに書き込む際にそのブロックが後天性不良ブロックとなった場合には、その第1管理情報に付した第1管理情報ID値をメモリコントローラ2が保持しておき、それ以降に第1管理情報を更新する際には、その第1管理情報ID値を使用しないようにしても良い。これにより、サイクリックカウンタを用いて第1管理情報ID値を生成する場合に、後天性不良ブロックに格納されている古い第1管理情報と、それ以降に更新された新たな第1管理情報とで、第1管理情報ID値が偶然に一致するという事態が回避される。   When the first management information is written into the block and the block becomes an acquired defect block, the memory controller 2 holds the first management information ID value attached to the first management information, Thereafter, when the first management information is updated, the first management information ID value may not be used. Thus, when the first management information ID value is generated using the cyclic counter, the old first management information stored in the acquired defective block and the new first management information updated thereafter Thus, a situation in which the first management information ID values coincide by chance is avoided.

図5は、第2ブロック群R2を示す図である。この例では、第2管理情報はブロックB100,B150,B200,B250,B300,B350に格納されている。ブロックB100,B200,B300から成る第1ブロックセットに同一内容の第2管理情報が格納され、ブロックB150,B250,B350から成る第2ブロックセットに他の同一内容の第2管理情報が格納される使用態様を想定している。第2管理情報に付した丸括弧内の数字は、第2管理情報ID値(左側)及び全域のCRC値(右側)を示している。第2管理情報に付した山括弧内の数字は、グループアドレスを示している。例えば、ブロックB150に第2管理情報(3,3)を書き込む際に、ブロックB250,B350にも同一内容の第2管理情報(3,3)が書き込まれたことを意味している。上記と同様に、第2管理情報を書き込む際の全域のCRC値は、第2管理情報ID値と同一の値をとるものとする。   FIG. 5 is a diagram illustrating the second block group R2. In this example, the second management information is stored in blocks B100, B150, B200, B250, B300, and B350. The second management information having the same contents is stored in the first block set including the blocks B100, B200, and B300, and the second management information having the same contents is stored in the second block set including the blocks B150, B250, and B350. The usage mode is assumed. The numbers in parentheses attached to the second management information indicate the second management information ID value (left side) and the entire CRC value (right side). Numbers in angle brackets attached to the second management information indicate group addresses. For example, when the second management information (3, 3) is written in the block B150, it means that the second management information (3, 3) having the same contents is written in the blocks B250, B350. Similarly to the above, the CRC value of the entire area when writing the second management information is assumed to be the same value as the second management information ID value.

また、図5に示した例では、最新の第2管理情報は第2管理情報(4,4)であり、二番目に新しい第2管理情報は第2管理情報(3,3)である。第2管理情報(3,3)は、3個のブロックB150,B250,B350に格納されている。なお、最新の第2管理情報(4,4)はブロックB100の1個のブロックにしか格納されていないが、その理由は、ブロックB100に第2管理情報(4,4)を書き込んだ後、ブロックB200,300に第2管理情報(4,4)を書き込むべくブロックB200,300のデータを消去する前に、ユーザによって電源が強制的に遮断された状況を想定しているためである。   In the example shown in FIG. 5, the latest second management information is the second management information (4, 4), and the second newest second management information is the second management information (3, 3). The second management information (3, 3) is stored in the three blocks B150, B250, B350. The latest second management information (4, 4) is stored in only one block of the block B100. The reason is that after writing the second management information (4, 4) to the block B100, This is because it is assumed that the power is forcibly shut off by the user before erasing the data in the blocks B200, 300 to write the second management information (4, 4) in the blocks B200, 300.

なお、上記と同様に、第2管理情報をブロックに書き込む際にそのブロックが後天性不良ブロックとなった場合には、その第2管理情報に付した第2管理情報ID値をメモリコントローラ2が保持しておき、それ以降に第2管理情報を更新する際には、その第2管理情報ID値を使用しないようにしても良い。これにより、サイクリックカウンタを用いて第2管理情報ID値を生成する場合に、後天性不良ブロックに格納されている古い第2管理情報と、それ以降に更新された新たな第2管理情報とで、第2管理情報ID値が偶然に一致するという事態が回避される。   Similarly to the above, when the second management information is written into the block, if the block becomes an acquired defective block, the memory controller 2 sets the second management information ID value attached to the second management information. The second management information ID value may not be used when the second management information is updated thereafter. Accordingly, when the second management information ID value is generated using the cyclic counter, the old second management information stored in the acquired defective block and the new second management information updated thereafter Thus, a situation in which the second management information ID values coincide by chance is avoided.

図6は、ブロックB1〜B10の各ブロックに関して、ブロック内のページの割り当てを示す図である。1ブロックは複数のページに分割されている。ページは、データの書き込み及び読み出しの単位である。この例では、ページP0は先天性不良フラグが付加されるページであり、ページPNは無効フラグが付加されるページであり、ページPMは第1管理情報が書き込まれるページである。なお、第1管理情報はブロック内の複数のページに格納されていても良い。   FIG. 6 is a diagram illustrating allocation of pages in a block with respect to each of the blocks B1 to B10. One block is divided into a plurality of pages. A page is a unit for writing and reading data. In this example, page P0 is a page to which a congenital defect flag is added, page PN is a page to which an invalid flag is added, and page PM is a page to which first management information is written. The first management information may be stored on a plurality of pages in the block.

あるブロックが先天性不良ブロックである場合には、そのブロックのページP0に先天性不良フラグが付加される。先天性不良フラグが付加されるページは、図3に示したように制御対象メモリ3の種類によって異なる。   When a certain block is a congenital defective block, a congenital defective flag is added to page P0 of the block. The page to which the congenital defect flag is added differs depending on the type of the control target memory 3 as shown in FIG.

あるブロックのデータが無効である場合には、そのブロックのページPNに無効フラグが付加される。無効フラグが付加されるページは、制御対象メモリ3の種類によらず共通である。   When data of a certain block is invalid, an invalid flag is added to the page PN of that block. The page to which the invalid flag is added is common regardless of the type of the control target memory 3.

図7は、第2管理情報が格納されているブロックに関して、ブロック内のページの割り当てを示す図である。本実施の形態の例では、ブロックの先頭3ページ(ページP0〜P2)に、第2管理情報が格納される。   FIG. 7 is a diagram illustrating allocation of pages in a block with respect to the block in which the second management information is stored. In the example of the present embodiment, the second management information is stored in the first three pages (pages P0 to P2) of the block.

各ページP0〜P2の先頭には、同一内容の第2管理情報IDがそれぞれ格納されている。これにより、メモリコントローラ2は、第2ブロック群R2に属する全てのブロックの中から、第2管理情報が格納されているブロックを探索することができる。   The second management information ID having the same content is stored at the head of each page P0 to P2. Thereby, the memory controller 2 can search for a block in which the second management information is stored from all the blocks belonging to the second block group R2.

ページP0には、第2管理情報に含まれる様々な情報のうち、復元情報が格納されている。   The page P0 stores restoration information among various pieces of information included in the second management information.

ページP2には、第2管理情報に含まれる様々な情報のうち、グループアドレスを除いた部分のCRC値と、2個のグループアドレスと、グループアドレスを含めた全域のCRC値とが格納されている。   Of the various information included in the second management information, the page P2 stores a CRC value of a part excluding the group address, two group addresses, and a CRC value of the entire area including the group address. Yes.

ページP1には、第2管理情報に含まれる様々な情報のうち、ページP0,P2には格納されていないその他の管理情報が格納されている。   Of the various information included in the second management information, the page P1 stores other management information that is not stored in the pages P0 and P2.

(2)管理情報の取得処理
図8〜13は、半導体記憶装置1の起動時にメモリコントローラ2が実行する管理情報の取得処理を順に示す図である。第1ブロック群R1は、図4に示した状態になっているものとする。
(2) Management Information Acquisition Processing FIGS. 8 to 13 are diagrams sequentially illustrating management information acquisition processing executed by the memory controller 2 when the semiconductor memory device 1 is activated. It is assumed that the first block group R1 is in the state shown in FIG.

まず、メモリコントローラ2は、メモリIDを要求するリードコマンドを制御対象メモリ3に発行することにより、制御対象メモリ3からメモリIDを取得する。メモリIDにはページサイズ及びブロックサイズの情報が含まれているため、メモリIDを取得することにより、制御対象メモリ3内の任意のページへのアクセスが可能となる。   First, the memory controller 2 acquires a memory ID from the control target memory 3 by issuing a read command requesting the memory ID to the control target memory 3. Since the memory ID includes page size and block size information, an arbitrary page in the control target memory 3 can be accessed by acquiring the memory ID.

<先天性不良ブロックの探索ステップ>
次に図8を参照して、メモリコントローラ2は、第1ブロック群R1に属する全てのブロックB1〜B10を対象として、先天性不良ブロックを探索する。具体的には、ブロックB1〜B10の各ブロックに関して、先天性不良フラグの格納ページ(図6に示したページP0)にアクセスすることにより、各ブロックが先天性不良ブロックであるか否かを判定する。
<Step of searching for congenital defective blocks>
Next, referring to FIG. 8, the memory controller 2 searches for all congenital defective blocks for all the blocks B1 to B10 belonging to the first block group R1. Specifically, for each of the blocks B1 to B10, it is determined whether or not each block is a congenital defective block by accessing the storage page for congenital defective flags (page P0 shown in FIG. 6) To do.

この時点では制御対象メモリ3の種類が判明していないため、先天性不良フラグの格納ページを一意には特定できない。従って、メモリコントローラ2は、使用が想定されている全種類のメモリに関する先天性不良フラグの格納ページに順にアクセスする。図3に示した例では、メモリコントローラ2は、第0ページの第0バイト、第0ページの第2048バイト、第128ページの第0バイト、及び第256ページの第8192バイトに順にアクセスすることにより、いずれかの格納ページに先天性不良フラグが付加されているか否かを判定する。また、その際の制御対象メモリ3へのアクセス速度は、使用が想定されている全種類のメモリを正常に動作させることが可能な最も遅い速度とする。図3に示した例では、4種類のメモリのうち最も遅い50nsの読み出しサイクルでアクセスを行う。   At this time, since the type of the control target memory 3 is not known, the storage page of the congenital defect flag cannot be uniquely specified. Therefore, the memory controller 2 sequentially accesses the storage pages of the congenital defect flags for all types of memories that are assumed to be used. In the example shown in FIG. 3, the memory controller 2 sequentially accesses the 0th byte of the 0th page, the 2048th byte of the 0th page, the 0th byte of the 128th page, and the 8192th byte of the 256th page. Thus, it is determined whether or not a congenital defect flag is added to any storage page. In addition, the access speed to the control target memory 3 at that time is set to the slowest speed at which all types of memories assumed to be used can be normally operated. In the example shown in FIG. 3, access is performed in the slowest read cycle of 50 ns among the four types of memories.

なお、メモリIDとメモリ種類とを関連付けるテーブル情報を予め作成してメモリコントローラ2内に保持しておき、メモリコントローラ2が制御対象メモリ3からメモリIDを取得した後に当該テーブル情報を参照することにより、メモリ種類を特定するように構成してもよい。この場合には、特定したメモリ種類に対応したアクセス速度で、特定したメモリ種類に対応した格納ページにアクセスすることにより、先天性不良フラグが付加されているか否かを判定することができる。   Note that table information that associates the memory ID with the memory type is created in advance and stored in the memory controller 2, and the memory controller 2 obtains the memory ID from the control target memory 3 and then refers to the table information. The memory type may be specified. In this case, it is possible to determine whether or not a congenital defect flag is added by accessing a storage page corresponding to the specified memory type at an access speed corresponding to the specified memory type.

探索の結果、ブロックB1〜B10内に先天性不良ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図8に示した例では、先天性不良ブロックであるブロックB1,B5が候補から除外される。このステップで除外されずに残ったブロックB2〜B4,B6〜B10を、本明細書において「良ブロック」と称す。   As a result of the search, if a congenital defective block exists in the blocks B1 to B10, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 8, blocks B1 and B5 that are congenital defective blocks are excluded from candidates. The blocks B2 to B4 and B6 to B10 that remain without being excluded in this step are referred to as “good blocks” in this specification.

<無効ブロックの探索ステップ>
次に図9を参照して、メモリコントローラ2は、良ブロックB2〜B4,B6〜B10を対象として、無効ブロックを探索する。具体的には、各良ブロックに関して、無効フラグの格納ページ(図6に示したページPN)にアクセスすることにより、各良ブロックが無効ブロックであるか否かを判定する。
<Invalid block search step>
Next, referring to FIG. 9, the memory controller 2 searches the invalid blocks B2 to B4 and B6 to B10 for invalid blocks. Specifically, with respect to each good block, it is determined whether or not each good block is an invalid block by accessing an invalid flag storage page (page PN shown in FIG. 6).

上記と同様に、制御対象メモリ3へのアクセス速度は、使用が想定されている全種類のメモリを正常に動作させることが可能な最も遅い速度とする。但し、メモリIDに基づいてメモリ種類を特定できる場合には、特定したメモリ種類に対応した適切なアクセス速度でアクセスすればよい。   Similarly to the above, the access speed to the control target memory 3 is set to the slowest speed at which all types of memories assumed to be used can be normally operated. However, when the memory type can be specified based on the memory ID, the access may be performed at an appropriate access speed corresponding to the specified memory type.

探索の結果、良ブロック内に無効ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図9に示した例では、無効ブロックであるブロックB2,B4が候補から除外される。このステップで除外されずに残ったブロックB3,B6〜B10を、本明細書において「有効ブロック」と称す。   If there is an invalid block in the good block as a result of the search, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 9, blocks B2 and B4 that are invalid blocks are excluded from the candidates. The blocks B3, B6 to B10 that remain without being excluded in this step are referred to as “effective blocks” in this specification.

<異常ブロックの探索ステップ>
次に図10を参照して、メモリコントローラ2は、有効ブロックB3,B6〜B10を対象として、データの誤りが生じているブロックを探索する。具体的には、各有効ブロックに関して、第1管理情報の格納ページ(図6に示したページPM)にアクセスして第1管理情報を読み出し、読み出した第1管理情報に対してCRC演算を行う。そして、演算により求めたCRC値と、読み出した第1管理情報内に含まれているCRC値とを比較する。メモリコントローラ2は、両CRC値が一致する場合には、そのブロックはデータの誤りが生じていないブロック(本明細書において「正常ブロック」と称す)であると判定し、一方、両CRC値が一致しない場合には、そのブロックはデータの誤りが生じているブロック(本明細書において「異常ブロック」と称す)であると判定する。
・書き込み又は消去時に後天性不良ブロックとなった
・書き込み又は消去時に電源が強制遮断されたことにより正常に終了されなかった
・消去状態でデータが何も書き込まれていない
等の理由で両CRC値が一致しない場合には、そのブロックは異常ブロックと判定されることとなる。
<Abnormal block search step>
Next, referring to FIG. 10, the memory controller 2 searches the valid blocks B3 and B6 to B10 for a block in which a data error has occurred. Specifically, for each valid block, the first management information storage page (page PM shown in FIG. 6) is accessed to read the first management information, and the CRC calculation is performed on the read first management information. . Then, the CRC value obtained by the calculation is compared with the CRC value included in the read first management information. If both CRC values match, the memory controller 2 determines that the block is a block in which no data error has occurred (referred to herein as a “normal block”), while both CRC values are If they do not match, the block is determined to be a block in which a data error has occurred (referred to herein as an “abnormal block”).
・ Acquired bad block at the time of writing or erasing ・ It was not completed normally due to the power being forcibly cut off at the time of writing or erasing ・ Both CRC values because no data was written in the erased state If they do not match, the block is determined to be an abnormal block.

上記と同様に、制御対象メモリ3へのアクセス速度は、使用が想定されている全種類のメモリを正常に動作させることが可能な最も遅い速度とする。但し、メモリIDに基づいてメモリ種類を特定できる場合には、特定したメモリ種類に対応した適切なアクセス速度でアクセスすればよい。   Similarly to the above, the access speed to the control target memory 3 is set to the slowest speed at which all types of memories assumed to be used can be normally operated. However, when the memory type can be specified based on the memory ID, the access may be performed at an appropriate access speed corresponding to the specified memory type.

探索の結果、有効ブロック内に異常ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図10に示した例では、異常ブロックであるブロックB6,B10が候補から除外される。   As a result of the search, when an abnormal block exists in the effective block, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 10, blocks B6 and B10 that are abnormal blocks are excluded from the candidates.

<妥当な第1管理情報の特定ステップ>
次に、メモリコントローラ2は、残った正常ブロックの中から4個の正常ブロックを任意に選択する。例えば、ブロックアドレスの小さい順に4個の正常ブロックを選択する。この例では残った正常ブロックがブロックB3,B7〜B9の4個であるため、全ての正常ブロックが選択される。なお、この時点で残った正常ブロックが2個以下である場合は、後述する多数決を行えないため、その制御対象メモリ3は故障であると判定する。また、この時点で残った正常ブロックが3個である場合は、後述する多数決を1回だけ行う。
<Appropriate first management information specifying step>
Next, the memory controller 2 arbitrarily selects four normal blocks from the remaining normal blocks. For example, four normal blocks are selected in ascending order of block addresses. In this example, since the remaining normal blocks are the four blocks B3, B7 to B9, all normal blocks are selected. If the number of normal blocks remaining at this time is two or less, it is determined that the control target memory 3 is faulty because the majority decision described later cannot be performed. If there are three normal blocks remaining at this time, a majority decision described later is performed only once.

次に図11を参照して、メモリコントローラ2は、選択した4個の正常ブロックB3,B7〜B9の中から、3個の正常ブロックを任意に選択する。この例では、ブロックアドレスの小さい順に3個の正常ブロックB3,B7,B8を選択する。そして、各正常ブロックB3,B7,B8に格納されている第1管理情報に含まれている第1管理情報ID値及びCRC値を相互に比較することにより、1回目の多数決を行う。メモリコントローラ2は、3個の第1管理情報のうちの2個以上で第1管理情報ID値及びCRC値が一致した場合には、その第1管理情報は妥当であると判定する。この例では、3個の第1管理情報の第1管理情報ID値及びCRC値はそれぞれ(1,1)(3,3)(4,4)であり、相互に一致しないため、妥当な第1管理情報はないと判定される。   Next, referring to FIG. 11, the memory controller 2 arbitrarily selects three normal blocks from the selected four normal blocks B3, B7 to B9. In this example, three normal blocks B3, B7, B8 are selected in ascending order of block address. Then, the first majority decision is performed by comparing the first management information ID value and the CRC value included in the first management information stored in each of the normal blocks B3, B7, and B8. When two or more of the three pieces of first management information match the first management information ID value and the CRC value, the memory controller 2 determines that the first management information is valid. In this example, the first management information ID value and the CRC value of the three pieces of first management information are (1, 1) (3, 3) (4, 4), respectively, which are not consistent with each other. 1 It is determined that there is no management information.

次に図12を参照して、メモリコントローラ2は、選択した4個の正常ブロックB3,B7〜B9の中から、他の3個の正常ブロックを任意に選択する。この例では、ブロックアドレスの大きい順に3個の正常ブロックB7〜B9を選択する。そして、各正常ブロックB7〜B9に格納されている第1管理情報に含まれている第1管理情報ID値及びCRC値を相互に比較することにより、2回目の多数決を行う。この例では、3個の第1管理情報の第1管理情報ID値及びCRC値はそれぞれ(3,3)(4,4)(4,4)であり、(4,4)が2個以上で一致する。従って、ブロックB8,B9に格納されている第1管理情報が、妥当な第1管理情報であると判定される。   Next, referring to FIG. 12, the memory controller 2 arbitrarily selects the other three normal blocks from the selected four normal blocks B3, B7 to B9. In this example, three normal blocks B7 to B9 are selected in descending order of block address. Then, the second majority decision is performed by comparing the first management information ID value and the CRC value included in the first management information stored in each of the normal blocks B7 to B9. In this example, the first management information ID value and CRC value of the three pieces of first management information are (3, 3) (4, 4) (4, 4), and (4, 4) is two or more. Match. Therefore, it is determined that the first management information stored in the blocks B8 and B9 is appropriate first management information.

なお、1回目の多数決によって妥当な第1管理情報を特定できた場合には、2回目の多数決は省略される。また、2回目の多数決によっても妥当な第1管理情報を特定できない場合には、メモリコントローラ2は、その制御対象メモリ3を暫定的に故障であると判定する。暫定的に故障と判定された制御対象メモリ3に関しては、妥当な第1管理情報の復元処理(詳細は後述する)が実行される。復元処理を実行しても妥当な第1管理情報を復元できない場合には、その制御対象メモリ3は確定的に故障と判定される。また、正常ブロックが5個以上残っている場合には、4個の正常ブロックの選択をやり直して、再び多数決を行っても良い。   In addition, when the appropriate first management information can be specified by the first majority decision, the second majority decision is omitted. In addition, when the appropriate first management information cannot be specified even by the second majority decision, the memory controller 2 determines that the control target memory 3 is temporarily faulty. For the control target memory 3 tentatively determined to be a failure, an appropriate first management information restoration process (details will be described later) is executed. If the appropriate first management information cannot be restored even after executing the restoration process, the control target memory 3 is definitely determined to be a failure. If five or more normal blocks remain, the selection of four normal blocks may be redone and the majority decision may be made again.

<第2管理情報の取得ステップ>
次に図13を参照して、メモリコントローラ2は、特定した2個以上の妥当な第1管理情報の中から、任意の1個の第1管理情報を確定する。例えば、ブロックB8,B9の中でブロックアドレスの最も小さいブロックB8を選択し、ブロックB8に格納されている第1管理情報(4,4)を、妥当な第1管理情報として確定する。
<Second management information acquisition step>
Next, referring to FIG. 13, the memory controller 2 determines one arbitrary first management information from the two or more specified appropriate first management information. For example, the block B8 having the smallest block address is selected from the blocks B8 and B9, and the first management information (4, 4) stored in the block B8 is determined as appropriate first management information.

次に、メモリコントローラ2は、確定した妥当な第1管理情報に含まれている位置情報(第2管理情報を格納しているブロックの所在を示す位置情報)に基づいて、第2ブロック群R2の中から第2管理情報を読み出すことにより、第2管理情報を取得する。   Next, the memory controller 2 determines the second block group R2 based on the position information (position information indicating the location of the block storing the second management information) included in the determined valid first management information. The second management information is acquired by reading the second management information from the list.

(3)管理情報の更新処理
第2管理情報の格納ブロックが後天性不良ブロックとなった場合等には、第2管理情報の格納ブロックを、第2ブロック群R2内の他のブロックに変更する必要がある。ここで、第1管理情報には第2管理情報の格納ブロックの位置情報が含まれているため、第2管理情報の格納ブロックを変更する場合には、第1管理情報の内容も更新する必要がある。また、第1管理情報には第1ブロック群R1の不良ブロックの位置情報が含まれているため、第1ブロック群R1内で後天性不良ブロックが発生した場合等には、第1管理情報の内容を更新する必要がある。以下、第1管理情報を更新する手順について説明する。
(3) Management information update process When the storage block of the second management information becomes an acquired defect block, the storage block of the second management information is changed to another block in the second block group R2. There is a need. Here, since the first management information includes the location information of the storage block of the second management information, when the storage block of the second management information is changed, it is necessary to update the contents of the first management information. There is. In addition, since the first management information includes the position information of the defective block in the first block group R1, when an acquired defective block occurs in the first block group R1, the first management information The content needs to be updated. Hereinafter, a procedure for updating the first management information will be described.

図14〜18は、メモリコントローラ2が実行する第1管理情報の更新処理を順に示す図である。   14 to 18 are diagrams sequentially illustrating the update process of the first management information executed by the memory controller 2.

図14を参照して、現在有効な第1管理情報(つまり更新前の第1管理情報)は、ブロックB8,B9に格納されている第1管理情報(4,4)である。また、起動時に妥当な第1管理情報を特定するための多数決の候補となった第1管理情報は、ブロックB7〜B9に格納されている第1管理情報である。以下、ブロックB7〜B9を「多数決対象ブロック」と称す。   Referring to FIG. 14, the currently effective first management information (that is, the first management information before update) is the first management information (4, 4) stored in blocks B8 and B9. Further, the first management information that is a candidate for majority decision for specifying the appropriate first management information at the time of activation is the first management information stored in the blocks B7 to B9. Hereinafter, the blocks B7 to B9 are referred to as “majority target blocks”.

次に図15を参照して、メモリコントローラ2は、第1ブロック群R1の中から、更新後の第1管理情報を格納すべき空きブロックを確保する。具体的には、ブロックB1〜B10の中から、先天性不良ブロック、後天性不良ブロック、及び多数決対象ブロックを除外して、3個の空きブロックを確保する。第1管理情報には第1ブロック群R1内の不良ブロックの位置情報が含まれているため、現在有効な第1管理情報(4,4)を参照することにより、第1ブロック群R1内の先天性不良ブロック及び後天性不良ブロックを特定することができる。この例では、無効ブロックであるブロックB2,B4と、消去済みブロックであるブロックB10とが、空きブロックとして確保される。なお、確保できる空きブロックが2個以下である場合は、その制御対象メモリ3は故障であると判定される。   Next, referring to FIG. 15, the memory controller 2 secures an empty block in which the updated first management information is to be stored from the first block group R1. Specifically, from the blocks B1 to B10, congenital bad blocks, acquired bad blocks, and majority-target blocks are excluded, and three empty blocks are secured. Since the first management information includes the position information of the defective block in the first block group R1, by referring to the currently effective first management information (4, 4), the first management information in the first block group R1 Congenital bad blocks and acquired bad blocks can be identified. In this example, blocks B2 and B4 that are invalid blocks and a block B10 that is an erased block are secured as empty blocks. If the number of free blocks that can be secured is two or less, it is determined that the control target memory 3 is faulty.

次に図16を参照して、メモリコントローラ2は、3個の空きブロックの中の任意の1個の空きブロックのデータを消去した後、更新後の第1管理情報(5,5)をそのブロックに書き込む。この例では、ブロックB10のデータが消去された後に、第1管理情報(5,5)がブロックB10に書き込まれる。なお、空きブロックのデータを消去する際、又は第1管理情報(5,5)を書き込む際に、該当ブロックが後天性不良ブロックとなった場合には、メモリコントローラ2は、第1管理情報及び第2管理情報に含まれている不良ブロックの位置情報を更新するとともに、空きブロックの確保処理からやり直す。   Next, referring to FIG. 16, the memory controller 2 erases the data of any one of the three empty blocks, and then updates the first management information (5, 5) after the update. Write to block. In this example, after the data in the block B10 is erased, the first management information (5, 5) is written into the block B10. When erasing the data of the empty block or writing the first management information (5, 5), if the corresponding block becomes an acquired defective block, the memory controller 2 stores the first management information and The location information of the defective block included in the second management information is updated, and the free block securing process is repeated.

次に図17を参照して、メモリコントローラ2は、3個の多数決対象ブロックの中の任意の1個のブロックに対して、無効フラグを付加する。この例では、ブロックB7に無効フラグが付加される。なお、無効フラグを付加する際に該当ブロックが後天性不良ブロックとなった場合には、メモリコントローラ2は、第1管理情報及び第2管理情報に含まれている不良ブロックの位置情報を更新するとともに、空きブロックの確保処理からやり直す。   Next, referring to FIG. 17, the memory controller 2 adds an invalid flag to any one of the three majority-target blocks. In this example, an invalid flag is added to the block B7. If the corresponding block becomes an acquired defective block when the invalid flag is added, the memory controller 2 updates the position information of the defective block included in the first management information and the second management information. At the same time, the process starts from the process of securing the free block.

次に図18を参照して、メモリコントローラ2は、3個の空きブロックの中の次の空きブロックB2のデータを消去した後、第1管理情報(5,5)をそのブロックB2に書き込む。その後、3個の多数決対象ブロックの中の次のブロックB8に対して、無効フラグを付加する。次に、メモリコントローラ2は、3個の空きブロックの中の最後の空きブロックB4のデータを消去した後、第1管理情報(5,5)をそのブロックB4に書き込む。その後、3個の多数決対象ブロックの中の最後のブロックB9に対して、無効フラグを付加する。これにより、3個の空きブロックB2,B4,B10に同一内容の第1管理情報(5,5)が格納される。   Next, referring to FIG. 18, after erasing the data of the next empty block B2 among the three empty blocks, the memory controller 2 writes the first management information (5, 5) to the block B2. Thereafter, an invalid flag is added to the next block B8 among the three majority target blocks. Next, the memory controller 2 erases the data of the last empty block B4 among the three empty blocks, and then writes the first management information (5, 5) to the block B4. Thereafter, an invalid flag is added to the last block B9 among the three majority target blocks. As a result, the first management information (5, 5) having the same contents is stored in the three empty blocks B2, B4, B10.

なお、多数決対象ブロックB7〜B9に無効フラグを付加する代わりに、データの消去を行っても良い。この場合、1個の空きブロックへの第1管理情報の書き込みと、1個の多数決対象ブロックに対するデータの消去とが、交互に3回繰り返されることとなる。   Note that data may be erased instead of adding an invalid flag to the majority decision target blocks B7 to B9. In this case, the writing of the first management information to one empty block and the erasure of data for one majority target block are alternately repeated three times.

<実施の形態1の具体例1>
図19は、第1ブロック群R1の他の例を示す図である。この例において、ブロックB5,B9は先天性不良ブロックであり、ブロックB1,B2,B10は無効ブロックである。また、ブロックB4,B8は後天性不良ブロックである。但し、ブロックB4,B8に関しては管理情報ID値とCRC値とが一致している。また、ブロックB3,B6,B7には、第1管理情報(6,6)が格納されている。
<Specific Example 1 of Embodiment 1>
FIG. 19 is a diagram illustrating another example of the first block group R1. In this example, blocks B5 and B9 are congenital defective blocks, and blocks B1, B2 and B10 are invalid blocks. Blocks B4 and B8 are acquired defective blocks. However, regarding the blocks B4 and B8, the management information ID value matches the CRC value. The blocks B3, B6, and B7 store the first management information (6, 6).

図19に示した第1ブロック群R1を対象とした管理情報の取得処理について、簡単に説明する。まず、先天性不良ブロックであるブロックB5,B9が除外される。次に、無効ブロックであるブロックB1,B2,B10が除外される。次に、異常ブロックの探索が行われるが、この例では異常ブロックが存在しないため、異常ブロックとしてはどのブロックも除外されない。次に、4個の正常ブロックとしてブロックB3,B4,B6,B7が選択される。   The management information acquisition process for the first block group R1 shown in FIG. 19 will be briefly described. First, blocks B5 and B9 that are congenital defective blocks are excluded. Next, blocks B1, B2, and B10 that are invalid blocks are excluded. Next, an abnormal block is searched, but since no abnormal block exists in this example, no block is excluded as an abnormal block. Next, blocks B3, B4, B6, and B7 are selected as four normal blocks.

次に、先頭3個の正常ブロックB3,B4,B6を対象とする1回目の多数決が行われ、その結果、ブロックB3,B6に格納されている第1管理情報(6,6)が妥当な第1管理情報として特定される。   Next, the first majority decision is performed for the first three normal blocks B3, B4, and B6. As a result, the first management information (6, 6) stored in the blocks B3 and B6 is valid. It is specified as the first management information.

次に、ブロックB3,B6のいずれかに格納されている第1管理情報(6,6)に基づいて、第2ブロック群R2の中から第2管理情報が読み出される。   Next, based on the first management information (6, 6) stored in one of the blocks B3, B6, the second management information is read out from the second block group R2.

<実施の形態1の具体例2>
図20は、第1ブロック群R1の他の例を示す図である。この例において、ブロックB5,B9は先天性不良ブロックであり、ブロックB1,B2,B10は無効ブロックである。また、ブロックB4,B6は後天性不良ブロックである。但し、ブロックB4,B6に関しては管理情報ID値とCRC値とが一致している。また、ブロックB3,B7,B8には、第1管理情報(7,7)が格納されている。
<Specific Example 2 of Embodiment 1>
FIG. 20 is a diagram illustrating another example of the first block group R1. In this example, blocks B5 and B9 are congenital defective blocks, and blocks B1, B2 and B10 are invalid blocks. Blocks B4 and B6 are acquired defective blocks. However, regarding the blocks B4 and B6, the management information ID value matches the CRC value. The blocks B3, B7, B8 store the first management information (7, 7).

図20に示した第1ブロック群R1を対象とした管理情報の取得処理について、簡単に説明する。まず、先天性不良ブロックであるブロックB5,B9が除外される。次に、無効ブロックであるブロックB1,B2,B10が除外される。次に、異常ブロックの探索が行われるが、この例では異常ブロックが存在しないため、異常ブロックとしてはどのブロックも除外されない。次に、4個の正常ブロックとしてブロックB3,B4,B6,B7が選択される。   The management information acquisition process for the first block group R1 shown in FIG. 20 will be briefly described. First, blocks B5 and B9 that are congenital defective blocks are excluded. Next, blocks B1, B2, and B10 that are invalid blocks are excluded. Next, an abnormal block is searched, but since no abnormal block exists in this example, no block is excluded as an abnormal block. Next, blocks B3, B4, B6, and B7 are selected as four normal blocks.

次に、先頭3個の正常ブロックB3,B4,B6を対象とする1回目の多数決が行われるが、多数決が成立しないため、妥当な第1管理情報はないと判定される。   Next, the first majority vote for the first three normal blocks B3, B4, and B6 is performed. However, since the majority vote is not established, it is determined that there is no valid first management information.

次に、末尾3個の正常ブロックB4,B6,B7を対象とする2回目の多数決が行われるが、多数決が成立しないため、妥当な第1管理情報はないと判定される。その結果、その制御対象メモリ3は暫定的に故障であると判定される。   Next, a second majority vote is performed for the last three normal blocks B4, B6, and B7. However, since the majority vote is not established, it is determined that there is no valid first management information. As a result, it is determined that the control target memory 3 is temporarily faulty.

<妥当な第1管理情報の復元処理>
以下、暫定的に故障と判定された制御対象メモリ3に関して実行される、妥当な第1管理情報の復元処理について説明する。
<Restoration processing of valid first management information>
In the following, a description will be given of an appropriate first management information restoration process that is executed for the control target memory 3 that is tentatively determined to be a failure.

図5を参照して、メモリコントローラ2は、ページP0〜P2に関して第2管理情報IDを用いた探索を行うことにより、第2ブロック群R2の中から、第2管理情報を格納している全てのブロックを特定する。この例では、ブロックB100,B150,B200,B250,B300,B350が特定される。   Referring to FIG. 5, the memory controller 2 stores all second management information from the second block group R2 by performing a search using the second management information ID for pages P0 to P2. Identify the blocks. In this example, blocks B100, B150, B200, B250, B300, and B350 are specified.

上記と同様に、制御対象メモリ3へのアクセス速度は、使用が想定されている全種類のメモリを正常に動作させることが可能な最も遅い速度とする。但し、メモリIDに基づいてメモリ種類を特定できる場合には、特定したメモリ種類に対応した適切なアクセス速度でアクセスすればよい。また、復元処理をメモリコントローラ2ではなく外部のホストコンピュータ等を用いて行う場合には、メモリの種類が明らかであるため、そのメモリ種類に対応した適切なアクセス速度でアクセスすればよい。   Similarly to the above, the access speed to the control target memory 3 is set to the slowest speed at which all types of memories assumed to be used can be normally operated. However, when the memory type can be specified based on the memory ID, the access may be performed at an appropriate access speed corresponding to the specified memory type. Further, when the restoration process is performed using an external host computer or the like instead of the memory controller 2, the type of memory is clear, and therefore, access may be performed at an appropriate access speed corresponding to the type of memory.

次に、メモリコントローラ2は、特定したブロックB100,B150,B200,B250,B300,B350を対象として、データの誤りが生じているブロックを探索する。具体的には、各ブロックに関して、第2管理情報の全域を読み出し、読み出した第2管理情報の全域に対してCRC演算を行う。そして、演算により求めたCRC値と、読み出した第2管理情報内に含まれている全域のCRC値とを比較する。メモリコントローラ2は、両CRC値が一致する場合には、そのブロックは正常ブロックであると判定し、一方、両CRC値が一致しない場合には、そのブロックは異常ブロックであると判定する。   Next, the memory controller 2 searches the identified block B100, B150, B200, B250, B300, B350 for a block in which a data error has occurred. Specifically, for each block, the entire area of the second management information is read, and the CRC calculation is performed on the entire area of the read second management information. Then, the CRC value obtained by the calculation is compared with the CRC values of the entire area included in the read second management information. If both CRC values match, the memory controller 2 determines that the block is a normal block, and if both CRC values do not match, determines that the block is an abnormal block.

上記と同様に、制御対象メモリ3へのアクセス速度は、使用が想定されている全種類のメモリを正常に動作させることが可能な最も遅い速度とする。但し、メモリIDに基づいてメモリ種類を特定できる場合や、ホストコンピュータ等を用いて復元処理を行う場合には、メモリ種類に対応した適切なアクセス速度でアクセスすればよい。   Similarly to the above, the access speed to the control target memory 3 is set to the slowest speed at which all types of memories assumed to be used can be normally operated. However, when the memory type can be specified based on the memory ID, or when restoration processing is performed using a host computer or the like, the access may be performed at an appropriate access speed corresponding to the memory type.

探索の結果、異常ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図5に示した例では、異常ブロックであるブロックB200が候補から除外される。   If there is an abnormal block as a result of the search, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 5, the block B200 that is an abnormal block is excluded from the candidates.

次に、メモリコントローラ2は、残った正常ブロックB100,B150,B250,B300,B350の中から、最新の第2管理情報が格納されている1個の正常ブロックを選択する。具体的には、各正常ブロックB100,B150,B250,B300,B350に格納されている第2管理情報に含まれている第2管理情報ID値を比較することにより、第2管理情報ID値が最も大きな第2管理情報を、最新の第2管理情報として特定する。図5に示した例では、第2管理情報(4,4)が最新の第2管理情報であるため、第2管理情報(4,4)を格納しているブロックB100が選択されることとなる。なお、最新の第2管理情報が格納されている正常ブロックが複数存在する場合には、その中の任意の正常ブロック(例えばブロックアドレスが最も小さい正常ブロック)が選択される。また、第2管理情報の更新時刻等を第2管理情報ID値として用いている場合には、更新時刻等が最も新しい第2管理情報(つまり第2管理情報ID値が最も大きい第2管理情報)を、最新の第2管理情報として特定することができる。   Next, the memory controller 2 selects one normal block in which the latest second management information is stored from the remaining normal blocks B100, B150, B250, B300, and B350. Specifically, by comparing the second management information ID values included in the second management information stored in the normal blocks B100, B150, B250, B300, and B350, the second management information ID value is obtained. The largest second management information is specified as the latest second management information. In the example shown in FIG. 5, since the second management information (4, 4) is the latest second management information, the block B100 storing the second management information (4, 4) is selected. Become. If there are a plurality of normal blocks in which the latest second management information is stored, an arbitrary normal block (for example, a normal block having the smallest block address) is selected. Further, when the update time or the like of the second management information is used as the second management information ID value, the second management information having the newest update time or the like (that is, the second management information having the largest second management information ID value). ) Can be specified as the latest second management information.

次に、メモリコントローラ2は、正常ブロックB100に格納されている第2管理情報に含まれているグループアドレス<200,300>を参照することにより、ブロックB100,B200,B300を対象とする多数決を行う。具体的には、各ブロックB100,B200,B300に格納されている第2管理情報に含まれている第2管理情報ID値及びCRC値(グループアドレスを除いた部分のCRC値)を相互に比較することにより、1回目の多数決を行う。この例では、ブロックB200は正常ブロックではないために多数決の候補から除外され、また、ブロックB100,B300に格納されている2個の第2管理情報の第2管理情報ID値及びCRC値はそれぞれ(4,4)(1,1)で一致しないため、1回目の多数決は成立しない。   Next, the memory controller 2 refers to the group address <200, 300> included in the second management information stored in the normal block B100, thereby making a majority decision for the blocks B100, B200, B300. Do. Specifically, the second management information ID value and the CRC value (the CRC value excluding the group address) included in the second management information stored in each of the blocks B100, B200, and B300 are compared with each other. By doing so, the first majority vote is performed. In this example, since the block B200 is not a normal block, it is excluded from the majority decision candidates, and the second management information ID value and CRC value of the two second management information stored in the blocks B100 and B300 are respectively Since (4, 4) and (1, 1) do not match, the first majority vote is not established.

次に、メモリコントローラ2は、正常ブロックB100を除く正常ブロックB150,B250,B300,B350の中から、二番目に新しい第2管理情報が格納されている1個の正常ブロックを選択する。具体的には、各正常ブロックB150,B250,B300,B350に格納されている第2管理情報に含まれている第2管理情報ID値を比較することにより、第2管理情報ID値が最も大きな第2管理情報を、二番目に新しい第2管理情報として特定する。図5に示した例では、第2管理情報(3,3)が二番目に新しい第2管理情報であるため、ブロックB150,B250,B350の中の任意の1個の正常ブロック(この例ではブロックアドレスが最も小さい正常ブロックB150)が選択される。   Next, the memory controller 2 selects one normal block in which the second new management information is stored secondly from the normal blocks B150, B250, B300, and B350 excluding the normal block B100. Specifically, the second management information ID value is the largest by comparing the second management information ID values included in the second management information stored in the normal blocks B150, B250, B300, and B350. The second management information is specified as the second new second management information. In the example shown in FIG. 5, since the second management information (3, 3) is the second newest second management information, any one normal block (in this example, the blocks B150, B250, B350) The normal block B150) having the smallest block address is selected.

次にメモリコントローラ2は、正常ブロックB150に格納されている第2管理情報に含まれているグループアドレス<250,350>を参照することにより、ブロックB150,B250,B350を対象とする多数決を行う。具体的には、各ブロックB150,B250,B350に格納されている第2管理情報に含まれている第2管理情報ID値及びCRC値(グループアドレスを除いた部分のCRC値)を相互に比較することにより、2回目の多数決を行う。この例では、ブロックB150,B250,B350に格納されている3個の第2管理情報の第2管理情報ID値及びCRC値はいずれも(3,3)であり、2個以上で一致する。従って、ブロックB150,B250,B350に格納されている第2管理情報が、妥当な第2管理情報であると判定される。   Next, the memory controller 2 refers to the group address <250, 350> included in the second management information stored in the normal block B150 to make a majority decision for the blocks B150, B250, B350. . Specifically, the second management information ID value and the CRC value (the CRC value excluding the group address) included in the second management information stored in each block B150, B250, and B350 are compared with each other. By doing so, the second majority vote is performed. In this example, the second management information ID values and CRC values of the three pieces of second management information stored in the blocks B150, B250, and B350 are all (3, 3), and two or more coincide with each other. Therefore, it is determined that the second management information stored in the blocks B150, B250, and B350 is valid second management information.

なお、全ての正常ブロックB100,B150,B250,B300,B350を選択しても妥当な第2管理情報を特定できない場合には、その制御対象メモリ3は故障と判定される。   In addition, even if all the normal blocks B100, B150, B250, B300, and B350 are selected, if appropriate second management information cannot be specified, it is determined that the control target memory 3 is faulty.

次に、メモリコントローラ2は、特定した2個以上の妥当な第2管理情報の中から、任意の1個の第2管理情報を確定する。例えば、ブロックB150,B250,B350の中でブロックアドレスの最も小さいブロックB150を選択し、ブロックB150に格納されている第2管理情報(3,3)を、妥当な第2管理情報として確定する。   Next, the memory controller 2 determines one arbitrary second management information from the specified two or more pieces of appropriate second management information. For example, the block B150 having the smallest block address is selected from the blocks B150, B250, and B350, and the second management information (3, 3) stored in the block B150 is determined as valid second management information.

次に、メモリコントローラ2は、確定した妥当な第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を第1ブロック群R1内に復元する。   Next, the memory controller 2 restores valid first management information in the first block group R1 based on restoration information included in the determined valid second management information.

図21は、図20に示した例を前提として、第1管理情報の復元処理を示す図である。この例では、妥当な第1管理情報として、最新の第1管理情報(7,7)が復元される。具体的に、メモリコントローラ2は、第1ブロック群R1のうち先頭から3個の正常ブロック又は無効ブロック(この例ではブロックB1〜B3)のデータを消去し、その後、これらのブロックB1〜B3に第1管理情報(7,7)を書き込む。   FIG. 21 is a diagram showing the first management information restoration process on the assumption of the example shown in FIG. In this example, the latest first management information (7, 7) is restored as valid first management information. Specifically, the memory controller 2 erases data from the first three normal blocks or invalid blocks (in this example, blocks B1 to B3) in the first block group R1, and then stores them in these blocks B1 to B3. First management information (7, 7) is written.

なお、この例ではブロックB3には既に第1管理情報(7,7)が格納されているため、ブロックB3に対する処理は省略しても良い。また、先頭から3個の正常ブロックに限らず、全ての正常ブロックに対して第1管理情報(7,7)を書き込んでも良い。あるいは、先頭から3個の正常ブロックに対しては第1管理情報(7,7)を書き込み、残りの正常ブロックに対してはデータの消去のみを行っても良い。   In this example, since the first management information (7, 7) is already stored in the block B3, the processing for the block B3 may be omitted. Further, the first management information (7, 7) may be written to all normal blocks, not limited to the three normal blocks from the top. Alternatively, the first management information (7, 7) may be written to the three normal blocks from the top, and only data erasure may be performed on the remaining normal blocks.

図21に示した第1ブロック群R1を対象とした管理情報の取得処理について、簡単に説明する。まず、先天性不良ブロックであるブロックB5,B9が除外される。次に、無効ブロックであるブロックB10が除外される。次に、異常ブロックの探索が行われるが、この例では異常ブロックが存在しないため、異常ブロックとしてはどのブロックも除外されない。次に、4個の正常ブロックとしてブロックB1〜B4が選択される。   The management information acquisition process for the first block group R1 shown in FIG. 21 will be briefly described. First, blocks B5 and B9 that are congenital defective blocks are excluded. Next, block B10 which is an invalid block is excluded. Next, an abnormal block is searched, but since no abnormal block exists in this example, no block is excluded as an abnormal block. Next, blocks B1 to B4 are selected as four normal blocks.

次に、先頭3個の正常ブロックB1〜B3を対象とする多数決が行われ、その結果、ブロックB1〜B3に格納されている第1管理情報(7,7)が妥当な第1管理情報として特定される。   Next, a majority vote is performed on the first three normal blocks B1 to B3, and as a result, the first management information (7, 7) stored in the blocks B1 to B3 is the valid first management information. Identified.

次に、ブロックB1〜B3のいずれかに格納されている第1管理情報(7,7)に基づいて、第2ブロック群R2の中から第2管理情報が読み出される。   Next, the second management information is read out from the second block group R2 based on the first management information (7, 7) stored in any of the blocks B1 to B3.

なお、以上の説明では、第2管理情報にグループアドレスを含めることにより、多数決を行う3個の第2管理情報をグループアドレスに基づいて特定した。この例に限らず、ブロックアドレスの小さい順、大きい順、又はランダムに3個の正常ブロックを選択することによって、多数決を行う3個の第2管理情報を特定しても良い。   In the above description, by including a group address in the second management information, three pieces of second management information for majority decision are specified based on the group address. Not limited to this example, three pieces of second management information for majority decision may be specified by selecting three normal blocks in ascending order of block address, large order, or randomly.

<第2管理情報の更新例>
図22,23は、第2管理情報の更新例を示す図である。更新前の第2ブロック群R2の構成は、図5に示した状態であったものとする。図5に示した例では、最新の第2管理情報は、ブロックB100に格納されている第2管理情報(4,4)である。
<Example of updating second management information>
22 and 23 are diagrams illustrating examples of updating the second management information. The configuration of the second block group R2 before the update is assumed to be in the state shown in FIG. In the example shown in FIG. 5, the latest second management information is the second management information (4, 4) stored in the block B100.

第2ブロック群R2内で新たな後天性不良ブロックが発生した等の理由により、第2管理情報を更新する必要が生じた場合には、メモリコントローラ2は、ブロックB100,B200,B300から成る第1ブロックセット、又は、ブロックB150,B250,B350から成る第2ブロックセットに、更新後の第2管理情報(5,5)を上書きする。図22に示した例では、第1ブロックセットに更新後の第2管理情報(5,5)が上書きされている。但し、ブロックB200が後天性不良ブロックであることが判明しているため、ブロックB200に代えて、第2ブロック群R2内の別の任意のブロック(この例ではブロックB210)に、第2管理情報(5,5)が書き込まれている。   When there is a need to update the second management information due to a new acquired bad block occurring in the second block group R2, the memory controller 2 includes the blocks B100, B200, and B300. The updated second management information (5, 5) is overwritten on one block set or a second block set composed of blocks B150, B250, and B350. In the example shown in FIG. 22, the updated second management information (5, 5) is overwritten on the first block set. However, since it is found that the block B200 is an acquired defective block, the second management information is transferred to another arbitrary block (block B210 in this example) in the second block group R2 instead of the block B200. (5, 5) is written.

また、例えばブロックB300へ第2管理情報(5,5)を書き込んでいる最中にブロックB300が後天性不良ブロックとなった場合には、メモリコントローラ2は、図23に示すように、第2ブロック群R2内の別の任意のブロック(この例ではブロックB310)を選択し、ブロックB100,B210,B310に、更新後の第2管理情報(6,6)を書き込む。この更新には、グループアドレス及び不良ブロックアドレスの更新が含まれる。また、この場合には第2管理情報の格納ブロックが変更されるため、第1管理情報の更新も必要となる。   Further, for example, when the block B300 becomes an acquired defect block while the second management information (5, 5) is being written to the block B300, the memory controller 2 performs the second control as shown in FIG. Another arbitrary block (block B310 in this example) in the block group R2 is selected, and the updated second management information (6, 6) is written in the blocks B100, B210, B310. This update includes updating the group address and the bad block address. In this case, since the storage block of the second management information is changed, the first management information needs to be updated.

<実施の形態2>
以下、本発明の実施の形態2に係る半導体記憶装置1について、上記実施の形態1との相違点を中心に説明する。
<Embodiment 2>
Hereinafter, the semiconductor memory device 1 according to the second embodiment of the present invention will be described focusing on differences from the first embodiment.

上記実施の形態1と同様に、第1管理情報には、第2管理情報の格納ブロックを示す位置情報が含まれる。また、第1管理情報には、第1管理情報IDが含まれる。また、第1管理情報には、第1ブロック群R1内の不良ブロックを示す位置情報が含まれる。   Similar to the first embodiment, the first management information includes position information indicating a storage block for the second management information. The first management information includes a first management information ID. Further, the first management information includes position information indicating a defective block in the first block group R1.

また、本実施の形態では、上記に加えて、第1管理情報には、自身と同一内容の第1管理情報が格納された他の2個のブロックを示す位置情報(グループアドレス)が含まれる。   In the present embodiment, in addition to the above, the first management information includes position information (group address) indicating the other two blocks in which the first management information having the same content as the first management information is stored. .

さらに、第1管理情報には、誤り検出符号が含まれる。本実施の形態の例では、グループアドレスを含めた全域のCRC値と、グループアドレスを除いた部分のCRC値とが、第1管理情報内に含められる。グループアドレスを含めた全域のCRC値は、その第1管理情報にデータの誤りが生じているか否かの判定に使用される。また、グループアドレスを除いた部分のCRC値は、妥当な第1管理情報を特定するための多数決に使用される。   Further, the first management information includes an error detection code. In the example of the present embodiment, the CRC value of the entire area including the group address and the CRC value of the part excluding the group address are included in the first management information. The entire CRC value including the group address is used to determine whether or not a data error has occurred in the first management information. The CRC value excluding the group address is used for the majority vote for specifying the appropriate first management information.

以下、本実施の形態に係る半導体記憶装置1に関して、(1)管理情報の格納例、(2)管理情報の取得処理、(3)管理情報の更新処理を、順に説明する。   Hereinafter, (1) management information storage example, (2) management information acquisition process, and (3) management information update process will be described in order with respect to the semiconductor memory device 1 according to the present embodiment.

(1)管理情報の格納例
図24は、第1ブロック群R1を示す図である。この例において、ブロックB1,B5は先天性不良ブロックであり、ブロックB2,B4は無効ブロックであり、ブロックB10は消去済みブロックである。
(1) Storage Example of Management Information FIG. 24 is a diagram illustrating the first block group R1. In this example, blocks B1 and B5 are congenital bad blocks, blocks B2 and B4 are invalid blocks, and block B10 is an erased block.

ブロックB3,B6〜B9には第1管理情報が格納されている。第1管理情報に付した丸括弧内の数字は、第1管理情報ID値及び全域のCRC値を示している。第1管理情報に付した山括弧内の数字は、グループアドレスを示している。例えば、ブロックB7に第1管理情報(3,3)を書き込む際に、ブロックB2,B4にも同一内容の第1管理情報(3,3)が書き込まれたことを意味している。   Blocks B3, B6 to B9 store first management information. The numbers in parentheses attached to the first management information indicate the first management information ID value and the CRC value of the entire area. Numbers in angle brackets attached to the first management information indicate group addresses. For example, when the first management information (3, 3) is written in the block B7, it means that the first management information (3, 3) having the same contents is written in the blocks B2, B4.

(2)管理情報の取得処理
図25〜30は、半導体記憶装置1の起動時にメモリコントローラ2が実行する管理情報の取得処理を順に示す図である。第1ブロック群R1は、図24に示した状態になっているものとする。
(2) Management Information Acquisition Processing FIGS. 25 to 30 are diagrams sequentially illustrating management information acquisition processing executed by the memory controller 2 when the semiconductor memory device 1 is activated. It is assumed that the first block group R1 is in the state shown in FIG.

まず、メモリコントローラ2は、メモリIDを要求するリードコマンドを制御対象メモリ3に発行することにより、制御対象メモリ3からメモリIDを取得する。   First, the memory controller 2 acquires a memory ID from the control target memory 3 by issuing a read command requesting the memory ID to the control target memory 3.

<先天性不良ブロックの探索ステップ>
次に図25を参照して、メモリコントローラ2は、第1ブロック群R1に属する全てのブロックB1〜B10を対象として、先天性不良ブロックを探索する。
<Step of searching for congenital defective blocks>
Next, with reference to FIG. 25, the memory controller 2 searches for all congenital defective blocks for all the blocks B1 to B10 belonging to the first block group R1.

探索の結果、ブロックB1〜B10内に先天性不良ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図25に示した例では、先天性不良ブロックであるブロックB1,B5が候補から除外される。   As a result of the search, if a congenital defective block exists in the blocks B1 to B10, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 25, blocks B1 and B5 that are congenital defective blocks are excluded from candidates.

<無効ブロックの探索ステップ>
次に図26を参照して、メモリコントローラ2は、良ブロックB2〜B4,B6〜B10を対象として、無効ブロックを探索する。
<Invalid block search step>
Next, referring to FIG. 26, the memory controller 2 searches the invalid blocks for the good blocks B2 to B4 and B6 to B10.

探索の結果、良ブロック内に無効ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図26に示した例では、無効ブロックであるブロックB2,B4が候補から除外される。   If there is an invalid block in the good block as a result of the search, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 26, invalid blocks B2 and B4 are excluded from candidates.

<異常ブロックの探索ステップ>
次に図27を参照して、メモリコントローラ2は、有効ブロックB3,B6〜B10を対象として、データの誤りが生じているブロックを探索する。具体的には、各有効ブロックに関して、第1管理情報の格納ページにアクセスして第1管理情報を読み出し、グループアドレスを含めた第1管理情報の全域に対してCRC演算を行う。そして、演算により求めた全域のCRC値と、読み出した第1管理情報内に含まれている全域のCRC値とを比較する。メモリコントローラ2は、両CRC値が一致する場合には、そのブロックは正常ブロックであると判定し、一方、両CRC値が一致しない場合には、そのブロックは異常ブロックであると判定する。
<Abnormal block search step>
Next, with reference to FIG. 27, the memory controller 2 searches the valid blocks B3, B6 to B10 for a block in which a data error has occurred. Specifically, for each valid block, the first management information storage page is accessed to read the first management information, and a CRC calculation is performed on the entire area of the first management information including the group address. And the CRC value of the whole area calculated | required by the calculation and the CRC value of the whole area contained in the read 1st management information are compared. If both CRC values match, the memory controller 2 determines that the block is a normal block, and if both CRC values do not match, determines that the block is an abnormal block.

探索の結果、有効ブロック内に異常ブロックが存在している場合には、メモリコントローラ2は、そのブロックを取得対象ブロックの候補から除外する。図27に示した例では、異常ブロックであるブロックB6,B10が候補から除外される。   As a result of the search, when an abnormal block exists in the effective block, the memory controller 2 excludes the block from the acquisition target block candidates. In the example shown in FIG. 27, blocks B6 and B10 that are abnormal blocks are excluded from the candidates.

<妥当な第1管理情報の特定ステップ>
次に図28を参照して、メモリコントローラ2は、残った正常ブロックB3,B7〜B9の中から1個の正常ブロックを任意に選択する。例えば、ブロックアドレスが最も小さい正常ブロックB3を選択する。そして、正常ブロックB3に格納されている第1管理情報に含まれているグループアドレス<4,6>を参照することにより、ブロックB3,B4,B6を対象とする多数決を行う。具体的には、各ブロックB3,B4,B6に格納されている第1管理情報に含まれている第1管理情報ID値及びCRC値(グループアドレスを除いた部分のCRC値)を相互に比較することにより、1回目の多数決を行う。この例では、ブロックB4,B6は正常ブロックではなく、多数決の候補から除外されるため、1回目の多数決は成立しない。
<Appropriate first management information specifying step>
Next, referring to FIG. 28, the memory controller 2 arbitrarily selects one normal block from the remaining normal blocks B3, B7 to B9. For example, the normal block B3 having the smallest block address is selected. Then, by referring to the group address <4, 6> included in the first management information stored in the normal block B3, a majority decision for the blocks B3, B4, B6 is made. Specifically, the first management information ID value and CRC value (CRC value excluding the group address) included in the first management information stored in each block B3, B4, B6 are compared with each other. By doing so, the first majority vote is performed. In this example, since the blocks B4 and B6 are not normal blocks and are excluded from the majority candidates, the first majority vote is not established.

次に図29を参照して、メモリコントローラ2は、正常ブロックB3,B7〜B9の中から次の正常ブロックを任意に選択する。例えば、ブロックアドレスが次に小さい正常ブロックB7を選択する。そして、正常ブロックB7に格納されている第1管理情報に含まれているグループアドレス<2,4>を参照することにより、ブロックB2,B4,B7を対象とする多数決を行う。具体的には、各ブロックB2,B4,B7に格納されている第1管理情報に含まれている第1管理情報ID値及びCRC値(グループアドレスを除いた部分のCRC値)を相互に比較することにより、2回目の多数決を行う。この例では、ブロックB2,B4は正常ブロックではなく、多数決の候補から除外されるため、2回目の多数決は成立しない。   Next, referring to FIG. 29, the memory controller 2 arbitrarily selects the next normal block from the normal blocks B3, B7 to B9. For example, the normal block B7 having the next smallest block address is selected. Then, a majority decision is made for the blocks B2, B4, and B7 by referring to the group address <2, 4> included in the first management information stored in the normal block B7. Specifically, the first management information ID value and CRC value (CRC value excluding the group address) included in the first management information stored in each block B2, B4, B7 are compared with each other. By doing so, the second majority vote is performed. In this example, since the blocks B2 and B4 are not normal blocks and are excluded from the majority candidates, the second majority vote is not established.

次に図30を参照して、メモリコントローラ2は、正常ブロックB3,B7〜B9の中から次の正常ブロックを任意に選択する。例えば、ブロックアドレスが次に小さい正常ブロックB8を選択する。そして、正常ブロックB8に格納されている第1管理情報に含まれているグループアドレス<9,10>を参照することにより、ブロックB8〜B10を対象とする多数決を行う。具体的には、各ブロックB8〜B10に格納されている第1管理情報に含まれている第1管理情報ID値及びCRC値(グループアドレスを除いた部分のCRC値)を相互に比較することにより、3回目の多数決を行う。この例では、ブロックB10は正常ブロックではないため多数決の候補から除外されるが、ブロックB8,B9に格納されている2個の第1管理情報の第1管理情報ID値及びCRC値はいずれも(4,4)であり、2個以上で一致する。従って、ブロックB8,B9に格納されている第1管理情報が、妥当な第1管理情報であると判定される。   Next, referring to FIG. 30, the memory controller 2 arbitrarily selects the next normal block from the normal blocks B3, B7 to B9. For example, the normal block B8 having the next smallest block address is selected. Then, by referring to the group address <9, 10> included in the first management information stored in the normal block B8, a majority decision for the blocks B8 to B10 is performed. Specifically, the first management information ID value and the CRC value (the CRC value excluding the group address) included in the first management information stored in each of the blocks B8 to B10 are compared with each other. The third majority vote is made. In this example, since the block B10 is not a normal block, it is excluded from the majority decision candidates, but the first management information ID value and CRC value of the two first management information stored in the blocks B8 and B9 are both (4, 4), and two or more match. Therefore, it is determined that the first management information stored in the blocks B8 and B9 is appropriate first management information.

なお、全ての正常ブロックB3,B7〜B9を選択しても妥当な第1管理情報を特定できない場合には、メモリコントローラ2は、上記実施の形態1と同様に、その制御対象メモリ3を暫定的に故障であると判定する。暫定的に故障と判定された制御対象メモリ3に関しては、妥当な第1管理情報の復元処理が実行される。復元処理は、外部のホストコンピュータ等を用いて実行しても良い。復元処理を実行しても妥当な第1管理情報を復元できない場合には、その制御対象メモリ3は確定的に故障と判定される。   Note that if the appropriate first management information cannot be specified even if all the normal blocks B3, B7 to B9 are selected, the memory controller 2 temporarily sets the control target memory 3 in the same manner as in the first embodiment. It is determined that there is a failure. For the control target memory 3 that has been provisionally determined to be faulty, an appropriate first management information restoration process is executed. The restoration process may be executed using an external host computer or the like. If the appropriate first management information cannot be restored even after executing the restoration process, the control target memory 3 is definitely determined to be a failure.

<第2管理情報の取得ステップ>
次に、メモリコントローラ2は、特定した2個以上の妥当な第1管理情報の中から、任意の1個の第1管理情報を確定する。例えば、ブロックB8,B9の中でブロックアドレスの最も小さいブロックB8を選択し、ブロックB8に格納されている第1管理情報(4,4)を、妥当な第1管理情報として確定する。
<Second management information acquisition step>
Next, the memory controller 2 determines one arbitrary first management information from the two or more specified appropriate first management information. For example, the block B8 having the smallest block address is selected from the blocks B8 and B9, and the first management information (4, 4) stored in the block B8 is determined as appropriate first management information.

次に、メモリコントローラ2は、確定した妥当な第1管理情報に含まれている位置情報に基づいて、第2ブロック群R2の中から第2管理情報を読み出すことにより、第2管理情報を取得する。   Next, the memory controller 2 acquires the second management information by reading the second management information from the second block group R2 based on the position information included in the determined valid first management information. To do.

(3)管理情報の更新処理
図31〜35は、メモリコントローラ2が実行する第1管理情報の更新処理を順に示す図である。
(3) Management Information Update Processing FIGS. 31 to 35 are diagrams sequentially illustrating first management information update processing executed by the memory controller 2.

図31を参照して、現在有効な第1管理情報は、ブロックB8,B9に格納されている第1管理情報(4,4)である。また、起動時に妥当な第1管理情報を特定するための多数決の候補となった第1管理情報は、多数決対象ブロックB8〜B10に格納されている第1管理情報である。   Referring to FIG. 31, the first management information currently valid is the first management information (4, 4) stored in blocks B8 and B9. Further, the first management information that is a candidate for majority decision for specifying appropriate first management information at the time of activation is the first management information stored in the majority decision target blocks B8 to B10.

次に図32を参照して、メモリコントローラ2は、第1ブロック群R1の中から空きブロックを確保する。具体的には、ブロックB1〜B10の中から、先天性不良ブロック、後天性不良ブロック、及び多数決対象ブロックを除外して、3個の空きブロックを確保する。この例では、ブロックB2,B4,B7が、空きブロックとして確保される。   Next, referring to FIG. 32, the memory controller 2 secures an empty block from the first block group R1. Specifically, from the blocks B1 to B10, congenital bad blocks, acquired bad blocks, and majority-target blocks are excluded, and three empty blocks are secured. In this example, blocks B2, B4 and B7 are secured as empty blocks.

次に図33を参照して、メモリコントローラ2は、3個の空きブロックの中の任意の1個の空きブロックのデータを消去した後、グループアドレスを含む更新後の第1管理情報をそのブロックに書き込む。この例では、ブロックB2のデータが消去された後に、ブロックB4,B7を示すグループアドレス<4,7>を含む第1管理情報(5,5)<4,7>が、ブロックB2に書き込まれる。   Next, referring to FIG. 33, the memory controller 2 erases the data of any one of the three empty blocks, and then sends the updated first management information including the group address to that block. Write to. In this example, after the data in the block B2 is erased, the first management information (5, 5) <4, 7> including the group address <4, 7> indicating the blocks B4, B7 is written into the block B2. .

次に図34を参照して、メモリコントローラ2は、3個の多数決対象ブロックの中の任意の1個のブロックに対して、無効フラグを付加する。この例では、ブロックB8に無効フラグが付加される。   Next, referring to FIG. 34, the memory controller 2 adds an invalid flag to any one of the three majority-target blocks. In this example, an invalid flag is added to the block B8.

次に図35を参照して、メモリコントローラ2は、3個の空きブロックの中の次の空きブロックB4のデータを消去した後、グループアドレス<2,7>を含む第1管理情報(5,5)<2,7>を、そのブロックB4に書き込む。その後、3個の多数決対象ブロックの中の次のブロックB9に対して、無効フラグを付加する。次に、メモリコントローラ2は、3個の空きブロックの中の最後の空きブロックB7のデータを消去した後、グループアドレス<2,4>を含む第1管理情報(5,5)<2,4>を、そのブロックB7に書き込む。その後、3個の多数決対象ブロックの中の最後のブロックB10に対して、無効フラグを付加する。これにより、3個の空きブロックB2,B4,B7に同一内容の第1管理情報(5,5)が格納される。   Next, referring to FIG. 35, after erasing the data of the next empty block B4 among the three empty blocks, the memory controller 2 deletes the first management information (5, 5) including the group address <2, 7>. 5) Write <2,7> in its block B4. Thereafter, an invalid flag is added to the next block B9 among the three majority target blocks. Next, the memory controller 2 erases the data of the last empty block B7 among the three empty blocks, and then first management information (5, 5) <2, 4 including the group address <2, 4>. > Is written in the block B7. Thereafter, an invalid flag is added to the last block B10 among the three majority target blocks. Thereby, the first management information (5, 5) having the same contents is stored in the three empty blocks B2, B4, B7.

<実施の形態2の具体例1>
図36は、第1ブロック群R1の他の例を示す図である。この例において、ブロックB5,B9は先天性不良ブロックであり、ブロックB1,B2,B10は無効ブロックである。また、ブロックB4,B8は後天性不良ブロックである。但し、ブロックB4,B8に関しては第1管理情報ID値とCRC値とが一致している。また、ブロックB3には第1管理情報(6,6)<6,7>が格納されており、ブロックB6には第1管理情報(6,6)<3,7>が格納されており、ブロックB7には第1管理情報(6,6)<3,6>が格納されている。
<Specific Example 1 of Embodiment 2>
FIG. 36 is a diagram illustrating another example of the first block group R1. In this example, blocks B5 and B9 are congenital defective blocks, and blocks B1, B2 and B10 are invalid blocks. Blocks B4 and B8 are acquired defective blocks. However, regarding the blocks B4 and B8, the first management information ID value matches the CRC value. Also, the first management information (6, 6) <6, 7> is stored in the block B3, and the first management information (6, 6) <3, 7> is stored in the block B6. The block B7 stores first management information (6, 6) <3, 6>.

図36に示した第1ブロック群R1を対象とした管理情報の取得処理について、簡単に説明する。まず、先天性不良ブロックであるブロックB5,B9が除外される。次に、無効ブロックであるブロックB1,B2,B10が除外される。次に、異常ブロックの探索が行われるが、この例では異常ブロックが存在しないため、異常ブロックとしてはどのブロックも除外されない。   The management information acquisition process for the first block group R1 shown in FIG. 36 will be briefly described. First, blocks B5 and B9 that are congenital defective blocks are excluded. Next, blocks B1, B2, and B10 that are invalid blocks are excluded. Next, an abnormal block is searched, but since no abnormal block exists in this example, no block is excluded as an abnormal block.

次に、先頭の正常ブロックB3が選択され、その正常ブロックB3と、グループアドレス<6,7>で示された正常ブロックB6,B7とを対象とする多数決が行われる。その結果、ブロックB3,B6,B7に格納されている第1管理情報(6,6)が妥当な第1管理情報として特定される。   Next, the first normal block B3 is selected, and a majority vote is performed on the normal block B3 and the normal blocks B6 and B7 indicated by the group address <6, 7>. As a result, the first management information (6, 6) stored in the blocks B3, B6, B7 is specified as valid first management information.

次に、ブロックB3,B6,B7のいずれかに格納されている第1管理情報(6,6)に基づいて、第2ブロック群R2の中から第2管理情報が読み出される。   Next, based on the first management information (6, 6) stored in any of the blocks B3, B6, B7, the second management information is read out from the second block group R2.

<実施の形態2の具体例2>
図37は、第1ブロック群R1の他の例を示す図である。この例において、ブロックB5,B9は先天性不良ブロックであり、ブロックB1,B2,B10は無効ブロックである。また、ブロックB4,B6は後天性不良ブロックである。但し、ブロックB4,B6に関しては第1管理情報ID値とCRC値とが一致している。また、ブロックB3には第1管理情報(7,7)<7,8>が格納されており、ブロックB7には第1管理情報(7,7)<3,8>が格納されており、ブロックB8には第1管理情報(7,7)<3,7>が格納されている。
<Specific Example 2 of Embodiment 2>
FIG. 37 is a diagram illustrating another example of the first block group R1. In this example, blocks B5 and B9 are congenital defective blocks, and blocks B1, B2 and B10 are invalid blocks. Blocks B4 and B6 are acquired defective blocks. However, regarding the blocks B4 and B6, the first management information ID value matches the CRC value. Also, the first management information (7, 7) <7, 8> is stored in the block B3, and the first management information (7, 7) <3, 8> is stored in the block B7. The block B8 stores the first management information (7, 7) <3, 7>.

図37に示した第1ブロック群R1を対象とした管理情報の取得処理について、簡単に説明する。まず、先天性不良ブロックであるブロックB5,B9が除外される。次に、無効ブロックであるブロックB1,B2,B10が除外される。次に、異常ブロックの探索が行われるが、この例では異常ブロックが存在しないため、異常ブロックとしてはどのブロックも除外されない。   The management information acquisition process for the first block group R1 shown in FIG. 37 will be briefly described. First, blocks B5 and B9 that are congenital defective blocks are excluded. Next, blocks B1, B2, and B10 that are invalid blocks are excluded. Next, an abnormal block is searched, but since no abnormal block exists in this example, no block is excluded as an abnormal block.

次に、先頭の正常ブロックB3が選択され、その正常ブロックB3と、グループアドレス<7,8>で示された正常ブロックB7,B8とを対象とする多数決が行われる。その結果、ブロックB3,B7,B8に格納されている第1管理情報(7,7)が妥当な第1管理情報として特定される。   Next, the first normal block B3 is selected, and a majority vote is performed on the normal block B3 and the normal blocks B7 and B8 indicated by the group address <7,8>. As a result, the first management information (7, 7) stored in the blocks B3, B7, B8 is specified as valid first management information.

次に、ブロックB3,B7,B8のいずれかに格納されている第1管理情報(7,7)に基づいて、第2ブロック群R2の中から第2管理情報が読み出される。   Next, based on the first management information (7, 7) stored in any of the blocks B3, B7, B8, the second management information is read out from the second block group R2.

同様のケースである上記実施の形態1の具体例2(図20)では、妥当な第1管理情報を特定できなかった。これに対して図37の例では、グループアドレスに基づく多数決を行うことによって、妥当な第1管理情報の特定に成功している。   In specific example 2 (FIG. 20) of the first embodiment, which is the same case, the appropriate first management information could not be specified. On the other hand, in the example of FIG. 37, the identification of the appropriate first management information has succeeded by making a majority decision based on the group address.

<変形例1>
図38は、変形例1に係る半導体記憶装置1の構成を簡略化して示す図である。半導体記憶装置1は、メモリコントローラ2と、メモリコントローラ2によって制御される複数個の制御対象メモリ(図38の例では4個の制御対象メモリ3A〜3D)とを備えている。
<Modification 1>
FIG. 38 is a diagram showing a simplified configuration of the semiconductor memory device 1 according to the first modification. The semiconductor memory device 1 includes a memory controller 2 and a plurality of control target memories (four control target memories 3A to 3D in the example of FIG. 38) controlled by the memory controller 2.

このようなシステム構成においては、データサイズが大きい第2管理情報を複数に分割し、各分割片を複数の制御対象メモリに分散して格納しても良い。図38に示した例では、各第2管理情報は、3個の第2管理情報片121〜123に分割されている。第1管理情報11は制御対象メモリ3Aに格納され、第2管理情報片121は制御対象メモリ3Bに格納され、第2管理情報片122は制御対象メモリ3Cに格納され、第2管理情報片123は制御対象メモリ3Dに格納される。第1管理情報11には、個々の第2管理情報毎に、各第2管理情報片121〜123の所在を示す位置情報が含まれている。また、第1管理情報11には、第2管理情報の分割数(つまり1個の第2管理情報に対応する第2管理情報片の個数)に関する情報が含まれている。第2管理情報を読み出す場合には、第2管理情報片121〜123が制御対象メモリ3B〜3Dから並列に読み出される。なお、第1管理情報11が格納されている制御対象メモリ3Aには、第1管理情報11に加えて第2管理情報片が格納されても良い。また、第1管理情報11は、制御対象メモリ3Aに限らず、他の制御対象メモリ3B〜3Dに格納されても良い。   In such a system configuration, the second management information having a large data size may be divided into a plurality of pieces, and each divided piece may be distributed and stored in a plurality of control target memories. In the example shown in FIG. 38, each second management information is divided into three second management information pieces 121-123. The first management information 11 is stored in the control target memory 3A, the second management information piece 121 is stored in the control target memory 3B, the second management information piece 122 is stored in the control target memory 3C, and the second management information piece 123 is stored. Is stored in the control target memory 3D. The first management information 11 includes position information indicating the location of each of the second management information pieces 121 to 123 for each second management information. The first management information 11 includes information related to the number of divisions of the second management information (that is, the number of second management information pieces corresponding to one piece of second management information). When reading the second management information, the second management information pieces 121 to 123 are read in parallel from the control target memories 3B to 3D. In addition to the first management information 11, a second management information piece may be stored in the control target memory 3A in which the first management information 11 is stored. Further, the first management information 11 may be stored not only in the control target memory 3A but also in other control target memories 3B to 3D.

図39は、制御対象メモリ3B〜3Dに格納されている第2管理情報片の第1の例を示す図である。第2管理情報X1を構成する3個の第2管理情報片X11,X12,X13が、制御対象メモリ3B,3C,3Dのブロックb,h,k(ブロックアドレスb,h,k)にそれぞれ格納されている。また、第2管理情報X2を構成する3個の第2管理情報片X21,X22,X23が、制御対象メモリ3B,3C,3Dのブロックd,g,o(ブロックアドレスd,g,o)にそれぞれ格納されている。また、第2管理情報X3を構成する3個の第2管理情報片X31,X32,X33が、制御対象メモリ3B,3C,3Dのブロックe,i,m(ブロックアドレスe,i,m)にそれぞれ格納されている。また、第2管理情報Y1を構成する3個の第2管理情報片Y11,Y12,Y13が、制御対象メモリ3B,3C,3Dのブロックa,f,n(ブロックアドレスa,f,n)にそれぞれ格納されている。また、第2管理情報Z1を構成する3個の第2管理情報片Z11,Z12,Z13が、制御対象メモリ3B,3C,3Dのブロックc,j,l(ブロックアドレスc,j,l)にそれぞれ格納されている。   FIG. 39 is a diagram illustrating a first example of the second management information pieces stored in the control target memories 3B to 3D. Three second management information pieces X11, X12, X13 constituting the second management information X1 are stored in the blocks b, h, k (block addresses b, h, k) of the control target memories 3B, 3C, 3D, respectively. Has been. Further, the three second management information pieces X21, X22, X23 constituting the second management information X2 are stored in the blocks d, g, o (block addresses d, g, o) of the control target memories 3B, 3C, 3D. Each is stored. Further, the three second management information pieces X31, X32, X33 constituting the second management information X3 are stored in the blocks e, i, m (block addresses e, i, m) of the control target memories 3B, 3C, 3D. Each is stored. Also, the three second management information pieces Y11, Y12, Y13 constituting the second management information Y1 are stored in the blocks a, f, n (block addresses a, f, n) of the control target memories 3B, 3C, 3D. Each is stored. Further, the three second management information pieces Z11, Z12, Z13 constituting the second management information Z1 are stored in the blocks c, j, l (block addresses c, j, l) of the control target memories 3B, 3C, 3D. Each is stored.

第2管理情報X1,X2,X3は、互いに対応する同一内容の第2管理情報である。また、図中の鉤括弧内のアルファベットは、分割された他の2個の第2管理情報片が格納されているブロックアドレス(以下「メモリ間グループアドレス」と称す)を示している。例えば、第2管理情報X1は3個の第2管理情報片X11,X12,X13に分割され、第2管理情報片X11,X12,X13はブロックb,h,kにそれぞれ格納されているため、第2管理情報片X11は「h,k」なるメモリ間グループアドレスを含み、第2管理情報片X12は「b,k」なるメモリ間グループアドレスを含み、第2管理情報片X13は「b,h」なるメモリ間グループアドレスを含んでいる。   The second management information X1, X2, and X3 are second management information having the same contents corresponding to each other. In addition, alphabets in square brackets in the figure indicate block addresses (hereinafter referred to as “inter-memory group addresses”) in which the other two divided second management information pieces are stored. For example, the second management information X1 is divided into three second management information pieces X11, X12, and X13, and the second management information pieces X11, X12, and X13 are stored in the blocks b, h, and k, respectively. The second management information piece X11 includes an inter-memory group address “h, k”, the second management information piece X12 includes an inter-memory group address “b, k”, and the second management information piece X13 includes “b, k”. h ”inter-memory group address.

以下、妥当な第1管理情報の復元処理について説明する。以下の例では、復元処理をメモリコントローラ2によって行う場合について説明するが、上記と同様に、外部のホストコンピュータ等を用いて復元処理を行うこともできる。   In the following, a description will be given of the appropriate first management information restoration process. In the following example, the case where the restoration process is performed by the memory controller 2 will be described. However, the restoration process can also be performed using an external host computer or the like as described above.

まず、メモリコントローラ2は、制御対象メモリ3Bの中から、第2管理情報片を格納しているブロックa,b,c,d,eを特定する。   First, the memory controller 2 identifies blocks a, b, c, d, and e storing the second management information piece from the control target memory 3B.

次に、メモリコントローラ2は、ブロックa,b,c,d,eの中から異常ブロックを除外する処理を行う。但しこの例では、ブロックa,b,c,d,eの中に異常ブロックは存在しないものとする。   Next, the memory controller 2 performs processing for excluding abnormal blocks from the blocks a, b, c, d, and e. However, in this example, it is assumed that no abnormal block exists in the blocks a, b, c, d, and e.

次に、メモリコントローラ2は、ブロックa,b,c,d,eの中から1個のブロックを任意に選択する。例えば、ブロックアドレスが最も小さいブロックaを選択する。次に、ブロックaから第2管理情報片Y11を読み出した後、第2管理情報片Y11に含まれているメモリ間グループアドレス「f,n」を参照することにより、ブロックf,nから第2管理情報片Y12,Y13をそれぞれ読み出す。次に、第2管理情報Y11,Y12,Y13を結合することによって第2管理情報Y1を復元する。なお、メモリコントローラ2は、ブロックf,nについても異常ブロックか否かの判定を行い、ブロックf,nの少なくとも一方が異常ブロックである場合には、第2管理情報Y1の復元を行わない。但しこの例では、ブロックf,nは異常ブロックではないものとする。他のブロックg〜m,oについても同様である。   Next, the memory controller 2 arbitrarily selects one block from the blocks a, b, c, d, and e. For example, the block a having the smallest block address is selected. Next, after reading the second management information piece Y11 from the block a, the second management information piece Y11 is read from the blocks f and n by referring to the inter-memory group address “f, n” included in the second management information piece Y11. The management information pieces Y12 and Y13 are read out. Next, the second management information Y1 is restored by combining the second management information Y11, Y12, Y13. The memory controller 2 determines whether or not the blocks f and n are also abnormal blocks, and does not restore the second management information Y1 when at least one of the blocks f and n is an abnormal block. However, in this example, the blocks f and n are not abnormal blocks. The same applies to the other blocks g to m, o.

次に、メモリコントローラ2は、第2管理情報Y1に含まれているグループアドレス<b,c>を参照することにより、ブロックb,cから第2管理情報片X11,Z11をそれぞれ読み出す。次に、第2管理情報片X11に含まれているメモリ間グループアドレス「h,k」を参照することにより、ブロックh,kから第2管理情報片X12,X13をそれぞれ読み出す。次に、第2管理情報片X11,X12,X13を結合することによって第2管理情報X1を復元する。また、第2管理情報片Z11に含まれているメモリ間グループアドレス「j,l」を参照することにより、ブロックj,lから第2管理情報片Z12,Z13をそれぞれ読み出す。次に、第2管理情報片Z11,Z12,Z13を結合することによって第2管理情報Z1を復元する。   Next, the memory controller 2 reads the second management information pieces X11 and Z11 from the blocks b and c by referring to the group address <b, c> included in the second management information Y1. Next, by referring to the inter-memory group address “h, k” included in the second management information piece X11, the second management information pieces X12, X13 are read from the blocks h, k, respectively. Next, the second management information X1 is restored by combining the second management information pieces X11, X12, and X13. Further, by referring to the inter-memory group address “j, l” included in the second management information piece Z11, the second management information pieces Z12 and Z13 are read from the blocks j and l, respectively. Next, the second management information Z1 is restored by combining the second management information pieces Z11, Z12, and Z13.

次に、メモリコントローラ2は、復元した第2管理情報Y1,X1,Z1を対象とする多数決を行うが、図39の例ではこの多数決は成立しない。   Next, the memory controller 2 makes a majority decision on the restored second management information Y1, X1, and Z1, but this majority decision is not established in the example of FIG.

次に、メモリコントローラ2は、ブロックa,b,c,d,eの中から次のブロックを任意に選択する。例えば、ブロックアドレスが次に小さいブロックbを選択する。次に、ブロックbから第2管理情報片X11を読み出した後、第2管理情報片X11に含まれているメモリ間グループアドレス「h,k」を参照することにより、ブロックh,kから第2管理情報片X12,X13をそれぞれ読み出す。次に、第2管理情報X11,X12,X13を結合することによって第2管理情報X1を復元する。なお、上述のステップで第2管理情報X1はすでに復元されているので、このステップでの第2管理情報X1の復元処理は省略しても良い。   Next, the memory controller 2 arbitrarily selects the next block from the blocks a, b, c, d, and e. For example, the block b having the next smallest block address is selected. Next, after reading the second management information piece X11 from the block b, the second management information piece X11 is read from the blocks h and k by referring to the inter-memory group address “h, k” included in the second management information piece X11. The management information pieces X12 and X13 are read out. Next, the second management information X1 is restored by combining the second management information X11, X12, and X13. Note that since the second management information X1 has already been restored in the above step, the restoration process of the second management information X1 in this step may be omitted.

次に、メモリコントローラ2は、第2管理情報X1に含まれているグループアドレス<d,e>を参照することにより、ブロックd,eから第2管理情報片X21,X31をそれぞれ読み出す。次に、第2管理情報片X21に含まれているメモリ間グループアドレス「g,o」を参照することにより、ブロックg,oから第2管理情報片X22,X23をそれぞれ読み出す。次に、第2管理情報片X21,X22,X23を結合することによって第2管理情報X2を復元する。また、第2管理情報片X31に含まれているメモリ間グループアドレス「i,m」を参照することにより、ブロックi,mから第2管理情報片X32,X33をそれぞれ読み出す。次に、第2管理情報片X31,X32,X33を結合することによって第2管理情報X3を復元する。   Next, the memory controller 2 reads out the second management information pieces X21 and X31 from the blocks d and e by referring to the group address <d, e> included in the second management information X1. Next, by referring to the inter-memory group address “g, o” included in the second management information piece X21, the second management information pieces X22 and X23 are read from the blocks g and o, respectively. Next, the second management information X2 is restored by combining the second management information pieces X21, X22, and X23. Further, by referring to the inter-memory group address “i, m” included in the second management information piece X31, the second management information pieces X32 and X33 are read from the blocks i and m, respectively. Next, the second management information X3 is restored by combining the second management information pieces X31, X32, and X33.

次に、メモリコントローラ2は、復元した第2管理情報X1,X2,X3を対象とする多数決を行う。図39の例ではこの多数決は成立するため、メモリコントローラ2は、第2管理情報X1,X2,X3を妥当な第2管理情報と判定する。   Next, the memory controller 2 makes a majority decision on the restored second management information X1, X2, and X3. In the example of FIG. 39, since this majority vote is established, the memory controller 2 determines the second management information X1, X2, and X3 as appropriate second management information.

次に、メモリコントローラ2は、妥当な第2管理情報X1,X2,X3の中から任意の1個の第2管理情報を確定し、確定した妥当な第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を制御対象メモリ3A内に復元する。   Next, the memory controller 2 determines one arbitrary second management information from the appropriate second management information X1, X2, and X3, and the restoration information included in the determined valid second management information. Based on the above, the appropriate first management information is restored in the control target memory 3A.

なお、図39には、制御対象メモリ3Bに格納されている第2管理情報片にグループアドレスが含まれている例を示したが、この例に限らず、グループアドレスは、制御対象メモリ3B〜3Dの少なくとも一つに格納されている第2管理情報片に含まれていればよい。例えば、グループアドレス<b,c>は、第2管理情報片Y11ではなく第2管理情報片Y12又は第2管理情報片Y13に含まれていても良い。   FIG. 39 shows an example in which the group address is included in the second management information piece stored in the control target memory 3B. However, the present invention is not limited to this example, and the group addresses are not limited to the control target memories 3B to 3B. It may be included in the second management information piece stored in at least one of the 3Ds. For example, the group address <b, c> may be included in the second management information piece Y12 or the second management information piece Y13 instead of the second management information piece Y11.

図40は、制御対象メモリ3B〜3Dに格納されている第2管理情報片の第2の例を示す図である。図40の例では、第2管理情報片にはメモリ間グループアドレスが含まれておらず、その代わりに、各々の第2管理情報片にグループアドレスが含まれている。例えば、第2管理情報片X11,X21,X31には<d,e><b,e><b,d>なるグループアドレスが含まれており、これにより、同一内容の第2管理情報片が格納された制御対象メモリ3B内のブロックを特定可能である。また、各第2管理情報片には、分割前の第2管理情報を特定可能なID値が含まれている。例えば、第2管理情報片X11,X12,X13には「X11」「X12」「X13」なるID値がそれぞれ含まれており、これにより、分割前の第2管理情報が第2管理情報X1であることを特定可能である。   FIG. 40 is a diagram illustrating a second example of the second management information piece stored in the control target memories 3B to 3D. In the example of FIG. 40, the second management information piece does not include an inter-memory group address, and instead, each second management information piece includes a group address. For example, the second management information pieces X11, X21, and X31 include a group address <d, e> <b, e> <b, d>, whereby the second management information pieces having the same contents are stored. A block in the stored control target memory 3B can be specified. Each second management information piece includes an ID value that can identify the second management information before division. For example, the ID values “X11”, “X12”, and “X13” are included in the second management information pieces X11, X12, and X13, respectively, so that the second management information before the division is the second management information X1. It can be specified.

以下、妥当な第1管理情報の復元処理について説明する。以下の例では、復元処理をメモリコントローラ2によって行う場合について説明するが、上記と同様に、外部のホストコンピュータ等を用いて復元処理を行うこともできる。   In the following, a description will be given of the appropriate first management information restoration process. In the following example, the case where the restoration process is performed by the memory controller 2 will be described. However, the restoration process can also be performed using an external host computer or the like as described above.

まず、メモリコントローラ2は、制御対象メモリ3Bの中から、第2管理情報片を格納しているブロックa,b,c,d,eを特定する。   First, the memory controller 2 identifies blocks a, b, c, d, and e storing the second management information piece from the control target memory 3B.

次に、メモリコントローラ2は、ブロックa,b,c,d,eの中から異常ブロックを除外する処理を行う。但しこの例では、ブロックa,b,c,d,eの中に異常ブロックは存在しないものとする。   Next, the memory controller 2 performs processing for excluding abnormal blocks from the blocks a, b, c, d, and e. However, in this example, it is assumed that no abnormal block exists in the blocks a, b, c, d, and e.

次に、メモリコントローラ2は、ブロックa,b,c,d,eの中から1個のブロックを任意に選択する。例えば、ブロックアドレスが最も小さいブロックaを選択する。次に、ブロックaから第2管理情報片Y11を読み出した後、第2管理情報片Y11に含まれているグループアドレス<b,c>を参照することにより、ブロックb,cから第2管理情報片X11,Z11をそれぞれ読み出す。   Next, the memory controller 2 arbitrarily selects one block from the blocks a, b, c, d, and e. For example, the block a having the smallest block address is selected. Next, after the second management information piece Y11 is read from the block a, the second management information is read from the blocks b and c by referring to the group address <b, c> included in the second management information piece Y11. The pieces X11 and Z11 are read out respectively.

次に、メモリコントローラ2は、第2管理情報片Y11,X11,Z11を対象とする多数決を行うが、図40の例ではこの多数決は成立しない。   Next, the memory controller 2 makes a majority decision for the second management information pieces Y11, X11, and Z11, but this majority decision is not established in the example of FIG.

次に、メモリコントローラ2は、ブロックa,b,c,d,eの中から次のブロックを任意に選択する。例えば、ブロックアドレスが次に小さいブロックbを選択する。次に、ブロックbから第2管理情報片X11を読み出した後、第2管理情報片X11に含まれているグループアドレス<d,e>を参照することにより、ブロックd,eから第2管理情報片X21,X31をそれぞれ読み出す。   Next, the memory controller 2 arbitrarily selects the next block from the blocks a, b, c, d, and e. For example, the block b having the next smallest block address is selected. Next, after reading the second management information piece X11 from the block b, the second management information piece is read from the blocks d and e by referring to the group address <d, e> included in the second management information piece X11. The pieces X21 and X31 are read out.

次に、メモリコントローラ2は、第2管理情報片X11,X21,X31を対象とする多数決を行う。図40の例ではこの多数決は成立するため、メモリコントローラ2は、第2管理情報片X11,X21,X31を妥当な第2管理情報片と判定する。   Next, the memory controller 2 makes a majority decision for the second management information pieces X11, X21, and X31. In the example of FIG. 40, since this majority vote is established, the memory controller 2 determines that the second management information pieces X11, X21, and X31 are valid second management information pieces.

メモリコントローラ2は、制御対象メモリ3C,3Dについても、制御対象メモリ3Bと同様の処理を行う。その結果、制御対象メモリ3Cに関しては、第2管理情報片X12,X22,X32が妥当な第2管理情報片と判定され、制御対象メモリ3Dに関しては、第2管理情報片X13,X23,X33が妥当な第2管理情報片と判定される。   The memory controller 2 performs the same processing as the control target memory 3B for the control target memories 3C and 3D. As a result, regarding the control target memory 3C, the second management information pieces X12, X22, and X32 are determined to be valid second management information pieces, and regarding the control target memory 3D, the second management information pieces X13, X23, and X33 are determined. It is determined as a valid second management information piece.

次に、メモリコントローラ2は、各第2管理情報片X11〜X13,X21〜X23,X31〜X33に含まれているID値に基づいて、対応する第2管理情報片同士を結合することにより、妥当な第2管理情報X1,X2,X3を復元する。   Next, the memory controller 2 combines the corresponding second management information pieces based on the ID values included in the second management information pieces X11 to X13, X21 to X23, and X31 to X33. The appropriate second management information X1, X2, X3 is restored.

次に、メモリコントローラ2は、妥当な第2管理情報X1,X2,X3の中から任意の1個の第2管理情報を確定し、確定した妥当な第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を制御対象メモリ3A内に復元する。   Next, the memory controller 2 determines one arbitrary second management information from the appropriate second management information X1, X2, and X3, and the restoration information included in the determined valid second management information. Based on the above, the appropriate first management information is restored in the control target memory 3A.

<変形例2>
上記実施の形態1,2では、管理情報を第1管理情報と第2管理情報との2つに分割する例について述べたが、3つ以上に分割しても良い。例えば3つに分割する場合には、書き換え頻度が低い情報を第1管理情報内に含め、書き換え頻度が中程度の情報を第2管理情報内に含め、書き換え頻度が高い情報を第3管理情報内に含める。第1管理情報は、割り当てられるブロック数が少ない第1ブロック群内に格納し、第2管理情報は、割り当てられるブロック数が多い第2ブロック群内に格納し、第3管理情報は、全ブロックのうち第1ブロック群及び第2ブロック群以外の第3ブロック群内(ブロック数は最も多い)に格納する。
<Modification 2>
In the first and second embodiments, the example in which the management information is divided into the first management information and the second management information has been described. However, the management information may be divided into three or more. For example, when dividing into three, information with low rewriting frequency is included in the first management information, information with medium rewriting frequency is included in the second management information, and information with high rewriting frequency is included in the third management information. Include in. The first management information is stored in a first block group with a small number of allocated blocks, the second management information is stored in a second block group with a large number of allocated blocks, and the third management information is all blocks Are stored in the third block group other than the first block group and the second block group (the number of blocks is the largest).

<変形例3>
上記実施の形態1,2では、第1ブロック群R1として割り当てられるブロックは、ブロックB1〜B10に限定されている。従って、ブロックB1〜B10内に先天性不良ブロックが存在している場合には、第1ブロック群R1内で実際に使用できるブロック数は、先天性不良ブロックの数に応じて減少する。そこで、第1ブロック群を割り当てる際に先天性不良ブロックを除外してもよい。例えばブロックB5,B9が先天性不良ブロックである場合には、ブロックB1〜B4,B6〜B8,B10〜B12を第1ブロック群として割り当てる。
<Modification 3>
In the first and second embodiments, the blocks allocated as the first block group R1 are limited to the blocks B1 to B10. Therefore, when there is a congenital defective block in the blocks B1 to B10, the number of blocks that can actually be used in the first block group R1 decreases according to the number of congenital defective blocks. Therefore, congenital defective blocks may be excluded when assigning the first block group. For example, when the blocks B5 and B9 are congenital defective blocks, the blocks B1 to B4, B6 to B8, and B10 to B12 are assigned as the first block group.

<まとめ>
上記実施の形態1,2に係る半導体記憶装置1によれば、管理情報は、第1ブロック群R1内に格納される第1管理情報と、第2ブロック群R2内に格納される第2管理情報とを含む。そして、第2管理情報には、第1ブロック群R1内において妥当な第1管理情報を特定できない場合に、当該妥当な第1管理情報を第1ブロック群R1内に復元するための復元情報が含まれる。従って、第1ブロック群R1内において妥当な第1管理情報を特定できない場合であっても、メモリコントローラ2は、第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を第1ブロック群R1内に復元することができる。その結果、不良ブロックの存在や強制的な電源遮断等に起因して正常動作が阻害されるという事態を回避しつつ、管理情報を制御対象メモリ3に格納することが可能となる。
<Summary>
According to the semiconductor memory device 1 according to the first and second embodiments, the management information includes the first management information stored in the first block group R1 and the second management stored in the second block group R2. Information. The second management information includes restoration information for restoring the appropriate first management information in the first block group R1 when the appropriate first management information cannot be specified in the first block group R1. included. Therefore, even when the appropriate first management information cannot be specified in the first block group R1, the memory controller 2 determines the appropriate first management information based on the restoration information included in the second management information. Can be restored in the first block group R1. As a result, it is possible to store the management information in the control target memory 3 while avoiding a situation in which the normal operation is hindered due to the presence of a defective block, forced power shutdown, or the like.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、第2管理情報は、第1管理情報よりも書き換え頻度の高い情報である。書き換え頻度に応じて管理情報を第1管理情報と第2管理情報とに分割し、限定的に割り当てられた第1ブロック群R1内には、書き換え頻度の低い第1管理情報を格納することにより、第1ブロック群R1内ではデータの書き換えが頻繁には発生しない。その結果、第1ブロック群R1内における後天性不良ブロックの発生が抑制されるため、装置の信頼性を向上することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the second management information is information that is rewritten more frequently than the first management information. By dividing the management information into the first management information and the second management information according to the rewrite frequency, and storing the first management information with a low rewrite frequency in the limited first block group R1 In the first block group R1, data rewriting does not occur frequently. As a result, since the occurrence of acquired defective blocks in the first block group R1 is suppressed, the reliability of the apparatus can be improved.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、第1管理情報には、第2管理情報を格納しているブロックを示す位置情報が含まれ、第2管理情報には、不良ブロックを示す位置情報が含まれる。従って、メモリコントローラ2は、第1管理情報を制御対象メモリ3から読み出すことによって、第2管理情報を格納しているブロックを示す位置情報を取得でき、また、当該位置情報に基づいて第2管理情報を制御対象メモリ3から読み出すことによって、不良ブロックを示す位置情報を取得することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the first management information includes the position information indicating the block storing the second management information, and the second management information , Position information indicating a defective block is included. Therefore, the memory controller 2 can acquire the position information indicating the block storing the second management information by reading the first management information from the control target memory 3, and the second management based on the position information. By reading the information from the control target memory 3, it is possible to acquire position information indicating a defective block.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、第1管理情報には、第1ブロック群R1内の不良ブロックを示す位置情報が含まれ、第2管理情報には、第2ブロック群R2内の不良ブロックを示す位置情報が含まれる。従って、第2ブロック群R2内で後天性不良ブロックが発生した場合には、第2管理情報のみを更新すればよく、第1管理情報の更新を省略することができる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the first management information includes the position information indicating the defective block in the first block group R1, and the second management information includes Position information indicating a defective block in the second block group R2 is included. Therefore, when an acquired defective block occurs in the second block group R2, only the second management information needs to be updated, and the update of the first management information can be omitted.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、第2ブロック群R2内には、複数の第2所定数個のブロックの各々に、同一内容の第2管理情報が格納されている。従って、第2所定数個のブロックに格納されている第2所定数個の第2管理情報のうちの一つが破壊又は喪失された場合であっても、メモリコントローラ2は、破壊又は喪失されていない残りの第2管理情報を、制御対象メモリ3から取得することができる。その結果、不良ブロックの存在や強制的な電源遮断等に起因して正常動作が阻害されるという事態を回避しつつ、管理情報を制御対象メモリ3に格納することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the second management information having the same content is stored in each of the second predetermined number of blocks in the second block group R2. Has been. Therefore, even if one of the second predetermined number of second management information stored in the second predetermined number of blocks is destroyed or lost, the memory controller 2 is destroyed or lost. No remaining second management information can be acquired from the control target memory 3. As a result, it is possible to store the management information in the control target memory 3 while avoiding a situation in which the normal operation is hindered due to the presence of a defective block, forced power shutdown, or the like.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第3所定数個の正常ブロックを、第2ブロック群R2の中から特定する。そして、特定した第3所定数個の正常ブロックに格納されている第3所定数個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定する。従って、更新が繰り返されることで第2ブロック群R2内に複数バージョンの第2管理情報が格納されている場合であっても、妥当な第2管理情報を適切に特定することが可能となる。   Moreover, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 specifies the third predetermined number of normal blocks from the second block group R2. Then, from the third predetermined number of second management information stored in the specified third predetermined number of normal blocks, one appropriate second management information is specified by majority vote. Accordingly, it is possible to appropriately specify appropriate second management information even when a plurality of versions of second management information are stored in the second block group R2 by repeating the update.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第2管理情報を格納している全てのブロックの中から異常ブロックを除外することにより、正常ブロックを特定する。従って、異常ブロックが正常ブロックとして特定されるという事態を回避できるため、妥当な第2管理情報を適切に特定することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 removes the abnormal block from all the blocks storing the second management information, thereby removing the normal block. Identify. Accordingly, it is possible to avoid a situation in which an abnormal block is specified as a normal block, and it is possible to appropriately specify appropriate second management information.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第3所定数個の正常ブロックの中から3個の正常ブロックを特定し、当該3個の正常ブロックに格納されている3個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定する。このように、多数決を行う対象を3個の第2管理情報に限定することによって、簡易に多数決を行うことができるため、処理の所要時間を短縮することが可能となる。   In addition, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 identifies three normal blocks from the third predetermined number of normal blocks, and the three normal blocks From the three pieces of second management information stored in, one appropriate second management information is specified by majority vote. In this way, by limiting the target of the majority decision to the three pieces of second management information, the majority decision can be easily made, and thus the time required for processing can be shortened.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、ある1個の正常ブロックに格納されている第2管理情報と、当該第2管理情報に位置情報が記述されている特定の2個のブロックに格納されている2個の第2管理情報とを用いて、多数決を行う。従って、多数決を行う対象を、更新時に併せて書き込まれた同一内容の第2管理情報に限定できるため、多数決によって妥当な第2管理情報を特定できる可能性を高めることが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 includes the second management information stored in a certain normal block and the location information in the second management information. A majority vote is performed using two pieces of second management information stored in two specific blocks described. Therefore, since the target of majority decision can be limited to the second management information having the same contents written together at the time of update, it is possible to increase the possibility of specifying appropriate second management information by majority decision.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、特定した3個の正常ブロックを対象とする多数決によっては妥当な第2管理情報を特定できない場合には、他の3個の正常ブロックを特定し直して多数決を行う。これにより、妥当な第2管理情報を特定できる可能性を高めることが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 cannot specify appropriate second management information by majority decision for the specified three normal blocks. Then, the other three normal blocks are specified again and a majority decision is made. Thereby, it is possible to increase the possibility of specifying appropriate second management information.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第2管理情報を更新する必要が生じた場合には、更新前の第2管理情報が格納されている第2所定数個のブロックの各々に、更新後の第2管理情報をそれぞれ書き込む。これにより、更新後においても、同一内容の第2所定個数の第2管理情報を、第2ブロック群R2に格納することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, when the memory controller 2 needs to update the second management information, the second management information before the update is stored. The updated second management information is written in each of the second predetermined number of blocks. Thereby, even after the update, a second predetermined number of second management information having the same contents can be stored in the second block group R2.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、更新毎に値が異なるバージョン情報を、第2管理情報に含めて書き込む。従って、バージョン情報を用いて多数決を行うことができ、その結果、妥当な第2管理情報を適切に特定する精度を向上することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 writes the version information having a different value for each update in the second management information. Therefore, a majority decision can be made using the version information, and as a result, it is possible to improve the accuracy of appropriately specifying appropriate second management information.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、あるブロックに第2管理情報を書き込む際に当該ブロックが後天性不良ブロックとなった場合には、当該第2管理情報に含めたバージョン情報の値を、以降の更新時には使用しない。従って、バージョン情報の値を生成するためのカウンタ値が一周した場合であっても、後天性不良ブロックに格納されている第2管理情報が、多数決によって妥当な第2管理情報として誤って特定されるという事態を回避することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, when the block becomes an acquired defect block when the second management information is written in a certain block, the memory controller 2 The value of the version information included in the second management information is not used for subsequent updates. Therefore, even if the counter value for generating the version information value makes a round, the second management information stored in the acquired defective block is erroneously specified as valid second management information by majority vote. It is possible to avoid this situation.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第2管理情報の更新時刻に関する時間情報を、第2管理情報に含めて書き込む。従って、時間情報に基づいて最新の第2管理情報を特定でき、その結果、妥当な第2管理情報を適切に特定する精度を向上することが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 writes the time information related to the update time of the second management information in the second management information. Therefore, the latest second management information can be specified based on the time information, and as a result, it is possible to improve the accuracy of appropriately specifying appropriate second management information.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第2管理情報の誤り検出符号を、第2管理情報に含めて書き込む。従って、誤り検出符号を用いて多数決を行うことができ、その結果、妥当な第2管理情報を適切に特定する精度を向上することが可能となる。また、誤り検出符号を用いてデータの誤りが生じているか否かを判定することができ、その結果、第2ブロック群の中から正常ブロックを特定する際に、データの誤りが生じている異常ブロックを除外することが可能となる。   Moreover, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 writes the error detection code of the second management information in the second management information. Therefore, a majority decision can be made using the error detection code, and as a result, it is possible to improve the accuracy of appropriately identifying the appropriate second management information. In addition, it is possible to determine whether or not a data error has occurred using an error detection code. As a result, when a normal block is specified from the second block group, an abnormality in which a data error has occurred Blocks can be excluded.

また、上記実施の形態1,2に係る半導体記憶装置1によれば、メモリコントローラ2は、第2所定数個のブロックの中の一のブロックに書き込む第2管理情報に、第2所定数個のブロックの中の他のブロックを示す位置情報を含めて書き込む。従って、多数決を行う対象を、更新時に併せて書き込まれた同一内容の第2管理情報に限定できるため、多数決によって妥当な第2管理情報を特定できる可能性を高めることが可能となる。   Further, according to the semiconductor memory device 1 according to the first and second embodiments, the memory controller 2 stores the second predetermined number of pieces of the second management information written in one block among the second predetermined number of blocks. Including the position information indicating other blocks in the current block is written. Therefore, since the target of majority decision can be limited to the second management information having the same contents written together at the time of update, it is possible to increase the possibility of specifying appropriate second management information by majority decision.

1 半導体記憶装置
2 メモリコントローラ
3 制御対象メモリ
DESCRIPTION OF SYMBOLS 1 Semiconductor memory device 2 Memory controller 3 Memory to be controlled

Claims (16)

それぞれがデータの消去単位である複数のブロックを有する記憶部と、
前記記憶部を制御する制御部と、
を備え、
前記記憶部が有する全ブロックには、
前記制御部が前記記憶部を管理するために必要な管理情報を格納するためのブロックとして限定的に割り当てられた、複数の第1所定数個のブロックから成る第1ブロック群と、
第1ブロック群以外の第2ブロック群と、
が含まれ、
管理情報は、
第1ブロック群内に格納される第1管理情報と、
第2ブロック群内に格納される第2管理情報と、
を含み、
第2管理情報には、第1ブロック群内において妥当な第1管理情報を特定できない場合に、当該妥当な第1管理情報を第1ブロック群内に復元するための復元情報が含まれる、半導体記憶装置。
A storage unit having a plurality of blocks, each of which is a data erasure unit;
A control unit for controlling the storage unit;
With
In all blocks of the storage unit,
A first block group consisting of a plurality of first predetermined number of blocks, limitedly assigned as blocks for storing management information necessary for the control unit to manage the storage unit;
A second block group other than the first block group;
Contains
Management information
First management information stored in the first block group;
Second management information stored in the second block group;
Including
The second management information includes restoration information for restoring the appropriate first management information in the first block group when the appropriate first management information cannot be specified in the first block group. Storage device.
第2管理情報は、第1管理情報よりも書き換え頻度の高い情報である、請求項1に記載の半導体記憶装置。   The semiconductor memory device according to claim 1, wherein the second management information is information that is rewritten more frequently than the first management information. 第1管理情報には、第2管理情報を格納しているブロックを示す位置情報が含まれ、
第2管理情報には、不良ブロックを示す位置情報が含まれる、請求項1又は2に記載の半導体記憶装置。
The first management information includes position information indicating a block storing the second management information,
The semiconductor memory device according to claim 1, wherein the second management information includes position information indicating a defective block.
第1管理情報には、第1ブロック群内の不良ブロックを示す位置情報が含まれ、
第2管理情報には、第2ブロック群内の不良ブロックを示す位置情報が含まれる、請求項3に記載の半導体記憶装置。
The first management information includes position information indicating a defective block in the first block group,
The semiconductor memory device according to claim 3, wherein the second management information includes position information indicating a defective block in the second block group.
第2ブロック群内には、複数の第2所定数個のブロックの各々に、同一内容の第2管理情報が格納されている、請求項1〜4のいずれか一つに記載の半導体記憶装置。   5. The semiconductor memory device according to claim 1, wherein second management information having the same content is stored in each of a plurality of second predetermined number of blocks in the second block group. . 前記制御部は、
正常な第2管理情報が格納されている、複数の第3所定数個の正常ブロックを、第2ブロック群の中から特定し、
第3所定数個の正常ブロックに格納されている第3所定数個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定し、
当該妥当な第2管理情報に含まれている復元情報に基づいて、妥当な第1管理情報を復元する、請求項5に記載の半導体記憶装置。
The controller is
A plurality of third predetermined number of normal blocks in which normal second management information is stored are identified from the second block group,
From the third predetermined number of second management information stored in the third predetermined number of normal blocks, one valid second management information is specified by majority vote,
6. The semiconductor memory device according to claim 5, wherein the valid first management information is restored based on the restoration information included in the valid second management information.
前記制御部は、第2管理情報を格納している全てのブロックの中から、格納している第2管理情報にデータの誤りが生じている異常ブロックを除外することにより、正常ブロックを特定する、請求項6に記載の半導体記憶装置。   The control unit identifies a normal block by excluding abnormal blocks in which data errors have occurred in the stored second management information from all blocks storing the second management information The semiconductor memory device according to claim 6. 前記制御部は、
第3所定数個の正常ブロックの中から3個の正常ブロックを特定し、
当該3個の正常ブロックに格納されている3個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定する、請求項6又は7に記載の半導体記憶装置。
The controller is
3 normal blocks are identified from the third predetermined number of normal blocks,
8. The semiconductor memory device according to claim 6, wherein one appropriate second management information is specified by majority vote from the three second management information stored in the three normal blocks.
前記制御部は、
ある1個の正常ブロックに格納されている第2管理情報と、
当該第2管理情報に位置情報が記述されている特定の2個のブロックに格納されている2個の第2管理情報と、
を用いて、多数決を行う、請求項8に記載の半導体記憶装置。
The controller is
Second management information stored in one normal block;
Two pieces of second management information stored in two specific blocks in which position information is described in the second management information;
The semiconductor memory device according to claim 8, wherein a majority vote is performed by using.
前記制御部は、特定した3個の正常ブロックを対象とする多数決によっては妥当な第2管理情報を特定できない場合には、
第3所定数個の正常ブロックの中から他の3個の正常ブロックを特定し、
当該他の3個の正常ブロックに格納されている3個の第2管理情報の中から、多数決によって1個の妥当な第2管理情報を特定する、請求項8又は9に記載の半導体記憶装置。
When the control unit cannot identify appropriate second management information by a majority vote for the specified three normal blocks,
Identify the other three normal blocks from the third predetermined number of normal blocks,
10. The semiconductor memory device according to claim 8, wherein one valid second management information is specified by majority vote from among the three second management information stored in the other three normal blocks. 11. .
前記制御部は、第2管理情報を更新する必要が生じた場合には、更新前の第2管理情報が格納されている第2所定数個のブロックの各々に、更新後の第2管理情報をそれぞれ書き込む、請求項5〜10のいずれか一つに記載の半導体記憶装置。   When the control unit needs to update the second management information, the second management information after the update is stored in each of the second predetermined number of blocks in which the second management information before the update is stored. The semiconductor memory device according to claim 5, wherein each is written. 前記制御部は、第2管理情報の更新毎に値が異なるバージョン情報を、第2管理情報に含めて書き込む、請求項11に記載の半導体記憶装置。   The semiconductor memory device according to claim 11, wherein the control unit writes version information having a different value every time the second management information is updated, included in the second management information. 前記制御部は、あるブロックに第2管理情報を書き込む際に当該ブロックが後天性不良ブロックとなった場合には、当該第2管理情報に含めたバージョン情報の値を、以降の更新時には使用しない、請求項12に記載の半導体記憶装置。   When the second management information is written in a certain block and the block becomes an acquired defect block, the control unit does not use the version information value included in the second management information at the time of the subsequent update. The semiconductor memory device according to claim 12. 前記制御部は、第2管理情報の更新時刻に関する時間情報を、第2管理情報に含めて書き込む、請求項11に記載の半導体記憶装置。   The semiconductor memory device according to claim 11, wherein the control unit writes time information related to an update time of the second management information in the second management information. 前記制御部は、第2管理情報の誤り検出符号を、第2管理情報に含めて書き込む、請求項11〜14のいずれか一つに記載の半導体記憶装置。   The semiconductor memory device according to claim 11, wherein the control unit writes the error detection code of the second management information so as to be included in the second management information. 前記制御部は、第2所定数個のブロックの中の一のブロックに書き込む第2管理情報に、第2所定数個のブロックの中の他のブロックを示す位置情報を含めて書き込む、請求項11〜15のいずれか一つに記載の半導体記憶装置。

The control unit writes the second management information written in one block of the second predetermined number of blocks, including position information indicating other blocks in the second predetermined number of blocks. The semiconductor memory device according to any one of 11 to 15.

JP2012178340A 2012-08-10 2012-08-10 Semiconductor memory device Expired - Fee Related JP6152999B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012178340A JP6152999B2 (en) 2012-08-10 2012-08-10 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012178340A JP6152999B2 (en) 2012-08-10 2012-08-10 Semiconductor memory device

Publications (2)

Publication Number Publication Date
JP2014035747A true JP2014035747A (en) 2014-02-24
JP6152999B2 JP6152999B2 (en) 2017-06-28

Family

ID=50284687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012178340A Expired - Fee Related JP6152999B2 (en) 2012-08-10 2012-08-10 Semiconductor memory device

Country Status (1)

Country Link
JP (1) JP6152999B2 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097475A (en) * 1996-09-24 1998-04-14 Brother Ind Ltd Information processor and storage medium
JP2001084002A (en) * 1999-09-10 2001-03-30 Aisin Seiki Co Ltd Control device
JP2002169729A (en) * 2000-12-04 2002-06-14 Toshiba Corp Controller of nonvolatile memory unit, memory system having the same controller, and control method for nonvolatile memory unit
JP2006277395A (en) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd Information processor and information processing method
JP2008262614A (en) * 2007-04-10 2008-10-30 Mega Chips Corp Nonvolatile semiconductor memory device
JP2008276492A (en) * 2007-04-27 2008-11-13 Noritsu Koki Co Ltd Data updating method of flash memory, its data updating program and data write-in device
WO2008139689A1 (en) * 2007-05-10 2008-11-20 Panasonic Corporation Memory controller, semiconductor recording device, and method for reporting the number of rewrites
JP2009521049A (en) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ Memory with block erasable storage locations
JP2011059866A (en) * 2009-09-08 2011-03-24 Toshiba Corp Controller and data storage device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097475A (en) * 1996-09-24 1998-04-14 Brother Ind Ltd Information processor and storage medium
JP2001084002A (en) * 1999-09-10 2001-03-30 Aisin Seiki Co Ltd Control device
JP2002169729A (en) * 2000-12-04 2002-06-14 Toshiba Corp Controller of nonvolatile memory unit, memory system having the same controller, and control method for nonvolatile memory unit
JP2006277395A (en) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd Information processor and information processing method
JP2009521049A (en) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ Memory with block erasable storage locations
JP2008262614A (en) * 2007-04-10 2008-10-30 Mega Chips Corp Nonvolatile semiconductor memory device
JP2008276492A (en) * 2007-04-27 2008-11-13 Noritsu Koki Co Ltd Data updating method of flash memory, its data updating program and data write-in device
WO2008139689A1 (en) * 2007-05-10 2008-11-20 Panasonic Corporation Memory controller, semiconductor recording device, and method for reporting the number of rewrites
JP2011059866A (en) * 2009-09-08 2011-03-24 Toshiba Corp Controller and data storage device

Also Published As

Publication number Publication date
JP6152999B2 (en) 2017-06-28

Similar Documents

Publication Publication Date Title
US8713381B2 (en) Systems and methods of using dynamic data for wear leveling in solid-state devices
TWI546666B (en) Data storage device and flash memory control method
TWI515561B (en) Data tree storage methods, systems and computer program products using page structure of flash memory
KR100877030B1 (en) Non-volatile memory and non-volatile memory data rewriting method
JP2009512022A (en) Managing flash memory
JP4901987B1 (en) Storage device, electronic device, and error data correction method
US8555143B2 (en) Flash memory controller and the method thereof
US8266481B2 (en) System and method of wear-leveling in flash storage
US20090265403A1 (en) File system
US9563553B2 (en) Data storing method and embedded system
US9058255B2 (en) Solid state drive and method for constructing logical-to-physical table thereof
JP2007012060A (en) File system having inverted hierarchical structure
EP2413329A1 (en) Electronic apparatuses
JP2007012054A (en) Startup authentication of optimized file system integrity
JP4301301B2 (en) Nonvolatile semiconductor memory device and management method thereof
US9465538B2 (en) Flash memory control chip and data storage device and flash memory control method
JP2014052978A (en) Control method of nonvolatile semiconductor memory, and memory system
TWI550404B (en) Identifying memory regions that contain remapped memory locations
US20150339198A1 (en) Semiconductor memory device including nonvolatile semiconductor memory, control method of memory controller, and memory controller
JP6152999B2 (en) Semiconductor memory device
JP2012068765A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
CN103870355B (en) BIOS accesses system and method
JP6118045B2 (en) Semiconductor memory device
CN110262916B (en) System code management device and management method thereof
JP2012037971A (en) Memory controller, nonvolatile memory system provided with memory controller, and method for controlling nonvolatile memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170518

R150 Certificate of patent or registration of utility model

Ref document number: 6152999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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