JP2020030875A - メモリシステム - Google Patents

メモリシステム Download PDF

Info

Publication number
JP2020030875A
JP2020030875A JP2018156618A JP2018156618A JP2020030875A JP 2020030875 A JP2020030875 A JP 2020030875A JP 2018156618 A JP2018156618 A JP 2018156618A JP 2018156618 A JP2018156618 A JP 2018156618A JP 2020030875 A JP2020030875 A JP 2020030875A
Authority
JP
Japan
Prior art keywords
memory
data
mode
distribution
written
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
JP2018156618A
Other languages
English (en)
Inventor
周央 野村
Shuo Nomura
周央 野村
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 JP2018156618A priority Critical patent/JP2020030875A/ja
Priority to US16/290,004 priority patent/US10775865B2/en
Publication of JP2020030875A publication Critical patent/JP2020030875A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/141Battery and back-up supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • G11C5/144Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby

Abstract

【課題】揮発性メモリに格納されたデータの退避を小さい容量のキャパシタによって実現すること。【解決手段】メモリシステムは、不揮発性の第1メモリと、揮発性の第2メモリと、キャパシタと、メモリコントローラとを備える。第1メモリは、複数のメモリセルを備える記憶領域を備える。キャパシタは、電力を蓄えるように構成される。メモリコントローラは、外部から供給された電力を用いて、複数のメモリセルのそれぞれに1ビットのデータを書き込む第1モードで揮発性の第2メモリに保存された第1データを記憶領域に書き込む。外部からの電力の供給が停止すると、メモリコントローラは、キャパシタに蓄えられた電力を用いて、複数のメモリセルのそれぞれに1ビットのデータを書き込むモードであって第1モードと異なる第2モードで第1データを記憶領域に書き込む。【選択図】図8

Description

本実施形態は、メモリシステムに関する。
従来、不揮発性メモリと揮発性メモリとを備えるメモリシステムが知られている。不揮発性メモリは、ストレージとして機能する。揮発性メモリは、不揮発性メモリに書き込まれる予定のデータのバッファとして使用されたり、各種の管理データが置かれるエリアとして使用される。
メモリシステムは、キャパシタを有している場合がある。メモリシステムは、電力供給の停止を検知した場合、揮発性メモリに格納されているデータを、キャパシタに蓄えられた電力を用いて不揮発性メモリに書き込む。これによって、揮発性メモリに格納されたデータは、不揮発性メモリに退避され、その結果、そのデータがメモリシステムから失われることが防止される。このような機能は、PLP(Power Loss Protection)機能として知られている。
特開2012−008651号公報 米国特許出願公開第2016/0162354号明細書 米国特許出願公開第2015/0179269号明細書
一つの実施形態は、揮発性メモリに格納されたデータを小さい容量のキャパシタで退避することができるメモリシステムを提供することを目的とする。
一つの実施形態によれば、メモリシステムは、不揮発性の第1メモリと、揮発性の第2メモリと、キャパシタと、メモリコントローラとを備える。第1メモリは、複数のメモリセルを備える記憶領域を備える。キャパシタは、電力を蓄えるように構成される。メモリコントローラは、外部から供給された電力を用いて、複数のメモリセルのそれぞれに1ビットのデータを書き込む第1モードで揮発性の第2メモリに保存された第1データを記憶領域に書き込む。外部からの電力の供給が停止すると、メモリコントローラは、キャパシタに蓄えられた電力を用いて、複数のメモリセルのそれぞれに1ビットのデータを書き込むモードであって第1モードと異なる第2モードで第1データを記憶領域に書き込む。
図1は、実施形態のメモリシステムの構成例を示す図である。 図2は、実施形態のメモリチップの構成例を示す図である。 図3は、メモリセルアレイに含まれる1個のブロックの構成例を示す回路図である。 図4は、MLCモードでデータが書き込まれた場合における実施形態のメモリセルMTのしきい値電圧の分布を示す図である。 図5は、SLCモード(第1SLCモード)でデータが書き込まれた場合における実施形態のメモリセルMTのしきい値電圧の分布を示す図である。 図6は、第2SLCモードでデータが書き込まれた場合における実施形態のメモリセルMTのしきい値電圧の分布を示す図である。 図7は、実施形態のメモリシステムが実行する通常動作モードでのデータの書き込みの動作の概要を示すフローチャートである。 図8は、実施形態のメモリシステムが実行するPLPモードでの動作の概要を示すフローチャートである。 図9は、実施形態のメモリシステムが実行する第1SLCモードでのデータの書き込みの動作の一例を示すフローチャートである。 図10は、実施形態のメモリシステムが実行する第2SLCモードでのデータの書き込みの動作の一例を示すフローチャートである。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
図1は、実施形態のメモリシステムの構成例を示す図である。メモリシステム1は、ホスト2と所定の通信インタフェースで接続される。ホスト2は、例えばパーソナルコンピュータ、携帯情報端末、またはサーバなどが該当する。
メモリシステム1は、メモリシステム1の外部に設けられた電源3に接続され、電源3から電力が供給される。メモリシステム1は、電源3からの電力を利用して動作することができる。電源3はホスト2内部に搭載されてもよく、ホスト2とは別の装置に搭載されてもよい。
メモリシステム1は、ホスト2からアクセス要求(リード要求およびライト要求)を受信する。メモリシステム1は、ライト要求とともに、書き込み対象のデータを受信する。以降、ホスト2から受信した書き込み対象のデータを、ユーザデータと表記する。
メモリシステム1は、NAND型のフラッシュメモリ(NANDメモリ)10と、ホスト2とNANDメモリ10との間のデータ転送を実行するメモリコントローラ11と、RAM(Random Access Memory)12と、を備えている。
NANDメモリ10は、不揮発性メモリの一例である。NANDメモリ10は、1以上のメモリチップ30を含む。図2は、実施形態のメモリチップ30の構成例を示す図である。図示するようにメモリチップ30は、周辺回路31およびメモリセルアレイ32を備える。
メモリセルアレイ32は、それぞれが複数の不揮発性のメモリセルトランジスタ(メモリセル)の集合である複数のブロックを備える。ブロックに格納された全てのデータは、一括して消去される。
周辺回路31は、例えば、ロウデコーダ、カラムデコーダ、センスアンプ、ラッチ回路、および電圧発生回路を含む。周辺回路31は、メモリコントローラ11からコマンドを受信すると、メモリセルアレイ32に対し、プログラム処理、リード処理、およびイレース処理のうちの当該コマンドに対応した処理を実行する。
図3は、メモリセルアレイ32に含まれる1個のブロックの構成例を示す回路図である。図示するように、各ブロックは、X方向に沿って順に配列された(p+1)個のNANDストリングを備えている(p≧0)。(p+1)個のNANDストリングにそれぞれ含まれる選択トランジスタST1は、ドレインがビット線BL0〜BLpに接続され、ゲートが選択ゲート線SGDに共通接続されている。また、選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
各メモリセルMTは、半導体基板上に形成された積層ゲート構造を備えたMOSFET(Metal Oxide Semiconductor Field Effect Transistor)から構成される。積層ゲート構造は、半導体基板上にトンネル酸化膜を介在して形成されたフローティングゲート、及びフローティングゲート上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。フローティングゲートに蓄えられる電子の数に応じてしきい値電圧が変化する。メモリセルMTは、しきい値電圧の違いに応じてデータを記憶する。即ち、メモリセルMTは、フローティングゲートに、データに応じた量の電荷を保持する。
各NANDストリングにおいて、(q+1)個のメモリセルMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。そして、最もドレイン側に位置するメモリセルMTから順に、制御ゲート電極がワード線WL0〜WLqにそれぞれ接続されている。従って、ワード線WL0に接続されたメモリセルMTのドレインは選択トランジスタST1のソースに接続され、ワード線WLqに接続されたメモリセルMTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLqは、ブロック内のNANDストリング間で、メモリセルMTの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルMTの制御ゲート電極は、同一のワード線WLに接続される。各メモリセルMTに1ビットの値を保持可能に構成される場合には、同一のワード線WLに接続される(p+1)個のメモリセルMTは1ページとして取り扱われ、このページごとにプログラム処理及びリード処理が行われる。
各メモリセルMTには、複数ビットのデータが格納され得る。例えば、各メモリセルMTがn(n≧2)ビットのデータを格納可能な場合、ワード線当たりの記憶容量はnページ分のサイズに等しくなる。
各メモリチップ30は、各メモリセルMTに複数のビットのデータが格納されるモードと、各メモリセルMTへ複数のビットのデータが格納可能であるものの各メモリセルMTに1ビットのデータが格納されるモードであるSLC(Single Level Cell)モードと、のうちの何れのモードでも動作可能に構成されている。各メモリセルMTに複数のビットのデータが格納されるモードの一例として、ここでは、各メモリセルMTに2ビットのデータが格納されるモードであるMLC(Multi Level Cell)モードを挙げて説明する。
図4は、MLCモードでデータが書き込まれた場合における実施形態のメモリセルMTのしきい値電圧の分布を示す図である。本図において、横軸はしきい値電圧を表し、縦軸はメモリセル数を表す。
MLCモードでデータが書き込まれた場合、各メモリセルのしきい値電圧が、分布Er、分布A、分布B、および分布Cの4つの分布のうちの何れかに含まれるように、各メモリセルMTのしきい値電圧が制御される。分布Er、分布A、分布B、および分布Cのそれぞれは、“00”、“01”、“11”および“10”のうちの1つと1対1に対応付けられている。これによって、各メモリセルMTは、2ビットのデータを保持することができる。なお、“00”、“01”、“11”および“10”と各分布との関係は上記に限定されるものではなく、適宜変更可能である。
分布Erは消去された状態に対応する。即ち、イレース処理が実行された後のメモリセルMTのしきい値電圧は、分布Erに含まれる。メモリセルMTのしきい値電圧は、プログラム処理によって、分布Er内に維持されるか、または分布A〜分布Cのうちのデータに対応した分布に至るまで上昇する。
具体的には、プログラム処理においては、周辺回路31によって、例えば下記の処理が実施される。即ち、まず、周辺回路31は、書き込み対象のページを構成する1以上のビット線を選択する。そして、周辺回路31は、書き込み対象のページに対応したワード線を選択し、選択されたワード線に、プログラミングパルスを印加する。すると、選択されたビット線および選択されたワード線との交点に位置するメモリセルMTのフローティングゲートに電子が注入され、その結果、そのメモリセルMTのしきい値電圧が上昇する。
1回のプログラミングパルスの印加によるしきい値電圧の上昇量は、メモリセルMT毎に異なる。また、格納対象のデータは、メモリセルMT毎に異なる。周辺回路31は、分布毎に目標電圧(ベリファイレベル)が設定されており、プログラミングパルスが印加される毎に、しきい値電圧が格納対象のデータに応じた分布のベリファイレベルに到達したか否かを確認する。この処理は、ベリファイと称され得る。
周辺回路31は、しきい値電圧が格納対象のデータに応じた分布のベリファイレベルに到達していないメモリセルMTが残っている場合、そのメモリセルMTを選択して、さらにプログラミングパルスの印加を実行する。しきい値電圧が格納対象のデータに応じた分布のベリファイレベルに到達するまでプログラミングパルスの印加が繰り返されることで、選択されたワード線に接続された全てのメモリセルMTのしきい値電圧が格納対象のデータに対応した分布内に設定される。
なお、プログラミングパルスの印加の回数の上限値は、パラメータとしてメモリコントローラ11から設定される。メモリセルMTがMLCモードで動作する場合、後述するSLCモードで動作する場合に比べて各分布に対応するしきい値電圧の幅が狭いため、例えば、SLCモードに比べて大きい値がプログラミングパルスの印加の回数の上限値として設定される。なお、以降では、分布に対応するしきい値電圧の幅を、単に、分布の幅と表記する。
イレース処理においては、周辺回路31によって、例えば下記の処理が実施される。即ち、周辺回路31は、メモリセルアレイ32の基板にイレース電圧を印加する。そして、周辺回路31は、イレース対象のブロックの全てのワード線WLを接地電位に導通させる。すると、選択されたブロック内の各メモリセルMTにおいては、フローティングゲートに蓄えられていた電荷が放出され、各メモリセルMTのしきい値電圧が下降せしめられる。
イレース処理においては、分布Erに対応したベリファイレベルが設定される。周辺回路31は、選択されたブロック内の各メモリセルMTのしきい値が当該ベリファイレベル以下となるまで、イレース電圧の印加を繰り返す。これによって、選択されたブロック内の各メモリセルMTのしきい値電圧は、分布Er内に設定される。
隣接する2つの分布間には、リード処理用のリードレベルが設定される。MLCモードの場合、分布Erと分布Aとの間と、分布Aと分布Bとの間と、分布Bと分布Cとの間と、のそれぞれにリードレベルが設定される。リード処理においては、周辺回路31は、メモリセルMTのしきい値電圧が属する分布を、当該しきい値電圧とリードレベルとの比較に基づいて特定する。そして、周辺回路31は、特定した分布を当該分布に対応するデータにデコードして、デコードによって得られたデータをメモリコントローラ11に送信する。
なお、図4に例示されるように、隣接する2つの分布間で裾野が重複する場合がある。その場合、ある分布を構成する一部のメモリセルMTのしきい値がリードレベルを越えてその分布に隣接する別の分布に含まれることによって、データの誤判定が発生し得る。即ち、プログラムされたビットデータと異なるビットデータが読み出される、ビットエラーが発生し得る。ビットエラーによって化けたデータは、メモリコントローラ11が備えるECC(Error Correction Circuit)20によって正しいデータに訂正され得る。
図5は、SLCモードでデータが書き込まれた場合における実施形態のメモリセルMTのしきい値電圧の分布を示す図である。本図において、横軸はしきい値電圧を表し、縦軸はメモリセル数を表す。
SLCモードにおいても、MLCモードと同様の手順でプログラム処理、イレース処理、リード処理が実行され得る。ただし、各メモリセルMTのしきい値電圧が、分布Erおよび分布Aの2つの分布のうちの何れかに含まれるように、各メモリセルMTのしきい値電圧が制御される。分布Erには、“0”および“1”のうちの一方が割り当てられ、分布Aには“0”および“1”のうちの他方が割り当てられる。これによって、各メモリセルMTは、1ビットのデータを保持することができる。
分布Erは、消去された状態に対応する。即ち、イレース処理が実行された後のメモリセルMTのしきい値電圧は、分布Erに含まれる。メモリセルMTのしきい値電圧は、プログラム処理によって、分布Er内に維持されるか、または分布Aに至るまで上昇する。
SLCモードの場合、MLCモードの場合に比べて少ない数の分布が設けられている。これによって、SLCモードの場合、MLCモードの場合に比べて各分布の幅が広くなっている。各分布の幅が狭いほど、より多くの回数のプログラミングパルスの印加を要する。つまり、SLCモードによれば、MLCモードの場合に比べて、少ない回数のプログラミングパルスの印加によって、プログラム処理が完了する。
また、SLCモードの場合、MLCモードの場合に比べて分布Erの幅を広くすることができる。したがって、SLCモードの場合、MLCモードの場合に比べて少ない回数のイレース電圧の印加によって、イレース処理が完了する。
プログラミングパルスやイレース電圧の印加の回数は、処理速度、消費電力、およびメモリセルMTの疲弊の進行に影響を与える。プログラミングパルスやイレース電圧の印加の回数が多いほど、処理速度は遅く、消費電力は多く、メモリセルMTの疲弊の進行が早くなる。つまり、SLCモードによれば、MLCモードに比べて保持出来るデータの容量が小さくなることと引き替えに、処理速度が早く、消費電力が少なく、メモリセルMTの疲弊の進行が遅くなる。
実施形態では、各メモリチップ30は、さらに、図5を用いて説明したSLCモードとは異なるSLCモードで動作可能である。以降、図5を用いて説明したSLCモードを第1SLCモードと表記する。また、第1SLCモードと異なるSLCモードを、第2SLCモードと表記する。
図6は、第2SLCモードでデータが書き込まれた場合における実施形態のメモリセルMTのしきい値電圧の分布を示す図である。本図において、横軸はしきい値電圧を表し、縦軸はメモリセル数を表す。
第2SLCモードによれば、第1SLCモードに比べて小さい値(例えば「1」)が、プログラミングパルスの印加の回数の上限値として設定される。これによって、図6に示されるように、第2SLCモードによれば、分布Aの幅が第1SLCモードの場合に比べて広くなる。
第2SLCモードによれば、第1SLCモードよりも少ない回数のプログラミングパルスの印加によってプログラム処理が完了する。よって、第2SLCモードによれば、第1SLCモードに比べ、処理速度がさらに早くなり、消費電力がさらに少なくなる。
また、第2SLCモードによれば、図6に示されるように、分布Erの幅が第1SLCモードの場合に比べて狭くなっている。これは、第2SLCモードの場合に第1SLCモードの場合に比べて低い電圧値をイレース処理のためのベリファイレベルとして設定することで実現する。イレース処理のためのベリファイレベルを低くすると、イレース電圧の印加の回数が増加するが、分布Erの幅を小さくすることができる。
なお、第1SLCモードと第2SLCモードとで分布Erの幅が同じであってもよい。第1SLCモードの場合に第2SLCモードの場合に比べて分布Erの幅を狭くすることで、分布Erと分布Aとが重なる範囲を狭くすることができるので、リード処理の際のビットエラーの発生頻度を低減することが可能である。
このように、各メモリチップ30は、MLCモード、第1SLCモード、および第2SLCモードの何れのモードでも動作可能である。データの書き込み時のメモリコントローラ11によるモードの選択方法については後述する。
図1に説明を戻す。
RAM12は、揮発性メモリの一例である。RAM12は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせなどによって構成される。なお、揮発性メモリを構成するメモリの種類はこれらに限定されない。メモリシステム1は、RAM12の代わりに任意の種類の揮発性メモリを具備し得る。
メモリコントローラ11は、ホスト2から受信したユーザデータをRAM12にいったん格納し(図1のユーザデータ22)、RAM12に格納されたユーザデータ22を所定のタイミングでNANDメモリ10に書き込む。
また、メモリコントローラ11は、RAM12に管理データ21を格納することができる。管理データ21は、メモリシステム1の管理のためにメモリシステム1内で使用されるデータである。つまり、管理データ21は、ホスト2から受信したデータ(ユーザデータ)とは異なる種類のデータである。
管理データ21は、例えば、論物変換テーブルを含む。論物変換テーブルは、メモリシステム1がホスト2に提供する論理アドレス空間内の位置を示すアドレス情報(論理アドレス)とNANDメモリ10内の物理的な位置(メモリセルアレイ32内の位置)を示すアドレス情報(物理アドレス)とを対応付ける情報である。
論物変換テーブルは、例えばNANDメモリ10の所定の位置に格納されており、メモリコントローラ11は、その論物変換テーブルの一部または全部を管理データ21としてRAM12にキャッシュする。そして、メモリコントローラ11は、NANDメモリ10にアクセスする際に、RAM12にキャッシュされた論物変換テーブルを参照したり更新したりする。メモリコントローラ11は、RAM12にキャッシュされた論物変換テーブルのうちの少なくとも更新された部分を、所定のタイミングでNANDメモリ10に書き込む。
なお、管理データ21は、論物変換テーブルだけに限定されない。例えば、所定の記憶領域(例えばブロック)毎にカウントされたアクセス回数を記録した情報が、管理データ21としてRAM12に格納されてもよい。
メモリコントローラ11は、例えば、プロセッサを備え、当該プロセッサが所定のファームウェアプログラムを実行することによって、ホスト2とNANDメモリ10との間のデータ転送を含む各種の制御を実現する。
なお、メモリコントローラ11は、1つのSoC(System-on-a-Chip)として構成されてもよいし、複数のチップによって構成されてもよい。メモリコントローラ11は、RAM12を内部に備えていてもよい。
また、メモリコントローラ11は、プロセッサとともに、またはプロセッサに代えて、FPGA(field-programmable gate array)やASIC(application specific integrated circuit)を備えていてもよい。即ち、メモリコントローラ11は、ソフトウェア、ハードウェア、またはこれらの組み合わせによって構成され得る。
メモリコントローラ11は、さらに、ECC20を備える。
ECC20は、NANDメモリ10にデータが書き込まれる前に、当該データに対し、ビットエラーの検出および訂正のための符号化を実施する。つまり、NANDメモリ10には、符号化されたデータが書き込まれる。
ECC20は、NANDメモリ10からデータが読み出された際には、NANDメモリ10から読み出されたデータ(符号化されたデータ)を復号化することによって、当該データに含まれるビットエラーの検出を実施する。ECC20は、ビットエラーが検出された場合には、ビットエラーによって化けたデータを正しいデータに訂正する。
なお、ECC20による符号化/復号化の方式としては、任意の方式が採用され得る。例えば、BCH符号やLDPC(Low-Density Parity-Check)符号などがECC20による符号化/復号化の方式として採用され得る。訂正能力が可変の方式がECC20による符号化/復号化の方式として採用されてもよい。
また、ビットエラーの検出または訂正は、プロセッサによって実現されてもよい。
メモリシステム1は、さらに、電力供給回路13およびキャパシタ14を備える。
電力供給回路13は、電源3から供給される電力を、変換して、または、そのまま、NANDメモリ10、メモリコントローラ11、およびRAM12に供給する。メモリコントローラ11、NANDメモリ10、およびRAM12は、電力供給回路13から供給される電力を利用して動作する。
キャパシタ14は、充電可能な電池である。電源3から電力が供給されているとき、電力供給回路13によってキャパシタ14は充電される。電源3からの電力の供給が予告なく停止した場合、電力供給回路13によって電力供給源が電源3からキャパシタ14に切り替えられる。これによって、キャパシタ14に蓄えられていた電力がNANDメモリ10、メモリコントローラ11、およびRAM12に電力供給回路13を経由して供給される。メモリコントローラ11、NANDメモリ10、およびRAM12は、電源3からの電力の供給が停止した後においても、しばらくの間、キャパシタ14に蓄えられていた電力によって動作することができる。
一例では、電力供給回路13は、電源3の電圧を監視する。電圧が所定のしきい値を下回った場合、電力供給回路13は、電源3からの電力の供給が停止したと判断し、電源断信号をメモリコントローラ11に送信する。そして、電力供給回路13は、電力供給源を電源3からキャパシタ14に切り替える。メモリコントローラ11は、電源断信号の受信に応じて切り替え信号を電力供給回路13に送信し、電力供給回路13は、切り替え信号に応じて電力供給源を切り替えてもよい。
なお、メモリシステム1は、キャパシタ14として、任意の電池が採用可能である。例えば、電解コンデンサ(electrolytic capacitor)または電気二重層コンデンサ(electrical double layer capacitor)がキャパシタ14として採用され得る。
以降、電源3から供給された電力に基づいて動作するモードを、通常動作モードと表記する。また、キャパシタ14に蓄えられた電力に基づいて動作するモードを、PLPモードと表記する。つまり、メモリシステム1は、電源3から電力が供給されている間には、通常動作モードで動作し、電力供給回路13が電力供給源を電源3からキャパシタ14に切り替えると、メモリシステム1の動作モードが通常動作モードからPLPモードに遷移する。
通常動作モードにおいては、メモリコントローラ11は、ユーザデータ22をNANDメモリ10に書き込む際にはMLCモードを使用し、管理データ21をNANDメモリ10に書き込む際には第1SLCモードを使用する。
メモリコントローラ11は、ユーザデータ22を、各メモリセルMTに格納されるデータのビット数がSLCモードより多いMLCモードで書き込むことで、ホスト2に提供する記憶領域の容量をできるだけ多くすることができる。
また、メモリコントローラ11は、管理データ21を、疲弊の進行がMLCモードより遅い第1SLCモードで書き込むことで、管理データ21がメモリシステム1から失われるリスクを低減することができる。
PLPモードにおいては、メモリコントローラ11は、RAM12に格納されたデータ(ユーザデータ22、管理データ21)を、第2SLCモードでNANDメモリ10に書き込む。
第2SLCモードによれば、MLCモードや第1SLCモードに比べて、少ない回数のプログラミングパルスの印加によってプログラム処理が完了するので、MLCモードや第1SLCモードに比べて、処理速度が早く、かつ消費電力が少ない。PLPモードにおいて第2SLCモードが使用されることによって、RAM12内のデータをNANDメモリ10に書き込む際の消費電力を低減することができる。つまり、少ない容量のキャパシタ14であっても、RAM12内のデータの退避を実現することが可能となる。
容量が小さい電池をキャパシタ14として採用することが可能であるので、メモリシステム1のコストを削減することが可能となる。
なお、PLPモードにおいてメモリコントローラ11がRAM12に格納されたデータをNANDメモリ10に書き込むことによって、RAM12に格納されたデータがメモリシステム1から失われることを防止することができる。
続いて、実施形態のメモリシステム1の動作について説明する。
図7は、実施形態のメモリシステム1が実行する通常動作モードでのデータの書き込みの動作の概要を示すフローチャートである。
RAM12に格納されたデータ(管理データ21、ユーザデータ22)のうちの何れかが、書き込み対象となる。図7の説明において、書き込み対象のデータを、対象データと表記する。
対象データが管理データ21であるかユーザデータ22であるかによって動作が異なる。対象データが管理データ21に該当する場合(S101、Yes)、メモリコントローラ11は、対象データを第1SLCモードでNANDメモリ10に書き込む(S102)。対象データが管理データ21に該当しない場合(S101、No)、即ち対象データがユーザデータ22に該当する場合、メモリコントローラ11は、対象データをMLCモードでNANDメモリ10に書き込む(S103)。S102またはS103の処理によって、書き込みの動作が完了する。
図8は、実施形態のメモリシステム1が実行するPLPモードでの動作の概要を示すフローチャートである。
メモリコントローラ11は、電源3からの電力の供給の停止を検知すると(S201)、PLPモードの動作を開始する。具体的には、メモリコントローラ11は、まず、フリーブロックを一つ、選択する(S202)。S202の処理によって選択されたフリーブロックを、対象ブロックと表記する。
なお、フリーブロックは、そのブロックに書き込まれた全てのユーザデータが無効化されたブロックをいう。データが無効化されたとは、そのデータが記憶されている記憶領域の物理アドレスの位置に対応付けられた論理アドレスが存在しないことをいい、有効なデータとは、そのデータが記憶されている記憶領域の物理アドレスの位置に対応付けられた論理アドレスが存在することをいう。フリーブロックは、ガベージコレクションなどによって生成され得る。
ガベージコレクションは、あるブロック(第1のブロックと表記する)に格納されたデータのうち、有効なデータを他のブロック(第2のブロックと表記する)に転記し、その後、第1のブロックに格納された全てのデータを無効と見なす処理である。ガベージコレクションによって、第1のブロックは、フリーブロックとなる。
メモリコントローラ11は、ガベージコレクションを実施し、ガベージコレクションによって生成されたフリーブロックをフリーブロックプールに登録する。S202の処理では、メモリコントローラ11は、フリーブロックプールに登録されている1以上のブロックのうちから、対象ブロックを選択する。
S202の処理に続いて、メモリコントローラ11は、第1SLCモードの場合に比べて分布Erの幅が狭くなるように対象ブロックのイレース処理を実行する(S203)。つまり、メモリコントローラ11は、対象ブロックの全てのメモリセルMTのしきい値電圧が、第2SLCモードの場合の分布Er内となるように、イレース処理を実行する。
例えば、メモリコントローラ11は、対象ブロックを含むメモリチップ30に、ベリファイレベルを指定するコマンドと、イレースコマンドとを送信する。対象ブロックを含むメモリチップ30では、周辺回路31が、対象ブロックに含まれるメモリセルMTのしきい値電圧がメモリコントローラ11からのコマンドで指定されたベリファイレベル以下となるまで、イレース電圧の印加を繰り返す。
ここで、第2SLCモードの場合においては、ベリファイレベルの値は、第1SLCモードの場合に比べて小さい。これによって、対象ブロックに含まれる各メモリセルMTのしきい値電圧を、第1SLCモードの場合に比べて小さくすることができるので、第2SLCモードの場合の分布Erの幅を第1SLCモードの場合に比べて狭くすることができる。
S203の処理に続いて、メモリコントローラ11は、第2SLCモードでRAM12内のデータ(管理データ21、ユーザデータ22)を対象ブロックに書き込む(S204)。そして、PLPモードでの動作が終了する。
図9は、実施形態のメモリシステム1が実行する第1SLCモードでのデータの書き込みの動作の一例を示すフローチャートである。本図に例示される動作は、例えば、図7のS102の処理において実行される。
まず、メモリコントローラ11は、所定値(Cs1とする)をプログラミングパルスを印加する回数の上限値として設定する(S301)。Cs1は、例えば、分布Aに対応したデータの書き込み先のメモリセルMTのしきい値電圧を第1SLCモードの分布A内に設定するために要するプログラミングパルスの印加の回数の最大値である。Cs1は、計算または実験などにより予め決められている。S301では、例えば、メモリコントローラ11はCs1をデータの書き込み先のメモリチップ30に通知する。
S301の処理に続いて、メモリコントローラ11は、所定値(Vv1とする)をベリファイレベルとして設定する(S302)。Vv1は、第1SLCモードの分布Aに対応した電圧値である。Vv1は、計算または実験などにより予め決められている。S302では、例えば、メモリコントローラ11はVv1を書き込み先のメモリチップ30に通知する。
S302の処理に続いて、メモリコントローラ11は、書き込み先のメモリチップ30に書き込み対象のデータを送信する(S303)。
書き込み先のメモリチップ30では、周辺回路31は、iをゼロで初期化する(S304)。本図の説明において、iの値は、S305〜S309によって構成されるループ処理の実行回数に対応する。
続いて、周辺回路31は、プログラミングパルスの印加を実行する(S305)。そして、周辺回路31は、Vv1を用いてベリファイを実行する(S306)。
周辺回路31は、ベリファイの結果が合格であるか否かを判定する(S307)。
例えば、周辺回路31は、分布Aに対応したデータの書き込み先の全てのメモリセルMTのしきい値電圧がVv1を越えた場合、ベリファイの結果は合格であると判断する。また、周辺回路31は、分布Aに対応したデータの書き込み先の全てのメモリセルMTのうちの一部または全部のメモリセルMTのしきい値電圧がVv1に達していない場合、ベリファイの結果は合格でないと判断する。
ベリファイの結果が合格でない場合(S307、No)、周辺回路31は、iの値を1だけインクリメントして(S308)、iの値がCs1に達したか否かを判定する(S309)。iの値がCs1に達していない場合(S309、No)、制御がS305の処理に移行する。
ベリファイの結果が合格である場合(S307、Yes)、またはiの値がCs1に達した場合(S309、Yes)、第1SLCモードでのデータの書き込みが完了する。
図10は、実施形態のメモリシステム1が実行する第2SLCモードでのデータの書き込みの動作の一例を示すフローチャートである。本図に例示される動作は、例えば、図8のS204の処理において実行される。
まず、メモリコントローラ11は、所定値(Cs2とする)をプログラミングパルスを印加する回数の上限値として設定する(S401)。Cs2は、例えば、分布Aに対応したデータの書き込み先のメモリセルMTのしきい値電圧を第2SLCモードの分布A内に設定するために要するプログラミングパルスの印加の回数の最大値である。Cs2は、Cs1よりも小さい。Cs2は、計算または実験などにより予め決められている。S401では、例えば、メモリコントローラ11はCs2をデータの書き込み先のメモリチップ30に通知する。
S401の処理に続いて、メモリコントローラ11は、所定値(Vv2とする)をベリファイレベルとして設定する(S402)。Vv2は、第2SLCモードの分布Aに対応した電圧値である。Vv2は、Vv1よりも小さい。Vv2は、計算または実験などにより予め決められている。S402では、例えば、メモリコントローラ11はVv2を書き込み先のメモリチップ30に通知する。
S402の処理に続いて、メモリコントローラ11は、書き込み先のメモリチップ30に書き込み対象のデータを送信する(S403)。
書き込み先のメモリチップ30において周辺回路31は、iをゼロで初期化する(S404)。本図の説明において、iの値は、S405〜S409によって構成されるループ処理の実行回数に対応する。
続いて、周辺回路31は、プログラミングパルスの印加を実行する(S405)。そして、周辺回路31は、Vv2を用いてベリファイを実行する(S406)。
周辺回路31は、ベリファイの結果が合格であるか否かを判定する(S407)。
例えば、周辺回路31は、分布Aに対応したデータの書き込み先の全てのメモリセルMTのしきい値電圧がVv2を越えた場合、ベリファイの結果は合格であると判断する。また、周辺回路31は、分布Aに対応したデータの書き込み先の全てのメモリセルMTのうちの一部または全部のメモリセルMTのしきい値電圧がVv2に達していない場合、ベリファイの結果は合格でないと判断する。
ベリファイの結果が合格でない場合(S407、No)、周辺回路31は、iの値を1だけインクリメントして(S408)、iの値がCs2に達したか否かを判定する(S409)。iの値がCs2に達していない場合(S409、No)、制御がS405の処理に移行する。
ベリファイの結果が合格である場合(S407、Yes)、またはiの値がCs2に達した場合(S409、Yes)、第2SLCモードによるデータの書き込みが完了する。
以上述べたように、実施形態によれば、メモリコントローラ11は、通常動作モードにおいては、RAM12に格納された管理データ21を第1SLCモードでNANDメモリ10に書き込む。メモリコントローラ11は、電源3からの電力の供給が停止すると、即ちPLPモードに遷移すると、RAMに格納されたデータ(ユーザデータ22および管理データ21)を第2SLCモードでNANDメモリ10に書き込む。
このように、メモリコントローラ11は、PLPモードにおいては、通常動作モードにおけるSLCモード(第1SLCモード)と異なるSLCモード(第2SLCモード)を用いてRAM12内のデータのNANDメモリ10への書き込みを実行するように構成される。PLPモードにおいては、2つのSLCモードのうちの消費電力が少ないSLCモードを適用することによって、RAM12内のデータのNANDメモリ10への書き込みに要するトータルの消費電力を低減することが可能となる。その結果、少ない容量のキャパシタ14によっても、RAM12内のデータの退避を実現することが可能となる。
また、実施形態によれば、第2SLCモードは、各メモリセルMTにプログラミングパルスが印加される回数の上限値が、第1SLCモードに比べて小さいモードである。
よって、PLPモードにおいてRAM12内のデータのNANDメモリ10への書き込みに要するトータルの消費電力を低減することが可能となる。その結果、少ない容量のキャパシタ14によっても、RAM12内のデータの退避を実現することが可能となる。また、容量の小さいキャパシタを適用することによって、メモリシステム1のコストを削減することが可能となる。
なお、実施形態によれば、メモリコントローラ11は、第1SLCモードおよび第2SLCモードにおいて、各メモリセルMTのしきい値電圧を、消去された状態に対応する分布Erと、分布Erと異なる分布Aと、の何れかに含まれるように制御する。そして、メモリコントローラ11は、第2SLCモードの場合の分布Aの幅を、第1SLCモードの場合の分布Aの幅よりも広くする。
具体的には、前述したように、メモリコントローラ11は、第2SLCモードでは、各メモリセルMTにプログラミングパルスが印加される回数を、第1SLCモードに比べて少なくすることによって、第2SLCモードの場合の分布Aの幅を、第1SLCモードの場合の分布Aの幅よりも広くすることができる。各メモリセルMTにプログラミングパルスが印加される回数を少なくすることで、分布Aの幅が広がる。
また、実施形態によれば、メモリコントローラ11は、第2SLCモードの場合の分布Erの幅を、第1SLCモードの場合の分布Erの幅よりも狭くする。
分布Erの幅を、第1SLCモードの場合の分布Erの幅よりも狭くすることによって、第1SLCモードの場合に比べて分布Aがより広くなったとしても、分布Erの裾野と分布Aの裾野とが重なる範囲を小さく保つことができる。つまり、リード処理時におけるビットエラーの発生を抑制しつつプログラミングパルスの印加の回数を低減することが可能となる。
なお、メモリコントローラ11は、第2SLCモードの場合、イレース処理のベリファイレベルを第1SLCモードの場合よりも低い値に設定することによって、第2SLCモードの場合の分布Erの幅を第1SLCモードの場合の分布Erの幅よりも狭くすることができる。
また、実施形態によれば、メモリコントローラ11は、PLPモードにおいては、RAM12に格納されたユーザデータ22を第2SLCモードでNANDメモリ10に書き込む。つまり、メモリコントローラ11は、ホスト2から受信したが、まだNANDメモリ10への書き込みが完了していないデータを、第2SLCモードでNANDメモリ10に書き込む。
よって、メモリシステム1への電力の供給が突然停止した場合であっても、ホスト2から受信したがまだNANDメモリ10への書き込みが完了していないデータがメモリシステム1から失われることを防止することが可能となる。
ところで、実施形態の技術は、フォギーファインと呼ばれる書き込み方式が採用される場合においても適用され得る。フォギーファインは、1つのワード線に対して、書き込み対象のデータを、2回に分けて書き込む方式である。2回の書き込みのうちの最初の書き込みは、フォギー書き込みと呼ばれ、次の書き込みは、ファイン書き込みと呼ばれる。例えば、メモリコントローラ11は、通常動作モードにおいては、ユーザデータ22をNANDメモリ10に書き込む場合、ファイン書き込みが完了するまで当該ユーザデータ22をRAM12に保持しておき、ファイン書き込みが完了した後に、当該ユーザデータ22をRAM12から削除する。ファイン書き込みが完了する前に電源3からの電力の供給が停止した場合、メモリコントローラ11は、PLPモードに遷移して、当該ユーザデータ22をNANDメモリ10に第2SLCモードで書き込むことができる。
また、実施形態によれば、メモリコントローラ11は、PLPモードにおいては、RAM12に格納された管理データ21を第2SLCモードでNANDメモリ10に書き込む。
管理データ21は、メモリシステム1の管理に使用される。使用とは、更新を含む。つまり、管理データ21は、更新され得る。メモリコントローラ11は、PLPモードにおいて管理データ21をNANDメモリ10に書き込むので、メモリシステム1への電力の供給が突然停止した場合であっても、最新の状態の管理データ21がメモリシステム1から失われることを防止することが可能となる。
また、実施形態によれば、メモリコントローラ11は、通常動作モードにおいては、RAM12に格納された管理データ21を第1SLCモードでNANDメモリ10に書き込むことができる。
また、実施形態によれば、メモリコントローラ11は、通常動作モードにおいては、RAM12に格納されたユーザデータ22をMLCモードでNANDメモリ10に書き込む。
よって、各メモリセルMTに書き込めるデータのビット数を多くすることができるので、メモリシステム1がホスト2に提供する記憶領域の容量、つまり表記容量を大きくすることが可能となる。
なお、以上の説明においては、各メモリセルに複数ビットのデータを書き込むモードの一例として、MLCモードを挙げた。各メモリセルに複数ビットのデータを書き込むモードとしては、各メモリセルに3ビット以上のデータを書き込むモードが採用可能である。例えば、各メモリセルに3ビットのデータを書き込むモードであるTLC(Triple Level Cell)モードや、各メモリセルに4ビットのデータを書き込むモードであるQLC(Quad level Cell)モードが採用され得る。
また、以上の説明においては、メモリセルアレイ32がメモリセルMTが2次元的に配列された構成を有する場合を挙げた。メモリセルアレイ32は、メモリセルMTが3次元的に配列された構成を有していてもよい。その場合には、例えば、導電膜と絶縁膜とが交互に積層された積層体が柱状の半導体柱で貫通され、導電膜と半導体柱とが交差する部分にメモリセルMTが設けられる。
また、以上の説明においては、MLCモードでのデータの書き込みの動作の説明を省略した。データの書き込み後のメモリセルMTのしきい値電圧の分布が図4に示した状態とすることができる限り、プログラミングパルスの印加の回数の上限値や、ベリファイレベルは、任意の方法で設定され得る。
また、以上の説明においては、電源3からの電力の供給が回復した後の動作の説明を省略した。メモリコントローラ11は、電源3からの電力の供給が回復した後は、任意の動作を実行することができる。例えば、メモリコントローラ11は、第2SLCモードでNANDメモリ10に書き込んだデータ(管理データ21、ユーザデータ22)を読み出して、読み出したデータをRAM12に格納してもよい。このようにすることによって、メモリシステム1は、電源3からの電力の供給が停止する直前の状態に復帰することが可能となる。
なお、第2SLCモードで書き込まれたデータを読み出す方法は、特定の方法に限定されない。例えば、メモリコントローラ11は、メモリチップ30に対し、第2SLCモードで書き込まれたデータを対象としたリードコマンドを送信する。メモリコントローラ11は、当該メモリチップ30からデータを受信すると、ECC20によってエラービットの検出および訂正を実行する。ECC20がエラービットの訂正に失敗した場合、メモリコントローラ11は、リードレベルを変更して、第2SLCモードで書き込まれたデータを対象としたリードコマンドを再び送信する。このように、メモリコントローラ11は、正しいデータが取得できるまで、リードレベルを変更しながらリード処理を繰り返し実行してもよい。
または、メモリコントローラ11は、データを第1SLCモードで書き込む場合と、データを第2SLCモードで書き込む場合とで、ECC20による訂正の能力を異ならせてもよい。例えば、メモリコントローラ11は、データを第2SLCモードで書き込む場合、データを第1SLCモードで書き込む場合に比べて、ECC20による訂正の能力をより強くする。これによって、第2SLCモードで書き込まれたデータの読み出しの際に正しいデータを取得できる可能性を向上させることが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリシステム、2 ホスト、3 電源、10 NANDメモリ、11 メモリコントローラ、12 RAM、13 電力供給回路、14 キャパシタ、21 管理データ、22 ユーザデータ、30 メモリチップ、31 周辺回路、32 メモリセルアレイ。

Claims (9)

  1. 複数のメモリセルを備える記憶領域を備える不揮発性の第1メモリと、
    揮発性の第2メモリと、
    電力を蓄えるように構成されるキャパシタと、
    外部から供給された電力を用いて、前記複数のメモリセルのそれぞれに1ビットのデータを書き込む第1モードで前記揮発性の第2メモリに保存された第1データを前記記憶領域に書き込み、前記外部からの電力の供給が停止すると、前記キャパシタに蓄えられた電力を用いて、前記複数のメモリセルのそれぞれに1ビットのデータを書き込むモードであって前記第1モードと異なる第2モードで前記第1データを前記記憶領域に書き込むように構成されるメモリコントローラと、
    を備えるメモリシステム。
  2. 前記第2モードでの書き込みは、前記第1モードでの書き込みよりも各メモリセルにプログラミングパルスが印加される回数の上限値が小さい
    請求項1に記載のメモリシステム。
  3. 前記メモリコントローラは、前記第1モードでの書き込みの前に第1のベリファイレベルを指定して前記第1モードでの書き込み対象である前記記憶領域を消去し、前記第2モードでの書き込みの前に前記第1のベリファイレベルよりも電圧値の低い第2のベリファイレベルを指定して前記第2モードでの書き込み対象である前記記憶領域を消去する
    請求項1または請求項2に記載のメモリシステム。
  4. 前記複数のメモリセルに書き込まれたデータの各々は、前記複数のメモリセルの各々のしきい値電圧が消去された状態に対応する第1分布または前記第1分布と異なる第2分布に対応し、
    前記第2モードで書き込まれた場合の前記第2分布の幅は、前記第1モードで書き込まれた場合の前記第2分布の幅よりも広い、
    請求項1乃至請求項3の何れか1項に記載のメモリシステム。
  5. 前記複数のメモリセルに書き込まれたデータの各々は、前記複数のメモリセルの各々のしきい値電圧が消去された状態に対応する第1分布または前記第1分布と異なる第2分布に対応し、
    前記第2モードで書き込まれた場合の前記第1分布の幅は、前記第1モードで書き込まれた場合の前記第1分布の幅よりも狭い、
    請求項1乃至請求項4の何れか1項に記載のメモリシステム。
  6. 前記メモリシステムは、ホストに接続され、
    前記第1データは、前記ホストからの書き込みコマンドで指定された第2データを含み、
    前記メモリコントローラは、前記外部からの電力の供給が停止すると、前記キャパシタに蓄えられた電力を用いて前記第2データを前記第2モードで書き込む、
    請求項1乃至請求項5の何れか1項に記載のメモリシステム。
  7. 前記メモリシステムは、ホストに接続され、
    前記複数のメモリセルの各々は複数ビットのデータを保存可能であり、
    前記メモリコントローラは、前記外部から供給された電力を用いて前記ホストからの書き込みコマンドで指定された第2データを前記記憶領域の前記複数のメモリセルのそれぞれに前記複数ビットのデータとして書き込むように構成された
    請求項1乃至請求項5の何れか1項に記載のメモリシステム。
  8. 前記第1データは、前記メモリシステムの管理のためのデータを含む
    請求項1乃至請求項7の何れか1項に記載のメモリシステム。
  9. 前記外部から電力を供給されている場合は、前記外部から供給された電力を使用して、電力を前記メモリコントローラへ供給し、前記キャパシタを充電し、
    前記外部から電力の供給が停止すると、前記キャパシタに蓄えられた電力を前記メモリコントローラへ供給する
    電力供給回路をさらに備える請求項1乃至請求項8の何れか1項に記載のメモリシステム。
JP2018156618A 2018-08-23 2018-08-23 メモリシステム Pending JP2020030875A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018156618A JP2020030875A (ja) 2018-08-23 2018-08-23 メモリシステム
US16/290,004 US10775865B2 (en) 2018-08-23 2019-03-01 Memory system including a nonvolatile memory and a volatile memory, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018156618A JP2020030875A (ja) 2018-08-23 2018-08-23 メモリシステム

Publications (1)

Publication Number Publication Date
JP2020030875A true JP2020030875A (ja) 2020-02-27

Family

ID=69587209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018156618A Pending JP2020030875A (ja) 2018-08-23 2018-08-23 メモリシステム

Country Status (2)

Country Link
US (1) US10775865B2 (ja)
JP (1) JP2020030875A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210123884A (ko) * 2020-04-06 2021-10-14 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11416058B2 (en) 2020-10-28 2022-08-16 Western Digital Technologies, Inc. Efficient data storage usage associated with ungraceful shutdown
KR20220107733A (ko) * 2021-01-26 2022-08-02 에스케이하이닉스 주식회사 보호모드를 지원하는 비휘발성 메모리 장치 및 그를 포함하는 메모리 시스템
CN113325798B (zh) * 2021-07-08 2021-11-02 宜科(天津)电子有限公司 传感器数据处理系统
CN115729478B (zh) * 2023-01-10 2023-05-02 苏州浪潮智能科技有限公司 固态硬盘block修正方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452912B2 (en) * 2007-10-11 2013-05-28 Super Talent Electronics, Inc. Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read
US8032787B2 (en) * 2004-09-02 2011-10-04 Intel Corporation Volatile storage based power loss recovery mechanism
JP2012008651A (ja) 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
JP2012063884A (ja) * 2010-09-14 2012-03-29 Toshiba Corp 記憶装置、電子機器、および記憶装置の制御方法
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9928169B2 (en) * 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US10691531B2 (en) 2014-12-04 2020-06-23 Western Digital Technologies, Inc. Systems and methods for multi-zone data tiering for endurance extension in solid state drives
US20160254031A1 (en) * 2015-02-26 2016-09-01 Kabushiki Kaisha Toshiba Semiconductor memory device
US10061694B2 (en) * 2015-09-07 2018-08-28 Toshiba Memory Corporation Memory system and method for controlling non-volatile memory
US10437499B2 (en) * 2017-12-22 2019-10-08 Nanya Technology Corporation Hybrid memory system and method of operating the same

Also Published As

Publication number Publication date
US20200064897A1 (en) 2020-02-27
US10775865B2 (en) 2020-09-15

Similar Documents

Publication Publication Date Title
US11216337B2 (en) Memory system
US10170190B2 (en) Memory controller having reclaim controller and method of controlling operation of the memory controller
US10775865B2 (en) Memory system including a nonvolatile memory and a volatile memory, and method
US10545691B2 (en) Memory system and method of controlling nonvolatile memory
US10410738B2 (en) Memory system and control method
JP2018045744A (ja) メモリシステムおよび方法
CN112394880B (zh) 以机器学习针对服务质量优化进行存取控制的方法和设备
KR20160058521A (ko) 반도체 장치 및 이의 동작 방법
US20150058697A1 (en) Storage device, controller and memory controlling method
US11138070B2 (en) Memory system and method performed thereby
CN113010459A (zh) 存储器系统、存储器控制器以及操作存储器系统的方法
US11726878B2 (en) Memory system and operating method thereof
US20210034541A1 (en) Memory system, memory control device, and memory control method
US10073628B2 (en) Memory system and operating method of memory system
US11604734B2 (en) Memory system for determining whether to control a point of execution time of a command based on valid page counts of target memory blocks and operating method thereof
US11625195B2 (en) Memory system and operating method of memory system storing doorbell information in the buffer memory
US11249838B2 (en) Memory system, memory controller, and method of operating memory controller
US11941272B2 (en) Memory system and operating method of memory system
US20230387941A1 (en) Controller and operating method thereof for determining reliability data based on syndrome weight
US11775190B2 (en) Memory system and operating method of memory system
US11755248B2 (en) Memory system and operating method of memory system
US11636007B2 (en) Memory system and operating method thereof for flushing data in data cache with parity
US20210133021A1 (en) Memory system and memory controller
KR20230011595A (ko) 시스템 및 시스템의 동작 방법
KR20220117998A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법