BACKGROUND

Computing devices may include any number of internal components such as processors, memory, and persistent storage. Each of the internal components of a computing device may be used to generate data. The process of generating, storing, and backing-up data may utilize computing resources of the computing devices such as processing and storage. The utilization of the aforementioned computing resources to generate and store data may impact the overall performance of the computing resources.

SUMMARY

In general, in one aspect, the invention relates to a method for managing data. The method includes obtaining, by a first storage controller, a write request associated with an object from a host, applying an erasure coding procedure to data associated with the write request to obtain a plurality of data chunks and at least one parity chunk, wherein object comprises the data, deduplicating the plurality of data chunks to obtain a plurality of deduplicated data chunks, generating storage metadata associated with the plurality of data chunks and the at least one parity chunk, generating an object entry associated with the plurality of data chunks, storing, across a first plurality of persistent storage devices, the plurality of deduplicated data chunks and the at least one parity chunk, and storing, via a continuous data protection (CDP) interceptor executing on the first storage controller, in at least one of a second plurality of persistent storage devices the object entry.

In general, in one aspect, the invention relates to a non-transitory computer readable medium that includes computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing data. The method includes obtaining, by a first storage controller, a write request associated with an object from a host, applying an erasure coding procedure to data associated with the write request to obtain a plurality of data chunks and at least one parity chunk, wherein object comprises the data, deduplicating the plurality of data chunks to obtain a plurality of deduplicated data chunks, generating storage metadata associated with the plurality of data chunks and the at least one parity chunk, generating an object entry associated with the plurality of data chunks, storing, across a first plurality of persistent storage devices, the plurality of deduplicated data chunks and the at least one parity chunk, and storing, via a continuous data protection (CDP) interceptor executing on the first storage controller, in at least one of a second plurality of persistent storage devices the object entry.

In general, in one aspect, the invention relates to a data cluster that includes a first storage controller, a continuous data protection (CDP) interceptor executing on the first storage controller, a second storage controller, a first plurality of persistent storage devices, and a second plurality of persistent storage devices, wherein the first storage controller is programmed to: obtain a write request associated with an object from a host, apply an erasure coding procedure to data associated with the write request to obtain a plurality of data chunks and at least one parity chunk, wherein object comprises the data, deduplicate the plurality of data chunks to obtain a plurality of deduplicated data chunks, generate storage metadata associated with the plurality of data chunks and the at least one parity chunk, generate an object entry associated with the plurality of data chunks, store, across the first plurality of persistent storage devices, the plurality of deduplicated data chunks and the at least one parity chunk, and store, via the CDP interceptor, the object entry in at least one of the second plurality of persistent storage devices.

