# US 2017/0286017 A1 · Memory Controller For Micro-Threaded Memory Operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286017 A1
- Document ID: US20170286017A1
- Status: Published application
- Kind: A1
- Application number: 15/486,068
- Filed: 2017-04-12
- Published: 2017-10-05
- Earliest claimed: 2004-11-29
- Assignees: Rambus Inc.
- Applicants: Rambus Inc.
- Inventors: Frederick A. Ware; Craig E. Hampel; Wayne S. Richardson; Chad A. Bellows; Lawrence Lai
- Web page: https://patentgrep.com/patent/US20170286017A1

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0613: {in relation to throughput}
- G06F 3/0673: {Single storage device}
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 7/1042: {using interleaving techniques, i.e. read-write of one part of the memory while preparing another part}
- G11C 7/22: Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C 8/06: Address interface arrangements, e.g. address buffers
- G11C 11/4076: Timing circuits (for regeneration management G11C11/406)
- G11C 11/4097: Bit-line organisation, e.g. bit-line layout, folded bit lines
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A micro-threaded memory device. A plurality of storage banks are provided, each including a plurality of rows of storage cells and having an access restriction in that at least a minimum access time interval must transpire between successive accesses to a given row of the storage cells. Transfer control circuitry is provided to transfer a first amount of data between the plurality of storage banks and an external signal path in response to a first memory access request, the first amount of data being less than a product of the external signal path bandwidth and the minimum access time interval.

## Claims

### Claim 1

(canceled)

### Claim 2

A memory controller to control a memory device, the memory device having a plurality of bank groups, the memory controller comprising:
circuitry to provide a clock signal to the memory device, the clock signal having clock transitions;
a command interface to transmit, to the memory device, row activation commands to instruct row activations and column access commands to instruct column accesses; and
circuitry to schedule issuance of the row activation commands and the column access commands from the command interface, such that
a first interval, defined by a first number of clock transitions to transpire between back-to-back row activations to banks within a common bank group, is longer than a second interval, defined by a second number of clock transitions to transpire between back-to-back row activations to banks within different bank groups, and
a third interval, defined by a third number of clock transitions to transpire between back-to-back column accesses to banks within a common bank group, is longer than a fourth interval, defined by a fourth number of clock transitions to transpire between back-to-back column accesses to banks within different bank groups.

### Claim 3 (depends on 2)

The memory controller of claim 2, wherein:
each bank includes a first sub-bank and a second sub-bank;
the first sub-bank is in a first bank group of the plurality of bank groups; and
the second sub-bank is in a second bank group of the plurality of bank groups.

### Claim 4 (depends on 3)

The memory controller of claim 3, wherein:
each sub-bank in the first bank group shares first row decoder circuitry and first column decoder circuitry with each other sub-bank in the first bank group; and
each sub-bank in the second bank group shares second row decoder circuitry and second column decoder circuitry with each other sub-bank in the second bank group.

### Claim 5 (depends on 3)

The memory controller of claim 3, wherein the circuitry to schedule is to schedule at least one column access command for each row activation command, in order to access a column within a row activated by a corresponding row activation command, and wherein the command interface is to transmit bank address information to the memory device for each row activation command and for each column access command, in order to select a bank and in order to select one of the bank groups in the plurality of bank groups.

### Claim 6 (depends on 3)

The memory controller of claim 3, wherein the circuitry to schedule is to schedule for a given row activation command, at least two column access commands, in order to access different columns within a row activated by the given row activation command.

### Claim 7 (depends on 2)

The memory controller of claim 2, wherein the memory controller also comprises a data interface to exchange data with the memory device via links, using respective, mutually-exclusive subsets of the links to exchange data in association with the back-to-back column accesses to banks within different bank groups.

### Claim 8 (depends on 2)

The memory controller of claim 2, wherein:
the memory controller further comprises a data interface to exchange data with the memory device via links, in association with each column access command; and
the memory controller further comprises serialization/deserialization circuitry to exchange serialized data with the memory device over each of the links in association with each column access command.

### Claim 9 (depends on 2)

The memory controller of claim 2, wherein the memory controller further comprises a data interface to exchange each of data, and write mask values with the memory device, via respective link subsets.

### Claim 10 (depends on 2)

The memory controller of claim 2, wherein the memory controller is to interleave row activation commands and is to interleave column access commands for back-to-back data accesses in different bank groups, and is to transmit bank address information as part of each command of the row activation commands and column access commands, to select a bank group of the plurality of bank groups, and to select a bank within the selected bank group.

### Claim 11

A memory controller to control a memory device, the memory device having a plurality of bank groups, the memory controller comprising:
circuitry to provide a clock signal to the memory device, the clock signal having clock transitions;
a command interface to transmit row activation commands and column access commands to the memory device, via a command bus;
a data interface to exchange data with the memory device in association with each column access command; and
circuitry coupled to the command interface to schedule issuance of the row activation commands and the column access commands to banks within the plurality of bank groups, such that
a first interval, defined by a first number of clock transitions to transpire between back-to-back row activations to banks within a common one of the bank groups, is longer than a second interval, defined by a second number of clock transitions to transpire between back-to-back row activations to banks within different ones of the bank groups, and
a third interval, defined by a third number of clock transitions to transpire between back-to-back column accesses to banks within a common one of the bank groups, is longer than a fourth interval, defined by a fourth number of clock transitions to transpire between back-to-back column accesses to banks within different ones of the bank groups;
wherein the memory controller is to transmit bank address information as part of each command of the row activation commands and column access commands, to communicate selection of a bank group of the plurality of bank groups, and to communicate selection of a bank within the selected bank group.

### Claim 12 (depends on 11)

The memory controller of claim 11, wherein:
each bank includes a first sub-bank and a second sub-bank;
the first sub-bank is in a first bank group of the plurality of bank groups; and
the second sub-bank is in a second bank group of the plurality of bank groups.

### Claim 13 (depends on 12)

The memory controller of claim 12, wherein:
each sub-bank in the first bank group shares first row decoder circuitry and first column decoder circuitry with each other sub-bank in the first bank group; and
each sub-bank in the second bank group shares second row decoder circuitry and second column decoder circuitry with each other sub-bank in the second bank group.

### Claim 14 (depends on 12)

The memory controller of claim 12, wherein the circuitry to schedule is to schedule at least one column access command for each row activation command, in order to access a column within a row activated by a corresponding row activation command, and wherein the command interface is to transmit bank address information to the memory device for each row activation command and for each column access command, in order to select a bank and in order to select one of the bank groups in the plurality of bank groups.

### Claim 15 (depends on 12)

The memory controller of claim 12, wherein the circuitry to schedule is to schedule for a given row activation command, at least two column access commands, in order to access different columns within a row activated by the given row activation command.

### Claim 16 (depends on 11)

The memory controller of claim 11, wherein the memory controller also comprises a data interface to exchange data with the memory device via links, using respective, mutually-exclusive subsets of the links to exchange data in association with the back-to-back column accesses to banks within different bank groups.

### Claim 17 (depends on 11)

The memory controller of claim 11, wherein:
the memory controller further comprises a data interface to exchange data with the memory device via links, in association with each column access command; and
the memory controller further comprises serialization/deserialization circuitry to exchange serialized data with the memory device over each of the links in association with each column access command.

### Claim 18 (depends on 11)

The memory controller of claim 11, wherein the memory controller further comprises a data interface to exchange each of data, and write mask values with the memory device, via respective link subsets.

### Claim 19

A method of operation in a memory controller, the memory controller to control a memory device, the memory device having a plurality of bank groups, the method comprising:
providing a clock signal to the memory device, the clock signal having clock transitions;
transmitting to the memory device, via a command interface, row activation commands to instruct row activations and column access commands to instruct column accesses; and
scheduling issuance of the row activation commands and the column access commands from the command interface, such that
a first interval, defined by a first number of clock transitions to transpire between back-to-back row activations to banks within a common bank group, is longer than a second interval, defined by a second number of clock transitions to transpire between back-to-back row activations to banks within different bank groups, and
a third interval, defined by a third number of clock transitions to transpire between back-to-back column accesses to banks within a common bank group, is longer than a fourth interval, defined by a fourth number of clock transitions to transpire between back-to-back column accesses to banks within different bank groups.

### Claim 20 (depends on 19)

The method of claim 19, wherein:
each bank includes a first sub-bank and a second sub-bank;
the first sub-bank is in a first bank group of the plurality of bank groups;
the second sub-bank is in a second bank group of the plurality of bank groups;
each sub-bank in the first bank group shares row decoder circuitry and column decoder circuitry with each other sub-bank in the first bank group; and
each sub-bank in the second bank group shares row decoder circuitry and column decoder circuitry with each other sub-bank in the second bank group.

### Claim 21 (depends on 19)

The method of claim 19, wherein:
the method further comprises transmitting bank address information as part of each command of the row activation commands and column access commands, to communicate selection of a bank group of the plurality of bank groups, and to communicate selection of a bank within the selected bank group.
