説明

記憶装置

【課題】大容量データストレージシステムの性能を常に最大に維持する。
【解決手段】実施形態に係わる記憶装置は、モジュール基板11上に直接実装される第1の不揮発性半導体メモリM1〜M8と、モジュール基板11上に実装され、第2の不揮発性半導体メモリM9〜M12が実装されたメモリモジュール13A,13Bの取り付け/取り外しを可能にするメモリソケット12A,12Bとを備える。メモリコントローラ14は、メモリソケット12A,12Bにメモリモジュール13A,13Bが取り付けられているか否かを判定する手段と、メモリソケット12A,12Bにメモリモジュール13A,13Bが取り付けられているときに第2の不揮発性半導体メモリM9〜M12に書き換え回数を集中させる手段と、所定の交換条件を満たしたときにその旨を示唆する表示を行う手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、記憶装置(storage device)に関する。
【背景技術】
【0002】
不揮発性半導体メモリ(例えば、NANDフラッシュメモリ)を使用する大容量データストレージシステムは、さらなる大容量化やコストダウンなどを推し進めるため、素子の微細化や2値(SLC: Single Level Cell)方式から多値(MLC: Multi Level Cell)方式への移行などが検討されている。しかし、これらの技術は、データアクセス性能の劣化や、書き換え回数の低下などの問題を発生させる。
【0003】
コンベンショナルな技術では、このような問題による影響を最小限に抑えるため、例えば、ウェアレベリング技術により、不揮発性半導体メモリの各メモリブロックに対する書き換え回数を均等化し、製品寿命の長期化を図っている。この技術の特徴は、特定メモリブロックに書き換え回数が集中しないように、データ書き換え時に書き換え回数の少ないブロックにデータを移動させることにある。
【0004】
しかし、ウェアレベリング技術を採用しても、書き換え回数がその上限を超えて正常に書き換えが行えなくなったメモリブロックは、不良ブロック(bad block)として処理されるため、その後は使用することができない。結果として、大容量データストレージシステムの一部の機能が失われることになり、システム全体としての性能が低下する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−157828号公報
【特許文献2】特開2010−79445号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
実施形態は、大容量データストレージシステムの性能を常に最大に維持するための技術を提案する。
【課題を解決するための手段】
【0007】
実施形態によれば、記憶装置は、モジュール基板と、前記モジュール基板上に直接実装される第1の不揮発性半導体メモリと、前記モジュール基板上に実装され、第2の不揮発性半導体メモリが実装されたメモリモジュールの取り付け/取り外しを可能にするメモリソケットと、前記第1及び第2の不揮発性半導体メモリを制御するメモリコントローラとを備え、前記メモリコントローラは、前記メモリソケットに前記メモリモジュールが取り付けられているか否かを判定する手段と、前記メモリソケットに前記メモリモジュールが取り付けられているときに前記第2の不揮発性半導体メモリに書き換え回数を集中させる手段と、所定の交換条件を満たしたときにその旨を示唆する表示を行う手段とを備える。
【図面の簡単な説明】
【0008】
【図1】記憶装置を示す図。
【図2】メモリシステムを示す図。
【図3】データ管理方法を示すフローチャート。
【図4】変形例のメモリモジュールを示す図。
【図5】メモリシステムを示す図。
【図6】データ管理方法を示すフローチャート。
【図7】適用例のメモリシステムを示す図。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら実施形態を説明する。
【0010】
実施形態は、SSD(Solid State Drive)などの大容量データストレージシステムにおいて、データストレージにメモリソケットを付加し、メモリモジュールの取り付け/取り外しを可能にする。データストレージにメモリモジュールが取り付けられると、そのメモリモジュールに実装された不揮発性半導体メモリを優先的に使用し、それに書き換え回数を集中させる。
【0011】
これにより、データストレージに直接実装された交換不可能な不揮発性半導体メモリの書き換え回数を減らし、その不揮発性半導体メモリ内に不良ブロックが発生することを抑制する。メモリモジュールに実装された不揮発性半導体メモリには書き換え回数が集中し、不良ブロックの発生率が高くなるが、メモリモジュールは交換可能である。従って、所定の交換条件を満たしたときにメモリモジュールを交換すれば、メモリモジュールに書き換え回数が集中することによる問題は解消される。
【0012】
以上のコンセプトは、ウェアレベリング技術のそれとは正反対である。特定の不揮発性半導体メモリに書き換え回数を集中させることにより、結果的に、大容量データストレージシステムの性能を常に最大に維持することができる。
【0013】
但し、このコンセプトにウェアレベリング技術を組み合わせることは可能である。
【0014】
例えば、メモリモジュールに実装された交換可能な不揮発性半導体メモリに書き換え回数を集中させるためには、それに記憶されるデータが頻繁に書き換えられるデータであればよいが、そうでないときは、ウェアレベリング技術、デフラグ技術、コンパクション技術などを利用して、交換可能な不揮発性半導体メモリに記憶されたデータを、データストレージに直接実装された交換不可能な不揮発性半導体メモリに移動させ、交換可能な不揮発性半導体メモリ内に追記データを記憶する空き容量を確保するのが望ましい。
【0015】
同様の主旨から、交換可能な不揮発性半導体メモリに記憶されたデータが頻繁に書き換えられるデータであるときは、その頻繁に書き換えられるデータを交換可能な不揮発性半導体メモリに移動させてもよい。
【0016】
また、必要に応じて、交換可能な不揮発性半導体メモリから別の交換可能な不揮発性半導体メモリにデータの移動を行ってもよいし、交換不可能な複数の不揮発性半導体メモリ間でデータの移動を行ってもよい。
【0017】
さらに、メモリモジュールの取り付けの有無に係わらず、データストレージに直接実装された交換不可能な不揮発性半導体メモリを対象にウェアレベリングを実行することは、それら不揮発性半導体メモリの書き換え回数を均等化し、不良ブロックの発生を抑制するのに有効である。
【0018】
尚、メモリモジュールの交換時期については、システム内の管理ソフトウェアにより管理するのが望ましい。
【0019】
所定の交換条件は、(1) メモリモジュール内の不良ブロック数が所定値を超えたとき、(2) メモリモジュールに対する書き換え回数が所定値を超えたとき、(3) メモリモジュール内の全てのブロックが不良となったとき、などを採用することができる。
【0020】
これら条件のうちの1つを満たしたときに、例えば、メモリモジュールの交換を示唆する表示を行う。
【0021】
所定の交換条件を満たしたとき以降は、例えば、メモリモジュール内のデータは、そのメモリモジュール以外の他のメモリモジュール、又は、データストレージに直接実装された不揮発性半導体メモリに転送され、そこに記憶される。
【0022】
図1は、実施形態に係わる記憶装置を示している。
【0023】
モジュール基板11は、例えば、単層又は多層の回路基板から構成される。第1の不揮発性半導体メモリM1〜M8は、モジュール基板11上に直接実装され、交換不可能な状態となっている。不揮発性半導体メモリM1〜M8は、例えば、NAND型フラッシュメモリである。
【0024】
メモリソケット12A,12Bは、モジュール基板11上に実装され、メモリモジュール13A,13Bの取り付け/取り外しを可能にする。メモリソケット12A,12Bは、SIMM (Single Inline Memory Module)や、DIMM (Dual Inline Memory Module)などを採用することができる。
【0025】
第2の不揮発性半導体メモリM9〜M12は、メモリモジュール13A,13B上に実装される。即ち、第2の不揮発性半導体メモリM9〜M12は、交換可能な状態となっている。不揮発性半導体メモリM9〜M12は、例えば、NAND型フラッシュメモリである。
【0026】
メモリコントローラ14は、第1及び第2の不揮発性半導体メモリM1〜M12を制御する。
【0027】
図2は、図1の記憶装置を含むメモリシステムを示している。
【0028】
記憶装置(データストレージ)10は、図1の記憶装置に相当する。ここでは、第1の不揮発性半導体メモリM1〜M4とメモリコントローラ14とは、第1のチャネルCH1を介して互いに接続される。第1の不揮発性半導体メモリM5〜M8とメモリコントローラ14とは、第2のチャネルCH1を介して互いに接続される。
【0029】
メモリモジュール13Aに実装された第2の不揮発性半導体メモリM9,M10は、第3のチャネルCH3を介してメモリコントローラ14に接続される。メモリモジュール13Bに実装された第2の不揮発性半導体メモリM11,M12は、第4のチャネルCH4を介してメモリコントローラ14に接続される。
【0030】
記憶装置(例えば、SSD)10は、シリアルATA(advanced technology attachment)などのインターフェイス21を介して情報処理装置(例えば、ノートパソコン)22に接続される。情報処理装置22は、ホストコントローラ23、メモリ(例えば、DRAM、SRAMなど)24、DMAコントローラ(direct memory access controller)25、及び、CPU(central processing unit)26を有する。
【0031】
ホストコントローラ23は、記憶装置10に対して、データの書き込み、読み出し、消去などの動作を指示し、メモリコントローラ14は、ホストコントローラ23の指示に基づいて、不揮発性半導体メモリM1〜M12に対して、実際に、データの書き込み、読み出し、消去などの動作を実行する。
【0032】
図3は、図1の記憶装置の動作を示している。
この動作(データ管理方法)は、図1のメモリコントローラ14により制御される。
【0033】
まず、メモリソケットにメモリモジュールが取り付けられているか否かを判定する(ステップST1)。
【0034】
メモリソケットにメモリモジュールが取り付けられていないときは、データストレージに直接実装された交換不可能な第1の不揮発性半導体メモリを対象にウェアレベリングによるデータ管理を行う(ステップST2)。
【0035】
メモリソケットにメモリモジュールが取り付けられているときは、メモリモジュール内の第2の不揮発性半導体メモリに書き換え回数を集中させる。また、データストレージに直接実装された交換不可能な第1の不揮発性半導体メモリを対象にウェアレベリングによるデータ管理を行う(ステップST3)。
【0036】
以上のデータ管理方法により、データストレージに直接実装された交換不可能な不揮発性半導体メモリの書き換え回数を減らし、その不揮発性半導体メモリ内に不良ブロックが発生することを抑制する。
【0037】
一方、メモリモジュール内の不揮発性半導体メモリには書き換え回数が集中し、不良ブロックの発生率が高くなるため、所定の交換条件を満たしたときにメモリモジュールの交換を行う(ステップST4)。
【0038】
所定の交換条件は、例えば、メモリモジュール内の不良ブロック数が所定値を超えたときである。不揮発性半導体メモリは、複数のメモリブロックから構成され、1つのメモリブロックは、消去の単位となる。書き換え回数がその上限を超えて正常に書き換えが行えなくなったメモリブロックは、不良ブロックとしてその後の使用が禁止される。不良ブロックか否かは、例えば、フラグにより認識可能であるため、不良ブロック数を検出し、その数が所定値を超えたか否かにより交換時期を示すことができる。
【0039】
また、所定の交換条件は、例えば、メモリモジュールに対する書き換え回数が所定値を超えたときである。不良ブロック数は、書き換え回数の増加に比例して増える。従って、書き換え回数を交換条件とすることも可能である。
【0040】
さらに、所定の交換条件は、例えば、メモリモジュール内の全てのブロックが不良となったときとすることもできる。メモリモジュール内の全てのブロックが不良となったときは、そのメモリモジュールを記憶装置(データストレージ)に搭載しておく意味がなくなるため、これを交換条件とすることも可能である。
【0041】
所定の交換条件を満たしたときは、その旨を示唆する表示を行う(ステップST5)。
【0042】
交換表示の方法は、様々であるが、例えば、ディスプレイ上に表示するようにしてもよいし、LEDなどのランプを点滅させるようにしてもよい。
【0043】
また、所定の交換条件を満たしたときは、メモリモジュール内のデータを、そのメモリモジュール以外の他のメモリモジュール、又は、データストレージに直接実装された不揮発性半導体メモリに移動し、そこに記憶する(ステップST5)。
【0044】
このデータ移動は、所定の交換条件を満たしたときに自動的に行ってもよいし、所定の交換条件を満たした後、メモリモジュールを交換する直前に行ってもよい。後者の場合は、メモリモジュールを交換するときにデータが失われないように、必ず、データ移動を行った後にメモリモジュールを取り外す行為が行われるようにする。
【0045】
また、データの流出/漏洩を防止するために、メモリモジュールを取り外す前に、メモリモジュール内のデータの全てを消去する動作を行うことが望ましい。仮に、データの消去が行われないままでメモリモジュールが取り外された場合を考慮すると、メモリコントローラとメモリモジュールとの間でのデータ転送は、暗号化処理するのが望ましい。
【0046】
図4は、メモリモジュールの変形例を示している。図5は、図4のメモリモジュールを備えた記憶装置及び情報処理装置を示している。
【0047】
この変形例の特徴は、メモリモジュール13A,13Bが不揮発性半導体メモリM9,M10,M11,M12の情報(世代、メモリ容量、SLC/MLCなど)を記憶する手段を有している点にある。この手段は、図4及び図5に示すように、メモリチップ(ROMチップ)15A,15Bであってもよいし、これに代えて、不揮発性半導体メモリM9,M10,M11,M12内にそのような情報を記憶させる回路を設けてもよい。
【0048】
また、不揮発性半導体メモリM9,M10,M11,M12の情報は、メモリモジュール13A,13Bに格納されているファームウェアを読み込むことにより判断することも可能である。
【0049】
不揮発性半導体メモリM9,M10,M11,M12の情報は、識別信号として、例えば、メモリチップ15A,15Bからメモリモジュール13A,13Bの外部端子の一部を介して読み出される。
【0050】
即ち、メモリコントローラ14は、メモリソケット12A,12Bにメモリモジュール13A,13Bが取り付けられているときに、それらメモリモジュール13A,13Bから外部端子16A,16Bを介して第2の不揮発性半導体メモリM9,M10,M11,M12の情報を読み込む。
【0051】
識別信号とメモリの種類の例を図4の(b)に示す。
【0052】
4x nm世代SLCとは、設計ルールが40 nm台の2値NANDフラッシュメモリを意味する。同様に、4x nm世代MLCとは、設計ルールが40 nm台の多値NANDフラッシュメモリを意味し、3x nm/2x nm世代MLCとは、設計ルールが30 nm台/20 nm台の多値NANDフラッシュメモリを意味する。
【0053】
図6は、図4のメモリモジュールが取り付けられた記憶装置の動作を示している。
この動作(データ管理方法)は、図5のメモリコントローラ14により制御される。
【0054】
まず、メモリソケットにメモリモジュールが取り付けられているか否かを判定する(ステップST1)。
【0055】
メモリソケットにメモリモジュールが取り付けられているときは、メモリモジュールに実装された第2の不揮発性半導体メモリの情報を読み込む(ステップST2)。
【0056】
そして、第2の不揮発性半導体メモリのデータアクセス性能が第1の不揮発性半導体メモリのそれよりも高いときには、第2の不揮発性半導体メモリに高いアクセス頻度を有するデータを優先的に記憶させる(ステップST3〜ST4)。
【0057】
例えば、第2の不揮発性半導体メモリの世代(例えば、3x nm世代)が第1の不揮発性半導体メモリの世代(例えば、4x nm世代)よりも新しいとき、第2の不揮発性半導体メモリのデータアクセス性能は、第1の不揮発性半導体メモリのそれよりも高いと言える。
【0058】
また、第1及び第2の不揮発性半導体メモリの世代が同じときは、第2の不揮発性半導体メモリがSLCで、第1の不揮発性半導体メモリがMLCであれば、第2の不揮発性半導体メモリのデータアクセス性能は、第1の不揮発性半導体メモリのそれよりも高いと言える。
【0059】
ここで、高いアクセス頻度を有するデータとは、例えば、現在から過去に遡った一定期間内にホストコントローラからアクセス要求があったデータを意味するものとする。
【0060】
この変形例によれば、メモリモジュールに実装される不揮発性半導体メモリを、ライトスルー/ライトバックキャッシュとして使用し、データストレージのデータアクセス性能を向上させることが可能になる。
【0061】
例えば、メモリモジュールに実装される不揮発性半導体メモリをライトスルーキャッシュとして使用する場合、データは、メモリモジュール内の不揮発性半導体メモリ(キャッシュメモリ)に書き込まれると同時に、データストレージに直接実装される不揮発性半導体メモリにも書き込まれる。
【0062】
また、メモリモジュールに実装される不揮発性半導体メモリをライトバックキャッシュとして使用する場合、データは、メモリモジュール内の不揮発性半導体メモリ(キャッシュメモリ)のみに書き込まれるため、そのデータを消去するときは、消去前にそのデータをデータストレージに直接実装される不揮発性半導体メモリにコピーする。
【0063】
この変形例によれば、メモリモジュール内の不揮発性半導体メモリの情報に基づいて、メモリモジュール内の不揮発性半導体メモリとデータストレージに直接実装される不揮発性半導体メモリとの間でデータアクセス性能を比較し、データバスのチャネル毎にデータアクセス方法の最適化を行うことができる。
【0064】
図7は、適用例としてのメモリシステムを示している。
【0065】
このメモリシステムは、ハイブリッドHDD(Hybrid HDD)システムと呼ばれ、不揮発性半導体メモリ(FLASH)41をキャッシュメモリとして使用する点に特徴を有する。
【0066】
不揮発性半導体メモリ41は、実施形態に係わる記憶装置(例えば、SSD)であり、交換可能なメモリモジュールを有する。不揮発性半導体メモリ41及びハードディスクドライブ(HDD)42は、バス43に接続される。ホストコントローラ44は、不揮発性半導体メモリ41及びハードディスクドライブ(HDD)42の動作を制御する。
【0067】
尚、不揮発性半導体メモリ41におけるメモリモジュール数や容量などに応じて、不揮発性半導体メモリ41を、単にキャッシュメモリとして使用するのではなく、ハードディスクドライブ42と同様に、補助記憶メモリ(HDDとSSDの混載ドライブ)として使用してもよい。
【0068】
上述の実施形態によれば、大容量データストレージシステムの性能を常に最大に維持することができる。即ち、各メモリブロックの書き換え回数を均等化するのではなく、消耗品として交換可能なメモリモジュールを使用し、そのメモリモジュールに優先的にデータの書き換え回数を集中させる。
【0069】
これにより、データストレージに直接実装された交換不可能な不揮発性半導体メモリの書き換え回数を低減し、かつ、メモリモジュールが不良となったときはそれを交換することにより、製品寿命の改善と高信頼性とを実現する。
【0070】
尚、上述の実施形態は、SSDなどのNANDフラッシュメモリを使用する大容量データストレージシステムに適用するのが効果的である。
【0071】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0072】
10: 記憶装置、 11: モジュール基板、 12A,12B: メモリソケット、 13A,13B: メモリモジュール、 14: メモリコントローラ、 15A,15B: メモリチップ、 21: インターフェイス、 22: 情報処理装置、 23: ホストコントローラ、 24: メモリ、 25: DMAコントローラ、 26: CPU、 M1〜M12: 不揮発性半導体メモリ。

【特許請求の範囲】
【請求項1】
モジュール基板と、前記モジュール基板上に直接実装される第1の不揮発性半導体メモリと、前記モジュール基板上に実装され、第2の不揮発性半導体メモリが実装されたメモリモジュールの取り付け/取り外しを可能にするメモリソケットと、前記第1及び第2の不揮発性半導体メモリを制御するメモリコントローラとを具備し、
前記メモリコントローラは、前記メモリソケットに前記メモリモジュールが取り付けられているか否かを判定する手段と、前記メモリソケットに前記メモリモジュールが取り付けられているときに前記第2の不揮発性半導体メモリに書き換え回数を集中させる手段と、所定の交換条件を満たしたときにその旨を示唆する表示を行う手段とを備える記憶装置。
【請求項2】
前記メモリコントローラは、前記所定の交換条件を満たしたときに前記第2の不揮発性半導体メモリ内のデータを前記第1の不揮発性半導体メモリを含む他のメモリに移動させる手段をさらに備える請求項1に記載の記憶装置。
【請求項3】
前記メモリコントローラは、前記メモリソケットに前記メモリモジュールが取り付けられているか否かに係わらず、前記第1の不揮発性半導体メモリを対象にウェアレベリングでデータを管理する手段をさらに備える請求項1に記載の記憶装置。
【請求項4】
前記メモリコントローラは、前記メモリソケットに前記メモリモジュールが取り付けられているときに前記第2の不揮発性半導体メモリの情報を読み込む手段と、前記第2の不揮発性半導体メモリのデータアクセス性能が前記第1の不揮発性半導体メモリのそれよりも高いときに前記第2の不揮発性半導体メモリに高いアクセス頻度を有するデータを優先的に記憶させる手段とを備える請求項1に記載の記憶装置。
【請求項5】
前記所定の交換条件は、前記メモリモジュール内の不良ブロック数が所定値を超えたとき、前記メモリモジュールに対する書き換え回数が所定値を超えたとき、前記メモリモジュール内の全てのブロックが不良となったとき、のいずれか1つである請求項1に記載の記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−118853(P2012−118853A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−269188(P2010−269188)
【出願日】平成22年12月2日(2010.12.2)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(391016358)東芝情報システム株式会社 (149)
【Fターム(参考)】