Patent US5778243A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5778243A Expired / Lapsed US ⏱️ 0.0 years remaining

Multi-threaded cell for a memory

Assignee: International Business Machines Corp
•
Filing: 1996-07-03
•
Granted: 1998-07-07
•
Expires: 2016-07-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A multi-threaded memory (and associated method) for use in a multi-threaded computer system in which plural threads are used with a single processor. The multi-threaded memory includes: multi-threaded storage cells; at least one write decoder supplying information to a selected multi-threaded storage cell; and at least one read decoder accessing information from a selected multi-threaded storage cell. Each of the multi-threaded storage cells includes: N storage elements, where N≧2, each of the N storage elements having a thread-correspondent content; a write interface supplying information to the intra-cell storage elements; and a read interface reading information from the intra-cell storage elements. At least one of the intra-cell read and write interfaces selects one of the thread-correspondent contents based at least in part by identifying the corresponding thread to achieve intra-cell thread-correspondent content selection.

Inventors

  • 👤 Anthony Gus Aipperspach
  • 👤 Todd Alan Christensen
  • 👤 Binta Minesh Patel
  • 👤 Nghia van Phan
  • 👤 Michael James Rohn
  • 👤 Salvatore Nicholas Storino
  • 👤 Bryan Joe Talik
  • 👤 Gregory John Uhlmann

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 08:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30098; G06F9/30141; G06F9/30105; G06F9/30116; G06F9/3012; G06F9/30123; G06F9/38; G06F9/3836; G06F9/3851; G11; G11C; G11C8/00; G11C8/16

Claims Analysis

Total Claims: 40
Claim 1
Independent Claim 157 words
In a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, a multi-threaded memory comprising: a plurality of multi-threaded storage cells; at least one write decoder supplying information to a selected one of the multi-threaded storage cells; at least one read decoder accessing information from a selected one of the multi-threaded storage cells; each of the multi-threaded storage cells including: N storage elements, where N≧2, each of said N storage elements having a thread-correspondent content, a write interface, operatively connected to said at least one write decoder, and supplying information to said plural storage elements, and a read interface, operatively connected to said at least one read decoder, and reading information from said plural storage elements, at least one of said read and write interfaces selecting one of said thread-correspondent contents based at least in part by identifying the corresponding thread, thereby achieving intra-cell thread-correspondent content selection.
Claim 2
Dependent Claim 157 words
In a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, a multi-threaded memory comprising: a plurality of multi-threaded storage cells; at least one write decoder supplying information to a selected one of the multi-threaded storage cells; at least one read decoder accessing information from a selected one of the multi-threaded storage cells; each of the multi-threaded storage cells including: N storage elements, where N≧2, each of said N storage elements having a thread-correspondent content, a write interface, operatively connected to said at least one write decoder, and supplying information to said plural storage elements, and a read interface, operatively connected to said at least one read decoder, and reading information from said plural storage elements, at least one of said read and write interfaces selecting one of said thread-correspondent contents based at least in part by identifying the corresponding thread, thereby achieving intra-cell thread-correspondent content selection.
Claim 3
Dependent Claim 50 words
The multi-threaded memory of claim 1, wherein at least one of said interfaces includes: an N-selector selecting one of the N storage elements corresponding to a selected thread; and at least one port connecting the N-selector to said at least one decoder in a ratio of one port per decoder.
Claim 4
Dependent Claim 23 words
The multi-threaded memory of claim 2, wherein the read interface includes an N-selector and one port per said at least one read decoder.
Claim 5
Dependent Claim 23 words
The multi-threaded memory of claim 3, wherein the write interface includes an N-selector and one port per said at least one write decoder.
Claim 6
Dependent Claim 64 words
The multi-threaded memory of claim 4, wherein the memory includes: at least N decoders sufficient in number to ensure a ratio of at least one said decoder per storage element; the write interface, for each storage element, including one port per said at least one decoder for operatively connecting the storage element to the decoder such that plural threads can be written to simultaneously.
Claim 7
Dependent Claim 15 words
The multi-threaded memory of claim 1, wherein the interfaces include ports formed of transmission gates.
Claim 8
Dependent Claim 15 words
The multi-threaded memory of claim 1, wherein the interfaces include ports formed of pass gates.
Claim 9
Dependent Claim 61 words
The multi-threaded memory of claim 1, wherein each of said storage elements i s a master storage element, said multi-threaded storage cells further including, N slave storage elements, each corresponding to a master storage element, and scanning means, associated with each master/slave storage element pair, for using a slave storage element to verify data integrity in the corresponding master storage element.
Claim 10
Dependent Claim 47 words
The multi-threaded memory of claim 1, wherein the multi-threaded memory is a content-addressable memory; the multi-threaded memory further including: comparison means, associated with each multi-threaded storage cell, for comparing a bit value in a desired bit pattern with each of said thread-correspondent contents and identifying all matches.
Claim 11
Dependent Claim 68 words
The multi-threaded memory of claim 1, wherein the N storage elements in a multi-threaded storage cell are connected in a ring; each interface is operatively connected to a storage element; and a thread selection is made by circulating the thread-correspondent contents in the storage elements through the ring until the contents corresponding to a desired thread are located in the storage element to which the interface is connected.
Claim 12
Dependent Claim 15 words
The multi-threaded memory of claim 10, wherein: each storage element includes a pair of latches.
Claim 13
Dependent Claim 41 words
The multi-threaded memory of claim 10, wherein each multi-threaded storage cell includes: an auxiliary write interface, connected to a different storage element than the other write interface, enabling access to a different point in the ring than the other write interface.
Claim 14
Dependent Claim 49 words
The multi-threaded memory of claim 10, wherein the write interface and read interface are connected to the same storage element; each multi-threaded storage cell further including: ring-bypass means for enabling the storage element, connected to the interfaces, to bypass the other storage elements in the ring when circulating thread-contents.
Claim 15
Dependent Claim 51 words
The multi-threaded memory of claim 1, wherein the memory includes at least two write decoders and at least two read decoders; the write interface including, for each write decoder, at least one port per storage cell; the read interface including, for each read decoder, at least one port per storage cell.
Claim 16
Dependent Claim 33 words
The multi-threaded memory of claim 14, wherein the memory includes one of a set of 3 write decoders and 6 read decoders and a set of 12 write decoders and 8 read decoders.
Claim 17
Dependent Claim 13 words
A microprocessor comprising a multi-threaded memory as in any one of claims 1-15.
Claim 18
Dependent Claim 186 words
In a multi-threaded memory formed from a plurality of multi-threaded storage cells for use in a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, said processor including at least one write decoder supplying information to a selected one of the multi-threaded storage cells and at least one read decoder accessing information from a selected one of the multi-threaded storage cells, each multi-threaded storage cell including N storage elements, where N≧2, a write interface operatively connected to said at least one write decoder, and supplying information to said plural storage elements, and a read interface operatively connected to said at least one read decoder and reading information from said plural storage elements, a method of thread selection comprising the step of: providing each of said N storage elements with a thread-correspondent content; intra-cellularly selecting one of said plurality of thread-correspondent contents based at least in part by identifying the corresponding thread; and connecting the selected one of said plurality of thread-correspondent contents to said single processor through at least one of said write and read interfaces.
Claim 19
Dependent Claim 186 words
In a multi-threaded memory formed from a plurality of multi-threaded storage cells for use in a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, said processor including at least one write decoder supplying information to a selected one of the multi-threaded storage cells and at least one read decoder accessing information from a selected one of the multi-threaded storage cells, each multi-threaded storage cell including N storage elements, where N≧2, a write interface operatively connected to said at least one write decoder, and supplying information to said plural storage elements, and a read interface operatively connected to said at least one read decoder and reading information from said plural storage elements, a method of thread selection comprising the step of: providing each of said N storage elements with a thread-correspondent content; intra-cellularly selecting one of said plurality of thread-correspondent contents based at least in part by identifying the corresponding thread; and connecting the selected one of said plurality of thread-correspondent contents to said single processor through at least one of said write and read interfaces.
Claim 20
Dependent Claim 28 words
The method of claim 17 wherein said step of intra-cellularly selecting includes the step of indicating to the cell the thread upon which the single processor is processing.
Claim 21
Dependent Claim 31 words
The method as in claim 17, wherein the step of intra-cellularly selecting one of said plurality of thread-correspondent contents includes connecting a data line directly to one of said storage elements.
Claim 22
Dependent Claim 53 words
The method as in claim 17, wherein the step of intra-cellularly selecting one of said plurality of thread-correspondent contents includes shifting said plurality of thread-correspondent contents through said N storage elements until said one thread-correspondent contents resides in a storage element that is connected to one of said write interface and read interface.
Claim 23
Dependent Claim 174 words
In a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, a multi-threaded memory comprising: a plurality of multi-threaded storage cells; at least one write decoder supplying information to a selected one of the multi-threaded storage cells; at least one read decoder accessing information from a selected one of the multi-threaded storage cells; each of the multi-threaded storage cells including: N storage elements, where N≧2, each of said N storage elements having a thread-correspondent content, a write interface, operatively connected to said at least one write decoder, and supplying information to said plural storage elements, and a read interface, operatively connected to said at least one read decoder, and reading information from said plural storage elements, at least one of said read and write interfaces including: an N-selector selecting one of the N storage elements corresponding to a selected thread; and at least one port connecting the N-selector to the at least one decoder in a ratio of at least one port per decoder.
Claim 24
Dependent Claim 174 words
In a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, a multi-threaded memory comprising: a plurality of multi-threaded storage cells; at least one write decoder supplying information to a selected one of the multi-threaded storage cells; at least one read decoder accessing information from a selected one of the multi-threaded storage cells; each of the multi-threaded storage cells including: N storage elements, where N≧2, each of said N storage elements having a thread-correspondent content, a write interface, operatively connected to said at least one write decoder, and supplying information to said plural storage elements, and a read interface, operatively connected to said at least one read decoder, and reading information from said plural storage elements, at least one of said read and write interfaces including: an N-selector selecting one of the N storage elements corresponding to a selected thread; and at least one port connecting the N-selector to the at least one decoder in a ratio of at least one port per decoder.
Claim 25
Dependent Claim 26 words
The multi-threaded memory of claim 21, wherein the read interface includes the N-selector and has at least one port per said at least one read decoder.
Claim 26
Dependent Claim 55 words
The multi-threaded memory of claim 22, wherein the memory includes at least two write decoders in a ratio of at least one said write decoder per thread; the write interface including: a set, for each storage element, of at least one port per said write decoder such that plural threads can be written to simultaneously.
Claim 27
Dependent Claim 53 words
The multi-threaded memory of claim 21, wherein the memory includes at least two write decoders and at least two read decoders; the write interface including, for each said write decoder, at least one port per storage cell; the read interface including, for each said read decoder, at least one port per storage cell.
Claim 28
Dependent Claim 33 words
The multi-threaded memory of claim 24, wherein the memory includes one of a set of 3 write decoders and 6 read decoders and a set of 12 write decoders and 8 read decoders.
Claim 29
Dependent Claim 189 words
In a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, a multi-threaded memory comprising: a plurality of multi-threaded storage cells; at least one write decoder supplying information to a selected one of the multi-threaded storage cells; at least one read decoder accessing information from a selected one of the multi-threaded storage cells; each of the multi-threaded storage cells including: N storage elements, where N≧2, each of said N storage elements having a thread-correspondent content, a write interface, operatively connected to said at least one write decoder and at least on storage element, and supplying information to said plural storage elements, and a read interface, operatively connected to said at least one read decoder and at least one storage element, and reading information from said plural storage elements; the N storage elements in a multi-threaded storage cell being connected in a ring; a thread selection being made by shifting the thread-correspondent contents in the storage elements through the ring until the contents corresponding to a desired thread are located in the storage element to which the interface is connected.
Claim 30
Dependent Claim 189 words
In a multi-threaded computer system using plural threads with a single processor, said single processor processing one thread at a time, a multi-threaded memory comprising: a plurality of multi-threaded storage cells; at least one write decoder supplying information to a selected one of the multi-threaded storage cells; at least one read decoder accessing information from a selected one of the multi-threaded storage cells; each of the multi-threaded storage cells including: N storage elements, where N≧2, each of said N storage elements having a thread-correspondent content, a write interface, operatively connected to said at least one write decoder and at least on storage element, and supplying information to said plural storage elements, and a read interface, operatively connected to said at least one read decoder and at least one storage element, and reading information from said plural storage elements; the N storage elements in a multi-threaded storage cell being connected in a ring; a thread selection being made by shifting the thread-correspondent contents in the storage elements through the ring until the contents corresponding to a desired thread are located in the storage element to which the interface is connected.
Claim 31
Dependent Claim 15 words
The multi-threaded memory of claim 26, wherein: each storage element includes a pair of latches.
Claim 32
Dependent Claim 41 words
The multi-threaded memory of claim 26, wherein each multi-threaded storage cell includes: an auxiliary write interface, connected to a different storage element than the other write interface, enabling access to a different point in the ring than the other write interface.
Claim 33
Dependent Claim 49 words
The multi-threaded memory of claim 26, wherein the write interface and read interface are connected to the same storage element; each multi-threaded storage cell further including: ring-bypass means for enabling the storage element, connected to the interfaces, to bypass the other storage elements in the ring when circulating thread-contents.
Claim 34
Dependent Claim 53 words
The multi-threaded memory of claim 26, wherein the memory includes at least two write decoders and at least two read decoders; the write interface including, for each said write decoder, at least one port per storage cell; the read interface including, for each said read decoder, at least one port per storage cell.
Claim 35
Dependent Claim 33 words
The multi-threaded memory of claim 30, wherein the memory includes one of a set of 3 write decoders and 6 read decoders and a set of 12 write decoders and 8 read decoders.
Claim 36
Dependent Claim 180 words
In a multi-threaded computer system using plural threads with a single processor, said single processor selecting a cell and a thread therein to be processed and processing one thread at a time, a multi-threaded memory comprising: a three-dimensional array of storage elements organized as a two-dimensional array of cells, each cell having a plurality of storage elements, a first dimension of said array corresponding to a number of cells in said array, a second dimension corresponding to a number of bits per one of said storage elements, and a third dimension corresponding to a number of threads per one of said cells, where each one of said storage elements in a cell is operable to store a thread; and one of a first combination of a write decoder for decoding write addresses of cells in said array and a read decoder for decoding read addresses of cells in said array, a second combination of a said write decoder and at least two said read decoders, and a third combination of said read decoder and at least two said write decoders.
Claim 37
Dependent Claim 180 words
In a multi-threaded computer system using plural threads with a single processor, said single processor selecting a cell and a thread therein to be processed and processing one thread at a time, a multi-threaded memory comprising: a three-dimensional array of storage elements organized as a two-dimensional array of cells, each cell having a plurality of storage elements, a first dimension of said array corresponding to a number of cells in said array, a second dimension corresponding to a number of bits per one of said storage elements, and a third dimension corresponding to a number of threads per one of said cells, where each one of said storage elements in a cell is operable to store a thread; and one of a first combination of a write decoder for decoding write addresses of cells in said array and a read decoder for decoding read addresses of cells in said array, a second combination of a said write decoder and at least two said read decoders, and a third combination of said read decoder and at least two said write decoders.
Claim 38
Dependent Claim 29 words
The multi-threaded memory of claim 32, further comprising: a plurality of thread selectors, corresponding to said cells, for selecting storage elements in said cells corresponding to selected threads, respectively.
Claim 39
Dependent Claim 32 words
The multi-threaded memory of claim 33, wherein said array is operable so that thread selection by said single processor is independent of an address access to said array by said single processor.
Claim 40
Dependent Claim 47 words
The multi-threaded memory of claim 32, wherein each of said cells is configured as a ring of storage elements, and each of said thread selectors is operable to circulate contents of said storage cells until a desired thread is located at a desired point on the ring.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-06 2002-01-05 2002-07-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-06 2006-01-05 2006-07-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-06 2010-01-05 2010-07-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag