DETAILED ACTION
This Action is responsive to the Application filed on 01/14/2025
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 .
Claim Status
Claims 1-20 are pending and have been examined.
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.
Claims 1, 3, 9, 11, 16, and 18-19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Sato et al. (US 20150380097 A1)(hereafter referred to as Sato).
Regarding Claim 1,
Sato anticipates the following limitations:
A storage device (Fig. 13) comprising:
a nonvolatile memory (BiCS Flash Memory 10, Fig. 13) comprising a plurality of planes (Planes 0 – n, Fig. 15), each comprising a plurality of pages (Pages 0 – 2, Fig. 15); and
a controller (Memory Controller 20, Fig. 13) configured to control the nonvolatile memory, wherein the controller is configured to perform operations (Fig. 14) comprising (¶¶0180-190):
receiving (Fig. 14, step S1001) a plurality of commands (“a plurality of access requests” [0183]) from a host (Host 2, Fig. 13) (“The memory controller 20 receives an access request (access command) from the host 2 … determining in step S1003 that a plurality of access requests to be processed exist” [0181-184]);
merging (Fig. 14, step S1005) a plurality of read commands (“read requests” [0184]) among the plurality of commands into a merge command signal (“the combined access request” [0190])(“the read/write control unit 1b determines whether the plurality of access requests can be combined … all the access requests indicate read requests … it is determined that the plurality of access requests can be combined … When determining in step S1004 that the plurality of access requests can be combined, the read/write control unit 1b combines the plurality of access requests.” [0184-185]) – As shown in Fig. 14 and taught in ¶0184, plural read requests can be combined into a combined access request.,
wherein the plurality of read commands are associated with at least two different planes among the plurality of planes and are associated with at least two different pages among the plurality of pages (“If the plurality of access requests to be processed aim at pages in different planes of the same BiCS flash memory 10 … the access requests can be combined” [0184] // Fig. 15 // “As shown in Fig. 15, it is possible to access user data A, B, and C stored on the pages … having different page numbers” [0192]) – As taught in ¶0184 and shown in Fig. 15, read requests which target different page numbers (e.g., pages 1, 0, and 2) in different memory planes (e.g., planes 0, 1, and n) are performed in parallel--,
transmitting (Fig. 14, step S1006) the merge command signal to the nonvolatile memory (“When combining the plurality of access requests, the write/read control unit 1b performs access (to be referred to as parallel access or multi-plane access) to the BiCS flash memory 10 based on the combined memory access” [0188]); and
applying the merge command signal to the nonvolatile memory (Fig. 15) – As shown in Figs. 14 and 15, after determining to merge read requests, controller 20 accesses the flash memory 10 using the combined memory access (see Fig. 14, step S1006) (i.e., at least “transmit[s]” the combined memory access to the nonvolatile memory) after which data stored within the nonvolatile memory is accessed based on the combined memory access (see Fig. 15) (i.e., “applying” the combined memory access to the nonvolatile memory).
Regarding Claim 3,
Sato anticipates the following limitations:
The storage device of claim 1, wherein the controller is configured to determine (Fig. 14, step S1004) a number of the at least two different pages. (“the write/read control unit 1b determines whether the plurality of access requests can be combined. If the plurality of access requests to be processed aim at pages in different planes” [0184]) – As previously discussed, during step S1004, the memory controller determines whether or not the plural access requests are combinable by determining whether they target pages in different planes (i.e., at least 2 different pages). In the context of Sato, such a determination corresponds to a determination that the number of pages targeted by the plural access requests is at least 2 (i.e., a determination that “a number of the at least two different pages” is at least 2).
Regarding Claim 9,
Sato anticipates the following limitations:
The storage device of claim 1, wherein the controller is configured to store the plurality of commands in a queue (“a command queue” [0183]), select the plurality of read commands from the queue (“the memory controller 20 includes, for example, a command queue area (not shown) … The write/read control unit 1b can refer to the access request stored in the command queue area and determine whether a plurality of access requests exists” [0183]), and consecutively merge (Fig. 14) from the queue the plurality of read commands into the merge command signal. – As taught in ¶0183, memory controller 20 receives and stores host access requests in a command queue. As previously discussed (see Claim 1 limitation mappings above) and as shown in Fig. 14, after access requests are stored in the queue, the access requests are selected from the queue and are subsequently merged into the combined access request.
Regarding Claim 11,
Sato anticipates the following limitations:
A method of operating a controller (Memory Controller 20, Fig. 13), the method comprising:
receiving (Fig. 14, step S1001) a plurality of commands (“a plurality of access requests” [0183]) from a host (Host 2, Fig. 13)(“The memory controller 20 receives an access request (access command) from the host 2 … determining in step S1003 that a plurality of access requests to be processed exist” [0181-184]);
merging (Fig. 14, step S1005) a plurality of read commands (“read requests” [0184]) among the plurality of commands into a merge command signal (“the combined access request” [0190])(“the read/write control unit 1b determines whether the plurality of access requests can be combined … all the access requests indicate read requests … it is determined that the plurality of access requests can be combined … When determining in step S1004 that the plurality of access requests can be combined, the read/write control unit 1b combines the plurality of access requests.” [0184-185]) – As shown in Fig. 14 and taught in ¶0184, plural read requests can be combined into a combined access request.,
wherein the plurality of read commands are associated with at least two different planes among a plurality of planes, wherein the plurality of planes each comprise a plurality of pages and are each associated with at least two different pages among the plurality of pages (“If the plurality of access requests to be processed aim at pages in different planes of the same BiCS flash memory 10 … the access requests can be combined” [0184] // Fig. 15 // “As shown in Fig. 15, it is possible to access user data A, B, and C stored on the pages … having different page numbers” [0192]) – As taught in ¶0184 and shown in Fig. 15, read requests which target different page numbers (e.g., pages 1, 0, and 2) in different memory planes (e.g., planes 0, 1, and n) are performed in parallel-; and
transmitting (Fig. 14, step S1006) the merge command signal to a nonvolatile memory (BiCS Flash Memory 10, Fig. 13)(“When combining the plurality of access requests, the write/read control unit 1b performs access (to be referred to as parallel access or multi-plane access) to the BiCS flash memory 10 based on the combined memory access” [0188]);
Regarding Claim 16,
Sato anticipates the following limitations:
The method of claim 11, further comprising: storing the plurality of commands in a queue (“a command queue” [0183]), selecting the plurality of read commands from the queue (“the memory controller 20 includes, for example, a command queue area (not shown) … The write/read control unit 1b can refer to the access request stored in the command queue area and determine whether a plurality of access requests exists” [0183]), and consecutively merging (Fig. 14) from the queue the plurality of read commands into the merge command signal. – As taught in ¶0183, memory controller 20 receives and stores host access requests in a command queue. As previously discussed (see Claim 11 limitation mappings above) and as shown in Fig. 14, after access requests are stored in the queue, the access requests are selected from the queue and are subsequently merged into the combined access request.
Regarding Claim 18,
Sato anticipates the following limitations:
A storage system comprising:
a host (Host 2, Fig. 13) configured to apply a plurality of commands (¶0181); and
a storage device (Memory Device 1, Fig. 13) configured to receive (Fig. 14, step S1001) the plurality of commands from the host(“The memory controller 20 receives an access request (access command) from the host 2 … determining in step S1003 that a plurality of access requests to be processed exist” [0181-184]),
merge (Fig. 14, step S1005) a plurality of read commands among the plurality of commands into a merge command signal (“the combined access request” [0190])(“the read/write control unit 1b determines whether the plurality of access requests can be combined … all the access requests indicate read requests … it is determined that the plurality of access requests can be combined … When determining in step S1004 that the plurality of access requests can be combined, the read/write control unit 1b combines the plurality of access requests.” [0184-185]) – As shown in Fig. 14 and taught in ¶0184, plural read requests can be combined into a combined access request.,
wherein the plurality of read commands are associated with at least two different planes among a plurality of planes, wherein the plurality of planes each comprise a plurality of pages and are each associated with at least two different pages among the plurality of pages (“If the plurality of access requests to be processed aim at pages in different planes of the same BiCS flash memory 10 … the access requests can be combined” [0184] // Fig. 15 // “As shown in Fig. 15, it is possible to access user data A, B, and C stored on the pages … having different page numbers” [0192]) – As taught in ¶0184 and shown in Fig. 15, read requests which target different page numbers (e.g., pages 1, 0, and 2) in different memory planes (e.g., planes 0, 1, and n) are performed in parallel--,
wherein the storage device is further configured to perform a read operation based on the merge command signal (“When combining the plurality of access requests, the write/read control unit 1b performs access (to be referred to as parallel access or multi-plane access) to the BiCS flash memory 10 based on the combined memory access” [0188] // Fig. 15) – As shown in Fig. 15, a read operation is performed on the flash memory in response to the combined memory access.
Regarding Claim 19,
Sato anticipates the following limitations:
The storage system of claim 18, wherein the storage device comprises: a nonvolatile memory (BiCS Flash Memory 10, Fig. 13) comprising the plurality of planes (Figs. 13 + 15); and
a storage controller (Memory Controller 20, Fig. 13) configured to merge (Fig. 14, step S1005) the plurality of read commands and transmit (Fig. 14, step S1006) the merge command signal to the nonvolatile memory (When combining the plurality of access requests, the write/read control unit 1b performs access (to be referred to as parallel access or multi-plane access) to the BiCS flash memory 10 based on the combined memory access” [0188] // ¶¶0180-190) – As taught in Sato, memory controller 20 performs steps S1005 and S1006 of Fig. 14.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 2 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Sato further in view of Weinberg et al. (US 20240028244 A1)(hereafter referred to as Weinberg).
Regarding Claim 2,
Sato discloses the following limitations:
The storage device of claim 1 (see Claim 1 limitation mappings above),
Sato is silent regarding the following limitations:
wherein the controller is configured to transmit a single status check command for the at least two different planes, comprising the at least two different pages, to the nonvolatile memory after transmitting the merge command signal.
However, Weinberg discloses the following limitations:
wherein the controller (Controller 106, Fig. 1) is configured to transmit a single status check command (“multi-channel status read command” [0032]) for the at least two different planes, comprising the at least two different pages, to the nonvolatile memory (Memory Package 102, Fig. 1) after transmitting the merge command signal (“a memory controller can issue commands (e.g., access commands) to various logical units … After issuing the commands, the memory controller can issue status read commands to the logical units to determine which of the operations have been completed and on which of the logical units” [0012] // “the multi-channel status read command can be a single (e.g., only one) command … the I/O expander 104 can interpret as instructions to transmit status read command to logical units 120 over two or more of the back-end channels” [0032] // Fig. 1 // ¶0015) -- Examiner considers Controller 106 of Weinberg Fig. 1 as analogous to Memory Controller 20 of Sato Fig. 13 because both are memory controllers which perform access commands received from an external host directed towards plural non-volatile memory planes (see Weinberg ¶¶0012;0015). As taught in Weinberg ¶0032, Controller 106 transmits a single “multi-channel status read command” to memory package 102 in order to check on the status of various accessed logical units (i.e., at least two different planes; see ¶¶0012; 0015).
Sato and Weinberg are considered analogous to the claimed invention because they all relate to the same field of combining plural memory accesses targeting different memory planes into a single command transmit to a memory controller. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Weinberg and realize a storage device which transmits a single status command to a non-volatile memory in response to transmitting a merged access command to the non-volatile memory. Doing so improves technology by reducing I/O bus data overhead involved in obtaining status read data from logical units across multiple back-end channels, as disclosed in Weinberg ¶0013: “the present technology facilitates obtaining status read data from logical units across multiple back-end channels in response to a single multi-channel status read command. In this manner, the present technology is expected to reduce the I/O bus overhead involved in obtaining status read data from logical units across multiple back-end channels” [0013]
Regarding Claim 13,
Sato discloses the following limitations:
The method of claim 11 (see Claim 11 limitation mappings above),
Sato is silent regarding the following limitations:
further comprising transmitting a single status check command for the at least two different planes comprising the at least two different pages, to the nonvolatile memory
However, Weinberg discloses the following limitations:
further comprising transmitting a single status check command (“multi-channel status read command” [0032]) for the at least two different planes comprising the at least two different pages, to the nonvolatile memory (Memory Package 102, Fig. 1)(“a memory controller can issue commands (e.g., access commands) to various logical units … After issuing the commands, the memory controller can issue status read commands to the logical units to determine which of the operations have been completed and on which of the logical units” [0012] // “the multi-channel status read command can be a single (e.g., only one) command … the I/O expander 104 can interpret as instructions to transmit status read command to logical units 120 over two or more of the back-end channels” [0032] // Fig. 1 // ¶0015) -- Examiner considers Controller 106 of Weinberg Fig. 1 as analogous to Memory Controller 20 of Sato Fig. 13 because both are memory controllers which perform access commands received from an external host directed towards plural non-volatile memory planes (see Weinberg ¶¶0012;0015). As taught in Weinberg ¶0032, Controller 106 transmits a single “multi-channel status read command” to memory package 102 in order to check on the status of various accessed logical units (i.e., at least two different planes; see ¶¶0012; 0015).
Sato and Weinberg are considered analogous to the claimed invention because they all relate to the same field of combining plural memory accesses targeting different memory planes into a single command transmit to a memory controller. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Weinberg and realize a storage device which transmits a single status command to a non-volatile memory in response to transmitting a merged access command to the non-volatile memory. Doing so improves technology by reducing I/O bus data overhead involved in obtaining status read data from logical units across multiple back-end channels, as disclosed in Weinberg ¶0013: “the present technology facilitates obtaining status read data from logical units across multiple back-end channels in response to a single multi-channel status read command. In this manner, the present technology is expected to reduce the I/O bus overhead involved in obtaining status read data from logical units across multiple back-end channels” [0013]
Claims 4-5, 12, and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Sato further in view of CP et al. (US 20220358995 A1)(hereafter referred to as CP).
Regarding Claim 4,
Sato discloses the following limitations:
The storage device of claim 1, wherein each of the plurality of pages is classified as one of a plurality of logical pages corresponding to k-bits represented by a single memory cell, wherein k is a positive integer greater than or equal to 2 (“Each memory cell transistor MT … can store .. 3-bit data … The bits of each 3-bit data will be referred to as an upper page … middle page … and lower page” [0422-424]) – As taught in Sato, memory cells store 3-bit data whereby pages are logically organized into “upper”, “middle”, and “lower” type pages corresponding to respective bits of the data--, and
Sato does not provide specific detail regarding how the combined memory access command of step S1005 is organized relative logical pages and thus is silent regarding the following limitations:
wherein the controller is configured to merge the plurality of read commands into units of the plurality of logical pages
However, CP discloses the following limitations:
wherein the controller (Controller 102, Fig. 1A) is configured to merge the plurality of read commands into units of the plurality of logical pages (“A combined read operation … may be initiated by a command received by a non-volatile memory die. A host or memory controller … may send such a command to a memory die … It can be seen that any combination of logical pages may be specified for a combined read using such a combined read command.” [0124-126] // Fig. 1A) – As taught in CP, a memory controller 102 transmits a “combined read operation” to non-volatile memory dies 104, similar to how a memory controller 20 of Sato Fig. 13 transmits a combined access request to a memory device 10. Examiner accordingly considers memory controller 102 of CP Fig. 1A as analogous to the claimed memory controller. As taught in CP, a combined read operation performs reads on particular combinations of logical pages (i.e., the combined read operation is organized into “units” of logical pages).
Sato and CP are considered analogous to the claimed invention because they all relate to the same field of performing merged read commands on a non-volatile memory die organized logically into plural pages. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of CP and realize a storage device which organizes merged read commands into units of logical pages. Doing so improves the efficiency of read operation enabling multiple pages to be read at once without each logical page necessarily being read, as disclosed in CP ¶0126: “It can be seen that any combination of logical pages may be specified for a combined read using such a combined read command. This may be more efficient than sending separate individual random read commands for multiple logical pages (e.g., less traffic on a bus between a controller and a memory die) while allowing fewer than all logical pages in a physical page to be read.” [0126]
Regarding Claim 5,
The same motivation to combine provided in Claim 4 is equally applicable to Claim 5. The combined teachings of Sato and CP disclose the following limitations:
The storage device of claim 4, wherein the controller is configured to merge the plurality of read commands into a same logical page, among the plurality of logical pages. (CP, “any combination of logical pages may be specified” [0126]) – Examiner considers any combination of logical pages which are combined into the same combined read command as reading on the claimed concept of “a same logical page” under the BRI of the claimed language.
Regarding Claim 12,
Sato discloses the following limitations:
The method of claim 11, further comprising:
determining (Fig. 14, step S1004) a number of the at least two different pages. (“the write/read control unit 1b determines whether the plurality of access requests can be combined. If the plurality of access requests to be processed aim at pages in different planes” [0184]) – As previously discussed, during step S1004, the memory controller determines whether or not the plural access requests are combinable by determining whether they target pages in different planes (i.e., at least 2 different pages). In the context of Sato, such a determination corresponds to a determination that the number of pages targeted by the plural access requests is at least 2 (i.e., a determination that “a number of the at least two different pages” is at least 2).
Sato does not appear to explicitly disclose the following limitations
merging a subset of the plurality of read commands corresponding to the number into the merge command signal.
However, CP discloses the following limitations:
merging a subset of the plurality of read commands corresponding to the number into the merge command signal. (“A combined read operation … may be initiated by a command received by a non-volatile memory die. A host or memory controller … may send such a command to a memory die … It can be seen that any combination of logical pages may be specified for a combined read using such a combined read command.” [0124-126] // Fig. 1A) – As taught in CP, a memory controller 102 transmits a “combined read operation” to non-volatile memory dies 104, similar to how a memory controller 20 of Sato Fig. 13 transmits a combined access request to a memory device 10. Examiner accordingly considers memory controller 102 of CP Fig. 1A as analogous to the claimed memory controller. As taught in CP, combined read operations correspond to reads targeting any combination of logical pages. In the context of CP, the particular combination of logical pages targeted by a combined read operation correspond to “a subset” of the total read commands which may be merged.
Sato and CP are considered analogous to the claimed invention because they all relate to the same field of performing merged read commands on a non-volatile memory die organized logically into plural pages. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of CP and realize a storage device which merges a subset of read commands into a merged command signal. Doing so improves the efficiency of read operation enabling multiple pages to be read at once without each logical page necessarily being read, as disclosed in CP ¶0126: “It can be seen that any combination of logical pages may be specified for a combined read using such a combined read command. This may be more efficient than sending separate individual random read commands for multiple logical pages (e.g., less traffic on a bus between a controller and a memory die) while allowing fewer than all logical pages in a physical page to be read.” [0126]
Regarding Claim 14,
Sato discloses the following limitations:
The method of claim 11, wherein each of the plurality of pages is classified as one of a plurality of logical pages corresponding to k-bits represented by a single memory cell, wherein k is a positive integer greater than or equal to 2 (“Each memory cell transistor MT … can store .. 3-bit data … The bits of each 3-bit data will be referred to as an upper page … middle page … and lower page” [0422-424]) – As taught in Sato, memory cells store 3-bit data whereby pages are logically organized into “upper”, “middle”, and “lower” type pages corresponding to respective bits of the data--, and
Sato does not provide specific detail regarding how the combined memory access command of step S1005 is organized relative logical pages and thus is silent regarding the following limitations:
wherein the merging the plurality of read commands comprises merging the plurality of read commands into units of the plurality of logical pages
However, CP discloses the following limitations:
wherein the merging the plurality of read commands comprises merging the plurality of read commands into units of the plurality of logical pages (“A combined read operation … may be initiated by a command received by a non-volatile memory die. A host or memory controller … may send such a command to a memory die … It can be seen that any combination of logical pages may be specified for a combined read using such a combined read command.” [0124-126] // Fig. 1A) – As taught in CP, a memory controller 102 transmits a “combined read operation” to non-volatile memory dies 104, similar to how a memory controller 20 of Sato Fig. 13 transmits a combined access request to a memory device 10. Examiner accordingly considers memory controller 102 of CP Fig. 1A as analogous to the claimed memory controller. As taught in CP, a combined read operation performs reads on particular combinations of logical pages (i.e., the combined read operation is organized into “units” of logical pages).
Sato and CP are considered analogous to the claimed invention because they all relate to the same field of performing merged read commands on a non-volatile memory die organized logically into plural pages. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of CP and realize a storage device which organizes merged read commands into units of logical pages. Doing so improves the efficiency of read operation enabling multiple pages to be read at once without each logical page necessarily being read, as disclosed in CP ¶0126: “It can be seen that any combination of logical pages may be specified for a combined read using such a combined read command. This may be more efficient than sending separate individual random read commands for multiple logical pages (e.g., less traffic on a bus between a controller and a memory die) while allowing fewer than all logical pages in a physical page to be read.” [0126]
Claims 6-8, 10, 15, 17, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Sato further in view of Madraswala et al. (US 20190102097 A1)(hereafter referred to as Madraswala).
Regarding Claim 6,
Sato discloses the following limitations:
The storage device of claim 1 (see Claim 1 limitation mappings above),
Sato is silent regarding the following limitations:
wherein the merge command signal comprises level adjustment information for adjusting a read voltage for a read operation for each of the plurality of planes
However, Madraswala discloses the following limitations:
wherein the merge command signal (“multiplane read command” [0113]) comprises level adjustment information (“a profile identifier” [0065]) for adjusting a read voltage for a read operation for each of the plurality of planes (“Controller 126 may also be operable to receive a read command that specifies a profile identifier, retrieve the read voltage offsets from memory 402, and adjust the read voltages based on the offsets for the read operation.” [0065] // “In an embodiment, the read command is a multiplane read command and the at least one adjusted read voltage is applied to read data from each plane of a plurality of planes specified in the multiplane read command.” [0113] // Fig. 4) – Examiner considers Controller 126 of Madraswala Fig. 4 as analogous to the Controller 20 of Sato Fig. 13 because both are memory controllers which perform simultaneous read operations on plural memory planes (see Madraswala ¶0113). As taught in Madraswala, a “multiplane read operation” specifying plural memory planes (¶0113) includes a “profile identifier” (¶0065) which enables memory controller 126 to adjust each read voltage applied to each plane associated with the multiplane read operation. Examiner accordingly considers a profile identifier associated with a read command as reading on the claimed concept of “level adjustment information”.
Sato and Madraswala are considered analogous to the claimed invention because they all relate to the same field of performing simultaneous read operations on plural memory planes. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Madraswala and realize a storage device which adjusts a read voltage for each plane of a plurality of planes targeted by a merged read command. Doing so provides a low-overhead mechanism for extending the age of data without requiring a refresh operation, as disclosed in Madraswala ¶0017: “Various embodiments of the present disclosure may significantly reduce overhead associated with the adjustment of read voltages. Particular embodiments may relax the period of background data refresh as well. In some systems, data that has aged significantly may need to be refreshed (e.g., read out and programmed again) in order to maintain the ability to accurately read the data. The ability to adjust the read voltages without undue overhead may allow the data to age further without a refresh operation while still preserving the ability to accurately read the data.”
Regarding Claim 7,
The same motivation to combine provided in Claim 6 is equally applicable to Claim 7. The combined teachings of Sato and Madraswala disclose the following limitations:
The storage device of claim 6 (see Claim 6 limitation mappings above), wherein the level adjustment information comprises plane information for which the read voltage is to be adjusted (Madraswala, ¶¶0065; 0113) – As previously discussed (see Claim 6 limitation mappings above), a “profile identifier” included within a read command enables voltage adjustment while performing the command. Examiner accordingly considers the profile identifier included within a “multiplane read” type of read command (see Madraswala ¶0113) as reading on the claimed concept of “plane information” because the profile identifier of a multiplane read command causes particular voltages to be applied to each plane identified by the multiplane command.
Regarding Claim 8,
Sato discloses the following limitations:
The storage device of claim 1 (see Claim 1 limitation mappings above),
Sato does not appear to explicitly disclose the following limitations:
wherein the nonvolatile memory is configured to perform a set-up on the at least two different pages based on receiving the merge command signal
However, Madraswala discloses the following limitations:
wherein the nonvolatile memory (Memory Device 122, Fig. 4) is configured to perform a set-up on the at least two different pages based on receiving the merge command signal (“a multiplane read command may specify a single read voltage offset profile identifier that is used for each page read from the various planes” [0093] // “Controller 126 may also be operable to receive a read command that specifies a profile identifier, retrieve the read voltage offsets from memory 402, and adjust the read voltages based on the offsets for the read operation.” [0065] // Fig. 4) – Examiner considers Controller 126 of Madraswala Fig. 4 as analogous to the Controller 20 of Sato Fig. 13 because both are memory controllers which perform simultaneous read operations on plural memory planes (see Madraswala ¶0093). As taught in Madraswala, after a memory controller receives a multiplane read command specifying a profile identifier, particular read voltage offsets are retrieved from a memory which specify particular voltages to apply to each page specified in the multiplane read command. Examiner considers the process of retrieving read voltage offsets based on a profile identifier received with a multiplane read command as “a set-up” performed on each page associated with the multiplane read command (i.e., setting up particular read voltages which will be applied to the at least two different pages).
Sato and Madraswala are considered analogous to the claimed invention because they all relate to the same field of performing simultaneous read operations on plural memory planes. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Madraswala and realize a storage device which sets up a read voltage for pages targeted by a merged read command. Doing so provides a low-overhead mechanism for extending the age of data without requiring a refresh operation, as disclosed in Madraswala ¶0017: “Various embodiments of the present disclosure may significantly reduce overhead associated with the adjustment of read voltages. Particular embodiments may relax the period of background data refresh as well. In some systems, data that has aged significantly may need to be refreshed (e.g., read out and programmed again) in order to maintain the ability to accurately read the data. The ability to adjust the read voltages without undue overhead may allow the data to age further without a refresh operation while still preserving the ability to accurately read the data.”
Regarding Claim 10,
Sato discloses the following limitations:
The storage device of claim 1 (see Claim 1 limitation mappings above),
Sato does not explicitly disclose read voltage adjustment with respect to each memory plane. Specifically, Sato does not explicitly disclose the following limitations:
wherein the controller is configured to adjust a read voltage for a read operation for each of the plurality of planes.
However, Madraswala discloses the following limitations:
wherein the controller (Controller 126, Fig. 4) is configured to adjust a read voltage for a read operation for each of the plurality of planes (“Controller 126 may also be operable to receive a read command that specifies a profile identifier, retrieve the read voltage offsets from memory 402, and adjust the read voltages based on the offsets for the read operation.” [0065] // “In an embodiment, the read command is a multiplane read command and the at least one adjusted read voltage is applied to read data from each plane of a plurality of planes specified in the multiplane read command.” [0113] // Fig. 4) – Examiner considers Controller 126 of Madraswala Fig. 4 as analogous to the Controller 20 of Sato Fig. 13 because both are memory controllers which perform simultaneous read operations on plural memory planes (see Madraswala ¶0113). As taught in Madraswala, controller 126 adjusts a read voltage for each plane of plural planes specified in a multiplane read command.
Sato and Madraswala are considered analogous to the claimed invention because they all relate to the same field of performing simultaneous read operations on plural memory planes. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Madraswala and realize a storage device which adjusts a read voltage for each plane of a plurality of planes targeted by a merged read command. Doing so provides a low-overhead mechanism for extending the age of data without requiring a refresh operation, as disclosed in Madraswala ¶0017: “Various embodiments of the present disclosure may significantly reduce overhead associated with the adjustment of read voltages. Particular embodiments may relax the period of background data refresh as well. In some systems, data that has aged significantly may need to be refreshed (e.g., read out and programmed again) in order to maintain the ability to accurately read the data. The ability to adjust the read voltages without undue overhead may allow the data to age further without a refresh operation while still preserving the ability to accurately read the data.”
Regarding Claim 15,
Sato discloses the following limitations:
The method of claim 11 (see Claim 11 limitation mappings above),
Sato is silent regarding the following limitations:
wherein the merge command signal comprises level adjustment information for adjusting a read voltage for a read operation for each of the plurality of planes, and wherein the level adjustment information comprises plane information for which the read voltage is to be adjusted.
However, Madraswala discloses the following limitations:
wherein the merge command signal (“multiplane read command” [0113]) comprises level adjustment information (“a profile identifier” [0065]) for adjusting a read voltage for a read operation for each of the plurality of planes (“Controller 126 may also be operable to receive a read command that specifies a profile identifier, retrieve the read voltage offsets from memory 402, and adjust the read voltages based on the offsets for the read operation.” [0065] // “In an embodiment, the read command is a multiplane read command and the at least one adjusted read voltage is applied to read data from each plane of a plurality of planes specified in the multiplane read command.” [0113] // Fig. 4) – Examiner considers Controller 126 of Madraswala Fig. 4 as analogous to the Controller 20 of Sato Fig. 13 because both are memory controllers which perform simultaneous read operations on plural memory planes (see Madraswala ¶0113). As taught in Madraswala, a “multiplane read operation” specifying plural memory planes (¶0113) includes a “profile identifier” (¶0065) which enables memory controller 126 to adjust each read voltage applied to each plane associated with the multiplane read operation. Examiner accordingly considers a profile identifier associated with a read command as reading on the claimed concept of “level adjustment information”., and
wherein the level adjustment information comprises plane information for which the read voltage is to be adjusted. (Madraswala, ¶¶0065; 0113) – As discussed above, a “profile identifier” included within a read command enables voltage adjustment while performing the command. Examiner accordingly considers the profile identifier included within a “multiplane read” type of read command (see Madraswala ¶0113) as reading on the claimed concept of “plane information” because the profile identifier of a multiplane read command causes particular voltages to be applied to each plane identified by the multiplane command.
Sato and Madraswala are considered analogous to the claimed invention because they all relate to the same field of performing simultaneous read operations on plural memory planes. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Madraswala and realize a storage device which adjusts a read voltage for each plane of a plurality of planes targeted by a merged read command. Doing so provides a low-overhead mechanism for extending the age of data without requiring a refresh operation, as disclosed in Madraswala ¶0017: “Various embodiments of the present disclosure may significantly reduce overhead associated with the adjustment of read voltages. Particular embodiments may relax the period of background data refresh as well. In some systems, data that has aged significantly may need to be refreshed (e.g., read out and programmed again) in order to maintain the ability to accurately read the data. The ability to adjust the read voltages without undue overhead may allow the data to age further without a refresh operation while still preserving the ability to accurately read the data.”
Regarding Claim 17,
Sato discloses the following limitations:
The method of claim 11 (see Claim 11 limitation mappings above),
Sato does not explicitly disclose read voltage adjustment with respect to each memory plane. Specifically, Sato does not explicitly disclose the following limitations:
adjusting a read voltage for a read operation for each of the plurality of planes.
However, Madraswala discloses the following limitations:
adjusting a read voltage for a read operation for each of the plurality of planes (“Controller 126 may also be operable to receive a read command that specifies a profile identifier, retrieve the read voltage offsets from memory 402, and adjust the read voltages based on the offsets for the read operation.” [0065] // “In an embodiment, the read command is a multiplane read command and the at least one adjusted read voltage is applied to read data from each plane of a plurality of planes specified in the multiplane read command.” [0113] // Fig. 4) – Examiner considers Controller 126 of Madraswala Fig. 4 as analogous to the Controller 20 of Sato Fig. 13 because both are memory controllers which perform simultaneous read operations on plural memory planes (see Madraswala ¶0113). As taught in Madraswala, controller 126 adjusts a read voltage for each plane of plural planes specified in a multiplane read command.
Sato and Madraswala are considered analogous to the claimed invention because they all relate to the same field of performing simultaneous read operations on plural memory planes. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Madraswala and realize a storage device which adjusts a read voltage for each plane of a plurality of planes targeted by a merged read command. Doing so provides a low-overhead mechanism for extending the age of data without requiring a refresh operation, as disclosed in Madraswala ¶0017: “Various embodiments of the present disclosure may significantly reduce overhead associated with the adjustment of read voltages. Particular embodiments may relax the period of background data refresh as well. In some systems, data that has aged significantly may need to be refreshed (e.g., read out and programmed again) in order to maintain the ability to accurately read the data. The ability to adjust the read voltages without undue overhead may allow the data to age further without a refresh operation while still preserving the ability to accurately read the data.”
Regarding Claim 20,
Sato discloses the following limitations:
The storage system of claim 18 (see Claim 18 limitation mappings above),
Sato is silent regarding the following limitations:
wherein the plurality of commands comprise level adjustment information for adjusting a read voltage for a read operation for each of the plurality of planes.
However, Madraswala discloses the following limitations:
wherein the plurality of commands comprise level adjustment information (“a profile identifier” [0065]) for adjusting a read voltage for a read operation for each of the plurality of planes (“Controller 126 may also be operable to receive a read command that specifies a profile identifier, retrieve the read voltage offsets from memory 402, and adjust the read voltages based on the offsets for the read operation.” [0065] // “In an embodiment, the read command is a multiplane read command and the at least one adjusted read voltage is applied to read data from each plane of a plurality of planes specified in the multiplane read command.” [0113] // Fig. 4) – Examiner considers Controller 126 of Madraswala Fig. 4 as analogous to the Controller 20 of Sato Fig. 13 because both are memory controllers which perform simultaneous read operations on plural memory planes (see Madraswala ¶0113). As taught in Madraswala, a “multiplane read operation” specifying plural memory planes (¶0113) includes a “profile identifier” (¶0065) which enables memory controller 126 to adjust each read voltage applied to each plane associated with the multiplane read operation. Examiner accordingly considers a profile identifier associated with a read command as reading on the claimed concept of “level adjustment information”.
Sato and Madraswala are considered analogous to the claimed invention because they all relate to the same field of performing simultaneous read operations on plural memory planes. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Sato with the teachings of Madraswala and realize a storage device which adjusts a read voltage for each plane of a plurality of planes targeted by a merged read command. Doing so provides a low-overhead mechanism for extending the age of data without requiring a refresh operation, as disclosed in Madraswala ¶0017: “Various embodiments of the present disclosure may significantly reduce overhead associated with the adjustment of read voltages. Particular embodiments may relax the period of background data refresh as well. In some systems, data that has aged significantly may need to be refreshed (e.g., read out and programmed again) in order to maintain the ability to accurately read the data. The ability to adjust the read voltages without undue overhead may allow the data to age further without a refresh operation while still preserving the ability to accurately read the data.”
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Na (US 20220197560 A1) – Discloses a method of combining read commands directed to separate physical addresses from a read queue (see Fig. 18)
Chun (US 20190087126 A1) – Discloses a method of combining read commands directed to multiple planes (see Figs. 6A + 9)
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JULIAN SCOTT MENDEL whose telephone number is (703)756-1608. The examiner can normally be reached M-F 10am - 4pm 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, Rocío del Mar Pérez-Vélez 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.
/J.S.M./Examiner, Art Unit 2133
/ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133