JP7207818B2 - エラー復旧方法、これを用いたマイクロコントローラユニット、および前記マイクロコントローラを含むバッテリ装置 - Google Patents

エラー復旧方法、これを用いたマイクロコントローラユニット、および前記マイクロコントローラを含むバッテリ装置 Download PDF

Info

Publication number
JP7207818B2
JP7207818B2 JP2021513394A JP2021513394A JP7207818B2 JP 7207818 B2 JP7207818 B2 JP 7207818B2 JP 2021513394 A JP2021513394 A JP 2021513394A JP 2021513394 A JP2021513394 A JP 2021513394A JP 7207818 B2 JP7207818 B2 JP 7207818B2
Authority
JP
Japan
Prior art keywords
application
key value
mcu
flash
valid
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.)
Active
Application number
JP2021513394A
Other languages
English (en)
Other versions
JP2022501706A (ja
Inventor
リ、ホジョーン
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.)
LG Energy Solution Ltd
Original Assignee
LG Energy Solution Ltd
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 LG Energy Solution Ltd filed Critical LG Energy Solution Ltd
Publication of JP2022501706A publication Critical patent/JP2022501706A/ja
Application granted granted Critical
Publication of JP7207818B2 publication Critical patent/JP7207818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0063Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with circuits adapted for supplying loads from the battery
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J9/00Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
    • H02J9/002Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which a reserve is maintained in an energy source by disconnecting non-critical loads, e.g. maintaining a reserve of charge in a vehicle battery for starting an engine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Emergency Management (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Description

関連出願との相互参照
本出願は、2019年1月11日付の韓国特許出願第10-2019-0003998号に基づく優先権の利益を主張し、当該韓国特許出願の文献に開示されたすべての内容は本明細書の一部として含まれる。
本開示は、エラー復旧方法、これを用いたマイクロコントローラユニット、およびマイクロコントローラを含むバッテリ装置に関する。
アプリケーションキー(application key)領域を消す(erase)時、またはアプリケーションキーを書き込む(write)時に、意図せぬパワーオフ(power off)などによるメモリ割れ現象が発生しうる。すると、後にアプリケーションキーを読み出す時に発生するエラー訂正コード(Error Correction Code、ECC)エラーによるCPUコア例外(core exception)が発生してソフトウェアリセット(software reset)が発生する。
これにより、初期パワーオン(power on)と有効キー(valid key)を確認するためのアプリケーションキー領域を読み出す過程の間に無限反復が発生する。すると、アプリケーションとフラッシュブートローダー(Flash BootLoader、FBL)が全て行われない状況に陥ってしまう。
フラッシュメモリのエラーを復旧できる方法、これを用いたマイクロコントローラユニット、およびマイクロコントローラユニットを含むバッテリ装置を提供しようとする。
発明の一つの特徴によるマイクロコントローラユニット(Micro Controller Unit、MCU)は、フラッシュメモリを含み、フラッシュメモリは、MCUのパワーオン時に、アプリケーションのキー値を確認し、アプリケーションのキー値が有効でなければ、再プログラミング可能なモードに入ることができる。
フラッシュメモリは、フラッシュブートローダー(Flash Boot Loader)と、アプリケーション(application)ブロックと、アプリケーションキーブロックとを含み、MCUのパワーオン時に、フラッシュブートローダーがアプリケーションキーブロックからアプリケーションのキー値を確認し、アプリケーションのキー値が有効でなければ、フラッシュブートローダーモードに入ることができる。
アプリケーションブロックは、フラッシュブートローダーモードで、受信されたアプリケーションデータを再プログラミングできる。
アプリケーションキーブロックは、再プログラミングが完了した後、有効なアプリケーションのキー値を書き込むことができる。
フラッシュメモリは、再プログラミング要請が受信されれば、再プログラミング要請に対応するアプリケーションのキー値を消し、モードに入ることができる。
フラッシュメモリは、モードで、受信されたアプリケーションデータを再プログラミングし、アプリケーションのキー値を書き込むことができる。
発明の他の特徴によるフラッシュブートローダーと、アプリケーションブロックと、アプリケーションキーブロックとを含むフラッシュメモリを含むMCUのエラー復旧方法は、MCUのパワーオン時に、フラッシュブートローダーがアプリケーションキーブロックからアプリケーションのキー値を確認する段階と、確認段階で、アプリケーションのキー値が有効でなければ、再プログラミング可能にフラッシュブートローダーにとどまる段階とを含む。
MCUのエラー復旧方法は、受信されたアプリケーションデータを再プログラミングする段階と、再プログラミングが完了した後、アプリケーションのキー値を書き込む段階とをさらに含むことができる。
MCUのエラー復旧方法は、確認段階で、アプリケーションのキー値が有効であれば、対応するアプリケーションを実行する段階と、対応するアプリケーションの実行中に、再プログラミング要請を受信する段階と、再プログラミング要請を受信すれば、対応するアプリケーションのキー値を消す段階とをさらに含むことができる。
MCUのエラー復旧方法は、アプリケーションのキー値を消した後、フラッシュブートローダーがアプリケーションキーブロックからアプリケーションのキー値を確認する段階から始まることができる。
本発明のさらに他の特徴によるバッテリ装置は、電気的に連結された複数のバッテリセルを含むバッテリセル組立体と、バッテリ管理のためのアプリケーションを保存したフラッシュメモリを含むマイクロコントローラユニット(Micro Controller Unit、MCU)と、MCUで行われるアプリケーションによりバッテリ管理を行うバッテリ管理システムとを含む。フラッシュメモリは、MCUのパワーオン時に、アプリケーションのキー値を確認し、アプリケーションのキー値が有効でなければ、再プログラミング可能なモードに入ることができる。
フラッシュメモリのエラーを復旧できる方法、これを用いたマイクロコントローラユニット、およびマイクロコントローラユニットを含むバッテリ装置を提供する。
一実施例によるマイクロコントローラユニットを示す図である。 一実施例によるフラッシュメモリ2の構成を示す図である。 一実施例による復旧方法を示すフローチャートである。 一実施例によるバッテリ装置を示す図である。
以下、添付した図面を参照して、本発明の実施例について、本発明の属する技術分野における通常の知識を有する者が容易に実施できるように詳しく説明する。しかし、本発明は種々の異なる形態で実現可能であり、ここで説明する実施例に限定されない。そして、図面において本発明を明確に説明するために説明上不必要な部分は省略し、明細書全体にわたって類似の部分については類似の図面符号を付した。
図1は、一実施例によるマイクロコントローラユニットを示す図である。
図1に示されているように、マイクロコントローラユニット(Micro Controller Unit、MCU)1は、フラッシュメモリ2と、プロセッサ3と、周辺装置4とを含む。
フラッシュメモリ2は、MCU1が適用される装置に必要なアプリケーションを保存し、アプリケーションのソフトウェアを実行させ、要請があった場合、ソフトウェアを再プログラミング(reprogramming)し、ECCエラーによるCPUコア例外の発生時、エラーの発生位置がアプリケーションキー領域の場合、アプリケーションキー領域を消し、リセットして再プログラミング可能な状態で動作できる。
プロセッサ3は、フラッシュメモリ2および周辺装置4とインターフェースを介してネットワーキングし、周辺装置4を介して入力された情報をフラッシュメモリ2に伝送でき、フラッシュメモリ2および周辺装置4の動作を制御する命令(command)を伝送できる。MCU1がパワーオンされると、プロセッサ3にパワーオン信号P_ONが入力され、プロセッサ3は、フラッシュメモリ2にアプリケーション実行のための命令を伝達できる。
周辺装置4は、CAN通信、UART通信などのための通信モジュールを含み、プロセッサ3に再プログラミング要請および再プログラミングのためのソフトウェアコードを伝送できる。
以下、図2を参照して、一実施例によるフラッシュメモリを説明する。
図2は、一実施例によるフラッシュメモリ2の構成を示す図である。
図2に示されているように、フラッシュメモリ2は、フラッシュブートローダー(Flash Boot Loader、FBL)21と、アプリケーションブロック22と、アプリケーションキーブロック23とを含む。
FBL21に命令がとどまるFBLモードで、FBL21は、アプリケーション領域のソフトウェアを消し、再プログラミングできる。FBL21は、プロセッサ3から伝達された命令によりアプリケーションのキー値が有効であるかを確認できる。FBL21の確認結果、アプリケーションのキー値が有効でない場合、アプリケーションブロック22のアプリケーションは実行されず、FBLモードに入る。FBL21は、プロセッサ3にアプリケーションのキー値が有効でないことを知らせることができる。
FBL21によってアプリケーションのキー値が有効であると判断されれば、命令によりアプリケーションブロック22がアプリケーションの領域に保存されたソフトウェアを動作させることができる。動作中に、プロセッサ3から再プログラミング要請がフラッシュメモリ2に伝送されれば、アプリケーションキーブロック23は、動作中のアプリケーションに対応するアプリケーションキー領域を消し、リセットした後、FBLモードに入る。
このように、アプリケーションのキー値が有効でないか、再プログラミング要請があった場合、再プログラミングのためにFBL21に命令がとどまる状態であるFBLモードに入る。
FBL21は、CAN通信またはUART通信により命令に対応するアプリケーションに対するデータを、周辺装置4を介して受信し、受信されたデータをアプリケーションブロック22領域に再プログラミングする。受信されたデータが再プログラミングによりアプリケーション領域に書き込まれた(writing)後、アプリケーションキーブロック23は、アプリケーションに対応する領域に有効なキー値を書き込む(writing)。アプリケーションキーブロック23は、書き込み後にリセットを行い、リセットによりアプリケーションブロック22が再プログラミングされたアプリケーションを実行できる。
このような動作とともに、FBL21は、ECCエラーによるCPUコア例外の発生時、ECCエラーの発生した位置がアプリケーションキーブロック23である場合、アプリケーションのキー値を消し、リセットしてFBLモードに入る。つまり、フラッシュメモリ2はFBLモード状態で、再プログラミング可能な状況に復旧される。
このような動作を行うために、FBL21、アプリケーションブロック22、およびアプリケーションキーブロック23は、相互間で必要な情報を送受信できる。
図3は、一実施例による復旧方法を示すフローチャートである。
図3に示されているように、MCU1がパワーオン(power-on)またはリセットされる(段階S1)。
FBL21は、パワーオン後、プロセッサ3の命令により実行されるべきアプリケーションのキー値が有効であるかを確認できる(段階S2)。
段階S2の判断結果、アプリケーションのキー値が有効な場合、命令は、FBL21からアプリケーションブロック22に移動できる(段階S3)。
アプリケーションブロック22は、命令によりアプリケーションを実行できる(段階S4)。
アプリケーションの実行中に、再プログラミング要請があるかを判断できる(段階S5)。
段階S5の判断結果、プロセッサ3から再プログラミング要請がフラッシュメモリ2に伝送されれば、アプリケーションキーブロック23は、アプリケーションのキー値を消すことができる(段階S6)。
アプリケーションのキー値が消された後、ソフトリセット(soft reset)が行われる(段階S7)。ソフトリセットによりアプリケーションの実行が中断される。
段階S5の判断結果、再プログラミング要請がなければ、段階S4によりアプリケーションの実行が維持できる。
段階S7の後、段階S1によりFBLモードに入り、再びS2段階から実行できる。すると、アプリケーションのキー値が有効でないので、FBLモードに入って、再プログラミングが行われて有効なアプリケーションのキー値が書き込まれる。
段階S2の判断結果、アプリケーションのキー値が有効でない場合、命令は、FBL21にとどまる(stay)(段階S8)。つまり、FBLモードに入る。同時に、ECCエラーによるCPUコア例外が発生しうる。
プロセッサ3から再プログラミングのためのデータがフラッシュメモリ2に受信されれば、FBL21は、アプリケーション領域を再プログラミングできる(段階S9)。
アプリケーションブロック22は、再プログラミングが完了したかを判断できる(段階S10)。
段階S10の判断結果、再プログラミングが完了していなければ、段階S9の実行が維持できる。
段階S10の判断結果、再プログラミングが完了したならば、アプリケーションキーブロック23が有効なアプリケーションのキー値を書き込むことができる(段階S11)。
段階S11の後、ソフトリセット(soft reset)が行われる(段階S12)。ソフトリセット後、段階S1によりFBLモードに入り、再びS2段階から実行できる。
本開示の一実施例によれば、アプリケーションのキー値が有効でない場合、再プログラミング可能なFBLモードに入ることによって、従来技術においてECCエラーによるCPUコア例外が発生した時、パワーオンと有効キー値を読み出す過程の間に無限反復が発生する問題を解決できる。
以下、先に説明した一実施例によるMCUが適用されたバッテリ装置に関する実施例を説明する。
図4は、一実施例によるバッテリ装置を示す図である。
図4に示されているように、バッテリ装置100は、MCU120を含み、MCU120は、バッテリのモニタリングおよび管理に必要な複数のアプリケーションを保存できる。MCU120で実行されるアプリケーションにより、バッテリ装置100が駆動できる。例えば、MCU120は、バッテリパックの充電状態および寿命を推定するためのアプリケーション、バッテリパックおよびバッテリセルの電流、電圧、温度などの状態情報を検知するためのアプリケーションなどを含むことができる。
一例として、MCU120でバッテリパックの充電状態(State of Charge、SOC)を推定するためのアプリケーションが実行され、バッテリパックの充電状態推定のためのバッテリの状態情報を検知するためのアプリケーションが実行できる。
SOC推定のためのアプリケーションが動作する時の一例を、以下に説明する。
図4に示されているように、バッテリ装置100は、バッテリ管理システム(Battery Management System、BMS)110と、MCU120と、バッテリセル組立体130と、リレー140、150とを含む。
バッテリセル組立体130は、電気的に連結されている複数のバッテリセルを含む。所定数のバッテリセルが直列連結されてバッテリモジュールを構成し、所定数のバッテリモジュールが直列および並列連結されて所望の電力を供給することができる。
バッテリセル組立体130を構成する複数のバッテリセルそれぞれは、BMS110と複数の配線を介して電気的に連結されている。
BMS110は、複数のバッテリセルに関する情報を含むバッテリ装置に関する多様な情報を取り合いおよび分析してバッテリ装置の充放電、バッテリセルバランシング、保護動作などを制御できる。
リレー140、150は、リレーやnチャネルタイプのトランジスタなどで実現可能であり、バッテリセル組立体130と外部装置との間に直列連結されている。リレー140、150それぞれは、BMS 110から供給される信号によって動作できる。
MCU120は、先に説明した一実施例により実現できる。MCU120でアプリケーションが行われ、BMS110にアプリケーションによる制御信号が伝送される。すると、BMS110は、MCU120で行われるアプリケーションにより動作できる。
例えば、MCU120に保存された複数のアプリケーションのうちSOC推定アプリケーションが行われると、BMS110は、アプリケーションによりSOCを推定する。SOCの推定方式は、アプリケーションにより決定される。
一例として、SOC推定アプリケーションは、第1バッテリモデリング方式を利用してSOCを推定でき(以下、第1SOC)、第2バッテリモデリング方式を利用するSOCを推定でき(以下、第2SOC)、第1および第2バッテリモデリング方式は互いに異なってもよい。バッテリモデリング方式は、非線形的な特性を有するバッテリの状態を推定するために利用されるバッテリモデリング方法であって、電気回路モデル(Electrical Circuit Model)、電気化学モデル(Electrochemical Model)、分析的モデル(Analytical Model)および確率的モデル(Stochastic Model)などが含まれる。
具体的には、BMS110は、SOC推定アプリケーションにより、第1バッテリモデリング方式として電気回路モデルを用いて直前段階で推定されたSOCおよびバッテリパックの状態情報に含まれている情報に基づいて現段階の第1SOCを推定できる。第2バッテリモデリング方式として電気化学モデルが利用可能である。
電気回路モデルは、電気回路で実現された等価回路でバッテリの入力および出力特性をモデリングする方法である。電気回路モデルは、SOC推定のための演算過程が比較的簡単で演算による所要時間が長くなく、演算のための負荷が多くかからないという利点を有する。しかし、このような電気回路モデルの場合、正確性にやや劣る問題がある。
これに対し、電気化学モデルは、バッテリの内部で発生する化学的作用を基づいてバッテリの特性をモデリングする方法である。このような電気化学モデルの代表例として、DFN(Doyle-Fuller-Newman)モデルが挙げられる。DFNモデルは、多孔性の電極内に存在するリチウムイオン濃度の時空間的な変化、電位、インターカレーションキネティック(intercalation kinetic)、固体相と電解液相との間の電流密度などをモデリングすることができる。このような電気化学モデルは、正確性が非常に高いという利点を有する。
BMS110は、SOC推定アプリケーションによりDFNモデルのような電気化学モデルを用いてバッテリパックの状態情報に基づいた正確度の高いSOC推定値(第2SOC)を得ることができる。そして、BMS110は、SOC推定アプリケーションによりこのように高い正確度を有するSOC推定結果(第2SOC)を入力パラメータに反映することによって、SOC(第1SOC)推定の正確度を高めることができる。
例えば、BMS110は、SOC推定アプリケーションにより第2SOC値を直前段階の第1SOCとして認識し、受信されたバッテリパックの状態情報および直前段階の第1SOCを第1バッテリモデリング方式に適用して現段階の第1SOCを推定できる。すると、第1SOC値が周期的に補正されて、第1SOC推定の誤差が大きくなるのを周期的に防止でき、これによってSOC推定の正確性を向上させることができる。
以上、本発明の実施例について詳しく説明したが、本発明の権利範囲はこれに限定されるものではなく、以下の特許請求の範囲で定義している本発明の基本概念を利用した当業者の様々な変形および改良形態も本発明の権利範囲に属する。

Claims (13)

  1. マイクロコントローラユニット(Micro Controller Unit、MCU)において、
    フラッシュメモリを含み、
    前記フラッシュメモリは、フラッシュブートローダー(Flash Boot Loader)と、アプリケーション(application)ブロックと、アプリケーションキーブロックと、を含み、
    前記MCUのパワーオン時に、前記フラッシュブートローダーがアプリケーションのキー値を確認し、
    前記アプリケーションのキー値が有効でなければ、前記フラッシュメモリは、前記アプリケーションが保存されたアプリケーション領域を前記フラッシュブートローダーによって再プログラミングする、フラッシュブートローダーモードに入るMCU。
  2. 前記アプリケーションのキー値が有効でない場合、前記アプリケーションキーブロックが前記アプリケーションに対応する領域に有効なキー値を書き込み、
    前記アプリケーションのキー値が有効である場合、前記フラッシュブートローダーから移動した命令により、前記アプリケーションブロックが前記アプリケーション領域に保存された前記アプリケーションを実行する、
    請求項1に記載のMCU。
  3. 前記アプリケーションキーブロックは、
    前記再プログラミングが完了した後、有効なアプリケーションのキー値を書き込む、請求項に記載のMCU。
  4. 前記フラッシュメモリは、
    再プログラミング要請が受信されれば、前記再プログラミング要請に対応するアプリケーションのキー値を消し、前記フラッシュブートローダーモードに入る、請求項1から3のいずれか一項に記載のMCU。
  5. 前記フラッシュメモリは、
    前記フラッシュブートローダーモードで、受信されたアプリケーションデータを再プログラミングし、アプリケーションのキー値を書き込む、請求項4に記載のMCU。
  6. 前記フラッシュメモリは、
    前記アプリケーションのキー値が有効であれば、対応するアプリケーションを実行するアプリケーション実行モードに入り、
    前記対応するアプリケーションの実行中に、再プログラミング要請が受信されれば、前記対応するアプリケーションのキー値を消す、
    請求項1から5のいずれか一項に記載のMCU。
  7. 前記フラッシュメモリは、
    前記アプリケーションのキー値を消した後、
    前記アプリケーションのキー値を確認し、前記アプリケーションのキー値が有効でなければ、前記フラッシュメモリが前記フラッシュブートローダーモードに入る、
    請求項6に記載のMCU。
  8. フラッシュブートローダーと、アプリケーションブロックと、アプリケーションキーブロックと、を有するフラッシュメモリを含むマイクロコントローラユニット(Micro Controller Unit、MCU)のエラー復旧方法において、
    前記MCUのパワーオン時に、前記フラッシュブートローダーがアプリケーションキーブロックからアプリケーションのキー値を確認する段階と、
    前記アプリケーションのキー値を確認する段階で、前記アプリケーションのキー値が有効でなければ、前記フラッシュメモリは、前記アプリケーションが保存されたアプリケーション領域を前記フラッシュブートローダーによって再プログラミングする、フラッシュブートローダーモードに入る段階と、を含むMCUのエラー復旧方法。
  9. 前記アプリケーションのキー値が有効でない場合、前記アプリケーションキーブロックが前記アプリケーションに対応する領域に有効なキー値を書き込み、
    前記アプリケーションのキー値が有効である場合、前記フラッシュブートローダーから移動した命令により、前記アプリケーションブロックが前記アプリケーション領域に保存された前記アプリケーションを実行する、
    請求項8に記載のMCUのエラー復旧方法。
  10. 受信されたアプリケーションデータを再プログラミングする段階と、
    前記再プログラミングが完了した後、アプリケーションのキー値を書き込む段階と、をさらに含む、請求項8または9に記載のMCUのエラー復旧方法。
  11. 前記アプリケーションのキー値を確認する段階で、前記アプリケーションのキー値が有効であれば、対応するアプリケーションを実行する段階と、
    前記対応するアプリケーションの実行中に、再プログラミング要請を受信する段階と、
    前記再プログラミング要請を受信すれば、前記対応するアプリケーションのキー値を消す段階と、をさらに含む、請求項8から10のいずれか一項に記載のMCUのエラー復旧方法。
  12. 前記アプリケーションのキー値を消した後、
    前記フラッシュブートローダーが前記アプリケーションキーブロックからアプリケーションのキー値を確認する段階から行われる、請求項11に記載のMCUのエラー復旧方法。
  13. 電気的に連結された複数のバッテリセルを含むバッテリセル組立体と、
    バッテリ管理のためのアプリケーションを保存したフラッシュメモリを含むマイクロコントローラユニット(Micro Controller Unit、MCU)と、
    前記MCUで行われるアプリケーションによりバッテリ管理を行うバッテリ管理システムと、を含み、
    前記フラッシュメモリは、フラッシュブートローダー(Flash Boot Loader)と、アプリケーション(application)ブロックと、アプリケーションキーブロックと、を含み、
    前記MCUのパワーオン時に、前記フラッシュブートローダーがアプリケーションのキー値を確認し、
    前記アプリケーションのキー値が有効でなければ、前記フラッシュメモリは、前記アプリケーションが保存されたアプリケーション領域を前記フラッシュブートローダーによって再プログラミングする、フラッシュブートローダーモードに入るバッテリ装置。
JP2021513394A 2019-01-11 2020-01-10 エラー復旧方法、これを用いたマイクロコントローラユニット、および前記マイクロコントローラを含むバッテリ装置 Active JP7207818B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2019-0003998 2019-01-11
KR1020190003998A KR20200087557A (ko) 2019-01-11 2019-01-11 에러 복구 방법, 이를 이용한 마이크로 컨트롤러 유닛, 및 상기 마이크로 컨트롤러를 포함하는 배터리 장치
PCT/KR2020/000511 WO2020145742A1 (ko) 2019-01-11 2020-01-10 에러 복구 방법, 이를 이용한 마이크로 컨트롤러 유닛, 및 상기 마이크로 컨트롤러를 포함하는 배터리 장치

Publications (2)

Publication Number Publication Date
JP2022501706A JP2022501706A (ja) 2022-01-06
JP7207818B2 true JP7207818B2 (ja) 2023-01-18

Family

ID=71521830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021513394A Active JP7207818B2 (ja) 2019-01-11 2020-01-10 エラー復旧方法、これを用いたマイクロコントローラユニット、および前記マイクロコントローラを含むバッテリ装置

Country Status (6)

Country Link
US (1) US11899951B2 (ja)
EP (1) EP3848810A4 (ja)
JP (1) JP7207818B2 (ja)
KR (1) KR20200087557A (ja)
CN (1) CN112771503A (ja)
WO (1) WO2020145742A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086631A1 (en) 2000-01-06 2008-04-10 Chow David Q Flash memory controller controlling various flash memory cells
JP2011164827A (ja) 2010-02-08 2011-08-25 Nippon Avionics Co Ltd フラッシュメモリを備えた電子機器およびフラッシュメモリに格納されたプログラムの更新方法
US20170024221A1 (en) 2013-12-13 2017-01-26 Ping He Devices, updaters, methods for controlling a device, and methods for controlling an updater

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US6925365B2 (en) * 2002-08-05 2005-08-02 Daimlerchrysler Corporation Flash loader for vehicle electronic control units
US8392762B2 (en) 2008-02-04 2013-03-05 Honeywell International Inc. System and method for detection and prevention of flash corruption
JP5085626B2 (ja) 2009-10-08 2012-11-28 レノボ・シンガポール・プライベート・リミテッド 電池パック、そのファームウェア更新方法、および電池パックシステム
US8589730B2 (en) * 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
KR101744998B1 (ko) 2011-08-26 2017-06-21 현대자동차주식회사 리프로그래밍 제어모듈 및 이를 이용한 리프로그래밍 시스템 및 방법
US9176800B2 (en) * 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
JP5597224B2 (ja) 2012-05-11 2014-10-01 株式会社東芝 情報記憶装置およびメモリ異常処理方法
US9280654B1 (en) * 2012-08-17 2016-03-08 Electrochem Solutions, Inc. Battery authentication circuit
KR101515198B1 (ko) 2013-04-10 2015-05-11 주식회사 팬택 모바일 단말의 펌웨어 업그레이드 장치 및 방법
US20150067314A1 (en) * 2013-08-30 2015-03-05 Timothy J. Strauss Secure firmware flash controller
JP2016081341A (ja) 2014-10-17 2016-05-16 株式会社デンソー 電子制御装置
KR101692839B1 (ko) * 2015-06-09 2017-01-05 (주) 비엠지 배터리 원격 제어 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086631A1 (en) 2000-01-06 2008-04-10 Chow David Q Flash memory controller controlling various flash memory cells
JP2011164827A (ja) 2010-02-08 2011-08-25 Nippon Avionics Co Ltd フラッシュメモリを備えた電子機器およびフラッシュメモリに格納されたプログラムの更新方法
US20170024221A1 (en) 2013-12-13 2017-01-26 Ping He Devices, updaters, methods for controlling a device, and methods for controlling an updater

Also Published As

Publication number Publication date
CN112771503A (zh) 2021-05-07
EP3848810A4 (en) 2021-12-15
KR20200087557A (ko) 2020-07-21
WO2020145742A1 (ko) 2020-07-16
US20220035545A1 (en) 2022-02-03
EP3848810A1 (en) 2021-07-14
US11899951B2 (en) 2024-02-13
JP2022501706A (ja) 2022-01-06

Similar Documents

Publication Publication Date Title
CN101770809B (zh) 用于非易失性存储器掉电后的恢复的方法和系统
CN107239411B (zh) 一种车载控制器内存管理方法及系统
CN103761112A (zh) 一种车载多媒体装置及其控制方法
US8898350B2 (en) Multi-bus architecture for mass storage system-on-chip controllers
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
CN114003552A (zh) 工作量证明运算方法、工作量证明芯片及上位机
US20090249087A1 (en) Power Event Indicator for Managed Memory Device
JP7207818B2 (ja) エラー復旧方法、これを用いたマイクロコントローラユニット、および前記マイクロコントローラを含むバッテリ装置
WO2019210679A1 (zh) 设备电池及无人机
JP7205982B2 (ja) メモリ、メモリのエラー復旧方法、およびメモリを含むバッテリ装置
CN115129347A (zh) 一种汽车安全数据的更新方法、装置、设备及产品
US6381175B2 (en) Method and system for validating flash memory
US20070192645A1 (en) Battery management system chip and data-accessing method of the same
CN113944584A (zh) 车辆及其控制方法
KR102324263B1 (ko) 비휘발성 메모리 업데이트 장치 및 방법
EP4318728A1 (en) Battery control system and method for guiding soc level
KR102227196B1 (ko) 데이터 저장 시스템 및 그것의 동작 방법
JP3125526B2 (ja) 記憶装置
CN110648714B (zh) 数据的读取方法、装置、电子设备和存储介质
JP2003099333A (ja) フラッシュメモリ管理システム
JP4083247B2 (ja) マイクロコンピュータおよびマイクロコンピュータシステム
CN117149511A (zh) 一种增强抗eft能力的flash控制器及其控制方法
CN116386169A (zh) 一种车辆数据处理方法、装置、电子设备及存储介质
CN116706281A (zh) 电池充电的方法、装置、电子设备及计算机可读存储介质
JP2003242046A (ja) 情報処理装置、情報処理装置の動作方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210319

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20220215

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20220217

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221227

R150 Certificate of patent or registration of utility model

Ref document number: 7207818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150