The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 01, 2013
Filed:
Jul. 07, 2009
Method, system, apparatus, and computer-readable medium for implementing caching in a storage system
Paresh Chatterjee, Fremont, CA (US);
Srikumar Subramanian, Fremont, CA (US);
Srinivasa Rao Vempati, Milford, MA (US);
Suresh Grandhi, Fremont, CA (US);
Paresh Chatterjee, Fremont, CA (US);
Srikumar Subramanian, Fremont, CA (US);
Srinivasa Rao Vempati, Milford, MA (US);
Suresh Grandhi, Fremont, CA (US);
American Megatrends, Inc., Norcross, GA (US);
Abstract
A method, system, apparatus, and computer-readable medium are provided for implementing caching in a data storage system. According to aspects of the invention, a cache module is provided that utilizes cache lines sized according to a snapshot chunk size or an allocation unit size. The cache module utilizes cache header data structures corresponding to cache lines, each of which is assigned a device and logical block access range when active. The active headers are arranged in a set of hash queues. A free queue corresponds to the list of unused cache headers and a dirty queue corresponding to a list of unflushed cache headers. The cache header contains sector-level bitmaps of the cache line, specifying on a per sector granularity the bits that are dirty and valid. Flushing is performed by copying the dirty bitmap into a temporary memory location and flushing the bits set in it, while resetting the dirty bitmap and allowing writes to it. A read-ahead algorithm is used to perform read-ahead operations only in the event of a sequential read.