Patents by Inventor Farhad Shafai
Farhad Shafai has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8762760Abstract: An apparatus consisting of a digital communication channel comprised of a multiplicity of lanes where data is striped across the lanes in a predefined sequence. Each lane has the ability to be powered down or powered up in response to the amount of data being held in a transmit buffer at one end of the communication channel. The method consists of monitoring the amount of data being held in the transmit buffer; making the decision of how many lanes are required based on the amount of data; sending signals to cause the required number of lanes to be powered down or powered up; and performing the required power down or power up action at the particular transmitter and receiver.Type: GrantFiled: September 14, 2010Date of Patent: June 24, 2014Assignees: Xilinx, Inc., Cisco Systems, Cortina Systems, Inc.Inventors: Farhad Shafai, Fredrik Olsson, Mark Andrew Gustlin
-
Patent number: 8649398Abstract: A packet network interface apparatus includes a media access control (MAC) module for constructing a packet for transmission over a packet network and a physical coding sublayer (PCS) module for encoding the packet for transmission over a physical interface. An inter packet gap module located between the MAC module and the PCS module directly transfers data to the PCS module while maintaining a certain inter packet gap by deleting or inserting idle characters. The inter packet gap module has at least one memory module for temporary storage of packet data. The modules preferably operate in a common time domain.Type: GrantFiled: March 14, 2011Date of Patent: February 11, 2014Assignee: Xilinx, Inc.Inventors: Farhad Shafai, Jason Coppens
-
Patent number: 8443256Abstract: A method of creatine a CRC (Cyclic Redundancy Check) code for a data message in a data communications system includes sequentially placing portions of the data message on a bus of width W bits consisting of an integral number N of segments of width S. An initial portion of the message fills n complete segments, where n<N. The method further includes processing the initial portion of the message placed on the bus to compute a CRC while compensating for any data on the bus preceding the initial portion, and subsequently processing one or more following portions of the message placed on the bus to update the CRC. A final portion of the message is processed to update the CRC by separately processing complete segments that do not fill the bus and any bytes that do not completely fill the last segment.Type: GrantFiled: January 24, 2011Date of Patent: May 14, 2013Assignee: Xilinx, Inc.Inventors: Farhad Shafai, Kelvin Spencer, Jason Coppens
-
Patent number: 8380921Abstract: A method includes searching a content addressable memory based on a comparand. The comparand includes a collection of bits. A modified comparand is generated by modifying the comparand. The modified comparand is based at least in part on a comparand overlay data value. The content addressable memory is also searched with the modified comparand.Type: GrantFiled: January 24, 2012Date of Patent: February 19, 2013Assignee: Core Networks L.L.C.Inventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Publication number: 20120236878Abstract: A packet network interface apparatus includes a media access control (MAC) module for constructing a packet for transmission over a packet network and a physical coding sublayer (PCS) module for encoding the packet for transmission over a physical interface. An inter packet gap module located between the MAC module and the PCS module directly transfers data to the PCS module while maintaining a certain inter packet gap by deleting or inserting idle characters. The inter packet gap module has at least one memory module for temporary storage of packet data. The modules preferably operate in a common time domain.Type: ApplicationFiled: March 14, 2011Publication date: September 20, 2012Applicant: SARANCE TECHNOLOGIES INC.Inventors: Farhad Shafai, Jason Coppens
-
Publication number: 20120192044Abstract: A CRC (Cyclic Redundancy Check) code for a data message is created by placing an initial portion of the data message on a bus of width W bits consisting of an integral number N of segments of width S such that the initial portion of the message fills n complete segments, where n?N. A known bit pattern is placed on any segments preceding a start of the message as determined by a start indicator. A first intermediate CRC code is computed for the n segments of the initial portion by applying the W bits of the bus forming an input word to a CRC full processing circuit using a compensating constant to compensate for any known bit pattern preceding the initial portion of the message. Subsequent portions of the message width W are placed on the bus during subsequent bus cycles, and in each case a new first intermediate CRC code is computed on the W bits of the bus as input words using the current first intermediate CRC code as a seed input.Type: ApplicationFiled: January 24, 2011Publication date: July 26, 2012Applicant: SARANCE TECHNOLOGIES INC.Inventors: Farhad Shafai, Kelvin Spencer, Jason Coppens
-
Publication number: 20120124283Abstract: A method includes searching a content addressable memory based on a comparand. The comparand includes a collection of bits. A modified comparand is generated by modifying the comparand. The modified comparand is based at least in part on a comparand overlay data value. The content addressable memory is also searched with the modified comparand.Type: ApplicationFiled: January 24, 2012Publication date: May 17, 2012Inventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Publication number: 20120066531Abstract: An apparatus consisting of a digital communication channel comprised of a multiplicity of lanes where data is striped across the lanes in a predefined sequence. Each lane has the ability to be powered down or powered up in response to the amount of data being held in a transmit buffer at one end of the communication channel. The method consists of monitoring the amount of data being held in the transmit buffer; making the decision of how many lanes are required based on the amount of data; sending signals to cause the required number of lanes to be powered down or powered up; and performing the required power down or power up action at the particular transmitter and receiver.Type: ApplicationFiled: September 14, 2010Publication date: March 15, 2012Applicants: Sarance Technologies, Inc., Cortina Systems Inc., Cisco Systems, Inc.Inventors: Farhad Shafai, Fredrik Olsson, Mark Andrew Gustlin
-
Patent number: 8117384Abstract: A method includes searching a content addressable memory based on a comparand. The comparand includes a collection of bits. A modified comparand is generated by modifying the comparand. The modified comparand is based at least in part on a comparand overlay data value. The content addressable memory is also searched with the modified comparand.Type: GrantFiled: October 27, 2010Date of Patent: February 14, 2012Assignee: Core Networks LLCInventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Publication number: 20120030438Abstract: Serial data streams received on multiple data lanes, wherein each data stream is in the form of a series of blocks including a data block preceded by a synchronization block, are deskewed by setting a detection flag in response to the valid detection of one or more synchronization blocks in each data stream, writing received data following the setting of said detection flag for that data stream to memory, and reading data sequentially from each memory under the control of a common output clock in response to the setting of the flag in respect at least a group of the data streams.Type: ApplicationFiled: July 29, 2010Publication date: February 2, 2012Applicant: SARANCE TECHNOLOGIES INC.Inventors: Farhad Shafai, Kelvin Spencer
-
Publication number: 20110047327Abstract: A method includes searching a content addressable memory based on a comparand. The comparand includes a collection of bits. A modified comparand is generated by modifying the comparand. The modified comparand is based at least in part on a comparand overlay data value. The content addressable memory is also searched with the modified comparand.Type: ApplicationFiled: October 27, 2010Publication date: February 24, 2011Inventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Patent number: 7873780Abstract: A device for performing searches includes a comparand data register configured to store a comparand received from a host processor where the comparand includes a collection of bits. The device also includes logic configured to generate a modified comparand corresponding to the comparand and based at least in part on a comparand overlay data value. The logic is also configured to search the CAM with the modified comparand.Type: GrantFiled: August 31, 2006Date of Patent: January 18, 2011Inventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Patent number: 7401181Abstract: An invention is provided for using a comparand provided to a CAM for multiple CAM operations without requiring the comparand to be reloaded from a host processor for each CAM operation. The invention includes a comparand data register that is capable of storing a comparand. Associated with the comparand data register, is a plurality of result registers. In operation, the comparand is provided as input data to the CAM for a plurality of search operations. For each search operation, the result is stored in one of the plurality of result registers. In this manner, the comparand stored in the data register can be reused for multiple search operations, with each result stored in a separate result register.Type: GrantFiled: May 29, 2003Date of Patent: July 15, 2008Assignee: Core Networks LLCInventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Publication number: 20080059696Abstract: An invention is provided for using a comparand provided to a CAM for multiple CAM operations without requiring the comparand to be reloaded from a host processor for each CAM operation. The invention includes a comparand data register that is capable of storing a comparand. Associated with the comparand data register, is a plurality of result registers. In operation, the comparand is provided as input data to the CAM for a plurality of search operations. For each search operation, the result is stored in one of the plurality of result registers. In this manner, the comparand stored in the comparand data register can be reused for multiple search operations, with each result stored in a separate result register.Type: ApplicationFiled: August 31, 2006Publication date: March 6, 2008Applicant: SiberCore Technologies, Inc.Inventors: Kelvin Spencer, Farhad Shafai, Gregory F. Soprovich
-
Publication number: 20040003170Abstract: Variable width Content Addressable Memory (CAM) devices for searching data of variable widths, are disclosed. The CAM device includes a plurality of CAM blocks and a plurality of dual-mode first encoders. The plurality of CAM blocks is configured to store a plurality of data of variable widths with each data having one or more data portions of one or more predetermined widths. Each CAM block is configured to store a predetermined width portion of the data such that each data is stored in one or more CAM blocks. The CAM blocks receive a search data having a specified number of search data portions with each search data portion having one or more predetermined widths. Each CAM block receives a search data portion of the search data for searching the search data in the CAM blocks. The plurality of dual mode first encoders is configured for concatenating the specified number of the CAM blocks to generate one or more search results.Type: ApplicationFiled: April 2, 2003Publication date: January 1, 2004Applicant: SiberCore Technologies IncorporatedInventors: G.F. Randall Gibson, Farhad Shafai
-
Patent number: 6553453Abstract: Variable width Content Addressable Memory (CAM) devices for searching data of variable widths, are disclosed. The CAM devices include, a plurality of CAM blocks and a plurality of dual-mode first encoders. The plurality of CAM blocks is configured to store a plurality of data of variable widths with each data having one or more data portions of one or more predetermined widths. Each CAM block is configured to store a predetermined width portion of the data such that each data is stored in one or more CAM blocks. The CAM blocks receive a search data having a specified number of search data portions with each search data portion having one or more predetermined widths. Each CAM block receives a search data portion of the search data for searching the search data in the CAM blocks. The plurality of dual mode first encoders is configured for concatenating the specified number of the CAM blocks to generate one or more search results.Type: GrantFiled: September 1, 2000Date of Patent: April 22, 2003Assignee: SiberCore Technologies, Inc.Inventors: G. F. Randall Gibson, Farhad Shafai
-
Patent number: 6362990Abstract: A three-port content addressable memory (CAM) device and method thereof are provided. The three-port CAM device includes a CAM, a search control block, and a maintenance control block. The CAM is configured to store data. The search control block is arranged to receive search data and search control signals via a first port for searching the search data in the CAM. The search control block is further configured to perform search operations by accessing the CAM. The search operations are performed within search cycles with each search operation being performed over multiple clock cycles. In this configuration, more than one search operations are capable of being performed simultaneously over one or more clock cycles. Search results of the search operations are output via a second port. The maintenance control block is configured to perform read/write operations by reading or writing specified data in the CAM via a third port.Type: GrantFiled: September 1, 2000Date of Patent: March 26, 2002Assignee: SiberCore TechnologiesInventors: G. F. Randall Gibson, Farhad Shafai, Kenneth J. Schultz
-
Patent number: 6301636Abstract: A system includes cascaded content addressable memory (CAM) chips connected to a common bus. Each CAM chip includes a CAM array, a self-timed signal generator and hit propagation and match address transfer circuits. Each CAM array including an array of core cells provides, through its encoder, hit and match address signals resulting from a search operation in response to a clock signal. Each match address transfer circuit transfers the match address signal to the common bus, in response to a self-timed signal, the hit signal and a propagation-in hit signal provided from an upstream CAM chip, so that more than one CAM chip is prevented from providing the match address signal to the common bus simultaneously. Each hit propagation circuit provides a propagation-out hit signal to a downstream CAM chip, in response to the self-timed signal, the hit signal and the propagation-in hit signal from the upstream CAM chip, so that a hit signal is propagated from an upstream CAM chip to a downstream CAM chip.Type: GrantFiled: May 18, 2000Date of Patent: October 9, 2001Assignee: Nortel Networks LimitedInventors: Kenneth James Schultz, Farhad Shafai, Garnet Frederick Randall Gibson
-
Patent number: 6275406Abstract: The present invention provides a CAM circuit having a redundant array and method for implementing the same. The circuit includes a first CAM array, a redundant CAM array, one or more storage devices, a first encoder, and a redundant encoder. The first CAM array stores data and has a plurality of first entries. Each first entry has a plurality of first memory cells, wherein any first entry that includes one or more defective first memory cells is defective. The redundant CAM array has one or more redundant entries of redundant memory cells. Each of the one or more redundant entries has a redundant address and is associated with a defective first entry, wherein each redundant entry is configured store data for the associated first entry. The one or more storage devices associate each of the defective first entries with a redundant entry.Type: GrantFiled: August 29, 2000Date of Patent: August 14, 2001Assignee: SiberCore Technologies, Inc.Inventors: G. F. Randall Gibson, Farhad Shafai, Jason E. Podaima
-
Patent number: 6230236Abstract: A system includes a plurality of content addressable memory (CAM) chips which are cascaded and connected to a common bus. Each of the CAM chips provides search results (hit, match address and multiple match). A hit signal and a multiple match signal are propagated from chip to chip. A system hit result is given from the furthest down stream CAM chip. The match address result of the system is given from the common bus, where on-chip self-timed signals guarantee that there is no driving contention on the bus. An example of the CAM chip includes an extra row including a model match line and modified core cells to provide a model miss signal. The self-timed signal is provided in response to the model match line. In another example of the CAM chip, each word is divided into two halves. The match lines of the two halves of the word are coupled by a NAND circuit, the output of which is coupled to an encoder of the chip. The CAM chip includes an extra row including a chain of model match lines.Type: GrantFiled: August 28, 1997Date of Patent: May 8, 2001Assignee: Nortel Networks CorporationInventors: Kenneth James Schultz, Farhad Shafai, Garnet Frederick Randall Gibson