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 .
Note
It is noted that any citations to specific, pages, columns, lines, or figures in the prior art references and any interpretation of the reference should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. See MPEP § 2123.
Claim Status
Claims 1-13 are currently pending. Claims 1, 4, and 12-13 are amended as per Applicant’s amendment filed on 12 May 2026.
Response to Arguments
Examiner withdraws the 101 rejections in favor of the amended claims.
Applicant's arguments filed 12 May 2026 have been fully considered but are moot because the new ground of rejection further in view of Bielby (US 20210072921 A1).
The amended claims are addressed in the rejections below.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-3 and 9-13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Freitas (US 20070294490 A1) in view of Bielby (US 20210072921 A1).
Referring to claims 1, 12, and 13, taking claim 1 as exemplary, Freitas teaches
A data management method, comprising: obtaining a data operation request corresponding to a first memory block; ([Freitas abstract, 0011, 0031, 0036, 0077, Figs. 7A, 7B] For each write operation that requires the data to be moved for even wear, a physical block with a low wear level is identified and used. The block update module 205 initiates a block update (step 705) in a selected physical block. Controller 55 communicates with the wear leveling controller 45 on write operations to update the counters and when required, write data to a block with less wear and change the storage address to physical block address table.) determining operation environment information corresponding to the data operation request, wherein the operation environment information comprises application information and memory block wear information; ([Freitas abstract, 0047, Figs. 7A] When system 10 selects one of the physical blocks 40 for updating, the block update module 205 examines the wear value for the selected physical block as maintained by the wear counter 50 for the selected physical block. The block manager 215 accesses the wear counter 50 for the selected physical block (interchangeably referenced as the selected block) (step 710).) determining a second memory block according to the operation environment information, wherein a wear level of the second memory block is less than that of the first memory block; ([Freitas abstract, 0016, claim 1] The system compares a wear level of blocks to determine whether to update a block in place or move data on the block to a less-worn physical block. The present system further compares a current wear level of the physical memory block to current wear levels of other physical memory blocks to determine whether to update the physical memory block in place or move data on the physical memory block to a less-worn physical memory block to provide even wear on the physical memory blocks.) and performing an operation on the second memory block according to the data operation request ([Freitas abstract, 0016, 0036, claim 1] The system compares a wear level of blocks to determine whether to update a block in place or move data on the block to a less-worn physical block. The present system further compares a current wear level of the physical memory block to current wear levels of other physical memory blocks to determine whether to update the physical memory block in place or move data on the physical memory block to a less-worn physical memory block to provide even wear on the physical memory blocks.).
Freitas does not explicitly disclose wherein the application information is information related to an application that initiated the data operation request.
Bielby teaches wherein the application information is information related to an application that initiated the data operation request ([Bielby abstract, 0228-0229] an artificial neural network configured to receive, as input and as a function of time, operating parameters indicative a data access pattern, and generate, based on the input, a prediction to determine an optimized operation for wear leveling among memory cells in the data storage device. For example, data access patterns of a data storage device configured in a vehicle can be associated with operating parameters, such as the current operating parameters of the vehicle, the current operating parameters of applications (e.g., components or electronic control units of the vehicle) that are actively using the data storage device, and/or the current operating parameters of the data storage device. The operating parameters can be provided as input to the artificial neural network (ANN) to indicate the data usage patterns.).
Freitas and Bielby are analogous art because they are from the same field of endeavor in storage systems. Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art, having the teaching of Freitas and Bielby before him or her to modify the memory leveling system of Freitas to include the intelligent wear leveling neural network of Bielby, thereafter the memory leveling system is connected to the intelligent wear leveling neural network. The suggestion and/or motivation for doing so would be obtaining the advantage of allowing the memory leveling system have more reduced write amplification as suggested by Bielby [0134]. It is known to combine prior art elements according to known methods to yield predictable results. Therefore, it would have been obvious to combine Freitas with Bielby to obtain the invention as specified in the instant application claims.
With regards to the non-exemplary limitations of claim 12, Freitas teaches an interface module, ([Freitas 0035-0036, Figs. 1-2] The host system 15 accesses the storage class memory 20 through a controller 55.) a processing module, ([Freitas 0035-0038, Figs.1-2] FIG. 2 illustrates a high-level architecture of system 10. The wear leveling controller 45 comprises a block update module 205, a background process module 210, and a block manager 215. The block update module 205 monitors the wear level for each of the physical blocks 40 and maintains wear leveling of the physical blocks within a range of updates for the physical blocks 40. To maintain wear leveling, the block update module 205 writes data that are updated frequently to any of the physical blocks 40 that are less used. The block update module 205 may also update data in place. Consequently, the block update module 205 minimizes the variances of a number of update writes for each of the physical blocks 40.) and a driving module, ([Freitas 0035-0038, Figs.1-2] The background process module 210 provides wear for these low-wear physical blocks by moving data in these low-wear physical blocks to physical blocks 40 with higher wear.).
As per the non-exemplary claim(s), this/these claim(s) has/have similar limitations and is/are rejected based on the reasons given above.
Referring to claim 2, Freitas in view of Bielby teaches
The data management method as claimed in claim 1, wherein the step of performing the operation on the second memory block according to the data operation request further comprises: determining a data movement strategy according to the operation environment information; and moving data in a third memory block to a fourth memory block according to the data movement strategy, wherein a wear level of the fourth memory block is less than that of the third memory block ([Freitas 0037, 0039, 0047-0048] FIG. 2 illustrates a high-level architecture of system 10. FIG. 3 illustrates an exemplary high-level hierarchy of the block manager 215 indicating wear level groups in which system 10 organizes the physical blocks 40. The wear leveling controller 45 comprises a block update module 205, a background process module 210, and a block manager 215. The block update module 205 monitors the wear level for each of the physical blocks 40 and maintains wear leveling of the physical blocks within a range of updates for the physical blocks 40. To maintain wear leveling, the block update module 205 writes data that are updated frequently to any of the physical blocks 40 that are less used. The block update module 205 may also update data in place. Consequently, the block update module 205 minimizes the variances of a number of update writes for each of the physical blocks 40. If the value of the high order bits is that of the (current+2) group 306 (with a wear level of 127 in the previously discussed example), then the data in the physical block is moved to any of the (current) empty blocks 310 in the (current) group 302 (with a wear level of 125 in the previously discussed example). When the value of the (current) empty block counter 330 drops below a predetermined empty-block threshold (near zero), data in physical blocks 40 associated with the (current) group 302 are moved to physical blocks 40 associated with the (current+2) group 306 (with a wear level of 127 in the previously discussed example).).
Referring to claim 9, Freitas in view of Bielby teaches
The data management method as claimed in claim 2, wherein the step of determining the data movement strategy according to the operation environment information comprises: determining whether a data movement condition is met based on the operation environment information; making an inquiry about whether to perform a data movement, if the data movement condition is met; and determining the data movement strategy, if a data movement instruction is received in response to the inquiry ([Freitas 0037, 0039, 0047-0048, 0054] FIG. 2 illustrates a high-level architecture of system 10. FIG. 3 illustrates an exemplary high-level hierarchy of the block manager 215 indicating wear level groups in which system 10 organizes the physical blocks 40. The wear leveling controller 45 comprises a block update module 205, a background process module 210, and a block manager 215. The block update module 205 monitors the wear level for each of the physical blocks 40 and maintains wear leveling of the physical blocks within a range of updates for the physical blocks 40. To maintain wear leveling, the block update module 205 writes data that are updated frequently to any of the physical blocks 40 that are less used. The block update module 205 may also update data in place. Consequently, the block update module 205 minimizes the variances of a number of update writes for each of the physical blocks 40. If the value of the high order bits is that of the (current+2) group 306 (with a wear level of 127 in the previously discussed example), then the data in the physical block is moved to any of the (current) empty blocks 310 in the (current) group 302 (with a wear level of 125 in the previously discussed example). When the value of the (current) empty block counter 330 drops below a predetermined empty-block threshold (near zero), data in physical blocks 40 associated with the (current) group 302 are moved to physical blocks 40 associated with the (current+2) group 306 (with a wear level of 127 in the previously discussed example). The background process module 210 scans physical blocks 40 and moves data in a background task that maintains a list of least worn candidate blocks for the updated physical blocks and most worn candidate blocks for the low update frequency data blocks. The scan need only find a number of candidates and not be exhaustive.).
Referring to claim 10, Freitas in view of Bielby teaches
The data management method as claimed in claim 1, further comprising: calculating a block address based on the data operation request to determine the first memory block ([Freitas 0020, 0036] The present system utilizes an address table that provides translation from an address memory location to a location of any of the physical memory blocks; the address table comprises a listing of at least some of the physical memory blocks. The address table comprises a double linked list to identify one or more of a plurality of empty physical memory blocks and one or more of a plurality of not-empty physical blocks. The address table further comprises a value of the wear level for at least some of the physical memory blocks represented in the address table. Controller 55 receives the storage block address from the host system 15 and maps the storage address to the physical block address in the SCM 20 with a storage address to physical block address table. Controller 55 communicates with the wear leveling controller 45 on write operations to update the counters and when required, write data to a block with less wear and change the storage address to physical block address table.).
Referring to claim 11, Freitas in view of Bielby teaches
The data management method as claimed in claim 1, wherein the data operation request comprises one or more of a read request, a write request and an erase request ([Freitas abstract, 0011, 0031, 0036, 0077, Figs. 7A, 7B] For each write operation that requires the data to be moved for even wear, a physical block with a low wear level is identified and used. The block update module 205 initiates a block update (step 705) in a selected physical block. Controller 55 communicates with the wear leveling controller 45 on write operations to update the counters and when required, write data to a block with less wear and change the storage address to physical block address table.).
Referring to claim 3, Freitas in view of Bielby teaches
The data management method as claimed in claim 2, wherein the step of determining the second memory block according to the operation environment information and the step of determining the data movement strategy according to the operation environment information ([see above]).
Freitas does not explicitly disclose comprises: utilizing a target neural network model that is trained to process the operation environment information to determine the second memory block and the data movement strategy.
Bielby comprises: utilizing a target neural network model that is trained to process the operation environment information to determine the second memory block and the data movement strategy ([Bielby abstract, 0036, 0221] an artificial neural network configured to receive, as input and as a function of time, operating parameters indicative a data access pattern, and generate, based on the input, a prediction to determine an optimized operation for wear leveling among memory cells in the data storage device. The controller is configured to perform the optimized operation for wear leveling based on the prediction. An artificial neural network (ANN) (e.g., spiking neural network, convolutional neural network, recurrent neural network) can be configured to predict the data changes and/or movements to optimize data placement and thus reduce write amplification.).
Freitas and Bielby are analogous art because they are from the same field of endeavor in storage systems. Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art, having the teaching of Freitas and Bielby before him or her to modify the memory leveling system of Freitas to include the intelligent wear leveling neural network of Bielby, thereafter the memory leveling system is connected to the intelligent wear leveling neural network. The suggestion and/or motivation for doing so would be obtaining the advantage of allowing the memory leveling system have more reduced write amplification as suggested by Bielby [0134]. It is known to combine prior art elements according to known methods to yield predictable results. Therefore, it would have been obvious to combine Freitas with Bielby to obtain the invention as specified in the instant application claims.
Allowable Subject Matter
Claims 4-8 are allowed.
The following is an examiner’s statement of reasons for allowance: the prior art made of record teaches data management method but fails to teach the combination including the limitations of:
(Claim(s) 4) “constructing an initial neural network model; utilizing the initial neural network model to process sample data to determine a memory block to be evaluated and a data movement strategy to be evaluated, wherein the sample data comprises the application information, the memory block wear information and a requested memory block; evaluating the memory block to be evaluated and the data movement strategy to be evaluated to obtain an evaluation result; and feeding the evaluation result back to the initial neural network model to train the initial neural network model to obtain the target neural network model”
As dependent claims 5-8 depend from an allowable base claim; they are at least allowable for the same reasons as noted supra. Support for the above noted limitations can be found in at least paragraphs [0061-0078, Fig. 6] of Applicant' s specification.
The prior art made of record, Freitas (US 20070294490 A1) and Bielby (US 20210072921 A1), neither anticipates nor renders obvious the above recited combinations for at least the reasons specified.
The prior art made of record, on the 892 and/or 1449 forms, in the case does not fairly teach or suggest the claimed limitations, nor does it render the claimed invention obvious.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Regarding wear leveling and neural networks.
US 20240354243 A1
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FRANCISCO A GRULLON whose telephone number is (571)272-8318. The examiner can normally be reached Monday - Friday, 9-5.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hosain Alam can be reached at (571)272-3978. 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.
/FRANCISCO A GRULLON/Primary Examiner, Art Unit 2132