JP2022147448A - メモリシステム及びデータ管理方法 - Google Patents
メモリシステム及びデータ管理方法 Download PDFInfo
- Publication number
- JP2022147448A JP2022147448A JP2021048688A JP2021048688A JP2022147448A JP 2022147448 A JP2022147448 A JP 2022147448A JP 2021048688 A JP2021048688 A JP 2021048688A JP 2021048688 A JP2021048688 A JP 2021048688A JP 2022147448 A JP2022147448 A JP 2022147448A
- Authority
- JP
- Japan
- Prior art keywords
- block
- memory
- plane
- management
- memory chip
- 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
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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0658—Controller construction arrangements
-
- 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/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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5622—Concurrent multilevel programming of more than one cell
Abstract
【課題】処理能力を向上する。【解決手段】実施形態によれば、メモリシステムは、第1ブロックBLK及び第2ブロックを有する第1プレーンPLN0と、第3ブロック及び第4ブロックを有する第2プレーンPLN1とを含む第1メモリチップCP0と、第5ブロック及び第6ブロックを有する第3プレーンPLN0と、第7ブロック及び第8ブロックを有する第4プレーンPLN1とを含む第2メモリチップCP1とを含む。メモリコントローラは、ユーザデータの記憶領域として、第1ブロックと第3ブロックとの組み合わせを第1グループBUとして設定し、第5ブロックと第7ブロックとの組み合わせを第2グループBUとして設定し、管理データの記憶領域として、第2ブロック、第4ブロック、第6ブロック、及び第8ブロックを設定する。【選択図】図4
Description
本発明の実施形態は、メモリシステム及びデータ管理方法に関する。
NAND型フラッシュメモリなどの不揮発性半導体メモリを搭載したSSD(Solid State Drive)を用いたメモリシステムが知られている。
本発明の実施形態では、処理能力を向上できるメモリシステム及びデータ管理方法を提供する。
実施形態に係るメモリシステムは、各々が複数のメモリセルを含む第1ブロック及び第2ブロックを有する第1メモリセルアレイを含む第1プレーンと、各々が複数のメモリセルを含む第3ブロック及び第4ブロックを有する第2メモリセルアレイを含む第2プレーンとを含む第1メモリチップと、各々が複数のメモリセルを含む第5ブロック及び第6ブロックを有する第3メモリセルアレイを含む第3プレーンと、各々が複数のメモリセルを含む第7ブロック及び第8ブロックを有する第4メモリセルアレイを含む第4プレーンとを含む第2メモリチップと、第1メモリチップ及び第2メモリチップを制御するメモリコントローラと、を含む。メモリコントローラは、外部から受信したユーザデータの記憶領域として、第1メモリチップにおける第1プレーンの第1ブロックと第2プレーンの第3ブロックとの組み合わせを第1グループとして設定し、第2メモリチップにおける第3プレーンの第5ブロックと第4プレーンの第7ブロックとの組み合わせを第2グループとして設定し、管理データの記憶領域として、第2ブロックと、第4ブロックと、第6ブロックと、第8ブロックとを設定する。
以下に、実施形態について図面を参照して説明する。図面は模式的なものである。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同様の構成を有する要素同士を区別するために用いられる。
以下に、実施形態に係るメモリシステムについて説明する。
1 構成
1.1 メモリシステムの構成
まず、図1を参照して、メモリシステム1の全体構成の一例について説明する。
1.1 メモリシステムの構成
まず、図1を参照して、メモリシステム1の全体構成の一例について説明する。
メモリシステム1は、少なくとも1つの記憶装置2を含む。記憶装置2は、例えばSSD(Solid State Drive)である。記憶装置2は、ホストデバイスに接続される。ホストデバイスは、メモリシステム1を制御する情報処理装置である。記憶装置2は、不揮発性メモリ10及びメモリコントローラ20を含む。
不揮発性メモリ10は、不揮発性のメモリである。
メモリコントローラ20は、例えば、SoC(System On a Chip)である。メモリコントローラ20は、ホストデバイスからの要求(命令)に基づいて、不揮発性メモリ10を制御する。メモリコントローラ20は、不揮発性メモリ10に、データの読み出し動作、書き込み動作、及び消去動作等を命令する。なお、メモリコントローラ20の各機能は専用回路で実現されてもよいし、プロセッサがファームウェアを実行することにより実現されてもよい。
次に、不揮発性メモリ10の内部構成について説明する。不揮発性メモリ10は、複数のメモリチップCPを含む。不揮発性メモリ10に含まれるメモリチップCPの個数は、任意である。図1において、不揮発性メモリ10は、16個のメモリチップCP0~CP15を含む。
メモリチップCPは、例えば、NAND型フラッシュメモリである。メモリチップCPは、データを不揮発に記憶することができる。複数のメモリチップCPは、互いに独立して動作することができる。メモリチップCPは、NANDバスNBを介して、メモリコントローラ20と接続される。なお、NANDバスNBの本数及び1つのNANDバスNBに接続されるメモリチップCPの個数は任意である。図1において、メモリチップCP0、CP1、CP2、及びCP3は、NANDバスNB0を介してメモリコントローラ20に接続される。メモリチップCP4、CP5、CP6、及びCP7は、NANDバスNB1を介してメモリコントローラ20に接続される。メモリチップCP8、CP9、CP10、及びCP11は、NANDバスNB2を介してメモリコントローラ20に接続される。メモリチップCP12、CP13、CP14、及びCP15は、NANDバスNB3を介してメモリコントローラ20に接続される。
次に、メモリコントローラ20の内部構成について説明する。メモリコントローラ20は、ホストインターフェイス回路210、プロセッサ(CPU;central processing unit)220、ROM(Read Only Memory)230、内蔵メモリ(RAM;Random Access Memory)240、バッファメモリ250、及びNANDインターフェイス回路260を含む。メモリコントローラ20内には、メモリバスMBが設けられている。ホストインターフェイス回路210、CPU220、ROM230、RAM240、バッファメモリ250、及びNANDインターフェイス回路260は、メモリバスMBに接続される。
ホストインターフェイス回路210は、ホストデバイスとの通信を司るハードウェアインターフェイスである。例えば、ホストインターフェイス回路210は、ホストデバイスから受信した命令をCPU220に転送する。ホストインターフェイス回路210は、ホストデバイスから受信したデータをバッファメモリ250に転送する。以下、ホストデバイスから受信したデータを、「ユーザデータ」と表記する。また、ホストインターフェイス回路210は、CPU220の命令に基づいて、バッファメモリ250内のデータ等をホストデバイスに転送する。
CPU220は、メモリコントローラ20の制御回路である。CPU220は、メモリコントローラ20全体の動作を制御する。より具体的には、CPU220は、ホストインターフェイス回路210、ROM230、RAM240、バッファメモリ250、及びNANDインターフェイス回路260を制御する。例えば、CPU220は、ホストデバイスから書き込み要求を受信する。CPU220は、書き込み要求に基づいて、書き込みコマンドを発行する。CPU220は、書き込みコマンドをNANDインターフェイス回路260に送信する。CPU220がホストデバイスから読み出し要求を受信した場合についても同様である。また、CPU220は、不揮発性メモリ10のメモリ空間を管理する。
ROM230は、読み出し専用の半導体メモリである。ROM230には、ファームウェア(制御プログラム)等が記憶されている。ファームウェアは、CPU220により実行される。
RAM240は、例えば、DRAM(Dynamic Random Access Memory)等の半導体メモリである。例えば、RAM240には、ROM230から読み出されたファームウェアが展開される。また、RAM240は、CPU220の作業領域として使用される。
RAM240には、キャッシュ領域が設けられている。キャッシュ領域は、例えば管理データが一時的に記憶される領域である。管理データは、記憶装置2に関わる情報である。記憶装置2に関わる情報とは、例えば、各種制御プログラム、メモリチップCPの情報、各種設定パラメータ、及び各種テーブルである。各種テーブルには、ユーザデータ用テーブル及び管理データ用テーブルが含まれる。ユーザデータ用テーブルは、ユーザデータの管理に用いられる。管理データ用テーブルは、管理データの管理に用いられる。例えば、ユーザデータ用テーブル及び管理データ用テーブルは、電源投入時に、管理データとして、不揮発性メモリ10からRAM240に読み出される。例えば、RAM240内のユーザデータ用テーブル及び管理データ用テーブルが更新された場合、ユーザデータ用テーブル及び管理データ用テーブルは、管理データとして、不揮発性メモリ10に送信される。
バッファメモリ250は、揮発性の半導体メモリである。バッファメモリ250は、読み出しデータ及び書き込みデータ等を一時的に記憶する。読み出しデータは、不揮発性メモリ10から読み出されたデータである。書き込みデータは、不揮発性メモリ10への書き込みを要求されたデータである。
NANDインターフェイス回路260は、メモリコントローラ20と不揮発性メモリ10との通信を司るハードウェアインターフェイスである。図1の例では、NANDインターフェイス回路260は、4つのチャネルCH0、CH1、CH2、及びCH3を有している。そして、チャネルCH0、CH1、CH2、及びCH3に4つのNANDバスNB0、NB1、NB2、及びNB3がそれぞれ接続されている。例えば、NANDインターフェイス回路260は、CPU220から、不揮発性メモリ10に対する命令を受信する。NANDインターフェイス回路260は、命令に基づいて、1つまたは複数のチャネルCHを選択する。NANDインターフェイス回路260は、書き込み動作時には、選択したチャネルCHを介して、不揮発性メモリ10に、書き込み動作の制御信号、コマンド、アドレス、及び書き込みデータを転送する。また、NANDインターフェイス回路260は、読み出し動作時には、選択したチャネルCHを介して、不揮発性メモリ10に、読み出し動作の制御信号、コマンド、及びアドレスを送信する。NANDインターフェイス回路260は、バッファメモリ250に、読み出しデータを転送する。
1.2 メモリチップの内部構成
次に、図2を参照してメモリチップCPの内部構成の一例について説明する。図2は、メモリチップCPの基本的な構成を示すブロック図である。なお、図2の例では、各ブロックの接続の一部を矢印線により示している。但し、各ブロック間の接続はこれに限定されない。
次に、図2を参照してメモリチップCPの内部構成の一例について説明する。図2は、メモリチップCPの基本的な構成を示すブロック図である。なお、図2の例では、各ブロックの接続の一部を矢印線により示している。但し、各ブロック間の接続はこれに限定されない。
メモリチップCPは、メモリコア部100と周辺回路部110とを含む。
メモリコア部100は、メモリチップCPにおける動作の中心部である。
周辺回路部110は、メモリコア部100の周辺に設けられた回路部である。
次に、メモリコア部100の内部構成について説明する。メモリコア部100は、例えば2つのプレーンPLN0及びPLN1を含む。なお、プレーンPLNは、2つに限定されない。プレーンPLNは、1つであってもよいし、3つ以上であってもよい。プレーンPLNは、データの書き込み動作及び読み出し動作を行うユニットである。プレーンPLN0及びPLN1は、互いに独立して動作することが可能である。また、プレーンPLN0及びPLN1は、並列に動作することも可能である。メモリチップCPにユーザデータを書き込む場合、メモリチップCP内の全てのプレーンPLNの書き込み動作が並列して実行される。また、メモリチップCPに管理データを書き込む場合、いずれか1つのプレーンPLNの書き込み動作が実行されてもよいし、複数のプレーンPLNの書き込み動作が並列して実行されてもよい。
次に、プレーンPLNの内部構成について説明する。以下では、プレーンPLN0及びPLN1が同じ構成である場合について説明する。なお、各プレーンPLNの構成は異なっていてもよい。各プレーンPLNは、メモリセルアレイ101、ロウデコーダ102、及びセンスアンプ103を含む。以下の説明では、プレーンPLN0に限定する場合、メモリセルアレイ101_0、ロウデコーダ102_0、及びセンスアンプ103_0と表記する。また、プレーンPLN1に限定する場合、メモリセルアレイ101_1、ロウデコーダ102_1、及びセンスアンプ103_1と表記する。
メモリセルアレイ101は、配列された複数のメモリセルトランジスタの集合である。メモリセルアレイ101は、例えば4つのブロックBLK0、BLK1、BLK2、及びBLK3を備えている。なお、メモリセルアレイ101内のブロックBLKの個数は任意である。ブロックBLKは、例えばデータを一括して消去される複数のメモリセルトランジスタの集合である。すなわち、ブロックBLKは、データの消去単位である。ブロックBLKの構成の詳細については後述する。
本実施形態のメモリセルアレイ101は、メモリの空間領域としてユーザ領域とシステム領域とを含む。ユーザ領域は、ユーザデータが記憶される領域である。システム領域は、管理データが記憶される領域である。システム領域は、ホストデバイスがアクセスできない領域である。本実施形態では、各ブロックBLKがユーザ領域またはシステム領域のいずれかに割り当てられる。ユーザ領域及びシステム領域の割り当てについては後述する。
以下の説明では、プレーンPLN0に限定する場合、ブロックBLK0、BLK1、BLK2、及びBLK3を、ブロックBLK0_0、BLK1_0、BLK2_0、及びBLK3_0とそれぞれ表記する。また、プレーンPLN1に限定する場合、ブロックBLK0、BLK1、BLK2、及びBLK3を、ブロックBLK0_1、BLK1_1、BLK2_1、及びBLK3_1とそれぞれ表記する。
ロウデコーダ102は、ロウアドレスのデコード回路である。ロウアドレスは、メモリコントローラ20から受信したアドレス情報である。ロウデコーダ102は、デコード結果に基づいて、メモリセルアレイ101内のいずれかのブロックBLKを選択する。ロウデコーダ102は、選択したブロックBLKのロウ方向の配線(後述するワード線及び選択ゲート線)に電圧を印加する。
センスアンプ103は、読み出し及び書き込み回路である。センスアンプ103は、読み出し動作時には、メモリセルアレイ101からデータを読み出す。また、センスアンプ103は、書き込み動作時には、メモリセルアレイ101に書き込みデータに応じた電圧を印加する。
次に、周辺回路部110の内部構成について説明する。周辺回路部110は、シーケンサ111及び電圧発生回路112を含む。
シーケンサ111は、メモリチップCPの制御回路である。シーケンサ111は、メモリチップCP全体の動作を制御する。より具体的には、シーケンサ111は、書き込み動作、読み出し動作、及び消去動作の際に、電圧発生回路112、並びに各プレーンPLNのロウデコーダ102及びセンスアンプ103等を制御する。
電圧発生回路112は、メモリチップCPが使用する電圧の発生回路である。電圧発生回路112は、書き込み動作、読み出し動作、及び消去動作に使用される電圧を発生させる。電圧発生回路112は、ロウデコーダ102及びセンスアンプ103等に、電圧を供給する。
1.3 メモリセルアレイの回路構成
次に、図3を参照して、メモリセルアレイ101の回路構成の一例について説明する。なお、図3の例は、1つのブロックBLKの回路構成を示している。
次に、図3を参照して、メモリセルアレイ101の回路構成の一例について説明する。なお、図3の例は、1つのブロックBLKの回路構成を示している。
ブロックBLKは、例えば4つのストリングユニットSU0~SU3を含む。なお、ブロックBLKに含まれるストリングユニットSUの個数は、任意である。ストリングユニットSUは、例えば、書き込み動作または読み出し動作において一括して選択される複数のNANDストリングNSの集合である。
次に、ストリングユニットSUの内部構成について説明する。ストリングユニットSUは、複数のNANDストリングNSを含む。NANDストリングNSは、直列に接続された複数のメモリセルトランジスタの集合である。以下、「NANDストリングNS」を「メモリストリング」とも表記する。ストリングユニットSU内の複数のNANDストリングNSは、ビット線BL0~BLn(nは1以上の整数)のいずれかに接続される。
次に、NANDストリングNSの内部構成について説明する。各NANDストリングNSは、複数のメモリセルトランジスタMC、並びに選択トランジスタST1及びST2を含む。図3の例では、NANDストリングNSは8個のメモリセルトランジスタMC0~MCを含む。
メモリセルトランジスタMCは、データを不揮発に記憶するメモリ素子である。メモリセルトランジスタMCは、制御ゲート及び電荷蓄積層を含む。メモリセルトランジスタMCは、MONOS(Metal-Oxide-Nitride-Oxide-Silicon)型であってもよいし、FG(Floating Gate)型であってもよい。MONOS型は、電荷蓄積層に絶縁層を用いる。FG型は、電荷蓄積層に導電体層を用いる。
選択トランジスタST1及びST2は、スイッチング素子である。選択トランジスタST1及びST2は、各種動作時におけるストリングユニットSUの選択にそれぞれ使用される。
NANDストリングNS内の選択トランジスタST2、メモリセルトランジスタMC0~MC7、及び選択トランジスタST1の電流経路は、直列に接続される。選択トランジスタST1のドレインは、ビット線BLに接続される。選択トランジスタST2のソースは、ソース線SLに接続される。
同一のブロックBLK内のメモリセルトランジスタMC0~MC7の制御ゲートは、それぞれワード線WL0~WL7に共通に接続される。より具体的には、例えば、ブロックBLKは、4つのストリングユニットSU0~SU3を含む。そして、各ストリングユニットSUは、複数のメモリセルトランジスタMC0をそれぞれ含む。ブロックBLK内の複数のメモリセルトランジスタMC0の制御ゲートは、1つのワード線WL0に共通に接続される。メモリセルトランジスタMC1~MC7も同様である。
ストリングユニットSU内の複数の選択トランジスタST1のゲートは、1つの選択ゲート線SGDに共通に接続される。より具体的には、ストリングユニットSU0内の複数の選択トランジスタST1のゲートは、選択ゲート線SGD0に共通に接続される。ストリングユニットSU1内の複数の選択トランジスタST1のゲートは、選択ゲート線SGD1に共通に接続される。ストリングユニットSU2内の複数の選択トランジスタST1のゲートは、選択ゲート線SGD2に共通に接続される。ストリングユニットSU3内の複数の選択トランジスタST1のゲートは、選択ゲート線SGD3に共通に接続される。
ブロックBLK内の複数の選択トランジスタST2のゲートは、選択ゲート線SGSに共通に接続される。
ワード線WL0~WL7、選択ゲート線SGD0~SGD3、及び選択ゲート線SGSは、プレーンPLN内のロウデコーダ102にそれぞれ接続される。
ビット線BLは、各ブロックBLKの各ストリングユニットSU内の1つのNANDストリングNSに共通に接続される。1つのビット線BLに接続された複数のNANDストリングNSには、同一のカラムアドレスが割り当てられる。各ビット線BLは、プレーンPLN内のセンスアンプ103に接続される。
ソース線SLは、例えば複数のブロックBLK間で共有される。
1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMCの集合は、例えば、「セルユニットCU」と表記される。例えば、メモリセルトランジスタMCが1ビットデータを記憶する場合、セルユニットCUの記憶容量は、「1ページデータ」として定義される。セルユニットCUは、メモリセルトランジスタMCが記憶するデータのビット数に基づいて、2ページデータ以上の記憶容量を有し得る。
2 データ管理
次に、メモリシステム1におけるデータ管理について説明する。本実施形態では、不揮発性メモリ10において、ユーザ領域(ユーザデータ)とシステム領域(管理データ)とでブロックBLKの管理方法が異なる。
次に、メモリシステム1におけるデータ管理について説明する。本実施形態では、不揮発性メモリ10において、ユーザ領域(ユーザデータ)とシステム領域(管理データ)とでブロックBLKの管理方法が異なる。
2.1 ユーザデータの管理方法
まず、図4及び図5を参照して、ユーザデータの管理の一例について説明する。図4は、ユーザ領域及びシステム領域に割り当てられるブロックBLKの構成の一例を示す図である。図5は、ユーザデータ用テーブルの一例である。
まず、図4及び図5を参照して、ユーザデータの管理の一例について説明する。図4は、ユーザ領域及びシステム領域に割り当てられるブロックBLKの構成の一例を示す図である。図5は、ユーザデータ用テーブルの一例である。
ホストデバイスは、ユーザデータの書き込み動作において、書き込み先のチャネルCH及びメモリチップCPを指定する場合がある。このような場合、メモリシステム1は、ホストデバイスから、メモリチップCPにおける最大の処理性能(処理速度)を期待されることがある。例えば、メモリチップCP内の全てのプレーンPLNが書き込み動作を並列に実行している場合に、メモリチップCPにおける処理速度が最大となる。以下、メモリチップCPにおいて、並列に動作を実行しているプレーンPLNの個数を「並列度」と表記する。このため、メモリコントローラ20は、処理速度を最大にできるように、各プレーンPLNのブロックBLKをユーザ領域に割り当てる。換言すれば、ユーザ領域では、並列度が最大となるように、ブロック管理単位が構成される。
図4に示すように、例えば、メモリチップCPが2つのプレーンPLN0及びPLN1を含んでいる場合、プレーンPLN0及びPLN1の書き込み動作を並列して実行する。これにより、メモリチップCPにおける処理速度を最大とすることができる。このため、メモリコントローラ20は、ユーザ領域では、ブロックユニットBUをブロック管理単位とする。ブロックユニットBUは、メモリチップCP内の全てのプレーンPLNから1個ずつ選択された複数のブロックBLKを1つの組(グループ)として構成される。従って、1つのブロックユニットBUに含まれるブロックBLKの個数は、メモリチップCP内のプレーンPLNの個数に依存する。図4の例では、ブロックユニットBUは、プレーンPLN0のいずれかのブロックBLKと、プレーンPLN1のいずれかのブロックBLKとを含む。また、例えば、メモリチップCPが3つのプレーンPLNを含んでいる場合、1つのブロックユニットBUには、各プレーンPLNから集められた3つのブロックBLKが含まれる。メモリコントローラ20は、ブロックユニットBUを構成する際に、有効ブロックBLKを選択する。有効ブロックBLKは、書き込み動作を正常に実行できるブロックBLKである。他方で、メモリコントローラ20は、ブロックユニットBUとして、バッドブロックBLKを選択しない。バッドブロックBLKは、書き込み動作を正常に実行できないため無効化されたブロックBLKである。
メモリコントローラ20は、ブロックユニットBUを選択して、ユーザデータの書き込み動作を実行する。これにより、メモリチップCPにおいて最大並列度による並列動作が実行できる。
なお、各メモリチップCPにおけるブロックユニットBUの個数は任意であり、それぞれで異なっていてもよい。図4の例では、各メモリチップCP内に、2個のブロックユニットBUが設けられている。
図5に示すように、メモリコントローラ20は、ユーザデータ用テーブルにおいて、例えば、ブロックユニットBU毎に管理IDを割り当てる。より具体的には、例えば、管理ID_0001には、チャネルCH0に接続されたメモリチップCP0のプレーンPLN0のブロックBLK0_0及びプレーンPLN1のブロックBLK0_1が割り当てられている。また、管理ID_0002には、チャネルCH0に接続されたメモリチップCP0のプレーンPLN0のブロックBLK1_0及びプレーンPLN1のブロックBLK1_1が割り当てられている。管理ID_0003には、チャネルCH0に接続されたメモリチップCP1のプレーンPLN0のブロックBLK0_0及びプレーンPLN1のブロックBLK0_1が割り当てられている。管理ID_0004には、チャネルCH0に接続されたメモリチップCP1のプレーンPLN0のブロックBLK1_0及びプレーンPLN1のブロックBLK1_1が割り当てられている。管理ID_0005には、チャネルCH0に接続されたメモリチップCP2のプレーンPLN0のブロックBLK1_0及びプレーンPLN1のブロックBLK0_1が割り当てられている。管理ID_0006には、チャネルCH0に接続されたメモリチップCP2のプレーンPLN0のブロックBLK2_0及びプレーンPLN1のブロックBLK1_1が割り当てられている。管理ID_0031には、チャネルCH3に接続されたメモリチップCP15のプレーンPLN0のブロックBLK0_0及びプレーンPLN1のブロックBLK0_1が割り当てられている。管理ID_0032には、チャネルCH3に接続されたメモリチップCP15のプレーンPLN0のブロックBLK1_0及びプレーンPLN1のブロックBLK1_1が割り当てられている。他の管理IDも同様である。
メモリコントローラ20は、例えばバッドブロックBLKが増加した場合等に、ユーザデータ用テーブルを更新し得る。より具体的には、例えば、ブロックユニットBU内の有効ブロックBLKがバッドブロックBLKとなった場合、メモリコントローラ20は、バッドブロックBLKを含むブロックユニットBUをユーザ領域からシステム領域に移行させる。このとき、メモリコントローラ20は、ユーザデータ用テーブル及び管理データ用テーブルを更新する。
メモリコントローラ20は、例えば、ホストデバイスからチャネルCH及びメモリチップCPを指定された書き込み要求を受信した場合、指定されたメモリチップCP内のブロックユニットBU(管理ID)を選択する。そして、メモリコントローラ20は、選択したブロックユニットBUへの書き込み動作を実行する。以下、選択したブロックユニットBUを「選択ブロックユニットBU」と表記する。より具体的には、例えば、メモリコントローラ20は、ホストデバイスからメモリチップCP0を指定した書き込み要求を受信する。この場合、メモリコントローラ20は、メモリチップCP0に対応する管理ID_0001及び0002のいずれかのブロックユニットBUを選択する。そして、メモリコントローラ20は、選択ブロックユニットBUへの書き込み動作を実行する。また、メモリコントローラ20は、ホストデバイスからメモリチップCPの指定がない書き込み要求を受信した場合、いずれかのメモリチップCPのいずれかのブロックユニットBU(管理ID)を選択する。そして、メモリコントローラ20は、選択ブロックユニットBUへの書き込み動作を実行する。
なお、メモリコントローラ20は、複数のチャネルCHの複数のメモリチップCP、または1つのチャネルCHの複数のメモリチップCPの書き込み動作を並列に実行し得る。この場合、メモリコントローラ20は、複数のブロックユニットBU(管理ID)を同時に選択し得る。これにより、メモリコントローラ20は、複数のメモリチップCPを用いた書き込み動作において最大並列度が得られる。
2.2 管理データの管理方法
次に、図4及び図6を参照して、管理データの管理の一例について説明する。図6は、システム領域における管理データ用テーブルである。
次に、図4及び図6を参照して、管理データの管理の一例について説明する。図6は、システム領域における管理データ用テーブルである。
管理データの書き込み動作は、ホストデバイスによる処理速度への影響が小さい。すなわち、管理データの書き込み動作は、ホストデバイスによるブロック管理単位(書き込み単位)の制約を受けない。従って、システム領域では、ブロックユニットBUが構成されなくてもよい。このため、本実施形態では、メモリコントローラ20は、システム領域において、ユーザ領域と異なるブロックBLKの管理を実行する。
図4に示すように、メモリチップCP内にバッドブロックBLKが発生すると、メモリチップCP内における、プレーンPLN0の有効ブロックBLKの個数と、プレーンPLN1の有効ブロックBLKの個数とが、一致しなくなる。この結果、有効ブロックBLKの個数が多いプレーンPLNでは、ブロックユニットBUの構成に用いることができない有効ブロックBLKが生じる。以下、ブロックユニットBUの構成に用いることができない有効ブロックBLKを「あぶれた有効ブロックBLK」と表記する。本実施形態では、メモリコントローラ20は、システム領域に、あぶれた有効ブロックBLK及びバッドブロックBLKを優先的に割り当てる。例えば、各メモリチップCPの各プレーンPLNの2つのブロックBLKをシステム領域にそれぞれ割り当てる。この場合、メモリチップCP0では、プレーンPLN1の1個のバッドブロックBLKと、プレーンPLN0の1個のあぶれた有効ブロックBLKとが、システム領域に優先的に割り当てられている。そして、メモリチップCP0では、各プレーンPLNの1個の有効ブロックBLKが更に割り当てられている。例えば、メモリチップCP1にはバッドブロックBLKがない。このため、各プレーンPLNの2個の有効ブロックBLKが、システム領域に割り当てられている。メモリチップCP2では、プレーンPLN0に2個のバッドブロックBLKがある。このため、プレーンPLN0の2個のバッドブロックBLKと、プレーンPLN1の2個のあぶれた有効ブロックBLKとが、システム領域に割り当てられている。メモリチップCP15では、プレーンPLN0に1個のバッドブロックBLKがある。このため、プレーンPLN0の1個のバッドブロックBLKと、プレーンPLN1の1個のあぶれた有効ブロックBLKとが、システム領域に優先的に割り当てられている。そして、メモリチップCP15では、各プレーンPLNの1個の有効ブロックBLKが更に割り当てられている。なお、図4の例では、メモリコントローラ20はバッドブロックBLKをシステム領域に割り当てている。しかし、バッドブロックBLKは、無効化されたブロックBLKである。このため、バッドブロックBLKは、データ領域及びシステム領域から除外されてもよい。
図6に示すように、メモリコントローラ20は、管理データ用テーブルにおいて、例えば、ブロックBLK毎に管理IDを割り当てる。より具体的には、例えば、管理ID_1001には、チャネルCH0に接続されたメモリチップCP0のプレーンPLN0のブロックBLK2_0が割り当てられている。また、管理ID_1002には、チャネルCH0に接続されたメモリチップCP0のプレーンPLN1のブロックBLK2_1が割り当てられている。管理ID_1003には、チャネルCH0に接続されたメモリチップCP0のプレーンPLN0のブロックBLK3_0が割り当てられている。管理ID_1004には、チャネルCH0に接続されたメモリチップCP0のプレーンPLN1のバッドブロックBLK3_1が割り当てられている。管理ID_1005には、チャネルCH0に接続されたメモリチップCP1のプレーンPLN0のブロックBLK2_0が割り当てられている。管理ID_1006には、チャネルCH0に接続されたメモリチップCP1のプレーンPLN1のブロックBLK2_1が割り当てられている。管理ID_1007には、チャネルCH0に接続されたメモリチップCP1のプレーンPLN0のブロックBLK3_0が割り当てられている。管理ID_1008には、チャネルCH0に接続されたメモリチップCP1のプレーンPLN1のブロックBLK3_1が割り当てられている。管理ID_1009には、チャネルCH0に接続されたメモリチップCP2のプレーンPLN0のバッドブロックBLK0_0が割り当てられている。管理ID_1010には、チャネルCH0に接続されたメモリチップCP2のプレーンPLN1のブロックBLK2_1が割り当てられている。管理ID_1011には、チャネルCH0に接続されたメモリチップCP2のプレーンPLN0のバッドブロックBLK3_0が割り当てられている。管理ID_1012には、チャネルCH0に接続されたメモリチップCP2のプレーンPLN1のブロックBLK3_1が割り当てられている。また、管理ID_1061には、チャネルCH3に接続されたメモリチップCP15のプレーンPLN0のブロックBLK2_0が割り当てられている。管理ID_1062には、チャネルCH3に接続されたメモリチップCP15のプレーンPLN1のブロックBLK2_1が割り当てられている。管理ID_1063には、チャネルCH3に接続されたメモリチップCP15のプレーンPLN0のバッドブロックBLK3_0が割り当てられている。管理ID_1064には、チャネルCH3に接続されたメモリチップCP15のプレーンPLN1のブロックBLK3_1が割り当てられている。他の管理IDも同様である。
メモリコントローラ20は、例えばバッドブロックBLKが増加した場合等に、管理データ用テーブルを更新し得る。
メモリコントローラ20は、システム領域全体を書き込み動作の並列単位として管理し得る。換言すれば、メモリコントローラ20は、管理データの書き込みを実行する場合、複数のブロックBLK(管理ID)を選択して、書き込み動作を実行し得る。これにより、メモリコントローラ20は、不揮発性メモリ10として並列度を上げて書き込み動作が実行できる。例えば、メモリコントローラ20は、管理ID_1001のチャネルCH0に接続されたメモリチップCP0のプレーンPLN0のブロックBLK2_0と、管理ID_1061のチャネルCH3に接続されたメモリチップCP15のプレーンPLN0のブロックBLK2_0とを選択する。そして、メモリコントローラ20は、選択した2つのブロックBLKを用いて、書き込み動作を並列に実行してもよい。複数のメモリチップCPを選択して書き込み動作の並列度を上げることにより、処理速度を向上できる。
3.書き込み動作の流れ
次に、図7を参照して、書き込み動作の流れの一例について説明する。図7は、書き込み動作のフローチャートである。
次に、図7を参照して、書き込み動作の流れの一例について説明する。図7は、書き込み動作のフローチャートである。
図7に示すように、メモリコントローラ20は、まず、書き込みデータがユーザデータであるか確認する(S1)。
書き込みデータがユーザデータである場合(S1、Yes)、メモリコントローラ20は、ホストデバイスから書き込み先のチャネルCH及びメモリチップCPの指定があるか確認する(S2)。
書き込み先の指定がある場合(S2、Yes)、メモリコントローラ20は、指定されたメモリチップCPのいずれかのブロックユニットBUを選択する。そして、メモリコントローラ20は、指定されたメモリチップCPのユーザ領域への書き込み動作を実行する(S3)。より具体的には、メモリコントローラ20は、ユーザデータ用テーブルに基づいて、指定されたメモリチップCP内のブロックユニットBUを選択する。次に、メモリコントローラ20は、選択ブロックユニットBU内の各ブロックBLKにおいて、セルユニットCUのアドレスを決定する。メモリコントローラ20は、選択されたメモリチップCPに、書き込みコマンド、アドレス、及びユーザデータを送信する。例えば、メモリチップCPがプレーンPLN0及びPLN1を含む場合、プレーンPLN0及びPLN1において書き込み動作が並列に実行される。このため、メモリコントローラ20は、メモリチップCPに少なくとも2ページ分のユーザデータを送信する。従って、メモリコントローラ20は、少なくとも2ページ分のユーザデータが集まってから書き込み動作を実行する。選択されたメモリチップCPでは、書き込みコマンド及びアドレスに基づいて、各プレーンPLNの書き込み動作が並列に実行される。これにより、メモリチップCPにおける最大の処理速度が得られる。
書き込み先の指定がない場合(S2、No)、メモリコントローラ20は、ユーザデータ用テーブルに基づいて、チャネルCH、メモリチップCP、及びブロックユニットBUを選択する。そして、メモリコントローラ20は、選択したメモリチップCPのユーザ領域にユーザデータを書き込む(S4)。書き込み動作の詳細は、S3と同様である。
書き込みデータがユーザデータではない場合(S1、No)、すなわち管理データである場合、メモリコントローラ20は、いずれかのメモリチップCPのシステム領域に管理データを書き込む(S5)。より具体的には、メモリコントローラ20は、管理データ用テーブルに基づいて、少なくとも1つのチャネルCH、メモリチップCP、プレーンPLN、及びブロックBLKを選択する。そして、メモリコントローラ20は、選択ブロックBLKにおいて、セルユニットCUのアドレスを決定する。メモリコントローラ20は、選択されたメモリチップCPに、書き込みコマンド、アドレス、及び管理データを送信する。選択されたプレーンPLNでは、書き込みコマンド及びアドレスに基づいて、書き込み動作が実行される。
4 本実施形態に係る効果
本実施形態に係る構成であれば、メモリシステムにおける処理能力を向上できる。本効果につき詳述する。
本実施形態に係る構成であれば、メモリシステムにおける処理能力を向上できる。本効果につき詳述する。
例えば、メモリチップCPのユーザ領域がブロック単位で管理されている場合、バッドブロックBLKの影響により、ユーザ領域内の有効ブロックBLKの個数が、プレーンPLNにより異なる場合がある。有効ブロックBLKの個数が少ないプレーンPLNでは、ユーザデータの書き込みに使用可能な有効ブロックBLKが、他のプレーンPLNよりも早くなくなる。このような場合、全てのプレーンPLNから有効ブロックBLKを選択できない。このため、メモリチップCP内の全てのプレーンPLNを用いて書き込み動作を並列に実行できなくなる。すなわち、書き込み動作を最大並列度で実行できなくなる。このため、書き込み動作の処理速度が低下する。
これに対し、本実施形態に係る構成であれば、メモリチップCPのユーザ領域を、ブロックユニットBU単位で管理できる。ブロックユニットBUは、メモリチップCP内の各プレーンPLNの有効ブロックBLKを1個ずつ含む。ブロックユニットBUを選択することにより、メモリチップCPにおけるユーザデータの書き込み動作を最大並列度で実行できる。これにより、書き込み動作の処理速度の低下を抑制できる。
更に、本実施形態に係る構成であれば、バッドブロックBLKの影響によりブロックユニットBUの構成からあぶれた有効ブロックBLKを優先的にシステム領域に割り当てることができる。これにより、あぶれた有効ブロックBLKを有効に使用できる。このため、バッドブロックBLKによるメモリ容量の減少の影響を抑制できる。
更に、本実施形態に係る構成であれば、ユーザ領域とシステム領域とで異なるブロック管理方法を適用できる。例えば、システム領域は、ブロック単位で管理できる。そして、システム領域全体を書き込み動作の並列単位として管理できる。これにより、システム領域全体として複数のメモリチップCPを選択して書き込み動作の並列度を上げることができる。このため、あぶれた有効ブロックBLKを用いた場合においても、書き込み処理速度の低下を抑制できる。
なお、実施形態は上記で説明した形態に限られず、種々の変形が可能である。
上記実施形態では、書き込み動作を例にデータの管理方法について説明したが、読み出し動作の場合においても同様にある。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
実施形態は例示であり、発明の範囲はそれらに限定されない。
1…メモリシステム
2…記憶装置
10…不揮発性メモリ
20…メモリコントローラ
100…メモリコア部
101…メモリセルアレイ
102…ロウデコーダ
103…センスアンプ
110…周辺回路部
111…シーケンサ
112…電圧発生回路
210…ホストインターフェイス回路
220…CPU
230…ROM
240…RAM
250…バッファメモリ
260…NANDインターフェイス回路
BL、BL0~BLn…ビット線
BLK、BLK0~BLK3…ブロック
BU…ブロックユニット
CH、CH0~CH3…チャネル
CP、CP0~CP15…メモリチップ
CU…セルユニット
MB…メモリバス
MC、MC0~MC7…メモリセルトランジスタ
NB、NB0~NB3…NANDバス
NS…NANDストリング
PLN、PLN0、PLN1…プレーン
SGD、SGD0~SGD3、SGS…選択ゲート線
SL…ソース線
ST1、ST2…選択トランジスタ
SU、SU0~SU3…ストリングユニット
WL、WL0~WL7…ワード線
2…記憶装置
10…不揮発性メモリ
20…メモリコントローラ
100…メモリコア部
101…メモリセルアレイ
102…ロウデコーダ
103…センスアンプ
110…周辺回路部
111…シーケンサ
112…電圧発生回路
210…ホストインターフェイス回路
220…CPU
230…ROM
240…RAM
250…バッファメモリ
260…NANDインターフェイス回路
BL、BL0~BLn…ビット線
BLK、BLK0~BLK3…ブロック
BU…ブロックユニット
CH、CH0~CH3…チャネル
CP、CP0~CP15…メモリチップ
CU…セルユニット
MB…メモリバス
MC、MC0~MC7…メモリセルトランジスタ
NB、NB0~NB3…NANDバス
NS…NANDストリング
PLN、PLN0、PLN1…プレーン
SGD、SGD0~SGD3、SGS…選択ゲート線
SL…ソース線
ST1、ST2…選択トランジスタ
SU、SU0~SU3…ストリングユニット
WL、WL0~WL7…ワード線
Claims (9)
- 各々が複数のメモリセルを含む第1ブロック及び第2ブロックを有する第1メモリセルアレイを含む第1プレーンと、各々が前記複数のメモリセルを含む第3ブロック及び第4ブロックを有する第2メモリセルアレイを含む第2プレーンとを含む第1メモリチップと、
各々が前記複数のメモリセルを含む第5ブロック及び第6ブロックを有する第3メモリセルアレイを含む第3プレーンと、各々が前記複数のメモリセルを含む第7ブロック及び第8ブロックを有する第4メモリセルアレイを含む第4プレーンとを含む第2メモリチップと、
前記第1メモリチップ及び第2メモリチップを制御するメモリコントローラと
を備え、
前記メモリコントローラは、外部から受信したユーザデータの記憶領域として、前記第1メモリチップにおける前記第1プレーンの前記第1ブロックと前記第2プレーンの前記第3ブロックとの組み合わせを第1グループとして設定し、前記第2メモリチップにおける前記第3プレーンの前記第5ブロックと前記第4プレーンの前記第7ブロックとの組み合わせを第2グループとして設定し、管理データの記憶領域として、前記第2ブロックと、前記第4ブロックと、前記第6ブロックと、前記第8ブロックとを設定する、
メモリシステム。 - 前記メモリコントローラは、バッドブロックを前記管理データの前記記憶領域に割り当てる、
請求項1に記載のメモリシステム。 - 前記メモリコントローラは、前記第1グループに前記ユーザデータを記憶する際、前記第1プレーンの前記第1ブロックにおける書き込み動作と前記第2プレーンの前記第3ブロックにおける書き込み動作とを並列に実行する、
請求項1または2のいずれか一項に記載のメモリシステム。 - 前記メモリコントローラは、前記第2ブロック、前記第4ブロック、前記第6ブロック、及び前記第8ブロックの少なくとも1つを選択して、前記管理データを記憶する、
請求項1または2のいずれか一項に記載のメモリシステム。 - 前記第1プレーンは、前記第1メモリセルアレイに接続された第1ロウデコーダ及び第1センスアンプを更に含み、
前記第2プレーンは、前記第2メモリセルアレイに接続された第2ロウデコーダ及び第2センスアンプを更に含む、
請求項1乃至4のいずれか一項に記載のメモリシステム。 - 外部から受信したユーザデータの記憶領域として、各々が複数のメモリセルを含む第1ブロック及び第2ブロックを有する第1メモリセルアレイを含む第1プレーンと、各々が前記複数のメモリセルを含む第3ブロック及び第4ブロックを有する第2メモリセルアレイを含む第2プレーンとを含む第1メモリチップにおいて、前記第1プレーンの前記第1ブロックと前記第2プレーンの前記第3ブロックとの組み合わせを第1グループとして設定し、
前記ユーザデータの前記記憶領域として、各々が前記複数のメモリセルを含む第5ブロック及び第6ブロックを有する第3メモリセルアレイを含む第3プレーンと、各々が前記複数のメモリセルを含む第7ブロック及び第8ブロックを有する第4メモリセルアレイを含む第4プレーンとを含む第2メモリチップにおいて、前記第3プレーンの前記第5ブロックと前記第4プレーンの前記第7ブロックとの組み合わせを第2グループとして設定し、
管理データの記憶領域として、前記第2ブロックと、前記第4ブロックと、前記第6ブロックと、前記第8ブロックとを設定する、
データ管理方法。 - バッドブロックを、前記管理データの前記記憶領域に割り当てる、
請求項6に記載のデータ管理方法。 - 前記第1グループに前記ユーザデータを記憶する際、前記第1プレーンの前記第1ブロックにおける書き込み動作と前記第2プレーンの前記第3ブロックにおける書き込み動作とを並列に実行する、
請求項6または7に記載のデータ管理方法。 - 前記第2ブロック、前記第4ブロック、前記第6ブロック、及び前記第8ブロックの少なくとも1つを選択して、前記管理データを記憶する、
請求項6または7に記載のデータ管理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021048688A JP2022147448A (ja) | 2021-03-23 | 2021-03-23 | メモリシステム及びデータ管理方法 |
TW110123348A TWI820439B (zh) | 2021-03-23 | 2021-06-25 | 記憶體系統及資料管理方法 |
CN202110967139.3A CN115116494A (zh) | 2021-03-23 | 2021-08-23 | 存储系统以及数据管理方法 |
US17/465,501 US11775187B2 (en) | 2021-03-23 | 2021-09-02 | Memory system and data management method including block allocation management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021048688A JP2022147448A (ja) | 2021-03-23 | 2021-03-23 | メモリシステム及びデータ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022147448A true JP2022147448A (ja) | 2022-10-06 |
Family
ID=83324959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021048688A Pending JP2022147448A (ja) | 2021-03-23 | 2021-03-23 | メモリシステム及びデータ管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11775187B2 (ja) |
JP (1) | JP2022147448A (ja) |
CN (1) | CN115116494A (ja) |
TW (1) | TWI820439B (ja) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US7506098B2 (en) * | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
US8706950B2 (en) | 2008-03-01 | 2014-04-22 | Kabushiki Kaisha Toshiba | Memory system |
US8239614B2 (en) | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
JP2012173778A (ja) * | 2011-02-17 | 2012-09-10 | Sony Corp | 管理装置、および管理方法 |
US8924820B2 (en) * | 2012-07-27 | 2014-12-30 | Kabushiki Kaisha Toshiba | Memory controller, semiconductor memory system, and memory control method |
JP5994647B2 (ja) | 2013-01-11 | 2016-09-21 | 三菱電機株式会社 | データ記録装置、及びデータ記録方法 |
TWI573148B (zh) | 2013-08-02 | 2017-03-01 | 東芝股份有限公司 | A controller, a memory system, and a memory device |
TWI679535B (zh) * | 2017-09-22 | 2019-12-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料內部搬移方法以及使用該方法的裝置 |
KR20200133817A (ko) * | 2018-04-23 | 2020-11-30 | 마이크론 테크놀로지, 인크. | 호스트 논리적-대-물리적 정보 리프레시 |
KR20190128284A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
JP7109992B2 (ja) * | 2018-05-22 | 2022-08-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10748462B2 (en) | 2018-05-29 | 2020-08-18 | Shenzhen China Star Optoelectronics Technology Co., Ltd. | Hardware controller of NAND device, control method and liquid crystal display |
TWI684988B (zh) * | 2018-10-03 | 2020-02-11 | 慧榮科技股份有限公司 | 錯誤處置方法以及資料儲存裝置及其控制器 |
TWI781846B (zh) * | 2019-03-04 | 2022-10-21 | 慧榮科技股份有限公司 | 非對稱型平面管理方法以及資料儲存裝置及其控制器 |
US11354231B2 (en) | 2019-05-30 | 2022-06-07 | Silicon Motion, Inc. | Method for performing access management of memory device with aid of information arrangement, associated memory device and controller thereof, associated electronic device |
US10811075B1 (en) * | 2019-08-19 | 2020-10-20 | Silicon Motion, Inc. | Method for performing access control regarding quality of service optimization of memory device with aid of machine learning, associated memory device and controller thereof |
US11243596B2 (en) | 2019-08-26 | 2022-02-08 | Micron Technology, Inc. | Architecture-based power management for a memory device |
-
2021
- 2021-03-23 JP JP2021048688A patent/JP2022147448A/ja active Pending
- 2021-06-25 TW TW110123348A patent/TWI820439B/zh active
- 2021-08-23 CN CN202110967139.3A patent/CN115116494A/zh active Pending
- 2021-09-02 US US17/465,501 patent/US11775187B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220308772A1 (en) | 2022-09-29 |
US11775187B2 (en) | 2023-10-03 |
TW202303612A (zh) | 2023-01-16 |
CN115116494A (zh) | 2022-09-27 |
TWI820439B (zh) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3938309B2 (ja) | リードディスターブを緩和したフラッシュメモリ | |
JP6193410B2 (ja) | 3dメモリにおけるサブブロックの無効化 | |
TWI517160B (zh) | 半導體記憶體系統 | |
US9418017B2 (en) | Hot memory block table in a solid state storage device | |
US9025376B2 (en) | Nonvolatile memory device and related method of operation | |
TWI610304B (zh) | 半導體儲存裝置、其控制器及進行其中之資料運算之方法 | |
KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
US9870836B2 (en) | Memory system and method of controlling nonvolatile memory | |
JP6271460B2 (ja) | 半導体記憶装置 | |
EP3647958B1 (en) | Storage devices methods of operating storage devices and storage systems | |
US20200401328A1 (en) | Storage device and method of operating the same | |
TW202006549A (zh) | 固態驅動機及其記憶體分配方法 | |
JP2019040470A (ja) | メモリシステム | |
US10942667B2 (en) | Storage device having variable erase unit size and storage system including the same | |
JP2022018404A (ja) | 半導体記憶装置 | |
TWI820439B (zh) | 記憶體系統及資料管理方法 | |
US11676668B2 (en) | Responding to changes in available power supply | |
CN111459855B (zh) | 存储器系统 | |
JP2023108843A (ja) | メモリシステム | |
KR20230082377A (ko) | 메모리 컨트롤러 및 메모리 시스템 | |
JP2023039459A (ja) | メモリシステムおよび方法 | |
JP2023179191A (ja) | メモリシステム | |
TW202338834A (zh) | 記憶體系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |