KR20200049529A - 데이터 처리 시스템에서의 캐시 유지보수 동작 - Google Patents

데이터 처리 시스템에서의 캐시 유지보수 동작 Download PDF

Info

Publication number
KR20200049529A
KR20200049529A KR1020190126652A KR20190126652A KR20200049529A KR 20200049529 A KR20200049529 A KR 20200049529A KR 1020190126652 A KR1020190126652 A KR 1020190126652A KR 20190126652 A KR20190126652 A KR 20190126652A KR 20200049529 A KR20200049529 A KR 20200049529A
Authority
KR
South Korea
Prior art keywords
cache maintenance
response
master device
request
cache
Prior art date
Application number
KR1020190126652A
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 KR20200049529A publication Critical patent/KR20200049529A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

인터컨넥트 시스템과 이 시스템을 작동하는 방법이 개시된다. 마스터 장치는 캐시를 액세스하고 슬레이브 장치는 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는다. 마스터 장치는 캐시에 일시 기억된 데이터 항목에 대해 인터컨넥트 시스템에서 캐시 유지보수 동작을 개시하여, 데이터 스토리지 장치 내부의 데이터 항목의 스토리지에 대해 슬레이브에 의해 조치가 취해지게 할 수 있다. 긴 대기시간의 동작에 대해, 마스터 장치는 데이터 항목과 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 발행할 수 있다. 이에 응답하여, 중간 장치는, 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답의 신호를 보내고 분리된 캐시 유지보수 요구를 슬레이브 장치에 발행한다. 슬레이브 장치는 확인 응답을 중간 장치에 신호를 보내고, 데이터 스토리지 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료시에 완료 응답을 마스터 장치에 신호를 보낸다.

Description

데이터 처리 시스템에서의 캐시 유지보수 동작{CACHE MAINTENANCE OPERATIONS IN A DATA PROCESSING SYSTEM}
본 발명은 데이터 처리에 관한 것이다. 특히, 본 발명은 데이터 처리 시스템에서의 캐시 유지보수 동작에 관한 것이다.
데이터 처리 시스템은, 데이터 항목들에 대해 데이터 처리 연산을 행하는 마스터 장치와, 이들 데이터 항목들에 대한 장기간의(long-term) 스토리지 장치와 관련되는 슬레이브 장치를 구비한다. 마스터 장치는 캐시를 액세스하여 장기간의 스토리지로부터 검색된 데이터 항목들의 복사본을 일시 기억함으로써 장기간의 스토리지 내부의 이들 데이터 항목들을 액세스하는데 필요한 시간을 경감한다. 마스터 장치에 의해 행해진 데이터 처리 연산이 캐시 내부에 유지된 데이터 항목의 변형을 일으킬 때, 결국 이 변형이 장기간의 스토리지 내부의 데이터 항목의 복사본에 대해 행해질 필요가 있다.
본 발명에서 설명하는 일 실시예에서는, 인터컨넥트 시스템으로서, 마스터 장치와, 상기 마스터 장치에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐시와, 중간 장치와, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는 슬레이브 장치와, 상기 마스터 장치, 상기 중간 장치 및 상기 슬레이브 장치를 접속하는 인터컨넥트 회로를 구비하고, 상기 마스터 장치는 상기 캐시에 일시 기억된 데이터 항목에 대해 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시할 수 있고, 상기 캐시 유지보수 동작은 상기 데이터 스토리지 장치 내부의 데이터 항목의 스토리지에 대해 상기 슬레이브 장치에 의해 취해지는 조치를 포함하고, 상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 마스터 장치는 데이터 항목과 상기 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 상기 중간 장치에 발행할 수 있고, 상기 중간장치는, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치가 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 마스터 장치에게 신호를 보내고, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치에 발행하고, 상기 슬레이브 장치는, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여, 상기 확인 응답을 상기 중간 장치에 신호를 보내고, 상기 데이터 스토리 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 마스터 장치에게 신호를 보내는 인터컨넥트 시스템이 제공된다.
본 발명에서 설명하는 일 실시예에서는, 마스터 장치와, 상기 마스터 장치에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐시와, 중간 장치와, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는 슬레이브 장치와, 상기 마스터 장치, 상기 중간 장치 및 상기 슬레이브 장치를 접속하는 인터컨넥트 회로를 구비한 인터컨넥트 시스템의 작동방법으로서, 캐시 내부에 일시 기억된 데이터 항목에 대해, 상기 데이터 스토리지 장치 내부의 데이터 항목의 스토리에 대해 상기 슬레이브 장치에 의해 취해지는 조치를 포함하는, 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을, 상기 마스터 장치로부터 개시하는 단계를 포함하고, 상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 개시단계는, 데이터 항목과 상기 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 상기 마스터 장치로부터 상기 중간 장치에 발행하는 단계를 포함하고, 상기 방법은, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치가 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 중간 장치로부터 상기 마스터 장치에게 신호를 보내는 단계와, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치에 발행하는 단계와, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 슬레이브 장치로부터 상기 중간 장치에게 상기 확인 응답의 신호를 보내는 단계와, 상기 데이터 스토리 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 슬레이브 장치로부터 상기 마스터 장치에게 신호를 보내는 단계를 더 포함하는 인터컨넥트 시스템의 작동방법이 제공된다.
본 발명에서 설명하는 일 실시예에서는, 인터컨넥트 시스템으로서, 마스터 장치 수단과, 상기 마스터 장치 수단에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐싱수단과, 중간 장치 수단과, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 수단을 갖는 슬레이브 장치 수단과, 상기 마스터 장치 수단, 상기 중간 장치 수단 및 상기 슬레이브 장치 수단을 접속하는 인터컨넥트 수단과, 상기 마스터 장치 수단으로부터, 상기 캐싱수단에 일시 기억된 데이터 항목에 대해 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시하는 수단을 구비하고, 상기 캐시 유지보수 동작은 상기 데이터 스토리지 수단 내부의 데이터 항목의 스토리지에 대해 상기 슬레이브 장치 수단에 의해 취해지는 조치를 포함하고, 상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 개시수단은, 데이터 항목과 상기 슬레이브 장치 수단을 지정하는 분리된 캐시 유지보수 요구를 상기 마스터 장치 수단으로부터 상기 중간 장치 수단에 발행하는 수단을 구비하고, 상기 인터컨넥트 시스템은, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치 수단이 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 중간 장치 수단으로부터 상기 마스터 장치 수단에게 신호를 보내는 수단과, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치 수단에 발행하는 수단과, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 슬레이브 장치 수단으로부터 상기 중간 장치 수단에게 상기 확인 응답의 신호를 보내는 수단과, 상기 데이터 스토리 수단 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 슬레이브 장치 수단으로부터 상기 마스터 장치 수단에게 신호를 보내는 수단을 더 구비한 인터컨넥트 시스템이 제공된다.
이하, 다음의 첨부도면에 도시된 실시예를 참조하여 본 발명을 더 설명한다:
도 1은 일 실시예의 인터컨넥트 시스템을 개략적으로 나타낸 것이다.
도 2는 일 실시예의 인터컨넥트 시스템을 개략적으로 나타낸 것이다.
도 3a, 도 3b 및 도 3c는 일 실시예에서 마스터, 중간 장치 및 슬레이브 사시에서 교환된 트랜잭션을 나타낸 신호도이다.
도 4는 일 실시예에서 제1 마스터, 제2 마스터, 홈 노드 및 슬레이브 사이에서 교환된 트랜잭션을 나타낸 신호도이다.
도 5a는 일 실시예에서의 마스터 장치의 일부 구성요소를 개략적으로 나타낸 것이다.
도 5b는 일 실시예에서의 슬레이브 장치의 일부 구성요소를 개략적으로 나타낸 것이다.
도 6은 일 실시예에서의 인터컨넥트 시스템과, 시스템 내부에서 교환되는 다양한 트랜잭션들의 구성을 개략적으로 나타낸 것이다.
도 7은 일 실시예의 방법에 따라 취해지는 스텝들의 시퀀스를 나타낸 흐름도이다.
도 8은 일 실시예의 방법에 따라 취해지는 스텝들의 시퀀스를 나타낸 흐름도이다.
첨부도면을 참조하여 실시예를 설명하기 전에, 이하의 실시예의 설명이 주어진다.
예시적인 일 구성에 따르면, 인터컨넥트 시스템으로서, 마스터 장치와, 상기 마스터 장치에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐시와, 중간 장치와, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는 슬레이브 장치와, 상기 마스터 장치, 상기 중간 장치 및 상기 슬레이브 장치를 접속하는 인터컨넥트 회로를 구비하고, 상기 마스터 장치는 상기 캐시에 일시 기억된 데이터 항목에 대해 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시할 수 있고, 상기 캐시 유지보수 동작은 상기 데이터 스토리지 장치 내부의 데이터 항목의 스토리지에 대해 상기 슬레이브 장치에 의해 취해지는 조치를 포함하고, 상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 마스터 장치는 데이터 항목과 상기 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 상기 중간 장치에 발행할 수 있고, 상기 중간장치는, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치가 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 마스터 장치에게 신호를 보내고, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치에 발행하고, 상기 슬레이브 장치는, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여, 상기 확인 응답을 상기 중간 장치에 신호를 보내고, 상기 데이터 스토리 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 마스터 장치에게 신호를 보내는 인터컨넥트 시스템이 제공된다.
인터컨넥트 시스템의 마스터 장치는 데이터 항목들의 일시 기억하기 위한 캐시를 액세스하고, 캐시 유지보수 동작이 캐시 내부에 기억된 지정된 데이터 항목에 대해 인터컨넥트 시스템 내에서 행해지는 것이 바람직한 다양한 상황이 존재한다. 특히, 마스터 장치에 의해 사용되고 캐시 내부에 일시 기억된 데이터 항목들이 원래 검색되었던 대상인 데이터 항목들에 대한 장기간의 스토리지와 관련된 슬레이브 장치를 인터컨넥트 시스템을 구비하는 경우, 본 발명은 데이터 스토리지 장치 배우의 한 개 이상의 데이터 항목들에 대해 슬레이브 장치에 의해 취해진 조치를 포함하는 캐시 유지보수 동작과 관련된다. 그러나, 본 발명은, 슬레이브 장치와 관련된 데이터 스토리지 장치의 액세스와 관련된 상당한 대기시간이 존재할 뿐만 아니라, 데이터 스토리지 장치 내부의 데이터 항목에 대해 슬레이브 장치에 의해 추해진 조치를 포함하는, 캐시 내부에 일시 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료가 상당한 대기시간을 발생하 수도 있다는 것을 더 인식하고 있다. 이와 관련하여, 마스터 장치가 캐시 내에 기억된 데이터 항목에 대해 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시할 수 있는 것이 유용하지만, 이 동작과 관련된 대기시간으로 인해, 그것의 완료까지 이 캐시 유지보수 동작과 관련되어 유지되는 것은 마스터 장치에게는 부담이 될 수도 있다. 따라서, 본 발명은, "긴 대기시간"으로 분류되는 캐시 유지보수 동작에 대해서는, 마스터 장치가 인터컨넥트 시스템 내부의 중간 장치에게 분리된 캐시 유지보수 요구를 발생함으로써, 인터컨넥트 시스템에서 캐시 유지보수 동작을 개시할 수 있는 것을 제안한다. 이에 따라, 중간 장치는, 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고, 그 자체가 슬레이브 장치에게 분리된 캐시 유지보수 요구(즉, 동일한 종류의 트랜잭션)를 발행한다. 마스터 장치는, 마스터 장치로부터, 이 책임이 취해졌다는 확인응답을 수신한다. 그후, 이것은 이 책임으로부터 마스터 장치를 해제하고, (중간 장치의 명령하에서) 슬레이브 장치가 마스터 장치에게 캐시 유지보수 동작의 완료의 신호를 보내는 것은 캐시 유지보수 동작의 완료시 뿐이다. 캐시 유지보수 동작의 이와 같은 분리는, 마스터 장치에 대한 관리 부담이 줄어들어, 그것의 자원을 다른 곳에 집중시킬 수 있다는 것을 의미한다.
데이터 항목들의 장기간의 스토리지를 위한 데이터 스토리지 장치는 다양한 형태를 취할 수 있고, 캐시 유지보수 동작도 다양한 형태를 취할 수 있지만, 일부 실시예에서는, 데이터 항목들의 장기간의 스토리지를 위한 데이터 스토리 장치는 불휘발성 스토리지를 구비하고, 캐시 유지보수 동작은 데이터 항목이 상기 불휘발성 스토리지에 기록되게 하는 지속적인 캐시 유지보수 동작이고, 지속적인 캐시 유지보수 동작은 긴 대기시간의 동작으로서 사전에 결정된다. 본 발명은 다양한 이유로 인해 이와 같은 맥락에서 특정한 응용이 행해진다. 첫째, 데이터 스토리지 장치가 불휘발성 스토리지를 구비하는 경우, 캐시 내부의 데이터 항목을 불휘발성 스토리지에 기억시키는 캐시 유지보수 동작을 마스터 장치가 행하게 할 수 있는 것이 바람직하다. 특히, 마스터 장치가 이와 같은 동작을 개시할 수 있으며, 이 시점에서는 데이터가 안전하게 기억되었으며 (예를 들어, 정전의 발생시) 데이터가 손실되지 않는다는 것을 마스터 장치가 알고 있기 때문에, 이와 같은 동작이 완료되는 시기를 알 수 있는 것이 유리하다. 따라서, 이와 같은 실시예에 따르면, 마스터 장치가 이와 같은 지속적인 캐시 유지보수 동작이 행해지게 할 수 있으며, 완료시까지 전체 관리에 의해 부담이 지워지지 않게 되는데, 이와 같은 책임은 인터컨넥트 시스템 내부의 중간 장치에 의해 취해진다.
일부 실시예에서, 상기 마스터 장치는 발행된 요구의 요구 세부사항을 기억하는 요구 버퍼를 구비하고, 상기 마스터 장치는 상기 중간 장치로부터의 상기 확인 응답의 수신에 응답하여 상기 분리된 캐시 유지보수 요구의 요구 세부사항의 스토리지를 중지시킨다. 따라서, 중간 장치로부터 확인 응답이 수신될 때까지 마스터 장치가 분리된 캐시 유지보수 요구의 요구 세부사항의 스토리지만을 유지할 필요가 있다는 점에서, 요구 버퍼는, 본 발명의 적용에 의해 관리 부담이 줄어드는 마스터 장치의 한가지 특징을 나타낸다. 이 시점에서, 마스터 장치는 이들 요구 세부사항의 스토리지를 이미 중지시킬 수 있다. 이때, 이와 관련하여 "스토리지의 중지"는 어떤 종류의 명시적인 삭제를 반드시 의미하는 것은 아니며, 이것은 단지 스토리지 구성요소의 요구 세부사항들의 특정한 세트를 무효로 표기하여, (스토리지 공간이 요구될 때) 이것들을 나중에 오버라이트하는 것을 포함해도 된다.
그렇지만, 마스터 장치는 캐시 유지보수 요구에 대한 간단한 추적을 위한 메카니즘을 더 구비하여도 되고, 이에 따라 일부 실시예에서는, 마스터 장치가 요구 카운터를 구비하고, 상기 요구 카운터는 상기 분리된 캐시 유지보수 요구의 상기 중간 장치에 대한 발행에 응답하여 증분되고, 상기 요구 카운터는 상기 슬레이브 장치로부터의 상기 완료 응답의 수신에 응답하여 감분된다(decrement). 따라서, 이것은, 단지 적당한 양의 스토리지를 투입하여, 마스터 장치가 발행한 캐시 유지보수 요구의 상황을 마스터 장치가 추적할 수 있는 메카니즘을 제공한다.
일부 실시예에서, 상기 마스터 장치는 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구를 발행할 수 있고, 상기 중간 장치는 상기 그룹 식별자를 더 포함하는 상기 마스터 장치에 상기 확인 응답의 신호를 보낼 수 있고, 상기 슬레이브 장치는 상기 그룹 식별자를 포함하는 상기 확인 응답의 신호를 보내고 상기 그룹 식별자를 포함하는 상기 완료 응답의 신호를 보낼 수 있다. 그룹 식별자를 포함시키기 위한 분리된 캐시 유지보수 요구의 추가적인 구성과, 이와 같은 그룹 식별자의 확인 응답 및 완료 응답 모두와의 관련된 신호 전송은 마스터 장치가 특정한 캐시 유지보수 동작을 다양한 응용이 존재하는 그것이 행하는 데이터 처리 동작의 특정한 면과 관련시킬 수 있도록 한다.
더구나, 일부 실시예에서, 상기 마스터 장치는 그룹 식별자들의 세트로부터 상기 그룹 식별자를 지정할 수 있고, 상기 마스터 장치는 상기 그룹 식별자들의 세트에 대응하는 요구 카운터들의 세트를 포함하고, 상기 요구 카운터들의 세트의 각각의 요구 카운터는 상기 그룹 식별자들의 세트로부터 대응하는 그룹 식별자를 지정하는 상기 분리된 캐시 유지보수 요구의 상기 중간 장치에 대한 발행에 응답하여 증분되고, 상기 요구 카운터들의 세트의 각각의 요구 카운터는 상기 대응하는 그룹 식별자를 지정하는 상기 슬레이브 장치로부터의 상기 완료 응답의 수신에 응답하여 감분된다. 이에 따라, 그룹 식별자에 대응하는 요구 카운터의 제공에 의해, 마스터 장치는 각각의 식별된 그룹에 대응하는 분리된 캐시 유지보수 요구들의 상황을 추적할 수 있다.
이와 같이 캐시 유지보수 동작을 그룹화하는 접근방법은 다양한 응용이 존재하지만, 일부 실시예에서, 상기 마스터 장치는 적어도 한 개의 제1 스테이지 연산과 적어도 한 개의 제2 스테이지 연산을 포함하는 스테이지(staged) 데이터 처리 연산과 상기 그룹 식별자를 관련시킬 수 있고, 상기 마스터 장치는 상기 적어도 한 개의 제1 스테이지 연산과 관련하여 상기 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구를 발행할 수 있고, 상기 마스터 장치는 상기 슬레이브 장치로부터 상기 그룹 식별자를 포함하는 상기 완료 응답의 수신시까지 상기 적어도 한 개의 제2 스테이지 연산의 개시를 보류할 수 있다. 이에 따라, 마스터 장치는, 제2 스테이지 연산이 개시할 수 있기 전에 계산되어야 하는 캐시 유지보수 동작이 사실상 완료되도록 보장할 수 있다.
스테이지 데이터 처리 연산과 관련한 캐시 유지보수 요구의 완료의 이와 같은 관리는 상기한 요구 카운터들 중에서 적어도 한 개를 이용해도 되며, 따라서, 일부 실시예에서, 상기 마스터 장치는 초기값을 갖는 요구 카운터를 포함하고, 상기 요구 카운터는 상기 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구의 상기 중간 장치에의 발행에 응답하여 증분되고, 상기 요구 카운터는 상기 슬레이브 장치로부터 상기 그룹 식별자를 포함하는 상기 완료 응답의 수신에 응답하여 감분되고, 상기 마스터 장치는 상기 요구 카운터가 상기 초기값으로 복귀할 때까지 상기 적어도 한 개의 제2 스테이지 연산의 개시를 보류할 수 있다. 이에 따라, 제1 스테이지 연산으로부터 제2 스테이지 연산으로의 진행이 요구 카운터의 값에 의존하게 될 수 있다.
스테이지 처리 연산은 다양한 형태를 취할 수 있지만, 일부 실시예에서, 상기 스테이지 데이터 처리 연산은, 특권 레벨 천이, 변환 테이블 갱신, 장벽(barrier) 명령의 실행과, 지정된 명령들의 세트의 실행 중에서 적어도 한 개를 포함한다. 따라서, 이와 같은 예시적인 문맥에서는, 마스터 장치는 예를 들어, 제1 특권 레벨과 관련된 캐시 유지보수 동작이 제2 특권 레벨로의 천이가 발생하기 전에 완료되도록 보장할 수 있다. 마찬가지로, 마스터 장치는, 특정한 변환 테이블 구성(예를 들어, 가상으로부터 물리 어드레스로의 변환 테이블 구성)을 갖는 마스터 장치의 상태와 관련된 캐시 유지보수 동작이 (예를 들어, 새로운 가상머신이 동작을 개시할 수 있도록 하기 위해) 상태 변경이 발생하기 전에 완료하도록 보장할 수 있다. 또한, 마스터 장치는, 특정한 캐시 유지보수 동작을 장벽 명령과 관련시킴으로써, 장벽 명령이 더 폭이 넓은 인터컨넥트 시스템에서 바람직한 효과를 갖도록 보장할 수 있다. 사실상, 모든 세트의 명령들이 캐시 유지보수 동작과 관련되어, 그후 다른 명령이 실행되기 전에 캐시 유지보수 동작이 완료되는 것이 보장된다. 예를 들어, 일부 실시예에서, 상기 마스터 장치는 별개의 물리 또는 가상 스레드들에 대응하는 명령들의 세트들을 실행하도록 구성되고, 상기 지정된 명령들의 세트는 지정된 스레드와 관련된다.
상기 슬레이브 장치는 다양한 방식으로 마스터 장치에 완료 응답의 신호를 보낼 수 있지만, 일부 실시예에서, 상기 슬레이브 장치는 상기 데이터 스토리지 장치에 기억된 데이터 항목에 대한 상기 캐시 유지보수 동작의 완료에 응답하여, 상기 완료 응답의 신호를 상기 중간 장치를 거쳐 상기 마스터 장치에 보낸다. 이에 따라, 슬레이브 장치는 완료 응답의 신호를 곧바로 마스터 장치에 보내거나, 완료 응답의 신호를 중간 장치를 거쳐 마스터 장치에 보낸다는 것을 알 수 있다.
일부 실시예에서는, 예를 들어, 다른 마스터 장치에 속하는 인터컨넥트 시스템에 추가적인 캐시들이 존재하여도 되며, 이들 복수의 캐시들 사이의 캐시 코히런시를 확보하기 위한 조치가 행해진다. 따라서, 일부 실시예에서, 상기 중간 장치는 데이터 항목들에 대해 캐시 코히런시 동작을 행할 수 있고, 상기 중간 장치는, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 확인 응답의 신호를 상기 마스터 장치에 보내기 전에, 또한 상기 분리된 캐시 유지보수 요구의 신호를 상기 슬레이브 장치에 보내기 전에, 상기 분리된 캐시 유지보수 요구에 지정된 데이터 항목에 대해 캐시 코히런시 동작을 행한다. 따라서, 중간 장치는, 분리된 캐시 유지보수 요구를 관리할 때 인터컨넥트 시스템에서 구현되고 있는 캐시 코히런시 프로토콜의 요구가 준수되도록 보장할 수 있다.
일부 실시예에서, 상기 마스터 장치는 데이터 항목에 대한 식별자, 상기 슬레이브 장치에 대한 식별자, 상기 마스터 장치에 대한 식별자와 상기 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구를 발행할 수 있고, 상기 슬레이브 장치는 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 데이터 스토리지 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작을 개시하고, 상기 마스터 장치에 대한 식별자와 상기 그룹 식별자를 기억하고, 상기 데이터 항목에 대한 식별자와 상기 슬레이브 장치에 대한 식별자를 폐기하고, 상기 슬레이브 장치에 의해 발생된 상기 완료 응답은 상기 마스터 장치에 대한 식별자와 상기 그룹 식별자를 포함한다. 이와 같은 구성은, 마스터 장치가 (경로지정을 위해) 식별되고 그룹 식별자(마스터 장치가 완료 응답을 올바르게 처리하기 위해) 식별되도록 요구하는 완료 응답을 마스터 장치에 신호로 보낼 때, 데이터 스토리지 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작이 실제로 행해지고 있는 동안, 다른 정보가 슬레이브 장치에 의해 유지될 필요가 없기 때문에, 슬레이브 장치에 대한 스토리지 부담을 줄인다.
캐시는 시스템 내부의 다양한 위치에, 예를 들어, 마스터 현지에(local), (인터컨넥트의 일부이어도 되는) 중간 장치 현지에, 인터컨넥트 현지에, 또는 메모리 근처에 설치되어도 된다. 따라서, 일부 실시예에서, 상기 캐시는 상기 마스터 장치와 관련된 로컬 캐시이다. 일부 실시예에서, 상기 캐시는 상기 중간 장치와 관련된다. 일부 실시예에서, 상기 캐시는 인터컨넥트 회로와 관련된다.
일반적으로, 슬레이브 장치는, 먼저 확인 응답을 중간 장치에 신호로 보낸 후, 나중에, 캐시 유지보수 동작의 완료시에, 완료 응답의 신호를 마스터 장치에 보냄으로써, 분리된 캐시 유지보수 요구의 수신에 응답하지만, 확인 응답과 완료 응답이 결합되어도 된다. 예를 들어, 슬레이브 장치는, 분리된 캐시 유지보수 요구의 수신시에, 확인 응답과 완료 응답을 중간 장치에 송신되는 한 개의 메시지로서 기회주의적으로 결합해도 된다. 그후, 중간 장치는 완료 응답을 슬레이브 장치를 대신하여 마스터 장치에 전달하는 역할을 한다. 따라서, 일부 실시예에서, 상기 슬레이브 장치는 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 캐시 유지보수 동작에 따라 응답 상태를 평가하고, 상기 슬레이브 장치는 응답 상태의 평가가 참(true)인 것에 응답하여 상기 확인 응답과 상기 완료 응답을 상기 중간 장치에 보내지는 결합된 응답으로서 결합한다. 응답 상태는, 시스템 요구에 따라, 즉 어떤 상태에서 슬레이브 장치가 확인 응답과 완료 응답을 결합해야 하는지에 따라 다양하게 정의될 수 있지만, 일부 실시예에서, 상기 슬레이브 장치는, 캐시 유지보수 동작의 추정된 완료 대기시간이 대기시간 임계값보다 작을 때, 상기 응답 상태가 참인 것으로 평가하도록 구성된다. 따라서, 슬레이브 장치는 지정된 캐시 유지보수 동작의 대기시간을 판단하도록 구성될 수 있으며, 이 대기시간이 허용할 수 있을 정도로 낮을 때, 캐시 유지보수 동작이 완료되면, 슬레이브 장치가 결합된 분리된 캐시 유지보수 요구와 함께 분리된 캐시 유지보수 요구에 응답할 수 있다.
일부 실시예에서, 상기 인터컨넥트 시스템은 상기 슬레이브 장치와 관련된 휘발성 스토리지를 더 구비하고, 지속적인 캐시 유지보수 동작은 데이터 항목이 상기 휘발성 스토리지로부터 불휘발성 스토리지로 복사되게 하도록 구성된다.
예시적인 구성에 따르면, 마스터 장치와, 상기 마스터 장치에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐시와, 중간 장치와, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는 슬레이브 장치와, 상기 마스터 장치, 상기 중간 장치 및 상기 슬레이브 장치를 접속하는 인터컨넥트 회로를 구비한 인터컨넥트 시스템의 작동방법으로서, 캐시 내부에 일시 기억된 데이터 항목에 대해, 상기 데이터 스토리지 장치 내부의 데이터 항목의 스토리에 대해 상기 슬레이브 장치에 의해 취해지는 조치를 포함하는, 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을, 상기 마스터 장치로부터 개시하는 단계를 포함하고, 상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 개시단계는, 데이터 항목과 상기 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 상기 마스터 장치로부터 상기 중간 장치에 발행하는 단계를 포함하고, 상기 방법은, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치가 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 중간 장치로부터 상기 마스터 장치에게 신호를 보내는 단계와, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치에 발행하는 단계와, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 슬레이브 장치로부터 상기 중간 장치에게 상기 확인 응답의 신호를 보내는 단계와, 상기 데이터 스토리 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 슬레이브 장치로부터 상기 마스터 장치에게 신호를 보내는 단계를 더 포함하는 인터컨넥트 시스템의 작동방법이 제공된다.
예시적인 구성에 따르면, 인터컨넥트 시스템으로서, 마스터 장치 수단과, 상기 마스터 장치 수단에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐싱수단과, 중간 장치 수단과, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 수단을 갖는 슬레이브 장치 수단과, 상기 마스터 장치 수단, 상기 중간 장치 수단 및 상기 슬레이브 장치 수단을 접속하는 인터컨넥트 수단과, 상기 마스터 장치 수단으로부터, 상기 캐싱수단에 일시 기억된 데이터 항목에 대해 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시하는 수단을 구비하고, 상기 캐시 유지보수 동작은 상기 데이터 스토리지 수단 내부의 데이터 항목의 스토리지에 대해 상기 슬레이브 장치 수단에 의해 취해지는 조치를 포함하고, 상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 개시수단은, 데이터 항목과 상기 슬레이브 장치 수단을 지정하는 분리된 캐시 유지보수 요구를 상기 마스터 장치 수단으로부터 상기 중간 장치 수단에 발행하는 수단을 구비하고, 상기 인터컨넥트 시스템은, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치 수단이 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 중간 장치 수단으로부터 상기 마스터 장치 수단에게 신호를 보내는 수단과, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치 수단에 발행하는 수단과, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 슬레이브 장치 수단으로부터 상기 중간 장치 수단에게 상기 확인 응답의 신호를 보내는 수단과, 상기 데이터 스토리 수단 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 슬레이브 장치 수단으로부터 상기 마스터 장치 수단에게 신호를 보내는 수단을 더 구비한 인터컨넥트 시스템이 제공된다.
이하, 첨부도면을 참조하여 바람직한 실시예를 설명한다.
도 1은 일 실시예의 데이터 처리 시스템(100)을 개략적으로 나타낸 것이다. 이 시스템은, 인터컨넥트(104)를 사용하여 함께 접속되는, 마스터 장치(101), 중간 장치(102) 및 슬레이브 장치(103)를 구비한다. 도 1에는, 마스터 장치(101)가 로컬 캐시(106)를 구비하고 슬레이브 장치(103)가 데이터 스토리지 장치(105)에 접속된 것이 더 도시되어 있다. 따라서, 데이터 처리 연산을 행할 때, 마스터 장치(101)는 (슬레이브 장치(103)와의 상호작용을 통해) 데이터 스토리지(105)에 기억된 데이터 항목을 액세스하고, 이들의 복사본이 그것의 로컬 캐시(106)에 기억되게 한다. 마스터 장치(101)가 로컬 캐시(106)에 기억된 지정된 데이터 항목의 복사본에 대해 데이터 처리 연산을 완료하면, 로컬 복사본이 원본 복사본에 대해 수정되었을 때, 이와 같은 갱신을 데이터 스토리지(150)에 다시 기록하는 것이 필요하다. 더구나, 마스터 장치(101)는 그것의 로컬 캐시(106)에 기억된 데이터 항목들에 대해 캐시 유지보수 동작을 개시할 수 있는데, 이것은 인터컨넥트(104)를 거쳐 데이터 처리 시스템(100)의 다른 구성요소들, 특히 데이터 스토리지(105)와의 상호작용을 필요로 한다.
도 2는 일 실시예에서의 데이터 처리 시스템(200)을 개략적으로 나타낸 것이다. 데이터 처리 시스템(200)은, 처리 소자 201 및 207, 인터컨넥트(202), 메모리 콘트롤러(203), 휘발성 메모리(210) 및 불휘발성 메모리(204)를 구비하는 것으로 볼 수 있다. 처리 소자 201, 인터컨넥트(202) 및 메모리 콘트롤러(203)는 도 2에서는 공유 경로(205)를 사용하여 함께 접속되는 것으로 도시되어 있다. 본 발명이 속한 기술분야의 당업자는, 데이터 처리 시스템의 다양한 구성요소들을 함께 접속하기 위해 데이터 처리 시스템에 설치된 "인터컨넥트"가 그 자체가 상당한 자립성을 포함하고, 이 때문에, 도 2에서는, 처리 소자 201이 "요구 노드"로 라벨이 붙여져 있고 메모리 콘트롤러가 "슬레이브 노드"로 라벨이 붙여져 있는 것과 같은 방식으로, 시스템 내에서 "노드"로 표시된다는 것을 알 수 있다. 더구나, 도시된 것과 같이, 인터컨넥트(202)와 관련된 캐시(209)도 존재한다. 사실상 공유 경로(205)를 더 포함하는 것으로 고려되는 인터컨넥트(202)는 "홈 노드"로 더 라벨이 붙여진다. 따라서, 인터컨넥트는, 요구 노드 201 및 슬레이브 노드(203)가 상호작용할 때 거치는 시스템 내부의 중간 장치를 표시한다. 도 2에는, 처리 소자 201이 로컬 캐시 206을 구비하고 처리 소자 207이 로컬 캐시 208을 구비하는 것으로 더 도시되어 있다. 동작시에, 그것의 데이터 처리 연산을 행할 때, 처리 소자 201은 인터컨넥트(202)/공유 경로(205)를 거쳐 메모리 콘트롤러(203)에 트랜잭션을 발행하여, 휘발성 메모리(210) 및/또는 불휘발성 메모리(204)에서 특정한 데이터 항목들이 검색되어 그것의 로컬 캐시(206)에 임시 기억되게 한다. 이것과 병렬로, 처리 소자 207은 인터컨넥트(202)/공유 경로(205)를 거쳐 메모리 콘트롤러(203)에 트랜잭션을 발행하여, 휘발성 메모리(210) 및/또는 불휘발성 메모리(204)에서 특정한 데이터 항목들이 검색되어 그것의 로컬 캐시(208)에 임시 기억되게 한다. 복사된 데이터 항목들의 코히런시를 유지하도록 보장하기 위해, 인터컨넥트는 (캐시 코히런시 회로(211)를 사용하여) 정의된 캐시 코히런시 프로토콜을 관리하고, 필요에 따라 캐시 코히런시 동작을 행한다. 더구나, 처리 소자 201 및 처리 소자 207은 각각 시스템의 캐시들 중에서 한 개에 기억된 데이터 항목들에 대해 캐시 유지보수 동작을 개시할 수 있으며, 인터컨넥트(202)/공유 경로(205)를 거쳐 트랜잭션을 발행함으로써 이것을 행한다. 예를 들어, 처리 소자 201은, 캐시 206에 기억된 데이터 항목의 수정된 복사본을 불휘발성 메모리(204)로 푸시하는 캐시 유지보수 동작의 일부로서 그것의 로컬 캐시(206)에 일시 기억된 데이터가 사용되게 하는 캐시 유지보수 동작을 발행할 수 있다. 또 다른 캐시 유지보수 동작은, 캐시 209에 기억된 데이터 항목의 수정된 복사본을 불휘발성 메모리(204)에 푸시하여, 인터컨넥트 캐시(209)에 일시 기억된 데이터 항목이 캐시 유지보수 동작의 일부로서 사용되게 할 수 있다. 이와 같은 동작은, 본 발명에서는 "지속적인 캐시 유지보수 동작"으로 부르며, 이와 같은 지속적인 캐시 유지보수 동작을 행할 수 있다는 것은, 이 동작이 완료한 것을 알게 되면, 중간의 정전 발생시에도 관련된 데이터가 손실되지 않는다는 의미에서 이 관련된 데이터가 "안전"하기 때문에, 처리 소자들 201 및 207에 유리하다. 이하에 뒤따르는 첨부도면들에 대해 더욱 상세하게 설명하는 것과 같이, 도 2의 처리 소자 201 및 207은(또는 사실상 도 1의 마스터 장치(101)는, 인터컨넥트를 거친 특정한 트랜잭션들의 발행에 의해 캐시 유지보수 동작이 행해지게 할 수 있다.
도 3a는 일 실시예에서 데이터 처리 시스템 내부의 구성요소들 사이에서의 특정한 트랜잭션들의 교환을 나타낸 것이다. 도 3a에 도시된 처리는, 시스템 내부의 마스터 장치(도 1의 마스터 장치(101) 또는 도 2의 처리 소자 201 등)가 시스템 내부의 중간 장치에게 분리된 캐시 유지보수 동작(CMO) 트랜잭션을 발행할 때 개시한다. 따라서, 도 2를 참조하면, 인터컨넥트 그 자체가 중간 장치를 표시하는 것으로 알 수 있다. 이에 응답하여, 중간 장치 그 자체는 그 자신의 분리된 CMO 트랜잭션을 시스템 내부의 슬레이브 장치에게 발행하고, 확인응답 트랜잭션을 마스터 장치에게 더 발행한다. 그후, 중간 장치는 시스템 내부의 슬레이브 장치와 관련된 데이터 스토리지 장치에 대한 캐시 유지보수 동작의 완료를 책임지며, 확인응답 트랜잭션의 수신시에, 마스터 장치는 캐시 유지보수 동작이 완료했다는 최종 표시 만을 대기할 필요가 있다. 중간 장치로부터의 분리된 CMO 트랜잭션의 수신에 응답하여, 슬레이브 장치는 확인응답 트랜잭션을 중간 장치에 발행하고, 캐시 유지보수 동작 전체를 행하면, 슬레이브 장치는 완료 트랜잭션을 마스터 장치에 발행한다. 이와 같은 완료 트랜잭션의 수신시, 마스터 장치는 그것이 개시한 캐시 유지보수 동작이 전체가 완료한 것을 알게 된다. 도 3b는 도 3a에 도시된 트랜잭션들의 시퀀스의 변형예를 나타낸 것으로, 슬레이브 장치에 의해 발행된 완료 응답 트랜잭션이 마스터 장치를 향할 필요가 없으며, 이 트랜잭션은 처음부터 슬레이브 장치와 중간 장치 사이의 트랜잭션일 수 있으며, 그후 이에 응답하여 중간 장치는 (기본적으로 동일한) 완료 트랜잭션을 마스터 장치에 전송할 수 있는 것을 나타내고 있다. 따라서, 마스터 장치는, 슬레이브 장치로부터 곧바로 또는 중간 장치를 거쳐 캐시 유지보수 동작의 완료의 통지를 받아도 된다는 것을 알 수 있다. 도 3c는 도 3a 및 도 3b에 나타낸 트랜잭션들의 시퀀스의 또 다른 변형에를 나타낸 것으로, 슬레이브 장치가 확인응답 트랜잭션과 완료 트랜잭션을 결합된 "확인응답 및 완료" 트랜잭션으로 결합할 수 있는 것을 나타내고 있다. 이때, 이것은 분리된 CMO 트랜잭션의 수신에 응답하는 "표준" 거동이 아니라는 점에 주목하기 바라며, 이 표준 거동에 따르면 슬레이브 장치가 일반적으로 확인응답 트랜잭션으로 즉시 응답한 후 나중에 긴 대기시간의 캐시 유지보수 동작이 완료할 때 완료 트랜잭션으로 응답한다. 그럼에도 불구하고, 도 3c의 예에서, 슬레이브 장치는 필요한 동작을 기회주의적으로 평가하고, 특정한 상태하에서, 도시된 것과 같이 확인응답 트랜잭션과 완료 트랜잭션을 결합된 "확인응답 및 완료" 트랜잭션으로 결합한다. 예를 들어, 슬레이브 장치는, 캐시 유지보수 동작의 추정된 완료 대기시간이 정의된 대기시간 임게값보다 작을 때 이것을 행해도 된다. 즉, 분리된 CMO 트랜잭션이 발행되었더라도(이것은 발행하자 필요한 캐시 유지보수 동작이 "긴 대기시간"을 가질 것으로 예측했다는 것을 시사한다), 슬레이브 장치는, 예를 들어, 특정한 동작이 완료하는데 얼마나 오래 걸릴 것으로 예상되는지에 대한 정보를 참조하여 이것을 스스로 평가할 수 있으며, 동작이 정의된 대기시간 임계값 내에 완료할 것으로 예상된다고 슬레이브 장치가 판정할 때, 도시된 것과 같이 확인응답 트랜잭션과 완료 트랜잭션을 결합된 "확인응답 및 완료" 트랜잭션으로 결합할 수 있다. 그후 중간 장치가 별개의 확인응답을 수신할 때보다 나중에 확인응답(결합된 "확인응답 및 완료" 트랜잭션의 일부)을 수신하더라도, 분리된 CMO 트랜잭션에 응답하여 (2개 대신에) 단지 한 개의 트랜잭션이 슬레이브 장치에 의해 발행되므로, 인터컨넥트를 거쳐 전달되는 메시지의 수를 줄이고 (적어도 이와 관련하여) 인터컨넥트 효율을 증가시킨다.
도 4는 일 실시예의 데이터 처리 시스템의 구성요소들 사이에서 교환되는 일부 예시적인 트랜잭션을 나타낸 것이다. 이때, 도 3a 및 도 3b의 예시에 대한 구별은. 2개의 마스터 장치인 마스터(A) 및 마스터(B)가 도시되어 있어, 데이터 처리 시스템이 (적어도 2개의) 마스터 장치를 구비하고 있다는 것을 나타낸다는 것이다. 각각의 이들 마스터 장치는 데이터 항목의 일시 기억을 위한 로컬 캐시를 구비한다. 따라서, 데이터 처리 시스템은, 시스템의 홈 노드에 의해(본 실시예에서는 인터컨넥트 회로에 의해) 관리되는 캐시 코히런시 프로토콜을 구현하여, 시스템의 데이터 항목으로 이루어진 임시 복사본들 사이의 올바른 코히런시가 유지되도록 보장한다. 이와 관련하여, 도 4는, 제1 분리된 CMO 트랜잭션이 마스터(A)로부터 홈 노드로 전달되면, 홈 노드는 먼저 시스템 내부의 마스터(B)의 로컬 캐시에 대해 스눕(snoop)이 행하게 하고, 마스터(B)는 스눕 응답으로 응답한다. 도 4의 예시를 위해, 이와 같은 스눕 응답은, 예를 들어, 홈 노드가 지정된 데이터 항목에 대해 요구된 캐시 유지보수 동작을 계속할 수 있다는 것을 마스터(B)가 표시하기 전에, 먼저 코히런시 프로토콜이 준수되도록 보장하기 위해, 해당 데이터 항목이 마스터(B)의 로컬 캐시에 존재하지 않거나 추가적인 스텝들이 행해지는 것을 포함한다는 것을 나타내는 다양한 형태를 취해도 된다. 행해지는 캐시 코히런시 스텝들의 특정한 속성이 무엇이든지, 홈 노드가 분리된 CMO에 의해 요구된 캐시 코히런시 동작을 계속한다는 표시를 받으면, 완료 트랜잭션을 마스터(A)에게 발행하고 그 자신의 분리된 CMO 트랜잭션을 슬레이브 장치에 발행한다. 이에 응답하여, 슬레이브 장치는 완료 트랜잭션을 홈 노드에 발행한 후, 본 실시예에서는 도 2에 도시된 것과 같은 불휘발성 메모리인, 슬레이브와 관련된 데이터 스토리지 내부의 지정된 데이터 항목(들)에 대해 필요한 동작을 행하는 것을 진행한다. 이 동작이 완료되어, 예를 들어, 수정된 버전의 데이터 항목이 다시 불휘발성 메모리에 기록되게 하면, 슬레이브는, 데이터 항목이 이제는 불휘발성 메모리 내부에서 지속적으로 되었다는 것을 나타내는 "지속" 트랜잭션을 마스터(A)에게 발행한다.
도 5a는 일 실시예에서의 마스터 장치(300)의 구성을 더욱 상세히 개략적으로 나타낸 것이다. 마스터 장치(300)는, 메모리에서 검색된 데이터 항목들의 복사본을 기억하는 로컬 캐시(302)의 제공에 의해 지원되는 데이터 연산을 행하는 처리 소자(301)를 구비한다. 마스터 장치(300)는, 트랜잭션 테이블(304)과 요구 카운터들의 세트(305)를 포함하는 것으로 도시된 트랜잭션 회로(303)를 더 구비한다. 트랜잭션 회로(303)는 발행된 요구(트랜잭션)가 인터컨넥트에 전달되게 하고 인터컨넥트로부터 요구 응답(트랜잭션)을 수신한다. 이들 발행된 요구와 이에 대응하는 요구 응답을 관리하기 위해, 트랜잭션 회로(303)는, 엔트리들이 트랜잭션에 관련되는 트랜잭션 ID(306)와 기타 속성들(307)을 나타내는 트랜잭션 테이블(304)을 이용한다. 따라서, 처리 소자(301)가 캐시(3402)에 기억된 데이터 항목에 대해 캐시 유지보수 동작이 행해지게 할 필요가 있을 때, 트랜잭션 회로(303)는 대응하는 트랜잭션이 인터컨넥트에 발행되게 한다. (트랜잭션 ID(306)에 의해 식별되는) 트랜잭션의 레코드는, 필요한 추가적인 속성들(307)과 함께, 트랜잭션 테이블(304)의 엔트리에 기억된다. 더구나, 요구 카운터가 증분되어, (캐시 유지보수 동작에 대한) 요구가 발행되었고 보류중이라는 것을 나타낸다. 요구 카운터들의 세트가 도 5의 예에서 제공되는데, 이들 각각은 그룹 ID와 관련되고 선택된 그룹 ID가 그것이 발행하는 트랜잭션과 마스터 장치(300)에 의해 관련될 수 있다. 이전의 도면에 대해 전술한 것과 같이, 처리 소자(301)가 분리된 캐시 유지보수 동작(CMO)이 발행되게 할 때, 마스터 장치(300)는 이에 응답하여 2개의 트랜잭션이 반환되는 것을 예측할 수 있다. 이들 중에서 첫 번째는 분리된 CMO가 발행되는 중간 장치로부터 발생되고, 두 번째는 데이터 스토리지 장치를 제어하는 슬레이브 장치로부터 발생된다. 중간 장치로부터 수신된 확인 응답에 대한 응답으로, 마스터 장치(300)의 트랜잭션 회로(303)는, 중간 장치가 캐시 유지보수 동작의 완료를 책임지고 있으며 트랜잭션 테이블(304) 내부의 대응하는 엔트리가 더 이상 유지될 필요가 없다는 것을 알고 있다. 도 5a의 예에서, 트랜잭션 회로(303)는, 트랜잭션 테이블(304) 내의 각각의 엔트리와 관련되어 기억되고, 중간 장치로부터의 확인응답 트랜잭션의 수신시 엔트리를 무효로 표기하여, 이 엔트리가 트랜잭션 회로(303)에 의한 진행중인 트랜잭션의 처리에 의해 필요할 때 이 엔트리가 오버라이트될 수 있다는 것을 의미하는 유효성 비트(308)를 사용하여 이것을 행한다. 그럼에도 불구하고, 마스터(300)는, 요구 카운터들(3060 중에서 증분된 요구 카운터에 의해 시스템 내부에서 캐시 유지보수 동작이 여전히 보류중이라는 정보를 유지한다. 이때, 도 5의 예는 요구 카운터들의 세트(305)를 나타내고 있지만, 트랜잭션 회로(303)의 동작을 지원하기 위해 단지 한 개의 요구 카운터가 필요한 예도 존재할 수 있다. 마스터 장치(300)의 트랜잭션 회로(303)가 슬레이브로부터 완료 트랜잭션을 수신하면, 트랜잭션은 요구 카운터를 감분한 후, 처리 소자(301)는, 캐시(302) 내부의 데이터 항목이 복사본이 다시 불휘발성 메모리에 기록되게 하는 요구된 캐시 유지보수 동작, 예를 들어, 지속적인 캐시 유지보수 동작이 행해졌다는 것을 알고 있다. 한 개가 트랜잭션과 관련되는 그룹 ID들의 세트와 이에 대응하는 요구 카운터들의 세트의 사용에 의해, 마스터 장치는 트랜잭션들의 그룹의 완료를 추적할 수 있다. 이의 대안으로, 요구 카운터들(305)은 동등한 기능을 행하는 비트 벡터들의 세트에 의해 대체될 수도 있는데, 이때 비트 벡터는 예를 들어 각각의 그룹 ID와 관련되고, 이에 따라 비트 벡터 내부의 비트들의 설정 및 미설정을 이용하여 트랜잭션들의 그룹의 완료를 추적할 수 있다.
도 5b는 일 실시예의 슬레이브 장치(400)를 개략적으로 나타낸 것이다. 슬레이브 장치(400)는, 그룹 ID(402)와, 슬레이브 장치(400)와 관련된 데이터 스토리지 장치에 대해 행할 기록의 표시(403)를 나타내는 엔트리들이 포함된 트랜잭션 테이블(401)을 포함하는 것으로 도시되어 있다. 분리된 캐시 유지보수 동작 트랜잭션의 수신시에, 슬레이브 장치(400)는 테이블(401) 내부에 엔트리를 생성하여, 기록 그 자체(403)와 그것의 관련된 그룹 ID(402)를 추적한다. 테이블(401)은 이와 같은 분리된 캐시 유지보수 동작을 발생한 마스터 장치의 표시(404)를 더 포함한다. 이것은 분리된 캐시 유지보수 동작 트랜잭션의 일부로서 중간 장치로부터 슬레이브 장치로 전송된다. 따라서, 데이터 스토리지 장치에 대한 동작의 완료시에, 슬레이브 장치(400)는, 트랜잭션 테이블(401) 내부의 대응하는 엔트리에 근거하여 마스터 장치에 전송할 트랜잭션을 구성할 수 있다. 관련된 마스터 장치가 복수의 요구 카운터들을 포함하는 이 예에서, 트랜잭션은, 이들 요구 카운터들 중에서 어느 것이 이 완료 트랜잭션의 수신시에 감분되어야 하는지를 나타내는 그룹 ID를 포함한다.
그룹 ID는 분리된 CMO 트랜잭션을 발행할 때 마스터 장치(300)에 의해 다양하게 이용될 수 있다. 한가지 이용은, 스테이지 데이터 처리 연산, 즉 적어도 별개의 제1 부분 및 제2 부분을 갖고, 제1 부분이 제2 부분 앞에 위치하는 연산과 관련된다. 더구나, 마스터 장치가 제1 부분과 관련하여 다양한 캐시 유지보수 동작이 행해지는 것을 필요로 하는 경우, 선택된 그룹 ID를 이용하여, 제1 부분과 관련된 이들 캐시 유지보수 동작에 라벨을 붙이고 그룹으로 만들 수 있다. 따라서, 지정된 그룹 ID를 갖는 분리된 CMO들의 완료를 추적하는 전술한 기술은, 스테이지 데이터 처리 연산의 제1 부분과 관련된 분리된 CMO의 완료를 추적하는 기능을 마스터 장치에게 제공한다. 그후, 적절한 경우에는, 선택된 그룹 ID를 갖는 모든 분리된 CMO들이 완료되었다는 것을 알 때까지 스테이지 데이터 처리 연산의 제2 부분을 개시하지 않을 수 있다. 예를 들어, 마스터 장치에서 특권 레벨 천이가 의도되지만, 천이를 발생할 수 있기 전에 다수의 CMO들이 완료되어야 할 때(예를 들어, 이전의 특권 레벨에서 사용된 캐시에 기억된 데이터가 불휘발성 메모리에서 지속적이 될 때), 이것은 마스터 장치가, 특권 레벨 천이를 행하기 전에 이들 CMO들이 완료되도록 보장할 수 있게 할 수 있다. 마찬가지로, 변환 테이블을 갱신하려고 할 때(예를 들어, 한 개의 가상머신에 속하는 어드레스 변환 테이블을 다른 가상머신에 대한 콘텐츠를 유지하도록 변경하려고 할 때, 이들 2개 사이의 명확한 보호가 분리된 CMO를 라벨링하는 그룹 ID를 사용하여 지원될 수 있다. 장벽 명령의 사용 또는 다른 명령들의 그룹화는, 명령 실행이 진행하기 전에 특정한 캐시 유지보수 동작이 완료하도록 보장하기 위해 분리된 CMO들을 라벨링하는 그룹 ID의 사용에 의해 지원될 수도 있다. 마스터 장치는 별개의 물리 또는 가상 스레드에 대응하는 명령들의 세트를 실행하도록 구성되고, 그후 지정된 명령들의 세트가 지정된 스레드와 관련될 수 있다.
도 5b는, 슬레이브 장치(400)가 동작 대기시간 평가회로(405)와 대기시간 임계값을 위한 스토리지(406)를 구비하는 것으로 더 도시하고 있다. 분리된 CMO 트랜잭션의 수신시에, 동작 대기시간 평가회로(405)는 (예를 들어, 특정한 동작이 완료하는데 얼마나 오래 걸릴 것으로 예측되는지에 대한 기억된 정보를 참조하여) 요구된 동작에 대한 예측된 대기시간을 결정할 수 있다. 이와 같은 예측된 대기시간이 정의된 (대기시간 임계값 스토리지(406) 내부에 기억된) 정의된 임계값보다 작으면, 슬레이브 장치는 도 3c를 참조하여 전술한 것과 같이 확인응답 트랜잭션과 완료 트랜잭션을 결합된 "확인응답 및 완료" 트랜잭션으로 결합한다.
도 6은 일 실시예에서의 마스터(500), 인터컨넥트(501) 및 슬레이브(502)를 개략적으로 나타낸 것이다. 특히, 도 6은 마스터(500), 인터컨넥트(501) 및 슬레이브(502) 사이에서 트랜잭션을 형성하는데 사용되는 정보의 특정한 항목들을 나타낸 것이다. 본 실시예에서, 슬레이브(502)는 불휘발성 메모리 장치에 대한 액세스를 제어한다. 따라서, 마스터 장치(500)는 트랜잭션 PCMO_SEP의 발행에 의해 지속적인 캐시 유지보수 동작이 행해지게 할 수 있다. 이와 같은 트랜잭션은 소스에 관련되는 정보(마스터(500), 트랜잭션 ID 및 그룹 ID)를 전달한다. 이 PCMO_SEP 트랜잭션의 수신시, 인터컨넥트(501)는 소스 ID 정보를 이용하여 반환 노드 ID(즉, 슬레이브가 동작이 완료되었다는 것을 궁극적으로 표시해야 하는 마스터의 아이덴티티)를 결정하고 그룹 ID를 변경하지 않은 채 전송한다. 또한, 마스터(500)로부터 PCMO_SEP 트랜잭션의 수신시에 인터컨넥트(501)는, PCMO_SEP 트랜잭션의 소스 ID가 "완료" 트랜잭션의 타겟 ID를 제공하고, (마찬가지로 PCMO_SEP 트랜잭션의 타겟 ID에 의해 주어지는) 인터컨넥트(501)의 아이덴티티가 소스 ID를 제공하며, 인터컨넥트가 그 자신의 트랜잭션 ID를 제공하는 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 "완료" 응답을 구성한다. 이와 같은 완료 트랜잭션은 마스터(500)에 의해 수신된다.
그후, 인터컨넥트(501)는 인터컨넥트(501)를 소스로서 표시하는 그 자신의 트랜잭션 ID와 슬레이브 장치(502)에 발행되는 그 자신의 PCMO_SEP 트랜잭션을 구성한다. 이 트랜잭션의 수신시에, 슬레이브(502)는 인터컨넥트 회로(501)에 반환되는 완료 트랜잭션을 구성하고, PCMO_SEP 트랜잭션의 소스 ID는 타겟 식별자로서 사용되고, (마찬가지로 PCMO_SEP 트랜잭션의 타겟 ID인) 슬레이브 장치 자신의 식별자는 소스 ID를 제공하고, 슬레이브 장치는 인터컨넥트(501)에 의해 주어진 트랜잭션 식별자를 반환한다. 그후, 이 완료 트랜잭션은 인터컨넥트(501)에 의해 수신된다.
(예를 들어, 데이터 항목 또는 데이터 항목들의 세트를 불휘발성 메모리에 다시 기록하는) 요구된 캐시 유지보수 동작의 완료시, 슬레이브 장치(502)는 마스터 장치(500)에 전소한 "지속" 트랜잭션을 구성한다. 수신된 PCMO_SEP 트랜잭션의 복귀 노드 ID는 지속 트랜잭션에 대한 타겟 ID를 제공하고, 슬레이브의 아이덴티티는 소스 식별자를 제공하고, PCMO_SEP 트랜잭션의 일부로서 수신된 그룹 식별자는 지속 트랜잭션의 일부로서 반환된다. 이와 같은 지속 트랜잭션은 마스터(500)에 의해 수신된다. 이때, 마스터는 응답을 지속 그룹과 관련시키는 것만 필요하고 응답이 되는 정확한 원본 트랜잭션을 알 필요가 없기 때문에, 슬레이브는 "지속" 응답에 트랜잭션 식별자를 포함시키지 않는다.
도 7은 일 실시예에서 인터컨넥트 내부에서 행해지는 스텝들의 시퀀스를 나타낸 것이다. 이 흐름은 스텝 600에서 개시하는 것으로 생각할 수 있는데, 이 스텝에서는 긴 대기시간의 캐시 유지보수 동작이 필요한지 아닌지가 판정된다. 이 스텝에서는 이것이 참이 될 때까지 흐름이 대기한다. 이와 같은 캐시 유지보수 동작이 필요할 때, 스텝 601에서, 마스터 장치는 이와 같은 필요한 캐시 유지보수 동작을 지정하는 시스템 내부의 중간 장치에 분리된 캐시 유지보수 요구를 발행한다. 그후, 스텝 602에서, 중간 장치는 분리된 캐시 유지보수 요구에 대해 확인응답을 마스터에 발행하고, 더구나 스텝 603에서 중간 장치는 그 자신의 분리된 캐시 유지보수 요구를 시스템 내부의 슬레이브 장치에 발행한다. 스텝 604에서, 슬레이브 장치는 분리된 캐시 유지보수 요구에 대한 확인응답을 중간 장치에 발행하고 요구된 연산을 개시한다. 스텝 605에서, 캐시 유지보수 동작이 완료하였지 여부를 판정하고, 완료하지 않는 동안, 이 스텝에서 흐름이 대기한다. 스텝 605에서 캐시 유지보수 동작이 완료된 것으로 판정되면, 스텝 606으로 흐름이 진행하여, 슬레이브 장치는 분리된 캐시 유지보수 완료신호를 원래의 요구가 발생되었던 마스터 장치에게 발행한다. 그후, 스텝 600으로 흐름이 복귀한다.
도 8은 일 실시예의 방법에 따라 취해지는 스텝들의 시퀀스를 나타낸 것이다. 스텝 700에서 흐름이 개시하며, 이 스텝에서 시스템의 마스터 모드가 시스템 내부의 홈 노드에 PCMO_SEP 트랜잭션을 발행한다. 그후, 스텝 701에서, 홈 노드는, 트랜잭션에서 지정된 데이터 항목(들)에 대해 스눕 조치가 필요한지 아닌지 판정한다. 필요한 경우에는, 스텝 702로 흐름이 진행하여, 나머지 스텝들을 계속하기 전에 홈 노드가 이와 같은 스눕 조치를 행한다. 그후, 스텝 703에서, 홈 노드는, 캐시 유지보수 동작의 완료에 대한 책임을 홈 노드가 지고 있다는 것을 나타내는 "comp" 트랜잭션을 마스터 노드에 발행한다. 그후, 이것을 수신하면, 스텝 704에서 마스터는 그것의 요구 버퍼에 대응하는 요구의 할당을 해제하는데, 즉 그후 이 스토리지 공간은 마스터가 발행하는 다음의 요구의 세부내용을 기억하는데 사용될 수 있다. 스텝 705에서, 홈 노드는 그 자신의 PCMO_SEP 트랜잭션을 지속적인 (불휘발성) 메모리와 관련되는 시스템 내부의 슬레이브 노드에 발행한다. 이에 응답하여, 스텝 706에서, 슬레이브는 comp 트랜잭션을 홈 노드에 발행한다. 슬레이브 노드는, 수신되는 PCMO_SEP 트랜잭션에 의해 지정된 데이터 항목(들)이 불휘발성 메모리에 기록되게 하기 위해 스텝 707에서 지속적인 기록을 지시한 후, 슬레이브가 이 지속적인 기록이 완료된 것을 나타내는 표시를 수신할 때까지 스텝 708에서 흐름이 대기한다. 완료되면, 스텝 709에서, 슬레이브 노드는 지속적인 확인응답 트랜잭션을 마스터 노드에 발행한다.
요약하면, 인터컨넥트 시스템과 이 시스템을 작동하는 방법이 개시된다. 마스터 장치는 캐시를 액세스하고 슬레이브 장치는 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는다. 마스터 장치는 캐시에 일시 기억된 데이터 항목에 대해 인터컨넥트 시스템에서 캐시 유지보수 동작을 개시하여, 데이터 스토리지 장치 내부의 데이터 항목의 스토리지에 대해 슬레이브에 의해 조치가 취해지게 할 수 있다. 긴 대기시간의 동작에 대해, 마스터 장치는 데이터 항목과 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 발행할 수 있다. 이에 응답하여, 중간 장치는, 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답의 신호를 보내고 분리된 캐시 유지보수 요구를 슬레이브 장치에 발행한다. 슬레이브 장치는 확인 응답을 중간 장치에 신호를 보내고, 데이터 스토리지 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료시에 완료 응답을 마스터 장치에 신호를 보낸다.
본 발명에서, 단어 "하도록 구성된"은 장치의 구성요소가 정의된 동작을 행할 수 있는 구성을 갖는다는 것을 의미하기 위해 사용된다. 이와 관련하여, "구성"은 하드웨어 또는 소프트웨어의 배치 또는 상호접속 방식을 의미한다. 예를 들어, 장치는 정의된 동작을 제공하는 전용 하드웨어를 갖거나, 프로세서 또는 기타의 처리장치가 기능을 행하도록 프로그래밍되어도 된다. "하도록 구성된"은 이 장치의 구성요소가 정의된 동작을 제공하기 위해 어떤 식으로 변경될 필요가 있는 것을 시사하는 것은 아니다.
첨부도면을 참조하여 본 발명의 예시적인 실시예들을 상세히 설명하였지만, 본 발명은 이들 실시예에 한정되지 않으며, 첨부된 청구범위의 보호범위 및 사상을 벗어나지 않으면서 본 발명이 속한 기술분야의 당업자에 의해 다양한 변경, 부가 및 변화가 행해질 수 있다는 것은 자명하다. 예를 들면, 종속항들의 특징들의 다양한 조합이 독립항들의 특징과 행해질 수도 있다.

Claims (20)

  1. 인터컨넥트 시스템으로서,
    마스터 장치와,
    상기 마스터 장치에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐시와,
    중간 장치와,
    데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는 슬레이브 장치와,
    상기 마스터 장치, 상기 중간 장치 및 상기 슬레이브 장치를 접속하는 인터컨넥트 회로를 구비하고,
    상기 마스터 장치는 상기 캐시에 일시 기억된 데이터 항목에 대해 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시할 수 있고, 상기 캐시 유지보수 동작은 상기 데이터 스토리지 장치 내부의 데이터 항목의 스토리지에 대해 상기 슬레이브 장치에 의해 취해지는 조치를 포함하고,
    상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 마스터 장치는 데이터 항목과 상기 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 상기 중간 장치에 발행할 수 있고,
    상기 중간장치는, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치가 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 마스터 장치에게 신호를 보내고, 상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치에 발행하고,
    상기 슬레이브 장치는, 상기 분리된 캐시 유지보수 요구의 수신에 응답하여, 상기 확인 응답을 상기 중간 장치에 신호를 보내고, 상기 데이터 스토리 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 마스터 장치에게 신호를 보내는 인터컨넥트 시스템.
  2. 제 1항에 있어서,
    데이터 항목들의 장기간의 스토리지를 위한 상기 데이터 스토리 장치는 불휘발성 스토리지를 구비하고, 캐시 유지보수 동작은 데이터 항목이 상기 불휘발성 스토리지에 기록되게 하는 지속적인 캐시 유지보수 동작이고, 상기 지속적인 캐시 유지보수 동작은 긴 대기시간의 동작으로서 사전에 결정되는 인터컨넥트 시스템.
  3. 제 1항에 있어서,
    상기 마스터 장치는 발행된 요구들의 요구 세부사항을 기억하는 요구 버퍼를 구비하고, 상기 마스터 장치는 상기 중간 장치로부터의 상기 확인 응답의 수신에 응답하여 상기 분리된 캐시 유지보수 요구의 요구 세부사항의 스토리지를 중지시키는 인터컨넥트 시스템.
  4. 제 3항에 있어서,
    상기 마스터 장치는 요구 카운터를 구비하고, 상기 요구 카운터는 상기 분리된 캐시 유지보수 요구의 상기 중간 장치에 대한 발행에 응답하여 증분되고, 상기 요구 카운터는 상기 슬레이브 장치로부터의 상기 완료 응답의 수신에 응답하여 감분되는 인터컨넥트 시스템.
  5. 제 1항에 있어서,
    상기 마스터 장치는 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구를 발행할 수 있고, 상기 중간 장치는 상기 그룹 식별자를 더 포함하는 상기 마스터 장치에 상기 확인 응답의 신호를 보낼 수 있고, 상기 슬레이브 장치는 상기 그룹 식별자를 포함하는 상기 확인 응답의 신호를 보내고 상기 그룹 식별자를 포함하는 상기 완료 응답의 신호를 보낼 수 있는 인터컨넥트 시스템.
  6. 제 5항에 있어서,
    상기 마스터 장치는 그룹 식별자들의 세트로부터 상기 그룹 식별자를 지정할 수 있고, 상기 마스터 장치는 상기 그룹 식별자들의 세트에 대응하는 요구 카운터들의 세트를 포함하고, 상기 요구 카운터들의 세트의 각각의 요구 카운터는 상기 그룹 식별자들의 세트로부터 대응하는 그룹 식별자를 지정하는 상기 분리된 캐시 유지보수 요구의 상기 중간 장치에 대한 발행에 응답하여 증분되고, 상기 요구 카운터들의 세트의 각각의 요구 카운터는 상기 대응하는 그룹 식별자를 지정하는 상기 슬레이브 장치로부터의 상기 완료 응답의 수신에 응답하여 감분되는 인터컨넥트 시스템.
  7. 제 5항에 있어서,
    상기 마스터 장치는 적어도 한 개의 제1 스테이지 연산과 적어도 한 개의 제2 스테이지 연산을 포함하는 스테이지(staged) 데이터 처리 연산과 상기 그룹 식별자를 관련시킬 수 있고, 상기 마스터 장치는 상기 적어도 한 개의 제1 스테이지 연산과 관련하여 상기 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구를 발행할 수 있고, 상기 마스터 장치는 상기 슬레이브 장치로부터 상기 그룹 식별자를 포함하는 상기 완료 응답의 수신시까지 상기 적어도 한 개의 제2 스테이지 연산의 개시를 보류할 수 있는 인터컨넥트 시스템.
  8. 제 7항에 있어서,
    상기 마스터 장치는 초기값을 갖는 요구 카운터를 포함하고, 상기 요구 카운터는 상기 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구의 상기 중간 장치에의 발행에 응답하여 증분되고, 상기 요구 카운터는 상기 슬레이브 장치로부터 상기 그룹 식별자를 포함하는 상기 완료 응답의 수신에 응답하여 감분되고, 상기 마스터 장치는 상기 요구 카운터가 상기 초기값으로 복귀할 때까지 상기 적어도 한 개의 제2 스테이지 연산의 개시를 보류할 수 있는 인터컨넥트 시스템.
  9. 제 7항에 있어서,
    상기 스테이지 데이터 처리 연산은,
    특권 레벨 천이,
    변환 테이블 갱신,
    장벽(barrier) 명령의 실행과,
    지정된 명령들의 세트의 실행 중에서 적어도 한 개를 포함하는 인터컨넥트 시스템.
  10. 제 9항에 있어서,
    상기 마스터 장치는 별개의 물리 또는 가상 스레드들에 대응하는 명령들의 세트들을 실행하도록 구성되고, 상기 지정된 명령들의 세트는 지정된 스레드와 관련되는 인터컨넥트 시스템.
  11. 제 1항에 있어서,
    상기 슬레이브 장치는 상기 데이터 스토리지 장치에 기억된 데이터 항목에 대한 상기 캐시 유지보수 동작의 완료에 응답하여, 상기 완료 응답의 신호를 상기 중간 장치를 거쳐 상기 마스터 장치에 보내는 인터컨넥트 시스템.
  12. 제 1항에 있어서,
    상기 중간 장치는 데이터 항목들에 대해 캐시 코히런시 동작을 행할 수 있고, 상기 중간 장치는, 상기 분리된 캐시 유지보수 요구에 응답하여, 상기 확인 응답의 신호를 상기 마스터 장치에 보내기 전에, 또한 상기 분리된 캐시 유지보수 요구의 신호를 상기 슬레이브 장치에 보내기 전에, 상기 분리된 캐시 유지보수 요구에 지정된 데이터 항목에 대해 캐시 코히런시 동작을 행하는 인터컨넥트 시스템.
  13. 제 5항에 있어서,
    상기 마스터 장치는 데이터 항목에 대한 식별자, 상기 슬레이브 장치에 대한 식별자, 상기 마스터 장치에 대한 식별자와, 상기 그룹 식별자를 포함하는 상기 분리된 캐시 유지보수 요구를 발행할 수 있고,
    상기 슬레이브 장치는 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 데이터 스토리지 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작을 개시하고, 상기 마스터 장치에 대한 식별자와 상기 그룹 식별자를 기억하고, 상기 데이터 항목에 대한 식별자와 상기 슬레이브 장치에 대한 식별자를 폐기하고,
    상기 슬레이브 장치에 의해 발생된 상기 완료 응답은 상기 마스터 장치에 대한 식별자와 상기 그룹 식별자를 포함하는 인터컨넥트 시스템.
  14. 제 1항에 있어서,
    상기 캐시는 상기 마스터 장치와 관련된 로컬 캐시인 인터컨넥트 시스템.
  15. 제 1항에 있어서,
    상기 캐시는 상기 중간 장치 및 상기 인터컨넥트 회로 중에서 적어도 한 개와 관련되는 인터컨넥트 시스템.
  16. 제 1항에 있어서,
    상기 슬레이브 장치는 상기 분리된 캐시 유지보수 요구의 수신에 응답하여 캐시 유지보수 동작에 따라 응답 상태를 평가하고, 상기 슬레이브 장치는 상기 응답 상태의 평가가 참(true)인 것에 응답하여 상기 확인 응답과 상기 완료 응답을 상기 중간 장치에 보내지는 결합된 응답으로서 결합하는 인터컨넥트 시스템.
  17. 제 16항에 있어서,
    상기 슬레이브 장치는, 캐시 유지보수 동작의 추정된 완료 대기시간이 대기시간 임계값보다 작을 때, 상기 응답 상태가 참인 것으로 평가하도록 구성되는 인터컨넥트 시스템.
  18. 제 1항에 있어서,
    상기 슬레이브 장치와 관련된 휘발성 스토리지를 더 구비하고, 지속적인 캐시 유지보수 동작은 데이터 항목이 상기 휘발성 스토리지로부터 불휘발성 스토리지로 복사되게 하도록 구성되는 인터컨넥트 시스템.
  19. 마스터 장치와, 상기 마스터 장치에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐시와, 중간 장치와, 데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 장치를 갖는 슬레이브 장치와, 상기 마스터 장치, 상기 중간 장치 및 상기 슬레이브 장치를 접속하는 인터컨넥트 회로를 구비한 인터컨넥트 시스템의 작동방법으로서,
    캐시 내부에 일시 기억된 데이터 항목에 대해, 상기 데이터 스토리지 장치 내부의 데이터 항목의 스토리에 대해 상기 슬레이브 장치에 의해 취해지는 조치를 포함하는, 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을, 상기 마스터 장치로부터 개시하는 단계를 포함하고,
    상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 개시단계는, 데이터 항목과 상기 슬레이브 장치를 지정하는 분리된 캐시 유지보수 요구를 상기 마스터 장치로부터 상기 중간 장치에 발행하는 단계를 포함하고,
    상기 방법은,
    상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치가 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 중간 장치로부터 상기 마스터 장치에게 신호를 보내는 단계와,
    상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치에 발행하는 단계와,
    상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 슬레이브 장치로부터 상기 중간 장치에게 상기 확인 응답의 신호를 보내는 단계와,
    상기 데이터 스토리 장치 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 슬레이브 장치로부터 상기 마스터 장치에게 신호를 보내는 단계를 더 포함하는 인터컨넥트 시스템의 작동방법.
  20. 인터컨넥트 시스템으로서,
    마스터 장치 수단과,
    상기 마스터 장치 수단에 의한 낮은 대기시간 액세스를 위해 데이터 항목들을 일시 기억하는 캐싱수단과,
    중간 장치 수단과,
    데이터 항목들의 장기간의 스토리지를 위한 관련된 데이터 스토리지 수단을 갖는 슬레이브 장치 수단과,
    상기 마스터 장치 수단, 상기 중간 장치 수단 및 상기 슬레이브 장치 수단을 접속하는 인터컨넥트 수단과,
    상기 마스터 장치 수단으로부터, 상기 캐싱수단에 일시 기억된 데이터 항목에 대해 상기 인터컨넥트 시스템에서의 캐시 유지보수 동작을 개시하는 수단을 구비하고, 상기 캐시 유지보수 동작은 상기 데이터 스토리지 수단 내부의 데이터 항목의 스토리지에 대해 상기 슬레이브 장치 수단에 의해 취해지는 조치를 포함하고,
    상기 캐시 유지보수 동작이 긴 대기시간의 동작으로 사전에 결정될 때, 상기 개시수단은, 데이터 항목과 상기 슬레이브 장치 수단을 지정하는 분리된 캐시 유지보수 요구를 상기 마스터 장치 수단으로부터 상기 중간 장치 수단에 발행하는 수단을 구비하고,
    상기 인터컨넥트 시스템은,
    상기 분리된 캐시 유지보수 요구에 응답하여, 상기 중간 장치 수단이 데이터 항목에 대한 캐시 유지보수 동작의 완료를 책임지고 있다는 것을 나타내는 확인 응답을 상기 중간 장치 수단으로부터 상기 마스터 장치 수단에게 신호를 보내는 수단과,
    상기 분리된 캐시 유지보수 요구를 상기 슬레이브 장치 수단에 발행하는 수단과,
    상기 분리된 캐시 유지보수 요구의 수신에 응답하여 상기 슬레이브 장치 수단으로부터 상기 중간 장치 수단에게 상기 확인 응답의 신호를 보내는 수단과,
    상기 데이터 스토리 수단 내부에 기억된 데이터 항목에 대한 캐시 유지보수 동작의 완료에 응답하여, 완료 응답을 상기 슬레이브 장치 수단으로부터 상기 마스터 장치 수단에게 신호를 보내는 수단을 더 구비한 인터컨넥트 시스템.
KR1020190126652A 2018-10-29 2019-10-14 데이터 처리 시스템에서의 캐시 유지보수 동작 KR20200049529A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/173,213 US10783080B2 (en) 2018-10-29 2018-10-29 Cache maintenance operations in a data processing system
US16/173,213 2018-10-29

Publications (1)

Publication Number Publication Date
KR20200049529A true KR20200049529A (ko) 2020-05-08

Family

ID=70326836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126652A KR20200049529A (ko) 2018-10-29 2019-10-14 데이터 처리 시스템에서의 캐시 유지보수 동작

Country Status (3)

Country Link
US (1) US10783080B2 (ko)
KR (1) KR20200049529A (ko)
CN (1) CN111104060B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210029615A (ko) * 2019-09-06 2021-03-16 에스케이하이닉스 주식회사 반도체장치
US11194503B2 (en) * 2020-03-11 2021-12-07 Samsung Electronics Co., Ltd. Storage device having a configurable command response trigger
US20230229658A1 (en) * 2022-01-14 2023-07-20 Sentinel Labs Israel Ltd. Systems and methods for data management and query optimization

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990640B2 (en) * 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on request type
GB2522057B (en) * 2014-01-13 2021-02-24 Advanced Risc Mach Ltd A data processing system and method for handling multiple transactions
US10120601B2 (en) * 2014-03-24 2018-11-06 Hitachi, Ltd. Storage system and data processing method
CN106462490B (zh) * 2014-03-26 2019-09-24 TiVo解决方案有限公司 多媒体流水线架构
US11256623B2 (en) * 2017-02-08 2022-02-22 Arm Limited Cache content management
CN108733506B (zh) * 2017-04-17 2022-04-12 伊姆西Ip控股有限责任公司 用于数据同步的方法、设备和计算机可读介质
US10477429B2 (en) * 2018-01-28 2019-11-12 Microsoft Technology Licensing, Llc Reducing latency in wireless networks

Also Published As

Publication number Publication date
US20200133865A1 (en) 2020-04-30
US10783080B2 (en) 2020-09-22
CN111104060A (zh) 2020-05-05
CN111104060B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US6167489A (en) System and method for bypassing supervisory memory intervention for data transfers between devices having local memories
US8327101B2 (en) Cache management during asynchronous memory move operations
US6269432B1 (en) Distributed transactional processing system having redundant data
US7177987B2 (en) System and method for responses between different cache coherency protocols
EP1396792B1 (en) Memory copy command specifying source and destination of data executed in the memory controller
US7991981B2 (en) Completion of asynchronous memory move in the presence of a barrier operation
KR20200049529A (ko) 데이터 처리 시스템에서의 캐시 유지보수 동작
US6260117B1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
JP4631948B2 (ja) 情報処理装置及び順序保証方式
US20090198936A1 (en) Reporting of partially performed memory move
US20060064518A1 (en) Method and system for managing cache injection in a multiprocessor system
US10635587B2 (en) Memory controller, information processing apparatus, and processor
US20130262553A1 (en) Information processing system and information transmitting method
KR102581572B1 (ko) 허브 디바이스 및 그의 작동방법
CN102959529A (zh) 用于缓存的网络的广播协议
US10452543B1 (en) Using persistent memory technology as a host-side storage tier for clustered/distributed file systems, managed by storage appliance
US10318424B2 (en) Information processing device
TWI770107B (zh) 用於同調互連系統的設備與裝置以及操作此設備與裝置的方法
CN114721996B (zh) 一种分布式原子操作的实现方法与实现装置
JP3756690B2 (ja) リモートファイル制御装置
JP6028470B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
JP3566746B2 (ja) 情報処理装置
JP2006236387A (ja) 記憶制御装置
JP2017151856A (ja) 演算処理装置、情報処理装置および情報処理装置の制御方法
JPH09237259A (ja) マルチプロセッサシステムにおけるデータ一貫性維持制御方法

Legal Events

Date Code Title Description
A201 Request for examination