KR20080022185A - 통신 시스템 노드, 저장 유닛 및 데이터 저장 방법 - Google Patents

통신 시스템 노드, 저장 유닛 및 데이터 저장 방법 Download PDF

Info

Publication number
KR20080022185A
KR20080022185A KR1020087000606A KR20087000606A KR20080022185A KR 20080022185 A KR20080022185 A KR 20080022185A KR 1020087000606 A KR1020087000606 A KR 1020087000606A KR 20087000606 A KR20087000606 A KR 20087000606A KR 20080022185 A KR20080022185 A KR 20080022185A
Authority
KR
South Korea
Prior art keywords
buffer
data
list
control list
entry
Prior art date
Application number
KR1020087000606A
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 엔엑스피 비 브이
Publication of KR20080022185A publication Critical patent/KR20080022185A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드에 관한 것이다. 특히, 본 발명은 시간-트리거링된 프로토콜이 노드상에서 실행되는 시스템 또는 호스트-제어기 레벨상의 통신 제어기의 외부에 위치된 유닛에 버퍼링 데이터 및 제어 데이터를 저장하는 것에 관한 것이다. 포맷 및 동작을 포함하는 제어 및 버퍼링 관련 데이터를 통신 제어기의 외부에 위치시킴으로써, 데이터 버퍼링 관련 제약, 예를 들면, 버퍼 크기 및 버퍼의 수가 통신 제어기 레벨로부터 시스템 레벨로 이동되어, 더욱 융통성있고, 확장가능하며, 재구성가능하게 된다.

Description

통신 시스템 노드, 저장 유닛 및 데이터 저장 방법{STORAGE UNIT FOR A COMMUNICATION SYSTEM NODE, METHOD FOR DATA STORAGE AND COMMUNICATION SYSTEM NODE}
본 발명은 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드에 관한 것이다. 특히, 본 발명은 시간-트리거링된 프로토콜(time-triggered protocol)이 노드상에서 실행되는 시스템 또는 호스트-제어기 레벨상의 통신 제어기의 외부에 위치된 유닛에 버퍼링 데이터 및 제어 데이터를 저장하는 것에 관한 것이다.
최근, 자동차 산업에서는 그들의 제품에 도입되는 전자 시스템의 양이 크게 증가되고 있다. 다양한 전자 제어 유닛(ECU)의 동작을 위한 상이한 통신 시스템이 개발되어 왔다. 일반적으로, 통신 시스템은 서로 통신하는 다수의 유닛 또는 노드를 포함한다. 통상적으로, 통신은 동일한 배선의 세트에 대해 수 개의 노드를 논리적으로 접속하는 버스를 통해 수행된다. 각각의 노드는 호스트-제어기, 통신 제어기 및 데이터를 생성하는 물리적 장치로 구성된다. 통신 제어기는 호스 트 제어기에 의해 수신된 데이터를 송신하고, 수신된 데이터를 호스트 제어기에게 공급한다.
상이한 버스 시스템이 본 기술 분야에 알려져 있다. LIN-Bus(Local Interconnect Network)는 현재의 자동차 네트워크 아키텍쳐내에서 이용되는 버스 시스템이다. 그것은 차량에서의 메카트로닉 응용을 위해 설계되며, 작고 다소 느린 네트워크 시스템이다. 집적된 부재들은 지능형 감지기 장치 또는 액츄에이터이다. 하나의 전용 노드는 LIN 마스터로서 셋업(set up)되고, 다른 모든 부착된 노드들은 LIN 슬레이브이다. 이러한 토폴로지는 고정되며, 이후에 변경될 수 없다.
보다 고속의 네트워크는 전자 제어 유닛들을 접속하기 위해 1980년대에 처음에 개발된 멀티캐스트 공유 직렬 버스 표준인 제어기 영역 네트워크(Controller Area Network; CAN)이다. CAN은 특히 잡음이 있는 환경에서 강건하도록 설계되었으며, 버스상에 커다란 변형을 발생시키지 않으면서, 임의의 장치가 임의의 다른 장치 또는 네트워크와 통신 및 동작할 수 있도록 하는 네트워크이다. 그것은 자동차 응용에서, 예를 들면, 공기 상태 제어 유닛(air condition control unit), 시트 액츄에이터(seat actuator), 중앙화된 창문 잠금 시스템(centralized door locking system) 또는 가속 스키드 제어(acceleration skid control)를 위해 이용된다. CAN 네트워크 이외에도, 많은 차량이 보다 작은 서브네트워크에 대해 추가적인 LIN 버스를 이용한다.
그러나, 다수의 감지기, 액츄에이터 및 전자 제어 유닛을 결합하는 진보된 제어 시스템의 도입은, 현존 통신 프로토콜에 의해 현재 해결되지 않은 통신 기법에 대한 요구를 제기하기 시작하고 있다. 신뢰도 및 생존성(survivability)에서의 엄격한 요건을 부과하는 기계적 및 유압 브레이킹 및 스티어링 시스템의 배선 배치를 위해, 분배형 결함 허용 컴퓨터 시스템은 의무적인 것이다. 더욱이, 안전 관련 응용은 실시간 데이터 관리를 필요로 한다. 높은 우선순위의 메시지는 모든 상황에서의 사전정의된 양의 시간에 송신되어야 한다. 증가된 기능 및 보드상의(on-board) 진단에 대한 요구가 또한 증가됨에 따라, 대역폭 및 시스템 확장 둘다에 있어서의 융통성 또한 주된 속성이다. 진보된 제어 시스템은 현존하는 CAN 통신 버스에 대한 경계 요구를 제기하기 시작하였다.
FlexRay 시스템은 결정론적 에러-허용 통신 및 10Mbit/s까지의 높은 데이터율을 갖는 버스 시스템을 위한 요구를 충족시키기 위해 제안되었다. 그것은 네트워크 구성의 변경과 관련하여 매우 융통성이 있다. CAN, FlexRay와 같은 현재의 이벤트-트리거링된 통신 프로토콜과는 반대로, 이벤트-트리거링 이벤트와 함께 시간-트리거링을 결합한다. FlexRay 시스템의 핵심에는 FlexRay 통신 프로토콜이 있다. 그러한 프로토콜은 스케일러블 정적 및 동적 메시지 송신을 결합하고, 잘 알려진 동기 및 비동기 프로토콜의 이점을 통합함으로써, 융통성 및 결정론(determinism)을 제공한다. 그러한 프로토콜은 전역 시간 기반을 통한 결함-허용 클럭 동기화, 충돌없는 버스 액세스, 식별자를 통한 메시지 지향 어드레싱, 단일 또는 이중 채널의 지원을 통한 스케일러블 시스템 결함-허용을 지원한다.
FlexRay 제어기는 그 각각의 채널을 위한 송신기 및 수신기 유닛을 포함하 며, 각각의 송신기 및 수신기 유닛은 2개의 독립적인 유닛, 타이밍 유닛, 호스트에 대한 접속을 위한 제어기 호스트 인터페이스(CHI) 및 프로토콜 상태 머신으로 또한 분리될 수 있다. 추출된 데이터 또는 송신을 위한 데이터는 버퍼에 저장된다. FlexRay 아키텍쳐 레벨은 호스트 레벨, 제어기 호스트 인터페이스 레벨, 프로토콜 엔진 레벨, 채널 인터페이스 레벨 및 가능한 채널 A 및 B를 갖는 토폴로지 레벨을 포함한다. 제어기 호스트 인터페이스를 통해 송신된 데이터는 네트워크 또는 노드 구성과 관련된 상태 데이터, 제어 데이터, 예를 들면, 외부 클럭 동기화, 메시지 데이터 또는 구성 데이터를 포함한다.
EP 1355456은 FlexRay 프로토콜을 개시하고 있다. 통신에 대한 통신 사이클을 생성할 수 있는 통신 라인에 연결된 적어도 하나의 노드 및 통신을 위한 수단을 갖는 네트워크 시스템이 제공된다.
통신 사이클은 FlexRay내의 매체 액세스 방안의 기본적인 요소이다. 그것은 타이밍 계층구조에 의해 정의된다. 타이밍 계층구조는 도 1에 도시된 바와 같은 4개의 타이밍 계층구조 레벨로 구성된다. 최고 레벨, 즉, 통신 사이클 레벨은 통신 사이클을 정의한다. 그것은 정적 세그먼트, 동적 세그먼트, 심볼 윈도우 및 네트워크 아이들 시간(NIT)을 포함한다. 다음 하위 레벨, 즉, 중재 그리드 레벨은 FlexRay 매체 중재의 백본(backbone)을 형성하는 중재 그리드를 포함한다. 정적 세그먼트에서, 중재 그리드는 정적 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성되고, 동적 세그먼트에서, 중재 그리드는 미니 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성된다.
WO 2005/002145는 네트워크에서의 네트워크 노드의 호스트 프로세서 및 통신 제어기에 의해 액세스되는 메모리를 관리하기 위한 어셈블리 및 방법을 개시하고 있다. 바람직하게, 어셈블리 및 방법은 FlexRay 버스 시스템에 적용된다. 식별자가 각각의 데이터 메시지에 할당되고, 관련된 식별자의 수에 대응하는 다수의 버퍼가 네트워크 노드의 메모리에 제공된다. 제어 데이터는 식별자에 할당되었던 버퍼들 중 적어도 일부에 저장된다.
WO 2004/105328은 CAN 또는 FlexRay 시스템에 적용가능한 통신 프로토콜 및 방법을 위한 메시지 메모리를 기술하고 있다. 메시지 메모리로서 특정 수의 세그먼트로 분할된 가상 메모리 표현 및 물리적 메모리의 결합을 이용함으로써, 메모리는 메시지 대상 및 그들의 데이터 용량의 양의 관점에서 소정의 응용에서의 특정 이용을 위한 최적화를 허용한다.
FlexRay와 같은 현대의 통신 시스템은 특히 결함-허용 및 융통성을 위해 설계된다. 현존하는 해결책의 단점은, 구성 데이터 및 버퍼 데이터가 통신 제어기 내부의 전용 로직을 통해 처리됨으로써, 이러한 데이터에 대한 임의의 액세스가 통신 제어기 액세스 슬레이브 포트를 통해 처리되어야 한다는 것이다. 제어기 내부의 그러한 전용 로직은 네트워크의 구성 공간에 제약을 부여하며, 최대 수의 버퍼를 정의하므로, 통신 시스템의 융통성에 대한 상한을 제공한다.
본 발명의 목적은 시간-트리거링된 프로토콜에 근거하여 통신 시스템의 융통성을 증가시키는 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드를 제공하는 것이다.
본 발명의 다른 목적은 시간-트리거링된 프로토콜에 근거하여 통신 시스템의 생산 비용을 감소시키는 통신 시스템 노드를 위한 데이터 저장 유닛, 데이터 저장 방법 및 통신 시스템 노드를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 양상에 따르면, 호스트 제어기와, 호스트-제어기 레벨상의 적어도 하나의 일반 메모리 유닛과, 통신 제어기를 포함하며, 통신은 시간-트리거링된 프로토콜에 근거하고, 구성 및 버퍼링 관련 데이터를 위한 적어도 하나의 저장 유닛이 호스트 제어기 레벨상의 통신 제어기 외부에 제공되며, 통신 제어기에는 구성 및 버퍼링 관련 데이터를 위한 저장 유닛이 제공되지 않는다.
포맷, 동작 및 사이클/슬롯 커플링을 포함하는 FlexRay 데이터 버퍼링 관련 데이터를 통신 제어기(CC) 외부에 위치시킴으로써, 데이터 버퍼링 관련 제약, 예를 들면, 버퍼 크기 및 버퍼의 수가 내부-CC 레벨로부터 외부-CC 시스템 레벨로 이동되어, 더욱 융통성있고, 확장가능하며, 재구성가능하게 된다.
저장 유닛은 이하의 연결된 데이터 구조, 즉,
- 통신 제어기 시간 슬롯을 그들 각각의 버퍼와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트와,
- 버퍼를 그의 버퍼 엔트리와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트와,
- 버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트와,
- 프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼를 포함한다.
슬롯 제어 리스트는 통신 시스템 노드에 대한 통신 제어기 슬롯의 관련성 및 목적의 정의를 제공하며, 그의 버퍼에 대한 논리적 연결을 유지한다.
버퍼 제어 리스트는 동작의 정의를 제공하며, 버퍼의 상태를 유지하고, 버퍼의 버퍼 엔트리에 대한 논리적 연결을 유지한다.
버퍼 서술자 리스트는 버퍼 엔트리의 특성의 정의를 제공하며, 프레임 버퍼에 대한 논리적 연결을 유지한다.
프레임 버퍼는 프레임 또는 메시지 및 상태 데이터를 유지하는 저장 영역을 제공한다.
상기 슬롯 제어 리스트 및 상기 버퍼 제어 리스트는 적절한 오프셋을 베이스어드레스에 추가하는 계산 유닛을 통해 연결된다. 상기 버퍼 제어 리스트 및 상기 버퍼 서술자 리스트는 제 2의 '적절한 오프셋을 베이스어드레스에 추가' 어드레스 계산 유닛을 통해 연결된다. 상기 버퍼 서술자 리스트 및 상기 프레임 버퍼는 정규 어드레스를 통해 연결된다.
바람직한 실시예에서, 저장 유닛은 시스템 또는 호스트 제어기 레벨상의 상기 일반 메모리 유닛 내부, 및 통신 제어기 외부에 위치된 범용 로직이다.
통신 제어기는 데이터 검색, 해석, 실행 및 상태 갱신을 위한 전용 로직을 통합하며, 슬롯 제어 리스트에서의 엔트리를 어드레싱하기 위해 슬롯 제어 리스트에 연결된 슬롯 제어 리스트 어드레싱 유닛과, 버퍼 제어 리스트에서의 엔트리를 어드레싱하는 버퍼 제어 리스트 어드레싱 유닛이 제공되고, 버퍼 제어 리스트 어드레싱 유닛은 슬롯 제어 리스트와 버퍼 제어 리스트 사이의 상기 어드레스 계산 유닛에 연결되며, 버퍼 서술자 리스트 어드레싱 유닛은 상기 버퍼 서술자 리스트에서의 엔트리를 어드레싱하고, 버퍼 서술자 리스트 어드레싱 유닛은 버퍼 제어 리스트와 버퍼 서술자 리스트 사이의 상기 어드레스 계산 유닛에 연결된다.
바람직한 실시예에서, 통신 제어기는 FlexRay 데이터 링크 제어기로서 실현되며, 상기 시간-트리거링된 프로토콜은 FlexRay 프로토콜이다.
따라서, 통신 시스템내의 저장 유닛이 제공되고, 시스템에는 0 또는 그 이상의 활성 시간 슬롯 및 송신(Tx) 또는 수신(Rx)을 위한 적어도 하나의 논리 버퍼가 제공되며, 저장 유닛은 연결된 데이터 구조의 세트, 즉,
- 통신 제어기 시간 슬롯을 그들 각각의 버퍼와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트와,
- 버퍼 엔트리를 버퍼와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트와,
- 버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트와,
- 프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼를 포함한다.
버퍼는 데이터를 유지하며, 기본적으로 3개의 상태, 즉, 빈 상태(empty), 가득 찬 상태(full) 및 중간 상태(in-between)를 가질 수 있다. 빈 상태의 버퍼는, 예를 들면, 그것이 적절한 BCL 및 BDL 데이터를 갖지만, 프레임 버퍼에 연결되지 않기 때문에 그러한 상태일 수 있다. 이것은 유효한 구성이며, 본 발명의 융통성으로 인해 가능한 것이다.
따라서, 시간-트리거링된 통신 프로토콜을 위한 통신 시스템내의 데이터 저장을 위한 방법은,
- 통신 제어기를 통해 슬롯 제어 리스트의 엔트리를 어드레싱하는 단계와,
- 슬롯 제어 리스트 엔트리를 버퍼 제어 리스트 엔트리와 연결하여, 시간 슬롯을 버퍼와 관련시키고, 상기 통신 제어기를 통해 버퍼 제어 리스트의 이러한 엔트리를 어드레싱하는 단계와,
- 버퍼 제어 리스트 엔트리를 버퍼 서술자 리스트 엔트리와 연결하여, 버퍼를 버퍼 엔트리와 관련시키고, 상기 통신 제어기를 통해 버퍼 서술자 리스트의 이러한 엔트리를 어드레싱하는 단계와,
- 상기 버퍼 서술자 리스트의 엔트리를 프레임 버퍼와 연결하고, 상기 통신 제어기를 통해 이러한 프레임 버퍼를 어드레싱하는 단계를 포함한다.
이들 각각의 단계는 조건적인데, 즉, SCL 엔트리는 그것이 판독 예정인 때까지, 즉, 이전의 SCL 엔트리에 의해 그와 같이 식별될 때까지 판독되지 않는다. SCL 엔트리가 동작을 요구하지 않는다면, BCL이 판독되지 않게 되는 등으로 된다. 또한, 이것은 요소가 판독되고, 통신 제어기의 동작에 그와 같이 영향을 미치는 것을 신중하게 피할 수 있기 때문에, 본 발명의 융통성에 추가된다.
본 발명의 이점은, 데이터 링크 제어기/통신 제어기 외부의 버퍼링은 그것의 구성 공간, 예를 들면, 지원된 동작, 최대 버퍼 수를 정의하는 문제를, DLC/CC로부터 시스템 레벨로 이동시킨다는 것이다. 이러한 방식으로, DLC/CC 그 자체 내부의 메모리의 양 대신에, 시스템 레벨에서 이용가능한 메모리의 양으로부터 제약이 초래된다.
DLC/DC 구현 내부의 전용 로직을 시스템 레벨에서의 범용 메모리에서의 데이터에 의해 대체하는 것은 시스템의 비용을 감소시킨다. 그것은 보다 융통성있고, 재구성가능하며, 보다 확장가능하다.
본 발명의 상기 및 다른 목적, 특징 및 이점은, 첨부 도면에 도시된 바와 같은 본 발명의 바람직한 실시예의 보다 특정한 설명으로부터 명백할 것이다.
이제, 본 발명은 첨부 도면을 참조하면서, 예를 통해 기술될 것이다.
도 1은 FlexRay 통신 사이클을 개략적으로 도시한다.
도 2는 현 기술 수준의 통신 시스템 노드를 개략적으로 도시한다.
도 3은 본 발명에 따른 통신 시스템 노드를 개략적으로 도시한다.
도 4는 본 발명에 따른 데이터 저장 유닛과 함께 통신 제어기를 개략적으로 도시한다.
도 5는 본 발명에 따른 저장 유닛을 이용한 FlexRay 환경에서의 전형적인 데이터 흐름을 도시한다.
일반적으로, 통신 시스템은 메시지를 교환하는 다수의 노드를 포함한다. 이들 노드 각각은 호스트 제어기, 통신 제어기 및 데이터를 생성하는 물리적 유닛을 포함한다. 호스트는 응용 소프트웨어를 실행하고, 수신된 데이터를 평가하여, 통신 제어기로 송신될 데이터를 생성한다. 통신 제어기는 그것이 메시지를 송신 및 수신할 수 있는, 소위 물리적 계층의 하나 또는 두 개의 채널에 접속되고, 호스트와의 통신을 위한 제어기 호스트 인터페이스(CHI)가 제공된다.
본 발명은 임의의 네트워크 활동이 사전정의된 시간 슬롯에서 발생되는 FlexRay와 같은 시간-트리거링된 네트워크 프로토콜에 관한 것이다. 시스템은 특별한 제어 알고리즘의 도움으로 전기 제어 유닛의 국부적 시간을 조절한다. 이것은 클러스터내의 개별적인 노드의 모든 국부적 클럭이 전역 클럭과 동기하여 실행되는 것을 보장한다. 결정론적 동작을 허용하기 위해, FlexRay의 송신 방안이 사이클내로 구성된다. 각각의 통신 사이클은 구성가능한 길이의 정적 세그먼트 및 동적 세그먼트로 세분된다. 정적 세그먼트내에서, 특정 시간 윈도우 또는 슬롯이 각각의 네트워크 노드에 할당된다. 노드의 메시지는 각각의 슬롯의 고정된 시점에 송신된다. 할당된 슬롯의 정의된 송신 시간은 데이터의 결정론적 송신을 보장한다. 각각의 정적 및 동적 세그먼트의 길이는 네트워크 구성 동안에 정의된다. 프레임은 하나의 채널상의 하나의 슬롯에서 송신되며, 규정된 방법으로 패킹되는 소정 세트의 데이터로 구성된다. FlexRay는 디폴트에 의한 에러가 아닌 슬롯에서의 다수의 프레임의 Tx를 처리하는 방법을 명시적으로 정의함을 주지해야 한다. 메시지는 프레임내에 전송된 모든 응용 데이터를 포함한다. 몇 개의 메시지가 함께 패킹되어 프레임을 구성할 수 있다.
본 발명의 바람직한 FlexRay 실시예에서, 각각의 프레임은 세 개의 세그먼트, 즉, 헤더, 페이로드 및 테일러로 분할된다. 헤더는, 예를 들면, 프레임을 식별하는 프레임 ID를 포함한다. 페이로드는 프레임에 의해 전송된 데이터를 갖는다. 테일러는 에러를 검출하는데 이용된다.
상태 데이터, 제어 데이터, 메시지 데이터 또는 구성 데이터와 같은 상이한 유형의 데이터가 제어기와 호스트 사이에 통신된다.
상태 데이터는 프레임 버퍼 및 버퍼 제어 리스트(이들은 둘다 메모리에 존재함)내에 저장된다. 제어 데이터는 CC 내부의 제한된 세트의 제어 데이터(베이스어드레스 및 리스트 길이)를 통해 CC에 의해 액세스가능한 SCL, BCL, BDL 및 프레임 버퍼(이들 모두 메모리에 존재함)에 저장된다. 메시지 데이터는 프레임 버퍼에 저장되거나, 데이터를 유지하는 프레임 버퍼에 대한 액세스를 초래하지 않는 데이터 구조 셋업의 결과로서 생성된 Tx를 위한 것이다. 구성 데이터는 SCL, BCL 및 BDL(베이스어드레스 및 리스트 길이)을 액세스하는데 필요한 것이고, CC 내부에 저장되며, 나머지는 데이터 구조 내부에 저장된다. 그러므로, 메모리 영역은 메시지 영역, 즉, SCL, BCL, BDL 및 FB를 포함하는 대부분의 데이터를 호스팅한다.
메시지 영역은 송신/수신될 프레임이 각각의 프레임에 대한 상태 정보와 함께 저장되는 메모리 영역이다. 이러한 메모리 영역내의 데이터에 대한 액세스는 각각의 통신 제어기의 구성 데이터에서 결정된다. 이러한 메모리내의 데이터의 레이아웃은 SCL, BCL, BDL 및 FB의 관점에서 정의되지만, 이들 모두일 필요는 없으며, 예를 들면, SCL을 갖는 것만이 유효 구성이고, FlexRay 호환 CC 동작을 초래한다.
도 1은 FlexRay 통신 사이클의 개략도를 도시한다. 통신 사이클은 FlexRay내의 매체 액세스 방안의 기본 요소이다. 그것은 4개의 타이밍 계층구조 레벨로 구성되는 타이밍 계층구조에 의해 정의된다. 최고 레벨, 즉, 통신 사이클 레벨은 통신 사이클을 정의한다. 그것은 정적 세그먼트, 동적 세그먼트, 심볼 윈도우 및 네트워크 아이들 시간(NIT)을 포함한다. 정적 세그먼트내에서, 송신을 중재하기 위해 정적 시간 분할 다중 액세스 방안이 이용된다. 동적 세그먼트내에서, 송신을 중재하기 위해 동적 미니-슬롯팅(mini-slotting) 기반 방안이 이용된다. 다음 하위 레벨, 즉, 중재 그리드 레벨은 FlexRay 매체 중재의 백본을 형성하는 중재 그리드를 포함한다. 정적 세그먼트에서, 중재 그리드는 정적 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성되고, 동적 세그먼트에서, 중재 그리드는 미니 슬롯이라고 지칭되는 연속적인 시간 간격으로 구성된다.
도 2는 현 기술 수준의 통신 버스 시스템 노드를 도시한다. 시스템은 호스트 제어기(10)와, 통신 제어기(12), 즉, 여기서는 FlexRay 제어기와, 호스트 제어기 레벨상의 일반 메모리 유닛(16)과, 부품들을 접속하기 위한 상호접속 라인을 포함한다.
임의의 호스트 제어기는 CC로부터 판독하거나 또는 CC에 기록하고자 하는 데이터를 (일시적으로) 유지하기 위해 메모리 유닛을 필요로 함을 주지해야 한다. 이러한 메모리는 CC의 존재의 결과로서 존재하지 않으며, 호스트 제어기 동작을 위해 존재한다.
호스트 제어기(10)는 마스터로서 구현되며, 통신 제어기(12)를 제어하고, 송신 및 수신 데이터, 및 통신 제어기(12)로/로부터의 제어를 교환하며, 메모리 유닛(16)으로/로부터의 송신 및 수신 데이터를 교환한다.
통신 제어기(12)에는 구성 데이터, 버퍼 데이터, 구성 제어 및 버퍼 제어를 위한 전용 로직(14)이 제공된다. 따라서, 통신 제어기(12)는 그 자체내에, 포맷 및 동작을 포함하는 모든 제어 및 버퍼링 관련 데이터를 유지하여, 이러한 데이터에 대한 임의의 액세스가 DLC/CC 액세스 포트, 예를 들면, AMBA2 AHB 슬레이브 포트를 통해 처리되도록 한다.
도 3은 본 발명에 따른 통신 시스템 노드를 도시한다. 이러한 바람직한 실시예에서, 구성 데이터 및 버퍼 데이터는 이제 주 메모리(16) 내부의 범용 로직(18)에 저장되는데, 즉, 그들은 시스템 레벨상에 저장된다.
이러한 메모리가 이미 존재하여 호스트 제어기가 동작하도록 하므로, 본 발명은 그것이 CC 데이터에 대해 (재)이용되도록 허용한다. 이것은 칩 영역 및 CPU 실행 사이클 둘다를 절약한다. 사이클은 일반 메모리 액세스에서 슬레이브 포트를 통한 액세스보다 훨씬 더 효율적이기 때문에 절약된다.
통신 제어기(12), 즉, 여기서는 다시 FlexRay 제어기는 데이터 액세스, 해석, 실행 및 갱신을 위한 전용 로직(14)을 제공한다. 데이터 링크 제어기(DLC) 또는 통신 제어기(12)(CC)는 그 자신의 마스터 포트(들)을 통해 일반 메모 리(16/18)내의 데이터 구조를 검색, 해석, 실행 및 갱신한다. 데이터 구조는 호스트(10), 즉, CPU에 의해 메모리(16)내에 처음에 위치된다. 데이터 구조내의 통신 제어기 관련 상태 데이터는 데이터 구조 갱신을 통해 통신 제어기(12)에 의해 메모리(16)내에 위치된다.
호스트 제어기에게 데이터 구조 실행 및 갱신에 관해 알려주기 위해, 통신 제어기는 호스트 제어기 쪽으로의 인터럽트(이벤트)를 지원할 수 있다. 전형적으로, 이들 이벤트는 메모리내의 데이터 구조의 상태 갱신을 반영하는 CC 내부에 유지된 상태 데이터로부터 생성된다.
포맷 및 동작을 포함하는 데이터 버퍼링 관련 데이터를 FlexRay 데이터 링크 제어기(12) 외부에, 예를 들면, 온칩 또는 오프칩 메모리에 위치시킴으로써, 데이터 버퍼링 관련 제약, 예를 들면, 지원된 동작, 버퍼 크기 및 버퍼(28)의 수 가 DLC/CC 레벨로부터 시스템 레벨로 이동되어, 훨씬 더 융통성있고, 확장가능하며, 재구성가능해진다. 또한, 이러한 데이터에 대한 호스트 제어기 액세스는, 일반 메모리내의 데이터에 대한 액세스가 전용 슬레이브 포트를 통한 CC에서의 데이터에 대한 액세스보다 훨씬 더 효율적(클럭 사이클이 적음)이므로, 더 효율적이다.
이러한 방식으로, DLC/CC(12) 그 자체 내부의 메모리의 양 대신에, 시스템 레벨에서 이용가능한 메모리의 양으로부터 제약이 초래된다. 이것은 유효하고 효율적인 소프트웨어/하드웨어 분할을 허용한다. 또한, DLC/CC 그 자체에 의해 제공된 액세스 대신에, 시스템 레벨에서 이용가능한 메모리에 의해 제공된 액세스로부터 액세스 제약이 초래된다. 이것은 또한 유효하고 효율적인 소프트웨어/하드 웨어 분할을 허용한다.
이러한 개념은 이러한 목적을 위해 전용 로직(14)을 이용하는 대신에, 요구되는 데이터 버퍼링 동작을 또한 지정하는 데이터 구조를 정의하기 위해 메모리(16/18)내의 데이터를 이용한다. 그 결과, FlexRay 프로토콜 사양 버전 2.0에 의해 현재 요구되는 것보다 특색있는 데이터 버퍼링 동작이 지원될 수 있다. FlexRay의 문맥에서의 예는 단일의 버퍼를 공유하는 슬롯을 송신, 다중 송신 또는 수신하기 위한 큐잉된 버퍼링, 및 로크/언로크 메카니즘에 대한 필요성이 없는 버퍼 액세스 및 갱신의 능력이다.
DLC/CC(12) 내부의 전용 로직(14)이 DLC/CC 외부의, 즉, 시스템 레벨상의 범용 로직(18)에 의해 대체되기 때문에, DLC/CC(12) 구현의 실리콘 비용이 감소될 수 있는데, 그 이유는, 시스템 레벨에서의 범용 로직(18)은 DLC/CC(12) 내부의 전용 로직(14)보다 저렴하기 때문이다.
본 발명의 본질적인 이점은 다음과 같다.
DLC/CC 구현 내부의 전용 로직(14)을 시스템 레벨에서의 범용 메모리(18)내의 데이터에 의해 대체함으로써 비용이 낮아진다. 이러한 범용 로직(18)은 DLC/CC(12)에 의해 이용되지 않을 때, 다른 기능과 공유될 수 있다.
보다 많은 융통성: 데이터 버퍼링의 구성 공간은 DLC/CC(12) 내부의 로직(14)의 양 대신에, 시스템 레벨에서 이용가능한 메모리(16)의 양으로 제한될 것이다.
데이터 버퍼링 동작은 메모리(16)내의 데이터에 의해 정의되기 때문에, DLC/CC(12) 그 자체를 수정할 필요성없이 추가적인 특징을 허용할 것이므로, 더욱 확장가능하다.
증가된 재구성가능 능력: DLC/CC(12)의 데이터 버퍼링 동작이 소프트웨어를 통해 쉽게 조절될 수 있으며, 그러한 동작은 전용 로직(14) 대신에 메모리내의 데이터를 통해 통제된다.
바람직하게, 저장 유닛은 시스템 레벨상의 일반적인 메모리내에 위치된다. 그러나, 그것은 시스템 또는 호스트 제어기 레벨상의 하나 이상의 개별적인 메모리들을 포함할 수도 있다.
도 4는 시스템 레벨상의 버퍼링을 위한 통신 제어기(12) 및 로직(16)을 상세히 도시한다. 본 발명에 따른 데이터 저장 방안은 메모리내의 연결된 데이터 구조의 세트에 의해 정의된다. 즉,
- DLC/CC(12) 송신 및 수신 동작을 제어하는 메모리내의 데이터 구조,
- 실제 송신 및 수신 데이터를 유지하는 메모리내의 데이터 구조,
- 송신 및 수신 상태 정보를 유지하는 메모리내의 데이터 구조,
- DLC/CC(12) 기록 액세스로부터 시스템 판독 액세스의 명확한 분리, 및 그 반대의 경우.
저장 유닛(18)은 다음과 같은 데이터 구조들을 이용한다. 즉,
- SCL 슬롯 제어 리스트(22): FlexRay 슬롯의 동작을 정의하고, FlexRay 슬롯을 그의 버퍼(28)에 연결함.
- BCL 버퍼 제어 리스트(24): 버퍼의 동작을 정의하고, 버퍼를 그의 버퍼 엔트리에 연결함.
- BDL 버퍼 서술자 리스트(26): 버퍼 엔트리의 동작을 정의하고, 버퍼 엔트리를 그의 데이터 영역(a.o. FlexRay 프레임)에 연결함.
- FB 프레임 버퍼(28): 프레임 (메시지) 및 상태 데이터의 동작을 정의하고, 그것을 유지함.
보다 정확하게, 데이터 구조는 버퍼 제어기 리스트(24)에 연결되어, 통신 제어기 시간 슬롯을 특성화하고 통신 제어기 시간 슬롯을 그들 각각의 버퍼(28)와 관련시키는 슬롯 제어 리스트(22)와, 버퍼 서술자 리스트(26)에 연결되어, 버퍼(28)를 특성화하고, 이러한 버퍼(28)를 그의 버퍼 엔트리와 관련시키는 버퍼 제어 리스트(24)와, 프레임 버퍼(28)에 연결되어, 버퍼 엔트리를 특성화하고, 이러한 버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키는 버퍼 서술자 리스트(26)와, 프레임 또는 메시지 및 상태 데이터를 특성화하고 유지하는 프레임 버퍼(28)이다.
이들 데이터 구조의 목적 및 그들의 관계는 다음과 같다. 즉,
SCL(22)은 노드에 대한 관심 대상인 각각의 슬롯 또는 슬롯의 범위에 대한 엔트리의 연속적인 리스트이다. 슬롯은 노드가 데이터(Rx, Tx)를 수신 또는 송신하기 위해 해당 슬롯을 이용하고자 하는 경우, 노드에 대한 관심 대상이다. SCL(22)은 FlexRay 노드에 대한 FlexRay 슬롯의 관련성 및 목적을 정의한다. 그것은 BCL(24)에 연결되어, 버퍼를 슬롯과 관련시킨다.
2 채널 DLC/CC의 경우, 각각의 채널을 위한 2개의 SCL이 존재함을 주지해야 한다. 단지 하나의 BCL, BDL, 및 두 채널에 의해 공유될 FB들의 세트가 존재한다. 이러한 '두 종류' 및 '한 종류'는 개념적인 것인데, 그 이유는, 그것의 물리적인 구현은 상이할 수 있기 때문이며, 예를 들어, 2개의 개념적인 SCL을 단일의 연속적인 데이터 블록으로서 유지하는 단일의 물리적 메모리, 및 단일의 BCL을 유지하는 2개의 인접하고 연속적인 물리적 메모리일 수 있기 때문이다. 따라서, 본 발명은 그의 논리적 대응물을 반영하는 한, 그 물리적 표현이 자유로운 논리적 데이터 구조상에 형성될 수 있다.
또한, BCL(24)은 SCL(22)에 의해 참조되는 각각의 버퍼(28)에 대한 엔트리의 연속적인 리스트이다. 버퍼는 BCL(24), BDL(26) 및 FB(28)의 결합에 대한 요약이며, BCL(24)은 버퍼 정의를 제공하고, BDL(26)은 엔트리 정의를 제공하고, FB(28)는 버퍼 데이터를 제공하며, BCL(24)에서의 단일의 항목은 BDL(26)에서의 하나 이상의 항목과 연결된다.
일반적으로, 버퍼는 하나 이상의 엔트리를 통해 정의된 방법으로 데이터를 관리할 수 있는 구조이다. 버퍼가 다수의 BDL 엔트리를 갖더라도, 그것은 여전히 빈 상태, 즉, BDL 엔트리의 존재는 버퍼가 엔트리를 가짐을 의미하지 않으므로, 엔트리를 갖지 않는 것으로서 여전히 고려될 수 있음을 주지해야 한다. 버퍼는 그것이 액세스가능하고 내용이 정확한 BDL 엔트리 및 관련된 FB를 갖는 경우 엔트리를 갖는다. 액세스 및 내용의 명확한 조작은 본 발명에 의해 제공된 융통성의 일부이다.
BCL(24)은 동작을 정의하고, 버퍼의 상태, 예를 들면, 엔트리의 수, 판독 및 기록할 다음 엔트리를 유지하며, 버퍼 엔트리를 버퍼(28)에 관련시키기 위해 BDL(26)에 연결된다.
BCL은 버퍼당 1 엔트리를 갖는 리스트임을 주지해야 한다. 다수의 4개의 버퍼가 존재한다면, BCL은 4 엔트리를 갖는다. 제 5 버퍼가 셋업된다면, 이것은 4 엔트리 리스트의 끝에 제 5 엔트리를 추가함으로써 수행될 수 있다.
BDL(26)은 BCL(24)에서의 버퍼(28)의 일부인 각각의 엔트리에 대한 엔트리의 리스트를 제공한다. 버퍼 엔트리는 프레임 관련 데이터의 실제 위치에 대한 액세스를 제공한다. 이러한 영역은 "프레임 버퍼(28)" 라고 지칭된다. BDL(26)에서의 단일의 엔트리는 버퍼 엔트리의 특성, 예를 들면, 데이터 크기를 정의하며, 버퍼 엔트리를 그의 프레임 데이터에 관련시키기 위해 FB(28)에 연결된다.
BDL은 버퍼당 하나 이상의 엔트리를 갖는 리스트임을 주지해야 한다. 각각 3 엔트리를 갖는 4 버퍼가 존재한다면, BDL은 4 x 3 = 12의 엔트리를 갖는다.
FB(28)는 프레임(메시지) 관련 데이터를 유지하는 메모리의 영역이다. 그것은 어드레스를 통해 BDL(26)에서 참조되기 때문에, 그것은 시스템의 어드레스 범위(32 비트 어드레싱의 경우 4GB)내의 어디에라도 존재할 수 있다. FB(28)는 Rx/Tx를 위한 페이로드 데이터 뿐만 아니라, 상태 데이터를 유지할 것이다.
SCL(22)은 리스트내의 그의 상대적인 위치와 관련된 오프셋을 SCL 베이스어드레스(12a)에 추가함으로써 액세스된다.
SCL(22)은 'SCL 엔트리에서의 BCL 오프셋을 BCL 베이스어드레스(12b)에 추가' 어드레스 계산 유닛(30)을 통해 BCL(24)에 연결된다. BCL(24) 그 자체는 제 2 'BCL에서의 오프셋을 BDL 베이스어드레스(12c)에 추가' 어드레스 계산 유닛(30)을 통해 BDL(26)에 또한 연결된다. 각각의 BDL 엔트리는 프레임 버퍼(28)에 연결된다.
통신 제어기(12)는 유닛(12a)내의 제 1 SCL 엔트리의 어드레스, 유닛(12b) 내의 제 1 BCL 엔트리의 어드레스, 및 유닛(12c)내의 제 1 BDL 엔트리의 어드레스를 유지한다. 그들은 슬롯 제어 리스트(22)와, SCL(22)과 BCL(24) 사이의 제 1 어드레스 계산 유닛(30)과, BCL(24)과 BDL(26) 사이의 제 2 어드레스 계산 유닛(30)에 연결된다.
데이터 흐름은 다음과 같다. 즉, 데이터 링크 제어기(12)는 SCL 어드레싱 유닛(12a)을 통해 슬롯 제어 리스트(22)를 어드레싱한다. 슬롯 제어 리스트(22)는 각각의 시간 슬롯을, DLC/CC(12)에 의해 어드레싱된 버퍼 제어 리스트(24)와 접속한다. BCL(24)은 동작을 정의하고, 버퍼의 상태, 예를 들면, 엔트리의 수를 유지하며, BDL(26)에 연결되어 버퍼 엔트리를 버퍼와 관련시킨다. BDL(26)은 DLC/CC(12)에 의해 어드레싱된다. BDL(26)은 버퍼 엔트리의 특성, 예를 들면, 그의 데이터 크기를 정의하고, FB(28)에 연결되어 버퍼 엔트리를 그의 프레임 데이터와 관련시킨다.
일반적으로, '어드레스 계산' 이라는 용어는 오프셋을 베이스어드레스에 추가함으로써 어드레스를 생성하는 것으로 해석된다. SCL의 경우, 이것은 DLC/CC가 Tx/Rx를 행할 필요가 있는 각각의 슬롯에 대해 증가되는 SCL 엔트리 카운터를 통해 수행되지만, 이러한 카운터는 처리를 위한 실제 SCL 엔트리의 어드레스를 획득하기 위해 SCL 베이스어드레스에 추가될 오프셋으로서 작용한다. BCL의 경우, 오프셋은 SCL 엔트리이고, BDL의 경우, 오프셋은 BCL 엔트리이다.
도 5는 본 발명에 따른 저장 유닛(18)을 이용한 FlexRay 환경에서의 샘플 데이터 흐름을 도시한다. 도 5의 최상부에 도시된 통신 사이클(32)은 7개의 슬롯을 이용하며, 이러한 특정 사이클에서, 정적 세그먼트는 3개의 슬롯으로 구성되고, 동적 세그먼트는 4개의 슬롯으로 구성된다. DLC/CC(12)는 슬롯 1에서 수신하고, 슬롯 3에서 송신한다. 슬롯 2는 이용되지 않는다. 동적 슬롯은 4개의 슬롯을 위해 이용된다. DLC/CC(12)는 슬롯 4 및 5에서 수신하고, 슬롯 6에서 송신하며, 슬롯 7은 이러한 노드(100)에 의해 이용되지 않는다. 슬롯 5에서는 데이터가 수신되지 않는다.
그러한 시나리오는 메모리내의 데이터 구조의 초기화, 제어기 호스트 인터페이스(CHI)의 셋업, 프로토콜 엔진 PE와 함께 데이터 구조에 의해 정의되는 것의 실행을 커버한다.
더욱이, 그것은 CHI에 의해 이용된 AHB 버스상의 데이터 트래픽 및 CPU, 즉, 호스트(10)에 의해 이용된 것을 커버한다. CHI는 데이터 구조가 평행성 및 동시 처리를 지원함을 나타내기 위해, 4개의 개념적인 스레드에 의해 표현된다. 스레드는 다음과 같다. 즉,
- 셋업: 다음 Tx, Rx, 또는 아이들 슬롯(SCL(22); BCL(24))을 위한 설정,
- PE2Men: PE로부터 수신 및 Rx 데이터를 메모리에 저장,
- Mem2PE: 메모리로부터 데이터를 판독 및 그것을 PE로 송신,
- 랩업(wrap-up): 메모리(FB(28))내의 상태를 갱신함으로써 Tx 또는 Rx를 종료.
"I"로 라벨링된 도면의 부분에 도시된 바와 같이, FlexRay의 (예를 들면) '사이클 시작' 이벤트는 SCL의 판독, BCL의 판독, BDL의 판독, 및 FB에 대한 액세스를 트리거링하는데 이용된다. 그 다음, 슬롯 1에서의 프레임의 수신을 트리거링한다. 수신후, 메모리내의 데이터 구조는, (예를 들면) FlexRay의 '다음 슬롯' 이벤트 이후에, 상태('상태 설정')로 갱신된다. 'Rx'는 SCL가 수신을 요청함을 의미한다. '상태 설정'은 프레임을 저장하고, 데이터 구조(FB 및 BCL)내에 상태 데이터를 버퍼링함을 의미한다. FB는 프레임 버퍼 세부사항이 교환되어 프레임이 프레임 버퍼에 기록되도록 허용함을 의미한다.
도면의 부분 II는 수신을 예상하지만 프레임이 수신되지 않는 예이다(FlexRay의 동적 세그먼트). 프레임을 손실하는 것을 제외하고는 이전과 동일하다.
FB 세부사항이 판독을 위해서 전달되지만, 기록을 위해서 전달되지는 않고, 프레임 데이터가 다른 방식(PE에서 mem으로가 아닌, mem에서 PE로)으로 이동되지만, 부분 III에서의 송신은 수신에 비교할만하다.
사이클의 끝에서, FlexRay는 제 1 슬롯으로 다시 시작되는 다음 사이클로 시작된다. 이것은 '랩-백(wrap-back)' 화살표로서 도시된다.
본 발명은 Rx/Tx를 스케쥴링/관리하는 3차원 메카니즘에 관한 것이며, 여기서, 1차원은 시간(FlexRay 슬롯)이고, 2차원은 버퍼링이며, 3차원은 데이터 저장이 다. 그러한 방안은 역동성(dynamism)/융통성으로 형성된다. 그것은 송신(Tx) 및 수신(Rx) 지향적이다.
본 발명은 FlexRay와 같은 임의의 시간-트리거링된 프로토콜에 적용가능하다. 상기 시나리오는 여러 가지의 가능한 동시적인 방안들 중 하나를 나타내며, 예로서 고려됨을 주지해야 한다. 도면들은 본 발명의 응용을 제한하는 것으로서 해석되지 않는다. 특히, 본 발명은 FlexRay 환경을 이용하여 설명되었다. 그것은 임의의 시간-트리거링된 프로토콜에 의해 이용될 수 있음을 주지해야 한다.
본 발명은 특정 실시예와 관련하여 기술되었지만, 당업자라면, 많은 대안, 변형 및 수정이 가능함을 명백히 알 것이다. 따라서, 본 명세서에서 개시된 바와 같은 본 발명의 바람직한 실시예는 예시적인 것이며, 제한을 위한 것은 아니다. 이하의 특허 청구 범위에 정의된 바와 같은 본 발명의 사상을 벗어나지 않고서도 다양한 변경이 가능할 수 있다.
참조 부호 리스트
100 통신 시스템 노드
10 호스트 제어기/CPU
12 통신 제어기
12a 슬롯 제어 리스트 어드레싱 유닛
12b 버퍼 제어 리스트 어드레싱 유닛
12c 버퍼 서술자 리스트 어드레싱 유닛
14 전용 로직
16 메모리
18 범용 로직
20 전용 로직
22 슬롯 제어 리스트
24 버퍼 제어 리스트
26 버퍼 서술자 리스트
28 프레임 버퍼
30 어드레스 계산 유닛
32 통신 사이클

Claims (25)

  1. 통신 시스템 노드(100)에 있어서,
    호스트 제어기(10)와,
    호스트 제어기 레벨상의 일반 메모리 유닛(16)과,
    통신 제어기(12)를 포함하고,
    상기 통신은 시간-트리거링된 프로토콜(time-triggered protocol)에 근거하되,
    구성 및 버퍼링 관련 데이터를 위한 적어도 하나의 저장 유닛(18)이 호스트 제어기 레벨상의 상기 통신 제어기(12) 외부에 제공되고, 상기 통신 제어기(12)에는 구성 및 버퍼링 관련 데이터를 위한 저장 유닛이 제공되지 않는 것을 특징으로 하는
    통신 시스템 노드.
  2. 제 1 항에 있어서,
    상기 저장 유닛(18)은 다음과 같은 연결된 데이터 구조, 즉,
    통신 제어기 시간 슬롯을 그들 각각의 버퍼(28)와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트(22)와,
    버퍼(28)를 그의 버퍼 엔트리와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트(24)와,
    버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트(26)와,
    프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼(28)를 포함하는 것을 특징으로 하는 통신 시스템 노드.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 슬롯 제어 리스트(22)는 통신 제어기의 관련성 및 목적의 정의를 통신 시스템 노드(100)에 제공하고, 그의 버퍼에 대한 논리적 링크를 유지하는 것을 특징으로 하는 통신 시스템 노드.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 버퍼 제어 리스트(24)는 동작의 정의를 제공하고, 버퍼(28)의 상태를 유지하며, 상기 버퍼의 상기 버퍼 엔트리에 대한 상기 논리적 링크를 유지하는 것을 특징으로 하는 통신 시스템 노드.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 버퍼 서술자 리스트(26)는 버퍼 엔트리의 특성의 정의를 제공하고, 상기 프레임 버퍼에 대한 논리적 링크를 유지하는 것을 특징으로 하는 통신 시스템 노드.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 프레임 버퍼(28)는 프레임 또는 메시지 및 상태 데이터를 유지하는 저장 영역을 제공하는 것을 특징으로 하는 통신 시스템 노드.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    제 1 어드레스 계산 유닛(30)이 상기 슬롯 제어 리스트(22)와 상기 버퍼 제어 리스트(24) 사이에 제공되는 것을 특징으로 하는 통신 시스템 노드.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    제 2 어드레스 계산 유닛(30)이 상기 버퍼 제어 리스트(24)와 상기 버퍼 서술자 리스트(26) 사이에 제공되는 것을 특징으로 하는 통신 시스템 노드.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    제 3 어드레스 계산 유닛(30)이 상기 버퍼 서술자 리스트(26)와 상기 프레임 버퍼(28) 사이에 제공되는 것을 특징으로 하는 통신 시스템 노드.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 저장 유닛(18)은 범용 로직인 것을 특징으로 하는 통신 시스템 노드.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 저장 유닛(18)은 시스템 또는 호스트 제어기 레벨상의 상기 일반 메모리 유닛(16) 내부에 위치되는 것을 특징으로 하는 통신 시스템 노드.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 통신 제어기(12)는 데이터 검색, 해석, 실행 및 상태 갱신을 위한 전용 로직(20)을 포함하는 것을 특징으로 하는 통신 시스템 노드.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 통신 제어기(12)는 상기 슬롯 제어 리스트(22)내의 엔트리를 어드레싱하기 위해 상기 슬롯 제어 리스트(22)에 연결된 슬롯 제어 리스트 어드레싱 유닛(12a)을 구비하는 것을 특징으로 하는 통신 시스템 노드.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 통신 제어기(12)는 상기 버퍼 제어 리스트(24)내의 엔트리를 어드레싱하기 위해 버퍼 제어 리스트 어드레싱 유닛(12b)을 구비하고, 상기 버퍼 제어 리스트 어드레싱 유닛(12b)은 상기 슬롯 제어 리스트(22)와 상기 버퍼 제어 리스트(24) 사이의 제 1 어드레스 계산 유닛(30)에 연결되는 것을 특징으로 하는 통신 시스템 노드.
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 통신 제어기(12)는 상기 버퍼 서술자 리스트(26)내의 엔트리를 어드레싱하기 위해 버퍼 서술자 리스트 어드레싱 유닛(12c)을 구비하고, 상기 버퍼 서술자 리스트 어드레싱 유닛(12c)은 상기 버퍼 제어 리스트(24)와 상기 버퍼 서술자 리스트(26) 사이의 제 2 어드레스 계산 유닛(30)에 연결되는 것을 특징으로 하는 통신 시스템 노드.
  16. 제 1 항 내지 제 15 항 중 어느 한 항에 있어서,
    상기 통신 제어기(12)는 프레임 버퍼를 어드레싱하기 위해 프레임 버퍼 어드레싱 유닛을 구비하고, 상기 프레임 버퍼 어드레싱 유닛은 상기 버퍼 서술자 리스트(26)와 상기 프레임 버퍼(28) 사이의 제 3 어드레스 계산 유닛에 연결되는 것을 특징으로 하는 통신 시스템 노드.
  17. 제 1 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 통신 제어기(12)는 FlexRay 데이터 링크 제어기로서 실현되는 것을 특징으로 하는 통신 시스템 노드.
  18. 제 1 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 시간-트리거링된 프로토콜은 FlexRay 프로토콜인 것을 특징으로 하는 통신 시스템 노드.
  19. 0 또는 그 이상의 활성 시간 슬롯 및 적어도 하나의 논리 버퍼가 제공되는 통신 시스템내의 저장 유닛(18)에 있어서,
    연결된 데이터 구조의 세트, 즉,
    통신 제어기 시간 슬롯을 그들 각각의 버퍼(28)와 관련시키며, 버퍼 제어 리스트와 연결되는 슬롯 제어 리스트(22)와,
    버퍼 엔트리를 버퍼(28)와 관련시키며, 버퍼 서술자 리스트와 연결되는 버퍼 제어 리스트(24)와,
    버퍼 엔트리를 그의 프레임 또는 메시지 데이터와 관련시키며, 프레임 버퍼와 연결되는 버퍼 서술자 리스트(26)와,
    프레임 또는 메시지 및 상태 데이터를 유지하는 프레임 버퍼(28)를 포함하는
    저장 유닛.
  20. 제 19 항에 있어서,
    상기 세트는 제 3 항 내지 제 11 항 중 어느 한 항의 특징을 갖는 것을 특징으로 하는 저장 유닛.
  21. 시간-트리거링된 통신 프로토콜을 위한 통신 시스템내의 제어 및 버퍼링 관련 데이터에 대한 데이터 저장 방법에 있어서,
    통신 제어기(12)를 통해 슬롯 제어 리스트(22)의 엔트리를 어드레싱하는 단계와,
    슬롯 제어 리스트 엔트리를 버퍼 제어 리스트 엔트리와 연결하여, 시간 슬롯을 버퍼와 관련시키고, 상기 통신 제어기(12)를 통해 버퍼 제어 리스트(24)의 이러한 엔트리를 어드레싱하는 단계와,
    버퍼 제어 리스트 엔트리를 버퍼 서술자 리스트 엔트리와 연결하여, 버퍼를 버퍼 엔트리와 관련시키고, 상기 통신 제어기(12)를 통해 버퍼 서술자 리스트(26)의 이러한 엔트리를 어드레싱하는 단계와,
    상기 버퍼 서술자 리스트(26)의 엔트리를 프레임 버퍼(28)와 연결하고, 상기 통신 제어기(12)를 통해 이러한 프레임 버퍼(28)를 어드레싱하는 단계를 포함하는
    데이터 저장 방법.
  22. 제 21 항에 있어서,
    상기 슬롯 제어 리스트(22)를 액세스하는 것은 각각의 리스트내의 그의 상대적 위치와 관련된 오프셋을 슬롯 제어 리스트 베이스어드레스(12a)에 추가하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
  23. 제 21 항에 있어서,
    상기 슬롯 제어 리스트(22)를 상기 버퍼 제어 리스트(24)에 연결하는 것은 각각의 리스트내의 그의 상대적 위치와 관련된 오프셋을 제 1 어드레스 계산 유 닛(30)내의 버퍼 제어 리스트 베이스어드레스(12b)에 추가하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
  24. 제 21 항에 있어서,
    상기 버퍼 제어 리스트(24)를 상기 버퍼 서술자 리스트와 연결하는 것은 각각의 리스트내의 그의 상대적 위치와 관련된 오프셋을 제 2 어드레스 계산 유닛(30)내의 버퍼 서술자 리스트 베이스어드레스(12c)에 추가하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
  25. 제 21 항에 있어서,
    상기 버퍼 서술자 리스트(26)와 상기 프레임 버퍼를 연결하는 것은 논리적 어드레스를 제 3 어드레스 계산 유닛(30)내의 시스템 관련 어드레스로 조절하는 것을 포함하는 것을 특징으로 하는 데이터 저장 방법.
KR1020087000606A 2005-06-09 2006-06-06 통신 시스템 노드, 저장 유닛 및 데이터 저장 방법 KR20080022185A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05105064 2005-06-09
EP05105064.9 2005-06-09

Publications (1)

Publication Number Publication Date
KR20080022185A true KR20080022185A (ko) 2008-03-10

Family

ID=37498822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087000606A KR20080022185A (ko) 2005-06-09 2006-06-06 통신 시스템 노드, 저장 유닛 및 데이터 저장 방법

Country Status (6)

Country Link
US (1) US8660131B2 (ko)
EP (1) EP1894364B1 (ko)
JP (1) JP2008542946A (ko)
KR (1) KR20080022185A (ko)
CN (1) CN101194477B (ko)
WO (1) WO2006131879A2 (ko)

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE511138T1 (de) 2007-11-14 2011-06-15 Nxp Bv Flexray-system mit effizienter speicherung von anweisungen
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
JP5510286B2 (ja) * 2010-11-19 2014-06-04 株式会社デンソー 通信システム、ノード
US8761190B2 (en) * 2011-01-06 2014-06-24 GM Global Technology Operations LLC Message loss prevention by using sender and receiver buffers in event-triggered distributed embedded real-time systems
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
CN104065588B (zh) * 2013-03-21 2018-10-30 南京中兴新软件有限责任公司 一种数据包调度和缓存的装置及方法
US8954619B1 (en) 2013-08-07 2015-02-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Memory module communication control
US9261098B2 (en) 2013-08-13 2016-02-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Fan speed and memory regulator control based on memory margin
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9612952B2 (en) 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
KR101593840B1 (ko) * 2014-12-10 2016-02-15 현대오트론 주식회사 캔 프레임 송신 방법 및 장치
DE102015200301A1 (de) * 2015-01-13 2016-07-14 Robert Bosch Gmbh Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
WO2016130301A1 (en) * 2015-02-10 2016-08-18 Pure Storage, Inc. Storage system architecture
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
CN105007340B (zh) * 2015-06-30 2019-06-14 苏州汇川技术有限公司 支持即插即用的分布式can网络及其节点地址自动分配方法
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US20170208609A1 (en) * 2016-01-20 2017-07-20 Microchip Technology Incorporated Time Triggered Communication Channel In A Synchronous Network
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10613974B2 (en) 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory
US12039165B2 (en) 2016-10-04 2024-07-16 Pure Storage, Inc. Utilizing allocation shares to improve parallelism in a zoned drive storage system
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US12067274B2 (en) 2018-09-06 2024-08-20 Pure Storage, Inc. Writing segments and erase blocks based on ordering
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US12032848B2 (en) 2021-06-21 2024-07-09 Pure Storage, Inc. Intelligent block allocation in a heterogeneous storage system
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
DE102018203680A1 (de) * 2018-03-12 2019-09-12 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Datenübertragung in einem seriellen Bussystem
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US12079494B2 (en) 2018-04-27 2024-09-03 Pure Storage, Inc. Optimizing storage system upgrades to preserve resources
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
EP3694166B1 (en) * 2019-02-06 2022-09-21 Hitachi Energy Switzerland AG Cyclic time-slotted operation in a wireless industrial network
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US12056365B2 (en) 2020-04-24 2024-08-06 Pure Storage, Inc. Resiliency for a storage system
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
CN111913762B (zh) * 2020-08-20 2024-04-19 北京机电工程研究所 一种预留运行内存空间的dsp动态加载方法
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US12067282B2 (en) 2020-12-31 2024-08-20 Pure Storage, Inc. Write path selection
US12093545B2 (en) 2020-12-31 2024-09-17 Pure Storage, Inc. Storage system with selectable write modes
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US12061814B2 (en) 2021-01-25 2024-08-13 Pure Storage, Inc. Using data similarity to select segments for garbage collection
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US12099742B2 (en) 2021-03-15 2024-09-24 Pure Storage, Inc. Utilizing programming page size granularity to optimize data segment storage in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
CN114153775B (zh) * 2021-12-10 2024-02-09 中国兵器工业集团第二一四研究所苏州研发中心 一种基于AXI总线的FlexRay控制器
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE461310B (sv) 1988-07-12 1990-01-29 Ellemtel Utvecklings Ab Saett och anordning foer att i en digital tidsvaeljare genomkoppla en bredbandsfoerbindelse
SE517973C2 (sv) 1997-01-27 2002-08-13 Ericsson Telefon Ab L M Kontrollmetod vid växelenhet samt anordning verkande enligt metoden
CN1346557A (zh) 1998-09-24 2002-04-24 (美国)捷迅公司 用于无线通信的时隙操作的管理
US6606352B2 (en) * 1999-01-15 2003-08-12 Broadcom Corporation Method and apparatus for converting between byte lengths and burdened burst lengths in a high speed modem
EP1085719A2 (en) * 1999-09-15 2001-03-21 Koninklijke Philips Electronics N.V. Use of buffer-size mask in conjunction with address pointer to detect buffer-full and buffer-rollover conditions in a can device that employs reconfigurable message buffers
JP2004519059A (ja) * 2001-03-15 2004-06-24 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 分配された安全上重要なシステムのコンポーネントの駆動方法
US20030065856A1 (en) * 2001-10-03 2003-04-03 Mellanox Technologies Ltd. Network adapter with multiple event queues
DE10215719A1 (de) * 2002-04-10 2003-10-30 Philips Intellectual Property Datenspeicher
ATE306163T1 (de) * 2002-04-16 2005-10-15 Bosch Gmbh Robert Verfahren zur überwachung einer zugriffsablaufsteuerung für ein kommunikationsmedium einer kommunikationssteuerung eines kommunikationssystems
EP1355456A1 (en) 2002-04-16 2003-10-22 Robert Bosch Gmbh FlexRay communication protocol
JP2007501583A (ja) 2003-05-21 2007-01-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信プロトコルに関するメッセージメモリ及び方法
DE10329179A1 (de) 2003-06-30 2005-03-17 Volkswagen Ag Anordnung und Verfahren zur Verwaltung eines Speichers
US7502334B2 (en) * 2003-11-19 2009-03-10 Honeywell International Inc. Directional integrity enforcement in a bi-directional braided ring network
JP2007517427A (ja) * 2003-11-19 2007-06-28 ハネウェル・インターナショナル・インコーポレーテッド メービウス時間トリガ型通信
US7733841B2 (en) * 2005-05-10 2010-06-08 Continental Automotive Systems, Inc. Vehicle network with time slotted access and method

Also Published As

Publication number Publication date
US20100220735A1 (en) 2010-09-02
EP1894364B1 (en) 2020-01-01
WO2006131879A2 (en) 2006-12-14
CN101194477A (zh) 2008-06-04
JP2008542946A (ja) 2008-11-27
US8660131B2 (en) 2014-02-25
EP1894364A2 (en) 2008-03-05
WO2006131879A3 (en) 2007-08-02
CN101194477B (zh) 2012-10-31

Similar Documents

Publication Publication Date Title
US8660131B2 (en) Storage unit for communication system node, method for data storage and communication system node
KR101016145B1 (ko) 통신 컴포넌트
RU2401452C2 (ru) Способ передачи данных в сообщениях по линии связи системы связи, а также коммуникационный модуль, абонентское устройство системы связи и система связи для осуществления этого способа
KR101028898B1 (ko) 플렉스레이 통신 장치
JP4571671B2 (ja) 通信モジュールのメッセージメモリのデータへアクセスする方法および装置
EP2038744B1 (en) Method and system of grouping interrupts from a time-dependent data storage means
CN1993687B (zh) 用于控制数据访问的消息管理器和方法以及通信组件
JP4903801B2 (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
CN101449253B (zh) 多处理器网关
CN101282860A (zh) 用于把具有微控制器的FlexRay用户通过FlexRay通信控制装置连接到FlexRay通信连接上的方法、以及用于实现该方法的FlexRay通信控制装置、FlexRay用户和FlexRay通信系统
US20020174165A1 (en) Cluster system, computer and program
US8019961B2 (en) Method for storing messages in a message memory and message memory
US7984210B2 (en) Method for transmitting a datum from a time-dependent data storage means
US20090292856A1 (en) Interserver communication mechanism and computer system
EP2018615B1 (en) Data communication unit, integrated circuit and method for buffering data
Lawrenz CAN Basic Architectures
Cena et al. Protocols and Services in Controller Area Networks
WO2008003353A1 (en) Improvements in or relating to buffer management
Williams et al. ESCAN-An Open Source, High Bandwidth, Event Scheduled Controller Area Network
Ravichandran et al. Design and development of can and flex ray protocols for real-time systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application