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 a multiplexer to select next states and outputs independently of current states, 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 parsing capabilityVSAvoidparsing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the state machine into multiple independent state table circuits, each handling a specific state. This allows parallel evaluation of multiple states simultaneously, eliminating the sequential dependency bottleneck while maintaining the ability to parse different text formats through the distributed state transition logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional sequential state machine to a multi-dimensional parallel architecture by introducing multiple state table circuits that operate concurrently. This dimensional expansion allows the system to evaluate multiple possible next states in parallel, fundamentally changing the processing paradigm from sequential to parallel while preserving format adaptability.

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

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 handlingVSAvoidmemory access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent pre-loads and makes available multiple state table circuits corresponding to different possible current states. This preliminary preparation allows the system to have multiple potential next states already computed and ready, eliminating the need for sequential memory access and enabling faster state transitions while maintaining comprehensive state transition handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple state table circuits into a unified parallel processing architecture where all relevant state transitions are evaluated simultaneously. This combination allows the system to access multiple possible next states in parallel, dramatically improving memory access speed while preserving the ability to handle complex state transitions for different text formats.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If a table-based state machine is used for text parsing, then the parser can correctly handle special characters and 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 system into multiple independent state table circuits, each responsible for a specific state. This segmentation allows each circuit to process inputs independently and simultaneously, enabling full parallelization across multiple inputs while maintaining parsing accuracy through the distributed state transition logic that correctly handles special characters and quoted fields.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal parallel processing architecture where multiple state table circuits can handle different text formats and special cases simultaneously. Each circuit is designed to be multi-functional, capable of handling various parsing scenarios including quoted fields, escaped characters, and delimiters, thereby achieving both high reliability and ease of parallelization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11989508B2High-performance microcoded text parser
Publication Date: 2024.05.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11989508B2 patent drawing
  • US11989508B2 patent drawing
  • US11989508B2 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.