Software module for using flash memory as a secondary permanent storage device
First Claim
1. A system for using flash memory as a secondary storage device in a storage system, the system comprising:
- the storage system comprising;
a first set of one or more primary storage devices of a first storage device type;
a second set of one or more primary storage devices of a second storage device type that is different than the first storage device type;
the flash memory; and
an operating system for processing access-request information regarding received access requests for various data on the first and second sets of primary storage devices, the operating system comprising a flash remapping (FR) layer for using the flash memory as a secondary storage device, the FR layer configured for;
collecting, according to a set of one or more collection parameters, the access-request information regarding the received access requests;
based on the collected access-request information, determining flash selected data comprising areas of data in the first set of primary storage devices exhibiting a first predetermined access pattern, the first predetermined access pattern being specified by a first set of one or more pattern parameters specified for the first set of primary storage devices;
transferring flash selected data from the first set of primary storage devices to the flash memory;
based on the collected access-request information, determining flash selected data comprising areas of data in the second set of primary storage devices exhibiting a second predetermined access pattern, the second predetermined access pattern being specified by a second set of one or more pattern parameters specified for the second set of primary storage devices, wherein the first predetermined access pattern specified for the first set of primary storage devices is different from the second predetermined access pattern specified for the second set of primary storage devices; and
transferring flash selected data from the second set of primary storage devices to the flash memory.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is a flash remapping (FR) layer in a storage operating system for utilizing flash memory as a secondary permanent storage device in a storage system. The FR layer collects particular information (specified by collection parameters) of received access requests for data stored on primary storage devices of the storage system. Based on the collected information and a predetermined access pattern (specified by pattern parameters), the FR layer selects data sets on the primary storage devices to be transferred permanently to flash memory, whereby subsequent access requests to the selected data sets are redirected to flash memory. New parameters may be received by the FR layer (from a user or program) to dynamically reconfigure the functions of the FR layer. The FR layer may be implemented in the operating system without requiring other code of the storage operating system to be modified.
8 Citations
20 Claims
-
1. A system for using flash memory as a secondary storage device in a storage system, the system comprising:
the storage system comprising; a first set of one or more primary storage devices of a first storage device type; a second set of one or more primary storage devices of a second storage device type that is different than the first storage device type; the flash memory; and an operating system for processing access-request information regarding received access requests for various data on the first and second sets of primary storage devices, the operating system comprising a flash remapping (FR) layer for using the flash memory as a secondary storage device, the FR layer configured for; collecting, according to a set of one or more collection parameters, the access-request information regarding the received access requests; based on the collected access-request information, determining flash selected data comprising areas of data in the first set of primary storage devices exhibiting a first predetermined access pattern, the first predetermined access pattern being specified by a first set of one or more pattern parameters specified for the first set of primary storage devices; transferring flash selected data from the first set of primary storage devices to the flash memory; based on the collected access-request information, determining flash selected data comprising areas of data in the second set of primary storage devices exhibiting a second predetermined access pattern, the second predetermined access pattern being specified by a second set of one or more pattern parameters specified for the second set of primary storage devices, wherein the first predetermined access pattern specified for the first set of primary storage devices is different from the second predetermined access pattern specified for the second set of primary storage devices; and transferring flash selected data from the second set of primary storage devices to the flash memory. - View Dependent Claims (2, 3, 4, 5)
-
6. A method for using flash memory as a secondary storage device in a storage system, the storage system comprising the flash memory, a first set of one or more primary storage devices of a first storage device type, a second set of one or more primary storage devices of a second storage device type that is different than the first storage device type, and an operating system for processing access-request information regarding received access requests for various data on the first and second sets of primary storage devices, the method comprising:
-
collecting, according to a set of one or more collection parameters, the access-request information regarding the received access requests; based on the collected access-request information, determining flash selected data comprising areas of data in the set of primary storage devices exhibiting a predetermined access pattern for the first application, the predetermined access pattern for the first application being specified by a first set of one or more pattern parameters specified for only the first application; based on the collected access-request information, determining flash selected data comprising areas of data in the first set of primary storage devices exhibiting a first predetermined access pattern, the first predetermined access pattern being specified by a first set of one or more pattern parameters specified for the first set of primary storage devices; transferring flash selected data from the first set of primary storage devices to the flash memory; based on the collected access-request information, determining flash selected data comprising areas of data in the second set of primary storage devices exhibiting a second predetermined access pattern, the second predetermined access pattern being specified by a second set of one or more pattern parameters specified for the second set of primary storage devices, wherein the first predetermined access pattern specified for the first set of primary storage devices is different from the second predetermined access pattern specified for the second set of primary storage devices; and transferring flash selected data from the second set of primary storage devices to the flash memory. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for using flash memory as a secondary storage device in a storage system, the system comprising:
the storage system comprising; a first set of one or more primary storage devices of a first storage device type; a second set of one or more primary storage devices of a second storage device type that is different than the first storage device type; the flash memory; and an operating system comprising a plurality of software layers for processing access-request information regarding received access requests for various data on the set first and second sets of primary storage devices, the plurality of software layers comprising a flash remapping (FR) layer configured for; installation onto the operating system for using the flash memory as a secondary storage device without requiring code modification of the other software layers of the operating system; collecting, according to a set of one or more collection parameters, the access-request information regarding the received access requests; based on the collected access-request information, determining flash selected data comprising areas of data in the first set of primary storage devices exhibiting a first predetermined access pattern, the first predetermined access pattern being specified by a first set of one or more pattern parameters specified for the first set of primary storage devices; transferring flash selected data from the first set of primary storage devices to the flash memory; based on the collected access-request information, determining flash selected data comprising areas of data in the second set of primary storage devices exhibiting a second predetermined access pattern, the second predetermined access pattern being specified by a second set of one or more pattern parameters specified for the second set of primary storage devices, wherein the first predetermined access pattern specified for the first set of primary storage devices is different from the second predetermined access pattern specified for the second set of primary storage devices; and transferring flash selected data from the second set of primary storage devices to the flash memory. - View Dependent Claims (12, 13, 14, 15)
-
16. A method for using flash memory as a secondary storage device in a storage system, the storage system comprising the flash memory, a first set of one or more primary storage devices of a first storage device type, a second set of one or more primary storage devices of a second storage device type that is different than the first storage device type, and an operating system comprising a plurality of software layers for processing access-request information regarding received access requests for various data on the set first and second sets of primary storage devices, the method comprising:
providing a flash remapping (FR) layer configured for; installation onto the operating system for using the flash memory as a secondary storage device without requiring code modification of the other software layers of the operating system; collecting, according to a set of one or more collection parameters, the access-request information regarding the received access requests; based on the collected access-request information, determining flash selected data comprising areas of data in the first set of primary storage devices exhibiting a first predetermined access pattern, the first predetermined access pattern being specified by a first set of one or more pattern parameters specified for the first set of primary storage devices; transferring flash selected data from the first set of primary storage devices to the flash memory; based on the collected access-request information, determining flash selected data comprising areas of data in the second set of primary storage devices exhibiting a second predetermined access pattern, the second predetermined access pattern being specified by a second set of one or more pattern parameters specified for the second set of primary storage devices, wherein the first predetermined access pattern specified for the first set of primary storage devices is different from the second predetermined access pattern specified for the second set of primary storage devices; and transferring flash selected data from the second set of primary storage devices to the flash memory. - View Dependent Claims (17, 18, 19, 20)
Specification