特許第6193834号(P6193834)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許6193834-データ保存システム 図000002
  • 特許6193834-データ保存システム 図000003
  • 特許6193834-データ保存システム 図000004
  • 特許6193834-データ保存システム 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6193834
(24)【登録日】2017年8月18日
(45)【発行日】2017年9月6日
(54)【発明の名称】データ保存システム
(51)【国際特許分類】
   G06F 12/00 20060101AFI20170828BHJP
【FI】
   G06F12/00 542J
【請求項の数】7
【全頁数】8
(21)【出願番号】特願2014-220607(P2014-220607)
(22)【出願日】2014年10月29日
(65)【公開番号】特開2016-91050(P2016-91050A)
(43)【公開日】2016年5月23日
【審査請求日】2016年4月15日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ特許業務法人
(72)【発明者】
【氏名】小泉 彰
【審査官】 井上 宏一
(56)【参考文献】
【文献】 米国特許出願公開第2013/0179624(US,A1)
【文献】 特開2009−259055(JP,A)
【文献】 特開2005−196765(JP,A)
【文献】 特開2011− 90401(JP,A)
【文献】 特開2001−195316(JP,A)
【文献】 特開平10− 97443(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
プロセッサと、書き込み回数に制限のある記録媒体と、不揮発性メモリとを備え、前記プロセッサが複数のタスクを実行するデータ保存システムにおいて、
前記複数のタスクは、前記記録媒体に書き込むデータに関連するデータ関連情報を有し、前記プロセッサは前記タスクの要求に基づいて前記記録媒体にデータを書き込む際に、前記データ関連情報に基づいて前記データを前記記憶媒体に書込むことにより変化した前記記憶媒体への書込み状況を示す書込み状況情報を作成し、前記データ関連情報と前記書込み状況情報を関連付けて前記不揮発性メモリに保存し、前記不揮発性メモリに保存された前記データ関連情報及び前記書込み状況情報に基づいて、前記記録媒体への書き込みを制御する、
ことを特徴とするデータ保存システム。
【請求項2】
前記タスクはそれぞれ固有のタスクIDを有し、前記データ関連情報は前記タスクIDを含む、
ことを特徴とする請求項1に記載のデータ保存システム。
【請求項3】
前記データ関連情報は前記記録媒体のデータの書込み先のアドレス情報を含む、
ことを特徴とする請求項1に記載のデータ保存システム。
【請求項4】
前記書込み状況情報は前記記録媒体への書込み回数を含む、
ことを特徴とする請求項1に記載のデータ保存システム。
【請求項5】
前記書込み状況情報は前記記録媒体への書込みデータ量を含む、
ことを特徴とする請求項1に記載のデータ保存システム。
【請求項6】
前記書き込みを低減させる制御として、前記不揮発性メモリに保存された前記書込み状況情報が、前記データ関連情報毎に予め設定した閾値を超えた場合に、
前記記録媒体に書き込むデータの保存先を前記不揮発性メモリに切り替える、
ことを特徴とする請求項1乃至請求項5のいずれかに記載のデータ保存システム。
【請求項7】
前記データ保存システムは表示装置をさらに備え、
前記不揮発性メモリに保存された前記書込み状況情報が前記データ関連情報毎に予め設定した閾値を超えた場合に、前記データ関連情報を前記表示装置に表示する、
ことを特徴とする請求項1乃至請求項6のいずれかに記載のデータ保存システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ保存システムに関し、特にフラッシュメモリに対する書込み/消去回数が多くなる原因を究明することを可能とするデータ保存システムに関する。
【背景技術】
【0002】
NAND型フラッシュメモリはブロック単位での消去が可能な不揮発性メモリである。これを利用した記憶装置はUSBメモリやSDカード、SSD(Solid State Drive)等で広く利用されている。しかしフラッシュメモリは各ブロックの消去回数に制限があり、消去回数が多くなるにつれて、保存したデータの信頼性が落ち、最終的にはメモリとして機能しなくなる。
【0003】
保存したデータが破損した場合はシステムに深刻な障害を及ぼす可能性がある為、記憶装置を設計する際にはシステムの動作とシステムの想定寿命から、十分な消去回数を担保した設計を行うことが一般的である。しかし、実際のシステムの動作では予想を超えた書き込みが発生する場合も多い為、書込み回数や消去回数を管理し、一定以上の回数に達した場合はそれを通知し交換を促すといった記憶装置が提案されている(例えば、特許文献1,2など)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4014801号公報
【特許文献2】特開2009−053738号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、書込み回数や消去回数を管理するだけでは記憶装置が寿命に達したことを判別して交換を実施することで、未然に障害を防ぐことは可能だが、何故書込み回数が増えたのかを判別することは出来ない。
【0006】
そこで本発明の目的は、フラッシュメモリに対する書込み/消去回数が多くなる原因を究明することを可能とするデータ保存システムを提供することである。
【課題を解決するための手段】
【0007】
本願の請求項1に係る発明は、プロセッサと、書き込み回数に制限のある記録媒体と、不揮発性メモリとを備え、前記プロセッサが複数のタスクを実行するデータ保存システムにおいて、前記複数のタスクは、前記記録媒体に書き込むデータに関連するデータ関連情報を有し、前記プロセッサは前記タスクの要求に基づいて前記記録媒体にデータを書き込む際に、前記データ関連情報に基づいて前記データを前記記憶媒体に書込むことにより変化した前記記憶媒体への書込み状況を示す書込み状況情報を作成し、前記データ関連情報と前記書込み状況情報を関連付けて前記不揮発性メモリに保存し、前記不揮発性メモリに保存された前記データ関連情報及び前記書込み状況情報に基づいて、前記記録媒体への書き込みを制御する、ことを特徴とするデータ保存システムである。
【0008】
本願の請求項2に係る発明は、前記タスクはそれぞれ固有のタスクIDを有し、前記データ関連情報は前記タスクIDを含む、ことを特徴とする請求項1に記載のデータ保存システムである。
【0009】
本願の請求項3に係る発明は、前記データ関連情報は前記記録媒体のデータの書込み先のアドレス情報を含む、ことを特徴とする請求項1に記載のデータ保存システムである。
本願の請求項4に係る発明は、前記書込み状況情報は前記記録媒体への書込み回数を含む、ことを特徴とする請求項1に記載のデータ保存システムである。
本願の請求項5に係る発明は、前記書込み状況情報は前記記録媒体への書込みデータ量を含む、ことを特徴とする請求項1に記載のデータ保存システムである。
【0010】
本願の請求項6に係る発明は、前記書き込みを低減させる制御として、前記不揮発性メモリに保存された前記書込み状況情報が、前記データ関連情報毎に予め設定した閾値を超えた場合に、前記記録媒体に書き込むデータの保存先を前記不揮発性メモリに切り替える、ことを特徴とする請求項1乃至請求項5のいずれかに記載のデータ保存システムである。
【0011】
本願の請求項7に係る発明は、前記データ保存システムは表示装置をさらに備え、前記不揮発性メモリに保存された前記書込み状況情報が前記データ関連情報毎に予め設定した閾値を超えた場合に、前記データ関連情報を前記表示装置に表示する、ことを特徴とする請求項1乃至請求項6のいずれかに記載のデータ保存システムである。
【発明の効果】
【0012】
本発明により、分類毎に消去回数を保存することで、消去回数が多いタスクを特定することが可能となり、そのタスクの動作や、起動周期等を調整することで消去回数を低減することが可能となる。これにより記憶装置の寿命を延ばし、交換の頻度を低減することが可能となる。
【図面の簡単な説明】
【0013】
図1】本発明の第1の実施の形態における電子装置の機能ブロック図である。
図2】本発明の第1の実施の形態における電子装置上で実行される処理のフローチャートである。
図3】本発明の第2の実施の形態における電子装置の機能ブロック図である。
図4】本発明の第2の実施の形態における電子装置上で実行される処理のフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を図面と共に説明する。
図1は本発明の第1の実施の形態におけるデータ保存システムの概略構成を示す要部ブロック図である。本実施の形態におけるデータ保存システムは、CPU10とフラッシュメモリ20、およびバッテリバックアップされたSRAMなどにより構成される不揮発性メモリ30とがバス40で接続されて成る電子装置として構成される。
【0015】
CPU10上では、複数のタスクが時分割で実行され、それぞれのタスクはフラッシュメモリ20に対して、ファイルの書き込みを行う。それぞれのタスクにはCPU10上で動作するOSによりタスクIDが割り当てられており、ファイルの書き込みを制御するドライバ50から識別可能となっている。また、それぞれのタスクにはフラッシュメモリ20に対する書込み回数、書込み量等に対して閾値が設けられており、OSのタスク管理用の記憶領域にタスクIDと関連付けられてあらかじめ設定され、ドライバ50から参照可能に管理されている。
【0016】
不揮発性メモリ30上には、タスクごとにタスクIDとフラッシュメモリに対する書込み状況を示す情報を関連付けて記録する書込み状況管理テーブル60が設けられている。図1においては、書込み状況管理テーブル60に記録される書込み状況を示す情報として書込み量(バイト数)の情報を記録する例を示している。該書込み状況管理テーブル60は、ドライバ50が各タスクからのフラッシュメモリ20に対する書込み要求に基づいてフラッシュメモリ20に対するファイルの書込み処理を行う毎に更新される。
【0017】
ドライバ50は、フラッシュメモリ20へのファイルの書き込み、フラッシュメモリ20からのファイルの読み出しを制御するドライバであり、フラッシュメモリ20上のデータを管理する機能を有する。
【0018】
このような構成を備えたデータ保存システムにおける、CPU10上で動作しているタスクA(タスクID=0x0001)がファイルF1,F2,F3,・・・の書込みを行う場合であって、タスクID=0x0001のタスクについて書込み量の閾値がT1に設定されているケースの書込み制御動作を以下に説明する。
【0019】
タスクAはファイルF1の書き込みを行う際にドライバ50に対して書込み要求を行う。書き込み要求にはファイルF1のデータ、ファイルF1のデータサイズn1、そして自らのタスクID=0x0001を含むデータ関連情報が含まれている。書込み要求を受けたドライバ50は、タスクから渡されたデータサイズn1に応じて、必要であればブロック毎の消去を行った上でデータをフラッシュメモリ20に書き込み、ファイルF1を作成する。
【0020】
これに加えて、ドライバ50は不揮発性メモリ30上で管理されている書込み状況管理テーブル60を参照し、ID=0x0001に対応するそれまでの書込み量N0にn1を加え、N1=N0+n1として保存する。
【0021】
その後、ドライバ50はタスクAに設定されている書込み量の閾値T1とN1とを比較し、T1<N1の状態となったら、それ以降のファイルの書込み動作を変更する。すなわち、次回以降のタスクA(タスクID=0x0001)からファイル書込み要求を受けた際に、タスクAからの書き込みは閾値を越えている為、フラッシュメモリ20への書込みを行わず、不揮発性メモリ30へ書込みを行う。例えば、T1<N1の状態においてタスクAがファイルF2の書き込み要求をドライバ50に対して行うと、ドライバ50は不揮発性メモリ30上にファイルF2を作成する。
【0022】
このように、本実施の形態では、書込み頻度が高いタスクAによるフラッシュメモリ20に対する書き込みを制限するため、フラッシュメモリ20の寿命を延ばすことが可能となる。
図2は、本実施の形態におけるデータ保存システム上で実行される処理のフローチャートである。
【0023】
●[ステップSA01]タスクから、フラッシュメモリ20に対するファイルの書込み要求を受け付ける。
●[ステップSA02]書込み要求に含まれるタスクIDに基づいて不揮発性メモリ30上で管理されている書込み状況管理テーブル60を参照し、書込み要求したタスクのタスクIDに関連付けられている書込み状況を示す情報を取得し、該タスクIDに対応する閾値と比較する。書込み状況を示す情報が閾値よりも小さい場合にはステップSA3へ進み、閾値を超えている場合にはステップSA05へ進む。
●[ステップSA03]タスクからの書き込み要求に従って、フラッシュメモリ20上にデータを書き込み、ファイルを作成する。
●[ステップSA04]タスクからの書き込み要求に従って、該タスクのタスクIDに関連付けられた書込み状況管理テーブル60上の情報を更新する。
●[ステップSA05]タスクからの書き込み要求に従って、不揮発性メモリ30上にデータを書き込み、ファイルを作成する。
【0024】
図3は本発明の第2の実施の形態におけるデータ保存システムの概略構成を示す要部ブロック図である。本実施の形態におけるデータ保存システムは、CPU10とフラッシュメモリ20がバス40で接続されており、フラッシュメモリ20上に書込み状況管理テーブル60が設けられている。
CPU10上では、複数のタスクが時分割で実行され、それぞれのタスクはフラッシュメモリ20に対して、ファイルの書込みを行う。
【0025】
また、フラッシュメモリ20内の領域は論理アドレスで管理されており、それぞれのタスクは異なる論理アドレスの領域にファイルを書き込むように構成されている。フラッシュメモリ上の論理アドレスAddressxに設けられた書込み状況管理テーブル60には、各タスクが書き込みを行う論理アドレスと関連付けて、該論理アドレスが示す領域に対する書き込み状況を示す情報が記録されている。図3においては、書込み状況管理テーブル60に記録される書込み状況を示す情報として書込み回数の情報を記録する例を示している。
【0026】
このような構成を備えたデータ保存システムにおける、CPU10上で動作しているタスクA(タスクID=0x0001)がファイルF1,F2,F3,・・・の書込みを行う場合であって、タスクID=0x0001のタスクについて書込み回数の閾値がT0に設定されているケースの書込み制御動作を以下に説明する。
【0027】
タスクAはファイルF1の書き込みを行う際にドライバ50に対して書込み要求を行う。書き込み要求にはファイルF1のデータ、ファイルF1のデータサイズn1、書込み先の論理アドレスAddress0、そして自らのタスクID=0x0001を含むデータ関連情報が含まれている。書込み要求を受けたドライバ50は、必要であればブロック毎の消去を行った上でデータをフラッシュメモリ20の論理アドレスAddress0の領域にファイルF1を書き込む。
【0028】
フラッシュメモリ20上で管理されている書込み状況管理テーブル60には、論理アドレスAddress0と関連付けて、論理アドレスAddress0が示す領域に何回書き込みが発生したかを示す書込み回数CNT0が記録されている。ドライバ50は、書込み状況管理テーブル60を参照して、論理アドレスAddress0への書き込み回数をCNT0に1を加えた数CNT1で更新する。
【0029】
その後、ドライバ50はタスクAに設定されている書込み回数の閾値T0とCNT1とを比較し、T0<CNT1の状態となったら、論理アドレスAddress0への書込みが閾値に達したことをOSなどのシステムプログラムに対して通知する。該通知を受けたシステムプログラムは画面への警告表示をしたり、管理用のログファイルに記録を取ることができる。そして、オペレータは当該通知を受けてフラッシュメモリ20の論理アドレスAddress0に対する書き込むタスクを調査し、不要な書込みがあればそれを改善することができる。
図4は、本実施の形態におけるデータ保存システム上で実行される処理のフローチャートである。
【0030】
●[ステップSB01]タスクから、フラッシュメモリ20に対するファイルの書込み要求を受け付ける。
●[ステップSB02]書込み要求に含まれる論理アドレスに基づいてフラッシュメモリ20上で管理されている書込み状況管理テーブル60を参照し、書込み要求したタスクのタスクIDに関連付けられている書込み状況を示す情報を取得し、該タスクIDに対応する閾値と比較する。書込み状況を示す情報が閾値よりも小さい場合にはステップSB3へ進み、閾値を超えている場合にはステップSB05へ進む。
●[ステップSB03]タスクからの書き込み要求に従って、フラッシュメモリ20上にデータを書き込み、ファイルを作成する。
●[ステップSB04]タスクからの書き込み要求に従って、書込み先の論理アドレスに関連付けられた書込み状況管理テーブル60上の情報を更新する。
●[ステップSB05]書込み先の論理アドレスに対する書込み回数がタスクからの書込み回数の閾値を超えている警告を通知する。
【0031】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。例えば、書込み状況を示す情報として書込み状況管理テーブル60で管理する情報として、上記実施の形態では書込み量、書込み回数を用いる例を示したが、単位時間あたりの書込み量や書込み回数を示す書込み頻度を用いるようにしてもよい。また、書込み状況を示す情報として複数の情報を管理し、これを併用してフラッシュメモリ20への書き込み状況を分析し、フラッシュメモリ20への書込み制御や通知を行うようにしてもよい。
【0032】
更に、上記実施の形態では不揮発性メモリ30上に書込み状況管理テーブル60を設けた例と、フラッシュメモリ20上に書き込み状況管理テーブル60を設けた例を示したが、両方に異なる書込み状況を示す情報を管理するテーブルを設けて併用するようにすることもできる。
【符号の説明】
【0033】
1 データ保存システム
10 CPU
20 フラッシュメモリ
30 不揮発性メモリ
40 バス
50 ドライバ
60 書込み状況管理テーブル
図1
図2
図3
図4