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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 09/02/2025 has been entered.
Response to Amendment
The office action is responding to the amendments filed on 12/30/2025. Claims 1-20 are pending. The amendments are considered and 35 U.S.C. 112(a) rejection is withdrawn.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 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.
Claim(s) 1 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Draggon et al. (US 20070079068 A1) in view of Kalwitz et al. (US 20140258612 A1) and further in view of BASSETT et al. (US 20210405908 A1) and further in view of Lee et al. (US 20170147209 A1) hereinafter Draggon and Kalwitz and BASSETT and Lee.
Regarding claim 1, Draggon teaches A storage device (“The storage architecture includes one or more computer systems 105, a storage controller 110, such as, for example, a RAID (Redundant Array of Independent (or Inexpensive) Disks) controller, and a set of storage devices 115”) (paragraph [0015] line 2, Fig 1) (i.e. Fig1 115 points to storage device)
comprising: a memory device comprising a plurality of first nonvolatile memories in first memory array and a plurality of second nonvolatile memories in a second memory array; and (“the plurality of different conventional RAID level storage volumes may optionally include a RAID-0 storage volume 216, and a RAID-1 storage volume 217”) (paragraph [024] line 1, e.g.: Fig 2) (i.e. Fig 2 illustrates having plurality of storage devices as RAID 0 and RAID 1 system)
(see Fig 2, paragraph [0024], illustrates first and second storage arrays)
(“Flash memory, and combinations thereof “) (paragraph [067] line 6) (i.e. Reference also points storage device can be Flash memory which non volatile memory)
a controller configured to sort pieces of data having different attributes received from a host into first type data having a first attribute and second type data having a second attribute, and the first type data in the first memory array and the second type data in the second memory array, wherein the first attribute is different from the second attribute, (“Referring again to FIG. 1, the storage controller may receive the different sets of data (for example A and B) and the information that specifies the different levels of data redundancy for the different sets of data (for example the lower level for A and the higher level for B) from the one or more computer systems. As shown, the storage controller may include data redundancy storage logic 111 to cause the different sets of data to be stored on the set of storage devices with the different levels of data redundancy based on the received information. For example, as shown, the first set of data (A) may be stored on the set of storage devices with a lower level of data redundancy, and the second set of data (B) may be stored on the set of storage devices with a higher level of data redundancy”) (paragraph [0020] line 1, Fig 1) (i.e. Here storage controller 110 receives different sets of data and stores them in different storage devices based on redundancy information given with the data which is same as sorting data based on data set information. Examiner considers different redundancy or reliability information with each data set equates to data set attributes taught by the applicant)
(see Fig 1, paragraph [0021], illustrates instead of storing different types of data blindly, data may intelligently be stored based on importance of data attributes or types to the storage of different redundancy scheme)
wherein the controller is configured to store the first type data in the first memory array by a mirroring scheme using the plurality of first nonvolatile memories, and
(“a RAID-1 storage volume 217”) (page 2, paragraph [0024] line 2, Fig 2)
(“Conventional RAID-1 may provide mirroring. For example, replicate or identical copies of sets of data may be stored on multiple storage disk arrays. RAID-1 generally provides a fairly high level of data redundancy”) (paragraph [0026] line 4, Fig 2) (i.e. Fig 2 illustrates one of the storages 217 being RAID 1 mirroring scheme for high redundancy or reliability requirement)
(see Fig 1, paragraph [0020], illustrates first set of data with a particular importance or attribute may be stored in first storage set)
is configured to store data the second type in the second memory array by a striping scheme using the plurality of second nonvolatile memories.
(“a RAID-0 storage volume 216”) (paragraph [0024] line 1, Fig 2)
(“Conventional RAID-0 may provide a striped storage disk array without fault tolerance. For example, RAID-0 may provide data striping in which blocks of each file or other set of data are spread across multiple storage disk arrays without providing data redundancy or fault tolerance”) (paragraph [0025], Fig 2) (i.e. Fig 2 illustrates another storage being RAID 0 striping scheme for low redundancy or reliability requirement)
(see Fig 1, paragraph [0020], illustrates second set of data with a particular importance or attribute may be stored in second storage set)
Draggon teaches RAID Storage device. However, Draggon does not explicitly teach wherein an input/output (I/O) speed of the first memory array is different from an I/O speed of the second memory array, and
wherein a device structure of the plurality of first nonvolatile memories is different from a device structure of the plurality of second nonvolatile memories.
On the other hand, Kalwitz which also relates to RAID Storage device teaches
wherein an input/output (I/O) speed of the first memory array is different from an I/O speed of the second memory array, and (“the primary storage devices 504 have one or more higher performance attributes than the secondary storage device 508. Higher performance characteristics includes at least one of data read latency, data write latency, read data transfer rate, and write data transfer rate”) (paragraph [0067], line 1-3) (i.e. primary storage devices may have one or more higher performance attributes than the secondary storage device regardless of which RAID system they are. In other words, I/O performance can be different for 2 storage arrays)
wherein a device structure of the plurality of first nonvolatile memories is different from a device structure of the plurality of second nonvolatile memories. (“disk drive storage devices 116, fast serial attached SCSI (SAS) storage devices 116 can be used for primary storage devices 504, while larger in capacity and less expensive Serial ATA (SATA) or older generation SAS storage devices 116 can be used for secondary storage devices 508”) (paragraph [0067], line 5-7) (i.e. for storage device 116, primary storage devices can be SAS storage and secondary storage can be SATA which have different device structure than SAS)
Both Draggon and Kalwitz relate to the same field of endeavor, i.e., RAID Storage device. Draggon teaches RAID Storage device with 2 storage arrays of different RAID scheme. Also, Draggon does teach different RAID storage devices with different sizes, performance characteristics and device structures. On the other hand, Kalwitz also teaches RAID Storage device with storage arrays of different RAID scheme and different RAID storage devices with different sizes, performance characteristics and device structures. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon with Kalwitz to specify RAID Storage device with storage arrays of different RAID scheme and different RAID storage devices with different sizes, performance characteristics and device structures providing advantage that can be achieved by coordinating the operation of a number of individual storage devices is improved data access and/or storage times as mentioned in paragraph [0003].
Draggon in view of Kalwitz teaches RAID Storage device. However, Draggon - Kalwitz combination does not explicitly teach wherein the storage device is configured to allocate a first storage size to the first memory array and a second storage size to the second memory array, wherein the second storage size is greater than the first storage size,
On the other hand, BASSETT which also relates to RAID Storage device teaches
wherein the storage device is configured to allocate a first storage size to the first memory array and a second storage size to the second memory array, wherein the second storage size is greater than the first storage size, (“see Fig 1, paragraph [0044], illustrates Different object blocks 106A-C of RAID system may have different sizes or in other words, two storage blocks which stores different data type may have different size and capacity)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Draggon with Kalwitz for the reasons set forth in claim 1
above. In addition, Draggon, Kalwitz and BASSETT are considered analogous arts,
because they all relate to the same field of endeavor, i.e., RAID Storage device. Draggon – Kalwitz combination teaches RAID Storage device with 2 storage arrays of different RAID scheme with RAID storage devices of performance characteristics. On the other hand, BASSETT also teaches RAID Storage device of different storage blocks and Different object blocks of RAID system may have different sizes or in other words, two storage blocks which stores different data type may have different size and capacity. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon – Kalwitz combination with BASSETT to specify RAID Storage device of different storage blocks and Different object blocks of RAID system may have different sizes or in other words, two storage blocks which stores different data type may have different size and capacity providing improvement in efficiency, improvement in reliability of safe storage of the data as mentioned in paragraph [0065].
Draggon in view of Kalwitz and further in view of BASSETT teaches RAID Storage device. However, Draggon - Kalwitz - BASSETT combination does not explicitly teach providing a first data recovery performance
providing a second data recovery performance lower than the first data recovery performance
and wherein the first type data requires the first data recovery performance, and the second type data requires the second data recovery performance.
On the other hand, Lee which also relates to RAID Storage device teaches
providing a first data recovery performance
providing a second data recovery performance lower than the first data recovery performance
and wherein the first type data requires the first data recovery performance, and the second type data requires the second data recovery performance (“see Fig 2, paragraph [0063], illustrates in step 204, a recovery scheme is selected based on the determined performance where if performance is within a first range (e.g., speed is between an particular upper and lower value, or is above a particular threshold speed, or below a particular threshold speed), then a first recovery scheme may be used, if the performance is in a second range, a second recovery scheme may be used. In other words, first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Draggon - Kalwitz combination with BASSETT for the reasons set forth above. In addition, Draggon, Kalwitz, BASSETT and Lee are considered analogous arts, because they all relate to the same field of endeavor, i.e., RAID Storage device. Draggon – Kalwitz - BASSETT combination teaches RAID Storage device with 2 storage arrays of different RAID scheme with RAID storage devices of performance characteristics. On the other hand, Lee also teaches RAID Storage device of different storage blocks and first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon – Kalwitz - BASSETT combination with Lee to specify RAID Storage device of different storage blocks and first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance providing improvement in efficiency, improvement in performance as mentioned in paragraph [0143].
Regarding claim 17, Draggon teaches A storage device, comprising: a memory device comprising a plurality of nonvolatile memories; and (“a set of storage devices 115, such as, for example, a set of RAIDs or other storage disk arrays”) (paragraph [0015] line 3, Fig 1) (i.e. Fig 1 illustrates a plurality of disks arrays)
(“Flash memory, and combinations thereof “) (paragraph [067] line 6) (i.e. Reference also points storage device can be Flash memory which non volatile memory)
a controller configured to control the memory device, (“a storage controller 110, such as, for example, a RAID (Redundant Array of Independent (or Inexpensive) Disks) controller”) (paragraph [0015] line 3, Fig 1) (i.e. Fig 1 illustrates controller 110 to control storage devices)
wherein the controller is configured to group nonvolatile memories having a (“FIG. 4 conceptually shows how a RAID controller 410 may store a stream of data that includes information specifying different levels of data redundancy on a common hybrid RAID storage volume 419, according to one or more embodiments of the invention. The particular illustrated RAID storage volume includes a first storage disk array 420 and a second storage disk array 421, although the scope of the invention is not so limited”) (paragraph [0037] line 1, Fig 4)
(“The stream of data is provided to the RAID controller. As shown in the illustrated embodiment, the stream of data may include A2B2C1D1E1F1G1H1. Each letter may represent a different block, byte, or other set of data. The numbers "1" and "2" represent information specifying different levels of data redundancy and are embedded in the data stream”) (paragraph [0038] line 1, Fig 4) (i.e. Fig 4 illustrates here how storage controller along with storage logic sets the redundancy priority for data storage which can be construed as different storing scheme. Examiner considers redundancy information with data sets are analogous to stream ID information with data as being taught by applicant. Based on this information data is stored to respective storage devices)
sorted as first type data having a first attribute and second type data having a second attribute wherein the first attribute is different from the second attribute (see Fig 1, paragraph [0020], illustrates first and second sets of data with a particular importance or attributes may be stored in first and second storage set)
wherein the controller is configured to use a mirroring scheme to store the first type data when the target memory array is the first memory array, and wherein the controller is configured to use a striping scheme to store the second type data when the target memory array is the second array. (” Based on the selections, the RAID controller may cause the first set of data (A) to be stored on the RAID-0 storage volume. Likewise, the RAID controller may cause the second set of data (B) to be stored on the RAID-1 storage volume”) (paragraph [0030], line 1-3) (i.e. RAID controller may cause 1st set of data to be stored RAID 0 and 2nd set of data in RAID 1 storage. Again, Examiner considers order of placement of RAID storages in Fig 1 is insignificant here)
Draggon teaches RAID Storage device. However, Draggon does not explicitly teach wherein an input/output (I/O) speed of the first memory array is different from an I/O speed of the second memory array, and
wherein a device structure of the plurality of first nonvolatile memories is different from a device structure of the plurality of second nonvolatile memories.
On the other hand, Kalwitz which also relates to RAID Storage device teaches
wherein an input/output (I/O) speed of the first memory array is different from an I/O speed of the second memory array, and (“the primary storage devices 504 have one or more higher performance attributes than the secondary storage device 508. Higher performance characteristics includes at least one of data read latency, data write latency, read data transfer rate, and write data transfer rate”) (paragraph [0067], line 1-3) (i.e. primary storage devices may have one or more higher performance attributes than the secondary storage device regardless of which RAID system they are. In other words, I/O performance can be different for 2 storage arrays)
wherein a device structure of the plurality of first nonvolatile memories is different from a device structure of the plurality of second nonvolatile memories. (“disk drive storage devices 116, fast serial attached SCSI (SAS) storage devices 116 can be used for primary storage devices 504, while larger in capacity and less expensive Serial ATA (SATA) or older generation SAS storage devices 116 can be used for secondary storage devices 508”) (paragraph [0067], line 5-7) (i.e. for storage device 116, primary storage devices can be SAS storage and secondary storage can be SATA which have different device structure than SAS)
wherein a device structure of the first memory array is different from a device structure of the second memory array (“see Fig 1A, paragraph [0039], illustrates Storage devices 116 include various types of storage devices where different storage devices of 116 maybe organized according to performance)
Both Draggon and Kalwitz relate to the same field of endeavor, i.e., RAID Storage device. Draggon teaches RAID Storage device with 2 storage arrays of different RAID scheme. Also, Draggon does teach different RAID storage devices with different sizes, performance characteristics and device structures. On the other hand, Kalwitz also teaches RAID Storage device with storage arrays of different RAID scheme and different RAID storage devices with different sizes, performance characteristics and device structures and also Storage devices 116 include various types of storage devices where different storage devices of 116 maybe organized according to performance. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon with Kalwitz to specify RAID Storage device with storage arrays of different RAID scheme and different RAID storage devices with different sizes, performance characteristics and device structures and also Storage devices 116 include various types of storage devices where different storage devices of 116 maybe organized according to performance providing advantage that can be achieved by coordinating the operation of a number of individual storage devices is improved data access and/or storage times as mentioned in paragraph [0003].
Draggon in view of Kalwitz teaches RAID Storage device. However, Draggon - Kalwitz combination does not explicitly teach wherein the storage device is configured to allocate a first storage size to the first memory array and a second storage size to the second memory array, wherein the second storage size is greater than the first storage size,
On the other hand, BASSETT which also relates to RAID Storage device teaches
wherein the storage device is configured to allocate a first storage size to the first memory array and a second storage size to the second memory array, wherein the second storage size is greater than the first storage size, (“see Fig 1, paragraph [0044], illustrates Different object blocks 106A-C of RAID system may have different sizes or in other words, two storage blocks which stores different data type may have different size and capacity)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Draggon with Kalwitz for the reasons set forth in claim 1
above. In addition, Draggon, Kalwitz and BASSETT are considered analogous arts,
because they all relate to the same field of endeavor, i.e., RAID Storage device. Draggon – Kalwitz combination teaches RAID Storage device with 2 storage arrays of different RAID scheme with RAID storage devices of performance characteristics. On the other hand, BASSETT also teaches RAID Storage device of different storage blocks and Different object blocks of RAID system may have different sizes or in other words, two storage blocks which stores different data type may have different size and capacity. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon – Kalwitz combination with BASSETT to specify RAID Storage device of different storage blocks and Different object blocks of RAID system may have different sizes or in other words, two storage blocks which stores different data type may have different size and capacity providing improvement in efficiency, improvement in reliability of safe storage of the data as mentioned in paragraph [0065].
Draggon in view of Kalwitz and further in view of BASSETT teaches RAID Storage device. However, Draggon - Kalwitz - BASSETT combination does not explicitly teach providing a first data recovery performance
providing a second data recovery performance lower than the first data recovery performance
and wherein the first type data requires the first data recovery performance, and the second type data requires the second data recovery performance.
On the other hand, Lee which also relates to RAID Storage device teaches
providing a first data recovery performance
providing a second data recovery performance lower than the first data recovery performance
and wherein the first type data requires the first data recovery performance, and the second type data requires the second data recovery performance (“see Fig 2, paragraph [0063], illustrates in step 204, a recovery scheme is selected based on the determined performance where if performance is within a first range (e.g., speed is between an particular upper and lower value, or is above a particular threshold speed, or below a particular threshold speed), then a first recovery scheme may be used, if the performance is in a second range, a second recovery scheme may be used. In other words, first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Draggon - Kalwitz combination with BASSETT for the reasons set forth above. In addition, Draggon, Kalwitz, BASSETT and Lee are considered analogous arts, because they all relate to the same field of endeavor, i.e., RAID Storage device. Draggon – Kalwitz - BASSETT combination teaches RAID Storage device with 2 storage arrays of different RAID scheme with RAID storage devices of performance characteristics. On the other hand, Lee also teaches RAID Storage device of different storage blocks and first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon – Kalwitz - BASSETT combination with Lee to specify RAID Storage device of different storage blocks and first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance providing improvement in efficiency, improvement in performance as mentioned in paragraph [0143].
Claim(s) 2,3 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Agarwal et al. (US 20220083221 A1) hereinafter Agarwal
Regarding claim 2, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach The storage device of claim 1, of wherein the plurality of first nonvolatile memories have first bit density, and wherein the plurality of second nonvolatile memories have second bit density higher than the first bit density
On the other hand, Agarwal which relates to storage devices teaches The storage device of claim 1, of wherein the plurality of first nonvolatile memories have first bit density, and (“the memory elements, data blocks, or cells may be configured as SLCs that store a single bit of data per cell”) (paragraph [0068], line 7, Fig103) (i.e. Fig 103 describes Nonvolatile memory 104 can be SLC which is single bit cell density)
wherein the plurality of second nonvolatile memories have second bit density higher than the first bit density (“multi-level cells MLCs that store multiple bits of data per cell, or combinations thereof. For example, the MLCs may include TLCs, QLCs, and so on, that store three, four, and more than four bits of data per cell, without limitation”) (paragraph [0068], line 8, Fig103) (i.e. Fig 103 describes Nonvolatile memory 104 can be MLC which is higher bit cell density)
Both Draggon - Kalwitz - BASSETT - Lee combination and Agarwal relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz - BASSETT - Lee combination teaches a storage device with a controller and plurality of storage devices of non volatile memories. On the other hand, Agarwal explicitly teaches non volatile memories can be single bit and higher bit density devices. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee combination with Agarwal to specify the type of non volatile memories for the purpose of reliability.
Regarding claim 3, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach The storage device of claim 1, wherein the plurality of first nonvolatile memories comprises single level cells (SLC), and wherein the plurality of second nonvolatile memories comprises multi-level cells (MLC), triple level cells (TLC), or quadruple level cells (QLC)
On the other hand, Agarwal which relates to storage devices teaches The storage device of claim 1, wherein the plurality of first nonvolatile memories comprises single level cells (SLC), and (“Referring now to FIG. 4A, a simplified block diagram illustration of one embodiment of a SLC data block 460 is shown, in accordance with some embodiments”) (paragraph [0075], line 1) (i.e. Fig 4A illustrates a block containing SLC)
wherein the plurality of second nonvolatile memories comprises multi-level cells (MLC), triple level cells (TLC), or quadruple level cells (QLC) (“Referring now to FIG. 4B, a simplified block diagram illustration of one embodiment of a MLC data block 430 is shown, in accordance with some embodiments”) (paragraph [0076], line 1) (i.e. Fig 4B illustrates a block containing MLC)
Both Draggon - Kalwitz - BASSETT - Lee combination and Agarwal relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz – BASSETT - Lee combination teaches a storage device with a controller and plurality of storage devices. On the other hand, Agarwal explicitly teaches nonvolatile memories can be SLC and MLC, TLC, QLC. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee combination with Agarwal to specify the type of nonvolatile memories for the purpose of reliability.
Regarding claim 15, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach The storage device of claim 1, wherein the storage device is a solid state drive (SSD), and wherein each of the plurality of first nonvolatile memories and the plurality of second nonvolatile memories is a memory chip
On the other hand, Agarwal which relates to storage devices teaches The storage device of claim 1, wherein the storage device is a solid state drive (SSD), and wherein each of the plurality of first nonvolatile memories and the plurality of second nonvolatile memories is a memory chip (“the storage module 201 may be a solid-state drive (SSD), as found in portable computing devices, such as laptop computers, and tablet computers”) (paragraph [0044] line 9, Fig 1B) (i.e. Fig 1B illustrates storage device with plurality of nonvolatile devices as found in different user devices in the form of memory chip)
Both Draggon - Kalwitz - BASSETT - Lee combination and Agarwal relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz - BASSETT - Lee combination teaches a storage device with a controller and plurality of storage devices of nonvolatile memories. On the other hand, Agarwal explicitly teaches storage devices can be SSD as used in various computing devices. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee combination with Agarwal to specify the type of type of storage devices for clarity of use case.
Claim(s) 4 is rejected under 35 U.S.C. 103 as being unpatentable over Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Kim et al. (US 20200150899 A1) hereinafter Kim.
Regarding claim 4, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach storage device of claim 1, wherein the storage device further comprises a plurality of channels connecting the controller to the memory device, wherein each of the plurality of first nonvolatile memories and the plurality of second nonvolatile memories is connected to the controller through a different respective channel among the plurality of channels
On the other hand, Kim which relates to storage devices teaches The storage
Device of claim 1, wherein the storage device further comprises a plurality of channels connecting the controller to the memory device, wherein each of the plurality of first nonvolatile memories and the plurality of second nonvolatile memories is connected to the controller through a different respective channel among the plurality of channels
(“it is assumed that the memory device 220 of FIG. 1 includes six banks 221 to 223 and 231 to 233 connected to two channels CH1 and CH2 (i.e., the case that “n” is 3 and “m” is 2). However, the inventive concept is not limited thereto. For example, the memory device 220 may include the given number of banks connected to the given number of channels”) (paragraph [0035] line 1, Fig 1) (i.e. Fig 1 illustrates banks are connected to controller thru multiple channels and it’s not limited to how many channels so it’s possible that banks can be connected with respective channel as taught by applicant)
Both Draggon - Kalwitz - BASSETT - Lee combination and Kim relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz - BASSETT- Lee combination teaches a storage device with a controller and plurality of storage devices of nonvolatile memories. On the other hand, Kim explicitly teaches hoe plurality of nonvolatile memories are connected to controller with respective channels. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT- Lee combination with Kim to specify how memories are connected to controller with channels to make sure they can be operating independently.
Claim(s) 5-6 and 8-9 are rejected under 35 U.S.C. 103 as being unpatentable over Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennett et al. (WO 2016093797 A1) hereinafter Bennett.
Regarding claim 5, Draggon teaches and store the plurality of data chunks in the plurality of first nonvolatile memories, respectively, thereby storing the first type data in the first memory array by the mirroring scheme (“Accordingly, a subset of data, such as, for example, relatively more important data, may be stored with higher data redundancy for example provided by mirroring”) (paragraph [0030] line 5, Fig 2) (i.e. Fig 2 illustrates data sets are stored in the block with mirror scheme in high redundancy or reliability case)
Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach wherein the controller is configured to divide the pieces of data received from the host into data units of a predetermined size, generate cyclic redundancy check (CRC) values for the data units, respectively, generate a plurality of data chunks by adding the CRC values to the data units, respectively,
On the other hand, Bennett teaches wherein the controller is configured to divide the pieces of data received from the host into data units of a predetermined size, generate cyclic redundancy check (CRC) values for the data units, respectively, generate a plurality of data chunks by adding the CRC values to the data units, respectively, (“Each journal entry 25B in a journal segment of a storage device 7 has at least an entry checksum, a list of block numbers (e.g., addresses) that may be updated in for the write, a CRC or checksum for the new data for the write”) (page 45, paragraph [0102] line 1, Fig 1, Fig 4) (i.e. CRC values are added to each new data chunk for the write before storing)
Both Draggon - Kalwitz - BASSETT - Lee combination and Bennett relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz - BASSETT - Lee combination teaches a storage device with a controller and plurality of storage devices of nonvolatile memories where some of pieces of data based on some criterion can be stored in mirror scheme. On the other hand, Bennett explicitly teaches CRC parity values are added to the pieces of data for higher reliability. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee combination with Bennett to specify how CRC parity values are added to pieces of data for high reliability before storing in RAID 1 mirror scheme.
Regarding claim 6, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennete teaches the storage device with CRC added data stored in mirror scheme in claim 5. However, Draggon - Kalwitz - BASSETT - Lee - Bennett combination does not appear to explicitly teach The storage device of claim 5, wherein the controller is configured to receive a read request from the host, when target data chunks corresponding to the read request are stored in the first memory array, the controller is configured to load the target data chunks from the plurality of first nonvolatile memories, respectively, and when an error is detected in one of the data chunks among the target data chunks, the controller is configured to provide a response to the read request to the host using other data chunks among the target data chunks
On the other hand, Kalwitz teaches wherein the controller is configured to receive a read request from the host, (“At block 704, the storage controller 108, 308 receives a host read request 324 from a host computer 104, 304. Flow proceeds to block 708”) (paragraph [0081] line 1, Fig 7a) (i.e. Fig7a illustrates controller receives a read request)
when target data chunks corresponding to the read request are stored in the first memory array, the controller is configured to load the target data chunks from the plurality of first nonvolatile memories, respectively, and (“At block 716, the storage controller 108, 308 receives read data 340 from the selected primary RAID 1 or RAID 10 storage device 504. Flow proceeds to block 720”) (paragraph [0084] line 1, Fig 7a) (i.e. Fig7a step 716 illustrates read requests is fulfilled from primary RAID1 storage device)
when an error is detected in one of the data chunks among the target data chunks, the controller is configured to provide a response to the read request to the host using other data chunks among the target data chunks (“At decision block 924, the storage controller 108, 308 determines if unrecoverable read errors are being detected while reading data from the non-preferred primary storage device 504”) (page 8, paragraph [0118] line 1, Fig 9) (“At block 936, the storage controller 108, 308 receives read data 340 from the secondary storage device 508. Flow proceeds to block 940”) (paragraph [0121] line 1, Fig 9) (i.e. Combining steps 924 and 936 in Fig 9 illustrates when error is detected data is received from secondary storage mirrored in RAID 1 storage)
The same motivation that was utilized for combining Draggon - Kalwitz - BASSETT - Lee combination with Bennett as set forth in claim 5 is equally applicable to claim 6.
Regarding claim 8, Regarding claim 6, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennete teaches the storage device with CRC added data stored in mirror scheme in claim 6. However, Draggon - Kalwitz - BASSETT - Lee - Bennett combination does not appear to explicitly teach wherein the controller is configured to recover the first memory array from the error, by storing the other data chunks in the plurality of first nonvolatile memories, respectively
On the other hand, Kalwitz teaches wherein the controller is configured to recover the first memory array from the error, by storing the other data chunks in the plurality of first nonvolatile memories, respectively (“If one first physical storage device within a RAID level 1 array fails, data stored on that storage device can be rebuilt onto a replacement storage device by copying the data stored on the failed storage device's companion storage device to the replacement storage device”) (paragraph [0005] line 6) (i.e. Reference teaches in RAID 1 storage data can be restored by copying data from other mirrored companion devices)
The same motivation that was utilized for combining Draggon - Kalwitz - BASSETT - Lee combination with Bennett as set forth in claim 5 is equally applicable to claim 8.
Regarding claim 9, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach The storage device of claim 1, wherein the controller is configured to divide the second type data received from the host into data units of a predetermined size, generate cyclic redundancy check (CRC) values for the data units, respectively, generate a plurality of data chunks by adding the CRC values to the data units, respectively, generate a parity chunk by performing a parity operation on a predetermined number of data chunks among the plurality of data chunks, and store a stripe comprising the predetermined number of data chunks and the parity chunk across the plurality of second nonvolatile memories, thereby storing the second type data in the second memory array by the striping scheme
On the other hand, Bennett teaches wherein the controller is configured to divide the pieces of data received from the host into data units of a predetermined size, generate cyclic redundancy check (CRC) values for the data units, respectively, generate a plurality of data chunks by adding the CRC values to the data units, respectively, generate a parity chunk by performing a parity operation on a predetermined number of data chunks among the plurality of data chunks, and,. (“Each journal entry 25B in a journal segment of a storage device 7 has at least an entry checksum, a list of block numbers (e.g., addresses) that may be updated in for the write, a CRC or checksum for the new data for the write, and parity blocks for each affected block in the parity line that is not being updated”) (paragraph [0102] line 1, Fig 1, Fig 4) (i.e. CRC values are added to each new data chunk for the write before storing)
store a stripe comprising the predetermined number of data chunks and the parity chunk across the plurality of second nonvolatile memories, thereby storing the pieces of data in the second memory array by the striping scheme (“FIG. 7 is a drawing showing a generalized relationship between an existing stripe of data, new data to be written, and parity computation. In the implementation shown in FIG. 17, a an existing stripe 28 consists of data blocks 150 storing client data (A,B,C,D) and protection blocks 151 storing parity (E,F,G) of the data blocks”) (paragraph [0103] line 1, Fig 7, Fig 17) (i.e. Data along with parity is stored in Stripe scheme as illustrated in Fig 7 and Fig 17 by a stripe of data 150 and 151)
Both Draggon - Kalwitz - BASSETT - Lee combination and Bennett relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz - BASSETT - Lee combination teaches a storage device with a controller and plurality of storage devices of nonvolatile memories where some of pieces of data based on some criterion can be stored in mirror scheme. On the other hand, Bennett explicitly teaches CRC parity values are added to some pieces of data for higher reliability and store in striping scheme. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon- Kalwitz - BASSETT - Lee combination with Bennett to specify how CRC parity values are added to pieces of data for high reliability before storing in RAID 0 stripe scheme.
Claim(s) 7 and 10-12 are rejected under 35 U.S.C. 103 as being unpatentable over Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennett and further in view of Kiselev et al. (US 7234024 B1) hereinafter Kiselev
Regarding claim 7, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennett teaches the storage device with CRC added data stored in mirror scheme and read execution from host in claim 6. However, Draggon - Kalwitz - BASSETT - Lee - Bennett combination does not explicitly teach The storage device of claim 6, wherein the controller is configured to obtain the target data chunks from the plurality of first nonvolatile memories in parallel
On the other hand, Kiselev teaches The storage device of claim 6, wherein the controller is configured to obtain the target data chunks from the plurality of first nonvolatile memories in parallel (“RAID controller 18 is capable of simultaneously reading data from one or a number of disk drives 16(1) 16(5) in response to a request received from computer system 12”) (col 4 line 18, Fig 1) (i.e. data can be read simultaneously in parallel from drives as illustrated in Fig 1)
It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee - Bennett for the reasons set forth in claim 5 and 6 above. In addition, Draggon - Kalwitz - BASSETT - Lee - Bennett combination and Kiselev are considered analogous arts, because they all relate to the same field of endeavor, i.e., Storage devices. Kiselev provides parallel data reception by controller. Draggon - Kalwitz - BASSETT - Lee combination teaches a storage device with a controller and plurality of storage devices of nonvolatile memories where some of pieces of data based on some criterion can be stored in mirror scheme. On the other hand, Kiselev teaches a storage device with a controller and plurality of storage devices of nonvolatile memories and how data reception by controller can be done in parallel which promotes performance. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Kiselev with Draggon - Kalwitz - BASSETT - Lee - Bennett combination to specify how data reception by controller can be done in parallel which promotes performance.
Regarding claim 10, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennett teaches the storage device with CRC added data stored in stripe scheme in claim 9. However, Draggon - Kalwitz - BASSETT - Lee - Bennett combination does not explicitly teach wherein the controller is configured to receive a read request from the host, and when a target data chunk corresponding to the read request is stored in the second memory array, the controller is configured to load the stripe comprising the target data chunk from the plurality of second nonvolatile memories, and when an error is detected in the target data chunk, the controller is configured to recover the target data chunk using other data chunks and the parity chunk included in the stripe and provides the target data chunk that was recovered to the host
On the other hand, Kiselev teaches wherein the controller is configured to receive a read request from the host, and when a target data chunk corresponding to the read request is stored in the second memory array, the controller is configured to load the stripe comprising the target data chunk from the plurality of second nonvolatile memories, and (“Computer system 12 executes an application program that generates a request to read data from the data volume in storage system 10. The read request is transmitted to RAID controller 18. In turn, RAID controller 18 reads data sought by the read request from one or more stripe units in disk drives 16(1) 16(5). RAID controller 18 returns the read data to computer system 12”) (col 4 line 44, Fig 1, Fig 2) (i.e. Upon receiving read request, controller reads data from the stripes of disks as illustrated in Fig 2)
when an error is detected in the target data chunk, the controller is configured to recover the target data chunk using other data chunks and the parity chunk included in the stripe and provides the target data chunk that was recovered to the host (“Each stripe S.sub.y also includes error correction data P.sub.y. Correction data P.sub.y is generated by RAID controller 18 as a function of data in stripe units B.sub.y,1 B.sub.y,4 according to well known error correction algorithms. For purposes of explanation, RAID controller 18 generates error correction data P.sub.y according to well known parity data generation schemes”) (col 4 line 33, Fig 1, Fig 2) (i.e. Error correction is illustrated in Fig 1 and 2 how each stripe data combining with parity info is reconstructed in the event of error)
It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee - Bennett for the reasons set forth in claim 9 above. In addition, Draggon - Kalwitz - BASSETT - Lee - Bennett combination and Kiselev are considered analogous arts, because they all relate to the same field of endeavor, i.e., Storage devices. Kiselev provides parallel data reception by controller. Draggon - Kalwitz - BASSETT - Lee - Bennett combination teaches storage device with a controller and plurality of storage devices of nonvolatile memories where some of pieces of data based on some criterion can be stored in mirror scheme. On the other hand, Kiselev teaches storage device with a controller and plurality of storage devices of nonvolatile memories and the flow how read request is executed from host and data is received from storage and if error is detected how data is generated from stripe data and parity. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Kiselev with Draggon- Kalwitz - BASSETT - Lee - Bennett combination to specify storage device with a controller and plurality of storage devices of nonvolatile memories and the flow how read request is executed from host and data is received from storage and if error is detected how data is generated from stripe data and parity.
Regarding claim 11, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennett and further in view of Kiselev teaches the storage device with CRC added data stored in stripe scheme in claim 10. However, Draggon - Kalwitz - BASSETT - Lee - Bennett - Kiselev combination does not explicitly teach wherein the controller is configured to obtain the target data chunk, the other data chunks, and the parity chunk included in the stripe from the plurality of second nonvolatile memories in parallel
On the other hand, Kiselev teaches The storage device of claim 10, wherein the controller is configured to obtain the target data chunk, the other data chunks, and the parity chunk included in the stripe from the plurality of second nonvolatile memories in parallel (“RAID controller 18 is capable of simultaneously reading data from one or a number of disk drives 16(1) 16(5) in response to a request received from computer system 12”) (col 4 line 18, Fig 1, Fig 2) (i.e. Fig1 illustrates data can be read simultaneously in parallel from drives as illustrated in Fig 1. Fig2 also illustrates data along with parity are stored in stripe scheme. So, Examiner considers reading parallel from disks in stripe scheme includes all)
The same motivation that was utilized for combining Draggon - Kalwitz - BASSETT - Lee - Bennett combination with Kiselev as set forth in claim 10 is equally applicable to claim 11.
Regarding claim 12, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Bennett and further in view of Kiselev teaches the storage device with CRC added data stored in stripe scheme in claim 10. However, Draggon - Kalwitz - BASSETT - Lee - Bennett - Kiselev combination does not explicitly teach wherein the controller is configured to restore the second memory array from the error by storing the target data chunk that was recovered, the other data chunks, and the parity chunk across the plurality of second nonvolatile memories
On the other hand, Kiselev teaches wherein the controller is configured to restore the second memory array from the error by storing the target data chunk that was recovered, the other data chunks, and the parity chunk across the plurality of second nonvolatile memories (“The reconstructed data of stripe unit B.sub.y,x is returned to the computer system in step 44. Optionally, the reconstructed data is compared with the existing data B.sub.y,x, and a notification is sent to computer system 12 if the reconstructed data does not compare equally. Optionally, old data of stripe unit B.sub.y,x is overwritten with the reconstructed data”) (col 5 line 54, Fig 3) (i.e. Fig 3 step 42- 45 clearly illustrates the how data stripes are reconstructed from data and parity, shows the steps of reconstruction and restoring process of the data stripe scheme)
The same motivation that was utilized for combining Draggon - Kalwitz - BASSETT - Lee - Bennett combination with Kiselev as set forth in claim 10 is equally applicable to claim 12.
Claim(s) 13 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Song et al. (CN 109508147 A) hereinafter Song.
Regarding claim 13, Draggon teaches The storage device of claim 1, wherein respective stream identifiers (stream IDs) are allocated to the pieces of data having different attributes, and wherein the controller is configured to determine the different attributes of the pieces of data received from the host based on the respective stream IDs received with the pieces of data, and (“FIG. 4 conceptually shows how a RAID controller 410 may store a stream of data that includes information specifying different levels of data redundancy on a common hybrid RAID storage volume 419, according to one or more embodiments of the invention”) (paragraph [37] line 1, Fig 4)
(“The stream of data is provided to the RAID controller. As shown in the illustrated embodiment, the stream of data may include A2B2C1D1E1F1G1H1. Each letter may represent a different block, byte, or other set of data. The numbers "1" and "2" represent information specifying different levels of data redundancy and are embedded in the data stream”) (paragraph [38] line 1, Fig 4)
(i.e. Fig 4 illustrates how controller can get data with different stream attributes on redundancy or reliability associated with each data chunk. Examiner considers stream of data with different reliability information is analogous to stream ID identifier which essentially have information about different storing requirements as taught by applicant)
the first type data and the second type data (see Fig 1, paragraph [0021], illustrates instead of storing different types of data blindly, data may intelligently be stored based on importance of data attributes or types to the storage of different redundancy scheme)
Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach wherein the controller is configured to store the pieces of data comprising system data in the plurality of first nonvolatile memories according to the mirroring scheme based on the respective stream IDs allocated thereto, and to store the pieces of data comprising user data in the plurality of second nonvolatile memories according to the striping scheme based on the respective stream IDs allocated thereto
On the other hand, Song appears to teach wherein the controller is configured to store the pieces of data comprising system data in the plurality of first nonvolatile memories according to the mirroring scheme based on the respective stream IDs allocated thereto, and to store the pieces of data comprising user data in the plurality of second nonvolatile memories according to the striping scheme based on the respective stream IDs allocated thereto (“the system operation data into RAID1 disk array in the storage device”) (page 6 paragraph 1 line 1)
(“the cache of the user data is stored to a RAID0 disk array”) (page 3 paragraph 4 line 4)
(i.e. Reference teaches system data are stored in RAID 1 which can be understood as mirror scheme and user data are stored in RAID 0 which can be understood as stripe scheme)
It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee for the reasons set forth in claim 1 above. In addition, Draggon - Kalwitz - BASSETT - Lee combination and Kiselev are considered analogous arts, because they all relate to the same field of endeavor, i.e., Storage devices. Kiselev provides parallel data reception by controller. Draggon - Kalwitz - BASSETT - Lee combination teaches storage device with a controller and plurality of storage devices of nonvolatile memories where some of pieces of data based on some criterion can be stored in mirror scheme. On the other hand, Song explicitly teaches System data is stored in RAID 1 mirror scheme and User data is stored in RAID 0 stripe scheme. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee combination with Song how data is sorted at stored in which scheme as for the priority and importance of data.
Regarding claim 14, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Song teaches RAID Storage device claim 13. However, Draggon – Kalwitz- BASSETT - Song does not explicitly teach The storage device of claim 13, wherein the controller is configured to map the respective stream IDs to storage schemes comprising the mirroring scheme or the striping scheme, and to provide mapping information between the respective stream IDs and the storage schemes to the host
On the other hand, Draggon which also relates to RAID Storage device teaches
The storage device of claim 13, wherein the controller is configured to map the respective stream IDs to storage schemes comprising the mirroring scheme or the striping scheme, and to provide mapping information between the respective stream IDs and the storage schemes to the host (“The stream of data is provided to the RAID controller. As shown in the illustrated embodiment, the stream of data may include A2B2C1D1E1F1G1H1. Each letter may represent a different block, byte, or other set of data. The numbers "1" and "2" represent information specifying different levels of data redundancy and are embedded in the data stream. According to one possible convention, each number "1" may specify a first level of data redundancy for a preceding number, and each number "2" may specify a second level of data redundancy for a preceding number”) (paragraph [38] line 1, Fig 4) (i.e. Fig 4 illustrates data stream with different ID corresponding to redundancy assignment coming into the controller, Examiner considers this stream information associated with each data chunk is essentially the mapping for storage scheme)
The same motivation that was utilized for combining Draggon – Kalwitz -
BASSETT - Lee with Song as set forth in claim 13 is equally applicable to claim 14.
Claim(s) 16 is rejected under 35 U.S.C. 103 as being unpatentable over Draggon et al. (US 20070079068 A1) in view of Kalwitz and further in view of BASSETT and further in view of Lee and further in view of Shatsky et al. (US 20210255782 A1) hereinafter Shatsky.
Regarding claim 16, Draggon in view of Kalwitz and further in view of BASSETT and further in view of Lee teaches Storage device of claim 1, However, Draggon - Kalwitz - BASSETT - Lee combination does not explicitly teach The storage device of claim 1, wherein a number of the plurality of second nonvolatile memories is greater than a number of the plurality of first nonvolatile memories
On the other hand, Shatsky teaches The storage device of claim 1, wherein a number of the plurality of second nonvolatile memories is greater than a number of the plurality of first nonvolatile memories (“The RAID arrangement 107 in the present embodiment illustratively comprises at least one RAID group that includes mixed-capacity storage devices, such as one or more storage devices having relatively low capacities and one or more storage devices having relatively high capacities”) (paragraph [0038] line 2, Fig 1) (i.e. Fig 1 device 107 illustrates plurality of storage devices with different capacity which essentially means the storage devices can have different capacity based on requirements)
It would have been obvious to one of ordinary skill in the art at the time of Applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee for the reasons set forth in claim 1 above. In addition, Draggon - Kalwitz - BASSETT - Lee combination and Shatsky are considered analogous arts, because they all relate to the same field of endeavor, i.e., Storage devices. Kiselev provides parallel data reception by controller. Draggon - Kalwitz - BASSETT - Lee combination teaches storage device with a controller and plurality of storage devices of nonvolatile memories where some of pieces of data based on some criterion can be stored in mirror scheme. On the other hand, Shatsky explicitly teaches nonvolatile memories can be of different capacity one bigger than the other. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - BASSETT - Lee combination with Shatsky to specify capacity variation in memories for the purpose of priority storage.
Claim(s) 18 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over
Draggon in view of Kalwitz and further in view of Lee and further in view of Igahara et al. (US 20190095116 A1) hereinafter Igahara.
Regarding claim 18, Draggon teaches An electronic system, comprising: a host; (“The storage architecture includes one or more computer systems 105”) (paragraph [0015] line 2, Fig 1) (i.e. Fig 1 illustrates a host computer system 105)
and a storage device comprising a first memory array for storing data using a mirroring scheme, and a second memory array for storing data using a striping scheme, (“the plurality of different conventional RAID level storage volumes may optionally include a RAID-0 storage volume 216, and a RAID-1 storage volume 217”) (paragraph [0024] line 1, Fig 2) (i.e. Fig 2 illustrates 2 different memory arrays one being RAID 0 stripe scheme and the other one being RAID 1 mirror scheme)
wherein the storage device is configured to allocate a first storage size to the first memory array and a second storage size to the second memory array, wherein the second storage size is greater than the first storage size. (“In RAID-1, all of A, B, C, D, E, F, G, and H would generally be mirrored or replicated on the first and second storage disk arrays. Mirroring all of the data may use more storage capacity. In some cases, depending upon the amount of data, it is possible that all of the data may not fit on the RAID storage volume”) (paragraph [0039], line 1-4) (i.e. Fig1 illustrates two storage volumes. One is RAID 0 stripe volume and another one is RAID 1 mirror volume. RAID 1 mirror volume where data is replicated and mirroring use more storage for replication leaving less usable capacity for storage. Therefore, examiner considers regardless of the order of storage placement which is insignificant in the Fig 1, mirror storage volume clearly has less capacity than stripe storage volume due to mirroring scheme. It is RAID scheme which determines the storage capacity)
wherein the host is configured to allocate respective stream IDs to pieces of data having different attributes, map the respective stream IDs to a storage scheme comprising one of the mirror scheme or the striping scheme, and provide mapping information between the respective stream IDs and the storage scheme to the storage device, and (“FIG. 4 conceptually shows how a RAID controller 410 may store a stream of data that includes information specifying different levels of data redundancy on a common hybrid RAID storage volume 419, according to one or more embodiments of the invention. The particular illustrated RAID storage volume includes a first storage disk array 420 and a second storage disk array 421, although the scope of the invention is not so limited”) (paragraph [0037] line 1, Fig 4)
(“The stream of data is provided to the RAID controller. As shown in the illustrated embodiment, the stream of data may include A2B2C1D1E1F1G1H1. Each letter may represent a different block, byte, or other set of data. The numbers "1" and "2" represent information specifying different levels of data redundancy and are embedded in the data stream”) (paragraph [0038] line 1, Fig 4) (i.e. Fig 4 illustrates computer host provides sorting scheme for different sets of data to the controller to set priority for redundancy storing scheme. Based on that data is stored to either RAID0 stripe (lower priority) or RAID1 mirror (higher priority) scheme)
wherein the storage device is configured to determine a mapping relationship between the respective stream IDs and the first memory array or the second memory array based on the mapping information, sort the pieces of data received from the host based on the respective stream IDs allocated to the pieces of data, (“Referring again to FIG. 2, the RAID controller may receive different sets of data, for example A and B, and corresponding information specifying different levels of data redundancy for each of the sets of data, for example a lower level for A and a higher level for B. The RAID controller may include data redundancy storage logic to select a RAID level storage volume for each set of data based, at least in part, on the corresponding information specifying the level of data redundancy for that particular set of data”) (paragraph [0028] line 1, Fig 2) (i.e. Fig 2 illustrates different sets of data are sorted for redundancy priority for respective memory array. Examiner considers redundancy information with each data set as stream IDs allocated)
and store the pieces of data that were sorted in the first memory array or the second memory array (“Based on the selections, the RAID controller may cause the first set of data (A) to be stored on the RAID-0 storage volume. Likewise, the RAID controller may cause the second set of data (B) to be stored on the RAID-1 storage volume”) (paragraph [0028] line 1, Fig 2) (i.e. Fig 2 illustrates how 1st and 2nd set of data are stored in their respective memory scheme)
into first type data and second type data (see Fig 1, paragraph [0021], illustrates instead of storing different types of data blindly, data may intelligently be stored based on importance of data attributes or types to the storage of different redundancy scheme)
Draggon teaches RAID Storage device. However, Draggon does not explicitly teach wherein an input/output (I/O) speed of the first memory array is different from an I/O speed of the second memory array, and
On the other hand, Kalwitz which also relates to RAID Storage device teaches
wherein an input/output (I/O) speed of the first memory array is different from an I/O speed of the second memory array, and (“the primary storage devices 504 have one or more higher performance attributes than the secondary storage device 508. Higher performance characteristics includes at least one of data read latency, data write latency, read data transfer rate, and write data transfer rate”) (paragraph [0067], line 1-3) (i.e. primary storage devices may have one or more higher performance attributes than the secondary storage device regardless of which RAID system they are. In other words, I/O performance can be different for 2 storage arrays)
Both Draggon and Kalwitz relate to the same field of endeavor, i.e., RAID Storage device. Draggon teaches RAID Storage device with 2 storage arrays of different RAID scheme. Also, Draggon does teach different RAID storage devices with different sizes, performance characteristics and device structures. On the other hand, Kalwitz also teaches RAID Storage device with storage arrays of different RAID scheme and different RAID storage devices with different sizes, performance characteristics and device structures. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon with Kalwitz to specify RAID Storage device with storage arrays of different RAID scheme and different RAID storage devices with different sizes, performance characteristics and device structures providing advantage that can be achieved by coordinating the operation of a number of individual storage devices is improved data access and/or storage times as mentioned in paragraph [0003].
Draggon in view of Kalwitz teaches RAID Storage device. However, Draggon - Kalwitz combination does not explicitly teach providing a first data recovery performance
providing a second data recovery performance lower than the first data recovery performance
and wherein the first type data requires the first data recovery performance, and the second type data requires the second data recovery performance.
On the other hand, Lee which also relates to RAID Storage device teaches
providing a first data recovery performance
providing a second data recovery performance lower than the first data recovery performance
and wherein the first type data requires the first data recovery performance, and the second type data requires the second data recovery performance (“see Fig 2, paragraph [0063], illustrates in step 204, a recovery scheme is selected based on the determined performance where if performance is within a first range (e.g., speed is between an particular upper and lower value, or is above a particular threshold speed, or below a particular threshold speed), then a first recovery scheme may be used, if the performance is in a second range, a second recovery scheme may be used. In other words, first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Draggon with Kalwitz for the reasons set forth above. In addition, Draggon, Kalwitz, and Lee are considered analogous arts, because they all relate to the same field of endeavor, i.e., RAID Storage device. Draggon – Kalwitz combination teaches RAID Storage device with 2 storage arrays of different RAID scheme with RAID storage devices of performance characteristics. On the other hand, Lee also teaches RAID Storage device of different storage blocks and first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon – Kalwitz combination with Lee to specify RAID Storage device of different storage blocks and first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance providing improvement in efficiency, improvement in performance as mentioned in paragraph [0143].
Draggon in view of Kalwitz and further in view of Lee teaches RAID Storage device. However, Draggon- Kalwitz - Lee combination does not explicitly teach wherein the respective stream IDs correspond to the I/O speed of the first memory array and the I/O speed of the second memory array, and wherein the respective stream IDs correspond to the recovery speed of the first memory array and the recovery speed of the second memory array
On the other hand, Igahara which also relates to RAID Storage device teaches wherein the respective stream IDs correspond to the I/O speed of the first memory array and the I/O speed of the second memory array, and wherein the respective stream IDs correspond to the recovery speed of the first memory array and the recovery speed of the second memory array (“The stream ID—write mode table 373 manages, as shown in FIG. 10, a relationship between a stream ID and a write mode corresponding to the stream ID”) (paragraph [0072] line 1-2)
(“the host 2 designates a write mode (SLC mode 15, TLC mode 16, or QLC mode 17) for an LBA range, a name space ID, or a stream ID. Not only designation of the write mode or in addition to designation of the write mode, the host 2 may designate a read/write performance (e.g., high/low, or the like) expected by the host 2 for the LBA range, the name space ID, or the stream ID”) (paragraph [0196] line 5-8) (i.e. Fig 10 illustrates a table showing relationship between a stream ID and a write mode corresponding to the stream ID where write modes are used for read/write performance. In other words, stream ID is used for performance speed which should also include recovery speed based on the mode)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Draggon - Kalwitz combination with Lee for the reasons set forth above above. In addition, Draggon, Kalwitz, Lee and Igahara are considered analogous arts, because they all relate to storage device of nonvolatile memory. Draggon – Kalwitz – Lee combination teaches storage device of nonvolatile memory with different sizes, performance characteristics and structures. Draggon – Kalwitz – Lee combination does not data stream ID corresponding to speed performance of memory array. On the other hand, Igahara also teaches storage device of nonvolatile memory with different performance characteristics and structures and data stream ID corresponding to speed performance of memory array. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Draggon - Kalwitz – Lee combination with Igahara to specify storage device of nonvolatile memory with different performance characteristics and structures and data stream ID corresponding to speed performance of memory array providing better reliability for flash memory as it configured to write data in a nonvolatile memory by selectively using a single level cell (SLC) mode to store one bit data in one memory cell and a multi-level cell (MLC) mod as mentioned in paragraph [0007].
Regarding claim 19, Draggon in view of Kalwitz and further in view of Lee and further in view of Igahara teaches RAID Storage device of claim18. However, Draggon- Kalwitz - Lee - Igahara combination does not explicitly teach The electronic system of claim 18, wherein the host is configured to map the respective stream IDs allocated to system data among the pieces of data to the mirroring scheme, and to map the respective stream IDs allocated to user data among the pieces of data to the striping scheme
On the other hand, Draggon which also relates to RAID Storage device teaches The electronic system of claim 18, wherein the host is configured to map the respective stream IDs allocated to the first type data comprising system data among the pieces of data to the mirroring scheme, and to map the respective stream IDs allocated to the second type data comprising user data among the pieces of data to the striping scheme (“For example, as shown in the illustrated embodiment, the computer systems may provide a first set of data (labeled "A"), a second set of data (labeled "B"), information specifying that the first set of data (A) is to be stored with a first level of data redundancy (labeled "lower"), and information specifying that the second set of data (B) is to be stored with a second level of data redundancy (labeled "higher")”) (paragraph [0017] line 1, Fig 1, 2)
(“Conventional RAID-0 may provide a striped storage disk array without fault tolerance”) (paragraph [0025] line 1, Fig 2)
(“Conventional RAID-1 may provide mirroring”) (paragraph [0026] line 1, Fig 2)
(“Based on the selections, the RAID controller may cause the first set of data (A) to be stored on the RAID-0 storage volume. Likewise, the RAID controller may cause the second set of data (B) to be stored on the RAID-1 storage volume”) (paragraph [0030] line 1, Fig 2) (i.e. Computer system provides the data information which can be considered as stream ID along with data sets to sort how it’s to be stored and which scheme to be used. Data which needs higher redundancy scheme such as system data will be stored with high priority label B in RAID 1 and user data with low priority label A will be stored in RAID 0 as illustrated in Fig 2)
(see Fig 1, paragraph [0021], illustrates instead of storing different types of data blindly, data may intelligently be stored based on importance of data attributes or types to the storage of different redundancy scheme)
The same motivation that was utilized for combining Draggon – Kalwitz - Lee with
Igahara as set forth in claim 18 is equally applicable to claim 19.
Claim(s) 20 is rejected under 35 U.S.C. 103 as being unpatentable over Draggon in view of Kalwitz and further in view of Lee and further in view of Igahara and further in view of Hammer et al. (US 20150199367 A1) hereinafter Hammer.
Regarding claim 20, Draggon in view of Kalwitz and further in view of Lee and further in view of Igahara teaches and electronic system of a Storage device of claim 19, However, Draggon - Kalwitz - Lee - Igahara combination does not explicitly teach wherein the system data comprises metadata and log data, and wherein the user data comprises multimedia and a database
On the other hand, Hammer teaches wherein the system data comprises metadata and log data, (“system data (e.g., registries, event logs, etc.), and the like”) (paragraph [0360] line 3, Fig 8) (i.e. Fig 8 illustrates primary data 812B as system data which may include log data)
and wherein the user data comprises multimedia and a database (“Example subfolders that categorize all of the users' data objects may include a documents folder 156, a pictures folder 158, and a multimedia folder 160”) (paragraph [0056] line 5, Fig 1) (i.e. Fig 1 illustrates folder explorer 142 which is defined as user data here may contain multimedia)
Both Draggon - Kalwitz - Lee - Igahara combination and Hammer relate to the same field of endeavor, i.e., Storage devices. Draggon - Kalwitz - Lee - Igahara combination teaches a storage device with a controller and plurality of storage devices of nonvolatile memories where data are stored based on the data attributes. On the other hand, Hammer explicitly teaches the type of data coming from controller. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz - Lee - Igahara combination with Hammer to specify the type of data to be sorted for storage. If they are system data like log data, they will be stored in one scheme and if they are user data like multimedia files they will be stored in different scheme.
Response to Arguments
Applicant’s arguments filed on 12/30/2025 have been fully considered but they
are not persuasive.
Applicant’s first and second argument is claims 1 mapping by references in page 6 of the response: Bassett shows different data storage sizes for storing and recovering the same data (e.g., the dataset 104). Since the and purposes of inventions of Draggon and Bassett are completely different (completely opposite to each other), one of ordinary skill in the art would not be motivated to combine Draggon and Bassett. In summary, Kalwitz and Bassett may illustrate storing the same data with the same attribute in different storage regions (e.g., memory arrays), not storing different data with different attributes in different storage regions as allegedly described in Draggon (e.g., memory arrays)
In summary, applicant argued that there is not enough motivation to combine Draggon, Kalwitz and BASSETT. Examiner respectfully disagrees about combining Draggon with secondary references Kalwitz and BASSETT. While Draggon teaches different RAID memory storages with different redudanccy scheme but does not teach different I/O speed for different storage arrays which is taught by Kalwitz and while Draggon – Kalwitz combination teaches RAID storage arrays with different redundancy scheme and I/O speed but does not teach different storage sizes which is taught by BASSETT. Therefore, it would have been obvious to one of ordinary skill at the time of applicant’s filing to combine Draggon - Kalwitz combination with BASSETT as explained above. Thus, the rejection of claims 1 is maintained.
Applicant’s third argument is claims 1 amendment mapping by primary and secondary storage references in page 7 of the response: the combination of Draggon, Kalwitz, and Bassett fails to teach, disclose, or suggest that the mirroring scheme and the striping scheme respectively provide different "first data recovery performance" and "second data recovery performance", and that first-type data and second-type data respectively require the "first data recovery performance" and the "second data recovery performance". These recitations of amended Claim 1 may be supported at least by paragraphs [0032]-[0036], [0078]-[0080], [0091], [0092], and [0103]-[0107], as well as FIGS. 8 and 11 of the present application (reproduced below).
In summary, applicant argued that references Draggon - Kalwitz - BASSETT combination does not teach amended first and second data recovery performance. The amendment necessitates adding another secondary reference Lee in this regard. For further clarification examiner cites portion from Lee. Also, for applicant’s understanding
examiner would like to explain the teachings of Lee and examiner’s interpretation in
more detail here. See Fig 2, paragraph [0063], Lee teaches in step 204, a recovery scheme is selected based on the determined performance where if performance is within a first range (e.g., speed is between an particular upper and lower value, or is above a particular threshold speed, or below a particular threshold speed), then a first recovery scheme may be used, if the performance is in a second range, a second recovery scheme may be used. In other words, first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance. The cited portion along with fig 2 clearly teaches first recovery scheme is used for first recovery performance and second recovery scheme is used for second recovery performance. Thus, the rejection of claims 1 is maintained.
Same argument applies to claim 17 and 18.
Conclusion
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 SUBIR K CHOWDHURY whose telephone number is (703)756-1207. The examiner can normally be reached Monday-Friday 8:30 - 5:00 CST.
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.
/S.K.C./Examiner, Art Unit 2132
/HOSAIN T ALAM/Supervisory Patent Examiner, Art Unit 2132