The Five-minute Rule
20 Years Later
and How Flash Memory Changes the Rules
interval is about inversely proportional to the record size.
Gray and Putzolu gave one hour for 100-byte records and
two minutes for 4-KB pages.
The five-minute rule was reviewed and renewed 10
years later in 1997.2 Lots of prices and performance
parameters had changed (e.g., the price of RAM had
tumbled from $5,000 to $15 per megabyte). Nonetheless,
the break-even interval for 4-KB pages was still around
five minutes. The first purpose of this article is to review
the five-minute rule after another 10 years.
Of course, both previous papers acknowledged that
prices and performance vary among technologies and
devices at any point in time (e.g., RAM for mainframes
versus minicomputers, SCSI versus IDE disks, etc.). Therefore, interested readers are invited to reevaluate the appropriate formulas for their environments and equipment.
The values used here (in table 1) are meant to be typical
for 2007 technologies rather than universally accurate.
In addition to quantitative changes in prices and
performance, qualitative changes already under way will
affect the software and hardware architectures of servers
and, in particular, database systems. Database software
will change radically with the advent of new technologies: virtualization with hardware and software support,
as well as higher utilization goals for physical machines;
many-core processors and transactional memory supported both in programming environments and hardware; 3 deployment in containers housing thousands of
processors and many terabytes of data; 4 and flash memory
TABLE
1Prices and Performance of Flash and Disks
Price and capacity
Transfer bandwidth
Access latency
Active power
Idle power
Sleep power
$3 for 8x64 Mbit
----
----
----
----
----
$999 for 32 GB
66 MB/s API
0.1 ms
1 W
0.1 W
0.1 W
that fills the gap between traditional RAM and traditional
rotating disks.
Flash memory falls between traditional RAM and
persistent mass storage based on rotating disks in terms of
acquisition cost, access latency, transfer bandwidth, spatial density, power consumption, and cooling costs. 5 Table
1 and some derived metrics in table 2 illustrate this point.
Given that the number of CPU instructions possible
during the time required for one disk I/O has steadily
increased, an intermediate memory in the storage hierarchy is desirable. Flash memory seems to be a highly probable candidate, as has been observed many times by now.
Many architecture details remain to be worked out. For
example, in the hardware architecture, will flash memory
be accessible via a DIMM slot, a SATA (serial ATA) disk
interface, or yet another hardware interface? Given the
effort and delay in defining a new hardware interface,
adaptations of existing interfaces are likely.
A major question is whether flash memory is considered a special part of main memory or a special part of
persistent storage. Asked differently: if a system includes
1-GB traditional RAM, 8-GB flash memory, and a 250-GB
traditional disk, does the software treat it as 250 GB of
persistent storage and a 9-GB buffer pool, or as 258 GB
of persistent storage and a 1-GB buffer pool? The second
purpose of this article is to answer this question and, in
fact, to argue for different answers in file systems and
database systems.
Many design decisions depend on the answer to this
question. For example, if flash memory is part of the
buffer pool, pages must be considered “dirty” if their contents differ from the equivalent page in persistent storage.
Synchronizing the file system or checkpointing a database
must force disk writes in those cases. If flash memory is
part of persistent storage, these write operations are not
required.
Designers of operating systems and file systems will
want to use flash memory
as an extended buffer pool
(extended RAM), whereas
database systems will ben-
efit from flash memory as
an extended disk (extended
persistent storage). Mul-
tiple aspects of file systems
and database systems
consistently favor these
two designs.
Moreover, the characteristics of flash memory sug-
$80 for 250 GB
300 MB/s API
12 ms average
10 W
8 W
1 W