DETAILED ACTION
This office action is in response to applicant’s remarks filed on December 31, 2025 in application 18/583,253.
Claims 1, 3-11 are presented for examination. Claim 2 is cancelled. Claims 1, 3-11 are amended.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant's arguments filed December 31, 2025 have been fully considered but they are not persuasive.
Applicant stated that Varadan does not disclosed and relied in Kang to teach the features of implementing on a low flash memory formatted in Unsorted Block Image File System (UBIFS) and receiving a UBI volume from the low flash memory. Based on what is discussed, removing a deleted chunk in Varadan is not substantial removing the chunk but just marking the chunk for deletion such that the chunk is no longer accessible. Therefore, applicant concluded that Varadan in view of Kang fails to teach the newly amended limitation “wherein the receiving a UBI volume includes any one or more among: determining whether the low flash memory exists in the apparatus; collecting, when a low flash memory exists as a result of the determination, memory data from the low flash memory; removing a spare area in the collected memory data; identifying a file system area by analyzing partition information of the memory data from which the spare area is removed; configuring the UBI volume by grasping a physical structure of the identified file system area; and receiving the configured UBI volume,” as claimed.
Examiner disagreed. The claimed language, includes language which states any one or more among the listed limitation. Although the removing a spare area is included among one of the listed items, satisfying any one limitation from the list would read on the claimed limitations.
For the purpose of examination, examiner suggest claiming the essential steps of applicant’s invention instead of provide a list of steps, where any one or more among the steps would satisfy.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 4-5, 7-11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Varadan (US 2023/0333939) in further view of Kang et al. (US 2012/0096333).
In regard to claim 1, Varadan teaches a method of recovering deleted data by an apparatus including a processor and a memory, the method comprising:
receiving a volume configured by collecting memory data (the deleted chunk is still stored in the storage system, where the metadata ca be part of a B-tree index and the chunk is still available to perform the recovery operation, para. 23); and
determining a node type by searching for a node header in all areas of the input volume (updating in response to a deletion of a first chunk, a first chunk entry for the first chunk to include a creation epoch identifier and a deletion epoch identifier for the first chunk, 117-123) it is noted that deleted chunk should not be removed from the storage system if the chunks are referred to by any snapshot, thus a recovery operation can be performed on the deleted chunks, para. 22-23), and recovering deleted data through a structural analysis performed on each determined node type (a recovery operation is performed using a snapshot that refers to a deleted chunk, the chunk is still available to perform the recovery operation, para. 22-24),
wherein the determined node type is either a directory node or a data node, which are leaf nodes according to a B+ tree structure (the shared storage pool can also store a B-tree index that contains mapping metadata for chunks of the objects … the B-tree index has leaf nodes that contain chunk entries and root node at the top of the hierarchy containing pointers to child nodes of the root nodes, para. 35-40),
****
wherein the operation of receiving a UBI volume includes any one or more among:
determining whether the low flash memory exists in the apparatus;
collecting, when a low flash memory exists as a result of the determination, memory data from the low flash memory (already taught in step (a) of claim 1)( (a) a first step of receiving a volume configured by collecting memory data (the deleted chunk is still stored in the storage system, where the metadata ca be part of a B-tree index and the chunk is still available to perform the recovery operation, para. 23);
removing a spare area in the collected memory data (removing a deleted chunk refers to freeing the storage location occupied by the chunk, para. 23);
identifying a file system area by analyzing partition information of the memory data from which the spare area is removed;
configuring the UBI volume by grasping a physical structure of the identified file system area; and
receiving the configured UBI volume.
****
Varadan does not explicitly teach but Kang et al. teach implementing on a low flash memory formatted in Unsorted Block Image File System (UBIFS) and receiving a UBI volume from the low flash memory (for the unsorted block images (UBI)/UBI file system (UBIFS) NAND flash file system, a volume ID (VID) header and an erase counter (EC) header have to be read during a mount process … the UBI/UBIFS NAND flash file system remarkably reduces the amount of data to be read, thereby improving the mount speed, para. 52-62).
It would have been obvious to modify the method of Varadan by adding Kang et al. NAND flash memory. A person of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to make the modification because it would aid in reducing the amount of data to be read (para. 62).
In regard to claim 4, Varadan does not explicitly teach but Kang et al. teach the method according to claim 1, wherein the configuring the UBI volume includes any one or more among:
identifying one or more Physical Erase Blocks (PEBS) on a Memory Technology Device (MTD) area from the physical structure of the identified file system area;
moving as much as an offset of a Version Identifier (VID) header in an EC header included in each of the one or more identified PEBs;
determining, when a VID header exists as a result of the moving, a Logical Erase Block (LEB) number recorded in the VID header, and mapping the LEB number to the PEB (for the unsorted block images (UBI)/UBI file system (UBIFS) NAND flash file system, a volume ID (VID) header and an erase counter (EC) header have to be read during a mount process … the UBI/UBIFS NAND flash file system remarkably reduces the amount of data to be read, thereby improving the mount speed, para. 52-62); and
configuring the UBI volume by arranging LEBs mapped to the PEBs.
Refer to claim 1 for motivational statement.
In regard to claim 5, Varadan teaches the method according to claim 1, wherein the determining a node type includes any one or more among:
searching for a node header in all areas of the input UBI volume;
determining a node type through a structural analysis of the searched node header, and acquiring a file name and actual data of the deleted data (a recovery operation is performed using a snapshot that refers to a deleted chunk, the chunk is still available to perform the recovery operation, para. 22-24);
determining whether all node headers are searched in all areas of the input UBI volume; and
analyzing a relationship between nodes of the deleted data and recovering the deleted data when all node headers are searched as a result of the determination.
In regard to claim 7, Varadan teaches the method according to claim 5, wherein when the node type determined as a directory node, the determining a node type includes any one or more among:
determining whether an Inum value in the directory node is 0;
determining the node type, when the Inum value is 0 as a result of the determination, as the directory node of the deleted data, and acquiring a file name of the deleted data from the directory node; and
inferring an Inum value of the directory node before the data is deleted through a node key value of an i-node of the same data connected immediately after the directory node of the deleted data (B-tree index contains mapping metadata for chunks of the objects in the object store. The B-tree index has leaf nodes that contain chunk entries, B-tree index has a root node at the top of the hierarchy of the tree that contains pointers to child nodes of the root node, para. 35-36. Chunks entry in the B-tree index can be a tombstone entry associated with a chunk that has been deleted, para. 38-39, key-value pair, para. 14).
In regard to claim 8, Varadan teaches the method according to claim 5, wherein when the node type is determined as a data node, the determining a node type includes any one or more among:
identifying a node key value of the data node (storage location in the Chunk_ID, para. 73-81);
identifying a length of the deleted data stored in the data node (Deletion_epoch, para. 73-81); and
acquiring deleted actual data by extracting data as much as the identified length of data from a starting point of the data.
In regard to claim 9, Varadan teaches the method according to claim 5, wherein the analyzing a relationship between nodes of the deleted data is analyzing a directory node of the deleted data and a data node having a node key value the same as the Inum value, which is inferred through the node key value of the i-node of the same data connected to the directory node of the deleted data, as a directory node and a data node of the same data (B-tree index contains mapping metadata for chunks of the objects in the object store. The B-tree index has leaf nodes that contain chunk entries, B-tree index has a root node at the top of the hierarchy of the tree that contains pointers to child nodes of the root node, para. 35-36. Chunks entry in the B-tree index can be a tombstone entry associated with a chunk that has been deleted, para. 38-39).
In regard to claim 10, Varadan teaches an apparatus for recovering deleted data, the apparatus comprising:
one or more processors (hardware processing circuit, para. 51);
a network interface (computing nodes are couple over a network, para. 31);
a memory for loading a computer program executed by the processors (memory, para. 47); and
a storage for storing large-capacity network data and the computer programs (memory can be implemented using a collection of memory devices, para. 47),
wherein the computer program executes an operation of receiving a volume configured by collecting memory data from the low flash memory (the deleted chunk is still stored in the storage system, where the metadata ca be part of a B-tree index and the chunk is still available to perform the recovery operation, para. 23); and an operation of determining a node type by searching for a node header in all areas of the input volume (updating in response to a deletion of a first chunk, a first chunk entry for the first chunk to include a creation epoch identifier and a deletion epoch identifier for the first chunk, 117-123) it is noted that deleted chunk should not be removed from the storage system if the chunks are referred to by any snapshot, thus a recovery operation can be performed on the deleted chunks, para. 22-23), and recovering deleted data through a structural analysis performed on each determined node type, by the one or more processors (a recovery operation is performed using a snapshot that refers to a deleted chunk, the chunk is still available to perform the recovery operation, para. 22-24),
wherein the determined node type is either a directory node or a data node, which are leaf nodes according to a B+ tree structure (the shared storage pool can also store a B-tree index that contains mapping metadata for chunks of the objects … the B-tree index has leaf nodes that contain chunk entries and root node at the top of the hierarchy containing pointers to child nodes of the root nodes, para. 35-40),
****
wherein the operation of receiving a UBI volume includes any one or more among:
determining whether the low flash memory exists in the apparatus;
collecting, when a low flash memory exists as a result of the determination, memory data from the low flash memory (already taught in step (a) of claim 1)( (a) a first step of receiving a volume configured by collecting memory data (the deleted chunk is still stored in the storage system, where the metadata ca be part of a B-tree index and the chunk is still available to perform the recovery operation, para. 23);
removing a spare area in the collected memory data (removing a deleted chunk refers to freeing the storage location occupied by the chunk, para. 23);
identifying a file system area by analyzing partition information of the memory data from which the spare area is removed;
configuring the UBI volume by grasping a physical structure of the identified file system area; and
receiving the configured UBI volume.
****
Varadan does not explicitly teach but Kang et al. teach implementing on a low flash memory formatted in Unsorted Block Image File System (UBIFS) and receiving a UBI volume from the low flash memory (for the unsorted block images (UBI)/UBI file system (UBIFS) NAND flash file system, a volume ID (VID) header and an erase counter (EC) header have to be read during a mount process … the UBI/UBIFS NAND flash file system remarkably reduces the amount of data to be read, thereby improving the mount speed, para. 52-62).
Refer to claim 1 for motivational statement.
In regard to claim 11, Varadan teaches a computer program stored in a computer-readable medium, the program comprising:
receiving a volume configured by collecting memory data from a low flash memory (the deleted chunk is still stored in the storage system, where the metadata ca be part of a B-tree index and the chunk is still available to perform the recovery operation, para. 23); and
determining a node type by searching for a node header in all areas of the input volume (updating in response to a deletion of a first chunk, a first chunk entry for the first chunk to include a creation epoch identifier and a deletion epoch identifier for the first chunk, 117-123) it is noted that deleted chunk should not be removed from the storage system if the chunks are referred to by any snapshot, thus a recovery operation can be performed on the deleted chunks, para. 22-23), and recovering deleted data through a structural analysis performed on each determined node type, in combination with a computing device (a recovery operation is performed using a snapshot that refers to a deleted chunk, the chunk is still available to perform the recovery operation, para. 22-24),
wherein the determined node type is either a directory node or a data node, which are leaf nodes according to a B+ tree structure (the shared storage pool can also store a B-tree index that contains mapping metadata for chunks of the objects … the B-tree index has leaf nodes that contain chunk entries and root node at the top of the hierarchy containing pointers to child nodes of the root nodes, para. 35-40),
****
wherein the operation of receiving a UBI volume includes any one or more among:
determining whether the low flash memory exists in the apparatus;
collecting, when a low flash memory exists as a result of the determination, memory data from the low flash memory (already taught in step (a) of claim 1)( (a) a first step of receiving a volume configured by collecting memory data (the deleted chunk is still stored in the storage system, where the metadata ca be part of a B-tree index and the chunk is still available to perform the recovery operation, para. 23);
removing a spare area in the collected memory data (removing a deleted chunk refers to freeing the storage location occupied by the chunk, para. 23);
identifying a file system area by analyzing partition information of the memory data from which the spare area is removed;
configuring the UBI volume by grasping a physical structure of the identified file system area; and
receiving the configured UBI volume.
****
Varadan does not explicitly teach but Kang et al. teach receiving and determined a node type on a UBI volume (for the unsorted block images (UBI)/UBI file system (UBIFS) NAND flash file system, a volume ID (VID) header and an erase counter (EC) header have to be read during a mount process … the UBI/UBIFS NAND flash file system remarkably reduces the amount of data to be read, thereby improving the mount speed, para. 52-62).
Refer to claim 1 for motivational statement.
**************
Claim 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Varadan (US 2023/0333939) in further view of Kang et al. (US 2012/0096333) in further view of Goudie (US 2002/0166007).
In regard to claim 3, Varadan and Kang et al. does not explicitly teach but Goudie teach the method according to claim 1, wherein the collecting memory data includes collecting memory data from the low flash memory through a Universal Asynchronous Receiver Transmitter (UART) communication method (bus 31 is associated with a “Firefly” block 32, which is a re-usable microprocessor consisting of … a UART, the processor accesses the peripheral block B by getting the UBI block 41 to request bus mastership, para. 24, fig. 2).
It would have been obvious to modify the method of Varadan and Kang et al. by adding Goudie arbiter for a queue management system. A person of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to make the modification because it would provide a UART for an interface with an external device (para. 28).
**************
Claim 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Varadan (US 2023/0333939) in further view of Kang et al. (US 2012/0096333) in further view of Ren et al. (US 2020/0210375).
In regard to claim 6, Varadan and Kang et al. does not explicitly teach but Ren et al. teach the method according to claim 5, wherein the searching for a node header includes searching for 0x31181006 (1500), which is a unique value of the node header, in all areas of the UBI volume (a pack format of a data tree file may include a tree definition in a header … individual directory nodes of the data tree are defined using a directory name and a directory type, para. 35, 43, fig. 2).
It would have been obvious to modify the method of Varadan and Kang et al. by adding Ren et al. tree-conversion delta encoding. A person of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to make the modification because it would aid in a tree definition in a header and defines individual directory nodes, para. 3.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See PTO 892.
Anderes et al. (US 11,934,680) UBI layers inside a UBIFS volume
Kang et al. (US 8,850,291) UBI file system
Zhou (US 2013/0185484) UBI type further contains a UBI volume
************
Zhang et al. (US 2025/0165180) recovery process of flash storage
Astolfi (US 12,271,625) B-tree with key-value engine
Huang et al. (US 2023/0297479) recovery method of file system
Venugopal et al. (US 11,960,766) delete protection, flash memory pages
Anderes et al. (US 2021/0247921) UBIFS for file system
Wang (US 2023/0129037) UBIFS for file system
Sagot et al. (US 2023/0129942) UBI file management
Shafi et al. (US 11,169,796) UBI container, CWE header checks
Suzuki (US 2014/0359205) UBI system and MTD number
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LOAN TRUONG whose telephone number is 408-918-7552. The examiner can normally be reached on 10AM-6PM PST M-F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, Applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ashish Thomas can be reached on 571-272-0631. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Loan L.T. Truong/Primary Examiner, Art Unit 2114 Loan.truong@uspto.gov