KR102346629B1 - 메모리 접근 제어 방법 및 장치 - Google Patents
메모리 접근 제어 방법 및 장치 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1433—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Abstract
메모리 접근 제어 방법 및 장치가 제공 된다. 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계, 및 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하고, 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 단계를 포함하는 접근 제어 방법이 제공된다,
Description
다수개의 뱅크로 메모리를 구성하여 복수의 마스터 디바이스에 대해 동시 데이터 전송을 허용하는 뱅크드 멀티 포트 메모리의 사용이 증대되고 있다. 뱅크드 멀티 포트 메모리는 다수의 마스터 디바이스에 대한 동시 접근을 허용하여, 싱글 포트 메모리보다 데이터의 처리 속도를 증가시킬 수 있다.
다만, 복수의 마스터 디바이스가 메모리에 포함된 동일한 뱅크에 대해 접근을 요청하는 경우, 뱅크 컨플릭트(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)의 동작을 설명하기 위한 블록도이다.
도 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 항에 있어서 상기 결정하는 단계는,
다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하는 단계;
상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선 순위를 판단하는 단계;
상기 우선 순위에 기초하여, 상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하는 단계;
를 포함하는, 접근 제어 방법. - 제 2 항에 있어서 상기 우선 순위는,
상기 마스터 디바이스에 의해 결정된 긴급 지수(Urgency level)에 의해 결정되는 것인, 접근 제어 방법. - 제 1항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 접근 제어 방법.
- 제 1 항에 있어서 상기 마스터 디바이스는,
상기 접근 요청된 둘 이상의 뱅크들 중 적어도 하나의 뱅크에 대해 접근 가능한 것을 특징으로 하는, 접근 제어 방법. - 제 1 항에 있어서 상기 접근 제어 방법은,
상기 결정하는 단계의 결과, 상기 마스터 디바이스의 접근이 승인된 적어도 하나의 뱅크에 대해서, 상기 마스터 디바이스가 요청한 데이터 처리를 수행하는 단계;
를 더 포함하는, 접근 제어 방법. - 제 1 항에 있어서 상기 접근 제어 방법은,
상기 유효성 정보에 기초하여 접근이 거부된 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는 단계;
를 더 포함하는, 접근 제어 방법. - 마스터 디바이스에서 메모리 디바이스에 접근하는 방법에 있어서,
상기 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 상기 메모리 디바이스에 전송하는 단계; 및
상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 단계에 있어서, 상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하는, 단계;
를 포함하고,
상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 접근 방법. - 제 8 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 접근 방법.
- 제 8 항에 있어서 상기 접근 방법은,
상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 단계;
를 더 포함하는, 접근 방법. - 제 8 항에 있어서 상기 접근 방법은,
상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 거부된 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 단계;
를 포함하는, 접근 방법. - 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 마스터 디바이스로부터 수신하는 접근 요청 수신부;
상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하고, 상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하는 중재부; 및
상기 유효성 정보를 상기 마스터 디바이스에 전송하는 요청 결과 전송부;
를 포함하고,
상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하고,
상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 메모리 디바이스. - 제 12 항에 있어서 상기 중재부는,
다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하고, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선 순위를 판단하고, 상기 우선 순위에 기초하여, 상기 접근 요청된 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 결정하는 것을 특징으로 하는, 메모리 디바이스. - 제 13 항에 있어서 상기 우선 순위는,
상기 메모리 디바이스에 의해 결정된 긴급 지수(Urgency level)에 의해 결정되는 것인, 메모리 디바이스. - 제 12 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 메모리 디바이스.
- 제 12 항에 있어서 상기 마스터 디바이스는,
상기 접근 요청된 둘 이상의 뱅크들 중 적어도 하나의 뱅크에 대해 접근 가능한 것을 특징으로 하는, 메모리 디바이스. - 제 12 항에 있어서 상기 메모리 디바이스는,
상기 중재부의 결정 결과, 상기 마스터 디바이스의 접근이 승인된 적어도 하나의 뱅크에 대해서 상기 마스터 디바이스가 요청한 데이터의 프로세싱을 수행하는, 메모리 디바이스. - 제 12 항에 있어서 상기 접근 요청 수신부는,
상기 유효성 정보에 기초하여 접근이 거부된 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는, 메모리 디바이스. - 메모리 디바이스에 포함된 복수의 뱅크들 중에서, 둘 이상의 뱅크들에 대한 접근 요청을 메모리 디바이스에 전송하고, 상기 둘 이상의 뱅크들 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 프리 패치 유닛을 포함하고,
상기 유효성 정보는, 상기 둘 이상의 뱅크들 중에서 접근이 승인된 적어도 하나의 뱅크에 대한 정보 및 상기 둘 이상의 뱅크들 중에서 접근이 거부된 적어도 하나의 뱅크에 대한 정보를 포함하고,
상기 유효성 정보를 나타내는 비트들의 개수는, 상기 접근 요청된 둘 이상의 뱅크들의 개수에 기초하여 결정되는, 마스터 디바이스. - 제 19 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 마스터 디바이스.
- 제 19 항에 있어서 상기 프리 패치 유닛은,
상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 것을 특징으로 하는, 마스터 디바이스. - 제 19 항에 있어서 상기 프리 패치 유닛은,
상기 유효성 정보에 기초하여, 상기 둘 이상의 뱅크들 중에서 상기 접근이 거부된 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 것을 특징으로 하는, 마스터 디바이스. - 제 1 항 내지 제 11 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
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)
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)
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)
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 |
-
2014
- 2014-12-05 KR KR1020140174291A patent/KR102346629B1/ko active IP Right Grant
-
2015
- 2015-11-11 US US15/533,190 patent/US10983723B2/en active Active
- 2015-11-11 WO PCT/KR2015/012113 patent/WO2016089020A1/ko active Application Filing
Patent Citations (1)
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 |