Patent ID: 7890692
Filing Date: 2011-02-15
Classification: C11D,G06F

Abstract:
1. A hardware processor comprising an integrated circuit chip memory said integrated circuit chip memory comprising programmable intelligent search memory for content search, wherein said programmable intelligent search memory comprises a context switch architecture and performs regular expression based search, said programmable intelligent search memory (PRISM) further comprising: a) a PRISM controller to control the flow of said content through PRISM; b) a plurality of programmable search engines to perform search using a plurality of regular expressions; c) at least one context memory to store a plurality of contexts of said programmable search engines; d) a cluster FSA controller to control a group of said plurality of programmable search engines; and e) an external memory controller coupled to a memory external to said integrated circuit chip; said plurality of regular expressions converted into plurality of finite state automata to program in said plurality of programmable search engines, said content comprising a plurality of sessions or flows or streams or the like forming a plurality of content search contexts for said programmable intelligent search memory, said context switch architecture to load or store at least one of said plurality of content search contexts to or from said programmable intelligent search memory, the process of performing content search on said content and further performing context switch for inspecting first data stream from said content belonging to a first flow or session or stream different from a second data stream from said content belonging to a second flow or session or stream with its context loaded in said plurality of programmable search engines, said process comprising: a. said PRISM controller receiving said first data stream of said content belonging to said first flow or session or stream; b. said PRISM controller identifying the session or flow or stream of said first data stream; c. said PRISM controller identifying if the context of said first data stream is different from the context of said second data stream; d. if said first data stream and said second data stream are from different contexts said PRISM controller coupled to said cluster FSA controller determining the location of the context of said first data stream in said at least one context memory or said external memory and retrieving said context for said first data stream; e. said cluster FSA controller coupled to said programmable search engines storing the context for said second data stream present in said programmable search engines that have a plurality of states that need to be stored; f. said cluster FSA controller loading said retrieved context for said first data stream in said plurality of programmable search engines g. said cluster FSA controller coupling with said PRISM controller directing the flow of said first data stream to said plurality of programmable search engines for content inspection once said plurality of programmable search engines are loaded with the context of said first data stream; or h. a combination of any of the foregoing.