US7093082B2

Microprogrammable SDRAM memory interface controller

Summary by NHIP

Microprogrammable SDRAM Controller

The controller uses an arbitration unit to grant service based on identifiers stored in a sequential lookup table. A second lookup table then directs the granted requestor to execute a specific sequence of instructions for the SDRAM transaction.

Claim Score by NHIP

Read claim 4, the broadest

Abstract

An SDRAM controller includes a service unit for receiving an SDRAM service request from at least one requester; a memory for storing instructions for performing a plurality of SDRAM transactions; and a lookup table of a sequence of addresses corresponding to at least a portion of the instructions stored in the memory, the portion of the instructions defining the SDRAM transaction. The service unit is configured to execute the SDRAM transaction based on the sequence of addresses in the lookup table. Also included is an arbiter for receiving service requests from multiple requestors to access the SDRAM, and another lookup table of identifiers corresponding to the multiple requestors, the identifiers stored in another sequence of addresses. The arbiter is configured to sequentially access each address in the other sequence of addresses, and grant service to a requestor based on an identifier stored in an address accessed.

US7093082B2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Expired 13 October 2024, 1.9 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

20 claims: 5 independent, 15 dependent

  1. 1
    A programmable synchronous dynamic random access memory (SDRAM) controller comprising an arbitration unit for receiving service requests from multiple requestors to access an SDRAM, and a first lookup table of identifiers corresponding to the multiple requestors, the identifiers stored in a first sequence of addresses, wherein the arbitration unit is configured to sequentially access each address in the first sequence of addresses, and grant service to a requestor based on an identifier stored in an address accessed in the first sequence of addresses, and a second lookup table including a second sequence of addresses corresponding to a sequence of instructions, wherein the requestor granted service, based on the first lookup table, is configured to execute the sequence of instructions corresponding to the second sequence of addresses.
  2. 4
    Broadest claimClaim Score 71, broad(NHIP)An SDRAM controller comprising a service unit for receiving a service request from each of at least one requestor to access an SDRAM and perform a desired SDRAM transaction, a memory for storing instructions at various addresses of the memory, the instructions used for performing a plurality of SDRAM transactions, and a lookup table of a sequence of addresses corresponding to at least a portion of the instructions stored in the memory, the portion of the instructions defining the desired SDRAM transaction, wherein the service unit is configured to execute the desired SDRAM transaction based on the sequence of addresses in the lookup table.
  3. 9
    A method of controlling access to an SDRAM comprising the steps of:(a) receiving service requests from multiple requestors to access the SDRAM;(b) storing a sequence of identifiers in a first lookup table, the identifiers corresponding to the multiple requestors;(c) sequentially accessing the sequence of identifiers in the first lookup table;(d) granting a requestor access to the SDRAM based on an identifier accessed in the sequence of identifiers;(e) storing multiple sequences of instructions in a second lookup table, each sequence of instructions corresponding to one of the multiple requestors;and (f) executing one sequence of instructions stored in the second lookup table that corresponds to the requestor granted access in step (d).
  4. 13
    A method of controlling access to an SDRAM comprising the steps of:(a) receiving a service request from each of at least one requestor to access the SDRAM and perform a desired SDRAM transaction;(b) storing, in a first memory, instructions at various addresses, the instructions used for performing a plurality of SDRAM transactions;(c) storing, in a second memory, a sequence of addresses corresponding to at least a portion of the instructions stored in the first memory, the sequence of addresses defining the desired SDRAM transaction;and (d) executing the desired SDRAM transaction based on the sequence of addresses stored in the second memory.
  5. 18
    A method of programming an SDRAM controller comprising the steps of:(a) identifying a plurality of requestors to access the SDRAM, wherein each of the requestors is configured to perform a sequence of instructions;(b) storing, in a first memory, a plurality of instructions for controlling the SDRAM, each instruction stored at a different address in the first memory;(c) storing, in a second memory, a plurality of sequences of addresses, each sequence of addresses corresponding to a sequence of instructions stored in the first memory;and (d) performing a sequence of instructions for a requestor by using a sequence of addresses stored in the second memory to execute a corresponding sequence of instructions stored in the first memory.