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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 10/23/2024 has been entered.
Response to Arguments
Applicant’s amendments, changing and broadening the scope of the claims, filed on 10/23/2024, and corresponding arguments with respect to the rejection(s) of claim(s) 1,3-4,9-10 and 21-23 under 35 U.S.C. 103 have been fully considered. The rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Opastrakoon et al. (US 20220284974 A1) filed on 3/2/2021 and Mishra et al. (US 20170168966 A1).
Claim Objections
Claims 29 and 35 are objected to because of the following informalities:
The claims lack indentation for properly delineating each limitation
Appropriate correction is required.
Claim Interpretation
The term “switchable” is interpreted to differentiate from an immutable state to a changeable or mutable state. Specifically, regarding the “always-on” power domain versus the “switchable” domain, “always-on” is interpreted to indicate a constant power source, while a “switchable” indicates that the power supply may be turned on or off by any means.
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, 11 and 17 are 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 claims recite the limitation “always on power domain” The limitation(s) in question do not satisfy the written description requirement under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph. The specification does not describe the limitation(s) in sufficient detail so that one of ordinary skill in the art would recognize that the applicant had possession of the claimed invention.
In this case, the specification does not provide sufficient details to “always on power domain”. No algorithm or steps/procedure/structure for performing the function can be found, explained at all or in sufficient detail. The portions of the specification relating to “always on power domain” are found in par. [0015]. However, the specification lacks any specific details as to how Applicant intends to achieve this function other than reciting a “nonswitchable power domain”. It is unclear by what means Applicant is achieving such a result.
Description as to how the applicant intends to implement an “always on power domain” is not described. Therefore, the specification does not provide a disclosure of the computer and algorithm in sufficient detail to demonstrate to one of ordinary skill in the art that the inventor possessed the invention under 35 U.S.C. 112(a).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1 is/are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon et al. (US 20220284974 A1) filed on 3/2/2021 and in further view of Mishra et al. (US 20170168966 A1).
Regarding claim 1, Opastrakoon discloses A system, comprising:
a processor; (Opastrakoon, #117)
a nonvolatile memory (Opastrakoon, #130) comprising a trim sector (Opastrakoon, #134)
one or more peripherals; and (Opastrakoon, #130)
a trim controller external to the one or more peripherals and (Opastrakoon, #113) communicably coupled to the one or more peripherals, the trim controller configured to:
receive, for each of the one or more peripherals, trim values (Opastrakoon, #320) of the one or more peripherals from the trim sector of the nonvolatile memory, and provide the trim values to the one or more peripherals, (Opastrakoon, [0053] “As shown, configuration setting control component 113 of memory subsystem controller 115 can monitor the access operations performed on memory device 130. In various implementations, as described above, configuration setting control component 113 can monitor programming operations 301 performed on memory device 130 until the number of operations satisfies a threshold criterion associated with the configuration setting values (e.g., trim settings). In one embodiment, the threshold criterion is satisfied with the number of operations performed meets or exceeds a threshold value. Thus, the threshold criterion remains unsatisfied when the number of operations performed is below the threshold value. When the threshold criterion has been satisfied, configuration setting control component 113 can send a request 302 to configuration setting manager 134 to adjust the configuration settings 320 of memory device 130. Notably, the single request 302 can cause configuration setting manager 134 to update multiple configuration settings 320 using information included in the request.”)
Opastrakoon fails to explicitly disclose wherein the trim controller is in an always-on power domain, and the one or more peripherals are in switchable power domains.
However, Mishra teaches wherein the trim controller is in an always-on power domain, and the one or more peripherals are in switchable power domains. (Mishra, [0072] “FIG. 10 illustrates certain aspects of a finite state machine 1000 that can support virtual GPIO in an apparatus. The finite state machine 1000 may monitor state information from a plurality of input sources 1024, including hardware events 1002, configuration parameters 1004, masked data 1006 and/or configuration parameter register addresses 1008.”; [0073] “The finite state machine 1000 may be deployed in an always-on domain to ensure that circuits configured to monitor state and state changes are available when certain input/output states are of interest, including when an active peripheral device is associated with the input/output states of interest. In many implementations, it may be necessary to provide the finite state machine 1000 in the always-on domain to permit reliable monitoring of input/output state.”; [0075] “The finite state machine 1000 may be configured to transmit several different types of packets, and the finite state machine 1000 may select a type of packet in order to optimize latency in the communication link In one example, the finite state machine 1000 may select the packet type based on the GPIO data to be transmitted and an associated configuration of GPIO pins.”)
Mishra is directed to monitoring transfer interfaces. Specifically, Mishra teaches programmable configuration registers wherein, the associated peripheral interfaces must be monitored at all times. Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Mishra to include the above limitation. Such modification(s) would be motivated to ensure that circuits configured to monitor state changes (i.e. switchable domain peripherals) are available when input/output states are of interest. (Mishra, [0073])
Regarding claim 11, Opastrakoon discloses A system, comprising:
a nonvolatile memory (Opastrakoon, #130) comprising a trim sector; (Opastrakoon, #134)
one or more peripherals; and (Opastrakoon, #130)
a trim controller (Opastrakoon, #113) communicably coupled to the one or more peripherals; and
a processor (Opastrakoon, #117) configured to:
initiate a boot process of the system; (Opastrakoon, [0014] “This can lead to an increase in time to ready (TTR) during power up, a significant reduction in performance immediately during the adjustment cycle as well as over the life of the device, and an increase in risk of error as a result of an interrupted trim update.”; [0016] “Aspects of the present disclosure address the above and other deficiencies by accelerating configuration updates to memory devices.”)
during the boot process, read trim values of the one or more peripherals from the nonvolatile memory, and (Opastrakoon, [0014] “In such implementations, the memory sub-system controller can modify the trim values by reading the trim value from the memory device, adjusting the value, and rewriting the trim value back to the memory device.”)
provide the trim values (Opastrakoon, #320) to the trim controller, wherein the trim controller is configured to provide the trim values to the one or more peripherals. (Opastrakoon, [0053] “As shown, configuration setting control component 113 of memory subsystem controller 115 can monitor the access operations performed on memory device 130. In various implementations, as described above, configuration setting control component 113 can monitor programming operations 301 performed on memory device 130 until the number of operations satisfies a threshold criterion associated with the configuration setting values (e.g., trim settings). In one embodiment, the threshold criterion is satisfied with the number of operations performed meets or exceeds a threshold value. Thus, the threshold criterion remains unsatisfied when the number of operations performed is below the threshold value. When the threshold criterion has been satisfied, configuration setting control component 113 can send a request 302 to configuration setting manager 134 to adjust the configuration settings 320 of memory device 130. Notably, the single request 302 can cause configuration setting manager 134 to update multiple configuration settings 320 using information included in the request.”)
Opastrakoon fails to explicitly disclose and wherein the trim controller is in an always-on power domain, and the one or more peripherals are in switchable power domains.
However, Mishra teaches wherein the trim controller is in an always-on power domain, and the one or more peripherals are in switchable power domains. (Mishra, [0072] “FIG. 10 illustrates certain aspects of a finite state machine 1000 that can support virtual GPIO in an apparatus. The finite state machine 1000 may monitor state information from a plurality of input sources 1024, including hardware events 1002, configuration parameters 1004, masked data 1006 and/or configuration parameter register addresses 1008.”; [0073] “The finite state machine 1000 may be deployed in an always-on domain to ensure that circuits configured to monitor state and state changes are available when certain input/output states are of interest, including when an active peripheral device is associated with the input/output states of interest. In many implementations, it may be necessary to provide the finite state machine 1000 in the always-on domain to permit reliable monitoring of input/output state.”; [0075] “The finite state machine 1000 may be configured to transmit several different types of packets, and the finite state machine 1000 may select a type of packet in order to optimize latency in the communication link In one example, the finite state machine 1000 may select the packet type based on the GPIO data to be transmitted and an associated configuration of GPIO pins.”)
Mishra is directed to monitoring transfer interfaces. Specifically, Mishra teaches programmable configuration registers wherein, the associated peripheral interfaces must be monitored at all times. Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Mishra to include the above limitation. Such modification(s) would be motivated to ensure that circuits configured to monitor state changes (i.e. switchable domain peripherals) are available when input/output states are of interest. (Mishra, [0073])
Regarding claim 30, Opastrakoon in view of Mishra disclose The system of claim 1, wherein the trim controller is configured to provide the trim values using a dedicated output for each bit of the trim values, wherein each dedicate output is configured to provide a fixed signal representing the corresponding bit. (Opastrakoon, [0056] “Each updated configuration setting is subsequently stored in a register for that setting value.”; [0062] “Notably, the single request causes the memory device to perform adjustment operations on multiple configuration setting values. As noted above, the request can include information to direct the memory device to apply a multiplier value to one or more configuration adjustment definition equations to perform the adjustment operations on the configuration setting values. Additionally, the request can include information to specify which configuration setting values are to be adjusted by the adjustment operation.”)
Regarding claim 31, Opastrakoon in view of Mishra disclose The system of claim 1, wherein the trim controller is configured to provide the trim values to the one or more peripheral when the one or more peripherals are powered off. (Larsen, [cl.10 ln.10-15] “In one embodiment, this portion is a mini-array that is separate from the main flash array. Upon power-down, a system software routine writes the settings of each volatile register to the flash memory. A flash bit stores the setting for each volatile register. In this manner, the volatile register settings are maintained when the circuit is powered down.”)
Regarding claim 32, Opastrakoon in view of Mishra disclose The system of claim 1, wherein the trim controller is configured to provide the trim values to the one or more peripheral serially. (Opastrakoon, [0023] “The physical host interface can be used to transmit data between the host system 120 and the memory sub-system 110. The host system 120 can further utilize an NVM Express (NVMe) interface to access components (e.g., memory devices 130) when the memory sub-system 110 is coupled with the host system 120 by the physical host interface (e.g., PCIe bus). The physical host interface can provide an interface for passing control, address, data, and other signals between the memory sub-system 110 and the host system 120.”)
Claim(s) 3-4, 29, and 35 are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Mishra as applied above for claims 1 and 11, and in further view of Larsen et al. (US 6154819 A) and Rowley (US 20210026569 A1).
Regarding claim 29, Opastrakoon in view of Mishra teaches The system of claim 1, further comprising a counter, wherein the trim sector includes first trim registers, second trim registers, (Opastrakoon, #320-1..N, “Configuration Settings")
and a first lock register, wherein the first lock register is configured to unlock the second trim registers, (Larsen, Col. 5 ln. 33-34 “Conversely, a logic low ("0") block set/reset level will cause the corresponding block to be unlocked.”)
wherein the second trim registers are updateable when the second trim registers are unlocked, (Larsen, Col. 2 ln. 58-60 “A locked block is protected against modification from subsequent write or erase operations, while an unlocked block can be programmed or erased.”)
Larsen is directed to protecting memory blocks in a flash memory device. The volatile lock registers taught by Larsen function in a similar manner to the volatile lock register of the present invention. Similar to Opastrakoon, Larsen is directed to modifying configuration registers. This is analogous to the presently claimed invention modifying trim registers and falls in the scope of the broadest reasonable interpretation of the claimed limitations.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Larsen to include wherein the trim sector further includes a volatile lock register. Such modification(s) would be motivated to allow real-time protection by minimizing lock and unlock cycle times.
wherein the counter is configured to be initiated upon occurrence of an update to the second trim registers, wherein expiration of the counter causes the first lock register to be relocked, and wherein, when the second trim registers are unlocked, the counter is configured to be restarted upon occurrence of another update to the second trim registers. (Rowley, Fig. 3, [0049] “In some embodiments, the method simply discards the message. In other embodiments, the method may employ a short counter to disable further write requests for a small number of clock cycles. In some embodiments, this counter may be employed to prevent brute force attempts to try all combinations of register values.”)
Rowley is directed to protecting the register file of a device. Rowley’s disclosure of a counter used prevent subsequent writes to a register is similar to the counter of the present invention, where, upon meeting a threshold, writing to a register is prevented. As shown in Fig. 3 and described in par. [0049] of Rowley, upon an occurrence of a write request (drawn to “updating” a register generically), the process of Fig. 3 is performed. The counter disclosed by Rowley meets the claim limitations.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Larsen to incorporate the teachings of Rowley to include a counter configured to be initiated upon occurrence of an update to an application-specific trim register, and expiration of the counter causes the volatile lock register to be relocked. Such modification(s) would be motivated to prevent brute force attacks. (Rowley, [0049])
Regarding claim 35, Opastrakoon in view of Mishra teaches The system of claim 11, further comprising a counter,
wherein the trim controller comprises an immutable aperture, a mutable aperture, and a first lock register, wherein the immutable aperture is configured to hold first trim values, wherein the mutable aperture is configured to hold second trim values, (Opastrakoon, [0012] “The trim settings can include parameters such as the programming signal magnitude (e.g., voltage and/or current level), erase signal magnitude (e.g., voltage and/or current level), sensing signal magnitude (e.g., voltage and/or level), programming signal length, erase signal length, sensing signal length, number of bits per cells, number of programming signals in a programming operation, number of sensing signals in a sensing operation, allowable programming operation rate for a memory device, or other similar information.”; [0040] “At operation 210, the processing logic receives a request to perform an adjustment operation on a set of configuration setting values for a memory device (e.g., memory device 130 in FIG. 1). As noted above, configuration setting values can be implemented as trim values stored in trim registers for a memory device. In various implementations, the configuration settings can be used to customize access operations of the memory device. Also as noted above, a firmware or control component of a memory sub-system controller (e.g., a configuration setting control component 113 of memory sub-system controller 115 in FIG. 1) can control the adjustment of the configuration settings during the lifetime of a memory device based on determined ranges of programming operations (e.g., program/erase cycles) performed on the memory device. These adjustments can be performed to maintain the performance and reliability of the memory device as the device ages.”)
It is noted, according to par. [0021]-[0023] and Fig. 2, Applicant appears to define an “aperture” as a group of registers in memory. Examiner notes, so long as the prior art discloses at least the registers that comprise the aperture, then the prior art meets the claim limitations. In this case, the mutable aperture holds a set of trim registers and the immutable aperture holds another set of trim registers. The only distinction between trim registers is the label “first” and “second”.
wherein the trim controller further comprises a mutable aperture unlock state in which the second trim values are modifiable, (Larsen, Col. 2 ln. 58-60 “A locked block is protected against modification from subsequent write or erase operations, while an unlocked block can be programmed or erased.”)
wherein the first lock register is configured to transition the mutable aperture to the mutable aperture unlock state, (Larsen, Col. 5 ln. 33-34 “Conversely, a logic low ("0") block set/reset level will cause the corresponding block to be unlocked.”)
wherein the counter is configured to be initiated upon occurrence of an update to the mutable aperture, wherein expiration of the counter causes the mutable aperture to exit the mutable aperture unlock state, and wherein, when the mutable aperture is in the mutable aperture unlock state, the counter is configured to be restarted upon occurrence of another update to the mutable aperture. (Rowley, Fig. 3, [0049] “In some embodiments, the method simply discards the message. In other embodiments, the method may employ a short counter to disable further write requests for a small number of clock cycles. In some embodiments, this counter may be employed to prevent brute force attempts to try all combinations of register values.”)
Rowley is directed to protecting the register file of a device. Rowley’s disclosure of a counter used prevent subsequent writes to a register is similar to the counter of the present invention, where, upon meeting a threshold, writing to a register is prevented. As shown in Fig. 3 and described in par. [0049] of Rowley, upon an occurrence of a write request (drawn to “updating” a register generically), the process of Fig. 3 is performed. The counter disclosed by Rowley meets the claim limitations.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Larsen to incorporate the teachings of Rowley to include a counter configured to be initiated upon occurrence of an update to an application-specific trim register, and expiration of the counter causes the volatile lock register to be relocked. Such modification(s) would be motivated to prevent brute force attacks. (Rowley, [0049])
Regarding claim 3, Opastrakoon in view of Larsen and Rowley discloses The system of claim 29, but fails to disclose wherein the trim sector further includes a second lock register.
However, Grafton teaches wherein the trim sector further includes a global lock register (Grafton, [0025] “global lock register”)
Grafton is directed to a security-aware master, where configuration of “slave” peripheral devices is managed by a global lock register, write protection register and other security registers. The “global lock register” of Grafton achieves the desired result of the present invention. While Grafton does not disclose a “trim sector” or “trim values”, Grafton’s “global lock register” is directed to controlling write-protection of registers associated with peripheral devices. The present disclosure is similarly directed to controlling access of registers associated with peripheral devices.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Grafton to include wherein the trim sector further includes a global lock register. Such modification would be motivated to prevent access to peripheral devices’ associated registers. (Grafton, [0025])
Regarding claim 4, Opastrakoon in view of Larsen and Rowley disclose The system of claim 3, wherein the second lock register is configured to initiate a second lock mode, and wherein the first trim registers and second trim registers are write-protected in a global lock mode. (Grafton, [0025] “Enabling the global locking register can activate a global lock signal, such that when a lock enable portion of a peripheral's associated control register is set and the global lock signal is recognized, the peripheral blocks further access to its control register.”)
Grafton’s “global lock[ing] register” applies to all peripheral devices, similar to what is claimed. Examiner construes the term “lock” with “write-protection” as they are used interchangeably in par. [0025] of Grafton.
Regarding claim 10, Opakstrakoon in view of Larsen and Rowley discloses The system of claim 1, wherein the trim controller is configured to include configuration and status registers of one or more additional peripherals. (Opastrakoon, #320)
Opastrakoon discloses the configuration registers being included as part of the trim controller, these correspond to the configuration and status registers of the one or more additional peripherals as claimed by Applicant.
Regarding claim 12, Opastrakoon in view of Larsen and Rowley discloses The system of claim 11, wherein the trim values are configured to be provided to the one or more peripherals as sideband signals from the trim controller. (Opastrakoon, Fig. 3 #341-345)
Regarding claim 22, Opastrakoon in view of Larsen, Roweley, and Grafton disclose The system of claim 4, wherein the second lock register is configured to be loaded during a boot sequence of the system. (Opastrakoon, [0014] “This can lead to an increase in time to ready (TTR) during power up, a significant reduction in performance immediately during the adjustment cycle as well as over the life of the device, and an increase in risk of error as a result of an interrupted trim update.”; [0016] “Aspects of the present disclosure address the above and other deficiencies by accelerating configuration updates to memory devices.”)
Since Opastrakoon is being modified to incorporate the “global” lock register (drawn to “second”) of Grafton, and the process of Opastrakoon occurs during power up (drawn to boot), the combination of Opastrakoon in view of Larson, Rowley and Grafton meets the claim limitation.
Regarding claim 23, Opastrakoon in view of Larsen and Rowley disclose The system of claim 1, wherein first trim values of the first trim registers and second trim values of the second trim registers are configured to be stored in a contiguous manner and without any intermediary unused bits. (Opastrakoon, Fig. 3 #320-1…N; [0051] “As shown, memory device 130 can be configured with configuration settings (e.g., trim settings) 320-1 to 320-N, where N is a positive integer. In various implementations, as described above with respect to FIGS. 1-2, configuration settings 320-1 to 320-N can be used to customize the access operations for the memory cells of memory device 130.”)
Regarding claim 28, Opastrakoon in view of Larsen and Rowley disclose The system of claim 11, wherein the first trim values and the second trim values are configured to be stored in a contiguous manner and without any intermediary unused bits. (Opastrakoon, Fig. 3 #320-1…N; [0051] “As shown, memory device 130 can be configured with configuration settings (e.g., trim settings) 320-1 to 320-N, where N is a positive integer. In various implementations, as described above with respect to FIGS. 1-2, configuration settings 320-1 to 320-N can be used to customize the access operations for the memory cells of memory device 130.”)
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Larsen and Rowley as applied to claim 1 above, and in further view of Shin et al. (US 20150350206 A1).
Regarding claim 9, Opastrakoon in view of Larsen and Rowley disclose The system of claim 1, but fail to disclose wherein the first lock register is configured to unlock the second trim registers in accordance with receiving a valid password.
However, Shin teaches wherein the volatile lock register is configured to unlock the application-specific trim registers in accordance with receiving a valid password. (Shin, Fig. 11 S220/S240, [0106] “In step S240, HMAC authentication may be carried out. Whether to enable the secure WP masking in step S230 may be determined through the HMAC authentication in step S240. WP may be set using a conventional command (e.g., CMD 28) if a WP set enable value of the secure WP configuration masking field is set.”)
Shin is directed to a storage system configured to provide with secure write protection. The authentication method of Shin includes a password protection feature for lock/unlocking a secured register similar to the presently claimed method.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Grafton and Larsen to incorporate the teachings of Shin to include wherein the volatile lock register is configured to unlock the application-specific trim registers in accordance with receiving a valid password. Such modification(s) would be motivated to prevent unauthorized access to write-protected memory. (Shin, [0004])
Regarding claim 21, Opastrakoon in view of Larsen and Rowley disclose The system of claim 1, but fail to explicitly disclose wherein the counter is configured to be restarted in response to a reception of a second valid password.
However, Shin teaches wherein the counter is configured to be restarted in response to a reception of a second valid password. (Shin, Fig. 11 S220/S240, [0106] “In step S240, HMAC authentication may be carried out. Whether to enable the secure WP masking in step S230 may be determined through the HMAC authentication in step S240. WP may be set using a conventional command (e.g., CMD 28) if a WP set enable value of the secure WP configuration masking field is set.”)
Shin is directed to a storage system configured to provide with secure write protection. The authentication method of Shin includes a password protection feature for lock/unlocking a secured register similar to the presently claimed method.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Grafton and Larsen to incorporate the teachings of Shin to include wherein the volatile lock register is configured to unlock the application-specific trim registers in accordance with receiving a valid password. Such modification(s) would be motivated to prevent unauthorized access to write-protected memory. (Shin, [0004])
Regarding claim 24, Opastrakoon in view of Larsen and Rowley disclose The system of claim 11, but fail to explicitly disclose wherein the counter is configured to be restarted in response to a reception of a second valid password.
However, Shin teaches wherein the counter is configured to be restarted in response to a reception of a second valid password. (Shin, Fig. 11 S220/S240, [0106] “In step S240, HMAC authentication may be carried out. Whether to enable the secure WP masking in step S230 may be determined through the HMAC authentication in step S240. WP may be set using a conventional command (e.g., CMD 28) if a WP set enable value of the secure WP configuration masking field is set.”)
Claim(s) 14 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Larsen and Rowley as applied to claim 11 above, and in further view of Grafton (US 20150269396 A1).
Regarding claim 14, Opastrakoon in view of Larsen and Rowley discloses The system of claim 11, but fails to disclose wherein the trim sector further comprises a second lock register and wherein the second lock register is configured to initiate a lock state in which the first and second trim values are write-protected.
However, Grafton teaches wherein the trim sector further comprises a global lock and wherein the global lock is configured to initiate a lock state in which the infrastructure and application-specific trim values are write-protected. (Grafton, [0025] “Enabling the global locking register can activate a global lock signal, such that when a lock enable portion of a peripheral's associated control register is set and the global lock signal is recognized, the peripheral blocks further access to its control register.”)
Grafton is directed to a security-aware master, where configuration of “slave” peripheral devices is managed by a global lock register, write protection register and other security registers. The “global lock register” of Grafton achieves the desired result of the present invention.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Grafton to include wherein the trim sector further comprises a global lock and wherein the global lock is configured to initiate a lock state in which the infrastructure and application-specific trim values are write-protected. Such modification would be motivated to prevent access to peripheral devices’ associated registers. (Grafton, [0025])
Regarding claim 16, Opastrakoon in view of Larsen, Rowley and Grafton discloses The system of claim 14, wherein the trim controller is further configured to:
export a global lock indicator to the one or more peripherals, wherein one or more internal registers of the one or more peripherals are write-protected in accordance with the exported global lock indicator. (Grafton, [0025] “Enabling the global locking register can activate a global lock signal, such that when a lock enable portion of a peripheral's associated control register is set and the global lock signal is recognized, the peripheral blocks further access to its control register.”)
Regarding claim 25, Opastrakoon in view of Larsen, Rowley and Grafton disclose The system of claim 14, wherein the second lock register is configured to be loaded during a boot sequence of the system. (Opastrakoon, [0014] “This can lead to an increase in time to ready (TTR) during power up, a significant reduction in performance immediately during the adjustment cycle as well as over the life of the device, and an increase in risk of error as a result of an interrupted trim update.”; [0016] “Aspects of the present disclosure address the above and other deficiencies by accelerating configuration updates to memory devices.”)
Since Opastrakoon is being modified to incorporate the “global” lock register (drawn to “second”) of Grafton, and the process of Opastrakoon occurs during power up (drawn to boot), the combination of Opastrakoon in view of Larson, Rowley and Grafton meets the claim limitation.
Claim(s) 17, 19, 20, 36 are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon et al. (US 20220284974 A1) filed on 3/2/2021 in view of Mishra et al. (), Shin et al. (US 20150350206 A1) and Sekiya (US 20200366679 A1).
Regarding claim 17, Opastrakoon discloses A method comprising:
receiving a write request for a trim value for a peripheral, wherein the trim value is stored in a trim controller communicably coupled to the peripheral; (Opastrakoon, [0035] “Configuration setting control component 113 can be configured to send a single request to memory device 130 to cause memory device 130 to update its configuration settings.”; Fig. 3 #134)
Opastrakoon fails to explicitly disclose receiving, in accordance with the write request, a password for the trim value;
and in accordance with determining that the received password is valid:
initiating a timeout counter, and updating the trim value in accordance with the write request, wherein the trim value is updateable until the timeout counter elapses, wherein the trim controller is in an always-on power domain, and the peripheral is in a switchable power domain.
Mishra teaches wherein the trim controller is in an always-on power domain, and the peripheral is in a switchable power domain. (Mishra, [0072] “FIG. 10 illustrates certain aspects of a finite state machine 1000 that can support virtual GPIO in an apparatus. The finite state machine 1000 may monitor state information from a plurality of input sources 1024, including hardware events 1002, configuration parameters 1004, masked data 1006 and/or configuration parameter register addresses 1008.”; [0073] “The finite state machine 1000 may be deployed in an always-on domain to ensure that circuits configured to monitor state and state changes are available when certain input/output states are of interest, including when an active peripheral device is associated with the input/output states of interest. In many implementations, it may be necessary to provide the finite state machine 1000 in the always-on domain to permit reliable monitoring of input/output state.”; [0075] “The finite state machine 1000 may be configured to transmit several different types of packets, and the finite state machine 1000 may select a type of packet in order to optimize latency in the communication link In one example, the finite state machine 1000 may select the packet type based on the GPIO data to be transmitted and an associated configuration of GPIO pins.”)
Mishra is directed to monitoring transfer interfaces. Specifically, Mishra teaches programmable configuration registers wherein, the associated peripheral interfaces must be monitored at all times. Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Mishra to include the above limitation. Such modification(s) would be motivated to ensure that circuits configured to monitor state changes (i.e. switchable domain peripherals) are available when input/output states are of interest. (Mishra, [0073])
Shin teaches receiving, in accordance with the write request, a password for the trim value; and receiving, in accordance with the second write request, a second password;
(Shin, Fig. 11 S220/S240, [0106] “In step S240, HMAC authentication may be carried out. Whether to enable the secure WP masking in step S230 may be determined through the HMAC authentication in step S240. WP may be set using a conventional command (e.g., CMD 28) if a WP set enable value of the secure WP configuration masking field is set.”)
Shin is directed to a storage system configured to provide with secure write protection. The authentication method of Shin includes a password protection feature for lock/unlocking a secured register similar to the presently claimed method.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon to incorporate the teachings of Shin to include receiving, in accordance with the write request, a password for the application-specific trim value. Such modification(s) would be motivated to prevent unauthorized access to write-protected memory. (Shin, [0004])
Sekiya teaches and in accordance with determining that the received password is valid: initiating a timeout counter, and updating the trim value in accordance with the write request, wherein the trim value is updateable until the timeout counter elapses (Sekiya, Fig. 2, [0082] “In the relay apparatus 10, a sequence of the steps S1 to S5 in FIG. 2 may be preferably executed at a predetermined time interval (for instance, at each one second or the like). In this case, after the processes of the steps S1 to S5 in FIG. 2 have been executed in the relay apparatus 10, the authentication process in the step S1 in FIG. 2 is performed again when a built-in timer (not illustrated) indicates that the predetermined time has elapsed, and the steps S3 and S4 or the step S5 is executed according to the authentication result.”)
Sekiya is directed to authenticating communication to a peripheral device. Sekiya’s disclosure of using a timer to revoke authentication after an elapsed threshold time to a peripheral is similar to the presently claimed inventions use of a timer to prevent writing to the trim register. As Opastrakoon discloses one or more peripheral devices, the same steps that apply to one set of trim registers applies to another set for another peripheral device as reasoned above in Response to Arguments.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Shin to incorporate the teachings of Sekiya to include in accordance with determining that the received password is a valid password: initiating a timeout counter, and updating the trim value in accordance with the write request, wherein the trim value is updateable until the timeout counter elapses. Such modification(s) would be motivated to prevent unauthorized access to the peripheral device.
Regarding claim 20, Opastrakoon in view of Shin and Sekiya discloses The method of claim 36, further comprising:
receiving a third write request for a third trim value for a third peripheral; (Opastrakoon, [0035] “Configuration setting control component 113 can be configured to send a single request to memory device 130 to cause memory device 130 to update its configuration settings.”; Fig. 3 #134)
receiving, in accordance with the third write request, a third password; and in accordance with determining that the third password is invalid, initiating a lock state of the third trim value. (Shin, “In step S220, HMAC authentication may be performed. The secure mode in step S210 may be executed through HMAC authentication. The HMAC authentication may be performed as described with reference to FIG. 10. The request may be rejected when HMAC authentication indicates the request is not valid. When HMAC authentication indicates the request is valid, the method proceeds to step S230.”)
As reasoned above, the same steps for each subsequent request apply the same. In this case, the determination is an invalid password.
Regarding claim 36, The method of claim 17, further comprising:
receiving a second write request for a second trim value for a second peripheral; (Opastrakoon, [0035] “Configuration setting control component 113 can be configured to send a single request to memory device 130 to cause memory device 130 to update its configuration settings.”; Fig. 3 #134)
receiving, in accordance with the second write request, a second password; and (Shin, Fig. 11 S220/S240, [0106] “In step S240, HMAC authentication may be carried out. Whether to enable the secure WP masking in step S230 may be determined through the HMAC authentication in step S240. WP may be set using a conventional command (e.g., CMD 28) if a WP set enable value of the secure WP configuration masking field is set.”)
in accordance with determining that the second password is valid:
updating the second trim value in accordance with the second write request, and restarting the timeout counter. (Sekiya, Fig. 2, [0082] “In the relay apparatus 10, a sequence of the steps S1 to S5 in FIG. 2 may be preferably executed at a predetermined time interval (for instance, at each one second or the like). In this case, after the processes of the steps S1 to S5 in FIG. 2 have been executed in the relay apparatus 10, the authentication process in the step S1 in FIG. 2 is performed again when a built-in timer (not illustrated) indicates that the predetermined time has elapsed, and the steps S3 and S4 or the step S5 is executed according to the authentication result.”)
Claim(s) 18 and 38 are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Mishra, Shin and Sekiya as applied to claim 17 above, and further in view of Larsen et al. (US 6154819 A).
Regarding claim 18, Opastrakoon in view of Mishra, Shin and Sekiya disclose The method of claim 17, but fail to explicitly disclose wherein an additional trim value for the peripheral remains locked during the update of the trim value.
However, Larsen teaches wherein an additional trim value for the peripheral remains locked during the update of the trim value. (Larsen, “Each of the latches can be individually set or reset by a user using a standard command format.”)
Larsen is directed to protecting memory blocks in a flash memory device. The volatile lock registers taught by Larsen function in a similar manner to the volatile lock register of the present invention. Larsen is capable of accessing individual lock registers so that changing one does not affect the others.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Shin and Sekiya to incorporate the teachings of Larsen to include wherein an additional trim value for the peripheral remains locked during the update of the trim value. Such modification(s) would be motivated to allow real-time protection by minimizing lock and unlock cycle times.
Shin is directed to a storage system configured to provide with secure write protection. The authentication method of Shin includes a password protection feature for lock/unlocking a secured register similar to the presently claimed method.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Grafton and Larsen to incorporate the teachings of Shin to include wherein the volatile lock register is configured to unlock the application-specific trim registers in accordance with receiving a valid password. Such modification(s) would be motivated to prevent unauthorized access to write-protected memory. (Shin, [0004])
Regarding claim 38, Opastrakoon in view of Mishra, Shin and Sekiya disclose The method of claim 17, but fail to teach further comprising providing the trim value to the peripheral when the peripheral is powered down.
However, Larsen teaches providing the trim value to the peripheral when the peripheral is powered down. (Larsen, [cl.10 ln.10-15] “In one embodiment, this portion is a mini-array that is separate from the main flash array. Upon power-down, a system software routine writes the settings of each volatile register to the flash memory. A flash bit stores the setting for each volatile register. In this manner, the volatile register settings are maintained when the circuit is powered down.”)
Larsen is directed to protecting memory blocks in a flash memory device. The volatile lock registers taught by Larsen function in a similar manner to the volatile lock register of the present invention. Larsen is capable of accessing individual lock registers so that changing one does not affect the others.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Shin and Sekiya to incorporate the teachings of Larsen to include wherein an additional trim value for the peripheral remains locked during the update of the trim value. Such modification(s) would be motivated to allow real-time protection by minimizing lock and unlock cycle times.
Claim(s) 26-27 are rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Larsen and Rowley as applied to claim 11 above, and further in view of Durham (US 20210117342 A1)
Regarding claim 26, Opastrakoon in view of Larsen and Rowley disclose The system of claim 35, but fail to explicitly disclose wherein the mutable aperture has a first size that is larger than a second size of the immutable aperture.
However, Durham teaches wherein the mutable aperture has a first size that is larger than a second size of the immutable aperture. (Durham, [0077] “As shown in FIG. 4, the power size 412 may indicate the number of bits that compose the immutable plaintext portion 414 and the mutable plaintext portion 416. In certain embodiments, the total number of bits that make up the immutable plaintext portion 414 and the mutable plaintext portion 416 may be constant, with the sizes of the respective portions being dictated by the size metadata portion 602. For example, if the power metadata value is 0, there are no mutable plaintext bits and all 32 remaining address bits (immutable plaintext portion 414) are used as a tweak to generate ciphertext portion 404 from an address slice (e.g., a subset of the linear address bits), where the ciphertext portion 404 is adjacent to and more significant than the immutable plaintext portion 414. As a further example, if the power metadata value is 1, then there is one bit of mutable plaintext, if the power metadata value is 2, then there are 2 bits of mutable plaintext, up to 32 bits of mutable plaintext resulting in no immutable plaintext bits (414)…”)
Durham is directed to encoded pointer based data encryption. Durham relates generally to the present disclosure by teaching a set size of an “immutable” and “mutable” region of memory. Durham’s teachings permit the mutable region to be larger than that of the immutable region.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Larsen and Rowley to incorporate the teachings of Durham to include wherein the mutable aperture has a first size that is larger than a second size of the immutable aperture. Such modification(s) would be motivated to proactively block out-of-bound accesses to memory while enforcing cryptographic isolation of memory regions within the memory. (Durham, [0019])
Regarding claim 27, Opastrakoon in view of Larsen, Rowley and Durham disclose The system of claim 26, wherein the first size is double the second size. (Durham, [0077] “As shown in FIG. 4, the power size 412 may indicate the number of bits that compose the immutable plaintext portion 414 and the mutable plaintext portion 416. In certain embodiments, the total number of bits that make up the immutable plaintext portion 414 and the mutable plaintext portion 416 may be constant, with the sizes of the respective portions being dictated by the size metadata portion 602. For example, if the power metadata value is 0, there are no mutable plaintext bits and all 32 remaining address bits (immutable plaintext portion 414) are used as a tweak to generate ciphertext portion 404 from an address slice (e.g., a subset of the linear address bits), where the ciphertext portion 404 is adjacent to and more significant than the immutable plaintext portion 414. As a further example, if the power metadata value is 1, then there is one bit of mutable plaintext, if the power metadata value is 2, then there are 2 bits of mutable plaintext, up to 32 bits of mutable plaintext resulting in no immutable plaintext bits (414)…”)
Durham teaches the size of the mutable portion is traded off with the immutable portion based on a “power” bit-field in the region, and is capable of a configuration wherein the size of the mutable portion is double the size of the immutable portion.
Claim(s) 33 is rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Mishra as applied to claim 1 above, and further in view of Colombo et al. (US 20180357012 A1).
Regarding claim 33, Opastrakoon in view of Mishra disclose The system of claim 1, but fail to teach wherein a peripheral of the one or more peripherals is an analog to digital converter (ADC) or digital to analog converter (DAC).
However, Colombo teaches wherein a peripheral of the one or more peripherals is an analog to digital converter (ADC) or digital to analog converter (DAC). (Colombo, [0046] “For example, this applies often to the calibration of analog components of the processing system, such as a temperature sensor, analog-to-digital converter, voltage reference, etc. For example, a voltage monitor threshold level of an analog comparator could be “trimmed” to the exact intended value by adjusting some levels with configuration/calibration data, which are written by the producer of the hardware of the processing systems, e.g. the micro-controller producer.”)
Colombo is directed to protecting the configuration data associated with a processing system. Colombo specifically teaches the processing system may have analog peripheral components such as an analog-to-digital converter in which is configurable through dedicated registers from configuration data. Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Mishra to incorporate the teachings of Colombo to include the above limitations. Such modification(s) would be motivated to permit the configuration/calibration/trim data of analog components to be customizable by the processing device. (Colombo, [0047])
Claim(s) 34 is rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Mishra as applied to claim 1 above, and further in view of Rowley (US 20210026569 A1).
Regarding claim 34, Opastrakoon in view of Mishra disclose The system of claim 1, but fail to teach wherein a peripheral of the one or more peripherals is a voltage regulator.
However, Rowley teaches wherein a peripheral of the one or more peripherals is a voltage regulator. (Rowley, [0017] “The PMIC (100) has one or more voltage regulators (104) that convert the external power supply to the PMIC (100) to operating voltages used by various components of the device (or devices) powered by the PMIC (100) (e.g., solid-state storage devices, DRAM, etc.).”; [0021] “For example, voltage transition slew rates may be programmable via the I2C interface.”)
Rowley is directed to protecting the register file of a device. Specifically, Rowley teaches peripheral devices which are configurable, and including a voltage regulator. Rowley’s teaching of programmable voltage regulator via a controller falls under the broadest reasonable interpretation of the claimed limitations.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Mishra to incorporate the teachings of Rowley to the above limitations. Such modification(s) would be motivated to allow for programmable control of power functionality. (Rowley, [0006])
Claim(s) 37 is rejected under 35 U.S.C. 103 as being unpatentable over Opastrakoon in view of Mishra, Shin and Sekiyra as applied to claim 17 above, and further in view of Rowley (US 20210026569 A1).
Regarding claim 37, The method of claim 17, wherein the peripheral is a data converter or a voltage regulator. (Rowley, [0017] “The PMIC (100) has one or more voltage regulators (104) that convert the external power supply to the PMIC (100) to operating voltages used by various components of the device (or devices) powered by the PMIC (100) (e.g., solid-state storage devices, DRAM, etc.).”; [0021] “For example, voltage transition slew rates may be programmable via the I2C interface.”)
Rowley is directed to protecting the register file of a device. Specifically, Rowley teaches peripheral devices which are configurable, and including a voltage regulator. Rowley’s teaching of programmable voltage regulator via a controller falls under the broadest reasonable interpretation of the claimed limitations.
Therefore, it would be obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Opastrakoon in view of Mishra to incorporate the teachings of Rowley to the above limitations. Such modification(s) would be motivated to allow for programmable control of power functionality. (Rowley, [0006])
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOSHUA NEIL GONZALES whose telephone number is (571)272-0286. The examiner can normally be reached 10:00 AM-2:00 PM; 3:00 PM-7:30 PM.
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, Jorge L. Ortiz-Criado can be reached on (571) 272-7624. 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.
/J.N.G./Examiner, Art Unit 2496
/JORGE L ORTIZ CRIADO/Supervisory Patent Examiner, Art Unit 2496