Storage subsystem
First Claim
Patent Images
1. A storage subsystem, comprising:
- a first interface unit for sending and receiving information to and from a host computer via a network;
a storage apparatus for storing data;
a second interface unit, which is connected to the storage apparatus, and which carries out data input/output processing to/from the storage apparatus;
a control unit for controlling via the second interface unit the input/output processing to/from a plurality of logical devices allocated to storage areas of the storage apparatus; and
a cache memory for temporarily storing data in accordance with the processing of the control unit as a control target for the control unit,whereinthe storage apparatus comprises a plurality of nonvolatile semiconductor memories each including a memory controller for controlling the input/output processing to/from the nonvolatile semiconductor memories, respectively, the nonvolatile semiconductor memories providing one or more RAID groups,the control unit, when updating data stored in one of the nonvolatile semiconductor memories, reads the data to be updated, creates an XOR write command including updated data and the data to be updated, and sends the XOR write command to the memory controller of one of the nonvolatile semiconductor memories where parity data corresponding to the data to be updated is stored by way of the second interface unit, andthe memory controller, upon receiving the XOR write command, reads out from the one of the nonvolatile semiconductor memories the parity data corresponding to the data to be updated, creates a new parity by carrying out an XOR operation based on the read parity data corresponding to the data to be updated, the updated data and the data to be updated included in the XOR write command, and writes the created new parity to the one of the nonvolatile semiconductor memories.
1 Assignment
0 Petitions
Accused Products
Abstract
The storage system includes a plurality of flash memory devices, each of the flash memory devices including a flash memory controller and flash memory chips, which are configured as a RAID group and a storage controller, coupled to the plurality of flash memory devices, configured to receive data from a computer and send the data to a first flash memory device of the plurality of flash memory devices. The flash memory controller of the flash memory device is configured to receive the data from the storage controller and execute a parity operation using the data.
24 Citations
10 Claims
-
1. A storage subsystem, comprising:
-
a first interface unit for sending and receiving information to and from a host computer via a network; a storage apparatus for storing data; a second interface unit, which is connected to the storage apparatus, and which carries out data input/output processing to/from the storage apparatus; a control unit for controlling via the second interface unit the input/output processing to/from a plurality of logical devices allocated to storage areas of the storage apparatus; and a cache memory for temporarily storing data in accordance with the processing of the control unit as a control target for the control unit, wherein the storage apparatus comprises a plurality of nonvolatile semiconductor memories each including a memory controller for controlling the input/output processing to/from the nonvolatile semiconductor memories, respectively, the nonvolatile semiconductor memories providing one or more RAID groups, the control unit, when updating data stored in one of the nonvolatile semiconductor memories, reads the data to be updated, creates an XOR write command including updated data and the data to be updated, and sends the XOR write command to the memory controller of one of the nonvolatile semiconductor memories where parity data corresponding to the data to be updated is stored by way of the second interface unit, and the memory controller, upon receiving the XOR write command, reads out from the one of the nonvolatile semiconductor memories the parity data corresponding to the data to be updated, creates a new parity by carrying out an XOR operation based on the read parity data corresponding to the data to be updated, the updated data and the data to be updated included in the XOR write command, and writes the created new parity to the one of the nonvolatile semiconductor memories. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
one of the nonvolatile semiconductor memories, has been erased, when the renewal area to be stored with the new parity has been erased, creates a new XOR write command for writing the new parity to the renewal area to be stored with the new parity, transfers the newly created XOR write command to the memory controller, and instructs the memory controller to carry out processing in accordance with the newly created XOR write command, and when the renewal area to be stored with the new parity has not been erased, creates a new XOR write command for writing the new parity to a renewal area that is different from the renewal area to be stored with the new parity, transfers the newly created XOR write command to the memory controller, and instructs the memory controller to carry out processing in accordance with the newly created XOR write command. -
6. The storage subsystem according to claim 1, wherein
the memory controller comprises a status recording memory for sequentially recording a status in which data input/output processing to/from the nonvolatile semiconductor memory is carried out, the memory controller transfers contents recorded in the status recording memory to the control unit, and the control unit, upon receiving contents recorded in the status recording memory from the memory controller, creates instruction information based on the received contents, transfers the created instruction information to the memory controller, and instructs the memory controller to carry out processing in accordance with the instruction information. -
7. The storage subsystem according to claim 1, wherein
the memory controller comprises a status recording memory for sequentially recording a status in which data input/output processing to/from the nonvolatile semiconductor memory is carried out, the memory controller transfers contents recorded in the status recording memory to the control unit, and the control unit, upon receiving from the memory controller, as the contents recorded in the status recording memory, information denoting that processing has been canceled prior to the start of writing of the new parity write, creates on the basis of the received contents a new XOR write command for writing a new parity to the same renewal area of the one of the nonvolatile semiconductor memories, creates instruction information including the newly created XOR write command, transfers the created instruction information to the memory controller, and instructs the memory controller to carry out processing in accordance with the instruction information. -
8. The storage subsystem according to claim 1, wherein
the memory controller comprises a status recording memory for sequentially recording a status in which data input/output processing to/from the nonvolatile semiconductor memory is carried out, the memory controller transfers contents recorded in the status recording memory to the control unit, and the control unit, upon receiving from the memory controller, as the contents recorded in the status recording memory, information denoting that processing has been canceled prior to the completion of writing of the new parity, creates on the basis of the received contents a new XOR write command for writing a new parity to a new renewal area of the one of the nonvolatile semiconductor memories, creates instruction information including the newly created XOR write command, transfers the created instruction information to the memory controller, and instructs the memory controller to carry out processing in accordance with the instruction information. -
9. The storage subsystem according to claim 1, wherein
the memory controller comprises a status recording memory for sequentially recording a status in which data input/output processing to/from the nonvolatile semiconductor memory is carried out, the memory controller transfers contents recorded in the status recording memory to the control unit, and the control unit, upon receiving from the memory controller, as the contents recorded in the status recording memory, information denoting that processing has been canceled prior to pointer renewal, creates, on the basis of the received contents, instruction information for carrying out the pointer renewal, transfers the created instruction information to the memory controller, and instructs the memory controller to carry out processing in accordance with the instruction information. -
10. The storage subsystem according to claim 1, wherein
the memory controller comprises a status recording memory for sequentially recording a status in which data input/output processing to/from the nonvolatile semiconductor memory is carried out, the memory controller transfers contents recorded in the status recording memory to the control unit, and the control unit, upon receiving from the memory controller, as the contents recorded in the status recording memory, information denoting that processing has been canceled prior to a status report, creates, on the basis of the received contents, instruction information to the effect that the processing for writing the new parity has completed normally, transfers the created instruction information to the memory controller, and instructs the memory controller to carry out processing in accordance with the instruction information.
-
Specification