JP2013235630A - 制御装置、記憶装置、データ書込方法 - Google Patents
制御装置、記憶装置、データ書込方法 Download PDFInfo
- Publication number
- JP2013235630A JP2013235630A JP2012106830A JP2012106830A JP2013235630A JP 2013235630 A JP2013235630 A JP 2013235630A JP 2012106830 A JP2012106830 A JP 2012106830A JP 2012106830 A JP2012106830 A JP 2012106830A JP 2013235630 A JP2013235630 A JP 2013235630A
- Authority
- JP
- Japan
- Prior art keywords
- physical
- page
- data
- logical
- writing
- 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.)
- Granted
Links
Images
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
-
- 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
-
- 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
-
- 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
-
- 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
- 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/7202—Allocation control and policies
-
- 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/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【解決手段】不揮発性メモリは、1つのメモリセルに2ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、各ページが物理アドレス順に使用されてデータ書込が行われる。この不揮発性メモリへのホスト機器からのデータ書込要求に応じて、供給されたホストデータの書込を行う。この場合に、次回のデータ書込要求に応じたデータ書込が下位ページから開始されるように、下位ページの直前ページまでデータ書込を実行するようにする。
【選択図】図6
Description
上記特許文献1〜4にはフラッシュメモリを用いた記憶装置が開示されている。
なお、狭義のMLCとして特に2ビット記憶のものをさし、3ビット記憶のものをTLC(Triple Level Cell)と呼ぶ場合もある。
上記文献5,6には1つのセルに複数ビットデータを記憶する多値フラッシュメモリが開示されている。
消去(イレーズ)は物理ブロック単位で行われ、書込(プログラム)及び読出(リード)は物理ページ単位で可能とされる。
ホスト側やメモリ制御部側からのアドレス指定は、論理アドレス(LBA:Logical Block Address)が用いられる。論理アドレスによる論理ブロック、論理ページが、上記の物理アドレスに対応づけられる。これによりアクセス要求時には論理アドレスが物理アドレスに変換されて、実際のフラッシュメモリへのアクセスが実行される。
例えば2ビット記憶のMLCの場合、下位ページとしてのロアーページ(Lower Page)と上位ページとしてのアッパーページ(Upper Page)が設定される。
3ビット記憶のTLCの場合、下位ページとしてのロアーページと、中位ページとしてのミドルページ(Middle Page)と、上位ページとしてのアッパーページが設定される。
しかしながら、ロアーページだけを使用した場合、フラッシュメモリとしては、MLCの場合は半分、TLCの場合は1/3の領域しか使用することができなくなってしまう。
本開示の記憶装置は、当該制御装置と上記の不揮発性メモリを有する。
<1.メモリカード構成>
<2.MLC/TLC>
<3.データ書込制御処理>
<4.管理情報読込処理>
<5.論理・物理アドレス変換テーブルへの適用例>
<6.変形例>
図1に実施の形態のメモリカード1の構成例を示す。
メモリカード1はホスト機器2に接続され、記憶装置として用いられる。ホスト機器2とは、例えばパーソナルコンピュータ、デジタルスチルカメラ、ビデオカメラ、オーディオプレーヤ、ビデオプレーヤ、ゲーム機器、携帯電話機、PDA(Personal Digital Assistant)等の情報端末など、各種の電子機器、情報処理装置が想定される。
デバイスインターフェース13はホスト機器2との間の通信を行う。
バッファRAM14はホスト機器2との間の転送データ(書込データや読出データ)のバッファリングに用いられる。
即ち本実施の形態の場合、この不揮発性メモリ15は、1つのメモリセルに2ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページ(ロアーページ)と上位ページ(アッパーページ)を有する。そして各物理ページが物理アドレス順に使用されてデータ書込が行われる多値NAND型フラッシュメモリとされる。
ホスト機器2から送られてくる書き込むべきデータは、デバイスインターフェース13で受信されてバッファRAM14にバッファリングされる。そして制御部11の制御の元、データが不揮発性メモリ15に書き込まれる。制御部11は書込要求、書込アドレス、データサイズに応じてこれらの動作を制御する。
データ読出時にはホスト機器2から読出要求とともに、読出アドレス(論理アドレス)、データサイズが送られてくる。制御部11は、読出アドレス、データサイズに基づいて不揮発性メモリ15から指示されたデータの読出を行い、バッファRAM14にバッファリングする。また制御部11はバッファリングされた読出データに対してエラー訂正処理等を行う。そして読出データはバッファRAM14からデバイスインターフェース13に転送され、ホスト機器2に送信される。
図2には、物理ブロックPBとしてn+1個の物理ブロックPB0〜PBnを模式的に示している。ここでは1つの物理ブロックPBにおける16個の物理ページPP(PP0〜PP15)を示している。なお、1つの物理ブロックPBは16個の物理ページPPで形成されることに限られるわけではなく、さらに物理ページPP16以降が存在してもよい。図は、物理ブロックPB内の一部と考えてもよい。
また多値NAND型フラッシュメモリとされる本例の不揮発性メモリ15では、各物理ページとして、ロアーページ、アッパーページが割り当てられる。
ホスト機器2側からのアドレス指定は、論理アドレスが用いられる。論理アドレスによる論理ブロック、論理ページ、論理セクタが、上記の物理アドレスに対応づけられる。即ち制御部11は論理アドレスと物理アドレスを対応づける論理・物理アドレス変換テーブルを形成し、ホスト機器2からのアクセス要求時には、指定される論理アドレスを論理・物理アドレス変換テーブルを参照して物理アドレスに変換する。そして物理アドレスにより、実際の不揮発性メモリ15へのアクセスを実行する。
また制御部11の管理のもと、例えばインターナルRAM12に、制御部11が生成、更新した論理・物理アドレス変換テーブルが記憶される。
なお、ホスト機器2から書込や読出が要求されるデータ(ホスト機器2が論理アドレスで管理するデータ)を「ホストデータ」という。
このため本例の場合、制御部11は、データ書込要求に応じたホストデータの書込が、ロアーページの直前の物理ページに至らないで終了した場合は、ロアーページの直前の物理ページまで、非ホストデータの書込を実行させる。非ホストデータとは、例えば上述の論理・物理アドレス変換テーブル等、制御部11が使用する管理情報である。
なお管理情報としては論理・物理アドレス変換テーブルに限られず、例えばホストデータが著作権コンテンツデータである場合の著作権情報であったり、不揮発性メモリ15においてエラーが発生した物理アドレスを示すエラー情報であったり、多様な例が考えられる。メモリカード1の製品情報、シリアルナンバ等の情報、使用履歴情報などであってもよい。
また非ホストデータという意味では、管理情報に限られず、ホスト機器2からデータ書込要求が行われるホストデータ以外のデータを指す。
ここでMLC、TLCと呼ばれる多値NAND型フラッシュメモリについて説明しておく。
図3は実施の形態に係る不揮発性メモリ15としての多値NAND型フラッシュメモリの内部構成を示している。
図3に示すように、多値NAND型フラッシュメモリは、複数の電気的に書き換え可能なメモリセルMTがマトリクス状に配置されたメモリセルアレイを構成している。
各NAND列の一端はドレイン側選択ゲート線SG0に接続された選択ゲートトランジスタST10〜ST1nを介してビット線BL0〜BLnに、他端はソース側選択ゲート線SGLに接続された選択ゲートトランジスタST20〜ST2nを介して共通ソース線SLに接続されている。NAND列はn列ビット線各々のメモリセルMTの制御ゲートは、ワード線WL0〜WLmに接続されている。
本開示に係るメモリセルMTは多ビットデータを記憶できるマルチレベルセルを想定しているので、上記のページはそのビット数に相当するページ数となる。図3では、2ビットデータを記憶できるメモリセルMTを示しており、上記の複数のメモリセルMTで2つの物理ページ分となる。この対応を図3の右側に示す。
ロアーページ、アッパーページ毎に、物理ページPPとしてのアドレス(PP0〜PPq)が割り当てられる。なおここで図示する物理ページPPとしてのアドレスPP0〜PPqの割当は一例に過ぎない。
書込動作、読出動作はこのページ単位で行われる。書込は、ロアーページから上位アッパーページの順に行われ、アッパーページからロアーページの順に書込することはできない。アッパーページの書込に失敗すると、原理上ロアーページの内容が破壊(消失)することがある。
図に示すように、メモリセルMT当たり、2ページ分のデータを記憶することができる。書込はロアーページからアッパーページの順に行われる。
データ“11”は、メモリセルMTのしきい値電圧が負の消去状態である。なお、データの割り当て規則はこれに限らない。また、本実施の形態では、以降、1個のメモリセルMTに2ビットの値を記憶することができるものを取り上げて説明するが、1個のメモリセルMTに3ビット以上の記憶を行う構成であってもよい。
アッパーページ書込動作においては、データ“11”のメモリセルMTと、データ“10”のメモリセルMTに対して、それぞれ選択的にアッパービットデータ“x”の書込が行われて、データ“01”およびデータ“00”が書き込まれる。
アッパーページ書込前のデータ“10”のしきい値分布は、アッパーページ書込後のデータ“01”とデータ“00”のしきい値分布の中間程度に位置しており、一般的に、アッパーページ書込後のしきい値分布より広くなっている。
即ちアッパーページ書込後は、電荷量に対して3つの閾値で各値が識別される状態となる。
ここでは1つの物理ブロックにおける物理ページPPを示しているが、各物理ページPPには「0」「1」「2」・・・のページアドレスが割り当てられる。これを物理ページ「PP0」「PP1」・・・「PP15」として示している。
各物理ページにおいて、[Lower]はロアーページを示し、[Upper]はアッパーページを示す。この例では、物理ページPP0〜PP3、PP6、PP7、PP10、PP11、PP14、PP15がロアーページである。また物理ページPP4、PP5、PP8、PP9、PP12、PP13がアッパーページである。
この物理ブロックPBへは、ページアドレス順に物理ページPPが使用されてデータの書込が行われる。つまり物理ページPP0、PP1・・・PP15の順番に使用される。例えば図3に示したように、ワード線WL0〜WLm毎にロアーページ、アッパーページがメモリセルを共有する形となるが、例えば物理ページPP0(ロアーページ)と物理ページPP4(アッパーページ)が、同じワード線のメモリセルMTで共有されるような形態となる。そして、この図5のページアドレス順に物理ページPPが使用されることで、ロアーページとアッパーページの組では、必ずロアーページに先に書込が行われる。
各物理ページにおいて、[Lower]はロアーページ、[Middle]はミドルページ、[Upper]はアッパーページを示す。この例では、物理ページPP0、PP1、PP3、PP6、PP9、PP12、PP15がロアーページである。また物理ページPP2、PP4、PP7、PP10、PP13がミドルページである。また物理ページPP5、PP8、PP11、PP14がアッパーページである。
TLCでは、ロアーページ、ミドルページ、アッパーページがメモリセルを共有する形となるが、この図5Bのように物理ページアドレスが設定されることで、各メモリセルで見れば、書込動作は必ずロアーページ、ミドルページ、アッパーページの順番で行われる。
本実施の形態の制御部11は、ホスト機器2から要求されたホストデータの書込を、例えば上記図5A、図5Bのような物理ブロック内で、ページアドレス順の物理ページPPに行っていく。
このとき、連続してホストデータの書込が継続する間は、ロアーページだけでなく、ミドルページやアッパーページも含めて書込を行う。
そして、ホストデータの書込が終了した物理ページの次の物理ページがロアーページであった場合には、その時点で処理を完了する。
ところがホストデータの書込が終了したページの次のページがロアーページでなかった場合には、次のロアーページの直前の物理ページまで、管理情報(例えば論理・物理アドレス変換テーブル)の書込を行い、次の書込がロアーページから開始されるような状態にする。
制御部11はステップF101として、ホスト機器2からデータ書込要求に応じて、書込を行うホストデータの取り込みや論理アドレスの取得等を行う。
具体的には制御部11は、送信されてくるホストデータについてはデバイスインターフェース13を介してバッファRAM14に一時格納させる。また制御部11は、デバイスインターフェース13を介して送信される書込要求のコマンドにより、書き込むホストデータの論理アドレスとデータ量を把握する。
なお、論理・物理アドレス変換テーブルは上記の管理情報の1つの例であるが、論理・物理アドレス変換テーブルに関する動作は、まとめて後述する。
もし、次の物理ページPPがロアーページであれば、そのまま今回の書込要求に応じた処理を終える。
管理情報として、例えば著作権情報、エラーテーブル、論理・物理アドレス変換テーブルなどの書込を行う。これら全部でもよいし、一部でもよい。またこれら以外の管理情報でもよい。
そして再度ステップF104の判断を行い、次の物理ページPPがロアーページであれば処理を終えるが、次の物理ページPPがロアーページでなければ、再度ステップF105で、さらに次の物理ページPPに管理情報の書込を行う。
図7,図8A,図9Aは或る物理ブロックPBxに対して、今回のホストデータの書込が行われた状態を示している。図中、各物理ページPP内の「Data」はホストデータが書き込まれた状態を示している。
この図7は、今回のホストデータが、ステップF103の書込制御に基づいて、物理ページPP0〜PP9まで書き込まれた場合である。この場合、次の物理ページPP10はロアーページとなっている。従ってステップF104では、次の物理ページPPがロアーページであるとして、そのまま今回の書込要求に応じた処理を終えることになる。
その後のステップF104では、次の物理ページPP10がロアーページであると判断され、それにより今回の書込要求に応じた一連の処理を終えることになる。
即ち、ホストデータの書込完了の時点で、次の物理ページがロアーページであれば、その時点で一連の書込動作を終える。
また、ホストデータの書込完了の時点で、次の物理ページがロアーページでなければ、次の物理ページがロアーページとなる状態となるまで、管理情報の書込を行って、一連の書込動作を終える。
これにより、ホスト機器2からの書込要求があったときは、ホストデータの書込は必ずロアーページから開始されることになる。これにより書込アクセスの高速化が実現される。
物理ページPPはページアドレス順に使用されていくため、比較的サイズの大きいホストデータは、ロアーページ/アッパーページに関わりなく、物理アドレス順に使用されて書込が行われる。例えば図7,図8,図9の例では10物理ページ程度を必要とするホストデータの書込例を示したが、その場合、図示のように物理アドレス順にロアーページ/アッパーページの両方がホストデータの書込に用いられる。
ロアーページとアッパーページでは、書込速度に大きな差があることを先に述べたが、このようにロアーページ/アッパーページを平均的に使用するホストデータの場合、アッパーページを用いることによる書込速度はさほど問題にはならない。ロアーページも使用されることで全体的に平均化されることもある。
ところが本実施の形態の場合、書込要求の際には必ずロアーページから書込が開始されるため、小サイズのホストデータは、殆どロアーページのみを使用して書込が行われることになる。このため特に小サイズの書込要求が多発する動作環境においては、非常にアクセス速度が向上することになる。
ホスト機器2が書込コマンドを発行するとメモリカード1側では図示のようにホストデータの書込を行う。制御部11としては図6のステップF103の処理を行うことになる。このステップF103でホストデータの書込を行ったら、その完了に応じて、制御部11はホスト機器2に対して完了通知を行う。
そしてその直後、次ページがロアーページでない場合は、ステップF105の処理として管理情報書込を行うようにする。
従って図10からわかるように、管理情報書込は、ホスト機器2からの書込要求が無い期間に行われることとなる。結果、アッパーページへの管理情報の書込に要する時間は、ホスト機器2からみた書込アクセス時間に含まれず、ホスト機器2からみて高速アクセスが実現される。
そして、ホスト機器2から次の書込コマンドが発行されたときは、ホストデータの書込はロアーページから行われることとなる。
上述のように、ホストデータの書込の際には、アッパーページに管理情報が書き込まれることがある。ここでは制御部11が管理情報を読み出す場合の動作例を説明する。
図11に制御部11の管理情報読込処理例を示している。
制御部11は必要に応じて図11の処理で不揮発性メモリ15に記憶させた管理情報を読み込むことができる。
なお、ここでは単に目的の管理情報を検索する処理例を示す。管理情報の1つとして論理・物理アドレス変換テーブルがあると先に述べたが、論理・物理アドレス変換テーブルを再構築する場合の処理は後に詳しく説明する。
物理ブロックPBは物理ページPP0から順に使用されていくもので、最終使用済み物理ページPPeとは、その時点で過去に最新のデータ書込が行われた物理ページPPのことである。
図12Aには、過去に物理ページPP9までデータ書込が行われた物理ブロックPBxを示しているが、この場合、物理ブロックPBxは矢印の方向で各物理ページPPが順に使用されて書込が行われたものである。そして最終使用済み物理ページPPeとは、物理ページPP9となる。
2分検索とは、例えば中央の物理ページPPを確認しながら最終使用済み物理ページPPeを探索する手法である。
1つの物理ブロックPBが16個の物理ページPP0〜PP16で構成されるとして、図12Aでいえば、まず例えば物理ページPP7を確認する。物理ページPP7が書込済みであれば、最終使用済み物理ページPPeは物理ページPP7〜PP15のいずれかである。そこで次に物理ページPP11を確認する。物理ページPP11が未使用であれば、最終使用済み物理ページPPeは物理ページPP7〜PP10のいずれかである。そこで次に物理ページPP9を確認する。このように中央の物理ページPPを確認しながら追い込んでいき、最終使用済み物理ページPPeを探索するものである。
ロアーページでなければ、制御部11はステップF203で、最も近い非ロアーページ(つまり狭義のMLCの場合はアッパーページ)を、物理アドレスが若い方にさかのぼって検索する。
ステップF201で検索した最終使用済み物理ページPPeがアッパーページであった場合は、この最終使用済み物理ページPPeに読込目的の管理情報が記憶されているか否かを判断することになる。
またステップF201で検索した最終使用済み物理ページPPeがロアーページであって、ステップF203で最も近いアッパーページを検索した場合は、この検索したアッパーページに読込目的の管理情報が記憶されているか否かを判断する。
なお、ここでいう目的の管理情報とは、今回の処理で読み出そうとしている管理情報の種別のことである。例えば管理情報として記憶させた著作権情報を読み出す目的の処理であれば、目的の管理情報とは著作権情報のこととなる。
図12Bは、最終使用済み物理ページPPeがアッパーページである物理ページPP9であった場合を示している。この場合、最終使用済み物理ページPPe(PP9)に目的の管理情報MGTが記憶されていれば、当該物理ページPP9から図示のようにそれを読み込むことになる。
図12Cは、最終使用済み物理ページPPeがロアーページである物理ページPP10であった場合を示している。この場合、最終使用済み物理ページPPe(PP10)に直近のアッパーページを検索し、物理ページPP9で目的の管理情報MGTの有無を確認する。そして目的の管理情報MGTが記憶されていれば、当該物理ページPP9から図示のようにそれを読み込むことになる。
この場合、制御部11はステップF207で、目的の管理情報は無いとして処理を終える。
以上の実施の形態において、管理情報として論理・物理アドレス変換テーブルをアッパーページに記憶させる場合について説明する。
この場合、非シーケンシャルなホストデータの書込や、記憶済みの或る論理アドレスのホストデータの書換が要求されても、ガベージコレクションを行うことなく対応できる。つまり書込要求されたホストデータを、物理ブロックPB内の最終使用済みの物理ページの次の物理ページPPに書き込めばよい。
ところが、この場合、制御部11が、或る物理ブロックPBに記憶されているホストデータの論理アドレスと物理アドレスの対応関係を知るには、当該物理ブロックPBの全ての書込済みの物理ページPPを読み出し、各物理ページPPの冗長エリアに書きこまれている論理アドレスの情報を取得して、対応関係の情報(つまり論理・物理アドレス変換テーブル)を構築する必要がある。結果としてホストデータの書込速度、読出速度を著しく低下させてしまう。
その上で、ホストデータの書込の際に、上述のように、次回の書込がロアーページから開始されるように、必要に応じて管理情報(ここでは論理・物理アドレス変換テーブル)を書き込むことで、論理・物理アドレス変換テーブルの生成・更新のための動作を効率的に短時間で実行できるようになる。
図13Aは、或る物理ブロックPBxの各物理ページPP0〜PP15の記憶状態を示している。
仮に、1つの物理ページPPは、16Kbyteであるとする。またホストデータは4Kbyte単位で論理アドレスが付与されているとする。図の枠の中の数値は論理アドレス(LBA)を示している。また(L)はロアーページ、(U)はアッパーページを示している。
次の書込要求では、同じく論理アドレス「1」「2」「3」「4」のホストデータが物理ページPP1に書き込まれている。このときも次の物理ページPP2はロアーページであるので管理情報書込は行われていない。
さらに次の書込要求で、論理アドレス「3000」〜「3011」のホストデータが物理ページPP3〜PP5に書き込まれているが、このときも次の物理ページPP6はロアーページであるので管理情報書込は行われていない。
例えば論理アドレス「1」を先頭とする論理アドレス「1」「2」「3」「4」の最新のホストデータが、物理ページPP1に記憶されていることが示される。
また論理アドレス「9」を先頭とする論理アドレス「9」「10」「11」「12」の最新のホストデータが、物理ページPP6に記憶されていることが示される。
他も同様に、各論理アドレスの最新のホストデータが記憶された物理ページPPが示される。
このような論理・物理アドレス変換テーブルが構築されることで、制御部11は、ホスト機器2が論理アドレスで指定するホストデータが、物理ページPBxにおいてどの物理ページPPに記憶されているかを把握できる。
説明上、論理・物理アドレス変換テーブルにエントリされた個々の対応情報を「論物対応データ」という。
管理情報MGTが記憶されるのは、ホストデータの記憶が完了した次の物理ページPPがロアーページでない場合であるため、或る物理ブロックPBxの論理・物理アドレス変換テーブルが、必ずしも、その物理ブロックPBx内に記憶されるとは限らない。このための例えば物理ブロックPBxの論理・物理アドレス変換テーブルを、他の物理ブロックPByの物理ページPP内での管理情報書込機会に書き込むことを許容してもよい。そのような場合を考慮すれば、図14Bのように、各論理アドレスに対応して、物理ブロックPBの番号と物理ページPPの番号を管理することが適切となる。
図15は制御部11による論理・物理アドレス変換テーブル読込処理を示している。制御部11は、電源投入時や、上記図6のステップF102の処理の準備を行う時点、或いは他の任意の時点で、この図15の論理・物理アドレス変換テーブル読込処理を行うことができる。
最終使用済み物理ページPPeに論理・物理アドレス変換テーブルが記憶されていた場合、制御部11はステップF303からF307に進み、当該論理・物理アドレス変換テーブルを取り込む。
このような場合、制御部11は図13Aの矢印Rとして示すように、検索された最終使用済み物理ページPPeに記憶されていた論理・物理アドレス変換テーブルを取り込むことになる。
この最終使用済み物理ページPPeに記憶されていた論理・物理アドレス変換テーブルは、その時点の当該物理ブロックPBxに記憶された全てのホストデータについての論物対応データを含む最新のものである。
つまり、このように最終使用済み物理ページPPeから論理・物理アドレス変換テーブルが読み込めた場合、最新の論理・物理アドレス変換テーブルが得られたことになる。
そして当該物理ページPPが対象の物理ブロックPBxの先頭の物理ページPP0でなければ、ステップF305からF306に進み、1つ前の物理ページPPの読出を行い、ステップF303で、その物理ページPPに論理・物理アドレス変換テーブルが記憶されているか否かを確認する。
この場合、矢印Sとして示すように1つ前の物理ページPPの確認を行っていく。この例では1つ前の物理ページPP9に記憶された管理情報MGTに論理・物理アドレス変換テーブルが含まれていたとすると、矢印Rとして示すように物理ページPP9から論理・物理アドレス変換テーブルを取り込むことになる。
そこでステップF307では、この物理ページPP10についての論物対応データを論理・物理アドレス変換テーブルに反映させるように論理・物理アドレス変換テーブルの更新を行う。
これによって、最新の状態の論理・物理アドレス変換テーブルが得られる。この場合、最新の論理・物理アドレス変換テーブルは、図14Aの内容に物理ページPP10と論理アドレス「5」「6」「7」「8」を対応づける論物対応データを加えた図14Cのようになる。
この場合制御部11はステップF307で論理・物理アドレス変換テーブルを新たに構築することになる。
即ち最終使用済み物理ページPPeから先頭の物理ページPP0までの各物理ページPPについてステップF304で記憶した論理アドレスを用いて、各論理アドレスについての論物対応データを生成し、論理・物理アドレス変換テーブルを生成する。これによって、最新の状態の論理・物理アドレス変換テーブルが得られる。
特に、最終使用済み物理ページPPeから論理・物理アドレス変換テーブルが発見できた場合は、論理・物理アドレス変換テーブルを読み込むだけでよい。また最終使用済み物理ページPPeからさかのぼった物理ページPPで論理・物理アドレス変換テーブルが発見された場合は、読み込んだ論理・物理アドレス変換テーブルに、それまでの各物理ページPPの内容を反映させるように更新すればよい。
特にホスト機器2からの書込要求として、細かいサイズのホストデータの書込が多い場合、アッパーページに論理・物理アドレス変換テーブルが書き込まれる可能性が高くなる。この場合、最新の論理・物理アドレス変換テーブルの迅速な読出に有利となる。
以上、実施の形態について説明したが、実施の形態の構成、処理としては多様な変形例が考えられる。
また図11のステップF203、F205の「非ロアーページ」とはアッパーページ又はミドルページとすればよい。
つまりTLCの場合、ロアーページに比べて、ミドルページ、アッパーページは書込速度が遅くなるため、ミドルページ、アッパーページを、管理情報の書込に用いるものとする。
例えばダミーデータ、ランダムデータや、通常ホスト機器2からは直接参照しないようなデータなどをアッパーページやミドルページに書き込んでもでもよい。即ち非ホストデータの書込を実行させればよい。その意味で図6のステップF105では、非ホストデータとして多様な情報もしくは意味の無いデータの書込を実行するものとしてもよい。
本開示の技術は、各種メモリカード、SSD、eMMCなどに適用できる。
(1)1つのメモリセルに2ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対して、ホスト機器からのデータ書込要求に応じて、供給されたホストデータの書込制御を行うとともに、次回のデータ書込要求に応じたデータ書込が下位ページから開始されるように、下位ページの直前の物理ページまでデータ書込を実行させる制御部を備えた制御装置。
(2)上記制御部は、データ書込要求に応じたホストデータの書込が、下位ページの直前の物理ページに至らないで終了した場合は、下位ページの直前の物理ページまで、非ホストデータの書込を実行させる上記(1)に記載の制御装置。
(3)上記制御部は、データ書込要求に応じたホストデータの書込が、下位ページの直前の物理ページに至らないで終了した場合は、データ書込要求に対する書込完了を上記ホスト機器に通知した後に、下位ページの直前の物理ページまで、非ホストデータの書込を実行させる上記(1)又は(2)に記載の制御装置。
(4)上記非ホストデータは上記制御部が使用する管理情報である上記(2)又は(3)に記載の制御装置。
(5)上記制御部は、上記不揮発性メモリに対して、下位ページ以外の物理ページの検索を行って上記管理情報を読み出す制御を行う上記(4)に記載の制御装置。
(6)上記非ホストデータは、ホストデータの論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス変換テーブルである上記(2)乃至(5)のいずれかに記載の制御装置。
(7)上記不揮発性メモリでは、複数の物理ページにより、物理ブロックが形成されており、
上記制御部は、
上記物理ブロック内で、最終使用済みの物理ページから先頭側の物理ページに向かって、順に、物理ページ内に上記論理・物理アドレス変換テーブルが記憶されているか否かを検索して、最初に発見された上記論理・物理アドレス変換テーブルを取得する処理を行い、
取得した論理・物理アドレス変換テーブル及び論理・物理アドレス変換テーブルが記憶されていなかった物理ページの論理アドレス情報を用いて、最新の論理・物理アドレス変換テーブルを取得する上記(6)に記載の制御装置。
(8)上記不揮発性メモリは多値NAND型フラッシュメモリである上記(1)乃至(7)のいずれかに記載の制御装置。
Claims (10)
- 1つのメモリセルに2ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対して、ホスト機器からのデータ書込要求に応じて、供給されたホストデータの書込制御を行うとともに、次回のデータ書込要求に応じたデータ書込が下位ページから開始されるように、下位ページの直前の物理ページまでデータ書込を実行させる制御部を備えた制御装置。
- 上記制御部は、データ書込要求に応じたホストデータの書込が、下位ページの直前の物理ページに至らないで終了した場合は、下位ページの直前の物理ページまで、非ホストデータの書込を実行させる請求項1に記載の制御装置。
- 上記制御部は、データ書込要求に応じたホストデータの書込が、下位ページの直前の物理ページに至らないで終了した場合は、データ書込要求に対する書込完了を上記ホスト機器に通知した後に、下位ページの直前の物理ページまで、非ホストデータの書込を実行させる請求項1に記載の制御装置。
- 上記非ホストデータは上記制御部が使用する管理情報である請求項2に記載の制御装置。
- 上記制御部は、上記不揮発性メモリに対して、下位ページ以外の物理ページの検索を行って上記管理情報を読み出す制御を行う請求項4に記載の制御装置。
- 上記非ホストデータは、ホストデータの論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス変換テーブルである請求項2に記載の制御装置。
- 上記不揮発性メモリでは、複数の物理ページにより、物理ブロックが形成されており、
上記制御部は、
上記物理ブロック内で、最終使用済みの物理ページから先頭側の物理ページに向かって、順に、物理ページ内に上記論理・物理アドレス変換テーブルが記憶されているか否かを検索して、最初に発見された上記論理・物理アドレス変換テーブルを取得する処理を行い、
取得した論理・物理アドレス変換テーブル及び論理・物理アドレス変換テーブルが記憶されていなかった物理ページの論理アドレス情報を用いて、最新の論理・物理アドレス変換テーブルを取得する請求項6に記載の制御装置。 - 上記不揮発性メモリは多値NAND型フラッシュメモリである請求項1に記載の制御装置。
- 1つのメモリセルに2ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリと、
ホスト機器からのデータ書込要求に応じて、上記不揮発性メモリに対して、供給されたホストデータの書込制御を行うとともに、次回のデータ書込要求に応じたデータ書込が下位ページから開始されるように、下位ページの直前の物理ページまでデータ書込を実行させる制御部と、
を備えた記憶装置。 - 1つのメモリセルに2ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対するデータ書込方法として、
ホスト機器からのデータ書込要求に応じて、上記不揮発性メモリに対して、供給されたホストデータの書込を行うとともに、次回のデータ書込要求に応じたデータ書込が下位ページから開始されるように、下位ページの直前の物理ページまでデータ書込を実行するデータ書込方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012106830A JP5929485B2 (ja) | 2012-05-08 | 2012-05-08 | 制御装置、記憶装置、データ書込方法 |
TW102108719A TW201401048A (zh) | 2012-05-08 | 2013-03-12 | 控制裝置、記憶裝置及資料寫入方法 |
US13/870,722 US9454475B2 (en) | 2012-05-08 | 2013-04-25 | Control device, storage device, and data writing method |
KR1020130046708A KR20130125303A (ko) | 2012-05-08 | 2013-04-26 | 제어 장치, 기억 장치, 데이터 기입 방법 |
CN2013101571119A CN103389881A (zh) | 2012-05-08 | 2013-04-28 | 控制装置、存储装置以及数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012106830A JP5929485B2 (ja) | 2012-05-08 | 2012-05-08 | 制御装置、記憶装置、データ書込方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013235630A true JP2013235630A (ja) | 2013-11-21 |
JP2013235630A5 JP2013235630A5 (ja) | 2015-03-19 |
JP5929485B2 JP5929485B2 (ja) | 2016-06-08 |
Family
ID=49534164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012106830A Expired - Fee Related JP5929485B2 (ja) | 2012-05-08 | 2012-05-08 | 制御装置、記憶装置、データ書込方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9454475B2 (ja) |
JP (1) | JP5929485B2 (ja) |
KR (1) | KR20130125303A (ja) |
CN (1) | CN103389881A (ja) |
TW (1) | TW201401048A (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729303B (zh) * | 2014-01-20 | 2017-03-29 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
TWI545571B (zh) * | 2014-02-18 | 2016-08-11 | 慧榮科技股份有限公司 | 存取快閃記憶體的方法及相關的控制器與記憶裝置 |
US9529668B2 (en) * | 2014-09-26 | 2016-12-27 | Intel Corporation | Method and system for using NAND page buffers to improve the transfer buffer utilization of a solid state drive |
US10489241B2 (en) * | 2015-12-30 | 2019-11-26 | Arteris, Inc. | Control and address redundancy in storage buffer |
CN107092560B (zh) * | 2016-02-17 | 2020-06-16 | 建兴储存科技(广州)有限公司 | 固态储存装置及运用于其中的快闪转换层对应表重建方法 |
CN109086006B (zh) * | 2018-07-24 | 2021-10-15 | 浪潮电子信息产业股份有限公司 | 一种数据读取的方法以及相关装置 |
CN109189348B (zh) * | 2018-10-08 | 2020-07-24 | 华中科技大学 | 基于电荷捕获型3d tlc闪存的存储系统的读性能优化方法 |
CN110471863A (zh) * | 2019-08-13 | 2019-11-19 | 深圳忆联信息系统有限公司 | 基于固态硬盘的数据写入读取方法、装置和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008112285A (ja) * | 2006-10-30 | 2008-05-15 | Toshiba Corp | 不揮発性メモリシステム |
JP2010044620A (ja) * | 2008-08-13 | 2010-02-25 | Toshiba Corp | 半導体装置 |
JP2010282492A (ja) * | 2009-06-05 | 2010-12-16 | Toshiba Corp | メモリシステム |
JP2011059889A (ja) * | 2009-09-08 | 2011-03-24 | Toshiba Corp | メモリシステム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5162846B2 (ja) | 2005-07-29 | 2013-03-13 | ソニー株式会社 | 記憶装置、コンピュータシステム、および記憶システム |
JP2007094921A (ja) | 2005-09-30 | 2007-04-12 | Toshiba Corp | メモリカードとその制御方法 |
JP5076411B2 (ja) | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
JP4537420B2 (ja) | 2007-04-02 | 2010-09-01 | 株式会社リコー | Simd型マイクロプロセッサ |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
JP4666081B2 (ja) * | 2009-02-09 | 2011-04-06 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2010198407A (ja) | 2009-02-26 | 2010-09-09 | Sony Corp | 情報処理装置、およびデータ記録制御方法、並びにプログラム |
-
2012
- 2012-05-08 JP JP2012106830A patent/JP5929485B2/ja not_active Expired - Fee Related
-
2013
- 2013-03-12 TW TW102108719A patent/TW201401048A/zh unknown
- 2013-04-25 US US13/870,722 patent/US9454475B2/en active Active
- 2013-04-26 KR KR1020130046708A patent/KR20130125303A/ko not_active Application Discontinuation
- 2013-04-28 CN CN2013101571119A patent/CN103389881A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008112285A (ja) * | 2006-10-30 | 2008-05-15 | Toshiba Corp | 不揮発性メモリシステム |
JP2010044620A (ja) * | 2008-08-13 | 2010-02-25 | Toshiba Corp | 半導体装置 |
JP2010282492A (ja) * | 2009-06-05 | 2010-12-16 | Toshiba Corp | メモリシステム |
JP2011059889A (ja) * | 2009-09-08 | 2011-03-24 | Toshiba Corp | メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US9454475B2 (en) | 2016-09-27 |
CN103389881A (zh) | 2013-11-13 |
KR20130125303A (ko) | 2013-11-18 |
JP5929485B2 (ja) | 2016-06-08 |
US20130304971A1 (en) | 2013-11-14 |
TW201401048A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5929485B2 (ja) | 制御装置、記憶装置、データ書込方法 | |
US9075740B2 (en) | Memory system | |
JP6262426B2 (ja) | メモリシステム及びそれのブロック複写方法 | |
US8904090B2 (en) | Non-volatile memory device, devices having the same, and method of operating the same | |
KR101678909B1 (ko) | 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법 | |
US6711663B2 (en) | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof | |
US8321624B2 (en) | Memory device and management method of memory device | |
US20070035998A1 (en) | Nonvolatile memory apparatus | |
US20150255159A1 (en) | Method for controlling a non-volatile semiconductor memory, and semiconductor storage system | |
US20190095100A1 (en) | Block Clearing Method | |
US9176861B2 (en) | System including data storage device, and data storage device including first and second memory regions | |
JP2014022031A (ja) | 不揮発性メモリ装置とそれを含むメモリシステム及びそれらのメモリブロック管理、消去、及びプログラム方法 | |
JP2008009919A (ja) | カードコントローラ | |
US8549214B2 (en) | Protection against data corruption for multi-level memory cell (MLC) flash memory | |
JP2008524705A (ja) | スクラッチパッドブロック | |
US20130046918A1 (en) | Method writing meta data with reduced frequency | |
CN108027764B (zh) | 可转换的叶的存储器映射 | |
JP5259138B2 (ja) | 記憶装置 | |
JP2012113343A (ja) | 記憶装置 | |
JP6072428B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
JP4235646B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
US20090300272A1 (en) | Method for increasing reliability of data accessing for a multi-level cell type non-volatile memory | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US20120311243A1 (en) | Method for increasing reliability of data accessing for a multi-level cell type non-volatile memory | |
JP2024124152A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150129 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160418 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5929485 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |