KR20110068386A - Semiconductor system and method for operating the same - Google Patents

Semiconductor system and method for operating the same Download PDF

Info

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
Application number
KR1020090125315A
Other languages
Korean (ko)
Inventor
권진형
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090125315A priority Critical patent/KR20110068386A/en
Priority to US12/868,028 priority patent/US20110167210A1/en
Publication of KR20110068386A publication Critical patent/KR20110068386A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Abstract

PURPOSE: A semiconductor system and method for operating the same are provided to process data rapidly between a memory device and processors by using the memory device as a path for transmitting instruction, address, and data. CONSTITUTION: A first save area stores the access command outputted from a first processor (20). A second save area stores data corresponding to the access command. A second processor(40) is outputted from the first processor according to the access command, and reads the data saved on the second save area to write the data on a non-volatile memory device(50) or record the data read from the non-volatile memory to the second save area.

Description

반도체 시스템과 그 동작 방법{Semiconductor system and method for operating the same}Semiconductor system and method for operating the same

본 발명의 개념에 따른 실시 예는 반도체 장치에 관한 것으로, 특히 공유 메모리 뱅크를 명령, 어드레스, 및 데이터의 전송 경로로 이용할 수 있는 반도체 장치, 및 이를 포함하는 반도체 시스템에 관한 것이다.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 first processor 20 and stored in the second storage area according to the read access command and write the data to the nonvolatile memory device. Or to write data read from the nonvolatile memory device to the second storage area as the data.

상기 제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 semiconductor system 10 includes a first processor 20, a memory device 30, a second processor 40, and a nonvolatile memory device 50.

반도체 시스템(10)은 PC(personal computer), 노트북(notrbook), 넷북(net-book), e-북(e-book), 메모리 카드, 스마트 카드, 이동 전화기(cellular phone), PDA(personal digital assitant), PMP(portable multimedia player), 또는 디지털 TV일 수 있다.The semiconductor system 10 may include a personal computer, a notebook, a netbook, an e-book, an e-book, a memory card, a smart card, a cellular phone, and a personal digital assistant. It may be an assitant, a portable multimedia player (PMP), or a digital TV.

제1프로세서(20)는 CPU와 같은 호스트로서 도 5에 도시된 바와 같은 데이터 패킷(200)을 생성하고 생성된 데이터 패킷을 메모리 장치(30)로 전송할 수 있다. 실시 예에 따라, 제1프로세서(20)는 복수의 데이터 패킷들을 생성하고 생성된 데이터 패킷들을 순차적으로 메모리 장치(30)로 전송할 수 있다.The first processor 20 may generate a data packet 200 as shown in FIG. 5 as a host such as a CPU and transmit the generated data packet to the memory device 30. According to an embodiment, the first processor 20 may generate a plurality of data packets and sequentially transmit the generated data packets to the memory device 30.

메모리 장치(30)는 멀티-포트 메모리 장치로 구현될 수 있고, 액세스 명령과 명령 데이터(예컨대, 불휘발성 메모리 장치(50)에 라이트될 라이트 데이터 또는 불휘발성 메모리 장치(50)로부터 리드된 리드 데이터)를 공유 메모리 뱅크에 저장할 수 있다.The memory device 30 may be implemented as a multi-port memory device, and access commands and command data (for example, write data to be written to the nonvolatile memory device 50 or read data read from the nonvolatile memory device 50). ) Can be stored in a shared memory bank.

제2프로세서(40)는 ASIC(application-specific integrated circuit)으로 구현될 수 있고 상기 액세스 명령에 따라 불휘발성 메모리 장치(50)를 액세스할 수 있다.The second processor 40 may be implemented as an application-specific integrated circuit (ASIC) and may access the nonvolatile memory device 50 according to the access command.

예컨대, 라이트 동작 시, 제2프로세서(40)는 메모리 장치(30)의 공유 메모리 뱅크에 저장된 액세스 명령에 따라 상기 공유 메모리 뱅크에 저장된 명령 데이터를 불휘발성 메모리 장치(50)에 라이트할 수 있다. 또한, 리드 동작 시, 제2프로세서(40)는 메모리 장치(30)의 공유 메모리 뱅크에 저장된 액세스 명령에 따라 불휘발성 메모리 장치(50)로부터 데이터를 리드하고 리드된 데이터를 상기 공유 메모리 뱅크에 라이트할 수 있다.For example, during a write operation, the second processor 40 may write command data stored in the shared memory bank to the nonvolatile memory device 50 according to an access command stored in the shared memory bank of the memory device 30. In addition, during a read operation, the second processor 40 reads data from the nonvolatile memory device 50 according to an access command stored in the shared memory bank of the memory device 30, and writes the read data to the shared memory bank. can do.

불휘발성 메모리 장치(50)는 복수의 메모리 블록들(50-1~50-n)을 포함할 수 있다. 복수의 메모리 블록들(50-1~50-n) 각각은 복수의 메모리 셀들을 포함할 수 있다. 복수의 메모리 블록들(50-1~50-n) 각각은 웨이(way)라고 불릴 수 있다.The nonvolatile memory device 50 may include a plurality of memory blocks 50-1 to 50-n. Each of the plurality of memory blocks 50-1 to 50-n may include a plurality of memory cells. Each of the plurality of memory blocks 50-1 to 50-n may be referred to as a way.

복수의 메모리 셀들 각각은 불휘발성 메모리 셀(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 second processor 40 and the nonvolatile memory device 50 may be implemented as one chip or one package (eg, a multi chip package). According to an embodiment, the memory device 30, the second processor 40, and the nonvolatile memory device 50 may be implemented in one package (eg, MCP).

제1프로세서(20)는 제1데이터 레이트로 라이트 데이터를 메모리 장치(30)의 공유 메모리 뱅크에 라이트하거나 또는 메모리 장치(30)의 공유 메모리 뱅크로부터 리드 데이터를 리드한다.The first processor 20 writes write data to the shared memory bank of the memory device 30 or reads data from the shared memory bank of the memory device 30 at the first data rate.

제2프로세서(40)는 제2데이터 레이트로 메모리 장치(30)의 공유 메모리 뱅크에 저장된 라이트 데이터를 리드하고 불휘발성 메모리 장치(50)로부터 출력된 리드 데이터를 메모리 장치(30)의 공유 메모리 뱅크에 라이트한다. 제1데이터 레이트는 제2데이터 레이트보다 높다.The second processor 40 reads the write data stored in the shared memory bank of the memory device 30 at the second data rate and reads the read data output from the nonvolatile memory device 50 from the shared memory bank of the memory device 30. Light on. The first data rate is higher than the second data rate.

도 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 memory device 30 may include a first port 31, a plurality of memory banks 33-1, 33-2, 33-3, and 33, which may be connected to the second processor 40. A data storage area 33 including -4), and a second port 35 that can be connected to the first processor 20.

제1포트(31)와 제2포트(35) 각각은 DRAM 프로토콜에 따라 데이터를 주거나 받을 수 있는 컨트롤러 또는 인터페이스를 의미한다.Each of the first port 31 and the second port 35 means a controller or an interface capable of giving or receiving data according to a DRAM protocol.

복수의 메모리 뱅크들(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 second processor 40 through the first port 31. Accordingly, the second processor 40 may read data stored in the memory bank 33-1 or write data in the memory bank 33-1 through the first port 31.

메모리 뱅크들(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 first processor 20 through the second port 35. Thus, the first processor 20 writes data to each of the memory banks 33-3 and 33-4 or writes to each of the memory banks 33-3 and 33-4 through the second port 35. You can read the stored data.

메모리 뱅크(33-2)는 액세스 권한에 따라 제1포트(31)에 접속된 제2프로세서(40)에 의하여 액세스되거나 또는 제2포트(35)에 접속된 제1프로세서(20)에 의하여 액세스될 수 있는 공유 메모리 뱅크이다. 여기서, 액세스라 함은 라이트 동작 또는 리드 동작을 의미한다.The memory bank 33-2 is accessed by the second processor 40 connected to the first port 31 or by the first processor 20 connected to the second port 35 depending on the access right. It can be a shared memory bank. Here, the access means a write operation or a read operation.

예컨대, 제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 second processor 40 has access to the shared memory bank 33-2, the second processor 40 can access each of the memory banks 33-1 and 33-2, but the second processor 40 can access the shared memory bank 33-2. 1 processor 20 cannot access shared memory bank 33-2. In addition, when the first processor 20 has access to the shared memory bank 33-2, the first processor 20 assigns each of the memory banks 33-2, 33-3, and 33-4. Although accessible, the second processor 40 may not access the shared memory bank 33-2.

제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 first port 31 and the data storage region 33. In addition, an access circuit (eg, a read / write circuit) to access each memory bank 33-2, 33-3, and 33-4 is implemented between the second port 35 and the data storage region 33. Can be. According to an embodiment, each access circuit may be implemented as part of each port 31 and 35.

도 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 register block 140. The control block includes a queue manager area (or index storage area) 100, a command area 110, a command data area 120, and an instant data area 130.

큐 매니저 영역(100)은 명령 데이터 영역(120)을 관리할 수 있는 정보를 저장하기 위한 영역으로서, 데이터 패킷 중에서 시작 명령 인덱스(HEAD)와 끝 명령 인덱스(TAIL)를 저장할 수 있다. 예컨대, 액세스 명령의 개수는 시작 명령 인덱스(HEAD)와 끝 명령 인덱스(TAIL)에 따라 결정될 수 있다.The queue manager area 100 is an area for storing information for managing the command data area 120 and may store a start command index HEAD and an end command index TAIL among data packets. For example, the number of access commands may be determined according to the start command index HEAD and the end command index TAIL.

명령 영역(110)은 인스턴트 명령(INS CMD)과 복수의 액세스 명령들(CMD1, CMD2, CMD3, CMD4, CMD5, ...)을 저장할 수 있다.The command area 110 may store an instant command INS CMD and a plurality of access commands CMD1, CMD2, CMD3, CMD4, CMD5,...

명령 데이터 영역(120)은 명령 영역(110)에 저장될 수 있는 각 액세스 명령에 상응하는 명령 데이터(예컨대, 라이트 데이터 또는 리드 데이터)가 저장될 수 있다.The command data area 120 may store command data (eg, write data or read data) corresponding to each access command that may be stored in the command area 110.

예컨대, 제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 nonvolatile memory device 50 in which the write data is to be stored. In addition, during a read operation, the access command CMD includes a read command, an address of a shared memory bank in which read data is to be stored, and an address of the nonvolatile memory device 50 in which the read data is stored.

실시 예에 따라, 인스턴트 명령(INS CMD)에 상응하는 명령 데이터는 인스턴트 데이터 영역(130)에 저장될 수 있다.According to an embodiment, the command data corresponding to the instant command INS CMD may be stored in the instant data area 130.

레지스터 블록(140)은 제1프로세서(20)와 제2프로세서(40) 사이에서 주고받는 메시지를 저장할 수 있다.The register block 140 may store a message exchanged between the first processor 20 and the second processor 40.

도 3에 도시된 바와 같이, 레지스터 블록(140)은 복수의 레지스터들 (141~145)을 포함할 수 있다. 복수의 레지스터들(141~145)은 내부 레지스터들 (141~145)과 유보 레지스터들(Reversed)을 포함할 수 있다. 예컨대, 레지스터 블록 (140)은 하나의 로우 사이즈(row size)에 해당하는 크기, 예컨대 N-KB(예컨대, N은 자연수, N=2)일 수 있다.As shown in FIG. 3, the register block 140 may include a plurality of registers 141 ˜ 145. The plurality of registers 141 ˜ 145 may include internal registers 141 ˜ 145 and reserved registers (Reversed). For example, register block 140 may be a size corresponding to one row size, such as N-KB (eg, N is a natural number, N = 2).

예컨대, 제1프로세서(20)로부터 출력된 특정한 로우 어드레스가 메모리 장치 (30)로 입력될 때, 공유 메모리 뱅크(33-2)의 특정한 메모리 영역은 디스에이블되고 내부 레지스터들(141~155)이 인에이블될 수 있다.For example, when a specific row address output from the first processor 20 is input to the memory device 30, the specific memory area of the shared memory bank 33-2 is disabled and the internal registers 141-155 are disabled. It can be enabled.

내부 레지스터들(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 semaphore register 141, mailbox registers 142 and 143, and check registers 144 and 145. The internal registers 141 to 145 may solve a conflict situation that may occur when the first processor 20 and the second processor 40 simultaneously access the shared memory bank 33-2. Can be done.

세머포 레지스터(141)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 어떤 포트, 예컨대 제1포트(31) 또는 제2포트(35)가 가지고 있는지를 나타내는 비트를 저장할 수 있다.The semaphore register 141 may store a bit indicating which port, for example, the first port 31 or the second port 35, has access to the shared memory bank 33-2.

예컨대, 세머포 레지스터(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 semaphore register 141 indicates that the first processor 20 connected to the second port 35 has access to the shared memory bank 33-2. The value '0' of the semaphore register 141 indicates that the second processor 40 connected to the first port 31 has access to the shared memory bank 33-2. The reverse is also possible depending on the embodiment. The value of the semaphore register 141 may be written or changed only by the processor 20 or 40 having access to the shared memory bank 33-2.

각 메일박스 레지스터(142와 143)는 제1프로세서(20)와 제2프로세서(40) 사이에서 주고받는 메시지를 저장하기 위하여 사용될 수 있다.Each mailbox register 142 and 143 may be used to store messages exchanged between the first processor 20 and the second processor 40.

예컨대, 제2프로세서(40)가 제1프로세서(20)로 메시지를 전송하기 위하여 제 2프로세서(40)가 메일 박스 레지스터(MailboxAB; 142)에 상기 메시지를 라이트하면, 제1프로세서(20)는 메모리 장치(30)로부터 출력된 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxAB; 142)에 저장된 상기 메시지를 리드한다.For example, when the second processor 40 writes the message to the mailbox register 142 to transmit the message to the first processor 20, the first processor 20 writes the message. The message stored in the mailbox register 142 is read in response to the interrupt signal output from the memory device 30.

반대로, 제1프로세서(20)가 제2프로세서(40)로 메시지를 전송하기 위하여, 제1프로세서(20)가 메일 박스 레지스터(MailboxBA; 143)에 상기 메시지를 라이트하면, 제2프로세서(40)는 메모리 장치(30)로부터 출력된 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxBA; 143)에 저장된 상기 메시지를 리드한다.Conversely, if the first processor 20 writes the message to the mailboxBA 143 to send the message to the second processor 40, the second processor 40 Reads the message stored in the mailbox register 143 in response to the interrupt signal output from the memory device 30.

각 메일 박스 레지스터(142와 143)에 메시지가 라이트된 경우, 메모리 장치 (30)에 의하여 인터럽트 신호가 발생한다.When a message is written to each mailbox register 142 and 143, an interrupt signal is generated by the memory device 30.

예컨대, 메일 박스 레지스터(MailboxAB; 142)에 메시지가 라이트된 경우, 인터럽트 신호는 제2포트(35)를 통하여 제1프로세서(20)로 전송된다. 따라서, 제1프로세서(20)는 상기 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxAB; 142)에 라이트된 메시지를 리드하고, 리드된 메시지를 디코딩하고, 디코딩 결과에 상응하는 동작을 수행한다.For example, when a message is written to the mailbox register 142, an interrupt signal is transmitted to the first processor 20 through the second port 35. Accordingly, the first processor 20 reads the message written to the mailbox register 142 in response to the interrupt signal, decodes the read message, and performs an operation corresponding to the decoding result.

또한, 메일 박스 레지스터(MailboxBA; 143)에 메시지가 라이트된 경우, 인터럽트 신호는 제1포트(31)를 통하여 제2프로세서(40)로 전송된다. 따라서 제2프로세서(40)은 상기 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxBA; 143)에 라이트된 메시지를 리드하고, 리드된 메시지를 디코딩하고, 디코딩 결과에 상응하는 동작을 수행한다.In addition, when a message is written to the mailbox register 143, the interrupt signal is transmitted to the second processor 40 through the first port 31. Accordingly, the second processor 40 reads the message written to the mailbox register 143 in response to the interrupt signal, decodes the read message, and performs an operation corresponding to the decoding result.

각 체크 레지스터(144와 145)의 값은 각 메일 박스 레지스터(142와 143)에 라이트된 메시지가 상대 프로세서에 의하여 리드되었는지를 나타낸. 각 체크 레지스터(144과 145)의 값은 각 메일 박스 레지스터(142와 143)로 출력된 리드/라이트 명령에 따라 자동적으로 변경될 수 있다.The value of each check register 144 and 145 indicates whether the message written to each mailbox register 142 and 143 has been read by the partner processor. The value of each check register 144 and 145 can be automatically changed in accordance with the read / write command output to each mailbox register 142 and 143.

예컨대, 제2프로세서(40)가 메일 박스 레지스터(MailboxAB; 142)에 메시지를 라이트하기 위하여 라이트 명령을 출력한 경우 체크 레지스터(CheckAB; 144)의 값은 '1'로 설정될 수 있고, 제1프로세서(20)가 메일 박스 레지스터(MailboxAB; 142)에 저장된 상기 메시지를 리드하기 위하여 리드 명령을 출력한 경우 체크 레지스터 (CheckAB; 144)의 값은 '0'으로 설정될 수 있다.For example, when the second processor 40 outputs a write command to write a message to the mailbox register 142, the value of the check register 144 may be set to '1'. When the processor 20 outputs a read command to read the message stored in the mailbox register 142, the value of the check register 144 may be set to '0'.

도 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 first processor 20 to the second processor 40 will be described below.

초기에 세머포 레지스터(141)의 값이 '1'로 설정되어 있으므로, 제1프로세서 (20)는 제2포트(35)를 이용하여 전용 메모리 뱅크들(33-3과 33-4) 뿐만 아니라 공유 메모리 뱅크(33-2)를 액세스할 수 있다. 이때, 제2프로세서(40)는 전용 메모리 뱅크(33-1)를 액세스할 수는 있으나 공유 메모리 뱅크(33-2)를 액세스할 수 없다.Since the value of the semaphor register 141 is initially set to '1', the first processor 20 uses the second port 35 to not only use the dedicated memory banks 33-3 and 33-4. The shared memory bank 33-2 can be accessed. In this case, the second processor 40 may access the dedicated memory bank 33-1 but cannot access the shared memory bank 33-2.

첫 번째, 제1프로세서(20)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 체크하기 위하여 제2포트(35)를 통하여 세머포 레지스터(141)의 값(예컨대, '1')을 리드한다.First, the first processor 20 checks the value of the semaphore register 141 (eg, '1') through the second port 35 to check the access right to the shared memory bank 33-2. Lead.

두 번째, 제2프로세서(40)는 공유 메모리 뱅크(33-2)에 대한 액세스 권한 변경을 요청하는 메시지를 메일 박스 레지스터(MailboxAB; 142)에 라이트한다. 이때, 메일 박스 레지스터(MailboxAB; 142)에 상기 메시지가 라이트되었음을 제1프로세서(20)에게 알리기 위하여 인터럽트 신호가 활성화된다.Second, the second processor 40 writes a message in the mailbox register 142 to request the change of the access right to the shared memory bank 33-2. At this time, the interrupt signal is activated to notify the first processor 20 that the message is written to the mailbox register 142.

세 번째, 제1프로세서(20)는 활성화된 인터럽트 신호에 응답하여 메일 박스 레지스터(MailboxAB; 142)에 라이트된 메시지를 리드한다.Third, the first processor 20 reads the message written to the mailbox register 142 in response to the activated interrupt signal.

네 번째, 상기 메시지에 응답하여 제1프로세서(20)는 제2포트(35)를 통하여 세머포 레지스터(141)의 값을 '1'에서 '0'으로 변경한다. 제1프로세서(20)는 메일 박스 레지스터(MailboxBA; 143)에 세머포 레지스터(141)의 값이 '1'에서 '0으로 변경되었음을 알리기 위한 메시지를 라이트한다. 이때 메모리 장치(30)에 의하여 활성화된 인터럽트는 제2프로세서(40)로 전송된다.Fourth, in response to the message, the first processor 20 changes the value of the semaphore register 141 from '1' to '0' through the second port 35. The first processor 20 writes a message for notifying that the value of the semaphore register 141 has changed from '1' to '0' in the mailbox register (MailboxBA) 143. At this time, the interrupt activated by the memory device 30 is transmitted to the second processor 40.

다섯째, 제2프로세서(40)는 활성화된 인터럽트 신호에 응답하여 제1포트(31)를 통하여 메일 박스 레지스터(MailboxBA; 143)에 라이트된 메시지를 읽어간다.Fifth, the second processor 40 reads a message written to the mailbox register 143 through the first port 31 in response to the activated interrupt signal.

여섯째, 제2프로세서(40)는 상기 메시지에 따라 제1포트(31)를 통하여 세머포 레지스터(141)의 값을 리드하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한이 변경되었음을 확인한다. 따라서, 제2프로세서(40)은 제1포트(41)를 통하여 공유 메모리 뱅크(33-2)를 액세스할 수 있다.Sixth, the second processor 40 reads the value of the semaphore register 141 through the first port 31 according to the message to confirm that the access right to the shared memory bank 33-2 has been changed. Accordingly, the second processor 40 may access the shared memory bank 33-2 through the first port 41.

상술한 바와 같이, 공유 메모리 뱅크(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 register block 140. 33-2) may request to change access rights. In this case, a processor having access to the shared memory bank 33-2 may maintain or change the value of the semaphore register 141.

도 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 ASIC 40, may include a plurality of controllers 41 and 42, a processor 44, a ROM 45, and a RAM 46.

제1컨트롤러(41)는 도 2에 도시된 제1포트(31)와 통신할 수 있는 컨트롤러 또는 인터페이스를 의미한다.The first controller 41 refers to a controller or an interface capable of communicating with the first port 31 shown in FIG. 2.

제1컨트롤러(41)는, 프로세서(44)의 제어 하에, 명령 영역(110)에 저장된 액세스 명령을 리드하고 리드된 액세스 명령에 따라 명령 데이터 영역(120)에 저장된 라이트 데이터를 리드하거나 불휘발성 메모리 장치(50)로부터 출력된 리드 데이터를 명령 데이터 영역(120)에 라이트할 수 있다. 예컨대, 제1컨트롤러(41)는 DRAM 프로토콜을 지원(또는, 사용)할 수 있는 컨트롤러 또는 인터페이스를 의미할 수 있다.The first controller 41 reads the access command stored in the command area 110 under the control of the processor 44 and reads the write data stored in the command data area 120 according to the read access command or reads the nonvolatile memory. The read data output from the device 50 may be written to the command data area 120. For example, the first controller 41 may refer to a controller or an interface capable of supporting (or using) a DRAM protocol.

제2컨트롤러(42)는 불휘발성 메모리 장치(50)의 데이터 통신 프로토콜에 따라 불휘발성 메모리 장치(50)로 라이트 데이터를 전송하거나 리드 데이터를 수신할 수 있는 컨트롤러 또는 인터페이스를 의미할 수 있다. 실시 예에 따라, 제2컨트롤러(42)는 NAND 플래시 컨트롤러 또는 인터페이스일 수 있다.The second controller 42 may refer to a controller or an interface capable of transmitting write data or receiving read data to the nonvolatile memory device 50 according to a data communication protocol of the nonvolatile memory device 50. According to an embodiment, the second controller 42 may be a NAND flash controller or an interface.

부팅 시, 프로세서(44)는 ROM(45)에 저장된 프로그램을 RAM(46)에 로딩하고 로딩된 프로그램을 실행시킬 수 있다. 상기 프로세서(44)는 상기 프로그램에 따라 각 컨트롤러(41과 42)의 동작을 제어할 수 있다.At boot time, processor 44 may load a program stored in ROM 45 into RAM 46 and execute the loaded program. The processor 44 may control the operation of each controller 41 and 42 according to the program.

도 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 first processor 20 generates a data packet to use the shared memory bank 33-2 of the memory device 30 as a storage area for transmitting access commands and data. .

도 5에 도시된 바와 같이 라이트 동작 또는 리드 동작을 수행하기 위하여 제1프로세서(20)에 의하여 생성된 데이터 패킷(200)은 복수의 정보 영역들(210~26)을 포함한다. 제1정보 영역(210)은 명령에 대한 정보를 저장한다. 상기 명령은 라이트 명령 또는 리드 명령일 수 있다.As illustrated in FIG. 5, the data packet 200 generated by the first processor 20 to perform a write operation or a read operation includes a plurality of information areas 210 to 26. The first information area 210 stores information about the command. The command may be a write command or a read command.

제2정보 영역(220)은 시작 명령 인덱스(start command index)를 저장하고, 제3정보 영역(230)은 끝 명령 인덱스(end command index)를 저장한다. 따라서, 제1프로세서(20)로부터 출력된 복수의 액세스 명령들의 개수에 대한 정보는 시작 명령 인덱스와 끝 명령 인덱스에 저장된다. 따라서, 본 발명의 실시 예에 따른 메모리 시스템(10)은 복수의 액세스 명령들을 순차적으로 처리할 수 있다.The second information area 220 stores a start command index, and the third information area 230 stores an end command index. Therefore, the information about the number of the plurality of access commands output from the first processor 20 is stored in the start command index and the end command index. Therefore, the memory system 10 may sequentially process a plurality of access commands.

제4정보 영역(240)은 명령 데이터가 저장된 또는 저장될 공유 메모리 뱅크 (33-2)의 어드레스를 저장하고, 제5정보 영역(250)은 공유 메모리 뱅크(33-2)에 저장된 또는 저장될 데이터의 크기(size)를 저장한다.The fourth information area 240 stores the address of the shared memory bank 33-2 in which command data is to be stored or stored, and the fifth information area 250 is stored or stored in the shared memory bank 33-2. Store the size of the data.

제6정보 영역(260)은 라이트 동작 시에 라이트 데이터가 저장될 불휘발성 메모리(50)의 어드레스 또는 리드 동작 시에 불휘발성 메모리(50)로부터 리드된 리드 데이터가 저장될 어드레스를 나타낸다. 액세스 명령은 각 정보 영역(210, 240, 250, 및 260)에 저장된 정보를 포함한다. The sixth information area 260 indicates an address of the nonvolatile memory 50 in which write data is to be stored in a write operation or an address in which read data read from the nonvolatile memory 50 is stored in a read operation. The access command includes information stored in each information area 210, 240, 250, and 260.

도 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 semiconductor system 10 will be described with reference to FIGS. 1 to 6 as follows.

우선, 제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 first processor 20 has access to the shared memory bank 33-2. The first processor 20 writes the write data to the control block, for example, the first command data area 120-1 of the command data area 120 through the second port 35 (S10). The first processor 20 generates a data packet 200 for the write data and transmits the generated data packet to the memory device 30. The memory device 30 extracts an access command from the data packet 200 and writes it to the command area 110 of the control block (S20).

그리고, 제1프로세서(20)는 제2포트(35)를 통하여 메시지를 메일 박스 레지스터(MailboxBA; 413)에 라이트한다(S30). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제1포트(31)를 통하여 제2프로세서(40)로 전송한다.The first processor 20 writes the message to the mailbox register 413 through the second port 35 (S30). In this case, the memory device 30 transmits the activated interrupt signal to the second processor 40 through the first port 31.

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖지 않은 제2프로세서(40)는 상기 활성화된 인터럽트 신호에 응답하여 제1프로세서(20)로부터 공유 메모리 뱅크 (33-2)에 대한 액세스 권한을 넘겨받기 위한 동작을 수행한다.The second processor 40, which does not have access to the shared memory bank 33-2, accesses the shared memory bank 33-2 from the first processor 20 in response to the activated interrupt signal. Perform the operation to take over.

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)의 프로세서(44)는 메일 박스 레지스터(MailboxBA; 413)에 저장된 메시지를 리드한다 (S50). 제2프로세서(40)는 리드된 메시지에 응답하여 공유 메모리 뱅크(33-2)의 컨트롤 블록의 명령 영역(110)에 저장된 액세스 명령을 리드한다(S60).The processor 44 of the second processor 40 having received the access right to the shared memory bank 33-2 reads the message stored in the mailbox register 413 (S50). The second processor 40 reads the access command stored in the command area 110 of the control block of the shared memory bank 33-2 in response to the read message (S60).

제2프로세서(40)는, 상기 액세스 명령을 디코딩하고 디코딩 결과에 따라, 명령 데이터 영역(120)의 제1명령 데이터 영역(120-1)에 저장된 라이트 데이터를 리 드하고(S70), 리드된 라이트 데이터를 제2컨트롤러(42)를 이용하여 불휘발성 메모리 장치(50)에 라이트한다(S80).The second processor 40 decodes the access command and reads the write data stored in the first command data area 120-1 of the command data area 120 according to the decoding result (S70). The write data is written to the nonvolatile memory device 50 using the second controller 42 (S80).

라이트 동작이 종료된 후, 제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 controller 44 of the second processor 40 writes a message for indicating that the write operation is completed to the mailbox register 142 using the first port 31. (S90). The memory device 30 transmits the activated interrupt signal to the first processor 20. The first processor 20 performs a procedure for taking over access to the shared memory bank 33-2. The first processor 20 that has received the access right to the shared memory bank 33-2 reads a message stored in the mailbox register 142 (S100).

각 단계(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 first processor 20 has access to the shared memory bank 33-2, and the initial state of the shared memory bank 33-2 is empty as shown in FIG. 7A.

도 7b에 도시된 바와 같이, 제1프로세서(20)는 하나의 라이트 데이터를 명령 데이터 블록(120)의 제1명령 데이터 영역(120-1)에 라이트하고(S10), 하나의 데이 터 패킷을 생성하고, 생성된 데이터 패킷을 메모리 장치(30)로 전송한다. 이때 시작 명령 인덱스(H)와 끝 명령 인덱스(T)는 1로 설정될 수 있다.As shown in FIG. 7B, the first processor 20 writes one write data to the first command data area 120-1 of the command data block 120 (S10), and writes one data packet. The generated data packet is transmitted to the memory device 30. In this case, the start command index H and the end command index T may be set to one.

메모리 장치(30)는 수신된 데이터 패킷을 디코딩하고 디코딩 결과에 따라 시작 명령 인덱스(H)와 끝 명령 인덱스(T)를 큐 매니저 영역(100)에 저장하고 제1액세스 명령(CMD1)을 명령 영역(110)의 제2저장 영역(110-1)에 저장한다(S20).The memory device 30 decodes the received data packet, stores the start command index H and the end command index T in the queue manager area 100 according to the decoding result, and stores the first access command CMD1 in the command area. The data is stored in the second storage area 110-1 of 110 (S20).

제1프로세서(20)는 메일 박스 레지스터(143)에 메시지를 라이트한다(S30). 따라서, 메모리 장치(30)는 활성화된 인터럽트 신호를 제2프로세서(40)로 출력한다 (S40). 따라서 제2프로세서(40)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 동작을 수행한다.The first processor 20 writes a message to the mailbox register 143 (S30). Therefore, the memory device 30 outputs the activated interrupt signal to the second processor 40 (S40). Accordingly, the second processor 40 performs an operation for taking over access to the shared memory bank 33-2 in response to the activated interrupt signal.

메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)는 메일 박스 레지스터(143)에 라이트된 메시지를 리드하여 디코딩한다(S50).The second processor 40 having transferred the access right to the memory bank 33-2 reads and decodes the message written to the mailbox register 143 (S50).

디코딩 결과에 따라, 제2프로세서(40)는 명령 영역(110)의 제2저장 영역 (110-1)에 저장된 제1액세스 명령(CMD1)을 리드하고(S60), 리드된 제1액세스 명령 (CMD1)에 따라 제1명령 데이터 영역(120-1)에 저장된 라이트 데이터를 리드하 고(S70), 리드된 라이트 데이터를 불휘발성 메모리 장치(50)에 라이트한다(S80).According to the decoding result, the second processor 40 reads the first access command CMD1 stored in the second storage area 110-1 of the command area 110 (S60), and reads the read first access command ( According to the CMD1, the write data stored in the first command data area 120-1 is read (S70), and the read write data is written to the nonvolatile memory device 50 (S80).

라이트 동작이 종료된 경우, 제2프로세서(40)는 메일 박스 레지스터(142)에 메시지를 라이트한다(S90). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제1프로세서(20)로 출력한다. 상기 라이트 동작이 종료된 경우, 도 7c에 도시된 바와 같이 공유 메모리 뱅크(33-2)의 컨트롤 블록은 비워질 수 있다.When the write operation is finished, the second processor 40 writes a message to the mailbox register 142 (S90). In this case, the memory device 30 outputs the activated interrupt signal to the first processor 20. When the write operation is completed, the control block of the shared memory bank 33-2 may be empty as shown in FIG. 7C.

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖지 않은 제1프로세서(20)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 동작을 수행한다.The first processor 20 which does not have access to the shared memory bank 33-2 performs an operation for taking over access to the shared memory bank 33-2 in response to the activated interrupt signal. .

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제1프로세서(20)는 메일 박스 레지스터(142)에 저장된 메시지를 리드한다(S100).The first processor 20 having received the access right to the shared memory bank 33-2 reads the message stored in the mailbox register 142 (S100).

다른 예로서, 도 7d에 도시된 바와 같이, 제1프로세서(20)는 제1라이트 데이터를 제1명령 데이터 저장 영역(120-1)에 라이트하고 제2라이트 데이터를 제2명령 데이터 저장 영역(120-2)에 라이트하고, 상기 제1라이트 데이터와 상기 제2라이트 데이터에 대한 정보를 포함하는 데이터 패킷을 생성하고 생성된 데이터 패킷을 메모리 장치(30)로 전송한다.As another example, as shown in FIG. 7D, the first processor 20 writes the first write data to the first command data storage area 120-1 and the second write data to the second command data storage area ( 120-2), a data packet including information about the first write data and the second write data is generated, and the generated data packet is transmitted to the memory device 30.

메모리 장치(30)는 수신된 데이터 패킷으로부터 시작 명령 인덱스(H:0x1)와 끝 명령 인덱스(T: 0x2)를 추출하고 추출된 인덱스들을 큐 매니저 영역(100)에 저장하고, 제1라이트 데이터에 대한 처리를 지시하는 제1액세스 명령(CMD1)을 명령 영역(110)의 제2영역(110-1)에 저장하고 제2라이트 데이터에 대한 처리를 지시하는 제2액세스 명령(CMD2)을 명령 영역(110)의 제3영역(110-2)에 저장한다.The memory device 30 extracts a start command index (H: 0x1) and an end command index (T: 0x2) from the received data packet, stores the extracted indexes in the queue manager area 100, and stores the extracted indexes in the first write data. The first access command CMD1 instructing the processing of the data is stored in the second area 110-1 of the command area 110, and the second access command CMD2 instructs the processing of the second write data. The data is stored in the third region 110-2 of 110.

도 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 second processor 40 that receives the access right to the shared memory bank 33-2 may store the first access command stored in the second area 110-1 of the command area 110. The CMD1 is read, and the first write data stored in the first command data area 120-1 is written to the nonvolatile memory device 50 according to the read first access command CMD1. Therefore, only the second write data remains in the second command data area 120-2.

계속하여, 도 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 first processor 20 having access to the shared memory bank 33-2 transmits the third write data to the third command data storage area 120-3. Write the fourth write data to the fourth command data storage area 120-4, write the fifth write data to the fifth command data storage area 120-5, and write the third write data to the third write data. A data packet including the fourth write data and the information on the fifth write data is generated and the generated data packet is transmitted to the memory device 30.

메모리 장치(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 memory device 30 extracts a start command index (H: 0x3) and an end command index (T: 0x5) from the received data packet, stores the extracted indexes in the queue manager area 100, and stores the extracted indexes in the third write data. The third access command CMD3 instructing the processing for the data is stored in the fourth area 110-3 of the command area 110, and the fourth access command CMD4 instructing the processing for the fourth write data is commanded. The fifth access command CMD5 stored in the fifth area 110-4 of the area 110 and instructing processing of the fifth write data is stored in the sixth area 110-5 of the command area 110. Save it.

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 갖는 제2프로세서(20)는 공유 메모리 뱅크(33-2)를 액세스하여 각 액세스 명령(CMD2, CMD3, CMD4, 및 CMD5)에 따라 제2데이터, 제3데이터, 제4데이터, 및 제5데이터를 정해진 순서에 따라 불휘발성 메모리 장치(50)에 라이트할 수 있다.The second processor 20 having access to the shared memory bank 33-2 accesses the shared memory bank 33-2 so that the second data can be accessed according to each access command CMD2, CMD3, CMD4, and CMD5. The third data, the fourth data, and the fifth data may be written to the nonvolatile memory device 50 in a predetermined order.

도 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 semiconductor system 10 will be described in detail with reference to FIGS. 1 through 5 and 8. The first processor 20 having access to the shared memory bank 33-2 writes an access command to the command area 110 of the control block (S200).

그리고, 제1프로세서(20)는 메일 박스 레지스터(143)에 메시지를 라이트한다 (S210). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제2프로세서(40)로 전송한다(S220). 따라서, 제2프로세서(40)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 절차를 수행한다.In operation S210, the first processor 20 writes a message to the mailbox register 143. In this case, the memory device 30 transmits the activated interrupt signal to the second processor 40 (S220). Accordingly, the second processor 40 performs a procedure for taking over access to the shared memory bank 33-2 in response to the activated interrupt signal.

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제2프로세서(40)는 메일 박스 레지스터(143)에 메시지를 리드하고(S230), 상기 메시지에 따라 명령 영역(110)에 저장된 액세스 명령을 리드한다(SS240).The second processor 40 having received the access right to the shared memory bank 33-2 reads the message to the mailbox register 143 (S230), and access command stored in the command area 110 according to the message. Is read (SS240).

제2프로세서(40)는 상기 액세스 명령에 따라 불휘발성 메모리 장치(50)로부터 데이터를 리드하고(S250), 리드된 데이터를 상기 액세스 명령에 따라 공유 메모리 뱅크(33-2)의 명령 데이터 영역(120)에 라이트한다(S260).The second processor 40 reads data from the nonvolatile memory device 50 according to the access command (S250), and reads the read data in the command data area of the shared memory bank 33-2 according to the access command. 120) (S260).

그 후 제2프로세서(40)는 메일 박스 레지스터(142)에 메시지를 라이트한다 (S270). 이때 메모리 장치(30)는 활성화된 인터럽트 신호를 제1프로세서(20)로 전송한다). 따라서, 제1프로세서(20)는 상기 활성화된 인터럽트 신호에 응답하여 공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받기 위한 절차를 수행한다.Thereafter, the second processor 40 writes a message to the mailbox register 142 (S270). At this time, the memory device 30 transmits the activated interrupt signal to the first processor 20). Accordingly, the first processor 20 performs a procedure for taking over access to the shared memory bank 33-2 in response to the activated interrupt signal.

공유 메모리 뱅크(33-2)에 대한 액세스 권한을 넘겨받은 제1프로세서(20)는 메일 박스 레지스터(142)에 저장된 메시지를 리드하고(S280), 상기 메시지에 따라 명령 데이터 영역(120)에 저장된 데이터를 리드한다(S290). 따라서, 반도체 시스템 (10)의 리드 동작을 종료된다.The first processor 20 that has received access to the shared memory bank 33-2 reads a message stored in the mailbox register 142 (S280), and stores the message stored in the command data area 120 according to the message. The data is read (S290). Thus, the read operation of the semiconductor system 10 is terminated.

본 발명의 실시 예에 따른 메모리 장치(30)는 공유 메모리 뱅크(33-2)를 액 세스 명령과 명령 데이터의 전송 영역으로 활용할 수 있다. The memory device 30 according to an embodiment of the present disclosure may use the shared memory bank 33-2 as a transfer area of an access command and command data.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.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)

불휘발성 메모리 장치;Nonvolatile memory devices; 제1프로세서로부터 출력된 액세스 명령을 저장하기 위한 제1저장 영역과, 상기 액세스 명령에 해당하는 데이터를 저장하기 위한 제2저장 영역을 포함하는 메모리 장치; 및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 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하고 리드된 액세스 명령에 따라, 상기 제1프로세서로부터 출력되고 상기 제2저장 영역에 저장된 상기 데이터를 리드하여 상기 불휘발성 메모리 장치에 라이트하거나 또는 상기 불휘발성 메모리 장치로부터 리드된 데이터를 상기 데이터로서 상기 제2저장 영역에 라이트하기 위한 제2프로세서를 포함하는 반도체 시스템.Read the data output from the first processor and stored in the second storage area according to the read access command and write the data to the nonvolatile memory device according to the read access command; And a second processor for writing data read from a volatile memory device into the second storage area as the data. 제1항에 있어서, 상기 메모리 장치는 상기 액세스 명령의 인덱스를 저장하기 위한 제3저장 영역을 더 포함하는 반도체 시스템.The semiconductor system of claim 1, wherein the memory device further comprises a third storage area for storing an index of the access command. 제1항에 있어서, 상기 메모리 장치는 상기 제1프로세서와 상기 제2프로세서 사이에서 주고받는 메시지를 저장하기 위한 레지스터 블록을 더 포함하는 반도체 시스템.The semiconductor system of claim 1, wherein the memory device further comprises a register block configured to store a message exchanged between the first processor and the second processor. 제1프로세서가 액세스 명령에 해당하는 라이트 데이터를 메모리 장치의 제2 저장 영역에 라이트하는 단계;Writing, by the first processor, write data corresponding to the access command to the second storage area of the memory device; 상기 제1프로세서가 상기 액세스 명령을 상기 메모리의 제1저장 영역에 라이트하는 단계;Writing, by the first processor, the access command to a first storage area of the memory; 제2프로세서가 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하는 단계; 및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 상기 액세스 명령에 따라, 상기 제2프로세서가 상기 제2저장 영역에 저장된 상기 라이트 데이터를 리드하고 리드된 라이트 데이터를 불휘발성 메모리 장치에 라이트하는 단계를 포함하는 반도체 시스템의 동작 방법.In response to the access command, the second processor reading the write data stored in the second storage area and writing the read write data to a nonvolatile memory device. 제4항에 있어서, 상기 제2프로세서가 상기 메모리 장치에 대한 액세스 권한을 넘겨받기 위한 절차를 수행하는 단계를 더 포함하는 반도체 시스템의 동작 방법.The method of claim 4, further comprising performing a procedure for the second processor to take over access to the memory device. 제1프로세서가 액세스 명령을 메모리 장치의 제1저장 영역에 라이트하는 단계;Writing, by the first processor, the access command to the first storage area of the memory device; 제2프로세서가 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하는 단계;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; 상기 액세스 명령에 따라 상기 제2프로세서가 불휘발성 메모리 장치로부터 데이터를 리드하고 리드된 데이터를 상기 메모리 장치의 제2저장 영역에 라이트하는 단계; 및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 상기 제1프로세서가 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제2저장 영역에 저장된 상기 데이터를 리드하는 단계를 포함하는 반도체 시스템의 동작 방법.And the first processor reading the data stored in the second storage area in response to an interrupt signal output from the memory device. 불휘발성 메모리 장치;Nonvolatile memory devices; 액세스 명령을 생성하기 위한 제1프로세서;A first processor for generating an access instruction; 상기 제1프로세서로부터 출력된 상기 액세스 명령을 저장하기 위한 제1저장 영역과, 상기 액세스 명령에 해당하는 데이터를 저장하기 위한 제2저장 영역을 포함하는 메모리 장치; 및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 상기 제1저장 영역에 저장된 상기 액세스 명령을 리드하고 리드된 액세스 명령에 따라, 상기 제1프로세서로부터 출력되고 상기 제2저장 영역에 저장된 상기 데이터를 리드하여 상기 불휘발성 메모리 장치에 라이트하거나 또는 상기 불휘발성 메모리 장치로부터 리드된 데이터를 상기 데이터로서 상기 제2저장 영역에 라이트하기 위한 제2프로세서를 포함하는 반도체 시스템.Read the data output from the first processor and stored in the second storage area according to the read access command and write the data to the nonvolatile memory device according to the read access command; And a second processor for writing data read from a volatile memory device into the second storage area as the data. 제7항에 있어서, 상기 제2프로세서는 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 액세스 명령을 리드하는 반도체 시스템.The semiconductor system of claim 7, wherein the second processor reads the access command in response to an interrupt signal output from the memory device. 제7항에 있어서, 상기 제1프로세서는 상기 메모리 장치로부터 출력된 인터럽트 신호에 응답하여 상기 제2저장 영역에 저장된 상기 데이터를 리드하는 반도체 시스템.The semiconductor system of claim 7, wherein the first processor reads the data stored in the second storage area in response to an interrupt signal output from the memory device.
KR1020090125315A 2009-10-16 2009-12-16 Semiconductor system and method for operating the same KR20110068386A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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