DETAILED ACTION
Claims 1-20 are pending. Claims 1-20 are rejected.
The instant application claims foreign priority to CN202310835543.4 filed on 07/07/2023.
The instant application claims foreign priority to CN202311361220.2 filed on 10/18/2023.
The instant application is a CON of PCT/CN2024/098237 filed on 06/07/2024.
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 .
Information Disclosure Statement
The information disclosure statement (IDS) was submitted on 05/26/2026. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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 (i.e., changing from AIA to pre-AIA ) 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.
Claim(s) 1-4, 8-13, and 17-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dhuse et al., Patent Application Publication No. 2013/0232306 (hereinafter Dhuse) in view of Shveidel et al., Patent Application Publication No. 2024/0176741 (hereinafter Shveidel).
Regarding claim 1, Dhuse teaches:
A data access method, applied to a storage device, wherein the method comprises (Dhuse Paragraph [0335], The determine updating module 540 determines to create the data object index key by receiving a request 546 to write the data object into the DSN 534):
receiving a write access request (Dhuse Paragraph [0335], The determine updating module 540 determines to create the data object index key by receiving a request 546 to write the data object into the DSN 534), wherein the write access request comprises a first key and to-be-written first data (Dhuse Paragraph [0335], The determine updating module 540 determines to create the data object index key by receiving a request 546 to write the data object into the DSN 534);
writing the first key and the first data into a memory of the storage device based on a first index structure (Dhuse Paragraph [0426], the index structure is updated to include finalizing writing of the new root index node 706 to the DSN and activating the new root index node, Paragraph [0430], The DSN 722 may be implemented utilizing one or more of multiple computers, multiple computing devices, a DSN memory); and
the first data is stored in the memory and the first metadata indicates a storage address of the first data in the memory (Dhuse Paragraph [0426], the index structure is updated to include finalizing writing of the new root index node 706 to the DSN and activating the new root index node (e.g., updating metadata of the index structure to include the DSN address of the root index node 706 and to exclude the DSN address of the root index node 700 when different)), or the first data is stored in a disk of the storage device and the first metadata indicates a storage address of the first data in the disk (Dhuse Paragraph [0426], the index structure is updated to include finalizing writing of the new root index node 706 to the DSN and activating the new root index node (e.g., updating metadata of the index structure to include the DSN address of the root index node 706 and to exclude the DSN address of the root index node 700 when different)),
the index file is stored in the memory of the storage device (Dhuse Paragraph [0426], the index structure is updated to include finalizing writing of the new root index node 706 to the DSN and activating the new root index node, Paragraph [0430], The DSN 722 may be implemented utilizing one or more of multiple computers, multiple computing devices, a DSN memory), and
the index file is used for reading data stored in the memory or the disk (Dhuse Paragraph [0342], the update module 542 determines to start over since another process modified the data object level index node since reading the data object level index node and the process should modify a most recent revision of the data object level index node).
Dhuse does not expressly disclose:
recording a correspondence between the first key and first metadata in an index file based on a second index structure, wherein:
However, Shveidel teaches:
recording a correspondence between the first key and first metadata in an index file based on a second index structure, wherein (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address):
The claimed invention and Shveidel are from the analogous art of indexing systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Dhuse in view of Shveidel to have combined Dhuse in view of Shveidel. Shveidel teaches the using a data cache which can provide for read cache hits and optimized performance such by providing for improved I/O latency and improved utilization of system resources (Paragraph 17).
Regarding claim 2, Dhuse in view of Shveidel further teaches:
The method according to claim 1, wherein the method further comprises: receiving a read access request, wherein the read access request comprises the first key (Shveidel Paragraph [0155], The step 1004 can include querying or searching the write cache to determine whether the write cache includes an entry E1 with a corresponding key or index=T1);
querying the index file for the first metadata based on the first key (Shveidel Paragraph [0155], The step 1004 can include querying or searching the write cache to determine whether the write cache includes an entry E1 with a corresponding key or index=T1, Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache); and
reading the first data from the memory or the disk based on the first metadata (Dhuse Paragraph [0342], the update module 542 determines to start over since another process modified the data object level index node since reading the data object level index node and the process should modify a most recent revision of the data object level index node, Paragraph [0292], index structure metadata may include key type traits utilized globally for each node of the index structure).
Regarding claim 3, Dhuse in view of Shveidel further teaches:
The method according to claim 1, wherein recording the correspondence between the first key and the first metadata in the index file based on the second index structure comprises (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address):
when the first key and the first data are written into the memory, recording the correspondence between the first key and the first metadata in the index file based on the second index structure (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address), wherein the first metadata indicates a storage address of the first data in the memory (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address).
Regarding claim 4, Dhuse in view of Shveidel further teaches:
The method according to claim 1, wherein recording the correspondence between the first key and the first metadata in the index file based on the second index structure comprises (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address):
when second data stored in the memory is compacted and stored in the disk (Shveidel Paragraph [0056], prior to storing the original data on the physical storage 110a, 110b, one or more data reduction operations can be performed), recording the correspondence between the first key and the first metadata in the index file based on the second index structure (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address), wherein the second data comprises the first data (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address), and the first metadata indicates the storage address of the first data in the disk (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address, Paragraph [0072], The mapping information can be used, for example, to map a logical address, such as a LUN and an LBA or offset, to its corresponding storage location, such as a physical storage location on BE non-volatile PDs of the system).
Regarding claim 8, Dhuse in view of Shveidel further teaches:
The method according to claim 1, wherein the first index structure comprises a log-structured merge (LSM-tree) structure (Shveidel Paragraph [0118], With a log-structured system in at least one embodiment, as recorded writes of the log are processed and flushed or destaged to the BE PDs, the content written by the recorded writes of the log can be stored at new subsequent physical storage locations on the BE PDs).
Regarding claim 9, Dhuse in view of Shveidel further teaches:
The method according to claim 1, wherein the second index structure comprises any one of the following (Shveidel Paragraph [0003], responsive to determining the first cache includes the first cache entry, determining, using the first metadata as a second key to index into a second cache, whether the second cache includes a second cache entry caching the first content stored at the target logical address):
a hash structure (Shveidel Paragraph [0152], one embodiment, the ULXA cache 510 can be organized as a hash table of buckets), a B+ tree structure (Shveidel Paragraph [0073], at least one embodiment the tree of MD pages for the LUN can be a B+ tree, also sometimes referred to as an “N-ary” tree), or a learned index structure.
Claims 10-13 and 17-20 are rejected in the same manner as claims 1-4, 8, and 9 but are merely directed to a different statutory category (method, storage device comprising at least one processor and memory, and non-transitory computer-readable storage medium). Dhuse further teaches a central processing unit and memory (Paragraph 7).
Claim(s) 5 and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dhuse in view of Shveidel and DeWhitt et al., Patent Application Publication No. 2004/0064647 (hereinafter DeWhitt).
Regarding claim 5, Dhuse in view of Shveidel teaches parent claim 4.
Dhuse in view of Shveidel does not expressly disclose:
when an amount of data stored in the memory reaches a first threshold, compacting the second data stored in the memory and storing it in the disk.
However, DeWhitt teaches:
when an amount of data stored in the memory reaches a first threshold, compacting the second data stored in the memory and storing it in the disk (DeWhitt Paragraph [0008], When available resources on the NV memory falls below a threshold, the data stored in the NV memory is transferred to the disk drive).
The claimed invention and DeWhitt are from the analogous art of memory systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Dhuse in view of Shveidel and DeWhitt to have combined Dhuse in view of Shveidel and DeWhitt. DeWhitt teaches improved read/write performance of a hard drive and reducing the number of times the hard drive disk is accessed (Paragraph 7).
Claim 14 is rejected in the same manner as claim 5 but is merely directed to a different statutory category (method and storage device).
Claim(s) 6 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dhuse in view of Shveidel and Shatsky et al., Patent Application Publication No. 2024/0004877 (hereinafter Shatsky).
Regarding claim 6, Dhuse in view of Shveidel teaches parent claim 4.
Dhuse in view of Shveidel does not expressly disclose:
wherein the disk uses tiered storage, and the method further comprises:
when third data stored at an ith level of the disk is compacted and stored to an (i+1)th level of the disk, recording the correspondence between the first key and the first metadata in the index file based on the second index structure, wherein the third data comprises the first data, and the first metadata indicates a storage address of the first data at the (i+1)th level.
However, Shatsky teaches:
wherein the disk uses tiered storage, and the method further comprises (Shatsky Paragraph [0084], the segments of a given merge set in a given level i of the LSM tree data structure 600 will end up being merged into a larger new segment in a next level i+1 of the LSM tree data structure 600):
when third data stored at an ith level of the disk is compacted and stored to an (i+1)th level of the disk (Shatsky Paragraph [0084], the segments of a given merge set in a given level i of the LSM tree data structure 600 will end up being merged into a larger new segment in a next level i+1 of the LSM tree data structure 600), recording the correspondence between the first key and the first metadata in the index file based on the second index structure (Shatsky Claim 2, metadata entries merged out from a last level of the log-structured merge tree, and to enable random-access to the metadata entries using index keys), wherein the third data comprises the first data (Shatsky Paragraph [0084], the segments of a given merge set in a given level i of the LSM tree data structure 600 will end up being merged into a larger new segment in a next level i+1 of the LSM tree data structure 600), and the first metadata indicates a storage address of the first data at the (i+1)th level (Shatsky Paragraph [0084], the segments of a given merge set in a given level i of the LSM tree data structure 600 will end up being merged into a larger new segment in a next level i+1 of the LSM tree data structure 600).
The claimed invention and Shatsky are from the analogous art of metadata systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Dhuse in view of Shveidel and Shatsky to have combined Dhuse in view of Shveidel and Shatsky. Shatsky teaches an improved system for metadata management which is configured to utilize write cache and the primary metadata structure to manage metadata on the storage node (Paragraph 13).
Claim 15 is rejected in the same manner as claim 6 but is merely directed to a different statutory category (method and storage device).
Claim(s) 7 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dhuse in view of Shveidel, Shatsky, and DeWhitt.
Regarding claim 7, Dhuse in view of Shveidel and Shatsky teaches parent claim 6.
Dhuse in view of Shveidel and Shatsky does not expressly disclose:
when an amount of data stored at the ith level reaches a second threshold, compacting the third data stored in the ith level and storing it in the (i+1)th level of the disk.
However, DeWhitt teaches:
when an amount of data stored at the ith level reaches a second threshold, compacting the third data stored in the ith level and storing it in the (i+1)th level of the disk (DeWhitt Paragraph [0062], The available space of the NV memory 200 is monitored. When the available space falls below a threshold, the NV memory is flushed (step 1010). The operating system 134 may instruct the controller 300 to flush all data in NV memory 200 to disk 304 (Shatsky teaches the levels while DeWhitt teaches the threshold)).
The claimed invention and DeWhitt are from the analogous art of memory systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Dhuse in view of Shveidel, Shatsky, and DeWhitt to have combined Dhuse in view of Shveidel, Shatsky, and DeWhitt. DeWhitt teaches improved read/write performance of a hard drive and reducing the number of times the hard drive disk is accessed (Paragraph 7).
Claim 16 is rejected in the same manner as claim 7 but is merely directed to a different statutory category (method and storage device).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Ganeshan et al., Patent Application Publication No. 2020/0334292 (hereinafter Ganeshan). Ganeshan teaches a data structure of append requests for a key-value pair and metadata stored in a hash table in memory (Paragraph 283). Ganeshan further teaches an index with a key and querying (Paragraph 120). This shows that the claimed invention and Ganeshan are analogous art as both are directed to indexing with keys.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DUSTIN D EYERS whose telephone number is (408)918-7562. The examiner can normally be reached Monday-Thursday 9:00am-7:00pm ET.
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, Amy Ng can be reached at (571)270-1698. 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.
/DUSTIN D EYERS/ Examiner, Art Unit 2164
/AMY NG/ Supervisory Patent Examiner, Art Unit 2164