IP Library Patent Application 13174070
Patent Application
App. No. 13/174,070

MASS STORAGE SYSTEM AND METHOD OF OPERATING THEREOF

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/174,070
Abstract

There are provided a mass storage system and a method of operating thereof. The method comprises: dividing one or more logical volumes into a plurality of statistical segments with predefined size; assigning to each given statistical segment a corresponding activity vector characterizing statistics of I/O activity with regard to data portions within the given statistical segment, said statistics collected over a plurality of cycles of fixed counted length; and evaluating similarity of expected I/O activity with regard to certain data portions with the help of activity vectors. Two data portions are characterized by similar expected I/O activity if a distance between activity vectors characterizing respective statistical segments matches a similarity criterion.

Claims (50)

1 . A method of operating a storage system comprising a control layer configured to interface with one or more clients and to present to said clients a plurality of logical volumes, said control layer comprising a cache memory and further operatively coupled to a physical storage space comprising a plurality of disk drives, the method comprising:

dividing one or more logical volumes into a plurality of statistical segments with predefined size;

assigning to each given statistical segment a corresponding activity vector characterizing statistics of I/O activity with regard to data portions within the given statistical segment, said statistics collected over a plurality of cycles of fixed counted length; and

evaluating similarity of expected I/O activity with regard to certain data portions with the help of activity vectors.

2 . The method of claim 1 wherein two data portions are characterized by similar expected I/O activity if a distance between activity vectors characterizing respective statistical segments matches a similarity criterion.

3 . The method of claim 1 wherein all data portions within a given statistical segment are characterized by the same activity vector and, thereby, by the same expected I/O activity.

4 . The method of claim 1 further comprising:

caching in the cache memory a plurality of data portions corresponding to one or more incoming write requests, to yield cached data portions;

consolidating the cached data portions characterized by similar expected I/O activity addressed thereto into a consolidated write request;

responsive to a destage event, enabling writing the consolidated write request to one or more disk drives.

5 . The method of claim 4 wherein data portions are consolidated in the consolidated write request if characterized by a given level of expected I/O activity addressed thereto; and

wherein a cached data portion is characterized by a given level of expected I/O activity if a distance between an activity vector characterizing respective statistical segment and a reference-frequency activity vector characterizing said given level of expected I/O activity matches a similarity criterion.

6 . The method of claim 5 wherein the physical storage space is further configured as a concatenation of a plurality of RAID Groups, each RAID group comprising N+P RAID group members, and wherein the consolidated write request comprises N cached data portions characterized by a given level of expected I/O activity and P respectively calculated parity portions, thereby constituting a destage stripe corresponding to a RAID group.

7 . The method of claim 4 further comprising:

recognizing, responsive to an obtained write request, statistical segments corresponding to the cached data portions;

calculating the distances between activity vectors assigned to the recognized statistical segments, and identifying statistical segments characterized by activity vectors with distances therebetween matching the similarity criterion;

recognizing cached data portions corresponding to the identified statistical segments; and

consolidating the recognized cached data portions into the consolidated write request.

8 . The method of claim 5 wherein the consolidated write request is associated with an indication of the corresponding level of expected I/O activity, and defragmentation and/or garbage collection background processes are configured as prioritized in accordance with said indication of level of expected I/O activity.

9 . The method of claim 1 wherein the activity vector is characterized by at least one value obtained during a current cycle and by at least one value related to I/O statistics collected during at least one of the previous cycles.

10 . The method of claim 1 wherein, at any given point in time, the activity vector corresponding to a given statistical segment is characterized, at least, by the current level of I/O activity associated with the given statistical segment, a granularity interval when the first I/O has been addressed to the given statistical segment in the current cycle and a granularity interval when the first I/O has been addressed to the given statistical segment in at least one previous activity period.

11 . A storage system comprising a physical storage space comprising a plurality of disk drives and operatively coupled to a control layer configured to interface with one or more clients and to present to said clients a plurality of logical volumes,

wherein said control layer comprises a cache memory and is further operable:

to divide one or more logical volumes into a plurality of statistical segments with predefined size;

to assign to each given statistical segment a corresponding activity vector characterizing statistics of I/O activity with regard to data portions within the given statistical segment, said statistics collected over a plurality of cycles of fixed counted length; and

to evaluate similarity of expected I/O activity with regard to certain data portions with the help of activity vectors.

12 . The storage system of claim 11 wherein two data portions are characterized by similar expected I/O activity if a distance between activity vectors characterizing respective statistical segments matches a similarity criterion.

13 . The storage system of claim 11 wherein all data portions within a given statistical segment are characterized by the same activity vector and, thereby, by the same expected I/O activity.

14 . The storage system of claim 11 wherein the control layer is further operable:

to cache in the cache memory a plurality of data portions corresponding to one or more incoming write requests, to yield cached data portions;

to consolidate the cached data portions characterized by similar expected I/O activity addressed thereto into a consolidated write request; and

responsive to a destage event, to enable writing the consolidated write request to one or more disk drives.

15 . The storage system of claim 14 wherein data portions are consolidated in the consolidated write request if characterized by a given level of expected I/O activity addressed thereto; and

wherein a cached data portion is characterized by a given level of expected I/O activity if a distance between an activity vector characterizing respective statistical segment and a reference-frequency activity vector characterizing said given level of expected I/O activity matches a similarity criterion.

16 . The storage system of claim 15 wherein the physical storage space is further configured as a concatenation of a plurality of RAID Groups, each RAID group comprising N+P RAID group members, and wherein the consolidated write request comprises N cached data portions characterized by a given level of expected I/O activity and P respectively calculated parity portions, thereby constituting a destage stripe corresponding to a RAID group.

17 . The storage system of claim 14 wherein the control layer is further operable:

to recognize, responsive to an obtained write request, statistical segments corresponding to the cached data portions;

to calculate the distances between activity vectors assigned to the recognized statistical segments, and to identify statistical segments characterized by activity vectors with distances therebetween matching the similarity criterion;

to recognize cached data portions corresponding to the identified statistical segments; and

to consolidate the recognized cached data portions into the consolidated write request.

18 . The storage system of claim 11 wherein the activity vector is characterized by at least one value obtained during a current cycle and by at least one value related to I/O statistics collected during at least one of the previous cycles.

19 . The storage system of claim 11 wherein, at any given point in time, the activity vector corresponding to a given statistical segment is characterized, at least, by the current level of I/O activity associated with the given statistical segment, a granularity interval when the first I/O has been addressed to the given statistical segment in the current cycle and a granularity interval when the first I/O has been addressed to the given statistical segment in at least one previous activity period.

20 . A non-transitory computer readable medium storing a computer readable program executable by a computer for causing the computer to perform a process of operating a storage system comprising a control layer configured to interface with one or more clients and to present to said clients a plurality of logical volumes, said control layer comprising a cache memory and further operatively coupled to a physical storage space comprising a plurality of disk drives, the process comprising:

dividing one or more logical volumes into a plurality of statistical segments with predefined size;

assigning to each given statistical segment a corresponding activity vector characterizing statistics of I/O activity with regard to data portions within the given statistical segment, said statistics collected over a plurality of cycles of fixed counted length; and

evaluating similarity of expected I/O activity with regard to certain data portions with the help of activity vectors.

21 . A computer program product comprising a non-transitory computer readable medium storing computer readable program code for a computer operating a storage system comprising a control layer configured to interface with one or more clients and to present to said clients a plurality of logical volumes, said control layer comprising a cache memory and further operatively coupled to a physical storage space comprising a plurality of disk drives, the computer program product comprising:

computer readable program code for causing the computer to divide one or more logical volumes into a plurality of statistical segments with predefined size;

computer readable program code for causing the computer to assign to each given statistical segment a corresponding activity vector characterizing statistics of I/O activity with regard to data portions within the given statistical segment, said statistics collected over a plurality of cycles of fixed counted length; and

computer readable program code for causing the computer to evaluate similarity of expected I/O activity with regard to certain data portions with the help of activity vectors.

Assignments (3)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2011
From: YOCHAI, YECHIEL; SATRAN, JULIAN; ZEIDNER, EFRAIM
To: INFINIDAT LTD.
Reel/Frame 026988/0605 →