[go: up one dir, main page]

US20090094414A1 - Firmware Update for Storage Device - Google Patents

Firmware Update for Storage Device Download PDF

Info

Publication number
US20090094414A1
US20090094414A1 US12/333,320 US33332008A US2009094414A1 US 20090094414 A1 US20090094414 A1 US 20090094414A1 US 33332008 A US33332008 A US 33332008A US 2009094414 A1 US2009094414 A1 US 2009094414A1
Authority
US
United States
Prior art keywords
firmware
memory
update
storage device
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/333,320
Inventor
Chi-Chun Hsu
Wen-Yi Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to US12/333,320 priority Critical patent/US20090094414A1/en
Assigned to MEDIATEK INC. reassignment MEDIATEK INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HSU, CHI-CHUN, WU, WEN-YI
Publication of US20090094414A1 publication Critical patent/US20090094414A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present invention relates to a storage device (e.g., an optical disc drive) comprising a dedicated memory update controller for updating firmware of the storage device.
  • a storage device e.g., an optical disc drive
  • a dedicated memory update controller for updating firmware of the storage device.
  • An optical disc drive is a device for accessing information stored in an optical disc.
  • a processor of an optical disc drive controls operations of the optical disc drive through executing specific program codes.
  • the specific program codes are referred to as the firmware of the optical disc drive.
  • the optical disc drive's firmware includes all needed data, commands, instructions, programs, and all other information utilized by the optical disc drive.
  • the optical disc drive's firmware is always stored in a nonvolatile memory of the optical disc drive and needs to be updated if required.
  • a firmware update scheme of a system in a related art stores both the needed firmware information and an update routine code in a nonvolatile memory of an optical disc drive.
  • a processor of the optical disc drive executes the firmware stored in the nonvolatile memory to control operations of the optical disc drive.
  • the processor executes the update routine code to update the firmware stored in the nonvolatile memory.
  • This firmware update scheme requires additional update routine code.
  • the nonvolatile memory must provide additional space for storing the update routine code. Furthermore, additional time is required for the processor to update the firmware by executing the update routine.
  • an optical disc drive includes a system control chip, a buffer memory, and a flash memory.
  • the system control chip comprises a microprocessor and an additional memory.
  • the flash memory stores the optical disc drive's firmware
  • the additional memory of the system control chip stores ordinary information.
  • the microprocessor executes the firmware stored in the flash memory to control ordinary operations of the optical disc drive.
  • the additional memory of the system control chip stores an update routine code.
  • the microprocessor updates the firmware stored in the flash memory by a new version of firmware stored in the buffer memory.
  • the additional update routine code must be provided during firmware update.
  • the firmware update requires significant time.
  • a storage device having at least a normal operation mode and a firmware update mode.
  • the storage device includes: a firmware memory; a buffer memory; a processor electrically connected to the firmware memory, for controlling the storage device to fetch an update firmware and store the update firmware into the buffer memory when the storage device is under the normal operation mode; and a memory update controller electrically connected to the firmware memory and the buffer memory, for fetching the update firmware from the buffer memory and storing the update firmware into the firmware memory when the storage device is under the firmware update mode.
  • a firmware update method utilized in a storage device includes a firmware memory, a buffer memory, a processor, and a memory update controller.
  • the method includes: (a) controlling the storage device to fetch an update firmware and store the update firmware into the buffer memory with the processor; and (b) without utilizing the processor to execute an update routine code, utilizing the memory update controller to fetch the update firmware from the buffer memory and store the update firmware into the firmware memory.
  • FIG. 1 shows an optical disc drive according to an exemplary embodiment of the present invention.
  • FIG. 2 shows an embodiment of the memory update controller of FIG. 1 .
  • FIG. 3 , FIG. 4 , and FIG. 5 show flowcharts illustrating how the optical disc drive of FIG. 1 operates.
  • FIG. 1 shows an optical disc drive 100 according to an exemplary embodiment of the present invention.
  • the optical disc drive 100 includes a radio frequency (RF) circuit 110 , a buffer memory 120 , a firmware memory 130 , and a system control chip 140 .
  • the buffer memory 120 stores information retrieved from an optical disc 102 or information to be recorded into the optical disc 102 .
  • the buffer memory 120 can be a volatile memory, such as a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM).
  • the firmware memory 130 stores firmware.
  • the firmware memory 130 can be a nonvolatile memory, such as a flash memory, an electrical erasable programmable read only memory (EEPROM), or a serial flash memory.
  • EEPROM electrical erasable programmable read only memory
  • the system control chip 140 includes a memory update controller 142 , a processor 144 , a decoder 146 , and a controller 148 .
  • the processor 144 can be a microprocessor or an embedded processor.
  • a data bus 141 interconnects the memory update controller 142 , the processor 144 , the decoder 146 , and the controller 148 .
  • the data bus 141 can also be set external to the system control chip 140 .
  • the system control chip 140 connects to an optional computer 106 through a main board interface 104 .
  • the main board interface 104 can be an integrated drive electronics (IDE) interface, a small computer system interface (SCSI interface), a serial advanced technology attachment (SATA) interface, or any other functionally similar interfaces.
  • IDE integrated drive electronics
  • SCSI interface small computer system interface
  • SATA serial advanced technology attachment
  • the optical disc drive 100 of this embodiment has a normal operation mode and a firmware update mode.
  • the memory update controller 142 is in an idle state.
  • the processor 144 accesses the firmware stored in the firmware memory 130 .
  • the processor 144 controls ordinary operations of the optical disc drive 100 by executing the firmware stored in the firmware memory 130 .
  • the processor 144 controls the optical disc drive 100 to fetch an update firmware, e.g. from the optical disc 102 , and store the update firmware into the buffer memory 120 in the same manner as if the update firmware is ordinary information.
  • the update firmware can also be stored in the buffer memory 120 with a specific format, such as a table of content (TOC) format.
  • TOC table of content
  • the optical disc drive 100 After the update firmware is retrieved and stored into the buffer memory 120 , the optical disc drive 100 enters the firmware update mode. Under the firmware update mode, the processor 144 is in an idle state; the memory update controller 142 becomes a dedicated hardware for updating the firmware. Without utilizing the processor 144 to execute an update routine code, the memory update controller 142 fetches the update firmware from the buffer memory 120 (e.g., through the decoder 146 ), and updates the firmware memory 130 .
  • the processor 144 initializes the optical disc drive 100 . After the initialization process is finished, the processor 144 enters a standby state to wait for commands from the computer 106 . If the system control chip 140 receives a read command, the processor 144 sends corresponding parameters and instructions to control the operations of the decoder 146 and the controller 148 . Data is retrieved from the optical disc 102 , decoded and corrected if necessary, and stored in the buffer memory 120 . The computer 106 then reads the data stored in the buffer memory 120 . During the read operation, the optical disc drive 100 is under the normal operation mode, and the memory update controller 142 remains in an idle state.
  • the processor 144 first controls the optical disc drive 100 to fetch an update firmware, e.g. from the optical disc 102 , and store the update firmware into the buffer memory 120 . Secondly, the processor 144 initializes the memory update controller 142 . This initialization process that is performed on the memory update controller 142 can alternatively be performed by the computer 106 or other external devices.
  • the information utilized in the initialization process may include, but is not limited to, a starting address of the update firmware in the buffer memory 120 , a size of the update firmware, and a target address of the firmware memory 130 . If there does exist a fixed target address, the information utilized in the initialization process may also exclude the fixed target address of the firmware memory 130 .
  • the optical disc drive 100 enters the firmware update mode
  • the processor 144 enters the idle state
  • the memory update controller 142 begins to update the firmware stored in the firmware memory 130 .
  • FIG. 2 is a diagram illustrating a relationship between the memory update controller 142 and the firmware memory 130 .
  • the memory update controller 142 includes a direct memory access (DMA) unit 201 and a dedicated memory update unit 202 .
  • the DMA unit 201 fetches the update firmware from the buffer memory 120 (e.g., through the decoder 146 ) in sequence and sends the fetched update firmware to the dedicated memory update unit 202 .
  • the dedicated memory update unit 202 then stores the update firmware received from the DMA unit 201 into the firmware memory 130 . Additionally, a small FIFO may be placed between the DMA unit 201 and the dedicated memory update unit 202 .
  • the firmware memory 130 is a flash memory.
  • there exist multiple methods to update the firmware stored in the firmware memory 130 One is to update the firmware memory 130 in a byte-by-byte manner, and the other is to update the firmware memory 130 in a page-by-page manner. Each page includes 128 bytes of memory space.
  • the memory update controller 142 is performing the firmware update, the update firmware stored in the buffer memory 120 is treated as ordinary data.
  • the firmware memory 130 can send an indication flag to the data bus 141 to report its status.
  • the dedicated memory update unit 202 examines the indication flag to determine whether each piece of data is correctly stored into the firmware memory 130 . Once the entire update firmware in the buffer memory 120 is correctly stored into the firmware memory 130 , the firmware update is completed.
  • the memory update controller 142 may dispatch a reset signal to reset the processor 144 and switch the optical disc drive 100 back to the normal operation mode.
  • FIGS. 3-5 show flowcharts illustrating the operations of the optical disc drive 100 .
  • the computer 106 is reset.
  • the computer 106 sends instructions to the processor 144 to make the processor 144 reinitialize the optical disc drive 100 (step 310 ).
  • the processor 144 continues to determine whether there is a request for firmware update (step 321 ).
  • the firmware update can be instructed in several ways, for example, by a user through a dedicated user interface or by the computer 106 through the main board interface 104 .
  • the optical disc drive 100 goes to step 322 ; otherwise, the optical disc drive 100 goes to step 340 to perform ordinary operations, such as accessing the optical disc 102 .
  • step 322 the firmware of the optical disc drive 100 is updated.
  • This step can be further divided into two parts, shown in FIGS. 4 and 5 , respectively. The first part is under the normal operation mode and the second part is under the firmware update mode.
  • step 410 of FIG. 4 the processor 144 executes the firmware stored in the firmware memory 130 to control the optical disc drive 100 to fetch the update firmware, e.g. from the optical disc 102 , and store the update firmware into the buffer memory 120 .
  • step 411 the processor 144 initializes the memory update controller 142 . More specifically, the processor 144 sets related information, such as the starting address of the update firmware in the buffer memory 120 , the size of the update firmware, and the destination address in the firmware memory 130 , into registers of the memory update controller 142 .
  • step 430 the optical disc drive 100 enters the firmware update mode.
  • the memory update controller 142 updates the firmware stored in the firmware memory 130 .
  • the processor 144 then enters the idle state.
  • step 500 the DMA unit 201 fetches the update firmware from the buffer memory 120 in a byte-by-byte manner or a page-by-page manner.
  • the DMA unit 201 then sends the fetched update firmware and address information to the dedicated memory update unit 202 .
  • step 510 the dedicated memory update unit 202 converts the received update firmware and address information into a format conforming to an update protocol adopted by the firmware memory 130 .
  • step 520 updates the firmware memory 130 .
  • Step 520 checks whether the firmware update was completed within a certain time constraint. It is considered that the firmware update is failed if the firmware update is not completed within the time constraint.
  • the optical disc drive 100 goes to step 530 to indicate the failure of the firmware update.
  • the optical disc drive 100 goes to step 540 if the firmware update is finished within the time constraint.
  • Step 530 can be implemented utilizing a counter as an auxiliary tool.
  • Step 540 determines whether the entire update firmware stored in the buffer memory 120 has been written into the firmware memory 130 .
  • the firmware update is considered finished if the entire update firmware stored in the buffer memory 120 was written into the firmware memory 130 .
  • step 310 of FIG. 3 is executed next.
  • the optical disc drive 100 enters the normal operation mode, the memory update controller 142 enters the idle state, and the processor 144 reinitializes the optical disc drive 100 .
  • step 340 the processor 144 controls ordinary operations of the optical disc drive 100 by executing the renewed firmware stored in the firmware memory 130 .
  • the memory update controller 142 proceeds with step 500 to process a subsequent byte (or a subsequent page) of the update firmware.
  • the present invention does not require an additional update routine code or the additional memory space for storing the additional update routine code. Furthermore, since the memory update controller is utilized to update firmware of the optical disc drive without utilizing the processor to execute an update routine code, the firmware update is faster than that of the related art.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Optical Recording Or Reproduction (AREA)

Abstract

A storage device includes a firmware memory, a buffer memory, a processor and a memory update controller. When the storage device is under a normal mode, the memory update controller is in an idle state. The processor controls the storage device to fetch an update firmware and store the update firmware into the buffer memory. When the storage device is under a firmware update mode, the processor is in an idle state. The memory update controller fetches the update firmware from the buffer memory and stores the update firmware into the firmware memory without the processor executing an update routine code.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This continuation application claims the benefit of co-pending U.S. patent application Ser. No. 10/907,949, which filed on Apr. 21, 2005 and included herein by reference.
  • BACKGROUND
  • The present invention relates to a storage device (e.g., an optical disc drive) comprising a dedicated memory update controller for updating firmware of the storage device.
  • An optical disc drive is a device for accessing information stored in an optical disc. A processor of an optical disc drive controls operations of the optical disc drive through executing specific program codes. The specific program codes are referred to as the firmware of the optical disc drive. The optical disc drive's firmware includes all needed data, commands, instructions, programs, and all other information utilized by the optical disc drive. The optical disc drive's firmware is always stored in a nonvolatile memory of the optical disc drive and needs to be updated if required.
  • A firmware update scheme of a system in a related art stores both the needed firmware information and an update routine code in a nonvolatile memory of an optical disc drive. Under a normal operation mode, a processor of the optical disc drive executes the firmware stored in the nonvolatile memory to control operations of the optical disc drive. Under a firmware update mode, the processor executes the update routine code to update the firmware stored in the nonvolatile memory. This firmware update scheme requires additional update routine code. The nonvolatile memory must provide additional space for storing the update routine code. Furthermore, additional time is required for the processor to update the firmware by executing the update routine.
  • U.S. Pat. No. 6,170,043 discloses another firmware update scheme for optical disc drives. According to this patent, an optical disc drive includes a system control chip, a buffer memory, and a flash memory. The system control chip comprises a microprocessor and an additional memory. Under a normal operation mode, the flash memory stores the optical disc drive's firmware, and the additional memory of the system control chip stores ordinary information. The microprocessor executes the firmware stored in the flash memory to control ordinary operations of the optical disc drive. Under a firmware update mode, the additional memory of the system control chip stores an update routine code. The microprocessor updates the firmware stored in the flash memory by a new version of firmware stored in the buffer memory. The additional update routine code must be provided during firmware update. The firmware update requires significant time.
  • U.S. Pat. No. 6,523,083 discloses another firmware update method. Unfortunately, this firmware update method needs an additional host device.
  • SUMMARY OF THE INVENTION
  • According to the claimed invention, a storage device having at least a normal operation mode and a firmware update mode is disclosed. The storage device includes: a firmware memory; a buffer memory; a processor electrically connected to the firmware memory, for controlling the storage device to fetch an update firmware and store the update firmware into the buffer memory when the storage device is under the normal operation mode; and a memory update controller electrically connected to the firmware memory and the buffer memory, for fetching the update firmware from the buffer memory and storing the update firmware into the firmware memory when the storage device is under the firmware update mode.
  • According to the claimed invention, a firmware update method utilized in a storage device is disclosed. The storage device includes a firmware memory, a buffer memory, a processor, and a memory update controller. The method includes: (a) controlling the storage device to fetch an update firmware and store the update firmware into the buffer memory with the processor; and (b) without utilizing the processor to execute an update routine code, utilizing the memory update controller to fetch the update firmware from the buffer memory and store the update firmware into the firmware memory.
  • These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows an optical disc drive according to an exemplary embodiment of the present invention.
  • FIG. 2 shows an embodiment of the memory update controller of FIG. 1.
  • FIG. 3, FIG. 4, and FIG. 5 show flowcharts illustrating how the optical disc drive of FIG. 1 operates.
  • DETAILED DESCRIPTION
  • FIG. 1 shows an optical disc drive 100 according to an exemplary embodiment of the present invention. In this embodiment, the optical disc drive 100 includes a radio frequency (RF) circuit 110, a buffer memory 120, a firmware memory 130, and a system control chip 140. The buffer memory 120 stores information retrieved from an optical disc 102 or information to be recorded into the optical disc 102. The buffer memory 120 can be a volatile memory, such as a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM). The firmware memory 130 stores firmware. The firmware memory 130 can be a nonvolatile memory, such as a flash memory, an electrical erasable programmable read only memory (EEPROM), or a serial flash memory.
  • The system control chip 140 includes a memory update controller 142, a processor 144, a decoder 146, and a controller 148. The processor 144 can be a microprocessor or an embedded processor. A data bus 141 interconnects the memory update controller 142, the processor 144, the decoder 146, and the controller 148. The data bus 141 can also be set external to the system control chip 140. In addition to controlling the RF circuit 110 to access the optical disc 102, the system control chip 140 connects to an optional computer 106 through a main board interface 104. The main board interface 104 can be an integrated drive electronics (IDE) interface, a small computer system interface (SCSI interface), a serial advanced technology attachment (SATA) interface, or any other functionally similar interfaces.
  • The optical disc drive 100 of this embodiment has a normal operation mode and a firmware update mode. When the optical disc drive 100 is under the normal operation mode, the memory update controller 142 is in an idle state. Through the data bus 141, the processor 144 accesses the firmware stored in the firmware memory 130. The processor 144 controls ordinary operations of the optical disc drive 100 by executing the firmware stored in the firmware memory 130. When a firmware update is required, the processor 144 controls the optical disc drive 100 to fetch an update firmware, e.g. from the optical disc 102, and store the update firmware into the buffer memory 120 in the same manner as if the update firmware is ordinary information. The update firmware can also be stored in the buffer memory 120 with a specific format, such as a table of content (TOC) format. After the update firmware is retrieved and stored into the buffer memory 120, the optical disc drive 100 enters the firmware update mode. Under the firmware update mode, the processor 144 is in an idle state; the memory update controller 142 becomes a dedicated hardware for updating the firmware. Without utilizing the processor 144 to execute an update routine code, the memory update controller 142 fetches the update firmware from the buffer memory 120 (e.g., through the decoder 146), and updates the firmware memory 130.
  • For example, every time the computer 106 is turned on or reset, the processor 144 initializes the optical disc drive 100. After the initialization process is finished, the processor 144 enters a standby state to wait for commands from the computer 106. If the system control chip 140 receives a read command, the processor 144 sends corresponding parameters and instructions to control the operations of the decoder 146 and the controller 148. Data is retrieved from the optical disc 102, decoded and corrected if necessary, and stored in the buffer memory 120. The computer 106 then reads the data stored in the buffer memory 120. During the read operation, the optical disc drive 100 is under the normal operation mode, and the memory update controller 142 remains in an idle state.
  • During the firmware update, the processor 144 first controls the optical disc drive 100 to fetch an update firmware, e.g. from the optical disc 102, and store the update firmware into the buffer memory 120. Secondly, the processor 144 initializes the memory update controller 142. This initialization process that is performed on the memory update controller 142 can alternatively be performed by the computer 106 or other external devices. The information utilized in the initialization process may include, but is not limited to, a starting address of the update firmware in the buffer memory 120, a size of the update firmware, and a target address of the firmware memory 130. If there does exist a fixed target address, the information utilized in the initialization process may also exclude the fixed target address of the firmware memory 130. After the initialization process is finished, the optical disc drive 100 enters the firmware update mode, the processor 144 enters the idle state, and the memory update controller 142 begins to update the firmware stored in the firmware memory 130.
  • FIG. 2 is a diagram illustrating a relationship between the memory update controller 142 and the firmware memory 130. In FIG. 2, the memory update controller 142 includes a direct memory access (DMA) unit 201 and a dedicated memory update unit 202. The DMA unit 201 fetches the update firmware from the buffer memory 120 (e.g., through the decoder 146) in sequence and sends the fetched update firmware to the dedicated memory update unit 202. The dedicated memory update unit 202 then stores the update firmware received from the DMA unit 201 into the firmware memory 130. Additionally, a small FIFO may be placed between the DMA unit 201 and the dedicated memory update unit 202.
  • For example, consider that the firmware memory 130 is a flash memory. In this example, there exist multiple methods to update the firmware stored in the firmware memory 130. One is to update the firmware memory 130 in a byte-by-byte manner, and the other is to update the firmware memory 130 in a page-by-page manner. Each page includes 128 bytes of memory space. When the memory update controller 142 is performing the firmware update, the update firmware stored in the buffer memory 120 is treated as ordinary data. When each piece of data is being stored into the firmware memory 130, the firmware memory 130 can send an indication flag to the data bus 141 to report its status. The dedicated memory update unit 202 examines the indication flag to determine whether each piece of data is correctly stored into the firmware memory 130. Once the entire update firmware in the buffer memory 120 is correctly stored into the firmware memory 130, the firmware update is completed. The memory update controller 142 may dispatch a reset signal to reset the processor 144 and switch the optical disc drive 100 back to the normal operation mode.
  • FIGS. 3-5 show flowcharts illustrating the operations of the optical disc drive 100. Please refer to FIG. 3. In step 300, the computer 106 is reset. Next, the computer 106 sends instructions to the processor 144 to make the processor 144 reinitialize the optical disc drive 100 (step 310). After the optical disc drive 100 is reinitialized, the processor 144 continues to determine whether there is a request for firmware update (step 321). The firmware update can be instructed in several ways, for example, by a user through a dedicated user interface or by the computer 106 through the main board interface 104. When there is a request for firmware update, the optical disc drive 100 goes to step 322; otherwise, the optical disc drive 100 goes to step 340 to perform ordinary operations, such as accessing the optical disc 102.
  • In step 322, the firmware of the optical disc drive 100 is updated. This step can be further divided into two parts, shown in FIGS. 4 and 5, respectively. The first part is under the normal operation mode and the second part is under the firmware update mode.
  • In step 410 of FIG. 4, the processor 144 executes the firmware stored in the firmware memory 130 to control the optical disc drive 100 to fetch the update firmware, e.g. from the optical disc 102, and store the update firmware into the buffer memory 120. Next, in step 411, the processor 144 initializes the memory update controller 142. More specifically, the processor 144 sets related information, such as the starting address of the update firmware in the buffer memory 120, the size of the update firmware, and the destination address in the firmware memory 130, into registers of the memory update controller 142. Next, in step 430, the optical disc drive 100 enters the firmware update mode. The memory update controller 142 updates the firmware stored in the firmware memory 130. The processor 144 then enters the idle state.
  • In step 500, the DMA unit 201 fetches the update firmware from the buffer memory 120 in a byte-by-byte manner or a page-by-page manner. The DMA unit 201 then sends the fetched update firmware and address information to the dedicated memory update unit 202. In step 510, the dedicated memory update unit 202 converts the received update firmware and address information into a format conforming to an update protocol adopted by the firmware memory 130. Finally, the dedicated memory update unit 202 updates the firmware memory 130. Step 520 checks whether the firmware update was completed within a certain time constraint. It is considered that the firmware update is failed if the firmware update is not completed within the time constraint. The optical disc drive 100 goes to step 530 to indicate the failure of the firmware update. The optical disc drive 100 goes to step 540 if the firmware update is finished within the time constraint. Step 530 can be implemented utilizing a counter as an auxiliary tool. Step 540 determines whether the entire update firmware stored in the buffer memory 120 has been written into the firmware memory 130. The firmware update is considered finished if the entire update firmware stored in the buffer memory 120 was written into the firmware memory 130. In this case, step 310 of FIG. 3 is executed next. The optical disc drive 100 enters the normal operation mode, the memory update controller 142 enters the idle state, and the processor 144 reinitializes the optical disc drive 100. Finally, in step 340, the processor 144 controls ordinary operations of the optical disc drive 100 by executing the renewed firmware stored in the firmware memory 130. In the event where step 540 determines that the firmware update is not finished, the memory update controller 142 proceeds with step 500 to process a subsequent byte (or a subsequent page) of the update firmware.
  • In contrast to the related art, the present invention does not require an additional update routine code or the additional memory space for storing the additional update routine code. Furthermore, since the memory update controller is utilized to update firmware of the optical disc drive without utilizing the processor to execute an update routine code, the firmware update is faster than that of the related art.
  • Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.

Claims (21)

1. A storage device having a normal operation mode and a firmware update mode, the storage device comprising:
a firmware memory;
a buffer memory;
a processor electrically connected to the firmware memory, for controlling the storage device to fetch an update firmware and store the update firmware into the buffer memory when the storage device is under the normal operation mode; and
a memory update controller electrically connected to the firmware memory and the buffer memory, for fetching the update firmware from the buffer memory and storing the update firmware into the firmware memory when the storage device is under the firmware update mode without the processor executing an update routine code for updating firmware stored in the firmware memory.
2. The storage device of claim 1, wherein the processor controls the storage device to fetch the update firmware from an optical disc.
3. The storage device of claim 1, wherein the memory update controller comprises:
a direct memory access (DMA) unit electrically connected to the buffer memory, for fetching the update firmware from the buffer memory; and
a dedicated memory update unit electrically connected to the DMA unit and the firmware memory, for receiving the update firmware from the DMA unit and storing the update firmware into the firmware memory.
4. The storage device of claim 1, wherein when the storage device is under the normal operation mode, the processor executes the firmware stored in the firmware memory to control operations of the storage device.
5. The storage device of claim 1, wherein when the storage device is under the firmware update mode, the processor is in an idle state; and when the storage device is under the normal operation mode, the memory update controller is in an idle state.
6. The storage device of claim 1, wherein the processor and the memory update controller are set in a system control chip of the storage device.
7. The storage device of claim 1, wherein the firmware memory is a flash memory, an electrical erasable programmable read only memory (EEPROM), or a serial flash memory.
8. The storage device of claim 1, wherein the buffer memory is a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM).
9. A system control chip utilized in a storage device, for updating firmware of the storage device, the system control chip comprising:
a processor electrically connected to a firmware memory of the storage device, the firmware memory being for storing firmware of the storage device;
a controller electrically connected to the processor, for receiving a control signal and general data;
a decoder electrically connected to the processor, the controller, and a buffer memory of the storage device; and
a memory update controller electrically connected to the processor and the firmware memory, for receiving an update firmware and storing the update firmware into the firmware memory without the processor executing an update routine code for updating firmware stored in the firmware memory.
10. The system control chip of claim 9, wherein the memory update controller is further electrically connected to the decoder, and receives the update firmware from the decoder.
11. The system control chip of claim 10, wherein the memory update controller comprises:
a direct memory access (DMA) unit electrically connected to the decoder, for receiving the update firmware from the decoder; and
a dedicated memory update unit electrically connected to the DMA unit and the firmware memory, for receiving the update firmware from the DMA unit and storing the update firmware into the firmware memory.
12. The system control chip of claim 9, wherein the processor, the controller, the decoder, and the memory update controller are interconnected through a data bus.
13. The system control chip of claim 12, wherein the processor sets the memory update controller through the data bus.
14. The system control chip of claim 9, wherein the processor executes the firmware stored in the firmware memory to control operations of the decoder and the controller.
15. The system control chip of claim 9, wherein the firmware memory is a flash memory, an electrical erasable programmable read only memory (EEPROM), or a serial flash memory.
16. The system control chip of claim 9, wherein the buffer memory is a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM).
17. A firmware update method utilized in a storage device, the storage device comprising a firmware memory, a buffer memory, a processor, and a memory update controller, the firmware update method comprising:
(a) controlling the storage device to fetch an update firmware and store the update firmware into the buffer memory with the processor; and
(b) without utilizing the processor to execute an update routine code for updating firmware stored in the firmware memory, utilizing the memory update controller to fetch the update firmware from the buffer memory and store the update firmware into the firmware memory.
18. The firmware update method of claim 17, wherein step (a) controls the storage device to fetch the update firmware from an optical disc.
19. The firmware update method of claim 17, wherein:
step (a) further comprises controlling the memory update controller to be in an idle state; and
step (b) further comprises controlling the processor to be in an idle state.
20. The firmware update method of claim 17, wherein the firmware memory is a flash memory, an electrical erasable programmable read only memory (EEPROM), or a serial flash memory.
21. The firmware update method of claim 17, wherein the buffer memory is a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM).
US12/333,320 2004-09-16 2008-12-12 Firmware Update for Storage Device Abandoned US20090094414A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/333,320 US20090094414A1 (en) 2004-09-16 2008-12-12 Firmware Update for Storage Device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
TW093128050 2004-09-16
TW093128050A TWI259974B (en) 2004-09-16 2004-09-16 Optical disk drive capable of updating firmware and firmware updating method thereof
US10/907,949 US7480904B2 (en) 2004-09-16 2005-04-21 Firmware update for optical disc drive
US12/333,320 US20090094414A1 (en) 2004-09-16 2008-12-12 Firmware Update for Storage Device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/907,949 Continuation US7480904B2 (en) 2004-09-16 2005-04-21 Firmware update for optical disc drive

Publications (1)

Publication Number Publication Date
US20090094414A1 true US20090094414A1 (en) 2009-04-09

Family

ID=36035427

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/907,949 Expired - Lifetime US7480904B2 (en) 2004-09-16 2005-04-21 Firmware update for optical disc drive
US12/333,320 Abandoned US20090094414A1 (en) 2004-09-16 2008-12-12 Firmware Update for Storage Device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/907,949 Expired - Lifetime US7480904B2 (en) 2004-09-16 2005-04-21 Firmware update for optical disc drive

Country Status (2)

Country Link
US (2) US7480904B2 (en)
TW (1) TWI259974B (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282653A1 (en) * 2005-06-08 2006-12-14 Ping-Ying Chu Method for updating frimware of memory card
US20110197185A1 (en) * 2010-02-05 2011-08-11 Lenovo (Singapore) Pte, Ltd. Method and Apparatus for Updating Firmware on a Storage Device
US20110209134A1 (en) * 2010-02-22 2011-08-25 Ricoh Company, Ltd. Information processing apparatus
US20120096451A1 (en) * 2010-10-15 2012-04-19 Roche Diagnostics Operations, Inc. Firmware update in a medical device with multiple processors
US20120110562A1 (en) * 2010-10-27 2012-05-03 David Heinrich Synchronized firmware update
WO2012039971A3 (en) * 2010-09-22 2012-07-19 Intel Corporation Platform firmware armoring technology
WO2012087069A3 (en) * 2010-12-23 2012-10-04 Samsung Electronics Co., Ltd. Condensed fota backup
US20130086571A1 (en) * 2011-09-30 2013-04-04 International Business Machines Corporation Dynamically Updating Firmware In A Computing System
US8661429B2 (en) 2012-02-28 2014-02-25 Seagate Technology Llc Updating peripheral device firmware via a portable device
US11216269B2 (en) * 2020-01-09 2022-01-04 Dell Products L.P. Systems and methods for update of storage resource firmware
US20250045400A1 (en) * 2023-08-02 2025-02-06 Dell Products, L.P. Secure firmware updates in heterogeneous computing platforms

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI259974B (en) * 2004-09-16 2006-08-11 Mediatek Inc Optical disk drive capable of updating firmware and firmware updating method thereof
US8688933B2 (en) * 2006-08-31 2014-04-01 Hewlett-Packard Development Company, L.P. Firmware component modification
KR100849212B1 (en) * 2006-10-12 2008-07-31 삼성전자주식회사 Memory card and method for updating of memory card program
JP4940967B2 (en) * 2007-01-30 2012-05-30 富士通株式会社 Storage system, storage device, firmware hot replacement method, firmware hot swap program
US8572598B1 (en) * 2007-04-18 2013-10-29 Nvidia Corporation Method and system for upgrading software in a computing device
EP2702479A4 (en) * 2011-04-29 2014-10-29 Hewlett Packard Development Co Computer system firmware update
KR101845290B1 (en) * 2011-08-25 2018-04-04 엘지전자 주식회사 Method and device for updating firmware based on a device management command
CN102855151B (en) * 2012-08-21 2016-06-08 武汉电信器件有限公司 The optical module firmware not interrupting business is in application upgrade method
KR102261815B1 (en) 2014-10-30 2021-06-07 삼성전자주식회사 Data storage device for reducing firmware update time, and data processing system including the same
JP6549454B2 (en) * 2015-09-11 2019-07-24 ラピスセミコンダクタ株式会社 Information processing device
CN113377392B (en) * 2020-03-09 2024-03-29 瑞昱半导体股份有限公司 Systems that can upgrade firmware in the background and methods for upgrading firmware in the background

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586127A (en) * 1993-11-30 1996-12-17 Fujitsu Limited Apparatus and method for correcting error in data read from recording medium
US6128724A (en) * 1997-12-11 2000-10-03 Leland Stanford Junior University Computation using codes for controlling configurable computational circuit
US6170043B1 (en) * 1999-01-22 2001-01-02 Media Tek Inc. Method for controlling an optic disk
US6523083B1 (en) * 1999-12-09 2003-02-18 Via Technologies, Inc. System and method for updating flash memory of peripheral device
US20030217358A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method, system, and article of manufacture for firmware downloads
US20040062166A1 (en) * 2002-09-30 2004-04-01 Mitsumi Electric Co., Ltd., A Japanese Corporation Optical disc drive and method of updating firmware
US20040083469A1 (en) * 2002-10-23 2004-04-29 Ping-Sheng Chen Method for updating firmware of optical disk system
US20040133711A1 (en) * 2003-01-03 2004-07-08 Ping-Sheng Chen Control chip for optical disk drive and method for updating firmware in the control chip
US20040143828A1 (en) * 2003-01-20 2004-07-22 Tun-Hsing Liu Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
US6769087B2 (en) * 2000-04-11 2004-07-27 Kabushiki Kaisha Toshiba Data storage device and method for controlling the device
US20050144612A1 (en) * 2003-12-31 2005-06-30 Shin-Ping Wang Firmware updating method and application utilizing the same
US7480904B2 (en) * 2004-09-16 2009-01-20 Mediatek Incorporation Firmware update for optical disc drive

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586127A (en) * 1993-11-30 1996-12-17 Fujitsu Limited Apparatus and method for correcting error in data read from recording medium
US6128724A (en) * 1997-12-11 2000-10-03 Leland Stanford Junior University Computation using codes for controlling configurable computational circuit
US6170043B1 (en) * 1999-01-22 2001-01-02 Media Tek Inc. Method for controlling an optic disk
US6523083B1 (en) * 1999-12-09 2003-02-18 Via Technologies, Inc. System and method for updating flash memory of peripheral device
US6769087B2 (en) * 2000-04-11 2004-07-27 Kabushiki Kaisha Toshiba Data storage device and method for controlling the device
US20030217358A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method, system, and article of manufacture for firmware downloads
US20040062166A1 (en) * 2002-09-30 2004-04-01 Mitsumi Electric Co., Ltd., A Japanese Corporation Optical disc drive and method of updating firmware
US20040083469A1 (en) * 2002-10-23 2004-04-29 Ping-Sheng Chen Method for updating firmware of optical disk system
US20040133711A1 (en) * 2003-01-03 2004-07-08 Ping-Sheng Chen Control chip for optical disk drive and method for updating firmware in the control chip
US20040143828A1 (en) * 2003-01-20 2004-07-22 Tun-Hsing Liu Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
US20050144612A1 (en) * 2003-12-31 2005-06-30 Shin-Ping Wang Firmware updating method and application utilizing the same
US7480904B2 (en) * 2004-09-16 2009-01-20 Mediatek Incorporation Firmware update for optical disc drive

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282653A1 (en) * 2005-06-08 2006-12-14 Ping-Ying Chu Method for updating frimware of memory card
US20110197185A1 (en) * 2010-02-05 2011-08-11 Lenovo (Singapore) Pte, Ltd. Method and Apparatus for Updating Firmware on a Storage Device
US9063816B2 (en) * 2010-02-05 2015-06-23 Lenovo (Singapore) Pte. Ltd. Method and apparatus for updating firmware on a storage device
US20110209134A1 (en) * 2010-02-22 2011-08-25 Ricoh Company, Ltd. Information processing apparatus
GB2497224A (en) * 2010-09-22 2013-06-05 Intel Corp Platform firmware armoring technology
WO2012039971A3 (en) * 2010-09-22 2012-07-19 Intel Corporation Platform firmware armoring technology
US8522322B2 (en) 2010-09-22 2013-08-27 Intel Corporation Platform firmware armoring technology
GB2497224B (en) * 2010-09-22 2018-08-01 Intel Corp Platform firmware armoring technology
US20120096451A1 (en) * 2010-10-15 2012-04-19 Roche Diagnostics Operations, Inc. Firmware update in a medical device with multiple processors
US20120110562A1 (en) * 2010-10-27 2012-05-03 David Heinrich Synchronized firmware update
WO2012087069A3 (en) * 2010-12-23 2012-10-04 Samsung Electronics Co., Ltd. Condensed fota backup
US8924777B2 (en) 2010-12-23 2014-12-30 Samsung Electronics Co., Ltd. Condensed FOTA backup
US20130086571A1 (en) * 2011-09-30 2013-04-04 International Business Machines Corporation Dynamically Updating Firmware In A Computing System
US8661429B2 (en) 2012-02-28 2014-02-25 Seagate Technology Llc Updating peripheral device firmware via a portable device
US11216269B2 (en) * 2020-01-09 2022-01-04 Dell Products L.P. Systems and methods for update of storage resource firmware
US20250045400A1 (en) * 2023-08-02 2025-02-06 Dell Products, L.P. Secure firmware updates in heterogeneous computing platforms

Also Published As

Publication number Publication date
TW200611189A (en) 2006-04-01
US7480904B2 (en) 2009-01-20
US20060059300A1 (en) 2006-03-16
TWI259974B (en) 2006-08-11

Similar Documents

Publication Publication Date Title
US20090094414A1 (en) Firmware Update for Storage Device
CN1318979C (en) How to Update the Firmware of the Optical Disk System
US6170043B1 (en) Method for controlling an optic disk
US6317827B1 (en) Method and apparatus for fault tolerant flash upgrading
US6480932B1 (en) Computer system having a host computer coupled to a disk drive with a drive-selected-application partition for storing data for execution by the host computer in response to drive-determined conditions
US7107364B2 (en) Control chip for optical disk drive and method for updating firmware in the control chip
US7320126B2 (en) Implementation of in system programming to update firmware on memory cards
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
US8301858B2 (en) Control device
US20030206442A1 (en) Flash memory bridiging device, method and application system
US20020049871A1 (en) Method and system for virtual memory compression in an embedded system
US20080114923A1 (en) Apparatus and method for controlling operation processing in nonvolatile memory
US6195107B1 (en) Method and system for utilizing virtual memory in an embedded system
US20030033465A1 (en) Hot-swap device applicable to ATA interface
CN115904512A (en) Method for realizing high-reliability starting of embedded system based on CPLD
US20060047938A1 (en) Method and apparatus to initialize CPU
US20080301358A1 (en) Electronic device that Downloads Operational Firmware from an External Host
US8230198B2 (en) System for synchronous code retrieval from an asynchronous source
JP2004110827A (en) Execution of variable length instruction stored in plurality of individual storage address areas
JP4083474B2 (en) MEMORY DEVICE CONTROL METHOD, PROGRAM THEREOF, AND RECORDING MEDIUM
US20040264261A1 (en) Controller and method for writing data
US20040236932A1 (en) Apparatus and method for firmware upgrade in microprocessor-based processing units
US20070011394A1 (en) Access method and access circuit for flash memory in embedded system
JP4826873B2 (en) Microprocessor system with hot routine memory
US20050265266A1 (en) Optical disc drive that downloads operational firmware from an external host

Legal Events

Date Code Title Description
AS Assignment

Owner name: MEDIATEK INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HSU, CHI-CHUN;WU, WEN-YI;REEL/FRAME:021968/0120

Effective date: 20050413

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION