Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Claims 1-20are pending in this action.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on April 9, 2025 was filed. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Objections
Claims 8-14 are objected to because of the following informalities:
Claims 8-14 recite “The system of claim 7”.
It is unclear whether it should recite such as “The system of claim 8” because claim 8 is independent claim while claim 7 is dependent claim of claim 1.
Appropriate correction is required.
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-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Agrawal et al. (US 2018/0,217,751), in view of Um et al. (US 2015/0,052,415)
As per claim 1:
As per claim 8:
As per claim 15:
Agrawal discloses:
Non-transitory computer readable media having instructions stored thereon, that when executed by at least one processor, cause the at least one processor to:
A system comprising: a plurality of physical blocks, a first subset of said plurality of physical blocks being formed into a virtual block; and a controller including a memory and at least one processor, said memory including instructions, that, when executed by the at least one processor, cause the at least one processor to:
A computer-implemented method comprising:
(Agrawal [0024] …controller 102 (which may be a flash memory controller) can take the form of processing circuitry…. and a computer-readable medium that stores computer-readable program code (e.g., software or firmware) executable by the (micro)processors, …controller 102 can be configured with hardware and/or firmware to perform the various functions …)
(Agrawal, Figs 1-11)
collect
(Agrawal [0032]…MLC write health module 112 of the controller 102 may accomplish this by tracking bit error rate (BER) for MLC blocks at certain intervals and assigning a health level to the MLC block, … rechecked for health and a less healthy MLC block …)
determine respective health grades for the plurality of physical blocks based on the collected read errors; and
(Agrawal Fig. 7, Determine Health of MLC Blocks 702)
(Agrawal Fig. 10, Measure BER of Block 1002, Mark Block as heathy in MLC block health rating table 1022, Mark, Block has unhealth …1018 or 1008…)
(Agrawal [0022] healthy MLC blocks may be MLC blocks having a health criterion within first predetermined range and unhealthy MLC blocks may be MLC blocks having the health criterion in a second predetermined range different than the first predetermined range)
(Agrawal [0059] … (by BER) unhealthy MLC block 902 is found to have less than the predetermined number of word lines that have had failed writes, where a failed write may be defined as uncorrectable ECC errors where the number of errors detected in the word line by the ECC engine 124 exceeds the capability of the ECC engine 124 to correct, but other of the word lines individually have a BER that is within the one or more predetermined healthy threshold)
based on the respective health grades, reform the virtual block into a reformed virtual block, said reformed virtual block including a second subset of the plurality of physical blocks.
(Agrawal Fig. 7, Divide MLC Blocks into separate blocks pools based on determined health 704)
(Agrawal, [0053]…a predetermined BER threshold may be utilized by the controller 102 via the MLC write health module 112, to sort between healthy blocks and unhealthy blocks)
(Agrawal, Fig. 11, Various Pools in order of Performance and Endurance, healthiest pool to unsafe pool)
Agrawal discloses tracking bit error rate (BER)
However, Agrawal does not mention a method of collecting read error.
Um discloses a method of a method of collecting read error.
(Um [0014] wherein the controller comprises … an error count, which is detected when a read operation of the nonvolatile memory device …)
(Um [0045] The error count may indicate the number of corrected error bits of the read data. Alternatively, the error count may indicate the number of error bits detected from the read data. The error count may indicate the number of correctable error bits of the read data, or the number of uncorrectable error bits of the read data)
It would have been obvious before the effective filing date of the claimed to a person having ordinary skill in the art to incorporate a well-known Um’s method of performing read operation and monitoring number of error count into the system of tracking BER of Agrawal in order to provide option method for tracking error rate.
(Um [0014] wherein the controller comprises … an error count, which is detected when a read operation of the nonvolatile memory device …)
(Um [0045] The error count may indicate the number of corrected error bits of the read data. Alternatively, the error count may indicate the number of error bits detected from the read data. The error count may indicate the number of correctable error bits of the read data, or the number of uncorrectable error bits of the read data)
As per claim 2:
As per claim 9:
As per claim 16:
Agrawal-Um further discloses:
wherein the health grades of the second subset of the plurality of physical blocks are within a threshold range of each other.
(Agrawal Fig. 10, Measure BER of Block 1002, Mark Block as heathy in MLC block health rating table 1022, Mark, Block has unhealth …1018 or 1008…)
(Agrawal [0022] healthy MLC blocks may be MLC blocks having a health criterion within first predetermined range and unhealthy MLC blocks may be MLC blocks having the health criterion in a second predetermined range different than the first predetermined range)
(Agrawal [0059] … (by BER) unhealthy MLC block 902 is found to have less than the predetermined number of word lines that have had failed writes, where a failed write may be defined as uncorrectable ECC errors where the number of errors detected in the word line by the ECC engine 124 exceeds the capability of the ECC engine 124 to correct, but other of the word lines individually have a BER that is within the one or more predetermined healthy threshold)
(Agrawal, Fig. 11, Various Pools in order of Performance and Endurance, healthiest pool to unsafe pool)
As per claim 3:
As per claim 10:
As per claim 17:
Agrawal-Um further discloses:
wherein the second subset of the plurality of physical blocks includes at least some of the first subset of the plurality of physical blocks.
(Agrawal Fig. 10, Measure BER of Block 1002, Mark Block as heathy in MLC block health rating table 1022, Mark, Block has unhealth …1018 or 1008…)
(Agrawal [0022] healthy MLC blocks may be MLC blocks having a health criterion within first predetermined range and unhealthy MLC blocks may be MLC blocks having the health criterion in a second predetermined range different than the first predetermined range)
(Agrawal [0059] … (by BER) unhealthy MLC block 902 is found to have less than the predetermined number of word lines that have had failed writes, where a failed write may be defined as uncorrectable ECC errors where the number of errors detected in the word line by the ECC engine 124 exceeds the capability of the ECC engine 124 to correct, but other of the word lines individually have a BER that is within the one or more predetermined healthy threshold)
(Agrawal, Fig. 11, Various Pools in order of Performance and Endurance, healthiest pool to unsafe pool)
As per claim 4:
As per claim 11:
As per claim 18:
Agrawal-Um further discloses:
wherein the collected read errors include a number of uncorrectable read errors, a number of correctable read errors, a number of error bits in each of the correctable read errors, and error correction data.
(Um [0014] wherein the controller comprises … an error count, which is detected when a read operation of the nonvolatile memory device …)
(Um [0045] The error count may indicate the number of corrected error bits of the read data. Alternatively, the error count may indicate the number of error bits detected from the read data. The error count may indicate the number of correctable error bits of the read data, or the number of uncorrectable error bits of the read data)
As per claim 5:
As per claim 12:
As per claim 19:
Agrawal-Um further discloses:
wherein the determination of the health grades is contingent on or triggered by a determination that a drive utilization of the virtual block has exceeded a utilization threshold.
(Agrawal Fig. 10, Measure BER of Block 1002, Mark Block as heathy in MLC block health rating table 1022, Mark, Block has unhealth …1018 or 1008…)
(Agrawal [0022] healthy MLC blocks may be MLC blocks having a health criterion within first predetermined range and unhealthy MLC blocks may be MLC blocks having the health criterion in a second predetermined range different than the first predetermined range)
(Agrawal [0059] … (by BER) unhealthy MLC block 902 is found to have less than the predetermined number of word lines that have had failed writes, where a failed write may be defined as uncorrectable ECC errors where the number of errors detected in the word line by the ECC engine 124 exceeds the capability of the ECC engine 124 to correct, but other of the word lines individually have a BER that is within the one or more predetermined healthy threshold)
(Agrawal, Fig. 11, Various Pools in order of Performance and Endurance, healthiest pool to unsafe pool)
As per claim 6:
As per claim 13:
As per claim 20:
Agrawal-Um further discloses:
dynamically form a plurality of additional reformed virtual blocks based on the respective health grades, said plurality of additional reformed virtual blocks including respective additional subsets of the physical blocks, wherein the health grades of the respective additional subsets of the physical blocks are within a threshold range of each other.
(Agrawal Fig. 10, Measure BER of Block 1002, Mark Block as heathy in MLC block health rating table 1022, Mark, Block has unhealth …1018 or 1008…)
(Agrawal [0022] healthy MLC blocks may be MLC blocks having a health criterion within first predetermined range and unhealthy MLC blocks may be MLC blocks having the health criterion in a second predetermined range different than the first predetermined range)
(Agrawal [0059] … (by BER) unhealthy MLC block 902 is found to have less than the predetermined number of word lines that have had failed writes, where a failed write may be defined as uncorrectable ECC errors where the number of errors detected in the word line by the ECC engine 124 exceeds the capability of the ECC engine 124 to correct, but other of the word lines individually have a BER that is within the one or more predetermined healthy threshold)
(Agrawal, Fig. 11, Various Pools in order of Performance and Endurance, healthiest pool to unsafe pool)
As per claim 7:
As per claim 14:
As per claim 18:
Agrawal-Um further discloses:
wherein the read error data is collected during one of: a read operation, a background scan, and a combination thereof.
(Um [0014] wherein the controller comprises … an error count, which is detected when a read operation of the nonvolatile memory device …)
(Um [0045] The error count may indicate the number of corrected error bits of the read data. Alternatively, the error count may indicate the number of error bits detected from the read data. The error count may indicate the number of correctable error bits of the read data, or the number of uncorrectable error bits of the read data)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Pletka et al. (US 2024/0,427,515) discloses [0047]… each of RTU queues 306a and 306b includes four RTU queues labeled as queues 0 to 3, where queue 0 holds identifiers of the healthiest blocks, queue 1 holds identifier of less healthy blocks, queue 2 holds identifiers of even less healthy blocks, and queue 3 holds identifiers of the least healthy blocks.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THIEN DANG NGUYEN whose telephone number is (571)272-9189. The examiner can normally be reached Monday-Friday 7 AM - 3: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, Mark Featherstone can be reached at 571-270-3750. 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.
/Thien Nguyen/ Primary Examiner, Art Unit 2111