Prosecution Insights
Last updated: April 19, 2026
Application No. 18/513,233

KEY-VALUE BASED DATA STORAGE DEVICE AND OPERATION METHOD THEREOF

Final Rejection §103
Filed
Nov 17, 2023
Examiner
DEWAN, KAMAL K
Art Unit
2163
Tech Center
2100 — Computer Architecture & Software
Assignee
Sogang University Research And Business Development Foundation
OA Round
2 (Final)
49%
Grant Probability
Moderate
3-4
OA Rounds
4y 4m
To Grant
90%
With Interview

Examiner Intelligence

Grants 49% of resolved cases
49%
Career Allow Rate
108 granted / 222 resolved
-6.4% vs TC avg
Strong +41% interview lift
Without
With
+41.1%
Interview Lift
resolved cases with interview
Typical timeline
4y 4m
Avg Prosecution
29 currently pending
Career history
251
Total Applications
across all art units

Statute-Specific Performance

§101
21.0%
-19.0% vs TC avg
§103
65.4%
+25.4% vs TC avg
§102
4.0%
-36.0% vs TC avg
§112
7.6%
-32.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 222 resolved cases

Office Action

§103
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 . Detailed Action 1. The instant application having Application No. 18/513,233 has claims 1-13 pending filed on 11/17/2023; there are 2 independent claims and 11 dependent claims, all of which are ready for examination by the examiner Response to Arguments This Office Action is in response to applicant’s communication filed on July 16, 2025 in response to PTO Office Action dated April 17, 2025. The Applicant’s remarks and /or specification were considered with the results that follow. Claim Rejections Claim Rejections - 35 USC § 103 35 USC § 103 Rejection of claims 1-13 Independent Claims 1 and 9 CLAIM 1 Applicant argues on page 7 in regards to the independent claim 1, “As such, Park presupposes that the processing of the range query operation and prefetch operation is performed within the HKVS on the host side, and does not disclose a configuration in which such processing is performed autonomously within the storage itself. That is, the KV SSD in Park does not process range query commands.“ Examiner respectfully disagrees with arguments on page 7 in regards to the independent claim 1. The combination of Lee et al (US PGPUB 20210157746) and Park et al (US PGPUB 20210311877) teaches all the limitations of the independent claim 1. Park (Paragraph [0081] teaches “in some embodiments of the present disclosure provide a computational-storage-based KV store (CSKVS) that enables offloading of KV functionalities to the storage device KVSSD, that reduces communication overhead between host and device i.e. between a host KV store (HKVS) and a KVSSD”. Thus, the applicant’s argument against Park is incorrect. Applicant argues on page 7 in regards to the independent claim 1, “The paragraph [0084] of Park cited by the examiner merely discloses that the HKVS maintains user key ranges and information about keys in the SKTable in order to determine which SKTable to prefetch, and does not disclose a key prefetching technique in the same manner as the present invention“ . Examiner respectfully disagrees with arguments on page 7 in regards to the independent claim 1. The combination of Lee et al (US PGPUB 20210157746) and Park et al (US PGPUB 20210311877) teaches all the limitations of the independent claim 1. Park (Paragraph [0081], Paragraph [0084] and Paragraph [0108]) teaches “performing a key prefetch operation when a number of unqueried keys in a first prefetched second table is smaller than a predetermined number (user keys in the host KV store (HKVS) may be categorized by one or more respective corresponding user key ranges to which the user keys belong, and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may prefetch the SKTable according to a prefetch policy, each SKTable may manage keys in a respective key range, the entire key range may be divided such that multiple SKTables may be maintained, with only a subset of the SKTables being in memory the SKTable is determined which is to be prefetched and loaded (a first prefetched second table is smaller than a predetermined number) and some embodiments of the present disclosure provide a CSKVS that enables offloading of KV functionalities to the storage device KVSSD that reduces communication overhead between host and device i.e. between a HKVS and a KVSSD)”. Thus, it will be obvious to one of ordinary skill in the art that the combination of Lee and Park teaches the limitation “performing a key prefetch operation when a number of unqueried keys in a first prefetched second table is smaller than a predetermined number” of the claim 1. Applicant argues on page 7 in regards to the independent claim 1, “For at least the reasons, Applicants respectfully submit that the rejection of claim 1 over Lee and Park is improper and should be withdrawn.“ Examiner respectfully disagrees with arguments on page 7 in regards to the independent claim 1. For the reasons specified supra for the Claim 1, the combination of Lee et al (US PGPUB 20210157746) and Park et al (US PGPUB 20210311877) teaches all the limitations of the independent claim 1. Thus, the claim 1 is not allowable. CLAIM 9. Applicant argues on page 7 in regards to the independent claim 9, “Regarding claim 9, the claim is a method claim for a KV SSD that processes a range query command, which as discussed in the traversal for claim 1 is not taught or suggested by the references of record. Accordingly, claim 9 is allowable for at least the corresponding reason presented in the traversal for claim 1.“ Examiner respectfully disagrees with arguments on page 7 in regards to the independent claim 9. As specified supra for the independent Claim 1, the combination of Lee et al (US PGPUB 20210157746) and Park et al (US PGPUB 20210311877) teaches all the limitations of the independent claim 9. The claim 9 is not allowable. Dependent Claims CLAIMS 2-8 and 10-13. Applicant argues on page 7 in regards to the dependent claims 2-8 and 10-13, “Claims 2-8 and 10-13 depend from allowable independent claims 1 and 9 respectively and are allowable for at least that reason.“ Examiner respectfully disagrees with arguments on page 7 in regards to the dependent claims 2-8 and 10-13. As specified supra for the independent Claims 1 and 9, the combination of Lee et al (US PGPUB 20210157746) and Park et al (US PGPUB 20210311877) teaches all the limitations of the independent claims 1 and 9. Thus, the dependent claims 2-8 and 10-13 are not allowable. Claim Rejections - 35 USC § 103 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. Claims 1-13 are rejected under 35 U.S.C. 103 as being unpatentable over Lee et al (US PGPUB 20210157746) in view of Park et al (US PGPUB 20210311877). As per claim 1: Lee teaches: “A key-value (KV) based data storage device comprising” (Paragraph [0007] (, a data storage device may include a nonvolatile memory device including a key storage area comprises)) “a first memory configured to store a first table” (Paragraph [0067] (the memory device includes a first table storage area)) “a second memory configured to store a Log-Structured Merge (LSM) tree area storing a plurality of second tables forming an LSM tree structure and to store a value log area storing a value corresponding to a key” (Paragraph [0088] and Paragraph [0089] (the nonvolatile memory device includes a second table storage area in addition to a value log storage area where the second table storage area may be referred to as a key storage area and the value log storage area as value storage area and the second table storage area is an area for managing keys where the second table storage area stores the second table according to the LSM tree scheme)) “the key prefetch operation comprising reading from the second memory a second table adjacent in the LSM tree structure to the first prefetched second table” (Paragraph [0114], Paragraph [0134] and Paragraph [0136] (an LSM tree may be implemented with a multi-level list structure storing a plurality of second tables, the second table storage area is further searched to determine whether a key included in a GET or read command exists (a second table adjacent in the LSM tree structure to the first prefetched second table) and when the GET command key exists, the value log offset corresponding to the key is found)). Lee does not EXPLICITLY teach: a key buffer configured to store one or more prefetched second tables corresponding to a key; and a controller configured to control processing a range query command, wherein the processing the range query command comprises; performing a key prefetch operation when a number of unqueried keys in a first prefetched second table is smaller than a predetermined number; and storing that adjacent second table as a second prefetched second table in the key buffer. However, in an analogous art, Park teaches: “a key buffer configured to store one or more prefetched second tables corresponding to a key” (Paragraph [0018] (the KV store may be further configured to load the metadata table from a prefetch buffer or from the storage device, determine the user key is found in a corresponding key map, add key information to a key list, and submit the metadata to the storage device)) “and a controller configured to control processing a range query command, wherein the processing the range query command comprises” (Paragraph [0068] (the key management operations by the in-storage database (InSDB) may manage valid keys in host memory, may also support special operations with relatively low overhead like range query operations, some of the features of key management may include obviating the need to hold keys in the memory by reducing or minimizing overwriting of key tables by separating key ranges into multiple key tables)) “performing a key prefetch operation when a number of unqueried keys in a first prefetched second table is smaller than a predetermined number” (Paragraph [0081], Paragraph [0084] and Paragraph [0108] (user keys in the host KV store (HKVS) may be categorized by one or more respective corresponding user key ranges to which the user keys belong, and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may prefetch the SKTable according to a prefetch policy, each SKTable may manage keys in a respective key range, the entire key range may be divided such that multiple SKTables may be maintained, with only a subset of the SKTables being in memory the SKTable is determined which is to be prefetched and loaded (a first prefetched second table is smaller than a predetermined number) and some embodiments of the present disclosure provide a CSKVS that enables offloading of KV functionalities to the storage device KVSSD that reduces communication overhead between host and device i.e. between a HKVS and a KVSSD)) “and storing that adjacent second table as a second prefetched second table in the key buffer” (Paragraph [0090] and Paragraph [0091] (when the key exists in the keymap, the HKVS may look up the vBlock in the cache using the iKey. when vBlock does not exist in the cache, the vBlock may be read from the KVSSD, the Iterator API may send a prefetch request to a KV device driver for driving the KVSSD, and the device driver may perform a readahead operation to readahead the requested vBlock, and may keep the vBlock in the readahead buffer (a second prefetched second table in the key buffer) in the device driver)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Park and apply them on teachings of Lee for the KV based storage device “a key buffer configured to store one or more prefetched second tables corresponding to a key; and a controller configured to control processing a range query command, wherein the processing the range query command comprises; performing a key prefetch operation when a number of unqueried keys in a first prefetched second table is smaller than a predetermined number; and storing that adjacent second table as a second prefetched second table in the key buffer”. One would be motivated as some of the features of key management may include obviating the need to hold keys in the memory, reducing or minimizing overwriting of key tables by separating key ranges into multiple key tables, using limited key table size, and updating occasionally changed key tables and these features may be performed in the background to reduce or minimize impact on application performance. (Park, Paragraph [0068]). As per claim 2: Lee and Park teach the KV based data storage device of the claim 1 above. Lee further teaches: “a value buffer” (Paragraph [0120] (the data or value may be stored in the value log buffer)) “wherein the controller processing the range query command further comprises” (Paragraph [0031] (the first control circuit may control the volatile memory device, the second control circuit, and the nonvolatile memory device to process KV commands)) “reading a first value corresponding to a current key from the value buffer” (Paragraph [0136] (when the GET command key exists, the value log offset corresponding to the key is found, and the value corresponding to the key is read from the value log area)). Also, Park further teaches: “performing a value prefetch operation comprising reading a second value corresponding to a key having a predetermined distance from the current key from the value log area and storing the second value in the value buffer” (Paragraph [0084] (user keys in the HKVS may be categorized by one or more respective corresponding user key ranges to which the user keys belong (corresponding to a key having a predetermined distance from the current key), and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may load a SKTable when a user application accesses a user key that belongs to the SKTable, the HKVS may prefetch the SKTable according to a prefetch policy to determine which SKTable is to be prefetched and loaded, the information kept by the HKVS may be stored in a manifest (value buffer))). As per claim 3: Lee and Park teach the KV based data storage device of the claim 2 above. Lee further teaches: “wherein the controller further comprises” (Paragraph [0031] (the first control circuit may control which includes) “a dynamic random access memory (DRAM) controller configured to control the first memory, the first memory being a DRAM” (Paragraph [0032] (the volatile memory device includes a Dynamic Random Access Memory (DRAM))) “and a flash channel controller configured to control the second memory, the second memory being a NAND flash memory” (Paragraph [0033] and Paragraph [0035] (the second control circuit may correspond to a Flash Translation Layer (FTL) in a conventional solid state drive (SSD) and the nonvolatile memory device includes, but is not limited to, a NAND flash memory )). As per claim 4: Lee and Park teach the KV based data storage device of the claim 3 above. Lee further teaches: “wherein the controller comprises” (Paragraph [0031] (the first control circuit may control which includes) “a KV command processing circuit configured to process the range query command by controlling the DRAM controller and the flash channel controller to read a value corresponding to a key” (Paragraph [0035], Paragraph [0061] and Paragraph [0062] (the first control circuit interprets a KV command to generate a read/write command for a logical address and controls the volatile memory device, the second control circuit, the nonvolatile memory device for a read/write operation, where the read/write operation itself is substantially the same as that performed in a conventional SSD correspond to a Flash Translation Layer (FTL) and the first control circuit distinguishes a key from a value and manages them separately to process a KV command)). Also, Park further teaches: “and a prefetch controller configured to perform the key prefetch operation and the value prefetch operation” (Paragraph [0084] (determine which SKTable is to be prefetched and loaded, the HKVS may keep information corresponding to the user key range and each key of the SKTables)). As per claim 5: Lee and Park teach the KV based data storage device of the claim 4 above. Lee further teaches: “further comprising a host interface configured to extract the command by decoding a request sent from a host” (Paragraph [0026] (the interface circuit may be implemented with hardware, software, or combination thereof that operate to transmit and receive key-value (KV) commands and data between the host and the data storage device where the data represents a value corresponding to a key included in a KV command)) “and a memory controller interface configured to provide a signal to the DRAM controller and to the flash channel controller” (Paragraph [0031], Paragraph [0032] and Paragraph [0035] (the first control circuit may control the volatile memory device, where the volatile memory device includes a Dynamic Random Access Memory (DRAM) and the second control circuit may correspond to a Flash Translation Layer (FTL) in a conventional solid state drive (SSD))). Also, Park further teaches: “the command may be a range query command” (Paragraph [0068] (the InSDB may also support special operations with relatively low overhead including a range query operations)). As per claim 6: Lee and Park teach the KV based data storage device of the claim 1 above. Park further teaches: “wherein the range query command includes a first command corresponding to a key range and a plurality of second commands subsequent to the first command, and wherein the controller processing the range query command comprises performing the first command by” (Paragraph [0108] and Paragraph [0109] (each SKTable may manage keys in a respective key range i.e. the computational-storage-based KV store (CSKVS) may have multiple SKTables for respectively managing keys in a corresponding key range, an entire key range may be divided into multiple SKTables and the CSKVS may have multiple SKTables and some commands may be offloaded to the key-value solid state drive (KVSSD))) “reading one or more second tables each including a respective key corresponding to the key range from the second memory” (Paragraph [0090] (the vBlock may be read from the KVSSD where the value corresponding to the user key may be found in vBlock using the offset index in the keymap)) “storing the one or more second tables read from the second memory in the key buffer as one or more prefetched second tables” (Paragraph [0084] (the HKVS may prefetch the SKTable according to a prefetch policy, to determine which SKTable is to be prefetched and loaded, the HKVS may keep information corresponding to the user key range and each key of the SKTables and the information kept by the HKVS may be stored)) “searching the first table and the one or more prefetched second tables to determine a data offset corresponding to a start key which is most recently updated” (Paragraph [0090] (the keymap may have an internal key (iKey) of the vBlock, and may have an offset index for the key, when the key exists in the keymap, the HKVS may look up the vBlock in the cache using the iKey)) “the start key being a smallest key in the first table and the one or more prefetched second tables that is within the key range” (Paragraph [0108] (each SKTable may manage keys in a respective key range i.e. the CSKVS may have multiple SKTables for respectively managing keys in a corresponding key range, an entire key range may be divided into multiple SKTables)) “reading a value corresponding to the start key by using the data offset” (Paragraph [0170] (to point to the next key node, each key node may have an offset from a base address)). As per claim 7: Lee and Park teach the KV based data storage device of the claim 6 above. Park further teaches: “wherein the controller processing the range query command comprises performing the second command by” (Paragraph [0098](the KV stores like the CSKVS may support a variety of commands that may be grouped as being either ‘simple’ commands or ‘complex’ commands including range query commands)) “selecting a target table among the one or more prefetched second tables stored in the key buffer wherein a number of additional keys searchable after a current key of the target table is smaller than a predetermined value” (Paragraph [0084] (user keys in the host KV store (HKVS) may be categorized by one or more respective corresponding user key ranges to which the user keys belong, and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may prefetch the SKTable according to a prefetch policy, the SKTable is determined which is to be prefetched and loaded, the HKVS may keep information corresponding to the user key range and each key of the SKTables (wherein a number of additional keys searchable after a current key of the target table is smaller than a predetermined value))) “storing the one or more second tables read from the second memory in the key buffer as one or more prefetched second tables” (Paragraph [0091] ( the Iterator API may send a prefetch request to a KV device driver for driving the KVSSD, and the device driver may perform a readahead operation to readahead the requested vBlock, and may keep (store) the vBlock in the readahead buffer (key buffer) in the device driver)). Also, Lee further teaches: “reading a second table adjacent to the target table in the LSM tree structure from the second memory” (Paragraph [0114], Paragraph [0134] and Paragraph [0136] (an LSM tree may be implemented with a multi-level list structure storing a plurality of second tables, the second table storage area is further searched to determine whether a key included in a GET or read command exists (a second table adjacent in the LSM tree structure to the first prefetched second table) and when the GET command key exists, the value log offset corresponding to the key is found)). As per claim 8: Lee and Park teach the KV based data storage device of the claim 7 above. Park further teaches: “wherein the controller processing the range query command comprises performing the second command by reading a value corresponding to the current key in parallel with another operation performed in performing the second command” (Paragraph [0106]( each iterator command (range query command) may have its own context, which may include sequence number, current position where the current position may be moved forward or backward in the sorted data structure , when a user performs a next command or a previous command on an iterator, the next key or previous key may be found in the sorted data structure and when the key is found, the sequence number and the time may be compared to determine whether the key belongs to the iterator)). As per claim 9: Lee teaches: “An operation method of a key-value (KV) based data storage device, the operation method comprising” (Paragraph [0026] and Paragraph [0161] (a method of managing a distributed logging linked, to operate to transmit and receive key-value (KV) commands and data between the host 1 and the data storage device)) “wherein processing the first command includes” (Paragraph [0031] (the first control circuit may control the volatile memory device, the second control circuit, and the nonvolatile memory device to process KV commands)) “reading one or more second tables from a Log-Structured Merge (LSM) tree area in a second memory of the KV based storage device, the one or more second tables including respective start keys” (Paragraph [0088] and Paragraph [0089] (the nonvolatile memory device includes a second table storage area in addition to a value log storage area where the second table storage area may be referred to as a key storage area and the value log storage area as value storage area and the second table storage area is an area for managing keys where the second table storage area stores the second table according to the LSM tree scheme)). Lee does not EXPLICITLY teach: processing a first command to read a value corresponding to a start key corresponding to a range query command; and processing a plurality of second commands subsequent to the first command to read values corresponding to a plurality of keys subsequent to the start key; storing the one or more second tables as prefetched second tables in a key buffer of the KV based storage device; determining a data offset corresponding to a start key in a first table in a first memory of the KV based storage device or in the one or more prefetched second tables stored in the key buffer; and reading a first value corresponding to the data offset from a value log area in the second memory. However, in an analogous art, Park teaches: “processing a first command to read a value corresponding to a start key corresponding to a range query command” (Paragraph [0108] (each SKTable may manage keys in a respective key range i.e. the computational-storage-based KV store (CSKVS) may have multiple SKTables for respectively managing keys in a corresponding key range)) “and processing a plurality of second commands subsequent to the first command to read values corresponding to a plurality of keys subsequent to the start key” (Paragraph [0109] (an entire key range may be divided into multiple SKTables and the CSKVS may have multiple SKTables and some commands may be offloaded to the key-value solid state drive (KVSSD))) “storing the one or more second tables as prefetched second tables in a key buffer of the KV based storage device” (Paragraph [0081], Paragraph [0084] and Paragraph [0108] (user keys in the host KV store (HKVS) may be categorized by one or more respective corresponding user key ranges to which the user keys belong, and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may prefetch the SKTable according to a prefetch policy, each SKTable may manage keys in a respective key range, the entire key range may be divided such that multiple SKTables may be maintained, with only a subset of the SKTables being in memory the SKTable is determined which is to be prefetched and loaded (a first prefetched second table is smaller than a predetermined number) and some embodiments of the present disclosure provide a CSKVS that enables offloading of KV functionalities to the storage device KVSSD that reduces communication overhead between host and device i.e. between a HKVS and a KVSSD)) “determining a data offset corresponding to a start key in a first table in a first memory of the KV based storage device or in the one or more prefetched second tables stored in the key buffer” (Paragraph [0090] (the keymap may have an internal key (iKey) of the vBlock, and may have an offset index for the key, when the key exists in the keymap, the HKVS may look up the vBlock in the cache using the iKey)) “and reading a first value corresponding to the data offset from a value log area in the second memory” (Paragraph [0170] (to point to the next key node, each key node may have an offset from a base address)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Park and apply them on teachings of Lee for the KV based storage device “processing a first command to read a value corresponding to a start key corresponding to a range query command; and processing a plurality of second commands subsequent to the first command to read values corresponding to a plurality of keys subsequent to the start key; storing the one or more second tables as prefetched second tables in a key buffer of the KV based storage device; determining a data offset corresponding to a start key in a first table in a first memory of the KV based storage device or in the one or more prefetched second tables stored in the key buffer; and reading a first value corresponding to the data offset from a value log area in the second memory”. One would be motivated as some of the features of key management may include obviating the need to hold keys in the memory, reducing or minimizing overwriting of key tables by separating key ranges into multiple key tables, using limited key table size, and updating occasionally changed key tables and these features may be performed in the background to reduce or minimize impact on application performance. (Park, Paragraph [0068]). As per claim 10: Lee and Park teach the operation method of the claim 9 above. Park further teaches: “wherein processing a second command among the plurality of second commands comprises” (Paragraph [0098](the KV stores like the CSKVS may support a variety of commands that may be grouped as being either ‘simple’ commands or ‘complex’ commands including range query commands)) “selecting a target table among the one or more prefetched second tables stored in the key buffer including a current key corresponding to the second command wherein a number of remaining keys searchable after the current key in the target table is smaller than a predetermined value” (Paragraph [0084] (user keys in the host KV store (HKVS) may be categorized by one or more respective corresponding user key ranges to which the user keys belong, and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may prefetch the SKTable according to a prefetch policy, the SKTable is determined which is to be prefetched and loaded, the HKVS may keep information corresponding to the user key range and each key of the SKTables (wherein a number of additional keys searchable after a current key of the target table is smaller than a predetermined value))) “and storing the additional second table in the key buffer” (Paragraph [0091] ( the Iterator API may send a prefetch request to a KV device driver for driving the KVSSD, and the device driver may perform a readahead operation to readahead the requested vBlock, and may keep (store) the vBlock in the readahead buffer (key buffer) in the device driver)). Also, Lee further teaches: “reading an additional second table adjacent to the target table in the LSM tree area” (Paragraph [0114], Paragraph [0134] and Paragraph [0136] (an LSM tree may be implemented with a multi-level list structure storing a plurality of second tables, the second table storage area is further searched to determine whether a key included in a GET or read command exists (a second table adjacent in the LSM tree structure to the first prefetched second table) and when the GET command key exists, the value log offset corresponding to the key is found)). As per claim 11: Lee and Park teach the operation method of the claim 10 above. Park further teaches: “wherein processing the second command further comprises reading a second value corresponding to the current key in parallel to storing the additional second table” (Paragraph [0106]( each iterator command (range query command) may have its own context, which may include sequence number, current position where the current position may be moved forward or backward in the sorted data structure , when a user performs a next command or a previous command on an iterator, the next key or previous key may be found in the sorted data structure and when the key is found, the sequence number and the time may be compared to determine whether the key belongs to the iterator)). As per claim 12: Lee and Park teach the operation method of the claim 11 above. Park further teaches: “wherein processing the second command further comprises reading a third value corresponding to a key separated from the current key by a predetermined distance from the value log area and storing the third value in a value buffer” (Paragraph [0084] (user keys in the HKVS may be categorized by one or more respective corresponding user key ranges to which the user keys belong (corresponding to a key having a predetermined distance from the current key), and each user key range may be managed by a sorted key table (SKTable) manager, the HKVS may load a SKTable when a user application accesses a user key that belongs to the SKTable, the HKVS may prefetch the SKTable according to a prefetch policy to determine which SKTable is to be prefetched and loaded, the information kept by the HKVS may be stored in a manifest (value buffer))). As per claim 13: Lee and Park teach the operation method of the claim 11 above. Lee further teaches: “wherein reading the second value includes reading the second value from the value buffer” (Paragraph [0136] (when the GET command key exists, the value log offset corresponding to the key is found, and the value corresponding to the key is read from the value log area)). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Jin et al, (US PGPUB 20210182202), a memory system includes a storage medium having a plurality of memory regions. A controller is configured to allocate each of a plurality of open memory regions among the memory regions to one or more levels and store, in response to a write request received from a host device that includes data and a level of the data, the data in an open memory region allocated to the level. A level may be a level of a file in a predetermined unit in which the data is included, such as in a log-structured merge (LSM) tree structure. 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). Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAMAL K DEWAN whose telephone number is (571)272-2196. The examiner can normally be reached on Mon-Fri 8:00 AM – 5:00 PM (EST). If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, TONY MAHMOUDI can be reached on 571-272-4078. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center to authorized users only. Should you have questions about access to Patent Center, 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. /Kamal K Dewan/ Examiner, Art Unit 2163 /TONY MAHMOUDI/Supervisory Patent Examiner, Art Unit 2163
Read full office action

Prosecution Timeline

Nov 17, 2023
Application Filed
Apr 13, 2025
Non-Final Rejection — §103
Jul 16, 2025
Response Filed
Jan 14, 2026
Final Rejection — §103
Mar 23, 2026
Interview Requested
Apr 07, 2026
Applicant Interview (Telephonic)
Apr 07, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12475082
SYSTEM AND METHOD FOR SYNCHRONIZING DELETE OPERATIONS BETWEEN PRIMARY AND SECONDARY DATABASES
2y 5m to grant Granted Nov 18, 2025
Patent 12461940
CROSS-CLOUD REPLICATION OF RECURRENTLY EXECUTING DATA PIPELINES
2y 5m to grant Granted Nov 04, 2025
Patent 12449987
SYSTEM AND METHOD FOR IMPROVING MEMORY RESOURCE ALLOCATIONS IN DATABASE BLOCKS USING BLOCKCHAIN
2y 5m to grant Granted Oct 21, 2025
Patent 12436916
APPARATUS AND METHODS FOR LIGHTWEIGHT TRANSCODING
2y 5m to grant Granted Oct 07, 2025
Patent 12393571
Multidimensional Multitenant System
2y 5m to grant Granted Aug 19, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
49%
Grant Probability
90%
With Interview (+41.1%)
4y 4m
Median Time to Grant
Moderate
PTA Risk
Based on 222 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month