US20040236877A1 - Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) - Google Patents
Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) Download PDFInfo
- Publication number
- US20040236877A1 US20040236877A1 US10/869,199 US86919904A US2004236877A1 US 20040236877 A1 US20040236877 A1 US 20040236877A1 US 86919904 A US86919904 A US 86919904A US 2004236877 A1 US2004236877 A1 US 2004236877A1
- Authority
- US
- United States
- Prior art keywords
- computer system
- memory
- control block
- direct execution
- execution logic
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Definitions
- the present invention is a continuation-in-part application and is related to, and claims priority from, U.S. patent application Ser. No. 10/618,041 filed Jul. 11, 2003 for: “Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible by a Direct Execution Logic Element and One or More Dense Logic Devices”, which is a continuation-in-part application and is related to, and claims priority from U.S. patent application Ser. No. 10/340,390 filed Jan.
- the present invention relates, in general, to the field of reconfigurable processor-based computing systems. More particularly, the present invention relates to a switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element (such as a reconfigurable computing element comprising one or more field programmable gate arrays “FPGAs”) and one or more dense logic devices comprising commercially available microprocessors, digital signal processors (“DSPs”), application specific integrated circuits (“ASICs”) and other typically fixed logic components having relatively high clock rates.
- a direct execution logic element such as a reconfigurable computing element comprising one or more field programmable gate arrays “FPGAs”
- FPGAs field programmable gate arrays
- dense logic devices comprising commercially available microprocessors, digital signal processors (“DSPs”), application specific integrated circuits (“ASICs”) and other typically fixed logic components having relatively high clock rates.
- SRC Computers, Inc. proprietary Switch/Network Adapter Port technology (SNAPTM, a trademark of SRC Computers, Inc., assignee of the present invention) has previously been enhanced such that the signals from two or more dual in-line memory module (“DIMM”) (or RambusTM in-line memory module “RIMM”) slots are routed to a common control chip.
- DIMM dual in-line memory module
- RIMM RambusTM in-line memory module
- two DIMM form factor switch/network adapter port boards may be coupled together using rigid flex circuit construction to form a single assembly.
- One of the DIMM boards may also be populated with a control field programmable gate array (“FPGA”) which may have the signals from both DIMM slots routed to it.
- the control chip then samples the data off of both slots using the independent clocks of the slots.
- the data from both slots is then used to form a data packet that is then sent to other parts of the system.
- the technique may be utilized in conjunction with more than two DIMM slots, for example, four DIMM slots in a four-way interleaved system.
- an interleaved memory system may use two or more memory channels running in lock-step wherein a connection is made to one of the DIMM slots and the signals derived are used in conjunction with the original set of switch/network adapter port board signals. In operation, this effectively doubles (or more) the width of the data bus into and out of the memory.
- This technique can be implemented in conjunction with the proper selection of a memory and input/output (“I/O”) controller (“North Bridge”) chip that supports interleaved memory.
- I/O input/output
- North Bridge North Bridge
- DRAM system dynamic random access memory
- DDR double data rate
- DDR2 and DDR3 memory specifications have been set forth. These specifications include clock rates of from 200 to 400 MHz, but yet they do not incorporate modifications to the basic interconnect structure and still impose a stub terminated bus structure. Because of the clock rate involved with this bus structure, the number devices present on the bus is limited, thus creating a situation where the memory needs of the applications being run are still not being met.
- FB-DIMM Fully Buffered DIMM
- AMB Advanced Memory Buffer
- the Advanced Memory Buffer then converts this to the parallel signaling that is required by the standard DDR2 SRAM.
- the Advanced Memory Buffer also incorporates a pass-through port to enable the use of multiple FB-DIMM's in a given system.
- the present invention advantageously incorporates and properly allocates memory resources, such as dynamic random access memory (“DRAM”), located on the module itself. Functionally, this memory appears to the dense logic device (e.g. a microprocessor) to be like other system memory and no time penalties are incurred when reading to, or writing from, it.
- DRAM dynamic random access memory
- the control of this memory can be handed off to the switch/network adapter port memory controller.
- the controller can move data between the memory resources and the computer network, based for example, on control parameters that may be located in on-board registers. This data movement is performed at the maximum rate that the memory devices themselves can sustain, thereby providing the highest performance link to the other network devices such as direct execution logic devices such as Multi-Adaptive Processing elements (MAP® a trademark of SRC Computers, Inc.), common memory boards and the like.
- MAP® Multi-Adaptive Processing elements
- the system and method of the present invention does not need to rely on relatively long CAS memory latencies to enable the associated FPGA to process the memory transactions. Moreover, the system and method of the present invention functions as a true peer to the system memory and I/O controller and access to the shared memory resources is arbitrated for between the memory and I/O controller and the switch/network adapter port controller.
- the addition of a programmable memory controller to the system/network adapter port control unit enables this improved system to meet these needs.
- the memory controller is enabled such that the address access patterns utilized in the performance of the data movement to and from the collocated memory resources is programmable. This serves to effectively eliminate the performance penalty that is common when performing scatter/gather and other similar functions.
- the memory and I/O controller can control the common memory resources on the SNAPM modules through the inclusion of various data and address switches (e.g. field effect transistors “FETs”, or the like) and tri-stable latches.
- data and address switches e.g. field effect transistors “FETs”, or the like
- FETs field effect transistors
- tri-stable latches are configured such that the data and address lines may be driven by either the memory and I/O controller or the SNAPM memory controller while complete DIMM (and RIMM or other memory module format) functionality is maintained.
- this may be implemented in various ways including the inclusion of a number of control registers added to the address space accessible by the memory and I/O controller which are used to coordinate the use of the shared memory resources.
- the SNAPM memory controller In operation, when the memory and I/O controller is in control, the SNAPM memory controller is barred from accessing the DRAM memory. Conversely, when the SNAPM memory controller is in control, the address/control and data buses from the memory and I/O controller are disconnected from the DRAM memory. However, the SNAPM memory controller continues to monitor the address and control bus for time critical commands such as memory refresh commands. Should the memory and I/O controller issue a refresh command while the SNAPM memory controller is in control of the DRAM memory, it will interleave the refresh command into its normal command sequence to the DRAM devices. Additionally, when the memory and I/O controller is in control, the SNAPM modules monitor the address and command bus for accesses to any control registers located on the module and can accept or drive replies to these commands without switching control of the collocated memory resources.
- the SNAPM controller contains a programmable direct memory access (“DMA”) engine which can perform random access and other DMA operations based on the state of any control registers or in accordance with other programmable information.
- DMA direct memory access
- the SNAPM controller is also capable of performing data re-ordering functions wherein the contents of the DRAM memory can be read out and then rewritten in a different sequence.
- a computer system comprising at least one dense logic device, a controller for coupling the dense logic device to a control block and a memory bus, one or more memory module slots coupled to the memory bus with at least one of the memory module slots comprising a buffered memory module, an adapter port including shared memory resources associated with a subset of the plurality of memory module slots and a direct execution logic element coupled to the adapter port.
- the dense logic device and the direct execution logic element may both access the shared memory resources.
- the adapter port may be conveniently provided in an FB-DIMM, or other buffered memory module form factor.
- a computer system comprising at least one dense logic device, an interleaved controller for coupling the dense logic device to a control block and a memory bus, a plurality of memory slots coupled to the memory bus with at least one of the memory module slots comprising a buffered memory module, an adapter port including shared memory resources associated with at least two of the memory slots and a direct execution logic element coupled to at least one of the adapter ports.
- a computer system including an adapter port for electrical coupling between a memory bus of the computer system and a network interface.
- the computer system comprises at least one dense logic device coupled to the memory bus and the adapter port comprises a memory resource associated with the adapter port and a control block for selectively enabling access by the dense logic device to the memory resource.
- the computer system may further comprise an additional adapter port having an additional memory resource associated with it and the control block being further operative to selectively enable access by the dense logic device to the additional memory resource.
- the system and method of the present invention disclosed herein includes a switch/network adapter port with collocated memory in an FB-DIMM format that may be isolated to allow peer access to the memory by either a system memory and I/O controller or switch/network adapter port memory controller.
- the switch/network adapter port with on-board memory disclosed may be utilized as an interface itself and also allows the switch/network adapter port memory controller to operate directly on data retained in the shared memory resources. This enables it to prepare the data for transmission in operations requiring access to a large block of non-sequential data, such as scatter and gather.
- the system and method of the present invention described herein further discloses a switch/network adapter port with shared memory resources which incorporates a smart, fully parameterized DMA engine providing the capability of performing scatter/gather and other similar functions.
- FIG. 1 is a functional block diagram of a switch/network adapter port for a clustered computing system employing a chain of multi-adaptive processors in a DIMM format functioning as direct execution logic to significantly enhance data transfer rates over that otherwise available from the peripheral component interconnect (“PCI”) bus;
- PCI peripheral component interconnect
- FIG. 2A is a functional block diagram of an exemplary embodiment of a switch/network adapter port incorporating collocated shared memory resources illustrating in a by-two configuration of interleaved DIMM slot form factor SNAPM elements coupled to a common SNAPM memory control element for coupling to a cluster interconnect fabric including one or more direct execution logic devices such as MAP® elements;
- FIG. 2B is a further functional block diagram of another exemplary embodiment of a switch/network adapter port incorporating collocated shared memory resources in accordance with the present invention illustrating a by-four configuration of interleaved DIMM slot form factor SNAPM elements coupled to a common SNAPM memory control element;
- FIG. 3 is a functional block diagram of a representative embodiment of a by-two SNAPM system in accordance with the present invention comprising a pair of circuit boards, each of which may be physically and electrically coupled into one of two DIMM memory slots, and one of which may contain a SNAPM control block in the form of a field programmable gate array (“FPGA”) functioning as the SNAPM memory control block of the preceding FIGS. 2A and 2B;
- FPGA field programmable gate array
- FIG. 4A is a corresponding functional block diagram of the embodiment of the preceding figure wherein the memory and I/O controller drives the address/control and data buses for access to the shared memory resources of the SNAPM elements through the respective address and data switches;
- FIG. 4B is an accompanying functional block diagram of the embodiment of FIG. 3 wherein the SNAPM memory control block provides access to the shared memory resources and disconnects the address/control and data buses from the system memory and I/O controller;
- FIG. 5 is a functional block diagram of a representative fully buffered DIMM memory system implemented in accordance with a particular embodiment of the present invention and wherein the number of sets of FB-DIMM branches is based on the bandwidth requirements of the system;
- FIG. 6 is a corresponding functional block diagram of a representative switch/network adapter port FB-DIMM block for possible use in conjunction with the FB-DIMM memory system of the preceding figure and wherein the double data rate synchronous dynamic random access memory (DDR SDRAM) array in this exemplary embodiment is shown as being 72 bits wide; and
- DDR SDRAM double data rate synchronous dynamic random access memory
- FIG. 7 is a simplified view of a typical FB-DIMM memory module which is also coupled to the memory controller system maintenance (SM) bus and a clock (CLK) signal source.
- SM memory controller system maintenance
- CLK clock
- FIG. 1 a functional block diagram of an exemplary embodiment of a computer system 100 is shown comprising a switch/network adapter port for clustered computers employing a chain of multi-adaptive processors functioning as direct execution logic elements in a DIMM format to significantly enhance data transfer rates over that otherwise available from the peripheral component interconnect (“PCI”) bus.
- PCI peripheral component interconnect
- the computer system 100 includes one or more dense logic devices in the form of processors 102 0 and 102 1 which are coupled to an associated memory and I/O controller 104 (e.g. a “North Bridge”).
- the controller 104 sends and receives control information from a separate PCI control block 106 .
- the controller 104 and/or the PCI control block 106 may be integrated within the processors 102 themselves and that the control block 106 may also be an accelerated graphics port (“AGP”) or system maintenance (“SM”) control block.
- AGP accelerated graphics port
- SM system maintenance
- the PCI control block 106 is coupled to one or more PCI card slots 108 by means of a relatively low bandwidth PCI bus 110 which allows data transfers at a rate of substantially 256 MB/sec.
- the card slots 108 may alternatively comprise PCI-X, PCI Express, accelerated graphics port (“AGP”) or system maintenance (“SM”) bus connections.
- the controller 104 is also conventionally coupled to a number of DIMM slots 114 by means of a much higher bandwidth DIMM bus 116 capable of data transfer rates of substantially 2.1 GB/sec. or greater.
- a DIMM MAP® element 112 may be associated with, or physically located within, one of the DIMM slots 114 .
- Control information to or from the DIMM MAP® element 112 may be provided by means of a connection 118 interconnecting the PCI bus 110 and the DIMM MAP® element 112 .
- the DIMM MAP® element 112 then may be coupled to another clustered computer MAP® element by means of a cluster interconnect fabric connection 120 connected to MAP® chain ports.
- the DIMM MAP® element 12 may also comprise a RambusTM DIMM (“RIMM”) MAP® element.
- the DIMM memory located within the DIMM slots 114 comprises the primary storage location for the microprocessor(s) 102 0 , 102 1 , it is designed to be electrically very “close” to the processor bus and thus exhibit very low latency. As noted previously, it is not uncommon for the latency associated with the DIMM to be on the order of only 25% of that of the PCI bus 110 . By, in essence, harnessing this bandwidth as an interconnect between computer systems 100 , greatly increased cluster performance may be realized as disclosed in the aforementioned patents and patent applications.
- each MAP® element 112 may also include chain ports to enable it to be coupled to other MAP® elements 112 .
- chain ports to enable it to be coupled to other MAP® elements 112 .
- data packets can then be sent to remote nodes where they can be received by an identical board.
- the DIMM MAP® element 112 would extract the data from the packet and store it until needed by the receiving processor 102 .
- the DIMM MAP® element 112 may be further provided with the connection 118 to allow it to communicate with the existing PCI bus 110 which could then generate communications packets and send them via the PCI bus 110 to the processor 102 . Since these packets would account for but a very small percentage of the total data moved, the low bandwidth effects of the PCI bus 110 are minimized and conventional PCI interrupt signals could also be utilized to inform the processor 102 that data has arrived.
- the system maintenance (“SM”) bus (not shown) could also be used to signal the processor 102 .
- the SM bus is a serial current mode bus that conventionally allows various devices on the processor board to interrupt the processor 102 .
- the accelerated graphics port (“AGP”) may also be utilized to signal the processor 102 .
- DIMM MAP® element 112 associated with what might be an entire DIMM slot 114 , the system will allocate a large block of addresses, typically on the order of 1 GB, for use by the DIMM MAP® element 112 . While some of these can be decoded as commands, many can still be used as storage. By having at least as many address locations as the normal input/output (“I/O”) block size used to transfer data from peripherals, the conventional IntelTM chip sets used in most personal computers (including controller 104 ) will allow direct I/O transfers into the DIMM MAP® element 112 . This then allows data to arrive from, for example, a disk and to pass directly into a DIMM MAP® element 112 .
- I/O input/output
- DIMM-based MAP® element 112 having one or more connections to the PCI bus 110 and an external switch or network over connection 120 which results in many times the performance of a PCI-based connection alone as well as the ability to process data as it passes through the interconnect fabric.
- FIG. 2A a functional block diagram of an exemplary embodiment of a switch/network adapter port 200 A incorporating collocated common memory resources in accordance with the present invention is shown.
- like structure and functionality to that disclosed with respect to the foregoing figure is here like numbered and the foregoing description thereof shall suffice herefor.
- the switch/network adapter port with common memory (“SNAPM”) 200 A is shown in an exemplary by-two configuration of interleaved DIMM slot form factor SNAPM elements 204 (SNAPM A and SNAPM B) each coupled to a common control element 202 (comprising, together with the two SNAPM elements 204 “SNAPM”) and with each of the SNAPM elements 204 including respective DRAM memory 206 A and 206 B in conjunction with associated switches and buses 208 A and 208 B respectively as will be more fully described hereinafter.
- the controller 104 is an interleaved memory controller bi-directionally coupled to the DIMM slots 114 and SNAPM elements 204 by means of a Channel A 216 A and a Channel B 216 B.
- FIG. 2B a functional block diagram of another exemplary embodiment of a switch/network adapter port 200 B incorporating collocated common memory resources in accordance with the present invention is shown.
- the switch/network adapter port 200 B with common memory is shown in a by-four configuration of interleaved DIMM slot form factor SNAPM elements 204 coupled to a common SNAPM memory control element 202 (comprising, together with the four SNAPM elements 204 “SNAPM”).
- the controller 104 is again an interleaved memory controller bi-directionally coupled to the DIMM slots 114 and SNAPM elements 204 by means of a respective Channel A 216 A, Channel B 216 B, Channel C 216 C and Channel D 216 D.
- the SNAPM system in the exemplary embodiment shown, comprises a pair of circuit boards 204 , each of which may be physically and electrically coupled into one of two DIMM (RIMM or other memory module form factor) memory slots, and one of which may contain a SNAPM control block 202 in the form of, for example, an FPGA programmed to function as the SNAPM memory control block of the preceding FIGS. 2A and 2B.
- DIMM RIMM or other memory module form factor
- Each of the SNAPM circuit boards 204 comprises respective collocated common memory resources 206 A (“Memory A”) and 206 B (“Memory B”) which may be conveniently provided in the form of DRAM, SRAM or other suitable memory technology types.
- Each of the memory resources 206 A and 206 B is respectively associated with additional circuitry 208 A and 208 B comprising, in pertinent part, respective DIMM connectors 302 A and 302 B, a number of address switches 304 A and 304 B and a number of data switches 306 A and 306 B along with associated address/control and data buses.
- the address switches 304 A and 304 B and data switches 306 A and 306 B are controlled by a switch direction control signal provided by the SNAPM control block 202 on control line 308 as shown.
- the address switches 304 and data switches 306 may be conveniently provided as FETs, bipolar transistors or other suitable switching devices.
- the network connections 120 may be furnished, for example, as a flex connector and corresponds to the cluster interconnect fabric of the preceding figures for coupling to one or more elements of direct execution logic such as MAP® elements available from SRC Computers, Inc.
- FIG. 4A a corresponding functional block diagram of the embodiment of the preceding figure is shown wherein the memory and I/O controller (element 104 of FIGS. 1, 2A and 2 B) drives the address/control and data buses for access to the shared memory resources 206 of the SNAPM elements 204 through the respective address and data switches 304 AND 306 in accordance with the state of the switch direction control signal on control line 308 .
- the memory and I/O controller (element 104 of FIGS. 1, 2A and 2 B) drives the address/control and data buses for access to the shared memory resources 206 of the SNAPM elements 204 through the respective address and data switches 304 AND 306 in accordance with the state of the switch direction control signal on control line 308 .
- FIG. 4B an accompanying functional block diagram of the embodiment of FIG. 3 is shown wherein the SNAPM memory control block 202 provides access to the shared memory resources 206 and disconnects the address/control and data buses from the system memory and I/O controller (element 104 of FIGS. 1, 2A and 2 B) in accordance with an opposite state of the switch direction control signal on control line 308 .
- the memory and I/O controller (element 104 of FIGS. 1, 2A and 2 B), as well as the SNAPM memory controller 202 , can control the common memory resources 206 on the SNAPM modules 204 .
- the switches 304 and 306 are configured such that the data and address lines may be driven by either the memory and I/O controller 104 or the SNAPM memory controller 202 while complete DIMM (and RIMM or other memory module format) functionality is maintained. Specifically, this may be implemented in various ways including the inclusion of a number of control registers added to the address space accessible by the memory and I/O controller 104 which are used to coordinate the use of the shared memory resources 206 .
- the least significant bit (“LSB”) data lines (07:00) of lines (71:00) and/or selected address bits may be used to control the SNAPM control block 202 , and hence, the allocation and use of the shared memory resources 206 .
- LSB least significant bit
- the SNAPM memory controller 202 In operation, when the memory and I/O controller 104 is in control, the SNAPM memory controller 202 is barred from accessing the DRAM memory 206 . Conversely, when the SNAPM memory controller 202 is in control, the address/control and data buses from the memory and I/O controller 104 are disconnected from the DRAM memory 206 . However, the SNAPM memory controller 202 continues to monitor the address and control bus for time critical commands such as memory refresh commands. Should the memory and I/O controller 104 issue a refresh command while the SNAPM memory controller 202 is in control of the DRAM memory 206 , it will interleave the refresh command into its normal command sequence to the DRAM devices.
- the SNAPM modules 204 monitor the address and command bus for accesses to any control registers located on the module and can accept or drive replies to these commands without switching control of the collocated memory resources 206 .
- FIG. 5 a functional block diagram of a representative fully buffered DIMM memory system 500 implemented in accordance with a particular embodiment of the present invention is shown wherein the number of sets of FB-DIMM branches is based on the bandwidth requirements of the system.
- the FB-DIMM memory system 500 comprises, in pertinent part a system memory I/O controller 502 which is analogous to the memory and I/O controller 104 of the preceding figures.
- One or more switch/network adapter port FB-DIMM blocks 504 may be physically and electrically coupled to standard DIMM slots within the memory system 500 and are bidirectionally coupled to a computer network comprising one or more direct execution logic blocks as shown.
- a number of FB-DIMM memory modules 506 are also physically and electrically coupled to standard DIMM slots within the memory system 500 and, in the representative embodiment shown, a maximum of eight FB-DIMM modules may be provided.
- the switch/network adapter port FB-DIMM blocks 504 and the FB-DIMM memory modules 506 are coupled to the system memory I/O controller 502 through ten high speed serial lines 508 and fourteen high speed serial lines 510 as illustrated.
- FIG. 6 a corresponding functional block diagram of a representative switch/network adapter port FB-DIMM block 504 is shown for possible use in conjunction with the FB-DIMM memory system 500 of the preceding figure.
- the switch/network adapter port FB-DIMM block 504 comprises, in pertinent part, a SNAP Advanced Memory Buffer (“AMB”) control FPGA analogous to the SNAPM control block 202 of the preceding figures which provides the bi-directional coupling to the direct execution logic of the computer network. It further includes a number of double data rate two synchronous dynamic random access memory (DDR2 SDRAM) elements 604 in an array which, in this exemplary embodiment, is shown as being 72 bits wide.
- DDR2 SDRAM double data rate two synchronous dynamic random access memory
- the SNAP AMB control FPGA 602 is coupled to the DDR2 SDRAM elements 604 through an address/control (“ADR/CTL”) bus 606 and a bidirectional data bus 608 .
- the SNAP AMB control FPGA 602 of the switch/network adapter port FB-DIMM block 504 is electrically (and physically) coupled to a FB-DIMM connector 610 through a pair of high speed serial lines 508 and fourteen high speed serial lines 510 , one pair of which function as high speed pass-through serial lines as illustrated.
- the address switches 304 and data switches 306 of a SNAPM system 300 may be conveniently provided as FETs, bipolar transistors or other suitable switching devices to provide isolation between the SNAP control FPGA and the North Bridge.
- the Advanced Memory Buffer naturally provides an analogous isolation point. Therefore, by constructing the AMB out of the SNAP FPGA devices, the functionality of the SNAPM system 300 can be effectively duplicated with a significant reduction in the complexity of the overall module design.
- the address switches 304 and data switches 306 of the SNAPM system 300 are no longer required because of the conversion necessary to go from the serial format to the parallel format of the SDRAMs.
- the pass through port allows the SNAP FB-DIMM block 504 to ‘claim’ the transaction or pass it on to the next FB-DIMM memory module 506 based on the address of the transaction.
- the SNAP control FPGA is capable of providing all of the specified AMB functionality. Additionally, the SNAP controller may be conveniently configured to provide control registers that can enable the local SDRAM to be exclusively controlled by SNAP. By utilizing the pass through port, normal system memory traffic can still occur and future clock increases, either in the serial interface or in the SDRAM components, would more easily be accommodated. Further, to the extent the AMB is, or in the future is, configurable through downloadable parameters, the FB-DIMM block of the present invention could likewise be reprogrammable in the way the associated memory may be accessed.
- FIG. 7 a simplified view of a typical FB-DIMM memory module 506 is shown in a card 702 form factor for electrical and physical retention within a standard DIMM memory slot.
- the FB-DIMM memory module 506 comprises an on card buffer 704 as well as a number of DRAM elements 706 all electrically accessible through a card edge connector 708 .
- the ten high speed serial lines 508 and fourteen high speed serial lines 510 are coupled to the buffer 704 through the edge connector 708 as is the system memory I/O controller 502 system maintenance (SM) bus 712 and a clock (CLK) signal source 710 .
- SM system maintenance
- CLK clock
Abstract
An enhanced switch/network adapter port incorporating shared memory resources (“SNAPM™”) selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module (“FB-DIMM”) format for clustered computing systems employing direct execution logic such as multi-adaptive processor elements (“MAP®”, all trademarks of SRC Computers, Inc.). Functionally, the SNAPM modules incorporate and properly allocate memory resources so that the memory appears to the associated dense logic device(s) (e.g. a microprocessor) to be functionally like any other system memory such that no time penalties are incurred when accessing it. Through the use of a programmable access coordination mechanism, the control of this memory can be handed off to the SNAPM memory controller and, once in control, the controller can move data between the shared memory resources and the computer network such that the transfer is performed at the maximum rate that the memory devices themselves can sustain. This provides the highest performance link to the other network devices such as MAP® elements, common memory boards and the like.
Description
- The present invention is a continuation-in-part application and is related to, and claims priority from, U.S. patent application Ser. No. 10/618,041 filed Jul. 11, 2003 for: “Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible by a Direct Execution Logic Element and One or More Dense Logic Devices”, which is a continuation-in-part application and is related to, and claims priority from U.S. patent application Ser. No. 10/340,390 filed Jan. 10, 2003 for: “Switch/Network Adapter Port Coupling a Reconfigurable Processing Element to One or More Microprocessors for Use With Interleaved Memory Controllers, which is a continuation-in-part application and is related to, and claims priority from, U.S. patent application Ser. No. 09/932,330 filed Aug. 17, 2001 for: “Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format” which is a continuation-in-part of patent application Ser. No. 09/755,744 filed Jan. 5, 2001 which is a divisional patent application of U.S. patent application Ser. No. 09/481,902 filed Jan. 12, 2000, now U.S. Pat. No. 6,247,110, which is a continuation of Ser. No. 08/992,763, filed Dec. 17, 1997, now U.S. Pat. No. 6,076,152, all of which are assigned to SRC Computers, Inc., Colorado Springs, Colo., the assignee of the present invention, the disclosures of which are herein specifically incorporated in their entirety by this reference.
- The present invention relates, in general, to the field of reconfigurable processor-based computing systems. More particularly, the present invention relates to a switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element (such as a reconfigurable computing element comprising one or more field programmable gate arrays “FPGAs”) and one or more dense logic devices comprising commercially available microprocessors, digital signal processors (“DSPs”), application specific integrated circuits (“ASICs”) and other typically fixed logic components having relatively high clock rates.
- As disclosed in one or more representative embodiments illustrated and described in the aforementioned patents and patent applications, SRC Computers, Inc. proprietary Switch/Network Adapter Port technology (SNAP™, a trademark of SRC Computers, Inc., assignee of the present invention) has previously been enhanced such that the signals from two or more dual in-line memory module (“DIMM”) (or Rambus™ in-line memory module “RIMM”) slots are routed to a common control chip.
- Physically, in a by-two configuration, two DIMM form factor switch/network adapter port boards may be coupled together using rigid flex circuit construction to form a single assembly. One of the DIMM boards may also be populated with a control field programmable gate array (“FPGA”) which may have the signals from both DIMM slots routed to it. The control chip then samples the data off of both slots using the independent clocks of the slots. The data from both slots is then used to form a data packet that is then sent to other parts of the system. In a similar manner, the technique may be utilized in conjunction with more than two DIMM slots, for example, four DIMM slots in a four-way interleaved system.
- In operation, an interleaved memory system may use two or more memory channels running in lock-step wherein a connection is made to one of the DIMM slots and the signals derived are used in conjunction with the original set of switch/network adapter port board signals. In operation, this effectively doubles (or more) the width of the data bus into and out of the memory. This technique can be implemented in conjunction with the proper selection of a memory and input/output (“I/O”) controller (“North Bridge”) chip that supports interleaved memory.
- Currently described in the literature is a reconfigurable computing development environment called “Pilchard” which plugs into a personal computer DIMM slot. See, for example, “Pilchard—A Reconfigurable Computing Platform with Memory Slot Interface” developed at the Chinese University of Hong Kong under a then existing license and utilizing SRC Computers, Inc. technology. The Pilchard system, and other present day systems rely on relatively long column address strobe (“CAS”) latencies to enable the FPGA to process the memory transactions and are essentially slaves to the memory and I/O controller.
- With the speed gap ever increasing between the processor speeds and the memory subsystem, processor design has been optimized to keep the cache subsystem filled with data that will be needed by the program currently executing on the processor. Thus, the processor itself is becoming less efficient at performing the large block transfers that may be required in certain systems utilizing currently available switch/network devices.
- The need to have a relatively large volume of system dynamic random access memory (“DRAM”) has increased in recent years due to the need to handle ever larger databases and with ever increasing problem sizes. At the same time, integrated circuit memory densities continue to double approximately every eighteen to twenty four months. Consequently, more and more memory devices are required in a system to meet an applications needs.
- An even greater impact on the performance of a system has been the ever increasing time (in processor clocks) it takes to access the DRAM in the system. This has created pressure for even faster memory sub-systems. For these reason, the double data rate (“DDR”) DDR2 and DDR3 memory specifications have been set forth. These specifications include clock rates of from 200 to 400 MHz, but yet they do not incorporate modifications to the basic interconnect structure and still impose a stub terminated bus structure. Because of the clock rate involved with this bus structure, the number devices present on the bus is limited, thus creating a situation where the memory needs of the applications being run are still not being met.
- For this reason, a new memory bus structure is being developed which is denominated as the Fully Buffered DIMM (FB-DIMM). The FB-DIMM uses an Advanced Memory Buffer (AMB) to perform serial to parallel conversions necessary to enable the memory controller in the North Bridge to function serially. The Advanced Memory Buffer then converts this to the parallel signaling that is required by the standard DDR2 SRAM. The Advanced Memory Buffer also incorporates a pass-through port to enable the use of multiple FB-DIMM's in a given system. With this bus structure, all of the interconnects are essentially point-to-point differential serial. Further, along with the pass-through port, a vary large memory subsystem can be created.
- In order to increase processor operational efficiency in conjunction with a switch/network adapter port, the present invention advantageously incorporates and properly allocates memory resources, such as dynamic random access memory (“DRAM”), located on the module itself. Functionally, this memory appears to the dense logic device (e.g. a microprocessor) to be like other system memory and no time penalties are incurred when reading to, or writing from, it.
- Through the use of an access coordination mechanism, the control of this memory can be handed off to the switch/network adapter port memory controller. Once in control, the controller can move data between the memory resources and the computer network, based for example, on control parameters that may be located in on-board registers. This data movement is performed at the maximum rate that the memory devices themselves can sustain, thereby providing the highest performance link to the other network devices such as direct execution logic devices such as Multi-Adaptive Processing elements (MAP® a trademark of SRC Computers, Inc.), common memory boards and the like.
- Unlike the Pilchard system described previously, the system and method of the present invention does not need to rely on relatively long CAS memory latencies to enable the associated FPGA to process the memory transactions. Moreover, the system and method of the present invention functions as a true peer to the system memory and I/O controller and access to the shared memory resources is arbitrated for between the memory and I/O controller and the switch/network adapter port controller.
- Further, with increasing system security demands, as well as other functions that require unique memory address access patterns, the addition of a programmable memory controller to the system/network adapter port control unit enables this improved system to meet these needs. Functionally, the memory controller is enabled such that the address access patterns utilized in the performance of the data movement to and from the collocated memory resources is programmable. This serves to effectively eliminate the performance penalty that is common when performing scatter/gather and other similar functions.
- In a representative embodiment of the present invention disclosed herein, the memory and I/O controller, as well as the enhanced switch/network adapter port memory (“SNAPM™”) controller, can control the common memory resources on the SNAPM modules through the inclusion of various data and address switches (e.g. field effect transistors “FETs”, or the like) and tri-stable latches. These switching resources and latches are configured such that the data and address lines may be driven by either the memory and I/O controller or the SNAPM memory controller while complete DIMM (and RIMM or other memory module format) functionality is maintained. Specifically, this may be implemented in various ways including the inclusion of a number of control registers added to the address space accessible by the memory and I/O controller which are used to coordinate the use of the shared memory resources.
- In operation, when the memory and I/O controller is in control, the SNAPM memory controller is barred from accessing the DRAM memory. Conversely, when the SNAPM memory controller is in control, the address/control and data buses from the memory and I/O controller are disconnected from the DRAM memory. However, the SNAPM memory controller continues to monitor the address and control bus for time critical commands such as memory refresh commands. Should the memory and I/O controller issue a refresh command while the SNAPM memory controller is in control of the DRAM memory, it will interleave the refresh command into its normal command sequence to the DRAM devices. Additionally, when the memory and I/O controller is in control, the SNAPM modules monitor the address and command bus for accesses to any control registers located on the module and can accept or drive replies to these commands without switching control of the collocated memory resources.
- Functionally, the SNAPM controller contains a programmable direct memory access (“DMA”) engine which can perform random access and other DMA operations based on the state of any control registers or in accordance with other programmable information. The SNAPM controller is also capable of performing data re-ordering functions wherein the contents of the DRAM memory can be read out and then rewritten in a different sequence.
- Particularly disclosed herein is a computer system comprising at least one dense logic device, a controller for coupling the dense logic device to a control block and a memory bus, one or more memory module slots coupled to the memory bus with at least one of the memory module slots comprising a buffered memory module, an adapter port including shared memory resources associated with a subset of the plurality of memory module slots and a direct execution logic element coupled to the adapter port. The dense logic device and the direct execution logic element may both access the shared memory resources. In a preferred embodiment, the adapter port may be conveniently provided in an FB-DIMM, or other buffered memory module form factor.
- Also disclosed herein is a computer system comprising at least one dense logic device, an interleaved controller for coupling the dense logic device to a control block and a memory bus, a plurality of memory slots coupled to the memory bus with at least one of the memory module slots comprising a buffered memory module, an adapter port including shared memory resources associated with at least two of the memory slots and a direct execution logic element coupled to at least one of the adapter ports.
- Further disclosed herein is a computer system including an adapter port for electrical coupling between a memory bus of the computer system and a network interface. The computer system comprises at least one dense logic device coupled to the memory bus and the adapter port comprises a memory resource associated with the adapter port and a control block for selectively enabling access by the dense logic device to the memory resource. In a particular embodiment disclosed herein, the computer system may further comprise an additional adapter port having an additional memory resource associated with it and the control block being further operative to selectively enable access by the dense logic device to the additional memory resource.
- Broadly, the system and method of the present invention disclosed herein includes a switch/network adapter port with collocated memory in an FB-DIMM format that may be isolated to allow peer access to the memory by either a system memory and I/O controller or switch/network adapter port memory controller. The switch/network adapter port with on-board memory disclosed may be utilized as an interface itself and also allows the switch/network adapter port memory controller to operate directly on data retained in the shared memory resources. This enables it to prepare the data for transmission in operations requiring access to a large block of non-sequential data, such as scatter and gather. The system and method of the present invention described herein further discloses a switch/network adapter port with shared memory resources which incorporates a smart, fully parameterized DMA engine providing the capability of performing scatter/gather and other similar functions.
- The aforementioned and other features and objects of the present invention and the manner of attaining them will become more apparent and the invention itself will be best understood by reference to the following description of a preferred embodiment taken in conjunction with the accompanying drawings, wherein:
- FIG. 1 is a functional block diagram of a switch/network adapter port for a clustered computing system employing a chain of multi-adaptive processors in a DIMM format functioning as direct execution logic to significantly enhance data transfer rates over that otherwise available from the peripheral component interconnect (“PCI”) bus;
- FIG. 2A is a functional block diagram of an exemplary embodiment of a switch/network adapter port incorporating collocated shared memory resources illustrating in a by-two configuration of interleaved DIMM slot form factor SNAPM elements coupled to a common SNAPM memory control element for coupling to a cluster interconnect fabric including one or more direct execution logic devices such as MAP® elements;
- FIG. 2B is a further functional block diagram of another exemplary embodiment of a switch/network adapter port incorporating collocated shared memory resources in accordance with the present invention illustrating a by-four configuration of interleaved DIMM slot form factor SNAPM elements coupled to a common SNAPM memory control element;
- FIG. 3 is a functional block diagram of a representative embodiment of a by-two SNAPM system in accordance with the present invention comprising a pair of circuit boards, each of which may be physically and electrically coupled into one of two DIMM memory slots, and one of which may contain a SNAPM control block in the form of a field programmable gate array (“FPGA”) functioning as the SNAPM memory control block of the preceding FIGS. 2A and 2B;
- FIG. 4A is a corresponding functional block diagram of the embodiment of the preceding figure wherein the memory and I/O controller drives the address/control and data buses for access to the shared memory resources of the SNAPM elements through the respective address and data switches;
- FIG. 4B is an accompanying functional block diagram of the embodiment of FIG. 3 wherein the SNAPM memory control block provides access to the shared memory resources and disconnects the address/control and data buses from the system memory and I/O controller;
- FIG. 5 is a functional block diagram of a representative fully buffered DIMM memory system implemented in accordance with a particular embodiment of the present invention and wherein the number of sets of FB-DIMM branches is based on the bandwidth requirements of the system;
- FIG. 6 is a corresponding functional block diagram of a representative switch/network adapter port FB-DIMM block for possible use in conjunction with the FB-DIMM memory system of the preceding figure and wherein the double data rate synchronous dynamic random access memory (DDR SDRAM) array in this exemplary embodiment is shown as being 72 bits wide; and
- FIG. 7 is a simplified view of a typical FB-DIMM memory module which is also coupled to the memory controller system maintenance (SM) bus and a clock (CLK) signal source.
- With reference now to FIG. 1, a functional block diagram of an exemplary embodiment of a
computer system 100 is shown comprising a switch/network adapter port for clustered computers employing a chain of multi-adaptive processors functioning as direct execution logic elements in a DIMM format to significantly enhance data transfer rates over that otherwise available from the peripheral component interconnect (“PCI”) bus. - In the particular embodiment illustrated, the
computer system 100 includes one or more dense logic devices in the form of processors 102 0 and 102 1 which are coupled to an associated memory and I/O controller 104 (e.g. a “North Bridge”). In the operation of the particular embodiment illustrated, thecontroller 104 sends and receives control information from a separatePCI control block 106. It should be noted, however, that in alternative implementations of the present invention, thecontroller 104 and/or the PCI control block 106 (or equivalent) may be integrated within the processors 102 themselves and that thecontrol block 106 may also be an accelerated graphics port (“AGP”) or system maintenance (“SM”) control block. ThePCI control block 106 is coupled to one or morePCI card slots 108 by means of a relatively lowbandwidth PCI bus 110 which allows data transfers at a rate of substantially 256 MB/sec. In alternative embodiments, thecard slots 108 may alternatively comprise PCI-X, PCI Express, accelerated graphics port (“AGP”) or system maintenance (“SM”) bus connections. - The
controller 104 is also conventionally coupled to a number ofDIMM slots 114 by means of a much higherbandwidth DIMM bus 116 capable of data transfer rates of substantially 2.1 GB/sec. or greater. In accordance with a particular implementation of the system shown, a DIMMMAP® element 112 may be associated with, or physically located within, one of theDIMM slots 114. Control information to or from the DIMMMAP® element 112 may be provided by means of aconnection 118 interconnecting thePCI bus 110 and the DIMMMAP® element 112. The DIMMMAP® element 112 then may be coupled to another clustered computer MAP® element by means of a clusterinterconnect fabric connection 120 connected to MAP® chain ports. It should be noted that, the DIMM MAP® element 12 may also comprise a Rambus™ DIMM (“RIMM”) MAP® element. - Since the DIMM memory located within the
DIMM slots 114 comprises the primary storage location for the microprocessor(s) 102 0, 102 1, it is designed to be electrically very “close” to the processor bus and thus exhibit very low latency. As noted previously, it is not uncommon for the latency associated with the DIMM to be on the order of only 25% of that of thePCI bus 110. By, in essence, harnessing this bandwidth as an interconnect betweencomputer systems 100, greatly increased cluster performance may be realized as disclosed in the aforementioned patents and patent applications. - To this end, by placing the DIMM
MAP® element 112 in one of the PC'sDIMM slots 114, its control chip can accept the normal memory “read” and “write” transactions and convert them to a format used by an interconnect switch or network. To this end, eachMAP® element 112 may also include chain ports to enable it to be coupled to otherMAP® elements 112. Through the utilization of the chain port to connect to the external clustering fabric overconnection 120, data packets can then be sent to remote nodes where they can be received by an identical board. In this particular application, the DIMMMAP® element 112 would extract the data from the packet and store it until needed by the receiving processor 102. - This technique results in the provision of data transfer rates several times higher than that of any currently available PC interface such as the
PCI bus 110. However, the electrical protocol of the DIMMs is such that once the data arrives at the receiver, there is no way for a DIMM module within theDIMM slots 114 to signal the microprocessor 102 that it has arrived, and without this capability, the efforts of the processors 102 would have to be synchronized through the use of a continued polling of the DIMMMAP® elements 112 to determine if data has arrived. Such a technique would totally consume the microprocessor 102 and much of its bus bandwidth thus stalling all other bus agents. - To avoid this situation, the DIMM
MAP® element 112 may be further provided with theconnection 118 to allow it to communicate with the existingPCI bus 110 which could then generate communications packets and send them via thePCI bus 110 to the processor 102. Since these packets would account for but a very small percentage of the total data moved, the low bandwidth effects of thePCI bus 110 are minimized and conventional PCI interrupt signals could also be utilized to inform the processor 102 that data has arrived. In accordance with another possible implementation, the system maintenance (“SM”) bus (not shown) could also be used to signal the processor 102. The SM bus is a serial current mode bus that conventionally allows various devices on the processor board to interrupt the processor 102. In an alternative embodiment, the accelerated graphics port (“AGP”) may also be utilized to signal the processor 102. - With a DIMM
MAP® element 112 associated with what might be anentire DIMM slot 114, the system will allocate a large block of addresses, typically on the order of 1 GB, for use by the DIMMMAP® element 112. While some of these can be decoded as commands, many can still be used as storage. By having at least as many address locations as the normal input/output (“I/O”) block size used to transfer data from peripherals, the conventional Intel™ chip sets used in most personal computers (including controller 104) will allow direct I/O transfers into the DIMMMAP® element 112. This then allows data to arrive from, for example, a disk and to pass directly into a DIMMMAP® element 112. It then may be altered in any fashion desired, packetized and transmitted to a remote node overconnection 120. Because both the disk'sPCI bus 110 and the DIMMMAP® element 112 andDIMM slots 114 are controlled by thePC memory controller 104, no processor bus bandwidth is consumed by this transfer. - It should also be noted that in certain computer systems, several DIMMs within the
DIMM slots 114 may be interleaved to provide wider memory access capability in order to increase memory bandwidth. In these systems, the previously described technique may also be utilized concurrently inseveral DIMM slots 114. Nevertheless, regardless of the particular implementation chosen, the end result is a DIMM-basedMAP® element 112 having one or more connections to thePCI bus 110 and an external switch or network overconnection 120 which results in many times the performance of a PCI-based connection alone as well as the ability to process data as it passes through the interconnect fabric. - With reference additionally now to FIG. 2A, a functional block diagram of an exemplary embodiment of a switch/
network adapter port 200A incorporating collocated common memory resources in accordance with the present invention is shown. In this regard, like structure and functionality to that disclosed with respect to the foregoing figure is here like numbered and the foregoing description thereof shall suffice herefor. The switch/network adapter port with common memory (“SNAPM”) 200A is shown in an exemplary by-two configuration of interleaved DIMM slot form factor SNAPM elements 204 (SNAPM A and SNAPM B) each coupled to a common control element 202 (comprising, together with the twoSNAPM elements 204 “SNAPM”) and with each of theSNAPM elements 204 includingrespective DRAM memory buses controller 104 is an interleaved memory controller bi-directionally coupled to theDIMM slots 114 andSNAPM elements 204 by means of aChannel A 216A and aChannel B 216B. - With reference additionally now to FIG. 2B, a functional block diagram of another exemplary embodiment of a switch/
network adapter port 200B incorporating collocated common memory resources in accordance with the present invention is shown. Again, like structure and functionality to that disclosed with respect to the preceding figures is like numbered and the foregoing description thereof shall suffice herefor. The switch/network adapter port 200B with common memory is shown in a by-four configuration of interleaved DIMM slot formfactor SNAPM elements 204 coupled to a common SNAPM memory control element 202 (comprising, together with the fourSNAPM elements 204 “SNAPM”). In this embodiment, thecontroller 104 is again an interleaved memory controller bi-directionally coupled to theDIMM slots 114 andSNAPM elements 204 by means of a respective Channel A 216A,Channel B 216B, Channel C 216C and Channel D 216D. - With reference additionally now to FIG. 3, a functional block diagram of a representative embodiment of a by-two
SNAPM system 300 in accordance with the present invention is shown. The SNAPM system, in the exemplary embodiment shown, comprises a pair ofcircuit boards 204, each of which may be physically and electrically coupled into one of two DIMM (RIMM or other memory module form factor) memory slots, and one of which may contain aSNAPM control block 202 in the form of, for example, an FPGA programmed to function as the SNAPM memory control block of the preceding FIGS. 2A and 2B. - Each of the
SNAPM circuit boards 204 comprises respective collocatedcommon memory resources 206A (“Memory A”) and 206B (“Memory B”) which may be conveniently provided in the form of DRAM, SRAM or other suitable memory technology types. Each of thememory resources additional circuitry respective DIMM connectors address switches data switches control line 308 as shown. The address switches 304 and data switches 306 may be conveniently provided as FETs, bipolar transistors or other suitable switching devices. Thenetwork connections 120 may be furnished, for example, as a flex connector and corresponds to the cluster interconnect fabric of the preceding figures for coupling to one or more elements of direct execution logic such as MAP® elements available from SRC Computers, Inc. - With reference additionally now to FIG. 4A, a corresponding functional block diagram of the embodiment of the preceding figure is shown wherein the memory and I/O controller (
element 104 of FIGS. 1, 2A and 2B) drives the address/control and data buses for access to the shared memory resources 206 of theSNAPM elements 204 through the respective address and data switches 304 AND 306 in accordance with the state of the switch direction control signal oncontrol line 308. - With reference additionally now to FIG. 4B, an accompanying functional block diagram of the embodiment of FIG. 3 is shown wherein the SNAPM
memory control block 202 provides access to the shared memory resources 206 and disconnects the address/control and data buses from the system memory and I/O controller (element 104 of FIGS. 1, 2A and 2B) in accordance with an opposite state of the switch direction control signal oncontrol line 308. - As shown with respect to FIGS. 4A and 4B, the memory and I/O controller (
element 104 of FIGS. 1, 2A and 2B), as well as theSNAPM memory controller 202, can control the common memory resources 206 on theSNAPM modules 204. The switches 304 and 306 are configured such that the data and address lines may be driven by either the memory and I/O controller 104 or theSNAPM memory controller 202 while complete DIMM (and RIMM or other memory module format) functionality is maintained. Specifically, this may be implemented in various ways including the inclusion of a number of control registers added to the address space accessible by the memory and I/O controller 104 which are used to coordinate the use of the shared memory resources 206. In the embodiment illustrated, the least significant bit (“LSB”) data lines (07:00) of lines (71:00) and/or selected address bits may be used to control theSNAPM control block 202, and hence, the allocation and use of the shared memory resources 206. - In operation, when the memory and I/
O controller 104 is in control, theSNAPM memory controller 202 is barred from accessing the DRAM memory 206. Conversely, when theSNAPM memory controller 202 is in control, the address/control and data buses from the memory and I/O controller 104 are disconnected from the DRAM memory 206. However, theSNAPM memory controller 202 continues to monitor the address and control bus for time critical commands such as memory refresh commands. Should the memory and I/O controller 104 issue a refresh command while theSNAPM memory controller 202 is in control of the DRAM memory 206, it will interleave the refresh command into its normal command sequence to the DRAM devices. Additionally, when the memory and I/O controller 104 is in control, theSNAPM modules 204 monitor the address and command bus for accesses to any control registers located on the module and can accept or drive replies to these commands without switching control of the collocated memory resources 206. - With reference additionally now to FIG. 5, a functional block diagram of a representative fully buffered
DIMM memory system 500 implemented in accordance with a particular embodiment of the present invention is shown wherein the number of sets of FB-DIMM branches is based on the bandwidth requirements of the system. - The FB-
DIMM memory system 500 comprises, in pertinent part a system memory I/O controller 502 which is analogous to the memory and I/O controller 104 of the preceding figures. One or more switch/network adapter port FB-DIMM blocks 504, which will be described in more detail hereinafter, may be physically and electrically coupled to standard DIMM slots within thememory system 500 and are bidirectionally coupled to a computer network comprising one or more direct execution logic blocks as shown. In like manner, a number of FB-DIMM memory modules 506 are also physically and electrically coupled to standard DIMM slots within thememory system 500 and, in the representative embodiment shown, a maximum of eight FB-DIMM modules may be provided. The switch/network adapter port FB-DIMM blocks 504 and the FB-DIMM memory modules 506 are coupled to the system memory I/O controller 502 through ten high speedserial lines 508 and fourteen high speedserial lines 510 as illustrated. - With reference additionally now to FIG. 6, a corresponding functional block diagram of a representative switch/network adapter port FB-
DIMM block 504 is shown for possible use in conjunction with the FB-DIMM memory system 500 of the preceding figure. The switch/network adapter port FB-DIMM block 504 comprises, in pertinent part, a SNAP Advanced Memory Buffer (“AMB”) control FPGA analogous to the SNAPM control block 202 of the preceding figures which provides the bi-directional coupling to the direct execution logic of the computer network. It further includes a number of double data rate two synchronous dynamic random access memory (DDR2 SDRAM)elements 604 in an array which, in this exemplary embodiment, is shown as being 72 bits wide. The SNAPAMB control FPGA 602 is coupled to theDDR2 SDRAM elements 604 through an address/control (“ADR/CTL”)bus 606 and abidirectional data bus 608. The SNAPAMB control FPGA 602 of the switch/network adapter port FB-DIMM block 504 is electrically (and physically) coupled to a FB-DIMM connector 610 through a pair of high speedserial lines 508 and fourteen high speedserial lines 510, one pair of which function as high speed pass-through serial lines as illustrated. - As previously illustrated in the embodiments of FIG. 3, the address switches304 and data switches 306 of a
SNAPM system 300 may be conveniently provided as FETs, bipolar transistors or other suitable switching devices to provide isolation between the SNAP control FPGA and the North Bridge. With an FB-DIMM based system as herein disclosed, the Advanced Memory Buffer naturally provides an analogous isolation point. Therefore, by constructing the AMB out of the SNAP FPGA devices, the functionality of theSNAPM system 300 can be effectively duplicated with a significant reduction in the complexity of the overall module design. In this particular embodiment, the address switches 304 and data switches 306 of theSNAPM system 300 are no longer required because of the conversion necessary to go from the serial format to the parallel format of the SDRAMs. The pass through port allows the SNAP FB-DIMM block 504 to ‘claim’ the transaction or pass it on to the next FB-DIMM memory module 506 based on the address of the transaction. - The SNAP control FPGA is capable of providing all of the specified AMB functionality. Additionally, the SNAP controller may be conveniently configured to provide control registers that can enable the local SDRAM to be exclusively controlled by SNAP. By utilizing the pass through port, normal system memory traffic can still occur and future clock increases, either in the serial interface or in the SDRAM components, would more easily be accommodated. Further, to the extent the AMB is, or in the future is, configurable through downloadable parameters, the FB-DIMM block of the present invention could likewise be reprogrammable in the way the associated memory may be accessed.
- With reference additionally now to FIG. 7, a simplified view of a typical FB-
DIMM memory module 506 is shown in acard 702 form factor for electrical and physical retention within a standard DIMM memory slot. The FB-DIMM memory module 506 comprises an oncard buffer 704 as well as a number ofDRAM elements 706 all electrically accessible through acard edge connector 708. As illustrated, the ten high speedserial lines 508 and fourteen high speedserial lines 510 are coupled to thebuffer 704 through theedge connector 708 as is the system memory I/O controller 502 system maintenance (SM)bus 712 and a clock (CLK)signal source 710. - While there have been described above the principles of the present invention in conjunction with specific module configurations and circuitry, it is to be clearly understood that the foregoing description is made only by way of example and not as a limitation to the scope of the invention. Particularly, it is recognized that the teachings of the foregoing disclosure will suggest other modifications to those persons skilled in the relevant art. Such modifications may involve other features which are already known per se and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure herein also includes any novel feature or any novel combination of features disclosed either explicitly or implicitly or any generalization or modification thereof which would be apparent to persons skilled in the relevant art, whether or not such relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as confronted by the present invention. The applicants hereby reserve the right to formulate new claims to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.
Claims (76)
1. A computer system comprising:
at least one dense logic device;
a controller for coupling said at least one dense logic device to a control block and a memory bus;
one or more memory module slots coupled to said memory bus, at least one of said one or more memory module slots comprising a buffered memory module;
an adapter port associated with a subset of said one or more memory module slots, said adapter port including associated memory resources; and
at least one direct execution logic element coupled to said adapter port, said memory resources being selectively accessible by said at least one dense logic device and said at least one direct execution logic element.
2. The computer system of claim 1 wherein said controller comprises an interleaved memory controller.
3. The computer system of claim 1 wherein said buffered memory module comprises an FB-DIMM memory module.
4. The computer system of claim 3 , wherein said adapter port comprises an FB-DIMM physical format for retention within one of said memory module slots.
5. The computer system of claim 1 wherein said control block provides control information to said adapter port.
6. The computer system of claim 1 wherein said control block provides control information to said direct execution logic element.
7. The computer system of claim 1 wherein said control block comprises a peripheral bus control block.
8. The computer system of claim 7 wherein said peripheral bus control block provides control information to said adapter port.
9. The computer system of claim 7 wherein said peripheral control block provides control information to said direct execution logic element.
10. The computer system of claim 1 wherein said control block comprises a graphics control block.
11. The computer system of claim 10 wherein said graphics control block provides control information to said adapter port.
12. The computer system of claim 10 wherein said graphics control block provides control information to said direct execution logic element.
13. The computer system of claim 1 wherein said control block comprises a systems maintenance control block.
14. The computer system of claim 13 wherein said systems maintenance control block provides control information to said adapter port.
15. The computer system of claim 13 wherein said systems maintenance control block provides control information to said direct execution logic element.
16. The computer system of claim 1 wherein said direct execution logic element comprises a reconfigurable processor element.
17. The computer system of claim 1 wherein said direct execution logic element is operative to alter data received from said controller on said memory bus.
18. The computer system of claim 1 wherein said direct execution logic element is operative to alter data received from an external source prior to placing altered data on said memory bus.
19. The computer system of claim 1 wherein said direct execution logic element comprises:
a control block coupled to said adapter port.
20. The computer system of claim 19 wherein said direct execution logic element further comprises:
at least one field programmable gate array configurable to perform an identified algorithm on and operand provided thereto by said adapter port.
21. The computer system of claim 20 further comprising:
a dual-ported memory block coupling a control block coupled to said adapter port to said at least one field programmable gate array.
22. The computer system of claim 1 wherein said direct execution logic element comprises:
a chain port for coupling said direct execution logic element to another direct execution logic element.
23. The computer system of claim 19 wherein said direct execution logic element further comprises:
a read only memory associated with said control block for providing configuration information thereto.
24. A computer system comprising:
at least one dense logic device;
an interleaved controller for coupling said at least one dense logic device to a control block and a memory bus;
a plurality of memory slots coupled to said memory bus, at least one of said plurality of memory slots comprising a buffered memory module;
an adapter port associated with at least two of said plurality of memory slots, each of said adapter port including associated memory resources; and
a direct execution logic element coupled to at least one of said adapter ports, said memory resources being selectively accessible by said at least one dense logic device and said direct execution logic element.
25. The computer system of claim 24 wherein said plurality of memory slots comprise FB-DIMM memory module slots.
26. The computer system of claim 25 wherein said adapter port comprises an FB-DIMM physical format for retention within one of said FB-DIMM memory module slots.
27. The computer system of claim 24 wherein said control block provides control information to said adapter port.
28. The computer system of claim 24 wherein said control block provides control information to said direct execution logic element.
29. The computer system of claim 24 wherein said control block comprises a peripheral bus control block.
30. The computer system of claim 29 wherein said peripheral bus control block provides control information to said adapter port.
31. The computer system of claim 29 wherein said peripheral control block provides control information to said direct execution logic element.
32. The computer system of claim 24 wherein said control block comprises a graphics control block.
33. The computer system of claim 32 wherein said graphics control block provides control information to said adapter port.
34. The computer system of claim 32 wherein said graphics control block provides control information to said direct execution logic element.
35. The computer system of claim 24 wherein said control block comprises a systems maintenance control block.
36. The computer system of claim 35 wherein said systems maintenance control block provides control information to said adapter port.
37. The computer system of claim 35 wherein said systems maintenance control block provides control information to said direct execution logic element.
38. The computer system of claim 24 wherein said control block comprises a PCI-X control block.
39. The computer system of claim 38 wherein said PCI-X control block provides control information to said adapter port.
40. The computer system of claim 38 wherein said PCI-X control block provides control information to said direct execution logic element.
41. The computer system of claim 24 wherein said control block comprises a PCI Express control block.
42. The computer system of claim 41 wherein said PCI Express control block provides control information to said adapter port.
43. The computer system of claim 41 wherein said PCI Express control block provides control information to said direct execution logic element.
44. The computer system of claim 24 wherein said direct execution logic element comprises a reconfigurable processor element.
45. The computer system of claim 24 wherein said direct execution logic element is operative to alter data received from said controller on said memory bus.
46. The computer system of claim 24 wherein said direct execution logic element is operative to alter data received from an external source prior to placing altered data on said memory bus.
47. The computer system of claim 24 wherein said direct execution logic element comprises:
a control block coupled to said adapter port.
48. The computer system of claim 47 wherein said direct execution logic element further comprises:
at least one field programmable gate array configurable to perform an identified algorithm on and operand provided thereto by said adapter port.
49. The computer system of claim 48 further comprising:
a dual-ported memory block coupling a control block coupled to said adapter port to said at least one field programmable gate array.
50. The computer system of claim 24 wherein said direct execution logic element comprises:
a chain port for coupling said processor element to another direct execution logic element.
51. The computer system of claim 47 wherein said direct execution logic element further comprises:
a read only memory associated with said control block for providing configuration information thereto.
52. A computer system including an adapter port for electrical coupling between a memory bus of said computer system and a network interface, said computer system comprising at least one dense logic device coupled to said memory bus through a memory module connector, said adapter port comprising:
a memory resource associated with said adapter port; and
a control block for selectively enabling access by said at least one dense logic device to said memory resource.
53. The computer system of claim 52 wherein said control block is further operational to selectively preclude access by said at least one dense logic device to said memory resource.
54. The computer system of claim 52 further comprising:
at least one direct execution logic element coupled to said network interface.
55. The computer system of claim 54 wherein said control block is further operational to alternatively enable access to said memory resource by said at least one dense logic device and said at least one direct execution logic element.
56. The computer system of claim 52 wherein said memory bus further comprises at least one memory module slot and said adapter port is configured for physical retention within said at least one memory module slot through said memory module connector.
57. The computer system of claim 56 wherein said at least one memory module slot comprises an FB-DIMM slot.
58. The computer system of claim 52 further comprising:
an additional adapter port;
an additional memory resource associated with said additional adapter port, said control block further operative to selectively enable access by said at least one dense logic device to said additional memory resource.
59. The computer system of claim 58 wherein said control block is further operational to selectively preclude access by said at least one dense logic device to said memory resource and said additional memory resource.
60. The computer system of claim 59 further comprising at least one direct execution logic element coupled to said network interface.
61. The computer system of claim 60 wherein said control block is further operational to alternatively enable access to said memory resource and said additional memory resource by said at least one dense logic device and said at least one direct execution logic element.
62. The computer system of claim 58 wherein said memory bus further comprises first and second memory module slots for physical retention of said at least one adapter port and said additional adapter port respectively.
63. The computer system of claim 62 wherein said first and second memory module slots comprise FB-DIMM slots.
64. The computer system of claim 58 wherein said control block is located on a module comprising said adapter port.
65. The computer system of claim 52 wherein said computer system further comprises:
a memory and I/O controller interposed between said at least one dense logic device and said memory bus.
66. The computer system of claim 65 wherein said memory and I/O controller comprises an interleaved memory controller.
67. The computer system of claim 52 wherein said memory bus comprises address/control and data portions thereof.
68. The computer system of claim 52 wherein said memory bus provides address/control and data inputs to said control block to at least partially control its functionality.
69. The computer system of claim 52 wherein said control block further comprises a DMA controller for providing direct memory access operations to said memory resource.
70. The computer system of claim 69 wherein said DMA controller is fully parameterized.
71. The computer system of claim 69 wherein said DMA controller enables scatter/gather functions to be implemented.
72. The computer system of claim 69 wherein said DMA controller enables irregular data access pattern functions to be implemented.
73. The computer system of claim 69 wherein said DMA controller enables data packing functions to be implemented.
74. The computer system of claim 52 wherein said memory resource may be isolated from said memory bus in response to said control block to enable access thereto by a device coupled to said network interface.
75. The computer system of claim 52 wherein said memory resource comprises random access memory.
76. The computer system of claim 75 wherein said random access memory comprises DRAM.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/869,199 US20040236877A1 (en) | 1997-12-17 | 2004-06-16 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
EP04756356A EP1652058B1 (en) | 2003-07-11 | 2004-06-29 | Switch/network adapter port incorporating selectively accessible shared memory resources |
CA002531846A CA2531846A1 (en) | 2003-07-11 | 2004-06-29 | Switch/network adapter port incorporating selectively accessible shared memory resources |
PCT/US2004/020885 WO2005008464A1 (en) | 2003-07-11 | 2004-06-29 | Switch/network adapter port incorporating selectively accessible shared memory resources |
JP2006518715A JP2007527565A (en) | 2003-07-11 | 2004-06-29 | Switch / network adapter port with selectively accessible shared memory resources |
AU2004258478A AU2004258478A1 (en) | 2003-07-11 | 2004-06-29 | Switch/network adapter port incorporating selectively accessible shared memory resources |
AT04756356T ATE511145T1 (en) | 2003-07-11 | 2004-06-29 | SWITCH/NET ADAPTER PORT WITH SELECTIVELY ACCESSIBLE MEMORY EQUIPMENT |
US11/834,439 US7680968B2 (en) | 1997-12-17 | 2007-08-06 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/992,763 US6076152A (en) | 1997-12-17 | 1997-12-17 | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US09/481,902 US6247110B1 (en) | 1997-12-17 | 2000-01-12 | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US09/755,744 US20010014937A1 (en) | 1997-12-17 | 2001-01-05 | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US09/932,330 US7373440B2 (en) | 1997-12-17 | 2001-08-17 | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
US10/340,390 US7197575B2 (en) | 1997-12-17 | 2003-01-10 | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers |
US10/618,041 US7424552B2 (en) | 1997-12-17 | 2003-07-11 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices |
US10/869,199 US20040236877A1 (en) | 1997-12-17 | 2004-06-16 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/618,041 Continuation-In-Part US7424552B2 (en) | 1997-12-17 | 2003-07-11 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/834,439 Division US7680968B2 (en) | 1997-12-17 | 2007-08-06 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040236877A1 true US20040236877A1 (en) | 2004-11-25 |
Family
ID=34083689
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/869,199 Abandoned US20040236877A1 (en) | 1997-12-17 | 2004-06-16 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
US11/834,439 Expired - Fee Related US7680968B2 (en) | 1997-12-17 | 2007-08-06 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/834,439 Expired - Fee Related US7680968B2 (en) | 1997-12-17 | 2007-08-06 | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
Country Status (6)
Country | Link |
---|---|
US (2) | US20040236877A1 (en) |
EP (1) | EP1652058B1 (en) |
JP (1) | JP2007527565A (en) |
AU (1) | AU2004258478A1 (en) |
CA (1) | CA2531846A1 (en) |
WO (1) | WO2005008464A1 (en) |
Cited By (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040263524A1 (en) * | 2003-06-27 | 2004-12-30 | Lippincott Louis A. | Memory command handler for use in an image signal processor having a data driven architecture |
US20050259504A1 (en) * | 2004-05-21 | 2005-11-24 | Paul Murtugh | DRAM interface circuits having enhanced skew, slew rate and impedance control |
US20060020740A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines Corporation | Multi-node architecture with daisy chain communication link configurable to operate in unidirectional and bidirectional modes |
US20060050489A1 (en) * | 2004-09-03 | 2006-03-09 | Staktek Group L.P. | Optimized mounting area circuit module system and method |
US20060090102A1 (en) * | 2004-09-03 | 2006-04-27 | Wehrly James D Jr | Circuit module with thermal casing systems and methods |
US20060091529A1 (en) * | 2004-09-03 | 2006-05-04 | Staktek Group L.P. | High capacity thin module system and method |
US20060095592A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels |
KR100588599B1 (en) * | 2005-05-03 | 2006-06-14 | 삼성전자주식회사 | Memory module and memory system |
US20060129888A1 (en) * | 2004-09-03 | 2006-06-15 | Staktek Group L.P. | Circuit module turbulence enhacement systems and methods |
US20060125067A1 (en) * | 2004-09-03 | 2006-06-15 | Staktek Group L.P. | Flex circuit constructions for high capacity circuit module systems and methods |
US20060136606A1 (en) * | 2004-11-19 | 2006-06-22 | Guzy D J | Logic device comprising reconfigurable core logic for use in conjunction with microprocessor-based computer systems |
US20060200597A1 (en) * | 2005-03-03 | 2006-09-07 | Christenson Bruce A | Method, system, and apparatus for memory controller utilization of an AMB write FIFO to improve FBD memory channel efficiency |
US20060227627A1 (en) * | 2005-03-03 | 2006-10-12 | Georg Braun | Buffer component for a memory module, and a memory module and a memory system having such buffer component |
US20070111606A1 (en) * | 2004-09-03 | 2007-05-17 | Staktek Group L.P., A Texas Limited Partnership | Buffered Thin Module System and Method |
WO2007061482A2 (en) * | 2005-11-16 | 2007-05-31 | Montage Technology Group, Ltd | Memory interface to bridge memory buses |
US20070198720A1 (en) * | 2006-02-17 | 2007-08-23 | Neteffect, Inc. | Method and apparatus for a interfacing device drivers to a single multi-function adapter |
US20070239906A1 (en) * | 2006-03-13 | 2007-10-11 | Vakil Kersi H | Input/output agent having multiple secondary ports |
US20070300104A1 (en) * | 2006-06-02 | 2007-12-27 | Thayer Larry J | Bit error rate reduction buffer |
US7324352B2 (en) * | 2004-09-03 | 2008-01-29 | Staktek Group L.P. | High capacity thin module system and method |
US20080024168A1 (en) * | 2005-11-16 | 2008-01-31 | Montage Technology Group, Ltd | High speed transceiver with low power consumption |
US20080082732A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US20080082766A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Systems and apparatus with programmable memory control for heterogeneous main memory |
US20080082734A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US20080082733A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Methods for main memory with non-volatile type memory modules, and related technologies |
US20080082751A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Memory modules and programmable heterogeneous memory controllers for main memory |
US20080082731A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
US20080094808A1 (en) * | 2006-10-23 | 2008-04-24 | Ruban Kanapathippillai | Methods and apparatus of dual inline memory modules for flash memory |
US20080104456A1 (en) * | 2006-10-31 | 2008-05-01 | Advanced Micro Devices, Inc. | Memory system including asymmetric high-speed differential memory interconnect |
US20080104352A1 (en) * | 2006-10-31 | 2008-05-01 | Advanced Micro Devices, Inc. | Memory system including a high-speed serial buffer |
US20080133864A1 (en) * | 2006-12-01 | 2008-06-05 | Jonathan Randall Hinkle | Apparatus, system, and method for caching fully buffered memory |
US20080147897A1 (en) * | 2006-10-31 | 2008-06-19 | Advanced Micro Devices, Inc. | Memory controller including a dual-mode memory interconnect |
US7442050B1 (en) | 2005-08-29 | 2008-10-28 | Netlist, Inc. | Circuit card with flexible connection for memory module with heat spreader |
US7480152B2 (en) * | 2004-09-03 | 2009-01-20 | Entorian Technologies, Lp | Thin module system and method |
WO2009020671A2 (en) * | 2007-03-07 | 2009-02-12 | Aprius Inc. | High-speed optical connection between central processing unit and remotely located random access memory |
US20090063731A1 (en) * | 2007-09-05 | 2009-03-05 | Gower Kevin C | Method for Supporting Partial Cache Line Read and Write Operations to a Memory Module to Reduce Read and Write Data Traffic on a Memory Channel |
US20090063730A1 (en) * | 2007-08-31 | 2009-03-05 | Gower Kevin C | System for Supporting Partial Cache Line Write Operations to a Memory Module to Reduce Write Data Traffic on a Memory Channel |
US20090083472A1 (en) * | 2007-09-24 | 2009-03-26 | Bandholz Justin P | Design structure for a memory switching data processing system |
US20090083529A1 (en) * | 2007-09-24 | 2009-03-26 | International Business Machines Corporation | Memory Switching Data Processing System |
US7571267B1 (en) | 2006-03-27 | 2009-08-04 | Integrated Device Technology, Inc. | Core clock alignment circuits that utilize clock phase learning operations to achieve accurate clocking of data derived from serial data streams having different relative skews |
DE102005059780B4 (en) * | 2004-12-17 | 2009-08-13 | Samsung Electronics Co., Ltd., Suwon | A memory center device, fully buffered memory module and memory module system and method for monitoring a dynamic temperature of a semiconductor memory |
US20090210616A1 (en) * | 2008-02-12 | 2009-08-20 | Vijay Karamcheti | Memory modules for two-dimensional main memory |
US20090254689A1 (en) * | 2008-02-12 | 2009-10-08 | Vijay Karamcheti | Methods and apparatus for two-dimensional main memory |
US7619893B1 (en) | 2006-02-17 | 2009-11-17 | Netlist, Inc. | Heat spreader for electronic modules |
US7630202B2 (en) | 2004-04-09 | 2009-12-08 | Netlist, Inc. | High density module having at least two substrates and at least one thermally conductive layer therebetween |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US20100169725A1 (en) * | 2008-12-31 | 2010-07-01 | Samsung Electronics Co., Ltd. | Memory module tester |
US7760513B2 (en) | 2004-09-03 | 2010-07-20 | Entorian Technologies Lp | Modified core for circuit module system and method |
US7770077B2 (en) | 2008-01-24 | 2010-08-03 | International Business Machines Corporation | Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem |
US7768796B2 (en) | 2004-09-03 | 2010-08-03 | Entorian Technologies L.P. | Die module system |
US7818497B2 (en) | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US7840748B2 (en) | 2007-08-31 | 2010-11-23 | International Business Machines Corporation | Buffered memory module with multiple memory device data interface ports supporting double the memory capacity |
US7861014B2 (en) | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US7865674B2 (en) | 2007-08-31 | 2011-01-04 | International Business Machines Corporation | System for enhancing the memory bandwidth available through a memory module |
US7899983B2 (en) | 2007-08-31 | 2011-03-01 | International Business Machines Corporation | Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module |
US7925825B2 (en) | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to support a full asynchronous interface within a memory hub device |
US7925824B2 (en) | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency |
US7925826B2 (en) | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency |
US7930469B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US7930470B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller |
US7931582B2 (en) | 2000-02-11 | 2011-04-26 | Obtech Medical Ag | Controlled impotence treatment |
US20110099243A1 (en) * | 2006-01-19 | 2011-04-28 | Keels Kenneth G | Apparatus and method for in-line insertion and removal of markers |
US7937447B1 (en) * | 2004-07-22 | 2011-05-03 | Xsigo Systems | Communication between computer systems over an input/output (I/O) bus |
US7990746B2 (en) | 2005-06-24 | 2011-08-02 | Google Inc. | Method and circuit for configuring memory core integrated circuit dies with memory interface integrated circuit dies |
US8019589B2 (en) | 2006-07-31 | 2011-09-13 | Google Inc. | Memory apparatus operable to perform a power-saving operation |
US8018723B1 (en) | 2008-04-30 | 2011-09-13 | Netlist, Inc. | Heat dissipation for electronic modules |
US8019919B2 (en) | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8082482B2 (en) | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US8086936B2 (en) | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8122207B2 (en) | 2006-07-31 | 2012-02-21 | Google Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8140936B2 (en) | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
US8181048B2 (en) | 2006-07-31 | 2012-05-15 | Google Inc. | Performing power management operations |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8213205B2 (en) | 2005-09-02 | 2012-07-03 | Google Inc. | Memory system including multiple memory stacks |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8271694B2 (en) | 2006-02-17 | 2012-09-18 | Intel-Ne, Inc. | Method and apparatus for using a single multi-function adapter with different operating systems |
US8280714B2 (en) | 2006-07-31 | 2012-10-02 | Google Inc. | Memory circuit simulation system and method with refresh capabilities |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8417873B1 (en) | 2008-06-24 | 2013-04-09 | Virident Systems, Inc. | Random read and read/write block accessible memory |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8509894B2 (en) | 2008-10-10 | 2013-08-13 | Milux Holding Sa | Heart help device, system, and method |
US8545384B2 (en) | 1999-08-12 | 2013-10-01 | Obtech Medical Ag | Anal incontinence disease treatment with controlled wireless energy supply |
US8556796B2 (en) | 2000-02-10 | 2013-10-15 | Obtech Medical Ag | Controlled urinary incontinence treatment |
US8566516B2 (en) | 2006-07-31 | 2013-10-22 | Google Inc. | Refresh management of memory modules |
US20130282971A1 (en) * | 2012-04-24 | 2013-10-24 | Hon Hai Precision Industry Co., Ltd. | Computing system and data transmission method |
US8600510B2 (en) | 2008-10-10 | 2013-12-03 | Milux Holding Sa | Apparatus, system and operation method for the treatment of female sexual dysfunction |
US8602966B2 (en) | 2000-02-10 | 2013-12-10 | Obtech Medical, AG | Mechanical impotence treatment apparatus |
US8636809B2 (en) | 2008-01-29 | 2014-01-28 | Milux Holding Sa | Device for treating obesity |
US8678997B2 (en) | 2000-02-14 | 2014-03-25 | Obtech Medical Ag | Male impotence prosthesis apparatus with wireless energy supply |
US8696745B2 (en) | 2008-10-10 | 2014-04-15 | Kirk Promotion Ltd. | Heart help device, system, and method |
US8734318B2 (en) | 2000-02-11 | 2014-05-27 | Obtech Medical Ag | Mechanical anal incontinence |
US8764627B2 (en) | 2000-02-14 | 2014-07-01 | Obtech Medical Ag | Penile prosthesis |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8874215B2 (en) | 2008-10-10 | 2014-10-28 | Peter Forsell | System, an apparatus, and a method for treating a sexual dysfunctional female patient |
US8943242B1 (en) | 2012-03-30 | 2015-01-27 | Integrated Device Technology Inc. | Timing controllers having partitioned pipelined delay chains therein |
US8949519B2 (en) | 2005-06-24 | 2015-02-03 | Google Inc. | Simulating a memory circuit |
US8961448B2 (en) | 2008-01-28 | 2015-02-24 | Peter Forsell | Implantable drainage device |
US9083550B2 (en) | 2012-10-29 | 2015-07-14 | Oracle International Corporation | Network virtualization over infiniband |
US9141541B2 (en) | 2013-09-20 | 2015-09-22 | Advanced Micro Devices, Inc. | Nested channel address interleaving |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US20160048477A1 (en) * | 2014-08-17 | 2016-02-18 | Mikhael Lerman | Netmory |
US9331963B2 (en) | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
US9542353B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US9813283B2 (en) | 2005-08-09 | 2017-11-07 | Oracle International Corporation | Efficient data transfer between servers and remote peripherals |
US9921896B2 (en) | 2007-08-30 | 2018-03-20 | Virident Systems, Llc | Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system |
US9949812B2 (en) | 2009-07-17 | 2018-04-24 | Peter Forsell | Vaginal operation method for the treatment of anal incontinence in women |
US9973446B2 (en) | 2009-08-20 | 2018-05-15 | Oracle International Corporation | Remote shared server peripherals over an Ethernet network for resource virtualization |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
US9983797B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Memory server with read writeable non-volatile memory |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US10095421B2 (en) | 2016-10-21 | 2018-10-09 | Advanced Micro Devices, Inc. | Hybrid memory module bridge network and buffers |
US10219898B2 (en) | 2008-10-10 | 2019-03-05 | Peter Forsell | Artificial valve |
US10952836B2 (en) | 2009-07-17 | 2021-03-23 | Peter Forsell | Vaginal operation method for the treatment of urinary incontinence in women |
US11123171B2 (en) | 2008-10-10 | 2021-09-21 | Peter Forsell | Fastening means for implantable medical control assembly |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005006831A1 (en) * | 2005-02-15 | 2006-08-17 | Infineon Technologies Ag | Semiconductor memory module to improve signal integrity |
FR2882857B1 (en) * | 2005-03-04 | 2007-04-13 | Bull Sa Sa | CONNECTING DEVICE FOR CONNECTING A MAIN CARD WITH A MEMORY CARD OF THE TYPE OF TWO SERIES OF MEMORY MODULES |
DE102006005432A1 (en) * | 2006-02-07 | 2007-08-09 | Keynote Sigos Gmbh | Adapter module for preparing data link between computer and plug-in card, has power supply unit connected with function plug-in card for power supply through card interface |
US7791974B2 (en) * | 2008-03-31 | 2010-09-07 | Intel Corporation | Recovery of existing SRAM capacity from fused-out blocks |
US7886103B2 (en) * | 2008-09-08 | 2011-02-08 | Cisco Technology, Inc. | Input-output module, processing platform and method for extending a memory interface for input-output operations |
CN101692173B (en) * | 2009-10-16 | 2011-11-23 | 北京联合大学生物化学工程学院 | Serial memory circuit shared by two singlechips |
US20120117318A1 (en) * | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
US8656213B2 (en) | 2011-05-24 | 2014-02-18 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations and error recovery firmware path |
US8495259B2 (en) * | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware chains to select performance path |
US8793462B2 (en) | 2011-05-24 | 2014-07-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with enhanced resource pool allocation |
US8868828B2 (en) | 2011-05-24 | 2014-10-21 | International Business Machines Corporation | Implementing storage adapter performance optimization with cache data/directory mirroring |
US8544029B2 (en) | 2011-05-24 | 2013-09-24 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions |
US8886881B2 (en) | 2011-05-24 | 2014-11-11 | International Business Machines Corporation | Implementing storage adapter performance optimization with parity update footprint mirroring |
US8516164B2 (en) * | 2011-05-24 | 2013-08-20 | International Business Machines Corporation | Implementing storage adapter performance optimization with enhanced hardware and software interface |
US8495258B2 (en) * | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA |
US8972667B2 (en) | 2011-06-28 | 2015-03-03 | International Business Machines Corporation | Exchanging data between memory controllers |
WO2013028854A1 (en) | 2011-08-24 | 2013-02-28 | Rambus Inc. | Methods and systems for mapping a peripheral function onto a legacy memory interface |
US11048410B2 (en) | 2011-08-24 | 2021-06-29 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
US9098209B2 (en) | 2011-08-24 | 2015-08-04 | Rambus Inc. | Communication via a memory interface |
US20130157639A1 (en) | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
US9424214B2 (en) * | 2012-09-28 | 2016-08-23 | Mellanox Technologies Ltd. | Network interface controller with direct connection to host memory |
US9092364B2 (en) | 2012-10-04 | 2015-07-28 | International Business Machines Corporation | Implementing storage adapter performance control |
US9648081B2 (en) | 2014-04-10 | 2017-05-09 | Mellanox Technologies, Ltd. | Network-attached memory |
US9153311B1 (en) | 2014-05-27 | 2015-10-06 | SRC Computers, LLC | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers |
US9530483B2 (en) | 2014-05-27 | 2016-12-27 | Src Labs, Llc | System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |
US9996498B2 (en) | 2015-09-08 | 2018-06-12 | Mellanox Technologies, Ltd. | Network memory |
US10193248B2 (en) | 2016-08-31 | 2019-01-29 | Crystal Group, Inc. | System and method for retaining memory modules |
US10734756B2 (en) | 2018-08-10 | 2020-08-04 | Crystal Group Inc. | DIMM/expansion card retention method for highly kinematic environments |
Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US4972457A (en) * | 1989-01-19 | 1990-11-20 | Spectrum Information Technologies, Inc. | Portable hybrid communication system and methods |
US5052134A (en) * | 1989-10-25 | 1991-10-01 | Bierwith Robert S | Tooth mounting apparatus for excavation bucket |
US5230057A (en) * | 1988-09-19 | 1993-07-20 | Fujitsu Limited | Simd system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers |
US5295246A (en) * | 1990-11-30 | 1994-03-15 | International Business Machines Corporation | Bidirectional FIFO buffer for interfacing between two buses of a multitasking system |
US5452700A (en) * | 1993-05-21 | 1995-09-26 | Fuji Jukogyo Kabushiki Kaisha | Driving circuit of a fuel injector for an engine and the control method thereof |
US5673204A (en) * | 1995-07-06 | 1997-09-30 | Sun Microsystems, Inc. | Loopback video preview for a computer display |
US5889959A (en) * | 1996-01-05 | 1999-03-30 | Unisys Corporation | Fast write initialization method and system for loading channel adapter microcode |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5903771A (en) * | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US5915104A (en) * | 1997-01-09 | 1999-06-22 | Silicon Graphics, Inc. | High bandwidth PCI to packet switched router bridge having minimized memory latency |
US5923682A (en) * | 1997-01-29 | 1999-07-13 | Micron Technology, Inc. | Error correction chip for memory applications |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6038431A (en) * | 1994-03-14 | 2000-03-14 | Matsushita Electric Industrial Co., Ltd | Card-type electronic device for adding a data communication function to an apparatus without hardware modification of the apparatus |
US6047343A (en) * | 1996-06-05 | 2000-04-04 | Compaq Computer Corporation | Method and apparatus for detecting insertion and removal of a memory module using standard connectors |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US6076152A (en) * | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US6108730A (en) * | 1998-02-27 | 2000-08-22 | International Business Machines Corporation | Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket |
US6148356A (en) * | 1995-12-27 | 2000-11-14 | Intel Corporation | Scalable computer system |
US6192439B1 (en) * | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
US6202111B1 (en) * | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6295571B1 (en) * | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
US6326973B1 (en) * | 1998-12-07 | 2001-12-04 | Compaq Computer Corporation | Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA) |
US6426879B1 (en) * | 2000-10-20 | 2002-07-30 | Mitsubishi Denki Kabushiki Kaisha | Load adjustment board and data processing apparatus |
US20020104051A1 (en) * | 2001-01-31 | 2002-08-01 | Stmicroelectronics, Inc. | Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation |
US6480014B1 (en) * | 1999-12-14 | 2002-11-12 | High Connection Density, Inc. | High density, high frequency memory chip modules having thermal management structures |
US6577621B1 (en) * | 1999-06-22 | 2003-06-10 | Ericsson Inc. | System and method for providing high-speed local telecommunications access |
US6581157B1 (en) * | 1999-04-26 | 2003-06-17 | 3Com Corporation | System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system |
US6598199B2 (en) * | 1998-12-30 | 2003-07-22 | Intel Corporation | Memory array organization |
US6633945B1 (en) * | 1997-12-07 | 2003-10-14 | Conexant Systems, Inc. | Fully connected cache coherent multiprocessing systems |
US6799252B1 (en) * | 1997-12-31 | 2004-09-28 | Unisys Corporation | High-performance modular memory system with crossbar connections |
US20050259504A1 (en) * | 2004-05-21 | 2005-11-24 | Paul Murtugh | DRAM interface circuits having enhanced skew, slew rate and impedance control |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59206972A (en) | 1983-05-10 | 1984-11-22 | Toshiba Corp | Shared memory |
JPH0821087B2 (en) | 1986-09-30 | 1996-03-04 | 日本電信電話株式会社 | Three-dimensional shadow image generation processing method |
US5265218A (en) * | 1992-05-19 | 1993-11-23 | Sun Microsystems, Inc. | Bus architecture for integrated data and video memory |
US5809555A (en) * | 1995-12-15 | 1998-09-15 | Compaq Computer Corporation | Method of determining sizes of 1:1 and 2:1 memory interleaving in a computer system, configuring to the maximum size, and informing the user if memory is incorrectly installed |
US6397316B2 (en) * | 1997-07-24 | 2002-05-28 | Intel Corporation | System for reducing bus overhead for communication with a network interface |
US7373440B2 (en) * | 1997-12-17 | 2008-05-13 | Src Computers, Inc. | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
US6052134A (en) * | 1997-12-22 | 2000-04-18 | Compaq Computer Corp. | Memory controller and method for dynamic page management |
US6452700B1 (en) * | 2001-01-11 | 2002-09-17 | R&Dm Foundation | Computer backplane employing free space optical interconnect |
-
2004
- 2004-06-16 US US10/869,199 patent/US20040236877A1/en not_active Abandoned
- 2004-06-29 EP EP04756356A patent/EP1652058B1/en not_active Not-in-force
- 2004-06-29 WO PCT/US2004/020885 patent/WO2005008464A1/en active Application Filing
- 2004-06-29 CA CA002531846A patent/CA2531846A1/en not_active Abandoned
- 2004-06-29 AU AU2004258478A patent/AU2004258478A1/en not_active Abandoned
- 2004-06-29 JP JP2006518715A patent/JP2007527565A/en not_active Withdrawn
-
2007
- 2007-08-06 US US11/834,439 patent/US7680968B2/en not_active Expired - Fee Related
Patent Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US5230057A (en) * | 1988-09-19 | 1993-07-20 | Fujitsu Limited | Simd system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers |
US4972457A (en) * | 1989-01-19 | 1990-11-20 | Spectrum Information Technologies, Inc. | Portable hybrid communication system and methods |
US5052134A (en) * | 1989-10-25 | 1991-10-01 | Bierwith Robert S | Tooth mounting apparatus for excavation bucket |
US5295246A (en) * | 1990-11-30 | 1994-03-15 | International Business Machines Corporation | Bidirectional FIFO buffer for interfacing between two buses of a multitasking system |
US5452700A (en) * | 1993-05-21 | 1995-09-26 | Fuji Jukogyo Kabushiki Kaisha | Driving circuit of a fuel injector for an engine and the control method thereof |
US6038431A (en) * | 1994-03-14 | 2000-03-14 | Matsushita Electric Industrial Co., Ltd | Card-type electronic device for adding a data communication function to an apparatus without hardware modification of the apparatus |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5673204A (en) * | 1995-07-06 | 1997-09-30 | Sun Microsystems, Inc. | Loopback video preview for a computer display |
US6148356A (en) * | 1995-12-27 | 2000-11-14 | Intel Corporation | Scalable computer system |
US5889959A (en) * | 1996-01-05 | 1999-03-30 | Unisys Corporation | Fast write initialization method and system for loading channel adapter microcode |
US5903771A (en) * | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US6047343A (en) * | 1996-06-05 | 2000-04-04 | Compaq Computer Corporation | Method and apparatus for detecting insertion and removal of a memory module using standard connectors |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5915104A (en) * | 1997-01-09 | 1999-06-22 | Silicon Graphics, Inc. | High bandwidth PCI to packet switched router bridge having minimized memory latency |
US5923682A (en) * | 1997-01-29 | 1999-07-13 | Micron Technology, Inc. | Error correction chip for memory applications |
US6202111B1 (en) * | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6633945B1 (en) * | 1997-12-07 | 2003-10-14 | Conexant Systems, Inc. | Fully connected cache coherent multiprocessing systems |
US6076152A (en) * | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US6799252B1 (en) * | 1997-12-31 | 2004-09-28 | Unisys Corporation | High-performance modular memory system with crossbar connections |
US6108730A (en) * | 1998-02-27 | 2000-08-22 | International Business Machines Corporation | Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket |
US6192439B1 (en) * | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
US6326973B1 (en) * | 1998-12-07 | 2001-12-04 | Compaq Computer Corporation | Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA) |
US6598199B2 (en) * | 1998-12-30 | 2003-07-22 | Intel Corporation | Memory array organization |
US6295571B1 (en) * | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
US6581157B1 (en) * | 1999-04-26 | 2003-06-17 | 3Com Corporation | System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system |
US6577621B1 (en) * | 1999-06-22 | 2003-06-10 | Ericsson Inc. | System and method for providing high-speed local telecommunications access |
US6480014B1 (en) * | 1999-12-14 | 2002-11-12 | High Connection Density, Inc. | High density, high frequency memory chip modules having thermal management structures |
US6426879B1 (en) * | 2000-10-20 | 2002-07-30 | Mitsubishi Denki Kabushiki Kaisha | Load adjustment board and data processing apparatus |
US20020104051A1 (en) * | 2001-01-31 | 2002-08-01 | Stmicroelectronics, Inc. | Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation |
US20050259504A1 (en) * | 2004-05-21 | 2005-11-24 | Paul Murtugh | DRAM interface circuits having enhanced skew, slew rate and impedance control |
Cited By (250)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8545384B2 (en) | 1999-08-12 | 2013-10-01 | Obtech Medical Ag | Anal incontinence disease treatment with controlled wireless energy supply |
US8556796B2 (en) | 2000-02-10 | 2013-10-15 | Obtech Medical Ag | Controlled urinary incontinence treatment |
US8602966B2 (en) | 2000-02-10 | 2013-12-10 | Obtech Medical, AG | Mechanical impotence treatment apparatus |
US8734318B2 (en) | 2000-02-11 | 2014-05-27 | Obtech Medical Ag | Mechanical anal incontinence |
US7931582B2 (en) | 2000-02-11 | 2011-04-26 | Obtech Medical Ag | Controlled impotence treatment |
US8764627B2 (en) | 2000-02-14 | 2014-07-01 | Obtech Medical Ag | Penile prosthesis |
US8678997B2 (en) | 2000-02-14 | 2014-03-25 | Obtech Medical Ag | Male impotence prosthesis apparatus with wireless energy supply |
US7088371B2 (en) * | 2003-06-27 | 2006-08-08 | Intel Corporation | Memory command handler for use in an image signal processor having a data driven architecture |
US20040263524A1 (en) * | 2003-06-27 | 2004-12-30 | Lippincott Louis A. | Memory command handler for use in an image signal processor having a data driven architecture |
US8345427B2 (en) | 2004-04-09 | 2013-01-01 | Netlist, Inc. | Module having at least two surfaces and at least one thermally conductive layer therebetween |
US7630202B2 (en) | 2004-04-09 | 2009-12-08 | Netlist, Inc. | High density module having at least two substrates and at least one thermally conductive layer therebetween |
US7839645B2 (en) | 2004-04-09 | 2010-11-23 | Netlist, Inc. | Module having at least two surfaces and at least one thermally conductive layer therebetween |
US7079446B2 (en) | 2004-05-21 | 2006-07-18 | Integrated Device Technology, Inc. | DRAM interface circuits having enhanced skew, slew rate and impedance control |
US20050259504A1 (en) * | 2004-05-21 | 2005-11-24 | Paul Murtugh | DRAM interface circuits having enhanced skew, slew rate and impedance control |
US9264384B1 (en) | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
US8677023B2 (en) | 2004-07-22 | 2014-03-18 | Oracle International Corporation | High availability and I/O aggregation for server environments |
US20060020740A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines Corporation | Multi-node architecture with daisy chain communication link configurable to operate in unidirectional and bidirectional modes |
US20070189313A1 (en) * | 2004-07-22 | 2007-08-16 | International Business Machines Corporation | Multi-node architecture with daisy chain communication link configurable to operate in unidirectional and bidirectional modes |
US7873773B2 (en) | 2004-07-22 | 2011-01-18 | International Business Machines Corporation | Multi-node architecture with daisy chain communication link configurable to operate in unidirectional and bidirectional modes |
US7937447B1 (en) * | 2004-07-22 | 2011-05-03 | Xsigo Systems | Communication between computer systems over an input/output (I/O) bus |
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 |
US7616452B2 (en) * | 2004-09-03 | 2009-11-10 | Entorian Technologies, Lp | Flex circuit constructions for high capacity circuit module systems and methods |
US20070111606A1 (en) * | 2004-09-03 | 2007-05-17 | Staktek Group L.P., A Texas Limited Partnership | Buffered Thin Module System and Method |
US20060091529A1 (en) * | 2004-09-03 | 2006-05-04 | Staktek Group L.P. | High capacity thin module system and method |
US7768796B2 (en) | 2004-09-03 | 2010-08-03 | Entorian Technologies L.P. | Die module system |
US7324352B2 (en) * | 2004-09-03 | 2008-01-29 | Staktek Group L.P. | High capacity thin module system and method |
US7760513B2 (en) | 2004-09-03 | 2010-07-20 | Entorian Technologies Lp | Modified core for circuit module system and method |
US20080030972A1 (en) * | 2004-09-03 | 2008-02-07 | Staktek Group L.P. | High Capacity Thin Module System and Method |
US7606042B2 (en) * | 2004-09-03 | 2009-10-20 | Entorian Technologies, Lp | High capacity thin module system and method |
US7511968B2 (en) * | 2004-09-03 | 2009-03-31 | Entorian Technologies, Lp | Buffered thin module system and method |
US7522425B2 (en) * | 2004-09-03 | 2009-04-21 | Entorian Technologies, Lp | High capacity thin module system and method |
US7737549B2 (en) | 2004-09-03 | 2010-06-15 | Entorian Technologies Lp | Circuit module with thermal casing systems |
US20060129888A1 (en) * | 2004-09-03 | 2006-06-15 | Staktek Group L.P. | Circuit module turbulence enhacement systems and methods |
US20060050489A1 (en) * | 2004-09-03 | 2006-03-09 | Staktek Group L.P. | Optimized mounting area circuit module system and method |
US20060125067A1 (en) * | 2004-09-03 | 2006-06-15 | Staktek Group L.P. | Flex circuit constructions for high capacity circuit module systems and methods |
US20060090102A1 (en) * | 2004-09-03 | 2006-04-27 | Wehrly James D Jr | Circuit module with thermal casing systems and methods |
US7480152B2 (en) * | 2004-09-03 | 2009-01-20 | Entorian Technologies, Lp | Thin module system and method |
US7334070B2 (en) | 2004-10-29 | 2008-02-19 | International Business Machines Corporation | Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels |
US20060095592A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels |
US20060136606A1 (en) * | 2004-11-19 | 2006-06-22 | Guzy D J | Logic device comprising reconfigurable core logic for use in conjunction with microprocessor-based computer systems |
WO2006055122A3 (en) * | 2004-11-19 | 2007-02-15 | Arbor Company Llp | Logic device comprising reconfigurable core logic for use in conjunction with microprocessor-based computer systems |
US7590020B2 (en) | 2004-12-17 | 2009-09-15 | Samsung Electronics Co., Ltd. | Semiconductor memory, semiconductor memory system and method of monitoring dynamic temperature thereof |
DE102005059780B4 (en) * | 2004-12-17 | 2009-08-13 | Samsung Electronics Co., Ltd., Suwon | A memory center device, fully buffered memory module and memory module system and method for monitoring a dynamic temperature of a semiconductor memory |
US20060200597A1 (en) * | 2005-03-03 | 2006-09-07 | Christenson Bruce A | Method, system, and apparatus for memory controller utilization of an AMB write FIFO to improve FBD memory channel efficiency |
US7646650B2 (en) | 2005-03-03 | 2010-01-12 | Infineon Technologies Ag | Buffer component for a memory module, and a memory module and a memory system having such buffer component |
US20060227627A1 (en) * | 2005-03-03 | 2006-10-12 | Georg Braun | Buffer component for a memory module, and a memory module and a memory system having such buffer component |
KR100588599B1 (en) * | 2005-05-03 | 2006-06-14 | 삼성전자주식회사 | Memory module and memory system |
US20070038831A1 (en) * | 2005-05-03 | 2007-02-15 | Hong-Kyun Kim | Memory module and memory system |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8386833B2 (en) | 2005-06-24 | 2013-02-26 | Google Inc. | Memory systems and memory modules |
US8773937B2 (en) | 2005-06-24 | 2014-07-08 | Google Inc. | Memory refresh apparatus and method |
US7990746B2 (en) | 2005-06-24 | 2011-08-02 | Google Inc. | Method and circuit for configuring memory core integrated circuit dies with memory interface integrated circuit dies |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8949519B2 (en) | 2005-06-24 | 2015-02-03 | Google Inc. | Simulating a memory circuit |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US8615679B2 (en) | 2005-06-24 | 2013-12-24 | Google Inc. | Memory modules with reliability and serviceability functions |
US9813283B2 (en) | 2005-08-09 | 2017-11-07 | Oracle International Corporation | Efficient data transfer between servers and remote peripherals |
US8033836B1 (en) | 2005-08-29 | 2011-10-11 | Netlist, Inc. | Circuit with flexible portion |
US8864500B1 (en) | 2005-08-29 | 2014-10-21 | Netlist, Inc. | Electronic module with flexible portion |
US7811097B1 (en) | 2005-08-29 | 2010-10-12 | Netlist, Inc. | Circuit with flexible portion |
US7442050B1 (en) | 2005-08-29 | 2008-10-28 | Netlist, Inc. | Circuit card with flexible connection for memory module with heat spreader |
US8582339B2 (en) | 2005-09-02 | 2013-11-12 | Google Inc. | System including memory stacks |
US8811065B2 (en) | 2005-09-02 | 2014-08-19 | Google Inc. | Performing error detection on DRAMs |
US8619452B2 (en) | 2005-09-02 | 2013-12-31 | Google Inc. | Methods and apparatus of stacking DRAMs |
US8213205B2 (en) | 2005-09-02 | 2012-07-03 | Google Inc. | Memory system including multiple memory stacks |
WO2007061482A2 (en) * | 2005-11-16 | 2007-05-31 | Montage Technology Group, Ltd | Memory interface to bridge memory buses |
US20070162670A1 (en) * | 2005-11-16 | 2007-07-12 | Montage Technology Group, Ltd | Memory interface to bridge memory buses |
WO2007061482A3 (en) * | 2005-11-16 | 2009-04-16 | Montage Technology Group Ltd | Memory interface to bridge memory buses |
US20080024168A1 (en) * | 2005-11-16 | 2008-01-31 | Montage Technology Group, Ltd | High speed transceiver with low power consumption |
US7577039B2 (en) | 2005-11-16 | 2009-08-18 | Montage Technology Group, Ltd. | Memory interface to bridge memory buses |
US20110099243A1 (en) * | 2006-01-19 | 2011-04-28 | Keels Kenneth G | Apparatus and method for in-line insertion and removal of markers |
US9276993B2 (en) | 2006-01-19 | 2016-03-01 | Intel-Ne, Inc. | Apparatus and method for in-line insertion and removal of markers |
US8699521B2 (en) | 2006-01-19 | 2014-04-15 | Intel-Ne, Inc. | Apparatus and method for in-line insertion and removal of markers |
US9727458B2 (en) | 2006-02-09 | 2017-08-08 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US8797779B2 (en) | 2006-02-09 | 2014-08-05 | Google Inc. | Memory module with memory stack and interface with enhanced capabilites |
US8566556B2 (en) | 2006-02-09 | 2013-10-22 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US9542353B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US7839643B1 (en) | 2006-02-17 | 2010-11-23 | Netlist, Inc. | Heat spreader for memory modules |
US8489778B2 (en) | 2006-02-17 | 2013-07-16 | Intel-Ne, Inc. | Method and apparatus for using a single multi-function adapter with different operating systems |
US7619893B1 (en) | 2006-02-17 | 2009-11-17 | Netlist, Inc. | Heat spreader for electronic modules |
US8271694B2 (en) | 2006-02-17 | 2012-09-18 | Intel-Ne, Inc. | Method and apparatus for using a single multi-function adapter with different operating systems |
US8316156B2 (en) * | 2006-02-17 | 2012-11-20 | Intel-Ne, Inc. | Method and apparatus for interfacing device drivers to single multi-function adapter |
US8488325B1 (en) * | 2006-02-17 | 2013-07-16 | Netlist, Inc. | Memory module having thermal conduits |
US20070198720A1 (en) * | 2006-02-17 | 2007-08-23 | Neteffect, Inc. | Method and apparatus for a interfacing device drivers to a single multi-function adapter |
US20070239906A1 (en) * | 2006-03-13 | 2007-10-11 | Vakil Kersi H | Input/output agent having multiple secondary ports |
US7571267B1 (en) | 2006-03-27 | 2009-08-04 | Integrated Device Technology, Inc. | Core clock alignment circuits that utilize clock phase learning operations to achieve accurate clocking of data derived from serial data streams having different relative skews |
US7783935B2 (en) * | 2006-06-02 | 2010-08-24 | Hewlett-Packard Development Company, L.P. | Bit error rate reduction buffer |
US20100275098A1 (en) * | 2006-06-02 | 2010-10-28 | Thayer Larry J | Bit error rate reduction buffer, method and apparatus |
US9298668B2 (en) | 2006-06-02 | 2016-03-29 | Hewlett Packard Enterprise Development Lp | Bit error rate reduction buffer, method and apparatus |
US20070300104A1 (en) * | 2006-06-02 | 2007-12-27 | Thayer Larry J | Bit error rate reduction buffer |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8671244B2 (en) | 2006-07-31 | 2014-03-11 | Google Inc. | Simulating a memory standard |
US8340953B2 (en) | 2006-07-31 | 2012-12-25 | Google, Inc. | Memory circuit simulation with power saving capabilities |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8280714B2 (en) | 2006-07-31 | 2012-10-02 | Google Inc. | Memory circuit simulation system and method with refresh capabilities |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8181048B2 (en) | 2006-07-31 | 2012-05-15 | Google Inc. | Performing power management operations |
US8407412B2 (en) | 2006-07-31 | 2013-03-26 | Google Inc. | Power management of memory circuits by virtual memory simulation |
US8154935B2 (en) | 2006-07-31 | 2012-04-10 | Google Inc. | Delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US8566516B2 (en) | 2006-07-31 | 2013-10-22 | Google Inc. | Refresh management of memory modules |
US9047976B2 (en) | 2006-07-31 | 2015-06-02 | Google Inc. | Combined signal delay and power saving for use with a plurality of memory circuits |
US8122207B2 (en) | 2006-07-31 | 2012-02-21 | Google Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8112266B2 (en) | 2006-07-31 | 2012-02-07 | Google Inc. | Apparatus for simulating an aspect of a memory circuit |
US8019589B2 (en) | 2006-07-31 | 2011-09-13 | Google Inc. | Memory apparatus operable to perform a power-saving operation |
US8972673B2 (en) | 2006-07-31 | 2015-03-03 | Google Inc. | Power management of memory circuits by virtual memory simulation |
US8868829B2 (en) | 2006-07-31 | 2014-10-21 | Google Inc. | Memory circuit system and method |
US8595419B2 (en) | 2006-07-31 | 2013-11-26 | Google Inc. | Memory apparatus operable to perform a power-saving operation |
US8601204B2 (en) | 2006-07-31 | 2013-12-03 | Google Inc. | Simulating a refresh operation latency |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8631220B2 (en) | 2006-07-31 | 2014-01-14 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8667312B2 (en) | 2006-07-31 | 2014-03-04 | Google Inc. | Performing power management operations |
US8745321B2 (en) | 2006-07-31 | 2014-06-03 | Google Inc. | Simulating a memory standard |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US20080082733A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Methods for main memory with non-volatile type memory modules, and related technologies |
US7761624B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US20080082751A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Memory modules and programmable heterogeneous memory controllers for main memory |
US7761623B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US8051253B2 (en) | 2006-09-28 | 2011-11-01 | Virident Systems, Inc. | Systems and apparatus with programmable memory control for heterogeneous main memory |
US20100274956A1 (en) * | 2006-09-28 | 2010-10-28 | Vijay Karamcheti | Systems and apparatus for main memory |
US20100274957A1 (en) * | 2006-09-28 | 2010-10-28 | Vijay Karamcheti | System and apparatus with a memory controller configured to control access to randomly accessible non-volatile memory |
US20100274958A1 (en) * | 2006-09-28 | 2010-10-28 | Vijay Karamcheti | Methods of assembly of a computer system with randomly accessible non-volatile memory |
US20100274959A1 (en) * | 2006-09-28 | 2010-10-28 | Vijay Karamcheti | Methods for main memory with non-volatile type memory modules |
US8074022B2 (en) | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
US20080082731A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US8364867B2 (en) | 2006-09-28 | 2013-01-29 | Virident Systems, Inc. | Systems and apparatus for main memory |
US20080082732A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US20080082766A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Systems and apparatus with programmable memory control for heterogeneous main memory |
US8370548B2 (en) | 2006-09-28 | 2013-02-05 | Virident Systems, Inc. | Methods of assembly of a computer system with randomly accessible non-volatile memory |
US7761625B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
US8380898B2 (en) | 2006-09-28 | 2013-02-19 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules |
US20080082734A1 (en) * | 2006-09-28 | 2008-04-03 | Vijay Karamcheti | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US8370547B2 (en) | 2006-09-28 | 2013-02-05 | Virident Systems, Inc. | System and apparatus with a memory controller configured to control access to randomly accessible non-volatile memory |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
US7761626B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US9983797B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Memory server with read writeable non-volatile memory |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8751732B2 (en) | 2006-10-05 | 2014-06-10 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8977806B1 (en) | 2006-10-05 | 2015-03-10 | Google Inc. | Hybrid memory module |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8370566B2 (en) | 2006-10-05 | 2013-02-05 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8189328B2 (en) * | 2006-10-23 | 2012-05-29 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
US9336835B2 (en) * | 2006-10-23 | 2016-05-10 | Virident Systems, Inc. | Flash dual inline memory modules with multiplexing support circuits |
US20140071610A1 (en) * | 2006-10-23 | 2014-03-13 | Ruban Kanapathippillai | Multi-chip packaged flash memory/support application specific integrated circuit for flash dual inline memory modules |
US8881389B2 (en) | 2006-10-23 | 2014-11-11 | Virident Systems, Inc. | Methods of flash dual inline memory modules with flash memory |
US20080094808A1 (en) * | 2006-10-23 | 2008-04-24 | Ruban Kanapathippillai | Methods and apparatus of dual inline memory modules for flash memory |
US9905303B2 (en) | 2006-10-23 | 2018-02-27 | Virident Systems, Llc | Front/back control of integrated circuits for flash dual inline memory modules |
US9318156B2 (en) * | 2006-10-23 | 2016-04-19 | Virident Systems, Inc. | Multi-chip packaged flash memory/support application specific integrated circuit for flash dual inline memory modules |
US8019907B2 (en) | 2006-10-31 | 2011-09-13 | Globalfoundries Inc. | Memory controller including a dual-mode memory interconnect |
JP2010508599A (en) * | 2006-10-31 | 2010-03-18 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Memory system with high-speed serial buffer |
GB2456098B (en) * | 2006-10-31 | 2011-11-09 | Advanced Micro Devices Inc | Memory system including a high-speed serial buffer |
US20080147897A1 (en) * | 2006-10-31 | 2008-06-19 | Advanced Micro Devices, Inc. | Memory controller including a dual-mode memory interconnect |
US20080104456A1 (en) * | 2006-10-31 | 2008-05-01 | Advanced Micro Devices, Inc. | Memory system including asymmetric high-speed differential memory interconnect |
US20080104352A1 (en) * | 2006-10-31 | 2008-05-01 | Advanced Micro Devices, Inc. | Memory system including a high-speed serial buffer |
GB2456098A (en) * | 2006-10-31 | 2009-07-08 | Advanced Micro Devices Inc | Memory system including a high speed serial buffer |
WO2008054694A1 (en) * | 2006-10-31 | 2008-05-08 | Advanced Micro Devices, Inc. | Memory system including a high-speed serial buffer |
US7694031B2 (en) | 2006-10-31 | 2010-04-06 | Globalfoundries Inc. | Memory controller including a dual-mode memory interconnect |
US7861140B2 (en) | 2006-10-31 | 2010-12-28 | Globalfoundries Inc. | Memory system including asymmetric high-speed differential memory interconnect |
US20100228891A1 (en) * | 2006-10-31 | 2010-09-09 | Talbot Gerald R | Memory controller including a dual-mode memory interconnect |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8446781B1 (en) | 2006-11-13 | 2013-05-21 | Google Inc. | Multi-rank partial width memory modules |
US8760936B1 (en) | 2006-11-13 | 2014-06-24 | Google Inc. | Multi-rank partial width memory modules |
US20080133864A1 (en) * | 2006-12-01 | 2008-06-05 | Jonathan Randall Hinkle | Apparatus, system, and method for caching fully buffered memory |
WO2009020671A2 (en) * | 2007-03-07 | 2009-02-12 | Aprius Inc. | High-speed optical connection between central processing unit and remotely located random access memory |
WO2009020671A3 (en) * | 2007-03-07 | 2009-03-19 | Aprius Inc | High-speed optical connection between central processing unit and remotely located random access memory |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US9921896B2 (en) | 2007-08-30 | 2018-03-20 | Virident Systems, Llc | Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system |
US8086936B2 (en) | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US20090063730A1 (en) * | 2007-08-31 | 2009-03-05 | Gower Kevin C | System for Supporting Partial Cache Line Write Operations to a Memory Module to Reduce Write Data Traffic on a Memory Channel |
US7899983B2 (en) | 2007-08-31 | 2011-03-01 | International Business Machines Corporation | Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module |
US7865674B2 (en) | 2007-08-31 | 2011-01-04 | International Business Machines Corporation | System for enhancing the memory bandwidth available through a memory module |
US8082482B2 (en) | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US7584308B2 (en) | 2007-08-31 | 2009-09-01 | International Business Machines Corporation | System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel |
US7840748B2 (en) | 2007-08-31 | 2010-11-23 | International Business Machines Corporation | Buffered memory module with multiple memory device data interface ports supporting double the memory capacity |
US7861014B2 (en) | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US7818497B2 (en) | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US8019919B2 (en) | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
US20090063731A1 (en) * | 2007-09-05 | 2009-03-05 | Gower Kevin C | Method for Supporting Partial Cache Line Read and Write Operations to a Memory Module to Reduce Read and Write Data Traffic on a Memory Channel |
US7558887B2 (en) | 2007-09-05 | 2009-07-07 | International Business Machines Corporation | Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US20090083529A1 (en) * | 2007-09-24 | 2009-03-26 | International Business Machines Corporation | Memory Switching Data Processing System |
US20090083472A1 (en) * | 2007-09-24 | 2009-03-26 | Bandholz Justin P | Design structure for a memory switching data processing system |
US7945740B2 (en) * | 2007-09-24 | 2011-05-17 | International Business Machines Corporation | Structure for a memory switching data processing system |
US7937537B2 (en) * | 2007-09-24 | 2011-05-03 | International Business Machines Corporation | Memory switching data processing system |
US8675429B1 (en) | 2007-11-16 | 2014-03-18 | Google Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8730670B1 (en) | 2007-12-18 | 2014-05-20 | Google Inc. | Embossed heat spreader |
US8705240B1 (en) | 2007-12-18 | 2014-04-22 | Google Inc. | Embossed heat spreader |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US7930470B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller |
US7930469B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US7925826B2 (en) | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency |
US7770077B2 (en) | 2008-01-24 | 2010-08-03 | International Business Machines Corporation | Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem |
US7925824B2 (en) | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency |
US8140936B2 (en) | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US7925825B2 (en) | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to support a full asynchronous interface within a memory hub device |
US20150157836A1 (en) * | 2008-01-28 | 2015-06-11 | Peter Mats Forsell | Implantable drainage device |
US8961448B2 (en) | 2008-01-28 | 2015-02-24 | Peter Forsell | Implantable drainage device |
US9694165B2 (en) * | 2008-01-28 | 2017-07-04 | Peter Mats Forsell | Implantable drainage device |
US9060771B2 (en) | 2008-01-29 | 2015-06-23 | Peter Forsell | Method and instrument for treating obesity |
US8636809B2 (en) | 2008-01-29 | 2014-01-28 | Milux Holding Sa | Device for treating obesity |
US20090210616A1 (en) * | 2008-02-12 | 2009-08-20 | Vijay Karamcheti | Memory modules for two-dimensional main memory |
US8806116B2 (en) | 2008-02-12 | 2014-08-12 | Virident Systems, Inc. | Memory modules for two-dimensional main memory |
US20090254689A1 (en) * | 2008-02-12 | 2009-10-08 | Vijay Karamcheti | Methods and apparatus for two-dimensional main memory |
US20090210636A1 (en) * | 2008-02-12 | 2009-08-20 | Vijay Karamcheti | Methods and systems for two-dimensional main memory |
US8856464B2 (en) | 2008-02-12 | 2014-10-07 | Virident Systems, Inc. | Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices |
US9251899B2 (en) | 2008-02-12 | 2016-02-02 | Virident Systems, Inc. | Methods for upgrading main memory in computer systems to two-dimensional memory modules and master memory controllers |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8631193B2 (en) | 2008-02-21 | 2014-01-14 | Google Inc. | Emulation of abstracted DIMMS using abstracted DRAMS |
US8705239B1 (en) | 2008-04-30 | 2014-04-22 | Netlist, Inc. | Heat dissipation for electronic modules |
US8018723B1 (en) | 2008-04-30 | 2011-09-13 | Netlist, Inc. | Heat dissipation for electronic modules |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8762675B2 (en) | 2008-06-23 | 2014-06-24 | Google Inc. | Memory system for synchronous data transmission |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
US10156890B2 (en) | 2008-06-24 | 2018-12-18 | Virident Systems, Llc | Network computer systems with power management |
US8521967B1 (en) | 2008-06-24 | 2013-08-27 | Virident Systems, Inc. | Network computing systems having shared memory clouds with addresses of disk-read-only memories mapped into processor address spaces |
US8417873B1 (en) | 2008-06-24 | 2013-04-09 | Virident Systems, Inc. | Random read and read/write block accessible memory |
US8745314B1 (en) | 2008-06-24 | 2014-06-03 | Virident Systems, Inc. | Methods for a random read and read/write block accessible memory |
US8819356B2 (en) | 2008-07-25 | 2014-08-26 | Google Inc. | Configurable multirank memory system with interface circuit |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US9072907B2 (en) | 2008-10-10 | 2015-07-07 | Peter Forsell | Heart help device, system, and method |
US8696745B2 (en) | 2008-10-10 | 2014-04-15 | Kirk Promotion Ltd. | Heart help device, system, and method |
US9370656B2 (en) | 2008-10-10 | 2016-06-21 | Peter Forsell | System, an apparatus, and a method for treating a sexual dysfunctional female patient |
US9526649B2 (en) | 2008-10-10 | 2016-12-27 | Peter Forsell | Method and instrument for treating obesity |
US10219898B2 (en) | 2008-10-10 | 2019-03-05 | Peter Forsell | Artificial valve |
US8600510B2 (en) | 2008-10-10 | 2013-12-03 | Milux Holding Sa | Apparatus, system and operation method for the treatment of female sexual dysfunction |
US11123171B2 (en) | 2008-10-10 | 2021-09-21 | Peter Forsell | Fastening means for implantable medical control assembly |
US8874215B2 (en) | 2008-10-10 | 2014-10-28 | Peter Forsell | System, an apparatus, and a method for treating a sexual dysfunctional female patient |
US8509894B2 (en) | 2008-10-10 | 2013-08-13 | Milux Holding Sa | Heart help device, system, and method |
US10583234B2 (en) | 2008-10-10 | 2020-03-10 | Peter Forsell | Heart help device, system and method |
US20100169725A1 (en) * | 2008-12-31 | 2010-07-01 | Samsung Electronics Co., Ltd. | Memory module tester |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
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 |
US9973446B2 (en) | 2009-08-20 | 2018-05-15 | Oracle International Corporation | Remote shared server peripherals over an Ethernet network for resource virtualization |
US10880235B2 (en) | 2009-08-20 | 2020-12-29 | Oracle International Corporation | Remote shared server peripherals over an ethernet network for resource virtualization |
US9331963B2 (en) | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
US8943242B1 (en) | 2012-03-30 | 2015-01-27 | Integrated Device Technology Inc. | Timing controllers having partitioned pipelined delay chains therein |
US20130282971A1 (en) * | 2012-04-24 | 2013-10-24 | Hon Hai Precision Industry Co., Ltd. | Computing system and data transmission method |
US9083550B2 (en) | 2012-10-29 | 2015-07-14 | Oracle International Corporation | Network virtualization over infiniband |
US9141541B2 (en) | 2013-09-20 | 2015-09-22 | Advanced Micro Devices, Inc. | Nested channel address interleaving |
US20160048477A1 (en) * | 2014-08-17 | 2016-02-18 | Mikhael Lerman | Netmory |
US9697114B2 (en) * | 2014-08-17 | 2017-07-04 | Mikhael Lerman | Netmory |
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 |
---|---|
WO2005008464A1 (en) | 2005-01-27 |
CA2531846A1 (en) | 2005-01-27 |
EP1652058A4 (en) | 2007-10-10 |
JP2007527565A (en) | 2007-09-27 |
EP1652058A1 (en) | 2006-05-03 |
AU2004258478A1 (en) | 2005-01-27 |
US20070283054A1 (en) | 2007-12-06 |
EP1652058B1 (en) | 2011-05-25 |
US7680968B2 (en) | 2010-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7680968B2 (en) | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) | |
US7424552B2 (en) | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices | |
US7565461B2 (en) | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers | |
US5499344A (en) | Programmable dual port data unit for interfacing between multiple buses | |
US7373440B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
US6182178B1 (en) | Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across a PCI host bridge supporting multiple PCI buses | |
EP1036362B1 (en) | Memory system including a memory module having a memory module controller | |
AU652707B2 (en) | Bus interface logic for computer system having dual bus architecture | |
US6745369B1 (en) | Bus architecture for system on a chip | |
US5590287A (en) | Configurable interface for routing data between mismatched devices | |
US5761533A (en) | Computer system with varied data transfer speeds between system components and memory | |
JP2000082035A (en) | Method and system for supporting plural peripheral components interconnect buses supporting various frequency operations | |
US7197575B2 (en) | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers | |
JPH04350754A (en) | Workstation including interface for data channel or similar data processing system | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
US6311247B1 (en) | System for bridging a system bus with multiple PCI buses | |
US7114019B2 (en) | System and method for data transmission | |
US5371863A (en) | High speed processor bus extension | |
US6377581B1 (en) | Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks | |
Gasbarro | The Rambus memory system | |
JPH02148244A (en) | Microprocessor | |
KR20040034807A (en) | Method for improving data read and write speed | |
JPH0462653A (en) | Electronic computer and extension device module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SRC COMPUTERS, INC., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BURTON, LEE A.;REEL/FRAME:015485/0951 Effective date: 20040610 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: RPX CORPORATION, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN SPECIFIED PATENTS;ASSIGNOR:BARINGS FINANCE LLC, AS COLLATERAL AGENT;REEL/FRAME:063723/0139 Effective date: 20230501 |