(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-12
(45)【発行日】2022-05-20
(54)【発明の名称】不揮発性メモリアップデート装置及び方法
(51)【国際特許分類】
G06F 8/654 20180101AFI20220513BHJP
【FI】
G06F8/654
(21)【出願番号】P 2020537504
(86)(22)【出願日】2019-09-03
(86)【国際出願番号】 KR2019011354
(87)【国際公開番号】W WO2020055025
(87)【国際公開日】2020-03-19
【審査請求日】2020-07-06
(31)【優先権主張番号】10-2018-0109207
(32)【優先日】2018-09-12
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521065355
【氏名又は名称】エルジー エナジー ソリューション リミテッド
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】ホ-チョル・ナム
(72)【発明者】
【氏名】ムン-ギュ・チェ
【審査官】多賀 実
(56)【参考文献】
【文献】特開2004-005152(JP,A)
【文献】特開2004-013477(JP,A)
【文献】韓国登録特許第10-1351752(KR,B1)
【文献】特開2001-275270(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60-8/658
G06F 12/00
G06F 12/06
(57)【特許請求の範囲】
【請求項1】
不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置であって、
前記アプリケーションコードを保存するように構成された揮発性メモリと、
前記アプリケーションコードを前記揮発性メモリに記録し、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録し、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録するように構成された中央処理ユニットと、を含
み、
保存領域内に前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードが保存された前記保存領域のアドレスよりもアドレスが低い領域において前記アプリケーションコードの直前に前記ブートインジケータを記録するように構成されたことを特徴とする、不揮発性メモリアップデート装置。
【請求項2】
前記中央処理ユニットは、
前記不揮発性メモリに記録された前記アプリケーションコードが正常に記録されたか否かを判断し、前記アプリケーションコードが前記不揮発性メモリに正常に記録されたと確認される場合、前記アプリケーションコードのアップデートを終了することを特徴とする、請求項1に記載の不揮発性メモリアップデート装置。
【請求項3】
前記中央処理ユニットは、
前記不揮発性メモリに記録された前記ブートインジケータの存在有無に基づき、前記アプリケーションコードが正常に記録されたか否かを判断するように構成されたことを特徴とする、請求項1または2に記載の不揮発性メモリアップデート装置。
【請求項4】
前記中央処理ユニットは、
前記アプリケーションコードの実行命令を受信する場合、前記ブートインジケータの存在有無を確認し、前記ブートインジケータが正常に記録されたと確認される場合、前記アプリケーションコードを実行するように構成されたことを特徴とする、請求項3に記載の不揮発性メモリアップデート装置。
【請求項5】
前記中央処理ユニットは、
前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとを比較し、前記アプリケーションコードが正常に記録されたか否かを判断するように構成されたことを特徴とする請求項1から4のいずれか一項に記載の不揮発性メモリアップデート装置。
【請求項6】
前記中央処理ユニットは、
前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとが一致する場合、前記アプリケーションコードが正常に記録されたと判断するように構成されたことを特徴とする、請求項5に記載の不揮発性メモリアップデート装置。
【請求項7】
前記中央処理ユニットは、
前記アプリケーションコードが保存される前記不揮発性メモリ内の保存領域を設定し、前記保存領域におけるアドレスの高い領域から前記保存領域におけるアドレスの低い領域へ前記アプリケーションコードを逆方向に記録するように構成されたことを特徴とする、請求項1から6のいずれか一項に記載の不揮発性メモリアップデート装置。
【請求項8】
外部装置から前記アプリケーションコードを受信するように構成された通信ユニットをさらに含むことを特徴とする請求項1に記載の不揮発性メモリアップデート装置。
【請求項9】
請求項1から
8のいずれか一項に記載の不揮発性メモリアップデート装置を含む、バッテリーマネジメントシステム(BMS)。
【請求項10】
請求項1から
8のいずれか一項に記載の不揮発性メモリアップデート装置を含む、バッテリーパック。
【請求項11】
中央処理ユニットによって、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート方法であって、
前記中央処理ユニットが、前記アプリケーションコードを揮発性メモリに記録する段階と、
前記中央処理ユニットが、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録する段階と、
前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記中央処理ユニットが、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録する段階と、を含
み、
前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録する段階は、前記アプリケーションコードが保存された保存領域のアドレスよりもアドレスが低い領域において前記アプリケーションコードの直前に前記ブートインジケータを記録することを特徴とする、不揮発性メモリアップデート方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリアップデート装置及び方法に関し、より詳しくは、バッテリーパックに備えられたBMSの不揮発性メモリをアップデートする過程でアップデートの信頼性を確保することができる不揮発性メモリアップデート装置及び方法に関する。
【0002】
本出願は、2018年9月12日出願の韓国特許出願第10-2018-0109207号に基づく優先権を主張し、該当出願の明細書及び図面に開示された内容は、すべて本出願に組み込まれる。
【背景技術】
【0003】
最近、ノートブックPC(Personal Computer,パーソナルコンピューター)、ビデオカメラ、携帯電話などのような携帯用電子製品の需要が急増し、電気自動車、エネルギー貯蔵用蓄電池、ロボット、衛星などの開発が本格化するにつれ、反復的な充放電の可能な高性能二次電池についての研究が活発に進行しつつある。
【0004】
現在、商用化した二次電池としては、ニッケルカドミウム電池、ニッケル水素電池、ニッケル亜鉛電池及びリチウム二次電池などがあり、このうち、リチウム二次電池は、ニッケル系の二次電池に比べてメモリ効果がほとんど起こらず、充放電が自由で、自己放電率が非常に低くてエネルギー密度が高いという長所から脚光を浴びている。
【0005】
バッテリーは多様な分野で用いられており、電気駆動車両またはスマートグリッドシステムのように最近にバッテリーがよく活用される分野は、大きい容量を要する場合が多い。バッテリーパックの容量を増加させるためには、二次電池、即ち、バッテリーセルそのものの容量を増加させる方法が考えられるが、この場合、容量増大の効果が大きくなく、二次電池の大きさの拡張に物理的制限があり、管理が不便であるという短所を有する。これによって、通常は複数のバッテリーモジュールが直列及び並列に接続したバッテリーパックが広く用いられる。
【0006】
このようなバッテリーパックには、バッテリーの電圧、電流及び温度などを測定し、バッテリーの充放電を制御するように構成された複数のチップと電気回路を有するBMS(Battery Management System,バッテリーマネジメントシステム)が備えられる。例えば、BMSには、CPU(Central Processing Unit,中央処理ユニット)及びメモリデバイスなどを含むMCU(Micro Controller Unit,マイクロコントローラーユニット)のようなチップが備えられ得る。
【0007】
通常、MCUは、BMSを駆動するためのプログラムをMCU内部のメモリデバイスに保存し、CPUがこのプログラムを読み込んでそれに従って全体システムの駆動を制御する。このようなシステム駆動のためのプログラムを保存するためのメモリデバイスとしては、揮発性メモリ(RAM:Random Access Memory,ランダムアクセスメモリ)及び不揮発性メモリ(ROM:Read Only Memory,リードオンリメモリ)などが用いられる。
【0008】
従来、不揮発性メモリをアップデートするためには、不揮発性メモリにプログラムが正常に記録されたか否かを確認するために、特定値を有するフラグ(例えば、マジックフラグ(Magic Flag))を不揮発性メモリの特定領域に記録し、前記フラグを確認することで不揮発性メモリにプログラムが正常に記録されたと判断していた。しかし、前記フラグを記録する過程で、不揮発性メモリの特定領域を別に生成し、前記特定領域を持続的に管理しなければならないという不便があった。
【0009】
また、従来には、前記フラグを確認してアプリケーションコードが正常に記録されたと確認した上で、ブートインジケータを読み込んでアプリケーションコードを実行しなければならないという煩雑さがあった。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、上記問題点に鑑みてなされたものであり、バッテリーパックに備えられたBMSの不揮発性メモリをアップデートする過程でアップデートの信頼性を確保することができる改善した不揮発性メモリアップデート装置及び方法を提供することを目的とする。
【0011】
本発明の他の目的及び長所は、下記する説明によって理解でき、本発明の実施形態によってより明らかに分かるであろう。また、本発明の目的及び長所は、特許請求の範囲に示される手段及びその組合せによって実現することができる。
【課題を解決するための手段】
【0012】
上記の課題を達成するため、本発明の一実施形態による不揮発性メモリアップデート装置は、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置であって、前記アプリケーションコードを保存するように構成された揮発性メモリと、前記アプリケーションコードを前記揮発性メモリに記録し、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録し、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録するように構成された中央処理ユニットと、を含む。
【0013】
また、前記中央処理ユニットは、前記不揮発性メモリに記録された前記アプリケーションコードが正常に記録されたか否かを判断し、前記アプリケーションコードが前記不揮発性メモリに正常に記録されたと確認される場合、前記アプリケーションコードのアップデートを終了し得る。
【0014】
また、前記中央処理ユニットは、前記不揮発性メモリに記録された前記ブートインジケータの存在有無に基づき、前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【0015】
また、前記中央処理ユニットは、前記アプリケーションコードの実行命令を受信する場合、前記ブートインジケータの存在有無を確認し、前記ブートインジケータが正常に記録されたと確認される場合、前記アプリケーションコードを実行し得る。
【0016】
また、前記中央処理ユニットは、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとを比較し、前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【0017】
また、前記中央処理ユニットは、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとが一致する場合、前記アプリケーションコードが正常に記録されたと判断し得る。
【0018】
また、前記中央処理ユニットは、前記アプリケーションコードが保存される前記不揮発性メモリ内の保存領域を設定し、前記保存領域におけるアドレスの高い領域から前記保存領域におけるアドレスの低い領域へ前記アプリケーションコードを逆方向に記録し得る。
【0019】
また、前記中央処理ユニットは、前記保存領域内に前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードが保存された前記保存領域のアドレスよりもアドレスが低い領域に前記ブートインジケータを記録し得る。
【0020】
なお、本発明の一実施形態による不揮発性メモリアップデート装置は、外部装置から前記アプリケーションコードを受信するように構成された通信ユニットをさらに含み得る。
【0021】
また、上記の課題を達成するため、本発明の一実施形態によるBMSは、本発明による不揮発性メモリアップデート装置を含む。
【0022】
また、上記の課題を達成するため、本発明の一実施形態によるバッテリーパックは、本発明による不揮発性メモリアップデート装置を含む。
【0023】
また、上記の課題を達成するため、本発明の一実施形態による不揮発性メモリアップデート方法は、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート方法であって、前記アプリケーションコードを揮発性メモリに記録する段階と、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録する段階と、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録する段階と、を含む。
【発明の効果】
【0024】
本発明の一面によれば、アプリケーションコードが正常に記録されたか否かを確認するために、不揮発性メモリの特定領域に別の特定値を有するフラグ(例えば、マジックフラグ(Magic Flag))を記録することなく、ブートインジケータのみでアプリケーションコードが正常に記録されたか否かを確認することができるという長所がある。
【0025】
本発明の他面によれば、別の特定値を有するフラグ(例えば、マジックフラグ(Magic Flag))の記録を省略することができるため、不揮発性メモリの運営効率性を改善することができ、前記フラグ値の誤謬などによるシステム誤謬を最小化ないし防止することができる。
【0026】
本発明のさらに他面によれば、アプリケーションコードのアップデート中にエラーが発生してアップデートが中断される場合、ブートインジケータが記録されないことで、不揮発性メモリの特定領域に別の特定値を有するフラグ(例えば、マジックフラグ(Magic Flag))を記録しなくても、ブートインジケータのみでアプリケーションコードが正常に記録されたか否かを確認することができるという長所がある。
【0027】
以外にも、本発明は、他の多様な効果を有し、このような本発明の他の効果は、下記の説明によって理解でき、本発明の実施形態によってより明らかに分かるだろう。
【0028】
本明細書に添付される次の図面は、本発明の望ましい実施形態を例示するものであり、発明の詳細な説明とともに本発明の技術的な思想をさらに理解させる役割をするため、本発明は図面に記載された事項だけに限定されて解釈されてはならない。
【図面の簡単な説明】
【0029】
【
図1】
図1は、本発明の一実施形態による不揮発性メモリアップデート装置の機能的構成を概略的に示す図である。
【
図2】本発明の一実施形態による不揮発性メモリアップデート装置に備えられる中央処理ユニットの機能的構成を概略的に示すブロック図である。
【
図3】本発明の一実施形態による不揮発性メモリアップデート装置が参照する不揮発性メモリのメモリマップを示すテーブルである。
【
図4】本発明の一実施形態による不揮発性メモリアップデート装置が不揮発性メモリをアップデートする過程を概略的に示す図である。
【
図5】本発明の一実施形態による不揮発性メモリアップデート方法を概略的に示すフローチャートである。
【発明を実施するための形態】
【0030】
以下、添付された図面を参照して本発明の望ましい実施形態を詳しく説明する。これに先立ち、本明細書及び特許請求の範囲に使われた用語や単語は通常的や辞書的な意味に限定して解釈されてはならず、発明者自らは発明を最善の方法で説明するために用語の概念を適切に定義できるという原則に則して本発明の技術的な思想に応ずる意味及び概念で解釈されねばならない。
【0031】
したがって、本明細書に記載された実施形態及び図面に示された構成は、本発明の最も望ましい一実施形態に過ぎず、本発明の技術的な思想のすべてを代弁するものではないため、本出願の時点においてこれらに代替できる多様な均等物及び変形例があり得ることを理解せねばならない。
【0032】
また、本発明に関連する公知の機能または構成についての具体的な説明が、本発明の要旨をぼやかすと判断される場合、その説明を省略する。
【0033】
なお、明細書の全体にかけて、ある部分が、ある構成要素を「含む」とするとき、これは特に反する記載がない限り、他の構成要素を除くことではなく、他の構成要素をさらに含み得ることを意味する。
【0034】
さらに、明細書の全体に亘って、ある部分が他の部分と「連結(接続)」されているとするとき、これは、「直接的に連結(接続)」されている場合のみならず、その中間に他の素子を介して「間接的に(接続)」されている場合も含む。
【0035】
本発明の一実施形態による不揮発性メモリアップデート装置1は、不揮発性メモリ100に保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置であり得る。例えば、本発明の一実施形態による不揮発性メモリアップデート装置1は、バッテリーパックに備えられたBMS(Battery Management System,バッテリーマネジメントシステム)の不揮発性メモリ100に保存されたアプリケーションコードをアップデートするための装置であり得る。例えば、本発明の実施形態による不揮発性メモリ100は、フラッシュメモリ(Flash Memory)であり得る。また、本発明の一実施形態による不揮発性メモリアップデート装置1は、BMSに備えられたMCU(Micro Controller Unit,マイクロコントローラーユニット)であり得る。
【0036】
図1は、本発明の一実施形態による不揮発性メモリアップデート装置の機能的構成を概略的に示す図であり、
図2は、本発明の実施形態による不揮発性メモリアップデート装置に備えられる中央処理ユニットの機能的構成を概略的に示すブロック図である。
【0037】
図1及び
図2を参照すれば、本発明の一実施形態による不揮発性メモリアップデート装置1は、揮発性メモリ200及び中央処理ユニット300を含む。
【0038】
前記揮発性メモリ200は、アプリケーションコードを保存するように構成され得る。例えば、揮発性メモリ200は、データを保存するように構成されたメモリ装置であり得る。ここで、アプリケーションコードは、プログラム言語で作成されたコード(code)であり得る。例えば、アプリケーションコードは、BMSの駆動に関わるプログラムコードであり得る。
【0039】
本発明の一実施形態による前記揮発性メモリ200は、システム駆動時にシステム駆動のためのデータを保存するメモリであって、システムの電源がオン状態であるときにのみデータを保存し、システム電源がオフされると、保存していたデータが全て消去されるメモリであり得る。また、揮発性メモリ200は、内部の特定領域に前記アプリケーションコードを保存し得る。例えば、揮発性メモリ200は、RAM(Random Access Memory,ランダムアクセスメモリ)、SRAM(Static RAM,スタティックRAM)、DRAM(Dynamic RAM,ダイナミックRAM)、SDRAM(Synchronous DRAM,シンクロナスDRAM)などで具現され得る。
【0040】
また、本発明の一実施形態による不揮発性メモリアップデート装置1は、
図1の構成に示したように、不揮発性メモリ100を含み得る。
【0041】
前記不揮発性メモリ100は、電源供給が遮断されても、保存していたデータを維持するメモリ装置であり得る。例えば、不揮発性メモリ100は、フラッシュメモリ装置、ROM(Read Only Memory,リードオンリメモリ)、PROM(Programmable ROM,プログラマブルROM)、EPROM(Electrically Programmable ROM,エレクトリカリープログラマブルROM)、EEPROM(Electrically Erasable Programmable ROM,エレクトリカリーイレーサブルプログラマブル)、抵抗性メモリ装置(例えば、PRAM(登録商標)(Phase‐change RAM,相変化RAM)、FRAM(登録商標)(Ferroelectric RAM,フェロエレクトリックRAM)、RRAM(Resistive RAM,レジスティブRAM))などで具現され得る。
【0042】
また、本発明の一実施形態による揮発性メモリ200及び不揮発性メモリ100は、
図1の構成に示したように、中央処理ユニット300によって各々アクセス可能になるようにデータバス500を介して中央処理ユニット300と各々電気的に接続し得る。また、揮発性メモリ200及び不揮発性メモリ100は、中央処理ユニット300が各々実行する各種制御ロジッグを含むプログラム及び/または制御ロジッグが実行されるときに発生するデータを保存及び/または更新及び/または消去及び/または伝送し得る。
【0043】
前記中央処理ユニット300は、アプリケーションコードを揮発性メモリ200に記録し得る。例えば、
図1に示した構成のように、中央処理ユニット300は、データバス500を介して揮発性メモリ200にアクセスし、データバス500を介してアプリケーションコードを揮発性メモリ200に記録し得る。
【0044】
また、中央処理ユニット300は、揮発性メモリ200に記録されたアプリケーションコードを不揮発性メモリ100に記録し得る。例えば、
図1に示した構成のように、中央処理ユニット300は、データバス500を介して揮発性メモリ200及び不揮発性メモリ100にアクセスし得る。また、中央処理ユニット300は、データバス500を介してアプリケーションコードを揮発性メモリ200から不揮発性メモリ100に伝達し、不揮発性メモリ100にアプリケーションコードを記録し得る。
【0045】
また、中央処理ユニット300は、不揮発性メモリ100にアプリケーションコードの記録が終了する場合、アプリケーションコードのブート情報を示すブートインジケータを不揮発性メモリ100に記録し得る。例えば、中央処理ユニット300は、不揮発性メモリ100にアプリケーションコードの記録が終了したか否かを判断し得る。例えば、中央処理ユニット300は、アプリケーションコードの大きさ(例えば、バイト(byte))に基づいてアプリケーションコードの全体の大きさが記録された場合、アプリケーションコードの記録が終了したと判断し得る。また、中央処理ユニット300は、不揮発性メモリ100にアプリケーションコードの記録が終了すると、ブートインジケータを不揮発性メモリ100に記録し得る。ここで、ブートインジケータは、不揮発性メモリ100に記録されたアプリケーションコードのブート情報を示し得る。例えば、ブートインジケータは、中央処理ユニット300がアプリケーションコードを実行するために、アプリケーションコードの実行に先立って実行するコードであり得る。また、ブートインジケータは、アプリケーションコードの固有識別子、位置及び大きさなどを含むブート情報を示し得る。
【0046】
望ましくは、本発明の一実施形態による中央処理ユニット300は、
図2に示した構成のように、読み取りモジュール310、書き込みモジュール330及び判断モジュール350を含み得る。
【0047】
前記読み取りモジュール310は、揮発性メモリ200または不揮発性メモリ100にアクセスし、揮発性メモリ200または不揮発性メモリ100に記録されたアプリケーションコードを読み取り得る。例えば、読み取りモジュール310は、揮発性メモリ200または不揮発性メモリ100に記録されたアプリケーションコードを実行し得る。また、読み取りモジュール310は、アプリケーションコードを読み取る場合、アドレスが低いメモリ領域からアドレスが高いメモリ領域の順でアプリケーションコードを読み取り得る。
【0048】
前記書き込みモジュール330は、揮発性メモリ200または不揮発性メモリ100にアクセスし、揮発性メモリ200または不揮発性メモリ100にアプリケーションコードを記録し得る。例えば、書き込みモジュール330は、揮発性メモリ200または不揮発性メモリ100に記録されたアプリケーションコードを保存し得る。また、書き込みモジュール330は、アプリケーションコードを記録する場合、アドレスが低いメモリ領域からアドレスが高いメモリ領域の順で正方向へアプリケーションコードを記録し得る。
【0049】
また、本発明の一実施形態による書き込みモジュール330は、アプリケーションコードを記録する場合、アドレスが高いメモリ領域からアドレスが低いメモリ領域の順で逆方向にアプリケーションコードを記録し得る。この場合、アプリケーションコードの最後がアドレスの高いメモリ領域に記録され、アプリケーションコードの先頭がアドレスの低いメモリ領域に記録され得る。
【0050】
前記判断モジュール350は、不揮発性メモリ100に記録されたアプリケーションコードが正常に記録されたか否かを判断し得る。例えば、判断モジュール350は、不揮発性メモリ100にアプリケーションコードの全てのデータが切れることなく正常に記録されたか否かを判断し得る。また、判断モジュール350は、アプリケーションコードが不揮発性メモリ100に正常に記録されたと確認される場合、アプリケーションコードのアップデートを終了し得る。例えば、判断モジュール350は、アプリケーションコードが不揮発性メモリ100に正常に記録されたと確認されると、アプリケーションコードのアップデートを終了し得る。
【0051】
望ましくは、本発明の一実施形態による判断モジュール350は、揮発性メモリ200に記録されたアプリケーションコードと不揮発性メモリ100に記録されたアプリケーションコードとを比較し得る。また、判断モジュール350は、揮発性メモリ200に記録されたアプリケーションコードと不揮発性メモリ100に記録されたアプリケーションコードとを比較し、アプリケーションコードが正常に記録されたか否かを判断し得る。
【0052】
望ましくは、本発明の一実施形態による判断モジュール350は、揮発性メモリ200に記録されたアプリケーションコードと不揮発性メモリ100に記録されたアプリケーションコードとが一致する場合、アプリケーションコードが正常に記録されたと判断し得る。
一方、中央処理ユニット300は、上述したような動作を行うために、当業界に知られたCPU(Central Processing Unit,中央処理ユニット)、プロセッサ、ASIC(Application‐Specific Integrated Circuit,特定用途向け集積回路)、他のチップセット、論理回路、レジスター、通信モデム及び/またはデータ処理装置などを選択的に含んで具現され得る。
【0053】
望ましくは、本発明の一実施形態による不揮発性メモリアップデート装置1は、
図1に示した構成のように、通信ユニット400をさらに含み得る。
【0054】
前記通信ユニット400は、外部装置50からアプリケーションコードを受信するように構成され得る。例えば、
図1に示した構成のように、通信ユニット400は、外部装置50と有無線通信を行って外部装置50からアプリケーションコードを受信し得る。また、通信ユニット400は、データバス500と電気的に接続し、データバス500を介して不揮発性メモリ100、揮発性メモリ200及び中央処理ユニット300と各々接続し得る。
【0055】
図3は、本発明の一実施形態による不揮発性メモリアップデート装置が参照する不揮発性メモリのメモリマップを示す表であり、
図4は、本発明の一実施形態による不揮発性メモリアップデート装置が不揮発性メモリをアップデートする過程を概略的に示す図である。
【0056】
図3及び
図4を参照すれば、本発明の一実施形態による中央処理ユニット300は、アプリケーションコードが保存される不揮発性メモリ100内の保存領域を設定し得る。例えば、中央処理ユニット300は、不揮発性メモリ100内の特定領域にアプリケーションコードが保存される保存領域を設定し得る。例えば、
図3のテーブルに示したように、不揮発性メモリ100は、第1保存領域101、第2保存領域102、第3保存領域103、第4保存領域104、及び第5保存領域105を含み得る。
【0057】
前記第1保存領域101は、第0ブロックを示し、0x0100_0000から0x103FFFFまでのアドレスを有し、256kBのサイズを有し得る。また、第2保存領域102は、第1ブロックを示し、0x0104_0000から0x107FFFFまでのアドレスを有し、256kBのサイズを有し得る。また、第3保存領域103は、第2ブロックを示し、0x0108_0000から0x10BFFFFまでのアドレスを有し、256kBのサイズを有し得る。また、第4保存領域104は、第3ブロックを示し、0x010C_0000から0x10FFFFFまでのアドレスを有し、256kBのサイズを有し得る。また、第5保存領域105は、第4ブロックを示し、0x0110_0000から0x113FFFFまでのアドレスを有し、256kBのサイズを有し得る。
【0058】
望ましくは、中央処理ユニット300は、保存領域のアドレスが高い領域から保存領域のアドレスが低い領域へと、アプリケーションコードを逆方向に記録し得る。例えば、
図4の実施形態に示したように、中央処理ユニット300は、第5保存領域105から第1保存領域101の順で
図4の矢印方向へアプリケーションコードを逆方向に記録し得る。
【0059】
望ましくは、中央処理ユニット300は、保存領域内にアプリケーションコードの記録が終了する場合、アプリケーションコードが保存された保存領域のアドレスよりもアドレスが低い領域にブートインジケータ110を記録し得る。例えば、中央処理ユニット300は、アプリケーションコードの大きさを判断し、アプリケーションコードの大きさに基づいてアプリケーションコードのデータが全て保存領域内に記録されると、アプリケーションコードの記録が終了したと判断し得る。続いて、中央処理ユニット300は、アプリケーションコードに続いてアプリケーションコードが保存された保存領域のアドレスよりもアドレスが低い領域にブートインジケータ110を記録し得る。
【0060】
例えば、
図3及び
図4の実施形態において、アプリケーションコードの大きさが508kBであり、ブートインジケータ110の大きさが4kBである場合、中央処理ユニット300は、第2保存領域102の最後のアドレスから第1保存領域101の順でアプリケーションコードを記録し得る。また、中央処理ユニット300は、アプリケーションコードの記録が終了すると、アプリケーションコードの直前にブートインジケータ110を記録し得る。この場合、中央処理ユニット300は、アプリケーションコードの最後のコードを第2保存領域102の最後のアドレスに記録し、アプリケーションコードの最初のコードを第1保存領域101のブートインジケータ110に続いて記録し、ブートインジケータ110を第1保存領域101の最初のアドレスに記録し得る。
【0061】
望ましくは、中央処理ユニット300は、不揮発性メモリ100に記録されたブートインジケータ110の存在有無に基づいて、アプリケーションコードが正常に記録されたか否かを判断し得る。例えば、
図4に示した実施形態のように、中央処理ユニット300は、不揮発性メモリ100に記録されたブートインジケータ110を検索し、不揮発性メモリ100にブートインジケータ110が存在する場合、これに基づいてアプリケーションコードが正常に記録されたと判断し得る。
【0062】
望ましくは、中央処理ユニット300は、アプリケーションコードの実行命令を受信する場合、ブートインジケータ110の存在有無を確認し得る。また、中央処理ユニット300は、ブートインジケータ110が正常に記録されたと確認される場合、アプリケーションコードを実行し得る。例えば、
図4に示した実施形態のように、中央処理ユニット300は、アプリケーションコードを実行するためにブートインジケータ110の存在有無を確認し得る。また、中央処理ユニット300は、ブートインジケータ110が正常に記録されたと確認されると、ブートインジケータ110に続いて記録されたアプリケーションコードから順次にアプリケーションコードを読み取りながらアプリケーションコードを実行し得る。
【0063】
このような構成によって、本発明の一実施形態による不揮発性メモリアップデート装置は、アプリケーションコードが正常に記録されたか否かを確認するために、不揮発性メモリ100の特定領域に別の特定値を有するフラグ(例えば、マジックフラグ(Magic Flag))を記録することなく、ブートインジケータ110のみでアプリケーションコードが正常に記録されたか否かを確認することができる長所を有する。
【0064】
本発明による不揮発性メモリアップデート装置は、BMSに適用可能である。即ち、本発明によるBMSは、上述した本発明による不揮発性メモリアップデート装置を含み得る。このような構成において、本発明による不揮発性メモリアップデート装置の各構成要素のうち少なくとも一部は、従来のBMSに含まれた構成の機能を補完または追加することで具現され得る。例えば、本発明による不揮発性メモリアップデート装置の中央処理ユニット300及び不揮発性メモリ100は、BMS(Battery Management System,バッテリーマネジメントシステム)の構成要素として具現され得る。
【0065】
また、本発明による不揮発性メモリアップデート装置は、バッテリーパックに備えられ得る。即ち、本発明によるバッテリーパックは、上述した本発明による不揮発性メモリアップデート装置を含み得る。ここで、バッテリーパックは、一つ以上の二次電池、前記不揮発性メモリアップデート装置、電装品(BMSやリレー、ヒューズなど)及びケースなどを含み得る。
【0066】
図5は、本発明の一実施形態による不揮発性メモリアップデート方法を概略的に示すフローチャートである。
図5において、各段階の遂行主体は、前述した本発明による不揮発性メモリアップデート装置の各構成要素であるといえる。
【0067】
図5に示したように、本発明の一実施形態による不揮発性メモリアップデート方法は、揮発性メモリへの記録段階S100、不揮発性メモリへの記録段階S110及びブートインジケータの記録段階S120を含む。
【0068】
先ず、揮発性メモリへの記録段階S100では、前記アプリケーションコードを揮発性メモリに記録し得る。続いて、不揮発性メモリへの記録段階S110では、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録し得る。続いて、ブートインジケータの記録段階S120では、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録し得る。
【0069】
望ましくは、本発明の一実施形態によるブートインジケータの記録段階S120では、前記不揮発性メモリに記録された前記アプリケーションコードが正常に記録されたか否かを判断し、前記アプリケーションコードが前記不揮発性メモリに正常に記録されたと確認される場合、前記アプリケーションコードのアップデートを終了し得る。
【0070】
望ましくは、本発明の一実施形態による本発明の一実施形態によるブートインジケータの記録段階S120では、前記不揮発性メモリに記録された前記ブートインジケータの存在有無に基づいて前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【0071】
望ましくは、本発明の一実施形態による不揮発性メモリのアップデート方法は、アプリケーションコードの実行段階をさらに含み得る。前記アプリケーションコードの実行段階では、前記アプリケーションコードの実行命令を受信する場合、前記ブートインジケータの存在有無を確認し、前記ブートインジケータが正常に記録されたと確認される場合、前記アプリケーションコードを実行し得る。
【0072】
望ましくは、本発明の一実施形態による不揮発性メモリへの記録段階S110では、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとを比較し、前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【0073】
望ましくは、本発明の実施形態による不揮発性メモリへの記録段階S110では、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとが一致する場合、前記アプリケーションコードが正常に記録されたと判断し得る。
【0074】
望ましくは、本発明の一実施形態による本発明の一実施形態による不揮発性メモリへの記録段階S110では、前記アプリケーションコードが保存される前記不揮発性メモリ内の保存領域を設定し、前記保存領域のアドレスが高い領域から前記保存領域のアドレスが低い領域へと、前記アプリケーションコードを逆方向に記録し得る。
【0075】
望ましくは、本発明の一実施形態による本発明の一実施形態によるブートインジケータの記録段階S120では、前記保存領域内に前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードが保存された前記保存領域のアドレスよりもアドレスが低い領域に、前記ブートインジケータを記録し得る。
【0076】
また、前記制御ロジックがソフトウェアとして具現されるとき、中央処理ユニットは、プログラムモジュールの集合によって具現され得る。この際、プログラムモジュールはメモリ装置に保存され、中央処理ユニットによって実行され得る。
【0077】
また、中央処理ユニットの多様な制御ロジックは、少なくとも一つ以上が組み合わせられ、組み合わせられた制御ロジックは、コンピュータが読出可能なコード体系で作成され、コンピュータが読出可能であってアクセス可能なものであれば、その種類は特に制限されない。一例として、前記記録媒体は、ROM、RAM、レジスター、CD‐ROM、磁気テープ、ハードディスク、フロッピーディスク及び光データ記録装置を含む群より選択された少なくとも一つ以上を含む。また、前記コード体系は、ネットワークによって接続したコンピュータに分散して保存されて実行され得る。また、前記組み合わせられた制御ロジックを具現するための機能的なプログラム、コード及びコードセグメントは、本発明が属する技術分野におけるプログラマーによって容易に推論できる。
【0078】
以上、本発明を限定された実施形態と図面によって説明したが、本発明はこれに限定されず、本発明の属する技術分野における通常の知識を持つ者によって本発明の技術思想と特許請求の範囲の均等範囲内で多様な修正及び変形が可能であることは言うまでもない。
【符号の説明】
【0079】
1 不揮発性メモリアップデート装置
50 外部装置
100 不揮発性メモリ
110 ブートインジケータ
200 揮発性メモリ
300 中央処理ユニット
310 読み取りモジュール
330 書き込みモジュール
350 判断モジュール
400 通信ユニット
500 データバス