Tenant-level database recovery
US-2024281344-A1 · Aug 22, 2024 · US
US9767117B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9767117-B2 |
| Application number | US-201313896186-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 16, 2013 |
| Priority date | Oct 26, 2004 |
| Publication date | Sep 19, 2017 |
| Grant date | Sep 19, 2017 |
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.
The present invention is directed to a method and system for efficient write journal entry management maintaining minimum write journal information stored in a nonvolatile memory through utilizing an additional structure in a fast volatile memory. The method and system may manage write journaling of a file volume including multiple fixed sized regions and assign a persistent 1-bit synchronization status (the write journal information) to each data region. In addition, a non-persistent I/O counter (the additional structure) for each region to manage the persistent 1-bit synchronization status during run-time. The present invention may provide a mechanism to determine when write I/O operations have not successfully completed to a specific region of the file volume.
Opening claim text (preview).
What is claimed is: 1. A method for efficient write journal entry management for a distributed file system, comprising: receiving a virtual write I/O command issued from a host; retrieving an I/O counter associated with a data region, wherein the I/O counter indicates an amount of outstanding host write operations for the data region, and wherein the I/O counter is included in an array of I/O counters; utilizing the I/O counter to manage a corresponding bit from a Sync State, the Sync State having a plurality of bits, each of the plurality of bits represent a sync status of a corresponding data region; and writing data via write I/O, wherein the I/O counter is stored in a first memory unit and the Sync State is stored in a second memory unit. 2. The method of claim 1 , the utilizing of the I/O counter further comprising: in case of the start of write I/O, checking whether the I/O counter associated with the data region is zero; if the I/O counter associated with the data region is zero, setting the corresponding bit from the Sync State to “0” indicating that the data region is no longer synchronized; and if the I/O counter associated with the data region is not zero, incrementing the I/O counter by one. 3. The method of claim 1 , the utilizing of the I/O counter further comprising: determining whether write I/O for the data region has been completed; in case of the completion of write I/O, decrementing the I/O counter associated with the data region by one, and determining whether the I/O counter associated with the data region is zero after I/O counter is decremented; and if the I/O counter associated with the data region is zero, setting the corresponding bit from the Sync State to “1” indicating there is no outstanding I/O operation to the data region. 4. The method of claim 1 , wherein the data region is one of a plurality of data regions in which a virtual file volume is divided. 5. The method of claim 4 , wherein the virtual file volume is utilized in a file recovery system. 6. The method of claim 4 , wherein each of the plurality of data regions has two possible states including “synchronized” and “not synchronized”. 7. The method of claim 4 , wherein the array of I/O counters is stored in a volatile memory unit. 8. The method of claim 4 , wherein each of the plurality of data regions is associated with a bit of the Sync State representing previous state. 9. The method of claim 1 , wherein the Sync State is utilized for a file system recovery of system interruptions. 10. A computing device comprising: a memory; and at least one processor coupled to the memory, the at least one processor to: maintain an array of I/O counters in a first memory unit, wherein each I/O counter included in the array of I/O counters indicates an amount of outstanding host write operations for a corresponding data region within a plurality of data regions; maintain a plurality of sync state bits in a second memory unit, each of the plurality of sync state bits representing a sync status of a corresponding data region within the plurality of date regions; and change a sync state bit for a particular data region to show a synchronized status for the particular data region in response to decrementing a particular one of the I/O counters to zero outstanding I/O operations for the particular data region. 11. The computing device of claim 10 , wherein the array of I/O counters are implemented in volatile memory. 12. The computing device of claim 10 , wherein the sync state bits are stored in non-volatile memory. 13. The computing device of claim 10 , the processor further to: synchronize a file volume, the file volume comprising the plurality of data regions, to recover from a system interruption. 14. The computing device of claim 10 , the processor further to: receive a virtual I/O command from a host computer, wherein the I/O command is to be written to the particular data region; retrieve the particular one of the I/O counters in response to receiving the virtual I/O command; set the sync state bit for the particular data region to a value indicating that the particular data region is no longer synchronized in response to receiving the virtual I/O command and in response to determining that the particular one of the I/O counters shows zero outstanding I/O operations; and increment by one the particular one of the I/O counters in response to determining that the particular one of the I/O counters shows a non-zero number of outstanding I/O operations. 15. A system for efficient write journal entry management of an array of storage devices suitable for being accessed by a plurality of host computers over a network, the system comprising: a processor to receive a command to access a virtual file volume, wherein the virtual file volume includes a plurality of data regions; a first memory unit coupled to the processor, the first memory unit including an array of I/O counters, wherein each I/O counter included in the array of I/O counters indicates an amount of outstanding host write operations for a corresponding data region included in the plurality of data regions; a second memory unit coupled to the processor, the second memory unit including a plurality of sync state bits, each of the plurality of sync state bits representing a sync status of a corresponding data region; and the processor further to update the plurality of sync state bits for write journaling, and change a sync state bit for a particular data region to show a synchronized status for the particular data region in response to decrementing a particular one of the I/O counters to zero outstanding host write operations for the particular data region. 16. The system of claim 15 , wherein the processor is communicatively coupled to a storage controller that controls the virtual file volume. 17. The system of claim 15 , wherein the processor is communicatively coupled to a host computer, wherein the command is received from the host computer. 18. The system of claim 15 , wherein the first memory unit comprises a volatile memory unit. 19. The system of claim 15 , wherein the second memory unit comprises a non-volatile memory unit. 20. The system of claim 15 , wherein the processor is further to: receive a virtual I/O command from a host computer, wherein the I/O command is to be written to the particular data region; retrieve the particular one of the I/O counters in response to receiving the virtual I/O command; set the sync state bit for the particular data region to a value indicating that the particular data region is no longer synchronized in response to receiving the virtual I/O command and in response to determining that the particular one of the I/O counters shows zero outstanding I/O operations; and increment by one the particular one of the I/O counters in response to determining that the particular one of the I/O counters shows a non-zero number of outstanding I/O operations.
Journaling file systems · CPC title
Distributed file systems · CPC title
Physics · mapped topic
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.