Patent ID: 7953954

Claim:
A method comprising: receiving an allocation request from a processor configured to manage memory comprising a non-volatile memory device configurable as a plurality of blocks comprising a plurality of sectors; assigning at least one partial page block from the plurality of blocks for memory storage; filling at least one of the plurality of sectors of the at least one partial page block by storing data bits associated with the allocation request in the at least one of the plurality of sectors; updating two tables including a partial page table to indicate a partial page count remaining, and a partial page sector count table to indicate a location of a next available page and sector of the at least one partial page block; receiving another allocation request; determining that the stored data bits in the at least one of the plurality of sectors and one or more sectors of data in the other allocation request combine to form one or more full pages; assigning a full page block from the plurality of blocks; and transferring one or more full pages to the full page block, the one or more full pages formed using a random access memory to merge the data bits associated with the allocation request from the at least one partial page block with the one or more sectors of data in the other allocation request.