Demand-driven opportunistic garbage collection in memory components
First Claim
1. A method comprising:
- receiving an opportunistic garbage collection (OGC) command from a processor providing notification of an impending occurrence of a memory idle period;
the OGC command specifying a time duration of the idle period during which an application executing on the processor will not make a request of a memory;
selecting one or more garbage collection atomic operations based, at least in part, on expected durations of the garbage collection atomic operations relative to the specified time duration of the idle period; and
in response to the OGC command, performing the selected garbage collection atomic operations on the memory during the idle period.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for performing garbage collection in a memory is disclosed. Aspects of the exemplary embodiment include dividing garbage collection into atomic operations, including read, write, and block erase; storing read cycle times, write cycle times, and block erase cycle times of the memory; receiving a communication from a processor indicating at least one idle period when an application executing on the processor will not make a request of the memory, wherein the communication indicates a time duration of the at least one idle period; and in response, performing at least one of the garbage collection atomic operations within the time duration, whereby garbage collection can be performed during the at least one idle period, rather than when the memory is substantially full.
155 Citations
28 Claims
-
1. A method comprising:
-
receiving an opportunistic garbage collection (OGC) command from a processor providing notification of an impending occurrence of a memory idle period;
the OGC command specifying a time duration of the idle period during which an application executing on the processor will not make a request of a memory;selecting one or more garbage collection atomic operations based, at least in part, on expected durations of the garbage collection atomic operations relative to the specified time duration of the idle period; and in response to the OGC command, performing the selected garbage collection atomic operations on the memory during the idle period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An executable software product stored on a non-transitory computer-readable storage medium containing program instructions for performing garbage collection in a memory, the program instructions for:
-
receiving an opportunistic garbage collection (OGC) command from a processor providing notification of an impending occurrence of a memory idle period;
the OGC command specifying a time duration of the idle period during which an application executing on the processor will not make a request of a memory;selecting one or more garbage collection atomic operations based, at least in part, on expected durations of the garbage collection atomic operations relative to the specified time duration of the idle period; and in response to the OGC command, performing the selected garbage collection atomic operations on the memory during the idle period. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A memory system, comprising:
-
a bus; a processor; a memory coupled to the processor via the bus, the memory including a memory array and a memory controller for performing memory management functions for the memory array, including; receiving an opportunistic garbage collection (OGC) command from the processor providing notification of an impending occurrence of a memory idle period;
the OGC command specifying a time duration of the idle period during which an application executing on the processor will not make a request of a memory;selecting one or more garbage collection atomic operations based, at least in part, on expected durations of the garbage collection atomic operations relative to the specified time duration of the idle period; and in response to the OGC command, performing the selected garbage collection atomic operations on the memory during the idle period. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification