JP2012164129A - Buffer cache management method, buffer cache management device and program - Google Patents

Buffer cache management method, buffer cache management device and program Download PDF

Info

Publication number
JP2012164129A
JP2012164129A JP2011023958A JP2011023958A JP2012164129A JP 2012164129 A JP2012164129 A JP 2012164129A JP 2011023958 A JP2011023958 A JP 2011023958A JP 2011023958 A JP2011023958 A JP 2011023958A JP 2012164129 A JP2012164129 A JP 2012164129A
Authority
JP
Japan
Prior art keywords
buffer
sector
size
block
empty
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.)
Granted
Application number
JP2011023958A
Other languages
Japanese (ja)
Other versions
JP5709563B2 (en
Inventor
Kohei Masagome
浩平 正込
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 JP2011023958A priority Critical patent/JP5709563B2/en
Publication of JP2012164129A publication Critical patent/JP2012164129A/en
Application granted granted Critical
Publication of JP5709563B2 publication Critical patent/JP5709563B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a mechanism for managing data on a plurality of storage devices whose physical sector sizes are different, without dividing a buffer cache area for each of the storage devices.SOLUTION: A buffer cache management system (a buffer cache management device) 103 for managing a buffer cache 108 which holds data on a plurality of storage devices (105-107) having different sector sizes, manages a memory area used for the buffer cache 108 with the biggest sector size among the plurality of storage devices (105-107) as a basic management unit and manages a block for storing the data by further dividing the basic management unit internally, according to the size of a sector to be accessed.

Description

本発明は、ファイルシステムにおいて、異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラムに関する。   The present invention relates to a buffer cache management method, a buffer cache management device, and a program for managing a buffer cache that holds data on a plurality of storage devices having different sector sizes in a file system.

ファイルシステムとは、記憶装置に記録されているデータを管理する方式、管理を行なうソフトウェアや、記憶媒体に設けられた管理領域や管理情報のことである。   A file system is a method for managing data recorded in a storage device, software for management, management area and management information provided in a storage medium.

このファイルシステムでは、バッファキャッシュと呼ばれる機構を持つことが多い。これは、記憶装置から読み込んだデータ、または記憶装置に書き込むデータを一旦バッファキャッシュと呼ばれるメモリ領域に置くことで、参照の局所性を用いたアクセスの高速化、記憶装置へのアクセス回数の低減、先読みによる高速化などを行うためのものである。   This file system often has a mechanism called a buffer cache. This is because data read from the storage device or data to be written to the storage device is temporarily placed in a memory area called a buffer cache, speeding up access using the locality of reference, reducing the number of accesses to the storage device, This is for speeding up by prefetching.

記憶装置は、一般にセクタと呼ばれる固定サイズの物理的に連続な領域を最小単位としており、ファイルシステムでは、この単位にデータの記録再生を行う。一般に、そのサイズは、2のべき乗で規定される。   A storage device generally uses a fixed-size physically continuous area called a sector as a minimum unit, and a file system records and reproduces data in this unit. In general, the size is defined as a power of two.

セクタのサイズは、ハードディスクやSDカードなどの代表的な記憶装置では、512バイトとなっている。この他、1K(1024)バイトまたは2Kバイトのセクタサイズのメディアも存在する。このため、512バイトと、これらの大容量のセクタサイズ間で、互換をとることが出来るようにする要求がある。   The sector size is 512 bytes in typical storage devices such as hard disks and SD cards. In addition, there are media having a sector size of 1K (1024) bytes or 2K bytes. For this reason, there is a request to be able to achieve compatibility between 512 bytes and these large-capacity sector sizes.

このような物理セクタサイズの異なる記憶装置上のデータを扱う場合、OS(ファイルシステム)と記憶装置のセクタサイズの違いを吸収する方式は既に提案されている(例えば、下記の特許文献1、下記の特許文献2、下記の特許文献3、下記の特許文献4など)。   In the case of handling data on storage devices having different physical sector sizes, a method for absorbing the difference between the sector sizes of the OS (file system) and the storage device has already been proposed (for example, Patent Document 1 below, Patent Document 2, the following Patent Document 3, the following Patent Document 4, and the like).

特開平4−165527号公報JP-A-4-165527 米国特許第5485439号明細書US Pat. No. 5,485,439 特開平4−14127号公報Japanese Patent Laid-Open No. 4-14127 特開平9−146710号公報JP-A-9-146710

しかしながら、上述した従来の方式では、異なるセクタサイズを有する複数の記憶装置を扱いたい場合、アクセスする記憶装置を切り替える度にバッファキャッシュ上のデータを同期するか、記憶装置の数に応じてバッファキャッシュの領域を分割する必要がある。このため、「完全に同時に扱えない」、「バッファキャッシュの利用効率が悪い」といったような問題があった。   However, in the conventional method described above, when a plurality of storage devices having different sector sizes are to be handled, the data in the buffer cache is synchronized every time the storage device to be accessed is switched, or the buffer cache is changed according to the number of storage devices. It is necessary to divide the area. For this reason, there are problems such as “cannot be handled completely at the same time” and “inefficient use of buffer cache”.

本発明は、このような問題点に鑑みてなされたものであり、バッファキャッシュ領域を記憶装置ごとに分割することなく、物理セクタサイズの異なる複数の記憶装置上のデータを管理する仕組みを提供することを目的とする。   The present invention has been made in view of such problems, and provides a mechanism for managing data on a plurality of storage devices having different physical sector sizes without dividing the buffer cache area for each storage device. For the purpose.

本発明のバッファキャッシュ管理方法は、異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法であって、前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップとを有する。
また、本発明は、上述したバッファキャッシュ管理方法を実行するバッファキャッシュ管理装置、及び、当該バッファキャッシュ管理方法をコンピュータに実行させるためのプログラムを含む。
The buffer cache management method of the present invention is a buffer cache management method by a buffer cache management device for managing buffer caches that hold data on a plurality of storage devices having different sector sizes, and is used for the buffer cache. A basic management unit management step for managing a memory area using a maximum sector size of the plurality of storage devices as a basic management unit, and a partition for storing the data according to the size of the sector to be accessed. And a division management step for further dividing and managing them internally.
The present invention also includes a buffer cache management apparatus that executes the above-described buffer cache management method, and a program for causing a computer to execute the buffer cache management method.

本発明によれば、バッファキャッシュ領域を記憶装置ごとに分割することなく、物理セクタサイズの異なる複数の記憶装置上のデータを同時に扱う(管理する)ことが出来るようになり、バッファキャッシュの利用効率を向上させることが出来る。   According to the present invention, it is possible to simultaneously handle (manage) data on a plurality of storage devices having different physical sector sizes without dividing the buffer cache area for each storage device. Can be improved.

本発明の実施形態により記憶装置上のデータが管理されるファイルシステムを含む全体構成の一例を示す模式図である。1 is a schematic diagram illustrating an example of an overall configuration including a file system for managing data on a storage device according to an embodiment of the present invention. 本発明の実施形態を示し、最大物理セクタサイズの取得方法の処理手順の一例を示すフローチャートである。It is a flowchart which shows embodiment of this invention and shows an example of the process sequence of the acquisition method of the largest physical sector size. 本発明の実施形態を示し、バッファキャッシュ方法の一例を示すフローチャートである。It is a flowchart which shows embodiment of this invention and shows an example of the buffer cache method. 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。It is a schematic diagram which shows Example 1 of this invention and shows an example of the state transition of a buffer cache. 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。It is a schematic diagram which shows Example 1 of this invention and shows an example of the state transition of a buffer cache. 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。It is a schematic diagram which shows Example 1 of this invention and shows an example of the state transition of a buffer cache. 本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。It is a schematic diagram which shows Example 1 of this invention and shows an example of the state transition of a buffer cache. バッファのLRU順序と入れ替え対象ブロックの一例を示す模式図である。It is a schematic diagram which shows an example of the LRU order of a buffer, and a replacement object block. 図1に示すバッファキャッシュ管理システム(バッファキャッシュ管理装置)のハードウェア構成の一例を示す模式図である。It is a schematic diagram which shows an example of the hardware constitutions of the buffer cache management system (buffer cache management apparatus) shown in FIG.

以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。   Hereinafter, embodiments (embodiments) for carrying out the present invention will be described with reference to the drawings.

ここでは、本発明に係るバッファキャッシュ管理システム(バッファキャッシュ管理装置)、バッファキャッシュ管理方法及びプログラムの実施形態を、図に基づいて説明する。
まず、図1は、本発明の実施形態により記憶装置上のデータが管理されるファイルシステムを含む全体構成の一例を示す模式図である。
Here, embodiments of a buffer cache management system (buffer cache management apparatus), a buffer cache management method, and a program according to the present invention will be described with reference to the drawings.
First, FIG. 1 is a schematic diagram showing an example of an overall configuration including a file system for managing data on a storage device according to an embodiment of the present invention.

図1において、アプリケーション101は、接続している記憶装置内のデータをプログラムにおいて利用したい場合、ファイルシステム102を介してドライバ104により記憶装置(105〜107)からデータを取得する。ただし、ファイルシステム102に内包されるバッファキャッシュ管理システム103により、既に目的のデータがバッファキャッシュ108にキャッシュされている場合には、記憶装置にはアクセスせず、バッファキャッシュ108からデータを取得する。   In FIG. 1, an application 101 acquires data from a storage device (105 to 107) by a driver 104 via a file system 102 when data in a connected storage device is to be used in a program. However, if the target data is already cached in the buffer cache 108 by the buffer cache management system 103 included in the file system 102, the storage device is not accessed and the data is acquired from the buffer cache 108.

本実施形態では、「物理セクタサイズの異なる複数の記憶装置」と接続していることを前提にしており、図1の記憶装置105、106及び107は、それぞれ、物理セクタサイズが512バイト、1Kバイト、2Kバイトと異なる記憶装置である。これらの記憶装置上のデータについてバッファキャッシュ108の領域を「記憶装置ごと」に分割することなく管理する。   In this embodiment, it is assumed that the storage devices 105, 106, and 107 in FIG. 1 are connected to “a plurality of storage devices having different physical sector sizes”. The physical sector size is 512 bytes, 1K, respectively. It is a storage device different from byte, 2K byte. The data in these storage devices is managed without dividing the area of the buffer cache 108 into “for each storage device”.

バッファキャッシュ管理システム(バッファキャッシュ管理装置:以下同様)103は、異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュ108を管理するためのものである。
具体的に、バッファキャッシュ管理システム103は、バッファキャッシュ108に使用するメモリ領域を複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する(基本管理単位管理ステップ)。図1に示す例では、2Kバイトを基本管理単位としている。そして、バッファキャッシュ管理システム103は、アクセスするセクタのサイズに応じて、そのデータを格納する区画を、基本管理単位(図1に示す例では2Kバイト)を更に内部的に分割して管理する(分割管理ステップ)。
A buffer cache management system (buffer cache management device: the same applies hereinafter) 103 is for managing a buffer cache 108 that holds data on a plurality of storage devices having different sector sizes.
Specifically, the buffer cache management system 103 manages the memory area used for the buffer cache 108 with the maximum sector size of a plurality of storage devices as a basic management unit (basic management unit management step). In the example shown in FIG. 1, 2 Kbytes are the basic management unit. Then, the buffer cache management system 103 manages the partition for storing the data by further dividing the basic management unit (2 K bytes in the example shown in FIG. 1) further internally according to the size of the sector to be accessed ( Split management step).

上述したように、バッファキャッシュ108は、接続されている記憶装置のうち、最も大きい物理セクタサイズで管理される。この最大物理セクタサイズは、バッファキャッシュ管理システム103内の最大セクタサイズ記憶領域109に記憶されている。最大物理セクタサイズの取得方法は図2のフローチャートに従う。   As described above, the buffer cache 108 is managed with the largest physical sector size among the connected storage devices. This maximum physical sector size is stored in the maximum sector size storage area 109 in the buffer cache management system 103. The method for obtaining the maximum physical sector size follows the flowchart of FIG.

図2は、本発明の実施形態を示し、最大物理セクタサイズの取得方法の処理手順の一例を示すフローチャートである。   FIG. 2 is a flowchart illustrating an example of a processing procedure of the method for obtaining the maximum physical sector size according to the embodiment of this invention.

まず、ステップS201において、例えばバッファキャッシュ管理システム103は、最大セクタサイズ(最大物理セクタサイズ)を0に初期化する。   First, in step S201, for example, the buffer cache management system 103 initializes the maximum sector size (maximum physical sector size) to zero.

続いて、ステップS202において、例えばバッファキャッシュ管理システム103は、接続済みの記憶装置を1つ認識する。   Subsequently, in step S202, for example, the buffer cache management system 103 recognizes one connected storage device.

続いて、ステップS203において、例えばバッファキャッシュ管理システム103は、ステップS202で認識した記憶装置のセクタサイズを取得する。   Subsequently, in step S203, for example, the buffer cache management system 103 acquires the sector size of the storage device recognized in step S202.

続いて、ステップS204において、例えばバッファキャッシュ管理システム103は、ステップS203で取得したセクタサイズが、現在の最大セクタサイズ(最大物理セクタサイズ)と比較して大きいか否かを判断する。この判断の結果、ステップS203で取得したセクタサイズが、現在の最大セクタサイズ(最大物理セクタサイズ)と比較して大きい場合には、ステップS205に進む。   Subsequently, in step S204, for example, the buffer cache management system 103 determines whether or not the sector size acquired in step S203 is larger than the current maximum sector size (maximum physical sector size). As a result of the determination, if the sector size acquired in step S203 is larger than the current maximum sector size (maximum physical sector size), the process proceeds to step S205.

ステップS205に進むと、例えばバッファキャッシュ管理システム103は、ステップS203で取得したセクタサイズを、最大セクタサイズ(最大物理セクタサイズ)として更新する。   In step S205, for example, the buffer cache management system 103 updates the sector size acquired in step S203 as the maximum sector size (maximum physical sector size).

ステップS205の処理が終了した場合、或いは、ステップS204においてステップS203で取得したセクタサイズが現在の最大セクタサイズ(最大物理セクタサイズ)と比較して大きくない場合には、ステップS206に進む。   When the process of step S205 is completed, or when the sector size acquired in step S203 in step S204 is not larger than the current maximum sector size (maximum physical sector size), the process proceeds to step S206.

ステップS206に進むと、例えばバッファキャッシュ管理システム103は、全ての記憶装置のセクタサイズを取得したか否かを判断する。この判断の結果、全ての記憶装置のセクタサイズについては未だ取得していない場合には、ステップS207に進む。   In step S206, for example, the buffer cache management system 103 determines whether the sector sizes of all the storage devices have been acquired. As a result of the determination, if the sector sizes of all the storage devices have not yet been acquired, the process proceeds to step S207.

ステップS207に進むと、例えばバッファキャッシュ管理システム103は、セクタサイズ未取得の次の記憶装置を認識する。その後、ステップS203に戻り、ステップS203以降の処理を行う。即ち、ステップS203〜ステップS205の処理を全ての記憶装置のセクタサイズを取得するまで繰り返し、最大セクタサイズ(最大物理セクタサイズ)を求める。   In step S207, for example, the buffer cache management system 103 recognizes the next storage device that has not acquired the sector size. Then, it returns to step S203 and performs the process after step S203. That is, the processes in steps S203 to S205 are repeated until the sector sizes of all the storage devices are acquired, and the maximum sector size (maximum physical sector size) is obtained.

一方、ステップS206の判断の結果、全ての記憶装置のセクタサイズを取得した場合には、図2のフローチャートの処理を終了する。   On the other hand, if the result of determination in step S206 is that the sector sizes of all storage devices have been acquired, the processing of the flowchart of FIG.

よって、図1の場合、記憶装置107の物理セクタサイズが2Kバイトで最も大きいため、バッファキャッシュ管理システム103によるバッファキャッシュ108は、2Kバイトを基本単位に管理されることとなる。このとき、この2Kバイトごとのバッファエリアのことを「バッファブロック」と呼ぶことにする。   Therefore, in the case of FIG. 1, since the physical sector size of the storage device 107 is the largest at 2 Kbytes, the buffer cache 108 by the buffer cache management system 103 is managed in 2 Kbytes as a basic unit. At this time, the buffer area for every 2 K bytes is called a “buffer block”.

バッファキャッシュ108に目的のデータがない場合、キャッシュが発生するが、そのデータのキャッシュ方法は図3のフローチャートに従う。
図3は、本発明の実施形態を示し、バッファキャッシュ方法の一例を示すフローチャートである。
以下の[実施例1]〜[実施例3]によって、図3のフローチャートの各ステップに対応したフローチャートの説明を行う。
なお、以下の実施例におけるバッファキャッシュ管理システム103は、図9に示す情報処理装置(バッファキャッシュ管理装置)によって実行される。また、ROM930の中に後述の実施例で挙げるフローチャートの処理をCPU910に実現させるプログラムを格納しておく。そして、プログラムを実行させる際にROM930のプログラムをRAM920に読み出し、CPU910が処理できるようにする。ここで、950はバスであり、ROM930、RAM920、CPU910及びHDD940のデータをやりとりする。HDD940は記憶装置であり、CPU910によってセクタサイズが管理される対象となる。なお、図示はしていないが、ファイルシステムによって管理される記憶装置としては、HDD(ハードディスクドライブ)以外にもフラッシュメモリやSSD(ソリッドステートディスク)等であってもよい。また、HDD(記憶装置)940は、着脱可能であっても良い。
If there is no target data in the buffer cache 108, a cache is generated. The method for caching the data follows the flowchart of FIG.
FIG. 3 is a flowchart illustrating an example of the buffer cache method according to the embodiment of this invention.
The following [Embodiment 1] to [Embodiment 3] explain the flowchart corresponding to each step of the flowchart of FIG.
The buffer cache management system 103 in the following embodiment is executed by the information processing apparatus (buffer cache management apparatus) shown in FIG. In addition, a program that causes the CPU 910 to execute the processing of the flowcharts described in the embodiments described later is stored in the ROM 930. Then, when the program is executed, the program in the ROM 930 is read into the RAM 920 so that the CPU 910 can process it. Here, reference numeral 950 denotes a bus, which exchanges data of the ROM 930, the RAM 920, the CPU 910, and the HDD 940. The HDD 940 is a storage device and is a target whose sector size is managed by the CPU 910. Although not shown, the storage device managed by the file system may be a flash memory, an SSD (solid state disk), or the like in addition to the HDD (hard disk drive). The HDD (storage device) 940 may be detachable.

バッファキャッシュ108にデータを読み込む際、ステップS301の空きバッファ検索ステップにおいて、例えばバッファキャッシュ管理システム103は、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファがあるか否かを判断する。この判断の結果、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファがある場合には、ステップS310のセクタキャッシュステップへ進む。ステップS310のセクタキャッシュステップへ進むと、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。   When data is read into the buffer cache 108, in the free buffer search step in step S301, for example, the buffer cache management system 103 determines whether there is a free buffer on the cache buffer having the same size as the sector to be accessed. If it is determined that there is an empty buffer on the cache buffer having the same size as the sector to be accessed, the process proceeds to the sector cache step of step S310. When proceeding to the sector cache step of step S310, for example, the buffer cache management system 103 caches the data in an empty buffer having the same size as the sector size, and ends the process.

このときのバッファキャッシュの状態遷移を示したものが図4である。
図4は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ402であった場合、アクセスするセクタ401は、アクセスするセクタ401と同じセクタサイズの空きバッファのうち、最も先頭に近いバッファ404にキャッシュされる(バッファキャッシュ403参照)。
FIG. 4 shows the state transition of the buffer cache at this time.
FIG. 4 is a schematic diagram illustrating an example of state transition of the buffer cache according to the first embodiment of this invention. When the initial state is the buffer cache 402, the sector 401 to be accessed is cached in the buffer 404 closest to the head among the empty buffers having the same sector size as the sector 401 to be accessed (see the buffer cache 403).

ここで、再び、図3の説明に戻る。
ステップS301の空きバッファ検索ステップにおいて、アクセスするセクタと同一サイズのキャッシュバッファ上の空きバッファが検索されなかった場合には、ステップS302の空きバッファブロック検索ステップへ進む。
Here, it returns to description of FIG. 3 again.
In the empty buffer search step in step S301, if an empty buffer on the cache buffer having the same size as the sector to be accessed is not searched, the process proceeds to an empty buffer block search step in step S302.

続いて、ステップS302の空きバッファブロック検索ステップにおいて、例えばバッファキャッシュ管理システム103は、バッファブロックの空き領域があるか否かを判断する。この判断の結果、バッファブロックの空き領域がある場合には、ステップS308のバッファブロック分割ステップへ進む。
ステップS308のバッファブロック分割ステップにおいて、例えばバッファキャッシュ管理システム103は、検索された空きバッファブロックの管理サイズを、アクセスするセクタサイズに分割して空きバッファを生成する。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
Subsequently, in the empty buffer block search step in step S302, for example, the buffer cache management system 103 determines whether there is an empty area of the buffer block. If the result of this determination is that there is a free space in the buffer block, the process proceeds to the buffer block dividing step in step S308.
In the buffer block dividing step of step S308, for example, the buffer cache management system 103 generates a free buffer by dividing the management size of the searched free buffer block into the sector size to be accessed. Thereafter, the process proceeds to the sector cache step of step S310. For example, the buffer cache management system 103 caches data in an empty buffer having the same size as the sector size, and ends the process.

このときのバッファキャッシュの状態遷移を示したものが図5である。
図5は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ502であった場合、空きバッファブロック505が、アクセスするセクタ501のセクタサイズで分割されて、バッファキャッシュ503のような状態になる。その後、アクセスするセクタ501は、バッファキャッシュ504の状態のように分割された空きバッファのうち、最も先頭に近いバッファにキャッシュされる。
FIG. 5 shows the state transition of the buffer cache at this time.
FIG. 5 is a schematic diagram illustrating an example of state transition of the buffer cache according to the first embodiment of this invention. When the initial state is the buffer cache 502, the empty buffer block 505 is divided by the sector size of the sector 501 to be accessed, and a state like the buffer cache 503 is obtained. Thereafter, the sector 501 to be accessed is cached in the buffer closest to the top of the free buffers divided as in the buffer cache 504.

ここで、再び、図3の説明に戻る。
ステップS302の空きバッファブロック検索ステップにおいて、バッファブロックの空き領域がなかった場合には、ステップS303の入れ替え対象バッファ決定ステップに進む。
ステップS303の入れ替え対象バッファ決定ステップに進むと、例えばバッファキャッシュ管理システム103は、LRU等のアルゴリズムにより入れ替え対象のバッファを決定する。
Here, it returns to description of FIG. 3 again.
If there is no free space in the buffer block in the free buffer block search step in step S302, the process proceeds to the replacement target buffer determination step in step S303.
When proceeding to the replacement target buffer determination step in step S303, for example, the buffer cache management system 103 determines a replacement target buffer by an algorithm such as LRU.

続いて、ステップS304のバッファサイズ比較ステップにおいて、例えばバッファキャッシュ管理システム103は、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが異なるか否かを判断する。この判断の結果、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが異なる場合には、ステップS305の入れ替え対象バッファブロック決定ステップへと進む。
ステップS305の入れ替え対象バッファブロック決定ステップへと進むと、例えばバッファキャッシュ管理システム103は、バッファブロックでの同期を行うために、新たに入れ替え対象のバッファブロックを決定する。
Subsequently, in the buffer size comparison step in step S304, for example, the buffer cache management system 103 determines whether or not the size of the replacement target buffer is different from the size of the sector to be accessed. If the size of the replacement target buffer is different from the size of the sector to be accessed as a result of this determination, the process proceeds to the replacement target buffer block determination step in step S305.
When proceeding to the replacement target buffer block determination step in step S305, for example, the buffer cache management system 103 newly determines a replacement target buffer block in order to perform synchronization in the buffer block.

続いて、ステップS306のバッファブロック同期ステップにおいて、例えばバッファキャッシュ管理システム103は、ステップS305の入れ替え対象バッファブロック決定ステップで決定された入れ替え対象バッファブロックを記憶装置と同期して、そのバッファブロックを空きバッファブロックとする。   Subsequently, in the buffer block synchronization step in step S306, for example, the buffer cache management system 103 synchronizes the replacement target buffer block determined in the replacement target buffer block determination step in step S305 with the storage device, and frees up the buffer block. A buffer block.

続いて、ステップS307のバッファブロック結合ステップにおいて、例えばバッファキャッシュ管理システム103は、ステップS306のバッファブロック同期ステップで同期したバッファブロックの管理の単位をバッファブロックサイズに戻す。   Subsequently, in the buffer block combining step of step S307, for example, the buffer cache management system 103 returns the management unit of the buffer block synchronized in the buffer block synchronization step of step S306 to the buffer block size.

続いて、ステップS308のバッファブロック分割ステップにおいて、例えばバッファキャッシュ管理システム103は、検索された空きバッファブロックの管理サイズを、アクセスするセクタサイズに分割して空きバッファを生成する。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。   Subsequently, in the buffer block dividing step of step S308, for example, the buffer cache management system 103 generates a free buffer by dividing the management size of the searched free buffer block into the sector size to be accessed. Thereafter, the process proceeds to the sector cache step of step S310. For example, the buffer cache management system 103 caches data in an empty buffer having the same size as the sector size, and ends the process.

このときのバッファキャッシュの状態遷移を表したものが図6である。
図6は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ602であった場合、LRUにより決定された入れ替え対象のバッファを607とする。この入れ替え対象バッファ607と読み込みデータ601のサイズを比較すると、そのサイズが異なるため、バッファブロック単位での入れ替えを実行するために、入れ替え対象バッファブロックの決定をステップS305で行う。
FIG. 6 shows the state transition of the buffer cache at this time.
FIG. 6 is a schematic diagram illustrating an example of state transition of the buffer cache according to the first embodiment of this invention. When the initial state is the buffer cache 602, the replacement target buffer determined by the LRU is set to 607. When the sizes of the replacement target buffer 607 and the read data 601 are compared, the sizes are different. Therefore, in order to execute replacement in units of buffer blocks, the replacement target buffer block is determined in step S305.

ステップS305の入れ替え対象バッファブロック決定ステップでは、バッファごとのLRUの順序づけを利用する。具体的には、バッファブロックごとにLRUの順序の代表値を設定し、その代表値の値によって入れ替え対象を決定する。ただし、ここで利用するLRUの順序付けは、LRUの順序の数字が小さい程、使用されてからの時間が経っているバッファであるものとする。   In the replacement target buffer block determination step in step S305, the LRU ordering for each buffer is used. Specifically, a representative value of the LRU order is set for each buffer block, and the replacement target is determined based on the representative value. However, the LRU ordering used here is a buffer that has been used for a longer time as the LRU order number is smaller.

本発明において、その代表値の取り方は、「ブロック内で最も小さい(古い)値を代表値とする」、「ブロック内で最も大きい(新しい)値を代表値とする」、「ブロック内の平均値を取り代表値とする」の3種類を提案するが、実施例1では、これらのうち、「ブロック内で最も小さい(古い)値を代表値とする」方法について説明する。   In the present invention, the representative value can be obtained by “representing the smallest (older) value in the block as a representative value”, “representing the largest (newer) value in the block as a representative value”, “ Three types of “take an average value as a representative value” are proposed. In the first embodiment, a method of “making the smallest (older) value in a block the representative value” will be described.

ここで、図8は、バッファのLRU順序と入れ替え対象ブロックの一例を示す模式図である。
図8の801を、図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内で最も小さい(古い)値を代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の802のような数値になる。その結果、図8の802の中で最も代表値が小さいブロックである図8の805(図6の606)が入れ替え対象バッファブロックとして選択される。
Here, FIG. 8 is a schematic diagram illustrating an example of the LRU order of the buffers and the replacement target block.
801 in FIG. 8 indicates the LRU order of each buffer in the buffer cache 602 in FIG. At this time, if the method of taking the representative value of the buffer block is performed by the method of “using the smallest (oldest) value in the block as the representative value”, the representative value of each buffer block is a numerical value such as 802 in FIG. become. As a result, the block 805 in FIG. 8 (606 in FIG. 6) having the smallest representative value among the blocks 802 in FIG. 8 is selected as the replacement target buffer block.

入れ替え対象のバッファブロックが選択されたら、図6の604のように、そのブロックをブロックごと同期する。このとき、図6の603の状態のように管理単位がブロックサイズに戻り、同期されたブロックは空きバッファブロックとみなされる。   When the buffer block to be replaced is selected, the block is synchronized with the block as indicated by reference numeral 604 in FIG. At this time, the management unit returns to the block size as in the state 603 in FIG. 6, and the synchronized block is regarded as an empty buffer block.

生成された空きバッファブロックは、アクセスするセクタ601のセクタサイズで分割され、605のような状態になる。その後、アクセスするセクタ601は、606の状態のように分割されたバッファのうち、最も先頭に近いバッファにキャッシュされる。   The generated empty buffer block is divided by the sector size of the sector 601 to be accessed, and a state like 605 is obtained. Thereafter, the sector 601 to be accessed is cached in the buffer closest to the head among the divided buffers as in the state 606.

ここで、再び、図3の説明に戻る。
ステップS304の空きバッファサイズ比較ステップにおいて、入れ替え対象バッファのサイズとアクセスするセクタのサイズとが同一だと判断された場合には、ステップS309のバッファ同期ステップへ進む。
ステップS309のバッファ同期ステップへ進むと、例えばバッファキャッシュ管理システム103は、入れ替え対象バッファを記憶装置と同期して、そのバッファを空きバッファとする。その後、ステップS310のセクタキャッシュステップへ進み、例えばバッファキャッシュ管理システム103は、セクタサイズと同一サイズの空きバッファにデータをキャッシュして処理を終了する。
Here, it returns to description of FIG. 3 again.
If it is determined in the free buffer size comparison step in step S304 that the size of the replacement target buffer and the size of the sector to be accessed are the same, the process proceeds to the buffer synchronization step in step S309.
When proceeding to the buffer synchronization step of step S309, for example, the buffer cache management system 103 synchronizes the replacement target buffer with the storage device and sets the buffer as an empty buffer. Thereafter, the process proceeds to the sector cache step of step S310. For example, the buffer cache management system 103 caches data in an empty buffer having the same size as the sector size, and ends the process.

このときのバッファキャッシュの状態遷移を表したものが図7である。
図7は、本発明の実施例1を示し、バッファキャッシュの状態遷移の一例を示す模式図である。初期状態がバッファキャッシュ702であった場合、LRUにより決定された入れ替え対象バッファを706とする。この入れ替え対象バッファ706と読み込みデータ701のサイズを比較すると、そのサイズが同じであるため、バッファ単位での入れ替えを実行する。
FIG. 7 shows the state transition of the buffer cache at this time.
FIG. 7 is a schematic diagram illustrating an example of state transition of the buffer cache according to the first embodiment of this invention. If the initial state is the buffer cache 702, the replacement target buffer determined by the LRU is set to 706. When the sizes of the replacement target buffer 706 and the read data 701 are compared with each other, the sizes are the same, so the replacement is performed in units of buffers.

入れ替え対象のバッファが選択されたら、704のようにそのバッファを同期する。このとき、バッファキャッシュ703の状態のように、同期されたバッファは空きバッファとみなされる。その後、アクセスするセクタ701は、バッファキャッシュ705の状態のように同期が行われ、空き状態となったバッファにキャッシュされる。   When the replacement target buffer is selected, the buffer is synchronized as in 704. At this time, as in the state of the buffer cache 703, the synchronized buffer is regarded as an empty buffer. Thereafter, the sector 701 to be accessed is synchronized as in the state of the buffer cache 705 and cached in the buffer that has become free.

本実施例2では、実施例1のステップS305の入れ替え対象バッファブロック決定ステップが「ブロック内で最も大きい(新しい)値を代表値とする」方法である場合について説明する。   In the second embodiment, a case will be described in which the replacement target buffer block determination step in step S305 of the first embodiment is a method in which “the largest (new) value in a block is used as a representative value”.

図8の801を図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内で最も大きい(新しい)値を代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の803のような数値になる。その結果、図8の803の中で最も代表値が小さいブロックである図8の806が入れ替え対象バッファブロックとして選択される。   801 in FIG. 8 represents the LRU order of each buffer in the buffer cache 602 in FIG. At this time, if the method of taking the representative value of the buffer block is performed by the method of “using the largest (new) value in the block as the representative value”, the representative value of each buffer block is a numerical value such as 803 in FIG. become. As a result, the block 806 in FIG. 8, which has the smallest representative value among the blocks 803 in FIG. 8, is selected as the replacement target buffer block.

この方法は、実施例1と比べて、最近読み込まれたバッファが入れ替え対象となり難いという利点がある。   Compared with the first embodiment, this method has an advantage that a recently read buffer is not easily replaced.

入れ替え対象のバッファブロックが選択されたら、後は、実施例1と同様に、そのブロックをブロックごと同期する。このとき、管理単位がブロックサイズに戻り、同期されたブロックは空きバッファブロックとみなされる。   After the replacement target buffer block is selected, the block is synchronized with the block in the same manner as in the first embodiment. At this time, the management unit returns to the block size, and the synchronized block is regarded as an empty buffer block.

生成された空きバッファブロックは、アクセスするセクタ601のセクタサイズで分割された後、アクセスするセクタ601は、分割されたバッファのうち、最も先頭に近いバッファにキャッシュされる。   The generated empty buffer block is divided by the sector size of the sector 601 to be accessed, and then the sector 601 to be accessed is cached in the buffer closest to the head among the divided buffers.

本実施例3では、実施例1のステップS305の入れ替え対象バッファブロック決定ステップが「ブロック内の平均値を取り代表値とする」方法である場合について説明する。   In the third embodiment, a case will be described in which the replacement target buffer block determination step in step S305 of the first embodiment is a method of “taking an average value in a block as a representative value”.

図8の801を図6のバッファキャッシュ602のそれぞれのバッファのLRU順序を示したものとする。このとき、バッファブロックの代表値の取り方を「ブロック内の平均値を取り代表値とする」方法で行うと、それぞれのバッファブロックの代表値は、図8の804のような数値になる。その結果、図8の804の中で最も代表値が小さいブロックである図8の807が入れ替え対象バッファブロックとして選択される。   801 in FIG. 8 represents the LRU order of each buffer in the buffer cache 602 in FIG. At this time, if the method of obtaining the representative value of the buffer block is performed by the method of “taking the average value in the block as the representative value”, the representative value of each buffer block becomes a numerical value such as 804 in FIG. As a result, the block 807 in FIG. 8, which has the smallest representative value among the blocks 804 in FIG. 8, is selected as the replacement target buffer block.

入れ替え対象のバッファブロックが選択されたら、後は、実施例1と同様に、そのブロックをブロックごと同期する。このとき、管理単位がブロックサイズに戻り、同期されたブロックは空きバッファブロックとみなされる。   After the replacement target buffer block is selected, the block is synchronized with the block in the same manner as in the first embodiment. At this time, the management unit returns to the block size, and the synchronized block is regarded as an empty buffer block.

生成された空きバッファブロックは、アクセスするセクタ601のセクタサイズで分割される。その後、アクセスするセクタ601は、分割されたバッファのうち、最も先頭に近いバッファにキャッシュされる。   The generated empty buffer block is divided by the sector size of the sector 601 to be accessed. Thereafter, the sector 601 to be accessed is cached in the buffer closest to the head among the divided buffers.

(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。
(Other embodiments)
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, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
This program and a computer-readable recording medium storing the program are included in the present invention.

101 アプリケーション、102 ファイルシステム、103 バッファキャッシュ管理システム、104 ドライバ、105〜107 記憶装置、108 バッファキャッシュ、109 最大セクタサイズ記憶領域 101 application, 102 file system, 103 buffer cache management system, 104 driver, 105-107 storage device, 108 buffer cache, 109 maximum sector size storage area

Claims (10)

異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法であって、
前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、
アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップと
を有することを特徴とするバッファキャッシュ管理方法。
A buffer cache management method by a buffer cache management device for managing a buffer cache for holding data on a plurality of storage devices having different sector sizes,
A basic management unit management step of managing a memory area used for the buffer cache as a basic management unit of a maximum sector size of the plurality of storage devices;
A buffer cache management method comprising: a partition management step for further dividing and partitioning the basic management unit internally according to the size of a sector to be accessed.
前記アクセスするセクタのサイズと同一サイズのキャッシュバッファ上の空きバッファを検索する空きバッファ検索ステップを更に有することを特徴とする請求項1に記載のバッファキャッシュ管理方法。   2. The buffer cache management method according to claim 1, further comprising an empty buffer search step of searching for an empty buffer on a cache buffer having the same size as the size of the sector to be accessed. 前記空きバッファ検索ステップにおいてアクセスするセクタのサイズと同一サイズの空きバッファがなかった場合、バッファブロックでの空き領域を検索する空きバッファブロック検索ステップを更に有することを特徴とする請求項2に記載のバッファキャッシュ管理方法。   3. The empty buffer block searching step of searching for an empty area in a buffer block when there is no empty buffer having the same size as a sector to be accessed in the empty buffer searching step. Buffer cache management method. 前記空きバッファブロック検索ステップにおいて空きバッファブロックがなかった場合、LRUを含むアルゴリズムにより入れ替え対象のバッファを決定する入れ替え対象バッファ決定ステップと、
前記入れ替え対象バッファ決定ステップにより決定された入れ替え対象バッファとアクセスするセクタのサイズとを比較するバッファサイズ比較ステップと
を更に有することを特徴とする請求項3に記載のバッファキャッシュ管理方法。
If there is no empty buffer block in the empty buffer block search step, a replacement target buffer determination step for determining a replacement target buffer by an algorithm including LRU;
4. The buffer cache management method according to claim 3, further comprising: a buffer size comparison step for comparing the replacement target buffer determined in the replacement target buffer determination step with the size of the sector to be accessed.
前記バッファサイズ比較ステップにおいて入れ替え対象バッファとアクセスするセクタのサイズが異なる場合、前記バッファブロックでの同期を行うために新たに入れ替え対象のバッファブロックを決定する入れ替え対象バッファブロック決定ステップと、
前記入れ替え対象バッファブロック決定ステップで決定された入れ替え対象バッファブロックを記憶装置と同期して、そのバッファブロックを空きバッファブロックとするバッファブロック同期ステップと、
前記バッファブロック同期ステップで同期したバッファブロックの管理の単位をバッファブロックサイズに戻すバッファブロック結合ステップと
を更に有することを特徴とする請求項4に記載のバッファキャッシュ管理方法。
If the size of the sector to be accessed differs from the replacement target buffer in the buffer size comparison step, a replacement target buffer block determination step for newly determining a replacement target buffer block in order to perform synchronization with the buffer block;
A buffer block synchronization step in which the replacement target buffer block determined in the replacement target buffer block determination step is synchronized with a storage device and the buffer block is an empty buffer block;
5. The buffer cache management method according to claim 4, further comprising: a buffer block combining step for returning a unit of management of the buffer blocks synchronized in the buffer block synchronization step to a buffer block size.
前記空きバッファブロック検索ステップにより検索された空きバッファブロックもしくは前記バッファブロック同期ステップにより同期された空きバッファブロックの管理サイズを、アクセスするセクタのサイズに分割して空きバッファを生成するバッファブロック分割ステップを更に有することを特徴とする請求項5に記載のバッファキャッシュ管理方法。   A buffer block dividing step of generating an empty buffer by dividing the management size of the empty buffer block searched by the empty buffer block searching step or the empty buffer block synchronized by the buffer block synchronizing step into the size of the sector to be accessed; 6. The buffer cache management method according to claim 5, further comprising: 前記バッファサイズ比較ステップにおいて入れ替え対象バッファとアクセスするセクタのサイズが同一である場合、その入れ替え対象バッファを記憶装置と同期して、そのバッファを空きバッファとするバッファ同期ステップを更に有することを特徴とする請求項6に記載のバッファキャッシュ管理方法。   When the size of the sector to be accessed is the same as the replacement target buffer in the buffer size comparison step, the buffer size comparison step further includes a buffer synchronization step of synchronizing the replacement target buffer with the storage device and setting the buffer as an empty buffer. The buffer cache management method according to claim 6. 前記空きバッファ検索ステップにより検索されたアクセスするセクタと同一サイズの空きバッファもしくは前記バッファブロック分割ステップにより生成された空きバッファもしくは前記バッファ同期ステップにより生成された空きバッファに、アクセスするセクタをキャッシュするセクタキャッシュステップを更に有することを特徴とする請求項7に記載のバッファキャッシュ管理方法。   A sector that caches a sector to be accessed in an empty buffer having the same size as the sector to be accessed searched in the empty buffer search step, an empty buffer generated in the buffer block dividing step, or an empty buffer generated in the buffer synchronization step The buffer cache management method according to claim 7, further comprising a cache step. 異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置であって、
前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理手段と、
アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理手段と
を有することを特徴とするバッファキャッシュ管理装置。
A buffer cache management device for managing a buffer cache for holding data on a plurality of storage devices having different sector sizes,
Basic management unit management means for managing a memory area used for the buffer cache as a basic management unit of a maximum sector size of the plurality of storage devices;
A buffer cache management apparatus comprising: partition management means for managing a partition storing the data by further dividing the basic management unit internally according to the size of a sector to be accessed.
異なるセクタサイズを有する複数の記憶装置上のデータを保持するバッファキャッシュを管理するためのバッファキャッシュ管理装置によるバッファキャッシュ管理方法をコンピュータに実行させるためのプログラムであって、
前記バッファキャッシュに使用するメモリ領域を前記複数の記憶装置のうちの最大のセクタサイズを基本管理単位として管理する基本管理単位管理ステップと、
アクセスするセクタのサイズに応じて、そのデータを格納する区画を、前記基本管理単位を更に内部的に分割して管理する分割管理ステップと
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a buffer cache management method by a buffer cache management device for managing a buffer cache for holding data on a plurality of storage devices having different sector sizes,
A basic management unit management step of managing a memory area used for the buffer cache as a basic management unit of a maximum sector size of the plurality of storage devices;
A program for causing a computer to execute a division management step for further dividing and managing the basic management unit in accordance with the size of a sector to be accessed.
JP2011023958A 2011-02-07 2011-02-07 Buffer cache management method, buffer cache management device and program Expired - Fee Related JP5709563B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011023958A JP5709563B2 (en) 2011-02-07 2011-02-07 Buffer cache management method, buffer cache management device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011023958A JP5709563B2 (en) 2011-02-07 2011-02-07 Buffer cache management method, buffer cache management device and program

Publications (2)

Publication Number Publication Date
JP2012164129A true JP2012164129A (en) 2012-08-30
JP5709563B2 JP5709563B2 (en) 2015-04-30

Family

ID=46843462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011023958A Expired - Fee Related JP5709563B2 (en) 2011-02-07 2011-02-07 Buffer cache management method, buffer cache management device and program

Country Status (1)

Country Link
JP (1) JP5709563B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235066A (en) * 1995-02-22 1996-09-13 Hokkaido Nippon Denki Software Kk Securing system for disk cache buffer
JPH08339341A (en) * 1995-06-12 1996-12-24 Hitachi Ltd Selection method for main storage page
JPH1063578A (en) * 1996-08-23 1998-03-06 Olympus Optical Co Ltd Information recording and reproducing device
JP2002108707A (en) * 2000-09-28 2002-04-12 Nec Eng Ltd Cache memory control system
US20060095660A1 (en) * 2004-11-01 2006-05-04 Fujitsu Limited Media storage apparatus, cache segment switching method of media storage apparatus, and media storage system
US20070041050A1 (en) * 2005-08-17 2007-02-22 Bing-Yu Wang Memory management method and system
JP2008171212A (en) * 2007-01-11 2008-07-24 Data Technology Inc File management device and program
JP2010118125A (en) * 2008-11-14 2010-05-27 Konica Minolta Opto Inc Recording medium drive apparatus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235066A (en) * 1995-02-22 1996-09-13 Hokkaido Nippon Denki Software Kk Securing system for disk cache buffer
JPH08339341A (en) * 1995-06-12 1996-12-24 Hitachi Ltd Selection method for main storage page
JPH1063578A (en) * 1996-08-23 1998-03-06 Olympus Optical Co Ltd Information recording and reproducing device
JP2002108707A (en) * 2000-09-28 2002-04-12 Nec Eng Ltd Cache memory control system
US20060095660A1 (en) * 2004-11-01 2006-05-04 Fujitsu Limited Media storage apparatus, cache segment switching method of media storage apparatus, and media storage system
US20070041050A1 (en) * 2005-08-17 2007-02-22 Bing-Yu Wang Memory management method and system
JP2008171212A (en) * 2007-01-11 2008-07-24 Data Technology Inc File management device and program
JP2010118125A (en) * 2008-11-14 2010-05-27 Konica Minolta Opto Inc Recording medium drive apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND199800717008; 中島 信行: '私のプログラム' インターフェース 第21巻 第6号 通巻217号, 19950601, pp.159-167, CQ出版株式会社 *
JPN6014035567; 中島 信行: '私のプログラム' インターフェース 第21巻 第6号 通巻217号, 19950601, pp.159-167, CQ出版株式会社 *

Also Published As

Publication number Publication date
JP5709563B2 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
US9891857B2 (en) Utilizing global digests caching in similarity based data deduplication
US9892127B2 (en) Global digests caching in a data deduplication system
EP3309685B1 (en) Method and apparatus for writing data to cache
US9817865B2 (en) Direct lookup for identifying duplicate data in a data deduplication system
US20100146213A1 (en) Data Cache Processing Method, System And Data Cache Apparatus
TWI771933B (en) Method for performing deduplication management with aid of command-related filter, host device, and storage server
US20140359233A1 (en) Read-write control method for memory, and corresponding memory and server
KR20170097609A (en) Apparatus, system and method for caching compressed data background
US9727479B1 (en) Compressing portions of a buffer cache using an LRU queue
WO2014015828A1 (en) Data storage space processing method and processing system, and data storage server
WO2015145647A1 (en) Storage device, data processing method, and storage system
CN112632069B (en) Hash table data storage management method, device, medium and electronic equipment
US20190042134A1 (en) Storage control apparatus and deduplication method
CN107798063B (en) Snapshot processing method and snapshot processing device
US10007436B2 (en) Storage control apparatus and control method of storage control apparatus
JP2019128906A (en) Storage device and control method therefor
JP2009003934A (en) Data management system, data management method, and computer-readable recording medium in which program for performing data management method is recorded
US9836222B2 (en) Storage apparatus, storage control method, and storage system
CN106776361B (en) Caching method and system for large-scale nonvolatile storage medium
US10296597B2 (en) Read ahead of digests in similarity based data deduplicaton
WO2016206070A1 (en) File updating method and storage device
JPWO2011019029A1 (en) Data processing apparatus, data recording method, and data recording program
US10585802B1 (en) Method and system for caching directories in a storage system
US10185660B2 (en) System and method for automated data organization in a storage system
JPH08137754A (en) Disk cache device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141017

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: 20150203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150303

LAPS Cancellation because of no payment of annual fees