US20050166006A1 - System including a host connected serially in a chain to one or more memory modules that include a cache - Google Patents

System including a host connected serially in a chain to one or more memory modules that include a cache Download PDF

Info

Publication number
US20050166006A1
US20050166006A1 US10/842,298 US84229804A US2005166006A1 US 20050166006 A1 US20050166006 A1 US 20050166006A1 US 84229804 A US84229804 A US 84229804A US 2005166006 A1 US2005166006 A1 US 2005166006A1
Authority
US
United States
Prior art keywords
memory
cache
recited
controller
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/842,298
Other languages
English (en)
Inventor
Gerald Talbot
Frederick Weber
Shwetal Patel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to US10/842,298 priority Critical patent/US20050166006A1/en
Assigned to ADVANCED MICRO DEVICES, INC. reassignment ADVANCED MICRO DEVICES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WEBER, FREDERICK D., PATEL, SHWETAL A., TALBOT, GERALD R.
Publication of US20050166006A1 publication Critical patent/US20050166006A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

Definitions

  • This invention relates to computer system memory and, more particularly, to memory module configurations and the memory subsystem topology.
  • a motherboard or system board may include a number of memory expansion sockets.
  • One or more small circuit boards, referred to as memory modules, may be inserted into the sockets as needed to increase the memory capacity of the computer system.
  • Each of the memory modules typically includes multiple memory devices that provide a given amount of memory capacity.
  • the memory devices are usually implemented using some type of dynamic random access memory (DRAM).
  • DRAM types include synchronous DRAM (SDRAM) as well as the various types of double data rate SDRAM (DDR SDRAM).
  • the memory modules are connected to a memory/DRAM controller via a memory bus that includes address, control (including clock signals), and data signals.
  • the address, control and data signals may be multiplexed and thus share the same sets of wires.
  • the address, control and data signals may use separate wires.
  • each of the address and control signals are routed to each expansion socket such that the memory modules, when inserted, are connected in parallel to the memory/DRAM controller.
  • parallel bus arrangements For example, depending on the topology of the interconnect, the maximum memory bus speed may be limited due to transmission line effects such as signal reflections.
  • the memory/DRAM controller may reside on the same integrated circuit (IC) chip as the system processor, while in other systems the memory/DRAM controller may reside in one IC (e.g., a Northbridge) of a chipset.
  • a host is coupled to a serially connected chain of memory modules.
  • At least one memory module includes a cache for storing data stored in a system memory.
  • system memory may include a respective plurality of memory chips mounted on each memory module.
  • each memory module may include a memory control hub including a controller configured to determine whether data associated with a received memory request is stored within the cache.
  • a given cache may include a storage for storing cache tags corresponding to the data stored within the given cache.
  • the controller is configured to access the cache in response to determining that the data associated with the received memory request is stored within the cache.
  • the host includes a memory controller configured to generate memory requests to the memory modules.
  • the memory controller may include a storage for storing cache tags corresponding to data stored within each cache.
  • the memory control hub includes a controller that may be configured to access the memory chips in response to receiving a memory command having a memory address that matches a memory address associated with the memory chips.
  • the controller may be configured to access the cache in response to receiving a memory command having a memory address that matches a memory address associated with the cache.
  • FIG. 1 is a block diagram of one embodiment of a system including a serially connected chain of system memory modules.
  • FIG. 2 is a block diagram of one embodiment of a memory module of FIG. 1 including one cache implementation.
  • FIG. 3 is a block diagram of another embodiment of a memory module of FIG. 1 including another cache implementation.
  • FIG. 4 is a block diagram of one embodiment of a system including a serially connected chain of cache memory modules.
  • FIG. 5 is a diagram of one embodiment of a memory read packet.
  • FIG. 6 is a diagram of one embodiment of a cache memory read packet.
  • FIG. 7 is a block diagram of one embodiment of a computer system.
  • System 50 includes a host 100 coupled to a system memory 125 via a memory link 1 I A.
  • System 50 may be configured to operate as part of a computing device such as a computer system or server system, for example.
  • System memory 125 includes a memory module 150 A coupled to a memory module 150 B via a memory link 110 B.
  • Memory module 150 B is shown coupled to a memory link 110 C, which may be coupled to an additional memory module (not shown) as desired to form a serially connected chain of memory modules that is coupled to host 100 .
  • a memory link 110 C which may be coupled to an additional memory module (not shown) as desired to form a serially connected chain of memory modules that is coupled to host 100 .
  • components including a reference number followed by a reference letter may be referred to generally by the reference number alone. For example, when referring generally to all memory modules, reference may be made to memory module 150 .
  • memory module 150 A includes a memory control hub 160 A, which is coupled to a plurality of memory devices that are designated memory chip 171 A through 171 N, where N may be any number, as desired.
  • memory control hub 160 A may be coupled to the memory chips via any type of memory interconnect.
  • the memory interconnect may be a typical address, control and data bus configuration.
  • memory module 150 B includes a memory control hub 160 B, which is coupled to a plurality of memory devices that are designated memory chip 181 A through 181 N, where N may be any number, as desired.
  • memory control hub 160 B may be coupled to the memory chips via any type of memory interconnect as described above. It is noted that each of memory chips 171 A through 171 N and 181 A through 181 N may be any type of memory device such as a memory device in the DRAM family of memory devices, for example.
  • memory links 110 A- 110 C form a memory interconnect.
  • each of memory links 110 A- 110 C forms a point-to-point memory interconnect that is implemented as two sets of unidirectional lines.
  • One set of unidirectional lines is referred to as a downlink and is configured to convey transactions away from host 100 in a downstream direction.
  • the other set of unidirectional lines is referred to as an uplink and is configured to convey transactions toward host 100 in an upstream direction.
  • each set of unidirectional lines may be implemented using a plurality of differential signal pairs.
  • each memory link 110 includes an 18-bit downlink and a 16-bit uplink, where each bit is a differential signal pair.
  • the memory interconnect formed by memory links 110 may be configured to convey packets.
  • each of memory links 110 may form a point-to-point memory interconnect that is implemented as one set of bi-directional lines. As such, transactions may flow both upstream and downstream on the set of bi-directional wires.
  • the bi-directional lines may be implemented using a plurality of differential signal pairs. It is noted that in other embodiments, other signaling schemes may be used, such as multi-level signaling, for example.
  • all transactions from host 100 flow downstream through all memory modules 150 on the downlink and all response transactions flow upstream from the responding memory module 150 through each upstream memory module 150 on the uplink. More particularly, in one embodiment, host 100 may request to retrieve or store data within system memory 125 .
  • memory controller 105 initiates a corresponding transaction such as a memory read transaction or a memory write transaction, for example.
  • Memory controller 105 transmits the transaction to system memory 125 via memory link 110 A.
  • the transaction is received by memory control hub 160 A of memory module 150 A.
  • memory control hub 160 A In response to receiving the transaction, memory control hub 160 A is configured to transmit the received transaction to memory module 150 B via memory link 110 B without decoding or modifying the transaction. This is referred to as forwarding the transaction downstream.
  • each transaction received on a downlink by a given memory control hub 160 of a given memory module 150 is forwarded to the next memory module 150 in the chain that is coupled to the downlink without decoding the transaction.
  • decoding of the transaction may occur in parallel with the forwarding of the transaction. In other embodiments, the decoding of the transaction may occur after the transaction has been forwarded.
  • memory controller 105 initiates a read request transaction
  • the memory module 150 having the memory location corresponding to the address in the request will respond with the requested data.
  • the response will be transmitted on the memory module's uplink toward host 100 .
  • the intervening memory module will forward the response transaction on its uplink to either host 100 or the next memory module in the chain in an upstream direction.
  • the responding memory module may inject the response into a sequence of transactions that are being forwarded upstream on the uplink.
  • memory controller 105 may be configured to make requests to system memory 125 without knowledge of which of memory modules 150 A and 150 B a particular address is associated. For example, each of memory modules 150 may be assigned a range of memory addresses during a system configuration sequence.
  • Each memory control hub 160 may include logic (not shown in FIG. 1 ) that may decode the address of an incoming request. Thus, a memory control hub 160 of a given memory module 150 may initiate a memory read cycle or memory write cycle to the memory chips on the given memory module 150 in response to decoding a memory request having an address that is in the address range assigned to the given memory module 150 .
  • each memory control hub 160 may include a DRAM controller (not shown in FIG. 1 ) for initiating memory cycles to the memory chips to which it is connected.
  • memory controller 105 may initiate a subsequent memory access request prior to receiving a response to a previous memory access request. In such an embodiment, memory controller 105 may keep track of outstanding requests and may thus process the responses in a different order than they were sent.
  • memory control hubs 160 A and 160 B include a cache memory designated 175 A and 175 B, respectively.
  • Cache memories 175 A-B may each serve as a cache memory for data stored elsewhere in the computing system.
  • cache memories 175 A-B may each serve as a cache memory for data stored within the respective memory chips of each memory module.
  • cache memories 175 A-B may each serve as a cache memory for data stored within other memory modules in the chain that may be further from the host and thus have longer latencies.
  • cache memories 175 A-B may serve as a cache memory for data stored in a remote processor node. In the embodiment described in conjunction with the description of FIG.
  • cache 175 includes storage for cache tags. However, in the embodiment described in conjunction with the description of FIG. 2 , cache 175 does not include storage for cache tags. In such an embodiment, memory controller 105 may include cache tag storage (not shown). It is noted that although cache memories 175 are shown as part of memory control hub 160 (e.g., on the same device), it is contemplated that in other embodiments, cache memories 175 may be implemented on different devices than memory control hub 160 .
  • the memory interconnect includes one or more high-speed point-to-point memory links such as memory links 110 A- 110 C each including an uplink such as uplink 111 A and a downlink such as downlink 112 A, for example.
  • downlinks may be 18-bit links while uplinks may be 16-bit links.
  • an 18-bit downlink may include 16 control, address and data (CAD) signals, a busy signal and a Control (CTL) signal.
  • a given uplink may include 16 control, address and data (CAD) signals.
  • an uplink such as uplink 211 A may also include a CTL signal.
  • each memory module 150 may be provided to each memory module 150 .
  • a reset signal, a power OK signal and a reference clock may be provided to each memory module 150 from host 100 .
  • other signals may be provided between each memory module. For example, as described above, a next memory module present signal may be provided between memory modules.
  • configuration and control transactions may be used to configure memory control hub 160 .
  • configuration and control transactions may be used to access configuration registers, assign a memory address range to a memory module or to assign a hub address to a memory control hub.
  • Memory transactions may be used to access the memory locations within the memory chips (e.g., 171 A- 171 N . . . 181 A- 181 N).
  • certain memory transactions may be used to directly access cache 175 .
  • hub addressing there are two types of addressing supported: hub addressing and memory addressing.
  • hub addressing eight hub bits identify the specific memory control hub being accessed.
  • a hub address of FFh may be indicative of a broadcast to all memory control hubs.
  • memory addressing each hub decodes the upper portion of the address bits to determine which hub should accept the request and the lower portion to determine the memory location to be accessed.
  • the additional memory addressing type may be used to specifically access a cache memory located on a given memory module.
  • the last four entries of table 1, below, illustrate some exemplary cache access command codes.
  • each of the memory links is configured to convey the transactions using one or more packets.
  • the packets include control and configuration packets and memory access packets, each of which may include a data payload depending on the type of command the packet carries.
  • the sets of wires that make up memory links 110 may be used to convey control, address and data.
  • the packets may be generally characterized by the following: Each packet includes a number of bit positions which convey a single bit of information. Each packet is divided into several bit times and during a given bit time, all of the bit positions of the packet are sampled. As such, the control information and data share the same wires of a given link (e.g., CAD wires). As will be described in greater detail below, in one embodiment, packets are multiples of bit pairs and the first bit-time of every packet is sampled at an even bit-time. Packets begin with a control header that may be either one or two bit-pairs in length. In one embodiment, the first five bits of the control header is the command code. Table 1 below illustrates the various types of packets and their associated command codes.
  • packets are transmitted with an error detecting code (EDC).
  • EDC error detecting code
  • the EDC is a 32-bit cyclic redundancy code (CRC), although other embodiments may employ other EDC's as desired.
  • addresses are sent most significant bit-time first to speed decode within memory control hub 160 while data is sent least significant byte first. It is noted however, that other embodiments are contemplated in which the addresses may be sent least significant bit-time first and data my be sent most significant byte first.
  • Packets may carry a payload of byte enables and/or data. Packets with no payload are referred to as header-only packets.
  • the size of the data short reads may be up to one half of a programmed cache line size.
  • the size of the data for long reads and block writes may be up to the programmed cache line size.
  • the size of the data for byte writes may be a maximum of 64 bytes regardless of the cache line size setting.
  • the CTL signal may be used to convey information about each packet. As illustrated in Table 2 below, some exemplary CTL encodings are shown. TABLE 2 CTL encodings for downstream use Even Odd Content of CAD 0 0 Data or Byte Enable Payload 1 1 Control Header 0 1 CRC for a Packet with Payload 1 0 CRC for a Header-Only Packet
  • Different values of CTL for the header and payload portions of a packet may provide enough information to allow header-only packets to be inserted within the payload of another packet. This may be useful for reducing the latency of read commands by allowing them to issue while a write packet is still being sent on the link.
  • Table 3 illustrates an exemplary packet including a payload in tabular format. The packet in table 3 also shows that a header-only packet is inserted in the payload during bit times 4 - 7 . It is noted however, that other packet encodings are possible and contemplated. For example, in other embodiments, a portion of the CRC bits may be transmitted during each bit time.
  • Memory module 150 includes a memory control hub 160 coupled to memory chips 261 A through 261 N via z memory bus 265 .
  • Memory control hub 160 includes a control unit 240 coupled to a DRAM controller 250 .
  • DRAM controller 250 is coupled to memory chips 261 A- 261 N and to a cache memory 175 .
  • Control unit 240 includes an uplink control 241 and a downlink control 242 .
  • memory bus 265 may be any type of memory interconnect.
  • memory control hub 160 is coupled to a memory link 110 A in an upstream direction and a memory link 110 B in a downstream direction. It is further noted that the frequency of operation of memory bus 265 may be independent of the frequency of operation of memory links 110 .
  • cache memory 175 is shown as part of memory control hub 160 , in other embodiments, cache memory 175 may be separate from memory control hub 160 , but may still be included on the same memory module.
  • uplink control unit 241 may be configured to receive and forward packets received from another memory module downstream. The receiving and forwarding of the upstream packets creates an upstream transaction sequence. In addition, uplink control unit 241 may be configured to inject packets that originate within memory module 150 into the transaction stream.
  • downlink control unit 242 may be configured to receive packets that originate at the host and if a memory module is connected downstream, to forward those packets to the downstream memory module. In addition, downlink control unit 242 may be configured to copy and decode the packets. In one embodiment, if the packets include an address that is within the range of addresses assigned to memory module 150 and the packet is a memory access request, downlink control unit 242 may pass the command associated with the packet to DRAM controller 250 . However, if the packet is not a memory request, but is instead a configuration packet, downlink control unit 242 may pass the configuration command associated with the packet to the core logic of control unit 240 (not shown) for processing. It is noted that in one embodiment, if the packet does not include an address that is within the range of addresses assigned to memory module 150 , memory control hub 160 may drop or discard the packet if memory module 150 is the last memory module in the chain.
  • memory control hub 160 is configured to receive a module present signal (not shown), which when activated by a downstream memory module, indicates to an upstream memory module that there is a downstream memory module present. In such an embodiment, if memory control hub 160 receives a transaction and no downstream memory module is determined to be present, memory control hub 160 may drop the transaction. In addition, if no downstream memory module is determined to be present, a memory control hub 160 may power down the downstream transmit and receive circuits; thereby reducing power consumption and possibly radiated emissions.
  • a module present signal not shown
  • cache memory 175 of FIG. 2 is configured to cache frequently accessed data, whether that data is stored within memory chips 261 A-N or some other place within the system.
  • DRAM controller 250 is configured to initiate memory cycles to either to cache memory 175 or to memory chips 261 A- 261 N in response to memory commands received by memory control hub 160 .
  • DRAM controller 250 may respond with a cache miss which may initiate a request to another memory in response to memory commands received by memory control hub 160 .
  • cache memory 175 may be implemented using memory devices that are typically used for cache memory in a processor.
  • the memory devices may be in the static RAM (SRAM) or fast SRAM (FSRAM) family of devices.
  • cache memory 175 is configured to store cache data while memory controller 105 includes storage for cache tags corresponding to the cache data stored within cache memory 175 .
  • memory controller 105 is configured to perform a tag lookup within a tag storage (not shown) prior to initiating a memory access request to system memory 125 . In doing so, memory controller 105 determines whether the data is located in cache memory 175 or not. In either case, the access times associated with the request may be planned for and the responses scheduled accordingly.
  • each memory module may be associated with a particular address space.
  • DRAM controller 250 is configured to generate read or write cycles to either cache 175 or memory chips 261 A-N.
  • the address space associated with memory chips 261 A-N may be different than the address space associated with cache memory 175 .
  • the address space associated with memory chips 261 A-N of all memory modules may be 00000000h through FFFFFFFFh, while the address space associated with of all cache memories may be 00000h through FFFFFh.
  • a memory access command code is used and to access the address space associated with cache memory 175 , a cache access command code is used. Exemplary memory and cache read packets are described below in conjunction with the descriptions of FIG. 5 and FIG. 6 , respectively. Since the memory controller 105 has determined whether the data resides in cache memory 175 or in DRAM chips 261 A-N, memory controller 105 sends the access request using the correct addressing type.
  • the memory space associated with memory module 150 may include addresses associated with memory chips 261 A-N as well as addresses associated with cache memory 175 .
  • the address space associated with memory module 150 includes addresses in the range 00000000h through 3FFFFFFF
  • the address space associated with cache memory 175 may be allocated to addresses 00000000h through 000FFFFFh and the remaining addresses may be allocated to memory chips 261 A-N.
  • DRAM controller 250 may access memory chips 261 A-N.
  • the type of packet may be a standard memory read or write packet including the requested address.
  • DRAM controller 250 may include memory control logic (not shown) that may provide support for ensuring that cached data is written back to memory chips 261 A-N.
  • DRAM controller 250 may provide a write back buffer and/or an eviction/victim buffer and support logic (not shown) for cache memory 175 .
  • DRAM controller 250 may implement an eviction algorithm such as a least recently used (LRU) algorithm, for example, for evicting data from cache memory 175 .
  • LRU least recently used
  • memory controller 105 may provide explicit write back instructions to DRAM controller 250 .
  • cache memory 175 of FIG. 2 may also be configured to cache frequently accessed data stored within a remote processor node (not shown in FIG. 2 ) or the memory chips of another downstream memory module.
  • memory controller 105 may explicitly write data to cache memory 175 rather than writing to cache memory 175 as an artifact of writing to memory chips 261 A-N.
  • FIG. 3 a block diagram of another embodiment of a memory module such as the memory module of FIG. 1 is shown. Components that correspond to those shown in FIG. 1 are numbered identically for clarity and simplicity.
  • Memory module 150 of FIG. 3 includes a memory control hub 160 coupled to memory chips 261 A through 261 N via a memory bus 265 .
  • Memory control hub 160 includes a control unit 240 coupled to a DRAM controller 250 .
  • DRAM controller 250 is coupled to memory chips 261 A- 261 N and to a cache memory 175 .
  • the operation of the memory interconnect and aspects of the operation of the DRAM controller 250 of memory module 150 of FIG. 3 are similar to the operation of memory module 150 Of FIG. 2 .
  • memory control hub 160 of FIG. 3 includes a cache memory 175 that includes a cache tag storage 175 A and a cache data storage 175 B. Differences in functionality are described further below.
  • cache data storage 175 B is configured to cache frequently accessed data stored within memory chips 261 A-N.
  • cache tag storage 175 A is configured to store address tags corresponding to the data stored within cache data storage 175 B. Accordingly, data written to and read from memory chips 261 A-N may be stored within cache data storage 175 B.
  • DRAM controller 250 is configured to initiate memory cycles to either memory chips 261 A- 261 N or to cache data storage 175 B in response to memory commands received by memory control hub 160 .
  • cache memory 175 A and 175 B may be implemented using memory devices that are typically used for cache memory in a processor.
  • the memory devices may be in the static RAM (SRAM) or fast SRAM (FSRAM) family of devices.
  • SRAM static RAM
  • FSRAM fast SRAM
  • cache memory 175 A-B is shown as part of memory control hub 160 (e.g., on the same device), it is contemplated that in other embodiments, cache memory 175 A-B may be implemented as a separate device (e.g., on a different IC).
  • memory controller 105 is configured to initiate a memory access request to system memory 125 .
  • each memory module may be associated with a particular address space.
  • DRAM controller 250 is configured to determine whether the requested data is stored within cache data storage 175 B. In the case of a read request, if the data is stored within cache data storage 175 B (cache hit), DRAM controller 250 is configured to generate read cycles to cache data storage 175 B. If, on the other hand, if the data is not stored within cache data storage 175 B (cache miss), DRAM controller 250 is configured to generate read cycles to memory chips 261 A-N.
  • memory controller 105 may not have any a priori knowledge of whether a given read request will hit in the cache or not. Since read response latencies for cache hits and misses is typically different, the latency of a given read request is unknown to memory controller 105 . To handle the unknown read response latency, memory controller 105 may include logic (not shown) that handles out-of-order read responses by tracking outstanding read responses.
  • write data e.g., data that may be posted to cache data storage 175 B
  • this functionality may be implemented in memory controller 105 while in other embodiments this functionality may be implemented in DRAM controller 250 .
  • DRAM controller 250 is configured to determine whether the requested data is stored within cache data storage 175 B. In one embodiment, if the data is not stored within cache data storage 175 B (cache miss), DRAM controller 250 may allocate a location within cache data storage 175 B for the write data and possibly evict data already present. As described above, DRAM controller may include logic (not shown), such as write back buffers or eviction/victim buffers to support operation of cache data storage 175 A and tag storage 175 B.
  • DRAM controller 250 may write the received data into cache data storage 175 B.
  • the evicted data and the newly written data may be written back to memory chips 261 A-N as determined by DRAM controller 250 . If the write data is stored within cache data storage 175 B (cache hit) and has not been flushed to memory chips 261 A-N, DRAM controller 250 may simply overwrite the data within cache data storage 175 B.
  • DRAM controller 250 may write the data back to memory chips 261 A-N. DRAM controller 250 may then write the received data into the locations within cache data storage 250 . Alternatively, DRAM controller 250 may move the dirty data already in cache data storage 175 B into a write back buffer to be written back to memory chips 261 A-N at some later point in time.
  • a memory access command code is used to access the address space associated with memory chips 261 A-N .
  • An exemplary memory read packet is described below in conjunction with the description of FIG. 5 .
  • System 400 includes a host processor 410 coupled to a cache memory module 450 A and a cache memory module 450 B via a memory link 110 A and a memory link 110 B, respectively.
  • Host processor 410 is also coupled to a system memory 425 via a memory interconnect 430 .
  • Cache memory module 450 B is shown coupled to a memory link 110 C, which may be coupled to an additional cache memory module (not shown) as desired to form a serially connected chain of cache memory modules that is coupled to processor host 410 .
  • cache memory module 450 may be connected in this manner. It is further noted that components including a reference number followed by a reference letter may be referred to generally by the reference number alone. For example, when referring generally to all cache memory modules, reference may be made to cache memory module 450 .
  • memory links 110 A-B and cache memory modules 450 A-B provide any level of external cache capability to processor 410 .
  • cache memory modules 45 GA-B may be an external L3 or L4 cache and may provide a means of providing a very large external cache memory.
  • Each cache memory module includes a cache memory control hub 460 which includes a cache memory 475 .
  • Processor 410 may include cache control logic (not shown) configured to generate cache transactions and to maintain cache coherency.
  • the external cache memory provided by cache memory modules 450 A-B may be used to cache frequently used data. That data may be stored within system memory 425 or any other storage.
  • system memory 425 may be representative of any type of system memory such as the system memory including the memory modules described above in conjunction with the descriptions of FIG. 1-3 , for example.
  • additional memory modules may be connected downstream from memory module 450 B.
  • the additional memory modules may be representative of the memory modules illustrated in FIG. 1 through FIG. 3 and may include memory chips.
  • the additional memory modules may not include cache memories.
  • Cache memory transactions that are conveyed upon memory links 110 A-C may be representative of the transactions described above in conjunction with the description of FIG. 1 , above.
  • FIG. 5 and FIG. 6 illustrate exemplary memory access packets that may be conveyed on memory links 110 A through 110 C of FIG. 1 .
  • FIG. 5 a diagram of one embodiment of a memory read packet is shown.
  • memory read packet 525 is 16 bits wide and includes six bit times or three bit-pairs.
  • the five-bit command code e.g., 10h or 11h
  • bit positions 0 - 4 are reserved.
  • An eight-bit tag is conveyed in bit positions 8 - 15 .
  • bit time one the length of the data that should be returned conveyed in bit positions 0 - 5 .
  • a value of 00h indicates no data
  • a value of 01h indicates two bit-pairs of data
  • a value of 02h indicates four bit-pairs of data
  • a zero length read results in an acknowledge packet (Ack) being returned to the requester.
  • Ack acknowledge packet
  • a read of a half cache line or less may result in a short RdResp and a read of more than a half cache line may result in either a single long RdResp or two short RdResp.
  • the cache line size may be programmed by software into the configuration registers of host 100 and each memory control hub 160 . Bit positions 6 - 7 are reserved. Address bits 39 - 32 of the requested location in DRAM are conveyed in bit positions 8 - 15 .
  • bit time two the address bits 31 - 16 of the requested location in DRAM are conveyed in bit positions 0 - 15 and during bit time 3 , the address bits 3 - 15 of the requested location in DRAM are conveyed in bit positions 3 - 15 .
  • the packet priority is conveyed in bit positions 0 - 1 .
  • the priority may be indicative of the priority of the packet relative to other requests. For example, one priority may be to delay all requests with lower priority even if they are already in progress and to execute this request ahead of them.
  • Bit position 2 is reserved.
  • bits 0 - 15 and 16 - 31 , respectively, of a CRC are conveyed in bit positions 0 - 15 .
  • cache read packet 525 is 16 bits wide and includes 4 bit times or two bit-pairs.
  • the five-bit command code e.g., 15h or 16h
  • bit positions 0 - 4 are reserved.
  • An eight-bit tag is conveyed in bit positions 8 - 15 .
  • bit time one the length of the data that should be returned is conveyed in bit positions 0 - 5 .
  • a value of 00h indicates no data
  • a value of 01h indicates two bit-pairs of data
  • a value of 02h indicates four bit-pairs of data
  • a zero length read results in an acknowledge packet (Ack) being returned to the requestor.
  • Ack acknowledge packet
  • a read of a half cache line or less may result in a short RdResp and a read of more than a half cache line may result in either a single long RdResp or two short RdResp.
  • the cache line size may be programmed by software into the configuration registers of host 100 and each memory control hub 160 . Address bits 25 - 16 of the requested location in cache are conveyed in bit positions 6 - 15 .
  • bit time two the address bits 15 - 0 of the requested location in cache 175 are conveyed in bit positions 7 - 16 .
  • bit times three and four bits 0 - 15 and 16 - 31 , respectively, of a CRC are conveyed in bit positions 0 - 15 .
  • FIG. 7 is a block diagram of one embodiment of a computer system.
  • Computer system 700 includes processor nodes 612 A- 612 D each interconnected by coherent packet interface links 615 A-D. Each link of coherent packet interface 615 may form a high-speed point-to-point link.
  • Processor nodes 612 A-D may each include one or more processors.
  • Computer system 700 also includes an I/O node 620 which is coupled to processor node 612 A via a non-coherent packet interface 650 A. I/O node 620 may be connected to another I/O node (not shown) in a chain topology for example, by non-coherent packet interface 650 B.
  • Processor nodes 612 A is illustrated as a host node and may include a host bridge for communicating with I/O node 620 via NC packet interface 650 A. Processor nodes 612 B-D may also include host bridges for communication with other I/O nodes (not shown).
  • the non-coherent packet interface links formed by NC packet interface 650 A-B may also be referred to as point-to-point links.
  • I/O node 620 is connected to a pair of peripheral buses 625 A-B.
  • FIG. 7 further illustrates respective system memories (e.g., 617 A and 617 B) coupled to processor nodes 612 A and 612 B.
  • processor node 612 A and 612 B are each illustrative of a host as shown in FIG. 1 , and each system memory 617 may be implemented in the configuration described in conjunction with the descriptions of FIG. 2 and FIG. 3 above.
  • the interconnects between each of processor nodes 612 A and 612 B and their respective system memories 617 may be reflective of the memory interconnect including memory link 110 C described above in FIG. 1 through FIG. 6 . It is noted that in other embodiments, other numbers of processor nodes may be used.
  • each of processor nodes 612 C and 612 D may be similarly connected to a respective system memory such as system memory 617 , for example.
  • a cache memory of a memory control hub located within system memory 617 A may cache data stored within either of system memories 617 A or 617 B, for example.
  • each link of coherent packet interface 615 is implemented as sets of unidirectional lines (e.g. lines 615 A are used to transmit packets from processing node 612 A to processing node 612 B and lines 615 B are used to transmit packets from processing node 612 B to processing node 612 C). Other sets of lines 615 C-D are used to transmit packets between other processing nodes as illustrated in FIG. 7 .
  • the coherent packet interface 615 may be operated in a cache coherent fashion for communication between processing nodes (“the coherent link”).
  • non-coherent packet interface 650 may be operated in a non-coherent fashion for communication between I/O nodes and between I/O nodes and a host bridge such as the host bridge of processor node 612 A (“the non-coherent link”).
  • the interconnection of two or more nodes via coherent links may be referred to as a “coherent fabric”.
  • the interconnection of two or more nodes via non-coherent links may be referred to as a “non-coherent fabric”. It is noted that a packet to be transmitted from one processing node to another may pass through one or more intermediate nodes.
  • a packet transmitted by processing node 612 A to processing node 612 C may pass through either processing node 612 B or processing node 612 D as shown in FIG. 7 .
  • Any suitable routing algorithm may be used.
  • Other embodiments of computer system 700 may include more or fewer processing nodes than the embodiment shown in FIG. 6 .
  • Peripheral buses 625 A and 625 B are illustrative of a common peripheral bus such as a peripheral component interconnect (PCI) bus. It is understood, however, that other types of buses may be used.
  • PCI peripheral component interconnect
  • system memory configuration described above may be used in conjunction with a computer system employing a processor chipset that includes a Northbridge.
  • a memory controller within the Northbridge may serve as the host.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
US10/842,298 2003-05-13 2004-05-10 System including a host connected serially in a chain to one or more memory modules that include a cache Abandoned US20050166006A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/842,298 US20050166006A1 (en) 2003-05-13 2004-05-10 System including a host connected serially in a chain to one or more memory modules that include a cache

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47007803P 2003-05-13 2003-05-13
US10/842,298 US20050166006A1 (en) 2003-05-13 2004-05-10 System including a host connected serially in a chain to one or more memory modules that include a cache

Publications (1)

Publication Number Publication Date
US20050166006A1 true US20050166006A1 (en) 2005-07-28

Family

ID=33452363

Family Applications (4)

Application Number Title Priority Date Filing Date
US10/842,296 Active 2024-11-26 US7421525B2 (en) 2003-05-13 2004-05-10 System including a host connected to a plurality of memory modules via a serial memory interconnect
US10/842,339 Abandoned US20050071542A1 (en) 2003-05-13 2004-05-10 Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect
US10/842,297 Expired - Fee Related US7016213B2 (en) 2003-05-13 2004-05-10 Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect
US10/842,298 Abandoned US20050166006A1 (en) 2003-05-13 2004-05-10 System including a host connected serially in a chain to one or more memory modules that include a cache

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US10/842,296 Active 2024-11-26 US7421525B2 (en) 2003-05-13 2004-05-10 System including a host connected to a plurality of memory modules via a serial memory interconnect
US10/842,339 Abandoned US20050071542A1 (en) 2003-05-13 2004-05-10 Prefetch mechanism for use in a system including a host connected to a plurality of memory modules via a serial memory interconnect
US10/842,297 Expired - Fee Related US7016213B2 (en) 2003-05-13 2004-05-10 Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect

Country Status (8)

Country Link
US (4) US7421525B2 (fr)
JP (1) JP4836794B2 (fr)
KR (1) KR101095025B1 (fr)
CN (1) CN100444141C (fr)
DE (1) DE112004000821B4 (fr)
GB (1) GB2416056B (fr)
TW (1) TWI351613B (fr)
WO (1) WO2004102403A2 (fr)

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040264256A1 (en) * 2003-06-26 2004-12-30 Mauritz Karl H Electrical solution to enable high-speed interfaces
US20050086441A1 (en) * 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system
US20050132159A1 (en) * 2002-08-16 2005-06-16 Jeddeloh Joseph M. Memory hub bypass circuit and method
US20050223165A1 (en) * 2004-03-31 2005-10-06 Microsoft Corporation Strategies for reading information from a mass storage medium using a cache memory
US20060095671A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US20060095646A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US20060155516A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method for data analysis
US20060156290A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method to qualify data capture
US20060156102A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method to control data capture
US20060190674A1 (en) * 2003-08-06 2006-08-24 Peter Poechmueller Hub chip for connecting one or more memory chips
US20060200602A1 (en) * 2003-08-20 2006-09-07 Ralph James Method and system for capturing and bypassing memory transactions in a hub-based memory system
US20070153576A1 (en) * 2005-09-30 2007-07-05 Hakjune Oh Memory with output control
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US20070233939A1 (en) * 2006-03-31 2007-10-04 Mosaid Technologies Incorporated Flash memory system control scheme
US20070288707A1 (en) * 2006-06-08 2007-12-13 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US20070300129A1 (en) * 2004-10-29 2007-12-27 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US20080137467A1 (en) * 2006-12-06 2008-06-12 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US20080183977A1 (en) * 2007-01-29 2008-07-31 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US20080201496A1 (en) * 2007-02-16 2008-08-21 Peter Gillingham Reduced pin count interface
US20080201588A1 (en) * 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US20080205187A1 (en) * 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Data flow control in multiple independent port
US20100011174A1 (en) * 2008-07-08 2010-01-14 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7765368B2 (en) 2004-07-30 2010-07-27 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US20100199057A1 (en) * 2005-09-30 2010-08-05 Mosaid Technologies Incorporated Independent link and bank selection
US7774559B2 (en) 2004-05-28 2010-08-10 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7805586B2 (en) 2002-08-29 2010-09-28 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7818712B2 (en) 2003-06-19 2010-10-19 Round Rock Research, Llc Reconfigurable memory module and method
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7873775B2 (en) 2003-08-28 2011-01-18 Round Rock Research, Llc Multiple processor system and method including multiple memory hub modules
US20110016279A1 (en) * 2009-07-16 2011-01-20 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US20110078392A1 (en) * 2009-09-28 2011-03-31 International Business Machines Corporation Writing to memory using adaptive write techniques
US20110078387A1 (en) * 2009-09-28 2011-03-31 International Business Machines Corporation Writing to memory using shared address buses
US7934115B2 (en) 2005-10-31 2011-04-26 International Business Machines Corporation Deriving clocks in a memory system
US20110228600A1 (en) * 2009-02-24 2011-09-22 International Business Machines Corporation Memory programming
US8082404B2 (en) 2004-03-24 2011-12-20 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US8127081B2 (en) 2003-06-20 2012-02-28 Round Rock Research, Llc Memory hub and access method having internal prefetch buffers
US8164375B2 (en) 2004-04-05 2012-04-24 Round Rock Research, Llc Delay line synchronizer apparatus and method
US8296541B2 (en) 2004-10-29 2012-10-23 International Business Machines Corporation Memory subsystem with positional read data latency
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US8843694B2 (en) 2007-02-22 2014-09-23 Conversant Intellectual Property Management Inc. System and method of page buffer operation for memory devices
US8880780B2 (en) 2007-02-22 2014-11-04 Conversant Intellectual Property Management Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US20150026394A1 (en) * 2013-07-18 2015-01-22 Postech Academy-Industry Foundation Memory system and method of operating the same
US9141541B2 (en) 2013-09-20 2015-09-22 Advanced Micro Devices, Inc. Nested channel address interleaving
US9240227B2 (en) 2005-09-30 2016-01-19 Conversant Intellectual Property Management Inc. Daisy chain cascading devices
US9389808B2 (en) 2013-08-22 2016-07-12 Kabushiki Kaisha Toshiba Storage device and data processing method
US9442877B2 (en) 2013-01-10 2016-09-13 Kabushiki Kaisha Toshiba Storage device
US20170286010A1 (en) * 2016-03-29 2017-10-05 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US10095421B2 (en) 2016-10-21 2018-10-09 Advanced Micro Devices, Inc. Hybrid memory module bridge network and buffers
US10496543B2 (en) 2016-03-31 2019-12-03 Samsung Electronics Co., Ltd. Virtual bucket multiple hash tables for efficient memory in-line deduplication application
US10678704B2 (en) 2016-03-29 2020-06-09 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6471635B1 (en) 2000-02-10 2002-10-29 Obtech Medical Ag Anal incontinence disease treatment with controlled wireless energy supply
US6464628B1 (en) 1999-08-12 2002-10-15 Obtech Medical Ag Mechanical anal incontinence
ES2241780T3 (es) 2000-02-10 2005-11-01 Potencia Medical Ag Aparato mecanico para el tratamiento de la impotencia.
CN101803965B (zh) 2000-02-10 2014-02-26 厄罗洛吉卡股份公司 控制小便失禁的治疗
DE60131726T2 (de) 2000-02-11 2008-11-06 Potencia Medical Ag Kontrollierte impotenzbehandlung
EP1255513B1 (fr) 2000-02-14 2005-05-25 Potencia Medical AG Prothese penienne
ATE324087T1 (de) 2000-02-14 2006-05-15 Potencia Medical Ag Männliche impotentzprothesevorrichtung mit drahtloser energieversorgung
US7565326B2 (en) * 2000-05-25 2009-07-21 Randle William M Dialect independent multi-dimensional integrator using a normalized language platform and secure controlled access
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
US20030101312A1 (en) * 2001-11-26 2003-05-29 Doan Trung T. Machine state storage apparatus and method
US7133972B2 (en) * 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7200024B2 (en) * 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7254331B2 (en) * 2002-08-09 2007-08-07 Micron Technology, Inc. System and method for multiple bit optical data transmission in memory systems
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7102907B2 (en) * 2002-09-09 2006-09-05 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US7083420B2 (en) * 2003-02-10 2006-08-01 Leapfrog Enterprises, Inc. Interactive handheld apparatus with stylus
US7200787B2 (en) * 2003-06-03 2007-04-03 Intel Corporation Memory channel utilizing permuting status patterns
US7194581B2 (en) * 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7165153B2 (en) 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US7340537B2 (en) 2003-06-04 2008-03-04 Intel Corporation Memory channel with redundant presence detect
US8171331B2 (en) * 2003-06-04 2012-05-01 Intel Corporation Memory channel having deskew separate from redrive
US7386768B2 (en) 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US7245145B2 (en) 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7194593B2 (en) * 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7234070B2 (en) * 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
US7721060B2 (en) * 2003-11-13 2010-05-18 Intel Corporation Method and apparatus for maintaining data density for derived clocking
US7533218B2 (en) * 2003-11-17 2009-05-12 Sun Microsystems, Inc. Memory system topology
US20050138267A1 (en) * 2003-12-23 2005-06-23 Bains Kuljit S. Integral memory buffer and serial presence detect capability for fully-buffered memory modules
US7330992B2 (en) * 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7181584B2 (en) * 2004-02-05 2007-02-20 Micron Technology, Inc. Dynamic command and/or address mirroring system and method for memory modules
US7366864B2 (en) 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US20050210185A1 (en) * 2004-03-18 2005-09-22 Kirsten Renick System and method for organizing data transfers with memory hub memory modules
US7120723B2 (en) 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7447240B2 (en) * 2004-03-29 2008-11-04 Micron Technology, Inc. Method and system for synchronizing communications links in a hub-based memory system
US7228442B2 (en) * 2004-03-30 2007-06-05 The Boeing Company Method and systems for a radiation tolerant bus interface circuit
US8050176B2 (en) * 2004-03-30 2011-11-01 The Boeing Company Methods and systems for a data processing system having radiation tolerant bus
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US20050240574A1 (en) * 2004-04-27 2005-10-27 International Business Machines Corporation Pre-fetching resources based on a resource lookup query
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7222213B2 (en) * 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7212423B2 (en) 2004-05-31 2007-05-01 Intel Corporation Memory agent core clock aligned to lane
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US8122187B2 (en) * 2004-07-02 2012-02-21 Qualcomm Incorporated Refreshing dynamic volatile memory
US20060015450A1 (en) * 2004-07-13 2006-01-19 Wells Fargo Bank, N.A. Financial services network and associated processes
US7254663B2 (en) * 2004-07-22 2007-08-07 International Business Machines Corporation Multi-node architecture with daisy chain communication link configurable to operate in unidirectional and bidirectional modes
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US7392331B2 (en) * 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US7742438B1 (en) * 2004-10-21 2010-06-22 Owlink Technology, Inc. HDCP data transmission over a single communication channel
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US20070005902A1 (en) * 2004-12-07 2007-01-04 Ocz Technology Group, Inc. Integrated sram cache for a memory module and method therefor
US20060168407A1 (en) * 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
US20060195631A1 (en) * 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US7620783B2 (en) * 2005-02-14 2009-11-17 Qualcomm Incorporated Method and apparatus for obtaining memory status information cross-reference to related applications
US7640392B2 (en) 2005-06-23 2009-12-29 Qualcomm Incorporated Non-DRAM indicator and method of accessing data not stored in DRAM array
JP2006259906A (ja) * 2005-03-15 2006-09-28 Ricoh Co Ltd 通信制御装置、通信制御システム、省電力制御方法、省電力制御プログラム、および該プログラムを記録した記録媒体
JP4274140B2 (ja) 2005-03-24 2009-06-03 日本電気株式会社 ホットスワップ機能付きメモリシステム及びその障害メモリモジュールの交換方法
US7827462B2 (en) 2005-03-31 2010-11-02 Intel Corporation Combined command and data code
US9582449B2 (en) 2005-04-21 2017-02-28 Violin Memory, Inc. Interconnection system
US9384818B2 (en) * 2005-04-21 2016-07-05 Violin Memory Memory power management
KR101271245B1 (ko) 2005-04-21 2013-06-07 바이올린 메모리 인코포레이티드 상호접속 시스템
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US8112655B2 (en) 2005-04-21 2012-02-07 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US20060288132A1 (en) * 2005-05-31 2006-12-21 Mccall James A Memory single-to-multi load repeater architecture
TWI285839B (en) * 2005-06-22 2007-08-21 Via Tech Inc Selectively prefetch method and bridge module
US20070016698A1 (en) * 2005-06-22 2007-01-18 Vogt Pete D Memory channel response scheduling
US7966446B2 (en) * 2005-09-12 2011-06-21 Samsung Electronics Co., Ltd. Memory system and method having point-to-point link
US7930492B2 (en) * 2005-09-12 2011-04-19 Samsung Electronics Co., Ltd. Memory system having low power consumption
US7496777B2 (en) 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
US7533212B1 (en) 2005-10-20 2009-05-12 Sun Microsystems, Inc. System memory board subsystem using DRAM with integrated high speed point to point links
US7523282B1 (en) 2005-10-27 2009-04-21 Sun Microsystems, Inc. Clock enable throttling for power savings in a memory subsystem
KR100818298B1 (ko) 2005-12-08 2008-03-31 한국전자통신연구원 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법
US7409491B2 (en) 2005-12-14 2008-08-05 Sun Microsystems, Inc. System memory board subsystem using DRAM with stacked dedicated high speed point to point links
US7516349B2 (en) 2005-12-29 2009-04-07 Intel Corporation Synchronized memory channels with unidirectional links
KR100656814B1 (ko) * 2006-01-17 2006-12-14 신잔토개발 주식회사 건설폐기물의 처리용 세골재 세척 분리 장치
US8185711B2 (en) 2006-05-16 2012-05-22 Samsung Electronics Co., Ltd. Memory module, a memory system including a memory controller and a memory module and methods thereof
KR100801709B1 (ko) * 2006-05-16 2008-02-11 삼성전자주식회사 메모리 모듈 및 이를 구비한 메모리 시스템
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7430139B2 (en) * 2006-06-12 2008-09-30 Via Technologies, Inc. Shared memory synchronization systems and methods
US9262326B2 (en) * 2006-08-14 2016-02-16 Qualcomm Incorporated Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7757064B2 (en) * 2006-09-07 2010-07-13 Infineon Technologies Ag Method and apparatus for sending data from a memory
US8028186B2 (en) 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US7694031B2 (en) 2006-10-31 2010-04-06 Globalfoundries Inc. Memory controller including a dual-mode memory interconnect
US20080104352A1 (en) * 2006-10-31 2008-05-01 Advanced Micro Devices, Inc. Memory system including a high-speed serial buffer
US7861140B2 (en) * 2006-10-31 2010-12-28 Globalfoundries Inc. Memory system including asymmetric high-speed differential memory interconnect
US7949794B2 (en) * 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US20080133864A1 (en) * 2006-12-01 2008-06-05 Jonathan Randall Hinkle Apparatus, system, and method for caching fully buffered memory
US7881303B2 (en) * 2006-12-13 2011-02-01 GlobalFoundries, Inc. Command packet packing to mitigate CRC overhead
US8032711B2 (en) * 2006-12-22 2011-10-04 Intel Corporation Prefetching from dynamic random access memory to a static random access memory
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US7783918B2 (en) * 2007-02-15 2010-08-24 Inventec Corporation Data protection method of storage device
JP5669338B2 (ja) * 2007-04-26 2015-02-12 株式会社日立製作所 半導体装置
TW200901042A (en) * 2007-06-23 2009-01-01 Jmicron Technology Corp Storage device and circuit element switching method thereof
US7890788B2 (en) * 2007-07-09 2011-02-15 John Yin Clock data recovery and synchronization in interconnected devices
WO2009027802A1 (fr) * 2007-08-28 2009-03-05 Nokia Corporation Procédé pour test de bus et adressage dans les composants de mémoire de masse
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
KR100934227B1 (ko) 2007-09-21 2009-12-29 한국전자통신연구원 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치
US8503678B2 (en) 2007-09-28 2013-08-06 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
CN101836193B (zh) * 2007-10-05 2012-10-03 提琴存储器公司 一种同步数据总线装置及数据传输方法
WO2010042045A1 (fr) 2008-10-10 2010-04-15 Milux Holding S.A. Système, appareil et procédé de traitement de patiente à dysfonctionnement sexuel
WO2009096855A1 (fr) 2008-01-28 2009-08-06 Milux Holding Sa Dispositif, système et procédé d'extraction de caillots sanguins
CA2749778C (fr) 2008-01-29 2021-06-15 Milux Holding S.A. Dispositif, systeme et methode de traitement de l'obesite
US8131913B2 (en) * 2008-02-04 2012-03-06 Mosaid Technologies Incorporated Selective broadcasting of data in series connected devices
US8516185B2 (en) * 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
US20100005206A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Automatic read data flow control in a cascade interconnect memory system
US8122421B2 (en) * 2008-08-14 2012-02-21 Omnivision Technologies, Inc. System, and method, and computer readable medium for designing a scalable clustered storage integrated circuit for multi-media processing
US8560735B2 (en) 2008-08-15 2013-10-15 Micron Technology, Inc. Chained bus method and device
HUE056076T2 (hu) 2008-10-10 2022-01-28 Medicaltree Patent Ltd Szívsegítõ készülék és rendszer
US8600510B2 (en) 2008-10-10 2013-12-03 Milux Holding Sa Apparatus, system and operation method for the treatment of female sexual dysfunction
EP3851076A1 (fr) 2008-10-10 2021-07-21 MedicalTree Patent Ltd. Valve artificielle améliorée
CA2776467A1 (fr) 2008-10-10 2010-04-15 Peter Forsell Moyen de fixation pour ensemble de surveillance medicale implantable
US20110196484A1 (en) 2008-10-10 2011-08-11 Milux Holding Sa Heart help method
DE102009004565B4 (de) * 2009-01-14 2015-04-02 Texas Instruments Deutschland Gmbh Vorrichtung und Verfahren zum Zwischenspeichern von Daten zwischen Speichercontroller und DRAM
CN101872308A (zh) * 2009-04-25 2010-10-27 鸿富锦精密工业(深圳)有限公司 内存条控制系统及其控制方法
US8046628B2 (en) 2009-06-05 2011-10-25 Micron Technology, Inc. Failure recovery memory devices and methods
US9949812B2 (en) 2009-07-17 2018-04-24 Peter Forsell Vaginal operation method for the treatment of anal incontinence in women
US10952836B2 (en) 2009-07-17 2021-03-23 Peter Forsell Vaginal operation method for the treatment of urinary incontinence in women
US8923405B1 (en) * 2010-01-25 2014-12-30 Ambarella, Inc. Memory access ordering for a transformation
US20120079313A1 (en) * 2010-09-24 2012-03-29 Honeywell International Inc. Distributed memory array supporting random access and file storage operations
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
WO2013028859A1 (fr) 2011-08-24 2013-02-28 Rambus Inc. Procédés et systèmes pour le mappage d'une fonction périphérique sur une interface mémoire héritée
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
US8495440B2 (en) 2011-08-30 2013-07-23 Advanced Micro Devices, Inc. Fully programmable parallel PRBS generator
KR101518111B1 (ko) 2012-03-21 2015-05-07 삼성에스디에스 주식회사 안티-멀웨어 시스템 및 상기 시스템에서의 데이터 처리 방법
CN102693337B (zh) * 2012-05-11 2014-04-30 江苏中科梦兰电子科技有限公司 8位位宽和16位位宽内存芯片兼容的内存设备设计方法
US9285865B2 (en) 2012-06-29 2016-03-15 Oracle International Corporation Dynamic link scaling based on bandwidth utilization
US9390018B2 (en) * 2012-08-17 2016-07-12 Advanced Micro Devices, Inc. Data cache prefetch hints
US9348753B2 (en) 2012-10-10 2016-05-24 Advanced Micro Devices, Inc. Controlling prefetch aggressiveness based on thrash events
WO2014056178A1 (fr) * 2012-10-12 2014-04-17 华为技术有限公司 Système de mémoire, module de mémoire, procédé d'accès au module de mémoire et système informatique
JP6005533B2 (ja) 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
CN104461727A (zh) * 2013-09-16 2015-03-25 华为技术有限公司 内存模组访问方法及装置
JP2015152949A (ja) 2014-02-10 2015-08-24 株式会社東芝 ストレージシステム
US9558143B2 (en) 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US9396065B2 (en) * 2014-06-25 2016-07-19 Intel Corporation Extensible memory hub
US9710271B2 (en) 2014-06-30 2017-07-18 International Business Machines Corporation Collecting transactional execution characteristics during transactional execution
US9448939B2 (en) 2014-06-30 2016-09-20 International Business Machines Corporation Collecting memory operand access characteristics during transactional execution
US9336047B2 (en) 2014-06-30 2016-05-10 International Business Machines Corporation Prefetching of discontiguous storage locations in anticipation of transactional execution
US9600286B2 (en) 2014-06-30 2017-03-21 International Business Machines Corporation Latent modification instruction for transactional execution
US9348643B2 (en) 2014-06-30 2016-05-24 International Business Machines Corporation Prefetching of discontiguous storage locations as part of transactional execution
US9792246B2 (en) 2014-12-27 2017-10-17 Intel Corporation Lower-power scrambling with improved signal integrity
US10573354B2 (en) * 2016-09-22 2020-02-25 Smart Modular Technologies, Inc. High density memory module system
US11373691B2 (en) * 2019-12-20 2022-06-28 Micron Technology Inc. Clock locking for packet based communications of memory devices
US11513976B2 (en) * 2020-03-31 2022-11-29 Western Digital Technologies, Inc. Advanced CE encoding for bus multiplexer grid for SSD
TWI756810B (zh) * 2020-09-02 2022-03-01 瑞昱半導體股份有限公司 晶片與相關的晶片系統
TWI802065B (zh) * 2021-10-29 2023-05-11 飛捷科技股份有限公司 可控制周邊裝置電源與訊號的通信介面轉接器、動態分配通信介面轉接器識別碼的方法及自動化診斷周邊裝置並修復問題的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434861A (en) * 1989-02-02 1995-07-18 Pritty; David Deterministic timed bus access method
US5983323A (en) * 1993-07-15 1999-11-09 Bull, S.A. Processor node
US6249840B1 (en) * 1998-10-23 2001-06-19 Enhanced Memory Systems, Inc. Multi-bank ESDRAM with cross-coupled SRAM cache registers
US6553446B1 (en) * 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US20040024978A1 (en) * 2002-08-05 2004-02-05 Jeddeloh Joseph M. Memory hub and access method having internal row caching
US20050021884A1 (en) * 2003-07-22 2005-01-27 Jeddeloh Joseph M. Apparatus and method for direct memory access in a hub-based memory system
US20050210216A1 (en) * 2004-03-08 2005-09-22 Jobs Jeffrey R Memory hub architecture having programmable lane widths

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604689A (en) * 1983-04-15 1986-08-05 Convergent Technologies, Inc. Bus repeater
JPH0740225B2 (ja) * 1985-12-25 1995-05-01 日本電気株式会社 プログラムスキツプ動作制御方式
GB2234372A (en) 1989-07-18 1991-01-30 Anamartic Ltd Mass memory device
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JP3548616B2 (ja) * 1995-01-20 2004-07-28 株式会社日立製作所 情報処理装置
US6226723B1 (en) * 1996-09-20 2001-05-01 Advanced Memory International, Inc. Bifurcated data and command/address communication bus architecture for random access memories employing synchronous communication protocols
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
JP3189727B2 (ja) * 1997-04-15 2001-07-16 日本電気株式会社 コプロセッサ内蔵パケット型メモリlsi、それを用いたメモリシステム及びそれらの制御方法
US6442644B1 (en) * 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
US6970968B1 (en) * 1998-02-13 2005-11-29 Intel Corporation Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
US6154821A (en) * 1998-03-10 2000-11-28 Rambus Inc. Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
US6643745B1 (en) * 1998-03-31 2003-11-04 Intel Corporation Method and apparatus for prefetching data into cache
US6587912B2 (en) * 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
US6272601B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Critical word forwarding in a multiprocessor system
US6567023B1 (en) * 1999-09-17 2003-05-20 Kabushiki Kaisha Toshiba Analog to digital to analog converter for multi-valued current data using internal binary voltage
JP3892655B2 (ja) * 1999-09-17 2007-03-14 株式会社東芝 半導体集積回路装置
US6430648B1 (en) * 2000-01-05 2002-08-06 International Business Machines Corporation Arranging address space to access multiple memory banks
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
KR100335501B1 (ko) * 2000-06-09 2002-05-08 윤종용 향상된 데이터 버스 성능을 갖는 메모리 모듈
US6625687B1 (en) * 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6493250B2 (en) * 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
US6665742B2 (en) * 2001-01-31 2003-12-16 Advanced Micro Devices, Inc. System for reconfiguring a first device and/or a second device to use a maximum compatible communication parameters based on transmitting a communication to the first and second devices of a point-to-point link
US6571318B1 (en) * 2001-03-02 2003-05-27 Advanced Micro Devices, Inc. Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism
US6877079B2 (en) * 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
JP2002278825A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd メモリ制御装置
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US6760817B2 (en) * 2001-06-21 2004-07-06 International Business Machines Corporation Method and system for prefetching utilizing memory initiated prefetch write operations
US7184408B2 (en) * 2001-07-31 2007-02-27 Denton I Claude Method and apparatus for programmable generation of traffic streams
DE10146491B4 (de) * 2001-09-21 2006-04-13 Infineon Technologies Ag Elektronische Schaltung mit einer Treiberschaltung
US6781911B2 (en) * 2002-04-09 2004-08-24 Intel Corporation Early power-down digital memory device and method
TW569096B (en) * 2002-09-17 2004-01-01 Integrated Technology Express The cache/prefetch frame of serial data system and its method of operation
US6996639B2 (en) * 2002-12-10 2006-02-07 Intel Corporation Configurably prefetching head-of-queue from ring buffers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434861A (en) * 1989-02-02 1995-07-18 Pritty; David Deterministic timed bus access method
US5983323A (en) * 1993-07-15 1999-11-09 Bull, S.A. Processor node
US6249840B1 (en) * 1998-10-23 2001-06-19 Enhanced Memory Systems, Inc. Multi-bank ESDRAM with cross-coupled SRAM cache registers
US6553446B1 (en) * 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US20040024978A1 (en) * 2002-08-05 2004-02-05 Jeddeloh Joseph M. Memory hub and access method having internal row caching
US20050021884A1 (en) * 2003-07-22 2005-01-27 Jeddeloh Joseph M. Apparatus and method for direct memory access in a hub-based memory system
US20050210216A1 (en) * 2004-03-08 2005-09-22 Jobs Jeffrey R Memory hub architecture having programmable lane widths

Cited By (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132159A1 (en) * 2002-08-16 2005-06-16 Jeddeloh Joseph M. Memory hub bypass circuit and method
US7805586B2 (en) 2002-08-29 2010-09-28 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US8190819B2 (en) 2002-08-29 2012-05-29 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7818712B2 (en) 2003-06-19 2010-10-19 Round Rock Research, Llc Reconfigurable memory module and method
US8732383B2 (en) 2003-06-19 2014-05-20 Round Rock Research, Llc Reconfigurable memory module and method
US7966444B2 (en) 2003-06-19 2011-06-21 Round Rock Research, Llc Reconfigurable memory module and method
US8200884B2 (en) 2003-06-19 2012-06-12 Round Rock Research, Llc Reconfigurable memory module and method
US8127081B2 (en) 2003-06-20 2012-02-28 Round Rock Research, Llc Memory hub and access method having internal prefetch buffers
US20040264256A1 (en) * 2003-06-26 2004-12-30 Mauritz Karl H Electrical solution to enable high-speed interfaces
US20060190674A1 (en) * 2003-08-06 2006-08-24 Peter Poechmueller Hub chip for connecting one or more memory chips
US20060200602A1 (en) * 2003-08-20 2006-09-07 Ralph James Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7873775B2 (en) 2003-08-28 2011-01-18 Round Rock Research, Llc Multiple processor system and method including multiple memory hub modules
US9082461B2 (en) 2003-08-28 2015-07-14 Round Rock Research, Llc Multiple processor system and method including multiple memory hub modules
US8244952B2 (en) 2003-08-28 2012-08-14 Round Rock Research, Llc Multiple processor system and method including multiple memory hub modules
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US20060136683A1 (en) * 2003-10-20 2006-06-22 Meyer James W Arbitration system and method for memory responses in a hub-based memory system
US8589643B2 (en) 2003-10-20 2013-11-19 Round Rock Research, Llc Arbitration system and method for memory responses in a hub-based memory system
US20050086441A1 (en) * 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US9164937B2 (en) 2004-02-05 2015-10-20 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US8291173B2 (en) 2004-02-05 2012-10-16 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US8694735B2 (en) 2004-02-05 2014-04-08 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US8555006B2 (en) 2004-03-24 2013-10-08 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US8082404B2 (en) 2004-03-24 2011-12-20 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US9032166B2 (en) 2004-03-24 2015-05-12 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7747823B2 (en) 2004-03-31 2010-06-29 Microsoft Corporation Strategies for reading information from a mass storage medium using a cache memory
US7337273B2 (en) * 2004-03-31 2008-02-26 Microsoft Corporation Strategies for reading information from a mass storage medium using a cache memory
US20050223165A1 (en) * 2004-03-31 2005-10-06 Microsoft Corporation Strategies for reading information from a mass storage medium using a cache memory
US8164375B2 (en) 2004-04-05 2012-04-24 Round Rock Research, Llc Delay line synchronizer apparatus and method
US7774559B2 (en) 2004-05-28 2010-08-10 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7765368B2 (en) 2004-07-30 2010-07-27 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US8296541B2 (en) 2004-10-29 2012-10-23 International Business Machines Corporation Memory subsystem with positional read data latency
US20080016280A1 (en) * 2004-10-29 2008-01-17 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7844771B2 (en) 2004-10-29 2010-11-30 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US8140942B2 (en) 2004-10-29 2012-03-20 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US8589769B2 (en) 2004-10-29 2013-11-19 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US20060095646A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US20070294466A1 (en) * 2004-10-29 2007-12-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US20070300129A1 (en) * 2004-10-29 2007-12-27 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US20060095671A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7752016B2 (en) 2005-01-11 2010-07-06 Hewlett-Packard Development Company, L.P. System and method for data analysis
US20060156290A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method to qualify data capture
US20060155516A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method for data analysis
US7228472B2 (en) * 2005-01-11 2007-06-05 Hewlett-Packard Development Company, L.P. System and method to control data capture
US20060156102A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method to control data capture
US7809991B2 (en) 2005-01-11 2010-10-05 Hewlett-Packard Development Company, L.P. System and method to qualify data capture
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US8427897B2 (en) 2005-09-30 2013-04-23 Mosaid Technologies Incorporated Memory with output control
US20100199057A1 (en) * 2005-09-30 2010-08-05 Mosaid Technologies Incorporated Independent link and bank selection
US7719892B2 (en) 2005-09-30 2010-05-18 Mosaid Technologies Incorproated Flash memory device with data output control
US7826294B2 (en) 2005-09-30 2010-11-02 Mosaid Technologies Incorporated Memory with output control
US8654601B2 (en) 2005-09-30 2014-02-18 Mosaid Technologies Incorporated Memory with output control
US20100030951A1 (en) * 2005-09-30 2010-02-04 Mosaid Technologies Incorporated Nonvolatile memory system
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US8285960B2 (en) 2005-09-30 2012-10-09 Mosaid Technologies Incorporated Independent link and bank selection
US20110002171A1 (en) * 2005-09-30 2011-01-06 Mosaid Technologies Incorporated Memory with output control
US8738879B2 (en) 2005-09-30 2014-05-27 Conversant Intellectual Property Managament Inc. Independent link and bank selection
US20090073768A1 (en) * 2005-09-30 2009-03-19 Mosaid Technologies Incorporated Memory with output control
US8743610B2 (en) 2005-09-30 2014-06-03 Conversant Intellectual Property Management Inc. Method and system for accessing a flash memory device
US8199598B2 (en) 2005-09-30 2012-06-12 Mosaid Technologies Incorporated Memory with output control
TWI449048B (zh) * 2005-09-30 2014-08-11 Mosaid Technologies Inc 多個獨立序列式連結記憶體
US9230654B2 (en) 2005-09-30 2016-01-05 Conversant Intellectual Property Management Inc. Method and system for accessing a flash memory device
US9240227B2 (en) 2005-09-30 2016-01-19 Conversant Intellectual Property Management Inc. Daisy chain cascading devices
US7945755B2 (en) 2005-09-30 2011-05-17 Mosaid Technologies Incorporated Independent link and bank selection
US11600323B2 (en) 2005-09-30 2023-03-07 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US20110179245A1 (en) * 2005-09-30 2011-07-21 Mosaid Technologies Incorporated Independent link and bank selection
US8000144B2 (en) 2005-09-30 2011-08-16 Mosaid Technologies Incorporated Method and system for accessing a flash memory device
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US20070153576A1 (en) * 2005-09-30 2007-07-05 Hakjune Oh Memory with output control
US7934115B2 (en) 2005-10-31 2011-04-26 International Business Machines Corporation Deriving clocks in a memory system
US8145868B2 (en) 2005-11-28 2012-03-27 International Business Machines Corporation Method and system for providing frame start indication in a memory system having indeterminate read data latency
US8151042B2 (en) 2005-11-28 2012-04-03 International Business Machines Corporation Method and system for providing identification tags in a memory system having indeterminate data response times
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US8495328B2 (en) 2005-11-28 2013-07-23 International Business Machines Corporation Providing frame start indication in a memory system having indeterminate read data latency
US8327105B2 (en) 2005-11-28 2012-12-04 International Business Machines Corporation Providing frame start indication in a memory system having indeterminate read data latency
US20100325353A1 (en) * 2006-03-31 2010-12-23 Mosaid Technologies Incorporated Flash memory system control scheme
US20070233939A1 (en) * 2006-03-31 2007-10-04 Mosaid Technologies Incorporated Flash memory system control scheme
WO2007112555A1 (fr) * 2006-03-31 2007-10-11 Mosaid Technologies Incorporated Programme de contrôle de système de mémoire flash
TWI456582B (zh) * 2006-03-31 2014-10-11 Mosaid Technologies Inc 快閃記憶體系統控制設計
EP2002442A1 (fr) * 2006-03-31 2008-12-17 Mosaid Technologies Incorporated Programme de contrôle de système de mémoire flash
EP2002442A4 (fr) * 2006-03-31 2009-05-06 Mosaid Technologies Inc Programme de contrôle de système de mémoire flash
US7802064B2 (en) 2006-03-31 2010-09-21 Mosaid Technologies Incorporated Flash memory system control scheme
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US20070288707A1 (en) * 2006-06-08 2007-12-13 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US8904046B2 (en) 2006-12-06 2014-12-02 Conversant Intellectual Property Management Inc. Apparatus and method for capturing serial input data
TWI470437B (zh) * 2006-12-06 2015-01-21 Conversant Intellectual Property Man Inc 擷取串列輸入資料的裝置及方法
US20080137467A1 (en) * 2006-12-06 2008-06-12 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US20100332685A1 (en) * 2006-12-06 2010-12-30 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US20080183977A1 (en) * 2007-01-29 2008-07-31 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US20080201496A1 (en) * 2007-02-16 2008-08-21 Peter Gillingham Reduced pin count interface
US20080201588A1 (en) * 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US8122202B2 (en) 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
US8159893B2 (en) 2007-02-22 2012-04-17 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8843694B2 (en) 2007-02-22 2014-09-23 Conversant Intellectual Property Management Inc. System and method of page buffer operation for memory devices
US7796462B2 (en) 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8886871B2 (en) 2007-02-22 2014-11-11 Conversant Intellectual Property Management Incorporated Apparatus and method of page program operation for memory devices with mirror back-up of data
US20080205187A1 (en) * 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8493808B2 (en) 2007-02-22 2013-07-23 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8880780B2 (en) 2007-02-22 2014-11-04 Conversant Intellectual Property Management Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US8825966B2 (en) 2007-08-22 2014-09-02 Mosaid Technologies Incorporated Reduced pin count interface
US8902910B2 (en) 2008-01-11 2014-12-02 Conversant Intellectual Property Management Inc. Ring-of-clusters network topologies
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US20100011174A1 (en) * 2008-07-08 2010-01-14 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US8139390B2 (en) 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US20110228600A1 (en) * 2009-02-24 2011-09-22 International Business Machines Corporation Memory programming
US8897062B2 (en) 2009-02-24 2014-11-25 International Business Machines Corporation Memory programming for a phase change memory cell
US8521980B2 (en) 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US20110016279A1 (en) * 2009-07-16 2011-01-20 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8898415B2 (en) 2009-07-16 2014-11-25 Conversant Intellectual Property Management Inc. Simultaneous read and write data transfer
US20110078387A1 (en) * 2009-09-28 2011-03-31 International Business Machines Corporation Writing to memory using shared address buses
US8230276B2 (en) 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US20110078392A1 (en) * 2009-09-28 2011-03-31 International Business Machines Corporation Writing to memory using adaptive write techniques
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US9442877B2 (en) 2013-01-10 2016-09-13 Kabushiki Kaisha Toshiba Storage device
US20150026394A1 (en) * 2013-07-18 2015-01-22 Postech Academy-Industry Foundation Memory system and method of operating the same
US9389808B2 (en) 2013-08-22 2016-07-12 Kabushiki Kaisha Toshiba Storage device and data processing method
US9141541B2 (en) 2013-09-20 2015-09-22 Advanced Micro Devices, Inc. Nested channel address interleaving
US10528284B2 (en) * 2016-03-29 2020-01-07 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US10678704B2 (en) 2016-03-29 2020-06-09 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US20170286010A1 (en) * 2016-03-29 2017-10-05 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US10496543B2 (en) 2016-03-31 2019-12-03 Samsung Electronics Co., Ltd. Virtual bucket multiple hash tables for efficient memory in-line deduplication application
US10095421B2 (en) 2016-10-21 2018-10-09 Advanced Micro Devices, Inc. Hybrid memory module bridge network and buffers

Also Published As

Publication number Publication date
US20050162882A1 (en) 2005-07-28
GB2416056A (en) 2006-01-11
US20050071542A1 (en) 2005-03-31
CN1788260A (zh) 2006-06-14
US20040230718A1 (en) 2004-11-18
KR101095025B1 (ko) 2011-12-20
CN100444141C (zh) 2008-12-17
KR20060009345A (ko) 2006-01-31
JP4836794B2 (ja) 2011-12-14
US7421525B2 (en) 2008-09-02
US7016213B2 (en) 2006-03-21
TW200508875A (en) 2005-03-01
DE112004000821B4 (de) 2016-12-01
WO2004102403A3 (fr) 2005-08-25
GB0521694D0 (en) 2005-11-30
WO2004102403A2 (fr) 2004-11-25
JP2006528394A (ja) 2006-12-14
DE112004000821T5 (de) 2006-05-11
GB2416056B (en) 2006-08-23
TWI351613B (en) 2011-11-01

Similar Documents

Publication Publication Date Title
US20050166006A1 (en) System including a host connected serially in a chain to one or more memory modules that include a cache
US8176257B2 (en) Cache used both as cache and staging buffer
US7155572B2 (en) Method and apparatus for injecting write data into a cache
US5892970A (en) Multiprocessing system configured to perform efficient block copy operations
US6681293B1 (en) Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US5749095A (en) Multiprocessing system configured to perform efficient write operations
US6973543B1 (en) Partial directory cache for reducing probe traffic in multiprocessor systems
US6490661B1 (en) Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US5878268A (en) Multiprocessing system configured to store coherency state within multiple subnodes of a processing node
US6912612B2 (en) Shared bypass bus structure
US6370621B1 (en) Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation
US5848254A (en) Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space
KR101497002B1 (ko) 스누프 필터링 메커니즘
US20020053004A1 (en) Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links
JP2003099383A (ja) データ記憶システム用ノード・コントローラ
US20040064651A1 (en) Method and apparatus for reducing overhead in a data processing system with a cache
US6751705B1 (en) Cache line converter
US7353340B2 (en) Multiple independent coherence planes for maintaining coherency
US7398360B2 (en) Multi-socket symmetric multiprocessing (SMP) system for chip multi-threaded (CMT) processors
US6393529B1 (en) Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write
US7797495B1 (en) Distributed directory cache
US20090006712A1 (en) Data ordering in a multi-node system
US6487626B2 (en) Method and apparatus of bus interface for a processor
US5898894A (en) CPU reads data from slow bus if I/O devices connected to fast bus do not acknowledge to a read request after a predetermined time interval
US6757793B1 (en) Reducing probe traffic in multiprocessor systems using a victim record table

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADVANCED MICRO DEVICES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TALBOT, GERALD R.;WEBER, FREDERICK D.;PATEL, SHWETAL A.;REEL/FRAME:015314/0499;SIGNING DATES FROM 20040420 TO 20040504

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION