JP6525507B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

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

Info

Publication number
JP6525507B2
JP6525507B2 JP2014100844A JP2014100844A JP6525507B2 JP 6525507 B2 JP6525507 B2 JP 6525507B2 JP 2014100844 A JP2014100844 A JP 2014100844A JP 2014100844 A JP2014100844 A JP 2014100844A JP 6525507 B2 JP6525507 B2 JP 6525507B2
Authority
JP
Japan
Prior art keywords
job
data
file
page
unit
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.)
Active
Application number
JP2014100844A
Other languages
English (en)
Other versions
JP2015219602A (ja
Inventor
一也 岸
一也 岸
健一 沖原
健一 沖原
田頭 信博
信博 田頭
啓介 松井
啓介 松井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014100844A priority Critical patent/JP6525507B2/ja
Priority to US14/710,161 priority patent/US20150331790A1/en
Publication of JP2015219602A publication Critical patent/JP2015219602A/ja
Application granted granted Critical
Publication of JP6525507B2 publication Critical patent/JP6525507B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1274Deleting of print job
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、フラッシュメモリなどの不揮発性メモリを利用した情報処理装置、情報処理方法およびプログラムに関する。
近年、情報処理装置のHDD(ハードディスクドライブ)の代替えのストレージとして、フラッシュメモリを記憶媒体として利用した半導体ディスク(Solid State Drive、以下SSDと呼ぶ)の利用が進んでいる。SSDはHDDと比べて高速なランダムアクセスが可能であるばかりでなく、低消費電力、高耐衝撃性、軽量、および省スペースという利点がある。
ただし、SSDに搭載されるフラッシュメモリには書き込み可能回数に上限があるとされる。そこで、SSDに搭載されたフラッシュメモリコントローラは、フラッシュメモリの特定領域に書き込みが集中して不良記憶素子が早期に発生し難いように、書き込み先の領域を平均に分散させている。詳細には、フラッシュメモリコントローラがフラッシュメモリの書込み回数を平準化するために、フラッシュメモリの論理アドレスと物理アドレスの対応付けを変えてしまう。例えば、新しく書込みを行う際に、一番書込み回数の少ない空き領域の物理アドレスを書込み要求に指定される論理アドレスに対応させる。これによって、フラッシュメモリ、つまり、SSDの寿命の長期化を実現している。この技術はウェアレベリングと呼ばれる。
ここで、セキュリティの観点から、プリントアウトなどの処理に用いたデータを、処理後に利用できない様にすることが望まれることがある。例えば、特許文献1は、無効化対象のデータを暗号化してSSDに書き込み、暗号化鍵を消去することでデータを再利用され難いようにする手法を提案している。
また、別の手法として、HDDにおいてプリントアウトなどの処理に用いたデータを保持している領域をダミーデータ(固定値やランダム値など)で上書きする技術が知られている。しかし、従来のSSDであると、ウェアレベリングにより書き込み先領域を分散させ、物理アドレスと論理アドレスの対応付けも変えてしまっているため無効化対象のデータを上書きすることが困難である。
特開2012−018501号公報
特許文献1の技術では、暗号化プロトコルの性能に依存しており、SSD上のデータそのものの消去は実現できていない。ここでSSDなどの不揮発性メモリは、外部から不要になった領域の通知をコマンド(通知コマンドや消去コマンドと呼称される)として受信し、受信した情報に基づいて消去処理を行う。しかし、通知コマンドに基づいて消去処理を実施するタイミングはSSDの仕様によって異なる。このため、アプリケーションで実施した処理に関連するデータについて、SSDにおいて通知コマンドに基づいて消去処理が完了したかどうかがユーザにとって分かり難かった。
上記課題を解決するために、本発明に係る情報処理装置は、ジョブを受信する受信手段
と、前記ジョブに関連するデータを保持する不揮発性メモリを備える記憶部と、前記不揮
発性メモリに保持されているデータを利用して前記ジョブで指定される処理を実行する処
理手段と、前記処理手段が処理したジョブに関連するデータを前記不揮発性メモリから消
去するための消去要求を前記記憶部に発行する出力手段と、前記記憶部に前記不揮発性メ
モリのデータ消去状態を問い合わせ、当該記憶部から前記データ消去状態を取得する取得
手段と、前記データ消去状態に基づいて、前記不揮発性メモリから前記ジョブ消去処理の進捗を通知する通知手段と前記データ消去状態に基づいて前記不揮発性メモリから前記ジョブに関するデータが消去されたことを判別する判別手段とを有し、前記判別手段は、前記受信手段で受け付けたジョブと当該ジョブに対応する複数のファイルとの対応を示す情報を保持する第1のテーブルと、前記複数のファイルの少なくとも一つと前記不揮発性メモリの複数のページとの対応を示す情報を保持する第2のテーブルとに基づいて、前記ジョブに関連するデータが消去されたことを判別することを特徴とする。
本発明によれば、SSD等の不揮発性メモリにおいて、アプリケーションの処理に関連するデータの完全消去が行われたこと(またはその進捗)を、ユーザが容易に確認することができる。
情報処理装置の全体構成及び機能構成を示す概略図である。 SSDの構成例を示す概略図である。 SSDのデータ構成を示す概略図である。 情報処理装置の基本構成を示す概略図である。 情報処理装置の基本構成を示す概略図である。 管理テーブルの例を示す図である。 アプリケーションにおける処理のフローチャートである。 ファイルシステムにおける処理のフローチャートである。 SSDにおける処理のフローチャートである。
以下、本発明の実施形態について図面を用いて説明する。
(第1の実施形態)
<情報処理装置の全体構成>
本実施形態における情報処理装置100の全体構成例を図1(A)に示す。
図1(A)において情報処理装置100は、CPU101、ROM102、RAM103、I/F104、SSD105、操作部106、表示部107、およびエンジン108を有し、それぞれの構成はバス109で接続されている。
CPU101はROM102の内容に沿って情報処理装置100内の各部の動作を制御したり、RAM103にロードしたプログラム(OSやアプリケーション)を実行したりする。ROM102は読み出し専用メモリであり、ブートプログラムやファームウェア、後述する処理を実現するための各種処理プログラム、各種データを格納している。RAM103はCPU101にて処理を行うために一時的にプログラムやデータを格納しておくワークメモリであり、CPU101により各種処理プログラム(後述のアプリケーションやオペレーションシステム)やデータがロードされる。
I/F104はネットワーク機器やUSBデバイスといった外部装置と通信するためのインタフェースであり、ネットワークを通じたデータ通信や、外部装置とデータの送受信を行う。SSD(Solid State Drive)105はOS(Operation System)や各種プログラム、または各種データを保持するものであり、NAND型フラッシュメモリを利用した不揮発性の記憶装置(不揮発性メモリ)である。
操作部106は利用者の操作指示、及び種々のパラメータ設定をはじめとする各種の指示を受け付けるためのユーザーインタフェースであり、キーボード、マウス、テンキー、タッチパネル等の少なくともいずれか1つを備える。表示部107は操作確認、処理ステータスなどを利用者へ通知するための表示装置であり、ディスプレイ、タッチパネル等の少なくともいずれか1つを備える。エンジン108は、オプショナルな処理部であり、利用者からの指示がなされると、印刷、読み込み等の各種処理を行う。例えば、画像データを紙に印刷するためのプリンタエンジンや、記録媒体から画像データを取り込むスキャナエンジンである。例えば、プリンタエンジンは、ビットマップデータに応じて複数のプリンタヘッドを制御する処理部であり、スキャナエンジンは、ラインセンサによって取得した画像データをRAMに転送する処理部である。
情報処理装置100は、一般に普及しているパーソナルコンピュータであってもよいし、MFP(Multi Function Printer)であってもよい。操作部106を用いて指示がなされた際に、エンジン108によりプリント、スキャン、コピー等の各種操作の少なくとも1つが実施可能な装置であればよい。
次に、本実施形態における情報処理装置100のプログラム構成を図1(B)に示す。本実施形態における情報処理装置100は、OS110と複数のアプリケーション111を動作させ、OS110より上位に複数のアプリケーション111を動作させている。
アプリケーション111としては情報処理を実施するものであればよい。例えば、文書編集アプリケーション、画像編集アプリケーションおよびWeb接続アプリケーション、プリント処理アプリケーション、スキャン処理アプリケーション、コピー処理アプリケーションなどがある。アプリケーション111はデータをSSD105に書き込む場合には、OS110を介して書込み処理を実施する。読出し処理も同様である。ここで、OS110側ではSSD105の論理アドレスを指定してSSD105に対する読み書きを実施する。
SSD105は、OS110からの書込み要求または読出し要求に含まれる論理アドレスを、アドレス変換テーブルによって物理アドレスに変換して、自身の不揮発メモリにアクセスする。
なお、本実施形態ではアプリケーション111やOS110は、SSD105に対してジョブに関連するデータについて消去指示を発行し、消去指示に関するデータ消去状態を示す状態情報(後述のファイル消去情報、ページ消去情報)を取得する。
<SSDの構成>
図2に、SSD105の構成を示す。SSD105は、SSDコントローラ200、外部I/F201、ROM202、キャッシュメモリ203および不揮発性メモリ204(以降、単に不揮発メモリ)から構成されている。さらにSSDコントローラ200は、プロセッサ205、内部I/F206およびレジスタ207を有する。
SSDコントローラ200は、SSD105の全体を制御する。情報処理装置100のCPU101やDMAC(不図示)からバス109および外部I/F201を介して受け取った書き込み命令とデータに基づいて不揮発メモリ204へデータを書き込む。読み込み命令に基づいて不揮発メモリ204からデータを読み出す。SSDコントローラ200は、これらの処理の過程で、書き込みデータまたは読み出しデータを一時的にキャッシュメモリ203へ保持することもある。ROM202は、読み出し専用メモリであり、SSD105で利用する各種プログラム・データを格納する。キャッシュメモリ203はSSDコントローラ200が処理する過程で一時的にデータを保持し、不揮発メモリ204でデータを保持する。本実施形態では不揮発メモリ204はNAND型フラッシュメモリとする。
<SSDの処理>
図3に、SSD105の記憶領域の構成を示す。SSD105は、ページという単位(第1の単位)とブロックという単位(第2の単位)でデータ(以降、ページ単位のデータをページデータと称す)を管理する。ページは書込みまたは読出し処理の最小単位であり、通常数Kバイトを有する。ブロックは消去処理の単位であり複数のページを有する。図3(A)は1ブロックが64ページで構成される例を示している。SSD105は、データを書き込み済みのページに直接的に上書きはできず、書き込む前に消去処理を行う必要がある。この消去処理はページ単位でなく、削除単位としてのブロック単位で行う必要があるため、書き込み可能な消去済みページが存在しない状態においてのデータ書き込み処理の際には、書き込み処理に先立ち、ブロック消去処理を行う。
ブロック消去には、TRIMコマンドとガーベッジコレクションを用いる。TRIMコマンドはOS110側からSSD105へ、不要になった領域(ページ)を通知するATA規格のコマンドである。ガーベッジコレクションは有効なページを再配置して無効なページのみを有する消去可能なブロックを作り、ブロック消去処理を実施して空きブロックを増やす仕組みである。これらにより、書き込み処理以前にブロック消去処理を実施し、書き込み処理時のブロック消去処理の削減を実現している。本実施形態ではTRIMコマンドによって無効なページを通知してから、ガーベッジコレクションを実施することでより効率的なブロック消去処理を実現する。
また、図3(B)に例示するように、SSD105では論理アドレスと物理アドレスの対応テーブル(アドレス変換テーブル)を内部I/F206に保持し、対応テーブルに基づいてデータの書き込み・読出し処理を行う。例えば、コントローラ200は頻繁に変更があるデータは書込み回数の少ない物理ページに移動させ、変更の少ないデータは書込み回数の多い物理ページに移動させることで、物理的なデータ書き込み領域を分散することができる。この時、データを移動させる先の物理ページのアドレスを元の論理アドレスと対応付けるように対応テーブルを更新する。また、新規の書き込み処理要求があった場合に、書き込み回数の少ない領域に優先的に書き込むこともできる。これらの仕組みはウェアレベリングと呼ばれる。さらにコントローラ200は、不図示の構成によりデータの読み出し処理・書き込み処理の過程で、誤り訂正符号化処理を行うことも可能である。
また、図3(A)および(B)で示したページとブロックの管理情報(ブロック管理情報)を参照することで、論理ページと物理ページの対応関係や、物理ページとブロックの対応関係を得ることができる。たとえば、ある論理ページに対応するブロックを識別する際には管理情報を参照し、論理ページ、物理ページ、ブロックの順にたどることで識別できる。逆に、あるブロックに対応する論理ページを識別する際には管理情報を参照し、ブロック、物理ページ、論理ページの順にたどることで識別できる。
<情報処理装置の基本構成>
図4(A)は、本実施形態で適用される情報処理装置100のファイル入出力に関する基本構成を示す。図4(A)に示すように、情報処理装置100はアプリケーション111、ファイルシステム401、SSD105で構成されている。アプリケーション111、ファイルシステム401、SSD105の詳細については後述する。
情報処理装置100のアプリケーション111は、利用者からの操作指示やデータを受け付け、受け付けた操作指示やデータはファイルシステム401やSSD105が処理する。情報処理装置100がMFPである場合のデータとは、例えばプリントジョブ、コピージョブなどの各種ジョブに含まれる画像ファイル、文書ファイル等の各種データとなる。一方で、操作指示とはプリントジョブやコピージョブに含まれる処理設定や、ファイル消去・コピーなどのファイル操作指示などがある。アプリケーション111は操作指示やデータが入力されると、ファイルシステム401に対してファイルの読み書き、消去等のファイル入出力処理をSSD105へ要求する。
また、ファイルシステムから要求したファイルの入出力処理の応答を受信すると、その結果を利用者に表示する。ファイルシステム401は、アプリケーション111から要求された入出力処理に応じて、ファイルを処理し、アプリケーション111に処理結果を送付する。同時に、SSDに対してデータの物理的な読み書きや消去等の入出力処理を要求する。SSD105は、ファイルシステム401からデータの入出力処理の要求を受け取ると、要求された処理を実施し、処理結果をファイルシステム401に送付する。以降では、情報処理装置を構成するアプリケーション111、ファイルシステム401、SSD105の詳細について、ジョブの投入からSSD内のデータの完全消去までを含めたジョブ完了に関する処理について説明する。
次に、アプリケーション111やファイルシステム401がアクセスするジョブ情報管理テーブル501について図6(A)を用いて説明する。ジョブ情報管理テーブル501は、「ジョブ名」、「ファイル名」、「完全消去」の3つの項目を対応付けて保持しているテーブルである。
「ジョブ名」は、利用者から投入されたジョブの名称を示す。ジョブの名称に限らず、ジョブを識別することが可能であれば、例えばジョブIDのような識別子を利用してもよい。「ファイル名」は、第1の変換部414がジョブをファイルに変換した際に付与したファイル名を示している。ジョブ名と同様に、ファイル名についてもファイルを識別することが可能であれば、例えばファイルIDのような識別子を利用してもよい。
「完全消去」は、ジョブに関連するファイルが完全消去されたかどうかを示す。完全消去された状態では、ファイルシステム上消去されたファイルの実データのどの一部分も不揮発メモリに残っていないものとする。本実施形態では、ファイルが完全消去された場合に丸印を用いて、完全消去されていない場合はバツ印で表現しているが、消去の可否を確認することが可能であれば別の形態でもよい。例えば、完全消去したファイルについてチェックを付けて表現してもよい。尚、本実施形態では、ファイルの書き込み、消去の処理についてジョブ情報管理テーブル501を用いることを主として説明するが、ファイルの読み出し処理でもジョブ情報管理テーブル501を利用することができる。なお、ファイルシステム上消去されたファイルとは、ファイルシステム401で無効化されたファイルである。
図4(B)は、本実施形態のアプリケーション111の機能構成を示す。図4(B)に示すように、アプリケーション111は、第1の受信部411、第1の記憶部412、第1の判定部413、第1の変換部414、処理部415、第1の出力部416、第1の判別部417を有する。第1の受信部411は利用者が投入するジョブを受信する。また第1の受信部411は、ファイルシステム401から、ファイルシステム上消去されたファイルに関する情報をファイル消去情報として受信する。ファイル消去情報については後述する。第1の受信部411は受信したジョブ、及びファイル消去情報を第1の判定部413に出力する。第1の記憶部412はアプリケーション111に割り当てられた論理的なメモリ領域であり、物理的にはRAM103やSSD105などの領域を含む。
また、第1の受信部411はファイルシステム401に対して不図示のファイルの読み出し要求を行うこともできる。第1の判定部413は第1の受信部411が受信した情報がジョブであるかファイル消去情報であるかを判定する。ここで、ジョブとは主にエンジン108で処理させるための処理対象のデータ(もしくは処理対象のデータを外部装置から読み出すためのリンク情報もしくは識別情報)と、エンジン108に処理させる内容を示す情報とを含む。第1の判定部413が、第1の受信部411はジョブを受信したと判定した場合、第1の判定部413は第1の変換部414と処理部415へジョブを出力する。一方で、第1の判定部413が、第1の受信部411はファイル消去情報を受信したと判定した場合は、第1の判別部417に処理を移す。処理部415は、第1の判定部413からジョブを受け取ると、そのジョブに基づいて処理を実施し、処理が完了するとその旨を第1の出力部416に出力する。
そして、処理部415はジョブの処理が完了すると、第1の記憶部412に格納されているジョブ情報管理テーブル501を参照し、完了したジョブに対応するファイル消去要求を第1の出力部416に出力する。ここで、情報処理装置100がMFPである場合は、ジョブの処理とは例えばプリント、スキャン、コピー等に関連する各種処理(レンダリング処理、色変換処理、エッジ処理など)である。第1の変換部414は第1の判定部413から受信したジョブをファイルに変換し、変換したファイルを第1の出力部416に出力する。更に第1の変換部414は、受信したジョブやファイルに基づいて第1の記憶部412に格納されているジョブ情報管理テーブル501を更新する。第1の変換部414は、第1の判定部413からジョブが投入されると新しいエントリを作成し、そのジョブ名とジョブに対応する変換後のファイル名をジョブ情報管理テーブル501のジョブ名欄、及びファイル名欄にそれぞれ書き込む。第1の判別部417は、第1の判定部413から受信したファイル消去情報に基づいて、ジョブが完全に消去されているかを判別し、判別した結果を第1の出力部416に出力する。
ここで、図6(A)に示すジョブ情報管理テーブルを利用して、ジョブが完全に消去されているかどうかを判別する方法について説明する。第1の判定部413から受信するファイル消去情報とは、どのファイルの完全消去が完了したかどうかを示す情報である。受信するファイル消去情報とは、完全消去が完了したファイル名の一覧であってもよいし、各ファイルについての完全消去完了の有無を対応付けたものでもよい。
本実施形態では、第1の判定部413が第1の判別部417に対して、完全消去が完了したファイル名の一覧を出力するものとして説明する。第1の判別部417は、完全消去が完了したファイル名の一覧を取得すると、ファイル消去情報に基づいて対応するファイルの消去の可否を記憶部412で管理されているジョブ情報管理テーブル501の「完全消去」の欄に書き込む。図6(A)に示す例では、ファイル消去情報として、消去が完了したfile1、file2、file3、file11というファイル名の一覧を第1の判別部417が受信してジョブ情報管理テーブル501を更新している。
次に、第1の判別部417は、ジョブ情報管理テーブル501を参照してジョブが完全に消去されているかを確認する。ジョブ情報管理テーブル501は、ジョブとこのジョブに関連するファイルとを対応付けて保持している。第1の判別部417は、ジョブに対応付けられているファイルの「完全消去」の欄を参照し、対応付けられているファイル全てが消去完了となっているジョブは完全消去されていると判断する。図6(A)に示す例では、job1に対応するfile1、file2は完全消去が完了となっているため、第1の判別部417はjob1が完全に消去されたと判断する。一方で、job2のようにfile3だけが消去完了となっており、file4、file5が消去されていない場合、第1の判別部417はjob2が完全に消去されていないと判断する。この際、job2はfile3、file4、file5のうちfile3だけが消去されているため、消去の割合は約33%と算出することも可能である。
このように第1の判別部417は、各ジョブが完全に消去されているどうかや、各ジョブの完全消去の割合がどの程度かを取得し、第1の出力部416に出力する。そして、消去完了となったジョブに関するエントリを、ジョブ情報管理テーブル501から消去する。
第1の出力部416は、第1の変換部414からファイル、第1の判別部417から判別結果、処理部415からジョブの完了通知、及びファイル消去要求を受信し、それぞれファイルシステム401、利用者に出力する。第1の出力部416は、ファイルを受信した場合、受信したファイルをファイルシステム401に出力する。同様に処理部415からファイル消去要求を受信した場合も、ファイルシステム401にファイル消去要求を出力する。
第1の判別部417から判別結果を受信した場合、及び処理部415からジョブの完了通知を受信した場合は、前述した情報処理装置100の表示部107を通して利用者にジョブの完全消去に関する情報、及びジョブの完了を表示する。ジョブの完全消去に関しては、ジョブが完全に消去された場合だけ利用者に表示するようにしてもよいし、ジョブの消去の完了割合を表示するようにしてもよい。
<ファイルシステムの機能構成>
まず、ファイルシステム401が管理するファイル情報管理テーブル502について図6(B)を用いて説明する。ファイル情報管理テーブル502は、ファイル名、ページ名、完全消去完了確認の3つの項目を対応付けて保持しているテーブルである。
ここでファイルとページの関係について説明する。ファイルシステム401は、ファイルと、ファイルに対応するページ単位のデータ(ページデータ)とを対応づけて管理する。ページはファイルシステム401のデータ管理の最小単位であり、ファイルは1つ以上のページに対応する。本実施形態では、SSD105はファイルシステム401の管理するページ単位でデータの書き込み処理、及び読み込処理を実施するものとする。そのため、ファイルシステム401ではファイルをページ単位に変換し、ファイルとページとを対応づけて管理している。
「ファイル名」はアプリケーション111から入力されたファイルの名称を示す。ファイルを識別することが可能であれば、例えばファイルIDのような識別子を利用してもよい。「ページ名」は、第2の変換部424がファイルをページに変換したページの名称を示している。ファイル名と同様に、ページを識別することが可能であれば、例えばページIDのような識別子を利用してもよい。「完全消去」の欄は、各ページが完全消去されたかどうかを示す。本実施形態では、ページが完全消去された場合に丸印を用いて、完全消去されていない場合はバツ印で表現しているが、消去の可否を確認することが可能であれば別の形態でもよい。例えば、完全消去したページについてチェックを付けて表現してもよい。
図5(A)に本実施形態のファイルシステム401の機能構成を示す。ファイルシステム401は、第2の受信部421、第2の記憶部422、第2の判定部423、第2の変換部424、第2の出力部425、第2の判別部426、ファイル消去部427を有する。第2の受信部421はアプリケーション111からファイルまたはファイル消去要求を受信する。また、第2の受信部421はSSD105から、消去されたページに関するページ消去情報を受信する。
第2の受信部421はファイル、ファイル消去要求、またはページ消去情報を受信して第2の判定部423に出力する。第2の判定部423は第2の受信部421が受信した情報がファイルであるかファイル消去要求であるか、またはページ消去情報であるかを判定する。第2の判定部423がファイルと判定した場合は、第2の出力部425にファイルを出力する。また、第2の判定部423がファイル消去要求と判定した場合は、ファイル消去要求をファイル消去部427に出力する。また、第2の判定部423がページ消去情報と判定した場合は、第2の判別部426に処理を移す。第2の変換部424は、第2の判定部423からファイルを受信すると、受信したファイルを1つ以上のページに変換し、変換したページを第2の出力部425に出力する。更に第2の変換部424は、受信したファイルやファイル消去情報に基づいて第2の記憶部422が保持しているファイル情報管理テーブル502を更新する。
第2の変換部424は、受信したファイルをページに変換すると、新しいエントリを作成し、ファイル名とファイルに対応する変換後のページ名をファイル情報管理テーブル502の「ファイル名」欄と「ページ名」欄にそれぞれ書き込む。第2の判別部426は第2の判定部423から受信したページ消去情報に基づいてファイルが完全に消去されているかを判別し、判別した結果を第2の出力部425に出力する。第2の判別部426の判別処理については後述する。
第2の判別部426は、ファイルが完全に消去されているどうかを判別した結果を示す判別結果を、第2の出力部425に出力する。そして、判別部426は消去完了と判別したファイルに関するエントリを管理テーブル502から消去する。なお、すぐに消去してしまうと消去を完了したことが分からなくなってしまうので、次の再起動時やシャットダウン時などに消去するようにしてもよい。ファイル消去部427は、第2の判定部423からファイル消去要求を受信すると、第2の記憶部422が保持している管理テーブル502を参照する。そして、ファイル消去部427はファイル消去要求で完全消去の対象として指定されているファイルに対応するページを特定し、特定したページを消去するためのページ消去要求を第2の出力部425に出力する。
第2の出力部425は、SSD105へ書き込む/読み出すページデータを第2の変換部424から受信する、又は第2の判別部426から判別結果を受信する、又はファイル消去部427からページ消去要求を受信する。そして、受信したページデータ又は判別結果又はページ消去要求を、アプリケーション111やSSD105に出力する。
詳細には、第2の出力部425は、第2の変換部424からSSD105へ書き込むページデータを受信した場合、受信したページデータをSSD105に出力する。一方で、SSD105から読み出したページデータを受信した場合はアプリケーション111に出力する。また、第2の出力部425はファイル消去部427からページ消去要求を受信すると、ページ消去要求をTRIMコマンドとしてSSD105に出力する。また、第2の出力部425は第2の判別部426から判別結果を受信した場合は、ファイル消去情報としてアプリケーション111へ出力する。そして更に、第2の出力部425はSSD105に対してS.M.A.R.T(Self−Monitoring,Analysis and Reporting Tecnology)情報を取得するためのコマンドを発行する。以下、S.M.A.R.T情報を取得するためのコマンドを単にSMART要求と記載する。
本明細書ではSMART要求とは、HDDやSSDなどの記憶部が自身の各種検査項目をリアルタイムに自己診断してその状態を数値化して保持している内容を、HDDやSSDの外部から取得する問合せとする。本実施形態では、検査項目として「ページ消去の状態(データの消去状態)」を例に挙げて説明するが、SSDの状態を示す内容であれば、エラー回数などの他の検査項目であってもよい。また、本実施形態では、SMART要求により、SSDの状態を取得するようにしている。しかし、SMART要求に限らず、SSDの状態を取得することが可能であれば、例えばSSD105内で情報を収集し、定期的にファイルシステム401に出力することでSSDの状態を取得するようにしてもよい。他にも、ファイルシステム401から定期的にポーリングすることによって、SSD105がSSDの状態を出力するようにしてもよい。尚、本実施形態では、TRIMコマンド発行と同時にSMART要求を行うものとして説明する。SMART要求のタイミングは、予め設定された一定の期間で定期的に発行するようにしてもよいし、OS110やアプリケーション111による指示に応じて実施するようにしてもよい。
ここで、第2の判別部426が図6(B)に示すファイル情報管理テーブル502を利用して、ファイルが完全に消去されているかどうかを判別する方法について説明する。第2の判別部426が第2の判定部423から受信するページ消去情報とは、どのページの完全消去が完了したかどうかを示す情報である。受信するページ消去情報は、完全消去が完了したページ名の一覧であってもよいし、各ページについて完全消去の完了の有無を表現する情報であってもよい。本実施形態では、第2の判定部423は完全消去が完了したページ名の一覧をページ消去情報として第2の判別部426へ出力するものとして説明する。第2の判別部426は第2の判定部423からページ消去情報を取得すると、ページ消去情報に基づいてページの消去の有無を記憶部422に格納されているファイル情報管理テーブル502の「完全消去」の欄に書き込む。
図6(B)は、ページ消去情報として、消去が完了したページを示すpage1、page2、page3、page4というページ名を受信し第2の判別部426が更新した結果となる。管理テーブル502を更新すると、次に、第2の判別部426はファイルが完全に消去されているかどうかを、管理テーブル502を利用して確認する。管理テーブル502では、ファイルと関連するページが対応付けられて管理されている。第2の判別部426は、ファイルに対応付けられているページについて完全消去完了確認欄を参照し、ファイルに対応付けられたページの全てが消去完了となっている場合は、このファイルが完全に消去されていると判断する。
図6(B)では、file1に対応するpage1、page2、page3が全て完全消去完了となっているため、第2の判別部426はfile1が完全に消去されたと判断する。一方で、file2はpage4、page5、page6のうち、page4だけが消去されているため、第2の判別部426はfile2の消去が完了していないと判断する。
<SSDの機能構成>
図5(B)にSSD105の機能構成を示す。図5(B)に示すように、SSD105は、第3の受信部431、ガーベッジコレクション実施部432、ページ書き込み部433、第3の出力部434、ページ消去部435、検出部436を有する。なお、これらの機能構成はSSDコントローラ200がROM202に保持しているプログラムを実行することで実現したり、SSDコントローラ200が有するハードロジックで実現したりする。
第3の受信部431は、ファイルシステム401から受信した情報がページデータの場合、ページデータをページ書き込み部433に出力する。また、ファイルシステム401から受信した情報がTRIMコマンドの場合、第3の受信部431は受信したTRIMコマンドをガーベッジコレクション実施部432に出力する。また、ファイルシステムから受信した情報がSMART要求の場合は、第3の受信部431はSMART要求を検出部436に出力する。
ガーベッジコレクション実施部432(以下、単に実施部423と記載する)は、第3の受信部431から入力されたTRIMコマンドに基づいてガーベッジコレクションを実施する。実施部432がガーベッジコレクションの実施を完了すると、ページ消去部435は、利用されていないブロックを消去する。利用されていないブロックとは、ブロックに対応するページの全てが、ページデータを書き込まれていない状態あるいは無効なページデータが書き込まれている状態にあるブロックである。ページ消去部435はブロック単位であれば、ブロックに保持しているデータを完全に消去できる。
ブロックの消去が完了すると、ページ消去部435は、消去が完了した旨を第3の出力部434に出力する。ページ書き込み部433は、第3の受信部431からページデータが入力されると、入力されたページデータを不揮発メモリ204に書き込む。書き込みが終了するとページ書き込み部433はその旨を第3の出力部434に出力する。
検出部436は、第3の受信部431からSMART要求が入力されると、SMART要求の要求に基づいてSSD105内の情報を検出する。本実施形態では検出する情報がページ消去の状態であるため、検出部436は消去されたページの情報を不揮発メモリ204やレジスタ207から検出し、検出した情報を抽出して第3の出力部434に出力する。第3の出力部434は、上述したとおり、ページ書き込み部433からページ書き込み完了の通知を受けたり、消去部435から消去完了の通知を受けたり、検出部436から検出結果を受信したりする。本実施形態において、第3の出力部434は、検出部436から入力された検出結果をページ消去情報としてファイルシステム401へ出力する。
<アプリケーションにおける処理フロー>
以下、図7を用いてアプリケーション111における処理フローについて説明する。ここではアプリケーション111の処理フローをジョブの処理フロー(A)とジョブ消去確認フロー(B)とに分けて説明する。なお、アプリケーション111の各処理は、CPU101がROM102やRAM103のプログラムを読み込んで実行することで実現する。
まず、図7(A)を用いてアプリケーション111におけるジョブの処理フローについて説明する。アプリケーション111の第1の受信部411は、まず利用者からジョブを受理する(S601)。そして、受理したジョブを第2の変換部424がファイルに変換する(S602)。ファイルへの変換が完了すると第2の変換部424はジョブと変換後のファイルを対応付けた情報をジョブ情報管理テーブル501に追加するように更新する(S603)。その後、第1の出力部416は変換したファイルをファイルシステム401に出力し(S604)、処理部415はジョブを処理する(S605)。
処理部415は、ジョブが完了したかを判断し(S606)、ジョブが完了していない場合は、ステップ605に遷移してジョブが完了するまで処理を続ける。ジョブが完了すると、処理部415は第1の出力部416に通知し、第1の出力部416はファイル消去命令をファイルシステムに発行し(S607)、ジョブの処理を終了する。
次に、図7(B)を用いてアプリケーション111におけるジョブ消去確認フローについて説明する。アプリケーション111の第1の受信部411は、ファイルシステム401からファイル消去情報を受理する(S611)。ファイル消去情報は第1の判別部417に伝達され、第1の判別部417はファイル消去情報とジョブ情報管理テーブル501とに基づいて消去対象ジョブの全ファイルが消去されているかどうかを判断する(S612)。
第1の判別部417が消去対象ジョブの全ファイルは消去されていると判断すると(S612でYES)、第1の判別部417はジョブの完全消去完了の旨(または完全消去の進捗)を第1の出力部416を介して利用者に通知する(613)。そして、第1の判別部414は完全消去されたジョブと関連するファイルとを対応づけたエントリをジョブ情報管理テーブル501から削除する(S614)。第1の判別部414は消去対象ジョブに対応するファイルの全てについて完全消去が完了していないと判断すると(S612でNo)、消去対象ジョブに対応するファイルの完全消去の割合を算出する(S615)。そして、第1の判別部414は第1の出力部416を介してジョブの完全消去に関する進捗を示す情報を利用者に通知し(S616)、ジョブ消去確認処理を終了する。なお、ジョブ消去確認処理はファイル消去命令に基づいてファイルシステム401とSSD105が完全消去に関連する処理を開始してから、並行的に実施されてもよいし、ユーザからの確認要求に応じて実施するようにしてもよい。
<ファイルシステムにおける処理フロー>
次に、図8を用いてファイルシステム401における処理フローについて説明する。ここではファイルシステム401の処理フローをファイル書き込みフロー、ファイル消去要求フロー、ファイル消去確認フローの3つに分けて説明する。なお、ファイルシステムの各処理は、CPU101がRAM103のプログラムを読み込んで実行することで実現する。
まず図8(A)を用いてファイル書き込みフローについて説明する。まず、ファイルシステム401の第2の受信部421は、アプリケーション111からファイルを受理し(S701)、第2の変換部424は受理したファイルをページに変換する(S702)。ファイルからページへの変換が完了すると、第2の変換部424は対象ファイルと変換後のページを対応付けてファイル情報管理テーブル502を更新する(S703)。その後、第2の変換部424は変換したページを第2の出力部425を介してSSD105に出力し(S704)、ファイル書き込み処理を終了する。なお、ファイル書き込み処理は、ユーザからジョブとは別に受け付けたファイルをアプリケーション111が入力してくる場合や、ジョブを受け付けたアプリケーション111がジョブで処理するためのファイルを取得して入力してくる場合などに実施する。
次に、図8(B)を用いてファイル消去要求フローについて説明する。まず、ファイルシステム401の第2の受信部421は、アプリケーション111からファイル消去要求を受信すると(S731)、ファイル消去部427は第2の出力部425を利用してSSD105にTRIMコマンドを発行する(S712)。そして、第2の出力部425はSMART要求をSSD105に発行し(S713)、ファイル消去要求処理を終了する。
次に、図8(C)を用いてファイル消去確認フローについて説明する。まずファイルシステム401の第2の受信部421は、SSD105からページ消去情報を受理する(S721)。ページ消去情報を受理すると、第2の判別部426はページ消去情報とファイル情報管理テーブル502とに基づいて消去対象のファイルに関連するページが消去されているかどうかを判断する(S722)。消去対象のファイルのページが全て消去されていると判断した場合は第2の判別部426がファイル消去情報を作成し、第2の出力部425を介してアプリケーション111へ通知(S723)する。そして、第2の出力部425は消去されたファイルと関連するページをファイル情報管理テーブル502から削除し(S724)、ファイル消去確認処理を終了する。
<SSDにおける処理フロー>
以下、図9を用いてSSD105における処理フローについて説明する。ここではSSD105の処理フローをページ消去フロー、SMART要求フロー、ページ書き込みフローの3つに分けて説明する。なお、SSD105の各処理は、プロセッサ205がROM202のプログラムを読み込んで実行したり、SSDコントローラ200内のハードロジックで実行したりすることで実現する。
まず、図9(A)を用いてページ消去フローについて説明する。SSD105の第3の受信部431は、フィルシステム401からTRIMコマンドを受領すると(S801)、GC実施部432はガーベッジコレクションを実行する(802)。ガーベッジコレクションを実施すると、ページ消去部435はガーベッジコレクションによって作成された消去可能なブロックを消去し(S803)、ページ消去処理を終了する。
次に、図9(B)を用いてSMART要求フローについて説明する。SSD105の第3の受信部431は、ファイルシステム401からSMART要求を受信すると(S811)、検出部436はSMART要求に基づいて消去済みページを検出する(S812)。検出部436が消去済みページを検出すると、第3の出力部が消去済みページを示すページ消去情報をファイルシステム401に出力し(S813)、SMART要求処理を終了する。
次に、図9(C)を用いてページ書き込みフローについて説明する。SSD105の第3の受信部431は、ファイルシステム401からページデータを受領する(S821)。そして、ページ書込み部433は論物対応テーブルを参照してページデータを不揮発メモリ204の物理領域に書き込み(S822)、ページ書き込み処理を終了する。
以上のように本実施形態によれば、アプリケーションで実施した処理に関連するデータについて完全消去が行われたこと(またはその進捗)をユーザが容易に確認することができる。また、TRIMコマンドやガーベッジコレクションが行われたことを通知するので、アプリケーションに関連するSSD上のデータが消去されたことを利用者が確認し易い。
また、上述の実施形態ではTRIMコマンドを例に挙げて説明したが、TRIMコマンドはATA規格の削除指示の呼称である。SCSI規格ではUNMAPコマンドに相当し、Discardコマンドと呼称されることもあるが、どのコマンドを利用しても本実施形態を実現できる。
上述の実施形態では、SSD105はファイルシステム401の管理するページ単位でデータの書き込み処理、及び読み込処理を実施するものとしたが、ファイルシステムの管理単位とSSDへの書き込み単位は異なっていてもよい。
なお、上述の実施形態では、ジョブを処理する基となるデータについての完全消去を実施する処理について説明しているが、ジョブの処理に関して発生するデータについての完全消去も本発明を同様に適用することができる。ジョブの処理に関して発生するデータとしてレンダリングデータや色材毎のビットマップデータなどがある。
また、上述の実施形態では説明の簡便のためFATテーブルを用いて説明したが、FATテーブルを扱うファイルシステム以外のファイルシステム(例えば、NTFSやext4など)でも同様に本実施形態を適用することはできる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が読み取り可能なプログラムを読み出して実行する処理である。

Claims (9)

  1. ジョブを受信する受信手段と、
    前記ジョブに関連するデータを保持する不揮発性メモリを備える記憶部と、
    前記不揮発性メモリに保持されているデータを利用して前記ジョブで指定される処理を実行する処理手段と、
    前記処理手段が処理したジョブに関連するデータを前記不揮発性メモリから消去するための消去要求を前記記憶部へ発行する出力手段と、
    前記記憶部に前記不揮発性メモリのデータ消去状態を問い合わせ、当該記憶部から前記データ消去状態を示す状態情報を取得する取得手段と、
    前記状態情報に基づいて、前記不揮発性メモリから消去処理中の前記ジョブの消去処理の進捗を通知する通知手段と、
    前記データ消去状態に基づいて前記不揮発性メモリから前記ジョブに関するデータが消去されたことを判別する判別手段と
    を有し
    前記判別手段は、前記受信手段で受け付けたジョブと当該ジョブに対応する複数のファイルとの対応を示す情報を保持する第1のテーブルと、前記複数のファイルの少なくとも一つと前記不揮発性メモリの複数のページとの対応を示す情報を保持する第2のテーブルとに基づいて、前記ジョブに関連するデータが消去されたことを判別することを特徴とする情報処理装置。
  2. 前記判別手段は、前記第1のテーブルに基づいて前記ジョブに関連するデータの消去処理の進捗を算出することを特徴とする請求項に記載の情報処理装置。
  3. 前記出力手段は前記消去要求としてガーベッジコレクションを実行させる指示を出力することを特徴とする請求項1もしくは2のいずれか1項に記載の情報処理装置。
  4. 前記状態情報は、前記ジョブに対応するファイルに対応する各ページのそれぞれが保持するデータが消去されたかどうかを示すことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  5. 前記不揮発性メモリはSSD(Solid State Drive)であることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. 前記消去要求はATA規格におけるTRIMコマンドであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  7. 前記問い合わせはS.M.A.R.T情報を取得するためのコマンドであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. ジョブを受信する受信工程と、
    前記ジョブに関連するデータを不揮発性メモリに保持する記憶工程と、
    前記不揮発性メモリに保持されているデータを利用して前記ジョブで指定される処理を実行する処理工程と、
    前記処理工程で処理したジョブに関連するデータを前記不揮発性メモリから消去するための消去要求を発行する出力工程と、
    前記不揮発性メモリのデータ消去状態を問い合わせ、前記データ消去状態を取得する取得工程と、
    前記取得工程で取得したデータ消去状態に基づいて、前記不揮発性メモリから消去処理中の前記ジョブの消去処理の進捗を通知する通知工程と
    前記データ消去状態に基づいて前記不揮発性メモリから前記ジョブに関するデータが消去されたことを判別する判別工程と
    を有し
    前記判別工程では、前記受信工程で受け付けたジョブと当該ジョブに対応する複数のファイルとの対応を示す情報を保持する第1のテーブルと、前記複数のファイルの少なくとも一つと前記不揮発性メモリの複数のページとの対応を示す情報を保持する第2のテーブルとに基づいて、前記ジョブに関連するデータが消去されたことを判別することを特徴とする情報処理方法。
  9. コンピュータを、
    ジョブを受信する受信手段、
    前記ジョブに関連するデータを保持する不揮発性メモリを備える記憶部、
    前記不揮発性メモリに保持されているデータを利用して前記ジョブで指定される処理を
    実行する処理手段、
    前記処理手段が処理したジョブに関連するデータを前記不揮発性メモリから消去するための消去要求を前記記憶部に発行する出力手段、
    前記記憶部に前記不揮発性メモリのデータ消去状態を問い合わせ、当該記憶部から前記
    データ消去状態を取得する取得手段、
    前記データ消去状態に基づいて、前記不揮発性メモリから消去処理中の前記ジョブ消去処理の進捗を通知する通知手段、
    前記データ消去状態に基づいて前記不揮発性メモリから前記ジョブに関するデータが消去されたことを判別する判別手段
    として機能させ、
    前記判別手段は、前記受信手段で受け付けたジョブと当該ジョブに対応する複数のファイルとの対応を示す情報を保持する第1のテーブルと、前記複数のファイルの少なくとも一つと前記不揮発性メモリの複数のページとの対応を示す情報を保持する第2のテーブルとに基づいて、前記ジョブに関連するデータが消去されたことを判別することを特徴とするコンピュータが読み取り可能なプログラム。
JP2014100844A 2014-05-14 2014-05-14 情報処理装置、情報処理方法及びプログラム Active JP6525507B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014100844A JP6525507B2 (ja) 2014-05-14 2014-05-14 情報処理装置、情報処理方法及びプログラム
US14/710,161 US20150331790A1 (en) 2014-05-14 2015-05-12 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014100844A JP6525507B2 (ja) 2014-05-14 2014-05-14 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015219602A JP2015219602A (ja) 2015-12-07
JP6525507B2 true JP6525507B2 (ja) 2019-06-05

Family

ID=54538622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014100844A Active JP6525507B2 (ja) 2014-05-14 2014-05-14 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20150331790A1 (ja)
JP (1) JP6525507B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599333B2 (en) * 2016-03-09 2020-03-24 Toshiba Memory Corporation Storage device having dual access procedures
JP6875808B2 (ja) * 2016-09-09 2021-05-26 キヤノン株式会社 情報処理装置
KR102724662B1 (ko) 2016-11-16 2024-10-31 삼성전자주식회사 컴퓨터 시스템, 및 컴퓨터 시스템의 동작 방법
CN109388520B (zh) * 2017-08-08 2022-02-15 深圳大心电子科技有限公司 数据备份方法、数据恢复方法以及存储控制器
US20200104384A1 (en) * 2018-10-02 2020-04-02 Nutanix, Inc. Systems and methods for continuous trim commands for memory systems
JP7467088B2 (ja) * 2019-12-03 2024-04-15 キヤノン株式会社 情報処理装置、情報処理装置の処理方法およびプログラム
JP7419909B2 (ja) * 2020-03-23 2024-01-23 富士フイルムビジネスイノベーション株式会社 画像形成装置およびプログラム
US11581048B2 (en) * 2020-11-30 2023-02-14 Cigent Technology, Inc. Method and system for validating erasure status of data blocks
KR20230092226A (ko) 2021-12-17 2023-06-26 삼성전자주식회사 스토리지 장치 및 전자 시스템의 동작 방법
US12608338B1 (en) * 2025-01-10 2026-04-21 Dell Products L.P. Physical enumeration of a distributed namespace in a distributed file system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636724B2 (en) * 2001-08-31 2009-12-22 Peerify Technologies LLC Data storage system and method by shredding and deshredding
JP4323913B2 (ja) * 2003-10-08 2009-09-02 キヤノン株式会社 画像形成装置および制御方法および記憶媒体およびプログラム
US7308543B2 (en) * 2005-03-22 2007-12-11 International Business Machines Corporation Method and system for shredding data within a data storage subsystem
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
JP4912174B2 (ja) * 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
US8589697B2 (en) * 2008-04-30 2013-11-19 Netapp, Inc. Discarding sensitive data from persistent point-in-time image
JP5107833B2 (ja) * 2008-08-29 2012-12-26 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP4769853B2 (ja) * 2008-09-19 2011-09-07 株式会社日立製作所 記憶制御装置及び記憶装置のデータ消去方法
JP5033903B2 (ja) * 2010-08-20 2012-09-26 シャープ株式会社 画像処理装置、及び、管理システム
JP5677173B2 (ja) * 2011-04-11 2015-02-25 キヤノン株式会社 画像形成装置、ネットワークシステム、画像形成装置の制御方法、及びプログラム
JP5659178B2 (ja) * 2012-03-16 2015-01-28 株式会社東芝 不揮発性記憶装置及び不揮発性メモリの制御方法
JP5586718B2 (ja) * 2012-06-19 2014-09-10 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置

Also Published As

Publication number Publication date
US20150331790A1 (en) 2015-11-19
JP2015219602A (ja) 2015-12-07

Similar Documents

Publication Publication Date Title
JP6525507B2 (ja) 情報処理装置、情報処理方法及びプログラム
TWI670594B (zh) 資料儲存裝置
CN110895513B (zh) 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法
TWI712881B (zh) 電子機器及其控制方法、電腦系統及其控制方法以及主機之控制方法
JP5341584B2 (ja) コントローラ、及びメモリシステム
US9223695B2 (en) Information processing apparatus
EP3346387B1 (en) Storage system and system garbage collection method
JP5641900B2 (ja) 管理装置及びその制御方法、並びにプログラム
US9785547B2 (en) Data management apparatus and method
KR102811679B1 (ko) 데이터 저장 장치의 동작 방법
US11144202B2 (en) Volume management apparatus, volume management method, and volume management program
JP2014010498A5 (ja)
JP6875808B2 (ja) 情報処理装置
JP2015204073A (ja) 情報処理装置、情報処理端末、情報処理方法およびプログラム
JP2015141603A (ja) 画像処理装置およびその制御方法、並びにプログラム
KR20150002297A (ko) 스토리지 시스템 및 그의 동작 방법
JP2016206938A (ja) 情報処理システム、情報処理システムのメモリ制御方法、及びプログラム
JP2018063676A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2015204071A (ja) 情報処理装置、情報処理方法およびプログラム
US11461225B2 (en) Storage device, control method of storage device, and storage medium
CN107797762B (zh) 信息处理装置及信息处理方法
CN106897315B (zh) Kv项有效性获取方法以及装置
JP2015204072A (ja) 情報処理装置、情報処理方法およびプログラム
CN110389706B (zh) 一种指纹回收方法以及存储系统
JP5544905B2 (ja) 画像処理装置と画像処理装置のデータ消去方法とプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190507

R151 Written notification of patent or utility model registration

Ref document number: 6525507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151