(57)【要約】  本発明の一実施形態による不揮発性メモリアップデート装置は、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置である。不揮発性メモリアップデート装置は、前記アプリケーションコードを保存するように構成された揮発性メモリと、前記揮発性メモリに記録された前記アプリケーションコード及び前記アプリケーションコードのブート情報を示すブートインジケータを不揮発性メモリに記録するように構成された中央処理ユニットと、を含む。
2021509990.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置であって、
前記アプリケーションコードを保存するように構成された揮発性メモリと、
前記アプリケーションコードを前記揮発性メモリに記録し、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録し、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録するように構成された中央処理ユニットと、を含むことを特徴とする、不揮発性メモリアップデート装置。
【請求項２】
前記中央処理ユニットは、
前記不揮発性メモリに記録された前記アプリケーションコードが正常に記録されたか否かを判断し、前記アプリケーションコードが前記不揮発性メモリに正常に記録されたと確認される場合、前記アプリケーションコードのアップデートを終了することを特徴とする、請求項１に記載の不揮発性メモリアップデート装置。
【請求項３】
前記中央処理ユニットは、
前記不揮発性メモリに記録された前記ブートインジケータの存在有無に基づき、前記アプリケーションコードが正常に記録されたか否かを判断するように構成されたことを特徴とする、請求項１または２に記載の不揮発性メモリアップデート装置。
【請求項４】
前記中央処理ユニットは、
前記アプリケーションコードの実行命令を受信する場合、前記ブートインジケータの存在有無を確認し、前記ブートインジケータが正常に記録されたと確認される場合、前記アプリケーションコードを実行するように構成されたことを特徴とする、請求項３に記載の不揮発性メモリアップデート装置。
【請求項５】
前記中央処理ユニットは、
前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとを比較し、前記アプリケーションコードが正常に記録されたか否かを判断するように構成されたことを特徴とする請求項１から４のいずれか一項に記載の不揮発性メモリアップデート装置。
【請求項６】
前記中央処理ユニットは、
前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとが一致する場合、前記アプリケーションコードが正常に記録されたと判断するように構成されたことを特徴とする、請求項５に記載の不揮発性メモリアップデート装置。
【請求項７】
前記中央処理ユニットは、
前記アプリケーションコードが保存される前記不揮発性メモリ内の保存領域を設定し、前記保存領域におけるアドレスの高い領域から前記保存領域におけるアドレスの低い領域へ前記アプリケーションコードを逆方向に記録するように構成されたことを特徴とする、請求項１から６のいずれか一項に記載の不揮発性メモリアップデート装置。
【請求項８】
前記中央処理ユニットは、
前記保存領域内に前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードが保存された前記保存領域のアドレスよりもアドレスが低い領域に前記ブートインジケータを記録するように構成されたことを特徴とする、請求項７に記載の不揮発性メモリアップデート装置。
【請求項９】
外部装置から前記アプリケーションコードを受信するように構成された通信ユニットをさらに含むことを特徴とする請求項１に記載の不揮発性メモリアップデート装置。
【請求項１０】
請求項１から９のいずれか一項に記載の不揮発性メモリアップデート装置を含む、バッテリーマネジメントシステム（ＢＭＳ）。
【請求項１１】
請求項１から９のいずれか一項に記載の不揮発性メモリアップデート装置を含む、バッテリーパック。
【請求項１２】
中央処理ユニットによって、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート方法であって、
前記中央処理ユニットが、前記アプリケーションコードを揮発性メモリに記録する段階と、
前記中央処理ユニットが、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録する段階と、
前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記中央処理ユニットが、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録する段階と、を含むことを特徴とする、不揮発性メモリアップデート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリアップデート装置及び方法に関し、より詳しくは、バッテリーパックに備えられたＢＭＳの不揮発性メモリをアップデートする過程でアップデートの信頼性を確保することができる不揮発性メモリアップデート装置及び方法に関する。
【０００２】
本出願は、２０１８年９月１２日出願の韓国特許出願第１０−２０１８−０１０９２０７号に基づく優先権を主張し、該当出願の明細書及び図面に開示された内容は、すべて本出願に組み込まれる。
【背景技術】
【０００３】
最近、ノートブックＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ，パーソナルコンピューター）、ビデオカメラ、携帯電話などのような携帯用電子製品の需要が急増し、電気自動車、エネルギー貯蔵用蓄電池、ロボット、衛星などの開発が本格化するにつれ、反復的な充放電の可能な高性能二次電池についての研究が活発に進行しつつある。
【０００４】
現在、商用化した二次電池としては、ニッケルカドミウム電池、ニッケル水素電池、ニッケル亜鉛電池及びリチウム二次電池などがあり、このうち、リチウム二次電池は、ニッケル系の二次電池に比べてメモリ効果がほとんど起こらず、充放電が自由で、自己放電率が非常に低くてエネルギー密度が高いという長所から脚光を浴びている。
【０００５】
バッテリーは多様な分野で用いられており、電気駆動車両またはスマートグリッドシステムのように最近にバッテリーがよく活用される分野は、大きい容量を要する場合が多い。バッテリーパックの容量を増加させるためには、二次電池、即ち、バッテリーセルそのものの容量を増加させる方法が考えられるが、この場合、容量増大の効果が大きくなく、二次電池の大きさの拡張に物理的制限があり、管理が不便であるという短所を有する。これによって、通常は複数のバッテリーモジュールが直列及び並列に接続したバッテリーパックが広く用いられる。
【０００６】
このようなバッテリーパックには、バッテリーの電圧、電流及び温度などを測定し、バッテリーの充放電を制御するように構成された複数のチップと電気回路を有するＢＭＳ（Ｂａｔｔｅｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ，バッテリーマネジメントシステム）が備えられる。例えば、ＢＭＳには、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ，中央処理ユニット）及びメモリデバイスなどを含むＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ，マイクロコントローラーユニット）のようなチップが備えられ得る。
【０００７】
通常、ＭＣＵは、ＢＭＳを駆動するためのプログラムをＭＣＵ内部のメモリデバイスに保存し、ＣＰＵがこのプログラムを読み込んでそれに従って全体システムの駆動を制御する。このようなシステム駆動のためのプログラムを保存するためのメモリデバイスとしては、揮発性メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，ランダムアクセスメモリ）及び不揮発性メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ，リードオンリメモリ）などが用いられる。
【０００８】
従来、不揮発性メモリをアップデートするためには、不揮発性メモリにプログラムが正常に記録されたか否かを確認するために、特定値を有するフラグ（例えば、マジックフラグ（Ｍａｇｉｃ  Ｆｌａｇ））を不揮発性メモリの特定領域に記録し、前記フラグを確認することで不揮発性メモリにプログラムが正常に記録されたと判断していた。しかし、前記フラグを記録する過程で、不揮発性メモリの特定領域を別に生成し、前記特定領域を持続的に管理しなければならないという不便があった。
【０００９】
また、従来には、前記フラグを確認してアプリケーションコードが正常に記録されたと確認した上で、ブートインジケータを読み込んでアプリケーションコードを実行しなければならないという煩雑さがあった。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上記問題点に鑑みてなされたものであり、バッテリーパックに備えられたＢＭＳの不揮発性メモリをアップデートする過程でアップデートの信頼性を確保することができる改善した不揮発性メモリアップデート装置及び方法を提供することを目的とする。
【００１１】
本発明の他の目的及び長所は、下記する説明によって理解でき、本発明の実施形態によってより明らかに分かるであろう。また、本発明の目的及び長所は、特許請求の範囲に示される手段及びその組合せによって実現することができる。
【課題を解決するための手段】
【００１２】
上記の課題を達成するため、本発明の一実施形態による不揮発性メモリアップデート装置は、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置であって、前記アプリケーションコードを保存するように構成された揮発性メモリと、前記アプリケーションコードを前記揮発性メモリに記録し、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録し、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録するように構成された中央処理ユニットと、を含む。
【００１３】
また、前記中央処理ユニットは、前記不揮発性メモリに記録された前記アプリケーションコードが正常に記録されたか否かを判断し、前記アプリケーションコードが前記不揮発性メモリに正常に記録されたと確認される場合、前記アプリケーションコードのアップデートを終了し得る。
【００１４】
また、前記中央処理ユニットは、前記不揮発性メモリに記録された前記ブートインジケータの存在有無に基づき、前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【００１５】
また、前記中央処理ユニットは、前記アプリケーションコードの実行命令を受信する場合、前記ブートインジケータの存在有無を確認し、前記ブートインジケータが正常に記録されたと確認される場合、前記アプリケーションコードを実行し得る。
【００１６】
また、前記中央処理ユニットは、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとを比較し、前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【００１７】
また、前記中央処理ユニットは、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとが一致する場合、前記アプリケーションコードが正常に記録されたと判断し得る。
【００１８】
また、前記中央処理ユニットは、前記アプリケーションコードが保存される前記不揮発性メモリ内の保存領域を設定し、前記保存領域におけるアドレスの高い領域から前記保存領域におけるアドレスの低い領域へ前記アプリケーションコードを逆方向に記録し得る。
【００１９】
また、前記中央処理ユニットは、前記保存領域内に前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードが保存された前記保存領域のアドレスよりもアドレスが低い領域に前記ブートインジケータを記録し得る。
【００２０】
なお、本発明の一実施形態による不揮発性メモリアップデート装置は、外部装置から前記アプリケーションコードを受信するように構成された通信ユニットをさらに含み得る。
【００２１】
また、上記の課題を達成するため、本発明の一実施形態によるＢＭＳは、本発明による不揮発性メモリアップデート装置を含む。
【００２２】
また、上記の課題を達成するため、本発明の一実施形態によるバッテリーパックは、本発明による不揮発性メモリアップデート装置を含む。
【００２３】
また、上記の課題を達成するため、本発明の一実施形態による不揮発性メモリアップデート方法は、不揮発性メモリに保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート方法であって、前記アプリケーションコードを揮発性メモリに記録する段階と、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録する段階と、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録する段階と、を含む。
【発明の効果】
【００２４】
本発明の一面によれば、アプリケーションコードが正常に記録されたか否かを確認するために、不揮発性メモリの特定領域に別の特定値を有するフラグ（例えば、マジックフラグ（Ｍａｇｉｃ  Ｆｌａｇ））を記録することなく、ブートインジケータのみでアプリケーションコードが正常に記録されたか否かを確認することができるという長所がある。
【００２５】
本発明の他面によれば、別の特定値を有するフラグ（例えば、マジックフラグ（Ｍａｇｉｃ  Ｆｌａｇ））の記録を省略することができるため、不揮発性メモリの運営効率性を改善することができ、前記フラグ値の誤謬などによるシステム誤謬を最小化ないし防止することができる。
【００２６】
本発明のさらに他面によれば、アプリケーションコードのアップデート中にエラーが発生してアップデートが中断される場合、ブートインジケータが記録されないことで、不揮発性メモリの特定領域に別の特定値を有するフラグ（例えば、マジックフラグ（Ｍａｇｉｃ  Ｆｌａｇ））を記録しなくても、ブートインジケータのみでアプリケーションコードが正常に記録されたか否かを確認することができるという長所がある。
【００２７】
以外にも、本発明は、他の多様な効果を有し、このような本発明の他の効果は、下記の説明によって理解でき、本発明の実施形態によってより明らかに分かるだろう。
【００２８】
本明細書に添付される次の図面は、本発明の望ましい実施形態を例示するものであり、発明の詳細な説明とともに本発明の技術的な思想をさらに理解させる役割をするため、本発明は図面に記載された事項だけに限定されて解釈されてはならない。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明の一実施形態による不揮発性メモリアップデート装置の機能的構成を概略的に示す図である。
【図２】本発明の一実施形態による不揮発性メモリアップデート装置に備えられる中央処理ユニットの機能的構成を概略的に示すブロック図である。
【図３】本発明の一実施形態による不揮発性メモリアップデート装置が参照する不揮発性メモリのメモリマップを示すテーブルである。
【図４】本発明の一実施形態による不揮発性メモリアップデート装置が不揮発性メモリをアップデートする過程を概略的に示す図である。
【図５】本発明の一実施形態による不揮発性メモリアップデート方法を概略的に示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、添付された図面を参照して本発明の望ましい実施形態を詳しく説明する。これに先立ち、本明細書及び特許請求の範囲に使われた用語や単語は通常的や辞書的な意味に限定して解釈されてはならず、発明者自らは発明を最善の方法で説明するために用語の概念を適切に定義できるという原則に則して本発明の技術的な思想に応ずる意味及び概念で解釈されねばならない。
【００３１】
したがって、本明細書に記載された実施形態及び図面に示された構成は、本発明の最も望ましい一実施形態に過ぎず、本発明の技術的な思想のすべてを代弁するものではないため、本出願の時点においてこれらに代替できる多様な均等物及び変形例があり得ることを理解せねばならない。
【００３２】
また、本発明に関連する公知の機能または構成についての具体的な説明が、本発明の要旨をぼやかすと判断される場合、その説明を省略する。
【００３３】
なお、明細書の全体にかけて、ある部分が、ある構成要素を「含む」とするとき、これは特に反する記載がない限り、他の構成要素を除くことではなく、他の構成要素をさらに含み得ることを意味する。
【００３４】
さらに、明細書の全体に亘って、ある部分が他の部分と「連結（接続）」されているとするとき、これは、「直接的に連結（接続）」されている場合のみならず、その中間に他の素子を介して「間接的に（接続）」されている場合も含む。
【００３５】
本発明の一実施形態による不揮発性メモリアップデート装置１は、不揮発性メモリ１００に保存されたアプリケーションコードをアップデートするための不揮発性メモリアップデート装置であり得る。例えば、本発明の一実施形態による不揮発性メモリアップデート装置１は、バッテリーパックに備えられたＢＭＳ（Ｂａｔｔｅｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ，バッテリーマネジメントシステム）の不揮発性メモリ１００に保存されたアプリケーションコードをアップデートするための装置であり得る。例えば、本発明の実施形態による不揮発性メモリ１００は、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）であり得る。また、本発明の一実施形態による不揮発性メモリアップデート装置１は、ＢＭＳに備えられたＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ，マイクロコントローラーユニット）であり得る。
【００３６】
図１は、本発明の一実施形態による不揮発性メモリアップデート装置の機能的構成を概略的に示す図であり、図２は、本発明の実施形態による不揮発性メモリアップデート装置に備えられる中央処理ユニットの機能的構成を概略的に示すブロック図である。
【００３７】
図１及び図２を参照すれば、本発明の一実施形態による不揮発性メモリアップデート装置１は、揮発性メモリ２００及び中央処理ユニット３００を含む。
【００３８】
前記揮発性メモリ２００は、アプリケーションコードを保存するように構成され得る。例えば、揮発性メモリ２００は、データを保存するように構成されたメモリ装置であり得る。ここで、アプリケーションコードは、プログラム言語で作成されたコード（ｃｏｄｅ）であり得る。例えば、アプリケーションコードは、ＢＭＳの駆動に関わるプログラムコードであり得る。
【００３９】
本発明の一実施形態による前記揮発性メモリ２００は、システム駆動時にシステム駆動のためのデータを保存するメモリであって、システムの電源がオン状態であるときにのみデータを保存し、システム電源がオフされると、保存していたデータが全て消去されるメモリであり得る。また、揮発性メモリ２００は、内部の特定領域に前記アプリケーションコードを保存し得る。例えば、揮発性メモリ２００は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，ランダムアクセスメモリ）、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ，スタティックＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ，ダイナミックＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ，シンクロナスＤＲＡＭ）などで具現され得る。
【００４０】
また、本発明の一実施形態による不揮発性メモリアップデート装置１は、図１の構成に示したように、不揮発性メモリ１００を含み得る。
【００４１】
前記不揮発性メモリ１００は、電源供給が遮断されても、保存していたデータを維持するメモリ装置であり得る。例えば、不揮発性メモリ１００は、フラッシュメモリ装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ，リードオンリメモリ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ，プログラマブルＲＯＭ）、ＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ，エレクトリカリープログラマブルＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ，エレクトリカリーイレーサブルプログラマブル）、抵抗性メモリ装置（例えば、ＰＲＡＭ（登録商標）（Ｐｈａｓｅ‐ｃｈａｎｇｅ  ＲＡＭ，相変化ＲＡＭ）、ＦＲＡＭ（登録商標）（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ，フェロエレクトリックＲＡＭ）、ＲＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ，レジスティブＲＡＭ））などで具現され得る。
【００４２】
また、本発明の一実施形態による揮発性メモリ２００及び不揮発性メモリ１００は、図１の構成に示したように、中央処理ユニット３００によって各々アクセス可能になるようにデータバス５００を介して中央処理ユニット３００と各々電気的に接続し得る。また、揮発性メモリ２００及び不揮発性メモリ１００は、中央処理ユニット３００が各々実行する各種制御ロジッグを含むプログラム及び／または制御ロジッグが実行されるときに発生するデータを保存及び／または更新及び／または消去及び／または伝送し得る。
【００４３】
前記中央処理ユニット３００は、アプリケーションコードを揮発性メモリ２００に記録し得る。例えば、図１に示した構成のように、中央処理ユニット３００は、データバス５００を介して揮発性メモリ２００にアクセスし、データバス５００を介してアプリケーションコードを揮発性メモリ２００に記録し得る。
【００４４】
また、中央処理ユニット３００は、揮発性メモリ２００に記録されたアプリケーションコードを不揮発性メモリ１００に記録し得る。例えば、図１に示した構成のように、中央処理ユニット３００は、データバス５００を介して揮発性メモリ２００及び不揮発性メモリ１００にアクセスし得る。また、中央処理ユニット３００は、データバス５００を介してアプリケーションコードを揮発性メモリ２００から不揮発性メモリ１００に伝達し、不揮発性メモリ１００にアプリケーションコードを記録し得る。
【００４５】
また、中央処理ユニット３００は、不揮発性メモリ１００にアプリケーションコードの記録が終了する場合、アプリケーションコードのブート情報を示すブートインジケータを不揮発性メモリ１００に記録し得る。例えば、中央処理ユニット３００は、不揮発性メモリ１００にアプリケーションコードの記録が終了したか否かを判断し得る。例えば、中央処理ユニット３００は、アプリケーションコードの大きさ（例えば、バイト（ｂｙｔｅ））に基づいてアプリケーションコードの全体の大きさが記録された場合、アプリケーションコードの記録が終了したと判断し得る。また、中央処理ユニット３００は、不揮発性メモリ１００にアプリケーションコードの記録が終了すると、ブートインジケータを不揮発性メモリ１００に記録し得る。ここで、ブートインジケータは、不揮発性メモリ１００に記録されたアプリケーションコードのブート情報を示し得る。例えば、ブートインジケータは、中央処理ユニット３００がアプリケーションコードを実行するために、アプリケーションコードの実行に先立って実行するコードであり得る。また、ブートインジケータは、アプリケーションコードの固有識別子、位置及び大きさなどを含むブート情報を示し得る。
【００４６】
望ましくは、本発明の一実施形態による中央処理ユニット３００は、図２に示した構成のように、読み取りモジュール３１０、書き込みモジュール３３０及び判断モジュール３５０を含み得る。
【００４７】
前記読み取りモジュール３１０は、揮発性メモリ２００または不揮発性メモリ１００にアクセスし、揮発性メモリ２００または不揮発性メモリ１００に記録されたアプリケーションコードを読み取り得る。例えば、読み取りモジュール３１０は、揮発性メモリ２００または不揮発性メモリ１００に記録されたアプリケーションコードを実行し得る。また、読み取りモジュール３１０は、アプリケーションコードを読み取る場合、アドレスが低いメモリ領域からアドレスが高いメモリ領域の順でアプリケーションコードを読み取り得る。
【００４８】
前記書き込みモジュール３３０は、揮発性メモリ２００または不揮発性メモリ１００にアクセスし、揮発性メモリ２００または不揮発性メモリ１００にアプリケーションコードを記録し得る。例えば、書き込みモジュール３３０は、揮発性メモリ２００または不揮発性メモリ１００に記録されたアプリケーションコードを保存し得る。また、書き込みモジュール３３０は、アプリケーションコードを記録する場合、アドレスが低いメモリ領域からアドレスが高いメモリ領域の順で正方向へアプリケーションコードを記録し得る。
【００４９】
また、本発明の一実施形態による書き込みモジュール３３０は、アプリケーションコードを記録する場合、アドレスが高いメモリ領域からアドレスが低いメモリ領域の順で逆方向にアプリケーションコードを記録し得る。この場合、アプリケーションコードの最後がアドレスの高いメモリ領域に記録され、アプリケーションコードの先頭がアドレスの低いメモリ領域に記録され得る。
【００５０】
前記判断モジュール３５０は、不揮発性メモリ１００に記録されたアプリケーションコードが正常に記録されたか否かを判断し得る。例えば、判断モジュール３５０は、不揮発性メモリ１００にアプリケーションコードの全てのデータが切れることなく正常に記録されたか否かを判断し得る。また、判断モジュール３５０は、アプリケーションコードが不揮発性メモリ１００に正常に記録されたと確認される場合、アプリケーションコードのアップデートを終了し得る。例えば、判断モジュール３５０は、アプリケーションコードが不揮発性メモリ１００に正常に記録されたと確認されると、アプリケーションコードのアップデートを終了し得る。
【００５１】
望ましくは、本発明の一実施形態による判断モジュール３５０は、揮発性メモリ２００に記録されたアプリケーションコードと不揮発性メモリ１００に記録されたアプリケーションコードとを比較し得る。また、判断モジュール３５０は、揮発性メモリ２００に記録されたアプリケーションコードと不揮発性メモリ１００に記録されたアプリケーションコードとを比較し、アプリケーションコードが正常に記録されたか否かを判断し得る。
【００５２】
望ましくは、本発明の一実施形態による判断モジュール３５０は、揮発性メモリ２００に記録されたアプリケーションコードと不揮発性メモリ１００に記録されたアプリケーションコードとが一致する場合、アプリケーションコードが正常に記録されたと判断し得る。
一方、中央処理ユニット３００は、上述したような動作を行うために、当業界に知られたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ，中央処理ユニット）、プロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ‐Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ，特定用途向け集積回路）、他のチップセット、論理回路、レジスター、通信モデム及び／またはデータ処理装置などを選択的に含んで具現され得る。
【００５３】
望ましくは、本発明の一実施形態による不揮発性メモリアップデート装置１は、図１に示した構成のように、通信ユニット４００をさらに含み得る。
【００５４】
前記通信ユニット４００は、外部装置５０からアプリケーションコードを受信するように構成され得る。例えば、図１に示した構成のように、通信ユニット４００は、外部装置５０と有無線通信を行って外部装置５０からアプリケーションコードを受信し得る。また、通信ユニット４００は、データバス５００と電気的に接続し、データバス５００を介して不揮発性メモリ１００、揮発性メモリ２００及び中央処理ユニット３００と各々接続し得る。
【００５５】
図３は、本発明の一実施形態による不揮発性メモリアップデート装置が参照する不揮発性メモリのメモリマップを示す表であり、図４は、本発明の一実施形態による不揮発性メモリアップデート装置が不揮発性メモリをアップデートする過程を概略的に示す図である。
【００５６】
図３及び図４を参照すれば、本発明の一実施形態による中央処理ユニット３００は、アプリケーションコードが保存される不揮発性メモリ１００内の保存領域を設定し得る。例えば、中央処理ユニット３００は、不揮発性メモリ１００内の特定領域にアプリケーションコードが保存される保存領域を設定し得る。例えば、図３のテーブルに示したように、不揮発性メモリ１００は、第１保存領域１０１、第２保存領域１０２、第３保存領域１０３、第４保存領域１０４、及び第５保存領域１０５を含み得る。
【００５７】
前記第１保存領域１０１は、第０ブロックを示し、０ｘ０１００＿００００から０ｘ１０３ＦＦＦＦまでのアドレスを有し、２５６ｋＢのサイズを有し得る。また、第２保存領域１０２は、第１ブロックを示し、０ｘ０１０４＿００００から０ｘ１０７ＦＦＦＦまでのアドレスを有し、２５６ｋＢのサイズを有し得る。また、第３保存領域１０３は、第２ブロックを示し、０ｘ０１０８＿００００から０ｘ１０ＢＦＦＦＦまでのアドレスを有し、２５６ｋＢのサイズを有し得る。また、第４保存領域１０４は、第３ブロックを示し、０ｘ０１０Ｃ＿００００から０ｘ１０ＦＦＦＦＦまでのアドレスを有し、２５６ｋＢのサイズを有し得る。また、第５保存領域１０５は、第４ブロックを示し、０ｘ０１１０＿００００から０ｘ１１３ＦＦＦＦまでのアドレスを有し、２５６ｋＢのサイズを有し得る。
【００５８】
望ましくは、中央処理ユニット３００は、保存領域のアドレスが高い領域から保存領域のアドレスが低い領域へと、アプリケーションコードを逆方向に記録し得る。例えば、図４の実施形態に示したように、中央処理ユニット３００は、第５保存領域１０５から第１保存領域１０１の順で図４の矢印方向へアプリケーションコードを逆方向に記録し得る。
【００５９】
望ましくは、中央処理ユニット３００は、保存領域内にアプリケーションコードの記録が終了する場合、アプリケーションコードが保存された保存領域のアドレスよりもアドレスが低い領域にブートインジケータ１１０を記録し得る。例えば、中央処理ユニット３００は、アプリケーションコードの大きさを判断し、アプリケーションコードの大きさに基づいてアプリケーションコードのデータが全て保存領域内に記録されると、アプリケーションコードの記録が終了したと判断し得る。続いて、中央処理ユニット３００は、アプリケーションコードに続いてアプリケーションコードが保存された保存領域のアドレスよりもアドレスが低い領域にブートインジケータ１１０を記録し得る。
【００６０】
例えば、図３及び図４の実施形態において、アプリケーションコードの大きさが５０８ｋＢであり、ブートインジケータ１１０の大きさが４ｋＢである場合、中央処理ユニット３００は、第２保存領域１０２の最後のアドレスから第１保存領域１０１の順でアプリケーションコードを記録し得る。また、中央処理ユニット３００は、アプリケーションコードの記録が終了すると、アプリケーションコードの直前にブートインジケータ１１０を記録し得る。この場合、中央処理ユニット３００は、アプリケーションコードの最後のコードを第２保存領域１０２の最後のアドレスに記録し、アプリケーションコードの最初のコードを第１保存領域１０１のブートインジケータ１１０に続いて記録し、ブートインジケータ１１０を第１保存領域１０１の最初のアドレスに記録し得る。
【００６１】
望ましくは、中央処理ユニット３００は、不揮発性メモリ１００に記録されたブートインジケータ１１０の存在有無に基づいて、アプリケーションコードが正常に記録されたか否かを判断し得る。例えば、図４に示した実施形態のように、中央処理ユニット３００は、不揮発性メモリ１００に記録されたブートインジケータ１１０を検索し、不揮発性メモリ１００にブートインジケータ１１０が存在する場合、これに基づいてアプリケーションコードが正常に記録されたと判断し得る。
【００６２】
望ましくは、中央処理ユニット３００は、アプリケーションコードの実行命令を受信する場合、ブートインジケータ１１０の存在有無を確認し得る。また、中央処理ユニット３００は、ブートインジケータ１１０が正常に記録されたと確認される場合、アプリケーションコードを実行し得る。例えば、図４に示した実施形態のように、中央処理ユニット３００は、アプリケーションコードを実行するためにブートインジケータ１１０の存在有無を確認し得る。また、中央処理ユニット３００は、ブートインジケータ１１０が正常に記録されたと確認されると、ブートインジケータ１１０に続いて記録されたアプリケーションコードから順次にアプリケーションコードを読み取りながらアプリケーションコードを実行し得る。
【００６３】
このような構成によって、本発明の一実施形態による不揮発性メモリアップデート装置は、アプリケーションコードが正常に記録されたか否かを確認するために、不揮発性メモリ１００の特定領域に別の特定値を有するフラグ（例えば、マジックフラグ（Ｍａｇｉｃ  Ｆｌａｇ））を記録することなく、ブートインジケータ１１０のみでアプリケーションコードが正常に記録されたか否かを確認することができる長所を有する。
【００６４】
本発明による不揮発性メモリアップデート装置は、ＢＭＳに適用可能である。即ち、本発明によるＢＭＳは、上述した本発明による不揮発性メモリアップデート装置を含み得る。このような構成において、本発明による不揮発性メモリアップデート装置の各構成要素のうち少なくとも一部は、従来のＢＭＳに含まれた構成の機能を補完または追加することで具現され得る。例えば、本発明による不揮発性メモリアップデート装置の中央処理ユニット３００及び不揮発性メモリ１００は、ＢＭＳ（Ｂａｔｔｅｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ，バッテリーマネジメントシステム）の構成要素として具現され得る。
【００６５】
また、本発明による不揮発性メモリアップデート装置は、バッテリーパックに備えられ得る。即ち、本発明によるバッテリーパックは、上述した本発明による不揮発性メモリアップデート装置を含み得る。ここで、バッテリーパックは、一つ以上の二次電池、前記不揮発性メモリアップデート装置、電装品（ＢＭＳやリレー、ヒューズなど）及びケースなどを含み得る。
【００６６】
図５は、本発明の一実施形態による不揮発性メモリアップデート方法を概略的に示すフローチャートである。図５において、各段階の遂行主体は、前述した本発明による不揮発性メモリアップデート装置の各構成要素であるといえる。
【００６７】
図５に示したように、本発明の一実施形態による不揮発性メモリアップデート方法は、揮発性メモリへの記録段階Ｓ１００、不揮発性メモリへの記録段階Ｓ１１０及びブートインジケータの記録段階Ｓ１２０を含む。
【００６８】
先ず、揮発性メモリへの記録段階Ｓ１００では、前記アプリケーションコードを揮発性メモリに記録し得る。続いて、不揮発性メモリへの記録段階Ｓ１１０では、前記揮発性メモリに記録された前記アプリケーションコードを前記不揮発性メモリに記録し得る。続いて、ブートインジケータの記録段階Ｓ１２０では、前記不揮発性メモリに前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードのブート情報を示すブートインジケータを前記不揮発性メモリに記録し得る。
【００６９】
望ましくは、本発明の一実施形態によるブートインジケータの記録段階Ｓ１２０では、前記不揮発性メモリに記録された前記アプリケーションコードが正常に記録されたか否かを判断し、前記アプリケーションコードが前記不揮発性メモリに正常に記録されたと確認される場合、前記アプリケーションコードのアップデートを終了し得る。
【００７０】
望ましくは、本発明の一実施形態による本発明の一実施形態によるブートインジケータの記録段階Ｓ１２０では、前記不揮発性メモリに記録された前記ブートインジケータの存在有無に基づいて前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【００７１】
望ましくは、本発明の一実施形態による不揮発性メモリのアップデート方法は、アプリケーションコードの実行段階をさらに含み得る。前記アプリケーションコードの実行段階では、前記アプリケーションコードの実行命令を受信する場合、前記ブートインジケータの存在有無を確認し、前記ブートインジケータが正常に記録されたと確認される場合、前記アプリケーションコードを実行し得る。
【００７２】
望ましくは、本発明の一実施形態による不揮発性メモリへの記録段階Ｓ１１０では、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとを比較し、前記アプリケーションコードが正常に記録されたか否かを判断し得る。
【００７３】
望ましくは、本発明の実施形態による不揮発性メモリへの記録段階Ｓ１１０では、前記揮発性メモリに記録された前記アプリケーションコードと前記不揮発性メモリに記録された前記アプリケーションコードとが一致する場合、前記アプリケーションコードが正常に記録されたと判断し得る。
【００７４】
望ましくは、本発明の一実施形態による本発明の一実施形態による不揮発性メモリへの記録段階Ｓ１１０では、前記アプリケーションコードが保存される前記不揮発性メモリ内の保存領域を設定し、前記保存領域のアドレスが高い領域から前記保存領域のアドレスが低い領域へと、前記アプリケーションコードを逆方向に記録し得る。
【００７５】
望ましくは、本発明の一実施形態による本発明の一実施形態によるブートインジケータの記録段階Ｓ１２０では、前記保存領域内に前記アプリケーションコードの記録が終了する場合、前記アプリケーションコードが保存された前記保存領域のアドレスよりもアドレスが低い領域に、前記ブートインジケータを記録し得る。
【００７６】
また、前記制御ロジックがソフトウェアとして具現されるとき、中央処理ユニットは、プログラムモジュールの集合によって具現され得る。この際、プログラムモジュールはメモリ装置に保存され、中央処理ユニットによって実行され得る。
【００７７】
また、中央処理ユニットの多様な制御ロジックは、少なくとも一つ以上が組み合わせられ、組み合わせられた制御ロジックは、コンピュータが読出可能なコード体系で作成され、コンピュータが読出可能であってアクセス可能なものであれば、その種類は特に制限されない。一例として、前記記録媒体は、ＲＯＭ、ＲＡＭ、レジスター、ＣＤ‐ＲＯＭ、磁気テープ、ハードディスク、フロッピーディスク及び光データ記録装置を含む群より選択された少なくとも一つ以上を含む。また、前記コード体系は、ネットワークによって接続したコンピュータに分散して保存されて実行され得る。また、前記組み合わせられた制御ロジックを具現するための機能的なプログラム、コード及びコードセグメントは、本発明が属する技術分野におけるプログラマーによって容易に推論できる。
【００７８】
以上、本発明を限定された実施形態と図面によって説明したが、本発明はこれに限定されず、本発明の属する技術分野における通常の知識を持つ者によって本発明の技術思想と特許請求の範囲の均等範囲内で多様な修正及び変形が可能であることは言うまでもない。
【符号の説明】
【００７９】
１    不揮発性メモリアップデート装置
５０    外部装置
１００    不揮発性メモリ
１１０    ブートインジケータ
２００    揮発性メモリ
３００    中央処理ユニット
３１０    読み取りモジュール
３３０    書き込みモジュール
３５０    判断モジュール
４００    通信ユニット
５００    データバス
【図１】
2021509990.tif 000003
【図２】
2021509990.tif 000004
【図３】
2021509990.tif 000005
【図４】
2021509990.tif 000006
【図５】
2021509990.tif 000007
【国際調査報告】
2021509990.tif 000008
2021509990.tif 000009
2021509990.tif 000010
2021509990.tif 000011