KR20210155228A - 메모리 장치 및 그 동작 방법 - Google Patents

메모리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20210155228A
KR20210155228A KR1020200072471A KR20200072471A KR20210155228A KR 20210155228 A KR20210155228 A KR 20210155228A KR 1020200072471 A KR1020200072471 A KR 1020200072471A KR 20200072471 A KR20200072471 A KR 20200072471A KR 20210155228 A KR20210155228 A KR 20210155228A
Authority
KR
South Korea
Prior art keywords
unique address
status
memory
memory device
toggles
Prior art date
Application number
KR1020200072471A
Other languages
English (en)
Inventor
정승현
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020200072471A priority Critical patent/KR20210155228A/ko
Priority to US16/952,710 priority patent/US11416426B2/en
Priority to CN202110191207.1A priority patent/CN113808649A/zh
Publication of KR20210155228A publication Critical patent/KR20210155228A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06MCOUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
    • G06M1/00Design features of general application
    • G06M1/27Design features of general application for representing the result of count in the form of electric signals, e.g. by sensing markings on the counter drum
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)

Abstract

본 기술은 메모리 장치에 관한 것으로, 상기 메모리 장치는, 메모리 컨트롤러로부터 상태 리드 커맨드를 수신하는 입출력 회로; 상기 상태 리드 커맨드에 대한 응답으로, 메모리 컨트롤러로부터 수신되는 신호의 토글 횟수를 카운트하는 토글 카운터; 메모리 장치의 상태 정보를 저장하고, 상기 상태 정보를 상기 입출력 회로로 출력하는 상태 레지스터; 및 상기 토글 카운터에 의해 카운트된 상기 토글 횟수가 기준 토글 횟수와 대응하는지 여부를 판단하고, 상기 상태 레지스터를 제어하여 상기 상태 정보를 상기 입출력 회로를 통해 상기 메모리 컨트롤러로 전송하는 상태 출력 제어기를 포함한다.

Description

메모리 장치 및 그 동작 방법{MEMORY DEVICE AND METHOD FOR OPERATING THE SAME}
본 발명은 메모리 장치에 관한 것으로, 보다 구체적으로는 메모리 장치 및 그 동작 방법에 관한 것이다.
저장 장치는 컴퓨터나 스마트폰 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 저장 장치는 데이터가 저장되는 메모리 장치와 메모리 장치를 제어하는 메모리 컨트롤러를 포함할 수 있다. 메모리 장치는 휘발성 메모리 장치 (Volatile Memory)와 비휘발성 메모리 장치 (Non Volatile Memory)로 구분된다.
휘발성 메모리 장치는 전원이 공급된 경우에만 데이터를 저장하고, 전원 공급이 차단되면 저장된 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치는 정적 랜덤 액세스 메모리 (Static Random Access Memory; SRAM), 동적 랜덤 액세스 메모리 (Dynamic Random Access Memory; DRAM) 등이 있다.
비휘발성 메모리 장치는 전원이 차단되어도 데이터가 소멸되지 않는 메모리 장치로서, 롬(Read Only Memory; ROM), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM) 및 플래시 메모리(Flash Memory) 등이 있다.
본 발명의 실시예는 다수의 메모리 칩에 대한 상태 리드를 효율적으로 수행할 수 있는 메모리 장치 및 그 동작 방법을 제공한다.
일 실시예에 따른 메모리 장치는, 메모리 컨트롤러로부터 상태 리드 커맨드를 수신하는 입출력 회로; 상기 상태 리드 커맨드에 대한 응답으로, 메모리 컨트롤러로부터 수신되는 신호의 토글 횟수를 카운트하는 토글 카운터; 메모리 장치의 상태 정보를 저장하고, 상기 상태 정보를 상기 입출력 회로로 출력하는 상태 레지스터; 및 상기 토글 카운터에 의해 카운트된 상기 토글 횟수가 기준 토글 횟수와 대응하는지 여부를 판단하고, 상기 상태 레지스터를 제어하여 상기 상태 정보를 상기 입출력 회로를 통해 상기 메모리 컨트롤러로 전송하는 상태 출력 제어기를 포함할 수 있다.
일 실시예에 따른 메모리 장치의 동작 방법은, 메모리 컨트롤러로부터 상태 리드 커맨드를 수신하는 단계; 상기 상태 리드 커맨드에 대한 응답으로, 상기 메모리 컨트롤러로부터 수신되는 신호의 토글 횟수를 카운트하는 단계; 카운트된 상기 토글 횟수가 미리 설정된 기준 토글 횟수와 대응하는지 여부를 판단하는 단계; 및 상기 판단에 대한 응답으로, 상태 레지스터에 저장된 메모리 장치의 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계를 포함할 수 있다.
본 기술은 다수의 메모리 칩에 대한 상태 리드를 효율적으로 수행할 수 있는 메모리 장치 및 그 동작 방법을 제공할 수 있다.
도 1은 일 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 도 1에 따른 메모리 컨트롤러와 메모리 장치 사이에 교환되는 신호들을 설명하기 위한 도면이다.
도 3은 도 1의 메모리 장치를 구체적으로 설명하기 위한 도면이다.
도 4는 도 3에 따른 제어 로직의 구성을 도시한 블록도이다.
도 5는 일 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 6은 도 5와 다른 일 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 7a 내지 도 7b는 도 6에 따른 상태 리드 커맨드와 다른 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 8a 내지 도 8b는 도 7a 내지 도 7b에 따른 상태 리드 커맨드와 다른 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 9는 도 8a 내지 도 8b에 따른 상태 리드 커맨드와 다른 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 10은 일 실시예에 따른 메모리 장치의 동작 방법을 나타낸 예시 흐름도이다.
도 11은 도 10에 따른 동작 방법을 보충하는 예시 흐름도이다.
도 12는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 도면이다.
도 13은 도 1에 따른 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
도 1은 일 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 시스템(1000)은 데이터가 저장되는 메모리 장치(Memory Device; 1100), 및/또는 호스트(Host; 2000)의 요청(request)에 따라 메모리 장치(1100)를 제어하는 메모리 컨트롤러(Memory Controller; 1200)를 포함할 수 있다.
호스트(2000)는 USB (Universal Serial Bus), SATA (Serial AT Attachment), SAS (Serial Attached SCSI), HSIC (High Speed Interchip), SCSI (Small Computer System Interface), PCI (Peripheral Component Interconnection), PCIe (PCI express), NVMe (NonVolatile Memory express), UFS (Universal Flash Storage), SD (Secure Digital), MMC (MultiMedia Card), eMMC (embedded MMC), DIMM (Dual In-line Memory Module), RDIMM (Registered DIMM), LRDIMM (Load Reduced DIMM) 등과 같은 다양한 통신 방법들 중 적어도 하나를 이용하여 메모리 시스템(1000)과 통신할 수 있다.
메모리 장치(1100)는 전원 공급이 차단되면 데이터가 소멸되는 휘발성 메모리 장치(Volatile Memory Device) 또는 전원 공급이 차단되더라도 데이터가 유지되는 비휘발성 메모리 장치(Non-volatile memory Device)로 구현될 수 있다. 메모리 장치(1100)는 메모리 컨트롤러(1200)의 제어에 따라 프로그램 동작, 리드 동작 또는 소거 동작을 수행할 수 있다. 예를 들면, 프로그램 동작 시, 메모리 장치(1100)는 메모리 컨트롤러(1200)로부터 커맨드, 어드레스 및 데이터를 입력받고 프로그램 동작을 수행할 수 있다. 리드 동작 시, 메모리 장치(1100)는 메모리 컨트롤러(1200)로부터 커맨드 및 어드레스를 입력받고, 리드된 데이터를 메모리 컨트롤러(1200)로 출력할 수 있다. 메모리 장치(1100)는 소자 가공이 끝난 개개의 IC(Integrated Chip)로서 칩(chip) 또는 다이(die)로 지칭될 수도 있다.
메모리 시스템(1000)은 다수의 메모리 장치(1100)들이 그룹핑된 메모리 장치 그룹들(1300)을 포함할 수 있고, 메모리 장치 그룹들(1300) 각각에 속하는 메모리 장치(1100)들이 각각의 채널들(CH1~CHk)을 통해 메모리 컨트롤러(1200)와 통신할 수 있다. 이하에서는 설명의 편의를 위해 하나의 채널에 연결된 하나의 메모리 장치 그룹에 4개의 메모리 장치가 포함되어 있는 것을 전제로 설명하지만 이에 한정되는 것은 아니다.
메모리 컨트롤러(1200)는 메모리 시스템(1000)의 동작을 전반적으로 제어하며, 호스트(2000)와 메모리 장치(1100) 사이의 데이터 교환을 제어할 수 있다. 예를 들어, 메모리 컨트롤러(1200)는, 호스트(2000)로부터 커맨드가 수신되면, 수신된 커맨드에 따라 채널들(CH1~CHk) 각각에 연결된 메모리 장치(1100)들의 메모리 장치 그룹들(1300) 각각을 제어할 수 있다. 메모리 컨트롤러(1200)는 호스트(2000)의 요청에 따라 각 채널에 연결된 메모리 장치 그룹들(1300)에 포함되는 메모리 장치(1100)들을 제어하여 데이터를 프로그램(program), 리드(read) 또는 소거(erase)할 수 있다. 또한, 메모리 컨트롤러(1200)는 호스트(2000)로부터 데이터와 논리 어드레스(logical address)를 입력 받고, 논리 어드레스를 메모리 장치(1100) 내에 데이터가 실제 저장될 영역을 가리키는 물리 어드레스(physical address)로 변환할 수 있다. 또한 메모리 컨트롤러(1200)은 논리 어드레스와 물리 어드레스 간의 맵핑(mapping) 관계를 구성하는 논리-물리 어드레스 맵핑 테이블(logical-to-physical address mapping table)을 버퍼 메모리(미도시)에 저장할 수 있다.
메모리 컨트롤러(1200)는, 메모리 장치(1100)들에 대한 특정 동작(operation)을 제어하기 전이나 제어하는 도중에, 메모리 장치(1100)들 중 적어도 하나의 상태(status)를 파악하기 위한 상태 리드 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(1200)는, 메모리 장치(1100)들에 상태 리드 커맨드를 전송하고, 상태 리드 커맨드에 대한 응답으로, 메모리 장치(1100)들 중 적어도 하나는 상태 정보를 메모리 컨트롤러(1200)로 출력할 수 있다. 또한, 메모리 컨트롤러(1200)는, 선행하여 발행된 커맨드의 완료 여부를 모니티링하기 위하여 상태 리드 커맨드를 메모리 장치(1100)들에 전송할 수도 있다.
도 2는 도 1에 따른 메모리 컨트롤러와 메모리 장치 사이에 교환되는 신호들을 설명하기 위한 도면이다.
도 2를 참조하면, 메모리 컨트롤러(1200)와 메모리 장치(1100)는 입출력 패드(DQ)를 통해 커맨드, 데이터 및/또는 어드레스를 서로 주고받을 수 있다. 예를 들어, 입출력 패드(DQ)는 8 비트(8bit)의 데이터를 송수신할 수 있도록, 8개의 라인들로 구성될 수 있고, 각 라인은 1 비트의 데이터를 송수신할 수 있다.
메모리 장치(1100)는 CE# 패드를 통해 칩 인에이블 신호를 수신하고, WE# 패드를 통해 라이트 인에이블 신호를 수신하고, RE# 패드를 통해 리드 인에이블 신호를 수신하고, ALE 패드를 통해 어드레스 래치 인에이블 신호를 수신하고, CLE 패드를 통해 커맨드 래치 인에이블 신호를 수신하고, WP# 패드를 통해 라이트 프로텍션 신호를 수신할 수 있다.
어드레드 래치 인에이블 신호는, 입출력 패드(DQ)를 통해 메모리 장치(1100)로 제공되는 어드레스를 메모리 장치(1100)가 어드레스 레지스터(address register)에 로드하도록 메모리 컨트롤러(1200)가 메모리 장치(1100)에 지시하는 신호일 수 있다. 칩 인에이블 신호는, 하나 이상의 메모리 장치들을 인에이블(enable) 또는 디스에이블(disable)하기 위해 메모리 컨트롤러(1200)가 메모리 장치(1100)에 지시하는 신호일 수 있다. 커맨드 래치 인에이블 신호는, 입출력 패드(DQ)를 통해 메모리 장치(1100)로 제공되는 커맨드를 메모리 장치(1100)가 커맨드 레지스터(command register)에 로드하도록 메모리 컨트롤러(1200)가 메모리 장치(1100)에 지시하는 신호일 수 있다. 리드 인에이블 신호는, 메모리 장치(1100)가 메모리 컨트롤러(1200)로 데이터를 전송하도록, 메모리 컨트롤러(1200)가 메모리 장치(1100)에 지시하는 신호일 수 있다. 라이트 인에이블 신호는, 커맨드와 어드레스 및 데이터가 전달되는 것을 알리는 신호일 수 있다.
메모리 장치(1100)는 RB 패드를 통해 레디비지 신호를 메모리 컨트롤러(1200)로 출력할 수 있다. 레디비지 신호는, 메모리 장치(1100)의 메모리 어레이가 활성(activity) 상태에 있는지를 지시할 수 있다.
도 2에서는 하나의 메모리 장치(1100)와 메모리 컨트롤러(1200) 사이의 연결 관계를 도시하였으나, 상기 입출력 패드(DQ), CE# 패드, WE# 패드, RE# 패드, ALE 패드, CLE 패드, WP# 패드들이 하나의 채널을 형성하고, 형성된 채널을 통해 메모리 컨트롤러(1200)와 메모리 장치 그룹들(1300) 중 하나가 연결될 수 있다. 예를 들어, CE# 패드에 메모리 장치 그룹들(1300) 중 하나가 연결될 수 있다.
따라서, 메모리 컨트롤러(1200)가 하나의 채널에 포함된 입출력 패드(DQ)를 통해 커맨드, 데이터 및/또는 어드레스를 전송하면, 해당 채널과 연결된 메모리 장치들(1100)이 모두 또는 해당 채널과 연결된 메모리 장치(1100)들 중 선택된 메모리 장치(1100)로 커맨드, 데이터 및/또는 어드레스를 수신할 수 있다. 예를 들어, 메모리 컨트롤러(1200)는 입출력 패드(DQ)를 통해 상태 리드 커맨드를 해당 입출력 패드(DQ)와 연결된 메모리 장치(1100)들로 전송할 수 있고, 상태 리드 커맨드에 대한 응답으로, 상태 리드 커맨드를 수신받은 메모리 장치(1100)들 중 적어도 하나는 상태 정보를 입출력 패드(DQ)로 전송할 수 있다.
도 3은 도 1의 메모리 장치를 구체적으로 설명하기 위한 도면이다.
도 3을 참조하면, 메모리 장치(1100)는 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구현될 수 있고, 도 3에는 비휘발성 메모리 장치가 실시예로써 도시되어 있으나, 본 실시예는 비휘발성 메모리 장치로 제한되지는 않는다.
메모리 장치(1100)는 데이터가 저장되는 메모리 셀 어레이(100)를 포함할 수 있다. 메모리 장치(1100)는 메모리 셀 어레이(100)에 데이터를 저장하기 위한 프로그램 동작(program operation), 저장된 데이터를 출력하기 위한 리드 동작(read operation) 및 저장된 데이터를 소거하기 위한 소거 동작(erase operation)을 수행하도록 구성된 주변 회로들(peripheral circuits; 200)을 포함할 수 있다. 메모리 장치(1100)는 메모리 컨트롤러(1200)의 제어에 따라 주변 회로들(200)을 제어하는 제어 로직(300)을 포함할 수 있다.
메모리 셀 어레이(100)는 데이터가 저장되는 다수의 메모리 셀들을 포함한다. 예를 들면, 메모리 셀 어레이(100)는 적어도 하나의 플레인(plane)을 포함할 수 있고, 플레인은 하나 이상의 메모리 블록들(memory blocks)을 포함할 수 있다. 실시 예에서, 플레인은 프로그램, 리드 또는 이레이즈 동작을 수행시에 엑세스되는 메모리 영역의 단위일 수 있다. 메모리 블록들 각각은 다수의 메모리 셀들을 포함할 수 있다. 다수의 플레인들이 포함된 구조를 멀티 플레인 구조로 지칭할 수 있다. 메모리 블록들에는 사용자 데이터(user data) 및 메모리 장치(1100)의 동작에 필요한 정보가 저장될 수 있다. 메모리 블록들은 2차원 또는 3차원 구조로 구현될 수 있다. 2차원 구조를 가지는 메모리 블록들은 기판에 평행하게 배열된 메모리 셀들을 포함할 수 있고, 3차원 구조를 가지는 메모리 블록들은 기판에 수직하게 적층된 메모리 셀들을 포함할 수 있다.
주변 회로들(200)은, 제어 로직(300)의 제어에 따라 프로그램, 리드 및 소거 동작을 수행하도록 구성될 수 있다. 예를 들면, 주변 회로들(200)은 전압 생성 회로(VOLTAGE GENERATION CIRCUIT; 210), 로우 디코더(ROW DECODER; 220), 페이지 버퍼 그룹(PAGE BUFFER GROUP; 230), 컬럼 디코더(COLUMN DECODER; 240), 입출력 회로(INPUT/OUTPUT CIRCUIT; 250) 및 전류 감지 회로(CURRENT SENSING CIRCUIT; 260)를 포함할 수 있다.
전압 생성 회로(210)는, 제어 로직(300)에서 출력되는 동작 신호(OP_CMD)에 응답하여 프로그램, 리드 및 소거 동작들에 사용되는 다양한 동작 전압들(Vop)을 생성할 수 있다. 예를 들면, 전압 생성 회로(210)는 제어 로직(300)의 제어에 따라, 프로그램 전압, 검증 전압, 패스 전압, 리드 전압, 소거 전압 등의 다양한 전압들을 생성할 수 있다.
로우 디코더(220)는, 제어 로직(300)으로부터 출력된 로우 어드레스(RADD)에 응답하여, 메모리 셀 어레이(100)의 메모리 블록들 중 선택된 메모리 블록에 연결된 로컬 라인들(local lines; LL)에 동작 전압들(Vop)을 공급할 수 있다. 로컬 라인들(LL)은 로컬 워드 라인들(local word lines), 로컬 드레인 셀렉트 라인들(local drain select lines), 및/또는 로컬 소스 셀렉트 라인들(local source select lines)을 포함할 수 있다. 이 외에도, 로컬 라인들(LL)은 소스 라인(source line)과 같이 메모리 블록에 연결된 다양한 라인들을 포함할 수 있다.
페이지 버퍼 그룹(230)은, 메모리 셀 어레이(100)의 메모리 블록들에 연결된 비트 라인들(BL1~BLI)에 연결될 수 있다. 페이지 버퍼 그룹(230)은 비트 라인들(BL1~BLI)에 연결된 다수의 페이지 버퍼들(PB1~PBI)을 포함할 수 있다. 페이지 버퍼들(PB1~PBI)은 제어 로직(300)으로부터 출력된 페이지 버퍼 제어 신호들(PBSIGNALS)에 응답하여 동작할 수 있다. 예를 들면, 페이지 버퍼들(PB1~PBI)은 비트 라인들(BL1~BLI)을 통해 수신된 데이터를 임시로 저장하거나, 리드 또는 검증 동작 시, 비트 라인들(BL1~BLI)의 전압 또는 전류를 센싱(sensing)할 수 있다.
컬럼 디코더(240)는, 제어 로직(300)으로부터 출력된 컬럼 어드레스(CADD)에 응답하여 입출력 회로(250)와 페이지 버퍼 그룹(230) 사이에서 데이터를 전달할 수 있다. 예를 들면, 컬럼 디코더(240)는 데이터 라인들(DL)을 통해 페이지 버퍼들(PB1~PBI)과 데이터를 주고받거나, 컬럼 라인들(CL)을 통해 입출력 회로(250)와 데이터를 주고받을 수 있다.
입출력 회로(250)는, 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로부터 커맨드(CMD), 어드레스(ADD) 및 데이터를 수신할 수 있고, 메모리 셀 어레이(100)에서 리드된 데이터를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다. 예를 들어, 입출력 회로(250)는 메모리 컨트롤러(1200)로부터 수신된 커맨드(CMD) 및 어드레스(ADD)를 제어 로직(300)에 전달하거나, 데이터(DATA)를 컬럼 디코더(240)와 주고받을 수 있다.
전류 감지 회로(260)는 리드 동작(read operation) 또는 검증 동작(verify operation)시, 허용 비트(VRY_BIT<#>)에 응답하여 기준 전류를 생성하고, 페이지 버퍼 그룹(230)으로부터 수신된 센싱 전압(VPB)과 기준 전류에 의해 생성된 기준 전압을 비교하여 패스 신호(PASS) 또는 페일 신호(FAIL)를 출력할 수 있다.
제어 로직(300)은 CE#, WE#, RE#, ALE, CLE 및 WP# 패드들을 통해 수신되는 신호들에 응답하여 커맨드(CMD) 및 어드레스(ADD)를 수신할 수 있다. 제어 로직(300)은 커맨드(CMD) 및 어드레스(ADD)를 수신한 것에 대한 응답으로, 주변 회로들(200)를 제어하기 위한 제어 신호들을 생성하고, 생성된 제어 신호들을 주변 회로들(200)로 출력할 수 있다. 예를 들어, 제어 신호들은, 동작 신호(OP_CMD), 로우 어드레스(RADD), 페이지 버퍼 제어 신호들(PBSIGNALS) 및 허용 비트(VRY_BIT<#>) 중 적어도 하나를 포함할 수 있다. 제어 로직(300)은, 동작 신호(OP_CMD)를 전압 생성 회로(210)로 출력하고, 로드 어드레스(RADD)를 로우 디코더(220)로 출력하고, 페이지 버퍼 제어 신호들(PBSIGNALS)를 페이지 버퍼 그룹(230)으로 출력하고, 허용 비트(VRY_BIT<#>)를 전류 감지 회로(260)로 출력할 수 있다. 또한, 제어 로직(300)은 패스 신호(PASS) 또는 페일 신호(FAIL)에 응답하여 검증 동작이 패스 또는 페일 되었는지를 판단할 수 있다.
예를 들어, 제어 로직(300)은, 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로부터 수신된 상태 리드 커맨드를 입출력 회로(250)로부터 전달받고, 상태 리드 커맨드에 대한 응답으로, RE# 패드를 통해 수신되는 리드 인에이블 신호의 토글(toggle) 횟수를 카운트할 수 있다. 또한, 제어 로직(300)은 카운트된 값이 미리 설정된 카운팅 넘버와 대응하는지 판단하고, 판단에 대한 응답으로 상태 레지스터(status register)에 저장된 상태 정보를 메모리 컨트롤러(1200)로 출력할 수 있다.
도 4는 도 3에 따른 제어 로직의 구성을 도시한 블록도이다.
도 4를 참조하면, 제어 로직(300)은 토글 카운터(310), 상태 출력 제어기(320), 및 상태 레지스터(330)를 포함할 수 있다.
토글 카운터(310)는, 메모리 컨트롤러(1200)와 연결된 패드를 통해 수신되는 신호의 토글(toggle) 횟수를 카운트할 수 있다. 예를 들어, 토글 카운터(310)는 메모리 컨트롤러(1200)와 연결된 RE# 패드를 통해 수신되는 리드 인에이블 신호의 토글 횟수를 카운트하고, 카운트된 토글 횟수(CTN)를 상태 출력 제어기(320)에 제공할 수 있다.
상태 레지스터(340)는, 제어 로직(300)에 의해 제어되는 메모리 장치(1100)의 상태 정보(SDATA)를 저장할 수 있다. 예를 들어, 상태 정보(SDATA)는, 메모리 장치(1100)의 쓰기 보호(write protection)가 활성화되었는지 여부, 메모리 장치(1100)의 레디-비지 여부(예를 들어, 새로운 커맨드, 어드레스 또는 데이터를 수신하여 처리할 수 있는지 여부), 메모리 장치(1100)에 포함된 플레인들 중 적어도 하나의 레디-비지 여부, 상태 리드 커맨드를 수신하기 전에 수신된 커맨드에 따른 동작의 실패 여부 중 적어도 하나를 포함할 수 있다. 예를 들어, 상태 레지스터(340)는, 입출력 패드(DQ)와 상응하는 8비트의 상태 정보를 저장할 수 있다.
설정 레지스터(330)는, 현재 메모리 장치(1100)에 대하여 할당된 설정 정보를 저장할 수 있다. 예를 들어, 설정 정보는, 하나의 채널에 연결된 메모리 장치 그룹 내에서 다른 메모리 장치와 구별될 수 있도록 메모리 장치에 대하여 부여된 고유 어드레스(LUN) 및/또는 상태 출력 조건을 포함할 수 있다. 여기서 상태 출력 조건은, 기준 토글 횟수를 포함할 수 있고, 기준 토글 횟수는 고유 어드레스(LUN)에 상응하는 횟수로 결정될 수 있다. 예를 들어, 고유 어드레스(LUN)가 하나의 채널에 연결된 메모리 장치들의 그룹 내에서 첫 번째 메모리 장치의 어드레스를 지시하면, 기준 토글 횟수는 1로 결정될 수 있고, 고유 어드레스(LUN)가 하나의 채널에 연결된 메모리 장치 그룹 내에서 두 번째 메모리 장치의 어드레스를 지시하면, 기준 토글 횟수는 2로 결정될 수 있다. 여기서, 기준 토글 횟수는 반드시 설정 레지스터(330)에 저장되어야 하는 것은 아니다. 예를 들어, 상태 출력 제어기(320)가 고유 어드레스(LUN)를 기초로 기준 토글 횟수를 결정할 수도 있다.
상태 출력 제어기(320)는, 입출력 회로(250)로부터 상태 리드 커맨드(RS_CMD)를 수신하면, 토글 카운터(310)에 토글 횟수를 카운트하도록 지시하는 트리거 신호(TS)를 전송하여 토글 카운터(310)를 동작시키고(또는 인에이블시키고), 토글 카운터(310)로부터 토글 횟수(CTN)를 수신할 수 있다. 또한, 상태 출력 제어기(320)는, 설정 레지스터(330)로부터 제공받은 설정 정보를 기초로 토글 카운터(310)로부터 출력된 토글 횟수(CTN)가 기준 토글 횟수와 대응하는지(또는 동일한지) 판단하고, 토글 횟수(CTN)가 기준 토글 횟수와 대응하면(또는 동일하면), 상태 레지스터(340)의 출력을 인에이블(enable)시킬 수 있다. 예를 들어, 상태 출력 제어기(320)는, 상태 레지스터(340)에 저장된 상태 정보를 출력하도록 지시하는 출력 인에이블 신호(OE)를 상태 레지스터(340)에 전송할 수 있고, 상태 레지스터(340)는 출력 인에이블 신호(OE)에 대한 응답으로, 상태 정보를 입출력 회로(250)로 전송하고, 입출력 회로(250)는 상태 정보를 메모리 컨트롤러(1200)로 전송할 수 있다. 다시 말하면, 상태 출력 제어기(320)는, 상태 레지스터(340)를 제어하여 상태 레지스터(340)에 저장된 상태 정보를 입출력 회로(250)를 통해 메모리 컨트롤러(1200)로 전송할 수 있다.
한편, 설정 레지스터(330)와 상태 레지스터(340)는 반드시 분리하여 구현되어야 하는 것은 아니며, 하나의 레지스터 형태로 통합될 수도 있다.
도 5는 일 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
메모리 컨트롤러(1200)에 연결되는 메모리 장치(1100)가 하나라면, 상태 리드 커맨드를 수신하는 것만으로 자신의 상태 정보를 반환하는 것이 가능할 수 있다. 그러나, 도 1에서와 같이 다수의 메모리 장치 그룹들(1300)이 메모리 컨트롤러(1200)에 연결되는 경우, 메모리 장치 그룹들(1300)에 포함된 메모리 장치(1100)를 중에서 상태 정보를 리드하고자 하는 메모리 장치(1100)를 선택하는 것이 요구된다.
이러한 메모리 장치(1100)의 선택을 회피할 수 있는 제1 상태 리드 커맨드(70h)로서, 단일한 메모리 장치(1100)에 대한 동작 커맨드 이후에 메모리 컨트롤러(1200)로부터 제1 상태 리드 커맨드(70h)가 발행될 수 있다. 예를 들어, 메모리 컨트롤러(1200)는, 페이지 리드 커맨드(00h)와 제1 메모리 장치의 고유 어드레스(LUN1)를 입출력 패드(DQ)를 통해 출력함으로써, 제1 메모리 장치에 대한 페이지 리드 동작을 수행하고, 페이지 리드 동작의 후속으로, 제1 상태 리드 커맨드(70h)를 입출력 패드(DQ)를 통해 출력할 수 있다. 이 경우, 해당 입출력 패드(DQ)와 연결되어 제1 상태 리드 커맨드(70h)를 수신하는 메모리 장치들 중에서, 앞선 페이지 리드 동작을 수행한 제1 메모리 장치(또는 제1 메모리 장치의 제어 로직)가 RE# 패드를 통해 수신되는 리드 인에이블 신호(예를 들어, 로우 신호일 수 있음)에 대한 응답으로, 제1 메모리 장치의 상태 정보(SDATA1)를 입출력 패드(DQ)로 출력할 수 있다.
도 6은 도 5와 다른 일 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 1에서와 같이 다수의 메모리 장치 그룹들(1300)이 메모리 컨트롤러(1200)에 연결되는 경우, 메모리 컨트롤러(1200)는, 메모리 장치 그룹들(1300)에 포함된 메모리 장치(1100)를 중에서 상태 정보를 리드하고자 하는 메모리 장치(1100)를 명시적으로 선택하여 상태 리드 커맨드를 발행할 수도 있다.
도 6을 참조하면, 메모리 컨트롤러(1200)는 입출력 패드(DQ)를 통해 제2 상태 리드 커맨드(78h)를 어드레스들(PADDR, BADDR, LUN1)과 함께 메모리 장치들로 전송할 수 있다. 예를 들어, 어드레스들은 제1 메모리 장치의 페이지 어드레스(PADDR), 제1 메모리 장치의 블록 어드레스(BADDR), 제1 메모리 장치의 고유 어드레스(LUN1)를 포함할 수 있다.
이 경우, 입출력 패드(DQ)와 연결된 다수의 메모리 장치들 중에서, 수신된 고유 어드레스(LUN1)와 대응하는 제1 메모리 장치가, RE# 패드를 통해 수신되는 리드 인에이블 신호(예를 들어, 로우 신호일 수 있음)에 대한 응답으로, 제1 메모리 장치의 상태 정보(SDATA1)를 입출력 패드(DQ)로 출력할 수 있다.
한편, 도 6에서와 같이 다수의 메모리 장치들 중 상태 정보를 리드하고자 하는 메모리 장치를 선택해서 상태 리드 커맨드를 발행하는 경우, 다수의 메모리 장치들의 상태 정보를 리드 하기 위해서 다수의 상태 리드 커맨드를 발행해야 되기 때문에 상태 정보를 리드하는 속도가 저하되는 문제가 있다.
특히, 특정 입출력 패드(DQ)와 연결된 메모리 장치들 모두에 대한 상태 정보를 리드하는 경우, 해당 메모리 장치들의 수에 상응하는 개수의 상태 리드 커맨드가 발행되어야 하므로 속도 저하가 가장 크게 나타날 수 있다. 따라서, 상술한 문제점을 보완하기 위하여 아래에서는 다른 실시예에 따른 상태 리드 커맨드들을 설명한다.
도 7a 내지 도 7b는 도 6에 따른 상태 리드 커맨드와 다른 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 7a를 참조하면, 메모리 컨트롤러(1200)는 입출력 패드(DQ)를 통해 제3 상태 리드 커맨드(7Xh)를 발행할 수 있다. 입출력 패드(DQ)와 연결되어 제3 상태 리드 커맨드(7Xh)를 수신하는 다수의 메모리 장치들에 포함된 상태 출력 제어기들 각각은 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하기 시작할 수 있다. 또한, 카운트된 토글 횟수(CTN)가 기준 토글 횟수와 동일하면, 해당하는 메모리 장치는 자신의 상태 정보를 입출력 패드(DQ)로 출력할 수 있다.
예를 들어, 제1 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 1과 동일할 때, 제1 메모리 장치의 상태 레지스터에 저장된 상태 정보(SDATA1)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다.
마찬가지 방법으로, 제2 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 2와 동일할 때, 제2 메모리 장치의 상태 레지스터에 저장된 상태 정보(SDATA2)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다. 제3 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 3과 동일할 때, 제3 메모리 장치의 상태 레지스터에 저장된 상태 정보(SDATA3)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다. 제4 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 4와 동일할 때, 제4 메모리 장치의 상태 레지스터에 저장된 상태 정보(SDATA4)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다.
메모리 장치들은 상태 정보를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 때, 자신의 고유 어드레스(LUN1~LUN4)를 함께 출력할 수도 있다. 이 경우 메모리 컨트롤러(1200)는 고유 어드레스를 통해 어느 메모리 장치에 대한 상태 정보인지 더 쉽게 파악할 수 있는 장점이 있다.
예를 들어, 제1 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 1과 동일할 때, 제1 메모리 장치의 고유 어드레스(LUN1)를 출력하고, 카운트된 토글 횟수(CTN)가 2와 동일(또는 기준 토글 횟수보다 하나 증가)할 때, 상태 레지스터에 저장된 상태 정보(SDATA1)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다.
마찬가지로, 제2 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 3과 동일할 때, 제2 메모리 장치의 고유 어드레스(LUN2)를 출력하고, 카운트된 토글 횟수(CTN)가 4와 동일(또는 기준 토글 횟수보다 하나 증가)할 때, 상태 레지스터에 저장된 상태 정보(SDATA2)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다. 제3 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 5와 동일할 때, 제3 메모리 장치의 고유 어드레스(LUN3)를 출력하고, 카운트된 토글 횟수(CTN)가 6과 동일(또는 기준 토글 횟수보다 하나 증가)할 때, 상태 레지스터에 저장된 상태 정보(SDATA3)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다. 제4 메모리 장치의 상태 출력 제어기는, 카운트된 토글 횟수(CTN)가 기준 토글 횟수 7과 동일할 때, 제4 메모리 장치의 고유 어드레스(LUN4)를 출력하고, 카운트된 토글 횟수(CTN)가 8과 동일(또는 기준 토글 횟수보다 하나 증가)할 때, 상태 레지스터에 저장된 상태 정보(SDATA4)를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 출력할 수 있다.
상술한 도 7a 내지 도 7b에 따른 제3 상태 리드 커맨드(7Xh)를 이용하면, 하나의 상태 리드 커맨드가 입출력 패드(DQ)를 통해 발행되었을 때, 해당 입출력 패드(DQ)와 연결된 모든 메모리 장치들이 순차적으로 자신의 상태 정보를 입출력 패드(DQ)를 통해 메모리 컨트롤러(1200)로 제공한다. 따라서, 하나의 상태 리드 커맨드가 발행되는 것만으로 모든 메모리 장치들의 상태 정보를 리드할 수 있어 상태 정보를 리드하는 속도가 향상될 수 있다.
도 8a 내지 도 8b는 도 7a 내지 도 7b에 따른 상태 리드 커맨드와 다른 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 7a 내지 도 7b에 따른 제3 상태 리드 커맨드(7Xh)를 이용할 경우, 하나의 입출력 패드(DQ)와 연결된 모든 메모리 장치들의 상태 정보를 리드할 수 있으나, 일부 메모리 장치들의 상태 정보를 리드하기 어렵다.
도 8a 내지 도 8b에서 메모리 컨트롤러(1200)는 입출력 패드(DQ)를 통해 제4 상태 리드 커맨드(7Yh)를 입출력 패드(DQ)와 연결된 메모리 장치들 중 하나의 고유 어드레스와 함께 발행할 수 있다. 예를 들어, 메모리 컨트롤러(1200)는, 제4 상태 리드 커맨드(7Yh)와 제2 메모리 장치의 고유 어드레스(LUN2)를 입출력 패드(DQ)로 발행할 수 있다. 이때, 도 8a 내지 도 8b에서 각 메모리 장치들의 고유 어드레스는 제1 메모리 장치부터 제4 메모리 장치까지 점차 커지는 방향으로 할당되는 것으로 전제로 설명하지만 이에 한정되는 것은 아니다. 따라서, 이하에서 설명하는 고유 어드레스들 사이의 크기 비교는 예시적인 것으로 해석되어야 하며 구현례에 따라 달라질 수 있다.
입출력 패드(DQ)와 연결되어 제4 상태 리드 커맨드(7Yh)와 제2 메모리 장치의 고유 어드레스(LUN2)를 수신하는 다수의 메모리 장치들에 포함된 상태 출력 제어기들 각각은 입출력 패드(DQ)를 통해 수신한 고유 어드레스(LUN2)와 설정 레지스터를 통해 획득한 자신의 고유 어드레스를 서로 비교할 수 있다.
먼저 도 8a를 참조하면, 입출력 패드(DQ)를 통해 수신한 고유 어드레스와 설정 레지스터를 통해 획득한 자신의 고유 어드레스를 서로 비교한 결과, 제2 어드레스(LUN2)보다 자신의 고유 어드레스가 크거나 같으면, 그러한 고유 어드레스를 갖는 상태 출력 제어기들은 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하기 시작할 수 있다. 또한, 카운트된 토글 횟수(CTN)가 기준 토글 횟수와 동일하면, 해당하는 메모리 장치는 자신의 상태 정보를 입출력 패드(DQ)로 출력할 수 있다. 이때, 제2 어드레스(LUN2)보다 자신의 고유 어드레스가 작은 상태 출력 제어기들은 상태 정보 리드 동작을 수행하지 않을 수 있다.
예를 들어, 제1 메모리 장치의 상태 출력 제어기는, 설정 레지스터로부터 획득한 고유 어드레스(LUN1)가 입출력 패드(DQ)를 통해 수신한 제2 메모리 장치의 고유 어드레스(LUN2)보다 작으므로, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하거나 상태 정보를 출력하지 않고 상태 정보 리드 동작을 종료할 수 있다.
설정 레지스터로부터 획득한 고유 어드레스(LUN2)가 입출력 패드(DQ)를 통해 수신한 제2 메모리 장치의 고유 어드레스(LUN2)와 동일할 수 있다. 따라서, 제2 메모리 장치의 상태 출력 제어기는, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 토글 횟수(CTN)가 기준 토글 횟수인 2와 동일할 때, 자신의 상태 정보(SATA2)를 메모리 컨트롤러(1200)로 출력할 수 있다.
같은 방식으로, 제3 메모리 장치 내지 제4 메모리 장치의 고유 어드레스들(LUN3, LUN4)은 입출력 패드(DQ)를 통해 수신한 제2 메모리 장치의 고유 어드레스(LUN2)보다 클 수 있다. 따라서, 제3 메모리 장치의 상태 출력 제어기는 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 토글 횟수(CTN)가 기준 토글 횟수인 3과 동일할 때, 자신의 상태 정보(SATA3)를 메모리 컨트롤러(1200)로 출력할 수 있다. 또한, 제4 메모리 장치의 상태 출력 제어기는 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 토글 횟수(CTN)가 기준 토글 횟수인 4와 동일할 때, 자신의 상태 정보(SATA4)를 메모리 컨트롤러(1200)로 출력할 수 있다.
도 8a에서와 반대로 도 8b를 참조하면, 입출력 패드(DQ)를 통해 수신한 고유 어드레스와 설정 레지스터를 통해 획득한 자신의 고유 어드레스를 서로 비교한 결과, 제2 어드레스(LUN2)보다 자신의 고유 어드레스가 작거나 같으면, 그러한 고유 어드레스를 갖는 상태 출력 제어기들은 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하기 시작할 수 있다. 또한, 카운트된 토글 횟수(CTN)가 기준 토글 횟수와 동일하면, 해당하는 메모리 장치는 자신의 상태 정보를 입출력 패드(DQ)로 출력할 수 있다. 이때, 제2 어드레스(LUN2)보다 자신의 고유 어드레스가 큰 상태 출력 제어기들은 상태 정보 리드 동작을 수행하지 않을 수 있다.
예를 들어, 제1 메모리 장치의 상태 출력 제어기는, 설정 레지스터로부터 획득한 고유 어드레스(LUN1)가 입출력 패드(DQ)를 통해 수신한 제2 메모리 장치의 고유 어드레스(LUN2)보다 작으므로, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 카운트된 토글 횟수(CTN)가 기준 토글 횟수인 1과 동일하면, 제1 메모리 장치는 자신의 상태 정보(SDATA1)를 입출력 패드(DQ)로 출력할 수 있다.
설정 레지스터로부터 획득한 고유 어드레스(LUN2)가 입출력 패드(DQ)를 통해 수신한 제2 메모리 장치의 고유 어드레스(LUN2)와 동일하다. 따라서, 제2 메모리 장치의 상태 출력 제어기는, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 토글 횟수(CTN)가 기준 토글 횟수인 2와 동일할 때, 자신의 상태 정보(SATA2)를 메모리 컨트롤러(1200)로 출력할 수 있다.
같은 방식으로, 제3 메모리 장치 내지 제4 메모리 장치의 고유 어드레스들(LUN3, LUN4)은 입출력 패드(DQ)를 통해 수신한 제2 메모리 장치의 고유 어드레스(LUN2)보다 크다. 따라서, 제3 내지 제4 메모리 장치의 상태 출력 제어기들은 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하거나 상태 정보를 출력하지 않고 상태 정보 리드 동작을 종료할 수 있다.
상술한 제4 상태 리드 커맨드(7Yh)에 따르면, 하나의 상태 리드 커맨드와 고유 어드레스를 입출력 패드(DQ)로 발행하는 것만으로, 발행된 고유 어드레스보다 작거나 또는 큰 모든 메모리 장치들의 상태 정보가 순차적으로 리드될 수 있다. 따라서, 상태 정보를 리드하는 속도가 향상됨과 동시에 하나의 메모리 그룹 중 일부에 대한 메모리 장치의 상태 정보가 리드를 수행할 수 있다.
도 9는 도 8a 내지 도 8b에 따른 상태 리드 커맨드와 다른 실시예에 따른 상태 리드 커맨드를 설명하기 위하여 메모리 컨트롤러와 메모리 장치 사이의 동작을 나타낸 파형도이다.
도 9에서도 도 8a 내지 도 8b에서와 마찬가지로, 각 메모리 장치들의 고유 어드레스는 제1 메모리 장치부터 제4 메모리 장치까지 점차 커지는 방향으로 할당되는 것으로 전제로 설명하지만 이에 한정되는 것은 아니다.
도 9를 참조하면, 메모리 컨트롤러(1200)는 입출력 패드(DQ)를 통해 제4 상태 리드 커맨드(7Yh)를 입출력 패드(DQ)와 연결된 메모리 장치들 중 두 개의 고유 어드레스들과 함께 발행할 수 있다. 예를 들어, 메모리 컨트롤러(1200)는, 제4 상태 리드 커맨드(7Yh)를, 제2 메모리 장치의 고유 어드레스(LUN2) 및 제3 메모리 장치의 고유 어드레스(LUN3)와 함께, 입출력 패드(DQ)로 발행할 수 있다.
입출력 패드(DQ)와 연결되어 제4 상태 리드 커맨드(7Yh)를 두 개의 고유 어드레스들(LUN2, LUN3)와 함께 수신하는 다수의 메모리 장치들에 포함된 상태 출력 제어기들 각각은 입출력 패드(DQ)를 통해 수신한 두 개의 고유 어드레스들(LUN2, LUN3)을 설정 레지스터를 통해 획득한 자신의 고유 어드레스와 서로 비교할 수 있다.
입출력 패드(DQ)를 통해 수신한 2개의 고유 어드레스와 설정 레지스터를 통해 획득한 자신의 고유 어드레스를 서로 비교한 결과, 자신의 고유 어드레스가 2개의 고유 어드레스들 사이에 해당하는 어드레스인 경우, 그러한 고유 어드레스를 갖는 상태 출력 제어기들은 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하기 시작할 수 있다. 또한, 카운트된 토글 횟수(CTN)가 기준 토글 횟수와 동일하면, 해당하는 메모리 장치는 자신의 상태 정보를 입출력 패드(DQ)로 출력할 수 있다. 이때, 자신의 고유 어드레스가 2개의 고유 어드레스들 사이에 해당하지 않는 어드레스인 경우, 그러한 고유 어드레스를 갖는 상태 출력 제어기들은, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하거나 상태 정보를 출력하지 않고 상태 정보 리드 동작을 종료할 수 있다.
예를 들어, 제1 메모리 장치와 제4 메모리 장치의 상태 출력 제어기들은, 설정 레지스터로부터 획득한 고유 어드레스(LUN1 및 LUN4)가 입출력 패드(DQ)를 통해 수신한 2개의 고유 어드레스들(LUN2, LUN3) 사이에 해당하지 않으므로, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하거나 상태 정보를 출력하지 않고 상태 정보 리드 동작을 종료할 수 있다.
제2 내지 제3 메모리 장치의 상태 출력 제어기는, 설정 레지스터로부터 획득한 고유 어드레스(LUN2 또는 LUN3)가 입출력 패드(DQ)를 통해 수신한 2개의 고유 어드레스들(LUN2, LUN3) 사이에 해당하므로, 제2 메모리 장치의 상태 출력 제어기는, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 카운트된 토글 횟수(CTN)가 기준 토글 횟수인 2와 동일하면, 제2 메모리 장치는 자신의 상태 정보(SDATA2)를 입출력 패드(DQ)로 출력할 수 있다. 또한, 제3 메모리 장치의 상태 출력 제어기도, 리드 인에이블 신호의 토글 횟수(CTN)를 카운트하고, 카운트된 토글 횟수(CTN)가 기준 토글 횟수인 3과 동일하면, 제3 메모리 장치는 자신의 상태 정보(SDATA3)를 입출력 패드(DQ)로 출력할 수 있다.
도 9에 따른 제4 상태 리드 커맨드(7Yh)에 따르면, 하나의 상태 리드 커맨드와 두 개의 고유 어드레스를 입출력 패드(DQ)로 발행하는 것만으로, 발행된 두 개의 고유 어드레스들 사이에 해당하는 고유 어드레스를 갖는 모든 메모리 장치들의 상태 정보가 순차적으로 리드될 수 있다. 따라서, 상태 정보를 리드하는 속도가 향상됨과 동시에 하나의 메모리 그룹 중 일부에 대한 메모리 장치의 상태 정보가 리드를 수행할 수 있다.
도 10은 일 실시예에 따른 메모리 장치의 동작 방법을 나타낸 예시 흐름도이다. 도 11은 도 10에 따른 동작 방법을 보충하는 예시 흐름도이다.
도 10을 참조하면, 메모리 장치의 동작 방법은, 메모리 컨트롤러로부터 상태 리드 커맨드를 수신하는 단계(S100); 상기 상태 리드 커맨드에 대한 응답으로, 상기 메모리 컨트롤러로부터 수신되는 신호의 토글 횟수를 카운트하는 단계(S110); 카운트된 상기 토글 횟수가 미리 설정된 기준 토글 횟수와 대응하는지 여부를 판단하는 단계(S120); 및 상기 판단에 대한 응답으로, 상태 레지스터에 저장된 메모리 장치의 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계(S130)를 포함할 수 있다.
상기 신호는, 상기 메모리 장치가 상기 메모리 컨트롤러로 데이터를 전송하도록 지시하는 리드 인에이블 신호일 수 있다.
상기 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계(S130)는, 상기 카운트된 상기 토글 횟수가 상기 기준 토글 횟수와 동일할 때, 상기 상태 레지스터를 제어하여 상기 상태 정보를 상기 메모리 컨트롤러로 출력할 수 있다.
상기 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계(S130)는, 메모리 장치마다 개별적으로 할당되는 고유 어드레스를 상기 상태 정보와 함께 상기 메모리 컨트롤러로 출력할 수 있다.
상기 상태 리드 커맨드를 수신하는 단계(S100)는, 상기 상태 리드 커맨드를 적어도 하나의 고유 어드레스와 함께 수신할 수 있다.
한편, 도 11을 참조하면, 메모리 장치의 동작 방법은, 상기 상태 리드 커맨드를 수신하는 단계 이후에, 설정 레지스터에 저장된 고유 어드레스를 상기 적어도 하나의 고유 어드레스와 비교하는 단계(S102)를 더 포함할 수 있다.
비교하는 단계(S102)에 따른 비교 결과가 미리 설정된 상태 출력 조건에 해당하면(S104), 상기 판단하는 단계(S120)가 수행될 수 있다. 그러나, 비교하는 단계(S102)에 따른 비교 결과가 미리 설정된 상태 출력 조건에 해당하지 않으면(S104), 상기 판단하는 단계(S120) 및 상태 정보를 메모리 컨트롤러로 출력하는 단계(S130)를 수행하지 않을 수 있다.
미리 설정된 상태 출력 조건의 예를 들면 다음과 같다.
예를 들어, 상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스를 포함할 수 있다.
상기 판단하는 단계(S120)는, 상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스보다 크거나 같을 때 수행될 수 있다.
또는, 상기 판단하는 단계(S120)는, 상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스보다 작거나 같을 때 수행될 수 있다.
예를 들어, 상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스 및 제2 고유 어드레스를 포함할 수 있다.
상기 판단하는 단계(S120)는, 상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스와 상기 제2 고유 어드레스 사이에 해당하는 어드레스일 때 수행될 수 있다.
도 12는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 도면이다.
도 12를 참조하면, 메모리 컨트롤러(1200)는 내부 메모리(Internal Memory; 1210), 중앙 처리 장치(Central Processing Unit; CPU; 1220), 에러 정정 블록(Error Correction Block; 1230), 호스트 인터페이스(Host Interface; 1240), 버퍼 메모리 인터페이스(Buffer Memory Interface; 1250) 및 메모리 인터페이스(Memory Interface; 1260)를 포함할 수 있다.
내부 메모리(1210)는 메모리 컨트롤러(1200)의 동작에 필요한 다양한 정보들을 저장할 수 있다. 예를 들면, 내부 메모리(1210)는 논리적, 물리적(logical, physical) 어드레스 맵 테이블들(address map tables)을 포함할 수 있다. 내부 메모리(1210)는 RAM(random access memory), DRAM(dynamic RAM), SRAM(static RAM), 캐시(cache) 및 강하게 결합된 메모리(tightly coupled memory; TCM) 중 적어도 하나 이상으로 구성될 수 있다.
중앙 처리 장치(1220)는 메모리 장치(1100)를 제어하기 위한 각종 연산을 수행하거나, 다양한 커맨드들(commands)을 생성할 수 있다. 중앙 처리 장치(1220)는 호스트(2000)로부터 요청(request)을 수신하면, 수신된 요청에 따라 커맨드를 생성하고, 생성된 커맨드를 큐 컨트롤러(1230)로 전송할 수 있다.
에러 정정 블록(1230)은 에러 정정 코드(ECC, Error Correcting Code)를 이용하여 메모리 장치(1100)로부터 수신된 데이터의 에러를 검출하고, 정정하도록 구성된다. 중앙 처리 장치(1220)는 에러 정정 블록(1230)의 에러 검출 결과에 따라 읽기 전압을 조절하고, 재 읽기를 수행하도록 메모리 장치(1100)를 제어할 수 있다. 예시적인 실시 예로서, 에러 정정 블록은 메모리 컨트롤러(1200)의 구성 요소로서 제공될 수 있다.
호스트 인터페이스(1240)는 메모리 컨트롤러(1200)와 호스트(2000) 사이에서 커맨드, 어드레스 및 데이터 등을 주고받을 수 있다. 예를 들면, 호스트 인터페이스(1240)는 호스트(2000)로부터 요청(request), 어드레스 및 데이터 등을 수신할 수 있고, 메모리 장치(1100)로부터 리드된 데이터를 호스트(2000)로 출력할 수 있다. 호스트 인터페이스(1240)는 PCIe(Peripheral Component Interconnect Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), SAS(serial attached SCSI) 또는 NVMe(Non-Volatile Memory Express)와 같은 프로토콜을 사용하여 호스트(2000)와 통신할 수 있다. 호스트 인터페이스(1240)는 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스들을 포함할 수 있다.
버퍼 메모리 인터페이스(1250)는 중앙 처리 장치(1220)와 메모리 시스템(1000)의 버퍼 메모리(미도시) 사이에서 데이터를 전송할 수 있다. 버퍼 메모리(미도시)는 메모리 컨트롤러(1200)의 동작 메모리 또는 캐시 메모리로 사용될 수 있으며, 상술한 정보 외에도 메모리 시스템(1000) 내에서 사용되는 시스템 데이터를 저장할 수 있다. 실시예에 따라, 버퍼 메모리(미도시)는 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)을 포함할 수 있다. 버퍼 메모리가 메모리 컨트롤러(1200) 내부에 포함되는 경우에는 버퍼 메모리 인터페이스(1250)는 생략될 수 있다.
메모리 인터페이스(1260)는 메모리 컨트롤러(1200)와 메모리 장치(1100) 사이에서 커맨드, 어드레스 및 데이터 등을 주고받을 수 있다. 예를 들면, 메모리 인터페이스(1260)는 채널(channel)을 통해 메모리 장치(1100)에 커맨드, 어드레스 및 데이터 등을 전송할 수 있고, 메모리 장치(1100)로부터 데이터 등을 수신할 수 있다.
도 13은 도 1에 따른 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 13을 참조하면, 메모리 시스템(Memory System)은 호스트(2000) 및 메모리 카드(Memory Card; 70000)를 포함할 수 있다.
메모리 카드(70000)는 스마트 카드(smart card)로 구현될 수 있다. 메모리 카드(70000)는 메모리 장치(1100), 메모리 컨트롤러(1200) 및 카드 인터페이스(Card Interface; 7100)를 포함할 수 있다.
메모리 컨트롤러(1200)는 메모리 장치(1100)와 카드 인터페이스(7100) 사이에서 데이터의 교환을 제어할 수 있다. 실시 예에 따라, 카드 인터페이스(7100)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다. 또한, 카드 인터페이스(7100)는 호스트(HOST; 2000)의 프로토콜에 따라 호스트(2000)와 메모리 컨트롤러(1200) 사이에서 데이터 교환을 인터페이스 할 수 있다. 실시 예에 따라 카드 인터페이스(7100)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스(7100)는 호스트(2000)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어 또는 신호 전송 방법을 의미할 수 있다.
100: 메모리 셀 어레이 200: 주변 회로
210: 전압 생성 회로 220: 로우 디코더
230: 페이지 버퍼 그룹 240: 컬럼 디코더
250: 입출력 회로 260: 전류 감지 회로
1000: 메모리 시스템 1100: 메모리 장치
1200: 메모리 컨트롤러 1210: 내부 메모리
1220: 중앙 처리 장치 1230: 에러 정정 블록
1240: 호스트 인터페이스 1250: 버퍼 메모리 인터페이스
1260: 메모리 인터페이스 1300: 메모리 장치 그룹들
2000: 호스트

Claims (20)

  1. 메모리 컨트롤러로부터 상태 리드 커맨드를 수신하는 입출력 회로;
    메모리 컨트롤러로부터 수신되는 신호의 토글 횟수를 카운트하는 토글 카운터;
    메모리 장치의 상태 정보를 저장하고, 상기 상태 정보를 상기 입출력 회로로 출력하는 상태 레지스터; 및
    상기 상태 리드 커맨드에 대한 응답으로, 상기 토글 카운터에 의해 카운트된 상기 토글 횟수가 기준 토글 횟수와 대응하는지 여부를 판단하고, 상기 상태 레지스터를 제어하여 상기 상태 정보를 상기 입출력 회로를 통해 상기 메모리 컨트롤러로 전송하는 상태 출력 제어기를 포함하는, 메모리 장치.
  2. 청구항 1에서,
    상기 상태 정보는,
    쓰기 보호가 활성화되었는지 여부, 레디-비지 여부, 상기 상태 리드 커맨드를 수신하기 전에 수신된 커맨드에 따른 동작의 실패 여부 중 적어도 하나를 포함하는, 메모리 장치.
  3. 청구항 1에서,
    상기 신호는,
    상기 메모리 컨트롤러가 상기 메모리 장치에 대하여 데이터를 전송하도록 지시하는 리드 인에이블 신호인, 메모리 장치.
  4. 청구항 1에서,
    상기 상태 출력 제어기는,
    상기 카운트된 상기 토글 횟수가 상기 기준 토글 횟수와 동일할 때, 상기 상태 레지스터를 제어하여 상기 상태 정보를 상기 메모리 컨트롤러로 전송하는, 메모리 장치.
  5. 청구항 1에서,
    메모리 장치마다 개별적으로 할당되는 고유 어드레스를 저장하는 설정 레지스터를 더 포함하는, 메모리 장치.
  6. 청구항 5에서,
    상기 기준 토글 횟수는,
    상기 고유 어드레스에 기초하여 결정되는, 메모리 장치.
  7. 청구항 5에서,
    상기 상태 출력 제어기는,
    상기 고유 어드레스를 상기 상태 정보와 함께 상기 메모리 컨트롤러로 전송하는, 메모리 장치.
  8. 청구항 5에서,
    상기 입출력 회로는,
    상기 상태 리드 커맨드를 적어도 하나의 고유 어드레스와 함께 수신하는, 메모리 장치.
  9. 청구항 8에서,
    상기 상태 출력 제어기는,
    상기 설정 레지스터에 저장된 상기 고유 어드레스와 상기 적어도 하나의 고유 어드레스를 비교하고, 비교 결과에 따라 상기 토글 횟수가 상기 기준 토글 횟수와 대응하는지 여부를 판단하는, 메모리 장치.
  10. 청구항 9에서,
    상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스를 포함하고,
    상기 상태 출력 제어기는,
    상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스보다 크거나 같을 때, 상기 토글 횟수가 상기 기준 토글 횟수와 대응하는지 여부를 판단하는, 메모리 장치.
  11. 청구항 9에서,
    상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스를 포함하고,
    상기 상태 출력 제어기는,
    상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스보다 작거나 같을 때, 상기 토글 횟수가 상기 기준 토글 횟수와 대응하는지 여부를 판단하는, 메모리 장치.
  12. 청구항 11에서,
    상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스 및 제2 고유 어드레스를 포함하고,
    상기 상태 출력 제어기는,
    상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스와 상기 제2 고유 어드레스 사이에 해당하는 어드레스일 때, 상기 토글 횟수가 상기 기준 토글 횟수와 대응하는지 여부를 판단하는, 메모리 장치.
  13. 메모리 컨트롤러로부터 상태 리드 커맨드를 수신하는 단계;
    상기 상태 리드 커맨드에 대한 응답으로, 상기 메모리 컨트롤러로부터 수신되는 신호의 토글 횟수를 카운트하는 단계;
    카운트된 상기 토글 횟수가 미리 설정된 기준 토글 횟수와 대응하는지 여부를 판단하는 단계; 및
    상기 판단에 대한 응답으로, 상태 레지스터에 저장된 메모리 장치의 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계를 포함하는, 메모리 장치의 동작 방법.
  14. 청구항 13에서,
    상기 신호는,
    상기 메모리 장치가 상기 메모리 컨트롤러로 데이터를 전송하도록 지시하는 리드 인에이블 신호인, 메모리 장치의 동작 방법.
  15. 청구항 13에서,
    상기 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계는,
    상기 카운트된 상기 토글 횟수가 상기 기준 토글 횟수와 동일할 때, 상기 상태 레지스터를 제어하여 상기 상태 정보를 상기 메모리 컨트롤러로 출력하는, 메모리 장치의 동작 방법.
  16. 청구항 13에서,
    상기 상태 정보를 상기 메모리 컨트롤러로 출력하는 단계는,
    메모리 장치마다 개별적으로 할당되는 고유 어드레스를 상기 상태 정보와 함께 상기 메모리 컨트롤러로 출력하는, 메모리 장치의 동작 방법.
  17. 청구항 13에서,
    상기 상태 리드 커맨드를 수신하는 단계는,
    상기 상태 리드 커맨드를 적어도 하나의 고유 어드레스와 함께 수신하는, 메모리 장치의 동작 방법.
  18. 청구항 17에서,
    상기 상태 리드 커맨드를 수신하는 단계 이후에,
    설정 레지스터에 저장된 고유 어드레스를 상기 적어도 하나의 고유 어드레스와 비교하는 단계를 더 포함하는, 메모리 장치의 동작 방법.
  19. 청구항 18에서,
    상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스를 포함하고,
    상기 판단하는 단계는,
    상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스보다 크거나 같을 때 수행되는, 메모리 장치의 동작 방법.
  20. 청구항 18에서,
    상기 적어도 하나의 고유 어드레스는, 제1 고유 어드레스 및 제2 고유 어드레스를 포함하고,
    상기 판단하는 단계는,
    상기 설정 레지스터에 저장된 상기 고유 어드레스가 상기 제1 고유 어드레스와 상기 제2 고유 어드레스 사이에 해당하는 어드레스일 때 수행되는, 메모리 장치의 동작 방법.
KR1020200072471A 2020-06-15 2020-06-15 메모리 장치 및 그 동작 방법 KR20210155228A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200072471A KR20210155228A (ko) 2020-06-15 2020-06-15 메모리 장치 및 그 동작 방법
US16/952,710 US11416426B2 (en) 2020-06-15 2020-11-19 Memory device and method of operating the same
CN202110191207.1A CN113808649A (zh) 2020-06-15 2021-02-20 存储器装置及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200072471A KR20210155228A (ko) 2020-06-15 2020-06-15 메모리 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20210155228A true KR20210155228A (ko) 2021-12-22

Family

ID=78825461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072471A KR20210155228A (ko) 2020-06-15 2020-06-15 메모리 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US11416426B2 (ko)
KR (1) KR20210155228A (ko)
CN (1) CN113808649A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021103872A1 (de) * 2020-07-13 2022-01-13 Samsung Electronics Co., Ltd. Nichtflüchtige speichervorrichtung, die eine hocheffiziente e/a-schnittstelle unterstützt
KR20220008428A (ko) * 2020-07-13 2022-01-21 삼성전자주식회사 고효율 입출력 인터페이스를 지원하는 불휘발성 메모리 장치
US11977776B2 (en) 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
US11977752B2 (en) 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device
US11861212B2 (en) 2022-02-24 2024-01-02 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence
US11935595B2 (en) 2022-02-24 2024-03-19 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence
US11972146B2 (en) 2022-02-24 2024-04-30 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
CN116679887B (zh) * 2023-07-24 2023-10-24 合肥奎芯集成电路设计有限公司 用于NAND Flash的通用控制模块及方法
CN116881090B (zh) * 2023-09-06 2024-01-26 北京壁仞科技开发有限公司 计算装置以及控制计算装置中的计算核的能耗的方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1048525A (en) * 1965-07-16 1966-11-16 Ibm Data processing system
US5365485A (en) * 1993-11-22 1994-11-15 Texas Instruments Incorporated Fifo with fast retransmit mode
US6098139A (en) * 1998-05-27 2000-08-01 3Com Corporation Frequency independent asynchronous clock crossing FIFO
DE102006010316A1 (de) * 2006-03-07 2007-09-13 Karl Storz Gmbh & Co. Kg Kupplungsmechanismus
US20080212983A1 (en) * 2007-02-06 2008-09-04 Sang Gyu Park Image forming apparatus and control method thereof
US8135975B2 (en) * 2007-03-09 2012-03-13 Analog Devices, Inc. Software programmable timing architecture
US8495438B2 (en) * 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement
JP2010086415A (ja) * 2008-10-01 2010-04-15 Panasonic Corp メモリインターフェース
KR101098431B1 (ko) 2009-12-31 2011-12-26 주식회사 하이닉스반도체 반도체 메모리 장치의 동작 방법
KR101780422B1 (ko) * 2010-11-15 2017-09-22 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US8607104B2 (en) * 2010-12-20 2013-12-10 Advanced Micro Devices, Inc. Memory diagnostics system and method with hardware-based read/write patterns
US8996782B2 (en) * 2012-03-23 2015-03-31 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
KR102165736B1 (ko) * 2013-12-18 2020-10-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작방법
US9368172B2 (en) * 2014-02-03 2016-06-14 Rambus Inc. Read strobe gating mechanism
KR20160030717A (ko) * 2014-09-11 2016-03-21 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10599794B2 (en) * 2014-10-06 2020-03-24 Synopsys, Inc. Efficient power analysis
KR20160045461A (ko) * 2014-10-17 2016-04-27 에스케이하이닉스 주식회사 반도체 장치 및 그의 구동방법
US10114690B2 (en) * 2015-02-13 2018-10-30 Sandisk Technologies Llc Multi-die status mode for non-volatile storage
JP6547825B2 (ja) * 2015-03-27 2019-07-24 株式会社大真空 圧電振動デバイス
KR102319392B1 (ko) * 2015-06-09 2021-11-01 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR102390917B1 (ko) * 2015-10-16 2022-04-27 삼성전자주식회사 리드 인터페이스 장치의 클린 데이터 스트로브 신호 생성회로
KR20180025357A (ko) * 2016-08-29 2018-03-09 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20190018326A (ko) * 2017-08-14 2019-02-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR20190029316A (ko) * 2017-09-12 2019-03-20 에스케이하이닉스 주식회사 마이크로 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작방법
KR20190061957A (ko) * 2017-11-28 2019-06-05 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 시스템
KR20190066844A (ko) 2017-12-06 2019-06-14 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치
KR102568896B1 (ko) * 2018-04-19 2023-08-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR102508312B1 (ko) * 2018-04-23 2023-03-10 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 이의 동작 방법
US10922017B2 (en) * 2018-08-07 2021-02-16 Micron Technology, Inc. Memories for reading data corresponding to multiple addresses associated with a read command
KR20200059774A (ko) * 2018-11-21 2020-05-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
US20210390065A1 (en) 2021-12-16
US11416426B2 (en) 2022-08-16
CN113808649A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
US11416426B2 (en) Memory device and method of operating the same
US10089257B2 (en) Semiconductor storage device and control method thereof
US11861223B2 (en) Memory controller and storage device for scheduling addresses
KR20200022641A (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US11487474B2 (en) Memory system and method of operating a memory device included in the same
US11474939B2 (en) Memory device for improving speed of cache read operation and method of operating the same
US11961561B2 (en) Memory device and method of operating the same
CN114518843A (zh) 存储控制器和包括存储控制器的存储设备
US11461238B2 (en) Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes
KR20190023196A (ko) 데이터 저장 장치
US11586379B2 (en) Memory system and method of operating the same
US9728234B1 (en) Operating method of semiconductor memory device
US11538518B2 (en) Memory device to suspend ROM operation and a method of operating the memory device
KR102559537B1 (ko) 메모리 컨트롤러, 이를 포함하는 데이터 저장 장치 및 스토리지 시스템
KR20220045342A (ko) 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법
KR20210133790A (ko) 메모리 컨트롤러 및 그 동작 방법
CN111143255A (zh) 存储装置及其操作方法
US11782644B2 (en) Memory system and method of operating the same
US11755247B2 (en) Storage device and operating method thereof
US12051470B2 (en) Memory controller and operating method thereof
KR20220113164A (ko) 저장 장치 및 그 동작 방법
KR20230138805A (ko) 저장 장치 및 이의 동작 방법
CN114089910A (zh) 储存装置及储存装置的操作方法
KR20210083081A (ko) 메모리 컨트롤러 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination