首页 / 专利库 / 工业自动化和数控机床 / 监视控制与数据采集系统 / METHOD AND SYSTEM FOR MANAGING ACCESS TO A DATA STORE

METHOD AND SYSTEM FOR MANAGING ACCESS TO A DATA STORE

阅读:1047发布:2020-07-14

专利汇可以提供METHOD AND SYSTEM FOR MANAGING ACCESS TO A DATA STORE专利检索,专利查询,专利分析的服务。并且A method and a system for managing access to a data storing part are provided to manage the access to the data storing part and data items stored in the data storing part by a plurality of data formatters. One first thread and the plurality of second threads are instantiated for execution by a processing system(102). A data populator is started in the first thread(104). The plurality of data formatters are started at least one of the second threads(106). The data populator records the data item to the data storing part(108). A parameter of a data acquisition system is monitored(110). The access to the data storing part and the data item stored in the data storing part by the data formatters is managed by controlling execution of the second thread for the first thread in response to the monitored parameter(112).,下面是METHOD AND SYSTEM FOR MANAGING ACCESS TO A DATA STORE专利的具体信息内容。

  • 데이터 저장부에 대한 액세스를 관리하는 방법에 있어서,
    프로세싱 시스템에 의한 실행을 위해, 하나의 1차 스레드(thread) 및 다수의 2차 스레드를 예시하는 단계와,
    상기 1차 스레드에서 데이터 팝플레이터(data populator)를 개시하는 단계와,
    상기 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터(data formatter)를 개시하는 단계와,
    상기 데이터 팝플레이터가 상기 데이터 저장부에 데이터 아이템을 기록하게 하는 단계와,
    데이터 획득 시스템의 파라미터를 모니터링하는 단계와,
    상기 모니터링된 파라미터에 응답하여, 상기 1차 스레드에 대하여 상기 2차 스레드의 실행을 제어함으로써, 상기 다수의 데이터 포맷터에 의한 상기 데이터 저장부 및 그 내부의 상기 데이터 아이템에 대한 액세스를 관리하는 단계를 포함하는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 1 항에 있어서,
    상기 데이터 획득 시스템의 파라미터는 상기 데이터 아이템이 기반을 두는 새로운 데이터의 이용가능성인
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 1 항에 있어서,
    상기 데이터 획득 시스템의 파라미터는 상기 데이터 저장부의 충만도(fullness)이고,
    상기 1차 스레드에 대하여 상기 2차 스레드의 실행은 i) 상기 데이터 저장부의 충만도가 1차 스레드를 초과하면, 상기 1차 스레드를 중지하고 상기 2차 스레드 중 임의의 것이 실행할 수 있게 하며, ii) 상기 데이터 저장부의 충만도가 2차 스레드 미만으로 떨어지면 상기 1차 스레드를 활성화함으로써 제어되는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 1 항에 있어서,
    상기 데이터 아이템 중 적어도 일부는 적어도 하나의 DUT(device under test)의 테스트에 속하는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 1 항에 있어서,
    상기 데이터 저장부는 메모리이고,
    상기 데이터 아이템은 상기 메모리 내의 객체와 관련되는
    데이터 저장부에 대한 액세스 관리 방법.
  • 데이터 저장부에 대한 액세스를 관리하는 방법에 있어서,
    프로세싱 시스템에 의한 실행을 위해, 1차 스레드 및 다수의 2차 스레드를 예시하는 단계와,
    상기 1차 스레드에서 데이터 팝플레이터를 개시하는 단계와,
    상기 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 단계와,
    상기 데이터 팝플레이터로 하여금,
    데이터 저장부에 데이터 아이템을 기록하고,
    상기 데이터 아이템을 인덱싱(indexing)하는 토큰(token)을 생성하며,
    상기 토큰 중 적어도 일부가 상기 다수의 데이터 포맷터 중 적어도 일부에 전달되게 하는 동작을 수행하게 하는 단계와,
    상기 데이터 포맷터 중 임의의 것으로 하여금,
    상기 토큰에 의해 인덱싱되는 상기 데이터 아이템을 판독하고,
    상기 데이터 아이템 중 하나의 판독이 완료되면, 상기 판독 데이터 아이템과 관련된 토큰을 릴리스(releasing)하는 동작을 수행하게 하는 단계를 포함하는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 6 항에 있어서,
    상기 데이터 저장부는 메모리이고,
    상기 데이터 아이템은 상기 메모리 내의 객체와 관련되는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 6 항에 있어서,
    상기 1차 스레드는 상기 다수의 2차 스레드보다 높은 실행 우선순위를 가지는 것으로 예시되는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 6 항에 있어서,
    상기 데이터 아이템을 인덱싱하는 토큰을 생성하는 동작은, 각각의 데이터 아이템마다,
    상기 데이터 팝플레이터가 상기 데이터 아이템을 인덱싱하는 초기 토큰을 생성하게 하는 동작과,
    통지 관리자에게 상기 초기 토큰을 전달하는 동작을 포함하되,
    상기 방법은 상기 초기 토큰에 응답하여, 상기 통지 관리자를 통해, 상기 데이터 포맷터 중 임의의 것에 토큰을 전달하는 단계를 더 포함하는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 9 항에 있어서,
    상기 2차 스레드 중 어느 하나에서 상기 통지 관리자를 개시하는 단계를 더 포함하는
    데이터 저장부에 대한 액세스 관리 방법.
  • 제 9 항에 있어서,
    상기 데이터 포맷터로부터 다수의 데이터 유형의 데이터 아이템의 예약(subscription)을 수용하는 단계와,
    상기 초기 토큰에 응답하여, 상기 통지 관리자를 통해, 1) 상기 초기 토큰에 의해 인덱싱되는 상기 데이터 아이템의 데이터 유형과, 2) 상기 데이터 포맷터의 예약에 따라 상기 데이터 포맷터 중 임의의 것에 토큰을 전달하는 단계를 더 포함하는
    데이터 저장부에 대한 액세스 관리 방법.
  • 데이터 저장부에 대한 액세스를 관리하는 시스템에 있어서,
    컴퓨터 판독가능한 매체와,
    상기 컴퓨터 판독가능한 매체에 저장된 컴퓨터 판독가능한 코드를 포함하되,
    상기 코드는,
    프로세싱 시스템에 의한 실행을 위해, 하나의 1차 스레드 및 다수의 2차 스레드를 예시하는 코드와,
    상기 1차 스레드에서 데이터 팝플레이터를 개시하는 코드와,
    상기 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 코드와,
    상기 데이터 팝플레이터가 상기 데이터 저장부에 데이터 아이템을 기록하게 하는 코드와,
    데이터 획득 시스템의 파라미터를 모니터링하는 코드와,
    상기 모니터링된 파라미터에 응답하여, 상기 1차 스레드에 대하여 상기 2차 스레드의 실행을 제어함으로써, 상기 다수의 데이터 포맷터에 의한 상기 데이터 저장부 및 그 내부의 상기 데이터 아이템에 대한 액세스를 관리하는 코드를 포함하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 12 항에 있어서,
    상기 데이터 획득 시스템의 파라미터는 상기 데이터 아이템이 기반을 두는 새로운 데이터의 이용가능성인
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 12 항에 있어서,
    상기 데이터 획득 시스템의 파라미터는 상기 데이터 저장부의 충만도이고,
    상기 1차 스레드에 대하여 상기 2차 스레드의 실행은 i) 상기 데이터 저장부의 충만도가 1차 스레드를 초과하면, 상기 1차 스레드를 중지하고 상기 2차 스레드 중 임의의 것이 실행할 수 있게 하며, ii) 상기 데이터 저장부의 충만도가 2차 스레드 미만으로 떨어지면 상기 1차 스레드를 활성화함으로써 제어되는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 12 항에 있어서,
    상기 데이터 아이템 중 적어도 일부는 적어도 하나의 DUT(device under test)의 테스트에 속하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 12 항에 있어서,
    상기 데이터 저장부는 메모리이고,
    상기 데이터 아이템은 상기 메모리 내의 객체와 관련되는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 데이터 저장부에 대한 액세스를 관리하는 시스템에 있어서,
    컴퓨터 판독가능한 매체와,
    상기 컴퓨터 판독가능한 매체에 저장된 컴퓨터 판독가능한 코드를 포함하되,
    상기 코드는,
    프로세싱 시스템에 의한 실행을 위해, 하나의 1차 스레드 및 다수의 2차 스레드를 예시하는 코드와,
    상기 1차 스레드에서 데이터 팝플레이터를 개시하는 코드와,
    상기 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 코드와,
    상기 데이터 팝플레이터로 하여금,
    데이터 저장부에 데이터 아이템을 기록하고,
    상기 데이터 아이템을 인덱싱하는 토큰을 생성하며,
    상기 토큰 중 적어도 일부가 상기 다수의 데이터 포맷터 중 적어도 일부에 전달되게 하는 동작을 수행하게 하는 코드와,
    상기 데이터 포맷터 중 임의의 것으로 하여금,
    상기 토큰에 의해 인덱싱되는 상기 데이터 아이템을 판독하고,
    상기 데이터 아이템 중 하나의 판독이 완료되면, 상기 판독 데이터 아이템과 관련된 토큰을 릴리스하는 동작을 수행하게 하는 코드를 포함하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 17 항에 있어서,
    상기 데이터 저장부는 메모리이고,
    상기 데이터 아이템은 상기 메모리 내의 객체와 관련되는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 17 항에 있어서,
    상기 코드는 상기 다수의 2차 스레드보다 높은 실행 우선순위를 가지는 상기 1차 스레드를 예시하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 17 항에 있어서,
    상기 시스템은 통지 관리자를 개시하는 코드를 더 포함하되,
    상기 데이터 아이템을 인덱싱하는 토큰을 생성하는 동작은, 각각의 데이터 아이템마다,
    상기 데이터 팝플레이터가 상기 데이터 아이템을 인덱싱하는 초기 토큰을 생성하게 하는 동작과,
    상기 통지 관리자에게 상기 초기 토큰을 전달하는 동작을 포함하되,
    상기 시스템은 상기 초기 토큰에 응답하여, 상기 통지 관리자를 통해, 상기 데이터 포맷터 중 임의의 것에 토큰을 전달하는 코드를 더 포함하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 20 항에 있어서,
    상기 제 2 스레드 중 어느 하나에서 상기 통지 관리자를 개시하는 코드를 더 포함하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 제 20 항에 있어서,
    상기 데이터 포맷터로부터 다수의 데이터 유형의 데이터 아이템의 예약을 수용하는 코드와,
    상기 초기 토큰에 응답하여, 상기 통지 관리자를 통해, 1) 상기 초기 토큰에 의해 인덱싱되는 상기 데이터 아이템의 데이터 유형과, 2) 상기 데이터 포맷터의 예약에 따라 상기 데이터 포맷터 중 임의의 것에 토큰을 전달하는 코드를 더 포함하는
    데이터 저장부에 대한 액세스 관리 시스템.
  • 说明书全文

    데이터 저장부에 대한 액세스 관리 방법 및 시스템{METHOD AND SYSTEM FOR MANAGING ACCESS TO A DATA STORE}

    도 1은 데이터 저장부에 대한 액세스를 관리하는 예시적인 제 1 방법을 도시한다.

    도 2는 데이터 저장부에 대한 액세스를 관리하는 예시적인 제 2 방법을 도시한다.

    도 3은 도 1 또는 도 2의 방법에 필요한 다수의 스레드(thread)를 실행하는 프로세싱 시스템에 대한 예시적인 블록도를 도시한다.

    도 4는 도 3에 도시된 데이터 팝플레이터(data populator)의 예시적인 블록도를 도시한다.

    도 5는 도 3에 도시된 데이터 포맷터(data formatter) 중 어느 하나의 예시적인 블록도를 도시한다.

    도 6은 데이터 저장부에 대한 액세스를 관리하는 예시적인 시스템을 도시한다.

    도면의 주요부분에 대한 부호의 설명

    600 : EDL 파일 602 : 공유형 라이브러리

    604 : 이벤트 관리자 606 : 이벤트

    608 : 데이터 팝플레이터 610 : 데이터 객체와 데이터가 있는 메모리

    612 : 통지 관리자 614 : ASCII 포맷터

    616 : XML 포맷터 618 : EDL 포맷터

    620 : STDF 포맷터

    회로를 테스트할 때, 테스트 결과는 "로우(raw)" 포맷으로 로그될 수 있다. 흔히, 이러한 로우 포맷은 1) 테스트 결과를 분석하는 데 이용되는 애플리케이션 프로그램에 의해 받아들여지지 않고, 2) 테스트 엔지니어 및 다른 사람이 이해하기 어렵다.

    로우 데이터 포맷이 나타내는 이상의 어려움으로 인해, 로우 데이터는 종종 예컨대, 재배치, 분류, 그룹화, 추출 및/또는 데이터에 대해 다른 동작을 수행함으로써 하나 이상의 다른 포맷으로 전환된다.

    로우 데이터가 "실시간"으로 포맷되면, 테스트에 사용되는 리소스에 상당한 부하가 걸릴 수 있고, 이로 인해 테스트 프로세스 (및 추가 로우 테스트 데이터의 생성)의 속도가 느려진다. 데이터 포맷 프로세스도 "지체"될 수 있으며, 이어서 테스트 프로세스를 인터럽트하는 플래그를 발사(throw)할 수 있다.

    데이터 포맷 프로세스가 테스트 프로세스를 방해하는 것을 방지하는 한 방법은 파일에 로우 테스트 데이터를 저장하고, 이어서 테스트가 완료되면 이 데이터를 검색하고 포맷하는 것이다. 그러나, 테스트 데이터를 순차적으로 생성하고 포맷하는 것은 테스트 프로세스가 보다 빠르게 완료하는 것을 가능하게 하지만, 유용한(즉, 포맷된) 테스트 데이터의 생성을 지연시키기도 한다.

    일 실시예에서, 데이터 저장부에 대한 액세스를 관리하는 방법은 1) 프로세싱 시스템에 의한 실행을 위해, 하나의 1차 스레드 및 다수의 2차 스레드를 예시하는 단계와, 2) 1차 스레드에서 데이터 팝플레이터를 개시하는 단계와, 3) 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 단계와, 4) 데이터 팝플레이터가 데이터 저장부에 데이터 아이템을 기록하게 하는 단계와, 5) 데이터 획득 시스템의 파라미터를 모니터링하는 단계와, 6) 모니터링된 파라미터에 응답하여, 1차 스레드에 대하여 2차 스레드의 실행을 제어함으로써, 다수의 데이터 포맷터에 의한 데이터 저장부 및 그 내부의 데이터 아이템에 대한 액세스를 관리하는 단계를 포함한다.

    다른 실시예에서, 데이터 저장부에 대한 액세스를 관리하는 방법은 1) 프로세싱 시스템에 의한 실행을 위해, 1차 스레드 및 다수의 2차 스레드를 예시하는 단계와, 2) 1차 스레드에서 데이터 팝플레이터를 개시하는 단계와, 3) 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 단계를 포함한다. 방 법은 데이터 팝플레이터로 하여금 데이터 저장부에 데이터 아이템을 기록하고, 데이터 아이템을 인덱싱하는 토큰을 생성하며, 토큰 중 적어도 일부가 다수의 데이터 포맷터 중 적어도 일부에 전달되게 하는 동작도 수행하게 한다. 방법은 또한 데이터 포맷터 중 임의의 것으로 하여금, 토큰에 의해 인덱싱되는 데이터 아이템을 판독하고, 데이터 아이템 중 하나의 판독이 완료되면, 판독 데이터 아이템과 관련된 토큰을 릴리스하는 동작을 수행하게 한다.

    또 다른 실시예에서, 데이터 저장부에 대한 액세스를 관리하는 시스템은 컴퓨터 판독가능한 매체에 저장된 컴퓨터 판독가능한 코드를 포함한다. 컴퓨터 판독가능한 코드는 1) 프로세싱 시스템에 의한 실행을 위해, 하나의 1차 스레드 및 다수의 2차 스레드를 예시하는 코드와, 2) 1차 스레드에서 데이터 팝플레이터를 개시하는 코드와, 3) 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 코드와, 4) 데이터 팝플레이터가 데이터 저장부에 데이터 아이템을 기록하게 하는 코드와, 5) 데이터 획득 시스템의 파라미터를 모니터링하는 코드와, 6) 모니터링된 파라미터에 응답하여, 1차 스레드에 대하여 2차 스레드의 실행을 제어함으로써, 다수의 데이터 포맷터에 의한 데이터 저장부 및 그 내부의 데이터 아이템에 대한 액세스를 관리하는 코드를 포함한다.

    또 다른 실시예에서, 데이터 저장부에 대한 액세스를 관리하는 시스템은 컴퓨터 판독가능한 매체에 저장된 컴퓨터 판독가능한 코드를 포함한다. 컴퓨터 판독가능한 코드는 1) 프로세싱 시스템에 의한 실행을 위해, 하나의 1차 스레드 및 다수의 2차 스레드를 예시하는 코드와, 2) 1차 스레드에서 데이터 팝플레이터를 개시 하는 코드와, 3) 다수의 2차 스레드 중 적어도 하나에서 다수의 데이터 포맷터를 개시하는 코드를 포함한다. 컴퓨터 판독가능한 코드는 데이터 팝플레이터로 하여금 데이터 저장부에 데이터 아이템을 기록하고, 데이터 아이템을 인덱싱하는 토큰을 생성하며, 토큰 중 적어도 일부가 다수의 데이터 포맷터 중 적어도 일부에 전달되게 하는 동작을 수행하게 하는 코드를 더 포함한다. 컴퓨터 판독가능한 코드는 데이터 포맷터 중 임의의 것으로 하여금 토큰에 의해 인덱싱되는 데이터 아이템을 판독하고, 데이터 아이템 중 하나의 판독이 완료되면, 판독 데이터 아이템과 관련된 토큰을 릴리스하는 동작을 수행하게 하는 코드도 포함한다.

    다른 실시예도 개시된다.

    본 발명의 예시적인 실시예는 도면에 도시된다.

    설명에 앞서서, 다음 기술에서는, 서로 다른 도면에 나타난 동일한 참조 번호가 동일한 구성요소/특징부를 지칭한다는 것을 알아야 한다. 따라서, 종종, 각 도면에서 서로 다른 도면에 나타난 동일한 구성요소/특징부는 상세히 설명되지 않을 것이다.

    도 1은 데이터 저장부에 대한 액세스를 관리하는 예시적인 제 1 방법(100)을 도시한다. 방법(100)에 따르면, 프로세싱 시스템에 의한 실행을 위해 하나의 1차 스레드 및 다수의 2차 스레드가 예시된다(블록 102 참조). 이어서, 데이터 팝플레이터는 1차 스레드에서 개시되고(블록 104), 다수의 데이터 포맷터는 다수의 2차 스레드 중 적어도 하나에서 개시된다(블록 106). 일 실시예에서, 단일 데이터 포맷터는 2차 스레드 각각에서 개시된다. 다른 실시예에서, 하나 이상의 2차 스레드 각각은 그 내부에서 실행하는 다수의 데이터 포맷터를 구비할 수 있다.

    데이터 팝플레이터를 개시한 후에, 방법(100)은 데이터 팝플레이터가 데이터 저장부에 데이터 아이템을 기록하게 하는 한편(블록 108), 데이터 획득 시스템의 파라미터를 모니터링한다(블록 110). 예로써, 데이터 저장부는 메모리일 수 있고, 데이터 아이템은 메모리 내 데이터 객체(in-memory data object)(즉, 객체 지향 프로그래밍 패러다임의 결과로서 생성되는 객체)일 수 있다. 파라미터는 (데이터 팝플레이터 및 데이터 저장부를 포함할 수 있는) 데이터 획득 시스템에 의해 동작되는 데 필요한 새로운 데이터의 이용가능성 또는 데이터 저장부의 충만도(fullness)일 수 있다. 다른 파라미터 및 파라미터의 조합도 모니터링될 수 있다.

    방법(100)에 의해 모니터링된 파라미터에 응답하여, 2차 스레드의 실행은 1차 스레드에 대하여 제어됨으로써, 다수의 데이터 포맷터에 의한 데이터 저장부 및 그 내부의 데이터 아이템에 대한 액세스를 관리한다(블록 112). 만일 모니터링된 파라미터가 데이터 저장부의 충만도이면, 1차 스레드에 대하여 2차 스레드의 실행은 1) 데이터 저장부의 충만도가 1차 스레드를 초과하면, 1차 스레드를 중지하고 2차 스레드 중 임의의 것이 실행할 수 있게 하며, 2) 데이터 저장부의 충만도가 2차 스레드 미만으로 떨어지면 1차 스레드를 활성화함으로써 제어될 수 있다. 데이터 저장부의 충만도를 모니터링함으로써, 데이터 저장부가 오버플로잉하는 것을 방지할 수 있다. 또한, 데이터 저장부 충만도의 2가지 임계치를 모니터링함으로써, 스 레드 중지/활성화의 교번(ping-ponging)을 피할 수 있다.

    1차 스레드에 대하여 2차 스레드의 실행을 제어함으로써, 데이터 획득 시스템은 데이터를 생성할 수 있고, 데이터 팝플레이터는 전속력으로 또는 임의의 원하는 성능 목표에 따라 데이터 저장부를 모을 수 있다. 이어서 데이터 포맷터는 데이터 저장부에 대한 그들의 액세스가 데이터 획득 시스템 또는 데이터 팝플레이터의 원하는 성능 목표에 영향을 주지 않으면, 때때로 데이터 저장부에 대한 액세스를 허가받을 수 있다. 이는 특히 (데이터 아이템이 적어도 하나의 DUT(device under test)의 테스트에 적합한) 회로 테스트 환경과 같은 테스트 환경에서 유용할 수 있다.

    도 2는 데이터 저장부에 대한 액세스를 관리하는 예시적인 제 2 방법(200)을 도시한다. 방법(200)에 따르면, 프로세싱 시스템에 의한 실행을 위해 하나의 1차 스레드 및 다수의 2차 스레드가 예시된다(블록 202 참조). 이어서, 데이터 팝플레이터는 1차 스레드에서 개시되고(블록 204), 다수의 데이터 포맷터는 다수의 2차 스레드 중 적어도 하나에서 개시된다(블록 206). 일 실시예에서, 단일 데이터 포맷터는 2차 스레드 각각에서 개시된다. 다른 실시예에서, 하나 이상의 2차 스레드 각각은 그 내부에서 실행하는 다수의 데이터 포맷터를 구비할 수 있다.

    데이터 팝플레이터를 개시한 후에, 방법(200)(블록 208)은 데이터 팝플레이터가 1) 데이터 저장부에 데이터 아이템을 기록하게 하고(블록 210), 2) 데이터 아이템을 인덱싱하는 토큰(token)을 생성하게 하며(블록 212), 3) 토큰 중 적어도 일부가 다수의 데이터 포맷터 중 적어도 일부에 전달되게 하도록 한다(블록 214). 일 실시예에서, 토큰은 데이터 포맷터에 직접 전달된다. 다른 실시예에서, 본 설명에서 이후에 보다 상세히 설명되는 바와 같이, 토큰은 통지 관리자를 통해 데이터 포맷터에 전달된다. 예로써, 데이터 저장부는 메모리일 수 있고, 데이터 아이템은 메모리 내 데이터 객체일 수 있다. 또한, 예로써, 토큰은 메모리 위치, 객체, 기록 번호, 파일명, 라인 번호 또는 데이터 아이템에 관련된 기타 식별자를 지칭할 수 있다.

    다수의 포맷터를 개시한 후에, 방법(200)(블록 216)은 포맷터 중 임의의 것이 1) 토큰에 의해 인덱싱되는 데이터 아이템을 판독하게 하고(블록 218), 2) 데이터 아이템 중 하나의 판독을 완료하면, 판독 데이터 아이템과 관련된 토큰을 릴리스하게 한다(블록 220). 데이터 아이템이 더 이상 어떠한 토큰에 의해서도 인덱싱되지 않으면, 이 데이터 아이템은 (예컨대, 데이터 팝플레이터 또는 다른 프로세스에 의해) 데이터 저장부로부터 삭제될 수 있다.

    다수의 2차 스레드보다 높은 실행 우선순위를 가진 1차 스레드를 예시함으로써, 데이터 포맷터는 데이터 저장부에 대한 그들의 액세스가 데이터 획득 시스템 또는 데이터 팝플레이터의 원하는 성능 목표에 영향을 주지 않으면, 때때로 데이터 저장부에 대한 액세스를 다시 허가받을 수 있다. 이와 달리, 2차 스레드의 우선순위가 1차 스레드의 우선순위보다 높게 주어지는 것이 바람직한 경우도 있을 수 있다.

    도 1 및 도 2에 도시된 방법 단계의 순서는 중요하지 않으며, 단계의 병렬 프로세싱을 포함하는 방법 단계의 다른 순서도 가능하다는 것을 알아야 한다.

    도 1 및 도 2에 도시된 방법(100,200)은 컴퓨터 판독가능한 매체에 저장된 컴퓨터 판독가능한 코드에 의해 구현될 수 있다. 컴퓨터 판독가능한 매체는 단일 위치에 또는 네트워크를 통해 분산된 위치에 예컨대, 임의의 개수의 고정 또는 이동가능한 매체(하나 이상의 고정 디스크, RAM, ROM 또는 소형 디스크)나 이들의 조합을 포함할 수 있다. 컴퓨터 판독가능한 코드는 일반적으로 소프트웨어를 포함할 수 있지만, 펌웨어 또는 프로그래밍된 회로도 포함할 수 있다.

    도 3은 도 1 또는 도 2의 방법을 실행함으로써 예시될 수 있는 다수의 스레드(304, 306, 308, 310)를 실행하는 장치(300)의 예시적인 블록도를 도시한다. 프로세싱 시스템(302)은 스레드(304, 306, 308, 310)를 실행하는 적어도 하나의 프로세서 및 운영 체제 예를 포함할 수 있다. 데이터 팝플레이터(312)는 1차 스레드(304)에서 개시되고, 다수의 데이터 포맷터(314, 316, 318, 320, 322)는 다수의 2차 스레드(306, 308, 310)에서 개시된다. 복수의 데이터 포맷터(314, 316, 318)는 2차 스레드(306)에서 개시됨을 알아야 한다.

    일 실시예에서, 1차 및 2차 스레드(304, 306, 308, 310)는 동일한 우선순위도로 예시된다. 다른 실시예에서, 1차 스레드(304)는 다수의 2차 스레드(306, 308, 310)보다 높은 우선순위도로 예시되며, 반대의 경우도 또한 같다.

    도 4는 데이터 팝플레이터(312)와 같은 데이터 팝플레이터에 대한 예시적인 블록도를 도시한다. 데이터 팝플레이터(312)는 1) 데이터 저장부에 데이터 아이템을 기록하고, 2) 데이터 아이템을 인덱싱하는 토큰을 생성하며, 3) 다수의 포맷터(314, 316, 318, 320, 322)에 토큰을 전달하는 코드 부분(400, 402, 404)을 포함 한다.

    도 5는 데이터 포맷터(314)와 같은 데이터 포맷터의 예시적인 블록도를 도시한다. 데이터 포맷터(314)는 1) 토큰을 수신하고, 2) 토큰에 의해 인덱싱되는 데이터 아이템을 판독하며, 3) 토큰을 릴리스하는 코드 부분(500, 502, 504)을 포함한다.

    방법(100,200)은 다수의 애플리케이션에서 사용될 수 있는데, 하나는 회로 테스트 결과와 같은 테스트 결과를 저장하고 포맷하는 것이다. 특정 애플리케이션에서, 테스트 결과는 애질런트 테크놀러지사에 의해 제공되는 93000 SOC 시리즈 테스터에 의해 생성될 수 있다.

    93000 SOC 시리즈 테스터(이후부터 "93000 테스터"로 지칭됨)는 EDL(이벤트 데이터 로깅) 파일(600)로서 알려진 2진 데이터 파일에 테스트 결과 및 이벤트를 로그하는 SOC(System On a Chip) 테스터이다. 도 6을 참조하시오. 이러한 EDL 파일(600) 내의 이벤트는 적어도 하나의 DUT에서의 복수의 테스트 실행에 해당하고, 정해진 순서대로 저장된다. 그러나, EDL 파일(600)에 저장된 이벤트는 기타 프로세스로 "발사(throw)"되지 않으며, 단지 EDL 파일(600)에 로그될 뿐이다. 이러한 애플리케이션에서, 1) 복수의 이벤트(예컨대, EDL 파일(600))에 대응하는 파일은 복수의 이벤트를 검색하도록 분석될(parsed) 수 있고, 이어서 2) 데이터 파일로부터 검색된 이벤트는 복수의 데이터 객체를 생성하고 메모리(610)에 데이터를 저장하는 프로세스(예컨대, 데이터 팝플레이터(608))로 전달될 수 있다.

    일 실시예에서, EDL 파일(600)은 이벤트 관리자(604)에 의해 호출된 방법에 응답하여 분석된다. 도 6에 도시된 바와 같이, 이벤트 관리자(604)는 공유형 라이브러리(602)에 방법을 호출(예컨대, 이벤트 획득, 이벤트 속성 획득)할 수 있고, 이어서 공유형 라이브러리(602)는 EDL 파일(600)로부터 이벤트를 검색하고 이들을 이벤트 관리자(604)에 "발사"할 수 있다. 이어서 이벤트 관리자(604)는 이벤트(606)를 데이터 팝플레이터(608)에 전달한다.

    공유형 라이브러리(602)는 이벤트 관리자(604)에 의해 호출되는 경우에 방법 또는 방법들을 수행하는 데이터 검색 라이브러리(DRL)와 같은 컴파일 코드 형태를 취할 수 있다.

    데이터 팝플레이터(608)는 메모리(610)에 데이터 객체를 저장하고, 이어서 다양한 방법으로 데이터 객체들을 서로 관련시킬 수 있다. 그러나, 일 실시예에서, 이들은 계층적 트리 구조로 서로 관련된다. 다른 데이터 객체의 자식인 데이터 객체들은 그들의 부모 데이터 객체로의 지시자(pointer)를 유지할 수 있지만, 부모 객체는 그들의 모든 자식으로의 지시자 리스트를 유지할 필요가 없다. 본 설명에서 후술되는 바와 같이, 자식으로부터 그들의 부모로의 이들 지시자는 더 이상 필요 없는 데이터 객체를 삭제하는 프로세스를 지원할 수 있다.

    데이터 아이템은 1) 데이터 아이템을 데이터 객체 내에 직접 저장하거나, 2) (예컨대, 지시자 또는 다른 수단에 의해 관련된) 데이터 객체에 관련된 데이터 구조에 데이터 아이템을 저장하는 것을 포함하는 다양한 방법으로 데이터 객체와 관련될 수 있다.

    EDL 파일(600)에서, 데이터는 이벤트의 속성으로서 저장된다. 따라서, 데이 터 팝플레이터(608)가 EDL 파일(600)에서 나온 이벤트(606)를 수용하면, 데이터 팝플레이터(608)는 이벤트의 속성으로부터 데이터 아이템을 추출함으로써 이벤트에 대응하는 데이터 아이템을 추출할 수 있다. 회로 테스트의 경우에, 추출된 데이터는 테스트 결과를 포함할 수 있다.

    데이터 포맷터(614, 616, 618, 620)가 데이터 팝플레이터(608)에 의해 생성되는 데이터 객체 및 데이터 아이템에 액세스할 수 있는 다수의 방법이 있다. 일 실시예에서, 데이터 포맷터(614, 616, 618, 620)는 데이터 객체를 간단히 모니터링할 수 있다. 그러나, 이것은 다수의 메모리 대역폭을 필요로 할 수 있으며, 종종 상당히 효율적이지 않다. 바람직한 실시예에서, 데이터 팝플레이터(608)는 데이터 아이템을 인덱싱하는 토큰을 생성하고, 이어서 이 토큰을 통지 관리자(612)에게 전달한다. 그 다음, 통지 관리자(612)는 토큰 중 임의의 것을 데이터 포맷터(614, 616, 618, 620) 중 임의의 것에 분배한다.

    통지 관리자(612)는 각각의 데이터 객체마다 하나의 토큰만 수신하는 것을 필요로 한다는 것을 알아야 한다. 이어서 통지 관리자(612)는 토큰을 복제하거나 각각의 데이터 포맷터(614, 616, 618, 620)에 브로드캐스팅할 수 있다. 이와 달리, 통지 관리자(612)는 각각의 데이터 포맷터(614, 616, 618, 620)에 대해/로 토큰을 복제하거나 브로드캐스팅할 수 없고, 데이터 객체로 나타내는 데이터 아이템 유형을 예약해온 데이터 포맷터(614, 616, 618, 620) 중 특정한 것에 대해서만/으로만 복제하거나 브로드캐스팅할 수 있다.

    전형적으로, 데이터 팝플레이터(608)의 동작에 데이터 포맷터(614, 616, 618, 620)의 동작 이상의 우선순위가 주어질 수 있다. 데이터 객체 및 데이터가 저장되는 메모리(610)에 대한 다른 제어 액세스를 위해, 데이터 팝플레이터(608)는 데이터 객체 및 데이터 아이템에 직접 액세스할 수 있다. 그러나, 다수의 데이터 포맷터(614, 616, 618, 620)는 데이터 객체 및 데이터에 대한 데이터 포맷터의 액세스를 조정/중재하는 구조화된 인터페이스를 통해 복수의 데이터 객체에 액세스할 수 있다.

    메모리(610)에서 관리되는 데이터 객체의 수를 감소시키기 위해, 데이터 팝플레이터(608)는 데이터 객체의 보류를 모니터링할 수 있고, 데이터 객체를 참조하거나 액세스하는 임의의 객체 또는 프로세스에 의해 더 이상 보류되지 않는 데이터 객체(또는 데이터 아이템)를 삭제할 수 있다. 일 실시예에서, 데이터 객체는 토큰이 데이터 객체를 인덱싱하기 위해 생성되는 경우에 보류되는 것으로 고려된다. 데이터 팝플레이터(608)는 데이터 객체의 생성시에 이러한 토큰을 발생시킬 수 있고, 통지 관리자(612)는 데이터 포맷터(614, 616, 618, 620)에 이러한 토큰의 추가 복제를 생성하고 분배할 수 있다. 데이터 팝플레이터(608)는 데이터 객체의 자식 객체가 생성되는 경우에 객체(또는 인덱싱 토큰)로의 지시자도 생성할 수 있다. 토큰이 생성됨에 따라, 특정 데이터 객체(또는 데이터 아이템)를 참조하는 토큰의 총수는 (데이터 객체 자체 내에서 가능하게) 유지될 수 있다. 이어서 데이터 포맷터(614, 616, 618, 620) 및 다른 프로세스는 데이터 객체에 대한 액세스를 완료하였을 때 데이터 객체를 인덱싱하는 그들의 토큰을 버리도록 프로그래밍될 수 있고, 데이터 팝플레이터(608)는 이러한 모든 토큰이 릴리스되었을 때 데이터 객체를 삭 제할 수 있다. 자식 객체는 부모 객체를 참조하므로, 부모 객체는 자신의 자식이 먼저 삭제될 때까지 삭제될 수 없다.

    도 6에 도시된 데이터 포맷터는 ASCII(American Standard Code for Information Interchange) 포맷터(614), XML(eXtensible Markup Language) 포맷터(616), EDL 포맷터(618) 및/또는 STDF(Standard Test Definition Format) 포맷터(620)와 같은 형태를 포함하는 다양한 형태를 취할 수 있다.

    본 명세서의 교시를 구현하는 데 다양한 프로그래밍 언어, 패러다임 및 하드웨어 플랫폼이 사용될 수 있다. 일 실시예에서, 객체 지향 프로그래밍 기술은 메모리(610)(도 6)에 저장된 데이터 객체를 개발하는 데 이용된다. 다른 실시예에서, 절차상 언어는 데이터 구성요소 및 프로세싱 로직을 개발하는 데 이용된다. 또한, 용어 "릴리스"는 "삭제 표시"를 포함하며, 여기서 운영 체제 또는 다른 프로세스는 이전에 할당된 메모리 또는 저장부가 소유자에 의해 릴리스되어 이용가능해지는 것으로 인식된다는 것을 알아야 한다.

    본 발명에 따르면, 데이터 저장부에 대한 액세스 관리 방법 및 시스템을 제공할 수 있다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈