KR100781983B1 - Multi-path accessible semiconductor memory device having check information serving function - Google Patents
Multi-path accessible semiconductor memory device having check information serving function Download PDFInfo
- Publication number
- KR100781983B1 KR100781983B1 KR1020060112559A KR20060112559A KR100781983B1 KR 100781983 B1 KR100781983 B1 KR 100781983B1 KR 1020060112559 A KR1020060112559 A KR 1020060112559A KR 20060112559 A KR20060112559 A KR 20060112559A KR 100781983 B1 KR100781983 B1 KR 100781983B1
- Authority
- KR
- South Korea
- Prior art keywords
- area
- message
- check
- mailbox
- memory device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
Abstract
Description
도 1은 휴대용 통신 디바이스에 채용된 통상적인 멀티 프로세서 시스템의 블록도이고,1 is a block diagram of a typical multiprocessor system employed in a portable communication device,
도 2는 본 발명에 적용되는 메모리를 채용한 멀티 프로세서 시스템의 블록도이고,2 is a block diagram of a multiprocessor system employing a memory according to the present invention;
도 3은 종래기술에 따른 멀티 프로세서 시스템의 메모리 어레이 포션을 보여주는 블록도이고,3 is a block diagram illustrating a memory array portion of a multiprocessor system according to the prior art;
도 4는 본 발명의 일 실시예에 따른 멀티패스 억세스블 DRAM을 갖는 멀티 프로세서 시스템의 블록도이고,4 is a block diagram of a multiprocessor system with multipath accessible DRAM according to one embodiment of the invention,
도 5는 도 4의 DRAM의 메모리 영역들과 포트들 및 내부 버퍼의 배치관계를 보인 블록도이고,FIG. 5 is a block diagram illustrating an arrangement relationship between memory areas, ports, and an internal buffer of the DRAM of FIG. 4;
도 6은 도 4의 프로세서들 간의 메일 박스 및 체크 영역에 대한 인터페이스 동작의 예를 보인 블록도이고,FIG. 6 is a block diagram illustrating an example of an interface operation for a mailbox and a check region between the processors of FIG. 4.
도 7은 본 발명의 다른 실시예에 따른 멀티패스 억세스블 DRAM을 갖는 멀티 프로세서 시스템의 블록도이고,7 is a block diagram of a multiprocessor system with multipath accessible DRAM according to another embodiment of the invention,
도 8은 도 7의 프로세서들 간의 메일 박스 체크 정보 제공에 대한 인터페이스 동작의 예를 보인 블록도이고,8 is a block diagram illustrating an example of an interface operation for providing mailbox check information between processors of FIG. 7;
도 9는 도 4 및 도 7의 동작 타이밍도를 함께 나타낸 것이다.9 illustrates the operation timing diagrams of FIGS. 4 and 7.
본 발명은 프로세서들 간 호스트 인터페이싱 기능을 갖는 멀티패쓰 억세스블 반도체 메모리 장치에 관한 것으로 특히 체크 정보 제공기능을 가지는 멀티패쓰 억세스블 반도체 메모리 장치에 관한 것이다. The present invention relates to a multipath accessible semiconductor memory device having a host interfacing function between processors, and more particularly, to a multipath accessible semiconductor memory device having a check information providing function.
일반적으로, 복수의 억세스 포트를 가지는 반도체 메모리 소자는 멀티포트 메모리로 불려지고 특히 2개의 억세스 포트를 갖는 메모리 소자는 듀얼포트 메모리로 칭해지고 있다. 전형적인 듀얼포트 메모리는 본 분야에 널리 공지된 것으로서, 랜덤 시퀀스로 억세스 가능한 RAM포트와 시리얼 시퀀스만으로 억세스 가능한 SAM 포트를 가지는 이미지 프로세싱용 비디오 메모리이다. In general, a semiconductor memory device having a plurality of access ports is called a multiport memory, and in particular, a memory device having two access ports is called a dual port memory. A typical dual port memory is well known in the art and is a video memory for image processing having a RAM port accessible in a random sequence and a SAM port accessible only in a serial sequence.
한편, 후술될 본 발명의 설명에서 보다 명확하게 구별될 것이지만, 그러한 비디오 메모리의 구성과는 달리, SAM 포트를 가지지 않으며 DRAM 셀로 구성된 메모리 셀 어레이 중 공유 메모리 영역을 복수의 억세스 포트를 통하여 리드 또는 라이트 하기 위한 다이나믹 랜덤 억세스 메모리를 우리는 상기 멀티포트 메모리와 철저 히 구별하기 위하여 본 발명에서 멀티패쓰 억세스블 반도체 메모리 장치라고 칭하기로 한다. On the other hand, although it will be more clearly distinguished from the description of the present invention to be described later, unlike the configuration of such a video memory, the shared memory region of the memory cell array having no SAM port and consisting of DRAM cells read or write through a plurality of access ports In order to thoroughly distinguish the dynamic random access memory from the multiport memory, the present invention will be referred to as a multipath accessible semiconductor memory device in the present invention.
오늘날 인간생활의 유비쿼터스 지향추세에 따라, 인간이 취급하게 되는 전자 시스템도 그에 부응하여 눈부시게 발전되어 지고 있다. 최근에 휴대용 전자 시스템 예를 들어 휴대용 멀티미디어 플레이어나 핸드 헬드 폰, 또는 PDA 등의 전자기기에서는 기능이나 동작 수행의 고속화 및 원활화를 도모하기 위하여 제조 메이커는 도 1에서 보여지는 바와 같이 복수의 프로세서를 채용한 멀티 프로세서 시스템을 구현해왔다. In line with the ubiquitous orientation of human life today, the electronic systems that humans deal with are developing remarkably. Recently, in electronic devices such as portable multimedia systems such as portable multimedia players, handheld phones, or PDAs, manufacturers have adopted a plurality of processors as shown in FIG. 1 to speed up and facilitate performance and operation. A multiprocessor system has been implemented.
도 1을 참조하면, 제1 프로세서(10)와 제2 프로세서(12)는 접속라인(L10)을 통해 서로 연결되어 있고, NOR 메모리(14)와 DRAM(16)은 설정된 버스들(B1-B3)을 통해 상기 제1 프로세서(10)에 버싱되고, DRAM(18)과 NAND 메모리(20)는 설정된 버스들(B4-B6)을 통해 상기 제2 프로세서(12)에 버싱되어 있다. 여기서, 상기 제1 프로세서(10)는 통신신호의 변조 및 복조를 수행하는 모뎀기능을 가질 수 있고, 상기 제2 프로세서(12)는 통신 데이터의 처리나 게임, 오락 등의 수행을 위한 어플리케이션 기능을 가질 수 있다. 셀 어레이의 구성이 NOR 구조를 갖게 되는 NOR 메모리(14)와 셀 어레이의 구성이 NAND 구성을 갖게 되는 NAND 메모리(20) 모두는 플로팅 게이트를 갖는 트랜지스터 메모리 셀을 갖는 불휘발성 메모리로서, 전원이 오프되더라도 지워져서는 아니되는 데이터 예컨대 휴대용 기기의 고유 코드 및 보존 데이터의 저장을 위해 탑재되며, DRAM들(16,18)은 프로세서의 데이터 처리를 위한 메인 메모리로서 기능한다. Referring to FIG. 1, the
그러나, 도 1과 같은 멀티 프로세서 시스템에서는 각 프로세서마다 DRAM이 각기 대응적으로 할당되고 상대적으로 저속의 UART,SPI,SRAM 인터페이스가 사용되기 때문에, 데이터 전송속도가 충분히 확보되기 어렵고 사이즈의 복잡성이 초래되며 메모리 구성 비용도 부담스럽다. 따라서, 점유 사이즈를 줄임은 물론 데이터 전송속도를 높이고 DRAM 메모리의 채용 개수를 줄이기 위한 스킴이 도 2에 도시되어 있다.However, in the multi-processor system as shown in FIG. 1, since DRAM is allocated to each processor correspondingly and relatively low-speed UART, SPI, and SRAM interfaces are used, data transfer rate is difficult to be secured sufficiently, resulting in size complexity. Memory configuration costs are also burdensome. Accordingly, a scheme for reducing the occupancy size, increasing the data transfer speed, and reducing the number of DRAM memories employed is illustrated in FIG. 2.
도 2를 참조하면, 도 1의 시스템에 비해 하나의 DRAM(17)이 제1 및 제2 프로세서(12)에 버스들(B1,B2)을 통해 연결되어있는 것이 특이하게 보여진다. 도 2의 멀티 프로세서 시스템의 구조와 같이 2개의 패쓰를 통하여 하나의 DRAM(17)을 각각의 프로세서가 억세스 하는 것이 가능하게 되려면, 2개의 포트가 상기 버스들(B1,B2)에 대응적으로 연결될 것이 요구된다. 그렇지만, 통상의 DRAM 은 잘 알려진 바와 같이 단일 포트(port)를 갖는 메모리이다. Referring to FIG. 2, it is specifically shown that one
따라서, 도 2와 같은 멀티 프로세서 시스템에는 메모리 뱅크의 구조나 포트의 구조에 기인하여 통상의 DRAM에는 적용이 어렵게 된다. Therefore, due to the structure of the memory bank and the port structure in the multi-processor system as shown in FIG.
도 2와 같은 멀티 프로세서 시스템에 적합한 메모리를 기본적으로 구현하려는 본 발명자들의 의도와 유사하게, 공유 메모리 영역이 복수의 프로세서에 의해 억세스될 수 있는 도 3의 구성을 갖는 선행기술이 에우지니 피.매터(Matter)외 다수에 의해 발명되어 2003년 5월 15일자로 미합중국에서 특허공개된 공개번호 US2003/0093628호에 개시되어 있다. Similar to the intention of the inventors to basically implement a memory suitable for a multiprocessor system such as that of FIG. 2, the prior art with the configuration of FIG. 3 in which the shared memory region can be accessed by multiple processors is incorporated. No. US2003 / 0093628, invented by Matter et al. And published in the United States on May 15, 2003.
도 3을 참조하면, 메모리 어레이(35)는 제1,2,3 포션으로 이루어져 있고, 상기 메모리 어레이(35)의 제1 포션(33)은 포트(37)를 통해 제1 프로세서(70)에 의해서만 억세스되고 상기 제2 포션(31)은 포트(38)를 통해 제2 프로세서(80)에 의해서만 억세스되며, 제3 포션(32)은 상기 제1,2 프로세서(70,80)모두에 의해 억세스 되는 멀티 프로세서 시스템(50)이 보여진다. 여기서, 상기 메모리 어레이(35)의 제1,2 포션(33,31)의 사이즈는 상기 제1,2 프로세서(70,80)의 동작 부하에 의존하여 유동적으로 변경될 수 있으며, 메모리 어레이(35)의 타입은 메모리 타입 또는 디스크 저장타입으로 구현되어지는 것이 나타나 있다. Referring to FIG. 3, the
DRAM 구조에서 제1,2 프로세서(70,80)에 의해 공유(shared)되는 제3 포션(32)을 메모리 어레이(35)내에 구현하기 위해서는 몇 가지의 과제들이 해결되어져야 한다. 그러한 해결 과제들 중의 하나로서, 메모리 어레이(35)내의 메모리 영역들 및 입출력 센스앰프의 배치와 각 포트에 대한 적절한 리드/라이트 패쓰(경로)제어 테크닉은 매우 중요한 과제이다. In order to implement the
또한, 종래의 프로세서들 예를 들어 모뎀과 애플리케이션 프로세서(혹은 멀티미디어 코프로세서)간의 통신을 위해서는 UART,SPI,혹은 SRAM 인터페이스가 사용되어 왔는데, 그러한 인터페이스는 속도의 제한, 핀 개수의 증가 등의 문제점이 수반된다. 특히, 3차원 게임이나 화상통신, HDPDA, 와이브로(wibro)등의 원활한 구현을 제공하기 위해서는 모뎀과 프로세서 간의 데이터 트래픽이 크게 늘어나야 하기 때문에, 프로세서들 간의 고속의 인터페이스의 필요성이 증가되는 실정이다. In addition, UART, SPI, or SRAM interfaces have been used for communication between conventional processors, for example, a modem and an application processor (or a multimedia coprocessor). Such an interface has problems such as speed limitation and an increase in pin count. Entails. In particular, in order to provide a smooth implementation of 3D games, video communication, HDPDA, WiBro, etc., data traffic between a modem and a processor must be greatly increased, and thus, a need for a high speed interface between processors is increased.
따라서, 따라서 둘 이상의 프로세서들을 가지는 멀티 프로세서 시스템에서 DRAM 메모리 셀 어레이 내에 할당된 공유 메모리 영역을 공유하면서, 메모리 외부 의 저속 인터페이싱에 따른 문제까지도 제거할 수 있는 보다 적절한 해결책이 요망된다. 이러한 문제점을 해결하기 위해 본 출원인에 의해 2006년 07월 28일자로 출원된 국내 특허출원 제2006-0071455호에 DRAM 인터페이싱에 대한 발명이 기재되어 있다. 그러나 상기 국내특허출원 제2006-0071455호에서는 메일 박스에 저장된 메시지를 상대 프로세서에서 처리되었는지, 즉 리드 하였는지에 대해서 메시지를 보낸 프로세서에서 모니터링 할 수 있는 방법이 없었다. 따라서 이에 대한 해결책이 필요하게 되었다. Therefore, there is a need for a more appropriate solution that can share the shared memory area allocated within a DRAM memory cell array in a multiprocessor system with two or more processors, while eliminating the problem of low speed interfacing outside the memory. In order to solve this problem, the invention for DRAM interfacing is disclosed in Korean Patent Application No. 2006-0071455 filed on July 28, 2006 by the applicant. However, in Korean Patent Application No. 2006-0071455, there is no method for monitoring a message stored in a mailbox by a processor that has sent a message as to whether or not the message has been processed by a counterpart processor. Therefore, a solution for this is needed.
따라서, 본 발명의 목적은 상기한 종래의 문제점을 극복할 수 있는 체크 정보 제공기능을 가지는 멀티패쓰 억세스블 반도체 메모리 장치를 제공하는데 있다. Accordingly, an object of the present invention is to provide a multi-path accessible semiconductor memory device having a check information providing function that can overcome the above-described conventional problems.
본 발명의 다른 목적은 포트간의 메시지 전달을 위한 메일박스의 메시지를 처리 여부를 메시지를 보낸 프로세서가 체크할 수 있도록 하는 체크 정보 제공기능을 가지는 멀티패쓰 억세스블 반도체 메모리 장치를 제공하는데 있다. Another object of the present invention is to provide a multipath accessible semiconductor memory device having a check information providing function that enables a processor that sends a message to check whether a message of a mailbox for message transfer between ports is processed.
본 발명의 또 다른 목적은 메일 박스의 오버 라이팅을 방지 또는 최소화할 수 있는 체크 정보 제공기능을 가지는 멀티패쓰 억세스블 반도체 메모리 장치를 제공하는데 있다. It is still another object of the present invention to provide a multipath accessible semiconductor memory device having a check information providing function that can prevent or minimize overwriting of a mailbox.
상기한 기술적 과제들의 일부를 달성하기 위한 본 발명의 구체화에 따라, 본 발명에 따른 반도체 메모리 장치는, 복수의 프로세서들의 수에 대응하여 서로 독립적으로 설치된 포트들 중 선택된 하나의 포트와의 데이터 억세스 패쓰가 형성되어 상기 복수의 프로세서들에 의해 선택적으로 억세스되며, 메모리 셀 어레이 내에 적어도 하나이상 할당된 공유 메모리 영역과; 상기 복수의 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스되는 세맵퍼 영역, 메일박스 영역들, 및 체크 영역들을 갖는 인터페이스 부를 구비한다.According to an embodiment of the present invention for achieving some of the above technical problems, the semiconductor memory device according to the present invention, the data access path with a selected one of the ports installed independently of each other corresponding to the number of a plurality of processors A shared memory region formed with and selectively accessed by the plurality of processors, the at least one shared memory area being allocated in a memory cell array; An interface unit may include a semaphorer area, mailbox areas, and check areas that are alternately accessed corresponding to a specific address of the shared memory area to provide an interface function during communication between the plurality of processors.
상기 공유 메모리 영역에 행과 열의 매트릭스형태로 배치되는 복수의 메모리 셀은, 하나의 억세스 트랜지스터와 스토리지 커패시터로 이루어진 디램 메모리 셀일 수 있으며, 상기 특정 어드레스에 의해 상기 인터페이스 부가 억세스될 때 상기 공유 메모리 영역의 특정 워드라인에 연결된 메모리 셀들은 모두 디세이블 될 수 있다.The plurality of memory cells arranged in a matrix of rows and columns in the shared memory area may be a DRAM memory cell including one access transistor and a storage capacitor, and the plurality of memory cells of the shared memory area may be accessed when the interface part is accessed by the specific address. All memory cells connected to a specific word line may be disabled.
상기 인터페이스 부는 특정 로우 어드레스가 인가되는 경우에 공통 인에이블되며, 개별적으로 인가되는 컬럼어드레스에 따라 상기 세맵퍼 영역, 메일박스 영역들, 및 체크 영역들이 억세스되며, 상기 메일박스 영역들 및 상기 체크 영역들은 상기 포트들의 수만큼 각각 구비될 수 있다.The interface unit is commonly enabled when a specific row address is applied, and the semaphore area, mailbox areas, and check areas are accessed according to an individually applied column address, and the mailbox areas and the check area are accessed. Each of the ports may be provided as many as the number of the ports.
상기 메일박스 영역들은 미리 설정된 전송방향에 따라 상대 프로세서에게 전하는 권한요청, 데이터전달 및 명령어 전송 등의 메시지가 저장되며, 상기 메일박스 영역들에 메시지가 저장된 경우에, 메일박스에 메시지가 저장되었음을 상대 프로세서에게 알리는 신호인 인터럽트(interrupt) 신호들을 구비할 수 있다. 상기 인터럽트 신호들은 대응되는 메일박스들에 메시지가 라이트 되면 인에이블 되고, 상대프로세서에서 상기 메일 박스들에 저장된 메시지를 리드한 경우에 디세이블 된 다.The mailbox areas store messages such as permission requests, data transfers, and command transmissions to the counterpart processor according to a preset transmission direction, and when a message is stored in the mailbox areas, the message area is stored in the mailbox area. Interrupt signals, which are signals for informing the processor, may be provided. The interrupt signals are enabled when a message is written to the corresponding mailboxes, and is disabled when a message stored in the mailboxes is read by the counterpart processor.
상기 체크 영역들은 상대 프로세서에서 상기 메일박스들에 저장된 메시지를 리드했는지의 여부에 대한 정보를 저장하며, 상기 체크 영역들에 저장된 정보는 상기 메일박스에 저장된 메시지를 리드한 상대프로세서를 제외한 나머지 프로세서들에서 모니터링 가능하다.The check areas store information on whether a message stored in the mailboxes is read by the counterpart processor, and the information stored in the check areas is the other processors except the counterpart processor that reads the message stored in the mailbox. Monitoring is possible at.
상기 반도체 메모리 장치가 2개의 포트를 가지는 경우에, 상기 세맵퍼 영역 및 메일박스 영역들 각각은 16비트 저장영역을 가지며, 상기 체크 영역들은 각각 1비트 또는 2비트 저장영역을 가질 수 있으며, 상기 세맵퍼 영역은 4비트 저장영역을 가지고 상기 메일박스 영역들 각각은 32비트 저장영역을 가지며, 상기 체크 영역들은 각각 1비트 또는 2비트 저장영역을 가지는 경우도 가능하다.When the semiconductor memory device has two ports, each of the semaphorer area and the mailbox area may have a 16-bit storage area, and the check areas may each have a 1-bit or 2-bit storage area. The mapper region may have a 4-bit storage region, each of the mailbox regions may have a 32-bit storage region, and the check regions may each have a 1-bit or 2-bit storage region.
상기한 기술적 과제들의 일부를 달성하기 위한 본 발명의 다른 구체화에 따라, 본 발명에 따른 복수의 프로세서들에 의해 선택적으로 억세스 되며, 메모리 셀 어레이 내에 적어도 하나이상 할당된 공유 메모리 영역을 구비하고, 상기 복수의 프로세서들 간의 통신 시 인터페이스 기능의 제공을 위해 상기 공유 메모리 영역의 특정 어드레스에 대응하여 대치적으로 억세스되는 세맵퍼 영역, 메일박스 영역들을 갖는 인터페이스 부를 구비하는 반도체 메모리장치는, 상기 메일박스 영역들에 미리 설정된 전송방향에 따라 상대 프로세서에게 전하는 권한요청, 데이터전달 및 명령어 전송 등의 메시지가 저장된 경우에, 상기 상대 프로세서가 메시지를 리드하였는지 여부에 대한 체크 정보를 제공하기 위한 체크 신호나 레지스터 영역을 구비한다.In accordance with another embodiment of the present invention for achieving some of the above technical problems, there is provided a shared memory region selectively accessed by a plurality of processors according to the present invention, and having at least one or more shared memory regions allocated in the memory cell array. The semiconductor memory device includes an interface unit having a semaphorer area and a mailbox area that are alternately accessed corresponding to a specific address of the shared memory area to provide an interface function during communication between a plurality of processors. A check signal or register area for providing check information on whether the partner processor has read a message when a message such as a request for authorization, data transfer, and command transmission to the counterpart processor is stored in accordance with a preset transmission direction in the data storage. It is provided.
상기 체크 정보는 상기 메일박스에 저장된 메시지를 리드한 상대프로세서를 제외한 나머지 프로세서들에서 모니터링 가능하며, 상기 메일박스 영역들에 메시지가 저장된 경우에, 메일박스에 메시지가 저장되었음을 상대 프로세서에게 알리는 신호인 인터럽트(interrupt) 신호들을 구비할 수 있다. 또한, 상기 인터럽트 신호들은 대응되는 메일박스들에 메시지가 라이트 되면 인에이블 되고, 상대프로세서에서 상기 메일 박스들에 저장된 메시지를 리드한 경우에 디세이블 되며, 상기 체크 정보는 상기 인터럽트 신호들과 동일 위상 또는 반대위상을 가질 수 있다.The check information may be monitored by the other processors except the counterpart processor that read the message stored in the mailbox. When the message is stored in the mailbox areas, the check information may be a signal for notifying the counterpart processor that the message is stored in the mailbox. Interrupt signals may be provided. Also, the interrupt signals are enabled when a message is written to the corresponding mailboxes, and is disabled when a message stored in the mailboxes is read by a counterpart processor, and the check information is in phase with the interrupt signals. Or may have an opposite phase.
상기한 구성에 따르면, 메일 박스의 오버 라이팅이 방지된다. According to the above configuration, overwriting of the mailbox is prevented.
이하에서는 본 발명의 바람직한 실시예가, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 철저한 이해를 제공할 의도 외에는 다른 의도 없이, 첨부한 도면들을 참조로 하여 상세히 설명될 것이다. 다만, 본 발명이 이들 특정한 실시예들 없이도 실시될 수 있을 것임은 본 분야의 숙련된 자들에 의해 이해될 수 있을 것이다. 다른 예증, 공지 방법들, 통상적인 다이나믹 랜덤 억세스 메모리 및 회로들은 본 발명을 모호하지 않도록 하기 위해 상세히 설명되지 않는다.DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, without any other intention than to provide a thorough understanding of the present invention to those skilled in the art. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific embodiments. Other illustrations, known methods, conventional dynamic random access memories and circuits have not been described in detail in order not to obscure the present invention.
도 4는 본 발명의 일 실시예에 따라 멀티패쓰 억세스블 DRAM을 갖는 멀티 프로세서 시스템의 블록도이다. 도면을 참조하면, 휴대용 통신 시스템은, 제1 설정 타스크를 수행하는 제1 프로세서(10)와, 제2 설정 타스크를 수행하는 제2 프로세서(12)와, 상기 제1,2 프로세서들(10,20)에 의해 억세스되는 메모리 영역들을 메모 리 셀 어레이 내에 가지는 DRAM(17)을 구비한다. 또한, 상기 휴대용 통신 시스템은 각각의 버스를 통해 제1,2 프로세서(10,12)와 연결되는 플래시 메모리들(101,102)을 포함한다. 4 is a block diagram of a multiprocessor system with multipath accessible DRAM in accordance with one embodiment of the present invention. Referring to the drawings, the portable communication system includes a
한정되는 것은 아니지만, 도 4에 도시된 상기 DRAM(17)은 서로 독립적인 2개의 포트를 갖는다. 편의상 신호(INTa)가 출력되는 포트(A)를 제1 포트라고 하면 이는 범용입출력(GIPO)라인을 통하여 상기 제1 프로세서(10)와 연결된다. 신호(INTb)가 출력되는 포트(B)를 제2 포트라고 하면 이는 범용입출력(GIPO)라인을 통하여 상기 제2 프로세서(12)와 연결된다. 여기서, 상기 제1 프로세서(10)는 통신신호의 변조 및 복조를 수행하는 모뎀기능이나 베이스 밴드 처리 기능을 프로세싱 타스크로서 가질 수 있고, 상기 제2 프로세서(12)는 통신 데이터의 처리나 게임, 동영상, 오락 등의 수행을 위한 애플리케이션 기능을 프로세싱 타스크로서 가질 수 있다. 필요한 경우에 상기 제2 프로세서(12)는 멀티미디어 코프로세서 일 수 있다. Although not limited, the
또한, 상기 플래시 메모리들(101,102)은 메모리 셀 어레이의 셀 연결구성이 NOR 구조 또는 NAND 구조로 되어 있고 메모리 셀이 플로팅 게이트를 갖는 모오스 트랜지스터로 되어 있는 불휘발성 메모리이다. 상기 플래시 메모리들(101,102)은 전원이 오프되더라도 지워져서는 아니되는 데이터 예컨대 휴대용 기기의 고유 코드 및 보존 데이터의 저장을 위한 메모리로서 탑재된다. In addition, the
도 4에 도시된 바와같이, 듀얼 포트를 갖는 상기 DRAM(17)은, 프로세서들(10,12)에 실행되어질 수 있는 명령들과 데이터를 저장하기 위해 사용될 수 있다. 또한, 상기 DRAM(17)은 상기 제1,2 프로세서들(10,12)간의 인터페이싱 기능을 담당한다. 보다 상세한 것은 후술될 것이지만, 프로세서들(10,12) 간의 통신 시 외부 인터페이스 대신에 디램 인터페이스가 사용된다. 세맵퍼 영역과 메일박스 영역들을 갖는 디램 내의 인터페이스 부를 활용함에 의해 상기 프로세서들(10,12)은 공통으로 억세스 가능한 공유 메모리 영역을 통해 데이터 통신을 수행한다. 프로세서들 간 호스트 인터페이싱이 메모리 내부를 통해 제공될 경우에 할당된 공유 메모리 영역을 복수의 프로세서들이 고속으로 억세스할 수 있게 되어, 데이터 전송 및 처리속도가 개선되고 시스템 사이즈가 콤팩트하게 된다. As shown in FIG. 4, the
상기 도 4의 시스템은 이동통신 디바이스(예 셀룰러 폰), 양방향 라디오 통신 시스템, 단방향 페이저, 양방향 페이저, 개인용 통신 시스템, 또는 휴대용 컴퓨터, 등과 같은 휴대용 컴퓨팅 디바이스 또는 휴대용 통신 디바이스가 될 수 있다. 본 발명의 스코프와 응용이 이들에 한정되는 것이 아님은 이해되어야 한다. The system of FIG. 4 may be a portable computing device or portable communication device, such as a mobile communication device (eg, cellular phone), a two-way radio communication system, a one-way pager, a two-way pager, a personal communication system, or a portable computer. It should be understood that the scope and application of the present invention is not limited thereto.
상기 도 4의 시스템에서 프로세서들의 개수는 3개 이상으로 확장될 수 있다. 상기 시스템의 프로세서는 마이크로프로세서, CPU, 디지털 신호 프로세서, 마이크로 콘트롤러, 리듀스드 명령 세트 컴퓨터, 콤플렉스 명령세트 컴퓨터, 또는 그와 유사한 것이 될 수 있다. 그러나 시스템 내의 프로세서들의 개수에 의해 본 발명의 범위가 제한되지 않음은 이해되어져야 한다. 부가하면, 본 발명의 범위는 프로세서들이 동일 또는 다르게 되는 경우에 프로세서들의 어느 특별한 조합에 한정되지 않는다. In the system of FIG. 4, the number of processors may be extended to three or more. The processor of the system may be a microprocessor, a CPU, a digital signal processor, a microcontroller, a reduced instruction set computer, a complex instruction set computer, or the like. However, it should be understood that the scope of the present invention is not limited by the number of processors in the system. In addition, the scope of the present invention is not limited to any particular combination of processors when the processors become identical or different.
이제부터는 상기 도 4의 DRAM(17)내의 인터페이스 부와 공유 메모리 영역의 배치관계 및 프로세서들 간의 데이터 통신 동작의 상세가 메모리 장치의 내부 일부를 보여주는 도면들을 참조로 본 발명의 이해를 돕기 위한 의도로서만 설명될 것이다. From now on, the arrangement of the interface unit and the shared memory area in the
도 5는 도 4에서의 멀티패쓰 억세스블 DRAM의 메모리 영역들과 포트들 및 내부 버퍼의 배치관계를 보인 블록도이다. FIG. 5 is a block diagram illustrating an arrangement relationship between memory regions, ports, and an internal buffer of the multipath accessible DRAM of FIG. 4.
도면에서 4개의 메모리 영역들(B1-B4)이 메모리 셀 어레이 내에 배치되어 있다. 우선, A 뱅크 메모리 영역(B1)은 제1 포트(A)를 통하여 제1 프로세서(10)에 의해 억세스 되고, C 및 D 뱅크 메모리 영역(B3,B4)은 제2 포트(B)를 통하여 제2 프로세서(12)에 의해 억세스 되며, B 뱅크 메모리 영역(B2)은 제1,2 포트(A,B)를 통하여 제1,2프로세서들(10,12) 모두에 의해 억세스 된다. 결국, 상기 B 뱅크 메모리 영역(B2)은 공유 메모리 영역이고, A,C,D 뱅크 메모리 영역들(B1,B3,B4)은 각기 대응되는 프로세서에 의해서만 억세스되는 전용 메모리 영역이다. 상기 4개의 메모리 영역들(B1-B4)은 각기 DRAM의 뱅크 단위로 구성될 수 있으며, 하나의 뱅크는 예컨대 64MB, 128MB, 256MB, 512MB, 또는 1024MB 의 메모리 스토리지를 가질 수 있다. In the drawing, four memory regions B1-B4 are disposed in the memory cell array. First, the A bank memory area B1 is accessed by the
도 5에 도시된 바와 같이, 프로세스들 간의 인터페이스를 DRAM을 통해 제공하기 위해, DRAM 내부에는 레지스터나 버퍼 등과 같은 인터페이스 부가 마련된다. 상기 인터페이스 부는 프로세싱 시스템 개발자에게 익숙한 개념의 세맵퍼(semaphore) 영역과 메일박스(mail box)영역들을 갖는다. 여기서, DRAM 내의 공유 메모리 영역의 임의의 1행을 인에이블 시키는 특정 로우 어드레스(1FFF800h ~ 1FFFFFFh, 2KB 사이즈 = 1 로우 사이즈)가 상기 인터페이스 부로서의 내부 레지스 터에 변경적으로 할당된다. 이에 따라, 상기 특정 로우 어드레스(1FFF800h ~ 1FFFFFFh)가 인가될 때, 공유 메모리 영역의 대응되는 특정워드라인은 디세이블되며, 대신에 상기 인터페이스 부가 인에이블된다. 결국, 시스템적으로는 다이렉트 어드레스 매핑 방법을 사용하여 상기 인터페이스 부의 세맵퍼 영역과 메일박스 영역들이 억세스되도록 하는 것이고, 디램 내부적으로는 디세이블된 해당 어드레스로 접근하는 명령어를 해석하여 디램 내부의 레지스터로 매핑을 시키는 것이다. 따라서, 칩셋의 메모리 콘트롤러는 이 영역을 다른 메모리의 셀과 동일한 방법으로 코멘드를 발생시키게 되며, 이는 오픈 팔리시를 사용하는 콘트롤러로 인해 야기될 수 있는 프리차아지 미스 문제를 사전에 방지할 수 있게 한다. As shown in FIG. 5, in order to provide an interface between processes through the DRAM, an interface unit such as a register or a buffer is provided inside the DRAM. The interface section has semaphore and mailbox box areas of concept familiar to processing system developers. Here, a specific row address (1FFF800h to 1FFFFFFh, 2KB size = 1 row size) that enables any one row of the shared memory area in the DRAM is variably assigned to the internal register as the interface unit. Accordingly, when the specific row addresses 1FFF800h to 1FFFFFFh are applied, the corresponding specific word line of the shared memory area is disabled, and the interface addition is enabled instead. As a result, the system uses a direct address mapping method to access the semapper area and the mailbox area of the interface unit, and internally interprets a command to access the disabled address to a register inside the DRAM. To do the mapping. Therefore, the chipset's memory controller generates this command in the same way as a cell in other memory, which can prevent precharge miss problems that can be caused by controllers using open parish. do.
본 발명의 일 실시예에서는 상기 인터페이스 영역에 체크 영역을 더 구비한다. 상기 체크 영역은 상기 메일 박스 영역에 상대 프로세서에게 전하는 메시지를 저장한 경우에 상대 프로세서에서 상기 메시지를 리드하였는지 여부를 알 수 있도록 하는 내용의 체크정보를 저장하는 영역이다. In one embodiment of the present invention, the interface area further includes a check area. The check area is an area for storing check information of contents that enable the counter processor to know whether the message is read when the message to the counter processor is stored in the mailbox area.
도 5에서 상기 내부 레지스터 내에 4비트로서 할당된 세맵퍼(semaphore)영역, 32비트로서 할당된 mail box A to B 영역, 32비트로서 할당된 mail box B to A 영역, 1비트로써 할당된 check A to B 영역, 1비트로서 할당된 check B to A 영역, 및 예비 영역(Rvd)들은 상기 특정 로우 어드레스에 의해 공통 인에이블 되며, 인가되는 컬럼 어드레스에 따라 개별적으로 억세스(매핑)된다. 여기서 상기 check A to B 영역 및 check B to A 영역은 각각 2비트로 할당하고 1비트는 정보를 저장하고 나머지 1비트는 예비영역으로 활용할 수 있다. 다른 예로, 상기 세맵퍼(semaphore) 영역, mail box A to B 영역, mail box B to A 영역 각각은 16비트로서 할당될 수 있다.In FIG. 5, a semaphore area allocated as 4 bits in the internal register, a mail box A to B area allocated as 32 bits, a mail box B to A area allocated as 32 bits, and check A allocated as 1 bit The to B area, the check B to A area allocated as 1 bit, and the spare area Rvd are commonly enabled by the specific row address, and are individually accessed (mapped) according to the applied column address. Here, the check A to B area and the check B to A area may be allocated to 2 bits, 1 bit may store information, and the remaining 1 bit may be used as a spare area. As another example, each of the semaphore area, mail box A to B area, and mail box B to A area may be allocated as 16 bits.
결국, 상기 특정 로우 어드레스(1FFF800h ~ 1FFFFFFh)가 인가될 때, 공유 메모리 영역의 대응되는 일부 영역(A2)은 디세이블되며, 대신에 상기 디램내의 레지스터가 인에이블되어, 프로세서들에게 디램 인터페이스가 제공된다. 상기 mail box A to B 영역은 제1프로세서(10)에서는 리드 및 라이트가 가능하지만 제2프로세서(12)에서는 리드만 가능하고 라이트 동작은 금지되어 있으며, 상기 mail box B to A 영역은 이와 반대로 제2프로세서(12)에서는 리드 및 라이트가 가능하지만 제1프로세서(10)에서는 리드만 가능하고 라이트 동작은 금지된다. As a result, when the specific row addresses 1FFF800h to 1FFFFFFh are applied, the corresponding partial area A2 of the shared memory area is disabled, and instead the registers in the DRAM are enabled, providing a DRAM interface to the processors. do. The mail box A to B area can be read and written in the
상기 레지스터에 할당된 세맵퍼(semaphore) 영역에는 공유 메모리 영역에 대한 제어 권한이 표시되고, 메일박스 영역에는 미리 설정된 전송방향에 따라 상대 프로세서에게 주는 메시지(권한요청, 데이터 전달, 명령어 전송 등)가 쓰여진다. 특히, 메일 박스 영역을 통해 상대 프로세서에게 메시지를 전달하고자 할 경우에는 메일박스 라이트 명령어가 사용된다. 상기 라이트 명령어가 발생되면 미리 정해진 방향으로 해당 프로세서의 인터럽트 처리 서비스를 실행하도록 디램은 출력신호인 인터럽트 신호들(INTa,INTb)을 생성하고, 이 출력신호는 하드웨어적으로 해당 프로세서의 GPIO, 혹은 UART 등으로 연결된다. In the semaphore area allocated to the register, control authority for the shared memory area is displayed, and in the mailbox area, a message (permission request, data transfer, command transmission, etc.) to the counterpart processor according to a preset transmission direction is displayed. Is written. In particular, the mailbox write command is used to deliver a message to the counterpart processor via the mailbox area. When the write command is generated, the DRAM generates interrupt signals INTa and INTb as output signals to execute the interrupt processing service of the corresponding processor in a predetermined direction, and the output signals are hardware-oriented GPIOs or UARTs. And so on.
이하에서는 상술한 바와 같은 멀티 패쓰 억세스블 반도체 메모리 장치에서의 메일 박스영역들을 이용한 메시지 전달방법과 체크 영역들의 인터페이스 동작 및 체크를 위한 별도의 핀을 구비하는 경우에 관해서만 설명하기로 한다. 기타 공 유메모리 영역에 대한 리드 또는 라이트 동작 및 세맵퍼 영역에 관해서는 상술한 국내 특허출원 제2006-0071455호에 기재되어 있다. Hereinafter, only a method of delivering a message using mailbox areas in the multi-path accessible semiconductor memory device as described above and a case in which a separate pin is provided for interface operation and check of the check areas will be described. Read or write operations for other shared memory areas and semaphore areas are described in the above-mentioned Korean Patent Application No. 2006-0071455.
도 6은 프로세서들 간의 메일 박스 및 체크 영역에 대한 인터페이스 동작의 예가 나타나 있다.6 shows an example of an interface operation for a mailbox and a check region between processors.
도 6에 도시된 바와 같이, 우선 제1프로세서(10)에서 권한요청, 데이터 전달, 명령어 전송 등의 메시지를 제2프로세서(12)로 전하고자 하는 경우에, mail box A to B 영역에 메시지를 라이트(저장)한다. 이때 디램(17)은 해당 메일박스 즉 mail box A to B 영역에 메시지가 라이트 되었음을 제2프로세서(12)에게 알리기 위해서 인터럽트 신호(INTb)를 인에이블(발생)시킨다. As shown in FIG. 6, when the
상기 인터럽트(INTb)는 상기 mail box A to B 영역에 메시지가 라이트 되면 인에이블 되고, 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드한 경우에 디세이블된다. The interrupt INTb is enabled when a message is written in the mail box A to B area, and is disabled when the
이후 상기 제1프로세서(10)에서는 상기 check A to B 영역을 모니터링 하여 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하였는지 여부를 체크한다. 상기 check A to B 영역에 구비된 체크 레지스터는 상기 제2프로세서(12)에서 메시지를 리드하였는지의 여부를 알려주는 정보를 저장한다. 상기 check A to B 영역에 구비된 체크 레지스터는 상기 인터럽트 신호(INTb)의 위상과 동일 위상 또는 반대 위상을 가지는 정보가 저장될 수 있다. Thereafter, the
동일 위상을 가지는 경우의 동작을 예를 들면 다음과 같다. 즉 상기 인터럽트 신호(INTb)가 로우 인에이블 인 경우에, 상기 인터럽트 신호(INTb)가 로우 인 에이블 상태 인 경우에는 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하지 않은 경우이므로 상기 check A to B 영역에는 로우 데이터(예를 들면, 데이터'0')가 저장된다. 이후 상기 인터럽트 신호(INTb)가 하이 디세이블 상태 인 경우에는 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드한 경우이므로 상기 check A to B 영역에는 하이 데이터(예를 들면, 데이터'1')가 저장된다. 상기 제1프로세서(10)에서는 상기 mail box A to B 영역에 메시지를 저장한 후 상기 check A to B 영역을 수시로 모니터링하여 상기 check A to B 영역에 저장된 정보를 체크함으로써 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하였는지 여부를 체크하게 된다. For example, the operation in the case of having the same phase is as follows. That is, when the interrupt signal INTb is low enabled, when the interrupt signal INTb is low enabled, the
상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하였다는 것이 확인되는 경우에 상기 mail box A to B 영역에 다른 메시지를 라이트하게 되는 것이다. 상술한 바와 같은 check A to B 영역을 구비함에 의해 상기 mail box A to B 영역에 메시지가 오버 라이팅 되는 경우를 방지할 수 있게 된다.When it is confirmed that the message stored in the mail box A to B area is read by the
다음으로 제2프로세서(12)에서 권한요청, 데이터 전달, 명령어 전송 등의 메시지를 제1프로세서(10)로 전하고자 하는 경우를 살펴보자. 이 경우 상기 제2프로세서(12)에서는 mail box B to A 영역에 메시지를 라이트(저장)한다. 이때 디램(17)은 해당 메일박스 즉 mail box B to A 영역에 메시지가 라이트 되었음을 제1프로세서(10)에게 알리기 위해서 인터럽트 신호(INTa)를 인에이블(발생)시킨다. Next, a case in which the
상기 인터럽트(INTa)는 상기 mail box B to A 영역에 메시지가 라이트 되 면 인에이블 되고, 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드한 경우에 디세이블된다. The interrupt INTa is enabled when a message is written to the mail box B to A area, and is disabled when the message stored in the mail box B to A area is read by the
이후 상기 제2프로세서(12)에서는 상기 check B to A 영역을 모니터링 하여 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하였는지 여부를 체크한다. 상기 check B to A 영역에 구비된 체크 레지스터는 상기 제1프로세서(10)에서 메시지를 리드하였는지의 여부를 알려주는 정보를 저장한다. 상기 check B to A 영역에 구비된 체크 레지스터는 상기 인터럽트 신호(INTa)의 위상과 동일 위상 또는 반대 위상을 가지는 정보가 저장될 수 있다. Thereafter, the
동일 위상을 가지는 경우의 동작을 예를 들면 다음과 같다. 즉 상기 인터럽트 신호(INTa)가 로우 인에이블 인 경우에, 상기 인터럽트 신호(INTa)가 로우 인에이블 상태 인 경우에는 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하지 않은 경우이므로 상기 check B to A 영역에는 로우 데이터(예를 들면, 데이터'0')가 저장된다. 이후 상기 인터럽트 신호(INTa)가 하이 디세이블 상태 인 경우에는 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드한 경우이므로 상기 check B to A 영역에는 하이 데이터(예를 들면, 데이터'1')가 저장된다. 상기 제2프로세서(12)에서는 상기 mail box B to A 영역에 메시지를 저장한 후 상기 check B to A 영역을 수시로 모니터링하여 상기 check B to A 영역에 저장된 정보를 체크함으로써 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하였는지 여부를 체크하게 된다. For example, the operation in the case of having the same phase is as follows. That is, when the interrupt signal INTa is low enabled, when the interrupt signal INTa is low enabled, the
상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하였다는 것이 확인되는 경우에 상기 mail box B to A 영역에 다른 메시지를 라이트하게 되는 것이다. 상술한 바와 같은 check B to A 영역을 구비함에 의해 상기 mail box B to A 영역에 메시지가 오버 라이팅 되는 경우를 방지할 수 있게 된다.When it is confirmed that the message stored in the mail box B to A area is read by the
도 6에서는 2개의 프로세서를 가지는 경우만을 설명하였으나 복수의 프로세를 가지는 경우에의 동작이나 구조는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 용이하게 구현 가능하거나 이해될 수 있다. 이 경우에 상기check B to A영역 및 check B to A 영역은 메시지를 리드한 상대 프로세서를 제외한 나머지 프로세서들에서 모니터링 가능하도록 할 수 있다.In FIG. 6, only the case of having two processors is described, but the operation or structure in the case of having a plurality of processors may be easily implemented or understood by those skilled in the art. In this case, the check B to A area and the check B to A area can be monitored by other processors except the counterpart processor that read the message.
도 7 및 도 8은 본 발명의 다른 실시예에 관한 것으로 도 5 및 도 6에서 설명한 바와 같은 체크 영역을 구비함이 없이 별도의 출력핀을 추가하는 방법으로 상대 프로세서에서 메시지를 리드하였는지의 여부를 알 수 있도록 하는 구성이 나타나 있다. 7 and 8 are related to another embodiment of the present invention, and it is determined whether a message is read from a counterpart processor by adding a separate output pin without having a check area as described with reference to FIGS. 5 and 6. The configuration is shown to be known.
도 7은 도 4와 유사한 구성을 가지고, 다른 구성을 가지는 부분에 대해서만 설명한다.FIG. 7 has a configuration similar to that of FIG. 4 and only the portions having other configurations will be described.
도 7에 도시된 바와 같이, DRAM(17)은 서로 독립적인 2개의 포트를 갖는다. 편의상 신호(INTa, CHb)가 출력되는 포트(A)를 제1 포트라고 하면 이는 상기 제1 프로세서(10) 및 제2프로세서(12)와 연결된다. 여기서 상기 제1프로세서(10)에 입력되는 신호(INTa)는 인터럽트 신호로서 기능하며, 상기 제2프로세서(12)에 입력되는 신호(CHb)는 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하였는지의 여부를 알려주는 체크신호이다. As shown in Fig. 7, the
그리고 신호(INTb,CHa)가 출력되는 포트(B)를 제2 포트라고 하면 이는 상기 제1 프로세서(10) 및 제2프로세서(12)와 연결된다. 여기서 상기 제2프로세서(12)에 입력되는 신호(INTb)는 인터럽트 신호로서 기능하며, 상기 제1프로세서(10)에 입력되는 신호(CHa)는 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하였는지의 여부를 알려주는 체크신호이다. When the port B, from which the signals INTb and CHa are output, is referred to as the second port, it is connected to the
도 7은 종래의 인터럽트 신호를 이용하여 상대 프로세서 메일 박스 영역에저장된 메시지를 리드 하였는지 여부를 알 수 있도록 하고 있다. 이는 상기 인터럽트 신호가, 프로세서에서 메일 박스에 메시지를 라이트 하게 되면 인에이블 되고, 상대 프로세서에서 상기 메일박스 영역에 저장된 메시지를 리드한 경우에 디세이블되는 특성을 이용한 것이다. 이 경우 체크신호들은 인터럽트 신호들과 동일 위상을 가진다. 다만 상기 체크신호들은 인터럽트 신호들이 인에이블 된 경우 디세이블 되고 인터럽트 신호들이 디세이블 상태인 경우에 인에이블 상태를 가진다.7 shows whether a message stored in a counterpart processor mailbox area is read using a conventional interrupt signal. This interrupt signal is enabled when a processor writes a message to a mailbox, and is disabled when the counter processor reads a message stored in the mailbox area. In this case, the check signals have the same phase as the interrupt signals. However, the check signals are disabled when interrupt signals are enabled and have an enable state when interrupt signals are disabled.
이 경우의 동작을 도 8 을 이용하여 설명하면 다음과 같다.The operation in this case will be described with reference to FIG. 8 as follows.
우선 제1프로세서(10)에서 권한요청, 데이터 전달, 명령어 전송 등의 메시지를 제2프로세서(12)로 전하고자 하는 경우에, mail box A to B 영역에 메시지를 라이트(저장)한다. 이때 디램(17)에서는 해당 메일박스 즉 mail box A to B 영역에 메시지가 라이트 되었음을 제2프로세서(12)에게 알리기 위해서 인터럽트 신호(INTb)가 로우 인에이블(발생)된다. 이 경우 체크신호(CHa)는 상기 인터럽트 신호(INTb)와 동일 위상으로 디세이블 상태를 유지한다. First, when the
이후 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하는 경우에 상기 인터럽트 신호(INTb)는 하이 디세이블 된다. 이와 동시에 상기 체크신호(CHa)는 하이로 인에이블 되어 상기 제1프로세서(12)에 상기 mail box A to B 영역에 저장된 메시지가 리드되었음을 알린다.Subsequently, when the
상기 제1프로세서(10)에서는 상기 제2프로세서(12)에서 상기 mail box A to B 영역에 저장된 메시지를 리드하였다는 것이 상기 체크신호(CHa)를 통하여 확인되는 경우에 상기 mail box A to B 영역에 다른 메시지를 라이트하게 된다. When the
다음으로, 제2프로세서(12)에서 권한요청, 데이터 전달, 명령어 전송 등의 메시지를 제1프로세서(10)로 전하고자 하는 경우에, mail box B to A 영역에 메시지를 라이트(저장)한다. 이때 디램(17)에서는 해당 메일박스 즉 mail box B to A 영역에 메시지가 라이트 되었음을 제1프로세서(10)에게 알리기 위해서 인터럽트 신호(INTA)가 로우 인에이블(발생)된다. 이 경우 체크신호(CHa)는 상기 인터럽트 신호(INTa)와 동일 위상으로 디세이블 상태를 유지한다. Next, when the
이후 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하는 경우에 상기 인터럽트 신호(INTa)는 하이 디세이블 된다. 이와 동시에 상기 체크신호(CHb)는 하이로 인에이블 되어 상기 제2프로세서(12)에 상기 mail box B to A 영역에 저장된 메시지가 리드되었음을 알린다.Subsequently, when the
상기 제2프로세서(12)에서는 상기 제1프로세서(10)에서 상기 mail box B to A 영역에 저장된 메시지를 리드하였다는 것이 상기 체크신호(CHb)를 통하여 확인되는 경우에 상기 mail box B to A 영역에 다른 메시지를 라이트하게 된다. In the
도 9는 도 4 및 도 7의 동작 타이밍도를 함께 나타낸 것이다. 도면상에는 설명의 편의를 위하여 함께 나타내었지만 체크 레지스터를 구비하거나 인터럽트 신호를 이용한 체크 신호를 구비하는 경우는 서로 다른 구성임은 명백하다. 즉 체크 레지스터 즉 체크 영역이 존재하는 경우에는 상기 인터럽트 신호를 이용한 체크 신호는 발생되지 않으며, 인터럽트를 이용한 체크 신호가 존재하는 경우에는 상기 체크 레지스터는 존재하지 않음은 명백하다.9 illustrates the operation timing diagrams of FIGS. 4 and 7. Although shown in the drawings together for convenience of description, the case where the check register is provided with the check register or the check signal using the interrupt signal is clearly different. That is, it is apparent that the check signal using the interrupt signal is not generated when there is a check register, that is, the check area, and the check register does not exist when the check signal using the interrupt exists.
또한 도 9는 제1프로세서(10)에서 메일박스에 메시지를 저장하고 제2프로세서(12)에서 리드하는 경우의 예이다.9 illustrates an example in which a message is stored in a mailbox and read by a
도 9에 도시된 바와 같이, 상기 제1프로세서(10)에서는 체크 영역내의 체크 레지스터 또는 체크 신호를 통하여 메일 박스에 메시지를 저장할 수 있는 지 여부를 체크한다. 이 경우는 상기 체크 레지스터가 데이터 '1'을 저장하고 있거나 체크 신호가 하이 인에이블 상태이므로 상기 제1프로세서(10)에서는 상기 메일 박스에 메시지를 라이트 하게 된다. 즉 D0 내지 D3의 메시지를 저장하게 된다. 이후 제1프로세서(10)는 상기 메일 박스에 메시지를 라이트하고 난 후 계속적으로 체크 영역 또는 체크 신호를 모니터링 하거나, 다른 메시지를 전달하고자 하는 경우에만 모니터링 하도록 할 수 있다.As shown in Fig. 9, the
상기 제1프로세서(10)에서 상기 메일 박스에 메시지를 저장한 경우에 상기 DRAM에서는 인터럽트 신호(INTb)를 로우 인에이블 시켜 제2프로세서(12)에 전달한다. 그리고 상기 체크 레지스터는 데이터 '0'을 저장하고 있거나 체크 신호가 로우 디세이블 상태로 변하게 된다.When the message is stored in the mailbox by the
이에 따라 상기 제2프로세서(12)에서는 상기 메일 박스에 저장된 메시지를 리드하게 된다. 상기 제2프로세서(12)에서는 상기 메일 박스에 저장된 메시지를 리드하기 전까지는 상기 체크 정보가 디세이블 상태 또는 데이터 '0' 상태를 유지하므로 상기 제1프로세서(10)에서는 상기 체크 정보(CHa)를 통해 상기 메일 박스에 다른 메시지를 라이트 하는 것이 가능한지 여부를 체크할 수 있게 된다. Accordingly, the
상기 인터럽트 신호(INTb)를 통해 메일박스에 메시지가 저장되어 있다는 것을 알게 된 상기 제2프로세서(12)에서 상기 메일 박스에 저장된 메시지를 리드하게 되면, 상기 인터럽트 신호(INTb)는 하이 디세이블 되고, 상기 체크 정보(CHa)는 데이터 '1'상태 또는 하이 인에이블 상태로 바뀐다. When the message stored in the mailbox is read by the
이후 상기 제1프로세서(10)에서는 상기 체크 정보를 통해 상기 메일 박스에 다른 메시지를 저장하게 된다. Thereafter, the
상술한 바와 같은 구성에 의하여 메일 박스를 통하여 메시지를 보낸 프로세서는 상대프로세서가 메시지를 리드하였는지 여부를 알 수 있게 되고, 이에 따라 메시지 중복이나 메일 박스에의 오버 라이팅이 방지되는 것이다.By the above-described configuration, the processor which sends the message through the mailbox can know whether the partner processor has read the message, thereby preventing the duplication of the message or overwriting the mailbox.
상기한 설명에서는 본 발명의 실시예들을 위주로 도면을 따라 예를 들어 설명하였지만, 본 발명의 기술적 사상의 범위 내에서 본 발명을 다양하게 변형또는 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게는 명백한 것이다. 예를 들어, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이 메모리 내부의 레지스터 구성이나 또는 회로 구성 및 억세스 방법을 다양하게 변형 또는 변경할 수 있음은 물론이다. Although the above description has been given by way of example only with reference to the embodiments of the present invention, it will be apparent to those skilled in the art that the present invention may be variously modified or changed within the scope of the technical idea of the present invention. . For example, in the case of different matters, various modifications or changes may be made to a register configuration or a circuit configuration and an access method in a memory without departing from the technical spirit of the present invention.
예를 들어, 4개의 메모리 영역 중 1개를 공유 메모리 영역으로 나머지 3개를 전용 메모리 영역으로 지정하거나, 4개의 메모리 영역 모두를 공유 메모리 영역으로 설정할 수 있을 것이다. 또한, 2개의 프로세서를 사용하는 시스템의 경우를 위주로 예를 들었으나, 3개 이상의 프로세서가 시스템에 채용되는 경우에 하나의 디램에 3개 이상의 포트를 설치하고 특정한 타임에 3개 중의 하나의 프로세서가 설정된 공유 메모리를 억세스하도록 할 수 있을 것이다. 그리고, 디램의 경우를 예를 들었으나 여기에 한정됨이 없이 스태이틱 랜덤 억세스 메모리나 불휘발성 메모리 등에서도 본 발명의 기술적 사상이 확장가능 할 수 있을 것이다. For example, one of the four memory areas may be designated as the shared memory area, and the remaining three may be designated as the dedicated memory area, or all four memory areas may be set as the shared memory area. In the case of a system using two processors, the example is mainly used. However, when three or more processors are employed in a system, three or more ports are installed in one DRAM and one of three processors is installed at a specific time. You will be able to access the configured shared memory. In addition, although the DRAM has been exemplified, the technical spirit of the present invention may be extended to a static random access memory or a nonvolatile memory, without being limited thereto.
이상 설명한 바와 같이, 본 발명에 따르면, 체크 레지스터 또는 체크를 위한 별도의 핀을 구비함에 의하여 메일 박스에 저장된 메시지를 상대프로세서가 리드하였는지 여부를 알 수 있게 되고, 이에 따라 메시지 중복이나 메일 박스에의 오버 라이팅이 방지되는 효과가 있다.As described above, according to the present invention, by providing a check register or a separate pin for checking, it is possible to know whether or not the partner processor reads a message stored in a mailbox. Overwriting is prevented.
Claims (17)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060112559A KR100781983B1 (en) | 2006-11-15 | 2006-11-15 | Multi-path accessible semiconductor memory device having check information serving function |
TW096126410A TW200813724A (en) | 2006-07-28 | 2007-07-19 | Multipath accessible semiconductor memory device with host interface between processors |
DE102007036547A DE102007036547A1 (en) | 2006-07-28 | 2007-07-26 | Semiconductor memory unit for use in portable communication system, has interface unit with semaphore and mail box areas, in which processors are accessed in memory region to provide interface function for communication between processors |
CN2007101367959A CN101114271B (en) | 2006-07-28 | 2007-07-27 | Semiconductor memory with MPIO of host Interface among processors |
US11/829,859 US7941612B2 (en) | 2006-07-28 | 2007-07-27 | Multipath accessible semiconductor memory device with host interface between processors |
JP2007197758A JP2008034095A (en) | 2006-07-28 | 2007-07-30 | Semiconductor memory device having host interfacing function among processors while being accessible for multipath |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060112559A KR100781983B1 (en) | 2006-11-15 | 2006-11-15 | Multi-path accessible semiconductor memory device having check information serving function |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100781983B1 true KR100781983B1 (en) | 2007-12-06 |
Family
ID=39139554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060112559A KR100781983B1 (en) | 2006-07-28 | 2006-11-15 | Multi-path accessible semiconductor memory device having check information serving function |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100781983B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH023164A (en) * | 1988-06-16 | 1990-01-08 | Sharp Corp | Dual port memory |
JPH05225774A (en) * | 1992-02-13 | 1993-09-03 | Mitsubishi Electric Corp | Multiport semiconductor memory device |
JPH07182849A (en) * | 1993-12-21 | 1995-07-21 | Kawasaki Steel Corp | Fifo memory |
-
2006
- 2006-11-15 KR KR1020060112559A patent/KR100781983B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH023164A (en) * | 1988-06-16 | 1990-01-08 | Sharp Corp | Dual port memory |
JPH05225774A (en) * | 1992-02-13 | 1993-09-03 | Mitsubishi Electric Corp | Multiport semiconductor memory device |
JPH07182849A (en) * | 1993-12-21 | 1995-07-21 | Kawasaki Steel Corp | Fifo memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7941612B2 (en) | Multipath accessible semiconductor memory device with host interface between processors | |
KR100725100B1 (en) | Multi-path accessible semiconductor memory device having data transfer mode between ports | |
KR100745369B1 (en) | Multi-path accessible semiconductor memory device having port states signaling function | |
KR100887417B1 (en) | Multi-path accessible semiconductor memory device for providing multi processor system with shared use of non volatile memory | |
KR100772841B1 (en) | Multi-path accessible semiconductor memory device with host interfacing between processors | |
KR100855587B1 (en) | Multi-path accessible semiconductor memory device having mail box regions and method for mail box access control therefore | |
JP6000292B2 (en) | Memory system and memory processing method including the same | |
US20100318725A1 (en) | Multi-Processor System Having Function of Preventing Data Loss During Power-Off in Memory Link Architecture | |
US7725609B2 (en) | System memory device having a dual port | |
KR20090033539A (en) | Multi port semiconductor memory device having protocol define portion and access method therefore | |
KR100725099B1 (en) | Memory expansion structure in multi-path accessible semiconductor memory device | |
KR20090008519A (en) | Multi-path accessible semiconductor memory device having shared register and managing method therefore | |
US8078838B2 (en) | Multiprocessor system having multiport semiconductor memory with processor wake-up function responsive to stored messages in an internal register | |
KR20090092371A (en) | Multi port semiconductor memory device with shared memory area using latch type memory cells and driving method therefore | |
JP2007157150A (en) | Memory system and memory processing method including the same | |
KR20090032416A (en) | Multi processor system having direct access booting operation and direct access booting method therefore | |
KR100827704B1 (en) | Multi-path accessible semiconductor memory device and method for matching data therefore | |
KR100879463B1 (en) | Multi-path accessible semiconductor memory device having operation for preventing precharge skip in transferring access authority | |
KR100781974B1 (en) | Multi-path accessible semiconductor memory device having register access circuit | |
KR100781983B1 (en) | Multi-path accessible semiconductor memory device having check information serving function | |
US20090216961A1 (en) | Multi-port semiconductor memory device for reducing data transfer event and access method therefor | |
KR100850277B1 (en) | Bank addresses assign method for use in multi-path accessible semiconductor memory device | |
KR20080103183A (en) | Multi processor system having multi-path accessible semiconductor memory device with boot ram and therefore method | |
CN114265794A (en) | Hybrid memory module with data caching function, data cache and method |
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: 20121031 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131031 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141031 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |