半導体記憶装置を用いたRAIDシステム及びその制御方法
【課題】データを分散して記憶させる半導体メモリに対して、想定される機械的負荷及び電気的負荷を平準化させる半導体記憶装置を用いたRAIDシステムを提供する。
【解決手段】ホスト機器200との間でデータ転送を行うRAIDシステム100であって、複数の半導体メモリを搭載して成る複数の半導体記憶装置10と、複数の半導体記憶装置10間でデータを分散して記憶する際に、半導体メモリの組み合わせを選択する半導体メモリ選択部20と、半導体メモリ選択部20が選択した半導体メモリに対して、ホスト機器200の要求に応じたアクセスを行うメモリ制御部30とを具備し、半導体メモリ選択部20は、半導体メモリの受ける機械的負荷が平均化するように、半導体メモリの組み合わせを選択する。
【解決手段】ホスト機器200との間でデータ転送を行うRAIDシステム100であって、複数の半導体メモリを搭載して成る複数の半導体記憶装置10と、複数の半導体記憶装置10間でデータを分散して記憶する際に、半導体メモリの組み合わせを選択する半導体メモリ選択部20と、半導体メモリ選択部20が選択した半導体メモリに対して、ホスト機器200の要求に応じたアクセスを行うメモリ制御部30とを具備し、半導体メモリ選択部20は、半導体メモリの受ける機械的負荷が平均化するように、半導体メモリの組み合わせを選択する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の半導体記憶装置を用いたRAIDシステム及びその制御方法に関する。
【背景技術】
【0002】
近年、代表的な大容量記憶装置としてHDD(Hard Disk Drive)を用いたRAID(Redundant Array of Inexpensive Disks)が広く用いられている。RAIDは安価なHDDを複数個組み合わせ、冗長性を持たせた上でデータを分散記録するため、高速で信頼性の高い記憶装置を安価に実現することができる。
【0003】
HDDにおいて、磁気ヘッドによって円盤状のディスク上の磁性体にデータが記録される。HDDの寿命に影響を与える要因は多数考えられるが、記憶部であるディスクは円盤状であり、ディスク上で不良が発生する場所はランダム性が高い。よって、物理的な情報記録位置によってデータが失われる確率は同じである可能性が高い。このような理由から、故障という観点から見た場合、HDD内部でディスクにデータを記録する物理的な場所は大きな問題にはならない。RAIDを構成するHDDの場合も、分散記録するデータのHDD内部での位置は大きな問題とはならない。
【0004】
他方、不揮発性の半導体メモリを用いた半導体記憶装置の大容量化が急速に進んでいる。半導体記憶装置では、データは基板上に実装された半導体メモリに保存される。HDDのディスクの場合とは異なり、半導体メモリは必ずしも物理的に対称性を持って基板上に実装されるわけではない。よって、半導体メモリの物理的な位置によって、不良が発生する確率に差異が生じる。そのため、データの復元を考慮した冗長性を持たせた分散記録だけでは十分といえない。
【0005】
また、半導体メモリの場合、書き込み回数に制限が存在することから、消去回数の平準化について工夫がなされている。例えば、複数のフラッシュメモリ・モジュールにより構成されたRAIDにおいて、複数のモジュールに渡る消去回数平準化法が提案されている(例えば、特許文献1参照。)。これは、半導体メモリに特有の書き込み回数制限を回避するために、RAIDを構成した状態で複数のモジュールにまたがって平準化することにより、RAIDによるストレージ装置の長寿命化を図るものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007-265265号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
半導体記憶装置でRAIDを構成し、半導体メモリの物理的配置を考慮せずにデータを分散保存させた場合、各半導体記憶装置内の半導体メモリは不良が発生する確率が異なる。各半導体記憶装置にデータを保存する際、その時点で不良が発生する確率が高い半導体メモリに選択的にデータが分散される可能性が生じる。この結果、HDDによるRAIDと比較して、RAIDによる冗長性以上の不良が一度に発生し、データが失われる可能性がより高くなるという問題があった。
【0008】
本発明が解決しようとする課題は、データを分散して記憶させる半導体メモリに対して、想定される機械的負荷及び電気的負荷を平準化させることである。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、ホスト機器との間でデータ転送を行う半導体記憶装置を用いたRAIDシステムであって、複数の半導体メモリを搭載して成る複数の半導体記憶装置と、前記複数の半導体記憶装置間でデータを分散して記憶する際に、前記半導体メモリの組み合わせを選択する半導体メモリ選択部と、前記半導体メモリ選択部が選択した前記半導体メモリに対して、前記ホスト機器の要求に応じたアクセスを行うメモリ制御部とを具備し、前記半導体メモリ選択部は、前記半導体メモリの受ける機械的負荷を事前に又はデータの記憶時に算定し、この算定された負荷の値が平均化されるように、前記半導体メモリの組み合わせを選択する。
【図面の簡単な説明】
【0010】
【図1】本発明の実施の形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。
【図2】本発明の実施の形態に係る半導体記憶装置の概略構成を示す模式図である。
【図3】本発明の実施の形態に係る半導体記憶装置を用いたRAIDシステムの一例を示す模式図である。
【図4】最適化された半導体メモリの組み合わせを説明する図である。
【図5】分散化されたデータの保存例を説明する図である。
【図6】半導体メモリの組み合わせ決定までの処理の流れを示すフローチャートである。
【図7】代表距離の決定の仕方を説明する図である。
【図8】第3の実施形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。
【図9】半導体メモリの組み合わせ決定までの処理の流れを示すフローチャートである。
【図10】第4の実施形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。
【図11】半導体メモリの組み合わせ決定までの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について図面を参照しながら説明する。各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【0012】
(第1の実施形態)
図1は、本発明の実施の形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。このRAIDシステム100は、複数の半導体記憶装置10と、メモリ制御部30と、半導体メモリ選択部20から構成され、外部機器としてのホスト機器200と接続している。半導体記憶装置10は後述するように、実装基板上に複数の半導体メモリが搭載されている。半導体メモリ選択部20は、複数の半導体記憶装置10間でデータを分散して記憶する際に、半導体メモリの組み合わせを選択するものである。半導体メモリ選択部20は、それぞれの半導体記憶装置10内の半導体メモリの受ける機械的負荷が平均化するように、半導体メモリの組み合わせを選択する。第1の実施形態では、半導体メモリの受ける機械的負荷情報40が半導体メモリ選択部20に取り込まれている。メモリ制御部30は、半導体メモリ選択部20が選択した半導体メモリに対して、ホスト機器200の要求に応じたアクセスを行い、分散したデータの書き込み等を実行する。ホスト機器200としては、例えばパーソナルコンピュータなどの電子機器が挙げられる。
【0013】
図2は、本発明の実施の形態に係る半導体記憶装置10の概略構成を示す模式図である。図2において、実装基板1上の中央からやや右寄りに、制御用のコントロールIC5が配置されている。コントロールIC5の周囲には、コンデンサ6、センサ7、電源8が配置されている。センサ7は、実装基板1上、またはその周囲環境の物理的変動を計測するもので、モニタリングを行うために配設する。計測する物理量としては、加速度、ひずみ、温度、抵抗、インピーダンスのいずれか一つでも、または複数でもよい。
【0014】
さらに、これらを取り囲むように、8個の半導体メモリ4が配置されている。したがって、各半導体メモリ4が配置された位置とコントロールIC5とを結ぶ距離は、異なっている。半導体メモリ4は、例えば2値NAND型フラッシュメモリ、あるいは多値NAND型フラッシュメモリが好適である。図2においては、半導体メモリ4の実装数は8個であるが、一つの半導体記憶装置10に実装される半導体メモリ4の数はこれに限られない。実装基板1の一端部には、コネクタ2が配設されている。半導体記憶装置10は、樹脂封止などでパッケージングされていてもよい。
【0015】
図2に示す半導体記憶装置10をn台用いて、図3に示すようなRAIDシステム100を構築する。図3は、RAIDシステム100の一例を示す模式図である。図3に示すRAIDシステム100において、一つのデータをn個のブロックに分散化して各半導体記憶装置10に保存する。データを分散化する方法は、特定のものに限定されることなく、RAIDの冗長性のレベルによって様々な周知のものを採用することができる。すなわち、冗長性を持たせずにデータをn分割して保存する場合(RAID0)、データそのもののコピーをn個保存する場合(RAID1)、データを分割して保存し、さらに分割データのパリティも保存する場合(RAID5、6)等である。
【0016】
本発明の第1の実施形態においては、コントロールIC5の発熱による熱変動(熱負荷)に対する、半導体メモリ4への書き込みの最適化を行う。一般的に、半導体記憶装置10に用いられるコントロールIC5は副次的に大きな発熱を伴う。実装基板1上の実装部品に大きな熱変動が存在する場合、電源のON、OFFにより半導体メモリ4と実装基板1を接続するはんだ接合部には、大きな熱応力が発生する。
【0017】
図2に示す半導体記憶装置10では、コントロールIC5から距離が離れるに従って実装基板1上の温度が下降していく。そこで、RAIDシステム100を構成する各半導体記憶装置10において、分散してデータを保存する各半導体メモリ4の、コントロールIC5からの代表距離を極力平均化するように組み合わせを決定する。これにより、RAIDシステム100を構成する半導体メモリ4全体に渡って、熱変動の影響を平均化することができる。代表距離としては、コントロールIC5の中心から各半導体メモリ4の中心までの距離あるいはコントロールIC5の中心から最も近接する各半導体メモリのはんだ接合部までの距離などが好適である。
【0018】
代表距離を平均化するための組み合わせは、半導体記憶装置10の設計時に決定することができる。しかし、半導体メモリ4の劣化等の情報、例えば既書き込み回数等をも合わせて考慮して、組み合わせの優先順位付けは随時変更することも可能である。
【0019】
具体的な半導体メモリ4の組み合わせの決定方法として、各半導体メモリ4とコントロールIC5の代表距離を用いて、組み合わせ最適化の観点から決定することができる。k番の半導体記憶装置10において、コントロールIC5から各半導体メモリ4までの代表距離をdki(k=1・・・n,i=1・・・8)、半導体記憶装置Aの1〜8の半導体メモリ4と組み合わせてデータを保存する、他の半導体記憶装置の半導体メモリの組をB(i),C(i),・・・,N(i)(B(i),C(i),・・・,N(i)∈{1・・・8},i=1・・・8)とすると、組み合わせを決定する方法は,以下の最適化問題を解くことに帰着される。
【0020】
min.fは関数fを最小化することを表す。
【数1】
【0021】
式(1)は遺伝的アルゴリズム等の一般的な最適化アルゴリズムによって解を得ることができる。分散してデータを記録する半導体メモリ4の組み合わせを考慮して、半導体メモリ4の順序を並べ替えた様子を図4に示す。図4に示すように、RAIDシステム100は、N個の半導体記憶装置10から成り、各半導体記憶装置10はそれぞれ8個の半導体メモリ4を搭載している。半導体記憶装置B乃至半導体記憶装置Nにおいては、最適化アルゴリズムによって各半導体メモリ4について並べ替えが行われた状態で配置されていることを表わしている。図4の最適化された半導体メモリ4の組み合わせに対して、データを図5のように分散して記録する。図5に示すように、分散データa1を記録する半導体メモリA1に対して、組み合わせとして選定された半導体メモリB(1)に分散データb1を記録し、組み合わせとして選定された半導体メモリC(1)に分散データc1を記録している。分散データn1についても同様に記録する。
【0022】
本実施形態によれば、分散データを記録する半導体メモリの組み合わせに、コントロールIC等から受ける熱等の機械的負荷を考慮するので、データ損失のリスクを低減することができる
(第2の実施形態)
本発明に係る第2の実施形態として、外部からの荷重や振動に対する書き込み最適化を行う場合を説明する。図2に示すように、支持部(ボス穴)3が形成された実装基板1においては、外部から荷重や振動が加えられた際に、支持部3を介して実装基板1に荷重が伝達される。支持部3を経由して荷重が加えられた場合、一般的に、支持部3に近接するに従って実装基板の曲率が大きくなる傾向がある。半導体メモリ4と実装基板1との間のはんだ接合部には、はんだ接合部における実装基板1の曲率が大きいほど大きな応力が発生する。
【0023】
そこで、第2の実施形態においては、各半導体メモリ4と支持部3までの代表距離が平均化するようにデータを分散保存する。代表距離として、支持部3の中心から各半導体メモリ4の中心までの距離あるいは支持部3の中心から最も近接する各半導体メモリ4のはんだ接合部までの距離などを選定することが好適である。上記式(1)により、代表距離を設定して最適化問題に帰着させることで、組み合わせの解を得ることができる。
【0024】
代表距離を平均化するための組み合わせは、半導体記憶装置10の設計時に決定することができる。しかし、半導体メモリ4の劣化等の情報、例えば既書き込み回数等をも合わせて考慮して、組み合わせの優先順位付けは随時変更することも可能である。
【0025】
ここで、上記した第1の実施形態及び第2の実施形態における半導体メモリ4の組み合わせ決定までの処理の流れについて、図6により説明する。
【0026】
まず、基準位置となる熱源やボス穴の位置を決定する(ステップS61)。ここで、熱源はコントロールIC5あるいは電源8であり、ボス穴は支持部3である。各半導体メモリ4への代表距離dKIを決定する(ステップS62)。代表距離dkiの決定は、一つの決め方に限られない。そこで、例えば、図7に示すよう決定することが好適である。図7は、代表距離の決定の仕方を説明する図である。図7に示すように、熱源となるコントロールIC5から半導体メモリ4のはんだ接合部9への最短距離dts、熱源となるコントロールIC5から半導体メモリ4の中心部への最短距離dtc、ボス穴3から半導体メモリ4のはんだ接合部9への最短距離dms、ボス穴3から半導体メモリ4の中心部への最短距離dmcのいずれでもよい。
【0027】
代表距離dkiの決定後は、最適化問題を解いて半導体メモリ4の組み合わせを決定する(ステップS63)。RAIDシステム100に設けたメモリ制御部30へ、決定した半導体メモリ4の組み合わせを格納する(ステップS64)。
【0028】
(第3の実施形態)
本発明に係る第3の実施の形態として、物理的状態を測定しながら各半導体メモリ4のはんだ接合部に蓄積される損傷値を推定し、推定された損傷値を元に書き込み最適化を行う場合について説明する。図8は、本発明の第3の実施形態に係る半導体記憶装置を用いたRAIDシステム100の構成を示すブロック図である。このRAIDシステム100は、複数の半導体記憶装置10と、メモリ制御部30と、半導体メモリ選択部20から構成され、外部機器としてのホスト機器200と接続している。さらに、第3の実施形態においては、疲労特性データベース50を予め準備しる。この疲労特性データベース50には、例えば、はんだ接合部9のひずみ範囲と寿命の関係を表すデータが蓄積されている。このデータベース50は、実装基板1の設計情報や使用している材料の情報を利用して、半導体メモリ4が搭載された半導体記憶装置10に対して現象解析を実行し、はんだ接合部9に生じる負荷を予測することにより、はんだ接合部9の破損に関する関係を算出して構築することができる。
【0029】
第1の実施形態、第2の実施形態において述べたように、はんだ接合部9は機械的な負荷により損傷を受ける。ある一定の損傷が蓄積すると、はんだ接合部9は疲労により電気的に断線する。本実施形態では、センサ7で測定された物理量を、別途保存してある疲労特性データベース50と比較することにより、各半導体メモリ4のはんだ接合部9の損傷値を算出する。この損傷値についての情報51を元に、半導体メモリ選択部20において、分散したデータを書き込む半導体メモリ4の組み合わせを決定する。半導体メモリ4の組み合わせを更新する頻度は、ファイル書き込み毎、一定期間使用後、半導体メモリ内のガベージコレクションのタイミング等、の場合が考えられる。また、第1の実施形態、第2の実施形態で算出される代表距離を損傷値に置き換えることで、データを分散させる半導体メモリ4の組み合わせを、最適化問題を解くことにより得ることができる。
【0030】
ここで、第3の実施形態における半導体メモリ4の組み合わせ決定までの処理の流れについて、図9により説明する。
【0031】
まず、センサ7からの情報を取得する(ステップS91)。取得したセンサ情報は一定時間ごとにセンサ情報データベース60に記憶する(ステップS92)。半導体メモリ4の組み合わせを更新する必要があるか否かを判定するために、組み合わせ更新イベントを検出する(ステップS93)。組み合わせ更新イベントを検出しなかった場合には、ステップS91に戻り、組み合わせ更新イベントを検出した場合には、センサ情報が格納されたセンサ情報データベース60と疲労特性が格納された疲労特性データベース50を用いて、各半導体メモリ4のはんだ接合部9の損傷値を計算する(ステップS94)。次いで、各半導体メモリ4内の最も損傷値が大きいはんだ接合部9の損傷値を代表損傷値dkiとする(ステップS95)。代表損傷値dkiから、最適化問題を解いて半導体メモリ4の組み合わせB(i)・・・N(i)を決定する(ステップS96)。RAIDシステムに設けたメモリ制御部30へ、決定した半導体メモリ4の組み合わせを格納する(ステップS97)。その後、各半導体メモリ4内に記憶されたデータの組み合わせを更新(ステップS98)し、ステップS91に戻る。
【0032】
(第4の実施形態)
次に、本発明に係る第4の実施形態について説明する。図10は、第4の実施形態に係る半導体記憶装置を用いたRAIDシステム100の構成を示すブロック図である。このRAIDシステム100は、複数の半導体記憶装置10と、メモリ制御部30と、半導体メモリ選択部20から構成され、外部機器としてのホスト機器200と接続している。さらに、第4の実施形態においては、疲労特性データベース50と、各半導体メモリ4への書き込み回数情報71を格納した書き込み回数データベース70を予め準備している。一般的に、半導体メモリ4では、記憶素子の記録回数は有限であり、数百万回程度で記憶素子が劣化して書き込みが不可能になる。一方、情報は、記憶素子の集まりであるブロック単位で書き込みあるいは消去が行われる。そこで、或るブロックに書き込みを行った回数を別途記録し、次に書き込みを行うブロックを決める際の参考とし、書き込みの回数が分散化され、特定のブロックに書き込みが集中することを防いでいる。
【0033】
そこで、本実施形態では、各半導体メモリ4の記憶素子の劣化の情報を考慮するもので、それぞれの半導体メモリ4の総書き込み回数と、機械的な損傷の可能性を示す指標の両方を利用して、書き込みを行う半導体メモリ4の組み合わせを決定する。たとえば、k番目の半導体記憶装置10において、i番目の半導体メモリ4の総書き込み回数をdkiとすると、以下の式(2)のような最適化問題によって組合せを決定することができる。
【数2】
【0034】
αは正の定数を表す。関数g(Dki)と定数αの決め方によって、機械的な損傷と記憶素子の書き込みによる劣化とのバランスをとることができる。一例として、以下の式(3)のように、機械的な損傷と同様、平均化を目的とする関数を選択することもできる。
【数3】
【0035】
ここで、第4の実施形態における半導体メモリ4の組み合わせ決定までの処理の流れについて、図11により説明する。
【0036】
まず、センサ7からの情報を取得する(ステップS111)。取得したセンサ情報は一定時間ごとにセンサ情報データベース60に記憶する(ステップS112)。半導体メモリ4の組み合わせを更新する必要があるか否かを判定するために、組み合わせ更新イベントを検出する(ステップS113)。組み合わせ更新イベントを検出しなかった場合には、ステップS111に戻り、組み合わせ更新イベントを検出した場合には、センサ情報が格納されたセンサ情報データベース60と疲労特性が格納された疲労特性データベース50を用いて、各半導体メモリ4のはんだ接合部9の損傷値を計算する(ステップS114)。次いで、各半導体メモリ4内の最も損傷値が大きいはんだ接合部9の損傷値を代表損傷値dkiとする(ステップS115)。代表損傷値dkiを決定した後、半導体メモリ書き込み回数データベース70に格納された半導体メモリ書き込み回数Dkiから,最適化問題を解いて半導体メモリ4の組み合わせB(i)・・・N(i)を決定する(ステップS116)。RAIDシステム100に設けたメモリ制御部30へ、決定した半導体メモリの組み合わせを格納する(ステップS117)。その後、各半導体メモリ4内に記憶されたデータの組み合わせを更新(ステップS118)し、ステップS111に戻る。
【0037】
本実施形態によれば、半導体記憶装置列によって構成されたRAIDシステム100において、特定の半導体メモリの組み合わせにデータを保存したことによる、機械的な破壊を原因としたデータ損失のリスクを低減することができる。
【0038】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0039】
1・・・実装基板、2・・・コネクタ、3・・・ボス穴、4・・・半導体メモリ、5・・・コントロールIC、6・・・コンデンサ、7・・・センサ、8・・・電源、9・・・はんだ接合部、10・・・半導体記憶装置、20・・・半導体メモリ選択部、30・・・メモリ制御部、50・・・疲労特性データベース、60・・・センサ情報データベース、70・・・半導体メモリ書き込み回数データベース、100・・・半導体記憶装置を用いたRAIDシステム、200・・・ホスト機器。
【技術分野】
【0001】
本発明は、複数の半導体記憶装置を用いたRAIDシステム及びその制御方法に関する。
【背景技術】
【0002】
近年、代表的な大容量記憶装置としてHDD(Hard Disk Drive)を用いたRAID(Redundant Array of Inexpensive Disks)が広く用いられている。RAIDは安価なHDDを複数個組み合わせ、冗長性を持たせた上でデータを分散記録するため、高速で信頼性の高い記憶装置を安価に実現することができる。
【0003】
HDDにおいて、磁気ヘッドによって円盤状のディスク上の磁性体にデータが記録される。HDDの寿命に影響を与える要因は多数考えられるが、記憶部であるディスクは円盤状であり、ディスク上で不良が発生する場所はランダム性が高い。よって、物理的な情報記録位置によってデータが失われる確率は同じである可能性が高い。このような理由から、故障という観点から見た場合、HDD内部でディスクにデータを記録する物理的な場所は大きな問題にはならない。RAIDを構成するHDDの場合も、分散記録するデータのHDD内部での位置は大きな問題とはならない。
【0004】
他方、不揮発性の半導体メモリを用いた半導体記憶装置の大容量化が急速に進んでいる。半導体記憶装置では、データは基板上に実装された半導体メモリに保存される。HDDのディスクの場合とは異なり、半導体メモリは必ずしも物理的に対称性を持って基板上に実装されるわけではない。よって、半導体メモリの物理的な位置によって、不良が発生する確率に差異が生じる。そのため、データの復元を考慮した冗長性を持たせた分散記録だけでは十分といえない。
【0005】
また、半導体メモリの場合、書き込み回数に制限が存在することから、消去回数の平準化について工夫がなされている。例えば、複数のフラッシュメモリ・モジュールにより構成されたRAIDにおいて、複数のモジュールに渡る消去回数平準化法が提案されている(例えば、特許文献1参照。)。これは、半導体メモリに特有の書き込み回数制限を回避するために、RAIDを構成した状態で複数のモジュールにまたがって平準化することにより、RAIDによるストレージ装置の長寿命化を図るものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007-265265号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
半導体記憶装置でRAIDを構成し、半導体メモリの物理的配置を考慮せずにデータを分散保存させた場合、各半導体記憶装置内の半導体メモリは不良が発生する確率が異なる。各半導体記憶装置にデータを保存する際、その時点で不良が発生する確率が高い半導体メモリに選択的にデータが分散される可能性が生じる。この結果、HDDによるRAIDと比較して、RAIDによる冗長性以上の不良が一度に発生し、データが失われる可能性がより高くなるという問題があった。
【0008】
本発明が解決しようとする課題は、データを分散して記憶させる半導体メモリに対して、想定される機械的負荷及び電気的負荷を平準化させることである。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、ホスト機器との間でデータ転送を行う半導体記憶装置を用いたRAIDシステムであって、複数の半導体メモリを搭載して成る複数の半導体記憶装置と、前記複数の半導体記憶装置間でデータを分散して記憶する際に、前記半導体メモリの組み合わせを選択する半導体メモリ選択部と、前記半導体メモリ選択部が選択した前記半導体メモリに対して、前記ホスト機器の要求に応じたアクセスを行うメモリ制御部とを具備し、前記半導体メモリ選択部は、前記半導体メモリの受ける機械的負荷を事前に又はデータの記憶時に算定し、この算定された負荷の値が平均化されるように、前記半導体メモリの組み合わせを選択する。
【図面の簡単な説明】
【0010】
【図1】本発明の実施の形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。
【図2】本発明の実施の形態に係る半導体記憶装置の概略構成を示す模式図である。
【図3】本発明の実施の形態に係る半導体記憶装置を用いたRAIDシステムの一例を示す模式図である。
【図4】最適化された半導体メモリの組み合わせを説明する図である。
【図5】分散化されたデータの保存例を説明する図である。
【図6】半導体メモリの組み合わせ決定までの処理の流れを示すフローチャートである。
【図7】代表距離の決定の仕方を説明する図である。
【図8】第3の実施形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。
【図9】半導体メモリの組み合わせ決定までの処理の流れを示すフローチャートである。
【図10】第4の実施形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。
【図11】半導体メモリの組み合わせ決定までの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について図面を参照しながら説明する。各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【0012】
(第1の実施形態)
図1は、本発明の実施の形態に係る半導体記憶装置を用いたRAIDシステムの構成を示すブロック図である。このRAIDシステム100は、複数の半導体記憶装置10と、メモリ制御部30と、半導体メモリ選択部20から構成され、外部機器としてのホスト機器200と接続している。半導体記憶装置10は後述するように、実装基板上に複数の半導体メモリが搭載されている。半導体メモリ選択部20は、複数の半導体記憶装置10間でデータを分散して記憶する際に、半導体メモリの組み合わせを選択するものである。半導体メモリ選択部20は、それぞれの半導体記憶装置10内の半導体メモリの受ける機械的負荷が平均化するように、半導体メモリの組み合わせを選択する。第1の実施形態では、半導体メモリの受ける機械的負荷情報40が半導体メモリ選択部20に取り込まれている。メモリ制御部30は、半導体メモリ選択部20が選択した半導体メモリに対して、ホスト機器200の要求に応じたアクセスを行い、分散したデータの書き込み等を実行する。ホスト機器200としては、例えばパーソナルコンピュータなどの電子機器が挙げられる。
【0013】
図2は、本発明の実施の形態に係る半導体記憶装置10の概略構成を示す模式図である。図2において、実装基板1上の中央からやや右寄りに、制御用のコントロールIC5が配置されている。コントロールIC5の周囲には、コンデンサ6、センサ7、電源8が配置されている。センサ7は、実装基板1上、またはその周囲環境の物理的変動を計測するもので、モニタリングを行うために配設する。計測する物理量としては、加速度、ひずみ、温度、抵抗、インピーダンスのいずれか一つでも、または複数でもよい。
【0014】
さらに、これらを取り囲むように、8個の半導体メモリ4が配置されている。したがって、各半導体メモリ4が配置された位置とコントロールIC5とを結ぶ距離は、異なっている。半導体メモリ4は、例えば2値NAND型フラッシュメモリ、あるいは多値NAND型フラッシュメモリが好適である。図2においては、半導体メモリ4の実装数は8個であるが、一つの半導体記憶装置10に実装される半導体メモリ4の数はこれに限られない。実装基板1の一端部には、コネクタ2が配設されている。半導体記憶装置10は、樹脂封止などでパッケージングされていてもよい。
【0015】
図2に示す半導体記憶装置10をn台用いて、図3に示すようなRAIDシステム100を構築する。図3は、RAIDシステム100の一例を示す模式図である。図3に示すRAIDシステム100において、一つのデータをn個のブロックに分散化して各半導体記憶装置10に保存する。データを分散化する方法は、特定のものに限定されることなく、RAIDの冗長性のレベルによって様々な周知のものを採用することができる。すなわち、冗長性を持たせずにデータをn分割して保存する場合(RAID0)、データそのもののコピーをn個保存する場合(RAID1)、データを分割して保存し、さらに分割データのパリティも保存する場合(RAID5、6)等である。
【0016】
本発明の第1の実施形態においては、コントロールIC5の発熱による熱変動(熱負荷)に対する、半導体メモリ4への書き込みの最適化を行う。一般的に、半導体記憶装置10に用いられるコントロールIC5は副次的に大きな発熱を伴う。実装基板1上の実装部品に大きな熱変動が存在する場合、電源のON、OFFにより半導体メモリ4と実装基板1を接続するはんだ接合部には、大きな熱応力が発生する。
【0017】
図2に示す半導体記憶装置10では、コントロールIC5から距離が離れるに従って実装基板1上の温度が下降していく。そこで、RAIDシステム100を構成する各半導体記憶装置10において、分散してデータを保存する各半導体メモリ4の、コントロールIC5からの代表距離を極力平均化するように組み合わせを決定する。これにより、RAIDシステム100を構成する半導体メモリ4全体に渡って、熱変動の影響を平均化することができる。代表距離としては、コントロールIC5の中心から各半導体メモリ4の中心までの距離あるいはコントロールIC5の中心から最も近接する各半導体メモリのはんだ接合部までの距離などが好適である。
【0018】
代表距離を平均化するための組み合わせは、半導体記憶装置10の設計時に決定することができる。しかし、半導体メモリ4の劣化等の情報、例えば既書き込み回数等をも合わせて考慮して、組み合わせの優先順位付けは随時変更することも可能である。
【0019】
具体的な半導体メモリ4の組み合わせの決定方法として、各半導体メモリ4とコントロールIC5の代表距離を用いて、組み合わせ最適化の観点から決定することができる。k番の半導体記憶装置10において、コントロールIC5から各半導体メモリ4までの代表距離をdki(k=1・・・n,i=1・・・8)、半導体記憶装置Aの1〜8の半導体メモリ4と組み合わせてデータを保存する、他の半導体記憶装置の半導体メモリの組をB(i),C(i),・・・,N(i)(B(i),C(i),・・・,N(i)∈{1・・・8},i=1・・・8)とすると、組み合わせを決定する方法は,以下の最適化問題を解くことに帰着される。
【0020】
min.fは関数fを最小化することを表す。
【数1】
【0021】
式(1)は遺伝的アルゴリズム等の一般的な最適化アルゴリズムによって解を得ることができる。分散してデータを記録する半導体メモリ4の組み合わせを考慮して、半導体メモリ4の順序を並べ替えた様子を図4に示す。図4に示すように、RAIDシステム100は、N個の半導体記憶装置10から成り、各半導体記憶装置10はそれぞれ8個の半導体メモリ4を搭載している。半導体記憶装置B乃至半導体記憶装置Nにおいては、最適化アルゴリズムによって各半導体メモリ4について並べ替えが行われた状態で配置されていることを表わしている。図4の最適化された半導体メモリ4の組み合わせに対して、データを図5のように分散して記録する。図5に示すように、分散データa1を記録する半導体メモリA1に対して、組み合わせとして選定された半導体メモリB(1)に分散データb1を記録し、組み合わせとして選定された半導体メモリC(1)に分散データc1を記録している。分散データn1についても同様に記録する。
【0022】
本実施形態によれば、分散データを記録する半導体メモリの組み合わせに、コントロールIC等から受ける熱等の機械的負荷を考慮するので、データ損失のリスクを低減することができる
(第2の実施形態)
本発明に係る第2の実施形態として、外部からの荷重や振動に対する書き込み最適化を行う場合を説明する。図2に示すように、支持部(ボス穴)3が形成された実装基板1においては、外部から荷重や振動が加えられた際に、支持部3を介して実装基板1に荷重が伝達される。支持部3を経由して荷重が加えられた場合、一般的に、支持部3に近接するに従って実装基板の曲率が大きくなる傾向がある。半導体メモリ4と実装基板1との間のはんだ接合部には、はんだ接合部における実装基板1の曲率が大きいほど大きな応力が発生する。
【0023】
そこで、第2の実施形態においては、各半導体メモリ4と支持部3までの代表距離が平均化するようにデータを分散保存する。代表距離として、支持部3の中心から各半導体メモリ4の中心までの距離あるいは支持部3の中心から最も近接する各半導体メモリ4のはんだ接合部までの距離などを選定することが好適である。上記式(1)により、代表距離を設定して最適化問題に帰着させることで、組み合わせの解を得ることができる。
【0024】
代表距離を平均化するための組み合わせは、半導体記憶装置10の設計時に決定することができる。しかし、半導体メモリ4の劣化等の情報、例えば既書き込み回数等をも合わせて考慮して、組み合わせの優先順位付けは随時変更することも可能である。
【0025】
ここで、上記した第1の実施形態及び第2の実施形態における半導体メモリ4の組み合わせ決定までの処理の流れについて、図6により説明する。
【0026】
まず、基準位置となる熱源やボス穴の位置を決定する(ステップS61)。ここで、熱源はコントロールIC5あるいは電源8であり、ボス穴は支持部3である。各半導体メモリ4への代表距離dKIを決定する(ステップS62)。代表距離dkiの決定は、一つの決め方に限られない。そこで、例えば、図7に示すよう決定することが好適である。図7は、代表距離の決定の仕方を説明する図である。図7に示すように、熱源となるコントロールIC5から半導体メモリ4のはんだ接合部9への最短距離dts、熱源となるコントロールIC5から半導体メモリ4の中心部への最短距離dtc、ボス穴3から半導体メモリ4のはんだ接合部9への最短距離dms、ボス穴3から半導体メモリ4の中心部への最短距離dmcのいずれでもよい。
【0027】
代表距離dkiの決定後は、最適化問題を解いて半導体メモリ4の組み合わせを決定する(ステップS63)。RAIDシステム100に設けたメモリ制御部30へ、決定した半導体メモリ4の組み合わせを格納する(ステップS64)。
【0028】
(第3の実施形態)
本発明に係る第3の実施の形態として、物理的状態を測定しながら各半導体メモリ4のはんだ接合部に蓄積される損傷値を推定し、推定された損傷値を元に書き込み最適化を行う場合について説明する。図8は、本発明の第3の実施形態に係る半導体記憶装置を用いたRAIDシステム100の構成を示すブロック図である。このRAIDシステム100は、複数の半導体記憶装置10と、メモリ制御部30と、半導体メモリ選択部20から構成され、外部機器としてのホスト機器200と接続している。さらに、第3の実施形態においては、疲労特性データベース50を予め準備しる。この疲労特性データベース50には、例えば、はんだ接合部9のひずみ範囲と寿命の関係を表すデータが蓄積されている。このデータベース50は、実装基板1の設計情報や使用している材料の情報を利用して、半導体メモリ4が搭載された半導体記憶装置10に対して現象解析を実行し、はんだ接合部9に生じる負荷を予測することにより、はんだ接合部9の破損に関する関係を算出して構築することができる。
【0029】
第1の実施形態、第2の実施形態において述べたように、はんだ接合部9は機械的な負荷により損傷を受ける。ある一定の損傷が蓄積すると、はんだ接合部9は疲労により電気的に断線する。本実施形態では、センサ7で測定された物理量を、別途保存してある疲労特性データベース50と比較することにより、各半導体メモリ4のはんだ接合部9の損傷値を算出する。この損傷値についての情報51を元に、半導体メモリ選択部20において、分散したデータを書き込む半導体メモリ4の組み合わせを決定する。半導体メモリ4の組み合わせを更新する頻度は、ファイル書き込み毎、一定期間使用後、半導体メモリ内のガベージコレクションのタイミング等、の場合が考えられる。また、第1の実施形態、第2の実施形態で算出される代表距離を損傷値に置き換えることで、データを分散させる半導体メモリ4の組み合わせを、最適化問題を解くことにより得ることができる。
【0030】
ここで、第3の実施形態における半導体メモリ4の組み合わせ決定までの処理の流れについて、図9により説明する。
【0031】
まず、センサ7からの情報を取得する(ステップS91)。取得したセンサ情報は一定時間ごとにセンサ情報データベース60に記憶する(ステップS92)。半導体メモリ4の組み合わせを更新する必要があるか否かを判定するために、組み合わせ更新イベントを検出する(ステップS93)。組み合わせ更新イベントを検出しなかった場合には、ステップS91に戻り、組み合わせ更新イベントを検出した場合には、センサ情報が格納されたセンサ情報データベース60と疲労特性が格納された疲労特性データベース50を用いて、各半導体メモリ4のはんだ接合部9の損傷値を計算する(ステップS94)。次いで、各半導体メモリ4内の最も損傷値が大きいはんだ接合部9の損傷値を代表損傷値dkiとする(ステップS95)。代表損傷値dkiから、最適化問題を解いて半導体メモリ4の組み合わせB(i)・・・N(i)を決定する(ステップS96)。RAIDシステムに設けたメモリ制御部30へ、決定した半導体メモリ4の組み合わせを格納する(ステップS97)。その後、各半導体メモリ4内に記憶されたデータの組み合わせを更新(ステップS98)し、ステップS91に戻る。
【0032】
(第4の実施形態)
次に、本発明に係る第4の実施形態について説明する。図10は、第4の実施形態に係る半導体記憶装置を用いたRAIDシステム100の構成を示すブロック図である。このRAIDシステム100は、複数の半導体記憶装置10と、メモリ制御部30と、半導体メモリ選択部20から構成され、外部機器としてのホスト機器200と接続している。さらに、第4の実施形態においては、疲労特性データベース50と、各半導体メモリ4への書き込み回数情報71を格納した書き込み回数データベース70を予め準備している。一般的に、半導体メモリ4では、記憶素子の記録回数は有限であり、数百万回程度で記憶素子が劣化して書き込みが不可能になる。一方、情報は、記憶素子の集まりであるブロック単位で書き込みあるいは消去が行われる。そこで、或るブロックに書き込みを行った回数を別途記録し、次に書き込みを行うブロックを決める際の参考とし、書き込みの回数が分散化され、特定のブロックに書き込みが集中することを防いでいる。
【0033】
そこで、本実施形態では、各半導体メモリ4の記憶素子の劣化の情報を考慮するもので、それぞれの半導体メモリ4の総書き込み回数と、機械的な損傷の可能性を示す指標の両方を利用して、書き込みを行う半導体メモリ4の組み合わせを決定する。たとえば、k番目の半導体記憶装置10において、i番目の半導体メモリ4の総書き込み回数をdkiとすると、以下の式(2)のような最適化問題によって組合せを決定することができる。
【数2】
【0034】
αは正の定数を表す。関数g(Dki)と定数αの決め方によって、機械的な損傷と記憶素子の書き込みによる劣化とのバランスをとることができる。一例として、以下の式(3)のように、機械的な損傷と同様、平均化を目的とする関数を選択することもできる。
【数3】
【0035】
ここで、第4の実施形態における半導体メモリ4の組み合わせ決定までの処理の流れについて、図11により説明する。
【0036】
まず、センサ7からの情報を取得する(ステップS111)。取得したセンサ情報は一定時間ごとにセンサ情報データベース60に記憶する(ステップS112)。半導体メモリ4の組み合わせを更新する必要があるか否かを判定するために、組み合わせ更新イベントを検出する(ステップS113)。組み合わせ更新イベントを検出しなかった場合には、ステップS111に戻り、組み合わせ更新イベントを検出した場合には、センサ情報が格納されたセンサ情報データベース60と疲労特性が格納された疲労特性データベース50を用いて、各半導体メモリ4のはんだ接合部9の損傷値を計算する(ステップS114)。次いで、各半導体メモリ4内の最も損傷値が大きいはんだ接合部9の損傷値を代表損傷値dkiとする(ステップS115)。代表損傷値dkiを決定した後、半導体メモリ書き込み回数データベース70に格納された半導体メモリ書き込み回数Dkiから,最適化問題を解いて半導体メモリ4の組み合わせB(i)・・・N(i)を決定する(ステップS116)。RAIDシステム100に設けたメモリ制御部30へ、決定した半導体メモリの組み合わせを格納する(ステップS117)。その後、各半導体メモリ4内に記憶されたデータの組み合わせを更新(ステップS118)し、ステップS111に戻る。
【0037】
本実施形態によれば、半導体記憶装置列によって構成されたRAIDシステム100において、特定の半導体メモリの組み合わせにデータを保存したことによる、機械的な破壊を原因としたデータ損失のリスクを低減することができる。
【0038】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0039】
1・・・実装基板、2・・・コネクタ、3・・・ボス穴、4・・・半導体メモリ、5・・・コントロールIC、6・・・コンデンサ、7・・・センサ、8・・・電源、9・・・はんだ接合部、10・・・半導体記憶装置、20・・・半導体メモリ選択部、30・・・メモリ制御部、50・・・疲労特性データベース、60・・・センサ情報データベース、70・・・半導体メモリ書き込み回数データベース、100・・・半導体記憶装置を用いたRAIDシステム、200・・・ホスト機器。
【特許請求の範囲】
【請求項1】
ホスト機器との間でデータ転送を行う半導体記憶装置を用いたRAIDシステムであって、
複数の半導体メモリを搭載して成る複数の半導体記憶装置と、
前記複数の半導体記憶装置間でデータを分散して記憶する際に、前記半導体メモリの組み合わせを選択する半導体メモリ選択部と、
前記半導体メモリ選択部が選択した前記半導体メモリに対して、前記ホスト機器の要求に応じたアクセスを行うメモリ制御部とを具備し、
前記半導体メモリ選択部は、前記半導体メモリの受ける機械的負荷を事前に又はデータの記憶時に算定し、この算定された負荷の値が平均化されるように、前記半導体メモリの組み合わせを選択することを特徴とする半導体記憶装置を用いたRAIDシステム。
【請求項2】
前記機械的負荷の大きさは、実装基板上に搭載された前記半導体メモリと実装基板上の熱源との距離に基づいて判定することを特徴とする請求項1記載の半導体記憶装置を用いたRAIDシステム。
【請求項3】
前記半導体メモリと実装基板上の熱源との距離は、前記半導体メモリが搭載される実装基板と前記半導体メモリのはんだ接合部と熱源との最短距離であることを特徴とする請求項2記載の半導体記憶装置を用いたRAIDシステム。
【請求項4】
前記半導体メモリと実装基板上の熱源との距離は、前記半導体メモリの中心部と熱源との最短距離であることを特徴とする請求項2記載の半導体記憶装置を用いたRAIDシステム。
【請求項5】
ホスト機器との間でデータ転送を行い、複数の半導体メモリを搭載して成る複数の半導体記憶装置を用いたRAIDシステムにおける制御方法であって、
前記複数の半導体記憶装置間でデータを分散して記憶する際に、前記半導体メモリの受ける機械的負荷を事前に又はデータの記憶時に算定し、この算定された負荷の値が平均化されるように前記半導体メモリの組み合わせを選択し、
選択した前記半導体メモリに対して、前記ホスト機器の要求に応じたアクセスを行う、ことを特徴とする半導体記憶装置を用いたRAIDシステムにおける制御方法。
【請求項1】
ホスト機器との間でデータ転送を行う半導体記憶装置を用いたRAIDシステムであって、
複数の半導体メモリを搭載して成る複数の半導体記憶装置と、
前記複数の半導体記憶装置間でデータを分散して記憶する際に、前記半導体メモリの組み合わせを選択する半導体メモリ選択部と、
前記半導体メモリ選択部が選択した前記半導体メモリに対して、前記ホスト機器の要求に応じたアクセスを行うメモリ制御部とを具備し、
前記半導体メモリ選択部は、前記半導体メモリの受ける機械的負荷を事前に又はデータの記憶時に算定し、この算定された負荷の値が平均化されるように、前記半導体メモリの組み合わせを選択することを特徴とする半導体記憶装置を用いたRAIDシステム。
【請求項2】
前記機械的負荷の大きさは、実装基板上に搭載された前記半導体メモリと実装基板上の熱源との距離に基づいて判定することを特徴とする請求項1記載の半導体記憶装置を用いたRAIDシステム。
【請求項3】
前記半導体メモリと実装基板上の熱源との距離は、前記半導体メモリが搭載される実装基板と前記半導体メモリのはんだ接合部と熱源との最短距離であることを特徴とする請求項2記載の半導体記憶装置を用いたRAIDシステム。
【請求項4】
前記半導体メモリと実装基板上の熱源との距離は、前記半導体メモリの中心部と熱源との最短距離であることを特徴とする請求項2記載の半導体記憶装置を用いたRAIDシステム。
【請求項5】
ホスト機器との間でデータ転送を行い、複数の半導体メモリを搭載して成る複数の半導体記憶装置を用いたRAIDシステムにおける制御方法であって、
前記複数の半導体記憶装置間でデータを分散して記憶する際に、前記半導体メモリの受ける機械的負荷を事前に又はデータの記憶時に算定し、この算定された負荷の値が平均化されるように前記半導体メモリの組み合わせを選択し、
選択した前記半導体メモリに対して、前記ホスト機器の要求に応じたアクセスを行う、ことを特徴とする半導体記憶装置を用いたRAIDシステムにおける制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−28768(P2011−28768A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2010−203243(P2010−203243)
【出願日】平成22年9月10日(2010.9.10)
【分割の表示】特願2009−13226(P2009−13226)の分割
【原出願日】平成21年1月23日(2009.1.23)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願日】平成22年9月10日(2010.9.10)
【分割の表示】特願2009−13226(P2009−13226)の分割
【原出願日】平成21年1月23日(2009.1.23)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]