A computer system comprising: a data storage subsystem that is capable of being coupled to a network (180, 190) and is configured to receive via said network (180, 190), from a client device of a plurality of client devices connected to said network, a read and write request, wherein the storage subsystem comprises a plurality of data storage locations on a device group, said device group including a plurality of storage devices configured in a Redundant Array of Independent Drives, RAID; wherein intra-device redundancy data comprises parity information; wherein the data storage subsystem further comprises a storage controller configured to: write a first RAID stripe to the plurality of storage devices (176a-176k) according to a first RAID layout, wherein writing the first RAID stripe includes: writing a first amount of intra-device redundancy data in a first storage device of the plurality of storage devices; and writing a second amount of intra-device redundancy data in a second storage device of the plurality of storage devices; before writing a second RAID stripe to the plurality of storage devices, predict, based on monitored characteristics of the second storage device, an increasing error rate of the second storage device; and write a second RAID stripe to the plurality of storage devices, wherein writing the second RAID stripe includes: writing the first amount of intra-device redundancy data in the first storage device of the plurality of storage devices; and in response to predicting the increasing error rate of the second storage device, writing a third amount of intra-device redundancy data in the second storage device instead of the second amount, wherein the third amount is larger than the second amount. a data storage subsystem that is capable of being coupled to a network (180, 190) and is configured to receive via said network (180, 190), from a client device of a plurality of client devices connected to said network, a read and write request, wherein the storage subsystem comprises a plurality of data storage locations on a device group, said device group including a plurality of storage devices configured in a Redundant Array of Independent Drives, RAID; wherein intra-device redundancy data comprises parity information; wherein the data storage subsystem further comprises a storage controller configured to: write a first RAID stripe to the plurality of storage devices (176a-176k) according to a first RAID layout, wherein writing the first RAID stripe includes: writing a first amount of intra-device redundancy data in a first storage device of the plurality of storage devices; and writing a second amount of intra-device redundancy data in a second storage device of the plurality of storage devices; before writing a second RAID stripe to the plurality of storage devices, predict, based on monitored characteristics of the second storage device, an increasing error rate of the second storage device; and write a second RAID stripe to the plurality of storage devices, wherein writing the second RAID stripe includes: writing the first amount of intra-device redundancy data in the first storage device of the plurality of storage devices; and in response to predicting the increasing error rate of the second storage device, writing a third amount of intra-device redundancy data in the second storage device instead of the second amount, wherein the third amount is larger than the second amount. write a first RAID stripe to the plurality of storage devices (176a-176k) according to a first RAID layout, wherein writing the first RAID stripe includes: writing a first amount of intra-device redundancy data in a first storage device of the plurality of storage devices; and writing a second amount of intra-device redundancy data in a second storage device of the plurality of storage devices; writing a first amount of intra-device redundancy data in a first storage device of the plurality of storage devices; and writing a second amount of intra-device redundancy data in a second storage device of the plurality of storage devices; before writing a second RAID stripe to the plurality of storage devices, predict, based on monitored characteristics of the second storage device, an increasing error rate of the second storage device; and write a second RAID stripe to the plurality of storage devices, wherein writing the second RAID stripe includes: writing the first amount of intra-device redundancy data in the first storage device of the plurality of storage devices; and in response to predicting the increasing error rate of the second storage device, writing a third amount of intra-device redundancy data in the second storage device instead of the second amount, wherein the third amount is larger than the second amount. writing the first amount of intra-device redundancy data in the first storage device of the plurality of storage devices; and in response to predicting the increasing error rate of the second storage device, writing a third amount of intra-device redundancy data in the second storage device instead of the second amount, wherein the third amount is larger than the second amount.