JP2021111259A - メモリシステムとその制御方法 - Google Patents

メモリシステムとその制御方法 Download PDF

Info

Publication number
JP2021111259A
JP2021111259A JP2020004306A JP2020004306A JP2021111259A JP 2021111259 A JP2021111259 A JP 2021111259A JP 2020004306 A JP2020004306 A JP 2020004306A JP 2020004306 A JP2020004306 A JP 2020004306A JP 2021111259 A JP2021111259 A JP 2021111259A
Authority
JP
Japan
Prior art keywords
controller
command
memory
flash memory
volatile 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
JP2020004306A
Other languages
English (en)
Inventor
克也 金森
Katsuya Kanamori
克也 金森
隆史 藤田
Takashi Fujita
隆史 藤田
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 JP2020004306A priority Critical patent/JP2021111259A/ja
Priority to US17/150,991 priority patent/US11494123B2/en
Publication of JP2021111259A publication Critical patent/JP2021111259A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】メモリシステムのステータスポーリング動作の効率を向上させる。【解決手段】実施形態のメモリシステムは、不揮発性メモリと、不揮発性メモリに第1動作を要求する第1コマンドを発行し、不揮発性メモリから第1動作の継続予定時間を取得するための第2コマンドを発行するコントローラと、を備える。別の観点のメモリシステムの実施形態は不揮発性メモリと、不揮発性メモリに第1動作を要求する第1コマンドを発行し、不揮発性メモリに第1動作の実行段階を取得するための第2コマンドを発行し、第1動作の完了を確認するための第3コマンドの発行間隔を実行段階に応じて変更するコントローラと、を備える。【選択図】図19

Description

本発明の実施形態は、メモリシステムとその制御方法に関する。
不揮発性メモリと、不揮発性メモリを制御するコントローラと、を備えるメモリシステ
ムが提供されている。
米国特許出願公開第2019/0026220号明細書 米国特許第9146860号明細書 米国特許出願公開第2016/0232112号明細書
本発明の実施形態は、メモリシステムにおけるステータスポーリング動作の効率を向上
させる。
実施形態のメモリシステムは、不揮発性メモリと、不揮発性メモリに第1動作を要求す
る第1コマンドを発行し、不揮発性メモリから第1動作の継続予定時間を取得するための
第2コマンドを発行するコントローラと、を備える。
第1の実施形態に係るメモリシステムのブロック図。 1つのメモリセルが2ビットデータを記憶する場合の、メモリセルの閾値電圧分布及び読み出し電圧を説明する図。 第1の実施形態に係るデータ読み出し動作の基本を表すフローチャート。 第1の実施形態に係るデータ読み出し動作の基本を表すブロック図。 第1の実施形態に係るデータ書き込み動作の基本を表すフローチャート。 第1の実施形態に係るデータ書き込み動作の基本を表すブロック図。 第1の実施形態に係るデータ消去動作の基本を表すフローチャート。 第1の実施形態に係るデータ消去動作の基本を表すブロック図。 第1の実施形態に係るステータスポーリングの基本を表すフローチャート。 第1の実施形態に係るデータ読み出し動作のタイムテーブル。 第1の実施形態に係るデータ書き込み動作のタイムテーブル。 第1の実施形態に係るデータ消去動作のタイムテーブル。 第1の実施形態に係るデータ読み出し動作を表すタイムチャート。 第1の実施形態に係るデータ読み出し動作を表すタイムチャート。 第1の実施形態に係るデータ書き込み動作を表すタイムチャート。 第1の実施形態に係るデータ書き込み動作を表すタイムチャート。 第1の実施形態に係るデータ消去動作を表すタイムチャート。 第1の実施形態に係るデータ消去動作を表すタイムチャート。 第1の実施形態に係るメモリシステムの動作を表すフローチャート。 第2の実施形態に係るデータ読み出し動作を表すタイムチャート。 第2の実施形態に係るデータ読み出し動作を表すタイムチャート。 第2の実施形態に係るデータ書き込み動作を表すタイムチャート。 第2の実施形態に係るデータ消去動作を表すタイムチャート。 第2の実施形態に係るメモシリステムの動作を表すフローチャート。
以下、発明を実施するための実施形態について説明する。
本明細書では、いくつかの要素に複数の表現の例を付している。これら表現の例はあく
まで例示であり、上記要素に他の表現が付されることを否定するものではない。また、複
数の表現が付されていない要素についても、別の表現が付されてもよい。なお、以下の説
明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す
図面は模式的なものであり、厚みと平面寸法との関係や各層の厚みの比率などは現実の
ものと異なることがある。また、図面間において互いの寸法の関係や比率が異なる部分が
含まれることもある。
(第1の実施形態)
図1は第1の実施形態に係るメモリシステムの概要について示したブロック図である。
図1に示すように、メモリシステム1は、不揮発性メモリ(例えばNAND型フラッシ
ュメモリ)2とコントローラ3とを備えている。メモリシステム1の例としてはSDTM
カードのようなメモリカードや、SSD(solid state drive)が挙げられる。なお、不
揮発性メモリ2は、NAND型のフラッシュメモリに限らず、NOR型のフラッシュメモ
リであってもよい。以降、不揮発性メモリ2をNANDフラッシュメモリ2と称する。
NANDフラッシュメモリ2はメモリセルアレイ21を備え、データを不揮発に記憶す
る。コントローラ3は、NANDフラッシュメモリ2を制御し、ホスト4から受信した命
令に応答して、NANDフラッシュメモリ2にアクセスする。ホスト4は、例えばデジタ
ルカメラやパーソナルコンピュータである。
図1を用いて、コントローラ3の構成の詳細について説明する。
コントローラ3は、例えば、SoC(System-on-a-chip)で構成され、ホストインター
フェース31、メモリ32、CPU33、バッファメモリ34、NANDインターフェー
ス35、及びECC回路36を備えている。なお、コントローラ3の各部31−36の機
能は、ハードウェアで実現されても、ハードウェアとファームウェアとの組合せで実現さ
れてもよい。コントローラ3は、ホストインターフェース31によってホスト4に接続さ
れ、NANDインターフェース35によってNANDフラッシュメモリ2に接続される。
ホストインターフェース31はコントローラ3とホスト4を接続し、ホスト4から受信
した要求及びデータを、CPU33及びバッファメモリ34にそれぞれ転送する。またC
PU33の指示に応答して、バッファメモリ34内のデータをホスト4へ転送する。ホス
トインターフェース31は、例えばSDTMインターフェース、SAS(Serial attache
d SCSI(small computer system interface))、SATA(Serial ATA(advanced technol
ogy attachment))、又はNVMe(Non-volatile memory express)に準拠した動作を行
う。
メモリ32は、例えばSRAM(Static Random Access Memory)のような半導体メモ
リであり、CPU33の作業領域として使用される。メモリ32は、NANDフラッシュ
メモリ2を制御するためのファームウェアや、各種の管理テーブル等を保持する。
CPU33は、コントローラ3全体の動作を制御する。例えば、CPU33は、ホスト
4から書き込み要求を受信した際には、NANDインターフェース35に対して書き込み
を指示する。読み出し処理及び消去処理の際も同様である。
バッファメモリ34は、例えばDRAM(Dynamic Random Access Memory)であり、書
き込みデータや読み出しデータを一時的に保持する。
NANDインターフェース35はNANDフラッシュメモリ2とコントローラ3を接続
する。NANDインターフェース35はCPU33から受信した指示に基づいてコマンド
を生成し、生成したコマンドをNANDフラッシュメモリ2へ発行する。NANDインタ
ーフェース35は書き込み処理時には、CPU33の指示に基づいて生成した書き込みコ
マンド及びバッファメモリ34内の書き込みデータを、NANDフラッシュメモリ2へ転
送する。読み出し処理時には、CPU33の指示に基づいて生成した読み出しコマンドを
、NANDフラッシュメモリ2へ発行し、更にNANDフラッシュメモリ2から読み出さ
れたデータをバッファメモリ34へ転送する。
NANDインターフェース35は、更にタイマ37を含む。タイマ37は、NANDフ
ラッシュメモリ2から取得したステータスに応じて時間を測定する。測定すべき時間が経
過すると、タイマ37はCPU33に割り込みを上げる。
ECC回路36は、NANDフラッシュメモリ2に記憶されるデータに関する誤り検出
処理及び誤り訂正処理を行う。すなわちECC回路36は、データの書き込み時には誤り
訂正符号を生成して、これを書き込みデータに付与する。データの読み出し処理時には書
き込みデータに付与した誤り訂正符号を復号し、誤りビットの有無を検出する。そして誤
りビットが検出された際には、その誤りビットの位置を特定し、誤りを訂正する。誤り訂
正の方法は、例えば、硬判定復号(Hard bit decoding)及び軟判定復号(Soft bit deco
ding)を含む。硬判定復号に用いられる硬判定復号符号としては、例えば、BCH(Bose
- Chaudhuri - Hocquenghem)符号やRS(Reed - Solomon)符号を用いることができる
。軟判定復号に用いられる軟判定復号符号としては、例えば、LDPC(Low Density Pa
rity Check)符号を用いることができる。
次に、NANDフラッシュメモリ2の構成について説明する。図1に示すようにNAN
Dフラッシュメモリ2は、メモリセルアレイ21、ロウデコーダ22、ドライバ23、セ
ンスアンプモジュール24、アドレスレジスタ25、コマンドレジスタ26、シーケンサ
27及びページバッファ28を備える。
メモリセルアレイ21は基板上に形成された複数の不揮発性のメモリセルを含む。メモ
リセルはワードライン、ビットラインによって接続されている。メモリセルは、メモリセ
ルトランジスタを備え、閾値電圧に応じてデータを不揮発に記憶する。ひとつのワードラ
インに接続されている複数のメモリセルをメモリセルグループとする。メモリセルが1ビ
ットずつデータを記憶するとき、メモリセルグループが記憶するデータ量を1ページとす
る。メモリセルが2ビットずつデータを記憶するとき、メモリセルグループが記憶するデ
ータ量を2ページとする。また、メモリセルアレイ21は、ブロックBLKと呼ばれるデ
ータの消去領域を複数備えており、図1では一例として4つのブロックBLK0〜BLK
3が図示されている。ブロックBLKは複数のメモリセルグループを備えている。メモリ
セルアレイ21は、コントローラ3から受信したデータを記憶する。
ロウデコーダ22は、アドレスレジスタ25内のブロックアドレスに基づいて、ブロッ
クBLK0〜BLK3のいずれかを選択し、更に選択したブロックBLKにおいてワード
ラインを選択する。
ドライバ23は、アドレスレジスタ25内のページアドレスに基づき、ロウデコーダ2
2を介して選択されたワードラインに電圧を供給する。
センスアンプモジュール24は、データの読み出し時にビットラインに流れる電流をセ
ンスする。データの読み出し時、センスコマンドがコントローラ3から発行されると、ド
ライバ23がメモリセルアレイ21内のワードラインに読み出し電圧をかける。センスア
ンプモジュール24がビットラインに流れる電流をセンスし、データを読み出す。読み出
したデータは、ページバッファ28に一時的に格納される。コントローラ3がデータアウ
トコマンドを発行すると、ページバッファ28に格納されたデータはコントローラ3に出
力される。
データの書き込み時、コントローラ3から発行されたデータインコマンドに応じて、コ
ントローラ3から受信した書き込みデータは、ページバッファ28に一時的に格納される
。コントローラ3がプログラムコマンドを発行すると、ページバッファ28に格納された
データはメモリセルアレイ21に書き込まれる。
アドレスレジスタ25は、コントローラ3から受信したアドレスを保持する。このアド
レスには、上述のブロックアドレスとページアドレスとが含まれる。コマンドレジスタ2
6は、コントローラ3から受信したコマンドを保持する。
シーケンサ27は、コマンドレジスタ26に保持されたコマンドに基づき、NANDフ
ラッシュメモリ2全体の動作を制御する。
図2は、1つのメモリセルが2ビットのデータを記憶する場合、すなわちMLC(mult
i-level cell)方式で各メモリセルにデータを記憶させる場合のメモリセルの閾値電圧分
布及び読み出し電圧を示す。縦軸がメモリセルの個数に対応し、横軸がメモリセルの閾値
電圧Vthに対応している。複数のメモリセルは、記憶するデータのビット数に基づいて
複数の閾値電圧分布を形成する。
MLC方式の場合、複数のメモリセルは4つの閾値電圧分布を形成する。この4つの閾
値電圧分布のことを、閾値電圧の低いものから順に“Er”ステート、“A”ステート、
“B”ステート、“C”ステートと称する。MLC方式では、例えば“Er”ステート、
“A”ステート、“B”ステート、及び“C”ステートにそれぞれ“11(アッパー(U
pper)/ロワー(Lower))”データ、“01”データ、“00”データ、及び
“10”データが割り当てられる。
隣り合う閾値電圧分布の間に読み出し電圧が設定される。例えば、読み出し電圧VAは
、“Er”ステートにおける最高の閾値電圧と“A”ステートにおける最低の閾値電圧と
の間に設定され、メモリセルの閾値電圧が“Er”ステートの閾値電圧分布に含まれるの
か“A”ステート以上の閾値電圧分布に含まれるのかを判定する動作に使用される。メモ
リセルに読み出し電圧VAが印加されると、“Er”ステートに対応するメモリセルがオ
ン状態になり、“A”ステートに対応するメモリセルがオフ状態のままになる。その他の
読み出し電圧も同様に設定される。すなわち読み出し電圧VBは、“A”ステートの閾値
電圧分布と“B”ステートの閾値電圧分布との間に設定され、読み出し電圧VCは、“B
”ステートの閾値電圧分布と“C”ステートの閾値電圧分布との間に設定される。読み出
しパス電圧VREADは、最も閾値電圧が高い閾値電圧分布における最高の閾値電圧より
も高い電圧に設定される。つまり、読み出しパス電圧VREADを印加されると、メモリ
セルは、記憶するデータに依らずにオン状態になる。
以上で説明した1つのメモリセルが記憶するデータのビット数と、メモリセルの閾値電
圧分布に対するデータの割り当てとは一例であり、SLC(single-level cell)方式や
TLC(triple-level cell)方式が使われていてもよい。上記以外のデータの割り当てが
閾値電圧分布に対して適用されてもよい。
MLC方式のロワーページ読み出しでは読み出しに1つのリードレベルVBを用い、M
LC方式のアッパーページ読み出しでは、読み出しに2つのリードレベルVA及びVCを
用いる。読み出しに用いるリードレベルが増えると、センス時間も増える、例えば、1つ
のリードレベルを用いる場合、センス時間tRは30μsとなり、2つのリードレベルを
用いる場合、センス時間tRは50μsとなる。各ページの読み出しに用いられるリード
レベルの数の違いが、センス時間tRの違いに大きく影響する。MLC方式においては、
ロワーページ読み出しのセンス時間は、アッパーページ読み出しのセンス時間よりも短い
<1>読み出し動作の基本
読み出し動作の基本について図3及び図4を参照して説明する。ここでは、MLC方式
の読み出し動作について記す。読み出し動作には、センス動作と、データ転送動作が含ま
れる。
センス動作とは、センスアンプモジュール24がメモリセルに記憶されたデータを判定
する動作である。コントローラ3からアドレスを含むセンスコマンドが発行されると(ス
テップS101)、シーケンサ27は、センスするデータのワードラインとページをアド
レスに基づいて認識する(ステップS102)。シーケンサ27は、センス対象のワード
ラインに読み出し電圧を印加し、認識したページに基づいてアッパーページセンス(ステ
ップS103)か、ロワーページセンス(ステップS104)を行う。センスアンプモジ
ュール24はビットラインに流れる電流をセンスし、データを判定する。シーケンサ27
は、ロワーページにおいて読み出し電圧VBを基準として、ビットラインに電流が流れれ
ば(すなわちメモリセルの閾値電圧が読み出し電圧VB以下であれば)メモリセルに格納
されているデータは1、流れなければ(すなわちメモリセルの閾値電圧が読み出し電圧V
Bより大きければ)メモリセルに格納されているデータは0であるとそれぞれ判定する。
読み出されたデータは、ページバッファ28に一時的に格納される。
データ転送動作とは、ページバッファ28に一時的に格納されたデータを、コントロー
ラ3に転送する動作である。コントローラ3からデータアウトコマンドが発行されると、
メモリセルからページバッファ28に読み出されたデータは、ページバッファ28からコ
ントローラ3に転送され(ステップS105)、読み出し動作が完了する。
<2>書き込み動作の基本
書き込み動作の基本について図5及び図6を参照して説明する。コントローラ3からデ
ータインコマンドが発行され、コントローラ3からのデータがページバッファ28に転送
される。さらにコントローラ3からプログラムコマンドが発行されると、NANDフラッ
シュメモリ2はメモリセルアレイ21にデータを書き込む、書き込み動作を行う。書き込
み動作には、第1段階と第2段階が含まれる。第1段階はプログラムコマンドによって要
求されたプログラムを実行するプログラム動作、第2段階はプログラム動作の完了を確認
するプログラムベリファイ動作である。
プログラム動作とは、プログラム電圧の印加によってメモリセルの閾値電圧を上げる動
作のことであり、プログラムベリファイ動作とは、メモリセルの閾値電圧が目標閾値電圧
に達したかを確認する動作である。コントローラ3からプログラムコマンドが発行される
と(ステップS201)、シーケンサ27はワードラインにプログラム電圧Vpgmを印
加する(ステップS202)。さらにシーケンサ27は、プログラム電圧Vpgmを印加
したワードラインにプログラムベリファイ電圧Vpvrfを印加し、センスアンプモジュ
ール24でビットラインに流れる電流をセンスして閾値電圧を確認する(ステップS20
3)。閾値電圧が目標閾値電圧に達していれば(ステップS204_Yes)書き込み動
作は完了し、達していなければ(ステップS204_No)、処理はプログラム電圧Vp
gmを再び印加するステップ(ステップS202)に戻る。プログラム電圧Vpgmの印
加と、プログラムベリファイ電圧Vpvrfを印加することによる閾値電圧の確認とを含
む一連の処理をプログラムループと呼ぶ。閾値電圧が目標閾値電圧に達せず、再びプログ
ラム動作をする場合、プログラム電圧Vpgmの大きさはひとつ前のプログラムループの
プログラム電圧Vpgmより大きくされる。メモリセルの閾値電圧が目標閾値電圧に達す
るまで、プログラムループは繰り返される。
<3>消去動作の基本
消去動作について図7及び図8を参照して説明する。コントローラ3から消去コマンド
が発行されると、NANDフラッシュメモリ2は消去動作を開始する。消去動作には、第
1段階と第2段階が含まれる。第1段階は消去コマンドによって要求された消去を実行す
る消去動作、第2段階は消去動作の完了を確認するイレースベリファイ動作である。
消去電圧印加動作とは、メモリセルアレイ21の基板に消去電圧を印加することによっ
てメモリセルの閾値電圧を下げる動作であり、イレースベリファイ動作とは、メモリセル
の閾値電圧が、Erステートの閾値電圧になったか確認する動作である。コントローラ3
から消去コマンドが発行されると(ステップS301)、シーケンサ27がメモリセルの
基板に消去電圧VErを印加する(ステップS302)。さらに消去電圧VErをかけた
メモリセルにイレースベリファイ電圧Vevrfが印加され、センスアンプモジュール2
4はビットラインに流れる電流をセンスし、閾値電圧を確認する(ステップS303)。
閾値電圧が目標閾値電圧を下回っていれば(ステップS304_Yes)消去動作は完了
し、下回っていなければ(ステップS304_No)、処理は消去電圧VErを再び印加
するステップ(ステップS302)に戻る。消去電圧VErの印加と、イレースベリファ
イ電圧Vevrfを印加することによる閾値電圧の確認とを含む一連の処理をイレースル
ープと呼ぶ。閾値電圧が目標閾値電圧を下回らず、再び消去電圧印加動作をする場合、消
去電圧VErの大きさはひとつ前のイレースループの消去電圧VErより大きくされる。
メモリセルの閾値電圧が目標閾値電圧を下回るまで、イレースループは繰り返される。
<4>ステータスポーリングの基本
ステータスポーリングについて、図9を参照して説明する。ステータスポーリングは、
コントローラ3がNANDフラッシュメモリ2に対して、ステータスリードコマンドSR
を繰り返し発行する動作である。ステータスリードコマンドは、コントローラ3からNA
NDフラッシュメモリ2に対して発行されるコマンドである。ステータスリードコマンド
を受け取ったNANDフラッシュメモリ2は、受け取った時点におけるNANDフラッシ
ュメモリ2のステータス(図ではNANDステータスと表す)をコントローラ3に送信す
る。ステータスとは、NANDフラッシュメモリ2がコマンドを実行中か、実行中でない
かの状態を示す情報を含み、コマンド実行中の状態をビジー状態、コマンドを実行してい
ない状態をレディ状態と呼ぶ。つまり、発行されたステータスリードコマンドSRのうち
、NANDフラッシュメモリ2がコマンド実行中に受け取ったSR1からSR5について
、NANDフラッシュメモリ2はビジー状態であることを示すステータスをコントローラ
3に送信する。コマンド完了後、すなわちコマンド実行中でない時に受け取ったステータ
スリードコマンドSR6については、NANDフラッシュメモリ2はレディ状態であるこ
とを示すステータスをコントローラ3に送信する。コントローラ3は、NANDフラッシ
ュメモリ2のステータスを確認しながら、読み出しコマンド、プログラムコマンド及び消
去コマンドなどのコマンドを発行する。ステータスポーリングを行うことでコントローラ
3はNANDフラッシュメモリ2のコマンド実行状況を確認する。
コントローラ3はNANDフラッシュメモリ2のコマンド実行状況を確認するため、ス
テータスポーリングを行う。ステータスポーリングの頻度を短くすると、消費電力が増加
したり、ステータスリードコマンドによる通信がNANDインターフェース35を専有し
たりして、メモリシステム1のパフォーマンスが低下する可能性がある。ステータスポー
リングの頻度を長くすると、コントローラ3によるNANDフラッシュメモリ2のレディ
状態の検知が遅れ、メモリシステム1のパフォーマンスが低下する可能性がある。このた
めに、適切な頻度でステータスポーリングを行うことが望ましい。
図10、図11及び図12を参照して、本実施形態のタイムテーブルを説明する。
図10に示すタイムテーブルは、アッパーページとロワーページのセンス動作が開始し
てから完了するまでにかかる時間を表している。アッパーページのセンス時間はTup、
ロワーページのセンス時間はTlowである。
図11に示すタイムテーブルは、1回のプログラムループが開始してから完了するまで
にかかる時間Tp1を表している。例えば5回のプログラムループにかかる時間はTp1
を5倍した時間である。
図12に示すタイムテーブルは、1回のイレースループが開始してから完了するまでに
かかる時間Te1を表している。例えば5回のイレースループにかかる時間はTe1を5
倍した時間である。
これらのタイムテーブルの格納場所は、NANDフラッシュメモリ2のメモリセルアレ
イ21の一部の管理データ格納領域としてもよいし、ROMでもよい。コントローラ3に
格納されていてもよい。また、各タイムテーブルの値は、設計値でもよいし、実測値でも
よい。実測値の場合、メモリシステムの出荷前のテスト工程で各タイムテーブルに値を書
き込んでもよいし、読み出し動作、書き込み動作、または消去動作ごとに、対応するタイ
ムテーブルの値を更新してもよい。
本実施形態の読み出し動作について、図13及び図14を用いて説明する。タイムテー
ブルはNANDフラッシュメモリ2に格納されているとする。
図13はアッパーページセンス時のメモリシステム1の動作を表したものである。コン
トローラ3はNANDフラッシュメモリ2に対してアッパーページを指定するセンスコマ
ンドSEを発行する。センスコマンドSEを受け取ったNANDフラッシュメモリ2は、
アッパーページに対するセンス動作を実行する。コントローラ3は、NANDフラッシュ
メモリ2に対して一度目のステータスリードコマンドSR1を発行する。このステータス
リードコマンドSR1により、コントローラ3はNANDフラッシュメモリ2のステータ
スと、読み出し動作継続予定時間T1を取得する。
タイムテーブルがNANDフラッシュメモリ2に格納されている場合、ステータスリー
ドコマンドを受け取ったNANDフラッシュメモリ2は、ステータスリードコマンドを受
け取った時点で実行している動作に応じてタイムテーブルを参照し、コントローラ3に読
み出し動作継続予定時間を送信する。つまり、NANDフラッシュメモリ2がステータス
リードコマンドSR1を受け取ると、図10に示されているタイムテーブルのアッパーペ
ージ読み出し時間Tupを、読み出し動作継続予定時間T1としてコントローラ3に送信
する。
読み出し動作継続予定時間T1が経過すると、コントローラ3はNANDフラッシュメ
モリ2に対して二度目のステータスリードコマンドSR2を発行する。動作継続予定時間
T1の測定にはタイマ37が用いられる。動作継続予定時間を測定することにより、NA
NDフラッシュメモリ2のセンス動作が完了するタイミングを予測できるため、ステータ
スポーリングを行う必要がない。
図14は、ロワーページセンス時のメモリシステム1の動作を表したものである。コン
トローラ3はNANDフラッシュメモリ2に対してロワーページを指定するセンスコマン
ドSEを発行する。センスコマンドSEを受け取ったNANDフラッシュメモリ2は、ロ
ワーページに対するセンス動作を実行する。コントローラ3は、NANDフラッシュメモ
リ2に対して一度目のステータスリードコマンドSR1を発行する。このステータスリー
ドコマンドSR1により、コントローラ3はNANDフラッシュメモリ2のステータスと
、読み出し動作継続予定時間T2を取得する。
タイムテーブルがNANDフラッシュメモリ2に格納されている場合、ステータスリー
ドコマンドを受け取ったNANDフラッシュメモリ2は、ステータスリードコマンドを受
け取った時点で実行している動作に応じてタイムテーブルを参照し、コントローラ3に読
み出し動作継続予定時間を送信する。つまり、NANDフラッシュメモリ2がステータス
リードコマンドSR1を受け取ると、図10に示されているタイムテーブルのロワーペー
ジ読み出し時間Tlowを、読み出し動作継続予定時間T2としてコントローラ3に送信
する。
読み出し動作継続予定時間T2が経過すると、コントローラ3はNANDフラッシュメ
モリ2に対して二度目のステータスリードコマンドSR2を発行する。読み出し動作継続
予定時間T2の測定にはタイマ37が用いられる。動作継続予定時間を測定することによ
り、NANDフラッシュメモリ2のセンス動作が完了するタイミングが予測できるため、
ステータスポーリングを行う必要がない。
タイムテーブルがコントローラ3に格納されている場合、ステータスリードコマンドS
R1を受け取ったNANDフラッシュメモリ2は、ステータスリードコマンドSR1を受
け取った時点で実行している動作をステータスとしてコントローラ3に送信する。コント
ローラ3は、NANDフラッシュメモリ2のステータスを元にタイムテーブルを参照して
、読み出し動作継続予定時間を取得する。つまり、ステータスリードコマンドSR1によ
ってNANDフラッシュメモリ2がアッパーページを読み出しているというステータスを
コントローラ3が取得すると、コントローラ3は図10に示されたタイムテーブルのアッ
パーページ読み出し時間Tupを、読み出し動作継続予定時間T1として取得する。また
、ステータスリードコマンドSR1によってNANDフラッシュメモリ2がロワーページ
を読み出しているというステータスをコントローラ3が取得すると、コントローラ3は図
10に示されたタイムテーブルのロワーページ読み出し時間Tlowを、読み出し動作継
続予定時間T2として取得する。
NANDフラッシュメモリ2がコントローラ3から発行されたコマンドを受け取って動
作を始めてから、ステータスリードコマンドSRを受け取るまでの時間を、NANDフラ
ッシュメモリ2内の図示しないタイマで測っても良い。この場合、タイムテーブル上のT
upまたはTlowから、ステータスリードコマンドSRを受け取るまでの時間を引いて
、その値を読み出し動作継続時間T1またはT2とする。
図13及び図14において、センスコマンドSEを発行してからステータスリードコマ
ンドSR1を発行するまでの時間は同じであるとする。MLC方式においては、上述の通
り、ロワーページ読み出しのセンス時間は、アッパーページ読み出しのセンス時間よりも
短い。したがって、アッパーページセンス時の読み出し動作継続予定時間T1と、ロワー
ページセンス時の読み出し動作継続予定時間T2では、読み出し動作継続予定時間T2の
方が短い。
本実施形態の書き込み動作について、図15及び図16を用いて説明する。
コントローラ3はNANDフラッシュメモリ2に対してプログラムコマンドPGMを発
行する。NANDフラッシュメモリ2は、書き込み動作を実行するため、プログラムルー
プPROGを繰り返し実行する。例えば、5回のプログラムループで書き込み動作が完了
するとする。また、タイムテーブルはNANDフラッシュメモリ2に備えられているとす
る。
図15は、1回目のプログラムループPROG1中に、コントローラ3がステータスリ
ードコマンドを発行した場合の、メモリシステム1の動作を表したものである。コントロ
ーラ3は、NANDフラッシュメモリ2に対して一度目のステータスリードコマンドSR
1を発行する。このステータスリードコマンドSR1により、コントローラ3はNAND
フラッシュメモリ2のステータスと、書き込み動作継続予定時間T3を取得する。
ステータスリードコマンドを受け取ったNANDフラッシュメモリ2は、書き込み動作
完了までにかかるプログラムループ回数と、ステータスリードコマンドを受け取った時点
までに完了したプログラムループ回数から残りのプログラムループ回数を算出する。NA
NDフラッシュメモリ2は、残りのプログラムループ回数とタイムテーブルを参照し、コ
ントローラ3に読み出し動作継続予定時間を送信する。つまり、NANDフラッシュメモ
リ2がステータスリードコマンドSR1を受け取ると、書き込み動作完了までにかかるプ
ログラムループ回数(5回)からステータスリードコマンドを受け取った時点までに完了
したプログラムループ回数(1回)を減算し、残りのプログラムループ回数(4回)を算
出する。NANDフラッシュメモリ2は、図11に示されているタイムテーブルのプログ
ラムループ時間Tp1に4を乗算し、書き込み動作継続予定時間T3を算出する。NAN
Dフラッシュメモリ2は、書き込み動作継続予定時間T3をコントローラ3に送信する。
書き込み動作継続予定時間T3が経過すると、コントローラ3はNANDフラッシュメ
モリ2に対して二度目のステータスリードコマンドSR2を発行する。書き込み動作継続
予定時間T3の測定にはタイマ37が用いられる。動作継続予定時間を測定することによ
り、NANDフラッシュメモリ2の書き込み動作が完了するタイミングが予測できるため
、ステータスポーリングを行う必要がない。
図16は、3回目のプログラムループPROG3中に、コントローラ3がステータスリ
ードコマンドを発行した場合の、メモリシステム1の動作を表したものである。図15と
同様に、NANDフラッシュメモリ2がステータスリードコマンドSR1を受け取ると、
書き込み動作完了までにかかるプログラムループ回数(5回)からステータスリードコマ
ンドを受け取った時点までに完了したプログラムループ回数(3回)を減算し、残りのプ
ログラムループ回数(2回)を算出する。NANDフラッシュメモリ2は、図11に示さ
れているタイムテーブルのプログラムループ時間Tp1に2を乗算し、書き込み動作継続
予定時間T4を算出する。NANDフラッシュメモリ2は、書き込み動作継続予定時間T
4をコントローラ3に送信する。
書き込み動作継続予定時間T4が経過すると、コントローラ3はNANDフラッシュメ
モリ2に対して二度目のステータスリードコマンドSR2を発行する。書き込み動作継続
予定時間T4の測定にはタイマ37が用いられる。動作継続予定時間を測定することによ
り、NANDフラッシュメモリ2の書き込み動作が完了するタイミングが予測できるため
、ステータスポーリングを行う必要がない。
一度目のステータスリードコマンドSR1が、1回目のプログラムループPROG1の
時に発行された場合の書き込み動作継続可能時間T3と、3回目のプログラムループPR
OG3の時に発行された場合の書き込み動作継続予定時間T4では、書き込み動作継続予
定時間T4の方が短い。
タイムテーブルがコントローラ3に格納されている場合、ステータスリードコマンドS
R1を受け取ったNANDフラッシュメモリ2は、書き込み動作完了までにかかるプログ
ラムループ回数と、ステータスリードコマンドSRを受け取った時点までに完了したプロ
グラムループ回数をステータスとしてコントローラ3に送信する。コントローラ3は、N
ANDフラッシュメモリ2のステータスを基に残りのプログラムループ回数を算出し、タ
イムテーブルを参照して、書き込み動作継続予定時間を取得する。つまり、ステータスリ
ードコマンドSR1によって、書き込み動作完了までにかかるプログラムループ回数が5
回であることと、ステータスリードコマンドSR1を受け取った時点までに完了したプロ
グラムループ回数が1回または3回であることをステータスとしてコントローラ3が取得
する。コントローラ3は残りのプログラムループ回数が4回または2回であると算出し、
図11に示されたタイムテーブルのプログラムループ時間Tu1に4または2を乗算した
時間を、書き込み動作継続予定時間T3またはT4として取得する。
ここではプログラムループが5回で書き込み動作が完了すると説明したが、この回数は
前回の書き込み動作から導かれてもよいし、メモリシステム1の出荷時に定めたものであ
ってもよい。
また、二度目のステータスリードコマンドSR2でNANDフラッシュメモリ2がビジ
ー状態であった場合、コントローラ3は書き込み動作完了までにプログラムループがもう
1回必要であると仮定して、プログラムループ時間Tu1が経過した後、三度目のステー
タスリードコマンドを発行する。コントローラ3が三度目のステータスリードコマンドを
発行する際の、書き込み動作完了までに必要なプログラムループ回数は、前回の書き込み
動作から導かれてもよい。
二度目のステータスリードコマンドSR2でNANDフラッシュメモリ2がビジー状態
であった場合、コントローラ3は、書き込み動作完了までに必要なプログラムループ回数
の情報を更新する。書き込み動作完了までに必要なプログラムループ回数の情報は、NA
NDフラッシュメモリ2に格納されていてもよいし、メモリ32に格納されていてもよい
本実施形態の消去動作について、図17及び図18を用いて説明する。
コントローラ3はNANDフラッシュメモリ2に対して消去コマンドERを発行する。
NANDフラッシュメモリ2は、消去動作を実行するため、イレースループERASを繰
り返し実行する。例えば、5回のイレースループ5回で消去動作が完了するとする。また
、タイムテーブルはNANDフラッシュメモリ2に備えられているとする。
図17は、1回目のイレースループERAS1中に、コントローラ3がステータスリー
ドコマンドを発行した場合の、メモリシステム1の動作を表したものである。コントロー
ラ3は、NANDフラッシュメモリ2に対して一度目のステータスリードコマンドSR1
を発行する。このステータスリードコマンドSR1により、コントローラ3はNANDフ
ラッシュメモリ2のステータスと、消去動作継続予定時間T5を取得する。
ステータスリードコマンドを受け取ったNANDフラッシュメモリ2は、消去動作完了
までにかかるイレースループ回数と、ステータスリードコマンドを受け取った時点までに
完了したイレースループ回数から残りのイレースループ回数を算出する。NANDフラッ
シュメモリ2は、残りのイレースループ回数とタイムテーブルを参照し、コントローラ3
に消去動作継続予定時間を送信する。つまり、NANDフラッシュメモリ2がステータス
リードコマンドSR1を受け取ると、消去動作完了までにかかるイレースループ回数(5
回)からステータスリードコマンドを受け取った時点までに完了したイレースループ回数
(1回)を減算し、残りのイレースループ回数(4回)を算出する。NANDフラッシュ
メモリ2は、図12に示されているタイムテーブルのイレースループ時間Te1に4を乗
算し、消去動作継続予定時間T5を算出する。NANDフラッシュメモリ2は、消去動作
継続予定時間T5をコントローラ3に送信する。
消去動作継続予定時間T5が経過すると、コントローラ3はNANDフラッシュメモリ
2に対して二度目のステータスリードコマンドSR2を発行する。消去動作継続予定時間
T5の測定にはタイマ37が用いられる。動作継続予定時間を測定することにより、NA
NDフラッシュメモリ2の消去動作が完了するタイミングが予測できるため、ステータス
ポーリングを行う必要がない。
図18は、3回目のイレースループERAS3中に、コントローラ3がステータスリー
ドコマンドを発行した場合の、メモリシステム1の動作を表したものである。図17と同
様に、NANDフラッシュメモリ2がステータスリードコマンドSR1を受け取ると、消
去動作完了までにかかるイレースループ回数(5回)からステータスリードコマンドを受
け取った時点までに完了したイレースループ回数(3回)を減算し、残りのイレースルー
プ回数(2回)を算出する。NANDフラッシュメモリ2は、図12に示されているタイ
ムテーブルのイレースループ時間Te1に2を乗算し、消去動作継続予定時間T6を算出
する。NANDフラッシュメモリ2は、消去動作継続予定時間T6をコントローラ3に送
信する。
消去動作継続予定時間T6が完了すると、コントローラ3はNANDフラッシュメモリ
2に対して二度目のステータスリードコマンドSR2を発行する。消去動作継続予定時間
T6の測定にはタイマ37が用いられる。動作継続予定時間を測定することにより、NA
NDフラッシュメモリ2の消去動作が完了するタイミングが予測できるため、ステータス
ポーリングを行う必要がない。
一度目のステータスリードコマンドSR1が、1回目のイレースループERAS1の時
に発行された場合の消去動作継続可能時間T5と、3回目のイレースループERAS3の
時に発行された場合の消去動作継続予定時間T6では、消去動作継続予定時間T6の方が
短い。
タイムテーブルがコントローラ3に格納されている場合、ステータスリードコマンドS
R1を受け取ったNANDフラッシュメモリ2は、消去動作完了までにかかるイレースル
ープ回数と、ステータスリードコマンドSRを受け取った時点までに完了したイレースル
ープ回数をステータスとしてコントローラ3に送信する。コントローラ3は、NANDフ
ラッシュメモリ2のステータスを基に残りのイレースループ回数を算出し、タイムテーブ
ルを参照して、消去動作継続予定時間を取得する。つまり、ステータスリードコマンドS
R1によって、消去動作完了までにかかるイレースループ回数が5回であることと、ステ
ータスリードコマンドSR1を受け取った時点までに完了したイレースループ回数が1回
または3回であることをステータスとしてコントローラ3が取得する。コントローラ3は
残りのイレースループ回数が4回または2回であると算出し、図12に示されたタイムテ
ーブルのイレースループ時間Te1に4または2を乗算した時間を、消去動作継続予定時
間T5またはT6として取得する。
また、二度目のステータスリードコマンドSR2でNANDフラッシュメモリ2がビジ
ー状態であった場合、コントローラ3は消去動作完了までにイレースループがもう1回必
要であると仮定して、イレースループ時間Te1が経過した後、三度目のステータスリー
ドコマンドを発行する。コントローラ3が三度目のステータスリードコマンドを発行する
際の、消去動作完了までに必要なイレースループ回数は、前回の消去動作から導かれても
よい。
二度目のステータスリードコマンドSR2でNANDフラッシュメモリ2がビジー状態
であった場合、コントローラ3は、消去動作完了までに必要なイレースループ回数の情報
を更新する。消去動作完了までに必要なイレースループ回数の情報は、NANDフラッシ
ュメモリ2に格納されていてもよいし、メモリ32に格納されていてもよい。
図19は、本実施形態に係る、読み出し、書き込みまたは消去動作のフローチャートで
ある。コントローラ3は、読み出し、書き込みまたは消去コマンドを発行したのち(ステ
ップS401)、一度目のステータスリードコマンドを発行する(ステップS402)。
コントローラ3は、NANDフラッシュメモリ2のステータスと、読み出し、書き込みま
たは消去動作の実行状況に応じた動作継続予定時間を取得する(ステップS403)。動
作継続予定時間の経過後、コントローラ3は二度目のステータスリードコマンドを発行す
る(ステップS404)。これにより、NANDフラッシュメモリ2の読み出し、書き込
みまたは消去動作の完了を確認する(ステップS405)。
本実施形態のメモリシステム1では、コントローラ3はステータスポーリングを行わず
にNANDフラッシュメモリ2のステータスを確認することができ、メモリシステム1の
消費電力を削減することが可能である。また、NANDフラッシュメモリ2とコントロー
ラ3の間の通信がステータスポーリングによって専有されないため、メモリシステム全体
のパフォーマンスの向上が可能である。
(第2の実施形態)
第2の実施形態に係るメモリシステムについて説明する。本実施形態において、メモリ
システム1の構成、並びに読み出し、書き込み、消去及びステータスポーリングの基本動
作は、第1の実施形態と同様である。
本実施形態の読み出し動作について、図20及び図21を用いて説明する。
コントローラ3はNANDフラッシュメモリ2に対してセンスコマンドSEを発行する
。NANDフラッシュメモリ2はセンス動作を行う。コントローラ3は、NANDフラッ
シュメモリ2に対してステータスリードコマンドSRを発行する。このステータスリード
コマンドにより、コントローラ3はNANDフラッシュメモリ2のステータスと、どのペ
ージをセンスしているかの情報を取得する。NANDフラッシュメモリ2のセンス動作の
実行段階は、例えば、アッパーページセンス動作である場合と、ロワーページセンス動作
である場合とを含む。コントローラ3は、取得したセンス動作の実行段階によってステー
タスポーリングの頻度、すなわちステータスリードコマンドSRの発行間隔を変更する。
具体的には、コントローラ3はステータスリードコマンドSRの発行間隔を、数百n秒〜
数μ秒の間で調節する。ステータスポーリングにより、コントローラ3は、NANDフラ
ッシュメモリ2の読み出し動作の完了を確認する。
図20はアッパーページセンス動作時のメモリシステム1の動作を表したものであり、
図21はロワーページセンス動作時のメモリシステム1の動作を表したものである。コン
トローラ3は、NANDフラッシュメモリ2がアッパーページのセンス動作を実行中であ
ると確認した場合、ステータスリードコマンドSRを間隔T7で発行する。また、コント
ローラ3は、NANDフラッシュメモリ2がロワーページのセンス動作を実行中であると
確認した場合、ステータスリードコマンドSRを間隔T8で発行する。アッパーページの
読み出しは、ロワーページの読み出しよりも時間がかかるため、T7はT8より長い。
本実施形態の書き込み動作について、図22を用いて説明する。
コントローラ3はNANDフラッシュメモリ2に対してプログラムコマンドPGMを発
行する。NANDフラッシュメモリ2は、書き込み動作を実行し、プログラム動作Pro
gramとプログラムベリファイ動作Verifyを含んだプログラムループを繰り返し
実行する。NANDフラッシュメモリ2の書き込み動作は、プログラム動作と、プログラ
ムベリファイ動作との、二つの実行段階を含む。コントローラ3は、NANDフラッシュ
メモリ2に対してステータスリードコマンドSRを発行する。このステータスリードコマ
ンドSRにより、コントローラ3はNANDフラッシュメモリ2のステータスと、書き込
み動作の実行段階を確認する。コントローラ3は、書き込み動作の実行段階によってステ
ータスポーリングの頻度、すなわちステータスリードコマンドSRの発行間隔を変更する
。具体的には、コントローラ3は、ステータスリードコマンドSRの発行間隔を数μ秒〜
数十μ秒の間で調節する。例えば、コントローラ3は、NANDフラッシュメモリ2がプ
ログラム動作を実行中であると確認した場合、ステータスリードコマンドSRを間隔T9
で発行する。また、コントローラ3は、NANDフラッシュメモリ2がプログラムベリフ
ァイ動作を実行中であると確認した場合、ステータスリードコマンドSRを間隔T10で
発行する。プログラム動作は、プログラムベリファイ動作よりも時間がかかるため、T9
はT10より長い。
図22中の(1)のように、NANDフラッシュメモリ2がプログラムベリファイ動作
を実行後に再びプログラム動作を実行する場合、発行間隔T10で発行されたステータス
リードコマンドSRによって、NANDフラッシュメモリ2が再びプログラム動作を行う
ことがコントローラ3に送信される。コントローラ3は、以降のステータスポーリングの
頻度を調節し、ステータスリードコマンドSRの発行間隔をT9にする。
つまり、コントローラ3は、ステータスリードコマンドSRによってNANDフラッシ
ュメモリ2の書き込み動作の実行段階を確認し、ステータスリードコマンドSRの発行間
隔を調節する。頻度を制御されたステータスポーリングにより、コントローラ3は、NA
NDフラッシュメモリ2の書き込み動作の完了を確認する。
本実施形態の消去動作について、図23を用いて説明する。
コントローラ3はNANDフラッシュメモリ2に対して消去コマンドERを発行する。
NANDフラッシュメモリ2は、消去動作を実行し、消去電圧印加動作Eraseと、イ
レースベリファイ動作Verifyを含んだイレースループを繰り返し実行する。NAN
Dフラッシュメモリ2の消去動作は、消去電圧印加動作と、イレースベリファイ動作との
、二つの実行段階を含む。コントローラ3は、NANDフラッシュメモリ2に対してステ
ータスリードコマンドSRを発行する。このステータスリードコマンドSRにより、コン
トローラ3はNANDフラッシュメモリ2のステータスと、消去動作の実行段階を確認す
る。コントローラ3は、消去動作の実行段階によってステータスポーリングの頻度、すな
わちステータスリードコマンドSRの発行間隔を変更する。具体的には、コントローラ3
は、ステータスリードコマンドSRの発行間隔を数μ秒〜数十μ秒の間で調節する。例え
ば、コントローラ3は、NANDフラッシュメモリ2が消去電圧印加動作を実行中である
と確認した場合、ステータスリードコマンドSRを間隔T11で発行する。また、コント
ローラ3は、NANDフラッシュメモリ2がイレースベリファイ動作を実行中であると確
認した場合、ステータスリードコマンドSRを間隔T12で発行する。消去電圧印加動作
は、イレースベリファイ動作よりも時間がかかるため、T11はT12より長い。
図23中の(2)のように、NANDフラッシュメモリ2がイレースベリファイ動作を
実行後に再び消去電圧印加動作を実行する場合、発行間隔T12で発行されたステータス
リードコマンドSRによって、NANDフラッシュメモリ2が再び消去電圧印加動作を行
うことがコントローラ3に送信される。コントローラ3は、以降のステータスポーリング
の頻度を調節し、ステータスリードコマンドSRの発行間隔をT11にする。
つまり、コントローラ3は、ステータスリードコマンドSRによってNANDフラッシ
ュメモリ2の消去動作の実行段階を確認し、ステータスリードコマンドSRの発行間隔を
調節する。頻度を制御されたステータスポーリングにより、コントローラ3は、NAND
フラッシュメモリ2の消去動作の完了を確認する。
図24は、本実施形態に係る、読み出し、書き込みまたは消去動作のフローチャートで
ある。コントローラ3は、読み出し、書き込みまたは消去コマンドを発行したのち(ステ
ップS501)、ステータスリードコマンドを発行する(ステップS502)。コントロ
ーラ3は、ステータスリードコマンドでNANDフラッシュメモリ2のステータスを確認
し(ステップS503)、ビジーであれば(ステップS503_Yes)読み出し、書き
込みまたは消去動作の実行段階を確認して、ステータスポーリングの頻度、すなわちステ
ータスリードコマンドの発行間隔を決定する(ステップS504)。コントローラ3は、
NANDフラッシュメモリ2が行っている動作の実行段階の所要時間が長い場合にはステ
ータスリードコマンドの発行間隔を長く、所要時間が短い場合にはステータスリードコマ
ンドの発行間隔を短く決定する。コントローラ3は、決定した発行間隔でステータスリー
ドコマンドを発行する(ステップS505)。ステップ505で発行したステータスリー
ドコマンドによって、コントローラ3は再びNANDフラッシュメモリ2のステータスを
確認し(ステップS503)、NANDフラッシュメモリ2がレディであれば(ステップ
S503_No)、動作の完了が確認される(ステップS506)。以上のように制御さ
れたステータスポーリングにより、コントローラ3は、NANDフラッシュメモリ2の読
み出し、書き込み及び消去動作の完了を確認する。
本実施形態のメモリシステム1では、コントローラ3はステータスポーリングの頻度を
調節することで、メモリシステム1の消費電力を削減することが可能であり、メモリシス
テム1全体のパフォーマンスの向上が可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したも
のであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その
他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省
略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要
旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1:メモリシステム、2:不揮発性メモリ(NANDフラッシュメモリ)、3:コント
ローラ、4:ホスト、21:メモリセルアレイ、22:ロウデコーダ、23:ドライバ、
24:センスアンプモジュール、25:アドレスレジスタ、26:コマンドレジスタ、2
7:シーケンサ、28:ページバッファ、31:ホストインターフェース、32:メモリ
、33:CPU、34:バッファメモリ、35:NANDインターフェース、36:EC
C回路、37:タイマ

Claims (16)

  1. 不揮発性メモリと、
    前記不揮発性メモリに第1動作を要求する第1コマンドを発行し、前記不揮発性メモリか
    ら前記第1動作の継続予定時間を取得するための第2コマンドを発行するコントローラと
    、を備える
    メモリシステム。
  2. 前記コントローラは、前記不揮発性メモリが前記第1動作を実行しているときに前記第
    2コマンドを発行する、請求項1に記載のメモリシステム。
  3. 前記継続予定時間は、前記不揮発性メモリが前記第2コマンドを受け取った時点におけ
    る前記第1動作の進捗に応じて変動する、請求項1または請求項2に記載のメモリシステ
    ム。
  4. 前記第1動作の前記継続予定時間の経過後に、前記コントローラは前記不揮発性メモリ
    に対して前記第1動作の完了を確認するための第3コマンドを発行する、
    請求項1乃至請求項3のいずれか1項に記載のメモリシステム。
  5. 前記コントローラは、前記継続予定時間の経過より前には前記第3コマンドを発行しな
    い、請求項4に記載のメモリシステム。
  6. 前記第1動作はデータ読み出し動作、データ書き込み動作またはデータ消去動作である
    、請求項1乃至請求項5のいずれか1項に記載のメモリシステム。
  7. 前記不揮発性メモリは、前記第1動作の前記継続予定時間の算出に必要な情報を格納す
    る記憶領域を含み、
    前記コントローラは、前記記憶領域に格納された前記情報から前記継続予定時間を算出す
    る、
    請求項1乃至請求項6のいずれか1項に記載のメモリシステム。
  8. 前記不揮発性メモリは、前記第1動作の前記継続予定時間の算出に必要な情報を格納す
    る記憶領域を含み、
    前記記憶領域に格納された前記情報から前記継続予定時間を算出する、
    請求項1乃至請求項6のいずれか1項に記載のメモリシステム。
  9. 不揮発性メモリと、
    前記不揮発性メモリに第1動作を要求する第1コマンドを発行し、
    前記不揮発性メモリに前記第1動作の実行段階を取得するための第2コマンドを発行し、
    前記第1動作の完了を確認するための第3コマンドの発行間隔を前記実行段階に応じて変
    更するコントローラと、を備える、
    メモリシステム。
  10. 前記コントローラは、前記不揮発性メモリが前記第1動作を実行しているときに前記第
    2コマンドを発行する、請求項9に記載のメモリシステム。
  11. 前記第1動作はデータ読み出し動作である、請求項9または請求項10に記載のメモリシ
    ステム。
  12. 前記第1動作の実行段階は、前記第1コマンドで要求された処理を実行する第1段階と
    、前記第1動作の完了を確認する第2段階を含む、請求項9または請求項10に記載のメ
    モリシステム。
  13. 前記コントローラは、
    前記第1動作の前記実行段階が前記第1段階の場合、第1発行間隔で前記第3コマンドを
    発行し、
    前記第1動作の前記実行段階が前記第2段階の場合、前記第1発行間隔より小さい第2発
    行間隔で前記第3コマンドを発行する、
    請求項12に記載のメモリシステム。
  14. 前記不揮発性メモリはメモリセルアレイを含み、
    前記第1動作はデータ書き込み動作であり、
    前記不揮発性メモリは、前記第1段階では前記メモリセルアレイにデータを書き込むため
    の電圧印加動作を行い、前記第2段階では前記データが前記メモリセルアレイに書き込め
    たかを確認する確認動作を行う、
    請求項12または請求項13に記載のメモリシステム。
  15. 前記不揮発性メモリはメモリセルアレイを含み、
    前記第1動作はデータ消去動作であり、
    前記不揮発性メモリは、前記第1段階では前記メモリセルアレイが保持するデータを消去
    するための電圧印加動作を行い、前記第2段階では前記データが消去できたかを確認する
    確認動作を行う、
    請求項12または請求項13に記載のメモリシステム。
  16. 不揮発性メモリを制御する方法であって、
    前記不揮発性メモリの第1動作の実行段階を取得することと、
    前記第1動作の完了を確認するためのコマンドを、前記実行段階に応じた発行間隔で発行
    することと、
    を含む方法。
JP2020004306A 2020-01-15 2020-01-15 メモリシステムとその制御方法 Pending JP2021111259A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020004306A JP2021111259A (ja) 2020-01-15 2020-01-15 メモリシステムとその制御方法
US17/150,991 US11494123B2 (en) 2020-01-15 2021-01-15 Memory system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020004306A JP2021111259A (ja) 2020-01-15 2020-01-15 メモリシステムとその制御方法

Publications (1)

Publication Number Publication Date
JP2021111259A true JP2021111259A (ja) 2021-08-02

Family

ID=76763564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020004306A Pending JP2021111259A (ja) 2020-01-15 2020-01-15 メモリシステムとその制御方法

Country Status (2)

Country Link
US (1) US11494123B2 (ja)
JP (1) JP2021111259A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11354041B2 (en) * 2020-06-12 2022-06-07 Western Digital Technologies, Inc. Read latency reduction through command and polling overhead avoidance
US20230205455A1 (en) * 2021-12-23 2023-06-29 Micron Technology, Inc. Adaptive Command Completion Timers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438356B2 (en) 2007-10-01 2013-05-07 Marvell World Trade Ltd. Flash memory controller
JP5447617B2 (ja) 2012-08-22 2014-03-19 Tdk株式会社 フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリ制御方法
US20160232112A1 (en) 2015-02-06 2016-08-11 Futurewei Technologies, Inc. Unified Memory Bus and Method to Operate the Unified Memory Bus
KR20180109142A (ko) * 2017-03-27 2018-10-08 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190010335A (ko) 2017-07-21 2019-01-30 삼성전자주식회사 레이턴시 정보를 저장하는 저장 장치, 프로세서 및 컴퓨팅 시스템

Also Published As

Publication number Publication date
US20210216248A1 (en) 2021-07-15
US11494123B2 (en) 2022-11-08

Similar Documents

Publication Publication Date Title
TWI389121B (zh) 具有改良程式化準確性之快閃記憶體及相關方法
US10192625B2 (en) Semiconductor memory device and memory system in which read voltage is set based on tracking read voltage
US11231874B2 (en) Memory system and storage system
US10860251B2 (en) Semiconductor memory device
JP2020155182A (ja) メモリシステム及び不揮発性メモリ
US11790993B2 (en) 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
KR20090055314A (ko) 읽기 디스터번스를 줄일 수 있는 불휘발성 메모리 장치
JP6652472B2 (ja) メモリシステムおよび制御方法
KR20110124632A (ko) 비휘발성 메모리 장치, 이의 리드 동작 방법 및 이를 포함하는 장치들
US9036418B2 (en) Read voltage generation circuit, memory and memory system including the same
KR20130008300A (ko) 오버 프로그램을 이용하여 소거 동작을 수행하는 플래시 메모리 장치 및 그 동작방법
KR20210057355A (ko) 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법
KR20220013661A (ko) 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
US11061815B2 (en) Memory system, memory controller and operating method
US11494123B2 (en) Memory system and control method thereof
JP2018156698A (ja) メモリシステム
US11315650B2 (en) Memory system, memory controller, and method of operating memory system
KR20220075684A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
JP2021174564A (ja) 半導体記憶装置
KR20210071314A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US11656790B2 (en) Memory system, memory controller, and operation method of memory system
US11544204B2 (en) Memory system, memory controller and method for operating memory controller
US11237767B2 (en) Memory system, memory controller and method for operating memory controller
JP7291640B2 (ja) 半導体記憶装置及び半導体記憶装置のリフレッシュ方法
US20230195367A1 (en) Memory system, memory controller, and operation method of memory system