×

Managing data storage

  • US 10,353,771 B1
  • Filed: 03/31/2014
  • Issued: 07/16/2019
  • Est. Priority Date: 03/31/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • receiving a write request comprising new data to be written to a data storage system, wherein the data storage system comprises a plurality of data storage devices arranged in a redundant array of independent disk (RAID) group;

    in response to receiving the write request, determining a size of the write request, wherein the size relates to a number of non-parity data portions in a full stripe of data that are associated with the new data;

    based on the size of the write request, selecting one of a plurality of processes to implement storage of the new data; and

    storing the new data in the RAID group in the data storage system in accordance with the selected process;

    wherein the method is configured to select a first process when the size of the write request equates to less than half of the non-parity data portions in the full stripe of data, the first process comprising;

    reading a parity and one or more non-parity data portions in the stripe of data associated with the new data,calculating a new parity based on the parity and the one or more non-parity data portions and the new data, andwriting the new parity and the new data to the RAID group in the data storage system;

    wherein the method is configured to select a second process when the size of the write request equates to half or more of the non-parity data portions in the full stripe of data but less than all of the non-parity data portions in the full stripe of data, the second process comprising;

    reading a parity and one or more missing non-parity data portions in the full stripe of data,verifying the coherency of the one or more missing non-parity data portions by comparing a checksum of the parity and a checksum of the one or more missing non-parity data portions,determining a new parity based on the new data and the one or more missing non-parity data portions, andwriting, in response to verifying the coherency of the missing non-parity data portions, the new data and the new parity to the RAID group in the data storage system without writing the one or more missing non-parity data portions to the RAID group in the data storage system, wherein the new data and the new parity are written to the RAID group with a checksum;

    wherein the method is configured to select a third process when the size of the write request equates to a full stripe of data, the third process comprising;

    calculating a new parity based on the new data and writing the new parity and the new data to the RAID group in the data storage system.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×