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
07/21/2025 has been entered.
Response to Amendment
The office action is responding to the arguments filed on 12/29/2025. Claims 1-
5,7-13 and 15-22 are pending.
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 18-20 in this application is 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.
After review of the specification the underlying structure was verified and identified:
For claims 18-20, the “means for monitoring a storage state” corresponds to bandwidth allocation system 180 as seen in paragraph [0047] and Fig 1.
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) 18-21 are rejected under 35 U.S.C. 103 as being unpatentable over Dreyer et al. (US 20160210060 A1) in view of Karr et al. (US 20210383878 A1) hereinafter Dreyer and Karr.
Regarding claim 18, Dreyer teaches A system, comprising: means for monitoring a storage state of a data storage means associated with the system, (“DBA module 20 may perform multiple dynamic allocations iteratively during the first time interval, monitoring the various bandwidths and determining the various ratios during sub-intervals of the first time interval so as to achieve approximate equilibrium (e.g., between +/−1-5%) of bandwidth allocation between host writes 5 and GC writes 7”) (paragraph [0038] line 4-6) (i.e. DBA module 20 may perform monitoring of bandwidths for host and GC operation)
(“Storage device 6 may include NVMA 10 which may include a plurality of memory devices 16Aa-16Nn (collectively, “memory devices 16”) which may each be configured to store and/or retrieve data”) (paragraph [0023] line 1-2)
(“For instance, as illustrated in FIG. 1, memory devices 16Aa-16Nn may be grouped into first channel 18A, and memory devices 16Na-16Nn may be grouped into N.sup.th channel 18N”) (paragraph [0026] line 3-5) (i.e. Fig 1 illustrates Storage device 6 includes a plurality of memory devices 16Aa-16Nn where memory devices 16Aa-16Nn may be grouped into first channel 18A, and memory devices 16Na-16Nn may be grouped into N.sup.th channel 18N. In other words, memory devices may be partitioned or grouped in first channel, second channel up to N channel)
means for determining a first amount of predetermined bandwidth, from an amount of available bandwidth, to allocate to a first type of operation, wherein the determination is based at least in part, on the storage state of the data storage means; means for determining a second predetermined amount of bandwidth, from the fixed amount of available bandwidth, to allocate to a second type of operation, wherein the determination is based at least in part, on the determined storage state of the data storage means;
(“scheduling module 30 may determine a quantity of memory devices 16 that may be currently active without consuming more power than the allocated portion. For instance, where memory devices 16 are allocated X units of a power consumption budget and each memory device of memory devices 16 consumed one unit of power when active, scheduling module 30 may determine that X memory devices of memory devices 16 may be concurrently active”) (paragraph [0061] line 4-8) (i.e. Fig 2 illustrates scheduling module 30 may determine a quantity of memory devices 16 that may be currently active where memory devices 16 are allocated X units of a power consumption budget and each memory device of memory devices 16 consumed one unit of power when active so determining how many concurrently be active within power budget. In other words, scheduling module may determine available active memory devices for bandwidth allocation based on power budget which is pre-determined available storage bandwidth)
(“controller 8 of storage device 6 may be configured to invoke a dynamic bandwidth allocation (DBA) module 20 (“DBA module 20”) to periodically determine write bandwidth consumed over a first interval or, in other words, duration of time by each of host writes and a garbage collection (GC) process executed by controller 8 for internal maintenance of non-volatile memory array 10”) (paragraph [0033] line 3-5) (i.e. Fig 1 illustrates controller 8 of storage device 6 is configured to invoke a dynamic bandwidth allocation (DBA) module 20 to periodically determine write bandwidth for host writes and GC process for internal relocation. In other words, controller determines the bandwidth for host and internal relocation operations)
(see Fig 1, paragraph [0027], illustrates storage device 6 provides a accessible capacity to host. In other words, a predetermined capacity or bandwidth is provided to host by storage device)
means for allocating the first amount of predetermined bandwidth to the first type of operation; and means for allocating the second amount of predetermined bandwidth to the second type of operation. (“DBA module 20 may next dynamically allocate bandwidth (which again may be a function of allocation of the system resources noted above and as described below in more detail) based on one or more of the host bandwidth, the GC bandwidth”) (paragraph [0036] line 1-3) (i.e. Fig 1 illustrates DBA module 20 may dynamically allocate bandwidth based on host bandwidth, the GC bandwidth. In other words, after determining bandwidth requirements, DBA module may allocate bandwidth for host and relocation operations)
(see Fig 1, paragraph [0027], illustrates storage device 6 provides an accessible capacity to host. In other words, a predetermined capacity or bandwidth is provided to host by storage device)
Dreyer teaches storage system with bandwidth allocation. However, Dreyer does not explicitly teach the storage state of the data storage means being part of a plurality of predefined storage states and based, at least in part, on a determined amount of available memory blocks in a first partition of the data storage means and a determined amount of available memory blocks in a second partition of the data storage means
On the other hand, Karr which also relates to storage system with bandwidth allocation appears to specifically teach the storage state of the data storage means being part of a plurality of predefined storage states and based, at least in part, on a determined amount of available memory blocks in a first partition of the data storage means and a determined amount of available memory blocks in a second partition of the data storage means (see Fig 3B and 3C, paragraph [0161] and paragraph [0162], illustrates a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules)
Both Dreyer and Karr relate to storage system with dynamic bandwidth allocation. Dreyer teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Karr also storage system with dynamic bandwidth allocation where a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer with Karr to specify storage system with dynamic bandwidth allocation where a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules providing improvement in the performance of the storage system as mentioned in paragraph [0040].
Regarding claim 19, Dreyer in view of Karr teaches storage system with bandwidth allocation in claim 18. However, Dreyer - Karr combination does not explicitly teach The system of claim 18, further comprising means for determining a priority for the second type of operation, wherein the priority for the second type of operation is based, at least in part, on the storage state of the data storage means
On the other hand, Dreyer which also relates to storage system with bandwidth allocation appears to specifically teach The system of claim 18, further comprising means for determining a priority for the second type of operation, wherein the priority for the second type of operation is based, at least in part, on the storage state of the data storage means. (“Algorithms to accommodate this type of bandwidth distributions may be static, assigning equal priority to host write requests and garbage collection write requests”) (paragraph [0032] line 3-4) (i.e. Algorithms to accommodate bandwidth distribution maybe static or priority to host write requests and garbage collection or equal priority)
The same motivation that was utilized for combining Dreyer with Karr as set forth in claim 18 is equally applicable to claim 19.
Regarding claim 20, Dreyer in view of Karr teaches storage system with bandwidth allocation in claim 18. However, Dreyer - Karr combination does not explicitly teach The system of claim 18, wherein the first partition includes a first type of memory blocks and wherein the second partition includes a second type of memory blocks
On the other hand, Dreyer which also relates to storage system with bandwidth allocation appears to specifically teach The system of claim 18, wherein the first partition includes a first type of memory blocks and wherein the second partition includes a second type of memory blocks. (“dynamic bandwidth allocation, the techniques may provide for optimal host performance, as the techniques may only give the GC process as much bandwidth as is required to keep up with the host write bandwidth”) (paragraph [0039] line 1-2)
(“The techniques may dynamically tune write bandwidth allocation to accommodate a wide variety of SSDs deployed in a wide variety of use cases (each of which may be subject to a wide variety of workloads)”) (paragraph [0039] line 5-7) (i.e. dynamic bandwidth allocation techniques may provide optimal host performance and GC performance for which a variety of SSDs are deployed for various use case like host and GC. In other words, a variety of SSDs which of course may include SLC, MLC are deployed for various use case of workloads of host and GC process)
The same motivation that was utilized for combining Dreyer with Karr as set forth in claim 18 is equally applicable to claim 20.
Regarding claim 21, Dreyer in view of Karr teaches storage system with bandwidth allocation in claim 18. However, Dreyer - Karr combination does not explicitly teach The system of claim 18, wherein amount of available bandwidth is fixed
On the other hand, Dreyer which also relates to storage system with bandwidth allocation appears to specifically teach The system of claim 18, wherein amount of available bandwidth is fixed (see Fig 1, paragraph [0038], illustrate DBA module 20 achieves equilibrium by allocating bandwidth for host and GC writes. In other words, by achieving equilibrium, DBA module makes sure there is same fixed bandwidth available for host and GC writes in storage devices)
The same motivation that was utilized for combining Dreyer with Karr as set forth in claim 18 is equally applicable to claim 21.
Claim(s) 1-2, 9-13, 17 and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Dreyer et al. (US 20160210060 A1) in view of He et al. (US 20200401513 A1) and further in view of Karr hereinafter He.
Regarding claim 1, Dreyer teaches A method, comprising: determining a storage state of a data storage device, the data storage device including a first partition having a plurality of memory blocks and a second partition including a plurality of memory blocks; (“Storage device 6 may include NVMA 10 which may include a plurality of memory devices 16Aa-16Nn (collectively, “memory devices 16”) which may each be configured to store and/or retrieve data”) (paragraph [0023] line 1-2)
(“For instance, as illustrated in FIG. 1, memory devices 16Aa-16Nn may be grouped into first channel 18A, and memory devices 16Na-16Nn may be grouped into N.sup.th channel 18N”) (paragraph [0026] line 3-5) (i.e. Fig 1 illustrates Storage device 6 includes a plurality of memory devices 16Aa-16Nn where memory devices 16Aa-16Nn may be grouped into first channel 18A, and memory devices 16Na-16Nn may be grouped into N.sup.th channel 18N. In other words, memory devices may be partitioned or grouped in first channel, second channel up to N channel)
determining, based at least in part, on the storage state of the data determined storage device, a first predetermined amount of bandwidth to allocate to host operations and a second predetermined amount of bandwidth to allocate to at least one relocation operation of a plurality of relocation operations; (“scheduling module 30 may determine a quantity of memory devices 16 that may be currently active without consuming more power than the allocated portion. For instance, where memory devices 16 are allocated X units of a power consumption budget and each memory device of memory devices 16 consumed one unit of power when active, scheduling module 30 may determine that X memory devices of memory devices 16 may be concurrently active”) (paragraph [0061] line 4-8) (i.e. Fig 2 illustrates scheduling module 30 may determine a quantity of memory devices 16 that may be currently active where memory devices 16 are allocated X units of a power consumption budget and each memory device of memory devices 16 consumed one unit of power when active so determining how many concurrently be active within power budget. In other words, scheduling module may determine available active memory devices for bandwidth allocation based on power budget which is pre-determined available storage bandwidth)
(“controller 8 of storage device 6 may be configured to invoke a dynamic bandwidth allocation (DBA) module 20 (“DBA module 20”) to periodically determine write bandwidth consumed over a first interval or, in other words, duration of time by each of host writes and a garbage collection (GC) process executed by controller 8 for internal maintenance of non-volatile memory array 10”) (paragraph [0033] line 3-5) (i.e. Fig 1 illustrates controller 8 of storage device 6 is configured to invoke a dynamic bandwidth allocation (DBA) module 20 to periodically determine write bandwidth for host writes and GC process for internal relocation. In other words, controller determines the bandwidth for host and internal relocation operations)
allocating the first predetermined amount of bandwidth for the host operations; and allocating the second predetermined amount of bandwidth for the at least one relocation operation of the plurality of relocation operations. (“DBA module 20 may next dynamically allocate bandwidth (which again may be a function of allocation of the system resources noted above and as described below in more detail) based on one or more of the host bandwidth, the GC bandwidth”) (paragraph [0036] line 1-3) (i.e. Fig 1 illustrates DBA module 20 may dynamically allocate bandwidth based on host bandwidth, the GC bandwidth. In other words, after determining bandwidth requirements, DBA module may allocate bandwidth for host and relocation operations)
Dreyer teaches storage system with bandwidth allocation. However, Dreyer does not appear to explicitly teach
a first type of memory blocks
a second type of memory blocks
On the other hand, He which also relates storage system with bandwidth allocation appears to specifically teach
a first type of memory blocks
a second type of memory blocks
(“Different types of memory cells or memory arrays 120 can provide for different page sizes, which may require different amounts of metadata associated therewith. For example, different memory device types may have different bit error rates, which can lead to different amounts of metadata necessary to ensure integrity of the page of data (e.g., a memory device with a higher bit error rate may require more bytes of error correction code data than a memory device with a lower bit error rate). As an example, a multi-level cell (MLC) NAND flash device may have a higher bit error rate than a corresponding single-level cell (SLC) NAND flash device”) (paragraph [0038] line 1-6) (i.e. Different types of memory cells or memory arrays 120 can provide different page sizes, which may require different amounts of metadata associated therewith based on requirements of bit error rate which may lead to different flash memories like SLC or MLC)
Both Dreyer and He relate to storage system with bandwidth allocation. Dreyer teaches storage system with bandwidth allocation for GC operations for flash memories. Also, Dreyer does not teach having different type of flash memories based on allocation requirements. On the other hand, He also storage system with bandwidth allocation for GC operations for flash memories and different type of flash memories based on allocation requirements. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer with He to specify storage system with bandwidth allocation for GC operations for flash memories and different type of flash memories based on allocation requirements to keep a desirable device lifespan while at the same to maintain a satisfactory device performance and user experience as mentioned in paragraph [0008].
Dreyer in view of He teaches storage system with bandwidth allocation above. However, Dreyer – He combination does not appear to explicitly teach wherein the storage state of the data storage device is determined from a plurality of predefined storage states and is based, at least in part, on an amount of available memory blocks in the first partition and an amount of available memory blocks in the second partition
On the other hand, Karr which also relates to storage system with bandwidth allocation appears to specifically teach wherein the storage state of the data storage device is determined from a plurality of predefined storage states and is based, at least in part, on an amount of available memory blocks in the first partition and an amount of available memory blocks in the second partition (see Fig 3B and 3C, paragraph [0161] and paragraph [0162], illustrates a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer with He for the reasons set forth in claim 1
above. In addition, Dreyer, He and Karr are considered analogous arts,
because they all relate to storage system with bandwidth allocation. Dreyer – He combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Karr also storage system with dynamic bandwidth allocation where a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer – He combination with Karr to specify storage system with dynamic bandwidth allocation where a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules providing improvement in the performance of the storage system as mentioned in paragraph [0040].
Regarding claim 2, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 1. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 1, wherein a first relocation operation of the plurality of relocation operations is associated with the first partition and a second relocation operation of the plurality of relocation operations is associated with the second partition.
On the other hand, Dreyer which also relates storage system with bandwidth allocation appears to specifically teach The method of claim 1, wherein a first relocation operation of the plurality of relocation operations is associated with the first partition and a second relocation operation of the plurality of relocation operations is associated with the second partition. (“DBA module 20 may perform multiple dynamic allocations iteratively during the first time interval, monitoring the various bandwidths and determining the various ratios during sub-intervals of the first time interval so as to achieve approximate equilibrium (e.g., between +/−1-5%) of bandwidth allocation between host writes 5 and GC writes 7”) (paragraph [0038] line 4-6) (i.e. Fig 1 illustrates DBA module 20 may perform multiple dynamic allocations of bandwidth to achieve approximate equilibrium between host writes 5 and GC writes 7. In other words, DBA module may perform multiple dynamic allocations operations for host and GC writes)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 1 is equally applicable to claim 2.
Regarding claim 9, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 1. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 1, wherein the first type of memory blocks are single-level cell (SLC) memory blocks and the second type of memory blocks are quad-level cell (QLC) memory blocks.
On the other hand, Dreyer which also relates storage system with bandwidth allocation appears to specifically teach The method of claim 1, wherein the first type of memory blocks are single-level cell (SLC) memory blocks and the second type of memory blocks are quad-level cell (QLC) memory blocks. (“dynamic bandwidth allocation, the techniques may provide for optimal host performance, as the techniques may only give the GC process as much bandwidth as is required to keep up with the host write bandwidth”) (paragraph [0039] line 1-2)
(“The techniques may dynamically tune write bandwidth allocation to accommodate a wide variety of SSDs deployed in a wide variety of use cases (each of which may be subject to a wide variety of workloads)”) (paragraph [0039] line 5-7) (i.e. dynamic bandwidth allocation techniques may provide optimal host performance and GC performance for which a variety of SSDs are deployed for various use case like host and GC. In other words, a variety of SSDs which of course may include SLC, MLC are deployed for various use case of workloads of host and GC process)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 1 is equally applicable to claim 9.
Regarding claim 10, Dreyer teaches A data storage device, comprising: a first memory partition; a second memory partition; and a bandwidth allocation system operable to: (“Storage device 6 may include NVMA 10 which may include a plurality of memory devices 16Aa-16Nn (collectively, “memory devices 16”) which may each be configured to store and/or retrieve data”) (paragraph [0023] line 1-2)
(“For instance, as illustrated in FIG. 1, memory devices 16Aa-16Nn may be grouped into first channel 18A, and memory devices 16Na-16Nn may be grouped into N.sup.th channel 18N”) (paragraph [0026] line 3-5) (i.e. Fig 1 illustrates Storage device 6 includes a plurality of memory devices 16Aa-16Nn where memory devices 16Aa-16Nn may be grouped into first channel 18A, and memory devices 16Na-16Nn may be grouped into N.sup.th channel 18N. In other words, memory devices may be partitioned or grouped in first channel, second channel up to N channel)
determine, based at least in part, on the determined operating storage state of the first memory partition and determined operating storage state of the second memory partition, (“scheduling module 30 may determine a quantity of memory devices 16 that may be currently active without consuming more power than the allocated portion. For instance, where memory devices 16 are allocated X units of a power consumption budget and each memory device of memory devices 16 consumed one unit of power when active, scheduling module 30 may determine that X memory devices of memory devices 16 may be concurrently active”) (paragraph [0061] line 4-8) (i.e. Fig 2 illustrates scheduling module 30 may determine a quantity of memory devices 16 that may be currently active where memory devices 16 are allocated X units of a power consumption budget and each memory device of memory devices 16 consumed one unit of power when active so determining how many concurrently be active or operational within power budget. which is pre-determined available storage bandwidth)
(“controller 8 of storage device 6 may be configured to invoke a dynamic bandwidth allocation (DBA) module 20 (“DBA module 20”) to periodically determine write bandwidth consumed over a first interval or, in other words, duration of time by each of host writes and a garbage collection (GC) process executed by controller 8 for internal maintenance of non-volatile memory array 10”) (paragraph [0033] line 3-5) (i.e. Fig 1 illustrates controller 8 of storage device 6 is configured to invoke a dynamic bandwidth allocation (DBA) module 20 to periodically determine write bandwidth for host writes and GC process for internal relocation. In other words, controller determines the bandwidth for host and internal relocation operations)
a first amount of bandwidth to allocate to a first type of operation and a second amount of bandwidth to allocate to a second type of operation; and allocate the determined bandwidth to the first type of operation and the second type of operation. (“DBA module 20 may next dynamically allocate bandwidth (which again may be a function of allocation of the system resources noted above and as described below in more detail) based on one or more of the host bandwidth, the GC bandwidth”) (paragraph [0036] line 1-3) (i.e. Fig 1 illustrates DBA module 20 may dynamically allocate bandwidth based on host bandwidth, the GC bandwidth. In other words, after determining bandwidth requirements, DBA module may allocate bandwidth for host and relocation operations)
Dreyer teaches storage system with bandwidth allocation. However, Dreyer does not appear to explicitly teach
a first type of memory blocks
a second type of memory blocks
On the other hand, He which also relates storage system with bandwidth allocation appears to specifically teach
a first type of memory blocks
a second type of memory blocks
(“Different types of memory cells or memory arrays 120 can provide for different page sizes, which may require different amounts of metadata associated therewith. For example, different memory device types may have different bit error rates, which can lead to different amounts of metadata necessary to ensure integrity of the page of data (e.g., a memory device with a higher bit error rate may require more bytes of error correction code data than a memory device with a lower bit error rate). As an example, a multi-level cell (MLC) NAND flash device may have a higher bit error rate than a corresponding single-level cell (SLC) NAND flash device”) (paragraph [0038] line 1-6) (i.e. Different types of memory cells or memory arrays 120 can provide different page sizes, which may require different amounts of metadata associated therewith based on requirements of bit error rate which may lead to different flash memories like SLC or MLC)
Both Dreyer and He relate to storage system with bandwidth allocation. Dreyer teaches storage system with bandwidth allocation for GC operations for flash memories. Also, Dreyer does not teach having different type of flash memories based on allocation requirements. On the other hand, He also storage system with bandwidth allocation for GC operations for flash memories and different type of flash memories based on allocation requirements. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer with He to specify storage system with bandwidth allocation for GC operations for flash memories and different type of flash memories based on allocation requirements to keep a desirable device lifespan while at the same to maintain a satisfactory device
Dreyer in view of He teaches storage system with bandwidth allocation above. However, Dreyer – He combination does not appear to explicitly teach an operating storage state of the first memory partition, the operating storage state of the first memory partition being part of a plurality of predefined storage states, the first memory partition having a plurality of a first type of memory blocks; determine, based at least in part, on an amount of available memory blocks in the second memory partition, an operating storage state of the second memory partition, the operating storage state of the second partition being part of the plurality of predefined storage states, the second memory partition having a plurality of a second type of memory blocks
On the other hand, Karr which also relates to storage system with bandwidth allocation appears to specifically teach an operating storage state of the first memory partition, the operating storage state of the first memory partition being part of a plurality of predefined storage states, the first memory partition having a plurality of a first type of memory blocks; determine, based at least in part, on an amount of available memory blocks in the second memory partition, an operating storage state of the second memory partition, the operating storage state of the second partition being part of the plurality of predefined storage states, the second memory partition having a plurality of a second type of memory blocks (see Fig 3B and 3C, paragraph [0161] and paragraph [0162], illustrates a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer with He for the reasons set forth in claim 1
above. In addition, Dreyer, He and Karr are considered analogous arts,
because they all relate to storage system with bandwidth allocation. Dreyer – He combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Karr also storage system with dynamic bandwidth allocation where a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer – He combination with Karr to specify storage system with dynamic bandwidth allocation where a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules providing improvement in the performance of the storage system as mentioned in paragraph [0040].
Regarding claim 11, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 10, wherein the first type of operation is a host operation and the second type of operation is a relocation operation.
On the other hand, Dreyer which also relates storage system with bandwidth allocation appears to specifically teach The data storage device of claim 10, wherein the first type of operation is a host operation and the second type of operation is a relocation operation. (“controller 8 may attempt to balance write bandwidth allocation between actual writes of data requested to be written by host device 4 against writes that accrue because of the relocation of data during garbage collection”) (paragraph [0032] line 1-3) (i.e. Fig 1 illustrates controller 8 may attempt to balance bandwidth allocation between writes by host device 4 and relocation of data during garbage collection. In other words, controller does bandwidth allocation for host operation and relocation operation)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 10 is equally applicable to claim 11.
Regarding claim 12, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 10, wherein the second type of operation is associated with the first memory partition.
On the other hand, Dreyer which also relates storage system with bandwidth allocation appears to specifically teach The data storage device of claim 10, wherein the second type of operation is associated with the first memory partition. (“controller 8 may attempt to balance write bandwidth allocation between actual writes of data requested to be written by host device 4 against writes that accrue because of the relocation of data during garbage collection”) (paragraph [0032] line 1-3) (i.e. Fig 1 illustrates controller 8 may attempt to balance write bandwidth allocation between host write and garbage collection relocation. In other words, garbage collection relocation process is associated with host operation for balancing of bandwidth)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 10 is equally applicable to claim 12.
Regarding claim 13, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 10, wherein the second type of operation is associated with a priority.
On the other hand, Dreyer which also relates storage system with bandwidth allocation appears to specifically teach The data storage device of claim 10, wherein the second type of operation is associated with a priority. (“Algorithms to accommodate this type of bandwidth distributions may be static, assigning equal priority to host write requests and garbage collection write requests”) (paragraph [0032] line 3-4) (i.e. Algorithms to accommodate bandwidth distribution maybe static or priority to host write requests and garbage collection or equal priority)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 10 is equally applicable to claim 13.
Regarding claim 17, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 10, wherein the first type of memory blocks are single-level cell (SLC) memory blocks and the second type of memory blocks are quad-level cell (QLC) memory blocks.
On the other hand, Dreyer which also relates storage system with bandwidth allocation appears to specifically teach The data storage device of claim 10, wherein the first type of memory blocks are single-level cell (SLC) memory blocks and the second type of memory blocks are quad-level cell (QLC) memory blocks. (“dynamic bandwidth allocation, the techniques may provide for optimal host performance, as the techniques may only give the GC process as much bandwidth as is required to keep up with the host write bandwidth”) (paragraph [0039] line 1-2)
(“The techniques may dynamically tune write bandwidth allocation to accommodate a wide variety of SSDs deployed in a wide variety of use cases (each of which may be subject to a wide variety of workloads)”) (paragraph [0039] line 5-7) (i.e. dynamic bandwidth allocation techniques may provide optimal host performance and GC performance for which a variety of SSDs are deployed for various use case like host and GC. In other words, a variety of SSDs which of course may include SLC, MLC are deployed for various use case of workloads of host and GC process)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 10 is equally applicable to claim 17.
Regarding claim 22, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 10, wherein at least one of the first amount of bandwidth and the second amount of bandwidth is a predetermined amount of bandwidth
On the other hand, Dreyer which also relates to storage system with bandwidth allocation appears to specifically teach The data storage device of claim 10, wherein at least one of the first amount of bandwidth and the second amount of bandwidth is a predetermined amount of bandwidth (see Fig 1, paragraph [0038], illustrate DBA module 20 achieves equilibrium by allocating bandwidth for host and GC writes. In other words, by achieving equilibrium, DBA module makes sure there is same fixed bandwidth available for host and GC writes in storage devices)
The same motivation that was utilized for combining Dreyer - He combination
with Karr as set forth in claim 10 is equally applicable to claim 22.
Claim(s) 3-5 are rejected under 35 U.S.C. 103 as being unpatentable over Dreyer et al. (US 20160210060 A1) in view of He et al. (US 20200401513 A1) and further in view of Karr and further in view of Anirudhan et al. (US 20210326275 A1) hereinafter
Anirudhan.
Regarding claim 3, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 1. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 1, wherein a first relocation operation of the plurality of relocation operations has priority over a second relocation operation of the plurality of relocation operations
On the other hand, Anirudhan which also relates storage system with dynamic bandwidth allocation appears to specifically teach The method of claim 1, wherein a first relocation operation of the plurality of relocation operations has priority over a second relocation operation of the plurality of relocation operations. (“host I/O operations corresponding to daily business hours are afforded a higher priority over data migration operations”) (paragraph [0018] line 7-8) (i.e. host I/O operations are afforded a higher priority over data migration operations)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer - He combination with Karr for the reasons set forth in claim 1 above. In addition, Dreyer, He, Karr and Anirudhan are considered analogous arts, because they all relate to storage system with bandwidth allocation. Dreyer – He - Karr combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Anirudhan also storage system with dynamic bandwidth allocation for host and GC operations having host operation bandwidth allocation getting higher priority. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer - He - Karr combination with Anirudhan to specify storage system with dynamic bandwidth allocation for host and GC operations having host operation bandwidth allocation getting higher priority to ensure bandwidth resources are available to process such priority host I/O operations as mentioned in paragraph [0019].
Regarding claim 4, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 3. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 3, further comprising allocating the second predetermined amount of bandwidth to the second relocation operation based, at least in part, on a determination that the first relocation operation is unexecuted
On the other hand, Anirudhan which also relates storage system with dynamic bandwidth allocation appears to specifically teach The method of claim 3, further comprising allocating the second predetermined amount of bandwidth to the second relocation operation based, at least in part, on a determination that the first relocation operation is unexecuted. (“the current data migration tools cannot reallocate the unused bandwidth for data migration due to the statically set data migration bandwidth ceiling.”) (paragraph [0019] line 7-8)
(“Embodiments of the present disclosure relate to dynamically adjusting port bandwidth allocations based on current and anticipated storage system state metrics (e.g., I/O load, CPU load/performance, and I/O operation processing rates). For example, embodiments can dynamically calculate each HA port's bandwidth allocations based on a storage system's I/O load and central processing unit (CPU) load”) (paragraph [0020] line 1-4) (i.e. Since current data migration tools cannot reallocate the unused bandwidth for data migration due to the statically set data migration bandwidth ceiling, the cited reference discloses dynamically adjusting bandwidth allocations based on current and anticipated storage system state metrics. In other words, unexecuted or unused bandwidth can be dynamically allocated by cited disclosure)
The same motivation that was utilized for combining Dreyer, He, Karr and Anirudhan as set forth in claim 3 is equally applicable to claim 4.
Regarding claim 5, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 3. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 3, wherein the first relocation operation of the plurality of relocation operations has priority over the second relocation operation of the plurality of relocation operations based, at least in part, on the storage state of the data storage device
On the other hand, Anirudhan which also relates storage system with dynamic bandwidth allocation appears to specifically teach The method of claim 3, wherein the first relocation operation of the plurality of relocation operations has priority over the second relocation operation of the plurality of relocation operations based, at least in part, on the storage state of the data storage device. (“the port manager 234 can monitor and generate state metrics of the storage 12. The state metrics can correspond to I/O loads, CPU loads/performances, and I/O operation processing rates, amongst other metrics of the storage device 12”) (paragraph [0035] line 6-7) (i.e. Fig 2 illustrates port manager 234 can monitor and generate state metrics of the storage 12 (Fig 1) and the storage state metrics may include I/O loads, CPU loads/performances, and I/O operation processing rates, amongst other metrics of the storage device. In other words, port manager generates storage state for bandwidth allocation)
The same motivation that was utilized for combining Dreyer, He, Karr and Anirudhan as set forth in claim 3 is equally applicable to claim 5.
Claim(s) 7-8 and 15-16 are rejected under 35 U.S.C. 103 as being unpatentable
over Dreyer in view of He and further in view of Karr and further in view of Prahlad et al. (US 7343453 B2) hereinafter Prahlad.
Regarding claim 7, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 1. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 1, wherein the number of free memory blocks in the first partition indicate whether the first partition is in a particular state, the particular state being selected from a group of states including a burst state, a sustained state, an urgent state and a super urgent state
On the other hand, Prahlad which also relates storage system with dynamic bandwidth allocation appears to specifically teach The method of claim 6, wherein the number of free memory blocks in the first partition indicate whether the first partition is in a particular state, the particular state being selected from a group of states including a burst state, a sustained state, an urgent state and a super urgent state. (“For example, a master storage manager 215 may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data. For example, a policy may indicate that the primary volume should always maintain 20% free space”) (Col 20 line 50-55)
(“the system identifies characteristics or other aspects of the data received that satisfy these types risk criteria. Thus the system might determine that primary copy A has only 15% free space left on its current storage volume”) (Col 21 line 7-10) (i.e. master storage manager 215 (Fig 3) may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data based on free space of storage volume and when data is received system identifies characteristics of risk criteria base on storage space left. In other words, master storage manager includes a storage risk criteria based on free space of storage state regardless of storage partition)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer - He combination with Karr for the reasons set forth in claim 1 above. In addition, Dreyer, He, Karr and Anirudhan are considered analogous arts, because they all relate to storage system with bandwidth allocation. Dreyer – He - Karr combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Prahlad also teaches storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer - He - Karr combination with Prahlad to specify storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria to prevent loss of data in the event a problem occurred with the data stored in primary storage as mentioned in (col 1).
Regarding claim 8, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 1. However, Dreyer – He - Karr combination does not appear to explicitly teach The method of claim 1, wherein the number of free memory blocks in the second partition indicate whether the second partition is in a particular state, the particular state being selected from a group of states including a burst state, a sustained state, an urgent state and a super urgent state.
On the other hand, Prahlad which also relates storage system with dynamic bandwidth allocation appears to specifically teach The method of claim 6, wherein the number of free memory blocks in the second partition indicate whether the second partition is in a particular state, the particular state being selected from a group of states including a burst state, a sustained state, an urgent state and a super urgent state. (“For example, a master storage manager 215 may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data. For example, a policy may indicate that the primary volume should always maintain 20% free space”) (Col 20 line 50-55)
(“the system identifies characteristics or other aspects of the data received that satisfy these types risk criteria. Thus the system might determine that primary copy A has only 15% free space left on its current storage volume”) (Col 21 line 7-10) (i.e. master storage manager 215 (Fig 3) may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data based on free space of storage volume and when data is received system identifies characteristics of risk criteria base on storage space left. In other words, master storage manager includes a storage risk criteria based on free space of storage state regardless of storage partition)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer - He combination with Karr for the reasons set forth in claim 1 above. In addition, Dreyer, He, Karr and Anirudhan are considered analogous arts, because they all relate to storage system with bandwidth allocation. Dreyer – He - Karr combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Prahlad also teaches storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer - He - Karr combination with Prahlad to specify storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria to prevent loss of data in the event a problem occurred with the data stored in primary storage as mentioned in (col 1).
Regarding claim 15, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 14, wherein the number of free memory blocks in the first memory partition indicate whether the first memory partition is in at least one of a burst state, a sustained state, an urgent state and a super urgent state.
On the other hand, Prahlad which also relates storage system with dynamic bandwidth allocation appears to specifically teach The data storage device of claim 14, wherein the number of free memory blocks in the first memory partition indicate whether the first memory partition is in at least one of a burst state, a sustained state, an urgent state and a super urgent state. (“For example, a master storage manager 215 may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data. For example, a policy may indicate that the primary volume should always maintain 20% free space”) (Col 20 line 50-55)
(“the system identifies characteristics or other aspects of the data received that satisfy these types risk criteria. Thus the system might determine that primary copy A has only 15% free space left on its current storage volume”) (Col 21 line 7-10) (i.e. master storage manager 215 (Fig 3) may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data based on free space of storage volume and when data is received system identifies characteristics of risk criteria base on storage space left. In other words, master storage manager includes a storage risk criteria based on free space of storage state regardless of storage partition)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer - He combination with Karr for the reasons set forth in claim 10 above. In addition, Dreyer, He, Karr and Anirudhan are considered analogous arts, because they all relate to storage system with bandwidth allocation. Dreyer – He - Karr combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Prahlad also teaches storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer - He - Karr combination with Prahlad to specify storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria to prevent loss of data in the event a problem occurred with the data stored in primary storage as mentioned in (col 1).
Regarding claim 16, Dreyer in view of He and further in view of Karr teaches storage system with bandwidth allocation in claim 10. However, Dreyer – He - Karr combination does not appear to explicitly teach The data storage device of claim 14, wherein the number of free memory blocks in the second memory partition indicate whether the second memory partition is in at least one of a burst state, a sustained state, an urgent state and a super urgent state.
On the other hand, Prahlad which also relates storage system with dynamic bandwidth allocation appears to specifically teach The data storage device of claim 14, wherein the number of free memory blocks in the second memory partition indicate whether the second memory partition is in at least one of a burst state, a sustained state, an urgent state and a super urgent state. (“For example, a master storage manager 215 may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data. For example, a policy may indicate that the primary volume should always maintain 20% free space”) (Col 20 line 50-55)
(“the system identifies characteristics or other aspects of the data received that satisfy these types risk criteria. Thus the system might determine that primary copy A has only 15% free space left on its current storage volume”) (Col 21 line 7-10) (i.e. master storage manager 215 (Fig 3) may include a variety of policies or definitions specifying storage-related risks, risk criteria, or other use tolerances with respect to storage of electronic data based on free space of storage volume and when data is received system identifies characteristics of risk criteria base on storage space left. In other words, master storage manager includes a storage risk criteria based on free space of storage state regardless of storage partition)
It would have been obvious to one of ordinary skill in the art at the time of
Applicant’s filing to combine Dreyer - He combination with Karr for the reasons set forth in claim 10 above. In addition, Dreyer, He, Karr and Anirudhan are considered analogous arts, because they all relate to storage system with bandwidth allocation. Dreyer – He - Karr combination teaches storage system with dynamic bandwidth allocation for host and GC operations. On the other hand, Prahlad also teaches storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria. Therefore, it would have been obvious to one of ordinary skill at the time the invention was effectively filed to combine Dreyer - He - Karr combination with Prahlad to specify storage system with dynamic bandwidth allocation and characteristics of the storage system specifying different risk criteria to prevent loss of data in the event a problem occurred with the data stored in primary storage as mentioned in (col 1).
Response to Arguments
Applicant’s arguments filed on 07/21/2025 have been fully considered but they
are not persuasive.
Applicant’s first argument is claim 1, 10 and 18 amendment mapping by primary reference Dreyer in page 8-9 of the response: Although Dreyer discloses dynamically allocating bandwidth, the bandwidth is not
allocated based on a determined storage state of a data storage means in which the storage state of the data storage means is "part of a plurality of predefined storage states." Specifically, Dreyer does not disclose or suggest at least "means for monitoring a storage state of a data storage means associated with the system, the storage state of the data storage means being part of a8
plurality of predefined storage states and based, at least in part, on a determined amount of available memory blocks in a first partition of the data storage means and a determined amount of available memory blocks in a second partition of the data storage means."
In summary, applicant argued that primary reference Dreyer does not teach amended limitation of monitoring storage device based on predetermined storage state. The amendment necessitates adding secondary reference Karr in this regard. For further clarification examiner cites portion from Karr. Also, for applicant’s understanding examiner would like to explain the teachings of Karr and examiner’s interpretation in more detail here. See Fig 3B and 3C, paragraph [0161] and paragraph [0162], Karr teaches a dynamically sizing the cloud-based storage system 318 where monitoring module determines that the utilization of the local storage if cloud computing instances 340a, 340b, 340n has reached a predetermined utilization threshold and cloud-based storage system 318 may be sized up and down automatically by a monitoring module applying a predetermined set of rules. The cited portion along with Fig #B and 3C clearly teaches monitoring module determines utilization of storage based on predetermined utilization threshold applying a predetermined set of rules. Thus, the rejection of amended independent claims 1, 10 and 18 and dependent claims
are maintained.
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