US20070260841A1 - Memory module with reduced access granularity - Google Patents

Memory module with reduced access granularity Download PDF

Info

Publication number
US20070260841A1
US20070260841A1 US11/381,349 US38134906A US2007260841A1 US 20070260841 A1 US20070260841 A1 US 20070260841A1 US 38134906 A US38134906 A US 38134906A US 2007260841 A1 US2007260841 A1 US 2007260841A1
Authority
US
United States
Prior art keywords
memory
chip
data
select
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/381,349
Inventor
Craig Hampel
Frederick Ware
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rambus Inc
Original Assignee
Rambus Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rambus Inc filed Critical Rambus Inc
Priority to US11/381,349 priority Critical patent/US20070260841A1/en
Assigned to RAMBUS, INC. reassignment RAMBUS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HAMPEL, CRAIG E, WARE, FREDERICK A
Assigned to RAMBUS, INC. reassignment RAMBUS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HAMPEL, CRAIG E., WARE, FREDERICK A.
Priority to EP09167223.8A priority patent/EP2113923B1/en
Priority to JP2009510005A priority patent/JP5249926B2/en
Priority to EP11184623A priority patent/EP2413327A1/en
Priority to EP07782931.5A priority patent/EP2016497B1/en
Priority to EP11179126.5A priority patent/EP2393086B1/en
Priority to EP11184627A priority patent/EP2413328A1/en
Priority to PCT/US2007/067814 priority patent/WO2007130921A2/en
Publication of US20070260841A1 publication Critical patent/US20070260841A1/en
Priority to US12/392,071 priority patent/US8028144B2/en
Priority to US13/408,950 priority patent/US8364926B2/en
Priority to US14/558,517 priority patent/US9256557B2/en
Priority to US15/295,723 priority patent/US20170132150A1/en
Priority to US15/665,284 priority patent/US10191866B2/en
Priority to US16/223,031 priority patent/US10795834B2/en
Priority to US17/009,102 priority patent/US11467986B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/18Printed circuits structurally associated with non-printed electric components
    • H05K1/181Printed circuits structurally associated with non-printed electric components associated with surface mounted components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/09Shape and layout
    • H05K2201/09209Shape and layout details of conductors
    • H05K2201/09218Conductive traces
    • H05K2201/09227Layout details of a plurality of traces, e.g. escape layout for Ball Grid Array [BGA] mounting
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/10Details of components or other objects attached to or integrated in a printed circuit board
    • H05K2201/10007Types of components
    • H05K2201/10159Memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P70/00Climate change mitigation technologies in the production process for final industrial or consumer products
    • Y02P70/50Manufacturing or production processes characterised by the final manufactured product

Definitions

  • the present invention relates to data storage methods and systems.
  • FIGS. 1A-1C illustrate this approach within a prior-art memory system 100 formed by memory controller 101 and memory module 103 .
  • Memory module 103 includes two sets of memory devices, shown in grouped form as memory devices A and memory devices B, with all the memory devices coupled to a shared command/address path (CA), shared clock line (CLK) and shared chip-select line (CS), and with memory devices A coupled to a first set of data lines, DQ-A, and memory devices B coupled to a second set of data lines, DQ-B.
  • CA shared command/address path
  • CLK shared clock line
  • CS shared chip-select line
  • All the memory devices i.e., memory devices A and memory devices B
  • respond to assertion of the chip-select signal by sampling the command/address path during clock cycles 0 and 1 to receive the row activation command and the column access command, collectively referred to herein as a memory access command.
  • each of the A and B memory devices responds to the memory access command received during clock cycles 0 and 1 by activating the address-specified row within the memory core, then retrieving read data from the address-specified column within the activated row. Accordingly, some time, T RD , after receipt of the memory access command, the read data values retrieved within each of the A and B memory devices are output in parallel data burst sequences (i.e., with each transmission within the burst sequence being consecutively numbered, 0 - 3 ) on data lines DQ-A and DQ-B during clock cycles 4 and 5 .
  • memory access transactions may be pipelined so that the memory access command for a given transaction is transmitted simultaneously with data transmission for a previously-transmitted memory access command. Because the data burst length (sometimes called “prefetch”) matches the memory access command length, the command/address and data path resources may be fully utilized during periods of peak data transfer.
  • FIG. 1C illustrates a timing arrangement that may result as the data and command signaling rates are doubled relative to the core access time.
  • the amount of data retrieved from the memory core is doubled in order to meet the increased bandwidth of the data interface, thereby extending the data burst length by an additional two clock cycles (i.e., as shown by transmissions 4 - 7 during clock cycles 6 and 7 ) on data lines DQ-A and DQ-B and doubling the granularity of the memory access.
  • the extended burst length and resulting increased access granularity produces two potentially undesirable effects.
  • the increased data burst length may result in retrieval and transmission of a substantial amount of unneeded data, wasting power and increasing thermal loading within the memory devices. Additionally, utilization of the command/address and data path resources is thrown out of balance as the extended burst length prevents memory access commands from being transmitted back-to-back (i.e., in successive pairs of clock cycles) and thus results in periods of non-use on the command/address path.
  • FIGS. 1A-1C illustrate a prior-art memory module and timing of memory access operations therein
  • FIG. 2A illustrates a memory system having a memory controller and reduced-granularity memory module according to one embodiment
  • FIG. 2B illustrates a pipelined sequence of memory transactions that may be carried out within the memory system of FIG. 2A ;
  • FIG. 3A illustrates an embodiment of a memory module having memory devices that may be programmed to establish a desired delay between receipt of a column access command and data output;
  • FIG. 3B illustrates a pipelined sequence of memory transactions that may be carried out in the memory module of FIG. 3A ;
  • FIG. 3C illustrates an embodiment of a latency-control circuit that may be provided within individual memory devices to establish selected output latencies
  • FIG. 4 illustrates concurrent read and write memory accesses that may be carried concurrently within memory sub-ranks in the memory modules of FIGS. 2A and 3A ;
  • FIG. 5A illustrates an embodiment of a memory module that supports independent access to memory sub-ranks and using a shared chip-select line
  • FIG. 5B illustrates an embodiment of a sampling-latency control circuit that may be included within individual memory devices of FIG. 5A to control command/address sampling latencies;
  • FIG. 5C illustrates an alternative embodiment of a circuit for controlling the command/address sampling latency within a memory device
  • FIG. 5D illustrates a memory module having dual-chip-select memory devices as in FIG. 5C , and an exemplary connection of a shared chip-select line to the memory devices to establish independently accessible memory sub-ranks;
  • FIG. 5E illustrates a pipelined sequence of memory transactions that may be carried out in the memory modules of FIGS. 5A and 5D ;
  • FIG. 6A illustrates an alternative embodiment of a memory module that supports independent access to memory sub-ranks using a shared chip-select line
  • FIG. 6B illustrates an embodiment of a level control circuit that may be included within the individual memory devices of FIG. 6A to control chip-select assertion polarity;
  • FIG. 6C illustrates an alternative embodiment of a circuit for controlling the chip-select assertion polarity in a memory device
  • FIGS. 7A-7C illustrate an alternative approach for enabling independent access to memory sub-ranks using device identifiers
  • FIG. 8 illustrates a memory module having multiple memory ranks, with each memory rank including separately accessible memory sub-ranks
  • FIG. 9 illustrates an embodiment of a data processing system having a memory subsystem that supports concurrent, independent access to memory sub-ranks on one or more memory modules.
  • Memory systems and memory modules that enable more efficient use of signaling resources and reduced memory access granularity are disclosed in various embodiments.
  • two or more sets of memory devices disposed on a memory module and coupled to respective portions of a data path may be independently accessed via a shared command/address path and thus enable two or more reduced-granularity memory transactions to be carried out concurrently with the data for each transaction transferred on a respective portion of the data path.
  • independent access to the memory device sets coupled to respective portions of the data path is achieved by providing a separate chip-select line for each memory device set.
  • the corresponding sets of memory device are enabled to sample commands and address values transferred via the shared command/address path at different times, in effect, time-multiplexing the shared command/address path to enable the different memory device sets to receive distinct commands and corresponding addresses. Consequently, by staggering the commands sent to each memory device, multiple independent memory access operations may be initiated and executed concurrently (i.e., at least partly overlapping in time) within the memory module, with the data transferred to or from the memory module in each memory access having reduced granularity relative to the granularity of a single memory access transaction directed to all the memory devices coupled to the complete data path.
  • the increased command/address bandwidth may be applied to convey the additional commands/addresses supplied to each additional independently accessible set of memory devices, thereby enabling full and efficient use of signaling resources.
  • Alternative techniques for enabling independent memory access operations within sets of memory devices coupled to respective portions of the memory-module data path include, for example and without limitation, establishing different command/address sampling instants within different sets of memory devices relative to activation of a shared chip-select line, establishing different chip-select assertion polarities within different sets of memory devices, and including chip identifier values within or in association with command/address values.
  • FIG. 2A illustrates a memory system 200 having a memory controller 201 and reduced-granularity memory module 203 according to one embodiment.
  • the memory controller 201 and memory module 203 are coupled to one another via a command/address path (CA), one or more clock lines (CLK), chip-select lines (CS-A and CS-B) and data path (DQ) which, as shown, includes component data paths DQ-A and DQ-B.
  • CA command/address path
  • CLK clock lines
  • CS-A and CS-B chip-select lines
  • DQ data path
  • the memory module 203 includes two sets of memory devices, A and B ( 205 and 207 ), referred to herein as memory sets, with each memory set coupled to a respective one of the component data paths, DQ-A and DQ-B, and both memory sets coupled in common to the command/address path (also referred to herein as a control path) and the one or more clock lines, thus establishing the command/address path and clock line as shared resources for all the memory devices on the memory module 203 .
  • each of the memory sets 205 and 207 is additionally coupled to a respective one of the two chip-select lines, CS-A and CS-B, thereby enabling each memory set to be independently accessed as described in more detail below.
  • Command and address values may be transferred in time-multiplexed fashion via the command/address path (also referred to herein as a command path or control path) or, alternatively, the command/address path may be wide enough to convey commands and associated address values in parallel.
  • the command/address path also referred to herein as a command path or control path
  • the command/address path may be wide enough to convey commands and associated address values in parallel.
  • the memory module 203 is implemented by a printed circuit board substrate 211 having signal lines disposed thereon and extending from connector contacts 212 at an edge or other interface of the substrate 211 to memory devices, “Mem,” and thus forming the on-board portion of the command/address path (CA), component data paths (DQ-A and DQ-B), chip-select lines (CS-A and CS-B) and clock line (CLK).
  • CA command/address path
  • DQ-A and DQ-B component data paths
  • CS-A and CS-B chip-select lines
  • CLK clock line
  • each memory device within a given memory set 205 , 207 is coupled to a respective subset of signal lines within the component data path, DQ-A or DQ-B (the component data paths themselves being formed by subsets of the signal lines that form the overall module data path, DQ as shown in system 200 ), but coupled in common to the chip-select line, CS-A or CS-B, for the memory set.
  • the clock line and command/address path is coupled in common to (i.e., shared by) all the memory devices of the memory module.
  • the collective group of memory devices coupled in parallel to the data lines that constitute the full data path, DQ is referred to herein as a memory device rank or memory rank, while the independently selectable sets of memory devices coupled to respective subsets of the data lines are referred to herein as memory device sub-ranks or memory sub-ranks.
  • the memory devices within memory sets 205 and 207 collectively constitute a memory rank (i.e., coupled to all the data lines of the data path, DQ), while the memory devices within memory set 205 constitute a first memory sub-rank coupled to the DQ-A signal lines, and the memory devices within memory set 207 constitute a second memory sub-rank coupled to the DQ-B signal lines.
  • memory ranks may each be decomposed into more than two memory sub-ranks to enable further reduction in memory access granularity and/or more efficient use of signaling resources.
  • memory module 203 is depicted in system 200 and in detail view 209 as having a single memory rank, two or more memory ranks per module may be provided in alternative embodiments, with each memory rank separately divided into two or more sub-ranks which can be independently accessed.
  • FIG. 2B illustrates a pipelined sequence of memory transactions that may be carried out within the memory system of FIG. 2A .
  • the memory controller initiates a memory access in sub-rank A (i.e., memory device set 205 of FIG. 2A ) by activating chip-select line CS-A (i.e., as shown by the logic ‘1’ state of CS-A during clock cycle 0 ) and outputting a row activation command (ACT) on the shared command/address path, CA.
  • sub-rank A i.e., memory device set 205 of FIG. 2A
  • ACT row activation command
  • the memory controller also deactivates chip-select line CS-B (i.e., deasserting the chip-select signal on that chip-select line) during clock cycle 0 so that the memory devices 205 of sub-rank A, and not the memory devices 207 of sub-rank B, are enabled to receive the row activation command and associated row address (i.e., the memory devices of sub-rank A are enabled to sample the signals on the command/address path during clock cycle 0 ).
  • chip-select line CS-B i.e., deasserting the chip-select signal on that chip-select line
  • each of the memory devices of sub-rank A respond to the cycle- 0 activation command by performing a row-activation operation (i.e., transferring contents of the address-specified row of storage cells to a sense amplifier bank), thus establishing an activated row of data which may be read from and written to in one or more subsequent column access operations.
  • a row-activation operation i.e., transferring contents of the address-specified row of storage cells to a sense amplifier bank
  • the column access command a column read command (RD) in this particular example, is received and executed within memory sub-rank A, but not memory sub-rank B.
  • a predetermined time after receipt of the column read command (i.e., T RD , shown to be two clock cycles in this example), data retrieved within the sub-rank A memory devices 205 in response to the cycle- 1 column read command is output onto component data path DQ-A.
  • the output burst length includes eight transmissions (numbered 0 - 7 ) that are synchronized with successive rising and falling edges of the clock signal (Clk) so that the overall read data transmission in response to the cycle- 1 column read command extends over the four clock cycles numbered 4 - 7 .
  • the row activation command and column read command are shown as being received in back-to-back clock cycles. There may be one or more intervening clock cycles or fractions of clock cycles between receipt of row activation commands and column access commands in alternative embodiments.
  • chip-select line CS-A is deactivated and chip-select line CS-B is activated to enable the sub-rank B memory devices, but not the sub-rank A memory devices, to receive an activate command and column read command.
  • an independent memory access operation including a row activation and a column access, are initiated within the sub-rank B memory devices while the previously-initiated memory access operation within the sub-rank A memory devices is ongoing.
  • cycle 2 - 3 memory access commands i.e., row activation command and column read command transmitted during clock cycles 2 and 3 , respectively
  • the cycle 2 - 3 memory access commands are received within the sub-rank B memory devices 207 with a two-clock-cycle latency relative to receipt of the cycle 0 - 1 memory access commands within sub-rank A
  • the overall memory access within memory sub-rank B is time-staggered (i.e., time-delayed) relative to the memory access within sub-rank A, with the data retrieved within the sub-rank B memory devices in response to the cycle-3 column read command being output onto data path DQ-B starting at clock cycle 6 and extending through clock cycle 9 .
  • data from the two independent memory accesses within memory sub-ranks A and B are output concurrently onto respective portions of the overall data path, DQ, between the memory controller 201 and memory module 203 .
  • chip-select line CS-A is re-activated and chip-select line CS-B is deactivated to initiate a new memory access operation exclusively within memory sub-rank A in response to the activation and column read commands and associated addresses driven onto the command/address path by the memory controller.
  • T RD a T RD interval after receipt of the cycle- 5 column read command, an output data burst is begun on DQ-A in response to the cycle-5 column read command, with the burst extending from clock cycle 8 to clock cycle 11 and thus concurrently with the final four transmissions of the preceding sub-rank B memory access in clock cycles 8 - 9 .
  • T RD is depicted as a two-clock-cycle interval in FIG. 2B and other Figures described below, T RD may, in all such cases, be longer than two clock cycles in alternative embodiments.
  • chip-select line CS-B is re-activated and chip-select line CS-A is deactivated to initiate a new memory access operation exclusively within memory sub-rank B in response to the activation and column read commands and associated addresses driven onto the command/address path by the memory controller, thereby producing an output data burst starting at clock cycle 10 and extending to clock cycle 13 and thus concurrently with the final four transmissions of the preceding sub-rank A memory access in clock cycles 10 - 11 .
  • the alternating accesses to different memory sub-ranks may be repeated for any number of subsequent clock cycles to effect a steady stream of time-interleaved, independent accesses to memory sub-ranks A and B.
  • such operation results in full utilization of the available command/address bandwidth and the data path bandwidth (i.e., there are no gaps in the command transmission or data transmission during periods of peak demand).
  • the memory accesses directed to the memory sub-ranks are carried out independently (i.e., with independent row and/or column addresses applied within each sub-rank), the total amount of data returned per memory access is halved relative to the amount of data returned by an embodiment that applies each memory access command and associated address values within all the memory devices of a memory rank.
  • FIG. 3A illustrates an embodiment of a memory module 250 having memory devices that may be programmed to establish a desired delay between receipt of a column access command and data output (an interval referred to herein as output latency), and thus enable the data output times of independent memory accesses directed to memory devices 251 and 253 that constitute distinct memory sub-ranks (A and B) to start and end at the same time rather than being staggered as shown in FIG. 2B .
  • output latency an interval referred to herein as output latency
  • respective control registers within the memory devices 253 of sub-rank B are programmed to establish an output latency of ‘x’ (e.g., ‘x’ indicating a delay of an integer or fractional number of clock cycles, including zero), while the control registers within the memory devices 251 of sub-rank A are programmed to establish an output latency of ‘x+2.’
  • ‘x’ e.g., ‘x’ indicating a delay of an integer or fractional number of clock cycles, including zero
  • the control registers within the memory devices 251 of sub-rank A are programmed to establish an output latency of ‘x+2.’
  • FIG. 3C illustrates an embodiment of a latency-control circuit 270 that may be provided within individual memory devices to establish selected output latencies.
  • the output data path 276 within a given memory device is supplied to a sequence of ‘n’ daisy-chained flip-flop stages 281 1 - 281 n (other storage elements may be used) that are clocked by a clock signal, dclk.
  • the output of each flip-flop stage is one dclk cycle delayed relative to the output of the preceding stage, thus yielding n+1 data output paths 278 having respective latencies of zero to ‘n’ dclk cycles.
  • the data output paths 278 are supplied to a multiplexer 283 or other selection circuit which selects one of the data output paths in accordance with an output latency value 277 (OL), programmed within register 275 (or established by an external pin, or a configuration circuit implemented, for example by an internal fuse, anti-fuse, non-volatile storage element, etc.), to pass the data the selected data output path to a bank of memory device output drivers 285 which, in turn, output the data onto an external data path via interface 286 .
  • dclk may be a higher-frequency clock signal than the system clock signal, Clk, supplied by the memory controller (i.e., as described in reference to FIGS. 2A-2B ), thereby enabling output latencies in fractions of cycles of the system clock signal.
  • concurrent, independent memory write operations may also be carried out in the A and B memory sub-ranks, with write data for the operations being transmitted by the memory controller either in time-staggered fashion (e.g., as in FIG. 2B ) or in complete alignment as in FIG. 3C and received concurrently within the A and B memory sub-ranks.
  • a memory read operation may be carried out within one memory sub-rank concurrently with a memory write operation within another. Referring to FIG.
  • a memory write command sequence (e.g., row activation command, ACT, followed by column write command, WR) is issued to memory sub-rank B immediately after a memory read command sequence (ACT, RD) to memory sub-rank A.
  • write data (Write Data) is transmitted to the memory devices of sub-rank B immediately after receipt of the column write command (i.e., starting in clock cycle 5 ) and thus is received in the memory devices of sub-rank B concurrently with transmission of read data (Read Data) by the memory devices of sub-rank A.
  • Different timing relationships may be established between transmission of read and write data in alternative embodiments.
  • FIG. 5A illustrates an embodiment of a memory module 300 that supports independent access to memory sub-ranks 301 and 303 using a shared chip-select line (CS) instead of the split select-line approach shown in FIG. 2A .
  • memory sub-ranks A and B ( 301 and 303 ) are coupled to shared command/address and clock lines (CA and CLK) and to respective data paths, DQ-A and DQ-B, as in FIG. 2A , but a single chip-select line, CS, is coupled to all the memory devices within the rank (i.e., all the memory devices within memory sub-rank A and memory sub-rank B).
  • the shared chip-select line may be activated to trigger sampling of the command/address path within the memory devices 301 of sub-rank A during a first command interval and to trigger sampling of the command/address path within the memory devices 303 of sub-rank B during a subsequent command interval and thus enable time-multiplexed transfer of distinct memory access commands to the A and B memory sub-ranks.
  • FIG. 5B illustrates an embodiment of a sampling-latency control circuit 315 that may be included within individual memory devices to control command/address sampling latencies and thus enable different sampling latencies to be established within different memory sub-ranks.
  • a sampling-latency value 318 (SL) is programmed within a configuration register 317 or established by strapping one or more external pins or programming a configuration circuit (implemented, for example by an internal fuse, anti-fuse, non-volatile storage element, etc.) to select either an incoming chip-select signal 316 or a two-cycle delayed instance of the chip-select signal 320 (e.g., generated by propagation of the incoming chip-select signal 316 through a pair of daisy-chained flip-flops 319 1 + 319 2 or other clocked storage circuits) to be output from multiplexer 321 as a sample-enable signal, SE.
  • SE sample-enable signal
  • the sample-enable signal may be applied, in turn, to enable signal receiver circuits within the memory device to sample command and address signals present on the command/address path.
  • sampling latencies of zero clock cycles and two clock cycles may be programmed within the memory devices 301 and 303 , respectively, of FIG. 5A so that, as shown in FIG. 5E , activation of the shared chip-select line (CS) during clock cycles 0 and 1 will result in assertion of sample enable signals SE(A) within the memory devices of sub-rank A during clock cycles 0 and 1 , and assertion of sample enable signals SE(B) within the memory devices of sub-rank B during clock cycles 2 and 3 .
  • CS shared chip-select line
  • the row activation and column access commands (e.g., ACT, RD) transmitted by the memory controller during clock cycles 0 and 1 will be received and executed exclusively within the sub-rank A memory devices 301 , and the row activation and column access commands transmitted during clock cycles 2 and 3 will be received and executed exclusively within the sub-rank B memory devices, thus enabling concurrent, independent memory accesses to be executed within memory sub-ranks A and B with the concurrent, time-staggered output data bursts shown in FIG. 5E .
  • ACT ACT
  • RD row activation and column access commands
  • FIG. 5C illustrates an alternative embodiment of a circuit 330 for controlling the command/address sampling latency within a memory device.
  • separate chip-select inputs CS 1 and CS 2 , are provided for each memory device, with chip-select input CS 1 being coupled without intervening latency logic to a first input of OR gate 331 and chip-select input CS 2 coupled to a second input of OR gate 331 via a pair of daisy-chained flip-flops 319 1 and 319 2 (note that both chip-select inputs may be buffered by an input amplifier and/or latch, and include electrostatic-discharge (ESD) or other input protection circuitry).
  • ESD electrostatic-discharge
  • additional synchronizing elements may be provided in either or both of the chip-select input paths (or at the output of OR gate 331 ) to synchronize sample-enable signal assertion with a desired command/address sampling instant.
  • the unused chip-select input may be grounded to prevent glitches in the sample-enable signal.
  • two daisy-chained delay flip-flops may be placed in the chip-select signal path on the memory module between the connection points to the memory devices of sub-rank A and the connection points to the memory devices of sub-rank B.
  • the functional behavior is similar to that of the embodiment discussed in reference to FIG. 5C , except that the two flip-flops are not added to each of the memory devices but instead are added to the memory module as a separate device (or devices).
  • FIG. 5D illustrates a memory module 345 having dual-chip-select memory devices (Mem) as in FIG. 5C , and an exemplary connection of a shared chip-select line (CS) to the memory devices (Mem) to establish memory sub-ranks A and B. More specifically, the chip-select line is coupled to the CS 1 inputs of the memory devices of sub-rank A and to the CS 2 inputs of the memory devices of sub-rank B, thereby enabling the staggered command/address sampling within the A and B sub-ranks shown in FIG. 5E .
  • the unused chip-select input of each memory device i.e., CS 2 inputs of sub-rank A memory devices and CS 1 inputs of sub-rank B memory devices
  • CS 2 shared chip-select line
  • FIG. 6A illustrates an alternative embodiment of a memory module 380 that supports independent access to memory sub-ranks using a shared chip-select line.
  • memory devices 381 and 383 i.e., memory sub-ranks A and B
  • CA shared command/address
  • CLK clock
  • CS chip-select lines
  • chip-select assertion polarities are established within the memory devices of the A and B memory sub-ranks so that a logic high chip-select signal (Active High CS) constitutes a chip-select signal assertion within the memory devices 381 of sub-rank A and a logic low chip-select signal (Active Low CS) constitutes a chip-select signal assertion within the memory devices 383 of sub-rank B.
  • a logic high chip-select signal (Active High CS) constitutes a chip-select signal assertion within the memory devices 381 of sub-rank A
  • a logic low chip-select signal (Active Low CS) constitutes a chip-select signal assertion within the memory devices 383 of sub-rank B.
  • the memory devices 381 within memory sub-rank A are enabled to sample the command path
  • the memory devices 383 within memory sub-rank B are enabled to sample the command path, thus enabling time-multiplexed transfer of distinct memory access commands to the A and B memory sub-ranks using a shared chip-select line.
  • FIG. 6B illustrates an embodiment of a level control circuit 390 that may be included within the individual memory devices 381 , 383 of FIG. 6A to control chip-select assertion polarity.
  • a level-select value 392 (LS) is programmed within a configuration register 391 or established by strapping one or more external pins or programming a configuration circuit (implemented, for example by an internal fuse, anti-fuse, non-volatile storage element, etc.) and supplied to an input of exclusive-OR gate 393 to enable either a logic-high or logic-low state of a chip-select signal (supplied to the other input of the exclusive-OR gate 393 ) to trigger assertion of a sample-enable signal, SE.
  • SE sample-enable signal
  • level-select value 392 is low (i.e., results in a logic-low input to exclusive-OR gate 393 ), active-high chip-select is selected so that a logic-high chip-select signal will result in assertion of the sample enable signal at the output of exclusive-OR gate 393 .
  • the level-select value 392 is high (‘1’)
  • active-low chip-select is selected so that a logic-low chip-select signal will result in assertion of the sample enable signal at the output of exclusive-OR gate 393 .
  • the sample-enable signal may be used to enable signal receiver circuits within the memory device to sample command and address signals present on the command/address path.
  • level-select values that correspond to active-high and active-low chip-select signals may be programmed within the sub-rank A and sub-rank B memory devices, respectively, so that alternating high and low chip-select signals may be output to raise sample-enable signals within the memory devices of sub-ranks A and B at time-staggered intervals and thus effect concurrent, independent memory accesses within memory sub-ranks A and B as shown in FIG. 5E .
  • no-operation commands may be transmitted during unused command intervals.
  • FIG. 6C illustrates an alternative embodiment of a circuit 400 for controlling the chip-select assertion polarity in a memory device.
  • separate chip-select inputs, CS+ and CS ⁇ are provided, with chip-select input CS+being coupled without intervening level-changing logic to a first input of logic OR gate 403 and chip-select input CS ⁇ coupled to a second input of OR gate 403 via inverter 401 (note that both inputs, CS+ and CS ⁇ , may be buffered by an input amplifier and/or latch, and include electrostatic-discharge (ESD) or other input protection circuitry).
  • ESD electrostatic-discharge
  • the sample-enable signal (SE) output by the OR gate 403 may be asserted in response to different levels of the incoming chip-select signal according to which of the two chip-select inputs the chip-select line, CS, is coupled. That is, driving a chip select line coupled to chip-select input CS+ to a logic-high level will result in assertion of the sample-enable signal, while driving a chip-select line coupled to chip-select input CS ⁇ to a logic-low level will result in assertion of the sample-enable signal. Accordingly, independent memory accesses may be directed to the A and B sub-ranks of a memory module by coupling the memory devices within different sub-ranks generally as shown in FIG.
  • a NOP command may be issued on the command/address path (CA) when a sub-rank is not to be used during a particular cycle.
  • CA command/address path
  • an inverter is placed in the chip-select signal path on the memory module between the connection points to the memory devices of sub-rank A and the connection points to the memory devices of sub-rank B. The functional behavior is similar to that of the embodiment discussed in reference to FIG. 6C , except that the inverter is not added to each of the memory devices but instead is added to the memory module as a separate device.
  • FIGS. 7A-7C illustrate an alternative approach for enabling independent access to memory sub-ranks.
  • the memory devices of different memory sub-ranks may be programmed or hardwired with sub-rank-specific device identifiers (IDs) that may be compared with counterpart identifiers within incoming commands.
  • IDs sub-rank-specific device identifiers
  • each of the memory devices of memory sub-rank A may be assigned device ID ‘A’
  • each of the memory devices of memory sub-rank B may be assigned device ID ‘B’ so that incoming commands bearing device IDs that match one memory sub-rank or the other (i.e., ‘A’ or ‘B’) are received, at least in part, in all memory devices within a given rank (i.e., due to shared chip-select line, CS), but executed only in the specified sub-rank of memory devices having device IDs that match the incoming ID.
  • a special device ID code or command code may be used to select both the sub-rank A and sub-rank B memory devices to enable a commanded operation to be carried out within all the memory devices of a rank or even multiple ranks.
  • FIG. 7B illustrates an embodiment of a device ID discriminator circuit 430 that may be included within memory devices to determine whether the ID value associated within an incoming command (i.e., the command ID) matches a device ID that has been established for the memory device and, if so, assert an enable signal to enable command execution. More specifically, a command/address value received via command/address path CA is sampled within receiver 431 when the chip-select line (CS) is activated, with the received command (and/or associated address value) being stored within a command buffer 433 (note that chip-select may be omitted, with all commands being received and selectively responded to according to the device ID).
  • CS chip-select line
  • One or more bits of the command that form the command ID are output from the command buffer 433 to a comparator circuit 435 which also receives the device ID (Device ID).
  • the device ID itself may be established through register programming (e.g., programming a register at initialization time using a signaling protocol or other arrangement that enables a particular device or sub-rank of memory devices to receive a unique device identifier), production-time configuration (e.g., fuse-blowing or other operation to establish a non-volatile ID assignment within a configuration circuit of the memory device) or strapping (i.e., coupling selected input contacts or pins of the memory device to particular reference voltages to establish a device ID setting).
  • register programming e.g., programming a register at initialization time using a signaling protocol or other arrangement that enables a particular device or sub-rank of memory devices to receive a unique device identifier
  • production-time configuration e.g., fuse-blowing or other operation to establish a non-volatile ID assignment within
  • the device ID and command ID are compared within the comparator circuit 435 (which may be implemented, for example, by one or more exclusive-NOR gates that compare constituent bits of the command ID with corresponding bits of the device ID) which asserts an enable signal (EN) if the command ID and device ID match.
  • the comparator circuit 435 may additionally include logic to detect a rank ID code (e.g., which may be issued by the memory controller if operating the memory sub-ranks as a unified rank) or multi-rank ID (e.g., for enabling command execution in multiple ranks of memory devices) and assert the enable signal in response.
  • a command logic circuit 437 is coupled to receive the command from the command buffer 433 and to the enable output of the comparator circuit 435 and responds to assertion of the enable signal by executing the command.
  • memory access commands e.g., including activation (ACT) and column access commands (RD, WR) bearing a command ID that matches the sub-rank A memory device IDs will be executed within the sub-rank A memory devices, while memory access commands bearing IDs that match the sub-rank B memory devices are executed within the sub-rank B memory devices.
  • the shared chip-select signal may be deasserted (e.g., as shown by the logic ‘0’ state of line CS), so that the command path is not sampled (and thus may have any state as shown by don't care symbols ‘XX’). Note that, in a memory module that has only two memory sub-ranks per memory rank, a single-bit device ID value and single-bit command ID are sufficient for distinguishing the two memory sub-ranks.
  • any signal line of the command path or other signal line between the memory controller may be used to convey a device ID bit or, more generally, act as a sub-rank select signal.
  • FIG. 8 illustrates a memory module 500 having two ranks of memory devices 510 and 520 disposed on opposite sides of a substrate 501 .
  • Dividing line 502 corresponds to a top edge of the substrate as shown in perspective view 509 .
  • Each of the memory ranks 510 , 520 is coupled in common to a clock line, CLK, and command/address path, CA (e.g., with the clock and command lines disposed on either side of the memory module coupled to one another through vias or by contact with a common interconnection receptacle or terminal when inserted into a connector), but to separate pairs of chip-select lines, CS-A/CS-B and CS-C/CS-D.
  • CLK clock line
  • CA command/address path
  • either of the memory ranks 510 , 520 may be selected for rank-wide memory access through activation of the corresponding pair of chip-select lines (i.e., CS-A/CS-B or CS-C/CS-D), or two independent, concurrent memory accesses may be initiated within the pair of memory sub-ranks 205 / 207 or 505 / 507 of either rank by time-staggered assertion of chip-select signals for the constituent sub-ranks as described in reference to FIGS. 2A-2B .
  • memory access within a single sub-rank may be carried out without access to the counterpart sub-rank (e.g., 205 / 507 or 505 / 207 ).
  • any of the techniques described above for enabling independent sub-rank access with a shared chip-select line may be applied.
  • FIG. 9 illustrates an embodiment of a data processing system 600 having a processing unit 601 (i.e., one or more processors and/or other memory access requesters) and a memory subsystem 605 that supports concurrent, independent access to memory sub-ranks on one or more memory modules.
  • the memory subsystem 605 includes a memory controller 607 coupled to memory modules 621 a - 621 n , with each memory module 621 including one or more discrete memory devices within memory sub-ranks 623 and 625 (i.e., sub-ranks A and B) and, optionally, a serial-presence detect memory 627 (SPD) or other non-volatile storage that provides characterizing information for the memory module and/or memory devices thereon.
  • SPD serial-presence detect memory 627
  • the characterizing information may indicate whether the memory module supports memory accesses at sub-rank granularity and, if so, corresponding capabilities within the memory devices themselves (e.g., whether the devices include programmable registers to support selected support chip-select assertion polarities, sample-enable latencies, sub-rank ID value assignment, etc.).
  • the characterizing information may include various other information relating to operation of the memory devices including, for example and without limitation, storage capacity, maximum operating frequency and/or other memory device characteristics.
  • the memory controller 607 may read the characterizing information from the SPD 627 for each memory module 621 (or an SPD or like device for the set of memory modules 621 1 - 621 N ) and identify one or more memory modules 621 as supporting independent access to memory sub-ranks. In one embodiment, the memory controller 607 may respond to characterizing information by programming sample-latencies, chip-select assertion polarities or device ID values within the memory devices of the memory modules 621 identified as having such devices.
  • the memory controller 607 may return the characterizing information to the processing unit 601 which may itself be programmed (e.g., through a predetermined instruction/data set such as basic input-output service (BIOS) code) to issue instructions to the memory controller 607 to carry out the programming necessary to configure the memory modules 621 for independent access to selected memory sub-ranks.
  • a predetermined instruction/data set such as basic input-output service (BIOS) code
  • the memory controller 607 may dynamically transition the memory module 621 or any of the memory devices within the sub-ranks 623 , 625 thereon between various program settings, for example, in response detecting a threshold density of fine-grained memory access requests (i.e., a threshold number of such access requests within a given time interval or as a threshold percentage of total memory access requests) from the processing unit 601 or in response to an explicit command from the processing unit 601 to establish particular program settings.
  • a threshold density of fine-grained memory access requests i.e., a threshold number of such access requests within a given time interval or as a threshold percentage of total memory access requests
  • parallel transaction queues 609 , 611 are provided to queue memory access commands (and associated read and write data) directed to respective memory sub-ranks 623 , 625 of a selected memory module 621 .
  • transaction queue 609 is coupled, via data path DQ-A, to memory sub-rank A 623 within each of the memory modules 621
  • transaction queue 611 is coupled via data path DQ-B to memory sub-rank B within each of the memory modules 621 .
  • each of the transaction queues 609 and 611 is coupled via respective chip-select line to each of the memory modules.
  • each of the transaction queues 609 , 611 is additionally coupled to a respective one of internal command paths 610 , 611 which are coupled, in turn, to inputs of a command path multiplexer 615 .
  • the command path multiplexer 615 responds to a source-select value, SSel, to couple either internal command path 610 or internal command path 612 to command path, CA, and thus select either transaction queue 609 or transaction queue 611 to source the commands and associated address values for a given memory transaction.
  • a mode-select value (MSel) within the memory controller 607 is used to control whether the transaction queues 609 , 611 are operated in a sub-rank access mode or a unified-rank access mode.
  • the source-select value may be toggled (e.g., by control logic within the memory controller 607 or the transaction queues 609 , 611 ) after each command output sequence from a given transaction queue to enable the alternate transaction queue to drive command path CA in the ensuing command interval.
  • arbitration logic may be provided to enable arbitrated access to command path CA from the two transaction queues 609 , 611 .
  • the command path may be driven exclusively by one transaction queue or the other, with chip-select signals for memory sub-ranks (and the data input/output circuitry within transaction queues or elsewhere within the memory controller 607 ) being operated in lock step instead of time-staggered.
  • one or both of the transaction queues 609 , 611 may output operational commands and associated data to the various memory modules 621 , for example, to configure the memory devices of the module, (including programming sub-rank access functions such as sampling latency, chip-select assertion polarity, device ID, etc.), read the SPD, perform signaling calibration, refresh operations, and so forth.
  • Such commands may be transmitted under direction of control logic within the memory controller 607 (e.g., in one or both of the transaction queues) or in response to access requests from the processing unit 601 received via host interface path 602 (which may include separate data (Data) and request components (Req) as shown or a time-multiplexed path).
  • control logic within the memory controller 607 (e.g., in one or both of the transaction queues) or in response to access requests from the processing unit 601 received via host interface path 602 (which may include separate data (Data) and request components (Req) as shown or a time-multiplexed path).
  • each memory rank (and, optionally, associated or integrated SPD elements 627 ) may be mounted directly to a mother board, or integrated into a multi-chip module, along with the memory controller 607 and/or processing unit 601 to form, for example, a system-in-package (SIP) DRAM system or other system-on-chip (SOC) device.
  • SIP system-in-package
  • SOC system-on-chip
  • the data paths (DQ-A and DQ-B), command/address path (CA) and other signaling paths or lines coupled between the memory controller 607 and memory devices of the various memory modules 621 may be implemented using virtually any signaling channel, including an electronic conduction path (e.g., wires or electronically conductive traces), an optical path or wireless signaling channel.
  • the processing unit 601 , memory controller 607 , and/or one or more of memory devices that populate the memory modules 621 may be combined on a single integrated circuit die in an alternative embodiment.
  • circuits disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics.
  • Formats of files and other objects in which such circuit expressions may be implemented include, but are not limited to, formats supporting behavioral languages such as C, Verilog, and VHDL, formats supporting register level description languages like RTL, and formats supporting geometry description languages such as GDSII, GDSIII, GDSIV, CIF, MEBES and any other suitable formats and languages.
  • Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof.
  • Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, etc.).
  • Such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits.
  • a processing entity e.g., one or more processors
  • Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of the circuits in a device fabrication process.
  • circuit elements or circuit blocks may be shown or described as multi-conductor or single conductor signal lines.
  • Each of the multi-conductor signal lines may alternatively be single-conductor signal lines, and each of the single-conductor signal lines may alternatively be multi-conductor signal lines.
  • Signals and signaling paths shown or described as being single-ended may also be differential, and vice-versa.
  • signals described or depicted as having active-high or active-low logic levels may have opposite logic levels in alternative embodiments.
  • circuits described or depicted as including metal oxide semiconductor (MOS) transistors may alternatively be implemented using bipolar technology or any other technology in which logical elements may be implemented.
  • MOS metal oxide semiconductor
  • a signal is said to be “asserted” when the signal is driven to a low or high logic state (or charged to a high logic state or discharged to a low logic state) to indicate a particular condition.
  • a signal is said to be “deasserted” to indicate that the signal is driven (or charged or discharged) to a state other than the asserted state (including a high or low logic state, or the floating state that may occur when the signal driving circuit is transitioned to a high impedance condition, such as an open drain or open collector condition).
  • a signal driving circuit is said to “output” a signal to a signal receiving circuit when the signal driving circuit asserts (or deasserts, if explicitly stated or indicated by context) the signal on a signal line coupled between the signal driving and signal receiving circuits.
  • a signal line is said to be “activated” when a signal is asserted on the signal line, and “deactivated” when the signal is deasserted.
  • the prefix symbol “/” attached to signal names indicates that the signal is an active low signal (i.e., the asserted state is a logic low state).
  • a line over a signal name (e.g., ‘ ⁇ signal name > ’) is also used to indicate an active low signal.
  • Integrated circuit device “programming” may include, for example and without limitation, loading a control value into a register or other storage circuit within the device in response to a host instruction and thus controlling an operational aspect of the device, establishing a device configuration or controlling an operational aspect of the device through a one-time programming operation (e.g., blowing fuses within a configuration circuit during device production), and/or connecting one or more selected pins or other contact structures of the device to reference voltage lines (also referred to as strapping) to establish a particular device configuration or operation aspect of the device.
  • exemplary is used to express an example, not a preference or requirement.

Abstract

A memory module having reduced access granularity. The memory module includes a substrate having signal lines thereon that form a control path and first and second data paths, and further includes first and second memory devices coupled in common to the control path and coupled respectively to the first and second data paths. The first and second memory devices include control circuitry to receive respective first and second memory access commands via the control path and to effect concurrent data transfer on the first and second data paths in response to the first and second memory access commands.

Description

    TECHNICAL FIELD
  • The present invention relates to data storage methods and systems.
  • BACKGROUND
  • Signaling rate advances continue to outpace core access time improvement in dynamic random access memories (DRAMs), leading to memory devices and subsystems that output ever larger amounts of data per access in order to meet peak data transfer rates. In many cases, the increased data output is achieved through simple extension of the output burst length; the number of data transmissions executed in succession to output data retrieved from a given location within the memory core. FIGS. 1A-1C illustrate this approach within a prior-art memory system 100 formed by memory controller 101 and memory module 103. Memory module 103 includes two sets of memory devices, shown in grouped form as memory devices A and memory devices B, with all the memory devices coupled to a shared command/address path (CA), shared clock line (CLK) and shared chip-select line (CS), and with memory devices A coupled to a first set of data lines, DQ-A, and memory devices B coupled to a second set of data lines, DQ-B. Referring to FIG. 1B, the memory controller initiates a memory access by outputting a row activation command (ACT) and column access command (RD) and associated row and column address values onto the command/address path during successive cycles, 0 and 1, of a clock signal (Clk), asserting the chip-select signal (i.e., CS=1) during both clock cycles. All the memory devices (i.e., memory devices A and memory devices B) respond to assertion of the chip-select signal by sampling the command/address path during clock cycles 0 and 1 to receive the row activation command and the column access command, collectively referred to herein as a memory access command. Thereafter, each of the A and B memory devices responds to the memory access command received during clock cycles 0 and 1 by activating the address-specified row within the memory core, then retrieving read data from the address-specified column within the activated row. Accordingly, some time, TRD, after receipt of the memory access command, the read data values retrieved within each of the A and B memory devices are output in parallel data burst sequences (i.e., with each transmission within the burst sequence being consecutively numbered, 0-3) on data lines DQ-A and DQ-B during clock cycles 4 and 5. By this operation, memory access transactions may be pipelined so that the memory access command for a given transaction is transmitted simultaneously with data transmission for a previously-transmitted memory access command. Because the data burst length (sometimes called “prefetch”) matches the memory access command length, the command/address and data path resources may be fully utilized during periods of peak data transfer.
  • FIG. 1C illustrates a timing arrangement that may result as the data and command signaling rates are doubled relative to the core access time. As shown, the amount of data retrieved from the memory core is doubled in order to meet the increased bandwidth of the data interface, thereby extending the data burst length by an additional two clock cycles (i.e., as shown by transmissions 4-7 during clock cycles 6 and 7) on data lines DQ-A and DQ-B and doubling the granularity of the memory access. The extended burst length and resulting increased access granularity produces two potentially undesirable effects. First, because the trend in a number of data processing applications is toward finer-grained memory access, the increased data burst length may result in retrieval and transmission of a substantial amount of unneeded data, wasting power and increasing thermal loading within the memory devices. Additionally, utilization of the command/address and data path resources is thrown out of balance as the extended burst length prevents memory access commands from being transmitted back-to-back (i.e., in successive pairs of clock cycles) and thus results in periods of non-use on the command/address path.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
  • FIGS. 1A-1C illustrate a prior-art memory module and timing of memory access operations therein;
  • FIG. 2A illustrates a memory system having a memory controller and reduced-granularity memory module according to one embodiment;
  • FIG. 2B illustrates a pipelined sequence of memory transactions that may be carried out within the memory system of FIG. 2A;
  • FIG. 3A illustrates an embodiment of a memory module having memory devices that may be programmed to establish a desired delay between receipt of a column access command and data output;
  • FIG. 3B illustrates a pipelined sequence of memory transactions that may be carried out in the memory module of FIG. 3A;
  • FIG. 3C illustrates an embodiment of a latency-control circuit that may be provided within individual memory devices to establish selected output latencies;
  • FIG. 4 illustrates concurrent read and write memory accesses that may be carried concurrently within memory sub-ranks in the memory modules of FIGS. 2A and 3A;
  • using the memory modules of FIG. 3A;
  • FIG. 5A illustrates an embodiment of a memory module that supports independent access to memory sub-ranks and using a shared chip-select line;
  • FIG. 5B illustrates an embodiment of a sampling-latency control circuit that may be included within individual memory devices of FIG. 5A to control command/address sampling latencies;
  • FIG. 5C illustrates an alternative embodiment of a circuit for controlling the command/address sampling latency within a memory device;
  • FIG. 5D illustrates a memory module having dual-chip-select memory devices as in FIG. 5C, and an exemplary connection of a shared chip-select line to the memory devices to establish independently accessible memory sub-ranks;
  • FIG. 5E illustrates a pipelined sequence of memory transactions that may be carried out in the memory modules of FIGS. 5A and 5D;
  • FIG. 6A illustrates an alternative embodiment of a memory module that supports independent access to memory sub-ranks using a shared chip-select line;
  • FIG. 6B illustrates an embodiment of a level control circuit that may be included within the individual memory devices of FIG. 6A to control chip-select assertion polarity;
  • FIG. 6C illustrates an alternative embodiment of a circuit for controlling the chip-select assertion polarity in a memory device;
  • FIGS. 7A-7C illustrate an alternative approach for enabling independent access to memory sub-ranks using device identifiers;
  • FIG. 8 illustrates a memory module having multiple memory ranks, with each memory rank including separately accessible memory sub-ranks; and
  • FIG. 9 illustrates an embodiment of a data processing system having a memory subsystem that supports concurrent, independent access to memory sub-ranks on one or more memory modules.
  • DETAILED DESCRIPTION
  • Memory systems and memory modules that enable more efficient use of signaling resources and reduced memory access granularity are disclosed in various embodiments. In one embodiment, two or more sets of memory devices disposed on a memory module and coupled to respective portions of a data path may be independently accessed via a shared command/address path and thus enable two or more reduced-granularity memory transactions to be carried out concurrently with the data for each transaction transferred on a respective portion of the data path. In a particular embodiment, independent access to the memory device sets coupled to respective portions of the data path is achieved by providing a separate chip-select line for each memory device set. By asserting chip-select signals on the separate chip-select lines at different times, the corresponding sets of memory device are enabled to sample commands and address values transferred via the shared command/address path at different times, in effect, time-multiplexing the shared command/address path to enable the different memory device sets to receive distinct commands and corresponding addresses. Consequently, by staggering the commands sent to each memory device, multiple independent memory access operations may be initiated and executed concurrently (i.e., at least partly overlapping in time) within the memory module, with the data transferred to or from the memory module in each memory access having reduced granularity relative to the granularity of a single memory access transaction directed to all the memory devices coupled to the complete data path. Further, because additional bandwidth may naturally become available on the command/address path as output data burst rates are extended (i.e., as signaling rates increase), the increased command/address bandwidth may be applied to convey the additional commands/addresses supplied to each additional independently accessible set of memory devices, thereby enabling full and efficient use of signaling resources. Alternative techniques for enabling independent memory access operations within sets of memory devices coupled to respective portions of the memory-module data path include, for example and without limitation, establishing different command/address sampling instants within different sets of memory devices relative to activation of a shared chip-select line, establishing different chip-select assertion polarities within different sets of memory devices, and including chip identifier values within or in association with command/address values. These and other features and techniques are disclosed in further detail below.
  • FIG. 2A illustrates a memory system 200 having a memory controller 201 and reduced-granularity memory module 203 according to one embodiment. The memory controller 201 and memory module 203 are coupled to one another via a command/address path (CA), one or more clock lines (CLK), chip-select lines (CS-A and CS-B) and data path (DQ) which, as shown, includes component data paths DQ-A and DQ-B. The memory module 203 includes two sets of memory devices, A and B (205 and 207), referred to herein as memory sets, with each memory set coupled to a respective one of the component data paths, DQ-A and DQ-B, and both memory sets coupled in common to the command/address path (also referred to herein as a control path) and the one or more clock lines, thus establishing the command/address path and clock line as shared resources for all the memory devices on the memory module 203. In the particular embodiment shown, each of the memory sets 205 and 207 is additionally coupled to a respective one of the two chip-select lines, CS-A and CS-B, thereby enabling each memory set to be independently accessed as described in more detail below. Command and address values may be transferred in time-multiplexed fashion via the command/address path (also referred to herein as a command path or control path) or, alternatively, the command/address path may be wide enough to convey commands and associated address values in parallel.
  • In one embodiment, shown in detail view 209, the memory module 203 is implemented by a printed circuit board substrate 211 having signal lines disposed thereon and extending from connector contacts 212 at an edge or other interface of the substrate 211 to memory devices, “Mem,” and thus forming the on-board portion of the command/address path (CA), component data paths (DQ-A and DQ-B), chip-select lines (CS-A and CS-B) and clock line (CLK). As shown, each memory device within a given memory set 205, 207 is coupled to a respective subset of signal lines within the component data path, DQ-A or DQ-B (the component data paths themselves being formed by subsets of the signal lines that form the overall module data path, DQ as shown in system 200), but coupled in common to the chip-select line, CS-A or CS-B, for the memory set. By contrast, the clock line and command/address path is coupled in common to (i.e., shared by) all the memory devices of the memory module. As a matter of terminology, the collective group of memory devices coupled in parallel to the data lines that constitute the full data path, DQ, is referred to herein as a memory device rank or memory rank, while the independently selectable sets of memory devices coupled to respective subsets of the data lines are referred to herein as memory device sub-ranks or memory sub-ranks. Thus, in FIG. 2A, the memory devices within memory sets 205 and 207 collectively constitute a memory rank (i.e., coupled to all the data lines of the data path, DQ), while the memory devices within memory set 205 constitute a first memory sub-rank coupled to the DQ-A signal lines, and the memory devices within memory set 207 constitute a second memory sub-rank coupled to the DQ-B signal lines. Note that while a two-sub-rank embodiment is shown in FIG. 2A and carried forward in other exemplary embodiments described below, in all such cases, memory ranks may each be decomposed into more than two memory sub-ranks to enable further reduction in memory access granularity and/or more efficient use of signaling resources. Also, while the memory module 203 is depicted in system 200 and in detail view 209 as having a single memory rank, two or more memory ranks per module may be provided in alternative embodiments, with each memory rank separately divided into two or more sub-ranks which can be independently accessed.
  • FIG. 2B illustrates a pipelined sequence of memory transactions that may be carried out within the memory system of FIG. 2A. Starting at clock cycle 0, the memory controller initiates a memory access in sub-rank A (i.e., memory device set 205 of FIG. 2A) by activating chip-select line CS-A (i.e., as shown by the logic ‘1’ state of CS-A during clock cycle 0) and outputting a row activation command (ACT) on the shared command/address path, CA. The memory controller also deactivates chip-select line CS-B (i.e., deasserting the chip-select signal on that chip-select line) during clock cycle 0 so that the memory devices 205 of sub-rank A, and not the memory devices 207 of sub-rank B, are enabled to receive the row activation command and associated row address (i.e., the memory devices of sub-rank A are enabled to sample the signals on the command/address path during clock cycle 0). Accordingly, each of the memory devices of sub-rank A respond to the cycle-0 activation command by performing a row-activation operation (i.e., transferring contents of the address-specified row of storage cells to a sense amplifier bank), thus establishing an activated row of data which may be read from and written to in one or more subsequent column access operations.
  • In clock cycle 1, the memory controller maintains chip-select line CS-A in the activated state (CS-A=‘1’) and chip-select line CS-B in the deactivated state (CS-B=‘0’), and outputs a column access command and associated address value via the command/address path. By this operation, the column access command, a column read command (RD) in this particular example, is received and executed within memory sub-rank A, but not memory sub-rank B. Accordingly, a predetermined time after receipt of the column read command (i.e., TRD, shown to be two clock cycles in this example), data retrieved within the sub-rank A memory devices 205 in response to the cycle-1 column read command is output onto component data path DQ-A. In the example shown, the output burst length includes eight transmissions (numbered 0-7) that are synchronized with successive rising and falling edges of the clock signal (Clk) so that the overall read data transmission in response to the cycle-1 column read command extends over the four clock cycles numbered 4-7. There may be more or fewer data transmissions per clock cycle in alternative embodiments. Also, in the example shown, the row activation command and column read command are shown as being received in back-to-back clock cycles. There may be one or more intervening clock cycles or fractions of clock cycles between receipt of row activation commands and column access commands in alternative embodiments.
  • During clock cycles 2 and 3, chip-select line CS-A is deactivated and chip-select line CS-B is activated to enable the sub-rank B memory devices, but not the sub-rank A memory devices, to receive an activate command and column read command. By this operation, an independent memory access operation, including a row activation and a column access, are initiated within the sub-rank B memory devices while the previously-initiated memory access operation within the sub-rank A memory devices is ongoing. Because the cycle 2-3 memory access commands (i.e., row activation command and column read command transmitted during clock cycles 2 and 3, respectively) are received within the sub-rank B memory devices 207 with a two-clock-cycle latency relative to receipt of the cycle 0-1 memory access commands within sub-rank A, the overall memory access within memory sub-rank B is time-staggered (i.e., time-delayed) relative to the memory access within sub-rank A, with the data retrieved within the sub-rank B memory devices in response to the cycle-3 column read command being output onto data path DQ-B starting at clock cycle 6 and extending through clock cycle 9. Thus, during clock cycles 6 and 7, data from the two independent memory accesses within memory sub-ranks A and B are output concurrently onto respective portions of the overall data path, DQ, between the memory controller 201 and memory module 203. During clock cycles 4 and 5, after sufficient time has passed to enable a new memory access within memory sub-rank A, chip-select line CS-A is re-activated and chip-select line CS-B is deactivated to initiate a new memory access operation exclusively within memory sub-rank A in response to the activation and column read commands and associated addresses driven onto the command/address path by the memory controller. Accordingly, at clock cycle 8, a TRD interval after receipt of the cycle-5 column read command, an output data burst is begun on DQ-A in response to the cycle-5 column read command, with the burst extending from clock cycle 8 to clock cycle 11 and thus concurrently with the final four transmissions of the preceding sub-rank B memory access in clock cycles 8-9. Although TRD is depicted as a two-clock-cycle interval in FIG. 2B and other Figures described below, TRD may, in all such cases, be longer than two clock cycles in alternative embodiments. During clock cycles 6 and 7, after sufficient time has passed to enable a new memory access within memory sub-rank B, chip-select line CS-B is re-activated and chip-select line CS-A is deactivated to initiate a new memory access operation exclusively within memory sub-rank B in response to the activation and column read commands and associated addresses driven onto the command/address path by the memory controller, thereby producing an output data burst starting at clock cycle 10 and extending to clock cycle 13 and thus concurrently with the final four transmissions of the preceding sub-rank A memory access in clock cycles 10-11. The alternating accesses to different memory sub-ranks may be repeated for any number of subsequent clock cycles to effect a steady stream of time-interleaved, independent accesses to memory sub-ranks A and B. As illustrated in FIG. 2B, such operation results in full utilization of the available command/address bandwidth and the data path bandwidth (i.e., there are no gaps in the command transmission or data transmission during periods of peak demand). Further, because the memory accesses directed to the memory sub-ranks are carried out independently (i.e., with independent row and/or column addresses applied within each sub-rank), the total amount of data returned per memory access is halved relative to the amount of data returned by an embodiment that applies each memory access command and associated address values within all the memory devices of a memory rank.
  • FIG. 3A illustrates an embodiment of a memory module 250 having memory devices that may be programmed to establish a desired delay between receipt of a column access command and data output (an interval referred to herein as output latency), and thus enable the data output times of independent memory accesses directed to memory devices 251 and 253 that constitute distinct memory sub-ranks (A and B) to start and end at the same time rather than being staggered as shown in FIG. 2B. In the embodiment of FIG. 3A, for example, respective control registers within the memory devices 253 of sub-rank B are programmed to establish an output latency of ‘x’ (e.g., ‘x’ indicating a delay of an integer or fractional number of clock cycles, including zero), while the control registers within the memory devices 251 of sub-rank A are programmed to establish an output latency of ‘x+2.’ By this arrangement, the output data burst from memory sub-rank A in response to memory access commands received during clock cycles 0-1 is delayed by an additional two clock cycles, as shown in FIG. 3B, so that the output data bursts for the independent memory access operations within memory sub-ranks A and B (as enabled by the staggered assertion of chip-select signals CS-A and CS-B and the two sets of memory access commands output during clock cycles 0-1 and 2-3, respectively) start and end at the same time, extending from clock cycle 6 to clock cycle 9. While this approach adds additional latency in the sub-rank A memory access (i.e., two clock cycles beyond the TRD that would otherwise apply), the fully overlapped data transfer for the two memory transactions directed to the A and B sub-ranks may simplify data transfer timing within the memory controller or other system components.
  • FIG. 3C illustrates an embodiment of a latency-control circuit 270 that may be provided within individual memory devices to establish selected output latencies. As shown, the output data path 276 within a given memory device is supplied to a sequence of ‘n’ daisy-chained flip-flop stages 281 1-281 n (other storage elements may be used) that are clocked by a clock signal, dclk. By this operation, the output of each flip-flop stage is one dclk cycle delayed relative to the output of the preceding stage, thus yielding n+1 data output paths 278 having respective latencies of zero to ‘n’ dclk cycles. The data output paths 278 are supplied to a multiplexer 283 or other selection circuit which selects one of the data output paths in accordance with an output latency value 277 (OL), programmed within register 275 (or established by an external pin, or a configuration circuit implemented, for example by an internal fuse, anti-fuse, non-volatile storage element, etc.), to pass the data the selected data output path to a bank of memory device output drivers 285 which, in turn, output the data onto an external data path via interface 286. Note that dclk may be a higher-frequency clock signal than the system clock signal, Clk, supplied by the memory controller (i.e., as described in reference to FIGS. 2A-2B), thereby enabling output latencies in fractions of cycles of the system clock signal.
  • Although the examples of concurrent, independent memory access operations within the A and B memory sub-ranks have been thus far described in terms of memory read operations, concurrent, independent memory write operations may also be carried out in the A and B memory sub-ranks, with write data for the operations being transmitted by the memory controller either in time-staggered fashion (e.g., as in FIG. 2B) or in complete alignment as in FIG. 3C and received concurrently within the A and B memory sub-ranks. Also, a memory read operation may be carried out within one memory sub-rank concurrently with a memory write operation within another. Referring to FIG. 4, for example, a memory write command sequence (e.g., row activation command, ACT, followed by column write command, WR) is issued to memory sub-rank B immediately after a memory read command sequence (ACT, RD) to memory sub-rank A. In the particular example shown, write data (Write Data) is transmitted to the memory devices of sub-rank B immediately after receipt of the column write command (i.e., starting in clock cycle 5) and thus is received in the memory devices of sub-rank B concurrently with transmission of read data (Read Data) by the memory devices of sub-rank A. Different timing relationships may be established between transmission of read and write data in alternative embodiments.
  • FIG. 5A illustrates an embodiment of a memory module 300 that supports independent access to memory sub-ranks 301 and 303 using a shared chip-select line (CS) instead of the split select-line approach shown in FIG. 2A. As shown, memory sub-ranks A and B (301 and 303) are coupled to shared command/address and clock lines (CA and CLK) and to respective data paths, DQ-A and DQ-B, as in FIG. 2A, but a single chip-select line, CS, is coupled to all the memory devices within the rank (i.e., all the memory devices within memory sub-rank A and memory sub-rank B). To enable independent memory commands to be received within the A and B memory sub-ranks, a delay interval between chip-select line activation and sampling of the command/address paths—an interval referred to herein as a sampling latency—is established within the memory devices 303 of sub-rank B, so that command path sampling occurs at a later time within memory sub-rank B than within memory sub-rank A. More specifically, by setting the sampling latency within each memory device 303 of sub-rank B to match the timing offset between transmission of distinct memory access command sequences on the shared command/address path, the shared chip-select line may be activated to trigger sampling of the command/address path within the memory devices 301 of sub-rank A during a first command interval and to trigger sampling of the command/address path within the memory devices 303 of sub-rank B during a subsequent command interval and thus enable time-multiplexed transfer of distinct memory access commands to the A and B memory sub-ranks.
  • FIG. 5B illustrates an embodiment of a sampling-latency control circuit 315 that may be included within individual memory devices to control command/address sampling latencies and thus enable different sampling latencies to be established within different memory sub-ranks. As shown, a sampling-latency value 318 (SL) is programmed within a configuration register 317 or established by strapping one or more external pins or programming a configuration circuit (implemented, for example by an internal fuse, anti-fuse, non-volatile storage element, etc.) to select either an incoming chip-select signal 316 or a two-cycle delayed instance of the chip-select signal 320 (e.g., generated by propagation of the incoming chip-select signal 316 through a pair of daisy-chained flip-flops 319 1+319 2 or other clocked storage circuits) to be output from multiplexer 321 as a sample-enable signal, SE. The sample-enable signal may be applied, in turn, to enable signal receiver circuits within the memory device to sample command and address signals present on the command/address path. Thus, sampling latencies of zero clock cycles and two clock cycles may be programmed within the memory devices 301 and 303, respectively, of FIG. 5A so that, as shown in FIG. 5E, activation of the shared chip-select line (CS) during clock cycles 0 and 1 will result in assertion of sample enable signals SE(A) within the memory devices of sub-rank A during clock cycles 0 and 1, and assertion of sample enable signals SE(B) within the memory devices of sub-rank B during clock cycles 2 and 3. By this operation, the row activation and column access commands (e.g., ACT, RD) transmitted by the memory controller during clock cycles 0 and 1 will be received and executed exclusively within the sub-rank A memory devices 301, and the row activation and column access commands transmitted during clock cycles 2 and 3 will be received and executed exclusively within the sub-rank B memory devices, thus enabling concurrent, independent memory accesses to be executed within memory sub-ranks A and B with the concurrent, time-staggered output data bursts shown in FIG. 5E.
  • FIG. 5C illustrates an alternative embodiment of a circuit 330 for controlling the command/address sampling latency within a memory device. Instead of providing programmable selection of the sampling latency as in FIG. 5B, separate chip-select inputs, CS1 and CS2, are provided for each memory device, with chip-select input CS1 being coupled without intervening latency logic to a first input of OR gate 331 and chip-select input CS2 coupled to a second input of OR gate 331 via a pair of daisy-chained flip-flops 319 1 and 319 2 (note that both chip-select inputs may be buffered by an input amplifier and/or latch, and include electrostatic-discharge (ESD) or other input protection circuitry). By this arrangement, the sample-enable signal (SE) output by OR gate 331 may be asserted at different times relative to chip-select line activation according to which of the two chip-select inputs (CS1, CS2) the chip-select line is coupled. That is, activation of a chip select line (CS) coupled to chip-select input CS1 will result in assertion of the sample-enable signal with negligible delay (SL=0), while activation of a chip select line coupled to chip-select input CS2 will result in assertion of the sample-enable signal after a two-clock-cycle delay (SL=2). Note that additional synchronizing elements may be provided in either or both of the chip-select input paths (or at the output of OR gate 331) to synchronize sample-enable signal assertion with a desired command/address sampling instant. The unused chip-select input may be grounded to prevent glitches in the sample-enable signal. In yet another embodiment, two daisy-chained delay flip-flops may be placed in the chip-select signal path on the memory module between the connection points to the memory devices of sub-rank A and the connection points to the memory devices of sub-rank B. The functional behavior is similar to that of the embodiment discussed in reference to FIG. 5C, except that the two flip-flops are not added to each of the memory devices but instead are added to the memory module as a separate device (or devices).
  • FIG. 5D illustrates a memory module 345 having dual-chip-select memory devices (Mem) as in FIG. 5C, and an exemplary connection of a shared chip-select line (CS) to the memory devices (Mem) to establish memory sub-ranks A and B. More specifically, the chip-select line is coupled to the CS1 inputs of the memory devices of sub-rank A and to the CS2 inputs of the memory devices of sub-rank B, thereby enabling the staggered command/address sampling within the A and B sub-ranks shown in FIG. 5E. The unused chip-select input of each memory device (i.e., CS2 inputs of sub-rank A memory devices and CS1 inputs of sub-rank B memory devices) is grounded.
  • Reflecting on the staggered command/address sampling that results from the different sampling latencies established within the A and B memory sub-ranks, it can be seen that any assertion of the chip-select line will result in command/address sampling within both memory sub-ranks, though at different times. Accordingly, if, during a given interval, a memory operation is to be carried out within one of the memory sub-ranks, but not the other, place-holder “no-operation” commands (i.e., NOPs) may be transmitted during the command interval for the non-elected memory sub-rank. Referring to FIG. 5E, for example, if no memory access is to be initiated within memory sub-rank B during command interval 360, NOP commands may be sent during that interval with the resulting non-transmission of data during interval 362.
  • FIG. 6A illustrates an alternative embodiment of a memory module 380 that supports independent access to memory sub-ranks using a shared chip-select line. As shown, memory devices 381 and 383 (i.e., memory sub-ranks A and B) are coupled to respective data paths, DQ-A and DQ-B, and to shared command/address (CA), clock (CLK) and chip-select lines (CS) as in FIG. 5A. Instead of staggering the response to chip-select signal assertion, however, different chip-select assertion polarities are established within the memory devices of the A and B memory sub-ranks so that a logic high chip-select signal (Active High CS) constitutes a chip-select signal assertion within the memory devices 381 of sub-rank A and a logic low chip-select signal (Active Low CS) constitutes a chip-select signal assertion within the memory devices 383 of sub-rank B. By this arrangement, when the chip-select signal is high, the memory devices 381 within memory sub-rank A are enabled to sample the command path, and when the chip-select signal is low, the memory devices 383 within memory sub-rank B are enabled to sample the command path, thus enabling time-multiplexed transfer of distinct memory access commands to the A and B memory sub-ranks using a shared chip-select line.
  • FIG. 6B illustrates an embodiment of a level control circuit 390 that may be included within the individual memory devices 381, 383 of FIG. 6A to control chip-select assertion polarity. As shown, a level-select value 392 (LS) is programmed within a configuration register 391 or established by strapping one or more external pins or programming a configuration circuit (implemented, for example by an internal fuse, anti-fuse, non-volatile storage element, etc.) and supplied to an input of exclusive-OR gate 393 to enable either a logic-high or logic-low state of a chip-select signal (supplied to the other input of the exclusive-OR gate 393) to trigger assertion of a sample-enable signal, SE. That is, if the level-select value 392 is low (i.e., results in a logic-low input to exclusive-OR gate 393), active-high chip-select is selected so that a logic-high chip-select signal will result in assertion of the sample enable signal at the output of exclusive-OR gate 393. By contrast, if the level-select value 392 is high (‘1’), active-low chip-select is selected so that a logic-low chip-select signal will result in assertion of the sample enable signal at the output of exclusive-OR gate 393. As in the embodiment of FIGS. 5B and 5C, the sample-enable signal may be used to enable signal receiver circuits within the memory device to sample command and address signals present on the command/address path. Thus, level-select values that correspond to active-high and active-low chip-select signals may be programmed within the sub-rank A and sub-rank B memory devices, respectively, so that alternating high and low chip-select signals may be output to raise sample-enable signals within the memory devices of sub-ranks A and B at time-staggered intervals and thus effect concurrent, independent memory accesses within memory sub-ranks A and B as shown in FIG. 5E. Also, as in the embodiments described in reference to FIGS. 5A-5E, no-operation commands may be transmitted during unused command intervals.
  • FIG. 6C illustrates an alternative embodiment of a circuit 400 for controlling the chip-select assertion polarity in a memory device. Instead of providing programmable polarity selection as in FIG. 6B, separate chip-select inputs, CS+ and CS−, are provided, with chip-select input CS+being coupled without intervening level-changing logic to a first input of logic OR gate 403 and chip-select input CS− coupled to a second input of OR gate 403 via inverter 401 (note that both inputs, CS+ and CS−, may be buffered by an input amplifier and/or latch, and include electrostatic-discharge (ESD) or other input protection circuitry). By this arrangement, the sample-enable signal (SE) output by the OR gate 403 may be asserted in response to different levels of the incoming chip-select signal according to which of the two chip-select inputs the chip-select line, CS, is coupled. That is, driving a chip select line coupled to chip-select input CS+ to a logic-high level will result in assertion of the sample-enable signal, while driving a chip-select line coupled to chip-select input CS− to a logic-low level will result in assertion of the sample-enable signal. Accordingly, independent memory accesses may be directed to the A and B sub-ranks of a memory module by coupling the memory devices within different sub-ranks generally as shown in FIG. 5D, with the CS1 and CS2 designation changed to CS+ and CS−, and with non-coupled CS− inputs tied high and non-coupled CS+ inputs tied low as shown in FIG. 6C at 404. Note that a NOP command may be issued on the command/address path (CA) when a sub-rank is not to be used during a particular cycle. Also, in yet another embodiment, an inverter is placed in the chip-select signal path on the memory module between the connection points to the memory devices of sub-rank A and the connection points to the memory devices of sub-rank B. The functional behavior is similar to that of the embodiment discussed in reference to FIG. 6C, except that the inverter is not added to each of the memory devices but instead is added to the memory module as a separate device.
  • FIGS. 7A-7C illustrate an alternative approach for enabling independent access to memory sub-ranks. Instead of providing separate chip-select lines, different chip-select-responsive sample latency, or different chip-select assertion polarities, the memory devices of different memory sub-ranks may be programmed or hardwired with sub-rank-specific device identifiers (IDs) that may be compared with counterpart identifiers within incoming commands. Thus, as shown in the exemplary memory module 420 of FIG. 7A, each of the memory devices of memory sub-rank A may be assigned device ID ‘A’, and each of the memory devices of memory sub-rank B may be assigned device ID ‘B’ so that incoming commands bearing device IDs that match one memory sub-rank or the other (i.e., ‘A’ or ‘B’) are received, at least in part, in all memory devices within a given rank (i.e., due to shared chip-select line, CS), but executed only in the specified sub-rank of memory devices having device IDs that match the incoming ID. A special device ID code or command code may be used to select both the sub-rank A and sub-rank B memory devices to enable a commanded operation to be carried out within all the memory devices of a rank or even multiple ranks.
  • FIG. 7B illustrates an embodiment of a device ID discriminator circuit 430 that may be included within memory devices to determine whether the ID value associated within an incoming command (i.e., the command ID) matches a device ID that has been established for the memory device and, if so, assert an enable signal to enable command execution. More specifically, a command/address value received via command/address path CA is sampled within receiver 431 when the chip-select line (CS) is activated, with the received command (and/or associated address value) being stored within a command buffer 433 (note that chip-select may be omitted, with all commands being received and selectively responded to according to the device ID). One or more bits of the command that form the command ID (Cmd ID) are output from the command buffer 433 to a comparator circuit 435 which also receives the device ID (Device ID). The device ID itself may be established through register programming (e.g., programming a register at initialization time using a signaling protocol or other arrangement that enables a particular device or sub-rank of memory devices to receive a unique device identifier), production-time configuration (e.g., fuse-blowing or other operation to establish a non-volatile ID assignment within a configuration circuit of the memory device) or strapping (i.e., coupling selected input contacts or pins of the memory device to particular reference voltages to establish a device ID setting). However established, the device ID and command ID are compared within the comparator circuit 435 (which may be implemented, for example, by one or more exclusive-NOR gates that compare constituent bits of the command ID with corresponding bits of the device ID) which asserts an enable signal (EN) if the command ID and device ID match. The comparator circuit 435 may additionally include logic to detect a rank ID code (e.g., which may be issued by the memory controller if operating the memory sub-ranks as a unified rank) or multi-rank ID (e.g., for enabling command execution in multiple ranks of memory devices) and assert the enable signal in response. A command logic circuit 437 is coupled to receive the command from the command buffer 433 and to the enable output of the comparator circuit 435 and responds to assertion of the enable signal by executing the command. Thus, as shown in FIG. 7C, memory access commands (e.g., including activation (ACT) and column access commands (RD, WR)) bearing a command ID that matches the sub-rank A memory device IDs will be executed within the sub-rank A memory devices, while memory access commands bearing IDs that match the sub-rank B memory devices are executed within the sub-rank B memory devices. If no command is to be conveyed during a given command interval, as shown at 445, the shared chip-select signal may be deasserted (e.g., as shown by the logic ‘0’ state of line CS), so that the command path is not sampled (and thus may have any state as shown by don't care symbols ‘XX’). Note that, in a memory module that has only two memory sub-ranks per memory rank, a single-bit device ID value and single-bit command ID are sufficient for distinguishing the two memory sub-ranks. Accordingly, any signal line of the command path or other signal line between the memory controller (e.g., clock-enable line, row-address strobe, column address strobe, data mask line, etc.) may be used to convey a device ID bit or, more generally, act as a sub-rank select signal.
  • Although embodiments of memory modules have thus far been described as having a single memory rank, a memory module may alternatively have two or more memory ranks, each memory rank or any one of them including separately accessible memory sub-ranks. FIG. 8, for example, illustrates a memory module 500 having two ranks of memory devices 510 and 520 disposed on opposite sides of a substrate 501. Dividing line 502 corresponds to a top edge of the substrate as shown in perspective view 509. Each of the memory ranks 510, 520 is coupled in common to a clock line, CLK, and command/address path, CA (e.g., with the clock and command lines disposed on either side of the memory module coupled to one another through vias or by contact with a common interconnection receptacle or terminal when inserted into a connector), but to separate pairs of chip-select lines, CS-A/CS-B and CS-C/CS-D. By this arrangement, either of the memory ranks 510, 520 may be selected for rank-wide memory access through activation of the corresponding pair of chip-select lines (i.e., CS-A/CS-B or CS-C/CS-D), or two independent, concurrent memory accesses may be initiated within the pair of memory sub-ranks 205/207 or 505/507 of either rank by time-staggered assertion of chip-select signals for the constituent sub-ranks as described in reference to FIGS. 2A-2B. Also, as discussed above, memory access within a single sub-rank may be carried out without access to the counterpart sub-rank (e.g., 205/507 or 505/207). Also, instead of providing multiple chip-select lines per memory rank to permit independent sub-rank access, any of the techniques described above for enabling independent sub-rank access with a shared chip-select line may be applied.
  • FIG. 9 illustrates an embodiment of a data processing system 600 having a processing unit 601 (i.e., one or more processors and/or other memory access requesters) and a memory subsystem 605 that supports concurrent, independent access to memory sub-ranks on one or more memory modules. As shown, the memory subsystem 605 includes a memory controller 607 coupled to memory modules 621 a-621 n, with each memory module 621 including one or more discrete memory devices within memory sub-ranks 623 and 625 (i.e., sub-ranks A and B) and, optionally, a serial-presence detect memory 627 (SPD) or other non-volatile storage that provides characterizing information for the memory module and/or memory devices thereon. In one embodiment, the characterizing information may indicate whether the memory module supports memory accesses at sub-rank granularity and, if so, corresponding capabilities within the memory devices themselves (e.g., whether the devices include programmable registers to support selected support chip-select assertion polarities, sample-enable latencies, sub-rank ID value assignment, etc.). The characterizing information may include various other information relating to operation of the memory devices including, for example and without limitation, storage capacity, maximum operating frequency and/or other memory device characteristics. By this arrangement, the memory controller 607 may read the characterizing information from the SPD 627 for each memory module 621 (or an SPD or like device for the set of memory modules 621 1-621 N) and identify one or more memory modules 621 as supporting independent access to memory sub-ranks. In one embodiment, the memory controller 607 may respond to characterizing information by programming sample-latencies, chip-select assertion polarities or device ID values within the memory devices of the memory modules 621 identified as having such devices. Alternatively, the memory controller 607 may return the characterizing information to the processing unit 601 which may itself be programmed (e.g., through a predetermined instruction/data set such as basic input-output service (BIOS) code) to issue instructions to the memory controller 607 to carry out the programming necessary to configure the memory modules 621 for independent access to selected memory sub-ranks.
  • With respect to sample-latency, chip-select assertion polarity and/or sub-rank ID selection within the memory devices of a given memory module 621, the memory controller 607 may dynamically transition the memory module 621 or any of the memory devices within the sub-ranks 623, 625 thereon between various program settings, for example, in response detecting a threshold density of fine-grained memory access requests (i.e., a threshold number of such access requests within a given time interval or as a threshold percentage of total memory access requests) from the processing unit 601 or in response to an explicit command from the processing unit 601 to establish particular program settings.
  • Within the memory controller 607, parallel transaction queues 609, 611 (TQueue) are provided to queue memory access commands (and associated read and write data) directed to respective memory sub-ranks 623, 625 of a selected memory module 621. Thus, in one embodiment, transaction queue 609 is coupled, via data path DQ-A, to memory sub-rank A 623 within each of the memory modules 621, while transaction queue 611 is coupled via data path DQ-B to memory sub-rank B within each of the memory modules 621. To enable selection of a module-specific memory sub-rank, each of the transaction queues 609 and 611 is coupled via respective chip-select line to each of the memory modules. That is, in one embodiment, there are N pairs of chip-select lines, with the chip-select lines of each pair extending to distinct memory sub-ranks on a respective one of memory modules 621 1-621 N. Each of the transaction queues 609, 611 is additionally coupled to a respective one of internal command paths 610, 611 which are coupled, in turn, to inputs of a command path multiplexer 615. The command path multiplexer 615 responds to a source-select value, SSel, to couple either internal command path 610 or internal command path 612 to command path, CA, and thus select either transaction queue 609 or transaction queue 611 to source the commands and associated address values for a given memory transaction. In one embodiment, a mode-select value (MSel) within the memory controller 607 is used to control whether the transaction queues 609, 611 are operated in a sub-rank access mode or a unified-rank access mode. In the sub-rank access mode, the source-select value may be toggled (e.g., by control logic within the memory controller 607 or the transaction queues 609, 611) after each command output sequence from a given transaction queue to enable the alternate transaction queue to drive command path CA in the ensuing command interval. Alternatively, arbitration logic may be provided to enable arbitrated access to command path CA from the two transaction queues 609, 611. In unified-rank access mode, the command path may be driven exclusively by one transaction queue or the other, with chip-select signals for memory sub-ranks (and the data input/output circuitry within transaction queues or elsewhere within the memory controller 607) being operated in lock step instead of time-staggered. In addition to memory access commands and associated data, one or both of the transaction queues 609, 611 may output operational commands and associated data to the various memory modules 621, for example, to configure the memory devices of the module, (including programming sub-rank access functions such as sampling latency, chip-select assertion polarity, device ID, etc.), read the SPD, perform signaling calibration, refresh operations, and so forth. Such commands may be transmitted under direction of control logic within the memory controller 607 (e.g., in one or both of the transaction queues) or in response to access requests from the processing unit 601 received via host interface path 602 (which may include separate data (Data) and request components (Req) as shown or a time-multiplexed path).
  • Although memory modules 621 are depicted in the system of FIG. 9, the memory devices 625 that form each memory rank (and, optionally, associated or integrated SPD elements 627) may be mounted directly to a mother board, or integrated into a multi-chip module, along with the memory controller 607 and/or processing unit 601 to form, for example, a system-in-package (SIP) DRAM system or other system-on-chip (SOC) device. Thus, sub-ranked memory access is not limited to memory module operation, but rather may be effected in accordance with the above principles within any rank of memory devices so that reduced-granularity memory transactions may be carried out with data transfer over respective portions of a data path, and with commands sent over a shared command path. Also, the data paths (DQ-A and DQ-B), command/address path (CA) and other signaling paths or lines coupled between the memory controller 607 and memory devices of the various memory modules 621 may be implemented using virtually any signaling channel, including an electronic conduction path (e.g., wires or electronically conductive traces), an optical path or wireless signaling channel. Further, the processing unit 601, memory controller 607, and/or one or more of memory devices that populate the memory modules 621 may be combined on a single integrated circuit die in an alternative embodiment.
  • It should be noted that the various circuits disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Formats of files and other objects in which such circuit expressions may be implemented include, but are not limited to, formats supporting behavioral languages such as C, Verilog, and VHDL, formats supporting register level description languages like RTL, and formats supporting geometry description languages such as GDSII, GDSIII, GDSIV, CIF, MEBES and any other suitable formats and languages. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, etc.).
  • When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits. Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of the circuits in a device fabrication process.
  • In the foregoing description and in the accompanying drawings, specific terminology and drawing symbols have been set forth to provide a thorough understanding of the present invention. In some instances, the terminology and symbols may imply specific details that are not required to practice the invention. For example, the interconnection between circuit elements or circuit blocks may be shown or described as multi-conductor or single conductor signal lines. Each of the multi-conductor signal lines may alternatively be single-conductor signal lines, and each of the single-conductor signal lines may alternatively be multi-conductor signal lines. Signals and signaling paths shown or described as being single-ended may also be differential, and vice-versa. Similarly, signals described or depicted as having active-high or active-low logic levels may have opposite logic levels in alternative embodiments. As another example, circuits described or depicted as including metal oxide semiconductor (MOS) transistors may alternatively be implemented using bipolar technology or any other technology in which logical elements may be implemented. With respect to terminology, a signal is said to be “asserted” when the signal is driven to a low or high logic state (or charged to a high logic state or discharged to a low logic state) to indicate a particular condition. Conversely, a signal is said to be “deasserted” to indicate that the signal is driven (or charged or discharged) to a state other than the asserted state (including a high or low logic state, or the floating state that may occur when the signal driving circuit is transitioned to a high impedance condition, such as an open drain or open collector condition). A signal driving circuit is said to “output” a signal to a signal receiving circuit when the signal driving circuit asserts (or deasserts, if explicitly stated or indicated by context) the signal on a signal line coupled between the signal driving and signal receiving circuits. A signal line is said to be “activated” when a signal is asserted on the signal line, and “deactivated” when the signal is deasserted. Additionally, the prefix symbol “/” attached to signal names indicates that the signal is an active low signal (i.e., the asserted state is a logic low state). A line over a signal name (e.g., ‘ <signal name >’) is also used to indicate an active low signal. The term “coupled” is used herein to express a direct connection as well as a connection through one or more intervening circuits or structures. Integrated circuit device “programming” may include, for example and without limitation, loading a control value into a register or other storage circuit within the device in response to a host instruction and thus controlling an operational aspect of the device, establishing a device configuration or controlling an operational aspect of the device through a one-time programming operation (e.g., blowing fuses within a configuration circuit during device production), and/or connecting one or more selected pins or other contact structures of the device to reference voltage lines (also referred to as strapping) to establish a particular device configuration or operation aspect of the device. The term “exemplary” is used to express an example, not a preference or requirement.
  • While the invention has been described with reference to specific embodiments thereof, it will be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. For example, features or aspects of any of the embodiments may be applied, at least where practicable, in combination with any other of the embodiments or in place of counterpart features or aspects thereof. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims (35)

1. A memory module comprising:
a substrate having signal lines thereon that form a control path and first and second data paths; and
first and second memory devices coupled in common to the control path and coupled respectively to the first and second data paths, the first and second memory devices having control circuitry to receive respective first and second memory access commands via the control path and to effect concurrent data transfer on the first and second data paths in response to the first and second memory access commands.
2. The memory module of claim 1 wherein the first memory access command includes a first address value that indicates a storage location to be accessed within the first memory device, and the second memory access command includes a second address value that indicates a storage location to be accessed within the second memory device.
3. The memory module of claim 1 further comprising:
one or more memory devices that, together with the first memory device, constitute a first set of memory devices, each of the memory devices of the first set being coupled to respective signal lines of the first data path and coupled in common to the control path; and
one or more memory devices that, together with the second memory device, constitute a second set of memory devices, each of the memory devices of the second set being coupled to respective signal lines of the second data path and coupled in common to the control path.
4. The memory module of claim 1 wherein the control circuitry within the first and second memory devices to effect concurrent data transfer on the first and second data paths comprises transmit circuitry within the first memory device to transmit read data on the first data path during a first interval and transmit circuitry within the second memory device to transmit read data on the second data path during a second interval, the first and second intervals at least partly overlapping in time.
5. The memory module of claim 1 wherein the control circuitry within the first and second memory devices to effect concurrent data transfer on the first and second data paths comprises receive circuitry within the first memory device to receive write data via the first data path during a first interval and receive circuitry within the second memory device to receive write data via the second data path during a second interval, the first and second intervals at least partly overlapping in time.
6. The memory module of claim 1 wherein the control circuitry within the first and second memory devices to effect concurrent data transfer on the first and second data paths comprises transmit circuitry within the first memory device to transmit read data on the first data path during a first interval and receive circuitry within the second memory device to receive write data via the second data path during a second interval, the first and second intervals at least partly overlapping in time.
7. The memory module of claim 1 further comprising first and second chip-select lines coupled respectively to the first and second memory devices to enable the first and second memory devices to be independently selected.
8. The memory module of claim 7 wherein the first memory device includes sampling circuitry to sample the first memory access command in response to a first chip-select signal received via the first chip-select line, and the second memory device includes sampling circuitry to sample the second memory access command in response to a second chip-select signal received via the second chip-select line.
9. The memory module of claim 1 further comprising a chip-select line coupled in common to the first and second memory devices, and wherein the first memory device includes sampling circuitry to sample signals present on the control path at a first time relative to assertion of a chip-select signal on the chip-select line to receive the first memory access command, and wherein the second memory device includes sampling circuitry to sample signals present on the control path at a second time relative to assertion of the chip-select signal to receive the second memory access command.
10. The memory module of claim 9 wherein the sampling circuitry within each of the first and second memory devices includes a storage register to store a respective sample-latency value that indicates a number of cycles of a clock signal that are to transpire between assertion of the chip-select signal and sampling of signals on the control path.
11. The memory module of claim 10 wherein each of the first and second memory devices includes control circuitry to receive the respective sample-latency value and an associated register-write command from an external source and to load the sample-latency value into the storage register in response to the register-write command.
12. The memory module of claim 9 wherein each of the first and second memory devices includes first and second chip-select inputs and logic circuitry to assert a sample-enable signal at either the first time or the second time according to whether the chip-select signal is received at the first or second chip-select input, and wherein the chip-select line is coupled to the first chip-select input of the first memory device and to the second chip-select input of the second memory device.
13. The memory module of claim 1 further comprising a chip-select line coupled in common to the first and second memory devices, and wherein the first memory device includes sampling circuitry to sample signals present on the control path in response to a logic-high state of the chip-select line to receive the first memory access command, and wherein the second memory device includes sampling circuitry to sample signals present on the control path in response to a logic-low state of the chip-select line to receive the second memory access command.
14. The memory module of claim 13 wherein the sampling circuitry within each of the first and second memory devices includes a storage register to store a respective level-select value that indicates whether signals on the control path are to be sampled in response to a logic-high or logic-low state of chip-select line.
15. The memory module of claim 14 wherein each of the first and second memory devices includes control circuitry to receive the respective level-select value and an associated register-write command from an external source and to load the sample-latency value into the storage register in response to the register-write command.
16. The memory module of claim 13 wherein each of the first and second memory devices includes first and second chip-select inputs and logic circuitry to assert a sample-enable signal in response to either the logic-high state or the logic-low state of the chip-select line according to whether the chip-select line is coupled to the first or second chip-select input, and wherein the chip-select line is coupled to the first chip-select input of the first memory device and to the second chip-select input of the second memory device.
17. The memory module of claim 1 wherein the first memory device has an identification circuit to enable execution of memory access commands that include a first identifier value and the second memory device has an identification circuit to enable execution of memory access commands that include a second identifier value, and wherein the first and second memory access commands include the first and second identifier values, respectively.
18. The memory module of claim 17 wherein the identification circuit of the first memory device includes a storage register to store the first identifier value in response to a register-write instruction from an external device.
19. The memory module of claim 1 further comprising third and fourth memory devices coupled in common to the control path and coupled respectively to the first and second data paths, the third and fourth memory devices having control circuitry to receive respective third and fourth memory access commands via the control path and to effect concurrent data transfer on the first and second data paths in response to the third and fourth memory access commands during an interval in which the first and second memory devices are disabled from effecting data transfer on the first and second data paths.
20. The memory module of claim 19 wherein the substrate has distinct first and second surfaces and wherein the first and second memory devices are disposed on the first surface and the third and fourth memory devices are disposed on the second surface.
21. The memory module of claim 20 further comprising first and second sets of chip-select lines, each set including one or more constituent chip-select lines, the first set of chip-select lines being coupled to the first and second memory devices and the second set of chip-select lines being coupled to the third and fourth memory devices to enable the first and second memory devices to be selected independently of the third and fourth memory devices.
22. A method of operation within first and second memory devices that are disposed on a memory module and coupled to respective first and second data paths and to a common control path, the method comprising:
receiving, via the control path, a first memory access command within the first memory device and a second memory access command within the second memory device;
conveying first data between the first memory device and the first data path over a first interval and in response to the first memory access command; and
conveying second data between the second memory device and the second data path over a second interval and in response to the second memory access command, the first and second intervals at least partly overlapping in time.
23. The method of claim 22 wherein receiving first and second memory access commands comprises receiving first and second memory read commands, and wherein conveying the first data between the first memory device and the first data path comprises outputting first read data from the first memory device to the first data path in response to the first memory read command, and wherein conveying the second data between the second memory device and the second data path comprises outputting second read data from the second memory device to the second data path in response to the second memory read command.
24. The method of claim 22 wherein receiving first and second memory access commands comprises receiving first and second memory write commands, and wherein conveying the first data between the first memory device and the first data path comprises receiving first write data from the first data path into the first memory device in response to the first memory write command, and wherein conveying the second data between the second memory device and the second data path comprises receiving second write data from the second data path into the second memory device in response to the second memory write command.
25. The method of claim 22 wherein receiving first and second memory access commands comprises receiving a memory read command within the first memory device and a memory write command within the second memory device, and wherein conveying the first data between the first memory device and the first data path comprises outputting read data from the first memory device to the first data path in response to the memory read command, and wherein conveying the second data between the second memory device and the second data path comprises receiving write data from the second data path into the second memory device in response to the memory write command.
26. The method of claim 22 wherein receiving the first memory access command within the first memory device and the second memory access command within the second memory device comprises enabling respective receiver circuits within the first and second memory devices to sample signals present on the control path at respective, non-overlapping intervals.
27. The method of claim 26 wherein enabling respective receiver circuits within the first and second memory devices to sample signals present on the control path at respective, non-overlapping intervals comprises detecting assertion of a first chip-select signal at a first time at an input of the first memory device and detecting assertion of a second chip-select signal at a second time at an input of the second memory device.
28. The method of claim 27 wherein the first and second chip-select signals are conveyed to the first and second memory devices via independent chip-select lines.
29. The method of claim 27 wherein the first and second chip-select signals are conveyed to the first and second memory devices via a common chip-select line, and wherein detecting assertion of the first chip-select signal comprises detecting a logic-high state of the chip-select line and wherein detecting assertion of the second chip-select signal comprises detecting a logic-low state of the chip-select line.
30. The method of claim 29 wherein detecting assertion of the first chip-select signal comprises detecting either a logic-high state of the chip select line or a logic-low state of the chip-select line according to a level-select value stored in a configuration register within the first memory device.
31. The method of claim 26 wherein enabling respective receiver circuits within the first and second memory devices to sample signals present on the control path at respective, non-overlapping intervals comprises enabling a sampling circuit within the first memory device at a first time relative to assertion of a first chip-select signal and enabling a sampling circuit within the second memory device at a second time relative to assertion of the first chip-select signal.
32. The method of claim 31 wherein enabling the sampling circuit within the second memory device comprises enabling the sampling circuit within the second memory device to sample signals present on the control path at time that is delayed, relative to the first time, by a number of clock cycles indicated by a sample-latency value stored in a configuration register within the second memory device.
33. The method of claim 22 wherein receiving the first memory access command within the first memory device and the second memory access command within the second memory device comprises determining whether device identifier values associated with the first and second memory access commands match device identifier values associated with the first and second memory devices.
34. A memory system comprising:
signal lines that form a control path and first and second data paths;
a memory controller coupled to the control path to transmit first and second memory access commands thereon, and coupled to the first and second data paths; and
a memory module having first and second memory devices coupled in common to the control path and coupled respectively to the first and second data paths, the first and second memory devices to having control circuitry receive the first and second memory access commands, respectively, via the control path and to effect concurrent data transfer on the first and second data paths in response to the first and second memory access commands.
35. A method of controlling memory devices disposed on a memory module, the method comprising:
transmitting first and second memory access commands to the first and second memory devices, respectively, via a common control path;
receiving, during a first interval and in response to the first memory access command, data output from the first memory device via a first data path; and
receiving, during a second interval and in response to the second memory access command, data output from the second memory device via a second data path, the second interval at least partly overlapping the first interval in time.
US11/381,349 2006-05-02 2006-05-02 Memory module with reduced access granularity Abandoned US20070260841A1 (en)

Priority Applications (15)

Application Number Priority Date Filing Date Title
US11/381,349 US20070260841A1 (en) 2006-05-02 2006-05-02 Memory module with reduced access granularity
PCT/US2007/067814 WO2007130921A2 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
EP11184627A EP2413328A1 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
EP11179126.5A EP2393086B1 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
JP2009510005A JP5249926B2 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
EP09167223.8A EP2113923B1 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
EP11184623A EP2413327A1 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
EP07782931.5A EP2016497B1 (en) 2006-05-02 2007-04-30 Memory module with reduced access granularity
US12/392,071 US8028144B2 (en) 2006-05-02 2009-02-24 Memory module with reduced access granularity
US13/408,950 US8364926B2 (en) 2006-05-02 2012-02-29 Memory module with reduced access granularity
US14/558,517 US9256557B2 (en) 2006-05-02 2014-12-02 Memory controller for selective rank or subrank access
US15/295,723 US20170132150A1 (en) 2006-05-02 2016-10-17 Memory Controller For Selective Rank Or Subrank Access
US15/665,284 US10191866B2 (en) 2006-05-02 2017-07-31 Memory controller for selective rank or subrank access
US16/223,031 US10795834B2 (en) 2006-05-02 2018-12-17 Memory controller for selective rank or subrank access
US17/009,102 US11467986B2 (en) 2006-05-02 2020-09-01 Memory controller for selective rank or subrank access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/381,349 US20070260841A1 (en) 2006-05-02 2006-05-02 Memory module with reduced access granularity

Related Child Applications (4)

Application Number Title Priority Date Filing Date
US12/392,071 Continuation US8028144B2 (en) 2006-05-02 2009-02-24 Memory module with reduced access granularity
US13/408,950 Continuation US8364926B2 (en) 2006-05-02 2012-02-29 Memory module with reduced access granularity
US14/558,517 Continuation US9256557B2 (en) 2006-05-02 2014-12-02 Memory controller for selective rank or subrank access
US15/295,723 Continuation US20170132150A1 (en) 2006-05-02 2016-10-17 Memory Controller For Selective Rank Or Subrank Access

Publications (1)

Publication Number Publication Date
US20070260841A1 true US20070260841A1 (en) 2007-11-08

Family

ID=38662472

Family Applications (8)

Application Number Title Priority Date Filing Date
US11/381,349 Abandoned US20070260841A1 (en) 2006-05-02 2006-05-02 Memory module with reduced access granularity
US12/392,071 Expired - Fee Related US8028144B2 (en) 2006-05-02 2009-02-24 Memory module with reduced access granularity
US13/408,950 Active US8364926B2 (en) 2006-05-02 2012-02-29 Memory module with reduced access granularity
US14/558,517 Active US9256557B2 (en) 2006-05-02 2014-12-02 Memory controller for selective rank or subrank access
US15/295,723 Abandoned US20170132150A1 (en) 2006-05-02 2016-10-17 Memory Controller For Selective Rank Or Subrank Access
US15/665,284 Active US10191866B2 (en) 2006-05-02 2017-07-31 Memory controller for selective rank or subrank access
US16/223,031 Active 2026-05-04 US10795834B2 (en) 2006-05-02 2018-12-17 Memory controller for selective rank or subrank access
US17/009,102 Active 2026-05-24 US11467986B2 (en) 2006-05-02 2020-09-01 Memory controller for selective rank or subrank access

Family Applications After (7)

Application Number Title Priority Date Filing Date
US12/392,071 Expired - Fee Related US8028144B2 (en) 2006-05-02 2009-02-24 Memory module with reduced access granularity
US13/408,950 Active US8364926B2 (en) 2006-05-02 2012-02-29 Memory module with reduced access granularity
US14/558,517 Active US9256557B2 (en) 2006-05-02 2014-12-02 Memory controller for selective rank or subrank access
US15/295,723 Abandoned US20170132150A1 (en) 2006-05-02 2016-10-17 Memory Controller For Selective Rank Or Subrank Access
US15/665,284 Active US10191866B2 (en) 2006-05-02 2017-07-31 Memory controller for selective rank or subrank access
US16/223,031 Active 2026-05-04 US10795834B2 (en) 2006-05-02 2018-12-17 Memory controller for selective rank or subrank access
US17/009,102 Active 2026-05-24 US11467986B2 (en) 2006-05-02 2020-09-01 Memory controller for selective rank or subrank access

Country Status (4)

Country Link
US (8) US20070260841A1 (en)
EP (5) EP2113923B1 (en)
JP (1) JP5249926B2 (en)
WO (1) WO2007130921A2 (en)

Cited By (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080008023A1 (en) * 2006-07-05 2008-01-10 Martin Brox Memory device, and method for operating a memory device
US20080028127A1 (en) * 2006-07-27 2008-01-31 Ware Frederick A Cross-threaded memory system
US20080229029A1 (en) * 2007-03-13 2008-09-18 Hynix Seminconductor, Inc. Semiconductor Memory System Having Plurality of Ranks Incorporated Therein
US20090063785A1 (en) * 2007-08-31 2009-03-05 Gower Kevin C Buffered Memory Module Supporting Double the Memory Device Data Width in the Same Physical Space as a Conventional Memory Module
US20090154285A1 (en) * 2007-12-14 2009-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US20090190429A1 (en) * 2008-01-24 2009-07-30 Brittain Mark A System to Provide Memory System Power Reduction Without Reducing Overall Memory System Performance
WO2009137157A1 (en) * 2008-03-31 2009-11-12 Rambus Inc. Independent threading of memory devices disposed on memory modules
US20090327596A1 (en) * 2008-06-27 2009-12-31 Intel Corporation Memory controller using time-staggered lockstep sub-channels with buffered memory
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
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
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
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
US8019919B2 (en) 2007-09-05 2011-09-13 International Business Machines Corporation Method 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
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
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
US20130111122A1 (en) * 2011-10-31 2013-05-02 Futurewei Technologies, Inc. Method and apparatus for network table lookups
US20130188656A1 (en) * 2010-10-27 2013-07-25 International Business Machines Corporation Communicating Control Information for a Data Communications Link Via a Line Being Calibrated
US20130258755A1 (en) * 2012-04-02 2013-10-03 Rambus, Inc. Integrated circuit device having programmable input capacitance
US8621159B2 (en) 2009-02-11 2013-12-31 Rambus Inc. Shared access memory scheme
WO2014035950A1 (en) * 2012-08-27 2014-03-06 Invensas Corporation Co-support system and microelectronic assembly
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US8787034B2 (en) 2012-08-27 2014-07-22 Invensas Corporation Co-support system and microelectronic assembly
US8823165B2 (en) 2011-07-12 2014-09-02 Invensas Corporation Memory module in a package
US8848391B2 (en) 2012-08-27 2014-09-30 Invensas Corporation Co-support component and microelectronic assembly
US8848392B2 (en) 2012-08-27 2014-09-30 Invensas Corporation Co-support module and microelectronic assembly
US8854885B2 (en) * 2006-05-17 2014-10-07 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-nand flash memory devices
US8917532B2 (en) 2011-10-03 2014-12-23 Invensas Corporation Stub minimization with terminal grids offset from center of package
US8981547B2 (en) 2011-10-03 2015-03-17 Invensas Corporation Stub minimization for multi-die wirebond assemblies with parallel windows
WO2015048199A1 (en) * 2013-09-24 2015-04-02 Rambus Inc. High capacity memory system
US9070423B2 (en) 2013-06-11 2015-06-30 Invensas Corporation Single package dual channel memory with co-support
US9123555B2 (en) 2013-10-25 2015-09-01 Invensas Corporation Co-support for XFD packaging
US9165639B2 (en) 2013-11-11 2015-10-20 Rambus Inc. High capacity memory system using standard controller component
US20150370731A1 (en) * 2014-06-19 2015-12-24 SK Hynix Inc. Memory system and method for operating the same
US9224431B2 (en) 2011-10-03 2015-12-29 Invensas Corporation Stub minimization using duplicate sets of signal terminals
US9232651B2 (en) 2013-10-15 2016-01-05 Rambus Inc. Load reduced memory module
US9281296B2 (en) 2014-07-31 2016-03-08 Invensas Corporation Die stacking techniques in BGA memory package for small footprint CPU and memory motherboard design
US9281271B2 (en) 2011-10-03 2016-03-08 Invensas Corporation Stub minimization using duplicate sets of signal terminals having modulo-x symmetry in assemblies without wirebonds to package substrate
US20160071608A1 (en) * 2006-11-29 2016-03-10 Rambus Inc. Dynamic memory rank configuration
US9287195B2 (en) 2011-10-03 2016-03-15 Invensas Corporation Stub minimization using duplicate sets of terminals having modulo-x symmetry for wirebond assemblies without windows
US9368477B2 (en) 2012-08-27 2016-06-14 Invensas Corporation Co-support circuit panel and microelectronic packages
US9377824B2 (en) 2011-10-03 2016-06-28 Invensas Corporation Microelectronic assembly including memory packages connected to circuit panel, the memory packages having stub minimization for wirebond assemblies without windows
US9484080B1 (en) 2015-11-09 2016-11-01 Invensas Corporation High-bandwidth memory application with controlled impedance loading
US9569393B2 (en) 2012-08-10 2017-02-14 Rambus Inc. Memory module threading with staggered data transfers
US20170110169A1 (en) * 2015-10-20 2017-04-20 Samsung Electronics Co., Ltd. Memory device and system supporting command bus training, and operating method thereof
US9679613B1 (en) 2016-05-06 2017-06-13 Invensas Corporation TFD I/O partition for high-speed, high-density applications
US9679838B2 (en) 2011-10-03 2017-06-13 Invensas Corporation Stub minimization for assemblies without wirebonds to package substrate
US9684629B2 (en) 2012-07-30 2017-06-20 International Business Machines Corporation Efficient calibration of a low power parallel data communications channel
US9691437B2 (en) 2014-09-25 2017-06-27 Invensas Corporation Compact microelectronic assembly having reduced spacing between controller and memory packages
US9715270B2 (en) 2015-11-30 2017-07-25 International Business Machines Corporation Power reduction in a parallel data communications interface using clock resynchronization
US9715909B2 (en) 2013-03-14 2017-07-25 Micron Technology, Inc. Apparatuses and methods for controlling data timing in a multi-memory system
US20170220294A1 (en) * 2016-02-03 2017-08-03 SK Hynix Inc. Memory system
WO2017142651A1 (en) * 2016-02-15 2017-08-24 Qualcomm Incorporated Systems and methods for individually configuring dynamic random access memories sharing a common command access bus
KR20170111354A (en) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 Non-volatile dual in line memory system, memory module and operation method of the same
WO2018044391A1 (en) 2016-09-02 2018-03-08 Rambus Inc. Memory component with input/output data rate alignment
US9959918B2 (en) 2015-10-20 2018-05-01 Samsung Electronics Co., Ltd. Memory device and system supporting command bus training, and operating method thereof
US9965387B1 (en) * 2010-07-09 2018-05-08 Cypress Semiconductor Corporation Memory devices having embedded hardware acceleration and corresponding methods
US20180174624A1 (en) * 2013-10-16 2018-06-21 Rambus Inc. Memory component with adjustable core-to-interface data rate ratio
US20180268882A1 (en) * 2007-04-12 2018-09-20 Rambus Inc. Memory Controllers, Systems, and Methods Supporting Multiple Request Modes
US20180275924A1 (en) * 2017-03-23 2018-09-27 Fanuc Corporation Multi-rank sdram control method and sdram controller
CN108694964A (en) * 2017-04-06 2018-10-23 爱思开海力士有限公司 Data storage device
US10162772B2 (en) 2010-11-29 2018-12-25 Rambus Inc. Clock generation for timing communications with ranks of memory devices
CN109117399A (en) * 2013-08-07 2019-01-01 美光科技公司 Reduce device, the system and method for chip selection
CN109416656A (en) * 2016-10-31 2019-03-01 拉姆伯斯公司 Mixing memory module
CN109545254A (en) * 2017-09-21 2019-03-29 爱思开海力士有限公司 Memory chip, the buffer chip module and memory module for controlling it
US20190286338A1 (en) * 2018-03-19 2019-09-19 Toshiba Memory Corporation Memory system
CN110265070A (en) * 2015-09-25 2019-09-20 意法半导体(鲁塞)公司 Non-volatile memory devices with memory-size
US10423558B1 (en) * 2018-08-08 2019-09-24 Apple Inc. Systems and methods for controlling data on a bus using latency
US11023387B1 (en) * 2014-09-09 2021-06-01 Radian Memory Systems, Inc. Nonvolatile/persistent memory with namespaces configured across channels and/or dies
US11328753B2 (en) * 2020-02-17 2022-05-10 SK Hynix Inc. Methods of performing self-write operation and semiconductor devices used therefor
US11487657B1 (en) 2013-01-28 2022-11-01 Radian Memory Systems, Inc. Storage system with multiplane segments and cooperative flash management
US11740801B1 (en) 2013-01-28 2023-08-29 Radian Memory Systems, Inc. Cooperative flash management of storage device subdivisions
US11899575B1 (en) 2013-01-28 2024-02-13 Radian Memory Systems, Inc. Flash memory system with address-based subdivision selection by host and metadata management in storage drive
US11963299B2 (en) 2022-04-21 2024-04-16 Rambus Inc. Load reduced memory module

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280428B2 (en) 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
US20070260841A1 (en) * 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
KR100968458B1 (en) * 2008-10-14 2010-07-07 주식회사 하이닉스반도체 Semiconductor Memory Apparatus
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
CN202758883U (en) * 2009-05-26 2013-02-27 拉姆伯斯公司 Stacked semiconductor device assembly
JP2010282511A (en) * 2009-06-05 2010-12-16 Elpida Memory Inc Memory module and memory system including the same
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
TWI449043B (en) * 2009-12-17 2014-08-11 Novatek Microelectronics Corp High speed memory system
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8848905B1 (en) * 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
US8972689B1 (en) * 2011-02-02 2015-03-03 Violin Memory, Inc. Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media
US20120272013A1 (en) * 2011-04-25 2012-10-25 Ming-Shi Liou Data access system with at least multiple configurable chip select signals transmitted to different memory ranks and related data access method thereof
US9268719B2 (en) 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
US9025409B2 (en) 2011-08-05 2015-05-05 Rambus Inc. Memory buffers and modules supporting dynamic point-to-point connections
KR101804521B1 (en) * 2011-08-16 2017-12-07 에스케이하이닉스 주식회사 Integrated circuit, operation method of the same and system including the same, memory and memory system
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
WO2013095618A1 (en) 2011-12-23 2013-06-27 Intel Corporation Instruction execution that broadcasts and masks data values at different levels of granularity
US9563597B2 (en) 2012-03-19 2017-02-07 Rambus Inc. High capacity memory systems with inter-rank skew tolerance
US9275699B2 (en) 2012-08-17 2016-03-01 Rambus Inc. Memory with alternative command interfaces
US10318365B2 (en) * 2012-11-02 2019-06-11 Hewlett Packard Enterprise Development Lp Selective error correcting code and memory access granularity switching
US9070572B2 (en) 2012-11-15 2015-06-30 Samsung Electronics Co., Ltd. Memory module and memory system
US9064603B1 (en) * 2012-11-28 2015-06-23 Samsung Electronics Co., Ltd. Semiconductor memory device and memory system including the same
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9053815B2 (en) * 2013-05-28 2015-06-09 Nanya Technology Corporation Circuit in dynamic random access memory devices
US9990131B2 (en) * 2014-09-22 2018-06-05 Xilinx, Inc. Managing memory in a multiprocessor system
US9501664B1 (en) 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
WO2017023508A1 (en) 2015-08-06 2017-02-09 Rambus Inc. High performance, high capacity memory modules and systems
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10402110B2 (en) 2016-08-04 2019-09-03 Rambus Inc. Adjustable access energy and access latency memory system and devices
US10379748B2 (en) 2016-12-19 2019-08-13 International Business Machines Corporation Predictive scheduler for memory rank switching
US10725913B2 (en) 2017-10-02 2020-07-28 Micron Technology, Inc. Variable modulation scheme for memory device access or operation
US11403241B2 (en) 2017-10-02 2022-08-02 Micron Technology, Inc. Communicating data with stacked memory dies
US10490245B2 (en) 2017-10-02 2019-11-26 Micron Technology, Inc. Memory system that supports dual-mode modulation
US10446198B2 (en) 2017-10-02 2019-10-15 Micron Technology, Inc. Multiple concurrent modulation schemes in a memory system
US10355893B2 (en) 2017-10-02 2019-07-16 Micron Technology, Inc. Multiplexing distinct signals on a single pin of a memory device
US10572168B2 (en) * 2017-11-16 2020-02-25 International Business Machines Corporation DRAM bank activation management
KR102471415B1 (en) * 2018-01-17 2022-11-29 에스케이하이닉스 주식회사 Semiconductor device
KR20190113507A (en) 2018-03-27 2019-10-08 삼성전자주식회사 Methods and memory system for optimizing on-die termination (ODT) settings of multi-ranks
CN110310681B (en) 2018-03-27 2023-09-08 三星电子株式会社 Memory device, method of operating the same, memory controller, and method of operating the same
US10846158B2 (en) * 2018-10-08 2020-11-24 Micron Technology, Inc. Apparatus having multiplexers for passive input/output expansion and methods of their operation
WO2020167549A1 (en) 2019-02-12 2020-08-20 Rambus Inc. Memory with variable access granularity
KR102263043B1 (en) 2019-08-07 2021-06-09 삼성전자주식회사 Non-volatile memory device, controller and memory system
US11068200B2 (en) * 2019-11-27 2021-07-20 Alibaba Group Holding Limited Method and system for memory control
US11409684B2 (en) 2020-07-31 2022-08-09 Alibaba Group Holding Limited Processing accelerator architectures
US11625341B2 (en) 2020-08-11 2023-04-11 Alibaba Group Holding Limited Narrow DRAM channel systems and methods
US11500791B2 (en) * 2020-12-10 2022-11-15 Micron Technology, Inc. Status check using chip enable pin
EP4278268A1 (en) * 2021-02-19 2023-11-22 Huawei Technologies Co., Ltd. Dual-port memory module design for composable computing
WO2023087139A1 (en) * 2021-11-16 2023-05-25 Renesas Electronics America Inc. Register clock driver with chip select loopback
US11756606B2 (en) * 2021-12-13 2023-09-12 Advanced Micro Devices, Inc. Method and apparatus for recovering regular access performance in fine-grained DRAM
CN116844600A (en) * 2022-03-23 2023-10-03 长鑫存储技术有限公司 Signal sampling circuit and semiconductor memory
US20240061584A1 (en) * 2022-08-22 2024-02-22 Micron Technologies, Inc. Capability messaging for memory operations across banks with multiple page access

Citations (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US37409A (en) * 1863-01-13 Improved manufacture of palm-leaf hats and bonnets
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
US4569036A (en) * 1982-02-26 1986-02-04 Tokyo Shibaura Denki Kabushiki Kaisha Semiconductor dynamic memory device
US4636982A (en) * 1984-05-04 1987-01-13 Fujitsu Limited Semiconductor memory device
US4646268A (en) * 1983-10-13 1987-02-24 Nec Corporation Semiconductor bipolar memory device operating in high speed
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
US4670745A (en) * 1983-11-15 1987-06-02 Motorola Inc. Video display address generator
US4740921A (en) * 1985-10-04 1988-04-26 Motorola, Inc. Precharge of a dram data line to an intermediate voltage
US4796230A (en) * 1987-06-24 1989-01-03 Intel Corporation Folded-cascode configured differential current steering column decoder circuit
US4800525A (en) * 1984-10-31 1989-01-24 Texas Instruments Incorporated Dual ended folded bit line arrangement and addressing scheme
US4811302A (en) * 1986-06-24 1989-03-07 Nec Corporation Dynamic semiconductor memory with improved sensing scheme
US4825413A (en) * 1987-02-24 1989-04-25 Texas Instruments Incorporated Bipolar-CMOS static ram memory device
US4837743A (en) * 1987-08-17 1989-06-06 Texas Instruments Incorporated Architecture for memory multiplexing
US4837465A (en) * 1985-01-16 1989-06-06 Digital Equipment Corp Single rail CMOS register array and sense amplifier circuit therefor
US4843264A (en) * 1987-11-25 1989-06-27 Visic, Inc. Dynamic sense amplifier for CMOS static RAM
US4903344A (en) * 1987-07-07 1990-02-20 Oki Electric Industry Co., Ltd. Semiconductor memory device with staggered sense amplifiers
US4982370A (en) * 1985-10-04 1991-01-01 Mitsubishi Denki Kabushiki Kaisha Shared sense amplifier semiconductor memory
US4984196A (en) * 1988-05-25 1991-01-08 Texas Instruments, Incorporated High performance bipolar differential sense amplifier in a BiCMOS SRAM
US4985867A (en) * 1988-09-14 1991-01-15 Kawasaki Steel Corporation Semiconductor memory circuit
US4991141A (en) * 1990-02-08 1991-02-05 Texas Instruments Incorporated Sense amplifier and method for sensing the outputs of static random access memory cells
US5093806A (en) * 1988-02-16 1992-03-03 Tran Hiep V Sensing and decoding scheme for a bicmos read/write memory
US5111434A (en) * 1988-12-20 1992-05-05 Ltd. SamSung Electronics Co. Semiconductor memory device
US5119340A (en) * 1990-09-26 1992-06-02 Sgs-Thomson Microelectronics, Inc. Semiconductor memory having latched repeaters for memory row line selection
US5121358A (en) * 1990-09-26 1992-06-09 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with power-on reset controlled latched row line repeaters
US5124610A (en) * 1989-03-03 1992-06-23 E. F. Johnson Company Tritiated light emitting polymer electrical energy source
US5124951A (en) * 1990-09-26 1992-06-23 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with sequenced latched row line repeaters
US5181205A (en) * 1990-04-10 1993-01-19 National Semiconductor Corporation Short circuit detector circuit for memory arrays
US5193072A (en) * 1990-12-21 1993-03-09 Vlsi Technology, Inc. Hidden refresh of a dynamic random access memory
US5193074A (en) * 1990-02-09 1993-03-09 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having hierarchical row selecting lines
US5214610A (en) * 1989-09-22 1993-05-25 Texas Instruments Incorporated Memory with selective address transition detection for cache operation
US5222047A (en) * 1987-05-15 1993-06-22 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for driving word line in block access memory
US5291444A (en) * 1991-12-23 1994-03-01 Texas Instruments Incorporated Combination DRAM and SRAM memory array
US5301162A (en) * 1992-03-26 1994-04-05 Nec Corporation Semiconductor random access memory device having shared sense amplifiers serving as a cache memory
US5305280A (en) * 1991-04-04 1994-04-19 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having on the same chip a plurality of memory circuits among which data transfer is performed to each other and an operating method thereof
US5321646A (en) * 1991-04-09 1994-06-14 Mitsubishi Denki Kabushiki Kaisha Layout of a semiconductor memory device
US5383159A (en) * 1992-09-17 1995-01-17 Sharp Kabushiki Kaisha Semiconductor memory device of alternately-activated open bit-line architecture
US5390308A (en) * 1992-04-15 1995-02-14 Rambus, Inc. Method and apparatus for address mapping of dynamic random access memory
US5394528A (en) * 1991-11-05 1995-02-28 Mitsubishi Denki Kabushiki Kaisha Data processor with bus-sizing function
US5406526A (en) * 1992-10-01 1995-04-11 Nec Corporation Dynamic random access memory device having sense amplifier arrays selectively activated when associated memory cell sub-arrays are accessed
US5414662A (en) * 1990-04-06 1995-05-09 Mosaid Technologies Incorporated Dynamic random access memory using imperfect isolating transistors
US5418737A (en) * 1990-09-17 1995-05-23 Texas Instruments Incorporated DRAM with sub data lines and match lines for test
US5428389A (en) * 1990-06-14 1995-06-27 Fuji Photo Film Co., Ltd. Image data storage/processing apparatus
US5485430A (en) * 1992-12-22 1996-01-16 Sgs-Thomson Microelectronics, Inc. Multiple clocked dynamic sense amplifier
US5517456A (en) * 1993-11-02 1996-05-14 Nec Corporation Semiconductor memory device including a word line driving circuit of the divisional decoding type
US5530814A (en) * 1991-10-30 1996-06-25 I-Cube, Inc. Bi-directional crossbar switch with control memory for selectively routing signals between pairs of signal ports
US5614855A (en) * 1994-02-15 1997-03-25 Rambus, Inc. Delay-locked loop
US5717871A (en) * 1995-08-17 1998-02-10 I-Cube, Inc. Crossbar switch with input/output buffers having multiplexed control inputs
US5717901A (en) * 1995-05-17 1998-02-10 Altera Corporation Variable depth and width memory device
US5748561A (en) * 1994-08-23 1998-05-05 Sharp Kabushiki Kaisha Semiconductor memory device with fast successive read operation
US5751657A (en) * 1996-01-26 1998-05-12 Sharp Kabushiki Kaisha Semiconductor memory device
US5864505A (en) * 1996-07-17 1999-01-26 Nec Corporation Random access memory with plural simultaneously operable banks
US5875132A (en) * 1989-10-11 1999-02-23 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device for storing data comprising of plural bits and method for operating the same
US5881017A (en) * 1997-01-10 1999-03-09 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device allowing fast operation in either of prefetch operation and full page mode operation
US5892981A (en) * 1996-10-10 1999-04-06 Hewlett-Packard Company Memory system and device
US5893927A (en) * 1996-09-13 1999-04-13 International Business Machines Corporation Memory device having programmable device width, method of programming, and method of setting device width for memory device
US5903509A (en) * 1995-12-29 1999-05-11 Micron Technology, Inc. Memory device with multiple internal banks and staggered command execution
US5982981A (en) * 1993-05-25 1999-11-09 Olympus Optical Co., Ltd. Electronic imaging apparatus
US6034878A (en) * 1996-12-16 2000-03-07 Hitachi, Ltd. Source-clock-synchronized memory system and memory unit
US6047347A (en) * 1997-02-04 2000-04-04 Advanced Micro Devices, Inc. Computer system with programmable bus size
US6049855A (en) * 1997-07-02 2000-04-11 Micron Electronics, Inc. Segmented memory system employing different interleaving scheme for each different memory segment
US6050983A (en) * 1998-10-27 2000-04-18 Moore; Diane Sound-insulated gas-diverting colostomy container
US6075728A (en) * 1997-02-28 2000-06-13 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device accessible at high speed
US6185149B1 (en) * 1998-06-30 2001-02-06 Fujitsu Limited Semiconductor integrated circuit memory
US6240040B1 (en) * 2000-03-15 2001-05-29 Advanced Micro Devices, Inc. Multiple bank simultaneous operation for a flash memory
US6240039B1 (en) * 1999-06-26 2001-05-29 Samsung Electronics Co., Ltd. Semiconductor memory device and driving signal generator therefor
US6356975B1 (en) * 1997-10-10 2002-03-12 Rambus Incorporated Apparatus and method for pipelined memory operations
US6363454B1 (en) * 1996-04-23 2002-03-26 Micron Technology, Inc. Memory system having flexible architecture and method
US6366995B1 (en) * 1998-08-19 2002-04-02 Acuid Corporation Limited System and a method for defining transforms of memory device addresses
US6393543B1 (en) * 1998-11-12 2002-05-21 Acuid Corporation Limited System and a method for transformation of memory device addresses
US6396764B1 (en) * 2000-11-16 2002-05-28 Silicon Aquarius, Inc. Segmented memory architecture and systems and methods using the same
US20030009612A1 (en) * 2000-03-10 2003-01-09 David Latta Memory interface and method of interfacing between functional entities
US20030048616A1 (en) * 2001-09-10 2003-03-13 Samsung Electronics Co., Ltd. Memory module
US20030052885A1 (en) * 2001-09-07 2003-03-20 Hampel Craig E. Granularity memory column access
US6680736B1 (en) * 1998-09-03 2004-01-20 Samsung Electronics Co., Ltd. Graphic display systems having paired memory arrays therein that can be row accessed with 2(2n) degrees of freedom
US20040019756A1 (en) * 2001-02-28 2004-01-29 Perego Richard E. Memory device supporting a dynamically configurable core organization
US6687796B1 (en) * 1999-06-09 2004-02-03 Texas Instruments Incorporated Multi-channel DMA with request scheduling
US20040037133A1 (en) * 2002-08-23 2004-02-26 Park Myun-Joo Semiconductor memory system having multiple system data buses
US20040073772A1 (en) * 2002-10-11 2004-04-15 Erdem Hokenek Method and apparatus for thread-based memory access in a multithreaded processor
US6725316B1 (en) * 2000-08-18 2004-04-20 Micron Technology, Inc. Method and apparatus for combining architectures with logic option
US6742098B1 (en) * 2000-10-03 2004-05-25 Intel Corporation Dual-port buffer-to-memory interface
US20050015539A1 (en) * 2002-01-09 2005-01-20 Takashi Horii Memory system and memory card
US6854042B1 (en) * 2002-07-22 2005-02-08 Chris Karabatsos High-speed data-rate converting and switching circuit
US6877079B2 (en) * 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
US6885572B2 (en) * 2002-05-31 2005-04-26 Elpida Memory, Inc. Semiconductor memory device
US6895474B2 (en) * 2002-04-29 2005-05-17 Micron Technology, Inc. Synchronous DRAM with selectable internal prefetch size
US20060004976A1 (en) * 2001-11-08 2006-01-05 Rader Sheila M Shared memory architecture
US20060039227A1 (en) * 2004-08-17 2006-02-23 Lawrence Lai Memory device having staggered memory operations
US20060047899A1 (en) * 2004-08-27 2006-03-02 Junichi Ilda Storage device control apparatus
US20060067146A1 (en) * 2004-09-30 2006-03-30 Steven Woo Integrated circuit memory system having dynamic memory bank count and page size
US20060072366A1 (en) * 2004-09-30 2006-04-06 Ware Frederick A Multi-column addressing mode memory system including an integrated circuit memory device
US7039782B2 (en) * 1999-07-23 2006-05-02 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US7187572B2 (en) * 2002-06-28 2007-03-06 Rambus Inc. Early read after write operation memory device, system and method
US20080028135A1 (en) * 2006-07-31 2008-01-31 Metaram, Inc. Multiple-component memory interface system and method
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4542483A (en) 1983-12-02 1985-09-17 At&T Bell Laboratories Dual stage sense amplifier for dynamic random access memory
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
FR2566950B1 (en) 1984-06-29 1986-12-26 Texas Instruments France VIDEO IMAGE POINT PROCESSOR, VIEWING SYSTEM COMPRISING APPLICATION AND METHOD FOR IMPLEMENTING SAME
US4758993A (en) 1984-11-19 1988-07-19 Fujitsu Limited Random access memory device formed on a semiconductor substrate having an array of memory cells divided into sub-arrays
JPS61139866A (en) 1984-12-11 1986-06-27 Toshiba Corp Microprocessor
US4698788A (en) 1985-07-01 1987-10-06 Motorola, Inc. Memory architecture with sub-arrays
US4700328A (en) 1985-07-11 1987-10-13 Intel Corporation High speed and high efficiency layout for dram circuits
US4710902A (en) 1985-10-04 1987-12-01 Motorola, Inc. Technique restore for a dynamic random access memory
US4888732A (en) 1987-02-23 1989-12-19 Matsushita Electric Industrial Co., Ltd. Dynamic random access memory having open bit line architecture
US4961168A (en) 1987-02-24 1990-10-02 Texas Instruments Incorporated Bipolar-CMOS static random access memory device with bit line bias control
US4787858A (en) 1987-03-23 1988-11-29 Digital Equipment Corporation Latching system for computer plug
US5146592A (en) 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
US5274596A (en) 1987-09-16 1993-12-28 Kabushiki Kaisha Toshiba Dynamic semiconductor memory device having simultaneous operation of adjacent blocks
US4862421A (en) 1988-02-16 1989-08-29 Texas Instruments Incorporated Sensing and decoding scheme for a BiCMOS read/write memory
JPH0212541A (en) 1988-04-29 1990-01-17 Internatl Business Mach Corp <Ibm> Computing system and operation thereof
US4998262A (en) 1989-10-10 1991-03-05 Hewlett-Packard Company Generation of topology independent reference signals
US5150330A (en) 1990-01-24 1992-09-22 Vlsi Technology, Inc. Interblock dispersed-word memory architecture
US5046050A (en) 1990-04-10 1991-09-03 National Semiconductor Corporation Shared BiCMOS sense amplifier
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Integrated circuit i/o using a high performance bus interface
JP3058431B2 (en) 1990-06-12 2000-07-04 株式会社東芝 Semiconductor storage device
US5132931A (en) 1990-08-28 1992-07-21 Analog Devices, Inc. Sense enable timing circuit for a random access memory
US5128897A (en) 1990-09-26 1992-07-07 Sgs-Thomson Microelectronics, Inc. Semiconductor memory having improved latched repeaters for memory row line selection
JP2630059B2 (en) 1990-11-09 1997-07-16 日本電気株式会社 Semiconductor memory device
US5241503A (en) 1991-02-25 1993-08-31 Motorola, Inc. Dynamic random access memory with improved page-mode performance and method therefor having isolator between memory cells and sense amplifiers
US5251178A (en) 1991-03-06 1993-10-05 Childers Jimmie D Low-power integrated circuit memory
JP2664810B2 (en) 1991-03-07 1997-10-22 株式会社東芝 Memory cell array division type semiconductor memory device
JP2973668B2 (en) 1991-12-27 1999-11-08 日本電気株式会社 High-speed dynamic random access memory device
KR950000504B1 (en) 1992-01-31 1995-01-24 삼성전자 주식회사 Semiconductor memory device with multiple row address strobe signal
JPH05290573A (en) 1992-04-13 1993-11-05 Hitachi Ltd Semiconductor memory
US5432743A (en) 1992-06-30 1995-07-11 Nec Corporation Semiconductor dynamic RAM for image processing
US5455802A (en) 1992-12-22 1995-10-03 Sgs-Thomson Microelectronics, Inc. Dual dynamic sense amplifiers for a memory array
JPH06267275A (en) 1993-03-10 1994-09-22 Fujitsu Ltd Circuit and method for controlling sense amplifier
JPH06314264A (en) 1993-05-06 1994-11-08 Nec Corp Self-routing cross bar switch
JP2875476B2 (en) 1993-12-06 1999-03-31 松下電器産業株式会社 Semiconductor memory device
JPH07262767A (en) 1994-03-17 1995-10-13 Fujitsu Ltd Synchronous dram
US5675180A (en) 1994-06-23 1997-10-07 Cubic Memory, Inc. Vertical interconnect process for silicon segments
US5655113A (en) 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
GB9423038D0 (en) 1994-11-15 1995-01-04 Sgs Thomson Microelectronics An integrated circuit memory device with voltage boost
JPH08278916A (en) 1994-11-30 1996-10-22 Hitachi Ltd Multichannel memory system, transfer information synchronizing method, and signal transfer circuit
US5652870A (en) 1995-04-11 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Microcomputer having multiplexable input-output port
US6128700A (en) 1995-05-17 2000-10-03 Monolithic System Technology, Inc. System utilizing a DRAM array as a next level cache memory and method for operating same
US5787267A (en) 1995-06-07 1998-07-28 Monolithic System Technology, Inc. Caching method and circuit for a memory system with circuit module architecture
US5801985A (en) 1995-07-28 1998-09-01 Micron Technology, Inc. Memory system having programmable control parameters
US5666322A (en) 1995-09-21 1997-09-09 Nec Electronics, Inc. Phase-locked loop timing controller in an integrated circuit memory
JPH09231760A (en) 1995-12-20 1997-09-05 Toshiba Corp Semiconductor memory
US5793998A (en) 1996-04-17 1998-08-11 Digital Equipment Corporation Method and apparatus for interconnection of multiple modules
US5852725A (en) 1996-05-10 1998-12-22 Yen; Juei-Hsiang PCI/ISA bus single board computer card/CPU card and backplane using eisa bus connectors and eisa bus slots
US5933023A (en) 1996-09-03 1999-08-03 Xilinx, Inc. FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
US5689472A (en) 1996-10-31 1997-11-18 Silicon Magic Corporation System and method for providing efficient access to a memory bank
JPH10172283A (en) 1996-12-10 1998-06-26 Hitachi Ltd Semiconductor storage and system
US5748554A (en) 1996-12-20 1998-05-05 Rambus, Inc. Memory and method for sensing sub-groups of memory elements
US6125157A (en) 1997-02-06 2000-09-26 Rambus, Inc. Delay-locked loop circuitry for clock delay adjustment
US5825710A (en) 1997-02-26 1998-10-20 Powerchip Semiconductor Corp. Synchronous semiconductor memory device
JP3476646B2 (en) 1997-03-07 2003-12-10 シャープ株式会社 Semiconductor storage device
US5996051A (en) * 1997-04-14 1999-11-30 Advanced Micro Devices, Inc. Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array
EP0887737B1 (en) 1997-06-26 2003-01-22 Hewlett-Packard Company, A Delaware Corporation Reversible connectors
US5958033A (en) 1997-08-13 1999-09-28 Hewlett Packard Company On- the-fly partitionable computer bus for enhanced operation with varying bus clock frequencies
US6247084B1 (en) 1997-10-08 2001-06-12 Lsi Logic Corporation Integrated circuit with unified memory system and dual bus architecture
US6052327A (en) * 1997-10-14 2000-04-18 Altera Corporation Dual-port programmable logic device variable depth and width memory array
US5936885A (en) 1998-02-23 1999-08-10 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory capable of preventing erroneous inversion of data read from memory transistors
US5933387A (en) 1998-03-30 1999-08-03 Richard Mann Divided word line architecture for embedded memories using multiple metal layers
JP4198271B2 (en) 1998-06-30 2008-12-17 富士通マイクロエレクトロニクス株式会社 Semiconductor memory device
JP4540137B2 (en) 1998-07-24 2010-09-08 ルネサスエレクトロニクス株式会社 Synchronous semiconductor memory device
US6138185A (en) 1998-10-29 2000-10-24 Mcdata Corporation High performance crossbar switch
US6311313B1 (en) 1998-12-29 2001-10-30 International Business Machines Corporation X-Y grid tree clock distribution network with tunable tree and grid networks
KR100564421B1 (en) 1998-12-31 2006-06-23 주식회사 하이닉스반도체 Data Width Setting Circuit of Memory Element
US6446158B1 (en) 1999-05-17 2002-09-03 Chris Karabatsos Memory system using FET switches to select memory banks
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US6160750A (en) * 2000-02-04 2000-12-12 Advanced Micro Devices, Inc. Noise reduction during simultaneous operation of a flash memory device
US6434081B1 (en) 2000-05-12 2002-08-13 Micron Technology, Inc. Calibration technique for memory devices
KR100335504B1 (en) 2000-06-30 2002-05-09 윤종용 2 Channel memory system having shared control and address bus and memory modules used therein
US6748556B1 (en) 2000-08-15 2004-06-08 International Business Machines Corporation Changing the thread capacity of a multithreaded computer processor
US6591349B1 (en) 2000-08-31 2003-07-08 Hewlett-Packard Development Company, L.P. Mechanism to reorder memory read and write transactions for reduced latency and increased bandwidth
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6618791B1 (en) 2000-09-29 2003-09-09 Intel Corporation System and method for controlling power states of a memory device via detection of a chip select signal
US6813688B2 (en) * 2000-12-04 2004-11-02 Sun Microsystems, Inc. System and method for efficient data mirroring in a pair of storage devices
TW561485B (en) 2001-03-22 2003-11-11 Fujitsu Ltd Semiconductor memory device and information processing system
US6587917B2 (en) 2001-05-29 2003-07-01 Agilent Technologies, Inc. Memory architecture for supporting concurrent access of different types
JP2003007052A (en) 2001-06-20 2003-01-10 Mitsubishi Electric Corp Semiconductor memory and memory system using it
US6920540B2 (en) 2001-10-22 2005-07-19 Rambus Inc. Timing calibration apparatus and method for a memory device signaling system
US6678204B2 (en) 2001-12-27 2004-01-13 Elpida Memory Inc. Semiconductor memory device with high-speed operation and methods of using and designing thereof
WO2003060921A1 (en) 2002-01-11 2003-07-24 Sony Corporation Memory cell circuit, memory device, motion vector detection device, and motion compensation prediction coding device.
JP2003272377A (en) 2002-03-13 2003-09-26 Fujitsu Ltd Semiconductor memory device
JP4136429B2 (en) 2002-04-10 2008-08-20 富士通株式会社 Semiconductor device
US6643212B1 (en) 2002-04-18 2003-11-04 United Memories, Inc. Simultaneous function dynamic random access memory device technique
US7043599B1 (en) 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
JP4159415B2 (en) * 2002-08-23 2008-10-01 エルピーダメモリ株式会社 Memory module and memory system
KR100560646B1 (en) 2002-12-20 2006-03-16 삼성전자주식회사 Semiconductor memory device having delayed autoprecharge function
US6754120B1 (en) 2003-02-11 2004-06-22 Rambus Inc. DRAM output circuitry supporting sequential data capture to reduce core access times
US6931479B2 (en) * 2003-03-04 2005-08-16 Micron Technology, Inc. Method and apparatus for multi-functional inputs of a memory device
KR100532432B1 (en) * 2003-05-02 2005-11-30 삼성전자주식회사 Memory system capable of transporting command and address signals fast
US6982892B2 (en) * 2003-05-08 2006-01-03 Micron Technology, Inc. Apparatus and methods for a physical layout of simultaneously sub-accessible memory modules
DE10330812B4 (en) 2003-07-08 2006-07-06 Infineon Technologies Ag Semiconductor memory module
US7076617B2 (en) * 2003-09-30 2006-07-11 Intel Corporation Adaptive page management
US7133324B2 (en) 2003-12-24 2006-11-07 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory devices having dual data rate 1 (DDR1) and DDR2 modes of operation and methods of operating same
US7281079B2 (en) 2003-12-31 2007-10-09 Intel Corporation Method and apparatus to counter mismatched burst lengths
JP4489454B2 (en) 2004-02-16 2010-06-23 富士通マイクロエレクトロニクス株式会社 Semiconductor integrated circuit
DE102005021894A1 (en) * 2004-05-08 2006-01-12 Samsung Electronics Co., Ltd., Suwon Memory system has memory module connected to memory controller that outputs disable and enable signals to disable and enable command for setting different mode registers in module
US7266667B2 (en) 2004-11-12 2007-09-04 Infineon Technologies Ag Memory access using multiple sets of address/data lines
US7464225B2 (en) 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US20070260841A1 (en) 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
EP2143107B1 (en) 2007-04-12 2017-03-22 Rambus Inc. Memory system with point-to-point request interconnect
US8380943B2 (en) 2008-01-07 2013-02-19 Rambus Inc. Variable-width memory module and buffer
EP2370975B1 (en) * 2009-01-12 2016-09-28 Rambus Inc. Clock-forwarding low-power signaling system
WO2014042183A1 (en) * 2012-09-14 2014-03-20 ピーエスフォー ルクスコ エスエイアールエル Semiconductor device
JP6146508B1 (en) * 2016-03-31 2017-06-14 日本電気株式会社 Synchronous processing unit, device, system and method
US11726815B2 (en) * 2019-07-15 2023-08-15 Micron Technology, Inc. Scheduling command execution

Patent Citations (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US37409A (en) * 1863-01-13 Improved manufacture of palm-leaf hats and bonnets
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
US4569036A (en) * 1982-02-26 1986-02-04 Tokyo Shibaura Denki Kabushiki Kaisha Semiconductor dynamic memory device
US4646268A (en) * 1983-10-13 1987-02-24 Nec Corporation Semiconductor bipolar memory device operating in high speed
US4670745A (en) * 1983-11-15 1987-06-02 Motorola Inc. Video display address generator
US4636982A (en) * 1984-05-04 1987-01-13 Fujitsu Limited Semiconductor memory device
US4800525A (en) * 1984-10-31 1989-01-24 Texas Instruments Incorporated Dual ended folded bit line arrangement and addressing scheme
US4837465A (en) * 1985-01-16 1989-06-06 Digital Equipment Corp Single rail CMOS register array and sense amplifier circuit therefor
US4740921A (en) * 1985-10-04 1988-04-26 Motorola, Inc. Precharge of a dram data line to an intermediate voltage
US4982370A (en) * 1985-10-04 1991-01-01 Mitsubishi Denki Kabushiki Kaisha Shared sense amplifier semiconductor memory
US4811302A (en) * 1986-06-24 1989-03-07 Nec Corporation Dynamic semiconductor memory with improved sensing scheme
US4825413A (en) * 1987-02-24 1989-04-25 Texas Instruments Incorporated Bipolar-CMOS static ram memory device
US5222047A (en) * 1987-05-15 1993-06-22 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for driving word line in block access memory
US4796230A (en) * 1987-06-24 1989-01-03 Intel Corporation Folded-cascode configured differential current steering column decoder circuit
US4903344A (en) * 1987-07-07 1990-02-20 Oki Electric Industry Co., Ltd. Semiconductor memory device with staggered sense amplifiers
US4837743A (en) * 1987-08-17 1989-06-06 Texas Instruments Incorporated Architecture for memory multiplexing
US4843264A (en) * 1987-11-25 1989-06-27 Visic, Inc. Dynamic sense amplifier for CMOS static RAM
US5093806A (en) * 1988-02-16 1992-03-03 Tran Hiep V Sensing and decoding scheme for a bicmos read/write memory
US4984196A (en) * 1988-05-25 1991-01-08 Texas Instruments, Incorporated High performance bipolar differential sense amplifier in a BiCMOS SRAM
US4985867A (en) * 1988-09-14 1991-01-15 Kawasaki Steel Corporation Semiconductor memory circuit
US5111434A (en) * 1988-12-20 1992-05-05 Ltd. SamSung Electronics Co. Semiconductor memory device
US5124610A (en) * 1989-03-03 1992-06-23 E. F. Johnson Company Tritiated light emitting polymer electrical energy source
US5214610A (en) * 1989-09-22 1993-05-25 Texas Instruments Incorporated Memory with selective address transition detection for cache operation
US5875132A (en) * 1989-10-11 1999-02-23 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device for storing data comprising of plural bits and method for operating the same
US4991141A (en) * 1990-02-08 1991-02-05 Texas Instruments Incorporated Sense amplifier and method for sensing the outputs of static random access memory cells
US5193074A (en) * 1990-02-09 1993-03-09 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having hierarchical row selecting lines
US5414662A (en) * 1990-04-06 1995-05-09 Mosaid Technologies Incorporated Dynamic random access memory using imperfect isolating transistors
US5181205A (en) * 1990-04-10 1993-01-19 National Semiconductor Corporation Short circuit detector circuit for memory arrays
US5428389A (en) * 1990-06-14 1995-06-27 Fuji Photo Film Co., Ltd. Image data storage/processing apparatus
US5418737A (en) * 1990-09-17 1995-05-23 Texas Instruments Incorporated DRAM with sub data lines and match lines for test
US5124951A (en) * 1990-09-26 1992-06-23 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with sequenced latched row line repeaters
US5119340A (en) * 1990-09-26 1992-06-02 Sgs-Thomson Microelectronics, Inc. Semiconductor memory having latched repeaters for memory row line selection
US5121358A (en) * 1990-09-26 1992-06-09 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with power-on reset controlled latched row line repeaters
US5193072A (en) * 1990-12-21 1993-03-09 Vlsi Technology, Inc. Hidden refresh of a dynamic random access memory
US5305280A (en) * 1991-04-04 1994-04-19 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having on the same chip a plurality of memory circuits among which data transfer is performed to each other and an operating method thereof
US5321646A (en) * 1991-04-09 1994-06-14 Mitsubishi Denki Kabushiki Kaisha Layout of a semiconductor memory device
US5530814A (en) * 1991-10-30 1996-06-25 I-Cube, Inc. Bi-directional crossbar switch with control memory for selectively routing signals between pairs of signal ports
US5394528A (en) * 1991-11-05 1995-02-28 Mitsubishi Denki Kabushiki Kaisha Data processor with bus-sizing function
US5291444A (en) * 1991-12-23 1994-03-01 Texas Instruments Incorporated Combination DRAM and SRAM memory array
US5301162A (en) * 1992-03-26 1994-04-05 Nec Corporation Semiconductor random access memory device having shared sense amplifiers serving as a cache memory
US5390308A (en) * 1992-04-15 1995-02-14 Rambus, Inc. Method and apparatus for address mapping of dynamic random access memory
US5383159A (en) * 1992-09-17 1995-01-17 Sharp Kabushiki Kaisha Semiconductor memory device of alternately-activated open bit-line architecture
US5406526A (en) * 1992-10-01 1995-04-11 Nec Corporation Dynamic random access memory device having sense amplifier arrays selectively activated when associated memory cell sub-arrays are accessed
US5485430A (en) * 1992-12-22 1996-01-16 Sgs-Thomson Microelectronics, Inc. Multiple clocked dynamic sense amplifier
US5982981A (en) * 1993-05-25 1999-11-09 Olympus Optical Co., Ltd. Electronic imaging apparatus
US5517456A (en) * 1993-11-02 1996-05-14 Nec Corporation Semiconductor memory device including a word line driving circuit of the divisional decoding type
US5614855A (en) * 1994-02-15 1997-03-25 Rambus, Inc. Delay-locked loop
US5748561A (en) * 1994-08-23 1998-05-05 Sharp Kabushiki Kaisha Semiconductor memory device with fast successive read operation
US5717901A (en) * 1995-05-17 1998-02-10 Altera Corporation Variable depth and width memory device
US5717871A (en) * 1995-08-17 1998-02-10 I-Cube, Inc. Crossbar switch with input/output buffers having multiplexed control inputs
US5903509A (en) * 1995-12-29 1999-05-11 Micron Technology, Inc. Memory device with multiple internal banks and staggered command execution
US5751657A (en) * 1996-01-26 1998-05-12 Sharp Kabushiki Kaisha Semiconductor memory device
US6363454B1 (en) * 1996-04-23 2002-03-26 Micron Technology, Inc. Memory system having flexible architecture and method
US6018478A (en) * 1996-07-17 2000-01-25 Nec Corporation Random access memory with separate row and column designation circuits for reading and writing
US5864505A (en) * 1996-07-17 1999-01-26 Nec Corporation Random access memory with plural simultaneously operable banks
US5893927A (en) * 1996-09-13 1999-04-13 International Business Machines Corporation Memory device having programmable device width, method of programming, and method of setting device width for memory device
US5892981A (en) * 1996-10-10 1999-04-06 Hewlett-Packard Company Memory system and device
US6034878A (en) * 1996-12-16 2000-03-07 Hitachi, Ltd. Source-clock-synchronized memory system and memory unit
US5881017A (en) * 1997-01-10 1999-03-09 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device allowing fast operation in either of prefetch operation and full page mode operation
US6047347A (en) * 1997-02-04 2000-04-04 Advanced Micro Devices, Inc. Computer system with programmable bus size
US6075728A (en) * 1997-02-28 2000-06-13 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device accessible at high speed
US6049855A (en) * 1997-07-02 2000-04-11 Micron Electronics, Inc. Segmented memory system employing different interleaving scheme for each different memory segment
US6356975B1 (en) * 1997-10-10 2002-03-12 Rambus Incorporated Apparatus and method for pipelined memory operations
US6185149B1 (en) * 1998-06-30 2001-02-06 Fujitsu Limited Semiconductor integrated circuit memory
US6366995B1 (en) * 1998-08-19 2002-04-02 Acuid Corporation Limited System and a method for defining transforms of memory device addresses
US6680736B1 (en) * 1998-09-03 2004-01-20 Samsung Electronics Co., Ltd. Graphic display systems having paired memory arrays therein that can be row accessed with 2(2n) degrees of freedom
US6050983A (en) * 1998-10-27 2000-04-18 Moore; Diane Sound-insulated gas-diverting colostomy container
US6393543B1 (en) * 1998-11-12 2002-05-21 Acuid Corporation Limited System and a method for transformation of memory device addresses
US6687796B1 (en) * 1999-06-09 2004-02-03 Texas Instruments Incorporated Multi-channel DMA with request scheduling
US6240039B1 (en) * 1999-06-26 2001-05-29 Samsung Electronics Co., Ltd. Semiconductor memory device and driving signal generator therefor
US7039782B2 (en) * 1999-07-23 2006-05-02 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US20030009612A1 (en) * 2000-03-10 2003-01-09 David Latta Memory interface and method of interfacing between functional entities
US6240040B1 (en) * 2000-03-15 2001-05-29 Advanced Micro Devices, Inc. Multiple bank simultaneous operation for a flash memory
US6725316B1 (en) * 2000-08-18 2004-04-20 Micron Technology, Inc. Method and apparatus for combining architectures with logic option
US6742098B1 (en) * 2000-10-03 2004-05-25 Intel Corporation Dual-port buffer-to-memory interface
US6396764B1 (en) * 2000-11-16 2002-05-28 Silicon Aquarius, Inc. Segmented memory architecture and systems and methods using the same
US20040019756A1 (en) * 2001-02-28 2004-01-29 Perego Richard E. Memory device supporting a dynamically configurable core organization
US6877079B2 (en) * 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
US20030052885A1 (en) * 2001-09-07 2003-03-20 Hampel Craig E. Granularity memory column access
US20050083721A1 (en) * 2001-09-07 2005-04-21 Hampel Craig E. Granularity memory column access
US20030048616A1 (en) * 2001-09-10 2003-03-13 Samsung Electronics Co., Ltd. Memory module
US20060004976A1 (en) * 2001-11-08 2006-01-05 Rader Sheila M Shared memory architecture
US20050015539A1 (en) * 2002-01-09 2005-01-20 Takashi Horii Memory system and memory card
US6895474B2 (en) * 2002-04-29 2005-05-17 Micron Technology, Inc. Synchronous DRAM with selectable internal prefetch size
US6885572B2 (en) * 2002-05-31 2005-04-26 Elpida Memory, Inc. Semiconductor memory device
US7369444B2 (en) * 2002-06-28 2008-05-06 Rambus Inc. Early read after write operation memory device, system and method
US7187572B2 (en) * 2002-06-28 2007-03-06 Rambus Inc. Early read after write operation memory device, system and method
US6854042B1 (en) * 2002-07-22 2005-02-08 Chris Karabatsos High-speed data-rate converting and switching circuit
US20040037133A1 (en) * 2002-08-23 2004-02-26 Park Myun-Joo Semiconductor memory system having multiple system data buses
US20040073772A1 (en) * 2002-10-11 2004-04-15 Erdem Hokenek Method and apparatus for thread-based memory access in a multithreaded processor
US20060039227A1 (en) * 2004-08-17 2006-02-23 Lawrence Lai Memory device having staggered memory operations
US20060047899A1 (en) * 2004-08-27 2006-03-02 Junichi Ilda Storage device control apparatus
US20080062807A1 (en) * 2004-09-30 2008-03-13 Ware Frederick A Multi-column addressing mode memory system including an integrated circuit memory device
US20060072366A1 (en) * 2004-09-30 2006-04-06 Ware Frederick A Multi-column addressing mode memory system including an integrated circuit memory device
US20060067146A1 (en) * 2004-09-30 2006-03-30 Steven Woo Integrated circuit memory system having dynamic memory bank count and page size
US7505356B2 (en) * 2004-09-30 2009-03-17 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US7907470B2 (en) * 2004-09-30 2011-03-15 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US20080028135A1 (en) * 2006-07-31 2008-01-31 Metaram, Inc. Multiple-component memory interface system and method

Cited By (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854885B2 (en) * 2006-05-17 2014-10-07 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-nand flash memory devices
US7564735B2 (en) * 2006-07-05 2009-07-21 Qimonda Ag Memory device, and method for operating a memory device
US20080008023A1 (en) * 2006-07-05 2008-01-10 Martin Brox Memory device, and method for operating a memory device
US10268619B2 (en) 2006-07-27 2019-04-23 Rambus Inc. Cross-threaded memory system
US11194749B2 (en) 2006-07-27 2021-12-07 Rambus Inc. Cross-threaded memory system
US8510495B2 (en) 2006-07-27 2013-08-13 Rambus Inc. Cross-threaded memory system
US9355021B2 (en) 2006-07-27 2016-05-31 Rambus Inc. Cross-threaded memory system
US7769942B2 (en) 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
US20080028127A1 (en) * 2006-07-27 2008-01-31 Ware Frederick A Cross-threaded memory system
US11244727B2 (en) * 2006-11-29 2022-02-08 Rambus Inc. Dynamic memory rank configuration
US20160071608A1 (en) * 2006-11-29 2016-03-10 Rambus Inc. Dynamic memory rank configuration
US20080229029A1 (en) * 2007-03-13 2008-09-18 Hynix Seminconductor, Inc. Semiconductor Memory System Having Plurality of Ranks Incorporated Therein
US11727966B2 (en) 2007-04-12 2023-08-15 Rambus Inc. Memory controllers, systems, and methods supporting multiple request modes
US20180268882A1 (en) * 2007-04-12 2018-09-20 Rambus Inc. Memory Controllers, Systems, and Methods Supporting Multiple Request Modes
US10600455B2 (en) * 2007-04-12 2020-03-24 Rambus Inc. Memory controllers, systems, and methods supporting multiple request modes
US11276440B2 (en) 2007-04-12 2022-03-15 Rambus Inc. Memory controllers, systems, and methods supporting multiple request modes
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
US20090063785A1 (en) * 2007-08-31 2009-03-05 Gower Kevin C 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
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
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
US7818497B2 (en) 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
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
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
US8019919B2 (en) 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
US8837655B2 (en) 2007-12-14 2014-09-16 Conversant Intellectual Property Management Inc. Memory controller with flexible data alignment to clock
US20090154285A1 (en) * 2007-12-14 2009-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
CN102623039A (en) * 2007-12-14 2012-08-01 莫塞德技术公司 Clock reproducing and timing method in a system having a plurality of devices and memory controller with flexible data alignment
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US8467486B2 (en) * 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
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
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
US20090190429A1 (en) * 2008-01-24 2009-07-30 Brittain Mark A System to Provide Memory System Power Reduction Without Reducing Overall Memory System Performance
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
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
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
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
US20110016278A1 (en) * 2008-03-31 2011-01-20 Frederick Ware Independent Threading of Memory Devices Disposed on Memory Modules
WO2009137157A1 (en) * 2008-03-31 2009-11-12 Rambus Inc. Independent threading of memory devices disposed on memory modules
US20090327596A1 (en) * 2008-06-27 2009-12-31 Intel Corporation Memory controller using time-staggered lockstep sub-channels with buffered memory
US8060692B2 (en) * 2008-06-27 2011-11-15 Intel Corporation Memory controller using time-staggered lockstep sub-channels with buffered memory
US8621159B2 (en) 2009-02-11 2013-12-31 Rambus Inc. Shared access memory scheme
US9965387B1 (en) * 2010-07-09 2018-05-08 Cypress Semiconductor Corporation Memory devices having embedded hardware acceleration and corresponding methods
US20130188656A1 (en) * 2010-10-27 2013-07-25 International Business Machines Corporation Communicating Control Information for a Data Communications Link Via a Line Being Calibrated
US10162772B2 (en) 2010-11-29 2018-12-25 Rambus Inc. Clock generation for timing communications with ranks of memory devices
US11630788B2 (en) 2010-11-29 2023-04-18 Rambus Inc. Clock generation for timing communications with ranks of memory devices
US10705990B2 (en) 2010-11-29 2020-07-07 Rambus Inc. Clock generation for timing communications with ranks of memory devices
US9287216B2 (en) 2011-07-12 2016-03-15 Invensas Corporation Memory module in a package
US9508629B2 (en) 2011-07-12 2016-11-29 Invensas Corporation Memory module in a package
US8823165B2 (en) 2011-07-12 2014-09-02 Invensas Corporation Memory module in a package
US10692842B2 (en) 2011-10-03 2020-06-23 Invensas Corporation Microelectronic package including microelectronic elements having stub minimization for wirebond assemblies without windows
US9423824B2 (en) 2011-10-03 2016-08-23 Invensas Corporation Stub minimization for multi-die wirebond assemblies with parallel windows
US9224431B2 (en) 2011-10-03 2015-12-29 Invensas Corporation Stub minimization using duplicate sets of signal terminals
US9281271B2 (en) 2011-10-03 2016-03-08 Invensas Corporation Stub minimization using duplicate sets of signal terminals having modulo-x symmetry in assemblies without wirebonds to package substrate
US9214455B2 (en) 2011-10-03 2015-12-15 Invensas Corporation Stub minimization with terminal grids offset from center of package
US9287195B2 (en) 2011-10-03 2016-03-15 Invensas Corporation Stub minimization using duplicate sets of terminals having modulo-x symmetry for wirebond assemblies without windows
US9679838B2 (en) 2011-10-03 2017-06-13 Invensas Corporation Stub minimization for assemblies without wirebonds to package substrate
US10643977B2 (en) 2011-10-03 2020-05-05 Invensas Corporation Microelectronic package having stub minimization using symmetrically-positioned duplicate sets of terminals for wirebond assemblies without windows
US10032752B2 (en) 2011-10-03 2018-07-24 Invensas Corporation Microelectronic package having stub minimization using symmetrically-positioned duplicate sets of terminals for wirebond assemblies without windows
US8981547B2 (en) 2011-10-03 2015-03-17 Invensas Corporation Stub minimization for multi-die wirebond assemblies with parallel windows
US9679876B2 (en) 2011-10-03 2017-06-13 Invensas Corporation Microelectronic package having at least two microelectronic elements that are horizontally spaced apart from each other
US9377824B2 (en) 2011-10-03 2016-06-28 Invensas Corporation Microelectronic assembly including memory packages connected to circuit panel, the memory packages having stub minimization for wirebond assemblies without windows
US10090280B2 (en) 2011-10-03 2018-10-02 Invensas Corporation Microelectronic package including microelectronic elements having stub minimization for wirebond assemblies without windows
US9530458B2 (en) 2011-10-03 2016-12-27 Invensas Corporation Stub minimization using duplicate sets of signal terminals
US8917532B2 (en) 2011-10-03 2014-12-23 Invensas Corporation Stub minimization with terminal grids offset from center of package
US9515053B2 (en) 2011-10-03 2016-12-06 Invensas Corporation Microelectronic packaging without wirebonds to package substrate having terminals with signal assignments that mirror each other with respect to a central axis
US9496243B2 (en) 2011-10-03 2016-11-15 Invensas Corporation Microelectronic assembly with opposing microelectronic packages each having terminals with signal assignments that mirror each other with respect to a central axis
US20130111122A1 (en) * 2011-10-31 2013-05-02 Futurewei Technologies, Inc. Method and apparatus for network table lookups
US20130258755A1 (en) * 2012-04-02 2013-10-03 Rambus, Inc. Integrated circuit device having programmable input capacitance
US9373384B2 (en) * 2012-04-02 2016-06-21 Rambus Inc. Integrated circuit device having programmable input capacitance
US9684629B2 (en) 2012-07-30 2017-06-20 International Business Machines Corporation Efficient calibration of a low power parallel data communications channel
US11755507B2 (en) * 2012-08-10 2023-09-12 Rambus Inc. Memory module threading with staggered data transfers
US10705988B2 (en) 2012-08-10 2020-07-07 Rambus Inc. Memory module threading with staggered data transfers
US9569393B2 (en) 2012-08-10 2017-02-14 Rambus Inc. Memory module threading with staggered data transfers
US10268607B2 (en) 2012-08-10 2019-04-23 Rambus Inc. Memory module threading with staggered data transfers
US20220342834A1 (en) * 2012-08-10 2022-10-27 Rambus Inc. Memory module threading with staggered data transfers
US11347665B2 (en) 2012-08-10 2022-05-31 Rambus Inc. Memory module threading with staggered data transfers
US8848391B2 (en) 2012-08-27 2014-09-30 Invensas Corporation Co-support component and microelectronic assembly
WO2014035950A1 (en) * 2012-08-27 2014-03-06 Invensas Corporation Co-support system and microelectronic assembly
US9368477B2 (en) 2012-08-27 2016-06-14 Invensas Corporation Co-support circuit panel and microelectronic packages
US8848392B2 (en) 2012-08-27 2014-09-30 Invensas Corporation Co-support module and microelectronic assembly
US8787034B2 (en) 2012-08-27 2014-07-22 Invensas Corporation Co-support system and microelectronic assembly
US11487657B1 (en) 2013-01-28 2022-11-01 Radian Memory Systems, Inc. Storage system with multiplane segments and cooperative flash management
US11762766B1 (en) 2013-01-28 2023-09-19 Radian Memory Systems, Inc. Storage device with erase unit level address mapping
US11704237B1 (en) 2013-01-28 2023-07-18 Radian Memory Systems, Inc. Storage system with multiplane segments and query based cooperative flash management
US11487656B1 (en) 2013-01-28 2022-11-01 Radian Memory Systems, Inc. Storage device with multiplane segments and cooperative flash management
US11899575B1 (en) 2013-01-28 2024-02-13 Radian Memory Systems, Inc. Flash memory system with address-based subdivision selection by host and metadata management in storage drive
US11748257B1 (en) 2013-01-28 2023-09-05 Radian Memory Systems, Inc. Host, storage system, and methods with subdivisions and query based write operations
US11740801B1 (en) 2013-01-28 2023-08-29 Radian Memory Systems, Inc. Cooperative flash management of storage device subdivisions
US11868247B1 (en) 2013-01-28 2024-01-09 Radian Memory Systems, Inc. Storage system with multiplane segments and cooperative flash management
US11640355B1 (en) 2013-01-28 2023-05-02 Radian Memory Systems, Inc. Storage device with multiplane segments, cooperative erasure, metadata and flash management
US11681614B1 (en) 2013-01-28 2023-06-20 Radian Memory Systems, Inc. Storage device with subdivisions, subdivision query, and write operations
US9715909B2 (en) 2013-03-14 2017-07-25 Micron Technology, Inc. Apparatuses and methods for controlling data timing in a multi-memory system
US11468923B2 (en) 2013-03-14 2022-10-11 Micron Technology, Inc. Apparatuses and methods for controlling data timing in a multi-memory system
US10109327B2 (en) 2013-03-14 2018-10-23 Micron Technology, Inc. Apparatuses and methods for controlling data timing in a multi-memory system
US10748584B2 (en) 2013-03-14 2020-08-18 Micron Technology, Inc. Apparatuses and methods for controlling data timing in a multi-memory system
US9070423B2 (en) 2013-06-11 2015-06-30 Invensas Corporation Single package dual channel memory with co-support
US9460758B2 (en) 2013-06-11 2016-10-04 Invensas Corporation Single package dual channel memory with co-support
CN109117399A (en) * 2013-08-07 2019-01-01 美光科技公司 Reduce device, the system and method for chip selection
US20160217839A1 (en) * 2013-09-24 2016-07-28 Rambus Inc. High capacity memory system
US9837132B2 (en) * 2013-09-24 2017-12-05 Rambus, Inc. High capacity memory system
WO2015048199A1 (en) * 2013-09-24 2015-04-02 Rambus Inc. High capacity memory system
US10149383B2 (en) 2013-10-15 2018-12-04 Rambus, Inc. Load reduced memory module
US10455698B2 (en) 2013-10-15 2019-10-22 Rambus, Inc. Load reduced memory module
US11317510B2 (en) 2013-10-15 2022-04-26 Rambus Inc. Load reduced memory module
US10813216B2 (en) 2013-10-15 2020-10-20 Rambus Inc. Load reduced memory module
US9826638B2 (en) 2013-10-15 2017-11-21 Rambus Inc. Load reduced memory module
US9232651B2 (en) 2013-10-15 2016-01-05 Rambus Inc. Load reduced memory module
US20180174624A1 (en) * 2013-10-16 2018-06-21 Rambus Inc. Memory component with adjustable core-to-interface data rate ratio
US10964361B2 (en) * 2013-10-16 2021-03-30 Rambus Inc. Memory component with adjustable core-to-interface data rate ratio
US9293444B2 (en) 2013-10-25 2016-03-22 Invensas Corporation Co-support for XFD packaging
US9123555B2 (en) 2013-10-25 2015-09-01 Invensas Corporation Co-support for XFD packaging
US11024362B2 (en) 2013-11-11 2021-06-01 Rambus Inc. High capacity memory system using standard controller component
US9183920B2 (en) 2013-11-11 2015-11-10 Rambus Inc. High capacity memory system using standard controller component
US10453517B2 (en) 2013-11-11 2019-10-22 Rambus Inc. High capacity memory system using controller component
US9165639B2 (en) 2013-11-11 2015-10-20 Rambus Inc. High capacity memory system using standard controller component
US11568919B2 (en) 2013-11-11 2023-01-31 Rambus Inc. High capacity memory system using standard controller component
US9653146B2 (en) 2013-11-11 2017-05-16 Rambus Inc. High capacity memory system using standard controller component
US11823732B2 (en) 2013-11-11 2023-11-21 Rambus Inc. High capacity memory system using standard controller component
US20150370731A1 (en) * 2014-06-19 2015-12-24 SK Hynix Inc. Memory system and method for operating the same
US9281296B2 (en) 2014-07-31 2016-03-08 Invensas Corporation Die stacking techniques in BGA memory package for small footprint CPU and memory motherboard design
US11914523B1 (en) 2014-09-09 2024-02-27 Radian Memory Systems, Inc. Hierarchical storage device with host controlled subdivisions
US11023387B1 (en) * 2014-09-09 2021-06-01 Radian Memory Systems, Inc. Nonvolatile/persistent memory with namespaces configured across channels and/or dies
US11449436B1 (en) 2014-09-09 2022-09-20 Radian Memory Systems, Inc. Storage system with division based addressing and cooperative flash management
US11416413B1 (en) 2014-09-09 2022-08-16 Radian Memory Systems, Inc. Storage system with division based addressing and cooperative flash management
US11537528B1 (en) 2014-09-09 2022-12-27 Radian Memory Systems, Inc. Storage system with division based addressing and query based cooperative flash management
US9691437B2 (en) 2014-09-25 2017-06-27 Invensas Corporation Compact microelectronic assembly having reduced spacing between controller and memory packages
CN110265070A (en) * 2015-09-25 2019-09-20 意法半导体(鲁塞)公司 Non-volatile memory devices with memory-size
US20170110169A1 (en) * 2015-10-20 2017-04-20 Samsung Electronics Co., Ltd. Memory device and system supporting command bus training, and operating method thereof
US9754650B2 (en) * 2015-10-20 2017-09-05 Samsung Electronics Co., Ltd. Memory device and system supporting command bus training, and operating method thereof
US9959918B2 (en) 2015-10-20 2018-05-01 Samsung Electronics Co., Ltd. Memory device and system supporting command bus training, and operating method thereof
US10026467B2 (en) 2015-11-09 2018-07-17 Invensas Corporation High-bandwidth memory application with controlled impedance loading
US9484080B1 (en) 2015-11-09 2016-11-01 Invensas Corporation High-bandwidth memory application with controlled impedance loading
US9715270B2 (en) 2015-11-30 2017-07-25 International Business Machines Corporation Power reduction in a parallel data communications interface using clock resynchronization
US9841922B2 (en) * 2016-02-03 2017-12-12 SK Hynix Inc. Memory system includes a memory controller
US20170220294A1 (en) * 2016-02-03 2017-08-03 SK Hynix Inc. Memory system
WO2017142650A1 (en) * 2016-02-15 2017-08-24 Qualcomm Incorporated Systems and methods for individually configuring dynamic random access memories sharing a common command access bus
WO2017142651A1 (en) * 2016-02-15 2017-08-24 Qualcomm Incorporated Systems and methods for individually configuring dynamic random access memories sharing a common command access bus
CN108604212A (en) * 2016-02-15 2018-09-28 高通股份有限公司 System and method for the dynamic random access memory for individually configuring shared common command ACCESS bus
KR20170111354A (en) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 Non-volatile dual in line memory system, memory module and operation method of the same
KR102535738B1 (en) 2016-03-28 2023-05-25 에스케이하이닉스 주식회사 Non-volatile dual in line memory system, memory module and operation method of the same
US9928883B2 (en) 2016-05-06 2018-03-27 Invensas Corporation TFD I/O partition for high-speed, high-density applications
US9679613B1 (en) 2016-05-06 2017-06-13 Invensas Corporation TFD I/O partition for high-speed, high-density applications
WO2018044391A1 (en) 2016-09-02 2018-03-08 Rambus Inc. Memory component with input/output data rate alignment
US11914888B2 (en) 2016-09-02 2024-02-27 Rambus Inc. Memory component with input/output data rate alignment
EP3507803A4 (en) * 2016-09-02 2020-04-22 Rambus Inc. Memory component with input/output data rate alignment
US11403030B2 (en) 2016-09-02 2022-08-02 Rambus Inc. Memory component with input/output data rate alignment
CN109313918A (en) * 2016-09-02 2019-02-05 拉姆伯斯公司 Memory member with input/output data rate alignment
CN109416656A (en) * 2016-10-31 2019-03-01 拉姆伯斯公司 Mixing memory module
US20180275924A1 (en) * 2017-03-23 2018-09-27 Fanuc Corporation Multi-rank sdram control method and sdram controller
US10474393B2 (en) * 2017-03-23 2019-11-12 Fanuc Corporation Multi-rank SDRAM control method and SDRAM controller
CN108694964A (en) * 2017-04-06 2018-10-23 爱思开海力士有限公司 Data storage device
CN109545254A (en) * 2017-09-21 2019-03-29 爱思开海力士有限公司 Memory chip, the buffer chip module and memory module for controlling it
US10482930B2 (en) * 2017-09-21 2019-11-19 SK Hynix Inc. Memory chip with reduced power consumption, buffer chip module controlling the same and memory module including the same
US20190286338A1 (en) * 2018-03-19 2019-09-19 Toshiba Memory Corporation Memory system
US11494082B2 (en) * 2018-03-19 2022-11-08 Kioxia Corporation Memory system
US10423558B1 (en) * 2018-08-08 2019-09-24 Apple Inc. Systems and methods for controlling data on a bus using latency
US11328753B2 (en) * 2020-02-17 2022-05-10 SK Hynix Inc. Methods of performing self-write operation and semiconductor devices used therefor
US11963299B2 (en) 2022-04-21 2024-04-16 Rambus Inc. Load reduced memory module

Also Published As

Publication number Publication date
EP2393086A2 (en) 2011-12-07
US20170329719A1 (en) 2017-11-16
US10191866B2 (en) 2019-01-29
US20210049115A1 (en) 2021-02-18
US20150089163A1 (en) 2015-03-26
EP2113923B1 (en) 2020-07-29
EP2016497A2 (en) 2009-01-21
US10795834B2 (en) 2020-10-06
US8364926B2 (en) 2013-01-29
EP2393086A3 (en) 2012-02-01
US20090157994A1 (en) 2009-06-18
EP2413327A1 (en) 2012-02-01
WO2007130921A2 (en) 2007-11-15
JP2009535748A (en) 2009-10-01
US20120159061A1 (en) 2012-06-21
US20190205268A1 (en) 2019-07-04
US11467986B2 (en) 2022-10-11
WO2007130921A3 (en) 2008-04-17
EP2413328A1 (en) 2012-02-01
JP5249926B2 (en) 2013-07-31
US20170132150A1 (en) 2017-05-11
EP2393086B1 (en) 2019-03-13
US9256557B2 (en) 2016-02-09
EP2016497B1 (en) 2014-07-16
EP2113923A1 (en) 2009-11-04
US8028144B2 (en) 2011-09-27

Similar Documents

Publication Publication Date Title
US11467986B2 (en) Memory controller for selective rank or subrank access
US11317510B2 (en) Load reduced memory module
US7089412B2 (en) Adaptive memory module
US7769942B2 (en) Cross-threaded memory system
US7640386B2 (en) Systems and methods for providing memory modules with multiple hub devices
US6557071B2 (en) Memory system including a memory controller having a data strobe generator and method for accesing a memory using a data storage
EP3447770A1 (en) High capacity memory system using standard controller component
US20080123305A1 (en) Multi-channel memory modules for computing devices
EP1963977A1 (en) Memory systems with memory chips down and up
US10241940B2 (en) Memory module with reduced read/write turnaround overhead

Legal Events

Date Code Title Description
AS Assignment

Owner name: RAMBUS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HAMPEL, CRAIG E;WARE, FREDERICK A;REEL/FRAME:017714/0834

Effective date: 20060601

AS Assignment

Owner name: RAMBUS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HAMPEL, CRAIG E.;WARE, FREDERICK A.;REEL/FRAME:017852/0764

Effective date: 20060601

STCB Information on status: application discontinuation

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