JP2015204071A - Information processing device, information processing method and program - Google Patents

Information processing device, information processing method and program Download PDF

Info

Publication number
JP2015204071A
JP2015204071A JP2014084716A JP2014084716A JP2015204071A JP 2015204071 A JP2015204071 A JP 2015204071A JP 2014084716 A JP2014084716 A JP 2014084716A JP 2014084716 A JP2014084716 A JP 2014084716A JP 2015204071 A JP2015204071 A JP 2015204071A
Authority
JP
Japan
Prior art keywords
data
information processing
storage area
file
block
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
JP2014084716A
Other languages
Japanese (ja)
Inventor
田頭 信博
Nobuhiro Tagashira
信博 田頭
一也 岸
Kazuya Kishi
一也 岸
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 JP2014084716A priority Critical patent/JP2015204071A/en
Publication of JP2015204071A publication Critical patent/JP2015204071A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To solve problems, for example, in a non-volatile memory such as a NAND type flash memory, size of a writing unit and size of an erasure unit are different each other, and sometimes size of an area where actually erasure processing occurs in the non-volatile memory is larger than size of an object file which should be erased originally, thereby, resulting in difficulty of erasure processing on an SSD side on the object file, and there is time lag between issuance of a data erasure command and actual erasure processing.SOLUTION: An erasure command to data to be erased is issued and a writing command is issued to related data, simultaneously.

Description

本発明は、フラッシュメモリなどの不揮発性メモリを利用した情報処理装置、情報処理方法およびプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program using a nonvolatile memory such as a flash memory.

近年、情報処理装置のHDD(ハードディスクドライブ)の代替えのストレージとして、フラッシュメモリを記憶媒体として利用した半導体ディスク(Solid State Drive、以下SSDと呼ぶ)の利用が進んでいる。SSDはHDDと比べて高速なランダムアクセスが可能であるばかりでなく、低消費電力、高耐衝撃性、軽量、および省スペースという利点がある。   2. Description of the Related Art In recent years, semiconductor disks (Solid State Drive, hereinafter referred to as SSD) using a flash memory as a storage medium have been increasingly used as an alternative storage for an HDD (hard disk drive) of an information processing apparatus. SSDs not only allow high-speed random access compared to HDDs, but also have the advantages of low power consumption, high impact resistance, light weight, and space saving.

ただし、SSDに搭載されるフラッシュメモリには書き込み可能回数に上限があるとされる。そこで、SSDに搭載されたフラッシュメモリコントローラは、フラッシュメモリの特定領域に書き込みが集中して不良記憶素子が早期に発生し難いように、書き込み先の領域を平均に分散させている。詳細には、フラッシュメモリコントローラがフラッシュメモリの書込み回数を平準化するために、フラッシュメモリの論理アドレスと物理アドレスの対応付けを変えてしまう。例えば、新しく書込みを行う際に、一番書込み回数の少ない空き領域の物理アドレスを書込み要求に指定される論理アドレスに対応させる。これによって、フラッシュメモリ、つまり、SSDの寿命の長期化を実現している。この技術はウェアレベリングと呼ばれる。   However, the flash memory mounted on the SSD has an upper limit on the number of writable times. Therefore, the flash memory controller mounted on the SSD distributes the write destination area on average so that writing concentrates on a specific area of the flash memory and a defective memory element is unlikely to occur at an early stage. Specifically, in order for the flash memory controller to equalize the number of times of writing to the flash memory, the correspondence between the logical address and the physical address of the flash memory is changed. For example, when a new write is performed, the physical address of the empty area with the smallest number of writes is made to correspond to the logical address specified in the write request. As a result, the lifetime of the flash memory, that is, the SSD is extended. This technique is called wear leveling.

ここで、セキュリティの観点から、プリントアウトなどの処理に用いたデータを、処理後に利用できない様にすることが望まれることがある。例えば、特許文献1は、無効化対象のデータを暗号化してSSDに書き込み、暗号化鍵を消去することでデータを再利用され難いようにする手法を提案している。   Here, from the viewpoint of security, it may be desired that data used for processing such as printout is not usable after processing. For example, Patent Document 1 proposes a method for making data difficult to be reused by encrypting data to be invalidated, writing it to an SSD, and erasing the encryption key.

また、別の手法として、HDDにおいてプリントアウトなどの処理に用いたデータを保持している領域をダミーデータ(固定値やランダム値など)で上書きする技術が知られている。しかし、従来のSSDであると、ウェアレベリングにより書き込み先領域を分散させ、物理アドレスと論理アドレスの対応付けも変えてしまっているため無効化対象のデータを上書きすることが困難である。   As another technique, a technique for overwriting an area holding data used for processing such as printout in the HDD with dummy data (fixed value, random value, etc.) is known. However, in the case of a conventional SSD, it is difficult to overwrite data to be invalidated because the write destination areas are distributed by wear leveling and the correspondence between physical addresses and logical addresses is also changed.

特開2012−018501号公報JP 2012-018501 A

特許文献1の技術では、暗号化プロトコルの性能に依存しており、データそのものの消去は実現できていない。また、上書き消去の技術については、ウェアレベリングを実施しているSSDにおいて、SSDの外部側(OSやアプリ)からは実際にデータを書き込む位置や領域(SSDの物理アドレス)を指定できないため、従来の手法では上書き消去が困難であった。   The technique of Patent Document 1 depends on the performance of the encryption protocol, and the data itself cannot be erased. In addition, with regard to the overwrite erasing technology, in an SSD that is executing wear leveling, the location and area (the physical address of the SSD) where data is actually written cannot be specified from the outside of the SSD (OS or application). In this method, overwriting and erasing were difficult.

そこで、本発明は、簡易な構成で不揮発性メモリの消去対象のファイルを効率よく消去できる技術を提供することを目的とする。   Accordingly, an object of the present invention is to provide a technique capable of efficiently erasing a file to be erased from a nonvolatile memory with a simple configuration.

上述の課題を解決するために、本発明に係る情報処理装置は、第1の記憶領域の単位でデータの読み書きを行い、複数の第1の記憶領域を有する第2の記憶領域の単位でデータの消去を行う不揮発性メモリを備える情報処理装置であって、前記不揮発性メモリに対するアクセスを制御する制御手段と、前記不揮発性メモリが保持している複数のファイルを管理する管理手段とを有し前記管理手段は、前記複数のファイルのうち消去対象と指定されたファイルに対応する第1の記憶領域について前記制御手段に通知し、前記消去対象と指定されたファイルとは異なるファイルに関連するデータであって前記通知をした第1の記憶領域を含む第2の記憶領域に含まれているデータを、前記通知をした第1の記憶領域を含む第2の記憶領域とは異なる記憶領域へ書き込むように前記制御手段へ指示をすることを特徴とする。   In order to solve the above-described problem, an information processing apparatus according to the present invention reads and writes data in units of first storage areas, and data in units of second storage areas having a plurality of first storage areas. An information processing apparatus including a nonvolatile memory that performs erasing of data, comprising: a control unit that controls access to the nonvolatile memory; and a management unit that manages a plurality of files held in the nonvolatile memory The management unit notifies the control unit of a first storage area corresponding to a file designated as an erasure target among the plurality of files, and data related to a file different from the file designated as the erasure target The data included in the second storage area including the first storage area that has been notified is different from the second storage area that includes the first storage area that has been notified. Characterized by an instruction to the control means to write to the storage area.

本発明によれば、簡易な構成で不揮発性メモリの消去対象のファイルを効率よく消去できる。   According to the present invention, a file to be erased from a nonvolatile memory can be efficiently erased with a simple configuration.

システムの構成を示すブロック図である。It is a block diagram which shows the structure of a system. SSD部の構成を示すブロック図である。It is a block diagram which shows the structure of a SSD part. SSD部におけるデータ構成を示すブロック図である。It is a block diagram which shows the data structure in a SSD part. SSDへの入出力処理に関する機能構成を示すブロック図である。It is a block diagram which shows the function structure regarding the input / output process to SSD. SSDへの入出力処理に関するフローチャートである。It is a flowchart regarding the input-output process to SSD. SSDへの入出力処理に関するフローチャートである。It is a flowchart regarding the input / output processing to the SSD. (A)システムの構成を示すブロック図である。(B)SSDへの入出力処理に関するフローチャートである。(A) It is a block diagram which shows the structure of a system. (B) It is a flowchart regarding the input / output process to SSD.

以下、本発明の実施形態について図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(実施形態1)
<情報処理装置の全体構成>
本実施形態における情報処理装置100の全体構成例を図1(A)に示す。
(Embodiment 1)
<Overall configuration of information processing apparatus>
An example of the overall configuration of the information processing apparatus 100 in this embodiment is shown in FIG.

図1(A)において情報処理装置100は、CPU101、ROM102、RAM103、I/F104、SSD105、操作部106、表示部107、およびエンジン108を有し、それぞれの構成はバス109で接続されている。   In FIG. 1A, the information processing apparatus 100 includes a CPU 101, a ROM 102, a RAM 103, an I / F 104, an SSD 105, an operation unit 106, a display unit 107, and an engine 108, and each configuration is connected by a bus 109. .

CPU101はROM102の内容に沿って情報処理装置100内の各部の動作を制御したり、RAM103にロードしたプログラム(OSやアプリケーション)を実行したりする。ROM102は読み出し専用メモリであり、ブートプログラムやファームウェア、後述する処理を実現するための各種処理プログラム、各種データを格納している。RAM103はCPU101にて処理を行うために一時的にプログラムやデータを格納しておくワークメモリであり、CPU101により各種処理プログラムやデータがロードされる。   The CPU 101 controls the operation of each unit in the information processing apparatus 100 according to the contents of the ROM 102 and executes a program (OS or application) loaded in the RAM 103. The ROM 102 is a read-only memory, and stores a boot program and firmware, various processing programs for realizing processing to be described later, and various data. A RAM 103 is a work memory that temporarily stores programs and data for processing by the CPU 101, and various processing programs and data are loaded by the CPU 101.

I/F104はネットワーク機器やUSBデバイスといった外部装置と通信するためのインタフェースであり、ネットワークを通じたデータ通信や、外部装置とデータの送受信を行う。SSD(Solid State Drive)105はOS(Operation System)や各種プログラム、または各種データを保持するものであり、NAND型フラッシュメモリを利用した不揮発性の記憶装置(不揮発性メモリ)である。   The I / F 104 is an interface for communicating with an external device such as a network device or a USB device, and performs data communication through the network and data transmission / reception with the external device. An SSD (Solid State Drive) 105 holds an OS (Operation System), various programs, or various data, and is a non-volatile storage device (non-volatile memory) using a NAND flash memory.

操作部106は利用者の操作指示、及び種々のパラメータ設定をはじめとする各種の指示を受け付けるためのユーザーインタフェースであり、キーボード、マウス、テンキー、タッチパネル等の少なくともいずれか1つを備える。表示部107は操作確認、処理ステータスなどを利用者へ通知するための表示装置であり、ディスプレイ、タッチパネル等の少なくともいずれか1つを備える。エンジン108は、オプショナルな処理部であり、利用者からの指示がなされると、印刷、読み込み等の各種処理を行う。例えば、画像データを紙に印刷するためのプリンタエンジンや、記録媒体から画像データを取り込むスキャナエンジンである。ここで、画像データを紙に印刷するためのプリンタエンジンとは、ビットマップデータに応じて複数のプリンタヘッドを制御するものである。記録媒体から画像データを取り込むスキャナエンジンとは、例えば、ラインセンサによって取得した画像データをRAMに転送するものである。   The operation unit 106 is a user interface for receiving user operation instructions and various instructions including various parameter settings, and includes at least one of a keyboard, a mouse, a numeric keypad, a touch panel, and the like. The display unit 107 is a display device for notifying the user of operation confirmation, processing status, and the like, and includes at least one of a display, a touch panel, and the like. The engine 108 is an optional processing unit, and performs various processes such as printing and reading when instructed by the user. For example, a printer engine for printing image data on paper or a scanner engine for capturing image data from a recording medium. Here, the printer engine for printing image data on paper controls a plurality of printer heads according to bitmap data. A scanner engine that captures image data from a recording medium is one that, for example, transfers image data acquired by a line sensor to a RAM.

情報処理装置100は、一般に普及しているパーソナルコンピュータであってもよいし、MFP(Multi Function Printer)であってもよい。操作部106を用いて指示がなされた際に、エンジン108によりプリント、スキャン、コピー等の各種操作の少なくとも1つが実施可能な装置であればよい。   The information processing apparatus 100 may be a generally used personal computer or an MFP (Multi Function Printer). Any device that can perform at least one of various operations such as printing, scanning, and copying by the engine 108 when an instruction is given using the operation unit 106 may be used.

次に、本実施形態における情報処理装置100のプログラム構成を図1(B)に示す。本実施形態における情報処理装置100は、OS110と複数のアプリケーション111を動作させ、OS110より上位に複数のアプリケーション111を動作させている。   Next, FIG. 1B shows a program configuration of the information processing apparatus 100 in the present embodiment. The information processing apparatus 100 according to the present embodiment operates the OS 110 and the plurality of applications 111, and operates the plurality of applications 111 above the OS 110.

アプリケーション111としては情報処理を実施するものであればよい。例えば、文書編集アプリケーション、画像編集アプリケーションおよびWeb接続アプリケーション、プリント処理アプリケーション、スキャン処理アプリケーション、コピー処理アプリケーションなどがある。アプリケーション111はデータをSSD105に書き込む場合には、OS110を介して書込み処理を実施する。読出し処理も同様である。ここで、OS110側ではSSD105の論理アドレスを指定してSSD105に対する読み書きを実施する。   The application 111 may be any application that performs information processing. For example, there are a document editing application, an image editing application, a Web connection application, a print processing application, a scan processing application, a copy processing application, and the like. When the application 111 writes data to the SSD 105, the application 111 performs a writing process via the OS 110. The reading process is the same. Here, on the OS 110 side, the logical address of the SSD 105 is designated, and the SSD 105 is read and written.

SSD105は、OS110からの書込み要求または読出し要求に含まれる論理アドレスを、アドレス変換テーブルによって物理アドレスに変換して、自身の不揮発メモリにアクセスする。   The SSD 105 converts a logical address included in a write request or a read request from the OS 110 into a physical address using an address conversion table, and accesses its own nonvolatile memory.

<SSDの構成>
図2に、SSD105の構成を示す。SSD105は、SSDコントローラ200、外部I/F201、ROM202、キャッシュメモリ203および不揮発メモリ204から構成されている。さらにSSDコントローラ200は、プロセッサ205、内部I/F206およびレジスタ207を有する。
<Configuration of SSD>
FIG. 2 shows the configuration of the SSD 105. The SSD 105 includes an SSD controller 200, an external I / F 201, a ROM 202, a cache memory 203, and a nonvolatile memory 204. The SSD controller 200 further includes a processor 205, an internal I / F 206, and a register 207.

SSDコントローラ200は、SSD105の全体を制御する。情報処理装置100のCPU101やDMAC(不図示)からバス109および外部I/F201を介して受け取った書き込み命令とデータに基づいて不揮発メモリ204へデータを書き込む。読み込み命令に基づいて不揮発メモリ204からデータを読み出す。SSDコントローラ200は、これらの処理の過程で、書き込みデータまたは読み出しデータを一時的にキャッシュメモリ203へ保持することもある。ROM202は、読み出し専用メモリであり、SSD105で利用する各種プログラム・データを格納する。キャッシュメモリ203はSSDコントローラ200が処理する過程で一時的にデータを保持し、不揮発メモリ204でデータを保持する。本実施形態では不揮発メモリ204はNAND型フラッシュメモリとする。   The SSD controller 200 controls the entire SSD 105. Data is written to the nonvolatile memory 204 based on a write command and data received from the CPU 101 or DMAC (not shown) of the information processing apparatus 100 via the bus 109 and the external I / F 201. Data is read from the nonvolatile memory 204 based on the read command. The SSD controller 200 may temporarily store write data or read data in the cache memory 203 in the course of these processes. A ROM 202 is a read-only memory and stores various programs and data used by the SSD 105. The cache memory 203 temporarily holds data in the course of processing by the SSD controller 200, and holds data in the nonvolatile memory 204. In the present embodiment, the nonvolatile memory 204 is a NAND flash memory.

<SSDの処理>
図3に、SSD105の記憶領域の構成を示す。SSD105は、ページいう単位(第1の単位)とブロックという単位(第2の単位)でデータを管理する。ページは書込みまたは読出し処理の最小単位であり、通常数Kバイトを有する。ブロックは消去処理の単位であり複数のページを有する。図3(A)は1ブロックが64ページで構成される例を示している。SSD105は、データを書き込み済みのページに直接的に上書きはできず、書き込む前に消去処理を行う必要がある。この消去処理はページ単位でなく、削除単位としてのブロック単位で行う必要があるため、書き込み可能な消去済みページ存在しない状態においてのデータ書き込み処理の際には、書き込み処理に先立ち、ブロック消去処理を行う。
<SSD processing>
FIG. 3 shows the configuration of the storage area of the SSD 105. The SSD 105 manages data in units called pages (first units) and units called blocks (second units). A page is the smallest unit of writing or reading processing, and usually has several kilobytes. A block is a unit of erasure processing and has a plurality of pages. FIG. 3A shows an example in which one block is composed of 64 pages. The SSD 105 cannot directly overwrite the page on which data has been written, and needs to perform an erasing process before writing. Since this erasing process must be performed not in units of pages but in units of blocks as deletion units, in the case of data writing processing in the state where there are no writable erased pages, block erasing processing is performed prior to writing processing. Do.

ブロック消去には、TRIMコマンドとガーベッジコレクションを用いる。TRIMコマンドはOS110側からSSD105へ、不要になった領域(ページ)を通知するATA規格のコマンドである。ガーベッジコレクションは有効なページを再配置して無効なページのみを有する消去可能なブロックを作り、ブロック消去処理を実施して空きブロックを増やす仕組みである。これらにより、書き込み処理以前にブロック消去処理を実施し、書き込み処理時のブロック消去処理の削減を実現している。本実施形態ではTRIMコマンドによって無効なページを通知してから、ガーベッジコレクションを実施することでより効率的なブロック消去処理を実現する。   The block erase uses a TRIM command and garbage collection. The TRIM command is an ATA standard command for notifying an area (page) that is no longer needed from the OS 110 side to the SSD 105. Garbage collection is a mechanism for rearranging valid pages to create erasable blocks having only invalid pages, and performing block erasure processing to increase free blocks. As a result, the block erase process is performed before the write process, and the block erase process during the write process is reduced. In this embodiment, an invalid page is notified by the TRIM command, and then garbage collection is performed to realize more efficient block erasure processing.

また、図3(B)に例示するように、SSD105では論理アドレスと物理アドレスの対応テーブル(アドレス変換テーブル)を内部I/F206に保持し、対応テーブルに基づいてデータの書き込み・読出し処理を行う。例えば、コントローラ200は頻繁に変更があるデータは書込み回数の少ない物理ページに移動させ、変更の少ないデータは書込み回数の多い物理ページに移動させることで、物理的なデータ書き込み領域を分散することができる。この時、データを移動させる先の物理ページのアドレスを元の論理アドレスと対応付けるように対応テーブルを更新する。また、新規の書き込み処理要求があった場合に、書き込み回数の少ない領域に優先的に書き込むこともできる。これらの仕組みはウェアレベリングと呼ばれる。さらにコントローラ200は、不図示の構成によりデータの読み出し処理・書き込み処理の過程で、誤り訂正符号化処理を行うことも可能である。   Further, as illustrated in FIG. 3B, the SSD 105 holds a correspondence table (address conversion table) of logical addresses and physical addresses in the internal I / F 206, and performs data write / read processing based on the correspondence table. . For example, the controller 200 may distribute physical data write areas by moving frequently changed data to physical pages with a small number of writes and moving data with few changes to physical pages with a large number of writes. it can. At this time, the correspondence table is updated so that the address of the physical page to which data is moved is associated with the original logical address. In addition, when there is a new write processing request, it is possible to preferentially write to an area where the number of times of writing is small. These mechanisms are called wear leveling. Furthermore, the controller 200 can also perform error correction coding processing in the course of data read processing / write processing with a configuration not shown.

また、図3(A)および(B)で示したページとブロックの管理情報(ブロック管理情報)を参照することで、論理ページと物理ページの対応関係や、物理ページとブロックの対応関係を得ることができる。たとえば、ある論理ページに対応するブロックを識別する際には管理情報を参照し、論理ページ、物理ページ、ブロックの順にたどることで識別できる。逆に、あるブロックに対応する論理ページを識別する際には管理情報を参照し、ブロック、物理ページ、論理ページの順にたどることで識別できる。   Further, by referring to the page and block management information (block management information) shown in FIGS. 3A and 3B, the correspondence between the logical page and the physical page and the correspondence between the physical page and the block are obtained. be able to. For example, when identifying a block corresponding to a certain logical page, it can be identified by referring to the management information and following the logical page, physical page, and block in that order. Conversely, when a logical page corresponding to a certain block is identified, it can be identified by referring to the management information and following the block, physical page, and logical page in this order.

<SSD入出力>
SSD105の入出力の管理に関するOS110の機能構成を図4に示す。なお、OS110には一般的なオペレーションシステムと同様に、タイマ機能、プロセス管理機能、メモリ管理機能、デバイス管理機能、およびその他の入出力管理等の機能構成を有するが、本明細書では説明を省略する。SSD105への入出力管理としてOS110は、ファイルI/O部401、FAT(File Allocation Table)参照部402および論理データI/O部403を有する。ファイルI/O部401はファイル単位のアクセスを管理し、FAT参照部402はSSD105のFAT領域405に保持しているFATを参照して、ファイルと論理ページとの対応付けを解釈する。そして、FAT参照部402の解釈に基づいて論理データI/O部403が論理ページ単位でSSDへアクセスする。なお、FATとは、ファイルごとに、ファイル名・ファイル生成日時・ファイルサイズなどのファイル属性情報とファイルデータの実体を格納する一つ以上の論理ページ番号とを対応づけたテーブルである。以降の説明では、FATにおける、単一ファイルに対応するフェイル属性情報と論理ページ番号のセットをFATエントリーと称す。このFATエントリーを参照することで、OS110はデータ領域404にアクセスしてファイルを入力または出力することができる。
<SSD I / O>
FIG. 4 shows a functional configuration of the OS 110 regarding input / output management of the SSD 105. Note that the OS 110 has a functional configuration such as a timer function, a process management function, a memory management function, a device management function, and other input / output management, as in a general operation system, but description thereof is omitted in this specification. To do. As input / output management for the SSD 105, the OS 110 includes a file I / O unit 401, a FAT (File Allocation Table) reference unit 402, and a logical data I / O unit 403. The file I / O unit 401 manages access in units of files, and the FAT reference unit 402 refers to the FAT held in the FAT area 405 of the SSD 105 to interpret the correspondence between the file and the logical page. Then, based on the interpretation of the FAT reference unit 402, the logical data I / O unit 403 accesses the SSD in units of logical pages. The FAT is a table in which file attribute information such as a file name, file generation date / time, and file size is associated with one or more logical page numbers for storing file data entities for each file. In the following description, a set of fail attribute information and logical page number corresponding to a single file in the FAT is referred to as a FAT entry. By referring to the FAT entry, the OS 110 can access the data area 404 and input or output a file.

次に、図5を用いてSSD入出力処理のフローチャートを示す。   Next, a flowchart of the SSD input / output process is shown with reference to FIG.

まず、ファイルI/O部401は、アプリケーション111またはOS110の内部からファイル操作に関する要求を受ける。そして、ファイルI/O部401はファイル操作の種別が「読み出し(READ)」であるか「書き込み(WRITE)」であるか「削除(REMOVE)」であるかを判定する。なお、ファイル操作要求は他にもファイル作成やリネームなど種類があるが説明の簡便のため省略する。   First, the file I / O unit 401 receives a request for file operation from the application 111 or the OS 110. Then, the file I / O unit 401 determines whether the file operation type is “read (READ)”, “write (WRITE)”, or “delete (REMOVE)”. There are other types of file operation requests such as file creation and renaming, but they are omitted for simplicity of explanation.

まず、ファイルI/O部401がファイルの読み出し要求を受けた場合(S501でREAD)の処理について説明する。ファイルの読み出し要求は、例えば、「read()」のシステムコールがある。   First, the processing when the file I / O unit 401 receives a file read request (READ in S501) will be described. The file read request includes, for example, a system call “read ()”.

FAT参照部402は、SSD105のFAT領域405のFATを検索して要求ファイルに対応するFATエントリーを取得する(S502)。FATエントリーが取得できない場合は、システムコールの戻り値としてエラーを出力し、処理を終了する。   The FAT reference unit 402 searches the FAT in the FAT area 405 of the SSD 105 and acquires a FAT entry corresponding to the request file (S502). If the FAT entry cannot be acquired, an error is output as the return value of the system call, and the process is terminated.

論理データI/O部403はFATエントリーの論理ページ番号に基づき、データ読み込み要求をSSDへ送り、データを読み込み(S503)、読み込んだデータをファイルとして結合する(S504)。ファイルには、読み込んだデータ、およびFATエントリーのファイル属性情報を含める。論理データI/O部403は、ファイルが複数の論理ページで構成されている場合に、複数のページデータを結合してファイルとする。また、論理データI/O部403は、読み込んだデータについて、ファイル属性情報の一つであるサイズ情報に基づいて不要なデータを削除することでファイルとしてもよい。   Based on the logical page number of the FAT entry, the logical data I / O unit 403 sends a data read request to the SSD, reads the data (S503), and combines the read data as a file (S504). The file includes the read data and file attribute information of the FAT entry. The logical data I / O unit 403 combines a plurality of page data into a file when the file is composed of a plurality of logical pages. Further, the logical data I / O unit 403 may create a file by deleting unnecessary data based on the size information that is one of the file attribute information for the read data.

FAT参照部402は必要に応じてFATエントリーを更新する。たとえば、ファイル属性情報としてアクセス時間情報等の読み込み処理に関する情報がある場合、FAT参照部402はその情報を更新する。
ファイルI/O部401は論理データI/O部403が出力したファイルを要求元のアプリケーション111やOS110の作業領域(RAM103上)に返す(S506)。
The FAT reference unit 402 updates the FAT entry as necessary. For example, if the file attribute information includes information related to reading processing such as access time information, the FAT reference unit 402 updates the information.
The file I / O unit 401 returns the file output by the logical data I / O unit 403 to the work area (on the RAM 103) of the requesting application 111 or OS 110 (S506).

次に、ファイルI/O部401がファイルの書き込み要求を受けた場合(S501でWRITE)の処理について説明する。ファイルの書き込み要求は、例えば、「write()」のシステムコールがある。   Next, processing when the file I / O unit 401 receives a file write request (WRITE in S501) will be described. The file write request includes, for example, a system call “write ()”.

FAT参照部402は、SSD105のFAT領域405のFATを検索して書き込み要求があるファイルに対応するFATエントリーを取得する処理を開始する(S507)。   The FAT reference unit 402 searches for the FAT in the FAT area 405 of the SSD 105 and starts processing to acquire a FAT entry corresponding to a file for which there is a write request (S507).

ここで、FAT参照部402は対応するFATエントリーが取得できたかどうかを判断し(S508)する。FATエントリーが取得できた場合は、論理データI/O部403は対応するFATエントリーの論理ページ番号に基づいてデータ書き込み要求をSSDへ送信し、書き込み対象のデータをSSD105へ書き込む(S509)。この際に、FAT参照部402は必要に応じてFATエントリーを更新する(S511)。たとえば、ファイル属性情報が論理ページ番号や書き込み時間情報等の書き込みに関する情報を含む場合は更新の対象となる。   Here, the FAT reference unit 402 determines whether or not the corresponding FAT entry has been acquired (S508). If the FAT entry can be acquired, the logical data I / O unit 403 transmits a data write request to the SSD based on the logical page number of the corresponding FAT entry, and writes the write target data to the SSD 105 (S509). At this time, the FAT reference unit 402 updates the FAT entry as necessary (S511). For example, when the file attribute information includes information related to writing such as a logical page number and writing time information, it is an update target.

一方で、ステップS508でFATエントリーが取得できなかったとFAT参照部402が判断した場合は、論理データI/O部403は未使用の論理ページ番号を利用してデータ書き込み要求をSSD105へ送る。データ書き込み要求が送られることによって、データはSSD105に書き込まれる(S510)。そして、FAT参照部402は書き込んだファイルに対応するFATエントリーを新規に生成する(S512)。   On the other hand, if the FAT reference unit 402 determines that the FAT entry could not be acquired in step S508, the logical data I / O unit 403 sends a data write request to the SSD 105 using an unused logical page number. By sending a data write request, data is written to the SSD 105 (S510). Then, the FAT reference unit 402 newly generates a FAT entry corresponding to the written file (S512).

次に、ファイルI/O部401がファイルの削除要求を受けた場合(S501でREMOVE)の処理について説明する。ファイルの削除要求は、例えば、「remove()」のシステムコールがある。   Next, processing when the file I / O unit 401 receives a file deletion request (REMOVE in S501) will be described. The file deletion request includes, for example, a system call “remove ()”.

FAT参照部402は、SSD105のFAT領域405のFATを検索して削除要求の対象ファイルに対応するFATエントリーを取得する(S513)。FATエントリーが取得できない場合は、戻り値としてエラーを出力し、処理を終了する。   The FAT reference unit 402 searches the FAT in the FAT area 405 of the SSD 105 and acquires a FAT entry corresponding to the target file of the deletion request (S513). If the FAT entry cannot be acquired, an error is output as a return value, and the process ends.

論理データI/O部403は対応するFATエントリーの論理ページ番号に対してTRIMコマンドを発行し、削除対象のファイルに対応する論理ページ番号をSSD105へ通知する(S514)。削除対象のファイルに対応するFATエントリーに複数の論理ページ番号が含まれている場合、TRIMコマンドにより複数の論理ページ番号(または論理ブロック番号)がSSDへ通知される。TRIMコマンドによる無効論理ページの通知に基づいて、SSD105内部ではSSDコントローラ200によってカーベッジコレクションが実行される。ここで、TRIMコマンドによる無効な論理ページを通知する際に、SSD105のブロック全体が無効となった場合はすぐにブロック消去が可能であるが、そうでない場合はガーベッジコレクションをおこなうまでブロック消去が行われないことがある。   The logical data I / O unit 403 issues a TRIM command to the logical page number of the corresponding FAT entry and notifies the SSD 105 of the logical page number corresponding to the file to be deleted (S514). When a plurality of logical page numbers are included in the FAT entry corresponding to the file to be deleted, a plurality of logical page numbers (or logical block numbers) are notified to the SSD by the TRIM command. Based on the notification of the invalid logical page by the TRIM command, the SSD controller 200 executes garbage collection within the SSD 105. Here, when an invalid logical page is notified by the TRIM command, if the entire block of the SSD 105 becomes invalid, it can be erased immediately. Otherwise, the block erase is performed until garbage collection is performed. There are times when it is not.

さらに、論理データI/O部403は、当該論理ページ番号を含むブロックに含まれる他の論理ページ番号をSSDから取得する(S515)。FATエントリーに複数の論理ページ番号が含まれている場合、各論理ページに対して、当該論理ページを含むブロックを識別し、識別したブロックに含まれる他の論理ページ番号を取得する。   Further, the logical data I / O unit 403 acquires other logical page numbers included in the block including the logical page number from the SSD (S515). When a plurality of logical page numbers are included in the FAT entry, for each logical page, a block including the logical page is identified, and another logical page number included in the identified block is acquired.

FAT参照部402は、ステップS515で取得した論理ページ番号がステップS513で取得したFATエントリーに含まれるかを判断する(S516)。ステップS513で取得したFATエントリーに含まれる場合はステップS518へ進む。   The FAT reference unit 402 determines whether the logical page number acquired in step S515 is included in the FAT entry acquired in step S513 (S516). If it is included in the FAT entry acquired in step S513, the process proceeds to step S518.

ステップS513で取得したFATエントリーに含まれない場合は、これらの論理ページは削除対象であるファイルとは異なるファイルに関連するデータであることが検出できたことに相当するので、これらの論理ページ(データ)を退避させる。そこで、論理データI/O部403はステップS515で取得した論理ページ番号のページの内容を他の空きページに複写するための書き込み命令をSSD105に対して発行する(S517)。そして、この書き込み命令に基づき、SSD105は、図3(B)に示す、論理ページと物理ページ対応表を更新し、異なる物理ページにデータを複写する。これにより、要求ファイルに対応するSSDのブロックは全て無効ページとして扱うことができるので、カーベッジコレクションにより効率的にブロック消去ができる状態になる。   If it is not included in the FAT entry acquired in step S513, it corresponds to the fact that these logical pages can be detected as data related to a file different from the file to be deleted, so these logical pages ( Data). Therefore, the logical data I / O unit 403 issues a write command for copying the contents of the page with the logical page number acquired in step S515 to another empty page to the SSD 105 (S517). Based on this write command, the SSD 105 updates the logical page and physical page correspondence table shown in FIG. 3B and copies the data to different physical pages. As a result, all SSD blocks corresponding to the request file can be handled as invalid pages, so that the block can be efficiently erased by the garbage collection.

さらに、FAT参照部402はステップS513で取得したFATエントリーの論理ページ番号を初期化し(S518)、FATエントリーを削除する(S519)。   Further, the FAT reference unit 402 initializes the logical page number of the FAT entry acquired in step S513 (S518), and deletes the FAT entry (S519).

一般的に、カーベッジコレクションの機能として、ブロックを不要領域とする機能と、ブロックに含まれるページの全てが不要領域になったときにこのブロック消去する機能とを有する。しかし、消去対象のページを含むブロックを不要領域とする機能は、ブロックに有効なページあると直ぐに実施することはできない。これにより、OS110がTRIMコマンドによって不要領域の通知をしてから、SSD105で実際の無効化処理が開始されるまでに大きな遅延が生じてしまうことがある。   In general, the functions of garbage collection include a function of making a block an unnecessary area and a function of erasing this block when all pages included in the block become unnecessary areas. However, the function of setting a block including a page to be erased as an unnecessary area cannot be immediately implemented if there is a valid page in the block. As a result, there may be a large delay between when the OS 110 notifies the unnecessary area by the TRIM command and when the actual invalidation processing is started in the SSD 105.

本実施形態によれば、TRIMコマンドとカーベッジコレクションが行われるSSDにおいても、TRIMコマンドによる不要領域を通知してから、通知したページについて無効化処理が実施されるまでのタイムラグを低減することができる。   According to the present embodiment, even in an SSD in which a TRIM command and garbage collection are performed, it is possible to reduce a time lag from when an unnecessary area is notified by the TRIM command until invalidation processing is performed on the notified page. it can.

なお、本実施形態ではフラッシュメモリがSSDであることを前提に説明した。しかし、本実施形態はSSDに限定したものではない。SD(Secure Digital)カードのようなフラッシュメモリにも適応可能である。この場合、図2に示したSSDコントローラ200の代わりにSDコントローラを用いればよい。   Note that the present embodiment has been described on the assumption that the flash memory is an SSD. However, this embodiment is not limited to the SSD. The present invention can also be applied to a flash memory such as an SD (Secure Digital) card. In this case, an SD controller may be used instead of the SSD controller 200 shown in FIG.

以上に説明したように、本実施形態によれば、ファイル無効化通知(TRIMコマンド)を発行してから実際の消去処理(ブロック消去)が実施されるまでのタイムラグを低減できる。   As described above, according to the present embodiment, the time lag from when the file invalidation notification (TRIM command) is issued until the actual erasure process (block erase) is performed can be reduced.

(実施形態2)
実施形態1では、OS110が消去対象のファイルに対応するページと同じブロックに含まれる他のページを識別した。本実施形態では、消去対象のファイルが入っているパーティションに入っている他のファイル(削除対象のデータ以外のデータに相当する)を識別して同様に処理する方法を説明する。
(Embodiment 2)
In the first embodiment, the OS 110 identifies other pages included in the same block as the page corresponding to the file to be erased. In the present embodiment, a method for identifying and similarly processing another file (corresponding to data other than data to be deleted) in a partition containing a file to be deleted will be described.

実施形態1と同様の工程や構成については同一の符号を付すとともに、機能的に変わらないものについては説明を省略する。また、実施形態1では、無効化対象のファイルの配置、たとえばディスクパーティションやディレクトリに関する説明はしなかったが、本実施形態では無効化対象となるファイルを特定のディスクパーティションに配置する。これは、情報処理装置100がMFPの場合の各種ジョブで利用するファイルを、特定のディスクパーティションに配置することである。例えば、汎用OSにおいて、一時ファイル領域(/tmp)を特定のディスクパーティションに割り当てる考え方と同様である。   Steps and configurations similar to those of the first embodiment are denoted by the same reference numerals, and descriptions of those that are not functionally changed are omitted. In the first embodiment, the arrangement of files to be invalidated, such as disk partitions and directories, has not been described. In the present embodiment, the files to be invalidated are arranged in specific disk partitions. This is to place files used in various jobs when the information processing apparatus 100 is an MFP in a specific disk partition. For example, in the general-purpose OS, this is the same as the idea of allocating a temporary file area (/ tmp) to a specific disk partition.

図7を用いて実施形態2のSSDへの入出力処理を説明する。なお、読み込みの処理および書き込みの処理については実施形態1と同様であるため説明を省略する。   The input / output processing to the SSD according to the second embodiment will be described with reference to FIG. Note that read processing and write processing are the same as those in the first embodiment, and thus description thereof is omitted.

ファイルI/O部401がファイルの削除要求を受けた場合(S501でREMOVE)、FAT参照部402がSSD105のFAT領域405のFATを検索して削除要求の対象ファイルに対応するFATエントリーを取得する(S513)。そして、論理データI/O部403は対応するFATエントリーの論理ページ番号に対してTRIMコマンドを発行し、削除対象のファイルに対応する論理ページ番号をSSD105へ通知する(S514)。   When the file I / O unit 401 receives a file deletion request (REMOVE in S501), the FAT reference unit 402 searches the FAT in the FAT area 405 of the SSD 105 and acquires a FAT entry corresponding to the target file of the deletion request. (S513). Then, the logical data I / O unit 403 issues a TRIM command for the logical page number of the corresponding FAT entry, and notifies the SSD 105 of the logical page number corresponding to the file to be deleted (S514).

次に、FAT参照部402は、FAT領域405のFATを検索し、削除対象のファイルと同じパーティションにある全てのファイルのFATエントリーを取得し(S615)、取得したFATエントリーが示すファイルを識別する(S616)。同じパーティションに入っている他のファイルを識別するため、複数のファイルが識別されることが多い。   Next, the FAT reference unit 402 searches the FAT in the FAT area 405, acquires FAT entries of all files in the same partition as the file to be deleted (S615), and identifies the file indicated by the acquired FAT entry. (S616). Multiple files are often identified to identify other files in the same partition.

そして、論理データI/O部403は、ステップS616で識別したファイルのそれぞれを、削除対象のファイルが入っているパーティションと異なるパーティションに複写するための書き込み命令を発行する(S617)。   Then, the logical data I / O unit 403 issues a write command for copying each of the files identified in step S616 to a partition different from the partition containing the file to be deleted (S617).

さらに、FAT参照部402はFATエントリーの論理ページ番号を初期化し(S618)、FATエントリーを削除する(S619)。   Further, the FAT reference unit 402 initializes the logical page number of the FAT entry (S618), and deletes the FAT entry (S619).

以上のように、本実施形態では消去対象のファイルが入っているパーティションに含まれる他のファイルを退避させることで、FAT領域405のFATを参照するだけで有効なファイルの退避をさせることができる。   As described above, according to the present embodiment, by saving other files included in the partition containing the file to be erased, it is possible to save an effective file only by referring to the FAT in the FAT area 405. .

また、本実施形態において、FATの様な管理情報がパーティション毎に作成される場合は、ステップS618、S619の代わりに削除対象のファイルが入っているパーティションについてデータ領域404とFAT領域405とを消去するようにしてもよい。例えば、OS110が削除対象のファイルが入っているパーティションを指定して完全消去を実施するERASEコマンドを発行できるようにしてもよい。なお、FATファイルシステムにおいては、複数のパーティションのサイズや個数を規定する情報はパーティション情報として特定の領域(マスター・ブート・レコード)に保持されている。ファイルシステムによっては、パーティション毎にパーティション情報を保持するようにしてもよい。   In this embodiment, when management information such as FAT is created for each partition, the data area 404 and the FAT area 405 are deleted from the partition containing the file to be deleted instead of steps S618 and S619. You may make it do. For example, the OS 110 may be able to issue an ERASE command for performing complete erasure by designating a partition containing a file to be deleted. In the FAT file system, information defining the size and number of partitions is held as a partition information in a specific area (master boot record). Depending on the file system, partition information may be held for each partition.

(実施形態3)
本実施形態ではSSDを複数備える構成をとり、OS110が削除対象のファイルが入っているSSDに含まれる他のファイルを、異なるSSDに退避させて、削除対象のファイルが入っているSSD105にSECURE ERASEを実行する。実施形態1や実施形態2と同様の工程や構成については同一の符号を付すとともに、機能的に変わらないものについては説明を省略する。
(Embodiment 3)
In the present embodiment, a configuration including a plurality of SSDs is employed, and other files included in the SSD in which the OS 110 includes a file to be deleted are saved in a different SSD, and the SSECRE ERASE is stored in the SSD 105 in which the file to be deleted is stored. Execute. Steps and configurations similar to those in the first and second embodiments are denoted by the same reference numerals, and descriptions of those that are not functionally changed are omitted.

なお、SECURE ERACEとはATA規格やSATA規格で定められているコマンドの1つであり、HDDやSSDデバイスをデバイス毎に完全消去するためのコマンドとして用いられる。   SECURE ERASE is one of the commands defined in the ATA standard or SATA standard, and is used as a command for completely erasing the HDD or SSD device for each device.

図7(A)は本実施形態の情報処理装置の概略構成を示すブロック図である。SSD701〜703の其々は図2の構成を備え、OS110からは別のデバイスとして認識される。   FIG. 7A is a block diagram illustrating a schematic configuration of the information processing apparatus according to the present embodiment. Each of the SSDs 701 to 703 has the configuration of FIG. 2 and is recognized by the OS 110 as a separate device.

また、SSD701はOSなどのシステムプログラムを保持し、SSD702やSSD703はシステムプログラムを保持していない。SSD702とSSD703は情報処理装置100のエンジン108で処理する対象のデータを保持する。   The SSD 701 holds a system program such as an OS, and the SSD 702 and the SSD 703 do not hold a system program. The SSD 702 and the SSD 703 hold data to be processed by the engine 108 of the information processing apparatus 100.

図7(B)は本実施形態におけるSSDへの入出力処理の詳細を示すフローチャートである。読出し処理と書き込み処理については説明を省略する。   FIG. 7B is a flowchart showing details of input / output processing to the SSD in this embodiment. A description of the read process and the write process is omitted.

ファイルI/O部401がファイルの削除要求を受けた場合(S501でREMOVE)、
FAT参照部402がREMOVEの対象のデバイス(ここでは、SSD702とする)のFAT領域405のFATを検索して削除要求の対象ファイルに対応するFATエントリーを取得する(S513)。
When the file I / O unit 401 receives a file deletion request (REMOVE in S501),
The FAT reference unit 402 searches the FAT in the FAT area 405 of the REMOVE target device (here, SSD 702) and acquires the FAT entry corresponding to the deletion request target file (S513).

次に、FAT参照部402は、SSD702のFAT領域405のFATを検索し、削除対象のファイル以外の全てファイルのFATエントリーを取得し(S704)、取得したFATエントリーが示すファイルを識別する(S705)。   Next, the FAT reference unit 402 searches the FAT in the FAT area 405 of the SSD 702, acquires FAT entries of all files other than the files to be deleted (S704), and identifies the file indicated by the acquired FAT entry (S705). ).

そして、論理データI/O部403は、ステップS616で識別したファイルのそれぞれを、削除対象のファイルが入っているSSDと異なるSSD(ここでは、SSD703)に複写するための書き込み命令を発行する(S706)。   Then, the logical data I / O unit 403 issues a write command for copying each of the files identified in step S616 to a different SSD (in this case, SSD 703) from the SSD containing the file to be deleted (here, SSD 703). S706).

さらに、論理データI/O部403は削除対象のファイルが入っているSSD702に対してSECURE ERASEコマンドを発行し、SSD702のSSDコントローラ200はSSD702の不揮発メモリ204の内容について完全消去を実施する。(S707)。完全消去を実施することで、SSD702の不揮発メモリ204の記憶状態は工場出荷時と同様の内容になる。   Further, the logical data I / O unit 403 issues a SECURE ERASE command to the SSD 702 containing the file to be deleted, and the SSD controller 200 of the SSD 702 performs complete erasure on the contents of the nonvolatile memory 204 of the SSD 702. (S707). By performing complete erasure, the storage state of the nonvolatile memory 204 of the SSD 702 becomes the same as that at the time of factory shipment.

以上のように、本実施形態では消去対象のファイルが入っているSSDに含まれる他のファイルを別のSSDに退避させ、消去対象のファイルを含むSSDについてSECURE ERASEコマンドで確実にデータ消去することができる。   As described above, in this embodiment, the other files included in the SSD containing the file to be erased are saved to another SSD, and the SSD including the file to be erased is securely erased by the SECURE ERASE command. Can do.

なお、説明の簡便のためにSSDを複数持たせる構成にしたが、OS110から複数のデバイスである様に見えるようにすれば、デバイス毎にSECURE ERASEコマンドを発行できる。そのために1つのSSDに複数のデバイスIDとデバイスIDに対応する記憶領域を割り当てるようにしても同様の効果を得る事ができる。   In addition, although it was set as the structure which has multiple SSD for convenience of explanation, if it makes it seem that it is a some device from OS110, a SECURE ERASE command can be issued for every device. Therefore, the same effect can be obtained even if a plurality of device IDs and storage areas corresponding to the device IDs are allocated to one SSD.

また、上述の実施形態ではTRIMコマンドを例に挙げて説明したが、TRIMコマンドはATA規格の削除指示の呼称である。SCSI規格ではUNMAPコマンドに相当し、Discardコマンドと呼称されることもあるが、どのコマンドを利用しても本実施形態を実現できる。   In the above-described embodiment, the TRIM command has been described as an example, but the TRIM command is a name for an ATA standard deletion instruction. Although it corresponds to the UNMAP command in the SCSI standard and is sometimes called a “Discard command”, the present embodiment can be realized by using any command.

また、上述の実施形態ではTRIMコマンドを発行してから、データを退避させる書き込みコマンドを発行する例について説明したが、TRIMコマンドを発行する時点で退避させるデータが特定できる場合は、書き込み処理と通知処理を並行して行ってもよい。   In the above-described embodiment, an example in which a write command for saving data is issued after a TRIM command is issued has been described. However, when data to be saved can be specified at the time of issuing a TRIM command, write processing and notification are performed. Processing may be performed in parallel.

また、上述の実施形態では説明の簡便のためFATテーブルを用いて説明したが、FATテーブルを扱うファイルシステム以外のファイルシステム(例えば、NTFSやext4など)でも同様に本実施形態を適用することはできる。   In the above-described embodiment, the FAT table is used for simplicity of explanation. However, the present embodiment can be similarly applied to a file system other than the file system that handles the FAT table (for example, NTFS or ext4). it can.

また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が読み取り可能なプログラムを読み出して実行する処理である。   The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media. This is a process of reading and executing a program that can be read by a computer (or CPU, MPU, etc.) of the system or apparatus.

Claims (12)

第1の記憶領域の単位でデータの読み書きを行い、複数の第1の記憶領域を有する第2の記憶領域の単位でデータの消去を行う不揮発性メモリを備える情報処理装置であって、
前記不揮発性メモリに対するアクセスを制御する制御手段と、
前記不揮発性メモリが保持している複数のファイルを管理する管理手段とを有し
前記管理手段は、前記複数のファイルのうち消去対象と指定されたファイルに対応する第1の記憶領域について前記制御手段に通知し、前記消去対象と指定されたファイルとは異なるファイルに関連するデータであって前記通知をした第1の記憶領域を含む第2の記憶領域に含まれているデータを、前記通知をした第1の記憶領域を含む第2の記憶領域とは異なる記憶領域へ書き込むように前記制御手段へ指示をすることを特徴とする情報処理装置。
An information processing apparatus including a nonvolatile memory that reads and writes data in units of a first storage area and erases data in units of a second storage area having a plurality of first storage areas,
Control means for controlling access to the nonvolatile memory;
Management means for managing a plurality of files held in the non-volatile memory, wherein the management means controls the first storage area corresponding to a file designated as an erasure target among the plurality of files. The data that is related to a file different from the file designated as the erasure target and that is included in the second storage area including the first storage area that has made the notification An information processing apparatus that instructs the control means to write to a storage area different from the second storage area including the first storage area.
前記管理手段は、前記第1の記憶領域と前記第2の記憶領域の対応関係を管理する管理情報を前記不揮発性メモリから取得することで前記消去対象と指定されたファイルとは異なるファイルに関連するデータを検出することを特徴とする請求項1に記載の情報処理装置。   The management means obtains management information for managing a correspondence relationship between the first storage area and the second storage area from the nonvolatile memory, thereby relating to a file different from the file designated as the erasure target The information processing apparatus according to claim 1, wherein data to be detected is detected. 前記第1の記憶領域はページであり、前記第2の記憶領域はブロックであることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the first storage area is a page, and the second storage area is a block. 前記第1の記憶領域はページであり、前記第2の記憶領域はデバイスであることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the first storage area is a page, and the second storage area is a device. 前記管理情報は、アドレス変換テーブルであることを特徴とする請求項2に記載の情報処理装置。   The information processing apparatus according to claim 2, wherein the management information is an address conversion table. 前記第1の記憶領域はページであり、前記第2の記憶領域はパーティションであることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the first storage area is a page, and the second storage area is a partition. 前記管理情報は、ファイルシステムのパーティション情報であることを特徴とする請求項6に記載の情報処理装置。   The information processing apparatus according to claim 6, wherein the management information is partition information of a file system. 前記不揮発性メモリはSSD(Solid State Drive)であることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the nonvolatile memory is an SSD (Solid State Drive). ページ単位でデータの読み書きを行い、複数のページで構成されるブロック単位でデータの消去を行う不揮発性メモリを備える情報処理装置における情報処理方法であって、
前記不揮発性メモリへのアクセスを制御する制御工程と、
前記データがファイルシステムにおいて無効化されたことを通知する通知工程とを有し、
前記制御工程では前記通知工程にて通知をうけたデータに対応するページを含むブロックについて、当該ブロックの有する他のページについて前記通知をうけたデータに対応するページを含むブロックと異なるブロックへ複写することを特徴とする情報処理方法。
An information processing method in an information processing apparatus including a non-volatile memory that reads and writes data in units of pages and erases data in units of blocks composed of a plurality of pages,
A control step of controlling access to the nonvolatile memory;
A notification step for notifying that the data has been invalidated in the file system,
In the control step, the block including the page corresponding to the data notified in the notification step is copied to a block different from the block including the page corresponding to the data received for the other page of the block. An information processing method characterized by the above.
ページ単位でデータの読み書きを行い、複数のページで構成されるブロック単位でデータの消去を行う不揮発性メモリを備える情報処理装置の情報処理方法であって、
前記不揮発性メモリへのアクセスを制御する制御工程と、
前記データがファイルシステムにおいて無効化されたことを通知する通知工程とを有し、
前記制御工程では前記通知工程にて通知をうけたデータに対応するページを含むブロックについて、当該ブロックに通知をうけたデータ以外のデータに対応するページを検出し、検出したページを他のブロックへ複写することを特徴とする情報処理方法。
An information processing method for an information processing apparatus including a non-volatile memory that reads and writes data in units of pages and erases data in units of blocks composed of a plurality of pages,
A control step of controlling access to the nonvolatile memory;
A notification step for notifying that the data has been invalidated in the file system,
In the control step, for a block including a page corresponding to the data notified in the notification step, a page corresponding to data other than the data notified to the block is detected, and the detected page is transferred to another block. An information processing method characterized by copying.
ページ単位でデータの読み書きを行い、複数のページで構成されるブロック単位でデータの消去を行う不揮発性メモリを備える情報処理装置を、
前記不揮発性メモリへのアクセスを制御する制御手段、
前記データがファイルシステムにおいて無効化されたことを前記制御手段に通知する通知手段として機能させ、
前記制御手段は前記通知手段によって通知をうけたデータに対応するページを含むブロックについて、当該ブロックの有する他のページについて前記通知手段によって通知をうけたデータに対応するページを含むブロックとは異なるブロックへ複写することを特徴とするコンピュータが読み取り可能なプログラム。
An information processing apparatus including a non-volatile memory that reads and writes data in units of pages and erases data in units of blocks composed of a plurality of pages.
Control means for controlling access to the nonvolatile memory;
Function as a notification means for notifying the control means that the data has been invalidated in the file system;
The control means is a block different from the block including the page corresponding to the data notified by the notification means for the other pages of the block, including the page corresponding to the data notified by the notification means. A computer-readable program characterized by copying to a computer.
ページ単位でデータの読み書きを行い、複数のページで構成されるブロック単位でデータの消去を行う不揮発性メモリを備える情報処理装置を、
前記不揮発性メモリへのアクセスを制御する制御手段、
前記データがファイルシステムにおいて無効化されたことを前記制御手段に通知する通知手段として機能させ、
前記制御手段は前記通知手段によって通知をうけたデータに対応するページを含むブロックについて、当該ブロックに通知をうけたデータ以外の他のデータに対応するページを検出し、検出したページを他のブロックへ複写することを特徴とするコンピュータが読み取り可能なプログラム。
An information processing apparatus including a non-volatile memory that reads and writes data in units of pages and erases data in units of blocks composed of a plurality of pages.
Control means for controlling access to the nonvolatile memory;
Function as a notification means for notifying the control means that the data has been invalidated in the file system;
The control means detects a page corresponding to other data other than the data notified to the block for a block including a page corresponding to the data notified by the notification means, and detects the detected page as another block. A computer-readable program characterized by copying to a computer.
JP2014084716A 2014-04-16 2014-04-16 Information processing device, information processing method and program Pending JP2015204071A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014084716A JP2015204071A (en) 2014-04-16 2014-04-16 Information processing device, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014084716A JP2015204071A (en) 2014-04-16 2014-04-16 Information processing device, information processing method and program

Publications (1)

Publication Number Publication Date
JP2015204071A true JP2015204071A (en) 2015-11-16

Family

ID=54597480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014084716A Pending JP2015204071A (en) 2014-04-16 2014-04-16 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (1) JP2015204071A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018041417A (en) * 2016-09-09 2018-03-15 キヤノン株式会社 Information processing device and control method thereof, and program
CN116893853A (en) * 2023-09-11 2023-10-17 合肥康芯威存储技术有限公司 Storage device and processing method of erasing instruction

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018041417A (en) * 2016-09-09 2018-03-15 キヤノン株式会社 Information processing device and control method thereof, and program
CN113641315A (en) * 2016-09-09 2021-11-12 佳能株式会社 Information processing apparatus and method of controlling information processing apparatus
CN116893853A (en) * 2023-09-11 2023-10-17 合肥康芯威存储技术有限公司 Storage device and processing method of erasing instruction
CN116893853B (en) * 2023-09-11 2023-12-12 合肥康芯威存储技术有限公司 Storage device and processing method of erasing instruction

Similar Documents

Publication Publication Date Title
US10191688B2 (en) Memory system and information processing system
JP5213539B2 (en) Image processing apparatus and memory management method for image processing apparatus
JP6525507B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM
US9223695B2 (en) Information processing apparatus
US20160188461A1 (en) Data management apparatus and method
CN110362499B (en) Electronic machine and control method thereof, computer system and control method thereof, and control method of host
JP4924645B2 (en) Storage control device, storage system, and copy method.
JP6094677B2 (en) Information processing apparatus, memory dump method, and memory dump program
JP6875808B2 (en) Information processing device
JP2014010498A5 (en)
KR20120084906A (en) Non-volatile memory system and management method therefor
JP2012168937A (en) Memory control apparatus for controlling data writing into storage, control method therefor, storage medium, and image forming apparatus
JP2015204073A (en) Information processing device, information processing terminal, information processing method, and program
JPWO2009001514A1 (en) MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, FILE SYSTEM, NONVOLATILE STORAGE SYSTEM, DATA WRITE METHOD, AND DATA WRITE PROGRAM
JP2016206938A (en) Information processing system, memory control method for information processing system, and program
JP2015204071A (en) Information processing device, information processing method and program
US20170199687A1 (en) Memory system and control method
JP2010176398A (en) Multifunction printer
US20190065395A1 (en) Storage device and data arrangement method
US20200319999A1 (en) Storage device, control method of storage device, and storage medium
JP2018063676A (en) Information processing device, control method thereof, and program
JP2015204072A (en) Information processor, information processing method, and program
JP2013109404A (en) Information processing device
JP2018014005A (en) Storage controller
JP2010176399A (en) Nand type flash memory device and data erase method for nand type flash memory