Disk I/O operations are expensive in terms of performance, causing a bottleneck when permanently storing data. Because database file management is an intensely I/O-bound process, any advantage that can be obtained by keeping data in memory will provide faster response times to applications.
To cope with the hindrance of disk I/O, techniques have been devised to allow a program to continue executing without waiting for data to be written to disk. These techniques typically involve writing the data to a cache buffer (in fast temporary memory) where it will be stored until it can be flushed (written to disk) at a later time. As soon as the program has written data to the cache, it can go on processing the next instructions. The cache will be flushed to disk during idle time between other operations. If the cache is independent of the CPU (such as cache built into the disk controller), it may be possible to flush the cache while the application and operating system are busy.