Increasing data recoverability during central inode list loss

US10719401B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10719401-B2
Application numberUS-201816129429-A
CountryUS
Kind codeB2
Filing dateSep 12, 2018
Priority dateSep 12, 2018
Publication dateJul 21, 2020
Grant dateJul 21, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer-implemented method, according to one embodiment, includes: receiving a write request which includes data, and allocating an inode entry in a central inode list, such that the inode entry corresponds to the data received. The data is allocated to a block of storage space in memory. Moreover, one or more instructions to write the data to the block of storage space are sent. A determination is also made as to whether the data fills a threshold amount of a last block of storage space. In response to determining that the data does not fill the threshold amount of the last block of storage space, one or more instructions to create an identifier at an end of the data are sent. Furthermore, one or more instructions to store a copy of the inode entry after the identifier in the last block of storage space are sent.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: receiving a write request which includes data; allocating an inode entry in a central inode list, wherein the inode entry corresponds to the data; allocating the data to a block of storage space in memory, wherein the memory includes multiple blocks of storage space; sending one or more instructions to write the data to the block of storage space; determining whether the data fills a threshold amount of a last block of storage space; sending one or more instructions to create an identifier at an end of the data in response to determining that the data does not fill the threshold amount of the last block of storage space; and sending one or more instructions to store a copy of the inode entry after the identifier in the last block of storage space. 2. The computer-implemented method of claim 1 , wherein the copy of the inode entry includes less metadata than the inode entry. 3. The computer-implemented method of claim 1 , comprising: identifying an alternate last block of storage space which includes a sufficient amount of unused storage in response to determining that the data fills the threshold amount of the last block of storage space; sending one or more instructions to store the copy of the inode entry after an identifier in the alternate last block of storage space; and sending one or more instructions to store a timestamp which corresponds to the copy of the inode entry. 4. The computer-implemented method of claim 1 , comprising: determining whether the data has a high priority associated therewith; identifying an alternate last block of storage space which includes a sufficient amount of unused storage in response to determining that the data has a high priority associated therewith; sending one or more instructions to store a second copy of the inode entry after an identifier in the alternate last block of storage space; and sending one or more instructions to store a timestamp which corresponds to the second copy of the inode entry. 5. The computer-implemented method of claim 1 , comprising: monitoring a frequency at which the data is updated; and determining whether to update the copy of the inode entry based on the frequency at which the data is updated. 6. The computer-implemented method of claim 1 , comprising: detecting a disaster situation in which the central inode list is inaccessible; scanning information stored in each of the multiple blocks of storage space; detecting each identifier included in the information; using each of the detected identifiers to locate a corresponding copy of an inode entry; using each of the located inode entry copies to locate data which corresponds thereto; and copying the located data to a second memory. 7. The computer-implemented method of claim 6 , comprising: determining whether two or more of the located inode entry copies have a timestamp corresponding thereto; and using the timestamps to deduplicate copies of a same inode entry in response to determining that two or more of the located inode entry copies have a timestamp corresponding thereto. 8. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable and/or executable by a processor to cause the processor to perform a method comprising: receiving, by the processor, a write request which includes data; allocating, by the processor, an inode entry in a central inode list, wherein the inode entry corresponds to the data; allocating, by the processor, the data to a block of storage space in memory, wherein the memory includes multiple blocks of storage space; sending, by the processor, one or more instructions to write the data to the block of storage space; determining, by the processor, whether the data fills a threshold amount of a last block of storage space; sending, by the processor, one or more instructions to create an identifier at an end of the data in response to determining that the data does not fill the threshold amount of the last block of storage space; and sending, by the processor, one or more instructions to store a copy of the inode entry after the identifier in the last block of storage space. 9. The computer program product of claim 8 , wherein the copy of the inode entry includes less metadata than the inode entry. 10. The computer program product of claim 8 , the program instructions readable and/or executable by the processor to cause the processor to perform the method comprising: identifying, by the processor, an alternate last block of storage space which includes a sufficient amount of unused storage in response to determining that the data fills the threshold amount of the last block of storage space; sending, by the processor, one or more instructions to store the copy of the inode entry after an identifier in the alternate last block of storage space; and sending, by the processor, one or more instructions to store a timestamp which corresponds to the copy of the inode entry. 11. The computer program product of claim 8 , the program instructions readable and/or executable by the processor to cause the processor to perform the method comprising: determining, by the processor, whether the data has a high priority associated therewith; identifying, by the processor, an alternate last block of storage space which includes a sufficient amount of unused storage in response to determining that the data has a high priority associated therewith; sending, by the processor, one or more instructions to store a second copy of the inode entry after an identifier in the alternate last block of storage space; and sending, by the processor, one or more instructions to store a timestamp which corresponds to the second copy of the inode entry. 12. The computer program product of claim 8 , the program instructions readable and/or executable by the processor to cause the processor to perform the method comprising: monitoring, by the processor, a frequency at which the data is updated; and determining, by the processor, whether to update the copy of the inode entry based on the frequency at which the data is updated. 13. The computer program product of claim 8 , the program instructions readable and/or executable by the processor to cause the processor to perform the method comprising: detecting, by the processor, a disaster situation in which the central inode list is inaccessible; scanning, by the processor, information stored in each of the multiple blocks of storage space; detecting, by the processor, each identifier included in the information; using, by the processor, each of the detected identifiers to locate a corresponding copy of an inode entry; using, by the processor, each of the located inode entry copies to locate data which corresponds thereto; and copying, by the processor, the located data to a second memory. 14. The computer program product of claim 13 , the program instructions readable and/or executable by the processor to cause the processor to perform the method comprising: determining, by the processor, whether two or more of the located inode entry copies have a timestamp corresponding thereto; and using, by the processor, the timestamps to deduplicate copies of a same inode entry in response to determining that two or more of the located inode entry copies have a timestamp corresponding thereto. 15. A system, comprising: a processor; and logic integrated with th

Assignees

Inventors

Classifications

  • Details of free space management performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064) · CPC title

  • De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641) · CPC title

  • Timestamp · CPC title

  • using file system or storage system metadata · CPC title

  • Threshold · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10719401B2 cover?
A computer-implemented method, according to one embodiment, includes: receiving a write request which includes data, and allocating an inode entry in a central inode list, such that the inode entry corresponds to the data received. The data is allocated to a block of storage space in memory. Moreover, one or more instructions to write the data to the block of storage space are sent. A determina…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/1435. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 21 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).