(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】書き込み監視装置
(51)【国際特許分類】
G06F 11/30 20060101AFI20250107BHJP
G06F 3/06 20060101ALI20250107BHJP
G06F 3/08 20060101ALI20250107BHJP
G06F 11/34 20060101ALI20250107BHJP
【FI】
G06F11/30 140M
G06F3/06 306Z
G06F3/06 304N
G06F3/08 H
G06F11/34 185
(21)【出願番号】P 2020011537
(22)【出願日】2020-01-28
【審査請求日】2022-11-21
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】有田 誠
(72)【発明者】
【氏名】野上 信二
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2011-186553(JP,A)
【文献】特開2018-151776(JP,A)
【文献】特開2007-328620(JP,A)
【文献】特開2019-160249(JP,A)
【文献】特開2019-086974(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06-3/08
G06F 11/07-11/36
G06F 17/18
(57)【特許請求の範囲】
【請求項1】
半導体ストレージの書き込み監視装置であって、
前記半導体ストレージのブロック毎の消去回数を取得する消去回数取得部と、
前記消去回数取得部が取得した前記半導体ストレージのブロック毎の消去回数に基づいて、
複数の監視間隔毎に前記半導体ストレージのブロックの消去頻度を算出する消去頻度算出部と、
前記複数の監視間隔毎に、前記消去頻度算出部が算出した消去頻度と、予め定めた上限値と、を比較し、前記上限値を超えた場合に警告を出力する警告部と、
を備えた書き込み監視装置。
【請求項2】
前記警告部は、監視間隔が長い方から順に、前記消去頻度と、予め定めた上限値と、を絞り込みながら比較する、
請求項1に記載の書き込み監視装置。
【請求項3】
アプリケーションの動作状態を管理するアプリケーション管理部をさらに備え、
前記警告部は、警告を出力する際に、前記消去頻度が上限値を超えた際に動作していたアプリケーションの情報を出力する、
請求項1に記載の書き込み監視装置。
【請求項4】
半導体ストレージの書き込み監視装置による書き込み監視方法であって、
前記半導体ストレージのブロック毎の消去回数を取得する第1の手順と、
前記第1の手順で取得した前記半導体ストレージのブロック毎の消去回数に基づいて、
複数の監視間隔毎に前記半導体ストレージのブロックの消去頻度を算出する第2の手順と、
前記複数の監視間隔毎に、前記第2の手順で算出した前記半導体ストレージのブロックの消去頻度
と予め定めた上限値
とを比較し、前記上限値を超えた場合に警告を出力する第3の手順と、
を備えた書き込み監視方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、書き込み監視装置に関し、特に制御装置で用いられているストレージデバイスに対する書き込みを監視する装置に関する。
【背景技術】
【0002】
工作機械等の産業機械を制御する制御装置は、産業機械を制御するための制御用プログラムを記憶したり、産業機械の動作状況を記録したりするためのストレージデバイスを備えている。制御装置は、複数の産業機械が動作する環境に設置されることが多く、振動等の影響を受けやすい劣悪な状況下で動作する。そのため、制御装置ではストレージデバイスとして駆動部分が無く振動による影響を受けにくいNANDフラッシュを使用した半導体ストレージが用いられる事がある(例えば、特許文献1~4等)。
【0003】
SSD(Solid State Drive)等のNANDフラッシュを利用した半導体ストレージは、メモリセルの集合であるページと呼ばれる単位でデータの書き込み及び読み込みが行われる。また、ページに書き込まれているデータの消去は、複数のページをまとめたブロックという単位で行われる。そして、半導体ストレージではデータの上書きを行うことができないため、ページ内のデータを変更するときは、そのページを含むブロック全体のデータを一旦退避し、当該ブロックの消去を行なった後に、変更したデータと共にブロック全体を書き戻している。
【0004】
NANDフラッシュを利用した半導体ストレージのメモリセルは、何度も書き込みが行われることで劣化していずれ寿命を迎える。そのため、半導体ストレージでは、それぞれのブロックに対する書き込み消去回数をカウントすると共に、各ブロックの書き込み消去回数がなるべく均一になるように書き込み制御(ウェアレベリング)がなされている。そのため、最も書き込み消去回数の多いブロックの書き込み消去回数を半導体ストレージから取得することで、当該半導体ストレージの寿命を管理できる。例えば、最も書き込み消去回数の多いブロックの書き込み消去回数が、許容される最大書き込み消去回数の90%を超えた場合にアラームを出力することで、半導体ストレージの寿命の管理をすることができる。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2011-070346号公報
【文献】特表2010-511225号公報
【文献】特開2009-037630号公報
【文献】特開平11-250675号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記したように、半導体ストレージの寿命を管理することは可能であるが、寿命を迎える以前の段階で異常な書き込み消去回数の増加を知りたいという要求がある。例えば、アプリケーションの動作異常やプログラムのミス等が原因で、半導体ストレージに対して異常に書き込み回数が増加する場合がある。このようなときは、オペレータは、どの時点で半導体ストレージの寿命が急速に縮まっているのかを把握して、必要に応じて対策したいという要求がある。
すなわち、それぞれの時点における半導体ストレージの寿命の変化を管理することを可能にする技術が求められている。
【課題を解決するための手段】
【0007】
本発明による書き込み監視装置は、半導体ストレージにおける予め定めた監視間隔あたりの書き込み消去回数(消去頻度)の上限値を定め、その上限値を越えた書き込み消去が行われた際にアラームを出すことで、上記課題を解決する。
【0008】
そして、本発明の一態様は、半導体ストレージの書き込み監視装置であって、前記半導体ストレージのブロック毎の消去回数を取得する消去回数取得部と、前記消去回数取得部が取得した前記半導体ストレージのブロック毎の消去回数に基づいて、複数の監視間隔毎に前記半導体ストレージのブロックの消去頻度を算出する消去頻度算出部と、前記複数の監視間隔毎に、前記消去頻度算出部が算出した前記半導体ストレージのブロックの消去頻度と、予め定めた上限値とを比較し、前記上限値を超えた場合に警告を出力する警告部と、を備えた書き込み監視装置である。
【0009】
本発明の他の態様は、半導体ストレージの書き込み監視装置による書き込み監視方法であって、前記半導体ストレージのブロック毎の消去回数を取得する第1の手順と、前記第1の手順で取得した前記半導体ストレージのブロック毎の消去回数に基づいて、複数の監視間隔毎に前記半導体ストレージのブロックの消去頻度を算出する第2の手順と、前記複数の監視間隔毎に、前記第2の手順で算出した前記半導体ストレージのブロックの消去頻度と、予め定めた上限値とを比較し、前記上限値を超えた場合に警告を出力する第3の手順と、を備えた書き込み監視方法である。
【発明の効果】
【0010】
本発明の一態様により、半導体ストレージに対して異常な頻度で書き込みが行われていることをオペレータが把握できるため、原因となるアプリケーションを特定する等の対策をすることができるようになる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態による書き込み監視装置の概略的なハードウェア構成図である。
【
図2】第1実施形態による書き込み監視装置の概略的な機能ブロック図である。
【
図3】書き込み監視装置の概略的な動作の流れを示すフローチャートである。
【
図4】第2実施形態による書き込み監視装置の概略的な機能ブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による書き込み監視装置の要部を示す概略的なハードウェア構成図である。本発明の書き込み監視装置1は、例えば産業機械を制御する制御装置として実装することができる。また、本発明の書き込み監視装置1は、産業機械を制御する制御装置に併設されたパソコンや、有線/無線のネットワークを介して制御装置と接続されたパソコン、フォグコンピュータ、クラウドサーバ等の上に実装することができる。本実施形態では、書き込み監視装置1を、産業機械を制御する制御装置上に実装した例を示す。
【0013】
本実施形態による書き込み監視装置1が備えるCPU11は、書き込み監視装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って書き込み監視装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0014】
不揮発性メモリ14は、SSD等のNANDフラッシュを利用した半導体ストレージで構成される。不揮発性メモリ14に書き込まれたデータは、書き込み監視装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや制御用プログラム、入力装置71を介して入力されたデータや制御用プログラム、他の制御装置3やフォグコンピュータ6、クラウドサーバ7等の他のコンピュータから取得される各データ等が記憶される。不揮発性メモリ14に記憶されたデータや制御用プログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0015】
インタフェース15は、書き込み監視装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械の制御に用いられる制御用プログラムや各パラメータ等を読み込むことができる。また、書き込み監視装置1内で編集した制御用プログラムや各パラメータ等は、外部機器72を介して外部記憶手段に記憶させたり、ネットワーク5を介して制御装置3や他のコンピュータに対して送信したりすることができる。
【0016】
表示装置70には、メモリ上に読み込まれた各データ、制御用プログラムやシステム・プログラム等が実行された結果として得られたデータ等がインタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令,データ等をCPU11に渡す。
【0017】
インタフェース20は、書き込み監視装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、産業機械を制御する制御装置3やフォグコンピュータ6、クラウドサーバ7等が接続され、書き込み監視装置1との間で相互にデータのやり取りを行っている。
【0018】
インタフェース21は、書き込み監視装置1のCPU11と制御対象の産業機械とを接続するためのインタフェースである。CPU11は、RAM13乃至不揮発性メモリ14に記憶された制御用プログラムを解析し、その解析結果に基づいてインタフェース21を介して産業機械を制御する。また、インタフェース21は、産業機械で検出されたデータをCPU11へと渡す。
【0019】
図2は、本発明の第1実施形態による書き込み監視装置1が備える機能を概略的なブロック図として示したものである。本実施形態による書き込み監視装置1が備える各機能は、
図1に示した書き込み監視装置1が備えるCPU11がシステム・プログラムを実行し、書き込み監視装置1の各部の動作を制御することにより実現される。
【0020】
本実施形態の書き込み監視装置1は、消去回数取得部100、消去頻度算出部110、警告部120を備える。また、RAM13上には、不揮発性メモリ14のブロック毎の消去回数を記憶するための領域である消去回数記憶部200が予め設けられている。
【0021】
消去回数取得部100は、
図1に示した書き込み監視装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。消去回数取得部100は、予め定めた所定動作周期毎(例えば、1秒毎)に不揮発性メモリ14から該不揮発性メモリ14のメモリのブロック毎の消去回数を取得する。消去回数取得部100は、例えばS.M.A.R.T.(Self-Monitoring and Reporting Technology)等の公知の技術を用いて、不揮発性メモリ14のコントローラからブロック毎の消去回数を取得する。消去回数取得部100は、取得したブロック毎の消去回数の履歴を消去回数記憶部200に記憶する。
【0022】
消去頻度算出部110は、
図1に示した書き込み監視装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。消去頻度算出部110は、消去回数取得部100により取得された不揮発性メモリ14のブロック毎の消去回数に基づいて、監視間隔あたりの不揮発性メモリ14のブロックの消去回数(消去頻度)を算出する。消去頻度算出部110は、消去回数記憶部200に記憶されたデータに基づいて、予め定めた監視間隔(例えば、1秒毎、1分毎、1時間毎、1日毎等)における不揮発性メモリ14のブロックの消去回数(消去頻度)を算出する。消去頻度算出部110は、複数の時刻における不揮発性メモリ14のブロックの消去回数(消去頻度)を算出しても良い。消去頻度算出部110は、複数の異なる周期の監視間隔における不揮発性メモリ14のブロックの消去回数(消去頻度)を算出しても良い。不揮発性メモリ14は、不揮発性メモリのブロック毎に消去頻度を算出しても良い。また、不揮発性メモリ14においてウェアレベリングが十分に機能している場合には、消去頻度算出部110は、最も消去回数が多いブロックについてのみ消去頻度を算出するようにしても良い。消去頻度算出部110は、算出したブロックの消去頻度を警告部120に出力する。
【0023】
警告部120は、
図1に示した書き込み監視装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース18を用いた出力処理が行われることで実現される。警告部120は、消去頻度算出部110から入力された所定の監視間隔毎の消去頻度を、それぞれの監視間隔毎に予め定めた所定の上限値と比較し、上限値を超えた場合に警告を出力する。警告部120は、例えば「不揮発性メモリ14における〇〇時△△分における1分あたりの消去頻度が××を超えています。当該時刻におけるアプリケーションの動作状況等を確認してください」等の警告表示を表示装置70に対して行うようにしても良い。また、図示しない警告ランプや警告音により警告を出力するようにしても良い。警告部120は、ネットワーク5を介してフォグコンピュータ6やクラウドサーバ7等の管理コンピュータに対して警告を送信出力するようにしても良い。
【0024】
警告部120は、それぞれの監視間隔において消去頻度の比較を行うようにしても良いが、例えば、段階的に監視間隔を絞り込みながら消去頻度の比較をするようにしても良い。
図3は、本実施形態による書き込み監視装置1の概略的な動作の例を示すフローチャートである。
図3の動作例では、1時間、1分、1秒を監視間隔とした上で、監視間隔が長い方から順に絞り込みながら消去頻度の判定をしている。それぞれの監視間隔における消去回数の上限値については予め設定されている。
【0025】
消去回数取得部100は、所定動作周期毎に、不揮発性メモリ14からブロック毎の消去回数を取得して消去回数記憶部200に履歴として記憶している。
消去頻度算出部110は、消去回数記憶部200を参照して、1時間毎のブロックの消去回数をそれぞれ算出する(ステップSA02)。次に、警告部120は、1時間毎の消去回数の上限値を超えた時間区間があるか否かを判定する(ステップSA03)。1時間あたりの消去回数の上限値を超えた時間区間がある場合、消去頻度算出部110は、その時間区間における1分毎のブロックの消去回数を算出する(ステップSA05)。次に、警告部120は、1分毎の消去回数の上限値を超えた分区間があるか否かを判定する(ステップSA06)。1分あたりの消去回数の上限値を超えた分区間がある場合、消去頻度算出部110は、更にその分区間における1秒毎のブロックの消去回数を算出する(ステップSA07)。そして、警告部120は、1秒あたりの消去回数の上限値を超えた秒区間があるか否かを判定する(ステップSA08)。1秒あたりの消去回数の上限値を超えた秒区間が場合あるには、警告部120は警告を出力する(ステップSA09)。また、いずれの監視間隔においても上限値を超えることがなかった場合には、警告部120は警告を出力しないまま(ステップSA04)動作を終了する。
【0026】
上記構成を備えた本実施形態による書き込み監視装置1は、半導体ストレージに対して異常な頻度で書き込みが行われている時間があることをオペレータに対して警告する。そのため、オペレータは、どの時点で半導体ストレージの寿命が急速に縮まっていることを把握でき、原因となるアプリケーションを特定する等の対策をすることができるようになる。また、
図3に例示するように、段階的に監視間隔を設けて絞り込みながら消去頻度の判定をすることで、全ての分区間、秒区間でのブロック消去回数を算出する必要がなくなるため、消去頻度の算出処理の負荷を軽減できる。
【0027】
図4は、本発明の第2実施形態による書き込み監視装置1が備える機能を概略的なブロック図として示したものである。本実施形態による書き込み監視装置1が備える各機能は、
図1に示した書き込み監視装置1が備えるCPU11がシステム・プログラムを実行し、書き込み監視装置1の各部の動作を制御することにより実現される。
【0028】
本実施形態の書き込み監視装置1は、第1実施形態による書き込み監視装置1が備える各機能に加えて、更にアプリケーション管理部130を備える。
アプリケーション管理部130は、
図1に示した書き込み監視装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。アプリケーション管理部130は、書き込み監視装置1の上で動作しているアプリケーションの動作状態を管理する。アプリケーション管理部130は、例えば各アプリケーションの動作開始時刻や動作終了時刻、連続動作時間、アクティブ状態等を管理する。アプリケーション管理部130は、各アプリケーションのログファイル等を参照することでアプリケーションの動作状態を管理しても良い。アプリケーション管理部130は、書き込み監視装置1のOS(Operating System)のタスク管理機能等を利用してアプリケーションの動作状態を管理しても良い。
【0029】
本実施形態による警告部120は、消去頻度算出部110から所定の監視間隔における不揮発性メモリ14のブロック毎の消去頻度が予め定めた所定の閾値を超えたことが入力された際に、アプリケーション管理部130が管理するアプリケーションの情報を取得し、その時点で動作しているアプリケーションを特定する。そして、特定したアプリケーションの情報と共に警告を出力する。警告部120は、警告が出た時点で動作しているアプリケーションが複数ある場合には、その複数のアプリケーションの情報と共に警告を出力する。なお、
図3で示したフローチャートのように、段階的に監視間隔を絞り込むように消去頻度を判定している場合には、警告部120は、上限値を超えた監視間隔の期間に動作していたアプリケーションの情報とともに警告を出力するようにしても良い。警告部120は、アプリケーションのアクティブ状態等を取得できる場合には、警告が出た時点でアクティブ状態にあるアプリケーションの情報と共に警告を出力するようにしても良い。また、警告部120は、消去回数記憶部200に記憶されている消去回数の履歴に基づいて、消去回数の推移を示すグラフを表示するとともに、当該グラフと並べて、それぞれの時刻において動作していたアプリケーションを表示するようにしても良い。
【0030】
上記構成を備えた本実施形態による書き込み監視装置1は、半導体ストレージに対して異常な頻度で書き込みが行われていることをオペレータに対して警告すると共に、その時点で動作しているアプリケーションの情報を出力する。そのため、オペレータは、半導体ストレージの寿命が急速に縮まっていることを把握でき、また、監視間隔において動作していたアプリケーションの中から原因となるアプリケーションを特定する等の対策をすることができるようになる。
【0031】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0032】
1 書き込み監視装置
3 制御装置
5 ネットワーク
6 フォグコンピュータ
7 クラウドサーバ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,18,19,20,21 インタフェース
22 バス
70 表示装置
71 入力装置
72 外部機器
100 消去回数取得部
110 消去頻度算出部
120 警告部
130 アプリケーション管理部
200 消去回数記憶部