IP Library Granted Patent US 8,285,945
Granted Patent B2
US 8,285,945 · App. 12/751,632 · Granted Oct 9, 2012

Memories for electronic systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,285,945
App. No.
12/751,632
Granted
Oct 9, 2012
Kind
B2
Abstract

A switch 100 includes a plurality of ports 101 for exchanging data. A shared memory 102 enables the exchange of data between first and second ones of the ports 101 and includes an array 202 of memory cells arranged as a plurality of rows and a single column having width equal to a predetermined word-width and circuitry 202, 204, 206, 208 for writing selected data presented at the first one of the ports 101 to a selected row in the array as a word of the predetermined word-width during a first time period and for reading the selected data from the selected row as a word of the predetermined wordwidth during a second time period for output at a second one of the ports 101.

Claims (48)

1. An apparatus, comprising:

a. plurality of ports configured to exchange data; and

a shared memory configured to enable the exchange of the data between first and second ones of the plurality of ports, wherein the data has a selected word-width that is programmable and dynamically variable, wherein the shared memory includes addresses where the data having the programmable and dynamically variable word-width are stored, and wherein the shared memory includes:

an array of random access memory cells organized in rows and columns, wherein a row of the array is variably configurable to comprise a plurality of independently-addressable column groups, wherein each independently-addressable column group has a width equal to a predetermined word-width, and wherein the predetermined word-width is based on a communications protocol data width; and

circuitry configured to write the data from the first one of the plurality of ports into selected random access memory cells of the variably-configured independently-addressable column groups of one or more rows of the array during a first time period, to read the data from the selected random access memory cells of the variably-configured independently-addressable column groups of the one or more rows of the array during a second time period, and to output the read data at the second one of the plurality of ports, wherein the circuitry is further configured to bridge the selected word-width and the predetermined word-width of the selected random access memory cells of the variably-configured independently-addressable column groups of the one or more rows to enable the data to be stored into the rows of the array with the variably-configured plurality of independently-addressable column groups.

2. The apparatus of claim 1 , wherein the addresses have an order that is configurable to be altered to enable the stored data having the programmable and dynamically variable word-width to be read in a selected manner.

3. The apparatus of claim 1 , wherein the shared memory is further configured to programmatically receive bridged data of the predetermined word-width.

4. The apparatus of claim 1 , further comprising a buffer associated with a selected one of the first and second ports and configured to cooperate with the shared memory to bridge the selected word-width and the predetermined word-width.

5. The apparatus of claim 1 , wherein the variably-configured plurality of column groups comprise a selected one of 2, 4, 8, 16, or 32 column groups.

6. The apparatus of claim 1 , wherein the circuitry comprises an available address table configured to store write addresses available for selection and use for writing to the selected memory cells.

7. The apparatus of claim 6 , wherein the circuitry further comprises a used address table configured to store the addresses in the order and that are already used to write data to the selected memory cells.

8. An apparatus, comprising:

a plurality of ports configured to exchange data, wherein the data has a selected word-width that is programmable and dynamically variable;

a memory including a plurality of banks, each bank having an array of random access memory cells arranged as a plurality of rows that are variably configurable to have a plurality of independently-addressable column groups, wherein each of the plurality of independently-addressable column groups has a predetermined word-width that differs from the selected word-width, and wherein the memory further comprises circuitry configured to select one of the plurality of rows and one of the variably-configured plurality of independently-addressable column groups in response to a received address;

a buffer associated with one of the plurality of ports and configured to assemble the data with the selected word-width, as received by the one of the plurality of ports, wherein the buffer is further configured to cooperate with the circuitry of the memory to bridge the selected word-width of the data and the predetermined word-width of a variably-configured independently-addressable column group;

one or more available address tables including a queue of addresses of the memory available to write data to the banks; and

one or more used address tables including a queue of addresses of the memory from which to read data, having the programmable and dynamically variable word-width are stored, from the banks.

9. The apparatus of claim 8 , wherein the apparatus is further configured to programmatically receive bridged data of the selected word-width.

10. The apparatus of claim 8 , wherein the queue of addresses has an order that is configurable to h altered to enable the stored data having the programmable and dynamically variable word-width to be read in a selected manner.

11. The apparatus of claim 8 , wherein the one or more available address tables comprise a first-in-first-out memory.

12. The apparatus of claim 8 , wherein the one or more used address tables comprise a random access memory configured to perform read and write operations.

13. The apparatus of claim 8 , wherein each of the banks is designated to store data from corresponding ones of the plurality of ports.

14. The apparatus of claim 8 , wherein each of the banks is designated to store data from more than one of the plurality of ports.

15. The apparatus of claim 8 , wherein the memory comprises i number of the banks and the apparatus comprises j number of the ports, where i<j.

16. A digital information system, comprising:

first and second resources configured to exchange data in a selected one of a plurality of digital formats, wherein the data of the selected digital format has a data size equal to a word-width, and wherein the data has dynamically variable word-widths; and

a digital apparatus including:

first and second ports configured to selectively couple the first and second resources; and

a shared memory configured to enable the exchange of the data between the first and second ports, wherein the shared memory includes addresses where the data having the dynamically variable word-widths are stored, and wherein the shared memory comprises:

an array of random access memory cells arranged as a plurality of rows, wherein a row is variably configurable into a plurality of independently-addressable column groups such that each of the independently-addressable column groups has a width equal to a predetermined word-width that differs from the word-width; and

circuitry configured to write a selected data word from the first port to a selected independently-addressable column group of a selected row during a first time period, to read the selected data word from the selected independently-addressable column group of the selected row during a second time period, and to output the read data at the second port, wherein the circuitry is further configured to bridge the word-width of the data and the predetermined word-width of the variably-configured independently-addressable column group to enable the data to be stored into the rows of the array with the variably-configured plurality of independently-addressable column groups.

17. The digital information system of claim 16 , wherein the digital apparatus is configured to programmatically receive data of a variable word-width.

18. The digital information system of claim 16 , further comprising a buffer associated with each of the first and second ports, wherein the buffer is configured to cooperate with the shared memory to bridge the word-width of the data and the pre-determined word-width of the variably-configured independently-addressable column group.

19. The digital information system of claim 16 , wherein the selected digital format comprises an Asynchronous Transfer Mode (ATM) digital data format.

20. The digital information system of claim 16 , wherein the addresses have an order that is configurable to be altered to enable the stored data having the dynamically variable word-widths to be read in a selected manner.

21. The digital information system of claim 16 , wherein the first and second resources are selected from a group consisting of: digital telephones, digital facsimile machines, digital data networks, home networks, digital private branch exchanges, workstations, and video teleconferencing equipment.

22. The digital information system of claim 16 , wherein the shared memory is selected from a group consisting of: double data rate (DDR), quad data rate (QDR), Rambus™, and programmable burst bit-length memories.

23. A method, comprising:

configuring one or more rows of a random access memory array into a selected one of a variable plurality of independently-addressable column groups;

writing data from a first one of a plurality of ports into selected memory cells of a selected independently-addressable column group of a selected row of a random access memory array during a first time period;

reading the data from the selected memory cells of the selected independently-addressable column group of the selected row of the random access memory during a second time period; and

outputting the read data at a second one of the plurality of ports;

wherein said writing includes bridging a selected word-width of the data and a predetermined word-width of an independently-addressable column group of a row of the memory array, and

wherein the selected word-width is a dynamically variable and programmable word-width.

24. The method of claim 23 , wherein said reading comprises altering an order of addresses of the random access memory to enable the data written at the addresses and having the dynamically variable and programmable word-width, to be read in a selected manner.

25. The method of claim 23 , wherein the plurality of ports and the memory array are included in a switch.

26. The digital information system of claim 16 , further comprising an address table to store the addresses in the order that is configurable to be altered.

27. The method of claim 23 , wherein said altering an order includes altering addresses stored in a table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2010
From: SILICON AQUARIUS, INCORPORATED
To: S. AQUA SEMICONDUCTOR, LLC
Reel/Frame 024707/0984 →