JP2017097909A - Control device and control method of semiconductor memory - Google Patents

Control device and control method of semiconductor memory Download PDF

Info

Publication number
JP2017097909A
JP2017097909A JP2017011321A JP2017011321A JP2017097909A JP 2017097909 A JP2017097909 A JP 2017097909A JP 2017011321 A JP2017011321 A JP 2017011321A JP 2017011321 A JP2017011321 A JP 2017011321A JP 2017097909 A JP2017097909 A JP 2017097909A
Authority
JP
Japan
Prior art keywords
read
data
error
memory
read data
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
JP2017011321A
Other languages
Japanese (ja)
Other versions
JP6387126B2 (en
Inventor
坂東 和彦
Kazuhiko Bando
和彦 坂東
聡司 宮崎
Soji Miyazaki
聡司 宮崎
岡崎 真也
Shinya Okazaki
真也 岡崎
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2017011321A priority Critical patent/JP6387126B2/en
Publication of JP2017097909A publication Critical patent/JP2017097909A/en
Application granted granted Critical
Publication of JP6387126B2 publication Critical patent/JP6387126B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a control device and a control method of a semiconductor memory, capable of suppressing deterioration in reliability of read data.SOLUTION: A storage device 2 has: a failure detection correction determination unit that detects whether a failure occurs in a read data piece read from a memory cell group, and when a failure occurs determines whether it is correctable; a reading control unit which, when the failure detection correction determination unit determines that no failure occurs in the read data piece or does therein but it is correctable, repeatedly reads the read data piece from the memory cell group only at an invalid determination frequency; and a determination unit which, when at least one of the read data pieces repeatedly read only at the invalid determination frequency by the reading control unit is determined to be uncorrectable by the failure detection correction determination unit, determines that the read data piece is invalid data to be subjected to refresh processing.SELECTED DRAWING: Figure 1

Description

本発明は、半導体メモリの制御装置、特に、読み出されたデータに対して誤り検出を行う半導体メモリの制御装置及びその制御方法に関する。   The present invention relates to a semiconductor memory control device, and more particularly, to a semiconductor memory control device that performs error detection on read data and a control method thereof.

現在、不揮発性の半導体メモリとして、NAND型フラッシュメモリが普及している。   Currently, NAND flash memories are widely used as nonvolatile semiconductor memories.

ところで、NAND型フラッシュメモリでは、データをメモリセルに書き込んでいる最中に電源が遮断されると、書込対象となったメモリセルのデータが破壊される虞があった。そこで、書込用のデータに誤り訂正符号を付加したものを書き込み、その読み出し時に誤りが検出された場合にはデータ書き込み中に電源遮断が生じたと判断して、この読み出されたデータを未使用データとして管理するようにした書込判定方法が提案された(特許文献1参照)。   By the way, in the NAND flash memory, if the power is cut off while data is being written to the memory cell, there is a possibility that the data of the memory cell to be written is destroyed. Therefore, when writing data with an error correction code added is written and an error is detected at the time of reading, it is determined that a power interruption has occurred during data writing, and the read data is not yet read. There has been proposed a writing determination method managed as usage data (see Patent Document 1).

しかしながら、データ書込時において電源遮断が生じると、その電源遮断のタイミング又は素子特性等によっては、メモリセル内の電荷の残留状態が中途半端、つまり、論理レベル1及び0を判定する閾値の近傍となる場合があった。よって、このメモリセルからデータの読み出しを行うと、正常なデータが読み出される場合と、不正なデータが読み出される場合とが混在する不安定な状態となり、このNAND型フラッシュメモリを用いたシステム全体の信頼性が低下してしまうという問題が生じた。   However, when power is cut off during data writing, depending on the power cut-off timing or element characteristics, the remaining state of the charge in the memory cell is halfway, that is, near the threshold value for determining the logic levels 1 and 0. There was a case. Therefore, when data is read from the memory cell, an unstable state in which normal data is read and illegal data is read is mixed, and the entire system using the NAND flash memory is in an unstable state. There was a problem that reliability was lowered.

特開2007−241618号JP2007-241618A

本発明は、読出データの信頼性低下を抑えることが可能な半導体メモリの制御装置及び制御方法を提供することを目的とする。   It is an object of the present invention to provide a semiconductor memory control device and control method capable of suppressing a decrease in reliability of read data.

本発明に係る半導体メモリの制御装置は、複数のメモリセルからなるメモリセル群単位でデータ書込及び読出しを行う半導体メモリの制御装置であって、前記メモリセル群から読み出された読出データ片に誤りが生じているか否かを検出すると共に、誤りが生じている場合には訂正可能であるか否かを判定する誤り検出訂正判定部と、前記誤り検出訂正判定部において前記読出データ片に誤りが生じていない、又は誤りが生じているが訂正可能であると判定された場合には、無効判定回数だけ前記メモリセル群から繰り返し前記読出データ片を読み出す読み出し制御部と、前記読み出し制御部によって前記無効判定回数の分だけ繰り返し読み出された前記読出データ片各々の内の少なくとも1つが前記誤り検出訂正判定部にて訂正不可であると判定された場合には、前記読出データ片がリフレッシュ処理の対象となる無効データであると判定する判定部と、を有する。   A semiconductor memory control device according to the present invention is a semiconductor memory control device that performs data writing and reading in units of a memory cell group including a plurality of memory cells, and is a read data piece read from the memory cell group. And an error detection / correction determination unit for determining whether or not the error can be corrected when the error occurs, and the error detection / correction determination unit A read control unit that repeatedly reads out the read data piece from the memory cell group as many times as the invalidity determination number when it is determined that no error has occurred or an error has occurred but is correctable; and the read control unit Therefore, at least one of the read data pieces read repeatedly by the number of invalidity determinations cannot be corrected by the error detection / correction determination unit. If it is determined has, a determination unit to be invalid data the read data pieces are subject to refresh operation.

又、本発明に係る半導体メモリの制御方法は、複数のメモリセルからなるメモリセル群単位でデータ書込及び読出しを行う半導体メモリの制御方法であって、前記メモリセル群から読み出された読出データ片に誤りが生じているか否かを検出すると共に、誤りが生じている場合には訂正可能であるか否かを判定し、前記読出データ片に誤りが生じていない、又は誤りが生じているが訂正可能であると判定された場合には、無効判定回数だけ前記メモリセル群から繰り返し前記読出データ片を読み出す読み出し、読み出された前記読出データ片各々の内の少なくとも1つが訂正不可であると判定された場合に前記読出データ片がリフレッシュ処理の対象となる無効データであると判定する。   The semiconductor memory control method according to the present invention is a semiconductor memory control method for performing data writing and reading in units of a memory cell group composed of a plurality of memory cells, wherein the read out from the memory cell group is performed. It is detected whether or not an error has occurred in the data piece, and if there is an error, it is determined whether or not the error can be corrected, and no error has occurred in the read data piece or an error has occurred. However, if it is determined that correction is possible, the read data piece is repeatedly read from the memory cell group as many times as the invalidity determination number, and at least one of the read data pieces read cannot be corrected. If it is determined that the read data piece is present, it is determined that the read data piece is invalid data to be refreshed.

本発明に係る半導体メモリ制御装置を含む情報処理システムを示すブロック図である。1 is a block diagram showing an information processing system including a semiconductor memory control device according to the present invention. レジスタ244の記憶内容の一例を示す図である。5 is a diagram illustrating an example of the contents stored in a register 244. FIG. リフレッシュ制御ルーチンを示すフローチャートである。It is a flowchart which shows a refresh control routine. リフレッシュ処理の動作を示す図である。It is a figure which shows the operation | movement of a refresh process. リフレッシュ処理の動作の他の一例を示す図である。It is a figure which shows another example of operation | movement of a refresh process. 本発明における他の実施例による半導体メモリ制御装置を含む情報処理システムを示すブロック図である。It is a block diagram which shows the information processing system containing the semiconductor memory control apparatus by the other Example in this invention. 読出判定制御ルーチンを示すフローチャートである。It is a flowchart which shows the reading determination control routine.

以下、本発明の実施例を図面を参照しつつ詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明に係る半導体メモリの制御装置を含む記憶装置を備えた情報処理システムを示すブロック図である。図1に示すように、かかる情報処理システムは、ホスト情報処理装置1及び記憶装置2を含む。   FIG. 1 is a block diagram showing an information processing system including a storage device including a semiconductor memory control device according to the present invention. As illustrated in FIG. 1, the information processing system includes a host information processing device 1 and a storage device 2.

ホスト情報処理装置1は、記憶装置2に記憶されているデータ(後述する)、又は外部供給されたデータに基づいて各種情報処理を行いつつ、データを書き込ませるべき書込命令、書込先のアドレス及び書込用データ、或いは、データの読み出しを促す読出命令及び読出元のアドレスを記憶装置2に供給する。   The host information processing apparatus 1 performs various kinds of information processing based on data (to be described later) stored in the storage device 2 or externally supplied data, and writes a write command and a write destination to be written. The memory device 2 is supplied with an address and data for writing, or a read command for urging data to be read and a read source address.

記憶装置2は、ホストインターフェース(以下、ホストIFと称する)部21、メモリアクセスバス22、CPU(Central Processing Unit)23、メモリ制御部24及びNAND型のフラッシュメモリ25を有する。   The storage device 2 includes a host interface (hereinafter referred to as host IF) unit 21, a memory access bus 22, a CPU (Central Processing Unit) 23, a memory control unit 24, and a NAND flash memory 25.

ホストIF部21は、ホスト情報処理装置1から供給された書込命令、読出命令、アドレス及び書込用データを受け、これらをメモリアクセスバス22を介してCPU23に供給する。また、ホストIF部21は、メモリ制御部24から送出された読出データRDD(後述する)をメモリアクセスバス22を介して受け、これをホスト情報処理装置1に供給する。CPU23は、メモリアクセスバス22を介して供給された書込命令、アドレス及び書込用データに応じて、このアドレスに書込用データを書き込ませるべきメモリ書込制御信号を生成し、これをメモリアクセスバス22を介してメモリ制御部24に供給する。また、CPU23は、メモリアクセスバス22を介して供給された読出命令及びアドレスに応じて、そのアドレスからデータの読み出しを行わせるべきメモリ読出制御信号を生成し、これをメモリアクセスバス22を介してメモリ制御部24に供給する。   The host IF unit 21 receives a write command, a read command, an address, and write data supplied from the host information processing apparatus 1 and supplies them to the CPU 23 via the memory access bus 22. In addition, the host IF unit 21 receives read data RDD (described later) sent from the memory control unit 24 via the memory access bus 22 and supplies it to the host information processing apparatus 1. The CPU 23 generates a memory write control signal for writing the write data at this address in accordance with the write command, address and write data supplied via the memory access bus 22, The data is supplied to the memory control unit 24 via the access bus 22. Further, the CPU 23 generates a memory read control signal for reading data from the address in accordance with the read command and the address supplied via the memory access bus 22, and generates the memory read control signal via the memory access bus 22. This is supplied to the memory control unit 24.

メモリ制御部24は、誤り訂正符号化部240、誤り検出訂正部241、0誤りカウンタ242、1誤りカウンタ243、レジスタ244及び判定部245の如きモジュールを含む。   The memory control unit 24 includes modules such as an error correction coding unit 240, an error detection correction unit 241, a 0 error counter 242, a 1 error counter 243, a register 244, and a determination unit 245.

誤り訂正符号化部240は、上記したメモリ書込制御信号に応じて、このメモリ書込制御信号にて示される書込用データに対して、例えばBCH符号の如き誤り訂正符号を付加して誤り訂正符号化した書込データWDを生成し、これをレジスタ244に記憶する。   In response to the memory write control signal described above, the error correction coding unit 240 adds an error correction code such as a BCH code to the write data indicated by the memory write control signal to generate an error. Write-encoded write data WD is generated and stored in register 244.

誤り検出訂正部241は、フラッシュメモリ25から読み出された読出データRDに対して誤り検出処理を施す。ここで、読出データRDのビット系列中に誤りビットが検出された場合には、誤り検出訂正部241は、その誤りビットの論理レベルを検出する。   The error detection / correction unit 241 performs error detection processing on the read data RD read from the flash memory 25. Here, when an error bit is detected in the bit sequence of the read data RD, the error detection / correction unit 241 detects the logic level of the error bit.

この際、誤り検出訂正部241は、読出データRDのビット系列中から論理レベル0の誤りビット、つまり、本来、論理レベル1であるべきところ、論理レベル0の誤った状態となっているビット、いわゆる「0誤り」が生じたビットを検出する度に0誤り検出パルスを発生しこれを0誤りカウンタ242に供給する。また、誤り検出訂正部241は、読出データRDのビット系列中から論理レベル1の誤りビット、つまり、本来、論理レベル0であるべきところ、論理レベル1の誤った状態となっているビット、いわゆる「1誤り」が生じたビットを検出する度に1誤り検出パルスを発生しこれを1誤りカウンタ243に供給する。そして、誤り検出訂正部241は、読出データRDに誤りが存在するもののその誤りを訂正することが可能である場合には、かかる読出データRDに対して誤り訂正処理を施し、誤り訂正されたデータを図2に示すように読出データRDDとしてレジスタ244に記憶する。尚、フラッシュメモリ25から読み出された読出データRDに誤りが無かった場合には、誤り検出訂正部241は、この読出データRDを読出データRDDとしてレジスタ244に記憶する。すなわち、読出データRDの内で有効なデータだけが読出データRDDとしてレジスタ244に記憶されるのである。   At this time, the error detection / correction unit 241 selects a logical level 0 error bit from the bit sequence of the read data RD, that is, a bit that is originally in a logical level 1 but is in an erroneous state at a logical level 0, Each time a bit in which a so-called “0 error” occurs is detected, a 0 error detection pulse is generated and supplied to the 0 error counter 242. Further, the error detection / correction unit 241 has a logic level 1 error bit from the bit sequence of the read data RD, that is, a bit that is supposed to be at the logic level 0 but is in an erroneous state at the logic level 1, so-called. Each time a bit in which “1 error” occurs is detected, a 1 error detection pulse is generated and supplied to the 1 error counter 243. Then, when there is an error in the read data RD but the error can be corrected, the error detection / correction unit 241 performs error correction processing on the read data RD, and the error-corrected data Is stored in the register 244 as read data RDD as shown in FIG. If there is no error in the read data RD read from the flash memory 25, the error detection / correction unit 241 stores the read data RD in the register 244 as the read data RDD. That is, only valid data among the read data RD is stored in the register 244 as the read data RDD.

0誤りカウンタ242は、上記した0誤り検出パルスが供給された数をカウントし、そのカウント値を、0誤り発生数EG0としてレジスタ244に記憶する。すなわち、0誤りカウンタ242は、読出データRDのビット系列中において「0誤り」が生じたビットの数をカウントし、その「0誤り」の数を示す0誤り発生数EG0をレジスタ244に記憶するのである。   The zero error counter 242 counts the number of the zero error detection pulses supplied and stores the count value in the register 244 as the zero error occurrence number EG0. That is, 0 error counter 242 counts the number of bits in which “0 error” has occurred in the bit sequence of read data RD, and stores 0 error occurrence number EG 0 indicating the number of “0 error” in register 244. It is.

1誤りカウンタ243は、上記した1誤り検出パルスが供給された数をカウントし、そのカウント値を、1誤り発生数EG1としてレジスタ244に記憶する。すなわち、1誤りカウンタ243は、読出データRDのビット系列中において「1誤り」が生じたビットの数をカウントし、その「1誤り」の数を示す1誤り発生数EG1をレジスタ244に記憶するのである。   The 1 error counter 243 counts the number of the above-described 1 error detection pulses supplied, and stores the count value in the register 244 as the 1 error occurrence number EG1. That is, the 1 error counter 243 counts the number of bits in which “1 error” has occurred in the bit sequence of the read data RD, and stores the 1 error occurrence number EG 1 indicating the number of “1 error” in the register 244. It is.

メモリ制御部24は、これらモジュールの動作を反映させて、メモリ書込制御信号又はメモリ読出制御信号に応じたフラッシュメモリ25へのアクセス(データ書込、読出、消去)を、例えば4キロバイト又は8キロバイト分のメモリセルからなるページ単位、又は64ページ分からなるブロック単位で行う。すなわち、メモリ制御部24は、メモリ書込制御信号に応じて、先ず、書込対象となるページを含むブロック内の全てのメモリセルの状態を論理レベル1の状態に設定するという、データ消去を行う。次に、メモリ制御部24は、レジスタ244に記憶されている書込データWDと共にこのメモリ書込制御信号にて指定されたアドレス、及びデータ書込を促す書込指令信号をフラッシュメモリ25に供給する。これにより、フラッシュメモリ25は、書込データWDが論理レベル0を示す場合には、アドレスによって指定されたページ内のメモリセルを論理レベル1の状態(データの消去状態)から論理レベル0の状態に遷移させるべき書込駆動(例えば電荷注入又は電荷放出)を実施する。一方、書込データWDが論理レベル1、つまりデータ消去状態と同一論理レベルを示す場合には、メモリセルに対するアクセスは行わない。かかる動作により、フラッシュメモリ25は、指定されたアドレスに上記書込データWDを書き込む。更に、メモリ制御部24は、書込データWDが書き込まれたページと、その書込日時又は
全ページ内での書込順序を示す情報とを対応付けて示す書込順序管理情報TMを生成し、これを図2に示すようにレジスタ244に記憶する。
The memory control unit 24 reflects the operation of these modules, and accesses (data write, read, erase) to the flash memory 25 according to the memory write control signal or the memory read control signal, for example, 4 kilobytes or 8 This is done in units of pages consisting of memory cells for kilobytes or in units of blocks consisting of 64 pages. That is, in response to the memory write control signal, the memory control unit 24 first performs data erasure in which the state of all the memory cells in the block including the page to be written is set to the logic level 1 state. Do. Next, the memory control unit 24 supplies the flash memory 25 with the write data WD stored in the register 244 and the address specified by the memory write control signal and a write command signal for urging data writing. To do. Thereby, when the write data WD indicates the logical level 0, the flash memory 25 changes the memory cell in the page designated by the address from the logical level 1 state (data erased state) to the logical level 0 state. Write driving (for example, charge injection or charge discharge) to be shifted to is performed. On the other hand, when the write data WD indicates the logic level 1, that is, the same logic level as the data erase state, the memory cell is not accessed. With this operation, the flash memory 25 writes the write data WD at a specified address. Further, the memory control unit 24 generates the write order management information TM indicating the page in which the write data WD is written and the information indicating the write date and time or the write order in all pages. This is stored in the register 244 as shown in FIG.

また、メモリ制御部24は、メモリアクセスバス22を介してメモリ読出制御信号が供給された場合には、このメモリ読出制御信号にて指定されたアドレスをフラッシュメモリ25に供給しつつ、データ読出を促す読出指令信号をフラッシュメモリ25に供給する。これにより、フラッシュメモリ25は、指定されたアドレスに記憶されている書込データWDを読みだし、これを上記した読出データRDとしてメモリ制御部24に供給する。尚、書込データWD及び読出データRD各々のビット長は、誤り訂正符号としての単位ブロック長、或いは、NAND型フラッシュメモリとしての1ページ分のビット長等である。   Further, when a memory read control signal is supplied via the memory access bus 22, the memory control unit 24 reads the data while supplying the address specified by the memory read control signal to the flash memory 25. A read command signal for prompting is supplied to the flash memory 25. As a result, the flash memory 25 reads the write data WD stored at the designated address and supplies it to the memory control unit 24 as the read data RD. The bit length of each of the write data WD and the read data RD is a unit block length as an error correction code, a bit length for one page as a NAND flash memory, or the like.

その後、1つの読出データRDに対する、誤り検出訂正部241での誤り検出及び訂正処理、及び上記した0誤りカウンタ242及び1誤りカウンタ243でのカウント動作が終了すると、判定部245は、レジスタ244に記憶されている1誤り発生数EG1が0誤り発生数EG0よりも大であるか否かの判定を行う。この際、1誤り発生数EG1が0誤り発生数EG0よりも大であると判定された場合に、判定部245は、この読出データRDが、書込時の電源遮断によって破壊された無効データであると判断する。   Thereafter, when the error detection and correction processing in the error detection and correction unit 241 and the count operation in the 0 error counter 242 and the 1 error counter 243 are completed for one read data RD, the determination unit 245 stores the data in the register 244. It is determined whether or not the stored 1 error occurrence number EG1 is larger than the 0 error occurrence number EG0. At this time, if it is determined that the number of occurrences of 1 error EG1 is greater than the number of occurrences of 0 errors EG0, the determination unit 245 determines that the read data RD is invalid data that has been destroyed by power-off during writing. Judge that there is.

上記した動作の終了後、メモリ制御部24は、レジスタ244に記憶されている有効データとしての読出データRDDを、メモリアクセスバス22を介してホストIF部21に送出する。これにより、フラッシュメモリ25から読み出された読出データがホスト情報処理装置1に送出される。一方、無効データであると判断した読出データRDに対しては、メモリ制御部24は、ホスト情報処理装置1への送信は行わない。尚、メモリ制御部24は、この無効データであると判断した読出データRDが格納されていたページ又はブロックに対して、後述するが如きリフレッシュ処理を実施する。   After the above operation is completed, the memory control unit 24 sends the read data RDD as valid data stored in the register 244 to the host IF unit 21 via the memory access bus 22. As a result, the read data read from the flash memory 25 is sent to the host information processing apparatus 1. On the other hand, the memory control unit 24 does not transmit the read data RD determined to be invalid data to the host information processing apparatus 1. Note that the memory control unit 24 performs a refresh process as described later on the page or block in which the read data RD determined to be invalid data is stored.

このように、メモリ制御24は、フラッシュメモリ25に対してデータ書込を行うにあたり、書込データWDが論理レベル0である場合には、フラッシュメモリ25内のメモリセルを論理レベル1の状態(データ消去状態)から論理レベル0の状態に遷移させるべき書込駆動(例えば電荷注入又は電荷放出)を実施する。ところが、上記した書込駆動中に電源遮断が生じると、メモリセルの状態が論理レベル1の状態(データ消去状態)から論理レベル0の状態に遷移する前に、メモリセルへの電荷注入又は電荷放出動作が中断してしまう。よって、このメモリセルは、本来、論理レベル0の状態に書き込みが為されるべきところを、論理レベル0の状態にまで完全に書き込みきれない。この際、かかるメモリセルからデータを読み出すと、正しく論理レベル0が読み出される場合と、誤って論理レベル1が読み出される場合とが混在する不安定な状態となる。従って、このメモリセルから読み出されたデータに誤りが生じている場合には、本来、論理レベル0であるべきところ、論理レベル1の誤った状態で読み出されてしまうという、いわゆる「1誤り」が生じる可能性が高くなる。   As described above, when writing data to the flash memory 25, the memory control 24 sets the memory cells in the flash memory 25 to the logic level 1 state (when the write data WD is at the logic level 0). A write drive (for example, charge injection or charge discharge) to be changed from a data erasure state to a logic level 0 state is performed. However, if the power supply is interrupted during the above-described write drive, charge injection or charge into the memory cell before the state of the memory cell transitions from the logic level 1 state (data erase state) to the logic level 0 state. The discharge operation is interrupted. Therefore, the memory cell cannot be completely written to the logic level 0 state where the writing should be performed in the logic level 0 state. At this time, when data is read from the memory cell, an unstable state in which the logic level 0 is correctly read and the logic level 1 is erroneously read is mixed. Therefore, when there is an error in the data read from the memory cell, the so-called “1 error” is to be read in an erroneous state of logic level 1 where it should originally be logic level 0. "Is likely to occur.

従って、データ書込中に電源遮断が生じた状況で書き込まれたデータを読み出して、誤り検出を行うと、検出された全ての誤りビットの内で「1誤り」となっているビットの数が、「0誤り」となっているビットの数よりも多くなる。   Therefore, when data written in a situation where the power is cut off during data writing is read and error detection is performed, the number of bits that are “1 error” among all detected error bits is , More than the number of bits that are “0 error”.

そこで、メモリ制御部24の判定部245では、1誤り発生数EG1の方が0誤り発生数EG0よりも大なる場合には、この読出データRDを、書込時の電源遮断によって破壊された無効データであると判断するのである。   Therefore, in the determination unit 245 of the memory control unit 24, when the 1 error occurrence number EG1 is larger than the 0 error occurrence number EG0, the read data RD is invalidated by being destroyed by the power interruption at the time of writing. It is judged as data.

尚、データ書込中に電源遮断が生じた状況で書き込まれたデータを読み出すと、実際には、読出データRDのビット系列中に生じる全ての誤りビットの中で、「1誤り」の割合が「0誤り」の割合に比して大幅(例えば9:1)に多くなる。そこで、判定部245は、0誤り発生数EG0に電源遮断判定用シフト値SVを加算した値(EG0+SV)よりも1誤り発生数EG1の方が大なる場合に、この読出データRDを、書込時の電源遮断によって破壊された無効データであると判断するようにしても良い。また、判定部245は、読出データRDのビット系列中に生じる全誤りビットの内で、「1誤り」のビット数の割合が電源遮断判定閾値(例えば90%)より大となる場合に、この読出データRDを、書込時の電源遮断によって破壊された無効データであると判断するようにしても良い。要するに、データ書込中に電源遮断が生じた状況で書き込まれたデータを読み出すと、実際には読出データRDのビット系列中に生じる全ての誤りビットの中で、「1誤り」の割合が「0誤り」の割合に比して大幅に多くなることに鑑みて、判定部245にて上記の如き判定を行うようにするのである。   Note that when data written in a situation where the power is cut off during data writing is read, the ratio of “1 error” is actually included in all error bits generated in the bit sequence of the read data RD. This is significantly larger (for example, 9: 1) than the ratio of “0 error”. Therefore, the determination unit 245 writes the read data RD when the 1 error occurrence number EG1 is larger than the value (EG0 + SV) obtained by adding the power interruption determination shift value SV to the 0 error occurrence number EG0. It may be determined that the data is invalid data that has been destroyed due to power interruption. In addition, the determination unit 245 determines that the ratio of the number of bits of “1 error” among all error bits generated in the bit sequence of the read data RD is greater than the power cutoff determination threshold (for example, 90%). The read data RD may be determined to be invalid data that has been destroyed by power-off at the time of writing. In short, when data written in a situation where the power is cut off during data writing is read, the ratio of “1 error” among all error bits actually generated in the bit sequence of read data RD is “ In view of the fact that the number of errors is significantly larger than the ratio of “0 error”, the determination unit 245 performs the determination as described above.

よって、メモリ制御部24によれば、1回分の読み出しにより、その読出データが書込処理中の電源遮断によって破壊されたデータであるか否かを検出することができ、このデータを無効データとして管理することが可能となる。これにより、書込処理中の電源遮断に起因して、1アドレスから不正なデータが読み出される場合と、正常又は訂正可能なデータが読み出される場合とが混在してしまう不安定な状態が回避される。   Therefore, according to the memory control unit 24, it is possible to detect whether or not the read data is the data destroyed by the power interruption during the writing process by one reading, and this data is set as invalid data. It becomes possible to manage. This avoids an unstable state in which incorrect data is read from one address and normal or correctable data is read due to power interruption during the writing process. The

従って、本発明によれば、書込処理中の電源遮断により、破壊されたデータがメモリに書き込まれてしまっても、読出データの信頼性低下を抑えることが可能となり、システム全体の安定化が図られるようになる。   Therefore, according to the present invention, it is possible to suppress a decrease in reliability of read data even if corrupted data is written in the memory due to power interruption during the writing process, and the stability of the entire system can be suppressed. Become figured.

ここで、記憶装置2では、その記憶媒体としてNAND型のフラッシュメモリ25を用いていることから、リードディスターブ、リテンション、或いは書込中の電源遮断等に起因するデータ破壊が生じる。そこで、メモリ制御部24は、定期的又は読出動作時に、データの再書込、いわゆるリフレッシュ処理を行う。   Here, since the storage device 2 uses the NAND flash memory 25 as the storage medium, data destruction occurs due to read disturb, retention, power interruption during writing, or the like. Therefore, the memory control unit 24 performs rewriting of data, that is, a so-called refresh process periodically or during a read operation.

図3は、フラッシュメモリ25からの読出データRDの読み出し動作に応じて、メモリ制御部24が実行するリフレッシュ制御ルーチンを示すフローチャートである。尚、かかるリフレッシュ制御ルーチンは、フラッシュメモリ25から読み出された読出データRDに対する、誤り検出訂正部241での誤り検出及び訂正処理、及び0誤りカウンタ242及び1誤りカウンタ243でのカウント動作が終了した後にメモリ制御部24によって実施されるものである。   FIG. 3 is a flowchart showing a refresh control routine executed by the memory control unit 24 in accordance with the read operation of the read data RD from the flash memory 25. In this refresh control routine, the error detection and correction processing by the error detection and correction unit 241 and the count operation by the 0 error counter 242 and the 1 error counter 243 are completed for the read data RD read from the flash memory 25. After that, it is implemented by the memory control unit 24.

図3において、先ず、メモリ制御部24は、レジスタ244に記憶されている0誤り発生数EG0と1誤り発生数EG1とを加算して誤り総数EAを求め(ステップS1)、かかる誤り総数EAがリフレッシュ実行閾値EXよりも大であるか否かを判定する(ステップS2)。このステップS2において、誤り総数EAがリフレッシュ実行閾値EX以下であると判定された場合、メモリ制御部24は、このリフレッシュ制御ルーチンを抜ける。すなわち、この際、リフレッシュ処理は実施されない。   In FIG. 3, first, the memory control unit 24 adds the 0 error occurrence number EG0 and the 1 error occurrence number EG1 stored in the register 244 to obtain an error total number EA (step S1). It is determined whether or not the value is larger than the refresh execution threshold value EX (step S2). If it is determined in step S2 that the total error number EA is less than or equal to the refresh execution threshold value EX, the memory control unit 24 exits this refresh control routine. That is, at this time, the refresh process is not performed.

かかるステップS2において誤り総数EAがリフレッシュ実行閾値EXより大であると判定された場合、メモリ制御部24は、上記した0誤り発生数EG0に電源遮断判定用シフト値SVを加算した値(EG0+SV)よりも、1誤り発生数EG1の方が大であるか否かを判定する(ステップS3)。   If it is determined in step S2 that the total error number EA is larger than the refresh execution threshold value EX, the memory control unit 24 adds the power-off determination shift value SV to the above-described zero error occurrence number EG0 (EG0 + SV). It is determined whether or not the error occurrence number EG1 is larger (step S3).

ステップS3において、1誤り発生数EG1が上記した(EG0+SV)以下であると判定された場合、メモリ制御部24は、データ読出時に周辺のメモリセルの値を変化させてしまうリードディスターブが生じたと判断して、第1ブロックリフレッシュ処理を実行する(ステップS4)。   If it is determined in step S3 that the number of occurrences of one error EG1 is equal to or less than the above (EG0 + SV), the memory control unit 24 determines that a read disturb has occurred that changes the value of the peripheral memory cell during data reading. Then, the first block refresh process is executed (step S4).

第1ブロックリフレッシュ処理では、メモリ制御部24は、図4(a)に示すように、フラッシュメモリ25から読み出された読出データRDが書き込まれているページEPGが属するブロックBL1内の全てのデータを順次読み出しつつ、誤り検出訂正部241をもって誤り訂正処理を施す。そして、メモリ制御部24は、図4(a)に示すように、その訂正後の全データを他のブロックBL2にコピーする。この際、メモリ制御部24は、ブロックBL1を無効ブロック、ブロックBL2を有効ブロックとして管理すべく、レジスタ244に記憶されている管理情報データKDを更新する。   In the first block refresh process, the memory control unit 24, as shown in FIG. 4A, all data in the block BL1 to which the page EPG in which the read data RD read from the flash memory 25 is written belongs. The error detection and correction unit 241 performs error correction processing while sequentially reading out. Then, as shown in FIG. 4A, the memory control unit 24 copies all the corrected data to another block BL2. At this time, the memory control unit 24 updates the management information data KD stored in the register 244 so as to manage the block BL1 as an invalid block and the block BL2 as a valid block.

また、ステップS3において、1誤り発生数EG1が上記した(EG0+SV)より大であると判定された場合、メモリ制御部24は、レジスタ244に記憶されている書込順序管理情報TMに基づき、この読出データRDが格納されているページへの書込の順序が、フラッシュメモリ25の全ページ中で最も新しいか否かを判定する(ステップS5)。かかるステップS5において、最新の書込ではないと判定された場合、メモリ制御部24は、経時変化によってデータが消失するリテンションが生じていると判断して、第2ブロックリフレッシュ処理を実行する(ステップS6)。   If it is determined in step S3 that the number of occurrences of one error EG1 is larger than (EG0 + SV) described above, the memory control unit 24 uses the write order management information TM stored in the register 244 to It is determined whether or not the order of writing to the page in which the read data RD is stored is the newest among all the pages in the flash memory 25 (step S5). If it is determined in step S5 that the writing is not the latest writing, the memory control unit 24 determines that a retention that causes data loss due to a change with time has occurred, and executes the second block refresh process (step S5). S6).

第2ブロックリフレッシュ処理では、メモリ制御部24は、図4(b)に示すように、フラッシュメモリ25から読み出された読出データRDが書き込まれているページEPGが属するブロックBL1内の全てのデータに対して、誤り検出訂正部241をもって誤り訂正処理を施し、その訂正後の全データをブロックBL1内に上書きする。よって、この際、メモリ制御部24は、ブロックBL1を有効ブロックとして引き続き管理することになるので、管理情報データKDの更新は実施しない。   In the second block refresh process, the memory control unit 24, as shown in FIG. 4B, all data in the block BL1 to which the page EPG in which the read data RD read from the flash memory 25 is written belongs. Then, error correction processing is performed by the error detection / correction unit 241 and all the corrected data is overwritten in the block BL1. Therefore, at this time, since the memory control unit 24 continues to manage the block BL1 as a valid block, the management information data KD is not updated.

また、ステップS5において、読出データRDが格納されているページへの書込順序が最新であると判定されると、メモリ制御部24は、この読出データRDがデータ書込動作中の電源遮断に起因して破壊されてしまった無効データであると判断して、ページリフレッシュ処理を実行する(ステップS7)。   If it is determined in step S5 that the order of writing to the page storing the read data RD is the latest, the memory control unit 24 shuts off the power supply during the data write operation. It is determined that the invalid data has been destroyed due to this, and page refresh processing is executed (step S7).

ページリフレッシュ処理では、メモリ制御部24は、図4(c)に示すように、フラッシュメモリ25から読み出された読出データRDが書き込まれているページEPG1だけからデータを読み出し、誤り検出訂正部241をもって誤り訂正を施す。そして、メモリ制御部24は、図4(c)に示すように、この訂正後のデータを、ページEPG1が属するブロックBL1内の他のページEPG2にコピーする。尚、かかるページリフレッシュ処理において、メモリ制御部24は、読出データRDが書き込まれているページEPG1だけからデータを読み出して誤り訂正を施したものを、図4(d)に示すように、ページEPG1が属するブロックBL1とは異なるブロックBL1内のページEPG2にコピーするようにしても良い。そして、メモリ制御部24は、ページEPG1を無効ページ、ページEPG2を有効ページとして管理すべく、レジスタ244に記憶されている管理情報データKDを更新する。   In the page refresh process, as shown in FIG. 4C, the memory control unit 24 reads data only from the page EPG1 in which the read data RD read from the flash memory 25 is written, and the error detection and correction unit 241. To correct the error. Then, as shown in FIG. 4C, the memory control unit 24 copies the corrected data to the other page EPG2 in the block BL1 to which the page EPG1 belongs. In this page refresh process, the memory control unit 24 reads the data from only the page EPG1 in which the read data RD is written and performs error correction, as shown in FIG. You may make it copy to page EPG2 in block BL1 different from block BL1 to which. Then, the memory control unit 24 updates the management information data KD stored in the register 244 to manage the page EPG1 as an invalid page and the page EPG2 as a valid page.

上記したステップS4、S6又はS7の終了後、メモリ制御部24は、図3に示すリフレッシュ制御ルーチンを終了する。   After step S4, S6 or S7 described above, the memory control unit 24 ends the refresh control routine shown in FIG.

すなわち、書込動作中に電源遮断が生じた場合には、書込駆動(例えばメモリセルへの電荷注入)が不十分になることから、論理レベル0の状態(例えば、所望量の電荷が蓄積された状態)に書き込み切れなかったメモリセルにおいて「1誤り」が生じる可能性が高くなる。また、リテンションによって論理レベル0の状態を維持しきれなくなったメモリセルにおいても同様に「1誤り」が生じる可能性が高くなる。そこで、読出データRD中に誤りが存在する場合には、メモリ制御部24は、全体の誤り発生数に対する「1誤り」の割合が「0誤り」の割合よりも大となると判定(S3)した場合に、書込動作中の電源遮断又はリテンションが生じたと判断する。ここで、リテンションは、書き込みが終了してからの経過期間が短いほど発生の可能性が低い。そこで、メモリ制御部24は、全体の誤り発生数に対する「1誤り」の割合が「0誤り」の割合よりも大であると判定(S3)し、且つその判定対象となった読出データRDが格納されているページへの書込みが全ページ中で最も新しいと判定(S5)した場合に、「1誤り」の原因が書込時の電源遮断にあると判断し、それ以外の場合にはリテンションであると判断するようにしている。   That is, when power is cut off during a write operation, write drive (for example, charge injection into a memory cell) becomes insufficient, so a logic level 0 state (for example, a desired amount of charge is accumulated) There is a high possibility that “1 error” will occur in a memory cell that has not been completely written to. Similarly, the possibility of “1 error” also increases in a memory cell in which the logic level 0 state cannot be maintained due to retention. Therefore, when there is an error in the read data RD, the memory control unit 24 determines that the ratio of “1 error” to the total number of error occurrences is larger than the ratio of “0 error” (S3). In this case, it is determined that the power interruption or retention during the writing operation has occurred. Here, retention is less likely to occur as the elapsed period from the end of writing is shorter. Therefore, the memory control unit 24 determines that the ratio of “1 error” to the total number of error occurrences is larger than the ratio of “0 error” (S3), and the read data RD that is the determination target is When it is determined that writing to the stored page is the newest among all the pages (S5), it is determined that the cause of “1 error” is the power shutdown at the time of writing. Judging that it is.

この際、リテンションでは、「1誤り」が検出されたページのみならず、そのページを含むブロック全体に同様な「1誤り」が生じる。   At this time, in the retention, the same “1 error” occurs not only in the page where “1 error” is detected, but also in the entire block including the page.

そこで、「1誤り」の原因がリテンションであると判断した場合には、メモリ制御部24は、図4(b)に示す如く、「1誤り」が検出されたページを含むブロック全体に対してリフレッシュ処理を施す。   Therefore, if it is determined that the cause of “1 error” is retention, the memory control unit 24 applies the entire block including the page where “1 error” is detected, as shown in FIG. Perform a refresh process.

一方、書込動作中に電源遮断が生じた場合には、その書き込み途中のページにだけ「1誤り」が生じ、ブロック全体にその影響が及ぶ可能性は低い。   On the other hand, when the power is cut off during the writing operation, “1 error” occurs only in the page in the middle of writing, and it is unlikely that the entire block is affected.

そこで、「1誤り」の原因が書込動作中の電源遮断であると判断した場合には、メモリ制御部24は、図4(c)又は図4(d)に示す如く、「1誤り」が検出されたデータが格納されているページに対してだけリフレッシュ処理を施すようにしたのである。   Therefore, when it is determined that the cause of “1 error” is the power interruption during the writing operation, the memory control unit 24 determines “1 error” as shown in FIG. 4C or FIG. In other words, the refresh process is performed only on the page storing the data in which the data is detected.

よって、上記したリフレッシュ処理によれば、書込動作中の電源遮断に起因して破壊されたデータが書き込まれた場合には、そのデータが格納されているページに対してだけ、データを再書込させるリフレッシュ処理を実施すれば良いので、ブロック全体に対してリフレッシュ処理を施す場合に比して処理時間及び消費電力の低減が図られる。   Therefore, according to the refresh process described above, when data that has been destroyed due to power-off during a write operation is written, the data is rewritten only for the page where the data is stored. Therefore, the processing time and power consumption can be reduced as compared with the case where the refresh process is performed on the entire block.

尚、図3に示されるステップS4においてリードディスターブの発生時に為される第1ブロックリフレッシュ処理では、図4(a)に示す如くページEPGを含むブロックBL1内の全てのデータを訂正後、他のブロックBL2にコピーするようにしているが、図4(b)のようにページEPGを含むブロックBL1に上書きするようにしても良い。   In the first block refresh process performed when read disturb occurs in step S4 shown in FIG. 3, all data in the block BL1 including the page EPG is corrected as shown in FIG. Although copying is performed to the block BL2, the block BL1 including the page EPG may be overwritten as shown in FIG. 4B.

また、図3に示されるステップS6においてリテンションの発生時に為される第2ブロックリフレッシュ処理では、図4(b)に示す如くページEPGを含むブロックBL1内の全てのデータを訂正後、このブロックBL1に上書きするようにしているが、図4(a)のように他のブロックBL2にコピーするようにしても良い。   Further, in the second block refresh process performed at the time of occurrence of retention in step S6 shown in FIG. 3, after correcting all data in the block BL1 including the page EPG as shown in FIG. 4B, this block BL1 However, it may be copied to another block BL2 as shown in FIG.

また、図3に示すステップS7でのページリフレッシュ処理では、図4(c)又は図4(d)に示ように、リフレッシュ対象となるページEPG1に記憶されているデータに誤り訂正を施したものを他のページEPG2にコピーするようにしているが、図5に示すように、訂正後のデータをページEPG1自体に上書きするようにしても良い。このように、ページリフレッシュ処理として、同一ページへの上書きを行うようにすれば、図4(c)又は図4(d)の如き他のページへのコピーを実施する際に必要となるデータ消去処理が不要となる。よって、処理時間の削減と共に、データ消去に伴うフラッシュメモリ25の寿命低下を抑制させることが可能となる。   Further, in the page refresh process in step S7 shown in FIG. 3, as shown in FIG. 4C or FIG. 4D, the data stored in the page EPG1 to be refreshed is subjected to error correction. Is copied to another page EPG2, but as shown in FIG. 5, the corrected data may be overwritten on the page EPG1 itself. As described above, if the same page is overwritten as the page refresh process, the data erasure required when copying to another page as shown in FIG. 4C or FIG. 4D is performed. No processing is required. Therefore, it is possible to reduce the processing time and suppress the decrease in the lifetime of the flash memory 25 due to the data erasure.

図6は、本発明に係る他の半導体メモリ制御装置を含む情報処理システムを示すブロック図である。尚、かかる情報処理システムは、図1に示す情報処理システムと同様に、ホスト情報処理装置1及び記憶装置2からなる。   FIG. 6 is a block diagram showing an information processing system including another semiconductor memory control device according to the present invention. Such an information processing system includes a host information processing apparatus 1 and a storage device 2 in the same manner as the information processing system shown in FIG.

ホスト情報処理装置1は、記憶装置2に記憶されているデータ、又は外部供給されたデータに基づいて各種情報処理を行いつつ、データを書き込ませるべき書込命令、書込先のアドレス及び書込用データ、或いは、データの読み出しを促す読出命令及び読出元のアドレスを記憶装置2に供給する。   The host information processing apparatus 1 performs various information processing based on data stored in the storage device 2 or externally supplied data, and writes a write command to which data is to be written, a write destination address, and a write The storage device 2 is supplied with read data or a read command for urging the data to be read and a read source address.

記憶装置2は、ホストIF部21、メモリアクセスバス22、CPU23、メモリ制御部34及びNAND型のフラッシュメモリ25を有する。   The storage device 2 includes a host IF unit 21, a memory access bus 22, a CPU 23, a memory control unit 34, and a NAND flash memory 25.

ホストIF部21は、ホスト情報処理装置1から供給された書込命令、読出命令、アドレス及び書込用データを受け、これらをメモリアクセスバス22を介してCPU23に供給する。また、ホストIF部21は、メモリ制御部34から送出された読出データRDDをメモリアクセスバス22を介して受け、これをホスト情報処理装置1に供給する。CPU23は、メモリアクセスバス22を介して供給された書込命令、アドレス及び書込用データに応じて、このアドレスに書込用データを書き込ませるべきメモリ書込制御信号を生成し、これをメモリアクセスバス22を介してメモリ制御部34に供給する。また、CPU23は、メモリアクセスバス22を介して供給された読出命令及びアドレスに応じて、そのアドレスからデータの読み出しを行わせるべきメモリ読出制御信号を生成し、これをメモリアクセスバス22を介してメモリ制御部34に供給する。   The host IF unit 21 receives a write command, a read command, an address, and write data supplied from the host information processing apparatus 1 and supplies them to the CPU 23 via the memory access bus 22. The host IF unit 21 receives the read data RDD sent from the memory control unit 34 via the memory access bus 22 and supplies it to the host information processing apparatus 1. The CPU 23 generates a memory write control signal for writing the write data at this address in accordance with the write command, address and write data supplied via the memory access bus 22, The data is supplied to the memory control unit 34 via the access bus 22. Further, the CPU 23 generates a memory read control signal for reading data from the address in accordance with the read command and the address supplied via the memory access bus 22, and generates the memory read control signal via the memory access bus 22. This is supplied to the memory control unit 34.

メモリ制御部34は、誤り訂正符号化部240、レジスタ244、誤り検出訂正部341、誤りカウンタ342及び読出回数カウンタ343の如きモジュールを含む。   The memory control unit 34 includes modules such as an error correction coding unit 240, a register 244, an error detection and correction unit 341, an error counter 342, and a reading number counter 343.

誤り訂正符号化部240は、上記したメモリ書込制御信号に応じて、このメモリ書込制御信号にて示される書込用データに対して、例えばBCH符号の如き誤り訂正符号を付加して誤り訂正符号化した書込データWDを生成し、これをレジスタ244に記憶する。   In response to the memory write control signal described above, the error correction coding unit 240 adds an error correction code such as a BCH code to the write data indicated by the memory write control signal to generate an error. Write-encoded write data WD is generated and stored in register 244.

誤り検出訂正部341は、フラッシュメモリ25から読み出された読出データRDに対して誤り検出処理を施し、誤りが存在する場合には、読出データRDのビット系列中に誤りビットを検出する度に誤り検出パルスを発生しこれを誤りカウンタ342に供給する。また、誤り検出訂正部341は、読出データRD中に誤りが存在する場合には、その誤りを訂正することが可能であるか否かを判定し、誤りを訂正することが可能である場合には、かかる読出データRDに対して誤り訂正処理を施し、訂正されたデータを図2に示すように読出データRDDとしてレジスタ244に記憶する。尚、フラッシュメモリ25から読み出された読出データRDに誤りが無かった場合には、誤り検出訂正部341は、この読出データRDを読出データRDDとしてレジスタ244に記憶する。すなわち、読出データRDの内で有効なデータだけが読出データRDDとしてレジスタ244に記憶されるのである。   The error detection / correction unit 341 performs an error detection process on the read data RD read from the flash memory 25. When an error exists, the error detection / correction unit 341 detects an error bit in the bit sequence of the read data RD. An error detection pulse is generated and supplied to the error counter 342. Further, when there is an error in the read data RD, the error detection / correction unit 341 determines whether or not the error can be corrected, and when the error can be corrected. Performs error correction processing on the read data RD, and stores the corrected data in the register 244 as read data RDD as shown in FIG. When there is no error in the read data RD read from the flash memory 25, the error detection / correction unit 341 stores the read data RD in the register 244 as the read data RDD. That is, only valid data among the read data RD is stored in the register 244 as the read data RDD.

誤りカウンタ342は、上記した誤り検出パルスが供給された数をカウントし、そのカウント値を、誤り総数EAとしてレジスタ244に記憶する。   The error counter 342 counts the number of supplied error detection pulses, and stores the count value in the register 244 as the total error number EA.

読出回数カウンタ343は、読出判定制御ルーチン(後述する)において1つの読出データRDを繰り返し読み出す際の現時点での読出回数をカウントしその回数を示す読出回数RNを出力する。   The number-of-reads counter 343 counts the number of times of reading at the time when one read data RD is repeatedly read in a reading determination control routine (described later), and outputs a number of times of reading RN indicating the number of times.

メモリ制御部34は、これらモジュールの動作を反映させて、以下の如く、メモリ書込制御信号又はメモリ読出制御信号に応じたフラッシュメモリ25へのアクセスを行う。   The memory control unit 34 reflects the operation of these modules, and accesses the flash memory 25 according to the memory write control signal or the memory read control signal as follows.

すなわち、メモリ制御部34は、メモリ書込制御信号に応じて、レジスタ244に記憶されている書込データWDと共にこのメモリ書込制御信号にて指定されたアドレス、及びデータ書込を促す書込指令信号をフラッシュメモリ25に供給する。これにより、フラッシュメモリ25は、指定されたアドレスに上記書込データWDを書き込む。   That is, in response to the memory write control signal, the memory control unit 34 writes the write data WD stored in the register 244 together with the address designated by the memory write control signal and the data that prompts the data writing. A command signal is supplied to the flash memory 25. Thereby, the flash memory 25 writes the write data WD at the designated address.

また、メモリ制御部34は、メモリアクセスバス22を介してメモリ読出制御信号が供給された場合には、図7に示す如き読出判定制御ルーチンを実行する。   Further, when a memory read control signal is supplied via the memory access bus 22, the memory control unit 34 executes a read determination control routine as shown in FIG.

図7において、先ず、メモリ制御部34は、読出回数カウンタ343における読出回数RNの初期値として、「0」を読出回数カウンタ343に設定する(ステップS71)。次に、メモリ制御部34は、メモリ読出制御信号にて指定されたアドレスをフラッシュメモリ25に供給しつつ、データ読出を促す読出指令信号をフラッシュメモリ25に供給するという読出アクセスを実行する(ステップS72)。これにより、フラッシュメモリ25は、指定されたアドレスに記憶されている書込データWDを読みだし、これを上記した読出データRDとしてメモリ制御部34に供給する。尚、書込データWD及び読出データRD各々のビット長は、誤り訂正符号としての単位ブロック長、或いは、NAND型フラッシュメモリとしての1ページ分のビット長等である。この際、誤り検出訂正部341は、フラッシュメモリ25から読出データRDが読み出される度に、この読出データRDに対して誤り検出処理を施し、誤りが有る場合には、引き続き誤り訂正が可能であるか否かを判定する。ここで、誤り訂正可能である場合には、誤り検出訂正部341は、かかる読出データRDに対して誤り訂正処理を施して訂正されたデータを読出データRDDとしてレジスタ244に記憶する。一方、上記読出データRD中に誤りが無かった場合には、誤り検出訂正部341は、この読出データRDを読出データRDDとしてレジスタ244に記憶する。すなわち、フラッシュメモリ25から読み出された読出データRDの内で、誤りが無かったもの、或いは誤りが有るが訂正可能なものだけが有効データである読出データRDDとしてレジスタ244に記憶されるのである。   In FIG. 7, first, the memory control unit 34 sets “0” in the read number counter 343 as an initial value of the read number RN in the read number counter 343 (step S71). Next, the memory control unit 34 performs a read access to supply the flash memory 25 with a read command signal for urging data reading while supplying the address specified by the memory read control signal to the flash memory 25 (step S40). S72). As a result, the flash memory 25 reads the write data WD stored at the designated address and supplies it to the memory control unit 34 as the read data RD described above. The bit length of each of the write data WD and the read data RD is a unit block length as an error correction code, a bit length for one page as a NAND flash memory, or the like. At this time, each time the read data RD is read from the flash memory 25, the error detection / correction unit 341 performs error detection processing on the read data RD, and if there is an error, the error detection / correction unit 341 can continue to correct the error. It is determined whether or not. If error correction is possible, the error detection / correction unit 341 performs error correction processing on the read data RD and stores the corrected data in the register 244 as read data RDD. On the other hand, when there is no error in the read data RD, the error detection / correction unit 341 stores the read data RD in the register 244 as the read data RDD. That is, only read data RD read from the flash memory 25 that has no error or that has an error but can be corrected is stored in the register 244 as read data RDD that is valid data. .

ここで、メモリ制御部34は、誤り検出訂正部341にて誤りが有るか否かを判定し(ステップS73)、誤りが有ると判定された場合には、引き続き、その誤りを訂正することが可能であるか否かを判定する(ステップS74)。ステップS74にて、誤り訂正不可であると判定されると、メモリ制御部34は、読出データRDがデータ書込中の電源遮断によって破壊されたデータであると判断し、この読出データRDを無効データとすると共に、読出データRDの格納領域(ページ又はブロック)をリフレッシュ対象として管理すべく管理情報データKDを更新する(ステップS75)。   Here, the memory control unit 34 determines whether or not there is an error in the error detection and correction unit 341 (step S73). If it is determined that there is an error, the memory control unit 34 can continue to correct the error. It is determined whether or not it is possible (step S74). If it is determined in step S74 that error correction is impossible, the memory control unit 34 determines that the read data RD is data destroyed by power-off during data writing, and invalidates the read data RD. In addition to the data, the management information data KD is updated to manage the storage area (page or block) of the read data RD as a refresh target (step S75).

尚、かかるステップS74において誤り訂正が可能であると判定された場合、又は上記ステップS73において誤りが無いと判定された場合、メモリ制御部34は、読出回数カウンタ343における現在の読出回数RNに「1」を加算したものを新たな読出回数RNとして読出回数カウンタ343に設定する(ステップS76)。次に、メモリ制御部34は、その読出回数RNが無効判定回数IVNより大であるか否かを判定する(ステップS77)。ステップS77において、読出回数RNが無効判定回数IVN以下であると判定された場合、メモリ制御部34は、上記ステップS72に戻って前述した如き動作を繰り返し実行する。   If it is determined in step S74 that error correction is possible, or if it is determined in step S73 that there is no error, the memory control unit 34 sets the current read count RN in the read count counter 343 to “ A value obtained by adding “1” is set as a new reading number RN in the reading number counter 343 (step S76). Next, the memory control unit 34 determines whether or not the read count RN is greater than the invalidity determination count IVN (step S77). If it is determined in step S77 that the read count RN is less than or equal to the invalid determination count IVN, the memory control unit 34 returns to step S72 and repeatedly executes the above-described operation.

一方、ステップS77において、読出回数RNが無効判定回数IVNより大であると判定された場合、メモリ制御部34は、レジスタ244に記憶されている有効データとしての読出データRDDを、メモリアクセスバス22を介してホストIF部21に送出する(ステップS78)。かかるステップS78又はS75の実行後、メモリ制御部34は、この読出判定制御ルーチンを抜けて上記した動作を終了する。   On the other hand, when it is determined in step S77 that the read count RN is larger than the invalid determination count IVN, the memory control unit 34 reads the read data RDD as valid data stored in the register 244 into the memory access bus 22. To the host IF unit 21 (step S78). After execution of step S78 or S75, the memory control unit 34 exits from the read determination control routine and ends the above-described operation.

以上の如く、図7に示す読出判定制御ルーチンの実行により、メモリ制御部34は、読出指定されたデータをフラッシュメモリ25から繰り返し読み出しつつ、各読出し毎に読出データ中に誤りが有るか否かの判定(S73)、及び誤り訂正可能であるか否かの判定(S74)を行う。この際、上記した繰り返し読み出しの回数が無効判定回数IVNに到るまでの間に、訂正不可の誤りが有ると判定されたら、メモリ制御部34は、その読出データはデータ書込中の電源遮断によって不安定な状態となっている無効データであると判断する。そして、メモリ制御部34は、この読出データを無効データとして設定すると共に、かかる読出データが格納されていたページ、又はそのページが属するブロックをリフレッシュ対象として管理すべく管理情報データKDを更新する(S75)。つまり、かかる制御により、1つのアドレスから、不正なデータが読み出される場合と、正常又は訂正可能なデータが読み出される場合とが混在する不安定な書込状態にある領域(ページ又はブロック)が検出されるのである。一方、繰り返し読み出しの回数が無効判定回数IVNに到るまで、各読出データ中に誤りが無い、又は誤りが有るものの訂正可能であるとの判定が連続して為された場合、メモリ制御部34は、その読出データは有効データであると判断し、これをホスト情報処理装置1に送信する。尚、メモリ制御部34は、管理情報データKDによって無効データとして管理された読出データについては、ホスト情報処理装置1側への送信は行わない。   As described above, the execution of the read determination control routine shown in FIG. 7 causes the memory control unit 34 to repeatedly read the data designated for reading from the flash memory 25 and check whether there is an error in the read data for each read. (S73) and whether or not error correction is possible (S74). At this time, if it is determined that there is an uncorrectable error before the number of repeated readings reaches the invalidity determination number IVN, the memory control unit 34 shuts off the power supply during data writing. Is determined to be invalid data that is in an unstable state. Then, the memory control unit 34 sets the read data as invalid data, and updates the management information data KD to manage the page where the read data is stored or the block to which the page belongs as a refresh target ( S75). That is, such control detects an area (page or block) in an unstable writing state in which invalid data is read from one address and normal or correctable data is read. It is done. On the other hand, when it is continuously determined that there is no error in each read data or that there is an error but correction is possible until the number of repeated readings reaches the invalid determination number IVN, the memory control unit 34 Determines that the read data is valid data and transmits it to the host information processing apparatus 1. The memory control unit 34 does not transmit read data managed as invalid data by the management information data KD to the host information processing apparatus 1 side.

このように、メモリ制御部34によれば、データ書込中の電源遮断に起因して、1アドレスから不正なデータが読み出される場合と、正常又は訂正可能なデータが読み出される場合とが混在してしまう不安定な書込状態にある領域(ページ)を検出することが出来る。よって、その後、かかる領域から読み出された読出データを無効データとする、或いはその領域に対してリフレッシュ処理を施してデータ回復を行うことにより、正しい読出データを安定的にホスト情報処理装置1に送信することが可能となる。   As described above, according to the memory control unit 34, a case where illegal data is read from one address and a case where normal or correctable data is read are mixed due to power interruption during data writing. An area (page) in an unstable writing state can be detected. Therefore, thereafter, the read data read from the area is set as invalid data, or the data is recovered by performing refresh processing on the area, so that the correct read data is stably supplied to the host information processing apparatus 1. It becomes possible to transmit.

尚、データ書込中の電源遮断によって不安定な書込状態となってしまったデータの格納領域を検出すべく、図7に示す読出判定制御に、図1に示すメモリ制御部24で実施される無効データの判定方法を組み合わせるようにしても良い。例えば、図7に示すフローチャートにおいて、ステップS74に代えて図3に示すステップS3を採用する。この際、かかるステップS3において、1誤り発生数EG1が、0誤り発生数EG0に電源遮断判定用シフト値SVを加算した数(EG0+SV)以下であると判定された場合、メモリ制御部34は、図7に示すステップS76の実行に移る。一方、1誤り発生数EG1が(EG0+SV)より大であると判定された場合、メモリ制御部34は、読出データRDがデータ書込中の電源遮断によって破壊されたものであると判断し、図7に示すステップS75の実行に移るのである。   In addition, in order to detect the storage area of the data that has become an unstable writing state due to the power interruption during data writing, the memory control unit 24 shown in FIG. 1 performs the read determination control shown in FIG. The methods for determining invalid data may be combined. For example, in the flowchart shown in FIG. 7, step S3 shown in FIG. 3 is adopted instead of step S74. At this time, if it is determined in step S3 that the 1 error occurrence number EG1 is equal to or less than the number (EG0 + SV) obtained by adding the power interruption determination shift value SV to the 0 error occurrence number EG0, the memory control unit 34 The process proceeds to step S76 shown in FIG. On the other hand, if it is determined that the number of occurrences of one error EG1 is greater than (EG0 + SV), the memory control unit 34 determines that the read data RD has been destroyed due to power interruption during data writing. The process moves to execution of step S75 shown in FIG.

また、図1又は図6に示されるメモリ制御部24又は34では、外部装置としてのホスト情報処理装置1から供給された読出指令に応じて、前述した如き無効データの判定動作及び図3に示すリフレッシュ処理、或いは図7に示す如き読出判定制御を開始するようにしているが、他のタイミングで上記した処理を開始するようにしても良い。   Further, in the memory control unit 24 or 34 shown in FIG. 1 or FIG. 6, in accordance with the read command supplied from the host information processing apparatus 1 as an external device, the invalid data determination operation as described above and the operation shown in FIG. Although the refresh process or the read determination control as shown in FIG. 7 is started, the process described above may be started at another timing.

例えば、電源投入に応じてデータ読み出しを促す読出指令を生成する手段をメモリ制御部24(又は34)に設け、この電源投入に応じて生成された読出指令に応じて、メモリ制御部24(又は34)が、前述した如き無効データの判定動作、図3に示すリフレッシュ処理、又は図7に示す如き読出判定制御を開始するようにしても良い。   For example, the memory control unit 24 (or 34) is provided with a means for generating a read command for prompting data reading in response to power-on, and the memory control unit 24 (or in response to the read command generated in response to power-on. 34) may start the invalid data determination operation as described above, the refresh process shown in FIG. 3, or the read determination control as shown in FIG.

また、ホスト情報処理装置1からのアクセスが為されていない待機期間中にデータ読み出しを促す読出指令を生成する手段をメモリ制御部24(又は34)に設け、待機期間中に生成された読出指令に応じて、メモリ制御部24(又は34)が、前述した如き無効データの判定動作、図3に示すリフレッシュ処理、又は図7に示す如き読出判定制御を開始するようにしても良い。   The memory control unit 24 (or 34) is provided with a means for generating a read command for urging data reading during a standby period when no access is made from the host information processing apparatus 1, and the read command generated during the standby period is provided. In response to this, the memory control unit 24 (or 34) may start the invalid data determination operation as described above, the refresh process shown in FIG. 3, or the read determination control as shown in FIG.

また、図1に示される判定部245では、フラッシュメモリ25内の全記憶領域を対象として無効データの判定を行うようにしているが、全ページの内で書込順序が最新であるページにだけ、前述した如き無効データの判定を行うようにしても良い。   Further, in the determination unit 245 shown in FIG. 1, invalid data is determined for all storage areas in the flash memory 25, but only for pages with the latest writing order among all pages. The invalid data may be determined as described above.

また、図1又は図6に示す実施例では、書込対象となるページを含むブロック内の全てのメモリセルの状態を論理レベル1の状態、つまりデータ消去状態に設定してから、このページ内の所望のメモリセルのみを論理レベル0の状態に遷移させるというデータ書込を行うようにしている。しかしながら、メモリセルにおけるデータ消去状態を論理レベル0とし、これを論理レベル1の状態に遷移させるというデータ書込を行うようにしても良い。また、上記実施例では、メモリセル内に蓄積されている電荷量の違いにより論理レベル1及び0の状態を表すようにしているが、電荷以外の物性の違いにより論理レベル1及び0の状態を表すようにしても良い。また、上記実施例では、不揮発性メモリとしてNAND型のフラッシュメモリ25を採用しているが、これに限定されない。   In the embodiment shown in FIG. 1 or FIG. 6, the state of all the memory cells in the block including the page to be written is set to the logic level 1 state, that is, the data erase state, Data writing is performed such that only the desired memory cell is changed to a logic level 0 state. However, data writing may be performed in which the data erase state in the memory cell is set to the logic level 0 and the state is changed to the logic level 1 state. In the above embodiment, the states of logic levels 1 and 0 are represented by the difference in the amount of charge stored in the memory cell. However, the states of logic levels 1 and 0 are represented by the difference in physical properties other than the charge. You may make it express. In the above embodiment, the NAND flash memory 25 is used as the nonvolatile memory, but the present invention is not limited to this.

要するに、本発明は、複数のメモリセルからなるメモリセル群内の全メモリセルを第1の論理レベルの状態に設定してから、当該メモリセル群内の所望のメモリセルのみを第2の論理レベルの状態に遷移させるデータ書込を行い、読出指令に応じて当該メモリセル群からデータの読み出しを行って読出データ片(RD)を得るようなアクセスを行う半導体メモリに適用するものである。   In short, the present invention sets all memory cells in a memory cell group composed of a plurality of memory cells to a state of a first logic level, and then sets only a desired memory cell in the memory cell group to a second logic level. The present invention is applied to a semiconductor memory in which data is written to make a transition to a level state and data is read from the memory cell group in response to a read command to perform access such that a read data piece (RD) is obtained.

この際、本発明においては、誤り検出部(241)が読出データ片に誤り検出処理を施すことにより誤りビットを検出する。そして、判定部(245)が、読出データ片から検出された全ての誤りビットの内で上記した第1の論理レベルを有する誤りビットの数が第2の論理レベルを有する誤りビットの数よりも大なる場合に、この読出データ片が無効データであると判定するのである。   At this time, in the present invention, the error detection unit (241) detects an error bit by performing error detection processing on the read data piece. Then, the determination unit (245) determines that the number of error bits having the first logic level described above is greater than the number of error bits having the second logic level among all error bits detected from the read data piece. If it is larger, it is determined that this read data piece is invalid data.

或いは、他の態様として、誤り検出訂正判定部(341)は、メモリセル群から読み出された読出データ片(RD)に誤りが生じているか否かを検出すると共に、誤りが生じている場合には訂正可能であるか否かを判定する。この際、読出データ片に誤りが生じていない、又は誤りが生じているが訂正可能であると判定された場合には、読み出し制御部(S71〜S77)が、無効判定回数(IVN)だけメモリセル群から繰り返し読出データ片を読み出す。この際、誤り検出訂正判定部(341)により、繰り返し読み出された読出データ片各々の内の少なくとも1つが訂正不可であると判定された場合には、判定部(S74、S75)が、上記読出データ片が無効データであると判定するのである。   Alternatively, as another aspect, the error detection / correction determination unit (341) detects whether or not an error has occurred in the read data piece (RD) read from the memory cell group and an error has occurred. Whether or not correction is possible is determined. At this time, if it is determined that there is no error in the read data piece, or that an error has occurred but that it can be corrected, the read control unit (S71 to S77) stores the memory for the invalid determination count (IVN). Read data pieces repeatedly from the cell group. At this time, if the error detection / correction determination unit (341) determines that at least one of the read data pieces repeatedly read is uncorrectable, the determination unit (S74, S75) It is determined that the read data piece is invalid data.

2 記憶装置
24 メモリ制御部
25 フラッシュメモリ
241 誤り検出訂正部
243 1誤りカウンタ
245 判定部
2 storage device 24 memory control unit 25 flash memory 241 error detection correction unit 243 1 error counter 245 determination unit

Claims (5)

複数のメモリセルからなるメモリセル群単位でデータ書込及び読出しを行う半導体メモリの制御装置であって、
前記メモリセル群から読み出された読出データ片に誤りが生じているか否かを検出すると共に、誤りが生じている場合には訂正可能であるか否かを判定する誤り検出訂正判定部と、
前記誤り検出訂正判定部において前記読出データ片に誤りが生じていない、又は誤りが生じているが訂正可能であると判定された場合には、無効判定回数だけ前記メモリセル群から繰り返し前記読出データ片を読み出す読み出し制御部と、
前記読み出し制御部によって前記無効判定回数の分だけ繰り返し読み出された前記読出データ片各々の内の少なくとも1つが前記誤り検出訂正判定部にて訂正不可であると判定された場合には、前記読出データ片がリフレッシュ処理の対象となる無効データであると判定する判定部と、を有することを特徴とする半導体メモリの制御装置。
A control device for a semiconductor memory that performs data writing and reading in units of a memory cell group composed of a plurality of memory cells,
An error detection and correction determination unit that detects whether or not an error has occurred in the read data piece read from the memory cell group, and determines whether or not the error can be corrected if an error has occurred;
When the error detection / correction determination unit determines that no error has occurred in the read data piece, or that an error has occurred but is correctable, the read data is repeatedly read from the memory cell group by the number of invalidity determination times. A read control unit for reading out pieces,
When at least one of the read data pieces read repeatedly by the read control unit by the number of invalidity determination times is determined to be uncorrectable by the error detection / correction determination unit, the read And a determination unit that determines that the data piece is invalid data to be refreshed.
前記判定部は、外部装置から供給された読出指令に応じて動作を開始することを特徴とする請求項1に記載の半導体メモリの制御装置。   2. The semiconductor memory control device according to claim 1, wherein the determination unit starts an operation in response to a read command supplied from an external device. 電源投入に応じて前記メモリセル群からのデータ読み出しを促す読出指令を生成する手段を含み、
前記判定部は、前記電源投入に応じて生成された前記読出指令に応じて動作を開始することを特徴とする請求項2に載の半導体メモリの制御装置。
Means for generating a read command for urging data read from the memory cell group in response to power-on,
3. The semiconductor memory control device according to claim 2, wherein the determination unit starts an operation in response to the read command generated in response to the power-on.
外部装置からのアクセスが為されていない待機期間中に前記メモリセル群からのデータ読み出しを促す読出指令を生成する手段を含み、
前記判定部は、前記待機期間中に生成された前記読出指令に応じて動作を開始することを特徴とする請求項1に記載の半導体メモリの制御装置。
Means for generating a read command for urging data reading from the memory cell group during a standby period in which no access is made from an external device;
2. The semiconductor memory control device according to claim 1, wherein the determination unit starts an operation in response to the read command generated during the standby period.
複数のメモリセルからなるメモリセル群単位でデータ書込及び読出しを行う半導体メモリの制御方法であって、
前記メモリセル群から読み出された読出データ片に誤りが生じているか否かを検出すると共に、誤りが生じている場合には訂正可能であるか否かを判定し、
前記読出データ片に誤りが生じていない、又は誤りが生じているが訂正可能であると判定された場合には、無効判定回数だけ前記メモリセル群から繰り返し前記読出データ片を読み出す読み出し、読み出された前記読出データ片各々の内の少なくとも1つが訂正不可であると判定された場合に前記読出データ片がリフレッシュ処理の対象となる無効データであると判定することを特徴とする半導体メモリの制御方法。
A method of controlling a semiconductor memory that performs data writing and reading in units of a memory cell group composed of a plurality of memory cells,
Detecting whether or not an error has occurred in the read data piece read from the memory cell group, and determining whether or not the error can be corrected if an error has occurred;
When it is determined that no error has occurred in the read data piece or that an error has occurred but correction is possible, the read data piece is repeatedly read from the memory cell group for the number of invalid determination times. A control of a semiconductor memory, wherein when it is determined that at least one of the read data pieces is uncorrectable, the read data piece is determined to be invalid data to be refreshed. Method.
JP2017011321A 2017-01-25 2017-01-25 Semiconductor memory control device and control method Active JP6387126B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017011321A JP6387126B2 (en) 2017-01-25 2017-01-25 Semiconductor memory control device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017011321A JP6387126B2 (en) 2017-01-25 2017-01-25 Semiconductor memory control device and control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013115559A Division JP2014235499A (en) 2013-05-31 2013-05-31 Control device and control method for semiconductor memory

Publications (2)

Publication Number Publication Date
JP2017097909A true JP2017097909A (en) 2017-06-01
JP6387126B2 JP6387126B2 (en) 2018-09-05

Family

ID=58817102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017011321A Active JP6387126B2 (en) 2017-01-25 2017-01-25 Semiconductor memory control device and control method

Country Status (1)

Country Link
JP (1) JP6387126B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (en) * 1995-04-05 1996-10-22 Toshiba Corp Storage system including nonvolatile semiconductor memory
JPH09244961A (en) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp Flash ata-pc card
JP2001344156A (en) * 2000-06-02 2001-12-14 Canon Inc Device with flash memory and data rewriting method
JP2005122362A (en) * 2003-10-15 2005-05-12 Fuji Photo Film Co Ltd Rewrite protection device
JP2007122640A (en) * 2005-10-31 2007-05-17 Renesas Technology Corp Storage device
JP2013016149A (en) * 2011-06-08 2013-01-24 Panasonic Corp Memory controller and nonvolatile storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (en) * 1995-04-05 1996-10-22 Toshiba Corp Storage system including nonvolatile semiconductor memory
JPH09244961A (en) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp Flash ata-pc card
JP2001344156A (en) * 2000-06-02 2001-12-14 Canon Inc Device with flash memory and data rewriting method
JP2005122362A (en) * 2003-10-15 2005-05-12 Fuji Photo Film Co Ltd Rewrite protection device
JP2007122640A (en) * 2005-10-31 2007-05-17 Renesas Technology Corp Storage device
JP2013016149A (en) * 2011-06-08 2013-01-24 Panasonic Corp Memory controller and nonvolatile storage

Also Published As

Publication number Publication date
JP6387126B2 (en) 2018-09-05

Similar Documents

Publication Publication Date Title
JP4950886B2 (en) Nonvolatile storage device, memory controller, and defective area detection method
JP5138319B2 (en) Memory system and operation method thereof.
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
EP2367110B1 (en) Emerging bad block detection
KR100882841B1 (en) Memory system capable of detecting bit errors due to read disturbance and read method thereof
KR100837274B1 (en) Flash memory device with automatic multi-page copyback function and block replacing method thereof
TWI515742B (en) Memory systems and methods of detecting distribution of unstable memory cells
US8214725B2 (en) Memory access system
US20100199020A1 (en) Non-volatile memory subsystem and a memory controller therefor
US7894270B2 (en) Data restoration method for a non-volatile memory
TWI389122B (en) Method for accessing a flash memory, and associated memory device and controller thereof
JP2009087509A (en) Semiconductor storage device
JPWO2005111812A1 (en) MEMORY CONTROL CIRCUIT, NONVOLATILE MEMORY DEVICE, AND MEMORY CONTROL METHOD
JP2008269769A (en) Flash memory device for providing highly reliable initialized data and method for initializing the same
US10198217B2 (en) Method and system of enhanced reliability and error immunity in flash storage
JP4866107B2 (en) Nonvolatile memory device and write determination method thereof
JP2016118815A (en) Nonvolatile memory device
CN110069362B (en) Data storage device and data processing method
JP5306745B2 (en) Flash memory management method and flash memory device
JP2006221334A (en) Memory controller, flash memory system, and control method for flash memory
JP6387126B2 (en) Semiconductor memory control device and control method
JP2009230475A (en) Storage system including nonvolatile semiconductor storage section
JP2008251154A (en) Nonvolatile semiconductor memory device
KR20080114208A (en) Copy2 programming method of non volatile memory device with error correction function
JP4655034B2 (en) Memory controller, flash memory system, and flash memory control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180810

R150 Certificate of patent or registration of utility model

Ref document number: 6387126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150