KR20240042984A - 배터리 데이터 처리 장치 및 그것의 동작 방법 - Google Patents

배터리 데이터 처리 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20240042984A
KR20240042984A KR1020220121945A KR20220121945A KR20240042984A KR 20240042984 A KR20240042984 A KR 20240042984A KR 1020220121945 A KR1020220121945 A KR 1020220121945A KR 20220121945 A KR20220121945 A KR 20220121945A KR 20240042984 A KR20240042984 A KR 20240042984A
Authority
KR
South Korea
Prior art keywords
data group
copy
controller
storage
copy data
Prior art date
Application number
KR1020220121945A
Other languages
English (en)
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 KR1020220121945A priority Critical patent/KR20240042984A/ko
Priority to PCT/KR2023/014567 priority patent/WO2024071870A1/ko
Publication of KR20240042984A publication Critical patent/KR20240042984A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/367Software therefor, e.g. for battery testing using modelling or look-up tables
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L58/00Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles
    • B60L58/10Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries
    • B60L58/12Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries responding to state of charge [SoC]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/396Acquisition or processing of data for testing or for monitoring individual cells or groups of cells within a battery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Sustainable Energy (AREA)
  • Sustainable Development (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Power Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

본 발명의 일 실시예에 따른 데이터 처리 장치는, 로우 데이터 저장소로부터 제1 로우 데이터 그룹을 선택하고, 상기 제1 로우 데이터 그룹에 대응하는 제1 카피 데이터 그룹을 버퍼 저장소에 저장하고, 상기 제1 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하는 제1 컨트롤러, 상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하고, 상기 제1 카피 데이터 그룹에 대응하는 제1 저장 데이터 그룹을 데이터 베이스에 저장하고, 상기 제1 저장 데이터 그룹이 상기 데이터 베이스에 저장되면 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 제1 로더 및 상기 버퍼 저장소를 모니터링하여 상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 모니터부를 포함할 수 있다.

Description

배터리 데이터 처리 장치 및 그것의 동작 방법{BATTARY DATA PROCESSING DEVICE AND OPERATING METHOD OF THE SAME}
본 문서에 개시된 실시예들은 배터리 데이터를 처리하는 장치 및 그것의 동작 방법에 관한 것이다.
최근 이차 전지에 대한 연구 개발이 활발히 이루어지고 있다. 여기서 이차 전지는 충방전이 가능한 전지로서, 종래의 Ni/Cd 배터리, Ni/MH 배터리 등과 최근의 리튬 이온 배터리를 모두 포함하는 의미이다. 이차 전지 중 리튬 이온 배터리는 종래의 Ni/Cd 배터리, Ni/MH 배터리 등에 비하여 에너지 밀도가 훨씬 높다는 장점이 있다, 또한, 리튬 이온 배터리는 소형, 경량으로 제작할 수 있어 이동 기기의 전원으로 사용되며, 최근에는 전기 자동차의 전원으로 사용 범위가 확장되어 차세대 에너지 저장 매체로 주목을 받고 있다.
전기 자동차에 탑재된 배터리는 충방전을 거듭할수록 퇴화되는 양상을 나타낸다. 예를 들어, 전기 자동차에 탑재된 배터리는 전기 자동차 운행을 위한 충방전을 거듭할수록 용량 및 저항이 퇴화하고 잔존 수명이 줄어들 수 있다. 또한, 전기 자동차의 운용 조건에 따라서 배터리의 퇴화도 및 잔존 수명이 변화할 수 있다.
배터리 잔존 수명이 급격히 낮아지는 경우, 전기 자동차 사용에 안전 문제가 발생할 수 있다. 따라서, 전기 자동차에 탑재된 배터리의 데이터를 신속하게 처리하여 배터리 상태를 진단하는 방법이 요구된다.
본 문서에 개시된 실시예들의 일 목적은 로우 데이터 처리 장치 및 그것의 동작 방법을 제공하는데 있다.
본 문서에 개시된 실시예들의 일 목적은 로우 데이터 저장소에 저장된 로우 데이터에 대응하는 카피 데이터를 버퍼 저장소에 저장하고, 카피 데이터에 대응하는 저장 데이터를 데이터 베이스에 저장하는 장치 및 그것의 동작 방법을 제공하는데 있다.
본 문서에 개시된 실시예들의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 데이터 처리 장치는 로우 데이터 저장소로부터 제1 로우 데이터 그룹을 선택하고, 상기 제1 로우 데이터 그룹에 대응하는 제1 카피 데이터 그룹을 버퍼 저장소에 저장하고, 상기 제1 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하는 제1 컨트롤러, 상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하고, 상기 제1 카피 데이터 그룹에 대응하는 제1 저장 데이터 그룹을 데이터 베이스에 저장하고, 상기 제1 저장 데이터 그룹이 상기 데이터 베이스에 저장되면 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 제1 로더 및 상기 버퍼 저장소를 모니터링하여 상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 모니터부를 포함할 수 있다.
일 실시예에 따르면, 상기 제1 로더가 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하지 못한 경우, 상기 모니터부는 상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하고, 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하고, 상기 제1 저장 데이터 그룹이 상기 데이터 베이스에 저장되면 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제할 수 있다.
일 실시예에 따르면, 데이터 처리 장치는 상기 로우 데이터 저장소로부터 제2 로우 데이터 그룹을 선택하고, 선택된 상기 제2 로우 데이터 그룹에 대응하는 제2 카피 데이터 그룹을 상기 버퍼 저장소에 저장하고, 상기 제2 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면, 상기 로우 데이터 저장소의 상기 제2 로우 데이터 그룹을 삭제하는 제2 컨트롤러를 포함할 수 있다.
일 실시예에 따르면, 데이터 처리 장치는 상기 제1 컨트롤러가 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하면, 상기 제2 컨트롤러를 실행하는 타이밍 제어부를 포함할 수 있다.
일 실시예에 따르면, 데이터 처리 장치는 상기 버퍼 저장소로부터 상기 제2 카피 데이터 그룹을 수신하고, 상기 제2 카피 데이터 그룹에 대응하는 제2 저장 데이터 그룹을 상기 데이터 베이스에 저장하고, 상기 제2 저장 데이터 그룹이 상기 데이터 베이스에 저장되면, 상기 버퍼 저장소의 상기 제2 카피 데이터 그룹을 삭제하는 제2 로더를 포함할 수 있다.
일 실시예에 따르면, 데이터 처리 장치는 상기 제1 컨트롤러가 상기 제1 로우 데이터 그룹을 선택하지 못한 경우, 상기 제2 컨트롤러를 실행하는 타이밍 제어부를 포함할 수 있다.
일 실시예에 따르면, 상기 제2 컨트롤러가 선택한 상기 제2 로우 데이터 그룹은 상기 제1 컨트롤러가 선택하지 못한 로우 데이터를 포함할 수 있다.
일 실시예에 따르면, 상기 제1 컨트롤러는 상기 제1 카피 데이터 그룹을 상기 제1 카피 데이터 그룹의 생성 시간에 대한 정보인 제1 시간 정보와 매칭하여 저장할 수 있다.
일 실시예에 따르면, 상기 모니터부는 상기 제1 시간 정보와 기준 시간 정보를 비교하여 상기 제1 카피 데이터 그룹에 대한 처리 여부를 판단할 수 있다.
본 발명의 다른 실시예에 따른 데이터 처리 장치의 동작 방법은, 로우 데이터 저장소로부터 제1 로우 데이터 그룹을 선택하는 단계, 상기 제1 로우 데이터 그룹에 대응하는 제1 카피 데이터 그룹을 버퍼 저장소에 저장하는 단계, 상기 제1 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면, 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하는 단계, 상기 제1 카피 데이터 그룹에 대응하는 제1 저장 데이터 그룹을 데이터 베이스에 저장하는 단계, 상기 제1 카피 데이터 그룹이 상기 데이터 베이스에 저장되면, 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 데이터 처리 장치의 동작 방법은 모니터부가 상기 버퍼 저장소를 모니터링하여 상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 단계를 더 포함할 수 있다.
다른 실시예에 따르면, 데이터 처리 장치의 동작 방법은 상기 제1 카피 데이터 그룹을 상기 제1 카피 데이터 그룹의 생성 시간에 대한 정보인 제1 시간 정보와 매칭하여 저장하는 단계를 더 포함할 수 있다.
다른 실시예에 따르면, 상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 단계는, 상기 모니터부가 상기 제1 시간 정보와 기준 시간 정보를 비교하여 상기 제1 카피 데이터 그룹에 대한 처리 여부를 판단하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 제1 로더가 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하지 못한 경우, 상기 모니터부가 상기 제1 카피 데이터 그룹의 처리가 누락된 것으로 판단하는 단계, 상기 모니터부가 상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하는 단계, 상기 모니터부가 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하는 단계 및 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 데이터 처리 장치의 동작 방법은, 제1 컨트롤러가 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하면, 타이밍 제어부가 제2 컨트롤러를 실행하는 단계, 상기 제2 컨트롤러가 상기 로우 데이터 저장소로부터 제2 로우 데이터 그룹을 선택하는 단계, 상기 제2 컨트롤러가 상기 선택된 상기 제2 로우 데이터 그룹에 대응하는 제2 카피 데이터 그룹을 상기 버퍼 저장소에 저장하는 단계, 상기 제2 컨트롤러가 상기 로우 데이터 저장소의 상기 제2 로우 데이터 그룹을 삭제하는 단계, 제2 로더가 상기 버퍼 저장소로부터 상기 제2 카피 데이터 그룹을 수신하는 단계, 상기 제2 로더가 상기 제2 카피 데이터 그룹에 대응하는 제2 저장 데이터 그룹을 상기 데이터 베이스에 저장하는 단계 및 상기 제2 로더가 상기 버퍼 저장소의 상기 제2 카피 데이터 그룹을 삭제하는 단계를 더 포함할 수 있다.
다른 실시예에 따르면, 데이터 처리 장치의 동작 방법은, 제1 컨트롤러가 상기 제1 로우 데이터 그룹을 선택하지 못한 경우, 타이밍 제어부가 제2 컨트롤러를 실행하는 단계, 상기 제2 컨트롤러가 상기 로우 데이터 저장소로부터 상기 제1 컨트롤러가 선택하지 못한 로우 데이터를 포함하는 제2 로우 데이터 그룹을 선택하는 단계를 포함할 수 있다.
본 문서에 개시된 일 실시예에 따른 데이터 처리 장치는 타이밍 제어부를 통해 로우 데이터를 처리하는 컨트롤러의 실행 타이밍을 조절함으로써 로우 데이터에 대한 중복 처리를 방지할 수 있다.
본 문서에 개시된 일 실시예에 따른 데이터 처리 장치는 로우 데이터 선택에 실패하는 경우, 다음에 실행되는 컨트롤러가 로우 데이터를 처리함으로써 로우 데이터의 처리 누락을 방지할 수 있다.
본 문서에 개시된 일 실시예에 따른 데이터 처리 장치는 모니터부를 통해 버퍼 저장소를 모니터링함으로써 카피 데이터 처리 여부를 확인하고, 카피 데이터 처리 누락을 방지할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일반적인 배터리 팩의 구성을 나타내는 블록도이다.
도 2는 본 문서에 개시된 일 실시예에 따른 데이터 처리 장치의 블록도이다.
도 3은 본 문서에 개시된 일 실시예에 따른 데이터 처리 장치의 동작 방법을 설명하기 위한 도면이다.
도 4는 본 문서에 개시된 일 실시예에 따른 데이터 처리 장치 및 그 동작 방법을 수행하기 위한 컴퓨팅 시스템의 하드웨어 구성을 나타내는 블록도이다.
이하, 본 문서에 개시된 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면 상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 문서에 개시된 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 문서에 개시된 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 문서에 개시된 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 문서에 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일반적인 배터리 팩의 구성을 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 배터리 팩(100)과 상위 시스템에 포함되어 있는 상위 제어기(200)를 포함하는 배터리 제어 시스템을 개략적으로 나타낸다.
도 1에 도시된 바와 같이, 배터리 팩(100)은 하나의 이상의 배터리 셀로 이루어지고 충방전 가능한 배터리 모듈(120)과, 배터리 모듈(120)의 (+) 단자 측 또는 (-) 단자 측에 직렬로 연결되어 배터리 모듈(120)의 충방전 전류 흐름을 제어하기 위한 스위칭부(160)와, 배터리 팩(100)의 과충전 및 과방전 등을 방지하도록 제어 관리하고, 배터리 모듈(120)에 대한 데이터를 모니터링 하는 배터리 관리 시스템(180)(예를 들면, RBMS)을 포함한다. 이 때, 배터리 팩(100)에는 배터리 모듈(120), 센서(140), 스위칭부(160) 및 배터리 관리 시스템(BMS, 180)이 복수 개 구비될 수 있다.
센서(140)는 배터리 모듈(120)과 배터리 관리 시스템(180) 사이에 접속되어, 배터리 모듈(120)의 전압, 전류, 온도, 내부 저항 및 임피던스 등을 센싱하고, 배터리 관리 시스템(180)에 전달할 수 있다.
스위칭부(160)는 배터리 모듈(120)의 충전 또는 방전에 대한 전류 흐름을 제어하기 위한 소자로서, 예를 들면, 배터리 팩(100)의 사양에 따라서 적어도 하나의 릴레이, 마그네틱 접촉기 등이 이용될 수 있다.
배터리 관리 시스템(180)은 상술한 각종 파라미터들의 측정 값을 입력받는 인터페이스로서, 복수의 단자와, 이들 단자와 연결되어 입력받은 값들의 처리를 수행하는 회로 등을 포함할 수 있다. 또한, 배터리 관리 시스템(180)은, 스위칭부(160) 예를 들어, 릴레이 또는 접촉기 등의 ON/OFF를 제어할 수도 있으며, 배터리 모듈(120)에 연결되어 배터리 모듈(120) 각각의 상태를 감시할 수 있다.
상위 제어기(200)는 배터리 관리 시스템(180)을 통해 배터리 팩(100)에 대한 제어 신호를 전송할 수 있다. 배터리 관리 시스템(180)은 상위 제어기(200)로부터 인가되는 신호에 기초하여 동작이 제어될 수 있다.
일 실시예에 따르면, 배터리 팩(100) 및 상위 제어기(200)는 차량 내에 구비될 수 있으며, 배터리 관리 시스템(180)은 센서(140)로부터 배터리 모듈들(120)의 전압, 전류, 온도, 내부 저항, 임피던스 및 충방전 횟수 등의 데이터를 수신할 수 있다.
배터리 모듈(120)의 전압, 전류, 온도, 내부 저항, 임피던스 및 충방전 횟수 등의 데이터는 차량이 포함하는 배터리 팩(100)의 상태 정보 판단의 기초가 되는 데이터일 수 있다. 따라서, 배터리 모듈들(120)의 전압, 전류, 온도, 내부 저항, 임피던스 및 충방전 횟수 등의 데이터를 배터리 데이터라고 할 수 있다.
배터리 관리 시스템(180)은 상기 배터리 데이터를 상위 제어기(200)로 송신하고, 상위 제어기(200)는 상기 배터리 데이터를 별도로 구비되는 로우 데이터 저장소로 송신할 수 있다. 다시말해, 상기 배터리 데이터가 본 데이터 처리 장치에서 처리되는 로우 데이터일 수 있다.
실시예에 따라, 배터리 팩(100)은 복수의 배터리 모듈(120)들을 포함할 수 있으며, 복수의 배터리 모듈(120)들을 포함하는 경우, 하나의 배터리 팩(100)에서 복수의 로우 데이터가 출력될 수 있다.
배터리 팩(100)은 실제 운행되는 차량에 탑재되어 충전 및 방전 사이클을 수행하거나, 차량의 실제 주행 조건과 유사한 실험 주행 조건에서 실험적으로 충전 및 방전 사이클을 수행할 수 있다.
예시적으로, 배터리 모듈(120)은 차량에 탑재되어 실제 운행될 때 전압, 전류, 온도, 내부 저항, 임피던스 및 충방전 횟수 등의 데이터를 출력할 수 있으며, 실험 주행 조건에서 실험적인 충전 및 방전 사이클을 수행할 때, 배터리 모듈(120)로부터 전압, 전류, 온도, 내부 저항, 임피던스 및 충방전 횟수 등의 데이터가 로우 데이터로 출력될 수 있다.
실시예에 따르면, 배터리 모듈(120)이 차량에 탑재되어 실제 운행될 때 출력되는 로우 데이터는 운전자의 주행 습관, 차량이 실제 운행되는 환경, 배터리의 실제 충방전 주기 등의 영향을 받을 수 있다.
실험 수명 지표 생성을 위해 미리 설정된 주행 조건은, 예시적으로 차량의 가속 주행 조건, 급속 충전 조건, 시내 주행 조건 또는 장거리 주행 조건 등을 포함할 수 있다. 또한, 미리 설정된 주행 조건은 차량이 주행하는 환경, 차량의 종류 및 충방전 주기 등을 반영할 수 있다.
다시말해, 미리 설정된 주행 조건은 차량의 거동 및 차량의 운용 환경을 포함하는 예시적인 주행 시나리오 조건을 의미할 수 있다.
도 2는 본 문서에 개시된 일 실시예에 따른 데이터 처리 장치의 블록도이다.
데이터 처리 장치(10)는 로우 데이터를 입력받는 로우 데이터 저장소(300), 복수의 컨트롤러들(410a, 410b, 410c 내지 410n)의 실행 타이밍을 결정하는 스케줄러(400), 로우 데이터 저장소(300)로부터 로우 데이터 그룹들(310a, 310b, 310c 내지 310n)을 선택하고, 선택된 로우 데이터 그룹(예를 들어, 310a)에 대응하는 카피 데이터 그룹(예를 들어, 510a)을 버퍼 저장소(500)에 저장하는 복수의 컨트롤러들(410a, 410b, 410c 내지 410n), 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)을 임시로 저장하는 버퍼 저장소(500), 버퍼 저장소(500)를 모니터링하여 카피 데이터 그룹(예를 들어, 510a)에 대한 처리 여부를 확인하는 모니터부(600), 카피 데이터 그룹(예를 들어, 510a)을 수신하고 카피 데이트 그룹(510a)에 대응하는 저장 데이터 그룹(예를 들어, 710a)을 데이터 베이스(700)에 저장하는 복수의 로더들(610a, 610b, 610c 내지 610n) 및 로우 데이터들을 저장 데이터의 형태로 저장하는 데이터 베이스(700)를 포함할 수 있다.
로우 데이터 저장소(300)는 처리 대상이 되는 로우 데이터를 입력받는 장치일 수 있다. 로우 데이터 저장소(300)는 로우 데이터를 수집하고 보관할 수 있으며, 외부 장치 또는 외부 서버로부터 로우 데이터를 입력받을 수 있다.
실시예에 따르면, 로우 데이터 저장소(300)에 로우 데이터를 송신하는 장치를 데이터 소스라고 할 수 있으며, 상기 데이터 소스는 로우 데이터 저장소(300)에 실시간으로 로우 데이터를 입력할 수 있다. 로우 데이터 저장소(300)는 휘발성 또는 비휘발성 메모리를 포함할 수 있다.
로우 데이터 저장소(300)에 입력된 로우 데이터들은 복수의 로우 데이터 그룹들(310a, 310b, 310c 내지 310n)로 구분될 수 있다.
예를 들어, 제1 로우 데이터 그룹(310a)에 포함되는 로우 데이터는 제1 컨트롤러(410a)에 의해 선택될 수 있으며, 제1 로우 데이터 그룹(310a)에 포함되는 로우 데이터에 대응하는 제1 저장 데이터(710a)는 일련의 처리 동작들을 거쳐 데이터 베이스(700)에 저장될 수 있다.
각각의 로우 데이터 그룹들(310a, 310b, 310c 내지 310n)이 포함하는 로우 데이터 크기는 서로 상이할 수 있다.
다시말해, 컨트롤러들(410a, 410b, 410c 내지 410n)이 로우 데이터 저장소(300)가 포함하는 로우 데이터를 복수의 로우 데이터 그룹들(310a, 310b, 310c 내지 310n)로 구분할 수 있다.
타이밍 제어부(400)는 컨트롤러들(410a, 410b, 410c 내지 410n)의 실행 타이밍을 제어함으로써 임의의 로우 데이터 그룹(예를 들어, 310a)에 대한 처리 타이밍을 결정할 수 있다.
타이밍 제어부(400)는 컨트롤러들(410a, 410b, 410c 내지 410n)이 순차적으로 실행되도록 컨트롤러들(410a, 410b, 410c 내지 410n)의 실행 타이밍을 조절할 수 있다. 타이밍 제어부(400)는 컨트롤러들(410a, 410b, 410c 내지 410n)을 실행하기 위한 트리거 신호를 송신할 수 있으며, 실시예에 따르면, 상기 트리거 신호는 컨트롤러들(410a, 410b, 410c 내지 410n)이 선택할 로우 데이터 그룹에 대한 정보를 포함할 수 있다.
예를들어, 타이밍 제어부(400)는 제1 컨트롤러(410a)가 처리할 제1 로우 데이터 그룹(310a)을 로우 데이터 저장소(300)에서 선택하고, 선택한 제1 로우 데이터 그룹(310a)에 대응하는 제1 카피 데이터 그룹(510a)을 버퍼 저장소(500)에 저장한 뒤, 제1 로우 데이터 그룹(310a)을 로우 데이터 저장소(300)에서 삭제할 때, 제2 컨트롤러(410b)가 동작하도록 타이밍을 조절할 수 있다.
타이밍 제어부(400)는 컨트롤러들(410a, 410b, 410c 내지 410n)이 순차적으로 실행되도록 함으로써 로우 데이터들이 각 로우 데이터 그룹 별로 분산 처리되도록 할 수 있다.
또한, 타이밍 제어부(400)는 컨트롤러들(410a, 410b, 410c 내지 410n)의 로우 데이터 선택에 대한 정보를 저장하고, 오류가 발생하여 컨트롤러에 의해 처리되지 못한 로우 데이터에 대한 정보를 다른 컨트롤러에 전파할 수 있다.
컨트롤러들(410a, 410b, 410c 내지 410n)의 동작 타이밍은 데이터 처리 장치(10)의 연산 성능(computing power)에 따라 결정 될 수 있다.
데이터 처리 장치(10)의 연산 성능이 높을수록 각 컨트롤러들(410a, 410b, 410c 내지 410n) 사이의 동작 타이밍 간격이 짧아질 수 있다. 다시말해, 데이터 처리 장치(10)의 연산 성능이 높을수록 데이터 처리 장치(10)의 실시간성이 증가될 수 있다.
연산 성능이 일정할 때, 컨트롤러들(410a, 410b, 410c 내지 410n)이 처리하는 로우 데이터 그룹(310a, 310b, 310c 내지 310n)의 데이터 크기가 작을수록 데이터 처리 장치(10)의 실시간성이 증가될 수 있다.
데이터 처리 장치(10)는 미리 설정된 개수의 컨트롤러들(410a, 410b, 410c 내지 410n)을 구비할 수 있으며, 각각의 컨트롤러(예를 들어, 410a)는 로우 데이터 저장소(300)에서 로우 데이터 그룹(예를 들어, 310a)을 선택하고, 선택한 로우 데이터 그룹(310a)에 대응하는 카피 데이터 그룹(예를 들어, 510a)을 버퍼 저장소(500)에 저장한 뒤, 선택한 로우 데이터 그룹(310a)을 로우 데이터 저장소(300)에서 삭제할 수 있다.
컨트롤러(예를 들어, 410a)가 대응하는 카피 데이터 그룹(예를 들어, 510a)이 버퍼 저장소(500)에 저장된 로우 데이터 그룹(310a)을 로우 데이터 저장소(300)에서 삭제함에 따라, 다른 컨트롤러(예를 들어, 410b)가 로우 데이터 그룹(예를 들어 310b)을 선택할 때, 이전에 처리된 로우 데이터가 선택되지 않을 수 있다. 따라서, 로우 데이터의 중복 처리가 방지될 수 있다.
실시예에 따르면, 컨트롤러(예를 들어, 410a)가 로우 데이터 그룹 선택에 실패하거나, 로우 데이터 그룹에 대응하는 카피 데이터 그룹 저장에 실패하는 등의 오류가 발생한 경우, 해당하는 로우 데이터 그룹은 삭제되지 않을 수 있다. 이때, 타이밍 제어부(400)는 다른 컨트롤러(예를 들어 410b)를 실행할 수 있다. 타이밍 제어부(400)는 다른 컨트롤러(410b)가 앞서 오류가 발생한 컨트롤러(410a)가 선택하지 못한 로우 데이터를 포함하는 로우 데이터 그룹을 선택할 수 있도록 오류가 발생한 컨트롤러(410a)에 의해 처리되지 못한 로우 데이터에 대한 정보를 다른 컨트롤러(410b)에 전파할 수 있다.
버퍼 저장소(500)는 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)을 임시로 저장하는 저장 장소일 수 있다. 실시예에 따르면, 버퍼 저장소(500)는 휘발성 또는 비휘발성 메모리를 포함하는 저장 장치일 수 있다.
버퍼 저장소(500)는 로우 데이터 저장소(300)로부터 데이터 베이스(700)로 데이터를 이동시킬 때, 로우 데이터를 임시적인 카피 데이터 형태로 저장하는 물리적인 저장소일 수 있다.
버퍼 저장소(500)에 저장되는 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)은 각각 로우 데이터 그룹들(310a, 310b, 310c 내지 310n)에 대응할 수 있다.
컨트롤러들(410a, 410b, 410c 내지 410n)은 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)과 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 생성 시간에 대한 정보들을 각각 매칭하여 버퍼 저장소(500)에 저장할 수 있다.
카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 생성 시간에 대한 정보들은 밀리 초 단위를 가질 수 있으며, 실시예에 따르면 생성 시간에 대한 정보들은 버퍼 저장소(500)내의 별도의 저장 공간에 저장될 수 있다.
예시적으로, 제1 카피 데이터 그룹(510a)의 생성 시간에 대한 정보를 제1 시간 정보라고 할 수 있으며, 제n 카피 데이터 그룹(510n)의 생성 시간에 대한 정보를 제n 시간 정보라고 할 수 있다(n은 1 이상의 정수).
모니터부(600)는 버퍼 저장소(500)를 모니터링하고 카피 데이터 그룹들(510a, 510b, 510c 내지 510n) 각각에 대한 처리 여부를 판단할 수 있다.
카피 데이터 그룹들(510a, 510b, 510c 내지 510n)은 로더(610a, 610b, 610c 내지 610n)에 의해 처리될 수 있다. 모니터부(600)는 버퍼 저장소(500)를 미리 설정된 시간 간격으로 모니터링하고, 버퍼 저장소(500)에 저장된 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 시간 정보들을 확인할 수 있다.
모니터부(600)는 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 시간 정보들을 기준 시간 정보와 비교할 수 있다. 기준 시간 정보는 모니터부(600)가 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 처리 여부를 판단하는 시간에 대한 정보를 포함할 수 있으며, 예시적으로 현재 시간에 대한 정보를 포함할 수 있다.
카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 시간 정보들과 기준 시간 정보가 미리 설정된 임계 시간 이상 차이 나는 경우, 모니터부(600)는 기준 시간 정보와 임계 시간 이상 차이 나는 시간 정보를 갖는 카피 데이터 그룹에 대한 처리가 누락된 것으로 판단할 수 있다. 실시예에 따르면, 임계 시간은 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)의 처리를 위해 평균적으로 요구되는 시간에 기초하여 설정될 수 있다.
예를 들어, 제1 로더(610a)가 제1 카피 데이터 그룹(510a)에 대응하는 제1 저장 데이터 그룹(710a)을 데이터 베이스(700)에 저장하지 못한 경우, 제1 카피 데이터 그룹(510a)에 대한 처리가 누락된 것일 수 있다.
상기 누락된 제1 카피 데이터 그룹(510a)이 버퍼 저장소(500)에 남아있게 됨으로써 모니터부(600)는 현재 시간에 대한 정보를 포함하는 기준 시간 정보와 상기 제1 카피 데이터 그룹(510a)의 제1 시간 정보를 비교하고, 제1 시간 정보와 기준 시간 정보가 임계 시간 이상 차이 나는 것으로 판단할 수 있다.
모니터부(600)는 처리가 누락된 제1 카피 데이터 그룹(510a)을 버퍼 저장소(500)로부터 수신하고, 수신된 제1 카피 데이터 그룹(510a)에 대응하는 제1 저장 데이터 그룹(710a)을 데이터 베이스(700)에 저장할 수 있다. 대응하는 제1 저장 데이터 그룹(710a)이 데이터 베이스(700)에 저장되면 모니터부(600)는 버퍼 저장소(500)의 제1 카피 데이터 그룹(510a)을 삭제할 수 있다.
로더들(610a, 610b, 610c 내지 610n)은 버퍼 저장소(500)에 저장된 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)을 각각 수신하고, 수신한 카피 데이터 그룹에 대응하는 저장 데이터 그룹들(710a, 710b, 710c 내지 710n)을 데이터 베이스(700)에 저장하고, 버퍼 저장소(500)에 저장된 카피 데이터 그룹들(510a, 510b, 510c 내지 510n)을 삭제할 수 있다.
로더들(610a, 610b, 610c 내지 610n)은 앞서 설명한 컨트롤러들(410a, 410b, 410c 내지 410n)이 실행된 후, 연속적으로 동작할 수 있다. 예를 들어, 제1 로더(610a)는 제1 컨트롤러(410a)가 실행된 후 연속적으로 동작할 수 있으며, 제1 컨트롤러(410a) 및 제1 로더(610a)가 연속적으로 동작함에 따라 로우 데이터 저장소(300)의 제1 로우 데이터 그룹(310a)이 일련의 동작을 거쳐 데이터 베이스(700)에 제1 저장 데이터 그룹(710a)으로 저장될 수 있다.
로더들(610a, 610b, 610c 내지 610n)은 앞서 설명한 컨트롤러들(410a, 410b, 410c 내지 410n)과 연속적으로 동작하기 때문에 각 로더들(610a, 610b, 610c 내지 610n)이 처리할 카피 데이터 그룹은 미리 결정될 수 있다.
예를 들어, 제1 로더(610a)가 처리할 카피 데이터 그룹은 제1 카피 데이터 그룹(510a)으로, 제1 컨트롤러(410)에 의해 버퍼 저장소(500)에 저장되는 카피 데이터 그룹일 수 있다.
실시예에 따르면, 컨트롤러가 로우 데이터 그룹 선택에 실패하거나, 로우 데이터 그룹에 대응하는 카피 데이터 그룹 저장에 실패한 경우, 상기 실패한 컨트롤러에 대응하는 로더는 동작하지 않을 수 있다.
데이터 베이스(700)는 통합되어 관리되는 저장 데이터 집합을 의미할 수 있으며, 저장 데이터를 구조화하여 관리할 수 있다.
데이터 베이스(700)는 복수의 저장 데이터 그룹들(710a, 710b, 710c 내지 710n)을 저장할 수 있으며, 상기 저장 데이터 그룹들(710a, 710b, 710c 내지 710n)은 로우 데이터 저장소(300)로부터 실시간으로 분산 처리되는 로우 데이터에 대응할 수 있다.
데이터 처리 장치(10)는 로우 데이터 저장소(300)에 실시간으로 입력되는 로우 데이터를 처리 및 분석하고 그 결과를 저장함으로써 로우 데이터를 효율적으로 활용할 수 있다.
또한, 본 발명에서 개시하는 데이터 처리 장치(10)는 타이밍 제어부(400), 컨트롤러들(410a, 410b, 410c 내지 410n), 모니터부(600) 및 로더들(610a, 610b, 610c 내지 610n)을 통해 입력되는 로우 데이터를 실시간으로 처리하면서도 누락되는 데이터 없이 전체 데이터를 처리할 수 있다.
또한, 본 발명에서 개시하는 데이터 처리 장치(10)는 동일한 로우 데이터가 한번만 처리되도록 함으로써 중복되는 처리를 방지하고 로우 데이터 처리의 효율성을 향상시킬 수 있다.
도 3은 본 문서에 개시된 일 실시예에 따른 데이터 처리 장치의 동작 방법을 설명하기 위한 도면이다.
설명의 편의를 위해 앞서 도 2에서 설명한 것과 중복되는 내용은 생략한다. 또한, 설명의 편의를 위해 데이터 처리 장치(10)가 포함하는 일부 구성들을 생략하여 표현한다.
타이밍 제어부(400)는 로우 데이터 저장소(300)에 저장된 로우 데이터를 처리하기 위해 제1 컨트롤러(410a)를 실행할 수 있다(S100). 타이밍 제어부(400)는 제1 컨트롤러(410a)를 실행하기 위해 트리거 신호를 송신할 수 있다. 실시예에 따르면, 트리거 신호는 제1 컨트롤러(410a)가 선택할 로우 데이터 그룹에 대한 정보를 포함할 수 있다.
제1 컨트롤러(410a)는 로우 데이터 저장소(300)에서 제1 로우 데이터 그룹(310a)을 선택할 수 있다(S200). 제1 컨트롤러(410a)는 로우 데이터 저장소(300)가 저장하는 임의의 로우 데이터를 제1 로우 데이터 그룹(310a)으로 선택할 수 있다.
제1 컨트롤러(410a)는 선택된 제1 로우 데이터 그룹(310a)에 대응하는 제1 카피 데이터 그룹(510a)을 버퍼 저장소(500)에 저장할 수 있다(S300). 제1 컨트롤러(410a)는 제1 카피 데이터 그룹(510a)의 생성 시간에 대한 정보인 제1 시간 정보를 생성하고, 제1 카피 데이터 그룹(510a)과 제1 시간 정보를 매칭하여 버퍼 저장소(500)에 저장할 수 있다.
제1 컨트롤러(410a)는 제1 카피 데이터 그룹(510a)을 저장한 후, 로우 데이터 저장소(300)의 제1 로우 데이터 그룹(310a)을 삭제할 수 있다(S400).
제1 컨트롤러(410a)가 제1 카피 데이터 그룹(510a)을 저장한 후, 제1 로우 데이터 그룹(310a)을 삭제함으로써 복수의 컨트롤러들에 의해 로우 데이터가 중복 처리되는 것을 방지할 수 있다.
제1 로더(610a)는 버퍼 저장소(500)로부터 제1 카피 데이터 그룹(510a)을 수신할 수 있다(S500).
정상 동작 시, 제1 로더(610a)는 제1 카피 데이터 그룹(510a)에 대응하는 제1 저장 데이터 그룹(710a)을 데이터 베이스(700)에 저장할 수 있다. 그러나, 제1 로더(610a)의 동작 오류로 인해 제1 로더(610a)가 제1 저장 데이트 그룹(710a)을 데이터 베이스(700)에 저장하는데 실패할 수 있다(S600).
모니터부(600)는 미리 설정된 시간 주기로 버퍼 저장소(500)를 모니터링할 수 있으며, 버퍼 저장소(500)에서 제1 카피 데이터 그룹(510a)의 처리 여부를 확인할 수 있다(S700).
제1 로더(610a)가 제1 저장 데이터 그룹(710a)을 저장하는데 실패하는 경우, 제1 카피 데이터 그룹(510a)이 버퍼 저장소(500)에서 삭제되지 않을 수 있다.
제1 카피 데이터 그룹(510a)은 제1 시간 정보와 매칭되어 저장되는 바, 모니터부(600)는 제1 시간 정보와 기준 시간 정보를 비교하여 제1 카피 데이터 그룹(510a)에 대한 처리 여부를 판단할 수 있다. 실시예에 따르면, 모니터부(600)는 제1 시간 정보와 기준 시간 정보가 임계 시간 이상 차이 나는 경우, 제1 카피 데이터 그룹(510a)의 처리가 누락된 것으로 판단할 수 있다.
모니터부(600)는 제1 카피 데이터 그룹(510a)의 처리가 누락된 것으로 확인되면, 버퍼 저장소(500)로부터 제1 카피 데이터 그룹(510a)을 수신하고, 제1 카피 데이터 그룹(510a)에 대응하는 제1 저장 데이터 그룹(710a)을 데이터 베이스(700)에 저장할 수 있다(S800).
이후, 모니터부(600)는 제1 카피 데이터 그룹(510a)을 버퍼 저장소(500)에서 삭제할 수 있다(S900).
모니터부(600)를 구비함에 따라, 데이터 처리 장치(10)는 로더(예를 들어, 610a)들이 정상적으로 동작하지 않더라도 저장 데이터 그룹을 누락없이 저장할 수 있다.
제1 컨트롤러(410a) 및 제1 로더(610a)은 연속적으로 동작할 수 있다.
타이밍 제어부(400)는 제1 컨트롤러(410a)가 제1 로우 데이터 그룹(310a)을 삭제하면(S400), 제2 컨트롤러(410b)를 실행할 수 있다(S1000).
타이밍 제어부(400)는 제2 컨트롤러(410b)에 트리거 신호를 송신할 수 있으며, 트리거 신호는 제2 컨트롤러(410b)가 선택할 로우 데이터 그룹에 대한 정보를 포함할 수 있다.
타이밍 제어부(400)는 컨트롤러들(410a, 410b, 410c)이 순차적으로 동작하도록 타이밍을 조절함으로써 처리 대상이 되는 로우 데이터 그룹이 중복되지 않게 하고, 로우 데이터가 실시간으로 분산되어 처리되도록 제어할 수 있다.
제2 컨트롤러(410b)가 정상적으로 동작하는 경우, 제2 컨트롤러(410b)는 제2 로우 데이터 그룹(310b)을 처리 대상으로 선택할 수 있다. 그러나, 제2 컨트롤러(410b)에 오류가 발생하여 제2 컨트롤러(410b)가 제2 로우 데이터 그룹(310b)을 처리 대상으로 선택하는데 실패한 경우(S1100), 타이밍 제어부(400)는 제3 컨트롤러(410c)를 실행할 수 있다(S1200). 타이밍 제어부(400)는 트리거 신호에 기초하여 제3 컨트롤러(310c)를 실행할 수 있다.
다른 실시예에 따르면, 제2 컨트롤러(410b)가 제2 로우 데이터 그룹(310b)을 처리 대상으로 선택 했으나, 제2 로우 데이터 그룹(310b)에 대응하는 제2 카피 데이터 그룹(510b)을 버퍼 저장소(500)에 저장하지 못한 경우, 타이밍 제어부(400)가 제3 컨트롤러(410c)를 실행할 수 있다.
타이밍 제어부(400)는 제2 로우 데이터 그룹(310b)의 삭제 여부에 기초하여 제2 컨트롤러(410b)에 오류가 발생했는지 확인할 수 있다. 다시말해, 타이밍 제어부(400)는 제2 로우 데이터 그룹(310b)이 삭제되지 않으면 제2 컨트롤러(410b)에 오류가 발생한 것으로 판단하고, 제3 컨트롤러(410c)를 실행할 수 있다.
타이밍 제어부(400)는 제2 컨트롤러(410b)의 오류 발생 여부를 확인하고, 제2 컨트롤러(410b)가 처리 하는데 실패한 로우 데이터 그룹(310b)에 대한 정보를 트리거 신호를 통해 제3 컨트롤러(410c)에 전파할 수 있다.
제2 로더(610b)는 제2 컨트롤러(410b)가 실행된 후, 연속적으로 동작하는 바, 제2 컨트롤러(410b)의 제2 로우 데이터 그룹 선택이 실패하는 경우, 제2 로더(610b)는 동작하지 않을 수 있다.
제3 컨트롤러(410c)는 로우 데이터 저장소(300)로부터 제3-1 로우 데이터 그룹(310c')을 선택할 수 있다(S1300).
실시예에 따르면, 제3 컨트롤러(410c)가 선택한 제3-1 로우 데이터 그룹(310c')은 제2 컨트롤러(410b)가 선택하지 못한 로우 데이터(제2 로우 데이터 그룹(310b)에 포함되는 로우 데이터)를 포함할 수 있다. 또한, 제3-1 로우 데이터 그룹(310c')은 제3 컨트롤러(410c)가 본래 선택했을 제3 로우 데이터 그룹(310c)을 포함할 수 있다.
제3 컨트롤러(410c)가 제3-1 로우 데이터 그룹(310c')을 선택함으로써 로우 데이터 처리 누락을 방지할 수 있다.
제3 컨트롤러(410c)는 제3-1 로우 데이터 그룹(310c')에 대응하는 제3-1 카피 데이터 그룹(510c')을 버퍼 저장소(500)에 저장할 수 있다(S1400).
제3 컨트롤러(410c)는 제3-1 카피 데이터 그룹(510c')을 버퍼 저장소(500)에 저장한 후, 로우 데이터 저장소(300)의 제3-1 로우 데이터 그룹(310c')을 삭제할 수 있다(S1500).
제3 로더(610c)는 제3-1 카피 데이터 그룹(510c')을 수신할 수 있다(S1600).
제3 로더(610c)는 수신한 제3-1 카피 데이터 그룹(510c')에 대응하는 제3-1 저장 데이터 그룹(710c')을 데이터 베이스(700)에 저장할 수 있다(S1700).
제3 로더(610c)는 제3-1 저장 데이터 그룹(710c')을 데이터 베이스(700)에 저장하고, 버퍼 저장소(500)의 제3-1 카피 데이터 그룹(510c')을 삭제할 수 있다.
도 4는 본 문서에 개시된 일 실시예에 따른 데이터 처리 장치 및 그 동작 방법을 수행하기 위한 컴퓨팅 시스템의 하드웨어 구성을 나타내는 블록도이다.
도 4를 참조하면, 본 문서에 개시된 일 실시예에 따른 컴퓨팅 시스템(1000)은 MCU(1010), 메모리(1020), 입출력 I/F(1030) 및 통신 I/F(1040)를 포함할 수 있다.
MCU(1010)는 메모리(1020)에 저장되어 있는 각종 프로그램(예를 들면, 배터리 팩에 포함된 릴레이 제어 프로그램, 배터리 모듈의 전압, 전류, 온도, 내부 저항, 임피던스 및 충방전 횟수 수집 프로그램 등)을 실행할 수 있다. 또한, MCU(1010)는 데이터의 처리를 수행하는 프로그램을 실행할 수 있으며, 상기 데이터는 배터리 데이터일 수 있다.
실시예에 따르면, MCU(1010)는 전술한 도 1 에서 나타낸 배터리 관리 시스템(180)의 기능을 수행하도록 하는 프로세서 또는 상위 제어기(200)의 기능을 수행하도록 하는 프로세서일 수 있으며, 전술한 도 2에 나타낸 데이터 처리 장치(10)의 기능들을 수행하도록 하는 프로세서일 수 있다. 보다 구체적으로, MCU(1010)는 도 2의 타이밍 제어부(400), 컨트롤러(예를 들어, 410a), 모니터부(600) 또는 로더(예를 들어, 610a)의 기능을 수행하는 프로세서일 수 있다.
메모리(1020)는 배터리 데이터의 수집 및 데이터 처리에 관한 각종 프로그램을 저장할 수 있다. 이러한 메모리(1020)는 필요에 따라서 복수 개 마련될 수도 있다. 메모리(1020)는 휘발성 메모리일 수도 있으며 비휘발성 메모리일 수 있다. 휘발성 메모리로서의 메모리(1020)는 RAM, DRAM, SRAM 등이 사용될 수 있다. 비휘발성 메모리로서의 메모리(1020)는 ROM, PROM, EAROM, EPROM, EEPROM, 플래시 메모리 등이 사용될 수 있다. 상기 열거한 메모리(1020)들의 예를 단지 예시일 뿐이며 이들 예로 한정되는 것은 아니다. 실시예에 따르면, 상기 메모리(1020)는 도 2의 로우 데이터 저장소(300), 버퍼 저장소(500) 또는 데이터 베이스(700)에 포함될 수 있다.
입출력 I/F(1030)는, 키보드, 마우스, 터치 패널 등의 입력 장치(미도시)와 디스플레이(미도시) 등의 출력 장치와 MCU(1010) 사이를 연결하여 데이터를 송수신할 수 있도록 하는 인터페이스를 제공할 수 있다.
통신 I/F(1040)는 서버와 각종 데이터를 송수신할 수 있는 구성으로, 유선 또는 무선 통신을 지원할 수 있는 각종 장치일 수 있다. 예를 들면, 데이터 분산 장치(300)는 통신 I/F(1040)를 통해 별도로 마련된 외부 서버에 처리된 데이터를 송수신할 수 있다. 또한, 데이터 분산 장치(300)는 통신 I/F(1040)를 통해 상위 제어기(200)로부터 배터리 데이터를 송수신할 수 있다.
이와 같이, 본 문서에 개시된 일 실시예에 따른 컴퓨터 프로그램은 메모리(1020)에 기록되고, MCU(1010)에 의해 처리됨으로써, 예를 들면 도 1 및 도 2에서 도시한 각 기능들을 수행하는 모듈로서 구현될 수도 있다.
이상의 설명은 본 문서에 개시된 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 문서에 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 문서에 개시된 실시예들의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 문서에 개시된 실시예들은 본 문서에 개시된 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 문서에 개시된 기술 사상의 범위가 한정되는 것은 아니다. 본 문서에 개시된 기술 사상의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 문서의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 배터리 팩
120: 배터리 모듈
140: 센서
160: 스위칭 부
180: 배터리 관리 시스템
200: 상위 제어기
300: 로우 데이터 저장소
400: 타이밍 제어부
500: 버퍼 저장소
600: 모니터부
700: 데이터 베이스
1000: 컴퓨팅 시스템
1010: MCU
1020: 메모리
1030: 입출력 I/F
1040: 통신 I/F

Claims (16)

  1. 로우 데이터 저장소로부터 제1 로우 데이터 그룹을 선택하고, 상기 제1 로우 데이터 그룹에 대응하는 제1 카피 데이터 그룹을 버퍼 저장소에 저장하고, 상기 제1 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하는 제1 컨트롤러;
    상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하고, 상기 제1 카피 데이터 그룹에 대응하는 제1 저장 데이터 그룹을 데이터 베이스에 저장하고, 상기 제1 저장 데이터 그룹이 상기 데이터 베이스에 저장되면 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 제1 로더; 및
    상기 버퍼 저장소를 모니터링하여 상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 모니터부를 포함하는 데이터 처리 장치.
  2. 제1 항에 있어서,
    상기 제1 로더가 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하지 못한 경우, 상기 모니터부는 상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하고, 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하고, 상기 제1 저장 데이터 그룹이 상기 데이터 베이스에 저장되면 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 데이터 처리 장치.
  3. 제1 항에 있어서,
    상기 로우 데이터 저장소로부터 제2 로우 데이터 그룹을 선택하고, 선택된 상기 제2 로우 데이터 그룹에 대응하는 제2 카피 데이터 그룹을 상기 버퍼 저장소에 저장하고, 상기 제2 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면, 상기 로우 데이터 저장소의 상기 제2 로우 데이터 그룹을 삭제하는 제2 컨트롤러를 포함하는 데이터 처리 장치.
  4. 제3 항에 있어서,
    상기 제1 컨트롤러가 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하면, 상기 제2 컨트롤러를 실행하는 타이밍 제어부를 포함하는 데이터 처리 장치.
  5. 제3 항에 있어서,
    상기 버퍼 저장소로부터 상기 제2 카피 데이터 그룹을 수신하고, 상기 제2 카피 데이터 그룹에 대응하는 제2 저장 데이터 그룹을 상기 데이터 베이스에 저장하고, 상기 제2 저장 데이터 그룹이 상기 데이터 베이스에 저장되면, 상기 버퍼 저장소의 상기 제2 카피 데이터 그룹을 삭제하는 제2 로더를 포함하는 데이터 처리 장치.
  6. 제3 항에 있어서,
    상기 제1 컨트롤러가 상기 제1 로우 데이터 그룹을 선택하지 못한 경우, 상기 제2 컨트롤러를 실행하는 타이밍 제어부를 포함하는 데이터 처리 장치.
  7. 제6 항에 있어서,
    상기 제2 컨트롤러가 선택한 상기 제2 로우 데이터 그룹은 상기 제1 컨트롤러가 선택하지 못한 로우 데이터를 포함하는 데이터 처리 장치.
  8. 제1 항에 있어서,
    상기 제1 컨트롤러는 상기 제1 카피 데이터 그룹을 상기 제1 카피 데이터 그룹의 생성 시간에 대한 정보인 제1 시간 정보와 매칭하여 저장하는 데이터 처리 장치.
  9. 제8 항에 있어서,
    상기 모니터부는 상기 제1 시간 정보와 기준 시간 정보를 비교하여 상기 제1 카피 데이터 그룹에 대한 처리 여부를 판단하는 데이터 처리 장치.
  10. 로우 데이터 저장소로부터 제1 로우 데이터 그룹을 선택하는 단계;
    상기 제1 로우 데이터 그룹에 대응하는 제1 카피 데이터 그룹을 버퍼 저장소에 저장하는 단계;
    상기 제1 카피 데이터 그룹이 상기 버퍼 저장소에 저장되면, 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하는 단계;
    상기 제1 카피 데이터 그룹에 대응하는 제1 저장 데이터 그룹을 데이터 베이스에 저장하는 단계;
    상기 제1 카피 데이터 그룹이 상기 데이터 베이스에 저장되면, 상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 단계를 포함하는 데이터 처리 장치의 동작 방법.
  11. 제10 항에 있어서,
    모니터부가 상기 버퍼 저장소를 모니터링하여 상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 단계를 더 포함하는 데이터 처리 장치의 동작 방법.
  12. 제11 항에 있어서,
    상기 제1 카피 데이터 그룹을 상기 제1 카피 데이터 그룹의 생성 시간에 대한 정보인 제1 시간 정보와 매칭하여 저장하는 단계를 더 포함하는 데이터 처리 장치의 동작 방법.
  13. 제12 항에 있어서,
    상기 제1 카피 데이터 그룹의 처리 여부를 판단하는 단계는,
    상기 모니터부가 상기 제1 시간 정보와 기준 시간 정보를 비교하여 상기 제1 카피 데이터 그룹에 대한 처리 여부를 판단하는 단계를 포함하는 데이터 처리 장치의 동작 방법
  14. 제11 항에 있어서,
    제1 로더가 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하지 못한 경우,
    상기 모니터부가 상기 제1 카피 데이터 그룹의 처리가 누락된 것으로 판단하는 단계;
    상기 모니터부가 상기 버퍼 저장소로부터 상기 제1 카피 데이터 그룹을 수신하는 단계;
    상기 모니터부가 상기 제1 카피 데이터 그룹에 대응하는 상기 제1 저장 데이터 그룹을 상기 데이터 베이스에 저장하는 단계; 및
    상기 버퍼 저장소의 상기 제1 카피 데이터 그룹을 삭제하는 단계를 포함하는 데이터 처리 장치의 동작 방법.
  15. 제10 항에 있어서,
    제1 컨트롤러가 상기 로우 데이터 저장소의 상기 제1 로우 데이터 그룹을 삭제하면, 타이밍 제어부가 제2 컨트롤러를 실행하는 단계;
    상기 제2 컨트롤러가 상기 로우 데이터 저장소로부터 제2 로우 데이터 그룹을 선택하는 단계;
    상기 제2 컨트롤러가 상기 선택된 상기 제2 로우 데이터 그룹에 대응하는 제2 카피 데이터 그룹을 상기 버퍼 저장소에 저장하는 단계;
    상기 제2 컨트롤러가 상기 로우 데이터 저장소의 상기 제2 로우 데이터 그룹을 삭제하는 단계;
    제2 로더가 상기 버퍼 저장소로부터 상기 제2 카피 데이터 그룹을 수신하는 단계;
    상기 제2 로더가 상기 제2 카피 데이터 그룹에 대응하는 제2 저장 데이터 그룹을 상기 데이터 베이스에 저장하는 단계; 및
    상기 제2 로더가 상기 버퍼 저장소의 상기 제2 카피 데이터 그룹을 삭제하는 단계를 더 포함하는 데이터 처리 장치의 동작 방법.
  16. 제10 항에 있어서,
    제1 컨트롤러가 상기 제1 로우 데이터 그룹을 선택하지 못한 경우, 타이밍 제어부가 제2 컨트롤러를 실행하는 단계;
    상기 제2 컨트롤러가 상기 로우 데이터 저장소로부터 상기 제1 컨트롤러가 선택하지 못한 로우 데이터를 포함하는 제2 로우 데이터 그룹을 선택하는 단계를 포함하는 데이터 처리 장치의 동작 방법.
KR1020220121945A 2022-09-26 2022-09-26 배터리 데이터 처리 장치 및 그것의 동작 방법 KR20240042984A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220121945A KR20240042984A (ko) 2022-09-26 2022-09-26 배터리 데이터 처리 장치 및 그것의 동작 방법
PCT/KR2023/014567 WO2024071870A1 (ko) 2022-09-26 2023-09-22 배터리 데이터 처리 장치 및 그것의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220121945A KR20240042984A (ko) 2022-09-26 2022-09-26 배터리 데이터 처리 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20240042984A true KR20240042984A (ko) 2024-04-02

Family

ID=90478597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220121945A KR20240042984A (ko) 2022-09-26 2022-09-26 배터리 데이터 처리 장치 및 그것의 동작 방법

Country Status (2)

Country Link
KR (1) KR20240042984A (ko)
WO (1) WO2024071870A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122640A (en) * 1998-09-22 2000-09-19 Platinum Technology Ip, Inc. Method and apparatus for reorganizing an active DBMS table
KR100844988B1 (ko) * 2006-09-07 2008-07-08 주식회사 스타칩 메모리 고속복사 장치 및 방법
JP5836423B2 (ja) * 2014-04-14 2015-12-24 株式会社Tkc データ一致確認方法およびシステム
KR20200010933A (ko) * 2018-07-23 2020-01-31 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
JP2021047806A (ja) * 2019-09-20 2021-03-25 富士通株式会社 情報処理システム、情報処理装置および情報処理プログラム

Also Published As

Publication number Publication date
WO2024071870A1 (ko) 2024-04-04

Similar Documents

Publication Publication Date Title
US11121566B2 (en) Power supply and battery pack including same
US10333180B2 (en) Apparatus and method for adjusting charging condition of secondary battery
US10367216B2 (en) Method and system for controlling energy supply in fuel cell vehicle
US20230179005A1 (en) Battery bank power control apparatus and method
KR20240042984A (ko) 배터리 데이터 처리 장치 및 그것의 동작 방법
US20150309118A1 (en) Method and apparatus for detecting state of safety plug
KR20220060931A (ko) 배터리 관리 장치 및 방법
JP7427320B2 (ja) バッテリー管理装置及び方法
US20220003822A1 (en) Battery control device
CN112240952A (zh) 功率测试方法、系统、计算机设备和存储介质
KR20240051755A (ko) 배터리 데이터 분산 장치 및 그것의 동작 방법
KR102202769B1 (ko) 밸런싱 배터리를 이용한 배터리 관리 시스템 및 방법
EP4318007A1 (en) Fire prevention device and operation method therefor
US20240047976A1 (en) Battery control system and method
KR20230108663A (ko) 배터리 충전 심도 산출 장치 및 그것의 동작 방법
KR20140122520A (ko) 전압차를 이용한 밸런싱 장치 및 방법
KR20230055200A (ko) 복수의 배터리 팩을 포함하는 배터리 제어 시스템 및 그에 관한 방법
KR20230055202A (ko) 배터리 상태를 관리하기 위한 배터리 제어 시스템 및 방법
KR20230046147A (ko) 배터리 제어 시스템 및 방법
JP2023543766A (ja) 電池管理装置および方法
US20240146085A1 (en) Battery charging method and system
CN118077116A (zh) 电池管理装置及其操作方法
KR20240069660A (ko) 배터리 관리 장치 및 그것의 동작 방법
KR20220100466A (ko) 배터리 관리 장치 및 그것의 동작 방법
KR20240069505A (ko) 배터리 관리 장치 및 그것의 동작 방법