JP2014021925A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2014021925A
JP2014021925A JP2012162992A JP2012162992A JP2014021925A JP 2014021925 A JP2014021925 A JP 2014021925A JP 2012162992 A JP2012162992 A JP 2012162992A JP 2012162992 A JP2012162992 A JP 2012162992A JP 2014021925 A JP2014021925 A JP 2014021925A
Authority
JP
Japan
Prior art keywords
optimization
amount
degree
rewrite
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012162992A
Other languages
English (en)
Inventor
Eiri Takeda
英理 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2012162992A priority Critical patent/JP2014021925A/ja
Publication of JP2014021925A publication Critical patent/JP2014021925A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

【課題】半導体記憶素子における記憶内容の断片化の進行の度合いを高精度に把握することができる情報処理装置及びプログラムを提供する。
【解決手段】第1の検出部14が、半導体記憶素子26に記憶された記憶内容を第1の記憶内容に書き換える際の記憶装置12に対する第1の書換量を検出する。第2の検出部16が、半導体記憶素子26に記憶された記憶内容を制御部24により第1の記憶内容に書き換える際の第2の書換量を検出する。出力部18が、第2の検出部16で検出された第2の書換量が第1の検出部14で検出された第1の書換量を上回る度合いを示す度合い情報を出力する。
【選択図】図1

Description

本発明は、情報処理装置及びプログラムに関する。
近年、補助記憶装置としてソリッド・ステート・ドライブ(Solid State Drive:以下、「SSD」という)が注目されている。補助記憶装置としてはハードディスク・ドライブ(Hard Disk Drive:以下、「HDD」という)も広く知られている。しかし、SSDの読み出し性能はHDDの読み出し性能よりも優れているため、SSDは、HDDに比べ、ソフトウェアの早期立ち上げや各種データへのアクセスのスループット向上を図ることができる。その他にも、SSDは、HDDに比べ、消費電力が低く、発熱が少なく、耐衝撃性に優れ、動作音が小さい等の優れた面を有している。そのため、サーバ装置や携帯型通信端末装置(例えばスマートフォン)などの情報処理装置に対してはSSDの導入がHDDよりも優先的に検討される傾向にある。
SSDには、NAND型フラッシュメモリ(以下、「NANDメモリ」という)が搭載されている。また、SSDには、コントローラが搭載されており、コントローラは、SSDに接続されたコンピュータがSSDに対して行う書換に従ってNANDメモリを書き換える。SSDでは、一例として図8に示すように、NANDメモリに記憶されている情報が断片化されている場合、新たに記憶すべき情報は、断片化部分から離れた空き領域に分散して断続的に書き込まれる。情報がNANDメモリに断続的に記憶されると、情報を連続的に記憶する場合に比べ、コントローラによる情報の書換量が増加するため、NANDメモリの寿命低下の原因となり、さらに情報を記憶する速度が低下する。そのため、コンピュータは、NANDメモリにおける情報の断片化が所定の度合い以上に進行した場合に、情報が断片化されて生じた空き領域に他の情報を書き込むことで情報を連続化させ、情報の書換量の増加抑制を図ることができる。例えば図8に示すように情報が連続化されて断片化が解消されると、コントローラによる情報を記憶する速度が回復する。このようにNANDメモリにおいて断片化されている情報を連続化させることは、一般的に最適化(デフラグメンテーション)と呼ばれている。
しかし、最適化の頻繁な実施は、NANDメモリの寿命を縮める要因になる。その反面、最適化の実施を過度に控えたり、最適化の実施を長期間怠ったりすると、情報の書換量が加速的に増加する(情報の書き込み速度及び読み出し速度が著しく低下する)要因にもなる。そのため、情報の断片化の進行の度合いを高精度に検出することが重要となる。
情報の断片化の進行の度合いを検出する技術としては、1秒あたりの入出力回数に対するSSDのシーケンシャル書換速度の割合を算出し、算出した割合から情報の断片化の度合いを把握する技術が知られている(例えば特許文献1参照)。
特表2010−541107号公報
しかし、シーケンシャル書換速度は、情報の断片化以外の要因(例えば、SSDに含まれるコントローラの性能低下やキャッシュメモリの使用可能な容量など)で低下する。従って、情報の断片化以外の要因が含まれているシーケンシャル書換速度を利用して、NANDメモリにおける情報の断片化の進行の度合いを把握する場合、適切な時期に最適化が行われなくなる虞がある。
開示の技術は、半導体記憶素子における記憶内容の断片化の進行の度合いを高精度に把握することができる情報処理装置及びプログラムを提供することを目的とする。
上記目的を達成するために、請求項1に記載の情報処理装置を、不揮発性の半導体記憶素子及び制御手段を備えた記憶装置の前記半導体記憶素子に記憶された記憶内容を第1の記憶内容に書き換える際の前記記憶装置に対する第1の書換量を検出する第1の検出手段と、前記半導体記憶素子に記憶された記憶内容を前記制御手段により前記第1の記憶内容に書き換える際の第2の書換量を検出する第2の検出手段と、前記第2の検出手段で検出された前記第2の書換量が前記第1の検出手段で検出された前記第1の書換量を上回る度合いを示す度合い情報を出力する出力手段と、を含んで構成した。
上記目的を達成するために、請求項2に記載の情報処理装置を、不揮発性の半導体記憶素子及び制御手段を備えた記憶装置の前記半導体記憶素子に記憶された記憶内容を特定期間に書き換える際の前記記憶装置に対する第1の書換量を検出する第1の検出手段と、前記半導体記憶素子に記憶された記憶内容を前記制御手段により前記特定期間に書き換える際の第2の書換量を検出する第2の検出手段と、前記第2の検出手段で検出された前記第2の書換量が前記第1の検出手段で検出された前記第1の書換量を上回る度合いを示す度合い情報を出力する出力手段と、を含んで構成した。
上記目的を達成するために、請求項16のプログラムを、請求項1〜請求項15の何れか1項に記載の情報処理装置における前記第1の検出手段、前記第2の検出手段及び前記出力手段としてコンピュータを機能させるためのものとした。
請求項1、請求項2及び請求項16に係る発明によれば、本構成を有しない場合に比べ、半導体記憶素子における記憶内容の断片化の進行の度合いを高精度に把握することができる、という効果が得られる。
請求項3に係る発明によれば、本構成を有しない場合に比べ、第2の書換量が第1の書換量を上回る度合いを簡素な構成で高精度に把握することができる、という効果が得られる。
請求項4に係る発明によれば、書換量増加率を第1の書換量に対する第2の書換量の比とした構成を有しない場合に比べ、信頼度の高い書換量増加率を簡易な構成で得ることができる、という効果が得られる。
請求項5に係る発明によれば、書換量増加率を第1の書換量に対する第1の書換量と第2の書換量との差の比とした構成を有しない場合に比べ、信頼度の高い書換量増加率を簡易な構成で得ることができる、という効果が得られる。
請求項6に係る発明によれば、本構成を有しない場合に比べ、半導体記憶素子における記憶内容の断片化の進行を適切な時期に抑制することができる、という効果が得られる。
請求項7に係る発明によれば、本構成を有しない場合に比べ、最適化が実施されないことによる書換量の増加を抑制することができる、という効果が得られる。
請求項8に係る発明によれば、本構成を有しない場合に比べ、半導体記憶素子における記憶内容の断片化の進行を適切な時期に抑制することができる、という効果が得られる。
請求項9に係る発明によれば、本構成を有しない場合に比べ、簡素な構成で半導体記憶素子における記憶内容の断片化の進行を抑制することができる、という効果が得られる。
請求項10に係る発明によれば、最適化処理の累積実施回数の増加に従って閾値を引き上げる構成を有しない場合に比べ、最適化の過度な実施を抑制することができる、という効果が得られる。
請求項11に係る発明によれば、最適化処理の累積実施回数が事前に指定された回数に到達した場合に閾値を引き上げる構成を有しない場合に比べ、最適化の過度な実施を抑制することができる、という効果が得られる。
請求項12に係る発明によれば、予め定められた期間内に累積実施回数が事前に指定された回数に到達した場合に閾値を引き上げる構成を有しない場合に比べ、最適化の過度な実施を抑制することができる、という効果が得られる。
請求項13に係る発明によれば、本構成を有しない場合に比べ、半導体記憶素子における記憶内容の断片化が進行していることを容易に把握することができる、という効果が得られる。
請求項14に係る発明によれば、本構成を有しない場合に比べ、簡素な構成で第2の書換量を検出することができる、という効果が得られる。
請求項15に係る発明によれば、本構成を有しない場合に比べ、簡素な構成で第1の書換量を検出することができる、という効果が得られる。
実施形態に係るATMの要部機能の一例を示す機能ブロック図である。 実施形態に係るATMの電気系の要部構成の一例を示すブロック図である。 実施形態に係るATMに含まれるSSDの電気系の要部構成の一例を示すブロック図である。 実施形態に係るNANDメモリにおける記憶領域の構成の一例を示す模式図である。 実施形態に係る最適化支援処理の流れの一例を示すフローチャートである。 実施形態に係る増加率出力処理の流れの一例を示すフローチャートである。 実施形態に係る最適化処理の流れの一例を示すフローチャートである。 断片化の解消方法の一例を示す模式図である。
次に図面を参照して開示の技術の実施形態の一例を詳細に説明する。なお、以下の説明では、開示の技術に係る情報処理装置の一例として現金自動預け払い機(Automatic teller machine:以下、「ATM」という)を挙げて説明する。但し、開示の技術はこれに限定されるものではない。開示の技術は、例えば、パーソナル・コンピュータやサーバ装置、スマートフォンなどに対しても適用可能である。
図1には、本実施形態に係るATM10の要部構成の一例を示すブロック図が示されている。図1に示すようにATM10は、記憶装置12、ミラー用記憶装置13、第1の検出部14、第2の検出部16、出力部18、判定部20及び最適化部22を含んで構成されている。
記憶装置12は、制御部24及び不揮発性の半導体記憶素子26を有する。なお、ミラー用記憶装置13も記憶装置12と同様に構成されている。ここでは便宜上、記憶装置12とミラー用記憶装置13とを別名で表しているが、互いに記憶内容を同時に複製しているので、記憶装置12をミラー用記憶装置として用い、ミラー用記憶装置13を記憶装置として用いてもよい。
第1の検出部14は、半導体記憶素子26に記憶された記憶内容を第1の記憶内容に書き換える際の記憶装置12に対する第1の書換量を検出する。第2の検出部16は、半導体記憶素子26に記憶された記憶内容を制御部24により第1の記憶内容に書き換える際の第2の書換量を検出する。なお、ここで言う「第1の記憶内容」としては、例えば半導体記憶素子26に記憶された記憶内容に対して書換を開始してから特定期間経過した後の半導体記憶素子26に記憶されている記憶内容(結果的に得られた記憶内容)を想定している。但し、開示の技術はこれに限定されるものではなく、例えば半導体記憶素子26に記憶されるべき記憶内容として事前に定められた記憶内容を第1の記憶内容として扱ってもよい。
出力部18は、第2の検出部16で検出された第2の書換量が第1の検出部14で検出された第1の書換量を上回る度合いを示す度合い情報を出力する。また、出力部18は、出力部18により出力された度合い情報により示される度合いが閾値を超えた場合、警報を出力する。
最適化部22は、出力部18により出力された度合い情報により示される度合いが閾値を超えた場合、半導体記憶素子26に対して最適化処理を実施する。判定部20は、出力部18により出力された度合い情報により示される度合いが閾値を超えたか否かを定期的に判定する。最適化部22は、判定部20によって度合いが閾値を超えたと判定された場合、半導体記憶素子26に対して最適化処理を実施する。
最適化部22は、記憶内容に対する最適化の累積実施回数が予め定められた回数に達していない状態で、出力部18により出力された度合い情報により示される度合いが閾値を超えた場合、半導体記憶素子26に対して最適化処理を実施する。また、最適化部22は、例えば、半導体記憶素子26に記憶された記憶内容を他の記憶領域の一例であるミラー用記憶装置13にミラーリングする。そして、ミラーリング先の情報を最適化し、最適化した情報を半導体記憶素子26に上書きすることにより半導体記憶素子26に対する最適化処理を実施する。なお、上記の最適化部22の構成はあくまでも一例であり、開示の技術はこれに限定されない。例えば、最適化部22は、半導体記憶装置26に記憶された内容がミラーリングされているミラー用記憶装置13の情報を最適化する。この最適化した情報を半導体記憶素子26に上書きすることにより半導体記憶装置26に対する最適化処理を実施できる。
図1に示す第1の検出部14、第2の検出部16、出力部18、判定部20及び最適化部22は、例えばATM10に内蔵された図2に示すコンピュータ30によって実現される。図2には、ATM10の電気系の要部構成の一例が示されている。図2に示すように、コンピュータ30は、CPU(Central Processing Unit:中央処理装置)32、メモリ34、記憶装置12の一例である不揮発性のSSD36、及びミラー用記憶装置13の一例であるミラー用SSD37を備えている。なお、ここでは、SSD36及びミラー用SSD37を例示しているが、開示の技術はこれに限定されるものではなく、ハイブリッドHHD(Hybrid Hard Disk:磁気ディスクとフラッシュメモリを含む記憶装置)又はフラッシュメモリを有するCFカードやSDカード(登録商標)等であってもよい。CPU32、メモリ34、SSD36、及びミラー用SSD37はアドレスバス、制御バス、及びシステムバスなどを含んで構成されたバス38を介して互いに接続されている。メモリ34は、CPU32による各種処理プログラムの実行時のワークエリア等として用いられる。SSD36には、基本ソフトウェア40が記憶されている。本実施形態では、基本ソフトウェア40としてWindows(登録商標)シリーズのOS(Operating System)を適用しているが、これに限らず、UNIX(登録商標)系OSやMac(登録商標)OSであっても良い。
SSD36には、アプリケーションプログラムである最適化支援処理プログラム42が記憶されている。CPU32は、SSD36から最適化支援処理プログラム42を読み出してメモリ34に展開し、最適化支援処理プログラム42が有するプロセスを順次実行する。最適化支援処理プログラム42は、第1の検出プロセス44、第2の検出プロセス46、出力プロセス48、判定プロセス50及び最適化プロセス52を有する。CPU32は、第1の検出プロセス44を実行することで、図1に示す第1の検出部14として動作する。CPU32は、第2の検出プロセス46を実行することで、図1に示す第2の検出部16として動作する。CPU32は、出力プロセス48を実行することで、図1に示す出力部18として動作する。CPU32は、判定プロセス50を実行することで、図1に示す判定部20として動作する。CPU32は、最適化プロセス52を実行することで、図1に示す最適化部22として動作する。
なお、ここでは最適化支援処理プログラム42をSSD36から読み出す場合を例示したが、必ずしも最初からSSD36に記憶させておく必要はない。例えば、コンピュータ30に接続されて使用されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの任意の「可搬型の記憶媒体」に先ずは最適化支援処理プログラム42を記憶させておいてもよい。そして、コンピュータ30がこれらの可搬型の記憶媒体から最適化支援処理プログラム42を取得して実行するようにしてもよい。また、通信網(例えばLAN)を介してコンピュータ30に接続される他のコンピュータ又はサーバ装置などに最適化支援処理プログラム42を記憶させておき、コンピュータ30がこれらから最適化支援処理プログラム42を取得して実行するようにしてもよい。
ATM10は、コンピュータ30と各種の入出力デバイスとを電気的に接続してコンピュータ30と各種の入出力デバイスとの間の各種情報の送受信を司るインプット・アウトプット・インターフェース(I/O)50を備えている。また、ATM10は、I/O50に接続されることにより、バス38を介してコンピュータ30と電気的に接続される入出力デバイスを備えている。ここでは、入出力デバイスとして、受付装置52、現金預け払い部54及び通信インタフェース(I/F)56を適用している。
受付装置52は、読取部52A、ハードキー52B及びタッチパネル・ディスプレイ52Cを有する。読取部52Aは、顧客から提供された記録媒体に含まれる情報を読み取る。読取部52Aとしては、通帳の記帳内容を読み取る通帳読取装置やキャッシュカードに付与された情報を読み取るカードリーダが例示できる。ハードキー52Bは、ATM10に対して取引内容(例えば残高照会、記帳、現金の引出、現金の預入、現金の振込など)に関する指示を与える際に操作される。タッチパネル・ディスプレイ52Cは、外部から触れられることによって各種情報を受け付けるために用いられるタッチパネルに各種情報を表示するために用いられるディスプレイが重ねられて形成されたものである。タッチパネル・ディスプレイ52Cは、例えば、各種処理を行う上で必要な情報を表示すると共に各種指示(例えば上記の取引内容に係る指示)をソフトキーを介して受け付ける。
現金預け払い部54は、現金を受け入れると共に現金を払い出す受入・支払口(図示省略)を備えており、受付装置52を介して顧客から指示された取引内容に応じて受入・支払口を介して現金の受け入れ及び現金の払い出しを行う。また、現金の受け入れ及び現金の払い出しに付随する処理(例えば現金の計数や受け入れた現金の額を示す信号の出力など)も行う。通信I/F56は、通信回線58を介してサーバ装置(図示省略)に接続され、サーバ装置との間の各種情報の授受を司る。
図3には、SSD36の電気系の要部構成の一例が示されている。SSD36は、制御部24の一例であるコントローラ60、半導体記憶素子26の一例であるNANDメモリ62、及びキャッシュメモリ64を含んで構成されている。コントローラ60は、バス38に接続されており、コンピュータ30からの指示に従ってSSD36の全体の動作を制御する。NANDメモリ62は、複数個のメモリチップを含んで構成されている。NANDメモリ62は、一例として図4に示すように記憶領域62Aを有する。記憶領域62Aでは記憶内容がブロック単位で管理されている。ここで言う「ブロック」とは、予め定められた情報量(例えば1〜8MB程度)の情報を保持することが可能な領域のことを指す。ブロックは、一例として複数のページ(情報の書換の最小単位)で区分けされている。また、ページ単位で情報の書換が行われるため、1つのブロックにおいて図4に示すように書換に使用されたページ(書換済みページ)と未使用のページとが併存する場合がある。また、記憶領域62Aに記憶されている情報の消去は、コントローラ60によってブロック単位で行われる。
キャッシュメモリ64は、コントローラ60に接続されており、本実施形態ではDRAM(Dynamic Random Access Memory)を採用している。キャッシュメモリ64は、各種処理プログラムの実行時や記憶領域62Aに対する記憶内容の書換を行う際に用いられる。例えば、コントローラ60により記憶領域62Aに対する記憶内容の書換が行われる場合、キャッシュメモリ64は、記憶領域62Aに対する書き込みの対象ブロック全体の記憶内容を一時的に保持するワークエリアとして用いられる。また、記憶領域62Aに新たに書き込む情報を一時的に保持するワークエリアとしても用いられる。
なお、SSD36及びミラー用SSD37におけるコントローラ60による記憶領域62Aに対する記憶内容の書換とは、例えば情報の移し替え、消去、併合(マージ)及び移植という一連の処理を指す。この一連の処理によって、SSD36及びミラー用SSD37内部の記憶領域62Aへの電子の注入・放出によるビット値の変更が発生する。このときの1回のビット値の変更が1回の書換に相当し、この書換量が、本発明に係る第2の書換量の一例として挙げられる。また、ここで言う「情報の移し替え」とは、記憶領域62Aからキャッシュメモリ64又は未使用ブロックへの情報の移し替えを指す。また、ここで言う「消去」とは、記憶領域62Aのブロック単位での消去を指す。また、ここで言う「併合」とは、キャッシュメモリ64又は未使用ブロックでの情報の併合を指す。また、ここで言う「移植」とは、キャッシュメモリ64又は未使用ブロックから記憶領域62Aへの情報の移植を指す。
なお、SSD36及びミラー用SSD37に対する基本ソフトウェア(OS)40による書換とは、例えば情報の移し替え、消去、併合(マージ)及び移植という一連の処理を指す。この一連の処理によって基本ソフトウェア40又はバスで観測可能な書換量が、本発明に係る第1の書換量の一例として挙げられる。
なお、本実施形態に係るATM10は、強制最適化モード及び指示待ち最適化モードを有している。強制最適化モードでは、最適化部22が予め定められた条件を満足した場合に最適化を実施する。指示待ち最適化モードでは、最適化部22が予め定められた条件を満足しているか否かに拘らず受付装置52を介して与えられる指示に従って最適化を実施する。強制最適化モード及び指示待ち最適化モードは、受付装置52を介して与えられる指示に従って選択的に設定される。また、本実施形態に係るATM10は、最適化の累積実施回数に応じて閾値を引き上げる閾値第1引き上げモード及び最適化が実施される毎に閾値を引き上げる閾値第2引き上げモードを有している。閾値第1引き上げモード及び閾値第2引き上げモードは、受付装置52を介して与えられる指示に従って選択的に設定される。
次に本実施形態の作用として、CPU32が最適化支援処理プログラム42を実行することによりATM10で行われる最適化支援処理について、図5を参照して説明する。なお、ここでは、錯綜を回避するために、強制最適化モード又は指示待ち最適化モードが設定されている場合について説明する。また、ここでは、錯綜を回避するために、閾値第1引き上げモード又は閾値第2引き上げモードが設定されている場合について説明する。また、ここでは、錯綜を回避するために、記憶領域62Aに記憶された記憶内容の書換指示がCPU32に対して与えられ、与えられた書換指示に応じてCPU32がSSD36に対して書換を実施する場合について説明する。
図5に示す最適化支援処理では、先ず、ステップ100において、第1の検出部14により、記憶領域62Aに対する記憶内容の書換が必要か否かが判定される。本ステップ100において、書換が必要である場合は判定が肯定されてステップ102へ移行する。本ステップ100において、書換が必要でない場合は判定が否定されてステップ112へ移行する。ステップ102では、第1の検出部14により、SSD36に対する書換が行われる。SSD36に対する書換とは、例えばSSD36に対する情報の書き込み及び読み出しを指す。
コントローラ60は、上記のステップ102でSSD36に対する書換が行われると、この書換に応じて記憶領域62Aの記憶内容を書き換える。そして、SSD36のS.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology)機能を働かせることによって、記憶領域62Aに対する書換量を取得してコンピュータ30へ提供する。つまり、S.M.A.R.T機能を働かせることによって取得される所謂“Erase Count”値又は同等の機能を持つ値を利用して記憶領域62Aに対する書換量を取得し、取得した書換量を示す書換量情報をコンピュータ30へ送信する。なお、S.M.A.R.T機能を働かせることによって把握できる値の一例としては、書換回数の最大値、最小値及び平均値などが挙げられる。この書換回数を書換量(Byte)に変換して得た書換量が本発明に係る第2の書換量に相当する。
次のステップ104では、第1の検出部14により、SSD36に対する書換量が検出され、検出された書換量がSSD36に累積され、SSD36により第1累積書換量(第1の書換量の一例)として保持される。なお、第1の検出部14は、基本ソフトウェア40により提供されるPDH(Performance Data Helper)・API(Application Programming Interface)を利用して、SSD36に対する書換量を検出する。
次のステップ106では、第2の検出部16により、コントローラ60から送信される書換量情報が受信されたか否かが判定される。本ステップ106において、書換量情報が受信された場合は判定が肯定されてステップ108へ移行する。本ステップ106において、書換量情報が受信されない場合は判定が否定されてステップ110へ移行する。
ステップ110では、第2の検出部16により、書換量情報の受信待ちを終了する条件(受信待ち終了条件)を満足したか否かが判定される。本ステップ110において、受信待ち終了条件を満足した場合は判定が肯定されてステップ112へ移行する。本ステップ110において、受信待ち終了条件を満足しない場合は判定が否定されてステップ106へ戻る。なお、受信待ち終了条件としては、上記のステップ104が実行されてから予め定められた時間(例えば5秒)経過したとの条件や、コントローラ60から送信された何らかのエラーを通知する信号が第2の検出部16により受信されたとの条件が例示できる。
ステップ108では、第2の検出部16により、上記ステップ106で受信された書換量情報により示される書換量がSSD36に累積され、SSD36により第2累積書換量(第2の書換量の一例)として保持される。
ステップ112では、判定部20により、記憶領域62Aに対する最適化が実施された累積回数(累積実施回数)を判定する時期(実施回数判定時期)が到来したか否かが判定される。実施回数判定時期としては、SSD36の使用が開示されてから又は前回に最適化を実施した時期から予め定められた時間(例えば1ヶ月)経過した時期や、ユーザが受付装置52を介して指示した時期が例示できる。
次のステップ114では、判定部20により、後述するステップ120Gが実行されることでSSD36に記憶される累積実施回数が予め定められた回数を下回っているか否かが判定される。本ステップ114において、累積実施回数が予め定められた回数を下回っている場合は判定が肯定されてステップ116へ移行する。本ステップ114において、累積実施回数が予め定められた回数を下回っていない場合は判定が否定されてステップ118へ移行する。
ステップ118では、最適化部22により、最適化を実施しない旨を報知し、その後、本最適化支援処理を終了する。なお、最適化を実施しない旨を報知する態様としては、最適化を実施しない旨を示す文字情報をタッチパネル・ディスプレイ52Cに表示することで報知する態様や、最適化を実施しない旨を音声として出力する態様が例示できる。
ステップ116では、第2の検出部16により、増加率出力処理の実行が開始される。図6には、増加率出力処理の流れの一例がフローチャートとして示されている。図6に示す増加率出力処理では、先ず、ステップ116Aにおいて、SSD36により保持されている第1累積書換量及び第2累積書換量が出力部18により取得される。なお、ここで出力部18により取得された第1累積書換量としては、実施回数判定時期が到来するまでに行われた書換量(例えば上記ステップ104で検出された書換量)と前回に最適化を実施した際までに得られた書換量との差分が例示できる。同様に、出力部18により取得された第2累積書換量としては、実施回数判定時期が到来するまでに行われた書換量(例えば上記ステップ106で受信された書換量情報により示される書換量)と前回に最適化を実施した際までに得られた書換量との差分が例示できる。
続いて、ステップ116Bでは、出力部18により、書換量増加率(度合いの一例)が導出される。書換量増加率とは、例えば第1累積書換量と第2累積書換量とで定まる比であり、ここでは、上記のステップ116Aで取得された第2累積書換量を上記のステップ116Aで取得された第1累積書換量で除した値を採用している。但し、開示の技術はこれに限定されるものではなく、例えば第1累積書換量に対する第1累積書換量と第2累積書換量との差の比としてもよい。
ステップ116Cでは、出力部18により、上記のステップ116Bで導出された書換量増加率がタッチパネル・ディスプレイ52Cに表示され、その後、本増加率出力処理を終了して図5に示すステップ120へ移行する。このようにタッチパネル・ディスプレイ52Cに書換量増加率が表示されると、ユーザ(例えばATM10の保守作業を行う者)は、書換量増加率を参照することで、断片化がどの程度進行しているのかを把握することが可能となる。すなわち、書換量増加率が大きい程、断片化が進行している(記憶領域62Aに対する書換回数制限を圧迫している)と判断することができる。
図5に示すステップ120では、判定部20により、最適化処理の実行が開始され、最適化処理が実行された後、本最適化支援処理を終了する。図7には、最適化処理の流れの一例がフローチャートとして示されている。図7に示す最適化処理では、先ず、ステップ120Aにおいて、判定部20により、強制最適化モードが設定されているか否か判定される。本ステップ120Aにおいて、強制最適化モードが設定されている場合は判定が肯定されてステップ120Bへ移行する。本ステップ120Aにおいて、強制最適化モードが設定されていない場合(指示待ち最適化モードが設定されている場合)は判定が否定されてステップ120Cへ移行する。
ステップ120Cでは、判定部20により、最適化を実施する指示(最適化指示)が受付装置52を介して受け付けられたか否かが判定される。本ステップ120Cにおいて、最適化指示が受け付けられた場合は判定が肯定されてステップ120Dへ移行する。本ステップ120Cにおいて、最適化指示が受け付けられていない場合は判定が否定されてステップ120Eへ移行する。ステップ120Eでは、判定部20により、最適化指示の受付待ちを終了する条件(受付待ち終了条件)を満足したか否かを判定する。本ステップ120Eにおいて、受付待ち終了条件を満足した場合は判定が肯定されてステップ120Fへ移行する。本ステップ120Eにおいて、受付待ち終了条件を満足しない場合は判定が否定されてステップ120Cへ戻る。
ステップ120Bでは、判定部20により、上記のステップ116Bで導出された書換量増加率が閾値を上回っているか否かが判定される。本ステップ120Bにおいて、書換量増加率が閾値を上回っている場合は判定が肯定されてステップ120Dへ移行する。本ステップ120Bにおいて、書換量増加率が閾値を上回っていない場合は判定が否定されてステップ120Fへ移行する。
ステップ120Dでは、最適化部22により、記憶領域62Aが最適化される。ここでは、最適化部22が、例えばミラー用SSD37にミラーリングされている記憶領域62Aの記憶内容を用いて、ミラーリング先の情報を最適化し、最適化した情報を記憶領域62A(ミラー元である記憶領域62A)に上書きすることで記憶領域62Aを最適化する。また、ステップ120Dでは、出力部18により、書換量増加率が閾値を上回ったことを示す警報が出力される。この警報は、例えば、文字情報としてタッチパネル・ディスプレイ52Cに表示されることで出力される。これにより、ユーザは、情報の断片化があるレベルにまで進行していたことを把握することができ、更に、強制最適化モードが設定されている事実を知っている者であれば、強制最適化モードが作用して記憶領域62Aが最適化されたことを把握することができる。
続いて、ステップ120Fでは、出力部18により、タッチパネル・ディスプレイ52Cの書換量増加率が非表示され(書換量増加率が画面上から消去され)、警報が表示されている場合は警報も非表示される(警報が画面上から消去される)。次のステップ120Gでは、最適化部22により、累積実施回数に1が加算され、SSD36に記憶される。
次のステップ120Hでは、最適化部22により、閾値第1引き上げモードが設定されているか否かが判定される。本ステップ120Hにおいて、閾値第1引き上げモードが設定されている場合は判定が肯定されてステップ120Iへ移行する。本ステップ120Hにおいて、閾値第1引き上げモードが設定されていない場合(閾値第2引き上げモードが設定されている場合)は判定が否定されてステップ120Jへ移行する。
ステップ120Iでは、最適化部22により、SSD36に記憶されている累積実施回数が事前に指定された閾値引き上げ回数以上であるか否かが判定される。本ステップ120Iにおいて、累積実施回数が閾値引き上げ回数以上である場合は判定が肯定されてステップ120Jへ移行する。本ステップ120Iにおいて、累積実施回数が閾値引き上げ回数以上でない場合は判定が否定されて本最適化処理を終了する。なお、閾値引き上げ回数としては、これ以上最適化を実施するとSSD36の寿命に達する虞又は寿命に達する時期が早まる虞がある回数を採用することが好ましい。閾値引き上げ回数は、受付装置52を介して事前に指示してもよいし、デフォルトで不変値として設定されていてもよい。
ステップ120Jでは、最適化部22により、上記のステップ120Bで用いられる閾値が引き上げられた後、本最適化処理を終了する。なお、上記のステップ120Jにおいて閾値をどの程度引き上げるかは、受付装置52を介して事前に指示してもよいし、デフォルトで不変値として設定されていてもよい。また、閾値第1引き上げモードと閾値第2引き上げモードとで閾値の引き上げる幅を異ならせてもよい。引き上げ幅をどの程度異ならせるかは、受付装置52を介して事前に指示してもよいし、デフォルトで不変値として設定されていてもよい。このように閾値を引き上げることにより最適化が過度に実施され難くなり、最適化に起因するSSD36の寿命の低下を抑制することができる。
以上詳細に説明したように、本実施形態に係るATM10では、特定期間に第2の検出部16で検出された第2累積書換量が特定期間に第1の検出部14によって検出された第1累積書換量を上回る度合いを示す度合い情報が出力される。従って、本構成を有しない場合に比べ、記憶領域62Aにおける記憶内容の断片化の進行の度合いを高精度に把握することができる。
また、本実施形態に係るATM10では、最適化部22により、度合い情報により示される度合いが閾値を超えた場合、記憶領域62Aの記憶内容が最適化される。従って、本構成を有しない場合に比べ、記憶領域62Aにおける記憶内容の断片化の進行を適切な時期に抑制することができる。
また、本実施形態では、度合い情報により示される度合いが閾値を超えたか否かが判定部20により定期的に判定され、判定部20によって度合いが閾値を超えたと判定された場合、記憶領域62Aの記憶内容が最適化部22により最適化される。従って、本構成を有しない場合に比べ、最適化が実施されないことによる書換量の増加を抑制することができる。
また、本実施形態では、最適化部22により、記憶領域62Aの記憶内容に対する最適化の累積実施回数が予め定められた回数に達していない状態で、度合い情報により示される度合いが閾値を超えた場合、記憶領域62Aの記憶内容が最適化される。従って、本構成を有しない場合に比べ、記憶領域62Aにおける記憶内容の断片化の進行を適切な時期に抑制することができる。
また、本実施形態では、最適化部22により、記憶領域62Aの記憶内容がミラーリングされたミラー用SSD37を用いてにミラーリングされ、ミラーリング先の情報を最適化し、最適化された情報が記憶領域62Aに上書きされることで記憶領域62Aの記憶内容が最適化される。従って、本構成を有しない場合に比べ、簡易な構成で記憶領域62Aにおける記憶内容の断片化の進行を抑制することができる。
また、本実施形態では、記憶領域62Aの記憶内容に対する最適化の累積実施回数の増加に従って閾値を引き上げている。従って、本構成を有しない場合に比べ、最適化の過度な実施を抑制することができる。
また、本実施形態では、記憶領域62Aに対する最適化の累積実施回数が事前に指定された回数に到達した場合に閾値を引き上げている。従って、本構成を有しない場合に比べ、最適化の過度な実施を抑制することができる。
また、本実施形態では、第2の検出部16により、コントローラ60による記憶領域62Aに対する書換量がS.M.A.R.T機能を利用して検出される。従って、本構成を有しない場合に比べ、簡素な構成でコントローラ60による記憶領域62Aに対する書換量を検出することができる。
また、本実施形態では、第1の検出部14により、APIを利用してSSD36に対する書換量が検出される。従って、本構成を有しない場合に比べ、簡素な構成でSSD36に対する書換量を検出することができる。
なお、上記実施形態では、書換量増加率の一例として第2累積書換量を第1累積書換量で除した値を挙げたが、これに限らず、例えば、第2累積書換量から第1累積書換量を減じた値であってもよい。このように、書換量増加率は、第2累積書換量が第1累積書換量を上回る度合いを示す値であればよい。
また、上記実施形態では、SSD36の使用が開始された後の予め定められた期間(ユーザが受付装置52を介して事前に指定したり、予め定められた期間を規定するための何らかの条件を設定すればよい)における第1累積書換量及び第2累積書換量を用いて導出したが、開示の技術はこれに限定されない。例えばSSD36の使用が開始されてから現時点までの第1累積書換量及び第2累積書換量を用いて書換量増加率を導出してもよい。
また、上記実施形態では、書換量増加率が閾値を超えた場合に記憶内容を最適化すると共に書換量増加率が閾値を超えた旨を示す警報を出力する態様を示したが、必ずしも警報の出力を要するわけではない。すなわち、書換量増加率が閾値を超えた場合に最適化を強制的に実施するのではなく、書換量増加率が閾値を超えた場合に書換量増加率が閾値を超えた旨をタッチパネル・ディスプレイ52Cに表示することで、ユーザに最適化指示の入力を促すようにしてもよい。この場合、コンピュータ30は、指示待ち最適化モードが設定されているときと同様に、ユーザからの受付装置52を介した最適化指示の入力を待つことになる。
また、上記実施形態では、APIを利用してSSD36に対する書換量を検出する態様を示したが、開示の技術はこれに限定されるものではない。例えば、基本ソフトウェア40に依存することなく、バス・アナライザ等のハードウェアを用いて書き込みコマンドを抽出してもよいし、Mac(登録商標)・OSのアクティビティ・モニタを用いてもよい。
また、上記実施形態では、ミラー用記憶装置13を用いて最適化を実施する形態例を挙げて説明したが、これはあくまでも開示の技術を実施するための好ましい形態の一例である。つまり、ミラー用記憶装置13を用いなくても最適化を実施することはできるし、断片化を検出することができることも言うまでもない。
10 ATM
12 記憶装置
13 ミラー用記憶装置
14 第1の検出部
16 第2の検出部
18 出力部
20 判定部
22 最適化部
24 制御部
26 半導体記憶素子

Claims (16)

  1. 不揮発性の半導体記憶素子及び制御手段を備えた記憶装置の前記半導体記憶素子に記憶された記憶内容を第1の記憶内容に書き換える際の前記記憶装置に対する第1の書換量を検出する第1の検出手段と、
    前記半導体記憶素子に記憶された記憶内容を前記制御手段により前記第1の記憶内容に書き換える際の第2の書換量を検出する第2の検出手段と、
    前記第2の検出手段で検出された前記第2の書換量が前記第1の検出手段で検出された前記第1の書換量を上回る度合いを示す度合い情報を出力する出力手段と、
    を含む情報処理装置。
  2. 不揮発性の半導体記憶素子及び制御手段を備えた記憶装置の前記半導体記憶素子に記憶された記憶内容を特定期間に書き換える際の前記記憶装置に対する第1の書換量を検出する第1の検出手段と、
    前記半導体記憶素子に記憶された記憶内容を前記制御手段により前記特定期間に書き換える際の第2の書換量を検出する第2の検出手段と、
    前記第2の検出手段で検出された前記第2の書換量が前記第1の検出手段で検出された前記第1の書換量を上回る度合いを示す度合い情報を出力する出力手段と、
    を含む情報処理装置。
  3. 前記度合いを、前記第1の書換量と前記第2の書換量とで定まる書換量増加率とした請求項1又は請求項2に記載の情報処理装置。
  4. 前記書換量増加率を、前記第1の書換量に対する前記第2の書換量の比とした請求項3に記載の情報処理装置。
  5. 前記書換量増加率を、前記第1の書換量に対する前記第1の書換量と前記第2の書換量との差の比とした請求項3に記載の情報処理装置。
  6. 前記出力手段により出力された前記度合い情報により示される度合いが閾値を超えた場合、前記半導体記憶素子に対して最適化処理を実施する最適化手段を更に含む請求項1〜請求項5の何れか1項に記載の情報処理装置。
  7. 前記出力手段により出力された前記度合い情報により示される度合いが前記閾値を超えたか否かを定期的に判定する判定手段を更に含み、
    前記最適化手段は、前記判定手段によって前記度合いが前記閾値を超えたと判定された場合、前記半導体記憶素子に対して最適化処理を実施する請求項6に記載の情報処理装置。
  8. 前記最適化手段は、前記記憶内容に対する最適化の累積実施回数が予め定められた回数に達していない状態で、前記出力手段により出力された前記度合い情報により示される度合いが前記閾値を超えた場合、前記半導体記憶素子に対して最適化処理を実施する請求項6又は請求項7に記載の情報処理装置。
  9. 前記最適化手段は、前記半導体記憶素子に記憶された記憶内容を他の記憶領域にミラーリングし、ミラーリング先の情報を最適化し、最適化した情報を前記半導体記憶素子に上書きすることにより最適化処理を実施する請求項6〜請求項8の何れか1項に記載の情報処理装置。
  10. 前記最適化処理の累積実施回数の増加に従って前記閾値を引き上げる請求項6〜請求項9の何れか1項に記載の情報処理装置。
  11. 前記最適化処理の累積実施回数が事前に指定された回数に到達した場合に前記閾値を引き上げる請求項6〜請求項10の何れか1項に記載の情報処理装置。
  12. 予め定められた期間内に前記累積実施回数が前記事前に指定された回数に到達した場合に前記閾値を引き上げる請求項11に記載の情報処理装置。
  13. 前記出力手段は、更に、前記出力手段により出力された前記度合い情報により示される度合いが予め定められた閾値を超えた場合、警報を出力する請求項1〜請求項12の何れか1項に記載の情報処理装置。
  14. 前記記憶装置はソリッド・ステート・ドライブであり、
    前記第2の検出手段は、前記ソリッド・ステート・ドライブのS.M.A.R.T機能を利用して前記第2の書換量を検出する請求項1〜請求項13の何れか1項に記載の情報処理装置。
  15. 前記第1の検出手段は、APIを利用して前記第1の書換量を検出する請求項1〜請求項14の何れか1項に記載の情報処理装置。
  16. コンピュータを、
    請求項1〜請求項15の何れか1項に記載の情報処理装置における前記第1の検出手段、前記第2の検出手段及び前記出力手段として機能させるためのプログラム。
JP2012162992A 2012-07-23 2012-07-23 情報処理装置及びプログラム Pending JP2014021925A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012162992A JP2014021925A (ja) 2012-07-23 2012-07-23 情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012162992A JP2014021925A (ja) 2012-07-23 2012-07-23 情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2014021925A true JP2014021925A (ja) 2014-02-03

Family

ID=50196685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012162992A Pending JP2014021925A (ja) 2012-07-23 2012-07-23 情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2014021925A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018198017A (ja) * 2017-05-24 2018-12-13 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
JP2020064696A (ja) * 2018-10-17 2020-04-23 アツミ電氣株式会社 電子的記録媒体の異常発生リスク検知方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018198017A (ja) * 2017-05-24 2018-12-13 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
US11126373B2 (en) 2017-05-24 2021-09-21 Renesas Electronics Corporation Semiconductor device and data processing system
JP2020064696A (ja) * 2018-10-17 2020-04-23 アツミ電氣株式会社 電子的記録媒体の異常発生リスク検知方法
JP7138890B2 (ja) 2018-10-17 2022-09-20 アツミ電氣株式会社 電子的記録媒体の異常発生リスク検知方法

Similar Documents

Publication Publication Date Title
KR102625637B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US9430368B1 (en) System and method for caching data
CN102147709A (zh) 基于服务质量的存储分层与迁移技术的系统和方法
TW201118877A (en) Flash memory device, data storage system, and operation method of a data storage system
EP2378410A2 (en) Method and apparatus to manage tier information
KR20180131466A (ko) 데이터 저장 디바이스와 버퍼 테뉴어 관리
CN114328281B (zh) 固态硬盘异常掉电处理方法、装置、电子设备及介质
US8375186B2 (en) Spatial extent migration for tiered storage architecture
KR20130079007A (ko) 저장 장치의 데이터 관리 방법
CN107092835B (zh) 一种虚拟存储盘的计算机数据加密装置及方法
CN111026326A (zh) 存储器控制器、存储装置及管理元数据的方法
EP2927779A1 (en) Disk writing method for disk arrays and disk writing device for disk arrays
US20170075574A1 (en) Non-volatile memory device, and storage apparatus having non-volatile memory device
CN110968524B (zh) 数据存储控制方法、装置、存储介质及电子装置
KR20130024271A (ko) 하드 디스크 드라이브와 불휘발성 메모리를 포함하는 스토리지 시스템
CN105304140A (zh) 电子设备的存储器性能的测试方法及装置
CN105446848B (zh) 电子设备的数据处理性能的测试方法及装置
JP2014021925A (ja) 情報処理装置及びプログラム
CN114371814A (zh) 数据处理的方法、装置及固态硬盘
CN109656479A (zh) 一种构建存储器命令序列的方法及装置
CN113741991A (zh) 提升ssd服务质量方法、装置、计算机设备和存储介质
KR102634776B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN103176753A (zh) 存储设备及其数据管理方法
US10877667B2 (en) Supervised learning with closed loop feedback to improve ioconsistency of solid state drives
CN111142790B (zh) 对磁盘写请求的控制方法、装置、电子设备及存储介质