JP2022038210A - メモリシステム及びメモリシステムの制御方法 - Google Patents
メモリシステム及びメモリシステムの制御方法 Download PDFInfo
- Publication number
- JP2022038210A JP2022038210A JP2020142585A JP2020142585A JP2022038210A JP 2022038210 A JP2022038210 A JP 2022038210A JP 2020142585 A JP2020142585 A JP 2020142585A JP 2020142585 A JP2020142585 A JP 2020142585A JP 2022038210 A JP2022038210 A JP 2022038210A
- Authority
- JP
- Japan
- Prior art keywords
- write
- memory
- channel
- data
- progress
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 306
- 238000000034 method Methods 0.000 title claims abstract description 211
- 238000012545 processing Methods 0.000 claims abstract description 132
- 230000008569 process Effects 0.000 claims description 205
- 230000008859 change Effects 0.000 claims description 7
- 238000013523 data management Methods 0.000 description 57
- 238000007726 management method Methods 0.000 description 49
- 238000010586 diagram Methods 0.000 description 21
- 208000003173 lipoprotein glomerulopathy Diseases 0.000 description 18
- 101150108666 LPG3 gene Proteins 0.000 description 13
- 101100511529 Leishmania donovani LPG1 gene Proteins 0.000 description 12
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 11
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 11
- 230000004044 response Effects 0.000 description 9
- 102220554706 Holliday junction recognition protein_S30T_mutation Human genes 0.000 description 8
- 102220490364 S-adenosylhomocysteine hydrolase-like protein 1_S80A_mutation Human genes 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 102220309810 rs1553327809 Human genes 0.000 description 6
- 102220476563 NF-kappa-B inhibitor alpha_S32A_mutation Human genes 0.000 description 5
- 102220534424 Pseudouridylate synthase 7 homolog-like protein_S34A_mutation Human genes 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 102220490348 S-adenosylhomocysteine hydrolase-like protein 1_S90A_mutation Human genes 0.000 description 4
- 102220611247 Testicular haploid expressed gene protein-like_S90C_mutation Human genes 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 102220492451 2'-5'-oligoadenylate synthase 3_S31A_mutation Human genes 0.000 description 3
- 102220534543 Pseudouridylate synthase 7 homolog-like protein_S35A_mutation Human genes 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 102220293834 rs1553603207 Human genes 0.000 description 3
- 102220005308 rs33960931 Human genes 0.000 description 3
- 102220062469 rs786203185 Human genes 0.000 description 3
- 102220573299 Coiled-coil domain-containing protein 92_S70C_mutation Human genes 0.000 description 2
- 102220490407 S-adenosylhomocysteine hydrolase-like protein 1_S70A_mutation Human genes 0.000 description 2
- 102200081478 rs121908458 Human genes 0.000 description 2
- 102220064657 rs786205565 Human genes 0.000 description 2
- 102220492455 2'-5'-oligoadenylate synthase 3_S36A_mutation Human genes 0.000 description 1
- 102220471486 Protein MON2 homolog_S36C_mutation Human genes 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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
Description
第1実施形態について説明する。以下では、不揮発性メモリとしてNAND型フラッシュメモリを含むメモリシステムについて説明する。
1.1.1 メモリシステム
(メモリシステムの全体構成)
まず、メモリシステム1を含む全体構成について、図1を用いて説明する。
図3は、第1実施形態に係るNANDフラッシュメモリに割り当てられるメモリ空間の一例を示すブロック図である。
図5は、第1実施形態に係るメモリコントローラのライト処理に関する機能構成を示すブロック図である。図5に示すように、メモリコントローラ30において、ライト処理を実行する際、プロセッサ31は、ホストライトコマンド処理部310、CNTライトコマンド発行部320、NANDパラメタ処理部340、及び論理ブロック管理部350として機能し、バッファメモリ33は、ライトバッファ330として機能する。
次に、第1実施形態に係るメモリシステムのNANDチップの構成について説明する。
次に、第1実施形態に係るメモリシステムの動作について説明する。
図9は、第1実施形態に係るメモリシステムにおけるライト処理の概要を示す模式図である。図9では、或る論理ブロックLBLK内の複数の論理ページLPGにわたって(論理ページLPG0、LPG1、LPG2、…の順に)ライト処理が実行される場合が示される。
次に、第1実施形態に係るメモリシステムにおけるライト処理について、図10及び図11に示すフローチャートを用いて説明する。
図12は、第1実施形態に係るメモリシステムにおけるライト処理を示すコマンドシーケンス及びタイミングチャートである。図12では、ライト処理の際の信号DQ及び/RBと、当該信号の通信に応じて選択ワード線WLselに印加される電圧が示される。ここで、選択ワード線WLselとは、ライト処理の対象となるメモリセルトランジスタMTに接続されたワード線WLである。また、図12(A)及び図12(B)ではそれぞれ、図11のS34に対応するライト処理(ライトデータを書き込む場合)、及びS32に対応するライト処理(NULLデータを書き込む場合)が示される。
第1実施形態によれば、複数のライト処理がチャネルCH0~CH3に並行して実行される場合、ライト進捗管理部311は、ライト処理が完了するたびに進捗管理テーブル313を更新する。ライトデータ管理部312及びNANDパラメタ処理部340は、進捗が更新されたチャネルCHよりも閾値以上多いライト完了論理ページ数のチャネルCHがある場合、当該進捗が更新されたチャネルCHのライト時間上限値を減少させる。また、ライトデータ管理部312及びCNTライトコマンド発行部320は、進捗が更新されたチャネルCHよりも閾値以上多いライト完了論理ページ数のチャネルCHがある場合、当該進捗が更新されたチャネルCHに対してNULLデータの書き込む旨のCNTライトコマンドを発行する。これにより、チャネルCH間に生じるライト処理の進捗の差が閾値を超えることを抑制できる。このため、データのライト速度の低下を抑制することができる。
次に、第2実施形態に係るメモリシステムについて説明する。第1実施形態では、ライト処理の進捗が最も遅れているチャネルCHに対してNULLデータを書き込むことによって、進捗の差が閾値を超えることを抑制する場合について説明した。第2実施形態では、ライト処理の進捗が最も遅れているチャネルCHに対してライトデータを書き込みつつ、進捗の差が閾値を超えることを抑制する点において、第1実施形態と異なる。以下では、第1実施形態と同等の構成及び動作については説明を省略し、第1実施形態と異なる構成及び動作について主に説明する。
図15及び図16は、第2実施形態に係るメモリシステムにおけるライト処理を示すフローチャートであり、それぞれ第1実施形態における図10及び図11に対応する。
図17は、第2実施形態に係るメモリシステムにおけるライト処理を示すコマンドシーケンス及びタイミングチャートであり、第1実施形態における図12(B)に対応する。すなわち、図17では、図16のS32Aに対応するライト処理(通常より多い量のパリティが付与されたライトデータを書き込む場合)が示される。なお、図16のS34Aに対応するライト処理は、図12(A)と同等であるため、図示が省略される。
第2実施形態によれば、ライトデータ管理部312及びNANDパラメタ処理部340は、進捗が更新されたチャネルCHよりも閾値以上多いライト完了論理ページ数のチャネルCHがある場合、当該進捗が更新されたチャネルCHのライト時間上限値を減少させる。このため、第1実施形態と同様に、チャネルCH間の進捗の差が閾値を超えることを抑制できる。
次に、第3実施形態に係るメモリシステムについて説明する。第3実施形態では、ライト処理の進捗が最も遅れているチャネルCHのライトモードを変更することにより、進捗の差が閾値を超えることを抑制する点において、第1実施形態及び第2実施形態と異なる。以下では、第1実施形態と同等の構成及び動作については説明を省略し、第1実施形態と異なる構成及び動作について主に説明する。
図18及び図19は、第3実施形態に係るメモリシステムにおけるライト処理を示すフローチャートであり、それぞれ第1実施形態における図10及び図11に対応する。
図20は、第3実施形態に係るメモリシステムにおけるライト処理を示すコマンドシーケンス及びタイミングチャートであり、第1実施形態における図12(B)に対応する。すなわち、図20では、図19のS32Bに対応するライト処理(SLCモードが適用された場合)が示される。なお、図19のS34Bに対応するライト処理は、図12(A)と同等であるため、図示が省略される。
第3実施形態によれば、ライトデータ管理部312及びCNTライトコマンド発行部320は、進捗が更新されたチャネルCHよりも閾値以上多いライト完了論理ページ数のチャネルCHがある場合、当該進捗が更新されたチャネルCHに対してSLCモードを適用する旨のCNTライトコマンドを発行する。これにより、第1実施形態と同様に、チャネルCH間の進捗の差が閾値を超えることを抑制できる。
なお、上述の実施形態は、種々の変形が可能である。
例えば、上述の第1実施形態及び第2実施形態では、進捗が更新されたチャネルCHのライト時間上限値を減少させることにより、チャネルCH間の進捗の差を調整する場合について説明したが、これに限られない。例えば、進捗が更新されたチャネルCHのライト時間上限値を増加させることにより、チャネルCH間の進捗の差を調整してもよい。
また、上述の第1実施形態乃至第3実施形態では、通常におけるライト処理の設定として、TLCモードが適用される場合について説明したが、これに限られない。例えば、NANDフラッシュメモリ10には、通常におけるライト処理の設定として、MLCモード、又は4ビット以上のデータを記憶するライトモードが適用されてもよい。
Claims (8)
- 各々が複数のメモリセルを含む第1不揮発性メモリ及び第2不揮発性メモリと、
前記第1不揮発性メモリに対してシーケンシャルに実行される複数のライト処理の第1セットと、前記第2不揮発性メモリに対してシーケンシャルに実行される複数のライト処理の第2セットと、を並行して実行するように構成されたメモリコントローラと、
を備え、
前記メモリコントローラは、
前記並行して実行される前記複数のライト処理の第1セットと前記複数のライト処理の第2セットとの間の進捗の差に基づいて、前記複数のライト処理の第1セット及び前記複数のライト処理の第2セットのうちの少なくとも1つの未実行のライト処理の設定を変更するように構成された、
メモリシステム。 - 前記進捗の差は、前記複数のライト処理の第1セットのうち実行が完了したライト処理の数に対応する第1数と、前記複数のライト処理の第2セットのうち実行が完了したライト処理の数に対応する第2数と、の差を含む、
請求項1記載のメモリシステム。 - 前記設定を変更することは、ライト処理に要する時間の上限値を変更することを含み、
前記メモリコントローラは、前記第1数が前記第2数に対して閾値以上の場合、前記複数のライト処理の第2セットのうちの少なくとも1つの未実行のライト処理に要する時間の第1上限値を、実行済みのライト処理に要する時間の第2上限値よりも小さくするように構成された、
請求項2記載のメモリシステム。 - 前記設定を変更することは、前記第1不揮発性メモリ又は前記第2不揮発性メモリに書き込まれるデータ内容を変更することを更に含み、
前記メモリコントローラは、前記第1数が前記第2数に対して閾値以上の場合、前記複数のライト処理の第2セットのうちの少なくとも1つの未実行のライト処理において、前記第2不揮発性メモリにNULLデータを書き込むように構成された、
請求項2記載のメモリシステム。 - 前記設定を変更することは、誤りビット数上限値を変更することを更に含み、
前記メモリコントローラは、前記第1数が前記第2数に対して閾値以上の場合、前記複数のライト処理の第2セットのうちの少なくとも1つの未実行のライト処理における誤りビット数上限値を、実行済みのライト処理における誤りビット数上限値よりも大きくするように構成された、
請求項2記載のメモリシステム。 - 前記設定を変更することは、ライト処理に要する時間の上限値を変更することを含み、
前記メモリコントローラは、前記第1数が前記第2数に対して閾値以上の場合、前記複数のライト処理の第1セットのうちの少なくとも1つの未実行のライト処理に要する時間の第1上限値を、実行済みのライト処理に要する時間の第2上限値よりも大きくするように構成された、
請求項2記載のメモリシステム。 - 前記設定を変更することは、前記第1不揮発性メモリ又は前記第2不揮発性メモリ内の前記複数のメモリセルそれぞれに書き込まれるデータのビット数を変更することを含み、
前記メモリコントローラは、前記第1数が前記第2数に対して閾値以上の場合、前記複数のライト処理の第2セットのうちの少なくとも1つの未実行のライト処理において前記第2不揮発性メモリ内の複数のメモリセルそれぞれに書き込まれるデータのビット数を、実行済みのライト処理において前記第2不揮発性メモリ内の複数のメモリセルそれぞれに書き込まれるデータのビット数より少なくするように構成された、
請求項2記載のメモリシステム。 - 各々が複数のメモリセルを含む第1不揮発性メモリ及び第2不揮発性メモリを備えたメモリシステムの制御方法であって、
前記第1不揮発性メモリに対してシーケンシャルに実行される複数のライト処理の第1セットと、前記第2不揮発性メモリに対してシーケンシャルに実行される複数のライト処理の第2セットと、を並行して実行することと、
前記並行して実行される前記複数のライト処理の第1セットと前記複数のライト処理の第2セットとの間の進捗の差に基づいて、前記複数のライト処理の第1セット及び前記複数のライト処理の第2セットのうちの少なくとも1つの未実行のライト処理の設定を変更することとを備えた、
メモリシステムの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020142585A JP2022038210A (ja) | 2020-08-26 | 2020-08-26 | メモリシステム及びメモリシステムの制御方法 |
US17/147,519 US11645001B2 (en) | 2020-08-26 | 2021-01-13 | Memory system and controlling method of memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020142585A JP2022038210A (ja) | 2020-08-26 | 2020-08-26 | メモリシステム及びメモリシステムの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022038210A true JP2022038210A (ja) | 2022-03-10 |
Family
ID=80358514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020142585A Pending JP2022038210A (ja) | 2020-08-26 | 2020-08-26 | メモリシステム及びメモリシステムの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11645001B2 (ja) |
JP (1) | JP2022038210A (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101515525B1 (ko) | 2008-10-02 | 2015-04-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
JP2010152778A (ja) | 2008-12-26 | 2010-07-08 | Hitachi Ulsi Systems Co Ltd | 半導体記憶装置 |
US9741436B2 (en) | 2010-07-09 | 2017-08-22 | Seagate Technology Llc | Dynamically controlling an operation execution time for a storage device |
US10002086B1 (en) * | 2016-12-20 | 2018-06-19 | Sandisk Technologies Llc | Multi-channel memory operations based on bit error rates |
JP7013294B2 (ja) | 2018-03-19 | 2022-01-31 | キオクシア株式会社 | メモリシステム |
-
2020
- 2020-08-26 JP JP2020142585A patent/JP2022038210A/ja active Pending
-
2021
- 2021-01-13 US US17/147,519 patent/US11645001B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11645001B2 (en) | 2023-05-09 |
US20220066684A1 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3938309B2 (ja) | リードディスターブを緩和したフラッシュメモリ | |
KR101460826B1 (ko) | 플래시 메모리용 부분 블록 소거 구조 | |
US7679965B2 (en) | Flash memory with improved programming precision | |
US8966163B2 (en) | Non-volatile memory device and method for programming the same | |
US11410732B2 (en) | Memory system having semiconductor memory device that performs verify operations using various verify voltages | |
KR100721062B1 (ko) | 멀티레벨 메모리 내의 일부 메모리 블록을 바이너리 메모리블록으로 이용하는 비휘발성 반도체 메모리 장치 | |
TWI602187B (zh) | Semiconductor memory devices and memory systems | |
JP5196965B2 (ja) | 不揮発性半導体記憶装置 | |
KR20100010355A (ko) | 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법 | |
CN111798901A (zh) | 页缓冲器、具有页缓冲器的存储器装置及其操作方法 | |
JP2017054561A (ja) | 半導体記憶装置及びメモリシステム | |
US20210064274A1 (en) | Memory system, memory controller, and operation method | |
KR20210057355A (ko) | 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법 | |
TW201546810A (zh) | Nand型快閃記憶體及其程式化方法 | |
JP2021111259A (ja) | メモリシステムとその制御方法 | |
KR20110001098A (ko) | 불휘발성 메모리 소자의 프로그램 방법 | |
JP2010108548A (ja) | 不揮発性半導体記憶装置とその制御方法 | |
US11237767B2 (en) | Memory system, memory controller and method for operating memory controller | |
JP2022038210A (ja) | メモリシステム及びメモリシステムの制御方法 | |
US11182108B2 (en) | Memory system, memory controller, and operation method | |
US11544204B2 (en) | Memory system, memory controller and method for operating memory controller | |
JP2009015977A (ja) | 不揮発性半導体メモリとそれを用いた記憶装置 | |
KR20240066720A (ko) | 소거 상태의 메모리 셀들을 검증하는 메모리 장치 및 그것의 동작 방법 | |
KR20240015986A (ko) | 메모리 컨트롤러, 메모리 컨트롤러를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
JP2022046887A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240618 |