throbber
Memory Systems
`Cache, DRAM, Disk
`
`Bruce Jacob
`University of Maryland at College Park
`
`Spencer W. Ng
`Hitachi Global Storage Technologies
`
`David T. Wang
`MetaRAM
`
`With Contributions By
`Samuel Rodriguez
`Advanced Micro Devices
`
`AMSTERDAM (cid:129) BOSTON (cid:129) HEIDELBERG LONDON
`NEW YORK (cid:129) OXFORD (cid:129) PARIS (cid:129) SAN DIEGO
`SAN FRANCISCO (cid:129) SINGAPORE (cid:129) SYDNEY (cid:129) TOKYO
`Morgan Kaufmann is an imprint of Elsevier
`
`Ml c:◄·
`
`NOII.IIAN
`
`KAUFMANN
`
`~UBLIIHEII.I
`
`ELSEVIER
`
`IPR2018-01600
`
`EXHIBIT
`2076
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 1
`
`

`

`Publisher
`Acquisitions Editor
`Publishing Services Manager
`Senior Production Editor
`Developmental Editor
`Assistant Editor
`Cover Design
`Text Design
`Composition
`Interior printer
`Cover printer
`
`Denise E.M. Penrose
`Chuck Glaser
`George Morrison
`Paul Gottehrer
`Nate McFadden
`Kimberlee Honjo
`Joanne Blank
`Dennis Schaefer
`diacriTech
`Maple-Vail Book Manufacturing Group
`Phoenix Color
`
`Morgan Kaufmann Publishers is an imprint of Elsevier.
`30 Corporate Drive, Suite 400, Burlington, MA 01803, USA
`This book is printed on acid-free paper.
`© 2008 by Elsevier Inc. All rights reserved.
`Designations used by companies to distinguish their products are often claimed as trademarks or registered trademarks. In all
`instances in which Morgan Kaufmann Publishers is aware of a claim, the product names appear in initial capital or all capital
`letters. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and
`registration.
`No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic,
`mechanical, photocopying, scanning, or otherwise—without prior written permission of the publisher.
`Permissions may be sought directly from Elsevier’s Science & Technology Rights Department in Oxford, UK: phone:
`(+44) 1865 843830, fax: (+44) 1865 853333, E-mail: permissions@elsevier.com. You may also complete your request online
`via the Elsevier homepage (http://elsevier.com), by selecting “Support & Contact” then “Copyright and Permission” and then
`“Obtaining Permissions.”
`
`Library of Congress Cataloging-in-Publication Data
`Application submitted
`
`ISBN: 978-0-12-379751-3
`For information on all Morgan Kaufmann publications,
`visit our Web site at www.mkp.com or www.books.elsevier.com
`Printed in the United States of America
`08 09 10 11 12 5 4 3 2 1
`
`Working together to grow
`libraries in developing countries
`www.elsevier.com | www.bookaid.org | www.sabre.org
`t?.?i,~,!~?i Sabre Foundation
`ELSEVIER
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 2
`
`

`

`DRAM Memory
`System Organization
`
`the basic building
`examine
`Previous chapters
`blocks of DRAM devices and signaling
`issues that
`constrain
`the transmission
`and subsequent
`storage
`of data into the DRAM devices. In this chapter, basic
`terminologies and building blocks of DRAM memory
`systems are described. Using the building blocks
`described
`in the previous chapters,
`the text in this
`chapter examines the construction, organization, and
`operation of multiple DRAM devices in a larger mem(cid:173)
`ory system. This chapter covers the terminologies
`and topology, as well as the organization of various
`types of memory modules.
`
`10. 1 Conventional Memory System
`The number of storage bits contained
`in a given
`DRAM device is constrained by the manufacturing
`process technology, the cell size, the array efficiency,
`and the effectiveness of the defect-cell
`remapping
`mechanism
`for yield enhancement. As the manu(cid:173)
`facturing process technology advances
`in line with
`Moore's Law, the number of storage bits contained
`in
`a given DRAM device doubles every few years. How(cid:173)
`ever, the unspoken corollary to Moore's Law states
`that software written by software companies
`in the
`Pacific Northwest and elsewhere will automatically
`expand
`to fill available memory
`in a given system.
`Consequently,
`the number of storage bits contained
`in a single DRAM device at any given instance
`in
`time has been and will continue
`to be inadequate
`to serve as the main memory
`for most computing
`platforms with the exception of specialty embedded
`systems.
`
`In the past few decades, the growth rate of DRAM
`device storage capacity has roughly paralleled
`the
`growth rate of the size of memory systems for desk(cid:173)
`top computers, workstations, and servers. The paral(cid:173)
`lel growth rates have dictated system designs in that
`multiple DRAM devices must be connected
`together
`to form memory systems in most computing plat(cid:173)
`forms. In this chapter, the organization of different
`multi-chip DRAM memory
`systems and different
`interconnection
`strategies deployed for cost and per(cid:173)
`formance concerns are explored.
`In Figure 10.1, multiple DRAM devices are intercon(cid:173)
`nected together to form a single memory system that
`is managed by a single memory controller. In modern
`computer systems, one or more DRAM memory con(cid:173)
`trollers (DMCs) may be contained
`in the processor
`package or integrated
`into a system controller
`that
`resides outside of the processor package. Regardless
`of the location of the DRAM memory controller, its
`functionality
`is to accept read and write requests to
`a given address in memory, translate
`the request to
`one or more commands
`to the memory system, issue
`those commands
`to the DRAM devices in the proper
`sequence and proper timing, and retrieve or store data
`on behalf of the processor or 1/0 devices in the sys(cid:173)
`tem. The internal structures of a system controller are
`examined in a separate chapter. This chapter focuses
`on the organization of DRAM devices in the context of
`multi-device memory systems.
`
`10.2 Basic Nomenclature
`The organization of multiple DRAM devices into a
`memory system can impact the performance of the
`
`409
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 3
`
`

`

`410 Memory Systems: Cache, DRAM, Disk
`
`Channel?
`
`Rank? Bank?
`
`Row?
`
`Column?
`
`Channel Address=?
`Rank Address= ?
`Bank Address= ?
`Row address=?
`Column Address =?
`
`Data - -
`GMemor~)
`-
`----
`
`Controller
`
`Command
`Sequence
`
`FIGURE 10.1: Multiple DRAM devices connected to a processor through a DRAM memory controller.
`
`memory system in terms of system storage capac(cid:173)
`ity, operating data rates, access latency, and sustain(cid:173)
`It is therefore of great
`able bandwidth characteristics.
`importance
`that the organization of multiple DRAM
`devices into larger memory systems be examined in
`detail. However, the absence of commonly accepted
`nomenclature has hindered the examination of DRAM
`memory-system
`organizations. Without a common
`basis of well-defined nomenclature,
`technical articles
`and data sheets sometimes succeed
`in introducing
`confusion
`rather
`than clarity into discussions on
`DRAM memory systems. In one example, a technical
`data sheet for a system controller used the word bank
`in two bulleted items on the same page to mean two
`different things. In this data sheet, one bulleted item
`proclaimed
`that the system controller could support
`6 banks (of DRAM devices). Then, several bulleted
`items later, the same data sheet stated that the same
`system controller could support SD RAM devices with
`4 banks. In a second example, an article in a well(cid:173)
`respected
`technical journal examined
`the then-new
`i875P system controller
`from Intel and proceeded
`to discuss the performance advantage of the system
`controller due to the fact that the i875P system con(cid:173)
`troller could control 2 banks of DRAM devices (it can
`control two entire channels).
`the word bank was used
`In these two examples,
`to mean three different
`things. While the meaning
`
`of the word bank can be inferred from the context
`in each case, the overloading and repeated use of
`the word
`introduces
`unnecessary
`confusion
`into
`discussions about DRAM memory systems. In this
`section,
`the usage of channel, rank, bank, row, and
`column is defined, and discussions
`in this and sub(cid:173)
`sequent chapters will conform
`to the usage in this
`chapter.
`
`10.2.1 Channel
`Figure 10.2 shows three different system control(cid:173)
`lers with slightly different configurations of the DRAM
`memory system. In Figure 10.2, each system con(cid:173)
`troller has a single DRAM memory controller (DMC),
`and each DRAM memory controller controls a single
`channel of memory. In the example labelled as the
`typical system controller, the system controller con(cid:173)
`trols a single 64-bit-wide channel. In modern DRAM
`memory systems, commodity DRAM memory mod(cid:173)
`ules are standardized with 64-bit-wide data busses,
`and the 64-bit data bus width of the memory mod(cid:173)
`ule matches
`the data bus width of the typical per(cid:173)
`sonal computer system controller. 1 In the example
`labelled as Intel i875P system controller, the system
`controller connects to a single channel of DRAM with
`a 128-bit-wide data bus. However, since commod(cid:173)
`ity DRAM modules have 64-bit-wide data busses,
`
`1Commodity memory modules designed for error correcting memory systems are standardized with a 72-bit-wide data bus.
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 4
`
`

`

`Chapter 10 DRAM MEMORY SYSTEM ORGANIZATION 411
`
`the i875P system controller requires matching pairs
`of 64-bit wide memory modules to operate with the
`128-bit-wide data bus. The paired-memory module
`configuration of the i875P is often referred
`to as a
`dual channel configuration. However, since there is
`only one memory controller, and since both memory
`modules operate
`in lockstep
`to store and retrieve
`data through the 128-bit-wide data bus, the paired(cid:173)
`memory module configuration
`is, logically, a 128-bit(cid:173)
`wide single channel memory system. Also, similar to
`SD RAM and DDR SD RAM memory systems, standard
`
`Direct RDRAM memory modules are designed with
`16-bit-wide data busses, and high-performance
`sys(cid:173)
`tem controllers
`that use Direct RDRAM, such as the
`Intel i850 system controller, use matched pairs of
`Direct RDRAM memory modules
`to form a 32-bit(cid:173)
`wide channel that operates in lockstep across the two
`physical channels of memory.
`that use a single
`In contrast
`to system controllers
`DRAM memory controller to control the entire mem(cid:173)
`ory system, Figure 10.3 shows that the Alpha EV7 pro(cid:173)
`cessor and the Intel i925x system controller each have
`
`"Typical"
`system controller
`
`DMC
`
`q4
`'
`
`DOR
`
`One "physical channel" of 64 bit width
`
`One DMC: One logical 64 bit wide channel
`
`Intel i875P
`system controller
`
`DMC
`I---"'-<,,---~~
`
`64~
`Two "physical channels" of 64 bit wide busses
`t2S ~ ~
`One DMC: One logical 128 bit wide channel
`64 ~
`
`Intel i850
`system controller
`
`16 ~
`Two "physical channels" of 16 bit width
`~2 ~ ~
`
`DMC ,__ ..... ,----
`One DMC: One logical 32 bit wide channel
`~
`
`FIGURE 10.2: Systems with a single memory controller and different data bus widths.
`
`DMC
`
`DMC
`
`64
`'
`"
`64
`'
`"
`
`I DDR2
`I
`
`I DDR2
`I
`
`I
`
`I
`
`0 (/)
`ti:l (/)
`..c Q)
`c.. (.)
`<i'. e
`c..
`0 I'--
`a..>
`IW
`
`64
`
`DMC
`
`DMC
`
`64
`
`D-RDRAM
`I D-RDRAM I
`D-RDRAM
`
`D-RDRAM
`
`D-RDRAM
`
`D-RDRAM
`
`D-RDRAM
`
`D-RDRAM
`
`Q)
`
`...
`e
`Xe
`L!) 8
`&! E
`ID u5
`-
`>,
`.!: (/)
`
`--
`
`Q)
`
`Two Channels: 64 bit wide per channel
`
`Two Channels: 64 bit wide per channel
`
`FIGURE 10.3: Systems with two independent memory controllers and two logical channels of memory.
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 5
`
`

`

`412 Memory Systems: Cache, DRAM, Disk
`
`control
`that independently
`two DRAM controllers
`data busses. 2 The use of indepen(cid:173)
`64-bit-wide
`dent DRAM memory controllers can lead to higher
`sustainable
`bandwidth
`characteristics,
`since
`the
`narrower channels
`lead to longer data bursts per
`cacheline
`request, and
`the various
`inefficiencies
`dictated by DRAM-access protocols can be better
`amortized. As a result, newer system controllers are
`often designed with multiple memory controllers
`despite the additional die cost.
`Modern memory
`systems with one DRAM
`memory
`controller
`and multiple physical chan(cid:173)
`nels of DRAM devices such as those illustrated
`in
`Figure 10.2 are typically designed with the physi(cid:173)
`cal channels operating
`in lockstep with respect
`to
`each other. However, there are two variations
`to the
`single-controller-multiple-physical-channel
`con(cid:173)
`figuration. One variation of the single-controller(cid:173)
`multiple-physical-channel
`configuration
`is
`that
`some system controllers, such as the Intel i875P sys(cid:173)
`tem controller, allow the use of mismatched pairs of
`memory modules in the different physical channels.
`In such a case, the i875P system controller operates
`
`in an asymmetric mode and independently
`controls
`the physical channels of DRAM modules. However,
`since there is only one DRAM memory controller, the
`multiple physical channels of mismatched memory
`modules cannot be accessed concurrently, and only
`one channel of memory can be accessed at any given
`instance
`in time. In the asymmetric configuration,
`the maximum
`system bandwidth
`is the maximum
`bandwidth of a single physical channel.
`A second
`variation
`of
`the
`single-controller(cid:173)
`multiple-physical-channel
`configuration
`can be
`found
`in high-performance
`FPM DRAM memory
`systems that were designed prior to the emergence of
`SD RAM-type DRAM devices that can burst out multi(cid:173)
`ple columns of data with a given column access com(cid:173)
`mand. Figure 10.4 illustrates a sample timing diagram
`of a column access in an SDRAM memory system.
`Figure 10.4 shows that an SDRAM device is able to
`return a burst of multiple columns of data for a single
`column access command. However, an FPM DRAM
`device
`supported
`neither
`single-access-multiple(cid:173)
`burst capability nor the ability to pipeline multiple
`column access commands. As a result, FPM DRAM
`
`C~
`datal
`
`I
`I I I I I I
`
`I
`
`I
`
`_,
`cmd_._l ___,_ __
`I tc~s ~u~st [e rlgtrl
`
`I
`
`I
`
`SDRAM memory bursts multiple
`columns of data (2) for each column
`access command (1 ).
`
`FPM DRAM returns one column of
`data (2) for each column access
`command (1 ). Column accesses
`cannot be pipelined. Solution: stagger
`column accesses to different physical
`channels of FPM DRAM devices
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`2
`
`I
`
`I
`
`data!
`--------'"'-<1'--
`1
`I
`I
`I
`
`I
`
`I
`
`I
`
`I
`I
`I
`'-------..,----
`tcAS
`
`DMC
`
`72
`
`FPM
`
`FPM
`
`FPM
`
`FPM
`
`FIGURE 10.4: High-performance memory controllers with four channels of interleaved FPM DRAM devices.
`
`2Ignoring additional bitwidths used for error correction and cache directory.
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 6
`
`

`

`Chapter 10 DRAM MEMORY SYSTEM ORGANIZATION 413
`
`to retrieve
`devices need multiple column accesses
`the multiple columns of data for a given cacheline
`access, column accesses that cannot be pipelined
`to
`a single FPM DRAM device.
`One solution deployed to overcome the shortcom(cid:173)
`ings of FPM DRAM devices is the use of multiple
`FPM DRAM channels operating
`in an interleaved
`fashion. Figure 10.4 also shows how a sophisticated
`FPM DRAM controller can send multiple column
`accesses
`to different physical channels of memory
`so that the data for the respective column accesses
`appears on the data bus in consecutive cycles. In this
`configuration,
`the multiple FPM DRAM channels can
`provide the sustained
`throughput
`required
`in high(cid:173)
`performance workstations
`and servers before
`the
`appearance of modern synchronous DRAM devices
`that can burst through multiple columns of data in
`consecutive cycles.
`
`10.2.2 Rank
`Figure 10.5 shows a memory system populated
`with 2 ranks of DRAM devices. Essentially, a rank of
`is a "bank" of one or more DRAM devices
`memory
`that operate in lockstep in response
`to a given com(cid:173)
`mand. However, the word bank has already been
`used to describe the number of independent DRAM
`arrays within a DRAM device. To lessen the confu(cid:173)
`sion associated with overloading
`the nomenclature,
`the word rank is now used to denote a set of DRAM
`devices that operate in lockstep to respond to a given
`command
`in a memory system.
`Figure 10.5 illustrates a configuration of 2 ranks
`of DRAM devices in a classical DRAM memory sys(cid:173)
`tem topology. In the classical DRAM memory system
`topology, address and command busses are con(cid:173)
`nected to every DRAM device in the memory system,
`
`address and command
`
`1-------,
`
`I
`
`data
`16
`
`data
`16
`
`data
`16
`
`data us
`16
`
`DMC
`
`chip-select O
`chip-select 1
`
`FIGURE 10.5: Memory system with 2 ranks of DRAM devices.
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 7
`
`

`

`414 Memory Systems: Cache, DRAM, Disk
`
`CKE
`
`CS#
`
`WE#_
`
`CU< ....
`-
`-
`-
`-
`-
`
`CAS#
`
`RAS#
`
`control
`logic
`
`"O
`C
`ti:l Q)
`E -o
`
`0 Q)
`(.) "O
`
`E 8 -7
`I refresh I
`counter
`
`mode
`register
`
`' l
`
`addr
`bus
`·I address~
`~ register I
`
`row
`--
`addr
`~ mux ~I
`
`rrnM
`1row
`I row
`row
`
`latch &
`decoder
`
`J,
`
`_ I bank
`- 1 control
`
`■ -
`address ~-
`
`s
`p •
`.... --
`
`■
`
`-
`
`I I I I I I_
`DRAM-
`Array =
`
`•
`• Y•
`sense amp array •
`in n
`
`■ y
`
`y ■
`
`' 1 '
`
`Ba nkO
`
`nk 1
`- Ba
`
`nk 2
`Ba
`
`nk 3
`Ba
`
`aata out I
`register
`'
`I data 1/0 I
`'
`data in I
`register
`
`-
`-
`
`address
`counter
`
`-
`
`read data latch
`write drivers
`
`. --j]]J
`' ' ' '
`
`column
`decoder
`
`FIGURE 10.6: SDRAM device with 4 banks of DRAM arrays internally.
`
`but the wide data bus is partitioned and connected
`to different DRAM devices. The memory control(cid:173)
`ler in this classical system topology then uses chip(cid:173)
`select signals to select the appropriate
`rank of DRAM
`devices to respond to a given command.
`In modern memory
`systems, multiple DRAM
`devices are commonly grouped
`together
`to provide
`the data bus width and capacity required by a given
`memory
`system. For example, 18 DRAM devices,
`each with a 4-bit-wide data bus, are needed in a given
`rank of memory
`to form a 72-bit-wide data bus. In
`contrast, embedded
`systems that do not require as
`much capacity or data bus width typically use fewer
`devices in each rank of memory-sometimes
`as few
`as one device per rank.
`
`10.2.3 Bank
`As described previously, the word bank had been
`used to describe a set of independent memory arrays
`inside of a DRAM device, a set of DRAM devices
`that collectively act
`in response
`to commands,
`
`and different physical channels of memory. In this
`chapter, the word bank is only used to denote a set of
`independent memory arrays inside a DRAM device.
`Figure 10.6 shows an SDRAM device with 4 banks
`of DRAM arrays. Modern DRAM devices contain mul(cid:173)
`tiple banks so that multiple, independent
`accesses to
`different DRAM arrays can occur in parallel. In this
`design, each bank of memory
`is an independent
`array that can be in different phases of a row access
`cycle. Some common
`resources, such as 1/0 gating
`that allows access to the data pins, must be shared
`between different banks. However, the multi-bank
`architecture allows commands such as read requests
`to different banks to be pipelined. Certain commands,
`such as refresh commands, can also be engaged in
`multiple banks in parallel. In this manner, multiple
`banks can operate
`independently
`or concurrently
`depending on the command. For example, multiple
`banks within a given DRAM device can be activated
`independently
`from each other-subject
`to the power
`constraints of the DRAM device that may specify how
`closely such activations can occur in a given period of
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 8
`
`

`

`Chapter 10 DRAM MEMORY SYSTEM ORGANIZATION 415
`
`time. Multiple banks in a given DRAM device can also
`be precharged or refreshed in parallel, depending on
`the design of the DRAM device.
`
`10.2.4 Row
`In DRAM devices, a row is simply a group of stor(cid:173)
`age cells that are activated in parallel in response
`to
`a row activation command.
`In DRAM memory sys(cid:173)
`tems that utilize the conventional
`system topology
`such as SDRAM, DDR SDRAM, and DDR2 SDRAM
`memory systems, multiple DRAM devices are typi(cid:173)
`cally connected
`in parallel in a given rank of mem(cid:173)
`ory. Figure 10.7 shows how DRAM devices can be
`connected
`in parallel to form a rank of memory. The
`effect of DRAM devices connected as ranks of DRAM
`devices that operate in lockstep is that a row activa(cid:173)
`tion command will activate the same addressed row
`in all DRAM devices in a given rank of memory. This
`arrangement means that the size of a row-from
`the
`perspective of the memory controller-is
`simply the
`size of a row in a given DRAM device multiplied by
`
`the number of DRAM devices in a given rank, and a
`DRAM row spans across the multiple DRAM devices
`of a given rank of memory.
`A row is also referred to as a DRAM page, since a
`row activation command
`in essence caches a page
`of memory at the sense amplifiers until a subse(cid:173)
`quent precharge command
`is issued by the DRAM
`memory controller. Various schemes have been pro(cid:173)
`posed to take advantage oflocality at the DRAM page
`level. However, one problem with the exploitation
`of locality at the DRAM page level is that the size of
`the DRAM page depends on the configuration of the
`DRAM device and memory modules, rather than the
`architectural page size of the processor.
`
`10.2.5 Column
`In DRAM memory systems, a column of data is
`the smallest addressable unit of memory. Figure 10.8
`illustrates
`that, in memory systems such as SD RAM
`and DDRx 3 SDRAM with topology similar
`to the
`memory system illustrated
`in Figure 10.5, the size of
`
`DRAM devices arranged in parallel in a given rank ~--------
`
`■
`
`■
`
`-
`
`I
`
`I
`I
`I
`I
`I_
`DRAM -
`Array =
`
`■
`
`■
`
`-
`
`I
`I
`I
`I
`I_
`DRAM -
`Array =
`
`• • •
`
`■
`
`■
`
`-
`
`I
`I
`I
`I
`I_
`DRAM -
`Array =
`
`■
`
`-~
`•
`-~
`•v• ~~ ■ y ■
`V
`
`1~11•
`sense amp a
`
`•
`
`senj.e amp array
`
`-~
`•
`• Y•
`"'-
`I ~i
`
`IY •
`
`sense amp array
`
`•
`
`I'
`■
`
`one row spanning multiple DRAM devices
`
`FIGURE 10.7: Generic DRAM devices with 4 banks, 8196 rows, 512 columns per row, and 16 data bits per column.
`
`3DDRx denotes DDR SDRAM and evolutionary DDR memory systems such as DDR2 and DDR3 SDRAM memory systems,
`inclusively.
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 9
`
`

`

`416 Memory Systems: Cache, DRAM, Disk
`
`DRAM devices arranged in parallel in a given rank
`
`•••
`
`SDRAM memory systems: width of data bus = column size
`
`FIGURE 10.8: Classical DRAM system topology; width of data bus equals column size.
`
`a column of data is the same as the width of the data
`bus. In a Direct RD RAM device, a column is defined
`as 16 bytes of data, and each read command
`fetches
`a single column of data 16 bytes in length from each
`physical channel of Direct RD RAM devices.
`A beatis simply a data transition on the data bus. In
`SD RAM memory systems, there is one data transition
`per clock cycle, so one beat of data is transferred per
`clock cycle. In DDRx SDRAM memory systems, two
`data transfers can occur in each clock cycle, so two
`beats of data are transferred
`in a single clock cycle.
`The use of the beat terminology avoids overloading
`the word cycle in DDRx SD RAM devices.
`In DDRx SDRAM memory systems, each column
`access command
`fetches multiple columns of data
`depending on the programmed
`burst
`length. For
`example, in a DDR2 DRAM device, each memory read
`command
`returns a minimum of 4 columns of data.
`The distinction between a DDR2 device returning a
`minimum burst length of 4 beats of data and a Direct
`RD RAM device returning a single column of data over
`8 beats is that the DDR2 device accepts the address of
`a specific column and returns the requested columns
`in different orders depending on the programmed
`behavior of the DRAM device. In this manner, each
`column is separately addressable. In contrast, Direct
`RDRAM devices do not reorder data within a given
`burst, and a 16-byte burst from a single channel of
`
`Direct RDRAM devices is transmitted
`treated as a single column of data.
`
`in order and
`
`10.2.6 Memory System Organization: An
`Example
`Figure 10.9 illustrates a DRAM memory system with
`4 ranks of memory, where each rank of memory consists
`of 4 devices connected in parallel, each device contains
`4 banks of DRAM arrays internally, each bank contains
`8192 rows, and each row consists of 512 columns of
`data. To access data in a DRAM-based memory sys(cid:173)
`tem, the DRAM memory controller accepts a physical
`address and breaks down the address into respective
`address fields that point to the specific channel, rank,
`bank, row, and column where the data is located.
`Although Figure 10.9
`illustrates
`a uniformly
`organized memory system, memory system orga(cid:173)
`nizations of many computer
`systems, particularly
`end-user
`configurable
`systems, may be typically
`non-uniformly organized. The reason that the DRAM
`memory systems organizations
`in many computer
`systems are typically non-uniform
`is because most
`computer
`systems are designed
`to allow end-users
`to upgrade
`the capacity of the memory system by
`inserting and removing commodity memory mod(cid:173)
`ules. To support memory capacity upgrades by the
`end-user, DRAM controllers have to be designed
`to
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 10
`
`

`

`Chapter 10 DRAM MEMORY SYSTEM ORGANIZATION 417
`
`bank ID= 1
`
`column ID= 0x187
`
`Memory System
`
`FIGURE 10.9: Location of data in a DRAM memory system.
`
`to different configurations of DRAM
`flexibly adapt
`devices and modules
`that the end-user could place
`into the computer system. This support
`is provided
`for through the use of address range registers whose
`functionality
`is examined separately
`in the chapter
`on memory controllers.
`
`10.3 Memory Modules
`The first generations of computer systems allowed
`end-users
`to increase memory capacity by providing
`sockets on the system board where additional DRAM
`devices could be inserted. The use of sockets on the
`system board made sense in the era where the price
`of DRAM devices was quite expensive relative to the
`cost of the sockets on the system board. In these
`early computer
`systems, system boards were typi(cid:173)
`cally designed with sockets that allowed end-users
`to remove and insert individual DRAM devices, usu(cid:173)
`ally contained
`in dual in-line packages
`(DIPs). The
`process of memory upgrade was cumbersome
`and
`
`difficult, as DRAM devices had to be individually
`removed and inserted
`into each socket. Pins on the
`DRAM devices may have been bent and not visu(cid:173)
`ally detected as such. Defective DRAM chips were
`difficult to locate, and routing of sockets for a large
`memory system required
`large surface areas on the
`system board. Moreover, it was physically possible
`to place DRAM devices in the wrong orientation
`in
`the socket-180°
`from the intended placement. Cor(cid:173)
`rect placement with proper orientation depended on
`clearly labelled sockets, clearly labelled devices, and
`an end-user
`that paid careful attention while insert(cid:173)
`ing the devices into the sockets. 4 The solution to the
`problems associated with memory upgradability was
`the creation and use of memory modules.
`Memory modules are essentially miniature system
`boards that hold a number of DRAM devices. Mem(cid:173)
`ory modules provide an abstraction at the module
`interface so that different manufacturers
`can manu(cid:173)
`facture memory upgrades for a given computer sys(cid:173)
`tem with different DRAM devices. DRAM memory
`
`4The author of this text can personally attest to the consequences of inserting chips into sockets with incorrect orientation.
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 11
`
`

`

`418 Memory Systems: Cache, DRAM, Disk
`
`modules also reduce the complexity of the memory
`upgrade process. Instead of the removal and inser(cid:173)
`tion of individual DRAM chips, memory upgrades
`with modules containing multiple DRAM chips can
`be quickly and easily inserted into and removed from
`a module socket. The first generations of memory
`modules
`typically consisted of specially created,
`system-specific memory modules
`that a given com(cid:173)
`puter manufacturer used in a given computer
`sys(cid:173)
`tem. Over the years, memory modules have obtained
`a level of sophistication, and they are now specified
`as a part of the memory-system definition process.
`
`10.3.1 Single In-line Memory Module (SIMM)
`In the late 1980s and early 1990s, the personal
`computer
`industry
`first standardized
`on the use
`of 30-pin SIMMs and then
`later moved
`to 72-pin
`SIMMs. SIMMs, or Single In-line Memory Modules,
`are referred to as such due to the fact that the con(cid:173)
`tacts on either side of the bottom of the module are
`electrically identical.
`to 8 or 9
`A 30-pin SIMM provides interconnects
`signals on the data bus, as well as power, ground,
`address,
`command,
`and chip-select
`signal
`lines
`between
`the system board and the DRAM devices.
`A 72-pin SIMM provides interconnects
`to 32 to 36 sig(cid:173)
`nals on the data bus in addition to the power, ground,
`address, command, and chip-select signal lines. Typ(cid:173)
`ically, DRAM devices on a 30 pin, 1 Megabyte SIMM
`collectively provide a 9-bit, parity protected data bus
`interface to the memory system. Personal computer
`systems in the late 1980s typically used sets of four
`matching 30-pin SIMMs to provide a 36-bit-wide
`memory interface to support parity checking by the
`memory controller. Then, as the personal computer
`system moved
`to support memory
`systems with
`wider data busses, the 30- pin SIMM was replaced by
`72-pin SIMMs in the early 1990s.
`
`10.3.2 Dual In-line Memory Module (DIMM)
`In the late 1990s, as the personal computer
`indus(cid:173)
`try transitioned
`from FPM/EDO DRAM to SDRAM,
`72-pin SIMMs were, in turn, phased out in favor of
`Dual In-line Memory Modules (DIMMs). DIMMs
`are physically
`larger
`than SIMMs and provide a
`
`64- or 72-bit-wide data bus interface to the memory
`system. The difference between a SIMM and a DIMM
`is that contacts on either side of a DIMM are elec(cid:173)
`trically different. The electrically different contacts
`allow a denser routing of electrical signals from the
`system board through the connector
`interface to the
`memory module.
`for the commodity
`Typically, a DIMM designed
`desktop market contains
`little more than the DRAM
`devices and passive resistor and capacitors. These
`DIMMs are not buffered on either the address path
`from the memory controller
`to the DRAM devices
`or the datapath between the DRAM devices and the
`memory controller. Consequently,
`these DIMMs are
`also referred to as UnbujferedDIMMs (UDIMMs).
`
`10.3.3 Registered Memory Module (RDIMM)
`To meet the widely varying requirements of sys(cid:173)
`tems with end-user configurable memory systems,
`memory modules of varying capacity and timing
`characteristics are needed
`in addition
`to the typical
`UDIMM. For example, workstations and servers typi(cid:173)
`cally require larger memory capacity than those seen
`for the desktop computer systems. The problem asso(cid:173)
`ciated with large memory capacity memory modules
`is that the large number of DRAM devices in a mem(cid:173)
`ory system tends to overload the various multi-drop
`busses. The large number of DRAM devices, in turn,
`creates the loading problem on the various address,
`command, and data busses.
`Registered Dual
`In-line Memory Modules
`(RDIMMs) alleviate the issue of electrical loading of
`large numbers of DRAM devices in a large memory
`system through
`the use of registers that buffer the
`address and control signals at the interface of the
`memory module. Figure 10.10 illustrates
`that regis(cid:173)
`tered memory modules use registers at the interface
`of the memory module
`to buffer the address and
`control signals. In this manner,
`the registers greatly
`reduce the number of electrical loads that a memory
`controller must drive directly, and the signal inter(cid:173)
`connects in the memory system are divided into two
`separate segments: between
`the memory controller
`and the register and between the register and DRAM
`devices. The segmentation allows timing characteris(cid:173)
`tics of the memory system to be optimized by limiting
`
`PATENT OWNER DIRECTSTREAM, LLC
`EX. 2090, p. 12
`
`

`

`Chapter 10 DRAM MEMORY SYSTEM ORGANIZATION 419
`
`the number of electrical loads, as well as by reduc(cid:173)
`ing the path lengths of the critical control signals in
`individual segments of the memory system. However,
`the drawback to the use of the registered latches on a
`memory module is that t

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket