| datint |
| ------ |
| |
| This program checks for data integrity and retention on storage devices. |
| It writes data chunks that contain certain information used for verification. |
| |
| Chunk data fields: |
| LBA - logical block address (offset into partition in multiples of block size) |
| GEN - chunk genration number (number of times the block was written) |
| TIM - timestamp of last write to block |
| RID - run id (unique identifier for this test) |
| |
| Verification: |
| During the verification phase the LBA and GEN values are compared to what is |
| expected. For example, if the program writes LBA 3 seven times, then the |
| program expects that when it reads LBA 3, it has 7 for the GEN number. |
| |
| In case that the data does not match what is expected, the other pieces of |
| information in the data chunk can give a hint to what might have caused the |
| data corruption. |
| |
| Usage: |
| datint [options] file |
| |
| Options: |
| -h print this menu |
| -s seed for random number gen. (default is 0) |
| -m random LBA (default is serialized) |
| -r read-only (default is read/write) |
| -w write-only (default is read/write) |
| -x random w/r (default is read/write) |
| -b <number> beginnig LBA (default is 0) |
| -e <number> bounding LBA (default is file size) |
| -i <number> number of test iterations (default is 1) |
| -z <number> i/o block size (multiple of default 512) |
| |
| Example uses: |
| |
| Serialized writes and reads. First write all LBAs and then read them back for |
| verification. |
| |
| datint /dev/sda3 |
| |
| Randomized writes and reads. Do writes and reads at random. If trying to read |
| a block that was not previously written, the program will instead write the |
| block. |
| |
| datint -x /dev/sda3 |
| |
| Like above, but randomized the blocks as well. |
| |
| datint -x -m /dev/sda3 |
| |
| Specify block range. |
| |
| datint -b 3 -e 37 /dev/sda3 |
| |
| Specify i/o block size (block size must be a multiple of 512). |
| |
| datint -z 1024 /dev/sda3 |