US 12,341,711 B1
Spatial dispersion buffer
William Brad Matthews, Los Gatos, CA (US); and Puneet Agarwal, Santa Clara, CA (US)
Assigned to Innovium, Inc., Santa Clara, CA (US)
Filed by Innovium, Inc., Santa Clara, CA (US)
Filed on Jun. 19, 2024, as Appl. No. 18/747,966.
Application 18/747,966 is a continuation of application No. 18/225,625, filed on Jul. 24, 2023, granted, now 12,021,763.
Application 18/225,625 is a continuation of application No. 17/979,414, filed on Nov. 2, 2022, granted, now 11,757,801, issued on Sep. 12, 2023.
Application 17/979,414 is a continuation of application No. 17/141,122, filed on Jan. 4, 2021, granted, now 11,522,817, issued on Dec. 6, 2022.
Int. Cl. H04L 49/90 (2022.01); H04L 43/0882 (2022.01); H04L 47/625 (2022.01); H04L 47/70 (2022.01)
CPC H04L 49/9063 (2013.01) [H04L 43/0882 (2013.01); H04L 47/627 (2013.01); H04L 47/826 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for performing multiple concurrent read accesses to data units buffered in shared memories, the method comprising:
receiving a first request to perform a first read operation with respect to a specific logical bank among a plurality of logical banks of a memory;
wherein the specific logical bank stores (a) a plurality of storage data units (SDUs) constituting a specific transport data unit (TDU) and (b) a parity SDU generated based on the plurality of SDUs; wherein the parity SDU is stored in a first memory instance of the specific logical bank and wherein the first memory instance is separate from one or more other memory instances of the specific logical bank that are used to store the plurality of SDUs;
wherein the specific logical bank includes a plurality of specific memory instances, wherein a shared specific memory instance among the plurality of specific memory instances is shared by the specific logical bank and by one or more overlapping logical banks among the plurality of logical banks; wherein the shared specific memory instance stores a specific SDU among the plurality of SDUs;
receiving a second request to perform a second read operation with respect to one of the one or more overlapping logical banks concurrently with the first request to perform the first read operation with respect to the specific logical bank, and while the first and second requests are received to concurrently access the specific memory instance in the specific logical bank, performing:
accessing the parity SDU from the first memory instance of the specific logical bank;
accessing other SDUs in the plurality of SDUs other than the specific SDU from the specific logical bank;
generating the specific SDU from the parity SDU and the other SDUs in the plurality of SDUs;
using the generated specific SDU with the other SDUs in the plurality of SDUs to reconstruct the TDU.