DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 21-40 are pending for examination. Claims 1-20 were cancelled in a preliminary amendment filed 12/30/2024.
Specification Objections
The disclosure is objected to because of the following informality:
¶ 0001: Add the corresponding patent number associated with Application No. 17/932,916.
Appropriate correction is required.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are:
Claim 37: …a drive utilization system…configured to: identify…log-write…and store…
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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 21-28 are rejected under 35 U.S.C. 103 as being unpatentable over Fillingim et al. (U.S. Patent No. US 9,116,823 B2), hereinafter “Fillingim,” further in view of Flynn et al. (U.S. Patent No. US 7,836,226 B2), hereinafter “Flynn,” and further in view of the instant specification: admitted prior art, hereinafter “the instant specification.” Fillingim and Flynn were cited in the IDS filed 08/09/2024.
MPEP 2129(II) states: “Where the specification identifies work done by another as "prior art," the subject matter so identified is treated as admitted prior art. In re Nomiya, 509 F.2d 566, 571, 184 USPQ 607, 611 (CCPA 1975) (holding applicant’s labeling of two figures in the application drawings as "prior art" to be an admission that what was pictured was prior art relative to the claimed improvement).”
With regards to Claim 21, Fillingim teaches:
a method for writing to “elements” (Fig. 1; col. 5, lines 8-22; and col. 7, lines 24-36.) in a redundant array of independent disks (RAID) storage system (col. 13, lines 48-53.), the method comprising:
identifying data for storage on the “elements” in the RAID storage system, wherein different portions of the data correspond respectively to different logical storage volumes (Fig. 1; col. 7, lines 46-67; col. 8, lines 1-8; Fig. 6C; and col. 24, lines 9-16; regarding, e.g., ECC codewords 621, 622, and 623 [different logical storage volumes] of array 115.);
mapping the different portions of the data to respective individual “elements” of the “elements” in the RAID storage system (Fig. 1; col. 6, lines 3-26; col. 12, lines 23-41; Fig. 9; col. 45, lines 36-52; Fig. 6C; and col. 24, lines 29-39.); and
striping the data across the “elements” in the RAID storage system with the different portions of the data being stored vertically to the respective individual “elements” in accordance with the mapping (Fig. 9; col. 44, lines 51-67; col. 45, lines 1-23; col. 45, lines 36-52; Fig. 6C; col. 24, lines 9-16; and col. 24, lines 29-39.).
Fillingim does not explicitly teach:
drives.
However, Flynn teaches:
drives (Fig. 1 and col. 8, lines 41-53.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim with the use of hard disk drives in a RAID as taught by Flynn because a simple substitution of one known element (a solid-state storage medium comprising one or more arrays of solid-state storage elements - Fillingim: Fig. 1; and Fillingim: col. 7, lines 24-45) for another (hard disk drives in a RAID) can be performed to obtain predictable results (providing known means for RAID storage).
Fillingim in view of Flynn does not explicitly teach:
wherein parity for the different portions is calculated horizontally across corresponding portions of the drives such that parity data on each drive of the drives corresponds to data stored on others of the drives.
However, the instant specification teaches:
wherein parity for the different portions is calculated horizontally across corresponding portions of the drives such that parity data on each drive of the drives corresponds to data stored on others of the drives (¶ 0017; Fig. 7; and ¶ 0033-0035.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim in view of Flynn with a RAID-5 parity calculation and distribution as taught by the instant specification because a simple substitution of one known element (the use of a parity column – Fillingim: Fig. 6C and Fillingim: col. 24, lines 50-64) for another (distributed horizontal RAID-5 parity) can be performed to obtain predictable results (providing known means for calculating and storing parity such that a single storage element is not burdened with excessive parity writes / overhead).
With regards to Claim 22, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 21 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
wherein the mapping includes:
generating a log for each of the logical storage volumes, wherein the log maps write locations on an individual drive of the drives in the RAID storage system to corresponding addresses within a logical storage volume of the individual volumes stored on the individual drive (Fillingim: Fig. 1; Fillingim: col. 6, lines 3-26; Fillingim: col. 6, lines 49-61; Fillingim: Fig. 3; and Fillingim: col. 10, lines 3-25; regarding, e.g., bitmap metadata and/or contextual metadata [log] including, in part, logical identifier indicators associated with data packets.).
With regards to Claim 23, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 21 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
writing the parity data to the drives in the RAID storage system, wherein components of the parity data stored on each individual drive of the drives in the RAID storage system correspond to those of the portions of the data stored on others of the drives in the RAID storage system (Fillingim: Fig. 1; Fillingim: col. 8, lines 24-49; Fillingim: col. 12, lines 8-15; Fillingim: col. 17, lines 55-67; and Fillingim: col. 18, lines 1-15.).
With regards to Claim 24, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 23 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
upon failure of a particular individual drive of the drives in the RAID storage system, restoring lost data from the particular individual drive using the components of the parity data stored on other drives in the RAID storage system (Fillingim: Fig. 1 and Fillingim: col. 8, lines 24-49.).
With regards to Claim 25, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 21 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
obtaining, from the RAID storage system, an initial deterministic allocation of the data to the drives in the RAID storage system (Fillingim: Fig. 1; Fillingim: Fig. 2; and Fillingim: col. 9, lines 44-57; regarding, e.g., sequence timestamps.); and
journaling a correspondence between the mapping and the initial deterministic allocation (Fillingim: Fig. 3 and Fillingim: col. 10, lines 3-25; regarding, e.g., providing header data per data packet that includes the sequence timestamp contextual metadata.).
With regards to Claim 26, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 25 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
storing respective journal portions created by the journaling to a same drive of the drives in the RAID storage system that stores a portion of the data to which a respective journal portion corresponds (Fillingim: Fig. 3 and Fillingim: col. 10, lines 3-25.).
With regards to Claim 27, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 21 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
obtaining a read request for volume data of a volume of the logical storage volumes (Fillingim: col. 2, lines 62-67; Fillingim: col. 3, lines 1-5; Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.);
determining from the mapping which drive of the drives in the RAID storage system stores the volume (Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.); and
reading the volume data from the drive (Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.).
With regards to Claim 28, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 27 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, further teaches:
determining the drive has failed (Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; Fillingim: col. 47, lines 1-16; Fillingim: Fig. 13; and Fillingim: col. 48, lines 28-66.);
wherein reading the volume data from the drive comprises restoring the volume data from parity information stored to other drives of the drives in the RAID storage system (Fillingim: Fig. 13; and Fillingim: col. 48, lines 28-66.).
Claims 31-35 and 37-39 are rejected under 35 U.S.C. 103 as being unpatentable over Fillingim, and further in view of Flynn.
With regards to Claim 31, Fillingim teaches:
an apparatus for writing to independent “elements” (Fig. 1; col. 5, lines 8-22; and col. 7, lines 24-36.) in a redundant array of independent disks (RAID) storage system (col. 13, lines 48-53.), the apparatus comprising:
one or more computer readable storage media (Fig. 1; col. 5, lines 53-63; and col. 53, lines 30-63.);
a processing system operatively coupled with the one or more computer readable storage media (Fig. 1 and col. 5, lines 53-63.); and
program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the apparatus (Fig. 1 and col. 5, lines 53-63.) to:
identify data for storage on the independent “elements” in the RAID storage system, wherein the data is from logical storage volumes (Fig. 1; col. 7, lines 46-67; col. 8, lines 1-8; Fig. 6A; and col. 21, lines 45-53; regarding, e.g., ECC codewords 621, 622, and 623 [logical storage volumes] of array 115.);
generate a map indicating different portions of the data each corresponding to individual volumes of the logical storage volumes to respective individual “elements” of the independent “elements” in the RAID storage system (Fig. 1; col. 6, lines 3-26; col. 12, lines 23-41; Fig. 9; col. 45, lines 36-52; Fig. 6A; col. 21, lines 12-18; and col. 21, lines 45-60.); and
stripe the different portions of the data horizontally across the respective individual “elements” defined by the map to ensure the different portions of the data are stored to the respective individual drives (Fig. 9; col. 44, lines 51-67; col. 45, lines 1-23; col. 45, lines 36-52; Fig. 6A; col. 21, lines 12-18; and col. 21, lines 45-60.).
Fillingim does not explicitly teach:
drives.
However, Flynn teaches:
drives (Fig. 1 and col. 8, lines 41-53.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim with the use of hard disk drives in a RAID as taught by Flynn because a simple substitution of one known element (a solid-state storage medium comprising one or more arrays of solid-state storage elements - Fillingim: Fig. 1; and Fillingim: col. 7, lines 24-45) for another (hard disk drives in a RAID) can be performed to obtain predictable results (providing known means for RAID storage).
With regards to Claim 32, Fillingim in view of Flynn teaches the apparatus of Claim 31 as referenced above. Fillingim in view of Flynn further teaches:
wherein the map includes write locations on an individual drive of the drives in the RAID storage system to corresponding addresses within a logical storage volume of the individual volumes stored on the individual drive (Fillingim: Fig. 1; Fillingim: col. 6, lines 3-26; Fillingim: col. 6, lines 49-61; Fillingim: Fig. 3; and Fillingim: col. 10, lines 3-25; regarding, e.g., bitmap metadata and/or contextual metadata including, in part, logical identifier indicators associated with data packets.).
With regards to Claim 33, Fillingim in view of Flynn teaches the apparatus of Claim 31 as referenced above. Fillingim in view of Flynn further teaches:
wherein the RAID storage system calculates parity data horizontally across the drives in the RAID storage system such that components of the parity data stored on each individual drive of the drives in the RAID storage system correspond to those of the portions of the data stored on others of the drives in the RAID storage system (Fillingim: Fig. 6A and Fillingim: col. 21, lines 45-64; regarding, e.g., generating parity from horizontally-laid out data [components of the parity data].).
With regards to Claim 34, Fillingim in view of Flynn teaches the apparatus of Claim 31 as referenced above. Fillingim in view of Flynn further teaches:
wherein the program instructions direct the apparatus to:
obtain, from a controller of the RAID storage system (Fillingim: Fig. 1 and Fillingim: col. 5, lines 1-7.), an initial deterministic allocation of the data to the drives in the RAID storage system (Fillingim: Fig. 1; Fillingim: Fig. 2; and Fillingim: col. 9, lines 44-57; regarding, e.g., sequence timestamps.);
generate a journal indicating a correspondence between the map and the initial deterministic allocation (Fillingim: Fig. 3 and Fillingim: col. 10, lines 3-25; regarding, e.g., providing header data per data packet that includes the sequence timestamp contextual metadata.); and
store journal portions of the journal to a same drive of the drives in the RAID storage system that stores a portion of the data to which a respective journal portion corresponds (Fillingim: Fig. 3 and Fillingim: col. 10, lines 3-25.).
With regards to Claim 35, Fillingim in view of Flynn teaches the apparatus of Claim 31 as referenced above. Fillingim in view of Flynn further teaches:
obtain a read request for volume data of a volume of the logical storage volumes (Fillingim: col. 2, lines 62-67; Fillingim: col. 3, lines 1-5; Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.);
determine from the map which drive of the drives in the RAID storage system stores the volume (Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.); and
read the volume data from the drive (Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.).
With regards to Claim 37, Fillingim teaches:
a system for writing data to “elements” (Fig. 1; col. 5, lines 8-22; and col. 7, lines 24-36.) in a redundant array of independent disks (RAID) storage system (col. 13, lines 48-53.), the system comprising:
the RAID storage system including a RAID controller (Fig. 1 and col. 5, lines 1-7.) and physical “elements;” (Fig. 1 and col. 5, lines 8-22.) and
a drive utilization system communicatively coupled to the RAID controller (Fig. 1 and col. 5, lines 1-7; regarding, e.g., storage module 130.), wherein the drive utilization system is configured to:
identify data for storage on the physical “elements,” wherein the data is from logical storage volumes (Fig. 1; col. 7, lines 46-67; and col. 8, lines 1-8.);
log-write different portions of the data each corresponding to individual volumes of the logical storage volumes to respective individual “elements” of the “elements” in the RAID storage system (Fig. 1; col. 6, lines 3-26; col. 6, lines 49-61; Fig. 3; and col. 10, lines 3-25; regarding, e.g., writing, along with data for storage, bitmap metadata and/or contextual metadata [log-writing] including, in part, logical identifier indicators associated with data packets.) such that each of the different portions corresponding to a respective volume of the logical storage volumes is stored to an individual “element” of the “elements” in the RAID storage system (Fig. 1; col. 7, lines 46-67; col. 8, lines 1-8; Fig. 6C; and col. 24, lines 9-16; regarding, e.g., ECC codewords 621, 622, and 623 [logical storage volumes] of array 115.); and
store a journal of the log-writing to the physical “elements.” (Fig. 3 and col. 10, lines 3-25; regarding, e.g., providing and storing header data per data packet that includes the sequence timestamp contextual metadata.)
Fillingim does not explicitly teach:
drives.
However, Flynn teaches:
drives (Fig. 1 and col. 8, lines 41-53.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim with the use of hard disk drives in a RAID as taught by Flynn because a simple substitution of one known element (a solid-state storage medium comprising one or more arrays of solid-state storage elements - Fillingim: Fig. 1; and Fillingim: col. 7, lines 24-45) for another (hard disk drives in a RAID) can be performed to obtain predictable results (providing known means for RAID storage).
With regards to Claim 38, Fillingim in view of Flynn teaches the system of Claim 37 as referenced above. Fillingim in view of Flynn further teaches:
the RAID controller configured to restore lost data from a failure of a particular drive of the physical drives using parity data stored on other drives of the physical drives (Fillingim: Fig. 1 and Fillingim: col. 8, lines 24-49.).
With regards to Claim 39, Fillingim in view of Flynn teaches the system of Claim 37 as referenced above. Fillingim in view of Flynn further teaches:
the RAID controller configured to determine an initial deterministic allocation of the data to the physical drives (Fillingim: Fig. 1; Fillingim: col. 5, lines 1-7; Fillingim: Fig. 2; and Fillingim: col. 9, lines 44-57; regarding, e.g., sequence timestamps.); and
the drive utilization system configured to receive the initial deterministic allocation from the RAID controller and include in the journal a correspondence between the log-writing and the initial deterministic allocation (Fillingim: Fig. 3 and Fillingim: col. 10, lines 3-25; regarding, e.g., providing header data per data packet that includes the sequence timestamp contextual metadata.).
Claims 29 and 30 are rejected under 35 U.S.C. 103 as being unpatentable over Fillingim, further in view of Flynn, further in view of the instant specification, and further in view of Goel et al. (U.S. Patent No. US 8,417,987 B1), hereinafter “Goel.”
With regards to Claim 29, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 27 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, does not explicitly teach:
wherein, when reading the volume data from the drive, drive failure exists at a number of the drives in the RAID storage system greater than what is allowed by a RAID scheme employed by the RAID storage system in accordance with the method of Claim 27.
However, Goel teaches:
wherein, when reading the volume data from the drive, drive failure exists at a number of the drives in the RAID storage system greater than what is allowed by a RAID scheme employed by the RAID storage system (Fig. 6; col. 13, lines 65-67; col. 14, lines 1-26; Fig. 7; col. 17, lines 49-67; and col. 18, lines 1-4.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim in view of Flynn, further in view of the instant specification, with the concept of obtaining a copy of data from another source when a RAID fault tolerance level is exceeded, all as taught by Goel, because the external data copy can be provided to correct unrecoverable errors without requiring drastic recovery actions that disrupt client access processing (Goel: col. 20, lines 50-57).
With regards to Claim 30, Fillingim in view of Flynn, further in view of the instant specification, teaches the method of Claim 21 as referenced above. Fillingim in view of Flynn, further in view of the instant specification, does not explicitly teach:
when drive failure exists at a number of the drives in the RAID storage system greater than what is allowed by a RAID scheme employed by the RAID storage system, recovering lost data from failed drives of the drives in the RAID storage system from a storage location other than the RAID storage system in accordance with the method of Claim 21.
However, Goel teaches:
when drive failure exists at a number of the drives in the RAID storage system greater than what is allowed by a RAID scheme employed by the RAID storage system, recovering lost data from failed drives of the drives in the RAID storage system from a storage location other than the RAID storage system (Fig. 6; col. 13, lines 65-67; col. 14, lines 1-26; Fig. 7; col. 17, lines 49-67; and col. 18, lines 1-4.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim in view of Flynn, further in view of the instant specification, with the concept of obtaining a copy of data from another source when a RAID fault tolerance level is exceeded, all as taught by Goel, because the external data copy can be provided to correct unrecoverable errors without requiring drastic recovery actions that disrupt client access processing (Goel: col. 20, lines 50-57).
Claim 36 is rejected under 35 U.S.C. 103 as being unpatentable over Fillingim, further in view of Flynn, and further in view of Goel.
With regards to Claim 36, Fillingim in view of Flynn teaches the apparatus of Claim 35 as referenced above. Fillingim in view of Flynn does not explicitly teach:
wherein, when the volume data is read from the drive, drive failure exists at a number of the drives in the RAID storage system greater than what is allowed by a RAID scheme employed by the RAID storage system in accordance with the apparatus of Claim 35.
However, Goel teaches:
wherein, when the volume data is read from the drive, drive failure exists at a number of the drives in the RAID storage system greater than what is allowed by a RAID scheme employed by the RAID storage system (Fig. 6; col. 13, lines 65-67; col. 14, lines 1-26; Fig. 7; col. 17, lines 49-67; and col. 18, lines 1-4.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Fillingim in view of Flynn with the concept of obtaining a copy of data from another source when a RAID fault tolerance level is exceeded, all as taught by Goel, because the external data copy can be provided to correct unrecoverable errors without requiring drastic recovery actions that disrupt client access processing (Goel: col. 20, lines 50-57).
Allowable Subject Matter
Claim 40 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Response to Arguments
Applicant's arguments filed 05/12/2026 with respect to 35 U.S.C. 103 have been fully considered, but they are not persuasive.
First, the Examiner respectfully asserts that the arguments specifically discuss Claims 21, 27, and 35. The Remarks mention that “Independent Claims 31 and 37 now recite limitations similar to those of Claim 21 and are, therefore, allowable over the art of record for at least the same reasons as Claim 21.” However, this is incorrect. The limitations of Claims 21, 31, and 37 are very different. Claims 31 and 37 don’t mention anything regarding vertical data striping. Claim 31 mentions horizontal data striping, and Claim 37 mentions log-writing and journaling.
As such, the Examiner’s responses will only pertain to Claims 21, 27, and 35.
The Remarks argue that:
This disclosure confirms that Fillingim treats a "data segment" as a broad and generic unit of data that may take many different forms. However, nothing in this disclosure teaches or suggests that different data segments correspond respectively to different logical storage volumes, as required by Claim 21. Instead, Fillingim describes data segments in terms of their structure or role in storage operations, not in terms of a one-to-one correspondence with different logical storage volumes that are mapped to different drives. Accordingly, Fillingim fails to disclose or suggest the claimed relationship in which different portions of the data are partitioned according to different logical storage volumes.
In particular, Fillingim does not disclose that the physical addresses correspond to different drives, nor does it disclose that each portion corresponding to a logical storage volume is mapped to a single respective drive. Further, Fillingim does not disclose that such portions are stored vertically within those drives. Instead, the cited passage is directed to address translation within a storage device or array, which is fundamentally different from the claimed arrangement requiring per-portion mapping to individual drives and vertical storage on those drives. Thus, Fillingim fails to teach or suggest both the claimed mapping to respective individual drives and the claimed vertical storage of the portions on those drives.
Moreover, even if Flynn disclosed drives in a RAID storage system, there is no teaching or suggestion that the physical addresses in Fillingim would be on different drives for different data segments. Flynn generally describes coordinating storage requests and append-based storage (see, Abstract) but does not disclose mapping different portions of data corresponding to different logical storage volumes to respective individual drives, nor does Flynn disclose storing those portions vertically within the respective drives while striping across drives. The combination of Fillingim and Flynn, therefore, does not remedy the deficiencies of Fillingim. To arrive at the claimed invention, one would have to modify Fillingim's generalized logical-to-physical mapping mechanism to enforce a per-volume-to-per-drive mapping and further modify the data placement such that each portion is stored vertically within a single drive, while also coordinating horizontal parity across drives. Neither reference provides any teaching or suggestion of these combined features.
Additionally, Claim 21 requires a specific coordinated arrangement in which the data portions are stored vertically to respective individual drives while parity for the different portions is calculated horizontally across corresponding portions of the drives. Fillingim's disclosures regarding horizontal and vertical arrangements relate to ECC symbols within an array (see, Abstract) and not to the placement of portions of data corresponding to logical storage volumes on respective drives. Thus, Fillingim does not teach or suggest combining vertical per-drive storage of data portions with horizontal cross-drive parity relationships as required by Claim 21. The claimed configuration reflects a specific architectural organization of data and parity across drives that is not disclosed or suggested by the cited references.
As discussed above with respect to Claim 21, Fillingim does not disclose or suggest that the data segments being stored correspond respectively to different logical storage volumes that are mapped to respective individual drives. Instead, Fillingim treats data segments as generic units identified by logical identifiers and translated to physical addresses within an array. Consequently, when Fillingim's translation layer identifies a physical location of requested data, it does so without regard to any correspondence between portions of data and distinct logical storage volumes, and without any requirement that such portions be mapped to specific individual drives.
Because Fillingim lacks this underlying per-volume-to-per-drive mapping, Fillingim also does not disclose determining "which drive ... stores the volume," as recited in Claim 27. Rather, Fillingim's translation layer simply resolves a logical identifier to one or more physical addresses, which may reside anywhere within the storage medium or array. The cited disclosure therefore identifies locations of data but does not identify a single drive associated with a volume in the manner required by Claim 27. The rejection's position effectively assumes that a logical-to-physical translation inherently yields a per-volume assignment to a specific drive, but Fillingim provides no teaching or suggestion of such a mapping. Accordingly, Fillingim fails to disclose or suggest both (1) determining from a mapping which drive stores a volume of a logical storage volume, and (2) reading the volume data from that drive as required by Claim 27.
However, the Examiner respectfully disagrees.
With regards to A, B, C, and E above, Fillingim: Fig. 1 and Fillingim: col. 7, lines 24-36 describe each column as an individual “package, chip, die, plane, printed circuit board, or the like.” These are physical storage elements.
Further, Fillingim: Fig. 1; Fillingim: col. 7, lines 46-67; Fillingim: col. 8, lines 1-8; Fillingim: Fig. 6C; and Fillingim: col. 24, lines 9-16 teach how ECC codewords 621, 622, and 623 (different logical storage volumes) of a logical storage array 115 are mapped and arranged vertically on the aforementioned columns.
When Fillingim is combined with Flynn’s drives as an obvious variation to the aforementioned physical storage elements of Fillingim, the Examiner respectfully asserts that different logical storage volumes of data are, indeed, mapped and stored on individual columns corresponding to single storage elements / drives.
With regards to D above, Applicant’s arguments with respect to the claimed “wherein parity for the different portions is calculated horizontally across corresponding portions of the drives such that parity data on each drive of the drives corresponds to data stored on others of the drives” have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in this argument. In other words, the instant specification’s admitted prior art teaches the conventional RAID-5 setup which is an obvious variation over Fillingim’s RAID-4 setup.
With regards to F above, the Examiner respectfully submits that Fillingim in view of Flynn’s logical-to-physical translation explicitly yields a per-volume assignment to a specific drive. As mentioned with regards to A above, Fillingim’s columns each contain individual logical volumes of data. Further, Fillingim: Fig. 6C and Fillingim: col. 24, lines 29-39 describe buffering and rotating the ECC codewords to be individually stored on each respective column. The aforementioned cited logical-to-physical translation layer (Fillingim: Fig. 1 and Fillingim: col. 12, lines 23-36) is used to accomplish the layout of at least Fillingim: Fig. 6C. This is standard for how to arrange data for, e.g., read requests (Fillingim: col. 2, lines 62-67; Fillingim: col. 3, lines 1-5; Fillingim: Fig. 11; Fillingim: col. 46, lines 58-67; and Fillingim: col. 47, lines 1-16.).
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.
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Orme et al. (U.S. Patent No. US 10,019,353 B2); teaching that a storage layer is configured to store data at respective offsets within storage units of a storage device. Physical addresses of the data may be segmented into a first portion identifying the storage unit in which the data is stored, and a second portion that indicates the offset of the data within the identified storage unit. An index of the data offsets (e.g., second portions of the physical addresses) may be persisted on the storage device. The first portion of the address may be associated with logical addresses of the data in a forward index. The forward index may omit the second portion of the physical addresses, which may reduce the memory overhead of the index and/or allow the forward index to reference larger storage devices. Data of a particular logical address may be accessed using the first portion of the physical address maintained in the forward index, and the second portion of the media address stored on the storage device.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOSEPH KUDIRKA whose telephone number is (571)270-7126. The examiner can normally be reached M-F 7:30am - 5pm ET.
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, Ashish Thomas can be reached at (571) 272-0631. 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.
/JOSEPH R KUDIRKA/Primary Patent Examiner, Art Unit 2114