Multi-granular data reduction for remote data replication
US-2019324674-A1 · Oct 24, 2019 · US
US10789062B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10789062-B1 |
| Application number | US-201916388143-A |
| Country | US |
| Kind code | B1 |
| Filing date | Apr 18, 2019 |
| Priority date | Apr 18, 2019 |
| Publication date | Sep 29, 2020 |
| Grant date | Sep 29, 2020 |
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.
A method for updating firmware includes receiving a firmware update package having a firmware image, and deduplicating the firmware image. The deduplicating may include dividing the firmware image into data blocks and determining a pattern in the data blocks. The method generates a global data deduplication table including an index array associated with the data patterns, and updates the firmware with the deduplicated firmware image. The method invokes an initialization procedure that includes execution of the updated firmware, and restores the updated firmware based on the global data deduplication table prior to the execution.
Opening claim text (preview).
What is claimed is: 1. A method for updating firmware, the method comprising: receiving a firmware update package at an information handling system, the firmware update package including a firmware image; deduplicating the firmware image, wherein the deduplicating includes: dividing the firmware image into a plurality of firmware volumes; dividing at least one of the firmware volumes into a plurality of data blocks, determining one or more data patterns in each one of the data blocks; dividing the each one of the data blocks into one or more sub-blocks based on the one or more data patterns; determining whether the one or more sub-blocks include non-repeated data; removing the one or more data patterns in the one or more sub-blocks except for the non-repeated data; and subsequent to the removing of the one or more data patterns, consolidating the non-repeated data into a contiguous space and determining an offset associated with the non-repeated data based on the contiguous space; generating an encrypted global data deduplication table that includes a hash signature of the one or more data patterns and an index array associated with the one or more of the data patterns, wherein the index array includes a location of the one or more data patterns and the offset of the non-repeated data; updating the firmware at the information handling system with the deduplicated firmware image; invoking an initialization procedure at the information handling system, wherein the initialization procedure includes execution of the updated firmware; and restoring the updated firmware based on the encrypted global data deduplication table prior to the execution. 2. The method of claim 1 , wherein the one or more data patterns include a uniformly repeated data pattern, a uniquely repeated data pattern, and a non-unique data pattern. 3. The method of claim 1 , wherein the index array associated with the one or more data patterns include a plurality of offsets associated with the one or more data patterns. 4. The method of claim 1 , wherein the offset is associated with a size of the non-repeated data. 5. The method of claim 1 , wherein the location of the one or more data patterns includes a range of offsets. 6. The method of claim 1 , further comprising calculating a first hash signature for a first data block. 7. The method of claim 6 , further comprising comparing the first hash signature of the first data block to a second hash signature of a second data block to determine differences between the first data block and the second data block. 8. The method of claim 7 , wherein the encrypted global data deduplication table includes the first hash signature and the second hash signature. 9. The method of claim 1 , further comprising flashing the encrypted global data deduplication table at a flash memory device of the information handling system. 10. The method of claim 1 , further comprising securing access to the encrypted global data deduplication table with a cryptographic key. 11. The method of claim 1 , wherein the restoring the updated firmware includes restoring the firmware volumes. 12. The method of claim 11 , wherein restoring the firmware volumes includes restoring the one or more data patterns within the data blocks based on the encrypted global data deduplication table. 13. A method for updating firmware, the method comprising: generating a firmware update package, the firmware update package including a firmware image; transmitting the generated firmware update package to an information handling system; deduplicating the firmware image, wherein the deduplicating includes: dividing the firmware image into a plurality of firmware volumes; dividing at least one of the firmware volumes into a plurality of data blocks; determining one or more data patterns in at least one of the data blocks; dividing the at least one of the data blocks into one or more sub-blocks based on the one or more data patterns; determining whether the one or more sub-blocks includes non-repeated data; removing the one or more data patterns in the one or more sub-blocks from the data blocks except the non-repeated data; and subsequent to the removing of the one or more data patterns, consolidating the non-repeated data into a contiguous space and determining an offset associated with the non-repeated data based on the contiguous space; generating an encrypted global data deduplication table that includes an index array associated with the one or more data patterns, wherein the index array identifies a location of the one or more data patterns and the offset associated with the non-repeated data; and updating the firmware with the deduplicated firmware image. 14. The method of claim 13 , further comprising, storing the encrypted global data deduplication table at a header of an SPI flash memory device of the information handling system. 15. The method of claim 13 , further comprising: invoking an initialization procedure at the information handling system, wherein the initialization procedure includes execution of the updated firmware; and restoring the updated firmware based on the encrypted global data deduplication table prior to the execution. 16. An information handling system (IHS) comprising: a central processing unit (CPU); a serial peripheral interface (SPI) flash memory device; and a system memory device to store program instructions executable by the CPU to: receive a firmware update package at the IHS, the firmware update package including a firmware image; deduplicate the firmware image that further includes the program instructions executable by the CPU to: divide the firmware image into a plurality of firmware volumes; divide at least one of the firmware volumes into a plurality of data blocks; determine one or more data patterns in the data blocks; divide the data blocks into one or more sub-blocks based on the one or more data patterns; determine whether the one or more sub-blocks include non-repeated data; remove the data patterns in the one or more sub-blocks except the non-repeated data; consolidate the non-repeated data into a contiguous space; and determine an offset associated with the non-repeated data based on the contiguous space; generate an encrypted global data deduplication table, wherein the encrypted global data deduplication table includes hash signature of the one or more data patterns and an index array associated with the one or more data patterns, wherein the index array identifies a location of the one or more data patterns and the offset associated with the non-repeated data; and flash the SPI flash memory device with the deduplicated firmware image. 17. The information handling system of claim 16 , wherein the location includes a range of offsets. 18. The information handling system of claim 16 , the program instructions further executable by the CPU to store the encrypted global data deduplication table at the SPI flash memory device. 19. The information handling system of claim 16 , the program instructions further executable by the CPU to restore the deduplicated firmware image during an initialization of the IHS. 20. The information handling system of claim 19 , the program instructions further executable by the CPU to store the restored firmware image in a system memory of the IHS prior to execution.
using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title
Image based installation; Cloning; Build to order · CPC title
De-duplication techniques · CPC title
Saving storage space on storage systems · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.