KR20110068386A - Semiconductor system and method for operating the same - Google Patents
Semiconductor system and method for operating the same Download PDFInfo
- Publication number
- KR20110068386A KR20110068386A KR1020090125315A KR20090125315A KR20110068386A KR 20110068386 A KR20110068386 A KR 20110068386A KR 1020090125315 A KR1020090125315 A KR 1020090125315A KR 20090125315 A KR20090125315 A KR 20090125315A KR 20110068386 A KR20110068386 A KR 20110068386A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- data
- memory device
- storage area
- command
- Prior art date
Links
Images
Classifications
-
- 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/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
Abstract
Description
본 발명의 개념에 따른 실시 예는 반도체 장치에 관한 것으로, 특히 공유 메모리 뱅크를 명령, 어드레스, 및 데이터의 전송 경로로 이용할 수 있는 반도체 장치, 및 이를 포함하는 반도체 시스템에 관한 것이다.Embodiments of the inventive concept relate to a semiconductor device, and more particularly, to a semiconductor device capable of using a shared memory bank as a path for transferring commands, addresses, and data, and a semiconductor system including the same.
메모리 장치와 프로세서들을 포함하는 데이터 처리 시스템에서, 상기 메모리 장치와 상기 프로세서들 사이에서 고속으로 원하는 데이터를 처리하는 기술이 요구되고 있다.In a data processing system including a memory device and processors, a technique for processing desired data at high speed between the memory device and the processors is required.
따라서 본 발명이 이루고자 하는 기술적인 과제는 메모리 장치와 프로세서들 사이에서 고속으로 데이터를 처리할 수 있는 장치와 방법을 제공하는 것이다.Accordingly, the technical problem to be achieved by the present invention is to provide an apparatus and a method capable of processing data at high speed between a memory device and a processor.
본 발명의 실시 예에 따른 메모리 장치는 제1프로세서로부터 출력되고 제2프로세서에 의하여 리드될 복수의 액세스 명령들을 저장하기 위한 제1저장 영역; 상 기 복수의 액세스 명령들 각각에 해당하는 데이터를 저장하기 위한 제2저장 영역; 및 상기 복수의 액세스 명령들에 대한 인덱스들을 저장하기 위한 제3저장 영역을 포함한다.In an embodiment, a memory device may include a first storage area for storing a plurality of access commands output from a first processor and to be read by a second processor; A second storage area for storing data corresponding to each of the plurality of access commands; And a third storage area for storing indices for the plurality of access commands.
본 발명의 실시 예에 따른 반도체 시스템은 불휘발성 메모리 장치; 제1프로세서로부터 출력된 액세스 명령을 저장하기 위한 제1저장 영역과, 상기 액세스 명령에 해당하는 데이터를 저장하기 위한 제2저장 영역을 포함하는 메모리 장치; 및 제2프로세서를 포함한다.In an embodiment, a semiconductor system may include a nonvolatile memory device; A memory device including a first storage area for storing an access command output from a first processor, and a second storage area for storing data corresponding to the access command; And a second processor.
상기 제2프로세서는 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하고 리드된 액세스 명령에 따라, 상기 제1프로세서로부터 출력되고 상기 제2저장 영역에 저장된 상기 데이터를 리드하여 상기 불휘발성 메모리 장치에 라이트하거나 또는 상기 불휘발성 메모리 장치로부터 리드된 데이터를 상기 데이터로서 상기 제2저장 영역에 라이트하기 위한 제2프로세서를 포함한다.The second processor reads the access command stored in the first storage area and reads the data output from the first processor and stored in the second storage area according to the read access command to the nonvolatile memory device. And a second processor for writing the data read from the nonvolatile memory device to the second storage area as the data.
본 발명의 실시 예에 따른 반도체 시스템의 동작 방법은 제1프로세서가 액세스 명령에 해당하는 라이트 데이터를 메모리 장치의 제2저장 영역에 라이트하는 단계; 상기 제1프로세서가 상기 액세스 명령을 상기 메모리의 제1저장 영역에 라이트하는 단계; 제2프로세서가 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하는 단계; 및 상기 액세스 명령에 따라, 상기 제2프로세서가 상기 제2저장 영역에 저장된 상기 라이트 데이터를 리드하고 리드된 라이트 데이터를 불휘발성 메모리 장치에 라이트하는 단계를 포함한다. According to an embodiment of the present disclosure, a method of operating a semiconductor system may include: writing, by a first processor, write data corresponding to an access command to a second storage area of a memory device; Writing, by the first processor, the access command to a first storage area of the memory; Reading, by a second processor, the access command stored in the first storage area in response to an interrupt signal output from the memory device; And reading, by the second processor, the write data stored in the second storage area and writing the read write data to a nonvolatile memory device according to the access command.
본 발명의 다른 실시 예에 따른 반도체 시스템의 동작 방법은 제1프로세서가 액세스 명령을 메모리 장치의 제1저장 영역에 라이트하는 단계; 제2프로세서가 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하는 단계; 상기 액세스 명령에 따라 상기 제2프로세서가 불휘발성 메모리 장치로부터 데이터를 리드하고 리드된 데이터를 상기 메모리 장치의 제2저장 영역에 라이트하는 단계; 및 상기 제1프로세서가 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제2저장 영역에 저장된 상기 데이터를 리드하는 단계를 포함한다.According to another exemplary embodiment of the inventive concept, a method of operating a semiconductor system may include: writing, by a first processor, an access command to a first storage area of a memory device; Reading, by a second processor, the access command stored in the first storage area in response to an interrupt signal output from the memory device; Reading, by the second processor, data from a nonvolatile memory device and writing the read data to a second storage area of the memory device according to the access command; And reading, by the first processor, the data stored in the second storage area in response to an interrupt signal output from the memory device.
본 발명의 실시 예에 따른 반도체 시스템은 불휘발성 메모리 장치; 액세스 명령을 생성하기 위한 제1프로세서; 상기 제1프로세서로부터 출력된 상기 액세스 명령을 저장하기 위한 제1저장 영역과, 상기 액세스 명령에 해당하는 데이터를 저장하기 위한 제2저장 영역을 포함하는 메모리 장치; 및 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하고 리드된 액세스 명령에 따라, 상기 제1프로세서(20)로부터 출력되고 상기 제2저장 영역에 저장된 상기 데이터를 리드하여 상기 불휘발성 메모리 장치에 라이트하거나 또는 상기 불휘발성 메모리 장치로부터 리드된 데이터를 상기 데이터로서 상기 제2저장 영역에 라이트하기 위한 제2프로세서를 포함한다.In an embodiment, a semiconductor system may include a nonvolatile memory device; A first processor for generating an access instruction; A memory device including a first storage area for storing the access command output from the first processor, and a second storage area for storing data corresponding to the access command; And read the access command stored in the first storage area and read the data output from the
상기 제2프로세서는 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 액세스 명령을 리드한다. 상기 제1프로세서는 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제2저장 장치에 저장된 상기 데이터를 리드한 다.The second processor reads the access command in response to an interrupt signal output from the memory device. The first processor reads the data stored in the second storage device in response to an interrupt signal output from the memory device.
본 발명의 실시 예에 따른 메모리 장치와 복수의 프로세서들을 포함하는 반도체 시스템은 상기 메모리 장치를 명령, 어드레스, 및 데이터를 전송하기 위한 경로로서 사용할 수 있으므로 상기 메모리 장치와 복수의 프로세서들 사이에서 고속으로 데이터를 처리할 수 있는 효과가 있다.A semiconductor system including a memory device and a plurality of processors according to an embodiment of the present invention may use the memory device as a path for transferring commands, addresses, and data, thereby providing high speed between the memory device and the plurality of processors. It has the effect of processing data.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.Specific structural and functional descriptions of embodiments according to the concepts of the present invention disclosed in this specification or application are merely illustrative for the purpose of illustrating embodiments in accordance with the concepts of the present invention, The examples may be embodied in various forms and should not be construed as limited to the embodiments set forth herein or in the application.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Embodiments in accordance with the concepts of the present invention can make various changes and have various forms, so that specific embodiments are illustrated in the drawings and described in detail in this specification or application. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to specific forms of disclosure, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first and / or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example, without departing from the scope of rights in accordance with the inventive concept, and the first component may be called a second component and similarly The second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof that is described, and that one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 반도체 시스템의 블록도를 나타낸다. 도 1을 참조하면, 반도체 시스템(10)은 제1프로세서(20), 메모리 장치(30),제2프로세서(40), 및 불휘발성 메모리 장치(50)를 포함한다.1 is a block diagram of a semiconductor system in accordance with an embodiment of the present invention. Referring to FIG. 1, the
반도체 시스템(10)은 PC(personal computer), 노트북(notrbook), 넷북(net-book), e-북(e-book), 메모리 카드, 스마트 카드, 이동 전화기(cellular phone), PDA(personal digital assitant), PMP(portable multimedia player), 또는 디지털 TV일 수 있다.The
제1프로세서(20)는 CPU와 같은 호스트로서 도 5에 도시된 바와 같은 데이터 패킷(200)을 생성하고 생성된 데이터 패킷을 메모리 장치(30)로 전송할 수 있다. 실시 예에 따라, 제1프로세서(20)는 복수의 데이터 패킷들을 생성하고 생성된 데이터 패킷들을 순차적으로 메모리 장치(30)로 전송할 수 있다.The
메모리 장치(30)는 멀티-포트 메모리 장치로 구현될 수 있고, 액세스 명령과 명령 데이터(예컨대, 불휘발성 메모리 장치(50)에 라이트될 라이트 데이터 또는 불휘발성 메모리 장치(50)로부터 리드된 리드 데이터)를 공유 메모리 뱅크에 저장할 수 있다.The
제2프로세서(40)는 ASIC(application-specific integrated circuit)으로 구현될 수 있고 상기 액세스 명령에 따라 불휘발성 메모리 장치(50)를 액세스할 수 있다.The
예컨대, 라이트 동작 시, 제2프로세서(40)는 메모리 장치(30)의 공유 메모리 뱅크에 저장된 액세스 명령에 따라 상기 공유 메모리 뱅크에 저장된 명령 데이터를 불휘발성 메모리 장치(50)에 라이트할 수 있다. 또한, 리드 동작 시, 제2프로세서(40)는 메모리 장치(30)의 공유 메모리 뱅크에 저장된 액세스 명령에 따라 불휘발성 메모리 장치(50)로부터 데이터를 리드하고 리드된 데이터를 상기 공유 메모리 뱅크에 라이트할 수 있다.For example, during a write operation, the
불휘발성 메모리 장치(50)는 복수의 메모리 블록들(50-1~50-n)을 포함할 수 있다. 복수의 메모리 블록들(50-1~50-n) 각각은 복수의 메모리 셀들을 포함할 수 있다. 복수의 메모리 블록들(50-1~50-n) 각각은 웨이(way)라고 불릴 수 있다.The
복수의 메모리 셀들 각각은 불휘발성 메모리 셀(Non-volatile memory cell)로 구현될 수 있다. 상기 불휘발성 메모리 셀은 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM 또는 ReRAM), 나노튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)를 포함할 수 있다. 상기 불휘발성 메모리 셀은 하나의 비트 또는 다수의 비트들을 저장할 수 있다.Each of the plurality of memory cells may be implemented as a non-volatile memory cell. The nonvolatile memory cell includes an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic RAM (MRAM), a spin-transfer torque MRAM (CRAM), a conductive bridging RAM (CBRAM), and a ferroelectric RAM (FeRAM). Phase Change RAM (PRAM), Resistive Memory (RRAM or ReRAM), Nanotube RRAM, Polymer RAM (PoRAM), Nano Floating Gate Memory (NFGM), Holo Graphics memory (holographic memory), molecular electronic memory device (Molecular Electronics Memory Device), or Insulator Resistance Change Memory (Insulator Resistance Change Memory). The nonvolatile memory cell may store one bit or a plurality of bits.
실시 예에 따라, 제2프로세서(40)와 불휘발성 메모리 장치(50)는 하나의 칩 또는 하나의 패키지(예컨대, MCP(multi chip package))로 구현될 수 있다. 따른 실시 예에 따라, 메모리 장치(30), 제2프로세서(40), 및 불휘발성 메모리 장치(50)는 하나의 패키지(예컨대, MCP)로 구현될 수 있다.According to an embodiment, the
제1프로세서(20)는 제1데이터 레이트로 라이트 데이터를 메모리 장치(30)의 공유 메모리 뱅크에 라이트하거나 또는 메모리 장치(30)의 공유 메모리 뱅크로부터 리드 데이터를 리드한다.The
제2프로세서(40)는 제2데이터 레이트로 메모리 장치(30)의 공유 메모리 뱅크에 저장된 라이트 데이터를 리드하고 불휘발성 메모리 장치(50)로부터 출력된 리드 데이터를 메모리 장치(30)의 공유 메모리 뱅크에 라이트한다. 제1데이터 레이트는 제2데이터 레이트보다 높다.The
도 2는 도 1에 도시된 반도체 장치의 개략적인 블록도를 나타낸다. 도 2를 참조하면, 메모리 장치(30)는 제2프로세서(40)와 접속될 수 있는 제1포트(31), 복수의 메모리 뱅크들(33-1, 33-2, 33-3, 및 33-4)을 포함하는 데이터 저장 영역(33), 및 제1프로세서(20)와 접속될 수 있는 제2포트(35)를 포함한다.FIG. 2 is a schematic block diagram of the semiconductor device shown in FIG. 1. Referring to FIG. 2, the
제1포트(31)와 제2포트(35) 각각은 DRAM 프로토콜에 따라 데이터를 주거나 받을 수 있는 컨트롤러 또는 인터페이스를 의미한다.Each of the
복수의 메모리 뱅크들(33-1, 33-2, 33-3, 및 33-4) 각각은 복수의 휘발성 메모리 셀들을 포함한다. 예컨대, 상기 복수의 휘발성 메모리 셀들 각각은 DRAM으로 구현될 수 있다.Each of the plurality of memory banks 33-1, 33-2, 33-3, and 33-4 includes a plurality of volatile memory cells. For example, each of the plurality of volatile memory cells may be implemented as a DRAM.
메모리 뱅크(33-1)는 제1포트(31)를 통하여 제2프로세서(40)에 의하여 액세스될 수 있는 제2프로세서 전용 메모리 뱅크이다. 따라서, 제2프로세서(40)는 제1포트(31)를 통하여 메모리 뱅크(33-1)에 저장된 데이터를 리드하거나 메모리 뱅크 (33-1)에 데이터를 라이트할 수 있다.The memory bank 33-1 is a second processor dedicated memory bank that can be accessed by the
메모리 뱅크들(33-3과 33-4)은 제2포트(35)를 통하여 제1프로세서(20)에 의하여 액세스될 수 있는 제1프로세서 전용 메모리 뱅크이다. 따라서, 제1프로세서 (20)는 제2포트(35)를 통하여 메모리 뱅크들(33-3과 33-4) 각각에 데이터를 라이트하거나 또는 메모리 뱅크들(33-3과 33-4) 각각에 저장된 데이터를 리드할 수 있다.The memory banks 33-3 and 33-4 are memory banks dedicated to the first processor that can be accessed by the
메모리 뱅크(33-2)는 액세스 권한에 따라 제1포트(31)에 접속된 제2프로세서(40)에 의하여 액세스되거나 또는 제2포트(35)에 접속된 제1프로세서(20)에 의하여 액세스될 수 있는 공유 메모리 뱅크이다. 여기서, 액세스라 함은 라이트 동작 또는 리드 동작을 의미한다.The memory bank 33-2 is accessed by the
예컨대, 제2프로세서(40)가 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 가질 때, 제2프로세서(40)는 각 메모리 뱅크(33-1과 33-2)를 액세스할 수 있으나 제1프로세서(20)는 공유 메모리 뱅크(33-2)를 액세스할 수 없다. 또한, 제1프로세서(20)가 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 가질 때, 제1프로세서(20) 는 각 메모리 뱅크(33-2, 33-3, 및 33-4)를 액세스할 수 있으나 제2프로세서(40)는 공유 메모리 뱅크(33-2)를 액세스할 수 없다.For example, when the
제1포트(31)와 데이터 저장 영역(33) 사이에는 각 메모리 뱅크(33-1과 33-2)를 액세스할 수 있는 액세스 회로(예컨대, 리드/라이트 회로)가 구현될 수 있다. 또한, 제2포트(35)와 데이터 저장 영역(33) 사이에는 각 메모리 뱅크(33-2, 33-3, 및 33-4)를 액세스할 수 액세스 회로(예컨대, 리드/라이트 회로)가 구현될 수 있다. 실시 예에 따라, 각 액세스 회로는 각 포트(31과 35)의 일부로서 구현될 수 있다. An access circuit (eg, a read / write circuit) capable of accessing each of the memory banks 33-1 and 33-2 may be implemented between the
도 3은 도 2에 도시된 공유 메모리 뱅크의 개략적인 메모리 맵을 나타낸다. 도 3을 참조하면, 공유 메모리 뱅크(33-2)는 컨트롤 블록과 레지스터 블록 (140)을 포함한다. 상기 컨트롤 블록은 큐 매니저 영역(또는 인덱스 저장 영역; 100), 명령 영역(110), 명령 데이터 영역(120), 및 인스턴트 데이터 영역(130)을 포함한다.FIG. 3 shows a schematic memory map of the shared memory bank shown in FIG. 2. Referring to FIG. 3, the shared memory bank 33-2 includes a control block and a
큐 매니저 영역(100)은 명령 데이터 영역(120)을 관리할 수 있는 정보를 저장하기 위한 영역으로서, 데이터 패킷 중에서 시작 명령 인덱스(HEAD)와 끝 명령 인덱스(TAIL)를 저장할 수 있다. 예컨대, 액세스 명령의 개수는 시작 명령 인덱스(HEAD)와 끝 명령 인덱스(TAIL)에 따라 결정될 수 있다.The
명령 영역(110)은 인스턴트 명령(INS CMD)과 복수의 액세스 명령들(CMD1, CMD2, CMD3, CMD4, CMD5, ...)을 저장할 수 있다.The
명령 데이터 영역(120)은 명령 영역(110)에 저장될 수 있는 각 액세스 명령에 상응하는 명령 데이터(예컨대, 라이트 데이터 또는 리드 데이터)가 저장될 수 있다.The
예컨대, 제1액세스 명령(CMD1)에 상당하는 제1명령 데이터는 제1명령 데이터 저장 영역(120-1)에 저장되고, 제2액세스 명령(CMD2)에 상당하는 제2명령 데이터는 제2명령 데이터 저장 영역(120-2)에 저장되고, 제3액세스 명령(CMD3)에 상당하는 제3명령 데이터는 제3명령 데이터 저장 영역(120-3)에 저장될 수 있다. For example, first command data corresponding to the first access command CMD1 is stored in the first command data storage area 120-1, and second command data corresponding to the second access command CMD2 is the second command. Third command data stored in the data storage area 120-2 and corresponding to the third access command CMD3 may be stored in the third command data storage area 120-3.
여기서, 라이트 동작 시 액세스 명령(CMD)은 라이트 명령, 라이트 데이터가 저장된 공유 메모리 뱅크의 어드레스, 및 상기 라이트 데이터가 저장될 불휘발성 메모리 장치(50)의 어드레스를 포함한다. 또한, 리드 동작 시 액세스 명령(CMD)은 리드 명령, 리드 데이터가 저장될 공유 메모리 뱅크의 어드레스, 및 상기 리드 데이터가 저장된 불휘발성 메모리 장치(50)의 어드레스를 포함한다. In this case, the access command CMD may include a write command, an address of a shared memory bank in which write data is stored, and an address of the
실시 예에 따라, 인스턴트 명령(INS CMD)에 상응하는 명령 데이터는 인스턴트 데이터 영역(130)에 저장될 수 있다.According to an embodiment, the command data corresponding to the instant command INS CMD may be stored in the
레지스터 블록(140)은 제1프로세서(20)와 제2프로세서(40) 사이에서 주고받는 메시지를 저장할 수 있다.The
도 3에 도시된 바와 같이, 레지스터 블록(140)은 복수의 레지스터들 (141~145)을 포함할 수 있다. 복수의 레지스터들(141~145)은 내부 레지스터들 (141~145)과 유보 레지스터들(Reversed)을 포함할 수 있다. 예컨대, 레지스터 블록 (140)은 하나의 로우 사이즈(row size)에 해당하는 크기, 예컨대 N-KB(예컨대, N은 자연수, N=2)일 수 있다.As shown in FIG. 3, the
예컨대, 제1프로세서(20)로부터 출력된 특정한 로우 어드레스가 메모리 장치 (30)로 입력될 때, 공유 메모리 뱅크(33-2)의 특정한 메모리 영역은 디스에이블되고 내부 레지스터들(141~155)이 인에이블될 수 있다.For example, when a specific row address output from the
내부 레지스터들(141~145)은 세머포 레지스터(141), 메일박스 레지스터들 (142와 143), 및 체크 레지스터들(144와 145)을 포함할 수 있다. 내부 레지스터들(141~145)은 제1프로세서(20)와 제2프로세서(40)가 동시에 공유 메모리 뱅크(33-2)를 액세스할 때 발생할 수 있는 충돌 상황(conflict situation)을 해결하는 기능을 수행할 수 있다.The internal registers 141-145 may include a
세머포 레지스터(141)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 어떤 포트, 예컨대 제1포트(31) 또는 제2포트(35)가 가지고 있는지를 나타내는 비트를 저장할 수 있다.The
예컨대, 세머포 레지스터(141)의 값 '1'은 제2포트(35)에 접속된 제1프로세서(20)가 공유 메모리 뱅크(33-2)에 대한 액세스 권한이 있음을 나타낸다. 그리고, 세머포 레지스터(141)의 값 '0'은 제1포트(31)에 접속된 제2프로세서(40)가 공유 메모리 뱅크(33-2)에 대한 액세스 권한이 있음을 나타낸다. 실시 예에 따라 그 반대의 경우도 가능하다. 세머포 레지스터(141)의 값은 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 가진 프로세서(20 또는 40)에 의해서만 라이트 또는 변경될 수 있다.For example, the value '1' of the
각 메일박스 레지스터(142와 143)는 제1프로세서(20)와 제2프로세서(40) 사이에서 주고받는 메시지를 저장하기 위하여 사용될 수 있다.Each
예컨대, 제2프로세서(40)가 제1프로세서(20)로 메시지를 전송하기 위하여 제 2프로세서(40)가 메일 박스 레지스터(MailboxAB; 142)에 상기 메시지를 라이트하면, 제1프로세서(20)는 메모리 장치(30)로부터 출력된 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxAB; 142)에 저장된 상기 메시지를 리드한다.For example, when the
반대로, 제1프로세서(20)가 제2프로세서(40)로 메시지를 전송하기 위하여, 제1프로세서(20)가 메일 박스 레지스터(MailboxBA; 143)에 상기 메시지를 라이트하면, 제2프로세서(40)는 메모리 장치(30)로부터 출력된 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxBA; 143)에 저장된 상기 메시지를 리드한다.Conversely, if the
각 메일 박스 레지스터(142와 143)에 메시지가 라이트된 경우, 메모리 장치 (30)에 의하여 인터럽트 신호가 발생한다.When a message is written to each mailbox register 142 and 143, an interrupt signal is generated by the
예컨대, 메일 박스 레지스터(MailboxAB; 142)에 메시지가 라이트된 경우, 인터럽트 신호는 제2포트(35)를 통하여 제1프로세서(20)로 전송된다. 따라서, 제1프로세서(20)는 상기 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxAB; 142)에 라이트된 메시지를 리드하고, 리드된 메시지를 디코딩하고, 디코딩 결과에 상응하는 동작을 수행한다.For example, when a message is written to the
또한, 메일 박스 레지스터(MailboxBA; 143)에 메시지가 라이트된 경우, 인터럽트 신호는 제1포트(31)를 통하여 제2프로세서(40)로 전송된다. 따라서 제2프로세서(40)은 상기 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxBA; 143)에 라이트된 메시지를 리드하고, 리드된 메시지를 디코딩하고, 디코딩 결과에 상응하는 동작을 수행한다.In addition, when a message is written to the
각 체크 레지스터(144와 145)의 값은 각 메일 박스 레지스터(142와 143)에 라이트된 메시지가 상대 프로세서에 의하여 리드되었는지를 나타낸. 각 체크 레지스터(144과 145)의 값은 각 메일 박스 레지스터(142와 143)로 출력된 리드/라이트 명령에 따라 자동적으로 변경될 수 있다.The value of each
예컨대, 제2프로세서(40)가 메일 박스 레지스터(MailboxAB; 142)에 메시지를 라이트하기 위하여 라이트 명령을 출력한 경우 체크 레지스터(CheckAB; 144)의 값은 '1'로 설정될 수 있고, 제1프로세서(20)가 메일 박스 레지스터(MailboxAB; 142)에 저장된 상기 메시지를 리드하기 위하여 리드 명령을 출력한 경우 체크 레지스터 (CheckAB; 144)의 값은 '0'으로 설정될 수 있다.For example, when the
도 1부터 도 3을 참조하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한이 제1프로세서(20)로부터 제2프로세서(40)으로 이전되는 경우를 단계별로 설명하면 다음과 같다.Referring to FIGS. 1 to 3, a case where the access right to the shared memory bank 33-2 is transferred from the
초기에 세머포 레지스터(141)의 값이 '1'로 설정되어 있으므로, 제1프로세서 (20)는 제2포트(35)를 이용하여 전용 메모리 뱅크들(33-3과 33-4) 뿐만 아니라 공유 메모리 뱅크(33-2)를 액세스할 수 있다. 이때, 제2프로세서(40)는 전용 메모리 뱅크(33-1)를 액세스할 수는 있으나 공유 메모리 뱅크(33-2)를 액세스할 수 없다.Since the value of the
첫 번째, 제1프로세서(20)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 체크하기 위하여 제2포트(35)를 통하여 세머포 레지스터(141)의 값(예컨대, '1')을 리드한다.First, the
두 번째, 제2프로세서(40)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한 변경을 요청하는 메시지를 메일 박스 레지스터(MailboxAB; 142)에 라이트한다. 이때, 메일 박스 레지스터(MailboxAB; 142)에 상기 메시지가 라이트되었음을 제1프로세서(20)에게 알리기 위하여 인터럽트 신호가 활성화된다.Second, the
세 번째, 제1프로세서(20)는 활성화된 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxAB; 142)에 라이트된 메시지를 리드한다.Third, the
네 번째, 상기 메시지에 응답하여 제1프로세서(20)는 제2포트(35)를 통하여 세머포 레지스터(141)의 값을 '1'에서 '0'으로 변경한다. 제1프로세서(20)는 메일 박스 레지스터(MailboxBA; 143)에 세머포 레지스터(141)의 값이 '1'에서 '0으로 변경되었음을 알리기 위한 메시지를 라이트한다. 이때 메모리 장치(30)에 의하여 활성화된 인터럽트는 제2프로세서(40)로 전송된다.Fourth, in response to the message, the
다섯째, 제2프로세서(40)는 활성화된 인터럽트 신호에 응답하여 제1포트(31)를 통하여 메일 박스 레지스터(MailboxBA; 143)에 라이트된 메시지를 읽어간다.Fifth, the
여섯째, 제2프로세서(40)는 상기 메시지에 따라 제1포트(31)를 통하여 세머포 레지스터(141)의 값을 리드하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한이 변경되었음을 확인한다. 따라서, 제2프로세서(40)은 제1포트(41)를 통하여 공유 메모리 뱅크(33-2)를 액세스할 수 있다.Sixth, the
상술한 바와 같이, 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖지 않는 프로세서는 레지스터 블록(140)을 이용하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖는 프로세서로 공유 메모리 뱅크(33-2)에 대한 액세스 권한 변경을 요청할 수 있다. 이 경우, 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖는 프로세서는 세머포 레지스터(141)의 값을 유지 또는 변경할 수 있다.As described above, a processor that does not have access to the shared memory bank 33-2 is a processor having access to the shared memory bank 33-2 using the
도 4는 도 1에 도시된 제2프로세서의 개략적인 블록도를 나타낸다. 도 4를 참조하면, 제2프로세서, 예컨대 ASIC(40)은 복수의 컨트롤러들(41과 42), 프로세서(44), ROM(45), 및 RAM(46)을 포함할 수 있다.4 shows a schematic block diagram of the second processor shown in FIG. 1. Referring to FIG. 4, a second processor, such as an
제1컨트롤러(41)는 도 2에 도시된 제1포트(31)와 통신할 수 있는 컨트롤러 또는 인터페이스를 의미한다.The
제1컨트롤러(41)는, 프로세서(44)의 제어 하에, 명령 영역(110)에 저장된 액세스 명령을 리드하고 리드된 액세스 명령에 따라 명령 데이터 영역(120)에 저장된 라이트 데이터를 리드하거나 불휘발성 메모리 장치(50)로부터 출력된 리드 데이터를 명령 데이터 영역(120)에 라이트할 수 있다. 예컨대, 제1컨트롤러(41)는 DRAM 프로토콜을 지원(또는, 사용)할 수 있는 컨트롤러 또는 인터페이스를 의미할 수 있다.The
제2컨트롤러(42)는 불휘발성 메모리 장치(50)의 데이터 통신 프로토콜에 따라 불휘발성 메모리 장치(50)로 라이트 데이터를 전송하거나 리드 데이터를 수신할 수 있는 컨트롤러 또는 인터페이스를 의미할 수 있다. 실시 예에 따라, 제2컨트롤러(42)는 NAND 플래시 컨트롤러 또는 인터페이스일 수 있다.The
부팅 시, 프로세서(44)는 ROM(45)에 저장된 프로그램을 RAM(46)에 로딩하고 로딩된 프로그램을 실행시킬 수 있다. 상기 프로세서(44)는 상기 프로그램에 따라 각 컨트롤러(41과 42)의 동작을 제어할 수 있다.At boot time,
도 5는 본 발명의 실시 예에 따른 데이터 패킷을 나타낸다. 도 1과 도 5를 참조하면, 제1프로세서(20)는 메모리 장치(30)의 공유 메모리 뱅크(33-2)를 액세스 명령과 데이터를 전송할 수 있는 저장 영역으로 사용하기 위하여 데이터 패킷을 생성한다.5 illustrates a data packet according to an embodiment of the present invention. 1 and 5, the
도 5에 도시된 바와 같이 라이트 동작 또는 리드 동작을 수행하기 위하여 제1프로세서(20)에 의하여 생성된 데이터 패킷(200)은 복수의 정보 영역들(210~26)을 포함한다. 제1정보 영역(210)은 명령에 대한 정보를 저장한다. 상기 명령은 라이트 명령 또는 리드 명령일 수 있다.As illustrated in FIG. 5, the
제2정보 영역(220)은 시작 명령 인덱스(start command index)를 저장하고, 제3정보 영역(230)은 끝 명령 인덱스(end command index)를 저장한다. 따라서, 제1프로세서(20)로부터 출력된 복수의 액세스 명령들의 개수에 대한 정보는 시작 명령 인덱스와 끝 명령 인덱스에 저장된다. 따라서, 본 발명의 실시 예에 따른 메모리 시스템(10)은 복수의 액세스 명령들을 순차적으로 처리할 수 있다.The
제4정보 영역(240)은 명령 데이터가 저장된 또는 저장될 공유 메모리 뱅크 (33-2)의 어드레스를 저장하고, 제5정보 영역(250)은 공유 메모리 뱅크(33-2)에 저장된 또는 저장될 데이터의 크기(size)를 저장한다.The
제6정보 영역(260)은 라이트 동작 시에 라이트 데이터가 저장될 불휘발성 메모리(50)의 어드레스 또는 리드 동작 시에 불휘발성 메모리(50)로부터 리드된 리드 데이터가 저장될 어드레스를 나타낸다. 액세스 명령은 각 정보 영역(210, 240, 250, 및 260)에 저장된 정보를 포함한다. The
도 6은 도 1에 도시된 반도체 시스템의 라이트 동작을 설명하기 위한 흐름도이다. 도 1부터 도 6을 참조하여 반도체 시스템(10)의 라이트 동작을 설명하면 다 음과 같다.FIG. 6 is a flowchart for describing a write operation of the semiconductor system illustrated in FIG. 1. A write operation of the
우선, 제1프로세서(20)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖고 있다고 가정한다. 제1프로세서(20)는 제2포트(35)를 통하여 라이트 데이터를 컨트롤 블록, 예컨대 명령 데이터 영역(120)의 제1명령 데이터 영역(120-1)에 라이트한다(S10). 그리고, 제1프로세서(20)는 상기 라이트 데이터에 대한 데이터 패킷 (200)을 생성하고 생성된 데이터 패킷을 메모리 장치(30)로 전송한다. 메모리 장치 (30)는 데이터 패킷(200)으로부터 액세스 명령을 추출하여 상기 컨트롤 블록의 명령 영역(110)에 라이트한다(S20).First, it is assumed that the
그리고, 제1프로세서(20)는 제2포트(35)를 통하여 메시지를 메일 박스 레지스터(MailboxBA; 413)에 라이트한다(S30). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제1포트(31)를 통하여 제2프로세서(40)로 전송한다.The
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖지 않은 제2프로세서(40)는 상기 활성화된 인터럽트 신호에 응답하여 제1프로세서(20)로부터 공유 메모리 뱅크 (33-2)에 대한 액세스 권한을 넘겨받기 위한 동작을 수행한다.The
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)의 프로세서(44)는 메일 박스 레지스터(MailboxBA; 413)에 저장된 메시지를 리드한다 (S50). 제2프로세서(40)는 리드된 메시지에 응답하여 공유 메모리 뱅크(33-2)의 컨트롤 블록의 명령 영역(110)에 저장된 액세스 명령을 리드한다(S60).The
제2프로세서(40)는, 상기 액세스 명령을 디코딩하고 디코딩 결과에 따라, 명령 데이터 영역(120)의 제1명령 데이터 영역(120-1)에 저장된 라이트 데이터를 리 드하고(S70), 리드된 라이트 데이터를 제2컨트롤러(42)를 이용하여 불휘발성 메모리 장치(50)에 라이트한다(S80).The
라이트 동작이 종료된 후, 제2프로세서(40)의 컨트롤러(44)는 제1포트(31)를 이용하여 메일 박스 레지스터(MailboxAB; 142)에 상기 라이트 동작이 종료되었음을 지시하기 위한 메시지를 라이트한다(S90). 메모리 장치(30)는 활성화된 인터럽트 신호를 제1프로세서(20)로 전송한다. 제1프로세서(20)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 절차를 수행한다. 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제1프로세서(20)는 메일 박스 레지스터(MailboxAB; 142)에 저장된 메시지를 리드한다(S100).After the write operation is completed, the
각 단계(S10, S20, S30, 및 S40)의 진행 순서는 실시 예에 따라 다양하게 변경될 수 있다. 예컨대, 데이터 라이트 동작은 S30, S40, S10, S20, 및 S50의 순서로 수행될 수 있다.The order of progress of each step (S10, S20, S30, and S40) may be variously changed according to embodiments. For example, the data write operation may be performed in the order of S30, S40, S10, S20, and S50.
도 7a부터 도 7f는 도 1에 도시된 반도체 장치의 데이터 처리 과정들을 나타낸다. 본 발명의 실시 예에 따른 라이트 동작은 도 1부터 도 7f를 참조하여 좀 더 구체적으로 설명된다.7A through 7F illustrate data processing processes of the semiconductor device illustrated in FIG. 1. A write operation according to an embodiment of the present invention will be described in more detail with reference to FIGS. 1 to 7F.
제1프로세서(20)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖고, 공유 메모리 뱅크(33-2)의 초기 상태는 도 7a에 도시된 바와 같이 비어 있다고 가정한다.It is assumed that the
도 7b에 도시된 바와 같이, 제1프로세서(20)는 하나의 라이트 데이터를 명령 데이터 블록(120)의 제1명령 데이터 영역(120-1)에 라이트하고(S10), 하나의 데이 터 패킷을 생성하고, 생성된 데이터 패킷을 메모리 장치(30)로 전송한다. 이때 시작 명령 인덱스(H)와 끝 명령 인덱스(T)는 1로 설정될 수 있다.As shown in FIG. 7B, the
메모리 장치(30)는 수신된 데이터 패킷을 디코딩하고 디코딩 결과에 따라 시작 명령 인덱스(H)와 끝 명령 인덱스(T)를 큐 매니저 영역(100)에 저장하고 제1액세스 명령(CMD1)을 명령 영역(110)의 제2저장 영역(110-1)에 저장한다(S20).The
제1프로세서(20)는 메일 박스 레지스터(143)에 메시지를 라이트한다(S30). 따라서, 메모리 장치(30)는 활성화된 인터럽트 신호를 제2프로세서(40)로 출력한다 (S40). 따라서 제2프로세서(40)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 동작을 수행한다.The
메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)는 메일 박스 레지스터(143)에 라이트된 메시지를 리드하여 디코딩한다(S50).The
디코딩 결과에 따라, 제2프로세서(40)는 명령 영역(110)의 제2저장 영역 (110-1)에 저장된 제1액세스 명령(CMD1)을 리드하고(S60), 리드된 제1액세스 명령 (CMD1)에 따라 제1명령 데이터 영역(120-1)에 저장된 라이트 데이터를 리드하 고(S70), 리드된 라이트 데이터를 불휘발성 메모리 장치(50)에 라이트한다(S80).According to the decoding result, the
라이트 동작이 종료된 경우, 제2프로세서(40)는 메일 박스 레지스터(142)에 메시지를 라이트한다(S90). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제1프로세서(20)로 출력한다. 상기 라이트 동작이 종료된 경우, 도 7c에 도시된 바와 같이 공유 메모리 뱅크(33-2)의 컨트롤 블록은 비워질 수 있다.When the write operation is finished, the
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖지 않은 제1프로세서(20)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 동작을 수행한다.The
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제1프로세서(20)는 메일 박스 레지스터(142)에 저장된 메시지를 리드한다(S100).The
다른 예로서, 도 7d에 도시된 바와 같이, 제1프로세서(20)는 제1라이트 데이터를 제1명령 데이터 저장 영역(120-1)에 라이트하고 제2라이트 데이터를 제2명령 데이터 저장 영역(120-2)에 라이트하고, 상기 제1라이트 데이터와 상기 제2라이트 데이터에 대한 정보를 포함하는 데이터 패킷을 생성하고 생성된 데이터 패킷을 메모리 장치(30)로 전송한다.As another example, as shown in FIG. 7D, the
메모리 장치(30)는 수신된 데이터 패킷으로부터 시작 명령 인덱스(H:0x1)와 끝 명령 인덱스(T: 0x2)를 추출하고 추출된 인덱스들을 큐 매니저 영역(100)에 저장하고, 제1라이트 데이터에 대한 처리를 지시하는 제1액세스 명령(CMD1)을 명령 영역(110)의 제2영역(110-1)에 저장하고 제2라이트 데이터에 대한 처리를 지시하는 제2액세스 명령(CMD2)을 명령 영역(110)의 제3영역(110-2)에 저장한다.The
도 7e에 도시된 바와 같이, 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)는 명령 영역(110)의 제2영역(110-1)에 저장된 제1액세스 명령(CMD1)을 리드하고, 리드된 제1액세스 명령(CMD1)에 따라 제1명령 데이터 영역 (120-1)에 저장된 제1라이트 데이터를 불휘발성 메모리 장치(50)에 라이트한다. 따라서, 제2명령 데이터 영역(120-2)에는 제2라이트 데이터만 남는다.As shown in FIG. 7E, the
계속하여, 도 7f에 도시된 바와 같이, 공유 메모리 뱅크(33-2)에 대한 액세 스 권한을 갖는 제1프로세서(20)는 제3라이트 데이터를 제3명령 데이터 저장 영역 (120-3)에 라이트하고, 제4라이트 데이터를 제4명령 데이터 저장 영역(120-4)에 라이트하고, 제5라이트 데이터를 제5명령 데이터 저장 영역(120-5)에 라이트하고, 상기 제3라이트 데이터, 상기 제4라이트 데이터, 및 상기 제5라이트 데이터에 대한 정보를 포함하는 데이터 패킷을 생성하고 생성된 데이터 패킷을 메모리 장치(30)로 전송한다.Subsequently, as shown in FIG. 7F, the
메모리 장치(30)는 수신된 데이터 패킷으로부터 시작 명령 인덱스(H:0x3)와 끝 명령 인덱스(T:0x5)를 추출하고 추출된 인덱스들을 큐 매니저 영역(100)에 저장하고, 제3라이트 데이터에 대한 처리를 지시하는 제3액세스 명령(CMD3)을 명령 영역(110)의 제4영역(110-3)에 저장하고, 제4라이트 데이터에 대한 처리를 지시하는 제4액세스 명령(CMD4)을 명령 영역(110)의 제5영역(110-4)에 저장하고, 제5라이트 데이터에 대한 처리를 지시하는 제5액세스 명령(CMD5)을 명령 영역(110)의 제6영역(110-5)에 저장한다.The
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖는 제2프로세서(20)는 공유 메모리 뱅크(33-2)를 액세스하여 각 액세스 명령(CMD2, CMD3, CMD4, 및 CMD5)에 따라 제2데이터, 제3데이터, 제4데이터, 및 제5데이터를 정해진 순서에 따라 불휘발성 메모리 장치(50)에 라이트할 수 있다.The
도 8은 도 1에 도시된 반도체 시스템의 리드 동작을 설명하기 위한 흐름도이다. 반도체 시스템(10)의 리드 동작은 도 1부터 도 5, 및 도 8을 참조하여 상세히 설명될 것이다. 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖는 제1프로세 서(20)는 컨트롤 블록의 명령 영역(110)에 액세스 명령을 라이트한다(S200).8 is a flowchart for describing a read operation of the semiconductor system illustrated in FIG. 1. The read operation of the
그리고, 제1프로세서(20)는 메일 박스 레지스터(143)에 메시지를 라이트한다 (S210). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제2프로세서(40)로 전송한다(S220). 따라서, 제2프로세서(40)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 절차를 수행한다.In operation S210, the
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)는 메일 박스 레지스터(143)에 메시지를 리드하고(S230), 상기 메시지에 따라 명령 영역(110)에 저장된 액세스 명령을 리드한다(SS240).The
제2프로세서(40)는 상기 액세스 명령에 따라 불휘발성 메모리 장치(50)로부터 데이터를 리드하고(S250), 리드된 데이터를 상기 액세스 명령에 따라 공유 메모리 뱅크(33-2)의 명령 데이터 영역(120)에 라이트한다(S260).The
그 후 제2프로세서(40)는 메일 박스 레지스터(142)에 메시지를 라이트한다 (S270). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제1프로세서(20)로 전송한다). 따라서, 제1프로세서(20)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 절차를 수행한다.Thereafter, the
공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제1프로세서(20)는 메일 박스 레지스터(142)에 저장된 메시지를 리드하고(S280), 상기 메시지에 따라 명령 데이터 영역(120)에 저장된 데이터를 리드한다(S290). 따라서, 반도체 시스템 (10)의 리드 동작을 종료된다.The
본 발명의 실시 예에 따른 메모리 장치(30)는 공유 메모리 뱅크(33-2)를 액 세스 명령과 명령 데이터의 전송 영역으로 활용할 수 있다. The
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings cited in the detailed description of the invention.
도 1은 본 발명의 실시 예에 따른 반도체 시스템의 블록도를 나타낸다.1 is a block diagram of a semiconductor system in accordance with an embodiment of the present invention.
도 2는 도 1에 도시된 메모리 장치의 개략적인 블록도를 나타낸다. FIG. 2 is a schematic block diagram of the memory device shown in FIG. 1.
도 3은 도 2에 도시된 공유 메모리 뱅크의 개략적인 메모리 맵을 나타낸다. FIG. 3 shows a schematic memory map of the shared memory bank shown in FIG. 2.
도 4는 도 1에 도시된 제2프로세서의 개략적인 블록도를 나타낸다.4 shows a schematic block diagram of the second processor shown in FIG. 1.
도 5는 본 발명의 실시 예에 따른 데이터 패킷을 나타낸다.5 illustrates a data packet according to an embodiment of the present invention.
도 6은 도 1에 도시된 반도체 시스템의 라이트 동작을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart for describing a write operation of the semiconductor system illustrated in FIG. 1.
도 7a부터 도 7f는 도 1에 도시된 메모리 장치의 데이터 처리 과정들을 나타낸다.7A through 7F illustrate data processing processes of the memory device illustrated in FIG. 1.
도 8은 도 1에 도시된 반도체 시스템의 리드 동작을 설명하기 위한 흐름도이다.8 is a flowchart for describing a read operation of the semiconductor system illustrated in FIG. 1.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090125315A KR20110068386A (en) | 2009-12-16 | 2009-12-16 | Semiconductor system and method for operating the same |
US12/868,028 US20110167210A1 (en) | 2009-10-16 | 2010-08-25 | Semiconductor device and system comprising memories accessible through dram interface and shared memory region |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090125315A KR20110068386A (en) | 2009-12-16 | 2009-12-16 | Semiconductor system and method for operating the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110068386A true KR20110068386A (en) | 2011-06-22 |
Family
ID=44400644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090125315A KR20110068386A (en) | 2009-10-16 | 2009-12-16 | Semiconductor system and method for operating the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20110068386A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190103880A (en) * | 2018-02-28 | 2019-09-05 | 에스케이하이닉스 주식회사 | Data processing system and operating method thereof |
CN110209608A (en) * | 2018-02-28 | 2019-09-06 | 爱思开海力士有限公司 | Storage system and data processing system including storage system |
-
2009
- 2009-12-16 KR KR1020090125315A patent/KR20110068386A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190103880A (en) * | 2018-02-28 | 2019-09-05 | 에스케이하이닉스 주식회사 | Data processing system and operating method thereof |
CN110209608A (en) * | 2018-02-28 | 2019-09-06 | 爱思开海力士有限公司 | Storage system and data processing system including storage system |
CN110209608B (en) * | 2018-02-28 | 2023-04-07 | 爱思开海力士有限公司 | Storage system and data processing system including the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102152281B1 (en) | Apparatus and method for simultaneously accessing multiple partitions of nonvolatile memory | |
JP6373559B2 (en) | MEMORY DEVICE AND MEMORY DEVICE OPERATION METHOD | |
KR101371936B1 (en) | Methods for controlling host memory access with memory devices and systems | |
US11487666B2 (en) | Timed data transfer between a host system and a memory sub-system | |
US20160203091A1 (en) | Memory controller and memory system including the same | |
JP5090819B2 (en) | Memory card and data storage method | |
KR20210019580A (en) | Separated performance domains in the memory system | |
US10797700B2 (en) | Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device | |
CN113785278A (en) | Dynamic data placement for avoiding conflicts between concurrent write streams | |
TWI790456B (en) | Memory addressing methods and associated controller | |
KR20190128743A (en) | Programmable Buffer and Cache Size Memory Protocols | |
KR20190010335A (en) | Storage device storing latency information, processor and computing system | |
US20190354483A1 (en) | Controller and memory system including the same | |
JP2021043975A (en) | Interface circuit, memory device, and operation method for the same | |
JP2018152112A (en) | Memory device and method of operating the same | |
US10445021B2 (en) | Memory system and method of operating the same | |
US20210064542A1 (en) | Memory controller, storage device including memory controller, and operating method of memory controller | |
KR20220070034A (en) | Time-to-leave for load commands | |
KR20220048303A (en) | An operating method of host device and storage device using a credit | |
KR101979732B1 (en) | Non-volatile memory controller and non-volatile memory system | |
KR20110068386A (en) | Semiconductor system and method for operating the same | |
US11099778B2 (en) | Controller command scheduling in a memory system to increase command bus utilization | |
CN107301872B (en) | Method for operating semiconductor memory device | |
US20210382662A1 (en) | Addressing in memory with a read identification (rid) number | |
US20140331006A1 (en) | Semiconductor memory devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |