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 .
This Office Action is responsive to the application filed 26 September 2024.
Claims 1-11 are pending and have been presented for examination.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1 is/are rejected under 35 U.S.C. 103 as being unpatentable over LINDSKOG (U.S. Patent Application Publication #2023/0317187) in view of WASSERSTORM (U.S. Patent #11,392,450) and MOON (U.S. Patent Application Publication #2015/0134877).
1. LINDSKOG discloses A control device comprising: a processor (see [0033]: computer system comprising a processor; [0034]: a memory controller receives requests from the processor), the processor being configured to: acquire write data (see [0036]: handle write requests to store data); store the write data as first write data in a first region of a non-volatile storage section (see [0052]: write data to MTP block) with an error detection code attached (see WASSERSTORM below); store the first write data as second write data in a second region of a non-rewritable storage section (see [0052]: copy data from MTP block to OTP block); and store the second write data as third write data in a third region (see [0054]: data can be pre-fetched from OTP block and stored in a cache to service read and write requests) of the non-volatile storage section (see MOON below).
WASSERSTORM discloses the following limitations that are not disclosed by LINDSKOG: store the write data as first write data in a first region of a non-volatile storage section with an error detection code attached (see column 2, lines 5-45: CRC values are stored with the write data). Certain conditions, that include unexpected power cycling, can result in programming errors when writing to a memory. Attaching error correction codes allows for detection and correction of these errors (see column 2, lines 47-62).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to attach error detection code to write data, as disclosed by WASSERSTORM. One of ordinary skill in the art would have been motivated to make such a modification to detect errors that can occur due do unexpected power cycling, as taught by WASSERSTORM. LINDSKOG and WASSERSTORM are analogous/in the same field of endeavor as both references are directed to programming data to memories.
MOON discloses the following limitations that are not disclosed by LINDSKOG: a third region of the non-volatile storage section (see [0023]: partition non-volatile memory into a cache space and data space). LINDSKOG already discloses the MTP block is a non-volatile memory (see LINDSKOG [0003]) and the inclusion of a cache that is part of the storage device (see LINDSKOG [0054]). However, it is not clear how the cache is implemented. MOON discloses that it is well-known to partition a non-volatile memory to contain a cache region and data region. This allows concurrent storage of cache data and user data (see MOON [0023]). A combination of LINDSKOG and MOON would result in the MTP memory of LINDSKOG also including the cache portion that LINDSKOG already discloses. When the data is pre-fetched into the cache, the third write data would be stored in a cache region of the MTP memory.
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to store the third write data in a third region, such as a cache, as disclosed by MOON. One of ordinary skill in the art would have been motivated to make such a modification to allow concurrent storage of cache data and user data, as taught by MOON. LINDSKOG and MOON are analogous/in the same field of endeavor as both references are directed to storing data in a memory.
Claim(s) 2-3 is/are rejected under 35 U.S.C. 103 as being unpatentable over LINDSKOG (U.S. Patent Application Publication #2023/0317187), WASSERSTORM (U.S. Patent #11,392,450) and MOON (U.S. Patent Application Publication #2015/0134877) as applied to claim 1 above, and further in view of MOYER (U.S. Patent Application Publication #2019/0179750).
2. The control device according to claim 1 (see LINDSKOG above), wherein the processor is configured to determine whether or not power was interrupted during writing, based on a comparison result from comparing the first write data, the second write data, and the third write data (see MOYER below).
MOYER discloses the following limitations that are not disclosed by LINDSKOG: the processor is configured to determine whether or not power was interrupted during writing, based on a comparison result from comparing the first write data, the second write data, and the third write data (see [0062]-[0064]: compare data state between copies of data in a mirrored system to determine if the system experienced a failure during write). A power failure during a write can affect the ability of the system to complete a write and result in memory errors (see [0052]). A comparison of the state of the data can be used to determine if a fault, such as a power failure occurred, and then allows the system to recover from that fault and prevent data loss (see [0025]-[0026]).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to compare the state of data in a mirror to determine if a power loss occurred, as disclosed by MOYER. One of ordinary skill in the art would have been motivated to make such a modification to detect a failure of a write and allow the system to recover to prevent data loss, as taught by MOYER. LINDSKOG and MOYER are analogous/in the same field of endeavor as both references are directed to maintaining multiple copies of data to prevent loss.
3. The control device according to claim 2, (see LINDSKOG above) wherein the processor is configured to determine that the power was not interrupted during writing, in a case in which the first write data and the third write data are determined to be the same (see MOYER below).
MOYER discloses the following limitations that are not disclosed by LINDSKOG: the processor is configured to determine that the power was not interrupted during writing, in a case in which the first write data and the third write data are determined to be the same (see [0062]-[0064]: compare data state between copies of data in a mirrored system to determine if the system experienced a failure during write). A power failure during a write can affect the ability of the system to complete a write and result in memory errors (see [0052]). If the states of both copies of the data are clean, then there was no power failure (see [0048]-[0051]). A comparison of the state of the data can be used to determine if a fault, such as a power failure occurred, and then allows the system to recover from that fault and prevent data loss (see [0025]-[0026]).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to compare the state of data in a mirror to determine if a power loss occurred, as disclosed by MOYER. One of ordinary skill in the art would have been motivated to make such a modification to detect a failure of a write and allow the system to recover to prevent data loss, as taught by MOYER. LINDSKOG and MOYER are analogous/in the same field of endeavor as both references are directed to maintaining multiple copies of data to prevent loss.
Claim(s) 10-11 is/are rejected under 35 U.S.C. 103 as being unpatentable over LINDSKOG (U.S. Patent Application Publication #2023/0317187) in view of WASSERSTORM (U.S. Patent #11,392,450), MOON (U.S. Patent Application Publication #2015/0134877) and MOYER (U.S. Patent Application Publication #2019/0179750).
10. LINDSKOG discloses A detection method for detecting whether or not power was interrupted during processing by a processor of a control device (see [0033]: computer system comprising a processor; [0034]: a memory controller receives requests from the processor) during storing of write data in a non-rewritable storage section, the detection method comprising: acquiring write data (see [0036]: handle write requests to store data); storing the write data as first write data in a first region of a non-volatile storage section (see [0052]: write data to MTP block) with an error detection code attached (see WASSERSTORM below); storing the first write data as second write data in a second region of a non-rewritable storage section (see [0052]: copy data from MTP block to OTP block); storing the second write data as third write data in a third region (see [0054]: data can be pre-fetched from OTP block and stored in a cache to service read and write requests) of the non-volatile storage section (see MOON below); and determining whether or not the power was interrupted during writing, based on a comparison result from comparing the first write data, the second write data, and the third write data (see MOYER below).
WASSERSTORM discloses the following limitations that are not disclosed by LINDSKOG: store the write data as first write data in a first region of a non-volatile storage section with an error detection code attached (see column 2, lines 5-45: CRC values are stored with the write data). Certain conditions, that include unexpected power cycling, can result in programming errors when writing to a memory. Attaching error correction codes allows for detection and correction of these errors (see column 2, lines 47-62).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to attach error detection code to write data, as disclosed by WASSERSTORM. One of ordinary skill in the art would have been motivated to make such a modification to detect errors that can occur due do unexpected power cycling, as taught by WASSERSTORM. LINDSKOG and WASSERSTORM are analogous/in the same field of endeavor as both references are directed to programming data to memories.
MOON discloses the following limitations that are not disclosed by LINDSKOG: a third region of the non-volatile storage section (see [0023]: partition non-volatile memory into a cache space and data space). LINDSKOG already discloses the MTP block is a non-volatile memory (see LINDSKOG [0003]) and the inclusion of a cache that is part of the storage device (see LINDSKOG [0054]). However, it is not clear how the cache is implemented. MOON discloses that it is well-known to partition a non-volatile memory to contain a cache region and data region. This allows concurrent storage of cache data and user data (see MOON [0023]). A combination of LINDSKOG and MOON would result in the MTP memory of LINDSKOG also including the cache portion that LINDSKOG already discloses. When the data is pre-fetched into the cache, the third write data would be stored in a cache region of the MTP memory.
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to store the third write data in a third region, such as a cache, as disclosed by MOON. One of ordinary skill in the art would have been motivated to make such a modification to allow concurrent storage of cache data and user data, as taught by MOON. LINDSKOG and MOON are analogous/in the same field of endeavor as both references are directed to storing data in a memory.
MOYER discloses the following limitations that are not disclosed by LINDSKOG: determine whether or not power was interrupted during writing, based on a comparison result from comparing the first write data, the second write data, and the third write data (see [0062]-[0064]: compare data state between copies of data in a mirrored system to determine if the system experienced a failure during write). A power failure during a write can affect the ability of the system to complete a write and result in memory errors (see [0052]). A comparison of the state of the data can be used to determine if a fault, such as a power failure occurred, and then allows the system to recover from that fault and prevent data loss (see [0025]-[0026]).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to compare the state of data in a mirror to determine if a power loss occurred, as disclosed by MOYER. One of ordinary skill in the art would have been motivated to make such a modification to detect a failure of a write and allow the system to recover to prevent data loss, as taught by MOYER. LINDSKOG and MOYER are analogous/in the same field of endeavor as both references are directed to maintaining multiple copies of data to prevent loss.
11. LINDSKOG discloses A non-transitory computer-readable medium storing a detection program executable by a processor of a control device to perform processing (see [0098]: computer program and a computer-readable storage medium) to detect whether or not power was interrupted during processing to store write data in a non-rewritable storage section, the processing comprising: acquiring write data (see [0036]: handle write requests to store data); storing the write data as first write data in a first region of a non-volatile storage section (see [0052]: write data to MTP block) with an error detection code attached (see WASSERSTORM below); storing the first write data as second write data in a second region of a non-rewritable storage section (see [0052]: copy data from MTP block to OTP block); storing the second write data as third write data in a third region (see [0054]: data can be pre-fetched from OTP block and stored in a cache to service read and write requests) of the non-volatile storage section (see MOON below); and determining whether or not power was interrupted during writing, based on a comparison result from comparing the first write data, the second write data, and the third write data (see MOYER below).
WASSERSTORM discloses the following limitations that are not disclosed by LINDSKOG: store the write data as first write data in a first region of a non-volatile storage section with an error detection code attached (see column 2, lines 5-45: CRC values are stored with the write data). Certain conditions, that include unexpected power cycling, can result in programming errors when writing to a memory. Attaching error correction codes allows for detection and correction of these errors (see column 2, lines 47-62).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to attach error detection code to write data, as disclosed by WASSERSTORM. One of ordinary skill in the art would have been motivated to make such a modification to detect errors that can occur due do unexpected power cycling, as taught by WASSERSTORM. LINDSKOG and WASSERSTORM are analogous/in the same field of endeavor as both references are directed to programming data to memories.
MOON discloses the following limitations that are not disclosed by LINDSKOG: a third region of the non-volatile storage section (see [0023]: partition non-volatile memory into a cache space and data space). LINDSKOG already discloses the MTP block is a non-volatile memory (see LINDSKOG [0003]) and the inclusion of a cache that is part of the storage device (see LINDSKOG [0054]). However, it is not clear how the cache is implemented. MOON discloses that it is well-known to partition a non-volatile memory to contain a cache region and data region. This allows concurrent storage of cache data and user data (see MOON [0023]). A combination of LINDSKOG and MOON would result in the MTP memory of LINDSKOG also including the cache portion that LINDSKOG already discloses. When the data is pre-fetched into the cache, the third write data would be stored in a cache region of the MTP memory.
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to store the third write data in a third region, such as a cache, as disclosed by MOON. One of ordinary skill in the art would have been motivated to make such a modification to allow concurrent storage of cache data and user data, as taught by MOON. LINDSKOG and MOON are analogous/in the same field of endeavor as both references are directed to storing data in a memory.
MOYER discloses the following limitations that are not disclosed by LINDSKOG: determine whether or not power was interrupted during writing, based on a comparison result from comparing the first write data, the second write data, and the third write data (see [0062]-[0064]: compare data state between copies of data in a mirrored system to determine if the system experienced a failure during write). A power failure during a write can affect the ability of the system to complete a write and result in memory errors (see [0052]). A comparison of the state of the data can be used to determine if a fault, such as a power failure occurred, and then allows the system to recover from that fault and prevent data loss (see [0025]-[0026]).
It would have been obvious, before the effective filing date of the claimed invention, to a person having ordinary skill in the art to which said subject matter pertains to modify LINDSKOG to compare the state of data in a mirror to determine if a power loss occurred, as disclosed by MOYER. One of ordinary skill in the art would have been motivated to make such a modification to detect a failure of a write and allow the system to recover to prevent data loss, as taught by MOYER. LINDSKOG and MOYER are analogous/in the same field of endeavor as both references are directed to maintaining multiple copies of data to prevent loss.
Allowable Subject Matter
Claims 4-9 are 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:
The state of the art fails to anticipate, or render obvious, “… the processor is configured to determine that the power was interrupted during writing the first write data to the first region, in a case in which the first write data and the second write data differ, the second write data and the third write data are the same, and the first write data has been determined not to be normal based on the error detection code.”
The state of the art fails to anticipate, or render obvious, “… the processor is configured to determine that the power was interrupted during writing the second write data to the second region, either: in a case in which the first write data and the second write data differ, the second write data and the third write data are the same, and the first write data has been determined to be normal based on the error detection code, or in a case in which the first write data, the second write data, and the third write data are all different, and also the first write data has been determined to be normal based on the error detection code.”
The state of the art fails to anticipate, or render obvious, “… the processor is configured to determine that the power was interrupted during writing the third write data to the third region, in a case in which the first write data and the second write data are the same, and the first write data and the third write data are different.”
While the state of the art generally discloses using error detection codes and data comparisons to determine if a write error has occurred, the state of the art fails to disclose both techniques being used in combination or performing comparisons between multiple sets of data to determine which write, of a series of writes, was subject to an error.
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
TAN – 2022/0342765 – discloses detecting a power loss during writing of data, but not by comparing data. See [0008]-[0012]
SZUBBOCSEV – 2021/0109858 – discloses monitoring programming of a memory area to determine if there was a power failure. See [0017]
HSIEH – 2019/0227708 – discloses storing three copies of write data. One in a cache, another in a mirror copy of the cache and another in user data storage. See figure 1.
KHAKIFIROOZ – 2019/0103159 – discloses a power loss indicator, data is not compared to determine if there was a power loss. See [0034]
TOMOZAKI – 2015/0324248 – discloses using CRC to determine if there was a failure during power loss processing. See [0042]
PICCIRILLO – 2012/0159289 – discloses checking a data signature to determine if data write was successful during power loss. See [0060]
CHUNG – 2006/0069851 – discloses detection of a power failure using checksum data. See [0010]
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to EDWARD J DUDEK JR whose telephone number is (571)270-1030. The examiner can normally be reached Monday - Friday, 8:00A-4:00P.
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, Kenneth Lo can be reached at 571-272-9774. 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.
/EDWARD J DUDEK JR/Primary Examiner, Art Unit 2136