File system metadata decoding for optimizing flash translation layer operations
US-2020110537-A1 · Apr 9, 2020 · US
US11620068B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11620068-B2 |
| Application number | US-202117142557-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 6, 2021 |
| Priority date | Jan 6, 2021 |
| Publication date | Apr 4, 2023 |
| Grant date | Apr 4, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for performing data transfers may include determining a first page of user data to be transferred from a source data storage system to a target data storage system, wherein the source data storage system has a source page size granularity denoting a first size of backend I/O operations on the source data storage system, wherein the target data storage system has a target page size granularity denoting a second size of backend I/O operations on the target data storage system; performing processing on the source data storage system that constructs a second page of user data that is the second size, wherein the second page of user data includes the first page of user data that is the first size and another page of user data that is the first size; and transferring the second page of user data from the source to the target data storage system.
Opening claim text (preview).
What is claimed is: 1. A method of performing data transfers comprising: receiving, at a source data storage system, a client write I/O operation from a host, wherein the client write I/O operation writes new user data to a first page of user data stored at a first logical address of a logical device, wherein the client write I/O operation modifies existing user data, as stored at the first logical address of the logical device prior to the client write I/O operation, by storing the new user data to the first logical address of the logical device; responsive to the first client write I/O operation from the host, determining that the first page of user data including the new user data is to be transferred from the source data storage system to a target data storage system, wherein the source data storage system is a first data storage array and the target data storage system is a second data storage array, wherein the source data storage system and the target data storage system are separate physical data storage arrays connected by a network, wherein the source data storage system includes first backend non-volatile storage devices for storing user data and metadata, and wherein the target data storage system includes second backend non-volatile storage devices for storing user data and metadata, wherein the source data storage system has a source page size granularity denoting a first size of backend I/O operations on the source data storage system that read and write user data and metadata stored on the first backend non-volatile storage devices of the source data storage system, wherein the target data storage system has a target page size granularity that is different from the source page size granularity and denotes a second size of backend I/O operations on the target data storage system that read and write user data and metadata stored on the second backend non-volatile storage devices of the target data storage system, wherein the first page of user data is the first size and the first page of user data is stored at the first logical address of the logical device having physical storage provisioned from at least one of the first backend non-volatile storage devices of the source data storage system; performing first processing on the source data storage system that constructs a second page of user data to be transferred from the source data storage system to the target data storage, wherein the second page of user data is the second size, wherein the second page of user data includes modified user data and unmodified user data, and wherein the modified user data of the second page of user data includes the first page of user data comprising the new user data written by the client write I/O operation, and wherein the unmodified user data of the second page includes an additional page of user data that is the first size; and transferring the second page of user data comprising the modified user data and the unmodified user data from the source data storage system to the target data storage system. 2. The method of claim 1 , further comprising: receiving the second page of user data at the target data storage system; and performing a single backend write operation on the target data storage system, wherein the single backend write operation writes the second page of user data on a first backend non-volatile storage device of the second backend non-volatile storage devices of the target data storage system, wherein the first page of user data and the additional page of user data are stored at consecutive locations on the first backend non-volatile storage device of the target data storage system. 3. The method of claim 2 , further comprising: storing the second page of user data as a first record in a log file of the target data storage system; and flushing the first record from the log file of the target data storage system, wherein said flushing the first record includes performing the single backend write operation on the target data storage system that writes the second page of user data on the first backend non-volatile storage device of the target data storage system. 4. The method of claim 3 , wherein the first page of user data and the additional page of user data are stored at sequential consecutive logical addresses of the logical device. 5. The method of claim 1 , wherein the source data storage system uses only non-volatile solid state drives (SSDs) as the first backend non-volatile storage devices of the source data storage system. 6. The method of claim 5 , wherein the non-volatile SSDs include flash-based storage devices. 7. The method of claim 5 , wherein the second backend non-volatile storage devices of the target data storage system include non-volatile SSDs and rotating disk drives. 8. The method of claim 7 , wherein the source data storage system uses first metadata to map user data pages stored at logical addresses of one or more logical devices to corresponding physical storage locations on the first backend non-volatile storage devices of the source data storage system, wherein the target data storage system uses second metadata to map user data pages stored at logical addresses of one or more logical devices to corresponding physical storage locations on the second backend non-volatile storage devices of the target data storage system, wherein the source data storage system stores user data pages and the first metadata on non-volatile SSDs of the first backend non-volatile storage devices, and wherein the target data storage system stores the second metadata on non-volatile SSDs of the second backend non-volatile storage devices and at least some of user data pages on rotating disk drives of the second backend non-volatile storage devices. 9. The method of claim 1 , wherein the second page of user data is transferred from the source data storage system to the target data storage system in connection with replicating data of the logical device from the source data storage system to the target data storage system. 10. The method of claim 9 , further comprising: taking a first snapshot of the logical device on the first data storage system at a first point in time; taking a second snapshot of the logical device on the first data storage system at a second point in time; and determining the first page of user data as a data difference between the first snapshot and the second snapshot. 11. The method of claim 10 , wherein prior to determining the first page of user data, prior to performing the first processing and prior to transferring the second page of user data, the method includes establishing a replication session comprising: sending the target page size granularity from the target data storage system to the source data storage system. 12. The method of claim 1 , wherein the second page of user data is transferred from the source data storage system to the target data storage system in connection with migrating data of the logical device from the source data storage system to the target data storage system. 13. The method of claim 1 , wherein the backend I/O operations of the source data storage system include read operations that each read an amount of data equal to the source page size granularity from one of the first backend non-volatile storage devices of the source data storage system, and wherein the backend I/O operations of the source data storage system include write operations that each write an amount of data equal to the source page size granularity to one of the first backend non-volatile storage devices of the source data storage system. 14. The method of claim 1 , wherein the backend I/O oper
Improving or facilitating administration, e.g. storage management · CPC title
Replication mechanisms · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Format or protocol conversion arrangements · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.