Ordered merge of data sectors that belong to memory space portions
First Claim
1. A method of managing a non-volatile memory device, the method comprising:
- receiving data sectors, each data sector belonging to a memory space portion out of multiple memory space portions;
writing the data sectors into a buffer of the non-volatile memory device, the buffer having a plurality of buffer blocks;
maintaining at least one management data structure that includes (a) location metadata about a location of each data sector in the buffer (b) timing metadata for each memory space portion that includes at least one data sector that is currently buffered in the buffer, wherein timing metadata related to a memory space portion is indicative of a timing of an earliest writing to the buffer of any currently buffered data sector that belongs to the memory space portion;
selecting a selected buffer block in response to the location metadata and the timing metadata, the selected buffer block storing at least one certain data sector of at least one certain memory space portion; and
merging, before the buffer becomes full, data sectors of all of the at least one certain memory space portion into a sequential portion of the non-volatile memory device thereby emptying the selected buffer block, wherein the sequential portion differs from the buffer.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, non-transitory computer readable medium and a system for managing a non-volatile memory device. The method includes receiving data sectors; writing the data sectors into a buffer of the non-volatile memory device; maintaining at least one management data structure that comprises (a) location metadata about a location of each data sector in the buffer (b) timing metadata for each memory space portion that includes at least one data sector that is currently buffered in the buffer, selecting a selected buffer block in response to the location metadata and the timing metadata; and
merging, before the buffer becomes full, data sectors of all of the at least one certain memory space portion into a sequential portion of the non-volatile memory device thereby emptying the selected buffer block, wherein the sequential portion differs from the buffer.
323 Citations
22 Claims
-
1. A method of managing a non-volatile memory device, the method comprising:
-
receiving data sectors, each data sector belonging to a memory space portion out of multiple memory space portions; writing the data sectors into a buffer of the non-volatile memory device, the buffer having a plurality of buffer blocks; maintaining at least one management data structure that includes (a) location metadata about a location of each data sector in the buffer (b) timing metadata for each memory space portion that includes at least one data sector that is currently buffered in the buffer, wherein timing metadata related to a memory space portion is indicative of a timing of an earliest writing to the buffer of any currently buffered data sector that belongs to the memory space portion; selecting a selected buffer block in response to the location metadata and the timing metadata, the selected buffer block storing at least one certain data sector of at least one certain memory space portion; and merging, before the buffer becomes full, data sectors of all of the at least one certain memory space portion into a sequential portion of the non-volatile memory device thereby emptying the selected buffer block, wherein the sequential portion differs from the buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for managing a non-volatile memory device, the system comprises:
-
an interface that is arranged to receive data sectors;
wherein each data sector belongs to a memory space portion out of multiple memory space portions;a memory controller that is arranged to; write the data sectors into a buffer of the non-volatile memory device;
wherein the buffer comprises multiple buffer blocks;maintain at least one management data structure that comprises (a) location metadata about a location of each data sector in the buffer (b) timing metadata for each memory space portion that includes at least one data sector that is currently buffered in the buffer, wherein timing metadata related to a memory space portion is indicative of a timing of an earliest writing to the buffer of any currently buffered data sector that belongs to the memory space portion; select a selected buffer block in response to the location metadata and the timing metadata;
wherein the selected buffer block stores at least one certain data sector of at least one certain memory space portion; andmerge, before the buffer becomes full, data sectors of all of the at least one certain memory space portion into a sequential portion of the non-volatile memory device thereby emptying the selected buffer block, wherein the sequential portion differs from the buffer.
-
-
22. A non-transitory computer readable medium that stores instruction for managing a non-volatile memory device, the instructions, once executed by a computer cause the computer to perform the stages of:
-
receiving data sectors;
wherein each data sector belongs to a memory space portion out of multiple memory space portions;writing the data sectors into a buffer of the non-volatile memory device;
wherein the buffer comprises multiple buffer blocks;maintaining at least one management data structure that comprises (a) location metadata about a location of each data sector in the buffer (b) timing metadata for each memory space portion that includes at least one data sector that is currently buffered in the buffer, wherein timing metadata related to a memory space portion is indicative of a timing of an earliest writing to the buffer of any currently buffered data sector that belongs to the memory space portion; selecting a selected buffer block in response to the location metadata and the timing metadata;
wherein the selected buffer block stores at least one certain data sector of at least one certain memory space portion; andmerging, before the buffer becomes full, data sectors of all of the at least one certain memory space portion into a sequential portion of the non-volatile memory device thereby emptying the selected buffer block, wherein the sequential portion differs from the buffer.
-
Specification