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 |
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.
|