Prosecution Insights
Last updated: April 19, 2026
Application No. 17/728,776

WORKLOAD-DEPENDENT AGE TRACKING FOR NON-VOLATILE MEMORY

Final Rejection §102§103§112
Filed
Apr 25, 2022
Examiner
CHOWDHURY, SUBIR KUMAR
Art Unit
2132
Tech Center
2100 — Computer Architecture & Software
Assignee
Intel Corporation
OA Round
2 (Final)
83%
Grant Probability
Favorable
3-4
OA Rounds
2y 3m
To Grant
98%
With Interview

Examiner Intelligence

Grants 83% — above average
83%
Career Allow Rate
19 granted / 23 resolved
+27.6% vs TC avg
Strong +16% interview lift
Without
With
+15.9%
Interview Lift
resolved cases with interview
Typical timeline
2y 3m
Avg Prosecution
37 currently pending
Career history
60
Total Applications
across all art units

Statute-Specific Performance

§101
5.3%
-34.7% vs TC avg
§103
58.3%
+18.3% vs TC avg
§102
29.3%
-10.7% vs TC avg
§112
6.9%
-33.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 23 resolved cases

Office Action

§102 §103 §112
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 . Response to Amendment The information disclosure statement (IDS) submitted on 08/20/2025 is being considered by the examiner. Applicant’s updates on the drawings are considered and accepted, thus the objections are withdrawn. Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Claims 1, 10,19 rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. The added limitation in the amended claims 1, 10 and 19 “indicating the unscheduled memory access command” does not have sufficient support in the specification. The specification discloses scheduling oldest available command in paragraph [0038] for Fig 3, but not to unscheduled memory access command. Claims 1, 10 and 19 are therefore rejected under 35 U.S.C. 112 (pre-AIA ), first paragraph as failing to comply with the written description requirement. Dependent claims 2-9, 11-18 and 20 are rejected based on their dependency on rejected claims 1, 10 and 19. Claim Rejections - 35 USC § 102 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claim(s) 1,10 and 19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by prior art as admitted by the applicants in Fig 1, 2A, 2B and paragraph [0004], paragraph [0021], paragraph [0025]. These drawings and paragraphs teach conventional age tracking and command aging. With respect to claim 1, applicants disclosure teaches, A memory device comprising: input/output interface circuitry to receive memory access commands from a processor (see Fig 1, 2A-2B of applicants disclosure); a queue to store the memory access commands (Fig 1 104A…. 108C); an age counter for each of the memory access commands in the queue (par. [0019] discusses use of age counter); and hardware logic to: adjust the age counter (the “regular priority” and “high priority” in Fig. 2A-B and in [0019] teaches the changes to age count] for each of the memory access commands at an aging rate based on an average rate of scheduled commands for the queue; and select an oldest memory access command for scheduling based on the ages ([0019] “a valid age” is determined) of the memory access commands in the queue. Claims 10 and 19 are essentially the same as claim 1 except that they are directed to an apparatus and a method that is being implemented by the apparatus or memory device recited in claim 1, and therefore rejected for the same reasons as applied to claim 1. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1-2,4-6,10-11,13-15 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over BENISTY et al. (US 20200326890 A1), hereinafter “BENISTY” in view of Shen et al. (US 20220317924 A1) hereinafter “Shen.” Regarding claim 1, BENISTY teaches A memory device comprising: input/output interface circuitry to receive memory access commands from a processor; (“When commands are received from the submission queues 308 through the ingress 304 through the PCIe MAC PHY interconnection 326”) (paragraph [0071] line 3-4) (i.e. Fig 3 illustrates commands are received from computer system 300 thru ingress 304 and PCIe MAC PHY interconnection 326) a queue to store the memory access commands; (“The host computer system 300 has a host memory that has submission queues 308, completion queues 310”) (paragraph [0067] line 4-5) (i.e. Fig 3 illustrates host computer system 300 has a host memory that has submission queues 308 and completion queues 310) separate age counters for each of the received memory access commands stored in the queue; (“by including several counters and several timestamp registers per queue, the storage device may utilize several timestamps for the queued commands during the command fetch disable period”) (paragraph [0103] line 3-4) (i.e. several counters and several timestamp registers per queue are utilized for the queued commands where counters and timestamp registers work together as age counter) hardware logic to: adjust the separate age counters at an aging rate that is based on an average rate for which memory access commands stored (“The controller further includes a command counter. The method further includes receiving of the first command includes receiving a plurality of commands, recording of the first timestamp includes recording the first timestamp in the first timestamp register corresponding to a time of receipt of each one of the plurality of commands, and incrementing the command counter for each respective one of the plurality of commands”) (paragraph [0111] line 3-6) (“The method further includes attaching the average timestamp to a command that is not the first command to arrive, of the plurality of commands”) (paragraph [0111] line 21-22) (i.e. controller 324 in Fig 3 includes command counter where commands are received with timestamp recording timestamp in timestamp register corresponding to a time of receipt of each one of the plurality of commands and incrementing counter for each one of plurality of commands and also method includes averaging the timestamp to a command. In other words, plurality commands are received with average timestamp calculated from command counter and timestamp register) BENISTY teaches scheduling command queues based on age. However, BENISTY does not explicitly teach the queue had been selected for scheduling, wherein the average rate is based on a time interval between the memory access commands that had been selected for scheduling; and select an unscheduled memory access command from among the received memory access commands stored in the queue for scheduling based on the adjusted separate age counters for the received memory access commands indicating the unscheduled memory access command is the oldest unscheduled memory access command stored in the queue On the other hand, Shen which also relates to scheduling command queues based on age teaches the queue had been selected for scheduling, wherein the average rate is based on a time interval between the memory access commands that had been selected for scheduling; and select an unscheduled memory access command from among the received memory access commands stored in the queue for scheduling (see Fig 2, paragraph [0033], illustrates Arbiter 238 is bidirectionally connected to command queue 220 uses timing block 234 does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing) based on the adjusted separate age counters for the received memory access commands indicating the unscheduled memory access command is the oldest unscheduled memory access command stored in the queue (see Fig 2, paragraph [0033], illustrates Timing block 234 maintains a set of counters that determine eligibility based on this and other timing parameters where refresh control logic 232 monitors refresh commands or available commands, in other words age counters makes determination of commands based on refreshed or available and timing or age of commands) Both BENISTY and Shen relate to the same field of endeavor, i.e., scheduling command queues based on age. BENISTY teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, Shen teaches scheduling command queues based on command age and Arbiter connected to command queue uses timing block does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing and also timing block maintains counters that determine eligibility based on refreshed or available and timing or age of commands. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY with Shen by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable Arbiter connected to command queue using timing block which does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing and also timing block maintains counters that determine eligibility based on refreshed or available and timing or age of commands. The combined system of BENISTY - Shen allows arbiter to elevate at least one of the priority and the age of a decoded command of the first type that accesses the first memory region already stored in the command queue as mentioned in paragraph [0011]. Therefore, the combination of BENISTY - Shen improves efficiency. See Shen, paragraph [0003]. Regarding claim 2, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 1, wherein: the average rate is based on a moving average On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The memory device of claim 1, wherein: the average rate is based on a moving average. (“the commands are all given the value of the timestamp associated with the requests and placed into the command queue and the aging algorithm of the storage device ages the commands. In an alternate embodiment, the commands may be assigned timestamps based on statistical values such as an average value, between the first and last doorbell request timestamps”) (paragraph [0021] line 3-6) (i.e. the commands are all placed into the command queue and the aging algorithm of the storage device ages the commands and the aging algorithm may be based on statistical values such as an average value of timestamps) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 1 is equally applicable to claim 2. Regarding claim 4, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device Of claim 1, wherein the hardware logic to adjust the separate age counters for each of the received memory access commands stored in the queue is to further include the hardware logic to: increment the separate age counters after every X number of received memory access commands stored in the queue have been scheduled On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The memory device Of claim 1, wherein the hardware logic to adjust the separate age counters for each of the received memory access commands stored in the queue is to further include the hardware logic to: increment the separate age counters after every X number of received memory access commands stored in the queue have been scheduled. (“in order to differentiate the priority between the first command and the second command, the timestamp for each subsequent command received after the first command is incremented (e.g., a command counter). For example, a first command may have a priority of “x.” When receiving a second command, the second command has a priority of “x+1”, though the second command is associated with the first timestamp”) (paragraph [0102] line 6-9) (i.e. timestamps for each commands are incremented after they are received where a command may have a priority of “x.” which is incremented to x + 1 signifying x being an integer) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 1 is equally applicable to claim 4. Regarding claim 5, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 1, further comprising: multiple queues to store memory access commands from the processor; and wherein each of the multiple queues has an have independent aging rates based on the separate average rates for which memory access commands stored to the multiple queues had been selected for scheduling On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The memory device of claim 1, further comprising: multiple queues to store memory access commands from the processor; and wherein each of the multiple queues has an have independent aging rates based on the separate average rates for which memory access commands stored to the multiple queues had been selected for scheduling. (“FIG. 2 is a schematic illustration of an NVMe Weighted Round Robin (WRR) arbiter, according to one embodiment. The algorithm associated with this arbiter selects between different host SQs in a non-symmetrical manner wherein each queue has its own priority assigned by a host at the initialization phase”) (paragraph [0059] line 1-3 ) (i.e. Fig 2 illustrates an arbiter which selects between different host SQs each having its own priority for aging assigned by a host) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 1 is equally applicable to claim 5. Regarding claim 6, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 1, wherein the hardware logic is to: receive, from scheduling logic, a rejection of the selected unscheduled memory access command; and in response to the rejection, place the selected unscheduled memory access command in lockout mode for a predetermined time, wherein for the predetermined time the selected unscheduled memory access command in the lockout mode will not be scheduled On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The memory device of claim 1, wherein the hardware logic is to: receive, from scheduling logic, a rejection of the selected unscheduled memory access command; and in response to the rejection, place the selected unscheduled memory access command in lockout mode for a predetermined time, wherein for the predetermined time the selected unscheduled memory access command in the lockout mode will not be scheduled. (“At block 704, if the storage device has received a doorbell notification and the command fetching mode has been disabled”) (paragraph [0106] line 3-4) (“When the controller receives the command at block 754, the controller determines if there are any pending commands from the command fetching disable period at block 756”) (paragraph [0107] line 4-6) (i.e. Fig 7 illustrates in step 704, storage device receives doorbell notification and the command fetching mode has been disabled and at step 754 controller determines if there are any pending commands from the command fetching disable period. In other words, storage device may receive notification command fetching mode disable for a period of time when the commands will be pending) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 1 is equally applicable to claim 6. Regarding claim 10, BENISTY teaches A system comprising: a processor; and a memory device coupled with the processor, the memory device comprising: input/output interface circuitry to receive memory access commands from a processor; (“When commands are received from the submission queues 308 through the ingress 304 through the PCIe MAC PHY interconnection 326”) (paragraph [0071] line 3-4) (i.e. Fig 3 illustrates commands are received from computer system 300 thru ingress 304 and PCIe MAC PHY interconnection 326) a queue to store the memory access commands; (“The host computer system 300 has a host memory that has submission queues 308, completion queues 310”) (paragraph [0067] line 4-5) (i.e. Fig 3 illustrates host computer system 300 has a host memory that has submission queues 308 and completion queues 310) an age counter for each of the memory access commands in the queue; and (“by including several counters and several timestamp registers per queue, the storage device may utilize several timestamps for the queued commands during the command fetch disable period”) (paragraph [0103] line 3-4) (i.e. several counters and several timestamp registers per queue are utilized for the queued commands where counters and timestamp registers work together as age counter) hardware logic to: adjust the separate age counters at an aging rate that is based on an average rate for which memory access commands stored (“The controller further includes a command counter. The method further includes receiving of the first command includes receiving a plurality of commands, recording of the first timestamp includes recording the first timestamp in the first timestamp register corresponding to a time of receipt of each one of the plurality of commands, and incrementing the command counter for each respective one of the plurality of commands”) (paragraph [0111] line 3-6) (“The method further includes attaching the average timestamp to a command that is not the first command to arrive, of the plurality of commands”) (paragraph [0111] line 21-22) (i.e. controller 324 in Fig 3 includes command counter where commands are received with timestamp recording timestamp in timestamp register corresponding to a time of receipt of each one of the plurality of commands and incrementing counter for each one of plurality of commands and also method includes averaging the timestamp to a command. In other words, plurality commands are received with average timestamp calculated from command counter and timestamp register) BENISTY teaches scheduling command queues based on age. However, BENISTY does not explicitly teach the queue had been selected for scheduling, wherein the average rate is based on a time interval between the memory access commands that had been selected for scheduling; and select an unscheduled memory access command from among the received memory access commands stored in the queue for scheduling based on the adjusted separate age counters for the received memory access commands indicating the unscheduled memory access command is the oldest unscheduled memory access command stored in the queue On the other hand, Shen which also relates to scheduling command queues based on age teaches the queue had been selected for scheduling, wherein the average rate is based on a time interval between the memory access commands that had been selected for scheduling; and select an unscheduled memory access command from among the received memory access commands stored in the queue for scheduling (see Fig 2, paragraph [0033], illustrates Arbiter 238 is bidirectionally connected to command queue 220 uses timing block 234 does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing) based on the adjusted separate age counters for the received memory access commands indicating the unscheduled memory access command is the oldest unscheduled memory access command stored in the queue (see Fig 2, paragraph [0033], illustrates Timing block 234 maintains a set of counters that determine eligibility based on this and other timing parameters where refresh control logic 232 monitors refresh commands or available commands, in other words age counters makes determination of commands based on refreshed or available and timing or age of commands) Both BENISTY and Shen relate to scheduling command queues based on age. BENISTY teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, Shen teaches scheduling command queues based on command age and Arbiter connected to command queue uses timing block does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing and also timing block maintains counters that determine eligibility based on refreshed or available and timing or age of commands. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY with Shen by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable Arbiter connected to command queue using timing block which does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing and also timing block maintains counters that determine eligibility based on refreshed or available and timing or age of commands. The combined system of BENISTY - Shen allows arbiter to elevate at least one of the priority and the age of a decoded command of the first type that accesses the first memory region already stored in the command queue as mentioned in paragraph [0011]. Therefore, the combination of BENISTY - Shen improves efficiency. See Shen, paragraph [0003]. Regarding claim 11, BENISTY in view of Shen teaches scheduling command queues based on age in claim 10. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 10, wherein: the average rate is based on a moving average On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The memory device of claim 10, wherein: the average rate is based on a moving average. (“the commands are all given the value of the timestamp associated with the requests and placed into the command queue and the aging algorithm of the storage device ages the commands. In an alternate embodiment, the commands may be assigned timestamps based on statistical values such as an average value, between the first and last doorbell request timestamps”) (paragraph [0021] line 3-6) (i.e. the commands are all placed into the command queue and the aging algorithm of the storage device ages the commands and the aging algorithm may be based on statistical values such as an average value of timestamps) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 10 is equally applicable to claim 11. Regarding claim 13, BENISTY in view of Shen teaches scheduling command queues based on age in claim 10. However, BENISTY – Shen combination does not explicitly teach teaches The system of claim 10, wherein the hardware logic to adjust the separate age counters for the received memory access commands stored in the queue is to further include the hardware logic to: increment the separate age counters after every X number of received memory access commands stored in the queue have been scheduled, wherein X is a positive integer greater than or equal to one On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The system of claim 10, wherein the hardware logic to adjust the separate age counters for the received memory access commands stored in the queue is to further include the hardware logic to: increment the separate age counters after every X number of received memory access commands stored in the queue have been scheduled, wherein X is a positive integer greater than or equal to one. (“in order to differentiate the priority between the first command and the second command, the timestamp for each subsequent command received after the first command is incremented (e.g., a command counter). For example, a first command may have a priority of “x.” When receiving a second command, the second command has a priority of “x+1”, though the second command is associated with the first timestamp”) (paragraph [0102] line 6-9) (i.e. timestamps for each commands are incremented after they are received where a command may have a priority of “x.” which is incremented to x + 1 signifying x being an integer) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 10 is equally applicable to claim 13. Regarding claim 14, BENISTY in view of Shen teaches scheduling command queues based on age in claim 10. However, BENISTY – Shen combination does not explicitly teach teaches The system of claim 10, further comprising: multiple queues to store memory access commands from the processor; and wherein the multiple queues have independent aging rates based on separate average rates for which memory access commands stored to the multiple queues had been selected for scheduling On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The system of claim 10, further comprising: multiple queues to store memory access commands from the processor; and wherein the multiple queues have independent aging rates based on separate average rates for which memory access commands stored to the multiple queues had been selected for scheduling. (“FIG. 2 is a schematic illustration of an NVMe Weighted Round Robin (WRR) arbiter, according to one embodiment. The algorithm associated with this arbiter selects between different host SQs in a non-symmetrical manner wherein each queue has its own priority assigned by a host at the initialization phase”) (paragraph [0059] line 1-3 ) (i.e. Fig 2 illustrates an arbiter which selects between different host SQs each having its own priority for aging assigned by a host) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 10 is equally applicable to claim 14. Regarding claim 15, BENISTY in view of Shen teaches scheduling command queues based on age in claim 10. However, BENISTY – Shen combination does not explicitly teach teaches The system of claim 10, wherein the hardware logic is to: receive, from scheduling logic, a rejection of the selected unscheduled memory access command; and in response to the rejection, place the selected unscheduled memory access command in lockout mode for a predetermined time, wherein for the predetermined time the selected unscheduled memory access command will not be scheduled On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The system of claim 10, wherein the hardware logic is to: receive, from scheduling logic, a rejection of the selected unscheduled memory access command; and in response to the rejection, place the selected unscheduled memory access command in lockout mode for a predetermined time, wherein for the predetermined time the selected unscheduled memory access command will not be scheduled. (“At block 704, if the storage device has received a doorbell notification and the command fetching mode has been disabled”) (paragraph [0106] line 3-4) (“When the controller receives the command at block 754, the controller determines if there are any pending commands from the command fetching disable period at block 756”) (paragraph [0107] line 4-6) (i.e. Fig 7 illustrates in step 704, storage device receives doorbell notification and the command fetching mode has been disabled and at step 754 controller determines if there are any pending commands from the command fetching disable period. In other words, storage device may receive notification command fetching mode disable for a period of time when the commands will be pending) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 10 is equally applicable to claim 15. Regarding claim 19, BENISTY teaches A method comprising: receiving memory access commands from a host; storing the memory access commands in a queue; (“The host computer system 300 has a host memory that has submission queues 308, completion queues 310”) (paragraph [0067] line 4-5) (i.e. Fig 3 illustrates host computer system 300 has a host memory that has submission queues 308 and completion queues 310) incrementing separate age counters the received memory access commands stored in the queue at an aging rate that is based on an average rate for which memory access commands stored (“The controller further includes a command counter. The method further includes receiving of the first command includes receiving a plurality of commands, recording of the first timestamp includes recording the first timestamp in the first timestamp register corresponding to a time of receipt of each one of the plurality of commands, and incrementing the command counter for each respective one of the plurality of commands”) (paragraph [0111] line 3-6) (“The method further includes attaching the average timestamp to a command that is not the first command to arrive, of the plurality of commands”) (paragraph [0111] line 21-22) (i.e. controller 324 in Fig 3 includes command counter where commands are received with timestamp recording timestamp in timestamp register corresponding to a time of receipt of each one of the plurality of commands and incrementing counter for each one of plurality of commands and also method includes averaging the timestamp to a command. In other words, plurality commands are received with average timestamp calculated from command counter and timestamp register) BENISTY teaches scheduling command queues based on age. However, BENISTY does not explicitly teach the queue had been selected for scheduling, wherein the average rate is based on a time interval between the memory access commands that had been selected for scheduling; and select an unscheduled memory access command from among the received memory access commands stored in the queue for scheduling based on the adjusted separate age counters for the received memory access commands indicating the unscheduled memory access command is the oldest unscheduled memory access command stored in the queue On the other hand, Shen which also relates to scheduling command queues based on age teaches the queue had been selected for scheduling, wherein the average rate is based on a time interval between the memory access commands that had been selected for scheduling; and select an unscheduled memory access command from among the received memory access commands stored in the queue for scheduling (see Fig 2, paragraph [0033], illustrates Arbiter 238 is bidirectionally connected to command queue 220 uses timing block 234 does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing) based on the adjusted separate age counters for the received memory access commands indicating the unscheduled memory access command is the oldest unscheduled memory access command stored in the queue (see Fig 2, paragraph [0033], illustrates Timing block 234 maintains a set of counters that determine eligibility based on this and other timing parameters where refresh control logic 232 monitors refresh commands or available commands, in other words age counters makes determination of commands based on refreshed or available and timing or age of commands) Both BENISTY and Shen relate to scheduling command queues based on age. BENISTY teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, Shen teaches scheduling command queues based on command age and Arbiter connected to command queue uses timing block does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing and also timing block maintains counters that determine eligibility based on refreshed or available and timing or age of commands. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY with Shen by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable Arbiter connected to command queue using timing block which does intelligent scheduling by enforcing timing relationship of commands where it makes determination if commands are eligible for selection based on timing and also timing block maintains counters that determine eligibility based on refreshed or available and timing or age of commands. The combined system of BENISTY - Shen allows arbiter to elevate at least one of the priority and the age of a decoded command of the first type that accesses the first memory region already stored in the command queue as mentioned in paragraph [0011]. Therefore, the combination of BENISTY - Shen improves efficiency. See Shen, paragraph [0003]. Regarding claim 20, BENISTY in view of Shen teaches scheduling command queues based on age in claim 19. However, BENISTY – Shen combination does not explicitly teach teaches The method of claim 19, wherein: the aging rate increases when the average rate increases; and the aging rate decreases when the average rate decreases On the other hand, BENISTY which also relates to scheduling command queues based on age teaches The method of claim 19, wherein: the aging rate increases when the average rate increases; and the aging rate decreases when the average rate decreases. (“the commands are all given the value of the timestamp associated with the requests and placed into the command queue and the aging algorithm of the storage device ages the commands. In an alternate embodiment, the commands may be assigned timestamps based on statistical values such as an average value, between the first and last doorbell request timestamps”) (paragraph [0021] line 3-6) (i.e. the commands are all placed into the command queue and the aging algorithm of the storage device ages the commands and the aging algorithm may be based on statistical values such as an average value of timestamps) The same motivation that was utilized for combining BENISTY and Shen as set forth in claim 19 is equally applicable to claim 20. Claim(s) 3 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over BENISTY in view of Shen and further in view of DeRosa et al. (US 20180335976 A1) hereinafter DeRosa. Regarding claim 3, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 1, wherein: the aging rate increases when the average rate of scheduled commands for the queue increases; and the aging rate decreases when the average rate of scheduled commands for the queue decreases. Also, BENISTY does not teach command aging increase or decrease stat depending on number of total I/O operations completion or scheduled in the queue. On the other hand, DeRosa which also relates to scheduling command queues based on age teaches The memory device of claim 1, wherein: the aging rate increases when the average rate of scheduled commands for the queue increases; and the aging rate decreases when the average rate of scheduled commands for the queue decreases. (“FIGS. 3-8 illustrate various graphs illustrating I/O completions and aging for various queue depths. For example, FIG. 3 illustrates a percentage of I/Os completed vs. the age of the I/Os at time of execution, or activation, for queue depth of 4. FIG. 4 illustrates probabilistic command aging penalties vs. the age of the I/Os at time of execution, or activation, for a queue depth of 4. FIGS. 5 and 6 illustrate these features for queue depths of 8 whereas FIGS. 7 and 8 illustrate these features for queue depths of 32”) (paragraph [0033] line 1-5) (i.e. Fig 3-8 illustrate graphs of I/O operations vs aging of various queue depths. Fig 3, 5, 7 illustrate command age increases with percentage of I/O operations completion. In other words, command aging increase or decrease stat depending on number of total I/O operations completion or scheduled in the queue) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine BENISTY with Shen for the reasons set forth in claim 1 above. In addition, BENISTY, Shen and DeRosa are considered analogous arts, because they all relate to scheduling command queues based on age. BENISTY – Shen combination teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, DeRosa teaches scheduling command queues based on command age and command aging increase or decrease stat depends on number of total I/O operations completion or scheduled in the queue. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY – Shen combination with DeRosa by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable a stat of command aging increase or decrease depending on number of total I/O operations completion or scheduled in the queue. The combined system of BENISTY – Shen - DeRosa allows systems and methods that generally enforce maximum command completion times in a way that substantially reduces disruption to performance as mentioned in paragraph [0003]. Therefore, the combination of BENISTY – Shen - DeRosa improves performance. See DeRosa, paragraph [0003]. Regarding claim 12, BENISTY in view of Shen teaches scheduling command queues based on age in claim 10. However, BENISTY – Shen combination does not explicitly teach teaches The system of claim 10, wherein: the aging rate increases when the average rate of scheduled commands for the queue increases; and the aging rate decreases when the average rate of scheduled commands for the queue decreases. Also, BENISTY does not teach command aging increase or decrease stat depending on number of total I/O operations completion or scheduled in the queue. On the other hand, DeRosa which also relates to scheduling command queues based on age teaches The system of claim 10, wherein: the aging rate increases when the average rate of scheduled commands for the queue increases; and the aging rate decreases when the average rate of scheduled commands for the queue decreases. (“FIGS. 3-8 illustrate various graphs illustrating I/O completions and aging for various queue depths. For example, FIG. 3 illustrates a percentage of I/Os completed vs. the age of the I/Os at time of execution, or activation, for queue depth of 4. FIG. 4 illustrates probabilistic command aging penalties vs. the age of the I/Os at time of execution, or activation, for a queue depth of 4. FIGS. 5 and 6 illustrate these features for queue depths of 8 whereas FIGS. 7 and 8 illustrate these features for queue depths of 32”) (paragraph [0033] line 1-5) (i.e. Fig 3-8 illustrate graphs of I/O operations vs aging of various queue depths. Fig 3, 5, 7 illustrate command age increases with percentage of I/O operations completion. In other words, command aging increase or decrease stat depending on number of total I/O operations completion or scheduled in the queue) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine BENISTY with Shen for the reasons set forth in claim 1 above. In addition, BENISTY, Shen and DeRosa are considered analogous arts, because they all relate to scheduling command queues based on age. BENISTY – Shen combination teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, DeRosa teaches scheduling command queues based on command age and command aging increase or decrease stat depends on number of total I/O operations completion or scheduled in the queue. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY – Shen combination with DeRosa by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable a stat of command aging increase or decrease depending on number of total I/O operations completion or scheduled in the queue. The combined system of BENISTY – Shen - DeRosa allows systems and methods that generally enforce maximum command completion times in a way that substantially reduces disruption to performance as mentioned in paragraph [0003]. Therefore, the combination of BENISTY – Shen - DeRosa improves performance. See DeRosa, paragraph [0003]. Claim(s) 7 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over BENISTY in view of Shen and further in view of Bavishi et al. (US 20210109659 A1) hereinafter Bavishi. Regarding claim 7, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 6, wherein the logic to place the selected memory access command in lockout mode is to: set a lockout bit for the memory access command. Also, BENISTY does not teach processing device can set the block bit to a blocked state and assign tag to the queue. On the other hand, Bavishi which also relates to scheduling command queues based on age teaches The memory device of claim 6, wherein the logic to place the selected memory access command in lockout mode is to: set a lockout bit for the memory access command. (“The processing device can store the request in the queue in the invalid state, assign the tag to the queue, set the valid bit to a valid state, and set the block bit to a blocked state”) (paragraph [0072] line 5-6) (i.e. the processing device can store the request in the queue in invalid state and set the block bit to a blocked state. In other words, processing device can set the block bit to a blocked state and assign tag to the queue) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine BENISTY with Shen for the reasons set forth in claim 1 above. In addition, BENISTY, Shen and Bavishi are considered analogous arts, because they all relate to scheduling command queues based on age. BENISTY – Shen combination teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, Bavishi teaches scheduling command queues based on command age and processing device can set the block bit to a blocked state and assign tag to the queue. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY BENISTY – Shen combination with Bavishi by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable processing device which can set the block bit to a blocked state and assign tag to the queue. The combined system of BENISTY – Shen - Bavishi allows to regulate the processing of the requests through the outstanding command queues as mentioned in paragraph [0032]. Therefore, the combination of BENISTY – Shen - Bavishi improves quality of service. See Bavishi, paragraph [0033]. Regarding claim 16, BENISTY in view of Shen teaches scheduling command queues based on age in claim 15. However, BENISTY – Shen combination does not explicitly teach teaches The system of claim 15, wherein the logic to place the selected memory access command in lockout mode is to: set a lockout bit for the memory access command. Also, BENISTY does not teach processing device can set the block bit to a blocked state and assign tag to the queue. On the other hand, Bavishi which also relates to scheduling command queues based on age teaches The system of claim 15, wherein the logic to place the selected memory access command in lockout mode is to: set a lockout bit for the memory access command. (“The processing device can store the request in the queue in the invalid state, assign the tag to the queue, set the valid bit to a valid state, and set the block bit to a blocked state”) (paragraph [0072] line 5-6) (i.e. the processing device can store the request in the queue in invalid state and set the block bit to a blocked state. In other words, processing device can set the block bit to a blocked state and assign tag to the queue) It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine BENISTY with Shen for the reasons set forth in claim 1 above. In addition, BENISTY, Shen and Bavishi are considered analogous arts, because they all relate to scheduling command queues based on age. BENISTY – Shen combination teaches scheduling command queues based on command age determined from average value of timestamp. On the other hand, Bavishi teaches scheduling command queues based on command age and processing device can set the block bit to a blocked state and assign tag to the queue. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine BENISTY – Shen combination with Bavishi by incorporating the scheduling command queues based on command age, as taught by DeRosa, to enable processing device which can set the block bit to a blocked state and assign tag to the queue. The combined system of BENISTY – Shen - Bavishi allows to regulate the processing of the requests through the outstanding command queues as mentioned in paragraph [0032]. Therefore, the combination of BENISTY - Bavishi improves quality of service. See Bavishi, paragraph [0033]. Claim(s) 8-9 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over BENISTY in view of Shen and further in view of DeRosa2 et al. (US 10310923 B1) hereinafter DeRosa2. Regarding claim 8, BENISTY in view of Shen teaches scheduling command queues based on age in claim 1. However, BENISTY – Shen combination does not explicitly teach teaches The memory device of claim 1, wherein the hardware logic is to: halt aging for the memory access commands in the queue when a memory access command in the queue is starving. Also, BENISTY does not teach when a command reaches age threshold or starvation stage, storage device may halt access by other commands. On the other hand, DeRosa2 which also relates to scheduling command queues based on age teaches The memory device of claim 1, wherein the hardware logic is to: halt aging for the memory access commands in the queue when a memory access command in the queue is starving. (“If a command in the command queue reaches a time-out age threshold, the DSD 104 may halt the selection of other commands and service the command that has reached the age threshold”) (col 5 line 1-4) (i.e. when a command in the command queue reaches a time-out age threshold DSD 104 (Fig 1) may halt the selection of other
Read full office action

Prosecution Timeline

Apr 25, 2022
Application Filed
Jul 26, 2022
Response after Non-Final Action
May 18, 2025
Non-Final Rejection — §102, §103, §112
Aug 20, 2025
Response Filed
Sep 10, 2025
Final Rejection — §102, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12566564
EFFICIENT USAGE OF REDUNDANT COLUMNS IN FLASH MEMORY
2y 5m to grant Granted Mar 03, 2026
Patent 12535967
BUFFERING DEVICE AND CONTROL METHOD THEREOF
2y 5m to grant Granted Jan 27, 2026
Patent 12524168
NON-VOLATILE MEMORY DEVICE AND STORAGE DEVICE
2y 5m to grant Granted Jan 13, 2026
Patent 12524157
STRUCTURED DATA FILTERING IN MEMORY DEVICES
2y 5m to grant Granted Jan 13, 2026
Patent 12504884
SERVICE LIFETIME MONITORING AND EARLY WARNING METHOD, MEMORY STORAGE DEVICE AND MEMORY CONTROL CIRCUIT UNIT
2y 5m to grant Granted Dec 23, 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
83%
Grant Probability
98%
With Interview (+15.9%)
2y 3m
Median Time to Grant
Moderate
PTA Risk
Based on 23 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