KR20200030394A - 비휘발성 메모리 업데이트 장치 및 방법 - Google Patents

비휘발성 메모리 업데이트 장치 및 방법 Download PDF

Info

Publication number
KR20200030394A
KR20200030394A KR1020180109207A KR20180109207A KR20200030394A KR 20200030394 A KR20200030394 A KR 20200030394A KR 1020180109207 A KR1020180109207 A KR 1020180109207A KR 20180109207 A KR20180109207 A KR 20180109207A KR 20200030394 A KR20200030394 A KR 20200030394A
Authority
KR
South Korea
Prior art keywords
application code
volatile memory
nonvolatile memory
recorded
processing unit
Prior art date
Application number
KR1020180109207A
Other languages
English (en)
Other versions
KR102324263B1 (ko
Inventor
남호철
최문규
Original Assignee
주식회사 엘지화학
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 주식회사 엘지화학 filed Critical 주식회사 엘지화학
Priority to KR1020180109207A priority Critical patent/KR102324263B1/ko
Priority to PCT/KR2019/011354 priority patent/WO2020055025A1/ko
Priority to JP2020537504A priority patent/JP7072660B2/ja
Priority to EP19861140.2A priority patent/EP3731083A4/en
Priority to CN201980005775.9A priority patent/CN111373368B/zh
Priority to US16/763,066 priority patent/US20200348853A1/en
Publication of KR20200030394A publication Critical patent/KR20200030394A/ko
Application granted granted Critical
Publication of KR102324263B1 publication Critical patent/KR102324263B1/ko
Priority to US18/132,518 priority patent/US20230244381A1/en

Links

Images

Classifications

    • 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/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 배터리 팩에 구비된 BMS의 비휘발성 메모리를 업데이트 하는 과정에서 업데이트의 신뢰성을 확보할 수 있는 비휘발성 메모리 업데이트 장치 및 방법에 관한 것이다. 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치는, 비휘발성 메모리에 저장된 어플리케이션 코드를 업데이트 하기 위한 비휘발성 메모리 업데이트 장치로서, 상기 어플리케이션 코드를 저장할 수 있도록 구성된 휘발성 메모리; 및 상기 어플리케이션 코드를 상기 휘발성 메모리에 기록하고, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드를 상기 비휘발성 메모리에 기록하며, 상기 비휘발성 메모리에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 상기 비휘발성 메모리에 기록하도록 구성된 중앙 처리 유닛을 포함한다.

Description

비휘발성 메모리 업데이트 장치 및 방법{Apparatus and method for updating nonvolatile memory}
본 발명은 비휘발성 메모리 업데이트 장치 및 방법에 관한 것으로서, 보다 상세하게는 배터리 팩에 구비된 BMS의 비휘발성 메모리를 업데이트 하는 과정에서 업데이트의 신뢰성을 확보할 수 있는 비휘발성 메모리 업데이트 장치 및 방법에 관한 것이다.
근래에 들어서, 노트북, 비디오 카메라, 휴대용 전화기 등과 같은 휴대용 전자 제품의 수요가 급격하게 증대되고, 에너지 저장용 축전지, 로봇, 위성 등의 개발이 본격화됨에 따라, 반복적인 충방전이 가능한 고성능 이차 전지에 대한 연구가 활발히 진행되고 있다.
현재 상용화된 이차 전지로는 니켈 카드뮴 전지, 니켈 수소 전지, 니켈 아연 전지 및 리튬 이차 전지 등이 있는데, 이 중에서 리튬 이차 전지는 니켈 계열의 이차 전지에 비해 메모리 효과가 거의 일어나지 않아 충방전이 자유롭고, 자가 방전율이 매우 낮으며 에너지 밀도가 높다는 등의 장점으로 인해 많은 각광을 받고 있다.
배터리는 다양한 분야에서 이용되는데, 전기 구동 차량 또는 스마트 그리드 시스템과 같이 최근에 배터리가 많이 활용되는 분야는 큰 용량을 필요로 하는 경우가 많다. 배터리 팩의 용량을 증가하기 위해서는 이차 전지, 즉 배터리 셀 자체의 용량을 증가시키는 방법이 있을 수 있겠지만, 이 경우 용량 증대 효과가 크지 않고, 이차 전지의 크기 확장에 물리적 제한이 있으며 관리가 불편하다는 단점을 갖는다. 따라서, 통상적으로는 다수의 배터리 모듈이 직렬 및 병렬로 연결된 배터리 팩이 널리 이용된다.
이러한 배터리 팩에는, 배터리의 전압, 전류 및 온도 등을 측정하고 배터리의 충방전을 제어할 수 있도록 구성된 다수의 칩(chip)과 전기 회로가 구비된 BMS(Battery Management System)가 구비된다. 예를 들어, BMS에는, CPU(Central Processing Unit) 및 메모리 디바이스 등을 포함하는 MCU(Micro Controller Unit) 와 같은 칩이 구비될 수 있다.
일반적으로, MCU는, BMS를 구동하기 위한 프로그램을 MCU 내부의 메모리 디바이스에 저장하고, CPU가 이 프로그램을 읽어 들여 그에 따라 전체 시스템의 구동을 제어한다. 이러한 시스템 구동을 위한 프로그램을 저장하기 위한 메모리 디바이스로는, 휘발성 메모리(RAM: Random Access Memory) 및 비휘발성 메모리(ROM: Read Only Memory) 등이 이용되고 있다.
종래에 비휘발성 메모리를 업데이트 하기 위해서는, 비휘발성 메모리에 프로그램이 정상 기록되었는지 여부를 확인하기 위하여 특정값을 갖는 플래그(예를 들어, Magic Flag)를 비휘발성 메모리의 특정 영역에 기록하고, 상기 플래그를 확인함으로써 비휘발성 메모리에 프로그램이 정상 기록된 것으로 판단했다. 하지만, 상기 플래그를 기록하는 과정에서, 비휘발성 메모리의 특정 영역을 별도로 생성하고, 상기 특정 영역을 지속적으로 관리해야 하는 불편함이 있었다.
또한, 종래에는, 상기 플래그를 확인하여 어플리케이션 코드가 정상 기록된 것으로 확인된 후에, 부팅 인디케이터를 읽어 어플리케이션 코드를 실행해야 하는 번거로움이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 창안된 것으로서, 배터리 팩에 구비된 BMS의 비휘발성 메모리를 업데이트하는 과정에서 업데이트의 신뢰성을 확보할 수 있는 개선된 비휘발성 메모리 업데이트 장치 및 방법을 제공하는 것에 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타난 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치는, 비휘발성 메모리에 저장된 어플리케이션 코드를 업데이트 하기 위한 비휘발성 메모리 업데이트 장치로서, 상기 어플리케이션 코드를 저장할 수 있도록 구성된 휘발성 메모리; 및 상기 어플리케이션 코드를 상기 휘발성 메모리에 기록하고, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드를 상기 비휘발성 메모리에 기록하며, 상기 비휘발성 메모리에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 상기 비휘발성 메모리에 기록하도록 구성된 중앙 처리 유닛을 포함한다.
또한, 상기 중앙 처리 유닛은, 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드의 정상 기록 여부를 판단하여 상기 어플리케이션 코드가 상기 비휘발성 메모리에 정상 기록된 것으로 확인되는 경우, 상기 어플리케이션 코드의 업데이트를 종료할 수 있다.
또한, 상기 중앙 처리 유닛은, 상기 비휘발성 메모리에 기록된 상기 부팅 인디케이터의 존재 여부를 기초로 상기 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다.
또한, 상기 중앙 처리 유닛은, 상기 어플리케이션 코드에 대한 실행 명령을 수신하는 경우 상기 부팅 인디케이터의 존재 여부를 확인하고, 상기 부팅 인디케이터가 정상 기록된 것으로 확인되는 경우 상기 어플리케이션 코드를 실행할 수 있다.
또한, 상기 중앙 처리 유닛은, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드와 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드를 비교하여, 상기 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다.
또한, 상기 중앙 처리 유닛은, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드와 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드가 일치하는 경우, 상기 어플리케이션 코드가 정상 기록된 것으로 판단할 수 있다.
또한, 상기 중앙 처리 유닛은, 상기 어플리케이션 코드가 저장되는 상기 비휘발성 메모리 내의 저장 영역을 설정하고, 상기 저장 영역의 어드레스가 높은 영역으로부터 상기 저장 영역의 어드레스가 낮은 영역으로 상기 어플리케이션 코드를 역방향으로 기록할 수 있다.
또한, 상기 중앙 처리 유닛은, 상기 저장 영역 내에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드가 저장된 상기 저장 영역의 어드레스보다 어드레스가 낮은 영역에 상기 부팅 인디케이터를 기록할 수 있다.
또한, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치는, 외부 장치로부터 상기 어플리케이션 코드를 수신할 수 있도록 구성된 통신 유닛을 더 포함할 수 있다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 BMS는, 본 발명에 따른 비휘발성 메모리 업데이트 장치를 포함한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 배터리 팩은, 본 발명에 따른 비휘발성 메모리 업데이트 장치를 포함한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 방법은, 비휘발성 메모리에 저장된 어플리케이션 코드를 업데이트 하기 위한 비휘발성 메모리 업데이트 방법으로서, 상기 어플리케이션 코드를 휘발성 메모리에 기록하는 단계; 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드를 상기 비휘발성 메모리에 기록하는 단계; 및 상기 비휘발성 메모리에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 상기 비휘발성 메모리에 기록하는 단계를 포함한다.
본 발명의 일 측면에 따르면, 어플리케이션 코드의 정상 기록 여부를 확인하기 위하여, 비휘발성 메모리의 특정 영역에 별도의 특정값을 갖는 플래그(예를 들어, Magic Flag)를 기록할 필요 없이 부팅 인디케이터만으로 어플리케이션 코드의 정상 기록 여부를 확인할 수 있는 장점이 있다.
본 발명의 또 다른 측면에 따르면, 별도의 특정값을 갖는 플래그(예를 들어, Magic Flag)의 기록을 생략할 수 있어 비휘발성 메모리의 운영 효율성을 개선할 수 있고 상기 플래그 값의 오류 등에 의한 시스템 오류를 최소화 내지 방지할 수 있다.
본 발명의 또 다른 측면에 따르면, 어플리케이션 코드의 업데이트 중에 에러가 발생하여 업데이트가 중단되는 경우 부팅 인디케이터가 기록되지 않게 됨으로써, 비휘발성 메모리의 특정 영역에 별도의 특정값을 갖는 플래그(예를 들어, Magic Flag)를 기록할 필요 없이 부팅 인디케이터만으로 어플리케이션 코드의 정상 기록 여부를 확인할 수 있는 장점이 있다.
이외에도 본 발명은 다른 다양한 효과를 가질 수 있으며, 이러한 본 발명의 다른 효과들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 알 수 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치의 기능적 구성을 개략적으로 나타내는 도면이다.
도 2는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치에 구비되는 중앙 처리 유닛의 기능적 구성을 개략적으로 나타내는 블록도이다.
도 3은, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치가 참조하는 비휘발성 메모리의 메모리맵을 나타내는 테이블이다.
도 4는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치가 비휘발성 메모리를 업데이트 하는 과정을 개략적으로 나타내는 도면이다.
도 5는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 방법을 개략적으로 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 안 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상에 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
또한, 본 발명을 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판정되는 경우에는 그 상세한 설명은 생략한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 '프로세서'와 같은 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다.
본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치(1)는, 비휘발성 메모리(100)에 저장된 어플리케이션 코드를 업데이트 하기 위한 비휘발성 메모리 업데이트 장치일 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치(1)는, 배터리 팩에 구비된 BMS(Battery Management System)의 비휘발성 메모리(100)에 저장된 어플리케이션 코드를 업데이트 하기 위한 장치일 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 비휘발성 메모리(100)는, 플래시 메모리(Flash Memory)일 수 있다. 또한, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치(1)는, BMS에 구비된 MCU(Micro Controller Unit)일 수 있다.
도 1은, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치의 기능적 구성을 개략적으로 나타내는 도면이고, 도 2는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치에 구비되는 중앙 처리 유닛의 기능적 구성을 개략적으로 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치(1)는, 휘발성 메모리(200) 및 중앙 처리 유닛(300)을 포함한다.
상기 휘발성 메모리(200)는, 어플리케이션 코드를 저장할 수 있도록 구성될 수 있다. 예를 들어, 휘발성 메모리(200)는, 데이터들을 저장할 수 있도록 구성된 메모리 장치일 수 있다. 여기서, 어플리케이션 코드는, 프로그램 언어로 코딩 된 코드(code)일 수 있다. 예를 들어, 어플리케이션 코드는, BMS의 구동과 관련된 프로그램 코드일 수 있다.
본 발명의 일 실시예에 따른 상기 휘발성 메모리(200)는, 시스템 구동 시에 시스템 구동을 위한 데이터들을 저장하는 메모리로서, 시스템의 전원이 온(On) 상태에서만 데이터를 저장하고, 시스템 전원이 오프(Off)되면 저장하였던 데이터가 모두 삭제되는 메모리일 수 있다. 또한, 휘발성 메모리(200)는 내부의 특정 영역에 상기 어플리케이션 코드를 저장할 수 있다. 예를 들어, 휘발성 메모리(200)는, 램(RAM: Random Access Memory), SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등으로 구현될 수 있다.
또한, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치(1)는, 도 1의 구성에 도시된 바와 같이, 비휘발성 메모리(100)를 포함할 수 있다.
상기 비휘발성 메모리(100)는, 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치일 수 있다. 예를 들어, 비휘발성 메모리(100)는, 플래시 메모리 장치, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 저항성 메모리 장치(예를 들어, PRAM(Phase-change RAM), FRAM(Ferroelectric RAM), RRAM(Resistive RAM)) 등으로 구현될 수 있다.
또한, 본 발명의 일 실시예에 따른 휘발성 메모리(200) 및 비휘발성 메모리(100)는, 도 1의 구성에 도시된 바와 같이, 중앙 처리 유닛(300)에 의해 각각 접근이 가능하도록 데이터 버스(500)를 통해 중앙 처리 유닛(300)과 각각 전기적으로 연결될 수 있다. 또한, 휘발성 메모리(200) 및 비휘발성 메모리(100)는, 중앙 처리 유닛(300)이 각각 수행하는 각종 제어 로직을 포함하는 프로그램 및/또는 제어 로직이 실행될 때 발생되는 데이터를 저장 및/또는 갱신 및/또는 소거 및/또는 전송할 수 있다.
상기 중앙 처리 유닛(300)은, 어플리케이션 코드를 휘발성 메모리(200)에 기록할 수 있다. 예를 들어, 도 1의 구성에 도시된 바와 같이, 중앙 처리 유닛(300)은, 데이터 버스(500)를 통해 휘발성 메모리(200)에 접근하여, 데이터 버스(500)를 통해 어플리케이션 코드를 휘발성 메모리(200)에 기록할 수 있다.
또한, 중앙 처리 유닛(300)은, 휘발성 메모리(200)에 기록된 어플리케이션 코드를 비휘발성 메모리(100)에 기록할 수 있다. 예를 들어, 도 1의 구성에 도시된 바와 같이, 중앙 처리 유닛(300)은, 데이터 버스(500)를 통해 휘발성 메모리(200) 및 비휘발성 메모리(100)에 접근할 수 있다. 또한, 중앙 처리 유닛(300)은, 데이터 버스(500)를 통해 어플리케이션 코드를 휘발성 메모리(200)로부터 비휘발성 메모리(100)로 전달하여 비휘발성 메모리(100)에 어플리케이션 코드를 기록할 수 있다.
또한, 중앙 처리 유닛(300)은, 비휘발성 메모리(100)에 어플리케이션 코드의 기록이 종료되는 경우, 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 비휘발성 메모리(100)에 기록할 수 있다. 예를 들어, 중앙 처리 유닛(300)은, 비휘발성 메모리(100)에 어플리케이션 코드의 기록이 종료되었는지 여부를 판단할 수 있다. 예를 들어, 중앙 처리 유닛(300)은, 어플리케이션 코드의 크기(예를 들어, 바이트(byte))를 기초로 어플리케이션 코드의 전체 크기가 기록되는 경우, 어플리케이션 코드의 기록이 종료된 것으로 판단할 수 있다. 또한, 중앙 처리 유닛(300)은, 비휘발성 메모리(100)에 어플리케이션 코드의 기록이 종료되면, 부팅 인디케이터를 비휘발성 메모리(100)에 기록할 수 있다. 여기서, 부팅 인디케이터는, 비휘발성 메모리(100)에 기록된 어플리케이션 코드의 부팅 정보를 나타낼 수 있다. 예를 들어, 부팅 인디케이터는, 중앙 처리 유닛(300)이 어플리케이션 코드를 실행하기 위하여, 어플리케이션 코드의 실행에 앞서 실행하는 코드일 수 있다. 또한, 부팅 인디케이터는, 어플리케이션 코드의 고유 식별자, 위치 및 크기 등을 포함하는 부팅 정보를 나타낼 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 중앙 처리 유닛(300)은, 도 2의 구성에 도시된 바와 같이, 읽기 모듈(310), 쓰기 모듈(330) 및 판단 모듈(350)을 포함할 수 있다.
상기 읽기 모듈(310)은, 휘발성 메모리(200) 또는 비휘발성 메모리(100)에 접근하여, 휘발성 메모리(200) 또는 비휘발성 메모리(100)에 기록된 어플리케이션 코드를 읽을 수 있다. 예를 들어, 읽기 모듈(310)은, 휘발성 메모리(200) 또는 비휘발성 메모리(100)에 기록된 어플리케이션 코드를 실행할 수 있다. 또한, 읽기 모듈(310)은, 어플리케이션 코드를 읽는 경우, 어플리케이션 코드의 어드레스가 낮은 메모리 영역으로부터 어드레스가 높은 메모리 영역 순으로 순차적으로 어플리케이션 코드를 읽을 수 있다.
상기 쓰기 모듈(330)은, 휘발성 메모리(200) 또는 비휘발성 메모리(100)에 접근하여, 휘발성 메모리(200) 또는 비휘발성 메모리(100)에 어플리케이션 코드를 기록할 수 있다. 예를 들어, 쓰기 모듈(330)은, 휘발성 메모리(200) 또는 비휘발성 메모리(100)에 기록된 어플리케이션 코드를 저장할 수 있다. 또한, 쓰기 모듈(330)은, 어플리케이션 코드를 기록하는 경우, 어플리케이션 코드의 어드레스가 낮은 메모리 영역으로부터 어드레스가 높은 메모리 영역 순으로 정방향으로 어플리케이션 코드를 기록할 수 있다. 또한, 본 발명의 일 실시예에 따른 쓰기 모듈(330)은, 어플리케이션 코드를 기록하는 경우, 어플리케이션 코드의 어드레스가 높은 메모리 영역으로부터 어드레스가 낮은 메모리 영역 순으로 역방향으로 어플리케이션 코드를 기록할 수 있다.
상기 판단 모듈(350)은, 비휘발성 메모리(100)에 기록된 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다. 예를 들어, 판단 모듈(350)은, 비휘발성 메모리(100)에 어플리케이션 코드의 모든 데이터가 끊김 없이 정상적으로 기록되었는지 여부를 판단할 수 있다. 또한, 판단 모듈(350)은, 어플리케이션 코드가 비휘발성 메모리(100)에 정상 기록된 것으로 확인되는 경우, 어플리케이션 코드의 업데이트를 종료할 수 있다. 예를 들어, 판단 모듈(350)은, 어플리케이션 코드가 비휘발성 메모리(100)에 정상 기록된 것으로 확인되면, 어플리케이션 코드의 업데이트를 종료할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 판단 모듈(350)은, 휘발성 메모리(200)에 기록된 어플리케이션 코드와 비휘발성 메모리(100)에 기록된 어플리케이션 코드를 비교할 수 있다. 또한, 판단 모듈(350)은, 휘발성 메모리(200)에 기록된 어플리케이션 코드와 비휘발성 메모리(100)에 기록된 어플리케이션 코드를 비교하여 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 판단 모듈(350)은, 휘발성 메모리(200)에 기록된 어플리케이션 코드와 비휘발성 메모리(100)에 기록된 어플리케이션 코드가 일치하는 경우, 어플리케이션 코드가 정상 기록된 것으로 판단할 수 있다.
한편, 중앙 처리 유닛(300)은, 상술한 바와 같은 동작을 수행하기 위해, 당업계에 알려진 CPU(Central Processing Unit), 프로세서, ASIC(Application-Specific Integrated Circuit), 다른 칩셋, 논리 회로, 레지스터, 통신 모뎀 및/또는 데이터 처리 장치 등을 선택적으로 포함하는 형태로 구현될 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치(1)는, 도 1의 구성에 도시된 바와 같이, 통신 유닛(400)을 더 포함할 수 있다.
상기 통신 유닛(400)은, 외부 장치(50)로부터 어플리케이션 코드를 수신할 수 있도록 구성될 수 있다. 예를 들어, 도 1의 구성에 도시된 바와 같이, 통신 유닛(400)은, 외부 장치(50)와 유무선 통신을 수행하여 외부 장치(50)로부터 어플리케이션 코드를 수신할 수 있다. 또한, 통신 유닛(400)은, 데이터 버스(500)와 전기적으로 연결되어, 데이터 버스(500)를 통해 비휘발성 메모리(100), 휘발성 메모리(200) 및 중앙 처리 유닛(300)과 각각 연결될 수 있다.
도 3은, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치가 참조하는 비휘발성 메모리의 메모리맵을 나타내는 테이블이고, 도 4는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치가 비휘발성 메모리를 업데이트 하는 과정을 개략적으로 나타내는 도면이다.
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 중앙 처리 유닛(300)은, 어플리케이션 코드가 저장되는 비휘발성 메모리(100) 내의 저장 영역을 설정할 수 있다. 예를 들어, 중앙 처리 유닛(300)은, 비휘발성 메모리(100) 내의 특정 영역에 어플리케이션 코드가 저장되는 저장 영역을 설정할 수 있다. 예를 들어, 도 3의 테이블에 도시된 바와 같이, 비휘발성 메모리(100)는, 제1 저장 영역(101), 제2 저장 영역(102), 제3 저장 영역(103), 제4 저장 영역(104) 및 제5 저장 영역(105)을 포함할 수 있다.
상기 제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의 사이즈를 가질 수 있다.
바람직하게는, 중앙 처리 유닛(300)은, 저장 영역의 어드레스가 높은 영역으로부터 저장 영역의 어드레스가 낮은 영역으로 어플리케이션 코드를 역방향으로 기록할 수 있다. 예를 들어, 도 4의 실시예에서 도시된 바와 같이, 중앙 처리 유닛(300)은, 제5 저장 영역(105)으로부터 제1 저장 영역(101) 순으로 도 4의 화살표 방향으로 어플리케이션 코드를 역방향으로 기록할 수 있다.
바람직하게는, 중앙 처리 유닛(300)은, 저장 영역 내에 어플리케이션 코드의 기록이 종료되는 경우, 어플리케이션 코드가 저장된 저장 영역의 어드레스보다 어드레스가 낮은 영역에 부팅 인디케이터(110)를 기록할 수 있다. 예를 들어, 중앙 처리 유닛(300)은, 어플리케이션 코드의 크기를 판단하고, 어플리케이션 코드의 크기를 기초로 어플리케이션 코드의 데이터가 모두 저장 영역 내에 기록되면 어플리케이션 코드의 기록이 종료된 것으로 판단할 수 있다. 이어서, 중앙 처리 유닛(300)은, 어플리케이션 코드에 이어서 어플리케이션 코드가 저장된 저장 영역의 어드레스보다 어드레스가 낮은 영역에 부팅 인디케이터(110)를 기록할 수 있다.
예를 들어, 도 3 및 도 4의 실시예에서, 어플리케이션 코드의 크기가 508KB이고 부팅 인디케이터(110)의 크기가 4KB인 경우, 중앙 처리 유닛(300)은, 제2 저장 영역(102)의 마지막 어드레스로부터 제1 저장 영역(101) 순으로 어플리케이션 코드를 기록할 수 있다. 또한, 중앙 처리 유닛(300)은, 어플리케이션 코드의 기록이 종료되면, 어플리케이션 코드의 바로 앞에 부팅 인디케이터(110)를 기록할 수 있다. 이 경우, 중앙 처리 유닛(300)은, 어플리케이션 코드의 마지막 코드를 제2 저장 영역(102)의 마지막 어드레스에 기록하고, 어플리케이션 코드의 첫 번째 코드를 제1 저장 영역(101)의 부팅 인디케이터(110)에 바로 이어서 기록하고, 부팅 인디케이터(110)를 제1 저장 영역(101)의 첫 번째 어드레스에 기록할 수 있다.
바람직하게는, 중앙 처리 유닛(300)은, 비휘발성 메모리(100)에 기록된 부팅 인디케이터(110)의 존재 여부를 기초로 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다. 예를 들어, 도 4의 실시예에 도시된 바와 같이, 중앙 처리 유닛(300)은, 비휘발성 메모리(100)에 기록된 부팅 인디케이터(110)를 검색하고, 비휘발성 메모리(100)에 부팅 인디케이터(110)가 존재하는 경우, 이를 기초로 어플리케이션 코드가 정상 기록된 것으로 판단할 수 있다.
바람직하게는, 중앙 처리 유닛(300)은, 어플리케이션 코드에 대한 실행 명령을 수신하는 경우, 부팅 인디케이터(110)의 존재 여부를 확인할 수 있다. 또한, 중앙 처리 유닛(300)은, 부팅 인디케이터(110)가 정상 기록된 것으로 확인되는 경우, 어플리케이션 코드를 실행할 수 있다. 예를 들어, 도 4의 실시예에 도시된 바와 같이, 중앙 처리 유닛(300)은, 어플리케이션 코드를 실행하기 위하여 부팅 인디케이터(110)의 존재 여부를 확인할 수 있다. 또한, 중앙 처리 유닛(300)은, 부팅 인디케이터(110)가 정상 기록된 것으로 확인되면, 부팅 인디케이터(110)에 바로 이어서 기록된 어플리케이션 코드로부터 순차적으로 어플리케이션 코드를 읽어나가며 어플리케이션 코드를 실행할 수 있다.
이와 같은 구성을 통해, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 장치는, 어플리케이션 코드의 정상 기록 여부를 확인하기 위하여, 비휘발성 메모리(100)의 특정 영역에 별도의 특정값을 갖는 플래그(예를 들어, Magic Flag)를 기록할 필요 없이 부팅 인디케이터(110)만으로 어플리케이션 코드의 정상 기록 여부를 확인할 수 있는 장점이 있다.
본 발명에 따른 비휘발성 메모리 업데이트 장치는, BMS에 적용될 수 있다. 즉, 본 발명에 따른 BMS는, 상술한 본 발명에 따른 비휘발성 메모리 업데이트 장치를 포함할 수 있다. 이러한 구성에 있어서, 본 발명에 따른 비휘발성 메모리 업데이트 장치의 각 구성요소 중 적어도 일부는, 종래 BMS에 포함된 구성의 기능을 보완하거나 추가함으로써 구현될 수 있다. 예를 들어, 본 발명에 따른 비휘발성 메모리 업데이트 장치의 중앙 처리 유닛(300) 및 비휘발성 메모리(100)는, BMS(Battery Management System)의 구성요소로서 구현될 수 있다.
또한, 본 발명에 따른 비휘발성 메모리 업데이트 장치는, 배터리 팩에 구비될 수 있다. 즉, 본 발명에 따른 배터리 팩은, 상술한 본 발명에 따른 비휘발성 메모리 업데이트 장치를 포함할 수 있다. 여기서, 배터리 팩은, 하나 이상의 이차 전지, 상기 비휘발성 메모리 업데이트 장치, 전장품(BMS나 릴레이, 퓨즈 등 구비) 및 케이스 등을 포함할 수 있다.
도 5는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 방법을 개략적으로 나타내는 순서도이다. 도 5에서, 각 단계의 수행 주체는, 앞서 설명한 본 발명에 따른 비휘발성 메모리 업데이트 장치의 각 구성요소라 할 수 있다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 방법은, 휘발성 메모리 기록 단계(S100), 비휘발성 메모리 기록 단계(S110) 및 부팅 인디케이터 기록 단계(S120)를 포함한다.
먼저, 휘발성 메모리 기록 단계(S100)에서는, 상기 어플리케이션 코드를 휘발성 메모리에 기록할 수 있다. 이어서, 비휘발성 메모리 기록 단계(S110)에서는, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드를 상기 비휘발성 메모리에 기록할 수 있다. 이어서, 부팅 인디케이터 기록 단계(S120)에서는, 상기 비휘발성 메모리에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 상기 비휘발성 메모리에 기록할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 부팅 인디케이터 기록 단계(S120)에서는, 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드의 정상 기록 여부를 판단하여 상기 어플리케이션 코드가 상기 비휘발성 메모리에 정상 기록된 것으로 확인되는 경우, 상기 어플리케이션 코드의 업데이트를 종료할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 부팅 인디케이터 기록 단계(S120)에서는, 상기 비휘발성 메모리에 기록된 상기 부팅 인디케이터의 존재 여부를 기초로 상기 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 비휘발성 메모리 업데이트 방법은, 어플리케이션 코드 실행 단계를 더 포함할 수 있다. 상기 어플리케이션 코드 실행 단계에서는, 상기 어플리케이션 코드에 대한 실행 명령을 수신하는 경우 상기 부팅 인디케이터의 존재 여부를 확인하고, 상기 부팅 인디케이터가 정상 기록된 것으로 확인되는 경우 상기 어플리케이션 코드를 실행할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 비휘발성 메모리 기록 단계(S110)에서는, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드와 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드를 비교하여, 상기 어플리케이션 코드의 정상 기록 여부를 판단할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 비휘발성 메모리 기록 단계(S110)에서는, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드와 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드가 일치하는 경우, 상기 어플리케이션 코드가 정상 기록된 것으로 판단할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 비휘발성 메모리 기록 단계(S110)에서는, 상기 어플리케이션 코드가 저장되는 상기 비휘발성 메모리 내의 저장 영역을 설정하고, 상기 저장 영역의 어드레스가 높은 영역으로부터 상기 저장 영역의 어드레스가 낮은 영역으로 상기 어플리케이션 코드를 역방향으로 기록할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 부팅 인디케이터 기록 단계(S120)에서는, 상기 저장 영역 내에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드가 저장된 상기 저장 영역의 어드레스보다 어드레스가 낮은 영역에 상기 부팅 인디케이터를 기록할 수 있다.
또한, 상기 제어 로직이 소프트웨어로 구현될 때, 중앙 처리 유닛은 프로그램 모듈의 집합으로 구현될 수 있다. 이때, 프로그램 모듈은 메모리 장치에 저장되고 중앙 처리 유닛에 의해 실행될 수 있다.
또한, 중앙 처리 유닛의 다양한 제어 로직들은 적어도 하나 이상이 조합되고, 조합된 제어 로직들은 컴퓨터가 읽을 수 있는 코드 체계로 작성되어 컴퓨터가 읽을 수 있는 접근이 가능한 것이라면 그 종류에 특별한 제한이 없다. 일 예시로서, 상기 기록 매체는, ROM, RAM, 레지스터, CD-ROM, 자기 테이프, 하드 디스크, 플로피디스크 및 광 데이터 기록장치를 포함하는 군에서 선택된 적어도 하나 이상을 포함한다. 또한, 상기 코드 체계는 네트워크로 연결된 컴퓨터에 분산되어 저장되고 실행될 수 있다. 또한, 상기 조합된 제어 로직들을 구현하기 위한 기능적인 프로그램, 코드 및 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
1: 비휘발성 메모리 업데이트 장치
50: 외부 장치
100: 비휘발성 메모리
110: 부팅 인디케이터
200: 휘발성 메모리
300: 중앙 처리 유닛
310: 읽기 모듈
330: 쓰기 모듈
350: 판단 모듈
400: 통신 유닛
500: 데이터 버스

Claims (12)

  1. 비휘발성 메모리에 저장된 어플리케이션 코드를 업데이트 하기 위한 비휘발성 메모리 업데이트 장치에 있어서,
    상기 어플리케이션 코드를 저장할 수 있도록 구성된 휘발성 메모리; 및
    상기 어플리케이션 코드를 상기 휘발성 메모리에 기록하고, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드를 상기 비휘발성 메모리에 기록하며, 상기 비휘발성 메모리에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 상기 비휘발성 메모리에 기록하도록 구성된 중앙 처리 유닛
    을 포함하는 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  2. 제1항에 있어서,
    상기 중앙 처리 유닛은, 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드의 정상 기록 여부를 판단하여 상기 어플리케이션 코드가 상기 비휘발성 메모리에 정상 기록된 것으로 확인되는 경우, 상기 어플리케이션 코드의 업데이트를 종료하는 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  3. 제1항에 있어서,
    상기 중앙 처리 유닛은, 상기 비휘발성 메모리에 기록된 상기 부팅 인디케이터의 존재 여부를 기초로 상기 어플리케이션 코드의 정상 기록 여부를 판단하도록 구성된 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  4. 제3항에 있어서,
    상기 중앙 처리 유닛은, 상기 어플리케이션 코드에 대한 실행 명령을 수신하는 경우 상기 부팅 인디케이터의 존재 여부를 확인하고, 상기 부팅 인디케이터가 정상 기록된 것으로 확인되는 경우 상기 어플리케이션 코드를 실행하도록 구성된 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  5. 제1항에 있어서,
    상기 중앙 처리 유닛은, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드와 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드를 비교하여, 상기 어플리케이션 코드의 정상 기록 여부를 판단하도록 구성된 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  6. 제5항에 있어서,
    상기 중앙 처리 유닛은, 상기 휘발성 메모리에 기록된 상기 어플리케이션 코드와 상기 비휘발성 메모리에 기록된 상기 어플리케이션 코드가 일치하는 경우, 상기 어플리케이션 코드가 정상 기록된 것으로 판단하도록 구성된 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  7. 제1항에 있어서,
    상기 중앙 처리 유닛은, 상기 어플리케이션 코드가 저장되는 상기 비휘발성 메모리 내의 저장 영역을 설정하고, 상기 저장 영역의 어드레스가 높은 영역으로부터 상기 저장 영역의 어드레스가 낮은 영역으로 상기 어플리케이션 코드를 역방향으로 기록하도록 구성된 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  8. 제7항에 있어서,
    상기 중앙 처리 유닛은, 상기 저장 영역 내에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드가 저장된 상기 저장 영역의 어드레스보다 어드레스가 낮은 영역에 상기 부팅 인디케이터를 기록하도록 구성된 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  9. 제1항에 있어서,
    외부 장치로부터 상기 어플리케이션 코드를 수신할 수 있도록 구성된 통신 유닛
    을 더 포함하는 것을 특징으로 하는 비휘발성 메모리 업데이트 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 따른 비휘발성 메모리 업데이트 장치를 포함하는 BMS.
  11. 제1항 내지 제9항 중 어느 한 항에 따른 비휘발성 메모리 업데이트 장치를 포함하는 배터리 팩.
  12. 비휘발성 메모리에 저장된 어플리케이션 코드를 업데이트 하기 위한 비휘발성 메모리 업데이트 방법에 있어서,
    상기 어플리케이션 코드를 휘발성 메모리에 기록하는 단계;
    상기 휘발성 메모리에 기록된 상기 어플리케이션 코드를 상기 비휘발성 메모리에 기록하는 단계; 및
    상기 비휘발성 메모리에 상기 어플리케이션 코드의 기록이 종료되는 경우, 상기 어플리케이션 코드의 부팅 정보를 나타내는 부팅 인디케이터를 상기 비휘발성 메모리에 기록하는 단계
    를 포함하는 것을 특징으로 하는 비휘발성 메모리 업데이트 방법.
KR1020180109207A 2018-09-12 2018-09-12 비휘발성 메모리 업데이트 장치 및 방법 KR102324263B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020180109207A KR102324263B1 (ko) 2018-09-12 2018-09-12 비휘발성 메모리 업데이트 장치 및 방법
PCT/KR2019/011354 WO2020055025A1 (ko) 2018-09-12 2019-09-03 비휘발성 메모리 업데이트 장치 및 방법
JP2020537504A JP7072660B2 (ja) 2018-09-12 2019-09-03 不揮発性メモリアップデート装置及び方法
EP19861140.2A EP3731083A4 (en) 2018-09-12 2019-09-03 DEVICE AND METHOD FOR UPDATING NON-VOLATILE MEMORY
CN201980005775.9A CN111373368B (zh) 2018-09-12 2019-09-03 非易失性存储器更新设备和方法
US16/763,066 US20200348853A1 (en) 2018-09-12 2019-09-03 Non-volatile memory updating apparatus and method
US18/132,518 US20230244381A1 (en) 2018-09-12 2023-04-10 Non-Volatile Memory Updating Apparatus and Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180109207A KR102324263B1 (ko) 2018-09-12 2018-09-12 비휘발성 메모리 업데이트 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200030394A true KR20200030394A (ko) 2020-03-20
KR102324263B1 KR102324263B1 (ko) 2021-11-08

Family

ID=69777959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180109207A KR102324263B1 (ko) 2018-09-12 2018-09-12 비휘발성 메모리 업데이트 장치 및 방법

Country Status (6)

Country Link
US (2) US20200348853A1 (ko)
EP (1) EP3731083A4 (ko)
JP (1) JP7072660B2 (ko)
KR (1) KR102324263B1 (ko)
CN (1) CN111373368B (ko)
WO (1) WO2020055025A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI775616B (zh) * 2021-08-30 2022-08-21 大陸商蘇州磐聯集成電路科技股份有限公司 差分包產生方法,差分包產生設備,更新方法,及嵌入式系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307669A1 (en) * 2010-06-09 2011-12-15 Lear Corporation Shared memory architecture
US20110307668A1 (en) * 2010-06-09 2011-12-15 Lear Corporation Method and system of updating shared memory

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498151A (en) * 1980-04-17 1985-02-05 Texas Instruments Incorporated On board non-volatile memory programming
JP3474850B2 (ja) 2000-01-12 2003-12-08 松下電器産業株式会社 電池電源装置
US6993648B2 (en) * 2001-08-16 2006-01-31 Lenovo (Singapore) Pte. Ltd. Proving BIOS trust in a TCPA compliant system
JP2004005152A (ja) 2002-05-31 2004-01-08 Hitachi Unisia Automotive Ltd 不揮発性メモリの書き換え装置
JP2004013477A (ja) 2002-06-06 2004-01-15 Nec Viewtechnology Ltd ブートプログラム選択及び更新方法並びにこれを用いたフラッシュメモリ
EP1634168A1 (en) * 2003-06-03 2006-03-15 Koninklijke Philips Electronics N.V. Booting from non-volatile memory
CN100469001C (zh) * 2004-06-18 2009-03-11 宏碁股份有限公司 可使用通用随插即用通信协议更新软件程序的系统及方法
US9696980B2 (en) * 2006-10-24 2017-07-04 Medapps, Inc. Method for remote provisioning of electronic devices by overlaying an initial application image with a retrieved application image
CN101030148A (zh) * 2007-03-09 2007-09-05 华为技术有限公司 实现重映射的方法、装置
US20090006835A1 (en) * 2007-06-29 2009-01-01 Samsung Electronics Co., Ltd Electronic device and control method thereof
CN102135891B (zh) * 2010-01-21 2013-06-26 杭州华三通信技术有限公司 可实现引导启动的系统及引导启动控制装置和方法
EP2372538A1 (en) * 2010-03-23 2011-10-05 ST-Ericsson SA Processing IC with embedded non volatile memory
JP5418348B2 (ja) * 2010-03-23 2014-02-19 ヤマハ株式会社 情報処理装置およびカラオケ装置
JP2013211974A (ja) * 2012-03-30 2013-10-10 Renesas Electronics Corp 電池制御用半導体装置及び電池パック
KR20130111750A (ko) * 2012-04-02 2013-10-11 현대모비스 주식회사 차량용 헤드유닛 시스템 및 이의 제어방법
KR101351752B1 (ko) 2012-12-21 2014-01-15 넥스콘 테크놀러지 주식회사 펌웨어 다운로드 시스템
KR102261815B1 (ko) * 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US20170010896A1 (en) * 2015-07-06 2017-01-12 Lear Corporation Shared Memory Architecture Autoupdater
CN107870775A (zh) * 2016-09-26 2018-04-03 深圳市中兴微电子技术有限公司 一种处理器及BootLoader程序的更新方法
KR20180109207A (ko) 2017-03-27 2018-10-08 노승우 재택의료형 플랙시블 에어너스 스테이션

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307669A1 (en) * 2010-06-09 2011-12-15 Lear Corporation Shared memory architecture
US20110307668A1 (en) * 2010-06-09 2011-12-15 Lear Corporation Method and system of updating shared memory

Also Published As

Publication number Publication date
EP3731083A4 (en) 2021-01-27
CN111373368B (zh) 2023-11-14
US20200348853A1 (en) 2020-11-05
US20230244381A1 (en) 2023-08-03
JP2021509990A (ja) 2021-04-08
EP3731083A1 (en) 2020-10-28
JP7072660B2 (ja) 2022-05-20
CN111373368A (zh) 2020-07-03
WO2020055025A1 (ko) 2020-03-19
KR102324263B1 (ko) 2021-11-08

Similar Documents

Publication Publication Date Title
JP4780620B2 (ja) 制御ルールがフレキシブルに拡張する機能を有する電池管理システムチップ
JP2003122648A (ja) 半導体記憶装置
US10649896B2 (en) Storage device and data processing system including the same
EP3262508B1 (en) Patrol scrub periods based on power status
US11942608B2 (en) Device battery and unmanned aerial vehicle
CN107678420B (zh) 一种发动机数据在线存储方法
US9110784B2 (en) Nonvolatile random access memory and data management method
US20230244381A1 (en) Non-Volatile Memory Updating Apparatus and Method
CN102279757B (zh) 一种系统程序启动的方法及装置
US20160011799A1 (en) Solid state disk device
KR100758300B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
CN106649137B (zh) 一种Nand Flash坏块管理方法、装置及存储器
US20180136859A1 (en) Data writing method and storage controller
US20080181008A1 (en) Flash memory system capable of improving access performance and access method thereof
CN108345430B (zh) 一种Nand flash元件及其运行控制方法和装置
CN110837339A (zh) 数据整并方法、存储器存储装置及存储器控制电路单元
CN112542209A (zh) 非易失性芯片错误注入验证方法、装置、存储介质和终端
US12007894B2 (en) Battery management apparatus and method
US9916103B2 (en) Memory control device, memory device, and memory control method
CN111192607B (zh) 一种存储系统掉电保护方法、装置及相关组件
TW201337553A (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN107407953B (zh) 降低内存功耗的方法及计算机设备
CN111091861A (zh) 一种基于高速非易失性存储器的固态硬盘掉电保护方法
CN112309474B (zh) 一种提高全芯片擦除速度的方法
CN114895847A (zh) 非易失性存储器、存储装置及非易失性存储器的操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant