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 28 February 2025 and the preliminary amendment filed 14 July 2025.
Claims 21-40 are pending and have been presented for examination.
Claims 1-20 have been cancelled.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(d):
(d) REFERENCE IN DEPENDENT FORMS.—Subject to subsection (e), a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
The following is a quotation of pre-AIA 35 U.S.C. 112, fourth paragraph:
Subject to the following paragraph [i.e., the fifth paragraph of pre-AIA 35 U.S.C. 112], a claim in dependent form shall contain a reference to a claim previously set forth and then specify a further limitation of the subject matter claimed. A claim in dependent form shall be construed to incorporate by reference all the limitations of the claim to which it refers.
Claims 38 and 39 rejected under 35 U.S.C. 112(d) or pre-AIA 35 U.S.C. 112, 4th paragraph, as being of improper dependent form for failing to further limit the subject matter of the claim upon which it depends, or for failing to include all the limitations of the claim upon which it depends. Claims 38 and 39 depend from a cancelled claim. Applicant may cancel the claim(s), amend the claim(s) to place the claim(s) in proper dependent form, rewrite the claim(s) in independent form, or present a sufficient showing that the dependent claim(s) complies with the statutory requirements.
For purposes of applying art, the Examiner will interpret claims 38 and 39 as being dependent upon claim 34.
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) 21-17, 31, 32, 34-37 and 40 is/are rejected under 35 U.S.C. 103 as being unpatentable over KHAN (U.S. Patent Application Publication #2017/0091127) in view of NAKASHITA (U.S. Patent Application Publication #2016/0307585).
21. KHAN discloses A storage device comprising: a content memory (see [0017]: one or more memory dies in the storage device to store data); a device memory (see NAKASHITA below); and processing circuitry (see [0040]: acceleration logic, which can be and FPGA or ASIC); the processing circuitry configured to: execute an application (see [0040]: execution of certain storage related tasks) stored on the device memory (see NAKASHITA below); process content for storage based on the execution of the application (see [0040]: tasks that include encryption, decryption, compression, etc are all considered processing content); and store the content on the content memory (see [0040]: encryption of data written to memory dies, this would result in storing the content on the content memory).
KHAN discloses the circuity in the storage device executes firmware. KHAN fails to explicitly disclose a device memory and executing an application stored on the device memory. NAKASHITA discloses loading firmware from an NVRAM for a storage controller to use during operation of the storage device. Firmware would be the application, and the NVRAM that stores the firmware would be the device memory. There are a limited number of well known options for storing firmware used by a device. “When there is a design need for market pressure to solve a problem and there are a finite number if identified, predictable solutions, a person of ordinary skill has good reason to pursue the known options within his or her technical grasp." KSR, 82 USPQ2d at 1397.
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 KHAN to include an NVRAM for storing firmware, as disclosed by NAKASHITA. One of ordinary skill in the art would have been motivated to make such a modification as this would be obvious to try, based on NAKASHITA. KHAN and NAKASHITA are analogous/in the same field of endeavor as both references are storage devices that include a storage controller executing firmware.
22. The storage device of claim 21 wherein the processing circuitry is configured to: read the content from the content memory; and process the content for transfer based on the execution of the application (see KHAN [0040]: read content and perform decryption).
23. The storage device of claim 21 wherein the processing circuitry is configured to: compress the content for storage based on the execution of the application; and store the compressed content on the content memory (see KHAN [0040]: compression of data written to the memory dies).
24. The storage device of claim 23 wherein the processing circuitry is configured to: read the compressed content from the content memory; and decompress the compressed content for transfer based on the execution of the application (see KHAN [0040]: decompression of data read).
25. The storage device of claim 21 wherein the processing circuitry is configured to: encrypt the content for storage based on the execution of the application; and store the encrypted content on the content memory (see KHAN [0040]: encryption of data written to memory dies).
26. The storage device of claim 25 wherein the processing circuitry is configured to: read the encrypted content from the content memory; and decrypt the encrypted content for transfer based on the execution of the application (see KHAN [0040]: decryption of data read from memory dies).
27. The storage device of claim 21 wherein the processing circuitry is configured to: identify a portion of the content stored on the content memory that corresponds to a search criterion; read the portion of the content from the content memory; and process the portion of the content for transfer based on the execution of the application (see KHAN [0040]: execution of a search string associated with data stored in memory dies).
31. The storage device of claim 21 wherein the processing circuitry is configured to: process the content for storage to enforce a storage density based on the execution of the application; and store the content at the storage density on the content memory (see KHAN [0040]: compression and decompression modify the storage density of the data).
32. The storage device of claim 21 wherein: the content memory comprises one of a disk memory or solid-state memory (see KHAN [0024]: NAND memory); and the device memory comprises another solid-state memory (see NAKASHITA [0050]: NVRAM).
34. KHAN discloses A method of operating a storage device, the method comprising: executing an application (see [0040]: execution of certain storage related tasks) stored on a device memory of the storage device (see NAKASHITA below); processing content for storage based on the execution of the application (see [0040]: tasks that include encryption, decryption, compression, etc are all considered processing content); storing the content on a content memory of the storage device (see [0040]: encryption of data written to memory dies, this would result in storing the content on the content memory); reading the content from the content memory; and processing the content for transfer based on the execution of the application (see KHAN [0040]: read content and perform decryption).
KHAN discloses the circuity in the storage device executes firmware. KHAN fails to explicitly disclose a device memory and executing an application stored on the device memory. NAKASHITA discloses loading firmware from an NVRAM for a storage controller to use during operation of the storage device. Firmware would be the application, and the NVRAM that stores the firmware would be the device memory. There are a limited number of well known options for storing firmware used by a device. “When there is a design need for market pressure to solve a problem and there are a finite number if identified, predictable solutions, a person of ordinary skill has good reason to pursue the known options within his or her technical grasp." KSR, 82 USPQ2d at 1397.
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 KHAN to include an NVRAM for storing firmware, as disclosed by NAKASHITA. One of ordinary skill in the art would have been motivated to make such a modification as this would be obvious to try, based on NAKASHITA. KHAN and NAKASHITA are analogous/in the same field of endeavor as both references are storage devices that include a storage controller executing firmware.
35. The method of claim 34 wherein: processing the content for storage comprising compressing the content for storage based on the execution of the application; storing the content comprises storing the compressed content on the content memory (see KHAN [0040]: compression of data written to the memory dies); reading the content comprises reading the compressed content from the content memory; and processing the content for transfer comprises decompressing the compressed content for transfer based on the execution of the application (see KHAN [0040]: decompression of data read).
36. The method of claim 34 wherein: processing the content for storage comprising encrypting the content for storage based on the execution of the application; storing the content comprises storing the encrypted content on the content memory (see KHAN [0040]: encryption of data written to memory dies); reading the content comprises reading the encrypted content from the content memory; and processing the content for transfer comprises decrypting the encrypted content for transfer based on the execution of the application (see KHAN [0040]: decryption of data read from memory dies).
37. The method of claim 34 further comprising: identifying a portion of the content stored on the content memory that corresponds to a search criterion; and wherein: reading the content comprises reading the portion of the content from the content memory; and processing the content for transfer comprises processing the portion of the content for transfer based on the execution of the application (see KHAN [0040]: execution of a search string associated with data stored in memory dies).
40. KHAN discloses One or more non-transitory computer readable storage media having program instructions stored thereon to operate a storage device (see [0077]: computer-readable medium), wherein the program instructions, when executed by processing circuitry (see [0040]: acceleration logic, which can be and FPGA or ASIC), direct the processing circuitry to perform operations, the operations comprising: processing content for storage (see [0040]: tasks that include encryption, decryption, compression, etc are all considered processing content) based on execution of an application (see [0040]: execution of certain storage related tasks) stored on a device memory of the storage device (see NAKASHITA below); storing the content on a content memory of the storage device (see [0040]: encryption of data written to memory dies, this would result in storing the content on the content memory); reading the content from the content memory; and processing the content for transfer based on the execution of the application (see KHAN [0040]: read content and perform decryption).
KHAN discloses the circuity in the storage device executes firmware. KHAN fails to explicitly disclose a device memory and executing an application stored on the device memory. NAKASHITA discloses loading firmware from an NVRAM for a storage controller to use during operation of the storage device. Firmware would be the application, and the NVRAM that stores the firmware would be the device memory. There are a limited number of well known options for storing firmware used by a device. “When there is a design need for market pressure to solve a problem and there are a finite number if identified, predictable solutions, a person of ordinary skill has good reason to pursue the known options within his or her technical grasp." KSR, 82 USPQ2d at 1397.
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 KHAN to include an NVRAM for storing firmware, as disclosed by NAKASHITA. One of ordinary skill in the art would have been motivated to make such a modification as this would be obvious to try, based on NAKASHITA. KHAN and NAKASHITA are analogous/in the same field of endeavor as both references are storage devices that include a storage controller executing firmware.
Claim(s) 28, 29 and 38 is/are rejected under 35 U.S.C. 103 as being unpatentable over KHAN (U.S. Patent Application Publication #2017/0091127) and NAKASHITA (U.S. Patent Application Publication #2016/0307585) as applied to claims 21-17, 31, 32, 34-37 and 40 above, and further in view of BATWARA (U.S. Patent #9,519,647).
28. The storage device of claim 21 (see KHAN above) wherein the processing circuitry is configured to process the content for storage to enforce a content validity period based on the execution of the application (see BATWARA below).
BATWARA discloses the following limitations that are not disclosed by KHAN: the processing circuitry is configured to process the content for storage to enforce a content validity period based on the execution of the application (see column 11, line 57 through column 12, line 27: client can define a data expiration period, this would be considered a content validity period). Allowing the client to define an expiration period reduces I/O for the non-volatile memory device (see column 12, lines 29-33).
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 KHAN to enforce a content validity period, as disclosed by BATWARA. One of ordinary skill in the art would have been motivated to make such a modification to reduce I/O for the non-volatile memory device, as taught by BATWARA. KHAN and BATWARA are analogous/in the same field of endeavor as both references are directed to storage managing data on a storage device.
29. The storage device of claim 28 wherein the processing circuitry is configured to process the content for transfer to enforce the content validity period based on the execution of the application (see BATWARA column 11, lines 55-65: removing, deleting, erasing and trimming would result in moving the data off the storage device).
38. The method of claim 1 (see KHAN above) wherein: processing the content for storage comprising processing the content for storage to enforce a content validity period based on the execution of the application; and processing the content for transfer comprises processing the content for transfer to enforce the content validity period based on the execution of the application (see BATWARA below).
BATWARA discloses the following limitations that are not disclosed by KHAN: the processing circuitry is configured to process the content for storage to enforce a content validity period based on the execution of the application (see column 11, line 57 through column 12, line 27: client can define a data expiration period, this would be considered a content validity period). Allowing the client to define an expiration period reduces I/O for the non-volatile memory device (see column 12, lines 29-33).
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 KHAN to enforce a content validity period, as disclosed by BATWARA. One of ordinary skill in the art would have been motivated to make such a modification to reduce I/O for the non-volatile memory device, as taught by BATWARA. KHAN and BATWARA are analogous/in the same field of endeavor as both references are directed to storage managing data on a storage device.
Claim(s) 30 and 39 is/are rejected under 35 U.S.C. 103 as being unpatentable over KHAN (U.S. Patent Application Publication #2017/0091127) and NAKASHITA (U.S. Patent Application Publication #2016/0307585) as applied to claims 21-17, 31, 32, 34-37 and 40 above, and further in view of GERHART (U.S. Patent Application Publication #2017/0177438).
30. The storage device of claim 21 (see KHAN above) wherein the processing circuitry is configured to process the content for storage to enforce a storage error robustness based on the execution of the application (see GERHART below).
GERHART discloses the following limitations that are not disclosed by KHAN: the processing circuitry is configured to process the content for storage to enforce a storage error robustness based on the execution of the application (see [0028]: selectively apply data protection to data stored in the storage device). Data protection allows the controller to detect and correct errors and improve the performance and efficiency of the storage device (see [0028]).
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 KHAN to enforce a storage error robustness, as disclosed by GERHART. One of ordinary skill in the art would have been motivated to make such a modification to improve the efficiency and performance of the storage device, as taught by GERHART. REF and REF are analogous/in the same field of endeavor as both references are directed to managing data on a storage device.
39. The method of claim 1 (see KHAN above) wherein: processing the content for storage comprising process the content for storage to enforce a storage density for an error robustness based on the execution of the application; and storing the content comprises storing the content at the storage density for the error robustness on the content memory (see GERHART below).
GERHART discloses the following limitations that are not disclosed by KHAN: the processing circuitry is configured to process the content for storage to enforce a storage error robustness based on the execution of the application (see [0028]: selectively apply data protection to data stored in the storage device). Data protection allows the controller to detect and correct errors and improve the performance and efficiency of the storage device (see [0028]).
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 KHAN to enforce a storage error robustness, as disclosed by GERHART. One of ordinary skill in the art would have been motivated to make such a modification to improve the efficiency and performance of the storage device, as taught by GERHART. REF and REF are analogous/in the same field of endeavor as both references are directed to managing data on a storage device.
Claim(s) 33 is/are rejected under 35 U.S.C. 103 as being unpatentable over KHAN (U.S. Patent Application Publication #2017/0091127) and NAKASHITA (U.S. Patent Application Publication #2016/0307585) as applied to claims 21-17, 31, 32, 34-37 and 40 above, and further in view of CHADHA (U.S. Patent Application Publication #2015/0113092).
33. The storage device of claim 21 (see KHAN above) wherein the processing circuitry is further configured to: receive the application from a user device; and load to the application to the device memory (see CHADHA below).
CHADHA discloses the following limitations that are not disclosed by KHAN: the processing circuitry is further configured to: receive the application from a user device; and load to the application to the device memory (see [0025]: an application installed at a serve migrates operations to the storage device). This can decrease access and execution time when performing operations on data in a storage device (see [0004]).
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 KHAN to load an application from a host to the device memory, as disclosed by CHADHA. One of ordinary skill in the art would have been motivated to make such a modification to offload applications to the storage device to decrease access and execution time, as taught by CHADHA. KHAN and CHADHA are analogous/in the same field of endeavor as both references are directed to offloading processing to a storage device.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
POWELL [20178/0155713] discloses offloading a copy operation to a storage controller. [0071]
FETIK [2014/0020083] discloses a software defined storage controller that allows for adding additional functionality to the storage controller. [Abstract]
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, Hosain T Alam can be reached at 571-272-3978. 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 2132