Patent ID: 9639457
Date: 2017-05-02
CPC Classifications: G06F,Y02D

Claim:
1. A method for generating a parity data in a data storage system, comprising: (a) arranging a plurality of storage controllers into a storage area network; (b) coupling a corresponding data storage device to each of said plurality of storage controllers; (c) embedding an XOR (Exclusive OR) logic function unit in each of said plurality of storage controllers; (d) upon receiving a “write” data request from at least one host, wherein said “write” data request has a number N of sequential data blocks, appointing in said plurality of storage controllers, a parity storage controller and N data storage controllers adaptively to said number N of sequential data blocks in said “write” request; (e) directly writing a first of said N data blocks incoming from said “write” data request into said appointed parity storage controller; (f) directly writing a second of said N data blocks incoming from said “write” data request into said appointed parity storage controller; (g) automatically applying, under control of said appointed parity storage controller, the XOR logic function to said first and second data blocks incoming directly into said appointed parity storage controller from said “write” data request, thereby generating an intermediate XOR result for said first and second data blocks, and retaining said intermediate XOR result in said appointed parity storage controller; (h) writing directly into said appointed parity storage controller remaining N−2 data blocks incoming in sequence from said “write” data request, and for each data block incoming from said “write” data request subsequent to said second data block, automatically applying, under control of said appointed parity storage controller, said XOR logic function to said each subsequent data block and a respective intermediate XOR result of a previous XOR computation retained in said appointed parity storage controller; (i) repeating said step (h) until said XOR logic function has been applied to said N data blocks incoming from said “write” data request, resulting in generation of a final parity data for an entire said “write” data request; and (j) writing said final parity data for said entire “write” data request from said appointed parity storage controller into said data storage device coupled to said appointed parity storage controller.