Storage unit subsystem
AssigneeHitachi, Ltd.
InventorsAkira Yamamoto, Hiroyuki Kitajima, Kouji Arai, Yoshihisa Kamo
Life of this patent
Estimating the term…
Abstract
When receiving a write request from a processor, a control unit checks the condition of existence (or the presence/absence) in a cache for information necessary for generation of an updated value of a parity record, receives write data and reports the completion of the write request to the processor. In asynchronism with the write request from the processor, the control unit performs a load process for that information among the information necessary for generation of the updated value of the parity record which may be prepared in asynchronism with the write request from the processor and a write after process for the updated value of the parity record.
Claims31
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for checking, upon reception of a write request from a processor, whether or not information necessary for generating updated values of the parity records in the record group to which a record made the object of a write process belongs exists in said cache memory;
- means for receiving write data for the record made the object of the write process by said write request from said processor, storing said write data into said cache memory and reporting the completion of said write request to said processor;
- means for performing a process for loading, information necessary for generation of the updated values of the parity records which do not exist in said cache memory, from said storage units into said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- means for generating the updated values of the parity records from the information necessary for generation of the updated values of the parity records and storing the updated values into said cache memory, independently from the process to be performed attendant upon the read/write request from said processor;
- and
- means for writing the updated values of the parity records from said cache memory into said storage units independently from the process to be performed attendant upon the read/write request from said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control comprising:
- means for confirming, upon reception of a write request from said processor, whether or not a record made the object of a write process is stored in said cache memory and storing the record made the object of the write process into said cache memory in the case where it is not stored in said cache memory;
- means for confirming whether or not all the parity records in the record group to which the record made the object of the write process belongs are stored in said cache memory;
- means for writing, all the parity records in said record group stored in said cache memory and write data received from said Processor for the record made the object of the write process, into said storage units;
- and
- means for generating updated values of the parity records from the write data, the record made the object of the write process and stored in said cache memory and all the parity records, storing the updated values into said cache memory and reporting the completion of said write request to said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a record made the object of a write process is stored in said cache memory;
- means for storing, the record which is made the object of the write process but is not stored in said cache memory, from said storage unit into said cache memory;
- means for confirming whether or not there is any one among the parity records in said record group which is not stored in said cache memory;
- means for writing, write data received from said processor for the record made the object of the write process, into said storage unit;
- and
- means for storing said write data into a region of said cache memory other than a region where the record made the object of the write process has already been stored and reporting the completion of said write request to said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a record made the object of a write process and all the parity records in the record group to which the record made the object of the write process belongs are stored in said cache memory;
- means for writing, write data received from said processor for the record made the object of the write process, into said cache memory in the case where the record made the object of the write process and all the parity records are stored in said cache memory;
- and
- means for generating updated values of the parity records from said write data, the record in said cache memory made the object of the write process and all the parity records in said cache memory, storing the updated values into said cache memory and reporting the completion of said write request to said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for writing, upon reception of a write request from a processor, write data received from said processor for a record made the object of a write process into said storage unit and said cache memory and reporting the completion of said write request to said processor;
- means for confirming whether or not the record made the object of the write process by said write request and all the parity records in the parity group to which the record made the object of the write process belongs are stored in said cache memory;
- means for storing, those records among the record made the object of the write process and the parity records in said record group which are not stored in said cache memory, into said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- and
- means for performing, independently from the process to be performed attendant upon the read/write request from said processor, a process which includes generating updated values of the parity records from the record in said cache memory made the object of the write process, said write data stored in a region of said cache memory other than a region for storage of the record made the object of the write process and the parity records stored in said cache memory and in parallel therewith writing the undated values into said storage units.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+,n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a parity record in the record group to which a record made the object of a write process belongs and all other records in the parity group which are other than the record made the object of the write process, are stored in said cache memory;
- means for writing, write data received from said processor for the record made the object of the write process, into said storage unit in the case where said records are stored in said cache memory;
- and
- means for generating updated values of the parity records from said write data, the parity record in said record group which is stored in said cache memory and all the other records in said record group which are other than the record made the object of the write process and are stored in said cache memory, storing the updated values into said cache memory and reporting the completion of said write request to said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for performing, upon reception of a write request from a processor, a process which includes storing write data received for a record made the object of a write process into said cache memory and said storage unit and reporting the completion of said write request to said processor;
- means for confirming whether or not a parity record in the record group to which the record made the object of the write process by said write request belongs and all other records in said record group which are other than the record made the object of the write process, are stored in said cache memory;
- means for storing, those records among the parity record and all the other records in said record group which are not stored in said cache memory, into said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- and
- means for performing, independently from the process to be performed attendant upon the read/write request from said processor, a process which includes generating updated values of the parity records from said write data, the parity record in said record group which is stored in said cache memory and all the other records in said record group which are other than the record made the object of the write process and are stored in said cache memory and in parallel therewith writing the updated values into said storage units.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a parity record in the record group to which a record made the object of a write process belongs and all other records in said record group which are other than the record made the object of the write process, are stored in said cache memory;
- means for writing, write data received from said processor for the record made the object of the write process, into said cache memory in the case where said records are stored in said cache memory;
- and
- means for generating updated values of the parity records from said write data, the parity record in said record group which is stored in said cache memory and all the other records in said record group which are other than the record made the object of the write process and are stored in said cache memory, storing the updated values into said cache memory and reporting the completion of said write request to said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for performing, upon reception of a write request from a processor, a process which includes storing write data received for a record made the object of a write process into said cache memory and reporting the completion of said write request to said processor;
- means for confirming whether or not a parity record in the record group to which the record made the object of the write process by said write request belongs and all other records in said record group which are other than the record made the object of the write process, are stored in said cache memory;
- means for storing, any one among the parity record in said record group and all the other records in said record group other than the record made the object of the write process which is not stored in said cache memory, into said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- and
- means for performing, independently from the process to be performed attendant upon the read/write request from said processor, a process which includes generating the updated values of the parity records from said write data, the parity record in said record group which is stored in said cache memory and all the other records in said record group which are other than the record made the object of the write process and are stored in said cache memory and in parallel therewith writing the updated values into said storage units.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- first means for confirming, when said control unit receives a write request from a processor, the number of those records, among a record made the object of a write process by said write request and all the parity records in the record group to which the record made the object of the write process by said write request belongs, which are stored in said cache memory;
- second means for confirming, when said control unit receives said write request from said processor, the number of those records, among a parity record in said record group to which the record made the object of the write process by said write request belongs and all other records in said record group which are other than the record made the object of the write process, which are stored in said cache memory;
- and
- third means for determining, on the basis of the numbers confirmed by said first and second means, whether all the parity records in said record group to which the record made the object of the write process by said write request belongs or the parity record in said record group to which the record made the object of the write process by said write request and all the other records in said record group which are other than the record made the object of the write process, should be used in generating updated values of the parity records.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a record made the object of a write process is stored in said cache memory;
- means for storing, the record which is made the object of the write process but is not stored in said cache memory, from said storage unit into said cache memory;
- means for writing, write data received from said processor for the record made the object of the write process, into said storage unit;
- means for storing said write data into a region of said cache memory other than a region where the record made the object of the write process has already been stored and reporting the completion of said write request to said processor;
- means for storing, the parity record in said record group which is not stored in said cache memory, into said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- means for performing, independently from the process to be performed attendant upon the read/write request from said processor, a process which includes generating updated values of the parity records from the record in said cache memory made the object of the write process, said write data stored in said cache memory and the parity record stored in said cache memory and storing the updated values into said cache memory;
- and
- means for writing the updated values of the parity records from said cache memory into said storage units independently from the process to be performed attendant upon the read/write request from said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a record made the object of a write process and all the parity records in the record group to which the record made the object of the write process by said write request, are stored in said cache memory;
- means for writing write data received from said processor or the record made the object of the write process into new region of said cache memory and reporting the completion of said write request to said processor;
- means for storing, the record which is made the object of the write process but is not stored in said cache memory and the parity records which are included in said record group but are not stored in said cache memory, into new regions of said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- means for performing, independently from the process to be performed attendant upon the read/write request from said processor, a process which includes generating updated values of the parity records from the record in said cache memory made the object of the write process, said write data received for the record made the object of the write process and stored in the new region of said cache memory and the parity records in said cache memory and storing the updated values into said cache memory;
- and
- means for writing the updated values of the parity records or said write data received for the record made the object of the write process, from said cache memory into said storage units or unit independently from the process to be performed attendant upon the read/write request from said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a parity record in the record group to which s record made the object of a write process belongs and all other records in said record group which are other than the record made the object of the write process, are stored in said cache memory;
- means for storing, write data received from said processor for the record made the object of the write process, into said cache memory and said storage unit and reporting the completion of said write request to said processor;
- means for storing, those records among the parity record and all the other records in said record group which are not stored in said cache memory, into said cache memory independently from the process to be performed attendant upon the read/write request from said processor;
- means for performing, independently from the process to be performed. attendant upon the read/write request from said processor, a process which includes generating updated values of the parity records from said write data, the parity record in said record group which is stored in said cache memory and all the other records in said record group which are other than the record made the object of the write process and are stored in said cache memory and storing the updated values into said cache memory;
- and
- means for writing the updated values of the parity records from said cache memory into said storage units independently from the process to be performed attendant upon the read/write request from said processor.
In a storage unit subsystem including a plurality of storage units for which read/write is made in units of a record and a control unit which includes a cache memory, in which records in a record group including m (m≧1) records and n (n≧1) parity records for recovering the contents of said m records are stored in said (m+n) storage units, respectively, said control unit comprising:
- means for confirming, upon reception of a write request from a processor, whether or not a parity record in the record group to which a record made the object of a write process belongs and all other records in said record group which are other than the record made the object of the write process, are stored in said cache memory:
- means for storing, write data received from said processor for the record made the object of the write process, into said cache memory and reporting the completion of said write request to said processor:
- means for storing, those records among the parity record and all the other records in said record group which are not stored in said cache memory, into said cache memory independently from a process to be performed attendant upon a read/write request from said processor;
- means for performing, independently from the process to be performed attendant upon the read/write request from said processor, a process which includes generating updated values of the parity records from said write data, the parity record in said record group which is stored in said cache memory and all the other records in said record group which are other than the record made the object of the write process and are stored in said cache memory and storing the updated values into said cache memory;
- and
- means for writing, the updated values of the parity records or said write data received for the record made the object of the write process, from said cache memory into said storage units or unit independently from the process attendant upon the read/write request from said processor.
Dependencies are inferred from the claim text.