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
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed. The following title is suggested: MEMORY SYSTEM WITH DATA TYPE BASED VALID DATA TRACKING USING DATA STRUCTURE FOR FACILITATING DATA REORGANIZATION.
Election/Restrictions
Restriction to one of the following inventions is required under 35 U.S.C. 121:
I. Claims 2-11, 19-21 are drawn to management of memory in solid state memory devices with additional focus of garbage collection classified in g06f12/0246.
II. Claims 12-18 are drawn to logical-to-physical centric write/overwrite handling and data type encoding using L2P address translation/mapping, classified in g06f3/0638.
The inventions are distinct, each from the other because of the following reasons:
Inventions I and II are related as subcombinations disclosed as usable together in a single combination. The subcombinations are distinct if they do not overlap in scope and are not obvious variants, and if it is shown that at least one subcombination is separately usable. In the instant case, the inventions as claimed provide unique means for tracking/updating quantities of valid/invalid data in block erasable memory and for using logical-to-physical (L2P) records for write/overwrite handling and data type encoding using L2P address translation/mapping. Moreover invention II uses L2P records, which are unnecessary to practice invention I. Furthermore, the inventions as claimed do not encompass overlapping subject matter because one invention deals with using logical-to-physical (L2P) records for write/overwrite handling and data type encoding using L2P address translation/mapping and the other contemplates a different means for tracking/updating quantities of valid/invalid data in block erasable memory. Subcombination I has separate utility such as being usable in systems that perform valid page tracking using general data structures.
Restriction for examination purposes as indicated is proper because the inventions listed in the instant office action are independent or distinct for the reasons given above and there would be a serious search and/or examination burden if restriction were not required because one or more of the following reasons apply: the inventions have acquired a separate status in the art in view of their different classification and the inventions require a different field of search (e.g., searching different classes/subclasses or electronic resources, or employing different search strategies or search queries).
Applicant is advised that the reply to this requirement to be complete must include (i) an election even though the requirement may be traversed (37 CFR 1.143) and (ii) identification of the claims encompassing the elected group. An argument that a claim is allowable or that all claims are generic is considered nonresponsive unless accompanied by an election.
The election of the group may be made with or without traverse. To preserve a right to petition, the election must be made with traverse. If the reply does not distinctly and specifically point out supposed errors in the restriction requirement, the election shall be treated as an election without traverse. Traversal must be presented at the time of election in order to be considered timely. Failure to timely traverse the requirement will result in the loss of right to petition under 37 CFR 1.144.
Should applicant traverse on the ground that the species are not patentably distinct, applicant should submit evidence or identify such evidence now of record showing the species to be obvious variants or clearly admit on the record that this is the case. In either instance, if the examiner finds one of the species unpatentable over the prior art, the evidence or admission may be used in a rejection under 35 U.S.C. 103(a) of the other species.
The examiner has required restriction between combination and subcombination inventions. Where applicant elects a subcombination, and claims thereto are subsequently found allowable, any claim(s) depending from or otherwise requiring all the limitations of the allowable subcombination will be examined for patentability in accordance with 37 CFR 1.104. See MPEP § 821.04(a). Applicant is advised that if any claim presented in a continuation or divisional application is anticipated by, or includes all the limitations of, a claim that is allowable in the present application, such claim may be subject to provisional statutory and/or nonstatutory double patenting rejections over the claims of the instant application.
Examiner spoke applicant’s representative, Lauren Borton (Reg# 80925) on 2/24/26 and a verbal election, without traverse of Invention I was acknowledged. Claims 12-18 are withdrawn from consideration.
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.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103(a) are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 2-11, 19-21 are rejected under 35 U.S.C. 103 as being unpatentable over Ouyang (US PGPUB # 20170075805) in view of Shaharabany (US Patent # 9747202). With respect to independent claims 2, 19 Ouyang/Shaharabany discloses: A memory system [Ouyang fig 1], comprising:
one or more memory devices [Ouyang fig 1]; and
processing circuitry coupled with the one or more memory devices [controller/processing circuit coupled with the memory device - Ouyang fig 1-2] and configured to cause the memory system to:
determine, in accordance with accessing a data structure that tracks respective types of data associated with data units of a data block [various data structures including linked lists, circular buffer(s), hot list, LRU list, track respective types of data associated with data units of a data block – Ouyang abstract, 0031, 0037-0039, fig 3], a first quantity of invalid data units [a validity metric that increases with a proportion of valid to invalid objects of the one or more objects of the each block – Ouyang claim 1; temperature of a block is determined according to a function that increases with a number of valid objects in a block, accordingly a smaller/lower temperature indicates a large quantity of invalid data units and low quantity of valid data units, and conversely, a larger/higher temperature indicates a low quantity of invalid data units and high quantity of valid data units – Ouyang 0046; controller that maintains a temperature for a plurality of data blocks, the temperature calculated according to a function that increases with a number of valid data objects in the block and recency with which the valid data objects have been accessed– Ouyang abstract; FTL controller 210 may implement a garbage collection module 302 that performs garbage collection to free up blocks of memory that include a large number of invalid data objects – Ouyang 0034] [counter tracks valid/invalid data … most of the pages in block 23 are invalid (as indicated by flags in the list or by some other notation) – Shaharabany fig 7, col 7 line 61 - 8 lines 25], from among a plurality of data units included in the data block [pages are data units included in a data block - Ouyang 0033], that are associated with a first type of data [each different temperature bin is understood to be a different type of data – Ouyang fig 3] and a second quantity of invalid data units [each temperature and/or validity metric indicates a quantity of invalid data units - Ouyang 0046, fig 3, claim 1] [counter tracks valid/invalid data … most of the pages in block 23 are invalid (as indicated by flags in the list or by some other notation) – Shaharabany fig 7, col 7 line 61 - 8 lines 25], from among the plurality of data units included in the data block, that are associated with a second type of data [each different temperature bin is understood to be a different type of data – Ouyang fig 3]; and
update, in accordance with the first quantity of invalid data units and the second quantity of invalid data units, a first count that tracks valid data units of the data block that are associated with the first type of data and a second count that tracks valid data units of the data block that are associated with the second type of data [valid/invalid counts for pages per hot/cold data block are continuously updated as pages/objects are invalidated/moved/changed (temperature update module – Ouyang fig 3) as they change based on I/O activity – Ouyang 0036, 0043-0045; V=(number of valid objects in the block)/(total number of objects in the block) – Ouyang 0048] [valid/invalid & hot/cold blocks/pages and numbers corresponding thereto are updated during the course of system operation; storage module updates the entries in the list with the destination block ID and the used pages (660). The storage module 100 also updates the management data in the translation layer (670) – Shaharabany fig 6-7, col 8 lines 1-25].
Ouyang does not explicitly disclose quantities of valid/invalid data units or pages. Nevertheless in the same field of endeavor, Shaharabany teaches means for identifying hot/cold data and means for tracking/counting valid/invalid data to determine a quantity of valid/invalid pages (Shaharabany fig 6-7, col 7 line 61 - 8 lines 25).
Therefore, Ouyang/ Shaharabany teaches all limitations of the instant claim(s).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to implement means for identifying hot/cold data and means for tracking/counting valid/invalid data to determine a quantity of valid/invalid pages in the invention of Ouyang as taught by Shaharabany because it would be advantageous for optimizing garbage collection operations and making them more efficient (Shaharabany col 1 lines 20-27).
With respect to dependent claims 3, 20 Ouyang/Shaharabany discloses access one or more bits in the data structure that indicate a respective type of data of the data units of the data block, wherein determining the first quantity of invalid data units that are associated with the first type of data and the second quantity of invalid data units that are associated with the second type of data is in accordance with the one or more bits [tag/bit/flag/metadata in data structure indicating type of data and facilitates determining invalid data for garbage collection – Ouyang 0045] [counter tracks valid/invalid data … most of the pages in block 23 are invalid (as indicated by flags in the list or by some other notation) – Shaharabany fig 7, col 7 line 61 - 8 lines 25; Shaharabany col 7 lines 11-20, col 8 lines 12-22, fig 5-8].
With respect to dependent claims 4, 21 Ouyang/Shaharabany discloses access one or more bits in the data structure that indicate a respective validity of the data units of the data block, wherein determining the first quantity of invalid data units that are associated with the first type of data and the second quantity of invalid data units that are associated with the second type of data are in accordance with the one or more bits [tag/bit/flag/metadata in data structure indicating type of data and facilitates determining invalid data for garbage collection – Ouyang 0045] [counter tracks valid/invalid data … most of the pages in block 23 are invalid (as indicated by flags in the list or by some other notation) – Shaharabany fig 7, col 7 line 61 - 8 lines 25; Shaharabany col 7 lines 11-20, col 8 lines 12-22, fig 5-8].
With respect to dependent claims 5 Ouyang/Shaharabany discloses wherein, to update the first quantity of valid data units and the second quantity of valid data units, the processing circuitry is configured to cause the memory system to: update the first count that tracks valid data units of the data block that are associated with the first type of data in accordance with a difference between the first count and the first quantity of invalid data units; and update the second count that tracks valid data units of the data block that are associated with the second type of data in accordance with a difference between the second count and the second quantity of invalid data units [valid/invalid counts for pages per hot/cold data block are continuously updated as pages/objects are invalidated/moved/changed (temperature update module – Ouyang fig 3) as they change based on I/O activity – Ouyang 0036, 0043-0045; V=(number of valid objects in the block)/(total number of objects in the block) – Ouyang 0048] [valid/invalid & hot/cold blocks/pages and numbers corresponding thereto are updated during the course of system operation – Shaharabany fig 7, col 8 lines 1-25].
With respect to dependent claims 6 Ouyang/Shaharabany discloses wherein the processing circuitry is further configured to cause the memory system to: receive, from a host system, a command to update the first count that tracks valid data units of the data block that are associated with the first type of data and the second count that tracks valid data units of the data block that are associated with the second type of data, wherein accessing the data structure is in accordance with the command [FTL controller 210 may include an input/output (I/O) module 300 that executes read and write instructions from a host interface 208 and page metadata & valid/invalid metrics tracked/updated in response to commands from host so that validity/invalidity metrics are updated accordingly – Ouyang 0032, 0048, fig 4-5] [host access uses hot/cold list to determine block temperature and select last open hot or cold block and hot/cold & valid/invalid counts are updated accordingly – Shaharabany fig 4].
With respect to dependent claims 7 Ouyang/Shaharabany discloses mark one or more data units of the data block as invalid; access one or more bits of the data structure indicating that the one or more data units are associated with the first type of data; and decrement the first count that tracks valid data units of the data block that are associated with the first type of data in accordance with the one or more bits [valid/invalid counts and flags/tags/bits for pages per hot/cold data block are continuously updated as pages/objects are invalidated/moved/changed (temperature update module – Ouyang fig 3) as they change based on I/O activity – Ouyang 0036, 0043-0045; V=(number of valid objects in the block)/(total number of objects in the block) – Ouyang 0048] [valid/invalid & hot/cold blocks/pages and numbers corresponding thereto are updated during the course of system operation – Shaharabany fig 7, col 8 lines 1-25].
With respect to dependent claims 8 Ouyang/Shaharabany discloses wherein the data structure that tracks respective types of data associated with the data units of the data block is stored in a first data unit of the data block, in static random access memory of the memory system, in a second data block different from the data block, in a second memory system different from the memory system, or any combination thereof [Ouyang 0022, 0045, fig 3] [Shaharabany fig 3, 5-8].
With respect to dependent claims 9 Ouyang/Shaharabany discloses select the data block from a plurality of data blocks for a reorganization procedure in accordance with the updated first count and the updated second count [Ouyang fig 3-5].
With respect to dependent claims 10 Ouyang/Shaharabany discloses wherein first data units comprising the first type of data are associated with a first color and second data units comprising the second type of data are associated with a second color [hot=red; cold=blue - Ouyang fig 3-5].
With respect to dependent claims 11 Ouyang/Shaharabany discloses wherein the first type of data is hot data and the second type of data is cold data, the hot data associated with a higher invalid frequency than the cold data [Ouyang 0038, 0050].
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
RAO US PGPUB # 20190377494 teaches: A data classifier module in a controller calculates a placement factor of one or more streams of data associated with one or more logical block addresses based on a metadata update and recency count table. The data classifier module then classifies the one or more streams of data associated with one or more logical block addresses as hot, warm, or cold streams of data. Hot streams of data are routed to hot open memory blocks, warm streams of data are routed to warm open memory blocks, and cold streams of data are routed to cold open memory blocks. Routing streams of data to hot, warm, or cold open memory blocks results in more efficient garbage collection procedures and the reduction of block erasures.
Zhang US PGPUB # 20160179386 teaches: Data being stored in a block of flash memory system may be characterized as being frequently modified or infrequently modified (hot/cold) based on a heuristic. When performing garbage collection, if the data from hot blocks is consolidated and data from cold blocks is separately consolidated by writing the data to different free blocks, the number of write operations to perform the garbage collection may be reduced. The lower “write amplification” contributes to increasing the lifetime of the memory circuit. When the number of blocks in a pool of previously erased blocks is reduced to a threshold value, a block having data previously stored therein may be selected for garbage collection based on a second heuristic.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARWAN AYASH whose telephone number is (571)270-1179. The examiner can normally be reached 9a-530p M-R.
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, Rocio del Mar Perez-Velez can be reached on 571-270-5935. 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.
/Marwan Ayash/Examiner, Art Unit 2133
/ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133