JP2019057074A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2019057074A JP2019057074A JP2017180460A JP2017180460A JP2019057074A JP 2019057074 A JP2019057074 A JP 2019057074A JP 2017180460 A JP2017180460 A JP 2017180460A JP 2017180460 A JP2017180460 A JP 2017180460A JP 2019057074 A JP2019057074 A JP 2019057074A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- logical
- address
- conversion table
- cache
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】性能向上を図るメモリシステムを提供する。【解決手段】メモリシステムは、データを記憶する不揮発性メモリ100と、第1メモリおよび第2メモリと、データの読み出しを制御するメモリコントローラ200と、を具備する。メモリコントローラは、第1読み出しにおいて、ホスト400から第1論理アドレスを受信し、不揮発性メモリから第1論理アドレスに対応する第1アドレス変換テーブルを読み出し、第1論理アドレスと第2メモリに記憶された第2論理アドレスとを比較し、第1論理アドレスが第2論理アドレスに対応する場合に第1メモリに記憶された第1状態の第2アドレス変換テーブルを不揮発性メモリに記憶する。【選択図】図1
Description
実施形態は、メモリシステムに関する。
NAND型フラッシュメモリとNAND型フラッシュメモリを制御するメモリコントローラとを含むメモリシステムが提案されている。
性能向上を図るメモリシステムを提供する。
実施形態によるメモリシステムは、データを記憶する不揮発性メモリと、第1メモリおよび第2メモリと、前記データの読み出しを制御するメモリコントローラと、を具備する。前記メモリコントローラは、第1読み出しにおいて、ホストから第1論理アドレスを受信し、前記不揮発性メモリから前記第1論理アドレスに対応する第1アドレス変換テーブルを読み出し、前記第1論理アドレスと前記第2メモリに記憶された第2論理アドレスとを比較し、前記第1論理アドレスが前記第2論理アドレスに対応する場合に前記第1メモリに記憶された第1状態の第2アドレス変換テーブルを前記不揮発性メモリに記憶する。
実施形態を以下に図面を参照して説明する。図面において、同一部分には同一の参照符号を付す。
<第1実施形態>
以下に図1乃至図15を用いて、第1実施形態に係るメモリシステムについて説明する。
以下に図1乃至図15を用いて、第1実施形態に係るメモリシステムについて説明する。
なお、以下の説明において、特に限定しない限り、「接続」は直接接続することだけではなく、任意の素子を介して接続することも含む。また、トランジスタの第1端子はソースまたはドレインの一方を示し、トランジスタの第2端子はソースまたはドレインの他方を示す。また、トランジスタの制御端子は、ゲートを示す。
[第1実施形態の構成例]
図1は、第1実施形態に係るメモリシステム300を示すブロック図である。
図1は、第1実施形態に係るメモリシステム300を示すブロック図である。
図1に示すように、メモリシステム300は、複数のNAND型フラッシュメモリ100(100_1−100_4)、およびこれらを制御するメモリコントローラ200を含む。
NAND型フラッシュメモリ100およびメモリコントローラ200は、例えばそれらの組み合わせにより1つの半導体装置を構成してもよい。メモリシステム300としては、例えばSDTMカードのようなメモリカードまたはSSD(Solid State Drive)等が挙げられる。
なお、メモリシステム300内において、同一のメモリコントローラ200に制御されるNAND型フラッシュメモリ100の数は4つに限らない。また、NAND型フラッシュメモリ100およびメモリコントローラ200はそれぞれ、互いに異なる半導体チップに形成されてもよい。また、NAND型フラッシュメモリ100_1−100_4は、互いに異なる半導体チップに形成されてもよい。以下では、NAND型フラッシュメモリ100およびメモリコントローラ200の形成された半導体チップをそれぞれメモリチップおよびメモリコントローラチップと称す場合がある。
NAND型フラッシュメモリ100は、複数のメモリセルを備え、データを不揮発に記憶する。メモリコントローラ200は、NANDバスによってNAND型フラッシュメモリ100に接続され、ホストバスによってホスト400に接続される。そして、メモリコントローラ200は、NAND型フラッシュメモリ100を制御する。また、メモリコントローラ200は、ホスト400から受信したコマンドに応じて、NAND型フラッシュメモリ100にアクセスする。ホスト400は例えばデジタルカメラまたはパーソナルコンピュータ等であり、ホストバスは例えばSDTMインターフェースに従ったバスである。
メモリコントローラ200は、プロセッサ(CPU)211、ホストインターフェース回路212、内蔵メモリ(RAM(Random Access Memory))213、バッファメモリ214、ECC(Error Checking and Correcting)回路215、およびNANDインターフェース回路216を含む。
ホストインターフェース回路212は、ホストバスを介してホスト400と接続される。ホストインターフェース回路212は、ホスト400から受信したコマンドおよびデータをそれぞれ、プロセッサ211およびバッファメモリ214のそれぞれに送信する。
プロセッサ211は、メモリコントローラ200全体の動作を制御する。例えばプロセッサ211は、ホスト400から書き込みコマンドを受信した際に、それに応じてNANDインターフェース回路216に対して書き込みコマンドを発行する。同様に、読み出しコマンドを受信した際も、それに応じてNANDインターフェース回路216に対して読み出しコマンドを発行する。また、プロセッサ211は、ウェアレベリング等、NAND型フラッシュメモリ100を管理するための様々な処理を実行する。なお、プロセッサ211によって制御される機能の一部または全体は、ハードウェアにより実現されてもよい。
NANDインターフェース回路216は、NANDバスを介してNAND型フラッシュメモリ100に接続され、NAND型フラッシュメモリ100との通信を行う。そしてNANDインターフェース回路216は、プロセッサ211から受信したコマンドに基づいて、種々の信号をNAND型フラッシュメモリ100へ送信し、またNAND型フラッシュメモリ100から受信する。
バッファメモリ214は、書き込みデータおよび読み出しデータを一時的に保持する。
内蔵メモリ213は、例えばDRAMまたはSRAM等の揮発性の半導体メモリであり、プロセッサ211の作業領域として使用される。そして、内蔵メモリ213は、NAND型フラッシュメモリ100を管理するためのファームウェア、または各種の管理テーブル等を保持する。内蔵メモリ213の詳細については、後述する。
ECC回路215は、NAND型フラッシュメモリ100に記憶されるデータに関する誤り検出および誤り訂正処理を行う。すなわち、ECC回路215は、データの書き込み時には誤り訂正符号を生成して、これを書き込みデータに付与する。そして、ECC回路215は、データの読み出し時には付与された誤り訂正符号を用いてデータの誤りを訂正する。
図2は、第1実施形態に係るメモリシステム300のNAND型フラッシュメモリ100を示すブロック図である。
図2に示すように、NAND型フラッシュメモリ100は、入出力回路110、ロジック回路111、アドレスレジスタ112、コマンドレジスタ113、シーケンサ114、電圧発生回路115、メモリセルアレイ116、ロウデコーダ117、センスアンプ118、およびカラムデコーダ120を含む。
ロジック回路111は、メモリコントローラ200からNANDバスを介してチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn/RE、および入出力クロックDQS/DQSnを受信する。そして、ロジック回路111は、これらの信号を必要に応じて入出力回路110およびシーケンサ114に送信する。
入出力回路110は、信号DQS/DQSnを送信し、また信号DQ<0:7>の送受信を行う。信号DQ<0:7>なる表記は、信号DQ0−DQ7の8ビットの信号DQをまとめたものであり、ビットを区別しない場合には単に信号DQと記載する。入出力回路110は、信号DQがアドレスであればこれをアドレスレジスタ112に送信し、信号DQがコマンドであればこれをコマンドレジスタ113に送信する。さらに、データの書き込み時において信号DQが書き込みデータであれば、これをセンスアンプ118に送信する。他方で、データの読み出し時には、センスアンプ118から転送された読み出しデータを、信号DQS/DQSnと共にメモリコントローラ200へ送信する。
なお、信号CEnはメモリチップ毎に用意されるが、その他の信号ALE,CLE,WEn,REn/RE,DQS/DQSn,DQは複数のメモリチップに共通に使用される。
アドレスレジスタ112は、メモリコントローラ200から与えられたアドレスを保持する。コマンドレジスタ113は、メモリコントローラ200から与えられたコマンドを保持する。
シーケンサ114は、NAND型フラッシュメモリ100全体の動作を制御する。より具体的には、シーケンサ114は、コマンドレジスタ113に保持されたコマンドに従い、ロジック回路111で各種信号が受信されたタイミングで、必要な回路ブロックに必要な動作を命令する。
電圧発生回路115は、シーケンサ114の制御に従い、メモリセルアレイ116、ロウデコーダ117、およびセンスアンプ118に必要な電圧を供給する。
メモリセルアレイ116は、例えばメモリコントローラ200から与えられたデータを記憶する。
図3は、第1実施形態に係るメモリシステム300のメモリセルアレイ116を示す回路図である。
図3に示すように、メモリセルアレイ116は、ブロックBLKを含む。ブロックBLKは、複数のNANDストリング121を含む。NANDストリング121の各々は、例えば8個のメモリセルトランジスタMT(MT0−MT7)および選択トランジスタST1、ST2を含む。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。そして、メモリセルトランジスタMTは、選択トランジスタST1の第1端子と選択トランジスタST2の第1端子との間に直列に電気的に接続される。
同一ブロック内の選択トランジスタST1の制御端子は、セレクトゲート線SGSに共通接続される。また、同一ブロック内の選択トランジスタST2の制御端子は、セレクトゲート線SGSに共通接続される。同様に、同一ブロック内のメモリセルトランジスタMT0−MT7の制御端子はそれぞれ、ワード線WL0−WL7のそれぞれに共通接続される。
また、同一列にあるNANDストリング121の選択トランジスタST1の第2端子は、ビット線BL(BL0−BL(L−1)、Lは2以上の自然数)に共通接続される。すなわち、ビット線BLは、複数のブロックBLK間でNANDストリング121を共通に接続する。さらに、複数の選択トランジスタST2の第2端子は、ソース線SLに共通に接続される。
各メモリセルトランジスタMTは、1ビットまたは複数ビットのデータを保持可能である。そして、同一のワード線WLに接続されたメモリセルトランジスタMTに対しては、一括してデータが書き込まれる。この一括して書き込まれるデータを「ページ」と呼ぶ。
メモリセルトランジスタMTが1ビットを保持する場合には、各ワード線WLに接続されたメモリセルトランジスタMTの集合がページに相当する。つまり、1本のワード線WLには1ページが割り当てられ、8本のワード線WLを含むブロックBLKは8ページ分の容量を有する。
また、メモリセルトランジスタMTが例えば2ビットを保持し、この2ビットをそれぞれlowerビット及びupperビットと呼ぶとすると、同一のワード線に接続されたメモリセルの保持するlowerビットの集合が1ページ(lowerページ)であり、またupperビットの集合が1ページ(upperページ)である。つまり、1本のワード線WLには2ページが割り当てられ、ブロックBLKは16ページ分の容量を有する。したがって、「ページ」とは、同一ワード線に接続されたメモリセルによって形成されるメモリ空間の少なくとも一部、と定義することも出来る。データの書き込みおよび読み出しは、このページ毎に行ってもよい。一方、データの消去は、ブロックBLK単位で行われる。
なお、メモリセルアレイ116は、メモリセルトランジスタが半導体基板の上方に三次元に積層された構成であってもよい。本構成の一例としては、セレクトゲート線SGS、ワード線WL0−WL7、およびセレクトゲート線SGDとしてそれぞれ機能する金属配線層が順次形成され、これらを貫くようにして、NANDストリング121の電流経路として機能する半導体ピラーが設けられる。そして、この半導体ピラーの一端に接するようにして、ビット線BLとして機能する金属配線層が形成される。三次元NAND型フラッシュメモリの構成については、例えば、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月19日に出願された米国特許出願12/147,403号に記載されている。また、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月18日に出願された米国特許出願12/146,524号、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME”という2010年3月25日に出願された米国特許出願12/679,991号、及び“SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
またデータの消去は、ブロックBLK単位、またはブロックBLKよりも小さい単位で行うことが出来る。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という2011年9月18日に出願された米国特許出願13/235,389号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。さらに、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という2012年5月30日に出願された米国特許出願13/483,610号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
再度、図2に示すように、メモリセルアレイ116は、ユーザデータ記憶部123および論物変換テーブル記憶部124を含む。ユーザデータ記憶部123は、ホスト400から受信するユーザデータを記憶する。論物変換テーブル記憶部124は、論物変換テーブル(アドレス変換テーブル)を記憶する。論物変換テーブルは、ホスト400が指定する論理アドレスとNAND型フラッシュメモリ100の物理アドレスとを対応させるテーブルである。論物変換テーブルの詳細については、後述する。
ロウデコーダ117は、アドレスレジスタ112に保持されたロウアドレスをデコードする。そして、ロウデコーダ117は、デコード結果に基づいて、メモリセルアレイ116におけるブロックのいずれかを選択し、さらに選択したブロックにおけるロウ方向を選択する。
センスアンプ118は、データの読み出し時に、メモリセルアレイ116から読み出されたデータをセンスし、必要な演算を行う。そして、センスアンプ118は、読み出しデータを入出力回路110に送信する。一方、センスアンプ118は、データの書き込み時に、入出力回路110からのデータをメモリセルアレイ116に書き込む。
カラムデコーダ120は、アドレスレジスタ112に保持されたカラムアドレスをデコードする。そして、カラムデコーダ120は、デコード結果に基づいて、センスアンプ118のカラム位置を選択する。例えばデータの読み出し時には、カラムデコーダ120によって選択されたカラム位置から順番に、読み出しデータがカラム単位でメモリコントローラ200へ送信される。
図4は、第1実施形態に係るメモリシステム300のNAND型フラッシュメモリ100における論物変換テーブルを示す図である。
図4に示すように、論物変換テーブルは、論理アドレスとこれに対応する物理アドレスとを示す。
論理アドレスは、ホスト400が示すアドレスである。図4では、論理アドレスとして、0x00000000−0x00000003、・・・、0x00010000−0x00010003、・・・が示されている。一方、物理アドレスは、NAND型フラッシュメモリ100のアドレスであり、例えば、チップアドレス、ブロックアドレス、ページアドレス(ワード線WL)、およびページ内アドレス(オフセット)が割り当てられる。1つの論理アドレスは、1つの物理アドレスに対応する。例えば、図4では、論理アドレス0x00000000は、物理アドレスCHIP=1,BLOCK=0,WL=1,OFFSET=3に対応する。なお、以下の説明において、論物変換テーブルとは、論理アドレスと物理アドレスとの1つの組、または複数の組を示す。この論物変換テーブルは、メモリシステム300における論理アドレスと物理アドレスとの対応を示す情報であるため、ホスト400から書き込まれたデータと同様にNAND型フラッシュメモリ100に不揮発化される必要がある。
ホスト400は、NAND型フラッシュメモリ100の物理アドレスを認識しない。ホスト400は、NAND型フラッシュメモリ100のメモリ容量に基づく論理アドレスを認識し、この論理アドレスを用いてメモリコントローラ200にアクセスする。
メモリコントローラ200は、ホスト400が指定する論理アドレスと、NAND型フラッシュメモリ100における物理アドレスとの関係を管理する。そして、メモリコントローラ200は、ホスト400が指定する論理アドレスから論物変換テーブルを引き、対応するNAND型フラッシュメモリ100の物理アドレスにアクセスする。
図5は、第1実施形態に係るメモリシステム300の内蔵メモリ213を示すブロック図である。
図5に示すように、内蔵メモリ213は、テーブルキャッシュ22l、差分テーブル222、およびアクセス情報記憶部223を含む。
テーブルキャッシュ221は、読み出しにおいてホスト400から送信される論理アドレスに基づいて、対応するNAND型フラッシュメモリ100内の論物変換テーブルを展開(記憶)する。差分テーブル222は、書き込みにおいて更新される論理アドレスと物理アドレスとの組(論物変換テーブル)を保持する。アクセス情報記憶部223は、過去のアクセス情報を記憶する。より具体的には、アクセス情報記憶部223は、読み出しにおいてテーブルキャッシュ221から追い出される(消去される)論物変換テーブルに関する情報を記憶する。以下に、テーブルキャッシュ22l、差分テーブル222、およびアクセス情報記憶部223について、詳説する。
図6は、第1実施形態に係るメモリシステム300のテーブルキャッシュ22lにおける論物変換テーブルの一例を示す図である。図7は、第1実施形態に係るメモリシステム300のテーブルキャッシュ22lにおけるラインの一例を示す図である。
図6に示すように、テーブルキャッシュ221は、NAND型フラッシュメモリ100に記憶された論物変換テーブルを展開する。例えば図6では、図4に示すNAND型フラッシュメモリ100の論物変換テーブルのうち、論理アドレス0x00000000−0x00000003に対応する論物変換テーブルが展開されている。テーブルキャッシュ221に展開された論物変換テーブルは例えば読み出しにおいて用いられ、これによりアクセスする物理アドレスが取得される。テーブルキャッシュ221の容量は、NAND型フラッシュメモリ100内の論物変換テーブルの容量よりも小さい。すなわち、テーブルキャッシュ221は、NAND型フラッシュメモリ100内の論物変換テーブルの一部しか展開できない。このため、NAND型フラッシュメモリ100から新たな論物変換テーブルを展開するときにテーブルキャッシュ221の容量が足りない場合、以前にテーブルキャッシュ221に記憶された論物変換テーブルが追い出され、新たな論物変換テーブル(別の論理アドレスに対応する論物変換テーブル)が展開される。
また、図7に示すように、テーブルキャッシュ221は、論物変換テーブルを所定単位(例えば512B)で管理し、その所定単位でラインを構成する。ラインは、ラインナンバー、ライン先頭論理アドレス、CLEAN/DIRTY情報、および追い出し順位を含む。
ラインナンバーは、そのラインの管理ナンバーを示す。ライン先頭論理アドレスは、そのラインで管理される論物変換テーブルにおける複数の論理アドレスのうち、先頭の論理アドレスを示す。CLEAN/DIRTY情報は、そのラインの論物変換テーブルがCLEAN状態であるかDIRTY状態であるかを示す。CLEAN状態とは、そのラインの論物変換テーブルが、NAND型フラッシュメモリ100内に記憶(不揮発化)されている状態であり、テーブルキャッシュ221およびNAND型フラッシュメモリ100のいずれにおいても更新された状態を示す。すなわち、NAND型フラッシュメモリ100内に記憶された対応する論物変換テーブルの値とテーブルキャッシュ221内に記憶された対応する論物変換テーブルの値とが、同じ状態である。一方、DIRTY状態とは、そのラインの論物変換テーブルが、NAND型フラッシュメモリ100内に記憶(不揮発化)されていない状態であり、テーブルキャッシュ221のみで更新された状態を示す。すなわち、NAND型フラッシュメモリ100内に記憶された対応する論物変換テーブルの値とテーブルキャッシュ221内に記憶された対応する論物変換テーブルの値とが、異なる状態である。したがって、DIRTY状態の論物変換テーブルは、消去することができない。追い出し順位は、新たな論物変換テーブルを展開するときにテーブルキャッシュ221の容量が足りない場合に追い出される順番(優先順位)を示し、追い出し順位が小さいライン(例えば、追い出し順位が0のライン)から順に追い出される。追い出し順位は、例えばテーブルキャッシュ221に展開された順番である。追い出し順位は、例えばテーブルキャッシュ221における追い出しアルゴリズムに合わせてタイムスタンプ等で代用してもよい。
例えば、図7では、ラインナンバー0x0000には、先頭論理アドレスを0x00000000として、連続する複数の論理アドレス(例えば、0x00000000−0x0000007f)に対応する論物変換テーブルが管理される。ラインナンバー0x0000の論物変換テーブルは、CLEAN状態である。また、ラインナンバー0x0000の追い出し順位は、2である。
図8は、第1実施形態に係るメモリシステム300の差分テーブル222の一例を示す図である。
図8に示すように、差分テーブル222は、例えば書き込みにおいて更新された論理アドレスと物理アドレスとの組(論物変換テーブル)を記憶する。例えば図8では、論理アドレス0x00000000−0x00000003に対応する物理アドレスが更新された例を示している。この更新された論物変換テーブルは、書き込みの度に差分テーブル222に追加される。そして、差分テーブル222の更新情報量が閾値以上になった場合、差分テーブル222に記憶された論物変換テーブルはテーブルキャッシュ221に記憶され、テーブルキャッシュ221の論物変換テーブルが更新(テーブルキャッシュ221の論物変換テーブルに反映)される。
図9は、第1実施形態に係るメモリシステム300のアクセス情報記憶部223の一例を示す図である。
図9に示すように、アクセス情報記憶部223は、テーブルキャッシュ221から追い出された論物変換テーブルに関する情報を記憶する。より具体的には、アクセス情報記憶部223は、テーブルキャッシュ221から追い出された論物変換テーブルのラインにおけるライン先頭論理アドレスを記憶する。例えば図9では、ライン先頭論理アドレス0x00002000,0x00003000を有するラインの論物変換テーブルがテーブルキャッシュ221から追い出されている。このアクセス情報記憶部223のアクセス情報は読み出しにおいて用いられ、当該読み出しが局所的な論理アドレスへのアクセス(以下、局所アクセスと称す)であるかが判定される。すなわち、対象論理アドレスへのアクセス頻度が高いかどうかが判定される。
[第1実施形態の動作例]
(第1実施形態における差分テーブルの更新情報の更新動作)
図10は、第1実施形態に係るメモリシステム300における差分テーブル222の更新情報の更新動作を示すフローチャートである。
(第1実施形態における差分テーブルの更新情報の更新動作)
図10は、第1実施形態に係るメモリシステム300における差分テーブル222の更新情報の更新動作を示すフローチャートである。
本例では、更新情報、すなわち、更新された論物変換テーブルが、書き込みの度に差分テーブル222に追加される。そして、差分テーブル222の更新情報量が閾値以上になった場合、差分テーブル222に記憶された論物変換テーブルがテーブルキャッシュ221に記憶され、テーブルキャッシュ221の論物変換テーブルが更新される。さらに、テーブルキャッシュ221の更新された論物変換テーブルが不揮発化条件を満たす場合に更新情報が不揮発化され、満たさない場合に更新情報は不揮発化されず、DIRTY状態として記憶される。以下に詳説する。
図10に示すように、まず、ステップS11において、プロセッサ211は、更新情報を差分テーブル222に追加する。より具体的には、プロセッサ211は、例えば書き込みにおいて更新された論物変換テーブルを差分テーブル222に記憶する。
次に、ステップS12において、差分テーブル222の更新情報量が閾値以上であるかが判定される。例えば、閾値は4エントリーであるが、これに限らない。
ステップS12において更新情報量が閾値よりも少ない場合、再度書き込みが行われて論物変換テーブルが更新されると、再度ステップS11において、プロセッサ211は更新情報を差分テーブル222に追加する。一方、ステップS12において更新情報量が閾値以上である場合、ステップS13においてプロセッサ211は更新対象の論物変換テーブルをテーブルキャッシュ221から検索する。
次に、ステップS14において更新対象の論物変換テーブルがテーブルキャッシュ221に存在するかどうかが判定される。
ステップS14において更新対象の論物変換テーブルがテーブルキャッシュ221に存在する場合、ステップS15においてプロセッサ211はテーブルキャッシュ221の更新対象の論物変換テーブルを差分テーブル222の論物変換テーブルに基づいて更新する。
一方、ステップS14において更新対象の論物変換テーブルがテーブルキャッシュ221に存在しない場合、ステップS16においてプロセッサ211はNAND型フラッシュメモリ100から更新対象の論物変換テーブルをテーブルキャッシュ221に読み出して展開する。そして、プロセッサ211は、テーブルキャッシュ221に展開された論物変換テーブルを差分テーブル222の論物変換テーブルに基づいて更新する。
次に、ステップS17において、テーブルキャッシュ221の更新情報が不揮発化条件を満たすかどうかが判定される。不揮発化条件とは、例えば、テーブルキャッシュ221の更新情報量がNAND型フラッシュメモリ100に不揮発化する(書き込む)単位、すなわち、ページ単位(例えば16KiB)に達することを示す。また、不揮発化条件とは、例えば、テーブルキャッシュ221が所定時間以上更新されないことを示してもよい。
ステップS17において不揮発化条件を満たす場合、ステップS18においてプロセッサ211はテーブルキャッシュ221の更新された論物変換テーブルを不揮発化する。すなわち、プロセッサ211は、テーブルキャッシュ221の更新された論物変換テーブルをNAND型フラッシュメモリ100に記憶する。
一方、ステップS17において不揮発化条件を満たさない場合、ステップS19においてプロセッサ211はテーブルキャッシュ221の更新された論物変換テーブルをDIRTY状態としてテーブルキャッシュ221に記憶する。このとき、プロセッサ211は、NAND型フラッシュメモリ100への不揮発化を行わない。
例えば、テーブルキャッシュ221の更新情報量がページ単位に達しないときに不揮発化を行うと、実際に更新された論物変換テーブルだけでなく、更新されていない論物変換テーブルも不揮発化されてしまう。すなわち、無駄なデータをNAND型フラッシュメモリ100に書き込むことになり、余計なNAND型フラッシュメモリ100への負担や時間が掛かってしまう。したがって、本例では、テーブルキャッシュ221の更新情報がページ単位に達したときにのみ不揮発化が行われる。
その後、ステップS20において、差分テーブル222の更新情報を全て処理したかどうかが判定される。ステップS20において更新情報を全て処理していない場合、プロセッサ211は再度ステップS13において更新対象の論物変換テーブルをテーブルキャッシュ221から検索する。一方、ステップS20において更新情報を全て処理した場合、動作は終了する。
(第1実施形態における読み出し)
図11は、第1実施形態に係るメモリシステム300の読み出しを示すフローチャートである。
図11は、第1実施形態に係るメモリシステム300の読み出しを示すフローチャートである。
本例では、読み出しにおいて、テーブルキャッシュ221にNAND型フラッシュメモリ100から論物変換テーブルが展開され、テーブルキャッシュ221内の論物変換テーブルが入れ替えられる。このとき、読み出しが局所アクセスであると判断された場合に、テーブルキャッシュ221のDIRTY状態の論物変換テーブルが不揮発化されて追い出される。以下に詳説する。
図11に示すように、まず、ステップS31において、プロセッサ211は、ホスト400からリードコマンドおよび論理アドレスを受信する。
次に、ステップS32において、受信された論理アドレスが差分テーブル222に存在するかどうかが判定される。
ステップS32において、受信された論理アドレスが差分テーブル222に存在する場合、ステップS33において、プロセッサ211は差分テーブル222から当該論理アドレスに対応する論物変換テーブルを参照する。これにより、プロセッサ211は、受信された論理アドレスに対応する物理アドレスを取得する。
ステップS33において物理アドレスを取得すると、ステップS44において、プロセッサ211は取得した物理アドレスのユーザデータをNAND型フラッシュメモリ100から読み出す。そして、ステップS45において、プロセッサ211は、読み出されたユーザデータをホスト400に送信する。
ステップS32において、受信された論理アドレスが差分テーブル222に存在しない場合、ステップS34において、受信された論理アドレスがテーブルキャッシュ221に存在するかどうかが判定される。
ステップS34において、受信された論理アドレスがテーブルキャッシュ221に存在する場合、ステップS35において、プロセッサ211はテーブルキャッシュ221から当該論理アドレスに対応する論物変換テーブルを参照する。これにより、プロセッサ211は、受信された論理アドレスに対応する物理アドレスを取得する。
ステップS35において物理アドレスを取得すると、ステップS33後と同様に、ステップS44において、ユーザデータがNAND型フラッシュメモリ100から読み出され、ステップS45において、読み出されたユーザデータがホスト400に送信される。
ステップS34において、受信された論理アドレスがテーブルキャッシュ221に存在しない場合、ステップS36において、プロセッサ211はNAND型フラッシュメモリ100から当該論理アドレスに対応する論物変換テーブルを読み出す。
次に、ステップS37において、テーブルキャッシュ221に空きがあるかどうかが判定される。すなわち、テーブルキャッシュ221が、読み出された論物変換テーブルを記憶するのに十分な空き容量を有するかどうかが判定される。
ステップS37においてテーブルキャッシュ221に空きがある場合、ステップS43においてプロセッサ211は読み出された論物変換テーブルをテーブルキャッシュ221に展開する。これにより、プロセッサ211は、受信された論理アドレスに対応する物理アドレスを取得する。
ステップS37においてテーブルキャッシュ221に空きがない場合、ステップS38においてテーブルキャッシュ221にDIRTYライン(DIRTY状態のライン)が存在するかどうかが判定される。
ステップS38においてテーブルキャッシュ221にDIRTYラインが存在しない場合、ステップS39においてプロセッサ211は追い出し対象のCLEANライン(CLEAN状態のライン)をアクセス情報記憶部223に記憶する。追い出し対象のCLEANラインとは、追い出し順位が最も小さいCLEANラインを示す。このとき、追い出し対象のCLEANラインのライン先頭論理アドレスがアクセス情報記憶部223に記憶される。
次に、ステップS40において、プロセッサ211は、追い出し対象のCLEANラインを追い出す。すなわち、追い出し対象ラインの論物変換テーブルがテーブルキャッシュ221から消去され、テーブルキャッシュ221に空きが設けられる。
ステップS40においてテーブルキャッシュ221に空きが設けられると、ステップS43においてプロセッサ211は読み出された論物変換テーブルをテーブルキャッシュ221に展開する。これにより、プロセッサ211は、受信された論理アドレスに対応する物理アドレスを取得する。
ステップS38においてテーブルキャッシュ221にDIRTYラインが存在する場合、ステップS41において、受信された論理アドレスがアクセス情報記憶部223に存在するかどうかが判定される。より具体的には、プロセッサ211は、受信された論理アドレスとアクセス情報記憶部223に記憶されたライン先頭論理アドレスとを比較する。そして、プロセッサ211は、受信された論理アドレスがアクセス情報記憶部223のライン先頭論理アドレスで示される範囲内に含まれるかどうかを判定する。これにより、受信された論理アドレスが、局所アクセスであるかどうかが判定される。
ステップS41において、受信された論理アドレスがアクセス情報記憶部223に存在しない場合、ステップS39において追い出し対象のCLEANラインがアクセス情報記憶部223に記憶される。
ステップS41において、受信された論理アドレスがアクセス情報記憶部223に存在する場合、ステップS42においてプロセッサ211はテーブルキャッシュ221内の全てのDIRTYラインを不揮発化して追い出す。すなわち、プロセッサ211はテーブルキャッシュ221内の全てのDIRTYラインに対応する論物変換テーブルをNAND型フラッシュメモリ100に記憶する。そして、テーブルキャッシュ221内の全てのDIRTYラインに対応する論物変換テーブルがテーブルキャッシュ221から消去され、テーブルキャッシュ221に空きが設けられる。
ステップS42においてテーブルキャッシュ221に空きが設けられると、ステップS40後と同様に、ステップS43において、読み出された論物変換テーブルがテーブルキャッシュ221に展開され、受信された論理アドレスに対応する物理アドレスが取得される。
その後、ステップS33,S35後と同様に、ステップS44においてユーザデータがNAND型フラッシュメモリ100から読み出され、ステップS45において、読み出されたユーザデータがホスト400に送信される。
以上の読み出し動作を、より具体的に説明する。
図12および図13は第1実施形態に係るメモリシステム300における読み出しの第1例を示す図であり、図14および図15は第1実施形態に係るメモリシステム300における読み出しの第2例を示す図である。ここで、第1例は受信された論理アドレスがアクセス情報記憶部223に存在する場合を示し、第2例は受信された論理アドレスがアクセス情報記憶部223に存在しない場合を示す。
図12に示すように、第1例では、まず、ホスト400から論理アドレス0x00003200(先頭論理アドレス)が受信される。そして、NAND型フラッシュメモリ100に記憶されている論物変換テーブルから論理アドレス0x00003200に対応するラインが読み出される。
このとき、テーブルキャッシュ221に空きがなく、テーブルキャッシュ221にDIRTYラインが存在する。このため、受信された論理アドレス0x00003200がアクセス情報記憶部223のライン先頭論理アドレスで示される範囲内に含まれるかどうかが判定される。アクセス情報記憶部223にはライン先頭論理アドレスとして0x00020000が記憶され、これは例えば論理アドレス0x00020000−0x0002007fを含む。したがって、受信された論理アドレス0x00003200は、アクセス情報記憶部223のライン先頭論理アドレスで示される範囲内に含まれない。このため、テーブルキャッシュ221内のDIRTYラインは追い出されず、追い出し順位が最も小さいCLEANラインが追い出し対象となる。ここでは、追い出し順位が1のCLEANライン(ライン先頭論理アドレス0x00000000)が追い出し対象となる。そして、追い出し対象であるCLEANラインのライン先頭論理アドレス0x00000000がアクセス情報記憶部223に記憶される。
その後、図13に示すように、追い出し対象のCLEANラインが追い出され、テーブルキャッシュ221に空きが設けられる。そして、NAND型フラッシュメモリ100から読み出された論理アドレス0x00003200のラインがテーブルキャッシュ221に記憶される。また、追い出し順位が0のDIRTYライン以外の各ラインの追い出し順位は繰り上げられる。
図14に示すように、第2例では、まず、ホスト400から論理アドレス0x00020000(先頭論理アドレス)が受信される。そして、NAND型フラッシュメモリ100に記憶されている論物変換テーブルから論理アドレス0x00020000に対応するラインが読み出される。
このとき、テーブルキャッシュ221に空きがなく、テーブルキャッシュ221にDIRTYラインが存在する。このため、受信された論理アドレス0x00003200がアクセス情報記憶部223のライン先頭論理アドレスで示される範囲内に含まれるかどうかが判定される。アクセス情報記憶部223にはライン先頭論理アドレスとして0x00020000(論理アドレス0x00020000−0x0002007f)が記憶されている。したがって、受信された論理アドレス0x00020000は、アクセス情報記憶部223のライン先頭論理アドレスで示される範囲内に含まれる。このため、テーブルキャッシュ221内の全てのDIRTYラインは、NAND型フラッシュメモリ100に不揮発化される。
その後、図15に示すように、不揮発化されたDIRTYラインが追い出され、テーブルキャッシュ221に空きが設けられる。そして、NAND型フラッシュメモリ100に記憶されている論物変換テーブルから論理アドレス0x00003200に対応するラインがテーブルキャッシュ221に記憶される。また、各ラインの追い出し順位は繰り上げられる。
[第1実施形態の効果]
以下に、第1比較例および第2比較例におけるメモリシステム300の問題および第1実施形態の効果を説明する。
以下に、第1比較例および第2比較例におけるメモリシステム300の問題および第1実施形態の効果を説明する。
第1比較例におけるメモリシステム300では、論物変換テーブルはNAND型フラッシュメモリ100に記憶される。読み出しでは、まず、ホスト400が指定する論理アドレスに応じて、NAND型フラッシュメモリ100から論物変換テーブルが読み出される。そして、論物変換テーブルから論理アドレスに対応する物理アドレスが取得され、その物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータが読み出される。すなわち、第1比較例における読み出しでは、NAND型フラッシュメモリ100から論物変換テーブルの読み出しおよびユーザデータの読み出しの2回の読み出しが行われていた。このため、NAND型フラッシュメモリ100に負担が掛かるとともに読み出し速度が遅くなってしまい、読み出しにおける性能が劣化してしまう。
これを解決するために、第2比較例におけるメモリシステム300では、メモリコントローラ200のテーブルキャッシュ221にNAND型フラッシュメモリ100の論物変換テーブルが展開され、展開されたメモリコントローラ200内の論物変換テーブルが用いられる。これにより、NAND型フラッシュメモリ100からの論物変換テーブルの読み出しを最小限にし、読み出しにおける性能の劣化を抑制することができる。しかし、テーブルキャッシュ221は容量が小さいため、NAND型フラッシュメモリ100の論物変換テーブルの一部しか展開できない。このため、テーブルキャッシュ221の論物変換テーブルは、適宜入れ替えが必要となる。
一方、第2比較例の書き込みにおいて新たなデータが書き込まれるときに、論物変換テーブルは更新される。このとき、更新対象となる論物変換テーブルがテーブルキャッシュ221に存在する場合に、テーブルキャッシュ221上で更新処理が行われる。また、更新対象となる論物変換テーブルがテーブルキャッシュ221に存在しない場合に、NAND型フラッシュメモリ100からテーブルキャッシュ221に更新対象の論物変換テーブルを展開し、テーブルキャッシュ221上で更新処理が行われる。その後、テーブルキャッシュ221で更新された論物変換テーブルは、不揮発化条件を満たさない限り(ページ単位に満たない限り)、NAND型フラッシュメモリ100へ不揮発化されない。このため、テーブルキャッシュ221にのみ最新の(更新された)論物変換テーブルが残る場合が生じる。このような論物変換テーブルは、DIRTY状態とされ、以降の更新(書き込み)において不揮発化されるまで追い出されない(入れ替えられない)。
仮にホスト400から読み出し要求ばかりが続く場合、書き込みが行われないためにテーブルキャッシュ221は更新されない。これにより、不揮発化条件が満たされることはなく、テーブルキャッシュ221の一部がDIRTY状態の論物変換テーブルで占有されてしまう。このため、読み出しにおいて利用可能なテーブルキャッシュ221の容量が目減りする。したがって、本来テーブルキャッシュ221に展開可能な範囲の読み出しにおいて、論物変換テーブルをテーブルキャッシュ221に展開することができなくなってしまう。その結果、NAND型フラッシュメモリ100から論物変換テーブルを読み出す必要があり、読み出し性能が低下してしまう。
このような第2比較例に対し、第1実施形態によれば、読み出しにおいてテーブルキャッシュ221の論物変換テーブルが入れ替えられると、追い出された論物変換テーブルの情報(先頭論理アドレス)がアクセス情報記憶部223に記憶される。そして、以降の読み出しにおいて、読み出し対象の論理アドレスがアクセス情報記憶部223に存在すれば、その読み出しが局所アクセスであると判断される。この場合、テーブルキャッシュ221のDIRTY状態の論物変換テーブルは、局所アクセスに不要と判断される。したがって、DIRTY状態の論物変換テーブルは不揮発化されて追い出され、テーブルキャッシュ221に空きが設けられる。この空きに局所アクセスと判断された読み出し対象の論理アドレスに対応する論物変換テーブルが展開される。これにより、容量の少ないテーブルキャッシュ221を有効に活用することができ、読み出しにおける性能向上を図ることができる。
<第2実施形態>
以下に図16および図20を用いて、第2実施形態に係る半導体記憶装置について説明する。
以下に図16および図20を用いて、第2実施形態に係る半導体記憶装置について説明する。
なお、第2実施形態では、主に上記第1実施形態と異なる点について説明し、同様の点については省略する。
[第2実施形態の構成例]
図16は、第2実施形態に係るメモリシステム300のテーブルキャッシュ221を示す図である。
図16は、第2実施形態に係るメモリシステム300のテーブルキャッシュ221を示す図である。
図16に示すように、テーブルキャッシュ221は、テーブル管理情報記憶部231および論物変換テーブル記憶部232を含む。
論物変換テーブル記憶部232は、NAND型フラッシュメモリ100内の論物変換テーブルを展開して記憶する。
テーブル管理情報記憶部231は、テーブル管理情報を記憶する。テーブル管理情報は、論理アドレス、キャッシュ内テーブルアドレス、NAND内テーブルアドレス、およびキャッシュヒット履歴情報を含む。
キャッシュ内テーブルアドレスは、テーブルキャッシュ221における論物変換テーブル記憶部232内のアドレス(CRA)を示す。この論物変換テーブル記憶部232内のアドレスに、対象論理アドレスに対応する論物変換テーブルが存在する。なお、キャッシュ内テーブルアドレスのInvalidとは、対応する論物変換テーブルがテーブルキャッシュ221内に存在しないことを示す。
NAND内テーブルアドレスは、NAND型フラッシュメモリ100における論物変換テーブル記憶部124のアドレス(MRA)を示す。この論物変換テーブル記憶部124内のアドレスに、対象論理アドレスに対応する論物変換テーブルが存在する。
キャッシュヒット履歴情報は、以前の読み出しにおいて対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221内(論物変換テーブル記憶部232内)に存在していたかどうか(ヒットしたかミスしたか)の履歴を示す情報である。
図17は、第2実施形態に係るメモリシステム300のキャッシュヒット履歴情報を示す図である。
図17に示すように、キャッシュヒット履歴情報は2ビット(「00」、「01」、「10」、「11」)で示される情報である。キャッシュヒット履歴情報が第1値(「10」または「11」)である場合、その論理アドレスは局所アクセスされている(アクセス頻度が高い)と判断され、これに対応する論物変換テーブルは読み出し時にテーブルキャッシュ221上に展開(キャッシュ)される。このため、キャッシュヒット履歴情報が「10」または「11」の論物変換テーブルはキャッシュ対象となる。一方、キャッシュヒット履歴情報が第2値(「00」または「01」)である場合、その論理アドレスは局所アクセスされていない(アクセス頻度が低い)と判断され、これに対応する論物変換テーブルは読み出し時にテーブルキャッシュ221上に展開(キャッシュ)されない。すなわち、キャッシュヒット履歴情報が「00」または「01」の論物変換テーブルはキャッシュ非対象となる。
なお、キャッシュヒット履歴情報は2ビットの情報に限らず、1ビットまたは3ビット以上の情報であってもよい。
キャッシュヒット履歴情報は、以下のように設定される。
図示するように、初期状態において、キャッシュヒット履歴情報は「11」である。この状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221内に存在している場合(ヒットする場合)、プロセッサ211はキャッシュヒット履歴情報を「11」に維持する。一方、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221内に存在していない場合(ミスする場合)、すなわち、キャッシュ内テーブルアドレスがInvalidの場合、プロセッサ211はキャッシュヒット履歴情報を「10」に設定する。
キャッシュヒット履歴情報が「10」の状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221内に存在している場合(ヒットする場合)、プロセッサ211はキャッシュヒット履歴情報を「11」に設定する。一方、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221内に存在していない場合(ミスする場合)、すなわち、キャッシュ内テーブルアドレスがInvalidの場合、プロセッサ211はキャッシュヒット履歴情報を「01」に設定する。
キャッシュヒット履歴情報が「01」の状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルはテーブルキャッシュ221に展開されていない。すなわち、キャッシュ内テーブルアドレスは、Invalidである。この場合、読み出しのアクセス要求(読み出しコマンド受信)によって、プロセッサ211はキャッシュヒット履歴情報を「00」に設定する。
キャッシュヒット履歴情報が「00」の状態の読み出しにおいて、対象論理アドレスに対応する論物変換テーブルはテーブルキャッシュ221に展開されていない。すなわち、キャッシュ内テーブルアドレスは、Invalidである。この場合、読み出しのアクセス要求によって、プロセッサ211はキャッシュヒット履歴情報を「00」に維持する、または「10」に設定する。
キャッシュヒット履歴情報の設定方法ついての詳細は、後述する。
図16では、例えば、論理アドレスLA0におけるキャッシュ内テーブルアドレスはCRA0であり、NAND内テーブルアドレスはMRA0であり、キャッシュヒット履歴情報は、「11」である。すなわち、論理アドレスLA0に対応する論物変換テーブルは、テーブルキャッシュ221の論物変換テーブル記憶部232におけるアドレスCRA0に存在する。また、論理アドレスLA0に対応する論物変換テーブルは、NAND型フラッシュメモリ100の論物変換テーブル記憶部124においてアドレスMRA0に存在する。このとき、論理アドレスLA0が読み出される場合、テーブルキャッシュ221の論物変換テーブル記憶部232の論物変換テーブルから対応する物理アドレスが取得される。
また、論理アドレスLA1におけるキャッシュ内テーブルアドレスはCRA1であり、NAND内テーブルアドレスはMRA1であり、キャッシュヒット履歴情報は、「10」である。すなわち、論理アドレスLA1に対応する論物変換テーブルは、テーブルキャッシュ221の論物変換テーブル記憶部232におけるアドレスCRA1に存在する。また、論理アドレスLA1に対応する論物変換テーブルは、NAND型フラッシュメモリ100の論物変換テーブル記憶部124においてアドレスMRA1に存在する。このとき、論理アドレスLA1が読み出される場合、テーブルキャッシュ221の論物変換テーブル記憶部232の論物変換テーブルから対応する物理アドレスが取得される。
また、論理アドレスLA2におけるキャッシュ内テーブルアドレスはInvalidであり、NAND内テーブルアドレスはMRA2であり、キャッシュヒット履歴情報は、「11」である。すなわち、論理アドレスLA2に対応する論物変換テーブルは、テーブルキャッシュ221の論物変換テーブル記憶部232において存在しない。また、論理アドレスLA2に対応する論物変換テーブルは、NAND型フラッシュメモリ100の論物変換テーブル記憶部232におけるアドレスMRA2に存在する。このとき、論理アドレスLA2が読み出される場合、キャッシュヒット履歴情報が「11」であるため、NAND型フラッシュメモリ100の論物変換テーブル記憶部124の論物変換テーブルがテーブルキャッシュ221の論物変換テーブル記憶部232に展開される。そして、展開された論物変換テーブルから対応する物理アドレスが取得される。
また、論理アドレスLA3におけるキャッシュ内テーブルアドレスはInvalidであり、NAND内テーブルアドレスはMRA3であり、キャッシュヒット履歴情報は、「01」である。すなわち、論理アドレスLA3に対応する論物変換テーブルは、テーブルキャッシュ221の論物変換テーブル記憶部232において存在しない。また、論理アドレスLA3に対応する論物変換テーブルは、NAND型フラッシュメモリ100の論物変換テーブル記憶部232におけるアドレスMRA3に存在する。このとき、論理アドレスLA3が読み出される場合、キャッシュヒット履歴情報が「01」であるため、NAND型フラッシュメモリ100の論物変換テーブル記憶部124の論物変換テーブルがテーブルキャッシュ221の論物変換テーブル記憶部232に展開されない。このため、直接NAND型フラッシュメモリ100の論物変換テーブル記憶部124の論物変換テーブルから対応する物理アドレスが取得される。
[第2実施形態の動作]
(第2実施形態における読み出しの第1例)
図18は、第2実施形態に係るメモリシステム300における読み出しの第1例を示すフローチャートである。
[第2実施形態の動作]
(第2実施形態における読み出しの第1例)
図18は、第2実施形態に係るメモリシステム300における読み出しの第1例を示すフローチャートである。
第1例では、読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221に存在するかどうかが判定される。その判定結果に応じて、キャッシュヒット履歴情報が更新される。そして、キャッシュヒット履歴情報の値に応じて、対象論理アドレスが局所アクセスであるかどうかが判定され、局所アクセスではない場合にNANDフラッシュ型メモリ100からテーブルキャッシュ221への論物変換テーブルの展開が制限される。以下に、詳説する。
図18に示すように、第1例では、まず、ステップS51においてプロセッサ211はホスト400からリードコマンドおよび論理アドレスLA0を受信する。
次に、ステップS52において、プロセッサ211は、キャッシュヒット履歴情報を初期状態として「11」に設定する。
次に、ステップS53において、プロセッサ211は、受信された論理アドレスLA0に対応する論物変換テーブルをNAND型フラッシュメモリ100から読み出す。このとき、キャッシュヒット履歴情報が「11」であるため、プロセッサ211は読み出された論物変換テーブルをテーブルキャッシュ221に展開(記憶)する。
次に、ステップS54において、プロセッサ211は、NAND型フラッシュメモリ100からユーザデータを読み出す。より具体的には、プロセッサ211は、テーブルキャッシュ221に展開された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータを読み出す。
その後、各種動作が行われる。この各種動作によって、テーブルキャッシュ221に展開された論理アドレスLA0の論物変換テーブルは、追い出される場合がある。
次に、ステップS55においてプロセッサ211がホスト400からリードコマンドおよび論理アドレスLA0を再度受信すると、ステップS56においてプロセッサ211は論理アドレスLA0の論物変換テーブルがテーブルキャッシュ221に存在するかどうかを判定する。
ステップS56において論理アドレスLA0の論物変換テーブルがテーブルキャッシュ221に存在する場合(キャッシュ内テーブルアドレスがCRAである場合)、ステップS54においてプロセッサ211はユーザデータを読み出す。すなわち、プロセッサ211は、テーブルキャッシュ221に展開された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータを読み出す。
ステップS56において論理アドレスLA0の論物変換テーブルがテーブルキャッシュ221に存在しない場合(キャッシュ内テーブルアドレスがInvalidである場合)、ステップS57においてプロセッサ211はキャッシュヒット履歴情報を「10」に設定する。
次に、ステップS58において、プロセッサ211は、受信された論理アドレスLA0に対応する論物変換テーブルをNAND型フラッシュメモリ100から読み出す。このとき、キャッシュヒット履歴情報が「10」であるため、プロセッサ211は読み出された論物変換テーブルをテーブルキャッシュ221に展開する。
次に、ステップS59において、プロセッサ211は、NAND型フラッシュメモリ100からユーザデータを読み出す。より具体的には、プロセッサ211は、テーブルキャッシュ221に展開された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータを読み出す。
その後、各種動作が行われる。この各種動作によって、テーブルキャッシュ221に展開された論理アドレスLA0の論物変換テーブルは、追い出される場合がある。
次に、ステップS60においてプロセッサ211がホスト400からリードコマンドおよび論理アドレスLA0を再度受信すると、ステップS61においてプロセッサ211は論理アドレスLA0の論物変換テーブルがテーブルキャッシュ221に存在するかどうかを判定する。
ステップS61において論理アドレスLA0の論物変換テーブルがテーブルキャッシュ221に存在する場合、ステップS62においてプロセッサ211はキャッシュヒット履歴情報を「11」に設定する。ステップS62においてキャッシュヒット履歴情報が「11」に設定されると、ステップS54においてテーブルキャッシュ221に展開された論物変換テーブルに基づいてユーザデータが読み出される。
ステップS61において論理アドレスLA0の論物変換テーブルがテーブルキャッシュ221に存在しない場合、ステップS63においてプロセッサ211はキャッシュヒット履歴情報を「01」に設定する。すなわち、キャッシュヒット履歴情報は、キャッシュ対象の第1値からキャッシュ非対象の第2値に設定される。
次に、ステップS64において、プロセッサ211は、受信された論理アドレスLA0に対応する論物変換テーブルをNAND型フラッシュメモリ100から読み出す。このとき、キャッシュヒット履歴情報が「01」であるため、プロセッサ211は、「11」および「10」のときと異なり、読み出された論物変換テーブルをテーブルキャッシュ221に展開しない。
次に、ステップS65において、プロセッサ211は、NAND型フラッシュメモリ100からユーザデータを読み出す。より具体的には、プロセッサ211は、NAND型フラッシュメモリ100から読み出された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータを読み出す。
その後、各種動作が行われる。
次に、ステップS66においてプロセッサ211がホスト400からリードコマンドおよび論理アドレスLA0を再度受信すると、ステップS67においてプロセッサ211はキャッシュヒット履歴情報を「00」に設定する。
次に、ステップS68において、プロセッサ211は、受信された論理アドレスLA0に対応する論物変換テーブルをNAND型フラッシュメモリ100から読み出す。このとき、キャッシュヒット履歴情報が「00」であるため、プロセッサ211は読み出された論物変換テーブルをテーブルキャッシュ221に展開しない。
次に、ステップS69において、プロセッサ211は、NAND型フラッシュメモリ100からユーザデータを読み出す。より具体的には、プロセッサ211は、NAND型フラッシュメモリ100から読み出された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータを読み出す。
その後、ステップS66において、プロセッサ211がホスト400からリードコマンドおよび論理アドレスLA0を再度受信すると、同様の動作が繰り返し続けられる。
(第2実施形態における読み出しの第2例)
図19は、第2実施形態に係るメモリシステム300における読み出しの第2例を示すフローチャートである。
図19は、第2実施形態に係るメモリシステム300における読み出しの第2例を示すフローチャートである。
第2例では、キャッシュヒット履歴情報がキャッシュ非対象である「01」になった場合であっても、2回の読み出しアクセスが行われると、プロセッサ211はキャッシュヒット履歴情報をキャッシュ対象である「10」に設定する。以下に、詳説する。
図19に示すように、第2例ではステップS81−S99において、第1例におけるステップS51−S69と同様の動作が行われる。
その後、各種動作が行われる。
次に、ステップS100においてプロセッサ211がホスト400からリードコマンドおよび論理アドレスLA0を再度受信すると、ステップS87においてプロセッサ211はキャッシュヒット履歴情報を「10」に設定する。すなわち、キャッシュヒット履歴情報は、キャッシュ非対象の第2値からキャッシュ対象の第1値に設定される。
すなわち、第2例では、キャッシュヒット履歴情報がキャッシュ非対象の値「01」になった場合であっても、2回の読み出しアクセス(ステップS96,S100)が行われると、キャッシュヒット履歴情報が、キャッシュ非対象からキャッシュ対象になる。
(第2実施形態における読み出しの第3例)
図20は、第2実施形態に係るメモリシステム300における読み出しの第3例を示すフローチャートである。
図20は、第2実施形態に係るメモリシステム300における読み出しの第3例を示すフローチャートである。
第3例では、キャッシュヒット履歴情報がキャッシュ非対象である「01」になった場合であっても、所定回数の読み出しアクセスが行われると、キャッシュヒット履歴情報がキャッシュ対象である「10」になる。以下に、詳説する。
図20に示すように、第3例ではステップS111−S129において、第1例におけるステップS51−S69と同様の動作が行われる。
その後、各種動作が行われる。
次に、ステップS130においてプロセッサ211がホスト400からリードコマンドおよび論理アドレスLA0を再度受信すると、ステップS131においてプロセッサ211は論理アドレスLA0への読み出し回数が閾値以上であるかどうか判定する。
ステップ131において読み出し回数が閾値より少ない場合、ステップS129においてプロセッサ211はNAND型フラッシュメモリ100からユーザデータを読み出す。より具体的には、プロセッサ211は、NAND型フラッシュメモリ100から読み出された論物変換テーブルから物理アドレスを取得し、取得された物理アドレスに基づいてNAND型フラッシュメモリ100からユーザデータを読み出す。
ステップ131において読み出し回数が閾値以上である場合、ステップS117においてプロセッサ211はキャッシュヒット履歴情報を「10」に設定する。すなわち、キャッシュヒット履歴情報は、キャッシュ非対象の第2値からキャッシュ対象の第1値に設定される。
すなわち、第3例では、キャッシュヒット履歴情報がキャッシュ非対象の値「01」になった場合であっても、所定回数の読み出しアクセス(ステップS126,S130)が行われると、キャッシュヒット履歴情報が、キャッシュ非対象からキャッシュ対象になる。
[第2実施形態の効果]
メモリシステム300において、テーブルキャッシュ221は容量が小さいため、NAND型フラッシュメモリ100の論物変換テーブルの一部しか展開できない。このため、テーブルキャッシュ221の論物変換テーブルは、適宜入れ替えられる。この際、読み出しのアクセス頻度が低い論理アドレス、例えば1度だけ読み出された論理アドレスに対応する論物変換テーブルもテーブルキャッシュ221に展開される。このように、アクセス頻度が低い論物変換テーブルがテーブルキャッシュ221に展開されたとしても、それ以降、展開された当該論物変換テーブルが用いられることは少なく、テーブルキャッシュ221の利用効率が悪くなってしまう。
メモリシステム300において、テーブルキャッシュ221は容量が小さいため、NAND型フラッシュメモリ100の論物変換テーブルの一部しか展開できない。このため、テーブルキャッシュ221の論物変換テーブルは、適宜入れ替えられる。この際、読み出しのアクセス頻度が低い論理アドレス、例えば1度だけ読み出された論理アドレスに対応する論物変換テーブルもテーブルキャッシュ221に展開される。このように、アクセス頻度が低い論物変換テーブルがテーブルキャッシュ221に展開されたとしても、それ以降、展開された当該論物変換テーブルが用いられることは少なく、テーブルキャッシュ221の利用効率が悪くなってしまう。
これに対し、第2実施形態では、読み出しにおいて、対象論理アドレスに対応する論物変換テーブルがテーブルキャッシュ221に存在するかどうかが判定される。これにより、その判定結果に応じて、キャッシュヒット履歴情報が更新される。そして、キャッシュヒット履歴情報の値に応じて対象論理アドレスへの局所アクセスであるかどうか(アクセス頻度が高いかどうか)が判定される。その結果、アクセス頻度が低い場合にNANDフラッシュ型メモリ100からテーブルキャッシュ221への論物変換テーブルの展開が行われず、アクセス頻度が高い場合にNANDフラッシュ型メモリ100からテーブルキャッシュ221への論物変換テーブルの展開が行われる。これにより、アクセス頻度が高い論理アドレスの論物変換テーブルによって、効率よくテーブルキャッシュ221を利用することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を実行することができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…NAND型フラッシュメモリ(不揮発性メモリ)、200…メモリコントローラ、300…メモリシステム、400…ホスト、221…テーブルキャッシュ(第1メモリ)、223…アクセス情報記憶部(第2メモリ)。
Claims (11)
- データを記憶する不揮発性メモリと、
第1メモリおよび第2メモリと、
前記データの読み出しを制御するメモリコントローラと、
を具備し、
前記メモリコントローラは、第1読み出しにおいて、ホストから第1論理アドレスを受信し、前記不揮発性メモリから前記第1論理アドレスに対応する第1アドレス変換テーブルを読み出し、前記第1論理アドレスと前記第2メモリに記憶された第2論理アドレスとを比較し、前記第1論理アドレスが前記第2論理アドレスに対応する場合に前記第1メモリに記憶された第1状態の第2アドレス変換テーブルを前記不揮発性メモリに記憶する
メモリシステム。 - 前記メモリコントローラは、前記第2アドレス変換テーブルを前記不揮発性メモリに記憶した後に、前記第1メモリから前記第2アドレス変換テーブルを消去し、前記第1アドレス変換テーブルを前記第1メモリに記憶する請求項1のメモリシステム。
- 前記メモリコントローラは、前記第1論理アドレスが前記第2論理アドレスに対応しない場合に前記第1メモリに記憶された第2状態の第3アドレス変換テーブルに対応する第3論理アドレスを前記第2メモリに記憶し、前記第1メモリから前記第3アドレス変換テーブルを消去し、前記第1アドレス変換テーブルを前記第1メモリに記憶する請求項1のメモリシステム。
- 前記第1状態は、前記第1メモリに記憶された対応するアドレス変換テーブルの値と前記不揮発性メモリに記憶された前記対応するアドレス変換テーブルの値とが異なる状態を示す請求項1のメモリシステム。
- 前記第2状態は、前記第1メモリに記憶された対応するアドレス変換テーブルの値と前記不揮発性メモリに記憶された前記対応するアドレス変換テーブルの値とが同じ状態を示す請求項3のメモリシステム。
- 前記第1読み出しの前の第2読み出しにおいて、前記第2論理アドレスに対応する第4アドレス変換テーブルは前記第1メモリから消去され、前記第2論理アドレスは前記第2メモリに記憶された請求項1のメモリシステム。
- データを記憶する不揮発性メモリと、
第1メモリを含み、前記データの読み出しを制御するメモリコントローラと、
を具備し、
前記メモリコントローラは、読み出しにおいて、ホストから第1論理アドレスを受信し、前記第1メモリに記憶された前記第1論理アドレスに対応する第1情報が第1値の場合に前記不揮発性メモリから前記第1論理アドレスに対応する第1アドレス変換テーブルを読み出しかつ前記第1メモリに記憶し、前記第1情報が第2値の場合に前記不揮発性メモリから前記第1アドレス変換テーブルを読み出しかつ前記第1メモリに記憶しない
メモリシステム。 - 前記メモリコントローラは、前記第1情報が前記第1値に設定された後に、第1読み出しにおいて前記第1論理アドレスを受信したときに前記第1アドレス変換テーブルが前記第1メモリに存在していない場合で、かつ第2読み出しにおいて前記第1論理アドレスを受信したときに前記第1アドレス変換テーブルが前記第1メモリに存在していない場合に、前記第1情報を前記第1値から前記第2値に設定する請求項7のメモリシステム。
- 前記メモリコントローラは、前記第1情報が前記第2値に設定された後に、第3読み出しにおいて前記第1論理アドレスを受信した場合で、かつ第4読み出しにおいて前記第1論理アドレスを受信した場合に、前記第1情報を前記第2値から前記第1値に設定する請求項7のメモリシステム。
- 前記第1情報は、2ビットの情報である請求項7のメモリシステム。
- 前記第1情報は、前記第1論理アドレスへのアクセス頻度が高い場合に第1値に設定され、前記第1論理アドレスへのアクセス頻度が低い場合に第2値に設定される請求項7のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180460A JP2019057074A (ja) | 2017-09-20 | 2017-09-20 | メモリシステム |
US15/916,385 US10606745B2 (en) | 2017-09-20 | 2018-03-09 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180460A JP2019057074A (ja) | 2017-09-20 | 2017-09-20 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019057074A true JP2019057074A (ja) | 2019-04-11 |
Family
ID=65720271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017180460A Pending JP2019057074A (ja) | 2017-09-20 | 2017-09-20 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10606745B2 (ja) |
JP (1) | JP2019057074A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200088709A (ko) * | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377500B1 (en) * | 1999-11-11 | 2002-04-23 | Kabushiki Kaisha Toshiba | Memory system with a non-volatile memory, having address translating function |
JP5142692B2 (ja) | 2007-12-11 | 2013-02-13 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2009238874A (ja) | 2008-03-26 | 2009-10-15 | Toshiba Corp | 半導体メモリ及びその製造方法 |
JP2009266944A (ja) | 2008-04-23 | 2009-11-12 | Toshiba Corp | 三次元積層不揮発性半導体メモリ |
JP5283960B2 (ja) | 2008-04-23 | 2013-09-04 | 株式会社東芝 | 三次元積層不揮発性半導体メモリ |
JP2010199235A (ja) | 2009-02-24 | 2010-09-09 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP5788183B2 (ja) | 2010-02-17 | 2015-09-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム |
JP2012069205A (ja) | 2010-09-22 | 2012-04-05 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP5295286B2 (ja) * | 2011-02-23 | 2013-09-18 | 株式会社日立製作所 | 記憶装置およびそれを搭載した計算機 |
JP2012252740A (ja) | 2011-06-02 | 2012-12-20 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP5907739B2 (ja) * | 2012-01-26 | 2016-04-26 | 株式会社日立製作所 | 不揮発性記憶装置 |
JP2013196115A (ja) | 2012-03-16 | 2013-09-30 | Toshiba Corp | メモリシステム |
TWI486767B (zh) * | 2012-06-22 | 2015-06-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
WO2015128955A1 (ja) | 2014-02-26 | 2015-09-03 | 株式会社日立製作所 | 記憶デバイス、記憶デバイスを有する装置、及び記憶制御方法 |
US10459636B2 (en) * | 2017-03-24 | 2019-10-29 | Sandisk Technologies Llc | System and method for managing data in non-volatile memory systems having multiple mapping layers |
US20180349287A1 (en) * | 2017-06-02 | 2018-12-06 | Dell Products L.P. | Persistent Storage Device Information Cache |
US10635584B2 (en) * | 2017-06-29 | 2020-04-28 | Western Digital Technologies, Inc. | System and method for host system memory translation |
US10628326B2 (en) * | 2017-08-21 | 2020-04-21 | Micron Technology, Inc. | Logical to physical mapping |
KR102421149B1 (ko) * | 2018-01-02 | 2022-07-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
-
2017
- 2017-09-20 JP JP2017180460A patent/JP2019057074A/ja active Pending
-
2018
- 2018-03-09 US US15/916,385 patent/US10606745B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20190087325A1 (en) | 2019-03-21 |
US10606745B2 (en) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068408B2 (en) | Memory system and operating method thereof | |
US10997065B2 (en) | Memory system and operating method thereof | |
US11862263B2 (en) | Storage device and method of operating the same | |
US7953954B2 (en) | Flash storage partial page caching | |
US11194520B2 (en) | Memory system and operating method thereof | |
JP5142685B2 (ja) | メモリシステム | |
US20120072798A1 (en) | Semiconductor device | |
US20120030506A1 (en) | Read disturb scorecard | |
US11386005B2 (en) | Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache | |
US20200098423A1 (en) | Data storage device and control method for non-volatile memory | |
US11360908B2 (en) | Memory-efficient block/object address mapping | |
JP5073402B2 (ja) | メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム | |
US20210241834A1 (en) | Memory system and operating method thereof | |
TW202147118A (zh) | 記憶體系統及記憶體控制器 | |
TWI807674B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器以及儲存裝置 | |
JP5494086B2 (ja) | 不揮発性記憶装置および不揮発性メモリコントローラ | |
CN113535598A (zh) | 存储器系统、存储器控制器以及存储器系统的操作方法 | |
JP2019057074A (ja) | メモリシステム | |
US20210232343A1 (en) | Memory controller, memory system, and operating method thereof | |
TW202117721A (zh) | 記憶體系統 | |
US20240012569A1 (en) | Storage controller receiving read data and distribution information, method of operating the same, and method of operating storage device including the same | |
TWI831297B (zh) | 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置 | |
JP4068594B2 (ja) | フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリの制御方法 | |
US20240046993A1 (en) | Non-volatile memory device determining read reclaim, method of operating the same, and method of operating storage device including the same | |
JP2023130864A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180831 |