IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝メモリ株式会社の特許一覧

<>
  • 特開-メモリシステムおよび制御方法 図1
  • 特開-メモリシステムおよび制御方法 図2
  • 特開-メモリシステムおよび制御方法 図3
  • 特開-メモリシステムおよび制御方法 図4
  • 特開-メモリシステムおよび制御方法 図5
  • 特開-メモリシステムおよび制御方法 図6
  • 特開-メモリシステムおよび制御方法 図7
  • 特開-メモリシステムおよび制御方法 図8
  • 特開-メモリシステムおよび制御方法 図9
  • 特開-メモリシステムおよび制御方法 図10
  • 特開-メモリシステムおよび制御方法 図11
  • 特開-メモリシステムおよび制御方法 図12
  • 特開-メモリシステムおよび制御方法 図13
  • 特開-メモリシステムおよび制御方法 図14
  • 特開-メモリシステムおよび制御方法 図15
  • 特開-メモリシステムおよび制御方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025421
(43)【公開日】2024-02-26
(54)【発明の名称】メモリシステムおよび制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20240216BHJP
   G06F 12/02 20060101ALI20240216BHJP
   G11C 16/04 20060101ALI20240216BHJP
   G11C 11/56 20060101ALI20240216BHJP
【FI】
G06F12/00 550Z
G06F12/00 597U
G06F12/00 564A
G06F12/02 510A
G11C16/04 170
G11C11/56 210
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022128848
(22)【出願日】2022-08-12
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】野田 優子
(72)【発明者】
【氏名】渡辺 究
(72)【発明者】
【氏名】齋藤 正宏
(72)【発明者】
【氏名】高井 良貴
【テーマコード(参考)】
5B160
5B225
【Fターム(参考)】
5B160AA10
5B160CC00
5B160NA02
5B225BA01
5B225BA19
5B225CA11
5B225DB02
5B225DB21
5B225DD06
5B225EA05
5B225FA01
(57)【要約】
【課題】データリテンションによる信頼性悪化を抑制することができるメモリシステムを提供する。
【解決手段】実施形態によれば、メモリシステムは、不揮発性メモリと、コントローラと、を具備する。不揮発性メモリは、複数のメモリセルを有する。コントローラは、複数のメモリセルの第1のメモリセルに対するデータの書き込みを、第1のメモリセルへの第1プログラムによる書き込みと、第1のメモリセルへの第2プログラムによる書き込みとの2段階で実行する。コントローラは、第1のメモリセルへの第1プログラムによる書き込みの時刻を含む時刻情報を記録する。コントローラは、時刻情報に基づき、第1プログラムによる書き込みからの経過時間が第1閾値未満とならないように第1のメモリセルへの第2プログラムによる書き込みのタイミングを制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のメモリセルを有する不揮発性メモリと、
前記複数のメモリセルの第1のメモリセルに対するデータの書き込みを、前記第1のメモリセルへの第1プログラムによる書き込みと、前記第1のメモリセルへの第2プログラムによる書き込みとの2段階で実行するコントローラと、
を具備し、
前記コントローラは、
前記第1のメモリセルへの前記第1プログラムによる書き込みの時刻を含む時刻情報を記録し、
前記時刻情報に基づき、前記第1プログラムによる書き込みからの経過時間が第1閾値未満とならないように前記第1のメモリセルへの前記第2プログラムによる書き込みのタイミングを制御する、
メモリシステム。
【請求項2】
ホストと接続可能であり、
前記コントローラは、
前記不揮発性メモリの第1領域にメモリセルあたり1ビットのデータを保存し、前記第1領域とは異なる第2領域にメモリセルあたり複数のビットのデータを保存し、
前記ホストから書き込みを要求されたデータを前記第1領域に保存し、
前記第1領域に保存されているデータを前記第2領域へ移動する処理において、前記第2領域に含まれるメモリセルへの前記第2プログラムによる書き込みのタイミングを、前記第2領域に含まれるメモリセルへの前記第1プログラムによる書き込みからの経過時間が前記第1閾値未満とならないように制御する、
請求項1に記載のメモリシステム。
【請求項3】
前記不揮発性メモリは、複数のブロックを含み、
前記コントローラは、
N(Nは2以上の自然数)個のブロック中の有効データをN個未満のブロックに移動させて1個以上のフリーブロックを作成し、
前記N個のブロックに含まれる前記有効データを前記N個未満のブロックへ移動させる処理において、前記N個未満のブロックに含まれるメモリセルへの前記第2プログラムによる書き込みのタイミングを、前記第1プログラムによる書き込みからの経過時間が前記第1閾値未満とならないように制御する、
請求項1に記載のメモリシステム。
【請求項4】
前記不揮発性メモリは第1のワード線と第2のワード線とを含み、
前記コントローラは、
前記第1のワード線に接続されているメモリセルへの前記第2プログラムによる書き込みのタイミングを、前記第1プログラムによる書き込みからの経過時間が前記第1閾値未満とならないように制御する、
請求項1に記載のメモリシステム。
【請求項5】
前記コントローラは、
前記第2のワード線に接続されているメモリセルへの前記第2プログラムによる書き込みのタイミングを、前記第1プログラムによる書き込みからの経過時間が前記第1閾値よりも短い第2閾値未満とならないように制御する、
請求項4に記載のメモリシステム。
【請求項6】
前記コントローラは、第1ワード線に接続されている第1メモリセルへの前記第2プログラムによる書き込みを実行しようとした場合において、前記第1メモリセルへの前記第1プログラムによる書き込みからの経過時間が前記第1閾値未満である場合、前記第1メモリセルへの前記第2プログラムによる書き込みよりも後での実行が予定されている、第2ワード線に接続されている第2メモリセルへの前記第1プログラムによる書き込みを実行する請求項1に記載のメモリシステム。
【請求項7】
前記不揮発性メモリは、各々が複数のブロックと複数のワード線とを含む複数のチップを含み、
前記コントローラは、
第1のチップに含まれる前記複数のブロックのそれぞれに含まれる第1のワード線に接続されている複数の第1メモリセルへの前記第1プログラムによる書き込みを実行し、
前記複数の第1メモリセルへの前記第1プログラムによる書き込みの後、前記複数の第1メモリセルへの前記第2プログラムによる書き込みを実行する、
請求項1に記載のメモリシステム。
【請求項8】
前記コントローラは、ブロックごとのメモリセルへの書き込みでは前記第2プログラムによる書き込み時における前記第1プログラムによる書き込み時からの経過時間が前記第1閾値未満となる場合に、前記複数のブロックを跨いだメモリセルへの書き込みを実行する請求項7に記載のメモリシステム。
【請求項9】
前記不揮発性メモリは、各々が複数のブロックと複数のワード線とを含む複数のチップを含み、
前記コントローラは、
M(Mは2以上の自然数)個のチップのそれぞれから1つずつブロックを選択して前記選択したM個のブロックを1つの論理ブロックとして管理し、
第1の論理ブロックに含まれるM個のブロックのそれぞれに含まれる第1のワード線に接続されている複数の第1メモリセルへの前記第1プログラムによる書き込みを実行し、
前記複数の第1メモリセルへの前記第1プログラムによる書き込みの後、前記第1の論理ブロックとは別の第2の論理ブロックに含まれるM個のブロックのそれぞれに含まれる第1のワード線に接続されている複数の第2メモリセルへの前記第1プログラムによる書き込みを実行し、
前記複数の第2メモリセルへの前記第1プログラムによる書き込みの後、前記複数の第1メモリセルへの前記第2プログラムによる書き込みを実行する、
請求項1に記載のメモリシステム。
【請求項10】
不揮発性メモリが有する複数のメモリセルの第1のメモリセルに対するデータの書き込みを、前記第1のメモリセルへの第1プログラムによる書き込みと、前記第1のメモリセルへの第2プログラムによる書き込みとの2段階で実行するコントローラの制御方法であって、
前記第1のメモリセルへの前記第1プログラムによる書き込みの時刻を含む時刻情報を記録し、
前記時刻情報に基づき、前記第1プログラムによる書き込みからの経過時間が第1閾値未満とならないように前記第1のメモリセルへの前記第2プログラムによる書き込みのタイミングを制御する、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、メモリシステムおよび制御方法に関する。
【背景技術】
【0002】
たとえばSSD(Solid State Drive)といったメモリシステムに搭載されるNAND型フラッシュメモリにおいては、データを保持するメモリセルの微細化が進んでいる。また、1つのメモリセルに複数ビットで構成される多値データを書き込む技術も、MLC(Multiple Level Cell)[2ビット]、TLC(Triple Level Cell)[3ビット]、QLC(Quadruple Level Cell)[4ビット]と進化している。なお、1つのメモリセルへの1ビットのデータの書き込みは、SLC(Single Level Cell)と称される。
【0003】
一方で、QLCは、SLCやTLCと比較して、データリテンションによる信頼性悪化(時間の経過に伴う誤り率(BER:Bit Error Rate)の増加)が速い。そのため、メモリシステムにおいて内部的に実行することが求められる信頼性対策のためのバックグラウンド処理の負担が大きい。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2021/0064285号明細書
【特許文献2】特許第5480714号公報
【特許文献3】米国特許出願公開第2021/0264968号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の1つの実施形態は、データリテンションによる信頼性悪化を抑制することができるメモリシステムおよび制御方法を提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、メモリシステムは、不揮発性メモリと、コントローラと、を具備する。不揮発性メモリは、複数のメモリセルを有する。コントローラは、複数のメモリセルの第1のメモリセルに対するデータの書き込みを、第1のメモリセルへの第1プログラムによる書き込みと、第1のメモリセルへの第2プログラムによる書き込みとの2段階で実行する。コントローラは、第1のメモリセルへの第1プログラムによる書き込みの時刻を含む時刻情報を記録する。コントローラは、時刻情報に基づき、第1プログラムによる書き込みからの経過時間が第1閾値未満とならないように第1のメモリセルへの第2プログラムによる書き込みのタイミングを制御する。
【図面の簡単な説明】
【0007】
図1】第1実施形態のメモリシステムの一構成例を示す図。
図2】Foggy-Fineプログラムの概要を説明するための概念図。
図3】MLC-Fineプログラムの概要を説明するための概念図。
図4】2ステップのプログラム方式における各ステップの実行順序の一例を説明するための図。
図5】第1実施形態のメモリシステムが実現するNANDメモリへの書き込み(プログラム)の手順を示すフローチャート。
図6】第1実施形態のメモリシステムで実行される2ステップ目のプログラムのタイミング制御の手順を示すフローチャート。
図7】第1実施形態のメモリシステムにおける2ステップ目のプログラムのタイミング制御の第1活用例を説明するための図。
図8】第1実施形態のメモリシステムにおける2ステップ目のプログラムのタイミング制御の第2活用例を説明するための図。
図9】第2実施形態のメモリシステムで実行される2ステップ目のプログラムのタイミング制御の手順を示すフローチャート。
図10】メモリブロック内のメモリセルへプログラムする順の一例を示す図。
図11】第3実施形態のメモリシステムにおけるプログラム順の一例を示す図。
図12】第3実施形態のメモリシステムで実行される2ステップ目のプログラムのタイミング制御の手順を示すフローチャート。
図13】メモリブロックごとに書き込みを進めていくプログラム順の一例を示す図。
図14】第4実施形態のメモリシステムにおける同一メモリチップ内の複数のメモリブロックを跨いで書き込みを進めていくプログラム順の一例を示す図。
図15】論理ブロックごとに書き込みを進めていくプログラム順の一例を示す図。
図16】第5実施形態のメモリシステムにおける複数の論理ブロックを跨いで書き込みを進めていくプログラム順の一例を示す図。
【発明を実施するための形態】
【0008】
以下、実施の形態について、図面を参照して説明する。
【0009】
(第1実施形態)
まず、第1実施形態について説明する。
【0010】
図1は、第1実施形態のメモリシステム1の一構成例を示す図である。メモリシステム1は、たとえばPCI ExpressTM(PCIeTM)規格に準拠するインタフェースでホスト2と接続される。ホスト2は、サーバやPC(Personal Computer)などの情報処理装置である。
【0011】
メモリシステム1は、メモリコントローラ11と、NAND型フラッシュメモリ(NANDメモリ)12と、DRAM(Dynamic RAM[Random Access Memory])13と、ECC(Error Correcting Code)回路14とを有する。
【0012】
メモリコントローラ11は、たとえばNVM ExpressTM(NVMeTM)規格に準拠するプロトコルでホスト2と通信する。メモリコントローラ11は、ホスト2からのライトコマンドに応じて、NANDメモリ12へのデータの書き込みを行う。また、メモリコントローラ11は、ホスト2からのリードコマンドに応じて、NANDメモリ12からのデータの読み出しを行う。メモリコントローラ11は、NANDメモリ12に格納されているデータの保全やNANDメモリ12の最適化などを目的として、ホスト2からのコマンドによらず、NANDメモリ12からのデータの読み出しやNANDメモリ12へのデータの書き込みを自律的に行う場合がある。
【0013】
NANDメモリ12は、複数のメモリチップ121を有する。複数のメモリチップ121のそれぞれは、複数のダイ122を有する。ここでは、NANDメモリ12内のダイ122の数をMとする。Mは2以上の自然数である。以下、特定のダイを指す場合は、符号122-0、・・・、122-Mを使用し、任意のダイを指す場合や、あるダイを他のダイと区別しない場合には、符号122を使用する。
【0014】
複数のダイ122のそれぞれは、複数のメモリブロック123を有する。複数のメモリブロック123のそれぞれは、複数のページ(不図示)を有する。NANDメモリ12へのデータの書き込みやNANDメモリ12からのデータの読み出しは、ページの単位で行われる。データを書き込み済みのページへのデータの上書きは行うことができず、そのため、データの更新は、あるページ上の元のデータを無効化し、新たなデータを他のページへ書き込むことによって行われる。データの消去は、メモリブロック123の単位で行われる。
【0015】
メモリコントローラ11とNANDメモリ12との間には、たとえば複数のメモリチップ121と一対一で対応づけられる複数のチャネルが設けられる。複数のチャネルのそれぞれは、メモリコントローラ11がダイ122との間で通信するための、たとえば各メモリチップ121が有するダイ122と同数の信号線を含む。
【0016】
NANDメモリ12内において、複数のメモリチップ121は並列動作可能である。したがって、メモリコントローラ11は、NANDメモリ12へのデータの書き込みやNANDメモリ12からのデータの読み出しを、チャネル数のページ分同時(並列的)に実行することができる。
【0017】
DRAM13は、メモリコントローラ11が作業領域として使用する揮発性の記憶媒体である。DRAM13上には、プログラム時刻保存領域131と、コマンド保存領域132とが設けられる。各領域の用途については後述する。なお、メモリコントローラ11内のSRAM(Static RAM)(不図示)などをメモリコントローラ11の作業領域として使用してもよい。つまり、メモリシステム1は、DRAM13を有しない構成も考えられる。
【0018】
ECC回路14は、NANDメモリ12へ書き込むデータ中に将来誤りが生じた場合に備えて、その誤りを検出・訂正するための誤り訂正符号を生成する。また、ECC回路14は、誤り訂正符号を使って、NANDメモリ12から読み出されたデータ中に誤りが生じていないかを調べて、誤りが検出されたならば、その誤りを訂正する。
【0019】
メモリコントローラ11は、たとえばSoC(System On Chip)として実現される。メモリコントローラ11は、2ステッププログラムキューイング制御部111と、キュー112と、メモリインタフェース113とを有する。2ステッププログラムキューイング制御部111は、たとえば、CPU110がファームウェアを実行することによって実現される。2ステッププログラムキューイング制御部111は、たとえば電気回路のようなハードウェアとして実現されてもよい。
【0020】
メモリコントローラ11は、NANDメモリ12へのデータの書き込みを、1つのメモリセルに4ビットを書き込むQLCを適用して実行する。また、メモリコントローラ11は、各メモリセルへの4ビットの書き込みを2ステップで実行する。そして、2ステッププログラムキューイング制御部111は、2ステップ目の書き込みのタイミングを制御することで、QLCで顕著なデータリテンションによる信頼性悪化を抑制する。2ステッププログラムキューイング制御部111の詳細については後述する。以下、1ステップ目の書き込み(プログラム)を1ステッププログラムと称することがあり、2ステップ目の書き込みを2ステッププログラムと称することがある。
【0021】
キュー112は、NANDメモリ12に対するコマンドが格納される。2ステッププログラムキューイング制御部111は、このキュー112への、2ステッププログラムをNANDメモリ12に要求するコマンドの投入タイミングを制御する。プログラム時刻保存領域131は、キュー112へのコマンドの投入タイミングの制御に必要な時刻情報を格納しておくための領域であり、コマンド保存領域132は、キュー112への投入を保留しているコマンドを格納しておくための領域である。
【0022】
メモリインタフェース113は、キュー112に格納されているコマンドをNANDメモリ12へ送信し、かつ、コマンドの処理結果をNANDメモリ12から受信する。具体的には、メモリインタフェース113は、前述のチャネルを介した各ダイ122との間の通信を実行する。
【0023】
ここで、図2および図3を参照して、メモリシステム1において適用され得る、各メモリセルへの書き込みを2ステップで実行する方式の例について説明する。
【0024】
図2は、Foggy-Fineプログラムの概要を説明するための概念図である。図2には、1つのメモリセルに4ビットを書き込むQLCの場合における2ステップ(Foggy、Fine)のプログラムの手順が示されている。
【0025】
図2において、0から15の16個の山型は、4ビットで構成される多値データが取り得る「0000」から「1111」の16通りの値と一対一で対応づけられる16個の分布を示している。矢印で示される横軸は、閾値電圧を示す。NANDメモリ12は、各メモリセルに蓄えられた電荷量によりデータを記憶する。各メモリセルは、電荷量に応じた閾値電圧を有する。つまり、NANDメモリ12は、各メモリセルに注入する電荷量を調整することで、「0000」から「1111」の16通りの値の中のいずれかの値を記憶する。4ビットで構成される多値データの各ビットは、下位ビットから、Lowerページ(L)、Middleページ(M)、Upperページ(U)、Topページ(T)と称される。
【0026】
Foggy-Fineプログラムでは、Foggy、Fineの2回に分けてメモリセルに電荷を注入することで、Foggyプログラムによる書き込み状態の時に、隣接するメモリセルへの書き込み(Foggyプログラム)の影響を吸収させる。Fineプログラムによる書き込み後、隣接するメモリセルへのFineプログラムによる書き込みの影響は受けるが、各メモリセルに一度に電荷を注入する場合と比較して、その影響は限定的である。Foggy-Fineプログラムでは、1ステップ目のFoggyプログラムと2ステップ目のFineプログラムとの双方において、LMUTの全4ページ分のデータがメモリセルに書き込まれる。つまり、Foggy-Fineプログラムは、0から15の16個の分布の中のいずれか1つをターゲットとした電荷の注入を2回に分けて行う方式である。
【0027】
図3は、MLC-Fineプログラムの概要を説明するための図である。図2に示したFoggy-Fineプログラムの例と同様、図3には、QLCの場合における2ステップ(MLC、Fine)のプログラムの手順が示されている。
【0028】
MLC-Fineプログラムでは、まず、1ステップ目のMLCプログラムにより、4ビット中の下位2ビット(LM)の書き込みを行う。図3では、0から15の16個の分布に、「1111」、「1011」、「0011」、「0111」、「0101」、「1101」、「1100」、「1000」、「1001」、「0001」、「0000」、「0100」、「0110」、「1110」、「1010」、「0011」を対応づけた3-2-5-5データコーディングを前提としている。3-2-5-5データコーディングは、0と1との境界が、Lowerページでは3個、Middleページでは2個、Upperページでは5個、Topページでは5個である。3-2-5-5データコーディングで各分布に対応づけられる16個のデータ群は、任意の2つの隣接する分布間で1ビットのみデータが変化するグレイ符号である。
【0029】
前述のように、MLC-Fineプログラムでは、まず、1ステップ目のMLCプログラムで下位2ビット(LM)の書き込みを行う。具体的には、「11」(分布0)、「01」(分布4)、「00」(分布6)、「10」(分布12)のいずれかをターゲットとした電荷の注入を行う。
【0030】
MLCプログラムによる下位2ビット(LM)の書き込み後、2ステップ目のFineプログラムでは、上位2ビット(UT)の書き込みを行う。具体的には、1ステップ目のMLCプログラムで設定された閾値電圧をスライドさせるための電荷の注入を行う。たとえばメモリセルに「1001」を書き込む場合、1ステップ目のMLCプログラムで下位ビット「01」を書き込む。これは、下位ビット「01」が共通する分布4、5、8、9の中の閾値電圧が最も低い分布4をターゲットとした電荷の注入である。なお、分布0、1、2、3の下位2ビットは「11」で共通し、分布6、7、10,11の下位2ビットは「00」で共通し、分布12、13、14,15の下位2ビットは「10」で共通している。そして、2ステップ目のFineプログラムで、分布4から、「1001」が対応づけられている分布8へ閾値電圧を移動させる。
【0031】
MLC-Fineプログラムの場合も、Fineプログラムによる書き込み後、隣接するメモリセルへのFineプログラムによる書き込みの影響は受けるが、各メモリセルに一度に電荷を注入する場合と比較して、その影響は限定的である。さらに、MLC-Fineプログラムの場合、1ステップ目のMLCプログラムによる下位2ビット(LM)の書き込みが完了した時点で、2ステップ目のFineプログラムによる上位2ビット(UT)の書き込みの完了を待たずに、下位2ビット(LM)を読み出すことができるという利点がある。
【0032】
次に、図4を参照して、以上のような、各メモリセルへの書き込みを2ステップで実行する方式における各ステップの実行順序の一例について説明する。図4では、メモリセルが立体的に配列される3次元構造のメモリセルアレイを想定している。ここでは、0から161の板状の162本のワード線(WL)が垂直方向に積層され、ワード線を共有する0から4の5本のストリングが、板状の162本のワード線を貫くように垂直方向に設置されているものとする。図4(A)のワード線とストリングとの各交点がメモリセルを表している。また、各交点に配置された2つの丸数字は、左側が1ステップ目のプログラムが実行された順序を表し、右側が2ステップ目のプログラムが実行された順序を表している。これらメモリセルへの書き込み順は、(1)ワード線の番号の昇順、(2)ストリングの番号の昇順、であるものとする。
【0033】
たとえば、ワード線0、ストリング0のメモリセルに着目すると、2ステップ目のプログラムの後に、隣接する、ワード線0、ストリング1のメモリセルと、ワード線1、ストリング0のメモリセルとから受ける影響(セル間相互干渉)が最も小さくなるのは、2つの隣接するメモリセルで2ステップ目のプログラムのみが行われる場合である。換言すれば、2ステップ目のプログラムの前に、これら2つの隣接するメモリセルで1ステップ目のプログラムが完了している場合である。
【0034】
以上から、このメモリセルアレイのメモリセルへの書き込みは、まず、ワード線0、ストリング0から4のメモリセルに対して、1ステップ目のプログラムが行われる(順序0から4)。ワード線0のメモリセルに対する1ステップ目のプログラムが完了すると、ワード線1、ストリング0のメモリセルに対して、1ステップ目のプログラムが行われる(順序5)。そうすると、この時点で、ワード線0、ストリング0のメモリセルは、隣接するメモリセルが1ステップ目のプログラムを完了した状態となる。そこで、次に、ワード線0、ストリング0のメモリセルに対する2ステップ目のプログラムが行われる(順序6)。
【0035】
次いで、ワード線1、ストリング1のメモリセルに対する1ステップ目のプログラム(順序7)が行われる。そうすると、この時点で、今度は、ワード線0、ストリング1のメモリセルが、隣接するメモリセルが1ステップ目のプログラムを完了した状態となる。そこで、次に、ワード線0、ストリング1のメモリセルに対する2ステップ目のプログラムが行われる(順序8)。以下、ワード線1のストリング2から4のメモリセルに対する1ステップ目のプログラム(順序9、11、13)と、ワード線0のストリング2から4のメモリセルに対する2ステップ目のプログラム(順序10、12、14)とが交互に行われる。
【0036】
さらに、同様に、ワード線2のストリング0から4のメモリセルに対する1ステップ目のプログラム(順序15、17、19、21、23)と、ワード線1のストリング0から4のメモリセルに対する2ステップ目のプログラム(順序16、18、20、22、24)とが交互に行われる。このように、ストリングが5本の3次元構造のメモリセルアレイにおいては、図4(B)に示す順序で、各メモリセルへの書き込みが2ステップで実行される。
【0037】
ところで、QLCは、SLCやTLCと比較して、データリテンションによる信頼性悪化(時間の経過に伴う誤り率(BER)の増加)が速い。BERの増加に関しては、メモリセルへの2ステップでの書き込みの際、1ステップ目のプログラムと2ステップ目のプログラムとの間隔が長くなる程小さくなることが分かっている。そこで、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムの実行タイミングを、1ステップ目のプログラムとの間隔が閾値未満とならないように制御する。
【0038】
図5は、第1実施形態のメモリシステム1が2ステッププログラムキューイング制御部111による2ステップ目のプログラムのタイミング制御で実現するNANDメモリ12への書き込み(プログラム)の手順を示すフローチャートである。
【0039】
メモリシステム1は、まず、最初のワード線の各ストリングに対して1ステップ目のプログラムを実行する(S101)。メモリシステム1は、最初のワード線の各ストリングに対する1ステップ目のプログラムの実行後、時間調整を行い(S102)、次のワード線の各ストリングに対して1ステップ目のプログラムを実行し、かつ、前のワード線の各ストリングに対して2ステップ目のプログラムを実行する(S103)。この時の前のワード線とは、S101で各ストリングに対して1ステッププログラムが実行されたワード線である。
【0040】
次のワード線の各ストリングに対して1ステップ目のプログラムを実行すると、メモリシステム1は、再度、時間調整を行う(S104)。時間調整後、メモリシステム1は、各ストリングに対して1ステッププログラムを実行したワード線の数が、書き込み対象のワード線の数未満であるか否かを判定する(S105)。書き込み対象のワード線の数未満である場合(S105:YES)、メモリシステム1は、S103に戻って、次のワード線の各ストリングに対して1ステッ目のププログラムを実行し、かつ、前のワード線の各ストリングに対して2ステップ目のプログラムを実行する。この時の前のワード線とは、前回のS103で各ストリングに対して1ステップ目のプログラムが実行されたワード線である。
【0041】
メモリシステム1は、各ストリングに対して1ステップ目のプログラムを実行したワード線の数が、書き込み対象のワード線の数未満であると判定される間、S103、S104を繰り返す。メモリシステム1は、各ストリングに対して1ステップ目のプログラムを実行したワード線の数が、書き込み対象のワード線の数に達すると(S105:NO)、最後のワード線の各ストリングに対して2ステップ目のプログラムを実行する(S106)。
【0042】
このように、第1実施形態のメモリシステム1は、2ステッププログラムキューイング制御部111による2ステップ目のプログラムのタイミング制御において、ハッチングが施されているS102、S104の時間調整を、各ストリングに対する1ステップ目のプログラムと2ステップ目のプログラムとの間に介在させる。
【0043】
図6は、2ステッププログラムキューイング制御部111が実行する2ステップ目のプログラムのタイミング制御の手順を示すフローチャートである。
【0044】
2ステッププログラムキューイング制御部111は、ライト(書き込み)先アドレスを取得する(S201)。2ステッププログラムキューイング制御部111は、取得したアドレスに基づき、ワード線(n)に対する1ステップ目のプログラムをNANDメモリ12に要求するプログラムコマンドを発行する(S202)。具体的には、2ステッププログラムキューイング制御部111は、プログラムコマンドをキュー112に投入する。なお、nは2以上の自然数である。
【0045】
2ステッププログラムキューイング制御部111は、S201でのプログラムコマンドの発行時刻を保存する(S203)。具体的には、2ステッププログラムキューイング制御部111は、プログラム時刻保存領域131をDRAM13上に設けて、このプログラム時刻保存領域131にプログラムコマンドの発行時刻を格納する。
【0046】
2ステッププログラムキューイング制御部111は、2ステップ目のプログラム先アドレスを取得する(S204)。2ステッププログラムキューイング制御部111は、2ステップ目のプログラム対象のワード線(n-1)の1ステップ目のプログラム時刻(1ステッププログラムを要求するプログラムコマンドの発行時刻)をDRAM13上のプログラム時刻保存領域131から取得する(S205)。また、2ステッププログラムキューイング制御部111は、現在時刻を取得する(S206)。
【0047】
2ステッププログラムキューイング制御部111は、S205、S206で取得した2つの時刻に基づき、時間調整が必要か否かを判定する(S207)。時間調整が必要な場合とは、S205で取得した時刻からS206で取得した時刻までの経過時間が閾値未満の場合である。2ステッププログラムキューイング制御部111は、時間調整が必要と判断した場合(S207:YES)、ワード線(n-1)に対する2ステップ目のプログラムをNANDメモリ12に要求するプログラムコマンドの発行を保留する(S208)。具体的には、2ステッププログラムキューイング制御部111は、コマンド保存領域132をDRAM13上に設けて、図4を参照して説明した順序において、キュー112への投入が次に予定されているプログラムコマンドを、このコマンド保存領域132に退避する。この時、2ステッププログラムキューイング制御部111は、たとえば、次に予定されているプログラムコマンドよりも後ろに予定されているプログラムコマンドをキュー112へ投入してもよい(他処理実行)。
【0048】
2ステッププログラムキューイング制御部111は、プログラムコマンドの退避後、X秒経過したら、当該退避したプログラムコマンド、つまりワード線(n-1)に対する2ステッププログラムをNANDメモリ12に要求するプログラムコマンドを発行する(S209)。また、S207で時間調整が不要と判断した場合(S207:NO)、2ステッププログラムキューイング制御部111は、S208をスキップして、ワード線(n-1)に対する2ステッププログラムをNANDメモリ12に要求するプログラムコマンドを速やかに発行する(S209)。
【0049】
以上ように、第1実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111が、1ステップ目のプログラムの時刻を記録し、2ステップ目のプログラムの際、1ステップ目のプログラムの時刻からの経過時間が閾値以上か否かを確認する。閾値未満の場合、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムを一定期間保留する。これにより、第1実施形態のメモリシステム1においては、2ステップ目のプログラムのタイミングが1ステップ目のプログラムから閾値以上に制御される。1ステップ目のプログラムと2ステップ目のプログラムとの間隔が閾値以上確保されることで、第1実施形態のメモリシステム1は、データリテンションによる信頼性悪化を抑制することができる。データリテンションによる信頼性悪化が抑制されることで、第1実施形態のメモリシステム1においては、信頼性対策のためのバックグラウンド処理の負担が低減される。
【0050】
図7は、第1実施形態のメモリシステム1における2ステッププログラムキューイング制御部111による2ステップ目のプログラムのタイミング制御の第1活用例を説明するための図である。
【0051】
ここでは、NANDメモリ12が、1つのメモリセルに1ビットの書き込みが行われるSLCバッファ12Aと、1つのメモリセルに4ビットの書き込みが行われるQLC領域12Bとに分けて使用されていることを前提とする。QLCでの書き込みは、SLCでの書き込みと比較して時間がかかる。そこで、ホスト2からライト要求を受けたとき、メモリシステム1は、図7(A)に示すように、ホスト2のライトデータをSLCバッファ12Aに書き込んでおく。SLCバッファ12Aへの書き込みが完了したら、メモリシステム1は、ホスト2へライト完了の応答を送信する。その後、ホスト2からのライト要求やリード要求がないとき、メモリシステム1は、図7(B)に示すように、SLCバッファ12Aに書き込んでおいたデータをQLC領域12Bに移し替える。
【0052】
このSLCバッファ12AからQLC領域12Bへのデータの移し替えの際、メモリシステム1は、2ステップ目のプログラムのタイミング制御を実行する。
【0053】
なお、SLCバッファ12Aに空きがない場合、メモリシステム1は、ホスト2のライトデータを直接的にQLC領域12Bに書き込まざるを得ない。この場合は、メモリシステム1は、信頼性悪化の抑制よりも応答性を優先して、2ステップ目のプログラムのタイミング制御は行わず、2ステップ目のプログラムを速やかに実行する。
【0054】
図8は、第1実施形態のメモリシステム1における2ステッププログラムキューイング制御部111による2ステップ目のプログラムのタイミング制御の第2活用例を説明するための図である。
【0055】
前述したように、NANDメモリ12上のデータの更新は、あるページ上の元のデータを無効化し、新たなデータを他のページへ書き込むことによって行われる。図8(A)には、あるメモリブロック123のXページに格納されているデータの書き換えが発生した例が示されている。Xページに格納されている元データは無効データとされ、メモリブロック123内の最後にデータが書き込まれたページの次のX´ページに新たなデータが書き込まれている。なお、図8(A)には、簡略化のために、元データが格納されているページを含むメモリブロック123のページ、つまり、同一メモリブロック123のページに新たなデータが書き込まれている例を示しているが、新たなデータは、元データが格納されているページを含むメモリブロック123とは異なるメモリブロック123のページに書き込まれてもよい。
【0056】
このようなデータの更新が幾度となく発生すると、いくつかのメモリブロック123において無効データの占める割合が高くなる。メモリブロック123は有限であり、データの書き込みが進んでいくと、空きブロックがなくなるので、無効データが格納されているページを再利用するための処理がメモリシステム1において内部的に実行される。この処理は、ガベージコレクションやコンパクションなどと称される。図8(B)は、ガベージコレクション(コンパクション)の概要を示している。
【0057】
図8(B)には、a、b、c、d、eの5ページに有効データが格納されているメモリブロック123と、f、g、h、iの4ページに有効データが格納されているメモリブロック123と、j、k、lの3ページに有効データが格納されているメモリブロック123とが存在する状況が示されている。なお、各メモリブロック123のアルファベットが記されていないページは、無効データが格納されているページである。
【0058】
ガベージコレクションは、N個のメモリブロック123中の有効データをN個未満のメモリブロック123に移動させることにより、1個以上の空きのメモリブロック123を作成する。図8(B)には、3個のメモリブロック123中の有効データを1個のメモリブロック123に書き写す例が示されている。この場合、2個(=3個-1個)の空きのメモリブロック123(フリーブロック)が作成されることになる。
【0059】
このガベージコレクションにおけるデータの書き写しの際、メモリシステム1は、2ステップ目のプログラムのタイミング制御を実行する。ガベージコレクションは、メモリシステム1が内部的に実行する、応答性が求められない処理であるため、2ステップ目のプログラムの実行を保留することが許容される。
【0060】
以上のように、第1実施形態のメモリシステム1は、2ステッププログラムキューイング制御部111による2ステップ目のプログラムのタイミング制御により、データリテンションによる信頼性悪化を抑制することができる。
【0061】
(第2実施形態)
次に、第2実施形態について説明する。
【0062】
第1実施形態のメモリシステム1においては、たとえば、ワード線が162本、ストリングが5本の3次元構造のメモリセルアレイの場合、162本のすべてのワード線の各ストリングに対する2ステップ目のプログラムについて、1ステップ目のプログラムからの経過時間が閾値未満とならないように、2ステッププログラムキューイング制御部111がタイミング制御を実行する。
【0063】
これに対して、第2実施形態のメモリシステム1においては、BERが高いワード線があらかじめ明らかになっていることを前提として、そのワード線についてのみ、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムのタイミング制御を実行する。
【0064】
図9は、第2実施形態のメモリシステム1における2ステッププログラムキューイング制御部111が実行する2ステップ目のプログラムのタイミング制御の手順を示すフローチャートである。
【0065】
図9に示すフローチャートは、第1実施形態で参照した図6に示したフローチャートのS205とS206との間に、2ステップ目のプログラムの対象のワード線についてBERが高いワード線か否かを判定する工程(S301)を挿入したものである。第2実施形態のメモリシステム1における2ステッププログラムキューイング制御部111は、BERが高いワード線か否かを判定し(S301)、BERが高いワード線である場合は(S301:YES)、第1実施形態の場合と同様、2ステップ目のプログラムのタイミング制御(S206からS208)を実行する。一方、BERが高いワード線ではない場合は(S301:NO)、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムのタイミング制御(S206からS208)をスキップし、その2ステップ目のプログラムを実行する。
【0066】
ここでは、分かり易くするために、BERが高いワード線が、たとえば0から161の162本のワード線の中の61~70の10本のように番号が連続している場合を例に挙げている。この場合、S301の「a」は「60」であり、「b」は「71」である。S301の判定式は、あらかじめ明らかになっているBERが高いワード線の番号に応じて作成すればよい。
【0067】
また、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムのタイミング制御を実行するか否かを、ワード線のみではなく、さらにストリングを考慮して判定してもよい。この場合、S301の判定式を、ストリングの番号も組み合わせて作成すればよい。
【0068】
さらに、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムのタイミング制御を実行するか否かではなく、1ステップ目のプログラム後の調整時間を制御してもよい。たとえば、2ステッププログラムキューイング制御部111は、BERが高いワード線である判定した場合、1ステップ目のプログラム後の経過時間が第1閾値未満で2ステップ目のプログラムが実行されないように2ステップ目のプログラムのタイミング制御を実行する。一方、BERが高いワード線ではないと判定した場合、2ステッププログラムキューイング制御部111は、1ステップ目のプログラム後の経過時間が第1閾値よりも短い第2閾値未満で2ステップ目のプログラムが実行されないように2ステップ目のプログラムのタイミング制御を実行する。
【0069】
以上のように、第2実施形態のメモリシステム1においては、データリテンションによる信頼性悪化を抑制し、かつ、応答性の悪化を必要最小限に止めることができる。
【0070】
(第3実施形態)
次に、第3実施形態について説明する。
【0071】
第3実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、あるワード線の、あるストリングに対して2ステップ目のプログラムを実行しようとした際、1ステップ目のプログラムから一定時間未経過であった場合、次のワード線の、次のストリングに対する1ステップ目のプログラムを先行して実行する。
【0072】
図10は、メモリブロック123内のメモリセルへプログラムする順の一例を示す図である。
【0073】
図10の左側は、ワード線1の1ステップ目のプログラムと、ワード線0の2ステップ目のプログラムが交互に実行された後、ワード線2のストリング0に対する1ステップ目のプログラムが実行された場合を示している。この場合、図10の右側に示すように、ワード線1のストリング0に対する2ステップ目のプログラムを次に実行することが予定される。
【0074】
図11は、ワード線1のストリング0に対する2ステップ目のプログラムを次に実行することが予定される状況下において、ワード線1のストリング0に対して実行された1ステップ目のプログラムからの経過時間が一定時間未満である場合の第3実施形態のメモリシステム1におけるプログラム順の一例を示す図である。
【0075】
図11の左側は、ワード線1のストリング0に対して2ステップ目のプログラムを実行しようとしたところ、1ステップ目のプログラム後から一定時間未経過であった場合を示している。この場合、第3実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、図11の右側に示すように、ワード線2のストリング1に対する1ステップ目のプログラムを先に実行する。
【0076】
ワード線1のストリング0に対する2ステップ目のプログラムの待機時間を、ワード線2のストリング1に対する1ステップ目のプログラムに充てることで、応答性の悪化を低減することができる。また、ワード線2のストリング1に対する2ステップ目のプログラムを実行する際、1ステップ目のプログラムから既に一定時間が経過している可能性を高めることができる。
【0077】
図12は、第3実施形態のメモリシステム1における2ステッププログラムキューイング制御部111が実行する2ステップ目のプログラムのタイミング制御の手順を示すフローチャートである。
【0078】
2ステッププログラムキューイング制御部111は、ライト(書き込み)先アドレスを取得する(S401)。2ステッププログラムキューイング制御部111は、取得したアドレスに基づき、ライト先に対するプログラムが1ステップ目か否かを判定する(S402)。1ステップ目の場合(S402:YES)、2ステッププログラムキューイング制御部111は、1ステップ目のプログラムを実行する(S403)。その際、2ステッププログラムキューイング制御部111は、時刻を取得して記録する(S404)。
【0079】
一方、1ステップ目ではなく、2ステップ目の場合(S402:NO)、2ステッププログラムキューイング制御部111は、1ステップ目からの経過時間を取得する(S405)。そして、2ステッププログラムキューイング制御部111は、1ステップ目からの経過時間が閾値を超えているか否かを判定する(S406)。
【0080】
閾値を超えていない場合(S406:NO)、2ステッププログラムキューイング制御部111は、次の1ステップ目のライト先アドレスを取得する(S407)。2ステッププログラムキューイング制御部111は、取得したアドレスに基づき、1ステップ目のプログラムを実行する(S408)。この時も、2ステッププログラムキューイング制御部111は、時刻を取得して記録する(S409)。なお、S404およびS409で取得される時刻は、ライト先アドレスを識別可能に記録される。
【0081】
閾値を超えている場合は(S406:YES)、2ステッププログラムキューイング制御部111は、S401で取得したアドレスのライト先に対する2ステップ目のプログラムを実行する(S410)。
【0082】
以上のように、第3実施形態のメモリシステム1においても、第2実施形態のメモリシステム1と同様に、データリテンションによる信頼性悪化を抑制し、かつ、応答性の悪化を低減することができる。
【0083】
(第4実施形態)
次に、第4実施形態について説明する。
【0084】
第3実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、必要に応じて、同一メモリブロック123内での2ステップ目のプログラムと1ステップ目のプログラムとの順序の入れ替えを行う。
【0085】
これに対して、第4実施形態のメモリシステム1においては、1ステップ目のプログラムと2ステップ目のプログラムとの間に一定時間以上確保されない状況にある場合、2ステッププログラムキューイング制御部111は、同一メモリチップ121内の複数のメモリブロック123を跨いで書き込みが進むようにプログラム順を変更する。
【0086】
図13は、メモリブロック123ごとに書き込みを進めていくプログラム順の一例を示す図である。
【0087】
図13に示すプログラム順の一例は、たとえば、書き込み対象のメモリブロック123内において、ワード線2に対する1ステップ目のプログラムとワード線1に対する2ステップ目のプログラムとを交互に実行し、次に、ワード線3に対する1ステップ目のプログラムとワード線2に対する2ステップ目のプログラムとを交互に実行する、というものである。
【0088】
第3実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、たとえば、ワード線2、ストリング0に対する2ステップ目のプログラムを実行しようとした際、1ステップ目のプログラムから一定時間未経過であった場合、ワード線3、ストリング1に対する1ステップ目のプログラムを先行して実行する。ワード線3、ストリング1に対する1ステップ目のプログラム後も、ワード線2、ストリング0に対する1ステップ目のプログラムから一定時間未経過であった場合、2ステッププログラムキューイング制御部111は、さらに、ワード線3、ストリング2に対する1ステップ目のプログラムを先行して実行する。
【0089】
これに対して、第4実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、1ステップ目のプログラムと2ステップ目のプログラムとの間に一定時間以上確保されないことを検知した場合、同一メモリチップ121内の複数のメモリブロック123を跨いで書き込みが進むようにプログラム順を変更する。
【0090】
図14は、第4実施形態のメモリシステム1における2ステッププログラムキューイング制御部111によるプログラム順の変更の一例を示す図である。
【0091】
2ステッププログラムキューイング制御部111は、ブロック0のワード線0に対する1ステップ目のプログラムを実行すると、次に、ブロック1のワード線0に対する1ステップ目のプログラムを実行する。2ステッププログラムキューイング制御部111は、ブロック1のワード線0に対する1ステップ目のプログラムに続いて、今度は、ブロック2のワード線0に対する1ステップ目のプログラムを実行する。2ステッププログラムキューイング制御部111は、同一メモリチップ121内のブロックを対象として、ワード線0に対する1ステップ目のプログラムを進めていく。
【0092】
同一メモリチップ121内において、ワード線0に対する1ステップ目のプログラムがメモリブロック123を跨いで進められると、ブロック0のワード線0に対する1ステップ目のプログラムからの経過時間が一定時間を超えるので、2ステッププログラムキューイング制御部111は、続いて、各メモリブロック123について、ワード線0に対する2ステップ目のプログラムを実行していく。
【0093】
つまり、第4実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムが1ステップ目のプログラムから一定時間経過後になるようにプログラム順を変更する。
【0094】
第4実施形態のメモリシステム1においては、データリテンションによる信頼性悪化を抑制し、かつ、応答性の悪化を防止することができる。
【0095】
(第5実施形態)
次に、第5実施形態について説明する。
【0096】
第5実施形態のメモリシステム1は、第4実施形態のメモリシステム1におけるプログラム順の変更の一応用例である。
【0097】
メモリシステム1の一運用例として、複数のダイ122のそれぞれから1つずつメモリブロック123を選択して論理ブロックを作成することがある。図15は、論理ブロックを作成する場合における論理ブロックごとに書き込みを進めていくプログラム順の一例を示す図である。図15(A)には、ダイ122-0、ダイ122-1、ダイ122-2の3つのダイ122のそれぞれから1つずつ選択された3つのメモリブロック123(選択メモリブロック)で論理ブロックが作成されている場合の例が示されている。
【0098】
図15(A)に示すプログラム順の一例は、たとえば、書き込み対象の論理ブロック内において、ワード線2に対する1ステップ目のプログラムとワード線1に対する2ステップ目のプログラムとを交互に実行し、次いで、ワード線3に対する1ステップ目のプログラムとワード線2に対する2ステップ目のプログラムとを交互に実行する、というものである。ある論理ブロックに対するプログラムが完了したら、図15(B)に示すフリー論理ブロックプールから空き論理ブロックが1つ選択されて、同様の手順でプログラムが進められる。
【0099】
これに対して、第5実施形態のメモリシステム1においては、2ステッププログラムキューイング制御部111は、複数の論理ブロックを跨いで書き込みが進むようにプログラム順を変更する。
【0100】
図16は、第5実施形態のメモリシステム1における2ステッププログラムキューイング制御部111によるプログラム順の変更の一例を示す図である。
【0101】
2ステッププログラムキューイング制御部111は、たとえば図16(A)に示す2つの論理ブロックを書き込み対象論理ブロックとして選択する。2ステッププログラムキューイング制御部111は、論理ブロック0のワード線0に対する1ステップ目のプログラムを実行すると、次に、論理ブロック1のワード線0に対する1ステップ目のプログラムを実行する。
【0102】
選択した2つの論理ブロック内において、ワード線0に対する1ステップ目のプログラムが論理ブロックを跨いで進められると、論理ブロック0のワード線0に対する1ステップ目のプログラムからの経過時間が一定時間を超えるので、2ステッププログラムキューイング制御部111は、続いて、各論理ブロックについて、ワード線0に対する2ステップ目のプログラムを実行していく。選択した2つの論理ブロックに対するプログラムが完了したら、図16(B)に示すフリー論理ブロックプールから空き論理ブロックが2つ選択されて、同様の手順でプログラムが進められる。
【0103】
つまり、第5実施形態のメモリシステム1においても、第4実施形態のメモリシステム1と同様に、2ステッププログラムキューイング制御部111は、2ステップ目のプログラムが1ステップ目のプログラムから一定時間経過後になるようにプログラム順を変更する。
【0104】
したがって、第5実施形態のメモリシステム1においても、データリテンションによる信頼性悪化を抑制し、かつ、応答性の悪化を防止することができる。
【0105】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0106】
1…メモリシステム、2…ホスト、11…メモリコントローラ、12…NANDメモリ、12A…SLCバッファ、12B…QLC領域、13…DRAM、14…ECC回路、110…CPU、111…2ステッププログラムキューイング制御部、112…キュー、113…メモリインタフェース、121…メモリチップ、122…ダイ、123…メモリブロック、131…プログラム時刻保存領域、132…コマンド保存領域。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16