KR20160103998A - Usb 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하기 위한 상대 장치 - Google Patents

Usb 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하기 위한 상대 장치 Download PDF

Info

Publication number
KR20160103998A
KR20160103998A KR1020167017522A KR20167017522A KR20160103998A KR 20160103998 A KR20160103998 A KR 20160103998A KR 1020167017522 A KR1020167017522 A KR 1020167017522A KR 20167017522 A KR20167017522 A KR 20167017522A KR 20160103998 A KR20160103998 A KR 20160103998A
Authority
KR
South Korea
Prior art keywords
sector
pointer
data
serial peripheral
peripheral unit
Prior art date
Application number
KR1020167017522A
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 KR20160103998A publication Critical patent/KR20160103998A/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Character Discrimination (AREA)

Abstract

I/O 프로세스에서 프로세서를 위한 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템으로서, 상기 시스템은 손 글씨 서명용 외부 직렬 주변장치, 예컨대, 그래픽 태블릿 및/또는 디지털화기를 가지며, 정적 데이터를 기억하여 상기 직렬 주변장치 유닛에 의해 조작될 수 있는 전송 버퍼를 구성하기 위한 "USB 드라이브" 이동식 가상 디스크로서 나타나는 외부 매체를 포함한다. 일정 치수의 섹터들로 된 데이터의 선형 순차 연속체로서 구성된 파일만 사용되며, 상기 파일은 직렬 주변장치 유닛(21)과 프로세서(24) 간에 공유될 수 있으며, 상기 파일에 상기 직렬 주변장치 유닛(21)과 프로세서(24) 모두, 가상 일치 순간으로, 판독 및 기입할 수 있다. 데이터 패킷보다 확실히 큰 킬로바이트(Kbyte) 단위의 기억 영역을 갖는 데이터 블록 콘텐츠의 비동기식 I/O 전송을 가능하게 하며, 전송 대기 중인 데이터를 위한 임시 버퍼로서 사용된다.

Description

USB 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하기 위한 상대 장치{METHOD FOR EXCHANGING CONTROLS THROUGH A USB DISC AND RELATIVE DEVICES WHICH ALLOW THE IMPLEMENTATION THEREOF}
본 발명은 일반적으로 상업적 은행 거래와 관련하여 사람의 즉각적인 식별을 위해 디지털화된 서명을 사용하는 것과 관련되고, 더 구체적으로, 본 발명은 상호작용이 원격 스테이션으로부터, 로컬 네트워크 또는 인트라넷 상에서 또는 심지어 인터넷을 통해 발생할 때 클라이언트의 서명의 검출을 위해 지정된 하드웨어 주변장치와 컴퓨터 간 대화 방법과 관련된다.
정보 기술 분야에서, HID(Human Interface Device) 유형의 인터페이스를 이용하는 컴퓨터용 주변 장치가 존재한다. 마우스가 이들 장치의 하나의 예이다: 운영 체제 및 프로그램과의 신속한 대화를 위해 사용자가 스크린 상에서 포인터를 빠르게 이동시킬 수 있게 하는 목표를 갖고 이들은 높은 주기성을 갖고 마우스의 위치를 컴퓨터로 송신하도록 사용된다.
일반적으로 HID 인터페이스가 USB(Universal Serial Bus) 포트를 통해 통신 프로토콜로서 제공된다. HID 인터페이스의 이점들 중 하나가, 이를 이용하는 많은 수의 장치를 고려할 때, 모든 운영 체제에 의해 지원되며 따라서 이를 바탕으로 장치를 이용하기 위해 어떠한 드라이버도 설치할 필요가 없다. 마우스만 HID 인터페이스를 이용하는 것이 아니며, 이를 기초로 획득되는 다른 장치가 손으로 그리고 손 글씨 서명을 위해 사용되는 그래픽 태블릿이다. 이러한 장치는, 부대 데이터(accessory data), 가령, 속도 및 순간 압력의 검출을 위해 필요한 손에 의해 펜에 가해지는 압력 및 각각의 포인트의 검출 순간(그래포메트리 데이터(graphometric data))과 함께, 그림 또는 서명 표면 상의 펜의 위치를 송신한다. 획득된 서명은, 그래포메트릭 데이터와 함께 완성될 때, 손 글씨 서명의 유효한 대체로서 사용되고, 따라서 종이 상의 서명에 대한 더 큰 법적 유효성을 획득할 수 있다.
일부 경우, USB/HID를 통한 송신이 또한 사용되어, 위치, 속도 및 압력에 대한 것보다 많은 데이터 양을 송신할 수 있으며 주변장치에서 컴퓨터로의 송신뿐 아니라 컴퓨터에서 주변장치로의 송신까지 가능할 수 있다. 예를 들어, PC에서 테이블로의 서명 전에, PRB S.r.l.에 의해 만들어진 그래포메트릭 서명 태블릿 모델 DDD-F-11A(진행 중인 이탈리안 특허 출원: RM2011A000370 및 RM2011A000652)가 스크린 상에 디스플레이될 이미지와 텍스트를 송신하는 데 동일한 프로토콜을 이용하며, 일반적으로 디스플레이되는 데이터는 태블릿을 이용하는 기관(가령, 카운터에서 이를 이용하는 은행)의 그래픽 로고, 서명자의 이름과 별명, 날짜와 시각, 서명될 항목의 내용(가령, 유형 및 은행 이체 금액)을 포함한다. 데이터, 특히, 그래픽 데이터는 정상 HID 패킷에 수용될 수 있는 것보다 큰 치수를 가지며, 이 경우, 그래픽 데이터는 복수의 작은 패킷으로 분할될 수 있고, 상기 작은 패킷들은 HID보다 높은 레벨의 적합한 프로토콜을 통해, 수신측에서 재-조합된다.
널리 사용되는 앞서 기재된 방법의 첫 번째 문제는 각각의 운영 체제에 대한 특수 장치 드라이버를 개발, 배포, 설치 및 사용하지 않고 USB 통신을 확립하는 문제를 편안하게 극복하는 경우라도, 이하에서 기재될 가상 환경의 경우에서 여전히 문제를 노출한다는 것이다.
현재 컴퓨터 기법은 혁신적인 기구, 가령, 원격 컴퓨터 에뮬레이션을 제공한다. 이 기법에 의해 "물리적" 개인 컴퓨터를 원격 서버 컴퓨터에 위치하며 TCP/IP 프로토콜로 네트워크(인터넷, 인트라넷, 로컬 네트워크)를 통해 연결된 "가상" 개인 컴퓨터로 대체할 수 있다. 조작자가 대화하는 "물리적" 컴퓨터가 프로세싱 자원이 없거나 적은 기본 자원(비디오, 키보드 및 마우스)만 제공된 "스투피드(stupid)" 단말기로 대체되며, 상기 스투피드 단말기는 "가상" 원격 컴퓨터의 스크린을 반복하고 키보드의 타이핑 및 마우스의 위치를 가상 원격 컴퓨터로 전송한다.
로컬 물리적 장치, 가령, 서명 태블릿을 관리하도록 요구될 때, 가상화 기법은 역시 "스투피드"한 로컬 USB 포트를 이용하며, 상기 USB 포트에서 송신 및 수신되는 데이터가 통신을 관리하는 드라이버 및 소프트웨어가 위치하는 "가상" 머신으로 단순히 전송된다.
가능한 가장 빠른 송신을 위해, 디스플레이 시스템은 모든 긴 TCP 패킷에 대해 짧은 HID 패킷을 하우징해야 하고, 따라서 송신은 연속적이지만 느리며, 효율적인 송신이 모든 TCP 패킷에 대해 복수의 HID 패킷을 하우징하는 것을 요구하며, 따라서 송신이 불연속적이다.
인터넷일 수 있고 또는 높은 트래픽양을 갖는 로컬 네트워크일 수도 있는 느린 네트워크를 통해 "스투피드" 단말기와 "가상" 단말기가 서로 연결될 때 문제가 발생한다(상기 문제는 본 명세서에서 기재된 방법에 의해 해결될 것이다). 이 경우, 가상화된 USB 송신은 감속 또는 심지어 데이터 손실과도 관련된 문제를 드러낸다.
감속은, 마우스의 경우, 스크린 상의 커서가 매끄럽게 움직이지 않고 "덜컥" 움직이기 때문에, 느껴진다: 교란에도 불구하고, 이 효과는 USB-HID 장치가 서명 태블릿을 때 대신 관측될 수 있는 어떠한 부정적인 영향도 갖지 않는다.
서명이 필적학적 증거(graphological evidence)로서 유효하게 사용되기 위해, 각각의 디지털화되는 포인트가 속도 및 압력으로 완료되는 것 그리고 기본 요인, "획득 속도"가 절대 상수여서, 속도 및 가속도의 정확한 계산을 가능하게 할 수 있는 것이 필수적이다. 이 "속도"는 200포인트/초 이상이어야 하고 최상 모델에서는 더 빠르다: PRB를 대신하는 앞서 언급된 모델에서 400포인트/초에 상응한다. USB-HID 연결의 감속이 일시적이더라도 획득에서 "덜컥거림" 또는 "갭"을 만드는 경우, 획득된 서명의 변형, 일부 섹션의 결핍, 따라서 결국 필적학적 증거로서의 서명의 허용 불가가 초래된다.
컴퓨터에서 서명 태블릿으로 이미지를 송신하기 위해 HID 통신이 사용될 때 또 다른 문제가 발생한다: 데이터를 복수의 작은 패킷으로 분할할 필요가 있다면, 컴퓨터가 가상화되지 않은 경우라도 송신은 다소 느리다. 태블릿의 전체 스크린의 치수에 상응하는 치수(가령, 480×272 픽셀)를 갖는 이미지의 다운로딩이 약간의 초를 요구할 수 있으며, 이 시간은 가상화된 시스템에서 수 초(several seconds)가 될 수 있다: 이 대기 주기는 과도하며 허용될 수 없음이 자명하다.
따라서 본 발명의 목적은 클라이언트의 서명의 검출을 위해 제공되는 하드웨어 주변장치와 컴퓨터 간 대화와 관련된 대략적인 문제를 극복하기 위해, 이들 간 상호 작업이 로컬 네트워크 또는 인트라넷 상의 원격 스테이션으로부터 또는 인터넷을 통해 발생할 때 프로세서와 그래픽 태블릿 간 제어 교환 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 USB 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하는 상대 장치를 제공함으로써, 원격 및 저속 스테이션에서 가상화된 환경에서 올바른 동작에 대한 문제를 극복하는 것이며, 특수 장치 드라이버를 개발하고 설치할 필요성을 야기하는 전용 USB 프로토콜을 획득할 필요 없이 데이터 교환 속도에 대한 문제를 극복하는 것이다.
실제로, USB 디스크를 통해 제어를 교환하기 위한 방법 및 일반적인 HW 구성요소를 기초로, 이의 구현을 가능하게 하는 상대 장치를 제공하는 것이다. 따라서 비싸지 않고 높은 신뢰 가능성 및 사용하기 용이한 새 획득 장치를 만드는 목적으로, RAM, ROM 또는 플래시 메모리를 지향시키는 레벨에서, 표준 전자 구성요소를 이용할 수 있다.
청구항 1에서 규정된 획득되는 서명을 처리하도록 특화된 컴퓨터와의 인터페이싱을 갖는 "터치 스크린" 유형의 디지털화 태블릿(digitiser tablet)을 기초로 자연스러운 서명의 획득을 위한 장치를 통해 이들 목적이 달성된다. 종속 청구항이 기본 원리의 구현을 위한 일련의 대안예들을 나열할 것이다.
본 발명의 방법은 특수 프로토콜을 이용할 필요 없이 그리고 장치 드라이버를 설치할 필요 없이 언급된 문제를 완전히 극복한다.
본 발명은 서명 태블릿을 "USB 드라이브" 이동식 디스크와 유사하게 만드는 것, 특히, 장치 드라이버를 필요로 하지 않으면서 모든 운영 체제에서 사용될 수 있는 매우 일반적인 장치인 "USB 플래시 드라이브 펜(pen)"처럼 만드는 것을 포함한다.
이 유형의 장치가 HID 장치에 대해 매우 상이하게 관리된다:
1- 양방향 송신이 훨씬 더 큰 블록에서 발생한다(가령, HID의 64바이트에 비한 512바이트)
2- 디스크는 필요에 따라 실용적으로 큰 저장 면적을 가진다.
이들 두 가지 포인트를 상세히 검토해 보면, USB 포털이 가상화되는 경우 데이터가 패킷 네트워크를 통해 발송된다.
1- 512 바이트의 블록의 크기가 TCP/IP 네트워크 상에서 송신되는 것에 비교될 수 있고 따라서 HID의 경우 사용되는 수 바이트(가령, 64 바이트)의 짧은 패킷과 달리, 이의 송신이 효율적으로 발생한다.
2- 패킷보다 큰 영역을 갖는 디스크를 생성하고 이를 송신을 기다리는 데이터를 위한 임시 메모리("버퍼")로서 이용하는 것이 가능하다. 따라서 송신에서의 속도 저하의 경우에서도 데이터의 손실 가능성이 사라질 수 있다.
본 발명의 해결책이 이하에서 기재될 몇 가지 기술적 해결책을 포함하고, 이는 주로 디스크, 정적 데이터를 기억 및 저장하기 위해 만들어진 장치를 전송 버퍼로서 역할 하도록 채용하는 것이다.
서명 태블릿의 통신 섹션을 또 다른 기능적으로 상응하는 섹션으로 교체하는 해결책이 고려되었음이 관찰되어야 한다. 특히, 교체 전에, 태블릿이 서명의 포인트들을 획득됨에 따라 점진적으로 - 컴퓨터로 - 전송하도록 사용되었고, 컴퓨터에서 서명을 수신하는 프로그램이 이를 자신의 스크린에 실시간으로 디스플레이하였으며, 이 특징은 동작의 반복을 요구할 문제를 순간적으로 드러내는 데 유용하다: 예를 들어, 서명하려는 사람이 예치된 서명 또는 단축된 서명에 대해 이름과 별명을 변경하는 경우에 해당한다. 따라서 태블릿에서 전체 서명을 획득하고 기억하며, 완성됐을 때에야 서명의 전체를 컴퓨터로 전달하는 해결책이 제외되었다. 이러한 해결책, 대용량 저장 장치, 가령, USB 디스크에 의해 더 적합해지는 것이 자명한 이러한 해결책은 원하는 특성, 가령, 획득 종료에서뿐 아니라 획득 중의 서명의 디스플레이의 소실을 의미할 것이다. 본 명세서에서 기재된 방법에서, 서명 동안 전송이 발생하며, 가상 또는 원격의 기계로부터의 저속 전송의 경우, 최악의 경우에도, 컴퓨터 조작자가 이의 디스플레이에서 특정 딜레이만 관측한다.
본 발명의 보호 범위 및 이용 분야를 한정하지 않으면서, 본 발명을 더 잘 기재하기 위한 목적으로, 본 발명은 일련의 세부사항, 그러나 비제한적 실시예를 참조하여 기재될 것이다.
도 1은 본 발명에 따르는 해결책과 상이한 해결책을 나타내는 다이어그램이다.
도 2는 본 발명에 따르는 해결책을 나타내는 다이어그램이다.
도 3은 본 발명에 따르는 외부 저장 장치, 및 주변 장치 유닛과 프로세서 간 상호작업의 방법의 구성의 개략적 표현이다.
도 4는 종래 기술에 따르는 외부 저장 장치를 형성하는 다양한 섹션의 블록도이다.
도 5는 본 발명에 따르는 외부 저장 장치를 형성하는 다양한 섹션의 블록도이다.
도 6은 외부 저장 장치 및 주변 장치 유닛과 프로세서 간 상호 작업의 방법 의 구성의 추가 개략적 표현이다.
도 7은 주변 장치의 이미지 디스플레이 기능부를 위한 외부 저장 장치의 추가 구성 및 주변 장치 유닛과 프로세서 간 상호 작업의 방법의 개략적 표현이다.
도 1은 서명을 완전히 획득하는 솔루션의 동작을 도시한다: 서명 단계(I) 동안 디지털화 태블릿(21)은 서명 데이터(위치, 속도, 압력, 시간)를 점진적으로 획득될 때 디스크(22)에 파일(23)의 형태로 기억한다. 서명자가 특수 키를 이용해 확정을 입력할 때 서명 단계가 종료한다. 이때, 컴퓨터(24)가 디스크(22)로부터 파일(23)을 판독하는 다운로드 단계(II)가 시작되고, 서명 데이터를 포함하는 파일의 수신이 종료될 때, 컴퓨터(24)가 스크린(40) 상에 서명을 한 번에 디스플레이할 수 있다.
도 2에 도시된 본 명세서에 기재된 방법에 의해, 대신, 디지털화 태블릿(21)이 서명을 디스크(22) 내 FIFO(first in first out) 유형의 큐(25)로 전송하고, 컴퓨터(24)는 FIFO(25)로부터 데이터를 이용 가능해짐에 따라 점진적으로 판독하며, 디스크-컴퓨터 통신으로 인한 딜레이만 갖고 이들을 스크린 상에 디스플레이하며, 따라서 딜레이가 서명의 전체 지속시간에 상응하지 않는다.
모든 컴퓨터의 "파일 시스템"에서 이미 존재하는 일반적인 기능을 활용하여 원형의 FIFO 큐(25)가 디스크에서 획득되므로, 특정 장치 드라이버의 획득을 결코 필요로 하지 않는다; 구체적으로 다음이 사용된다:
- 디스크가 분할되는 섹터들 중 임의의 것의 판독(read) 및 기입(write)을 가능하게 하는 일반적인 기능,
- 파일을 공유할 수 있는 능력, 즉, 2개의 서로 다른 장치, 본 발명의 경우, 디지털화 태블릿(21) 및 상기 태블릿이 연결되는 컴퓨터(24)에서 파일을 열고, 파일을 판독하고, 동시에 기입할 수 있는 능력.
양방향 태블릿-컴퓨터 통신의 경우, 이하에서 기재될 방법에 따라 생성되고 이용 가능하게 되는 단 하나의 파일이 사용된다.
도 3을 참조할 때, 전용 교통신호등의 구현을 통해, 일반적인 파일 공유 컴퓨터 기법에 따라 가상의 일치 시점에서 모두 파일을 판독하고 기입할 수 있는 태블릿(21)과 컴퓨터(24) 사이에서 파일, 본 명세서에서는, 데이터의 선형 연속체(linear succession)가 분할된다.
도 3에서 더 뚜렷한 윤곽을 갖는 이 파일의 첫 번째 섹터 A가 파일에 생성된 FIFO 큐를 구성하도록 사용된다.
디스크의 첫 번째 섹터 A 내 넘버링된 위치들이 다음의 의미를 가진다:
1) = 컴퓨터에서 태블릿으로의 제어
4) = 태블릿에서 컴퓨터로의 제어에 대한 응답
2) = 컴퓨터에 의해 판독되는 섹터로의 포인터
3) = 컴퓨터에 의해 판독되는 포인트로의 포인터
5) = 태블릿에 의해 기입되는 섹터로의 포인터
6) = 태블릿에 의해 기입되는 포인트로의 포인터
섹터 - 두 번째에서 마지막까지의 섹터, 즉, B, C... N - 가 대신 사용되어 획득된 서명 포인트의 데이터를 포함한다: 예를 들어, 매 포인트에 대해 512 바이트의 섹터 및 8바이트로 구성된 서명 데이터인 경우, 모든 섹터가 512/8=64 서명 포인트를 포함할 수 있다.
서명 동작을 시작하기 위해, 컴퓨터(24)는 상대 제어를 1로 지시되는 첫 번째 섹터의 위치에서 하나의 바이트로서 기입한다. 태블릿(21)은 유휴 상태 동안 이 섹터를 계속 판독하고, 위치(1)에서 서명 제어를 보자마자, 서명을 획득하기 시작하고 위치(4)에 응답을 바이트의 형태로 씀으로써 제어의 수락을 통신하며, 위치(2 및 5)에 동시에 디스크 데이터의 첫 번째 섹터의 번호(섹터 2)를 기입하고, 위치(3 및 6)에 번호 1을 기입한다. 컴퓨터(24)는 위치(4)에서 제어에 대한 응답을 찾고 서명자가 쓰고 획득된 서명을 디스플레이하는 경향이 있다.
태블릿(21)은 "획득 속도"에 의해 주어지는 속도(이 구체 케이스에서는 초당 400번)로 서명 포인트를 획득하고, 이들 각각을 섹터의 포인터(5) 및 포인트의 포인터(6)에 의해 지시되는 섹터에 점진적으로 기입한다. 각각의 포인트에서 포인트의 포인터(6)를 증가시키고, 이 수가 섹터에 포함될 수 있는 포인트의 수(가령, 64)를 초과할 때, 포인트의 포인터(6)를 0으로 만들고 섹터의 포인터(5)를 1씩 증가시킨다. 섹터의 포인터가 디스크의 마지막 섹터를 초과하는 경우, 태블릿은 이를 값 2로 복귀시킴으로써, 그동안 컴퓨터에 의해 이미 판독됐을 첫 번째 자유 섹터를 재활용할 수 있다(원형 큐).
태블릿이 기재된 시퀀스로 포인트를 기입하는 동안, 컴퓨터(24)는 포인터(6) 또는 포인터(5)가 포인터(3 및 2)와 상이하다는 것을 거의 동시에 알아차림으로써, 판독될 준비가 된 포인트들이 있음을 이해하고, 자신의 동작 메모리에서 디스크로부터 각각의 포인트를 판독하고 포인터(3)를 증가시킨다. 포인터(3)가 섹터당 포인트의 수(가령, 64)를 초과하는 경우, 포인터(3)를 0으로 만들고 포인터(2)를 증가시킨다. 태블릿에 의해 생성된 모든 포인트가 판독되자마자 컴퓨터는 멈춘다, 이 상태는 증가된 포인터(3)가 포인터(6)와 동일한 값에 도달하고 포인터(2)가 포인터(5)와 동일한 값에 도달할 때 발생한다.
이벤트의 정확한 시간 시퀀스가 어떠한 방식으로도 데이터 전송 동작의 수행의 정확성에 영향을 미치지 않음이 관찰된다. 컴퓨터(24)가 포인터(2 및 3)만 기입하는 동안 실제로 태블릿(21)은 포인터(5 및 6)만 기입한다. 따라서 2개의 장치의 액세스가 어느 정도의 중첩을 두고 비동기적으로 발생하더라도, 데이터는 어떠한 비동기성도 보이지 않으며 기껏해야 딜레이를 보인다.
컴퓨터(24)에 의한 획득이 특정 시간 주기 동안 감속 또는 멈추는 경우, 태블릿(21)은 데이터를 파일에 기입하고 포인터를 업데이트하는 것을 계속하고, 컴퓨터가 다시 이용 가능해질 때, 평균 판독 속도가 평균 기입 속도에 적어도 상응하는 한, 딜레이를 회복하고 FIFO(25)에 유예되어 있는 포인트를 획득한다.
앞서 언급된 바와 같이, 파일의 종료 부분에 추가로, 태블릿이 두 번째 섹터로부터의 기입을 재개함으로써, 그동안 컴퓨터에서 비워져 있는 한 이전에 사용된 영역을 재활용한다.
두 가지 구체적 상태가 존재한다:
- 빈 상태 FIFO: 포인터(2) = 포인터(5) 및 포인터(3) = 포인터(6)일 때
- 찬 상태 FIFO: 포인터(5) = 포인터(2) 빼기 1일 때
FIFO가 빈 상태일 때 컴퓨터는 포인트를 판독할 수 없고 FIFO가 찬 상태일 때 태블릿이 기입할 수 없음이 자명하다.
최대 컴퓨터 판독 딜레이의 경우 누적될 수 있는 모든 포인트를 포함하도록 디스크의 총 치수가 선택됨을 고려할 때, 이 마지막 상태는, 정상 동작에서, 결코 발생하지 않는다. 이 예시에서, 디스크의 32768 바이트 크기가, 제어를 위해 사용되는 512 바이트의 섹터를 뺀 후, 32256 바이트의 가용 데이터, 즉, 각각 8바이트씩인 4032개의 서명 포인트를 포함하고, 이는 활성 서명의 10초 이상에 상응한다. 컴퓨터에 의한 획득 시 11초의 딜레이(현 기법의 경우 지나치게 김)가 이러한 디스크 치수에 의해 지원되는 최대치이다.
디스크의 실시예
특정 예시적 실시예에서, 디스크가 서명 태블릿에서 획득되고 태블릿의 그 밖의 다른 기능: 서명의 획득, 디스플레이에서의 시각화, 이의 작동을 위한 획득 키의 시각화를 수행하는 동일한 마이크로제어기를 활용한다.
USB 유형의 모든 대용량 저장 유닛, 일반적으로, "펜 드라이브(Pen Drive)" 또는 "USB 디스크"에 공통적인 컴퓨터 기법에 따라 디스크가 획득된다. 이 기법은 상세히 기재되지 않는다. 모든 보통의 운영 체제, 가령, Windows 및 Unix형 중 그 밖의 다른 유사한 운영체제(Linux, Mac OS, Android)에 대해 일반적으로 이용 가능하고 적합하다고 가정되기 때문에, 이 기법은 상세히 기재되지 않는다.
이들 장치는 MSD 프로토콜을 기초로, 실시예에서, SCSI 프로토콜의 USB 통신을 통한 USB 대용량 저장 장치(Mass Storage Device) 클래스, 즉, MSD 클래스를 획득한다. 이들 일반적으로 알려진 프로토콜 모두는 공식 표준에 의해 규정되며 특정 구성 또는 장치를 필요로 하지 않는 운영 체제에 적합하다. 동일한 케이스가 USB 포트 상의 대용량 저장 유닛을 순간적으로 지지하는 "원격" 또는 "가상" 운영 체제에 대해 적용된다.
지난 몇 년간 강제되며 ISO/IEC 9293 표준에 의해 규정된 FAT 표준을 논리적으로 충족하는 디스크의 내부 구조가 본래 만들어졌다. 그러나 이는 본래 일부 문제를 해결하는 목적 및 이의 성능을 개선하기 위한 목적으로 물리적으로 생성되었다.
특히, 운영 체제에서 디스크 상의 파일의 치수를 수정하거나, 이를 취소하거나, 디스크를 완전히 포맷팅할 수 있는 가능성이 존재한다. 파일의 삭제가 컴퓨터와 태블릿 간 임의의 통신 가능성을 제거하고, 동작 동안 치수의 하나의 변형이 송신 기능과 수신 기능 간 동기화를 위태롭게 할 것이라고 가정할 때, 이들 기능 중 하나의 사용은, 우연일지라도, 앞서 기재된 통신 시스템의 동작에 대해 재난적 결과를 가질 것이다.
도 4는 시장에서 이용 가능한 일반적인 USB 대용량 저장 장치의 구조물을 나타내며, 도 5은 본 명세서에 기재된 방법을 이용해 획득된 구조물을 나타낸다.
도 4를 참조하면, 일반적인 USB 대용량 저장 장치에서 USB 커넥터(31)가 인터페이스 블록 USB(32)과 통신하며, 상기 인터페이스 블록 USB(32)는 블록(33)과 통신될 수 있으며, 블록(33)은 컴퓨터에 대한 MSD 프로토콜을 관리하고 또한 FAT12, FAT16 및 FAT32 유형에서 이용 가능한 FAT(File Allocation Table) 유형의 일반적인 파일 시스템을 획득한다. 블록(32, 33 및 34)은 전체적으로 하드웨어로 만들어지거나 완전히 또는 부분적으로 특정 펌웨어로 프로그램된 마이크로제어기를 통해 획득될 수도 있다. 도면에서 번호(35)로 지시되는 데이터를 물리적으로 포함하는 메모리가 (블록으로 삭제 및 재기입(re-written)될 수 있는) 플래시 유형의 메모리를 통해 획득되며, 과거에는 이 메모리가 자기 매체, 가령, 플로피 디스크를 이용해 대신 획득되었다.
FAT 유형의 파일 시스템이 디스크 저장 장치의 모든 정상 동작을 가능하게 한다고 인지되었으며, 따라서 파일의 생성 및 삭제, 파일의 치수의 변동, 디스크의 완전한 포맷팅을 위해 제공한다. 특히, 전체 파일 시스템의 명칭이기도 한 FAT로 지칭되는 할당 테이블이 획득되어, 파일의 삭제, 기존 파일의 치수 증가, 기존 빈 공간과 호환되지 않는 치수를 갖는 새 파일 생성의 경우에서도 디스크의 모든 영역을 활용을 가능하게 할 수 있다: 실제로 디스크가 분할되는 다양한 섹터의 삭제 및 재활용을 위한 기법에 따라 파일이 디스크의 다양한 영역에 "산재"될 수 있다. 파일이 디스크에 산재되어 있는 경우, 파일 시스템의 "단편화(fragmentation)"에 대해 이야기한다.
도 4에 기재된 대용량 저장 장치가 모든 FAT 파일 시스템 구조 - MBR, 부트 섹터, FAT, 루트 디렉토리 및 실제 데이터, 즉, DATA를 포함하는 저장 장치 - 를 플래시 저장 장치에 배열한다. 예를 들어, USB 포트로 연결된 컴퓨터가 파일의 치수의 변동을 요구하는 경우, FAT 기능의 관리자(33)가 - 저장 관리자(34)를 통해 - FAT 섹터를 수정하도록 제공하여, DATA 섹션에 파일의 데이터의 새로운 할당을 반영할 수 있다. 파일을 삭제하도록 요구되는 경우, 관리자(33)가 제공되어, (34)를 통해 루트 디렉토리를 포함하는 섹터를 무효화된 파일의 명칭을 이용하여 재기입하고, FAT 섹터를 재기입하여 삭제된 파일이 초기에 차지했던 공간을 비어 있다고 나타낼 수 있다.
앞서 언급된 바와 같이, 우리가 제어의 교환을 획득하기 위해 디스크를 이용할 계획을 계획이 있는 경우, DATA 영역에 파일을 삭제, 포맷팅 및 할당의 임의의 변동의 기능이 절대적으로 피해져야 하며, 따라서 본 발명에 따르는 방법이 도 5에서 지시된 상이한 구조물을 제공한다.
블록(31, 32, 33, 34)이 도 3의 블록과 동일한 기능을 가지며, 물리 저장 장치가 2개의 상이한 블록으로 획득된다: ROM(Read Only memory)에 의해 획득된 블록(38) 및 RAM(Random Access Memory)에 의해 획득된 블록(39). ROM(Read Only Memory)에서 한 번에 모두 MBR, BOOT SECTOR, FAT 및 ROOT DIRECTORY 섹터가 기입되고, 따라서 이의 변동을 요구하는(또는 우연히 발생시키는) 모든 동작은 어떠한 영향도 미치지 않으며 디스크는 항상 동일한 구조, 동일한 파일 리스트 및 동일한 할당을 유지한다. RAM(Random Access Memory)을 이용해 DATA 영역(39)은 획득된다. RAM(Random Access memory)이 판독은 물론 재기입과 관련하여 플래시 메모리보다 더 빠르며, 실제로, RAM(Random Access Memory) 상에서 한 번에 1바이트씩 재기입될 수 있지만, 플래시 메모리는 재기입될 수 있기 전에 섹터의 삭제를 필요로 한다. 따라서 RAM(Random Access Memory)의 사용이 디스크의 응답을 상당히 빠르게 만들며, 이는 제어를 송신하기 위해 RAM을 사용할 계획을 갖고 있다면 필수적이다.
덧붙여, 모든 플래시 메모리는, 이들 각자의 수명 동안, 최대 횟수의 삭제 사이클을 갖고, 그 후 다시는 사용될 수 없다. 십만에서 백만 정도의 삭제 횟수는 대용량 저장에 충분하지만, 초당 수백 또는 수천 번의 재기입이 존재하는 제어 인터페이스에게는 매우 낮다. 따라서 RAM(Random Access Memory)의 사용이 대용량 저장장치의 이러한 특정 사용을 가능하게 하며, RAM(Random Access Memory)이 휘발성이라는 사실, 즉, 전압이 제거되면 콘텐츠를 소실한다는 사실이, 데이터가 짧은 시간 주기 동안 유지된다는 사실로 인한 어떠한 문제도 만들지 않는다. 실제로, 성공적이지 않았을 수 있는 이전 동작의 모든 잔여를 확실히 제거한다는 점에서, 시동 시 디스크가 "깨끗해" 진다는 것이 긍정적이다.
ROM(Read Only Memory)을 갖는 대신, 블록(38)은 또한 플래시 메모리에 의해 획득될 수 있고, 이 경우, 재기입의 가능성을 절대적으로 피하기 위해, 배열된 섹터를 삭제하는 기능이 영구적으로 비활성화되며(하드웨어 또는 펌웨어), 따라서 ROM(Read Only Memory)과 동일한 거동을 획득하고 보통의 외부 프로그래머 또는 특수한 최초 프로그래밍 펌웨어를 이용해 생산 중에 단 한 번 메모리에 쓸 수 있다는 이점을 유지할 수 있다.
FAT의 실시예
제어 및 데이터를 교환하기 위해 본 명세서에 기재된 제어 인터페이스의 경우, 사용되는 RAM(Random Access Memory)에서 이용 가능한 최대 치수(예를 들면, 32k 또는 32768바이트)를 갖는 단 하나의 파일만 이용하도록 결정되었다. 따라서 FAT 테이블은 설계 단계 동안 단 한 번 만들어짐으로써, 전체 RAM(Random Access Memory) 상에 파일을 선형으로 배열할 수 있다. 따라서 RAM(Random Access Memory)에서 디스크의 섹터들은 점점 증가하는 연속체로서 일렬로 발견되며; 파일의 배열이 ROM 내에서 고정되어 있지 않다면, 섹터가 이전에 수행된 삭제 및 재기입의 히스토리에 따라 더 또는 덜 산재된 순서로 발견될 수 있다.
파일의 절대적으로 선형의 배열이 본 명세서에 기재된 또 다른 주요 이점을 가진다. 앞서 언급된 바와 같이 컴퓨터와 서명 태블릿 간에 공유되는 디스크 데이터를 액세스하기 위해, 컴퓨터와 태블릿 모두에게 FAT 시스템 파일 관리자가 제공되어야 한다. 관리자는 다소 복잡하고 컴퓨터에서 확정적으로 이용 가능한 이산 크기의 프로세싱 자원을 필요로 하지만 그래픽 태블릿에 제공되는 소형 마이크로제어기를 획득하는 것이 꽤 비싸며, 이들을 획득하는 데 필요한 초기 수고 외에, 태블릿에 의한 FAT 기능의 실행이 높은 실행 둔화를 초래할 것이다. 그러나 RAM에서의 디스크의 섹터의 선형 배열이, 태블릿(21)의 측에서, 파일 시스템 관리자의 사용을 완전히 피하도록 할 수 있다: 임의의 섹터를 액세스하기 위해, 마이크로제어기는RAM 내 섹터의 주소를 단순 곱셈을 이용해 계산한 후 RAM(Random Access memory)으로의 직접 액세스만 수행한다. 예를 들어, 0에서부터 순서대로 넘버링되는 각각의 512 바이트 섹터의 경우, RAM 내의 섹터의 주소가 다음과 같다: 주소 = 섹터의 번호 x 512.
마지막으로, 특정한 채용되는 배열이 전체 솔루션에 대한 절약 및 더 우수한 응답 속도를 가능하게 한다. 특정 예시적 실시예에서 수행되는 시험에 따르면, 심지어 태블릿 측에서 플래시 메모리 및 파일 시스템을 이용하더라도, 기본 동작(양 측 모두에서의 섹터의 기입 및 판독)이 120밀리초를 필요로 하는 데 비해, RAM은 있고 태블릿 측 파일 시스템이 없는 경우 동일 동작이 3밀리초를 필요로 한다.
앞서 언급된 서명의 획득 및 송신 외의, 태블릿의 통상의 기능 중 일부의 실시예의 분석이 이하에서 제공된다.
키의 교환
서명의 획득에서, 동일한 제어의 교환 및 데이터의 송신을 고려할 때, 모든 동작 제어 및 상대 응답이, 아마도 FIFO 데이터 큐를 이용하지 않고, 제1 섹터에서 교환되는 제어만 이용하여, 공유되는 디스크를 기초로 하는 동일한 유형의 조직을 통해 교환된다.
제어의 예시로서, 암호화 키의 교환에 대한 제어가 참조될 수 있다.
서명의 획득을 위한 각각의 유효한 태블릿의 필수 기능이 USB 통신의 인터셉션을 방지하기 위한 서명된 데이터의 암호화 기능이다. 기재된 유형의 디스크 상에서의 FIFO 큐를 통한 통신은 일반적인 HID 장치에 의해 사용되는 위치 및 압력 데이터의 연속 송신으로서 해석되기 쉽지 않다는 것이 관찰될 수 있다. 덧붙여, 기재된 장치는 데이터의 송신 전에 데이터를 암호화하도록 제공되며, 막 획득된 서명의 각각의 포인트가 RAM 내에 써져 데이터 교환 디스크의 센터를 형성할 때 암호화는 포인트 단위로 대칭 알고리즘을 통해 획득된다. 따라서 USB 연결로 전달되는 데이터의 임의의 분석이 서명의 추출을 가능하게 할 수 없다.
디피-헬먼(Diffie-Hellman) 유형의 알려진 암호화 프로토콜을 통해 암호화 키가 각각의 서명 동작에서 갱신된다. 도 6에서 관찰될 수 있는 바와 같이, 컴퓨터는 디스크의 첫 번째 섹터의 위치(1)에, 키 교환 제어를 나타내는 바이트를 기입하고, 다음 바이트로 이의 캐주얼 키(casual key) Ka를 기입한다. 태블릿은 위치(4)의 바이트에 확정 응답(affirmative response)을 도입하고 이의 캐주얼 키 Kb를 도입함으로써 응답한다. 두 장치 모두 디피-헬먼 알고리즘에 의해 제공되는 동작을 수행한 후 즉시, 다음의 서명 동작에서 사용되는 공통 대칭 암호화 키를 생성한다. 키의 교환이 디스크의 섹터의 판독 및 기입만 요구하며, 이는 본 예시의 경우 3미니초(minisecond)만 걸린다.
이미지의 디스플레이
서명 태블릿(21)의 사용에서, 가장 많은 양의 데이터의 송신을 필요로 하는 기능이 컴퓨터(24)가 태블릿(21)으로 태블릿의 스크린에 디스플레이될 이미지를 태블릿(21)으로 송신하는 것이다. 예를 들어, 65536개 색상의 480 x 272 픽셀의 치수의 이미지의 경우, 각각의 픽셀이 2 바이트의 송신을 의미하며 따라서 이미지는 480 x 272 x 2 = 262120 바이트를 차지한다.
본 명세서에 기재된 방법은 이미지 데이터를 디스크의 섹터에 상응하는 크기, 이 예시의 경우 각각 512 바이트의 블록으로 분할하도록 제공된다. 도 7에서 관찰될 수 있는 바와 같이, 컴퓨터가 이미지 디스플레이 제어 바이트를 위치(1)에 삽입하고 - 다음 위치에 - 디스플레이될 이미지의 2개의 오른쪽 상부 및 외쪽 하부 각의 스크린 상의 좌표(X1,Y1) 및 (X2,Y2)를 삽입한다. 덧붙여, 기입된 블록(written block)의 카운터 Bw 및 판독된 블록(read block)의 카운터 Br를 0으로 만든다. 태블릿이 위치(2)에 제어에 대한 응답을 기입한다.
따라서 컴퓨터(24)는 - 데이터 섹터에 - 이미지가 분할된 블록을 기입하기 시작하고, 모든 기입된 블록에 대해 Bw가 증가한다. 태블릿이 Br이 Bw와 상이함을 인식하고 데이터 블록 판독 및 전송을 시작한다. 각각의 블록에서 Br이 증가하고 Br이 Bw와 동일해질 때까지 계속된다.
언급된 바와 같이, 블록이 디스크의 섹터에 대응하며 연속이며, 원형 FIFO 큐를 획득하기 위해 현재 블록 번호로부터 시작하는 섹터 번호를 제공하는 단순 공식이 사용된다:
섹터 = 2 + 블록 mod Ns
Ns는 데이터에 대해 이용 가능한 디스크의 섹터의 개수이며, 예를 들어 512 바이트 섹터를 갖는 32768 바이트 디스크의 경우, 첫 번째 섹터가 제어용으로 사용된다는 사실을 고려하여, Ns = 32768/512 - 1 = 63가 획득된다.
블록이 디스크의 끝 부분 후에 도달할 때 모듈러스 연산이 첫 번째 섹터로의 반환값을 자동으로 획득한다.
이 경우에서조차, 다음의 조건을 관리하는 것이 요구된다:
- 빈 버퍼 Br = Bw
- 찬 버퍼 Bw - Br = Ns
버퍼가 비어 있을 때, 태블릿은 판독을 중단하고, 버퍼가 차 있을 때, 컴퓨터는 태블릿이 약간의 공간을 비울 때까지 기입을 중단한다. 이 경우라도, 데이터 판독 및 속도, 그리고 카운터를 포함하는 첫 번째 섹터의 판독 및 기입 순서에 무관하게, 송신 둔화 또는 폐기(drop)로 인해 데이터를 오염시킬 가능성이 없다.
이미지를 완성하도록 요구되는 모든 데이터를 수신하면, 다시 말하면, 위치 픽셀(X2, Y2)을 쓰도록 관리할 때, 태블릿(21)은 이미지의 송신의 종료라고 이해하고 첫 번째 섹터의 위치(2)로부터 응답을 제거한다. 따라서 컴퓨터는 송신이 성공적이었다고 검출한다.
본 발명의 이점 및 산업 응용
이전 기재에서 간략히 나타난 바와 같이, 본 발명에 따르는 방법은 가상화된, 원격 또는 저속(slow) 환경에서 올바른 동작에 대한 주요 문제를 극복하는 것을 가능하게 하며, 개인화된 USB 프로토콜을 생성하는 것을 요구하지 않고 특수 장치 드라이버를 개발하고 설치할 필요 없이 데이터 교환 속도인 두 번째 문제를 극복하는 것을 가능하게 한다. 덧붙여 본 발명의 방법은 대용량 저장장치를 통한 통신을 이용할 때 발생하는 그 밖의 다른 문제, 구체적으로, 데이터 삭제 또는 통신을 위해 사용되는 치수 변경을 막는 문제를 극복한다.
서명 태블릿을 위한 인터페이스로서 사용되기 위한 본 명세서에 기재된 방법은, 컴퓨터가 주변장치와 대화할 필요가 있는 그 밖의 다른 많은 컴퓨터 응용예에서 사용될 수 있으며 본 발명의 보호 분야는 서명 태블릿의 분야에의 적용으로 한정되지 않고, 컴퓨터와 주변장치 또는 외부 장치 간 통신이 존재하는 모든 경우까지 확장된다.

Claims (13)

  1. I/O 프로세스에서 프로세서(24)를 위한 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템으로서, 상기 시스템은 손 글씨 서명용 그래픽 태블릿 및/또는 디지털화기(digitiser) 같은 외부 직렬 주변장치(21)와, 정적 데이터를 기억하여 상기 직렬 주변장치 유닛(21)에 의해 조작될 수 있는 전송 버퍼를 구성하기 위한 "USB 드라이브" 이동식 가상 디스크로서 나타나는 외부 매체(22)를 포함하며, 상기 외부 매체(22) 상에 일정 치수 섹터로 된 데이터의 선형 순차 연속체로서 구성된 단 하나의 파일이 구성되며, 상기 파일은 직렬 주변장치 유닛(21)과 프로세서(24) 간에 공유되며, 직렬 주변장치 유닛과 프로세서 모두 병렬로 판독 및 기입할 수 있음으로써, 데이터 패킷보다 확실히 큰 킬로바이트(Kbyte) 단위의 기억 영역을 갖는 데이터 블록 콘텐츠의 비동기식 I/O 전송을 가능하게 하며, 전송 대기 중인 데이터를 위한 임시 버퍼로서 사용되고, 상기 파일은
    a. 다음의 기능 동작 코드를 갖는 I/O 액세스의 FIFO 구조의 첫 번째 섹터(A):
    i. 컴퓨터(24)로부터 직렬 주변장치 유닛(21)으로의 제어(1),
    ii. 직렬 주변장치 유닛(21)으로부터 컴퓨터(24)로의 상기 제어에 대한 응답(4),
    iii. 컴퓨터(24)에 의해 판독되는 섹터로의 포인터(2)
    iv. 컴퓨터(24)에 의해 판독되는 포인트로의 포인터(3)
    v. 직렬 주변장치 유닛(21)에 의해 기입되는 섹터로의 포인터(5)
    vi. 상기 직렬 주변장치 유닛(21)에 의해 기입되는 포인트로의 포인터(6), 및
    b. 섹터 내에 포함된 데이터의 즉각적인 액세스를 위한 일정한 치수를 가지며 상기 첫 번째 섹터에 뒤따르는 일련의 섹터(B, C, D...N)
    를 포함하는, 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템.
  2. 제1항에 있어서, USB 드라이브 기능부를 통해 인터페이싱되는 주변장치(21)의 가상화가, 서명을 위한 상기 직렬 주변장치 유닛(21) 내에서, 직렬 주변장치 유닛의 그 밖의 다른 기능, 트랙의 획득 및 디스플레이 상의 시각화를 관리하는 것과 동일한 마이크로제어기를 이용해 이뤄져서, 외부 기억 지원부(22)를 관리하는, 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템.
  3. 제1항 또는 제2항에 있어서, 메모리 지원부(22)는
    a. ROM 메모리에 마지막으로 한 번 기입되는 MBR 섹터, BOOT SECTOR, FAT 및 ROOT DIRECTORY를 가지며, 외부 매체를 항상 동일한 구조, 동일한 파일 리스트, 및 동일한 할당으로 유지하는 ROM(read only memory) 메모리로 획득되는 블록(38),
    b. 휘발성의 기입/판독 RAM 메모리로 획득되는 일련의 DATA 블록(39)
    의 2개의 구별되는 섹션으로 만들어진 물리 메모리로 구성되는, 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템.
  4. 제3항에 있어서, ROM 메모리(38)는 플래시 메모리(Flash memory)에 의해 획득됨으로써, 섹터를 삭제하는 기능을 영구적으로 비활성화시켜 ROM의 기능 모드와 동일한 기능 모드로 동작하게 하고 제조 중에 단 한 번만 메모리 상에 기입함으로써 재기입(rewriting)의 가능성을 피하는, 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 메모리 지원부(22)의 FAT 테이블이 설계 중에 단 한 번 사전 배치됨으로써, 상기 파일을 전체 RAM 상에 선형으로 할당할 수 있고, RAM에서 메모리 섹터들은 엄격하게 증가하는 연속 시퀀스로 할당되는, 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템.
  6. 제5항에 있어서, 메모리 지원부(22) 상에서 RAM 메모리가 분할되는 섹터의 선형 할당은 어떠한 파일 시스템 관리자 없이 이뤄지며, 각각의 섹터가 차지하는 바이트 수와 상기 RAM 내 섹터 번호의 곱에 엔트리 포인트와 관련된 오프셋을 더함으로써 획득되는 메모리 위치로의 즉각적인 어드레싱을 통해, 상기 마이크로제어기는 RAM의 섹터로 직접 액세스할 수 있는, 제어 및 데이터의 양방향 기억 및 송신을 위한 실시간 시스템.
  7. 청구항 제1항 내지 제6항 중 어느 한 항에 따르는 하드웨어 시스템을 기초로 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법으로서, 상기 방법은 획득 프로세스와 관련하여,
    a) 디지털화기 직렬 주변장치 유닛(21)이 외부 매체(22) 내 FIFO 큐(25)로의 입력으로 획득될 데이터의 전송을 사전 배치하는 단계 - 상기 사전 배치하는 단계는
    a-1) 직렬 주변장치 유닛(21)과 프로세서(24) 간에 공유되고 직렬 주변장치 유닛과 프로세서 모두가 병렬로 판독 및 기입할 수 있는 일정 치수의 섹터로 된 데이터의 선형 순차 연속체로서 구성되는 단 하나의 파일을 설정하고,
    a-2) 상기 파일 내 FIFO 큐의 구조를 위해 이러한 파일의 첫 번째 섹터에,
    i. 컴퓨터(24)로부터 직렬 주변장치 유닛(21)으로의 제어(1),
    ii. 직렬 주변장치 유닛(21)으로부터 컴퓨터(24)로의 상기 제어에 대한 응답(4),
    iii. 컴퓨터(24)에 의해 판독되는 섹터로의 포인터(2),
    iv. 컴퓨터(24)에 의해 판독되는 포인트로의 포인터(3),
    v. 직렬 주변장치 유닛(21)에 의해 기입되는 섹터로의 포인터(5),
    vi. 직렬 주변장치 유닛(21)에 의해 기입되는 포인트로의 포인터(6)
    의 동작 코드를 삽입함으로써 이뤄짐 - ,
    b) 프로세서(24)는 데이터가 주변장치 유닛(21)의 출력으로부터 획득됨에 따라 FIFO(25)로부터 데이터를 판독하고, 주변장치(21) 상에서의 입력의 전체 지속시간을 기초로 하는 획득 프로세스로 인한 딜레이 없이, 컴퓨터 메모리 지원 통신에 의해 만들어지는 딜레이만 갖고, 디스플레이 상에 상기 데이터를 시각화하는 단계 - 주변장치 유닛(21)에 의해 검출되는 포인트의 데이터를 포함하도록 구성된 파일의 두 번째 섹터 내지 마지막 섹터(B, C, ...N)로의 액세스가 순간적으로 발생함 - 를 포함하는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
  8. 제7항에 있어서, 디지털 데이터 검출 동작을 활성화하기 위해,
    I. 프로세서(24)가 첫 번째 섹터(1)의 위치에 1바이트로서 상대 제어를 기입하고,
    II. 직렬 주변장치 유닛(21)이, 동작 중이 아닐 때, 이러한 첫 번째 섹터(1)를 지속적으로 판독하며, 상기 첫 번째 위치로 도입된 제어를 인지하자마자 입력된 데이터를 획득하기 시작하고 위치(4)에 1 바이트의 형태로 응답을 기입함으로써 제어의 수락을 통신하며,
    III. 위치(2)와 위치(5)에 병렬로 외부 메모리 매체의 첫 번째 데이터 섹터의 수를 기입하고 위치(3) 및 위치(6)를 활성화하고,
    IV. 프로세서(24)가 위치(4)에서 제어에 대한 응답을 인지하고 - 사용자에 의해 - 고정되고 획득될 트랙을 시각화하도록 사전 배치되며,
    V. 직렬 주변장치 유닛(21)이 트랙의 포인트를 획득하고 상기 트랙의 포인트 각각을 섹터 포인터(5) 및 포인트 포인터(6)에 의해 어드레싱되는 섹터에 점진적으로 삽입하고,
    VI. 입력으로 제공되는 각각의 포인트에 대해, 주변장치 유닛은 포인트 포인터(6)를 증가시키고, 섹터에 포함될 수 있는 포인트의 수를 초과할 때, 포인트 포인터(6)를 0으로 만들고 섹터 포인터(5)를 1 단위씩 증가시키며,
    VII. 섹터 포인터가 외부 기억 지원의 마지막 섹터를 초과하는 경우, 직렬 주변장치 유닛(21)은 섹터 포인터를 초기 값으로 복귀시킴으로써, 그 동안 컴퓨터에 의해 이미 판독됐을 첫 번째 빈 섹터를 재활용하고,
    직렬 주변장치 유닛(21)이 I-VII 시퀀스를 이용해 입력의 포인트를 획득하는 동안, 프로세서(24)에서
    a. 프로세서(24)가 포인터(6) 또는 포인터(5)가 포인터(3) 및 포인터(2)와 상이함을 인지하고 따라서 판독될 준비가 된 포인트가 있음을 검출하는 단계,
    b. 프로세서(24)가 외부 메모리 지원으로부터 동작 메모리에서 각각의 포인트를 판독하며, 포인터(3)를 증가시키는 단계,
    c. 포인터(3)가 섹터별 포인트의 수를 초과하는 경우, 프로세서(24)는 포인터(3)를 0으로 만들고 포인터(2)를 증가시키는 단계,
    d. 프로세서는 직렬 주변 장치 유닛에 의해 생성되는 모든 포인트가 판독되자마자 멈추며, 이 상태는 증가된 포인터(3)가 포인터(6)의 동일 값에 도달하고 포인터(2)가 포인터(5)의 동일 값에 도달할 때 발생하는 단계
    가 병렬로 수행되며,
    직렬 주변장치 유닛(21)은 포인터(5) 및 포인터(6)에만 기입하며 프로세서(24)는 포인터(2) 및 포인터(3)에만 기입하기 때문에, 데이터 전송 동작의 수행의 정확도가 이벤트의 정확한 시간 시퀀스에 따르지 않는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
  9. 제7항 또는 제8항에 있어서, 특정 시간 주기 동안 프로세서(24)에 의한 획득이 둔화되거나 멈추는 경우, 직렬 주변장치 유닛(21)은 파일에 데이터를 계속 쓰고 포인터를 업데이트하여, 프로세서가 다시 이용 가능해 질 때 딜레이를 복원시키고 FIFO에 유예된 포인트를 획득하는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 다음의 제한 기능 조건에 따라:
    i. FIFO 큐 빈 상태: 포인터(2) = 포인트(5)이고 포인터(3) = 포인터(6)일 때,
    ii. FIFO 큐 찬 상태: 포인트(5) = 포인트(2)보다 1작을 때,
    파일의 끝 부분에 도달하면, 직렬 주변장치 유닛(21)이 두 번째 섹터부터 기입을 재개하여 그 동안 프로세서로부터 비워진 한 이전에 사용된 영역을 재활용하는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서,
    데이터의 전송 전에 데이터의 암호화를 제공하며, 암호화는 대칭 알고리즘을 이용해 이뤄지며, 입력에서의 트랙의 포인트별로, 동일한 포인트에서, 막 이전에 획득된 트랙의 모든 포인트가 데이터 교환 디스크의 섹터를 형성하는 RAM에 기입되고,
    a. 동작 코드의 특화된 설정에 따라, 프로세서(24)가 디스크의 첫 번째 섹터의 위치(1)에 바이트로 키 교환 제어 및 다음 바이트로 랜덤 키(Ka)를 기입하는 단계,
    b. 직렬 주변장치 유닛(21)이, 위치(4)에 바이트로 수신된 제어에 대한 확정 응답을 삽입하고, 뒤이어 이의 랜덤 키(Kb)를 삽입하는 단계,
    c. 두 장치가 다음 서명 동작에서 사용되는 암호화 알고리즘이 대칭 암호화 공통 키에 의해 제공되는 동작을 즉시 수행하는 단계
    를 수행함으로써 암호화 키가 전용 암호화 프로토콜을 통해 각각의 서명 동작에서 갱신되는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서, I/O 주변장치(21) 상에서 이미지를 시각화하는 기능이,
    a. 디스크의 섹터와 동등한 치수의 블록으로 이미지 데이터를 분할하는 단계 - 상기 프로세서는 첫 번째 위치에 이미지 시각화 제어 바이트를 삽입하고 다음 위치에 디스플레이될 이미지의 2개의 상부 우측 하부 좌측 각의 스크린 상의 좌표 (X1,Y1) 및 (X2,Y2)를 삽입함으로써, 기입된 블록의 카운터(Bw)와 판독된 블록의 카운터(Br)가 0이 됨 - ,
    b. 직렬 주변장치 유닛(21)이, 상대 위치(2)에 제어에 대한 응답을 기입하는 단계 - 상기 프로세서는 데이터 섹터에 이미지가 분할된 블록을 기입하기 시작하며, 각각 기입되는 블록에 대해 기입된 블록의 카운터(Bw)를 증가시키고, 직렬 주변장치 유닛이 판독된 블록의 카운터(Br)가 상기 기입된 블록의 카운터(Bw)와 상이함을 인지하고 데이터 블록을 판독하기 시작하며 상기 데이터 블록을 디스플레이로 전송하고, 각각의 카운터에서 판독된 블록의 카운터(Br)를 증가시키며 판독된 블록의 카운터(Br)가 기입된 블록의 카운터(Bw)와 동일해질 때까지 계속함 - ,
    c. 직렬 주변장치 유닛이, 이미지를 완성하도록 요구되는 모든 데이터를 수신하고 위치 픽셀(X2,Y2)을 기입하면, 이미지의 송신의 종료에 도달했음을 인지하며 첫 번째 섹터의 위치(2)로부터 응답을 제거하고, 그 후 상기 프로세서가 송신이 성공적이었음을 검출하는 단계
    에 의해 동작 코드의 특화된 구성을 제공하는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
  13. 제7항 내지 제12항 중 어느 한 항에 있어서, 디스크의 섹터에 대응하는 상기 연속 블록의 할당이 원형 FIFO 큐에 따라 동작하며,
    섹터 = 2 + 블록 mod Ns
    에 따라 섹터의 현재 번호는 블록의 현재 번호부터 시작하여 획득되며,
    Ns는 데이터에 대해 이용 가능한 디스크의 섹터의 개수이며, 다음의 제한 조건을 고려할 때 블록으로의 포인터가 외부 메모리 지원의 종료부분을 초과할 때 모듈러스 연산은 첫 번째 섹터로의 반환 값을 자동으로 획득하며,
    i. 버퍼 빈 상태: 판독된 블록의 카운터(Br) = 기입된 블록의 카운터(Bw)
    ii. 버퍼 찬 상태: 기입된 블록의 카운터(Bw) - 판독된 블록의 카운터(Br) = Ns,
    따라서 각각:
    a. 버퍼가 빈 상태일 때, 직렬 주변장치 유닛이 판독을 중단하고,
    b. 버퍼가 찬 상태일 때, 직렬 주변장치 유닛이 공간을 비울 때까지 프로세서가 기입을 중단하는, 제어 및 데이터의 양방향 기억 및 송신에 대한 실시간 방법.
KR1020167017522A 2013-12-31 2014-12-16 Usb 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하기 위한 상대 장치 KR20160103998A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IT000728A ITRM20130728A1 (it) 2013-12-31 2013-12-31 Metodo di scambio comandi tramite disco usb e relativi dispositivi che ne permettono l¿implementazione.
ITRM2013A000728 2013-12-31
PCT/IB2014/066965 WO2015101869A1 (en) 2013-12-31 2014-12-16 Method for exchanging controls through a usb disc and relative devices which allow the implementation thereof

Publications (1)

Publication Number Publication Date
KR20160103998A true KR20160103998A (ko) 2016-09-02

Family

ID=50239806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017522A KR20160103998A (ko) 2013-12-31 2014-12-16 Usb 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하기 위한 상대 장치

Country Status (17)

Country Link
US (1) US20160328354A1 (ko)
EP (1) EP3090348B1 (ko)
JP (1) JP6530762B2 (ko)
KR (1) KR20160103998A (ko)
CN (1) CN105917322B (ko)
AU (1) AU2014375052A1 (ko)
BR (1) BR112016015465A2 (ko)
CA (1) CA2935283A1 (ko)
EA (1) EA201691243A1 (ko)
ES (1) ES2674549T3 (ko)
HK (1) HK1225832A1 (ko)
IL (1) IL246243B (ko)
IT (1) ITRM20130728A1 (ko)
MX (1) MX2016008599A (ko)
SG (1) SG11201604867WA (ko)
TR (1) TR201808730T4 (ko)
WO (1) WO2015101869A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220938A1 (de) 2018-06-05 2019-12-05 Hyundai Motor Company Lithium-Sekundärbatterie für Fahrzeuge und Verfahren zu ihrer Herstellung

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250057B (zh) * 2016-07-26 2019-06-04 青岛海信移动通信技术股份有限公司 一种显示存储设备的方法和装置
CN114089916B (zh) * 2018-01-12 2022-12-20 珠海极海半导体有限公司 数据采集系统和温湿度传感器系统
CN109375875B (zh) * 2018-10-11 2020-03-17 北京明朝万达科技股份有限公司 文件传输方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2932568B2 (ja) * 1990-02-15 1999-08-09 松下電器産業株式会社 データ通信装置
JP3816180B2 (ja) * 1997-03-14 2006-08-30 株式会社日立コミュニケーションテクノロジー 通信装置のインターフェイス制御方法
JPH11339447A (ja) * 1998-05-29 1999-12-10 Sony Corp 記録再生装置
US6307955B1 (en) * 1998-12-18 2001-10-23 Topaz Systems, Inc. Electronic signature management system
US20040193785A1 (en) * 2003-03-11 2004-09-30 Zayas Fernando A. System for improving the performance of read/write testing in a hard drive
EP1782287A2 (en) * 2004-07-21 2007-05-09 Beach Unlimited LLC Distributed storage architecture based on block map caching and vfs stackable file system modules
JP2006202051A (ja) * 2005-01-20 2006-08-03 Canon Inc データ処理装置及びデータ処理方法
RO121497B1 (ro) * 2005-02-09 2007-06-29 Softwin S.R.L. Sistem informatic şi metodă pentru achiziţia, analiza şi autentificarea semnăturii olografe
EP1894106A2 (en) * 2005-06-09 2008-03-05 Nxp B.V. Memory controller and method for coupling a network and a memory
US7594067B2 (en) * 2005-10-20 2009-09-22 Stec, Inc. Enhanced data access in a storage device
JP4357473B2 (ja) * 2005-11-04 2009-11-04 株式会社ソニー・コンピュータエンタテインメント データ処理システムおよびプログラム
JP4663577B2 (ja) * 2006-05-16 2011-04-06 株式会社バッファロー データ記憶装置およびこの初期化方法
CN101252536B (zh) * 2008-03-31 2010-06-02 清华大学 路由器多队列数据包缓存管理与输出队列调度系统
US8370835B2 (en) * 2009-03-12 2013-02-05 Arend Erich Dittmer Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
US8638805B2 (en) * 2010-05-18 2014-01-28 Lsi Corporation Packet draining from a scheduling hierarchy in a traffic manager of a network processor
CN101997646B (zh) * 2010-05-25 2012-11-28 锐骐(厦门)电子科技有限公司 基于usb和nand flash的数据打包和传输的方法
ITRM20110370A1 (it) 2011-07-15 2013-01-16 Prb S R L Sistema stilo-tavoletta grafica per la presentazione ed il confronto della firma biometrica autografa.
ITRM20110652A1 (it) 2011-12-07 2013-06-08 Prb S R L Unità di digitalizzazione ed archiviazione dei documenti e relative tecniche di virtualizzazione degli aggiornamenti.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220938A1 (de) 2018-06-05 2019-12-05 Hyundai Motor Company Lithium-Sekundärbatterie für Fahrzeuge und Verfahren zu ihrer Herstellung
KR20190138336A (ko) 2018-06-05 2019-12-13 현대자동차주식회사 운송 수단용 리튬 이차 전지 및 이의 제조 방법

Also Published As

Publication number Publication date
US20160328354A1 (en) 2016-11-10
JP2017507438A (ja) 2017-03-16
IL246243A0 (en) 2016-07-31
CA2935283A1 (en) 2015-07-09
ES2674549T3 (es) 2018-07-02
HK1225832A1 (zh) 2017-09-15
IL246243B (en) 2019-03-31
JP6530762B2 (ja) 2019-06-12
TR201808730T4 (tr) 2018-07-23
EP3090348A1 (en) 2016-11-09
ITRM20130728A1 (it) 2015-07-01
WO2015101869A1 (en) 2015-07-09
CN105917322B (zh) 2020-08-07
SG11201604867WA (en) 2016-07-28
AU2014375052A1 (en) 2016-07-07
EP3090348B1 (en) 2018-03-21
MX2016008599A (es) 2017-04-13
EA201691243A1 (ru) 2016-12-30
BR112016015465A2 (pt) 2017-08-08
CN105917322A (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
EP2889780B1 (en) Data processing system and data processing method
EP2849076B1 (en) Dma transmission method and system
EP2849077B1 (en) Method for writing data into storage device and storage device
US20180173620A1 (en) Data erasure method for solid state drive, and apparatus
TWI607306B (zh) 用於非揮發性儲存裝置的再編址記憶體
EP2988221A1 (en) Controller, flash memory device and method for writing data into flash memory device
CN111949605A (zh) 用于实现文件系统的方法、设备和计算机程序产品
US10684947B2 (en) Increasing high performance data storage utilization by reducing write operations
KR20160103998A (ko) Usb 디스크를 통해 제어를 교환하기 위한 방법 및 이를 구현하기 위한 상대 장치
TW201945961A (zh) 使用物件固態硬碟(ssd)裝置之日誌結構合併(lsm)樹為基的資料庫之最佳化
US9529809B2 (en) Managing log data using a circular fixed size file
CN110908927A (zh) 数据储存装置及其删除命名空间的方法
JPWO2010055937A1 (ja) 計算機システム、データ保存方法およびプログラム
TWI739075B (zh) 閃存的資料寫入方法及電腦程式產品
US20210326151A1 (en) Methods, devices and computer-readable storage media for processing a hosted application
CN103412824A (zh) 写时拷贝快照方法及装置
CN112988055A (zh) 包括键值存储装置的机器和操作键值存储装置的方法
EP4170505A1 (en) Data writing method and device
CN114860380A (zh) 数据同步的方法、装置、电子设备及计算机可读存储介质
US10318888B2 (en) Pre-backing virtual storage using historical learned data
KR20210016938A (ko) 데이터 처리 시스템 및 그것의 동작방법
CN102375702A (zh) 存储器管理设备、存储器管理方法及其程序
WO2015186220A1 (ja) ストレージ装置及びストレージ装置の動作解析方法
CN114924995A (zh) 存储空间碎片化整理方法、装置和电子设备
KR20220161980A (ko) 사용자 단말, 사용자 단말의 애플리케이션 실행 방법 및 가상 머신의 애플리케이션 실행 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid