WO2002017329A1 - Optical content addressable memory - Google Patents

Optical content addressable memory Download PDF

Info

Publication number
WO2002017329A1
WO2002017329A1 PCT/IL2000/000671 IL0000671W WO0217329A1 WO 2002017329 A1 WO2002017329 A1 WO 2002017329A1 IL 0000671 W IL0000671 W IL 0000671W WO 0217329 A1 WO0217329 A1 WO 0217329A1
Authority
WO
WIPO (PCT)
Prior art keywords
light
pattern
photosensors
signal
signals
Prior art date
Application number
PCT/IL2000/000671
Other languages
French (fr)
Inventor
Naim Konforti
David Mendlovic
Aviram Sariel
Tzvi Tzelnik
Original Assignee
Lenslet Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenslet Ltd. filed Critical Lenslet Ltd.
Priority to AU2000279437A priority Critical patent/AU2000279437A1/en
Publication of WO2002017329A1 publication Critical patent/WO2002017329A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E1/00Devices for processing exclusively digital data
    • G06E1/02Devices for processing exclusively digital data operating upon the order or content of the data handled
    • G06E1/04Devices for processing exclusively digital data operating upon the order or content of the data handled for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Optical Communication System (AREA)

Abstract

Apparatus for simultaneously comparing a given signal with a plurality of reference signals to determine if the given signal matches a reference signal of the plurality of reference signals comprising: an optical pattern detector for each reference signal of the plurality of reference signals that generates an output signal when illuminated by a predetermined light pattern uniquely associated with the reference signal; and an optical pattern generator that generates a light pattern unique to the given signal simultaneously on each of the optical pattern detectors.

Description

OPTICAL CONTENT ADDRESSABLE MEMORY FIELD OF THE INVENTION
The invention relates to content addressable memories (CAMs) and in particular to optical CAMs. BACKGROUND OF THE INVENTION
A CAM is a memory, which in common with most other memories, has data stored in memory locations that are identified by addresses. However, in a CAM, data is located by the contents of the memory locations rather than by the addresses of the memory locations.
CAMs, which are also referred to as "associative memories", are used to provide fast access to information that is associated with given data. A CAM is queried for information associated with the given data by presenting the CAM with the data and if the CAM has matching data stored in a memory location of the CAM, the CAM returns an address of a memory location that contains the associated information. The returned address may be a memory location in the CAM or in a storage memory associated with the CAM. In the event there is more than one match to the presented data, one match from the multiple matches is selected according to an appropriate predetermined priority criteria and the address associated with the selected match returned.
Hereinafter, it is assumed for convenience of presentation that the given data for which associated information is desired and the data stored in the CAM which is compared to the given data are represented as binary strings. The given data is referred to as a "query string" and the data stored in a memory location in the CAM that is compared to the given data is referred to as a "reference string". An address returned by a CAM when a match to a query string is found is referred to as an "associated address".
CAM memories operate as parallel processors. In searching for a match to a query string, a CAM will compare the query string simultaneously with all the reference strings stored in the CAM. As a result, CAMs are generally substantially faster in locating and retrieving data from databases and lists, and for performing various matching tasks than conventional memories that access data by addressing specific memory locations. CAMs are therefore particularly suited for applications that involve, for example, data compression, coding, memory mapping, network switching, pattern recognition and in asynchronous transmission mode (ATM) components of LANs and WANs that support real time voice and video transmission. These applications require data access times that are generally substantially faster than data acquisition times that can be provided by other types of memories.
To illustrate CAM operation, assume that a CAM is used in an Ethernet router that receives data packets, each of which encodes its destination address in a packet header, and routes the received data packets to their respective destinations via appropriate output ports. The CAM comprises a table of destination addresses and corresponding output ports. Each destination address is stored in a memory location in the CAM and the address of the memory location in which a destination address is stored, either identifies an output port for the destination address or is a pointer to a memory address containing data identifying the output port. When an incoming data packet is received, the router extracts the data packet's destination address from the packet header and presents the extracted destination address to the CAM. The CAM simultaneously compares the packet destination address (a query string) with all destination addresses (reference strings) stored in the CAM to locate a destination address that matches the packet destination address. The memory address of the destination address that matches tl e packet destination address identifies the appropriate output port from which to transmit the data packet.
CAMs and their operation are described in an article by Sheri Azgomi, available at URL "csdmag.com/main/1999/l l/9911feat3.htm" in September, 2000, the disclosure of which is incorporated herein by reference. SUMMARY OF THE INVENTION
An aspect of the present invention relates to providing an optical CAM in which a query string is optically processed to compare the query string with reference strings stored in tlie CAM.
An optical CAM in accordance with an embodiment of the present invention comprises an optical pattern generator and a plurality of optical pattern detectors. When the CAM receives a query string, the optical pattern generator generates a same spatial light pattern, which is unique to the received query string, on each one of the optical pattern detectors.
Each optical pattern detector is associated with a single reference string stored in the CAM and comprises a plurality of photosensors and associated electronics. The photosensors and electronics are configured to determine if a spatial light pattern of a query string that illuminates the pattern detector represents a query string that matches the reference string with which the optical detector is associated. If the spatial light pattern does represent a query string that matches the optical pattern detector's reference string, the pattern detector outputs a signal that identifies an associated address in a memory in which desired information associated with the query string is stored. (It should be noted that a query string may be a portion of a larger string. For example, a query string may be a binary string representing an address of a data packet, which data packet is defined by a binary string having substantially more bits than are comprised in the address string.)
In some embodiments of the present invention each optical pattern detector is permanently associated with a same reference string. In some embodiments of the present invention, optical pattern detectors are programmable and a reference string associated with each patteni detector can be changed.
In some embodiments of the present invention, each optical pattern detector comprises a plurality of photosensors, each of which photosensors corresponds to a different bit in a reference string associated with the pattern detector. For example, if the pattern detector comprises N photosensors labeled 0 - (N-l) then the i-th photosensor corresponds to the i-th bit of a reference string associated with the pattern detector.
When the CAM receives a query string, the optical pattern generator illuminates photosensors in the pattern detectors responsive to values of bits in the query string. For example, in some embodiments of the present invention the optical pattern generator illuminates the i-th photosensor of all optical pattern detectors in the CAM if the i-th bit of the query string has a value equal to one. The pattern generator does not illuminate the i-th bit of the pattern detectors if the i-th bit of the query string has a value equal to zero. Electronics associated with each pattern detector senses if the i-th photosensor is illuminated or not, and thereby determines if the value of the i-th bit of the query string is respectively a one or a zero. If the determined value for the i-th bit of the query string is the same as the value of the i-th bit of the reference string, the electronics determines that the i-th bit of the reference string matches the i-th bit of the reference string. If all the bits of the query and reference strings match, the pattern detector generates a signal identifying an associated address corresponding to the query string.
In the above description, by way of example, illuminated regions of a pattern detector represent bits in a query string that have a value equal to one and non-illuminated regions of a pattern detector represent bits having a value equal to zero. The choice of whether illuminated or non-illuminated regions represent a one or a zero is of course arbitrary and a CAM in accordance with an embodiment of the present invention can operate by generating either a positive or a negative image of a query string. Hereinafter, for convenience of presentation it is assumed that optical pattern generators generate positive optical patterns of a query string and that illuminated regions of a pattern detector represent bits having a value equal to one.
In some embodiments of the present invention, each optical pattern detector comprises a single column of photosensors in a rectangular array of rows and columns of photosensors. The photosensor in each column of photosensors (i.e. in each pattern detector) that is located in the i-th row in the array of photosensors conesponds to the i-th bit of a reference string (and the i-th bit of a query string that is compared with the reference string) associated with the pattern detector. The pattern generator optionally comprises a column of N light sources configured in a linear array parallel to the columns of the photosensor array. Light from the i-th light source, when the light source is turned on, is directed by the optical pattern generator to illuminate only and all the photosensors in the i-th row of the photosensor array. Each of the light sources corresponds to a different bit in a query string input to the CAM, i.e. the i-th light source corresponds to the i-th bit of the input query string. Light sources corresponding to bits in the query string that have a value of one are turned on, while light sources corresponding to bits that have a value equal to zero are turned off. The pattern generator thereby illuminates the photosensors in all of the columns (i.e. pattern detectors) corresponding to bits in the query string that have a value equal to one and leave un-illuminated all the photosensors conesponding to bits having values equal to zero.
In some embodiments of the present invention the CAM comprises a cylindrical lens that focuses light from each light source onto the row of photosensors corresponding to the light source.
In some embodiments of the present invention, light from each light source is coupled to a different light pipe that fans out the light to form a line source of light. In some embodiments of the present invention, an optical element or system directs and/or focuses light from the line source onto the row of photosensors corresponding to the light source from which the light pipe receives light. In some embodiments of the present invention, the optical system comprises a spherical lens that focuses light from the line source onto the corresponding row of photosensors. In some embodiments of the present invention, the line source is substantially contiguous with the corresponding row of photosensors. In addition, the length of the line source is substantially equal to the length of the corresponding row of photosensors. As a result, light from the line source illuminates all and substantially only photosensors in the corresponding row of photosensors and a directing optical system is not required to direct light from the line source to the row of photosensors.
In some CAMs, hereinafter refened to as "rainbow CAMs", in accordance with an embodiment of the present invention, each light source radiates light characterized by a different band of wavelengths. The row of photosensors corresponding to the light source is shielded by a filter that transmits substantially only light having wavelengths in the band of wavelengths radiated by the light source. Each row of photosensors is thereby protected from possible improper illumination by light from a light source that does not correspond to the row of photosensors. Potential "cross-talk" between different rows of photosensors, especially adjacent rows of photosensors, is therefore reduced.
In some rainbow CAMs, in accordance with an embodiment of the present invention, light from each light source in an optical pattern generator comprised in the CAM is not piped by a light pipe or focused by a lens. Light from each light source in the optical pattern generator is constrained by the filters to illuminate only those photosensors in the CAM for which the light is intended.
In some CAMs in accordance with an embodiment of tlie present invention, each optical pattern detector comprises first and second photosensors masked respectively by first and second masks. The first mask has a mask pattern that transmits light to the first photosensor only to areas of the photosensor that would be illuminated by light from the optical pattern generator if- a query string input to the CAM is identical to the pattern detector's reference string. The second mask has a mask pattern that is a negative of the first mask pattern. The second mask pattern transmits light to the second photosensor substantially only to areas of the second photosensor that would not be illuminated if the input query string is identical to the reference string. The optical pattern detector determines that a query string input to the CAM is identical to its reference string only if: 1) intensity of light sensed by the first photosensor is substantially equal to intensity of light that would be sensed by the photosensor if the query and reference strings were identical and; 2) intensity of light sensed by the second photosensor is less than a predetermined threshold, which is exceeded if light from the pattern generator is incident on any of the regions of the second mask pattern that transmits light.
In the above description the optical pattern detectors are described as columns of photosensors in a rectangular array of rows and columns of photosensors. The array does not have to be rectangular. For example, in some embodiments of the present invention the columns of photosensors form a curved, optionally cylindrical surface.
With respect to rainbow CAMs, in accordance with an embodiment of the present invention, the light sources used for generating light patterns can be spatially distributed in other than linear configurations. Substantially any spatial distribution of the light sources can be used in the practice of the present invention, as long as light from each light source in the distribution is properly incident on all the photosensors shielded with a filter that transmits light radiated by the light source. Similarly, photosensors in a rainbow CAM pattern detector may be configured spatially in other than a linear configuration as long as each photosensor can be properly illuminated with light from the light source in the pattern generator that transmits light transmitted by the photosensor's filter. For example, the photosensors may be distributed in a circle or randomly distributed in a common localized neighborhood.
It should be further noted that light sources used in CAMs, in accordance with embodiments of the present invention are not restricted to radiating visible light. In accordance with various embodiments of the present invention, the light sources may provide, for example, infrared (TR) light, ultraviolet (UV) light or visible light or any suitable combination thereof.
There is therefore provided in accordance with an embodiment of the present invention, apparatus for simultaneously comparing a given signal with a plurality of reference signals to determine if the given signal matches a reference signal of the plurality of reference signals comprising: an optical pattern detector for each reference signal of the plurality of reference signals that generates an output signal when illuminated by a predetermined light pattern uniquely associated with the reference signal; and an optical pattern generator that generates a light pattern unique to the given signal on each of the optical pattern detectors.
Optionally, the optical pattern generator generates the light pattern responsive to a binary string representing the given signal. Optionally, the reference signal associated with a pattern detector is represented by a binary string. Optionally the given signal and the reference signals are represented by binary strings having a same number of bits. In some embodiments of the present invention the light pattern comprises a spatial light pattern. In some embodiments of the present invention, the optical pattern generator comprises a plurality of light sources each light source associated with a different bit in the binary string representing the given signal.
In some embodiments of the present invention, the apparatus comprises a controller that controls the light source associated with a bit in the given signal binary string to be on or off if the value of the bit is respectively equal to one or zero. Alternatively, the apparatus optionally comprises a controller that controls the light source associated with a bit in the given signal binary string to be on or off if the value of the bit is respectively equal to zero or one. In some embodiments of the present invention, each pattern detector comprises a different photosensor associated with each bit in its reference signal binary string. Optionally, the optical pattern generator comprises a light director that directs light from the light source associated with the n-th order bit of the given signal binary string so that the light is incident on, and substantially only on, the photosensor associated with the n-th order bit of the reference signal binary string of each pattern detector.
Optionally, each optical pattern detector comprises processing circuitry that determines for each of the photosensors in the pattern detector whether the photosensor is illuminated or not illuminated by light from the optical pattern generator. Optionally, the processing circuitry determines whether a value of a bit of the given signal binary string, which is represented by the illumination or lack of illumination of the photosensor, is equal to a value of the corresponding bit of the reference string associated with the pattern detector responsive to whether the photosensor is illuminated or not illuminated.
In some embodiments of the present invention, the processing circuitry determines that the given signal matches tlie reference signal if and only if the value of each bit of the given signal binary string is determined by the circuitry to be equal to the value of the corresponding bit of the reference signal binary string.
In some embodiments of the present mvention, the light sources are configured in a linear array. In some embodiments of the present invention, the photosensors in each pattern detector are configured in a linear array. Optionally, the linear array of photosensors in each pattern detector is a column of photosensors in a same rectangular array of rows and columns of photosensors. Optionally, the linear array of light sources is parallel to the columns of photosensors in the array of photosensors. In some embodiments of the present invention, the light sources are substantially point-like light sources. In some embodiments of the present invention, the light sources are linear light sources parallel to the rows of photosensors.
In some embodiments of the present invention, the light director comprises a cylindrical lens that focuses light from each light source in the linear array of light sources so that light from the light source is incident on a different, substantially only one, row of photosensors and illuminates all the photosensors in the row of photosensors on which it is incident.
In some embodiments of the present invention, the light director comprises a different light pipe for each Hght source that collects light from the light source and pipes the light to an exit surface of the light pipe from which the collected light exits the light pipe. Optionally, the exit surface is an elongate surface of the light pipe that is parallel to the rows of photosensors. Optionally, the elongate surface has a length substantially equal, to the length of a row of photosensors in the rectangular array of photosensors. In some embodiments of the present invention, the elongate surface of each light pipe is substantially contiguous with a different row of photosensors in the rectangular array of photosensors.
In some embodiments of the present invention, the light director comprises a spherical lens that focuses light from each of the elongate exit surfaces on a different substantially only one row of photosensors in the rectangular array of photosensors and wherein the focused light illuminates all the photosensors in the row of photosensors. hi some embodiments of the present invention, the light director comprises a cylindrical lens that focuses light from each of the elongate exit surfaces on a different substantially only one row of photosensors in the rectangular array of photosensors and wherein the focused light illuminates all the photosensors in the row of photosensors. In some embodiments of the present invention, each of the light sources provides light in a different band of wavelengths. Optionally, each photosensor in a pattern detector is shielded by a filter that transmits light provided by the light source that corresponds to a same order bit in the given signal binary string as the order of the bit in the reference signal binary string to which the photosensor conesponds. In some embodiments of the present invention, each pattern detector comprises first and second photosensors respectively masked by first and second masks, each mask having masking regions that either transmit or do not transmit hght radiated by the light sources. Optionally, the first mask has a mask pattern of transmitting and non-transmitting masking regions that transmits light to all and only those areas of the first that would be illuminated in the absence of the mask were the pattern generator to generate a light pattern associated with a given signal that is identical to the pattern detector's reference signal. Optionally, the second mask pattern is the inverse of the first mask pattern. In some embodiments of the present invention, the optical pattern detector generates an output signal if: 1) intensity of light sensed by the first photosensor is substantially equal to intensity of light that would be sensed by the photosensor if the given and reference strings were identical; and 2) intensity of light sensed by the second photosensor is less than a predetermined threshold, which is exceeded if light from the pattern generator is incident on any of the regions of the second mask pattern that transmits light.
In some embodiments of the present invention, the output signal provided by the optical pattern detector identifies a memory address of a memory in which data associated with the reference signal is stored.
In some embodiments of the present invention, the optical pattern detectors are programmable so that a reference string associated with a pattern detector can be changed. Optionally, the apparatus comprises a controller that parses an input signal into a sequence of given signals, wherein for each given signal in the sequence, the pattern generator illuminates each of the pattern detectors with a light pattern unique to the given signal and the controller programs each of the pattern detectors with a reference signal that is a different portion of a larger reference signal associated with the pattern detector and wherein the controller provides a signal indicating that the input signal is identical to a larger reference signal associated with a particular pattern detector if the particular pattern detector generates an output signal for each of the light patterns in the sequence.
There is further provided, in accordance with an embodiment of the present invention a method of simultaneously determining whether a first signal is identical to any one of a plurality of second signals, wherein the first signal and each of the second signals are signals in the ensemble of signals, the method comprising: associating a unique light pattern with each signal in the ensemble of signals; generating the light pattern conesponding to the first signal; and simultaneously sensing the generated light pattern with each of a plurality of optical pattern detectors each of which generates an output signal only when illuminated by the light pattern associated with one of the plurality of second signals and wherein the number . of the plurality of pattern detectors is equal to the number of the plurality of second signals. Optionally, each of the signals in the ensemble of signals is a binary signal. Optionally, all the signals in the ensemble of signals have a same number of bits.
There is further provided a method of simultaneously determining whether an input signal is identical to any one of a plurality of reference signals, the method comprising: parsing the input signal into an ordered sequence of first signals; parsing each of the reference signals into an ordered sequence of second signals; for each of the first signals, simultaneously determining whether the first signal is identical to the homologous second signal in the ordered sequence of each of the reference signals using a method of simultaneously determining whether a first signal is identical to any one of a plurality of second signals, in accordance with an embodiment of the present invention; and determining that the input signal is identical to a particular reference signal of the plurality of reference signals if each of the first signals in the ordered sequence of first signals is identical to the homologous second signal in the ordered sequence of second signals of tlie particular reference signal. BRIEF DESCRIPTION OF FIGURES
Non-limiting examples of embodiments of the present invention are described below with reference to figures attached hereto. In the figures, identical structures, elements or parts that appear in more than one figure are generally labeled with the same numeral in all the figures in which they appear. Dimensions of components and features shown in the figures are chosen for convenience and clarity of presentation and are not necessarily shown to scale. The figures are listed below.
Fig. 1 schematically shows an optical CAM in accordance with an embodiment of the present invention;
Fig. 2 schematically shows an optical CAM comprising light pipes, in accordance with an embodiment of the present invention;
Fig. 3 schematically shows another optical CAM comprising light pipes, in accordance with an embodiment of the present invention;
Fig. 4 schematically shows an optical rainbow CAM, in accordance with an embodiment of the present invention; Fig. 5 schematically shows another optical rainbow CAM, in accordance with an embodiment of the present invention; and
Fig. 6 schematically shows a CAM in which photosensors are masked with a mask pattern, in accordance with an embodiment of the present invention. DETAILED DESCRIPTION OF EXAMPLES OF EMBODIMENTS
Fig. 1 schematically shows an optical CAM 20, in accordance with an embodiment of the present invention. Optical CAM 20 is configured, by way of example to process query strings having eight bits and is shown processing a query string represented by a block arrow 22 having a string of eight bits. The bits are labeled by alphanumerics B0-B7. The numeral of an alphanumeric that labels a bit gives the order of the bit in query string 22.
Optical CAM 20 comprises an optical pattern generator 24 optionally comprising a linear array 26 of light sources 28, a controller 30 and a cylindrical lens 32. Each light source 28 corresponds to a different bit in bit strings processed by CAM 20. Light sources 28 are individually distinguished by alphanumeric labels L0 through L7, and as clarity and convenience warrants, the light sources will be referenced by either the number 28 or by the alphanumeric labels. The numeral in a light source label indicates the bit in query strings processed by CAM 20 to which the light source corresponds, e.g. light source L0 corresponds to bit B0 in query string 22 and light source L5 conesponds to bit B5 in the query string. Controller 30 turns on those light sources 28 in linear array 26 that correspond to bits in a query string being processed by CAM 20 that have a value equal to one. Light sources 28 that correspond to bits in the received query string that have a value equal to zero are controlled by controller 30 to be off. In Fig. 1 bits B0, B2, B3, B5 and B7 in query string 22 have a value equal to one and bits Bl, B4 and B6 have a value equal to zero. Controller 30 therefore controls light sources L0, L2, L3, L5 and L7 to be on and light sources LI, L4, and L6 to be off. Light sources L0-L7 that are on, are shown shaded and light sources of light sources L0-L7 that are off are shown without shading.
Cylindrical lens 32 focuses light from each light source L0-L7, when the light source is turned on, into a narrow band of light on a different row of photosensors 36 in a rectangular array 40 of eight rows and "N" columns of photosensors. Columns of photosensor array 40 are identified by alphanumerics Cl, C2...CN. The alphanumerics identifying the first 3 columns and the last column of photosensors 36 in array 40 are shown in Fig. 1. Each row of array 40 corresponds to a different light source L0-L7. The rows in photosensor array 40 are labeled R0 through R7 and the numeral in a label indicates the light source L0-L7 that corresponds to the row, i.e. the light source of light sources L0-L7 from which cylindrical lens 32 focuses light onto the row of photosensors. For example, light from light source L0 is focused by cylindrical lens 32 onto row R0 and light from light source L5 is focused onto row R5. In Fig. 1, light from a light source L0-L7 that is focussed onto a conesponding row of photosensors 36 is indicated by a shaded area on the row. Rows RO, R2, R3, R5 and R7 are illuminated with light from turned on light sources LO, L2, L3, L5 and L7 respectively and are shown with shaded areas.
The bit pattern of a query string being processed by CAM 20, which is reproduced in a pattern of turned on and turned off light sources L0-L7, is thus reproduced in a pattern of illuminated and non-illuminated rows of photosensors 36 in photosensor array 40. As a result, the bit pattern of a query string being processed by CAM 20 is reproduced in a pattern of illuminated and non-illuminated photosensors 36 in each of the columns Cl-CN of photosensors in CAM 20. The photosensor 36 in a column "Cn" (0< n< N) of photosensor array 40 that is located in the "i-th" row of the array receives light or doesn't receive light according to whether or not the value of the i-th bit of the query string is 0 or 1.
Each column of photosensors 36 is connected to its own processing circuit and is associated with a reference string. The processing circuit determines which of the photosensors 36 in the column of photosensors is illuminated and which are non-illuminated and if the bit p attern represented by the illuminated and non-illuminated photosensors matches the bit pattern of its associated reference string. If the bit pattern matches, the processing circuit outputs an associated address of the query string. Each column of photosensors 36 in photosensor array 40 and its associated processing circuit thus functions as an optical pattern detector. CAM 20 therefore comprises N optical pattern detectors, hereinafter referred to by the alphanumeric labels Cl-CN used to identify columns in array 40, and is thus configured, by way of example, to simultaneously compare an eight bit query string with N reference strings. It should be noted, that for CAM 20 to simultaneously check for a match for an eight bit query string against all possible eight bit reference strings, photosensor array 40 must have at least 2^ = 256 columns of photosensors 36, i.e. N must be equal to 256. In some embodiments of the present invention, each optical pattern detector Cl-CN is permanently associated with a reference string. In other embodiments of the present invention pattern detectors Cl-CN are programmable and a reference string associated with each pattern detector can be changed by reprogramming the pattern detector.
Programmable pattern detectors are advantageous, for example, if a CAM, in accordance with an embodiment of the present invention, cannot simultaneously compare a query string with all the different reference strings possible for the number of bits in the query string. For example, assume that an optical CAM in accordance with an embodiment of the present invention is required to search for matches to eight bit query strings but that the CAM comprises only 126 optical pattern detectors. In order for the CAM to compare an eight bit query string with all 256 possible eight bit reference strings, the pattern detectors in the CAM are programmed with a first set of 128 reference strings of the possible 256 reference strings. The CAM then simultaneously compares the query string with each of the reference strings in the first set of reference strings to find a match for the query string. If a match is not found, the pattern detectors comprised in the CAM are reprogrammed with a second set of 128 reference strings containing reference strings of the possible 256 reference strings not in the first set of reference strings. The CAM then simultaneously compares the query string with the reference strings in the second set of reference strings to find the match for the query string.
Programmable pattern detectors in a CAM, in accordance with an embodiment of the present invention, are also advantageous if query strings and reference strings to be matched comprise more bits than the number of bits that each of the detectors in the CAM can check at one time. In such a case, in accordance with an embodiment of the present invention, the query strings are parsed into a plurality of component query strings, each of which comprises a number of bits equal to or less than the number of bits that the pattern detectors can simultaneously check. The reference strings are similarly parsed into component reference strings. When a match to a query string is sought, the pattern detectors are sequentially programmed with the component reference strings and each of the component query strings is checked against the component reference strings to determine a match to the query string.
To illustrate with a very simple example, assume that the query and reference strings comprise eighth bits and that a CAM in accordance with an embodiment of the present invention comprises sixteen pattern detectors, each of which can simultaneously check only four bits. Each reference string would be parsed into two component reference strings comprising four bits each. Assume that the first component reference string of a reference string comprises the four most significant bits of the reference string and the second component reference string of the reference string comprises the four least significant bits of the reference string. A query string for which a match is sought would be similarly parsed into first and second component query strings comprising respectively the four most significant bits and the four least significant bits of the query string. To find a match to the query string, the pattern detectors might first be programmed with the sixteen first component reference strings and the first component query string matched to the programmed component reference strings. The patterns detectors would then be programmed with the sixteen second component reference strings and the second component query string compared to the programmed reference strings to determine which of the programmed reference strings it matches.
In some embodiments of the present invention, data required to program programmable pattern detectors in a CAM is provided to the processing circuits of the pattern detectors via their respective photosensors. To change a current reference string stored in a particular pattern detector to a desired reference string, the controller controls the optical pattern generator of the CAM to illuminate the pattern detectors in the CAM with a light pattern corresponding to the desired reference string. The controller controls the circuitry of the particular pattern detector to recognize the light pattern with which the pattern detector's photosensors is illuminated as representing data conesponding to a desired reference string that is to replace the current reference and not as data to be matched. The circuitry then updates its reference string responsive to the light pattern.
A processing circuit 50, in accordance with an embodiment of the present invention, is shown for column N of photosensor array 40. To prevent clutter, processing circuits for the other colunms are not shown and in the discussion that follows only some components of identical components in processing circuit 50 are labeled with a reference number.
Processing circuit 50 comprises a different exclusive nor ("Xnor") circuit for each photosensor 36 in column CN. Each photosensor 36 in column CN is connected to a first input 52 of its Xnor circuit 54 via a suitable threshold circuit 56, such as for example a comparator. The threshold circuit generates an appropriate 0 or 1 "query" logic level at first input 52 if intensity of light sensed by photosensor 36 is respectively less than or greater than a predetermined threshold intensity. A second input 53 of each Xnor circuit 54 in processing circuit 50 is connected to a circuit controller 58. An output 60 of each Xnor circuit 54 is connected to an "AND" circuit 62 having an output 64 connected to circuit controller 58. Circuit controller 58 sets a 0 or 1 "reference" logic level for each Xnor circuit 54 at input 56 of the Xnor circuit in accordance with a reference string associated with pattern detector CN (i.e. column CN). The reference logic level for Xnor circuit 54 connected to photosensor 36 of pattern detector CN that is located in the i-th row of photosensor array 40 is set according to the value of the "i-th" bit in the reference string. For example, the reference logic level of the "R0" photosensor 36 (i.e. the photosensor in column CN that is located in
• row R0) is set according to the value of the bit B0 of the reference string. As a result, AND circuit 62 generates a logical 1 output signal only if the query logic level of each Xnor circuit
54 is the same as the reference logical level of the Xnor circuit. AND circuit 62 therefore generates a logical one output signal only if the query string is identical to the reference string in circuit controller 58. If circuit controller 58 receives a logical 1 signal from AND circuit 62, the circuit controller outputs a signal identifying an associated address for the query string. hi Fig. 1 pattern detector CN is associated with a reference string 66. Circuit controller 58 sets a logic level at the input 56 of each Xnor circuit that is indicated by the 0 or 1 of reference string 66 that is located near the line that connects the Xnor circuit to the circuit controller. Reference string 66 in Fig. 1 is, by way of example, identical to query string 22. As a result each Xnor circuit 54 transmits a logical 1 output signal to AND circuit 62 and the AND circuit transmits a logical 1 signal to circuit controller 58. In response, circuit controller 58 outputs a signal, which is schematically represented by block arrow 68 that defines an associated address for query string 22.
Light sources 28 may comprise any of various suitable light-emitting elements, such as LEDs or lasers, which are readily available in the market. In accordance with various embodiments of the present invention light sources 28 may radiate JR. light, UV light or visible hght. In some embodiments of the present mvention, controller 30 turns on or off light sources 28 by turning on or off the light-emitting elements comprised in the light sources. In some embodiments of the present invention each light source 28 comprises a shutter, such as for example a liquid crystal shutter or a multiple quantum well (MQW) shutter that shutters a light emitting element in the light source. Controller 30 turns on or turns off a light source 28 by opening or closing the shutter, hi some embodiments of the present invention, in which each light source 28 comprises a shutter for shuttering light from a light emitting element, a single light emitting element is common to more than one of the light sources 28. Furthermore, whereas light sources 28 are shown as circular, substantially point light sources, light sources used in the practice of the present invention can have other shapes. For example, in some embodiments of the present invention light sources 28 are line sources that are oriented parallel to the rows of photosensors 16 in array 40.
Array 40 of photosensors 36 is preferably formed on a single substrate using processes known in the art and photosensors 36 may comprise, for example, light sensitive devices such as photodiodes, CCDs or photowells. Elements of processing circuit 50 that are associated with each row of photosensors are, optionally, integrated on the same chip with the light sensitive devices. In some embodiments of the present invention, for example, each photosensor 36 comprises, in addition to a light sensitive device, threshold circuit 56 and Xnor circuit 52 that is associated with the photosensor. In some embodiments of the present invention, photosensors 36 and elements of processing circuits 50 are formed on different layers of a multilayer semiconductor structure.
To estimate a size for an array of optical pattern detectors in an exemplary optical CAM similar to optical CAM 20 shown in Fig. 1, in accordance with an embodiment of the present invention, assume that a packing density of photosensors determines a size of the pattern detector array. Then if a photosensor, by way of example, occupies an area 20 microns square, a pattern detector array comprising a photosensor array similar to photosensor array 40 having a length of about two centimeters can simultaneously compare a query string with 1000 reference strings. Such a photosensor array can be used to simultaneously compare a ten bit query string with all possible ten bit reference strings. Since each column of the photosensor array must accommodate ten photosensors, one photosensor for each of the bits in the query and reference strings the array would have a width of about 0.2 mm.
It is to be noted that the photosensors can be larger or smaller than 20 microns square. In addition the aπay can be fabricated as an assembly of discrete detectors or as a monolithic array of detectors.
Fig. 2 schematically shows a CAM 80, in accordance with an embodiment of the present invention, that operates similarly to CAM 20 but comprises an optical pattern generator 82 that is different from optical pattern generator 24 comprised in CAM 20. Optical pattern generator 82 comprises a linear array of light sources 28, individually identified by alphanumerics L0-L7, a plurality of light pipes 84, a different one of which is coupled to each light source 28 and optionally a spherical lens 86. Similarly to CAM 20, CAM 80 comprises optical pattern detectors Cl-CN each of which comprises a column of photosensors 36 in a photosensor array 40 and a processing circuit 50 (shown for convenience only for column CN) for each column of photosensors 36. Each light pipe 84 is, optionally, formed in the shape of a thin triangular plate having two parallel planar surfaces 86, a first "input" edge surface 88 and a second "output" edge surface 90. Each light pipe 84 collects light from the light source 28 to which it is coupled via input edge surface 88 of the light pipe and guides the collected light to output edge surface 90. Preferably, light pipe 84 homogenizes light that it collects so that collected light exiting output edge surface 90 is substantially uniform along the length of output edge surface. In some embodiments of the present invention light pipes 84 are seeded with suitable scattering centers to homogenize collected light. In some embodiments of the present invention, input edge surface 88 is formed so that it is suitably optically dispersive in order to homogenize collected light. Examples of dispersive light pipes are described in Israel Patent Application 135944, filed in the Israel Patent Office on May 3, 2000, the disclosure of which is incorporated herein by reference.
Optionally, light exiting output edge surface 90 of each light pipe 84 is focused by lens 86 into a narrow band of light on a different one of rows R0-R7 of photosensors 36 in photosensor array 40 to reproduce a bit pattern of a query string being processed by CAM 80. The size of output edge surfaces 90 and the relative positions of the output edges, lens 86 and photosensor array 40 are determined so that when a light source is turned on, the nanow band of light illuminates all photosensors 36 in the row of photosensors corresponding to the light source.
In Fig. 2, CAM 80 is shown processing a query string 92 and light sources L0, L2, L4, L5 and L7 conesponding to bits in query string 92 having a value equal to one are turned on. Turned on light sources L0, L2, L4, L5 and L7 and output edge surfaces 90 of light pipes 84 coupled to the turned on light sources through which light from the turned on light sources exits are shown shaded. Conesponding rows R0, R2, R4, R5 and R7 of photosensors array 40 are illuminated and are shown shaded. Query string 92 has a bit pattern that is different from the bit pattern of reference string 66 associated with pattern detector CN and processing circuit 50 does not output an associated address for the query string.
Whereas the shape of light pipes 84 shown in Fig. 2 is triangular, other shapes of light pipes may be used in the practice of the present invention. For example, light pipes 84 can be formed in a shape of a thin rectangular plate having two large planar surfaces and four narrow edge surfaces. Each light source 28 is preferably coupled to a region near the center of an edge surface of the light pipe. Preferably, light that exits the light pipe from the edge of the rectangular light pipe opposite to the edge to which the light source is coupled, is focused by lens 86 onto a row of photosensors in photosensor array 40.
In Figs. 1 and 2 lenses and light pipes are used to optically fan out a spatial light pattern of turned on and turned off light sources 28 so that an image of the pattern is replicated on each of optical pattern detectors Cl-CN, in accordance with embodiments of the present invention, hi some CAMs, in accordance with an embodiment of the present invention, a diffractive element or elements, such as for example a Damman grating, are used to replicate the light pattern. Replication of light patterns using Damman gratings is described in PCT Patent Application PCT/LL00/00283, filed in the Israel Patent Office on May 19, 2000, the disclosure of which is incorporated herein by reference. Fig. 3 schematically shows another CAM 140, in accordance with an embodiment of the present invention. CAM 140 is similar to CAM 80, shown in Fig. 2 and comprises, by way of example, optical pattern detectors Cl-CN, each of which comprises a column of photosensors 36 in a photosensor array 40 and a processing circuit 50. However, CAM 140 comprises an optical pattern generator 142, which while comprising light sources 144 and light pipes 146 similar to light sources 28 and light pipes 84 comprised in optical pattern generator 82 of CAM 80, does not comprise a lens 86. In CAM 140, a lens 86 to focus light from an output edge surface 148 of each light pipe 146 to a corresponding row of photosensors 36 in array 40 is not required. In CAM 140, photosensor array 40 is positioned so that output edge surface 148 of each light pipe 146 is aligned parallel to and contiguous with or close to its conesponding row of photosensors 36 in photosensor array 40. In addition, each output surface 148 has a length substantially equal to the length of its corresponding row of photosensors 36. As a result, light from each light source 144 is directly coupled to its conesponding row of photosensors 36 via its light pipe 146. Light from each light pipe 146 that exits its output surface 148 illuminates all, and substantially only, photosensors 36 in the row of photosensors conesponding to the light pipe and the light source 144 from which the light pipe collects light. (Note that in CAM 140 rows in photosensor array 40 corresponding to light sources L0-L7 are labeled R0-R7 in from top to bottom whereas in CAM 80 rows in photosensor array 40 are labeled L0-L7 in "inverted" order from bottom to top. The inversion is indicated because in CAM 80 lens 86 images light from light sources L0-L7 on photosensor array in "inverse" order, i.e. light from the top light source, L0, is imaged on the bottom row of array 40. In CAM 140 on the other hand light from the top light source, L0, illuminates the top row of array 40.)
Fig. 4 shows an optical rainbow CAM 100, in accordance with an embodiment of the present invention. Rainbow CAM 100 is similar to CAM 80 shown in Fig. 2 except that rainbow CAM 100 comprises light sources 102, each of which radiates light in a different band of wavelengths. Suitable lasers, LEDs or filtered light sources that are usable for light sources 102 are readily available in the market. In addition, rows R0-R7 in photosensor array 40 are shielded respectively by filters F0-F7 shown with dashed lines. The filter shielding a row of photosensors transmits light having a wavelength in the band of wavelengths radiated by the row's conesponding light source (i.e. the light source 102 from which optional lens 86 focuses light onto the row) and blocks light from other light sources 102. For example, filter F0 transmits light having a wavelength in the band of wavelengths radiated by light source LO and blocks light in wavelength bands transmitted by light sources L1-L7.
The use of light sources 102 that radiate light in different wavelength bands and matching filters, in accordance with an embodiment of the present invention, substantially reduces cross-talk between photosensors 36 in adjacent rows of photosensors in photosensor array 40.
Fig. 5 shows a rainbow CAM 110, in accordance with an embodiment of the present invention. Rainbow CAM 110 comprises components similar to components comprised in rainbow CAM 100 shown in Fig. 4 and operates similarly to the manner in which optical CAMs shown in Figs. 1 - 3 operate. However, rainbow CAM 110, optionally, does not comprise lenses or light pipes to guide light from a light source 102 to its conesponding row of photosensors in photosensor anay 40 that the light source, when turned on, is intended to illuminate.
Rainbow CAM 110 relies only upon filters F0-F7 shielding rows R0-R7 in photosensor array 40 of rainbow CAM 110 to assure that light from a light source 102 in the CAM illuminates only those photosensors 36 in the light source's conesponding row in the array. For example, light from light source L3 is intended to illuminate only photosensors 36 in row R3 of anay 40. However, when light source L3 is turned on by controller 30, light from the light source would, except for the presence of filters F0-F7, be incident on substantially all rows of photosensors 36 in array 40. Whereas filter F3 transmits light from light source L3 so that it is incident on conesponding row R3 of photosensor array 40, filters F0-F2 and F4-F7 prevent light from light source L3 from reaching rows R0-R2 and R4-R7 of photosensors 36.
Rainbow CAM 110 is substantially simpler than other CAMs, in accordance with embodiments of the present invention, that are described above, however rainbow CAM 110 is more wasteful of optical energy than the other CAMs.
Fig. 6 schematically shows an optical CAM 120, in accordance with an embodiment of the present invention, comprising an optical pattern generator 82 similar to optical pattern generator 82 shown hi Figs. 2 and 3 but having optical pattern detectors that are different from those described above. Optical CAM 120 is configured, by way of example, to simultaneously compare an eight bit query string with N eight bit reference strings to find a reference string that matches the query string. Optical CAM 120 comprises an array 122 of 2N photosensors 124 individually designated by alphanumerics P1-P2N and a "checkerboard" mask 126, which is shown with dashed lines, that masks photosensor anay 122. Checkerboard mask 126 comprises eight rows and 2N columns of rectangular mask regions 128. Each mask region 128 either transmits or blocks light transmitted by light sources L0-L7. Rows of mask regions 128 are labeled MRO - MR7. The columns in checkerboard mask 126 are refened to by alphanumerics M1-M2N. The alphanumerics designating the first two and last two photosensors 124 and the first two and last two columns in checkerboard mask 126 are shown in Fig. 6. The width and length of each column of mask regions 128 is substantially equal to the length and width of a photosensor 36 and each photosensor is masked by a single corresponding column of mask regions (i.e. column MCn of checkerboard mask 126 masks photosensor Pn (0 < n < 2N)).
In some embodiments of the present invention, each mask region 128 is permanently either transmitting or not transmitting. For example, checkerboard mask 126 can be formed by printing transmitting and non-transmitting regions on an appropriate substrate. In some embodiments of the present invention, mask regions 128 are not permanently either transmitting or not transmitting. Instead, mask regions 128 can be switched between transmitting and non-transmitting states as required by a suitable controller. For example, mask regions 128 may be formed from liquid crystals (LC) MQW stmctures or electrochromic materials that can be controlled to be either transmitting or non-transmitting. For simplicity of presentation it is assumed that mask regions are permanently either fransmitting or non-transmitting. Each photosensor 124 designated by an odd numbered alphanumeric (i.e. a photosensor Pn where n is an odd number) and its subsequent even alphanumeric photosensor are connected to a processing circuit 130. Two photosensors 124 connected to a same processing circuit 130 and their respective columns of mask regions 128 form a pattern detector of CAM 120. CAM 120 therefore comprises N optical pattern detectors. Let the optical pattern detectors in CAM 120 be refened to by alphanumerics "OP1- OPN". Elements of an optical pattern detectors in CAM 120 are most clearly seen in optical pattern detector OP1 which comprises photosensors PI and P2 and is located at the left hand end of photosensor array 122. The discussion of the operation of optical pattern detectors OP 1 -OPN refers to components of optical pattern OP 1.
Optical pattern detector OP1 is configured to determine if a query string being processed by CAM 120 is the same as a reference string 131 having a bit pattern (01100101) shown inside circuit 130 of detector OP1, where the least significant bit is on the right. Accordingly, mask regions 128 in column MCI that mask photosensor PI, which are located in rows MRO, MR2, MR5 and MR6 of checkerboard mask 126 transmit light. Mask regions 128 in column MCI and rows MR1, MR3, MR4 and MR7 do not transmit light. Mask regions 128 in column MC2 that mask photosensor P2 of pattern detector OP1 on the other hand are configured with a mask pattern that is the inverse of the mask pattern of mask regions column MCI. Mask regions 128 in column MC2 and rows MRO, MR2, MR5 and MR6 do not transmit light and mask regions in column MC2 in rows MR1, MR3, MR4 and MR7 do transmit light. Mask regions 128 in columns MCI and MC2 that do not transmit light are shaded and masked regions 128 that do transmit light are not shaded. Only if optical pattern generator 82 generates an optical pattern that illuminates all light transmitting mask regions 128 in column MCI and no light transmitting mask regions 128 in column MC2 is a query string being processed by CAM 120 identical to the reference string of pattern detector OP1. However, a threshold, hereinafter a "first threshold", can be determined for photosensor PI such the photosensor generates a signal that is greater than or less than the threshold if respectively all or less than all light transmitting regions 128 in column MCI are illuminated. Furthermore, if none of light transmitting regions in column MC2 are illuminated, photosensor P2 will generate a signal that is responsive substantially only to background light and dark current, which will be less than a second threshold. As a result, if and only if photosensor PI generates a signal greater than the first threshold and photosensor P2 generates a signal less than the second threshold will a query string being processed by CAM 120 be identical to the reference string of optical pattern detector OP1. Processing circuit 130 determines if output signals from PI and P2 are respectively greater than the first threshold and less than the second threshold and if they are, provides an associated address for the query string. In Fig. 6, an illumination pattern is generated responsive to query string 92 by optical pattern generator 82 on rows of checkerboard mask 126, in which illuminated regions on the checkerboard mask are indicated by shaded bands. Query string 92, does not match reference string 131. As a result in column MCI mask region 128 in row MR6 is not illuminated and in column MC2 mask region 128 in row MR7 is illuminated. As a result photosensor PI generates a signal less than the first threshold and photosensor P2 generates a signal greater than the second threshold. Processing circuit 130 determines that query string 92 does not match reference string 131. hi the description and claims of the present application, each of the verbs, "comprise" "include" and "have", and conjugates thereof, are used to indicate that the object or objects of the verb are not necessarily a complete listing of members, components, elements or parts of the subject or subjects of the verb. The present invention has been described using detailed descriptions of embodiments thereof that are provided by way of example and are not intended to limit the scope of the invention. The described embodiments comprise different features, not all of which are required in all embodiments of the invention. Some embodiments of the present invention utilize only some of the features or possible combinations of the features. Variations of embodiments of the present invention that are described and embodiments of the present invention comprising different combinations of features noted in the described embodiments will occur to persons of the art. The scope of the invention is limited only by the following claims.

Claims

1. Apparatus for simultaneously comparing a given signal with a plurality of reference signals to determine if the given signal matches a reference signal of the plurality of reference signals comprising: an optical pattern detector for each reference signal of the plurality of reference signals that generates an output signal when illuminated by a predetennined light pattern uniquely associated with the reference signal; and an optical pattern generator that simultaneously generates a light pattern unique to the given signal on each of the optical pattern detectors.
2. Apparatus according to claim 1 wherein the optical pattern generator generates the light pattern responsive to a binary string representing the given signal.
3. Apparatus according to claim 2 wherein the reference signal associated with a pattern detector is represented by a binary string.
4. Apparatus according to claim 3 wherein the given signal and the reference signals are represented by binary strings having a same number of bits.
5. Apparatus according to claim 3 or claim 4 wherein the light pattern comprises a spatial light pattern.
6. Apparatus according to any of claims 3-5 wherein the optical pattern generator comprises a plurality of light sources each light source associated with a different bit in the binary string representing the given signal.
7. Apparatus according to claim 6 and comprising a controller that controls the light source associated with a bit in the given signal binary string to be on or off if the value of the bit is respectively equal to one or zero.
8. Apparatus according to claim 7 and comprising a controller that controls the light source associated with a bit in the given signal binary string to be on or off if the value of the bit is respectively equal to zero or one.
9. Apparatus according to claim 7 or claim 8 wherein each pattern detector comprises a different photosensor associated with each bit in its reference signal binary string.
10. Apparatus according to claim 9 wherein the optical pattern generator comprises a light director that directs light from the light source associated with the n-th order bit of the given signal binary string so that the light is incident on, and substantially only on, the photosensor associated with the n-th order bit of the reference signal binary string of each pattern detector.
11. Apparatus according to claim 10, wherein each optical pattern detector comprises processing circuitry that determines for each of the photosensors in the pattern detector whether the photosensor is illuminated or not illuminated by light from the optical pattern generator.
12. Apparatus according to claim 11 wherein the processing circuitry determines whether a value of a bit of the given signal binary string, which is represented by the illumination or lack of illumination of the photosensor, is equal to a value of the conesponding bit of the reference string associated with the pattern detector responsive to whether the photosensor is illuminated or not illuminated.
13. Apparatus according to claim 12 wherein the processing circuitry determines that the given signal matches the reference signal if and only if the value of each bit of the given signal binary string is determined by the circuitry to be equal to the value of the conesponding bit of the reference signal binary string.
14. Apparatus according to any of claims 6-13 wherein tlie light sources are configured in a linear array.
15. Apparatus according to claim 14 wherein the photosensors in each pattern detector are configured in a linear array.
16. Apparatus according to claim 15 wherein the linear array of photosensors in each pattern detector is a column of photosensors in a same rectangular anay of rows and columns ofphotosensors.
17. Apparatus according to claim 16 wherein the linear array of hght sources is parallel to the columns of photosensors in the array of photosensors
18. Apparatus according to claim 17 wherein the light sources are substantially point-like light sources.
19. Apparatus according to claim 17 wherein the light sources are linear light sources parallel to the rows of photosensors.
20. Apparatus according to any of claims 17-19 wherein the light director comprises a cylindrical lens that focuses light from each light source in the linear anay of light sources so that light from the light source is incident on a different, substantially only one, row of photosensors and illuminates all the photosensors in the row of photosensors on which it is incident.
21. Apparatus according to any of claims 17-19 wherein the light director comprises a different light pipe for each light source that collects light from the light source and pipes the light to an exit surface of the light pipe from which the collected light exits the light pipe.
22. Apparatus according to claim 21 wherein the exit surface is an elongate surface of the light pipe that is parallel to the rows of photosensors.
23. Apparatus according to claim 22 wherein the elongate surface has a length substantially equal to the length of a row of photosensors in the rectangular array of photosensors.
24. Apparatus according to claim 23 wherein the elongate surface of each light pipe is substantially contiguous with a different row of photosensors in the rectangular anay of photosensors.
25. Apparatus according to any of claims 19, 22 or 23 wherein the light director comprises a spherical lens that focuses light from each of the elongate exit surfaces on a different substantially only one row of photosensors in the rectangular array of photosensors and wherein the focused light illuminates all the photosensors in the row of photosensors.
26. Apparatus according to claim 25 wherein the light director comprises a cylindrical lens that focuses light from each of the elongate exit surfaces on a different substantially only one row of photosensors in the rectangular anay of photosensors and wherein the focused light illuminates all the photosensors in the row of photosensors.
27. Apparatus according to any of claims 10-26 wherein each of the light sources provides light in a different band of wavelengths.
28. Apparatus according to claim 27 wherein each photosensor in a pattern detector is shielded by a filter that transmits light provided by the light source that conesponds to a same order bit in the given signal binary string as the order of the bit in the reference signal binary string to which the photosensor corresponds.
29. Apparatus according to claim 7 or claim 8 wherein each pattern detector comprises first and second photosensors respectively masked by first and second masks, each mask having masking regions that either transmit or do not transmit light radiated by the light sources.
30. Apparatus according to claim 29 wherein the first mask has a mask pattern of transmitting and non-transmitting masking regions that transmits light to all and only those areas of the first that would be illuminated in the absence of the mask were the pattern generator to generate a light pattern associated with a given signal that is identical to the pattern detector's reference signal.
31. Apparatus according to claim 30 wherein the second mask pattern is the inverse of the first mask pattern.
32. Apparatus according to claim 31 wherein the optical pattern detector generates an output signal if: 1) intensity of light sensed by the first photosensor is substantially equal to intensity of light that would be sensed by the photosensor if the given and reference strings were identical; and 2) intensity of light sensed by the second photosensor is less than a predetennined threshold, which is exceeded if light from the pattern generator is incident on any of the regions of the second mask pattern that transmits light.
33. Apparatus according to any of the preceding claims wherein the output signal provided by the optical pattern detector identifies a memory address of a memory in which data associated with the reference signal is stored.
34. Apparatus according to any of claims 1-33 wherein the optical pattern detectors are programmable so that a reference string associated with a pattern detector can be changed.
35. Apparatus according to claim 34 and comprising a controller that parses an input signal into a sequence of given signals, wherein for each given signal in the sequence, the pattern generator illuminates each of the pattern detectors with a light pattern unique to the given signal and the controller programs each of the pattern detectors with a reference signal that is a different portion of a larger reference signal associated with the pattern detector and wherein the controller provides a signal indicating that the input signal is identical to a larger reference signal associated with a particular pattern detector if the particular pattern detector generates an output signal for each of the light patterns in the sequence.
36. A method of simultaneously determining whether a first signal is identical to any one of a plurality of second signals, wherein the first signal and each of the second signals are signals in the ensemble of signals, the method comprising: associating a unique light pattern with each signal in the ensemble of signals; generating the light pattern conesponding to the first signal; and simultaneously sensing the generated light pattern with each of a plurality of optical pattern detectors each of which generates an output signal only when illuminated by the light pattern associated with one of the plurality of second signals and wherein the number of the plurality of pattern detectors is equal to the number of the plurality of second signals.
37. A method according to claim 36 wherein each of the signals in the ensemble of signals is a binary signal.
38. A method according to claim 37 wherein all the signals in the ensemble of signals have a same number of bits.
39. A method of simultaneously deteimining whether an input signal is identical to any one of a plurality of reference signals, the method comprising: parsing the input signal into an ordered sequence of first signals; parsing each of the reference signals into an ordered sequence of second signals; for each of the first signals simultaneously determining whether the first signal is identical to the homologous second signal in the ordered sequence of each of the reference signals using the method of any of claims 36-38; and determining that the input signal is identical to a particular reference signal of the plurality of reference signals if each of the first signals in the ordered sequence of first signals is identical to the homologous second signal i the ordered sequence of second signals of the particular reference signal.
PCT/IL2000/000671 2000-08-24 2000-10-23 Optical content addressable memory WO2002017329A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2000279437A AU2000279437A1 (en) 2000-08-24 2000-10-23 Optical content addressable memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL138072 2000-08-24
IL13807200A IL138072A0 (en) 2000-08-24 2000-08-24 Optical associative memory

Publications (1)

Publication Number Publication Date
WO2002017329A1 true WO2002017329A1 (en) 2002-02-28

Family

ID=11074558

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2000/000671 WO2002017329A1 (en) 2000-08-24 2000-10-23 Optical content addressable memory

Country Status (3)

Country Link
AU (1) AU2000279437A1 (en)
IL (1) IL138072A0 (en)
WO (1) WO2002017329A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724334B2 (en) 2001-09-03 2004-04-20 Lenslet Ltd. Digital to analog converter array
US11057143B1 (en) 2020-06-18 2021-07-06 Hewlett Packard Enterprise Development Lp Wavelength division multiplexing (WDM)-based and multipath interferometry based optical ternary content addressable memory (TCAM)
US11200929B1 (en) 2020-06-18 2021-12-14 Hewlett Packard Enterprise Development Lp Time division multiplexing (TDM) based optical ternary content addressable memory (TCAM)
US11469764B2 (en) 2020-08-28 2022-10-11 Hewlett Packard Enterprise Development Lp Optical comb source for content-addressable memory encoders

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244449A (en) * 1993-02-18 1994-09-02 Nippon Telegr & Teleph Corp <Ntt> Integration-type photodetector
US6060713A (en) * 1993-04-05 2000-05-09 Cardiac Mariners Inc X-ray detector

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244449A (en) * 1993-02-18 1994-09-02 Nippon Telegr & Teleph Corp <Ntt> Integration-type photodetector
US6060713A (en) * 1993-04-05 2000-05-09 Cardiac Mariners Inc X-ray detector

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
AKYOKUS S ET AL: "A DATA/KNOWLEDGE BASE MACHINE BASED ON AN OPTICAL CONTENT ADDRESSABLE MEMORY", OPTICAL COMPUTING AND PROCESSING,GB,TAYLOR AND FRANCIS, LONDON, vol. 2, no. 3, 1 July 1992 (1992-07-01), pages 179 - 187, XP000342515, ISSN: 0954-2264 *
AKYOKUS S ET AL: "Optical content addressable memories for data/knowledge base processing", PROCEEDINGS. THE FIFTH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM (CAT. NO.91TH0363-2), ANAHEIM, CA, USA, 30 APRIL-2 MAY 1991, 1991, Los Alamitos, CA, USA, IEEE Comput. Soc. Press, USA, pages 202 - 207, XP002170759, ISBN: 0-8186-9167-0 *
KOSTRZEWSKI A: "PARALLEL OPTICAL CONTENT ADDRESSABLE MEMORY (CAM) ARITHMETIC MULTIPROCESSOR", INTERNATIONAL JOURNAL OF OPTICAL COMPUTING,GB,JOHN WILEY AND SONS, CHICHESTER, vol. 1, no. 1, 1 October 1990 (1990-10-01), pages 5 - 24, XP000226070 *
LOURI A ET AL: "OPTICAL CONTENT-ADDRESSABLE PARALLEL PROCESSOR FOR HIGH-SPEED DATABASE PROCESSING", APPLIED OPTICS,US,OPTICAL SOCIETY OF AMERICA,WASHINGTON, vol. 33, no. 35, 10 December 1994 (1994-12-10), pages 8153 - 8163, XP000485557, ISSN: 0003-6935 *
PATENT ABSTRACTS OF JAPAN vol. 018, no. 629 (E - 1637) 30 November 1994 (1994-11-30) *
WU W ET AL: "IMPLEMENTATION OF AN OPTICAL MULTIWAVELENGTH FULL ADDER WITH A POLARIZATION ENCODING SCHEME", OPTICS LETTERS,US,OPTICAL SOCIETY OF AMERICA, WASHINGTON, vol. 20, no. 1, 1995, pages 79 - 81, XP000481049, ISSN: 0146-9592 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724334B2 (en) 2001-09-03 2004-04-20 Lenslet Ltd. Digital to analog converter array
US7536431B2 (en) 2001-09-03 2009-05-19 Lenslet Labs Ltd. Vector-matrix multiplication
US11057143B1 (en) 2020-06-18 2021-07-06 Hewlett Packard Enterprise Development Lp Wavelength division multiplexing (WDM)-based and multipath interferometry based optical ternary content addressable memory (TCAM)
US11200929B1 (en) 2020-06-18 2021-12-14 Hewlett Packard Enterprise Development Lp Time division multiplexing (TDM) based optical ternary content addressable memory (TCAM)
CN113823344A (en) * 2020-06-18 2021-12-21 慧与发展有限责任合伙企业 Optical ternary content addressable memory based on time division multiplexing
CN113823344B (en) * 2020-06-18 2022-07-29 慧与发展有限责任合伙企业 Optical ternary content addressable memory based on time division multiplexing
US11783878B2 (en) 2020-06-18 2023-10-10 Hewlett Packard Enterprise Development Lp Time division multiplexing (TDM) based optical ternary content addressable memory (TCAM)
US11469764B2 (en) 2020-08-28 2022-10-11 Hewlett Packard Enterprise Development Lp Optical comb source for content-addressable memory encoders

Also Published As

Publication number Publication date
IL138072A0 (en) 2001-10-31
AU2000279437A1 (en) 2002-03-04

Similar Documents

Publication Publication Date Title
CN107169404B (en) Distributed mode processor with three-dimensional memory array
JP2960723B2 (en) Safety marking, manufacturing method thereof, article having the safety marking, safety system, and inspection device for detecting reflection band of safety marking
JPH11157200A (en) Safety marking, manufacture thereof, matter having safety marking, and examination device for discriminating safety system and safety marking
BR9608964A (en) Optical data storage medium and data writing and reading processes in an optical storage medium
CA1284188C (en) Parallel optical arithmetic/logic unit
WO2002017329A1 (en) Optical content addressable memory
US3573433A (en) Optical read-only memory
WO2017008159A1 (en) Optical inspection system for transparent material
CA2402786C (en) Apparatus and method for characterizing, encoding, storing, and searching images by shape
EP1386177A1 (en) System and method for optically identifying objects
US5285411A (en) Method and apparatus for operating a bit-slice keyword access optical memory
CA2036114A1 (en) Spectral resolving and sensing apparatus
US20060182000A1 (en) Multi-dimensional data signal and systems for manipulating the same
US6483092B2 (en) Method and apparatus for reading from and writing to a stationary optical storage device
WO1997006502A1 (en) Optical image authenticator
US20020191598A1 (en) Network switch employing free-space optical switching technique
US6734981B1 (en) Multiple laser optical systems and methods
Kleihorst et al. An SIMD-VLIW smart camera architecture for real-time face recognition
US3604785A (en) Wavelength separation in multicolor fluorescent mark code readers
RU2172982C1 (en) Securities image reader
Kalayjian VLSEye: Optoelectronic vision and image processing
Singh Two-dimensional pattern matching and associative memory using a simple optoelectronic architecture
Johnson et al. Current Developments in Lens Design and Optical Engineering XXIII
Cheng et al. Optoelectronic bypass/exchange switches
EA028631B1 (en) Method of automated control of the authenticity of optical protective marks on banknote threads and device for its implementation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)