JP6260395B2 - メモリコントローラ、メモリシステム及びメモリ制御方法 - Google Patents

メモリコントローラ、メモリシステム及びメモリ制御方法 Download PDF

Info

Publication number
JP6260395B2
JP6260395B2 JP2014066381A JP2014066381A JP6260395B2 JP 6260395 B2 JP6260395 B2 JP 6260395B2 JP 2014066381 A JP2014066381 A JP 2014066381A JP 2014066381 A JP2014066381 A JP 2014066381A JP 6260395 B2 JP6260395 B2 JP 6260395B2
Authority
JP
Japan
Prior art keywords
area
virtual
write
physical
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.)
Active
Application number
JP2014066381A
Other languages
English (en)
Other versions
JP2015191295A (ja
Inventor
田窪 謙一
謙一 田窪
和敬 岸
和敬 岸
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.)
TDK Corp
Original Assignee
TDK 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 TDK Corp filed Critical TDK Corp
Priority to JP2014066381A priority Critical patent/JP6260395B2/ja
Publication of JP2015191295A publication Critical patent/JP2015191295A/ja
Application granted granted Critical
Publication of JP6260395B2 publication Critical patent/JP6260395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、概して、メモリ制御に関する。
NAND型フラッシュメモリは、一般に、複数の物理ブロックにより構成され、各物理ブロックは、複数の物理ページにより構成される。NAND型フラッシュメモリでは、ページ(物理ページ)単位でデータが入出力され、ブロック(物理ブロック)単位でデータが消去される。
NAND型フラッシュメモリに関し、特許文献1の技術が知られている。特許文献1では、論理ブロックにマッピングされている物理ブロックにデータが満杯であれば、キャッシュブロックにデータが書き込まれる。キャッシュブロックが満杯になれば、キャッシュブロック内の有効データを別の物理ブロックに集約するガベージコレクション処理が行われる。
特開2007−156633号公報
ガベージコレクション処理は、NAND型フラッシュメモリ以外のメモリについても行われ得る処理であるが、この処理はフラッシュメモリのコントローラにかかる負荷が大きい。
従って、本発明の目的は、ガベージコレクション処理の発生頻度を低減するメモリ制御技術を提供することにある。
上記課題を解決するため、本発明のメモリコントローラは、ホストシステムから書込みコマンドを受ける複数の物理領域群を有するメモリ群にデータを書き込むメモリコントローラであって、ホストシステムに対するインタフェースと、複数の論理領域で構成された論理空間をホストシステムに提供し、書込みコマンドに従う書込み先の論理領域にマッピングされている物理領域群が満杯であれば、キャッシュ物理領域群にデータを書き込むプロセッサとを有する。プロセッサは、所定の条件が満たされた場合に(例えばキャッシュ物理領域群にデータが満杯の場合に)、キャッシュ物理領域群内の有効データをいずれかの物理領域群に集約する処理を行う。複数の論理領域の各々のサイズは、物理領域群サイズよりも小さい。
論理領域のサイズが、論理領域に対するマッピングの単位である物理領域群のサイズより小さい。このため、論理領域のサイズ分のデータが書き込まれても、物理領域群には未だ空きの領域が残っている。このため、論理領域のサイズ分のデータが書き込まれた後にその論理領域に対する書込みが発生した場合、書込み対象のデータを物理領域群に残っている空きの領域に書き込むことができる。つまり、論理領域のサイズ分のデータが書き込まれた後にその論理領域に対する書込みが発生しても、キャッシュ物理領域は必ずしも使用されない。故に、キャッシュ物理領域の使用頻度が低減され、以って、ガベージコレクションの発生頻度が低減される。
本発明の実施形態に係るフラッシュメモリシステムの構成を示す。 本発明の実施形態に係るワークエリアに記憶される情報の一例を示す。 本発明の実施形態に係る領域関係を示す。 本発明の実施形態に係る仮想ページ単位書込みを示す。 本発明の実施形態に係る物理ページ単位書込みを示す。 本発明の実施形態に係る書込み処理のフローチャートである。
以下、一実施形態に係るメモリシステムが適用されたフラッシュメモリシステムを説明する。なお、本発明は以下の実施形態に限定されるものではない。また以下に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものが含まれる。
図1は、本発明の実施形態に係るフラッシュメモリシステムの構成を示す。
フラッシュメモリシステム1は、メモリ群の一例であるN個のフラッシュメモリ2と(Nは2以上の整数)、それを制御するメモリコントローラ3とで構成されている。メモリコントローラ3は、N個のフラッシュメモリ2に並列にアクセス可能である。本実施形態では、N=4である。
フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続されている。ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等から構成されている。ホストシステム4は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。
メモリコントローラ3は、マイクロプロセッサ6と、ホストインタフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインタフェースブロック10と、ECC(Error Correcting Code)ブロック11と、ROM(Read Only Memory)12とから構成される。メモリコントローラ3は、内部バス14を介してフラッシュメモリ2と接続されている。これら機能ブロックによって構成されるメモリコントローラ3は、一つの半導体チップ上に集積される。以下、各機能ブロックについて説明する。
ホストインタフェースブロック7は、ホストシステム4との間でデータ、アドレス情報、ステータス情報、外部コマンド等の授受を行なう。外部コマンドとは、ホストシステム4がフラッシュメモリシステム1に対して処理の実行を指示するためのコマンドである。ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインタフェースブロック7を入口としてフラッシュメモリシステム1の内部(例えば、バッファ9)に取り込まれる。また、フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインタフェースブロック7を出口としてホストシステム4に供給される。
ホストインタフェースブロック7は、コマンドレジスタR1、セクタ数レジスタR2及びLBAレジスタR3を備えている。コマンドレジスタR1、セクタ数レジスタR2及びLBAレジスタR3には、ホストシステム4から与えられる情報が書き込まれる。コマンドレジスタR1には、書込みコマンド、読出しコマンド等の外部コマンドが書き込まれる。セクタ数レジスタR2には、アクセス対象領域のセクタ数が書き込まれる。LBAレジスタR3には、アクセス対象領域の先頭のLBA(Logical Block Address)が書き込まれる。
ワークエリア8は、フラッシュメモリ2の制御に必要なデータを一時的に格納する作業領域であり、例えば複数のSRAM(Static Random Access Memory)セルによって構成されている。ワークエリア8には、例えば、論理ブロックと物理ブロックとの対応関係を示したアドレス変換テーブル等が記憶される。アドレス変換テーブルを用いて、論理アドレスを物理アドレスに変換することができる(アクセス先の論理ブロックにマッピングされている物理ブロックを特定することができる)。
バッファ9は、フラッシュメモリ2から読出したデータを、ホストシステム4が受け取り可能な状態となるまで保持する。また、バッファ9は、フラッシュメモリ2に書き込むデータを、フラッシュメモリ2が書込み可能な状態となるまで保持する。
フラッシュメモリインタフェースブロック10は、内部バス14を介して、フラッシュメモリ2との間でデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。ここで、内部コマンドとは、メモリコントローラ3がフラッシュメモリ2に処理の実行を指示するためのコマンドであり、フラッシュメモリ2は、メモリコントローラ3から与えられる内部コマンドに従って動作する。
ECCブロック11は、フラッシュメモリ2に書き込むデータに付加される誤り訂正符号(ECC:Error Correcting Code)を生成するとともに、読出したデータに付加されている誤り訂正符号に基づいて、読出したデータに含まれる誤りを検出・訂正する。
ROM12は、マイクロプロセッサ6による処理の手順を定義するプログラムを格納する不揮発性の記憶素子である。例えば、アドレス変換テーブルの作成等の処理手順を定義するプログラムが格納されている。
マイクロプロセッサ6は、ROM12に記憶されているプログラムに従って、メモリコントローラ3の全体の動作を制御する。例えば、マイクロプロセッサ6は、ROM12から読出した各種処理を定義したコマンドセットに基づいてフラッシュメモリインタフェースブロック10に処理を実行させる。
N個のフラッシュメモリ2の各々は、NAND型フラッシュメモリからなる。NAND型フラッシュメモリは、レジスタと、複数のメモリセルが2次元的に配列されたメモリセルアレイを備えている。メモリセルアレイは、複数のメモリセル群と、ワード線とを備える。ここで、メモリセル群は、複数のメモリセルが直列に接続されたものである。各ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間で、レジスタから選択されたメモリセルへのデータの書込み又は選択されたメモリセルからレジスタへのデータの読出しが行われる。NAND型フラッシュメモリでは、データ読出し動作及びデータ書込み動作はページ(物理ページ)単位で行われ、データ消去動作はブロック(物理ブロック)単位で行われる。物理ブロックは、複数の物理ページで構成される。本実施形態では、後述するように、並列にアクセス可能なN個のフラッシュメモリ2がそれぞれ有するN個の物理ブロックを1つに纏めた仮想ブロックが、論理ブロックにマッピングされるようになっており、また、N個のフラッシュメモリ2がそれぞれ有するN個の物理ページである仮想ページの単位で、データ読出し動作及びデータ書込み動作が行われる。マイクロプロセッサ6は、書込み先の論理ブロックにマッピングされている仮想ブロックにデータが満杯であれば、後述するキャッシュ仮想ブロックにデータを書き込むようになっている。また、マイクロプロセッサ6は、所定の条件が満たされた場合に(例えば、所定個数のキャッシュ仮想ブロックにデータが満杯になった場合に)、キャッシュ仮想ブロック内の有効データを、論理ブロックにマッピングされることになる仮想ブロックに集約するガベージコレクション処理を行うようになっている。論理ブロックに属する論理アドレス毎に、その論理アドレスについての最新のデータが「有効データ」であり、最新のデータより旧いデータは「無効データ」である。ガベージコレクション処理により、キャッシュ仮想ブロック内のデータを全て無効データとすることができる。無効データのみが記憶されている仮想ブロックに対しては、データ消去動作を行うことができ、データ消去動作が行われた仮想ブロックは、空き状態となるので、再びデータの書込み先として使用可能となる。
本実施形態の書込み処理では、ホストシステム4によって、コマンドレジスタR1に、書込みコマンドを示すコマンドコードが書き込まれ、セクタ数レジスタR2に、書き込むデータのセクタ数が書き込まれ、LBAレジスタR3には、書き込みを開始する先頭データに対応するLBAが書き込まれる。セクタ数レジスタR2及びLBAレジスタR3に書き込まれた情報に基づいて、アクセス対象の領域である論理アクセス領域が判別され、その論理アクセス領域が含まれる論理ブロックに対応する仮想ブロックにホストシステム4から与えられるデータが書き込まれる。ホストシステム4側のアドレス空間は、セクタ(512バイト)単位で分割した領域(以下、論理セクタ領域と言う)に付けた通番であるLBAで管理されている。また、複数個の論理セクタ領域で構成された論理ブロックが形成され、この論理ブロックに対して、仮想ブロック(N個の物理ブロック)が割り当てられる。論理ブロックと仮想ブロックの対応関係、及び、仮想ブロックと物理ブロックの対応関係等は、管理情報を用いて管理される。管理情報は、例えばワークエリア8に記憶される。
図2は、ワークエリア8に記憶される情報の一例を示す。
ワークエリア8には、例えば、物理ブロック管理テーブル201、第1アドレス変換テーブル205及び第2アドレス変換テーブル206といった管理情報が記憶される。
物理ブロック管理テーブル201は、仮想ブロックと物理ブロックの対応関係、及び、各仮想ブロックの種類等を保持している。仮想ブロックと物理ブロックの対応関係とは、例えば、仮想ブロック毎に、仮想ブロックのVBN(仮想ブロック番号)とその仮想ブロックの構成する各物理ブロックのPBA(物理ブロックアドレス)との対応関係である。各物理ブロックのPBAは、例えば、その物理ブロックを有するフラッシュメモリ2のIDと、そのフラッシュメモリ2における物理ブロックの番号との組合せでよい。仮想ブロック(種類)としては、例えば、使用中仮想ブロック(いずれかの論理ブロックにマッピングされている仮想ブロック)と、スペア仮想ブロック(マッピング可能な状態(空き状態)の仮想ブロック)と、キャッシュ仮想ブロック(キャッシュ領域として使用されることになっている又はキャッシュ領域として使用中の仮想ブロック)とがある。キャッシュ仮想ブロックは、予め決められていてもよいし、マイクロプロセッサ6により選択されたスペア仮想ブロックであってもよい。具体的には、例えば、複数の仮想ブロックの一部分が、ユーザデータ(ホストシステム4から受信する書込み対象のデータ)が書き込まれるユーザ仮想ブロックの集合でもよいし、複数の仮想ブロックの別の部分が、キャッシュ領域として使用されるキャッシュ仮想ブロックの集合でもよい。或いは、複数の仮想ブロックの各々が、ユーザ仮想ブロックとして使用されることもあればキャッシュ仮想ブロックとして使用されることもあってもよい。
第1アドレス変換テーブル205は、論理ブロックと仮想ブロックとの対応関係を保持している。論理ブロックと仮想ブロックとの対応関係とは、例えば、論理ブロック毎に、論理ブロックのLBN(論理ブロック番号)と、その論理ブロックにマッピングされている仮想ブロックのVBNとの対応関係でよい。第1アドレス変換テーブル205は、更に、図2に例示するように、マッピングされている仮想ブロックを構成するN個(N=4)の物理ブロックの各々のPBAを有してもよい。
第2アドレス変換テーブル206は、論理アドレスと物理ページとの対応関係を保持している。第2アドレス変換テーブル206は、例えば、論理ブロック毎に用意される。論理アドレスと物理ページとの対応関係とは、例えば、論理アドレス群毎に、その論理アドレス群(例えば1以上のLBA)に対応する1以上の物理ページの各々のPPA(物理ページアドレス)でよい。本実施形態では、後述するように、仮想ページ単位でデータが書き込まれることもあれば、物理ページ単位でデータが書き込まれることもある。このため、例えば、仮想ページ単位でデータが書き込まれている場合、仮想ページに対応する論理アドレス群は、その仮想ページに対応する論理ページ全体に属する全ての論理アドレスである。一方、物理ページ単位でデータが書き込まれている場合、物理ページに対応する論理アドレス群は、その物理ページに対応する論理ページ部分に属する論理アドレスである。
図3は、本実施形態に係る領域関係を示す。
仮想ブロック310は、N=4個の物理ブロック320を1つに纏めたものである。仮想ブロック単位で、論理ブロック300に対するマッピングが行われる。論理ブロック300が、論理領域の一例であり、仮想ブロック310が、物理領域群の一例であり、物理ブロック320が、物理領域の一例である。また、仮想ページ410(図4参照)が、サブ物理領域群の一例であり、物理ページ420(図4参照)が、サブ物理領域の一例である。
本実施形態では、論理ブロック300のサイズは、仮想ブロック310のサイズ(N=4個の物理ブロック320の合計サイズ)よりも小さい。このため、図3に示すように、仮想ブロック310は、論理ブロック300の範囲に対応する領域311の他に、論理ブロック300の範囲に対応しない領域(論理ブロック300との差分に相当する領域)である余剰領域312を持つことになる。従って、N=4個の物理ブロック320の各々も、論理ブロック300の範囲に対応した領域321の他に、論理ブロックの範囲に対応しない余剰領域322を持つことになる。仮想ブロック310内の余剰領域312のサイズは、N=4個の余剰領域322(物理ブロック320内の余剰領域322)の合計に等しい。仮想ブロック310内の余剰領域312のサイズは、論理ブロックサイズより小さいが、少なくとも物理ページサイズ以上である。仮想ブロック310内の余剰領域312のサイズは、例えば、仮想ページサイズ以上でよく、具体的には、仮想ページサイズの整数倍でよい。
論理ブロックサイズが仮想ブロックサイズより小さいために、キャッシュ仮想ブロック(図示せず)の使用頻度が低減され、以って、ガベージコレクション処理の発生頻度が低減される。具体的には、論理ブロックサイズ分のデータが書き込まれても(例えば論理ブロック300の全域にデータが書き込まれても)、その書込み先の論理ブロック300にマッピングされている仮想ブロック310には、未だ空き領域(例えば、幾つかの空き仮想ページ410)が残っている。従って、本実施形態では、マイクロプロセッサ6は、論理ブロックサイズ以上のサイズのデータが書き込まれた論理ブロック300に更なる書込みが発生した場合、書込みサイズ(書込み対象のデータのサイズ)が、その論理ブロック300にマッピングされている仮想ブロック310に残っている空き領域(余剰領域312のサイズ以下のサイズの領域)のサイズ以下であれば、その空き領域に、書込み対象データを書き込む。これにより、論理ブロックサイズ以上のサイズのデータが書き込まれた論理ブロック300に更なる書込みが発生しても、キャッシュ仮想ブロックが使用されないことがある。故に、キャッシュ仮想ブロックの使用頻度が低減され、以って、ガベージコレクション処理の発生頻度が低減される。
また、本実施形態では、マイクロプロセッサ6は、仮想ページ単位書込みと物理ページ単位書込みとのいずれも行うことができる。
図4は、仮想ページ単位書込みを示す。
図示の通り、仮想ブロック310が、異なる4個のフラッシュメモリ2がそれぞれ有する4個の物理ブロック320により構成されており、仮想ページ410が、異なる4個のフラッシュメモリ2がそれぞれ有する4個の物理ページ420により構成されている。また、各物理ページ420は、複数個(例えば8個)の物理セクタ421により構成されている。物理セクタ421内の番号は、データを構成する複数のデータ要素の並び順を表す。
仮想ページ単位書込みによれば、マイクロプロセッサ6は、異なる4個のフラッシュメモリ2がそれぞれ有する4個の物理ページ420に、書込み対象のデータのうちの4個のデータ要素を並列に書き込む。このため、データを高速に書き込むことができる。
しかし、仮想ページサイズより小さいサイズのデータが仮想ページ単位書込みされた場合には、仮想ページ410に空き領域が生じるが、この空き領域には次のデータを書き込むことはできない無効領域である。仮想ページ単位書込みにより書き込まれたデータのサイズによっては、物理ページサイズ以上の無効領域が生じることもある。
物理ページサイズ以上の無効領域が仮想ページ410に生じることを避けるべく、マイクロプロセッサ6は、仮想ページ単位書込みに代えて、物理ページ単位書込みを行うことができる。
図5は、物理ページ単位書込みを示す。
物理ページ単位書込みによれば、マイクロプロセッサ6は、仮想ページ410における物理ページ420にデータを書き込み、次に、同一(又は異なる)仮想ページ410における物理ページ420にデータを書き込む。物理ページ単位書込みによれば、同一サイズのデータを書き込む速度は、仮想ページ単位書込みよりも遅いが、無効領域のサイズは、仮想ページ単位書込みよりも小さくすることができる。
図6は、本実施形態に係る書込み処理のフローチャートである。
マイクロプロセッサ6は、ホストシステム4から書込みコマンドを受信し、書込みサイズ(書込みコマンドに従う書込み対象データのサイズ)が閾値未満か否かを判断する(S601)。書込み対象データは、ユーザデータのみであってもよいし、ユーザデータに加えて所定の管理データ(論理アドレス等のデータ)を含んでいてもよい。
S601の判断の結果が肯定の場合(S601:YES)、マイクロプロセッサ6は、物理ページ単位書込みにより、書込み対象データを、書込みコマンドに従う書込み先の論理ブロック300にマッピングされている仮想ブロック310に書き込む(S602)。
S601の判断の結果が否定の場合(S601:NO)、マイクロプロセッサ6は、仮想ページ単位書込みにより、書込み対象データを、書込みコマンドに従う書込み先の論理ブロック300にマッピングされている仮想ブロック310に書き込む(S603)。
図6の書込み処理によれば、小サイズのデータは、なるべく仮想ブロックの空き領域(論理ブロックサイズ分のデータの書込み後は、仮想ブロック310の余剰領域312)に書き込まれることになる。これにより、キャッシュ仮想ブロックの使用頻度が低減され、以って、ガベージコレクション処理の発生頻度を低減できる。
なお、S601で使用される閾値は、例えばワークエリア8に記憶されていてよい。その閾値は、仮想ページサイズの整数倍であってもよいし、物理ページサイズのM倍でもよい(Mは2以上の整数、且つ、仮想ページ410を構成する物理ページ420の数N以下)。また、マイクロプロセッサ6は、各論理ブロック300について、論理ブロックサイズ分のデータを書き込むまでは、常に仮想ページ単位書込みによりデータを書き込み、論理ブロックサイズ分のデータを書き込んだ後の書込みのときにだけ、S601の判断を行ってよい。
以上、本発明の一実施形態を説明したが、これは、本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
例えば、上述したフラッシュメモリシステム1は、フラッシュメモリ以外のメモリ(揮発性メモリ又は不揮発性メモリ)を有するメモリシステム全般に適用することができる。また、メモリコントローラが有するプロセッサは、典型的にはマイクロプロセッサでよいが、処理の一部を実行するハードウェア回路を含んでいてもよい。
また、例えば、本発明は、1つの論理ブロック300に1つの物理ブロック320がマッピングされるシステムにも当然に適用できる。そのシステムでは、論理ブロック300のサイズは、マッピング単位である物理ブロック320のサイズより小さい。そのシステムにおいて、物理ブロック320が、物理領域群の一例であり、物理ページ420が、サブ物理領域群の一例である。
1:フラッシュメモリシステム

Claims (5)

  1. ホストシステムから書込みコマンドを受け、N個(Nは2以上の整数)のメモリがそれぞれ有するN個の物理領域により構成された仮想領域にデータを書き込むメモリコントローラであって、
    前記ホストシステムに対するインタフェースと、
    複数の論理領域で構成された論理空間を前記ホストシステムに提供し、前記書込みコマンドに基づいた書込み先の論理領域にマッピングされている仮想領域にデータを書き込むプロセッサと
    を有し、
    各メモリは、複数の物理領域を有し、
    各物理領域は、複数のサブ物理領域を有し、
    各仮想領域は、複数のサブ仮想領域を有し、
    各サブ仮想領域は、複数のサブ物理領域で構成され、
    前記プロセッサは、
    前記書込みコマンドに基づいた書込み対象データのサイズが閾値未満か否かを判断し、
    前記判断の結果が否定の場合、前記書込みコマンドに基づいた書込み先の論理領域にマッピングされている仮想領域内のサブ仮想領域に対して、前記書込み対象データの書き込みを行い、
    前記判断の結果が肯定の場合、前記書込みコマンドに基づいた書込み先の論理領域にマッピングされている仮想領域内のサブ仮想領域を構成する一部のサブ物理領域に対して、前記書込み対象データの書き込みを行う、
    メモリコントローラ。
  2. サブ仮想領域単位又はサブ物理領域単位でデータが書き込まれるようになっており、
    前記閾値は、サブ物理領域サイズのM倍である(Mは2以上の整数、且つ、N以下)、
    請求項記載のメモリコントローラ。
  3. 前記プロセッサは、前記書込み対象データの書込み先が、前記書込み先の論理領域にマッピングされている仮想領域のうちの余剰領域の場合に、前記判断を行
    請求項又は記載のメモリコントローラ。
  4. 請求項1乃至のうちのいずれか1項に記載のメモリコントローラと、
    前記メモリコントローラに接続されたN個(Nは2以上の整数)のメモリ
    を有するメモリシステム。
  5. ホストシステムから書込みコマンドを受け、N個(Nは2以上の整数)のメモリがそれぞれ有するN個の物理領域により構成された仮想領域にデータを書き込むメモリ制御方法であって、
    複数の論理領域で構成された論理空間を前記ホストシステムに提供する第1のステップと
    前記書込みコマンドに基づいた書込み先の論理領域にマッピングされている仮想領域にデータを書む第2のステップと
    を有し、
    各メモリは、複数の物理領域を有し、
    各物理領域は、複数のサブ物理領域を有し、
    各仮想領域は、複数のサブ仮想領域を有し、
    各サブ仮想領域は、複数のサブ物理領域で構成され、
    前記第2のステップでは、
    前記書込みコマンドに基づいた書込み対象データのサイズが閾値未満か否かを判断し、
    前記判断の結果が否定の場合、前記書込みコマンドに基づいた書込み先の論理領域にマッピングされている仮想領域内のサブ仮想領域に対して、前記書込み対象データの書き込みを行い、
    前記判断の結果が肯定の場合、前記書込みコマンドに基づいた書込み先の論理領域にマッピングされている仮想領域内のサブ仮想領域を構成する一部のサブ物理領域に対して、前記書込み対象データの書き込みを行う、
    メモリ制御方法。
JP2014066381A 2014-03-27 2014-03-27 メモリコントローラ、メモリシステム及びメモリ制御方法 Active JP6260395B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014066381A JP6260395B2 (ja) 2014-03-27 2014-03-27 メモリコントローラ、メモリシステム及びメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014066381A JP6260395B2 (ja) 2014-03-27 2014-03-27 メモリコントローラ、メモリシステム及びメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2015191295A JP2015191295A (ja) 2015-11-02
JP6260395B2 true JP6260395B2 (ja) 2018-01-17

Family

ID=54425767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014066381A Active JP6260395B2 (ja) 2014-03-27 2014-03-27 メモリコントローラ、メモリシステム及びメモリ制御方法

Country Status (1)

Country Link
JP (1) JP6260395B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020170477A (ja) * 2019-04-05 2020-10-15 株式会社バッファロー 記憶装置、その制御方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
JP4356686B2 (ja) * 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
JP5180726B2 (ja) * 2008-07-31 2013-04-10 株式会社日立製作所 記憶装置およびデータ書き込み制御方法
JP5159817B2 (ja) * 2010-03-25 2013-03-13 株式会社東芝 メモリシステム

Also Published As

Publication number Publication date
JP2015191295A (ja) 2015-11-02

Similar Documents

Publication Publication Date Title
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4666080B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4666081B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010097333A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP5093294B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9990152B1 (en) Data writing method and storage controller
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
JP5858081B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2012058770A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4636005B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US10445014B2 (en) Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory
JP2009086738A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP6260395B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4241741B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4582232B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4434171B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4661566B2 (ja) アクセスコントローラ、フラッシュメモリシステム及びアクセス制御方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4254933B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2010086106A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4952742B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009199242A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2010092200A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170825

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: 20171114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150