KR20180083082A - 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈 - Google Patents

정정 및 방어가 가능한 메모리 장치 및 메모리 모듈 Download PDF

Info

Publication number
KR20180083082A
KR20180083082A KR1020170004964A KR20170004964A KR20180083082A KR 20180083082 A KR20180083082 A KR 20180083082A KR 1020170004964 A KR1020170004964 A KR 1020170004964A KR 20170004964 A KR20170004964 A KR 20170004964A KR 20180083082 A KR20180083082 A KR 20180083082A
Authority
KR
South Korea
Prior art keywords
memory
bank
request
correction
logic circuit
Prior art date
Application number
KR1020170004964A
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 KR1020170004964A priority Critical patent/KR20180083082A/ko
Priority to US15/648,624 priority patent/US20180196616A1/en
Priority to CN201710829380.3A priority patent/CN108304279A/zh
Priority to TW106140549A priority patent/TW201841116A/zh
Publication of KR20180083082A publication Critical patent/KR20180083082A/ko

Links

Images

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Abstract

메모리 장치는 복수의 메모리 뱅크, 적어도 하나의 스패어 뱅크, 정정 및 방어 로직 회로 및 뱅크 게이팅 회로를 포함할 수 있다. 상기 정정 및 방어 로직 회로는 호스트 정정 요청 및 메모리 방어 요청에 기초하여 뱅크 스와핑 동작 및 뱅크 인터리빙 동작을 수행하도록 게이팅 제어신호를 생성할 수 있다. 상기 뱅크 게이팅 회로는 게이팅 제어신호에 기초하여 상기 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크와 연결될 수 있다.

Description

정정 및 방어가 가능한 메모리 장치 및 메모리 모듈 {MEMORY APPARATUS AND MEMORY MODULE CAPABLE OF CORRECTING AND DEFENDING}
본 발명은 반도체 기술에 관한 것으로, 더 상세하게는 메모리 장치 및 메모리 모듈에 관한 것이다.
전자장치는 많은 전자 구성요소를 포함하고 있고, 그 중 컴퓨터 시스템 반도체로 구성된 많은 전자 구성요소들을 포함할 수 있다. 컴퓨터 시스템을 구성하는 반도체 장치 중 프로세서 또는 메모리 컨트롤러와 같은 호스트는 메모리 장치와 데이터 통신을 수행할 수 있다. 호스트와 메모리 장치가 통신을 하면서, 예기치 못한 이유로 상기 메모리 장치에는 오류가 발생할 수 있다. 상기 호스트는 소프트웨어 또는 하드웨어적 접근을 통해 상기 오류를 정정할 수 있다. 이때, 상기 시스템은 수행되던 모든 노멀 동작을 중지시키고, BIOS를 변경하여 오류를 정정한 다음 재부팅의 단계를 수행해야 한다.
본 발명의 실시예는 호스트 정정 요청 및 메모리 방어 요청에 기초하여 메모리 뱅크에 발생된 에러 또는 오류를 스스로 정정하고 방어할 수 있도록 메모리 뱅크 게이팅 동작을 수행할 수 있는 메모리 장치 및 메모리 모듈을 제공할 수 있다.
본 발명의 실시예에 따른 메모리 장치는 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크; 호스트 정정 요청 및 메모리 방어 요청 중 어느 하나에 기초하여 백업 커맨드 신호 및 게이팅 제어신호를 생성하는 정정 및 방어 로직 회로; 및 상기 게이팅 제어신호에 기초하여 상기 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크와 연결되는 뱅크 게이팅 회로를 포함할 수 있다.
본 발명의 실시예에 따른 메모리 모듈은 복수의 메모리 장치; 및 호스트 정정 요청 및 메모리 방어 요청 중 어느 하나에 기초하여 게이팅 제어신호 및 백업 커맨드 신호를 생성하는 정정 및 방어 로직 회로를 포함하고, 상기 복수의 메모리 장치는 각각, 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크; 및 상기 게이팅 제어신호에 기초하여 상기 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크와 연결되는 뱅크 게이팅 회로를 포함할 수 있다.
본 발명의 실시예는 메모리 장치 및 메모리 모듈 스스로 에러 또는 오류를 정정 및 방어하여 시스템의 효율성을 증가시킬 수 있다.
도 1은 본 발명의 실시예에 따른 메모리 장치를 포함하는 메모리 시스템의 구성을 보여주는 도면,
도 2는 본 발명의 실시예에 따른 메모리 모듈을 포함하는 메모리 시스템의 구성을 보여주는 도면,
도 3은 본 발명의 실시예에 따른 시스템의 구성을 보여주는 도면,
도 4는 본 발명의 실시예에 따른 시스템의 구성을 보여주는 도면이다.
도 1은 본 발명의 실시예에 따른 메모리 시스템(1)의 구성을 보여주는 도면이다. 도 1에서, 상기 메모리 시스템(1)은 호스트(110) 및 메모리 장치(120)를 포함할 수 있다. 상기 호스트(110)는 상기 메모리 장치로 다양한 제어신호를 제공하여 상기 메모리 장치(120)의 동작을 제어할 수 있다. 예를 들어, 상기 호스트(110)는 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 상기 메모리 장치(120)로 제공하여 상기 메모리 장치(120)가 데이터의 저장 및 출력 동작을 수행하도록 제어할 수 있다. 상기 호스트(110)로부터 데이터(DQ)가 전송되어 상기 메모리 장치(120)에 상기 데이터(DQ)가 저장되는 동작은 라이트 동작일 수 있고, 상기 메모리 장치(120)에 저장된 데이터를 상기 호스트(110)로 출력하는 동작은 리드 동작일 수 있다. 상기 호스트(110)는 복수의 버스(130)를 통해 상기 메모리 장치로 상기 커맨드 신호(CMD), 어드레스 신호(ADD) 및 상기 데이터(DQ)를 전송할 수 있다. 상기 호스트(110)는 인터페이스 회로(PHY, 111)를 포함할 수 있다. 상기 인터페이스 회로(111)는 상기 메모리 장치(120)로 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 전송하거나, 상기 메모리 장치(120)로부터 전송된 데이터(DQ)를 수신할 수 있다. 상기 호스트(110)는 중앙처리장치(CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU), 멀티미디어 프로세서(Multi-Media Processor, MMP), 디지털 신호 프로세서(Digital Signal Processor) 및 메모리 컨트롤러를 포함할 수 있다. 또한 어플리케이션 프로세서(AP)와 같이 다양한 기능을 가진 프로세서 칩들을 조합하여 시스템 온 칩(System On Chip)의 형태로 구현될 수 있다.
상기 메모리 장치(120)는 상기 호스트(110)로부터 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 수신하여 다양한 동작을 수행할 수 있다. 상기 메모리 장치(120)는 휘발성 메모리와 비휘발성 메모리를 포함할 수 있다. 상기 휘발성 메모리는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM)을 포함할 수 있고, 상기 비휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EEPROM (Electrically Erase and Programmable ROM), EPROM (Electrically Programmable ROM), 플래시 메모리, PRAM (Phase change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM) 및 FRAM (Ferroelectric RAM) 등을 포함할 수 있다. 상기 메모리 장치(120)는 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn)를 포함할 수 있다. 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn)는 각각 복수의 메모리 셀을 포함하여 데이터를 저장할 수 있다. 상기 메모리 장치(120)는 적어도 하나의 스패어 뱅크(SB)를 포함할 수 있다. 상기 스패어 뱅크(SB)는 상기 메모리 뱅크(BA1, BA2, BA3, ..., BAn)와 실질적으로 동일한 구조를 가질 수 있다.
상기 메모리 장치(120)는 호스트 정정 요청 및 메모리 방어 요청 중 어느 하나에 기초하여 뱅크 게이팅 동작을 수행할 수 있다. 상기 메모리 장치(120)는 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn) 중 상기 호스트 정정 요청 또는 상기 메모리 방어 요청의 대상이 되는 어느 하나의 메모리 뱅크를 상기 스패어 뱅크(SB)와 스와핑하거나 인터리빙할 수 있다. 상기 호스트 정정 요청은 호스트(110)로부터 감지된 에러 정보를 포함할 수 있다. 상기 메모리 방어 요청은 상기 메모리 장치(120) 자체에서 감지된 방어 정보를 포함할 수 있다.
상기 메모리 장치(120)는 정정 및 방어 로직 회로(121) 및 뱅크 게이팅 회로(122)를 포함할 수 있다. 상기 정정 및 방어 로직 회로는 호스트 정정 요청 및 메모리 방어 요청 중 어느 하나에 기초하여 게이팅 제어신호(GC<1:n>) 및 백업 커맨드 신호(BCMD)를 생성할 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 호스트(110)로부터 상기 호스트 정정 요청을 수신할 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 호스트 정정 요청에 기초하여 상기 뱅크 게이팅 회로(122)를 제어하기 위한 게이팅 제어신호(GC<1:n>)를 생성할 수 있다. 상기 호스트 정정 요청은 커맨드 신호(CMD)로서 상기 호스트(110)로부터 상기 메모리 장치(120)의 상기 정정 및 방어 로직 회로(121)로 전송될 수 있다. 상기 호스트 정정 요청은 상기 호스트(110)와 상기 메모리 장치(120)가 데이터 통신을 수행하면서 누적된 에러 또는 오류 정보를 포함할 수 있다. 예를 들어, 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn) 중 어느 하나의 메모리 뱅크에 임계 값 이상의 에러 또는 오류가 발생하였을 때 상기 호스트(110)는 상기 호스트 정정 요청을 생성할 수 있다. 즉, 어느 하나의 메모리 뱅크에 리던던시나 ECC로 정정할 수 없는 에러 또는 오류가 존재할 때 상기 호스트 정정 요청이 생성될 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 호스트 정정 요청에 기초하여 상기 호스트 정정 요청의 대상이 되는 메모리 뱅크가 스패어 뱅크(SB)로 스와핑될 수 있도록 상기 게이팅 제어신호(GC<1:n>)를 생성할 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 에러 또는 오류가 발생된 메모리 뱅크에 저장된 데이터를 스패어 뱅크(SB)로 복제하기 위한 백업 커맨드 신호(BCMD)를 생성하고, 상기 백업 커맨드 신호(BCMD)를 상기 뱅크 게이팅 회로(122)로 제공할 수 있다. 상기 백업 커맨드 신호는 백업 리드 신호 및 백업 라이트 신호를 포함할 수 있다.
상기 정정 및 방어 로직 회로(121)는 상기 메모리 방어 요청을 생성할 수 있다. 예를 들어, 상기 정정 및 방어 로직 회로(121)는 어드레스 신호(ADD)를 모니터링하고, 상기 어드레스 신호(ADD)에 기초하여 상기 메모리 방어 요청을 생성할 수 있다. 일 실시예로, 상기 정정 및 방어 로직 회로(121)는 로우 해머링 현상을 방어하기 위해 상기 메모리 방어 요청을 생성할 수 있다. 상기 정정 및 방어 로직 회로(121)는 특정 어드레스 신호가 임계 값 이상의 횟수로 연속적으로 입력되었는지 여부를 판단하고, 특정 어드레스 신호가 임계 값 이상의 횟수로 연속적으로 입력되었을 때 상기 메모리 방어 요청을 생성할 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 메모리 방어 요청에 기초하여 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크와 상기 스패어 뱅크(SB)를 미러링하거나 상기 스패어 뱅크(SB)와 인터리빙되도록 상기 게이팅 제어신호(GC<1:n>)를 생성할 수 있다. 또한, 상기 정정 및 방어 로직 회로(121)는 상기 메모리 방어 요청에 기초하여 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 저장된 데이터를 상기 스패어 뱅크(SB)로 복제하기 위해 상기 백업 커맨드 신호(BCMD)를 생성할 수 있다.
상기 뱅크 게이팅 회로(122)는 상기 호스트(110)로부터 전송되는 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 수신하고, 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn) 및 상기 스패어 뱅크(SB)와 연결될 수 있다. 상기 뱅크 게이팅 회로(122)는 상기 게이팅 제어신호(GC<1:n>)에 기초하여 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn) 및 상기 스패어 뱅크(SB)와 연결될 수 있다. 상기 뱅크 게이팅 회로(122)는 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn)각각과 상기 스패어 뱅크(SB)를 연결할 수 있는 복수의 멀티플렉서를 포함할 수 있다. 상기 뱅크 게이팅 회로(122)는 상기 게이팅 제어신호(GC<1:n>)에 기초하여 상기 복수의 메모리 뱅크(BA1, BA2, BA3, ..., BAn) 및 상기 스패어 뱅크(SB)로 상기 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 제공할 수 있다.
본 발명의 실시예에 따른 메모리 장치(120) 및 메모리 시스템(1)의 동작을 설명하면 다음과 같다. 먼저, 상기 호스트(110) 및 상기 메모리 장치(120)가 데이터 통신을 수행하면서, 상기 호스트(110)는 상기 메모리 장치(120)의 특정 메모리 뱅크의 에러 또는 오류가 임계 값 이상으로 누적되면, 상기 호스트 정정 요청을 생성하고, 상기 호스트 정정 요청을 상기 메모리 장치(120)로 전송할 수 있다. 상기 호스트 정정 요청은 메모리 장치(120)의 다른 동작을 방해하지 않기 위해, 상기 메모리 장치(120)가 중요한 동작을 수행하지 않을 때 상기 메모리 장치(120)로 전송될 수 있다. 예를 들어, 상기 호스트(110)는 상기 메모리 장치(120)가 리프레쉬 동작을 수행할 때 상기 호스트 정정 요청을 상기 메모리 장치(120)로 전송할 수 있다. 상기 메모리 장치(120)는 에러 또는 오류가 발생된 메모리 뱅크에 관한 정보를 포함하는 상기 호스트 정정 요청을 수신할 수 있다. 예를 들어, 제 1 메모리 뱅크(BA1)에 대해 상기 호스트 정정 요청이 있었다고 가정하자. 상기 정정 및 방어 로직 회로(121)는 상기 제 1 메모리 뱅크(BA1)에 저장된 데이터를 상기 스패어 뱅크(SB)로 이전 및 저장시킬 수 있다. 즉, 상기 제 1 메모리 뱅크(120)에 저장된 데이터는 상기 스패어 뱅크(SB)로 복제될 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 백업 리드 신호와 게이팅 제어신호(GC<1:n>)를 생성하고, 상기 뱅크 게이팅 회로(122)는 상기 백업 리드 신호를 상기 제 1 메모리 뱅크(BA1)로 제공하여, 상기 제 1 메모리 뱅크(BA1)에 저장된 데이터를 출력시킬 수 있다. 또한, 상기 정정 및 방어 로직 회로(121)는 상기 백업 라이트 신호와 게이팅 제어신호(GC<1:n>)를 생성하고, 상기 뱅크 게이팅 회로(122)는 상기 백업 라이트 신호를 상기 스패어 뱅크(SB)로 제공하여 상기 제 1 메모리 뱅크(BA1)로부터 출력된 데이터를 상기 스패어 뱅크(SB)에 저장시킬 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 제 1 메모리 뱅크(BA1)로부터 상기 스패어 뱅크(SB)로 데이터의 복제가 완료되면, 상기 호스트(110)로 완료 신호를 전송할 수 있다. 또한, 상기 게이팅 제어신호(GC<1:n>)를 생성하여 상기 뱅크 게이팅 회로(122)가 상기 제 1 메모리 뱅크(BA1) 대신에 상기 스패어 뱅크(SB)와 연결되도록 한다. 상기 완료 신호는 예를 들어, 상기 버스(130)를 통해 데이터(DQ)로서 상기 호스트(110)로 전송될 수 있다. 상기 호스트(110)는 상기 완료 신호에 기초하여 메모리 뱅크의 스와핑 동작이 완료되었음을 감지하고, 제 1 메모리 뱅크(BA1)에 대한 노멀 동작을 수행하기 위한 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 상기 메모리 장치(120)로 전송할 수 있다. 상기 메모리 장치(120)에서, 상기 뱅크 게이팅 회로(122)는 상기 제 1 메모리 뱅크(BA1) 대신에 상기 스패어 뱅크(SB)와 연결되므로, 상기 스패어 뱅크(SB)로 상기 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 제공할 수 있다. 상기 스패어 뱅크(SB)는 상기 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)에 기초하여 데이터의 라이트 및 리드 동작을 수행할 수 있다.
상기 메모리 장치(120)의 동작 중에, 상기 정정 및 방어 로직 회로(121)는 어드레스 신호(ADD)에 기초하여 로우 해머링 상황이 발생하는지 여부를 모니터링할 수 있다. 상기 정정 및 방어 로직 회로(121)는 특정 어드레스 신호가 임계 값 이상의 횟수만큼 연속으로 입력되면, 로우 해머링 상황이 발생되었다고 판단하여 상기 메모리 방어 요청을 생성할 수 있다. 이하에서, 로우 해머링 상황이 발생된 상기 특정 어드레스 신호는 로우 해머링 어드레스 신호라고 지칭될 수 있다. 상기 메모리 방어 요청은 상기 로우 해머링 상황이 발생된 메모리 뱅크와 로우 해머링 어드레스 신호에 관한 정보를 포함할 수 있다. 예를 들어, 상기 제 2 메모리 뱅크(BA2)에 로우 해머링 상황이 발생하였다고 가정하자. 상기 정정 및 방어 로직 회로(121)는 상기 제 2 메모리 뱅크(BA2)에 저장된 데이터를 상기 스패어 뱅크(SB)로 복제할 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 백업 커맨드 신호(BCMD)와 상기 게이팅 제어신호(GC<1:n>)를 생성하여, 상기 제 2 메모리 뱅크(BA2)에 저장된 데이터를 상기 스패어 뱅크(SB)로 이전 및 저장시킬 수 있다. 로우 해머링 상황이 발생된 이후, 상기 로우 해머링 어드레스 신호가 입력되는 경우, 상기 정정 및 방어 로직 회로(121)는 상기 로우 해머링 어드레스 신호와 함께 수신된 커맨드 신호(CMD)가 라이트 신호인지 또는 리드 신호인지 여부를 판단할 수 있다. 상기 커맨드 신호(CMD)가 라이트 신호일 때, 상기 정정 및 방어 로직 회로(121)는 상기 뱅크 게이팅 회로(122)가 상기 제 2 메모리 뱅크(BA2)와 상기 스패어 뱅크(SB) 모두와 연결되도록 상기 게이팅 제어신호(GC<1:n>)를 생성될 수 있다. 따라서, 상기 제 2 메모리 뱅크(BA2) 및 상기 스패어 뱅크(SB)는 상기 호스트(110)로부터 전송된 데이터(DQ)를 함께 저장할 수 있다. 즉, 상기 스패어 뱅크(SB)는 상기 제 2 메모리 뱅크(BA2)를 미러링할 수 있다. 상기 커맨드 신호(CMD2)가 리드 신호일 때, 상기 정정 및 방어 로직 회로(121)는 상기 뱅크 게이팅 회로(122)가 상기 제 2 메모리 뱅크(BA2)와 상기 스패어 뱅크(SB)를 인터리빙하도록 상기 게이팅 제어신호(GC<1:n>)를 생성할 수 있다. 즉, 상기 복수의 리드 동작이 수행될 때, 상기 정정 및 방어 로직 회로(121)는 상기 제 2 메모리 뱅크(BA2)와 상기 스패어 뱅크(SB)가 교대로 리드 동작을 수행할 수 있도록 상기 게이팅 제어신호(GC<1:n>)를 생성할 수 있다. 예를 들어, 상기 정정 및 방어 로직 회로(121)는 첫 번째 리드 신호가 입력되면 상기 뱅크 게이팅 회로(122)가 상기 제 2 메모리 뱅크(BA2)와 연결되도록 제어하고, 두 번째 리드 신호가 입력되면 상기 뱅크 게이팅 회로(122)가 상기 스패어 메모리 뱅크(SB)와 연결되도록 제어하며, 세 번째 리드 신호가 입력되면 상기 뱅크 게이팅 회로(122)가 다시 상기 제 2 메모리 뱅크(BA2)와 연결되도록 제어할 수 있다. 위와 같이, 상기 정정 및 방어 로직 회로(121)는 메모리 방어 요청을 생성했을 때, 라이트 동작은 상기 메모리 뱅크(BA1, BA2, BA3, ..., BAn)와 상기 스패어 뱅크(SB) 모두에서 수행되도록 하고, 리드 동작은 상기 메모리 뱅크(BA1, BA2, BA3, ..., BAn)와 상기 스패어 뱅크(SB)에서 교대로 수행되도록 함으로써, 상기 로우 해머링 상황으로 인해 메모리 장치(120)에 저장된 데이터가 손실되는 것을 방지할 수 있다.
도 2는 본 발명의 실시예에 따른 메모리 시스템(2)의 구성을 보여주는 도면이다. 상기 메모리 시스템(2)은 호스트(210) 및 메모리 모듈(220)을 포함할 수 있다. 상기 호스트(210)는 다양한 제어신호를 상기 메모리 모듈(220)로 전송하고, 상기 메모리 모듈(220)과 데이터 통신을 수행할 수 있다. 상기 호스트(210)는 상기 메모리 모듈(220)로 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 전송할 수 있고, 상기 메모리 모듈(220)로부터 출력되는 데이터(DQ)를 수신할 수 있는 인터페이스 회로(PHY, 211)를 포함할 수 있다. 상기 인터페이스 회로(211)는 복수의 버스(231)를 통해 상기 호스트(210)로부터 상기 메모리 모듈(220)로 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 전송하고, 상기 메모리 모듈(220)로부터 전송된 데이터(DQ)를 수신할 수 있다.
상기 메모리 모듈(220)은 복수의 메모리 장치(241, 242)와 정정 및 방어 로직 회로(221)를 포함할 수 있다. 상기 복수의 메모리 장치(241, 242)는 각각 복수의 메모리 뱅크(BA1, BA2, ..., BAn) 및 적어도 하나의 스패어 뱅크(SB)를 포함하고, 뱅크 게이팅 회로(222)를 포함할 수 있다. 도 2에서, 상기 제 1 메모리 장치(241)의 구성만을 도시하였으나, 상기 제 2 메모리 장치(242)는 상기 제 1 메모리 장치(241)와 실질적으로 동일한 구성을 가질 수 있다. 상기 정정 및 방어 로직 회로(221)는 호스트 정정 요청 및 메모리 방어 요청에 기초하여 게이팅 제어신호(GC<1:n>) 및 백업 커맨드 신호(BCMD)를 생성할 수 있다. 상기 뱅크 게이팅 회로(222)는 상기 게이팅 제어신호(GC<1:n>)에 기초하여 상기 복수의 메모리 뱅크(BA1, BA2, ..., BAn) 및 스패어 뱅크(SB)와 연결될 수 있다.
상기 정정 및 방어 로직 회로(221)는 도 1에 도시된 상기 정정 및 방어 로직 회로(121)와 실질적으로 동일한 기능을 수행할 수 있다. 상기 정정 및 방어 로직 회로(121)는 상기 호스트(210)로부터 상기 호스트 정정 요청을 수신할 수 있다. 상기 호스트(210)는 시스템 관리 회로(SMBus, 212)를 포함할 수 있다. 상기 시스템 관리 회로(212)는 시스템 관리 버스(232)를 통해 상기 호스트 정정 요청을 상기 시스템 관리 버스 프로토콜로서 상기 메모리 모듈(220)로 전송할 수 있다. 상기 정정 및 방어 로직 회로(221)는 상기 호스트로부터 전송된 어드레스 신호(ADD)를 모니터링하고, 상기 어드레스 신호(ADD)에 기초하여 상기 메모리 방어 요청을 생성할 수 있다.
본 발명의 실시예에 따른 메모리 모듈(220) 및 메모리 시스템(2)의 동작을 설명하면 다음과 같다. 먼저, 상기 호스트(210) 및 상기 메모리 모듈(220)이 데이터 통신을 수행하면서, 상기 호스트(210)는 상기 메모리 모듈(220)의 특정 메모리 장치의 특정 메모리 뱅크의 에러 또는 오류가 임계 값 이상으로 누적되면, 상기 호스트 정정 요청을 생성하고, 상기 호스트 정정 요청을 상기 메모리 모듈(220)로 전송할 수 있다. 상기 메모리 모듈(220)은 에러 또는 오류가 발생된 메모리 장치의 메모리 뱅크에 관한 정보를 포함하는 상기 호스트 정정 요청을 수신할 수 있다. 예를 들어, 상기 제 1 메모리 장치(241)의 제 1 메모리 뱅크(BA1)에 대해 상기 호스트 정정 요청이 있었다고 가정하자. 상기 정정 및 방어 로직 회로(221)는 상기 백업 커맨드 신호(BCMD) 및 게이팅 제어신호(GC<1:n>)를 생성하여 상기 제 1 메모리 뱅크(BA1)에 저장된 데이터를 상기 스패어 뱅크(SB)로 이전 및 저장시킬 수 있다. 상기 정정 및 방어 로직 회로(221)는 상기 제 1 메모리 뱅크(BA1)로부터 상기 스패어 뱅크(SB)로 데이터의 복제가 완료되면, 상기 호스트(210)로 완료 신호를 전송할 수 있다. 상기 완료 신호는 시스템 관리 버스(232)를 통해 상기 정정 및 방어 로직 회로(221)로부터 상기 시스템 관리 회로(212)로 전송될 수 있다. 또한, 상기 게이팅 제어신호(GC<1:n>)를 생성하여 상기 뱅크 게이팅 회로(222)가 상기 제 1 메모리 뱅크 대신(BA1)에 상기 스패어 뱅크(SB)와 연결되도록 한다. 상기 호스트(210)는 상기 완료 신호에 기초하여 메모리 뱅크의 스와핑 동작이 완료되었음을 감지하고, 제 1 메모리 뱅크(BA1)에 대한 노멀 동작을 수행하기 위한 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 상기 메모리 모듈(220)로 전송할 수 있다. 상기 메모리 장치(241)에서, 상기 뱅크 게이팅 회로(222)는 상기 제 1 메모리 뱅크(BA1) 대신에 상기 스패어 뱅크(SB)와 연결되므로, 상기 스패어 뱅크(SB)로 상기 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)를 제공할 수 있다. 상기 스패어 뱅크(SB)는 상기 커맨드 신호(CMD), 어드레스 신호(ADD) 및 데이터(DQ)에 기초하여 데이터의 라이트 및 리드 동작을 수행할 수 있다.
상기 메모리 모듈(220)의 동작 중에, 상기 정정 및 방어 로직 회로(221)는 어드레스 신호(ADD)에 기초하여 로우 해머링 상황이 발생하는지 여부를 모니터링할 수 있다. 예를 들어, 상기 제 1 메모리 장치(241)의 제 2 메모리 뱅크(BA2)에 로우 해머링 상황이 발생하였다고 가정하자. 상기 정정 및 방어 로직 회로(221)는 상기 백업 커맨드 신호(BCMD)와 상기 게이팅 제어신호(GC<1:n>)를 생성하여, 상기 제 2 메모리 뱅크(BA2)에 저장된 데이터를 상기 스패어 뱅크(SB)로 이전 및 저장시킬 수 있다. 로우 해머링 상황이 발생된 이후, 상기 로우 해머링 어드레스 신호가 입력되는 경우, 상기 정정 및 방어 로직 회로(221)는 상기 로우 해머링 어드레스 신호와 함께 수신된 커맨드 신호(CMD)가 라이트 신호인지 또는 리드 신호인지 여부를 판단할 수 있다. 상기 커맨드 신호(CMD)가 라이트 신호일 때, 상기 정정 및 방어 로직 회로(221)는 상기 뱅크 게이팅 회로(222)가 상기 제 2 메모리 뱅크(BA2)와 상기 스패어 뱅크(SB) 모두와 연결되도록 상기 게이팅 제어신호(GC<1:n>)를 생성될 수 있다. 따라서, 상기 제 2 메모리 뱅크(BA2) 및 상기 스패어 뱅크(SB)는 상기 호스트(210)로부터 전송된 데이터(DQ)를 함께 저장할 수 있다. 상기 커맨드 신호(CMD)가 리드 신호일 때, 상기 정정 및 방어 로직 회로(221)는 상기 뱅크 게이팅 회로(222)가 상기 제 2 메모리 뱅크(BA2)와 상기 스패어 뱅크(SB)를 인터리빙하도록 상기 게이팅 제어신호(GC<1:n>)를 생성할 수 있다.
도시되지는 않았지만, 상기 메모리 모듈(220)은 모듈 컨트롤러 또는 어드밴스드 메모리 버퍼와 같은 모듈 버퍼를 포함할 수 있다. 상기 모듈 버퍼는 상기 메모리 모듈(220)에 장착되는 메모리 장치(241, 242)와 호스트(210) 사이의 데이터 통신을 중계할 수 있다. 상기 정정 및 방어 로직 회로(221)는 예를 들어, 상기 모듈 버퍼에 포함될 수 있다.
도 3은 본 발명의 실시예에 따른 시스템(3)의 구성을 보여주는 도면이다. 상기 시스템(3)은 메인 보드(301), 프로세서(310) 및 메모리 모듈(320)을 포함할 수 있다. 상기 메인 보드(301)는 시스템을 구성하는 부품을 장착하기 위한 기판으로서, 마더 보드(Mother Board)로 언급될 수 있다. 상기 메인 보드(301)는 상기 프로세서(310)가 장착될 수 있는 슬롯(도시하지 않음) 및 상기 메모리 모듈(320)이 장착될 수 있는 슬롯(302)을 포함할 수 있다. 상기 메인 보드(301)는 상기 프로세서(310)와 상기 메모리 모듈(320)을 전기적으로 연결하기 위한 배선(303)을 포함할 수 있다. 상기 프로세서(310)는 상기 메인 보드(301) 상에 장착될 수 있다. 상기 프로세서는 중앙처리장치(CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU), 멀티미디어 프로세서(Multi-Media Processor, MMP), 디지털 신호 프로세서(Digital Signal Processor)를 포함할 수 있다. 또한 어플리케이션 프로세서(AP)와 같이 다양한 기능을 가진 프로세서 칩들을 조합하여 시스템 온 칩(System On Chip)의 형태로 구현될 수 있다.
상기 메모리 모듈(320)은 상기 메인 보드(301)의 슬롯(302)을 통해 상기 메인 보드(301) 상에 장착될 수 있다. 상기 메모리 모듈(320)은 모듈 기판에 형성된 모듈 핀 및 상기 슬롯(302)을 통해 상기 메인 보드(303)의 배선과 연결될 수 있다. 상기 메모리 모듈(320)은 예를 들어, UDIMM (Unbuffered Dual In-line Memory Module), DIMM (Dual In-line Memory Module), RDIMM (Registered Dual In-line Memory Module), LRDIMM (Load Reduced Dual In-line Memory Module, SODIMM (Small Outline Dual In-line Memory Module), NVDIMM (Non-Volatile Dual In-line Memory Module)등을 포함할 수 있다. 도 2에 도시된 메모리 모듈(220)은 상기 메모리 모듈(320)로 적용될 수 있다. 상기 메모리 모듈(320)은 각각 복수의 메모리 장치(321)를 포함할 수 있다. 상기 복수의 메모리 장치(321)는 각각 휘발성 메모리 장치 및 비휘발성 메모리 장치 중 하나 이상을 포함할 수 있다. 상기 휘발성 메모리 장치는 SRAM, DRAM, SDRAM 등을 포함할 수 있고, 상기 비휘발성 메모리 장치는 ROM, PROM, EEPROM, EPROM, 플래시 메모리, PRAM, MRAM, RRAM 및 FRAM 등을 포함할 수 있다. 또한, 상기 메모리 장치(321)는 복수의 칩이 적층되어 형성되는 적층 메모리 장치 또는 멀티 칩 패키지를 포함할 수 있다.
도 4는 본 발명의 실시예에 따른 시스템(4)의 구성을 보여주는 도면이다. 도 4에서, 상기 시스템(4)은 프로세서(410), 메모리 컨트롤러(420) 및 메모리 장치(430)를 포함한다. 상기 프로세서(410)는 칩 셋(440)을 통해 상기 메모리 컨트롤러(420)와 연결될 수 있고, 상기 메모리 컨트롤러(420)는 복수의 버스를 통해 상기 메모리 장치(430)와 연결될 수 있다. 도 4에서, 상기 프로세서(410)는 하나인 것으로 예시되었으나, 이에 한정하는 것은 아니고, 물리적 또는 논리적으로 복수의 프로세서가 구비될 수 있다. 상기 칩 셋(440)은 상기 프로세서(410) 및 상기 메모리 컨트롤러(420) 사이에서 신호가 전송되는 통신 경로를 제공할 수 있다. 상기 프로세서(410)는 연산 동작을 수행하고, 원하는 데이터를 입출력 시키기 위해 상기 칩 셋(440)을 통해 상기 메모리 컨트롤러(420)로 리퀘스트 및 데이터를 전송할 수 있다.
상기 메모리 컨트롤러(420)는 상기 복수의 버스를 통해 커맨드 신호, 어드레스 신호, 클럭 신호 및 데이터를 전송할 수 있다. 상기 메모리 장치(430)는 상기 메모리 컨트롤러로(420)부터 상기 신호들을 수신하여 데이터를 저장할 수 있고, 저장하고 있는 데이터를 상기 메모리 컨트롤러(420)로 출력할 수 있다. 상기 메모리 장치(430)는 하나 이상의 메모리 장치 또는 메모리 모듈을 포함할 수 있고, 도 1에 도시된 메모리 장치(120) 또는 도 2에 도시된 메모리 모듈(220)을 채용할 수 있다.
도 4에서, 상기 시스템(4)은 입출력 버스(510), 입출력 장치(520, 530, 540), 디스크 드라이버 컨트롤러(450) 및 디스크 드라이브(460)를 더 포함할 수 있다. 상기 칩 셋(440)은 입출력 버스(510)와 연결될 수 있다. 상기 입출력 버스(510)는 상기 칩 셋(440)으로부터 입출력 장치(520, 530, 540)까지의 신호 전송을 위한 통신 경로를 제공할 수 있다. 상기 입출력 장치는 마우스(520), 비디오 디스플레이(530), 또는 키보드(540)를 포함할 수 있다. 상기 입출력 버스(510)는 상기 입출력 장치(520, 530, 540)와 통신하는 어떠한 통신 프로토콜이라도 포함할 수 있다. 또한, 상기 입출력 버스(510)는 상기 칩 셋(440) 내부로 집적될 수 있다.
상기 디스크 드라이버 컨트롤러(450)는 상기 칩 셋(440)과 연결되어 동작할 수 있다. 상기 디스크 드라이버 컨트롤러(450)는 상기 칩 셋(440)과 하나 또는 그 이상의 디스크 드라이브(460) 사이의 통신 경로를 제공할 수 있다. 상기 디스크 드라이브(460)는 명령과 데이터를 저장함으로써 외부 데이터 저장 장치로 활용될 수 있다. 상기 디스크 드라이버 컨트롤러(450) 및 상기 디스크 드라이브(460)는 입출력 버스(510)를 포함하는 어떠한 통신 프로토콜을 사용하여 서로 또는 상기 칩 셋(440)과 통신할 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1/2: 메모리 시스템 110/210: 호스트
111/211: 인터페이스 회로 120/241/242: 메모리 장치
121/221: 정정 및 방어 로직 회로 122/222: 뱅크 게이팅 회로
130/231: 복수의 버스 212: 시스템 관리 회로
232: 시스템 관리 버스

Claims (18)

  1. 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크;
    호스트 정정 요청 및 메모리 방어 요청 중 어느 하나에 기초하여 백업 커맨드 신호 및 게이팅 제어신호를 생성하는 정정 및 방어 로직 회로; 및
    상기 게이팅 제어신호에 기초하여 상기 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크와 연결되는 뱅크 게이팅 회로를 포함하는 메모리 장치.
  2. 제 1 항에 있어서,
    상기 호스트 정정 요청은 커맨드 신호로서 상기 정정 및 방어 로직 회로로 전송되는 메모리 장치.
  3. 제 1 항에 있어서,
    상기 정정 및 방어 로직 회로는 어드레스 신호에 기초하여 상기 메모리 방어 요청을 생성하는 메모리 장치.
  4. 제 3 항에 있어서,
    상기 정정 및 방어 로직 회로는 특정 어드레스 신호가 임계 값 이상의 횟수로 연속적으로 입력될 때 상기 메모리 방어 요청을 생성하는 메모리 장치.
  5. 제 1 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 백업 커맨드 신호 및 상기 게이팅 제어신호를 생성하여 상기 호스트 정정 요청 및 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 저장된 데이터를 스패어 메모리 뱅크로 복제시키는 메모리 장치.
  6. 제 1 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 호스트 정정 요청에 기초하여 상기 뱅크 게이팅 회로가 상기 호스트 정정 요청의 대상이 되는 메모리 뱅크 대신에 상기 스패어 뱅크와 연결되도록 상기 게이팅 제어신호를 생성하는 메모리 장치.
  7. 제 1 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 메모리 방어 요청에 기초하여 상기 스패어 뱅크가 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크를 미러링하거나 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크와 상기 스패어 뱅크를 인터리빙하도록 상기 게이팅 제어 신호를 생성하는 메모리 장치.
  8. 제 7 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 대한 라이트 동작이 수행될 때, 상기 뱅크 게이팅 회로가 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크 및 상기 스패어 뱅크 모두와 연결되도록 상기 게이팅 제어신호를 생성하는 메모리 장치.
  9. 제 7 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 대한 복수의 리드 동작이 수행될 때, 상기 뱅크 게이팅 회로가 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크 및 상기 스패어 뱅크와 교대로 연결되도록 상기 게이팅 제어 신호를 생성하는 메모리 장치.
  10. 복수의 메모리 장치; 및
    호스트 정정 요청 및 메모리 방어 요청 중 어느 하나에 기초하여 게이팅 제어신호 및 백업 커맨드 신호를 생성하는 정정 및 방어 로직 회로를 포함하고,
    상기 복수의 메모리 장치는 각각, 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크; 및
    상기 게이팅 제어신호에 기초하여 상기 복수의 메모리 뱅크 및 적어도 하나의 스패어 뱅크와 연결되는 뱅크 게이팅 회로를 포함하는 메모리 모듈.
  11. 제 10 항에 있어서,
    상기 호스트 정정 요청은 시스템 관리 버스를 통해 상기 정정 및 방어 로직 회로로 제공되는 메모리 모듈.
  12. 제 10 항에 있어서,
    상기 정정 및 방어 로직 회로는 어드레스 신호에 기초하여 상기 메모리 방어 요청을 생성하는 메모리 모듈.
  13. 제 12 항에 있어서,
    상기 정정 및 방어 로직 회로는 특정 어드레스 신호가 임계 값 이상의 횟수로 연속적으로 입력될 때 상기 메모리 방어 요청을 생성하는 메모리 모듈.
  14. 제 10 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 백업 커맨드 신호 및 상기 게이팅 제어신호를 생성하여 상기 호스트 정정 요청 및 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 저장된 데이터를 스패어 메모리 뱅크로 복제시키는 메모리 모듈.
  15. 제 10 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 호스트 정정 요청에 기초하여 상기 뱅크 게이팅 회로가 상기 호스트 정정 요청의 대상이 되는 메모리 뱅크 대신에 상기 스패어 뱅크와 연결되도록 상기 게이팅 제어신호를 생성하는 메모리 모듈.
  16. 제 10 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 스패어 뱅크가 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크를 미러링하거나 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크와 상기 스패어 뱅크를 인터리빙하도록 상기 게이팅 제어 신호를 생성하는 메모리 모듈.
  17. 제 16 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 대한 라이트 동작이 수행될 때, 상기 뱅크 게이팅 회로가 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크 및 상기 스패어 뱅크 모두와 연결되도록 상기 게이팅 제어신호를 생성하는 메모리 모듈.
  18. 제 16 항에 있어서,
    상기 정정 및 방어 로직 회로는 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크에 대한 복수의 리드 동작이 수행될 때, 상기 뱅크 게이팅 회로가 상기 메모리 방어 요청의 대상이 되는 메모리 뱅크 및 상기 스패어 뱅크와 교대로 연결되도록 상기 게이팅 제어 신호를 생성하는 메모리 모듈.
KR1020170004964A 2017-01-12 2017-01-12 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈 KR20180083082A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170004964A KR20180083082A (ko) 2017-01-12 2017-01-12 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈
US15/648,624 US20180196616A1 (en) 2017-01-12 2017-07-13 Memory device and memory module
CN201710829380.3A CN108304279A (zh) 2017-01-12 2017-09-14 存储器装置和存储器模块
TW106140549A TW201841116A (zh) 2017-01-12 2017-11-22 記憶體裝置和記憶體模組

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170004964A KR20180083082A (ko) 2017-01-12 2017-01-12 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈

Publications (1)

Publication Number Publication Date
KR20180083082A true KR20180083082A (ko) 2018-07-20

Family

ID=62782990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170004964A KR20180083082A (ko) 2017-01-12 2017-01-12 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈

Country Status (4)

Country Link
US (1) US20180196616A1 (ko)
KR (1) KR20180083082A (ko)
CN (1) CN108304279A (ko)
TW (1) TW201841116A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948656B1 (en) * 2022-09-21 2024-04-02 Micron Technology, Inc. Counter management for memory systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086898A (zh) * 1999-03-19 2007-12-12 株式会社东芝 半导体存储装置
GB2426360A (en) * 2005-05-18 2006-11-22 Symbian Software Ltd Reorganisation of memory for conserving power in a computing device
US7656727B2 (en) * 2007-04-25 2010-02-02 Hewlett-Packard Development Company, L.P. Semiconductor memory device and system providing spare memory locations
EP2396729B1 (en) * 2009-02-12 2019-05-22 Toshiba Memory Corporation Memory system and method of controlling memory system
JP5321189B2 (ja) * 2009-03-27 2013-10-23 ソニー株式会社 メモリ制御装置
US20100332718A1 (en) * 2009-06-26 2010-12-30 Micron Technology, Inc. System and method for providing configurable latency and/or density in memory devices
US8751736B2 (en) * 2011-08-02 2014-06-10 Oracle International Corporation Instructions to set and read memory version information
US9442799B2 (en) * 2014-06-26 2016-09-13 Microsoft Technology Licensing, Llc Extended lifetime memory

Also Published As

Publication number Publication date
US20180196616A1 (en) 2018-07-12
CN108304279A (zh) 2018-07-20
TW201841116A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
US10248340B2 (en) Semiconductor apparatus, memory module and operation method thereof
US9324458B2 (en) Method and controller for receiving and outputting commands and addresses using a queue
US20180203816A1 (en) System including hot plug module and memory module
US11664083B2 (en) Memory, memory system having the same and operating method thereof
KR20210118727A (ko) 행 주소 지정 및 열 주소 지정이 가능한 메모리의 동적 데이터에 대한 에러 정정
US11721408B2 (en) Memory device capable of outputting fail data in parallel bit test and memory system including the memory device
EP3138009B1 (en) Variable width error correction
JP2022113100A (ja) メタデータにエラー検出訂正(ecc)ビットを割り当てるためのeccビットの分散
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
US11556440B2 (en) Memory module, memory system including the same and operation method thereof
KR102334739B1 (ko) 메모리 모듈, 시스템, 및 그것의 에러 정정 방법
US10976368B2 (en) Memory apparatus relating to determination of a failed region and test method thereof, memory module and system using the same
KR20180083082A (ko) 정정 및 방어가 가능한 메모리 장치 및 메모리 모듈
US9176906B2 (en) Memory controller and memory system including the same
US20240118970A1 (en) Techniques for memory scrubbing associated with reliability availability and serviceability features
KR102410958B1 (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템
US20240087636A1 (en) Dynamic Memory Operations
US20220326860A1 (en) Method and apparatus to perform bank sparing for adaptive double device data correction
KR20180099223A (ko) 전력 소모를 감소시킬 수 메모리 모듈, 이의 동작 방법 및 이를 포함하는 반도체 시스템