摘要 |
Disclosed is a method of recovering from overflow of a hardware dynamically reconfigurable NFA cell array, to find matches within a symbol stream to regular expression or similar rules without missing matches due to overflow. Upon overflow, active states are selected to spill from the cell array, saving state information and spill position. Scanning continues a limited distance, with additional overflow spills possible, to a selected end of segment position where all active end states are removed and recorded. A re-scan of the segment from the first overflow position begins with each previously spilled state re-injected at the same position it was spilled from. At the end of the segment, saved end states are re-injected and scanning continues. RE-scans may iterate if there was additional overflow. NFA states may be assigned color codes, with connected states receiving the same color, to aid in efficient overflow recovery. |