KR102346629B1 - 메모리 접근 제어 방법 및 장치 - Google Patents

메모리 접근 제어 방법 및 장치 Download PDF

Info

Publication number
KR102346629B1
KR102346629B1 KR1020140174291A KR20140174291A KR102346629B1 KR 102346629 B1 KR102346629 B1 KR 102346629B1 KR 1020140174291 A KR1020140174291 A KR 1020140174291A KR 20140174291 A KR20140174291 A KR 20140174291A KR 102346629 B1 KR102346629 B1 KR 102346629B1
Authority
KR
South Korea
Prior art keywords
access
bank
master device
banks
memory device
Prior art date
Application number
KR1020140174291A
Other languages
English (en)
Other versions
KR20160068479A (ko
Inventor
최용석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140174291A priority Critical patent/KR102346629B1/ko
Priority to PCT/KR2015/012113 priority patent/WO2016089020A1/ko
Priority to US15/533,190 priority patent/US10983723B2/en
Publication of KR20160068479A publication Critical patent/KR20160068479A/ko
Application granted granted Critical
Publication of KR102346629B1 publication Critical patent/KR102346629B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/0604Improving or facilitating administration, e.g. storage 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/0688Non-volatile semiconductor memory arrays

Abstract

메모리 접근 제어 방법 및 장치가 제공 된다. 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계, 및 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하고, 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 단계를 포함하는 접근 제어 방법이 제공된다,

Description

메모리 접근 제어 방법 및 장치{METHOD AND APPARATUS FOR CONTROLLING ACCESS FOR MEMORY}
다수개의 뱅크로 메모리를 구성하여 복수의 마스터 디바이스에 대해 동시 데이터 전송을 허용하는 뱅크드 멀티 포트 메모리의 사용이 증대되고 있다. 뱅크드 멀티 포트 메모리는 다수의 마스터 디바이스에 대한 동시 접근을 허용하여, 싱글 포트 메모리보다 데이터의 처리 속도를 증가시킬 수 있다.
다만, 복수의 마스터 디바이스가 메모리에 포함된 동일한 뱅크에 대해 접근을 요청하는 경우, 뱅크 컨플릭트(conflict)가 발생할 수 있고, 뱅크 컨플릭트(confclit)는 뱅크드 멀티 포트 메모리의 성능을 저하시킬 수 있다.
이에 따라, 뱅크드 멀티 포트 메모리에서 복수의 마스터 디바이스의 접근을 적절히 제어하여, 뱅크드 멀티 포트 메모리의 성능을 개선시키기 위한 연구가 활발히 진행되고 있다.
본 발명의 일 실시예에서는, 메모리 디바이스가 마스터 디바이스의 접근을 적응적으로 제어하는 방법 및 장치를 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 1 측면은, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계, 및 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하고, 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 단계를 포함하는 접근 제어 방법을 제공할 수 있다.
또한, 상기 결정하는 단계는, 다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하는 단계, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선순위를 판단하는 단계, 및 상기 우선순위에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계를 포함할 수 있다.
또한, 상기 우선 순위는, 상기 마스터 디바이스로부터 수신한 긴급 지수(Urgency level)에 의해 결정될 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 마스터 디바이스는, 상기 접근 요청된 적어도 하나의 뱅크중 적어도 하나의 뱅크에 대해 접근 가능할 수 있다.
또한, 상기 접근 제어 방법은, 상기 결정하는 단계의 결과, 상기 마스터 디바이스의 접근을 승인한 뱅크에 대해서, 상기 마스터 디바이스가 요청한 데이터 처리를 수행하는 단계를 더 포함할 수 있다.
또한, 상기 접근 제어 방법은, 상기 유효성 정보에 기초하여 접근을 승인 받지 못한 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는 단계를 더 포함할 수 있다.
또한, 제 2 측면은 마스터 디바이스에서 메모리 디바이스에 접근하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 메모리 디바이스에 전송하는 단계, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 단계를 포함하는 접근 방법을 제공할 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 접근 방법은, 상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 단계를 더 포함할 수 있다.
또한, 상기 접근 방법은, 상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인되지 않은 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 단계를 포함할 수 있다.
또한, 제 3 측면은 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 마스터 디바이스로부터 수신하는 접근 요청 수신부, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하고, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하는 중재부, 및 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 요청 결과 전송부를 포함하는 메모리 디바이스를 제공할 수 있다.
또한, 상기 중재부는, 다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하고, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선순위를 판단하고, 상기 우선순위에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정할 수 있다.
또한, 상기 우선 순위는, 상기 마스터 디바이스로부터 수신한 긴급 지수(Urgency level)에 의해 결정될 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 마스터 디바이스는, 상기 접근 요청된 적어도 하나의 뱅크중 적어도 하나의 뱅크에 대해 접근 가능할 수 있다.
또한, 상기 메모리 디바이스는, 상기 중재부의 결정 결과, 상기 마스터 디바이스의 접근을 승인한 뱅크에 대해서 상기 마스터 디바이스가 요청한 데이터의 프로세싱을 수행할 수 있다.
또한, 상기 접근 요청 수신부는, 상기 유효성 정보에 기초하여 접근을 승인 받지 못한 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신할 수 있다.
또한, 제 4 측면은, 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 메모리 디바이스에 전송하고, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 프리패치 유닛을 포함하는 마스터 디바이스를 제공할 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 프리 패치 유닛은, 상기 수신한 유효성 정보에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크중 접근이 승인된 적어도 하나의 뱅크에게, 프로세싱된 데이터를 요청할 수 있다..
또한, 상기 프리패치 유닛은, 상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인되지 않은 적어도 하나의 뱅크에 대해 접근 요청을 재전송 할 수 있다.
도 1은 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른, 메모리 디바이스를 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른, 메모리 디바이스(100)가 마스터 디바이스(200)의 접근을 승인하는 방법을 설명하기 위한 흐름도이다.
도 5 는 본 발명의 일 실시예에 따라, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)가 접근을 승인하는 방법을 설명하기 위한 도면이다.
도 6 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 흐름도이다.
도 7 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 도면이다.
도 8 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 프로세싱된 데이터를 수신하는 방법을 설명하기 위한 도면이다.
도 9 는 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 접근의 승인이 거부된 뱅크에 대해 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
도 10 은 본 발명의 일 실시예에 따른, 변환 유닛(300)을 설명하기 위한 도면이다.
도 11 은 본 발명의 일 실시예에 따른, 변환 유닛(300)이 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
도 12 는 본 발명의 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 요청 신호를 전송하는 방법을 설명하기 위한 도면이다.
도 13 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)의 동작을 설명하기 위한 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 개략도이다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)와 연결될 수 있다. 메모리 디바이스(100)와 복수의 마스터 디바이스(200)는 하나의 프로세서로 구현될 수 있고, 복수의 프로세서에 의해 구현될 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 뱅크를 포함할 수 있다. 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 적어도 하나의 뱅크에 대한 접근 요청을 각각 수신할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 마스터 디바이스(200)가 각각 전송한 적어도 하나의 뱅크에 대한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생할 수 있다. 예를 들어, 제 1 마스터 디바이스(215)가 접근 요청한 뱅크와 제2 마스터 디바이스(225)가 접근 요청한 뱅크 사이에 동일한 뱅크가 존재하는 경우, 뱅크 컨플릭트(conflict)가 발생할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 높은 접근 요청에 대해 접근의 승인을 결정할 수 있다. 또한, 메모리 디바이스(100)는 우선순위가 낮은 접근 요청에 대해 부분 접근 요청이 존재하는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 우선순위가 낮은 접근 요청에 대해, 부분 접근 요청이 존재하는 경우 접근 요청된 복수의 뱅크 각각에 대해 접근 승인 여부를 결정할 수 있다. 또한, 메모리 디바이스(100)는 접근 승인된 뱅크 및 접근 거부된 뱅크에 대한 유효성 정보를 생성하여, 마스터 디바이스(200)에게 전송할 수 있다.
도 2는 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 메모리 디바이스(100)는 메모리 디바이스(100)에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 마스터 디바이스(200)로부터 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 뱅크를 포함할 수 있다. 뱅크는 메모리 디바이스(100)를 구성하는 데이터 처리 영역의 단위로서, 메모리 디바이스(100)는 적어도 하나의 뱅크를 이용하여 데이터를 프로세싱할 수 있다. 예를 들어, 메모리 디바이스(100)는 하나의 뱅크를 이용하여 데이터를 프로세싱할 수 있고, 두개의 뱅크를 이용하여 데이터를 프로세싱할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로 부터 접근 요청을 수신할 수 있다. 마스터 디바이스(200)는 메모리 디바이스(100)와 연결되어, 메모리 디바이스(100)에 데이터를 전송할 수 있고, 메모리 디바이스(100)로부터 데이터를 수신할 수 있는 디바이스를 의미한다. 예를 들어, 마스터 디바이스(200)는 프로세서 코어(Processor core), 다이렉트 모드 액세스 제어기, 또는 하드웨어 가속기(H/W accelerator)등을 포함할 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 데이터를 프로세싱하기 위해 메모리 디바이스(100)에 포함된 복수의 뱅크에 대해 접근을 요청할 수 있다. 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크를 지정하여 접근을 요청할 수 있다. 예를 들어, 메모리 디바이스(100)가 제 1 뱅크, 제2 뱅크, 제 3 뱅크, … , 제 N뱅크를 포함하고 있는 경우, 마스터 디바이스(200)는 제 1 뱅크, 제 2 뱅크, 및 제 3 뱅크에 대해 접근을 요청할 수 있다. 또한, 제 2 뱅크 및 제 3 뱅크에 대해 접근을 요청할 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 부분 접근 요청을 수신할 수 있다. 부분 접근 요청이란, 접근 요청된 복수의 뱅크중에서 적어도 하나의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대해 승인을 요청하고, 접근 승인된 뱅크 및 접근 거부된 뱅크에 대한 정보를 요청하는 것을 의미한다.
메모리 디바이스(100)는 접근 요청과 함께, 또는 접근 요청과 별도로 부분 접근 요청을 수신할 수 있다. 또한, 메모리 디바이스(100)는 접근 요청 신호를 수신한 경우, 부분 접근 요청 신호도 수신한 것으로 결정할 수 있으며, 이에 한정되지 않고 다양한 형태로 부분 접근 요청을 수신할 수 있다.
단계 S220에서, 메모리 디바이스(100)는 마스터 디바이스(200)에 의해 접근 요청된 적어도 하나의 뱅크 각각에 대하여 접근 승인 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 기초하여, 마스터 디바이스(200)의 접근을 승인할 수 있다. 예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 적어도 하나의 뱅크에 대해 접근을 요청한 경우, 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하지 않은 때, 마스터 디바이스(200)의 접근을 승인할 수 있다. 뱅크 컨플릭트(conflict)는, 복수의 마스터 디바이스(200)가 적어도 하나의 동일한 뱅크에 대해 접근을 요청한 경우 발생하는 것으로서, 메모리의 성능 저하를 유발할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 접근 요청을 수신한 경우, 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크가 제 1 뱅크를 포함하고, 제 2 마스터 디바이스(225)가 접근 요청한 적어도 하나의 뱅크도 제 1 뱅크를 포함하는 경우, 뱅크 컨플릭트(conflict)가 발생할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)는 접근 요청들의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 기 설정된 우선 순위, 접근 요청한 마스터 디바이스(200)의 종류, 접근 요청의 긴급한 정도, 접근 요청한 마스터 디바이스(200)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 긴급 지수(Urgency level)에 기초하여 접근 요청들의 우선순위를 결정할 수 있다. 마스터 디바이스(200)는 마스터 디바이스(200)내에 포함된 버퍼의 데이터 보유 상황, 접근 요청된 뱅크에 의해 프로세싱된 데이터의 사용 시기, 또는 이들의 조합을 이용하여 긴급 지수(Urgency level)를 결정할 수 있으며, 이에 한정되지 않는다.
예를 들어, 마스터 디바이스(200)는 마스터 디바이스(200)가 프로세싱된 데이터를 사용할 시기가 임박한 경우, 접근 요청의 긴급 지수(urgency level)를 높게 결정될 수 있고, 메모리 디바이스(100)는 긴급 지수(urgency level)가 높은 접근 요청에 대해, 우선순위를 높게 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스의 접근 요청들 사이에서, 뱅크 컨플릭트(conflict)가 발생 한 경우, 우선 순위가 높은 접근 요청에 대해 접근을 승인할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과, 제 2 마스터 디바이스(225)의 접근 요청사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 2 마스터 디바이스(225)의 접근 요청보다 제 1 마스터 디바이스(215)로부터 수신한 접근 요청의 우선순위가 높은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 수신한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청에 대해, 부분 접근 요청을 수신하였는지 여부를 판단할 수있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 다른 마스터 디바이스의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 다른 마스터 디바이스의 접근 요청보다 우선순위가 낮은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 우선 순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신한 경우, 결정된 우선순위에 기초하여, 접근 요청된 복수의 뱅크 각각에 대해, 승인 여부를 결정할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생 하였고, 제 1 마스터 디바이스(215)의 접근 요청의 우선순위가 제 2 마스터 디바이스(225)의 접근 요청보다 낮으며, 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 복수의 뱅크 각각에 대해 승인 여부를 결정할 수 있다.
단계 S230에서, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성할 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1, 2, 3뱅크에 대한 접근 요청을 수신한 경우, 메모리 디바이스(100)는 제 1, 2, 3뱅크 각각에 대한 접근 승인 여부를 결정하고, 결정 결과에 기초한 유효성 정보를 생성할 수 있다.
예를 들어, 메모리 디바이스(100)는 접근이 승인된 뱅크에 대한 정보, 및 접근이 거부된 뱅크에 대한 정보를 포함하는 유효성 정보를 생성할 수 있다. 유효성 정보는 2 내지 8 비트의 신호로 구성될 수 있으며, 이에 한정되지 않는다.
유효성 정보를 나타내는 유효성 정보 신호의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수와 같거나, 접근 요청된 적어도 하나의 뱅크의 개수보다 적을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1, 2뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호는 제 1, 2뱅크 대한 접근 승인 여부를 각각 나타내는 2비트의 신호일 수 있다. 또한, 유효성 정보 신호는 제 1, 2뱅크 모두에 대해 접근이 가능한지 여부를 나타내는 1비트의 신호일 수 있다.
또한, 유효성 정보를 나타내는 유효성 정보 신호의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수보다 많을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1 뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호는 2 비트의 신호일 수 있다. 이 경우, 두개의 비트 각각은 동일한 정보를 나타낼 수 있다. 메모리 디바이스(100)는 동일한 정보를 나타내는 두개의 비트를 이용함으로써, 호환성을 유지할 수 있다.
단계 S240에서, 메모리 디바이스(100)는 접근 요청된 뱅크들에 대한 접근 승인 여부를 나타내는 유효성 정보를 마스터 디바이스에게 전송할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근이 승인된 뱅크에 대한 정보 및 접근이 거부된 뱅크에 대한 정보인 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 제 1, 2, 3뱅크중 제 1 뱅크에 대해 접근을 승인하고, 제 2 및 3 뱅크에 대해서 접근을 승인을 거부한 경우, 메모리 디바이스(100)는 접근 요청된 제 1 ,2 ,3 뱅크중 일부의 뱅크에 대해 접근이 승인되었음을 나타내는 “grant”신호를 마스터 디바이스(200)에 전송할 수 있다. 또한, 메모리 디바이스(100)는 제 1 뱅크는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크는 접근이 거부 되었음을 나타내는 유효성 정보를 마스터 디바이스(200)에게 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른, 메모리 디바이스를 설명하기 위한 블록도이다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 뱅크를 포함할 수 있다. 또한, 메모리 디바이스(100)는 중재부(320), 접근 요청 수신부(310), 및 요청 결과 전송부(330)를 포함할 수 있다. 메모리 디바이스(100)의 중재부(320), 접근 요청 수신부(310), 및 요청 결과 전송부(330)는 하나의 프로세서로 구현될 수 있다. 또한, 메모리 디바이스(100)의 중재부(320), 접근 요청 수신부(310), 및 요청 결과 전송부(330)는 각각 하나의 프로세서에 의해 구현될 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 접근 요청 수신부(310)는 마스터 디바이스(200)로부터 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 접근 요청 수신부(310)는 마스터 디바이스(200)로부터 부분 접근 요청을 수신할 수 있다.
메모리 디바이스(100)의 접근 요청 수신부(310)는 접근 요청과 함께, 또는 접근 요청과 별도로 부분 접근 요청을 수신할 수 있다. 또한, 메모리 디바이스(100)의 접근 요청 수신부(310)는 접근 요청 신호를 수신한 경우, 부분 접근 요청 신호도 수신한 것으로 결정할 수 있으며, 이에 한정되지 않고 다양한 형태로 부분 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 마스터 디바이스(200)의 접근 요청에 기초하여, 마스터 디바이스(200)의 접근을 승인할 수 있다. 예를 들어, 메모리 디바이스(100)의 중재부(320)는 마스터 디바이스(200)가 적어도 하나의 뱅크에 대해 접근을 요청한 경우, 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하지 않은 때, 마스터 디바이스(200)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 마스터 디바이스(200)로부터 접근 요청을 수신한 경우, 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크가 제 1 뱅크를 포함하고, 제 2 마스터 디바이스(225)가 접근 요청한 적어도 하나의 뱅크도 제 1 뱅크를 포함하는 경우, 메모리 디바이스(100)의 중재부(320)는 뱅크 컨플릭트(conflict)가 발생하였다고 판단할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)의 중재부(320)는 접근 요청들의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)의 중재부(320)는 기 설정된 우선 순위, 접근 요청한 마스터 디바이스(200)의 종류, 접근 요청의 긴급한 정도, 접근 요청한 마스터 디바이스(200)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)의 중재부(320)는 긴급 지수(Urgency level)에 기초하여 접근 요청들의 우선순위를 결정할 수 있다.
예를 들어, 마스터 디바이스(200)가 프로세싱된 데이터를 사용할 시기가 임박한 경우, 접근 요청의 긴급 지수(urgency level)는 높게 결정될 수 있고, 메모리 디바이스(100)의 중재부(320)는 긴급 지수(urgency level)가 높은 접근 요청에 대해, 우선순위를 높게 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 복수의 마스터 디바이스의 접근 요청들 사이에서, 뱅크 컨플릭트(conflict)가 발생 한 경우, 우선 순위가 높은 접근 요청에 대해 접근을 승인할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과, 제 2 마스터 디바이스(225)의 접근 요청사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 2 마스터 디바이스(225)의 접근 요청보다 제 1 마스터 디바이스(215)로부터 수신한 접근 요청의 우선순위가 높은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 복수의 마스터 디바이스(200)로부터 수신한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청에 대해, 부분 접근 요청을 수신하였는지 여부를 판단할 수있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 다른 마스터 디바이스의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 다른 마스터 디바이스의 접근 요청보다 우선순위가 낮은 경우, 메모리 디바이스(100)의 중재부(320)는 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 우선 순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신한 경우, 결정된 우선순위에 기초하여, 접근 요청된 적어도 하나의 뱅크 각각에 대해, 승인 여부를 결정할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생 하였고, 제 1 마스터 디바이스(215)의 접근 요청의 우선순위가 제 2 마스터 디바이스(225)의 접근 요청보다 낮으며, 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)의 중재부(320)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크 각각에 대해 승인 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성할 수 있다. 예를 들어, 메모리 디바이스(100)의 접근 요청 수신부(310)가 마스터 디바이스(200)로부터 제 1, 2, 3뱅크에 대한 접근 요청을 수신한 경우, 메모리 디바이스(100)의 중재부(320)는 제 1, 2, 3뱅크 각각에 대한 접근 승인 여부를 결정하고, 결정 결과에 기초한 유효성 정보를 생성할 수 있다.
예를 들어, 메모리 디바이스(100)는 접근이 승인된 뱅크에 대한 정보, 및 접근이 거부된 뱅크에 대한 정보를 포함하는 유효성 정보를 생성할 수 있다. 유효성 정보는 2 내지 8 비트의 신호로 구성될 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 요청 결과 전송부(330)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는, 접근이 승인된 뱅크 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 제 1, 2, 3뱅크중 제 1 뱅크에 대해 접근을 승인하고, 제 2 및 3 뱅크에 대해서 접근을 승인하지 않은 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는 접근이 승인되었음을 나타내는 “grant”신호를 마스터 디바이스(200)에 전송할 수 있다. 또한, 메모리 디바이스(100)의 요청 결과 전송부(330)는 제 1 뱅크는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크는 접근이 거부 되었음을 나타내는 유효성 정보를 마스터 디바이스(200)에게 전송할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 메모리 디바이스(100)가 마스터 디바이스(200)의 접근을 승인하는 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수개의 마스터 디바이스(200)와 연결될 수 있다. 또한, 메모리 디바이스(100)는 복수개의 마스터 디바이스(200)로부터, 메모리 디바이스(100)에 포함된 복수개의 뱅크중 적어도 하나의 뱅크에 대한 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 데이터를 프로세싱하기 위해 메모리 디바이스(100)에 포함된 복수의 뱅크에 대해 접근을 요청할 수 있다. 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크를 지정하여 접근을 요청할 수 있다. 예를 들어, 메모리 디바이스(100)가 제 1 뱅크, 제2 뱅크, 제 3 뱅크, … , 제 N뱅크를 포함하고 있는 경우, 마스터 디바이스(200)는 제 1 뱅크, 제 2 뱅크, 및 제 3 뱅크에 대해 접근을 요청할 수 있다. 또한, 제 2 뱅크 및 제 3 뱅크에 대해 접근을 요청할 수 있으며, 이에 한정되지 않는다.
단계 S415에서, 메모리 디바이스(100)는 접근 요청들 사이에서 뱅크 컨플릭트(Conflict)발생 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 수신한 접근 요청과, 제 2 마스터 디바이스(225)로부터 수신한 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다. 뱅크 컨플릭트(conflict)는, 복수의 마스터 디바이스(200)가 적어도 하나의 동일한 뱅크에 대해 접근을 요청한 경우 발생하는 것으로서, 메모리의 성능 저하를 유발할 수 있다.
예를 들어, 메모리 디바이스(100)는, 제 1 마스터 디바이스(215)가 접근 요청한 뱅크에 제 1 뱅크가 포함되고, 제 2 마스터 디바이스(225)가 접근 요청한 뱅크에도 제 1 뱅크가 포함되는 경우, 뱅크 컨플릭트(conflict)가 발생하였다고 판단할 수 있다.
단계 S420에서, 메모리 디바이스(100)는 우선 순위가 높은 접근 요청을 판단할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)는 접근 요청들의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 기 설정된 우선 순위, 접근 요청한 마스터 디바이스(200)의 종류, 접근 요청의 긴급한 정도, 접근 요청한 마스터 디바이스(200)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
단계 S425에서, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 기초하여, 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 기초하여, 마스터 디바이스(200)의 접근을 승인할 수 있다. 예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 적어도 하나의 뱅크에 대해 접근을 요청한 경우, 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하지 않은 때, 마스터 디바이스(200)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스의 접근 요청들 사이에서, 뱅크 컨플릭트(conflict)가 발생 한 경우, 우선 순위가 높은 접근 요청에 대해 접근을 승인할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과, 제 2 마스터 디바이스(225)의 접근 요청사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 우선하는 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)의 접근을 승인할 수 있다.
단계 S430에서, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터, 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 수신한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 다른 마스터 디바이스의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 다른 마스터 디바이스의 접근 요청보다 우선순위가 낮은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 부분 접근 요청 신호를 수신하였는지 여부를 판단할 수 있다.
메모리 디바이스(100)는 접근 요청과 함께, 또는 접근 요청과 별도로 부분 접근 요청을 수신할 수 있다. 또한, 메모리 디바이스(100)는 접근 요청 신호를 수신한 경우, 부분 접근 요청 신호도 수신한 것으로 결정할 수 있으며, 이에 한정되지 않고 다양한 형태로 부분 접근 요청을 수신할 수 있다.
단계 S435에서, 메모리 디바이스(100)는, 우선순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크 각각에 대해 뱅크 컨플릭트(conflict)가 발생하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대하여 뱅크 컨플릭트(conflict)가 발생 하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 제 1, 2, 3뱅크에 대한 접근 요청을 수신한 경우, 제 1, 2, 3뱅크 각각에 대해, 다른 접근 요청과 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
단계 S440에서, 메모리 디바이스(100)는, 접근 요청된 적어도 하나의 뱅크중에서 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크중에서 접근 가능한 적어도 하나의의 뱅크에 대하여 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생한 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해, 접근을 승인할 수 있다.
단계 S445에서, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 대해 접근의 승인을 거부할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선 순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신하지 못한 경우, 접근의 승인을 거부할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)와 제 2 마스터 디바이스(225)의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 2 마스터 디바이스(225)의 접근 요청 보다 우선순위가 낮은 제 1 마스터 디바이스(215)의 접근 요청에 대해 부분 접근 요청을 수신하지 못한 경우, 제 1 마스터 디바이스(215)의 접근 요청에 대한 승인을 거부할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하였고, 우선 순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신한 경우, 우선 순위가 낮은 접근 요청에 대해 부분적으로 접근을 거부할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생한 뱅크에 대해, 접근의 승인을 거부할 수 있다.
도 5 는 본 발명의 일 실시예에 따라, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)가 접근을 승인하는 방법을 설명하기 위한 도면이다.
도 5를 참조할 때, 제 1 마스터 디바이스(215)와 제 2 마스터 디바이스(225)는 동시에 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크에 대해 접근을 요청할 수 있다. 예를 들어, 제 2 마스터 디바이스(225)는 제 2 뱅크에 대해 접근을 요청할 수 있고, 제 1 마스터 디바이스(215)는 제 2, 3, 4, 5 뱅크에 대해 접근을 요청할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 접근 요청을 수신한 경우, 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 제 2, 3, 4, 5 뱅크에 대한 접근 요청을 수신하고, 제 2 마스터 디바이스(225)로부터 제 2 뱅크에 대한 접근 요청을 수신한 경우, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)가 발생하였다고 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 뱅크 컨플릭트(conbflict)가 발생한 경우, 접근 요청의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이의 우선순위를 결정할 수 있다.
메모리 디바이스(100)는 기 설정된 우선 순위, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)의 종류, 접근 요청의 긴급한 정도, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 결정된 우선순위에 기초하여 마스터 디바이스(200)의 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 높은 제 2 마스터 디바이스(225)의 접근 요청에 대해 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 낮은 접근 요청을 전송한 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)가 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대하여 뱅크 컨플릭트(conflict)가 발생 하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 2 마스터 디바이스(225)의 접근 요청보다 우선순위가 낮은 접근 요청을 전송한 제1 마스터 디바이스(215)로 부터 부분 접근 요청을 수신한 경우, 제 1 마스터 디바이스(215)가 접근 요청한 제 2, 3, 4, 5뱅크 각각에 대해 뱅크 컨플릭트(conflict)가 발생하였는지 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크중에서 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생한 제 2 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생하지 않은 제 3, 4, 5뱅크에 대해, 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근이 승인된 뱅크 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 제 1, 2, 3뱅크중 제 1 뱅크에 대해 접근을 승인하고, 제 2 및 3 뱅크에 대해서 접근을 승인을 거부한 경우, 메모리 디바이스(100)는 접근이 승인되었음을 나타내는 “grant”신호를 마스터 디바이스(200)에 전송할 수 있다. 또한, 메모리 디바이스(100)는 제 1 뱅크는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크는 접근이 거부 되었음을 나타내는 유효성 정보를 마스터 디바이스(200)에게 전송할 수 있다.
도 6 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 흐름도이다.
단계 s610에서, 마스터 디바이스(200)는 메모리 디바이스(100)에게 메모리 디바이스(100)에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근을 요청할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 복수의 뱅크중에서 적어도 하나의 뱅크에 대한 접근을 메모리 디바이스(100)에게 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 또는 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
예를 들어, 마스터 디바이스(200)는 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 1, 2, 3뱅크에 대한 접근을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 메모리 디바이스(100)에게 제 1 ,2 ,3 뱅크중 일부의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대한 승인을 요청하고, 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 요청하는, 부분 접근 요청을 전송할 수 있다.
단계 s620에서, 마스터 디바이스(200)는 메모리 디바이스(100)로부터 접근 요청한 적어도 하나의 뱅크중 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 유효성 정보를 수신할 수 있다. 또한, 마스터 디바이스(200)는 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효성 정보에 기초하여, 접근 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근이 승인된 뱅크로부터 프로세싱된 데이터를 수신하여, 저장할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)는 접근 요청된 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대해 재전송된 접근 요청이 승인되는 경우, 재전송된 접근 요청에 의해 접근이 승인된 뱅크에 대해 데이터를 전송하고 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 프로세싱된 데이터를 수신하여, 저장할 수 있다.
도 7 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 도면이다.
단계 S710에서, 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 복수의 뱅크중에서 적어도 하나의 뱅크에 대한 접근을 메모리 디바이스(100)에게 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 또는 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
예를 들어, 마스터 디바이스(200)는 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 1, 2, 3뱅크에 대한 접근을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 메모리 디바이스(100)에게 제 1 ,2 ,3 뱅크중 일부의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대한 승인을 요청하고, 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 요청하는, 부분 접근 요청을 전송할 수 있다.
단계 S715에서, 마스터 디바이스(200)는 접근 승인 정보를 수신할 수 있다. 예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 마스터 디바이스(200)는 접근 승인을 나타내는 “grant”신호를 메모리 디바이스(100)로부터 수신할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 마스터 디바이스(200)는 접근 승인을 나타내는 “grant”신호를 메모리 디바이스(100)로부터 수신할 수 있다.
마스터 디바이스(200)가 접근 승인 정보를 수신한 경우, 단계 S720에서, 마스터 디바이스(200)는 접근 승인 정보와 함께, 또는 별도로 수신한 유효성 정보를 확인할 수 있다. 마스터 디바이스(200)는 유효성 정보로부터 접근 승인된 뱅크 및 접근이 거부된 뱅크에 대한 정보를 획득할 수 있다.
단계 S725에서, 마스터 디바이스(200)는 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효성 정보에 기초하여, 접근 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근이 승인된 뱅크로부터 프로세싱된 데이터를 수신하여, 저장할 수 있다.
단계 S730에서, 마스터 디바이스(200)는 접근 승인된 뱅크에 대해 유효 부분 맵을 작성할 수 있다. 예를 들어, 마스터 디바이스(200)가 접근 요청한 제 1, 2, 3뱅크중 제 1 뱅크에 대해서만 접근이 승인된 경우, 마스터 디바이스(200)는 제 1 뱅크에 대해서는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크에 대해서는 접근이 승인되지 않았음을 나타내는 유효 부분 맵을 생성할 수 있다.
단계 S735에서, 마스터 디바이스(200)는 접근 요청한 적어도 하나의 뱅크 전부에 대해, 접근이 승인되었는지 여부를 판단할 수 있다. 예를 들어, 마스터 디바이스(200)는 생성된 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효 부분 맵에 기초하여, 접근 요청된 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대해 재전송된 접근 요청이 승인되는 경우, 접근 요청이 승인된 뱅크에 데이터를 전송하며 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 프로세싱된 데이터를 수신하여, 저장할 수 있다.
도 8 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 프로세싱된 데이터를 수신하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 복수개의 마스터 디바이스(200)는 메모리 디바이스(100)와 연결될 수 있다. 또한, 복수개의 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 복수개의 뱅크중 적어도 하나의 뱅크에 대해 접근 요청을 각각 전송할 수 있다.
도 8을 참조할 때, 제 1 마스터 디바이스(215)와 제 2 마스터 디바이스(225)는 동시에 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크에 대해 접근을 요청할 수 있다. 예를 들어, 제 2 마스터 디바이스(225)는 제 2 뱅크에 대해 접근을 요청할 수 있고, 제 1 마스터 디바이스(215)는 제 2, 3, 4, 5 뱅크에 대해 접근을 요청할 수 있다.
또한, 마스터 디바이스(200)는 접근 요청과 함께, 또는 별도로 부분 접근 요청을 메모리 디바이스(100)에게 전송할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)는 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 2, 3, 4, 5뱅크에 대한 접근을 요청하고, 접근 요청과 함께, 또는 접근 요청과 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
제 2 마스터 디바이스(225)의 부분 접근 요청은 제 2 ,3 ,4 ,5 뱅크중 일부의 뱅크만 접근이 가능한 경우, 일부의 뱅크에 대해 접근 승인을 요청하고, 접근이 승인된 뱅크 및 접근의 승인이 거부된 뱅크에 대한 정보를 요청하는 것을 의미한다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 뱅크 컨플릭트(conbflict)가 발생한 경우, 접근 요청의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이의 우선순위를 결정할 수 있다.
메모리 디바이스(100)는 기 설정된 우선 순위, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)의 종류, 접근 요청의 긴급한 정도, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 결정된 우선순위에 기초하여 마스터 디바이스(200)의 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 높은 제 2 마스터 디바이스(225)의 접근 요청에 대해 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 낮은 접근 요청을 전송한 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)가 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대하여 뱅크 컨플릭트(conflict)가 발생 하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 2 마스터 디바이스(225)의 접근 요청보다 우선순위가 낮은 접근 요청을 전송한 제1 마스터 디바이스(215)로 부터 부분 접근 요청을 수신한 경우, 제 1 마스터 디바이스(215)가 접근 요청한 제 2, 3, 4, 5뱅크 각각에 대해 뱅크 컨플릭트(conflict)가 발생하였는지 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크중에서 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생한 제 2 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생하지 않은 제 3, 4, 5뱅크에 대해, 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근이 승인된 뱅크 정보 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)가 접근 승인 정보를 수신한 경우, 마스터 디바이스(200)는 접근 승인 정보와 함께, 또는 별도로 수신한 유효성 정보를 확인할 수 있다. 마스터 디바이스(200)는 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근 승인된 뱅크에 대해 유효 부분 맵을 생성할 수 있다. 예를 들어,도 8을 참조할때, 마스터 디바이스(200)가 접근 요청한 제 2, 3, 4, 5뱅크중 제 3, 4, 5 뱅크에 대해서는 접근이 승인 되었고, 제 2 뱅크에 대해서는 접근이 승인되지 않았음을 나타내는 유효 부분 맵을 생성할 수 있다. 유효 부분 맵에서, “1”은 접근 승인된 뱅크에 매칭되고, “0”은 접근 거부된 뱅크에 매칭될 수 있다.
또한, 마스터 디바이스(200)는 유효 부분 맵을 참고하여, 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다.
또한, 마스터 디바이스(200)는 접근 승인된 뱅크로부터 프로세싱된 데이터를 수신할 수 있다.
도 9 는 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 접근의 승인이 거부된 뱅크에 대해 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근 요청한 적어도 하나의 뱅크 전부에 대해, 접근이 승인되었는지 여부를 판단할 수 있다. 예를 들어, 마스터 디바이스(200)는 생성된 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었는지 여부를 판단할 수 있다.
예를 들어, 도 9 에서, 유효 부분 맵의 “1”은 접근이 승인된 뱅크와 매칭되고, 유호 부분 맵의 “0”은 접근이 거부된 뱅크와 매칭될 수 잇다. 마스터 디바이스(200)는 유효 부분 맵을 이용하여 접근 요청한 제 2, 3, 4, 5뱅크 모두에 대해 접근이 승인되지 않았음을 판단할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다.
예를 들어, 마스터 디바이스(200)는 유효 부분 맵의 “0”과 매칭되는 뱅크에 대한 접근 요청을 재전송 할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 유효 부분 맵을 수정할 수 있다. 예를 들어, 유효 부분 맵의 “0”에 매칭된 뱅크에 대한 접근이 승인되는 경우, 유효 부분의 “0”부분을 “1”로 수정할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근 요청의 재전송에 의해, 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송에 의해 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 프로세싱된 데이터를 접근 요청의 재전송에 의해 접근 승인된 뱅크로부터 수신할 수 있고, 수신한 데이터를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
예를 들어, 마스터 디바이스(200)는 유효 부분 맵에 “0”이 존재하지 않는 경우, 접근 요청의 재전송을 중지할 수 있다.
도 10은 본 발명의 일 실시예에 따른, 변환 유닛(300)을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 제 1 마스터 디바이스(2100)와 메모리 디바이스(100) 사이에 연결될 수 있다. 변환 유닛(300)은 제 1 마스터 디바이스(2100) 및 메모리 디바이스(100)와 별도의 프로세서에 의해 구현될 수 있고, 제 1 마스터 디바이스(2100) 또는 메모리 디바이스(100)와 동일한 프로세서에 의해 구현될 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 제 1 마스터 디바이스(2100)에 결합되어, 제 1 마스터 디바이스(2100)의 메모리 디바이스(100)에 대한 접근 요청을 수신할 수 있다. 또한, 변환 유닛(300)은 제 1 마스터 디바이스(2100)의 접근 요청을 변환할 수 있다.
예를 들어, 변환 유닛(300)은 제 1 마스터 디바이스(2100)의 메모리 디바이스(100)에 대한 접근 요청에, 부분 접근 요청을 부가할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 메모리 디바이스(100)에 전송한 접근 요청에 대해 접근 승인 정보를 수신할 수 있다.
예를 들어, 변환 유닛(300)은 메모리 디바이스(100)로부터 접근의 승인을 나타내는 “grant”신호를 수신할 수 있다.
또한, 변환 유닛(300)은 접근 요청된 뱅크중, 접근이 승인된 뱅크 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 수신할 수 있다.
예를 들어, 변환 유닛(300)은 메모리 디바이스(100)로부터 제 2 뱅크에 대한 접근의 승인은 거부되었고, 제 3, 4, 5뱅크에 대한 접근은 승인되었음을 나타내는 유효성 정보를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)이 접근 승인 정보를 수신한 경우, 변환 유닛(300)은 접근 승인 정보와 함께, 또는 별도로 수신한 유효성 정보를 확인할 수 있다. 변환 유닛(300)은 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 승인된 뱅크에 대해 유효 부분 맵을 생성할 수 있다. 예를 들어,도 10을 참조할때, 변환 유닛(300)이 접근 요청한 제 2, 3, 4, 5뱅크중 제 3, 4, 5 뱅크에 대해서는 접근이 승인 되었고, 제 2 뱅크에 대해서는 접근이 승인되지 않았음을 나타내는 유효 부분 맵을 생성할 수 있다. 유효 부분 맵에서, “1”은 접근 승인된 뱅크에 매칭되고, “0”은 접근 거부된 뱅크에 매칭될 수 있다.
또한, 변환 유닛(300)은 유효 부분 맵을 참고하여, 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다.
또한, 변환 유닛(300)은 접근 승인된 뱅크로부터 프로세싱된 데이터를 수신할 수 있다.
도 11은 본 발명의 일 실시예에 따른, 변환 유닛(300)이 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 요청한 적어도 하나의 뱅크 전부에 대해, 접근이 승인되었는지 여부를 판단할 수 있다. 예를 들어, 변환 유닛(300)은 생성한 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었는지 여부를 판단할 수 있다.
예를 들어, 유효 부분 맵의 “1”은 접근이 승인된 뱅크와 매칭되고, 유호 부분 맵의 “0”은 접근이 거부된 뱅크와 매칭될 수 잇다. 변환 유닛(300)은 유효 부분 맵을 이용하여 접근 요청한 제 2, 3, 4, 5뱅크중 일부의 뱅크에 대해 접근이 승인되지 않았음을 판단할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 변환 유닛(300)은 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다.
예를 들어, 변환 유닛(300)은 유효 부분 맵의 “0”과 매칭되는 뱅크에 대한 접근 요청을 재전송 할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 유효 부분 맵을 수정할 수 있다. 예를 들어, 유효 부분 맵의 “0”에 매칭된 뱅크에 대한 접근이 승인되는 경우, 유효 부분의 “0”부분을 “1”로 수정할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 요청의 재전송에 의해, 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송에 의해 접근이 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 변환 유닛(300)은 프로세싱된 데이터를 접근 요청의 재전송에 의해 접근 승인된 뱅크로부터 수신할 수 있고, 수신한 데이터를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다. 예를 들어, 변환 유닛(300)은 유효 부분 맵에 “0”이 존재하지 않는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 요청한 적어도 하나의 뱅크 전부로부터 프로세싱된 데이터를 수신한 경우, 수신된 데이터를 마스터 디바이스(200)에 전송할 수 있다.
예를 들어, 변환 유닛(300)은 메모리 디바이스(100)에 접근 요청한 제 2, 3, 4, 5 뱅크로부터 프로세싱된 데이터를 수신한 경우, 저장된 데이터를 제 1 마스터 디바이스(2100)에 전송할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었다고 판단한 경우, 저장된 데이터를 제 1 마스터 디바이스(2100)에 전송할 수 있다.
예를 들어, 변환 유닛(300)은 유효 부분 맵에 “0”이 존재하지 않는 경우, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었다고 판단하고, 저장된 데이터를 제 1 마스터 디바이스(2100)에 전송할 수 있다.
도 12는 본 발명의 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 요청 신호를 전송하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 메모리 디바이스(100)에 접근 요청 신호(req)를 전송할 수 있다. 접근 요청 신호(req)는 1 bit의 신호일 수 있고, 2bit의 신호일 수 있으며 이에 한정되지 않는다.
본 발명의 실시예에 따르면, 마스터 디바이스(200)의 접근 요청 신호(req)는 부분 접근 요청 신호를 포함할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청 신호(req)와 함께, 또는 별도로 부분 접근 요청 신호를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 접근 요청 신호(req)에 대한 응답 신호를 전송 할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크 모두가 접근 승인된 경우, 접근 승인을 나타내는 “grant”신호를 제 1 마스터 디바이스(215)에게 전송할 수 있다. 또한, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크중 일부의 뱅크가 접근 승인된 경우, 접근 승인을 나타내는 “grant”신호를 제 1 마스터 디바이스(215)에게 전송할 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)에게 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)에게, 마스터 디바이스(200)가 접근 요청한 적어도 하나의 뱅크 중에서, 접근 승인된 뱅크 및 접근 거부된 뱅크에 대한 정보인, “data_valid”를 전송할 수 있다.
“data_valid”신호는 제 2비트 내지 제 8비트의 신호로 구성될 수 있으며, 이에 한정되지 않는다.
유효성 정보를 나타내는 유효성 정보 신호(data_valid)의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수와 같거나, 접근 요청된 적어도 하나의 뱅크의 개수보다 적을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1, 2뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호(data_valid)는 제 1, 2뱅크 대한 접근 승인 여부를 각각 나타내는 2비트의 신호일 수 있다. 또한, 유효성 정보 신호(data_valid)는 제 1, 2뱅크 모두에 대해 접근이 가능한지 여부를 나타내는 1비트의 신호일 수 있다.
또한, 유효성 정보를 나타내는 유효성 정보 신호(data_valid)의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수보다 많을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1 뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호(data_valid)는 2 비트의 신호일 수 있다. 이 경우, 두개의 비트 각각은 동일한 정보를 나타낼 수 있다. 메모리 디바이스(100)는 동일한 정보를 나타내는 두개의 비트를 이용함으로써, 호환성을 유지할 수 있다.
도 13은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)의 동작을 설명하기 위한 블록도이다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 버퍼(1310)를 포함할 수 있다. 마스터 디바이스(200)는 하나의 버퍼(1310)를 포함할 수 있고, 복수개의 버퍼(1310)를 포함할 수 있으며, 이에 한정되지 않는다. 마스터 디바이스(200)는 소정의 기능을 제공하기 위해 필요한 데이터를 버퍼(1310)에 저장할 수 있다.
또한, 마스터 디바이스(200)는 프리패치 유닛(1320)을 포함할 수 있다. 마스터 디바이스(200)는 프리패치 유닛(1320)을 이용하여, 마스터 디바이스(200) 외부의 디바이스와 데이터를 교환할 수 있다. 예를 들어, 마스터 디바이스(200)는 프리패치 유닛(1320)을 이용하여 메모리에 데이터를 전송할 수 있고, 메모리로부터 데이터를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 메모리 디바이스(100)에 포함된 복수의 뱅크중에서 적어도 하나의 뱅크에 대한 접근을 메모리 디바이스(100)에게 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근 요청과 함께, 또는 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
예를 들어, 마스터 디바이스(200)의 프리패치 유닛(1320)은 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 1, 2, 3뱅크에 대한 접근을 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근 요청과 함께, 메모리 디바이스(100)에게 제 1 ,2 ,3 뱅크중 일부의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대한 승인을 요청하고, 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 요청하는, 부분 접근 요청을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 유효성 정보를 수신할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 예를 들어, 마스터 디바이스(200)의 프리패치 유닛(1320)은 유효성 정보에 기초하여, 접근 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 승인된 뱅크로부터 프로세싱된 데이터를 수신하여, 마스터 디바이스(200)의 버퍼(1310)에 저장할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)의 프리패치 유닛(1320)은는 접근 요청된 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 거부된 뱅크에 대해 재전송된 접근 요청이 승인되는 경우, 재전송된 접근 요청에 의해 접근이 승인된 뱅크에 대해 데이터를 전송하고 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 프로세싱된 데이터를 수신하여, 마스터 디바이스(200)의 버퍼(1310)에 저장할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 제어하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 제어 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (23)

  1. 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서,
    상기 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계;
    상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하는 단계;
    상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하는 단계에 있어서, 상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하는, 단계; 및
    상기 유효성 정보를 상기 마스터 디바이스에 전송하는 단계;
    를 포함하고,
    상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 접근 제어 방법.
  2. 제 1 항에 있어서 상기 결정하는 단계는,
    다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하는 단계;
    상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선 순위를 판단하는 단계;
    상기 우선 순위에 기초하여, 상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하는 단계;
    를 포함하는, 접근 제어 방법.
  3. 제 2 항에 있어서 상기 우선 순위는,
    상기 마스터 디바이스에 의해 결정된 긴급 지수(Urgency level)에 의해 결정되는 것인, 접근 제어 방법.
  4. 제 1항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 접근 제어 방법.
  5. 제 1 항에 있어서 상기 마스터 디바이스는,
    상기 접근 요청된 둘 이상의 뱅크들 중 적어도 하나의 뱅크에 대해 접근 가능한 것을 특징으로 하는, 접근 제어 방법.
  6. 제 1 항에 있어서 상기 접근 제어 방법은,
    상기 결정하는 단계의 결과, 상기 마스터 디바이스의 접근이 승인된 적어도 하나의 뱅크에 대해서, 상기 마스터 디바이스가 요청한 데이터 처리를 수행하는 단계;
    를 더 포함하는, 접근 제어 방법.
  7. 제 1 항에 있어서 상기 접근 제어 방법은,
    상기 유효성 정보에 기초하여 접근이 거부된 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는 단계;
    를 더 포함하는, 접근 제어 방법.
  8. 마스터 디바이스에서 메모리 디바이스에 접근하는 방법에 있어서,
    상기 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 상기 메모리 디바이스에 전송하는 단계; 및
    상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 단계에 있어서, 상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하는, 단계;
    를 포함하고,
    상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 접근 방법.
  9. 제 8 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 접근 방법.
  10. 제 8 항에 있어서 상기 접근 방법은,
    상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 단계;
    를 더 포함하는, 접근 방법.
  11. 제 8 항에 있어서 상기 접근 방법은,
    상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 거부된 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 단계;
    를 포함하는, 접근 방법.
  12. 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 마스터 디바이스로부터 수신하는 접근 요청 수신부;
    상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하고, 상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하는 중재부; 및
    상기 유효성 정보를 상기 마스터 디바이스에 전송하는 요청 결과 전송부;
    를 포함하고,
    상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하고,
    상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 메모리 디바이스.
  13. 제 12 항에 있어서 상기 중재부는,
    다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하고, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선 순위를 판단하고, 상기 우선 순위에 기초하여, 상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하는 것을 특징으로 하는, 메모리 디바이스.
  14. 제 13 항에 있어서 상기 우선 순위는,
    상기 메모리 디바이스에 의해 결정된 긴급 지수(Urgency level)에 의해 결정되는 것인, 메모리 디바이스.
  15. 제 12 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 메모리 디바이스.
  16. 제 12 항에 있어서 상기 마스터 디바이스는,
    상기 접근 요청된 둘 이상의 뱅크들 중 적어도 하나의 뱅크에 대해 접근 가능한 것을 특징으로 하는, 메모리 디바이스.
  17. 제 12 항에 있어서 상기 메모리 디바이스는,
    상기 중재부의 결정 결과, 상기 마스터 디바이스의 접근이 승인된 적어도 하나의 뱅크에 대해서 상기 마스터 디바이스가 요청한 데이터의 프로세싱을 수행하는, 메모리 디바이스.
  18. 제 12 항에 있어서 상기 접근 요청 수신부는,
    상기 유효성 정보에 기초하여 접근이 거부된 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는, 메모리 디바이스.
  19. 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 메모리 디바이스에 전송하고, 상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 프리 패치 유닛을 포함하고,
    상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하고,
    상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 마스터 디바이스.
  20. 제 19 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 마스터 디바이스.
  21. 제 19 항에 있어서 상기 프리 패치 유닛은,
    상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 것을 특징으로 하는, 마스터 디바이스.
  22. 제 19 항에 있어서 상기 프리 패치 유닛은,
    상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 거부된 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 것을 특징으로 하는, 마스터 디바이스.
  23. 제 1 항 내지 제 11 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
KR1020140174291A 2014-12-05 2014-12-05 메모리 접근 제어 방법 및 장치 KR102346629B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140174291A KR102346629B1 (ko) 2014-12-05 2014-12-05 메모리 접근 제어 방법 및 장치
PCT/KR2015/012113 WO2016089020A1 (ko) 2014-12-05 2015-11-11 메모리 접근 제어 방법 및 장치
US15/533,190 US10983723B2 (en) 2014-12-05 2015-11-11 Memory access control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140174291A KR102346629B1 (ko) 2014-12-05 2014-12-05 메모리 접근 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160068479A KR20160068479A (ko) 2016-06-15
KR102346629B1 true KR102346629B1 (ko) 2022-01-03

Family

ID=56091930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140174291A KR102346629B1 (ko) 2014-12-05 2014-12-05 메모리 접근 제어 방법 및 장치

Country Status (3)

Country Link
US (1) US10983723B2 (ko)
KR (1) KR102346629B1 (ko)
WO (1) WO2016089020A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095313B2 (en) * 2019-10-21 2021-08-17 International Business Machines Corporation Employing single error correction and triple error detection to optimize bandwidth and resilience under multiple bit failures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268050A1 (en) * 2004-02-07 2005-12-01 Woon-Sik Suh Multi-port memory device providing protection signal

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702462A (en) * 1967-10-26 1972-11-07 Delaware Sds Inc Computer input-output system
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4796232A (en) * 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5202970A (en) * 1989-02-07 1993-04-13 Cray Research, Inc. Method for sharing memory in a multiprocessor system
JP2673390B2 (ja) * 1991-03-13 1997-11-05 三菱電機株式会社 マルチポートメモリ
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5596740A (en) 1995-01-26 1997-01-21 Cyrix Corporation Interleaved memory conflict resolution with accesses of variable bank widths and partial return of non-conflicting banks
JP2000501539A (ja) 1996-09-25 2000-02-08 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ アドレス競合検出を持つ多重ポート・キャッシュメモリ
EP1050884A1 (en) * 1999-05-03 2000-11-08 STMicroelectronics SA A multiport memory system with write conflict detection
US6779092B2 (en) * 2002-05-15 2004-08-17 Hewlett-Packard Development Company, L.P. Reordering requests for access to subdivided resource
US6978343B1 (en) * 2002-08-05 2005-12-20 Netlogic Microsystems, Inc. Error-correcting content addressable memory
US6954387B2 (en) * 2003-07-15 2005-10-11 International Business Machines Corporation Dynamic random access memory with smart refresh scheduler
JP4708723B2 (ja) * 2004-03-30 2011-06-22 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP4656862B2 (ja) * 2004-05-28 2011-03-23 ルネサスエレクトロニクス株式会社 半導体装置
US7747833B2 (en) * 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US7890686B2 (en) * 2005-10-17 2011-02-15 Src Computers, Inc. Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US7730261B1 (en) * 2005-12-20 2010-06-01 Marvell International Ltd. Multicore memory management system
EP1966708A2 (en) * 2005-12-20 2008-09-10 Nxp B.V. Multi-processor circuit with shared memory banks
JP5016880B2 (ja) * 2006-09-21 2012-09-05 富士通株式会社 優先クラスに応じたメモリ管理方法及び装置
JP2008102759A (ja) * 2006-10-19 2008-05-01 Matsushita Electric Ind Co Ltd メモリアクセス制御装置
US8176265B2 (en) * 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US8108625B1 (en) * 2006-10-30 2012-01-31 Nvidia Corporation Shared memory with parallel access and access conflict resolution mechanism
CN102037514A (zh) * 2008-05-21 2011-04-27 Nxp股份有限公司 包括重排网络的数据处理系统
KR101475346B1 (ko) 2008-07-02 2014-12-23 삼성전자주식회사 비트라인 쌍의 디벨롭 레벨을 클립핑하는 디벨롭 레벨클리핑 회로, 이를 포함하는 컬럼 경로 회로 및 멀티 포트반도체 메모리 장치
KR101553651B1 (ko) 2009-10-13 2015-09-17 삼성전자 주식회사 다중 뱅크 메모리 액세스 장치
US9496009B2 (en) * 2012-06-06 2016-11-15 Mosys, Inc. Memory with bank-conflict-resolution (BCR) module including cache
US8359438B2 (en) * 2010-05-18 2013-01-22 Avago Technologies Enterprise IP (Singapore) Pte. Ltd. Memory banking system and method to increase memory bandwidth via parallel read and write operations
US8380940B2 (en) 2010-06-25 2013-02-19 Qualcomm Incorporated Multi-channel multi-port memory
US9009414B2 (en) * 2010-09-21 2015-04-14 Texas Instruments Incorporated Prefetch address hit prediction to reduce memory access latency
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US8788794B2 (en) 2010-12-07 2014-07-22 Advanced Micro Devices, Inc. Programmable atomic memory using stored atomic procedures
US8621160B2 (en) * 2010-12-17 2013-12-31 Futurewei Technologies, Inc. System and method for contention-free memory access
JP2013089030A (ja) * 2011-10-18 2013-05-13 Elpida Memory Inc 情報処理システム、制御システム及び半導体装置
US8825955B2 (en) * 2011-11-22 2014-09-02 The Regents Of The University Of Michigan Data processing apparatus having a cache configured to perform tag lookup and data access in parallel, and a method of operating the data processing apparatus
KR101862799B1 (ko) * 2011-12-12 2018-05-31 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤 방법
US20140115278A1 (en) * 2012-10-23 2014-04-24 Analog Devices, Inc. Memory architecture
JP6195342B2 (ja) * 2013-03-27 2017-09-13 キヤノン株式会社 情報処理装置およびメモリアクセス制御方法
US9430411B2 (en) * 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
US9633733B2 (en) * 2014-02-26 2017-04-25 Infineon Technologies Ag Method, apparatus and device for data processing for determining a predetermined state of a memory
US9471501B2 (en) * 2014-09-26 2016-10-18 Intel Corporation Hardware apparatuses and methods to control access to a multiple bank data cache
US9576637B1 (en) * 2016-05-25 2017-02-21 Advanced Micro Devices, Inc. Fine granularity refresh

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050268050A1 (en) * 2004-02-07 2005-12-01 Woon-Sik Suh Multi-port memory device providing protection signal

Also Published As

Publication number Publication date
US10983723B2 (en) 2021-04-20
US20170337015A1 (en) 2017-11-23
WO2016089020A1 (ko) 2016-06-09
KR20160068479A (ko) 2016-06-15

Similar Documents

Publication Publication Date Title
US9571408B2 (en) Dynamic flow control using credit sharing
US7818503B2 (en) Method and apparatus for memory utilization
US8490107B2 (en) Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels
US8060679B2 (en) Information processing apparatus and access control method capable of high-speed data access
JP6025428B2 (ja) 発信元デバイスから受信デバイスに対して発行されるトランザクション要求のための動的リソース割り当て
KR101527308B1 (ko) 메모리 인터페이스
KR20150017526A (ko) 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
CN110858188B (zh) 具有分布式信箱结构的多处理器系统及其沟通方法
US7617344B2 (en) Methods and apparatus for controlling access to resources in an information processing system
US20130046933A1 (en) Storing data in any of a plurality of buffers in a memory controller
US8266331B2 (en) Transmitting retry request associated with non-posted command via response credit channel
KR100480605B1 (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
KR20160112305A (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
US20130042252A1 (en) Processing resource allocation within an integrated circuit
US9213660B2 (en) Receiver based communication permission token allocation
KR102346629B1 (ko) 메모리 접근 제어 방법 및 장치
US20170024344A1 (en) Method and System for USB 2.0 Bandwidth Reservation
US20080215823A1 (en) Data consistency control system and data consistency control method
US20150269368A1 (en) Relay apparatus, system, relay method, and computer readable medium
US9798492B2 (en) Semiconductor device including a plurality of function blocks
US11221971B2 (en) QoS-class based servicing of requests for a shared resource
EP3896881B1 (en) Harq data storage management method and device and harq data buffer
US20060156308A1 (en) Deadlock-prevention system
CN116303195A (zh) Pcie通信
CN101196833A (zh) 用于存储器利用的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant