IP Library Granted Patent US 12,430,218
Granted Patent B2
US 12,430,218 · App. 18/386,666 · Granted Sep 30, 2025

Metadata simulation

Inventors: Kanuri Venkata Satyanarayana Swami (Bangalore, IN); Steve Lathrop (Milford, MA); Anoop Raghunathan (Ashland, MA)
Assignee: Dell Products L.P.
G06F11/2273G06F11/2221
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,430,218
App. No.
18/386,666
Granted
Sep 30, 2025
Kind
B2
Abstract

One or more aspects of the present disclosure relate to simulating an input/output (IO) workload. In embodiments, information corresponding to one or more characteristics of an input/output (IO) workload is received. In addition, metadata corresponding to the IO workload is generated using the information. Further, testing of a storage array can be enabled using the metadata.

Claims (60)

1. A method comprising:

receiving, by a controller of a storage array including a processor and memory, information corresponding to one or more characteristics of an input/output (IO) workload through a configured interface, wherein the characteristics include at least one of: quantity of thin devices (TDEVs), TDEV utilization, data type allocation, and compression states;

generating, by a virtual provisioner of the controller, metadata corresponding to the IO workload by:

analyzing the received information to generate track identifier (TID) tables and virtual provisioner pointers corresponding to front-end to back-end linkages between logical tracks of TDEVs and physical tracks of storage devices, and

storing the generated TID tables and virtual provisioner pointers in the memory; and

enabling testing of a storage array using the generated metadata without generating actual IO workloads, wherein the testing improves an efficiency of storage array validation by eliminating a need to process actual IO workloads.

2. The method of claim 1 , wherein establishing the interface further comprises:

configuring, by the controller, a schema-based interface structure for receiving the workload information.

3. The method of claim 2 , wherein configuring the interface further includes:

defining, in the schema, specific data fields for receiving the one or more characteristics of the IO workload including the quantity of TDEVs, TDEV utilization, data type allocation, and compression states.

4. The method of claim 1 , further comprising:

analyzing, by the virtual provisioner, the information to determine a quantity of thin devices (TDEVs) targeted by the IO workload; and

generating TID tables corresponding to the determined TDEVs.

5. The method of claim 4 , further comprising:

determining, by the virtual provisioner, a utilization metric for each TDEV based on the information; and

storing each utilization metric with the TID tables in the memory.

6. The method of claim 5 , further comprising:

identifying specific data type allocations for each TDEV based on the information;

determining compression states for the identified data types; and

storing the data type allocations and compression states with the TID tables.

7. The method of claim 6 , wherein the data types include one or more of: standard (STD) data stored in logical tracks of the TDEVs and deduplicated (DD) data stored according to the virtual provisioner pointers.

8. The method of claim 7 , further comprising:

determining, by the virtual provisioner, track allocations for each metadata page by:

generating TID tables mapping the logical tracks to physical tracks of the storage devices, and

storing the track allocations with the corresponding metadata pages in the memory.

9. The method of claim 8 , further comprising:

calculating compression and deduplication ratios for the workload data; and

storing the calculated ratios with the metadata to enable simulation of data reduction operations.

10. The method of claim 1 , further comprising:

performing metadata recovery testing of the storage array using the generated metadata without processing actual IO workloads, thereby improving testing efficiency.

11. An apparatus with a memory and processor, the apparatus configured to:

receive, by a controller of a storage array including a processor and memory, information corresponding to one or more characteristics of an input/output (IO) workload through a configured interface, wherein the characteristics include at least one of: quantity of thin devices (TDEVs), TDEV utilization, data type allocation, and compression states;

generate, by a virtual provisioner of the controller, metadata corresponding to the IO workload by:

analyzing the received information to generate track identifier (TID) tables and virtual provisioner pointers corresponding to front-end to back-end linkages between logical tracks of TDEVs and physical tracks of storage devices, and

storing the generated TID tables and virtual provisioner pointers in the memory; and

enable testing of a storage array using the generated metadata without generating actual IO workloads, wherein the testing improves an efficiency of storage array validation by eliminating a need to process actual IO workloads.

12. The apparatus of claim 11 , wherein establishing the interface further comprises:

configure, by the controller, a schema-based interface structure for receiving the workload information.

13. The apparatus of claim 12 , wherein configuring the interface further includes:

defining, in the schema, specific data fields for receiving the one or more characteristics of the IO workload including the quantity of TDEVs, TDEV utilization, data type allocation, and compression states.

14. The apparatus of claim 11 , further configured to:

analyze, by the virtual provisioner, the information to determine a quantity of thin devices (TDEVs) targeted by the IO workload; and

generate TID tables corresponding to the determined TDEVs.

15. The apparatus of claim 14 , further configured to:

determine, by the virtual provisioner, a utilization metric for each TDEV based on the information; and

store each utilization metric with the TID tables in the memory.

16. The apparatus of claim 15 , further configured to:

identify specific data type allocations for each TDEV based on the information;

determining compression states for the identified data types; and

store the data type allocations and compression states with the TID tables.

17. The apparatus of claim 16 , wherein the data types include one or more of: standard (STD) data stored in logical tracks of the TDEVs and deduplicated (DD) data stored according to the virtual provisioner pointers.

18. The apparatus of claim 17 , further configured to:

determine, by the virtual provisioner, track allocations for each metadata page by:

generating TID tables mapping the logical tracks to physical tracks of the storage devices, and

storing the track allocations with the corresponding metadata pages in the memory.

19. The apparatus of claim 18 , further configured to:

calculate compression and deduplication ratios for the workload data; and

store the calculated ratios with the metadata to enable simulation of data reduction operations.

20. The apparatus of claim 11 , further configured to:

perform metadata recovery testing of the storage array using the generated metadata without processing actual IO workloads, thereby improving testing efficiency.

Continuity (1)
Related Publication 20250147853A1 · May 8, 2025
References Cited (13)
US 8239584B1 · Rabe · 2012 [cited by examiner]
US 10346064B1 · O'Hare · 2019 [cited by examiner]
US 11144396B1 · Hua · 2021 [cited by examiner]
US 11256447B1 · Pang · 2022 [cited by examiner]
US 11748241B2 · Martin · 2023 [cited by examiner]
US 11853174B1 · Farrell · 2023 [cited by examiner]
US 20210365379A1 · Creed · 2021 [cited by examiner]
US 20210373780A1 · Ferrari · 2021 [cited by examiner]
US 20220229768A1 · Martin · 2022 [cited by examiner]
US 20230138462A1 · Mertes · 2023 [cited by examiner]
US 20230259429A1 · Doddaiah · 2023 [cited by examiner]
US 20240020208A1 · Farrell · 2024 [cited by examiner]
US 20240119029A1 · Zhang · 2024 [cited by examiner]