(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5673980
(24)【登録日】2015年1月9日
(45)【発行日】2015年2月18日
(54)【発明の名称】記録装置
(51)【国際特許分類】
G06F 12/16 20060101AFI20150129BHJP
【FI】
G06F12/16 310A
G06F12/16 320L
【請求項の数】3
【全頁数】9
(21)【出願番号】特願2013-234649(P2013-234649)
(22)【出願日】2013年11月13日
(62)【分割の表示】特願2009-235790(P2009-235790)の分割
【原出願日】2009年10月9日
(65)【公開番号】特開2014-29737(P2014-29737A)
(43)【公開日】2014年2月13日
【審査請求日】2013年11月27日
(73)【特許権者】
【識別番号】304021831
【氏名又は名称】国立大学法人 千葉大学
(74)【代理人】
【識別番号】100121658
【弁理士】
【氏名又は名称】高橋 昌義
(72)【発明者】
【氏名】北神 正人
(72)【発明者】
【氏名】田井 健介
【審査官】
野田 佳邦
(56)【参考文献】
【文献】
特開2009−211192(JP,A)
【文献】
特開2007−265265(JP,A)
【文献】
特開2002−109479(JP,A)
【文献】
特開2000−339228(JP,A)
【文献】
特開2006−018373(JP,A)
【文献】
特開平05−158806(JP,A)
【文献】
特開2006−085868(JP,A)
【文献】
特開2000−020409(JP,A)
【文献】
特開平06−324815(JP,A)
【文献】
特開2008−204041(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/16
G11C 16/02
(57)【特許請求の範囲】
【請求項1】
複数のフラッシュメモリパッケージを備えるフラッシュメモリ部と、
前記フラッシュメモリ部へのデータの書き込みを制御する書き込み制御部と、を有し、
前記書き込み制御部は、受け取ったデータを複数に分割し、前記分割された複数のデータを前記フラッシュメモリ部に書き込む際、消去回数が所定のしきい値を超えたフラッシュメモリパッケージにデータの書き込みを行なわない、記録装置。
【請求項2】
前記書き込み制御部は、検査符号データを作成し、前記フラッシュメモリパッケージのいずれかに書き込む、請求項1記載の記録装置。
【請求項3】
前記フラッシュメモリ部に書き込まれたデータを読み込む際、前記書き込み制御部が書き込みを行なわなかった前記フラッシュメモリパッケージに格納されたデータを、前記検査符号データを用いて訂正する読み込み制御部を有する、請求項2記載の記録装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録装置に関し、より詳細には、フラッシュメモリを用いた記録装置に関する。
【背景技術】
【0002】
近年のフラッシュメモリの大容量化に伴い、ハードディスクドライブ(以下「HDD」という。)の代わりに、複数のフラッシュメモリを備えて構成されるソリッドステートドライブ(以下「SSD」)を記録装置として用いる機会が多くなっている。
【0003】
SDDは、HDDと比較してアクセス時間や電器消費量、耐衝撃性等の面で優位性を有しているため、モバイル機器への利用に適している。例えば大規模サーバーにSSDを利用することによって、大幅な消費電力の削減が実現可能である。
【0004】
しかしながら、フラッシュメモリはデータの書き換えや消去を多数回繰り返すとセルが劣化し、データを書き込むことができなくなってしまうといった課題を抱えている。
【0005】
そこで、複数のフラッシュメモリのうちの特定の一部にデータの書き換えが集中しないように書き換え頻度の分散化を行なウェアレベリングという技術がある。これによりSSDの寿命を長くすることができる。
【0006】
SSDに関する公知の技術として、例えば下記非特許文献1及び2に記載の技術がある。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】E.Gal and S.Toledo,“Mapping structures for flash memories: techniques and open problems”,Proceedings ofIEEE International Conference on Software−Science,Technology and Engineering,pp.83−92,Feb.2005
【0008】
【非特許文献2】H.Kaneko, T.Matsuzaka and E.Fujiwara,“Three−Level ErrorControl Coding for Dependable Solid−State Drives”,Proceedings of14th IEEE Pacific Rim International Symposium on Dependable Computing,pp.15−17,Dec.2008
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上記非特許文献1に記載される技術は、フラッシュメモリパッケージ内の書き換え頻度の分散化のみを対象とする技術であって、複数のフラッシュメモリパッケージを有するSSDの場合において、特定の一部のフラッシュメモリパッケージ間の書き換え頻度の分散化に関する技術ではなく、未だ長寿命化において検討すべき課題が残る。
【0010】
また上記非特許文献2に記載される技術は、複数のフラッシュメモリパッケージのうちの特定の一部のフラッシュメモリパッケージの寿命が近づいた場合、予め備えてある予備のフラッシュメモリパッケージを使用するものであり、別途予備用のフラッシュメモリパッケージを追加して設けなければならず、記憶領域の有効利用の観点から検討すべき課題が残る。
【0011】
そこで、本発明は上記課題を鑑み、より超寿命で、かつ、記憶領域をより有効に活用することができる記録装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決する第一の観点に係る記憶装置は、複数のフラッシュメモリパッケージを備えるフラッシュメモリ部と、フラッシュメモリ部へのデータの書き込みを制御する書き込み制御部と、外部機器とのデータの授受を行なう物理インターフェース部と、を有し、書き込み制御部は、受け取ったデータを複数に分割し、分割された複数のデータをフラッシュメモリ部に書き込む際、複数のフラッシュメモリパッケージのうち、少なくともいずれかのフラッシュメモリパッケージにデータの書き込みを行なわない。
【発明の効果】
【0013】
以上本発明により、より超寿命で、かつ、記憶領域をより有効に活用することができる記録装置を提供することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態に係る記憶装置の機能ブロックを示す図である。
【
図2】実施形態に係るフラッシュメモリパッケージの概念の一例を示す図である。
【
図3】実施形態に係る記憶装置の書き込み記録部周辺の機能ブロックを示す図である。
【
図4】実施形態に係る書き込み制御部の具体的な処理の例を説明する図である。
【
図5】パッケージ間ウェアレベリングを行なわなかった例を示す図である。
【
図6】パッケージ間ウェアレベリングを行なった例を示す図である。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態について図面を参照しつつ説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、以下に示す実施形態に限定されるものではない。
【0016】
(実施形態1)
図1は、本実施形態に係る記憶装置(以下「記憶装置」という。)の機能ブロックを示す図である。本図で示すように、本記憶装置1は、複数のフラッシュメモリパッケージ21〜2Nを備えるフラッシュメモリ部2と、フラッシュメモリ部2へのデータの書き込みを制御する書き込み制御部3と、外部機器とのデータの授受を行なう物理インターフェース部4と、フラッシュメモリ部2からデータを読み込む読み込み部5と、を有して構成されており、更に書き込み制御部3は、受け取ったデータを複数に分割し、分割された複数のデータをフラッシュメモリ部2に書き込む際、複数のフラッシュメモリパッケージ21〜2Nのうち、少なくともいずれかのフラッシュメモリパッケージにデータの書き込みを行なわないことを特徴の一つとする。
【0017】
本実施形態に係るフラッシュメモリ部2は、上記の通り複数のフラッシュメモリパッケージ21〜2Nを有している。なお本実施形態ではn個のフラッシュメモリパッケージとしているが複数であれば個数に限定はない。なおフラッシュメモリパッケージ21〜2Nの各々は、複数のフラッシュメモリブロックを備えて構成されており、フラッシュメモリブロックは、更に、フラッシュメモリを備えた複数のページから構成されている。なおデータの書き込み・読み出しはページ毎で行うことができ、データの消去はフラッシュメモリブロック毎に行なわれる。
図2に、フラッシュメモリパッケージの構成の概念図を示しておく。また本実施形態に用いるフラッシュメモリは、NAND型が一般的であるがこれに限定されずNOR型であってもよい。更に、本実施形態におけるフラッシュメモリは、マルチレベルセル(以下「MLC」という。)であってもよいし、シングルレベルセル(以下「SLC」という。)であってもよい。ただし、MCLはSLCよりもより多くの値を保持するためデータの書き換えによる劣化がSCLより厳しく、消去回数の限界値がSLCの10%程度(一般のSCLが10万回程度であるのに対し、一般のMCLでは1万回程度)であるため、MCLを用いた場合により効果を発揮する。
【0018】
本実施形態に係る物理インターフェース部4は、外部機器とのデータの授受を行なうものであり、書き込み制御部2及び読み込み制御部5とのデータの授受も行なう。特に限定されず周知の技術を用いて構成することができ、コンピュータ装置の周辺機器としてUSB、SCSI、IDE等の規格に対応したコネクタ及びその周辺部品を用いることができる。もちろん、コンピュータ装置の内部に内蔵の記憶装置として内蔵させておくことも可能である(この場合、コンピュータの記憶装置部として機能することとなり、記憶装置部外の構成部分を「外部機器」と把握することができる)。
【0019】
本実施形態に係る書き込み制御部2は、フラッシュメモリ部2へのデータの書き込みを制御するものであり、複数のフラッシュメモリパッケージ及び物理インターフェース部に接続され、データの授受が可能となっている。書き込み制御部2は、この機能を有する限りにおいて限定されるわけではないが、例えば
図3で示すように、CPU31と、バッファ32、RAM33と、フラッシュコントローラ34と、を用いて構成し、これらにより後述の処理を行うことは好ましい一例である。
【0020】
本実施形態に係る書き込み制御部3は、物理インターフェース部から受け取ったデータを複数に分割し、分割された複数のデータをフラッシュメモリ部2に書き込む際、複数のフラッシュメモリパッケージ21〜2Nのうち、少なくともいずれかのフラッシュメモリパッケージを選択し、この選択されたフラッシュメモリパッケージにデータの書き込みを行なわないこととする。これにより、フラッシュメモリパッケージへの書き込み回数及びそのばらつきを減少させ、長寿命化を図ることができる。なおこの場合において、書き込み制御部3は、フラッシュメモリパッケージの消去回数に応じて書き込みを行なうか否かを決定することが好ましく、より好ましくは、フラッシュメモリパッケージに書き込みを行なう際、各フラッシュメモリパッケージにおける書き込み対象となるフラッシュメモリブロックの消去回数を確認し、この消去回数の多いフラッシュメモリパッケージの順にデータを書き込まないようフラッシュメモリパッケージを選択することが好ましい。このようにすることで長寿命化をより効率的に行なうことができる。なおデータを書き込まないフラッシュメモリパッケージの数は特に限定されず、後述する検査符号データを書き込むためのフラッシュメモリパッケージの数やデータの分割数を別途調整することで対応可能である。
【0021】
ここで、書き込み制御部3の具体的な処理の例について
図4を用いて説明する。本図においては、N個のフラッシュメモリパッケージを用いている例を示す。書き込み制御部3は、まず、物理インターフェース部4から書き込みデータD(b×k(N−1)行列とする)を受け取った後、この書き込みデータDをn−1個のブロックデータD1〜DN−1(D1〜DN−1の各々はb×k行列)に分割する。
【0022】
次に、上記分割したブロックデータD1〜DN−1に基づきパリティ検査符号データDNを求める。具体的には、パリティ検査データを下記式として求める。
【0023】
【数1】
【0024】
そしてD1〜DN−1各々に対し符号Cにより符号化し、b×(k+r)ビットの符号後ブロックデータU1〜UN−1を得る。
【0025】
そして、この後、符号後ブロックデータU1〜UN−1のうち、例えば最も消去回数の大きいフラッシュメモリパッケージのデータを選択し、このフラッシュメモリパッケージにのみ書き込みを行なわないこととし、残りのフラッシュメモリパッケージ(例えばフラッシュメモリパッケージ22が最も消去回数が多い場合はこのフラッシュメモリパッケージ22を除いたフラッシュメモリパッケージ21〜2N−1)に書き込む。なお、パリティ検査符号データDNは、検査符号データとしてフラッシュメモリパッケージ2Nに書き込まれる。このようにすることで長寿命化をより効率的に行なうことができ、記憶領域をより有効に活用することができる。なおここでは最も消去回数が多い1つのフラッシュメモリパッケージに書き込みを行なわないこととしているが、ある所定のしきい値αを設け、消去回数がこのしきい値を超えた場合は書き込まないようにするようにしても良い。
【0026】
また本実施形態に係る読み込み制御部5は、上記の通り、フラッシュメモリ部に書き込まれたデータを読み込むための部である。なお、読み込み制御部5の構成は、上記の機能を有する限りにおいて限定されず、例えば既に
図3で示すように、CPU31と、バッファ32、RAM33と、フラッシュコントローラ34と、を用いて構成し、これらにより読み込み処理を行うことは好ましい一例である(この場合、機能ブロックとして書き込み制御部3と読み込み制御部5は異なるが、物理的な構成としては同じものとなる。)。
【0027】
そして本実施形態に係る読み込み制御部5は、フラッシュメモリ部2に書き込まれた(格納された)データを読み出し、検査符号データを用いて上記書き込み制御部の処理によっては書き込まれなかった処理後ブロックデータを訂正し、データDを復元する。これにより、処理後のブロックデータをフラッシュメモリパッケージに書き込まなかった場合であっても、正確にデータを復元することができ、データの損失も抑えることができる。
【0028】
以上、本実施形態に係る記録装置は、より超寿命で、かつ、記憶領域をより有効に活用することができる。
【0029】
ここで、上記実施形態に係る記憶装置の効果につき、シミュレーションを行ない確認した。
図5は、パッケージ間ウェアレベリングを行なわなかった例であり、
図6は、上記実施形態体のパッケージ間ウェアレベリングを行なった例を示す図である。なおこのシミュレーションは、パッケージ数を8、パッケージ内ブロック数を2048、ブロック内のページ数を32、書き込み消去回数のしきい値αを10に設定し、ページサイズのデータを1億5000万回書き込み、ブロック内が書き込みデータで満たされた場合は消去を行なって消去をカウントアップした。
【0030】
この結果、
図6で示すように、明確に消去回数のばらつきを抑えることができ、より超寿命で、かつ、記憶領域をより有効に活用することができることを確認した。
【産業上の利用可能性】
【0031】
本発明は、記録装置として産業上利用可能性がある。
【符号の説明】
【0032】
1…記憶装置、2…フラッシュメモリ部、3…書き込み制御部、4…物理インターフェース部、5…読み込み制御部