JP2010079485A - Semiconductor recording device - Google Patents

Semiconductor recording device Download PDF

Info

Publication number
JP2010079485A
JP2010079485A JP2008245496A JP2008245496A JP2010079485A JP 2010079485 A JP2010079485 A JP 2010079485A JP 2008245496 A JP2008245496 A JP 2008245496A JP 2008245496 A JP2008245496 A JP 2008245496A JP 2010079485 A JP2010079485 A JP 2010079485A
Authority
JP
Japan
Prior art keywords
block
data
ecc
physical
warning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008245496A
Other languages
Japanese (ja)
Inventor
Takeshi Otsuka
健 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008245496A priority Critical patent/JP2010079485A/en
Publication of JP2010079485A publication Critical patent/JP2010079485A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To improve data holding performance even when the variations of data holding characteristics is generated by physical block units by absorbing the characteristic variations. <P>SOLUTION: When writing data, the parity of an M word is added to the data of an N word, and a first ECC code is obtained. Each word is distributed to each of (N+M) pieces of physical blocks, and the data attached with a second ECC code having each word of A pieces of first ECC codes as configuring elements are written in each page of the physical block. When reading data, error correction is performed based on the second ECC code, and when any error is not corrected with the second ECC code, disappearing correction is performed with the first ECC code. The corrected physical block is defined as a warning block, and a priority order as the physical block as the write-in object is decreased. The data of the warning block are read in a prescribed timing, and ECC-corrected, and written in another physical block. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、メモリカードなどの不揮発性の半導体記録装置に関し、特に内部の不揮発性メモリのデータ保持特性のばらつき及び書き換え回数の増加に伴う劣化を抑制するようにした半導体記録装置に関する。   The present invention relates to a nonvolatile semiconductor recording device such as a memory card, and more particularly to a semiconductor recording device that suppresses deterioration due to variations in data retention characteristics of internal nonvolatile memory and an increase in the number of rewrites.

従来、フラッシュメモリが内蔵されたカード型の記録媒体であるSD(Secure Digital)カード等の半導体記録装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。   Conventionally, a semiconductor recording device such as an SD (Secure Digital) card, which is a card-type recording medium with a built-in flash memory, is ultra-small and ultra-thin. Widely used for recording data such as images.

半導体記録装置に内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは1セルで2ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。   A flash memory built in a semiconductor recording device is a memory that includes a large number of physical blocks of a certain size and can erase data in units of physical blocks. In order to respond to the recent demand for larger capacity, flash memory has been commercialized as multi-value flash memory that can store data of 2 bits or more in one cell.

図1に、多値フラッシュメモリのフローティングゲートに蓄積する電子の数と閾値電圧(Vth)の関係の一例を示す。図1に示すように、4値のフラッシュメモリでは、フローティングゲートの電子の蓄積状態をその閾値電圧(Vth)に従って4状態で管理する。消去状態は電位が一番低く、これを(1,1)とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々(1,0)(0,0)(0,1)とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように制御することによって、1つのメモリセルに2ビットのデータを記録することができる。   FIG. 1 shows an example of the relationship between the number of electrons stored in the floating gate of the multilevel flash memory and the threshold voltage (Vth). As shown in FIG. 1, in the quaternary flash memory, the accumulation state of electrons in the floating gate is managed in four states according to the threshold voltage (Vth). In the erased state, the potential is the lowest, which is (1, 1). As the electrons accumulate, the threshold voltage increases discretely, and the states are (1, 0) (0, 0) (0, 1), respectively. As described above, since the potential increases in proportion to the number of accumulated electrons, 2-bit data can be recorded in one memory cell by performing control so as to fall within a predetermined potential threshold.

図2に4値のフラッシュメモリの1つの物理ブロックの模式図を示す。図2に示す物理ブロックは、2K個(Kは自然数)のページによって構成されている。そして、書き込み処理は、ページ番号0から昇順に実施される。ここで、ページ番号m(0≦m<K)のページとページ番号(K+m)番のページは1つのメモリセルを共有している関係(以下、セル共有関係という)にあるとする。セル共有関係にあるページにおいて、最初に書き込むページを第1ページ、次に書き込むページを第2ページと呼ぶ。つまり、ページ番号mへの書き込み(第1ページへの書き込み)と、ページ番号(K+m)への書き込み(第2ページへの書き込み)は、同一のセルに電子をチャージしていることになる。図1を参照に説明すると、第1ページへの書き込みでは、電位は最大でも半分までしか上昇しないように制御し、次の第2ページへの書き込みでは、半分から最大まで電位が上昇するように制御する。   FIG. 2 shows a schematic diagram of one physical block of the quaternary flash memory. The physical block shown in FIG. 2 is composed of 2K pages (K is a natural number). Then, the writing process is performed in ascending order from page number 0. Here, it is assumed that the page with the page number m (0 ≦ m <K) and the page with the page number (K + m) are in a relationship sharing one memory cell (hereinafter referred to as a cell sharing relationship). In a page having a cell sharing relationship, a page to be written first is called a first page, and a page to be written next is called a second page. In other words, writing to the page number m (writing to the first page) and writing to the page number (K + m) (writing to the second page) charge the same cell. Referring to FIG. 1, control is performed so that the potential rises only up to half when writing to the first page, and so that the potential increases from half to maximum when writing to the next second page. Control.

図3に、フラッシュメモリセルの状態遷移を示す。図3に示すように、フラッシュメモリの物理ブロックの1つのメモリセルの状態は、以下のように遷移する。
(a)データを消去した後は、メモリセルの状態は(1,1)
(b)第1ページへの書き込み後は、セルの状態は(1,1)又は(1,0)
(c)第2ページへの書き込み後は、セルの状態は(1,1),(1,0),(0,0)又は(0,1)
このように、多値のフラッシュメモリでは、閾値電圧Vthに複数の状態を設けてフラッシュメモリの電子の蓄積量を制御する多値記録を行い、大容量化を実現している。
FIG. 3 shows the state transition of the flash memory cell. As shown in FIG. 3, the state of one memory cell in the physical block of the flash memory changes as follows.
(A) After erasing data, the state of the memory cell is (1, 1)
(B) After writing to the first page, the cell state is (1, 1) or (1, 0).
(C) After writing to the second page, the state of the cell is (1,1), (1,0), (0,0) or (0,1)
As described above, in the multi-value flash memory, a plurality of states are provided in the threshold voltage Vth to perform multi-value recording for controlling the amount of electrons stored in the flash memory, thereby realizing a large capacity.

しかしながら、多値フラッシュメモリにおいては、電子の蓄積量によって4状態を識別するために、各状態間の閾値電圧(Vth)の差が、2値フラッシュメモリより小さい。また、書き換え回数を重ねる毎に、データの書き換えを繰り返すと、電子の注入と引き抜きによってゲート酸化膜にわずかな損傷が発生する。この損傷が積み重なると電子トラップが数多く形成されるため、実際のフローティングゲートに蓄積される電子数が減少してしまう。半導体プロセスの微細化に比例して、フローティングゲートに蓄積される電子数が少なくなっているため、電子トラップの影響は大きくなる。このように、フラッシュメモリの大容量化を支える多値記録および半導体プロセスの微細化に従い、フラッシュメモリのデータ保持特性が劣化するという問題点が顕著になってきた。   However, in the multilevel flash memory, in order to identify the four states based on the amount of accumulated electrons, the threshold voltage (Vth) difference between the states is smaller than that of the binary flash memory. If data rewrite is repeated each time the number of rewrites is repeated, slight damage occurs to the gate oxide film due to injection and extraction of electrons. When this damage is accumulated, a large number of electron traps are formed, and the number of electrons accumulated in the actual floating gate is reduced. In proportion to the miniaturization of the semiconductor process, the number of electrons stored in the floating gate is reduced, so that the influence of the electron trap is increased. As described above, the problem that the data retention characteristic of the flash memory deteriorates with the multi-level recording and the miniaturization of the semiconductor process that support the increase in the capacity of the flash memory has become prominent.

上記の課題の解決手法としてフラッシュメモリの書き換え回数を制限したり、エラー訂正を強化することが行われている。特許文献1では、フラッシュメモリの物理ブロックを構成するページ単位に誤り訂正能力の高いECC符号を記録し、読み出し時に誤り訂正を実施する。そして、誤り数が基準値以上であれば、当該ページにかかるデータを消去済みブロックのページに記録し直すことにより、近い将来において、当該ページのデータが誤り訂正不可となることを防止している。
特開2006−221334号公報
As a technique for solving the above-described problems, the number of flash memory rewrites is limited or error correction is enhanced. In Patent Document 1, an ECC code having a high error correction capability is recorded in units of pages constituting a physical block of a flash memory, and error correction is performed at the time of reading. If the number of errors is equal to or greater than the reference value, the data on the page is re-recorded on the page of the erased block, thereby preventing the data on the page from becoming uncorrectable in the near future. .
JP 2006-221334 A

半導体記録装置では、書き換え回数が増加するにつれて、ゲート酸化膜の損傷による電子トラップが数多く形成されるため、実際のフローティングゲートに蓄積される電子数が減少し、データ保持特性が劣化する。フラッシュメモリは物理ブロック単位で消去されるため、フラッシュメモリのデータ保持特性のばらつきは、物理ブロック単位で発生する可能性が高い。さらに、フラッシュメモリの制御手法によって各物理ブロックの書き換え回数のばらつきが発生すれば、データ保持特性のばらつきは加速していく。   In the semiconductor recording device, as the number of rewrites increases, a large number of electron traps due to damage to the gate oxide film are formed, so that the number of electrons accumulated in the actual floating gate is reduced and data retention characteristics are deteriorated. Since the flash memory is erased in units of physical blocks, the variation in data retention characteristics of the flash memory is likely to occur in units of physical blocks. Furthermore, if the variation in the number of rewrites of each physical block occurs due to the control method of the flash memory, the variation in the data retention characteristics is accelerated.

一般にフラッシュメモリの制御においては、論理ブロックアドレスと物理ブロックアドレスとを変換する変換テーブル(以下、論物変換テーブルという)を用いることにより、論理ブロックへの書き込みにばらつきがあっても物理ブロックの書き換え回数を平均化している。論物変換テーブルの一例を図4に示す。図4に示すように、1個の論理ブロックが使用中であれば、それに対応している物理ブロック番号を登録し、論理ブロックが未使用であれば、存在しない物理ブロック番号(例えばZ)を登録する。半導体記録装置では、以下のような手法で書き換え回数を平均化する。
(S1)電源投入時に論物変換テーブルをリードし、全物理ブロックの使用状態(使用又は未使用)を示すブロックエントリテーブルを作成する。
(S2)ホストから書き込み命令が発行されると、ブロックエントリテーブルより未使用の物理ブロックを、ランダムに、又は物理ブロック番号のサーチ初期値から昇順に抽出する。
(S3)抽出した物理ブロックを消去し、ホストから転送されるデータを書き込む。
(S4)論物変換テーブルとブロックエントリテーブルを更新する。
In general, in flash memory control, by using a conversion table (hereinafter referred to as a logical-physical conversion table) for converting a logical block address and a physical block address, even if there is a variation in writing to the logical block, the physical block is rewritten. The number of times is averaged. An example of the logical-physical conversion table is shown in FIG. As shown in FIG. 4, if one logical block is in use, the corresponding physical block number is registered. If the logical block is unused, a nonexistent physical block number (eg, Z) is registered. sign up. In the semiconductor recording device, the number of rewrites is averaged by the following method.
(S1) The logical-physical conversion table is read when the power is turned on, and a block entry table indicating the use status (used or unused) of all physical blocks is created.
(S2) When a write command is issued from the host, unused physical blocks are extracted from the block entry table at random or in ascending order from the search initial value of the physical block number.
(S3) Erase the extracted physical block and write the data transferred from the host.
(S4) The logical / physical conversion table and the block entry table are updated.

しかしながら、上記の方法では、例えばファイル1とファイル2の2個のファイルがあって、ファイル1を更新せずファイル2を繰り返して更新した後、ファイル1,2を更新する場合においては、各物理ブロックの書き換え回数ばらつきが無視できない程度に発生する。つまり、ファイル1に割り当てられた物理ブロックの書き換え回数は、ファイル2が繰り返して更新されている間は一定であるが、それ以外の物理ブロックの書き換え回数は増加している。その後ファイル1,2を更新すると、全体の物理ブロックの書き換え回数が増加する。よって、この時点での物理ブロックの書き換え回数は、元のファイル1に割り当てられた物理ブロックとそれ以外の物理ブロックとで大幅に異なってしまう。   However, in the above method, for example, when there are two files, file 1 and file 2, and file 2 is updated repeatedly without updating file 1, each file 1 and 2 are updated. It occurs to the extent that variations in the number of block rewrites cannot be ignored. That is, the number of rewrites of the physical block allocated to the file 1 is constant while the file 2 is repeatedly updated, but the number of rewrites of the other physical blocks is increased. Thereafter, when the files 1 and 2 are updated, the number of rewrites of the entire physical block increases. Therefore, the number of rewrites of the physical block at this time is significantly different between the physical block assigned to the original file 1 and the other physical blocks.

このように、物理ブロックの書き換え回数にばらつきが発生すると、物理ブロックによってデータ保持特性が大きく異なっていく。よって従来の手法では、書き換え回数のばらつきによるデータ保持特性が劣化し、エラー訂正不能なレベルになる可能性がある。この場合には誤り訂正されたページのデータを消去済みブロックのページに記録し直すことができなくなるという問題があった。   As described above, when the number of rewrites of the physical block varies, the data retention characteristics vary greatly depending on the physical block. Therefore, in the conventional method, there is a possibility that the data retention characteristic due to the variation in the number of rewrites is deteriorated and the error correction level cannot be achieved. In this case, there is a problem in that it is impossible to re-record the error-corrected page data on the erased block page.

本発明は上記課題を解決するものであり、物理ブロック単位でデータ保持特性のばらつきが発生した場合においても、そのばらつきを吸収し、データ保持性能を改善できる半導体記録装置を提供することを目的とする。   An object of the present invention is to solve the above-mentioned problems, and to provide a semiconductor recording device that can absorb the variation and improve the data retention performance even when the variation in the data retention characteristic occurs in units of physical blocks. To do.

さらに、各物理ブロックの書き換え回数にばらつきが発生した場合においても、物理ブロックの書き換え回数のばらつきを緩和し、データ保持特性を改善可能な半導体記録装置を提供することを目的とする。   It is another object of the present invention to provide a semiconductor recording apparatus capable of reducing the variation in the number of times of rewriting physical blocks and improving the data retention characteristics even when the number of times of rewriting of each physical block occurs.

この課題を解決するために、本発明の半導体記録装置は、複数の物理ブロックにより構成され、且つ物理ブロックが複数ページによって構成される不揮発性メモリを内蔵し、所定数の前記物理ブロックを1つのグループとする半導体記録装置において、データの書き込みの際に入力されたデータに対して、ECCパリティを付加して、第1のECC符号をA個(Aは自然数)生成する第1のECC生成手段と、前記第1のECC生成手段によって生成された第1のECC符号を分配するデータ分配手段と、前記データ分配手段から夫々の物理ブロックに分配されたAワードに対して、B(Bは自然数)ワードのパリティを付加して(A+B)ワードの第2のECC符号を生成する第2のECC生成手段と、前記第2のECC生成手段より出力される(A+B)ワードのデータを1つのグループの各物理ブロックに書き込むデータ書き込み手段と、前記不揮発性メモリの1つのグループの物理ブロックより第1のECC符号を読み出すデータの読み出し手段と、前記データ読み出し手段により読み出された各ページのデータにエラーのあるときに、第2のECC符号によってエラーを訂正する第2のECC訂正手段と、前記第2のECC符号でエラー訂正できなかった場合は、第1のECC符号によって消失訂正を行う消失訂正手段と、データ読み出し時に前記消失訂正手段によって消失訂正したページ数に基づいて、閾値となるページ数以上のエラーのあるページを警告ブロックテーブルに警告ブロックとして登録すると共に、前記警告ブロックを含む第1のECC訂正符号を保持する他の物理ブロックをペアブロックとして登録する警告ブロック管理手段と、所定のタイミングで前記警告ブロック管理手段に登録されている警告ブロックとそのペアブロックのデータを読み出し、前記消失訂正手段によって消失訂正を行い、修復した警告ブロックのデータを消去済みの物理ブロックに書き込むように制御するシーケンサと、を具備するものである。   In order to solve this problem, a semiconductor recording device of the present invention includes a nonvolatile memory that includes a plurality of physical blocks, and each physical block includes a plurality of pages. First ECC generating means for generating A first ECC code (A is a natural number) by adding an ECC parity to data input at the time of data writing in a semiconductor recording device as a group And B (B is a natural number) for data distribution means for distributing the first ECC code generated by the first ECC generation means, and A words distributed from the data distribution means to the respective physical blocks. ) Second ECC generation means for generating a second ECC code of (A + B) words by adding word parity; and output from the second ECC generation means Data writing means for writing data of (A + B) words to each physical block of one group, data reading means for reading a first ECC code from a physical block of one group of the nonvolatile memory, and the data reading When there is an error in the data of each page read by the means, the second ECC correction means for correcting the error by the second ECC code, and when the error cannot be corrected by the second ECC code, An erasure correction unit that performs erasure correction using the first ECC code, and a page that has an error exceeding the threshold number of pages based on the number of pages that have been erasure-corrected by the erasure correction unit when reading data in the warning block table And the first ECC correction code including the warning block is retained. Warning block management means for registering other physical blocks as a pair block, warning blocks registered in the warning block management means at a predetermined timing, and data of the pair blocks are read out, and erasure correction is performed by the erasure correction means. And a sequencer that controls to write the data of the repaired warning block to the erased physical block.

ここで前記不揮発性メモリは、N+M個(N,Mは自然数)の物理ブロックを1つのグループとするものであり、前記ECC生成手段は、データの書き込みの際に入力された(A*N)ワードのデータに対して、Aワードの間隔で抽出したNワードにMワードのECCパリティを付加して、(N+M)ワードのECC符号をA個生成するようにしてもよい。   Here, the non-volatile memory is one in which N + M physical blocks (N and M are natural numbers) are grouped, and the ECC generation means is input at the time of data writing (A * N) For word data, M words of ECC parity may be added to N words extracted at intervals of A words to generate A (N + M) word ECC codes.

ここで前記データ分配手段は、前記ECC生成手段によって生成されたECC符号の(N+M)ワードを、1ワード毎に前記不揮発性メモリの物理ブロックのグループ内で異なる物理ブロックに分配を繰り返すことにより、1つのグループの物理ブロックにAワードずつ分配するようにしてもよい。   Here, the data distribution unit repeatedly distributes (N + M) words of the ECC code generated by the ECC generation unit to different physical blocks within the group of physical blocks of the nonvolatile memory for each word, A word may be distributed to one group of physical blocks.

ここでデータ書き込み及び読み出し時に、外部より与えられる論理アドレスで示される論理ブロックと、前記不揮発性メモリの物理ブロックとの対応を示す論物変換テーブル、及び各物理ブロックの使用可否を示すブロックエントリテーブルの登録、更新を行うと共に、データ書き込み時に新規物理ブロックを抽出するテーブル管理手段を更に具備するようにしてもよい。   Here, at the time of data writing and reading, a logical-physical conversion table indicating correspondence between a logical block indicated by a logical address given from the outside and a physical block of the nonvolatile memory, and a block entry table indicating availability of each physical block And a table management means for extracting a new physical block at the time of data writing.

ここで前記シーケンサの所定のタイミングは、書き込みコマンドに基づくデータの書き込みの後としてもよい。   Here, the predetermined timing of the sequencer may be after writing of data based on a write command.

ここで前記テーブル管理手段は、新規に書き込み可能な物理ブロックを抽出する過程において、前記警告テーブルに登録されている前記警告ブロックの優先順位を下げて抽出するようにしてもよい。   Here, in the process of extracting a new writable physical block, the table management means may extract the warning block registered in the warning table with a lower priority.

ここで前記警告ブロック管理手段は、前記不揮発性メモリの総書き換え回数の増加に伴って、エラー訂正されたページ数の閾値を増加させるようにしてもよい。   Here, the warning block management means may increase the threshold value of the number of error-corrected pages as the total number of rewrites of the nonvolatile memory increases.

ここで前記テーブル管理手段は、使用可能な1つのグループの物理ブロックを抽出する際に、当該グループ中の前記警告ブロックの数がM個以下になるように抽出するようにしてもよい。   Here, when the table management means extracts a physical block of one group that can be used, the table management means may extract so that the number of the warning blocks in the group is M or less.

ここで前記1つのグループに属する(M+N)個の物理ブロックは、夫々別の不揮発性メモリとしてもよい。   Here, the (M + N) physical blocks belonging to the one group may be different nonvolatile memories.

上記構成によって、データの読み出しの際における第1のECC符号を利用した誤り訂正の結果より、警告ブロックとして管理された物理ブロックを、データ保持特性の劣化した物理ブロックと判定し、当該ブロックに書き込まれたデータを別の物理ブロックに書き直すため、物理ブロック単位で、データ保持特性のばらつきが発生した場合においても、そのばらつきを吸収し、データ保持性能を改善できる。   With the above configuration, the physical block managed as a warning block is determined as a physical block with deteriorated data retention characteristics from the result of error correction using the first ECC code at the time of data reading, and is written to the block. Since the data thus written is rewritten to another physical block, even if a variation in data retention characteristics occurs in units of physical blocks, the variation can be absorbed and the data retention performance can be improved.

また、データの書き込み時において、書き込み可能な物理ブロックを選択する際に、警告ブロックの優先順位をさげるようにすれば、全体の書き換え回数の偏りを抑制できる。   Further, when selecting a writable physical block at the time of data writing, if the priority order of the warning block is reduced, the bias of the total number of rewrites can be suppressed.

また、第1のECC符号を利用した誤り訂正の結果、誤りがあったページ数の基準値を設定する際に、フラッシュメモリの物理ブロックの総書き換え回数の増加に対応して基準値を大きくすれば、より精度よくデータ保持特性の劣化した物理ブロックを警告ブロックとして検出できる。   Also, when setting a reference value for the number of pages with errors as a result of error correction using the first ECC code, the reference value should be increased in response to an increase in the total number of rewrites of the physical block of the flash memory. For example, a physical block with degraded data retention characteristics can be detected as a warning block with higher accuracy.

また、データの書き込み時において、書き込み可能な物理ブロックを選択する際に、警告ブロックの数をM個以下に制限すれば、第1のECC符号のエラー訂正数以下に警告ブロック数を設定できるため、第1のECC訂正による性能を十分に発揮できる。   In addition, when selecting a writable physical block at the time of data writing, if the number of warning blocks is limited to M or less, the number of warning blocks can be set below the number of error corrections of the first ECC code. The performance by the first ECC correction can be sufficiently exhibited.

このように、物理ブロック単位で、データ保持特性および書き換え回数のばらつきが発生した場合においても、その特性ばらつきを吸収し、データ保持性能を改善できる半導体記録装置を提供することができる。   As described above, even when the data retention characteristic and the number of rewrites vary in physical block units, it is possible to provide a semiconductor recording device that can absorb the characteristic variation and improve the data retention performance.

図5に本発明の実施の形態による半導体記録装置の構成図を示す。本実施の形態において、外部インターフェイス手段1は、図示しないホスト機器からのコマンドやデータを受信し、データの転送を行うインターフェイスである。   FIG. 5 shows a configuration diagram of a semiconductor recording apparatus according to an embodiment of the present invention. In the present embodiment, the external interface means 1 is an interface that receives commands and data from a host device (not shown) and transfers data.

第1のECC生成手段2はホスト機器からライトコマンドを受信したときに、受信したライトデータに対してエラー訂正のためECCパリティを付加するものである。より詳細には、入力された(A*N)ワード(A、Nは自然数)のデータに対して、Aワードの間隔で抽出したNワードにMワード(Mは自然数)のECCパリティを付加して、(N+M)ワードの第1のECC符号をA個生成するものである。尚ECCパリティはエラー訂正の機能を持つコードである。本実施の形態では、Nを4、Mを2、Aを512として説明する。   When receiving a write command from the host device, the first ECC generation means 2 adds an ECC parity for error correction to the received write data. More specifically, ECC parity of M words (M is a natural number) is added to N words extracted at intervals of A words for the input (A * N) word data (A and N are natural numbers). Thus, A first ECC codes of (N + M) words are generated. The ECC parity is a code having an error correction function. In the present embodiment, description is made assuming that N is 4, M is 2, and A is 512.

データ分配手段3はECC生成手段2でECCパリティが付加されたECC符号をワード単位でフラッシュメモリの相異なる物理ブロックに分配するものである。より具体的にはECC生成手段2によって生成されたECC符号の(N+M)ワード、ここでは6ワードを、1ワード毎に異なる物理ブロックに分配を繰り返すことにより、(N+M)個の物理ブロックにAワードずつ分配する。   The data distribution unit 3 distributes the ECC code to which the ECC parity is added by the ECC generation unit 2 to different physical blocks of the flash memory in units of words. More specifically, (N + M) words of the ECC code generated by the ECC generation means 2, in this case, 6 words are distributed to different physical blocks for each word, thereby repeating (N + M) physical blocks with A. Distribute word by word.

第2のECC生成手段4a〜4fは、データ分配手段3によって分配された各物理ブロック当たりAワードのデータにBワード(Bは自然数)のECCパリティを付加するものである。本実施の形態では、Aを512、Bを3とする。この場合には、1ワードのデータを訂正することができ、2ワードのデータの誤り位置を検出することができる。   The second ECC generators 4a to 4f add an ECC parity of B words (B is a natural number) to data of A words per physical block distributed by the data distributor 3. In the present embodiment, A is 512 and B is 3. In this case, 1-word data can be corrected, and an error position of 2-word data can be detected.

データ書き込み手段5a〜5fは、第2のECC生成手段4a〜4fによって生成された(A+B)ワードのデータを、不揮発性メモリの各物理ブロックに記録するものである。ここでは(M+N)を6としているので、データ書き込み手段5a〜5fは6並列に実装し、6個のフラッシュメモリ6a〜6fの夫々1つの物理ブロックにデータを書き込むものである。   The data writing means 5a to 5f are for recording the data of (A + B) words generated by the second ECC generating means 4a to 4f in each physical block of the nonvolatile memory. Here, since (M + N) is 6, data writing means 5a to 5f are mounted in parallel, and data is written to one physical block of each of the six flash memories 6a to 6f.

本実施の形態の半導体記録装置は、(M+N)個、ここでは6個のフラッシュメモリ6a〜6fを有している。フラッシュメモリ6a〜6fは4値のフラッシュメモリとし、夫々は多数の物理ブロックから構成される。物理ブロックは消去単位であって、夫々2K個(Kは自然数)のページを有する。フラッシュメモリの内部は前述した図2に示すように0〜2K−1までのページ番号で管理されている。このうちページ番号0〜K−1のKページはメモリセルの第1ページにより構成され、ページ番号K〜2K−1のKページはメモリセルの第2ページにより構成される。各ページはAワードの記憶容量を持ち、Bワード以上の冗長領域を持っている。ここでは1ワードは例えば1バイト、即ち8ビットとする。ECC生成手段2で生成されるECC符号を構成する4つの論理ブロックを論理セグメント、各論理セグメントに対応する(M+N)個の物理ブロックをグループという。   The semiconductor recording device of the present embodiment has (M + N), here, six flash memories 6a to 6f. The flash memories 6a to 6f are quaternary flash memories, each of which includes a large number of physical blocks. The physical block is an erasing unit and has 2K pages (K is a natural number). The inside of the flash memory is managed with page numbers from 0 to 2K-1 as shown in FIG. Among these, the K page with page numbers 0 to K-1 is constituted by the first page of the memory cell, and the K page with page numbers K to 2K-1 is constituted by the second page of the memory cell. Each page has a storage capacity of A words and has a redundant area of B words or more. Here, one word is, for example, 1 byte, that is, 8 bits. Four logical blocks constituting the ECC code generated by the ECC generation means 2 are referred to as a logical segment, and (M + N) physical blocks corresponding to each logical segment are referred to as a group.

テーブル管理手段7a〜7fは、論物変換テーブルとブロックエントリテーブルを管理するものであって、フラッシュメモリの数に対応して6個実装される。論物変換テーブルは外部インターフェイス手段1を介して指示される論理ブロックと、論理ブロックに対応するフラッシュメモリの物理ブロックのアドレスとを関連づけるものである。ブロックエントリテーブルは電源の投入後に生成されるもので、各物理ブロックの使用又は未使用を示すテーブルである。テーブル管理手段7a〜7fは独立に動作し、これらのテーブルを管理すると共にデータ書き込みの際論理ブロックに対応する新規物理ブロックを後述する警告ブロック管理手段を参照して抽出するものである。   The table management means 7a to 7f manage the logical / physical conversion table and the block entry table, and six are installed corresponding to the number of flash memories. The logical-physical conversion table associates the logical block designated via the external interface means 1 with the address of the physical block of the flash memory corresponding to the logical block. The block entry table is generated after power is turned on, and is a table indicating whether each physical block is used or not used. The table management means 7a to 7f operate independently, and manage these tables and extract a new physical block corresponding to a logical block at the time of data writing with reference to a warning block management means described later.

データ読み出し手段8a〜8fは、ホスト機器より半導体記録装置に読み出しコマンドが与えられたときに、指定された論理ブロックに対応するフラッシュメモリ6a〜6fの物理ブロックより、データを読み出すものである。データ読み出し手段8a〜8fは後述するシーケンサ12によっても起動される。   The data reading means 8a to 8f are for reading data from the physical blocks of the flash memories 6a to 6f corresponding to the designated logical block when a read command is given from the host device to the semiconductor recording device. The data reading means 8a to 8f are also activated by a sequencer 12 described later.

第2のECC訂正手段9a〜9fは、第2のECC生成手段4a〜4fで生成された第2のECCパリティに基づいて読み出されたページのデータにエラーがあれば、ECC訂正を行い、訂正されたデータと訂正の可否を示すエラーフラグを出力するものである。   If there is an error in the page data read based on the second ECC parity generated by the second ECC generation means 4a to 4f, the second ECC correction means 9a to 9f performs ECC correction. The corrected data and an error flag indicating whether correction is possible are output.

消失訂正手段10は、第2のECC訂正手段9a〜9fから出力される訂正されたデータと訂正の可否を示すエラーフラグにより、第2のECC訂正手段9a〜9fで訂正不可能であったデータを第1のECCパリティを用いて訂正するものである。   The erasure correction unit 10 uses the corrected data output from the second ECC correction units 9a to 9f and the error flag indicating whether correction is possible, and the data that cannot be corrected by the second ECC correction units 9a to 9f. Is corrected using the first ECC parity.

警告ブロック管理手段11は、消失訂正手段10で訂正された物理ブロックの中で、訂正ページ数が所定数以上あった物理ブロックを判別し、これを警告ブロックとして警告ブロックテーブルに登録するものである。また警告ブロックテーブルには、当該警告ブロックと共に第1のECC符号を構成している物理ブロックを、当該警告ブロックのペアブロックとして登録しておく。   The warning block management means 11 discriminates physical blocks having the number of corrected pages equal to or greater than a predetermined number from the physical blocks corrected by the erasure correction means 10 and registers them as warning blocks in the warning block table. . In the warning block table, a physical block that constitutes the first ECC code together with the warning block is registered as a pair block of the warning block.

シーケンサ12は、所定のタイミングで警告ブロックのデータのエラーを修復してフラッシュメモリを書き換えるものである。より詳細には、シーケンサ12は警告ブロックと当該警告ブロックのペアブロックのデータを、データ読み出し手段8a〜8fを介して読み出し、第2のECC訂正手段9a〜9fにより誤り訂正を行い、消失訂正手段10により消失訂正を実施する。更にシーケンサ12は修復された警告ブロックのデータをデータ分配手段3、第2のECC生成手段4a〜4f、データ書き込み手段5a〜5fを介して新規物理ブロックに書き込むものである。   The sequencer 12 rewrites the flash memory by repairing the error in the warning block data at a predetermined timing. More specifically, the sequencer 12 reads the data of the warning block and the paired blocks of the warning block through the data reading means 8a to 8f, performs error correction by the second ECC correction means 9a to 9f, and erases correction means. 10 to perform erasure correction. Further, the sequencer 12 writes the repaired warning block data to the new physical block via the data distribution means 3, the second ECC generation means 4a to 4f, and the data writing means 5a to 5f.

次に本実施の形態の半導体記録装置の動作について説明する。まずテーブル管理手段7a〜7fは、電源投入時に論物変換テーブルをリードし、全物理ブロックの使用状態(使用又は未使用)を示すブロックエントリテーブルを作成する。本実施の形態では、テーブル管理手段7a〜7fは、フラッシュメモリ6個を制御するため、ブロックエントリテーブルを6個作成する。ブロックエントリテーブルの一例を図6に示す。図6において、上段は物理ブロック番号、下段はその使用状態を示しており、1が使用済み、0は使用可のブロックである。   Next, the operation of the semiconductor recording device of the present embodiment will be described. First, the table management means 7a to 7f read the logical-physical conversion table when the power is turned on, and create a block entry table indicating the use state (used or unused) of all physical blocks. In the present embodiment, the table management means 7a to 7f create six block entry tables in order to control six flash memories. An example of the block entry table is shown in FIG. In FIG. 6, the upper row shows the physical block number, and the lower row shows the use state, where 1 is used and 0 is a usable block.

次にデータの書き込みについて説明する。データを書き込む場合には、ホスト機器は、半導体記録装置にライトコマンドと共に論理アドレス及び書き込みデータを転送する。ここで書き込みデータはワード単位で表示し、ワード0からワード8KAのデータを書き込みデータとして転送するものとする。外部インターフェイス手段1を介してライトコマンドを受けると、第1のECC生成手段2は、書き込みデータをワード単位でAワード毎に分離し、ECCパリティを付加する。データ分配手段3は、各フラッシュメモリに記録するためデータをAワード毎に分配して夫々第2のECC生成手段4a〜4fに入力する。第2のECC手段4a〜4fでは、入力されるAワード、ここでは512ワードのデータに対してBワード、ここでは3ワードのパリティを付加する。   Next, data writing will be described. When writing data, the host device transfers a logical address and write data together with a write command to the semiconductor recording device. Here, write data is displayed in units of words, and data from word 0 to word 8KA is transferred as write data. When a write command is received via the external interface unit 1, the first ECC generation unit 2 separates write data for each A word in units of words and adds an ECC parity. The data distribution unit 3 distributes data for each A word for recording in each flash memory and inputs the data to the second ECC generation units 4a to 4f. In the second ECC means 4a to 4f, B word, here 3 word parity, is added to the input A word, here 512 word data.

図7は6つのフラッシュメモリ6a〜6fにストライピング記録される場合の並列の物理ブロックとデータ及びパリティの関係を示す図である。図中の物理ブロックPB0はフラッシュメモリ6aの物理ブロック、物理ブロックPB1はフラッシュメモリ6bの物理ブロックであり、以下同様に物理ブロックPB2,PB3,PB4,PB5は夫々フラッシュメモリ6c,6d,6e,6fの物理ブロックである。Nはページ番号を示す。外部のホスト機器により指定されるライトアドレスに対して、フラッシュメモリのページ内のワード番号、フラッシュメモリの番号、各フラッシュメモリの物理ブロックの番号、物理ブロック内のページ番号が一意で定まる。図7の物理ブロックPB0〜PB3の各ページには、そのページに書き込まれる先頭のワード番号が示されている。フラッシュメモリ6e、6fの物理ブロックの各ページには、第1のECC生成手段2により生成されたECCパリティが書き込まれる。   FIG. 7 is a diagram showing the relationship between parallel physical blocks, data, and parity when striping recording is performed in the six flash memories 6a to 6f. In the figure, the physical block PB0 is the physical block of the flash memory 6a, the physical block PB1 is the physical block of the flash memory 6b, and the physical blocks PB2, PB3, PB4, and PB5 are the flash memories 6c, 6d, 6e, and 6f, respectively. Physical block. N indicates a page number. The word number in the flash memory page, the flash memory number, the physical block number of each flash memory, and the page number in the physical block are uniquely determined for the write address specified by the external host device. Each page of the physical blocks PB0 to PB3 in FIG. 7 shows the leading word number to be written on the page. The ECC parity generated by the first ECC generation means 2 is written in each page of the physical blocks of the flash memories 6e and 6f.

図8に第1のECC生成手段2におけるECCパリティの生成方法を示す。図8(a)に、各物理ブロックPB0,PB1,PB2,PB3及びPB4,PB5のページ0のワードのアサインメントを示す。図8(b)は各ブロックPB0〜PB3のページ0の最初のワードとECCパリティとの関連図、図8(c)は各ブロックB0〜PB3のページ0の2番目のワードとECCパリティとの関連図、図8(d)は各ブロックB0〜PB3のページ0の最終ワードとECCパリティとの関連図である。上記のように、複数のデータを夫々要素とし、複数の要素を夫々相異なる物理ブロック、ここではPB0〜PB3から抽出してECCパリティを生成し、2バイト分のECCパリティを1バイトづつ別の物理ブロック、ここではPB4、PB5に記録する。   FIG. 8 shows an ECC parity generation method in the first ECC generation means 2. FIG. 8A shows the word assignment of page 0 of each physical block PB0, PB1, PB2, PB3 and PB4, PB5. FIG. 8B is a relation diagram between the first word of page 0 and ECC parity of each block PB0 to PB3, and FIG. 8C is a diagram of the second word of page 0 and ECC parity of each block B0 to PB3. FIG. 8D is a relation diagram between the last word of page 0 of each block B0 to PB3 and the ECC parity. As described above, each of the plurality of data is an element, and the plurality of elements are extracted from different physical blocks, here, PB0 to PB3 to generate ECC parity, and the ECC parity for 2 bytes is generated for each byte. It is recorded in a physical block, here PB4 and PB5.

ここで第1のECC符号について説明する。第1のECC生成手段2では、1ワード、即ち1バイトを上位4ビットと下位4ビットに分割し、各4ビットを1シンボルとする。そして、X4+X+1を生成多項式とするGF(16)のガロア体において、(6,4)のリードソロモン符号を構成し、2シンボルのパリティを生成する。即ち、入力シンボルを(a3,a2,a1,a0)、パリティシンボルを(p1,p0)とすると、入力シンボルの情報多項式は次式で示される。
A(X)=a3*X3+a2*X2+a1*X1+a0 ・・・(1)
また符号生成多項式は次式で示される。
G(X)=(X−α0)(X−α) ・・・(2)
この符号生成多項式において、
A(X)*X2÷G(X)の剰余R(X)を求め、R(X)の1次項をp1、R(X)の0次項をp0とする。図8では物理ブロックPB4に1次項であるP1_0,P1_1,・・・P1_(A−1)が書き込まれ、物理ブロックPB5に0次項であるP0_0,P0_1,・・・P0_(A−1)が書き込まれることを示している。
Here, the first ECC code will be described. In the first ECC generation means 2, one word, that is, one byte is divided into upper 4 bits and lower 4 bits, and each 4 bits constitute one symbol. Then, in a GF (16) Galois field with X 4 + X + 1 as a generator polynomial, a Reed-Solomon code of (6, 4) is formed to generate a 2-symbol parity. That is, when the input symbol is (a3, a2, a1, a0) and the parity symbol is (p1, p0), the information polynomial of the input symbol is expressed by the following equation.
A (X) = a3 * X 3 + a2 * X 2 + a1 * X 1 + a0 (1)
The code generation polynomial is expressed by the following equation.
G (X) = (X−α 0 ) (X−α) (2)
In this code generator polynomial,
The remainder R (X) of A (X) * X 2 ÷ G (X) is obtained, and the first order term of R (X) is p1 and the 0th order term of R (X) is p0. In FIG. 8, P1_0, P1_1,... P1_ (A-1) as primary terms are written in the physical block PB4, and P0_0, P0_1,... P0_ (A-1) as zeroth terms are written into the physical block PB5. Indicates that it will be written.

こうすればこのうちの最大2個の物理ブロックへの書き込みにエラーが生じて、a3,a2,a1,a0,p1,p0のうち2つの要素がエラーとなっても、ECC符号の他の要素に基づいて消失訂正を実施することにより、データを復元することができる。   In this way, even if an error occurs in writing to a maximum of two of these physical blocks and two elements out of a3, a2, a1, a0, p1, and p0 become errors, other elements of the ECC code By performing the erasure correction based on the data, the data can be restored.

データ分配手段3は、各フラッシュメモリに記録するためデータを図7に示すように分配して夫々第2のECC生成手段4a〜4fに入力する。   The data distribution unit 3 distributes data to be recorded in each flash memory as shown in FIG. 7 and inputs the data to the second ECC generation units 4a to 4f, respectively.

第2のECC手段4a〜4fでは、入力されるAワード、ここでは512ワードのデータに対してBワード、ここでは3ワードのパリティを付加する。この場合には、1ワードのデータを訂正することができ、2ワードデータの誤り検出が可能である。誤り訂正符号は、第1のECC生成手段と同様にリードソロモン符号等が使用される。この場合はGF(1024)において、符号生成多項式を次式の通りとする。
G1(X)=(X−α0)(X−α1)(X−α2) ・・・(3)
そして、511次の入力シンボルの情報多項式A(X)とすると、A(X)*X3 ÷ G(X)の剰余R(X)を求め、R(X)の2次項と1次項と0次項を3ワードのパリティとして生成する。
In the second ECC means 4a to 4f, B word, here 3 word parity, is added to the input A word, here 512 word data. In this case, 1-word data can be corrected, and 2-word data errors can be detected. As the error correction code, a Reed-Solomon code or the like is used as in the first ECC generation means. In this case, in GF (1024), the code generation polynomial is as follows:
G1 (X) = (X−α 0 ) (X−α 1 ) (X−α 2 ) (3)
Then, assuming the information polynomial A (X) of the 511th order input symbol, the remainder R (X) of A (X) * X 3 ÷ G (X) is obtained, and the second and first order terms of R (X) and 0 The next term is generated as 3-word parity.

さてデータの書き込み時には、テーブル管理手段7a〜7fは論理ブロックに対応する物理ブロックを選択する。以下、テーブル管理手段7a〜7fの新規物理ブロック抽出の処理を中心として、図9のフローチャートを用いてより詳細に説明する。
(S11)ホスト機器からライトコマンドが発行されると、電源投入時に作成したブロックエントリテーブルから未使用ブロックを(S11a)〜(S11f)のアルゴリズムで、各フラッシュメモリにつき1個抽出する。
(S11a)フラッシュメモリ毎に物理ブロック番号のサーチポインタSPをランダムに生成する。ブロックエントリテーブルを用いてサーチポインタSPの物理ブロック番号から昇順に未使用の物理ブロックを抽出する。
(S11b)抽出した物理ブロックが警告ブロックでなければ、抽出ブロックをそのフラッシュメモリの新規物理ブロックとする。全フラッシュメモリの処理を終えるまで(S11a),(S11b)を繰り返す。
(S11c)各フラッシュメモリから抽出された6個の物理ブロックにおいて、警告ブロックが含まれている場合は、警告ブロックが抽出されたフラッシュメモリのサーチポインタSPを1個ずつ進め、未使用の物理ブロックで且つ警告ブロックでなければ、これを新規物理ブロックとする。
(S11d)ループ数C(Cは予め定められた自然数)だけサーチポインタを進めても警告ブロックであった場合は、一旦処理を停止する。
(S11e)この段階で、各フラッシュメモリから抽出された6個の物理ブロックにおいて、警告ブロックが2個以上あった場合には、さらに警告ブロックが抽出されたフラッシュメモリのサーチポインタSPを1個ずつ進める。
(S11f)さらに、ループ数C(Cは予め定められた自然数)だけサーチポインタを進めても警告ブロックであった場合は、警告ブロックを新規物理ブロックとして物理ブロックのサーチを終える。ここではPB0〜PB5を選択したものとする。
(S12)こうして抽出した6個の新規物理ブロックのデータを消去する。次いでデータ書き込み手段5a〜5fは、第2のECC生成手段4a〜4fによって生成された(A+B)ワードのデータを、図7に示すように不揮発性メモリの各物理ブロックPB0〜PB5に記録する。ここで各ページの通常記録領域にAワード(512ワード)を記録し、冗長領域にBワード(3ワード)を記録する。
(S13)論物変換テーブル、ブロックエントリテーブルを更新する。
When data is written, the table management means 7a to 7f select a physical block corresponding to the logical block. Hereinafter, the process of extracting new physical blocks by the table management means 7a to 7f will be described in detail with reference to the flowchart of FIG.
(S11) When a write command is issued from the host device, one unused block is extracted for each flash memory from the block entry table created when the power is turned on using the algorithms (S11a) to (S11f).
(S11a) A search pointer SP for a physical block number is randomly generated for each flash memory. Using the block entry table, unused physical blocks are extracted in ascending order from the physical block number of the search pointer SP.
(S11b) If the extracted physical block is not a warning block, the extracted block is set as a new physical block of the flash memory. Steps (S11a) and (S11b) are repeated until all the flash memories have been processed.
(S11c) If the six physical blocks extracted from each flash memory include a warning block, the search pointer SP of the flash memory from which the warning block is extracted is advanced one by one, and an unused physical block If it is not a warning block, it is set as a new physical block.
(S11d) If it is a warning block even if the search pointer is advanced by the number of loops C (C is a predetermined natural number), the process is temporarily stopped.
(S11e) At this stage, if there are two or more warning blocks in the six physical blocks extracted from each flash memory, the search pointer SP of the flash memory from which the warning block is further extracted is set one by one. Proceed.
(S11f) Further, when the search pointer is advanced by the number of loops C (C is a predetermined natural number), if it is a warning block, the search for the physical block is finished with the warning block as a new physical block. Here, it is assumed that PB0 to PB5 are selected.
(S12) The data of the six new physical blocks extracted in this way are erased. Next, the data writing means 5a to 5f record the (A + B) word data generated by the second ECC generation means 4a to 4f in the physical blocks PB0 to PB5 of the nonvolatile memory as shown in FIG. Here, A word (512 words) is recorded in the normal recording area of each page, and B word (3 words) is recorded in the redundant area.
(S13) The logical-physical conversion table and block entry table are updated.

このように、従来の動作に(S11b)〜(S11d)の処理を追加することによって、警告ブロックの採用優先順位を落として物理ブロックを抽出することができる。さらに、(S11e)〜(S11f)の処理により、1又は2の警告ブロックを新規物理ブロックとしてデータを書き込んだ場合において、仮に警告ブロックから読み出したデータが第2のECC符号で訂正できなくても、第1のECC符号において消失訂正をすることができる。   In this way, by adding the processing of (S11b) to (S11d) to the conventional operation, the physical block can be extracted with the adoption priority of the warning block lowered. Further, when data is written with the 1 or 2 warning block as a new physical block by the processing of (S11e) to (S11f), even if the data read from the warning block cannot be corrected with the second ECC code. The erasure correction can be performed in the first ECC code.

次に、本実施の形態の読み出し処理について説明する。読み出し時には、ホスト機器が半導体記録装置に読み出しコマンドを与える。半導体記録装置は外部インターフェイス手段1を介してこれを受け取る。データ読み出し手段8a〜8fは、指定された論理ブロックに対応する各フラッシュメモリ6a〜6fの物理ブロックより、データを読み出す。読み出したデータは第2のECC訂正手段9a〜9fに出力される。第2のECC訂正手段9a〜9fは、第2のECC生成手段4a〜4fで生成されたページ単位のECCパリティに基づいてエラーがあれば、以下のように訂正を施す。   Next, the reading process of this embodiment will be described. At the time of reading, the host device gives a read command to the semiconductor recording device. The semiconductor recording device receives this via the external interface means 1. The data reading means 8a to 8f read data from the physical blocks of the flash memories 6a to 6f corresponding to the designated logical block. The read data is output to the second ECC correction means 9a to 9f. If there is an error based on the ECC parity in units of pages generated by the second ECC generation units 4a to 4f, the second ECC correction units 9a to 9f perform correction as follows.

データとパリティで構成された515ワードで表現される514次の受信符号多項式U(X)において、そのシンドローム式(4)〜(6)と2重誤りの条件(7)を計算する。
s0=U(α0) ・・・(4)
s1=U(α) ・・・(5)
s2=U(α2) ・・・(6)
M2=s12+s0*s2 ・・・(7)
尚、s0は受信符号多項式U(X)を符号生成多項式の根α0で割った余りであり、s1は受信符号多項式U(X)を符号生成多項式の根αで割った余りであり、s2は受信符号多項式U(X)を符号生成多項式の根α2で割った余りである。
ここで、誤りが発生していない場合はM2=s0=0となる。
1個誤りが発生している場合はM2=0、s0≠0となる。
1個誤りがある場合は、誤り位置をy2、誤りの大きさ、即ち正しいデータをz2とすると、次式が成立する。
s0=z2=U(α0) ・・・(8)
s1=αy2*z2=U(α) ・・・(9)
ここから誤り位置y2と訂正データz2を求めることができる。
In the 514th order received code polynomial U (X) expressed by 515 words composed of data and parity, the syndrome formulas (4) to (6) and the double error condition (7) are calculated.
s0 = U (α 0 ) (4)
s1 = U (α) (5)
s2 = U (α 2 ) (6)
M2 = s1 2 + s0 * s2 (7)
Note that s0 is a remainder obtained by dividing the received code polynomial U (X) by the root α 0 of the code generator polynomial, s1 is a remainder obtained by dividing the received code polynomial U (X) by the root α of the code generator polynomial, and s2 Is the remainder of dividing the received code polynomial U (X) by the root α 2 of the code generator polynomial.
Here, if no error has occurred, M2 = s0 = 0.
If one error has occurred, M2 = 0 and s0 ≠ 0.
When there is one error, assuming that the error position is y2 and the error size, that is, the correct data is z2, the following equation is established.
s0 = z2 = U (α 0 ) (8)
s1 = α y2 * z2 = U (α) (9)
From this, the error position y2 and the correction data z2 can be obtained.

2個誤りがある場合は、M2≠0となり、第2のECC訂正手段9a〜9fでは訂正できない。よって、第2のECC訂正手段9a〜9fでは、訂正されたデータと訂正の可否を示すエラーフラグを消失訂正手段10に出力する。   If there are two errors, M2 ≠ 0, and the second ECC correction means 9a to 9f cannot correct it. Therefore, the second ECC correction units 9 a to 9 f output the corrected data and an error flag indicating whether correction is possible or not to the erasure correction unit 10.

消失訂正手段10は、こうして訂正されたデータと訂正の可否を示すエラーフラグを用いて、第2のECC訂正手段9a〜9fで訂正不可能であったデータを第1のECC符号を使用して訂正する。ここで受信した6個のシンボルをb3,b2,b1,b0,q1,q0とする。このシンボルにおいて、b3はPB0、b2はPB1、b1はPB2、b0はPB3、q1はPB4、q0はPB5の夫々の物理ブロックから読み出されたデータである。このうちエラーフラグが立っているシンボルは誤りを含んでいる。この場合、次式を受信符号多項式とする。
U(X)=b3*X5+b2*X4+b1*X3+b0*X2+q1*X+q0 ・・・(10)
そしてU(X)において、誤り位置のわかっている2個のシンボルを0として、U(1)およびU(α)を計算する。ここで、誤りシンボル位置をy0、y1(0≦y0,y1≦5を満たす整数)、誤りの大きさをz0、z1とすると、下記の式(11),(12)が成立する。
z0+z1=U(α0)、 ・・・(11)
αy0*z0+αy1*z1=U(α) ・・・(12)
式(11),(12)において、誤り位置y0、y1は既知なので、2元連立方程式を解くことによって、誤りの大きさz0、z1を計算し、誤り位置y0、y1にかかるシンボルを夫々z0、z1に誤り訂正することができる。こうして6個の第2のECC訂正において最大2ページの誤り訂正が不可であった場合も、残りの4ページのデータと2個の誤り位置から計算して、誤り位置にかかるページのデータを消失訂正することができる。こうして訂正されたデータのうち論理アドレスに対応するページのデータは、外部インターフェイス手段1を介して外部に出力される。
The erasure correction means 10 uses the first ECC code for the data that could not be corrected by the second ECC correction means 9a to 9f, using the data corrected in this way and an error flag indicating whether correction is possible. correct. The six symbols received here are b3, b2, b1, b0, q1, and q0. In this symbol, b3 is PB0, b2 is PB1, b1 is PB2, b0 is PB3, q1 is PB4, and q0 is data read from each physical block of PB5. Among these, the symbol with the error flag set includes an error. In this case, the following equation is a received code polynomial.
U (X) = b3 * X 5 + b2 * X 4 + b1 * X 3 + b0 * X 2 + q1 * X + q0 (10)
In U (X), U (1) and U (α) are calculated by setting two symbols whose error positions are known to 0. Here, when the error symbol position is y0, y1 (integer satisfying 0 ≦ y0, y1 ≦ 5) and the error magnitude is z0, z1, the following equations (11), (12) are established.
z0 + z1 = U (α 0 ), (11)
α y0 * z0 + α y1 * z1 = U (α) (12)
Since the error positions y0 and y1 are known in the equations (11) and (12), the error magnitudes z0 and z1 are calculated by solving the binary simultaneous equations, and the symbols associated with the error positions y0 and y1 are respectively represented by z0. , Z1 can be error-corrected. Thus, even if error correction of a maximum of 2 pages is impossible in the 6 second ECC corrections, the remaining 4 pages of data and 2 error positions are calculated, and the data of the page at the error position is lost. It can be corrected. Of the corrected data, the page data corresponding to the logical address is output to the outside via the external interface means 1.

警告ブロック管理手段11は、消失訂正手段10でECC訂正された物理ブロックで、訂正ページ数が所定数以上あったブロックを警告ブロックテーブルに警告ブロックとして登録する。また、警告ブロックと共に1つのグループを構成している他の物理ブロックの番号もペアブロックとして登録する。   The warning block management means 11 registers the physical block that has been ECC-corrected by the erasure correction means 10 and the number of corrected pages is a predetermined number or more as a warning block in the warning block table. Also, the numbers of other physical blocks constituting one group together with the warning block are registered as pair blocks.

図10はこの警告ブロックテーブルの一例を示す図である。例えば物理ブロックPB2の訂正ページが所定数以上あった場合には、PB2を警告ブロックとして登録し、PB2と共に第1のECC符号を構成している物理ブロックであるPB0,PB1,PB3,PB4,PB5をペアブロックとして登録しておく。   FIG. 10 is a diagram showing an example of the warning block table. For example, when there are a predetermined number or more of correction pages in the physical block PB2, PB2 is registered as a warning block, and PB0, PB1, PB3, PB4, and PB5, which are physical blocks that constitute the first ECC code together with PB2. Is registered as a pair block.

次にフラッシュメモリに保持されているデータの訂正処理について説明する。シーケンサ12は、ホスト機器から発行される制御コマンドの間隔を監視している。そして一定時間以上のコマンドが発行されなかった場合に、その後ライトコマンドがあったかどうかを判断する。ライトコマンドがあって、このライトコマンドに応じてデータの書き込み処理を終了したとすると、その後に、警告ブロックテーブルに登録されている警告ブロックとそのペアブロックの番号を読み出す。そして警告ブロックと第1のECC符号を構成している6つの物理ブロックのデータをデータ読み出し手段8a〜8fを介して読み出し、第2のECC訂正手段9a〜9fにより誤り訂正を行う。そして消失訂正手段10により消失訂正を実施して、当該警告ブロックのデータを復元する。更にシーケンサ12は、データ書き込み手段5a〜5fを介して復元された警告ブロックのデータを新規物理ブロックに書き込む。   Next, correction processing of data held in the flash memory will be described. The sequencer 12 monitors the interval between control commands issued from the host device. If no command is issued for a predetermined time or more, it is determined whether or not there is a write command thereafter. If there is a write command and the data writing process is terminated in response to this write command, then the warning block registered in the warning block table and the number of its pair block are read. Then, the data of the six physical blocks constituting the warning block and the first ECC code are read through the data reading means 8a to 8f, and error correction is performed by the second ECC correcting means 9a to 9f. Then, erasure correction is performed by the erasure correction means 10 to restore the data of the warning block. Further, the sequencer 12 writes the warning block data restored via the data writing means 5a to 5f to the new physical block.

上記データの修復及び書き込み処理は、以下のステップで実施される。
(S21)警告ブロックと、当該警告ブロックとそのグループのペアブロックの番号を読み出す。
(S22)前述した(S11a)〜(S11f)のアルゴリズムにより、1つのグループの警告ブロックの数に応じて1個又は2個の新規物理ブロックを確保する。
(S23)S21で読み出したペアブロックの全ページをデータ読み出し手段8a〜8fによって読み出す。
(S24)読み出されたページのデータを、第2のECC訂正手段9a〜9fによりECC訂正する。更にこれらのブロックのデータを使用し、消失訂正手段10により警告ブロックのデータを消失訂正する。
(S25)消失訂正された警告ブロックのデータを、S22で確保した新規物理ブロックにデータ分配手段3、第2のECC生成手段4a〜4f、データ書き込み手段5a〜5fを介して書き込む。この場合のデータの分配は必要な1又は2のブロックにデータを分配することであり、第2のECC生成手段4a〜4f、データ書き込み手段5a〜5fも、そのうち1又は2のみが用いられる。こうすれば新規物理ブロックが有効データを保持する使用中の物理ブロックとなり、警告ブロックは有効ブロックでなくなる。テーブル管理手段7a〜7fはこのようにブロックエントリテーブルを更新する。
(S26)警告ブロック管理手段11は警告テーブルよりペアブロックの情報を削除する。警告ブロックのエラーが修復されたので、ペアブロックの情報はもはや不要だからである。しかし警告ブロックとしての情報はそのまま保持しておく。一旦警告ブロックとなった物理ブロックは、再度エラーが生じる可能性が高く、新規ブロックの抽出時に優先度を下げるために必要だからである。
The data restoration and writing process is performed in the following steps.
(S21) The warning block and the number of the warning block and its pair block are read.
(S22) One or two new physical blocks are secured according to the number of warning blocks of one group by the algorithm of (S11a) to (S11f) described above.
(S23) All the pages of the pair block read in S21 are read by the data reading means 8a to 8f.
(S24) The read ECC data is ECC corrected by the second ECC correction means 9a to 9f. Further, the data of these blocks is used, and the data of the warning block is erasure corrected by the erasure correction means 10.
(S25) The data of the warning block subjected to the erasure correction is written into the new physical block secured in S22 via the data distribution unit 3, the second ECC generation units 4a to 4f, and the data writing units 5a to 5f. Data distribution in this case is to distribute data to one or two necessary blocks, and only one or two of the second ECC generation means 4a to 4f and data writing means 5a to 5f are used. In this way, the new physical block becomes a physical block in use holding valid data, and the warning block is no longer a valid block. The table management means 7a to 7f update the block entry table in this way.
(S26) The warning block management means 11 deletes the pair block information from the warning table. Because the warning block error has been repaired, the pair block information is no longer needed. However, the information as the warning block is retained as it is. This is because a physical block that has once become a warning block is likely to cause an error again, and is necessary for lowering the priority when a new block is extracted.

以上説明したように、本実施の形態によれば、N+M個の物理ブロックを1つのグループとし、データの書き込み時には、NワードのデータとMワードのパリティを要素とする第1のECC符号の各ワードを1つのグループの各物理ブロックに分配し、A個の第1のECC符号を生成して各1ワードを構成要素とするAワードのデータとBワードのパリティによる(A+B)ワードの第2のECC符号を物理ブロックの各ページに書き込んでいる。データの読み出しにおいては、第1のECC符号をページ単位で、(N+M)ページ読み出し、各ページにおいて第2のECC符号によってエラー訂正を実施し、第2のECC符号でエラー訂正できなかった場合は、第1のECC符号の軸で消失訂正した後に出力する。このとき警告ブロック管理手段により第1のECC符号で訂正された物理ブロックと当該物理ブロックと第1のECC符号を構成している物理ブロックを警告ブロックと当該警告ブロックのペアブロックとして警告ブロックテーブルに登録する。   As described above, according to the present embodiment, N + M physical blocks are grouped into one group, and at the time of data writing, each of the first ECC codes having N word data and M word parity as elements. A word is distributed to each physical block of a group, A first ECC codes are generated, and the second of (A + B) words by A word data and B word parity each having one word as a component The ECC code is written on each page of the physical block. In reading data, when the first ECC code is read in page units, (N + M) pages are read, error correction is performed with the second ECC code in each page, and error correction cannot be performed with the second ECC code. Then, after erasure correction is performed on the axis of the first ECC code, it is output. At this time, the physical block corrected by the first ECC code by the warning block management means and the physical block constituting the first ECC code are stored in the warning block table as a pair block of the warning block and the warning block. sign up.

そして、ホストからライトコマンドが発行され、当該ライトコマンドの書き込みが終了したタイミングで警告ブロックとそのペアブロックの位置を読み出し、警告ブロックのデータを第1のECC符号を利用して消失訂正した後、消去済みの新物理ブロックに書き込む。   Then, after the write command is issued from the host and the writing of the write command is finished, the position of the warning block and its pair block is read, and the warning block data is erasure corrected using the first ECC code. Write to erased new physical block.

また、警告ブロックとして登録されている物理ブロックをデータ保持特性の劣化した物理ブロックと判断し、新規の物理ブロックを抽出する際、なるべく選択しないようにする。また警告ブロックを選択するとしても、その数をM個以下になるように制限することが好ましい。こうすれば、警告ブロックへのデータの記録の際に例えエラーが生じたとしても、第1のECC符号のエラー訂正数以下とすることができるため、第1のECC訂正による性能を十分に発揮できる。このため、物理ブロック単位でデータ保持特性のばらつきが発生した場合においても、その特性ばらつきを吸収し、データ保持性能を改善できる。   Further, a physical block registered as a warning block is determined as a physical block with degraded data retention characteristics, and is selected as little as possible when extracting a new physical block. Even if a warning block is selected, the number is preferably limited to M or less. In this way, even if an error occurs when data is recorded in the warning block, the number of error corrections of the first ECC code can be reduced to less than that, so that the performance by the first ECC correction can be sufficiently exerted. it can. For this reason, even when a variation in data retention characteristics occurs in units of physical blocks, the characteristic variation can be absorbed and data retention performance can be improved.

このような処理は半導体記録装置の内部でホスト機器からのデータ書き込みに続いて実施されるため、本半導体装置を使用するユーザは、データ保持特性の劣化および警告ブロックの再書き込み処理を意識する必要はない。   Since such processing is performed after data writing from the host device inside the semiconductor recording device, the user using this semiconductor device needs to be aware of the deterioration of the data retention characteristics and the warning block rewriting processing. There is no.

本実施の形態によれば、論物変換テーブルより新規の物理ブロックを抽出する過程において、書き換え回数の多い可能性が高い警告ブロックの優先順位を下げて抽出しているので、全体の書き換え回数の偏りを抑制できる。   According to the present embodiment, in the process of extracting a new physical block from the logical-physical conversion table, the warning block that is likely to have a large number of rewrites is extracted with a lower priority. Bias can be suppressed.

なお、上記説明では簡単のために第1のECCパリティは2パリティとしたが、それ以上のパリティを付加しても良いし、1パリティであってもよい。即ちパリティの数Mは、1以上の任意の自然数とすることができる。また、上記説明では簡単のために第2のECCパリティは3パリティとしたが、それ以上のパリティを付加しても良い。   In the above description, for the sake of simplicity, the first ECC parity is set to 2 parity, but more parity may be added or 1 parity may be added. That is, the number M of parity can be any natural number greater than or equal to one. In the above description, for the sake of simplicity, the second ECC parity is set to 3 parity, but more parity may be added.

また、本実施の形態では6つのフラッシュメモリを用いて第1のECC符号の各要素を夫々のフラッシュメモリに記憶するようにしているが、1つのフラッシュメモリの中で異なる物理ブロックに記録するようにしてもよい。   Further, in the present embodiment, each element of the first ECC code is stored in each flash memory using six flash memories, but is recorded in different physical blocks in one flash memory. It may be.

本実施の形態では、1つのメモリセルに格納するビット数が2ビットの4値フラッシュメモリを用いた半導体記録装置について説明したが、本発明はさらに状態を増加させ、1セルに3ビット以上格納できる多値フラッシュメモリにも適応することができる。さらに、多値フラッシュメモリのみならず、2値フラッシュメモリやその他の不揮発性メモリに適応しても同様の効果が得られる。   In the present embodiment, a semiconductor recording device using a 4-level flash memory in which the number of bits stored in one memory cell is 2 bits has been described. However, the present invention further increases the state and stores 3 bits or more in one cell. It can be applied to a multi-level flash memory that can be used. Furthermore, the same effect can be obtained by adapting not only to the multi-level flash memory but also to the binary flash memory and other nonvolatile memories.

また、書き換え回数の総数を、例えば物理ブロックの総消去回数で別途管理し、警告ブロックと判定する物理ブロック当たりのエラーページ数の閾値NEを、書き換え回数の総数に比例させてもよい。例えば、書き換え回数が1000回とされているフラッシュメモリにおいて、(書き換え回数の総数/物理ブロック数<500)の場合は、ブロック当たりの誤り数が10個以上の物理ブロックを警告ブロックと判定し、(書き換え回数の総数/物理ブロック数≧500)になった場合は、ブロック当たりの誤り数が20個以上の物理ブロックを警告ブロックとなるように閾値NEを変化させてもよい。書き換え回数の総数に従って警告ブロックの閾値NEを更に細かく変更してもよい。こうすれば警告ブロックの総数は大きく変化することがなく、新規物理ブロックを適切に抽出することができる。 Also, the total number of rewrite times, for example separately managed in total erase count of the physical block, the threshold value N E error number of pages of the physical block per determines that a warning block, may be proportional to the total number of the number of rewrites. For example, in a flash memory in which the number of rewrites is 1000, in the case of (total number of rewrites / number of physical blocks <500), a physical block having 10 or more errors per block is determined as a warning block, in the event of a (total / physical block number ≧ 500 number of times of rewriting) may change the threshold value N E as the number of errors per block becomes a warning block 20 or more physical blocks. It may be more finely changing the threshold value N E of the warning blocks according total number of rewrites. In this way, the total number of warning blocks does not change significantly, and new physical blocks can be appropriately extracted.

尚、本実施の形態ではシーケンサがライトコマンド後に警告ブロックに書き込まれたエラーを含むデータを修復しているが、これに代えてデータ保持特性改善コマンドをホスト機器が発行し、これに応じて警告ブロックのエラーを修復して別の物理ブロックに書き込むようにしてもよい。   In this embodiment, the sequencer repairs the data containing the error written in the warning block after the write command. Instead, the host device issues a data retention characteristic improvement command, and the warning is issued accordingly. Block errors may be repaired and written to another physical block.

本発明の半導体記録装置は、メモリカードなどの半導体記録装置に関し、特に不揮発性メモリにおける物理ブロック単位のデータ保持特性のばらつきを抑制することができる。よって、データ保持特性が良好でない多値フラッシュメモリを使用した半導体記録装置や、書き換えを頻繁に実施する業務用映像記録分野で好適に使用することができる。   The semiconductor recording device of the present invention relates to a semiconductor recording device such as a memory card, and in particular, can suppress variation in data retention characteristics in units of physical blocks in a nonvolatile memory. Therefore, it can be suitably used in a semiconductor recording device using a multi-level flash memory with poor data retention characteristics and in a professional video recording field in which rewriting is frequently performed.

多値フラッシュメモリの電子の蓄積状態を示す模式図Schematic diagram showing the accumulation state of electrons in the multi-level flash memory 多値フラッシュメモリの物理ブロックのセル共有を示す図Diagram showing cell sharing of physical block of multi-level flash memory 多値フラッシュメモリのセルの状態遷移図Multistate flash memory cell state transition diagram 論物変換テーブルの一例を示す図Diagram showing an example of a logical-physical conversion table 本発明の実施の形態における半導体記録装置の構成図Configuration diagram of a semiconductor recording device in an embodiment of the present invention 本実施の形態におけるブロックエントリテーブルの一例An example of a block entry table in the present embodiment 本実施の形態における物理ブロックのデータ及びパリティの配置の説明図Explanatory drawing of arrangement | positioning of the data of a physical block and parity in this Embodiment 本実施の形態におけるパリティの作成の説明図Explanatory drawing of parity creation in this embodiment 本実施の形態における新物理ブロックサーチのフローNew physical block search flow in this embodiment 本実施の形態における警告ブロックテーブルの一例を示す図The figure which shows an example of the warning block table in this Embodiment.

符号の説明Explanation of symbols

1 外部インターフェイス手段
2 第1のECC生成手段
3 データ分配手段
4a〜4f 第2のECC生成手段
5a〜5f データ書き込み手段
6a〜6f フラッシュメモリ
7a〜6f テーブル管理手段
8a〜8f データ読み出し手段
9a〜9f 第2のECC訂正手段
10 消失訂正手段
11 警告ブロック管理手段
12 シーケンサ
DESCRIPTION OF SYMBOLS 1 External interface means 2 1st ECC production | generation means 3 Data distribution means 4a-4f 2nd ECC production | generation means 5a-5f Data writing means 6a-6f Flash memory 7a-6f Table management means 8a-8f Data read-out means 9a-9f Second ECC correction means 10 Erasure correction means 11 Warning block management means 12 Sequencer

Claims (9)

複数の物理ブロックにより構成され、且つ物理ブロックが複数ページによって構成される不揮発性メモリを内蔵し、所定数の前記物理ブロックを1つのグループとする半導体記録装置において、
データの書き込みの際に入力されたデータに対して、ECCパリティを付加して、第1のECC符号をA個(Aは自然数)生成する第1のECC生成手段と、
前記第1のECC生成手段によって生成された第1のECC符号を分配するデータ分配手段と、
前記データ分配手段から夫々の物理ブロックに分配されたAワードに対して、B(Bは自然数)ワードのパリティを付加して(A+B)ワードの第2のECC符号を生成する第2のECC生成手段と、
前記第2のECC生成手段より出力される(A+B)ワードのデータを1つのグループの各物理ブロックに書き込むデータ書き込み手段と、
前記不揮発性メモリの1つのグループの物理ブロックより第1のECC符号を読み出すデータの読み出し手段と、
前記データ読み出し手段により読み出された各ページのデータにエラーのあるときに、第2のECC符号によってエラーを訂正する第2のECC訂正手段と、
前記第2のECC符号でエラー訂正できなかった場合は、第1のECC符号によって消失訂正を行う消失訂正手段と、
データ読み出し時に前記消失訂正手段によって消失訂正したページ数に基づいて、閾値となるページ数以上のエラーのあるページを警告ブロックテーブルに警告ブロックとして登録すると共に、前記警告ブロックを含む第1のECC訂正符号を保持する他の物理ブロックをペアブロックとして登録する警告ブロック管理手段と、
所定のタイミングで前記警告ブロック管理手段に登録されている警告ブロックとそのペアブロックのデータを読み出し、前記消失訂正手段によって消失訂正を行い、修復した警告ブロックのデータを消去済みの物理ブロックに書き込むように制御するシーケンサと、を具備する半導体記録装置。
In a semiconductor recording device that includes a non-volatile memory that includes a plurality of physical blocks and each physical block includes a plurality of pages, and includes a predetermined number of the physical blocks as one group.
First ECC generating means for generating A first ECC codes (A is a natural number) by adding an ECC parity to data input at the time of data writing;
Data distribution means for distributing the first ECC code generated by the first ECC generation means;
Second ECC generation for generating a second ECC code of (A + B) words by adding a parity of B (B is a natural number) words to the A words distributed from the data distribution means to each physical block Means,
Data writing means for writing (A + B) word data output from the second ECC generation means to each physical block of one group;
Data reading means for reading a first ECC code from a physical block of one group of the nonvolatile memory;
Second ECC correction means for correcting an error with a second ECC code when there is an error in the data of each page read by the data reading means;
When error correction cannot be performed with the second ECC code, erasure correction means for performing erasure correction with the first ECC code;
Based on the number of pages that have been erasure corrected by the erasure correction means at the time of data reading, a page having an error equal to or greater than the threshold number of pages is registered in the warning block table as a warning block, and the first ECC correction including the warning block Warning block management means for registering other physical blocks holding codes as pair blocks,
The warning block registered in the warning block management unit and its pair block data are read at a predetermined timing, the erasure correction unit performs erasure correction, and the repaired warning block data is written to the erased physical block. And a sequencer for controlling the semiconductor recording apparatus.
前記不揮発性メモリは、N+M個(N,Mは自然数)の物理ブロックを1つのグループとするものであり、
前記ECC生成手段は、データの書き込みの際に入力された(A*N)ワードのデータに対して、Aワードの間隔で抽出したNワードにMワードのECCパリティを付加して、(N+M)ワードのECC符号をA個生成するものである請求項1に記載の半導体記録装置。
The non-volatile memory is a group of N + M physical blocks (N and M are natural numbers),
The ECC generation means adds M word ECC parity to N words extracted at intervals of A words for (A * N) word data input at the time of data writing, and (N + M) 2. The semiconductor recording apparatus according to claim 1, wherein A word ECC codes are generated.
前記データ分配手段は、前記ECC生成手段によって生成されたECC符号の(N+M)ワードを、1ワード毎に前記不揮発性メモリの物理ブロックのグループ内で異なる物理ブロックに分配を繰り返すことにより、1つのグループの物理ブロックにAワードずつ分配するものである請求項2記載の半導体記録装置。   The data distribution means repeats the distribution of the (N + M) words of the ECC code generated by the ECC generation means to different physical blocks within the group of physical blocks of the nonvolatile memory for each word. 3. The semiconductor recording apparatus according to claim 2, wherein A word is distributed to the physical blocks of the group by A word. データ書き込み及び読み出し時に、外部より与えられる論理アドレスで示される論理ブロックと、前記不揮発性メモリの物理ブロックとの対応を示す論物変換テーブル、及び各物理ブロックの使用可否を示すブロックエントリテーブルの登録、更新を行うと共に、データ書き込み時に新規物理ブロックを抽出するテーブル管理手段を更に具備する請求項1〜3のいずれか1項記載の半導体記録装置。   Registration of a logical-physical conversion table indicating the correspondence between a logical block indicated by a logical address given from the outside and a physical block of the nonvolatile memory, and a block entry table indicating the availability of each physical block at the time of data writing and reading 4. The semiconductor recording apparatus according to claim 1, further comprising table management means for updating and extracting a new physical block at the time of data writing. 前記シーケンサの所定のタイミングは、書き込みコマンドに基づくデータの書き込みの後である請求項1〜4のいずれか1項記載の半導体記録装置。   The semiconductor recording device according to claim 1, wherein the predetermined timing of the sequencer is after writing of data based on a write command. 前記テーブル管理手段は、新規に書き込み可能な物理ブロックを抽出する過程において、前記警告テーブルに登録されている前記警告ブロックの優先順位を下げて抽出する請求項4記載の半導体記録装置。   5. The semiconductor recording apparatus according to claim 4, wherein the table management means extracts the warning block registered in the warning table by lowering the priority in the process of extracting a new writable physical block. 前記警告ブロック管理手段は、前記不揮発性メモリの総書き換え回数の増加に伴って、エラー訂正されたページ数の閾値を増加させるようにした請求項1〜6のいずれか1項に記載の半導体記録装置。   The semiconductor recording according to claim 1, wherein the warning block management unit increases a threshold value of the number of error-corrected pages as the total number of rewrites of the nonvolatile memory increases. apparatus. 前記テーブル管理手段は、使用可能な1つのグループの物理ブロックを抽出する際に、当該グループ中の前記警告ブロックの数がM個以下になるように抽出する請求項4又は6記載の半導体記録装置。   7. The semiconductor recording device according to claim 4, wherein when the table management means extracts a physical block of one group that can be used, the table management means extracts the number of the warning blocks in the group so that it is not more than M. . 前記1つのグループに属する(M+N)個の物理ブロックは、夫々別の不揮発性メモリである請求項2〜8のいずれか1項記載の半導体記録装置。
9. The semiconductor recording device according to claim 2, wherein (M + N) physical blocks belonging to the one group are different nonvolatile memories.
JP2008245496A 2008-09-25 2008-09-25 Semiconductor recording device Pending JP2010079485A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008245496A JP2010079485A (en) 2008-09-25 2008-09-25 Semiconductor recording device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008245496A JP2010079485A (en) 2008-09-25 2008-09-25 Semiconductor recording device

Publications (1)

Publication Number Publication Date
JP2010079485A true JP2010079485A (en) 2010-04-08

Family

ID=42209875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008245496A Pending JP2010079485A (en) 2008-09-25 2008-09-25 Semiconductor recording device

Country Status (1)

Country Link
JP (1) JP2010079485A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022422A (en) * 2010-07-13 2012-02-02 Panasonic Corp Semiconductor recording/reproducing device
JP2012234240A (en) * 2011-04-28 2012-11-29 Buffalo Inc Storage device, computer device, control method of computer, and computer program
JP2013137713A (en) * 2011-12-28 2013-07-11 Toshiba Corp Memory controller, memory system, and memory write method
US9904491B2 (en) 2015-01-05 2018-02-27 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the device
US11126497B2 (en) 2018-06-07 2021-09-21 Samsung Electronics Co., Ltd. Method of equalizing bit error rates of memory device
JP2023512895A (en) * 2021-01-14 2023-03-30 チャンシン メモリー テクノロジーズ インコーポレイテッド error correction system
US11853162B2 (en) 2019-11-28 2023-12-26 Sony Semiconductor Solutions Corporation Controller and storage device
US11886292B2 (en) 2021-01-14 2024-01-30 Changxin Memory Technologies, Inc. Memory system
US11935616B2 (en) 2021-01-14 2024-03-19 Changxin Memory Technologies, Inc. Comparison system
US11990201B2 (en) 2021-01-14 2024-05-21 Changxin Memory Technologies, Inc. Storage system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022422A (en) * 2010-07-13 2012-02-02 Panasonic Corp Semiconductor recording/reproducing device
JP2012234240A (en) * 2011-04-28 2012-11-29 Buffalo Inc Storage device, computer device, control method of computer, and computer program
JP2013137713A (en) * 2011-12-28 2013-07-11 Toshiba Corp Memory controller, memory system, and memory write method
US9904491B2 (en) 2015-01-05 2018-02-27 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the device
US11126497B2 (en) 2018-06-07 2021-09-21 Samsung Electronics Co., Ltd. Method of equalizing bit error rates of memory device
US11853162B2 (en) 2019-11-28 2023-12-26 Sony Semiconductor Solutions Corporation Controller and storage device
JP2023512895A (en) * 2021-01-14 2023-03-30 チャンシン メモリー テクノロジーズ インコーポレイテッド error correction system
US11791009B2 (en) 2021-01-14 2023-10-17 Changxin Memory Technologies, Inc. Error correction system
US11886292B2 (en) 2021-01-14 2024-01-30 Changxin Memory Technologies, Inc. Memory system
US11935616B2 (en) 2021-01-14 2024-03-19 Changxin Memory Technologies, Inc. Comparison system
US11990201B2 (en) 2021-01-14 2024-05-21 Changxin Memory Technologies, Inc. Storage system

Similar Documents

Publication Publication Date Title
JP2010079485A (en) Semiconductor recording device
US9037951B2 (en) Data management in solid state storage systems
US9208018B1 (en) Systems and methods for reclaiming memory for solid-state memory
US9009565B1 (en) Systems and methods for mapping for solid-state memory
US9026867B1 (en) Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9176817B2 (en) Data management in solid state storage devices
US9053012B1 (en) Systems and methods for storing data for solid-state memory
JP5789767B2 (en) Semiconductor recording apparatus and method for controlling semiconductor recording apparatus
JP5492679B2 (en) Storage device and memory controller
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
US8732553B2 (en) Memory system and control method thereof
US20120144272A1 (en) Probabilistic multi-tier error correction in not-and (nand) flash memory
US8055983B2 (en) Data writing method for flash memory and error correction encoding/decoding method thereof
US20140115416A1 (en) Non-volatile memory error correction
US9424131B2 (en) Spatially decoupled redundancy schemes for a solid state drive (SSD)
JP2010079486A (en) Semiconductor recording device
TW201633314A (en) Memory control circuit unit, memory storage apparatus and data accessing method
US9081701B1 (en) Systems and methods for decoding data for solid-state memory
JP2010079856A (en) Storage device and memory control method
JP5335779B2 (en) Semiconductor recording device
JP2010097600A (en) Semiconductor recording device
JP2006221334A (en) Memory controller, flash memory system, and control method for flash memory
JP2010108029A (en) Nonvolatile memory controller, non-volatile storage device, and non-volatile storage system
JP2012068765A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
JP2011134031A (en) Semiconductor recording device and semiconductor recording system