JP2019046530A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2019046530A JP2019046530A JP2017172150A JP2017172150A JP2019046530A JP 2019046530 A JP2019046530 A JP 2019046530A JP 2017172150 A JP2017172150 A JP 2017172150A JP 2017172150 A JP2017172150 A JP 2017172150A JP 2019046530 A JP2019046530 A JP 2019046530A
- Authority
- JP
- Japan
- Prior art keywords
- patrol
- memory
- memory system
- blocks
- priority
- 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
Links
Classifications
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B41/00—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
- H10B41/20—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B41/23—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B41/27—Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/107—Programming all cells in an array, sector or block to the same state prior to flash erasing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/30—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
- H10B43/35—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】動作速度の低下を抑制することが可能なメモリシステムを提供する。【解決手段】実施形態のメモリシステムは、半導体メモリと、コントローラとを含む。半導体メモリは、各々が複数のメモリセルを含む複数のブロックを含む。コントローラは、第1及び第2動作を半導体メモリに命令する。第1及び第2動作において、半導体メモリは複数のブロックのうちの少なくとも一つのブロックに含まれる全てのメモリセルに電圧を印加する。単位時間あたりに前記第2動作において電圧が印加されるブロックの数は、単位時間あたりに前記第1動作において電圧が印加されるブロックの数よりも多い。【選択図】図8
Description
実施形態はメモリシステムに関する。
メモリセルが三次元に積層されたNAND型フラッシュメモリが知られている。
動作速度の低下を抑制することが可能なメモリシステムを提供する。
実施形態のメモリシステムは、半導体メモリと、コントローラとを含む。半導体メモリは、各々が複数のメモリセルを含む複数のブロックを含む。コントローラは、第1及び第2動作を半導体メモリに命令する。第1及び第2動作において、半導体メモリは複数のブロックのうちの少なくとも一つのブロックに含まれる全てのメモリセルに電圧を印加する。単位時間あたりに第2動作において電圧が印加されるブロックの数は、単位時間あたりに第1動作において電圧が印加されるブロックの数よりも多い。
以下に、実施形態について図面を参照して説明する。図面は模式的なものである。尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付して、重複説明を避ける。参照符号を構成する文字の後の数字、及び参照符号を構成する数字の後の文字は、同じ文字及び数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ文字又は同じ数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は同じ文字又は同じ数字のみを含んだ参照符号により参照される。
[1]第1実施形態
以下に、第1実施形態に係るメモリシステムについて説明する。
以下に、第1実施形態に係るメモリシステムについて説明する。
[1−1]構成
[1−1−1]メモリシステム1の構成
図1は、第1実施形態に係るメモリシステム1の構成例を示すブロック図である。図1に示すようにメモリシステム1は、NAND型フラッシュメモリ10A及び10B、DRAM(Dynamic Random Access Memory)11、並びにメモリコントローラ20を備えている。
[1−1−1]メモリシステム1の構成
図1は、第1実施形態に係るメモリシステム1の構成例を示すブロック図である。図1に示すようにメモリシステム1は、NAND型フラッシュメモリ10A及び10B、DRAM(Dynamic Random Access Memory)11、並びにメモリコントローラ20を備えている。
NAND型フラッシュメモリ10A及び10Bは、データを不揮発に記憶することが可能な不揮発性メモリである。NAND型フラッシュメモリ10A及び10Bは、それぞれ独立して動作することが出来る。尚、メモリシステム1が備えるNAND型フラッシュメモリ10の個数はこれに限定されず、任意の個数に設計することが出来る。
DRAM11は、データを一時的に記憶することが可能な揮発性メモリである。尚、メモリシステム1が備える揮発性メモリの個数はこれに限定されず、任意の個数に設計することが出来る。また、メモリシステム1が備える揮発性メモリは、DRAMに限定されない。例えばメモリシステム1は、揮発性メモリとしてSRAM(Static Random Access Memory)等を備えていても良い。
メモリコントローラ20は、例えばSoC、FPGA、ASIC等のICであり、NAND型フラッシュメモリ10及びDRAM11に各種動作を命令することが出来る。また、メモリコントローラ20は、外部のホスト機器2からの命令に基づいた動作と、ホスト機器2からの命令に依らない動作とを実行することが出来る。メモリコントローラ20の構成については後述する。
[1−1−2]NAND型フラッシュメモリ10の構成
図2は、第1実施形態におけるNAND型フラッシュメモリ10の構成例を示すブロック図である。図2に示すようにNAND型フラッシュメモリ10は、メモリセルアレイ11、センスアンプモジュール12、ロウデコーダモジュール13、入出力回路14、レジスタ15、ロジックコントローラ16、シーケンサ17、レディ/ビジー制御回路18、及び電圧生成回路19を備えている。
図2は、第1実施形態におけるNAND型フラッシュメモリ10の構成例を示すブロック図である。図2に示すようにNAND型フラッシュメモリ10は、メモリセルアレイ11、センスアンプモジュール12、ロウデコーダモジュール13、入出力回路14、レジスタ15、ロジックコントローラ16、シーケンサ17、レディ/ビジー制御回路18、及び電圧生成回路19を備えている。
メモリセルアレイ11は、ブロックBLK0〜BLKn(nは0以上の整数)を含んでいる。ブロックBLKは、ビット線及びワード線に関連付けられた複数の不揮発性メモリセルの集合であり、例えばデータの消去単位となる。NAND型フラッシュメモリ10は、例えばMLC(Multi-Level Cell)方式を適用することにより、各メモリセルに2ビット以上のデータを記憶させることが出来る。
センスアンプモジュール12は、メモリセルアレイ11から読み出したデータDATを、入出力回路14を介してメモリコントローラ20に出力することが出来る。また、センスアンプモジュール12は、メモリコントローラ20から入出力回路14を介して受け取った書き込みデータDATを、メモリセルアレイ11に転送することが出来る。
ロウデコーダモジュール13は、アドレスレジスタ15Bに保持されたブロックアドレスに基づいて、各種動作を実行する対象のブロックBLKを選択することが出来る。そしてロウデコーダモジュール13は、電圧生成回路19から供給された電圧を、選択したブロックBLKに転送することが出来る。
入出力回路14は、例えば8ビット幅の入出力信号I/O(I/O1〜I/O8)を、メモリコントローラ20との間で送受信することが出来る。例えば入出力回路14は、メモリコントローラ20から受信した入出力信号I/Oに含まれた書き込みデータDATをセンスアンプモジュール12に転送し、センスアンプモジュール12から転送された読み出しデータDATを入出力信号I/Oとしてメモリコントローラ20に送信する。
レジスタ15は、ステータスレジスタ15A、アドレスレジスタ15B、コマンドレジスタ15Cを含んでいる。ステータスレジスタ15Aは、例えばシーケンサ17のステータス情報STSを保持し、このステータス情報STSをシーケンサ17の指示に基づいて入出力回路14に転送する。アドレスレジスタ15Bは、入出力回路14から転送されたアドレス情報ADDを保持する。例えば、アドレス情報ADDに含まれたカラムアドレス、及びブロックアドレスは、それぞれセンスアンプモジュール12、及びロウデコーダモジュール13で使用される。コマンドレジスタ15Cは、入出力回路14から転送されたコマンドCMDを保持する。
ロジックコントローラ16は、メモリコントローラ20から受信した各種制御信号に基づいて、入出力回路14及びシーケンサ17を制御することが出来る。各種制御信号としては、例えばチップイネーブル信号/CE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号/WE、リードイネーブル信号/RE、及びライトプロテクト信号/WPが使用される。信号/CEは、NAND型フラッシュメモリ10をイネーブルにするための信号である。信号CLEは、NAND型フラッシュメモリ10に入力される信号がコマンドCMDであることを入出力回路14に通知する信号である。信号ALEは、NAND型フラッシュメモリ10に入力される信号がアドレス情報ADDであることを入出力回路14に通知する信号である。信号/WE及び/REはそれぞれ、例えば入出力信号I/Oの入力及び出力を入出力回路14に対して命令する信号である。信号/WPは、例えば電源のオンオフ時にNAND型フラッシュメモリ10を保護状態にするための信号である。
シーケンサ17は、コマンドレジスタ15Cに保持されたコマンドCMDに基づいて、NAND型フラッシュメモリ10全体の動作を制御することが出来る。例えば、シーケンサ17は、センスアンプモジュール12、ロウデコーダモジュール13、電圧生成回路19等を制御して、書き込み動作や読み出し動作等の各種動作を実行する。
レディ/ビジー制御回路18は、シーケンサ17の動作状態に基づいてレディ/ビジー信号RBnを生成することが出来る。信号RBnは、NAND型フラッシュメモリ10がメモリコントローラ20からの命令を受け付けるレディ状態であるか、命令を受け付けないビジー状態であるかを、メモリコントローラ20に通知する信号である。
電圧生成回路19は、シーケンサ17の制御に基づいて所望の電圧を生成し、生成した電圧をメモリセルアレイ11、センスアンプモジュール12、ロウデコーダモジュール13等に供給することが出来る。例えば電圧生成回路19は、アドレスレジスタ15Bに保持されたページアドレスに基づいて、選択ワード線に対応する信号線、及び非選択ワード線に対応する信号線に対してそれぞれ所望の電圧を印加する。
[1−1−3]メモリセルアレイ11の構成
図3は、第1実施形態におけるNAND型フラッシュメモリ10に含まれるメモリセルアレイ11の構成例を示す回路図であり、メモリセルアレイ11内の1つのブロックBLKについての詳細な回路構成を示している。図3に示すようにブロックBLKは、例えば4つのストリングユニットSU0〜SU3を含んでいる。
図3は、第1実施形態におけるNAND型フラッシュメモリ10に含まれるメモリセルアレイ11の構成例を示す回路図であり、メモリセルアレイ11内の1つのブロックBLKについての詳細な回路構成を示している。図3に示すようにブロックBLKは、例えば4つのストリングユニットSU0〜SU3を含んでいる。
各ストリングユニットSUは、ビット線BL0〜BLm(mは0以上の整数)にそれぞれ関連付けられた複数のNANDストリングNSを含んでいる。各NANDストリングNSは、例えばメモリセルトランジスタMT0〜MT7並びに選択トランジスタST1及びST2を含んでいる。
メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を備え、データを不揮発に記憶することが出来る。各NANDストリングNSに含まれたメモリセルトランジスタMT0〜MT7は、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続されている。同一のブロックBLKに含まれたメモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続されている。尚、以下の説明では、それぞれのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTが記憶する1ビットデータの集合のことを“ページ”と称する。従って、1つのメモリセルトランジスタMTに2ビットデータが記憶される場合、1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合は、2ページ分のデータを記憶する。
選択トランジスタST1及びST2は、各種動作時におけるストリングユニットSUの選択に使用される。同一のカラムアドレスに対応するNANDストリングNSに含まれた選択トランジスタST1のドレインは、対応するビット線BLに共通接続されている。ストリングユニットSU0〜SU3のそれぞれに含まれた選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に共通接続されている。同一のブロックBLKにおいて、選択トランジスタST2のソースはソース線SLに共通接続され、選択トランジスタST2のゲートはセレクトゲート線SGSに共通接続されている。
以上で説明したメモリセルアレイ11の回路構成において、ワード線WL0〜WL7は、ブロックBLK毎に設けられている。ビット線BL0〜BLmは、複数のブロックBLK間で共有されている。ソース線SLは、複数のブロックBLK間で共有されている。尚、各ブロックBLKが含むストリングユニットSUの個数と、各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2の個数とはあくまで一例であり、任意の個数に設計することが出来る。ワード線WL並びにセレクトゲート線SGD及びSGSの本数は、メモリセルトランジスタMT並びに選択トランジスタST1及びST2の個数に基づいて変更される。
また、以上で説明したメモリセルアレイ11の回路構成において、1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの閾値電圧によって形成される閾値分布は、例えば図4に示すものとなる。図4は、1つのメモリセルトランジスタMTが1ビットデータ又は2ビットデータを記憶する場合のメモリセルトランジスタMTの閾値分布及び読み出し電圧を示し、縦軸がメモリセルトランジスタMTの個数に対応し、横軸がメモリセルトランジスタMTの閾値電圧Vthに対応している。図4に示すように複数のメモリセルトランジスタMTは、記憶するデータのビット数に基づいて複数の閾値分布を形成する。以下に、書き込み方式の一例として、1つのメモリセルトランジスタMTに1ビットデータを記憶させるSLC(Single-Level Cell)方式と、1つのメモリセルトランジスタMTに2ビットデータを記憶させるMLC(Multi-Level Cell)方式についてそれぞれ説明する。
SLC方式の場合、複数のメモリセルトランジスタMTは2つの閾値分布を形成する。この2つの閾値分布のことを、閾値電圧の低いものから順に“ER”レベル、“A”レベルと称する。SLC方式では、例えば“ER”レベル及び“A”レベルにそれぞれ“1”データ及び“0”データが割り当てられる。
MLC方式の場合、複数のメモリセルトランジスタMTは4つの閾値分布を形成する。この4個の閾値分布のことを、閾値電圧の低いものから順に“ER”レベル、“A”レベル、“B”レベル、“C”レベルと称する。MLC方式では、例えば“ER”レベル、“A”レベル、“B”レベル、及び“C”レベルにそれぞれ“11(Lower/Upper)”データ、“01”データ、“00”データ、及び“01”データが割り当てられる。
そして、以上で説明した閾値分布において、隣り合う閾値分布の間にそれぞれ読み出し電圧が設定される。例えば、読み出し電圧ARは、“ER”レベルにおける最大の閾値電圧と“A”レベルにおける最小の閾値電圧との間に設定され、メモリセルトランジスタMTの閾値電圧が“ER”レベルの閾値分布に含まれるのか“A”レベル以上の閾値分布に含まれるのかを判定する動作に使用される。メモリセルトランジスタMTに読み出し電圧ARが印加されると、“ER”レベルに対応するメモリセルトランジスタがオン状態になり、“A”レベル、“B”レベル、及び“C”レベルに対応するメモリセルトランジスタがオフ状態になる。その他の読み出し電圧も同様に設定され、読み出し電圧BRは、“A”レベルの閾値分布と“B”レベルの閾値分布との間に設定され、読み出し電圧CRは、“B”レベルの閾値分布と“C”レベルの閾値分布との間に設定される。メモリセルトランジスタMTに読み出し電圧BRが印加されると、“ER”及び“A”レベルに対応するメモリセルトランジスタがオン状態になり、“B”レベル及び“C”レベルに対応するメモリセルトランジスタがオフ状態になる。メモリセルトランジスタMTに読み出し電圧CRが印加されると、“ER”レベル、“A”レベル、及び“B”レベルに対応するメモリセルトランジスタがオン状態になり、“C”レベルに対応するメモリセルトランジスタがオフ状態になる。各書き込み方式において、最も高い閾値分布における最大の閾値電圧よりも高い電圧に、読み出しパス電圧VREADが設定される。つまり、読み出しパス電圧VREADがゲートに印加されたメモリセルトランジスタMTは、記憶するデータに依らずにオンする。
尚、以上で説明した1つのメモリセルトランジスタMTに記憶するデータのビット数と、メモリセルトランジスタMTの閾値分布に対するデータの割り当てとはあくまで一例であり、これに限定されない。例えば、3ビット以上のデータが1つのメモリセルトランジスタMTに記憶されても良いし、その他の様々なデータの割り当てが閾値分布に対して適用されても良い。また、各読み出し電圧及び読み出しパス電圧は、各方式で同じ電圧値に設定されても良いし、異なる電圧値に設定されても良い。
例えば、図4に示すように、MLC方式における読み出しパス電圧VREADは、SLC方式における読み出しパス電圧VREADよりも高く設定される。同様に、例えば1つのメモリセルトランジスタMTに3ビットデータを記憶させるTLC(Triple-Level Cell)方式における読み出しパス電圧VREADは、MLC方式における読み出しパス電圧VREADよりも高く設定され、1つのメモリセルトランジスタMTに4ビットデータを記憶させるQLC(Quadruple-Level Cell)方式における読み出しパス電圧VREADは、TLC方式における読み出しパス電圧VREADよりも高く設定される。
次に、図5を用いてメモリセルアレイ11の断面構造について説明する。図5は、第1実施形態におけるNAND型フラッシュメモリ10に含まれるメモリセルアレイ11の構造の一例を示す断面図であり、層間絶縁膜が省略されたメモリセルアレイ11の断面と、X軸、Y軸、及びZ軸とを示している。図5に示すようにNAND型フラッシュメモリ10は、P型ウェル領域30、複数の導電体31〜36、複数の半導体ピラーMH、及び複数のコンタクトプラグLIを備えている。
P型ウェル領域30は、半導体基板の表面内に形成されている。P型ウェル領域30の上方には、例えば4層の導電体31、8層の導電体32、及び4層の導電体33が層間絶縁膜を介して順に積層されている。これらの導電体31〜33は、例えばX方向とY方向に広がった板状に設けられている。導電体31及び33はそれぞれセレクトゲート線SGS及びSGDとして機能し、導電体32はワード線WLとして機能する。1本のワード線WLには、積層された導電体32のうち1つの導電体が割り当てられる。セレクトゲート線SGS及びSGDには、図5に示すように積層された複数の導電体が割り当てられても良いし、1層に設けられた導電体が割り当てられても良い。
複数の半導体ピラーMHは、導電体33の上面からP型ウェル領域30の上面に達するように形成されている。つまり半導体ピラーMHは、Z方向に沿って導電体31〜33を通過するように設けられている。半導体ピラーMHは、ブロック絶縁膜37、絶縁膜(電荷蓄積層)38、トンネル酸化膜39、及び半導体材料40を含んでいる。半導体材料40は導電性の材料を含み、ピラー状に形成されている。そして、半導体材料40の側面を覆うように、トンネル酸化膜39、絶縁膜38、ブロック絶縁膜37が順に形成されている。
導電体33及び半導体ピラーMHよりも上層には、導電体34が形成されている。導電体34はビット線BLとして機能し、対応する半導体ピラーMHと接続されている。尚、導電体34と半導体ピラーMHとの間には、導電性の材料を含むコンタクトプラグが形成されても良い。
導電体33と導電体34との間の配線層には、導電体35及び36が形成されている。導電体35はソース線SLとして機能し、コンタクトプラグLIを介してウェル領域30の表面内に形成されたn+不純物拡散領域41に接続されている。導電体36はウェル線CPWELLとして機能し、コンタクトプラグLIを介してウェル領域30の表面内に形成されたp+不純物拡散領域42に接続されている。これらのコンタクトプラグLIは、例えばX方向とZ方向に広がった板状に設けられている。
以上で説明したメモリセルアレイ11の構造において、1つの半導体ピラーMHが1つのNANDストリングNSに対応している。具体的には、導電体31と半導体ピラーMHとの交点が選択トランジスタST2に対応し、導電体32と半導体ピラーMHとの交点がワード線WLに対応し、導電体33と半導体ピラーMHとの交点が選択トランジスタST1に対応している。最下層の導電体31及びトンネル酸化膜39はn+型不純物拡散領域41の近傍まで設けられるため、選択トランジスタST2がオン状態になると、NANDストリングNS及びn+型不純物拡散領域41間に電流経路が形成される。
また、以上で説明したメモリセルアレイ11の構造は、X方向に複数配列される。例えば、1つのストリングユニットSUは、X方向に配列する複数のNANDストリングNSの集合によって構成される。また、同一のブロックBLK内に複数のストリングユニットSUを設ける場合、セレクトゲート線SGDに対応する導電体33は、ストリングユニットSU間で分離される。
尚、以上で説明したメモリセルアレイ11の構成は、その他の構成であっても良い。その他のメモリセルアレイ11の構成については、例えば“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号、“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
[1−1−4]メモリコントローラ20の構成
ここで図1に戻り、メモリコントローラ20の構成について説明する。図1に示すようにメモリコントローラ20は、プロセッサ(CPU:Central Processing Unit)21、内蔵メモリ(RAM:Random Access Memory)22、ホストインターフェイス回路23、タイマ24、温度計25、NANDインターフェイス回路26、及びDRAMインターフェイス回路27を備えている。
ここで図1に戻り、メモリコントローラ20の構成について説明する。図1に示すようにメモリコントローラ20は、プロセッサ(CPU:Central Processing Unit)21、内蔵メモリ(RAM:Random Access Memory)22、ホストインターフェイス回路23、タイマ24、温度計25、NANDインターフェイス回路26、及びDRAMインターフェイス回路27を備えている。
プロセッサ21は、メモリコントローラ20全体の動作を制御することが出来る。例えばプロセッサ21は、ホスト機器2から受信した読み出し命令に応答して読み出しコマンドを発行して、発行したコマンドをNANDインターフェイス回路26に送信する。また、プロセッサ21は、タイマ24のカウントに基づいてパトロール動作を実行することが出来る。パトロール動作は、例えばホスト機器2からの命令に依らずに実行され、メモリシステム1における読み出しエラーの低減に寄与する動作である。パトロール動作の詳細については後述する。尚、プロセッサ21は、ウェアレベリング等、NAND型フラッシュメモリ10のメモリ空間を管理するための様々な処理を実行することも出来る。プロセッサ21は、ホスト機器2からのガベージコレクションの指示に基づいて、NAND型フラッシュメモリ10に消去動作を命令することが出来る。また、プロセッサ21は、例えばフリーブロック数が所定の数を下回った場合に、ホスト機器2からの指示に依らないガベージコレクションを実行して、NAND型フラッシュメモリ10に消去動作を命令することも出来る。
内蔵メモリ22は、プロセッサ21の作業領域として使用される記憶領域である。例えば、内蔵メモリ22には、NAND型フラッシュメモリ10を管理するためのパラメータや、各種の管理テーブル等が展開される。例えば、内蔵メモリ22は、ホスト機器2から受信した命令の待ち行列(コマンドキュー)を保持する。また、内蔵メモリ22は、ブロックBLKに格納されたデータに関連付けられた論理アドレスをブロックBLKの物理アドレスに変換するためのアドレス変換テーブルを保持する。このアドレス変換テーブルは、例えば半導体メモリ10に格納され、メモリシステム1の起動時に読み出されて内蔵メモリ22に展開される。
内蔵メモリ22としては、例えばSRAM(Static Random Access Memory)等の揮発性メモリが用いられる。 ホストインターフェイス回路23は、ホスト機器2に接続され、メモリシステム1とホスト機器2との間の通信を司る。例えばホストインターフェイス回路23は、メモリシステム1とホスト機器2との間で、データ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路23は、例えばSATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)(登録商標)等の通信インターフェイス規格をサポートする。つまり、メモリシステム1に接続されるホスト機器2としては、例えばSATA、SAS、PCIe等のインターフェイスを含むコンピュータ等が挙げられる。
内蔵メモリ22としては、例えばSRAM(Static Random Access Memory)等の揮発性メモリが用いられる。 ホストインターフェイス回路23は、ホスト機器2に接続され、メモリシステム1とホスト機器2との間の通信を司る。例えばホストインターフェイス回路23は、メモリシステム1とホスト機器2との間で、データ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路23は、例えばSATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)(登録商標)等の通信インターフェイス規格をサポートする。つまり、メモリシステム1に接続されるホスト機器2としては、例えばSATA、SAS、PCIe等のインターフェイスを含むコンピュータ等が挙げられる。
タイマ24は、メモリシステム1の各種動作に関連する時間を計測することが出来る。例えばタイマ24は、1サイクルのパトロール動作が実行される期間を計測する。以下の説明では、この1サイクルのパトロール動作が実行される期間のことをパトロール期間と称する。
温度計25は、メモリシステム1のシステム温度を計測することが出来る。具体的には、温度計25は、温度計25が設置された箇所の温度を計測することにより、メモリコントローラ20全体の温度や、NAND型フラッシュメモリ10の温度を間接的に計測する。計測された温度は、例えばパトロール動作時にプロセッサ21によって参照される。
NANDインターフェイス回路26は、NAND型フラッシュメモリ10A及び10Bに接続され、メモリコントローラ20とNAND型フラッシュメモリ10との間の通信を司る。NANDインターフェイス回路26は、NANDインターフェイス規格に基づいて構成されている。
DRAMインターフェイス回路27は、DRAM11に接続され、メモリコントローラ20とDRAM11との間の通信を司る。DRAMインターフェイス回路27は、DRAMインターフェイス規格に基づいて構成されている。尚、DRAMインターフェイス回路27の構成はこれに限定されず、メモリシステム1が備える揮発性メモリの種類に基づいて変更することが出来る。
尚、以上で説明したメモリコントローラ20の構成はあくまで一例であり、これに限定されない。例えば、タイマ24及び温度計25はメモリコントローラ20に含まれていなくても良く、メモリコントローラ20と外部接続されても良い。また、温度計25は、NAND型フラッシュメモリ10に内蔵されていても良い。
以上で説明したメモリコントローラ20においてプロセッサ21は、パトロール動作に関連したプログラムを内蔵メモリ22に展開して、当該プログラムを実行する。図6は、パトロール動作時におけるプロセッサ21の詳細な構成例を示している。図6に示すようにプロセッサ21は、パトロール動作時において、パトロール制御部50及びコマンド発行部51として機能する。
パトロール制御部50は、メモリセルアレイ11に含まれたブロックBLKに対するパトロール期間を設定する。このパトロール期間は繰り返し設定され、各パトロール期間は例えば連続している。そしてパトロール制御部50は、設定したパトロール期間毎に、パトロール動作の対象のブロックBLKに対するダミーリードの実行をコマンド発行部51に命令する。以下の説明では、パトロール動作の対象となるブロックBLKのことをパトロール対象ブロックと称する。尚、パトロール対象ブロックは、全てのブロックBLKであっても良いし、任意のブロックBLKであっても良い。また、本明細書においてダミーリードとは、例えば図4を用いて説明した読み出し電圧や読み出しパス電圧等を用いた動作のことを示している。つまり、本明細書におけるダミーリードでは、通常の読み出し動作のように読み出しデータの判定が行われなくても良い。
コマンド発行部51は、パトロール制御部50の命令に基づいてダミーリードに関するコマンド及びアドレスを発行する。発行されたコマンド及びアドレスは、NANDインターフェイス回路26を介してNAND型フラッシュメモリ10に転送される。
尚、以上の説明では、コマンド発行部51がダミーリードに関するコマンド及びアドレスを発行する場合を例に説明したが、これに限定されない。例えば、各種動作に関連するコマンド及びアドレスは、プロセッサ21の制御に基づいてNANDインターフェイス回路26が発行しても良い。
[1−2]動作
第1実施形態に係るメモリシステム1においてメモリコントローラ20は、パトロール動作を自発的に実行する。以下では、メモリコントローラ20が1つのNAND型フラッシュメモリ10に対してパトロール動作を実行する場合を例に説明する。
第1実施形態に係るメモリシステム1においてメモリコントローラ20は、パトロール動作を自発的に実行する。以下では、メモリコントローラ20が1つのNAND型フラッシュメモリ10に対してパトロール動作を実行する場合を例に説明する。
パトロール動作では、パトロール期間毎にパトロール対象ブロックに対するダミーリードが実行される。具体的には、各パトロール期間においてプロセッサ21がホスト機器2からの命令に基づいた動作を実行する合間に、パトロール制御部50がコマンド発行部51を介してダミーリードの実行をNAND型フラッシュメモリ10に命令する。そして、第1実施形態においてパトロール制御部50は、パトロール期間の残り時間に基づいてパトロール処理レートを変更する。パトロール処理レートは、単位時間あたりにダミーリードが実行されるブロックBLKの数を示している。
以下に、図7を用いてパトロール動作の詳細について説明する。図7は、第1実施形態に係るメモリシステムにおけるパトロール動作の一例を示すフローチャートであり、パトロール期間におけるメモリシステム1の動作例を示している。
図7に示すようにパトロール期間が開始すると、まずプロセッサ21は、メモリコントローラ20がホスト機器2からの命令を受信しているかどうかを確認する(ステップS10)。
メモリコントローラ20がホスト機器2からの命令を受信している場合(ステップS10、YES)、プロセッサ21は、ホスト機器2からの命令に基づいた動作を実行する(ステップS11)。ホスト機器2からの命令に基づいた動作としては、例えば読み出し動作、書き込み動作等が挙げられる。
ホスト機器2からの命令に基づいた動作が終了すると、パトロール制御部50は、パトロール処理レートを更新する(ステップS12)。具体的には、パトロール制御部50は、パトロール期間の残り時間に基づいて、当該パトロール期間内にパトロール対象ブロックに対するダミーリードが完了するように、パトロール処理レートを更新する。
そして、パトロール制御部50は、更新されたパトロール処理レートに基づいてダミーリードを実行する(ステップS13)。具体的には、パトロール制御部50は、ダミーリードの命令をコマンド発行部51に送信し、コマンド発行部51が当該命令に基づいてコマンド及びアドレスを発行する。そしてコマンド発行部51が、発行したコマンド及びアドレスを、NANDインターフェイス回路26を介してNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10が受信した当該コマンド及びアドレスに基づいてダミーリードを実行する。
メモリコントローラ20がホスト機器2からの命令を受信していない場合(ステップS10、NO)、パトロール制御部50は、所定のパトロール処理レートに基づいて、ステップS13におけるダミーリードを実行する。このパトロール処理レートは、ステップS12によりパトロール処理レートが更新されている場合にはその値を利用し、ステップS12における動作が実行されていない場合には、例えばパトロール期間の時間に基づいて予め算出されたパトロール処理レートを利用する。
ステップS13におけるダミーリードが終了すると、パトロール制御部50は、全てのパトロール対象ブロックに対するダミーリードが完了したかどうかを確認する(ステップS14)。
全てのパトロール対象ブロックに対するダミーリードが完了していない場合(ステップS14、NO)、プロセッサ21はステップS10の動作に戻り、ステップS10〜S14の動作を繰り返し実行する。
全てのパトロール対象ブロックに対するダミーリードが完了した場合(ステップS14、YES)、プロセッサ21は当該パトロール期間におけるパトロール動作を終了する。当該パトロール期間が終了して次のパトロール期間に移行すると、パトロール制御部50は、上記ステップS10〜S14の動作を再び実行する。
以上で説明したパトロール期間におけるパトロール処理レートの変化の一例が、図8に示されている。図8は、図7を用いて説明したパトロール動作において、パトロール期間の途中に1回のホストリードが実行された場合における一例を示している。図8の縦軸はパトロール処理レートに対応し、横軸は時間に対応している。
図8に示すように、時刻t0においてパトロール期間が開始し、パトロール制御部50はパトロール処理レートを例えば10(BLK/sec)に設定する。このパトロール処理レートは、パトロール期間においてホスト機器2の命令に基づいた動作が実行されない場合に、全てのパトロール対象ブロックに対するダミーリードを完了させることが可能な数値に設定される。時刻t1においてホストリードが実行されると、ホスト機器2の命令に基づいた動作によりパトロール動作に基づくダミーリードが進行しないため、パトロール処理レートが0(BLK/sec)となる。時刻t2においてホストリードが終了すると、パトロール制御部50はパトロール処理レートを例えば30(BLK/sec)に設定する。すると、時刻t3までに全てのパトロール対象ブロックに対するダミーリードが完了し、当該パトロール期間が終了する。このように、ホストリードが実行された後の時刻t2〜t3におけるパトロール処理レートは、ホストリードが実行される前の時刻t0〜t1におけるパトロール処理レートよりも高いレートに設定される。
以上で説明したパトロール処理レートを変化させる方法としては、例えばダミーリードを連続して実行することや、1回のダミーリードで選択するブロックBLKの数を変更することが挙げられる。以下に、1つのブロックBLKを対象とした第1ダミーリードと、複数のブロックBLKを対象とした第2ダミーリードとについて説明する。
まず、図9を用いて第1ダミーリードの詳細について説明する。図9は、第1ダミーリードにおけるコマンドシーケンス及び波形の一例を示し、入出力信号I/Oにおけるコマンド、レディビジー信号RBnの波形、及びワード線WLの波形を示している。
図9に示すように、まずメモリコントローラ20はコマンド“xxh”を発行してNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10は受信したコマンド“xxh”をコマンドレジスタ15Cに保持する。コマンド“xxh”はSLC方式の動作を命令するコマンドである。次に、メモリコントローラ20はコマンド“00h”を発行してNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10は受信したコマンド“00h”をコマンドレジスタ15Cに保持する。コマンド“00h”は読み出しの為のアドレス入力受付コマンドに相当し、NAND型フラッシュメモリ10にデータの読み出しを命令するコマンドである。次に、メモリコントローラ20はアドレス情報ADDをNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10は受信したアドレス情報ADDをアドレスレジスタ15Bに保持する。このアドレス情報ADDは、第1ダミーリードを実行する対象のアドレスを指定するものであり、例えばブロックBLKにおいて最上層に設けられたワード線WL(例えば、図5に示すワード線WL7)が選択される。第1ダミーリードにおいて選択されるワード線WLはこれに限定されず、その他のワード線WLが選択されても良い。次に、メモリコントローラ20はコマンド“30h”をNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10は受信したコマンド“30h”をコマンドレジスタ15Cに保持する。コマンド“30h”は、直前に送信されたコマンドCMD及びアドレス情報ADDに基づいて、シーケンサ17に第1ダミーリードを実行させるコマンドである。シーケンサ17は、コマンドレジスタ15Cにコマンド“30h”が保持されると、レディビジー信号RBnを“H”レベルから“L”レベルに遷移させて、第1ダミーリードを実行する。
第1ダミーリードにおいてロウデコーダモジュール13は、選択されたワード線WLに読み出し電圧ARを印加し、非選択のワード線WLに読み出しパス電圧VREADを印加する。すると、選択されたワード線WLの電圧は、例えば接地電圧VSSから読み出し電圧ARまで上昇し、非選択のワード線WLの電圧は、例えば接地電圧VSSから読み出しパス電圧VREADまで上昇する。そしてロウデコーダモジュール13は、これらの電圧を所定の時間印加すると、選択及び非選択のワード線WLの電圧を接地電圧VSSまで下降させる。そしてシーケンサ17は、レディビジー信号RBnを“L”レベルから“H”レベルに遷移させて、メモリコントローラ20に第1ダミーリードの終了を通知する。尚、以下の説明では、第1ダミーリード時にレディビジー信号RBnが“L”レベルとなっている期間のことを、期間T1と称する。
以上で説明した第1ダミーリードを命令するコマンドセットは、例えばSLC方式の読み出し動作を命令するコマンドセットと同様である。つまり、第1ダミーリードにおけるNAND型フラッシュメモリ10の動作は、SLC方式の読み出し動作と同様である。尚、第1ダミーリードにおいてNAND型フラッシュメモリ10が読み出したデータは、メモリコントローラ20に転送されても良いし、転送されなくても良い。
次に、図10を用いて第2ダミーリードの詳細について説明する。図10は、第2ダミーリードにおけるコマンドシーケンス及び波形の一例を示し、入出力信号I/Oにおけるコマンド、レディビジー信号RBnの波形、及びワード線WLの波形を示している。
図10に示すように、まずメモリコントローラ20はコマンド“yyh”を発行してNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10は受信したコマンド“yyh”をコマンドレジスタ15Cに保持する。コマンド“yyh”は複数ブロックBLKを選択したダミーリードを命令するコマンドである。次に、メモリコントローラ20はアドレス情報ADDをNAND型フラッシュメモリ10に送信し、NAND型フラッシュメモリ10は受信したアドレス情報ADDをアドレスレジスタ15Bに保持する。このアドレス情報ADDは、第2ダミーリードを実行する対象のブロックBLKを指定するものであり、複数のブロックBLKを指定するアドレス情報を含むことが可能である。シーケンサ17は、アドレスレジスタ15Bにアドレス情報ADDが保持されると、レディビジー信号RBnを“H”レベルから“L”レベルに遷移させて、第2ダミーリードを実行する。
第2ダミーリードにおいてロウデコーダモジュール13は、選択した複数のブロックBLKに対応する全てのワード線WLに対して、例えば読み出しパス電圧VREADを印加する。すると、選択されたワード線WLの電圧は、接地電圧VSSから読み出しパス電圧VREADまで上昇する。このとき、ワード線WLの電圧が接地電圧VSSから読み出しパス電圧VREADまで上昇するまでに要する時間は、第1ダミーリードよりも長い。そしてロウデコーダモジュール13は、ワード線WLに対して読み出しパス電圧VREADを所定の時間印加すると、ワード線WLの電圧を接地電圧VSSまで下降させる。そしてシーケンサ17は、レディビジー信号RBnを“L”レベルから“H”レベルに遷移させて、メモリコントローラ20に第2ダミーリードの終了を通知する。第2ダミーリード時にレディビジー信号RBnが“L”レベルとなっている期間T2は、期間T1よりも長い。つまり、第2ダミーリードが実行される時間は、第1ダミーリードよりも長い。また、第2ダミーリードが実行される時間は、同じ第2ダミーリードであっても、一般的に選択したブロックBLKの数が多くなるほど長くなる。
以上のように第1及び第2ダミーリードは、メモリコントローラ20の1回の命令に基づいてダミーリードを実行することが可能なブロックBLKの数が異なっている。第2ダミーリードでは、一度にダミーリードを実行することが可能なブロックBLKの数が多いため、第2ダミーリードを利用した場合のパトロール処理レートは、一般的に第1ダミーリードを利用した場合のパトロール処理レートよりも高くなる。従って、メモリコントローラ20は、例えばパトロール処理レートを低くしたい場合に第1ダミーリードを利用し、パトロール処理レートを高くしたい場合に第2ダミーリードを利用する。
例えば、ホスト機器2の命令とダミーリードの命令とが衝突した際に、ホスト機器2からメモリシステム1へのアクセス頻度が低い場合、ダミーリードのスループットを低くすることが総合的なレイテンシ改善に繋がる。一方で、ホスト機器2からメモリシステム1へのアクセス頻度が高い場合、ダミーリードのスループットを高くすることが総合的なレイテンシ改善に繋がる。そこで、パトロール制御部50は、例えばホスト機器2からのアクセス頻度に応じて第1及び第2ダミーリードを使い分ける。
以下に、本例について図11を用いて説明する。図11は、パトロール期間におけるダミーリード方法の選択基準の一例を示し、内蔵メモリ22に保持されたコマンドキューの状態を示している。本例においてパトロール制御部50は、キュー長に閾値を設けることによって第1及び第2ダミーリードを使い分ける。キュー長とは、内蔵メモリ22が保持するコマンドキューの長さのことを示し、以下ではキュー長に設けられた閾値のことをキュー閾値と称する。キュー閾値は、任意の値に設定することが可能である。
図11に示すように、ケース1では、ホスト機器2による読み出し命令に対応するキュー長が、キュー閾値以下となっている。この状態は、例えばホスト機器2からメモリシステム1に対するアクセス頻度が低い状態であることを示している。この場合にパトロール制御部50は、続くダミーリード方法に例えば第1ダミーリードを選択して、コマンドキューに第1ダミーリードの命令を追加する。
ケース2では、ホスト機器2による読み出し命令に対応するキュー長が、キュー閾値を超えている。この状態は、例えばホスト機器2からメモリシステム1に対するアクセス頻度が高い状態であることを示している。この場合にパトロール制御部50は、続くダミーリード方法に例えば第2ダミーリードを選択して、コマンドキューに第2ダミーリードの命令を追加する。
以上のように、パトロール制御部50は、ホスト機器2からのアクセス頻度が低い場合、処理時間の比較的短い第1ダミーリードを実行し、アクセス頻度が高い場合、処理時間の長い第2ダミーリードを実行する。これによりメモリシステム1は、ホスト機器2の命令と、ダミーリードの命令とが衝突した場合におけるレイテンシの悪化を抑制することが出来る。尚、パトロール制御部50は、メモリコントローラ20が一度に受信できるコマンドの数(キュー深さ)に基づいて第1ダミーリードと第2ダミーリードと使い分けても良い。
第1ダミーリードと第2ダミーリードとの選択方法はこれに限定されず、パトロール制御部50は、必要なパトロール処理レートに基づいて第1ダミーリードと第2ダミーリードとを使い分けることが出来る。
第1ダミーリードと第2ダミーリードとの選択方法はこれに限定されず、パトロール制御部50は、必要なパトロール処理レートに基づいて第1ダミーリードと第2ダミーリードとを使い分けることが出来る。
尚、以上の説明では、パトロール期間内に全てのパトロール対象ブロックに対するダミーリードを完了させる場合を例に説明したが、これに限定されない。例えば、ホスト機器2からの命令が連続する場合には、パトロール期間中に全てのパトロール対象ブロックに対するダミーリードが完了しないこともある。このような場合にパトロール制御部50は、ホスト機器2からの命令に割り込んでダミーリードを命令することによって、当該パトロール期間内に全てのパトロール対象ブロックに対するダミーリードを完了させるように動作しても良い。
[1−3]第1実施形態の効果
以上で説明した第1実施形態に係るメモリシステム1によれば、読み出し動作時におけるリトライリードの発生を抑制することが出来る。以下に、第1実施形態に係るメモリシステム1の詳細な効果について説明する。
以上で説明した第1実施形態に係るメモリシステム1によれば、読み出し動作時におけるリトライリードの発生を抑制することが出来る。以下に、第1実施形態に係るメモリシステム1の詳細な効果について説明する。
メモリセルが三次元に積層されたNAND型フラッシュメモリ10において、NANDストリングNSを構成するメモリセルトランジスタMTのチャネルは、例えば図5に示すように導電性の半導体材料40を共有した構造となっている。このような構造のNAND型フラッシュメモリ10では、例えば図12に示すような現象が生じることがある。図12は、読み出し動作時におけるワード線WL、及びNANDストリングNSのチャネルにおける波形の一例を示している。
図12に示すように、読み出し動作が実行されるとロウデコーダモジュール13は、選択したブロックBLKの非選択のワード線WLに読み出しパス電圧VREADを印加する。そして読み出しデータが確定すると、ロウデコーダモジュール13は、非選択のワード線WLの電圧を接地電圧VSSまで下降させる。このとき、ワード線WLの電圧がメモリセルトランジスタMTの閾値電圧以下になると、メモリセルトランジスタMTがオフ状態となる。そして、さらにワード線WLの電圧が下降すると、NANDストリングNSのチャネル電位が、ワード線WLとのカップリングにより接地電圧から負の電圧に下降する。読み出し動作後には、ブロックBLKを非選択とする結果、ワード線WLがフローティング状態となる。この状態において、負の電位のチャネル電位が時間経過に伴い接地電圧に戻ると、ワード線WLの電圧が、NANDストリングNSのチャネルとのカップリングにより、例えば4V程度まで上昇する。この現象のことを、図12では“Creep up”と示している。
Creep upによってワード線WLの電圧が上昇した状態のブロックBLKでは、当該ブロックBLKにおけるメモリセルトランジスタMTの制御ゲート−チャネル間に電位差が生じ、読み出し動作後の時間経過(例えば、10〜100ms)によって閾値電圧がシフトすることがある。
そして、Creep upにより上昇したワード線WLの電圧は、図12に示すように時間経過に伴い接地電圧に戻る。Creep upによるワード線WLの電圧の変動が収まってからさらに時間が経過する(例えば、数分間から数時間程度)と、上昇したメモリセルトランジスタMTの閾値電圧は元の状態に戻る。このようにメモリセルトランジスタMTは、閾値電圧が初期状態である第1状態と、閾値電圧がCreep upの影響を受けてシフトしている第2状態との2つの状態を取り得る。これに対して読み出し電圧は、例えば第2状態に最適化して設定されるため、Creep upが生じ得るNAND型フラッシュメモリ10では、メモリセルトランジスタMTを第2状態に維持することが好ましい。
そこで、第1実施形態に係るメモリシステム1では、メモリコントローラ20がNAND型フラッシュメモリ10に対して定期的にダミーリードを実行する。具体的には、パトロール制御部50が、メモリセルトランジスタMTが第2状態から第1状態に遷移する時間よりも短い時間にパトロール期間を設定し、パトロール期間毎にパトロール対象ブロックに対するダミーリードの実行を命令する。
より具体的には、パトロール制御部50は、例えば第1状態のメモリセルトランジスタMTを含むブロックBLKに対してダミーリードを実行する。すると、ダミーリードが実行されたブロックBLKにおいてCreep upが発生し、メモリセルトランジスタMTが第1状態から第2状態に移行する。そして、パトロール制御部50は、時間経過によりメモリセルトランジスタMTが第2状態から第1状態に移行する前に、第2状態のメモリセルトランジスタMTを含むブロックBLKに対して再びダミーリードを実行する。すると、第2状態のメモリセルトランジスタMTを含むブロックにおいて再びCreep upが発生し、ワード線WLの電圧が上昇する。第2状態のメモリセルトランジスタMTのゲート電極に対してCreep upの電圧が印加されると、当該メモリセルトランジスタMTは、第1状態から第2状態に移行した時点と同様の状態になる。これ以降も同様に、パトロール制御部50は、各ブロックBLKに対して、メモリセルトランジスタMTが第2状態から第1状態に移行する前にダミーリードを実行することによって、第2状態のメモリセルトランジスタMTを第2状態に維持する。
これにより、第1実施形態に係るメモリシステム1は、第2状態に維持されたメモリセルトランジスタMTに対して読み出し動作を実行することが出来る。従って、第1実施形態に係るメモリシステム1は、メモリセルトランジスタMTの閾値電圧の変動の影響により生じるエラービットの増加と、エラービットの増加により生じるリトライリードの発生を抑制することが出来る。つまり第1実施形態に係るメモリシステム1は、読み出しエラー起因の動作速度の低下を抑制することが出来る。
[2]第2実施形態
第2実施形態に係るメモリシステム1は、消費電力を抑制した低消費電力モードで動作することが可能であり、低消費電力モード時に自発的にパトロール動作を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
第2実施形態に係るメモリシステム1は、消費電力を抑制した低消費電力モードで動作することが可能であり、低消費電力モード時に自発的にパトロール動作を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
[2−1]構成
第2実施形態に係るメモリシステム1は、例えばホスト機器2から所定の命令を受信した場合、又はホスト機器2からの命令が所定の期間に亘って無い場合に自発的に低消費電力モードに移行する。低消費電力モードにおいてメモリシステム1は、電力供給されるモジュールが制限されることにより消費電力が抑制される一方で、メモリコントローラ20のプロセッサ21の一部分とタイマ24への電力供給は継続される。
第2実施形態に係るメモリシステム1は、例えばホスト機器2から所定の命令を受信した場合、又はホスト機器2からの命令が所定の期間に亘って無い場合に自発的に低消費電力モードに移行する。低消費電力モードにおいてメモリシステム1は、電力供給されるモジュールが制限されることにより消費電力が抑制される一方で、メモリコントローラ20のプロセッサ21の一部分とタイマ24への電力供給は継続される。
図13は、低消費電力モード時におけるプロセッサ21の詳細な構成例を示している。図13に示すように、第2実施形態におけるプロセッサ21は、第1パトロール制御部50A、第2パトロール制御部50B、及びコマンド発行部51として機能する。
第1パトロール制御部50A及び第2パトロール制御部50Bは、例えば第1実施形態で図6を用いて説明したパトロール制御部50と同様である。低消費電力モード時において第1パトロール制御部50Aは、電源の供給が停止され、通常動作時よりも消費電力が低い低消費電力状態になる。低消費電力モード時において第2パトロール制御部50Bは、例えばタイマ24のカウントに基づいて、各パトロール期間におけるダミーリードの進捗を確認する。そして第2パトロール制御部50Bは、例えばパトロール期間中にダミーリードの進捗が所定の進捗を下回った場合に、コマンド発行部51、NANDインターフェイス回路26、及びNAND型フラッシュメモリ10に対する電力供給を再開させて、パトロール対象ブロックに対するダミーリードの実行をコマンド発行部51に命令する。また、第2パトロール制御部50Bは、当該パトロール期間におけるダミーリード済みのブロック数Ncompを管理する。ダミーリード済みのブロック数Ncompは、例えば内蔵メモリ22に保持され、ダミーリードの進行に伴い第2パトロール制御部50Bによって更新される。
コマンド発行部51は、第1実施形態で図6を用いて説明したコマンド発行部51と同様である。低消費電力モード時においてコマンド発行部51は、例えば第2パトロール制御部50Bからの命令に基づいて低消費電力状態から復帰し、第2パトロール制御部50Bの命令に基づいてダミーリードに関するコマンド及びアドレスを発行する。発行されたコマンド及びアドレスは、NANDインターフェイス回路26を介してNAND型フラッシュメモリ10に転送され、NAND型フラッシュメモリ10は、当該コマンド及びアドレスに基づいてダミーリードを実行する。第2実施形態に係るメモリシステム1のその他の構成は、第1実施形態に係るメモリシステム1の構成と同様のため、説明を省略する。
[2−2]動作
図14は、第2実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、低消費電力モード時におけるメモリシステム1の動作例を示している。
図14は、第2実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、低消費電力モード時におけるメモリシステム1の動作例を示している。
図14に示すように低消費電力モードが開始すると、まず第2パトロール制御部50Bは、ダミーリード済みのブロック数を確認し(ステップS20)、ダミーリード済みのブロック数Ncompが所定の閾値Nth以下であるかどうかを確認する(ステップS21)。この所定の閾値Nthは、当該パトロール期間の残り時間に基づいて変動することが出来る。
NcompがNthを超えている(Ncomp>Nth)場合(ステップS21、NO)、第2パトロール制御部50Bは、ステップS20に戻り、ダミーリード済みのブロックBLK数Ncompと、時間経過により変化する閾値Nthとの比較を繰り返す。
NcompがNth以下となった(Ncomp≦Nth)の場合(ステップS21、YES)、第2パトロール制御部50Bは、コマンド発行部51、NANDインターフェイス回路26、及びNAND型フラッシュメモリ10を低消費電力状態から復帰させて、所定のパトロール処理レートを適用したダミーリードを実行する。このダミーリードは、例えば第1実施形態で図7を用いて説明したステップS13におけるダミーリードと同様である。
そして、第2パトロール制御部50Bは、再びダミーリード済みのブロック数Ncompを確認し(ステップS23)、ダミーリード済みのブロック数Ncompが目標値Ntar以上であるかどうかを確認する(ステップS24)。この目標値Ntarは、閾値Nthよりも高い値であり、パトロール期間中に全てのパトロール対象ブロックに対するダミーリードが完了するように設定される。
NcompがNtar未満である(Ncomp<Ntar)場合(ステップS24、NO)、第2パトロール制御部50Bは、ステップS13に戻り、所定のパトロール処理レートを適用したダミーリードと、ダミーリード済みのブロック数Ncompの確認とを繰り返す。
NcompがNtar以上となった(Ncomp≧Nth)場合(ステップS24、YES)、第2パトロール制御部50Bは、コマンド発行部51、NANDインターフェイス回路26、及びNAND型フラッシュメモリ10を低消費電力状態に移行させ、メモリコントローラ20が通常の低消費電力モードに戻る。つまり第2パトロール制御部50Bは、ステップS20に戻り、以上で説明した動作を繰り返し実行する。
以上で説明した低消費電力モード時におけるパトロール動作の一例が、図15に示されている。図15は、低消費電力モード時のパトロール期間におけるダミーリード済ブロック数の変化の一例を示し、縦軸がダミーリード済みブロック数Ncompに対応し、横軸が時間に対応している。また、図15には、所定の閾値Nthの時間変化と、目標閾値Ntarの時間変化とがそれぞれ破線で示され、パトロール対象ブロックとしてn個のブロックBLKが指定されている。
図15に示すように、時刻t0においてNcompは、“0”(ダミーリード済みブロック無し)となっている。そして時刻t1においてNcompが、Nth以下となる。すると第2パトロール制御部50Bは、関連するコンポーネントを低消費電力状態から復帰させて、所定のパトロール処理レートでダミーリードを実行する。時刻t2においてNcompがNtar以上になると、第2パトロール制御部50Bは関連するコンポーネントを低消費電力状態に移行させ、メモリシステム1が通常の低消費電力モードに戻る。以降もこのような動作が繰り返し実行される。簡潔に説明すると、第2パトロール制御部は、ダミーリードの進捗状況に基づいて関連するコンポーネントの状態を変化させて、時刻t3にダミーリードを実行し、時刻t4にダミーリードを停止し、時刻t5にダミーリードを実行する。そして時刻t6において、Ncompがパトロール対象ブロック数に達すると、第2パトロール制御部50Bは当該パトロール期間におけるパトロール動作を終了する。
尚、以上の説明では、ダミーリード済みブロック数Ncompと所定の閾値Nthとの比較結果に基づいて、第2パトロール制御部50Bが低消費電力モード中のダミーリードを命令する場合を例に説明したが、これに限定されない。例えば、第2パトロール制御部50Bは、低消費電力モード時において、図16に示すようにタイマ24のカウントに基づいて定期的にダミーリードの実行を命令しても良い。図16は、第2実施形態に係るメモリシステム1におけるパトロール動作の変形例を示すフローチャートであり、低消費電力モード時におけるメモリシステム1の動作例を示している。
図16に示すように低消費電力モードが開始すると、まず第2パトロール制御部50Bは、タイマ24のカウントを確認し(ステップS30)、所定の時間が経過したかどうかを確認する(ステップS31)。
タイマ24のカウントが所定の時間を経過していない場合(ステップS31、NO)、第2パトロール制御部50Bは、ステップS30に戻り、タイマ24のカウントの確認を継続する。
タイマ24のカウントが所定の時間を経過した場合(ステップS31、YES)、第2パトロール制御部50Bは、コマンド発行部51、NANDインターフェイス回路26、及びNAND型フラッシュメモリ10を低消費電力状態から復帰させて、所定のパトロール処理レートを適用したダミーリードを実行する。このダミーリードは、例えば第1実施形態で図7を用いて説明したステップS13におけるダミーリードと同様である。
ステップS13におけるダミーリードが終了すると、第2パトロール制御部50Bは、コマンド発行部51、NANDインターフェイス回路26、及びNAND型フラッシュメモリ10を低消費電力状態に移行させ、メモリコントローラ20が通常の低消費電力モードに戻る。つまり第2パトロール制御部50Bは、ステップS30に戻り、以上で説明した動作を繰り返し実行する。
尚、ステップS31における所定の時間は、例えばパトロール期間においてパトロール対象ブロックに対するダミーリードが完了するように設定される。このような方法を用いてもメモリシステム1は、図15に示すように低消費電力モード時のパトロール期間におけるダミーリードを進行することが出来る。
[2−3]第2実施形態の効果
以上で説明した第2実施形態に係るメモリシステム1に依れば、低消費電力モードから復帰した際の動作速度の低下を抑制することが出来る。以下に、第2実施形態に係るメモリシステム1の詳細な効果について説明する。
以上で説明した第2実施形態に係るメモリシステム1に依れば、低消費電力モードから復帰した際の動作速度の低下を抑制することが出来る。以下に、第2実施形態に係るメモリシステム1の詳細な効果について説明する。
メモリシステム1は、例えばホスト機器2からの命令が長時間無い場合や、ホスト機器2からの電力モード切り替え命令を受信した場合に、低消費電力モードに移行することがある。低消費電力モードは、電力の供給するコンポーネントを制限することによって消費電力を抑制するため、例えば第1実施形態で説明したパトロール動作が停止してしまう場合がある。
そこで、第2実施形態に係るメモリシステム1では、低消費電力モード時においても定期的にダミーリードを実行する。具体的には、例えばメモリコントローラ20の第2パトロール制御部50Bとタイマ24が、低消費電力モード時においても動作する。低消費電力モード時において第2パトロール制御部50Bは、例えばパトロール期間においてダミーリード済みブロック数が所定の値を下回ったことや、タイマ24のカウントで所定の時間が経過したこと等を検知する。そしてパトロール制御部50Bは、一時的にメモリシステム1の所定のコンポーネントを低消費電力状態から復帰させて、NAND型フラッシュメモリ10に対してダミーリードの実行を命令する。
これにより、第2実施形態に係るメモリシステム1は、低消費電力モード中にパトロール対象ブロックのメモリセルトランジスタMTが第1状態に移行することを抑制することが出来る。従って、第2実施形態に係るメモリシステム1は、低消費電力モードから復帰した際の読み出し動作におけるリトライリードの発生を抑制することが出来るため、動作速度の低下を抑制することが出来る。
[3]第3実施形態
第3実施形態に係るメモリシステム1は、メモリシステム1の温度状態に基づいてパトロール期間の長さを変更するものである。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
第3実施形態に係るメモリシステム1は、メモリシステム1の温度状態に基づいてパトロール期間の長さを変更するものである。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
[3−1]構成
図17は、温度状態に基づいてパトロール期間を変更する場合におけるプロセッサ21の詳細な構成例を示している。図17に示すように第3実施形態においてプロセッサ21は、第1実施形態において図6を用いて説明したパトロール制御部50に対して、温度計25の情報が入力される。そして、第3実施形態におけるパトロール制御部50は、温度計25からの温度情報に基づいてパトロール期間を変更する。第3実施形態に係るメモリシステム1のその他の構成は、第1実施形態に係るメモリシステム1の構成と同様のため、説明を省略する。
図17は、温度状態に基づいてパトロール期間を変更する場合におけるプロセッサ21の詳細な構成例を示している。図17に示すように第3実施形態においてプロセッサ21は、第1実施形態において図6を用いて説明したパトロール制御部50に対して、温度計25の情報が入力される。そして、第3実施形態におけるパトロール制御部50は、温度計25からの温度情報に基づいてパトロール期間を変更する。第3実施形態に係るメモリシステム1のその他の構成は、第1実施形態に係るメモリシステム1の構成と同様のため、説明を省略する。
[3−2]動作
図18は、第3実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、温度状態に基づいたメモリシステム1の動作例を示している。
図18は、第3実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、温度状態に基づいたメモリシステム1の動作例を示している。
図18に示すようにパトロール期間が開始すると、まずパトロール制御部50は、温度計25から温度情報を取得し、メモリシステム1のシステム温度を確認する(ステップS40)。次にパトロール制御部50は、取得した温度情報に基づいて、当該パトロール期間の長さを設定する(ステップS41)。具体的には、例えばシステム温度が所定の温度以下である場合に、パトロール期間を初期値よりも長く設定し、システム温度が所定の温度以上である場合に、パトロール期間を初期値よりも短く設定する。尚、パトロール制御部50がパトロール期間の長さを設定する方法は、これに限定されない。パトロール期間の設定方法としては、システム温度の範囲とパトロール期間の長さとを対応付けたテーブルを参照しても良いし、所定の関数を用いてシステム温度の値からパトロール期間の長さを算出しても良い。そしてパトロール制御部50は、設定したパトロール期間において、例えば第1実施形態で図7を用いて説明したステップS10〜S14のパトロール動作を実行する。当該パトロール期間が終了して次のパトロール期間に移行すると、パトロール制御部50は、ステップS40に戻り、以上で説明した動作を繰り返し実行する。尚、パトロール制御部50は、さらにパトロール期間の途中で温度を計測し、パトロール期間を更新しても良い。
以上で説明した温度状態に基づいたパトロール動作の一例が、図19に示されている。図19は、温度状態に基づいたパトロール動作におけるパトロール処理レートの変化の一例を示し、縦軸がパトロール処理レートに対応し、横軸が時間に対応している。また、図19は、異なる2つのパトロール期間(第1パトロール期間及び第2パトロール期間)を示し、その他のパトロール期間におけるパトロール処理レートは省略されている。
図19に示すように、時刻t0においてメモリシステム1のシステム温度が30℃である場合、パトロール制御部50はこのシステム温度の値に基づいて第1パトロール期間T3を設定する。尚、本例では、時刻t0からt1までの期間がパトロール期間T3に対応している。そしてパトロール制御部50は、当該パトロール期間T3の長さに基づいて、パトロール処理レートを例えば10(BLK/sec)に設定し、パトロール動作を実行する。
時刻t2においてメモリシステム1の温度が70℃である場合、パトロール制御部50はこのシステム温度の値に基づいて第2パトロール期間T4を設定する。尚、本例では、時刻t2からt3までの期間がパトロール期間T4に対応し、期間T4は期間T3よりも短く設定される。そしてパトロール制御部50は、当該パトロール期間T4の長さに基づいて、パトロール処理レートを例えば30(BLK/sec)に設定し、パトロール動作を実行する。期間T4は、第1パトロール期間に対応する時刻t2からt3までの時間を示している。
以上のように、本例において時刻t2におけるシステム温度は、時刻t0におけるシステム温度よりも高いため、例えば第2パトロール期間T4が第1パトロール期間T3よりも短く設定される。また、第2パトロール期間T4が第1パトロール期間T3よりも短いため、例えば第2パトロール期間におけるパトロール処理レートが、第1パトロール期間におけるパトロール処理レートよりも高く設定される。
[3−3]第3実施形態の効果
以上で説明した第3実施形態に係るメモリシステム1に依れば、システム温度の変化の影響による動作速度の低下を抑制することが出来る。以下に、第3実施形態に係るメモリシステム1の詳細な効果について説明する。
以上で説明した第3実施形態に係るメモリシステム1に依れば、システム温度の変化の影響による動作速度の低下を抑制することが出来る。以下に、第3実施形態に係るメモリシステム1の詳細な効果について説明する。
メモリセルトランジスタMTの閾値電圧は、その温度状態に基づいて、第2状態から第1状態へ移行する時間が変化することがある。例えば、メモリシステム1のシステム温度が高温の場合には、メモリセルトランジスタMTが第2状態から第1状態へ移行する時間が短くなり、システム温度が低温の場合には、メモリセルトランジスタMTが第2状態から第1状態へ移行する時間が長くなることが考えられる。
そこで、第3実施形態に係るメモリシステム1では、メモリシステム1の温度状態に基づいて各パトロール期間の長さを最適化する。具体的には、まずプロセッサ21のパトロール制御部50が、例えばメモリコントローラ20に含まれた温度計25から温度情報を取得する。この温度情報は、メモリシステム1全体のシステム温度と、NAND型フラッシュメモリ10内のメモリセルトランジスタMTの温度とを間接的に示している。そしてパトロール制御部50は、この温度情報に基づいて各パトロール期間の長さを設定し、パトロール期間の長さを温度状態に合わせて最適化する。
例えば、パトロール制御部50は、メモリシステム1が高温状態であり、メモリセルトランジスタMTが第2状態から第1状態に移行するまでの時間が短くなっている場合には、これに合わせてパトロール期間を短く設定する。一方で、パトロール制御部50は、メモリシステム1が低温状態であり、メモリセルトランジスタMTが第2状態から第1状態に移行するまでの時間が長くなっている場合には、これに合わせてパトロール期間を長く設定する。そしてパトロール制御部50は、設定したパトロール期間におけるパトロール処理レートを決定し、ダミーリードを実行する。
これにより、第3実施形態に係るメモリシステム1は、メモリセルトランジスタMTに対して必要以上にダミーリードを実行することや、メモリセルトランジスタMTが第2状態から第1状態に移行した状態でホスト機器2に指示された読み出し動作を実行することを回避することが出来る。従って、第3実施形態に係るメモリシステム1は、システム温度の変化の影響による動作速度の低下を抑制することが出来る。
尚、第3実施形態に係るメモリシステム1では、NAND型フラッシュメモリ10に温度計が内蔵されても良い。この場合にメモリシステム1は、NAND型フラッシュメモリ10に内蔵された温度計で計測された温度情報に基づいて各パトロール期間の長さを設定し、パトロール期間の長さを温度状態に合わせて最適化することが出来る。
[4]第4実施形態
第4実施形態に係るメモリシステム1は、優先度に基づいてパトロール対象ブロックのダミーリード順番を決定するものである。以下に、第4実施形態に係るメモリシステム1について、第1〜第3実施形態と異なる点を説明する。
第4実施形態に係るメモリシステム1は、優先度に基づいてパトロール対象ブロックのダミーリード順番を決定するものである。以下に、第4実施形態に係るメモリシステム1について、第1〜第3実施形態と異なる点を説明する。
[4−1]構成
図20は、優先度に基づいてパトロール対象ブロックのダミーリード順番を決定する場合におけるDRAM11及びプロセッサ21の詳細な構成例を示している。図20に示すように、第4実施形態において、DRAM11は属性テーブル60を記憶し、プロセッサ21は優先度決定部52としてさらに機能する。
図20は、優先度に基づいてパトロール対象ブロックのダミーリード順番を決定する場合におけるDRAM11及びプロセッサ21の詳細な構成例を示している。図20に示すように、第4実施形態において、DRAM11は属性テーブル60を記憶し、プロセッサ21は優先度決定部52としてさらに機能する。
属性テーブル60は、各ブロックBLKに関連付けられた情報であり、プロセッサ21は、メモリシステム1の各種動作に基づいて属性テーブル60を更新する。属性テーブル60が含む情報は、例えばブロック状態、書き込み方式、書き込み/消去回数、読み出し回数、最終書き込み時刻、最終アクセス時刻、読み出しエラー回数等の情報を含んでいる。これらの情報を含む属性テーブル60の一例が、図21に示されている。図21に示すように、ブロックBLKは、例えば記憶される情報の属性が異なるものや、当該ブロックBLKに適用された記憶方式が異なるものがある。具体的には、属性テーブル60は、ブロック状態として、例えばフリー、アクティブ(ユーザ)、アクティブ(デバッグ情報)等、記憶される情報の属性を記録する。また、属性テーブル60は、ブロックBLKに適用された書き込み方式として、例えばMLC、SLC等を記録する。属性テーブル60は、最終書き込み時刻及び最終アクセス時刻として、例えば時:分:秒の情報を記録する。これに限定されず、属性テーブル60に含まれた最終書き込み時刻及び最終アクセス時刻の情報は、日付の情報を含んでいても良い。尚、属性テーブル60が含む情報はこれに限定されず、ブロックBLKに関連するあらゆる情報を含んでいても良い。
優先度決定部52は、DRAM11が記憶している属性テーブル60を参照して、パトロール期間におけるダミーリードの優先度を決定する。優先度は、例えば高、中、低の三段階に設定される。尚、優先度の設定は三段階に限定されず、優先度を任意の段階で設定することが出来る。以下に、優先度の設定基準の一例について説明する。
ブロックBLKの属性に基づいて優先度を設定する場合、優先度決定部52は、例えばホストリードの対象とならないブロックBLKの優先度を低くする。
ブロックBLKの信頼性に基づいて優先度を設定する場合、優先度決定部52は、信頼性マージンの大きいブロック(例えば、SLC方式が適用されたブロック、強力なエラー訂正で保護されているブロック、書き込み/消去回数の少ないブロック等)は、優先度を低くし、疲弊したブロック(例えば、書き込み/消去回数の多いブロック、リードディスターブ/データリテンションストレスが大きいブロック等)は、優先度を高くする。
アクセスのプロファイルに基づいて優先度を設定する場合、優先度決定部52は、メモリシステム1全体のコマンド数・データ量に占める当該領域へのアクセス回数を基準として、アクセス頻度が低いブロックの優先度を下げて、アクセス頻度が高いブロック、或いは直近にアクセスされたブロックの優先度を上げる。
時間観点のプロファイルに基づいて優先度を設定する場合、優先度決定部52は、当該領域にアクセスしてから次にアクセスするまでの時間間隔を基準として、アクセス間隔が短い(例えば、secオーダー)論理ブロックアドレスを含むブロックと、アクセス間隔が長い(例えば、hourオーダー)論理ブロックアドレスを含むブロックの優先度を下げて、アクセス間隔が中間(例えば、minオーダー)の論理ブロックアドレスを含むブロックの優先度を上げる。例えば、アクセス間隔が短いブロックは、ホストリードによってメモリセルトランジスタMTを第2状態に維持することが出来るため、優先度を下げることが出来る。アクセス間隔が長いブロックは、アクセス頻度が低く、例えば記憶されている情報の重要度が低いため、優先度を下げることが出来る。アクセス間隔が中間のブロックは、ホストリードによって第2状態を維持することが難しく、且つ第2状態から第1状態に移行した状態でアクセスされる可能性が高いため、優先度が上げられる。
信頼性観点でのプロファイルに基づいて優先度を設定する場合、優先度決定部52は、例えばリトライリードが発生した回数の多いブロックのように、エラーレートの高いブロックの優先度を上げる。
時間経過に基づいて優先度を設定する場合、優先度決定部52は、書き込み動作を実行した時刻や最後にダミーリードを実行した時刻から、一定時間以上経過したブロックの優先度を上げる。
尚、優先度決定部52は、以上で説明した属性テーブル60に含まれた情報のうちいずれか1つの情報を利用して優先度を決定しても良いし、複数の情報を利用して優先度を決定しても良い。また、優先度決定部52は、属性テーブル60の情報と、タイマ24のカウントとに基づいて優先度を決定しても良い。第4実施形態に係るメモリシステム1のその他の構成は、第1実施形態に係るメモリシステム1の構成と同様のため、説明を省略する。
尚、以上の説明では、属性テーブル60がDRAM11に記憶されている場合を例に用いたが、これに限定されない。例えば、属性テーブル60は、メモリコントローラ20の内蔵メモリ22に記憶されていても良い。また、属性テーブル60は、NAND型フラッシュメモリ10に記憶され、NAND型フラッシュメモリ10から読み出すことにより、DRAM11又は内蔵メモリ22に展開されても良い。
[4−2]動作
図22は、第4実施形態における優先度に基づいたパトロール動作の一例を示し、時間軸に沿って、ダミーリードが実行されるパトロール対象ブロックの優先度が示されている。また、図22には、第1パトロール期間と、第1パトロール期間に続く第2パトロール期間とが示されている。
図22は、第4実施形態における優先度に基づいたパトロール動作の一例を示し、時間軸に沿って、ダミーリードが実行されるパトロール対象ブロックの優先度が示されている。また、図22には、第1パトロール期間と、第1パトロール期間に続く第2パトロール期間とが示されている。
図22に示すように第1パトロール期間においてパトロール制御部50は、優先度決定部52が決定したパトロール対象ブロックの優先度に基づいてダミーリードを実行する。具体的には、第1パトロール期間においてパトロール制御部50は、優先度高、優先度中、優先度低の順に、パトロール対象ブロックに対するダミーリードを実行する。
続く第2パトロール期間においてパトロール制御部50は、第1パトロール期間と同様の優先順で、パトロール対象ブロックに対するダミーリードを実行する。本例における第2パトロール期間では、優先度高のパトロール対象ブロックに対するダミーリードを実行した後に、ホスト機器2からの命令に基づく動作(例えば、ホストリード)が実行されている。このように、パトロール期間中のホスト機器2からの命令に基づいた動作によって当該パトロール期間の残り時間が短くなると、優先度低のパトロール対象ブロックに対するダミーリードが実行される前に当該パトロール期間が終了することがある。
尚、以上の説明では、第2パトロール期間で優先度低のパトロール対象ブロックに対するダミーリードが実行されない場合を例に説明したが、これに限定されない。例えば、パトロール制御部50が、タイマ24のカウントと、当該パトロール期間の残り時間とに基づいて、当該パトロール期間内に全てのパトロール対象ブロックに対するダミーリードが完了するように動作させても良い。この場合、パトロール期間の残り時間が短くなった際に、パトロール制御部50がホスト機器2からの命令に基づく動作に対して割り込み処理を行い、パトロール動作に基づくダミーリードを優先的に実行する。
また、以上の説明では、パトロール期間において、各パトロール対象ブロックに対して1回ずつダミーリードを実行する場合を例に用いたが、これに限定されない。例えば、優先度に基づいて、各パトロール期間内に実行するダミーリードの回数を変更しても良い。本例について、図23を用いて説明する。図23は、第4実施形態における優先度に基づいたパトロール動作の変形例を示している。
図23に示すようにパトロール期間においてパトロール制御部50は、優先度決定部52が決定したパトロール対象ブロックの優先度に基づいて、優先度が高いブロックBLKに対して複数回のダミーリードを実行する。具体的には、パトロール制御部50は、当該パトロール期間内に、例えば優先度高のパトロール対象ブロックに対して3回のダミーリードを実行し、優先度中のパトロール対象ブロックに対して2回のダミーリードを実行し、優先度低のパトロール対象ブロックに対して1回のダミーリードを実行する。そしてパトロール制御部50は、例えば当該パトロール期間内に、優先度高、優先度中、優先度低、優先度高、優先度中、優先度高の順番にダミーリードを実行する。このようにパトロール制御部50は、当該パトロール期間において、まず各優先度のパトロール対象ブロックに対するダミーリードを実行し、優先度中や優先度低のパトロール対象ブロックに対する初回のダミーリードをパトロール期間の前半に実行するようにする。
尚、パトロール期間中にパトロール制御部50が優先度に基づいて同じブロックBLKに対する複数回のダミーリードを実行する場合のダミーリード順番は、以上で説明した順番に限定されない。このような場合においてパトロール制御部50は、ダミーリードの順番を任意の順番に設定することが出来る。
また、以上の説明では、パトロール期間中にパトロール制御部50が優先度の高いパトロール対象ブロックに対して複数回のダミーリードを実行し、優先度の低いパトロール対象ブロックに対して1回のダミーリードを実行する場合を例に説明したが、これに限定されない。例えば、各優先度のパトロール対象ブロックに対するダミーリード回数は、任意の回数に設定することが出来、優先度の低いパトロール対象ブロックに対して複数回のダミーリードを実行しても良い。
[4−3]第4実施形態の効果
以上で説明した第4実施形態に係るメモリシステム1に依れば、重要度の高いブロックBLKに対して優先的にダミーリードを実行することが出来る。以下に、第4実施形態に係るメモリシステム1の詳細な効果について説明する。
以上で説明した第4実施形態に係るメモリシステム1に依れば、重要度の高いブロックBLKに対して優先的にダミーリードを実行することが出来る。以下に、第4実施形態に係るメモリシステム1の詳細な効果について説明する。
例えば、パトロール対象ブロックには、ユーザデータを記憶するブロックBLKや、メモリコントローラ20がメモリシステム1を管理するためのデバッグ情報等を記憶するブロックBLKが含まれ、同じユーザデータを記憶する領域でも、記憶するユーザデータの種類によってアクセス頻度が異なることがある。また、メモリセルトランジスタMTは、1つのメモリセルトランジスタMTにより多くのビットデータを記憶させるほど、メモリセルトランジスタMTが第1状態である場合に読み出しエラーが発生する可能性が高くなる傾向がある。
つまり、メモリシステム1では、パトロール対象ブロックの中でもダミーリードを実行する重要度及び効果が異なることがある。例えば、アクセス頻度が高いブロックBLKにおけるダミーリードは、アクセス頻度が低いブロックBLKにおけるダミーリードよりも重要性が高い。また、例えば書き込み方式としてMLC方式を適用したブロックBLKにおけるダミーリードは、SLC方式を適用したブロックBLKにおけるダミーリードよりも読み出しエラーを抑制する効果が大きい。
そこで、第4実施形態に係るメモリシステム1では、ダミーリードの重要度及び効果に応じて、パトロール対象ブロックに対するダミーリードの優先度を設定する。具体的には、優先度決定部52が、ブロックBLKの各種情報を含む属性テーブル60を参照し、各パトロール対象ブロックに対する優先度を決定する。そして、パトロール制御部50は、優先度決定部52が決定した優先度に基づいて、パトロール動作を実行する。つまり、パトロール制御部50は、ダミーリードの重要度及び効果の高いブロックBLKに対して、優先的にダミーリードを実行する。
これにより、第4実施形態に係るメモリシステム1は、各パトロール期間においてダミーリードの重要度及び効果の高いブロックBLKにおけるメモリセルトランジスタMTを、第2状態に維持することが出来る。つまり、第4実施形態に係るメモリシステム1は、パトロール期間内に全てのパトロール対象ブロックに対するダミーリードが完了しない場合における影響を、最小限に抑制することが出来る。従って、第4実施形態に係るメモリシステム1は、メモリシステム1の動作速度の低下を最小限に抑制することが出来る。
尚、第4実施形態に係るメモリシステム1は、各パトロール期間内に、優先度決定部52が決定した優先度に基づいて同じブロックBLKに複数回のダミーリードを実行することも出来る。これにより、第4実施形態に係るメモリシステム1は、ブロックBLK間でメモリセルトランジスタMTが第2状態から第1状態に移行する時間が異なる場合に、パトロール対象ブロック毎に最適な間隔でダミーリードを実行することが出来る。
また、第4実施形態に係るメモリシステム1は、NAND型フラッシュメモリ10の構造に基づいて優先度を設定しても良い。この場合に優先度決定部52は、例えばチップ端に近いブロック等、物理的に第1状態から第2状態に遷移しやすいブロックの優先度を上げる。
また、第4実施形態に係るメモリシステム1は、ホスト機器2から取得したヒント情報に基づいて優先度を設定しても良い。この場合に優先度決定部52は、頻繁にアクセスされる論理ブロックアドレスが含まれるブロックBLKと、重要な情報が書き込まれている論理ブロックアドレスが含まれるブロックBLKとの優先度を上げる。また、優先度決定部52は、ヒント情報に含まれていない論理ブロックアドレスの優先度を下げても良い。これに限定されず、優先度決定部52は、複数の論理ブロックアドレスを区切って管理するための情報(Namespace)を参照して、使用されていないNamespaceに含まれたブロックBLKの優先度を下げても良い。
また、第4実施形態に係るメモリシステム1は、優先度の極めて低いブロックをパトロール対象ブロックから除外するようにしても良い。この場合にパトロール制御部50は、例えば優先度に対して所定の閾値を設けて、この所定の閾値を下回ったパトロール対象ブロックを、パトロール対象ブロックから除外する。
[5]第5実施形態
第5実施形態は、複数のブロックBLKがブロックデコーダの制御信号を共有する場合における、パトロール期間中のフラグ管理方法に関するものである。以下に、第5実施形態に係るメモリシステム1について、第1〜第4実施形態と異なる点を説明する。
第5実施形態は、複数のブロックBLKがブロックデコーダの制御信号を共有する場合における、パトロール期間中のフラグ管理方法に関するものである。以下に、第5実施形態に係るメモリシステム1について、第1〜第4実施形態と異なる点を説明する。
[5−1]構成
図24は、第5実施形態におけるメモリセルアレイ11、ロウデコーダモジュール13、及び電圧生成回路19の詳細な構成例を示し、各ブロックBLKに含まれ且つ同じ層に設けられた1本のワード線WLi(iは0以上7以下の整数)に対応する構成について示している。図24に示すように、第5実施形態において、メモリセルアレイ11は複数のメモリグループGRを含み、ロウデコーダモジュール13は複数のトランジスタTR並びにブロックデコーダBDを含み、電圧生成回路19はCGドライバ70を含んでいる。
図24は、第5実施形態におけるメモリセルアレイ11、ロウデコーダモジュール13、及び電圧生成回路19の詳細な構成例を示し、各ブロックBLKに含まれ且つ同じ層に設けられた1本のワード線WLi(iは0以上7以下の整数)に対応する構成について示している。図24に示すように、第5実施形態において、メモリセルアレイ11は複数のメモリグループGRを含み、ロウデコーダモジュール13は複数のトランジスタTR並びにブロックデコーダBDを含み、電圧生成回路19はCGドライバ70を含んでいる。
複数のメモリグループGRは、それぞれが例えば4つのブロックBLKを含んでいる。例えば、複数のメモリグループGRは第1メモリグループGR1及び第2メモリグループGR2を含み、第1メモリグループGR1はブロックBLK0〜BLK3を含み、第2グループはブロックBLK4〜BLK7を含んでいる。尚、各メモリグループGRが含むブロックBLKの数はこれに限定されず、任意の数に設計することが可能である。
複数のトランジスタTRは、それぞれ異なるブロックBLKに接続されている。例えば、複数のトランジスタTRは、トランジスタTR0〜TR7を含んでいる。トランジスタTR0〜TR7の一端は、それぞれブロックBLK0〜BLK7のワード線WLiに接続されている。トランジスタTR0〜TR3の他端はそれぞれ信号線CG0〜CG3に接続され、トランジスタTR0〜TR3のゲートには制御信号BS1が入力される。トランジスタTR4〜TR7の他端はそれぞれ信号線CG0〜CG3に接続され、トランジスタTR4〜TR7のゲートには制御信号BS2が入力される。
ブロックデコーダBDは、アドレスレジスタ15Bに記憶されたアドレス情報に基づいて、制御信号BS1及びBS2を出力する。制御信号BS1及びBS2は、それぞれメモリグループGR1及びGR2に対応した制御信号である。つまり、各種動作時においてブロックデコーダBDは、選択するブロックBLKを含むメモリグループGRに対応する制御信号BSを“H”レベルにして、その他のメモリグループGRに対応する制御信号BSを“L”レベルにする。尚、図24には制御信号BS1及びBS2が示されているが、ブロックデコーダBDは、その他のメモリグループGRに対応する制御信号BSを出力することも可能である。
CGドライバ70は、各種動作時に信号線CG0〜CG3に供給する電圧を生成することが可能なドライバである。また、CGドライバ70は、信号線CG毎に異なる電圧を生成することも出来る。各種動作時においてCGドライバ70は、例えば選択されたブロックBLKに対応する信号線CGに対して、各種動作電圧(例えば読み出し電圧)を印加し、非選択のブロックBLKに対応する信号線CGに対して、例えば接地電圧VSSを印加する。
尚、以上の説明では、各ブロックBLKに含まれた1本のワード線WLiに関連する構成について述べたが、各ブロックBLKに含まれたその他の配線についても上記と同様の構成となる。例えば、ロウデコーダモジュール13は複数のトランジスタTR0を含み、ブロックBLK0に含まれたワード線WL0〜WL7にそれぞれ異なるトランジスタTR0の一端が接続される。そして、これらのトランジスタTR0のゲートには制御信号BS1が入力され、これらのトランジスタTR0の他端はそれぞれ異なる信号線CG0に接続される。第5実施形態に係るメモリシステム1のその他の構成は、第1実施形態に係るメモリシステム1の構成と同様のため、説明を省略する。
[5−2]動作
図25は、第5実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、第1実施形態で図7を用いて説明したフローチャートに対して、ステップS12の処理を省略し、ステップS11の処理の後にステップS50及びS51の処理を挿入したものである。尚、本動作においてパトロール制御部50は、パトロール済みフラグを管理する。パトロール済みフラグは、ブロック毎に付与され、ダミーリードが実行されたかどうかを示すフラグである。パトロール済みフラグは例えば内蔵メモリ22に保持され、当該パトロール期間において、“0(リセット状態)”が付与されたブロックBLKはダミーリード前であることを示し、“1(セット状態)”が付与されたブロックBLKはダミーリード後であること又はダミーリード不要であることを示している。
図25は、第5実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、第1実施形態で図7を用いて説明したフローチャートに対して、ステップS12の処理を省略し、ステップS11の処理の後にステップS50及びS51の処理を挿入したものである。尚、本動作においてパトロール制御部50は、パトロール済みフラグを管理する。パトロール済みフラグは、ブロック毎に付与され、ダミーリードが実行されたかどうかを示すフラグである。パトロール済みフラグは例えば内蔵メモリ22に保持され、当該パトロール期間において、“0(リセット状態)”が付与されたブロックBLKはダミーリード前であることを示し、“1(セット状態)”が付与されたブロックBLKはダミーリード後であること又はダミーリード不要であることを示している。
ステップS11においてプロセッサ21は、ホスト機器2からの命令に基づいた動作を実行する。例えばプロセッサ21は、ステップS10においてホスト機器2からガベージコレクションの命令を受信した場合に、消去動作を実行する。
次に、プロセッサ21は、ステップS11において消去動作が実行されたかどうかを確認する(ステップS50)。消去動作が実行されていない場合(ステップS50、NO)、プロセッサ21は、ステップS13に移行する。パトロール制御部50は、ステップS13においてダミーリードを実行すると、ダミーリードを実行したブロックBLKのパトロール済みフラグを“1”にセットする。また、ストップS11において消去動作が実行された場合(ステップS50、YES)、パトロール制御部50は、当該パトロール期間におけるパトロール済みフラグを更新する(ステップS51)。
具体的には、パトロール制御部50は、直前のステップS11において消去対象とされたブロックBLKを含むメモリグループGRに含まれるブロックBLK群のうち、消去対象とされたブロックBLK以外のパトロール済みフラグを“0”にリセットする。尚、当該その他のブロックBLKが消去済みのブロックBLKであり、有効なデータを保持しない場合には、パトロール済みフラグは“1”に維持されても良い。
ステップS51においてパトロール済みフラグがリセットされたブロックBLKは、当該パトロール期間内でそれまでにダミーリードが実行されていた場合においても、再びダミーリードを実行する対象とされる。そして、パトロール済みフラグがリセットされたブロックBLKは、例えば次に実行されるステップS13においてダミーリードの対象とされる。これに限定されず、パトロール制御部50は、パトロール済みフラグがリセットされたブロックBLKに対するダミーリードを、パトロール済みフラグがリセットされてから可能な限り速やかに実行すれば良い。
尚、以上の説明では、ホスト機器2によるガベージコレクションの命令に基づいてプロセッサ21が消去動作を実行した場合を例に挙げたが、これに限定されない。例えばプロセッサ21は、ホスト機器2からの命令に依らないガベージコレクション動作に基づいた消去動作を実行した場合においても、ステップS50において消去動作が実行されたかどうかを確認することによって、ステップS51の動作に移行することが可能である。図25に示すその他のステップにおける動作は、第1実施形態で説明した動作と同様のため、説明を省略する。
以上で説明したパトロール動作の一例が、図26に示されている。図26は、第5実施形態におけるメモリセルアレイ11の構成に適用されるパトロール動作の一例であり、第1メモリグループGR1及び第2メモリグループGR2における消去動作前後のパトロール済みフラグの状態が示されている。
図26に示すように、消去動作前において、メモリグループGR1のブロックBLK0及びBLK1のパトロール済みフラグは“1”であり、ブロックBLK2及びBLK3のパトロール済みフラグは“0”となっている。また、メモリグループGR2のブロックBLK4〜BLK7のパトロール済みフラグは“1”となっている。そして本例では、このような状態でブロックBLK2に対する消去動作が実行される。
図26に示すように、消去動作前において、メモリグループGR1のブロックBLK0及びBLK1のパトロール済みフラグは“1”であり、ブロックBLK2及びBLK3のパトロール済みフラグは“0”となっている。また、メモリグループGR2のブロックBLK4〜BLK7のパトロール済みフラグは“1”となっている。そして本例では、このような状態でブロックBLK2に対する消去動作が実行される。
消去動作後において、まず消去対象のブロックBLK2のパトロール済みフラグに“1”がセットされる。この理由は、消去動作後には読み出し対象となるデータが存在しないからである。そして、消去対象のブロックBLK2を含むメモリグループGR内のその他のブロックBLK0及びBLK1のパトロール済みフラグが“0”にリセットされる。尚、当該メモリグループ内においてパトロール済みフラグが“0”である場合には、そのままパトロール済みフラグ“0”が維持される。また、その他のメモリグループGRに含まれたブロックBLKについては、パトロール済みフラグが更新されない。
次に、図27及び図28を用いて第5実施形態におけるNAND型フラッシュメモリ10において第1及び第2ダミーリードを実行した場合の波形について説明する。図27及び図28は、それぞれ第1及び第2ダミーリードにおけるコマンドシーケンス及び波形の一例を示し、第1実施形態で図9及び図10を用いて説明した第1及び第2ダミーリードに対して、各信号線CGに対応するワード線WLの波形が異なっている。
図27に示す第1ダミーリードにおいて、例えば信号線CG0に対応するブロックBLK0が選択された場合、各信号線CG0に接続されたワード線WLの波形は図9におけるワード線WLの波形と同様になる。一方で、非選択のブロックBLKに対応する各信号線CG1〜CG3に接続されたワード線WLは、第1ダミーリード中において例えば接地電圧VSSに維持される。第5実施形態における第1ダミーリードのその他の動作は、第1実施形態で図9を用いて説明した第1ダミーリードと同様のため、説明を省略する。
図28に示す第2ダミーリードにおいて、例えば信号線CG0に対応するブロックBLK0が選択された場合、各信号線CG0に接続されたワード線WLの波形は図10におけるワード線WLの波形と同様になる。一方で、非選択のブロックBLKに対応する各信号線CG1〜CG3に接続されたワード線WLは、第2ダミーリード中において例えば接地電圧VSSに維持される。第5実施形態における第2ダミーリードのその他の動作は、第1実施形態で図10を用いて説明した第2ダミーリードと同様のため、説明を省略する。
尚、以上の説明では、メモリグループGR内のブロックBLKに対する消去動作に基づいて、パトロール済みフラグを更新する場合を例に挙げたが、これに限定されない。例えば、プロセッサ21は、例えばホスト機器2からの命令に基づいて読み出し動作又は書き込み動作が実行された場合に、読み出し動作又は書き込み動作が実行されたブロックBLKにおけるパトロール済みフラグに“1”をセットしても良い。この理由は、読み出し動作と書き込み動作におけるベリファイ読み出し動作とによって、それぞれダミーリードと同様の効果が期待出来るからである。
また、プロセッサ21は、例えばメモリグループGR内に含まれた消去動作、読み出し動作、書き込み動作の回数に基づいて、当該メモリグループGR内のパトロール済みフラグを更新しても良い。本例について図29を用いて説明する。図29は、第5実施形態の変形例に係るメモリシステム1の動作の一例を示すフローチャートであり、第1実施形態で図7を用いて説明したフローチャートに対して、ステップS12の処理を省略し、ステップS10の処理の後にステップS52の処理を挿入し、ステップS11の処理の後にステップS53〜S56の処理を挿入したものである。
図29に示すようにパトロール制御部50は、パトロール期間が開始すると、まずカウンタを規定値にリセットする(ステップS52)。このカウンタはブロックBLK毎に設けられ、例えば内蔵メモリ22内に保持されている。また、カウンタの規定値は、任意の数値に設定することが可能であり、以下ではカウンタの規定値が1000である場合を例に説明する。
ステップS52の後にプロセッサ21は、ステップS10及びS11の処理を実行する。そしてステップS11の後にパトロール制御部50は、カウント処理を実行する(ステップS53)。具体的には、まずパトロール制御部50は、ステップS11の処理において、読み出し動作、書き込み動作、又は消去動作が実行された場合に、選択されたブロックBLKのカウンタを規定値にリセットし、選択されたブロックBLKのパトロール済みフラグを“1”にセットする。カウンタを規定値にリセットする理由は、パトロール済みフラグを“1”にセットする理由と同様であり、読み出し動作と書き込み動作におけるベリファイ読み出し動作とによって、それぞれダミーリードと同様の効果を期待することが出来、消去動作後には読み出し対象となるデータが存在しないからである。
そしてパトロール制御部50は、ステップS11において選択されたブロックBLKに実行された動作に基づいて、選択されたブロックBLKと共通のメモリグループGRにおける、その他のブロックBLK(以下では、共通グループのブロックと称する)のカウンタを減算する。
例えば、選択されたブロックBLKにおいて1回の消去動作(ブロックBLK単位)が実行された場合、パトロール制御部50は共通グループのブロックBLKのカウンタから1000減算する。選択されたブロックBLKにおいて1回の書き込み動作(ワード線WL単位)が実行された場合、パトロール制御部50は共通グループのブロックBLKのカウンタから10減算する。パトロール制御部50は1回の読み出し動作が実行された場合、共通グループのブロックBLKのカウンタから1減算する。尚、パトロール制御部50が各種動作に基づいてカウンタから減算する値はあくまで一例であり、任意の数値に設定することが可能である。
次に、パトロール制御部50は、カウンタがアンダーフローしているブロックBLKがあるかどうかを確認する(ステップS54)。カウンタがアンダーフローしているブロックBLKがない場合(ステップS54、NO)、パトロール制御部50は、ステップS13の処理に移行する。カウンタがアンダーフローしているブロックBLKがある場合(ステップS54、YES)、パトロール制御部50は、カウンタがアンダーフローしているブロックBLKのパトロール済みフラグを“0”にリセットして(ステップS55)、再びダミーリードを実行する対象に設定する。
そして、ステップS13においてダミーリードが実行されると、パトロール制御部50は、ダミーリードが実行されたブロックBLKにおけるカウンタを規定値にリセットし、且つパトロール済みフラグを“1”にセットする(ステップS56)。尚、パトロール済みフラグがリセットされたブロックBLKは、例えば次に実行されるステップS13においてダミーリードの対象とされる。図29に示すその他のステップにおける動作は、第1実施形態で説明した動作と同様のため、説明を省略する。
尚、以上の説明では、ステップS11の処理において書き込み動作が実行された場合に、ステップS53においてパトロール制御部50が、選択されたブロックBLKのカウンタを規定値にリセットし、選択されたブロックBLKのパトロール済みフラグを“1”にセットする場合について述べたが、これに限定されない。例えば、ステップS11の処理において実行された書き込み動作が、最後のプログラムパルスを印加した後にベリファイ動作を実行しない書き込み動作である場合がある。このような場合にパトロール制御部50は、ステップS53において例えば当該ブロックのカウンタを0以下にアンダーフローさせて、パトロール済みフラグを“0”にリセットしても良い。この理由は、最後にプログラムパルスを印加した状態で書き込み動作が終了した場合には、当該ブロックBLKにおけるメモリセルトランジスタMTが第1状態になっているからである。
[5−3]第5実施形態の効果
以上で説明した第5実施形態に係るメモリシステム1に依れば、動作速度の低下を抑制することが出来る。以下に、第5実施形態に係るメモリシステム1の詳細な効果について説明する。
以上で説明した第5実施形態に係るメモリシステム1に依れば、動作速度の低下を抑制することが出来る。以下に、第5実施形態に係るメモリシステム1の詳細な効果について説明する。
例えば、NAND型フラッシュメモリ10が図24で説明したような構成である場合、メモリグループGR内のあるブロックBLKに対して読み出し動作、書き込み動作、消去動作等が実行されると、当該グループGRの各ブロックBLKに含まれたメモリセルトランジスタMTの閾値電圧が変動することがある。この閾値電圧の変動は、第1実施形態で説明したCreep upと同様に、メモリセルトランジスタMTが印加された電圧によってメモリセルトランジスタMTの状態が変化することによって生じる。
そこで、第5実施形態に係るメモリシステム1において、パトロール制御部50は、メモリグループGR内のあるブロックBLKで消去動作が実行された場合、当該メモリグループGRに含まれたブロックBLKのパトロール済みフラグをリセットする。つまり、パトロール制御部50は、既にダミーリードが実行されたブロックBLKにおけるパトロール済みフラグもリセットして、再び当該パトロール期間におけるダミーリードの対象とする。
これにより、第5実施形態に係るメモリシステム1は、消去動作によって第2状態から変動したメモリセルトランジスタMTを、再び第2状態に遷移させることが出来る。従って、第5実施形態に係るメモリシステム1は、消去動作により生じた閾値電圧の変動に基づく読み出しエラーを抑制することが出来るため、メモリシステム1の動作速度の低下を抑制することが出来る。
[6]第6実施形態
第6実施形態に係るメモリシステム1は、ホスト機器2から受信した消費電力情報に基づいて、第2ダミーリード時の選択ブロック数を設定するものである。以下に、第6実施形態に係るメモリシステム1について、第1〜第5実施形態と異なる点を説明する。
第6実施形態に係るメモリシステム1は、ホスト機器2から受信した消費電力情報に基づいて、第2ダミーリード時の選択ブロック数を設定するものである。以下に、第6実施形態に係るメモリシステム1について、第1〜第5実施形態と異なる点を説明する。
[6−1]構成
図30は、消費電力情報に基づいて第2ダミーリードの選択ブロック数を設定する場合におけるホスト機器2及びプロセッサ21の詳細な構成例を示している。図30に示すように、第6実施形態において、ホスト機器2は消費電力情報61を記憶し、プロセッサ21はパーティション設定部53としてさらに機能する。
図30は、消費電力情報に基づいて第2ダミーリードの選択ブロック数を設定する場合におけるホスト機器2及びプロセッサ21の詳細な構成例を示している。図30に示すように、第6実施形態において、ホスト機器2は消費電力情報61を記憶し、プロセッサ21はパーティション設定部53としてさらに機能する。
消費電力情報61は、メモリシステム1の消費電力量を見積もった情報であり、例えばホスト機器2とメモリシステム1の組み合わせ、メモリシステム1の性能、ホストインターフェイス回路23の規格等に基づいて予め設定される。そして消費電力情報61は、例えばメモリシステム1の起動時に、メモリシステム1に送信される。
パーティション設定部53は、ホストインターフェイス回路23を介して受信した消費電力情報61に基づいてパーティションの設定を行う。具体的には、パーティション設定部53は、NAND型フラッシュメモリ10のメモリセルアレイ11を分割することによってできるパーティションの数を消費電力情報61に基づいて変更し、各ブロックBLKの物理ブロックアドレスに対してパーティション番号を割り当てる。メモリセルアレイ11が1024個のブロックBLKを含み、1024個のブロックBLKを16個のパーティションに分割する場合の一例が、図31に示されている。図31に示すテーブルは、メモリシステム1におけるパーティション番号と物理ブロックアドレスとの対応の一例を示している。
1024個のブロックBLKを16個のパーティションに分割する場合、1つのパーティションが含むブロックBLKの数は64個になるため、図31に示すように、例えば物理ブロックアドレス“0”〜“63”に対して、パーティション番号“1”が割り当てられ、物理ブロックアドレス“64”〜“127”に対して、パーティション番号“2”が割り当てられる。以降も同様に、物理ブロックアドレスにパーティション番号が割り当てられる。
[6−2]動作
図32は、第6実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、消費電力情報61に基づいたパーティション設定を行う場合のメモリシステム1の動作例を示している。
図32は、第6実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、消費電力情報61に基づいたパーティション設定を行う場合のメモリシステム1の動作例を示している。
図32に示すように、ホスト機器2からの操作やユーザによる操作等に基づいてメモリシステム1が起動する(ステップS60)。メモリシステム1が起動すると、ホスト機器2がメモリシステム1に消費電力情報61を送信し、メモリシステム1が消費電力情報61を受信する(ステップS61)。具体的には、ホスト機器2が送信した消費電力情報61は、ホストインターフェイス回路23を介して、例えば内蔵メモリ22に記憶される。尚、消費電力情報61が記憶される記憶領域はこれに限定されず、例えばDRAM11であっても良い。
次に、パーティション設定部53は、受信した消費電力情報61と、第2ダミーリードを実行した場合の選択ブロック数及び消費電力の関係とに基づいて、パーティションの設定を行う(ステップS62)。パーティションの設定と、第2ダミーリードを実行した場合の選択ブロック数及び消費電力の関係の一例が、図33に示されている。
図33に示すように、パーティション設定部53が、例えば1024個のブロックBLKを128個、64個、32個、16個のパーティションへと分割した場合、第2ダミーリード時の選択ブロック数はそれぞれ8個、16個、32個、64個となる。第2ダミーリードは、選択するブロックBLKの数が多くなる程ワード線WLの充電時間が長くなるため、消費電力が大きくなる。そこで、パーティション設定部53は、ステップS62において消費電力情報61と図33に示された情報とを参照し、メモリシステム1が大きな消費電力を許容することが出来る場合は、同時選択ブロック数が多くなるように小さいパーティション数を選択する。一方で、パーティション設定部53は、メモリシステム1が小さな消費電力しか許容することが出来ない場合は、同時選択ブロック数が少なくなるように大きいパーティション数を選択する。すなわち、パーティション設定部53は、第2ダミーリード時においてパーティション単位でブロックBLKを選択した場合の消費電力が、メモリシステム1における消費電力のバジェット以内に収まるようにパーティションを設定する。このとき設定されたパーティションの情報を含むテーブルは、内蔵メモリ22に記憶されても良いし、DRAM11に記憶されても良い。
次に、パトロール制御部50は、例えば第1実施形態で図7を用いて説明したステップS10〜S14のパトロール動作を実行する。そしてパトロール制御部50は、ステップS13において第2ダミーリードを実行する場合に、設定されたパーティションを指定する。すると、NAND型フラッシュメモリ10のシーケンサ17は、当該パーティションを選択して、当該パーティションに含まれたブロックBLKに対する第2ダミーリードを実行する。つまりシーケンサ17は、パーティション単位で第2ダミーリードを実行する。
尚、以上の説明では、ステップ62の処理の後にステップS10〜S14の処理を実行する場合を例に用いたが、これに限定されない。例えば、ステップS62の処理の後には、第1〜第5実施形態で説明したいずれの動作も適用することが可能である。
[6−3]第6実施形態の効果
以上のように第6実施形態に係るメモリシステム1は、メモリシステム1の使用可能な消費電力量に基づいてパーティションを設定し、パトロール動作時においてパーティション単位で第2ダミーリードを実行する。
以上のように第6実施形態に係るメモリシステム1は、メモリシステム1の使用可能な消費電力量に基づいてパーティションを設定し、パトロール動作時においてパーティション単位で第2ダミーリードを実行する。
これにより、第6実施形態に係るメモリシステム1は、メモリシステム1の消費電力のバジェットに対して最適な選択ブロック数で第2ダミーリードを実行することが出来る。また、第6実施形態に係るメモリシステム1は、消費電力のバジェットを超えること無くパトロール動作を実行することが出来るため、安定動作することが出来る。
また、第6実施形態に係るメモリシステム1は、メモリシステム1の起動時において全てのパトロール対象のブロックBLKに対する第2ダミーリードを実行することが出来る。これにより、第6実施形態に係るメモリシステム1は、メモリシステム1の起動後の早い段階で、メモリセルトランジスタMTを第1状態から第2状態に移行させることが出来る。従って第6実施形態に係るメモリシステム1は、メモリシステム1起動後の読み出し動作時におけるレイテンシの悪化を抑制することが出来、動作速度の低下を抑制することが出来る。
[7]第7実施形態
第7実施形態に係るメモリシステム1は、第6実施形態に係るメモリシステム1が、ホスト機器2から受信した優先度情報に基づいてパトロール動作時におけるダミーリード順番を設定するものである。以下に、第7実施形態に係るメモリシステム1について、第1〜第6実施形態と異なる点を説明する。
第7実施形態に係るメモリシステム1は、第6実施形態に係るメモリシステム1が、ホスト機器2から受信した優先度情報に基づいてパトロール動作時におけるダミーリード順番を設定するものである。以下に、第7実施形態に係るメモリシステム1について、第1〜第6実施形態と異なる点を説明する。
[7−1]構成
図34は、第7実施形態におけるホスト機器2及びメモリシステム1の詳細な構成例を示している。図34に示すように第7実施形態では、ホスト機器2が優先度情報62をさらに記憶し、第4実施形態で図20を用いて説明した優先度決定部52がさらに異なる機能を有している。
図34は、第7実施形態におけるホスト機器2及びメモリシステム1の詳細な構成例を示している。図34に示すように第7実施形態では、ホスト機器2が優先度情報62をさらに記憶し、第4実施形態で図20を用いて説明した優先度決定部52がさらに異なる機能を有している。
優先度情報62は、メモリシステム1の起動直後のパトロール動作において、優先的にダミーリードを実行するブロックBLKに対応する論理ブロックアドレスLBAの情報を含んでいる。そして優先度情報62は、例えばメモリシステム1の起動時に、メモリシステム1に送信される。尚、ホスト機器2は、複数の優先度情報62を記憶し、これらの優先度情報をメモリシステム1に送信しても良い。複数の優先度情報62がメモリシステム1に送信される場合、各優先度情報62間の優先順位が予め決定されていても良いし、メモリシステム1に送信される順番に基づいて優先度決定部52が各優先度情報62間の優先順位を決定しても良い。
優先度決定部52は、ホストインターフェイス回路23を介して受信した優先度情報62に基づいてパトロール優先度を決定する。このパトロール優先度は、メモリシステム1起動直後のパトロール動作時において、ダミーリードを実行する順番の決定に使用される。そして、パトロール制御部50は、優先度決定部52が決定した優先度に基づいたダミーリード順番で、パトロール動作を実行する。第7実施形態に係るメモリシステム1のその他の構成は、第6実施形態に係るメモリシステム1の構成と同様のため、説明を省略する。
[7−2]動作
図35は、第7実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、パトロール動作において優先度情報62に基づいてダミーリード順番を決定する場合のメモリシステム1の動作例を示している。
図35は、第7実施形態に係るメモリシステム1におけるパトロール動作の一例を示すフローチャートであり、パトロール動作において優先度情報62に基づいてダミーリード順番を決定する場合のメモリシステム1の動作例を示している。
図35に示すように、ホスト機器2からの操作やユーザによる操作等に基づいてメモリシステム1が起動する(ステップS70)。メモリシステム1が起動すると、ホスト機器2がメモリシステム1に優先度情報62を送信し、メモリシステム1が優先度情報62を受信する(ステップS71)。ホスト機器2が送信した優先度情報62は、ホストインターフェイス回路23を介して、例えば内蔵メモリ22に記憶される。尚、優先度情報62が記憶される領域はこれに限定されず、例えばDRAM11であっても良い。
次に、優先度決定部52は、受信した優先度情報62に基づいてパトロール優先度を決定する(ステップS72)。そしてパトロール制御部50は、パトロール優先度に基づいたダミーリード順番で、例えば第1実施形態で図7を用いて説明したステップS10〜S14のパトロール動作を実行する。
ここで、ステップS71においてメモリシステム1が第1優先度情報及び第2優先度情報を受信した場合の動作例について、図36〜図39を用いて説明する。図36及び図37は、それぞれ第1優先度情報及び第2優先度情報に基づいた情報の一例を示し、図38及び図39は、それぞれ第1優先度情報及び第2優先度情報に基づいたパトロール優先度の設定方法の一例を示している。
本例において、第1優先度情報及び第2優先度情報はそれぞれ異なる論理ブロックアドレスLBAを指定し、第1優先度情報の優先順位が第2優先度情報の優先順位よりも高く設定されている。また、本例では、第6実施形態において説明したパーティション設定部53が、1024個のブロックBLKを16個のパーティションに分割した場合を例に説明する。この場合、例えばパーティション番号“1”に対応する物理ブロックアドレスPBAは“0〜63”となり、パーティション番号“2”に対応する物理ブロックアドレスPBAは“64〜127”となる。以下同様に設定され、パーティション番号“16”に対応する物理ブロックアドレスPBAは“960〜1023”となる。
図36及び図37に示すように優先度決定部52は、第1及び第2優先度情報が指定する論理ブロックアドレスLBAに対して物理ブロックアドレスPBAを関連付け、さらに当該物理ブロックアドレスPBAに対応するパーティション番号を関連付ける。論理ブロックアドレスLBAと物理ブロックアドレスPBAとの関連付けには、例えばLUT(Look Up Table)が使用される。
図36に示すように第1優先度情報は、論理ブロックアドレスLBA“11”〜“20”を指定している。例えば、論理ブロックアドレスLBA“11”及び“12”は、それぞれ物理ブロックアドレスPBA“1012”及び“1013”に関連付けられていることから、パーティション番号“16”に対応している。論理ブロックアドレスLBA“13”及び“14”は、それぞれ物理ブロックアドレスPBA“64”及び“65”に関連付けられていることから、パーティション番号“2”に対応している。以下同様に、優先度決定部52は、第1優先度情報に基づいて、論理ブロックアドレスLBAと、物理ブロックアドレスPBAと、パーティション番号との間を関連付ける。
図37に示すように第2優先度情報は、論理ブロックアドレスLBA“100”〜“109”を指定している。例えば、論理ブロックアドレスLBA“100”〜“104”は、それぞれ物理ブロックアドレスPBA“200”〜“204”に関連付けられていることから、パーティション番号“4”に対応している。以下同様に、優先度決定部52は、第2優先度情報に基づいて、論理ブロックアドレスLBAと、物理ブロックアドレスPBAと、パーティション番号との間を関連付ける。
そして、優先度決定部52は、まず第1優先度情報に基づいてパトロール動作時におけるダミーリード順番を決定する。具体的には、図38に示すように優先度決定部52は、パーティション毎にパトロール優先度を算出する。このパトロール優先度は、各パーティションにおいて、優先度情報によって指定された論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAが含まれている個数を示している。例えば、パトロール優先度が“0”のパーティションは、優先度情報によって指定された論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAを含まないことを示し、パトロール動作の対象から除外される。一方で、パトロール優先度が“0”より大きいパーティションは、優先度情報によって指定された論理ブロックアドレスLBAに対応する物理ブロックアドレスを含むことを示し、パトロール動作の対象とされる。
図38に示すように、例えばパーティション番号“1”は、図36に示された第1優先度情報の指定する論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAを2つ含んでいる。このとき、優先度決定部52は、パーティション番号“1”のパトロール優先度を“2”にする。パーティション番号“2”は、第1優先度情報の指定する論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAを4つ含んでいるため、優先度決定部52は、パーティション番号“2”のパトロール優先度を“4”にする。以下同様に、優先度決定部52は、その他のパーティションに対応するパトロール優先度を算出する。
次に、パトロール制御部50は、第1優先度情報に基づいてパトロール動作を実行する。具体的には、パトロール制御部50は、パトロール優先度が“0”より大きいパーティションに対して、パーティション単位で第2ダミーリードを実行する。そしてパトロール制御部50は、第2ダミーリードが実行されたパーティションのパトロール済みフラグを、“0”(ダミーリード未実施)から“1”(ダミーリード済)に更新する。尚、パトロール制御部50は、第1優先度情報に基づいて第2ダミーリードを実行する順番を、パトロール優先度の数値に基づいて決定しても良い。例えば、パトロール制御部50は、パトロール優先度の数値が大きい方から順番に、第2ダミーリードを実行する。
次に、優先度決定部52は、第2優先度情報に基づいてパトロール動作時におけるダミーリード順番を決定する。図39に示すように、例えばパーティション番号“2”は、図37に示された第2優先度情報の指定する論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAを3つ含んでいるため、優先度決定部52は、パーティション番号“2”のパトロール優先度を“3”にする。パーティション番号“4”は、第2優先度情報の指定する論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAを5つ含んでいるため、優先度決定部52は、パーティション番号“4”のパトロール優先度を“5”にする。以下同様に、優先度決定部52は、その他のパーティションに対応するパトロール優先度を算出する。
そして、パトロール制御部50は、第2優先度情報に基づいてパトロール動作を実行する。具体的には、パトロール制御部50は、パトロール優先度が“0”より大きい且つパトロール済みフラグが“0”であるパーティションに対して、パーティション単位で第2ダミーリードを実行する。そしてパトロール制御部50は、第2ダミーリードが実行されたパーティションのパトロール済みフラグを、“0”(ダミーリード未実施)から“1”(ダミーリード済)に更新する。
尚、パトロール制御部50は、各優先度情報に基づくパトロール動作において、さらにパトロール優先度が大きい方から順番に第2ダミーリードを実行しても良い。この場合にパトロール制御部50は、例えばパトロール優先度の数値が大きい方から順番に第2ダミーリードを実行する。
また、以上の説明では、第1優先度情報に基づいたパトロール動作を実行した後に、第2優先度情報に基づいてパトロール動作時におけるダミーリード順番を決定した場合を例に説明したが、これに限定されない。例えば、優先度決定部52が、まず第1及び第2優先度情報に基づいて各パーティションの優先度を算出する。そして、パトロール制御部50が優先度決定部52によって決定された優先度に基づいて第2ダミーリードを実行しても良い。
また、パトロール制御部50は、図40に示すようにパトロール優先度に基づいてダミーリード方法を変更しても良い。図40は、第1優先度情報に基づいたダミーリード方法の選択方法の一例であり、パトロール優先度が“3”未満の場合に第1ダミーリード、パトロール優先度が“3”以上の場合に第2ダミーリードが実行される場合の一例を示している。
図40に示すように、第1優先度情報に基づいたパトロール動作においてパトロール制御部50は、パトロール優先度が“2”であるパーティション番号“1”に対応するブロックBLKに対して、第1ダミーリードを実行する。この第1ダミーリードは、当該パーティションに含まれた全てのブロックBLKに対するダミーリードが完了するまで連続して実行されても良いし、第1優先度情報が指定する論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAに対応するブロックBLKに対してのみ実行されても良い。また、パトロール制御部50は、パトロール優先度が“4”であるパーティション番号“2”に対応するブロックBLKに対して第2ダミーリードを実行する。この第2ダミーリードは、例えば当該パーティションに含まれた全てのブロックBLKを選択して実行される。そして、本例においてダミーリードが実行される順番は、例えば図36〜図39を用いて説明した順番と同様の順番が適用される。
以上で説明した第7実施形態に係るメモリシステム1の動作では、ホスト機器2から受信した優先度情報に基づいてパトロール動作の優先度が決定される場合について述べたが、これに限定されない。例えば、優先度決定部52は、前回メモリシステム1が起動した時のアクセスパターンに基づいて、パトロール動作の優先度を決定することも出来る。
具体的には、まずプロセッサ21が、メモリシステム1が起動した際のアクセスパターンを把握し、このアクセスパターンのデータを例えばNAND型フラッシュメモリ10に記憶させる。そして、次のメモリシステム1の起動時においてプロセッサ21は、NAND型フラッシュメモリ10から当該アクセスパターンのデータを読み出す。それから優先度決定部52は、例えば図35を用いて説明したステップS72の処理において、読み出されたアクセスパターンの情報に基づいて、各パーティションのパトロール優先度を更新する。その他の動作は、図35を用いて説明した動作と同様のため、説明を省略する。
尚、以上の説明では、ステップ72の処理の後にステップS10〜S14の処理を実行する場合を例に用いたが、これに限定されない。例えば、ステップS72の処理の後には、第1〜第5実施形態で説明したいずれの動作も適用することが可能である。また、第7実施形態で説明した動作は、第6実施形態で説明した動作と組み合わせることも可能である。この場合、例えばステップS72の前後いずれかに、第6実施形態で図32を用いて説明したステップS62の処理が挿入される。
また、以上の説明では、論理ブロックアドレスLBAと物理ブロックアドレスPBAとが1対1で対応している場合を例に挙げたが、これに限定されない。例えば、1つの物理ブロックPBAには、複数の論理ブロックアドレスLBAが対応付けられることもある。このような場合においても、優先度決定部52が、各パーティションにおいて、優先度情報が指定する論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAが含まれている個数からパトロール優先度を算出することが出来る。
また、以上の説明では、優先度決定部52が、優先度情報62によって指定された論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAの個数に基づいてパトロール動作の優先度を決定した場合を例に説明したが、これに限定されない。例えば、優先度決定部52は、優先度情報62によって指定された論理ブロックアドレスLBAの個数に基づいて、パトロール動作の優先度を決定しても良い。
尚、ホスト機器2が優先度情報62を送信するタイミングは、メモリシステム1の起動時に限定されず、通常動作時であっても良い。通常動作時に優先度情報62を受信した場合、メモリシステム1は、例えば次回の起動時にこの優先度情報62を参照する。また、メモリシステム1は、通常動作時に優先度情報62を受信した際に、次回の起動時におけるパトロール優先度を設定しても良い。この場合、次回の起動時においてメモリシステム1は、前回の動作時において事前に設定されたパトロール優先度を参照する。
[7−3]第7実施形態の効果
以上で説明した第7実施形態に係るメモリシステム1に依れば、メモリシステム1の起動後に、重要度の高いブロックBLKから順にダミーリードを実行することが出来る。以下に、第7実施形態に係るメモリシステム1の詳細な効果について説明する。
以上で説明した第7実施形態に係るメモリシステム1に依れば、メモリシステム1の起動後に、重要度の高いブロックBLKから順にダミーリードを実行することが出来る。以下に、第7実施形態に係るメモリシステム1の詳細な効果について説明する。
例えば、メモリシステム1に記憶されているデータは、メモリシステム1の管理データと、ユーザデータとを含んでいる。管理データは、ホスト機器2から隠匿され、例えばLUTを含んでいる。ユーザデータは、ホスト機器2によってアクセス可能であり、例えばブートセクタ、OS(Operating System)イメージ、アプリケーションデータ、及びアーカイブデータを含んでいる。例えば、メモリシステム1の管理データは、メモリシステム1及びホスト機器2の起動処理時において、ユーザデータよりも早い段階でアクセスされる。また、ユーザデータのうちブートセクタ及びOSイメージは、アプリケーションデータやアーカイブデータよりも早い段階でアクセスされる。このように、早い段階でアクセスされるデータは重要度が高く、当該データを含むブロックBLKのメモリセルトランジスタMTは可能な限り早く第2状態に移行させることが望ましい。
そこで、第7実施形態に係るメモリシステム1は、ホスト機器2から受信した優先度情報62に基づいて、メモリシステム1起動後のパトロール動作を実行する。具体的には、ホスト機器2が、早い段階でアクセスが必要なブロックBLKを指定した優先度情報62をメモリシステム1に送信する。例えば、優先度情報62は、比較的重要度の高いブートセクタ及びOSイメージが記憶されたブロックBLKに対応する論理ブロックアドレスLBAの情報を含んでいる。そしてメモリシステム1が、受信した優先度情報62に基づいて各パーティションのパトロール優先度を更新し、起動後の初回のパトロール動作において優先度の高い方から順番にダミーリードを実行する。
これにより、第7実施形態に係るメモリシステム1は、メモリシステム1の起動処理時において重要度の高いブロックBLKを含むパーティションのメモリセルトランジスタMTを、早期に第2状態に移行させることが出来る。従って、第7実施形態に係るメモリシステム1は、メモリシステム1起動後の読み出し動作時におけるレイテンシの悪化を抑制することが出来、動作速度の低下を抑制することが出来る。
尚、第7実施形態では、優先度情報62が、論理ブロックアドレスLBAを用いてパトロール優先度を上げるブロックBLKを指定する場合を例に説明したが、これに限定されない。例えば、優先度情報62は、NamespaceのIDを用いて、パトロール優先度を上げる論理ブロックアドレスLBAを指定しても良い。例えば優先度情報62がOSイメージを含むNamespaceのIDを指定する場合、メモリシステム1は、起動後にOSイメージを含むNamespaceに対応するブロックBLKに対して、アーカイブデータを格納するNamespaceに対応するブロックBLKよりも優先的にパトロール動作を実行する。
尚、第7実施形態に係るメモリシステム1は、ホスト機器2によって指定されたNamespaceのIDに基づいて、パトロール優先度を更新することも出来る。例えば、ホスト機器2は、Namespace毎に格納すべきデータ(OSイメージ、アーカイブデータ等)を決めて使い分けている。そこでホスト機器2は、メモリシステム1に対して、より優先度を高く設定すべきNamespace(例えば、OSイメージを格納しているNamespace)を、NamespaceのIDを用いてメモリシステム1に指示する。これにより、メモリシステム1は、Namespace毎に、該Namespaceに所属する論理ブロックアドレスLBAを用いて、パーティション(物理ブロックアドレスPBA)に対するパトロール優先度を更新することが出来る。
[8]変形例等
実施形態のメモリシステム<1、図1>は、半導体メモリ<10、図1>と、コントローラ<20、図1>とを備える。半導体記憶装置は、各々が複数のメモリセルを含む複数のブロックを含む。コントローラは、第1動作<第1ダミーリード、図9>及び第2動作<第2ダミーリード、図10>を半導体記憶装置に命令する。第1及び第2動作において、半導体メモリは複数のブロックのうちの少なくとも一つのブロックに含まれる全ての前記メモリセルに電圧を印加する。半導体メモリが単位時間あたりに第2動作において電圧が印加されるブロックの数は、半導体メモリが単位時間あたりに第1動作において電圧が印加されるブロックの数よりも多い。これにより、動作速度の低下を抑制することが可能なメモリシステムを提供することが出来る。
実施形態のメモリシステム<1、図1>は、半導体メモリ<10、図1>と、コントローラ<20、図1>とを備える。半導体記憶装置は、各々が複数のメモリセルを含む複数のブロックを含む。コントローラは、第1動作<第1ダミーリード、図9>及び第2動作<第2ダミーリード、図10>を半導体記憶装置に命令する。第1及び第2動作において、半導体メモリは複数のブロックのうちの少なくとも一つのブロックに含まれる全ての前記メモリセルに電圧を印加する。半導体メモリが単位時間あたりに第2動作において電圧が印加されるブロックの数は、半導体メモリが単位時間あたりに第1動作において電圧が印加されるブロックの数よりも多い。これにより、動作速度の低下を抑制することが可能なメモリシステムを提供することが出来る。
尚、上記実施形態では、メモリコントローラ20が1つのNAND型フラッシュメモリ10に対してパトロール動作を実行する場合を例に説明したが、これに限定されない。例えば、メモリシステム1が複数のNAND型フラッシュメモリ10を備える場合には、メモリコントローラ20はNAND型フラッシュメモリ10毎にパトロール動作を実行しても良い。また、メモリコントローラ20は、NAND型フラッシュメモリ10毎に順番にパトロール動作を実行しても良いし、複数のNAND型フラッシュメモリ10で並行してパトロール動作を実行しても良い。
尚、上記実施形態で説明した各種動作は、組み合わせて実行することが可能である。例えば、第1実施形態で説明したパトロール動作と、第3実施形態で説明したパトロール動作とは、組み合わせて実行することが可能である。この場合、メモリシステム1は、温度情報に基づいてパトロール期間を設定し、各パトロール期間でパトロール処理レートを適宜変更したダミーリードを実行する。
尚、上記実施形態において、第2ダミーリードにおいて選択されたブロックBLKのワード線WLに印加される電圧は、当該ブロックBLKに適用された書き込み方式で使用される読み出しパス電圧VREADと異なっていても良い。第2ダミーリードによって通常の読み出し動作と同程度のCreep upを発生させる場合、ロウデコーダモジュール13は、例えばワード線WLにSLC方式におけるVREADからTLC方式におけるVREADの範囲内の電圧を印加しても良い。第2ダミーリードの電圧印加により生じるリードディスターブを低減させたい場合、ロウデコーダモジュール13は、例えばダミーリードの効果が失われない範囲で、ワード線WLにSLC方式におけるVREADよりも低い電圧を印加しても良い。このように、第2ダミーリードにおいて選択されたブロックBLKのワード線WLに印加される電圧の設定は、適宜変更することが可能である。
尚、第6実施形態において、メモリシステム1の起動時において全てのパトロール対象のブロックBLKに対する第2ダミーリードが実行される場合について説明したが、これに限定されない。例えば、パトロール制御部50は、メモリシステム1の起動時において全てのパトロール対象のブロックBLKに対する第1ダミーリードを実行しても良い。
このような場合においても、メモリシステム1は、メモリシステム1起動後の読み出し動作時におけるレイテンシの悪化を抑制することが出来、動作速度の低下を抑制することが出来る。また、第6実施形態では、第1又は第2ダミーリードがパトロール対象のブロックBLKに対して実行される場合を例に説明したが、これに限定されない。例えば、メモリシステム1の起動処理時において、パトロール制御部50は、全てのブロックBLKを対象とした第1又は第2ダミーリードを実行しても良い。
このような場合においても、メモリシステム1は、メモリシステム1起動後の読み出し動作時におけるレイテンシの悪化を抑制することが出来、動作速度の低下を抑制することが出来る。また、第6実施形態では、第1又は第2ダミーリードがパトロール対象のブロックBLKに対して実行される場合を例に説明したが、これに限定されない。例えば、メモリシステム1の起動処理時において、パトロール制御部50は、全てのブロックBLKを対象とした第1又は第2ダミーリードを実行しても良い。
尚、以上の説明において、「全てのパトロール対象のブロックBLK」とは、メモリシステム1内におけるパトロール対象ブロックBLKの全てであっても良いし、論理アドレスおよび物理アドレスを変換するアドレス変換テーブルを格納するブロックBLKの全てであっても良いし、1以上の有効なユーザデータを含むブロックBLKの全てであっても良い。他には、例えばメモリシステム1の起動時において重要度の高いブロックBLKが、メモリシステム1の起動時におけるパトロール対象ブロックBLKに設定されても良い。このように、例えばメモリシステム1の起動時におけるパトロール対象ブロックBLKは、適宜変更することが可能である。
尚、本明細書において「有効なユーザデータ」とは、論理ブロックアドレスと紐付けられている物理ブロックアドレス、すなわち論理ブロックアドレス・物理ブロックアドレスを変換するアドレス変換テーブルによって参照されている物理ブロックアドレスに対応するブロックBLKに格納されているデータに対応している。
尚、第7実施形態において、メモリシステム1がホスト機器2から受信した優先度情報62に基づいてパトロール優先度を更新する場合について説明したが、これに限定されない。例えば、メモリシステム1は、ホスト機器2からの命令に依らずに、起動時におけるパトロール優先度を更新することも出来る。以下に、本変形例におけるメモリシステム1の動作について説明する。
例えばメモリシステム1は、前回起動時におけるアクセスパターンに基づいてパトロール優先度を更新することが出来る。この場合にメモリシステム1は、例えば起動後から所定の期間内におけるホスト機器2からのアクセスパターンに関する情報をNAND型フラッシュメモリ10に記憶する。そして、次回起動時においてメモリシステム1は、このアクセスパターンに関する情報をNAND型フラッシュメモリ10から読み出し、例えば前回起動時において早期にアクセスされたブロックBLKのパトロール優先度を上げる。また、メモリシステム1は、ホスト機器2によりアクセスされたブロックBLKの順番に基づいて、パトロール優先度を更新しても良い。
また、メモリシステム1は、各ブロックBLKに記憶されているデータの種類に基づいてパトロール優先度を更新することも出来る。この場合にメモリシステム1は、例えばユーザデータを格納しているブロックBLKよりも、管理データ(特に、アドレス変換テーブル)を格納しているブロックBLKにおけるパトロール動作の優先度を高く設定する。
以上で説明したホスト機器2の指示に依らないパトロール動作の優先度の更新方法は、それぞれ別に実行されても良いし、併せて実行されても良い。これにより、本変形例におけるメモリシステム1は、例えば早い段階でアクセスが必要だが、優先度情報62によって指定することが出来ない隠匿されたブロックBLKのパトロール優先度を上げることが出来る。従って、本変形例におけるメモリシステム1は、メモリシステム1起動後の読み出し動作時におけるレイテンシの悪化をさらに抑制することが出来、動作速度の低下をさらに抑制することが出来る。
尚、上記実施形態では、第1ダミーリードとしてSLC方式の読み出し動作を適用した場合を例に説明したが、これに限定されない。例えば、第1ダミーリードは、MLC方式において上位ページに対応する読み出し動作、又は下位ページに対応する読み出し動作を適用しても良い。このように、第1ダミーリードには、あらゆる方式の読み出し動作を適用することが出来る。
尚、上記実施形態で説明した第2ダミーリードで同時に選択するブロック数は、NAND型フラッシュメモリ10側の設定により変更させても良い。このような設定変更を行うSet featureのコマンドシーケンスの一例が、図41に示されている。図41に示すように、まずメモリコントローラ20は、Set featureコマンド“EFh”を発行し、NAND型フラッシュメモリ10に送信する。コマンド“EFh”は、NAND型フラッシュメモリ10に対してパラメータの変更を命令するコマンドである。次にメモリコントローラ20は、アドレス情報ADDを発行し、NAND型フラッシュメモリ10に送信する。このアドレス情報ADDは、変更したいパラメータに対応するアドレスを指定するものである。次にメモリコントローラ20は、複数サイクルに渡って設定データDinをNAND型フラッシュメモリ10に出力する。ここで出力されたデータDinは、変更するパラメータに相当するデータである。するとシーケンサ17は、センスアンプモジュール12及びロウデコーダモジュール13等を制御して、Set featureを開始する。Set featureが開始すると、設定のパラメータが書き換えられる。図示するtSetは、このSet featureが行われている期間を示している。Set featureが終了すると、例えばNAND型フラッシュメモリ10の第2ダミーリードにおける同時選択ブロック数の設定変更が適用される。
尚、上記実施形態において、各種動作がソフトウェアで実行される場合を例に説明したが、これに限定されない。例えば、一部の処理を専用のハードウェアにより実現しても良いし、全ての処理を専用のハードウェアにより実現しても良い。例えば、パトロール動作において、パトロール制御部50として機能する回路を利用することが可能である。その他の処理についても同様である。これらのハードウェアは、メモリコントローラ20に内蔵されていても良いし、外部接続されていても良い。
尚、上記実施形態において、第1ダミーリード及び第2ダミーリードについてワード線WLの波形を示して説明したが、対応する信号線CGの波形もワード線WLの波形と同様の波形となる。つまり、ワード線WLに印加される電圧と、ワード線WLに電圧が印加されている期間とは、対応する信号線CGの電圧を調べることにより大まかに知ることが出来る。尚、ワード線WLの電圧と信号線CGの電圧との間には、トランジスタTRによる電圧降下の影響が現れていても良い。
尚、上記実施形態において、メモリセルにMONOS膜を使用した場合を例に説明したが、これに限定されない。例えば、フローティングゲートを利用したメモリセルを使用した場合においても、上記実施形態で説明した読み出し動作及び書き込み動作を実行することで、同様の効果を得ることが出来る。
尚、上記実施形態では、ブロックBLKがデータの消去単位である場合を例に説明したが、これに限定されない。その他の消去動作については、“不揮発性半導体記憶装置”という2011年9月18日に出願された米国特許出願13/235,389号、“不揮発性半導体記憶装置”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
尚、本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。また、本明細書において“遮断”とは、トランジスタがオフ状態になっていることを示し、例えばトランジスタのリーク電流のような微少な電流が流れることを除外しない。
尚、上記各実施形態において、
(1)読み出し動作では、“A”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば0〜0.55Vの間である。これに限定されることなく、0.1〜0.24V、0.21〜0.31V、0.31〜0.4V、0.4〜0.5V、0.5〜0.55Vのいずれかの間にしても良い。
“B”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば1.5〜2.3Vの間である。これに限定されることなく、1.65〜1.8V、1.8〜1.95V、1.95〜2.1V、2.1〜2.3Vのいずれかの間にしても良い。
“C”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0〜3.2V、3.2〜3.4V、3.4〜3.5V、3.5〜3.6V、3.6〜4.0Vのいずれかの間にしても良い。
読み出し動作の時間(tRead)としては、例えば25〜38μs、38〜70μs、70〜80μsの間にしても良い。
(1)読み出し動作では、“A”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば0〜0.55Vの間である。これに限定されることなく、0.1〜0.24V、0.21〜0.31V、0.31〜0.4V、0.4〜0.5V、0.5〜0.55Vのいずれかの間にしても良い。
“B”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば1.5〜2.3Vの間である。これに限定されることなく、1.65〜1.8V、1.8〜1.95V、1.95〜2.1V、2.1〜2.3Vのいずれかの間にしても良い。
“C”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0〜3.2V、3.2〜3.4V、3.4〜3.5V、3.5〜3.6V、3.6〜4.0Vのいずれかの間にしても良い。
読み出し動作の時間(tRead)としては、例えば25〜38μs、38〜70μs、70〜80μsの間にしても良い。
(2)書き込み動作は、上述した通りプログラム動作とベリファイ動作とを含む。プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7〜14.3Vの間である。これに限定されることなく、例えば13.7〜14.0V、14.0〜14.6Vのいずれかの間にしても良い。プログラム動作時に非選択のワード線に印加される電圧としては、例えば6.0〜7.3Vの間としても良い。この場合に限定されることなく、例えば7.3〜8.4Vの間としても良く、6.0V以下としても良い。
書き込み動作において、奇数番目のワード線を選択した際に、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を選択した際に、選択されたワード線に最初に印加される電圧とは、異なっていても良い。書き込み動作において、非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えても良い。
プログラム動作をISPP方式(Incremental Step Pulse Program)とした場合における、プログラム電圧のステップアップ幅としては、例えば0.5V程度が挙げられる。
書き込み動作の時間(tProg)としては、例えば1700〜1800μs、1800〜1900μs、1900〜2000μsの間にしても良い。
書き込み動作において、奇数番目のワード線を選択した際に、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を選択した際に、選択されたワード線に最初に印加される電圧とは、異なっていても良い。書き込み動作において、非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えても良い。
プログラム動作をISPP方式(Incremental Step Pulse Program)とした場合における、プログラム電圧のステップアップ幅としては、例えば0.5V程度が挙げられる。
書き込み動作の時間(tProg)としては、例えば1700〜1800μs、1800〜1900μs、1900〜2000μsの間にしても良い。
(3)消去動作では、半導体基板上部に形成され、且つ上記メモリセルが上方に積層されたウェルに最初に印加する電圧は、例えば12.0〜13.6Vの間である。この場合に限定されることなく、例えば13.6〜14.8V、14.8〜19.0V、19.0〜19.8V、19.8〜21.0Vの間であっても良い。
消去動作の時間(tErase)としては、例えば3000〜4000μs、4000〜5000μs、4000〜9000μsの間にしても良い。
消去動作の時間(tErase)としては、例えば3000〜4000μs、4000〜5000μs、4000〜9000μsの間にしても良い。
(4)メモリセルの構造は、半導体基板(シリコン基板)上に、膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は、膜厚が2〜3nmのSiN又はSiON等の絶縁膜と、膜厚が3〜8nmのポリシリコンとの積層構造にすることが出来る。また、ポリシリコンには、Ru等の金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層High−k膜と、膜厚が3〜10nmの上層High−k膜とに挟まれた、膜厚が4〜10nmのシリコン酸化膜を有している。High−k膜としては、HfO等が挙げられる。また、シリコン酸化膜の膜厚は、High−k膜の膜厚よりも厚くすることが出来る。絶縁膜上には、膜厚が3〜10nmの材料を介して、膜厚が30〜70nmの制御電極が形成されている。ここで材料は、TaO等の金属酸化膜、TaN等の金属窒化膜である。制御電極には、W等を用いることができる。また、メモリセル間には、エアギャップを形成することが出来る。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、2…ホスト機器、10…NAND型フラッシュメモリ、11…メモリセルアレイ、12…センスアンプモジュール、13…ロウデコーダモジュール、14…入出力回路、15…スレジスタ、16…ロジックコントローラ、17…シーケンサ、18…レディ/ビジー制御回路、19…電圧生成回路、20…メモリコントローラ、21…プロセッサ、22…内蔵メモリ、23…ホストインターフェイス回路、24…タイマ、25…温度計、26…NANDインターフェイス回路、27…DRAMインターフェイス回路、30…P型ウェル領域、31〜36…導電体、37…ブロック絶縁膜、38…絶縁膜、39…トンネル酸化膜、40…半導体材料、41…n+型不純物拡散領域、42…n+型不純物拡散領域、50…パトロール制御部、51…コマンド発行部、52…優先度決定部、53…パーティション設定部、60…属性テーブル、61…消費電力情報、62…優先度情報、70…CGドライバ
Claims (20)
- 各々が複数のメモリセルを含む複数のブロックを含む半導体メモリと、
第1動作及び第2動作を前記半導体メモリに命令するコントローラと、を備え、
前記第1及び第2動作において、前記半導体メモリは前記複数のブロックのうちの少なくとも一つのブロックに含まれる全てのメモリセルに電圧を印加し、
前記半導体メモリが単位時間あたりに前記第2動作において電圧を印加する前記ブロックの数は、前記半導体メモリが前記単位時間あたりに前記第1動作において電圧を印加する前記ブロックの数よりも多い、メモリシステム。 - 1回の前記第2動作において電圧が印加される前記ブロックの数は、1回の前記第1動作において電圧が印加される前記ブロックの数よりも多い、
請求項1に記載のメモリシステム。 - 前記半導体メモリが1回の前記第2動作を実行する時間は、前記半導体メモリが1回の前記第1動作を実行する時間よりも長い、
請求項2に記載のメモリシステム。 - 前記コントローラは、1回の前記第2動作において電圧が印加される前記ブロックの数を、外部のホスト機器から受信した命令のキュー長に基づいて決定する、
請求項2に記載のメモリシステム。 - 前記コントローラは、さらにブロックに格納されたデータに関連付けられた論理アドレスをブロックの物理アドレスに変換するためのアドレス変換テーブルを管理し、前記アドレス変換テーブルを前記半導体メモリに格納し、
前記コントローラは巡回期間を設定し、前記巡回期間に1つ以上の有効なユーザデータを格納するブロックの全て、或いは前記アドレス変換テーブルを格納するブロックの全てに対して前記第1動作又は前記第2動作を命令する、
請求項1に記載のメモリシステム。 - 前記コントローラは、前記メモリシステムの温度が第1温度である場合の前記巡回期間を、前記メモリシステムの温度が前記第1温度よりも高い第2温度である場合の前記巡回期間よりも長く設定する、
請求項5に記載のメモリシステム。 - 前記半導体メモリは、前記第1動作及び前記第2動作を実行することが可能な第1モードと、前記第1モードよりも消費電力が抑制された第2モードとを含み、
前記コントローラは巡回期間を設定し、前記半導体メモリが前記第2モードで動作している間に、前記巡回期間の経過に基づいて前記半導体メモリを前記第2モードから前記第1モードに移行させて前記第1動作又は前記第2動作を前記半導体メモリに命令する、
請求項1に記載のメモリシステム。 - 前記第1動作及び前記第2動作は、前記半導体メモリから前記コントローラへのデータの出力を伴わない、
請求項1に記載のメモリシステム。 - 各々が複数のメモリセルを含む複数のブロックを含む半導体メモリと、
第1動作を前記半導体メモリに命令するコントローラと、を備え、
前記第1動作において、前記半導体メモリは前記複数のブロックのうちの少なくとも一つのブロックに含まれる全てのメモリセルに電圧を印加し、
前記複数のブロックは、第1及び第2ブロックを含み、
前記半導体メモリは、前記第1及び第2ブロックにそれぞれ接続された第1及び第2ワード線と、一端が前記第1及び第2ワード線にそれぞれ接続され、ゲートに共通の制御信号が印加される第1及び第2トランジスタと、前記第1及び第2トランジスタの他端にそれぞれ接続された第1及び第2信号線と、をさらに備え、
前記コントローラは、前記第2ブロックに対する読み出し動作、書き込み動作、又は消去動作を所定の回数前記半導体メモリに命令したことに応じて、前記第1ブロックに対する前記第1動作を前記半導体メモリに命令する、メモリシステム。 - 前記半導体メモリは、ブロックアドレスに基づいた前記制御信号を出力するブロックデコーダと、前記第1及び第2信号線に対して異なる電圧を印加するドライバと、をさらに備える、
請求項9に記載のメモリシステム。 - 各々が複数のメモリセルを含む複数のブロックを含む半導体メモリと、
前記複数のブロックにそれぞれ設定された優先度に基づいて、第1動作を前記半導体メモリに命令するコントローラと、を備え、
前記第1動作において、前記半導体メモリは前記複数のブロックのうちの少なくとも一つのブロックに含まれる全てのメモリセルに電圧を印加する、メモリシステム。 - 前記コントローラは、さらにブロックに格納されたデータに関連付けられた論理アドレスをブロックの物理アドレスに変換するためのアドレス変換テーブルを管理し、前記アドレス変換テーブルを前記半導体メモリに格納し、
前記コントローラは、前記メモリシステムの起動時に、1以上の有効なユーザデータを格納するブロックの全て、或いは前記アドレス変換テーブルを格納するブロックの全てに対して前記第1動作を実行する、
請求項11に記載のメモリシステム。 - 前記コントローラは、前記複数のブロックの各々に設定された属性情報に基づいて前記優先度を決定する、
請求項11に記載のメモリシステム。 - 前記属性情報は、前記ブロックに記憶される情報の属性、書き込み方法、書き込み/消去回数、最終書き込み時刻、最終アクセス時刻、及び読み出しエラー回数のうち少なくとも1つを含む、
請求項13に記載のメモリシステム。 - 前記コントローラは、前記ブロックに対する前記第1動作が実行されてからの経過時間に基づいて前記優先度を決定する、
請求項11に記載のメモリシステム。 - 前記コントローラは、前記複数のブロックのそれぞれのアドレス情報に基づいて前記優先度を決定する、
請求項11に記載のメモリシステム。 - 前記コントローラは、外部のホスト機器から受信した第1情報に基づいて、1回の前記第1動作において電圧が印加される前記ブロックの数を設定する、
請求項11に記載のメモリシステム。 - 前記第1情報は、前記メモリシステムの起動時に前記ホスト機器から送信される、
請求項17に記載のメモリシステム。 - 前記コントローラは、外部のホスト機器から受信した第2情報に基づいて前記複数のブロックにそれぞれ関連付けられた優先度を決定し、前記優先度に基づいて前記第1動作を前記半導体メモリに命令する、
請求項11に記載のメモリシステム。 - 前記第2情報は、前記メモリシステムの起動時に前記ホスト機器から送信される、
請求項19に記載のメモリシステム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017172150A JP2019046530A (ja) | 2017-09-07 | 2017-09-07 | メモリシステム |
US16/052,238 US10529730B2 (en) | 2017-09-07 | 2018-08-01 | Memory system |
US16/684,123 US10964712B2 (en) | 2017-09-07 | 2019-11-14 | Memory system |
US17/182,879 US11348934B2 (en) | 2017-09-07 | 2021-02-23 | Memory system |
US17/725,638 US11696441B2 (en) | 2017-09-07 | 2022-04-21 | Memory system |
US18/314,527 US12029031B2 (en) | 2017-09-07 | 2023-05-09 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017172150A JP2019046530A (ja) | 2017-09-07 | 2017-09-07 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019046530A true JP2019046530A (ja) | 2019-03-22 |
Family
ID=65517358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017172150A Pending JP2019046530A (ja) | 2017-09-07 | 2017-09-07 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (5) | US10529730B2 (ja) |
JP (1) | JP2019046530A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11450397B2 (en) | 2020-03-03 | 2022-09-20 | Kioxia Corporation | Memory system |
JP7512136B2 (ja) | 2020-09-10 | 2024-07-08 | キオクシア株式会社 | メモリシステム及び情報処理システム |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11036533B2 (en) * | 2015-04-17 | 2021-06-15 | Samsung Electronics Co., Ltd. | Mechanism to dynamically allocate physical storage device resources in virtualized environments |
JP2019046530A (ja) * | 2017-09-07 | 2019-03-22 | 東芝メモリ株式会社 | メモリシステム |
JP2020067753A (ja) * | 2018-10-23 | 2020-04-30 | キオクシア株式会社 | メモリシステム及びその制御方法 |
KR20200078746A (ko) * | 2018-12-21 | 2020-07-02 | 삼성전자주식회사 | 융합 메모리 소자 및 그 제조 방법 |
TWI746927B (zh) * | 2019-01-24 | 2021-11-21 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
KR20200143107A (ko) | 2019-06-14 | 2020-12-23 | 삼성전자주식회사 | 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치 |
KR102645786B1 (ko) * | 2019-07-08 | 2024-03-12 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
US10957381B1 (en) * | 2019-08-28 | 2021-03-23 | Micron Technology, Inc. | Metadata grouping for un-map techniques |
US11562792B2 (en) * | 2020-03-18 | 2023-01-24 | Kioxia Corporation | Memory system having a non-volatile memory and a controller configured to switch a mode for controlling an access operation to the non-volatile memory |
US11711488B2 (en) * | 2021-08-31 | 2023-07-25 | Micron Technology, Inc. | Configurable storage granularity for video/image recording |
CN116107491A (zh) * | 2021-11-10 | 2023-05-12 | 三星电子株式会社 | 存储器控制器、存储装置和存储装置的操作方法 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS466455Y1 (ja) | 1967-01-25 | 1971-03-06 | ||
JPS5531656B2 (ja) | 1972-04-25 | 1980-08-20 | ||
JPS5531656U (ja) | 1978-08-21 | 1980-02-29 | ||
JPS5531656A (en) | 1978-08-29 | 1980-03-06 | Ishikawajima Harima Heavy Ind Co Ltd | Scaffold carrier for shipbuilding work |
JPS5561785A (en) | 1978-11-01 | 1980-05-09 | Fuji Shokuhin Kogyo Kk | Production of shark fin soup |
JPS5714808Y2 (ja) | 1979-05-18 | 1982-03-27 | ||
JPS565507A (en) | 1979-06-27 | 1981-01-21 | Ricoh Co Ltd | Color aberration correcting method for focusing type optical transmission body and its unit |
US7227983B1 (en) | 2002-05-30 | 2007-06-05 | The Regents Of The University Of California | Automated macromolecular crystal detection system and method |
US7171321B2 (en) * | 2004-08-20 | 2007-01-30 | Rambus Inc. | Individual data line strobe-offset control in memory systems |
US7149101B1 (en) * | 2004-12-15 | 2006-12-12 | Netlogic Microsystems, Inc. | Method and apparatus for smoothing current transients in a content addressable memory (CAM) device with dummy searches |
US7543172B2 (en) * | 2004-12-21 | 2009-06-02 | Rambus Inc. | Strobe masking in a signaling system having multiple clock domains |
US7409522B1 (en) * | 2005-10-26 | 2008-08-05 | Network Appliance, Inc. | Method and system for reallocating data in a file system |
JP5142692B2 (ja) | 2007-12-11 | 2013-02-13 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP4606455B2 (ja) | 2007-12-20 | 2011-01-05 | 富士通株式会社 | ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム |
JP4489127B2 (ja) | 2008-02-29 | 2010-06-23 | 株式会社東芝 | 半導体記憶装置 |
JP2009238874A (ja) | 2008-03-26 | 2009-10-15 | Toshiba Corp | 半導体メモリ及びその製造方法 |
JP2009266944A (ja) | 2008-04-23 | 2009-11-12 | Toshiba Corp | 三次元積層不揮発性半導体メモリ |
JP5283960B2 (ja) | 2008-04-23 | 2013-09-04 | 株式会社東芝 | 三次元積層不揮発性半導体メモリ |
US8635398B2 (en) * | 2008-12-30 | 2014-01-21 | Micron Technology, Inc. | Execute-in-place mode configuration for serial non-volatile memory |
JP2010199235A (ja) | 2009-02-24 | 2010-09-09 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2011128751A (ja) | 2009-12-16 | 2011-06-30 | Clarion Co Ltd | データ記録装置およびデータ記録装置の制御方法 |
JP5531656B2 (ja) | 2010-02-08 | 2014-06-25 | 富士通株式会社 | ストレージ装置、パトロール方法、パトロールプログラム及びストレージシステム |
JP2012069205A (ja) | 2010-09-22 | 2012-04-05 | Toshiba Corp | 不揮発性半導体記憶装置 |
WO2012172645A1 (ja) | 2011-06-14 | 2012-12-20 | 富士通株式会社 | メモリ制御装置および制御方法 |
US9304953B2 (en) * | 2012-06-29 | 2016-04-05 | Cypress Semiconductor Corporation | Memory controller devices, systems and methods for translating memory requests between first and second formats for high reliability memory devices |
JP6150669B2 (ja) | 2013-08-22 | 2017-06-21 | キヤノン株式会社 | 情報処理装置、画像形成装置、及びその制御方法 |
US9412451B2 (en) * | 2014-10-08 | 2016-08-09 | Micron Technology, Inc. | Apparatuses and methods using dummy cells programmed to different states |
KR102596400B1 (ko) * | 2016-03-07 | 2023-11-01 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 데이터 저장 장치의 동작 방법 |
US9773553B1 (en) * | 2016-08-19 | 2017-09-26 | Micron Technology, Inc. | Segmented memory and operation |
US10262743B2 (en) * | 2016-10-25 | 2019-04-16 | Sandisk Technologies Llc | Command sequence for first read solution for memory |
US10255000B2 (en) * | 2017-01-18 | 2019-04-09 | Western Digital Technologies, Inc. | Delayed data release after programming to reduce read errors in memory |
KR20180106727A (ko) * | 2017-03-21 | 2018-10-01 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 제조 방법 |
US10026483B1 (en) * | 2017-06-28 | 2018-07-17 | Western Digital Technologies, Inc. | Program temperature aware data scrub |
US10628049B2 (en) * | 2017-07-12 | 2020-04-21 | Sandisk Technologies Llc | Systems and methods for on-die control of memory command, timing, and/or control signals |
KR20190012771A (ko) * | 2017-07-28 | 2019-02-11 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
US10685702B2 (en) * | 2017-08-28 | 2020-06-16 | Micron Technology, Inc. | Memory array reset read operation |
JP2019046530A (ja) * | 2017-09-07 | 2019-03-22 | 東芝メモリ株式会社 | メモリシステム |
JP7153435B2 (ja) * | 2017-10-12 | 2022-10-14 | ラピスセミコンダクタ株式会社 | 不揮発性メモリのデータ書換方法及び半導体装置 |
-
2017
- 2017-09-07 JP JP2017172150A patent/JP2019046530A/ja active Pending
-
2018
- 2018-08-01 US US16/052,238 patent/US10529730B2/en active Active
-
2019
- 2019-11-14 US US16/684,123 patent/US10964712B2/en active Active
-
2021
- 2021-02-23 US US17/182,879 patent/US11348934B2/en active Active
-
2022
- 2022-04-21 US US17/725,638 patent/US11696441B2/en active Active
-
2023
- 2023-05-09 US US18/314,527 patent/US12029031B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11450397B2 (en) | 2020-03-03 | 2022-09-20 | Kioxia Corporation | Memory system |
JP7512136B2 (ja) | 2020-09-10 | 2024-07-08 | キオクシア株式会社 | メモリシステム及び情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
US20220246630A1 (en) | 2022-08-04 |
US20230320087A1 (en) | 2023-10-05 |
US12029031B2 (en) | 2024-07-02 |
US20190074283A1 (en) | 2019-03-07 |
US11696441B2 (en) | 2023-07-04 |
US10964712B2 (en) | 2021-03-30 |
US11348934B2 (en) | 2022-05-31 |
US20200083240A1 (en) | 2020-03-12 |
US10529730B2 (en) | 2020-01-07 |
US20210183877A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019046530A (ja) | メモリシステム | |
JP6400547B2 (ja) | メモリデバイス | |
US20200075106A1 (en) | Memory system | |
JP6856400B2 (ja) | 半導体記憶装置及びメモリシステム | |
US10255979B1 (en) | Semiconductor memory device | |
JP2017224370A (ja) | 半導体記憶装置及びメモリシステム | |
TWI616878B (zh) | Memory system | |
JP2019057346A (ja) | メモリシステム | |
JP2019053796A (ja) | 半導体記憶装置 | |
JP2018125052A (ja) | 半導体記憶装置 | |
TW201711044A (zh) | 半導體記憶裝置及記憶體系統 | |
JP2018147530A (ja) | 半導体記憶装置 | |
US20190355421A1 (en) | Semiconductor storage device | |
JP2018113084A (ja) | 半導体記憶装置 | |
KR20140088386A (ko) | 반도체 장치 및 이의 동작 방법 | |
JP2020004465A (ja) | 半導体記憶装置 | |
JP2017208152A (ja) | 半導体記憶装置及びメモリシステム | |
KR102416047B1 (ko) | 더미 셀의 제어 방법 및 반도체 장치 | |
US20230090202A1 (en) | Memory device and memory system | |
JP6293692B2 (ja) | メモリシステム | |
JP2021039810A (ja) | メモリシステム | |
US10346068B2 (en) | Memory system and method of performing a read operation on a memory cell of a non-volatile semiconductor storage device including a plurality of blocks of memory | |
US10861560B2 (en) | Semiconductor memory device | |
JP2017168155A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180831 |