IP Library Granted Patent US 10,515,016
Granted Patent B2
US 10,515,016 · App. 15/755,036 · Granted Dec 24, 2019

Method and apparatus for caching in software-defined storage systems

Inventors: Hideo Saito (Santa Clara, CA); Keisuke Hatasaki (Santa Clara, CA)
Assignee: HITACHI, LTD.
G06F12/0871G06F12/0238G11C14/0009G06F2212/205G06F2212/7203
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,515,016
App. No.
15/755,036
Granted
Dec 24, 2019
Kind
B2
Abstract

Examples implementations described herein involve systems and methods wherein the storage software is configured to consider the capabilities of the underlying hardware to determine the caching data method at run time. Some examples of capabilities that are considered in the example implementations include whether non-volatile memory (NVM) is available and how much NVM is available. Some examples of caching methods used include using both dynamic random access memory (DRAM) and NVM to cache write data and using only NVM to cache write data.

Claims (31)

1. A method for a storage server, comprising:

managing information associating an input/output (I/O) request operation type to one or more parameters indicative of availability of a cache type, the cache type comprising at least one of non-volatile memory (NVM) and dynamic random access memory (DRAM), the information generated from a detection of a hardware configuration of the storage server;

selecting a cache mode for the I/O request operation type based on the one or more parameters indicative of the availability of the cache type associated with the I/O request operation type, and

for receipt of an I/O request operation being the I/O request operation type, processing the I/O request operation according to the selected cache mode,

wherein the selecting the cache mode for the I/O request operation type comprises:

for the one or more parameters indicative of availability of battery support for DRAM in the storage server, setting the cache mode to DRAM caching for the I/O request operation type of a read operation and a write operation;

for the one or more parameters indicative of non-availability of battery support for DRAM in the storage server and indicative of availability of NVM in the storage server, setting the cache mode to NVM caching for the I/O request operation type of the write operation and DRAM caching for the I/O request operation type of the read operation; and

for the one or more parameters indicative of non-availability of NVM in the storage server and of non-availability of battery support for DRAM caching, set the cache mode to non-caching for the I/O request operation type of a write operation,

wherein the non-caching for the I/O request operation type of the write operation comprises conducting a direct write to a storage device.

2. The method of claim 1 , wherein the one or more parameters indicative of availability of the cache type comprises usable NVM cache capacity and usable DRAM cache capacity.

3. The method of claim 2 , further comprising calculating the usable NVM cache capacity and the usable DRAM capacity from available NVM cache capacity and available DRAM cache capacity.

4. A non-transitory computer readable medium storing instructions for executing a process for a storage server, the instructions comprising:

managing information associating an input/output (I/O) request operation type to one or more parameters indicative of availability of a cache type, the cache type comprising at least one of non-volatile memory (NVM) and dynamic random access memory (DRAM), the information generated from a detection of a hardware configuration of the storage server;

selecting a cache mode for the I/O request operation type based on the one or more parameters indicative of the availability of the cache type associated with the I/O request operation type, and

for receipt of an I/O request operation being the I/O request operation type, processing the I/O request operation according to the selected cache mode,

wherein the selecting the cache mode for the I/O request operation type comprises:

for the one or more parameters indicative of availability of battery support for DRAM in the storage server, setting the cache mode to DRAM caching for the I/O request operation type of a read operation and a write operation;

for the one or more parameters indicative of non-availability of battery support for DRAM in the storage server and indicative of availability of NVM in the storage server, setting the cache mode to NVM caching for the I/O request operation type of the write operation and DRAM caching for the I/O request operation type of the read operation; and

for the one or more parameters indicative of non-availability of NVM in the storage server and of non-availability of battery support for DRAM caching, set the cache mode to non-caching for the I/O request operation type of a write operation,

wherein the non-caching for the I/O request operation type of the write operation comprises conducting a direct write to a storage device.

5. A storage server, comprising:

a memory configured to store information associating an input/output (I/O) request operation type to one or more parameters indicative of availability of a cache type, the cache type comprising at least one of non-volatile memory (NVM) and dynamic random access memory (DRAM), the information generated from a detection of a hardware configuration of the storage server; and

a processor, configured to:

select a cache mode for the I/O request operation type based on the one or more parameters indicative of the availability of the cache type associated with the I/O request operation type, and

for receipt of an I/O request operation being the I/O request operation type, process the I/O request operation according to the selected cache mode,

wherein the select the cache mode for the I/O request operation type comprises:

for the one or more parameters indicative of availability of battery support for DRAM in the storage server, setting the cache mode to DRAM caching for the I/O request operation type of a read operation and a write operation;

for the one or more parameters indicative of non-availability of battery support for DRAM in the storage server and indicative of availability of NVM in the storage server, setting the cache mode to NVM caching for the I/O request operation type of the write operation and DRAM caching for the I/O request operation type of the read operation; and

for the one or more parameters indicative of non-availability of NVM in the storage server and of non-availability of battery support for DRAM caching, setting the cache mode to non-caching for the I/O request operation type of a write operation, wherein the non-caching for the I/O request operation type of the write operation comprises conducting a direct write to a storage device.

6. The storage server of claim 5 , wherein the one or more parameters indicative of availability of the cache type comprises usable NVM cache capacity and usable DRAM cache capacity.

7. The storage server of claim 6 , wherein the processor is configured to calculate the usable NVM cache capacity and the usable DRAM capacity from available NVM cache capacity and available DRAM cache capacity.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2018
From: SAITO, HIDEO; HATASAKI, KEISUKE
To: HITACHI, LTD.
Reel/Frame 045024/0904 →
Continuity (1)
Related Publication 20180253383A1 · Sep 6, 2018