Prosecution Insights
Last updated: April 19, 2026
Application No. 18/485,070

Smart Host Stream Release

Final Rejection §103
Filed
Oct 11, 2023
Examiner
SAIN, GAUTAM
Art Unit
2135
Tech Center
2100 — Computer Architecture & Software
Assignee
Sandisk Technologies Inc.
OA Round
4 (Final)
67%
Grant Probability
Favorable
5-6
OA Rounds
3y 5m
To Grant
92%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allow Rate
277 granted / 415 resolved
+11.7% vs TC avg
Strong +25% interview lift
Without
With
+25.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
40 currently pending
Career history
455
Total Applications
across all art units

Statute-Specific Performance

§101
5.9%
-34.1% vs TC avg
§103
65.1%
+25.1% vs TC avg
§102
1.4%
-38.6% vs TC avg
§112
25.2%
-14.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 415 resolved cases

Office Action

§103
DETAILED ACTION 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 . Other Ref: Yoshihashi (US 20120221776) – Semiconductor Storage Device… storage area are released. 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. Claims 1,2,4,5, 6,7,9,10,11, 13, 14, 15, 17,18,19 are rejected under 35 U.S.C. 103 as being unpatentable over Bert (US 20240028230 A1) and in view of Hodes (US 20190377512 A1) and further in view of Kuzmin (US 10445229) and Wells (US 20230289078) and Sander (US 20050247774) Claim 1. Bert discloses A storage device (e.g., computing system 100 can be a computing device such as a desktop computer,, 0037 Fig. 1), comprising: one or more non-volatile memories (e.g., memory devices 131, 133 can include any combination of the different types of non-volatile memory , 0043 Fig. 1) ; and one or more controllers each communicatively coupled with at least one of the one or more non-volatile memories, the one or more controllers, individually or in any combination, operable to: (e.g., memory sub-system controller 111 (or controller 111 for simplicity) can communicate with the memory devices 133, 0047 Fig. 1) obtain a stream release request from a host device, the stream release request indicating a stream identifier and including an indication of whether to deallocate a stream associated with the stream identifier (e.g., stream having a size that is no smaller than twice the superblock size. As a result, at least one superblock can be erased in entirety for use by a stream, regardless of the placement of the segment on superblocks allocated for the stream. For example, the host system can issue trim/deallocation commands for the sequential logical block addressing (LBA) addresses used for writing the segment of data. , 0025)( Bert further discloses [0025] the host system can issue trim/deallocation commands for the sequential logical block addressing (LBA) addresses. [0042] host system 120 can communicate with the controller 111 of the memory sub-system 110 to perform operations such as reading data, writing data, or erasing data at the memory devices 131, 133 and other such operations. [0050] In general, the controller 111 can receive commands or operations from the host system 120 and can convert the commands or operations into instructions or appropriate commands to achieve the desired access to the memory devices 133. [0121] If, at block 509, the host system 120 decides to erase part of the stream 201 having been recorded into the memory sub-system 110, the host system identifies, at block 511 [0122] At block 513, the host system 120 sends, to the memory sub-system 110, commands to erase data from the logical addresses identified according to the superblock size 303 to be sufficient to free at least one superblock 313. [0124] When the memory sub-system 110 receives commands to erase data from the host system 120, the memory sub-system 110 can determine, at block 515, whether sufficient commands have been received from the host system 120 to erase an entire superblock (e.g., 313). If so, at block 517, the memory sub-system 110 reclaims the entirely erased superblock (e.g., 313) as a free superblock. [0133] host system 120 has issued commands to the memory sub-system 110 to erase the data of write requests in trimming the first stream (e.g., 411). Thus, the data written before the segment of the first stream (e.g., 411) is considered not available to host system 120 anymore. [0134] For example, to trim the first stream 411, the host system 120 identifies a portion of the sequence of logical addresses (e.g., 421, . . . ) … first stream 411 is erased in entirety and thus can be reclaimed by the memory sub-system 110 ); and Bert does not disclose, but Hodes discloses deallocate, in response to the stream release request and based on the indication, a plurality of logical addresses associated with the stream from corresponding physical addresses associated with the one or more non-volatile memories (e.g., data storage controller to perform time-based self-trimming operations, 0036)( [0028] trim operations or trim commands may be initiated by a host device that notify the SSD. [0029] trim command issued by a host device.). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, providing the benefit of allow the controller to perform self-trimming to relieve the host device of the need to control the trimming operations … offload trimming management from the host device to the data storage controller and implement the trimming in a manner that efficiently takes into account the unique needs of high-volume/time-sensitive data storage (see Hodes, 0033). Bert in view of Hodes does not disclose, but Kuzmin discloses obtain a stream release request from a host device without a subsequent Data Set Management (DSM) request from the host device (eg., col 8:5-30 - the host can issue a request (e.g., one or multiple commands) that specifies release of a physical address (or offset) in each one of respective dies or planes… the host can initiate these operations and then track the resulting impact on physical address assignment. Thus, this structure permits the host to issue multi-page writes without substantial latency at the memory controller for address translation, and it also permits the host to plan multi-page access in a manner where related data storage is planned. ). wherein the indication of whether to deallocate the stream is (eg., col 8:58-61 (50) FIG. 1B is a block diagram showing one method of management of multi-page memory requests that originate from the host.); in response to the obtained stream release request without the subsequent DSM request (eg., col 8:10-12 - Memory devices supporting this capability can update page allocation tables and/or stored metadata to reflect this release,). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin providing the benefit of reduce control bandwidth competition with host-initiated reads and writes and can help minimize write amplification. By redefining host and/or controller responsibilities, host-controller management features duplication and associated disadvantages can also be avoided, leading to a simpler and less expensive memory controller design (see Kuzmin, col 12:27-33) permits the host to issue multi-plane IO requests as what is essentially a single “group” request rather than as a series of independent requests that could have a multi-plane relationship lost in connection with scheduling in the OS or host IO subsystem (col 55:20-24). Bert in view of Hodes and Kuzmin does not disclose, but Wells discloses in the stream release request, indicates whether or not to deallocate logical blocks associated with the stream (eg., 0046-0047 - the host 101 sends a stream termination command to the controller 120 including the stream ID and an indication that the data corresponding to the stream ID is no longer needed … [0047] At 355, the controller 120 determines that the data corresponding to the stream is no longer needed. For example, the controller 120 determines that the data corresponding to the stream is no longer needed by receiving the stream termination command or the deallocation/trim command ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, providing the benefit of at least one superblock is ready for new data (see Wells, 0047) to managing superblock-based write processes in non-volatile memory storage devices (0001). Bert in view of Hodes and Kuzmin and Wells does not disclose, but Sander discloses a deallocation bit, wherein the deallocation bit (eg., 0083 - retire queue 102 may use the retire flag 269 associated with each store operation when determining when to deallocate an entry 262 allocated to that store operation and when to retire that store operation… determining when to deallocate an entry 252 allocated ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, with Sander, providing the benefit desirable to be able to perform data speculation in a processor and to provide an efficient recovery mechanism for misspeculations (see Sander, 0007). Claim 2. Bert discloses wherein the plurality of logical addresses corresponds to an entirety of a superblock (e.g., erasure of an entire superblock , 0028). Claim 4. Bert in view of Hodes and Kuzmin does not disclose, but Wells discloses deallocate the plurality of logical addresses (eg., 0046-0047 - the host 101 sends a stream termination command to the controller 120 including the stream ID and an indication that the data corresponding to the stream ID is no longer needed … [0047] At 355, the controller 120 determines that the data corresponding to the stream is no longer needed. For example, the controller 120 determines that the data corresponding to the stream is no longer needed by receiving the stream termination command or the deallocation/trim command ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, providing the benefit of at least one superblock is ready for new data (see Wells, 0047) to managing superblock-based write processes in non-volatile memory storage devices (0001). Bert in view of Hodes and Kuzmin and Wells does not disclose, but Sander discloses deallocate the plurality of logical addresses; bit being set (eg., 0083 - retire queue 102 may use the retire flag 269 associated with each store operation when determining when to deallocate an entry 262 allocated to that store operation and when to retire that store operation… determining when to deallocate an entry 252 allocated ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, with Sander, providing the benefit desirable to be able to perform data speculation in a processor and to provide an efficient recovery mechanism for misspeculations (see Sander, 0007). Claim 5. Bert does not disclose, but Hodes discloses wherein the one or more controllers, individually or in combination, are further operable to: release the stream identifier for reuse by the host device without deallocating the plurality of logical addresses in response to the deallocation bit being reset (e.g., self-trim/deallocation/unmapping controller 1322 is configured to trim blocks within the NVM 1304 corresponding to the portion of data deemed to be trimmable. For example, controller 1322 may be configured to logically delete the portions of the stream of data by marking the data as deleted in an allocation table 1324. In other examples, the allocation table might be within the NVM device 1304., 0065). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, providing the benefit of allow the controller to perform self-trimming to relieve the host device of the need to control the trimming operations … offload trimming management from the host device to the data storage controller and implement the trimming in a manner that efficiently takes into account the unique needs of high-volume/time-sensitive data storage (see Hodes, 0033). Claim 6. Bert discloses wherein the one or more controllers, individually or in combination, are further operable to: store a mapping of stream identifiers to superblocks in a mapping table; identify in the mapping table a corresponding superblock associated with the stream identifier indicated in the stream release request (e.g., map the logical address 221 to the physical addresses in the superblock 231 according to a predetermined pattern (e.g., sequentially or another order) such that a contiguous segment of write commands (e.g., 211, . . . ) in the stream 201 has logical addresses of the write commands (e.g., 211, . . . ) being mapped to physical addresses within the superblock 231. The pattern can be a sequential pattern, or a pattern determined by an algorithm or a look up table., 0118) and deallocate the plurality of logical addresses associated with the corresponding superblock (e.g., facilitate the erasure of an entire superblock worth of data, the host system can track of the sequence of LBA addresses of writes that have been sent to the stream and deallocate the segment of data that has a size twice the superblock size., 0028). Claim 7. Bert does not disclose, but Hodes discloses wherein to deallocate the plurality of logical addresses, the one or more controllers, individually or in combination, are operable to: update a logical-to-physical (L2P) mapping table to remove associations between the plurality of logical addresses and the corresponding physical addresses (e.g., marking the corresponding allocation table entry for the data as deleted, 0028). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, providing the benefit of allow the controller to perform self-trimming to relieve the host device of the need to control the trimming operations … offload trimming management from the host device to the data storage controller and implement the trimming in a manner that efficiently takes into account the unique needs of high-volume/time-sensitive data storage (see Hodes, 0033). Claim 9. Bert does not disclose, but Hodes discloses wherein the one or more controllers, individually or in combination, are further operable to: deallocate the plurality of logical addresses without scanning the one or more non-volatile memories to determine valid logical addresses to deallocate (e.g., the data storage controller performs a self-trimming operation to trim, deallocate and/or unmap the portions of the stream of data that exceed the time-based threshold (or are otherwise found to be expired or obsolete or otherwise trimmable), wherein self-trimming may include logically deleting the trimmable portions of the stream of data by marking the data as deleted, 0073). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, providing the benefit of allow the controller to perform self-trimming to relieve the host device of the need to control the trimming operations … offload trimming management from the host device to the data storage controller and implement the trimming in a manner that efficiently takes into account the unique needs of high-volume/time-sensitive data storage (see Hodes, 0033). Claim 10. Bert discloses A method for releasing a stream in a storage device, the method (e.g., computing system 100 can be a computing device such as a desktop computer,, 0037 Fig. 1)(e.g., memory devices 131, 133 can include any combination of the different types of non-volatile memory , 0043 Fig. 1) (e.g., memory sub-system controller 111 (or controller 111 for simplicity) can communicate with the memory devices 133, 0047 Fig. 1), comprising: obtaining a stream release request from a host device, the stream release request indicating a stream identifier and including an indication of whether to deallocate the stream associated with the stream identifier (e.g., stream having a size that is no smaller than twice the superblock size. As a result, at least one superblock can be erased in entirety for use by a stream, regardless of the placement of the segment on superblocks allocated for the stream. For example, the host system can issue trim/deallocation commands for the sequential logical block addressing (LBA) addresses used for writing the segment of data. , 0025) ( Bert further discloses [0025] the host system can issue trim/deallocation commands for the sequential logical block addressing (LBA) addresses. [0042] host system 120 can communicate with the controller 111 of the memory sub-system 110 to perform operations such as reading data, writing data, or erasing data at the memory devices 131, 133 and other such operations. [0050] In general, the controller 111 can receive commands or operations from the host system 120 and can convert the commands or operations into instructions or appropriate commands to achieve the desired access to the memory devices 133. [0121] If, at block 509, the host system 120 decides to erase part of the stream 201 having been recorded into the memory sub-system 110, the host system identifies, at block 511 [0122] At block 513, the host system 120 sends, to the memory sub-system 110, commands to erase data from the logical addresses identified according to the superblock size 303 to be sufficient to free at least one superblock 313. [0124] When the memory sub-system 110 receives commands to erase data from the host system 120, the memory sub-system 110 can determine, at block 515, whether sufficient commands have been received from the host system 120 to erase an entire superblock (e.g., 313). If so, at block 517, the memory sub-system 110 reclaims the entirely erased superblock (e.g., 313) as a free superblock. [0133] host system 120 has issued commands to the memory sub-system 110 to erase the data of write requests in trimming the first stream (e.g., 411). Thus, the data written before the segment of the first stream (e.g., 411) is considered not available to host system 120 anymore. [0134] For example, to trim the first stream 411, the host system 120 identifies a portion of the sequence of logical addresses (e.g., 421, . . . ) … first stream 411 is erased in entirety and thus can be reclaimed by the memory sub-system 110 ); and Bert does not disclose, but Hodes discloses deallocating, in response to the stream release request and based on the indication, a plurality of logical addresses associated with the stream from corresponding physical addresses associated with one or more non-volatile memories. (e.g., data storage controller to perform time-based self-trimming operations, 0036). ( [0028] trim operations or trim commands may be initiated by a host device that notify the SSD. [0029] trim command issued by a host device.). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, providing the benefit of allow the controller to perform self-trimming to relieve the host device of the need to control the trimming operations … offload trimming management from the host device to the data storage controller and implement the trimming in a manner that efficiently takes into account the unique needs of high-volume/time-sensitive data storage (see Hodes, 0033). Bert in view of Hodes does not disclose, but Kuzmin discloses wherein the stream release request is obtained without a subsequent Data Set Management (DSM) request from the host device, (eg., col 8:5-30 - the host can issue a request (e.g., one or multiple commands) that specifies release of a physical address (or offset) in each one of respective dies or planes… the host can initiate these operations and then track the resulting impact on physical address assignment. Thus, this structure permits the host to issue multi-page writes without substantial latency at the memory controller for address translation, and it also permits the host to plan multi-page access in a manner where related data storage is planned. ). wherein the indication of whether to deallocate the stream is (eg., col 8:58-61 (50) FIG. 1B is a block diagram showing one method of management of multi-page memory requests that originate from the host.); the plurality of logical addresses is deallocated in response to the obtained stream release request without the subsequent DSM request. (eg., col 8:10-12 - Memory devices supporting this capability can update page allocation tables and/or stored metadata to reflect this release,). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin providing the benefit of reduce control bandwidth competition with host-initiated reads and writes and can help minimize write amplification. By redefining host and/or controller responsibilities, host-controller management features duplication and associated disadvantages can also be avoided, leading to a simpler and less expensive memory controller design (see Kuzmin, col 12:27-33) permits the host to issue multi-plane IO requests as what is essentially a single “group” request rather than as a series of independent requests that could have a multi-plane relationship lost in connection with scheduling in the OS or host IO subsystem (col 55:20-24). Bert in view of Hodes and Kuzmin does not disclose, but Wells discloses in the stream release request, indicates whether or not to deallocate logical blocks associated with the stream (eg., 0046-0047 - the host 101 sends a stream termination command to the controller 120 including the stream ID and an indication that the data corresponding to the stream ID is no longer needed … [0047] At 355, the controller 120 determines that the data corresponding to the stream is no longer needed. For example, the controller 120 determines that the data corresponding to the stream is no longer needed by receiving the stream termination command or the deallocation/trim command ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, providing the benefit of at least one superblock is ready for new data (see Wells, 0047) to managing superblock-based write processes in non-volatile memory storage devices (0001). Bert in view of Hodes and Kuzmin and Wells does not disclose, but Sander discloses a deallocation bit, wherein the deallocation bit (eg., 0083 - retire queue 102 may use the retire flag 269 associated with each store operation when determining when to deallocate an entry 262 allocated to that store operation and when to retire that store operation… determining when to deallocate an entry 252 allocated ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, with Sander, providing the benefit desirable to be able to perform data speculation in a processor and to provide an efficient recovery mechanism for misspeculations (see Sander, 0007). Claim 11 is rejected for reasons similar to Claim 2 above. Claim 13 is rejected for reasons similar to Claim 4 above. Claim 14 is rejected for reasons similar to Claim 6 above. Claim 15 is rejected for reasons similar to Claim 7 above. Claim 17 is rejected for reasons similar to Claim 9 above. Claim 18. Bert discloses A storage device (e.g., computing system 100 can be a computing device such as a desktop computer,, 0037 Fig. 1), comprising: one or more non-volatile memories (e.g., memory devices 131, 133 can include any combination of the different types of non-volatile memory , 0043 Fig. 1) ; and means for releasing a stream in the storage device, the means for releasing being configured to (e.g., memory sub-system controller 111 (or controller 111 for simplicity) can communicate with the memory devices 133, 0047 Fig. 1) obtain a stream release request from a host device, the stream release request indicating a stream identifier and including an indication of whether to deallocate the stream associated with the stream identifier (e.g., stream having a size that is no smaller than twice the superblock size. As a result, at least one superblock can be erased in entirety for use by a stream, regardless of the placement of the segment on superblocks allocated for the stream. For example, the host system can issue trim/deallocation commands for the sequential logical block addressing (LBA) addresses used for writing the segment of data. , 0025) ( Bert further discloses [0025] the host system can issue trim/deallocation commands for the sequential logical block addressing (LBA) addresses. [0042] host system 120 can communicate with the controller 111 of the memory sub-system 110 to perform operations such as reading data, writing data, or erasing data at the memory devices 131, 133 and other such operations. [0050] In general, the controller 111 can receive commands or operations from the host system 120 and can convert the commands or operations into instructions or appropriate commands to achieve the desired access to the memory devices 133. [0121] If, at block 509, the host system 120 decides to erase part of the stream 201 having been recorded into the memory sub-system 110, the host system identifies, at block 511 [0122] At block 513, the host system 120 sends, to the memory sub-system 110, commands to erase data from the logical addresses identified according to the superblock size 303 to be sufficient to free at least one superblock 313. [0124] When the memory sub-system 110 receives commands to erase data from the host system 120, the memory sub-system 110 can determine, at block 515, whether sufficient commands have been received from the host system 120 to erase an entire superblock (e.g., 313). If so, at block 517, the memory sub-system 110 reclaims the entirely erased superblock (e.g., 313) as a free superblock. [0133] host system 120 has issued commands to the memory sub-system 110 to erase the data of write requests in trimming the first stream (e.g., 411). Thus, the data written before the segment of the first stream (e.g., 411) is considered not available to host system 120 anymore. [0134] For example, to trim the first stream 411, the host system 120 identifies a portion of the sequence of logical addresses (e.g., 421, . . . ) … first stream 411 is erased in entirety and thus can be reclaimed by the memory sub-system 110 ); and Bert does not disclose, but Hodes discloses deallocate, in response to the stream release request and based on the indication, a plurality of logical addresses associated with the stream from corresponding physical addresses associated with the one or more non-volatile memories (e.g., data storage controller to perform time-based self-trimming operations, 0036). ( [0028] trim operations or trim commands may be initiated by a host device that notify the SSD. [0029] trim command issued by a host device.). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, providing the benefit of allow the controller to perform self-trimming to relieve the host device of the need to control the trimming operations … offload trimming management from the host device to the data storage controller and implement the trimming in a manner that efficiently takes into account the unique needs of high-volume/time-sensitive data storage (see Hodes, 0033). Bert in view of Hodes does not disclose, but Kuzmin discloses wherein the stream release request is obtained without a subsequent Data Set Management (DSM) request from the host device, (eg., col 8:5-30 - the host can issue a request (e.g., one or multiple commands) that specifies release of a physical address (or offset) in each one of respective dies or planes… the host can initiate these operations and then track the resulting impact on physical address assignment. Thus, this structure permits the host to issue multi-page writes without substantial latency at the memory controller for address translation, and it also permits the host to plan multi-page access in a manner where related data storage is planned. ). wherein the indication of whether to deallocate the stream is (eg., col 8:58-61 (50) FIG. 1B is a block diagram showing one method of management of multi-page memory requests that originate from the host.); the plurality of logical addresses is deallocated in response to the obtained stream release request without the subsequent DSM request. (eg., col 8:10-12 - Memory devices supporting this capability can update page allocation tables and/or stored metadata to reflect this release,). It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin providing the benefit of reduce control bandwidth competition with host-initiated reads and writes and can help minimize write amplification. By redefining host and/or controller responsibilities, host-controller management features duplication and associated disadvantages can also be avoided, leading to a simpler and less expensive memory controller design (see Kuzmin, col 12:27-33) permits the host to issue multi-plane IO requests as what is essentially a single “group” request rather than as a series of independent requests that could have a multi-plane relationship lost in connection with scheduling in the OS or host IO subsystem (col 55:20-24). Bert in view of Hodes and Kuzmin does not disclose, but Wells discloses in the stream release request, indicates whether or not to deallocate logical blocks associated with the stream (eg., 0046-0047 - the host 101 sends a stream termination command to the controller 120 including the stream ID and an indication that the data corresponding to the stream ID is no longer needed … [0047] At 355, the controller 120 determines that the data corresponding to the stream is no longer needed. For example, the controller 120 determines that the data corresponding to the stream is no longer needed by receiving the stream termination command or the deallocation/trim command ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, providing the benefit of at least one superblock is ready for new data (see Wells, 0047) to managing superblock-based write processes in non-volatile memory storage devices (0001). Bert in view of Hodes and Kuzmin and Wells does not disclose, but Sander discloses a deallocation bit, wherein the deallocation bit (eg., 0083 - retire queue 102 may use the retire flag 269 associated with each store operation when determining when to deallocate an entry 262 allocated to that store operation and when to retire that store operation… determining when to deallocate an entry 252 allocated ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, with Sander, providing the benefit desirable to be able to perform data speculation in a processor and to provide an efficient recovery mechanism for misspeculations (see Sander, 0007). Claim 19 is rejected for reasons similar to Claim 2 above. Response to Arguments Applicant's arguments filed 12/5/2025 have been fully considered but they are not persuasive. For Claims 1, 10 and 18, Applicant argues that the cited references do not disclose the amended limitations. The Office disagrees. The Office submits that the updated combination of the cited references render the claimed limitations as obvious. Bert in view of Hodes and Kuzmin does not disclose, but Wells discloses in the stream release request, indicates whether or not to deallocate logical blocks associated with the stream (eg., 0046-0047 - the host 101 sends a stream termination command to the controller 120 including the stream ID and an indication that the data corresponding to the stream ID is no longer needed … [0047] At 355, the controller 120 determines that the data corresponding to the stream is no longer needed. For example, the controller 120 determines that the data corresponding to the stream is no longer needed by receiving the stream termination command or the deallocation/trim command ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, providing the benefit of at least one superblock is ready for new data (see Wells, 0047) to managing superblock-based write processes in non-volatile memory storage devices (0001). Bert in view of Hodes and Kuzmin and Wells does not disclose, but Sander discloses a deallocation bit, wherein the deallocation bit (eg., 0083 - retire queue 102 may use the retire flag 269 associated with each store operation when determining when to deallocate an entry 262 allocated to that store operation and when to retire that store operation… determining when to deallocate an entry 252 allocated ) It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the computing system to trim/deallocate streams from LBA space as disclosed by Bert with Hodes, with Kuzmin with Wells, with Sander, providing the benefit desirable to be able to perform data speculation in a processor and to provide an efficient recovery mechanism for misspeculations (see Sander, 0007). Applicant’s arguments for dependent claims are based on dependency from Claims 1, 10 and 18 (addressed above). Conclusion THIS ACTION IS MADE FINAL. 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 GAUTAM SAIN whose telephone number is (571)270-3555. The examiner can normally be reached M-F 9-5. 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, Jared Rutz can be reached at 571-272-5535. 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. /GAUTAM SAIN/Primary Examiner, Art Unit 2135
Read full office action

Prosecution Timeline

Oct 11, 2023
Application Filed
Dec 05, 2024
Non-Final Rejection — §103
Mar 06, 2025
Examiner Interview Summary
Mar 06, 2025
Applicant Interview (Telephonic)
Mar 10, 2025
Response Filed
Apr 30, 2025
Final Rejection — §103
Jul 07, 2025
Response after Non-Final Action
Jul 25, 2025
Request for Continued Examination
Jul 30, 2025
Response after Non-Final Action
Sep 09, 2025
Non-Final Rejection — §103
Nov 12, 2025
Interview Requested
Nov 20, 2025
Applicant Interview (Telephonic)
Nov 20, 2025
Examiner Interview Summary
Dec 05, 2025
Response Filed
Mar 03, 2026
Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602326
STORAGE DEVICE AND OPERATION METHOD THEREOF
2y 5m to grant Granted Apr 14, 2026
Patent 12585551
SMART LOAD BALANCING OF CONTAINERS FOR DATA PROTECTION USING SUPERVISED LEARNING
2y 5m to grant Granted Mar 24, 2026
Patent 12585386
MEMORY DEVICE WITH COMPUTATION FUNCTION AND OPERATION METHOD THEREOF
2y 5m to grant Granted Mar 24, 2026
Patent 12578873
MEMORY SYSTEM AND METHOD
2y 5m to grant Granted Mar 17, 2026
Patent 12572303
CACHE MANAGEMENT IN A MEMORY SUBSYSTEM
2y 5m to grant Granted Mar 10, 2026
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

5-6
Expected OA Rounds
67%
Grant Probability
92%
With Interview (+25.1%)
3y 5m
Median Time to Grant
High
PTA Risk
Based on 415 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