(57)【特許請求の範囲】
【請求項１】
複数のフラッシュメモリパッケージを備えるフラッシュメモリ部と、
前記フラッシュメモリ部へのデータの書き込みを制御する書き込み制御部と、
外部機器とのデータの授受を行なう物理インターフェース部と、を有し、
前記書き込み制御部は、受け取ったデータを複数に分割し、前記分割された複数のデータを前記フラッシュメモリ部に書き込む際、前記複数のフラッシュメモリパッケージの消去回数に応じて書き込みを行なうか否かを決定して、前記複数のフラッシュメモリパッケージのうち、少なくともいずれかのフラッシュメモリパッケージにデータの書き込みを行なわない、記録装置。
【請求項２】
前記書き込み制御部は、検査符号データを作成し、前記フラッシュメモリパッケージのいずれかに書き込む、請求項１記載の記録装置。
【請求項３】
前記フラッシュメモリ部に書き込まれたデータを読み込む際、前記書き込み制御部が書き込みを行なわなかった前記フラッシュメモリパッケージに格納されたデータを、前記検査符号データを用いて訂正する読み込み制御部を有する、請求項２記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置に関し、より詳細には、フラッシュメモリを用いた記録装置に関する。
【背景技術】
【０００２】
近年のフラッシュメモリの大容量化に伴い、ハードディスクドライブ（以下「ＨＤＤ」という。）の代わりに、複数のフラッシュメモリを備えて構成されるソリッドステートドライブ（以下「ＳＳＤ」）を記録装置として用いる機会が多くなっている。
【０００３】
ＳＤＤは、ＨＤＤと比較してアクセス時間や電器消費量、耐衝撃性等の面で優位性を有しているため、モバイル機器への利用に適している。例えば大規模サーバーにＳＳＤを利用することによって、大幅な消費電力の削減が実現可能である。
【０００４】
しかしながら、フラッシュメモリはデータの書き換えや消去を多数回繰り返すとセルが劣化し、データを書き込むことができなくなってしまうといった課題を抱えている。
【０００５】
そこで、複数のフラッシュメモリのうちの特定の一部にデータの書き換えが集中しないように書き換え頻度の分散化を行なウェアレベリングという技術がある。これによりＳＳＤの寿命を長くすることができる。
【０００６】
ＳＳＤに関する公知の技術として、例えば下記非特許文献１及び２に記載の技術がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｅ．Ｇａｌ  ａｎｄ  Ｓ．Ｔｏｌｅｄｏ，“Ｍａｐｐｉｎｇ  ｓｔｒｕｃｔｕｒｅｓ  ｆｏｒ  ｆｌａｓｈ  ｍｅｍｏｒｉｅｓ：  ｔｅｃｈｎｉｑｕｅｓ  ａｎｄ  ｏｐｅｎ  ｐｒｏｂｌｅｍｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｏｆｔｗａｒｅ−Ｓｃｉｅｎｃｅ，Ｔｅｃｈｎｏｌｏｇｙ  ａｎｄ  Ｅｎｇｉｎｅｅｒｉｎｇ，ｐｐ．８３−９２，Ｆｅｂ．２００５
【０００８】
【非特許文献２】Ｈ．Ｋａｎｅｋｏ，  Ｔ．Ｍａｔｓｕｚａｋａ  ａｎｄ  Ｅ．Ｆｕｊｉｗａｒａ，“Ｔｈｒｅｅ−Ｌｅｖｅｌ  Ｅｒｒｏｒ  Ｃｏｎｔｒｏｌ  Ｃｏｄｉｎｇ  ｆｏｒ  Ｄｅｐｅｎｄａｂｌｅ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｄｒｉｖｅｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  １４ｔｈ  ＩＥＥＥ  Ｐａｃｉｆｉｃ  Ｒｉｍ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｄｅｐｅｎｄａｂｌｅ  Ｃｏｍｐｕｔｉｎｇ，ｐｐ．１５−１７，Ｄｅｃ．２００８
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記非特許文献１に記載される技術は、フラッシュメモリパッケージ内の書き換え頻度の分散化のみを対象とする技術であって、複数のフラッシュメモリパッケージを有するＳＳＤの場合において、特定の一部のフラッシュメモリパッケージ間の書き換え頻度の分散化に関する技術ではなく、未だ長寿命化において検討すべき課題が残る。
【００１０】
また上記非特許文献２に記載される技術は、複数のフラッシュメモリパッケージのうちの特定の一部のフラッシュメモリパッケージの寿命が近づいた場合、予め備えてある予備のフラッシュメモリパッケージを使用するものであり、別途予備用のフラッシュメモリパッケージを追加して設けなければならず、記憶領域の有効利用の観点から検討すべき課題が残る。
【００１１】
そこで、本発明は上記課題を鑑み、より超寿命で、かつ、記憶領域をより有効に活用することができる記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決する第一の観点に係る記憶装置は、複数のフラッシュメモリパッケージを備えるフラッシュメモリ部と、フラッシュメモリ部へのデータの書き込みを制御する書き込み制御部と、外部機器とのデータの授受を行なう物理インターフェース部と、を有し、書き込み制御部は、受け取ったデータを複数に分割し、分割された複数のデータをフラッシュメモリ部に書き込む際、複数のフラッシュメモリパッケージのうち、少なくともいずれかのフラッシュメモリパッケージにデータの書き込みを行なわない。
【発明の効果】
【００１３】
以上本発明により、より超寿命で、かつ、記憶領域をより有効に活用することができる記録装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る記憶装置の機能ブロックを示す図である。
【図２】実施形態に係るフラッシュメモリパッケージの概念の一例を示す図である。
【図３】実施形態に係る記憶装置の書き込み記録部周辺の機能ブロックを示す図である。
【図４】実施形態に係る書き込み制御部の具体的な処理の例を説明する図である。
【図５】パッケージ間ウェアレベリングを行なわなかった例を示す図である。
【図６】パッケージ間ウェアレベリングを行なった例を示す図である。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面を参照しつつ説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、以下に示す実施形態に限定されるものではない。
【００１６】
（実施形態１）
図１は、本実施形態に係る記憶装置（以下「記憶装置」という。）の機能ブロックを示す図である。本図で示すように、本記憶装置１は、複数のフラッシュメモリパッケージ２１〜２Ｎを備えるフラッシュメモリ部２と、フラッシュメモリ部２へのデータの書き込みを制御する書き込み制御部３と、外部機器とのデータの授受を行なう物理インターフェース部４と、フラッシュメモリ部２からデータを読み込む読み込み部５と、を有して構成されており、更に書き込み制御部３は、受け取ったデータを複数に分割し、分割された複数のデータをフラッシュメモリ部２に書き込む際、複数のフラッシュメモリパッケージ２１〜２Ｎのうち、少なくともいずれかのフラッシュメモリパッケージにデータの書き込みを行なわないことを特徴の一つとする。
【００１７】
本実施形態に係るフラッシュメモリ部２は、上記の通り複数のフラッシュメモリパッケージ２１〜２Ｎを有している。なお本実施形態ではｎ個のフラッシュメモリパッケージとしているが複数であれば個数に限定はない。なおフラッシュメモリパッケージ２１〜２Ｎの各々は、複数のフラッシュメモリブロックを備えて構成されており、フラッシュメモリブロックは、更に、フラッシュメモリを備えた複数のページから構成されている。なおデータの書き込み・読み出しはページ毎で行うことができ、データの消去はフラッシュメモリブロック毎に行なわれる。図２に、フラッシュメモリパッケージの構成の概念図を示しておく。また本実施形態に用いるフラッシュメモリは、ＮＡＮＤ型が一般的であるがこれに限定されずＮＯＲ型であってもよい。更に、本実施形態におけるフラッシュメモリは、マルチレベルセル（以下「ＭＬＣ」という。）であってもよいし、シングルレベルセル（以下「ＳＬＣ」という。）であってもよい。ただし、ＭＣＬはＳＬＣよりもより多くの値を保持するためデータの書き換えによる劣化がＳＣＬより厳しく、消去回数の限界値がＳＬＣの１０％程度（一般のＳＣＬが１０万回程度であるのに対し、一般のＭＣＬでは１万回程度）であるため、ＭＣＬを用いた場合により効果を発揮する。
【００１８】
本実施形態に係る物理インターフェース部４は、外部機器とのデータの授受を行なうものであり、書き込み制御部２及び読み込み制御部５とのデータの授受も行なう。特に限定されず周知の技術を用いて構成することができ、コンピュータ装置の周辺機器としてＵＳＢ、ＳＣＳＩ、ＩＤＥ等の規格に対応したコネクタ及びその周辺部品を用いることができる。もちろん、コンピュータ装置の内部に内蔵の記憶装置として内蔵させておくことも可能である（この場合、コンピュータの記憶装置部として機能することとなり、記憶装置部外の構成部分を「外部機器」と把握することができる）。
【００１９】
本実施形態に係る書き込み制御部２は、フラッシュメモリ部２へのデータの書き込みを制御するものであり、複数のフラッシュメモリパッケージ及び物理インターフェース部に接続され、データの授受が可能となっている。書き込み制御部２は、この機能を有する限りにおいて限定されるわけではないが、例えば図３で示すように、ＣＰＵ３１と、バッファ３２、ＲＡＭ３３と、フラッシュコントローラ３４と、を用いて構成し、これらにより後述の処理を行うことは好ましい一例である。
【００２０】
本実施形態に係る書き込み制御部３は、物理インターフェース部から受け取ったデータを複数に分割し、分割された複数のデータをフラッシュメモリ部２に書き込む際、複数のフラッシュメモリパッケージ２１〜２Ｎのうち、少なくともいずれかのフラッシュメモリパッケージを選択し、この選択されたフラッシュメモリパッケージにデータの書き込みを行なわないこととする。これにより、フラッシュメモリパッケージへの書き込み回数及びそのばらつきを減少させ、長寿命化を図ることができる。なおこの場合において、書き込み制御部３は、フラッシュメモリパッケージの消去回数に応じて書き込みを行なうか否かを決定することが好ましく、より好ましくは、フラッシュメモリパッケージに書き込みを行なう際、各フラッシュメモリパッケージにおける書き込み対象となるフラッシュメモリブロックの消去回数を確認し、この消去回数の多いフラッシュメモリパッケージの順にデータを書き込まないようフラッシュメモリパッケージを選択することが好ましい。このようにすることで長寿命化をより効率的に行なうことができる。なおデータを書き込まないフラッシュメモリパッケージの数は特に限定されず、後述する検査符号データを書き込むためのフラッシュメモリパッケージの数やデータの分割数を別途調整することで対応可能である。
【００２１】
ここで、書き込み制御部３の具体的な処理の例について図４を用いて説明する。本図においては、Ｎ個のフラッシュメモリパッケージを用いている例を示す。書き込み制御部３は、まず、物理インターフェース部４から書き込みデータＤ（ｂ×ｋ（Ｎ−１）行列とする）を受け取った後、この書き込みデータＤをｎ−１個のブロックデータＤ１〜ＤＮ−１（Ｄ１〜ＤＮ−１の各々はｂ×ｋ行列）に分割する。
【００２２】
次に、上記分割したブロックデータＤ１〜ＤＮ−１に基づきパリティ検査符号データＤＮを求める。具体的には、パリティ検査データを下記式として求める。
【００２３】
【数１】
0005424200.tif 000002
【００２４】
そしてＤ１〜ＤＮ−１各々に対し符号Ｃにより符号化し、ｂ×（ｋ＋ｒ）ビットの符号後ブロックデータＵ１〜ＵＮ−１を得る。
【００２５】
そして、この後、符号後ブロックデータＵ１〜ＵＮ−１のうち、例えば最も消去回数の大きいフラッシュメモリパッケージのデータを選択し、このフラッシュメモリパッケージにのみ書き込みを行なわないこととし、残りのフラッシュメモリパッケージ（例えばフラッシュメモリパッケージ２２が最も消去回数が多い場合はこのフラッシュメモリパッケージ２２を除いたフラッシュメモリパッケージ２１〜２Ｎ−１）に書き込む。なお、パリティ検査符号データＤＮは、検査符号データとしてフラッシュメモリパッケージ２Ｎに書き込まれる。このようにすることで長寿命化をより効率的に行なうことができ、記憶領域をより有効に活用することができる。なおここでは最も消去回数が多い１つのフラッシュメモリパッケージに書き込みを行なわないこととしているが、ある所定のしきい値αを設け、消去回数がこのしきい値を超えた場合は書き込まないようにするようにしても良い。
【００２６】
また本実施形態に係る読み込み制御部５は、上記の通り、フラッシュメモリ部に書き込まれたデータを読み込むための部である。なお、読み込み制御部５の構成は、上記の機能を有する限りにおいて限定されず、例えば既に図３で示すように、ＣＰＵ３１と、バッファ３２、ＲＡＭ３３と、フラッシュコントローラ３４と、を用いて構成し、これらにより読み込み処理を行うことは好ましい一例である（この場合、機能ブロックとして書き込み制御部３と読み込み制御部５は異なるが、物理的な構成としては同じものとなる。）。
【００２７】
そして本実施形態に係る読み込み制御部５は、フラッシュメモリ部２に書き込まれた（格納された）データを読み出し、検査符号データを用いて上記書き込み制御部の処理によっては書き込まれなかった処理後ブロックデータを訂正し、データＤを復元する。これにより、処理後のブロックデータをフラッシュメモリパッケージに書き込まなかった場合であっても、正確にデータを復元することができ、データの損失も抑えることができる。
【００２８】
以上、本実施形態に係る記録装置は、より超寿命で、かつ、記憶領域をより有効に活用することができる。
【００２９】
ここで、上記実施形態に係る記憶装置の効果につき、シミュレーションを行ない確認した。図５は、パッケージ間ウェアレベリングを行なわなかった例であり、図６は、上記実施形態体のパッケージ間ウェアレベリングを行なった例を示す図である。なおこのシミュレーションは、パッケージ数を８、パッケージ内ブロック数を２０４８、ブロック内のページ数を３２、書き込み消去回数のしきい値αを１０に設定し、ページサイズのデータを１億５０００万回書き込み、ブロック内が書き込みデータで満たされた場合は消去を行なって消去をカウントアップした。
【００３０】
この結果、図６で示すように、明確に消去回数のばらつきを抑えることができ、より超寿命で、かつ、記憶領域をより有効に活用することができることを確認した。
【産業上の利用可能性】
【００３１】
本発明は、記録装置として産業上利用可能性がある。
【符号の説明】
【００３２】
１…記憶装置、２…フラッシュメモリ部、３…書き込み制御部、４…物理インターフェース部、５…読み込み制御部
【図１】
0005424200.tif 000003
【図２】
0005424200.tif 000004
【図３】
0005424200.tif 000005
【図４】
0005424200.tif 000006
【図５】
0005424200.tif 000007
【図６】
0005424200.tif 000008