JP2020113351A - メモリチップ - Google Patents

メモリチップ Download PDF

Info

Publication number
JP2020113351A
JP2020113351A JP2019002873A JP2019002873A JP2020113351A JP 2020113351 A JP2020113351 A JP 2020113351A JP 2019002873 A JP2019002873 A JP 2019002873A JP 2019002873 A JP2019002873 A JP 2019002873A JP 2020113351 A JP2020113351 A JP 2020113351A
Authority
JP
Japan
Prior art keywords
read
data
circuit
memory chip
memory
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
JP2019002873A
Other languages
English (en)
Inventor
健一 荒井
Kenichi Arai
健一 荒井
佳和 原田
Yoshikazu Harada
佳和 原田
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.)
Kioxia Corp
Original Assignee
Kioxia 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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2019002873A priority Critical patent/JP2020113351A/ja
Priority to TW108123929A priority patent/TWI712046B/zh
Priority to CN201910723762.7A priority patent/CN111429958B/zh
Priority to US16/564,513 priority patent/US10892030B2/en
Publication of JP2020113351A publication Critical patent/JP2020113351A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2855Environmental, reliability or burn-in testing
    • G01R31/2872Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation
    • G01R31/2879Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation related to electrical aspects, e.g. to voltage or current supply or stimuli or to electrical loads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/006Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation at wafer scale level, i.e. wafer scale integration [WSI]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/06Acceleration testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing

Abstract

【課題】簡単に試験することができるメモリチップを提供する。【解決手段】メモリチップは、メモリセルアレイと、第1回路と、を備える。第1回路は、メモリセルアレイの対象領域に対してデータをパラメータを用いてリードする第1処理を実行する。第1回路は、第1処理の後、パラメータの設定値を変更してデータをリードする第2処理を実行する。【選択図】図11

Description

本実施形態は、メモリチップに関する。
従来、NAND型フラッシュメモリのメモリチップの出荷前には、当該メモリチップの試験が実施される。
特開2003−196999号公報 特開2004−14037号公報 特開2012−69185号公報
一つの実施形態は、簡単に試験することができるメモリチップを提供することを目的とする。
一つの実施形態によれば、メモリチップは、メモリセルアレイと、第1回路と、を備える。前記第1回路は、前記メモリセルアレイの対象領域に対してデータをパラメータを用いてリードする第1処理を実行する。そして、前記第1回路は、前記第1処理の後、前記パラメータの設定値を変更して前記データをリードする第2処理を実行する。
図1は、実施形態のメモリチップの使用の様態の一例を示す模式的な図である。 図2は、実施形態のメモリチップの構成の一例を示す模式的な図である。 図3は、実施形態のメモリセルアレイに含まれる1個のブロックBLKの構成例を示す回路図である。 図4は、TLCが採用された場合の実施形態のメモリセルの取り得るしきい値電圧の一例を示す図である。 図5は、実施形態のセンスアンプの構成の一例を示す模式的な図である。 図6は、実施形態のメモリチップの試験の際の状況の一例を示す模式的な図である。 図7は、実施形態のレジスタREGに格納される各種のパラメータの一例を示す模式的な図である。 図8は、実施形態の複数のパラメータセットが格納されたユーザロムを示す模式的な図である。 図9は、実施形態のメモリセルアレイに格納されるデータを説明するための模式的な図である。 図10は、実施形態のメモリチップの試験の手順の一例を説明するためのシーケンス図である。 図11は、実施形態のメモリチップが実行する試験動作の一連の手順の一例を説明するフローチャートである。
以下に添付図面を参照して、実施形態にかかるメモリチップを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
実施形態のメモリチップは、メモリコントローラとともにメモリシステムを構成することができる。
図1は、実施形態のメモリチップがメモリシステムに実装された様態の一例を示す模式的な図である。ここでは、メモリシステムの一例として、SSD(Solid State Drive)を挙げて説明する。なお、実施形態のメモリシステムは、SSD以外のメモリシステムにも実装され得る。
図1に示されるように、SSD100は、パーソナルコンピュータなどのホスト装置200と接続され、ホスト装置200の外部記憶装置として機能する。SSD100とホスト装置200とを接続する通信インタフェースが準拠する規格としては、SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)など様々な規格が採用可能である。
SSD100は、NANDメモリ1と、ホスト装置200とNANDメモリ1との間のデータ転送を実行するメモリコントローラ2と、メモリコントローラ2が転送データを一時格納するための揮発性メモリであるRAM3と、を備えている。ホスト装置200から送信されてきたデータは、メモリコントローラ2の制御の下、いったんRAM3に格納され、その後、RAM3から読み出されてNANDメモリ1に書き込まれる。
NANDメモリ1は、マルチチップパッケージ10を複数(ここでは4つ)備える。4つのマルチチップパッケージ10は、夫々異なるチャネル(Ch.0〜Ch.3)の接続配線でメモリコントローラ2に接続されている。そして、チャネル毎のマルチチップパッケージは互いに独立して制御される。即ち、4つのマルチチップパッケージ10は、同時並行的に動作することが可能にメモリコントローラ2に接続されている。
なお、夫々のチャネルは、I/O信号線、制御信号線、およびR/B信号線を含む。以降、「信号線」を「信号」と略記することがある。制御信号は、チップイネーブル信号(CE)、コマンドラッチイネーブル信号(CLE)、アドレスラッチイネーブル信号(ALE)、ライトイネーブル信号(WE)、リードイネーブル信号(RE)、ライトプロテクト信号(WP)、データストローブ信号(DQS)を含む。
各マルチチップパッケージ10は、複数(ここでは4つ)のメモリチップ11a〜11dがモールド樹脂で封止された構成を有している。そして、1つのマルチチップパッケージ10に含まれる4つのメモリチップ11a〜11dには、I/O信号線、制御信号線、およびR/B信号線が共通に接続されている。なお、チャネルを構成する配線群のうちの一部または全部は、必ずしも4つのメモリチップ11a〜11dに共通に接続されていなくてもよい。
ここで、各マルチチップパッケージ10に備えられるメモリチップ11a〜11dのそれぞれは、実施形態のメモリチップの一例である。メモリチップ11a〜11dのそれぞれを総称して、メモリチップ11と表記することがある。
メモリコントローラ2は、ホストインタフェースコントローラ(ホストI/Fコントローラ)21と、RAMコントローラ22と、NANDコントローラ23と、MPU24と、ECC(Error Check and Correct)回路25と、を備える。ホストI/Fコントローラ21は、ホスト装置200との間の通信インタフェースの制御およびホスト装置200とRAM3との間のデータ転送の制御を実行する。RAMコントローラ22は、RAM3に対するデータのリード/ライトを制御する。ECC回路25は、メモリチップ11から読み出されたデータに含まれる誤り、つまりフェイルビットの訂正を実行することができる。
MPU24は、ファームウェアなどのコンピュータプログラムに基づいてメモリコントローラ2全体の制御を実行する。MPU24は、例えば、論理アドレスと物理アドレスとの対応関係の管理、ガベージコレクション、リフレッシュ、ウェアレベリング、リードレベルの設定値の変更、などを実行することができる。なお、MPU24が実行する動作のうちの一部または全部は、コンピュータプログラムを要しないハードウェア回路によって実現されてもよい。リードレベルについては後述する。
NANDコントローラ23は、NANDメモリ1とRAM3との間のデータ転送の制御を実行する。NANDコントローラ23は、MPU24からの読み出し指示/書き込み指示/消去指示に基づいて、所望のチャネルのマルチチップパッケージ10にI/O信号と制御信号とを送信する。当該チャネルのマルチチップパッケージ10に含まれるメモリチップ11a〜11dは、受信した信号の内容に対応した動作を実行することができる。
なお、メモリチップ11の実装の様態は、上記の例だけに限定されない。メモリチップ11は、必ずしもマルチチップパッケージ10に封止されていなくてもよい。
図2は、実施形態のメモリチップ11の構成の一例を示す模式的な図である。図示されるように、メモリチップ11は、I/O信号処理回路111、制御信号処理回路112、チップ制御回路113、コマンドレジスタ114、アドレスレジスタ115、ステータスレジスタ116、メモリセルアレイ117、カラムデコーダ118、センスアンプ119、ロウデコーダ120、およびRY/BY生成回路121を備える。センスアンプ119は、データレジスタ122を備える。
なお、チップ制御回路113、センスアンプ119、およびロウデコーダ120は、第1回路の一例である。また、I/O信号処理回路111、制御信号処理回路112、RY/BY生成回路121は、第2回路の一例である。
制御信号処理回路112は、各種制御信号の入力を受け付け、受け付けた制御信号に基づいて、前記I/O信号処理回路111が受け付けたI/O信号の格納先のレジスタの振り分けを実行する。また、制御信号処理回路112は、受け付けた制御信号をチップ制御回路113に転送する。
チップ制御回路113は、制御信号処理回路112を介して受信する各種制御信号に基づいて状態(ステート)遷移する状態遷移回路(ステートマシン)である。チップ制御回路113は、各種制御信号に基づいてメモリチップ11全体の動作を制御する。チップ制御回路113は、動作の制御の状態や動作の制御の結果などを示すステータス情報を生成して、ステータス情報をステータスレジスタ116に格納することができる。チップ制御回路113は、ステータスレジスタ116に格納されたステータス情報を、メモリコントローラ2などからのステータスリードコマンドに応じてI/O信号処理回路111を介して出力することができる。
チップ制御回路113は、レジスタREGを備える。レジスタREGに格納される情報については後述する。
RY/BY生成回路121は、チップ制御回路113による制御の下でRY/BY信号線の状態をレディー状態(R)とビジー状態(B)との間で遷移させる。
I/O信号処理回路111は、I/O信号線を介してメモリコントローラ2との間でI/O信号を送受信するためのバッファ回路である。I/O信号処理回路111がI/O信号として取り込んだコマンド、アドレス、データ(ライトデータ)は、夫々、アドレスレジスタ115、コマンドレジスタ114、データレジスタ122に振り分けられて格納される。
アドレスレジスタ115に格納されたアドレスは、ロウアドレスおよびカラムアドレスを含む。ロウアドレスはロウデコーダ120、カラムアドレスはカラムデコーダ118に夫々読み出される。
メモリセルアレイ117は、NAND型のメモリセルが配列されて構成されており、ホスト装置200から受信したライトデータが格納される。具体的には、メモリセルアレイ117は、複数のブロックBLKを備える。1つのブロックBLKに格納された全てのデータは、一括して消去(イレース)される。
図3は、実施形態のメモリセルアレイ117に含まれる1個のブロックBLKの構成例を示す回路図である。図示するように、ブロックBLKは、X方向に沿って順に配列された(p+1)個のNANDストリングを備えている(p≧0)。(p+1)個のNANDストリングにそれぞれ含まれる選択トランジスタST1は、ドレインがビット線BL0〜BLpに接続され、ゲートが選択ゲート線SGDに共通接続されている。また、選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
メモリセルトランジスタMTは、制御ゲート電極と電荷蓄積層とを備えている。メモリセルトランジスタMTは、一例では、電荷蓄積層に絶縁膜を用いたMONOS型のトランジスタである。電荷蓄積層に蓄えられる電子の数に応じてメモリセルトランジスタMTのしきい値電圧が変化する。
各NANDストリングにおいて、(q+1)個のメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている(q≧0)。そして、最もドレイン側に位置するメモリセルトランジスタMTから順に、制御ゲート電極がワード線WL0〜WLqにそれぞれ接続されている。従って、ワード線WL0に接続されたメモリセルトランジスタMTのドレインは選択トランジスタST1のソースに接続され、ワード線WLqに接続されたメモリセルトランジスタMTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLqは、ブロック内の全てのNANDストリング間で、メモリセルトランジスタMTの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタMTの制御ゲート電極は、同一のワード線WLに接続される。同一のワード線WLに接続される(p+1)個のメモリセルトランジスタMTに対し、一括してデータのプログラムおよびデータのリードを行うことが可能である。各メモリセルMTに1ビットの値を保持可能に構成される場合には、同一のワード線WLに接続される(p+1)個のメモリセルトランジスタMTは1ページとして取り扱われ、このページごとにデータのプログラムおよびデータのリードが行われる。
なお、メモリセルアレイ117に対してデータのプログラムを実行する動作を、プログラム処理と表記する。メモリセルアレイ117に対してデータのリードを実行する動作を、リード処理と表記する。プログラム処理およびリード処理は、ワード線WL単位で実行され得る。
実施形態では、各メモリセルトランジスタMTは、複数ビットの値を格納可能することができる。各メモリセルトランジスタMTが複数ビットの値を格納する方式の一例として、各メモリセルトランジスタMTが3ビットの値を格納する方式について説明する。各メモリセルMTが3ビットの値を格納する方式は、TLC(Tripple Level Cell)として知られている。なお、以降では、メモリセルトランジスタMTを、単に、メモリセルと表記する。
図4は、TLCが採用された場合の実施形態のメモリセルの取り得るしきい値電圧の一例を示す模式的な図である。縦軸は、メモリセルの数を示しており、横軸は、しきい値電圧を示している。
TLCの場合、しきい値電圧の取り得る範囲は、8つの範囲に区分される。この8つの区分を、しきい値電圧が低いほうから順に、ステートEr、ステートA、ステートB、ステートC、ステートD、ステートE、ステートF、およびステートGと呼ぶことにする。各メモリセルのしきい値電圧は、ステートEr、ステートA、ステートB、ステートC、ステートD、ステートE、ステートF、およびステートG、の何れかに属するように、制御される。その結果、しきい値電圧に対するメモリセルの数をプロットした場合、メモリセルの数は、それぞれ異なるステートに属する8つのローブを形成する。
8つのステートは、3ビットのデータに対応する。図4の例によれば、ステートErは“111”に対応し、ステートAは“110”に対応し、ステートBは“100”に対応し、ステートCは“000”に対応し、ステートDは“010”に対応し、ステートEは“011”に対応し、ステートFは“001”に対応し、ステートGは“101”に対応する。このように、各メモリセルは、そのしきい値電圧が属するステートに応じたデータを保持することができる。なお、図4に示す対応関係は、データコーディングの一例である。データコーディングはこの例に限定されない。
1つのメモリセルに保持される3ビットのデータのうち、LSB(Least Significant Bit)をロアービット、MSB(Most Significant Bit)をアッパービット、LSBとMSBとの間のビットをミドルビット、と表記する。同一のワード線WLに属する全てのメモリセルのロアービットの集合を、ロアーページと表記する。同一のワード線WLに属する全てのメモリセルのミドルビットの集合を、ミドルページと表記する。同一のワード線WLに属する全てのメモリセルのアッパービットの集合を、アッパーページと表記する。ロアーページ、ミドルページ、およびアッパーページを、ページの種類と表記する。
隣接する2つのステートの境界には、その境界に対応したリードレベルが設定される。図4の例では、ステートErとステートAとの境界に対応したリードレベルVraと、ステートAとステートBとの境界に対応したリードレベルVrbと、ステートBとステートCとの境界に対応したリードレベルVrcと、ステートCとステートDとの境界に対応したリードレベルVrdと、ステートDとステートEとの境界に対応したリードレベルVreと、ステートEとステートFとの境界に対応したリードレベルVrfと、ステートFとステートGとの境界に対応したリードレベルVrgと、が設定されている。
リード処理においては、メモリセルのしきい値電圧と、リードレベルと、の比較によって、当該メモリセルに格納されたデータが判定される。リード処理のより詳しい説明は後述する。
図2に説明を戻す。ロウデコーダ120、カラムデコーダ118、センスアンプ119は、チップ制御回路113による制御に基づいて、メモリセルアレイ117に対するアクセスを実行する。
具体的には、プログラム処理においては、ロウデコーダ120は、ロウアドレスに対応したワード線を選択して、選択したワード線を活性化する。カラムデコーダ118は、カラムアドレスに対応したビット線を選択して活性化する。センスアンプ119は、カラムデコーダ118により選択されたビット線に電圧を印加して、ロウデコーダ120が選択したワード線とカラムデコーダ118が選択したビット線との交点に位置する、対象のメモリセルに、データレジスタ122に格納されているデータを書き込む。
また、リード処理においては、ロウデコーダ120は、ロウアドレスに対応したワード線にページの種類に対応した複数のリードレベルを順次、印加する。センスアンプ119は、対象のメモリセルが導通状態であるか非導通状態であるかを、ロウデコーダ120がワード線に印加したリードレベル毎にセンスし、リードレベル毎のセンス結果に基づいて対象のメモリセルに格納されたデータを判定し、判定によって得られたデータをデータレジスタ122に格納する。データレジスタ122に格納されたデータは、データ線を通してI/O信号処理回路111に送られ、I/O信号処理回路111からメモリコントローラ2へ転送される。
図5は、実施形態のセンスアンプ119の構成の一例を示す模式的な図である。本図に示されるように、センスアンプ119は、データレジスタ122と、演算器123と、を備える。データレジスタ122は、SDL、ADL、BDL、CDL、DDL、およびXDLと名付けられた6つのラッチ回路群を備える。
6つのラッチ回路群のそれぞれは、例えば、ビット線BL毎に設けられたラッチ回路の群である。つまり、6つのラッチ回路群のそれぞれは、1ページ分のデータを格納可能である。演算器123は、複数のラッチ回路群に格納されたデータに対し、同一のビット線BLに対応したラッチ回路間でのビット演算を実行することができる。
例えばリード処理においては、センスアンプ119は、リードレベルが印加される毎に、対象のメモリセルが導通状態であるか非導通状態であるかをセンスして、リードレベルが印加される毎に得られたセンスの結果を6つのラッチ回路群のうちの例えばSDLに順次、格納する。演算器123は、ADL、BDL、CDL、DDL、およびXDLを中間データの格納領域として利用しながら、SDLに順次格納されるリードレベル毎のセンスの結果に対してビット演算を行う。そして、演算器123は、最終的な演算結果、つまりしきい値電圧が属するステートに対応したデータを生成してXDLに格納する。XDLに格納されたデータは、データ線を通してI/O信号処理回路111に送られる。
ビット演算の方法は、特定の方法に限定されない。以下に、ロアーページに格納されたデータを判定する場合におけるビット演算の一例を簡単に説明する。なお、この説明においては、センス結果に関し、「0」は導通状態を意味し、「1」は非導通状態を意味することとする。
図4に示されるデータコーディングによれば、リードレベルVraからリードレベルVreまでの範囲に含まれる4つのステートでは、ロアービットのデータは「0」に該当し、当該範囲に含まれない4つのステートでは、ロアービットのデータは「1」に該当する。よって、ロアーページのデータを読み出す場合には、リードレベルVraおよびリードレベルVreが使用される。
センスアンプ119は、まず、リードレベルVraが印加された場合のセンス結果ARをSDLに格納し、その後、時間をおいて、リードレベルVreが印加された場合のセンス結果ERをSDLに格納する。演算器123は、まず、SDLに格納されたセンス結果ARに対して否定(NOT)演算を行い、否定演算によって反転されたセンス結果ARを別のラッチ回路群(例えばDDL)に格納する。続いて、センス結果ERがSDLに格納されると、演算器123は、DDLに格納されている反転されたセンス結果ARと、SDLに格納されたセンス結果ERの論理和(OR)演算を行い、当該論理和演算の結果をXDLに格納する。
上記の一連のビット演算によって、しきい値電圧がリードレベルVraからリードレベルVreまでの範囲に含まれるメモリセルから「0」が読み出され、しきい値電圧がリードレベルVraからリードレベルVreまでの範囲に含まれないメモリセルから「1」が読み出される。
なお、ビット演算の方法は、以上に述べた方法に限定されない。任意のビット演算によってロアーページに格納されたデータを判定することができる。
ミドルページおよびロアーページに格納されたデータを判定する場合においても、ページの種類に対応した所定のビット演算が実行される。ミドルページおよびロアーページに格納されたデータを判定する場合のビット演算の方法については説明を省略する。
なお、センスアンプ119に含まれるラッチ回路群の数は、6つに限定されない。センスアンプ119に含まれるラッチ回路群の数は、ビット演算の方法に応じて種々に変更され得る。また、ビット演算に際しての各ラッチ回路群の使用方法は、上記に説明した方法だけに限定されない。センスアンプ119は、具備するラッチ回路群を、任意に使用することが可能である。
ところで、メモリセルのしきい値電圧は、種々の要因によって変化し得る。よって、センスアンプ119によって判定されたデータは、プログラム処理が実行された時点でのデータと異なる可能性がある。プログラム処理が実行された時点のデータとリード処理によって読み出されたデータとで異なるビットを、フェイルビットと呼ぶ。つまり、メモリセルアレイ117からリードされたデータは、フェイルビットを含む場合がある。
メモリコントローラ2は、メモリチップ11にデータの読み出しを指示して、当該指示の応答としてデータを受信した場合には、ECC回路25を用いて、当該データに含まれるフェイルビットの検出と訂正とを実行する。しかしながら、データに含まれるフェイルビットの数がECC回路25によって訂正可能な数を超える場合、フェイルビットの訂正に失敗する。その場合には、メモリコントローラ2は、リードレベルの設定値を変更して、変更された設定値を用いたリード処理をメモリチップ11に指示することができる。
変更された設定値を用いて実行されるリード処理を、特に、リトライリード(Retry Read:RR)処理と表記する場合がある。メモリコントローラ2は、例えば、ECC回路25がフェイルビットの訂正に成功するまで、リードレベルの設定値を異ならせながらメモリチップ11にリトライリード処理を繰り返し実行させることができる。
上記のように構成されたメモリチップ11は、出荷前には、品質評価の試験が実施される。
本実施形態と比較される技術によれば、リードレベルの設定値の変更が可能なメモリチップを試験したい場合、試験装置は、メモリチップから読み出されたデータに含まれるフェイルビットを検出したり、フェイルビットの検出結果に応じてリードレベルの変更の指示をメモリチップに送信したりすることが必要になる。つまり、メモリチップからの応答を検証できる高価な試験装置が必要となる。また、メモリチップからの応答を検証する必要があるため、試験に要する時間が長くなる。
これに対し、実施形態のメモリチップ11は、リードレベルの変更を含めたリトライリード処理を、自動で実行することができるように構成されている。これによって、実施形態によれば、試験装置は、メモリチップ11から送られてくる個々のデータを検証したり、データの検証結果に基づいて個々のメモリチップ11にリードレベルを設定したりすることが不要となる。つまり、試験が簡単になる。また、メモリチップからの応答を検証できない安価な試験装置を使用することが可能になる。
以降、メモリチップ11が自動でリードレベルの設定値の変更とリトライリード処理とを実行する機能を、オートリトライリード(Auto Retry Read:ARR)機能と表記する。つまり、実施形態の試験では、ARR機能が使用される。
図6は、実施形態のメモリチップ11の試験の際の状況の一例を示す模式的な図である。試験では、本図に示されるように、多数のメモリチップ11がバーンイン(Burn In)装置300に接続される。バーンイン装置300は、外部装置の一例である。
バーンイン装置300は、メモリチップ11に対して負荷をかけることを目的とした試験装置である。バーンイン装置300は、各メモリチップ11に対してコマンドを送信することができるが、各メモリチップ11の応答を取り込んだり、当該応答を検証したりすることはできない。本実施形態のメモリチップ11のARR機能を使用すれば、応答を取り込むことができないバーンイン装置300のような試験装置でも試験を行うことが可能である。
なお、バーンイン装置300と各メモリチップ11とは、I/O信号線、制御信号線、およびR/B信号線からなる配線群によって接続される。バーンイン装置300は、各メモリチップ11に対し、同時並行的に同一のコマンドを送信することができる。
ARR機能が使用される場合、チップ制御回路113が備えるレジスタREGには、ARR機能に基づく動作を規定する複数のパラメータが格納される。
図7は、実施形態のレジスタREGに格納される各種のパラメータの一例を示す模式的な図である。本図に示されるように、レジスタREGには、許容フェイルビット数、ARRフラグ、マルチパラメータリード用の開始アドレス、マルチパラメータリード用のステップアドレス、しきい値ThR、しきい値ThM、および最終ページのアドレス、が格納される。以降の説明では、これらのパラメータを総称して、ARRパラメータと表記することがある。
許容フェイルビット数は、リード処理によって読み出されたデータに含まれるフェイルビットの数と比較されるしきい値である。具体的には、リード処理によって読み出されたデータに含まれるフェイルビットの数が許容フェイルビット数を越えた場合、メモリチップ11は、リトライリード処理を実行する。リード処理によって読み出されたデータに含まれるフェイルビットの数が許容フェイルビット数を越えない場合、メモリチップ11は、リトライリード処理を実行しない。
許容フェイルビット数は、例えばメモリコントローラ2が備えるECC回路25のフェイルビットの訂正能力に応じて決められる。一例では、メモリコントローラ2が備えるECC回路25によって訂正可能なフェイルビットの数の上限値か、当該上限値よりも少ない数が、許容フェイルビット数として設定される。なお、許容フェイルビット数の設定方法は上記に限定されない。
ARRフラグは、ARR機能を使用するか否かを示すフラグ情報である。
マルチパラメータリード用の開始アドレス、およびマルチパラメータリード用のステップアドレスは、リード処理の動作に必要なパラメータセットが格納された位置に関するパラメータである。
図8に示されるように、複数のパラメータセットが、ユーザロム130と称される記憶領域に予め用意されている。ユーザロム130は、メモリセルアレイ117内の所定のブロックBLKに設けられてもよいし、メモリチップ11内の任意のメモリによって構成されてもよい。各パラメータセットは、リードレベルVra、Vrb、Vrc、Vrd、Vre、Vrf、Vrgの設定値を含む。つまり、各パラメータセットは、リード処理に使用される複数のパラメータの設定値を含んだものである。
なお、各パラメータセットは、リードレベルに加えて、他のパラメータを含み得る。例えば、リードレベルが印加されてからセンスを実行するまでの時間を規定するパラメータが、各パラメータセットに含まれていてもよい。また、リード処理以外の処理(例えばプログラム処理など)にかかるパラメータが、各パラメータセットに含まれていてもよい。
マルチパラメータリードは、ユーザロム130に予め用意された複数のパラメータセットのうちの1つを読み出して、読み出したパラメータセットに含まれる複数のパラメータの設定値を一括に適用することである。使用されるマルチパラメータセットの位置は、ユーザロム130内の位置を示すアドレスによって指定される。つまり、マルチパラメータリード用の開始アドレスは、リトライリード処理に該当しないリード処理、つまり初回のリード処理で使用される設定値が格納された位置を示している。
リトライリード処理が実行される毎に、リードレベルの設定値が変更される。リードレベルの設定値の変更は、使用されるマルチパラメータセットが切り替えられることによって実現される。実施形態では、直前のリード処理(リトライリード処理を含む)で使用されたパラメータセットに後続する位置に格納されたパラメータセットが、次に実行されるリトライリード処理で使用される。レジスタREGに格納されるマルチパラメータリード用のステップアドレスは、直前のリード処理(リトライリード処理を含む)で使用されたパラメータセットが格納されていた位置を示すアドレスを基準として、次に実行されるリトライリード処理で使用されるパラメータセットが格納されている位置を示す、アドレスのオフセット量である。
つまり、直前のリード処理(リトライリード処理を含む)で使用されたパラメータセットが格納されていた位置を示すアドレスに、マルチパラメータリード用のステップアドレスを加算することによって、次に実行されるリトライリード処理で使用されるパラメータセットが格納されている位置を示すアドレスを得ることが可能である。
なお、マルチパラメータリード用のステップアドレスは、1つのパラメータセットのサイズの整数倍の大きさを有する。つまり、1つのパラメータセットのサイズをマルチパラメータリード用のステップアドレスとして設定することによって、ユーザロム130に格納されている複数のパラメータセットを、格納位置の順番で使用することが可能である。また、1つのパラメータセットのサイズの2倍以上の値をマルチパラメータリード用のステップアドレスとして設定することによって、ユーザロム130に格納されている複数のパラメータセットを、所定個ずつスキップしながら使用することが可能である。
実施形態では、メモリチップ11は、いったんコマンドを受信すると、外部からの追加のコマンドを要することなく、複数のページに対する試験を順次、自動で実行することができる。具体的には、メモリチップ11は、所定の範囲の複数のページのそれぞれをアドレスの順番で順次、リード処理の対象ページとして設定して、設定された対象ページに対してリード処理を実行する。メモリチップ11は、対象ページからリードされたデータがフェイルビットの数の点で許容フェイルビット数によって定められた基準をクリアするまで、リトライリード処理を繰り返し実行することができる。そして、対象ページからリードされたデータがフェイルビットの数の点で許容フェイルビット数によって定められた基準をクリアした場合には、メモリチップ11は、次のページを新たな対象ページに設定する。
図7に説明を戻す。
しきい値ThRおよびしきい値ThMは、リトライリード処理の実行にかかる数に対して定められたしきい値である。
しきい値ThRは、1つのページに対して実行さるリトライリード処理の回数の上限値に対応する。また、しきい値ThMは、リトライリード処理が実行されるページの数の上限値に対応する。
また、最終ページのアドレスは、試験が実施される範囲の末尾のページを示すアドレスである。ここでは一例として、最終ページのアドレスは、ブロックBLKの先頭のページからのオフセット量、つまりページ番号で記述されることとする。なお、最終ページのアドレスの記述方法はこれに限定されない。
以降では、メモリチップ11が複数のページに対して連続してリード処理を実行する動作を、試験動作と表記する。メモリチップ11は、コマンドに応じて試験動作を開始した後、試験の対象のページが最終ページに至るか、またはリトライリード処理の実行にかかる数がしきい値ThRまたはしきい値ThMによって定められる基準を超えた場合は、試験動作を自動的に終了する。メモリチップ11は、試験動作の終了の際には、ステータスレジスタ116に試験の合否(Pass or Fail)にかかる情報を格納する。試験の合否にかかる情報については後述する。
フェイルビットの検出は、リード処理によって得られたデータと、当該データの期待値と、の比較によって実現される。期待値は、フェイルビットを含まないデータである。
図9は、実施形態のメモリセルアレイ117に格納されるデータを説明するための模式的な図である。本図に示されるように、メモリセルアレイ117が備える複数のブロックBLKのうちの、試験の対象として設定され得るブロックBLKtには、試験用データがTLCの方式で予め格納されている。つまり、各ブロックBLKtの各ワード線には、3ページ分のデータが格納されている。なお、各ブロックBLKtには、同一のデータが試験用データとして格納されている。
メモリセルアレイ117が備える複数のブロックBLKのうちの、所定の3つのブロックには、試験用データがSLC(Single Level Cell)と呼ばれる方式で格納されている。SLCは、1つのメモリセルに1ビットのデータが格納される方式である。
SLCによれば、TLCに比べて格納されているデータの信頼性が高い。つまり、SLCによれば、TLCに比べて、リードされるデータに含まれるフェイルビットの数が少ない。実施形態では、メモリチップ11は、SLCの方式で格納された試験用データを、フェイルビットを含まないデータ、すなわち期待値として見なす。
なお、試験用データは、ブロックBLKtには、TLCの方式で格納されている。よって、試験用データと同じデータをSLCの方式で格納すると、TLCの方式で格納する場合に要する記憶領域の3倍のサイズの記憶領域が必要となる。よって、図9に示されるように、期待値としての試験用データは、3つのブロックBLKeに分けて格納される。図9の例では、試験用データのうちのアッパービットに書き込まれたデータと、試験用データのうちのミドルページに書き込まれたデータと、試験用データのうちのロアーページに書き込まれたデータとが、それぞれ異なるブロックBLKeにSLCの方式で格納されている。
なお、期待値は、信頼性が高い方式であれば、SLC以外の任意の方式でブロックBLKeに格納され得る。フェイルビットの発生がほぼ無いのであれば、1つのメモリセルに2ビットのデータが格納されるMLC(Multi Level Cell)と呼ばれる方式で期待値がブロックBLKeに格納されてもよい。また、期待値は、メモリセルアレイ117と異なるメモリチップ11内の任意の記憶装置に予め格納されていてもよい。
次に、実施形態のメモリチップ11の試験方法と、試験におけるメモリチップ11の動作を説明する。
図10は、実施形態のメモリチップ11の試験の手順の一例を説明するためのシーケンス図である。
なお、図10では、図6に示される様態でバーンイン装置300に接続された多数のメモリチップ11のうちの1つと、バーンイン装置300と、の関係が示されている。バーンイン装置300は、自身に接続された他のメモリチップ11に対しても、図10に例示される各種のコマンドを同時並行的に送信することができる。
最初に、バーンイン装置300は、メモリチップ11に、ARRパラメータを設定する(S101)。ARRパラメータは、例えばセットフィーチャーと称されるコマンドによって設定され得る。バーンイン装置300がARRパラメータを送信すると、メモリチップ11では、I/O信号処理回路111およびコマンドレジスタ114を経由してチップ制御回路113にARRパラメータが送られる。そして、ARRパラメータは、チップ制御回路113が備えるレジスタREGに格納される。
なお、ARRパラメータのうちのARRフラグとしては、ARR機能の使用することを意味する値が設定される。これによって、バーンイン装置300がリードコマンドを送信すれば、メモリチップ11は、許容フェイルビット数、マルチパラメータリード用の開始アドレス、マルチパラメータリード用のステップアドレス、しきい値ThR、しきい値ThM、および最終ページのアドレス、に従って、試験動作を自動で実行することができる。
なお、ここでは一例として、メモリチップ11にブロックBLKt毎に試験動作を実行させる場合を説明する。1つのブロックBLKtを試験対象とした試験動作を実現するための一連の手順が、繰り返し実行される。1つのブロックBLKtを試験対象とした試験動作を実現するための一連の手順を、単位手順と表記する。つまり、単位手順(S102)は、試験対象のブロックBLKtを異ならせながら複数回実行され得る。
各単位手順では、バーンイン装置300が、まず、リードコマンドを送信する(S103)。リードコマンドは、試験対象のブロックBLKtを示すアドレスを含む。つまり、リードコマンドによって試験対象のブロックBLKtが指定される。
メモリチップ11は、リードコマンドを受信すると、試験動作を開始する(S104)。具体的には、例えば、チップ制御回路113は、リードコマンドを受信した際に、ARRフラグを参照する。当該ARRフラグには、ARR機能の使用することを意味する値がS101の処理によって設定されている。よって、チップ制御回路113は、S103によって送られてきたリードコマンドを、試験動作の開始を指示するコマンドと解釈して、試験動作を開始する。
なお、仮に、ARRフラグにARR機能の使用することを意味する値が設定されていない場合、チップ制御回路113は、リードコマンドを受信した際に、通常のリード処理を実行することができる。
図11は、実施形態のメモリチップ11が実行する試験動作の一連の手順の一例を説明するフローチャートである。
まず、チップ制御回路113は、試験動作で使用されるパラメータであるN、M、およびRをゼロにリセットする(S201)。
Nは、ブロックBLKtの先頭のページからのオフセット量に対応し、試験すなわちリード処理の対象のページを示す。つまり、Nは、試験の対象のページを示すページ番号である。Nをゼロでリセットすることで、ブロックBLKtの先頭のページが、試験の対象のページとして設定される。なお、S201では、ゼロ以外の任意の値がNにセットされてもよい。以降の説明では、ページ番号がNであるページ(ページ#N)、つまり試験の対象として設定されたページを、対象ページと表記する。
Mは、現在の対象ページに対して実行されたリトライリード処理の回数に対応するパラメータである。Rは、試験動作が開始されてからリトライリード処理が実行されたページの数に対応するパラメータである。
続いて、チップ制御回路113は、ロウデコーダ120およびセンスアンプ119を制御して、対象ページ(ページ#N)に格納された試験用データに対応する期待値をブロックBLKeからリードするリード処理を実行する(S202)。センスアンプ119は、リードされた期待値を、データレジスタ122を構成する6つのラッチ回路群のうちの、試験用データのリード処理(つまり後述のS203の処理)の際に使用されないラッチ回路群に格納する。期待値が格納されるラッチ回路群は、特定のラッチ回路群に限定されない。ここでは一例として、期待値はCDLに格納されることとする。
続いて、チップ制御回路113は、ロウデコーダ120およびセンスアンプ119を制御して、対象ページ(ページ#N)に格納された試験用データをリードするリード処理を実行する(S203)。なお、対象ページに対する初回のリード処理においては、マルチパラメータリード用の開始アドレスが示す位置に格納されたパラメータセットが使用される。
S203では、センスアンプ119は、期待値が格納されたCDLを使用しないで、対象ページに格納された試験用データを判定する。そして、センスアンプ119は、判定された試験用データを、例えばXDLに格納する。
続いて、チップ制御回路113は、CDLに格納された期待値と、XDLに格納された試験用データと、を比較する(S204)。具体的には、例えば、チップ制御回路113は、演算器123に、CDLに格納された期待値と、XDLに格納された試験用データと、の否定排他的論理和 (XNOR)演算を実行させる。これによって、試験用データと期待値とで等しいビットは「1」とされ、試験用データと期待値とで異なるビットは「0」とされた、比較結果が得られる。つまり、「1」は正常なビットを示し、「0」はフェイルビットを示す。なお、演算の方法はこれに限定されない。否定排他的論理和 (XNOR)演算に替えて、排他的論理和(XOR)演算が実行されてもよい。
続いて、チップ制御回路113は、リードされた試験用データに含まれるフェイルビットの数が許容フェイルビット数を越えたか否かを判定する(S205)。チップ制御回路113は、比較結果に含まれる「0」の数がレジスタREGに設定された許容フェイルビット数より多いか否かを判定する。
リードされた試験用データに含まれるフェイルビットの数が許容フェイルビット数を越えた場合(S205:Yes)、チップ制御回路113は、RおよびMのインクリメントを実行する(S206)。ただし、チップ制御回路113は、インクリメントされる前のMがゼロである場合にのみRのインクリメントを実行する。
続いて、チップ制御回路113は、Rがしきい値ThRより大きいか否かを判定する(S207)。S207では、試験動作が開始してからリトライリード処理が実行されたページの数がしきい値ThRに達したか否かが判定される。
Rがしきい値ThRより大きくない場合(S207:No)、つまり試験動作が開始してからリトライリード処理が実行されたページの数がしきい値ThRに達していない場合、チップ制御回路113は、Mがしきい値ThMより大きいか否かを判定する(S208)。S208では、現在の対象ページに対して実行されたリトライリード処理の数がしきい値ThMに達したか否かが判定される。
Mがしきい値ThMより大きくない場合(S208:No)、つまり現在の対象ページに対して実行されたリトライリード処理の数がしきい値ThMに達していない場合、チップ制御回路113は、パラメータセットを変更する(S209)。例えば、チップ制御回路113は、現在使用中のパラメータセットが格納された位置を示すアドレスに、マルチパラメータリード用のステップアドレスを加算し、加算によって得られたアドレスが示す位置に格納されたパラメータセットをロードする。
S209に続いて、チップ制御回路113は、S203の処理を再び実行する。S209を経てS203が再び実行されることによって、現在の対象ページに対する2回目以降のリード処理、すなわちリトライリード処理が実現する。
なお、対象ページとして設定されたページに対して初回に実行されるS203およびS204の処理は、第1処理の一例である。また、対象ページとして設定されたページに対して初回に実行されるS204の処理は、第3処理の一例である。また、対象ページとして設定されたページに対して実行される、S209と、当該S209を経て再び実行されるS203およびS204の処理とは、第2処理の一例である。また、対象ページとして設定されたページに対して実行される、S209を経て再び実行されるS204の処理は、第4処理の一例である。
Rがしきい値ThRより大きい場合(S207:Yes)、またはMがしきい値ThMより大きい場合(S208:Yes)、チップ制御回路113は、ステータスレジスタ116に不合格を示す情報として「フェイル」を示す値を格納し(S210)、試験動作を終了する。
リードされた試験用データに含まれるフェイルビットの数が許容フェイルビット数を越えていない場合(S205:No)、チップ制御回路113は、対象ページ、すなわちページ#Nは、最終ページに該当するか否かを判定する(S211)。チップ制御回路113は、例えば、NとレジスタREGに格納された最終ページのアドレスとが等しいか否かを判定することによって、ページ#Nが最終ページに該当するか否かを判定することができる。
ページ#Nが最終ページに該当する場合(S211:Yes)、チップ制御回路113は、試験動作を終了する。
ページ#Nが最終ページに該当しない場合(S211:No)、チップ制御回路113は、Mがゼロより大きいか否かを判定する(S212)。つまり、チップ制御回路113は、現在の対象ページに対するリトライリード処理が1回以上実行されたか否かを判定する。
Mがゼロより大きい場合(S212:Yes)、つまり現在の対象ページに対するリトライリード処理が1回以上実行された場合、現在使用しているパラメータセットが最初のリード処理で使用されたパラメータセットと異なる。よって、チップ制御回路113は、パラメータセットを変更する(S213)。つまり、チップ制御回路113は、マルチパラメータリード用の開始アドレスが示す位置に格納されたパラメータセットをロードする。
続いて、チップ制御回路113は、MをゼロでリセットするとともにNをインクリメントして(S214)、S202の処理を再び実行する。これによって、次のページが新たな対象ページに設定されて、当該新たな対象ページに対する試験が実施される。
このように、何れかのページに対して実行されたリトライリード処理の回数がしきい値ThMを越えるか、リトライリード処理が実行されたページの数がしきい値ThRを越えるか、または全てのページに対する試験が完了した場合、試験動作が終了する。何れかのページに対して実行されたリトライリード処理の回数がしきい値ThMを越えたか、または、リトライリード処理が実行されたページの数がしきい値ThRを越えた場合、ステータスレジスタに「フェイル」を示す値が格納される。全てのページに対する試験が完了した場合には、ステータスレジスタに「フェイル」を示す値は格納されない。
図10に説明を戻す。
メモリチップ11が試験動作(S104)を実行している間、バーンイン装置300は、待機する(S105)。つまり、動作を中断する。なお、バーンイン装置300は、メモリチップ11からの応答を取り込むことができないため、試験動作(S104)の終了を認識できない。よって、バーンイン装置300は、S103の実行後、予め決められた時間が経過するまで動作を中断する。試験動作に要する最大の時間が、中断の時間として予め設定される。
バーンイン装置300は、待機の後、ステータスフェイルコマンドをメモリチップ11に送信する(S106)。メモリチップ11では、チップ制御回路113は、ステータスフェイルコマンドを受信すると、ステータスレジスタ116に「フェイル」を示す値が格納されているか否かを判定する(S107)。
ステータスレジスタ116に「フェイル」を示す値が格納されている場合(S107:Yes)、チップ制御回路113は、所定のブロックBLKに、試験対象のブロックBLKtはバッドブロックである旨のフラグを格納する(S108)。バッドブロックとは、品質が所望のレベルに達していないために不使用とされるブロックをいう。つまり、試験動作によって得られた合否の判定結果は、バッドブロックの設定に利用される。
ステータスレジスタ116に「フェイル」を示す値が格納されていない場合(S107:No)、またはS108の処理の後、単位手順(S102)が終了する。
その後、単位手順(S102)は、試験対象のブロックBLKtを変更しながら、複数回実行される。所望の複数のブロックBLKtに対する試験が完了すると、バーンイン装置300は、メモリチップ11に対する試験を終了する。
なお、以上の説明においては、試験対象のブロックBLKに対する処理の合否の判定結果が不合格であった場合にのみ、「フェイル」を示す値がステータスレジスタ116に格納された。試験対象のブロックBLKに対する処理の合否の判定結果が合格であった場合に、「パス」を示す値がステータスレジスタ116に格納されてもよい。
また、所定のブロックBLKに書き込まれた、試験対象のブロックBLKtはバッドブロックである旨のフラグ(バッドブロックフラグ)は、バーンイン装置300を用いた試験の後、テスタなどの、メモリチップ11からの応答を検証することが可能な装置で読み出され得る。テスタは、リードコマンドをメモリチップ11に送ることによってメモリチップ11からバッドブロックフラグを取得して、バッドブロックフラグが示すブロックBLKtを、メモリチップ11が備える例えばロムヒューズ(不図示)にバッドブロックとして記録する。これによって、バッドブロックフラグが示すブロックBLKtは、使用が禁止されたブロックBLKとして設定される。
以上述べたように、実施形態によれば、チップ制御回路113、センスアンプ119、およびロウデコーダ120は、協働して、以下の動作を行う第1回路を構成する。第1回路は、メモリセルアレイ117の対象ページに対してデータをパラメータ(例えばリードレベル)を用いてリードする第1処理を実行する。第1処理は、例えば、対象ページとして設定されたページに対して初回に実行されるS203およびS204を含む処理である。第1回路は、第1処理の後、パラメータの設定値を変更してデータをリードする第2処理を実行する。第2処理は、例えば、対象ページとして設定されたページに対して実行される、S209と、当該S209を経て再び実行されるS203およびS204の処理と、を含む処理である。
この構成により、試験装置は、メモリチップ11から送られてくる個々のデータを検証したり、データの検証結果に基づいて個々のメモリチップ11にリードレベルを設定したりすることが不要となる。つまり、試験が簡単になる。また、メモリチップからの応答を検証できない安価な試験装置を使用することが可能になる。
また、I/O信号処理回路111、制御信号処理回路112、およびRY/BY生成回路121は、外部装置に接続可能な第2回路を構成する。バーンイン装置300は、外部装置に該当する。第1回路は、外部装置からのコマンド(例えばS103で送信されるリードコマンド)に応じて第1処理を実行し、第1処理の後、外部装置からのさらなるコマンドを要することなく第2処理を実行する。
この構成により、メモリチップ11は、リード処理の後、自動でリトライリード処理を実行することができる。よって、試験が簡単になる。また、メモリチップからの応答を検証できない安価な試験装置を使用することが可能になる。
また、第1処理は、データの期待値とリードされたリードとを比較する第3処理を含む。第3処理は、例えば対象ページとして設定されたページに対して初回に実行されるS204の処理である。第1回路は、第2処理を実行するか否かを第3処理の結果に基づいて判定する。判定の処理は、例えばS205の処理である。
この構成により、メモリチップ11は、リードされたデータに含まれるフェイルビットに基づいてリトライリード処理を実行するか否かを外部装置からのアシストを要することなく自動で判定することができる。よって、試験が簡単になる。また、メモリチップからの応答を検証できない安価な試験装置を使用することが可能になる。
また、第1回路は、外部装置からのコマンド(例えばS103によって送信されるリードコマンド)に応じて複数のページのうちの一を対象ページとして設定して第1処理か、または第1処理および第2処理の両方を実行する。その後、第1回路は、外部装置からのさらなるコマンドを要することなく、新たなページを対象ページとして設定し、第1処理か、または第1処理および第2処理の両方を実行する。
この構成により、メモリチップ11は、複数のページに対する試験を、ページ毎のコマンドの入力の必要なく自動で実行できる。
例えば、実施形態と比較される技術によれば、多数のメモリチップに対して同時並行的に試験を実行したい場合、1つのメモリチップにおいてリトライリード処理が実行されると、当該リトライリード処理が完了するまで、他のメモリチップの試験の進行が中断される。これによって、試験に要する時間が増大する。
実施形態によれば、ページ毎のコマンドの入力を要せずに複数のページに対する試験が自動で実行されるので、1つのメモリチップ11のあるページでリトライリード処理が実行されても、その間、他のメモリチップ11は試験を進めることができる。したがって、多数のメモリチップ11に対して同時並行的に試験を実行する場合であっても、試験に要する時間の増大を抑制することができる。
また、第1回路は、複数のブロックBLKのうちの指定された試験対象のブロックBLKが備える複数のページのそれぞれを順次、対象ページとして設定し、第2処理に関する第1の数を計測し、第1の数に基づいて、試験対象のブロックBLKに対する処理の合否を判定する。第1の数は、例えば図11の一連の処理で使用されるMまたはRである。また、第1の数を計測する処理は、例えば、S201、S206、およびS214などの処理である。また、試験対象のブロックBLKに対する処理の合否を判定する処理は、例えば、S207またはS208の処理である。
この構成により、リトライリード処理の実行によってデータのリードに多くの時間を要したり、あるいはリトライリード処理によってもデータのリードが困難な部分を、ブロック単位で抽出することが可能となる。
また、第1回路は、ステータスレジスタ116に合否の判定結果を格納する。
これによって、例えば外部装置は、ステータスリードコマンドと称されるステータスレジスタ116の内容を出力されるコマンドを送信することができれば、合否の判定の結果を取得することができる。
なお、合否の判定結果が格納される位置は、ステータスレジスタ116だけに限定されない。第1回路は、メモリセルアレイ117が備える所定の部録BLKに合否の判定結果を格納してもよい。
また、第1の数は、ページ毎に計測される第2処理の実行回数である。そして、第1回路は、第1の数としきい値との比較に基づいて合否を判定する。図11の例では、パラメータMが第1の数に該当する。そして、S208の処理が、第1の数としきい値とを比較する処理に該当する。
この構成により、例えば所定回数以上リトライリード処理を実行しても所定以上の基準を有するデータを得ることができないページが存在する場合には、そのページを含むブロックBLKの試験の結果を不合格とすることが可能となる。
また、第1の数は、ブロックBLKが備える複数のページのうちの第2処理が実行されたページの数である。そして、第1回路は、第1の数としきい値との比較に基づいて合否を判定する。図11の例では、パラメータRが第1の数に該当する。そして、S207の処理が、第1の数としきい値とを比較する処理に該当する。
この構成により、データをリードする際にリトライリード処理を要するページの数が所定以上であるブロックBLKの試験の結果を不合格とすることが可能となる。
なお、リードに使用されるパラメータは、例えばリードレベルである。リードに使用されるパラメータは、リードレベルに加えて、他のパラメータを含み得る。例えば、リードに使用されるパラメータは、リードレベルが印加されてからセンスを実行するまでの時間を規定する時間情報を含んでいてもよい。
また、第1の数と比較されるしきい値(しきい値ThM、ThR)は、例えば図10のS101の処理のように、外部装置から設定可能である。
これによって、ブロックBLKの試験の結果の判定基準を柔軟に変更することが可能となる。
なお、以上説明された例では、パラメータRは、試験動作毎にリセットされた。チップ制御回路113は、ブロックBLKt毎の試験動作を実施する毎に、パラメータRを累積して、パラメータRの累積値を所定の記憶領域(例えば所定のブロックBLK)に格納してもよい。また、チップ制御回路113は、試験結果が不合格である場合には、パラメータRの値を、累積値に加算せず、試験結果が合格である場合には、パラメータRの値を、累積値に加算するように、構成されてもよい。
(付記1)
第2処理は、第3処理と同じ処理である第4処理を含み、
第1回路は、第2処理の後、第4処理の結果に基づいて第2処理を再び実行するか否かを判定する。
(付記2)
メモリセルアレイ117は、複数のブロックBLKを備え、
複数のブロックBLKのそれぞれは、複数のページを備え、
第1回路は、複数のブロックBLKのうちの一のブロックBLKが備える複数のページのそれぞれを順次、対象ページとして設定し、第2処理に関する第1の数を計測し、第1の数に基づいて一のブロックBLKに対する処理の合否を判定する。
(付記3)
メモリセルアレイ117は、それぞれしきい値電圧が複数のステートのうちのデータに対応したステートが設定される複数のメモリセルトランジスタMTを備え、
データのリードは、複数のステートのうちの隣接する2つのステートの境界に対応するリードレベルとしきい値電圧との比較によってデータを判定する処理であり、
パラメータは、リードレベルを含む。
(付記4)
しきい値ThMは外部装置から設定可能である。
(付記5)
しきい値ThRは外部装置から設定可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 NANDメモリ、2 メモリコントローラ、3 RAM、10 マルチチップパッケージ、11 メモリチップ、21 ホストI/Fコントローラ、22 RAMコントローラ、23 NANDコントローラ、24 MPU、25 ECC回路、111 I/O信号処理回路、112 制御信号処理回路、113 チップ制御回路、114 コマンドレジスタ、115 アドレスレジスタ、116 ステータスレジスタ、117 メモリセルアレイ、118 カラムデコーダ、119 センスアンプ、120 ロウデコーダ、121 RY/BY生成回路、122 データレジスタ、123 演算器、130 ユーザロム、200 ホスト装置、300 バーンイン装置。

Claims (8)

  1. メモリセルアレイと、
    前記メモリセルアレイの対象領域に対してデータをパラメータを用いてリードする第1処理を実行し、前記第1処理の後、前記パラメータの設定値を変更して前記データをリードする第2処理を実行する第1回路と、
    を備えるメモリチップ。
  2. 外部装置に接続可能な第2回路をさらに備え、
    前記第1回路は、前記外部装置からのコマンドに応じて前記第1処理を実行し、前記第1処理の後、前記外部装置からのさらなるコマンドを要することなく前記第2処理を実行する、
    請求項1に記載のメモリチップ。
  3. 前記第1処理は、前記データの期待値と前記リードされたデータとを比較する第3処理を含み、
    前記第1回路は、前記第2処理を実行するか否かを前記第3処理の結果に基づいて判定する、
    請求項1に記載のメモリチップ。
  4. 外部装置に接続可能な第2回路をさらに備え、
    前記メモリセルアレイは、複数の第1記憶領域を備え、
    前記第1回路は、前記外部装置からのコマンドに応じて前記複数の第1記憶領域のうちの一の第1記憶領域を前記対象領域として設定して前記第1処理、または前記第1処理および前記第2処理を実行し、その後、前記外部装置からのさらなるコマンドを要することなく前記複数の第1記憶領域のうちの前記一の第1記憶領域と異なる他の第1記憶領域を前記対象領域として設定して前記第1処理、または前記第1処理および前記第2処理を実行する、
    請求項3に記載のメモリチップ。
  5. 第2記憶領域をさらに備え、
    前記メモリセルアレイは、複数の第3記憶領域を備え、
    前記複数の第3記憶領域のそれぞれは、前記複数の第1記憶領域を備え、
    前記第1回路は、前記複数の第3記憶領域のうちの一である第4記憶領域が備える前記複数の第1記憶領域のそれぞれを順次、前記対象領域として設定し、前記第2処理に関する第1の数を計測し、前記第1の数に基づいて前記第4記憶領域に対する処理の合否を判定し、合否の判定の結果を前記第2記憶領域に格納する、
    請求項4に記載のメモリチップ。
  6. 前記第2処理は、前記第3処理と同じ処理である第4処理を含み、
    前記第1回路は、前記第2処理の後、前記第4処理の結果に基づいて前記第2処理を再び実行するか否かを判定し、
    前記第1の数は、前記第1記憶領域毎に計測される前記第2処理の実行回数であり、
    前記第1回路は、前記第1の数としきい値との比較に基づいて合否を判定する、
    請求項5に記載のメモリチップ。
  7. 前記第1の数は、前記第4記憶領域が備える前記複数の第1記憶領域のうちの前記第2処理が実行された第1記憶領域の数であり、
    前記第1回路は、前記第1の数としきい値との比較に基づいて合否を判定する、
    請求項5に記載のメモリチップ。
  8. 前記第1回路は、第2の数を記憶し、前記第4記憶領域に対する前記処理は不合格と判定した場合、前記第2の数に前記第1の数を加算せず、前記第4記憶領域に対する前記処理は合格と判定した場合、前記第2の数に前記第1の数を加算する、
    請求項7に記載のメモリチップ。
JP2019002873A 2019-01-10 2019-01-10 メモリチップ Pending JP2020113351A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019002873A JP2020113351A (ja) 2019-01-10 2019-01-10 メモリチップ
TW108123929A TWI712046B (zh) 2019-01-10 2019-07-08 記憶體晶片
CN201910723762.7A CN111429958B (zh) 2019-01-10 2019-08-06 存储器芯片
US16/564,513 US10892030B2 (en) 2019-01-10 2019-09-09 Memory system with controller and memory chips, where controller can change a set value read level and instruct memory chip to execute read operation with the changed set value

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019002873A JP2020113351A (ja) 2019-01-10 2019-01-10 メモリチップ

Publications (1)

Publication Number Publication Date
JP2020113351A true JP2020113351A (ja) 2020-07-27

Family

ID=71517710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019002873A Pending JP2020113351A (ja) 2019-01-10 2019-01-10 メモリチップ

Country Status (4)

Country Link
US (1) US10892030B2 (ja)
JP (1) JP2020113351A (ja)
CN (1) CN111429958B (ja)
TW (1) TWI712046B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386972B2 (en) * 2020-01-30 2022-07-12 Macronix International Co., Ltd. Determining read voltages for memory systems with machine learning
EP4258266A4 (en) * 2022-02-18 2024-04-17 Changxin Memory Tech Inc TEST METHOD FOR MEMORY CHIP AND RELATED DEVICE
US11894080B2 (en) * 2022-04-29 2024-02-06 Sandisk Technologies Llc Time-tagging read levels of multiple wordlines for open block data retention

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196999A (ja) 2001-12-26 2003-07-11 Ando Electric Co Ltd 半導体集積回路試験装置及び方法
JP2004014037A (ja) 2002-06-07 2004-01-15 Sony Corp 半導体メモリ及び半導体装置並びに半導体メモリの試験方法
JP2005332436A (ja) * 2004-05-18 2005-12-02 Toshiba Corp 半導体装置及びそのテスト方法
US7742339B2 (en) * 2006-01-10 2010-06-22 Saifun Semiconductors Ltd. Rd algorithm improvement for NROM technology
US20070234143A1 (en) * 2006-01-25 2007-10-04 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2012069185A (ja) 2010-09-22 2012-04-05 Toshiba Corp Nand型フラッシュメモリ、及び、nand型フラッシュメモリのテスト方法
WO2013027642A1 (en) * 2011-08-19 2013-02-28 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
WO2013132532A1 (en) * 2012-03-06 2013-09-12 Hitachi, Ltd. Semiconductor storage device having nonvolatile semiconductor memory
US9076545B2 (en) * 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
US9330787B2 (en) * 2013-03-18 2016-05-03 Kabushiki Kaisha Toshiba Memory system and memory controller
US9607703B2 (en) * 2014-09-08 2017-03-28 Kabushiki Kaisha Toshiba Memory system
US9928138B2 (en) * 2015-02-17 2018-03-27 Toshiba Memory Corporation Memory system
JP2018005959A (ja) * 2016-06-30 2018-01-11 東芝メモリ株式会社 メモリシステムおよび書き込み方法
JP6659494B2 (ja) * 2016-08-19 2020-03-04 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP6725375B2 (ja) * 2016-09-14 2020-07-15 キオクシア株式会社 メモリシステムおよび方法
JP2018147543A (ja) * 2017-03-09 2018-09-20 東芝メモリ株式会社 不揮発性半導体記憶装置
JP2019149219A (ja) * 2018-02-28 2019-09-05 東芝メモリ株式会社 メモリシステム
JP2020013626A (ja) * 2018-07-20 2020-01-23 キオクシア株式会社 メモリシステム
JP2020144668A (ja) * 2019-03-07 2020-09-10 キオクシア株式会社 メモリシステム

Also Published As

Publication number Publication date
CN111429958A (zh) 2020-07-17
TW202027088A (zh) 2020-07-16
TWI712046B (zh) 2020-12-01
CN111429958B (zh) 2023-10-03
US10892030B2 (en) 2021-01-12
US20200227132A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
US11216337B2 (en) Memory system
CN108122588B (zh) 非易失性存储器设备及包括其的存储设备
US7697359B2 (en) Flash memory device and refresh method thereof
US10347353B2 (en) Memory system
TWI447731B (zh) 資料讀取方法、記憶體儲存裝置及其控制器
US8437197B2 (en) Nonvolatile semiconductor memory and method of operating the same
US9563508B2 (en) Memory management method, memory control circuit unit and memory storage apparatus
CN111429958B (zh) 存储器芯片
JP2014512063A (ja) データセンシングのための方法、装置、およびシステム
TW201608569A (zh) 半導體記憶體裝置及其操作方法
US10388395B2 (en) Storage device and bad block assigning method thereof
US10115476B2 (en) Advanced programming verification schemes for memory cells
US20190088314A1 (en) Memory system and control method of memory system
US10748599B1 (en) Data reading method, storage controller and storage device background of the disclosure
US20200234786A1 (en) Data reading method, storage controller and storage device
JP6115740B1 (ja) 半導体記憶装置
US7577030B2 (en) Semiconductor storage device
US9786381B2 (en) Semiconductor memory device that determines a deterioration level of memory cells and an operation method thereof
US11048582B2 (en) Method for programming non-volatile memory
TWI446346B (zh) 資料讀取方法、記憶體儲存裝置及其記憶體控制器
US8923068B2 (en) Low margin read operation with CRC comparision