System and method to read cache data on hybrid aggregates based on physical context of the data
Abstract
Presented herein are methods, non-transitory computer readable media, and devices for writing, allocating, and caching contents of a hard disk drive block on a solid state drive cache in a memory system, without requiring an inode context. The method includes: identifying one or more HDD blocks for caching by a storage server; assigning a physical block number to each identified HDD block; linking the identified HDD blocks to one another; allocating an SSD physical block number for each linked HDD block; and storing the physical block number for each identified HDD block and the physical block number for each corresponding SSD block within a cache map.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1 . A method for caching contents of a hard disk drive (HDD) on a solid-state drive SSD cache in a memory system comprising:
identifying one or more HDD blocks for caching by a storage server; assigning a physical block number to each identified HDD block; linking the identified HDD blocks to one another; allocating an SSD physical block number for each linked HDD block; and storing the physical block number for each identified HDD block and the physical block number for each corresponding SSD block within a cache map.
2 . The method of claim 1 wherein identifying an HDD block comprises identifying the HDD block based on read frequency.
3 . The method of claim 1 wherein identifying an HDD block comprises identifying the HDD block based on frequently read randomly.
4 . The method of claim 1 wherein identifying an HDD block comprises identifying the HDD block based on frequency of access or nature of the access.
5 . The method of claim 1 wherein the physical block number identifies a block's location within the hybrid storage aggregate.
6 . The method of claim 1 wherein assigning a physical block number comprises:
locking a page associated with the HDD block in a multiprocessor-safe fashion;
queuing the page in a tracking list and grouping the page with a plurality of pages found in the memory system; and
assigning the locked pages a physical block number.
7 . A computing device comprising:
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method for caching contents of a hard disk drive (HDD) on a solid-state drive SSD cache in a memory system; a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
identify one or more HDD blocks for caching;
assign a physical block number to each identified HDD block;
link the identified HDD blocks to one other;
allocate an SSD physical block number for each linked HDD block; and
store the physical block number for each identified HDD block and the physical block number for each corresponding SSD block within a cache map.
8 . The computing device of claim 7 wherein the HDD block is identified based on read frequency.
9 . The computing device of claim 7 wherein the HDD block is identified based on frequently read randomly.
10 . The computing device of claim 7 wherein the HDD block is identified based on frequency of access or nature of the access.
11 . The computing device of claim 7 wherein the physical block number identifies the block's location within the hybrid storage aggregate.
12 . The computing device of claim 7 wherein the processor configured to execute the machine executable code to cause the processor to assign the physical block number further comprises causing the processor to:
lock a page associated with the HDD block in a multiprocessor-safe fashion;
queue the page in a tracking list and grouping the page with a plurality of pages found in the memory system; and
assign the locked pages a physical block number.
13 . A non-transitory machine-readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
identify one or more HDD blocks for caching; assign a physical block number to each identified HDD block; link the identified HDD blocks to one another; allocate an SSD physical block number for each linked HDD block; and store the physical block number for each identified HDD block and the physical block number for each corresponding SSD block within a cache map.
14 . The non-transitory machine-readable medium of claim 13 wherein the HDD block is identified based on read frequency.
15 . The non-transitory machine-readable medium of claim 13 wherein the HDD block is identified based on frequently read randomly.
16 . The non-transitory machine-readable medium of claim 13 wherein the HDD block is identified based on frequency of access or nature of the access.
17 . The non-transitory machine-readable medium of claim 13 wherein the physical block number identifies the block's location within the hybrid storage aggregate.
18 . The non-transitory machine-readable medium of claim 13 wherein assigning the physical block number comprises:
lock a page associated with the HDD block in a multiprocessor-safe fashion;
queue the page in a tracking list and grouping the page with a plurality of pages found in the memory system; and
assign the locked pages a physical block number.Join the waitlist — get patent alerts
Track US2017052713A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.