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-20 were previously examined.
Claims 4, 6, 7, 9-14, and 16-20 are amended on May 26, 2026.
Claims 1-20 are pending in this action.
Response to Arguments
Applicant's arguments filed on May 26, 2026 have been fully considered but they are not persuasive.
Applicant’s arguments:
Applicant respectfully submits that Agrawal does not disclose or suggest virtual blocks as recited in the claims, and therefore cannot disclose reforming such a virtual block. That is the Agrawal does not disclose “…formed into a virtual block; …reform the virtual block into a reformed virtual block, said reformed virtual block including a second subset of the plurality of physical blocks”
Applicant explained the reasons for disagreement are:
The recited virtual block and reformed virtual block are logical abstractions grouping physical blocks. A virtual block is organized and maintained by a controller for the purpose of targeting read and write operations. Accordingly, the controller maintains virtual blocks with a defined size (i.e., number of physical blocks). Similarly, the controller may maintain virtual blocks by applying exclusive characteristics.
Examples are provided in Applicant's Specification. Example virtual blocks - owing to their role as logical groupings used to target read and write operations - are formed to satisfy size parameters and other constraints. These include constraints around similarity of health grade (meaning blocks of sufficiently dissimilar health grade may be excluded from the virtual block) and physical location in the corresponding NVM media (e.g., where a single physical block per LUN is included in a virtual block). (Paras. [0024], [0045])
In Responses:
Examiner disagreed with the explanation because the recited claim 1 for example does not recite “A virtual block is organized and maintained … for the purpose of targeting read and write operations. … maintains virtual blocks with a defined size” and/or “virtual blocks - owing to their role … to target read and write operations - are formed to satisfy size parameters and other constraints”
In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., for the purpose of targeting read and write operations. Accordingly, the controller maintains virtual blocks with a defined size (i.e., number of physical blocks)… virtual blocks - owing to their role as logical groupings used to target read and write operations - are formed to satisfy size parameters and other constraints) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993).
Applicant’s arguments:
Applicant respectfully submits that these aspects of virtual blocks are not applicable to the ''pools'' relied on in the Action, and that the art does not teach or fairly suggest the recited virtual blocks.
Applicant explained that the pools have no defined number of blocks, and a number of blocks in a given pool may be limited by how many blocks happen to have a bit error rate (BER) within a given range at any point in time. The pools are simply unstructured collections of classified individual blocks, where individual blocks may be targeted for write operations…
In Responses:
Examiner disagreed because recited claim 1 (for example) does not mention about a virtual block a structure with a defined number of blocks and a number of blocks in a given pool may be limited by how many blocks happen to have a bit error rate (BER) within a given range at any point in time.
Claim 1 does not define a (limit) number of blocks for a virtual block. That is the virtual block in claim 1 can be unstructured with unlimited number of blocks.
In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., a virtual block a structure with a defined number of blocks ) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993).
In Responses:
Examiner disagreed with Applicant’s argument above.
Agrawal discloses in [0047] a logical block is a virtual unit of address space defined to have the same size as a physical block. Each logical block may include a range of logical block addresses (LBAs) that are associated with data received from a host. The LBAs are then mapped to one or more physical blocks in the non-volatile memory system 100 where the data is physically stored.
Agrawal discloses in [0034] the RAM 116 …may contain a number of items, including … logical-to-physical mapping tables …… may contain block health ratings 117.
Agrawal discloses in [0047] defines that a logical block addresses (LBA) is a virtual block. The LBA can be mapped t the physical logic address using the table 117 wherein the table is based on LBAs health ratings, such as healthy block, unhealthy block or a within BER healthy/unhealthy threshold.
[0047] discloses the virtual unit for the LBAs health ratings 117, such as healthy block, unhealthy block or a within BER healthy/unhealthy threshold has the same size as the physical block. Therefore the pool for LBA is has not unlimited and has structure defined.
As such, the rejection is maintained.
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-6, 8-13, 15, 17-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:
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: (Currently Amended)
As per claim 11: (Currently Amended)
As per claim 18: (Currently Amended)
Agrawal-Um further discloses:
the virtual block and the reformed virtual block including an equal number o the physical of physical blocks
(Agrawal, [0047] a logical block is a virtual unit of address space defined to have the same size as a physical block. Each logical block may include a range of logical block addresses (LBAs))
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, the additional subset of the physical blocks respectively including an equal number of the plurality of physical blocks
(Agrawal, [0047] a logical block is a virtual unit of address space defined to have the same size as a physical block. Each logical block may include a range of logical block addresses (LBAs))
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)
Allowable Subject Matter
Claims 7, 14 and 16 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The prior arts of record do not clearly disclose a method such as “…generate a map of the virtual block, the map including one or more addresses associated with the first subset of physical blocks, wherein reforming the virtual block into the reformed virtual block includes updating the map to include one or more addresses of the second subset of physical blocks” as recited in claim 7 and in similar claims 14 and 16 with in combination with independent claims.
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.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to 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