Managing compression in data storage systems
First Claim
Patent Images
1. A method for use in managing compression in data storage systems, the method comprising:
- determining a first data temperature for sub logical unit extents in a block-based data storage system, wherein the block-based data storage system comprises at least one logical unit including sub logical unit extents;
based on the first data temperature, determining a first compression level for the sub logical unit extents using cut off temperatures for separating different compression levels, the compression levels comprising an uncompressed level, a fast compression level and a slow compression level, wherein the fast compression level has a greater performance profile than the slow compression level and the uncompressed level has a greater performance profile than the fast compression level;
based on the first compression level, applying data compression to the sub logical unit extents;
determining a second data temperature for the sub logical unit extents;
generating a compression update candidate list, wherein the compression update candidate list includes an entry for each sub logical unit extent, further wherein the compression update candidate list comprises the second data temperature and a new second compression level for each sub logical unit extent in the list;
dividing the compression update candidate list into separate logical unit candidate lists for each logical unit;
adding the hottest sub logical unit extent in each of the logical unit candidate lists to an execution list; and
updating the compression levels of each sub logical unit extent in the execution list in order of expected performance gain.
9 Assignments
0 Petitions
Accused Products
Abstract
A method is used in managing compression in data storage systems. A data temperature is determined for a set of data in a block-based data storage system. Based on the data temperature, data compression is applied to the set of data.
-
Citations
14 Claims
-
1. A method for use in managing compression in data storage systems, the method comprising:
-
determining a first data temperature for sub logical unit extents in a block-based data storage system, wherein the block-based data storage system comprises at least one logical unit including sub logical unit extents; based on the first data temperature, determining a first compression level for the sub logical unit extents using cut off temperatures for separating different compression levels, the compression levels comprising an uncompressed level, a fast compression level and a slow compression level, wherein the fast compression level has a greater performance profile than the slow compression level and the uncompressed level has a greater performance profile than the fast compression level; based on the first compression level, applying data compression to the sub logical unit extents; determining a second data temperature for the sub logical unit extents; generating a compression update candidate list, wherein the compression update candidate list includes an entry for each sub logical unit extent, further wherein the compression update candidate list comprises the second data temperature and a new second compression level for each sub logical unit extent in the list; dividing the compression update candidate list into separate logical unit candidate lists for each logical unit; adding the hottest sub logical unit extent in each of the logical unit candidate lists to an execution list; and updating the compression levels of each sub logical unit extent in the execution list in order of expected performance gain. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for use in managing compression in data storage systems, the system comprising:
-
a processor comprising a program logic for carrying out the steps of; first logic determining a first data temperature for sub logical unit extents in a block-based data storage system, wherein the block-based data storage system comprises at least one logical unit including sub logical unit extents; based on the first data temperature, second logic determining a first compression level for the sub logical unit extents using cut off temperatures for separating different compression levels, the compression levels comprising an uncompressed level, a fast compression level and a slow compression level, wherein the fast compression level has a greater performance profile than the slow compression level and the uncompressed level has a greater performance profile than the fast compression level; based on the first compression level, third logic applying data compression to the sub logical unit extents; fourth logic determining a second data temperature for the sub logical unit extents; fifth logic generating a compression update candidate list, wherein the compression update candidate list includes an entry for each sub logical unit extent, further wherein the compression update candidate list comprises the second data temperature and a new second compression level for each sub logical unit extent in the list; sixth logic dividing the compression update candidate list into separate logical unit candidate lists for each logical unit; seventh logic adding the hottest sub logical unit extent in each of the logical unit candidate lists to an execution list; and eighth logic updating the compression levels of each sub logical unit extent in the execution list in order of expected performance gain. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification