JP5146351B2 - Storage device, data relocation method, and program - Google Patents

Storage device, data relocation method, and program Download PDF

Info

Publication number
JP5146351B2
JP5146351B2 JP2009033075A JP2009033075A JP5146351B2 JP 5146351 B2 JP5146351 B2 JP 5146351B2 JP 2009033075 A JP2009033075 A JP 2009033075A JP 2009033075 A JP2009033075 A JP 2009033075A JP 5146351 B2 JP5146351 B2 JP 5146351B2
Authority
JP
Japan
Prior art keywords
data
disk
physical block
pool
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009033075A
Other languages
Japanese (ja)
Other versions
JP2010191539A (en
Inventor
寛之 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009033075A priority Critical patent/JP5146351B2/en
Publication of JP2010191539A publication Critical patent/JP2010191539A/en
Application granted granted Critical
Publication of JP5146351B2 publication Critical patent/JP5146351B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は複数のディスクプールを有するストレージ装置に関し、特に該ストレージ装置の中で行われるデータの再配置に関する。   The present invention relates to a storage apparatus having a plurality of disk pools, and more particularly to data relocation performed in the storage apparatus.

複数の物理ディスクを組み合わせて構成されるストレージ装置は、それらの物理ディスク上の物理ブロックを多数組み合わせて仮想的な記憶領域である論理ディスクを形成し、ホスト計算機は該論理ディスク上のアドレスに対してデータの読み出しまたは書き込みの命令を発するという形になることが多い。   A storage device configured by combining a plurality of physical disks forms a logical disk, which is a virtual storage area, by combining a large number of physical blocks on the physical disks, and the host computer responds to the addresses on the logical disks. In many cases, a command for reading or writing data is issued.

それらのストレージ装置では、要求される記憶容量の増大に対応して近年ますます多数の物理ディスクが組み合わされるようになっている。それに伴い、該ストレージ装置のコストダウンなどのため、データアクセス速度が高速であるかわりに高価な高速物理ディスクと、高速物理ディスクに比べてデータアクセス速度が劣るかわりに安価な低速物理ディスクとを、それぞれ複数組み合わせてストレージ装置が構築されるようになっている。   In these storage apparatuses, in recent years, more and more physical disks have been combined in response to an increase in required storage capacity. Accordingly, in order to reduce the cost of the storage device, an expensive high-speed physical disk instead of a high data access speed, and an inexpensive low-speed physical disk that is less expensive than a high-speed physical disk, A plurality of storage devices are constructed by combining them.

その際、ホスト計算機からアクセスされるアクセス頻度に応じて、頻繁にアクセスされるデータは高速物理ディスクに格納され、そうではないデータは低速物理ディスクに格納されるように構成するという技術がある。「データアクセスの80%は物理領域の20%に対して発生する」と言われているので、この技術によって、該ストレージ装置の性能を損なわずにコストダウンを実現できると期待される。   At this time, there is a technique in which frequently accessed data is stored in a high-speed physical disk and data that is not so stored in a low-speed physical disk in accordance with the access frequency accessed from the host computer. Since it is said that “80% of data access occurs with respect to 20% of the physical area”, it is expected that this technology can realize cost reduction without impairing the performance of the storage device.

ただし、上記の従来技術に係るデータの再配置は、論理ディスク単位で実施されるのが普通である。そのため、特に論理ディスクのサイズが大きい場合、大量のデータに対して頻繁に再配置を行うと、ストレージ装置および物理ディスクに対して過大な負荷を与え、通常のデータの読み出しおよび書き込みの処理に対して悪影響を与えることになる。   However, the above-described data rearrangement according to the prior art is normally performed in units of logical disks. Therefore, especially when the size of the logical disk is large, frequent relocation of a large amount of data imposes an excessive load on the storage device and the physical disk, resulting in normal data read and write processing. Adversely affected.

また、論理ディスク内のデータアクセスに偏りがある場合には、再配置によって効果が得られる領域と効果が得られない領域が存在する。このような論理ディスクに対して、論理ディスク単位でデータの再配置を行うと、前述のストレージ装置および物理ディスクに対する負荷、および通常の処理に対する悪影響の問題が、再配置する必要性が低い領域に対しても生じる。さらに、再配置する必要性が高いか低いかの判断が、論理ディスク単位の情報だけではきわめて困難であるという問題もある。   When there is a bias in data access in the logical disk, there are areas where the effect can be obtained by the rearrangement and areas where the effect cannot be obtained. If data is relocated to such a logical disk in units of logical disks, the load on the storage device and physical disk described above, and the problem of adverse effects on normal processing will be in an area where the need for relocation is low. It also occurs. In addition, there is a problem that it is extremely difficult to determine whether the necessity of rearrangement is high or low only by information in units of logical disks.

これに関連する技術文献として、次のものがある。特許文献1には、論理ディスクに対応する物理ディスクの間で物理ブロック単位でデータを再割り付けする方法の一例が開示されている。特許文献2には、アクセス頻度に応じて論理ディスクをより高速な物理ディスクに再配置する方法の一例が開示されている。   The following technical literature is related to this. Patent Document 1 discloses an example of a method for reallocating data in units of physical blocks between physical disks corresponding to logical disks. Patent Document 2 discloses an example of a method for rearranging a logical disk to a higher-speed physical disk according to the access frequency.

上記の特許文献2の技術においては、アクセス頻度についての情報を記録する「アクセス情報」に基づいて論理ディスクをより高速な物理ディスクに再配置するデータ再配置の可否を判断している。これに特許文献1の物理ブロック単位でデータを再割り付けする技術を組み合わせれば、論理ディスク単位でデータ再配置を行うことに伴う上記の問題は解決されることになる。   In the technique of the above-described Patent Document 2, it is determined whether or not data relocation is possible to relocate a logical disk to a higher-speed physical disk based on “access information” that records information about access frequency. Combining this with the technology for reallocation of data in physical block units of Patent Document 1 will solve the above-mentioned problems associated with data relocation in logical disk units.

特開2003−131816号公報JP 2003-131816 A 特開2003−271425号公報JP 2003-271425 A

しかしながら、上記の特許文献2の技術では、アクセス頻度の高いデータを高速物理ディスクに再配置する処理が通常のデータの読み出しおよび書き込みとは別個に行われるので、特に大量のデータを再配置する場合には、ストレージ装置および物理ディスクに対する負荷を大きく増すことにつながる。   However, in the technique of the above-mentioned Patent Document 2, since the process of rearranging frequently accessed data to the high-speed physical disk is performed separately from normal data reading and writing, particularly when a large amount of data is rearranged This greatly increases the load on the storage device and the physical disk.

また、上記の特許文献2の技術においては、アクセス頻度の高いデータを高速物理ディスクに再配置することはできるが、アクセス頻度の低いデータを低速物理ディスクに再配置することはできない。従って、特許文献1および2を組み合わせた技術によってデータ再配置を続けると、高速物理ディスクにばかりデータが集中してしまうことになるので、高速物理ディスクと低速物理ディスクとを組み合わせた構成にする意味自体がなくなってしまう。   In the technique disclosed in Patent Document 2, data with high access frequency can be relocated to a high speed physical disk, but data with low access frequency cannot be relocated to a low speed physical disk. Therefore, if the data rearrangement is continued by the technique combining Patent Documents 1 and 2, data is concentrated only on the high-speed physical disk. Therefore, the meaning is to combine the high-speed physical disk and the low-speed physical disk. Itself disappears.

これに特許文献1の物理ブロック単位でデータを再割り付けする技術を組み合わせても、以上の2点の問題を解決できるものではない。   Even if this is combined with the technology of reallocation of data in physical block units in Patent Document 1, the above two problems cannot be solved.

本発明の目的は、ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置する処理を可能とするストレージ装置、データ再配置方法およびプログラムを提供することにある。   An object of the present invention is to provide a storage device, a data relocation method, and a program that enable processing to relocate frequently accessed data to a high-speed physical disk while suppressing a load on the storage device and the physical disk. is there.

上記目的を達成するため、本発明に係るストレージ装置は、単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリと、第1のディスクプールおよび第2のディスクプール上の物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブルを使用してホスト計算機からの論理ディスクに対する読み出し要求および書き込み要求に対応して物理ブロックにデータを読み書きする制御部とを備え、制御部が、論理ディスク上のアドレスに対する読み出し要求に対応して、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存し、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新するデータ読み出し手段を含むことを特徴とする。   In order to achieve the above object, a storage apparatus according to the present invention includes a first disk pool including one or more first physical disk apparatuses, and a second data access speed lower than that of the first physical disk apparatus. A second disk pool including one or more physical disk devices, a cache memory for temporarily storing data, and a physical block on the first disk pool and the second disk pool are associated with addresses on the logical disk. A control unit that reads / writes data from / to a physical block in response to a read request / write request from the host computer to the logical disk using a logical disk allocation table. Correspondingly, data is read from the first physical block and cache memo is read. If the first physical block is on the second disk pool and the data on the cache memory is written to the second physical block on the first disk pool, the first physical block is stored Data read means for releasing and updating the logical disk allocation table is included.

上記目的を達成するため、本発明に係るデータ再配置方法は、単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置でデータの再配置を行う方法であって、ホスト計算機からの論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、論理ディスク上のアドレスに対応する第1のディスクプールもしくは第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定工程と、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存するデータ読み出し工程と、第1の物理ブロックが第1のディスクプールと第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定工程と、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新する第1のデータ再配置工程とを有することを特徴とする。   In order to achieve the above object, a data relocation method according to the present invention includes a first disk pool including one or more first physical disk devices, and a data access speed lower than that of the first physical disk device. A method of rearranging data in a storage device having a second disk pool including one or more physical disk devices and a cache memory for temporarily storing data, on a logical disk from a host computer The first request for specifying the first physical block on the first disk pool or the second disk pool corresponding to the address on the logical disk by the logical disk allocation table prepared in advance is received. Physical block identification step and cache memory by reading data from the first physical block A data read step for storing data in the first disk pool, a first disk pool specifying step for specifying in which of the first disk pool and the second disk pool the first physical block exists, and a first physical block When the data is on the second disk pool, the logical disk allocation table is updated by releasing the first physical block after writing the data on the cache memory to the second physical block on the first disk pool. 1 data rearrangement step.

上記目的を達成するため、本発明に係るデータ再配置プログラムは、単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置を制御するコンピュータに、ホスト計算機からの論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、論理ディスク上のアドレスに対応する第1のディスクプールもしくは第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定処理と、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存するデータ読み出し処理と、第1の物理ブロックが第1のディスクプールと第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定処理と、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新する第1のデータ再配置処理とを実行させることを特徴とする。   In order to achieve the above object, a data relocation program according to the present invention includes a first disk pool including one or more first physical disk devices and a data access speed lower than that of the first physical disk device. A read request for an address on a logical disk from a host computer to a computer that controls a storage device having a second disk pool including one or more physical disk devices and a cache memory for temporarily storing data. And a first physical block specifying process for specifying the first physical block on the first disk pool or the second disk pool corresponding to the address on the logical disk by using a logical disk allocation table prepared in advance. Read data from the first physical block and put it in the cache memory Existing data read processing, first disk pool specifying processing for specifying in which of the first disk pool and the second disk pool the first physical block is present, and the first physical block being the second The first physical block is released and the logical disk allocation table is updated after writing the data on the cache memory to the second physical block on the first disk pool. Data relocation processing is executed.

本発明は、データをキャッシュメモリ上に保存してから、物理ブロックが低速物理ディスクに存在する場合にキャッシュメモリ上のデータを高速物理ディスクに記録して低速物理ディスク上の領域を開放するように構成したので、データの読み書き処理の中でデータ再配置を実施することができる。これによって、ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置する処理を可能とするという、従来にない優れたストレージ装置、データ再配置方法およびプログラムを提供することができる。   In the present invention, after data is stored on the cache memory, when the physical block exists on the low-speed physical disk, the data on the cache memory is recorded on the high-speed physical disk to release the area on the low-speed physical disk. Since it is configured, data rearrangement can be performed during data read / write processing. As a result, an unprecedented superior storage device, data relocation method, and program capable of relocating frequently accessed data to a high-speed physical disk while suppressing the load on the storage device and the physical disk Can be provided.

本発明の実施の形態に係るストレージ装置の構成を示すブロック図である。It is a block diagram which shows the structure of the storage apparatus which concerns on embodiment of this invention. 図1に示したストレージ装置で、制御部が実行する機能の構成を示す機能ブロック図である。FIG. 2 is a functional block diagram illustrating a configuration of functions executed by a control unit in the storage apparatus illustrated in FIG. 1. 図2で示した論理ディスク割り当てテーブルのデータ構成を示す概念図である。FIG. 3 is a conceptual diagram illustrating a data configuration of a logical disk allocation table illustrated in FIG. 2. 図2で示した読み出し頻度テーブルのデータ構成を示す概念図である。It is a conceptual diagram which shows the data structure of the read frequency table shown in FIG. 図2で示した書き込み頻度テーブルのデータ構成を示す概念図である。It is a conceptual diagram which shows the data structure of the write frequency table shown in FIG. 図2で示した無アクセス状況記録テーブルのデータ構成を示す概念図である。It is a conceptual diagram which shows the data structure of the no access status recording table shown in FIG. 図2で示したデータ読み出し手段の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data reading means shown in FIG. 図2で示したデータ書き込み手段の動作を示すフローチャートである。3 is a flowchart showing the operation of the data writing means shown in FIG. 図2で示したデータ再配置手段の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data rearrangement means shown in FIG.

図1は、本発明の実施の形態に係るストレージ装置100の構成を示すブロック図である。ストレージ装置100は、ホスト計算機10とネットワークを介して接続され、ホスト計算機10からの要求によってデータの読み出しまたは書き込みを行う。   FIG. 1 is a block diagram showing the configuration of the storage apparatus 100 according to the embodiment of the present invention. The storage apparatus 100 is connected to the host computer 10 via a network, and reads or writes data according to a request from the host computer 10.

ストレージ装置100は、ホスト計算機10に接続してデータのやりとりを行うホストアダプタ130と、未処理の要求およびデータを一時的に保存するキャッシュメモリ140、後述の高速ディスクプール102および低速ディスクプール112、および以上で述べた各部の動作を制御する制御部150とから構成される。   The storage apparatus 100 is connected to the host computer 10 to exchange data, a cache memory 140 that temporarily stores unprocessed requests and data, a high-speed disk pool 102 and a low-speed disk pool 112 described later, And a control unit 150 that controls the operation of each unit described above.

高速ディスクプール102は、データアクセス速度が高速である高速物理ディスク101を1つ以上含む。低速ディスクプール112は、データアクセス速度が低速である低速物理ディスク111を1つ以上含む。なお、ここでいう「高速」および「低速」は、この両者の間においてデータアクセス速度を相対的に比較していう概念に過ぎない。   The high speed disk pool 102 includes one or more high speed physical disks 101 having a high data access speed. The low-speed disk pool 112 includes one or more low-speed physical disks 111 whose data access speed is low. Here, “high speed” and “low speed” are merely concepts in which the data access speed is relatively compared between them.

制御部150はプロセッサおよびROM、RAMなどを有するマイクロコンピュータであり、高速ディスクプール102上の物理ブロック103a、103b…、および低速ディスクプール112上の物理ブロック113a、113b…、を一定の単位長に区分して物理ブロックを構成し、各々の物理ブロックの集合から論理的な記憶領域である論理ディスク120を構成する。   The control unit 150 is a microcomputer having a processor, a ROM, a RAM, and the like. The physical blocks 103a, 103b... On the high-speed disk pool 102 and the physical blocks 113a, 113b. A physical block is configured by partitioning, and a logical disk 120, which is a logical storage area, is configured from each set of physical blocks.

図2は、図1に示したストレージ装置100で、制御部150が実行する機能の構成を示す機能ブロック図である。これらの機能は、制御部150を構成するコンピュータによって実行されるプログラムとして実現されることが望ましい。制御部150は、論理ディスク120に対して、データ読み出し手段201、データ書き込み手段202、データ再配置手段203といった機能を実行する。また、後述の論理ディスク割り当てテーブル301、論理ディスク読み出し頻度テーブル302、論理ディスク書き込み頻度テーブル303、無アクセス状況記録テーブル304といった各テーブルを管理する。   FIG. 2 is a functional block diagram showing a configuration of functions executed by the control unit 150 in the storage apparatus 100 shown in FIG. These functions are preferably realized as a program executed by a computer constituting the control unit 150. The control unit 150 executes functions such as a data reading unit 201, a data writing unit 202, and a data rearrangement unit 203 for the logical disk 120. Also, each table such as a logical disk allocation table 301, a logical disk read frequency table 302, a logical disk write frequency table 303, and a no access status recording table 304, which will be described later, is managed.

データ読み出し手段201は、ホスト計算機10から読み出し要求を受けたときに動作し、対象とする論理ディスクに対して要求されたアドレスに対応する領域から記録されたデータを読み出してキャッシュメモリ140に格納した後、ホスト計算機に応答を返却する。   The data reading unit 201 operates when a read request is received from the host computer 10, reads data recorded from an area corresponding to the requested address for the target logical disk, and stores the data in the cache memory 140. After that, the response is returned to the host computer.

ただし、読み出した領域が低速ディスクプール112上の物理ブロックであった場合は、データ読み出し手段201は高速ディスクプール102上に物理ブロックを新たに確保し、キャッシュメモリ140上のデータを高速ディスクプールの当該物理ブロックに書き込み、当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。   However, if the read area is a physical block on the low-speed disk pool 112, the data reading unit 201 secures a new physical block on the high-speed disk pool 102 and transfers the data on the cache memory 140 to the high-speed disk pool. Write to the physical block, and allocate the physical block as a new storage area for the logical disk.

データ書き込み手段202は、ホスト計算機10から書き込み要求を受けたときに動作し、対象とする論理ディスクに対して要求されたアドレスに対応する領域が低速ディスクプール112の物理ブロックであった場合は、高速ディスクプール102上の物理ブロックを新たに確保し、キャッシュメモリ140上のデータを高速ディスクプールの当該物理ブロックに書き込み当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。   The data writing unit 202 operates when a write request is received from the host computer 10, and when the area corresponding to the requested address for the target logical disk is a physical block of the low-speed disk pool 112, A new physical block on the high-speed disk pool 102 is secured, data on the cache memory 140 is written into the physical block of the high-speed disk pool, and the physical block is allocated as a new storage area for the logical disk.

データ再配置手段203は、タイマなどによって定期的に動作し(または外部からの再配置要求によって動作するようにすることもできる)、対象となる論理ディスクを選択した後、当該論理ディスクに対する論理ディスク読み出し頻度テーブル302および論理ディスク書き込み頻度テーブル303を参照して、アクセスの有無を算出し、該論理ディスクに対して一定期間アクセスの無い状態を検出する。   The data relocation unit 203 operates periodically by a timer or the like (or can be operated by a relocation request from the outside), selects a target logical disk, and then selects a logical disk for the logical disk. With reference to the read frequency table 302 and the logical disk write frequency table 303, the presence / absence of access is calculated, and the state of no access to the logical disk for a certain period is detected.

そのような状態を検出した場合で、かつアクセスの無い領域に対して高速ディスクプール102の物理ブロックが割り当てられていた場合は、データ再配置手段203は低速ディスクプール112上の物理ブロックを新たなに確保し、当該領域のデータを読み出して新たに確保した低速ディスクプール112上の物理ブロックに書き込み、当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。   When such a state is detected and a physical block of the high-speed disk pool 102 is allocated to a non-accessed area, the data relocation unit 203 renews the physical block on the low-speed disk pool 112. And the data in the area is read and written to the newly reserved physical block on the low-speed disk pool 112, and the physical block is allocated as a new storage area for the logical disk.

図3は、図2で示した論理ディスク割り当てテーブル301のデータ構成を示す概念図である。論理ディスク割り当てテーブル301は、論理ディスクの割り当て状況を管理するテーブルであり、論理ディスクID301a、割り当てアドレス301b、性能区分301c、格納プール識別情報301dおよび格納アドレス情報301eといった各データを含む。   FIG. 3 is a conceptual diagram showing the data structure of the logical disk allocation table 301 shown in FIG. The logical disk allocation table 301 is a table for managing the allocation status of logical disks, and includes data such as a logical disk ID 301a, an allocation address 301b, a performance category 301c, storage pool identification information 301d, and storage address information 301e.

論理ディスクID301aは、論理ディスク120を識別する情報である。割り当てアドレス301bは、当該論理ディスク上の領域に対応するアドレスを示す。性能区分301cは、当該論理ディスク上の領域が高速ディスクプール102と低速ディスクプール112のいずれに含まれているかを示す。格納プール識別情報301dおよび格納アドレス情報301eは、論理ディスクID301aおよび割り当てアドレス301bで表される論理ディスク上の領域に対応する物理ブロックの所在を示す。   The logical disk ID 301a is information for identifying the logical disk 120. The allocation address 301b indicates an address corresponding to an area on the logical disk. The performance category 301c indicates whether the area on the logical disk is included in the high-speed disk pool 102 or the low-speed disk pool 112. The storage pool identification information 301d and the storage address information 301e indicate the location of the physical block corresponding to the area on the logical disk represented by the logical disk ID 301a and the assigned address 301b.

ここでは、格納プール識別情報301dが「P1」の場合は高速ディスクプール102に物理ブロックが含まれることになるので、性能区分301cは「高」である。格納プール識別情報301dが「P2」の場合は低速ディスクプール112に物理ブロックが含まれることになるので、性能区分301cは「低」である。なお、論理ディスク上には物理ブロックが割り当てられていない領域もある。その場合は、該領域に対応する性能区分301c、格納プール識別情報301d、格納アドレス情報301eは空欄である。   Here, when the storage pool identification information 301d is “P1”, the physical partition is included in the high-speed disk pool 102, so the performance classification 301c is “high”. When the storage pool identification information 301d is “P2”, the physical block is included in the low-speed disk pool 112, so the performance classification 301c is “low”. There are areas on the logical disk to which no physical block is allocated. In that case, the performance classification 301c, the storage pool identification information 301d, and the storage address information 301e corresponding to the area are blank.

図4は、図2で示した読み出し頻度テーブル302のデータ構成を示す概念図である。読み出し頻度テーブル302は、論理ディスクの読み出し頻度を管理するテーブルであり、論理ディスク120を識別する情報である論理ディスクID302a、当該論理ディスク上の領域に対応するアドレス302b、および当該アドレスに対して読み出しの有無を示す読み出し判別情報302cといった各データを含む。   FIG. 4 is a conceptual diagram showing the data structure of the read frequency table 302 shown in FIG. The read frequency table 302 is a table for managing the read frequency of the logical disk. The read frequency table 302 reads the logical disk ID 302a that is information for identifying the logical disk 120, the address 302b corresponding to the area on the logical disk, and the address. Each piece of data such as read discrimination information 302c indicating the presence or absence of the data is included.

図5は、図2で示した書き込み頻度テーブル303のデータ構成を示す概念図である。書き込み頻度テーブル303は、論理ディスクの書き込み頻度を管理するテーブルであり、論理ディスク120を識別する情報である論理ディスクID303a、当該論理ディスク上の領域に対応するアドレス303b、および当該アドレスに対して書き込みの有無を示す書き込み判別情報303cといった各データを含む。   FIG. 5 is a conceptual diagram showing the data structure of the write frequency table 303 shown in FIG. The write frequency table 303 is a table for managing the write frequency of the logical disk. The logical disk ID 303a, which is information for identifying the logical disk 120, the address 303b corresponding to the area on the logical disk, and the write to the address Each piece of data, such as write discrimination information 303c indicating the presence or absence of.

図6は、図2で示した無アクセス状況記録テーブル304のデータ構成を示す概念図である。無アクセス状況記録テーブル304は、論理ディスクに対するアクセスの有無を記録するテーブルであり、論理ディスク120を識別する情報である論理ディスクID304a、当該論理ディスク上の領域に対応するアドレス304b、および当該アドレスに対して無アクセス状態の回数を示す無アクセス頻度304cといった各データを含む。   FIG. 6 is a conceptual diagram showing the data structure of the no access status record table 304 shown in FIG. The non-access status recording table 304 is a table for recording the presence / absence of access to the logical disk. The logical disk ID 304a, which is information for identifying the logical disk 120, the address 304b corresponding to the area on the logical disk, and the address On the other hand, each piece of data includes a no-access frequency 304c indicating the number of no-access states.

図7は、図2で示したデータ読み出し手段201の動作を示すフローチャートである。データ読み出し手段201は、ホスト計算機10からの読み出し要求によって動作を開始すると、まず要求された論理ディスクを識別する論理ディスクID302aと、要求されたアドレスとデータサイズを元に、当該データ読み出し要求に対する論理ディスク上の対応するアドレス302bを算出し、読み出し頻度テーブル302上に当該論理ディスクID302aとアドレス302bにおける読み出し判別情報302cを読み出し「有り」として記録して更新する(ステップS401)。   FIG. 7 is a flowchart showing the operation of the data reading unit 201 shown in FIG. When the data reading unit 201 starts the operation in response to a read request from the host computer 10, first, based on the logical disk ID 302a for identifying the requested logical disk, the requested address, and the data size, a logical for the data read request. The corresponding address 302b on the disk is calculated, and the logical disk ID 302a and the read determination information 302c at the address 302b are read and recorded as “present” on the read frequency table 302 and updated (step S401).

続いてデータ読み出し手段201は論理ディスク割り当てテーブル301を参照し、当該論理ディスク301aの当該アドレス301bに対して割り当てられている物理ブロックの格納プール識別情報301dおよび格納アドレス情報301eを取得し(ステップS402)、当該物理ブロックからデータを読み出してキャッシュメモリ140に格納してホスト計算機10に応答を返却する(ステップS403)。   Subsequently, the data reading unit 201 refers to the logical disk allocation table 301 and obtains storage pool identification information 301d and storage address information 301e of the physical block allocated to the address 301b of the logical disk 301a (step S402). ), Data is read from the physical block, stored in the cache memory 140, and a response is returned to the host computer 10 (step S403).

その後データ読み出し手段201は、性能区分301cから、当該物理ブロックが高速ディスクプール102と低速ディスクプール112のいずれに割り当てられているかを判断する(ステップS404)。高速ディスクプール102であればそのまま処理を終了するが、低速ディスクプール112に割り当てられている場合は、ステップS405からの処理を実施して、該物理ブロックを高速ディスクプール102に付け替える。   Thereafter, the data reading unit 201 determines whether the physical block is allocated to the high speed disk pool 102 or the low speed disk pool 112 from the performance classification 301c (step S404). If it is the high-speed disk pool 102, the processing is terminated as it is, but if it is assigned to the low-speed disk pool 112, the processing from step S405 is performed to replace the physical block with the high-speed disk pool 102.

該物理ブロックを高速ディスクプール102に付け替える処理は、まず高速ディスクプール102内の未割り当ての物理ブロックを新規に割り当てる領域として確保し(ステップS405)、キャッシュメモリ140に格納されている読み出し済のデータを、ステップS405で確保された領域に書き込む(ステップS406)。   In the process of replacing the physical block with the high-speed disk pool 102, first, an unallocated physical block in the high-speed disk pool 102 is secured as a newly allocated area (step S405), and the read data stored in the cache memory 140 is stored. Is written in the area secured in step S405 (step S406).

そして、論理ディスク割り当てテーブル301において、当該論理ディスク301aの当該アドレス301bに対する割り当て領域として、新たに確保した高速ディスクプールのIDとアドレスを格納プール識別情報301dおよび格納アドレス情報301eに記録して更新する(ステップS407)。最後に、低速ディスクプール112に割り当てられていた元の物理ブロックを未割り当て領域として解放する(ステップS408)。以上で物理ブロックを高速ディスクプール102に付け替える処理が完了する。   In the logical disk allocation table 301, the ID and address of the newly secured high-speed disk pool are recorded and updated in the storage pool identification information 301d and storage address information 301e as the allocation area for the address 301b of the logical disk 301a. (Step S407). Finally, the original physical block allocated to the low-speed disk pool 112 is released as an unallocated area (step S408). This completes the process of replacing physical blocks with the high-speed disk pool 102.

図8は、図2で示したデータ書き込み手段202の動作を示すフローチャートである。データ書き込み手段202は、ホスト計算機10からの書き込み要求によって動作を開始すると、まず要求された論理ディスクを識別する論理ディスクID303aと、要求されたアドレスとデータサイズを元に、当該データ書き込み要求に対する論理ディスク上の対応するアドレス303bを算出し書き込み頻度テーブル303上に当該論理ディスクID303aとアドレス303bにおける書き込み判別情報303cを書き込み「有り」として記録して更新する(ステップS501)。   FIG. 8 is a flowchart showing the operation of the data writing means 202 shown in FIG. When the data writing unit 202 starts its operation in response to a write request from the host computer 10, first, based on the logical disk ID 303a for identifying the requested logical disk, the requested address, and the data size, the logical for the data write request. The corresponding address 303b on the disk is calculated, and the logical disc ID 303a and the write discriminating information 303c at the address 303b are recorded as “write” on the write frequency table 303 and updated (step S501).

続いてデータ書き込み手段202は要求されたデータをキャッシュメモリ140上に格納してホスト計算機10に応答を返却し(ステップS502)、論理ディスク割り当てテーブル301を参照して当該論理ディスク301aの当該アドレス301bに対して割り当てられている物理ブロックの格納プール識別情報301dおよび格納アドレス情報301eを取得し(ステップS503)、性能区分301cから、当該物理ブロックが高速ディスクプール102と低速ディスクプール112のいずれに割り当てられているかを判断する(ステップS504)。   Subsequently, the data writing means 202 stores the requested data in the cache memory 140 and returns a response to the host computer 10 (step S502), referring to the logical disk allocation table 301 and corresponding address 301b of the logical disk 301a. The storage pool identification information 301d and the storage address information 301e of the physical block allocated to is acquired (step S503), and the physical block is allocated to either the high speed disk pool 102 or the low speed disk pool 112 from the performance classification 301c. It is determined whether it has been performed (step S504).

当該物理ブロックに割り当てられているのが高速ディスクプール102であれば、キャッシュメモリ140に格納されているデータをそのまま該物理ブロックに書き込んで(ステップS509)終了するが、低速ディスクプール112に割り当てられている場合は、ステップS505からの処理を実施して、該物理ブロックを高速ディスクプール102に付け替える。   If it is the high-speed disk pool 102 that is assigned to the physical block, the data stored in the cache memory 140 is directly written to the physical block (step S509), and the process ends, but the data is assigned to the low-speed disk pool 112. If so, the processing from step S505 is executed to replace the physical block with the high-speed disk pool 102.

該物理ブロックを高速ディスクプール102に付け替える処理は、まず高速ディスクプール102内の未割り当ての物理ブロックを新規に割り当てる領域として確保し(ステップS505)、キャッシュメモリ140に格納されているデータを、ステップS505で確保された領域に書き込む(ステップS506)。   In the process of replacing the physical block with the high-speed disk pool 102, first, an unallocated physical block in the high-speed disk pool 102 is secured as an area to be newly allocated (step S505), and the data stored in the cache memory 140 is changed to the step Write in the area secured in S505 (step S506).

そして、論理ディスク割り当てテーブル301において、当該論理ディスク301aの当該アドレス301bに対する割り当て領域として、新たに確保した高速ディスクプール102のIDとアドレスを格納プール識別情報301dおよび格納アドレス情報301eに記録して更新する(ステップS507)。最後に、低速ディスクプール112に割り当てられていた元の物理ブロックを未割り当て領域として解放する(ステップS508)。以上で物理ブロックを高速ディスクプール102に付け替える処理が完了する。   In the logical disk allocation table 301, the ID and address of the newly secured high-speed disk pool 102 are recorded and updated in the storage pool identification information 301d and the storage address information 301e as the allocation area for the address 301b of the logical disk 301a. (Step S507). Finally, the original physical block allocated to the low-speed disk pool 112 is released as an unallocated area (step S508). This completes the process of replacing physical blocks with the high-speed disk pool 102.

以上の図7および図8に係る処理で、キャッシュメモリ140にデータを記憶させてホスト計算機10に応答を返却する処理は、従来のストレージ装置で通常行われている処理である。これに低速ディスクプール112から高速ディスクプール102へのデータ再配置についての処理を付加しただけであると言えるので、このデータ再配置に係るストレージ装置および物理ディスクに対する負荷はごく小さく済む。   In the processes according to FIGS. 7 and 8 described above, the process of storing data in the cache memory 140 and returning a response to the host computer 10 is a process normally performed in a conventional storage apparatus. Since it can be said that only data relocation processing from the low-speed disk pool 112 to the high-speed disk pool 102 is added to this, the load on the storage device and the physical disk related to this data relocation is very small.

図9は、図2で示したデータ再配置手段203の動作を示すフローチャートである。データ再配置手段203は、タイマ(図示せず)などによって定期的に動作を開始すると、まず読み出し頻度テーブル302および書き込み頻度テーブル303を参照し(ステップS601)、ストレージ装置100上に存在する各々の論理ディスク120に割り当てられた各ブロックのアドレスについて調査を行う。   FIG. 9 is a flowchart showing the operation of the data rearrangement unit 203 shown in FIG. When the data rearrangement unit 203 starts to operate periodically by a timer (not shown) or the like, first, the data relocation unit 203 refers to the read frequency table 302 and the write frequency table 303 (step S601), and each of the data residing on the storage apparatus 100 exists. The address of each block assigned to the logical disk 120 is checked.

データ再配置手段203は、タイマなどによって自身が動作する一周期以内に、一つの論理ディスクの一つのアドレスについてアクセス、つまり読み出し要求あるいは書き込み要求のうちのいずれかがされたか否かを確認する(ステップS602)。   The data rearrangement means 203 checks whether or not one address of one logical disk is accessed, that is, either a read request or a write request is made within one cycle in which the data relocation means 203 operates (see FIG. Step S602).

より具体的には、読み出し頻度テーブル302上で当該論理ディスクID302aとアドレス302bにおける読み出し判別情報302cが読み出し「有り」である、もしくは書き込み頻度テーブル303上で当該論理ディスクID303aとアドレス303bにおける書き込み判別情報303cが書き込み「有り」である場合に、当該論理ディスクの当該アドレスに対して過去にアクセスが存在していたと判断する。読み出し判別情報302cと書き込み判別情報303cのいずれも「無し」であった場合は、過去にアクセスが存在していないと判断する。   More specifically, the read determination information 302c at the logical disk ID 302a and address 302b is “read” on the read frequency table 302, or the write determination information at the logical disk ID 303a and address 303b on the write frequency table 303. If 303c is “write”, it is determined that there has been access to the address of the logical disk in the past. When both the read determination information 302c and the write determination information 303c are “none”, it is determined that there is no access in the past.

ステップS602で過去にアクセスが存在していないと判断された場合は、無アクセス状況記録テーブル304で、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値に1を加算して(ステップS603)、ステップS605に進む。   If it is determined in step S602 that no access has existed in the past, 1 is added to the value of the no access frequency 304c at the address 304b of the logical disk ID 304a in the no access status recording table 304 (step S603). ), The process proceeds to step S605.

一方、ステップS602で過去にアクセスが存在したと判断された場合は、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値を「0」として、さらに読み出し頻度テーブル302の当該アドレスの読み出し判別情報302cを読み出し「無し」に、書き込み頻度テーブル303上の当該アドレスの書き込み判別情報303cも書き込み「無し」にそれぞれ変更して(ステップS604)、ステップS605に進む。   On the other hand, if it is determined in step S602 that access has existed in the past, the value of the no-access frequency 304c at the address 304b of the logical disk ID 304a is set to “0”, and the read determination of the address in the read frequency table 302 is further performed. When the information 302c is read “None”, the write determination information 303c at the address on the write frequency table 303 is also changed to “None” (Step S604), and the process proceeds to Step S605.

つまり、データ再配置手段203が動作する一周期以内に図7で示したデータ読み出し手段201の動作が行われないと、読み出し判別情報302cは「無し」のままである。同様に、一周期以内に図8で示したデータ書き込み手段202の動作が行われないと、書き込み判別情報303cは「無し」のままである。これによって、ステップS602で示したアクセスの有無の判断が成立する。   That is, if the operation of the data reading unit 201 shown in FIG. 7 is not performed within one cycle in which the data rearrangement unit 203 operates, the read determination information 302c remains “none”. Similarly, if the operation of the data writing unit 202 shown in FIG. 8 is not performed within one cycle, the write determination information 303c remains “none”. Thereby, the determination of the presence or absence of access shown in step S602 is established.

続いて、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値が移動条件を満たしているか否かを判断する(ステップS605)。ここでいう移動条件とは、無アクセス頻度304cの値が特定の閾値を超えていることである。この閾値は、固定値として事前に設定してもよいし、また外部環境から変更可能な値としてもよい。移動条件が成立していない場合は、後述のステップS612に進む。   Subsequently, it is determined whether or not the value of the no access frequency 304c at the address 304b of the logical disk ID 304a satisfies the movement condition (step S605). Here, the movement condition is that the value of the no-access frequency 304c exceeds a specific threshold value. This threshold value may be set in advance as a fixed value, or may be a value that can be changed from the external environment. If the movement condition is not satisfied, the process proceeds to step S612 described later.

ステップS605で移動条件が成立した場合は、データ再配置手段203は低速ディスクプール112上に、未割り当ての物理ブロックを新規に割り当てる領域として確保する(ステップS606)。続いて、当該論理ディスクID304aの当該アドレス304bに現在割り当てられている高速ディスクプール102上の物理ブロックに記録されているデータを読み出して、キャッシュメモリ140に格納する(ステップS607)。   If the migration condition is satisfied in step S605, the data relocation unit 203 reserves an unallocated physical block as a newly allocated area on the low-speed disk pool 112 (step S606). Subsequently, the data recorded in the physical block on the high-speed disk pool 102 currently assigned to the address 304b of the logical disk ID 304a is read and stored in the cache memory 140 (step S607).

そしてデータ再配置手段203は、ステップS606で確保された低速ディスクプール112上の物理ブロックに、ステップS607でキャッシュメモリ140に格納されたデータを書き込む(ステップS608)。   Then, the data relocation unit 203 writes the data stored in the cache memory 140 in step S607 to the physical block on the low speed disk pool 112 secured in step S606 (step S608).

そして、論理ディスク割り当てテーブル301において、当該論理ディスク301aの当該アドレス301bに対する割り当て領域として、新たに確保した低速ディスクプール112のIDとアドレスを格納プール識別情報301dおよび格納アドレス情報301eに記録して更新する(ステップS609)。さらに、高速ディスクプール102に割り当てられていた元の物理ブロックを未割り当て領域として解放する(ステップS610)。   In the logical disk allocation table 301, the ID and address of the newly secured low-speed disk pool 112 are recorded and updated in the storage pool identification information 301d and the storage address information 301e as the allocation area for the address 301b of the logical disk 301a. (Step S609). Further, the original physical block allocated to the high-speed disk pool 102 is released as an unallocated area (step S610).

最後に、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値を「0」とする(ステップS611)。これによって、当該論理ディスクID304aの当該アドレス304bが低速ディスクプール112に割り当てられている場合は、次にデータ再配置手段203が動作する際には無アクセス頻度304c=「0」となるので、低速ディスクプール112に割り当てられている物理ブロックを低速ディスクプール112に移動させるという無意味な動作が生じることもない。   Finally, the value of the no access frequency 304c at the address 304b of the logical disk ID 304a is set to “0” (step S611). As a result, when the address 304b of the logical disk ID 304a is assigned to the low speed disk pool 112, the next time the data relocation unit 203 operates, the no access frequency 304c = “0”. A meaningless operation of moving a physical block allocated to the disk pool 112 to the low-speed disk pool 112 does not occur.

以上で、特定の論理ディスクの特定のブロックにおいてデータ再配置に係る判断と処理が完了した。これをチェック対象となる全ての論理ディスクの全てのブロックについてチェックしたかどうかを確認し、未完了であれば次のブロックをチェック対象としてステップS601からの処理を継続する(ステップS612)。   This completes the determination and processing related to data relocation in a specific block of a specific logical disk. It is confirmed whether or not all the blocks of all the logical disks to be checked are checked, and if not completed, the processing from step S601 is continued with the next block as the check target (step S612).

本実施の形態では、実際に読み書きが発生した論理ディスクの領域に対して、キャッシュメモリ140を利用して低速ディスクプール112から高速ディスクプール102へのデータ再配置を行うことにより、アクセス頻度の高い論理ディスクの領域を高速ディスクプール102に割り当てる。低速ディスクプール112から高速ディスクプール102へのデータ再配置はデータの読み書き処理の中で実施されるので、ストレージ装置および物理ディスクに対する負荷はごく小さく済む。   In the present embodiment, the frequency of access is high by relocating data from the low-speed disk pool 112 to the high-speed disk pool 102 using the cache memory 140 with respect to the area of the logical disk that has actually been read / written. A logical disk area is allocated to the high-speed disk pool 102. Since the data rearrangement from the low-speed disk pool 112 to the high-speed disk pool 102 is performed in the data read / write process, the load on the storage device and the physical disk is very small.

そしてブロック毎にアクセス頻度を測定して、アクセス頻度の低いブロックを再配置対象と判定して高速ディスクプール102から低速ディスクプール112への再配置を実施することにより、アクセス頻度の低い論理ディスクの領域を低速ディスクプール112に割り当てる。これによって、アクセス頻度に応じて適切に高速ディスクプール102と低速ディスクプール112との間でデータを再配置することができる。   Then, the access frequency is measured for each block, a block with low access frequency is determined as a relocation target, and relocation from the high speed disk pool 102 to the low speed disk pool 112 is performed. An area is allocated to the low speed disk pool 112. Thereby, data can be rearranged appropriately between the high-speed disk pool 102 and the low-speed disk pool 112 according to the access frequency.

低速ディスクプール112から高速ディスクプール102へのデータ再配置は前述のようにデータの読み書き処理の中で実施され、タイマなどによって定期的に実施されるルーチンとしては高速ディスクプール102から低速ディスクプール112への再配置の処理が加わるのみである。従って、この場合もストレージ装置および物理ディスクに対する負荷は小さく済む。   Data relocation from the low-speed disk pool 112 to the high-speed disk pool 102 is performed in the data read / write process as described above, and as a routine periodically executed by a timer or the like, the high-speed disk pool 102 to the low-speed disk pool 112 are routinely executed. Only relocation processing is added. Accordingly, in this case as well, the load on the storage device and the physical disk can be reduced.

これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。   Although the present invention has been described with the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and is known so far as long as the effects of the present invention are achieved. It goes without saying that any configuration can be adopted.

高速物理ディスクと低速物理ディスクとを複数組み合わせた装置において利用できる。ストレージ専用の装置でなくてもよい。   It can be used in an apparatus in which a plurality of high-speed physical disks and low-speed physical disks are combined. It does not have to be a dedicated storage device.

10 ホスト計算機
100 ストレージ装置
101、101a、101b 高速物理ディスク
102 高速ディスクプール
103a、103b、113a、113b 物理ブロック
111、111a、111b 低速物理ディスク
112 低速ディスクプール
120 論理ディスク
130 ホストアダプタ
140 キャッシュメモリ
150 制御部
201 データ読み出し手段
202 データ書き込み手段
203 データ再配置手段
301 論理ディスク割り当てテーブル
302 論理ディスク読み出し頻度テーブル
303 論理ディスク書き込み頻度テーブル
304 無アクセス状況記録テーブル
10 host computer 100 storage device 101, 101a, 101b high speed physical disk 102 high speed disk pool 103a, 103b, 113a, 113b physical block 111, 111a, 111b low speed physical disk 112 low speed disk pool 120 logical disk 130 host adapter 140 cache memory 150 control Unit 201 Data reading means 202 Data writing means 203 Data relocation means 301 Logical disk allocation table 302 Logical disk reading frequency table 303 Logical disk writing frequency table 304 No access status recording table

Claims (14)

単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、
前記第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、
データを一時的に保存するキャッシュメモリと、
前記第1のディスクプールおよび前記第2のディスクプール上の物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブルを使用してホスト計算機からの前記論理ディスクに対する読み出し要求および書き込み要求に対応して前記物理ブロックにデータを読み書きする制御部とを備え、
前記制御部が、前記論理ディスク上のアドレスに対する前記読み出し要求に対応して、第1の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存し、前記第1の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第2の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第1の物理ブロックを解放して前記論理ディスク割当テーブルを更新するデータ読み出し手段を含むことを特徴とするストレージ装置。
A first disk pool including one or more first physical disk devices;
A second disk pool including one or more second physical disk devices having a data access speed lower than that of the first physical disk device;
Cache memory for temporarily storing data,
Corresponding to a read request and a write request from the host computer to the logical disk using a logical disk allocation table that associates physical blocks on the first disk pool and the second disk pool with addresses on the logical disk. And a control unit for reading and writing data to and from the physical block,
In response to the read request for the address on the logical disk, the control unit reads data from the first physical block and stores it in the cache memory, and the first physical block is stored in the second disk. When the data is on the pool, the data that releases the first physical block and updates the logical disk allocation table after writing the data on the cache memory to the second physical block on the first disk pool A storage apparatus comprising a reading unit.
前記制御部が、前記論理ディスク上のアドレスに対する前記書き込み要求に対応して、前記制御部は前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存し、前記論理ディスク上のアドレスに該当する第3の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第4の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第3の物理ブロックを解放して前記論理ディスク割当テーブルを更新するデータ書き込み手段を含むことを特徴とする、請求項1に記載のストレージ装置。   In response to the write request for the address on the logical disk, the control unit stores the data received from the host computer on the cache memory and corresponds to the address on the logical disk. If the third physical block is on the second disk pool, the third physical block is released after the data on the cache memory is written to the fourth physical block on the first disk pool. The storage apparatus according to claim 1, further comprising data writing means for updating the logical disk allocation table. 前記データ読み出し手段が、前記読み出し要求に対応してデータの読み出しを行った前記論理ディスク上のアドレスに対してデータ読み出しの有った旨を、前記制御部があらかじめ備える読み出し頻度テーブルに記録し、
前記データ書き込み手段が、前記書き込み要求に対応してデータの書き込みを行った前記論理ディスク上のアドレスに対してデータ書き込みの有った旨を、前記制御部があらかじめ備える書き込み頻度テーブルに記録することを特徴とする、請求項2に記載のストレージ装置。
The data reading means records in the read frequency table provided in advance in the control unit that data has been read for the address on the logical disk from which data was read in response to the read request,
The data writing means records in the write frequency table provided in advance in the control unit that data has been written to the address on the logical disk to which data has been written in response to the write request. The storage apparatus according to claim 2, wherein:
前記制御部が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルを定期的に検査し、所定の間隔内に前記データ読み出しおよび前記データ書き込みのなかった前記論理ディスク上のアドレスに対して無アクセス頻度を前記制御部があらかじめ備える無アクセス頻度テーブルに記録するデータ再配置手段を含むことを特徴とする、請求項3に記載のストレージ装置。   The control unit periodically inspects the read frequency table and the write frequency table, and sets the no-access frequency for the addresses on the logical disk that have not been read and written to data within a predetermined interval. The storage apparatus according to claim 3, further comprising a data rearrangement unit that records in a no-access frequency table provided in advance in the control unit. 前記データ再配置手段が、前記第1のディスクプール上の第5の物理ブロックに割り当てられている前記論理ディスク上のアドレスにおける前記無アクセス頻度が所定の閾値を超える場合、前記第2のディスクプール上の第6の物理ブロックに前記第5の物理ブロック上のデータを書き込んだ後に前記第5の物理ブロックを解放して前記論理ディスク割当テーブルを更新して前記無アクセス頻度のデータを消去することを特徴とする、請求項4に記載のストレージ装置。   If the no-access frequency at the address on the logical disk assigned to the fifth physical block on the first disk pool exceeds a predetermined threshold, the data rearrangement means exceeds the second disk pool. After writing the data on the fifth physical block to the sixth physical block above, releasing the fifth physical block and updating the logical disk allocation table to erase the data with no access frequency The storage apparatus according to claim 4, wherein: 前記データ再配置手段が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで、所定の間隔内に前記データ読み出しおよび前記データ書き込みのあった前記論理ディスク上のアドレスに対してデータ読み出しおよび書き込みの有った旨のデータを消去することを特徴とする、請求項4もしくは請求項5に記載のストレージ装置。   In the read frequency table and the write frequency table, the data rearrangement means reads and writes data to an address on the logical disk where the data is read and written within a predetermined interval. 6. The storage apparatus according to claim 4, wherein the data to the effect is erased. 単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、前記第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置でデータの再配置を行う方法であって、
ホスト計算機からの前記論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定工程と、
前記第1の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存するデータ読み出し工程と、
前記第1の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定工程と、
前記第1の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第2の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第1の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第1のデータ再配置工程と
を有することを特徴とするデータ再配置方法。
A first disk pool including one or more first physical disk devices, and a second disk pool including one or more second physical disk devices having a data access speed lower than that of the first physical disk device. A method of rearranging data in a storage device having a cache memory for temporarily storing data,
Upon receiving a read request for the address on the logical disk from the host computer, the logical disk allocation table prepared in advance on the first disk pool or the second disk pool corresponding to the address on the logical disk A first physical block specifying step for specifying a first physical block;
A data read step of reading data from the first physical block and storing it in the cache memory;
A first disk pool specifying step for specifying in which of the first disk pool and the second disk pool the first physical block exists;
When the first physical block is on the second disk pool, the data on the cache memory is written to the second physical block on the first disk pool, and then the first physical block is And a first data relocation step of releasing and updating the logical disk allocation table.
前記ホスト計算機からの前記論理ディスク上のアドレスに対する書き込み要求を受け、前記論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第3の物理ブロックを特定する第2の物理ブロック特定工程と、
前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存するデータキャッシュ工程と、
前記第3の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第2のディスクプール特定工程と、
前記第3の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第4の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第3の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第2のデータ再配置工程と
を有することを特徴とする、請求項7に記載のデータ再配置方法。
Upon receiving a write request for the address on the logical disk from the host computer, a third on the first disk pool or the second disk pool corresponding to the address on the logical disk is determined by the logical disk allocation table. A second physical block specifying step for specifying a physical block of
A data cache step of storing data received from the host computer on the cache memory;
A second disk pool specifying step for specifying in which of the first disk pool and the second disk pool the third physical block exists;
When the third physical block is on the second disk pool, after writing the data on the cache memory to the fourth physical block on the first disk pool, the third physical block The data relocation method according to claim 7, further comprising a second data relocation step of releasing and updating the logical disk allocation table.
前記第1のデータ再配置工程が、前記読み出し要求に対応してデータの読み出しを行った前記論理ディスク上のアドレスに対してデータ読み出しの有った旨を、あらかじめ備えられた読み出し頻度テーブルに記録する読み出し頻度記録工程を含み、
前記第2のデータ再配置工程が、前記書き込み要求に対応してデータの書き込みを行った前記論理ディスク上のアドレスに対してデータ書き込みの有った旨を、あらかじめ備えられた書き込み頻度テーブルに記録する書き込み頻度記録工程を含むことを特徴とする、請求項8に記載のデータ再配置方法。
The first data rearrangement step records in the read frequency table provided in advance that data has been read from the address on the logical disk from which data was read in response to the read request. Including a reading frequency recording step,
In the second data rearrangement step, the fact that data has been written to the address on the logical disk where data was written in response to the write request is recorded in a write frequency table provided in advance. The data rearrangement method according to claim 8, further comprising a writing frequency recording step.
前記読み出し頻度テーブルおよび前記書き込み頻度テーブルを定期的に検査する頻度検査工程と、
前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで所定の間隔内に前記データ読み出しおよび前記データ書き込みのなかった前記論理ディスク上のアドレスに対して無アクセス頻度をあらかじめ備えられた無アクセス頻度テーブルに記録する無アクセス頻度記録工程を有することを特徴とする、請求項9に記載のデータ再配置方法。
A frequency inspection step of periodically inspecting the read frequency table and the write frequency table;
In the read frequency table and the write frequency table, no access frequency is recorded in the no access frequency table provided in advance for the addresses on the logical disk that have not been read or written in the data within a predetermined interval. The data relocation method according to claim 9, further comprising an access frequency recording step.
前記無アクセス頻度テーブルを定期的に検査し、前記第1のディスクプールに割り当てられていてかつ前記無アクセス頻度が所定の閾値を超える前記論理ディスク上のアドレスに対応する第5の物理ブロックを検出する無アクセス検査工程と、
前記第2のディスクプール上の第6の物理ブロックに前記第5の物理ブロック上のデータを書き込んだ後に前記第5の物理ブロックを解放して前記論理ディスク割当テーブルを更新して前記無アクセス頻度のデータを消去する第3のデータ再配置工程を有することを特徴とする、請求項10に記載のデータ再配置方法。
The non-access frequency table is periodically inspected to detect a fifth physical block corresponding to an address on the logical disk that is assigned to the first disk pool and whose non-access frequency exceeds a predetermined threshold. An access-free inspection process,
After the data on the fifth physical block is written to the sixth physical block on the second disk pool, the fifth physical block is released to update the logical disk allocation table and the no-access frequency The data rearrangement method according to claim 10, further comprising a third data rearrangement step of erasing the data.
前記第3のデータ再配置工程が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで、所定の間隔内に前記データ読み出しおよび前記データ書き込みのあった前記論理ディスク上のアドレスに対してデータ読み出しおよび書き込みの有った旨のデータを消去する頻度消去工程を含むことを特徴とする、請求項10もしくは請求項11に記載のデータ再配置方法。   In the third data rearrangement step, in the read frequency table and the write frequency table, data read and write are performed with respect to addresses on the logical disk where the data read and the data are written within a predetermined interval. 12. The data rearrangement method according to claim 10 or 11, further comprising a frequency erasing step of erasing data indicating that the data exists. 単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、前記第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置を制御するコンピュータに、
ホスト計算機からの前記論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定処理と、
前記第1の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存するデータ読み出し処理と、
前記第1の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定処理と、
前記第1の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第2の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第1の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第1のデータ再配置処理と
を実行させることを特徴とするデータ再配置プログラム。
A first disk pool including one or more first physical disk devices, and a second disk pool including one or more second physical disk devices having a data access speed lower than that of the first physical disk device. A computer for controlling a storage device having a cache memory for temporarily storing data;
Upon receiving a read request for the address on the logical disk from the host computer, the logical disk allocation table prepared in advance on the first disk pool or the second disk pool corresponding to the address on the logical disk A first physical block specifying process for specifying a first physical block;
A data read process for reading data from the first physical block and storing it in the cache memory;
A first disk pool specifying process for specifying in which of the first disk pool and the second disk pool the first physical block exists;
When the first physical block is on the second disk pool, the data on the cache memory is written to the second physical block on the first disk pool, and then the first physical block is A data rearrangement program that executes a first data rearrangement process that releases and updates the logical disk allocation table.
前記ホスト計算機からの前記論理ディスク上のアドレスに対する書き込み要求を受け、前記論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第3の物理ブロックを特定する第2の物理ブロック特定処理と、
前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存するデータキャッシュ処理と、
前記第3の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第2のディスクプール特定処理と、
前記第3の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第4の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第3の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第2のデータ再配置処理と
を実行させることを特徴とする、請求項13に記載のデータ再配置プログラム。
Upon receiving a write request for the address on the logical disk from the host computer, a third on the first disk pool or the second disk pool corresponding to the address on the logical disk is determined by the logical disk allocation table. A second physical block specifying process for specifying the physical block;
Data cache processing for storing data received from the host computer on the cache memory;
A second disk pool specifying process for specifying in which of the first disk pool and the second disk pool the third physical block exists;
When the third physical block is on the second disk pool, after writing the data on the cache memory to the fourth physical block on the first disk pool, the third physical block 14. The data rearrangement program according to claim 13, wherein a second data rearrangement process for releasing and updating the logical disk allocation table is executed.
JP2009033075A 2009-02-16 2009-02-16 Storage device, data relocation method, and program Active JP5146351B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009033075A JP5146351B2 (en) 2009-02-16 2009-02-16 Storage device, data relocation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009033075A JP5146351B2 (en) 2009-02-16 2009-02-16 Storage device, data relocation method, and program

Publications (2)

Publication Number Publication Date
JP2010191539A JP2010191539A (en) 2010-09-02
JP5146351B2 true JP5146351B2 (en) 2013-02-20

Family

ID=42817548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009033075A Active JP5146351B2 (en) 2009-02-16 2009-02-16 Storage device, data relocation method, and program

Country Status (1)

Country Link
JP (1) JP5146351B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5942037B2 (en) * 2012-04-20 2016-06-29 エンモータス・インコーポレイテッドEnmotus Inc. Storage system having data management mechanism and operation method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210915A (en) * 1992-01-30 1993-08-20 Nec Corp Disk device
JP3641872B2 (en) * 1996-04-08 2005-04-27 株式会社日立製作所 Storage system
JP2003005920A (en) * 2001-06-22 2003-01-10 Nec Corp Storage system and data rearranging method and data rearranging program

Also Published As

Publication number Publication date
JP2010191539A (en) 2010-09-02

Similar Documents

Publication Publication Date Title
US10761777B2 (en) Tiered storage using storage class memory
US9830939B1 (en) Workload balancing for multiple actuators
US8117374B2 (en) Flash memory control devices that support multiple memory mapping schemes and methods of operating same
US8375159B2 (en) Electronic storage device and control method thereof
TWI405209B (en) Data management method and flash memory stroage system and controller using the same
JP2006338341A5 (en)
US8214581B2 (en) System and method for cache synchronization
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
CN106569732B (en) Data migration method and device
JP4240496B2 (en) Apparatus and method for access control
KR20100132244A (en) Memory system and method of managing memory system
WO2011068109A1 (en) Storage device and memory controller
TW201005520A (en) Solid state storage system for data merging and method of controlling the same according to both in-place method and out-of-place method
JP2011221996A (en) Nonvolatile memory controller and nonvolatile storage device
KR20130096881A (en) Flash memory device
US20100070733A1 (en) System and method of allocating memory locations
CN107562367B (en) Method and device for reading and writing data based on software storage system
CN102270215A (en) File management apparatus and file management method
JP2012138154A (en) Magnetic disk device and disk access method in the same device
CN109582222B (en) Method for cleaning persistent cache in host sensing tile recording disk
WO2020103468A1 (en) Flash memory-based information garbage processing method, solid state disk, and storage device
JP4829202B2 (en) Storage device and memory control method
JP2020113031A (en) Information processing system, management device, and management program
JP5146351B2 (en) Storage device, data relocation method, and program
CN102362263A (en) SSD controller, and method for operating an SSD controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

R150 Certificate of patent or registration of utility model

Ref document number: 5146351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3