Identification of Hot Regions to Enhance Performance and Endurance of a Non-Volatile Storage Device
First Claim
1. A method, comprising:
- receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host; and
performing one or more operations for each region of the plurality of regions in the logical address space of the host, including;
determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period;
in accordance with a determination that the region is accessed more than the predetermined threshold number of times during the predetermined time period, marking the region with a hot region indicator; and
while the region is marked with the hot region indicator, identifying open blocks associated with the region, and marking each of the identified open blocks with a hot block indicator, wherein each block includes a plurality of pages and corresponds to a predefined range of physical addresses in a physical address space of the storage device.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods and/or devices are used to enable identification of hot regions to enhance performance and endurance of a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period, (b) if so, marking the region with a hot region indicator, and (c) while the region is marked with the hot region indicator, identifying open blocks associated with the region, and marking each of the identified open blocks with a hot block indicator.
-
Citations
22 Claims
-
1. A method, comprising:
-
receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host; and performing one or more operations for each region of the plurality of regions in the logical address space of the host, including; determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period; in accordance with a determination that the region is accessed more than the predetermined threshold number of times during the predetermined time period, marking the region with a hot region indicator; and while the region is marked with the hot region indicator, identifying open blocks associated with the region, and marking each of the identified open blocks with a hot block indicator, wherein each block includes a plurality of pages and corresponds to a predefined range of physical addresses in a physical address space of the storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage device, comprising:
-
one or more processors; and memory storing one or more programs, which when executed by the one or more processors cause the storage device to; receive, at the storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host; and perform one or more operations for each region of the plurality of regions in the logical address space of the host, including; determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period; marking, in accordance with a determination that the region is accessed more than the predetermined threshold number of times during the predetermined time period, the region with a hot region indicator; and identifying open blocks associated with the region while the region is marked with the hot region indicator, and marking each of the identified open blocks with a hot block indicator, wherein each block includes a plurality of pages and corresponds to a predefined range of physical addresses in a physical address space of the storage device. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A storage system, comprising:
-
a storage medium; one or more processors; and memory storing one or more programs, which when executed by the one or more processors cause the storage system to; receive, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in the plurality of regions in the logical address space of the host; and perform one or more operations for each region of the plurality of regions in the logical address space of the host, including; determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period; marking, in accordance with a determination that the region is accessed more than the predetermined threshold number of times during the predetermined time period, the region with a hot region indicator; and identifying open blocks associated with the region while the region is marked with the hot region indicator, and marking each of the identified open blocks with a hot block indicator, wherein each block includes a plurality of pages and corresponds to a predefined range of physical addresses in a physical address space of the storage device.
-
-
18. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a storage device, the one or more programs including instructions for:
-
receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host; and performing one or more operations for each region of the plurality of regions in the logical address space of the host, including; determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period; in accordance with a determination that the region is accessed more than the predetermined threshold number of times during the predetermined time period, marking the region with a hot region indicator; and while the region is marked with the hot region indicator, identifying open blocks associated with the region, and marking each of the identified open blocks with a hot block indicator, wherein each block includes a plurality of pages and corresponds to a predefined range of physical addresses in a physical address space of the storage device. - View Dependent Claims (19, 20, 21, 22)
-
Specification