System and method for dynamic allocation of unified cache to one or more logical units
AssigneeSamsung Electronics Co., Ltd.
InventorImtiaz Ahmed Nawab Ali
Life of this patent
Estimating the term…
Abstract
A system and method provide a unified cache in a Small Computer System Interface (SCSI) device which can be dynamically allocated to one or more Logical Units (LUs). A cache balancer module of the SCSI device can allocate the entire unified cache to a single LU, or divide the unified cache among multiple LUs. The cache entries for each LU can be further classified based on Quality of Service (QoS) traffic classes within each LU thereby improving the QoS performance. The system provides a cache allocation table that maintains a unified cache allocation status for each LU.
Claims20
A system, comprising:
- a host device;
- and
- a SCSI device,
- wherein said SCSI device comprises:
- a unified cache module,
- a cache allocation table, and
- a cache balancer module configured to:
- allocate at least one cache slot in said unified cache module to at least one Logical Unit (LU) in response to receiving an input/output (I/O) request from said host device;
- log at least one cache entry by caching data for said received I/O request to said at least one cache slot of said unified cache;
- and
- register a table entry corresponding to said allocated at least one cache slot into said cache allocation table of said at least one LU.
A method for dynamically allocating a unified cache to at least one Logical Unit (LU) of a Small Computer System Interface (SCSI) device, wherein said method comprises:
- allocating at least one cache slot in a unified cache module to said at least one LU, in response to receiving an input/output (I/O) request from a host device;
- a cache allocation unit logging at least one cache entry by caching data for said received I/O request to said at least one cache slot of said unified cache;
- and
- registering a table entry corresponding to said allocated at least one cache slot into a cache allocation table of said at least one LU.
A device, comprising:
- a first memory device having stored therein a unified cache comprising cached data of one or more of a plurality of logical units of a host device, arranged in a plurality of cache slots, wherein at least some of the cache slots are dynamically-allocatable between the logical units;
- a second memory device having stored therein a cache allocation table comprising a plurality of table entries each corresponding to at least one allocated cache slot in the unified cache, the cache allocation table being arranged to identify which of the allocated caches slots of the unified cache are allocated to which of the logical units;
- and
- a cache balancer module configured to:
- dynamically allocate the cache slots in the unified cache among the logical units in response to receiving input/output (I/O) requests from the host device;
- log cache entries for caching the data for the received I/O requests to the allocated cache slots of the unified cache;
- and
- register in the cache allocation table the table entries corresponding to the allocated cache slots for each logical unit.
Dependencies are inferred from the claim text.