KR100754359B1 - 복수의 공유 블록을 포함하는 다중 포트 메모리 장치 - Google Patents

복수의 공유 블록을 포함하는 다중 포트 메모리 장치 Download PDF

Info

Publication number
KR100754359B1
KR100754359B1 KR1020060028297A KR20060028297A KR100754359B1 KR 100754359 B1 KR100754359 B1 KR 100754359B1 KR 1020060028297 A KR1020060028297 A KR 1020060028297A KR 20060028297 A KR20060028297 A KR 20060028297A KR 100754359 B1 KR100754359 B1 KR 100754359B1
Authority
KR
South Korea
Prior art keywords
command
port
bank
block
shared
Prior art date
Application number
KR1020060028297A
Other languages
English (en)
Inventor
이병재
Original Assignee
엠텍비젼 주식회사
(주)피델릭스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사, (주)피델릭스 filed Critical 엠텍비젼 주식회사
Priority to KR1020060028297A priority Critical patent/KR100754359B1/ko
Priority to PCT/KR2007/001543 priority patent/WO2007111492A1/en
Application granted granted Critical
Publication of KR100754359B1 publication Critical patent/KR100754359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

본 발명은 다중 포트 메모리 장치에 관한 것으로서, 본 발명에 의한 메모리 장치는 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서, 특정 포트에 대한 액세스만을 허용하는 적어도 하나의 전용 뱅크; 다중 포트에 대한 액세스를 허용하는 적어도 하나의 공유 뱅크를 포함하되, 상기 공유 뱅크는 뱅크의 메모리 영역을 미리 설정된 단위로 분할한 복수의 블록을 포함하고, 상기 다중 포트는 상기 복수의 블록 중 하나의 블록에 독립적으로 액세스하여 사용한다. 본 발명에 의하면, , 다중 포트 메모리에서 각 포트들이 동시에 공유 뱅크에 액세스하여 공유 뱅크의 메모리 영역을 사용할 수 있는 장점이 있으며, 또한, 공유 뱅크의 메모리 영역을 복수의 블록으로 분할함으로써 뱅크의 숫자를 그대로 유지하면서도 실질적으로 뱅크의 숫자가 늘어난 것과 같은 효과를 제공할 수 있다
블록, 다중, 포트

Description

복수의 공유 블록을 포함하는 다중 포트 메모리 장치{Multi-port Memory Device Including Plurality of Shared Blocks}
도 1은 종래의 다중 포트 메모리 중 듀얼 포트 메모리의 뱅크 구조를 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 복수의 공유 블록을 포함하는 다중 포트 메모리 장치의 구성을 도시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 A-포트 및 B-포트가 각 뱅크에 액세스하는 상태를 나타낸 도면.
도 4는 일반적인 MRS 커맨드 및 어드레스 조합의 구조를 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 공유 뱅크 블록 사용을 위한 변형된 MRS 커맨드의 일례를 도시한 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 포트 동작을 도시한 도면.
도 7은 뱅크의 속성을 설정하는 정보가 포함되어 있는 변형된 MRS 커맨드의 구조를 도시한 도면.
도 8 및 도 9는 본 발명의 다른 실시예에 따른 포트 동작을 도시한 도면.
도 10은 공유 뱅크의 특정 블록을 사용하기 위해 변형된 리드 커맨드의 일례 를 도시한 도면.
본 발명은 다중 포트 메모리 장치에 관한 것으로서, 더욱 상세하게는 공유 뱅크를 효율적으로 활용하기 위한 다중 포트 메모리 장치에 관한 것이다.
일반적으로 메모리는 그 구분 방법에 따라 다양하게 나누어진다. 예를 들어, 전원의 인가여부에 따라 저장된 내용이 유지되는지 여부에 따라 휘발성 메모리와 비휘발성 메모리로 구분될 수 있으며, 일반적으로 휘발성 메모리는 RAM(Random Access Memory), 비휘발성 메모리는 ROM(Read Only Memory)이라고 지칭된다.
휘발성 메모리는 다시 주기적으로 메모리를 구성하는 셀(cell)을 재생시켜 주어야 하는지 여부에 따라 DRAM(Dynamic RAM)과 SRAM(Static RAM)으로 구분된다.
또한 이러한 분류 방법 뿐만 아니라 메모리에 접근 가능한 포트의 수에 따라 싱글 포트(single port) 메모리와 듀얼 포트(dual port) 메모리 등으로 나뉜다.
싱글 포트 메모리는 하나의 포트로 메모리를 구성하는 모든 셀(cell)들에 접근 가능한 반면, 싱글 포트 메모리를 제외한 복수개의 포트 메모리는 각각의 포트에서 접근 가능한 셀(cell)이 제한되어 있다.
그러나 최근의 디지털 처리 장치는 각각 미리 설정된 기능을 수행하기 위한 복수의 프로세서(processor)를 구비하고 각각의 프로세서는 오퍼레이션(operation) 을 위한 데이터, 처리하기 위한 데이터, 처리한 데이터 등을 저장하기 위한 메모리와 결합된다.
이러한 복수의 프로세서가 하나의 메모리를 공유하는 메모리 시스템에서는 싱글 포트(single port) 메모리보다 복수개의 포트를 포함하는 다중 포트 메모리가 더욱 효율적이므로 최근 다중 포트 메모리가 널리 사용되고 있다.
도 1은 종래의 다중 포트 메모리 중 듀얼 포트 메모리의 뱅크 구조를 도시한 도면이다.
도 1을 참조하면, 종래의 듀얼 포트 메모리는 A-포트 전용 뱅크(100), 공유 뱅크(102), B-포트 전용 뱅크(104, 106)를 포함한다. A-포트 전용 뱅크(100)는 A, B 두 개의 포트 중 A-포트만이 액세스하여 데이터를 독출하거나 기록하는 뱅크이며, B-포트 전용 뱅크(104, 106)는 B-포트만이 액세스하여 데이터를 독출하거나 기록하는 뱅크이다.
공유 뱅크(102)는 A-포트 또는 B-포트가 모두 액세스하여 데이터를 독출하거나 기록할 수 있는 뱅크이다.
종래에 있어서, 공유 뱅크(102)는 A-포트 및 B-포트가 모두 사용할 수 있는 뱅크이나, A-포트 및 B-포트 중 어느 한 포트가 공유 뱅크를 사용하는 경우에는 다른 포트는 공유 뱅크를 사용할 수 없었다. 즉, A-포트가 공유 뱅크에 액세스하여 데이터를 독출하는 동안은 B-포트는 공유 뱅크에 액세스할 수 없었다. 따라서, B-포트는 A-포트가 공유 뱅크의 사용을 마칠 때까지 대기하였다가 공유 뱅크를 사용 할 수 밖에 없었다.
뱅크의 숫자를 늘려서 이와 같은 문제점을 해결할 수도 있으나, JEDEC 표준은 뱅크 주소에 대해 2비트만을 할당하도록 하고 있는 바, 실질적으로 4개 이상의 뱅크를 사용할 수 없는 문제점이 있었다.
따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 다중 포트 메모리에서 각 포트들이 동시에 공유 뱅크에 액세스하여 공유 뱅크의 메모리 영역을 사용할 수 있는 다중 포트 메모리 장치를 제안하는 것이다.
본 발명의 다른 목적은 공유 뱅크의 메모리 영역을 복수의 블록으로 분할함으로써 뱅크의 숫자를 그대로 유지하면서도 실질적으로 뱅크의 숫자가 늘어난 것과 같은 효과를 제공할 수 있는 다중 포트 메모리 장치를 제안하는 것이다.
본 발명의 또 다른 목적은 독립적으로 동작이 가능한 다수의 블록을 보유하는 공유 뱅크를 포함하는 다중 포트 메모리 장치를 제안하는 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서, 특정 포트에 대한 액세스만을 허용하는 적어도 하나의 전용 뱅크; 다중 포트에 대한 액세스를 허용하는 적어도 하나의 공유 뱅크를 포함하되, 상기 공유 뱅크는 뱅크의 메모리 영역을 미리 설정된 단위로 분할한 복수의 블록을 포함하고, 상기 다중 포트는 상기 복수의 블록 중 하나의 블록에 독립적으로 액세스하여 사용하는 다중 포트 메모리 장치가 제공된다.
상기 다중 포트에서 상기 공유 뱅크의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드일 수 있다.
상기 변형된 어드레스 파트는 공유 뱅크 블록의 주소 정보 및 공유 뱅크 사용과 관련한 커맨드 정보를 포함할 수 있다.
상기 공유 뱅크 사용과 관련한 커맨드는 공유 뱅크의 특정 블록에 대한 점유를 요청하는 셋(SET) 커맨드, 공유 뱅크의 특정 블록에 대한 점유 확인을 요청하는 리드(READ) 커맨드 및 공유 뱅크의 특정 블록에 대한 점유 해제를 요청하는 리셋(RESET) 커맨드를 포함할 수 있다.
상기 공유 뱅크의 각 블록은 상기 셋(SET) 커맨드에 의해 특정 포트가 블록을 점유한 경우, 다른 포트의 액세스를 금지한다.
상기 미리 설정된 메모리 커맨드는 MRS(Mode Register Set) 커맨드일 수 있다.
상기 변형된 어드레스 파트는 각 뱅크의 속성을 설정하기 위한 정보를 더 포함하며, 상기 속성은 특정 포트에 대한 전용 뱅크인지 또는 공유 뱅크인지에 대한 정보를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 제1 포트에 대한 액세스만을 허용하는 제1 포트 전용 뱅크; 제2 포트에 대한 액세스만을 허용하는 제2 포트 전용 뱅크; 제1 포트 및 제2 포트에 대한 액세스를 허용하는 공유 뱅크; 상기 제1 포트로부터 메모리 커맨드를 제공받아 해당 뱅크에 전달하고, 상기 메모리 커맨드 처리 데이터를 상기 제1 포트에 제공하는 제1 컨트롤 로직/레지스터; 및 상기 제2 포트로부터 메모리 커맨드를 제공받아 해당 뱅크에 전달하고, 상기 메모리 커맨드 처리 데이터를 상기 제2 포트에 제공하는 제2 컨트롤 로직/레지스터를 포함하되, 상기 공유 뱅크는 뱅크의 메모리 영역을 미리 설정된 단위로 분할한 복수의 블록을 포함하고, 상기 제1 포트 또는 제2 포트는 상기 복수의 블록 중 하나의 블록에 독립적으로 액세스하여 사용하는 것을 듀얼 포트 메모리 장치가 제공된다.
상기 제1 포트 또는 제2 포트에서 상기 공유 뱅크의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드이며, 상기 제1 레지스터 및 제2 레지스터는 상기 어드레스 파트를 통해 일반 메모리 커맨드인지 또는 공유 블록 사용을 위해 변형된 커맨드인지 여부를 판단한다.
상기 변형된 어드레스 파트는 공유 뱅크 블록의 주소 정보 및 공유 뱅크 사용과 관련한 커맨드 정보를 포함하며, 상기 제1 레지스터 및 제2 레지스터는 상기 공유 뱅크 블록 주소 정보에 상응하는 블록으로 커맨드를 전달한다.
상기 미리 설정된 메모리 커맨드는 MRS 커맨드이며, 상기 공유 뱅크 사용과 관련한 커맨드는 공유 뱅크의 특정 블록에 대한 점유를 요청하는 셋(SET) 커맨드, 공유 뱅크의 특정 블록에 대한 점유 확인을 요청하는 리드(READ) 커맨드 및 공유 뱅크의 특정 블록에 대한 점유 해제를 요청하는 리셋(RESET) 커맨드를 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 특정 포트에 대한 액세스만을 허용하는 적어도 하나의 전용 뱅크 및 다중 포트에 대한 액세스를 허용하고 복수의 블록을 포함하는 공유 뱅크를 포함하는 다중 포트 메모리 장치에서의 메모리 액세스 방법으로서, 상기 다중 포트 중 특정 포트로부터 제공되는 메모리 커맨드가 어드레스 파트가 변형된 메모리 커맨드인지 여부를 판단하는 단계-상기 변형된 어드레스 파트는 상기 공유 뱅크의 블록을 사용하기 위한 커맨드 정보 및 공유 뱅크 블록 주소 정보를 포함함-; 상기 제공된 메모리 커맨드가 어드레스 파트가 변형된 메모리 커맨드일 경우, 상기 변형된 어드레스 파트에 포함된 공유 뱅크 블록 주소 정보에 상응하는 블록으로 메모리 커맨드를 전달하는 단계; 및 상기 공유 뱅크 블록 주소 정보에 상응하는 블록으로부터 메모리 커맨드 처리 정보를 제공받아 해당 포트에 제공하는 단계를 포함하되, 상기 다중 포트 각각은 상기 공유 뱅크의 각 블록에 독립적으로 액세스하는 메모리 액세스 방법이 제공된다.
상기 공유 뱅크의 블록을 사용하기 위한 커맨드는 공유 뱅크의 특정 블록에 대한 점유를 요청하는 셋(SET) 커맨드, 공유 뱅크의 특정 블록에 대한 점유 확인을 요청하는 리드(READ) 커맨드 및 공유 뱅크의 특정 블록에 대한 점유 해제를 요청하는 리셋(RESET) 커맨드를 포함할 수 있다.
이하에서 첨부된 도면을 참조하여 본 발명에 의한 복수의 공유 블록을 포함하는 다중 포트 메모리 장치의 바람직한 실시예를 상세하게 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 복수의 공유 블록을 포함하는 다중 포트 메모리 장치의 구성을 도시한 도면이다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 다중 포트 메모리 장치는 A-포트 전용 뱅크(200), 공유 뱅크(202), 두 개의 B-포트 전용 뱅크(204, 206) 및 제1 및 제2 컨트롤 로직/레지스터(230, 232)를 포함할 수 있으며 공유 뱅크(202)는 다수의 블록(210, 212, 214, 216)을 포함할 수 있다.
도 2에는 두개의 포트에서 메모리 뱅크에 액세스하는 듀얼 포트 메모리 장치가 도시되어 있으나, 본 발명은 두 개 이상의 포트에서 메모리 뱅크에 액세스하는 다중 포트에도 적용될 수 있을 것이다.
어플리케이션(220, 222)은 메모리 장치의 사용을 위해 메모리 장치에 커맨드(COMMAND) 및 어드레스(Address) 정보를 제공하며, 커맨드에 상응하는 처리 데이터를 메모리 장치로부터 제공받는다. 어플리케이션(220, 222) 및 메모리 장치와의 커맨드 정보는 미리 설정되어 있다.
어플리케이션(220)은, 예를 들어, 액트(ACT), 리드(READ), 라이트(WRITE), 프리차지(Precharge), 리프레쉬(Refresh), 모드 레지스터 셋(Mode Register Set: MRS)과 같은 커맨드 정보를 메모리 장치에 제공한다.
상술한 커맨드들은 /RAS, /CAS, /CS 및 /WE 정보의 조합으로 이루어진다.
예를 들어, 액트 커맨드는 /RAS가 로우로 인에이블(enable)되는 커맨드로서, 행(Row) 주소에 맞는 워드(WORD)를 인에이블시키는 커맨드이다.
리드 커맨드는 /CAS가 로우로 인에이블(enable)되는 커맨드로서, 리드 커맨 드와 함께 전송되는 셀 어드레스에 상응하는 데이터를 독출하여 DQ로 출력하는 커맨드이다.
라이트 커맨드는 /CAS 및 /WE가 로우로 인에이블되는 커맨드로서, 라이트 커맨드와 함께 전송되는 셀 어드레스에 DQ로부터 입력되는 데이터를 라이트하는 커맨드이다.
프리차지 커맨드는 /RAS 및 /WE가 로우로 인에이블되는 커맨드로서, 액트(ACT) 커맨드에서 인에이블된 워드 라인을 디스에이블(Disabe)시키는 커맨드이다.
리프레쉬 커맨드는 /RAS 및 /CAS가 로우로 인에이블되는 커맨드로서 메모리의 데이터가 유실되지 않도록 주기적으로 리프레쉬하도록 하는 커맨드이다.
모드 레지스터 셋 커맨드는 ./RAS, /CAS, /CS 및 /WE를 모두 로우로 인에이블시키는 커맨드로서, 메모리 장치의 동기 스펙을 설정하는 커맨드이며, 동기를 설정하기 위한 값은 커맨드와 함께 전송되는 어드레스 필드에 포함된다.
어플리케이션(220)은 상술한 바와 같이 ./RAS, /CAS, /CS 및 /WE의 조합에 의해 미리 설정된 커맨드 및 어드레스를 레지스터(208)에 제공한다.
제1 및 제2 레지스터(230, 232)는 어플리케이션(220)으로부터의 커맨드를 수신하고 커맨드에 포함된 주소에 상응하는 뱅크에 커맨드를 전달하는 기능을 한다.
뱅크(200, 202, 204, 206)는 메모리에서 데이터를 독출하거나 데이터를 쓸 수 있는 단위로서, SDRAM의 경우, JEDEC 표준에 의하면, 뱅크 주소로 두개의 비트가 할당된다. 따라서, 통상적으로 4개의 뱅크로 구분해서 다중 동작을 수행하는 것 이 일반적이다.
도 2에서, A-포트 전용 뱅크(200)는 A-포트만이 액세스하여 데이터를 독출하거나 데이터 기록이 가능한 영역이다. 따라서, B-포트는 A-포트 전용 뱅크(200)에 액세스하는 것이 불가능하다.
B-포트 전용 뱅크(202, 204)는 B-포트만이 액세스하여 데이터를 독출하거나 데이터 기록이 가능한 영역이다. 따라서, A-포트는 B-포트 전용 뱅크(202, 204)에 액세스하는 것이 불가능하다.
도 2에서, A-포트 전용 뱅크로는 하나의 뱅크가 할당되고, B-포트 전용 뱅크로는 두개의 뱅크가 할당되는 경우가 도시되어 있으나, 이는 일례에 불과하며, A-포트 및 B-포트에 할당되는 전용 뱅크 수가 바뀔 수 있다는 점은 당업자에게 있어 자명할 것이다.
공유 뱅크(202)는 A 포트 및 B 포트가 모두 액세스하여 데이터의 독출 및 데이터의 쓰기가 가능한 영역이다. 종래의 경우, 공유 뱅크(202)에 A 포트 및 B 포트 어느 포트도 액세스하는 것이 가능하나, A 포트가 공유 뱅크(202)를 점유하고 있는 동안은 B 포트가 공유 뱅크(202)에 액세스할 수 없었으며, B 포트가 공유 뱅크(202)를 점유하고 있는 동안은 A 포트가 공유 뱅크(202)에 액세스할 수 없었다.
따라서, 종래에 의할 경우, A 포트 및 B 포트는 교대로 공유 뱅크(202)를 사용할 수 있었을 뿐 동시에 공유 뱅크(202)를 사용할 수는 없었다. 예를 들어, A 포트가 공유 뱅크에 접속하여 공유 뱅크에 쓰여진 데이터를 독출하는 동안, B 포트는 A 포트에게 전달할 데이터를 공유 뱅크에 기록하는 것이 불가능하였다.
본 발명의 바람직한 실시예에 따르면, 이러한 종래의 문제점을 해결하기 위해 독립적으로 액세스가 가능한 복수의 블록(210, 212, 214, 216)이 공유 뱅크에 구비된다.
복수의 블록(210, 212, 214, 216)은 독립적으로 동작이 가능하며, A 포트 및 B 포트는 복수의 블록 중 하나에 독립적으로 액세스가 가능하다. 예를 들어, A 포트가 블록0(210)에 액세스하여 데이터를 독출 또는 쓰는 경우, B 포트는 블록1(212)에 액세스하여 데이터를 독출 또는 쓰는 것이 가능하다. 다만, A 포트가 점유하여 사용하는 특정 블록을 점유하여 사용하는 동안 B 포트는 A 포트가 점유하여 사용하는 블록에 대해서는 사용할 수 없다.
A 포트 및 B 포트가 독립적으로 공유 뱅크(202)에 구비된 블록들에 액세스하는 구조는 도 3을 통해 설명하기로 한다.
도 2에는 공유 뱅크가 4개의 블록을 구비하는 경우가 도시되어 있으나, 공유 블록의 개수는 2N개 중 하나로 다양하게 변경될 수 있을 것이다. 예를 들어, 공유 블록의 개수는 2개, 4개, 8개, 16개 등과 같이 필요에 따라 변경될 수 있다.
어플리케이션과 메모리 사이에는 A 포트 및 B 포트가 독립적으로 공유 뱅크(202)에 구비된 블록들(210, 212, 214, 216)에 액세스하여 블록을 사용하기 위한 명령어 조합이 미리 설정되어 있다. 이러한 명령어 조합은 도 4 및 도 5를 참조하여 상세히 설명하기로 한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 A-포트 및 B-포트가 각 뱅크에 액세스하는 상태를 나타낸 도면이다.
도 3에서, 뱅크0(300)는 A-포트 전용 뱅크이고, 뱅크1(302)은 공유 뱅크이며, 뱅크3는 B 포트 전용 뱅크이다.
도 3에서, 각 뱅크의 X 디코더는 행(row) 주소에 대한 코딩을 수행하고, Y 디코더는 열(column)에 주소에 대한 코딩을 수행한다. 또한, 각 뱅크의 S 또는 C는 뱅크로 전달되는 커맨드를 처리하는 컨트롤 회로로서의 역할을 수행한다.
도 3에 도시된 바와 같이, 뱅크0(300)로는 A 포트만이 액세스하며, 뱅크0의 컨트롤 회로는 A-포트로부터 입력되는 커맨드 신호를 처리하며, 예를 들어, 커맨드에 포함된 주소 정보를 판단하고 주소 정보에 상응하는 셀로부터 데이터를 독출하거나 셀에 데이터를 기록하는 기능을 수행한다.
뱅크2(304)로는 B 포트만이 액세스하며, 뱅크2의 컨트롤 회로는 B-포트로부터 입력되는 커맨드 정보를 처리한다.
공유 뱅크인 뱅크1(302)의 각 블록 별로 X 디코더, Y 디코더 및 컨트롤 회로(S0, S1, S2, S3)가 구비되며, 각 컨트롤 회로(S0, S1, S2, S3)로는 A-포트 또는 B-포트가 액세스한다. 뱅크1(302)의 각 블록의 컨트롤 회로는 A-포트와 B-포트 중 먼저 점유한 하나의 포트의 액세스만을 허용하며, 점유한 포트와 일련의 데이터 입출력 동작을 수행한다.
A-포트가 뱅크1(302)의 블록0을 점유한 경우, B-포트는 뱅크1의 블록1 내지 블록3을 점유하여 사용할 수 있다. 각 블록은 독립적으로 동작하고, 특정 포트로부터의 액세스를 허용할지 여부를 독립적으로 결정한다.
즉 A-포트 및 B 포트는 공유 뱅크인 뱅크1에 동시에 액세스하여 데이터를 독출 및 기록하는 것이 가능하며, 따라서, A-포트가 블록0로부터 데이터를 독출하는 동안, B-포트는 A-포트에 전달할 데이터를 블록1에 액세스하여 기록할 수 있다. 종래의 경우, A-포트가 공유 뱅크로부터 데이터를 독출하는 경우, B-포트는 A-포트가 공유 뱅크로부터의 데이터 독출을 완료한 후에야 공유 뱅크에 데이터를 기록하는 것이 가능하였으나, 본 발명에 의하면, 공유 뱅크에 A-포트 및 B 포트가 동시에 데이터를 독출 및 기록하는 것이 가능하다.
이하에서는 A-포트 및 B-포트가 독립적으로 공유 뱅크의 블록에 액세스하기 위한 커맨드 형태에 대해 살펴보기로 한다.
본 발명은 기존의 메모리 커맨드를 이용하여 복수의 포트가 공유 뱅크의 블록에 독립적으로 액세스하는 방법을 제안한다. 통상적으로 어플리케이션으로부터 제공되는 커맨드는 커맨드 타입과 어드레스로 구성되며, 본 발명은 커맨드 타입은 기존의 커맨드 타입을 사용하면서 어드레스를 다르게 구성한 공유 뱅크 블록 액세스 커맨드를 사용한다.
본 발명의 바람직한 실시예에 따르면, MRS 커맨드 및 어드레스의 조합을 이용하여 특정 포트가 공유 뱅크의 특정 블록을 액세스하여 사용하도록 한다.
전술한 바와 같이, MRS 커맨드는 동기 스펙과 같은 메모리 장치의 다양한 스펙을 설정하는 역할을 하는 커맨드이나, 본 발명은 MRS 커맨드와 조합되는 어드레스를 표준에 의해 설정된 어드레스와 다르게 하여 특정 포트가 공유 뱅크의 특정 블록을 사용하는 커맨드로 활용하도록 한다.
도 4는 일반적인 MRS 커맨드 및 어드레스 조합의 구조를 나타낸 도면이다.
도 4를 참조하면, 일반적인 MRS 커맨드는 커맨드 타입을 설정하는 파트(400)과 어드레스 파트(402)로 구분되며, 도 4에 도시된 바와 같이, 커맨드 타입을 설정하는 파트에서 /CAS, /RAS. /CS 및 /WE는 모두 로우로 설정되며, 레지스터는 이를 통해 MRS 커맨드임을 식별한다.
어드레스 파트(502)에는 메모리의 동작 스펙을 설정하기 위한 정보가 기록된다. 설정되는 스펙은 버스트 길이(Burst Length), 버스트(Burst) 타입, CAS 레이턴시(Latency), 동작 모드 및 기록 버스트 모드(Write Burst Mode)를 포함한다. MRS 커맨드에 의해 설정된 스펙은 새로운 스펙이 설정되거나 메모리 장치에 전원을 잃기 전까지 유지된다.
버스트 길이를 설정하기 위해 통상적으로 3비트를 할당하며, 버스트 길이를 1, 2, 4, 8 중 하나로 설정한다. CAS 레이턴시를 설정하기 위해 3비트를 할당하고, 통상적으로 세 종류의 CAS 레이턴시를 설정한다. 동작 모드를 설정하기 위해 2개의 비트를 할당하고, 라이트 버스트 모드 및 버스트 타입을 설정하기 위해 1개의 비트를 할당한다.
본 발명은 상술한 MRS의 커맨드의 커맨드 타입 및 어드레스의 형태는 그대로 유지하되 일반 MRS 커맨드와는 다른 어드레스 비트를 사용함으로써 A-포트 및 B-포트가 독립적으로 공유 뱅크의 블록을 사용할 수 있도록 한다. 이와 같이, 변형된 MRS 커맨드가 공유 뱅크의 블록을 사용하기 위한 커맨드로 사용된다는 점은 어플리케이션과 메모리 장치 사이에 미리 설정된다.
도 5는 본 발명의 바람직한 일 실시예에 따른 공유 뱅크 블록 사용을 위한 변형된 MRS 커맨드의 일례를 도시한 도면이다.
도 5를 참조하면, 공유 뱅크 블록 사용을 위한 변형된 MRS 커맨드는 커맨드 타입 파트(500)는 통상의 MRS 커맨드와 동일하고, 어드레스 파트에는 공유 블록 커맨드 정보(502)와 공유 블록 주소 정보(504)가 포함된다.
도 5에 도시된 바와 같이, 커맨드 타입 파트는 통상의 MRS 커맨드와 동일하므로 컨트롤 로직/레지스터는 어드레스 파트의 정보를 통해 공유 뱅크 블록 사용을 위해 변형된 MRS 커맨드인지 또는 통상의 MRS 커맨드인지 여부를 판단한다.
공유 블록 커맨드 정보는 공유 블록 사용을 위해 설정된 커맨드 정보를 포함한다. 본 발명의 바람직한 실시예에 따르면, 공유 블록 사용을 위해 설정된 커맨드는 셋(SET), 리드(READ), 리셋(RESET) 커맨드를 포함한다.
셋(SET) 커맨드는 공유 뱅크의 특정 블록을 점유하기 위한 커맨드이다. A-포트 또는 B-포트에서 특정 블록을 사용하고자 하는 경우, 우선 셋(SET) 커맨드를 이용한 블록 점유를 시도한다.
리드(READ 커맨드는 공유 뱅크의 특정 블록을 점유하고 있는 상태인지 확인하기 위한 커맨드이다. 리드(READ) 커맨드가 전달될 경우, 메모리 장치는 현재 리드(READ) 커맨드를 전송한 포트가 해당 블록을 점유하고 있는지 여부에 대한 확인 정보를 제공한다. 특정 포트에서 메모리 장치 공유 뱅크의 특정 블록을 사용하고자 하는 경우, 셋(SET) 커맨드를 통해 해당 블록을 점유하고, 리드(READ) 커맨드를 통해 해당 블록을 정상적으로 점유하였는지 여부를 확인한다.
리셋(RESET) 커맨드는 공유 뱅크의 특정 블록에 대한 점유를 해제하기 위한 커맨드이다. 공유 뱅크의 메모리 블록에 대한 사용을 마칠 경우, 리셋(RESET) 커맨드를 통해 해당 블록에 대한 점유를 해제한다.
공유 뱅크 블록 사용을 위한 커맨드의 종류가 상술한 바와 같이, 세 종류인 경우 커맨드를 설정하기 위한 비트로 두 개의 비트가 사용될 수 있다. 그러나, 상술한 세 종류의 커맨드 이외에 다양한 종류의 커맨드가 추가적으로 설정될 수 있으며, 이 경우 커맨드 설정을 위한 추가적인 비트가 사용될 수 있다는 점은 당업자에게 있어 자명할 것이다.
셋(SET) 커맨드 및 리드(READ) 커맨드에 의해 특정 블록의 점유 및 점유 확인이 이루어진 후에는 통상의 리드 커맨드, 라이트 커맨드 등을 통해 특정 블록의 데이터를 독출하거나 데이터를 기록하는 것이 가능하다.
공유 블록 주소 정보(504)에는 공유 블록 커맨드(504)와 관련한 블록 주소 정보가 포함된다. 도 1과 같이, 4개의 블록이 공유 뱅크에 구비되는 경우, 블록 주소를 위해 2개의 비트가 할당될 수 있으며, 8개의 블록이 공유 뱅크에 구비되는 경우, 블록 주소를 위해 3개의 비트가 할당될 수 있을 것이다.
변형된 MRS 커맨드는 어드레스 파트의 비트수가 통상의 MRS 커맨드와 동일하여야 하므로, 상술한 공유 블록 커맨드와 공유 블록 주소를 설정하기 위한 비트 이외의 여분의 비트는 미리 설정된 값이 되도록 한다. 예를 들어, 여분의 비트에 대해서는 모두 로우 값을 가지도록 설정할 수 있다.
상기에서는 MRS 커맨드를 변형하여 공유 뱅크의 특정 블록을 사용하는 커맨 드로 활용하는 경우에 대해 설명하였으나, 본 발명이 공유 뱅크의 특정 블록 사용을 위해 MRS 커맨드를 변형하는 것에 한정되는 것은 아니며, 다른 커맨드를 변형하여 공유 뱅크의 특정 블록을 사용하는 커맨드로 활용할 수도 있다.
예를 들어, 리드 커맨드, 라이트 커맨드 등을 변형하여 공유 뱅크의 특정 블록을 사용하기 위한 커맨드로 활용할 수도 있다.
도 10은 공유 뱅크의 특정 블록을 사용하기 위해 변형된 리드 커맨드의 일례를 도시한 도면이다.
도 10에 도시된 바와 같이, MRS 커맨드가 아닌 리드 커맨드의 어드레스를 변경을 통해서도 공유 뱅크의 블록을 사용하는 커맨드로 활용할 수 있다. 도 5와 비교할 때, 도 10은 어드레스 파트는 도 5와 동일한 정보를 포함하며, 커맨드 타입만을 리드 커맨드로 설정한다. 변형된 리드 커맨드가 공유 뱅크의 블록을 사용하는 커맨드로 활용될 경우, 이러한 정보는 어플리케이션과 메모리 장치 사이에 미리 설정된다.
다만, 리드 커맨드, 라이트 커맨드 등을 이용하는 경우 어드레스 파트는 MRS 커맨드와 같이 스펙을 설정하기 위한 정보를 포함하는 것이 아니라 셀 어드레스를 포함하므로 어드레스 파트의 활용이 MRS 커맨드를 이용하는 경우보다 제한적일 수 있다.
도 6은 본 발명의 바람직한 일 실시예에 따른 포트 동작을 도시한 도면이다.
도 6을 참조하면, A-포트 전용 뱅크인 뱅크0(600)로는 A-포트만이 액세스하여 데이터를 독출 또는 기록하며, B-포트 전용 뱅크인 뱅크2(604) 및 뱅크3(606)로 는 B-포트만이 액세스하여 데이터를 독출 또는 기록한다.
공유 뱅크인 뱅크1(602)에는 A-포트 및 B-포트가 동시에 액세스하여 데이터를 독출 또는 기록하는 것이 가능하다. A-포트가 상술한 셋(SET) 커맨드를 통해 블록0을 점유한 경우, B-포트는 블록0을 제외한 다른 블록을 셋(SET) 커맨드를 통해 점유할 수 있다.
따라서, A-포트가 블록0에서 데이터를 독출하는 동안, B-포트는 A-포트에게 전달할 데이터를 블록1 내지 블록3 중 어느 하나의 블록에 기록하는 것이 가능하다.
도 8 및 도 9는 본 발명의 다른 실시예에 따른 포트 동작을 도시한 도면이다.
도 8 및 도 9에 도시된 바와 같이, A-포트 전용 뱅크의 수, B-포트 전용 뱅크의 수 및 공유 뱅크의 수는 다양하게 변경될 수 있다.
도 6과 비교할 때, 도 8은 두 개의 공유 뱅크(804, 806)가 사용되는 경우를 도시하고 있으며, 도 9는 두 개의 A-포트 전용 뱅크(900, 902)가 사용되는 경우를 도시하고 있다.
이와 같이, 뱅크의 속성을 변경하는 커맨드 역시 상술한 변형된 MRS 커맨드를 통해 이루어질 수 있으며, 도 7은 뱅크의 속성을 설정하는 정보가 포함되어 있는 변형된 MRS 커맨드의 구조를 도시한 도면이다.
도 7을 참조하면, 도 5와 비교할 때, 변형된 MRS 커맨드는 뱅크 속성 설정 파트(706)를 더 포함하고 있다. 뱅크 속성 설정 파트에는 각 뱅크가 A-포트 전용 뱅크인지, B-포트 전용 뱅크인지 또는 공유 뱅크인지 여부를 설정하기 위한 정보가 포함된다.
도 7과 달리, 공유 블록 커맨드 파트에 뱅크 속성 설정을 위한 커맨드를 포함시킬 수도 있을 것이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상술한 바와 같이 본 발명의 바람직한 실시예에 따르면, 다중 포트 메모리에서 각 포트들이 동시에 공유 뱅크에 액세스하여 공유 뱅크의 메모리 영역을 사용할 수 있는 장점이 있다.
또한, 본 발명의 바람직한 실시예에 따르면, 공유 뱅크의 메모리 영역을 복수의 블록으로 분할함으로써 뱅크의 숫자를 그대로 유지하면서도 실질적으로 뱅크의 숫자가 늘어난 것과 같은 효과를 제공할 수 있다.

Claims (13)

  1. 둘 이상의 포트를 구비하는 다중 포트 메모리 장치에 있어서,
    특정 포트에 대한 액세스만을 허용하는 적어도 하나의 전용 뱅크;
    다중 포트에 대한 액세스를 허용하는 적어도 하나의 공유 뱅크를 포함하되,
    상기 공유 뱅크는 뱅크의 메모리 영역을 미리 설정된 단위로 분할한 복수의 블록을 포함하고, 상기 다중 포트는 상기 복수의 블록 중 하나의 블록에 독립적으로 액세스하여 사용하는 것을 특징으로 하는 다중 포트 메모리 장치.
  2. 제1항에 있어서,
    상기 다중 포트에서 상기 공유 뱅크의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드인 것을 특징으로 하는 다중 포트 메모리 장치.
  3. 제2항에 있어서,
    상기 변형된 어드레스 파트는 공유 뱅크 블록의 주소 정보 및 공유 뱅크 사용과 관련한 커맨드 정보를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  4. 제3항에 있어서,
    상기 공유 뱅크 사용과 관련한 커맨드는 공유 뱅크의 특정 블록에 대한 점유 를 요청하는 셋(SET) 커맨드, 공유 뱅크의 특정 블록에 대한 점유 확인을 요청하는 리드(READ) 커맨드 및 공유 뱅크의 특정 블록에 대한 점유 해제를 요청하는 리셋(RESET) 커맨드를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  5. 제4항에 있어서,
    상기 공유 뱅크의 각 블록은 상기 셋(SET) 커맨드에 의해 특정 포트가 블록을 점유한 경우, 다른 포트의 액세스를 금지하는 것을 특징으로 하는 다중 포트 메모리 장치.
  6. 제2항에 있어서,
    상기 미리 설정된 메모리 커맨드는 MRS(Mode Register Set) 커맨드인 것을 특징으로 하는 다중 포트 메모리 장치.
  7. 제2항에 있어서,
    상기 변형된 어드레스 파트는 각 뱅크의 속성을 설정하기 위한 정보를 더 포함하며, 상기 속성은 특정 포트에 대한 전용 뱅크인지 또는 공유 뱅크인지에 대한 정보를 포함하는 것을 특징으로 하는 다중 포트 메모리 장치.
  8. 제1 포트에 대한 액세스만을 허용하는 제1 포트 전용 뱅크;
    제2 포트에 대한 액세스만을 허용하는 제2 포트 전용 뱅크;
    제1 포트 및 제2 포트에 대한 액세스를 허용하는 공유 뱅크;
    상기 제1 포트로부터 메모리 커맨드를 제공받아 해당 뱅크에 전달하고, 상기 메모리 커맨드 처리 데이터를 상기 제1 포트에 제공하는 제1 컨트롤 로직/레지스터; 및
    상기 제2 포트로부터 메모리 커맨드를 제공받아 해당 뱅크에 전달하고, 상기 메모리 커맨드 처리 데이터를 상기 제2 포트에 제공하는 제2 컨트롤 로직/레지스터를 포함하되,
    상기 공유 뱅크는 뱅크의 메모리 영역을 미리 설정된 단위로 분할한 복수의 블록을 포함하고, 상기 제1 포트 또는 제2 포트는 상기 복수의 블록 중 하나의 블록에 독립적으로 액세스하여 사용하는 것을 특징으로 하는 듀얼 포트 메모리 장치.
  9. 제8항에 있어서,
    상기 제1 포트 또는 제2 포트에서 상기 공유 뱅크의 특정 블록을 액세스하여 사용하기 위한 커맨드는 미리 설정된 메모리 커맨드의 어드레스 파트를 변형한 커맨드이며, 상기 제1 레지스터 및 제2 레지스터는 상기 어드레스 파트를 통해 일반 메모리 커맨드인지 또는 공유 블록 사용을 위해 변형된 커맨드인지 여부를 판단하는 것을 특징으로 하는 듀얼 포트 메모리 장치.
  10. 제9항에 있어서,
    상기 변형된 어드레스 파트는 공유 뱅크 블록의 주소 정보 및 공유 뱅크 사 용과 관련한 커맨드 정보를 포함하며, 상기 제1 레지스터 및 제2 레지스터는 상기 공유 뱅크 블록 주소 정보에 상응하는 블록으로 커맨드를 전달하는 것을 특징으로 하는 듀얼 포트 메모리 장치.
  11. 제9항에 있어서,
    상기 미리 설정된 메모리 커맨드는 MRS 커맨드이며, 상기 공유 뱅크 사용과 관련한 커맨드는 공유 뱅크의 특정 블록에 대한 점유를 요청하는 셋(SET) 커맨드, 공유 뱅크의 특정 블록에 대한 점유 확인을 요청하는 리드(READ) 커맨드 및 공유 뱅크의 특정 블록에 대한 점유 해제를 요청하는 리셋(RESET) 커맨드를 포함하는 것을 특징으로 하는 듀얼 포트 메모리 장치.
  12. 특정 포트에 대한 액세스만을 허용하는 적어도 하나의 전용 뱅크 및 다중 포트에 대한 액세스를 허용하고 복수의 블록을 포함하는 공유 뱅크를 포함하는 다중 포트 메모리 장치에서의 메모리 액세스 방법으로서,
    상기 다중 포트 중 특정 포트로부터 제공되는 메모리 커맨드가 어드레스 파트가 변형된 메모리 커맨드인지 여부를 판단하는 단계-상기 변형된 어드레스 파트는 상기 공유 뱅크의 블록을 사용하기 위한 커맨드 정보 및 공유 뱅크 블록 주소 정보를 포함함-;
    상기 제공된 메모리 커맨드가 어드레스 파트가 변형된 메모리 커맨드일 경우, 상기 변형된 어드레스 파트에 포함된 공유 뱅크 블록 주소 정보에 상응하는 블 록으로 메모리 커맨드를 전달하는 단계; 및
    상기 공유 뱅크 블록 주소 정보에 상응하는 블록으로부터 메모리 커맨드 처리 정보를 제공받아 해당 포트에 제공하는 단계를 포함하되,
    상기 다중 포트 각각은 상기 공유 뱅크의 각 블록에 독립적으로 액세스하는 것을 특징으로 하는 메모리 액세스 방법.
  13. 제12항에 있어서,
    상기 공유 뱅크의 블록을 사용하기 위한 커맨드는 공유 뱅크의 특정 블록에 대한 점유를 요청하는 셋(SET) 커맨드, 공유 뱅크의 특정 블록에 대한 점유 확인을 요청하는 리드(READ) 커맨드 및 공유 뱅크의 특정 블록에 대한 점유 해제를 요청하는 리셋(RESET) 커맨드를 포함하는 것을 특징으로 하는 메모리 액세스 방법.
KR1020060028297A 2006-03-29 2006-03-29 복수의 공유 블록을 포함하는 다중 포트 메모리 장치 KR100754359B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060028297A KR100754359B1 (ko) 2006-03-29 2006-03-29 복수의 공유 블록을 포함하는 다중 포트 메모리 장치
PCT/KR2007/001543 WO2007111492A1 (en) 2006-03-29 2007-03-29 Multi-port memory device including plurality of shared blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060028297A KR100754359B1 (ko) 2006-03-29 2006-03-29 복수의 공유 블록을 포함하는 다중 포트 메모리 장치

Publications (1)

Publication Number Publication Date
KR100754359B1 true KR100754359B1 (ko) 2007-09-03

Family

ID=38541374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060028297A KR100754359B1 (ko) 2006-03-29 2006-03-29 복수의 공유 블록을 포함하는 다중 포트 메모리 장치

Country Status (2)

Country Link
KR (1) KR100754359B1 (ko)
WO (1) WO2007111492A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0881575A4 (en) * 1996-02-16 2002-04-17 Hitachi Ltd MULTIPLE ACCESS MEMORY AND DATA PROCESSOR PROVIDING ACCESS TO THE MEMORY
US5815456A (en) * 1996-06-19 1998-09-29 Cirrus Logic, Inc. Multibank -- multiport memories and systems and methods using the same
KR19990071554A (ko) * 1996-09-25 1999-09-27 요트.게.아. 롤페즈 어드레스충돌검출기능을갖는멀티포트캐시메모리
EP1513157A1 (en) * 2003-09-02 2005-03-09 Deutsche Thomson-Brandt GmbH Method for multibank memory scheduling

Also Published As

Publication number Publication date
WO2007111492A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
EP2009644B1 (en) Memory device, memory controller and memory system
KR100816053B1 (ko) 셀프 카피 기능을 가지는 메모리 장치, 메모리 시스템 및듀얼 포트 메모리 장치
US10762008B2 (en) Delay circuit and write and read latency control circuit of memory, and signal delay method thereof
US20100146201A1 (en) Memory device, memory controller and memory system
US20090021999A1 (en) Semiconductor device
TWI700585B (zh) 半導體裝置及包含該半導體裝置的記憶體系統
US8914589B2 (en) Multi-port DRAM architecture for accessing different memory partitions
JP5599969B2 (ja) マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム
US20210349839A1 (en) Multi-ported nonvolatile memory device with bank allocation and related systems and methods
JP4229958B2 (ja) メモリ制御システムおよびメモリ制御回路
US6542958B1 (en) Software control of DRAM refresh to reduce power consumption in a data processing system
CN107369473B (zh) 存储***及其操作方法
KR100754359B1 (ko) 복수의 공유 블록을 포함하는 다중 포트 메모리 장치
KR100781129B1 (ko) 다중 포트 메모리 장치 및 그 데이터의 출력 방법
US7586779B2 (en) Controller apparatus for utilizing downgrade memory and method for operating the same
KR100834373B1 (ko) 다중 포트 메모리 장치 및 그 접근 권한의 제어 방법
KR100715525B1 (ko) 독립적인 입출력 파워와 클럭을 가지는 다중 포트 메모리장치
US7941617B2 (en) System and device having alternative bit organization
KR100843580B1 (ko) 접근 권한 레지스터 로직을 갖는 다중 포트 메모리 장치 및그 제어 방법
KR100754358B1 (ko) 공유 저장영역의 리프레쉬 방법 및 그 방법을 수행하는다중 포트 메모리 장치
KR100754360B1 (ko) 공유 저장영역의 안정적인 리프레쉬를 수행하는 다중 포트메모리 장치 및 그 리프레쉬 방법
US20240177746A1 (en) Address decoding method, and memory controller and semiconductor memory system using the same
KR100754361B1 (ko) 데이터 입출력 파워 공유가 가능한 다중 포트 메모리 장치
JP4383495B2 (ja) 半導体集積回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120710

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150729

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190725

Year of fee payment: 13