Page 211 -
P. 211

5.4 / RECOMMENDED READING AND WEB SITES 179

                       There have been two generations of improvement to the DDR technology.
                  DDR2 increases the data transfer rate by increasing the operational frequency of the
                  RAM chip and by increasing the prefetch buffer from 2 bits to 4 bits per chip. The
                  prefetch buffer is a memory cache located on the RAM chip. The buffer enables
                  the RAM chip to preposition bits to be placed on the data base as rapidly as possi-
                  ble. DDR3, introduced in 2007, increases the prefetch buffer size to 8 bits.
                       Theoretically, a DDR module can transfer data at a clock rate in the range of
                  200 to 600 MHz; a DDR2 module transfers at a clock rate of 400 to 1066 MHz; and
                  a DDR3 module transfers at a clock rate of 800 to 1600 MHz. In practice, somewhat
                  smaller rates are achieved.
                       Appendix K provides more detail on DDR technology.

                  Cache DRAM
                  Cache DRAM (CDRAM), developed by Mitsubishi [HIDA90, ZHAN01], inte-
                  grates a small SRAM cache (16 Kb) onto a generic DRAM chip.
                       The SRAM on the CDRAM can be used in two ways. First, it can be used as a
                  true cache, consisting of a number of 64-bit lines.The cache mode of the CDRAM is
                  effective for ordinary random access to memory.
                       The SRAM on the CDRAM can also be used as a buffer to support the serial
                  access of a block of data. For example, to refresh a bit-mapped screen, the CDRAM
                  can prefetch the data from the DRAM into the SRAM buffer. Subsequent accesses
                  to the chip result in accesses solely to the SRAM.


             5.4 RECOMMENDED READING AND WEB SITES

                  [PRIN97] provides a comprehensive treatment of semiconductor memory technologies, in-
                  cluding SRAM, DRAM, and flash memories. [SHAR97] covers the same material, with more
                  emphasis on testing and reliability issues. [SHAR03] and [PRIN02] focus on advanced
                  DRAM and SRAM architectures. For an in-depth look at DRAM, see [JACO08] and
                  [KEET01]. [CUPP01] provides an interesting performance comparison of various DRAM
                  schemes. [BEZ03] is a comprehensive introduction to flash memory technology.
                       A good explanation of error-correcting codes is contained in [MCEL85]. For a deeper
                  study, worthwhile book-length treatments are [ADAM91] and [BLAH83]. A readable theo-
                  retical and mathematical treatment of error-correcting codes is [ASH90]. [SHAR97] contains
                  a good survey of codes used in contemporary main memories.

                   ADAM91 Adamek, J. Foundations of Coding. New York:Wiley, 1991.
                   ASH90   Ash, R. Information Theory. New York: Dover, 1990.
                   BEZ03 Bez, R.; et al. Introduction to Flash Memory. Proceedings of the IEEE,April 2003.
                   BLAH83   Blahut, R. Theory and Practice of Error Control Codes. Reading, MA:
                        Addison-Wesley, 1983.
                   CUPP01   Cuppu, V., et al. “High Performance DRAMS in Workstation Environments.”
                        IEEE Transactions on Computers, November 2001.
                   JACO08 Jacob, B.; Ng, S.; and Wang, D. Memory Systems: Cache, DRAM, Disk. Boston:
                        Morgan Kaufmann, 2008.
                   KEET01   Keeth, B., and Baker, R. DRAM Circuit Design: A Tutorial. Piscataway, NJ:
                        IEEE Press, 2001.
   206   207   208   209   210   211   212   213   214   215   216