DETAILED ACTION
Claims 1-20 are presented for examination.
This office action is in response to amendment of application filed 10-JUNE-2026.
Claims 1-20 remain pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant’s arguments, see page 13, filed 10-JUNE-2026, with respect to objections to the drawings and non-argued objections to the claims have been fully considered and are persuasive due to amendments. The objections to the drawings and claims have been withdrawn.
Applicant’s arguments, see pages 13-14, filed 10-JUNE-2026, with respect to the rejection(s) of claim(s) 1, 12, and 20 under 35 U.S.C. 103 have been fully considered and are persuasive due to amendments. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of newly found prior art references.
Applicant has amended new limitations of setting data types as cold or hot data when the type of the data partition into which the data is written is a first or second type, and reducing garbage collection associated with the first data when it is designated as cold, which is a limitation not taught by Erickson or Earhart. However, upon further search and consideration, newly found prior art references teach the new limitations, which will be described in the rejections below. Thus, the rejections are maintained.
Claim Objections
Claims 1, 12, 20 are objected to because of the following informalities:
In claim 1, line 20, “respsive” should read “responsive”
In claim 12, line 23, “respsive” should read “responsive”
In claim 20, line 21, “respsive” should read “responsive”
Appropriate correction is required.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-8, 12-20 are rejected under 35 U.S.C. 103 as being unpatentable over
Erickson et al., U.S. Pub. No. 20230376412 (hereinafter “Erickson”) in view of
Earhart, U.S. Pub. No. 20160274970 (hereinafter “Earhart”) further in view of
Gans et al., U.S. Pub. No. 20220254390 (hereinafter “Gans”) further in view of
Kotte et al., U.S. Pub. No. 20150347296 (hereinafter “Kotte”).
Regarding Claim 1: Erickson teaches a computer system, comprising:
A memory, wherein memory space of the memory is divided into at least two types of data partitions, the at least two types comprising: a first type corresponding to external data of an electronic device comprising the computer system, wherein the external data is data stored on the electronic device that originates external to the electronic device; and a second type corresponding to internal data of the electronic device, wherein the internal data is data stored on the electronic device that originates within the electronic device; ([0017], Erickson teaches that a server may use a portion of its memory for local processes, and may allocate a portion of the memory as far memory for another server. The portions of memory used for local processes are interpreted as the second type of data partition corresponding to internal data of the electronic device, storing data that originates within the electronic device, and the portions of memory allocated to be used as far memory of another server are interpreted as the first type of data partition corresponding to external data of the electronic device, storing data that originates external to the electronic device.)
Wherein a physical memory block corresponding to the first type of data partition is different from a physical memory block corresponding to the second type of data partition ([0024], Erickson teaches that a donor server uses a portion of the local memory in the donor server labeled private as local memory for the processes executing in the donor server, and that there is another, different portion also labeled private and allocated as far memory for processes executing in the other requester server. Furthermore, in [0023], Erickson describes the memory being of different physical kinds, with one or more sections of it being considered private and associated with the various processes. Since the physical memory has sections that are private, and the portions for the types of data partition are also described as labeled private, the physical blocks corresponding to the first type of data partition are interpreted to be different from the physical blocks corresponding to the second type of data partition.)
While Erickson teaches that the memory portions are read/write enabled for the processes, for local processes and for other servers’ processes, Erickson does not appear to explicitly disclose A host configured to send a write command to a controller, wherein the write command comprises first data to be written into the memory and a logical unit number (LUN) to which the first data is to be written, and the logical unit number is specified according to the type of data partition; and the controller, configured to: instruct the memory to write the first data into a physical memory block corresponding to the logical unit number in the memory according to the logical unit number; set the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; set the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and reduce garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Earhart teaches A host configured to send a write command to a controller, wherein the write command comprises first data to be written into the memory and a logical unit number (LUN) to which the first data is to be written, and the logical unit number is specified according to the type of data partition; and the controller, configured to: instruct the memory to write the first data into a physical memory block corresponding to the logical unit number in the memory according to the logical unit number; ([0037], [0039] and [0100], Earhart teaches that a read/write controller may receive host data from a host, and that write requests may be mapped to a partition, and steered to different partitions based on data type, host ID, or data source, and that the controller will then transfer the data to storage ports for storage to the storage system to perform the program operations. Furthermore, in [0058-0070], Earhart teaches that the partitions may be defined according to certain parameters, including a data type and source, and that the partitions comprise a certain number of data blocks. Since the write commands are steered to the partitions according to the parameters, and that the controller performs program operations to operate the physical memory chips, the write requests are interpreted to be the claimed host sending a write command to a controller comprising first data to be written and a LUN to which the data is to be written, with the LUN being specified according to the type of data partition, and the controller instructing the memory to write the data into a physical memory block corresponding to the LUN according to the LUN.)
Erickson and Earhart are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson and Earhart to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN.
One of ordinary skill in the art would have been motivated to make this modification in order to organize and manage the data of an array, optimized for the type of traffic as discussed in Earhart [0051].
Erickson/Earhart does not appear to explicitly disclose set the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; set the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and reduce garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Gans teaches set the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; set the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and ([0069], Gans teaches that a particular address space of a near memory module (corresponding to the second type, as the second type corresponds to internal data) can be operated for storing hot, frequently accessed data when the data to be stored is expected to be frequently accessed, and that an address space of a far memory module (corresponding to the first type, as the first type corresponds to external data) is operated to store cold, infrequently accessed data when the data to be stored is expected to be infrequently accessed.)
Erickson/Earhart and Gans are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson/Earhart and Gans to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN, and in which the local memory stores data expected to be frequently accessed and the data stored therein is considered hot data, and in which the far memory stores data expected to be infrequently accessed and the data stored therein is considered cold data.
One of ordinary skill in the art would have been motivated to make this modification because a near memory has a lower access latency which is more suitable for storing frequently accessed data, whereas a far memory has additional latency which is more suitable for infrequently accessed data as discussed in Gans [0069].
Erickson/Earhart/Gans does not appear to explicitly disclose reduce garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Kotte teaches reduce garbage collection associated with the first data respsive to the first data being designated as cold data. ([0090], Kotte teaches that when cold data is grouped together in one memory region and hot data is separately grouped together in a different region, cold blocks will be less likely to be selected for garbage collection which reduces the movement of cold data.)
Erickson/Earhart/Gans and Kotte are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson/Earhart/Gans and Kotte to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN, and in which the local memory stores data expected to be frequently accessed and the data stored therein is considered hot data, and in which the far memory stores data expected to be infrequently accessed and the data stored therein is considered cold data, wherein garbage collection associated with data designated as cold data is reduced.
One of ordinary skill in the art would have been motivated to make this modification because hot is invalidated faster than cold data due to a higher frequency of updates, edits, and accesses, and that reducing the number of times that cold data needs to be copied during garbage collection by separating them into distinct regions, write amplification will be reduced and the storage device’s endurance is improved as discussed in Kotte [0090].
Regarding claim 2: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 1, from which claim 2 depends.
Erickson/Earhart/Gans/Kotte further teaches determine the physical memory block corresponding to the logical unit number according to the logical unit number; and instruct the memory to write the first data into the physical memory block corresponding to the logical unit number (As discussed with respect to claim 1, Erickson/Earhart/Gans/Kotte teaches that the controller is configured to steer write data of a write request to particular partitions of data blocks, based on a LUN of the write request, and that the controller will transfer the data to the storage system.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding claim 3: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 2, from which claim 3 depends.
Erickson/Earhart/Gans/Kotte further teaches obtain data attribute of the first data according to the logical unit number, wherein the data attribute is configured to indicate whether the first data is the external data of the electronic device or the internal data of the electronic device ([0070], Erickson teaches that a data source may be used to define a partition, and that the data source parameters may represent a host or network source. As discussed with respect to claim 1, write requests may have an associated host ID. While not explicit, the determination of the host ID would be a determination of whether it is a host or network source, which is interpreted to be the obtaining the data attribute according to the logical unit number, wherein the data attribute indicates internal or external data.)
Erickson/Earhart/Gans/Kotte further teaches determine the physical memory block corresponding to the logical unit number according to the data attribute; and instruct the memory to write the first data into the physical memory block corresponding to the logical unit number (As discussed with respect to claim 1, Erickson/Earhart/Gans/Kotte teaches that the controller is configured to steer write data of a write request to particular partitions of data blocks, based on a LUN of the write request, and that the controller will transfer the data to the storage system.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding claim 4: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 3, from which claim 4 depends.
Erickson/Earhart/Gans/Kotte further teaches a correspondence between the logical unit number and the data attribute of the first data is predefined by a protocol; or the correspondence between the logical unit number and the data attribute of the first data is set when the memory space of the memory is configured as the at least two types of data partitions in the host ([0026], Earhart teaches that partitions are created upon request, along with parameters used to configure the partition, and that the partition creator defines the partition attributes using partition parameters. In combination with the teaching that the parameters may include a Host ID and whether a partition is a host or network source, the correspondence between the LUN and the data attribute is interpreted to be set when the memory space of the memory is configured as the at least two types of data partitions in the host.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding claim 5: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 3, from which claim 5 depends.
Erickson/Earhart/Gans/Kotte further teaches in a case where the data attribute is configured to indicate that the first data is the external data of the electronic device, determine at least one physical memory block satisfying a first condition in the memory as the physical memory block corresponding to the logic unit number, the first condition comprising: the physical memory block is not full, and the second data is not stored, wherein the second data is data in the second type of data partition; and in a case where the data attribute is configured to indicate that the first data is the internal data of the electronic device, determine at least one physical memory block satisfying a second condition in the memory as the physical memory block corresponding to the logic unit number, the second condition comprising: the physical memory block is not full, and third data is not stored, wherein the third data is data in the first type of data partition. ([0075-0076] and [0100-0104], Earhart teaches that after partition definition, the partition may be filled, and that when it is full, it is made read-only, and that writing continues to fill the blocks of a partition. While not explicit, the partition (which is composed of blocks) being made read-only only when it is full would obviously mean that it can be written to until all blocks are full, which would further mean that for all successful writes, the write is performed when there is a block that satisfies a condition comprising that the physical memory block is not full. Further, since the data may be steered to different partitions based on host ID/data source, the claimed determining a block satisfying a first or second condition comprising that the partition does not store the data of a different type is obvious. The combination then teaches that when the data is external data, a non-full block part of a partition that does not contain internal data, and that when the data is internal data, a non-full block part of a partition that does not contain external data is taught, and the claim is obvious.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding claim 6: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 5, from which claim 6 depends.
Erickson/Earhart/Gans/Kotte further teaches a correspondence between the type of data partition and a physical memory block where data in the data partition is located is a non-fixed configuration relationship, and the controller is configured to: in the case where the attribute is configured to indicate that the first data is the external data of the electronic device, determine at least one physical memory block satisfying the first condition from all writable physical memory blocks of the memory as the physical memory block corresponding to the logical unit number; and in the case where the data attribute is configured to indicate that the first data is the internal data of the electronic device, determine at least one physical memory block satisfying the second condition from all writable physical memory blocks of the memory as the physical memory block corresponding to the logical unit number; ([0062], Earhart teaches an embodiment where extendable partitions can grow as needed, by assigning additional blocks from a free pool to keep the partition from filling up. The extendability is interpreted to be the non-fixed configuration relationship. Further, in [0055] and [0077] Earhart describes the free pool as a pool of data blocks that are erased or fresh, meaning they do not store any data of any partition, and therefore always fulfill the requirement of being not full and not containing data of a different partition. As discussed with respect to claim 5, the determining a first condition and second condition for external and internal data, respectively, are obvious, and since a block from the free pool may be assigned to grow a partition, a block from the free pool being assigned is necessarily a block that is not full, and a block that does not contain data of a different partition type, and always satisfies the first or second condition when the data is external or internal data, respectively.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding claim 7: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 5, from which claim 7 depends.
Erickson/Earhart/Gans/Kotte further teaches a correspondence between the type of data partition and a physical memory block where data in the data partition is located is a fixed configuration relationship, and the controller is configured to: in the case where the attribute is configured to indicate that the first data is the external data of the electronic device, determine at least one physical memory block that is not full from individual physical memory blocks preconfigured for the first type of data partition as the physical memory block corresponding to the logical unit number; and in the case where the data attribute is configured to indicate that the first data is the internal data of the electronic device, determine at least one physical memory block that is not full from individual physical memory blocks pre-configured for the second type of data partition as the physical memory block corresponding to the logical unit number; ([0061], Earhart teaches an embodiment where static partitions are defined as a fixed set of blocks that cannot change unless they are destroyed, which is interpreted as the fixed configuration relationship. Further, as discussed with respect to claim 5, the controller determines a block from a partition that is not full to write to, and that since write data is steered according to the parameters of a corresponding partition, the determining at least one physical memory block that is not full from individual physical memory blocks preconfigured for the first type of data partition when the data is external, and the determining at least one physical memory block that is not full from the individual physical memory blocks preconfigured for the second type of data partition when the data is internal is obvious.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding claim 8: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 1, from which claim 8 depends.
Erickson/Earhart/Gans/Kotte further teaches set a data type of the first data according to the type of the data partition into which the first data is written, and wherein the data type is used to manage the first data or the physical memory block where the first data is located ([0073], Earhart teaches that the parameters being set per partition enables implementation of multiple features based on data type or source. The data being written into a data partition which enables multiple features according to the data type or source associated with the partitions is interpreted to be the setting the data type of the data according to the data partition into which the data is written, and wherein the data type is used to manage the block.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 1.
Regarding Claim 12: Erickson teaches a method of operating a computer system, wherein the computer system comprises:
A memory, wherein memory space of the memory is divided into at least two types of data partitions, the at least two types comprising: a first type corresponding to external data of an electronic device comprising the computer system, wherein the external data is data stored on the electronic device that originates external to the electronic device; and a second type corresponding to internal data of the electronic device, wherein the internal data is data stored on the electronic device that originates within the electronic device; ([0017], Erickson teaches that a server may use a portion of its memory for local processes, and may allocate a portion of the memory as far memory for another server. The portions of memory used for local processes are interpreted as the second type of data partition corresponding to internal data of the electronic device, storing data that originates within the electronic device, and the portions of memory allocated to be used as far memory of another server are interpreted as the first type of data partition corresponding to external data of the electronic device, storing data that originates external to the electronic device.)
Wherein a physical memory block corresponding to the first type of data partition is different from a physical memory block corresponding to the second type of data partition ([0024], Erickson teaches that a donor server uses a portion of the local memory in the donor server labeled private as local memory for the processes executing in the donor server, and that there is another, different portion also labeled private and allocated as far memory for processes executing in the other requester server. Furthermore, in [0023], Erickson describes the memory being of different physical kinds, with one or more sections of it being considered private and associated with the various processes. Since the physical memory has sections that are private, and the portions for the types of data partition are also described as labeled private, the physical blocks corresponding to the first type of data partition are interpreted to be different from the physical blocks corresponding to the second type of data partition.)
While Erickson teaches that the memory portions are read/write enabled for the processes, for local processes and for other servers’ processes, Erickson does not appear to explicitly disclose A host; a controller;… sending, by the host, a write command to a controller, wherein the write command comprises first data to be written into the memory and a logical unit number (LUN) to which the first data is to be written, and the logical unit number is specified according to the type of data partition; instructing, by the controller, the memory to write the first data into a physical memory block corresponding to the logical unit number in the memory according to the logical unit number; setting the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; setting the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and reducing garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Earhart teaches A host; a controller;… sending, by the host, a write command to a controller, wherein the write command comprises first data to be written into the memory and a logical unit number (LUN) to which the first data is to be written, and the logical unit number is specified according to the type of data partition; instructing, by the controller, the memory to write the first data into a physical memory block corresponding to the logical unit number in the memory according to the logical unit number ([0037], [0039] and [0100], Earhart teaches that a read/write controller may receive host data from a host, and that write requests may be mapped to a partition, and steered to different partitions based on data type, host ID, or data source, and that the controller will then transfer the data to storage ports for storage to the storage system to perform the program operations. Furthermore, in [0058-0070], Earhart teaches that the partitions may be defined according to certain parameters, including a data type and source, and that the partitions comprise a certain number of data blocks. Since the write commands are steered to the partitions according to the parameters, and that the controller performs program operations to operate the physical memory chips, the write requests are interpreted to be the claimed host sending a write command to a controller comprising first data to be written and a LUN to which the data is to be written, with the LUN being specified according to the type of data partition, and the controller instructing the memory to write the data into a physical memory block corresponding to the LUN according to the LUN.)
Erickson and Earhart are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson and Earhart to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN.
One of ordinary skill in the art would have been motivated to make this modification in order to organize and manage the data of an array, optimized for the type of traffic as discussed in Earhart [0051].
Erickson/Earhart does not appear to explicitly disclose setting the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; setting the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and reducing garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Gans teaches setting the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; setting the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and ([0069], Gans teaches that a particular address space of a near memory module (corresponding to the second type, as the second type corresponds to internal data) can be operated for storing hot, frequently accessed data when the data to be stored is expected to be frequently accessed, and that an address space of a far memory module (corresponding to the first type, as the first type corresponds to external data) is operated to store cold, infrequently accessed data when the data to be stored is expected to be infrequently accessed.)
Erickson/Earhart and Gans are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson/Earhart and Gans to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN, and in which the local memory stores data expected to be frequently accessed and the data stored therein is considered hot data, and in which the far memory stores data expected to be infrequently accessed and the data stored therein is considered cold data.
One of ordinary skill in the art would have been motivated to make this modification because a near memory has a lower access latency which is more suitable for storing frequently accessed data, whereas a far memory has additional latency which is more suitable for infrequently accessed data as discussed in Gans [0069].
Erickson/Earhart/Gans does not appear to explicitly disclose reducing garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Kotte teaches reducing garbage collection associated with the first data respsive to the first data being designated as cold data. ([0090], Kotte teaches that when cold data is grouped together in one memory region and hot data is separately grouped together in a different region, cold blocks will be less likely to be selected for garbage collection which reduces the movement of cold data.)
Erickson/Earhart/Gans and Kotte are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson/Earhart/Gans and Kotte to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN, and in which the local memory stores data expected to be frequently accessed and the data stored therein is considered hot data, and in which the far memory stores data expected to be infrequently accessed and the data stored therein is considered cold data, wherein garbage collection associated with data designated as cold data is reduced.
One of ordinary skill in the art would have been motivated to make this modification because hot is invalidated faster than cold data due to a higher frequency of updates, edits, and accesses, and that reducing the amount of times that cold data needs to be copied during garbage collection by separating them into distinct regions, write amplification will be reduced and the storage device’s endurance is improved as discussed in Kotte [0090].
Regarding claim 13: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 12, from which claim 13 depends.
Erickson/Earhart/Gans/Kotte further teaches determining the physical memory block corresponding to the logical unit number according to the logical unit number; and instructing the memory to write the first data into the physical memory block corresponding to the logical unit number (As discussed with respect to claim 1, Erickson/Earhart/Gans/Kotte teaches that the controller is configured to steer write data of a write request to particular partitions of data blocks, based on a LUN of the write request, and that the controller will transfer the data to the storage system.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding claim 14: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 13, from which claim 14 depends.
Erickson/Earhart/Gans/Kotte further teaches obtaining data attribute of the first data according to the logical unit number, wherein the data attribute is configured to indicate whether the first data is the external data of the electronic device or the internal data of the electronic device ([0070], Erickson teaches that a data source may be used to define a partition, and that the data source parameters may represent a host or network source. As discussed with respect to claim 1, write requests may have an associated host ID. While not explicit, the determination of the host ID would be a determination of whether it is a host or network source, which is interpreted to be the obtaining the data attribute according to the logical unit number, wherein the data attribute indicates internal or external data.)
Erickson/Earhart/Gans/Kotte further teaches determining the physical memory block corresponding to the logical unit number according to the data attribute; and instructing the memory to write the first data into the physical memory block corresponding to the logical unit number (As discussed with respect to claim 1, Erickson/Earhart/Gans/Kotte teaches that the controller is configured to steer write data of a write request to particular partitions of data blocks, based on a LUN of the write request, and that the controller will transfer the data to the storage system.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding claim 15: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 14, from which claim 15 depends.
Erickson/Earhart/Gans/Kotte further teaches a correspondence between the logical unit number and the data attribute of the first data is predefined by a protocol; or the correspondence between the logical unit number and the data attribute of the first data is set when the memory space of the memory is configured as the at least two types of data partitions in the host ([0026], Earhart teaches that partitions are created upon request, along with parameters used to configure the partition, and that the partition creator defines the partition attributes using partition parameters. In combination with the teaching that the parameters may include a Host ID and whether a partition is a host or network source, the correspondence between the LUN and the data attribute is interpreted to be set when the memory space of the memory is configured as the at least two types of data partitions in the host.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding claim 16: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 14, from which claim 16 depends.
Erickson/Earhart/Gans/Kotte further teaches in a case where the data attribute is configured to indicate that the first data is the external data of the electronic device, determining, by the controller, at least one physical memory block satisfying a first condition in the memory as the physical memory block corresponding to the logic unit number, the first condition comprising: the physical memory block is not full, and the second data is not stored, wherein the second data is data in the second type of data partition; and in a case where the data attribute is configured to indicate that the first data is the internal data of the electronic device, determining, by the controller, at least one physical memory block satisfying a second condition in the memory as the physical memory block corresponding to the logic unit number, the second condition comprising: the physical memory block is not full, and third data is not stored, wherein the third data is data in the first type of data partition. ([0075-0076] and [0100-0104], Earhart teaches that after partition definition, the partition may be filled, and that when it is full, it is made read-only, and that writing continues to fill the blocks of a partition. While not explicit, the partition (which is composed of blocks) being made read-only only when it is full would obviously mean that it can be written to until all blocks are full, which would further mean that for all successful writes, the write is performed when there is a block that satisfies a condition comprising that the physical memory block is not full. Further, since the data may be steered to different partitions based on host ID/data source, the claimed determining a block satisfying a first or second condition comprising that the partition does not store the data of a different type is obvious. The combination then teaches that when the data is external data, a non-full block part of a partition that does not contain internal data, and that when the data is internal data, a non-full block part of a partition that does not contain external data is taught, and the claim is obvious.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding claim 17: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 16, from which claim 17 depends.
Erickson/Earhart/Gans/Kotte further teaches a correspondence between the type of data partition and a physical memory block where data in the data partition is located is a non-fixed configuration relationship, and... in the case where the attribute is configured to indicate that the first data is the external data of the electronic device, determining, by the controller, at least one physical memory block satisfying the first condition from all writable physical memory blocks of the memory as the physical memory block corresponding to the logical unit number; and… in the case where the data attribute is configured to indicate that the first data is the internal data of the electronic device, determining, by the controller, at least one physical memory block satisfying the second condition from all writable physical memory blocks of the memory as the physical memory block corresponding to the logical unit number; ([0062], Earhart teaches an embodiment where extendable partitions can grow as needed, by assigning additional blocks from a free pool to keep the partition from filling up. The extendability is interpreted to be the non-fixed configuration relationship. Further, in [0055] and [0077] Earhart describes the free pool as a pool of data blocks that are erased or fresh, meaning they do not store any data of any partition, and therefore always fulfill the requirement of being not full and not containing data of a different partition. As discussed with respect to claim 5, the determining a first condition and second condition for external and internal data, respectively, are obvious, and since a block from the free pool may be assigned to grow a partition, a block from the free pool being assigned is necessarily a block that is not full, and a block that does not contain data of a different partition type, and always satisfies the first or second condition when the data is external or internal data, respectively.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding claim 18: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 16, from which claim 18 depends.
Erickson/Earhart/Gans/Kotte further teaches a correspondence between the type of data partition and a physical memory block where data in the data partition is located is a fixed configuration relationship, and… in the case where the attribute is configured to indicate that the first data is the external data of the electronic device, determining, by the controller, at least one physical memory block that is not full from individual physical memory blocks preconfigured for the first type of data partition as the physical memory block corresponding to the logical unit number; and… in the case where the data attribute is configured to indicate that the first data is the internal data of the electronic device, determining, by the controller, at least one physical memory block that is not full from individual physical memory blocks pre-configured for the second type of data partition as the physical memory block corresponding to the logical unit number; ([0061], Earhart teaches an embodiment where static partitions are defined as a fixed set of blocks that cannot change unless they are destroyed, which is interpreted as the fixed configuration relationship. Further, as discussed with respect to claim 5, the controller determines a block from a partition that is not full to write to, and that since write data is steered according to the parameters of a corresponding partition, the determining at least one physical memory block that is not full from individual physical memory blocks preconfigured for the first type of data partition when the data is external, and the determining at least one physical memory block that is not full from the individual physical memory blocks preconfigured for the second type of data partition when the data is internal is obvious.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding claim 19: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 12, from which claim 19 depends.
Erickson/Earhart/Gans/Kotte further teaches setting a data type of the first data according to the type of the data partition into which the first data is written, and wherein the data type is to manage the first data or the physical memory block where the first data is located ([0073], Earhart teaches that the parameters being set per partition enables implementation of multiple features based on data type or source. The data being written into a data partition which enables multiple features according to the data type or source associated with the partitions is interpreted to be the setting the data type of the data according to the data partition into which the data is written, and wherein the data type is used to manage the block.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as in claim 12.
Regarding Claim 20: Erickson teaches a memory system, comprising:
A memory, wherein memory space of the memory is divided into at least two types of data partitions, the at least two types comprising: a first type corresponding to external data of an electronic device comprising the computer system, wherein the external data is data stored on the electronic device that originates external to the electronic device; and a second type corresponding to internal data of the electronic device, wherein the internal data is data stored on the electronic device that originates within the electronic device; ([0017], Erickson teaches that a server may use a portion of its memory for local processes, and may allocate a portion of the memory as far memory for another server. The portions of memory used for local processes are interpreted as the second type of data partition corresponding to internal data of the electronic device, storing data that originates within the electronic device, and the portions of memory allocated to be used as far memory of another server are interpreted as the first type of data partition corresponding to external data of the electronic device, storing data that originates external to the electronic device.)
Wherein a physical memory block corresponding to the first type of data partition is different from a physical memory block corresponding to the second type of data partition ([0024], Erickson teaches that a donor server uses a portion of the local memory in the donor server labeled private as local memory for the processes executing in the donor server, and that there is another, different portion also labeled private and allocated as far memory for processes executing in the other requester server. Furthermore, in [0023], Erickson describes the memory being of different physical kinds, with one or more sections of it being considered private and associated with the various processes. Since the physical memory has sections that are private, and the portions for the types of data partition are also described as labeled private, the physical blocks corresponding to the first type of data partition are interpreted to be different from the physical blocks corresponding to the second type of data partition.)
While Erickson teaches that the memory portions are read/write enabled for the processes, for local processes and for other servers’ processes, Erickson does not appear to explicitly disclose a controller configured to: receive a write command, wherein the write command comprises first data to be written into the memory and a logical unit number (LUN) to which the first data is to be written, and the logical unit number is specified according to the type of data partition; instruct the memory to write the first data into a physical memory block corresponding to the logical unit number in the memory according to the logical unit number; set the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; set the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and reduce garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Earhart teaches a controller configured to: receive a write command, wherein the write command comprises first data to be written into the memory and a logical unit number (LUN) to which the first data is to be written, and the logical unit number is specified according to the type of data partition; instruct the memory to write the first data into a physical memory block corresponding to the logical unit number in the memory according to the logical unit number. ([0037], [0039] and [0100], Earhart teaches that a read/write controller may receive host data from a host, and that write requests may be mapped to a partition, and steered to different partitions based on data type, host ID, or data source, and that the controller will then transfer the data to storage ports for storage to the storage system to perform the program operations. Furthermore, in [0058-0070], Earhart teaches that the partitions may be defined according to certain parameters, including a data type and source, and that the partitions comprise a certain number of data blocks. Since the write commands are steered to the partitions according to the parameters, and that the controller performs program operations to operate the physical memory chips, the write requests are interpreted to be the claimed host sending a write command to a controller comprising first data to be written and a LUN to which the data is to be written, with the LUN being specified according to the type of data partition, and the controller instructing the memory to write the data into a physical memory block corresponding to the LUN according to the LUN.)
Erickson and Earhart are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson and Earhart to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN.
One of ordinary skill in the art would have been motivated to make this modification in order to organize and manage the data of an array, optimized for the type of traffic as discussed in Earhart [0051].
Erickson/Earhart does not appear to explicitly disclose set the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; set the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and reduce garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Gans teaches set the data type of the first data as cold data when the type of the data partition into which the first data is written is the first type; set the data type of the first data as hot data when the type of the data partition into which the first data is written is the second type; and ([0069], Gans teaches that a particular address space of a near memory module (corresponding to the second type, as the second type corresponds to internal data) can be operated for storing hot, frequently accessed data when the data to be stored is expected to be frequently accessed, and that an address space of a far memory module (corresponding to the first type, as the first type corresponds to external data) is operated to store cold, infrequently accessed data when the data to be stored is expected to be infrequently accessed.)
Erickson/Earhart and Gans are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson/Earhart and Gans to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN, and in which the local memory stores data expected to be frequently accessed and the data stored therein is considered hot data, and in which the far memory stores data expected to be infrequently accessed and the data stored therein is considered cold data.
One of ordinary skill in the art would have been motivated to make this modification because a near memory has a lower access latency which is more suitable for storing frequently accessed data, whereas a far memory has additional latency which is more suitable for infrequently accessed data as discussed in Gans [0069].
Erickson/Earhart/Gans does not appear to explicitly disclose reduce garbage collection associated with the first data respsive to the first data being designated as cold data.
However, Kotte teaches reduce garbage collection associated with the first data respsive to the first data being designated as cold data. ([0090], Kotte teaches that when cold data is grouped together in one memory region and hot data is separately grouped together in a different region, cold blocks will be less likely to be selected for garbage collection which reduces the movement of cold data.)
Erickson/Earhart/Gans and Kotte are analogous art because they are from the same field of endeavor, memory management.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Erickson/Earhart/Gans and Kotte to achieve the result of the local/far memory partitioned memory system, which comprises a host which may send a write command specifying a LUN according to a type of data partition to a controller which instructs the memory to write the data into a block corresponding to the LUN, and in which the local memory stores data expected to be frequently accessed and the data stored therein is considered hot data, and in which the far memory stores data expected to be infrequently accessed and the data stored therein is considered cold data, wherein garbage collection associated with data designated as cold data is reduced.
One of ordinary skill in the art would have been motivated to make this modification because hot is invalidated faster than cold data due to a higher frequency of updates, edits, and accesses, and that reducing the number of times that cold data needs to be copied during garbage collection by separating them into distinct regions, write amplification will be reduced and the storage device’s endurance is improved as discussed in Kotte [0090].
Claims 9, 10 are rejected under 35 U.S.C. 103 as being unpatentable over
Erickson et al., U.S. Pub. No. 20230376412 (hereinafter “Erickson”) in view of
Earhart, U.S. Pub. No. 20160274970 (hereinafter “Earhart”) further in view of
Gans et al., U.S. Pub. No. 20220254390 (hereinafter “Gans”) further in view of
Kotte et al., U.S. Pub. No. 20150347296 (hereinafter “Kotte”) further in view of
Professor Adam Morgan, “Windows 10 - File Explorer Drives - How to Manage Files on USB Flash Stick & Hard Drive - Management”. Retrieved from Internet: < https://www.youtube.com/watch?v=var7-5tvwUo>, April 23, 2019 (hereinafter ‘Morgan’).
Regarding claim 9: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 1, from which claim 9 depends.
Erickson/Earhart/Gans/Kotte do not appear to explicitly disclose in a case where the first type of data partition has been loaded, display an unload control on an interactive interface; and in a case where a trigger operation on the unload control is received, unload the first type of data partition in an interface of a resource manager of the host.
PNG
media_image1.png
486
811
media_image1.png
Greyscale
However, Morgan teaches in a case where the first type of data partition has been loaded, display an unload control on an interactive interface; and (at 3:58, Morgan teaches a back button that can be pressed to unload the external drive partition while the contents of the external drive partition have been loaded in the Windows File Explorer interface).
Morgan further teaches in a case where a trigger operation on the unload control is received, unload the first type of data partition in an interface of a resource manager of the host. (at 3:59, Morgan teaches that upon clicking the back button, the Windows File Explorer interface properly unloads the external drive partition by returning to the directory before it and unloading the contents of the
PNG
media_image2.png
523
871
media_image2.png
Greyscale
external drive partition from the interface)
Erickson/Earhart/Gans/Kotte and Morgan are analogous art because they are from the same field of endeavor, managing and using data partitions.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined The computer system of claim 1, as disclosed by Erickson/Earhart/Gans/Kotte, wherein the host is further configured to: in a case where the first type of data partition has been loaded, display an unload control on an interactive interface; and in a case where a trigger operation on the unload control is received, unload the first type of data partition in an interface of a resource manager of the host, as disclosed by Morgan.
One of ordinary skill in the art would have been motivated to make this modification in order to access, browse, close, and manage the data of the various partitions, as Morgan discusses by showing various files and documents in various partitions accessible through the Windows File Explorer between 1:35 and 3:02.
Regarding claim 10: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 1, from which claim 10 depends.
Erickson/Earhart/Gans/Kotte do not appear to explicitly disclose in a case where the first type of data partition has not been loaded, display a load control on an interactive interface; and in a case where a trigger operation on the load control is received, load the first type of data partition in an interface of a resource manager of the host.
However, Morgan teaches in a case where the first type of data partition has not been loaded, display a load control on an interactive interface; and (at 3:58, Morgan teaches a button in the Windows File Explorer interface that represents the external drive partition, that is seen when in a menu that does not show the contents of the external drive partition).
PNG
media_image3.png
486
811
media_image3.png
Greyscale
PNG
media_image4.png
523
871
media_image4.png
Greyscale
Morgan teaches in a case where a trigger operation on the load control is received, load the first type of data partition in an interface of a resource manager of the host. (at 3:52, Morgan teaches that upon double clicking the button representing the drive, the Windows File Explorer interface properly loads the external drive partition to be displayed)
Erickson/Earhart/Gans/Kotte and Morgan are analogous art because they are from the same field of endeavor, managing and using data partitions.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined The computer system of claim 1, as disclosed by Erickson/Earhart/Gans/Kotte, wherein the host is further configured to: in a case where the first type of data partition has not been loaded, display a load control on an interactive interface; and in a case where a trigger operation on the load control is received, load the first type of data partition in an interface of a resource manager of the host, as disclosed by Morgan.
One of ordinary skill in the art would have been motivated to make this modification in order to access, browse, close, and manage the data of the various partitions, as Morgan discusses by showing various files and documents in various partitions accessible through the Windows File Explorer between 1:35 and 3:02.
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over
Erickson et al., U.S. Pub. No. 20230376412 (hereinafter “Erickson”) in view of
Earhart, U.S. Pub. No. 20160274970 (hereinafter “Earhart”) further in view of
Gans et al., U.S. Pub. No. 20220254390 (hereinafter “Gans”) further in view of
Kotte et al., U.S. Pub. No. 20150347296 (hereinafter “Kotte”) further in view of
Techy Druid, “Share and Access USB Storage in TP-Link Router”. Retrieved from Internet: < https://www.youtube.com/watch?v=Q2sLtVdZ5fI>, May 8, 2023 (hereinafter ‘Druid’).
Regarding claim 11: The combination of Erickson, Earhart, Gans, and Kotte teaches all limitations of claim 1, from which claim 11 depends.
Erickson/Earhart/Gans/Kotte do not appear to explicitly disclose in response to the electronic device being coupled to an external device via a Universal Serial Bus interface, display a trigger control corresponding to the first type of data partition on an interactive interface; and in a case where a selection operation on the trigger control is received, allow the first type of data partition to be accessed at the external device side.
PNG
media_image5.png
518
864
media_image5.png
Greyscale
However, Druid teaches in response to the electronic device being coupled to an external device via a Universal Serial Bus interface, display a trigger control corresponding to the first type of data partition on an interactive interface; and (at 3:08, Druid teaches configuring a newly connected USB drive, which includes a button on an interactive interface on the host that triggers allowing the selected partition of the drive to be accessible to all other devices on the network, including those other than the host).
Druid teaches in a case where a selection operation on the trigger control is received, allow the first type of data partition to be accessed at the external device side. (at 3:17, Druid teaches that after pressing the save button, the USB drive partitions are accessible on the network “Once you have configured the USB storage sharing on the router, you can access the shared files from any wired or wireless device on the same network”. Additionally, at 6:44, Druid demonstrates accessing the partition from a device other than the host.)
PNG
media_image6.png
518
829
media_image6.png
Greyscale
Erickson/Earhart/Gans/Kotte and Druid are analogous art because they are from the same field of endeavor, systems and methods for operating a shared storage.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined The computer system of claim 1, as disclosed by Erickson/Earhart/Gans/Kotte, wherein the host is further configured to: in response to the electronic device being coupled to an external device via a Universal Serial Bus interface, display a trigger control corresponding to the first type of data partition on an interactive interface; and in a case where a selection operation on the trigger control is received, allow the first type of data partition to be accessed at the external device side, as disclosed by Druid.
One of ordinary skill in the art would have been motivated to make this modification in order to intuitively configure a particular type of available storage technology to be more accessible to the entire network without compromising security, including devices that typically would not have the correct connectors to use it normally as demonstrated in Druid 5:59.
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 KAITLYN HUNG PHAM whose telephone number is (571)272-6333. The examiner can normally be reached M/Tu/Th/F 8:00-6:00 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, 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.
/K.H.P./Examiner, Art Unit 2133
/ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133