KR102536788B1 - 컨트롤러 및 그것의 동작 방법 - Google Patents
컨트롤러 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102536788B1 KR102536788B1 KR1020180105679A KR20180105679A KR102536788B1 KR 102536788 B1 KR102536788 B1 KR 102536788B1 KR 1020180105679 A KR1020180105679 A KR 1020180105679A KR 20180105679 A KR20180105679 A KR 20180105679A KR 102536788 B1 KR102536788 B1 KR 102536788B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- input
- pattern
- input data
- shift register
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Controls And Circuits For Display Device (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Manipulation Of Pulses (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
본 기술은 전자 장치에 관한 것으로 입력되는 데이터를 분석하기 위한 패턴을 출력하는 저장 장치는 데이터를 식별하는 패턴을 각각 포함하는 복수의 입력 데이터들을, 기 설정된 입력 주기마다 순차적으로 수신하는 데이터 수신부, 상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들 중 어느 하나에 포함된 패턴을 기준 패턴으로 설정하고, 상기 기준 패턴과 동일한 패턴을 포함하는 일치 데이터가 입력되는지에 기초하여 제어 신호를 생성하고 출력하는 패턴 판단부 및 상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들을 입력된 순서에 따라 저장하고, 상기 일치 데이터가 저장되면, 상기 패턴 판단부로부터 수신된 제어 신호에 기초하여 상기 일치 데이터를 포함한 저장된 데이터들인 캡쳐 데이터를 출력하는 데이터 저장부를 포함한다.
Description
본 발명은 전자 장치에 관한 것으로, 보다 구체적으로 본 발명은 컨트롤러 및 그것의 동작 방법에 관한 것이다.
저장 장치는 컴퓨터, 스마트폰, 스마트패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 저장 장치는 데이터를 저장하는 장치에 따라, 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치와 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 불휘발성 메모리에 데이터를 저장하는 장치를 포함한다.
저장 장치는 데이터가 저장되는 메모리 장치와 메모리 장치에 데이터를 저장하는 메모리 컨트롤러를 포함할 수 있다. 메모리 장치는 휘발성 메모리와 불휘발성 메모리로 구분될 수 있다. 여기서 불휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함한다.
본 발명의 실시 예는 입력되는 데이터를 분석하기 위한 패턴을 출력할 수 있는 컨트롤러 및 그것의 동작 방법을 제공한다.
본 발명의 실시 예에 따른 컨트롤러는, 데이터를 식별하는 패턴을 각각 포함하는 복수의 입력 데이터들을, 기 설정된 입력 주기마다 순차적으로 수신하는 데이터 수신부 상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들 중 어느 하나에 포함된 패턴을 기준 패턴으로 설정하고, 상기 기준 패턴과 동일한 패턴을 포함하는 일치 데이터가 입력되는지에 기초하여 제어 신호를 생성하고 출력하는 패턴 판단부 및 상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들을 입력된 순서에 따라 저장하고, 상기 일치 데이터가 저장되면, 상기 패턴 판단부로부터 수신된 제어 신호에 기초하여 상기 일치 데이터를 포함한 저장된 데이터들인 캡쳐 데이터를 출력하는 데이터 저장부를 포함한다.
본 발명의 실시 예에 따른 컨트롤러의 동작 방법은, 데이터를 식별하는 패턴을 각각 포함하는 복수의 입력 데이터들을, 기 설정된 입력 주기마다 순차적으로 수신하는 단계, 상기 복수의 입력 데이터들 중 어느 하나에 포함된 패턴을 기준 패턴으로 설정하는 단계, 상기 기준 패턴과 동일한 패턴을 포함하는 일치 데이터가 입력되는지에 기초하여 제어 신호를 생성하고 출력하는 단계, 상기 복수의 입력 데이터들을 입력된 순서에 따라 시프트 레지스터에 저장하는 단계 및 상기 복수의 입력 데이터들 중 상기 일치 데이터가 저장되면, 상기 제어 신호에 기초하여 상기 일치 데이터를 포함한 저장된 데이터들인 캡쳐 데이터를 출력하는 단계를 포함한다.
본 기술에 따르면, 입력되는 데이터를 분석하기 위한 패턴을 출력할 수 있는 컨트롤러 및 그것의 동작 방법이 제공된다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 컨트롤러를 설명하기 위한 도면이다.
도 3은 도 2의 패턴 판단부의 구조를 설명하기 위한 도면이다.
도 4는 도 3의 패턴 비교부의 구조를 설명하기 위한 도면이다.
도 5는 도 2의 데이터 저장부를 설명하기 위한 도면이다.
도 6은 데이터 수신부가 수신하는 복수의 입력 데이터들을 식별하는 방법을 설명하기 위한 도면이다.
도 7은 도 6의 복수의 입력 데이터들에 각각 포함된 패턴들을 설명하기 위한 도면이다.
도 8은 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 9는 기준 패턴 및 시프트 레지스터에 저장되는 입력 데이터들을 설명하기 위한 도면이다.
도 10은 복수의 입력 데이터들 중 일정 입력 주기마다 시프트 레지스터에 입력되는 데이터들을 설명하기 위한 도면이다.
도 11은 본 발명의 다른 실시 예에 따른 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 실시 예에 따른 컨트롤러의 동작을 설명하기 위한 도면이다.
도 14는 본 발명의 다른 실시 예에 따른 컨트롤러의 동작을 설명하기 위한 도면이다.
도 2는 도 1의 컨트롤러를 설명하기 위한 도면이다.
도 3은 도 2의 패턴 판단부의 구조를 설명하기 위한 도면이다.
도 4는 도 3의 패턴 비교부의 구조를 설명하기 위한 도면이다.
도 5는 도 2의 데이터 저장부를 설명하기 위한 도면이다.
도 6은 데이터 수신부가 수신하는 복수의 입력 데이터들을 식별하는 방법을 설명하기 위한 도면이다.
도 7은 도 6의 복수의 입력 데이터들에 각각 포함된 패턴들을 설명하기 위한 도면이다.
도 8은 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 9는 기준 패턴 및 시프트 레지스터에 저장되는 입력 데이터들을 설명하기 위한 도면이다.
도 10은 복수의 입력 데이터들 중 일정 입력 주기마다 시프트 레지스터에 입력되는 데이터들을 설명하기 위한 도면이다.
도 11은 본 발명의 다른 실시 예에 따른 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 실시 예에 따른 컨트롤러의 동작을 설명하기 위한 도면이다.
도 14는 본 발명의 다른 실시 예에 따른 컨트롤러의 동작을 설명하기 위한 도면이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 서술된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 시스템(Memory System; 50)은 메모리 장치(Memory Device; 100), 및 호스트(Host; 300)의 제어에 따라 메모리 장치(100)를 제어하는 컨트롤러(Controller; 200)를 포함할 수 있다. 메모리 장치는 전원이 꺼지면 저장된 데이터가 소실되는 휘발성 메모리 장치(Volatile Memory Device) 또는 전원이 꺼져도 저장된 데이터가 소실되지 않는 비휘발성 메모리 장치(Nonvolatile Memory Device)일 수 있다.
호스트(300)는 다양한 통신 방식들 중 적어도 하나를 이용하여 메모리 시스템(50)과 통신할 수 있다.
컨트롤러(200)는 메모리 시스템(50)의 동작을 전반적으로 제어하며, 호스트(300)와 메모리 장치(100) 사이의 데이터 교환을 제어할 수 있다. 예를 들면, 컨트롤러(200)는 호스트(300)의 요청에 따라 메모리 장치(100)를 제어하여 데이터를 저장할 수 있다.
컨트롤러(200)는 데이터 수신부(210)를 포함할 수 있다. 데이터 수신부(210)는 호스트(300)로부터 복수의 입력 데이터(IN_DATA)들을 제공받을 수 있다. 입력 데이터(IN_DATA)는 메모리 장치(100)가 동작을 수행하기 위해 필요한 커맨드 또는 어드레스를 식별하기 위한 데이터일 수 있다. 입력 데이터(IN_DATA)는 커맨드 또는 어드레스에 대응되는 데이터의 패턴을 포함할 수 있다.
복수의 입력 데이터(IN_DATA)들은 각각 패턴들을 포함할 수 있다. 복수의 입력 데이터(IN_DATA)들은 기 설정된 입력 주기마다 순차적으로 데이터 수신부(210)로 입력될 수 있다. 데이터 수신부(210)는 순차적으로 수신된 입력 데이터(IN_DATA)를 패턴 판단부(220) 또는 데이터 저장부(230)에 제공할 수 있다. 입력 데이터(IN_DATA)는 특정 패턴을 포함할 수 있다. 입력 주기는 클럭(CLK)이 반복되는 횟수일 수 있다. 즉, 입력 주기는 클럭(CLK)에 입력 데이터(IN_DATA)가 동기화 되는 횟수일 수 있다.
실시 예에서, 데이터 수신부(210)는 리프레시 커맨드를 나타내는 패턴을 포함하는 입력 데이터(IN_DATA)를 수신한 경우, 일정 입력 주기 동안 입력되는 입력 데이터(IN_DATA)들을 데이터 저장부(230)에 제공하지 않을 수 있다. 즉, 데이터 수신부(210)는 일정 입력 주기 동안 입력되는 데이터들을 제외하고, 일정 입력 주기 이후부터 수신되는 입력 데이터(IN_DATA)들을 데이터 저장부(230)에 제공 수 있다.
컨트롤러(200)는 패턴 판단부(220)를 포함할 수 있다. 패턴 판단부(220)는 복수의 입력 데이터(IN_DATA)들 각각에 포함된 패턴들 중 어느 하나의 패턴을 기준 패턴(REP_PAT)으로 설정할 수 있다. 기준 패턴(REP_PAT)이 설정되면, 패턴 판단부(220)는 입력 데이터(IN_DATA)에 포함된 패턴(IN_PAT)과 기준 패턴(REP_PAT)이 일치하는지를 판단할 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴(IN_PAT)과 기준 패턴(REP_PAT)이 일치하는 경우, 패턴 판단부(220)는 데이터 저장부(230)에 저장된 캡쳐 데이터(CAP_DATA)를 출력하기 위한 제어 신호(CTRL_SIG)를 생성하고 출력할 수 있다.
메모리 컨트롤러(200)는 데이터 저장부(230)를 포함할 수 있다. 데이터 저장부(230)는 데이터 수신부(210)로부터 제공받은 복수의 입력 데이터(IN_DATA)들을 저장할 수 있다. 데이터 저장부(230)에 저장된 데이터는 캡쳐 데이터(CAP_DATA)를 포함할 수 있다. 데이터 저장부(230)에 저장된 데이터는 데이터 출력부(240)에 제공될 수 있다. 데이터 저장부(230)는 데이터 수신부(210)로부터 수신된 새로운 입력 데이터(IN_DATA)를 저장할 수 있다.
컨트롤러(200)는 데이터 출력부(240)를 포함할 수 있다. 데이터 출력부(240)는 캡쳐 데이터를 포함한 데이터 저장부(230)에 저장된 데이터들을 메모리 장치(100) 또는 메모리 장치(100)를 제어하는 다른 컨트롤러에 제공할 수 있다. 다른 실시 예로, 데이터 출력부(240)는 데이터 저장부(230)에 저장된 데이터들을 다른 메모리 시스템에 제공할 수 있다. 데이터 출력부(240)가 출력한 데이터들은 호스트(300)로부터 제공받은 복수의 입력 데이터(IN_DATA)들의 패턴을 분석하는데 사용될 수 있다.
실시예에 따라, 메모리 장치(100)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), DDR4 SDRAM, LPDDR4(Low Power Double Data Rate4) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, LPDDR(Low Power DDR) 또는 RDRAM(Rambus Dynamic Random Access Memory)을 포함할 수 있다.
도 2는 도 1의 컨트롤러를 설명하기 위한 도면이다.
도 2를 참조하면, 메모리 컨트롤러(200)는 데이터 수신부(210), 패턴 판단부(220), 데이터 저장부(230) 및 데이터 출력부(240)를 포함할 수 있다.
데이터 수신부(210)는 호스트(300)로부터 복수의 입력 데이터(IN_DATA)들을 제공받을 수 있다. 입력 데이터(IN_DATA)는 커맨드 또는 어드레스를 나타내는 데이터일 수 있다. 입력 데이터(IN_DATA)는 데이터를 식별하기 위한 패턴을 포함할 수 있다. 데이터를 식별하기 위한 패턴은 커맨드 또는 어드레스를 식별하기 위한 패턴일 수 있다. 커맨드 또는 어드레스를 식별하기 위한 패턴은 커맨드 또는 어드레스를 구성하는 입력 신호의 패턴일 수 있다. 데이터 수신부(210)는 데이터를 식별하는 패턴을 각각 포함하는 복수의 입력 데이터(IN_DATA)들을 기 설정된 입력 주기마다 순차적으로 수신할 수 있다.
구체적으로, 커맨드 또는 어드레스 데이터를 구성하는 입력 신호들은 하이 상태(High Status) 또는 로우 상태(Low Status)일 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴은 다수의 입력 신호들의 결합일 수 있다. 구체적으로, 커맨드 또는 어드레스를 구성하는 각각의 입력 신호가 하이 상태(High Status)인 경우 “1”로우 상태(Low Status)인 경우 “0”일 수 있다. 따라서, 데이터의 패턴은 “1”과 “0”을 조합한 패턴일 수 있다. 커맨드 또는 어드레스 데이터의 패턴은 커맨드 또는 어드레스를 구별하는 기준이 될 수 있다. 즉, 각 커맨드 또는 각 어드레스 별로 데이터의 패턴은 다를 수 있다.
패턴 판단부(220)는 데이터 수신부(210)로부터 복수의 입력 데이터(IN_DATA)들을 제공받을 수 있다. 복수의 입력 데이터(IN_DATA)들은 데이터를 식별하기 위한 패턴을 포함할 수 있다. 패턴 판단부(220)는 복수의 입력 데이터(IN_DATA)들에 각각 포함된 패턴들 중 어느 하나의 패턴을 기준 패턴(REP_PAT)으로 설정할 수 있다. 기준 패턴(REP_PAT)으로 설정된 패턴은 하나의 패턴 또는 두 개 이상의 연속적인 패턴들일 수 있다.
패턴 판단부(220)는 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하는지 여부를 판단할 수 있다. 기준 패턴(REP_PAT)과 동일한 패턴을 포함하는 입력 데이터(IN_DATA)는 일치 데이터일 수 있다. 패턴 판단부(220)는 일치 데이터가 입력되는지에 기초하여 제어 신호(CTRL_SIG)를 생성하고 출력할 수 있다.
패턴 판단부(220)는 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하는지 여부에 기초하여, 데이터 저장부(230)를 제어하는 제어 신호(CTRL_SIG)를 출력할 수 있다. 구체적으로, 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하기 전에, 제어 신호(CTRL_SIG)는 비활성화 상태일 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하는 경우, 패턴 판단부(220)는 제어 신호(CTRL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하지 않는 경우, 패턴 판단부(220)는 제어 신호(CTRL_SIG)를 비활성화 상태로 유지 시킬 수 있다.
데이터 저장부(230)는 데이터 수신부(210)로부터 제공받은 복수의 입력 데이터(IN_DATA)들을 입력된 순서에 따라 저장할 수 있다. 데이터 저장부(230)는 데이터 수신부(210)로부터 복수의 입력 데이터(IN_DATA)들을 하나씩 순차적으로 제공받을 수 있다. 데이터 저장부(230)는 데이터 수신부(210)로부터 제공받은 복수의 입력 데이터(IN_DATA)들을 클럭(CLK)에 동기화 시켜 저장할 수 있다. 구체적으로, 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 복수의 입력 데이터(IN_DATA)들 중 하나의 입력 데이터(IN_DATA)가 데이터 저장부(230)에 저장될 수 있다. 데이터 저장부(230)에 저장되는 데이터들의 개수는 시프트 레지스터(231)의 크기에 따라 변경될 수 있다.
데이터 저장부(230)는 패턴 판단부(220)로부터 제어 신호(CTRL_SIG)를 제공받을 수 있다. 패턴 판단부(220)가 제공하는 제어 신호(CTRL_SIG)는 활성화 상태 또는 비활성화 상태일 수 있다.
패턴 판단부(220)가 제공하는 제어 신호(CTRL_SIG)가 비활성화 상태일 때, 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하지 않을 수 있다. 제어 신호(CTRL_SIG)가 비활성화 상태인 경우, 데이터 저장부(230)는 저장된 데이터들을 데이터 출력부(240)로 출력하지 않을 수 있다. 데이터 저장부(230)는 제어 신호(CTRL_SIG)가 비활성화 상태인 경우, 데이터 수신부(210)로부터 새로운 입력 데이터(IN_DATA)를 제공받을 수 있다. 데이터 수신부(210)로부터 새로운 입력 데이터(IN_DATA)를 제공받는 경우, 데이터 저장부(230)에 저장된 데이터가 시프트 될 수 있다.
패턴 판단부(220)가 제공하는 제어 신호(CTRL_SIG)가 활성화 상태일 때, 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치할 수 있다. 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)는 일치 데이터일 수 있다. 제어 신호(CTRL_SIG)가 활성화 상태인 경우, 데이터 저장부(230)는 저장된 데이터들을 데이터 출력부(240)에 제공할 수 있다. 데이터 저장부(230)에는 일치 데이터를 포함한 입력 데이터(IN_DATA)들이 저장될 수 있다. 데이터 저장부(230)는 일치 데이터를 포함한 캡쳐 데이터(CAP_DATA)를 데이터 출력부(240)에 제공할 수 있다. 캡쳐 데이터(CAP_DATA)는 데이터 저장부(230)가 데이터 출력부(240)에 데이터들을 제공할 때 시프트 레지스터(231)에 저장된 데이터일 수 있다.
데이터 출력부(240)는 데이터 저장부(230)로부터 캡쳐 데이터(CAP_DATA)를 제공받을 수 있다. 캡쳐 데이터(CAP_DATA)는 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하는 경우 출력되는 데이터 일 수 있다.
데이터 출력부(240)는 데이터 저장부(230)에 저장된 캡쳐 데이터(CAP_DATA)를 메모리 장치(100)에 제공할 수 있다. 다른 실시 예로, 데이터 출력부(240)는 데이터 저장부(230)에 저장된 캡쳐 데이터(CAP_DATA)를 다른 메모리 시스템에 제공할 수 있다. 데이터 출력부(240)가 출력한 캡쳐 데이터(CAP_DATA)는 호스트(300)로부터 제공받은 복수의 입력 데이터(IN_DATA)들의 패턴을 분석하는데 사용될 수 있다.
도 3은 도 2의 패턴 판단부의 구조를 설명하기 위한 도면이다.
도 3을 참조하면, 패턴 판단부(220)는 기준 패턴 저장부(221) 및 패턴 비교부(222)를 포함할 수 있다. 기준 패턴 저장부(221) 및 패턴 비교부(222)는 데이터 수신부(210)로부터 입력 데이터(IN_DATA)를 제공받을 수 있다.
기준 패턴 저장부(221)는 복수의 입력 데이터(IN_DATA)들에 각각 포함된 패턴들 중 어느 하나에 포함된 패턴을 기준 패턴(REP_PAT)으로 설정할 수 있다. 기준 패턴(REP_PAT)은 커맨드 또는 어드레스를 나타내는 데이터에 포함된 패턴일 수 있다. 기준 패턴(REP_PAT)은 하나의 커맨드 또는 하나의 어드레스에 대응하는 데이터에 포함된 패턴일 수 있다. 기준 패턴(REP_PAT)은 두 개의 커맨드 사이에 입력되는 데이터에 포함된 패턴들일 수 있다.
기준 패턴(REP_PAT)이 설정되면, 기준 패턴 저장부(221)는 기준 패턴(REP_PAT)을 패턴 비교부(222)에 제공할 수 있다.
패턴 비교부(222)는 기준 패턴 저장부(221)로부터 기준 패턴(REP_PAT)을 제공받을 수 있다. 패턴 비교부(222)가 기준 패턴(REP_PAT)을 제공받으면, 패턴 비교부(222)는 데이터 수신부(210)로부터 수신되는 복수의 입력 데이터(IN_DATA)들에 각각 포함된 패턴들과 기준 패턴(REP_PAT)이 일치하는지를 판단할 수 있다. 패턴 비교부(222)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)의 일치 여부에 기초하여, 제어 신호(CRTL_SIG)의 활성화 상태 또는 비활성화 상태를 결정할 수 있다. 제어 신호(CRTL_SIG)는 데이터 저장부(230)를 제어할 수 있다.
패턴 비교부(222)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치하기 전 까지, 제어 신호(CRTL_SIG)를 비활성화 상태로 유지할 수 있다. 패턴 비교부(222)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치하면, 제어 신호(CRTL_SIG)를 비활성화 상태에서 활성화 상태로 변경하여 출력할 수 있다.
패턴 비교부(222)는 복수의 입력 데이터(IN_DATA)들 중 기준 패턴(REP_PAT)과 동일한 패턴을 포함하는 일치 데이터가 여러 번 입력되는 경우, 기 설정된 일치 횟수에 기초하여 제어 신호(CRTL_SIG)를 비활성화 상태에서 활성화 상태로 변경하여 출력할 수 있다.
패턴 비교부(222)는 비활성화 상태의 제어 신호(CRTL_SIG) 또는 활성화 상태의 제어 신호(CRTL_SIG)를 데이터 저장부(230)에 제공할 수 있다.
도 4는 도 3의 패턴 비교부의 구조를 설명하기 위한 도면이다.
도 4를 참조하면, 패턴 비교부(222)는 비교부(223) 및 카운터부(224)를 포함할 수 있다.
비교부(223)는 복수의 입력 데이터(IN_DATA)들에 각각 포함된 패턴들 중 어느 하나의 패턴과 기준 패턴(REP_PAT)이 일치하는지를 판단할 수 있다. 비교부(223)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치하는지를 판단하여 비교 정보(COM_INP)를 생성할 수 있다. 비교 정보(COM_INP)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치하는지에 대한 정보를 포함할 수 있다. 비교부(223)는 비교 정보(COM_INP)를 카운터부(224)에 제공할 수 있다.
카운터부(224)는 제어 신호(CTRL_SIG)를 활성화 상태로 변경하는 카운트값을 저장할 수 있다. 카운터부(224)는 저장된 카운트값 및 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)의 일치 횟수가 동일한 경우, 제어 신호(CTRL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 즉, 기준 패턴(REP_PAT)과 동일한 패턴이 입력되는 횟수에 따라, 제어 신호(CTRL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다.
카운터부(224)는 비교 정보(COM_INP)에 기초하여, 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치된 횟수를 카운트할 수 있다. 비교 정보(COM_INP)가 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치하지 않음을 나타내는 경우, 카운터부(224)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치된 횟수를 카운트하지 않을 수 있다. 비교 정보(COM_INP)가 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)의 일치를 나타내는 경우, 카운터부(224)는 일치된 횟수를 카운트할 수 있다.
카운터부(224)는 비교 정보(COM_INP)에 기초하여, 데이터 저장부(230)에 제공되는 제어 신호(CTRL_SIG)의 활성화 여부를 결정할 수 있다. 구제척으로, 카운터부(224)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)의 일치 횟수에 따라 데이터 저장부(230)에 제공되는 제어 신호(CTRL_SIG)의 활성화 여부를 결정할 수 있다.
도 5는 도 2의 데이터 저장부를 설명하기 위한 도면이다.
도 5를 참조하면, 데이터 저장부(230)는 시프트 레지스터(231) 및 모드 제어부(232)를 포함할 수 있다.
시프트 레지스터(231)는 데이터 수신부(210)로부터 순차적으로 수신된 복수의 입력 데이터(IN_DATA)들을 저장할 수 있다. 시프트 레지스터(231)는 입력 데이터(IN_DATA)를 클럭(CLK)에 동기화 시켜 저장할 수 있다. 구체적으로, 시프트 레지스터는(231)는 클럭(CLK)이 로우 상태에서 하이 상태로 변경되거나 하이 상태에서 로우 상태로 변경될 때, 복수의 입력 데이터(IN_DATA)들 중 어느 하나의 데이터를 저장할 수 있다. 복수의 입력 데이터(IN_DATA)들 중 어느 하나에 포함된 패턴은 하나의 커맨드 또는 하나의 어드레스 데이터에 포함된 패턴일 수 있다.
모드 제어부(232)는 제어 신호(CTRL_SIG)에 기초하여 모드 신호(MODE_SIG)를 생성할 수 있다. 모드 신호(MODE_SIG)는 시프트 레지스터(231)에 새로운 입력 데이터의 저장 또는 시프트 레지스터(231)에 저장된 데이터들의 출력을 결정할 수 있다.
구체적으로, 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)를 수신하기 전까지, 비활성화 상태의 모드 신호(MODE_SIG)를 생성하고 출력할 수 있다. 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)를 수신하면, 활성화 상태의 모드 신호(MODE_SIG)를 생성하고 출력할 수 있다.
실시 예에서, 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)가 입력된 때부터 일정 입력 주기 후에, 모드 신호(MODE_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 입력 주기는 클럭(CLK)이 반복되는 횟수일 수 있다. 입력 주기는 클럭(CLK)에 입력 데이터(IN_DATA)들이 동기화 되는 횟수일 수 있다. 모드 신호(MODE_SIG)가 활성화 상태로 변경되면, 시프트 레지스터(231)는 활성화 상태로 변경된 모드 신호(MODE_SIG)에 응답하여, 시프트 레지스터(231)에 저장된 데이터들을 출력할 수 있다. 시프트 레지스터(231)에서 출력되는 데이터들은 시프트 레지스터(231)가 모드 신호(MODE_SIG)를 수신한 때, 시프트 레지스터(231)에 저장된 데이터일 수 있다.
모드 제어부(232)가 비활성화 상태의 제어 신호(CTRL_SIG)를 수신한 경우, 모드 제어부(232)는 모드 신호(MODE_SIG)를 비활성화 상태로 유지시켜 출력할 수 있다. 모드 제어부(232)로부터 비활성화된 모드 신호(MODE_SIG)를 제공받은 시프트 레지스터(231)는 데이터 수신부(210)로부터 새로운 입력 데이터(IN_DATA)들을 제공받을 수 있다. 데이터 수신부(210)로부터 새로운 입력 데이터(IN_DATA)들을 제공받는 경우, 시프트 레지스터(231)에 기 저장된 데이터들은 시프트 될 수 있다.
시프트 레지스터(231)가 모드 제어부(232)로부터 비활성화 상태의 모드 신호(MODE_SIG)를 수신하면, 시프트 레지스터(231)는 저장된 데이터들을 출력하지 않을 수 있다. 시프트 레지스터(231)가 모드 제어부(232)로부터 비활성화 상태의 모드 신호(MODE_SIG)를 수신하면, 시프트 레지스터(231)는 새로운 입력 데이터(IN_DATA)들을 저장할 수 있다.
구체적으로, 시프트 레지스터(231)는 데이터 수신부(210)로부터 제공 받은 새로운 입력 데이터(IN_DATA)를 저장하고, 기존에 저장된 데이터들 중 일부를 더 이상 저장하지 않을 수 있다. 실시 예에서, 시프트 레지스터(231)는 비활성화 상태의 모드 신호(MODE_SIG)가 수신되는 동안, 데이터 수신부(210)로부터 수신되는 복수의 입력 데이터(IN_DATA)들을 저장할 수 있다. 시프트 레지스터(231)는 데이터 수신부(210)로부터 수신되는 복수의 입력 데이터(IN_DATA)들을 입력 주기마다 입력된 순서대로 순차적으로 하나씩 저장하고, 이미 시트프 레지스터(231)에 저장된 데이터들은 입력 주기마다 저장된 위치가 변경될 수 있다. 시트프 레지스터(231)에 이미 저장된 데이터들 중 어느 하나의 데이터의 저장 위치가 변경되지 않거나 변경될 수 없는 경우, 시프트 레지스터(231)는 해당 데이터를 더 이상 저장하지 않을 수 있다.
도 6은 데이터 수신부가 수신하는 복수의 입력 데이터들을 식별하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 데이터 수신부(210)는 커맨드를 나타내는 입력 데이터(IN_DATA)를 수신할 있다. 커맨드는 활성화 커맨드(ACT), 쓰기 커맨드(WT), 읽기 커맨드(RD) 및 리프레시 커맨드(REFRESH) 중 어느 하나일 수 있다. 커맨드는 활성화 커맨드(ACT), 쓰기 커맨드(WT), 읽기 커맨드(RD) 및 리프레시 커맨드(REFRESH) 외에 다른 커맨드일 수 있다.
실시 예에서, 각 커맨드는 입력 신호들(CS, RAS, CAS 및 WE)로 구성될 수 있다. 각 커맨드는 CS, RAS, CAS 및 WE 신호 외에 다른 입력 신호들로 구성될 수 있다. 입력 신호들은 각각 다른 입력 핀으로 입력되는 신호일 수 있다. 입력 신호에 기초하여, 데이터 수신부(210)로 수신되는 입력 데이터(IN_DATA)에 포함된 패턴을 결정할 수 있다.
실시 예에서, 입력 신호들은 로우 상태(Low Status, L) 또는 하이 상태(High Status, H)일 수 있다.
활성화 커맨드(ACT)는 입력 신호들(CS, RAS, CAS 및 WE)로 구성될 수 있다. 활성화 커맨드(ACT)는 CS 신호 및 RAS 신호가 로우 상태(L), CAS 신호 및 WE 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 활성화 커맨드(ACT)는 CS, RAS, CAS 및 WE 신호 외에 다른 입력 신호들로 구성될 수 있다. 활성화 커맨드(ACT)는 다른 입력 신호들에 의해 식별될 수 있다.
쓰기 커맨드(WT)는 입력 신호들(CS, RAS, CAS 및 WE)로 구성될 수 있다. 쓰기 커맨드(WT)는 CS 신호, CAS 신호 및 WE 신호가 로우 상태(L), RAS 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 쓰기 커맨드(WT)는 CS, RAS, CAS 및 WE 신호 외에 다른 입력 신호들로 구성될 수 있다. 쓰기 커맨드(WT)는 다른 입력 신호들에 의해 식별될 수 있다.
읽기 커맨드(RD)는 입력 신호들(CS, RAS, CAS 및 WE)로 구성될 수 있다. 읽기 커맨드(RD)는 CS 신호 및 CAS 신호가 로우 상태(L), RAS 신호 및 WE 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 읽기 커맨드(RD)는 CS, RAS, CAS 및 WE 신호 외에 다른 입력 신호들로 구성될 수 있다. 읽기 커맨드(RD)는 다른 입력 신호들에 의해 식별될 수 있다.
리프레시 커맨드(REFRESH)는 입력 신호들(CS, RAS, CAS 및 WE)로 구성될 수 있다. 리프레시 커맨드(REFRESH)는 CS 신호, RAS 신호 및 CAS 신호가 로우 상태(L), WE 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 리프레시 커맨드(REFRESH)는 CS, RAS, CAS 및 WE 신호 외에 다른 입력 신호들로 구성될 수 있다. 리프레시 커맨드(REFRESH)는 다른 입력 신호들에 의해 식별될 수 있다.
도 7은 도 6의 복수의 입력 데이터들에 각각 포함된 패턴들을 설명하기 위한 도면이다.
도 6 및 도 7을 참조하면, 데이터 수신부(210)에 수신되는 복수의 입력 데이터(IN_DATA)들 각각은 패턴들을 포함하고, 각 패턴은 커맨드에 대응되는 데이터의 패턴일 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴은 커맨드를 구성하는 입력 신호에 따라 결정될 수 있다.
실시 예에서, 각 커맨드는 입력 신호들(CS, RAS, CAS 및 WE)로 구성될 수 있다. 각 커맨드는 CS, RAS, CAS 및 WE 신호 외에 다른 입력 신호들로 구성될 수 있다. 입력 신호들은 각각 다른 입력 핀으로 입력되는 신호일 수 있다. 입력 신호에 기초하여, 데이터 수신부(210)로 입력 되는 입력 데이터(IN_DATA)에 포함된 패턴을 결정할 수 있다.
실시 예에서, 입력 신호들은 로우 상태(Low Status, L) 또는 하이 상태(High Status, H)일 수 있다.
활성화 커맨드(ACT)는 CS 신호 및 RAS 신호가 로우 상태(L), CAS 신호 및 WE 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 활성화 커맨드(ACT)를 나타내는 데이터에 포함된 패턴을 결정하기 위해, 활성화 커맨드(ACT)를 구성하는 각각의 신호의 상태 중 로우 상태(L)는 “0”으로, 하이 상태(H)는 “1”로 결정될 수 있다. 따라서, 활성화 커맨드(ACT)를 나타내는 데이터에 포함된 패턴은 “0011”일 수 있다.
쓰기 커맨드(WT)는 CS 신호, CAS 신호 및 WE 신호가 로우 상태(L), RAS 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 쓰기 커맨드(WT)를 나타내는 데이터에 포함된 패턴을 결정하기 위해, 쓰기 커맨드(WT)를 구성하는 각각의 신호의 상태 중 로우 상태(L)는 “0”으로, 하이 상태(H)는 “1”로 결정될 수 있다. 따라서, 쓰기 커맨드(WT)를 나타내는 데이터에 포함된 패턴은 “0100”일 수 있다.
읽기 커맨드(RD)는 CS 신호 및 CAS 신호가 로우 상태(L), RAS 신호 및 WE 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 읽기 커맨드(RD)를 나타내는 데이터에 포함된 패턴을 결정하기 위해, 읽기 커맨드(RD)를 구성하는 각각의 신호의 상태 중 로우 상태(L)는 “0”으로, 하이 상태(H)는 “1”로 결정될 수 있다. 따라서, 읽기 커맨드(RD)를 나타내는 데이터에 포함된 패턴은 “0101”일 수 있다.
리프레시 커맨드(REFRESH)는 CS 신호, RAS 신호 및 CAS 신호가 로우 상태(L), WE 신호가 하이 상태(H)로 각각의 입력 핀에 입력될 때의 커맨드일 수 있다. 리프레시 커맨드(REFRESH)를 나타내는 데이터에 포함된 패턴을 결정하기 위해, 리프레시 커맨드(REFRESH)를 구성하는 각각의 신호의 상태 중 로우 상태(L)는 “0”으로, 하이 상태(H)는 “1”로 결정될 수 있다. 따라서, 리프레시 커맨드(REFRESH)를 나타내는 데이터에 포함된 패턴은 “0001”일 수 있다.
도 8은 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 기준 패턴(REP_PAT)이 활성화 커맨드(ACT)를 나타내는 입력 데이터(IN_DATA)에 포함된 패턴으로 결정될 수 있다. 기준 패턴(REP_PAT)이 결정되고, 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치할 때, 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다. 시프트 레지스터(231)에 저장되는 입력 데이터(IN_DATA)들의 개수는 시프트 레지스터(231)의 크기에 따라 결정될 수 있다. 시프트 레지스터(231)는 9개의 입력 데이터들을 저장할 수 있는 크기로 설정된다고 가정한다.
t0에서, 제1 쓰기 커맨드(WT1)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제1 쓰기 커맨드(WT1)를 나타내는 데이터는 특정 패턴을 포함할 수 있다. 구체적으로 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 제1 쓰기 커맨드(WT1)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제1 쓰기 커맨드(WT1)를 나타내는 데이터가 시프트 레지스터(231)에 저장된 후, 시프트 레지스터(231)는 다른 커맨드를 나타내는 입력 데이터(IN_DATA)들을 저장할 수 있다.
t1에서, 제2 쓰기 커맨드(WT2)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제2 쓰기 커맨드(WT2)를 나타내는 데이터는 특정 패턴을 포함할 수 있다. 구체적으로 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 제2 쓰기 커맨드(WT2)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제2 쓰기 커맨드(WT2)를 나타내는 데이터가 시프트 레지스터(231)에 저장된 후, 시프트 레지스터(231)는 다른 커맨드를 나타내는 입력 데이터(IN_DATA)들을 저장할 수 있다.
t2에서, 제1 읽기 커맨드(RD1)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제1 읽기 커맨드(RD1)를 나타내는 데이터는 특정 패턴을 포함할 수 있다. 구체적으로 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 제1 읽기 커맨드(RD1)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제1 읽기 커맨드(RD1)를 나타내는 데이터가 시프트 레지스터(231)에 저장된 후, 시프트 레지스터(231)는 다른 커맨드를 나타내는 입력 데이터(IN_DATA)들을 저장할 수 있다.
t3에서, 활성화 커맨드(ACT)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 활성화 커맨드(ACT)를 나타내는 데이터에 포함된 패턴은 기준 패턴(REP_PAT)과 일치할 수 있다. 기준 패턴(REP_PAT)과 입력 데이터(IN_DATA)에 포함된 패턴이 일치하는 경우, 시프트 레지스터(231)는 일치 데이터를 포함하여 시프트 레지스터(231)에 저장된 캡쳐 데이터(CAP_DATA)를 출력할 수 있다. 시프트 레지스터(231)는 기준 패턴(REP_PAT)과 입력 데이터(IN_DATA)에 포함된 패턴이 일치할 때, 활성화 상태로 변경된 모드 신호(MODE_SIG)에 응답하여, 저장된 데이터들을 출력할 수 있다.
구체적으로, 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)를 수신한 때부터 일정 입력 주기 후에, 모드 신호(MODE_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 입력 주기는 클럭(CLK)이 반복되는 횟수일 수 있다. 입력 주기는 클럭(CLK)에 입력 데이터(IN_DATA)가 동기화 되는 횟수일 수 있다. 따라서, 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)를 수신한 후, 시프트 레지스터(231)는 일정 입력 주기(+N Clock) 후에, 활성화된 모드 신호(MODE_SIG)에 기초하여 일정 입력 주기 동안(+N Clock, -N Clock)에 저장된 데이터들을 출력할 수 있다.
실시 예에서, t3에서, 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)가 입력될 수 있다. 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)가 입력되고, 일정 입력 주기 이후 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다. 시프트 레지스터(231)에 저장된 데이터는 일치 데이터를 포함하여 저장된 캡쳐 데이터(CAP_DATA)일 수 있다. 따라서, 일정 입력 주기 경과 후, 시프트 레지스터(231)에 저장된 9개의 입력 데이터들, 즉 캡쳐 데이터(CAP_DATA)가 출력될 수 있다.
도 9는 기준 패턴 및 시프트 레지스터에 저장되는 입력 데이터들을 설명하기 위한 도면이다.
도 7 및 도 9를 참조하면, 도 9의 (a)는 기준 패턴 저장부(221)에 저장된 기준 패턴(REP_PAT)을 도시한다. 기준 패턴(REP_PAT)은 데이터 수신부(210)로 수신된 복수의 입력 데이터(IN_DATA)들에 각각 포함된 패턴들 중 어느 하나일 수 있다. 기준 패턴(REP_PAT)은 활성화 커맨드(ACT)를 나타내는 데이터에 포함된 패턴일 수 있다. 따라서 기준 패턴(REP_PAT)은 “0011”일 수 있다.
도 9의 (b)는 제1 내지 제9 입력 데이터(ID1~ID9)들이 시프트 레지스터(231)에 저장된 것을 도시한다. 시프트 레지스터(231)에 저장되는 입력 데이터(IN_DATA)들의 개수는 시프트 레지스터(231)의 크기에 따라 결정될 수 있다. 시프트 레지스터(231)는 9개의 입력 데이터들을 저장할 수 있는 크기로 설정된다고 가정한다.
이하에서 시프트 레지스터(231)에 복수의 입력 데이터(IN_DATA)들이 저장되는 방법에 대해 설명한다.
시프트 레지스터(231)는 데이터 수신부(210)로부터 제공받은 복수의 입력 데이터(IN_DATA)들을, 기 설정된 입력 주기마다 순차적으로 저장할 수 있다. 시프트 레지스터(231)는 입력 데이터(IN_DATA)를 클럭(CLK)에 동기화 시켜 저장할 수 있다. 구체적으로, 시프트 레지스터는(231)는 클럭(CLK)이 로우 상태에서 하이 상태로 변경되거나 하이 상태에서 로우 상태로 변경될 때, 복수의 입력 데이터(IN_DATA)들 중 하나가 저장될 수 있다. 하나의 패턴은 하나의 커맨드 또는 하나의 어드레스를 나타내는 데이터일 수 있다. 커맨드 또는 어드레스를 나타내는 데이터는 특정 패턴을 포함할 수 있다.
제1 입력 데이터(ID1)는 시프트 레지스터(231)에 처음으로 입력된 입력 데이터(IN_DATA)일 수 있다. 제1 입력 데이터(ID1)에 포함된 패턴은 “1111”일 수 있다. 제1 입력 데이터(ID1)는 클럭(CLK)이 로우 상태에서 하이 상태로 변경되거나 하이 상태에서 로우 상태로 변경될 때, 시프트 레지스터(231)에 저장될 수 있다. 제1 입력 데이터(ID1)가 저장된 후, 시프트 레지스터(231)는 제2 입력 데이터(ID2)를 수신할 수 있다.
제2 입력 데이터(ID2)는 제1 입력 데이터(ID1)가 저장된 후, 시프트 레지스터(231)에 입력된 입력 데이터(IN_DATA)일 수 있다. 제2 입력 데이터(ID2)에 포함된 패턴은 “0010”일 수 있다. 제2 입력 데이터(ID2)를 시프트 레지스터(231)에 저장하기 위해, 제1 입력 데이터(ID1)의 저장 위치가 변경될 수 있다. 따라서, 시프트 레지스터(231)는 제2 입력 데이터(ID2)를 수신한 때, 제1 입력 데이터(ID1)를 제1 입력 데이터(ID1)가 저장되었던 위치와 인접한 위치에 저장할 수 있다. 저장 위치가 변경되기 전, 제1 입력 데이터(ID1)가 저장되었던 위치에는 제2 입력 데이터(ID2)가 저장될 수 있다.
제3 입력 데이터(ID3)는 제1 입력 데이터(ID1) 및 제2 입력 데이터(ID2)가 시프트 레지스터(231)에 저장된 후, 시프트 레지스터(231)에 입력된 입력 데이터(IN_DATA)일 수 있다. 제3 입력 데이터(ID3)에 포함된 패턴은 “0110”일 수 있다. 제3 입력 데이터(ID3)를 시프트 레지스터(231)에 저장하기 위해, 제1 입력 데이터(ID1) 및 제2 입력 데이터(ID2)의 저장 위치가 변경될 수 있다. 따라서, 시프트 레지스터(231)는 제3 입력 데이터(ID3)를 수신한 때, 제1 입력 데이터(ID1) 및 제2 입력 데이터(ID2)의 저장 위치를 변경하여 저장할 수 있다. 즉, 제1 입력 데이터(ID1)가 저장되었던 위치와 인접한 위치에 제1 입력 데이터(ID1)가 저장될 수 있다. 저장 위치가 변경되기 전, 제1 입력 데이터(ID1)가 저장되었던 위치에는 제2 입력 데이터(ID2)가 저장될 수 있다. 제2 입력 데이터(ID2)가 저장되었던 위치에는 제3 입력 데이터(ID3)가 저장될 수 있다.
이후, 제4 내지 제9 입력 데이터(ID4~ID9)가 시프트 레지스터(231)에 저장될 수 있다. 데이터를 식별하는 패턴을 포함하는 입력 데이터(IN_DATA)가 입력 될 때마다, 시프트 레지스터(231)에 저장된 데이터들의 저장 위치가 변경될 수 있다. 따라서 새로운 입력 데이터(IN_DATA)를 시프트 레지스터(231)에 저장하기 위해, 시프트 레지스터(231)에 저장된 데이터들의 저장 위치가 변경될 수 있다. 즉, 새로운 입력 데이터(IN_DATA)가 입력될 때, 시프트 레지스터(231)에 저장된 데이터들은 먼저 입력된 데이터들이 저장된 위치에 저장될 수 있다. 새로운 입력 데이터(IN_DATA)는 새로운 입력 데이터(IN_DATA)가 입력되기 전에 입력된 데이터가 저장된 위치에 저장될 수 있다.
실시 예에서, 제9 입력 데이터(ID9)는 시프트 레지스터(231)에 마지막으로 입력된 데이터일 수 있다. 제9 입력 데이터(ID9)은 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)일 수 있다. 패턴 판단부(220)에 포함된 패턴 비교부(222)는 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치하면, 패턴 판단부(220)는 제어 신호(CRTL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 따라서, 제9 입력 데이터(ID9)가 시프트 레지스터(231)에 입력될 때, 패턴 판단부(220)는 제어 신호(CRTL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 제어 신호(CRTL_SIG)가 비활성화 상태에서 활성화 상태로 변경되면, 일정 입력 주기 후에, 모드 제어부(232)는 모드 신호(MODE_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 활성화 상태로 변경된 모드 신호(MODE_SIG)는 시프트 레지스터(231)에 제공되고, 시프트 레지스터(231)는 일치 데이터를 포함하여 저장된 캡쳐 데이터(CAP_DATA)를 출력할 수 있다. 시프트 레지스터(231)가 캡쳐 데이터(CAP_DATA)를 출력할 때, 데이터 수신부(210)는 더 이상 입력 데이터(IN_DATA)를 수신하지 않을 수 있다.
도 10은 복수의 입력 데이터들 중 일정 입력 주기마다 시프트 레지스터에 입력되는 데이터들을 설명하기 위한 도면이다.
도 9 및 도 10을 참조하면, 도 10의 (a)는 제1 내지 제9 입력 데이터(ID1~ID9)가 시프트 레지스터(231)에 저장된 후, 제10 입력 데이터(ID10)가 입력된 경우를 도시한다. 제10 입력 데이터(ID10)에 포함된 패턴은 “1101”일 수 있다. 시프트 레지스터(231)는 9개의 입력 데이터들을 저장할 수 있다고 가정한다.
제1 내지 제9 입력 데이터(ID1~ID9)가 시프트 레지스터(231)에 저장된 후, 1개의 입력 주기 동안 제10 입력 데이터(ID10)가 시프트 레지스터(231)에 입력될 수 있다. 제9 입력 데이터(ID9)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하지만, 모드 신호(MODE_SIG)가 비활성화 상태에서 활성화 상태로 변경되기 전일 수 있다. 따라서, 시프트 레지스터(231)는 새로운 입력 패턴인 제10 입력 데이터(ID10)을 수신할 수 있다. 제10 입력 데이터(ID10)가 시프트 레지스터(231)에 입력된 때, 시프트 레지스터(231)는 1개의 입력 주기 동안, 입력 패턴(ID10)을 클럭(CLK)에 동기화 하여, 제10 입력 데이터(ID10)를 저장할 수 있다.
실시 예에서, 제10 입력 데이터(ID10)를 시프트 레지스터(231)에 저장하기 위해, 제1 입력 데이터(ID1)는 더 이상 시프트 레지스터(231)에 저장되지 않을 수 있다. 예시에 의해, 시프트 레지스터(231)는 9개의 입력 데이터들을 저장하므로, 제1 입력 데이터(ID1)는 더 이상 시프트 레지스터(231)에 저장되지 않을 수 있다.
이후, 제2 내지 제9 입력 데이터(ID2~ID9)들의 저장 위치가 변경될 수 있다. 저장 위치가 변경되기 전에 제1 내지 제9 입력 데이터들(ID1~ID9)이 저장되었던 위치에는 제2 내지 제 10 입력 패턴들(ID2~ID10)이 각각 저장될 수 있다.
도 10의 (b)는 제2 내지 제10 입력 데이터(ID2~ID10)가 시프트 레지스터(231)에 저장된 후, 3개의 입력 주기 동안, 제11 내지 제13 입력 데이터(ID11~ID13)가 순차적으로 입력된 경우를 도시한다. 제어 신호(CRTL_SIG)가 비활성화 상태에서 활성화 상태로 변경된 후, 3개의 입력 주기 후에, 모드 신호(MODE_SIG)가 비활성화 상태에서 활성화 상태로 변경되는 것으로 가정한다.
도 10의 (b)는 제2 내지 제10 입력 데이터(ID2~ID10)가 시프트 레지스터(231)에 저장된 후, 3개의 입력 주기 동안 제11 내지 제13 입력 데이터(ID11~ID13)가 순차적으로 시프트 레지스터(231)에 입력된 것을 도시한다.
실시 예에서, 제11 내지 제13 입력 데이터(ID11~ID13)를 시프트 레지스터(231)에 저장하기 위해, 시프트 레지스터(231)는 제2 내지 제4 입력 데이터(ID2~ID4)를 저장하지 않을 수 있다. 시프트 레지스터(231)는 입력 데이터(IN_DATA)를 최대 9개 저장할 수 있기 때문에, 제2 내지 제4 입력 데이터(ID2~ID4)는 더 이상 시프트 레지스터(231)에 저장되지 않을 수 있다.
실시 예에서, 제11 내지 제13 입력 데이터(ID11~ID13)이 시프트 레지스터(231)에 저장될 때, 시프트 레지스터(231)에 저장된 입력 데이터(IN_DATA)들의 저장 위치가 변경될 수 있다. 따라서 새로운 입력 데이터(IN_DATA)를 시프트 레지스터(231)에 저장하기 위해, 시프트 레지스터(231)에 저장된 데이터들의 저장 위치가 변경될 수 있다. 즉, 새로운 입력 데이터(IN_DATA)가 입력될 때 마다, 시프트 레지스터(231)에 저장된 데이터들은 먼저 입력된 입력 데이터들이 저장된 위치에 저장될 수 있다. 새로운 입력 데이터(IN_DATA)는 새로운 입력 데이터(IN_DATA)가 입력되기 전에 입력된 데이터의 저장 위치에 저장될 수 있다.
제13 입력 데이터(ID13)가 시프트 레지스터(231)에 저장되면, 모드 제어부(232)는 모드 신호(MODE_SIG)를 비활성화 상태에서 활성화 상태로 변경하여 시프트 레지스터(231)에 제공할 수 있다. 시프트 레지스터(231)는 활성화 상태로 변경된 모드 신호(MODE_SIG)에 응답하여, 시프트 레지스터(231)는 저장된 데이터들을 출력할 수 있다. 시프트 레지스터(231)에 저장된 데이터들은 일치 데이터를 포함한 캡쳐 데이터(CAP_DATA)일 수 있다. 즉, 제9 입력 데이터(ID9)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하기 때문에, 활성화 상태로 변경된 제어 신호(CTRL_SIG)가 모드 제어부(232)에 제공될 수 있다. 모드 제어부(232)가 활성화 상태로 변경된 제어 신호(CTRL_SIG)를 수신하면, 모드 제어부(232)는 4개의 입력 주기 이후에 활성화 상태로 변경된 모드 신호(MODE_SIG)를 시프트 레지스터(231)에 제공할 수 있다.
시프트 레지스터(231)는 활성화 상태로 변경된 모드 신호(MODE_SIG)에 기초하여, 저장된 데이터들을 출력할 수 있다. 저장된 데이터들은 일치 데이터를 포함한 캡쳐 데이터(CAP_DATA)일 수 있다. 시프트 레지스터(231)가 캡쳐 데이터(CAP_DATA)를 출력하면, 데이터 수신부(210)는 더 이상 입력 데이터(IN_DATA)를 수신하지 않을 수 있다.
도 11은 본 발명의 다른 실시 예에 따른 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 기준 패턴(REP_PAT)이 활성화 커맨드(ACT)를 나타내는 입력 데이터(IN_DATA)에 포함된 패턴으로 결정될 수 있다. 기준 패턴(REP_PAT)이 결정되고, 입력 데이터(IN_DATA)에 포함된 패턴과 기준 패턴(REP_PAT)이 일치할 때, 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다. 시프트 레지스터(231)는 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 데이터들 중 두 번째 입력되는 입력 데이터(IN_DATA)가 입력된 때 저장된 데이터들을 출력하는 것으로 가정한다.
t4에서, 제1 활성화 커맨드(ACT1)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 구체적으로 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 제1 활성화 커맨드(ACT1)에 대응되는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제1 활성화 커맨드(ACT1)에 대응되는 데이터가 시프트 레지스터(231)에 저장된 후, 시프트 레지스터(231)는 다른 커맨드에 나타내는 데이터를 수신할 수 있다. 제1 활성화 커맨드(ACT1)에 대응되는 데이터에 포함된 패턴은 기준 패턴(REP_PAT)과 첫 번째로 일치하는 패턴이므로 시프트 레지스터(231)에 저장된 데이터들은 출력되지 않을 수 있다.
t5에서, 제2 활성화 커맨드(ACT2)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 구체적으로 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 제2 활성화 커맨드(ACT2)에 대응되는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 제2 활성화 커맨드(ACT2)에 대응되는 데이터에 포함된 패턴은 기준 패턴(REP_PAT)과 두 번째로 일치하는 패턴이므로 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다. 시프트 레지스터(231)에 저장된 데이터들은 제2 활성화 커맨드(ACT2)를 나타내는 데이터가 입력 된 이후 일정 입력 주기(+N Clock) 이후에 시프트 레지스터(231)에 저장된 데이터들일 수 있다. 따라서, 시프트 레지스터(231)에 저장된 데이터들은 제1 활성화 커맨드(ACT1) 및 제2 활성화 커맨드(ACT2)에 대응되는 데이터들을 포함한 데이터일 수 있다. 시프트 레지스터(231)에서 출력되는 데이터들은 일정 입력 주기 동안(+N Clock, -N Clock)에 입력된 일치 데이터를 포함한 캡쳐 데이터(CAP_DATA)일 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 캡쳐 데이터의 출력 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 기준 패턴(REP_PAT)이 활성화 커맨드(ACT)를 나타내는 입력 데이터(IN_DATA)에 포함된 패턴으로 결정될 수 있다. 기준 패턴(REP_PAT)이 결정되고, 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)이 일치할 때, 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다.
t6에서, 활성화 커맨드(ACT)를 나타내는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 활성화 커맨드(ACT)를 나타내는 데이터는 특정 패턴을 포함할 수 있다. 구체적으로 클럭(CLK)이 로우 상태에서 하이 상태로 변경될 때, 활성화 커맨드(ACT)에 대응되는 데이터가 시프트 레지스터(231)에 저장될 수 있다. 활성화 커맨드(ACT)에 대응되는 데이터가 시프트 레지스터(231)에 저장된 후, 시프트 레지스터(231)는 다른 커맨드에 대응되는 데이터를 수신할 수 있다.
활성화 커맨드(ACT)에 대응되는 데이터에 포함된 패턴은 기준 패턴(REP_PAT)과 일치하는 패턴이므로 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다. 캡쳐 데이터(CAP_DATA)는 활성화 커맨드(ACT)를 나타내는 데이터가 입력 된 이후 일정 입력 주기 이후에 시프트 레지스터(231)에 저장된 데이터들일 수 있다. 즉, 캡쳐 데이터(CAP_DATA)는 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 데이터인 일치 데이터를 포함하는 데이터일 수 있다.
활성화 커맨드(ACT)에 대응되는 데이터가 입력 된 이후 리프레시 커맨드(REFRESH)에 대응되는 데이터가 입력될 수 있다. 리프레시 커맨드(REFRESH)를 나타내는 데이터가 입력되는 경우, 리프레시 커맨드(REFRESH)에 대응하는 커맨드들(CMD1 및 CMD2)을 나타내는 데이터들은 무시될 수 있다. 즉, 데이터 수신부(210)는 리프레시 커맨드(REFRESH)를 나타내는 입력 데이터(IN_DATA)를 수신한 경우, 리프레시 커맨드에 대응하는 커맨드들(CMD1 및 CMD2)을 나타내는 데이터들을 데이터 저장부(230)에 제공하지 않을 수 있다. 따라서 리프레시 커맨드(REFRESH)를 나타내는 데이터를 수신한 뒤에 일정 입력 주기 동안(1201) 수신되는 데이터들은 시프트 레지스터(231)에 저장되지 않을 수 있다. 입력 주기는 클럭(CLK)이 반복되는 횟수일 수 있다.
시프트 레지스터(231)에는 활성화 커맨드(ACT)에 대응하는 데이터가 입력 된 이후 일정 입력 주기 동안 입력 된 커맨드들에 대응하는 데이터들이 저장될 수 있다. 따라서 리프레시 커맨드(REFRESH)에 대응하는 커맨드들(CMD1 및 CMD2)을 나타내는 데이터들을 제외한 일정 입력 주기(+N Clock, -N Clock) 동안 입력 된 커맨드들을 나타내는 데이터들이 저장될 수 있다. 시프트 레지스터(231)는 저장된 데이터들을 포함하는 캡쳐 데이터(CAP_DATA)를 출력할 수 있다.
도 13은 본 발명의 실시 예에 따른 컨트롤러의 동작을 설명하기 위한 도면이다.
도 13을 참조하면, S1301 단계에서, 데이터 수신부(210)는 호스트(300)로부터 복수의 입력 데이터(IN_DATA)들을 제공받을 수 있다. 수신된 입력 데이터(IN_DATA)는 장치가 동작을 수행하기 위해 필요한 커맨드 또는 어드레스에 대응되는 데이터일 수 있다. 장치는 메모리 장치(100)일 수 있다. 입력 데이터(IN_DATA)는 커맨드 또는 어드레스에 대응되는 데이터의 패턴을 포함할 수 있다.
S1303 단계에서, 복수의 입력 데이터(IN_DATA)들 중 하나의 데이터에 포함된 패턴을 기준 패턴(REP_PAT)으로 설정할 수 있다. 설정된 기준 패턴(REP_PAT)은 기준 패턴 저장부(221)에 저장될 수 있다. 기준 패턴(REP_PAT)이 결정되면, 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)가 입력되는지를 기초하여, 시프트 레지스터(231)에 저장된 데이터들이 출력될 수 있다. 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)는 일치 데이터일 수 있다. 캡쳐 데이터(CAP_DATA)는 일치 데이터를 포함하여 시프트 레지스터(231)에 저장된 데이터들일 수 있다.
S1305 단계에서, 기준 패턴(REP_PAT)과 입력 데이터(IN_DATA)에 포함된 패턴이 일치하는지 여부를 판단할 수 있다. 기준 패턴(REP_PAT)과 일치하는 패턴을 포함하는 입력 데이터(IN_DATA)는 일치 데이터일 수 있다. 기준 패턴(REP_PAT)과 입력 데이터(IN_DATA)에 포함된 패턴이 일치하면, S1307 단계로 진행한다. 기준 패턴(REP_PAT)과 입력 데이터(IN_DATA)에 포함된 패턴이 일치하지 않는 경우, S1309 단계로 진행한다.
S1307 단계에서, 패턴 판단부(220)는 시프트 레지스터(231)에 저장된 데이터들을 외부에 출력하기 위한 제어 신호(CTRL_SIG)를 활성화 상태로 변경할 수 있다. 입력 데이터가 포함하는 패턴이 기준 패턴(REP_PAT)과 일치하기 전까지, 제어 신호(CTRL_SIG)는 비활성화 상태일 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하는 경우, 패턴 판단부(220)는 제어 신호(CTRL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다.
S1309 단계에서, 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하지 않는 경우, 패턴 판단부(220)는 제어 신호(CTRL_SIG)를 비활성화 상태로 유지 시킬 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하기 전에, 제어 신호(CTRL_SIG)는 비활성화 상태일 수 있다.
도 14는 본 발명의 다른 실시 예에 따른 컨트롤러의 동작을 설명하기 위한 도면이다.
도 14를 참조하면, S1401 단계에서, 패턴 판단부(220)에서 출력되는 제어 신호(CTRL_SIG)의 활성화 여부를 판단할 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하기 전에 제어 신호(CTRL_SIG)는 비활성화 상태일 수 있다. 입력 데이터(IN_DATA)에 포함된 패턴이 기준 패턴(REP_PAT)과 일치하는 경우, 패턴 판단부(220)는 제어 신호(CTRL_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 제어 신호(CTRL_SIG)가 비활성화 상태에서 활성화 상태로 변경된 경우, S1403 단계로 진행한다. 제어 신호(CTRL_SIG)가 비활성화 상태를 유지하는 경우, S1407 단계로 진행한다.
S1403 단계에서, 모드 제어부(232)는 제어 신호(CTRL_SIG)에 기초하여 모드 신호(MODE_SIG)를 생성할 수 있다. 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)를 수신하기 전까지, 비활성화 상태의 모드 신호(MODE_SIG)를 생성할 수 있다. 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)를 수신하면, 활성화 상태의 모드 신호(MODE_SIG)를 생성할 수 있다.
구체적으로, 모드 제어부(232)는 활성화 상태로 변경된 제어 신호(CTRL_SIG)가 입력된 때부터 일정 입력 주기 후에, 모드 신호(MODE_SIG)를 비활성화 상태에서 활성화 상태로 변경할 수 있다. 입력 주기는 클럭(CLK)이 반복되는 횟수일 수 있다. 즉, 입력 주기는 클럭(CLK)에 입력 데이터(IN_DATA) 동기화 되는 횟수일 수 있다. 모드 신호(MODE_SIG)가 활성화 상태로 변경되면, 시프트 레지스터(231)는 활성화 상태로 변경된 모드 신호(MODE_SIG)에 응답하여, 저장된 데이터들을 출력할 수 있다. 시프트 레지스터(231)에 저장된 데이터는 일치 데이터를 포함한 캡쳐 데이터(CAP_DATA)일 수 있다.
S1405 단계에서, 활성화 상태로 변경된 모드 신호(MODE_SIG)를 수신한 시프트 레지스터(231)는 캡쳐 데이터(CAP_DATA)를 출력할 수 있다. 시프트 레지스터(231)에서 출력되는 캡쳐 데이터(CAP_DATA)는 활성화 상태로 변경된 모드 신호(MODE_SIG)를 수신한 때, 시프트 레지스터(231)에 저장된 데이터들일 수 있다.
S1407 단계에서, 모드 제어부(232)가 비활성화 상태의 제어 신호(CTRL_SIG)를 수신한 경우, 모드 제어부(232)는 모드 신호(MODE_SIG)를 비활성화 상태로 유지시켜 출력할 수 있다.
S1409 단계에서, 모드 제어부(232)로부터 비활성화된 모드 신호(MODE_SIG)를 제공받은 시프트 레지스터(231)는 데이터 수신부(210)로부터 새로운 입력 데이터(IN_DATA)들을 제공받을 수 있다. 데이터 수신부(210)로부터 새로운 입력 데이터(IN_DATA)들을 제공받는 경우, 새로운 새로운 입력 데이터(IN_DATA)들은 입력된 순서대로 순차적으로 시프트 레지스터(231)에 될 수 있다. 시프트 레지스터(231)는 데이터 수신부(210)로부터 수신되는 복수의 입력 데이터(IN_DATA)들을 입력 주기마다 입력된 순서대로 순차적으로 하나씩 저장하고, 이미 시트프 레지스터(231)에 저장된 데이터들은 입력 주기마다 저장된 위치가 변경될 수 있다. 시트프 레지스터(231)에 이미 저장된 데이터들 중 어느 하나의 데이터의 저장 위치가 변경되지 않거나 변경될 수 없는 경우, 시프트 레지스터(231)는 해당 데이터를 더 이상 저장하지 않을 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 실시 예들에서, 모든 단계는 선택적으로 수행의 대상이 되거나 생략의 대상이 될 수 있다. 또한 각 실시 예에서 단계들은 반드시 순서대로 일어날 필요는 없으며, 뒤바뀔 수 있다. 한편, 본 명세서와 도면에 개시된 본 명세서의 실시 예들은 본 명세서의 기술 내용을 쉽게 설명하고 본 명세서의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 명세서의 범위를 한정하고자 하는 것은 아니다. 즉 본 명세서의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
50: 메모리 시스템
100: 메모리 장치
200: 컨트롤러
210: 데이터 수신부
220: 패턴 판단부
230: 데이터 저장부
240: 데이터 출력부
300: 호스트
100: 메모리 장치
200: 컨트롤러
210: 데이터 수신부
220: 패턴 판단부
230: 데이터 저장부
240: 데이터 출력부
300: 호스트
Claims (23)
- 데이터를 식별하는 패턴을 각각 갖는 복수의 입력 데이터들을, 기 설정된 입력 주기마다 순차적으로 수신하는 데이터 수신부;
상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들의 패턴들 중 어느 하나를 기준 패턴으로 설정하고,
상기 복수의 입력 데이터들 중 상기 기준 패턴과 동일한 패턴을 갖는 일치 데이터가 수신된 횟수를 카운트한 일치 횟수에 기초하여 제어 신호를 출력하는 패턴 판단부; 및
상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들을 입력된 순서에 따라 저장하고, 상기 일치 횟수가 미리 설정된 횟수에 도달하면, 출력되는 상기 제어 신호에 응답하여 상기 일치 데이터 및 저장된 입력 데이터들을 포함하는 캡쳐 데이터를 출력하는 데이터 저장부;를 포함하는 컨트롤러. - ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈제 1항에 있어서, 상기 컨트롤러는,
상기 제어 신호에 기초하여 상기 캡쳐 데이터를 수신하고, 상기 수신된 캡쳐 데이터를 외부에 제공하는 데이터 출력부를 더 포함하는 것을 특징으로 하는 컨트롤러. - ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈제 1항에 있어서, 상기 입력 데이터들은, 장치가 동작을 수행하기 위한 커맨드 또는 어드레스를 나타내는 데이터인 것을 특징으로 하는 컨트롤러.
- ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈제 1항에 있어서, 상기 패턴 판단부는,
상기 데이터 수신부로부터 수신된 복수의 입력 데이터들에 각각 포함된 패턴들 중 상기 기준 패턴으로 설정된 패턴을 저장하는 기준 패턴 저장부; 및
상기 기준 패턴 저장부로부터 수신된 상기 기준 패턴과 상기 데이터 수신부로부터 수신된 복수의 입력 데이터들에 각각 포함된 패턴들 중 어느 하나가 일치된 횟수에 기초하여, 상기 데이터 저장부를 제어하는 상기 제어 신호를 출력하는 패턴 비교부;를 포함하는 컨트롤러. - ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈제 4항에 있어서, 상기 데이터 저장부는,
상기 데이터 수신부로부터 순차적으로 수신된 상기 복수의 입력 데이터들을 저장하는 시프트 레지스터; 및
상기 제어 신호에 기초하여, 상기 시프트 레지스터에 새로운 입력 데이터의 저장 또는 상기 시프트 레지스터에 저장된 데이터들의 출력을 결정하는 모드 신호를 생성하는 모드 제어부;를 포함하는 컨트롤러. - ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈제 5항에 있어서,
상기 시프트 레지스터에 저장되는 입력 데이터들의 개수는 상기 시프트 레지스터의 크기에 따라 결정되고,
상기 시프트 레지스터에 새로운 입력 데이터가 저장되는 경우, 상기 시프트 레지스터에 저장된 데이터들이 시프트 된 후에 저장되는 것을 특징으로 하는 컨트롤러. - ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈제 5항에 있어서, 상기 패턴 비교부는,
상기 기준 패턴과 상기 패턴 판단부에 순차적으로 입력되는 상기 복수의 입력 데이터들에 각각 포함된 패턴들 중 어느 하나가 일치하는 횟수가 상기 미리 설정된 횟수에 도달하면, 상기 제어 신호를 비활성화 상태에서 활성화 상태로 변경하여 출력하는 것을 특징으로 하는 컨트롤러. - 삭제
- ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈제 5항에 있어서, 상기 모드 제어부는,
상기 패턴 판단부로부터 활성화 상태의 제어 신호를 수신한 때부터 일정 입력 주기 후, 상기 모드 신호를 비활성화 상태에서 활성화 상태로 변경하여 출력하는 것을 특징으로 하는 컨트롤러. - ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈제 9항에 있어서, 상기 시프트 레지스터는,
상기 모드 제어부로부터 수신된 상기 활성화 상태의 모드 신호에 응답하여, 상기 저장된 데이터들을 출력하는 것을 특징으로 하는 컨트롤러. - ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈제 7항에 있어서, 상기 패턴 판단부는,
상기 복수의 입력 데이터들 중 상기 패턴 비교부에 수신된 입력 데이터에 포함된 패턴이 상기 기준 패턴과 일치하지 않는 경우, 상기 제어 신호의 비활성화 상태를 유지하고,
상기 모드 제어부는,
상기 패턴 비교부로부터 상기 비활성화 상태의 제어 신호를 수신하는 경우, 상기 모드 신호의 비활성화 상태를 유지하는 것을 특징으로 하는 컨트롤러. - ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈제 11항에 있어서, 상기 데이터 저장부는,
상기 모드 제어부가 상기 비활성화 상태의 모드 신호를 출력할 때, 상기 시프트 레지스터에 저장된 데이터들이 시프트 된 후, 상기 복수의 입력 데이터들 중 상기 데이터 수신부로부터 수신되는 입력 데이터를 순차적으로 상기 시프트 레지스터에 저장하는 것을 특징으로 하는 컨트롤러. - ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈제 12항에 있어서,
상기 시프트 레지스터는,
상기 복수의 입력 데이터들을 상기 입력 주기마다 순차적으로 하나씩 저장하고,
상기 시프트 레지스터에 저장된 데이터들은,
상기 입력 주기마다 저장된 위치가 시프트 되는 것을 특징으로 하는 컨트롤러. - ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈제 9항에 있어서, 상기 데이터 수신부는,
상기 복수의 입력 데이터들 중 리프레시 커맨드를 나타내는 패턴이 포함된 입력 데이터를 수신한 경우, 상기 리프레시 커맨드를 나타내는 데이터가 입력된 후의 일정 입력 주기 동안에 입력되는 데이터들 외에 일정 입력 주기 동안에 저장된 데이터들을 상기 데이터 저장부로 출력하는 것을 특징으로 하는 컨트롤러. - 데이터를 식별하는 패턴을 각각 갖는 복수의 입력 데이터들을, 기 설정된 입력 주기마다 순차적으로 수신하는 단계;
상기 복수의 입력 데이터들의 패턴들 중 어느 하나의 패턴을 기준 패턴으로 설정하는 단계;
상기 복수의 입력 데이터들 중 상기 기준 패턴과 동일한 패턴을 갖는 일치 데이터가 수신된 횟수를 카운트한 일치 횟수에 기초하여 제어 신호를 출력하는 단계;
상기 복수의 입력 데이터들을 입력된 순서에 따라 시프트 레지스터에 저장하는 단계; 및
상기 일치 횟수가 미리 설정된 횟수에 도달하면, 출력되는 상기 제어 신호에 응답하여 상기 일치 데이터 및 저장된 입력 데이터들을 포함하는 캡쳐 데이터를 출력하는 단계;를 포함하는 컨트롤러의 동작 방법. - ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈제 15항에 있어서, 상기 제어 신호를 출력하는 단계는,
상기 복수의 입력 데이터들 중 어느 하나에 포함된 패턴인 상기 기준 패턴을 저장하는 단계; 및
상기 기준 패턴과 상기 복수의 입력 데이터들에 각각 포함된 패턴들 중 어느 하나가 일치된 횟수에 기초하여, 상기 제어 신호를 출력하는 단계;를 더 포함하는 컨트롤러의 동작 방법. - ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈제 16항에 있어서,
상기 제어 신호에 기초하여 상기 시프트 레지스터에 저장된 데이터들의 출력을 결정하는 모드 신호를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컨트롤러의 동작 방법. - 삭제
- ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈제 17항에 있어서, 상기 모드 신호를 생성하는 단계는,
상기 제어 신호를 수신한 일정 입력 주기 후에, 상기 모드 신호를 비활성화 상태에서 활성화 상태로 변경하는 것을 특징으로 하는 컨트롤러의 동작 방법. - ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈제 19항에 있어서, 상기 캡쳐 데이터를 출력하는 단계는,
상기 활성화 상태의 모드 신호에 응답하여, 상기 시프트 레지스터에 저장된 데이터들을 출력하는 것을 특징으로 하는 컨트롤러의 동작 방법. - ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈제 17항에 있어서, 상기 모드 신호를 생성하는 단계는,
상기 복수의 입력 데이터들 중 어느 하나에 포함된 패턴이 상기 기준 패턴과 일치하지 않는 경우, 상기 제어 신호의 비활성화 상태를 유지하고,
상기 비활성화 상태의 제어 신호를 수신하는 경우, 상기 모드 신호의 비활성화 상태를 유지하는 것을 특징으로 하는 컨트롤러의 동작 방법. - ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈제 21항에 있어서, 상기 비활성화 상태의 모드 신호를 수신한 때, 상기 시프트 레지스터에 저장된 데이터들을 시프트 하는 단계; 및
상기 복수의 입력 데이터들 중 수신된 입력 데이터를 상기 시프트 레지스터에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 컨트롤러의 동작 방법. - 데이터를 특정하는 패턴을 각각 갖는 복수의 입력 데이터들을 수신하는 데이터 수신부;
상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들의 패턴들 중 적어도 둘 이상의 패턴들을 기준 패턴들로 설정하고,
상기 복수의 입력 데이터들 중 상기 기준 패턴들과 동일한 패턴들을 갖는 일치 데이터들이 수신된 횟수를 카운트한 일치 횟수에 기초하여 제어 신호를 출력하는 패턴 판단부; 및
상기 데이터 수신부로부터 수신된 상기 복수의 입력 데이터들을 입력된 순서에 따라 저장하고, 상기 일치 횟수가 미리 설정된 횟수에 도달하면 출력되는 상기 제어 신호에 기초하여 상기 일치 데이터들 및 저장된 입력 데이터들을 포함하는 캡쳐 데이터를 출력하는 데이터 저장부;를 포함하는 컨트롤러.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180105679A KR102536788B1 (ko) | 2018-09-05 | 2018-09-05 | 컨트롤러 및 그것의 동작 방법 |
US16/391,535 US10895998B2 (en) | 2018-09-05 | 2019-04-23 | Controller and operating method thereof |
CN201910489451.9A CN110880340B (zh) | 2018-09-05 | 2019-06-06 | 控制器及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180105679A KR102536788B1 (ko) | 2018-09-05 | 2018-09-05 | 컨트롤러 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200027641A KR20200027641A (ko) | 2020-03-13 |
KR102536788B1 true KR102536788B1 (ko) | 2023-05-30 |
Family
ID=69642254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180105679A KR102536788B1 (ko) | 2018-09-05 | 2018-09-05 | 컨트롤러 및 그것의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10895998B2 (ko) |
KR (1) | KR102536788B1 (ko) |
CN (1) | CN110880340B (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11410713B2 (en) | 2020-04-06 | 2022-08-09 | Micron Technology, Inc. | Apparatuses and methods for detecting illegal commands and command sequences |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5951429B2 (ja) * | 2012-02-01 | 2016-07-13 | ルネサスエレクトロニクス株式会社 | ウォッチドッグ回路、電源ic、及びウォッチドッグ監視システム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5951429B2 (ja) * | 1978-05-25 | 1984-12-13 | 凸版印刷株式会社 | 積層材料 |
US7194669B2 (en) * | 2003-02-14 | 2007-03-20 | Logicvision, Inc. | Method and circuit for at-speed testing of scan circuits |
US7089444B1 (en) * | 2003-09-24 | 2006-08-08 | Altera Corporation | Clock and data recovery circuits |
JP5743055B2 (ja) * | 2010-12-16 | 2015-07-01 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | 半導体装置 |
KR20120102876A (ko) * | 2011-03-09 | 2012-09-19 | 삼성전자주식회사 | 반도체 장치 및 이를 포함하는 테스트 시스템 |
JP5524156B2 (ja) * | 2011-09-15 | 2014-06-18 | 株式会社東芝 | 情報処理装置および情報処理方法 |
KR20130134610A (ko) * | 2012-05-31 | 2013-12-10 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 테스트 방법 |
KR102031175B1 (ko) * | 2012-06-13 | 2019-10-11 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작방법 |
KR20150097074A (ko) | 2014-02-18 | 2015-08-26 | 에스케이하이닉스 주식회사 | 테스트 회로 및 이를 포함하는 반도체 장치 |
KR20160031169A (ko) * | 2014-09-12 | 2016-03-22 | 에스케이하이닉스 주식회사 | 데이터 패턴 탐지 장치, 이를 포함하는 반도체 장치 및 그 동작 방법 |
GB2539445A (en) * | 2015-06-16 | 2016-12-21 | Nordic Semiconductor Asa | Data processing |
KR102557107B1 (ko) * | 2016-04-12 | 2023-07-19 | 삼성전자주식회사 | 다중-입력 쉬프트 레지스터 기능을 지원하는 입출력 회로 및 이를 포함하는 메모리 장치 |
US10788798B2 (en) * | 2019-01-28 | 2020-09-29 | Johnson Controls Technology Company | Building management system with hybrid edge-cloud processing |
-
2018
- 2018-09-05 KR KR1020180105679A patent/KR102536788B1/ko active IP Right Grant
-
2019
- 2019-04-23 US US16/391,535 patent/US10895998B2/en active Active
- 2019-06-06 CN CN201910489451.9A patent/CN110880340B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5951429B2 (ja) * | 2012-02-01 | 2016-07-13 | ルネサスエレクトロニクス株式会社 | ウォッチドッグ回路、電源ic、及びウォッチドッグ監視システム |
Also Published As
Publication number | Publication date |
---|---|
CN110880340B (zh) | 2024-01-02 |
CN110880340A (zh) | 2020-03-13 |
US10895998B2 (en) | 2021-01-19 |
US20200073583A1 (en) | 2020-03-05 |
KR20200027641A (ko) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10636476B2 (en) | Row hammer mitigation with randomization of target row selection | |
JP2017107584A (ja) | 集積回路装置およびシステム | |
KR102611898B1 (ko) | 반도체장치 및 반도체시스템 | |
CN106856097B (zh) | 半导体器件和包括它的半导体系统 | |
CN108694964B (zh) | 数据存储装置 | |
US10997096B2 (en) | Enumerated per device addressability for memory subsystems | |
US20150268859A1 (en) | Memory controller, storage apparatus, information processing system, and control method for the same | |
KR102078562B1 (ko) | 리프레쉬 어드레스 생성기 및 이를 포함하는 휘발성 메모리 장치 | |
US10318185B2 (en) | Method and apparatus to provide both storage mode and memory mode access to non-volatile memory within a solid state drive | |
US20140237177A1 (en) | Memory module and memory system having the same | |
US10761588B2 (en) | Power configuration component including selectable configuration profiles corresponding to operating characteristics of the power configuration component | |
CN110033815A (zh) | 配置为选择性地引导存储器的ram控制器及其操作方法 | |
KR20170032053A (ko) | 메모리 장치 및 메모리 장치를 포함하는 전자 장치 | |
US20150006836A1 (en) | Storage control device, storage device, and storage control method thereof | |
US20210382621A1 (en) | Attribute Mapping in Multiprotocol Devices | |
KR102240193B1 (ko) | Nand 메모리 주소 지정 | |
KR102536788B1 (ko) | 컨트롤러 및 그것의 동작 방법 | |
JP2017157199A (ja) | メモリシステム及びそれを制御する方法 | |
KR20200063134A (ko) | 메모리 디바이스에서 백그라운드 데이터 패턴을 기록하는 장치 및 방법 | |
TWI490696B (zh) | 週邊裝置與其資料存取控制方法 | |
US10990522B2 (en) | Electronic devices relating to a mode register information signal | |
KR20220032816A (ko) | 메모리 시스템에서 데이터 통신을 보정하는 장치 및 방법 | |
US8631214B2 (en) | Memory control circuit, control method therefor, and image processing apparatus | |
CN112309470A (zh) | 存储器装置及其操作方法 | |
CN112017706A (zh) | 半导体器件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |