EP2393086A2

Memory module with reduced access granularity

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.

EP2393086A2, drawing sheet 1
Sheet 1 of 7

Term

0.6 yearsto projected expiry

Projected expiry 30 April 2027, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

20 claims: 17 independent, 3 dependent

  1. 1
    A memory controller (607) having a first transaction queue (609) to support memory commands sent to first and second memory devices (623, 625) as a unified rank, the memory controller (607) having a data bus interface having a width (DQ-A+DQ-B) with a first portion (DQ-A) coupled to the first memory device (623) but not the second memory device (625) and a second portion (DQ-B) coupled to the second memory device (623) but not the first memory device (623), the memory controller (607) characterized by circuitry (MSEL, SSEL, 610, 615) to:in a first mode direct memory commands from the first transaction queue (609) to the first and second memory devices (623, 625) as a unified rank, and to associate data exchanged via the data bus interface (DQ-A+DQ-B) with individual memory commands;andin a second mode direct memory commands from the first transaction queue (609) and from a second transaction queue (611) to individual ones of the first and second memory devices (623 or 625), and to associate data exchanged the first portion only (DQ-A) and data exchanged via the second portion only (DQ-B) with respective memory commands.
  2. 3
    The memory controller (607) of any preceding claim, where the memory controller (607) has a command bus interface to direct the memory commands to the memory devices via a shared command bus (CA), and where the circuitry (MSEL, SSEL, 610, 612, 615) to in the second mode direct memory commands from the first transaction queue (609) and the second transaction queue (611) to individual ones of the first and second memory devices (623 or 625) includes arbitration logic to enable arbitrated access to the shared command bus (CA) by the command queues (609, 611) to direct memory commands to the memory devices (623 or 625).
  3. 4
    The memory controller (607) of any preceding claim, where the circuitry (MSEL, SSEL, 610, 612, 615) to in the second mode direct memory commands from the first transaction queue (609) and the second transaction queue (611) to individual ones of the first and second memory devices (623 or 625) is to direct memory commands from the first transaction queue (609) and the second transaction queue (611) to respective ones of the first and second memory devices (623 or 625).
  4. 5
    The memory controller (607) of any preceding claim, further characterized in that the memory controller (607) is configured to dynamically change mode.
  5. 6
    The memory controller (607) of any preceding claim, where in the memory controller (607) is to dynamically configure at least one of the first or second memory devices (623, 625) in association with dynamic change of mode by command issued from, in the first mode, the first transaction queue (609), and in the second mode, the second transaction queue (611).
  6. 7
    The memory controller (607) of any preceding claim, where the memory controller (607) is to sample a serial presence detect memory (627) and is to responsively adopt the first mode or the second mode dependent on content of the serial presence detect memory (627).
  7. 8
    The memory controller (607) of any preceding claim, where the first and second memory devices are part of a memory module (621), and where the memory controller (607) is to interact with each memory device (623, 625) via a single command bus connection (CA) with the memory module (621).
  8. 10
    The memory controller (607) of any preceding claim, where in the second mode, data exchanged via the first portion only (DQ-A) is associated exclusively with commands in the first transaction queue (609) and data exchanged via the second portion only (DQ-B) is associated exclusively with commands in the second transaction queue (611).
  9. 11
    The memory controller (607) of any of claims 1-10, where in the memory controller (607) is direct commands to the memory devices (623, 625) via a command bus (CA) shared by the memory devices (623, 625), where the memory controller (607) is to program information into at least one of the first or second memory devices (623, 625), the information comprising at least one of a sampling latency to trigger sampling of the shared command bus (CA), a chip select polarity to trigger sampling of the shared command bus (CA), or a device ID to trigger sampling of the shared command bus (CA), and where, in the second mode, memory commands are to be sent to both the first memory device (623) and the second memory device (625) via the shared command bus (CA), but are to be selectively sampled by each memory device according to the programmed information.
  10. 12
    The memory controller (607) of any of claims 1-10, where in the memory controller (607) has a control bus interface to communicate commands to each memory device (623, 625) via a shared control bus (CA), and where in the memory controller is to issue a chip select signal (CS-A, CS-B) for each of the first and second memory devices (623, 625), where the respective chip select signals (CS-A, CS-B) are operated in lock-step in the first mode, and where the respective chip select signals (CS-A, CS-B) are not operated in lock-step in the second mode.
  11. 13
    The memory controller (607) of any preceding claim, further characterized in that the memory controller (607) generates a mode select signal (MSel) to define operating mode as either the first mode or the second mode, and in that the memory controller (607) generates a source select signal (SSel) to route commands from a selective one of the first transaction queue (609) or the second transaction queue (611) to a shared command path (CA).
  12. 14
    The memory controller (607) of any preceding claim, further characterized in that the memory controller (607) is directed to change between modes in response to an explicit command from a processing unit (601).
  13. 15
    The memory controller (607) of any preceding claim, further characterized in that the memory controller (607) is to change between modes in response to a threshold density of fine-grained memory access requests relative to total memory access requests.
  14. 16
    A method of operating a memory controller (607), the memory controller (607) to direct memory commands to first and second memory devices (623, 625) to operate the memory devices as a unified rank for memory transactions, the method characterized by:in a first mode, directing memory commands to both of the first and second memory devices (623, 625), to operate the first and second memory devices as a unified rank;in a second mode, directing memory commands to a selective one of the first or second memory devices (623 or 625), each memory command to effectuate a memory transaction to be restricted to the associated memory device (623 or 625).
  15. 18
    The method of any of claims 16-17, where the first and second memory devices (623, 625) are each DRAM memory devices embodied together as a memory module (621), the method further comprising exchange a data word stored across both memory devices (623, 625) with the memory controller (607) in the first mode, and exchanging a data word stored in only one of the memory devices (623 or 625) with the memory controller (607) in the second mode.
  16. 19
    The method of any of claims 16-18, further comprising issuing a chip select signal (CS-A, CS-B) for each memory device (623, 625) and operating the respective chip select signals (CS-A, CS-B) in lock-step in the first mode, and not operating the respective chip select signals (CS-A, CS-B) in lock-step in the second mode.
  17. 20
    The method of any of claims 16-18, further comprising directing commands to the memory devices (623, 625) via a shared command bus (CA) and programming information into at least one of the first or second memory devices (623, 625), the information comprising at least one of a sampling latency to trigger sampling of the shared command bus (CA), a chip select polarity to trigger sampling of the shared command bus (CA), or a device ID to trigger sampling of the shared command bus (CA), where, in the second mode, memory commands are to be sent to both the first memory device (623) and the second memory device (625) via the shared command bus (CA), but are to be selectively sampled by each memory device according to the programmed information.
Independent claims17