Data storage device and method for reducing firmware update time and data processing system including the device

US9817652B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9817652-B2
Application numberUS-201514865415-A
CountryUS
Kind codeB2
Filing dateSep 25, 2015
Priority dateOct 30, 2014
Publication dateNov 14, 2017
Grant dateNov 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data storage device for reducing a firmware update time includes a non-volatile memory configured to store a firmware update image which will replace a current firmware image, a first volatile memory, and a processor configured to control an operation of the non-volatile memory and an operation of the first volatile memory. When a first code included in the current firmware image is executed by the processor, the first code generates data necessary for an operation of the data storage device and stores the data in the first volatile memory. When a second code included in the firmware update image is executed by the first code, the second code accesses and uses the data that has been stored in the first volatile memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A data storage device comprising: a non-volatile memory configured to store a firmware update image which will replace a current firmware image; a first volatile memory; and a processor configured to control an operation of the non-volatile memory and an operation of the first volatile memory, wherein: when a first code included in the current firmware image is executed by the processor, the first code generates data for an operation of the data storage device and then directly stores the data generated by the first code in the first volatile memory; when a second code included in the firmware update image is executed by the first code, the second code accesses the data that has been stored in the first volatile memory and controls the operation of the data storage device using the data; and the data comprises mapping data for mapping a logical address to a physical address or data about an error occurring during an access operation on the non-volatile memory. 2. The data storage device of claim 1 , wherein the first code transmits the data stored in the first volatile memory to the non-volatile memory. 3. The data storage device of claim 1 , wherein the first code does not transmit the data stored in the first volatile memory to the non-volatile memory. 4. The data storage device of claim 1 , wherein the first code stores the firmware update image in the non-volatile memory to update the current firmware image with the firmware update image. 5. The data storage device of claim 1 , wherein: the first code stores the firmware update image in a second volatile memory; and when the second code stored in the second volatile memory is executed by the first code, the second code stores the firmware update image, which has been stored in the second volatile memory, in the non-volatile memory to update the current firmware image with the firmware update image. 6. The data storage device of claim 1 , wherein: when the firmware update image is received, the first code generates context information and stores the context information in the first volatile memory and the second code accesses the data stored in the first volatile memory using the context information stored in the first volatile memory and uses the data, and the context information comprises a first meta version of the current firmware image; and a physical address of a memory region storing the data in the first volatile memory is included in one among the context information, the second code, and second data accessed by the second code. 7. The data storage device of claim 6 , wherein: the second code compares the first meta version of the current firmware image with a second meta version of the firmware update image; and when the first meta version agrees with the second meta version, the second code accesses the data stored in the memory region using the physical address and uses the data. 8. The data storage device of claim 1 , wherein: when the firmware update image is received, the first code generates context information and stores the context information in the non-volatile memory and the second code loads the context information from the non-volatile memory to the first volatile memory, accesses the data using the context information, and uses the data, the context information comprises a first meta version of the current firmware image; and a physical address of a memory region storing the data in the first volatile memory is included in one among the context information, the second code, and second data accessed by the second code. 9. The data storage device of claim 1 , wherein the first volatile memory is random access memory (RAM) and the non-volatile memory is flash-based memory. 10. A method of updating firmware in a data storage device, the method comprising: generating data for an operation of the data storage device and then directly storing the generated data in a first volatile memory, using a first code included in a current firmware image being executed in the data storage device; receiving a firmware update image; updating the current firmware image with the firmware update image; accessing the data stored in the first volatile memory using a second code included in the firmware update image when the second code is executed by the first code; and controlling the operation of the data storage device using the second code and the data accessed by the second code, wherein the data maps a logical memory address to a physical memory address or is information of an error occurring in a non-volatile memory access. 11. The method of claim 10 , wherein the updating comprises storing the firmware update image, which has been received, in a non-volatile memory using the first code to enable the current firmware image to be updated with the firmware update image. 12. The method of claim 10 , wherein the updating comprises: storing the firmware update image in a second volatile memory using the first code; and storing the firmware update image, which has been stored in the second volatile memory, in a non-volatile memory using the second code executed by the first code. 13. A method, executed by a processor, of updating firmware in a data storage device, the method comprising: generating, by execution of a first program instruction of a current firmware image, data for operation of the data storage device and then directly storing the data generated in a volatile memory; updating the current firmware image with an update firmware image; accessing, by execution of a second program instruction of the update firmware image, the data stored in the volatile memory; and controlling, by the execution of second program instruction of the update firmware image, the operation of the data storage device using the data accessed, wherein: the execution of the second program instruction is performed by the execution of the first program instruction, and the data maps a logical memory address to a physical memory address or is information of an error occurring in a non-volatile memory access by the processor. 14. The method of claim 13 , further comprising: generating, by execution of the first program instruction, a first meta version of the current firmware image, and determining whether the second program instruction may access the data based upon an outcome of comparing the first meta version and a second meta version of the update firmware image. 15. The method of claim 14 , wherein the processor acquires the first meta version from the volatile memory by execution of the second program instruction. 16. The method of claim 14 , wherein the second program instruction causes the processor to acquire the first meta version from a nonvolatile memory. 17. The method of claim 13 , further comprising accessing the data while updating the current firmware image with the update firmware image.

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/654Primary

    using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title

  • Image based installation; Cloning; Build to order · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9817652B2 cover?
A data storage device for reducing a firmware update time includes a non-volatile memory configured to store a firmware update image which will replace a current firmware image, a first volatile memory, and a processor configured to control an operation of the non-volatile memory and an operation of the first volatile memory. When a first code included in the current firmware image is executed …
Who is the assignee on this patent?
Choi Sang Hoon, Kim Sung Chul, Kim Hyun Koo, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).