Disk array device with selectable method for generating redundant data
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-012/16
G06F-011/00
출원번호
US-0601892
(2003-06-24)
우선권정보
JP-0310520 (1996-11-21)
발명자
/ 주소
Katsuragi, Eiju
Ogata, Mikito
Kurano, Akira
Tamiya, Toshihiko
Yamamoto, Akira
Takahashi, Naoya
출원인 / 주소
Hitachi, Ltd.
대리인 / 주소
Kenyon &
인용정보
피인용 횟수 :
0인용 특허 :
12
초록▼
A disk array device selects a redundant generation method for reducing the overhead and improving the reliability associated with generating redundant data. The disk array device includes a disk controller connected to and controlling an array of disk drives. The disk controller includes a redundant
A disk array device selects a redundant generation method for reducing the overhead and improving the reliability associated with generating redundant data. The disk array device includes a disk controller connected to and controlling an array of disk drives. The disk controller includes a redundant data generator, a difference data generator, and a redundant data generation method selector. The redundant data generator is able to generate redundant data via a read and modify method and an all stripes method. The disk array device selects a method of generating redundant data from a method of read and modify and all stripes, and a method of generation in a drive and a method of difference, both of which are executed to generate redundant data on a disk drive.
대표청구항▼
1. A disk array device comprising:a plurality of disk drives for saving data to be sent to a host system;a subset of said disk drives comprising a specific data group for saving write data received from said host system and at least one piece of redundant data generated from said write data, each of
1. A disk array device comprising:a plurality of disk drives for saving data to be sent to a host system;a subset of said disk drives comprising a specific data group for saving write data received from said host system and at least one piece of redundant data generated from said write data, each of said disk drives containing a redundant data generating circuit for generating the redundant data from the data received from said host system and the data read from said disk drives;a disk control device for controlling data transfer between said host system and one of said disk drives;said disk control device having a redundant data generating circuit and a processor for selecting said redundant data generating circuit inside of said one of said drives or said redundant data generating circuit inside of said disk control device, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives; andwherein said processor serves to select one of the following:a use of said redundant data generating circuit inside of said one of said drives,a use of said redundant data generating circuits inside of said one of said drives and said control device, ora use of said redundant data generating circuit inside of said control device.2. A disk array device comprising:a plurality of disk drives for saving data to be sent to a host system;a subset of said disk drives comprising a specific data group for saving, in a distributed manner, divided parts of write data received from said host system and at least one piece of redundant data generated from the divided parts of said write data;each of said disk drives having a redundant data generating circuit for generating the redundant data from the write data received and the data read from a disk;a disk control device for controlling data transfer between said host system and one of said disk drives, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives,said disk control device including:a redundant data generating circuit inside of said control device itself for generating first new redundant data from said divided parts of said write data received from said host system, previous data to be updated by said divided parts of said write data, and redundant data of said divided parts of said write data concerning said data group andgenerating second new redundant data from said divided parts of said write data received from said host system and previous data not to be updated by said divided parts of said write data concerning said data group;a difference data generating circuit for generating difference data from said divided parts of said write data received from said host system and the previous data to be updated by said divided parts of said write data; anda microprocessor;wherein said microprocessor operates to select, for generating said redundant data,(i) generating of said first redundant data with said generating circuit inside of said control device,(ii) generating of said second redundant data with said generating circuit,(iii) generating difference data generated by said difference data generating circuit, for transferring said difference data to said one of said disk drives for saving the redundant data of said divided parts of said write data concerning said data group, and for generating new redundant data from said difference data and redundant data with said redundant data generating circuit inside of said one of said disk drives, or(iv) transferring said divided parts of said write data received from said host system and the previous data to be updated by said divided parts of said write data to said one of said disk drives for saving the redundant data of said divided parts of said write data concerning said data group and for generating new redundant data from said divided parts of said write data, said previous data and said redundant data with said redundant data generating circuit inside of said one of said disk drives.3. The disk array device as claimed in claim 2 wherein said microprocessor selects:(i) said generating of said second redundant data inside of said control device if the conditional expression of(b+1)?2*(a+1) (where said write data is divided into “a” parts, and “b” is a number of said disk drives used in said data group, except for the disk drive which saves the redundant data included in said data group) is met; next(ii) said generating of said first redundant data inside of said control device if the one of said disk drives for saving said redundant data is in use; next(iii) transferring said divided parts of said write data and the previous data to be updated by said divided parts of said write data to said one of said disk drives for saving the redundant data of said write data concerning said data group and generating new redundant data from said write data and said previous data and said redundant data with said redundant data generating circuit inside of said one of said disk drives if said write data length is equal to or shorter than a given length; next(iv) generating difference data generated by said difference data generating circuit, transferring said difference data to said one of said disk drives for saving the redundant data of said divided write data concerning said data group, and generating new redundant data from said difference data and redundant data with said redundant data generating circuit inside of said one of said disk drives if said write data length is longer than the given length.4. The disk array device as claimed in claim 2 wherein the microprocessor of said disk control device selects between the one of a redundant data generating circuit in a disk drive and the redundant data generating circuit in the disk control device which reduces a processing time of said write data, to a minimum, the processing time including a generation time of the redundant data.5. A disk array apparatus for storing data used for a higher level device, comprising:a plurality of disk drives for storing write data from said higher level device and storing redundant data used for the write data;a disk control device for transferring the write data between said higher level device and said disk drives, and further having a cache memory for temporarily storing the data received from said host system to storing the data in said plurality of disk drives;a first redundant data generating circuit present in said disk control device, for generating the redundant data;a second redundant data generating circuit, present in one of said disk drives for storing the redundant data, for generating redundant data used for the write data; anda processor present in said disk control device, for selecting one of said first and second redundant data generating circuits,wherein said processor selects said first redundant data generating circuit to generate the redundant data when said one of said disk drives for storing the redundant data is being accessed while said processor selects said second redundant data generating circuit when said disk drive is being not accessed.6. A disk array apparatus for storing data used for a higher level device, comprising:a plurality of disk drives for storing write data from said higher level device and storing redundant data used for the write data;a disk control device for transferring the write data between said higher level device and said disk drives, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives;a difference data generating circuit present in said disk control device, for generating difference data from the write data from said higher level device and old data to be updated by the write data;a first redundant data generator, present in each of said disk drives, for carrying out an operation to generate new redundant data from either (1) the difference data and old redundant data, or (2) the write data from said higher level device, the old data to be updated by the write data, and the old redundant data; anda processor present in said disk control device, for selecting the operation said first redundant data generator to generate the new redundant data from either (1) the difference data and the old redundant data, or (2) the write data from said higher level device, the old data to be updated by the write data, and the old redundant data.7. A disk array apparatus according to claim 6 wherein said processor selects the operation to generate the new redundant data in accordance with a relationship between a length of the write data from said higher level device and a length of data per one revolution of one of said disk drives for storing the write data.8. A disk array apparatus according to claim 7, further comprising:a second redundant data generator present in said disk control device, for generating the redundant data, wherein said processor selects said second redundant data generating circuit to generate the redundant data when said one of said disk drives is busy, while said processor selects said first redundant data generating circuit when said one of said disk drives is not busy.9. A disk array apparatus according to claim 8 wherein said second redundant data generator carries out the operation to generate the new redundant data from either (1) the write data from said higher level device, the old data to be updated by the write data and the redundant data of the data group to which the write data belongs, or (2) the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs; and whereinsaid processor compares a number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, and for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs, said processor selecting the manner of operation of said second redundant data generating circuit.10. A disk array apparatus, comprising:a plurality of disk drives for storing write data from a higher level device and storing redundant data used for the write data;a disk control device for transferring the write data between said higher level device and said disk drives, and further having a cache memory for temporarily storing the data received from said host system to storing the data in said plurality of disk drives;a difference data generating circuit present in said disk control device, for generating difference data from the write data from said higher level device and old data to be updated by the write data in one of said disk drives;a first redundant data generator present in said disk drive for storing the redundant data, for carrying out an operation to generate new redundant data from either (1) the difference data and old redundant data, or (2) the write data from said higher level device, the old data to be updated by the write data, and the old redundant data;a second redundant data generator present in said disk control device, for carrying out an operation to generate the new redundant data from either (1) the write data from said higher level device, the old data to be updated by the write data and the redundant data of the data group to which the write data belongs or (2) the write data from said higher level device and the data not to be updated by the write data of a data group to which the write data belongs; anda processor present in said disk control device, for controlling the operations of said first redundant data generating circuit and said second redundant data generating circuit.11. A disk array apparatus according to claim 10 wherein said processor controls the operations of said first redundant data generator and said second redundant data generator such that a processing time of the write data including the redundant data is minimized.12. A disk array apparatus for storing data used for a higher level device, comprising:a plurality of disk drives for storing write data from said higher level device and storing redundant data used for the write data;a disk control device for transferring the write data between said higher level device and said disk drives, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives;a first redundant data generator present in said disk control device, for generating the redundant data;a second redundant data generator, present in one of said disk drives for storing the redundant data, for generating redundant data used for the write data; anda processor present in said disk control device, for selecting one of said first and second redundant data generating circuits, wherein said processor selects one of said first and second redundant data generators when required to generate redundant data,wherein said first and second redundant data generating circuits have input thereto data comprising either (1) the write data from said higher level device, old data to be updated by the write data and the redundant data of a data group to which the write data belongs, or (2) the write data from said higher level device and the data not to be updated by write data of the data group to which the write data belongs.13. A disk array apparatus according to claim 12 wherein said first and second redundant data generating circuits generate the redundant data in response to the write data from said higher level device input thereto.14. A disk array apparatus for storing data used for a higher level device, comprising:a plurality of disk drives for storing write data from said higher level device and storing redundant data used for the data of a data group to which the write data from said higher level device belongs;a disk control device for transferring the write data between said higher level device and one of said disk drives, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives;a redundant data generating circuit present in said disk control device, for generating new redundant data from either (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, or (2) the write data from said higher level device and data not to be updated by the write data of the data group to which the write data belongs; anda processor present in said disk control device capable of selecting an operation of said redundant data generating circuit in accordance with at least whether the one of said disk drives for saving said redundant data is in use.15. A disk array apparatus according to claim 14 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if the one of said disk drives for saving said redundant data is in use.16. A disk array apparatus according to claim 14 wherein said processor is capable of selecting an operation of said redundant data generating circuit in accordance with (I) whether the one of said disk drives for saving said redundant data is in use, or (II) a comparison by said processor of a number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, and for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs.17. A disk array apparatus according to claim 16 wherein said processor selects (2) the write data from said higher level device and data not to be updated by the write data of the data group to which the write data belongs, if said processor's comparison result is that the number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, is larger than the number of access times to said disk drives needed for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs.18. A disk array apparatus according to claim 16 wherein said processor selects (2) the write data from said higher level device and data not be updated by the write data of the data group to which the write data belongs, if said processor's comparison result is that the number of access times to said disk drives needed for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs, is equal to or less than the number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs.19. A disk array apparatus according to claim 16 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if the one of said disk drives for saving said redundant data is in use.20. A disk array apparatus according to claim 16 wherein said processor is capable of selecting an operation of said redundant data generating circuit in accordance with (I) whether the one of said disk drives for saving said redundant data is in use or, (II) a comparison by said processor of the number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, and for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs, or (III) whether said processor detects that a redundant data updated operation has succeeded or failed.21. A disk array apparatus according to claim 20 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if said processor detects that the redundant data update operation has failed.22. A disk array apparatus according to claim 20 wherein said processor selects (2) the write data from said higher level device and data not to be updated by the write data of the data group to which the write data belongs, if said processor's comparison result is that the number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, is larger than the number of access times to said disk drives needed for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs.23. A disk array apparatus according to claim 20 wherein said processor selects (2) the write data from said higher level device and data not to be updated by the write data of the data group to which the write data belongs, if said processor's comparison result is that the number of access times to said disk drives needed for a case where (29 the new redundant data is generated from the write data from said higher level device and the data not be updated by the write data of the data group to which the write data belongs, is equal to or less than the number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs.24. A disk array apparatus according to claim 20 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if the one of said disk drives for saving said redundant data is in use.25. A disk array apparatus according to claim 14 wherein said processor is capable of selecting an operation of said redundant data generating circuit in accordance with (I) whether the one of said disk drives for saving said redundant data is in use, or (iii) whether said processor detects that a redundant data update operation has succeeded or failed.26. A disk array apparatus according to claim 25 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if said processor detects that a redundant data update operation has failed.27. A disk array apparatus according to claim 25 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if the one of said disk drives for saving said redundant data is in use.28. A disk array apparatus for storing data used for a higher level device, comprising:a plurality of disk drives for storing write data from said higher level device and storing redundant data used for the data of a data group to which the write data from said higher level device belongs;a disk control device for transferring the write data between said higher level device and one of said disk drives, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives;a redundant data generating circuit present in said disk control device, for generating new redundant data from either (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, or (2) the write data from said higher level device and data not to be updated by the write data of the data group to which the write data belongs; anda processor present in said disk control device, capable of selecting an operation of said redundant data generating circuit in accordance with at least a comparison by said processor of a number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, and for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs,wherein said processor is capable of selecting an operation of said redundant data generating circuit in accordance with either a comparison by said processor of a number of access times to said disk drives needed for a case where (1) the new redundant data is generated from the write data from said higher level device, the old data to be updated by the write data, and the redundant data of the data group to which the write data belongs, and for a case where (2) the new redundant data is generated from the write data from said higher level device and the data not to be updated by the write data of the data group to which the write data belongs, or whether said processor detects that a redundant data update operation has succeeded or failed.29. A disk array apparatus according to claim 28 wherein said processor selects (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, if said processor detects that a redundant data update operation has failed.30. A disk array apparatus for storing data used for a higher level device, comprising:a plurality of disk drives for storing write data from said higher level device and storing redundant data used for the data of a data group to which the write data from said higher level device belongs;a disk control device for transferring the write data between said higher level device and one of said disk drives, and further having a cache memory for temporarily storing the data received from said host system prior to storing the data in said plurality of disk drives;a redundant data generating circuit present in said disk control device, for generating new redundant data from either (1) the write data from said higher level device, old data to be updated by the write data, and redundant data of the data group to which the write data belongs, or (2) the write data from said higher level device and data not to be updated by the write data of the data group to which the write data belongs; anda processor present in said disk control device, for selecting an operation of said redundant data generating circuit in accordance with whether said processor detects that a redundant data update operation has succeeded or failed.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (12)
Matsunami Naoto,JPX ; Yoshida Minoru,JPX ; Miyazawa Shoichi,JPX ; Oeda Takashi,JPX ; Honda Kiyoshi,JPX ; Ohno Shuji,JPX, Array disk controller for grouping host commands into a single virtual host command.
Hohenstein Gerald L. (Boulder CO) Nielson Michael E. (Broomfield CO) Tang Tin S. (Boulder CO) Carmichael Richard D. (Longmont CO) Brant William A. (Boulder CO), Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundan.
Achiwa Kyosuke (Hino JPX) Yamamoto Akira (Sagamihara JPX) Fujii Tetsuhiko (Kawasaki JPX) Satoh Takao (Sagamihara JPX) Nozawa Masafumi (Odawara JPX), Raid system including first and second read/write heads for each disk drive.
Stallmo David C. ; Hall Randy K., Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a ra.
Yamamoto Akira,JPX ; Tamiya Toshihiko,JPX ; Takamatsu Hisashi,JPX ; Kurano Akira,JPX ; Inomata Hirofumi,JPX, Storage unit with parity generation function and storage systems using storage unit with parity generation analyzation.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.