US 11,748,010 B2
Methods and systems for storing variable length data blocks in memory
Robert Brigg, Watford (GB)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Dec. 28, 2020, as Appl. No. 17/134,803.
Claims priority of application No. 1919378 (GB), filed on Dec. 27, 2019.
Prior Publication US 2021/0200441 A1, Jul. 1, 2021
Int. Cl. G06F 3/06 (2006.01); H03M 7/40 (2006.01)
CPC G06F 3/064 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0659 (2013.01); G06F 3/0673 (2013.01); H03M 7/40 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of storing a set of at least two variable length data blocks in a memory, each variable length data block having a maximum size of N*B, wherein N is an integer greater than or equal to two, and B is a maximum data size that is written to the memory using a single memory access request, the method comprising:
storing, for each variable length data block in the set, first P non-overlapping portions of size B of the variable length data block within a chunk of the memory allocated to the variable length data block, wherein the chunk of the memory allocated to each variable length data block has a same size of X*B, X is a constant integer less than N, and P is a minimum of: (i) a number of non-overlapping portions of size B of the variable length data block, and (ii) X;
storing any remaining portions of the variable length data blocks in the set in a remainder section of the memory that is shared between the variable length data blocks of the set; and
storing, in a header section of the memory, information indicating a size of each of the variable length data blocks in the set.