Has anyone heard anything about possible support for DRAT on new SSDs?
DRAT is a modification of the TRIM command, that should make it practical to support TRIM in RAID.
One of the problems with TRIM is that when a sector is TRIMmed, if the host tries to read the sector, the drive is permitted to return anything (zeros, garbage, etc. - and this does depend on the drive - e.g. some drives encrypt the data in flash, so all zeros, may be 'decrypted' as garbage - indeed, reading a TRIMmed sector could theoretically give different data at different times). In other words, TRIM is 'indeterminate'.
This is a huge problem with RAID, as if you TRIM a sector on a redundant array - you lose the redundancy, as the redundancy only works if the host can be certain what data is stored in a particular sector. It would be possible to TRIM a whole stripe - but, it then becomes impossible to check the RAID array for data integrity, unless you keep track of which stripes you have TRIMmed (which is disastrous for performance, not to mention complex with potential for funny bugs, etc.).
DRAT stands for 'determinate TRIM'. A drive that supports DRAT, guarantees that a TRIMmed sector will be zeroed-out. This allows a RAID engine to preserve consistent parity/mirroring without complex, performance crippling workarounds.
DRAT is a modification of the TRIM command, that should make it practical to support TRIM in RAID.
One of the problems with TRIM is that when a sector is TRIMmed, if the host tries to read the sector, the drive is permitted to return anything (zeros, garbage, etc. - and this does depend on the drive - e.g. some drives encrypt the data in flash, so all zeros, may be 'decrypted' as garbage - indeed, reading a TRIMmed sector could theoretically give different data at different times). In other words, TRIM is 'indeterminate'.
This is a huge problem with RAID, as if you TRIM a sector on a redundant array - you lose the redundancy, as the redundancy only works if the host can be certain what data is stored in a particular sector. It would be possible to TRIM a whole stripe - but, it then becomes impossible to check the RAID array for data integrity, unless you keep track of which stripes you have TRIMmed (which is disastrous for performance, not to mention complex with potential for funny bugs, etc.).
DRAT stands for 'determinate TRIM'. A drive that supports DRAT, guarantees that a TRIMmed sector will be zeroed-out. This allows a RAID engine to preserve consistent parity/mirroring without complex, performance crippling workarounds.