JP2019185350A - メモリシステム及びメモリシステムの制御方法 - Google Patents

メモリシステム及びメモリシステムの制御方法 Download PDF

Info

Publication number
JP2019185350A
JP2019185350A JP2018074821A JP2018074821A JP2019185350A JP 2019185350 A JP2019185350 A JP 2019185350A JP 2018074821 A JP2018074821 A JP 2018074821A JP 2018074821 A JP2018074821 A JP 2018074821A JP 2019185350 A JP2019185350 A JP 2019185350A
Authority
JP
Japan
Prior art keywords
write
memory
semiconductor memory
area
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018074821A
Other languages
English (en)
Inventor
隆二 西久保
Ryuji Nishikubo
隆二 西久保
淳 狩野
Atsushi Kano
淳 狩野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2018074821A priority Critical patent/JP2019185350A/ja
Priority to US16/129,315 priority patent/US10802917B2/en
Publication of JP2019185350A publication Critical patent/JP2019185350A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】不正電源断後の起動処理時間を短縮すること。【解決手段】実施形態のメモリシステムは、第1の書き込み領域および第2の書き込み領域を有する不揮発性の半導体メモリと、メモリコントローラと、を備え、メモリコントローラは、書き込み命令を受信したときに、半導体メモリにおいて、所定の電源遮断手順を経ない電源断後、電源断前に書き込みが完了していたデータを保全する処理が実行中であるか否かを確認し、処理が実行中でない場合は半導体メモリに第1の書き込み領域へのデータの書き込みを行わせ、処理が実行中である場合は半導体メモリに第2の書き込み領域へのデータの書き込みを行わせる。【選択図】図1

Description

本発明の実施形態は、メモリシステム及びメモリシステムの制御方法に関する。
近年、不揮発性メモリの大容量化が進行し、この不揮発性メモリを搭載したメモリシステムとして、SSD(Solid State Drive)が注目されている。
メモリシステムにおいて不正電源断が生じると、不正電源断後の起動処理において書き込み途中だったブロックのデータの移動を行う。その間、不揮発性メモリへの書き込みは禁止される。このため、データ移動律速による起動処理時間の長期化が問題となっている。
特開2010−157139号公報 特開2012−128643号公報
一つの実施形態は、不正電源断後の起動処理時間を短縮することができるメモリシステム及びメモリシステムの制御方法を提供することを目的とする。
実施形態のメモリシステムは、第1の書き込み領域および第2の書き込み領域を有する不揮発性の半導体メモリと、メモリコントローラと、を備え、メモリコントローラは、書き込み命令を受信したときに、半導体メモリにおいて、所定の電源遮断手順を経ない電源断後、電源断前に書き込みが完了していたデータを保全する処理が実行中であるか否かを確認し、処理が実行中でない場合は半導体メモリに第1の書き込み領域へのデータの書き込みを行わせ、処理が実行中である場合は半導体メモリに第2の書き込み領域へのデータの書き込みを行わせる。
実施形態にかかるメモリシステムの構成例を示す図である。 実施形態にかかる不揮発性メモリの第1の書き込み領域の構成例を示す図である。 実施形態にかかる不揮発性メモリの第2の書き込み領域の構成例を示す図である。 実施形態にかかるメモリシステムの起動処理からコマンド待ち状態への移行までの動作の一例を示すフローチャートである。 実施形態にかかるメモリシステムのアクセスコマンド処理動作の一例を示すフローチャートである。
以下に、本発明につき図面を参照しつつ詳細に説明する。なお、下記の実施形態により、本発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるものあるいは実質的に同一のものが含まれる。
図1〜図5を用いて、実施形態のメモリシステム及びメモリシステムの制御処理について説明する。
[メモリシステムの構成例]
図1は、実施形態にかかるメモリシステム1の構成例を示す図である。図1に示すように、メモリシステム1は、第1の書き込み領域21および第2の書き込み領域22を有する不揮発性の半導体メモリとしての不揮発性メモリ20と、メモリコントローラ10とを備える。以下に、かかるメモリシステム1の詳細について説明する。
メモリシステム1は、ホスト2と所定の通信インタフェースで接続される。ホスト2は、例えばパーソナルコンピュータ、携帯情報端末、またはサーバ等である。メモリシステム1は、ホスト2からアクセスコマンドを受け付けることができる。アクセスコマンドは、リード(読み出し)コマンド、ライト(書き込み)コマンド、及びフラッシュコマンド等である。フラッシュコマンドは、遅滞しているデータのライトを不揮発性メモリ20に強制的に完遂させるコマンドである。各アクセスコマンドは、アクセス先を示す論理アドレスを含んでいる。論理アドレスは、メモリシステム1がホスト2に提供する論理アドレス空間内の位置を示す。メモリシステム1は、例えば、ライトコマンドとともに、書き込み対象のデータを受け付ける。
なお、メモリシステム1は、不揮発性メモリ20として任意の不揮発性の半導体メモリを備えることができる。例えば、メモリシステム1は、不揮発性メモリ20としてNAND型フラッシュメモリやNOR型フラッシュメモリを備えることができる。
不揮発性メモリ20は、第1の書き込み領域21及び第2の書き込み領域22を有する。第1の書き込み領域21は並列処理が可能なブロック群からなる。第2の書き込み領域22は並列処理が可能な他のブロック群からなる。また、第2の書き込み領域22は、第1の書き込み領域21より小さいサイズのブロック群からなることが好ましい。
メモリコントローラ10は、ホスト2と不揮発性メモリ20との間のデータ転送を実行する回路である。メモリコントローラ10は、メモリシステム1の起動時に、今回の起動が、不正電源断後の起動であるか、つまり、前回の電源断が不正電源断であったか否かを判定する。不正電源断とは、所定の終了コマンドが発行されることなくメモリシステム1の電源が遮断されてしまうことである。
また、メモリコントローラ10は、不正電源断後の起動であった場合、不揮発性メモリ20が不正電源断時に書き込み途中だったブロックのクリーンアップ(データの保全の処理)を、不揮発性メモリ20に行わせる。クリーンアップ(データの保全の処理)とは、1つの書き込み領域内でデータを移動させることである。不正電源断時に、或るブロックに書き込み途中だったデータは損傷している恐れがある。そこで、かかるブロック内の他のデータの保全を図るため、それら他のデータを別のブロックに移動させる。
不揮発性メモリ20が1つの書き込み領域に対してクリーンアップを行っているときは、不揮発性メモリ20にその書き込み領域に対してライトコマンド、フラッシュコマンド等の各アクセスコマンドを処理させることができない。そこで、メモリコントローラ10は、不揮発性メモリ20が第1の書き込み領域21内のクリーンアップを行っているときは、不揮発性メモリ20に第2の書き込み領域22に対して各アクセスコマンドを処理させる。
メモリコントローラ10は、CPU(Central Processing Unit)11と、ホストインタフェース(ホストI/F)12と、RAM(Random Access Memory)13と、NANDコントローラ14と、を備える。
CPU11は、ファームウェアプログラムに基づいてメモリコントローラ10が備える他の機能部の制御を実行する。ファームウェアプログラムは、例えば不揮発性メモリ20などの不揮発性の半導体メモリに予め格納されており、起動時に読み出されてCPU11によって実行される。
CPU11は、ホスト2から受け取った書き込み対象のデータを不揮発性メモリ20に書き込む際には、不揮発性メモリ20の空き領域の中からそのデータの書き込み領域を決定し、その物理的位置を特定する。物理的位置は、物理アドレスによって表記される。空き領域とは、いずれのデータも格納されていない領域であり、新たなデータのライトが可能な領域である。CPU11は、当該データの位置を示す論理アドレスに、決定された書き込み領域の物理的位置をマッピングする。
RAM13は、一時記憶領域を提供するメモリである。RAM13を構成するメモリの種類は、特定の種類に限定されない。例えば、RAM13は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成される。RAM13には、管理情報13aが格納される。管理情報13aは、不揮発性メモリ20に記憶されている管理情報が起動処理時などに展開されたマスタ情報である。管理情報13aは、ホスト2から指定された論理アドレスと物理的なデータの記憶位置とを対応付ける情報である。
ホストインタフェース12は、メモリコントローラ10とホスト2との間の通信インタフェースである。ホストインタフェース12は、CPU11による制御の下で、ホスト2とRAM13との間のデータ転送を実行する。
NANDコントローラ14は、CPU11による制御の下で、不揮発性メモリ20とRAM13との間のデータ転送を実行する。即ち、CPU11による制御の下で、ホスト2と不揮発性メモリ20との間のデータ転送は、RAM13を介して実行される。
[第1、第2の書き込み領域の構成例]
次に、図2および図3を用い、不揮発性メモリ20の第1の書き込み領域21及び第2の書き込み領域22の構成例について説明する。図2は、実施形態にかかる不揮発性メモリ20の第1の書き込み領域21の構成例を示す図である。
図2に示すように、第1の書き込み領域21を構成するブロック群は、1つの論理的なブロック(論理ブロック)を構成する。
具体的には、ブロック群に含まれる各ブロック(物理ブロック)は、例えばデータの消去が実行され得る最小の記憶領域である。ブロックは、複数のページを備える。ページは、例えばデータのリードまたはデータのライトが実行され得る最小の記憶領域である。
各ブロックには、1ページより小さい単位に対して物理アドレスが割り当てられる。これをクラスタという。1クラスタのサイズは、ホスト2からの最小のアクセス単位と等しくてもよいし異なっていてもよい。図2の例では、1ページは4個のクラスタで構成されている。
このようなブロックを複数含むブロック群は、1つの論理ブロックを構成する。この論理ブロックを構成する複数のブロックに格納されているデータは、一括して消去される。図2の例では、並列にほぼ一括して消去可能な16個のブロックが1つの論理ブロックを構成している。
第1の書き込み領域21を構成するブロック群が有する複数のページ(物理ページ)は、1つの論理的なページ(論理ページ)を構成する。1つの論理ページは、1つの論理ブロックを構成する複数のブロックのうちのそれぞれ異なるブロックの同一のページ番号のページによって構成される。1つの論理ページを構成する複数のページには、データのリードまたはデータのライトが並列に実行される。図2の例では、並列にほぼ一括してライト及びリードが可能な16個のページが1つの論理ページを構成している。
上記のような、複数のブロックの並列消去、複数のページの並列書き込み及び並列読み出しは、以下の構成により可能となる。
すなわち、第1の書き込み領域21を構成するブロック群とNANDコントローラ14との間にはそれぞれチャネルが設けられ、ブロック群内で並列動作を行うことが可能に構成される。図2の例では、8個のチャネル(ch0〜ch7)が設けられ、8並列動作を行うことが可能である。さらに、各チャネル内には、それぞれ複数のバンクが設けられ、バンクインターリーブによる並列動作が可能に構成される。図2の例では、2つのバンク(Bank0,1)が設けられ、2並列動作を行うことが可能である。
さらに、各バンクは、複数のプレーンに分割されている。各プレーンは、それぞれ独立した周辺回路を備えており、プレーン倍速モードを使用することで、同時に消去/ライト/リードを行うことが可能である。周辺回路とは、例えば、ロウデコーダ、カラムデコーダ、ページバッファ、データキャッシュ等である。
このように、第1の書き込み領域21を構成するブロック群の各ブロックは、複数のチャネルによる並列動作、複数のバンクによる並列動作、複数のプレーンを用いた並列動作が可能である。図2の例のように、チャネル数を8、バンク数を2とし、プレーン数を例えば2とした場合、最大32個のブロックを並列動作させることが可能となる。
次に、図3を用い、第2の書き込み領域22の構成例について説明する。
図3は、実施形態にかかる不揮発性メモリ20の第2の書き込み領域22の構成例を示す図である。第2の書き込み領域22のサイズは、第1の書き込み領域21のサイズより小さいことが好ましい。第2の書き込み領域22は、不正電源断後に第2の書き込み領域22内でクリーンアップが発生した場合でも、第1の書き込み領域21内のクリーンアップが終了する前に第2の書き込み領域22内のクリーンアップを終了可能なサイズであることが、より好ましい。
具体的には、図3に示すように、第2の書き込み領域22を構成するブロック群は、1つの論理ブロックを構成する。第2の書き込み領域22においては、第1の書き込み領域21よりもチャネル数、バンク数、プレーン数が少なく、ブロックの並列度が落とされていることが好ましい。これにより、第2の書き込み領域22内のブロックを、第1の書き込み領域21内のブロックに比べて小さいサイズとすることができる。
また、第2の書き込み領域22を構成するブロックにおいては、2値データが記憶可能なシングルレベルセル(SLC)のトランジスタが用いられることが好ましい。または、多値データが記憶可能なセルに2値データを記憶させる擬似シングルレベルセル(pSLC)のトランジスタが用いられてもよい。これらによっても、第2の書き込み領域22内のブロックを、より小さいサイズとすることができる。第1の書き込み領域21を構成するブロックにおいては、SLCまたは3値以上の多値データが記憶可能なマルチレベルセル(MLC)のいずれのタイプのトランジスタが用いられてもよい。
以上のように、第2の書き込み領域22を充分に小さいサイズとすることで、不正電源断後に、第2の書き込み領域22内においてクリーンアップが発生した場合でも、第1の書き込み領域21内のクリーンアップが終了する前に第2の書き込み領域22内のクリーンアップが終了する。
[メモリシステムの動作例]
次に、図4を用い、メモリシステム1における制御動作の例について説明する。図4は、実施形態にかかるメモリシステム1の起動処理からコマンド待ち状態への移行までの動作の一例を示すフローチャートである。
メモリシステム1が起動されると(図4 start)、メモリシステム1は、起動処理を行う(ステップS10)。起動処理においては、ファームウェアプログラムの読み出し、不揮発性メモリ20に記憶される管理情報の展開等が行われる。起動処理は、ファームウェアプログラムの読み出し及び管理情報の展開等が終了することで完了する。メモリコントローラ10は、起動処理完了後、直ちに、ホスト2へ起動処理の完了通知を送信する。あるいは、メモリコントローラ10は、起動処理完了後、所定時間経過してから、ホスト2へ起動処理の完了通知を送信してもよい。また、メモリコントローラ10は、コマンド待ち状態へ移行する前は、不揮発性メモリ20にライトコマンド、フラッシュコマンド等の各アクセスコマンドを処理させない(第1のモード)。ここで、コマンド待ち状態とは、クリーンアップが実行中でないことを確認する前でなおかつメモリシステム1が受け付けた各アクセスコマンドを処理可能な状態のことである。
また、起動処理完了後、メモリコントローラ10は、今回の起動が、不正電源断後の起動であるか、つまり、前回の電源断が不正電源断であったか否かを判定する(ステップS20)。より具体的には、メモリコントローラ10は、電源断前に所定の電源遮断手順を経ていたか否かを示すフラグの有無を確認する。
ステップS20の判定の結果、不正電源断後の起動ではない場合(ステップS20 No)、メモリコントローラ10は、直ちにコマンド待ち状態へ移行し(ステップS40)、一連の処理を終了する(図4 end)。
ステップS20の判定の結果、不正電源断後の起動である場合(ステップS20 Yes)、メモリコントローラ10は、クリーンアップを開始する(ステップS30)。クリーンアップを開始した後、メモリコントローラ10は、クリーンアップ完了を待つことなくコマンド待ち状態へ移行し(ステップS40)、一連の処理を終了する(図4 end)。つまり、メモリコントローラ10は、クリーンアップをバックグラウンドで行う(バックグラウンド処理)。
次に、図5を用い、メモリシステム1のコマンド待ち状態における動作について説明する。図5は、実施形態にかかるメモリシステムの1アクセスコマンド処理動作の一例を示すフローチャートである。
コマンド待ち状態において、ライトコマンドまたはフラッシュコマンドを受信すると(図5 start)、メモリコントローラ10は、不揮発性メモリ20が第1の書き込み領域21内でクリーンアップを行っている最中(実行中)か否かを確認する(ステップS50)。
クリーンアップが実行中である場合(ステップS50 Yes)、メモリコントローラ10は、不揮発性メモリ20に第2の書き込み領域22へのライトを実行させる(ステップS60a)。ステップS60aにかかるライトは、並列度の低いライト動作となる。また、クリーンアップ中である場合の第2の書き込み領域22へのライトの際、ライト動作のスループットが制限されてもよい。すなわち、クリーンアップ中である場合の第2の書き込み領域22へのライトの際、メモリコントローラ10は、不揮発性メモリ20に処理速度を制限した書き込みを行わせることができる(第2のモード)。ステップS60aにかかるライトが完了後、メモリコントローラ10は、ただちにコマンド待ち状態へ移行し(ステップS70)、一連の処理を終了する(図5 end)。
クリーンアップが実行中でない場合(クリーンアップが終了している場合も含む)(ステップS50 No)、メモリコントローラ10は、不揮発性メモリ20が通常稼動しているものと判定する。そして、メモリコントローラ10は、不揮発性メモリ20に第1の書き込み領域21へのライトを実行させる(ステップS60b)。すなわち、クリーンアップ中でない場合(クリーンアップが終了している場合も含む)の第1の書き込み領域21へのライトの際、メモリコントローラ10は、不揮発性メモリ20に処理速度を制限しない書き込みを行わせることができる(第3のモード)。ステップS60bにかかるライトでは、並列度の高いライト動作が可能である。ステップS60bにかかるライトが完了後、メモリコントローラ10は、一連の処理を終了する(図5 end)。
メモリコントローラ10は、不揮発性メモリ20が通常稼働しているものと判定した後でライトコマンドまたはフラッシュコマンドを受信した場合は、不揮発性メモリ20に第1の書き込み領域21に対して各アクセスコマンドを処理させる。また、メモリコントローラ10は、第1の書き込み領域21内のクリーンアップ終了後(通常稼動時)、第2の書き込み領域22に書き込まれたデータを、順次、第1の書き込み領域21へと移動させる。これにより、第2の書き込み領域22の容量を空けておくことができるので、次の不正電源断が発生したときに、再び第2の書き込み領域22を使用することができる。
[比較例]
比較例のメモリシステムにおいては、不揮発性メモリは第2の書き込み領域を有さない。また、クリーンアップは起動処理の一環として行われ、クリーンアップ中は、不揮発性メモリへのアクセスコマンドの受け付けは一切できない。不揮発性メモリの大容量化を受け、比較例のメモリシステムでは、不正電源断後の、クリーンアップ律速による起動処理時間の長期化が問題となってしまう。
実施形態のメモリシステム1においては、不揮発性メモリは2つの書き込み領域を有する。このため、クリーンアップを待たずに起動処理を完了させ、バックグラウンドでクリーンアップを行いながら、アクセスコマンドに対する対応を第2の書き込み領域22に行わせることができる。これにより、不正電源断後の起動処理時間を短縮することができる。また、クリーンアップをバックグラウンド処理とすることで、第1の書き込み領域21へのリードコマンドの受け付けが可能となる。
また、第2の書き込み領域22は、例えば、小さいサイズのブロック群により構成される。これにより、例えば、連続的に不正電源断が発生し、第2の書き込み領域22においてもクリーンアップの必要性が生じた場合であっても、通常の起動処理時間内にクリーンアップを終えることができる。
また、第2の書き込み領域22のサイズが小さいことを受けて、実施形態のメモリシステム1においては、例えば、第2の書き込み領域22へのライト動作を制限している。これにより、クリーンアップ終了までに、第2の書き込み領域22の容量がいっぱいになってしまうことを抑制することができる。また、実施形態のメモリシステム1においては、例えば、起動処理完了後、所定時間遅らせてホスト2に完了通知を送信することとする。これにより、起動処理完了後にスループット制限を受ける時間を短くすることができる。このように、起動処理の完了通知の送信タイミングを調整することで、見かけ上の起動処理時間の長短を任意に制御することができる。
[変形例]
第1の書き込み領域は複数あってもよい。第2の書き込み領域は複数あってもよい。
第1の書き込み領域の一部が、第2の書き込み領域を兼ねていてもよい。つまり、第1の書き込み領域内に第2の書き込み領域を設け、通常稼動時にも、第2の書き込み領域にライトしてもよい。この場合であっても、第2の書き込み領域を充分小さいサイズとすることで、不正電源断後、他の領域(第1の書き込み領域)がクリーンアップ中である場合にも、素早くクリーンアップを終えて、ホストからのアクセスコマンドに対応することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例示であり、発明の範囲はそれらに限定されない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、2…ホスト、10…メモリコントローラ、11…CPU、12…ホストインタフェース、13…RAM、14…NANDコントローラ、20…不揮発性メモリ、21…第1の書き込み領域、22…第2の書き込み領域。

Claims (8)

  1. 第1の書き込み領域および第2の書き込み領域を有する不揮発性の半導体メモリと、
    メモリコントローラと、を備え、
    前記メモリコントローラは、
    書き込み命令を受信したときに、前記半導体メモリにおいて、所定の電源遮断手順を経ない電源断後、前記電源断前に書き込みが完了していたデータを保全する処理が実行中であるか否かを確認し、
    前記処理が実行中でない場合は前記半導体メモリに前記第1の書き込み領域へのデータの書き込みを行わせ、
    前記処理が実行中である場合は前記半導体メモリに前記第2の書き込み領域へのデータの書き込みを行わせる、
    メモリシステム。
  2. 前記第2の書き込み領域のサイズは、前記第1の書き込み領域のサイズより小さい、
    請求項1に記載のメモリシステム。
  3. 前記第2の書き込み領域は、
    前記第1の書き込み領域への前記処理が終了する前に前記第2の書き込み領域への前記処理を終了可能なサイズである、
    請求項2に記載のメモリシステム。
  4. 前記メモリコントローラは、
    前記処理を行っているときに、前記半導体メモリの書き込み動作におけるスループットを制限する、
    請求項3に記載のメモリシステム。
  5. 前記メモリコントローラは、
    前記半導体メモリが起動処理を完了後、所定時間経過してから、前記ホストへの前記起動処理の完了通知を送信する、
    請求項4に記載のメモリシステム。
  6. 前記第2の書き込み領域は多値データが記憶可能なセルを含み、
    前記セルは擬似シングルレベルセルとして使用される、
    請求項2乃至請求項5のいずれか1項に記載のメモリシステム。
  7. 不揮発性の半導体メモリと、
    メモリコントローラと、を備え、
    前記メモリコントローラは、
    所定の電源遮断手順を経ない電源断である不正電源断の後の起動時において、前記半導体メモリにデータの書き込みを行わせない第1のモードから、前記半導体メモリに処理速度を制限した書き込みを行わせる第2のモードまたは前記半導体メモリに処理速度を制限しない書き込みを行わせる第3のモードへと移行させながら前記半導体メモリを動作させる、
    メモリシステム。
  8. 書き込み命令を受信したときに、半導体メモリにおいて、所定の電源遮断手順を経ない電源断後、前記電源断前に書き込みが完了していたデータを保全する処理が実行中であるか否かを確認し、
    前記処理が実行中でない場合は、前記半導体メモリに前記半導体メモリが有する第1の書き込み領域へのデータの書き込みを行わせ、
    前記処理が実行中である場合は、前記半導体メモリに前記半導体メモリが有する第2の書き込み領域へのデータの書き込みを行わせる、
    メモリシステムの制御方法。
JP2018074821A 2018-04-09 2018-04-09 メモリシステム及びメモリシステムの制御方法 Pending JP2019185350A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018074821A JP2019185350A (ja) 2018-04-09 2018-04-09 メモリシステム及びメモリシステムの制御方法
US16/129,315 US10802917B2 (en) 2018-04-09 2018-09-12 Memory system confirming whether processing of preserving data which has been before shutdown

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018074821A JP2019185350A (ja) 2018-04-09 2018-04-09 メモリシステム及びメモリシステムの制御方法

Publications (1)

Publication Number Publication Date
JP2019185350A true JP2019185350A (ja) 2019-10-24

Family

ID=68098905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018074821A Pending JP2019185350A (ja) 2018-04-09 2018-04-09 メモリシステム及びメモリシステムの制御方法

Country Status (2)

Country Link
US (1) US10802917B2 (ja)
JP (1) JP2019185350A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10583804B2 (en) * 2017-04-24 2020-03-10 Liang-Hsiung Wang Guide ring sensor
US11403041B2 (en) 2020-09-23 2022-08-02 Kioxia Corporation Memory system and control method thereof
US11416372B2 (en) 2020-03-23 2022-08-16 Kioxia Corporation Storage device and method of controlling storage device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0291749A (ja) * 1988-09-29 1990-03-30 Toshiba Corp 不揮発型半導体メモリ装置
WO2009084724A1 (en) * 2007-12-28 2009-07-09 Kabushiki Kaisha Toshiba Semiconductor storage device
JP5317690B2 (ja) 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US8195891B2 (en) 2009-03-30 2012-06-05 Intel Corporation Techniques to perform power fail-safe caching without atomic metadata
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2013061799A (ja) 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
US8924785B2 (en) 2012-09-27 2014-12-30 Apple Inc. Power shutdown prediction for non-volatile storage devices
US9645896B2 (en) * 2013-12-26 2017-05-09 Silicon Motion, Inc. Data storage device and flash memory control method
US9880928B1 (en) * 2014-09-26 2018-01-30 EMC IP Holding Company LLC Storing compressed and uncompressed data in blocks having different allocation unit sizes
KR102259256B1 (ko) * 2017-05-16 2021-06-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102565913B1 (ko) * 2018-06-12 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10583804B2 (en) * 2017-04-24 2020-03-10 Liang-Hsiung Wang Guide ring sensor
US11416372B2 (en) 2020-03-23 2022-08-16 Kioxia Corporation Storage device and method of controlling storage device
US11403041B2 (en) 2020-09-23 2022-08-02 Kioxia Corporation Memory system and control method thereof

Also Published As

Publication number Publication date
US20190310917A1 (en) 2019-10-10
US10802917B2 (en) 2020-10-13

Similar Documents

Publication Publication Date Title
KR100874998B1 (ko) 반도체 집적 회로 장치의 데이터 기록 방식
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP2008009942A (ja) メモリシステム
US20110060865A1 (en) Systems and Methods for Flash Memory Utilization
JP5259138B2 (ja) 記憶装置
US9123443B2 (en) Memory device, memory management device, and memory management method
JP2011070365A (ja) メモリシステム
JP2019185350A (ja) メモリシステム及びメモリシステムの制御方法
JP2009054275A (ja) マルチビット及びシングルビット方式でデータを格納するフラッシュメモリ装置及びそのプログラム方法とこれを用いたメモリシステム
TW202027085A (zh) 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
JP2007094921A (ja) メモリカードとその制御方法
US8527733B2 (en) Memory system
KR20120088454A (ko) 비휘발성 메모리 시스템 및 비휘발성 메모리 장치와, 이를 위한 프로그램 방법
US11847065B2 (en) Memory sub-system management of firmware block record and device block record
US20130132640A1 (en) Data writing method, and memory controller and memory storage apparatus using the same
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
TW202026883A (zh) 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
JP2009175877A (ja) 半導体メモリ
JP2013200692A (ja) メモリシステム
US10783070B2 (en) Memory system having first and second correspondence tables and method of controlling memory system
JP2007220274A (ja) 不揮発性メモリ、そのためのデータ有効性を判断する装置及び方法
US11487655B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
KR20080019115A (ko) 플래시 메모리 장치
JP2007122640A (ja) 記憶装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180905