Microcoded Text Parser Pipelining for State-Independent Table Reads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Table-based state machines for text parsing are limited by their dependence on previous states, leading to sequential processing and slow memory access, which hinders performance and parallelization.
Innovation Solution
Implementing a table-based state machine with an output multiplexer that selects next states and outputs independently of the current state, allowing pipelining and reducing state dependence, and dynamically reducing the number of possible output states to enhance processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a table-based state machine is used for text parsing, then the parser can handle different text formats through state transitions, but the performance is limited due to sequential processing and memory access dependence on previous states
Solution Approach 1:
The patent divides the parsing process into multiple independent pipeline stages, where each stage processes a portion of the input text simultaneously. By segmenting the critical dependence path into parallelizable units, the system achieves both adaptability for different text formats and improved parsing throughput through concurrent processing.
Solution Approach 2:
The patent pre-computes and stores state transition information in lookup tables before parsing begins. This preliminary action allows the parser to quickly determine next states and outputs without sequential computation during actual parsing, thereby improving productivity while maintaining the ability to handle various text formats.
2Adaptability or versatility
If a table-based state machine is used for text parsing, then state transitions can be defined for different inputs, but the memory access is slow due to dependence on current state
Solution Approach 1:
The patent pre-computes state transition information and stores it in lookup tables organized by input character. This preliminary action eliminates the need for sequential state-dependent memory access during parsing, as all possible transitions for a given input can be retrieved simultaneously, thereby improving memory access speed while preserving state transition flexibility.
Solution Approach 2:
The patent reorganizes the state transition table structure to allow parallel access by introducing a new dimension of organization based on input characters rather than sequential state progression. This dimensional change enables simultaneous retrieval of multiple state transitions without being constrained by the traditional sequential state dependency, thus improving memory access speed.
3Reliability
If a table-based state machine is used for text parsing, then the parser can correctly handle special characters within fields, but it is difficult to parallelize across inputs due to state dependence
Solution Approach 1:
The patent segments the parsing workload into independent parallel tasks that can be distributed across multiple processing units. Each segment maintains the necessary state information locally, allowing accurate handling of special characters while enabling parallelization. The segmentation isolates state dependencies within each segment, preventing them from blocking parallel execution.
Solution Approach 2:
The patent introduces intermediary structures such as lookup tables and state propagation mechanisms that mediate between parallel processing units. These intermediaries enable each unit to independently determine correct state transitions for special characters without requiring sequential coordination, thereby maintaining parsing accuracy while facilitating parallelization.
4Productivity
If the number of possible output states is reduced dynamically, then the output multiplexer size is reduced improving performance, but the complexity of state management increases
Solution Approach 1:
The patent dynamically adjusts the number of active states based on the current input context and parsing progress. By making the state space dynamic rather than static, the system can reduce the output multiplexer size to match the actual number of needed transitions at any given moment, improving processing efficiency. The dynamic adaptation is managed through context-aware state propagation that tracks which states are currently relevant.
Solution Approach 2:
The patent changes the parameter of state space size dynamically during parsing operations. By adjusting the number of active states based on input characteristics and current parsing position, the system optimizes the output multiplexer size in real-time. This parameter change improves processing efficiency while the state management complexity is handled through systematic state propagation rules.
Data Source
AI summary
The performance of a text parser implemented with a state machine is improved by reducing a critical dependence path. In one aspect, all possible current states for a given text input are read from a state table circuit, and the correct next state and output are then selected therefrom by an output multiplexer based on the current state, removing dependence on the current state from the table read, and allowing the read(s) to be pipelined. Further, multiple input units are configured to operate on multiple text characters in parallel, with each input unit propagating outputs for its state table circuit to the next downstream input unit. Each downstream input unit is configured to use the propagated states to provide the proper outputs to appropriates multiplexer inputs. The number of possible output states may be dynamically reduced, thereby reducing the size of the output multiplexer needed to select the next state.


