When a lot of data is being written to a single file, it is often sent to the disk array in small blocks, perhaps 2 kilobytes to 8 kilobytes in size. The array can use its cache to coalesce adjacent blocks, which means that the disk gets fewer larger writes to handle. The reduction in the number of seeks greatly increases performance and cuts service times dramatically. As an example, 2-kilobyte raw writes during a database load can go two to three times faster. The simple Unix write operation is buffered by the in-memory page cache until the file is closed or data gets flushed out after 30 seconds.
Some applications use synchronous writes to ensure that their data is safely on disk.
Directory changes are also made synchronously. Since the application is waiting for the write to complete, this has a dramatic effect, often reducing the wait from as much as 20 milliseconds to as little as 2 milliseconds. Use ssaadm to check the SSA firmware revision and upgrade it first. The final use for a disk array write cache is to accelerate the RAID 5 write operations in hardware RAID systems. RAID 5 combines disks using parity for protection, but during writes the calculation of parity means that all the blocks in a stripe are needed.