JP2002182860A - Disk array unit - Google Patents

Disk array unit

Info

Publication number
JP2002182860A
JP2002182860A JP2000383253A JP2000383253A JP2002182860A JP 2002182860 A JP2002182860 A JP 2002182860A JP 2000383253 A JP2000383253 A JP 2000383253A JP 2000383253 A JP2000383253 A JP 2000383253A JP 2002182860 A JP2002182860 A JP 2002182860A
Authority
JP
Japan
Prior art keywords
stripe
physical
means
number
accesses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000383253A
Other languages
Japanese (ja)
Inventor
Takeshi Nakagami
Yuji Noda
剛 中神
祐司 野田
Original Assignee
Pfu Ltd
株式会社ピーエフユー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pfu Ltd, 株式会社ピーエフユー filed Critical Pfu Ltd
Priority to JP2000383253A priority Critical patent/JP2002182860A/en
Publication of JP2002182860A publication Critical patent/JP2002182860A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To realize further quick access about a disk array unit which divides a disk constituting a RAID into physical stripes and conducting access processing. SOLUTION: This disk array unit consists of a storing means for storing the correspondence relation between a logical stripe allocated to the RAID and a physical stripe linked with the RAID, a specifying means for specifying a logical stripe indicated by the address of an access request, a performing means for specifying the physical stripe linked with the logical stripe specified by the specifying means according to the correspondence relation stored by the storing means and conducting access processing, a counting means for counting the number of accessing times to the logical stripe specified by the specifying means, and a changing means for switching data between physical stripes according to the number of accessing times counted by the counting means and also changing the correspondence relation stored in the storing means in accordance with the data switching.

Description

DETAILED DESCRIPTION OF THE INVENTION

[0001]

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device that divides a disk constituting a RAID into stripes and executes access processing, and more particularly to a disk array device that realizes higher-speed access.

[0002]

2. Description of the Related Art In a disk array device adopting a RAID configuration, as shown in FIG. 7, a disk constituting a RAID is divided into a plurality of stripes, and a continuous address is allocated within each stripe. In some cases, a configuration that realizes parallel access is adopted.

When adopting a configuration for realizing high-speed access using the stripes, the conventional disk array device employs a configuration for realizing parallel disk access without changing the configuration of the stripes set at the time of initial setting. I have.

[0004] That is, as shown in the upper part of FIG.
If four stripe configurations # 3 are set, then, regardless of the actual access mode, FIG.
As shown in the lower part of the figure, a configuration is adopted in which the stripe configuration is not changed.

[0005]

However, according to such a conventional technique, there is a problem that further high-speed access cannot be realized.

In other words, for access data having a small size and high access frequency, collecting data in blocks near the central portion of the disk shortens the time required for seeking, thereby improving the access performance.

However, according to the prior art,
Since the stripe configuration set at the time of initial setting is fixed, frequently accessed data with a small size cannot be collected in blocks near the central part of the disk. There is a problem that it cannot be realized.

Further, since a block having a small LBA (data storage address) has a higher data transfer speed than a block having a large LBA, access data having a large size requires a block having a small LBA (in the vicinity of the outer peripheral side of the disk). The access performance is better if they are collected in a block located at

However, according to the prior art,
Since the stripe configuration set at the time of initial setting is fixed, access data having a large size is
Therefore, there is a problem that further high-speed access cannot be realized.

The present invention has been made in view of the above circumstances, and has a configuration in which a disk constituting a RAID is divided into stripes to execute access processing. It is an object of the present invention to provide a new disk array device that realizes higher-speed access by making the above possible.

[0011]

In order to achieve this object, a disk array device according to the present invention employs a configuration in which a disk constituting a RAID is divided into physical stripes to execute an access process. Storage means for storing a correspondence relationship between a logical stripe allocated to RAID and a physical stripe linked thereto, identification means for identifying a logical stripe indicated by the address of the access request, and identification means in accordance with the correspondence relationship stored in the storage means Executing means for specifying a physical stripe linked to the specified logical stripe and executing an access process; counting means for counting the number of accesses to the logical stripe specified by the specifying means; and counting the number of accesses counted by the counting means. Exchanges data between physical stripes and stores data accordingly Configured to and a changing means for changing the correspondence relationship storing.

According to the present invention, according to the present invention, it is possible to change the stripe allocation during operation.

That is, according to the present invention, an address specified by an access request is regarded as a logical address, data is exchanged between physical stripes, and the physical stripe linked to the logical stripe is changed accordingly. As shown in FIG. 1, it is possible to change the stripe allocation during operation.

Therefore, the counting means counts the number of accesses having a size smaller than the specified value, and in response to this, the changing means links a physical stripe having good seek performance to a logical stripe having a large number of accesses. By exchanging data between physical stripes and changing the correspondence stored in the storage means in accordance with this, it is possible to transfer frequently accessed data having a small size to the disk. By being able to collect in the blocks near the central part, further high-speed access can be realized.

[0015] Then, the counting means counts the number of accesses having a size larger than the specified value, and in response to this, the changing means determines that a physical stripe having good data transfer performance is assigned to a logical stripe having a large number of accesses. By exchanging data between physical stripes so as to be linked, and by changing the correspondence stored in the storage means in accordance with the exchange, access data having a large size can be converted into a block having a small LBA. By being able to collect, further high-speed access can be realized.

Thus, according to the present invention, the RAI
When adopting a configuration in which the disk constituting D is divided into stripes and the access processing is executed, it is possible to change the allocation of the stripes during operation, thereby realizing higher-speed access.

[0017]

DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail according to embodiments.

FIG. 2 shows an embodiment of a RAID controller 1 having the present invention.

As shown in FIG. 1, a RAID controller 1 of the present invention receives a RAID device 10 divided into physical stripes and an access request issued by a higher-level device.
A RAID control unit 11 for executing RAID control according to a logical stripe without being aware of a physical stripe, a stripe management table 12 for managing the correspondence between the logical stripe and the physical stripe, and managing the number of accesses to the logical stripe; According to the correspondence relationship managed by the management table 12, the physical stripe indicated by the logical stripe is specified, and the stripe management unit 13 that updates the access count managed by the stripe management table 12 in response to the access processing; A stripe relocation processing unit 14 for exchanging data between physical stripes according to the number of access times to be managed, and changing the correspondence managed by the stripe management table 12 accordingly,
A device control unit 15 that performs access control on the ID device 10.

FIG. 3 shows an embodiment of the stripe management table 12.

As shown in FIG. 1, the stripe management table 12 stores the number of I / O requests to the RAID device 10,
In addition to managing the size of one stripe (logical stripe / physical stripe), the head LBA of the physical stripe allocated to the logical stripe in association with each logical stripe, and access of large-capacity data to the logical stripe Number of times (the number of times of accessing large volume data to the physical stripe allocated to the logical stripe) and number of times of accessing small volume data to the logical stripe (the small number of data access to the physical stripe allocated to the logical stripe) And the number of accesses).

As will be understood from the description below, R
It is not always necessary to manage the number of I / O requests to the AID device 10. The size of each stripe (logical stripe / physical stripe) is set to the same size to enable data exchange.

In the RAID controller 1 of the present invention configured as described above, as shown in FIG. 2, when an access request is issued from a higher-level device, the RAI
The D control unit 11 notifies the stripe management unit 13 of the address (consisting of the start address and the size) specified by the access request, and the stripe management unit 13 receives the address from the specified size. When the access request has a large size, the number of accesses to large-capacity data is counted up, and when the access request is smaller than the specified size, the number of accesses to small-capacity data is counted up, thereby increasing the number of stripes. In addition to updating the number of times of access managed by the management table 12, the physical stripe indicated by the address specified by the access request is specified, and the physical stripe is notified to the RAID control unit 11. In response, the RAID control unit 11 Requesting access to the device control unit 15 while specifying the notified physical stripe, and receiving this The device control unit 15, RAID the specified physical stripe as an access area
Since the RAID device 10 accesses the device 10 and receives the request, the RAID device 10 executes the I / O process.
Receives the result, and upon receiving the result, the device control unit 15 transmits the received result to the RAID control unit 11.
In response to this, the RAID control unit 11 performs a process of passing the received result to the higher-level device.

Then, the stripe relocation processing unit 14
When a specified cycle is reached, data is exchanged between physical stripes according to the number of accesses managed by the stripe management table 12, and the correspondence managed by the stripe management table 12 (the logical stripe and the physical stripe (Correspondence relationship) is changed.

FIGS. 4 and 5 show an embodiment of the processing flow executed by the stripe rearrangement processing section 14. FIG.
Next, the present invention will be described in detail according to this processing flow.

When the stripe rearrangement processing unit 14 is started when, for example, a specified rearrangement execution cycle is reached, as shown in the processing flow of FIGS. The number of accesses of each logical stripe managed by the management table 12 is confirmed.

Here, the stripe management table 12 stores
When the configuration of managing the number of I / O requests to the AID device 10 is adopted, the stripe relocation processing unit 14 may be activated when the number of I / O requests reaches a specified value.

Subsequently, in step 2, it is determined by this confirmation processing whether or not a logical stripe with a large number of accesses exists.

When it is determined that there is no logical stripe with a large number of accesses by this determination processing,
Proceeding to step 3, the number of accesses managed by the stripe management table 12 (the number of accesses to large-capacity data / the number of accesses to small-capacity data) is cleared to zero,
The processing is terminated without executing the rearrangement processing described below.

Here, in step 3, when the stripe management table 12 manages the number of I / O requests to the RAID device 10, a process of clearing the number of I / O requests to zero is performed.

On the other hand, when it is determined in step 2 that there is a logical stripe with a large number of accesses, the process proceeds to step 4 and a logical stripe with a large number of accesses is set as a processing target. Subsequently, in step 5, it is determined whether or not all the logical stripes to be processed have been selected.

When it is determined that all the logical stripes to be processed have been selected by this determination processing, the process proceeds to step 6 where the number of accesses managed by the stripe management table 12 (the number of accesses to large-capacity data / the number of small-capacity data Is cleared to zero, it is determined that the rearrangement process described below has been completed, and the process ends.

Here, in step 6, when the stripe management table 12 manages the number of I / O requests to the RAID device 10, a process of clearing the number of I / O requests to zero is performed.

On the other hand, when it is determined in step 5 that all the logical stripes to be processed have not been selected, the process proceeds to step 7 and one unprocessed logical stripe is selected from the logical stripes to be processed. .

Subsequently, in step 8, it is determined whether or not the number of accesses to the small-capacity data of the selected logical stripe is large. That is, it is determined whether the number of accesses to small-capacity data is large, not the number of accesses to large-capacity data.

When it is determined by this determination that the number of accesses to the small-capacity data of the selected logical stripe is large, the process proceeds to step 9, where the small-capacity data is replaced at the replacement position defined as the central portion of the disk. It is checked whether there is a physical stripe with a small number of accesses (a logical stripe linked to the physical stripe).

As shown in FIG. 6, frequently accessed data having a small size is transferred to the RAID device 10.
If the data is collected in blocks near the central portion of the disk constituting, the seek time is shortened and the access performance is improved.

In view of the above, the present invention employs a configuration in which logical stripes having a large number of accesses to small-capacity data are collected in blocks near the center of the disk constituting the RAID device 10. From this, it is checked whether or not a physical stripe (a replacement target) having a small number of accesses to small-capacity data exists in a block near the center of the disk.

Subsequently, in step 10, it is determined whether or not it has been obtained by this confirmation processing that a physical stripe having a small number of accesses to small-capacity data is present at the replacement position. If it is determined that the logical stripe exists at the replacement position, the process proceeds to step 11, where the I / O to the physical stripe (the swap-source physical stripe) allocated to the selected logical stripe is performed.
Exclusive acquisition of O request and physical stripe existing at the replacement position (physical stripe to be swapped)
Exclusive acquisition of an I / O request to

Subsequently, in step 12, the data of the physical stripes of the swap source and the swap destination are read into the working memory, exchanged and written back, and then the exclusive acquisition of the physical stripes of the swap source and the swap destination is released. .

That is, the data between the physical stripes is changed so that the data of the physical stripe of the swap source is written to the physical stripe of the swap destination and the data of the physical stripe of the swap destination is written to the physical stripe of the swap source. Exchange.

Subsequently, in step 13, the correspondence between the logical stripes managed by the stripe management table 12 and the physical stripes is changed in accordance with the data exchange between the physical stripes. Return to step 5 to proceed to That is, the process returns to step 5 after changing the head LBA of the physical stripe managed by the stripe management table 12.

On the other hand, when it is determined in step 10 that a physical stripe with a small number of accesses to small-capacity data does not exist at the replacement position, the process immediately returns to step 5 without performing steps 11 to 13.

On the other hand, when it is determined in step 8 that the number of accesses to the small capacity data of the selected logical stripe is not large, that is, the number of accesses to the large capacity data of the selected logical stripe is large. When the determination is made, the process proceeds to step 14, where it is determined whether or not there is a physical stripe (a logical stripe linked to the physical stripe) having a small number of accesses to the large-capacity data at the replacement position defined as the outer peripheral portion of the disk. Confirm.

As shown in FIG. 6, when access data having a large size is collected in blocks having small LBAs (blocks located on the outer peripheral side of the disk), the access performance is improved because the data transfer speed is high.

Therefore, the present invention employs a configuration in which logical stripes having a large number of accesses to large-capacity data are collected in blocks near the outer peripheral portion of the disk constituting the RAID device 10. From this, it is checked whether or not a physical stripe (a replacement target) having a small number of accesses to large-capacity data exists in a block near the outer peripheral portion of the disk.

Subsequently, in step 15, it is determined whether or not it has been obtained by this confirmation processing that a physical stripe having a small number of accesses to large-capacity data exists at the replacement position. If it is determined that the logical stripe exists at the replacement position, the process proceeds to step 16, where the I / O to the physical stripe (physical stripe as a swap source) allocated to the selected logical stripe is performed.
Exclusive acquisition of O request and physical stripe existing at the replacement position (physical stripe to be swapped)
Exclusive acquisition of an I / O request to

Subsequently, at step 17, the data of the physical stripes of the swap source and the swap destination are read into the working memory, exchanged and written back, and then the exclusive acquisition of the physical stripes of the swap source and the swap destination is released. .

That is, the data between the physical stripes is changed so that the data of the physical stripe of the swap source is written to the physical stripe of the swap destination and the data of the physical stripe of the swap destination is written to the physical stripe of the swap source. Exchange.

Subsequently, in step 18, the correspondence between the logical stripes managed by the stripe management table 12 and the physical stripes is changed in accordance with the data exchange between the physical stripes. Return to step 5 to proceed to That is, the process returns to step 5 after changing the head LBA of the physical stripe managed by the stripe management table 12.

On the other hand, when it is determined in step 15 that a physical stripe with a small number of accesses to large-capacity data does not exist at the replacement position, the process immediately returns to step 5 without performing the processing in steps 16 to 18.

In this way, when the stripe relocation processing unit 14 is started, for example, when the specified relocation execution cycle is reached, the seek performance of the logical stripe having a large number of accesses to small-capacity data is improved. Control is performed so that a good physical disk is linked, and control is performed so that a physical disk with good data transfer performance is linked to a logical stripe with a large number of accesses to large-capacity data. In this way, processing is performed so as to realize higher-speed access.

[0053]

As described above, according to the present invention, a new concept of a logical stripe is introduced, and a physical stripe is accessed indirectly without affecting RAID control by indirectly accessing a physical stripe. The stripes can be reassigned, thereby realizing higher-speed access.

Further, the present invention employs a configuration in which stripe attribute information is managed for each stripe using a stripe management table. Therefore, new control information is added to this stripe management table. ,
It is possible to dynamically increase the RAID capacity by adding a disk during operation and to perform quick format processing during operation. For example, a quick format process can be executed by adding, as one of the attribute information, a flag indicating whether or not the attribute has been formatted.

[Brief description of the drawings]

FIG. 1 is an explanatory diagram of the present invention.

FIG. 2 is an embodiment of the present invention.

FIG. 3 is an exemplary embodiment of a stripe management table;

FIG. 4 is an embodiment of a processing flow executed by a stripe rearrangement processing unit;

FIG. 5 is an exemplary embodiment of a processing flow executed by a stripe rearrangement processing unit;

FIG. 6 is an explanatory diagram of disk access performance.

FIG. 7 is an explanatory diagram of a stripe.

FIG. 8 is an explanatory diagram of a conventional technique.

[Explanation of symbols]

 REFERENCE SIGNS LIST 1 RAID control device 10 RAID device 11 RAID control unit 12 Stripe management table 13 Stripe management unit 14 Stripe relocation processing unit 15 Device control unit

Claims (4)

[Claims]
1. A disk array device which divides a disk constituting a RAID into physical stripes and executes an access process, wherein a storage means for storing a correspondence relationship between a logical stripe allocated to the RAID and a physical stripe linked thereto. Specifying means for specifying a logical stripe indicated by the address of the access request; executing means for specifying a physical stripe linked to the logical stripe specified by the specifying means to execute access processing in accordance with the correspondence; Counting means for counting the number of accesses to the specified logical stripe, and changing means for exchanging data between the physical stripes according to the number of accesses and changing the correspondence in accordance with the data. Disk array device.
2. The disk array device according to claim 1, wherein said changing means clears the number of accesses counted by said counting means when changing said correspondence. apparatus.
3. The disk array device according to claim 1, wherein said counting means counts the number of accesses of a data size smaller than a prescribed value, and said changing means includes a logic having a large number of accesses. A disk array device comprising: exchanging data between physical stripes and changing the correspondence according to the exchange so that a physical stripe having good seek performance is linked to the stripe. .
4. The disk array device according to claim 1, wherein said counting means counts the number of accesses having a data size larger than a prescribed value, and said changing means includes a logic having a large number of accesses. A disk array comprising: exchanging data between physical stripes so as to link a physical stripe having a high data transfer performance to the stripe; and changing the correspondence according to the exchange. apparatus.
JP2000383253A 2000-12-18 2000-12-18 Disk array unit Pending JP2002182860A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000383253A JP2002182860A (en) 2000-12-18 2000-12-18 Disk array unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000383253A JP2002182860A (en) 2000-12-18 2000-12-18 Disk array unit

Publications (1)

Publication Number Publication Date
JP2002182860A true JP2002182860A (en) 2002-06-28

Family

ID=18850939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000383253A Pending JP2002182860A (en) 2000-12-18 2000-12-18 Disk array unit

Country Status (1)

Country Link
JP (1) JP2002182860A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009538493A (en) * 2006-05-24 2009-11-05 コンペレント・テクノロジーズ System and method for data progression disk locality optimization
JP2010015516A (en) * 2008-07-07 2010-01-21 Toshiba Corp Data controller, storage system, and program
US8555108B2 (en) 2003-08-14 2013-10-08 Compellent Technologies Virtual disk drive system and method
JP2013210846A (en) * 2012-03-30 2013-10-10 Fujitsu Ltd Storage control device, storage system and storage control method
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
CN107479824A (en) * 2016-06-08 2017-12-15 捷鼎国际股份有限公司 Redundancy magnetic disc array system and its data storage method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436390B2 (en) 2003-08-14 2016-09-06 Dell International L.L.C. Virtual disk drive system and method
US10067712B2 (en) 2003-08-14 2018-09-04 Dell International L.L.C. Virtual disk drive system and method
US8555108B2 (en) 2003-08-14 2013-10-08 Compellent Technologies Virtual disk drive system and method
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
US8560880B2 (en) 2003-08-14 2013-10-15 Compellent Technologies Virtual disk drive system and method
US9021295B2 (en) 2003-08-14 2015-04-28 Compellent Technologies Virtual disk drive system and method
US9047216B2 (en) 2003-08-14 2015-06-02 Compellent Technologies Virtual disk drive system and method
JP2009538493A (en) * 2006-05-24 2009-11-05 コンペレント・テクノロジーズ System and method for data progression disk locality optimization
JP2010015516A (en) * 2008-07-07 2010-01-21 Toshiba Corp Data controller, storage system, and program
JP2013210846A (en) * 2012-03-30 2013-10-10 Fujitsu Ltd Storage control device, storage system and storage control method
US9507703B2 (en) 2012-03-30 2016-11-29 Fujitsu Limited Storage control apparatus, storage system, and storage control method to adjust RAID system strip size
CN107479824A (en) * 2016-06-08 2017-12-15 捷鼎国际股份有限公司 Redundancy magnetic disc array system and its data storage method
CN107479824B (en) * 2016-06-08 2020-03-06 宜鼎国际股份有限公司 Redundant disk array system and data storage method thereof

Similar Documents

Publication Publication Date Title
US9710377B1 (en) Multi-array operation support and related devices, systems and software
US9495105B2 (en) System managing a plurality of flash memory devices
US9026760B1 (en) Techniques for enforcing capacity restrictions of an allocation policy
US9575672B2 (en) Storage system comprising flash memory and storage control method in which a storage controller is configured to determine the number of allocatable pages in a pool based on compression information
JP5771280B2 (en) computer system and storage management method
US9342458B2 (en) Cache allocation in a computerized system
KR101726824B1 (en) Efficient Use of Hybrid Media in Cache Architectures
US9378136B1 (en) Techniques for selecting write endurance classification of flash storage based on read-write mixture of I/O workload
US7970986B2 (en) Storage system using flash memories and wear-leveling method for the same system
US8843691B2 (en) Prioritized erasure of data blocks in a flash storage device
US9400749B1 (en) Host interleaved erase operations for flash memory controller
US8392648B2 (en) Storage system having a plurality of flash packages
EP2239655B1 (en) Storage controller and storage control method
US7654466B2 (en) Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method
US8161225B2 (en) Semiconductor memory card, access device and method
JP4146380B2 (en) Storage system, block rearrangement control method, and program
DE112010003788B4 (en) data storage
US6725329B1 (en) Cache control system and method having hardware-based tag record allocation
US5307473A (en) Controller for storage unit and method of controlling storage unit
US9996466B2 (en) Apparatus, system and method for caching compressed data
JP3181446B2 (en) Information storage device
JP2015515670A (en) Hybrid storage aggregate block tracking
DE60217883T2 (en) Method for writing data into a non-volatile memory
US5253351A (en) Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values
KR100914089B1 (en) Maintaining erase counts in non-volatile storage systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061212