IP Library Granted Patent US 12,554,896
Granted Patent B2
US 12,554,896 · App. 18/461,722 · Granted Feb 17, 2026

System of io processing for storage control unit for encryption/decryption

Inventors: Tatsuya Hirai (Tokyo, JP); Takahiro Yamamoto (Tokyo, JP); Yoshinori Ohira (Tokyo, JP)
Assignee: HITACHI VANTARA, LTD.
G06F21/78G06F13/1668G06F21/602
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 12,554,896
App. No.
18/461,722
Granted
Feb 17, 2026
Kind
B2
Abstract

An information processing system includes a physical drive, a compute unit, and a storage control unit that processes a data input/output request from the compute unit, in which: the storage control unit includes an IO processing unit and an encryption/decryption-related processing unit; the encryption/decryption-related processing unit is capable of referring to key generation method information including at least one element used to generate a key used to encrypt/decrypt the data and an algorithm for generating a key by using the element; and the encryption/decryption-related processing unit generates a key used to encrypt/decrypt the data according to a content set in the key generation method information, and encrypts data received from the compute unit by the IO processing unit or decrypts data read from the physical drive by the IO processing unit by using the key.

Claims (36)

1 . An information processing system comprising:

a physical drive that statically stores data;

a compute unit that operates an application program; and

a storage control node that processes a data input/output request by the compute unit that has received an instruction from the application program, and includes at least a CPU, a memory, and an input/output device all communicatively coupled to each other, wherein the storage control node is configured to:

execute writing of the data into the physical drive and reading of the data from the physical drive on a basis of the data input/output request,

acquire, from the memory, drive key/IO key information and storage pool key information,

identify, using the drive key/IO key information and the storage pool key information, a first identifier of a key allocated to the physical drive and a second identifier of a key allocated to a storage pool,

attach the first identifier and the second identifier to a request for keys corresponding to each of the first identifier and the second identifier, and transmit the request to a key management server,

receive, from the key management server, a physical drive key and a storage pool key that correspond to the first identifier and the second identifier, respectively,

arrange, within the memory, the physical drive key into the drive key/IO key information and the storage pool key into the storage pool key information,

acquire, from the memory, IO key generation information including an element number for generating an I/O key used to encrypt/decrypt the data, an IO key generation algorithm, and IO key generation elements,

generate the IO key using the IO key generation information, the physical drive key, and the storage pool key, and save the IO key in the IO key generation information in the memory,

encrypt data received from the compute unit using the IO key to form encrypted data or decrypt data read from the physical drive using the IO key to form decrypted data, and

write the encrypted data into the physical drive, and transmit the decrypted data into the compute unit.

2 . The information processing system according to claim 1 , wherein the storage control node is further configured to:

divide the data received from the compute unit into at least one block and write each of the at least one block into a different physical drive in a plurality of the physical drives, and

specify, as elements used to generate the IO key, a key allocated to each of the plurality of physical drives and a key associated with a logical storage area provided to a host configured in the compute unit.

3 . The information processing system according to claim 1 , wherein the storage control node is further configured to:

divide the data received from the compute unit into at least one block and write each of the at least one block into a different physical drive in a plurality of physical drives, and

specify, as elements used to generate the IO key, a key allocated to each of the plurality of physical drives and at least one piece of information managed by the storage control unit.

4 . The information processing system according to claim 1 , wherein the storage control node is further configured to:

divide the data received from the compute unit into at least one block and check whether a block having the same value as the at least one block is already stored in the memory before executing an encryption process, and

create information for associating a writing destination address of a volume with an address of the stored block and store the information in the storage.

5 . The information processing system according to claim 1 , wherein the storage control node is further configured to:

divide the data received from the compute unit into at least one block, compress the at least one block into a compressed block, and encrypt the compressed block.

6 . An information processing method for an information processing system including a physical drive that statically stores data, a compute unit that operates an application program, and a storage control node that processes a data input/output request by the compute unit that has received an instruction from the application program, and includes at least a CPU, a memory, and an input/output device all communicatively coupled to each other, the information processing method comprising:

writing of the data into the physical drive and reading of the data from the physical drive on a basis of a data input/output request;

acquiring, from the memory, drive key/IO key information and storage pool key information;

identifying, using the drive key/IO key information and the storage pool key information, a first identifier of a key allocated to the physical drive and a second identifier of a key allocated to a storage pool;

attaching the first identifier and the second identifier to a request for keys corresponding to each of the first identifier and the second identifier, and transmitting the request to a key management server;

receiving, from the key management server, a physical drive key and a storage pool key that correspond to the first identifier and the second identifier, respectively;

arranging, within the memory, the physical drive key into the drive key/IO key information and the storage pool key into the storage pool key information;

acquiring, from the memory, IO key generation information including an element number for generating an I/O key used to encrypt/decrypt the data, an IO key generation algorithm, and IO key generation elements;

generating the IO key using the IO key generation information, the physical drive key, and the storage pool key, and saving the IO key in the IO key generation information in the memory;

encrypting data received from the compute unit by using the IO key to form encrypted data, or decrypting data read from the physical drive by using the IO key to form decrypted data; and

writing the encrypted data into the physical drive, or transmitting the decrypted data to the compute unit.

Assignments (2)
CHANGE OF NAME Recorded Sep 27, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069067/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2023
From: HIRAI, TATSUYA; YAMAMOTO, TAKAHIRO; OHIRA, YOSHINORI
To: HITACHI, LTD.
Reel/Frame 064815/0126 →
Priority Claims (1)
JP 2022-204027 · Dec 21, 2022 · national
Continuity (1)
Related Publication 20240211640A1 · Jun 27, 2024
References Cited (15)
US 9330270B2 · Ochiai · 2016 [cited by examiner]
US 9547777B2 · Schneider · 2017 [cited by examiner]
US 20040015723A1 · Pham · 2004 [cited by examiner]
US 20040078568A1 · Pham · 2004 [cited by examiner]
US 20080260161A1 · Yokota · 2008 [cited by examiner]
US 20090196417A1 · Beaver · 2009 [cited by examiner]
US 20110099369A1 · Lee · 2011 [cited by examiner]
US 20150127854A1 · Yamamoto et al. · 2015 [cited by applicant]
US 20150379276A1 · Glickman · 2015 [cited by examiner]
US 20160232383A1 · Chakhaiyar · 2016 [cited by examiner]
US 20160285632A1 · Akiba · 2016 [cited by examiner]
US 20170286319A1 · Abbas · 2017 [cited by examiner]
US 20190340136A1 · Irwin · 2019 [cited by examiner]
US 20220200799A1 · Wade · 2022 [cited by examiner]
JP 6114397B2 · 2017 [cited by applicant]