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 .
Response to Application
This office action is in response to the Application filed on 06/17/2025.
Claims 1-20 are presented for examination.
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.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 15 - 20 are rejected under 35 U.S.C. 101 because a computer-readable storage medium in the claimed invention are directed to non-statutory subject matter.
The claims recite a “A computer-readable storage medium, storing program instructions, wherein the program instructions, when being executed by a processor” to perform certain functions.
The specification does not disavow the term “computer-readable storage medium” from encompassing signals per se. Paragraph [0078] cites “The computer-readable storage medium 130 may specifically be a medium that can store the program instructions 1300, such as a USB flash drive, a removable hard drive, a read- only memory (ROM), a random-access memory (RAM), a magnetic disc, or an optical disc. Alternatively, the computer-readable storage medium 130 may be a server that stores the program instructions 1300”.
This language does not positively preclude the embodiments from encompassing a signal per se.
Applicant is suggested to amend the claims to recite a non-transitory computer-readable storage medium to exclude non-statutory transitory embodiments disclosed in the specification and under a broadest reasonable interpretation of the claim language.
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.
Claims 1-4, 8-11 and 15-18 are rejected under 35 U.S.C. 103 as being unpatentable over Singidi et al. (WO2020/076582; hereinafter Singidi) in view of Wang et al. (NPL: “CR5M: A Mirroring-Powered Channel-RAID5 Architecture for An SSD”, hereinafter Wang), further in view of Lee et al. (US2022/0137829; hereinafter Lee-829), further in view of Lee et al. (US2008/0215800; hereinafter Lee-800).
Regarding independent claims 1, 8 and 15, taking claim 1 as exemplary analysis, Singidi teaches A data storage method, comprising:
binding storage blocks, which are corresponding to each plane of each of a plurality of logical units in a storage device, to each other to form a superblock (Singidi teaches forming a superblock from blocks corresponding to each plane of each logical unit by grouping storage blocks across multiple planes, binding blocks corresponding to each plane, treating grouped blocks as a unified management/protection unit, and RAID/XOR parity generation across planes as shown in Fig. 7 & [0074]-[0080]);
Singidi teaches parity protection (Abs., provide parity protection to data spread over multiple memory devices of a memory system. Parity is stored in a buffer, where the parity is generated from portions of data written to a page having a different portion of the page in a portion of each plane of one or more planes of the multiple memory devices). However, Singidi does not expressly teach disk redundancy array protection.
In an analogous art of parity protection, Wang teaches performing, using a corresponding disk redundancy array protection mechanism (p. 9, the multi-channel structure provides an opportunity to implement RAID into a single SSD; p. 13, Stripe mapping table grouping logical units and XOR parity generation and reconstruction. Thus, Wang teaches performing storage operations using disk redundancy array protection),
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Singidi and wang before them, to incorporate Wang’s disk redundancy array protection for the motivation of providing different levels of parity protection for design flexibility.
Singidi and wang do not expressly teach different types of the superblock and a data type of to-be-written data.
In an analogous art of parity protection, Lee-829 teaches performing data storage operations based on [0005], generating metadata based on user data, storing the metadata in mirrored storage of the mapped-RAID system (e.g., 2-way mirrored storage), and storing the user data in non-mirrored storage of the mapped-RAID system (e.g., in accordance with RAID 6). The mapped-RAID system provides reliability preference toward maintaining the metadata over maintaining the user data while the metadata and the user data are stored within the mapped-RAID system; [0007], writing the user data with parity into the storage segments includes generating parity data from the user data, and writing the user data and the parity data as a set of stripes into a third set of storage segments. The third set of storage segments provides, as the non-mirrored storage, N+X redundancy that supports full reconstruction of the user data in response to a storage device failure).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Singidi, wang and Lee-829 before them, to incorporate Lee-829’s storing important data (e.g., the metadata) in mirrored storage of the mapped-RAID system and storing user data with parity data as a set of stripes in accordance with RAID 6 for the motivation that to-be-written data has different importance level that requires different level of protection .
Singidi, wang and Lee-829 do not expressly teach different types of the superblock.
In an analogous art of memory management, Lee-800 teaches different types of memory blocks (abs., storing system files and user directories in the SLC flash memory array and storing user files in the MLC flash memory array; or storing more frequent access files in the SLC flash memory array, while less frequent accessed files in the MLC flash memory array;
[0038], the system file is marked to be stored in SLC at step 524. Otherwise the data file is a user file. The process 520 follows the “no” branch to another decision 525, in which it is determine whether the data file is a user file or a user directory. If it is a directory, the process 520 goes to step 524 marking the user directory to be stored in the SLC flash memory array. If it is not a directory, the process 520 moves to step 526 marking the user file to be stored in the MLC flash memory array).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Singidi, wang, Lee-829 and Lee-800 before them, to incorporate Lee-800’s storing system files and user directories in the SLC flash memory array and storing user files in the MLC flash memory array for the motivation that storing more frequent access files in the SLC flash memory array, while less frequent accessed files in the MLC flash memory array.
Thus, the combination of Singidi, wang, Lee-829 and Lee-800 teaches performing, using a corresponding disk redundancy array protection mechanism, data storage operations based on a type of the superblock and a data type of to-be-written data.
Regarding claims 2, 9 and 16, the combination of Singidi, wang, Lee-829 and Lee-800 further teaches wherein the superblock is at least one of: a first class private data SLC block, a second class private data SLC block, a user data SLC block, and a user data XLC block (Lee-800, [0038], If it is a directory {private data}, the process 520 goes to step 524 marking the user directory to be stored in the SLC flash memory array {a first class private data SLC block}. If it is not a directory, the process 520 moves to step 526 marking the user file to be stored in the MLC flash memory array {user data XLC block}).
Regarding claims 3, 10 and 17, the combination of Singidi, wang, Lee-829 and Lee-800 further teaches wherein the superblock is a first class private data SLC block (Lee-800, [0038], If it is a directory {private data}, the process 520 goes to step 524 marking the user directory to be stored in the SLC flash memory array {a first class private data SLC block}); and the performing, using the corresponding disk redundancy array protection mechanism, data storage operations based on the type of the superblock and the data type of to-be-written data (Lee-829, [0005], storing the metadata in mirrored storage of the mapped-RAID system (e.g., 2-way mirrored storage), and storing the user data in non-mirrored storage of the mapped-RAID system (e.g., in accordance with RAID 6). The mapped-RAID system provides reliability preference toward maintaining the metadata over maintaining the user data while the metadata and the user data are stored within the mapped-RAID system), comprises:
writing the to-be-written data into both a first logical unit of the superblock and a second logical unit of the superblock when receiving a request of writing the to-be-written data, wherein the second logical unit is mirrored with the first logical unit (Lee-829, [0005], storing the metadata in mirrored storage of the mapped-RAID system (e.g., 2-way mirrored storage));
restoring, when an error occurring in the data in the first logical unit, the data by mirroring the data in the second logical unit (Wang, page 16, read the data from MPPN if the data has a mirror).
Regarding claims 4, 11 and 18, the combination of Singidi, wang, Lee-829 and Lee-800 further teaches wherein the superblock is a second class private data SLC block (Lee-800, [0038], If it is a directory {private data}, the process 520 goes to step 524 marking the user directory to be stored in the SLC flash memory array.
Abs., storing system files and user directories in the SLC flash memory array …or storing more frequent access files in the SLC flash memory array. Note that, more than one class of system data may be stored in SLC flash memory array {a second class private data SLC block}); and the performing, using the corresponding disk redundancy array protection mechanism, data storage operations based on the type of the superblock and the data type of to-be-written data, comprises:
writing the to-be-written data sequentially into the plurality of logical units of the superblock when receiving a request of writing the to-be-written data; performing an exclusive-OR (XOR) operation on the to-be-written data to obtain parity data; writing the parity data into a last plane of a last logical unit of the plurality of logical units (Wang, p. 9, the multi-channel structure provides an opportunity to implement RAID into a single SSD;
p.13, Stripe mapping table grouping logical units and XOR parity generation and reconstruction; p. 11, partial stripe RMW logic);
restoring, when an error occurring in the data in any plane of any one of the plurality of logical units, the data by performing the XOR operation on the data in the plurality of logical units (Wang, p.13, Stripe mapping table grouping logical units and XOR parity generation and reconstruction).
Allowable Subject Matter
Claims 5-7, 12-14 and 19-20 would be allowable if overcome the rejection discussed above and if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRACY C CHAN whose telephone number is (571)272-9992. The examiner can normally be reached on Monday - Friday 10 AM to 6 PM EST.
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, TIM VO can be reached on (571)272-3642. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/TRACY C CHAN/ Primary Examiner, Art Unit 2138