DCT
6:23-cv-00756
Teleputers LLC v. Advanced Micro Devices Inc
Key Events
Complaint
Table of Contents
complaint
I. Executive Summary and Procedural Information
- Parties & Counsel:
- Plaintiff: Teleputers, LLC (New Jersey)
- Defendant: Advanced Micro Devices, Inc. (Delaware)
- Plaintiff’s Counsel: The Mort Law Firm, PLLC
- Case Identification: Teleputers, LLC v. Advanced Micro Devices, Inc., No. 6:23-cv-00756, W.D. Tex., 11/09/2023
- Venue Allegations: Venue is alleged to be proper based on Defendant maintaining a regular and established place of business within the Western District of Texas.
- Core Dispute: Plaintiff alleges that Defendant’s Systems-on-Chips (SoCs) that incorporate ARM Neon technology infringe patents related to methods for performing data permutations within a programmable processor.
- Technical Context: The technology concerns specialized processor instructions for efficiently rearranging, or permuting, data at the bit and subword level, a critical function for performance in cryptography and 2-D multimedia processing.
- Key Procedural History: The complaint identifies this case as related to a series of prior lawsuits filed by the same plaintiff against other major semiconductor and technology companies, suggesting a broad, ongoing assertion campaign involving the same patent portfolio.
Case Timeline
| Date | Event |
|---|---|
| 2000-05-05 | Priority Date for U.S. Patent No. 6,952,478 |
| 2001-05-07 | Priority Date for U.S. Patent No. 7,092,526 |
| 2005-10-04 | U.S. Patent No. 6,952,478 Issues |
| 2006-08-15 | U.S. Patent No. 7,092,526 Issues |
| 2023-11-09 | Complaint Filed |
II. Technology and Patent(s)-in-Suit Analysis
U.S. Patent No. 6,952,478 - "Method and system for performing permutations using permutation instructions based on modified omega and flip stages," Issued October 4, 2005
The Invention Explained
- Problem Addressed: The patent describes conventional methods for performing bit-level permutations in processors as being "difficult and tedious" when using standard instructions and inefficient when using large table lookups, which can be slow due to memory latency and cache misses (ʼ478 Patent, col. 1:52-56; col. 2:9-42).
- The Patented Solution: The invention proposes a method and system that use a sequence of specialized "permutation instructions" to perform arbitrary data permutations. These instructions are based on a multi-stage interconnection network composed of "omega" and "flip" stages, which breaks a complex permutation down into a series of simpler, hardware-accelerated steps controlled by configuration bits (ʼ478 Patent, Abstract; Fig. 2; col. 6:7-18).
- Technical Importance: This approach was designed to provide a fast and economical method for executing arbitrary permutations, a foundational operation in fields like cryptography and multimedia processing, directly within a programmable processor without requiring large memory stores (ʼ478 Patent, col. 3:17-22).
Key Claims at a Glance
- The complaint asserts infringement of at least Claim 1 (Compl. ¶18).
- Independent Claim 1 is a method for performing an arbitrary permutation of a source sequence of bits, comprising the steps of:
- defining an intermediate sequence of bits that said source sequence of bits is transformed into;
- determining a permutation instruction for transforming said source sequence into said intermediate sequence;
- repeating these steps, using the intermediate sequence as the new source sequence, until a desired sequence is obtained;
- wherein the determined permutation instructions form a permutation instruction sequence.
- The complaint does not explicitly reserve the right to assert dependent claims.
U.S. Patent No. 7,092,526 - "Method and system for performing subword permutation instructions for use in two-dimensional multimedia processing," Issued August 15, 2006
The Invention Explained
- Problem Addressed: The patent notes that efficient processing of two-dimensional (2-D) data like images and video often requires permuting subwords (e.g., pixels) across multiple registers, a task for which conventional instruction sets are not optimized (ʼ526 Patent, col. 2:18-24).
- The Patented Solution: The invention discloses a method for permuting 2-D data by first decomposing it into a fundamental "atomic element," such as a 2x2 matrix. Permutation instructions are then determined for rearranging the data elements within this atomic unit. This hierarchical approach allows complex 2-D permutations to be constructed from simpler, foundational operations (ʼ526 Patent, Abstract; col. 3:1-12; Fig. 2).
- Technical Importance: The technology provides a structured set of permutation primitives tailored for 2-D multimedia tasks, enhancing the use of subword parallelism by enabling in-place data rearrangement across multiple registers and reducing memory access needs (ʼ526 Patent, col. 4:40-48).
Key Claims at a Glance
- The complaint asserts infringement of at least Claim 1 (Compl. ¶24).
- Independent Claim 1 is a method for permuting 2-D data in a programmable processor, comprising the steps of:
- decomposing the 2-D data, located in a source register, into at least one "atomic element," which is a 2x2 matrix composed of data elements;
- determining at least one permutation instruction for rearranging the data in the atomic element;
- rearranging the data elements, where each element is a subword, using the permutation instruction(s); and
- applying the permutation instructions to the subwords and placing the permuted subwords into a destination register.
- The complaint does not explicitly reserve the right to assert dependent claims.
III. The Accused Instrumentality
Product Identification
- The complaint identifies the "Accused Instrumentalities" as Systems-on-Chips (SoCs) made, used, or sold by AMD, including but not limited to the AMD Opteron A1100 SoC (Compl. ¶16).
Functionality and Market Context
- The complaint alleges that the accused SoCs are based on the 64-bit ARM architecture and incorporate "ARM Neon technology" (Compl. p. 7).
- Neon technology is described as an "advanced Single Instruction Multiple Data (SIMD) architecture extension" that provides a range of "permute instructions" for rearranging data vectors (Compl. pp. 7-8). The complaint alleges these instructions, such as the VTRN (Vector Transpose) instruction, perform the infringing permutations on data held in registers (Compl. pp. 10, 17). The complaint references a diagram from an ARM community blog post that illustrates how multiple VTRN instructions can be used to transpose a 4x4 matrix of data elements (Compl. p. 11).
IV. Analysis of Infringement Allegations
- ’478 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A method of performing an arbitrary permutation of a source sequence of bits in a programmable processor | The accused AMD Opteron A1100 SoC is a programmable processor that allegedly utilizes ARM Neon technology to perform permutations, described as reordering data values as they are processed (Compl. p. 8). | ¶¶16, 22 | col. 5:45-50 |
| a. defining an intermediate sequence of bits that said source sequence of bits is transformed into | The use of a first permutation instruction (e.g., VTRN) on a source sequence of data allegedly creates an "Intermediate sequence of bits" as the first step in a larger permutation. The complaint provides a visual illustrating this transformation (Compl. p. 11). | ¶22 | col. 9:56-64 |
| b. determining a permutation instruction for transforming said source sequence of bits into said intermediate sequence of bits | The accused products allegedly use Neon "permute instructions," such as VTRN (Transpose), to perform the transformation of data from a source sequence to an intermediate sequence (Compl. p. 10). | ¶22 | col. 10:5-11 |
| c. repeating steps a. and b. using said determined intermediate sequence of bits from step b. as said source sequence...until a desired sequence...is obtained | The complaint alleges that larger permutations, such as a 4x4 matrix transpose, are achieved by using the output of a first VTRN instruction as the input to subsequent VTRN instructions, thereby repeating the process until the final desired sequence is obtained (Compl. pp. 11-12). | ¶22 | col. 10:6-15 |
| wherein the determined permutation instructions form a permutation instruction sequence. | The use of multiple VTRN instructions in succession to achieve a larger permutation allegedly forms the claimed "permutation instruction sequence" (Compl. p. 13). | ¶22 | col. 9:6-15 |
- Identified Points of Contention:
- Scope Question: A primary issue may be whether the '478 patent's claim to a method for permuting a "source sequence of bits" reads on the accused Neon technology, which operates on vectors of multi-bit "subwords" (e.g., 8-bit or 16-bit elements). The defense may argue for a literal bit-level interpretation, while the patent's own specification discusses applicability to both bit-level and subword permutations (ʼ478 Patent, col. 3:29-41).
- Technical Question: The patent teaches a method based on a specific "omega-flip network" architecture. A key question for the court will be whether the accused ARM Neon instructions, while achieving permutation, function in a manner that is technically equivalent to the claimed method of using "omega" and "flip" stages, or if there is a fundamental architectural difference.
- ’526 Patent Infringement Allegations
| Claim Element (from Independent Claim 1) | Alleged Infringing Functionality | Complaint Citation | Patent Citation |
|---|---|---|---|
| A method for permuting two dimensional (2-D) data in a programmable processor | The accused AMD Opteron A1100 SoC is identified as a programmable processor, and the VTRN instruction is alleged to operate on 2-D data by transposing matrices (Compl. pp. 16, 17). | ¶¶16, 28 | col. 3:1-4 |
| decomposing said two dimensional data into at least one atomic element...said at least one atomic element...is a 2x2 matrix and said two dimensional data is decomposed into data elements in said matrix | The complaint alleges that the VTRN instruction "treats the elements of the vectors as 2x2 matrices, and transposes each matrix." The complaint includes a diagram captioned "Decomposition of two dimensional data" to support this allegation (Compl. p. 18). | ¶28 | col. 5:21-26 |
| determining at least one permutation instruction for rearrangement of said data in said atomic element | The VTRN (Vector Transpose) instruction is identified as the permutation instruction used for rearranging the data within the alleged 2x2 matrix "atomic element" (Compl. p. 19). | ¶28 | col. 5:41-45 |
| said data elements being rearranged by said at least one permutation instruction, each of said data elements representing a subword having one or more bits | The complaint alleges that VTRN operates on 8-bit, 16-bit, or 32-bit elements, which correspond to the claimed "subword having one or more bits" (Compl. p. 19). | ¶28 | col. 1:19-21 |
| applying said permutation instructions to said subwords and placing said permutated subwords into a destination register. | The complaint provides a visual from ARM documentation that explicitly labels outputs of a permutation as "Permutated Subwords" being placed into "Destination Registers" (Compl. p. 21). | ¶28 | col. 1:29-32 |
- Identified Points of Contention:
- Scope Question: Does the accused VTRN instruction's operation of transposing vector elements constitute "decomposing" 2-D data into an "atomic element" as required by the claim? The term "atomic element" appears to be specific to the patent, and its construction will be critical.
- Technical Question: The claim recites a sequence of steps: decomposing data into an atomic element, then determining an instruction, then rearranging. A potential dispute is whether the accused VTRN instruction performs this multi-step logical process, or if it simply executes a direct transpose operation that Plaintiff characterizes as being equivalent to the claimed method.
V. Key Claim Terms for Construction
From the '478 Patent:
- The Term: "permutation instruction"
- Context and Importance: This term is central to infringement. The patent discloses its own "OMFLIP" instruction based on an omega-flip network. The accused products use ARM's Neon instructions (e.g., VTRN). Practitioners may focus on this term because the case depends on whether the accused instructions fall within the scope of the claimed "permutation instruction," even if they are not identical to the specific OMFLIP embodiment.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The specification describes the invention's purpose broadly as solving permutation problems in cryptography and multimedia (ʼ478 Patent, Abstract) and discusses the shortcomings of general-purpose instructions, suggesting "permutation instruction" could be construed to mean any specialized instruction that efficiently performs permutations, not just the OMFLIP embodiment.
- Evidence for a Narrower Interpretation: The detailed description heavily focuses on the specific "OMFLIP" instruction format and its operation based on "omega" and "flip" stages (ʼ478 Patent, Fig. 3B; col. 6:61-64). This could support an argument that the term is implicitly limited to instructions that operate according to this specific disclosed architecture.
From the '526 Patent:
- The Term: "atomic element"
- Context and Importance: This term is a cornerstone of Claim 1 of the '526 Patent and appears to be a neologism created by the patentee. Its definition is critical because the infringement theory rests on the idea that the accused products "decompose" 2-D data into this element.
- Intrinsic Evidence for Interpretation:
- Evidence for a Broader Interpretation: The claim itself defines the atomic element as a "2x2 matrix" into which 2D data is decomposed (ʼ526 Patent, col. 16:19-22). This could support a broad interpretation where any operation that treats data as 2x2 blocks meets the limitation.
- Evidence for a Narrower Interpretation: The specification describes the atomic element in the context of a hierarchical decomposition of images (e.g., an 8x8 matrix is decomposed into 4x4 matrices, which are then decomposed into 2x2 matrices) (ʼ526 Patent, col. 5:11-31). This context could be used to argue for a narrower construction that requires this specific type of hierarchical decomposition, not just any operation on a 2x2 block of data.
VI. Other Allegations
- Indirect Infringement: The complaint alleges inducement to infringe for both patents. The factual basis for inducement is the allegation that AMD encourages its customers to use the accused SoCs in an infringing manner and provides technical support for that use (Compl. ¶¶ 20-21, 26-27).
- Willful Infringement: The complaint does not contain an explicit allegation of willful infringement. However, it alleges that AMD is on notice of the patents "at least by the date of this Original Complaint" (Compl. ¶13) and includes a prayer for a declaration that the case is "exceptional" under 35 U.S.C. § 285 (Compl. p. 22). This sets the stage for a potential claim of post-filing willfulness.
VII. Analyst’s Conclusion: Key Questions for the Case
- A core issue will be one of architectural equivalence: Does the accused ARM Neon instruction set, which performs general-purpose vector permutations, implement the specific method of the '478 patent, which is rooted in a particular "omega-flip network" architecture? The case may turn on whether a functional outcome (permutation) is sufficient to prove infringement of a claim that describes a specific underlying method and structure.
- A second central question will be one of definitional scope: Can the '526 patent's term "atomic element," which is described in the context of hierarchical 2-D image decomposition, be construed to read on the 2x2 matrix operations performed by the accused VTRN SIMD instruction? The construction of this patent-specific term will likely be dispositive for infringement of the '526 patent.
Analysis metadata