Optical comb source for content-addressable memory encoders
11469764 · 2022-10-11
Assignee
Inventors
- Mir Ashkan Seyedi (Mountain View, CA, US)
- THOMAS VAN VAERENBERGH (Diegem, BE)
- Antoine Descos (Santa Barbara, CA, US)
Cpc classification
G11C11/42
PHYSICS
H03L7/093
ELECTRICITY
G11C19/30
PHYSICS
G02B6/12007
PHYSICS
H03K17/78
ELECTRICITY
International classification
H03L7/099
ELECTRICITY
H03K17/78
ELECTRICITY
G11C11/42
PHYSICS
Abstract
One embodiment provides an optical encoder. The optical encoder includes an optical comb source to generate a multi-wavelength optical signal; a number of optical filters sequentially coupled to the optical comb source, with a respective optical filter being tunable to pass or block a particular wavelength of the multi-wavelength optical signal based on a corresponding bit value of a multi-bit search word; and a common output for the optical filters to output the filtered multi-wavelength optical signal, which encodes the multi-bit search word and can be used as an optical search signal for searching an optical content-addressable memory (CAM).
Claims
1. An optical encoder, comprising: an optical comb source to generate a multi-wavelength optical signal; a number of optical filters sequentially coupled to the optical comb source, wherein a respective optical filter is tunable to pass or block a particular wavelength of the multi-wavelength optical signal based on a corresponding bit value of a multi-bit search word; and a common output for the optical filters to output the filtered multi-wavelength optical signal, which encodes the multi-bit search word and can be used as an optical search signal for searching an optical content-addressable memory (CAM).
2. The optical encoder of claim 1, wherein the optical filters comprise optical add-drop ring resonators.
3. The optical encoder of claim 2, wherein the common output for the optical filters comprises a common drop port of the optical add-drop ring resonators.
4. The optical encoder of claim 2, wherein a bit position in the multi-bit search word is associated with two wavelengths selected from wavelengths provided by the multi-wavelength optical signal, and wherein one or more of the two wavelengths are passed or blocked by at least one ring resonator.
5. The optical encoder of claim 4, wherein the bit position in the multi-bit search word is associated with two ring resonators, one for each wavelength associated with the bit position.
6. The optical encoder of claim 5, wherein a logical “0” or “1” of the bit position corresponds to the two ring resonators being tuned separately to pass one of the two wavelengths, and wherein a “don't care” value of the bit position corresponds to the two ring resonators being tuned to block both wavelengths.
7. The optical encoder of claim 4, wherein the bit position in the multi-bit search word is associated with a single ring resonator.
8. The optical encoder of claim 7, wherein a logical “0” or “1” of the bit position corresponds to the single ring resonator being tuned to pass one of the two wavelengths, and wherein a “don't care” value of the bit position corresponds to the single ring resonator being tuned to block both wavelengths.
9. The optical encoder of claim 1, wherein the optical filters comprise silicon photonic microring resonators.
10. The optical encoder of claim 9, wherein a respective silicon photonic microring resonator is coupled to a plurality of electrodes that facilitate tuning a resonance wavelength of the silicon photonic microring resonator by applying heat or carrier modulation.
11. An optical content-addressable memory (CAM) system, comprising: an optical memory bank comprising a plurality of optical CAM-cell arrays to store a plurality of words, wherein a respective optical CAM-cell array comprises a first set of sequentially coupled optical filters, and wherein a respective bit value of a stored word corresponds to states of one or more corresponding optical filters; and a search signal generator to generate an optical search signal used for searching the optical memory bank based on a search word, wherein the search signal generator comprises: an optical comb source to generate a multi-wavelength optical signal; a second set of optical filters sequentially coupled to the optical comb source, wherein a respective optical filter in the second set is tunable to pass or block a particular wavelength of the multi-wavelength optical signal based on a corresponding bit value of the search word; and a common output for the second set of optical filters to output the filtered multi-wavelength optical signal as the optical search signal, which encodes the multi-bit search word.
12. The optical CAM system of claim 11, wherein the first and second sets of optical filters comprise, respectively, first and second sets of optical add-drop ring resonators.
13. The optical CAM system of claim 12, wherein the common output for the second set of optical filters comprises a common drop port of the second set of optical add-drop ring resonators.
14. The optical CAM system of claim 12, wherein a bit position in the search word is associated with two wavelengths selected from wavelengths provided by the multi-wavelength optical signal, and wherein one or more of the two wavelengths are passed or blocked by at least one ring resonator of the second set of ring resonators.
15. The optical CAM system of claim 14, wherein the bit position in the search word is associated with two ring resonators, one for each wavelength associated with the bit position.
16. The optical CAM system of claim 15, wherein a logical “0” or “1” of the bit position corresponds to the two ring resonators being tuned separately to pass one of the two wavelengths, and wherein a “don't care” value of the bit position corresponds to the two ring resonators being tuned to block both wavelengths.
17. The optical CAM system of claim 14, wherein the bit position in the search word is associated with a single ring resonator.
18. The optical CAM system of claim 17, wherein a logical “0” or “1” of the bit position corresponds to the single ring resonator being tuned to pass one of the two wavelengths, and wherein a “don't care” value of the bit position corresponds to the single ring resonator being tuned to block both wavelengths.
19. The optical CAM system of claim 11, wherein the first and second sets of optical filters comprise silicon photonic microring resonators.
20. The optical CAM system of claim 19, wherein a respective silicon photonic microring resonator is coupled to a plurality of electrodes that facilitate tuning a resonance wavelength of the silicon photonic microring resonator by applying heat or carrier modulation.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) In the figures, like reference numerals refer to the same figure elements.
DETAILED DESCRIPTION
(10) The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the scope of the present disclosure is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
(11) The embodiments described herein can provide an optical encoder that can be used to generate a search word to search an optical TCAM. The optical encoder uses an optical comb source (e.g., a quantum dot laser) as a light source for providing to-be-encoded multi-wavelength optical signals. Each bit (which can have a value of “0,” “1,” or “don't care”) in a search word can be encoded using two wavelengths (e.g., λ.sub.1 and λ.sub.2), with the presence of the light in such wavelengths indicating the bit value. The optical encoder can include a number of tunable wavelength filters (e.g., microring resonators). When the multi-wavelength optical signal passes through the encoder, its spectrum will be modified according to the settings of the optical filters. Consequently, a spectral word is generated. Such a spectral word can function as a search signal to search an optical TCAM, which stores encoded data (e.g., data encoded in the spectral domain) in a photonic component (e.g., an array of microring resonators). Moreover, the spectral word can simultaneously read a huge array of bits stored in the optical TCAM, thus significantly speeding up the search process. In one embodiment, two microrings are needed to encode one bit (e.g., by controlling the resonance frequency of each ring). In alternative embodiments, one microring can be used to control the passing or blocking of two wavelengths simultaneously, thus being capable of encoding one bit, which can have a value of “0,” “1,” or “don't care”.
(12) Content-addressable memory (CAM) is a special type of memory generally used in high-speed search applications. In a standard computer memory (e.g., random access memory (RAM)), the user supplies a memory address and the RAM returns the data word stored at that address. However, a CAM is designed such that the user supplies a data word and the CAM searches its entire memory to see if that data word is stored anywhere in it. If the data word is found, the CAM returns a list of one or more storage addresses where the word was found. Because of its parallel nature, CAM is much faster than RAM for searching. Ternary CAM (TCAM) adds a third state to CAM, beyond binary, for a wildcard functionality that provides for variable characters in searches and adds additional complexity to the circuits.
(13) Existing electrical CAMs and TCAMs typically consume large amounts of power and are often used in specialized applications, such as Internet routers and switches, where they can increase the speed of route look-up, packet classification, packet forwarding, and access-control list (ACL) based commands. Current high-speed communication systems typically use encoded optical signals to carry data, meaning that costly optical-to-electrical conversions are required to convert the data from the optical to the electrical domain in order to search an electrical CAM. Consequently, these existing electrical CAM and TCAM implementations increasingly become bottlenecks, reducing the overall efficiency and throughput of the network.
(14) Optical CAMs have recently been developed by researchers. Compared with conventional electrical CAMs, optical CAMs consume less energy and operate at a higher speed. Different types of optical CAMs have been developed; some are based on optical logic (e.g., flip-flops and logic gates) in fiber-based table-top setups, and some are based on integrated silicon photonic devices (e.g., tunable filters). Compared with optical-logic-based CAMs in table-top setups, optical CAMs based on silicon photonics devices are more compact and provide higher energy efficiency. The disclosed embodiments provide an encoder solution for the optical CAMs based on silicon photonics devices, where the search word is encoded in the spectral domain (e.g., as spectral peaks) of a multi-wavelength optical signal.
(15)
(16) Two filters can form a CAM cell to store one bit value. For example, filters 102 and 104 form a CAM cell storing the value of bit b.sub.0, filters 106 and 108 form a CAM cell storing the value of bit b.sub.1, and filters 110 and 112 form a CAM cell storing the value of bit b.sub.2. For a binary CAM (or BCAM), each CAM cell is capable of storing a logical “0” or a logical “1;” for a ternary CAM (TCAM), each CAM cell is capable of storing a logical “0,” a logical “1,” or a wildcard value (i.e., “don't care”). In one implementation, storing a word in CAM-cell array 100 can include configuring the tunable filters such that they can pass or block certain wavelengths of a multi-wavelength optical search signal traveling through input waveguide 122. In the example shown in
(17) Table 1 shows an exemplary mapping between the bit values and settings of the optical filter pair in each CAM cell.
(18) TABLE-US-00001 TABLE 1 Bit Value Filter 1 Filter 2 0 Pass λ.sub.i1 Block all λs 1 Block all λs Pass λ.sub.i2 x Block all λs Block all λs
(19) Each bit position can be assigned two wavelengths (e.g., λ.sub.i1 and λ.sub.i2, with i indicating the bit position). As shown in Table 1, each of the two filters (i.e., filter 1 and filter 2) can be tuned independently to pass either λ.sub.i1 or λ.sub.i2. More specifically, to store a bit value “0,” filter 1 can be tuned to pass λ.sub.i1, whereas filter 2 can be tuned to block all wavelengths included in the multi-wavelength search signal. In one implementation, filter 2 can be tuned to pass an arbitrary wavelength β.sub.i2 that is different from λ.sub.i1 and λ.sub.i2 (e.g., a wavelength between λ.sub.i1 and λ.sub.i2). To store a bit value “1,” filter 1 can be tuned to block all wavelengths included in the multi-wavelength search signal (e.g., be tuned to an arbitrary wavelength β.sub.i1 that is different from λ.sub.i1 and λ.sub.i2), whereas filter 2 can be tuned to pass λ.sub.i2. On the other hand, to store a wildcard value, both filters can be tuned to block all wavelengths included in the multi-wavelength search signal (e.g., be tuned to arbitrary wavelengths β.sub.i1 and β.sub.i2, respectively). It is also possible for β.sub.i1 and β.sub.i2 to be wavelengths that are outside of the range between λ.sub.i1 and λ.sub.i2. In addition to the mapping listed in Table 1, other mappings can also be possible. For example, the filter settings for bit values “0” and “1” can be swapped.
(20) Using CAM-cell array 100 in
(21)
(22) In one implementation, the search algorithm can be designed such that a stored bit matches a corresponding bit in the search word if the optical filters in the CAM cell generate no light at output waveguide 124. Otherwise, there is a mismatch. This way, a match word can be found if none of the filters in the CAM-cell array generates light at the output waveguide. By placing a photo detector (PD) at the output port of output waveguide 124, one can detect the presence of the light, and hence whether the stored word matches the search word.
(23)
(24) Table 2 shows the mapping between the search word bit values and spectral intensity of the optical search signal, where a value “1” in the spectra intensity pair indicates a strong peak at the corresponding wavelength, and “0” indicates a weak peak or no peak at the corresponding wavelength.
(25) TABLE-US-00002 TABLE 2 Spectral Search Word Intensity Bit Value ( λ.sub.i1, λ.sub.i2 ) 0 (0, 1) 1 (1, 0) x (0, 0)
(26) For example, if the bit value is “0” for b.sub.0, then the spectrum of the search signal should have a null (i.e., no peak or a weak peak) at λ.sub.01 and a strong peak at λ.sub.02. On the other hand, b.sub.1=1 means that the spectrum has a strong peak at λ.sub.11 and a null at A.sub.12; and b.sub.2=0 means that the spectrum has a null at λ.sub.21 and a strong peak at λ.sub.22. According to the mapping in Table 2, the spectrum of the search signal corresponding to 3-bit search word 010 will be spectrum 200 shown in
(27) Various ways can be used to encode the search word corresponding to Table 2. A straightforward method is to use a number of single wavelength lasers to generate a wavelength division multiplexing (WDM) signal. Each laser can be configured to generate a carrier frequency at a fixed spectral spacing. By turning on and off lasers of particular wavelengths according to the bit-value mapping table, multi-bit words can be encoded into the WDM or multi-wavelength signals. However, this approach can be bulky and consumes too much energy.
(28) In some embodiments, instead of multiple single wavelength lasers, a multi-wavelength comb source can be used as the light source for creating the search signal.
(29) Each bit can be associated with the amplitudes of light at the two assigned wavelengths. For a binary encoding implementation, the non-zero amplitude at one wavelength represents a bit value of “0,” the non-zero amplitude at the other wavelength represents a bit value of “1,” and zero amplitude at both wavelengths represents the wildcard or “don't care” value. The mapping between the bit value and the amplitude (or intensity) of light at particular wavelengths can be similar to what is shown in Table 2. In some embodiments, the amplitude of light at a given wavelength can be controlled by analog attenuation of the power at the wavelength to be below or above some threshold value (e.g., 0.5 mW). That is, to encode a 3-bit word, the amplitude of one or more of the six wavelengths can be adjusted such that the power of light measured at certain wavelengths can be above the threshold value, while the power of light measured at other wavelengths can be below the threshold value. Using the notation in Table 2, the light power at a wavelength is marked as 1 if it is above the threshold and marked as 0 if it is below the threshold. Accordingly, a 3-bit search word b.sub.0b.sub.1b.sub.2=010 can be converted to a 6-bit wavelength word λ.sub.01λ.sub.02λ.sub.11λ.sub.12λ.sub.21λ.sub.22=011001, meaning that the light power at 1301 nm, 1302 nm, and 1305 nm is above the threshold and the light power at 1300 nm, 1303 nm, and 1304 nm is below the threshold. Similarly, a search word 110 can be converted to a wavelength word 010110; and a search word x10 (x indicates “don't care”) can be converted to a wavelength word 000110.
(30) In addition to the mapping shown in Table 2, other types of mapping can also be possible. For example, bit value “0” can be mapped to wavelength bits “10,” and bit value “1” can be mapped to wavelength bits “01.” Note that the decoder needs to be designed according to the encoding mapping. For example, the decoder shown in
(31) As discussed previously, the wavelength word or bits can be generated by attenuating the output of a multi-wavelength comb source at particular wavelengths, depending on the bit values. In some embodiments, such attenuation can be accomplished using filters, such as ring filters.
(32)
(33) Comb source 402 can output a multi-wavelength continuous wave (CW) optical signal. Depending on the length of the search word, the minimum number of required wavelengths can be different. For example, to generate the aforementioned 3-bit search word, comb source 402 needs to output a CW signal with at least six wavelengths, with the spectrum of the light similar to what is shown in
(34) In one embodiment, comb source 402 can include a comb laser and an array of ring lasers. The comb laser generates a multi-wavelength signal and each wavelength can be used to lock a corresponding ring laser. The collective outputs of the ring lasers can be the output of comb source 402 to be fed to ring filters 404-414. Using multiple ring lasers to generate the search signal can ensure a relatively high output power and a relatively flat spectrum, with each wavelength having roughly the same optical power.
(35) Ring filters 404-414 can be closed loop resonators coupled to input waveguide 416 and output waveguide 418. In the example shown in
(36) To facilitate a compact encoder, in some embodiments, ring filters 404-414 can include silicon photonic microring resonators, and waveguides 416 and 418 can include silicon-based waveguides. In the examples shown in
(37) In various embodiments, each optical filter (e.g., ring filters 404-414) may be tunable to pass or block one of two different wavelengths depending on the bit position of the search word with which the optical filter is associated. In the example shown in
(38) When encoding a search word, each ring filter can be tuned to pass or block a particular wavelength to the output waveguide by tuning its resonance frequency depending on the bit values of the search word. In some embodiments, the mapping relationship between the search word bit value and the passing wavelength can be similar to what is shown in Table 2, with “0” indicating the wavelength being blocked and “1” indicating the wavelength being passed. Note that when a particular wavelength is blocked, it also means that all other possible wavelengths provided by the comb source are blocked.
(39) For example, according to Table 2, for b.sub.0=0, the corresponding wavelengths bits are 01, meaning that the corresponding filter pair (e.g., ring filters 404 and 408) should block λ.sub.01 and pass λ.sub.02. Note that filters 404 and 408 can be designed such that the tuning range of their resonance wavelengths can include λ.sub.01 and λ.sub.02. In some embodiments, the ring filters can be narrow band filters. Hence, to block λ.sub.01, one can simply tune the resonance wavelength of ring filter 404 away from λ.sub.01. To prevent interference to other wavelengths, the resonance wavelength of ring filter 404 can be set at a wavelength that is different from any wavelength provided by comb source 402. In one embodiment, to block λ.sub.01, the resonance wavelength of ring filter 404 can be tuned to be between λ.sub.01 and λ.sub.02. To pass λ.sub.02, the resonance wavelength of ring filter 406 can be tuned to λ.sub.02, thus routing λ.sub.02 to output waveguide 418. Similarly, for b.sub.1=1, the resonance wavelength of ring filter 408 can be tuned to λ.sub.11 in order to route λ.sub.11 to output waveguide 148, whereas the resonance wavelength of ring filter 410 can be tuned away from λ.sub.12 (e.g., tuned to be between λ.sub.11 and λ.sub.02) to prevent λ.sub.12 from entering output waveguide 418. On the other hand, for b.sub.2 being the wildcard, both ring filters 412 and 414 can be tuned away from λ.sub.21 and λ.sub.22 to prevent both wavelengths from entering output waveguide 418.
(40)
(41) In alternative embodiments, the tunable ring filters can include MOS-based microring resonators, which can generate a free-carrier plasma dispersion effect with high power efficiency. Alternative tuning techniques are also possible, such as implementing non-volatile phase-change materials or optomechanical techniques. Most of these techniques aim to tune the phase of the light in the ring waveguide by changing the refractive index of the core or cladding of the ring waveguide.
(42) Due to the limited tuning range and to reduce the amount of energy needed for tuning, each ring filter can be fabricated to have slightly different dimensions such that the tuning range of each filter can correspond to the wavelengths assigned to the bit position. For example, if a particular ring is associated with bit 0 and is assigned a wavelength of 1300 nm, then this particular ring is designed in such a way that its resonance wavelength is about 1300 nm. In one embodiment, each bit position is associated with two rings and two adjacent wavelengths, and the two rings can be configured to have their tuning ranges centered at different wavelengths. In one embodiment, each bit position is associated with two rings and two adjacent wavelengths, and the two rings can be configured to have their tuning ranges centered at different wavelengths. In another embodiment, the two rings associated with the same bit position can be configured to have their tuning ranges centered at the same wavelength, which can be a wavelength positioned between the two wavelengths assigned to the bit position. For example, if bit 0 is assigned a wavelength pair of 1300 nm and 1301 nm, the two rings associated with bit 0 can both be configured to have their tuning ranges centered at 1300.5 nm. This way, during the encoding operation, each ring only needs to tune its resonance wavelength by about 0.5 nm.
(43) Note that, for TCAM application, a minimum of two wavelengths is needed for each bit position. In the aforementioned examples (e.g., examples shown in
(44) To reduce the size of the encoder, in some embodiments, it is also possible to use just one filter per bit position to encode a search word.
(45) Comb source 502 can be similar to comb source 402 shown in
(46) Similar to what is shown in
(47) Using one ring filter with its tuning range covering both wavelengths, the mapping between the wavelengths and the bit value can be achieved. For example, if b.sub.0=0, the resonance wavelength of the ring filter associated with b.sub.0 can be tuned to λ.sub.01, allowing λ.sub.01 to be outputted by encoder 500; if b.sub.0=1, the resonance wavelength of such ring filter can be tuned to λ.sub.02, allowing λ.sub.02 to be outputted by encoder 500; and if b.sub.0=x or “don't care,” the resonance wavelength of such ring filter can be tuned away from either λ.sub.01 or λ.sub.02, thus simultaneously blocking both wavelengths. The configurations of the other two filters can be similar. This implementation requires that each ring filter has a relatively large tuning range and that there is a relatively large difference between two adjacent wavelengths outputted by the comb source, which can lead to reduced spectral efficiency. The corresponding decoder (i.e., the CAM cell) design can either have the two-ring-per-bit design or the one-ring-per-bit design. As long as the decoder can correctly decode the spectral word, the decoder can have a different filter structure than that of the encoder.
(48) In alternative embodiments, each ring filter in
(49) In addition, it is also possible to use other mechanisms to control the blocking and passing of an additional wavelength to achieve simultaneous control of two wavelengths. In some embodiments, the coupling between the input or output waveguide and the ring can be tuned such that light of a particular wavelength can or cannot be coupled into the ring. Such coupling can be tuned via an interferometer structure (e.g., an MZI). This approach relaxes the bandwidth requirement of each ring filter as well as the requirement on the spacing between adjacent wavelengths of the comb source. However, it does require additional running of the coupling region, in addition to the running of the resonance wavelength of each ring.
(50) In some embodiments, multiple search words can be generated in parallel, using the same comb source, to further improve the efficiency of the search system.
(51) In
(52) In some embodiments, each filter array can include a number ring filters that have a common input waveguide and a common output waveguide. Depending on the algorithm, the search signal may be outputted from the common drop port or the common pass port of the ring filters. In one embodiment, the ring filters can include silicon photonic microring resonators and the search signal is outputted from the common drop ports of these ring resonators. In addition, tuning of the ring resonators can be achieved using a free-carrier modulation technique, which can include injection or depletion of free carriers in the ring waveguide.
(53) Each search signal can be sent to a TCAM memory bank (e.g., memory banks 608 and 610) having a number of parallel search circuits, with each circuit comprising a number of filters and at least a photo detector, and the setting of each filter (e.g., the passing/blocking wavelength) corresponds to a stored bit value. In some embodiments, the filters in the memory banks can include microring resonators and the bit values are stored in the resonate states of the corresponding resonators. In one embodiment, the resonate state of a stored bit and the resonate state of a search bit can be opposite to each other (e.g., as indicated by Tables 1 and 2), such that a matching entry results in all wavelengths being blocked.
(54) A search signal can be fed to the parallel search circuits and the photo detector coupled to a search circuit generates an electrical output (e.g., a current) to indicate whether a match is found. In one embodiment, a match is found if the amount of light detected at the corresponding photo detector is below a predetermined threshold. This allows for a parallel search of a large number of stored entries. More specifically, matching entries can be found in one clock cycle. In the examples shown in
(55)
(56) Based on the spectrum setting of the search signal and the filter-controlling mechanism being implemented (e.g., local heating or carrier modulation), the controller module of the encoder can generate filter-control signals (e.g., currents or voltages) that can be used to adjust the setting of each filter (operation 706). In some embodiments, the filters are microring resonators and adjusting the filter setting can include tuning the resonance wavelength of each filter to a desired value. In further embodiments, the resonance wavelength of a microring resonator can be tuned by modulating the amount of free carriers in the ring waveguide or by applying heat to the ring waveguide. Depending on the implementation, the controller module can subsequently transmit the control signals to carrier modulators or heaters coupled to the filters (operation 708). A control signal can indicate the amount of current or voltage to be applied to the electrodes coupled to a filter. The filters can then be applied to the output of a comb source to modify the spectrum of the optical comb, thus generating a search signal corresponding to the search word (operation 710). In some embodiments, each filter can be coupled to a photo detector, and the system can optionally determine whether the desired output spectrum is achieved by checking the measurement outcome of each photo detector (operation 712). Tuning of the filters can be performed in iterations until the desired spectrum is achieved.
(57)
(58) Encoder-controller system 820 can include instructions, which when executed by computer system 800, can cause computer system 800 or processor 802 to perform methods and/or processes described in this disclosure. Specifically, encoder-controller system 820 can include instructions for receiving a search word (search-word-receiving module 822), instructions for mapping bit values of the search word to the spectrum of the search signal (spectrum-mapping module 824), instructions for generating control signals (control-signal-generation module 826), instructions for transmitting control signals (control-signal-transmitting module 828), and optional instructions for calibrating the filter settings (filter-setting-calibration module 830). Data 840 can include a bit-value-spectrum mapping table 842 that maintains the mapping relationship between the bit values and the spectrum of the search signal.
(59) In general, the disclosed embodiments provide an optical encoder for an optical TCAM module. The optical encoder can include a comb source configured to generate a multi-wavelength optical comb and a number of filters configured to modify the spectrum of the multi-wavelength optical comb to generate a search signal in order to convert different bit values of different bit positions of the search word to corresponding spectrum peaks or nulls at different wavelengths of the search signal. More specifically, each bit position is associated with two wavelengths, and ternary bit values (0, 1, and “don't care”) of the bit position can be encoded into a combination of the peaks and nulls at these two wavelengths. In some embodiments, the filters include add-drop microring resonators and the spectrum peaks and nulls at desired wavelengths can be generated by tuning the resonance wavelengths of the microring resonators. In one particular embodiment, the search signal is outputted by the encoder at the common drop port of the ring resonators. The search signal can be used to search an optical TCAM, where the ternary bit values can be stored using the resonate states of the corresponding microring resonators.
(60) One embodiment provides an optical encoder. The optical encoder includes an optical comb source to generate a multi-wavelength optical signal; a number of optical filters sequentially coupled to the optical comb source, with a respective optical filter being tunable to pass or block a particular wavelength of the multi-wavelength optical signal based on a corresponding bit value of a multi-bit search word; and a common output for the optical filters to output the filtered multi-wavelength optical signal, which encodes the multi-bit search word and can be used as an optical search signal for searching an optical content-addressable memory (CAM).
(61) In a variation on this embodiment, the optical filters can include optical add-drop ring resonators.
(62) In a further variation, the common output for the optical filters can include a common drop port of the optical add-drop ring resonators.
(63) In a further variation, a bit position in the multi-bit search word can be associated with two wavelengths selected from wavelengths provided by the multi-wavelength optical signal, and one or more of the two wavelengths are passed or blocked by at least one ring resonator.
(64) In a further variation, the bit position in the multi-bit search word can be associated with two ring resonators, one for each wavelength associated with the bit position.
(65) In a further variation, a logical “0” or “1” of the bit position corresponds to the two ring resonators being tuned separately to pass one of the two wavelengths, and a “don't care” value of the bit position corresponds to the two ring resonators being tuned to block both wavelengths.
(66) In a further variation, the bit position in the multi-bit search word can be associated with a single ring resonator.
(67) In a further variation, a logical “0” or “1” of the bit position corresponds to the single ring resonator being tuned to pass one of the two wavelengths, and a “don't care” value of the bit position corresponds to the single ring resonator being tuned to block both wavelengths.
(68) In a variation on this embodiment, the optical filters can include silicon photonic microring resonators.
(69) In a further variation, a respective silicon photonic microring resonator can be coupled to a plurality of electrodes that facilitate tuning a resonance wavelength of the silicon photonic microring resonator by applying heat or carrier modulation.
(70) One embodiment provides an optical content-addressable memory (CAM) system. The CAM system can include an optical memory bank comprising a plurality of optical CAM-cell arrays to store a plurality of words and a search signal generator to generate an optical search signal used for searching the optical memory bank based on a search word. A respective optical CAM-cell array can include a first set of sequentially coupled optical filters, and a respective bit value of a stored word corresponds to states of one or more corresponding optical filters. The search signal generator can include a source to generate a multi-wavelength optical signal; a second set of optical filters sequentially coupled to the source, with a respective optical filter in the second set being tunable to pass or block a particular wavelength of the multi-wavelength optical signal based on a corresponding bit value of the search word; and a common output for the second set of optical filters to output the filtered multi-wavelength optical signal as the optical search signal, which encodes the multi-bit search word.
(71) The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.
(72) Furthermore, the methods and processes described above can be included in hardware modules or apparatus. The hardware modules or apparatus can include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), dedicated or shared processors that execute a particular software module or a piece of code at a particular time, and other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.
(73) The foregoing descriptions of embodiments have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the scope of this disclosure to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art.