发明名称 Reuse of dynamically allocated memory
摘要 Overall memory requirements are minimized by performing copy on write and collapse on write operations using memory pointers when storing data within memory pages. Multiple memory pointers may refer to a primary page storing a definitive copy of data. When that data is to be modified, a copy on write operation creates a second copy in another memory page which may then be modified and updates memory pointers accordingly. When data within two or more memory pages is identical to data within a primary page, a collapse on write operation updates memory pointers to refer to the primary page and de-allocates the duplicative and now unused memory pages.
申请公布号 US9069477(B1) 申请公布日期 2015.06.30
申请号 US201113161844 申请日期 2011.06.16
申请人 Amazon Technologies, Inc. 发明人 Overton Adam J.
分类号 G06F3/06;G06F17/30;G06F11/14 主分类号 G06F3/06
代理机构 Lee & Hayes, PLLC 代理人 Lee & Hayes, PLLC
主权项 1. A computer-readable storage media storing instructions that, when executed, instruct a processor to perform acts comprising: associating a first virtual memory address pointer to a first memory page of a random access memory (RAM) and a second virtual memory address pointer to a second memory page of the RAM; identifying one or more flagged memory pages of a plurality of memory pages, the one or more flagged memory pages associated with a flag that indicates that the corresponding page has been modified within a pre-determined interval of time; identifying a plurality of target memory pages of the plurality of memory pages, the target memory pages excluding the one or more flagged memory pages and including at least the first memory page and the second memory page; scanning the plurality of target memory pages for memory pages deemed to have identical contents; identifying, based at least in part on the scanning, that the first memory page and the second memory page have contents that are deemed to be identical to one another; designating the first memory page as a primary page; designating the second memory page as a duplicate page; and updating the second virtual memory address pointer referring to the second memory page to refer to the first memory page.
地址 Reno NV US