DETAILED ACTION
Claims 1-20 are pending in this application.
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 .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 12/30/2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
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.
Claim(s) 1-8 and 10-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bahirat et al. (U.S. PGPub No. 2020/0167274) in view of Lee et al. (U.S. PGPub No. 2023/0342028) in view of Gole et al. (U.S. Patent No. 11340987).
Claim 1
Bahirat (2020/0167274) teaches:
A system comprising: one or more memory devices; and FIG. 4 Storage Devices 44
a processing device coupled to each of the one or more memory devices, the processing device to perform operations comprising: FIG. 4 and P. 0033 Controller Logic 46 may be included in a CPU
transmitting, to a host system, a size of each respective zone at the one or more memory devices; P. 0031 and FIG. 4 aspects of the controller logic 46 may be distributed between the host devices 42 and the storage devices 44, controller logic 46 may determine two or more different zone size dependent parameters associated with the storage devices 44; P. 0058 the logic 160 may be configured to determine a preferred zone size for an application
receiving, from the host system, an indication of a defined size of each respective zone group of the one or more memory devices; P. 0031 and FIG. 4 aspects of the controller logic 46 may be distributed between the host devices 42 and the storage devices 44, controller logic 46 may set a zone group size; P. 0036 the zone manager 107 communicates hints to the ZNS storage device 111 as parameters to a zone creation command
Bahirat does not explicitly teach allocating zones to a zone group based on a host defined size.
Lee (2023/0342028) teaches:
receiving, from the host system, an indication of a defined size of each respective zone group of the one or more memory devices; P. 0031 and FIG. 1 generation of the zone group hint by the hint generator 110 on computer system 110 enables the zone generator 109 to create non-naturally sized zones while operating on naturally-sized groups of zones
allocating one or more zones at the one or more memory devices to a zone group based on the defined size of the zone group received from the host system; and P. 0030 allocation of a group of non-naturally-sized storage zones that together reach the natural zone size, the allocation is made based on the hint processor 113 acting on one or more hints generated by the hint generator 110
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat with the allocating zones to a zone group based on a host defined size taught by Lee
The motivation being it enables a computer system to request zone sizes that are better aligned to the computer system's use of those zones, while retaining the benefits of using larger zone sizes more appropriate to the physical characteristics of the ZNS storage device (See Lee P. 0008)
Gole does not explicitly teach programming parity data to a zone group.
Gole (11340987) teaches:
allocating one or more zones at the one or more memory devices to a zone group based on the defined size of the zone group received from the host system; and Col. 8 line 64 Tier1 RAID layer 140 constructs virtual RAID Zones (i.e., RZone) by grouping together PZones across multiple media units (MUs); Col. 10 line 59 – Col. 11 line 10 each RZone has a defined capacity parameter raided_zone_capacity
programming one or more host data items and one or more parity data items to a zone group identified by a common zone group identifier for the one or more host data items and the one or more parity data items. Col. 7 lines 9-29 and FIG. 1D the total storage capacity of each ZNS SSD is split across physical zones (PZones), TIER1 RAID layer 140 groups PZones into a RAID-Zone (RZone); Col. 8 line 66 – Col. 9 line 17 parity data is computed by XORing the data in the I/O buffers 228A-228D, the parity buffer 230 is written to the parity PZone 220E and committed after all the blocks in a corresponding RZone stripe have been committed to the appropriate PZones
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat and Lee with programming parity data to a zone group taught by Gole
The motivation being enables the TIER1 RAID layer to effectively manage data and parity writes (See Gole Col. 8 line 4-19)
The systems of Bahirat, Lee and Gole are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems.
Therefore it would have been obvious to combine Bahirat and Lee with Gole to obtain the invention as recited in claims 1-9.
Claim 2
Lee (2023/0342028) teaches:
The system of claim 1, wherein receiving the indication of the size of each respective zone group of the one or more memory devices comprises: receiving, from the host system, the one or more host data items and the one or more parity data items for programming to the one or more memory devices, wherein a size of the one or more host data items and the one or more parity data items corresponds to the size of each respective zone group. P. 0024 the zone generator 109 may use a dataset size and an identity of one or more related datasets to determine at least one of a number or a size of zones needed to store a dataset
Claim 3
Gole (11340987) teaches:
The system of claim 2, wherein the operations further comprise: parsing one or more programming commands associated with programming the one or more host data items and the one or more parity data items to the one or more memory devices; and Col 8 lines 42-65 and FIG. 2A The TIER1 RAID layer 140 issues child I/Os 224A-224D to PZones based on a range of blocks that are targeted by the RZone I/O sent by an upper software layer. Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones
identifying the common zone group identifier in the parsed one or more programming commands. Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
Claim 4
Gole (11340987) teaches:
The system of claim 1, wherein the operations further comprise: receiving, from the host system, one or more additional data items for programming to the one or more memory devices; Col. 9 lines 33-46 there are more I/O requests for the RZone stripe; Col. 9 line 18-32 and FIG. 2A a write I/O request is issued by the TIER2 layer 136; Col 8 lines 42-65 and FIG. 2A Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones; Col. 9 line 64 – Col. 10 line 13 a write request is received for a RZone by file system manager 134
determining that the one or more additional data items are associated with the common zone group identifier; and Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
based on the determination that the one or more additional data items are associated with the common zone group identifier, programming the one or more additional data items to the zone group. Col. 9 lines 33-46 and FIG. 2A there are more I/O requests for the RZone stripe, the process reverts back to block B202, where the next write I/O request is fetched and eventually written to PZones (in block B212)
Claim 5
Gole (11340987) teaches:
The system of claim 1, wherein the operations further comprise: receiving, from the host system, one or more additional data items for programming to the one or more memory devices; Col. 9 line 64 – Col. 10 line 13 a write request is received for a RZone by file system manager 134; Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier; Col. 9 lines 33-46 and FIG. 2A TIER1 RAID layer 140 determines whether there are more I/O requests for the RZone
determining that the one or more additional data items are associated with an additional common zone group identifier; Col. 7 lines 9-29 and FIG. 1D there are a plurality of RZones e.g., RZone 0 146A and RZone 146B; Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
allocating one or more additional zones at the memory device to an additional zone group based on the defined size of the zone group received from the host system; and Col. 8 line 64 Tier1 RAID layer 140 constructs virtual RAID Zones (i.e., RZone) by grouping together PZones across multiple media units (MUs); Col. 10 line 59 – Col. 11 line 10 each RZone has a defined capacity parameter raided_zone_capacity
programming the one or more additional data items to the allocated one or more additional zones. Col 8 lines 42-65 and FIG. 2A Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones; Col. 8 line 66 – Col. 9 line 17 parity data is computed by XORing the data in the I/O buffers 228A-228D, and committed after all the blocks in a corresponding RZone stripe have been committed to the appropriate PZones
Claim 6
Lee (2023/0342028) teaches:
The system of claim 1, wherein allocating the one or more zones to the zone group comprises: determining that a set of zones across the one or more memory devices satisfies a programming parallelism criterion; and P. 0030 hint generator 110 designates zones Z0 and Z1 as being part of a zone group, since zones Z0 and Z1 are allocated from physically adjacent planes and may be programmed together
identifying, of the set of zones, that a size of the one or more zones matches the defined size of the zone group. P. 0028 the zone manager 107 has grouped the zone with one or more other zones such that a size of the group matches a natural zone size for the ZNS storage device 111
Claim 7
Lee (2023/0342028) teaches:
The system of claim 6, wherein determining that the set of zones across the one or more memory devices satisfies the programming parallelism criterion comprises: determining that data items associated with the zone group can be programmed across the set of zones in parallel. P. 0030 hint generator 110 designates zones Z0 and Z1 as being part of a zone group, since zones Z0 and Z1 are allocated from physically adjacent planes and may be programmed together
Claim 8
Gole (11340987) teaches:
The system of claim 1, wherein the operations further comprise: determining that a size of at least one of the one or more host data items or the one or more parity data items is smaller than the defined size of the zone group; and Col. 9 line 18-32 and FIG. 2A TIER1 RAID layer 140 determines if the I/O request falls within an implicit commit region of the RZone; Col. 8 line 4-19 each RZone (e.g., 146) has an associated RZRWA (Zone Random Write Area) that is 60 blocks long
caching the at least one of the one or more host data items or the one or more parity data items until one or more additional data items associated with the common zone group identifier is received. Col. 7 line 30-52 writes to an open zone are gathered in a ZRWA before being written to the PZones, the data is moved from the ZRWA to ZNS SSD zones via a “commit operation”
Claim 10
Bahirat (2020/0167274) teaches:
A method comprising: transmitting, to a host system, a size of each respective zone at one or more memory devices of a memory sub-system; P. 0031 and FIG. 4 aspects of the controller logic 46 may be distributed between the host devices 42 and the storage devices 44, controller logic 46 may determine two or more different zone size dependent parameters associated with the storage devices 44; P. 0058 the logic 160 may be configured to determine a preferred zone size for an application
receiving, from the host system, an indication of a defined size of each respective zone group of the one or more memory devices; P. 0031 and FIG. 4 aspects of the controller logic 46 may be distributed between the host devices 42 and the storage devices 44, controller logic 46 may set a zone group size; P. 0036 the zone manager 107 communicates hints to the ZNS storage device 111 as parameters to a zone creation command
Bahirat does not explicitly teach allocating zones to a zone group based on a host defined size.
receiving, from the host system, an indication of a defined size of each respective zone group of the one or more memory devices; P. 0031 and FIG. 1 generation of the zone group hint by the hint generator 110 on computer system 110 enables the zone generator 109 to create non-naturally sized zones while operating on naturally-sized groups of zones
allocating one or more zones at the one or more memory devices to a zone group based on the defined size of the zone group received from the host system; and P. 0030 allocation of a group of non-naturally-sized storage zones that together reach the natural zone size, the allocation is made based on the hint processor 113 acting on one or more hints generated by the hint generator 110
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat with the allocating zones to a zone group based on a host defined size taught by Lee
The motivation being it enables a computer system to request zone sizes that are better aligned to the computer system's use of those zones, while retaining the benefits of using larger zone sizes more appropriate to the physical characteristics of the ZNS storage device (See Lee P. 0008)
Gole does not explicitly teach programming parity data to a zone group.
Gole (11340987) teaches:
allocating one or more zones at the one or more memory devices to a zone group based on the defined size of the zone group received from the host system; and Col. 8 line 64 Tier1 RAID layer 140 constructs virtual RAID Zones (i.e., RZone) by grouping together PZones across multiple media units (MUs); Col. 10 line 59 – Col. 11 line 10 each RZone has a defined capacity parameter raided_zone_capacity
programming one or more host data items and one or more parity data items to a zone group identified by a common zone group identifier for the one or more host data items and the one or more parity data items. Col. 7 lines 9-29 and FIG. 1D the total storage capacity of each ZNS SSD is split across physical zones (PZones), TIER1 RAID layer 140 groups PZones into a RAID-Zone (RZone); Col. 8 line 66 – Col. 9 line 17 parity data is computed by XORing the data in the I/O buffers 228A-228D, the parity buffer 230 is written to the parity PZone 220E and committed after all the blocks in a corresponding RZone stripe have been committed to the appropriate PZones
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat and Lee with programming parity data to a zone group taught by Gole
The motivation being enables the TIER1 RAID layer to effectively manage data and parity writes (See Gole Col. 8 line 4-19)
The systems of Bahirat, Lee and Gole are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems.
Therefore it would have been obvious to combine Bahirat and Lee with Gole to obtain the invention as recited in claims 10-16.
Claim 11
Lee (2023/0342028) teaches:
The method of claim 10, wherein receiving the indication of the size of each respective zone group of the one or more memory devices comprises: receiving, from the host system, the one or more host data items and the one or more parity data items for programming to the one or more memory devices, wherein a size of the one or more host data items and the one or more parity data items corresponds to the size of each respective zone group. P. 0024 the zone generator 109 may use a dataset size and an identity of one or more related datasets to determine at least one of a number or a size of zones needed to store a dataset
Claim 12
Gole (11340987) teaches:
The method of claim 10, further comprising: parsing one or more programming commands associated with programming the one or more host data items and the one or more parity data items to the one or more memory devices; and Col 8 lines 42-65 and FIG. 2A The TIER1 RAID layer 140 issues child I/Os 224A-224D to PZones based on a range of blocks that are targeted by the RZone I/O sent by an upper software layer. Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones
identifying the common zone group identifier in the parsed one or more programming commands. Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
Claim 13
Gole (11340987) teaches:
The method of claim 10, further comprising: receiving, from the host system, one or more additional data items for programming to the one or more memory devices; Col. 9 lines 33-46 there are more I/O requests for the RZone stripe; Col. 9 line 18-32 and FIG. 2A a write I/O request is issued by the TIER2 layer 136; Col 8 lines 42-65 and FIG. 2A Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones; Col. 9 line 64 – Col. 10 line 13 a write request is received for a RZone by file system manager 134determining that the one or more additional data items are associated with the common zone group identifier; and Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
based on the determination that the one or more additional data items are associated with the common zone group identifier, programming the one or more additional data items to the zone group. Col. 9 lines 33-46 and FIG. 2A there are more I/O requests for the RZone stripe, the process reverts back to block B202, where the next write I/O request is fetched and eventually written to PZones (in block B212)
Claim 14
Gole (11340987) teaches:
The method of claim 10, further comprising: receiving, from the host system, one or more additional data items for programming to the one or more memory devices; Col. 9 line 64 – Col. 10 line 13 a write request is received for a RZone by file system manager 134; Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier; Col. 9 lines 33-46 and FIG. 2A TIER1 RAID layer 140 determines whether there are more I/O requests for the RZone
determining that the one or more additional data items are associated with an additional common zone group identifier; Col. 7 lines 9-29 and FIG. 1D there are a plurality of RZones e.g., RZone 0 146A and RZone 146B; Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
allocating one or more additional zones at the memory device to an additional zone group based on the defined size of the zone group received from the host system; and Col. 8 line 64 Tier1 RAID layer 140 constructs virtual RAID Zones (i.e., RZone) by grouping together PZones across multiple media units (MUs); Col. 10 line 59 – Col. 11 line 10 each RZone has a defined capacity parameter raided_zone_capacity
programming the one or more additional data items to the allocated one or more additional zones. Col 8 lines 42-65 and FIG. 2A Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones; Col. 8 line 66 – Col. 9 line 17 parity data is computed by XORing the data in the I/O buffers 228A-228D, and committed after all the blocks in a corresponding RZone stripe have been committed to the appropriate PZones
Claim 15
Lee (2023/0342028) teaches:
The method of claim 10, wherein allocating the one or more zones to the zone group comprises: determining that a set of zones across the one or more memory devices satisfies a programming parallelism criterion; and P. 0030 hint generator 110 designates zones Z0 and Z1 as being part of a zone group, since zones Z0 and Z1 are allocated from physically adjacent planes and may be programmed together
identifying, of the set of zones, that a size of the one or more zones matches the defined size of the zone group. P. 0028 the zone manager 107 has grouped the zone with one or more other zones such that a size of the group matches a natural zone size for the ZNS storage device 111
Claim 16
Lee (2023/0342028) teaches:
The method of claim 15, wherein determining that the set of zones across the one or more memory devices satisfies the programming parallelism criterion comprises: determining that data items associated with the zone group can be programmed across the set of zones in parallel. P. 0030 hint generator 110 designates zones Z0 and Z1 as being part of a zone group, since zones Z0 and Z1 are allocated from physically adjacent planes and may be programmed together
Claim 17
Bahirat (2020/0167274) teaches:
A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising: P. 0014 The material disclosed herein may be implemented in software
transmitting, to a host system, a size of each respective zone at one or more memory devices of a memory sub-system; P. 0031 and FIG. 4 aspects of the controller logic 46 may be distributed between the host devices 42 and the storage devices 44, controller logic 46 may determine two or more different zone size dependent parameters associated with the storage devices 44; P. 0058 the logic 160 may be configured to determine a preferred zone size for an application
receiving, from the host system, an indication of a defined size of each respective zone group of the one or more memory devices; P. 0031 and FIG. 4 aspects of the controller logic 46 may be distributed between the host devices 42 and the storage devices 44, controller logic 46 may set a zone group size; P. 0036 the zone manager 107 communicates hints to the ZNS storage device 111 as parameters to a zone creation command
Bahirat does not explicitly teach allocating zones to a zone group based on a host defined size.
Lee (2023/0342028) teaches:
receiving, from the host system, an indication of a defined size of each respective zone group of the one or more memory devices; P. 0031 and FIG. 1 generation of the zone group hint by the hint generator 110 on computer system 110 enables the zone generator 109 to create non-naturally sized zones while operating on naturally-sized groups of zones
allocating one or more zones at the one or more memory devices to a zone group based on the defined size of the zone group received from the host system; and P. 0030 allocation of a group of non-naturally-sized storage zones that together reach the natural zone size, the allocation is made based on the hint processor 113 acting on one or more hints generated by the hint generator 110
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat with the allocating zones to a zone group based on a host defined size taught by Lee
The motivation being it enables a computer system to request zone sizes that are better aligned to the computer system's use of those zones, while retaining the benefits of using larger zone sizes more appropriate to the physical characteristics of the ZNS storage device (See Lee P. 0008)
Gole does not explicitly teach programming parity data to a zone group.
Gole (11340987) teaches:
allocating one or more zones at the one or more memory devices to a zone group based on the defined size of the zone group received from the host system; and Col. 8 line 64 Tier1 RAID layer 140 constructs virtual RAID Zones (i.e., RZone) by grouping together PZones across multiple media units (MUs); Col. 10 line 59 – Col. 11 line 10 each RZone has a defined capacity parameter raided_zone_capacity
programming one or more host data items and one or more parity data items to a zone group identified by a common zone group identifier for the one or more host data items and the one or more parity data items. Col. 7 lines 9-29 and FIG. 1D the total storage capacity of each ZNS SSD is split across physical zones (PZones), TIER1 RAID layer 140 groups PZones into a RAID-Zone (RZone); Col. 8 line 66 – Col. 9 line 17 parity data is computed by XORing the data in the I/O buffers 228A-228D, the parity buffer 230 is written to the parity PZone 220E and committed after all the blocks in a corresponding RZone stripe have been committed to the appropriate PZones
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat and Lee with programming parity data to a zone group taught by Gole
The motivation being enables the TIER1 RAID layer to effectively manage data and parity writes (See Gole Col. 8 line 4-19)
The systems of Bahirat, Lee and Gole are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems.
Therefore it would have been obvious to combine Bahirat and Lee with Gole to obtain the invention as recited in claims 17-20.
Claim 18
Lee (2023/0342028) teaches:
The non-transitory computer-readable storage medium of claim 17, wherein receiving the indication of the size of each respective zone group of the one or more memory devices comprises: receiving, from the host system, the one or more host data items and the one or more parity data items for programming to the one or more memory devices, wherein a size of the one or more host data items and the one or more parity data items corresponds to the size of each respective zone group. P. 0024 the zone generator 109 may use a dataset size and an identity of one or more related datasets to determine at least one of a number or a size of zones needed to store a dataset
Claim 19
Gole (11340987) teaches:
The non-transitory computer-readable storage medium of claim 17, wherein the operations further comprise: parsing one or more programming commands associated with programming the one or more host data items and the one or more parity data items to the one or more memory devices; and Col 8 lines 42-65 and FIG. 2A The TIER1 RAID layer 140 issues child I/Os 224A-224D to PZones based on a range of blocks that are targeted by the RZone I/O sent by an upper software layer. Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones
identifying the common zone group identifier in the parsed one or more programming commands. Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
Claim 20
Gole (11340987) teaches:
The non-transitory computer-readable storage medium of claim 17, wherein the operations further comprise: receiving, from the host system, one or more additional data items for programming to the one or more memory devices; Col. 9 lines 33-46 there are more I/O requests for the RZone stripe; Col. 9 line 18-32 and FIG. 2A a write I/O request is issued by the TIER2 layer 136; Col 8 lines 42-65 and FIG. 2A Write data is stored in a plurality of I/O buffers 228A-228D for later transfer to the PZones; Col. 9 line 64 – Col. 10 line 13 a write request is received for a RZone by file system manager 134
determining that the one or more additional data items are associated with the common zone group identifier; and Col. 9 line 18-32 and FIG. 2A The write I/O includes a RZone identifier
based on the determination that the one or more additional data items are associated with the common zone group identifier, programming the one or more additional data items to the zone group. Col. 9 lines 33-46 and FIG. 2A there are more I/O requests for the RZone stripe, the process reverts back to block B202, where the next write I/O request is fetched and eventually written to PZones (in block B212)
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bahirat et al. (U.S. PGPub No. 2020/0167274) in view of Lee et al. (U.S. PGPub No. 2023/0342028) in view of Gole et al. (U.S. Patent No. 11340987) in view of Rao et al. (U.S. PGPub No. 2021/0191796).
Claim 9
The systems of Bahirat, Lee and Gole do not explicitly teach a command for resetting a metric associated with the size of each zone group.
Rao (2021/0191796) teaches:
The system of claim 1, wherein the operations further comprise: receiving, from the host system, a zone reset command to reset a metric associated with the defined size of each respective zone group of the one or more memory devices, wherein the indication of the defined size is included in the received zone reset command. P. 0049 and FIG. 1 dynamic stripe length manager circuit 188 may determine a stripe length from a trigger in an idle window. A change in stripe length requires an increase in the number of zones, the stripe length determination by dynamic stripe length manager circuit 188 may be based on a host level protection requirement from the host 150; P. 0043 Stripe Length: Number of zones*Stripe length per zone
It would have been obvious to a person with ordinary skill in the art before the effective filing date of the application to include the invention of Bahirat, Lee and Gole with programming parity data to a zone group taught by Rao
The motivation being it offers data protection without compromising on host timings (see Rao P. 0009)
The systems of Bahirat, Lee, Gole and Rao are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems.
Therefore it would have been obvious to combine Bahirat, Lee and Gole with Rao to obtain the invention as recited in claim 9.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Agarwal et al. (U.S. PGPub No. 2022/0075545) teaches grouping zones across various channels, selecting specific zones with higher correlation scores to group together, and writing to the zones in the zone group concurrently.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to STEPHANIE WU whose telephone number is (571)272-0257. The examiner can normally be reached 1pm to 6pm, and 10pm to 1am Eastern time (10am to 3pm, and 7pm to 10pm Pacific time).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Rocio Del Mar Perez-Velez can be reached at (571) 270-5935. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/STEPHANIE WU/Primary Examiner, Art Unit 2133