Claims
- 1. A method of updating data k in a disk array system, comprising:
receiving a write command to write new data k′; issuing a read command to a data storage device to read a data cluster containing the data k to be updated; reading the data cluster containing the data k; saving the data cluster in an array controller memory; issuing a read command to a parity storage device to read a parity cluster containing a parity p to be updated that corresponds to the data k; reading the parity cluster containing the parity p; saving the parity cluster in the array controller memory; generating a new parity p′ that corresponds to the new data k′; writing the new data k′ on the data drive; and writing the new parity p′ on the parity drive.
- 2. The method of claim 1, further comprising writing the new data k′ onto the data block saved in the array controller memory to generate an updated data cluster.
- 3. The method of claim 2, further comprising writing the new parity p′ onto the parity block saved in the array controller memory to generate an updated parity cluster.
- 4. The method of claim 3, further comprising issuing a write command to the data drive to write the updated data cluster.
- 5. The method of claim 4, further comprising issuing a write command to the parity drive to write the updated parity cluster.
- 6. The method of claim 5, further comprising computing new error correction codes for the updated data cluster.
- 7. The method of claim 6, further comprising writing the updated data cluster onto the disk of the data drive.
- 8. The method of claim 7, further comprising reporting that the updated data cluster has been successfully written.
- 9. The method of claim 8, further comprising computing new error correction codes for the updated parity cluster.
- 10. The method of claim 9, further comprising writing the updated parity cluster onto the disk of the parity drive.
- 11. The method of claim 10, further comprising reporting that the updated parity cluster has been successfully written.
- 12. The method of claim 11, further comprising reporting that the new data k′ has been successfully written.
- 13. The method of claim 1, wherein disk array system comprises a RAID system.
- 14. The method of claim 1, wherein the data cluster comprises a cluster of sectors.
- 15. The method of claim 1, wherein the data cluster comprises a group of sector clusters.
- 16. The method of claim 1, wherein saving the data cluster in memory comprises saving the data cluster in a cache memory.
- 17. The method of claim 1, wherein generating the new parity p′ comprises logically adding the data k, the parity p, and the new data k′.
- 18. The method of claim 17, wherein generating the new parity p′ comprises logically implementing an exclusive OR operation onto the data k, the parity p, and the new data k′, as follows:
- 19. The method of claim 1, wherein the data cluster and the parity cluster are integrated sector format clusters.
- 20. A method of implementing a write command in a disk array system, comprising:
receiving a write command to write new data k′; issuing a read command to a data storage device to read a data cluster containing the data k to be updated; reading the data cluster containing the data k; saving the data cluster in a memory; issuing a read command to a parity storage device to read a parity cluster containing a parity p to be updated that corresponds to the data k; reading the parity cluster containing the parity p; saving the parity cluster in the memory; generating a new parity p′ that corresponds to the new data k′; writing the new data k′ on the data drive; and writing the new parity p′ on the parity drive.
- 21. A method of updating data k in a disk array system, comprising:
receiving a write command to write new data k′; issuing a read with intent to update command to a data storage device to read the data k to be updated; reading the data cluster containing the data k; saving the data cluster in a data drive memory; issuing a read with intent to update command to a parity storage device to read a parity p to be updated that corresponds to the data k; reading the parity cluster containing the parity p; saving the parity cluster in a parity drive memory; generating a new parity p′ that corresponds to the new data k′; writing the new data k′ on the data drive; and writing the new parity p′ on the parity drive.
- 22. The method of claim 21, further comprising issuing a write command to the data drive to write the new data.
- 23. The method of claim 21, further comprising issuing a write command to the parity drive to write the new parity.
- 24. The method of claim 22, further comprising writing the new data k′ onto the data cluster saved in the data drive memory to generate an updated data cluster.
- 25. The method of claim 23, further comprising writing the new parity p′ onto the parity cluster saved in parity drive memory to generate an updated parity cluster.
- 26. The method of claim 25, further comprising computing new error correction codes for the updated data cluster.
- 27. The method of claim 26, further comprising writing the updated data cluster onto the disk of the data drive.
- 28. The method of claim 27, further comprising reporting that the updated data has been successfully written.
- 29. The method of claim 28, further comprising computing new error correction codes for the updated parity cluster.
- 30. The method of claim 29, further comprising writing the updated parity cluster onto the disk of the parity drive.
- 31. The method of claim 30, further comprising reporting that the updated parity has been successfully written.
- 32. The method of claim 31, further comprising reporting that the new data k′ has been successfully written.
- 33. The method of claim 21, wherein disk array system comprises a RAID system.
- 34. The method of claim 21, wherein the data cluster comprises a cluster of sectors.
- 35. The method of claim 21, wherein the data cluster comprises a group of sector clusters.
- 36. The method of claim 21, wherein saving the data cluster in memory comprises saving the data cluster in a cache memory.
- 37. The method of claim 21, wherein generating the new parity p′ comprises logically adding the data k, the parity p, and the new data k′.
- 38. The method of claim 37, wherein generating the new parity p′ comprises logically implementing an exclusive OR operation onto the data k, the parity p, and the new data k′, as follows:
- 39. The method of claim 21, wherein the data cluster and the parity cluster are integrated sector format clusters.
- 40. A method of implementing a write command in a disk array system, comprising:
receiving a write command to write new data k′; issuing a read with intent to update command to a data storage device to read the data k to be updated; reading the data cluster containing the data k; saving the data cluster in a data drive memory; issuing a read with intent to update command to a parity storage device to read a parity p to be updated that corresponds to the data k; reading the parity cluster containing the parity p; saving the parity cluster in a parity drive memory; generating a new parity p′ that corresponds to the new data k′; writing the new data k′ on the data drive; and writing the new parity p′ on the parity drive.
- 41. A system for updating data k in a disk array system, comprising:
a controller for receiving a write command to write new data k′; the controller issuing a read command to a data storage device to read a data cluster containing the data k to be updated; the controller reading the data cluster containing the data k; the controller saving the data cluster in a memory; the controller issuing a read command to a parity storage device to read a parity cluster containing a parity p to be updated that corresponds to the data k; the controller reading the parity cluster containing the parity p; the controller saving the parity cluster in the memory; the controller generating a new parity p′ that corresponds to the new data k′; the controller writing the new data k′ on the data drive; and the controller writing the new parity p′ on the parity drive.
- 42. The system of claim 41, wherein disk array system comprises a RAID system.
- 43. The system of claim 41, wherein the data cluster comprises a cluster of sectors.
- 44. The system of claim 41, wherein the memory comprises a cache memory.
- 45. The system of claim 1, wherein the data cluster and the parity cluster are integrated sector format clusters.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application relates to co-pending U.S. patent application, titled “Multiple Level (ML), Integrated Sector Format (ISF), Error Correction Code (ECC) Encoding And Decoding Processes For Data Storage Or Communication Devices And Systems,” Ser. No. 10/040,115, filed on Jan. 3, 2002, which is assigned to the same assignee as the present application, and which is incorporated herein by reference in its entirety.