KR20210013387A - 메모리 시스템 - Google Patents

메모리 시스템 Download PDF

Info

Publication number
KR20210013387A
KR20210013387A KR1020190089434A KR20190089434A KR20210013387A KR 20210013387 A KR20210013387 A KR 20210013387A KR 1020190089434 A KR1020190089434 A KR 1020190089434A KR 20190089434 A KR20190089434 A KR 20190089434A KR 20210013387 A KR20210013387 A KR 20210013387A
Authority
KR
South Korea
Prior art keywords
memory
word line
data
memory devices
memory cells
Prior art date
Application number
KR1020190089434A
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 KR1020190089434A priority Critical patent/KR20210013387A/ko
Priority to US16/793,381 priority patent/US11231992B2/en
Priority to CN202010623751.4A priority patent/CN112306760A/zh
Publication of KR20210013387A publication Critical patent/KR20210013387A/ko

Links

Images

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • 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/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명의 실시 형태에 따른 메모리 시스템은 복수의 메모리 장치들을 포함하고, 상기 복수의 메모리 장치들 각각이 복수의 메모리 셀들 및 복수의 리던던시 메모리 셀들을 포함하고, 상기 복수의 메모리 장치들 중 적어도 하나가 백업 영역을 포함하는 메모리 모듈과, 상기 복수의 메모리 장치들 중에서 선택 메모리 장치의 선택 워드라인에 연결된 선택 메모리 셀들에 수정 가능 에러 정정 코드(correctable error correction code(CECC))가 발생했다고 판단되면, 상기 선택 메모리 셀들에 저장될 데이터를 상기 선택 메모리 셀들 및 상기 백업 영역에 저장하고, 상기 선택 워드라인을 상기 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인으로 대체하는 메모리 컨트롤러를 포함한다.

Description

메모리 시스템{MEMORY SYSTEM}
본 발명은 메모리 시스템에 관한 것이다.
불휘발성 메모리 장치는 외부 전원 공급이 중단되더라도 상기 불휘발성 메모리 장치에 저장된 데이터를 유지할 수 있다. 예컨대, 플래시(flash) 메모리 장치는 전기적으로 프로그램 동작과 이레이즈(erase) 동작이 가능한 불휘발성 메모리 장치이다. 상기 플래시 메모리 장치는 NAND-타입 플래시 메모리와 NOR-타입 플래시 메모리로 분류될 수 있다.
휘발성 메모리는 저장된 정보를 유지하기 위해 지속적인 전원 공급을 요구한다. 동적 램(DRAM), 정적 램(SRAM)을 포함하여 일반 목적의 랜덤 액세스 메모리(RAM)의 대부분은 휘발성 메모리이다.
DRAM, SRAM, 플래시 메모리 등과 같은 메모리 장치를 생산하는 공정이 세분화되면서, 상기 메모리 장치가 포함하는 불량 메모리 셀들의 수는 기하급수적으로 증가하고 있다.
본 발명의 기술적 사상이 이루고자 하는 과제 중 하나는, 수정 불가능 에러 정정 코드(uncorrectable error correction code(UECC))가 발생하기 전에, 페일오버(failover) 기능을 수행할 수 있는 메모리 시스템을 제공하는 데에 있다.
본 발명의 일 실시 예에 따른 메모리 시스템은 복수의 메모리 장치들을 포함하고, 상기 복수의 메모리 장치들 각각이 복수의 메모리 셀들 및 복수의 리던던시 메모리 셀들을 포함하고, 상기 복수의 메모리 장치들 중 적어도 하나가 백업 영역을 포함하는 메모리 모듈과, 상기 복수의 메모리 장치들 중에서 선택 메모리 장치의 선택 워드라인에 연결된 선택 메모리 셀들에 수정 가능 에러 정정 코드(correctable error correction code(CECC))가 발생했다고 판단되면, 상기 선택 메모리 셀들에 저장될 데이터를 상기 선택 메모리 셀들 및 상기 백업 영역에 저장하고, 상기 선택 워드라인을 상기 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인으로 대체하는 메모리 컨트롤러를 포함한다.
본 발명의 일 실시 예에 따른 메모리 시스템은 복수의 메모리 장치들을 포함하고, 상기 복수의 메모리 장치들 각각이 복수의 메모리 셀들 및 복수의 리던던시 메모리 셀들을 포함하고, 상기 복수의 메모리 장치들 중 적어도 하나가 백업 영역을 포함하는 메모리 모듈과, 상기 복수의 메모리 장치들 중에서 선택 메모리 장치의 제1 영역이 액세스 횟수가 높다고 판단되면, 상기 제1 영역의 선택 워드라인에 연결된 선택 메모리 셀들에 저장될 데이터를 상기 선택 워드라인 및 상기 백업 영역에 각각 저장하고, 상기 선택 워드라인을 상기 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인으로 대체하는 메모리를 포함한다.
본 발명의 일 실시 예에 따른 메모리 시스템은 제1 랭크로 분류되는 제1 메모리 장치들과 제2 랭크로 분류되는 제2 메모리 장치들을 포함하는 메모리 모듈과, 상기 제1 랭크를 선택하는 제1 칩 선택 신호와 상기 제2 랭크를 선택하는 제2 칩 선택 신호를 활성화하는 메모리 컨트롤러를 포함하고, 상기 제1 칩 선택 신호와 상기 제2 칩 선택 신호는 동시에 활성화되고, 상기 제1 랭크와 상기 제2 랭크는 동시에 선택되고 동시에 제어된다.
본 발명의 일 실시 예에 따르면, 메모리 장치들 중에서 적어도 하나는 백업 영역을 포함하고, 메모리 컨트롤러는 UECC가 발생할 확률이 높은 메모리 영역을 판단할 수 있다. 메모리 컨트롤러는 상기 메모리 영역으로 데이터를 라이트 할 때, 상기 메모리 영역 및 상기 백업 영역 각각에 데이터를 저장할 수 있다. 따라서, 메모리 시스템은 페일오버(failover) 기능을 수행할 수 있는 효과가 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명이 구체적인 실시 형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 메모리 장치의 구조를 간단하게 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 메모리 뱅크를 간단하게 나타낸 블록도이다.
도 5는 본 발명의 일 실시 예에 따른 메모리 장치에 포함되는 뱅크 어레이를 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에 따른 메모리 시스템의 동작을 설명하기 위한 플로우 차트이다.
도 7a 내지 도 7c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 8a 내지 도 8c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 9는 본 발명의 일 실시 예에 따른 메모리 시스템의 동작을 설명하기 위한 플로우 차트이다.
도 10a 내지 도 10c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 11a 내지 도 11c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 12는 본 발명의 일 실시 예에 따른 메모리 시스템의 동작을 설명하기 위한 플로우 차트이다.
도 13a 내지 도 13c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 14는 본 발명의 일 실시 예에 따른 메모리 장치를 포함하는 전자 기기를 간단하게 나타낸 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 다음과 같이 설명한다.
도 1은 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 제1 메모리 모듈(110), 메모리 컨트롤러(200), 및 제2 메모리 모듈(300)을 포함할 수 있다. 제1 메모리 모듈(110), 메모리 컨트롤러(200), 및 제2 메모리 모듈(300)은 하나의 반도체 장치로 집적될 수 있다. 일례로, 제1 메모리 모듈(110), 메모리 컨트롤러(200), 및 제2 메모리 모듈(300)은 하나의 반도체 장치로 집적되어 솔리드 스테이트 드라이브(solid state drive(SSD))를 구성할 수 있다.
제1 메모리 모듈(110)은 DRAM, SDRAM, DDR SDRAM, LPDDR SDRAM, SRAM 등과 같은 휘발성 메모리 또는 FRAM ReRAM, STT-MRAM, PRAM 등과 같은 불휘발성 메모리들을 포함할 수 있다. 제1 메모리 모듈(110)은 호스트로부터 수신된 데이터 또는 제2 메모리 모듈(300)로부터 수신된 데이터를 임시 저장하는 버퍼 메모리로 사용될 수 있다. 실시 예에 따라, 제1 메모리 모듈(110)은 호스트가 바라보는 논리적 주소를 플래시 메모리의 물리적 주소로 변환하기 위한 매핑 테이블을 저장하는데 사용될 수 있다.
제2 메모리 모듈(300)은 EPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 소자들로 구현될 수 있다.
메모리 컨트롤러(200)는 DRAM 컨트롤러(210), 호스트 컨트롤러(220), 불휘발성 메모리 컨트롤러(230), ECC 엔진(240), CPU(250), 및 SRAM(260)을 포함할 수 있다.
DRAM 컨트롤러(210)는 제1 메모리 모듈(110)의 읽기 및 쓰기 동작들을 제어할 수 있다. 예컨대, DRAM 컨트롤러(210)는 쓰기 데이터(Write data)나 읽기 데이터(Read data)를 제1 메모리 모듈(110)에 일시 저장할 수 있다.
호스트 컨트롤러(220)는 호스트로부터 들어오는 읽기, 쓰기 명령을 처리할 수 있다. 호스트 컨트롤러(220)는 CPU(250)의 제어 하에 호스트와 CPU(250) 사이의 통신을 위한 인터페이스를 제공한다. 예컨대, 상기 인터페이스는 ATA(Advanced Technology Attachment) 인터페이스, 직렬 ATA 인터페이스, 병렬 ATA인터페이스, 또는 SCSI(Small Computer System Interface)인터페이스일 수 있다.
불휘발성 메모리 컨트롤러(230)는 제2 메모리 모듈(300)의 읽기 및 쓰기 동작들을 제어할 수 있다.
ECC 엔진(240)은 ECC 인코더 및 ECC 디코더를 포함할 수 있다. ECC 인코더는 제2 메모리 모듈(300)에 프로그램될 데이터를 오류정정 인코딩을 하여, 패리티(parity) 비트가 부가된 데이터를 형성할 수 있다. 패리티 비트는 제2 메모리 모듈(300)에 저장될 수 있다. 또한, ECC 디코더는 제2 메모리 모듈(300)로부터 리드한 데이터에 대하여 에러 정정 디코딩을 수행할 수 있다. ECC 디코더는 수행 결과에 따라 상기 에러 정정 디코딩의 성공 여부를 판단하고, 판단 결과에 따라 지시 신호를 출력할 수 있다. ECC 디코더는 ECC 인코딩 시에 생성된 페리티(parity) 비트를 사용하여 데이터의 에러 비트를 정정 할 수 있다.
CPU(250)는 명령어 대기열에 들어오는 다수의 호스트 명령어를 해석하여 불휘발성 메모리 컨트롤러(230)를 통해 제2 메모리 모듈(300)에 데이터를 리드하고 라이트할 수 있다.
SRAM(260)은 CPU에서의 펌웨어 수행을 위한 코드 및 데이터 저장용으로 사용될 수 있다.
본 발명의 일 실시 예에 따르면, ECC 엔진(240)은 제1 메모리 모듈(110)에 포함된 메모리 영역에서 수정 가능 에러 정정 코드(correctable error correction code(CECC))의 발생을 감지할 수 있다. CECC는 단일 비트 에러(single bit error)를 의미할 수 있다. 메모리 컨트롤러(200)는 CECC가 발생한 데이터를 정정할 수 있다.
그러나, DRAM의 공정 미세화 등으로 인해 제1 메모리 모듈(110)에 포함된 메모리 영역에서 수정 불가능 에러 정정 코드(uncorrectable error correction code(UECC))가 발생할 수 있다. 또는 제1 메모리 모듈(110)에서 CECC가 발생한 메모리 영역이 주변 메모리 영역에 영향을 미쳐서 UECC로 발전될 수 있다. UECC는 다중-비트 에러(Multiple-Bit Error)를 의미할 수 있다. 메모리 컨트롤러(200)는 UECC 발생한 데이터를 복구할 수 없다.
본 발명의 일 실시 예에 따르면, 제1 메모리 모듈(110)에 포함된 메모리 장치들 중에서 적어도 하나는 백업 영역을 포함할 수 있다. 메모리 시스템(100)은 복구가 불가능한 에러가 발생할 확률이 높은 메모리 영역을 판단할 수 있다. 메모리 시스템(100)은 상기 메모리 영역에 저장될 데이터를 상기 메모리 영역 및 백업 영역에 각각 저장할 수 있다. 따라서, 메모리 영역에 UECC가 발생하더라도 메모리 시스템은 페일오버(failover) 기능을 수행할 수 있는 효과가 있다.
또한, 메모리 영역에 데이터를 라이트할 때, 백업 영역으로 데이터를 라이트하므로, 실시간으로 페일오버 기능을 수행할 수 있다. 즉, 페일오버 기능을 수행하기 위하여 메모리 시스템(100)의 동작을 중단할 필요가 없다. 따라서, 평균 무고장 시간(MTBF, mean time between failures)이 증가할 수 있고, 메모리 시스템(100)의 신뢰성이 향상될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 블록도이다.
도 2를 참조하면, 메모리 시스템은 제1 메모리 모듈(110)과 메모리 컨트롤러(130)를 포함할 수 있다. 제1 메모리 모듈(110)은 멀티 랭크로 구성된 메모리 장치들(110-1~110-4, 120-1~120-4)을 포함할 수 있다.
메모리 장치들(110-1~110-4, 120-1~120-4)은 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(110-1~110-4)과 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(120-1~120-4)을 포함할 수 있다. 메모리 장치들(110-1~110-4, 120-1~120-4) 각각은 적어도 하나의 메모리 뱅크를 포함할 수 있다.
실시 예에 따라, 제1 메모리 장치들(110-1~110-4) 중에서 적어도 하나와 제2 메모리 장치들(120-1~120-4) 중에서 적어도 하나는 하나의 메모리 패키지에 포함될 수 있다. 예컨대, 제1 메모리 장치들(110-1~110-4) 중에서 제1 메모리 장치(110-1)와 제2 메모리 장치들(120-1~120-4) 중에서 제2 메모리 장치(120-1)는 제1 메모리 패키지에 포함될 수 있다.
같은 원리로, 제1 메모리 장치(110-2)와 제2 메모리 장치(120-2)는 제2 메모리 패키지에 포함될 수 있고, 제1 메모리 장치(110-3)와 제2 메모리 장치(120-3)는 제3 메모리 패키지에 포함될 수 있고, 제1 메모리 장치(110-4)와 제2 메모리 장치(120-4)는 제4 메모리 패키지에 포함될 수 있다.
메모리 컨트롤러(130)는 제1 칩 선택 신호(CS0)와 제2 칩 선택 신호(CS1)를 출력할 수 있다. 메모리 컨트롤러(130)는 제1 메모리 장치들(110-1~110-4)을 선택하기 위해 제1 칩 선택 신호(CS0)를 활성화할 수 있다. 메모리 컨트롤러(130)는 제2 메모리 장치들(120-1~120-4)을 선택하기 위해 제2 칩 선택 신호(CS1)를 활성화할 수 있다.
실시 예에 따라, 메모리 컨트롤러(130)는 제1 메모리 장치들(110-1~110-4)로 데이터를 라이트할 수 있다. 메모리 컨트롤러(130)는 제1 메모리 장치들(110-1~110-4)을 선택하기 위해 제1 칩 선택 신호(CS0)를 활성화할 수 있다. 이 때, 제2 칩 선택 신호(CS1)는 비활성화될 수 있다. 예컨대, 제1 칩 선택 신호(CS0)는 로우(low) 상태일 때 활성화될 수 있고, 제2 칩 선택 신호(CS1)는 하이(high) 상태일 때 비활성화될 수 있다.
실시 예에 따라, 메모리 컨트롤러(130)는 제2 메모리 장치들(120-1~120-4)로 데이터를 라이트할 수 있다. 메모리 컨트롤러(130)는 제2 메모리 장치들(120-1~120-4)을 선택하기 위해 제2 칩 선택 신호(CS1)를 활성화할 수 있다. 이 때, 제1 칩 선택 신호(CS0)는 비활성화될 수 있다. 예컨대, 제2 칩 선택 신호(CS1)는 로우(low) 상태일 때 활성화될 수 있고, 제1 칩 선택 신호(CS0)는 하이(high) 상태일 때 비활성화될 수 있다.
본 발명의 일 실시 예에 따르면, 메모리 장치들(110-1~110-4, 120-1~120-4) 중에서 적어도 하나는 백업 영역을 포함할 수 있다. 메모리 시스템은 메모리 장치들(110-1~110-4, 120-1~120-4)에서 복구가 불가능한 데이터 에러가 발생할 확률이 높은 메모리 영역을 판단할 수 있다.
메모리 시스템은 상기 메모리 영역으로 데이터를 라이트할 때, 상기 메모리 영역 및 상기 백업 영역 각각에 상기 데이터를 라이트할 수 있다. 따라서, 메모리 시스템은 상기 메모리 영역에서 UECC가 발생하기 전에 상기 백업 영역에 저장된 데이터를 이용하여 페일오버(failover) 기능을 수행할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 메모리 장치의 구조를 간단하게 나타낸 도면이다. 도 3을 참조하면, 본 발명의 일 실시 예에 따른 메모리 장치(110-1)는 메모리 뱅크(60) 및 로직 회로(70)를 포함할 수 있다. 메모리 뱅크(60)는 복수의 메모리 셀들을 갖는 뱅크 어레이(61)와, 로우 디코더(62), 칼럼 디코더(63) 및 센스 앰프(64) 등을 포함할 수 있다. 일 실시 예에서 메모리 장치(110-1)는 메모리 뱅크(60)를 복수 개 포함할 수 있다.
메모리 장치(110-1)에 포함되는 복수의 메모리 뱅크들(60)은, 하나의 로직 회로(70)를 공유할 수 있다. 로직 회로(70)는 뱅크 어레이(61)에서 데이터를 읽어오거나 뱅크 어레이(61)에 데이터를 저장하거나, 뱅크 어레이(61)에 저장된 데이터를 삭제할 수 있다. 또한, 로직 회로(70)는 데이터를 송수신하는 입출력 핀들과 연결되는 리시버 및 트랜스미터와 함께, 로우 디코더(62), 칼럼 디코더(63), 센스 앰프(64) 등을 제어하기 위한 컨트롤 로직 등을 포함할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 메모리 뱅크를 간단하게 나타낸 블록도이다. 도 4를 참조하면, 본 발명의 일 실시 예에 따른 메모리 뱅크(60)는 메모리 컨트롤러(20)와 뱅크 어레이(30)를 포함할 수 있다. 일 실시 예에서, 메모리 컨트롤러(20)는 컨트롤 로직(21), 로우 드라이버(22) 및 칼럼 드라이버(23) 등을 포함할 수 있다. 뱅크 어레이(30)는 복수의 메모리 셀들 및 복수의 리던던시 메모리 셀들(40)을 포함할 수 있다.
일 실시 예에서, 로우 드라이버(22)는 워드 라인(WL)을 통해 메모리 셀들(40)과 연결될 수 있으며, 칼럼 드라이버(23)는 비트 라인(BL)을 통해 메모리 셀들(40)과 연결될 수 있다. 일 실시 예에서, 로우 드라이버(22)는 데이터를 기록하거나 데이터를 읽어올 메모리 셀을 선택하기 위한 어드레스 디코더를 포함할 수 있으며, 칼럼 드라이버(23)는 메모리 셀에 데이터를 기록하거나, 메모리 셀로부터 데이터를 읽어오기 위한 센스 앰프 및 칼럼 디코더를 포함할 수 있다. 로우 드라이버(22)와 칼럼 드라이버(23)의 동작은, 컨트롤 로직(21)에 의해 제어될 수 있다.
본 발명의 실시 예에 따르면 뱅크 어레이(30)에 포함된 메모리 셀들 중 적어도 일부는 백업 영역일 수 있다. 메모리 시스템은 복구가 불가능한 에러가 발생할 확률이 높다고 판단된 메모리 영역으로 데이터를 라이트할 때, 상기 백업 영역으로 동시에 상기 데이터를 라이트할 수 있다. 따라서, 메모리 시스템은 페일오버(failover) 기능을 수행할 수 있는 효과가 있다.
도 5는 본 발명의 일 실시 예에 따른 메모리 장치에 포함되는 뱅크 어레이를 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일 실시 예에 따른 뱅크 어레이(30)는 복수의 메모리 셀들(40)을 포함할 수 있다. 메모리 셀들(40)은 복수의 워드 라인(WL) 및 복수의 비트 라인(BL)이 교차하는 지점에 마련될 수 있다. 즉, 메모리 셀들(40) 각각은 하나의 워드 라인(WL) 및 하나의 비트 라인(BL)에 연결될 수 있다.
메모리 셀들(40) 각각은 스위치 소자(SW)와 정보 저장 커패시터(CC)를 포함할 수 있다. 일 실시 예에서, 스위치 소자(SW)는 트랜지스터를 포함할 수 있으며, 트랜지스터의 게이트 단자는 워드 라인(WL)에 연결되고, 트랜지스터의 드레인/소스 단자들은 각각 비트 라인(BL)과 정보 저장 커패시터(CC)에 연결될 수 있다.
메모리 컨트롤러(20)는, 복수의 워드 라인(WL)과 복수의 비트 라인(BL)을 통해, 복수의 메모리 셀들(40) 각각에 포함되는 정보 저장 커패시터(CC)에 전하를 충전하거나, 또는 정보 저장 커패시터(CC)에 충전된 전하를 방전시킴으로써 데이터를 쓰거나 지울 수 있다. 또한 메모리 컨트롤러는, 정보 저장 커패시터(CC)의 전압 등을 읽어옴으로써, 복수의 메모리 셀들(40) 각각으로부터 데이터를 읽어올 수 있다. 일 실시 예에서, 메모리 컨트롤러는 정보 저장 커패시터(CC)에 충전된 전하가 자연 방전되어 데이터가 유실되지 않도록, 복수의 메모리 셀들(40)에 데이터를 다시 쓰는 리프레쉬(refresh) 동작을 수행할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 메모리 시스템의 동작을 설명하기 위한 플로우 차트이고, 도 7a 내지 도 7c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 7a 내지 도 7c에서, 메모리 시스템(100A)은 복수의 메모리 장치들 각각에 포함된 뱅크들 중에서 하나의 뱅크(BANK)와 메모리 컨트롤러(MC)를 도시하였다. 하나의 뱅크(BANK)는 복수의 메모리 셀들(MA) 및 복수의 리던던시 메모리 셀들(MA)을 포함할 수 있다. 또한 하나의 뱅크(BANK)는 백업 영역(BR)을 포함할 수 있다.
도 6과 도 7a를 참조하면, 메모리 컨트롤러(MC)는 복수의 메모리 장치들 각각에 포함된 메모리 장치들 중에서 액세스 횟수가 가장 높은 제1 영역(AR)의 주소(hit address)와 액세스 횟수(hit count)를 주기적으로 리드할 수 있다(S110). 일례로, 메모리 컨트롤러(MC)는 주소(hit address)와 액세스 횟수(hit count)를 모드 레지스터 읽기(mode register read(MRR)) 정보로 리드할 수 있다. 모드 레지스터 읽기(mode register read(MRR))란 사용자가 리드 가능한 모드 레지스터를 의미할 수 있다.
메모리 컨트롤러(MC)는 복수의 메모리 장치들의 액세스 횟수를 카운트할 수 있다. 메모리 컨트롤러(MC)는 카운트 결과에 따라 복수의 메모리 장치들 중에서 가장 많이 액세스 되는 영역이 제1 영역(AR)이라고 판단할 수 있다. 메모리 컨트롤러(MC)는 제1 영역(AR)에 대응하는 주소(hit address)와 액세스 횟수(hit count)를 메모리 장치에 저장할 수 있다.
메모리 컨트롤러(MC)는 제1 영역(AR)에 대응하는 액세스 횟수(hit count)와 기준 횟수를 비교할 수 있다(S120). 비교의 결과 제1 영역(AR)에 대응하는 액세스 횟수(hit count)가 기준 횟수보다 크면, 메모리 컨트롤러(MC)는 제1 영역(AR)에 대응하는 주소를 기억할 수 있다.
제1 영역(AR)에 대응하는 액세스 횟수(hit count)가 기준 횟수보다 크면, 제1 영역(AR)은 마모(wearing-out)될 가능성이 높을 수 있다. 따라서, 제1 영역(AR)으로 데이터를 저장할 때 UECC가 발생할 확률이 높을 수 있다.
이 후, 메모리 컨트롤러(MC)는 호스트로부터 데이터를 저장하라는 명령과 함께 상기 데이터가 저장될 어드레스를 수신할 수 있다. 호스트로부터 전송된 어드레스는 복수의 메모리 장치들 중에서 선택 메모리 장치에 포함된 제1 영역(AR)의 선택 워드라인에 연결된 선택 메모리 셀들에 대응할 수 있다.
메모리 컨트롤러(MC)는 선택 메모리 셀들에 저장될 데이터를 선택 워드라인 및 백업 영역(BR)에 각각 저장할 수 있다(S130). 제1 영역(AR)에 대응하는 액세스 횟수(hit count)가 기준 횟수보다 크면, 제1 영역(AR)으로 데이터를 저장할 때 선택 워드라인뿐만 아니라 백업 영역에도 저장할 수 있다. 따라서, 메모리 시스템(100A)은 UECC가 발생하기 전에 UECC가 발생할 가능성이 있는 영역의 데이터를 선택 워드라인과 백업 영역(BR) 각각으로 두 번 라이트할 수 있다. 메모리 시스템(100A)은 UECC가 발생하기 전에 미리 데이터를 백업 영역에 라이트할 수 있으므로, 페일오버 기능을 수행할 수 있다.
제1 영역(AR)에 대응하는 액세스 횟수(hit count)가 기준 횟수보다 작으면, 메모리 컨트롤러(MC)는 복수의 메모리 장치들 각각에 포함된 메모리 장치들 중에서 액세스 횟수가 가장 높은 제1 영역(AR)의 주소(hit address)와 액세스 횟수(hit count)를 계속 모니터링 할 수 있다(S110).
도 6과 도 7b를 참조하면, 메모리 컨트롤러(MC)는 제1 영역(AR)에 포함된 선택 워드라인(SWL)을 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인(RWL)으로 대체할 수 있다(S140). 즉, 불량 메모리 셀이 연결된 선택 워드라인(SWL)을 리던던시 워드라인(RWL)으로 대체하는 리페어 동작을 수행할 수 있다. 이를 포스트 패키지 리페어(post package repair(PPR))라 정의할 수 있다. 예컨대, 메모리 컨트롤러(MC)는 PPR을 수행한 이 후에 선택 워드라인(SWL)의 주소를 사용하더라도 DRAM내부의 디코딩 동작에 의하여 리던던시 워드라인에 액세스 할 수 있다.
도 6과 도 7c를 참조하면, 메모리 컨트롤러(MC)는 백업 영역(BR)의 워드라인(BWL)에 저장된 데이터를 리던던시 워드라인(RWL)으로 저장할 수 있다(S150). 따라서, 메모리 시스템(100A)은 제1 영역(AR)에 포함된 선택 워드라인(SWL) 대신에 리던던시 워드라인(RWL)으로부터 데이터를 리드하거나 리던던시 워드라인(RWL)으로 데이터를 라이트할 수 있다.
본 발명의 일 실시 예에 따르면 하나의 뱅크(BANK)는 백업 영역(BR)을 포함할 수 있고, 메모리 컨트롤러(MC)는 뱅크(BANK)에서 액세스 횟수가 높다고 판단된 메모리 영역을 판단할 수 있다. 메모리 컨트롤러는 액세스 횟수가 높다고 판단된 메모리 영역에 저장될 데이터를 상기 메모리 영역 및 백업 영역(BR)에 각각 저장할 수 있다. 즉, UECC가 발생할 가능성이 높은 메모리 영역에 대해서 상기 메모리 영역에 저장될 데이터를 백업 영역에도 동시에 저장할 수 있다. UECC가 발생하기 전에 미리 데이터를 백업하고, PPR을 통해서 불량 메모리 셀이 연결된 워드라인(SWL)을 리던던시 워드라인(RWL)으로 대체하고, 백업된 데이터를 리던던시 워드라인(RWL)에 저장할 수 있다. 메모리 시스템(100A)은 불량 메모리 셀이 연결된 워드라인(SWL) 대신에 리던던시 워드라인(RWL)을 이용하여 서비스를 제공할 수 있다. 따라서, 메모리 시스템(100A)은 페일오버 기능을 수행할 수 있다.
도 8a 내지 도 8c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 8a 내지 도 8c의 메모리 시스템(100B)은 도 7a 내지 도 7c의 메모리 시스템(100A)과 다르게 제1 영역(AR)과 백업 영역(BR)은 서로 다른 뱅크에 포함될 수 있다. 예컨대, 제1 영역(AR)은 제1 뱅크(BANK1)에 포함될 수 있고, 백업 영역(BR)은 제2 뱅크(BANK2)에 포함될 수 있다. 제1 뱅크(BANK1)는 복수의 메모리 셀들(MA1) 및 복수의 리던던시 메모리 셀들(MA1)을 포함할 수 있다. 제2 뱅크(BANK2)는 복수의 메모리 셀들(MA2) 및 복수의 리던던시 메모리 셀들(MA2)을 포함할 수 있다.
도 6과 도 8a를 참조하면, 메모리 컨트롤러(MC)는 복수의 메모리 장치들 각각에 포함된 메모리 장치들 중에서 액세스 횟수가 가장 높은 제1 영역(AR)의 주소(hit address)와 액세스 횟수(hit count)를 주기적으로 리드할 수 있다(S110). 제1 영역(AR)은 제1 뱅크(BANK1)에 포함될 수 있다.
메모리 컨트롤러(MC)는 제1 영역(AR)에 대응하는 액세스 횟수(hit count)와 기준 횟수를 비교할 수 있다(S120). 비교의 결과 제1 영역(AR)에 대응하는 액세스 횟수(hit count)가 기준 횟수보다 크면, 메모리 컨트롤러(MC)는 제1 영역(AR)에 대응하는 주소(hit address)를 메모리 장치에 저장할 수 있다.
이 후, 메모리 컨트롤러(MC)는 호스트로부터 데이터를 저장하라는 명령과 함께 상기 데이터가 저장될 어드레스를 수신할 수 있다. 호스트로부터 전송된 어드레스는 복수의 메모리 장치들 중에서 선택 메모리 장치에 포함된 제1 영역(AR)의 선택 워드라인에 연결된 선택 메모리 셀들에 대응할 수 있다.
메모리 컨트롤러(MC)는 선택 메모리 셀들에 저장될 데이터를 선택 워드라인 및 백업 영역(BR)에 각각 저장할 수 있다(S130). 백업 영역(BR)은 제2 뱅크(BANK2)에 포함될 수 있다. 따라서, 백업 영역(BR)과 제1 영역(AR) 각각은 서로 다른 뱅크에 포함될 수 있다.
도 6과 도 8b를 참조하면, 메모리 컨트롤러(MC)는 제1 영역(AR)에 포함된 선택 워드라인(SWL)을 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인(RWL)으로 대체할 수 있다(S140). 복수의 리던던시 메모리 셀들은 제1 뱅크(BANK1)에 포함될 수 있다. 따라서, 리던던시 워드라인(RWL)과 제1 영역(AR)은 동일한 뱅크에 포함될 수 있다.
도 6과 도 8c를 참조하면, 메모리 컨트롤러(MC)는 제2 뱅크(BANK2)의 백업 영역(BR)에 저장된 데이터를 제1 뱅크(BANK1)의 리던던시 워드라인(RWL)으로 저장할 수 있다(S150). 따라서, 메모리 시스템(100A)은 제1 영역(AR)에 포함된 선택 워드라인(SWL) 대신에 리던던시 워드라인(RWL)으로부터 데이터를 리드하거나 리던던시 워드라인(RWL)으로 데이터를 라이트할 수 있다.
본 발명의 일 실시 예에 따르면 제2 뱅크(BANK2)는 백업 영역(BR)을 포함할 수 있고, 메모리 컨트롤러는 제1 뱅크(BANK1)에서 액세스 횟수가 높다고 판단된 메모리 영역(AR)을 판단할 수 있다. 메모리 컨트롤러(MC)는 액세스 횟수가 높다고 판단된 메모리 영역(AR)에 저장될 데이터를 메모리 영역(AR) 및 백업 영역(BR)에 각각 저장할 수 있다. 즉, UECC가 발생할 가능성이 높은 메모리 영역(AR)에 대해서 메모리 영역(AR)에 저장될 데이터를 백업 영역(BR)에도 동시에 저장할 수 있다. 메모리 시스템(100A)은 UECC가 발생하기 전에 미리 데이터를 백업하고, PPR을 통해서 불량 메모리 셀이 연결된 워드라인(SWL)을 리던던시 워드라인(RWL)으로 대체하고, 백업된 데이터를 리던던시 워드라인(RWL)에 저장할 수 있다. 메모리 시스템(100A)은 불량 메모리 셀이 연결된 워드라인(SWL) 대신에 리던던시 워드라인(RWL)을 이용하여 서비스를 제공할 수 있다. 따라서, 메모리 시스템(100A)은 페일오버 기능을 수행할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 메모리 시스템의 동작을 설명하기 위한 플로우 차트이고, 도 10a 내지 도 10c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 10a 내지 도 10c에서, 메모리 시스템(100C)은 복수의 메모리 장치들 각각에 포함된 뱅크들 중에서 하나의 뱅크(BANK)와 메모리 컨트롤러(MC)를 도시하였다. 하나의 뱅크(BANK)는 복수의 메모리 셀들(MC) 및 복수의 리던던시 메모리 셀들(MC)을 포함할 수 있다. 또한 하나의 뱅크(BANK)는 백업 영역(BR)을 포함할 수 있다.
도 9와 도 10a를 참조하면, 메모리 컨트롤러(MC)는 복수의 메모리 장치들 각각에 포함된 메모리 장치들 중에서 CECC의 발생 횟수가 가장 높은 메모리 셀들의 주소(ECC row)와 ECC 횟수(ECC count)를 주기적으로 리드할 수 있다(S210). 일례로, 메모리 컨트롤러(MC)는 CECC의 발생 횟수가 가장 높은 메모리 셀들의 주소(ECC row)와 ECC 횟수(ECC count)를 메모리 컨트롤러(MC) 내부에 미리 저장할 수 있다.
메모리 컨트롤러(MC)는 주소(ECC row)를 참조하여 메모리 영역의 복수의 메모리 셀들 중에서 CECC의 발생 횟수가 가장 높은 불량 메모리 셀을 포함하는 워드라인의 위치를 알 수 있다. 일례로, 주소(ECC row)는 뱅크 어드레스, 로우 어드레스, 및 컬럼 어드레스를 포함할 수 있다. 따라서, 메모리 컨트롤러(MC)는 불량 메모리 셀이 연결된 워드라인(SWL)의 주소(ECC row)를 알 수 있다.
메모리 컨트롤러(MC)는 복수의 메모리 장치들의 CECC 발생 횟수를 카운트할 수 있다. 메모리 컨트롤러(MC)는 카운트 결과에 따라 복수의 메모리 장치들 중에서 가장 많이 CECC가 발생한 불량 메모리 셀을 판단할 수 있다. 메모리 컨트롤러(MC)는 불량 메모리 셀이 연결된 워드라인(SWL)에 대응하는 주소(ECC row)와 ECC 횟수(ECC count)를 메모리 컨트롤러(MC) 내부에 저장할 수 있다.
메모리 컨트롤러(MC)는 워드라인(SWL)에 대응하는 ECC 횟수(ECC count)와 기준 횟수를 비교할 수 있다(S220). 비교의 결과 워드라인(SWL)에 대응하는 ECC 횟수(ECC count)가 기준 횟수보다 크면, 메모리 컨트롤러(MC)는 워드라인(SWL)에 대응하는 주소를 기억할 수 있다. 선택 워드라인(SWL)에 대응하는 ECC 횟수(ECC count)가 기준 횟수보다 크면, 선택 워드라인(SWL)으로 데이터를 저장할 때 UECC가 발생할 확률이 높을 수 있다.
이 후, 메모리 컨트롤러(MC)는 호스트로부터 데이터를 저장하라는 명령과 함께 상기 데이터가 저장될 어드레스를 수신할 수 있다. 호스트로부터 전송된 어드레스는 복수의 메모리 장치들 중에서 선택 메모리 장치의 선택 워드라인(SWL)에 연결된 선택 메모리 셀들에 대응할 수 있다.
메모리 컨트롤러(MC)는 선택 메모리 셀들에 저장될 데이터를 선택 워드라인(SWL) 및 백업 영역(BR)에 각각 저장할 수 있다(S230). 즉, 선택 워드라인(SWL)에 대응하는 액세스 횟수(hit count)가 기준 횟수보다 크면, 선택 워드라인(SWL)으로 데이터를 저장할 때 선택 워드라인(SWL)뿐만 아니라 백업 영역(BR)에도 동시에 저장할 수 있다. 따라서, UECC가 발생할 경우를 대비하여 데이터를 백업할 수 있다.
워드라인(SWL)에 대응하는 ECC 횟수(ECC count)가 기준 횟수보다 작으면, 메모리 컨트롤러(MC)는 복수의 메모리 장치들 각각에 포함된 메모리 장치들 중에서 CECC의 발생 횟수가 가장 높은 메모리 셀들의 주소(ECC row)와 ECC 횟수(ECC count)를 계속 모니터링 할 수 있다(S210).
도 9와 도 10b를 참조하면, 메모리 컨트롤러(MC)는 선택 워드라인(SWL)을 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인(RWL)으로 대체할 수 있다(S240). 즉, 불량 메모리 셀이 연결된 선택 워드라인(SWL)을 리던던시 워드라인(RWL)으로 대체하는 리페어 동작을 수행할 수 있다.
도 9와 도 10c를 참조하면, 메모리 컨트롤러(MC)는 백업 영역(BR)에 저장된 데이터를 리던던시 워드라인(RWL)으로 저장할 수 있다(S250). 따라서, 메모리 시스템(100B)은 는 제1 영역(AR)에 포함된 선택 워드라인(SWL) 대신에 리던던시 워드라인(RWL)으로부터 데이터를 리드하거나 리던던시 워드라인(RWL)으로 데이터를 라이트할 수 있다.
본 발명의 일 실시 예에 따르면 하나의 뱅크(BANK)는 백업 영역(BR)을 포함할 수 있고, 메모리 컨트롤러(MC)는 뱅크(BANK)에서 CECC가 발생한 횟수가 높다고 판단된 불량 메모리 셀이 연결된 워드라인(SWL)을 판단할 수 있다. 메모리 컨트롤러(MC)는 불량 메모리 셀이 연결된 워드라인(SWL)에 라이트 될 데이터를 워드라인(SWL) 및 백업 영역(BR)에 각각 저장할 수 있다. 즉, UECC가 발생할 가능성이 높은 메모리 셀들에 대해서 상기 메모리 셀들에 저장될 데이터를 백업 영역(BR)에도 동시에 저장할 수 있다. UECC가 발생하기 전에 미리 데이터를 백업할 수 있으므로 메모리 시스템은 페일오버 기능을 수행할 수 있다.
도 11a 내지 도 11c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 11a 내지 도 11c의 메모리 시스템(100D)은 구조는 도 10a 내지 도 10c의 메모리 시스템(100C)과 다르게 제1 영역(AR)과 백업 영역(BR)은 서로 다른 뱅크에 포함될 수 있다. 예컨대, 불량 메모리 셀에 연결된 워드라인(SWL)은 제1 뱅크(BANK1)에 포함될 수 있고, 백업 영역(BR)은 제2 뱅크(BANK2)에 포함될 수 있다. 제1 뱅크(BANK1)는 복수의 메모리 셀들(MA1) 및 복수의 리던던시 메모리 셀들(MA1)을 포함할 수 있다. 제2 뱅크(BANK2)는 복수의 메모리 셀들(MA2) 및 복수의 리던던시 메모리 셀들(MA2)을 포함할 수 있다.
도 9와 도 11a를 참조하면, 메모리 컨트롤러(MC)는 복수의 메모리 장치들 각각에 포함된 메모리 장치들 중에서 CECC의 발생 횟수가 가장 높은 메모리 셀들이 연결된 워드라인(SWL)의 주소(ECC row)와 ECC 횟수(ECC count)를 주기적으로 리드할 수 있다(S210). CECC의 발생 횟수가 가장 높은 메모리 셀이 연결된 워드라인(SWL)은 제1 뱅크(BANK1)에 포함될 수 있다.
메모리 컨트롤러(MC)는 워드라인(SWL)에 대응하는 ECC 횟수(ECC count)와 기준 횟수를 비교할 수 있다(S220). 비교의 결과 워드라인(SWL)에 대응하는 ECC 횟수(ECC count)가 기준 횟수보다 크면, 메모리 컨트롤러(MC)는 워드라인(SWL)에 대응하는 주소를 기억할 수 있다.
이 후, 메모리 컨트롤러(MC)는 호스트로부터 데이터를 저장하라는 명령과 함께 상기 데이터가 저장될 어드레스를 수신할 수 있다. 호스트로부터 전송된 어드레스는 복수의 메모리 장치들 중에서 선택 메모리 장치의 선택 워드라인(SWL)에 연결된 선택 메모리 셀들에 대응할 수 있다.
메모리 컨트롤러(MC)는 선택 메모리 셀들에 저장될 데이터를 선택 워드라인(SWL) 및 백업 영역(BR)에 각각 저장할 수 있다(S230). 백업 영역(BR)은 선택 워드라인(SWL)이 포함된 제1 뱅크(BANK1)와 다른 제2 뱅크(BANK2)에 포함될 수 있다.
도 9와 도 11b를 참조하면, 메모리 컨트롤러(MC)는 선택 워드라인(SWL)을 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인(RWL)으로 대체할 수 있다(S240). 리던던시 워드라인(RWL)은 제1 뱅크(BANK1)에 포함될 수 있다. 따라서, 리던던시 워드라인(RWL)과 백업 영역(BR)은 서로 다른 뱅크에 포함될 수 있다.
도 9와 도 11c를 참조하면, 메모리 컨트롤러(MC)는 제2 뱅크(BANK2)의 백업 영역(BR)에 저장된 데이터를 제1 뱅크(BANK1)의 리던던시 워드라인(RWL)으로 저장할 수 있다(S250). 따라서, 메모리 시스템(100D)은 선택 워드라인(SWL) 대신에 리던던시 워드라인(RWL)으로부터 데이터를 리드하거나 리던던시 워드라인(RWL)으로 데이터를 라이트할 수 있다.
본 발명의 일 실시 예에 따르면 제2 뱅크(BANK2)는 백업 영역(BR)을 포함할 수 있고, 메모리 컨트롤러(MC)는 제1 뱅크(BANK1)에서 CECC가 발생한 횟수가 높다고 판단된 불량 메모리 셀을 판단할 수 있다. 상기 불량 메모리 셀이 포함된 뱅크는 백업 영역이 포함된 뱅크와 서로 다를 수 있다. 메모리 컨트롤러는 CECC가 발생한 횟수가 높다고 판단된 불량 메모리 셀이 연결된 워드라인(SWL)에 저장될 데이터를 워드라인(SWL) 및 백업 영역(BR)에 각각 저장할 수 있다. 즉, UECC가 발생할 가능성이 높은 메모리 영역에 대해서 워드라인(SWL)에 저장될 데이터를 백업 영역(BR)에도 동시에 저장할 수 있다. 메모리 시스템(100D)은 UECC가 발생하기 전에 미리 데이터를 백업하고, PPR을 통해서 불량 메모리 셀이 연결된 워드라인(SWL)을 리던던시 워드라인(RWL)으로 대체하고, 백업된 데이터를 리던던시 워드라인(RWL)에 저장할 수 있다. 메모리 시스템(100D)은 불량 메모리 셀이 연결된 워드라인(SWL) 대신에 리던던시 워드라인(RWL)을 이용하여 서비스를 제공할 수 있다. 따라서, 메모리 시스템(100A)은 페일오버(failover) 기능을 수행할 수 있다.
도 12는 본 발명의 일 실시 예에 따른 메모리 시스템의 동작을 설명하기 위한 플로우 차트이고, 도 13a 내지 도 13c는 본 발명의 일 실시 예에 따른 메모리 시스템을 간단하게 나타낸 도면이다.
도 13a 내지 도 13c에서 메모리 시스템(400A, 400B, 400C)은 멀티 랭크로 구성된 메모리 장치들(410-1~410-4, 420-1~420-4)과 메모리 컨트롤러(430)를 포함할 수 있다.
메모리 장치들(410-1~410-4, 420-1~420-4)은 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)과 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)을 포함할 수 있다. 메모리 장치들(410-1~410-4, 420-1~420-4) 각각은 적어도 하나의 메모리 뱅크를 포함할 수 있다.
실시 예에 따라, 제1 메모리 장치들(410-1~410-4) 중에서 적어도 하나와 제2 메모리 장치들(420-1~420-4) 중에서 적어도 하나는 하나의 메모리 패키지에 포함될 수 있다. 예컨대, 제1 메모리 장치들(410-1~410-4) 중에서 제1 메모리 장치(410-1)와 제2 메모리 장치들(420-1~420-4) 중에서 제2 메모리 장치(420-1)는 제1 메모리 패키지에 포함될 수 있다.
같은 원리로, 제1 메모리 장치(410-2)와 제2 메모리 장치(420-2)는 제2 메모리 패키지에 포함될 수 있고, 제1 메모리 장치(410-3)와 제2 메모리 장치(420-3)는 제3 메모리 패키지에 포함될 수 있고, 제1 메모리 장치(410-4)와 제2 메모리 장치(420-4)는 제4 메모리 패키지에 포함될 수 있다.
메모리 컨트롤러(430)는 제1 칩 선택 신호(CS0)와 제2 칩 선택 신호(CS1)를 출력할 수 있다. 메모리 컨트롤러(430)는 제1 메모리 장치들(410-1~410-4)을 선택하기 위해 제1 칩 선택 신호(CS0)를 활성화할 수 있다. 메모리 컨트롤러(430)는 제2 메모리 장치들(420-1~420-4)을 선택하기 위해 제2 칩 선택 신호(CS1)를 활성화할 수 있다.
본 발명의 실시 예에 따르면, 메모리 시스템(400A, 400B, 400C)은 메모리 모듈(예컨대, DRAM)이 필요로 하는 용량의 두 배 이상의 메모리 장치들(410-1~410-4, 420-1~420-4)을 멀티 랭크로 구성할 수 있다. 예컨대, 메모리 장치들(410-1~410-4, 420-1~420-4)이 필요로 하는 용량이 8Gbit라고 할 때, 종래에는 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)을 4Gbit으로 구성하고, 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)을 4Gbit로 구성하였다.
그러나, 본 발명의 실시 예에 따르면 메모리 장치들(410-1~410-4, 420-1~420-4)이 필요로 하는 용량이 8Gbit라고 할 때, 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)을 8Gbit으로 구성하고, 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)을 8Gbit로 구성할 수 있다.
따라서, 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)과 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4) 중에서 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)을 백업 영역으로 사용할 수 있다.
메모리 컨트롤러(130)는 제1 메모리 장치들(410-1~410-4)을 선택하기 위해 제1 칩 선택 신호(CS0)를 활성화할 수 있다. 이와 동시에 메모리 컨트롤러(430)는 제2 메모리 장치들(420-1~420-4)을 선택하기 위해 제2 칩 선택 신호(CS1)를 활성화할 수 있다.
도 12와 도 13a를 참조하면, 메모리 컨트롤러(430)는 메모리 장치들(410-1~410-4, 420-1~420-4)로 데이터를 라이트할 수 있다(S310). 메모리 컨트롤러(430)는 제1 메모리 장치들(410-1~410-4)을 선택하기 위해 제1 칩 선택 신호(CS0)를 활성화할 수 있다. 이와 동시에 메모리 컨트롤러(430)는 제2 메모리 장치들(420-1~420-4)을 선택하기 위해 제2 칩 선택 신호(CS1)를 활성화할 수 있다. 따라서, 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)에 대한 라이트 동작과 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)에 대한 라이트 동작이 동시에 수행될 수 있다.
일례로, 호스트로부터 제1 데이터 내지 제4 데이터를 라이트 하라는 명령을 수신하면, 메모리 컨트롤러(MC)는 제1 메모리 장치(410-1)와 제2 메모리 장치(420-1) 각각으로 제1 데이터를 라이트할 수 있다. 이와 같은 원리로 제1 메모리 장치(410-2)와 제2 메모리 장치(420-2) 각각으로 제2 데이터를 라이트할 수 있고, 제1 메모리 장치(410-3)와 제2 메모리 장치(420-3) 각각으로 제3 데이터를 라이트할 수 있고, 제1 메모리 장치(410-4)와 제2 메모리 장치(420-4) 각각으로 제4 데이터를 라이트할 수 있다.
도 12와 도 13b를 참조하면, 메모리 컨트롤러(430)는 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)로부터 데이터를 리드할 수 있다(S320). 메모리 컨트롤러(430)는 제1 메모리 장치들(410-1~410-4)을 선택하기 위해 제1 칩 선택 신호(CS0)를 활성화할 수 있다. 이와 동시에 메모리 컨트롤러(430)는 제2 메모리 장치들(420-1~420-4)을 선택하지 않기 위해 제2 칩 선택 신호(CS1)를 비활성화할 수 있다.
따라서, 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)에 대한 리드 동작이 수행되는 반면, 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)에 대한 리드 동작은 수행되지 않을 수 있다.
도 12와 도 13c를 참조하면, 메모리 컨트롤러(430)는 제1 메모리 장치들(410-1~410-4)에 UECC가 발생했는지 여부를 감지할 수 있다(S330). 일례로, 메모리 컨트롤러(130)가 제1 메모리 장치들(410-1~410-4)에 UECC가 발생했는지 여부를 확인하는 방법은 단일 비트 에러 교정 및 2-비트 에러 검출(single bit error correcting double bit error detection(SEDEC)) 방식을 이용할 수 있다.
SEDEC은 단일 비트 에러가 발견된 경우 메모리 컨트롤러(430)는 상기 에러를 직접 교정할 수 있다. 그러나, 2-비트 에러가 발견된 경우 메모리 컨트롤러(430)는 이를 사용자에게 알리고 메모리 시스템(100D)의 운영을 정지시킬 수 있다. 또한, 3-비트 이상의 에러가 발견된 경우에도 메모리 컨트롤러(430)의 펌웨어가 이상 징후를 확인할 수 있다.
제1 메모리 장치들(410-1~410-4)에 UECC가 발생한 경우, 메모리 컨트롤러(430)는 제2 메모리 장치들(420-1~420-4)을 이용해서 데이터를 리드하고 라이트할 수 있다(S340).
제1 메모리 장치들(410-1~410-4)에 UECC가 발생하지 않으면, 메모리 컨트롤러(430)는 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)과 제2 랭크(RANK1)로 분류되는 제2 메모리 장치들(420-1~420-4)에 동시에 데이터를 라이트할 수 있다(S310). 그리고, 메모리 컨트롤러(430)는 제1 랭크(RANK0)로 분류되는 제1 메모리 장치들(410-1~410-4)로부터 데이터를 리드할 수 있다.
본 발명의 일 실시 예에 따르면 메모리 시스템(100D)은 멀티 랭크로 구성된 메모리 장치들(110-1~110-4, 120-1~120-4)을 포함할 수 있다. 메모리 장치들(110-1~110-4, 120-1~120-4) 중에서 제2 메모리 장치들(420-1~420-4)은 백업 영역으로 사용될 수 있다.
메모리 컨트롤러(430)는 제1 메모리 장치들(410-1~410-4)에 라이트될 데이터를 제2 메모리 장치들(420-1~420-4)에도 동시에 라이트 할 수 있다. 따라서, 제1 메모리 장치들(410-1~410-4)의 메모리 영역에 UECC가 발생하여도, 메모리 시스템은 제2 메모리 장치들(420-1~420-4)에 저장된 데이터를 이용하여 페일오버 기능을 수행할 수 있다.
또한, 제2 메모리 장치들(420-1~420-4)을 백업 영역으로 사용할 경우, 제1 메모리 장치들(410-1~410-4)만 사용할 때에 비해 MTBF가 2배 증가할 수 있다. 따라서, 메모리 시스템의 신뢰성을 2배 확보할 수 있다. 예컨대, 제1 메모리 장치들(410-1~410-4)만 사용할 때 MTBF가 200만 시간이라고 하면, 제1 메모리 장치들(410-1~410-4)과 함께 제2 메모리 장치들(420-1~420-4)을 백업 영역으로 사용할 때 MTBF는 400만 시간일 수 있다.
도 14는 본 발명의 일 실시 예에 따른 메모리 장치를 포함하는 전자 기기를 간단하게 나타낸 블록도이다.
도 14에 도시한 실시 예에 따른 전자 기기(1000)는 디스플레이(1010), 센서부(1020), 메모리(1030), 통신부(1040), 프로세서(1050), 및 포트(1060) 등을 포함할 수 있다. 이외에 컴퓨터 장치(1000)는 전원 장치, 입출력 장치 등을 더 포함할 수 있다. 도 14에 도시된 구성 요소 가운데, 포트(1060)는 전자 기기(1000)가 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하기 위해 제공되는 장치일 수 있다. 전자 기기(1000)는 일반적인 데스크톱 컴퓨터나 랩톱 컴퓨터 외에 스마트폰, 태블릿 PC, 스마트 웨어러블 기기 등을 모두 포괄하는 개념일 수 있다.
프로세서(1050)는 특정 연산이나 명령어 및 태스크 등을 수행할 수 있다. 프로세서(1050)는 중앙 처리 장치(CPU) 또는 마이크로프로세서 유닛(MCU), 시스템 온 칩(SoC) 등일 수 있으며, 버스(1070)를 통해 디스플레이(1010), 센서부(1020), 메모리(1030), 통신부(1040)는 물론, 포트(1060)에 연결된 다른 장치들과 통신할 수 있다.
메모리(1030)는 전자 기기(1000)의 동작에 필요한 데이터, 또는 멀티미디어 데이터 등을 저장하는 저장 매체일 수 있다. 메모리(1030)는 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리나, 또는 플래시 메모리 등과 같은 비휘발성 메모리를 포함할 수 있다. 또한 메모리(1030)는 저장장치로서 솔리드 스테이트 드라이브(SSD), 하드 디스크 드라이브(HDD), 및 광학 드라이브(ODD) 중 적어도 하나를 포함할 수도 있다. 도 14에 도시한 일 실시 예에서, 메모리(1030)는 앞서 도 1 내지 도 13을 참조하여 설명한 다양한 실시 예들에 따른 메모리 장치 또는 메모리 패키지로 구현될 수 있다.
본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되는 것이 아니며 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.
100; 메모리 시스템
110; 제1 메모리 모듈
200; 메모리 컨트롤러
300; 제2 메모리 모듈
110-1~110-4; 제1 메모리 장치들
120-1~120-4; 제2 메모리 장치들

Claims (10)

  1. 복수의 메모리 장치들을 포함하고, 상기 복수의 메모리 장치들 각각이 복수의 메모리 셀들 및 복수의 리던던시 메모리 셀들을 포함하고, 상기 복수의 메모리 장치들 중 적어도 하나가 백업 영역을 포함하는 메모리 모듈; 및
    상기 복수의 메모리 장치들 중에서 선택 메모리 장치의 선택 워드라인에 연결된 선택 메모리 셀들에 수정 가능 에러 정정 코드(correctable error correction code(CECC))가 발생했다고 판단되면, 상기 선택 메모리 셀들에 저장될 데이터를 상기 선택 메모리 셀들 및 상기 백업 영역에 저장하고, 상기 선택 워드라인을 상기 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인으로 대체하는 메모리 컨트롤러;를 포함하는 메모리 시스템.
  2. 제1항에 있어서, 상기 메모리 컨트롤러는,
    상기 백업 영역에 저장된 상기 데이터를 상기 리던던시 워드라인에 저장하는 메모리 시스템.
  3. 제1항에 있어서, 상기 메모리 컨트롤러는,
    상기 CECC의 발생 횟수가 가장 높은 영역의 주소와 상기 CECC의 발생 횟수를 저장하고, 상기 CECC의 발생 횟수를 기준 횟수와 비교하고, 상기 CECC의 발생 횟수가 상기 기준 횟수보다 클 때, 상기 선택 메모리 셀들에 저장될 데이터를 상기 선택 메모리 셀들 및 상기 백업 영역에 저장하는 메모리 시스템.
  4. 복수의 메모리 장치들을 포함하고, 상기 복수의 메모리 장치들 각각이 복수의 메모리 셀들 및 복수의 리던던시 메모리 셀들을 포함하고, 상기 복수의 메모리 장치들 중 적어도 하나가 백업 영역을 포함하는 메모리 모듈; 및
    상기 복수의 메모리 장치들 중에서 선택 메모리 장치의 제1 영역이 액세스 횟수가 높다고 판단되면, 상기 제1 영역의 선택 워드라인에 연결된 선택 메모리 셀들에 저장될 데이터를 상기 선택 워드라인 및 상기 백업 영역에 각각 저장하고, 상기 선택 워드라인을 상기 복수의 리던던시 메모리 셀들이 연결된 리던던시 워드라인으로 대체하는 메모리 컨트롤러;를 포함하는 메모리 시스템.
  5. 제4항에 있어서, 상기 메모리 컨트롤러는,
    상기 백업 영역에 저장된 데이터를 상기 리던던시 워드라인에 저장하는 메모리 시스템.
  6. 제4항에 있어서, 상기 메모리 컨트롤러는,
    상기 복수의 메모리 장치들 각각에 포함된 메모리 영역 중에서 액세스 횟수가 가장 높은 영역의 주소와 액세스 횟수를 상기 메모리 장치로부터 리드하고, 상기 액세스 횟수를 기준 횟수와 비교하고, 상기 액세스 횟수가 상기 기준 횟수보다 클 때, 상기 선택 메모리 셀들에 저장될 데이터를 상기 선택 워드라인 및 상기 백업 영역에 각각 저장하는 메모리 시스템.
  7. 제1 랭크로 분류되는 제1 메모리 장치들과 제2 랭크로 분류되는 제2 메모리 장치들을 포함하는 메모리 모듈; 및
    상기 제1 랭크를 선택하는 제1 칩 선택 신호와 상기 제2 랭크를 선택하는 제2 칩 선택 신호를 활성화하는 메모리 컨트롤러;를 포함하고,
    상기 메모리 모듈로 데이터를 라이트할 때, 상기 제1 칩 선택 신호와 상기 제2 칩 선택 신호는 동시에 활성화되고, 상기 제1 랭크와 상기 제2 랭크는 동시에 선택되고 동시에 제어되는 메모리 시스템.
  8. 제7항에 있어서,
    상기 메모리 모듈로 데이터를 라이트할 때, 상기 제1 메모리 장치들에 대한 라이트 동작과 상기 제2 메모리 장치들에 대한 라이트 동작이 상기 제1 칩 선택 신호와 상기 제2 칩 선택 신호에 의해서 동시에 수행되는 메모리 시스템.
  9. 제8항에 있어서,
    상기 메모리 모듈로부터 데이터를 리드할 때, 상기 제1 칩 선택 신호는 활성화되고 상기 제2 칩 선택 선택 신호는 비활성화 되며, 상기 제1 메모리 장치들에 대한 리드 동작이 수행되는 메모리 시스템.
  10. 제9항에 있어서,
    상기 제1 메모리 장치들에서 수정 불가능 에러 정정 코드(uncorrectable error correction code(UECC))가 발생된 경우, 상기 제1 칩 선택 신호는 비활성화되고 상기 제2 칩 선택 신호는 활성화되고, 상기 제2 메모리 장치들에 대한 리드/라이트 동작이 수행되는 메모리 시스템.
KR1020190089434A 2019-07-24 2019-07-24 메모리 시스템 KR20210013387A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190089434A KR20210013387A (ko) 2019-07-24 2019-07-24 메모리 시스템
US16/793,381 US11231992B2 (en) 2019-07-24 2020-02-18 Memory systems for performing failover
CN202010623751.4A CN112306760A (zh) 2019-07-24 2020-07-01 执行失效转移的存储器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190089434A KR20210013387A (ko) 2019-07-24 2019-07-24 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20210013387A true KR20210013387A (ko) 2021-02-04

Family

ID=74189295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190089434A KR20210013387A (ko) 2019-07-24 2019-07-24 메모리 시스템

Country Status (3)

Country Link
US (1) US11231992B2 (ko)
KR (1) KR20210013387A (ko)
CN (1) CN112306760A (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10770127B2 (en) * 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
US11983068B1 (en) * 2023-03-17 2024-05-14 Vanguard International Semiconductor Corporation Memory device and control method for memory device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100339416B1 (ko) * 1999-09-15 2002-05-31 박종섭 칼럼 리던던시 회로를 구비한 비휘발성 강유전체 메모리 장치 및 그의 페일 어드레스 구제방법
US6385071B1 (en) * 2001-05-21 2002-05-07 International Business Machines Corporation Redundant scheme for CAMRAM memory array
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
GB2439577B (en) * 2006-06-30 2011-12-14 Data Equation Ltd Data processing
JP4896605B2 (ja) * 2006-07-04 2012-03-14 株式会社東芝 不揮発性半導体記憶システム
US8041990B2 (en) 2007-06-28 2011-10-18 International Business Machines Corporation System and method for error correction and detection in a memory system
JP2009015978A (ja) * 2007-07-05 2009-01-22 Toshiba Corp 半導体記憶装置及びメモリシステム
US8086783B2 (en) 2009-02-23 2011-12-27 International Business Machines Corporation High availability memory system
JP5365310B2 (ja) 2009-03-31 2013-12-11 富士通株式会社 メモリ制御装置、メモリモジュール及びメモリ制御方法
US8793544B2 (en) 2010-12-29 2014-07-29 International Business Machines Corporation Channel marking for chip mark overflow and calibration errors
US9229816B2 (en) 2011-03-14 2016-01-05 Taejin Info Tech Co., Ltd. Hybrid system architecture for random access memory
US20120254500A1 (en) 2011-03-28 2012-10-04 Byungcheol Cho System architecture based on ddr memory
US20120278528A1 (en) 2011-04-28 2012-11-01 International Business Machines Corporation Iimplementing storage adapter with enhanced flash backed dram management
JP5737003B2 (ja) * 2011-06-27 2015-06-17 富士通セミコンダクター株式会社 半導体メモリ、システムおよび半導体メモリの製造方法
US20130191685A1 (en) 2012-01-19 2013-07-25 International Business Machines Corporation Per-rank channel marking in a memory system
US9953725B2 (en) * 2012-02-29 2018-04-24 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of operating the same
KR102174818B1 (ko) 2014-04-07 2020-11-06 에스케이하이닉스 주식회사 휘발성 메모리, 이를 포함하는 메모리 모듈 및 메모리 모듈의 동작 방법
JP2015219938A (ja) * 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US9804920B2 (en) 2014-11-20 2017-10-31 Samsung Electronics Co., Ltd. Rank and page remapping logic in a volatile memory
US9886341B2 (en) * 2014-12-31 2018-02-06 Sandisk Technologies Llc Optimizing reclaimed flash memory
US10078567B2 (en) * 2016-03-18 2018-09-18 Alibaba Group Holding Limited Implementing fault tolerance in computer system memory
CN110168642B (zh) * 2017-01-10 2023-08-01 株式会社半导体能源研究所 半导体装置及其工作方法、电子构件以及电子设备
CN110178213B (zh) * 2017-01-13 2023-09-05 株式会社半导体能源研究所 存储装置、半导体装置、电子构件以及电子装置
US10365967B2 (en) 2017-08-23 2019-07-30 Toshiba Memory Corporation On the fly raid parity calculation
US10950325B2 (en) * 2019-04-04 2021-03-16 Marvell Asia Pte., Ltd. Memory built-in self test error correcting code (MBIST ECC) for low voltage memories

Also Published As

Publication number Publication date
CN112306760A (zh) 2021-02-02
US11231992B2 (en) 2022-01-25
US20210026732A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
KR20210013387A (ko) 메모리 시스템
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN110825321B (zh) 存储设备及其操作方法
KR20180065423A (ko) 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US20180130537A1 (en) Data storage device and operating method thereof
KR102669545B1 (ko) 휘발성 메모리 장치의 리페어 제어 방법 및 이를 수행하는 스토리지 장치
US10665305B2 (en) Host device connectable to memory device performing patrol read and memory device performing patrol read
US11650752B2 (en) Computing system and operating method thereof
CN114730598A (zh) 利用分区命名空间简缩ssd中的逻辑到物理表指针
US10186302B2 (en) Semiconductor systems performing double-write operations and methods of operating the same
KR20220028300A (ko) 메모리 시스템 및 그 동작 방법
US10747660B2 (en) Method and system for forming and using memory superblocks based on performance grades
US11810627B2 (en) Selective read disturb sampling
KR102468710B1 (ko) 메모리 장치와 메모리 컨트롤러를 포함하는 메모리 시스템, 및 그의 동작방법
US20240256454A1 (en) Tokens to indicate completion of data storage
US10917111B2 (en) Error correction code unit and error correction method
CN117666943A (zh) 存储控制器、包括其的存储装置及其操作方法
US12032824B2 (en) Event log management method, controller and storage device
US11687405B2 (en) Centralized SRAM error location detection and recovery mechanism
KR101645829B1 (ko) 장치들 및 유효 마스크들을 저장하고 장치들을 동작시키는 방법들
US20210397505A1 (en) Stressed Epwr To Reduce Product Level DPPM/UBER
CN110442302B (zh) 存储器系统及用于操作存储器系统的方法
US9966148B1 (en) Data storage device and operating method thereof
KR20210054396A (ko) 저장 장치 및 그 동작 방법
US11379362B2 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
A201 Request for examination