IP Library Granted Patent US 12,608,489
Granted Patent B2
US 12,608,489 · App. 18/596,154 · Granted Apr 21, 2026

Data storage method and apparatus, device, and readable medium

Inventors: Han Xu (Chengdu, CN); Tao Huang (Shenzhen, CN); Di Chen (Hangzhou, CN); Jiawei Zhao (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F21/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,608,489
App. No.
18/596,154
Granted
Apr 21, 2026
Kind
B2
Abstract

A data storage method includes receiving to-be-stored first data; encrypting a first data part in the to-be-stored first data; writing an encrypted first data part into a non-volatile memory; and then writing a second data part into a hard disk or a magnetic disk.

Claims (58)

1 . A method comprising:

receiving first data;

encrypting a first data part of the first data to obtain an encrypted first data part;

writing the encrypted first data part into a non-volatile memory;

writing a second data part of the first data into one of a hard disk or a magnetic disk; and

writing first metadata of the first data part and second metadata of the second data part into the non-volatile memory, wherein the first metadata comprises a duration required for encrypting and decrypting the first data part and a quantity of times of accessing the first data part.

2 . The method of claim 1 , wherein the first data part is smaller than the second data part.

3 . The method of claim 1 , wherein encrypting the first data part comprises encrypting the first data part in a trusted execution environment (TEE).

4 . The method of claim 1 , further comprising:

receiving a read request for reading the first data;

reading the encrypted first data part from the non-volatile memory;

reading the second data part from the hard disk or the magnetic disk;

decrypting the encrypted first data part to obtain the first data part; and

obtaining the first data based on the first data part and the second data part.

5 . The method of claim 1 , further comprising migrating the first data part from the non-volatile memory to the hard disk or the magnetic disk when the first data part meets a migration condition.

6 . The method of claim 5 , wherein the migration condition comprises at least one of a time required for encrypting and decrypting the first data part exceeding a first threshold or a frequency of accessing the first data part being less than a second threshold.

7 . The method of claim 5 , wherein the migration condition comprises a capacity of the non-volatile memory reaching a limit.

8 . The method of claim 1 , further comprising:

indexing the encrypted first data part in the non-volatile memory using a first index structure; and

indexing the second data part in the hard disk or the magnetic disk using a second index structure, wherein the second index structure is different than the first index structure.

9 . A computing device comprising:

a memory configured to store computer program instructions; and

a processor coupled to the memory and configured to execute the computer program instructions to cause the computing device to:

receive first data;

encrypt a first data part of the first data to obtain an encrypted first data part;

write the encrypted first data part into a non-volatile memory;

write a second data part of the first data into one of a hard disk or a magnetic disk; and

write first metadata of the first data part and second metadata of the second data part into the non-volatile memory, wherein the first metadata comprises a duration required for encrypting and decrypting the first data part and a quantity of times of accessing the first data part.

10 . The computing device of claim 9 , wherein the processor executes the computer program instructions to further cause the computing device to encrypt the first data part in the first data in a trusted execution environment (TEE).

11 . The computing device of claim 9 , wherein the processor executes the computer program instructions to further cause the computing device to migrate the first data part from the non-volatile memory to the hard disk or the magnetic disk when the first data part meets a migration condition.

12 . The computing device of claim 11 , wherein the migration condition comprises at least one of a time required for encrypting and decrypting the first data part exceeding a first threshold or a frequency of accessing the first data part being less than a second threshold.

13 . The computing device of claim 9 , wherein the processor executes the computer program instructions to further cause the computing device to:

receive a read request for reading the first data;

read the encrypted first data part from the non-volatile memory;

read the second data part from the hard disk or the magnetic disk;

decrypt the encrypted first data part to obtain the first data part; and

obtain the first data based on the first data part and the second data part.

14 . The computing device of claim 9 , wherein the processor executes the computer program instructions to further cause the computing device to:

index the encrypted first data part in the non-volatile memory using a first index structure; and

index the second data part in the hard disk or the magnetic disk using a second index structure, wherein the second index structure is different than the first index structure.

15 . A computer program product comprising computer-executable instructions stored on a non-transitory computer-readable storage medium, wherein when executed by a processor of a computing device, the computer-executable instructions cause the computing device to:

receive first data;

encrypt a first data part of the first data to obtain an encrypted first data part;

write the encrypted first data part into a non-volatile memory;

write a second data part of the first data into one of a hard disk or a magnetic disk; and

write first metadata of the first data part and second metadata of the second data part into the non-volatile memory, wherein the first metadata comprises a duration required for encrypting and decrypting the first data part and a quantity of times of accessing the first data part.

16 . The computer program product of claim 15 , wherein the processor is configured to further execute the computer-executable instructions to cause the computing device to encrypt the first data part in a trusted execution environment (TEE).

17 . The computer program product of claim 15 , wherein the processor is configured to further execute the computer-executable instructions to cause the computing device to migrate the first data part from the non-volatile memory to the hard disk or the magnetic disk when the first data part meets a migration condition.

18 . The computer program product of claim 17 , wherein the migration condition comprises at least one of a time required for encrypting and decrypting the first data part exceeding a first threshold or a frequency of accessing the first data part being less than a second threshold.

19 . The computer program product of claim 15 , wherein the processor is configured to further execute the computer-executable instructions to cause the computing device to:

receive a read request, wherein the read request is for reading the first data;

read the encrypted first data part from the non-volatile memory;

read the second data part from the hard disk or the magnetic disk;

decrypt the encrypted first data part to obtain the first data part; and

obtain the first data based on the first data part and the second data part.

20 . The computer program product of claim 15 , wherein the processor is configured to further execute the computer-executable instructions to cause the computing device to:

index the encrypted first data part in the non-volatile memory using a first index structure; and

index the second data part in the hard disk or the magnetic disk using a second index structure, wherein the second index structure is different than the first index structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2026
From: XU, HAN; HUANG, TAO; CHEN, DI; ZHAO, JIAWEI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 073514/0317 →
Priority Claims (1)
CN 202111092612.4 · Sep 17, 2021 · national
Continuity (2)
Continuation PCTCN2022118404 · Sep 13, 2022
Related Publication 20240211612A1 · Jun 27, 2024
References Cited (11)
US 10496315B1 · Niu · 2019 [cited by examiner]
US 11803650B1 · Hocanin · 2023 [cited by examiner]
US 20030231767A1 · Carbajal · 2003 [cited by applicant]
US 20070079381A1 · Hartung et al. · 2007 [cited by applicant]
US 20180276349A1 · Mine et al. · 2018 [cited by applicant]
US 20200348954A1 · Banerjee · 2020 [cited by examiner]
US 20220277088A1 · Kim · 2022 [cited by examiner]
CN 106658034A · 2017 [cited by applicant]
CN 110022558A · 2019 [cited by applicant]
Gibson Dan, “TechChannel Hot, Warm and Cold Data Find a Home With Storage Groups”, Sep. 30, 2012 (Sep. 30, 2012), XP055841113, total 6 pages. [cited by applicant]
Kim, Taehoon, et al. “Shieldstore: Shielded in-memory key-value storage with sgx”. Proceedings of the Fourteenth EuroSys Conference 2019. Mar. 25, 2019, total 15 pages. [cited by applicant]