throbber
United States Patent
`[”1 3,602,899
`___________.__._____________
`
`l72l
`
`[21]
`[Ill
`[23]
`
`[45]
`I73]
`
`[54l
`
`[52]
`[51}
`[50]
`
`Appl. No.
`Filed
`
`Inventors Arvin B. Undqukt;
`Wilbur D. Print; Robert R. Seeber, all of
`Foughltm MY.
`844.713
`June 20. 1969
`Division at Ser. No. 609,073. Jan. 13, 1967.
`Pat. No. 3,518,631
`Aug. 31, I971
`International Business Machines
`Corporation
`Armonk. N.Y.
`
`Patented
`Assignee
`
`
`
`ASSOCIATIVE MEMORY SYSTEM WITH MATCH.
`N0 MATCH AND MULTIPLE MATCH
`RESOLUTION
`2 Claims, 7 Drawing Figs.
`vs. CI..................................................... 340/1725
`m. c:..............
`.. Gllc 15/00
`
`FieldolSeerch 340/1725,
`:73; 235/157
`
`[56]
`
`References Cited
`UNITED STATES PATENTS
`
`6/ I967 Lee ..............................
`3,328,769
`8/1967 Singleton et al.
`3,339,181
`
`6/l968 Lee .................
`3,388,382
`9/1968 Barnes eta].
`3.401.376
`9/1968 Koerncr et al ................
`3.402‘394
`I 2/1968 Burns ...........................
`3.419.85l
`Primary Examiner—Gareth D. Shaw
`Auarneys—Hanifin and Jancin and Owes L. Lamb
`
`340/1725
`340/1725
`340/1725
`340/1725
`340/1725
`340/1725
`
`ABSTRACT: An associative memory matrix having a writable
`portion made up of bistable memory cells and a read-only por-
`tion made up of monostable memory cells. The memory may
`be used as a conventional memory by placing an address in the
`address field of an entry register. masking out all other bits
`and performing a match interrogation with the unmasked bits.
`Since the contents of the address portion (read-only memory)
`of each stored word are unique, the interrogation results in a
`single match at the location containing the address sought.
`Included is a circuit for determining whether no match, one
`match, or a multiple match has occurred.
`
`
`BIT POSITION CONTROL
`
`
`
`DATA FIELD
`i ADIRESS
`
`FIELD
`MEMORY
`
`ll
`CONTROL
`
`
`MASK REGISTER
`
`l
`
`
` 0,“? LOGIC
`
` WORD .
`ASSOCIATIVE
`
`HENRY ARRAY
`REGISTER
`
`CONTROL
`
`(FIG 3)
`
`
`v
`ADDRESS
`I
`DAT/l FIELD
`
`
`
`l l FELD
`
`
`1
`
`ARISTA-1009
`
`1
`
`ARISTA-1009
`
`

`

`PATENIEH MM] 197:
`
`3,602,895}
`
`SHEET 1 UF 3
`
`FIG.I
`
`I4
`28
`
`BIT POSITION CONTROL
`
`
`
`DATA FIELD
`I AgggEgs
`
`CONTROL
`
`
`I0
`
`ASSOCIATIVE
`
`
`WORD
`
`MEMORY ARRAY
`
`
`REGISTER
`
`
`(FIG. 2)
`
`"_‘TV"I
`CONTROL
`WORD DRIVE
`
`
`
`24
`
`
`
`
`DATA FIELD
`
`
`
`1
`ADDRESS
`I
`FELD
`
`
`
`I
`|
`
`ARWIII
`WILBUR
`ROBERT
`
` IIIVEIITDIIS
`B.
`LIIIDDUIST
`D.
`PRICER
`R.
`SEEBER
`
`3151441237”;
`
`ATTORNEY
`
`2
`
`

`

`PATENIED was):
`
`[1
`
`H
`
`3,802,899
`
`SHEEI 2 BF 3
`
`N.9...
`
`
`
`m..Em
`
`9me5_Ea;
`
`9:32._mg;
`
`.Em
`
`mmzmw
`
`
`
`
`
`SEEEOdy—E59E5:_2E2:_WES_was_.m5;03:;NtmrEm
`
`.Cm.:m._._m.Em
`
`
`
`
`
`
`
`mmZmommZmommZmomu>_mo~n
`
`E
`
`on
`
`
`‘NIN‘‘NI_tin—mu
`Ina..-I.:g4.504:50
`limo_Ill52%II22,
`II!J9.0;
`jmo.35mi-525
`
`mIIImm>Eu1.I_owe;EIn?
`
`
`
`0&0;
`
`mmZmQ
`
`3
`
`
`
`
`

`

`PATENTEU M133] 1%
`
`3.502.899
`
`SHE“ 3 0f 3
`
`POSITION
`w
`
`an
`POSITION
`16
`
` an
`
`an
`POSITION
`as
`
`TESTO
`
`TEST1
`
`EST 0
`
`TESH
`
`+
`
`+
`
`“6'40
`
`woan SENSE
`
`wont}
`LINE
`
`woao SENSE
`
`wono
`LINE
`
`FIG,4b
`
`TESTO
`
`+
`
`mm
`
`+
`
`:
`
`moSENSE
`
`wormSEuSE
`
`mo
`LINE
`
`FIG.4c
`
`WORD
`“HE
`
`FIG. 4d
`
`4
`
`

`

`1
`
`3,602,899
`
`2
`
`ASSOCIATIVE MEMORY SYSTEM WITH MATCH, NO
`MATCH AND MULTIPLE MATCH RESOLUTION
`
`CROSS-REFERENCES TO RELATED APPLICATIONS
`
`This is a division of application Ser. No. 609,073 filed Jan.
`13, I967 Us. Pat. No. 3,331,912 issued July 18, I967.
`“A Monolithic Associative Memory Cell," by W. D. Pricer,
`filed Dec. I7. I965, discloses the cross-coupled memory cell
`utilized in the associative memory matrix disclosed herein.
`
`BACKGROUND OF THE INVENTION
`
`This invention relates to computer memory systems and
`more particularly to associative memories wherein data may
`be accessed on the basis of content rather than physical loca-
`tion.
`
`only portion made up of monostable or bistable memory cells.
`The memory is provided with an entry register and masking
`means for masking out certain portions of the entry register. In
`order to use the associative memory as a conventional
`memory an address is decoded by placing it in an address field
`of the entry register, masking out all other bits, and perform-
`ing a match interrogation with the unmasked bits. Since the
`contents of the address field (read-only memory) of each
`word is unique, the interrogation results in a single match at
`the location containing the address sought. The matched word
`can then be read out in the same manner that a conventional
`memory is read.
`In accordance with another aspect of the invention. a logic
`circuit is provided for resolving multiple matches.
`
`5
`
`10
`
`IS
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`DESCRIPTION OF THE PRIOR ART
`
`Associative memories are memories in which data may be
`accessed on the basis of content. Conventional memories are
`accessed by supplying an address which indicates the physical
`location of the desired data. In conventional memories the
`computer must keep track of where data is stored. In order to
`retrieve such data the computer program must specify the ad-
`dress at which the data is stored. In an associative memory the
`data may be retrieved by specifying the content of the data
`stored rather than its address.
`In an associative memory it is sometimes desirable to ad-
`dress the memory as if it were a conventional memory. This
`may be referred to as the decoding function. It is also desirable
`when interrogating an associative memory to deliver to an out-
`put register a unique address representing the location of the
`data that matched during interrogation. This is referred to as
`the encoding function. The encoding function is particularly
`useful when the associative memory is used as a mapping
`device for dynamic storage allocation in a time-sharing
`system. If there is a one-to-one correspondence between the
`words of the associative memory and the storage addresses
`(pages) of the main memory then the unique address can be
`stored in the associative memory by using read-only storage
`cells permanently set to indicate the unique address. However,
`if there are less associative words than pages of main memory
`than these unique addresses will represent the addresses of
`only those memory pages currently identified by the associa-
`tive memory. These unique addresses will then have to be
`stored in writable associative storage cells.
`There may be more than one word or portion of a word
`which is identical to other words or portion of words stored in
`the memory. If an interrogation and simultaneous read func-
`tion is performed on a word or a portion of a word which is
`duplicated at another location in the associative memory, a
`multiple match will occur. It is desirable to have an indication
`as to whether there were no words that match (0), one word
`that matched (1). or more than one word that matched (a plu-
`rality, P). A simultaneous read function is normally executed
`when one expects a unique match and therefore would like to
`avoid the delay required to resolve a multiple match. The 0, l
`or P indication is a very valuable function to have when per«
`forming an AMOR (Associative Memory with Ordered
`Retrieval) sort of the type described in US. Pat. No.
`3,249,921 by A. B. Lindquist and R. R. Seebcr issued May 3,
`I966.
`
`SUMMARY OF THE INVENTION
`
`It is a paramount object of this invention to provide an as—
`sociative memory capable of performing a decoding function,
`an encoding function and resolving multiple matches.
`It is also an object of this invention to provide a logic circuit
`for resolving multiple match situations.
`The above objects are accomplished in accordance with the
`invention by providing an associative memory matrix having a
`writable portion made up of bistable memory cells and a read-
`
`55
`
`60
`
`65
`
`70
`
`75
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`FIG. I is a block diagram of an associative memory system
`in which the invention is embodied.
`FIG. 2 is a more detailed logical block diagram of the as-
`sociative memory array shown in FIG. I.
`FIG. 3 is a more detailed logical block diagram of the zero.
`one or multiple match logic shown in FIG. 1.
`FIGS. 40—11 are schematic diagrams of read-only memory
`cells suitable for use in the associative memory array of FIG.
`2.
`
`DESCRIPTION OF THE PREFERRED EMBODIMENT
`
`Referring now to FIG. 1, the associative memory system in-
`cludes an associative memory matrix having a writable portion
`10 made up of bistable memory cells of the type described in
`the aforementioned Pricer application and a read-only portion
`I2 made up of monostable or bistable memory cells. The
`memory is controlled by a bit position control circuit 14 which
`includes an entry register 16 and a mask register I8 which can
`function to mask any selected position of the register 16. The
`outputs of the associative memory array are fed to a memory
`output register 20 which during a read operation receives data
`bits read from the memory 10, I2. Logic 22 is provided for
`determining whether no match. one match, or a plurality of
`matches occurred in the array. Word register control logic 24
`and memory control logic 28 are provided for performing
`memory control functions.
`The associative memory array 10, 12 is shown in more
`detail in FIG. 2. The array comprises a plurality of cells 50
`which may be either writable or read-only storage cells. As
`shown in the aforementioned Pricer application, the cells 50
`are driven by bit driver circuits 52. 5‘. Word driver circuits 56
`are provided for each row of cells for selecting a particular
`row during a writing operation. Word sense amplifiers 58 are
`provided at each row for providing a word sense output during
`a read operation. In the embodiment shown the associative
`memory comprises 64 words of [6 bits per word. Some of
`these bits may comprise a read-only portion in which event the
`memory cells are read-only cells in that portion of the
`memory. As more fully described in the Pricer application, to
`write a one into any particular bistable cell it is necessary to
`energize the word driver for the particular row selected and
`the bit driver 54 for the particular bit position or column
`selected. Nondestructive readout is accomplished by energiz—
`ing the word driver 56 alone thereby causing current through
`the already conducting transistor within the memory cell 50 to
`vary. Bit sense amplifiers 62 sense this variation. For an as
`sociative memory tag compare operation an interrogation for
`a one or a zero is performed by the bit driver. A sense amplifi-
`er 58 connected to the word line senses whether a “no match"
`has been achieved.
`
`The address field bits 10—16 of the associative memory
`array shown in FIG. 2 16 comprise read-only storage bits. The
`read—only memory cells are shown in FIGS. 4a—d. Signals for
`associative search are fed through the test 0 line to the word
`line but not from the test 1 line, or vice versa. Nondestructive
`readout is achieved by pulsing the word line positive and
`
`5
`
`5
`
`

`

`3
`sensing current variations on the test 1 line. In both of these
`read-only applications the electrical characteristics are the
`same as for the read/write bistable memory cell. Therefore,
`the read-only cells may be intermixed with the read/write cells
`in the same memory. The read-only cell will simply ignore any
`write operations since they have no effect on the cell.
`The 0, 1, P logic 22 of FIG. I is shown in more detail in FIG.
`3. This logic performs the function of determining whether I,
`0 or a plurality of matches was achieved on a particular inter-
`rogation. This logic will be described in more detail after the
`description of the entire memory.
`CONVENTIONAL ADDRESSING
`
`Referring again to FIG. 1. ifthe associative memory is to be
`used as a conventional memory, an address can be decoded by
`placing the address in the address field of the entry register 16,
`and masking out all other bits with the mask register 18. Only
`the unmasked bit positions interrogate the associative memory
`array. Since the contents of the address field of each word are
`unique, the interrogation will yield only a single match. The
`matched word is then read out under control of the word re-
`gister control 24 into the memory output register 20. Thus, the
`associative memory has operated as if it were a conventional
`memory.
`
`ASSOCIATIVE ADDRESSING
`
`To encode, or find the address of a Specific piece of data,
`the associative memory array may be interrogated on the basis
`of content rather than on the basis of address. This is done by
`storing the data sought in the data field of the entry register
`16. The mask register is used to mask out the address field and
`the associative memory 10 is interrogated by only the data
`field bits. The matched word is read out under control of word
`register control 24 into the output register. The address field
`of this register then contains the desired address. The address
`hits 12 in the associative memory array 10 may be read'only
`hits since these bits would never be changed when performing
`the functions just described.
`
`RESOLVING MULTIPLE MATCHES
`
`It is possible that the same information may be stored in the
`data field of two or more locations in the associative memory
`array. Or the information may not be stored at all in the as-
`sociative memory array. In either of these cases it is necessary
`to be able to determine whether no match, one match or a plu-
`rality of matches occurred in the array. This function is per-
`formed by the logic 22 shown in FIG. I and in more detail in
`FIG. 3.
`Interrogation for this data proceeds as follows. The data is
`stored in the data field of entry register 16. The mask register
`18 is set to mask out the address field. Interrogation of the
`array III proceeds by the energizing of the I and 0-bit drivers
`of each column. Each nonmatching word position generates a
`pulse on the corresponding word line, which pulse resets the
`latch for that word row. Latches remain set in the word posi—
`tion in which the data matches the contents of entry register
`16. A read operation is initiated by energizing word drivers in
`all word positions having the latch remaining on. The pulses
`on the word driver lines produce signals from the bit sense am—
`plifiers 62, 64 for each address field position. For example, if
`word 2 matches the interrogation word and if bit one of this
`word is a “one," there will be a signal from bit sense amplifier
`62 for bit position I. If the data portion of more than one word
`is matched the address field bit sense lines will be activated
`each acting independently. Thus. if the data portions of word
`1 and word 2 both match and address bit I of word I is 0. and
`address bit 1 of word 2 is I. there will be a signal on both the
`“ 1 "-bit sense amplifier in bit position 1 and “0"-bit sense am-
`plifier or bit position I. If these signals are logically combined
`as shown in FIG. 3. it can be determined whether 0, l or plu-
`rality of matching words exist. Thus, if both the 0- and 1-bit
`sense positions of any bit position are energized, one of the
`
`3 ,602,899
`
`4
`
`AND circuits 60 will be energized forcing an output from the
`0R circuit 61 which indicates a plurality of matching words. If
`any one or more word positions match the interrogating word,
`then all of its bit positions must have either a l or a 0 output
`from the bit sense amplifier 62, 64. If any one position does
`have a l or a 0 output, then a word has matched. In the logic
`shown in FIG. 3 only one-bit position 16 is necessary. The I
`and 9 outputs are ORed in OR circuit 64 which provides an
`output which indicates that at least one word position has
`matched the interrogating word. If the P-line (plurality of
`matched words) is not energized, an output from AND circuit
`66 will occur indicating that only one word is matched.
`Because all of the address fields are unique, that is each ad-
`dress will difi'er from all others in at least one bit position. it is
`known that the signals 1 or 0 will be up in at least one address
`bit position; namely, that position in which the two addresses
`differ. Thus by ANDing all pairs of signals (AND circuit 60)
`and ORing the outputs of all the ANDS 60 (OR circuit 61),
`the output P is energized whenever there is more than one
`match.
`
`SUMMARY
`
`The associative decode function replaces the conventional
`decode function resulting in a number of advantages. The first
`advantage is that with the associative decode function as an in»
`tegral part of the memory address decoding, the address trans-
`lation part of a mapping device for a time-sharing system
`becomes unnecessary. The associative decode function per‘
`formed in this way uses bistable or monostable {read-only) as-
`sociative storage cells. There are certain advantages in using
`read-only associative cells for storing the unique addresses of
`each word. First of all, with read—only cells there is no chance
`of destroying the information. In addition, with read-only ad-
`dresses it is not necessary to initialize the unique addresses
`when power is first turned on in the system and furthermore
`the addresses are not destroyed when power is turned off.
`While the invention has been particularly shown and
`described with reference to preferred embodiments thereof. it
`will be understood by those skilled in the art that various
`changes in form and details may be made therein without de-
`parting from the spirit and scope of the invention.
`What is claimed is:
`1. In a memory including a matrix of memory cells, rows of
`which correspond to words; columns of which correspond to
`bit positions within each word. and in which each memory cell
`is of a type which has a word drive line coupled to each cell in
`a row which upon energization produces a signal on a 0-bit
`sense line or a I—bit sense line of a pair of such lines for each
`cell in said row depending upon the state of the cell, and in
`which said 0-bit sense lines in a column are coupled to a com-
`mon bit sense 0 output, and said l-bit sense lines in a column
`are coupled to a common bit sense I output. the improvement
`compnsmg:
`an address portion of said matrix for storing an address field
`in each word stored in said memory, the bits in said ad-
`dress field set to represent unique addresses for each
`word, each address differing from each other word ad-
`dress by the statc of at least one bit position in said field;
`control means for energizing none, one, or a plurality ofsaid
`word drive lines for reading words from said matrix
`thereby producing signals on the 1 lines or the 0 lines de-
`pending upon the state ol‘ the cells;
`means coupled to the common bit sense 0 outputs and the
`common bit sense I outputs of said address portion for
`combining the 1 and 0-bit sense 0—of each column of said
`address portion to yield a first output in response to both
`bit sense outputs being energized in any pair, thus indicat-
`ing the reading ofa plurality of words;
`means coupled to the common bit sense 0 output and the
`common bit sense 1 output of one column of cells in said
`matrix for combining the I- and 0-bit sense outputs to
`yield a second output if either one of the outputs is ener—
`gized thus indicating the reading of at least one word; and
`
`5
`
`l0
`
`l5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`70
`
`75
`
`6
`
`

`

`5
`
`3,602,899
`
`Word in said matrix.
`
`6
`
`2. The memory matrix of claim I wherein said address por-
`tion comprises read-only memory cells, set to nondestructive-
`ly store said unique addresses.
`
`means combining said first output and said second output to
`thereby produce a third output whenever the first output
`is not energized and the second output is energized, to
`thereby yield a signal indicating the reading of only one
`
`5
`
`l0
`
`IS
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`70
`
`75
`
`7
`
`

`

`mg?
`
`-
`
`UNITED STATES PATENT omen
`CERTIFICATE OF CORRECTION
`
`Patent No.
`
`3 592 892
`
`Dated August 31I L92;
`
`Invennufe) Arwin B. Lindquist, Wilbur D. Pricer, Robert R. SeeberM
`
`It is certified that error appear. in the ebove-Ldentlfied patent
`and the: said Letters Patent ere hereby corrected as shown below:.
`
`F—
`
`the word "0—" , second occurrence,
`line 67,
`Column 4,
`should read —— outputs --.
`
`.7
`
`Signed and sealed this 14th day of March 1972.
`
`(SEAL)
`Attest:
`
`EDWARD M.FLETCHER,JR.
`‘
`Attesting Officer
`
`ROBERT GOTTSCHALK
`COmmissioner of Patents
`
`623- 2721-0
`
`8
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket