Memory management system supporting object deletion in non-volatile memory
AssigneeSun Microsystems, Inc.
InventorMichael K. Saltz
Life of this patent
Estimating the term…
Abstract
One embodiment of the present invention provides a system for freeing memory within a computing device. During operation, the system receives a command to free a given segment of memory within the computing device, wherein the command specifies the location of the given segment and the size of the given segment. In response to the command, the system adds the given segment to a free segment table that contains entries for free segments of memory within the computing device. During this process, if the given segment is contiguous with an existing segment in the free segment table, the given segment is concatenated with the existing segment by adding the given segment to an entry for the existing segment in the free segment table.
Claims22
A method for freeing memory within a computing device, comprising:
- deleting an object that occupies a given segment in memory, wherein deleting the object involves a mark and sweep technique that marks objects in EEPROM by marking a corresponding data value in RAM thereby avoiding unnecessary writes to the EEPROM;
- receiving a command to free the given segment of memory within the computing device, wherein the command specifies a location of the given segment and a size of the given segment;
- and
- in response to the command, adding the given segment to a free segment table that contains entries for free segments of memory within the computing device;
- wherein if the given segment is contiguous with an existing segment in the free segment table, the given segment is concatenated with the existing segment by adding the given segment to an entry for the existing segment in the free segment table.
A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for freeing memory within a computing device, the method comprising:
- deleting an object that occupies a given segment in memory, wherein deleting the object involves a mark and sweep technique that marks objects in EEPROM by marking a corresponding data value in RAM thereby avoiding unnecessary writes to the EEPROM:
- receiving a command to free the given segment of memory within the computing device, wherein the command specifies a location of the given segment and a size of the given segment;
- and
- in response to the command, adding the given segment to a free segment table that contains entries for free segments of memory within the computing device;
- wherein if the given segment is contiguous with an existing segment in the free segment table, the given segment is concatenated with the existing segment by adding the given segment to an entry for the existing segment in the free segment table.
An apparatus for freeing memory within a computing device, comprising:
- a memory within the computing device;
- a free segment table that contains entries for free segments of the memory;
- a table updating mechanism that is configured to,
- a table updating mechanism that is configured to,
- delete an object that occupies a given segment in memory, wherein deleting the object involves a mark and sweep technique that marks objects in EEPROM by marking a corresponding data value in RAM thereby avoiding unnecessary writes to the EEPROM;
- receive a command to free the given segment of memory, wherein the command specifies a location of the given segment and a size of the given segment;
- and to
- add the given segment to the free segment table in response to the command;
- wherein if the given segment is contiguous with an existing segment in the free segment table, the given segment is concatenated with the existing segment by adding the given segment to an entry for the existing segment in the free segment table.
A means for freeing memory within a computing device, comprising:
- a deleting means for deleting an object that occupies a given segment in memory, wherein deleting the object involves a mark and sweep technique that marks objects in EEPROM by marking a corresponding data value in RAM thereby avoiding unnecessary writes to the EEPROM:
- a receiving means for receiving a command to free the given segment of memory, wherein the command specifies a location of the given segment and a size of the given segment;
- and
- a segment adding means for adding the given segment to a free segment table that contains entries for free segments of memory within the computing device;
- wherein if the given segment is contiguous with an existing segment in the free segment table, the given segment is concatenated with the existing segment by adding the given segment to an entry for the existing segment in the free segment table.
Dependencies are inferred from the claim text.