Data storage systems
First Claim
1. An apparatus for controlling a data storage subsystem which comprises a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the apparatus comprising:
- means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory on the basis of the nature of the data to be stored in the volatile memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A data storage subsystem includes a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory. The available capacity for such data storage is dynamically allocated between multiple firmware client components of the storage subsystem, such that each client component has its own (varying) allocation of the available capacity. A higher priority for the storage of such data is given to client components on which other client components depend, such as lower layers of the software stack, thereby allowing them to get a larger share of the available capacity for such data storage when needed and complete their input/output requests faster.
51 Citations
38 Claims
-
1. An apparatus for controlling a data storage subsystem which comprises a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the apparatus comprising:
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory on the basis of the nature of the data to be stored in the volatile memory.
-
2. An apparatus for controlling a data storage subsystem which comprises a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the apparatus comprising:
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory on the basis of the nature of the client component requesting storage of the data in the volatile memory.
-
3. An apparatus for use in a data storage subsystem, the apparatus comprising:
-
a volatile memory;
means for preserving data stored in the volatile memory in the event of an interruption in the power supply to the volatile memory;
means for denoting data stored in the volatile memory as being data that should be preserved in the event of a power supply interruption; and
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory on the basis of the nature of the data to be stored and the nature of the client component requesting storage of the data in the volatile memory. - View Dependent Claims (4, 5)
-
-
6. An apparatus for controlling a data storage subsystem which comprises a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the apparatus comprising:
means for allocating to different client components using the volatile memory different priority levels for access to storage capacity in the volatile memory for data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory.
-
7. An apparatus for use in a data storage subsystem, the apparatus comprising:
-
a volatile memory;
means for preserving data stored in the volatile memory in the event of an interruption in the power supply to the volatile memory;
means for denoting data stored in the volatile memory as being data that should be preserved in the event of a power supply interruption; and
means for allocating to different client components using the volatile memory different priority levels for access to storage capacity in the volatile memory for data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory. - View Dependent Claims (8, 9)
-
-
10. An apparatus for controlling a data storage subsystem which comprises a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the apparatus comprising:
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the dependency of at least one of the client components on another client component or components for processing its input/output requests to the storage subsystem.
-
11. An apparatus for use in a data storage subsystem, the comprising:
-
a volatile memory;
means for preserving data stored in the volatile memory in the event of an interruption in the power supply to the volatile memory;
means for denoting data stored in the volatile memory as being data that should be preserved in the event of a power supply interruption; and
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the dependency of at least one of the client components on another client component or components for processing its input/output requests to the storage subsystem. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus for controlling a data storage subsystem which comprises a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the apparatus comprising:
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the ability of a or more than one of the client components to reduce the amount of data that it or they have stored in the volatile memory that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory.
-
16. An apparatus for use in a data storage subsystem, the apparatus comprising:
-
a volatile memory;
means for preserving data stored in the volatile memory in the event of an interruption in the power supply to the volatile memory;
means for denoting data stored in the volatile memory as being data that should be preserved in the event of a power supply interruption; and
means for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the ability of a or more than one of the client components to reduce the amount of data that it or they have stored in the volatile memory that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory. - View Dependent Claims (17, 18)
-
-
19. An apparatus for controlling a system in which a pool of finite resource is shared between plural clients that request the use of the resource, the apparatus comprising:
means for controlling access to the pool of resource by clients wishing to use the resource on the basis of the dependency of at least one of the clients on another client or clients for its ability to use the resource.
-
20. An apparatus for controlling a system in which a pool of finite resource is shared between plural clients that request the use of the resource, the apparatus comprising:
means for controlling access to the pool of resource by clients wishing to use the resource on the basis of the ability of a or more than one of the clients to reduce their use of the resource.
-
21. A method of operating a data storage subsystem comprising a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the method comprising:
controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory on the basis of the nature of the data to be stored and/or the nature of the client component requesting storage of the data in the volatile memory. - View Dependent Claims (22, 23)
-
24. A method of operating a data storage subsystem comprising a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the method comprising:
allocating to different client components using the volatile memory different priority levels for access to storage capacity in the volatile memory for data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory. - View Dependent Claims (25, 26)
-
27. A method of operating a data storage subsystem comprising a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the method comprising:
controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the dependency of at least one of the client components on another client component or components for processing its input/output requests to the storage subsystem. - View Dependent Claims (28, 29, 30)
-
31. A method of operating a data storage subsystem comprising a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the method comprising:
controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the ability of a or more than one of the client components to reduce the amount of data that it or they have stored in the volatile memory that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory. - View Dependent Claims (32)
-
33. A method of operating a system in which a pool of finite resource is shared between plural clients that have requested a use of the resource, the method comprising:
controlling access to the pool of resource by clients wishing to use the resource on the basis of the dependency of at least one of the clients on another client or clients for its ability to use the resource.
-
34. A method of operating a system in which a pool of finite resource is shared between plural clients that have requested a use of the resource, the method comprising:
controlling access to the pool of resource by clients wishing to use the resource on the basis of the ability of a or more than one of the clients to reduce their use of the resource.
-
35. A computer program product, residing on a computer usable medium, for use in a data storage subsystem having a volatile memory in which stored data can be denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory, the computer program product comprising:
computer program code for controlling the storage in the volatile memory of data that is denoted as being data that should be preserved in the event of an interruption in the power supply to the volatile memory by different firmware client components of the storage subsystem on the basis of the dependency of at least one of the client components on another client component or components for processing its input/output requests to the storage subsystem. - View Dependent Claims (36, 37, 38)
Specification