Microcoded Text Parser Pipelining for State-Independent Table Reads

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetext format handling capabilityVSAvoidparsing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvestate transition flexibilityVSAvoidmemory access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improveparsing accuracyVSAvoidparallelization difficulty
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidstate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240273287A1High-performance microcoded text parser
Publication Date: 2024.08.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240273287A1 patent drawing
  • US20240273287A1 patent drawing
  • US20240273287A1 patent drawing

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.