IP Library › Granted Patent US 12,436,699
Granted Patent B2
US 12,436,699 · App. 18/589,430 · Granted Oct 7, 2025

Integrated circuit data stream processing using paged buffering

Inventors: Kunihiko Ietomi (Kanagawa, JP); Nikolay Nez (Tokyo, JP); Oleg Khavin (Tokyo, JP); Sakyasingha Dasgupta (Tokyo, JP)
Assignee: EDGECORTIX INC.
G06F3/064G06F3/0604G06F3/0673
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 12,436,699
App. No.
18/589,430
Granted
Oct 7, 2025
Kind
B2
Abstract

Integrated circuit data stream processing utilizing paged buffering is performed by an integrated circuit that includes an upstream random access memory, a local read counter, a downstream random access memory, a local write counter, and a processor. The local read counter is configured to store a value indicating whether any accessible blocks of data are stored in the upstream memory. The local write counter is configured to store a value indicating whether any downstream pages of the downstream memory are available for recording. The processor is configured to adjust the local read counter to indicate a page release, adjust the local write counter to indicate a page occupy, read a first block of data recorded to the upstream memory, process the first block of data to produce a second block of data, and record the second block of data to the downstream memory.

Claims (78)

1. An integrated circuit comprising:

an upstream random access memory having at least three upstream pages, the upstream memory configured to store a block of data in each upstream page among the at least three upstream pages;

a local read counter configured to store a value indicating whether any accessible blocks of data are stored in the upstream memory;

a downstream random access memory having at least three downstream pages, the downstream memory configured to store a block of data in each downstream page among the at least three downstream pages;

a local write counter configured to store a value indicating whether any downstream pages of the downstream memory are available for recording;

a processor configured to perform operations in response to determining that the local read counter includes a value indicating at least one accessible block of data is stored in the upstream memory and the local write counter includes a value indicating at least one downstream page of the downstream memory is available for recording, the operations including: adjusting the local read counter to indicate a page release,

adjusting the local write counter to indicate a page occupy,

reading a first block of data recorded to the upstream memory,

processing the first block of data to produce a second block of data, and

recording the second block of data to the downstream memory.

2. The integrated circuit of claim 1 ,

wherein the processor is further configured to adjust a remote write counter in response to completing the reading of the first block of data to indicate a page release; and

wherein the processor is further configured to adjust a remote read counter in response to completing the recording of the second block of data to indicate a page occupy.

3. The integrated circuit of claim 1 ,

wherein the processor is further configured to update a read page address of the upstream memory in response to completing the reading of the first block of data; and

wherein the processor is further configured to update a write page address of the downstream memory in response to completing the recording of the second block of data.

4. The integrated circuit of claim 1 , further comprising:

a parameter random access memory having at least three parameter pages, the parameter memory configured to store a block of parameter values in each parameter page among the at least three parameter pages;

a local parameter read counter configured to store a value indicating whether any accessible blocks of parameter values are stored in the parameter memory;

wherein the processor is further configured to perform the operations further in response to determining that the local parameter read counter includes a value indicating at least one accessible block of parameter values is stored in the parameter memory;

wherein the operations further include reading the block of parameter values recorded to the parameter memory; and

wherein the processor is further configured to process the first block of data in accordance with the block of parameter values.

5. The integrated circuit of claim 4 , wherein

the processor is a segmentation processor configured to divide an original block of data of the first block of data into a plurality of data segments among the second block of data of one or more predetermined lengths defined by the block of parameter values.

6. The integrated circuit of claim 4 , wherein

the processor is an encoding processor configured to apply a parity-check matrix among the block of parameter values to a plurality of data segments among the first block of data to produce parity segments among the second block of data.

7. The integrated circuit of claim 4 , wherein

the processor is a concatenating processor configured to concatenate a plurality of data segments among the first block of data with a plurality of parity segments to produce an encoded data block of the second block of data.

8. The integrated circuit of claim 4 , wherein

the processor is a segmentation processor configured to divide an encoded block of data probability values of the first block of data into a plurality of data probability value segments among the second block of data and a plurality of parity probability value segments among the second block of data of one or more predetermined lengths defined by the block of parameter values.

9. The integrated circuit of claim 4 , wherein

the processor is a decoding processor configured to adjust probability values of an encoded data block of the first block of data based on a parity-check matrix among the block of parameter values to produce likely binary values among the second block of data.

10. The integrated circuit of claim 4 , wherein

the processor is a concatenating processor configured to concatenate a plurality of decoded binary value segments among the first block of data to produce a decoded data block of the second block of data.

11. An integrated circuit comprising:

a random access memory having at least three pages, the memory configured to store a block of data in each page among the at least three pages;

a read counter storing a value indicating whether any accessible blocks of data are stored in the memory;

a write counter storing a value indicating whether any pages of the memory are available for recording;

an upstream processor configured to perform upstream operations in response to determining that the write counter includes a value indicating at least one page of the memory is available for recording, the upstream operations including:

adjusting the write counter to indicate a page occupy,

recording a first block of data to a first page among the at least three pages of the memory, and

adjusting the read counter further in response to completing the recording of the first block of data to indicate a page occupy;

a downstream processor configured to perform downstream operations in response to determining that the read counter includes a value indicating at least one accessible block of data is stored in the memory, the downstream operations including:

adjusting the read counter to indicate a page release,

reading the first block of data recorded to the first page of the memory,

processing the first block of data, and

adjusting the write counter further in response to completing the reading of the first block of data to indicate a page release.

12. The integrated circuit of claim 11 ,

wherein the upstream processor is further configured to record a second block of data to a second page among the at least three pages of the memory while the downstream processor reads the first block of data recorded to the first page of the memory.

13. The integrated circuit of claim 11 ,

wherein the upstream processor is in direct communication with the write counter; and

wherein the downstream processor is in direct communication with the read counter.

14. The integrated circuit of claim 11 ,

wherein the upstream processor is further configured to update a write page address of the memory in response to completing the recording of the first block of data; and

wherein the downstream processor is further configured to update a read page address of the memory in response to completing the reading of the first block of data.

15. The integrated circuit of claim 14 , wherein

the upstream processor is a segmentation processor configured to divide an original block of data into a plurality of data segments among the second block of data, and

the downstream processor is an encoding processor configured to apply a parity-check matrix to a plurality of data segments among the first block of data to produce parity segments.

16. The integrated circuit of claim 14 , wherein

the upstream processor is an encoding processor configured to apply a parity-check matrix to a plurality of data segments to produce parity segments among the second block of data, and

the downstream processor is a concatenating processor configured to concatenate a plurality of data segments among the first block of data with a plurality of parity segments among the first block of data to produce an encoded data block.

17. A method comprising:

performing operations, by a processor of an integrated circuit in response to determining that a local read counter of the integrated circuit includes a value indicating at least one accessible block of data is stored in an upstream memory of the integrated circuit and a local write counter of the integrated circuit includes a value indicating at least one downstream page of a downstream memory of the integrated circuit is available for recording, the operations including:

adjusting the local read counter to indicate a page release,

adjusting the local write counter to indicate a page occupy,

reading a first block of data recorded to the upstream memory,

processing the first block of data to produce a second block of data, and

recording the second block of data to a downstream memory of the integrated circuit.

18. The method of claim 17 , further comprising:

adjusting a remote write counter in response to completing the reading of the first block of data to indicate a page release; and

adjusting a remote read counter in response to completing the recording of the second block of data to indicate a page occupy.

19. The method of claim 17 , further comprising:

updating a read page address of the upstream memory in response to completing the reading of the first block of data; and

updating a write page address of the downstream memory in response to completing the recording of the second block of data.

20. The method of claim 17 , wherein

the operations further include reading a block of parameter values recorded to a parameter random access memory of the integrated circuit;

the performing the operations is further in response to determining that the local parameter read counter includes a value indicating at least one accessible block of parameter values is stored in the parameter memory; and

the processing of the first block of data is in accordance with the block of parameter values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2024
From: IETOMI, KUNIHIKO; NEZ, NIKOLAY; KHAVIN, OLEG; DASGUPTA, SAKYASINGHA
To: EDGECORTIX INC.
Reel/Frame 066581/0435 →
Continuity (2)
Provisional Application 63502417 · May 16, 2023
Related Publication 20240385761A1 · Nov 21, 2024
References Cited (9)
US 20140136773A1 · Michalak · 2014 [cited by applicant]
US 20200081774A1 · Kumano et al. · 2020 [cited by applicant]
US 20220188222A1 · Hashimoto · 2022 [cited by examiner]
US 20220382478A1 · Park et al. · 2022 [cited by applicant]
JP 2008146253A · 2008 [cited by applicant]
JP 2015534200A · 2015 [cited by applicant]
JP 2020042512A · 2020 [cited by applicant]
Morris et al., “Credit-Based Flow Control for ATM Networks” IEEE Network, vol. 9, No. 2, Mar./Apr. 1995, pp. 40-48, 11pp. [cited by applicant]
Towles et al., “Route Packets, Not Wires: On-Chip Interconnection Networks” 38th Design Automation Conference, 2001, 6pp. [cited by applicant]