IP Library Granted Patent US 8,868,674
Granted Patent B2
US 8,868,674 · App. 13/368,448 · Granted Oct 21, 2014

Streaming and bulk data transfer transformation with context switching

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,868,674
App. No.
13/368,448
Granted
Oct 21, 2014
Kind
B2
Abstract

In described embodiments, processing of a data stream, such as a packet stream or flow, associated with data streaming is improved by context switching that employs context history. For each data stream that is transformed through processing, a context is maintained that comprises state information and includes a history and state information that enables the transformation for the data stream. Processing for the data transformation examines currently arriving data and then processes the data based on the context data and previously known context information for the data stream from the history stored in memory.

Claims (24)

1. A method of context switching, the method comprising the steps of:

applying, by a processor, a data transformation to at least one portion of a received data stream, the data transformation comprising at least one of cryptography, multi-media processing, network protocol conversion, and a compression/expansion conversion;

generating, by the processor, i) corresponding current context data based on the data transformation of the at least one portion; and ii) a signal when the data transformation completes;

storing, in memory, each context data for a corresponding data stream as aggregated context data, the aggregated context data including current context data for the at least one portion of the received data stream and previous context data, if present, the context data comprising transformation data and history information for each data transformation applied to one or more portions of the corresponding data stream; and

coordinating transfer, by a context control sub-processor based on the signal, the aggregated context data of the received data stream between the processor and the context memory;

wherein the transformation data and the history information for the compression/expansion conversion comprise at least one of (i) de-compression history including values and organization for all internal storage elements, and a complete state of the data transformation, thereby recovering previous states prior to storage and (ii) compression history having a sub-set of de-compression history, a portion of the previous packet, state machine registers and stream statistical information, wherein, upon recovery, the sub-set of de-compression history is retrieved, and remaining logic of the processing core is set to a default state.

2. The method of claim 1 , further comprising:

storing, in a first area of the memory, the context data for the at least one portion of the received data stream when the data transformation completes; and

storing, in a second area of the memory, context data for at least one portion of a subsequent received data stream; and

accessing, by the processor, the second area of the memory for a data transformation of the subsequent received data stream.

3. An apparatus for context switching, the apparatus comprising:

a processor configured to i) apply a data transformation to at least one portion of a received data stream, generate corresponding current context data based on the data transformation of the at least one portion, and iii) generate a signal when the data transformation completes, wherein the data transformation comprises at least one of cryptography, multi-media processing, network protocol conversion, and a compression/expansion conversion;

a memory configured to store each context data for a corresponding data stream as aggregated context data, the aggregated context data including current context data for the at least one portion of the received data stream and previous context data, if present, the context data comprising transformation data and history information for each data transformation applied to one or more portions of the corresponding data stream; and

a context control sub-processor configured to, based on the signal, coordinate transfer of the aggregated context data of the received data stream between the processor and the memory,

wherein the transformation data and the history information for the compression/expansion conversion comprise at least one of (i) de-compression history including values and organization for all internal storage elements, and a complete state of the data transformation, thereby recovering previous states prior to storage and (ii) compression history having a sub-set of de-compression history, a portion of the previous packet, state machine registers and stream statistical information, wherein, upon recovery, the sub-set of de-compression history is retrieved, and remaining logic of the processing core is set to a default state.

4. The apparatus of claim 3 , wherein the context memory comprises:

a first area of the memory configured to store the context data for the at least one portion of the received data stream when the data transformation completes; and

a second area of the memory configured to store context data for at least one porlion of a subsequent received data stream, the processor further configured to access the second area for a data transformation of the subsequent received data stream.

5. A non-transitory machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method for context switching, comprising the steps of:

applying, by a processor, a data transformation to at least one portion of a received data stream, the data transformation comprising at least one of cryptography, multi-media processing, network protocol conversion, and a compression/expansion conversion;

generating, by the processor, i) corresponding current context data based on the data transformation of the at least one portion; and ii) a signal when the data transformation completes;

storing, in a memory, each context data for a corresponding data stream as aggregated context data, the aggregated context data including current context data for the at least one portion of the received data stream and previous context data, if present, the context data comprising transformation data and history information for each data transformation applied to one or more portions of the corresponding data stream; and

coordinating transfer, by a context control sub-processor based on the signal, the aggregated context data of the received data stream between the processor and the memory;

wherein the transformation data and the history information for the compression/expansion conversion comprise at least one of (i) de-compression history including values and organization for all internal storage elements, and a complete state of the data transformation, thereby recovering previous states prior to storage and (ii) compression history having a sub-set of de-compression history, a portion of the previous packet, state machine registers and stream statistical information, wherein, upon recovery, the sub-set of de-compression history is retrieved, and remaining logic of the processor is set to a default state.

Assignments (5)
SECURITY AGREEMENT Recorded Jul 9, 2021
From: MAXLINEAR, INC.; MAXLINEAR COMMUNICATIONS, LLC; EXAR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 056816/0089 →
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2021
From: MUFG UNION BANK, N.A.
To: MAXLINEAR, INC.; EXAR CORPORATION; MAXLINEAR COMMUNICATIONS LLC
Reel/Frame 056656/0204 →
SUCCESSION OF AGENCY (REEL 042453 / FRAME 0001) Recorded Jul 1, 2020
From: JPMORGAN CHASE BANK, N.A.
To: MUFG UNION BANK, N.A.
Reel/Frame 053115/0842 →
MERGER AND CHANGE OF NAME Recorded Oct 4, 2017
From: EAGLE ACQUISITION CORPORATION; EXAR CORPORATION; EXAR CORPORATION
To: EXAR CORPORATION
Reel/Frame 044126/0634 →
SECURITY AGREEMENT Recorded May 12, 2017
From: MAXLINEAR, INC.; ENTROPIC COMMUNICATIONS, LLC (F/K/A ENTROPIC COMMUNICATIONS, INC.); EXAR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042453/0001 →