DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
Claims 1-20 are pending.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on April 11, 2025 and April 20, 2026 is/are in compliance with the provisional of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 18-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claims 10 and 11 recites the limitation “sub-slot”.
The specification at paragraphs [0014] and [0015] just recites the claims verbatim, and paragraph [0152] and [0153] “sub-slots” were referred to but there is no disclosure as to what “sub-slot” is. Without knowing what “subslot” is or what it encompasses one of ordinary skill in the art would not know the full scope of the claims nor know that the applicant was in possession of the claimed invention. It is also unclear as to what the sub-slot is referring to, see 112 (b) rejection below.
“On the other hand, when the subject matter is not shown in the drawing or described in the description, the words of the original claim must sufficiently describe the invention so that one of ordinary skill in the art would recognize that the inventor had possession of the full scope of the claimed invention. If the claim does not provide its own description in this case, the claim should be rejected under 35 U.S.C. 112(a) as failing to be supported by an adequate written description” (MPEP 608.01(l)) “The contents of an application, to be complete, must include a specification containing a written description of the invention using such description and details as to enable any person skilled in the art or science to which the invention pertains to make and use the invention as of its filing date. See 35 U.S.C. 112. At least one specific operative embodiment or example of the invention must be set forth. The example(s) and description should be of sufficient scope as to justify the scope of the claims. For the written description requirement, an applicant’s specification must reasonably convey to those skilled in the art that the applicant was in possession of the claimed invention as of the date of invention” (MPEP 608.01(p)).
Therefore the specification as originally filed does not provide support for “sub-slot”.
Claim 18 recites the limitation “a control signal for decompressing target data”.
The specification at paragraph [0022] just recites the claims verbatim, at paragraph [0137] states “In response to the reception, from the host device 1210, of a read request for target data of the compressed data stored in the memory 1253, the memory controller 1251 may generate a control signal for decompressing the target data” and at paragraph [0139] “The compressor 1260 may store the compressed data obtained by compressing the original data in the memory 1253 and may decompress the compression of the target data according to the control signal generated by the memory controller 1251”. These are the only parts of the specification that refers to “control signal”. There is no disclosure as to what the “control signal” is or what it encompasses. Without knowing what “control signal” encompasses one of ordinary skill in the art would not know the full scope of the claims nor know that the applicant was in possession of the claimed invention. It is also unclear as to what the control signal is referring to, see 112 (b) rejection below.
“On the other hand, when the subject matter is not shown in the drawing or described in the description, the words of the original claim must sufficiently describe the invention so that one of ordinary skill in the art would recognize that the inventor had possession of the full scope of the claimed invention. If the claim does not provide its own description in this case, the claim should be rejected under 35 U.S.C. 112(a) as failing to be supported by an adequate written description” (MPEP 608.01(l)) “The contents of an application, to be complete, must include a specification containing a written description of the invention using such description and details as to enable any person skilled in the art or science to which the invention pertains to make and use the invention as of its filing date. See 35 U.S.C. 112. At least one specific operative embodiment or example of the invention must be set forth. The example(s) and description should be of sufficient scope as to justify the scope of the claims. For the written description requirement, an applicant’s specification must reasonably convey to those skilled in the art that the applicant was in possession of the claimed invention as of the date of invention” (MPEP 608.01(p)).
Therefore the specification as originally filed does not provide support for “a control signal for decompressing target data”.
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding Claims 1, 5, 10-12, 14, and 17-20, the claims recites the limitation “first slot”, “remaining slot”, or “sub-slot”. It is unclear what slot is referring to, is it a cache slot, memory entry, or something else? The specification at paragraph [0066] defines the “first slot”. “The data corresponding to the front part (a front end portion) of a fragmented block, in other words, a slot (e.g., slots 0, 1, 2, and 3) positioned at the first of each block of the compressed data 320 may be referred to as a “first slot 325” or “the first slot” and data of the first positioned slot (“the first slot”) of each block may be referred to as the “data of the first slot”” (Spec [0066]). The specification does not define “remaining slot” but it can be inferred from the definition of “first slot”. However for “sub-slot” there is no definition for it and one of ordinary skill in the art would not be able to infer what it means from the disclosure of the specification.
“During patent examination, the pending claims must be "given their broadest reasonable interpretation consistent with the specification." … The court explained that "reading a claim in light of the specification, to thereby interpret limitations explicitly recited in the claim, is a quite different thing from ‘reading limitations of the specification into a claim,’ to thereby narrow the scope of the claim by implicitly adding disclosed limitations which have no express basis in the claim." The court found that applicant was advocating the latter, i.e., the impermissible importation of subject matter from the specification into the claim” (MPEP 2111)
For examination purposes, when giving the broadest reasonable interpretation of the limitation, examiner will interpret the limitations of “first slot”, “remaining slot”, and “sub-slot” as “first location” “remaining location” and “location”.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 12-14, 18, and 20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Zhou et al. (US 2024/0103722) (hereinafter Zhou) (published March 28, 2024).
Regarding Claim 12, Zhou discloses a processor-implemented method, the method comprising: receiving, from a host device, a read request for target data from among compressed data stored in a memory;
“A read request may be received from a host (e.g., server). The read request may be received at the backend SSD. At 902, an entry among the plurality of entries may be identified. The entry may be identified based on an address of a block of uncompressed data. For example, the read request may include the address of a block of uncompressed data. The entry in a compression mapping table corresponding to the block of uncompressed data may be determined (e.g., looked up) using the address of the block of uncompressed data” (Zhou [0055])
“It may be determined if the entire compressed block corresponding to the block of uncompressed data fits in the corresponding entry fits in the corresponding entry” (Zhou [0056] the read request is directed to the compressed data indexed by the address of the block of the uncompressed data)
computing device physical addresses of a first slot corresponding to the target data and an entry of a metadata table responsive to the read request; (see 112 interpretation above)
“The mapping information may include a start address and/or length” (Zhou [0054])
“A read request may be received from a host (e.g., server). The read request may be received at the backend SSD. At 902, an entry among the plurality of entries may be identified. The entry may be identified based on an address of a block of uncompressed data. For example, the read request may include the address of a block of uncompressed data. The entry in a compression mapping table corresponding to the block of uncompressed data may be determined (e.g., looked up) using the address of the block of uncompressed data” (Zhou [0055])
according to the device physical addresses, decompressing first data of the first slot by reading the data of the first slot and decompressing remaining data of a remaining slot other than the first slot by reading the entry of the metadata table; and (see 112 interpretation above)
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored. At 908, the remaining portion of the compressed block may be read from the second area. For example, the remaining portion of the compressed block may be read from the second area based on the mapping information obtained from the first part of the entry. At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057])
transmitting block data obtained by combining the decompressed first data and the decompressed remaining data to the host device.
“At 908, the remaining portion of the compressed block may be read from the second area. For example, the remaining portion of the compressed block may be read from the second area based on the mapping information obtained from the first part of the entry. At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057] the decompressed data consists of the decompressed data from the first area and decompressed data from the second area)
Regarding Claim 13, Zhou further discloses wherein the read request comprises an index of the target data.
“The compression mapping table may comprise a plurality of entries. Each of the plurality of entries may be aligned with the smallest access unit of SSDs. For example, each of the plurality of entries may be 512 bytes. The plurality of entries may be indexed by addresses associated with a plurality of corresponding blocks of uncompressed data. Indexing by the uncompressed block address may lead to simplicity (e.g., low complexity) in the framework 200” (Zhou [0021] the addresses is the index)
“A read request may be received from a host (e.g., server). The read request may be received at the backend SSD. At 902, an entry among the plurality of entries may be identified. The entry may be identified based on an address of a block of uncompressed data. For example, the read request may include the address of a block of uncompressed data” (Zhou [0055])
Regarding Claim 14, Zhou further discloses wherein the decompressing comprises: determining a first physical address of a first slot of a target block corresponding to the target data and a second physical address of a metadata table of the target block, by an index of the target data; (see 112 interpretation above)
“For example, the read request may include the address of a block of uncompressed data. The entry in a compression mapping table corresponding to the block of uncompressed data may be determined (e.g., looked up) using the address of the block of uncompressed data” (Zhou [0055] the first physical address is the address of the entry)
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored” (Zhou [0057] the second physical address is the location of the remaining portion)
decompressing compression of the data of the first slot by reading the data of the first slot based on the first physical address; (see 112 interpretation above)
“At 904, it may be determined that only a portion of the compressed block is capable of being stored in the entry. The compressed block may correspond to the block of uncompressed data” (Zhou [0056])
“At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057] see fig. 2 the compress block includes the data at the first physical address)
reading an entry of the metadata table based on the second physical address in addition to reading the first data; and
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored” (Zhou [0057])
decompressing the remaining data by obtaining a physical address of respective data of the remaining slot from the entry of the metadata table. (see 112 interpretation above)
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored … At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057] see fig. 2 the compress block includes the data at the second physical address)
Regarding Claim 18, Zhou discloses a compressed memory system, the system comprising: a memory comprising one or more of a normal memory area and a compressed memory area;
“The backend SSD 210 may comprise a first area 212 and a second area 214. For example, the backend SSD 210 may, when initialized, be divided into two areas: the first area 212 and the second area 214. The first area 212 may be configured to store a compression mapping table. For example, the compression mapping table may be stored on the backend SSD 210, just like compressed data. In this way, the power-loss protection that is already available on the backend SSD 210 may be leveraged. The second area 214 may be configured to store compressed data and is different from the first area 212” (Zhou [0020])
a memory controller configured to generate a control signal for decompressing target data in response to receiving, from a host device, a read request for the target data among compressed data stored in the memory; and (see 112 interpretation above)
“A read request may be received from a host (e.g., server). The read request may be received at the backend SSD. At 902, an entry among the plurality of entries may be identified. The entry may be identified based on an address of a block of uncompressed data. For example, the read request may include the address of a block of uncompressed data. The entry in a compression mapping table corresponding to the block of uncompressed data may be determined (e.g., looked up) using the address of the block of uncompressed data” (Zhou [0055])
“It may be determined if the entire compressed block corresponding to the block of uncompressed data fits in the corresponding entry fits in the corresponding entry” (Zhou [0056] the read request is directed to the compressed data indexed by the address of the block of the uncompressed data)
“At 910, the compressed block may be decompressed” (Zhou [0057] the control signal generated for decompressing target data would include a signal to read data from the storage devices)
a compressor configured to store compressed data of original data in the memory and decompress a compression of the target data in response to the control signal,
“For example, the uncompressed data block 202 may be compressed to generate a compressed block 204” (Zhou [0022])
“For example, the remaining portion of the compressed block may be read from the second area based on the mapping information obtained from the first part of the entry. At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD” (Zhou [0057] decompression would be in response to the signal to read data)
wherein the compressor comprises: a compression and decompression device configured to decompress first data of a first slot by reading the first data of the first slot corresponding to the target data and decompress remaining data of a remaining slot by reading an entry of a metadata table; and (see 112 interpretation above)
“At 904, it may be determined that only a portion of the compressed block is capable of being stored in the entry. The compressed block may correspond to the block of uncompressed data” (Zhou [0056])
“For example, the remaining portion of the compressed block may be read from the second area based on the mapping information obtained from the first part of the entry. At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD” (Zhou [0057])
a memory device configured to: combine the decompressed first data with the decompressed remaining data; and transmit the combined data to the host device.
“At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057])
Regarding Claim 20, Zhou further discloses wherein the memory device is further configured to: determine a first physical address of a first slot of a target block corresponding to the target data and a second physical address of a metadata table of the target block, by an index of the target data;
“For example, the read request may include the address of a block of uncompressed data. The entry in a compression mapping table corresponding to the block of uncompressed data may be determined (e.g., looked up) using the address of the block of uncompressed data” (Zhou [0055] the first physical address is the address of the entry)
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored” (Zhou [0057] the second physical address is the location of the remaining portion)
decompress a compression of first slot data by the compression and decompression device by reading the first slot data corresponding to the target data based on the first physical address; (see 112 interpretation above)
“At 904, it may be determined that only a portion of the compressed block is capable of being stored in the entry. The compressed block may correspond to the block of uncompressed data” (Zhou [0056])
“At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057] see fig. 2 the compress block includes the data at the first physical address)
read an entry of a metadata table corresponding to the target data based on the second physical address in addition to reading the first slot data; and (see 112 interpretation above)
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored” (Zhou [0057])
decompress a compression of the remaining slot data by the compression and decompression device by obtaining a physical address of the remaining slot data from the entry of the metadata table. (see 112 interpretation above)
“At 906, mapping information from the first part of the entry may be obtained. The mapping information may indicate a particular part of the second area of a backend SSD in which a remaining portion of the compressed block is stored … At 910, the compressed block may be decompressed. For example, the compressed block may be decompressed based on the portion of the compressed data block stored in a second part of the entry and based on the remaining portion stored in the second area of the backend SSD. The decompressed data may be returned to the host. An indication that the read request is complete may also be returned to the host” (Zhou [0057] see fig. 2 the compress block includes the data at the second physical address)
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, 6, 7, 9-11, 16, and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou (published March 28, 2024) in view of Kegel et al. (US 2021/0034252) (hereinafter Kegel) (published February 04, 2021).
Regarding Claims 1, 16, and 17, taking claim 17 as exemplary, Zhou discloses an electronic device, comprising: one or more processors configured to execute instructions; and
“One or more central processing units (CPUs) 1004 may operate in conjunction with a chipset 1006. The CPU(s) 1004 may be standard programmable processors that perform arithmetic and logical operations necessary for the operation of the computing device 1000” (Zhou [0059])
a memory storing the instructions, wherein execution of the instructions configures the one or more processors to:
“The mass storage device 1028 or other computer-readable storage media may also be encoded with computer-executable instructions, which, when loaded into the computing device 1000, transforms the computing device from a general-purpose computing system into a special-purpose computer capable of implementing the aspects described herein. These computer-executable instructions transform the computing device 1000 by specifying how the CPU(s) 1004 transition between states, as described above” (Zhou [0070])
store, in a first area of a memory, first data of a first slot corresponding to a front part among compressed data from original data;
“For example, the uncompressed data block 202 may be compressed to generate a compressed block 204” (Zhou [0022])
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b. The first part 204a may be stored in the first area 212, such as in the corresponding compression mapping table entry, along with its metadata (e.g., mapping information). For example, as shown in FIG. 2, the first part 204a may be stored in the entry indexed as zero, along with the corresponding mapping information” (Zhou [0023])
store, in a second area of the memory, remaining data of a remaining slot other than the data of the first slot among the compressed data; and
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b … The rest of the compressed block 204, (e.g., the second part 204b) may be stored in an allocated space in the second area 214” (Zhou [0023])
But does not explicitly state store metadata corresponding to the remaining data in a metadata table in a third area of the memory.
Zhou and Kegel discloses store metadata corresponding to the remaining data in a metadata table in a third area of the memory.
“The address of the second part 204b in the allocated space in the second area 214 may be tracked by the metadata (e.g., mapping information) in the compression mapping table entry corresponding to the compressed block 204” (Zhou [0023])
“As another example, in some embodiments, the record of expected lifetime is or includes metadata associated with the data in the non-volatile memory and step 400 involves updating the metadata to include an identifier (e.g., one or more bits, numerical values, etc.) of the duration for the data in the non-volatile memory. In these embodiments, the metadata can be stored in a number of locations in the non-volatile memory, such as in dedicated metadata bits at or near a location where the data is stored, in a separate metadata table or list in the non-volatile memory, etc.” (Kegel [0055])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to incorporate Kegel's metadata table into the system in Zhou. The motivation for doing so would be because organizing metadata in a dedicated memory area improves the efficiency and manageability of metadata updates and retrieval, reduces interference with the stored data itself, and provides a well-known design alternative to storing metadata adjacent to the data. The combination merely applies Kegel's known metadata organization technique to the memory architecture of Zhou to obtain the predictable benefit of centralized metadata management, without changing the fundamental operation or intended purpose of Zhou.
Regarding Claim 6, Zhou further discloses wherein the metadata table comprises a compressed size of the compressed data and an entry of the metadata storing location information of the second data, and
“The mapping information may include a start address and/or length” (Zhou [0021] the address is the location and the length would be the size of the compressed data)
“The address of the second part 204b in the allocated space in the second area 214 may be tracked by the metadata (e.g., mapping information) in the compression mapping table entry corresponding to the compressed block 204” (Zhou [0023] the location of the second part)
wherein the entry of the metadata is one-to-one mapped with blocks of the original data in an order of addresses of the original data.
“Each of the plurality of entries may comprise two parts: a first part configured to store metadata and a second part configured to store compressed data. For example, the first part (e.g., the first few bytes) may be configured to store mapping information. The mapping information may include a start address and/or length” (Zhou [0021] see fig. 2 each uncompressed block has a corresponding one to one metadata entry that is stored with the compressed blocks)
Regarding Claim 7, Zhou further discloses wherein the metadata comprises a number of slots allocated to the second data and a physical address of the second data corresponding to each block of the original data. (see 112 interpretation above)
“The address of the second part 204b in the allocated space in the second area 214 may be tracked by the metadata (e.g., mapping information) in the compression mapping table entry corresponding to the compressed block 204” (Zhou [0023] the metadata includes space to store the location of the second data)
Regarding Claim 9, Zhou further discloses wherein the storing the first data comprises: dividing blocks of the original data into a plurality of sub-blocks; and
“For example, the uncompressed data block 202 may be compressed to generate a compressed block 204” (Zhou [0020])
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b” (Zhou [0023])
storing, in the first area of the memory, first sub-block data of a first sub-block corresponding to a front part for each of the plurality of sub-blocks.
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b. The first part 204a may be stored in the first area 212, such as in the corresponding compression mapping table entry, along with its metadata (e.g., mapping information). For example, as shown in FIG. 2, the first part 204a may be stored in the entry indexed as zero, along with the corresponding mapping information” (Zhou [0023])
Regarding Claim 10, Zhou and Kegel further discloses wherein the storing of the metadata corresponding to the second data comprises: storing, in the metadata table, metadata corresponding to remaining sub-slot data of a remaining sub-slot other than the first sub-block data for each of the sub-blocks. (see 112 interpretation above)
“The address of the second part 204b in the allocated space in the second area 214 may be tracked by the metadata (e.g., mapping information) in the compression mapping table entry corresponding to the compressed block 204” (Zhou [0024])
“As another example, in some embodiments, the record of expected lifetime is or includes metadata associated with the data in the non-volatile memory and step 400 involves updating the metadata to include an identifier (e.g., one or more bits, numerical values, etc.) of the duration for the data in the non-volatile memory. In these embodiments, the metadata can be stored in a number of locations in the non-volatile memory, such as in dedicated metadata bits at or near a location where the data is stored, in a separate metadata table or list in the non-volatile memory, etc.” (Kegel [0055])
Regarding Claim 6, Zhou further discloses wherein the metadata comprises one or more of a number of slots allocated to each data piece of the remaining sub-slot, a physical address of the data of the remaining sub-slot corresponding to each of the blocks of the original data, and a compression size of the data of the remaining sub-slot. (see 112 interpretation above)
“The address of the second part 204b in the allocated space in the second area 214 may be tracked by the metadata (e.g., mapping information) in the compression mapping table entry corresponding to the compressed block 204” (Zhou [0023] the metadata includes space to store the location of the second data)
Claim 2 and 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou (published March 28, 2024) and Kegel (published February 04, 2021) as applied to claim 1 above, and further in view of LU et al. (US 2019/0347194) (hereinafter Lu) (published November 14, 2019).
Regarding Claim 2, the combination of Zhou and Kegel disclosed the method of claim 1, but does not explicitly state wherein the storing the first data comprises: storing the first data in the first area of the memory in a same order as an order of blocks of the original data corresponding to the first data for each of the blocks of the original data.
Lu and Zhou discloses wherein the storing the first data comprises: storing the first data in the first area of the memory in a same order as an order of blocks of the original data corresponding to the first data for each of the blocks of the original data.
“FIG. 6 is a diagram 600 illustrating logical components of a data file 605, a compression map 610, compressed data 615, and a compressed data file 620, according to some embodiments” (Lu [0071] see fig. 6 the compressed data is in the same order as the uncompressed data)
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b. The first part 204a may be stored in the first area 212, such as in the corresponding compression mapping table entry, along with its metadata (e.g., mapping information). For example, as shown in FIG. 2, the first part 204a may be stored in the entry indexed as zero, along with the corresponding mapping information” (Zhou [0023] the stored compressed first part would be in the same order as the original uncompressed data)
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to incorporate Lu's mapping arrangement into the system in the combination of Zhou and Kegel. The motivation for doing so would be because maintaining a one-to-one correspondence between original data blocks and compressed data entries simplifies address translation, facilitates efficient lookup and retrieval of compressed data, and reduces the complexity of locating the compressed representation corresponding to a requested logical block. Incorporating Lu's known mapping technique into the compression storage architecture of Zhou and Kegel would have yielded the predictable result of improving data management while preserving the intended operation of the combined system.
Regarding Claim 3, the combination of Zhou and Kegel disclosed the method of claim 1, but does not explicitly state wherein the first data and the blocks of the original data are one-to-one mapped in an order of addresses of the original data.
Lu discloses wherein the first data and the blocks of the original data are one-to-one mapped in an order of addresses of the original data.
“FIG. 6 is a diagram 600 illustrating logical components of a data file 605, a compression map 610, compressed data 615, and a compressed data file 620, according to some embodiments” (Lu [0071] see fig. 6 the compressed data has a one to one mapping with the uncompressed data)
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to incorporate Lu's mapping arrangement into the system in the combination of Zhou and Kegel. The motivation for doing so would be because maintaining a one-to-one correspondence between original data blocks and compressed data entries simplifies address translation, facilitates efficient lookup and retrieval of compressed data, and reduces the complexity of locating the compressed representation corresponding to a requested logical block. Incorporating Lu's known mapping technique into the compression storage architecture of Zhou and Kegel would have yielded the predictable result of improving data management while preserving the intended operation of the combined system.
Claim 4 and 5 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou (published March 28, 2024) and Kegel (published February 04, 2021) as applied to claim 1 above, and further in view of Hida et al. (US 2013/0179750) (hereinafter Hida) (published July 11, 2013).
Regarding Claim 4, the combination of Zhou and Kegel disclosed the method of claim 1, but does not explicitly state wherein the storing the first data comprises: storing the first data in the first area of the memory in parallel.
Hida discloses wherein the storing the first data comprises: storing the first data in the first area of the memory in parallel.
“The NAND I/F 5 is a memory interface that executes control of data transfer between NAND memories 6-0 to 6-4(6s) and the temporary storage buffer 4, and includes four channels (channels ch0 to ch4) so that reading and writing can be performed in parallel. The channels ch0 to ch4 control the corresponding NAND memories 6-0 to 6-4, respectively” (Hida [0051])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to incorporate Hida's parallel storage technique into the memory system in the combination of Zhou and Kegel. The motivation for doing so would be because parallel writing of data across multiple memory channels improves write bandwidth, reduces overall storage latency, and increases utilization of available memory resources. Applying Hida's known multi-channel memory interface to the combined memory architecture in the combination of Zhou and Kegel would have predictably improved system performance while preserving the intended operation of the underlying compression and metadata management techniques.
Regarding Claim 5, Hida further discloses wherein the storing the data of the first slot is performed by one of a channel wise or rank-wise manner. (see 112 interpretation above)
“The NAND I/F 5 is a memory interface that executes control of data transfer between NAND memories 6-0 to 6-4(6s) and the temporary storage buffer 4, and includes four channels (channels ch0 to ch4) so that reading and writing can be performed in parallel. The channels ch0 to ch4 control the corresponding NAND memories 6-0 to 6-4, respectively” (Hida [0051])
Claim 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou (published March 28, 2024) and Kegel (published February 04, 2021) as applied to claim 1 above, and further in view of Wang et al. (US 2021/0089445) (hereinafter Wang) (published March 25, 2021).
Regarding Claim 8, the combination of Zhou and Kegel disclosed the method of claim 1, but does not explicitly state wherein a first size of the first area is dynamically adjusted according to one or more of a compression rate of the memory and a size of the memory.
Wang discloses wherein a first size of the first area is dynamically adjusted according to one or more of a compression rate of the memory and a size of the memory.
“A size of the memory space S1 allocated by the main operating system to the communications subsystem may be dynamically adjusted, and there is no need to fixedly divide or statically reserve a comparatively large amount of memory space with reference to a peak rate of wireless communication. To ensure a proper size of the available memory space of the communications subsystem, the MMA subsystem may monitor a status of available memory in the memory space S1, interact with the application subsystem, and adjust the size of the memory space S1 accordingly” (Wang [0128])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to incorporate Wang's dynamic memory allocation technique into the memory system in the combination of Zhou and Kegel. The motivation for doing so would be because dynamically adjusting the size of the first memory area in response to factors such as compression rate or available memory size improves memory utilization, accommodates changing storage demands, and reduces inefficient allocation of memory resources. Applying Wang's known dynamic memory management approach to the combined system would have predictably optimized allocation of the compressed data storage area while preserving the intended operation of Zhou's compression techniques and Kegel's metadata management.
Claim 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou (published March 28, 2024) as applied to claim 18 above, and further in view of Kegel (published February 04, 2021).
Regarding Claim 19, Zhou disclosed the system of claim 18, and further disclose wherein the memory device is further configured to: store, in a first area of the memory, compressed first data of the first slot corresponding to a front part for each of blocks of the original data in the compressed data; (see 112 interpretation above)
“For example, the uncompressed data block 202 may be compressed to generate a compressed block 204” (Zhou [0022])
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b. The first part 204a may be stored in the first area 212, such as in the corresponding compression mapping table entry, along with its metadata (e.g., mapping information). For example, as shown in FIG. 2, the first part 204a may be stored in the entry indexed as zero, along with the corresponding mapping information” (Zhou [0023])
store, in a second area of the memory, remaining data of a remaining slot other than the data of the first slot among the compressed data; and (see 112 interpretation above)
“In embodiments, any particular compressed block may be split into two parts. For example, the compressed block 204 may be split into a first part 204a and a second part 204b … The rest of the compressed block 204, (e.g., the second part 204b) may be stored in an allocated space in the second area 214” (Zhou [0023])
But does not explicitly state store metadata corresponding to the remaining data in a metadata table in a third area of the memory.
Zhou and Lu discloses store metadata corresponding to the remaining data in a metadata table in a third area of the memory.
“The address of the second part 204b in the allocated space in the second area 214 may be tracked by the metadata (e.g., mapping information) in the compression mapping table entry corresponding to the compressed block 204” (Zhou [0023])
“As another example, in some embodiments, the record of expected lifetime is or includes metadata associated with the data in the non-volatile memory and step 400 involves updating the metadata to include an identifier (e.g., one or more bits, numerical values, etc.) of the duration for the data in the non-volatile memory. In these embodiments, the metadata can be stored in a number of locations in the non-volatile memory, such as in dedicated metadata bits at or near a location where the data is stored, in a separate metadata table or list in the non-volatile memory, etc.” (Kegel [0055])
It would have been obvious before the effective filing date of the invention to one of ordinary skill in the art to incorporate Kegel's metadata table into the system in Zhou. The motivation for doing so would be because organizing metadata in a dedicated memory area improves the efficiency and manageability of metadata updates and retrieval, reduces interference with the stored data itself, and provides a well-known design alternative to storing metadata adjacent to the data. The combination merely applies Kegel's known metadata organization technique to the memory architecture of Zhou to obtain the predictable benefit of centralized metadata management, without changing the fundamental operation or intended purpose of Zhou.
Allowable Subject Matter
Claim 15 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
Claim 15 further recites “wherein the determining of the first physical address and the second physical address comprises: determining the first physical address by a first multiplying of the index of the target block by a slot size and adding a base address of a first area of the memory to a first result of the first multiplying; and determining the second physical address by a second multiplying of the index of the target block by a size of the metadata and adding a base address of a third area of the memory to a second result of the second multiplying”.
The limitations above are not taught or rendered obvious in view of the prior art of record, particularly in combination with the other limitations within the claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
FUKUDA (US 2015/0236716) discloses using a plurality of channels to enhance data transfer
RO et al. (US 2021/0319824) discloses a data buffer and storing part of the data in a first area and second part in a second area.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SIDNEY LI whose telephone number is (571)270-5967. The examiner can normally be reached Monday to Friday 10:00 AM to 6:00 PM.
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, Arpan P Savla can be reached at (571) 272-1077. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/S.L./Examiner, Art Unit 2137
/Arpan P. Savla/Supervisory Patent Examiner, Art Unit 2137