KR20240073356A - 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법 - Google Patents

중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20240073356A
KR20240073356A KR1020220155073A KR20220155073A KR20240073356A KR 20240073356 A KR20240073356 A KR 20240073356A KR 1020220155073 A KR1020220155073 A KR 1020220155073A KR 20220155073 A KR20220155073 A KR 20220155073A KR 20240073356 A KR20240073356 A KR 20240073356A
Authority
KR
South Korea
Prior art keywords
interface
data
vehicle
storage device
controller
Prior art date
Application number
KR1020220155073A
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 KR1020220155073A priority Critical patent/KR20240073356A/ko
Priority to US18/204,579 priority patent/US20240168905A1/en
Priority to EP23184619.7A priority patent/EP4372571A1/en
Priority to CN202311407764.8A priority patent/CN118056717A/zh
Publication of KR20240073356A publication Critical patent/KR20240073356A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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/0626Reducing size or complexity of storage systems
    • 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/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0058Bus-related hardware virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40234Local Interconnect Network LIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40241Flexray
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Transportation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명에 따른 차량 내부 전자 시스템은, 중앙형 저장 장치, 및 상기 중앙형 저장 장치와 제 1 인터페이스를 통하여 연결되고, 적어도 하나의 도메인 제어 유닛에 제 1 차량 통신 인터페이스를 통하여 연결되고, 적어도 하나의 전자 제어 유닛에 제 2 차량 통신 인터페이스를 통하여 연결되는 인터페이스 스위치를 포함하고, 상기 인터페이스 스위치는, 상기 제 1 인터페이스에 따라 통신하는 제 1 인터페이스 회로, 및 상기 제 1 차량 통신 인터페이스 및 상기 제 2 차량 통신 인터페이스를 상기 제 1 인터페이스로 변환하는 인터페이스 변환기를 포함할 수 있다.

Description

중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법{CENTRALIZED STORAGE DEVICE, IN-VEHICLE ELECTRONIC SYSTEM HAVING THE SAME, AND OPERATING METHOD THEREOF}
본 발명은 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법에 관한 것이다.
일반적으로, 비휘발성 메모리 장치를 구비한 저장 장치는 USB(Universal Serial Bus) 드라이브, 디지털 카메라, 이동 전화기, 스마트폰, 태블릿, PC, 메모리 카드 및 SSD(Solid State Drive) 등에서 널리 사용되고 있다. 저장 장치는 많은 양의 데이터를 저장하거나 이동시키는데 유용하게 사용되고 있다. 최근 저장 장치는 소형화되어 전자 장치에 임베디드 형태로 구현되고 있다.
본 발명의 목적은 복수의 차량 통신 인터페이스를 지원하는 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 차량 내부 전자 시스템은, 중앙형 저장 장치; 및 상기 중앙형 저장 장치와 제 1 인터페이스를 통하여 연결되고, 적어도 하나의 도메인 제어 유닛에 제 1 차량 통신 인터페이스를 통하여 연결되고, 적어도 하나의 전자 제어 유닛에 제 2 차량 통신 인터페이스를 통하여 연결되는 인터페이스 스위치를 포함하고, 상기 인터페이스 스위치는, 상기 제 1 인터페이스에 따라 통신하는 제 1 인터페이스 회로; 및 상기 제 1 차량 통신 인터페이스 및 상기 제 2 차량 통신 인터페이스를 상기 제 1 인터페이스로 변환하는 인터페이스 변환기를 포함할 수 있다.
본 발명의 실시 예에 따른 중앙형 저장 장치는, 적어도 하나의 비휘발성 메모리 장치; 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 제어기를 포함하고, 상기 제어기는 복수의 차량 통신 인터페이스들의 각각에 연결된 적어도 하나의 전자 제어 유닛에 SR-IOV(Single Root-Input Output Virtualization) 기능을 통하여 데이터를 송수신하고, 상기 제어기는 외부 장치에 NVMe(Non-Volatile Memory express) 인터페이스를 통하여 연결되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 중앙형 저장 장치의 동작 방법은, 제 1 인터페이스에 따라 외부 장치로부터 수신된 읽기 요청 혹은 쓰기 요청을 위한 차량용 데이터 종류를 판별하는 단계; 및 상기 차량용 데이터 종류에 대응하는 우선 순위에 따라 읽기/쓰기를 실행하는 단계를 포함하고, 상기 차량용 데이터 종류는, 자율주행 관련 데이터, 구동 전자 제어 유닛 관련 데이터, 내비게이션 데이터, 게이트웨이 전자 제어 유닛 관련 데이터, EDR(Event Data Recorder) 데이터, 혹은 인포테인먼트 데이터를 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 저장 장치는, 적어도 하나의 비휘발성 메모리 장치; 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 제어기; 및 차량 통신 인터페이스를 통하여 외부 장치에 연결되는 것을 차량 내부 인터페이스 회로를 포함하고, 상기 제어기는 차량 통신 인터페이스에 대응하는 우선 순위에 따라 차량용 데이터를 처리하고, 상기 차량 통신 인터페이스는 CAN(Controller Area Network) 인터페이스, CAN-FD(CAN with Flexible Data rate) 인터페이스, LIN(Local Interconnect Network) 인터페이스, FlexRay 인터페이스, MOST(Media Oriented Systems Transport) 인터페이스, 및 Ethernet 인터페이스 중에서 적어도 하나를 포함할 수 있다.
본 발명의 다른 실시 예에 따른 저장 장치는, 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 제어기를 포함하는 저장 장치; 및 상기 저장 장치에 제 1 인터페이스를 통하여 연결되고, 적어도 하나의 제 1 차량 제어기에 제 1 차량 통신 인터페이스를 통하여 연결되고, 적어도 하나의 제 2 차량 제어기에 제 2 차량 통신 인터페이스를 통하여 연결되는 인터페이스 스위치를 포함할 수 있다.
본 발명의 실시 예에 따른 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법은 정형화된 차량 데이터의 특성을 고려하여 데이터 통신(Ethernet vs. CAN)을 구분하여 데이터 전송을 최적화할 수 있다.
또한, 본 발명의 실시 예에 따른 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법은, 복수의 차량 제어기들에 연결된 SR-IOV를 구비할 경우, 데이터의 중요도에 따라 우선 순위를 미리 부과해 데이터 RW(Read/Write) 성능을 최적화할 수 있다.
또한, 본 발명의 실시 예에 따른 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법은 자율주행 데이터의 가용성/무결성을 고려하여 데이터 저장 전략을 차별화 시킴으로써, 사이버보안 및 차량 성능을 향상 시킬 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 본 발명의 실시 예에 따른 차량 내부 통신 네트워크를 예시적으로 보여주는 도면이다.
도 2a는 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)을 예시적으로 보여주는 도면이다.
도 2b는 본 발명의 실시 예에 따른 인터페이스 변환기(210)를 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 제어기(120)를 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 중앙형 저장 장치(100)의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 5a, 도 5b, 및 도 5c는 본 발명의 실시 예에 따른 중앙형 저장 장치(100)의 데이터 관리 정책들을 예시적으로 보여주는 도면들이다.
도 6는 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)의 쓰기 동작을 예시적으로 보여주는 래더 다이어그램이다.
도 7은 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)의 읽기 동작을 예시적으로 보여주는 래더 다이어그램이다.
도 8은 본 발명의 실시 예에 따른 SR-IOV 기술과 차량 통신 인터페이스를 연계한 차량 내부 전자 시스템(30)을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 차량 네트워크에서 차량 데이터의 소스에 따른 요구사항들을 예시적으로 보여주는 도면이다.
도 10a 및 도 10b는 본 발명의 다른 실시 예에 따른 차량용 저장 장치(500)를 예시적으로 보여주는 도면들이다.
도 11은 본 발명의 또 다른 실시 예에 따른 차량용 저장 장치(600)를 예시적으로 보여주는 도면이다.
도 12는 본 발명의 또 다른 실시 예에 따른 차량용 저장 시스템(40)을 예시적으로 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 자율주행 전자 시스템(50)을 예시적으로 보여주는 도면이다.
도 14는 본 발명의 실시 예에 따른 CAN to PCIe 데이터 변환을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 클라우드 저장 시스템(60)을 예시적으로 보여주는 도면이다.
도 16은 본 발명의 실시 예에 따른 이중화 저장 장치 시스템(70)을 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
자율주행 차량이 개발되면서, 연산 속도와 데이터 처리의 중요도가 높아지고 있다. 이미지, 라이다(LiDAR; Light Detection And Ranging), 레이더(Radar) 등의 센서의 데이터를 실시간으로 처리하기 위해서 기존의 분산형 Electrical and/or Electronic(E/E) 구조에서 중앙형(centralized) 혹은 Zone E/E 구조로 진화하고 있다. 이러한 형태는 서버와 유사하게 중앙에 강력한 연산 장치 및 그에 따른 부가적인 데이터 저장 장치를 요구한다. 자율주행 차량의 중앙형 구조(centralized architecture) 지원하기 위해서 기존에 분산된 데이터 저장 장치를 통합시킴으로써 중앙형 저장 장치를 구현할 필요가 있다. 이러한 중앙형 저장 장치는 복수의 호스트들(예를 들어, 차량 제어기들)를 지원하기 위한 가상 입출력 인터페이스(Single Root I/O Virtualization; SR-IOV)나 차량 네트워크에 직접 연결하기 위해 Ethernet, CAN(Controller Area Network) 등의 차량 인터페이스를 지원할 수 있다. 동시에 차량 통신의 안전성과 보안성을 높이기 위해 차량 사이버보안에 대한 요구가 높아지고 있다.
본 발명의 실시 예에 따른 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템 및 그것의 동작 방법은, 자율주행 차량 데이터의 사이버보안을 만족하는 동시에 정형화된 자동차 데이터의 성능을 만족하기 위하여 데이터 전송 프로토콜, RW(Read/Write) 우선 순위 및 차별화된 이중화(redundancy)를 적용할 수 있다.
본 발명의 실시 예에 따른 중앙형 저장 장치(centralized storage device), 그것을 갖는 차량 내부 전자 시스템 및 그것의 동작 방법은 Ethernet 통신과 CAN 통신을 지원하는 복수의 인터페이스들(예를 들어, SR-IOV)를 갖고, 데이터 특성에 따른 인터페이스 및 저장 정책을 최적으로 선택할 수 있다. 예를 들어, 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템 및 그것의 동작 방법은 차량의 Ethernet 통신을 지원하는 NVMe-oF(Non-Volatile Memory express over Fabrics) 인터페이스와 CAN 인터페이스를 갖는 있는 SR-IOV로 구현된 스마트 SSD(Solid State Drive)을 이용하여 구현될 수 있다. 실시 예에 있어서, 중앙형 저장 장치는 차량 데이터의 특성(예를 들어, 보안성 및 속도)에 따라 네트워크를 차별화하여 자율주행 데이터 요구사항을 만족시킬 수 있다.
예를 들어, 낮은 보안성, 낮은 속도를 요구하는 데이터(예를 들어, 차량 진단 데이터 등)는 CAN 인터페이스가 이용 될 수 있다. 반면에, 높은 보안성, 높은 속도를 요구하는 데이터(예를 들어, AV(Autonomous Vehicle) 센서 데이터, HD(High Definition) map)는 Ethernet 인터페이스가 이용 될 수 있다. 복수의 제어기들(예를 들어, ECUs)에 연결된 SR-IOV 인터페이스의 경우, 본 발명의 중앙형 저장 장치는 각 인터페이스에 우선 순위를 지정함으로써, 데이터 읽기/쓰기를 우선 실행할 수 있다(예를 들어, 우선 순위는 AV > Driving ECU (motor / battery) > Navigation > Gateway ECU > EDR(Event Data Recorder) > Infotainment). 또한, 본 발명의 중앙형 저장 장치는 사이버보안 특성 중에 가용성(availability)/무결성(integrity)을 고려하여 데이터 저장 장치를 차별화 시킬 수 있다. 높은(high) 보안 레벨이 요구 될 때, 매체 이중화(media redundancy)가 진행될 수 있다. 중간(medium) 보안 레벨이 요구 될 때, 중앙형 저장 장치의 SLC(Single Level Cell)/TLC(Triple Level Cell) 이중화가 진행될 수 있다. 낮은(Low) 보안 레벨이 요구 될 때, TLC 이중화가 진행될 수 있다. 특별한 보안 레벨이 필요 하지 않을 때(Not relevant), 이중화가 진행 되지 않는다(No redundancy).
도 1은 본 발명의 실시 예에 따른 차량 내부 통신 네트워크를 예시적으로 보여주는 도면이다. 도 1을 참조하면, 차량 통신 네트워크(10)는 중앙 게이트웨이(11; CGW), 복수의 도메인 제어 유닛들(12, 13, 14; DCU), 통신 유닛(15) 및 진단 포트(16)을 포함할 수 있다.
중앙 게이트웨이(11)는 적어도 하나의 도메인 제어 유닛(DCU; Domain Control Unit) 혹은 적어도 하나의 전자 제어 유닛(ECU; Electronic Control Unit)에 다양한 차량 통신 인터페이스를 통하여 연결될 수 있다. 여기서 차량 통신 인터페이스는 CAN(Controller Area Network), CAN-FD(CAN with Flexible Data rate), LIN(Local Interconnect Network), FlexRay, MOST(Media Oriented Systems Transport), Automotive Ethernet 등을 포함할 수 있다.
또한, 중앙 게이트웨이(11)는 차량 통신 네트워크(10)에서 관리하는 데이터를 저장하는 중앙형 저장 장치(CSD; Centralized Storage Device)를 포함할 수 있다. 중앙형 저장 장치(CSD)는 복수의 호스트들(DCU, ECU, 통신 유닛(15), 외부 장치 등)에 다양한 차량 통신 인터페이스를 통하여 데이터를 입출력 하도록 구현될 수 있다. 특히, 중앙형 저장 장치(CSD)는 SR-IOV 기능을 지원하도록 구현될 수 있다. 여기서 SR-IOV 기능은 PF(Physical Function)과 VF(Virtual Function) 기능을 포함한다.
도메인 제어 유닛들(12, 13, 14)의 각각은 중앙 게이트웨이(11)에 준하는 ECU를 의미할 수 있다. 차량 통신 네트워크(10)은 파워트레인(Powertrain), 샤시(Chassis), 바디(Body), 인포테인먼트(Infortainment) 등의 다양한 도메인을 포함할 수 있다. 도메인 제어 유닛(12, 13, 14)의 각각의 하위에 서브 ECU가 존재하지 않는 경우도 존재할 수 있다. 즉, 하나의 도메인 제어 유닛에 적어도 하나의 ECU가 존재하여 개별 센서들의 정보를 송신할 수도 있다. 한편, 도메인 제어 유닛 자체가 하나의 ECU로 동작할 수도 있다. 이때, ECU 그룹은 관련성이 높은 ECU들을 그룹핑한 것에 대응할 수 있다. ECU 그룹에 속한 여러 ECU들은 엔진이나 트랜스미션(transmission)을 비롯한 센서들과 연결되어 정보를 송/수신하는 주체 일 수 있다.
한편, 도 1에 도시된 차량 통신 네트워크(10)은 실시 예에 불과하다고 이해되어야 하며, 다양한 도메인 제어 유닛들, 다양한 차량 통신 네트워크들, 다양한 전자 제어 유닛들의 조합이 가능하다.
통신 유닛(15)은 차량 내부의 장치들과 외부 장치와 통신하도록 구현될 수 있다. 통신 유닛(15)은 무선 인터페이스를 통하여 외부 장치와 통신하도록 구현될 수 있다. 진단 포트(16)는 차량 진단을 위한 온-보드 진단(On-Board Diagnostic) 단자를 포함할 수 있다. 진단 포트(16)는 악의적인 접근을 차단하기 위해서 접근 제어 목록으로 관리될 수 있다. 진단 포트(16)는 복수의 차량 통신 인터페이스들(예를 들어, CAN 및 Ethernet 인터페이스)를 통하여 중앙 게이트웨이(11)에 연결될 수 있다.
본 발명의 실시 예에 따른 차량 통신 네트워크(10)는, 복수의 차량 통신 인터페이스를 지원하는 중앙형 저장 장치(CSD)를 구비함으로써, 데이터의 읽기/쓰기 성능을 개선하고, 사이버보안 및 시스템 전체적인 성능 향상을 기대할 수 있다.
도 2a는 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)을 예시적으로 보여주는 도면이다. 도 2a를 참조하면, 차량 내부 전자 시스템(20)은 중앙형 저장 장치(100), 인터페이스 스위치(200), 제 1 채널들(CH11 ~ CH1p, p는 2 이상의 정수) 및 제 2 채널들(CH21 ~ CH2q, q는 2 이상의 정수)를 포함할 수 있다.
중앙형 저장 장치(100)는 적어도 하나의 비휘발성 메모리 장치(110; NVM(s)) 및 제어기(120; CRTL)를 포함할 수 있다.
적어도 하나의 비휘발성 메모리 장치(110; NVM(s))는 데이터를 저장하도록 구현될 수 있다. 비휘발성 메모리 장치(110)는 낸드 플래시 메모리(NAND flash memory), 수직형 낸드 플래시 메모리, 노아 플래시 메모리(NOR flash memory), 저항성 램(resistive random access memory; RRAM), 상변화 메모리(phase-change memory; PRAM), 자기저항 메모리(magnetoresistive random access memory; MRAM), 강유전체 메모리(ferroelectric random access memory; FRAM), 스핀주입 자화반전 메모리(spin transfer torque random access memory; STT-RAM) 등이 될 수 있다. 아래에서는 설명의 편의를 위하여 비휘발성 메모리 장치(110)가 수직형 낸드 플래시 메모리 장치(VNAND)라고 하겠다.
제어기(120)는 제어 신호들(예를 들어, CLE, ALE, CE(s), WE, RE, 등)을 전송하는 복수의 제어 핀들을 통하여 적어도 하나의 비휘발성 메모리 장치(110)에 연결될 수 있다. 또한, 제어 신호들(CLE, ALE, CE(s), WE, RE 등)을 이용하여 비휘발성 메모리 장치(110)를 제어하도록 구현될 수 있다. 예를 들어, 비휘발성 메모리 장치(110)는 CLE(command latch enable) 신호 및 ALE(address latch enable) 신호에 따라 WE(write enable) 신호의 엣지에서 커맨드(CMD) 혹은 어드레스(ADD)를 래치 함으로써, 프로그램 동작/리드 동작/이레이즈 동작을 수행 할 수 있다. 예를 들어, 리드 동작시 칩 활성화 신호(CE)는 활성화 되고, CLE는 커맨드의 전송 구간에 활성화 되고, ALE는 어드레스의 전송 구간에 활성화 되고, RE는 데이터 신호 라인(DQ)을 통해 데이터가 전송되는 구간에서 토글링될 수 있다. 데이터 스트로브 신호(DQS)는 데이터 입출력 속도에 대응하는 주파수로 토글링할 수 있다. 리드 데이터는 데이터 스트로브 신호(DQS)에 동기화되어 순차적으로 전송될 수 있다.
또한, 제어기(120)는 중앙형 저장 장치(100)의 전반적인 동작을 제어하도록 구현될 수 있다. 제어기(120)는 캐시/버퍼 관리, 펌웨어 관리, 가비지 컬렉션 관리, 웨어 레벨링 관리, 데이터 중복 제거 관리, 리드 리프레쉬/리클레임 관리, 배드 블록 관리, 멀티-스트림 관리, 호스트 데이터와 비휘발성 메모리의 맵핑 관리, QoS(quality of service) 관리, 시스템 리소스 할당 관리, 비휘발성 메모리 큐(queue) 관리, 리드 레벨 관리, 이레이즈/프로그램 관리, 핫/콜드 데이터 관리, 전력 손실 보호 관리, 동적 열관리, 초기화 관리, RAID(redundant array of inexpensive disk) 관리 등과 같은 다양한 관리 동작들을 수행할 수 있다.
또한, 제어기(120)는 멀티-호스트 서비스를 제공하도록 SR-IOV 기능을 수행하도록 구현될 수 있다. SR-IOV 기능에 대한 자세한 것은, 삼성전자에서 출원하였으며, 이 출원의 참고문헌으로 결합된 US 10,235,198(셩치우), US 10,467,037 (최광호), US 11,397,607 (황주영) 및 US 11,409,469 (조명현)에서 상세하게 설명될 것이다.
제어기(120)는 외부의 장치에 제 1 인터페이스를 통하여 통신하기 위한 인터페이스 회로(127)를 포함할 수 있다. 여기서 제 1 인터페이스는 NVMe(Non-Volatile Memory express) 인터페이스일 수 있다. 한편, 제 1 인터페이스는 여기에 제한되지 않는다고 이해되어야 할 것이다. 예를 들어, 제 1 인터페이스는 PCIe(peripheral component interconnect express), SATA(serial at attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel, FCoE(fiber channel over Ethernet) 중 어느 하나일 수 있다.
인터페이스 스위치(200)는 제 1 인터페이스를 통하여 중앙형 저장 장치(100)에 연결될 수 있다. 인터페이스 스위치(200)는 인터페이스 변환기(210) 및 저장 인터페이스 회로(270)를 포함할 수 있다.
인터페이스 변환기(210)는 차량 통신 인터페이스(예를 들어, CAN/LIN/FlexRay/Ethernet 등)을 제 1 인터페이스(예를 들어, NVMe)로 변환하거나, 제 1 인터페이스를 차량 통신 인터페이스로 변환하도록 구현될 수 있다. 도시되지 않았지만, 인터페이스 변환기(210)는 복수의 차량 통신 인터페이스들의 각각에 대응하는 인터페이스 변환 유닛들을 포함할 수 있다. 각 인터페이스 변환 유닛들의 각각은 가상의 호스트로 동작할 수 있다.
저장 인터페이스 회로(270)는 제 1 인터페이스를 통하여 제어기(120)와 통신할 수 있다. 또한, 인터페이스 스위치(200)은 적어도 하나의 차량용 통신 인터페이스(예를 들어, CAN/LIN/FlexRay/Ethernet 등)을 통하여 적어도 하나의 DCU 혹은 적어도 ECU에 연결될 수 있다. 제 1 채널들(CH11 ~ CH1p)의 각각에 대응하는 도메인 제어 유닛들(DCU1 ~ DCUp)이 연결될 수 있다. 도메인 제어 유닛들(DCU1 ~ DCUp)의 각각에 적어도 하나의 전자 제어 유닛(ECU)가 연결될 수 있다. 제 1 채널들(CH11 ~ CH1p)의 각각은 차량용 통신 인터페이스(예를 들어, CAN/LIN/FlexRay/Ethernet 등)에 따라 데이터를 송수신할 수 있다. 제 2 채널들(CH21 ~ CH2q)의 각각에 적어도 하나의 전자 제어 유닛(ECU)이 연결될 수 있다. 제 2 채널들(CH21 ~ CH2q)의 각각은 차량용 통신 인터페이스(예를 들어, CAN/LIN/FlexRay/Ethernet 등)에 따라 데이터를 송수신할 수 있다.
본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)은 정형화된 차량 데이터의 특성을 고려하여 데이터 통신(Ethernet vs. CAN)을 구분하여 데이터 전송을 최적화할 수 있다. 또한, 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)은, 복수의 차량 제어기들에 연결된 SR-IOV를 구비할 경우, 데이터의 중요도에 따라 우선 순위를 미리 부과해 데이터 RW(Read/Write) 성능을 최적화할 수 있다. 또한, 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)은 자율주행 데이터의 가용성/무결성을 고려하여 데이터 저장 전략을 차별화 시킴으로써, 사이버보안 및 차량 성능을 향상 시킬 수 있다.
도 2b는 본 발명의 실시 예에 따른 인터페이스 변환기(210)를 예시적으로 보여주는 도면이다. 도 2b를 참조하면, 인터페이스 변환기(210)는 제 1 인터페이스 변환 유닛(211), 제 2 인터페이스 변환 유닛(212), 제 3 인터페이스 변환 유닛(213) 및 제 4 인터페이스 변환 유닛(214)을 포함할 수 있다.
제 1 인터페이스 변환 유닛(211)은 제 1 차량 통신 인터페이스(CAN)을 제 1 인터페이스(NVMe)로 변환하도록 구현될 수 있다. 제 2 인터페이스 변환 유닛(212)은 제 2 차량 통신 인터페이스(LIN)을 제 1 인터페이스(NVMe)로 변환하도록 구현될 수 있다. 제 3 인터페이스 변환 유닛(213)은 제 3 차량 통신 인터페이스(FlexRay)을 제 1 인터페이스(NVMe)로 변환하도록 구현될 수 있다. 제 4 인터페이스 변환 유닛(214)은 제 4 차량 통신 인터페이스(Ethernet)을 제 1 인터페이스(NVMe)로 변환하도록 구현될 수 있다.
도 3은 본 발명의 실시 예에 따른 제어기(120)를 예시적으로 보여주는 도면이다. 도 3을 참조하면, 제어기(120)는 적어도 하나의 프로세서(121), 버퍼 메모리(122), 에러 정정 회로(123), 플래시 변환 계층 매니저(124), 암호 장치(125), 가상화 기능 모듈(126), 호스트 인터페이스 회로(127), 메모리 인터페이스 회로(128)를 포함할 수 있다.
적어도 하나의 프로세서(121, CPU(s))는 중앙형 저장 장치(100)의 전반적인 동작을 제어하도록 구현될 수 있다. 프로세서(121)는 캐시/버퍼 관리, 펌웨어 관리, 가비지 컬렉션 관리, 웨어 레벨링 관리, 데이터 중복 제거 관리, 리드 리프레쉬/리클레임 관리, 배드 블록 관리, 멀티-스트림 관리, 호스트 데이터와 비휘발성 메모리의 맵핑 관리, QoS(Quality of Service) 관리, 시스템 리소스 할당 관리, 비휘발성 메모리 큐(queue) 관리, 리드 레벨 관리, 이레이즈/프로그램 관리, 핫/콜드 데이터 관리, 전력 손실 보호 관리, 동적 열관리, 초기화 관리, RAID(Redundant Array of Inexpensive Disk) 관리 등과 같은 다양한 관리 동작들을 수행할 수 있다. 이러한 관리 동작들은 하드웨어/펌웨어/소프트웨어 적으로 구현될 수 있다. 또한, 프로세서(121)는 비휘발성 메모리 장치(110)의 내부에 임시 데이터를 저장하는 버퍼 영역 및 버퍼 영역의 데이터를 복사하는 사용자 영역을 관리하도록 구현될 수 있다. 프로세서(121)는 임시 데이터 저장을 위한 버퍼 공간을 할당 및 제어할 수 있다.
버퍼 메모리(122)는 비휘발성 메모리 장치(110)에 기록될 데이터 혹은 비휘발성 메모리 장치(110)로부터 읽혀진 데이터를 임시로 저장하도록 구현될 수 있다. 실시 예에 있어서, 버퍼 메모리(122)는 제어기(120) 내에 구비되는 구성일 수 있다. 다른 실시 예에 있어서, 버퍼 메모리(122)는 제어기(120)의 외부에 배치될 수도 있다. 또한, 버퍼 메모리(122)는 휘발성 메모리(예를 들어, SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous RAM) 등) 혹은 비휘발성 메모리 (플래시 메모리, PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등)로 구현될 수 있다.
에러 정정 회로(123)는 프로그램 동작시 에러 정정 코드(error correction code; ECC)를 생성하고, 리드 동작시 에러 정정 코드를 이용하여 데이터를 복구하도록 구현될 수 있다. 즉, 에러 정정 회로(123)는 비휘발성 메모리 장치(110)로부터 수신된 데이터의 페일 비트 혹은 에러 비트를 정정하기 위한 에러 정정 코드를 생성할 수 있다. 또한, 에러 정정 회로(123)는 비휘발성 메모리 장치(110)로 제공되는 데이터의 에러 정정 인코딩을 수행함으로써, 패리티 비트가 부가된 데이터를 형성할 수 있다. 패리티 비트는 비휘발성 메모리 장치(110)에 저장 될 수 있다. 또한, 에러 정정 회로(123)는 비휘발성 메모리 장치(110)로부터 출력된 데이터에 대하여 에러 정정 디코딩을 수행할 수 있다. 에러 정정 회로(123)는 패리티를 사용하여 에러를 정정할 수 있다. 에러 정정 회로(123)는 LDPC(Low Density Parity Check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(Recursive Systematic Code), TCM(Trellis-Coded Modulation), BCM(Block Coded Modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러를 정정할 수 있다. 한편, 에러 정정 회로(123)에서 에러 정정이 불가능할 때, 리드 리트라이(read retry) 동작이 수행될 수 있다.
플래시 변환 계층 매니저(124)는 어드레스 맵핑(address mapping), 웨어-레벨링(wear-leveling), 가비지 콜렉션(garbage collection)과 같은 여러 기능을 수행할 수 있다. 어드레스 맵핑 동작은 호스트로부터 수신한 논리 어드레스(logical address)를, 비휘발성 메모리 장치(110) 내에 데이터를 실제로 저장하는 데 사용되는 물리 어드레스(physical address)로 바꾸는 동작이다. 웨어-레벨링은 비휘발성 메모리 장치(110) 내의 블록들이 균일하게 사용되도록 하여 특정 블록의 과도한 열화를 방지하기 위한 기술로, 예시적으로 물리 블록들의 이레이즈 카운트들을 밸런싱하는 펌웨어 기술을 통해 구현될 수 있다. 가비지 콜렉션은, 블록의 유효 데이터를 새 블록에 복사한 후 기존 블록을 이레이즈(erase)하는 방식을 통해 비휘발성 메모리 장치(110) 내에서 사용 가능한 용량을 확보하기 위한 기술이다.
암호 장치(125)는, 제어기(120)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중에서 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)를 이용하여 수행할 수 있다. 암호 장치(125)는 AES(Advanced Encryption Standard) 알고리즘을 이용하여 데이터의 암호화 및 복호화를 수행할 수 있다. 암호 장치(125)는 암호화 모듈 및 복호화 모듈을 포함할 수 있다. 실시 예에 있어서, 암호 장치(125)는 하드웨어적/소프트웨어적/펌웨어적으로 구현될 수 있다. 암호 장치(125)는 SED(Self Encryption Disk) 기능 혹은 TCG(Trusted Computing Group) 보안 기능을 수행할 수 있다. SED 기능은 암호 알고리즘을 이용하여 비휘발성 메모리 장치(110)에 암호화된 데이터를 저장하거나, 비휘발성 메모리 장치(110)로부터 암호화된 데이터를 복호화 할 수 있다. 이러한 암/복호화 동작은 내부에서 생성된 암호화키를 사용하여 수행될 수 있다. TCG 보안 기능은 중앙형 저장 장치(100)의 사용자 데이터에 대한 접근 제어를 가능하게 하는 메커니즘을 제공할 수 있다. 예를 들어, TCG 보안 기능은 외부 장치와 중앙형 저장 장치(100) 사이의 인증 절차를 수행할 수 있다. 실시 예에 있어서, SED 기능 혹은 TCG 보안 기능은 옵션적으로 선택 가능하다.
가상화 모듈(126)은 중앙형 저장 장치(100)을 복수의 호스트들에 의해 독립적으로 제어 가능한 저장 장치로 가상화 시키도록 구현될 수 있다. 가상화 모듈(126)은 SR-IOV 기능을 수행할 수 있다.
호스트 인터페이스 회로(127)는 호스트(ECU, DCU, 도 2 참조)와 패킷(packet)을 송수신하도록 구현될 수 있다. 호스트로부터 호스트 인터페이스 회로(127)로 전송되는 패킷은 커맨드 혹은 비휘발성 메모리 장치(110)에 쓰여질 데이터를 포함할 수 있다. 호스트 인터페이스 회로(127)로부터 호스트로 전송되는 패킷은 커맨드에 대한 응답 혹은 비휘발성 메모리(110)로부터 읽혀진 데이터를 포함할 수 있다.
메모리 인터페이스 회로(128)는 쓰여질 데이터를 비휘발성 메모리 장치(110)로 송신하거나, 비휘발성 메모리 장치(110)로부터 읽혀진 데이터를 수신하도록 구현될 수 있다. 이러한 메모리 인터페이스 회로(128)는 JEDEC Toggle 혹은 ONFI와 같은 표준 규약을 준수하도록 구현될 수 있다.
도 4는 본 발명의 실시 예에 따른 중앙형 저장 장치(100)의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 2 내지 도 4를 참조하면, 중앙형 저장 장치(100)는 다음과 같이 동작할 수 있다. 중앙형 저장 장치(100)는 호스트(예를 들어, ECU/DCU)의 쓰기 요청 혹은 읽기 요청에 대하여 차량 데이터 종류를 판별할 수 있다(S110). 중앙형 저장 장치(100)는 판별된 차량 데이터 종류에 대응하는 우선 순위에 따라 읽기/쓰기를 실행할 수 있다(S120).
실시 예에 있어서, 차량용 데이터 종류는, 자율주행 관련 데이터, 구동 전자 제어 유닛 관련 데이터, 내비게이션 데이터, 게이트웨이 전자 제어 유닛 관련 데이터, EDR(Event Data Recorder) 데이터, 혹은 인포테인먼트 데이터를 포함할 수 있다. 실시 예에 있어서, 읽기 요청 혹은 쓰기 요청에 포함된 태그를 이용하여 차량 통신 인터페이스의 종류가 판별될 수 있다. 실시 예에 있어서, 차량용 데이터 종류에 대응하는 보안 레벨이 판별될 수 있다. 실시 예에 있어서, 보안 레벨에 따라 저장 타겟이 결정될 수 있다. 실시 예에 있어서, EDR(Event Data Recorder) 데이터는 SLC(Single Level Cell) 영역에 저장되고, DSSAD(Data Storage System for Automated Driving) 데이터는 TLC(Triple Level Cell) 영역에 저장될 수 있다.
도 5a, 도 5b, 및 도 5c는 본 발명의 실시 예에 따른 중앙형 저장 장치(100)의 데이터 관리 정책들을 예시적으로 보여주는 도면들이다.
도 5a을 참조하면, 요구사항에 따라 차량용 통신 인터페이스가 결정될 수 있다. 예를 들어, 낮은 보안과 낮은 속도를 요구하는 상황에서, CAN 통신 인터페이스가 이용될 수 있다. 높은 보안과 높은 속도를 요구하는 상황에서, Ethernet 통신 인터페이스가 이용될 수 있다.
도 5b를 참조하면, 차량 데이터 종류에 따라 우선 순위가 결정될 수 있다. AV 데이터는 최우선적으로 고려될 수 있다. 다음으로 구동 ECU 데이터, 다음으로 내비게이션 데이터, 다음으로 게이트웨이 ECU 데이터, 다음으로 EDR 데이터, 마지막으로 인포테이먼트(infotainment) 데이터가 처리될 수 있다.
도 5c를 참조하면, 보안 레벨에 따라 중앙형 저장 장치(100)에 저장되는 타겟 영역이 결정될 수 있다. 예를 들어, 보안 레벨이 높을 때, 매체(media)가 리던던시 영역으로 이용될 수 있다. 보안 레벨이 중간 정도일 때, 중앙형 저장 장치(100)의 SLC/TLC 영역이 리던던시 영역으로 이용될 수 있다. 보안 레벨이 낮을 때, TLC 영역이 리던던시 영역으로 이용될 수 있다. 보안 레벨이 특정 되지 않았을 때(not relevant), 리던던시 동작이 수행되지 않을 것이다.
도 6는 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)의 쓰기 동작을 예시적으로 보여주는 래더 다이어그램이다. 도 6을 참조하면, 쓰기 동작은 다음과 같이 진행될 수 있다. 차량 내부의 다양한 센서들 중에서 어느 하나는 차량용 데이터를 감지할 수 있다(S10). 감지된 차량용 데이터는 전자 제어 유닛/도메인 제어 유닛(ECU/DCU)에 전송될 수 있다(S11). ECU/DCU는 감지된 차량용 데이터를 저장하기 위하여 사전에 결정된 방식에 따라 처리할 수 있다(S12). 처리된 차량용 데이터는 차량 통신 인터페이스를 통하여 인터페이스 스위치(NVMe-SW)로 전송될 수 있다. NVMe-SW는 데이터 관리 정책에 따라 처리된 차량용 데이터에 대한 우선 순위를 판별할 수 있다(S14). NVMe-SW는 우선 순위에 따라 중앙형 저장 장치(CSD)로 처리된 데이터와 함께 쓰기 요청을 전송할 수 있다(S15). CSD는 쓰기 요청에 따라 처리된 차량용 데이터를 저장할 수 있다.
도 7은 본 발명의 실시 예에 따른 차량 내부 전자 시스템(20)의 읽기 동작을 예시적으로 보여주는 래더 다이어그램이다. 도 7를 참조하면, 읽기 동작은 다음과 같이 진행될 수 있다.
전자 제어 유닛/도메인 제어 유닛(ECU/DCU)은 필요에 따라 중앙형 저장 장치(CSD)에 저장된 데이터를 읽을지 판별할 수 있다(S20). ECU/DCU는 읽기 요청을 인터페이스 스위치(NVMe-SW)로 전송할 수 있다(S21). NVMe-SW는 읽기 요청에 대응하는 처리 우선 순위를 판별할 수 있다(S22). NVMe-SW는 우선 순위에 따라 읽기 요청을 CSD로 전송할 수 있다(S23). CSD는 읽기 요청에 응답하여 읽기 동작을 수행하고, 읽기 동작에 대응하는 읽기 데이터를 NVMe-SW로 출력할 수 있다(S24). NVMe-SW는 전송된 읽기 데이터를 처리하기 위한 처리 우선 순위를 판별할 수 있다(S25). NVMe-SW는 우선 순위에 따라 읽기 데이터를 ECU/DCU로 전송할 수 있다(S26).
일반적으로, SSD(Solid State Drive)에 복수의 어플리케이션 프로세스들을 지원하는 SR-IOV(Single root I/O virtualization) 인터페이스는 고성능 컴퓨팅(High-performance computing; HPC) 응용에 이용되고 있다. SR-IOV 인터페이스는 단일 PCIe 대비해서 인터페이스 가상화를 통해 복수의 호스트들을 지원하는 장점을 갖는다. 이는 복수의 쓰레드들(threads)를 지원해야 하는 데이터 센터 및 서버 응용에 적합한 기술이다. 자동차 아키텍쳐도 무선 업데이트(Over-the-air; OTA) 및 자율주행 응용의 HPC를 지원하기 위해, 복수의 호스트들/차량 제어기들을 지원하는 중앙형 데이터 저장 장치가 필요하다. 또한, 기존 호스트를 통한 데이터 저장 뿐만 아니라 센서의 데이터 및 OTA 소프트웨어 등 차량 통신인 Ethernet 및 CAN(Controller Area Network) 버스를 지원하는 저장 장치가 필요하다.
도 8은 본 발명의 실시 예에 따른 SR-IOV 기술과 차량 통신 인터페이스를 연계한 차량 내부 전자 시스템(30)을 예시적으로 보여주는 도면이다. 도 8을 참조하면, 차량 내부 전자 시스템(30)은 중앙형 저장 장치(300), 멀티 호스트 인터페이스 스위치(400), 및 복수의 차량 제어기들을 포함할 수 있다.
중앙형 저장 장치(300)는 자율주행 및 ADAS(Advanced Driver Assistance System) 기술이 적용된 차량 응용에서 E/E 아키텍쳐가 도메인(Domain architecture) 및 중앙식(Zonal architecture)가 적용된 구조로 구현될 수 있다. CAN 버스를 차량 통신 프로토콜이 일부 혹은 전부 Ethernet을 지원할 수 있다.
중앙형 저장 장치(300)는 SR-IOV를 위한 SSD 펌웨어 내에 복수의 PCIe 인터페이스를 지원하기 위한 가상화 기능을 수행할 수 있다.
멀티 호스트 인터페이스 스위치(400)는 복수의 PCIe를 제어하기 위한 스위치를 포함할 수 있다. 멀티 호스트 인터페이스 스위치(400)는 차량 네트워크를 지원하기 위한 NVMe-oF(Non-volatile express over Fabrics) 변환기(410)와 CAN to PCIe 변환기(420)를 포함할 수 있다. 복수의 차량 제어기들의 각각은 호스트 인터페이스 스위치(400)에 연결될 수 있다. 여기서 복수의 차량 제어기들의 각각은 호스트 기능을 수행할 수 있다.
도 8에 도시된 바와 같이, 차량 제어기들의 각각은 게이트웨이 ECU, 오디오/비디오 출력을 제어하는 인포테인먼트 제어기, 내비게이션 제어기, DSSAD/EDR 제어기, 각종 센서들을 제어하는 자율주행 제어기 등을 포함할 수 있다. 여기서 게이트웨이 ECU는 진단기(OBD), 이동 단말(Cellular), 및 무선 장치(Bluetooth)에 유무선으로 연결될 수 있다. 실시 예에 있어서, 멀티 호스트 인터페이스 스위치(400)는 ASIC(Application Specific Integrated Circuit) 혹은 FPGA(Field Programmable Gate Array)으로 구현될 수 있다. 실시 예에 있어서, 중앙형 저장 장치(300)는 SR-IOV 인터페이스를 지원함으로써 복수의 도메인 제어기들의 ECU를 담당 할 수 있다.
중앙형 저장 장치(300)는 전송 큐, 완료 큐, 관리 큐, 관리 완료 큐 등을 관리할 수 있다. 중앙형 저장 장치(300)는 전송 큐, 완료 큐, 관리 큐, 관리 완료 큐 등을 저장하는 버퍼 메모리를 포함할 수 있다. 중앙형 저장 장치(300)는 멀티 호스트 인터페이스 회로(400)를 경유하여 복수의 차량 제어기들과 통신할 수 있다. 예를 들어, 중앙형 저장 장치(300)는 PCI-express 인터페이스의 기반의 물리 계층을 통한 인터페이스(예를 들어, NVMe over PCI-express)를 통해 멀티 호스트 인터페이스 회로(400)와 통신할 수 있다. 그리고, 멀티 호스트 인터페이스 회로(400)는 네트워크 기반의 인터페이스(예를 들어, NVMe-oF; NVMe over Fabrics) 혹은 차량 통신 인터페이스를 통해 차량 제어기들과 통신할 수 있다.
또한, 중앙형 저장 장치(300)는 다양한 형태의 물리 계층을 통해 차량 제어기들과 통신하기 위한 제어기(320; Ctrl/FW)를 포함할 수 있다. 제 1 내지 제 4 가상 기능들(VF1 ~ VF4)은 복수의 차량 제어기들의 각각에 대응할 수 있다. 예를 들어, 제 1 가상 기능(VF1)은 제 1 차량 제어기와 통신할 수 있고, 제 1 차량 제어기로부터의 제 1 커맨드를 처리하도록 구성된 제 1 NVMe 제어기를 가리킬 수 있다. 제 2 가상 기능(VF2)은 제 2 차량 제어기와 통신할 수 있고, 제 2 차량 제어기로부터의 제 2 커맨드를 처리하도록 구성된 제 2 NVMe 제어기를 가리킬 수 있다. 제 3 가상 기능(VF3)은 제 3 차량 제어기와 통신할 수 있고, 제 3 차량 제어기로부터의 제 3 커맨드를 처리하도록 구성된 제 3 NVMe 제어기를 가리킬 수 있다. 제 1 내지 제 4 가상 기능들(VF1 ~ VF4)은 대응하는 차량 제어기로부터의 커맨드를 기반으로 비휘발성 메모리 장치(310)에 대한 동작을 수행할 수 있다. 제 4 가상 기능(VF4)은 제 4 차량 제어기와 통신할 수 있고, 제 4 차량 제어기로부터의 제 4 커맨드를 처리하도록 구성된 제 4 NVMe 제어기를 가리킬 수 있다. 제 1 내지 제 4 가상 기능들(VF1 ~ VF4)은 대응하는 차량 제어기로부터의 커맨드를 기반으로 비휘발성 메모리 장치(310)에 대한 동작을 수행할 수 있다. 실시 예에 있어서, 비휘발성 메모리 장치는 논리적으로 구분된 명칭 공간(NS; namespace)로 관리될 수 있다. 제 1 내지 제 4 가상 기능들(VF1 ~ VF4) 각각은, 커맨드에 대응하는 동작을 대응하는 명칭 공간에 대하여 수행할 수 있다.
성능 관리자는 제 1 내지 제 4 가상 기능들(VF1 ~ VF4)의 레벨을 기반으로 제 1 내지 제 4 가상 기능들(VF1 ~ VF4)의 동작을 제어할 수 있다. 예를 들어, 성능 관리자는 제 1 내지 제 4 가상 기능들(VF1 ~ VF4)의 레벨을 기반으로 제 1 내지 제 4 가상 기능들(VF1 ~ VF4) 중 커맨드를 처리할 물리 기능들을 스케줄링할 수 있다. 한편, 본 발명의 범위가 이에 한정되는 것은 아니며, 하나의 호스트가 복수의 전송 큐들 혹은 다른 커맨드 큐들을 더 관리할 수 있으며, 하나의 물리 기능(PF)은 복수의 전송 큐들 각각에 대한 커맨드를 처리하도록 구성될 수 있다.
일반적으로, 차량의 복수의 인터페이스들(e.g. CAN 및 Ethernet 등)가 부착된 자율주행 데이터 저장 장치는, 저장된 데이터를 차량 네트워크에 전송하기 위해 복수의 인터페이스들 중에서 선택을 해야 한다. 이를 위해, 데이터 저장시 보안성과 속도 요구에 따른 태그를 호스트에서 지정하고 있다. 예를 들어, 데이터 보안과 속도 요구가 낮은 차량 진단 데이터를 저장하는 경우, 태그에 정보를 포함하여 저장 장치에서 데이터를 송출시 상대적으로 속도가 느리고 보안성이 약한 CAN 인터페이스가 이용된다. OTA를 위한 펌웨어나 자율주행 데이터와 같이 높은 보안성과 속도에 해당하는 태그를 가지는 데이터는 상대적으로 속도가 빠르고 보안성이 높은 Ethernet 인터페이스가 이용된다.
한편, 본 발명의 실시 예에 따라 SR-IOV 및 복수의 차량 인터페이스를 사용하는 경우, 데이터 Read/Write (RW)에서 지연이 발생하는 경우를 대비해서 각 데이터 소스에 따라 데이터 처리에 우선 순위가 지정될 수 있다. 이러한 우선 순위에 따라 데이터 RW에서 PCIe switch와 F/W 동작을 우선적으로 수행할 수 있다. 예를 들어, 다음과 같은 우선 순위를 미리 지정 한 경우(AV > EDR > Driving ECU (motor / battery) > Navigation > Gateway ECU > Infotainment), 멀티 호스트 인터페이스 스위치(400)에서 우선 순위를 고려하여 데이터 입출력 결정될 수 있다. 실시 예에 있어서, AV 및 EDR 데이터가 우선적으로 처리될 수 있다. 또한, 중앙형 저장 장치(300)의 펌웨어에서 데이터 RW를 처리하는 경우에도, 우선 순위가 높은 데이터 소스의 RW 처리가 요구 될 때, 데이터 처리 큐(Queue)에서 새로운 데이터 처리에 높은 우선 순위가 부여될 수 있다.
도 9는 본 발명의 실시 예에 따른 차량 네트워크에서 차량 데이터의 소스에 따른 요구사항들을 예시적으로 보여주는 도면이다.
일반적인 IT 응용의 데이터 저장 장치와 다르게, 자율주행 차량 데이터는 정형화 되어 있다. 센서 데이터, 자율주행 및 기타 제어기 소프트웨어, 내비게이션 맵, V2X 모니터링, 인포테인먼트 데이터 등의 데이터가 자율주행 차량에서 생성된다. 이렇게 생성된 일부 데이터는 저장 장치의 목적에 따라 NVM(Non-volatile memory)에 저장될 수 있다. 자율주행 개발 및 검증을 위한 데이터 저장 장치는 자율주행 센서 및 소프트웨어 중간 데이터와 V2X(Vehicle to Everything) 데이터 등을 가능한 많이 저장할 것이다. 자율주행 차량에 중앙형 저장 장치에 경우, 향후 학습을 위한 일부 자율주행 센서 및 SW 중간 데이터와, 인포테인먼트와 사용자 관련 데이터가 저장될 것이다.
또한, 도 9에 도시된 바와 같이 각 데이터의 보안 레벨이 미리 선정될 수 있다. 이로써, 데이터에 보안 레벨을 태그함으로써 데이터 저장 장치의 Redundancy 전략이 차별화 될 수 있다. 높은 보안 레벨은 추가의 플래시 메모리를 장착함으로써 복수의 데이터를 저장할 수 있다. 중간 보안 레벨은 동일한 플래시 메모리 내에 SLC(Single Level Cell) 영역과 TLC(Triple Level Cell) 영역을 구분시켜 데이터를 저장할 수 있다. 낮은 보안 레벨은 동일한 TLC(Triple Level Cell) 혹은 QLC(Quad Level Cell) 데이터를 저장할 수 있다.
본 발명은 자율주행 차량의 데이터 특성을 고려하여 플래시 메모리에 데이터 저장 및 데이터 읽기/쓰기를 차별화할 수 있다. 스마트 SSD 같이 ASIC을 추가한 경우 호스트에서 수행하는 데이터 관리를 적극적으로 수행함으로써, 자율주행에 특화된 데이터 저장 장치로 확장 될 수 있다. 본 발명의 실시 예에 따른 중앙형 저장 장치는 SR-IOV 등과 같이 표준화된 기술 뿐만 아니라, 자율주행 데이터의 성능 및 QoS(Quality of Service)를 만족하기 위해 데이터 관리 및 전송 등에 특화된 기술로 구현될 수 있다.
한편, 본 발명의 실시 예에 따른 중앙형 저장 장치가 SR-IOV 기반 SSD에 제한될 필요는 없다. 본 발명의 실시 예에 따른 중앙형 저장 장치는 단일 인터페이스에 차량 통신 인터페이스를 제공하는 별도의 ASIC을 구비하여 구현될 수 있다.
도 10a 및 도 10b는 본 발명의 다른 실시 예에 따른 차량용 저장 장치(500)를 예시적으로 보여주는 도면들이다. 도 10a를 참조하면, 차량용 저장 장치(500)는 적어도 하나의 비휘발성 메모리 장치(510), 제어기(520), 및 내부 차량 인터페이스 회로(530)를 포함할 수 있다.
내부 차량 인터페이스 회로(530)는 호스트 인터페이스로 및 차량 전용의 차량 통신 인터페이스들로 외부 장치에 연결될 수 있다. 실시 예에 있어서, 호스트 인터페이스는 NVMe 인터페이스일 수 있다. 실시 예에 있어서, 내부 차량 인터페이스 회로(530)는 ASIC으로 구현될 수 있다.
도 10b를 참조하면, 내부 차량 인터페이스 회로(530)는 NVMe 인터페이스 회로(531) 및 차량 통신 인터페이스 회로(532)를 포함할 수 있다. 여기서 차량 통신 인터페이스 회로(532)는 CAN 인터페이스, MOST 인터페이스, LIN 인터페이스, FlexRay 인터페이스, 혹은 Ethernet 인터페이스로 구현될 수 있다.
한편, 본 발명의 실시 예에 따른 차량용 저장 장치는 CAN 송수신기와 Ethernet 인터페이스로 구현될 수 있다.
도 11은 본 발명의 또 다른 실시 예에 따른 차량용 저장 장치(600)를 예시적으로 보여주는 도면이다. 도 11은 참조하면, 차량용 저장 장치(600)는 적어도 하나의 비휘발성 메모리 장치(610), 그것을 제어하는 제어기(620), 및 FPGA(630)를 포함할 수 있다. FPGA(630)는 CAN 인터페이스 및 Ethernet 인터페이스로 외부의 차량용 제어기들에 연결될 수 있다. FPGA(630)는 CAN 송수신기(631) 및 Ethernet 인터페이스 회로(632)를 포함할 수 있다.
한편, 도 11에서 차량용 저장 장치는 FPGA를 SSD 내부에 배치되고 있으나 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. FPGA는 SSD 외부에 배치될 수도 있다.
도 12는 본 발명의 또 다른 실시 예에 따른 차량용 저장 시스템(40)을 예시적으로 보여주는 도면이다. 도 12를 참조하면, 차량용 저장 시스템(40)은 저장 장치(700) 및 FPGA(800)을 포함할 수 있다.
저장 장치(700)는 적어도 하나의 비휘발성 메모리 장치(710) 및 그것을 제어하는 제어기(720)를 포함할 수 있다. 비휘발성 메모리 장치(710)는 SLC 영역(7110 및 TLC 영역(712)를 포함할 수 있다. 제어기(720)는 데이터 정책에 따라 EDR 데이터는 SLC 영역(711)에 저장하도록 구현될 수 있다. 또한, 제어기(720)는 데이터 정책에 따라 DSSAR 데이터는 TLC 영역(712)에 저장하도록 구현될 수 있다.
FPGA(800)는 저장 장치(700)로부터 전용 채널을 통하여 차량 데이터를 입력 받거나, 전용 채널을 통하여 저장 장치(700)으로 차량 데이터를 출력하도록 구현될 수 있다. 여기서 전용 채널은 NVMe 인터페이스로 구현될 수 있다. 여기서 차량 데이터는 자율주행에 필요한 다양한 센서 데이터일 수 있다.
또한, FPGA(800)는 도 1 내지 도 11에서 상술된 바와 같이, 이종의 차량 통신 인터페이스를 통하여 복수의 차량 제어기들(예를 들어, ECU, DCU 등)에 연결될 수 있다. 추가로, FPGA(800)는 복수의 차량 제어기들로부터 수신된 센서 데이터를 이용하여 이벤트를 처리하도록 구현될 수 있다. 도 12에 도시된 바와 같이, FPGA(800)는 센서 데이터를 통하여 사고를 판별하는 사고 판별 로직(810), 센서 데이터의 저장을 관리하는 데이터 저장 관리 유닛(820), 센서 데이터에 따른 이벤트를 해석하는 이벤트 분석 로직(830), 및 센서 데이터의 보호하기 위한 암호화 동작을 수행하는 데이터 보호 로직(840)를 포함할 수 있다. FPGA(800)는 CAN 인터페이스 및 Ethernet 인터페이스를 통하여 외부의 차량용 제어기로 연결될 수 있다. 사고 판별 로직(810)는 차량 데이터 및 내부 온도 센서를 이용하여 차량 사고 및 전기차 화재 발생을 판단하여 데이터의 외부 클라우드 전송을 관리하도록 구현될 수 있다. 데이터 저장 관리 유닛(820) 차량 통신 채널에서 획득한 EDR/DSSAD 데이터를 저장하도록 구현될 수 있다. 이벤트 분석 로직(830)는 저장 공간이 부족할시 이벤트 복구 가능한 범위 내에서 데이터 압축하도록 구현될 수 있다. 데이터 보호 로직(840)는 이미지 데이터의 프라이버시 정보(얼굴, 차량 번호 등)을 익명화(anonymization) 하도록 구현될 수 있다.
도 13은 본 발명의 실시 예에 따른 자율주행 전자 시스템(50)을 예시적으로 보여주는 도면이다.
도 13을 참조하면, 자율주행 전자 시스템(50)는 프로세서(51) 및 저장 장치들(52, 53, 34)를 포함할 수 있다. 레벨 3 이상의 조건부(Conditional) 혹은 완전(Fully) 자율주행에 필수인 사고 기록 장치(Event Data Recorder, EDR) 및 자율주행 기록 장치(Data Storage System for Automated Driving, DSSAD) 같은 데이터 기록 장치(54)는 사고 및 이벤트 기록을 위해 호스트를 거치지 않고 빠른 데이터 저장을 요구하고 있다. 이러한 경우, CAN 및 Ethernet을 지원하는 SSD에 빠른 속도로 저장하는 경우에 본 발명이 확장 가능하다. 자율주행 차량의 인공지능(Artificial Intelligence; AI) 알고리즘을 연산하는 경우와 같이 성능이 우선되는 경우, SSD 내부에 복수의 제어기를 장착하여 AI의 컴퓨팅 성능을 만족하는 응용에도 본 발명이 적용 가능하다.
자율주행 차량의 개발을 위해서, 자율주행 차량의 검증을 위한 데이터 저장이 요구 되고 있다. 이러한 데이터 저장 장치는 자율주행 기능의 정확한 분석을 위해 최대한 많은 데이터를 최대의 Bandwidth로 데이터 저장이 요구되면, 차량 통신 프로토콜을 지원하는 SSD는 복수의 센서들과 제어기의 데이터를 대응하는 데 적용 가능하다.
도 14는 본 발명의 실시 예에 따른 CAN to PCIe 데이터 변환을 예시적으로 보여주는 도면이다. 도 14를 참조하면, M.2 Key 인터페이스(PCIe 인터페이스)에 분기되는 2개의 CAN 버스 포트 모듈이 도시되고 있다. PCIe 인터페이스에 대응하는 데이터는 CAN 버스에 대응하는 데이터로 변환될 수 있다. 이때 CAN 버스 신호 및 CAN 버스 전원이 분리될 수 있다. CAN 버스 신호는 CAN 버스 신호 아이솔레이터를 통하여 CAN 버스 전원 신호는 CAN 버스 아이솔레이터를 통하여 CAN 송수신기로 출력될 수 있다. CAN 송수신기는 분리된 CAN 버스 신호 및 CAN 버스 전원을 수신하여 대응하는 CAN 버스로 출력할 수 있다.
한편, 본 발명은 차량 인터페이스에 적용될 뿐 아니라, 다중 호스트 기반의 시스템에 확장 가능하다.
도 15는 본 발명의 실시 예에 따른 클라우드 저장 시스템(60)을 예시적으로 보여주는 도면이다. 도 15를 참조하면, 클라우드 저장 시스템(60)은 중앙형 저장 장치(61), 멀티-호스트 인터페이스 스위치(62) 및 복수의 마스터들(63-1, 63-2, ?, 63-N, N은 2 이상의 정수)을 포함할 수 있다. 여기서 복수의 마스터들(63-1, 63-2, ?, 63-N) 중에서 적어도 2개는 서로 다른 통신 인터페이스에 의해 멀티-호스트 인터페이스 스위치(62)에 연결될 수 있다. 즉, 중앙형 저장 장치(61)는 하나의 인터페이스를 통하여 멀티-호스트 인터페이스 스위치(62)와 직접 통신을 수행함으로써, 중앙형 저장 장치(61)는 복수의 마스터들(61-1, 63-2, ? , 63-N)과 서로 다른 통신 인터페이스들 통하여 통신하는 기능을 수행할 수 있다.
한편, 본 발명의 중앙형 저장 장치는 이중화 저장 장치로 구현될 수 있다.
도 16은 본 발명의 실시 예에 따른 이중화 저장 장치 시스템(70)을 예시적으로 보여주는 도면이다. 도 16를 참조하면, NVMe 버스에 제 1 중앙형 저장 장치(71) 및 제 2 중앙형 저장 장치(72)가 연결될 수 있다. 제 1 중앙형 저장 장치(71)가 액티브 모드로 동작하면, 제 2 중앙형 저장 장치(72)는 스탠바이 모드로 동작할 수 있다.
본 발명은 차량 통신(이더넷 및 CAN)을 지원하는 중앙식 데이터 저장 장치를 개시한다. 본 발명의 중앙식 데이터 저장 장치는 SR-IOV와 차량 인터페이스(이더넷 및 CAN)를 로 구현될 수 있다. 본 발명의 중앙식 데이터 저장 장치는 데이터 저장시 자율주행 데이터 특성을 고려하여 차량 내부 프로토콜 차별화 시킬 수 있다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장치 기술로 이용 할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.
20: 차량 내부 전자 시스템
100: 중앙형 저장 장치
110: 비휘발성 메모리 장치
120: 제어기
200: 인터페이스 스위치

Claims (20)

  1. 중앙형 저장 장치; 및
    상기 중앙형 저장 장치와 제 1 인터페이스를 통하여 연결되고, 적어도 하나의 도메인 제어 유닛에 제 1 차량 통신 인터페이스를 통하여 연결되고, 적어도 하나의 전자 제어 유닛에 제 2 차량 통신 인터페이스를 통하여 연결되는 인터페이스 스위치를 포함하고,
    상기 인터페이스 스위치는,
    상기 제 1 인터페이스에 따라 통신하는 제 1 인터페이스 회로; 및
    상기 제 1 차량 통신 인터페이스 및 상기 제 2 차량 통신 인터페이스를 상기 제 1 인터페이스로 변환하는 인터페이스 변환기를 포함하는 차량 내부 전자 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 인터페이스는 NVMe(Non-volatile Memory express) 인터페이스를 포함하는 것을 특징으로 하는 차량 내부 전자 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 차량 통신 인터페이스 및 상기 제 2 차량 통신 인터페이스의 각각은 CAN(Controller Area Network) 인터페이스, CAN-FD(CAN with Flexible Data rate) 인터페이스, LIN(Local Interconnect Network) 인터페이스, FlexRay 인터페이스, MOST(Media Oriented Systems Transport) 인터페이스, 및 Ethernet 인터페이스 중에서 적어도 하나를 포함하는 것을 특징으로 하는 차량 내부 전자 시스템.
  4. 제 1 항에 있어서,
    상기 인터페이스 변환기는,
    CAN 인터페이스를 NVMe 인터페이스로 변환하는 제 1 인터페이스 변환 유닛;
    LIN 인터페이스를 NVMe 인터페이스로 변환하는 제 2 인터페이스 변환 유닛;
    FlexRay 인터페이스를 NVMe 인터페이스로 변환하는 제 3 인터페이스 변환 유닛; 및
    Ethernet 인터페이스를 NVMe 인터페이스로 변환하는 제 4 인터페이스 변환 유닛을 포함하는 차량 내부 전자 시스템.
  5. 제 1 항에 있어서,
    상기 중앙형 저장 장치는 읽기 요청 혹은 쓰기 요청에 따른 차량 데이터 종류를 판별하고, 상기 판별된 차량 데이터 종류에 대응하는 우선 순위에 따라 상기 읽기 요청 혹은 상기 쓰기 요청에 대응하는 읽기 동작 혹은 쓰기 동작을 수행하는 것으로 특징으로 하는 차량 내부 전자 시스템.
  6. 제 1 항에 있어서,
    상기 중앙형 저장 장치는 보안 레벨에 따라 저장 타겟을 다르게 설정하는 것을 특징으로 하는 차량 내부 전자 시스템.
  7. 제 1 항에 있어서,
    상기 중앙형 저장 장치는 SR-IOV(Single Root-Input Output Virtualization) 기능을 수행하는 것을 특징으로 하는 차량 내부 전자 시스템.
  8. 제 1 항에 있어서,
    상기 인터페이스 스위치는 차량 통신 인터페이스의 종류에 따라 서로 다른 보안 레벨 혹은 서로 다른 처리 속도로 관리하는 것을 특징으로 하는 차량 내부 전자 시스템.
  9. 제 1 항에 있어서,
    상기 인터페이스 스위치는 상기 적어도 하나의 전자 제어 유닛 혹은 상기 적어도 하나의 도메인 제어 유닛으로부터 쓰기 요청을 수신하고, 상기 쓰기 요청에 포함된 차량용 데이터에 대응하는 우선 순위를 판별하고, 상기 우선 순위에 따라 상기 쓰기 요청을 상기 중앙형 저장 장치로 전송하는 것을 특징으로 하는 차량 내부 전자 시스템.
  10. 제 1 항에 있어서,
    상기 인터페이스 스위치는 상기 적어도 하나의 전자 제어 유닛 혹은 상기 적어도 하나의 도메인 제어 유닛으로부터 읽기 요청을 수신하고, 상기 읽기 요청에 대응하는 우선 순위를 판별하고, 상기 우선 순위에 따라 상기 읽기 요청을 상기 중앙형 저장 장치로 전송하는 것을 특징으로 하는 차량 내부 전자 시스템.
  11. 적어도 하나의 비휘발성 메모리 장치; 및
    상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 제어기를 포함하고,
    상기 제어기는 복수의 차량 통신 인터페이스들의 각각에 연결된 적어도 하나의 전자 제어 유닛에 SR-IOV(Single Root-Input Output Virtualization) 기능을 통하여 데이터를 송수신하고,
    상기 제어기는 외부 장치에 NVMe(Non-Volatile Memory express) 인터페이스를 통하여 연결되는 것을 특징으로 하는 중앙형 저장 장치.
  12. 제 11 항에 있어서,
    상기 제어기는,
    상기 적어도 하나의 전자 제어 유닛의 읽기 요청 혹은 쓰기 요청에 대응하는 차량용 데이터 종류를 판별하고, 상기 판별된 차량용 데이터 종류에 대응하는 우선 순위에 따라 상기 읽기 요청에 대응하는 읽기 동작을 수행하거나 상기 쓰기 요청에 대응하는 쓰기 동작을 수행하는 것을 특징으로 하는 중앙형 저장 장치.
  13. 제 12 항에 있어서,
    상기 제어기는 자율주행 관련 데이터의 우선 순위를 구동 전자 제어 유닛 관련 데이터의 우선 순위보다 높게 설정하는 것을 특징으로 하는 중앙형 저장 장치.
  14. 제 11 항 있어서,
    상기 제어기는 보안 레벨에 따른 상기 적어도 하나의 비휘발성 메모리 장치의 저장 타겟을 다르게 하는 것을 특징으로 하는 중앙형 저장 장치.
  15. 제 14 항에 있어서,
    상기 제어기는 상기 적어도 하나의 비휘발성 메모리 장치의 SLC(Single Level Cell) 영역에 저장하는 데이터의 보안 레벨을 상기 적어도 하나의 비휘발성 메모리 장치의 TLC(Triple Level Cell) 영역에 저장하는 데이터의 보안 레벨 보다 높게 설정하는 것을 특징으로 하는 중앙형 저장 장치.
  16. 중앙형 저장 장치의 동작 방법에 있어서,
    제 1 인터페이스에 따라 외부 장치로부터 수신된 읽기 요청 혹은 쓰기 요청을 위한 차량용 데이터 종류를 판별하는 단계; 및
    상기 차량용 데이터 종류에 대응하는 우선 순위에 따라 읽기/쓰기를 실행하는 단계를 포함하고,
    상기 차량용 데이터 종류는, 자율주행 관련 데이터, 구동 전자 제어 유닛 관련 데이터, 내비게이션 데이터, 게이트웨이 전자 제어 유닛 관련 데이터, EDR(Event Data Recorder) 데이터, 혹은 인포테인먼트 데이터를 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서,
    상기 차량용 데이터 종류를 판별하는 단계는,
    상기 읽기 요청 혹은 상기 쓰기 요청에 포함된 태그를 이용하여 차량 통신 인터페이스의 종류를 판별하는 단계를 포함하는 방법.
  18. 제 16 항에 있어서,
    상기 차량용 데이터 종류에 대응하는 보안 레벨을 판별하는 단계를 더 포함하는 방법.
  19. 제 18 항에 있어서,
    상기 보안 레벨에 따라 저장 타겟을 결정하는 단계를 더 포함하는 방법.
  20. 제 16 항에 있어서,
    EDR(Event Data Recorder) 데이터를 SLC(Single Level Cell) 영역에 저장하는 단계; 및
    DSSAD(Data Storage System for Automated Driving) 데이터를 TLC(Triple Level Cell) 영역에 저장하는 단계를 더 포함하는 방법.



KR1020220155073A 2022-11-18 2022-11-18 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법 KR20240073356A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220155073A KR20240073356A (ko) 2022-11-18 2022-11-18 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법
US18/204,579 US20240168905A1 (en) 2022-11-18 2023-06-01 Centralized storage device, in-vehicle electronic system including the same, and method of operating the same
EP23184619.7A EP4372571A1 (en) 2022-11-18 2023-07-11 Centralized storage device, in-vehicle electronic system including the same, and method of operating the same
CN202311407764.8A CN118056717A (zh) 2022-11-18 2023-10-26 集中式存储设备、包括其的车载电子***及操作其的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220155073A KR20240073356A (ko) 2022-11-18 2022-11-18 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20240073356A true KR20240073356A (ko) 2024-05-27

Family

ID=87245548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220155073A KR20240073356A (ko) 2022-11-18 2022-11-18 중앙형 저장 장치, 그것을 갖는 차량 내부 전자 시스템, 및 그것의 동작 방법

Country Status (4)

Country Link
US (1) US20240168905A1 (ko)
EP (1) EP4372571A1 (ko)
KR (1) KR20240073356A (ko)
CN (1) CN118056717A (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802263B2 (en) * 2002-12-17 2010-09-21 Stragent, Llc System, method and computer program product for sharing information in a distributed framework
KR102336443B1 (ko) 2015-02-04 2021-12-08 삼성전자주식회사 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치
KR102473665B1 (ko) 2015-07-28 2022-12-02 삼성전자주식회사 스토리지 디바이스 및 스토리지 가상화 시스템
US10235198B2 (en) 2016-02-24 2019-03-19 Samsung Electronics Co., Ltd. VM-aware FTL design for SR-IOV NVME SSD
US11748278B2 (en) * 2019-06-20 2023-09-05 Intel Corporation Multi-protocol support for transactions
KR20210099291A (ko) 2020-02-04 2021-08-12 삼성전자주식회사 다중-호스트를 지원하도록 구성된 스토리지 장치 및 그것의 동작 방법

Also Published As

Publication number Publication date
CN118056717A (zh) 2024-05-21
US20240168905A1 (en) 2024-05-23
EP4372571A1 (en) 2024-05-22

Similar Documents

Publication Publication Date Title
US11663328B2 (en) Detection of compromised storage device firmware
WO2020027913A1 (en) Using failed storage device in peer-to-peer storage system to perform storage-centric task
US9164677B2 (en) Systems and methods for DMA controller for checking the status of metadata prior to or simultaneously when transferring data to host
US11650937B2 (en) Storage system and method for secure host controller memory buffer access
US11269515B2 (en) Secure authentication for debugging data transferred over a system management bus
CN115203086A (zh) 主机存储器缓冲器分配管理
US20150106573A1 (en) Data processing system
US20240086316A1 (en) Memory sub-system write sequence track
KR20200115831A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US20240020062A1 (en) Selective Message Processing by External Processors for Network Data Storage Devices
KR102425470B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US10474391B2 (en) Storage system and method for executing file-based firmware commands and collecting response data
US20240168905A1 (en) Centralized storage device, in-vehicle electronic system including the same, and method of operating the same
CN114490166A (zh) 电子设备、车用设备和数据中心
US12026102B2 (en) Isolating functions in a memory device
US20240095200A1 (en) Transferring data to a memory device based on importance
EP4148572B1 (en) Computational storage device and storage system including the computational storage device
US20230393749A1 (en) Method and device of storage data
US20230153237A1 (en) Method and device for storing data
US20080034380A1 (en) Raid control method and core logic device having raid control function
US11914879B2 (en) Storage controller and storage system comprising the same
US11204850B2 (en) Debugging a memory sub-system with data transfer over a system management bus
US11989453B2 (en) Production state awareness selection
US11527294B2 (en) Memory sub-system scan
US20230359766A1 (en) Data Storage Device and Method for Token Generation and Parameter Anonymization