JP2012209003A - Semiconductor storage device - Google Patents
Semiconductor storage device Download PDFInfo
- Publication number
- JP2012209003A JP2012209003A JP2011075547A JP2011075547A JP2012209003A JP 2012209003 A JP2012209003 A JP 2012209003A JP 2011075547 A JP2011075547 A JP 2011075547A JP 2011075547 A JP2011075547 A JP 2011075547A JP 2012209003 A JP2012209003 A JP 2012209003A
- Authority
- JP
- Japan
- Prior art keywords
- data
- inspection
- read
- program
- unit
- 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
Links
Images
Abstract
Description
本発明は、BIST(built in self test)機能、特にテストパターンをプログラミングして使うことが可能なプログラマブルBIST機能を備えた半導体記憶装置に関する。 The present invention relates to a BIST (built in self test) function, and more particularly to a semiconductor memory device having a programmable BIST function capable of programming and using a test pattern.
半導体記憶装置の1つであるフラッシュメモリの検査では、メモリの全領域のビットに対してプログラム(書き込み)とリード(読み出し)などの動作を行いメモリの不良を検出する。BIST機能を備えたフラッシュメモリ装置では、それ自身でメモリの検査とその結果の判定を行うことが可能であり、プログラム検査を実行する場合、従来構成においては図8に示すフローチャートの制御を実行し、すべてのセクタに対し順次セクタごとに同じデータの書き込みを行う。 In the inspection of a flash memory which is one of semiconductor memory devices, memory defects are detected by performing operations such as program (write) and read (read) on the bits of the entire area of the memory. In the flash memory device having the BIST function, it is possible to inspect the memory and determine the result by itself. When executing the program inspection, the conventional configuration executes the control of the flowchart shown in FIG. The same data is sequentially written for every sector in all sectors.
まず、図8のステップS10において、フラッシュメモリのメモリセルアレイのプログラム検査のための初期化を行う。そして、ステップS20へ進み、フラッシュメモリのメモリセルアレイにプログラムしたい1単位データ分のデータパターン(書き込みデータ、期待値)をバッファ(ライトバッファ)に発生させる。続いて、ステップS30へ進み、メモリセルアレイに1単位データ分のデータパターンをプログラムする処理、即ち、書き込み動作とベリファイ(verify)動作を実行する。そして、ステップS40へ進み、プログラム(書き込み)が正常に行われた否かを判断し、異常があった場合、「NO」へ進み、異常終了する(fail)。 First, in step S10 of FIG. 8, initialization for program inspection of the memory cell array of the flash memory is performed. In step S20, a data pattern (write data, expected value) for one unit data to be programmed in the memory cell array of the flash memory is generated in the buffer (write buffer). Subsequently, the process proceeds to step S30, and a process of programming a data pattern for one unit data in the memory cell array, that is, a write operation and a verify operation are executed. Then, the process proceeds to step S40, where it is determined whether or not the program (write) has been normally performed. If there is an abnormality, the process proceeds to “NO” and ends abnormally (fail).
上記ステップS40において、プログラムが正常に行われた場合、「YES」へ進み、ステップS50へ進み、メモリセルアレイのセクタ内の最後の単位データであるか否かを判断する。ここで、最後の単位データでなければ、ステップS50にて「NO」へ進み、次の単位データに移り(ステップS60)、ステップS20へ戻り、次の単位データのデータパターン(書き込みデータ、期待値)をバッファに発生させる。以下、セクタ内のすべての単位データをプログラムするまで、上記したステップS10〜S60を繰り返す。 If the program is normally executed in step S40, the process proceeds to “YES”, and the process proceeds to step S50 to determine whether or not it is the last unit data in the sector of the memory cell array. If it is not the last unit data, the process proceeds to “NO” in step S50, moves to the next unit data (step S60), returns to step S20, and returns to the next unit data (write data, expected value). ) In the buffer. Thereafter, the above steps S10 to S60 are repeated until all the unit data in the sector are programmed.
そして、セクタ内のすべての単位データのプログラムが終了したら、ステップS50にて「YES」へ進み、ステップS70へ進み、メモリセルアレイ内の最後のセクタであるか否かを判断する。ここで、最後のセクタでなければ、ステップS70にて「NO」へ進み、次のセクタに移り(ステップS80)、ステップS10へ戻り、セクタの最初の単位データのデータパターン(期待値)をバッファに発生させる。以下、最後のセクタ内のすべての単位データをプログラムするまで、上記したステップS10〜S80を繰り返す。これにより、すべてのセクタに同じパターンのデータをプログラムできる。 When the programming of all the unit data in the sector is completed, the process proceeds to “YES” in step S50 and proceeds to step S70 to determine whether or not it is the last sector in the memory cell array. If it is not the last sector, the process proceeds to “NO” in step S70, moves to the next sector (step S80), returns to step S10, and stores the data pattern (expected value) of the first unit data in the sector. To generate. Thereafter, steps S10 to S80 described above are repeated until all the unit data in the last sector are programmed. As a result, data of the same pattern can be programmed in all sectors.
リードの検査を実行する場合についても同様に、例1として図9又は例2として図10のようなフローに基づいてすべてのセクタに対するリード検査が実施される。例1では、セクタ内のそれぞれの読み出し単位について読み出し動作を行った後、特許文献1にあるように、センスアンプの先にあるデータ判定回路によって期待したデータと一致しているかの判定を行う。例2ではそれぞれの読み出し単位について読み出し動作を行った後、いったんデータをRAMなどに保存し、CPUがそのデータにアクセスし演算等を行うことにより期待したデータに一致しているかどうかを判定する。いずれの例も最初のセクタから最後のセクタまで1セクタづつ順次読み出しの動作を行い、これによりすべてのセクタのリード検査を完了する。
Similarly, in the case where the read inspection is executed, the read inspection is performed on all the sectors based on the flow shown in FIG. 9 as Example 1 or FIG. 10 as Example 2. In Example 1, after performing the read operation for each read unit in the sector, as disclosed in
上記従来構成のプログラム検査の場合、ステップS20のプログラムしたい1単位データ分のデータパターンをCPUによる演算等によりバッファに発生させる処理を実行する必要が生じる。上記従来構成のプログラム検査においては、メモリセルアレイ内のすべての単位データについて、書き込み動作検査であるステップS30の処理に加え上記ステップS20の処理を実行しなければならないため、プログラム検査終了するまでに、本来の書き込み動作に要する時間以外に、長い時間がかかってしまい効率が良くないという問題点があった。 In the case of the program inspection with the above-described conventional configuration, it is necessary to execute a process of generating a data pattern for one unit data to be programmed in the buffer in a step S20 by calculation by the CPU or the like. In the program inspection of the conventional configuration, since all the unit data in the memory cell array must execute the process of step S20 in addition to the process of step S30 which is the write operation inspection, before the program inspection ends, In addition to the time required for the original write operation, there is a problem that it takes a long time and the efficiency is not good.
また上記従来構成のリード検査の場合、例1では読み出したデータの判定において専用のパターン判定回路を使用しているため、回路設計時に想定していたデータのパターンでしか判定を行うことができず、もし量産立ち上げ時などに検査に使用したいパターンが変更された場合には回路変更を行う必要が生じる。一方、例2では読み出したデータを一旦RAMなどに保存しCPUでこのデータにアクセスし演算を行うことで期待したデータに一致しているかどうかの判定を行うので検査に要する時間が長くなる。 Further, in the case of the above-described conventional lead inspection, since the dedicated pattern determination circuit is used for determining the read data in Example 1, the determination can be made only with the data pattern assumed at the time of circuit design. If the pattern to be used for inspection is changed at the start of mass production, etc., it is necessary to change the circuit. On the other hand, in Example 2, the read data is temporarily stored in a RAM or the like, and the CPU accesses the data and performs an operation to determine whether the data matches the expected data, so that the time required for the inspection becomes longer.
そこで、本発明の目的は、BIST機能を備えた構成において、回路変更なしにあらゆるデータパターンを用いた検査を可能とすること、さらに検査シーケンスの工夫で不必要な繰り返しを最小限にすることによりメモリセルアレイの検査に要する時間を短縮することができる半導体記憶装置を提供することにある。この方法はメモリのチップ内にすでに存在している回路(RAM等)に加え、簡単な論理回路の変更で実現することが可能なため、チップ面積に対するインパクトが小さいという利点がある。 Therefore, an object of the present invention is to enable inspection using any data pattern without changing a circuit in a configuration having a BIST function, and to minimize unnecessary repetition by devising an inspection sequence. An object of the present invention is to provide a semiconductor memory device that can shorten the time required for inspection of a memory cell array. Since this method can be realized by a simple logic circuit change in addition to a circuit (such as a RAM) already existing in the memory chip, there is an advantage that the impact on the chip area is small.
請求項1の発明によれば、メモリセルアレイをプログラム検査するBIST機能を備えた半導体記憶装置において、前記メモリセルアレイは第1の設定数のセクタで構成され、前記セクタは第2の設定数の単位データで構成され、前記単位データは、プログラムする単位のデータであり、第3の設定数のビットのデータで構成され、1個の単位データのプログラム検査用のデータを格納するバッファと、前記セクタの中の1番目の単位データのプログラム検査用のデータを前記バッファに格納した状態で、このプログラム検査用のデータを用いて全てのセクタの中の1番目の単位データのプログラム検査を実行し、その後、前記セクタの中の2番目の単位データのプログラム検査用のデータを前記バッファに格納した状態で、このプログラム検査用のデータを用いて全てのセクタの中の2番目の単位データのプログラム検査を実行し、以下同様にして、3番目以降の単位データのプログラム検査を順次実行していくことにより、全てのセクタのプログラム検査を実行するプログラム検査手段とを備えたので、メモリセルアレイのプログラム検査において任意のデータパターンを用いることが可能であり、なおかつ検査に要する時間を短縮することができる。 According to the first aspect of the present invention, in the semiconductor memory device having a BIST function for program-inspecting a memory cell array, the memory cell array is composed of a first set number of sectors, and the sector is a second set number unit. The unit data is data of a unit to be programmed, is composed of a third set number of bits of data, and stores a program check data of one unit data; and the sector In the state where the data for program inspection of the first unit data in the memory is stored in the buffer, the program inspection of the first unit data in all sectors is executed using the data for program inspection. Thereafter, the program check data of the second unit data in the sector is stored in the buffer, and the program is read. By executing the program inspection of the second unit data in all sectors using the data for inspection, and by sequentially executing the program inspection of the third and subsequent unit data in the same manner, Since the program inspection means for executing the program inspection of the sector is provided, an arbitrary data pattern can be used in the program inspection of the memory cell array, and the time required for the inspection can be shortened.
請求項2の発明によれば、リードした単位データの期待値を格納する記憶手段と、読み出したデータと、前記記憶手段内のリードデータの期待値とを回路動作により照合する比較回路を備え、前記セクタの中の1番目の単位データをリードしたときのリードデータの期待値を前記記憶手段に格納した状態で、この期待値を用いて全てのセクタの中の1番目の単位データのリード検査を実行し、その後、前記セクタの中の2番目の単位データをリードしたときのリードデータの期待値を前記記憶手段に保持した状態で、この期待値を用いて全てのセクタの中の2番目の単位データのリード検査を実行し、以下同様にして、3番目以降の単位データのリード検査を順次実行していくことにより、全てのセクタのリード検査を実行するリード検査手段とを備えたので、メモリセルアレイのリード検査において任意のデータパターンを用いることが可能であり、なおかつ検査に要する時間を短縮することができる。
According to the invention of
請求項3の発明によれば、1個の単位データのプログラム検査用のデータを格納するバッファと、前記セクタ内においてプログラム単位のデータに重複がある場合、単位データのプログラム順を適宜入れ替えて同じデータをプログラムするプログラム単位については連続してプログラムを実行するようにし、その間単位データのプログラムデータを前記バッファに格納した状態のまま保持することにより、データパターンを前記バッファに格納する回数を減らすように制御するプログラム検査手段とを備えたので、検査に要する時間をより一層短縮することができる。
According to the invention of
請求項4の発明によれば、リードした単位データの期待値を格納する記憶手段と、読み出したデータと、前記記憶手段内のリードデータの期待値とを回路動作により照合する比較回路を備え、前記セクタ内においてリード単位のデータに重複がある場合、単位データのリード順を適宜入れ替えて期待データが同じリード単位に対するリード動作を連続して実行するようにし、その間単位データの期待リードデータを前記バッファに格納した状態のまま保持することにより、データパターンを前記バッファに格納する回数を減らすように制御するリード検査手段とを備えたので、検査に要する時間をより一層短縮することができる。
According to the invention of
以下、本発明の第1実施形態について、図1ないし図4を参照して説明する。まず、図1は、本実施形態のフラッシュメモリ装置(半導体記憶装置)1の電気的構成を示す図である。フラッシュメモリ装置1は、メモリセルアレイ2、カラムデコーダ3、センスアンプ4、ロウデコーダ5、セクタデコーダ6、昇圧回路7、制御回路8および入出力バッファ9を備えて構成されている。
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS. First, FIG. 1 is a diagram showing an electrical configuration of a flash memory device (semiconductor memory device) 1 of the present embodiment. The
メモリセルアレイ2は、フラッシュメモリセルのアレイであり、複数のセクタで構成されている。セクタは1度に消去されるメモリセルの単位であり、1つのセクタの大きさは、通常、例えば数10Kbit〜数Mbit程度である。尚、セクタ(メモリセルアレイ2)の具体的構造については、後述する。
The
カラムデコーダ3は、リード(読み出し)動作時には、アドレス情報によって選択されたメモリセルアレイ2のビット線をセンスアンプ4に接続させる。また、カラムデコーダ3は、プログラム(書き込み)動作時またはイレーズ(消去)動作時には、センスアンプ4をメモリセルアレイ2から切り離し、メモリセルアレイ2に必要な電圧を供給する。センスアンプ4は、選択したメモリセルに流れる電流を検知し、その結果からデータが「1」であるか「0」であるかを判定する。
The
ロウデコーダ5は、アドレス情報からメモリセルアレイ2のワード線(メモリセルのゲート)を選択する。選択したメモリセルのゲートに、リード、プログラムまたはイレーズ時に必要な電圧がこのブロックを通じて印加される。
The
セクタデコーダ6は、アドレス情報からリード、プログラムまたはイレーズの動作を行うセクタを選択しイネーブルする。昇圧回路7は、リード、プログラムまたはイレーズの動作を行うための高電圧や負電圧を生成する。
The
制御回路8は、CPU10、ROM11及びRAM12を備え、アドレス情報やコマンド(制御)やデータを入出力バッファ9を介して入出力するように構成されている。制御回路8は、外部から受けたコマンドを解釈することにより、プログラムまたはイレーズなどの動作を実行し、昇圧回路7をディセーブル、イネーブルしたり、プログラムやイレーズパルスのコントロールを行う。更に、制御回路8は、リード動作などでデータを外部に出力するときのアウトプットイネーブル/ディセーブル制御する機能、プログラムベリファイの結果を一時的にRAM12に保存する機能、チップの状態やメモリセルへの動作を制御する機能などを有する。
The
特に、本実施形態の制御回路8は、BIST(built in self test)動作を実現するための論理回路やCPU(CPU10)も備えている。この場合、制御回路8は、プログラム検査手段及びリード検査手段を構成している。尚、BISTとは、チップ内部で、メモリセルアレイ2に対してリード、プログラム、イレーズなどを使った検査を実施し、その結果判定を行う機能のことである。そして、本実施形態の制御回路8は、ソフトBIST、即ち、半導体チップ上のROM11やRAM12に格納されたソフトウエアによりBIST動作を実現する機能を有する。このため、上記制御回路8は、ソフトBIST動作実現用のソフトウエアで制御可能なCPU10や論理回路を有する構成となっている。尚、制御回路8に、CPUのかわりにBIST等の各種の動作を実現する専用の回路(ハードウエア)を組み込むように構成しても良い。
In particular, the
次に、上記構成の動作、BIST動作のうちのプログラム検査について、図2ないし図4を参照して説明する。まず、本実施形態のメモリセルアレイ2の構造について、図2及び図3に従って説明する。図2に示すように、メモリセルアレイ2は、第1の設定数としてのN(図2にはN=16の例を示す)個のセクタ13から構成されている。1個のセクタ13は、図3に示すように、第2の設定数としてのn個(n行)のワード線14から構成されている。1個(1行)のワード線14は、第3の設定数としてのMビットのデータで構成され、ここではプログラム(書き込み)の単位と一致しているものとする。尚、一般にプログラムの単位データは、1個のワード線14の大きさのデータに限られるものではない。
Next, the program inspection in the operation of the above configuration and the BIST operation will be described with reference to FIGS. First, the structure of the
メモリセルアレイ2のプログラム検査を実行する場合、N個の全てのセクタ13について、例えば図3に示すようなダイアゴナルパターン、即ち、1番目のワード線14としてデータ「0111・・・1」(Mビットのデータであり、この場合、2進数で表わしている)、2番目のワード線14としてデータ「1011・・・1」、3番目のワード線14としてデータ「1101・・・1」、・・・、n番目のワード線14としてデータ「1111・・・10」を書き込む検査を実行する。尚、図3に示すダイアゴナルパターンは、1例であり、他の種々のパターンでも良い。そして、図3に示す各番目のワード線14のダイアゴナルパターンのデータは、チップ内の制御回路8内のCPU10によってアドレス情報を基にして演算で生成する構成となっている。尚、半導体チップ外の例えばテスターからダイアゴナルパターンのデータを制御回路8に送信する(書き込む)ように構成しても良い。
When the program inspection of the
次に、プログラム検査の制御について、図4のフローチャートを参照して説明する。まず、ステップS110において、プログラム検査のための初期化を行い、2つの変数s、iにそれぞれ「1」をセットする。尚、変数sはセクタ13の順番を示す数値であり、変数iはワード線14の順番を示す数値である。続いて、ステップS120へ進み、プログラム検査のために書き込むワード線14のデータを、今の場合、1番目のワード線14のデータ「0111・・・1」をバッファ(制御回路8のRAM12に設けられている)に格納する。
Next, program inspection control will be described with reference to the flowchart of FIG. First, in step S110, initialization for program inspection is performed, and "1" is set to each of the two variables s and i. The variable s is a numerical value indicating the order of the
そして、ステップS130へ進み、メモリセルアレイ2のs番目のセクタ13のi番目のワード線14(今の場合、メモリセルアレイ2の1番目のセクタ13の1番目のワード線14)に、上記バッファ内のデータをプログラム(書き込む)する動作、具体的には、書き込み動作とベリファイ動作を行う。
In step S130, the i-
この後、ステップS140へ進み、書き込みが正常に実行されたか否かを判断し、ここで、書き込み異常があったと判断されると、「NO」へ進み、「プログラム異常有り」としてプログラム検査を終了する(fail)。 Thereafter, the process proceeds to step S140, where it is determined whether or not the writing has been executed normally. If it is determined that there is a writing abnormality, the process proceeds to “NO” and the program inspection is terminated as “program abnormality present”. Fail.
また、上記ステップS140において、書き込みが正常に実行されたと判断されると、次の(今の場合、2番目の)セクタ13のi番目(今の場合、1番目)のワード線14のプログラム検査を行うために、「YES」へ進み、ステップS150へ進む。このステップS150では、上記プログラム検査したセクタ13が最後(今の場合、16番目(一般化した場合、N番目))のセクタ13であるか否か、即ち、s=16(N)であるか否かを判断する。今の場合、上記プログラム検査したセクタ13が最後のセクタ13でないから、「NO」へ進み、ステップS160へ進み、次のセクタ13へ移る処理、即ち、セクタ13の順番を示す変数sをカウントアップ(s=s+1=1+1=2)する処理を実行する。
If it is determined in step S140 that the writing has been normally executed, the program check of the i-th (in this case, the first)
この後、ステップS130へ戻り、次の(今の場合、2番目の)セクタ13のi番目(今の場合、1番目)のワード線14に、前記バッファ内のデータをプログラム(書き込む)する動作、即ち、書き込み動作とベリファイ動作を行う。以下、最後のセクタ13のi番目(今の場合、1番目)のワード線14のプログラム検査が終了するまで、ステップS130〜S160の処理を繰り返し実行する。
Thereafter, the process returns to step S130, and the data in the buffer is programmed (written) to the i-th (first in this case)
そして、最後のセクタ13のi番目(今の場合、1番目)のワード線14(単位データ)のプログラム検査が終了すると、全てのセクタ13の次のワード線14(今の場合、2番目のワード線14)のプログラム検査を行うために、ステップS150にて、「YES」へ進み、ステップS170へ進む。このステップS170では、上記プログラム検査したi番目のワード線14(今の場合、1番目のワード線14)がセクタ13内の最後のワード線14(n番目のワード線14)であるか否か、即ち、i=nであるか否かを判断する。今の場合、上記プログラム検査したワード線14が最後のワード線14でないから、「NO」へ進み、ステップS180へ進み、次のワード線14(単位データ)へ移る処理、即ち、ワード線14の順番を示す変数iをカウントアップ(i=i+1=1+1=2)すると共に、セクタ13の順番を示す変数sを初期化(s=1)する処理を実行する。
When the program check of the i-th (in this case, the first) word line 14 (unit data) of the
この後、ステップS120へ戻り、プログラム検査のために書き込むi番目のワード線14のデータを、今の場合、2番目のワード線14のデータ「1011・・・1」をバッファ(制御回路8のRAM12に設けられている)に格納する。続いて、ステップS130へ進み、s番目の(今の場合、1番目の)セクタ13のi番目(今の場合、2番目)のワード線14に、上記バッファ内のデータをプログラム(書き込む)する動作、即ち、書き込み動作とベリファイ動作を行う。以下、最後のセクタ13のi番目(今の場合、2番目)のワード線14のプログラム検査が終了するまで、ステップS130〜S160の処理を繰り返し実行する。
Thereafter, the process returns to step S120, and the data of the i-
そして、最後のセクタ13のi番目(今の場合、2番目)のワード線14のプログラム検査が終了すると、全てのセクタ13の次のワード線14(今の場合、3番目のワード線14)のプログラム検査を行うために、ステップS150にて、「YES」へ進み、ステップS170へ進む。このステップS170では、上記プログラム検査したワード線14(今の場合、2番目のワード線14)がセクタ13内の最後のワード線14(n番目のワード線14)であるか否か、即ち、i=nであるか否かを判断する。今の場合、上記プログラム検査したワード線14が最後のワード線14でないから、「NO」へ進み、ステップS180へ進み、次のワード線14(単位データ)へ移る処理、即ち、ワード線14の順番を示す変数iをカウントアップ(i=i+1=21+1=3)すると共に、セクタ13の順番を示す変数sを初期化(s=1)する処理を実行した後、ステップS120へ戻る。以下、全てのセクタ13の最後のワード線14(n番目のワード線14)のプログラム検査が終了するまで、ステップS120〜S180の処理を繰り返し実行する。
When the program inspection of the i-th (second in this case)
そして、全てのセクタ13の最後のワード線14(今の場合、n番目のワード線14)のプログラム検査が終了すると、ステップS170にて、「YES」へ進み、メモリセルアレイ2のプログラム検査を完了する。
When the program check of the
次に、第2実施形態としてメモリセルアレイ2のリード検査の制御について、図5ないし図6を参照して説明する。図5はリード検査のフローチャートを示すものであり、図6は本発明の第2実施形態を示すものである。尚、第1実施形態と同一構成には、同一符号を付している。第2実施形態では、制御回路8内に設けた比較回路15(ハードウエア回路)により読み出したデータの判定を実行するように構成した。具体的には、メモリセルアレイ2内のセクタ13内のワード線14を読み出したデータ、即ち、センスアンプ出力と、RAM内のデータ(期待値のデータ)を制御回路8内の比較回路15の回路動作により照合(比較)する構成とした。ここでは1個(1行)のワード線14は、リード(読み込み)の単位と一致しているものとし、第3の設定数としてのMビットのデータで構成されている。尚、一般にリードの単位データは、1個のワード線14の大きさのデータに限られるものではなく、またプログラムに用いられるデータの単位とリードに用いられるデータの単位が一致しているとも限らない。
Next, read inspection control of the
まず、図5のステップS210において、リード検査のための初期化を行い、2つの変数s、iにそれぞれ「1」をセットする。続いて、ステップS220へ進み、読み出しデータの期待値を、今の場合、各セクタ13の1番目のワード線14のデータ「0111・・・1」をSRAM(制御回路8のRAM12に設けられている)に格納する。
First, in step S210 in FIG. 5, initialization for lead inspection is performed, and “1” is set in each of the two variables s and i. Subsequently, the process proceeds to step S220, where the expected value of the read data, in this case, the data “0111... 1” of the
そして、ステップS230へ進み、メモリセルアレイ2のs番目のセクタ13のi番目のワード線14(今の場合、メモリセルアレイ2の1番目のセクタ13内の1番目のワード線14)のデータをリード(読み出す)する。続いて、ステップS240へ進み、読み出したデータとRAM内のデータ(期待値のデータ)を回路動作により照合(比較)する。次いで、ステップS250へ進み、リードが正常に実行されたか否か、即ち、読み出したデータと期待値のデータが一致したか否かを判断する。ここで、読み出し異常があったと判断されると、ステップS250にて「NO」へ進み、異常有りでリード検査を終了する(fail)。
In step S230, the data of the i-
また、上記ステップS250において、読み出しが正常に実行されたと判断されると、次の(今の場合、2番目の)セクタ13のi番目(今の場合、1番目)のワード線14のリード検査を行うために、「YES」へ進み、ステップS260へ進む。このステップS260では、上記リード検査したセクタ13が最後(今の場合、16番目(一般化した場合、N番目))のセクタ13であるか否か、即ち、s=16(N)であるか否かを判断する。今の場合、上記プログラム検査したセクタ13が最後のセクタ13でないから、「NO」へ進み、ステップS270へ進む。このステップS270では、次のセクタ13へ移る処理、即ち、セクタ13の順番を示す変数sをカウントアップ(s=s+1=1+1=2)する処理を実行する。
If it is determined in step S250 that the reading has been normally executed, the read check of the i-th (first in this case)
この後、ステップS230へ戻り、次のs番目(今の場合、2番目)のセクタ13のi番目(今の場合、1番目)のワード線14のデータをリードする。以下、最後のセクタ13のi番目(今の場合、1番目)のワード線14のデータのリード検査が終了するまで、ステップS230〜S270の処理を繰り返し実行する。
Thereafter, the process returns to step S230, and the data of the i-th (first in this case)
そして、最後のセクタ13のi番目(今の場合、1番目)のワード線14のデータのリード検査が終了すると、全てのセクタ13の次のワード線14(今の場合、2番目のワード線14)のプログラム検査を行うために、ステップS260にて、「YES」へ進み、ステップS280へ進む。このステップS280では、上記リード検査したi番目の単位データとしてのワード線14(今の場合、1番目のワード線14)がセクタ13内の最後のワード線14(n番目のワード線14)であるか否か、即ち、i=nであるか否かを判断する。今の場合、上記リード検査したワード線14(単位データ)が最後のワード線14でないから、「NO」へ進み、ステップS290へ進み、次のワード線14(単位データ)へ移る処理、即ち、ワード線14の順番を示す変数iをカウントアップ(i=i+1=1+1=2)すると共に、セクタ13の順番を示す変数sを初期化(s=1)する処理を実行する。
When the data read inspection of the i-th (in this case, the first)
この後、ステップS220へ戻り、リード検査のために読み出すi番目のワード線14のデータの期待値を、今の場合、2番目のワード線14のデータ「1011・・・1」をRAM(制御回路8のRAM12に設けられている)に格納する。続いて、ステップS230へ進み、s番目の(今の場合、1番目の)セクタ13のi番目(今の場合、2番目)のワード線14のデータをリードする。以下、最後のセクタ13のi番目(今の場合、2番目)のワード線14のプログラム検査が終了するまで、ステップS230〜S270の処理を繰り返し実行する。
Thereafter, the process returns to step S220, and the expected value of the data of the i-
そして、最後のセクタ13のi番目(今の場合、2番目)のワード線14のデータのリード検査が終了すると、全てのセクタ13の次のワード線14(今の場合、3番目のワード線14)のデータのリード検査を行うために、ステップS260にて、「YES」へ進み、ステップS280へ進む。このステップS280では、上記リード検査したi番目のワード線14(今の場合、2番目のワード線14)がセクタ13内の最後のワード線14(n番目のワード線14)であるか否か、即ち、i=nであるか否かを判断する。今の場合、上記リード検査したワード線14が最後のワード線14でないから、「NO」へ進み、ステップS290へ進み、次のワード線14(単位データ)へ移る処理、即ち、ワード線14の順番を示す変数iをカウントアップ(i=i+1=2+1=3)すると共に、セクタ13の順番を示す変数sを初期化(s=1)する処理を実行した後、ステップS220へ戻る。以下、全てのセクタ13内の最後のワード線14(n番目のワード線14)のデータのリード検査が終了するまで、ステップS220〜S290の処理を繰り返し実行する。
When the data read inspection of the i-th (in this case, second)
そして、全てのセクタ13の最後のワード線14(今の場合、n番目のワード線14)のデータのリード検査が終了すると、ステップS280にて、「YES」へ進み、メモリセルアレイ2のリード検査を完了する。
When the data read inspection of the last word line 14 (in this case, the nth word line 14) of all the
上記第1実施形態においては、BIST機能でメモリセルアレイ2のプログラム検査を行うときに、プログラム検査のために書き込むワード線14のデータをバッファに格納する回数がn回(即ち、ワード線14の個数の回数)となるように構成した。このため、本実施形態によれば、バッファにワード線14のデータを格納する回数が大幅に少なくなる(尚、図8に示す従来構成の場合、(n*16(N))回であるから、1/16(N)になる)。通常ワード線14のデータをバッファに格納する処理を実行するのに時間を要するため、その繰り返しの回数を減らすことによりプログラム検査に要する検査時間を大幅に短縮することができる。また、上記実施形態によれば、プログラム検査時にメモリセルアレイ2の全てのセクタ13に書き込むデータパターンを、制御回路8に組み込むソフトウエアの変更だけで自由に変更することができるので、検査データパターンが変更されたような場合に、ハードウエアの変更が不要となり容易に対応することができる。
In the first embodiment, when the program inspection of the
また、上記第2実施形態においては、リード検査において読み出したデータが期待したデータと一致しているかの判定において、あらかじめ用意されたパターン判定回路で行うのではなく、またCPU等を用いた演算によってソフトウェア的に行うのでもなく、センスアンプ出力とRAM(制御回路8のRAM12)上に発生させた期待値データとの照合を行う回路によって判定することにした。これにより、リード検査中にRAMに格納するリード検査用のデータパターン(期待値のデータ)を、制御回路8に組み込むソフトウエアの変更だけで自由に変更させることができるので、リード検査用のデータパターンが変更されたような場合に、回路変更せずに容易に対応することができる上、制御回路8のCPU10の演算によりパターン一致を判定する構成に比べて、照合に要する時間を短縮することができる。また、第1の実施形態におけるプログラム検査の場合と同様に、リード検査のために読み出すワード線14のデータの期待値をRAMに格納する回数がn回(即ち、ワード線14の個数の回数)となるように構成した。このため、本実施形態によれば、RAMにワード線14のデータの期待値を格納する回数が大幅に少なくなる(尚、従来構成の場合、(n*16(N))回であるから、1/16(N)になる)ので、リード検査に要する検査時間を大幅に短縮することができる。特に、ワード線14のデータの期待値をRAMに格納する処理を実行するのに長い時間を要するため、リード検査に要する検査時間を実質的に大幅に短縮できる。上記により、任意のデータパターンでの検査と検査時間の短縮を両立することが可能となる。
In the second embodiment, the determination whether the data read in the lead inspection matches the expected data is not performed by a pattern determination circuit prepared in advance, but by calculation using a CPU or the like. Instead of using software, the decision was made by a circuit that collates the sense amplifier output with the expected value data generated on the RAM (
図7は、本発明の第3実施形態を示すものである。尚、第1実施形態と同一構成には、同一符号を付している。第1実施形態では、プログラム検査を実行する際に、図3に示すようなダイアゴナルパターンを書き込むように構成したが、これに代えて、第3実施形態においては、図7に示すチェッカーボードパターンを書き込むように構成した。 FIG. 7 shows a third embodiment of the present invention. In addition, the same code | symbol is attached | subjected to the same structure as 1st Embodiment. In the first embodiment, when the program inspection is executed, the diagonal pattern as shown in FIG. 3 is written. Instead, in the third embodiment, the checkerboard pattern shown in FIG. 7 is used. Configured to write.
チェッカーボードパターンは、図7に示すように、奇数番目のワード線14のデータパターンは全て同じであると共に、偶数番目のワード線14のデータパターンは全て同じである。即ち、ワード線14(単位データ)のデータパターンは、2種類しかない。このため、第3実施形態では、プログラム検査のために書き込むワード線14のデータをバッファに格納する回数を2回とすることができる。
As shown in FIG. 7, in the checkerboard pattern, the data patterns of the odd-numbered word lines 14 are all the same, and the data patterns of the even-numbered word lines 14 are all the same. That is, there are only two types of data patterns for the word line 14 (unit data). For this reason, in the third embodiment, the number of times the data of the
例えば、まず、はじめに奇数番目のワード線14のデータパターンをバッファに格納した状態で、すべてのセクタ13について、奇数番目のワード線14のプログラム検査を実行し(すべてのセクタ13について1番目のワード線をプログラムを行い、次にすべてのセクタ13について3番目のワード線、以後同様に5番目以降の奇数番目のワード線についてプログラムを行う)、その後、偶数番目のワード線14のデータパターンをバッファに格納した状態で、すべてのセクタ13について、偶数番目のワード線14のプログラム検査を実行(すべてのセクタ13について2番目のワード線をプログラムを行い、次にすべてのセクタ13について4番目のワード線、以後同様に6番目以降の偶数番目のワード線についてプログラムを行う)するように制御すれば良い。
For example, first, in a state where the data pattern of the odd-numbered word lines 14 is stored in the buffer, the program check of the odd-numbered word lines 14 is executed for all the sectors 13 (the first word for all the sectors 13). The line is programmed, then the third word line is programmed for all
上述した以外の第3実施形態の構成は、第1実施形態と同じ構成となっている。従って、第3実施形態においても、第1実施形態とほぼ同じ作用効果を得ることができる。特に、第3実施形態によれば、プログラム検査のために書き込むワード線14のデータをバッファに格納する回数を最小で2回とすることができるので、プログラム検査に要する検査時間を実質的に更に大幅に短縮することができる。
The configuration of the third embodiment other than that described above is the same as that of the first embodiment. Therefore, in the third embodiment, substantially the same operational effects as in the first embodiment can be obtained. In particular, according to the third embodiment, since the number of times the data of the
尚、上記第3実施形態では、プログラム検査を実行する際に、セクタ13に書き込むデータパターンとして、ワード線14(単位データ)のデータパターンが2種類しかないデータパターンについて説明したが、これに限られるものではなく、セクタ内でのワード線14(単位データ)のデータパターンが重複している場合には、プログラム検査のために書き込むワード線14のデータをバッファに格納する回数が最小となるように書き込みデータ単位のプログラム順序を適宜並べ替えるように、すべてのセクタ13に対するワード線14のプログラム検査の制御(即ち、すべてのセクタ13に対して同じ種類のデータパターンのワード線14のプログラム検査をまとめて実行する制御)を適宜構成すれば良い。
In the third embodiment, a data pattern in which there are only two types of data patterns of the word line 14 (unit data) has been described as a data pattern to be written to the
また、上記第3実施形態および変形形態では、プログラムの単位データを1個のワード線14としたが、一般にこれに限られるものではない。
第4実施形態として、第3実施形態と同様にチェッカーボードパターンでリード検査を行う場合も同様に、はじめに奇数番目のワード線14のデータパターンをバッファに格納した状態で、すべてのセクタ13について、奇数番目のワード線14のリード検査を実行し、その後、偶数番目のワード線14のデータパターンをバッファに格納した状態で、すべてのセクタ13について、偶数番目のワード線14のリード検査を実行するように制御すればリード検査のために書き込むワード線14のデータをバッファに格納する回数を最小で2回とすることが可能であり更なる時間短縮が可能である。
In the third embodiment and the modification, the unit data of the program is one
As in the fourth embodiment, similarly to the third embodiment, in the case of performing the lead inspection with the checkerboard pattern, the data pattern of the odd-numbered word lines 14 is first stored in the buffer, and all the
尚、上記実施形態において、メモリセルアレイ2のプログラム検査を実行し、書き込み異常があったときには、その異常があったセクタが不良であると確定し、冗長なセクタと置き換えるなどの処理を行うように構成しても良い。また、上記実施形態において、メモリセルアレイ2のリード検査を実行し、読み込み異常があったときには、その異常があったセクタが不良であると確定し、冗長なセクタと置き換えるなどの処理を行うように構成しても良い。
In the above embodiment, when the program check of the
図面中、1はフラッシュメモリ装置、2はメモリセルアレイ、8は制御回路、10はCPU、11はROM、12はRAM、13はセクタ、14はワード線、15は比較回路を示す。 In the drawings, 1 is a flash memory device, 2 is a memory cell array, 8 is a control circuit, 10 is a CPU, 11 is a ROM, 12 is a RAM, 13 is a sector, 14 is a word line, and 15 is a comparison circuit.
Claims (4)
前記メモリセルアレイは第1の設定数のセクタで構成され、
前記セクタは第2の設定数の単位データで構成され、
前記単位データは、プログラムする単位のデータであり、第3の設定数のビットのデータで構成され、
1個の単位データのプログラム検査用のデータを格納するバッファと、
前記セクタの中の1番目の単位データのプログラム検査用のデータを前記バッファに格納した状態で、このプログラム検査用のデータを用いて全てのセクタの中の1番目の単位データのプログラム検査を実行し、その後、前記セクタの中の2番目の単位データのプログラム検査用のデータを前記バッファに格納した状態で、このプログラム検査用のデータを用いて全てのセクタの中の2番目の単位データのプログラム検査を実行し、以下同様にして、3番目以降の単位データのプログラム検査を順次実行していくことにより、全てのセクタのプログラム検査を実行するプログラム検査手段とを備えたことを特徴とする半導体記憶装置。 In a semiconductor memory device having a BIST function for program-inspecting a memory cell array,
The memory cell array is composed of a first set number of sectors,
The sector is composed of a second set number of unit data,
The unit data is data of a unit to be programmed, and is composed of a third set number of bits of data,
A buffer for storing data for program inspection of one unit data;
With the data for program inspection of the first unit data in the sector being stored in the buffer, the program inspection of the first unit data in all sectors is executed using the data for program inspection After that, in the state where the data for program inspection of the second unit data in the sector is stored in the buffer, the data for the second unit data in all sectors is stored using the data for program inspection. And a program checking means for executing a program check for all sectors by sequentially executing a program check for the third and subsequent unit data. Semiconductor memory device.
前記メモリセルアレイは第1の設定数のセクタで構成され、
前記セクタは第2の設定数の単位データで構成され、
前記単位データは、リードする単位のデータであり、第3の設定数のビットのデータで構成され、
リードした単位データの期待値を格納する記憶手段と、読み出したデータと、前記記憶手段内のリードデータの期待値とを照合する比較回路を備え、
前記セクタの中の1番目の単位データをリードしたときのリードデータの期待値を前記記憶手段に格納した状態で、この期待値を用いて全てのセクタの中の1番目の単位データのリード検査を実行し、その後、前記セクタの中の2番目の単位データをリードしたときのリードデータの期待値を前記記憶手段に格納した状態で、この期待値を用いて全てのセクタの中の2番目の単位データのリード検査を実行し、以下同様にして、3番目以降の単位データのリード検査を順次実行していくことにより、全てのセクタのリード検査を実行するリード検査手段とを備えたことを特徴とする半導体記憶装置。 In a semiconductor memory device having a BIST function for performing a lead inspection on a memory cell array,
The memory cell array is composed of a first set number of sectors,
The sector is composed of a second set number of unit data,
The unit data is data of a unit to be read, and is composed of a third set number of bits of data,
A storage means for storing the expected value of the read unit data, a comparison circuit for comparing the read data with the expected value of the read data in the storage means,
In the state where the expected value of the read data when the first unit data in the sector is read is stored in the storage means, the read check of the first unit data in all the sectors is performed using this expected value. And then storing the expected value of the read data when the second unit data in the sector is read in the storage means, and using this expected value, the second value in all sectors And a read inspection unit for performing the read inspection of all the sectors by sequentially performing the read inspection of the third and subsequent unit data. A semiconductor memory device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011075547A JP5445500B2 (en) | 2011-03-30 | 2011-03-30 | Semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011075547A JP5445500B2 (en) | 2011-03-30 | 2011-03-30 | Semiconductor memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012209003A true JP2012209003A (en) | 2012-10-25 |
JP5445500B2 JP5445500B2 (en) | 2014-03-19 |
Family
ID=47188593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011075547A Expired - Fee Related JP5445500B2 (en) | 2011-03-30 | 2011-03-30 | Semiconductor memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5445500B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08273397A (en) * | 1995-03-27 | 1996-10-18 | Yamaha Corp | Test method for semiconductor memory |
JP2000132982A (en) * | 1998-10-26 | 2000-05-12 | Sony Corp | Medium element, apparatus and method for recording information, and apparatus and method for reproducing information |
JP2005050393A (en) * | 2003-07-29 | 2005-02-24 | Toshiba Lsi System Support Kk | Semiconductor device and its failure detection method |
JP2005267811A (en) * | 2004-03-22 | 2005-09-29 | Matsushita Electric Ind Co Ltd | Nonvolatile semiconductor storage apparatus and its writing method |
JP2009217861A (en) * | 2008-03-07 | 2009-09-24 | Vantel Corp | Nonvolatile semiconductor memory device and its self-test method |
-
2011
- 2011-03-30 JP JP2011075547A patent/JP5445500B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08273397A (en) * | 1995-03-27 | 1996-10-18 | Yamaha Corp | Test method for semiconductor memory |
JP2000132982A (en) * | 1998-10-26 | 2000-05-12 | Sony Corp | Medium element, apparatus and method for recording information, and apparatus and method for reproducing information |
JP2005050393A (en) * | 2003-07-29 | 2005-02-24 | Toshiba Lsi System Support Kk | Semiconductor device and its failure detection method |
JP2005267811A (en) * | 2004-03-22 | 2005-09-29 | Matsushita Electric Ind Co Ltd | Nonvolatile semiconductor storage apparatus and its writing method |
JP2009217861A (en) * | 2008-03-07 | 2009-09-24 | Vantel Corp | Nonvolatile semiconductor memory device and its self-test method |
Also Published As
Publication number | Publication date |
---|---|
JP5445500B2 (en) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1905068B (en) | Non-volatile memory device having improved programming speed and associated programming method | |
KR100624595B1 (en) | Non-volatile semiconductor memory device, data write-in method of non-volatile semiconductor memory device and memory card | |
US8159892B2 (en) | Nonvolatile memory device and method of testing the same | |
US20130326295A1 (en) | Semiconductor memory device including self-contained test unit and test method thereof | |
US6981188B2 (en) | Non-volatile memory device with self test | |
JP2012059349A (en) | Semiconductor memory device and operation method thereof | |
KR101936354B1 (en) | Memory device and method for testing the same | |
US8184483B2 (en) | Nonvolatile memory device and method of programming the same | |
JP2007164839A (en) | Nonvolatile semiconductor memory device and its self-test method | |
US8006145B2 (en) | Semiconductor integrated circuit device | |
KR102019567B1 (en) | Semiconductor memory device and operation setting method thereof | |
JP2011253593A (en) | Nonvolatile semiconductor memory device | |
KR102031191B1 (en) | Non-volatile memory and boot up operation method of the same | |
KR102103415B1 (en) | Semiconductor device, memory device and system including the same | |
JPH07282600A (en) | Electrically changeable nonvolatile memory in which test function is incorporated | |
JP5445500B2 (en) | Semiconductor memory device | |
KR20090011195A (en) | Flash memory device and method of programming the same | |
TWI571879B (en) | Flash memory apparatus and data erasing method thereof | |
KR20100085657A (en) | Non volatile memory device and method of operating the same | |
JP2006190488A (en) | Write-in method in semiconductor memory device | |
US9666291B2 (en) | Auto program and auto cycling method for non-volatile memory | |
JP2013127827A (en) | Nonvolatile semiconductor memory device | |
KR20120117347A (en) | Semiconductor memory device and test mothod thereof | |
KR101034447B1 (en) | Semiconductor apparatus and program method thereof | |
KR100939670B1 (en) | Semiconductor test system and the method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130806 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130924 |
|
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: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131209 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5445500 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |