図面 (/)

技術 記憶装置及び記憶方法

出願人 株式会社日立製作所
発明者 北原潤
出願日 2006年10月20日 (15年4ヶ月経過) 出願番号 2006-286108
公開日 2008年5月1日 (13年9ヶ月経過) 公開番号 2008-102819
状態 特許登録済
技術分野 記憶装置の信頼性向上技術 メモリシステム 外部記憶装置との入出力
主要キーワード 限界回数 プリント基板構造 フラッシュモジュール 酸化絶縁体 書き込み寿命 担当範囲 セクタ代替 所有データ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2008年5月1日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

フラッシュメモリを用いた記憶装置において、フラッシュメモリチップ内に寿命が尽きるなど一部分に障害が生じても、障害が生じた分のフラッシュメモリを、フラッシュドライブや、フラッシュドライブ内のフラッシュモジュールで追加することで、記憶装置全体の容量を維持することを可能にする。

解決手段

半導体メモリ素子全体容量よりも小さい機能容量単位109を備え、機能容量単位毎書き込み寿命を持つ半導体メモリ素子107を複数個有するメモリ素子ユニット105を2以上搭載した記憶装置101において、寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリ素子ユニットのメモリ素子の機能容量単位に代替させ、装置全体の所定の容量を維持する。

概要

背景

不揮発性半導体メモリとして、消去単位書き込み単位機能容量単位)があらかじめ定められているフラッシュメモリが存在する。フラッシュメモリは、酸化シリコンなどの酸化物絶縁体ポリシリコンなどの導体を包んだ、フローティングゲート構造を持ち、フローティングゲートに存在する電荷の有無で、情報を記録するものである。フローティングゲート構造以外に、電荷を特定の場所に確保する構造を用いたものでもよい。

電荷を注入したり電荷を引き抜いたりするときに、フローティングゲート構造の場合、酸化絶縁体絶縁破壊しながら電荷を移動させたり、酸化膜トンネル効果を用いて電荷を移動させる。このため、絶縁体が劣化してゆく。このため、フラッシュメモリには、寿命が存在し、消去単位の容量毎に消去回数書き換え回数限度が存在する。

消去単位容量毎に寿命のある不揮発性半導体メモリの寿命を延ばす方法としては、各消去単位毎の消去回数がチップ全体にわたって均等にする方法や、代替領域を設けて寿命の尽きた消去単位部分を肩代わりし、一部分の消去単位が利用できなくなっても、メモリ装置としては問題なく動作させ続ける方法が存在する。

しかし、これらの方法も寿命を延長することは出来ても、無くすことは出来ない。必ず寿命が存在し、利用し続ければ必ず寿命を迎える。

概要

フラッシュメモリを用いた記憶装置において、フラッシュメモリチップ内に寿命が尽きるなど一部分に障害が生じても、障害が生じた分のフラッシュメモリを、フラッシュドライブや、フラッシュドライブ内のフラッシュモジュールで追加することで、記憶装置全体の容量を維持することを可能にする。半導体メモリ素子全体容量よりも小さい機能容量単位109を備え、機能容量単位毎書き込み寿命を持つ半導体メモリ素子107を複数個有するメモリ素子ユニット105を2以上搭載した記憶装置101において、寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリ素子ユニットのメモリ素子の機能容量単位に代替させ、装置全体の所定の容量を維持する。

目的

効果

実績

技術文献被引用数
7件
牽制数
8件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

半導体メモリ素子全体容量よりも小さい機能容量単位を備え、機能容量単位毎書き込み寿命を持つ半導体メモリ素子を複数個有するメモリ素子ユニットを2以上搭載した記憶装置において、一のメモリ素子ユニットの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリ素子ユニットの半導体メモリ素子の機能容量単位に代替させ、装置全体の所定の容量を維持することを特徴とする記憶装置。

請求項2

前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個と、該半導体メモリ素子をアクセスするための物理アドレス情報論理アドレス情報を変換する機能を有するメモリコントローラとで構成されるメモリモジュールであり、一のメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリモジュールの半導体メモリ素子の機能容量単位に代替させる請求項1記載の記憶装置。

請求項3

前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個、及び該半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するメモリコントローラで構成されるメモリモジュールの複数個と、該メモリモジュールの半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するドライブコントローラとで構成されるドライブであり、一のドライブのメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のドライブのメモリモジュールの半導体メモリ素子の機能容量単位に代替させる請求項1記載の記憶装置。

請求項4

前記メモリ素子ユニットの半導体メモリ素子に対して論理アドレスを与え、該メモリ素子ユニットの半導体メモリ素子が該論理アドレスに対応するデータを格納しているか否かを、該メモリ素子ユニットのメモリコントコーラ又はドライブコントローラが判断し、該判断の結果を元に、データを読み出すメモリ素子ユニットの半導体メモリ素子が選択される請求項2又は3に記載の記憶装置。

請求項5

複数のメモリ素子ユニットの半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、メモリ素子ユニットのメモリコントコーラ又はドライブコントローラが書き込み要求受け付けられるか否かの情報を回答し、該回答を元に、書き込みに対応可能なメモリ素子ユニットの半導体メモリ素子が選択される請求項2又は3に記載の記憶装置。

請求項6

複数のメモリ素子ユニットの半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、前記メモリコントローラ又はドライブコントローラは、冗長構成をとる際に、データの順序およびパリティ等データの種類やデータ並び付随情報も同時に書き込み、読み出した際に、該付随情報を元に正しいデータを復元する請求項2又は3に記載の記憶装置。

請求項7

前記メモリコントローラ又はドライブコントローラは、半導体メモリ素子の機能容量単位毎に、論理アドレスとの対応関係の情報を保持し、半導体メモリ素子が追加された際に、追加された半導体メモリ素子の追加された分の論理アドレスとの対応関係の情報を作成する請求項2又は3に記載の記憶装置。

請求項8

半導体メモリ素子全体容量よりも小さい機能容量単位を備え、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子を複数個有するメモリ素子ユニットを2以上搭載した記憶装置を使用した記憶方法であって、一のメモリ素子ユニットの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリ素子ユニットの半導体メモリ素子の機能容量単位に代替させて記憶することを有し、前記記憶装置全体の所定の容量を維持することを特徴とする記憶方法。

請求項9

前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個と、該半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するメモリコントローラとで構成されるメモリモジュールであり、一のメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリモジュールの半導体メモリ素子の機能容量単位に代替させて記憶することを有する請求項8記載の記憶方法。

請求項10

前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個と、該半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するメモリコントローラとで構成されるメモリモジュールであり、一のメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリモジュールの半導体メモリ素子の機能容量単位に代替させて記憶することを有する請求項8記載の記憶方法。

請求項11

前記メモリ素子ユニットの半導体メモリ素子に対して論理アドレスを与えることと、該メモリ素子ユニットの半導体メモリ素子が該論理アドレスに対応するデータを格納しているか否かを判断することと、該判断の結果を元に、データを読み出すメモリ素子ユニットの半導体メモリ素子を選択することとを有する請求項8記載の記憶方法。

請求項12

複数の半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、メモリ素子ユニットが書き込み要求を受け付けられるか否かの情報を回答することと、該回答を元に、書き込みに対応可能なメモリ素子ユニットの半導体メモリ素子を選択することを有する請求項8記載の記憶方法。

請求項13

複数のメモリ素子ユニットの半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、冗長構成をとる際に、データの順序およびパリティ等データの種類やデータ並びの付随情報も同時に書き込むことと、読み出した際に、該付随情報を元に正しいデータを復元することとを有する請求項8記載の記憶方法。

請求項14

前記半導体メモリ素子の機能容量単位毎に、論理アドレスとの対応関係の情報を保持することと、半導体メモリ素子が追加された際に、追加された半導体メモリ素子の追加された分の論理アドレスとの対応関係の情報を作成することとを有する請求項8記載の記憶方法。

技術分野

0001

本発明は、記憶装置及び記憶方法に関し、特にフラッシュメモリを用いた記憶システムの高信頼化のためのフラッシュメモリの制御方法実装方法に関する。

背景技術

0002

不揮発性半導体メモリとして、消去単位書き込み単位機能容量単位)があらかじめ定められているフラッシュメモリが存在する。フラッシュメモリは、酸化シリコンなどの酸化物絶縁体ポリシリコンなどの導体を包んだ、フローティングゲート構造を持ち、フローティングゲートに存在する電荷の有無で、情報を記録するものである。フローティングゲート構造以外に、電荷を特定の場所に確保する構造を用いたものでもよい。

0003

電荷を注入したり電荷を引き抜いたりするときに、フローティングゲート構造の場合、酸化絶縁体絶縁破壊しながら電荷を移動させたり、酸化膜トンネル効果を用いて電荷を移動させる。このため、絶縁体が劣化してゆく。このため、フラッシュメモリには、寿命が存在し、消去単位の容量毎に消去回数書き換え回数限度が存在する。

0004

消去単位容量毎に寿命のある不揮発性半導体メモリの寿命を延ばす方法としては、各消去単位毎の消去回数がチップ全体にわたって均等にする方法や、代替領域を設けて寿命の尽きた消去単位部分を肩代わりし、一部分の消去単位が利用できなくなっても、メモリ装置としては問題なく動作させ続ける方法が存在する。

0005

しかし、これらの方法も寿命を延長することは出来ても、無くすことは出来ない。必ず寿命が存在し、利用し続ければ必ず寿命を迎える。

発明が解決しようとする課題

0006

従来技術で、フラッシュメモリの寿命を延ばす技術は存在するが、寿命を無くすことは不可能である。このため、フラッシュメモリを用いた記憶システムでは、フラッシュメモリの一部に寿命が尽きた部分が生じても、記憶システムとしてはそれを補う機構が必要になる。このとき、フラッシュメモリの一部分が消去不可能や書き込み不可能になる障害が発生しているが、この部分に新たなデータを書き込むことが出来ないだけであり、既に記憶しているデータを読み出すことは、問題なくできる。よって、消去不能や書き込み不能になった部分のみ、ほかの手段で肩代わりし、残りは使い続けるのが効率的である。

0007

このため、フレッシュメモリの一部に障害が起きた場合、障害が起きた箇所を他の部分に肩代わりさせるが、どの部分に障害が起きて、他のどの部分に肩代わりさせたかを管理する必要が生じる。よって、フラッシュメモリの各消去単位がどの論理アドレス担当しているか、ある論理アドレスが指示されたとき対応するデータがどこのフラッシュメモリに存在するのか、消去単位毎に論理アドレスを物理アドレスの管理を行う必要が生ずる。

0008

この論理アドレスと物理アドレスの管理を、上位のシステムで行うと管理テーブルが膨大になり、必要なメモリ等の実装コストが大きくなる課題が存在する。また、コストを下げようとすると、論理アドレスと物理アドレスの変換に時間がかかり性能が出なくなる課題が存在する。

0009

運用保守外部記憶装置の寿命を迎えた消去単位を含むメモリ素子交換し、容量を維持させる方法も存在するが、メモリ素子の一部が使用不可能になっただけでメモリ素子を交換するのは効率が悪い課題がある。

課題を解決するための手段

0010

本発明では、フラッシュドライブ等内部の一消去単位が障害を起こした場合、その消去単位の代替を、もう一つのフラッシュドライブに行わせる構成をとったものである。そのためには、消去単位毎にどの論理アドレスにマッピングされているか、すなわち論理アドレスと物理アドレスの対応付け管理を上位制御部で行う構成をとったものである。

0011

一方、上位制御部では、論理アドレスと物理アドレスの対応付け管理を行わず、論理アドレスをフラッシュドライブへ転送し、各フラッシュドライブに、該論理アドレスに対応するデータを格納しているか判断させ、結果を返答させるとともに、該データを出力させる構成をとったものである。

0012

AID等複数のフラッシュドライブをまとめてデータの信頼性を向上させるシステムでは、RAIDグループを構成するフラッシュドライブ全てに、論理アドレスを問い合わせる構成をとったものである。RAIDグループ毎に、担当する論理アドレスの範囲を設定しておき、異なるRAIDグループへは、それぞれに担当範囲の論理アドレスを平行して問い合わせられる構成をとったものである。

0013

データを書き込む際は、上位制御部からの書き込み要求に対応可能か否か情報を上位制御部へ回答し、上位制御部は書き込み要求に応えられるフラッシュドライブの中からRAIDパリティグループを構成し、データを書き込む構成をとったものである。

0014

パリティグループを構成するフラッシュドライブが、論理アドレス毎に異なるので、各フラッシュドライブは、上位制御部から指示されたデータ順序およびパリティデータ種別情報も論理アドレス単位に記憶しておく構成をとったものである。

0015

フラッシュドライブは、書き込み要求に応えられない場合で、上位制御部から書き込み要求があり、該論理アドレスに対応するデータを格納していた場合、格納しているデータの無効性を示す情報を保持する構成をとったものである。

0016

フラッシュドライブは、消去単位の消去回数の最大値を、上位制御部へ報告し、上位制御部は消去回数が予め定めた回数に達したら、そのフラッシュドライブが含まれるRAIDグループにフラッシュドライブを追加する要求を運用管理者へ出す構成にしたものである。

0017

一方、最大の消去回数が予め定めた回数に達したフラッシュドライブに、フラッシュメモリが搭載されたプリント基板構造フラッシュモジュールを、該フラッシュドライブに追加し、フラッシュドライブの代替領域を追加可能な構成にしたものである。

0018

フラッシュドライブ間で代替領域を融通しあう構成をとるため、最初は最低限のフラッシュドライブの台数運用を開始し、消去回数が予め定めた回数に達したら、新たなフラッシュドライブを追加し、もともとあるフラッシュドライブの寿命が尽きた消去単位の代替を行う。徐々に代替が追加されたフラッシュドライブへ移り、もともとあるフラッシュドライブが格納しているデータのうち有効なデータが減ってくる。予め定められた閾値を超えたら、該フラッシュドライブの有効データを、追加したドライブへ転送し、該フラッシュドライブを取り外す構成をとったものである。または、あらかじめ定められた閾値を越えた時点で、該フラッシュドライブを取り外し、RAIDの冗長性より、取り外したフラッシュドライブ分を追加したドライブ上に復元する構成をとったものである。

0019

また、一つのRAIDグループ内に、RAIDを構成するフラッシュドライブの最低台数の2倍の台数まで、フラッシュドライブを接続可能な構成にしたものである。

発明の効果

0020

本発明により、フラッシュメモリを用いた記憶装置において、フラッシュメモリチップ内に寿命が尽きるなど一部分に障害が生じても、障害が生じた分のフラッシュメモリを、フラッシュドライブや、フラッシュドライブ内のフラッシュモジュールで追加することで、記憶装置全体の容量を維持することが可能になる。

発明を実施するための最良の形態

0021

本発明を実施するための最良の形態を説明する。
本発明の記憶装置及び記憶方法の実施例について、図面を用いて説明する。

0022

本発明の第一の実施例を、図1から図6および図8,9,11を用いて説明する。図1は、本実施例の記憶装置101の構成を示している。記憶装置101は、複数のフラッシュドライブ104と、記憶装置101内部にある複数のフラッシュドライブ104を制御する、RAIDコントローラ103で構成されている。また、記憶装置101は、RAIDコントローラ103を介して、ホストシステム102へ接続されている。

0023

フラッシュドライブ104は、複数個フラッシュメモリ素子107とフラッシュメモリコントローラ108を搭載したプリント基板であるフラッシュモジュール105を複数枚内蔵し、フラッシュドライブコントローラ106が、フラッシュモジュール105と上位制御部であるRAIDコントローラ104とのやり取りを仲介する。

0024

信頼性を重視する記憶装置101では、フラッシュドライブ104を複数個備え、たとえば4個ずつでRAIDグループ201を構成する。RAIDコントローラ103は、RAIDグループ単位201に、論理アドレスを割り当てる。フラッシュドライブ104の中には、複数のフラッシュモジュール105が存在し、各フラッシュモジュールには、多数のフラッシュメモリ素子107が存在する。図2において、フラッシュメモリ素子202内部には、ブロックと呼ばれる消去単位203、ページと呼ばれる書き込み単位204が存在する。書き込み単位204はHDDでいうセクタに相当するが、複数セクタで書き込み単位204を構成してもよい。

0025

フラッシュドライブ4台でRAID5を構成する場合を例にとると、RAIDコントローラ103は、フラッシュドライブ104を4個ずつでRAIDグループ201を構成し、複数のRAIDグループを管理する。RAIDグループの容量に合わせて、各RAIDグループに論理アドレスを割り当てる。この論理アドレスは、上位のホストシステム102与えられる論理アドレスと対応する。

0026

また、RAIDグループ201内では、各フラッシュドライブ104から論理アドレスに対応するフラッシュメモリチップ202のある消去単位203のある書き込み単位204を選択し、4個の書き込み単位でパリティグループ205を構成する。RAIDコントローラは、パリティグループ205単位でデータの読み書きを行う。

0027

図3において、あるパリティグループ内のひとつの書き込み単位301bが更新される場合を例にとると、更新された書き込み単位のデータと、RAIDのパリティデータを格納している書き込み単位301eのデータが新しく更新される。これはフラッシュメモリには書き換え回数の制限があるため、必要な箇所のみ書き換えを行い、書き換え回数を削減するのに有効であるためである。

0028

フラッシュメモリを用いた記憶媒体の場合、消去に時間がかかるため、更新された新たなデータは、消去済みの他の消去単位の書き込み単位302へ書き込まれ、RAIDのパリティデータは、消去済みの他の消去単位の書き込み単位303へ書き込まれ、新たなパリティグループ304を構成することになる。

0029

図4のように、外部記憶装置全体を見ると、各データは論理アドレスで管理されており、RAIDコントローラやフラッシュドライブコントローラで論理アドレスが具体的なドライブのアドレス、フラッシュメモリチップのアドレス、チップ内の消去単位アドレス、書き込み単位アドレスへと変換されてゆく。

0030

図5において、フラッシュメモリには消去/書き換え回数に制限があるため、フラッシュメモリに多数の有効なデータが存在すると、書き込み可能な消去済みの消去単位が少なくなり、最終的にはなくなってしまう。このような状態になると、読み出しには対応可能であるが、書き込みには応じることが難しくなる。

0031

そこで、図6のようにRAIDグループを構成しているフラッシュドライブ104b、c、d、eにもう一台のフラッシュドライブ601を追加し、書き込み対応できなくなったフラッシュドライブの代替を行わせる。代替といっても書き込みのみであり、更新されていないデータ読み出しには元から存在するフラッシュドライブを利用する。たとえば、パリティグループ602では、フラッシュドライブ104eへの書き込みに対応できなくなり、フラッシュドライブ104eへのデータをフラッシュドライブ601に書き込む。パリティグループ603では、フラッシュドライブ104dへの書き込みに対応できなくなり、フラッシュドライブ104dへのデータをフラッシュドライブ601に書き込む。といった動作を行う。

0032

このような動作が可能になると、運用開始当初はフラッシュドライブ4台で運用し、フラッシュドライブに書き込み対応不能なフラッシュドライブが出てくる前に、新たなフラッシュドライブをRAIDグループに追加するだけで、書き込み対応不能なフラッシュドライブへの書き込みを代替し、外部記憶装置の容量を維持し、外部記憶装置全体の寿命を延ばせる効果がある。

0033

図9のように、フラッシュドライブ104とRAIDコントローラ103は、論理アドレス902、データ所有信号907、書き込み可能信号901、書き込み要求904、無効化要求905、データ入力906、読み出しデータのパリティグループ内データ識別行うRAID位置908、書き込み時のパリティグループ内データ識別行うRAID位置903、状態情報910でインターフェースされる。状態情報910には、消去単位の最大消去回数、有効データの割合等のフラッシュメモリの使用状況の情報を含む。これらの信号および情報はそれぞれ独立した信号として接続される場合もあれば、ある通信インターフェースを介してやり取りされるコマンドとレスポンスの形態を取っても良い。

0034

また、RAIDコントローラ103には、図8のようにRAIDグループ内に接続可能なドライブの中から任意の4個を選択し、データの並び替えを行うスイッチ機構802を設ける。

0035

図4のように、従来は、RAIDコントローラがデータを書き込む場合、ホストシステム102から送られてきた論理アドレス401を、RAIDコントローラ103において、論理アドレス401をドライブアドレス403とドライブ内論理アドレス404へ変換する。ホストシステム102から送られてきたデータ402を、書き込み単位407 3個とパリティデータ408の計4個のデータに加工する。これら4つのデータを原則おのおの異なるフラッシュドライブに格納する。

0036

従来は、論理アドレス401を用いて、ドライブアドレス403とドライブ内論理アドレス404を計算して求めることが出来た。しかし、本発明では、フラッシュメモリの消去限界回数に達した消去単位を持つようになったフラッシュドライブは、他のフラッシュドライブに書き込みを代替する場合があるので、論理アドレスに対応する書き込み単位が、どのフラッシュドライブに存在するのかを管理しなければならなくなる。上位のRAIDコントローラで管理することも考えられるが、書き込み単位毎にどのフラッシュドライブに存在するか管理する必要が生じて大規模な変換テーブルが必要になる。

0037

そこで、RAIDコントローラは、ホストシステムからの論理アドレスの上位を判断し、どのRAIDグループに属するデータかを調べる。残りの論理アドレスがRAIDグループ内の論理アドレスとなり、これを、RAIDグループ内の全てのフラッシュドライブに送信する。

0038

各フラッシュドライブは、受け取った論理アドレスに対応するデータを自分が所有しているかを判断し、所有しているか否かを所有信号907で回答するとともに、所有している場合、対応するデータを読み出しデータ909として出力し、またそのデータがパリティグループの3個のデータと1個のパリティのどのデータかをRAID位置908で出力する。

0039

RAIDコントローラは、RAIDグループ内の複数のフラッシュドライブから所有信号を出力している4個のフラッシュドライブを選択し、おのおののRAID位置を確認後、データを並べ直しデータを復元する。

0040

所有信号が3個のフラッシュドライブからしか得られなかった場合、RAIDの機能を用いて4個目を復元し、データを復元する。

0041

所有信号が2個以下のフラッシュドライブからしか得られなかった場合、データの復元が不可能であり、エラーとして対処する。

0042

所有信号が5個以上のフラッシュドライブから得られた場合、同じ論理アドレスの古いデータと新しいデータが含まれているので、時間や世代情報なども管理している場合にはそれらのデータを用いて、最新のデータを取り出し、データを復元する。時間や世代情報がない場合は、エラーとして対処する。

0043

RAIDコントローラは、データを書き込む場合、RAIDグループ内の複数のフラッシュドライブより、書き込み対応可能なフラッシュドライブ4台を選択し、論理アドレス902とRAID位置情報903とデータ906を転送し、書き込み要求信号904を用いて書き込む。また、選択しなかったフラッシュドライブには、論理アドレス902と無効化信号905を転送する。フラッシュドライブは、論理アドレス902と無効化信号905を受け取った場合で、論理アドレス902に対応するデータを所有していた場合には、そのデータを無効化する。論理アドレス902に対応するデータを所有していない場合は、論理アドレス902や無効化信号905は無視する。

0044

図11において、フラッシュドライブコントローラ106には、与えられた論理アドレスから実際のフラッシュメモリチップ内の書き込み単位のアドレス(物理アドレス)へ変換するテーブル1101と、物理アドレスから論理アドレスへ変換する変換テーブル1102を持つ。

0045

論理アドレスを物理アドレスへ変換するテーブルには、論理アドレスに対応するRAID位置情報1103と物理アドレス1104が格納される。この変換テーブルは、フラッシュドライブが備える書き込み単位容量分のエントリーを備える。

0046

データ書き込み時の動作を説明する。フラッシュドライブコントローラ106は、物理アドレス論理アドレス変換テーブルの書き込み単位情報格納部1105に空きがあれば、書き込み可能信号901を出力する。RAIDコントローラ103が、このフラッシュドライブを選択すると、論理アドレス902、RAID位置情報903、書き込み信号904、書き込みデータ906を入力してくる。フラッシュドライブコントローラ106は、入力された論理アドレスをエントリーとして、論理アドレス物理アドレス変換テーブル1101をアクセスし、入力されたRAID位置1103を登録するとともに、物理アドレス論理アドレス変換テーブル1102から空きの書き込み単位を探し、その物理アドレス1104を登録する。また、物理アドレス論理アドレス変換テーブル1102のデータの有効/無効/空きを示す書き込み単位情報格納部1105を有効にし、論理アドレスを論理アドレス格納部1106へ書き込み、物理アドレスに対応するフラッシュメモリ1108の書き込み単位1109へデータを書き込む。

0047

データ読み出し時の動作を説明する。RAIDコントローラ103は、読み出し時論理アドレス902を入力してくる。フラッシュドライブコントローラ106は、入力された論理アドレスをエントリーにして、論理アドレス物理アドレス変換テーブル1101をアクセスし、有効な物理アドレス1104が登録されているかを確認する。登録されていれば、物理アドレス論理アドレス変換テーブル1102をアクセスし、データの有効/無効/空きを示す書き込み単位情報格納部1105を確認し、有効であれば、データ所有信号907と、RAID位置情報908、物理アドレスに対応するフラッシュメモリ1108の書き込み単位1109のデータ910を出力する。

0048

データ書き込み時に、書き込み信号904の代わりに無効化信号905が入力されると、入力された論理アドレスから物理アドレスを求め、対応する物理アドレス論理アドレス変換テーブル1102の有効/無効/空きを示す書き込み単位情報格納部1105を無効にする。

0049

物理アドレス論理アドレス変換テーブル1102では、複数の書き込み単位をまとめた、消去単位毎に、消去回数の情報1107を管理し、物理アドレス論理アドレス変換テーブル1102内の最大値を調べ、状況情報910として出力する。

0050

図にはフラッシュメモリ1108が記載されているが、フラッシュドライブコントローラ106内に存在するわけではなく、物理アドレス論理アドレス変換テーブルとの対応や、データの流れを模式的に示すため記述したものである。また、物理アドレス論理アドレス変換テーブル自体も、フラッシュドライブコントローラに存在しても良いし、フラッシュメモリの一部の領域を用いて実現しても良い。論理アドレス物理アドレス変換テーブルもフラッシュドライブコントローラに存在しても良いし、フラッシュメモリの一部の領域を用いて実現しても良い。

0051

RAIDコントローラは、パリティグループを構成するデータの一部を、更新や上書きする場合は、一旦そのパリティグループのデータを読み出し、部分的に更新や上書きを行い、パリティデータを生成してから、フラッシュドライブに書き戻す。

0052

パリティグループを構成するデータ全てを上書きする場合、RAIDグループに存在するフラッシュドライブの中から、書き込み要求にこたえられるフラッシュドライブから4台を選択し、その4台に書き込み要求を与えるとともに、RAIDグループ内のその他のフラッシュドライブには、無効化要求を与える。

0053

フラッシュドライブは、同じ論理アドレスへの書き込み要求がきた場合、論理アドレス物理アドレス変換テーブル1101の物理アドレスには、空き状態の書き込み単位の物理アドレスを登録し、物理アドレス論理アドレス変換テーブル1102の以前の物理アドレスの書き込み単位情報格納部1105を無効にする。

0054

フラッシュドライブは、定期的または空きの書き込み単位が定められた値を下回ると、物理アドレス論理アドレス変換テーブルを調査し、消去単位の中の無効状態にある書き込み単位の割合が多い消去単位を探し出す。ある定められた割合よりも無効状態が多いと、この消去単位の有効状態のデータを空き状態の書き込み単位へ順番に転送し、元の消去単位内の書き込み単位の状態を全て無効にし、その消去単位を消去する。このとき、転送された書き込み単位の論理アドレスを確認し、論理アドレス物理アドレス変換テーブルを更新する。

0055

RAIDコントローラが、RAIDグループ内から4個のフラッシュフラッシュドライブを選ぶ方法は任意であるが、優先順位をつけてもよい。最小単位1個のデータを書き込む場合、対応するパリティグループの、対応するデータ部分とパリティの2箇所更新し、2箇所を対応するフラッシュドライブへ書き込む。そのため、パリティグループを構成するフラッシュメモリの消去単位のデバイスの書き換え回数には、ばらつきが出てくる。

0056

ストレージシステムの運用を続けてゆくと、フラッシュドライブ内のフラッシュメモリの消去単位毎に、消去不能、書き込み不能といった障害を起こす。ある程度は、フラッシュモジュールやフラッシュドライブ内で、代替領域を用意して、障害に対応するが、さらに運用を続けてゆくと、フラッシュドライブが書き込み要求を受付けられない状況が出てくる。この様子は、最大消去回数の情報から予測可能であり、最大消去回数が予め定められた値を超えると、RAIDグループに新たなフラッシュドライブを追加する方法を取っても良い。

0057

フラッシュドライブを追加する単位は、1台単位で追加可能であるが、RAIDグループを構成しているフラッシュドライブ2台で書き込み要求に対応できなくなると、パリティグループを構成している4個の書き込み単位のうち、2個が1台のフラッシュドライブに書き込まれることになり、パリティグループのデータを一度に読み出すことが困難になり、正常なRAIDシステムとしての性能が出なくなる。よって、RAIDグループ内のフラッシュドライブの最大消去回数を監視し、予め定められた値と比較しながら、追加するフラッシュドライブの台数を決定する方法を取っても良い。

0058

また、ある消去単に注目すると、消去単位の内の書き込み単位が更新され、その消去単位に存在する有効データの割合が小さくなってゆく。書き込み単位にライトが起きる度に、有効データの割合も監視し、予め定められた値より小さくなったら、その消去単位内の有効データを、書き込み要求にこたえられるフラッシュドライブへ移動する。このとき、同じパリティグループを構成するデータが、同じフラッシュドライブに割り当てられないようにする。このように、完全にフラッシュドライブが寿命を迎えるまでに、保持している有効データを他のフラッシュドライブに移動し、有効データを全て移動し終えたフラッシュドライブは、RAIDグループより外すことができる。

0059

同様にフラッシュドライブ内のフラッシュモジュールにおいても同様なことが行える。つまり、フラッシュメモリ素子内に、消去不可能な消去単位が増え、書き込み対応不能になる前に、フラッシュモジュールを追加し、書き込み対応不能なフラッシュメモリの代替を行わせる。

0060

本発明の第二の実施例を図7,10,12を用いて説明する。第一の実施例では、フラッシュメモリの追加単位が、フラッシュドライブであったが、本実施例では、フラッシュドライブ内の、フラッシュメモリモジュール単位で追加するものである。

0061

フラッシュモジュールは、プリント基板に、フラッシュメモリ素子を複数と、フラッシュメモリモジュール内の論理アドレスとフラッシュメモリの物理アドレスを変換するコントローラとを搭載した構造を持つ。

0062

フラッシュドライブには、複数のフラッシュモジュールを制御する、フラッシュドライブコントローラが存在する。

0063

第一の実施例では、RAIDコントローラが、同時に4台のフラッシュドライブをアクセスし、パリティグループのデータを取り出すため、パリティグループ内の位置情報が必要になり、RAID位置情報が存在していたが、フラッシュドライブ内のフラッシュモジュールでは、書き込み単位のデータを所有しているか否かを確認するだけでよいので、論理アドレス物理アドレス変換テーブルは簡単になる。

0064

図7において、フラッシュドライブ104内に複数のフラッシュモジュール105が存在し、フラッシュモジュール105内に、複数のフラッシュメモリ202が存在する。フラッシュメモリ202を使い続けると、消去単位203および書き込み単位204で消去が出来なくなるとか、書き込みが出来なくなるといった、障害が発生する。フラッシュメモリ202内に有効データが多数存在し、代替領域等が消去できなくなると、そのフラッシュメモリには、データが書き込めなくなる。このとき、新たなフラッシュモジュール105eを追加し、例えは、書き込み要求に対応できなくなった、フラッシュモジュール105b、105dの対応する書き込み単位のデータを新たなフラッシュモジュール105eへ書き込むことで、フラッシュドライブ104の機能を維持することが可能になる。

0065

図10のように、フラッシュモジュールのフラッシュコントローラ108とフラッシュドライブコントローラ106は、論理アドレス1002、データ所有信号1006、書き込み可能信号1001、書き込み要求1004、無効化要求1003、データ入力1005、データ出力1007状態情報1008でインターフェースされる。状態情報1010には、消去単位の最大消去回数、有効データの割合等のフラッシュメモリの使用状況の情報を含む。これらの信号および情報はそれぞれ独立した信号として接続される場合もあれば、ある通信インターフェースを介してやり取りされるコマンドとレスポンスの形態を取っても良い。

0066

図12において、フラッシュメモリコントローラ108には、与えられた論理アドレスから実際のフラッシュメモリチップ内の書き込み単位のアドレス(物理アドレス)へ変換するテーブル1201と、物理アドレスをから論理アドレスへ変換する変換テーブル1202を持つ。

0067

論理アドレスを物理アドレスへ変換するテーブル1201には、論理アドレスに対応する物理アドレス1203が格納される。この変換テーブルは、フラッシュモジュールが備える書き込み単位容量分のエントリーを備える。

0068

データ書き込み時の動作を説明する。フラッシュメモリコントローラ108は、物理アドレス論理アドレス変換テーブルの書き込み単位情報格納部1204に空きがあれば、書き込み可能信号1001を出力する。フラッシュドライブコントローラ106が、このフラッシュモジュールを選択すると、論理アドレス1002、書き込み信号1004、書き込みデータ1005を入力してくる。フラッシュメモリコントローラ108は、入力された論理アドレスをエントリーとして、論理アドレス物理アドレス変換テーブル1201をアクセスし、物理アドレス論理アドレス変換テーブル1202から空きの書き込み単位を探し、その物理アドレス1203を登録する。また、物理アドレス論理アドレス変換テーブル1202のデータの有効/無効/空きを示す書き込み単位情報格納部1204を有効にし、論理アドレスを論理アドレス格納部1205へ書き込み、物理アドレスに対応するフラッシュメモリ1207の書き込み単位1208へデータを書き込む。

0069

データ読み出し時の動作を説明する。フラッシュドライブコントローラ103は、読み出し時論理アドレス1002を入力してくる。フラッシュメモリコントローラ108は、入力された論理アドレスをエントリーにして、論理アドレス物理アドレス変換テーブル1201をアクセスし、有効な物理アドレス1203が登録されているかを確認する。登録されていれば、物理アドレス論理アドレス変換テーブル1202をアクセスし、データの有効/無効/空きを示す書き込み単位情報格納部1204を確認し、有効であれば、データ所有信号1006と、物理アドレスに対応するフラッシュメモリ1207の書き込み単位1208のデータ1007を出力する。

0070

データ書き込み時に、書き込み信号1004の代わりに無効化信号1003が入力されると、入力された論理アドレスから物理アドレスを求め、対応する物理アドレス論理アドレス変換テーブル1202の有効/無効/空きを示す書き込み単位情報格納部1204を無効にする。

0071

物理アドレス論理アドレス変換テーブル1202では、複数の書き込み単位をまとめた、消去単位毎に、消去回数の情報1206を管理し、物理アドレス論理アドレス変換テーブル1202内の最大値を調べ、状況情報1008として出力する。

0072

図にはフラッシュメモリ1207が記載されているが、フラッシュメモリコントローラ108内に存在するわけではなく、物理アドレス論理アドレス変換テーブルとの対応や、データの流れを模式的に示すため記述したものである。また、物理アドレス論理アドレス変換テーブル自体も、フラッシュメモリコントローラに存在しても良いし、フラッシュメモリの一部の領域を用いて実現しても良い。論理アドレス物理アドレス変換テーブルもフラッシュメモリコントローラに存在しても良いし、フラッシュメモリの一部の領域を用いて実現しても良い。

0073

フラッシュドライブコントローラは、フラッシュドライブに存在するフラッシュモジュールの中から、書き込み要求にこたえられるフラッシュモジュールから1台を選択し、その1台に書き込み要求を与えるとともに、フラッシュドライブ内のその他のフラッシュモジュールには、無効化要求を与える。

0074

フラッシュモジュールは、同じ論理アドレスへの書き込み要求がきた場合、論理アドレス物理アドレス変換テーブル1201の物理アドレスには、空き状態の書き込み単位の物理アドレスを登録し、物理アドレス論理アドレス変換テーブル1202の以前の物理アドレスの書き込み単位情報格納部1204を無効にする。

0075

フラッシュモジュールは、定期的または空きの書き込み単位が定められた値を下回ると、物理アドレス論理アドレス変換テーブルを調査し、消去単位の中の無効状態にある書き込み単位の割合が多い消去単位を探し出す。ある定められた割合よりも無効状態が多いと、この消去単位の有効状態のデータを空き状態の書き込み単位へ順番に転送し、元の消去単位内の書き込み単位の状態を全て無効にし、その消去単位を消去する。このとき、転送された書き込み単位の論理アドレスを確認し、論理アドレス物理アドレス変換テーブルを更新する。

0076

フラッシュドライブコントローラが、フラッシュドライブ内から1個のフラッシュフラモジュールを選ぶ方法は任意であるが、優先順位をつけてもよい。

0077

上実施例で説明したように、本発明により、フラッシュメモリの特徴である、消去単位毎の障害に対して、フラッシュメモリを追加することにより、運用当初の容量を維持可能なストレージシステムを構築できる。フラッシュメモリのモジュールやドライブといった、機能モジュールの追加により最小のコストでストレージシステムの保守管理が可能になる。

0078

本発明の他の実施形態1は、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、機能容量単位毎書き込み寿命を持つ半導体メモリ素子を複数個有するメモリ素子ユニットを2以上搭載した記憶装置において、一のメモリ素子ユニットの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリ素子ユニットの半導体メモリ素子の機能容量単位に代替させ、装置全体の所定の容量を維持する記憶装置である。

0079

本発明の他の実施形態2は、前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個と、該半導体メモリ素子をアクセスするための物理アドレス情報論理アドレス情報を変換する機能を有するメモリコントローラとで構成されるメモリモジュールであり、一のメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリモジュールの半導体メモリ素子の機能容量単位に代替させる実施形態1の記憶装置である。

0080

本発明の他の実施形態3は、前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個、及び該半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するメモリコントローラで構成されるメモリモジュールの複数個と、該メモリモジュールの半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するドライブコントローラとで構成されるドライブであり、一のドライブのメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のドライブのメモリモジュールの半導体メモリ素子の機能容量単位に代替させる実施形態1の記憶装置である。

0081

本発明の他の実施形態4は、前記メモリ素子ユニットの半導体メモリ素子に対して論理アドレスを与え、該メモリ素子ユニットの半導体メモリ素子が該論理アドレスに対応するデータを格納しているか否かを、該メモリ素子ユニットのメモリコントコーラ又はドライブコントローラが判断し、該判断の結果を元に、データを読み出すメモリ素子ユニットの半導体メモリ素子が選択される実施形態2又は3の記憶装置である。

0082

本発明の他の実施形態5は、複数のメモリ素子ユニットの半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、メモリ素子ユニットのメモリコントコーラ又はドライブコントローラが書き込み要求を受け付けられるか否かの情報を回答し、該回答を元に、書き込みに対応可能なメモリ素子ユニットの半導体メモリ素子が選択される実施形態2又は3の記憶装置である。

0083

本発明の他の実施形態6は、複数のメモリ素子ユニットの半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、前記メモリコントローラ又はドライブコントローラは、冗長構成をとる際に、データの順序およびパリティ等データの種類やデータ並び付随情報も同時に書き込み、読み出した際に、該付随情報を元に正しいデータを復元する実施形態2又は3の記憶装置である。

0084

本発明の他の実施形態7は、前記メモリコントローラ又はドライブコントローラは、半導体メモリ素子の機能容量単位毎に、論理アドレスとの対応関係の情報を保持し、半導体メモリ素子が追加された際に、追加された半導体メモリ素子の追加された分の論理アドレスとの対応関係の情報を作成する実施形態2又は3の記憶装置である。

0085

本発明の他の実施形態8は、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子を複数個有するメモリ素子ユニットを2以上搭載した記憶装置を使用した記憶方法であって、一のメモリ素子ユニットの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリ素子ユニットの半導体メモリ素子の機能容量単位に代替させて記憶することを有し、前記記憶装置全体の所定の容量を維持する記憶方法である。

0086

本発明の他の実施形態9は、前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個と、該半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するメモリコントローラとで構成されるメモリモジュールであり、一のメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリモジュールの半導体メモリ素子の機能容量単位に代替させて記憶することを有する実施形態8の記憶方法である。

0087

本発明の他の実施形態10は、前記メモリ素子ユニットが、半導体メモリ素子全体容量よりも小さい機能容量単位を備え、かつ、機能容量単位毎に書き込み寿命を持つ半導体メモリ素子の複数個と、該半導体メモリ素子をアクセスするための物理アドレス情報と論理アドレス情報を変換する機能を有するメモリコントローラとで構成されるメモリモジュールであり、一のメモリモジュールの半導体メモリ素子のうちの、書き込み寿命が尽きて書き込み不可能と判断される機能容量単位のみを他のメモリモジュールの半導体メモリ素子の機能容量単位に代替させて記憶することを有する実施形態8の記憶方法である。

0088

本発明の他の実施形態11は、前記メモリ素子ユニットの半導体メモリ素子に対して論理アドレスを与えることと、該メモリ素子ユニットの半導体メモリ素子が該論理アドレスに対応するデータを格納しているか否かを判断することと、該判断の結果を元に、データを読み出すメモリ素子ユニットの半導体メモリ素子を選択することとを有する実施形態8の記憶方法である。

0089

本発明の他の実施形態12は、複数の半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、メモリ素子ユニットが書き込み要求を受け付けられるか否かの情報を回答することと、該回答を元に、書き込みに対応可能なメモリ素子ユニットの半導体メモリ素子を選択することを有する実施形態8の記憶方法である。

0090

本発明の他の実施形態13は、複数のメモリ素子ユニットの半導体メモリ素子から一個ずつ書き込み単位を選択し、複数の書き込み単位で冗長構成をとっており、冗長構成をとる際に、データの順序およびパリティ等データの種類やデータ並びの付随情報も同時に書き込むことと、読み出した際に、該付随情報を元に正しいデータを復元することとを有する実施形態8の記憶方法である。

0091

本発明の他の実施形態14は、前記半導体メモリ素子の機能容量単位毎に、論理アドレスとの対応関係の情報を保持することと、半導体メモリ素子が追加された際に、追加された半導体メモリ素子の追加された分の論理アドレスとの対応関係の情報を作成することとを有する実施形態8の記憶方法である。

図面の簡単な説明

0092

実施例の記憶装置のシステム構成の説明図。
RAID構成の説明図。
パリティグループデータ更新の説明図。
フラッシュメモリの物理アドレス管理の説明図。
フラッシュメモリの障害の説明図。
フラッシュドライブ間のセクタ代替の説明図。
フラッシュモジュール間のセクタ代替の説明図。
フラッシュドライブデータインタフェースの説明図。
フラッシュドライブインタフェースの説明図。
フラッシュモジュールインタフェースの説明図。
所有データ論理アドレス検索(1)の説明図。
所有データ論理アドレス検索(2)の説明図。

符号の説明

0093

101記憶装置
102ホストシステム
103RAIDコントローラ
104フラッシュドライブ
105フラッシュモジュール
106 フラッシュドライブコントローラ
107フラッシュメモリ
108フラッシュメモリコントローラ
109ブロック

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ