KR20210041655A - 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 - Google Patents

메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20210041655A
KR20210041655A KR1020190123681A KR20190123681A KR20210041655A KR 20210041655 A KR20210041655 A KR 20210041655A KR 1020190123681 A KR1020190123681 A KR 1020190123681A KR 20190123681 A KR20190123681 A KR 20190123681A KR 20210041655 A KR20210041655 A KR 20210041655A
Authority
KR
South Korea
Prior art keywords
memory
read
data
area
mirroring
Prior art date
Application number
KR1020190123681A
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 KR1020190123681A priority Critical patent/KR20210041655A/ko
Priority to US16/855,373 priority patent/US11664083B2/en
Priority to CN202011075233.XA priority patent/CN112631822A/zh
Publication of KR20210041655A publication Critical patent/KR20210041655A/ko

Links

Images

Classifications

    • 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/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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
    • 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
    • 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/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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G11C11/4082Address Buffers; level conversion 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
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • 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/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • 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/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • 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/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control circuits
    • 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/14Implementation of control logic, e.g. test mode decoders
    • 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
    • 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
    • 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
    • G11C29/783Masking faults in memories by using spares or by reconfiguring using programmable devices with refresh of replacement cells, e.g. in DRAMs
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • 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

Landscapes

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

Abstract

본 발명에 따른 메모리 시스템은, 적어도 하나의 메모리 칩, 및 상기 적어도 하나의 메모리 칩을 제어하는 메모리 제어기를 포함하고, 상기 적어도 하나의 메모리 칩은, 미러링 모드에서 쓰기 동작시 쓰기 데이터를 저장하는 제 1 영역, 상기 미러링 모드에서 상기 쓰기 동작시 상기 쓰기 데이터를 저장하는 제 2 영역, 및 상기 미러링 모드에서 상기 제 1 영역에 대한 읽기 동작이 실패할 때 읽기 실패 신호를 발생하는 읽기 실패 지시기를 포함할 수 있다.

Description

메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법{MEMORY CHIP, MEMORY SYSTEM HAVING THE SAME AND OPERATING METHOD THEREOF}
본 발명은 데이터 신뢰성을 향상시키는 메모리 칩, 그것을 포함하는 메모리 시스템, 및 그것의 동작 방법에 관한 것이다.
일반적으로, DRAM(Dynamic Random Access Memory) 공정이 미세화 되면서 셀(cell) 특성이 취약해지고, 셀 결함(cell defect) 가능성이 점점 높아지고 있다. 그런데 데이터 센터, 차량 등 응용에서 메모리 불량은 중요한 문제를 야기할 수 있다. 따라서 메모리에 싱글 비트 에러(single bit error) 혹은 멀티-비트 에러(multi-bit error) 발생할 때, 이러한 불량을 구제하는 장치가 요구되고 있다.
본 발명은 데이터의 신뢰성을 향상시키는 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 제 1 중앙 처리 장치; 제 1 채널을 통하여 상기 제 1 중앙 처리 장치에 연결된 제 1 메모리 모듈들; 제 2 채널을 통하여 상기 제 1 중앙 처리 장치에 연결된 제 2 메모리 모듈들; 및 제 3 채널을 통하여 상기 제 1 중앙 처리 장치에 연결된 제 3 메모리 모듈들을 포함하고, 상기 제 1 메모리 모듈들, 상기 제 2 메모리 모듈들, 및 상기 제 3 메모리 모듈들의 각각은, 미러링 모드에서 어드레스에 응답하여 데이터 영역과 미러링 데이터 영역에 동일한 데이터를 쓰는 것을 특징으로 한다.
본 발명의 다른 실시 예에 따른 메모리 시스템은, 적어도 하나의 메모리 칩; 및 상기 적어도 하나의 메모리 칩을 제어하는 메모리 제어기를 포함하고, 상기 적어도 하나의 메모리 칩은, 미러링 모드에서 쓰기 동작시 쓰기 데이터를 저장하는 제 1 영역; 상기 미러링 모드에서 상기 쓰기 동작시 상기 쓰기 데이터를 저장하는 제 2 영역; 및 상기 미러링 모드에서 상기 제 1 영역에 대한 읽기 동작이 실패할 때 읽기 실패 신호를 발생하는 읽기 실패 지시기를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 읽기 동작시 메모리 셀 어레이로부터 출력하는 데이터의 에러 검출 시 에러 검출 신호를 발생하고, 미러링 모드에서 쓰기 동작시 제 1 영역과 제 2 영역에 동일한 데이터를 쓰는 적어도 하나의 메모리 칩; 및 상기 에러 검출 신호를 상기 적어도 하나의 메모리 칩을 제어하는 메모리 제어기를 포함하고, 상기 메모리 제어기는, 상기 에러 검출 신호를 모니터링 하여 상기 적어도 하나의 메모리 칩의 상기 미러링 모드의 활성 여부를 결정하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 메모리 칩의 동작 방법은, 미러링 모드를 설정하는 단계; 쓰기 동작시 하나의 어드레스에 대응하는 제 1 영역과 제 2 영역에 동일한 데이터를 쓰는 단계; 읽기 동작시 상기 제 1 영역으로부터 읽혀진 데이터의 에러를 검출하는 단계; 상기 검출된 에러의 개수가 기준값 이상일 때, 상기 읽기 동작의 데이터 출력 패스를 변경하는 단계; 및 상기 검출된 에러의 상기 개수가 상기 기준값 이상일 때, 메모리 제어기로 리드-리클레임을 요청하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 칩은, 워드라인들과 비트라인들에 연결되는 복수의 메모리 셀들을 갖는 제 1 영역과 제 2 영역으로 갖는 메모리 셀 어레이; 로우 어드레스에 응답하여 상기 워드라인들 중에서 어느 하나를 선택하는 로우 디코더; 읽기 동작시 선택된 비트라인들에 연결된 메모리 셀들로부터 데이터를 감지하는 감지 증폭 회로; 컬럼 어드레스에 응답하여 상기 비트라인들 중에서 상기 선택된 비트라인들을 선택하는 컬럼 디코더; 상기 로우 어드레스 및 상기 컬럼 어드레스를 갖는 어드레스를 저장하는 어드레스 버퍼; 상기 감지된 데이터의 에러를 정정하고, 에러 정정이 불가할 때 읽기 실패 신호를 발생하는 읽기 실패 지시기; 미러링 모드에 대응하는 미러링 모드 활성화 신호를 발생하는 미러링 모드 활성 신호 발생기; 및 상기 미러링 모드에서 쓰기 동작시 상기 제 1 영과 상기 제 2 영역에 동일한 쓰기 데이터를 쓰고, 상기 미러링 모드에서 리드 리트라이 명령에 응답하여 읽기 동작의 데이터 출력 패스를 상기 1 영역의 데이터 출력 패스에서 상기 제 2 영역의 데이터 출력 패스로 변경하는 제어 로직을 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 칩, 그것을 갖는 메모리 시스템, 및 그것의 동작 방법은, 온-다이 미러링 동작을 수행함으로써, 데이터의 신뢰성을 향상시킬 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 일반적인 메모리 시스템의 정상 동작을 보여주는 도면이다.
도 2는 일반적인 메모리 시스템의 채널 미러링을 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 메모리 시스템(10)을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 메모리 모듈(12-1)을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 메모리 칩(100)을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 온-다이 미러링 모드에서 메모리 칩(100)의 쓰기 동작을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 미러링 모드 활성 신호 발생기(190)를 예시적으로 보여주는 도면이다.
도 8a는 본 발명의 실시 예에 따른 온-다이 미러링 모드에서 읽기 실패 과정을 예시적으로 보여주는 도면이고, 도 8b는 본 발명의 실시 예에 따른 온-다이 미러링 모드에서 리드 리트라이(read retry) 과정을 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 로우 어드레스(RA)의 구성을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 메모리 시스템(20)을 예시적으로 보여주는 도면이다.
도 11a는 에러 정정 회로(ECC)를 이용한 읽기 실패 지시기(180)를 보여주는 도면이고, 도 11b는 데이터 비교 방식에 따른 읽기 실패 지시기(180)를 보여주는 도면이다.
도 12a는 메모리 칩(100)의 EIS 핀을 통하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송하는 것을 보여주는 도면이고, 도 12b는 메모리 칩(100)의 DQS 핀들을 통하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송하는 것을 보여주는 도면이고, 도 12c는 모드 레지스터를 통하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송하는 것을 보여주는 도면이다.
도 13은 본 발명의 다른 실시 예에 따른 메모리 시스템(30)을 예시적으로 보여주는 도면이다.
도 14는 본 발명의 실시 예에 따른 에러 정정 동작을 모니터링한 결과와 그에 따른 온-다이 미러링 활성화 구간을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 메모리 시스템의 온-다이 미러링 동작을 예시적으로 보여주는 래더 다이어그램이다.
도 16은 본 발명의 실시 예에 따른 BIOS 설정을 예시적으로 보여주는 도면이다.
도 17은 본 발명의 실시 예에 따른 TMRS 설정을 예시적으로 보여주는 도면이다.
도 18은 본 발명의 실시 예에 따른 MR 설정을 예시적으로 보여주는 도면이다.
도 19는 본 발명의 실시 예에 따른 전자 장치(40)를 예시적으로 보여주는 도면이다.
도 20은 본 발명의 실시 예에 따른 메모리 칩의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 21은 본 발명의 실시 예에 따른 메모리 제어기의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 22는 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 23은 본 발명의 실시 예에 따른 메모리 칩을 예시적으로 보여주는 블록도이다.
도 24는 본 발명의 실시 예에 따른 컴퓨팅 시스템(2000)을 예시적으로 보여주는 도면이다.
도 25는 본 발명의 실시 예에 따른 모바일 장치(3000)를 예시적으로 보여주는 도면이다.
도 26은 본 발명의 실시 예에 따른 컴퓨팅 시스템(4000)을 예시적으로 보여주는 도면이다.
도 27은 본 발명의 실시 예에 따른 데이터 서버 시스템(5000)을 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
도 1은 일반적인 메모리 시스템의 정상 동작을 보여주는 도면이다. 도 1을 참조하면, 메모리 시스템은 2-CPU(Central Processing Unit; CPU1, CPU2), 3-Channel(CH1, CH2, CH3), 3-DIMM(Dual In-line Memory Module)을 포함한다. 도 1에 도시된 바와 같이, 메모리 시스템은 6개의 채널들(CH1 ~ CH6)의 각각에 연결된 3개의 DIMM들로 구성되고, 정상 동작에서 메모리 시스템은 전체 18개의 DIMM들을 사용하고 있다. 일반적으로 메모리 시스템은 신뢰성 향상을 위하여 채널 미러링(channel mirroring)을 적용하고 있다.
도 2는 일반적인 메모리 시스템의 채널 미러링을 보여주는 도면이다. 도 2을 참조하면, 채널 미러링은 채널 감소에 따라 성능 감소, 메모리 용량감소 (전체 메모리 용량의 정상 동작의 1/2 혹은 worst case 1/3로) 등의 문제점을 갖는다.
미러링 모드를 적용하지 않을 때, 도 1에 도시된 바와 같이 Fully Channel 및 DIMM을 동작하므로 메모리 용량 및 성능 효과가 있다. 하지만, 도 2에 도시된 바와 같이 미러링 모드를 적용하면, CH1/CH2의 미러링 동작에 따라 신뢰성(reliability)가 향상된다. 하지만 CH1은 미러 모드 동작으로 사용되지만, CH2는 사용되지 않기 때문에, 전체 용량은 1/3로 감소된다. 또한 채널 동작(channel operation)이 되지 않기 때문에 전체적인 성능 감소도 야기될 수 있다.
또한, 채널 미러링은 불량 판독을 위해 메모리 모듈 내부에 ECC(Error Correction Code) 구성을 추가로 요구하고 있다. 채널 개념으로 메모리 운영을 하지 않으면서, ECC 구성이 존재하지 않는 시스템에 적용이 어렵다. 예를 들어, 자율주행 차량(automotive vehicle), 모바일 시스템(mobile system) 및 SIP(Session Initiation Protocol) 적용된 그래픽 시스템(graphic system)에서 메모리 접근(memory access) 동작시 불량이 발생할 경우, 시스템 홀트(system halt) 혹은 비정상적인 데이터 처리로 크리티컬 이슈(critical issue)가 야기되고 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 미러링 모드에서 성능 저하 및 용량 감소를 야기하지 않으면서 신뢰성 확보를 가능하게 하는 온-다이 미러링(on-die mirroring) 기법에 의해 동작할 수 있다. 여기서 온-다이 미러링 기법은, 메모리 모듈의 내부에서 자체적으로 미러링을 수행하는 방법이다.
도 3은 본 발명의 실시 예에 따른 메모리 시스템(10)을 예시적으로 보여주는 도면이다. 도 3을 참조하면, 메모리 시스템(10)은 제 1 CPU(11-1), 제 2 CPU(11-2), CPU들(11-1, 11-2)의 각각에 연결된 3개의 채널들(CH1~CH3, CH4~CH6), 채널들(CH1~CH6)의 각각에 연결된 메모리 모듈들(12-1, 12-2, 12-3)을 포함할 수 있다. 한편, CPU의 개수, 채널의 개수, 메모리 모듈의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 메모리 모듈들(12-1, 12-2, 12-3)의 각각은, SIMM(Single In-line Memory Module), DIMM(Dual In-line Memory Module), SODIMM(Small-Outline DIMM), UDIMM(Unbuffered DIMM), FBDIMM(Fully-Buffered DIMM), RBDIMM(Rank-Buffered DIMM), mini-DIMM, micro-DIMM, RDIMM(Registered DIMM) 혹은 RDIMM(Load-Reduced DIMM)으로 구현될 수 있다. 실시 예에 있어서, 메모리 모듈들(12-1, 12-2, 12-3)의 각각은 휘발성 메모리 장치 혹은 비휘발성 메모리 장치를 포함할 수 있다.
실시 예에 있어서, 메모리 시스템(10)은, 온-다이 미러링 모드시 채널들(CH1, CH2, CH3)에 연결된 메모리 모듈들(12-1, 12-2, 12-3)의 각각에서 온-다이 미러링 동작을 수행할 수 있다. 여기서 온-다이 미러링 동작은, 하나의 어드레스에 응답하여 제 1 영역(DA)과 제 2 영역(MDA)에 동시에 동일한 데이터를 쓰는 쓰기 동작, 및 어느 하나의 어드레스에 응답하여 제 1 영역(DA; Data Area) 및 제 2 어드레스(MDA; Mirrored Data Area) 중에서 어느 하나로부터 읽혀진 데이터를 출력하는 읽기 동작을 포함할 수 있다.
실시 예에 있어서, 메모리 시스템(10)은 온-다이 미러링 모드시 메모리 모듈들(12-1, 12-2, 12-3)의 각각에 리드 리트라이(read retry; 재읽기)을 수행할 수 있다. 여기서 리드 리트라이는, 제 1 영역(DA)에 대한 읽기 동작 실패할 때, 제 2 영역(MDA)에 대한 읽기 동작을 수행하는 것이다.
본 발명의 실시 예에 따른 메모리 시스템(10)은, 온-다이 미러링 동작을 수행하는 복수의 메모리 모듈들(12-1, 12-2, 12-3)을 구비함으로써, 미러링 모드에서도 성능 저하 및 용량 감소를 최소화하면서 데이터의 신뢰성을 확보할 수 있다.
도 4는 본 발명의 실시 예에 따른 메모리 모듈(12-1)을 예시적으로 보여주는 도면이다. 도 4를 참조하면, 메모리 모듈(12-1)은 복수의 메모리 칩들(100-1, 100-2, 100-3, 100-4)과 드라이버 회로(RSD; 300)를 포함할 수 있다.
복수의 메모리 칩들(100-1 ~ 100-4)의 각각은, DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM), DDR SDRAM(Double Data Rate SDRAM), LPDDR SDRAM(Low Power Double Data Rate SDRAM), GDDR SDRAM(Graphics Double Data Rate SDRAM), RDRAM(Rambus DRAM) 및 SRAM(Static RAM) 등과 같은 휘발성 메모리, 혹은 PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM), 및 플래시 메모리 등과 같은 비휘발성 메모리를 포함할 수 있다. 실시 예에 있어서, 복수의 메모리 칩들(100-1 ~ 100-4)의 각각은, DDR, DDR2, DDR3, DDR4 및 DDR5 등과 같은 다양한 표준에 따른 DRAM 칩으로 구현될 수 있다. 한편, 도 4에 도시된 메모리 모듈의 메모리 칩들의 개수는 4이지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 복수의 메모리 칩들(100-1 ~ 100-4)의 각각은, 온-다이 미러링 동작을 수행하도록 구현될 수 있다. 도 4에 도시된 바와 같이, 메모리 칩들(100-1 ~ 100-4)의 각각은, 하나의 어드레스에 응답하여 동일한 데이터를 저장하는 제 1 영역(A)와 제 2 영역(B)을 포함할 수 있다.
RCD(Registered Clock Driver; 200)는 CPU(11-1)로부터 커맨드, 어드레스, 및 클록을 수신하도록 구현될 수 있다. RCD(300)는 수신된 커맨드, 어드레스 및 클록을 메모리 칩들(100-1 ~ 100-4)에 전송할 수 있다.
도 5는 본 발명의 실시 예에 따른 메모리 칩(100)을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 메모리 칩(100)은 메모리 셀 어레이(110), 로우 디코더(120), 감지 증폭 회로(SA; 130), 컬럼 디코더(140), 어드레스 버퍼(150), 제어 로직(160), 입출력 회로(170), 읽기 실패 지시기(Read Failure Indicator; 180), 및 미러링 모드 활성 신호 발생기(190)를 포함할 수 있다.
메모리 셀 어레이(110)는, 로우(row) 방향과 컬럼(column) 방향으로 배열되어 있는 복수의 메모리 셀들을 갖는 복수의 뱅크들을 포함할 수 있다. 여기서 메모리 셀들의 각각은 휘발성/비휘발성 메모리 셀일 수 있다. 실시 예에 있어서, 메모리 셀 어레이(110)는 제 1 영역(A, 정상 데이터 영역)와 제 2 영역(B, 미러링 데이터 영역)을 포함할 수 있다.
로우 디코더(120)는 로우 어드레스(RA)에 응답하여 복수의 워드 라인들을 중에서 어느 하나를 선택하도록 구현될 수 있다. 즉, 로우 디코더(120)는 어드레스 버퍼(150)로부터 출력된 로우 어드레스(RA)를 디코딩하고, 데이터 쓰기/읽기 모드에서 로우 어드레스(RA)에 대응하는 워드 라인을 선택할 수 있다. 특히, 로우 디코더(120)에 의해 워드 라인의 선택에 의해 제 1 영역(A)의 메모리 셀과 제 2 영역(B)의 메모리 셀이 동시에 활성화될 수 있다.
또한, 로우 디코더(120)는 리프레쉬 제어 회로(161)로부터 발생되는 로우 어드레스에 기초하여 대응하는 워드 라인을 리프레쉬 할 수 있다.
감지 증폭 회로(130)는 선택된 메모리 셀의 데이터를 감지/증폭하도록 구현될 수 있다. 예를 들어, 감지 증폭 회로(130)는 컬럼 디코더(140)에 의해 선택된 비트라인의 전압을 감지/증폭함으로써 데이터를 감지할 수 있다. 메모리 뱅크는 복수의 서브 어레이들을 포함하는 경우, 감지 증폭 회로(130)는 복수의 감지 증폭기들을 포함할 수 있다.
컬럼 디코더(140)는 컬럼 어드레스(CA)에 응답하여 메모리 셀에 연결된 비트 라인을 선택하도록 구현될 수 있다. 즉, 컬럼 디코더(140)는 어드레스 버퍼(150)로부터 출력된 컬럼 어드레스(CA)를 디코딩 하고, 데이터 쓰기/읽기 모드에서 컬럼 어드레스(CA)에 대응하는 비트라인을 선택할 수 있다. 좀 더 자세하게, 컬럼 디코더(140)는 컬럼 선택 라인들(Column Select Lines)을 통해 메모리 셀 어레이(110)에 연결될 수 있다. 컬럼 디코더(1400)는 쓰기/읽기 명령에 기초하여 컬럼 선택 라인들을 선택할 수 있다. 컬럼 디코더(140)가 컬럼 선택 라인들을 선택하면, 비트 라인들(BL)이 선택될 수 있다. 
어드레스 버퍼(150)는 외부(예, 메모리 제어기)로부터 어드레스(ADD)를 수신하도록 구현될 수 있다. 여기서 어드레스(ADD)는 로우 어드레스(RA), 컬럼 어드레스(CA), 뱅크 어드레스, 뱅크 그룹 어드레스 등을 포함할 수 있다.
제어 로직(160)은 메모리 칩(100)의 전반적인 동작을 제어하도록 구현될 수 있다. 제어 로직(160)은 리프레쉬 제어회로(161), 커맨드 디코더(162), 모드 레지스터 회로(MRS, 163)를 포함할 수 있다.
리프레쉬 제어 회로(161)는 커맨드 디코더(162)로부터 디코딩된 리프레쉬 신호를 수신하고, 메모리 셀 어레이(110)의 하나의 워드 라인을 리프레쉬 하기 위해 내부 로우 어드레스를 로우 디코더(120)로 출력할 수 있다.
커맨드 디코더(162)는 외부 장치(메모리 제어기)로부터 커맨드(CMD)를 수신하고, 수신된 커맨드(CMD)룰 디코딩한 명령 신호(예를 들어, 액티브 신호, 리드 신호, 라이트 신호, 리프레쉬 신호 등)를 내부적으로 발생할 수 있다.
모드 레지스터 회로(163)는 메모리 칩(100)의 동작 모드를 지정하기 위한 MRS/EMRS 커맨드에 응답하여 내부의 모드 레지스터를 설정할 수 있다. 또한, 모드 레지스터 회로(163)는 쓰기 동작/읽기 동작에 따라 입출력 회로(170)의 동작을 제어하기 위하여, 입출력 회로(170)로 활성화 신호를 출력할 수 있다. 또한, 모드 레지스터 회로(163)는 온-다이 미러링 동작을 수행하기 위한 미러링 모드를 설정하는 레지스터를 포함할 수 있다. 한편, 도 5에서 온-다이 미러링 모드는 MRS(Mode Register Set)에 의해 설정되지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다.
한편, 본 발명의 온-다이 미러링 모드는, 사전에 결정된 적어도 하나의 핀을 통하여 수신된 데이터에 의해 설정될 수 있다. 실시 예에 있어서, 온-다이 미러링 동작은, 시스템에서 BIOS 설정을 통하여 TMRS(Test Mode Register Set) 설정함으로써 활성 되거나, 규격화된 MR(Mode Register Setting) 발행함으로써 활성 되거나, 퓨징(fusing)에 의해 디폴트 미러링(default mirroring)으로 활성 될 수 있다.
입출력 회로(170)는 쓰기 동작시 DQ 핀들을 통하여 외부 장치로부터 데이터를 수신하고, 수신된 데이터를 감지 증폭 회로(130)로 전달할 수 있다. 또한, 입출력 회로(170)는 읽기 동작시 어드레스(ADD)에 대응하는 메모리 셀들로부터 감지 증폭 회로(130)에 감지된 데이터를 수신하고, 수신된 데이터를 DQ 핀들을 통하여 외부 장치로 출력할 수 있다.
또한, 입출력 회로(170)는 외부 장치(메모리 제어기)의 리드 리트라이 명령에 따라 데이터 출력 패스를 변경하도록 구현될 수 있다. 예를 들어, 입출력 회로(170)는 정상 읽기 동작에서 제 1 영역(A)의 데이터를 출력하도록 제 1 읽기 출력 패스(정상 데이터 출력 패스)를 선택하고, 리드 리트라이 명령에 따른 읽기 동작시 제 2 영역(B)의 데이터를 출력하도록 제 2 읽기 출력 패스(미러링 데이터 출력 패스)를 선택할 수 있다. 도시되지 않았지만, 제 1 읽기 출력 패스와 제 2 읽기 출력 패스의 선택을 위한 스위칭 회로가 구비될 수 있다.
읽기 실패 지시기(180)는 읽기 동작시 감지된 데이터의 에러를 검출하고, 검출된 에러에 대응하는 읽기 실패 신호(RFS)를 발생할 수 있다. 예를 들어, 읽기 실패 지시기(180)는 검출된 에러의 개수가 기준값 이상일 때 읽기 실패 신호(RFS)를 발생할 수 있다.
미러링 모드 활성 신호 발생기(190)는 미러링 모드에 대응하는 미러링 모드 활성화 신호(OMMEN)를 발생할 수 있다.
한편, 도 5에 도시되지는 않았지만, 메모리 칩(100)은 클록 신호를 발생하기 위한 클록 회로, 외부로부터 인가되는 전원 전압을 수신하여 내부전압을 생성하거나 분배하는 전원 회로 등을 더 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 칩(12-1)은, 읽기 동작의 실패 유무를 판별하고, 그 결과에 대응하는 읽기 실패 신호(RFS)를 외부 장치로 전송하고, 외부 장치로부터 리드 리트라이 명령에 응답하여 미러링 영역의 데이터를 출력할 수 있다.
도 6은 본 발명의 실시 예에 따른 미러링 모드 활성 신호 발생기(190)를 예시적으로 보여주는 도면이다. 도 6을 참조하면, 미러링 모드 활성 신호 발생기(190)는 제 1 논리 회로(191) 및 제 2 논리 회로(192)를 포함할 수 있다.
제 1 논리 회로(191)는 TMRS 코드 값과 퓨즈 컷 정보를 OR 연산하도록 구현될 수 있다. 여기서 퓨즈 컷 정보는, 도 3 및 도 4에서 설명된 테스트 동작에서 온-다이 미러링 모드에 대응하는 퓨즈 컷팅을 통하여 생성될 수 있다. 따라서, 퓨즈 컷 정보는, 테스트 동작에서 결정될 수 있다.
제 2 논리 회로(192)는 BIOS/MR 값과 제 1 논리 회로(191)의 출력값을 OR 연산함으로써 미러링 모드 활성화 신호(OMMEN)를 발생할 수 있다.
도 7은 본 발명의 실시 예에 따른 온-다이 미러링 모드에서 메모리 칩(100)의 쓰기 동작을 예시적으로 보여주는 도면이다. 도 7을 참조하면, 쓰기 데이터는 로우 어드레스(RA)와 컬럼 어드레스(CA)에 응답하여 제 1 영역(A)과 제 2 영역(B)의 각각에 선택된 워드라인(WL)과 선택된 비트라인(BL)을 연결된 메모리 셀에 쓰여 질 수 있다. 하나의 로우 어드레스(RA)에 대응하는 두 개의 메모리 셀에 동일한 데이터가 쓰여 질 수 있다.
한편, 도 7에 도시된 제 1 영역(A)와 제 2 영역(B)은, 대응하는 로우 디코더들(121, 122)과 공유된 컬럼 디코더(140)을 통해 접근될 수 있다. 하지만, 본 발명의 로우 디코더/컬럼 디코더의 구조가 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 8a는 본 발명의 실시 예에 따른 온-다이 미러링 모드에서 읽기 실패 과정을 예시적으로 보여주는 도면이고, 도 8b은 본 발명의 실시 예에 따른 온-다이 미러링 모드에서 리드 리트라이(read retry) 과정을 보여주는 도면이다.
도 8a를 참조하면, 제 1 영역(A)의 메모리 셀이 불량일 때, 읽혀진 데이터는 읽기 실패될 수 있다. 읽기 실패시 메모리 칩(100)은 읽기 실패 신호(RFS)를 외부 장치(메모리 제어기)로 전송할 수 있다.
도 8b를 참조하면, 외부 장치로부터 리드 리트라이 요청이 수신되면, 메모리 칩(100)은 제 2 영역(B)의 메모리 셀로부터 읽혀진 데이터를 읽기 데이터로 출력할 수 있다.
한편, 본 발명이 리드 리트라이에 제한되지 않는다고 이해되어야 할 것이다. 본 발명의 메모리 칩은, 제 1 영역(A)에 대한 읽기 실패 시 외부 장치로 리드 리트라이를 요청하기 위한 읽기 실패 신호(RFS)를 전송하지 않고, 즉시 제 2 영역(B)의 메모리 셀의 데이터를 외부 장치로 출력할 수도 있다.
도 9는 본 발명의 실시 예에 따른 로우 어드레스(RA)의 구성을 예시적으로 보여주는 도면이다. 도 9를 참조하면, 로우 어드레스(RA)는 k개의 로우 어드레스 비트들(ADD1, ADD2, ADD3, ??, ADDk)을 포함할 수 있다. 실시 예에 있어서, 로우 어드레스(ADD)의 최상위비트(MSB, Most Significant Bit), 즉 제 1 어드레스 비트(ADD1)은, 메모리 칩(100)의 로우 디코더(120)에서 무시될 수 있다(Don't Care). 즉, 메모리 칩(100)은 k-1개의 어드레스 비트들에 의해 제 1 영역(A) 및 제 2 영역(B)에 접근될 수 있다.
실시 예에 있어서, 메모리 칩(100)에서 로우 어드레스(RA)의 최상위비트(MSB; ADD1)를 전송하는 핀은 읽기 실패 신호(RFS)를 전송하는 핀으로 이용될 수 있다. 예를 들어, 메모리 셀의 불량시 로우 어드레스(RA)의 최상위비트(MSB)를 전송하는 핀은 하이 레벨의 신호를 메모리 제어기로 출력할 수 있다.
한편, 본 발명의 실시 예에 따른 온-다이 미러링 메모리 칩을 구현하기 위하여 로우 어드레스의 최상위비트가 무시되었다. 하지만, 본 발명이 여기에 제한될 필요가 없다고 이해되어야 할 것이다. 본 발명의 온-다이 미러링 메모리 칩은 로우 어드레스의 최상위 비트를 제외한 다른 비트를 무시하도록 구현될 수 있다.
한편, 본 발명의 실시 예에 따른 온-다이 미러링 메모리 칩을 구현하기 위하여 로우 어드레스를 사용하였다. 하지만 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명은 메모리 칩의 설계에 따라 다양한 종류의 어드레스들(컬럼 어드레스, 뱅크 어드레스, 뱅크 그룹 어드레스 등) 중에서 적어도 하나를 이용하여 온-다이 미러링 기능을 수행할 수 있다.
한편, 도 3 내지 도 9에서는 채널을 사용하는 메모리 시스템(10)에 적용되는 온-다이 미러링 스킴을 설명하였다. 하지만 본 발명의 실시 예에 따른 온-다이 미러링 스킴은 채널을 사용하는 메모리 시스템(10) 외에도 채널을 필요로 하지 않는 메모리 시스템에 적용 가능하다.
도 10은 본 발명의 실시 예에 따른 메모리 시스템(20)을 예시적으로 보여주는 도면이다. 도 10을 참조하면, 메모리 시스템(20)은 메모리 칩(DRAM; 100) 및 메모리 칩을 제어하는 메모리 제어기(200)를 포함할 수 있다.
메모리 칩(100)은, 하나의 어드레스에 응답하여 동일한 데이터를 쓰는 제 1 영역(A)와 제 2 영역(B)를 갖는 메모리 셀 어레이(110)과, 제 1 영역(A)/제 2 영역(B)의 읽기 동작시 읽기 실패를 검출하는 읽기 실패 지시기(180)를 포함할 수 있다.
실시 예에 있어서, 읽기 실패 지시기(180)는 제 1 영역(A) 및 제 2 영역(B) 중에서 어느 하나의 읽기 동작 시, 읽기 실패 신호(RFS)를 발생하고, 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송할 수 있다.
메모리 제어기(200)는 메모리 칩(100)으로부터 읽기 실패 신호(RFS)를 수신하고, 리드 리트라이(read retry)를 메모리 칩(100)으로 요청할 수 있다. 메모리 칩(100)은 리드 리트라이 명령에 응답하여 읽기 실패된 영역(예를 들어, A)이 아닌 다른 영역(예를 들어, B)으로부터 읽혀진 데이터를 메모리 제어기(200)로 출력할 수 있다.
도 11a는 에러 정정 회로(ECC)를 이용한 읽기 실패 지시기(180)를 보여주는 도면이고, 도 11b는 데이터 비교 방식에 따른 읽기 실패 신호(RFS)를 발생하는 읽기 실패 지시기(180)를 보여주는 도면이다.
도 11a을 참조하면, 읽기 실패 지시기(180)는 에러 정정 회로(181)를 포함할 수 있다. 에러 정정 회로(181)는 읽혀진 데이터의 에러를 정정하도록 구현될 수 있다. 동시에 에러 정정 회로(181)는 에러 정정이 불가할 때 읽기 실패 신호(RFS)를 발생할 수 있다.도 11b를 참조하면, 읽기 실패 지시기(180)는 논리 회로(182)를 포함할 수 있다. 동일 어드레스(ADD)에 응답하여 제 1 영역(A)과 제 2 영역(B)로부터 정상 영역 데이터 및 미러링된 영역 데이터가 출력될 수 있다. 논리 회로(182)는 정상 영역 데이터 및 미러링된 영역 데이터를 XOR 연산함으로써, 읽기 실패 신호(RFS)를 출력할 수 있다. 즉, 정상 영역 데이터 및 미러링된 영역 데이터가 서로 다르면, 읽기 실패 신호(RFS)가 출력될 수 있다. 이러한 읽기 실패 신호(RFS)는 메모리 제어기(200)의 리드 리트라이 요청에 이용될 수 있다.
한편, 메모리 칩(100)은 읽기 실패 신호(RFS)에 응답하여 리드 리트라이(read retry) 요청을 발생하고, 리드 리트라이 요청을 다양한 방식으로 제어기(200)으로 전송할 수 있다. 예를 들어, 메모리 칩(100)은 추가적 핀으로 리드 리트라이 요청을 제어기(200)로 전달하거나, DQS 더미 신호(dummy signal)를 통하여 리드 리트라이 요청을 제어기(200)로 전달하거나, 제어기(200)의 MR(Mode Register) 읽기 동작을 이용하여 리드 리트라이 정보를 제어기(200)로 전달할 수 있다.
또한, 메모리 칩(100)은 읽기 실패 신호(RFS)에 응답하여 리드 리트라이 요청을 발생하지 않고, 직접적으로 읽기 실패 신호(RFS)를 다양한 방식에 의해 메모리 제어기(200)로 전송할 수도 있다. 예를 들어, 읽기 실패 신호(RFS)는 별도의 에러 지시 신호(Error Indication Signal; EIS) 핀을 통하여 메모리 제어기(200)로 전송되거나, DQS 라인들에 추가적인 비트들을 로딩 함으로써 메모리 제어기(200)로 전송될 수 있다. 혹은, 메모리 제어기(200)가 모드 레지스터(Mode Register; MR)을 통해 메모리 칩(100)의 상태를 확인할 수도 있다.
도 12a는 메모리 칩(100)의 EIS 핀을 통하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송하는 것을 보여주는 도면이고, 도 12b는 메모리 칩(100)의 DQS 핀들을 통하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송하는 것을 보여주는 도면이고, 도 12c는 모드 레지스터를 통하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송하는 것을 보여주는 도면이다.
도 12a를 참조하면, 읽기 실패 지시기(180)로부터 발생된 읽기 실패 신호(RFS)는 메모리 칩(100)의 별도의 핀(EIS)를 통하여 메모리 제어기(200)으로 전송될 수 있다.
도 12b를 참조하면, 읽기 실패 지시기(180)로부터 발생된 읽기 실패 신호(RFS)는 DQS 핀들을 통하여 메모리 제어기(200)로 전송될 수 있다.
도 12c를 참조하면, 읽기 실패 지시기(180)로부터 발생된 읽기 실패 신호(RFS)는 모드 레지스터(163-1)에 저장되고, 메모리 제어기(200)는 주기적/비주기적으로 모드 레지스터(163-1)를 읽음으로써 읽기 실패 신호(RFS)를 수신할 수 있다. 실시 예에 있어서, 메모리 제어기(200)는 내부 정책에 따라 메모리 칩(100)의 모드 레지스터(163-1)를 읽을 수 있다.
한편, 도 10, 도 11, 도 12a, 도 12b, 및 도 12c에서 설명된 메모리 시스템(20)은 온-다이 미러링 모드의 리드 리트라이 동작을 설명하였다. 본 발명의 메모리 시스템은 온-다이 미러링 모드를 시스템 동작 중에 설정할 수도 있다.
도 13은 본 발명의 실시 예에 따른 메모리 시스템(30)을 예시적으로 보여주는 도면이다. 도 13을 참조하면, 메모리 시스템(30)은 메모리 칩(100a) 및 메모리 제어기(200a)를 포함할 수 있다.
메모리 칩(100a)은 읽혀진 데이터의 에러를 검출하여 에러 신호(ES)를 발생하는 에러 정정 회로(ECC, 182a)를 포함할 수 있다. 여기서 에러 신호(ES)는 메모리 제어기(200a)로 전송될 수 있다.
메모리 제어기(200a)는 메모리 칩(100a)으로부터 에러 신호(ES)를 수신하고, 온-다이 미러링 활성 여부를 판별하는 온-다이 미러링 활성화 판별기(120)를 포함할 수 있다. 메모리 제어기(200a)는 메모리 칩(100a)의 에러 정정 동작을 모니터링 함으로써, 메모리 셀의 열화 상태를 확인하고, 불량 발생 가능성을 수치화 할 수 있다. 불량 가능성 수치가 특정 임계점을 초과할 때, 메모리 제어기(200a)는 BIOS/MR/TRMS 등으로 온-더 플라이(On-The-Fly) 방식으로 메모리 칩(100a)의 온-다이 미러링 모드를 활성화시킬 수 있다.
도 14는 본 발명의 실시 예에 따른 에러 정정 동작을 모니터링한 결과와 그에 따른 온-다이 미러링 활성화 구간을 예시적으로 보여주는 도면이다. 도 14를 참조하면, 시간이 지남에 따라 페일된 개수가 점차적으로 증가하는 것을 볼 수 있다.
도 14에 도시된 바와 같이, 온-다이 미러링 활성화 구간은, 제 1 활성화 구간(0 ~ N1)과 제 2 활성화 구간(N2 ~ N3)을 포함할 수 있다.
제 1 활성화 구간(0 ~ N1)은 DEC(Double Error Correction) 발생 확률이 높은 구간이다. 제 2 활성화 구간(N2 ~ N3)은 셀 구제 가능 하지만, 열화 시간을 고려하여 온-다이 미러링을 활성화하는 구간이다. 예를 들어, 제 1 시간(T1)이 지나고 DEC의 페일된 개수가 N1을 초과할 때, 온-다이 미러링 모드가 진입 될 수 있다. 제 2 시간(T2)이 지나고, SEC의 페일된 개수는 N2과 N3 사이에 있을 때, 온-다이 미러링 모드가 진입 될 수 있다.
한편, 본 발명의 온-다이 미러링 활성화 구간은 여기에 제한되지 않는다고 이해되어야 할 것이다. 다양한 환경 정보를 고려하여 온-다이 미러링 활성화가 선제적으로 이루어질 수 있다.
도 15는 본 발명의 실시 예에 따른 메모리 시스템의 온-다이 미러링 동작을 예시적으로 보여주는 래더 다이어그램이다. 도 15를 참조하면, 메모리 시스템(20, 도 10 참조)의 온-다이 미러링 동작은 다음과 같이 진행될 수 있다.
메모리 제어기(200, 도 10 참조)는 메모리 칩에 온-다이 미러링 동작이 요구될 때 BIOS 셋업 제어 변경을 수행할 수 있다(S10). 메모리 제어기(200)는 메모리 칩(100)의 온-다이 미러링을 위한 TMRS(Test Mode Register Set)/MR(Mode Register)설정 정보를 생성할 수 있다(S11). TMRS/MR 설정 정보는 메모리 제어기(200)로부터 메모리 칩(100)으로 전송될 수 있다.
메모리 칩(100)은 TMRS/MR 설정 정보를 수신하고, 온-다이 미러링 모드를 설정할 수 있다(S20). 이후 메모리 칩(100)은 온-다이 미러링 동작을 수행할 수 있다(S21). 예를 들어, 하나의 쓰기 명령에 정상 영역(A)과 미러링 영역에 동일한 데이터가 쓰여 질 수 있다.
메모리 제어기(200)는 메모리 칩(100)의 온-다이 미러링 모드 진입 시 메모리 어드레스 맵을 변경할 수 있다(S12). 예를 들어, 정상 모드에서 풀 어드레스를 이용하여 메모리 칩(100)에 대한 접근이 수행되었지만, 온-다이 미러링 모드에서 로우 어드레스의 최상위비트를 무시하여 메모리 칩(100)에 대한 접근이 수행될 수 있다. 즉, 온-다이 미러링 모드에서는 메모리 칩(100)의 저장 용량은 정상 모드에서 저장 용량의 절반으로 조정될 수 있다.
온-다이 미러링 모드에서 메모리 제어기(200)는 읽기 명령을 발행할 수 있다(S13). 메모리 제어기(200)는 읽기 명령을 메모리 칩(100)으로 전송할 수 있다. 메모리 칩(100)은 읽기 명령에 응답하여 읽기 동작을 수행하고, 읽기 실패시 읽기 실패 지시기(180, 도 10 참조)로부터 읽기 실패 신호(RFS)를 생성할 수 있다(S22). 읽기 실패 신호(RFS)가 발생되면, 메모리 칩(100)은 리드 리트라이를 위하여 읽기 실패 신호(RFS)를 메모리 제어기(200)로 전송할 수 있다.
메모리 제어기(200)는 메모리 칩(100)으로부터 읽기 실패 신호(RFS)를 수신하고, 리드 리트라이 명령을 발행할 수 있다(S140). 메모리 제어기(200)는 리드 리트라이 명령을 메모리 칩(100)으로 전송할 수 있다.
메모리 칩(100)은 리드 리트라이 명령에 응답하여 미러링 영역의 데이터를 읽기 데이터로 출력하는 리드 리트라이 동작을 수행할 수 있다(23).
한편, 본 발명의 실시 예에 따른 읽기 실패 지시기를 구비한 온-다이 미러링 메모리 칩은 시스템 신뢰성 동작과 연계하여 활성화될 수 있다. 데이터 센터 혹은 차량 등 고 신뢰성을 요구하는 응용에 대하여, 응용 업체는 초기에 BIOS 설정을 통해 초기 단계부터 하프 칩(half chip)으로 사용하는 온-다이 미러링 동작을 수행하게 할 수 있다.
도 16은 본 발명의 실시 예에 따른 BIOS 설정을 예시적으로 보여주는 도면이다. 도 16을 참조하면, 진보된 BIOS 특징 항목 중에, 고신뢰성 메모리로 로딩하라는 설정 항목이 추가될 수 있다.
한편, 본 발명의 실시 예에 따른 메모리 시스템은 정상 동작 중에 온-다이 미러링 동작이 필요에 따라 실시간으로 모드 레지스터(TMRS/MR)를 설정할 수 있다.
도 17은 본 발명의 실시 예에 따른 TMRS 설정을 예시적으로 보여주는 도면이다. 도 17을 참조하면, 온-다이 미러링 동작이 요구될 시점에서, 부팅 업 혹은 시스템 동작을 수행하면서 온-더-플라이(on-the-fly) 방식으로 TMRS 설정함으로써 온-다이 미러링 동작이 활성화 될 수 있다. 실시 예에 있어서, DRAM 벤더에 따라 정해진 온-다이 미러링 관련된 TMRS 값이 인가되고, 메모리 칩은 하프-칩 및 온-다이 미러링 동작을 수행할 수 있다.
도 18은 본 발명의 실시 예에 따른 MR 설정을 예시적으로 보여주는 도면이다. 도 18을 참조하면, 예비 영역(reserved area)의 MR 설정함으로써 온-다이 미러링 동작이 활성화될 수 있다. 도 18에 도시된 바와 같이, MR9(MR[7:0] = 09H)의 OP[0]의 값이 '1'로 설정되면, 메모리 칩은 온-더-플라이로 온-다이 미러링 동작을 수행할 수 있다. 즉, 벤더 전용 테스트 레지스터(vendor specific test resister)의 예비 영역에 온-다이 미러링 설정 비트가 추가될 수 있다. 실시 예에 있어서, 이러한 MR은 JEDEC 표준에 언급되고, 범용적으로 모든 메모리 업체와 시스템 업체에서 사용될 수 있다.
상술된 바와 같이, 메모리 칩에 대한 BIOS 설정 혹은 TMRS/MR 설정에 따른 온-다이 미러링 모드 진입 시, 시스템의 메모리 맵핑은 하프 메모리 사이즈를 리맵핑할 수 있다. 예를 들어, 로우 어드레스의 최상위비트는 무시될 수 있다(Don't Care).
시스템 응용에서 신뢰성이 중요한 데이터 센터 혹은 차량의 경우, 초기부터 온-다이 미러링 동작이 진행될 수 있다. 이 경우 메모리 용량은 하프(half)로 수정될 수 있다. 또한, Mobile, Consumer, Client 등의 응용은, 메모리 사용기간, 혹은 ECC 동작 횟수에 대한 메모리 오동작 사전 예측 등을 시스템이 모니터링 하고, 어느 정도 메모리 열화 시점에서 온-다이 미러링을 활성화시킬 수 있다. 즉, 시스템은 초기부터 디폴트로 DRAM 용량을 하프 칩으로 사용하지 않으며 응용 및 메모리 상태(사용기간, 불량 발생 빈도) 등을 모니터링 하고 시스템 안정성을 확보가 필요한 시점에 온-다이 미러링 동작을 활성화시킬 수 있다.
한편, 본 발명은 어플리케이션 프로세서(Application Processor; AP)을 이용하는 전자 장치에도 적용 가능하다.
도 19는 본 발명의 실시 예에 따른 전자 장치(40)를 예시적으로 보여주는 도면이다. 도 19를 참조하면, 전자 장치(40)는 메모리 장치(DDR, 100b) 및 프로세서(200b)를 포함할 수 있다. 실시 예에 있어서, 전자 장치(40)는 모바일 장치, 컨수머(consumer) 장치, 자율 주행(automotive) 장치 등과 같은 단품 제품일 수 있다.
메모리 장치(100b)는 온-다이 미러링 동작을 수행하도록 구현될 수 있다. 메모리 장치(100b)는 쓰기 명령에 응답하여 제 1 영역(A)와 제 2 영역(B)에 동시에 쓰기 데이터를 쓸 수 있다. 메모리 장치(100b)는 읽기 명령에 응답하여 제 1 영역(A)에 대한 읽기 동작 결과로써 읽기 실패시 읽기 요청을 프로세서(200b)에 전송할 수 있다.
프로세서(200b)는 메모리 장치(100b)의 읽기 요청에 응답하여 메모리 장치(100b)에 리드-리클레임(read re-reclaim)을 요청할 수 있다. 메모리 장치(100b)는 읽기 명령에 대한 리드-리클레임 동작을 수행할 수 있다. 여기서 리드-리클레임 동작은 메모리 장치(100b)의 제 2 영역(B)의 데이터를 프로세서(200b)로 출력하는 동작을 포함할 수 있다.
도 20은 본 발명의 실시 예에 따른 메모리 칩의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 20을 참조하면, 메모리 칩(100, 도 10 참조)은 다음과 같이 동작할 수 있다.
메모리 칩(100)는 온-다이 미러링 모드로 설정될 수 있다(S110). 메모리 칩(100)은 BIOS 설정, TMRS/MR 설정에 의해 온-다이 미러링 모드 진입할 수 있다.
메모리 칩(100)은 외부의 쓰기 명령에 응답하여 동일 데이터를 제 1 영역(A)과 제 2 영역(B)에 쓸 수 있다(S120). 제 1 영역(A)은 쓰기 데이터를 저장하고, 제 2 영역(B)은 쓰기 데이터에 대응하는 미러링 데이터를 저장할 수 있다.
이후, 메모리 칩(100)은 읽기 명령에 응답하여 읽기 동작을 수행할 수 있다. 읽기 동작 결과로써 제 1 영역(A)의 데이터의 에러 검출이 수행될 수 있다(S130). 검출된 에러가 정정 가능하지 않다면, 읽기 명령에 대응하는 제 1 영역(A)의 메모리 셀에 대한 불량이 결정되고, 메모리 칩(100)은 데이터 출력 패스의 변경을 수행하고(S140), 메모리 제어기(200, 도 10 참조)로 리드-리클레임을 요청할 수 있다(S150).
도 21은 본 발명의 실시 예에 따른 메모리 제어기의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 21을 참조하면, 메모리 제어기(200, 도 10 참조)는 다음과 같이 리드-리클레임 동작을 수행할 수 있다.
메모리 제어기(200)는 고 신뢰성이 요구되는 메모리 칩(100)에 대하여 온-다이 미러링 모드 설정 정보를 전송할 수 있다(S210). 메모리 칩(100)의 온-다이 미러링 동작 중에, 메모리 제어기(200)는 메모리 칩(100)으로부터 리드-리클레임 요청을 수신할 수 있다(S220). 메모리 제어기(200)는 리드-클레임 요청에 응답하여 리드-리클레임을 위한 읽기 명령을 메모리 칩(100)으로 전송할 수 있다(S230). 메모리 칩(100)은 이러한 읽기 명령에 응답하여 미러링 데이터를 출력할 수 있다.
도 22는 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 22를 참조하면, 메모리 시스템(20)은 다음과 같이 리드 리트라이 동작을 수행할 수 있다.
메모리 시스템(20)은 전원 인가에 따라 시스템-온 될 수 있다(S310). 메모리 시스템(20)은 동작 모드가 시스템 온-다이 미러링 모드인 지를 판별할 수 있다(S320). 만일, 동작 모드가 시스템 온-다이 미러링 모드가 아닐 때, 메모리 시스템(20)은 정상 모드로 동작할 수 있다(S325). 반면에, 동작 모드가 시스템 온-다이 미러링 모드이면, 메모리 시스템(20)은, 온-다이 미러링 동작을 위하여 메모리 제어기(200)에 연결된 메모리 칩(100)을 하프 메모리 칩으로 설정할 수 있다. 이때, 메모리 칩(100)에서 EDI(Error Detect Indicator) 핀이 활성화되고, 동시 쓰기-읽기 동작이 수행될 수 있다(S330).
메모리 칩(100)의 읽기 동작시 읽기 실패가 검출되는 지 판별될 수 있다(S340). 읽기 실패가 검출되지 않으면, S330 단계가 진행될 수 있다. 반면에, 읽기 실패가 검출되면, 메모리 칩(100)은 리드 리트라이 읽기 요청을 메모리 제어기(200)으로 전송하고, 출력 데이터 영역을 정상 영역에서 미러링 영역으로 변경할 수 있다(S350). 이후, 메모리 제어기(200)는 리드 리트라이 요청에 응답하여 메모리 칩(100)에 읽기 명령을 전송하고, 메모리 칩(100)은 다시 전송된 읽기 명령에 응답하여 미러링 영역의 데이터를 출력하는 리드 리트라이 동작을 수행할 수 있다(S360).
한편, 본 발명의 메모리 칩은 스택형으로 구현될 수 있다.
도 23은 본 발명의 실시 예에 따른 메모리 칩을 예시적으로 보여주는 블록도이다. 도 23을 참조하면, 메모리 칩(1000)은 기판에 수직 방향으로 적층된 제 1 내지 제 3메모리 다이들(1100 ~ 1300) 및 관통 전극(Through Silicon Via; TSV)들을 포함할 수 있다. 여기서, 적층되는 메모리 다이들의 개수는 도 14에 도시된 것에 제한되지 않을 것이다. 예를 들어, 제 1 및 제 2 메모리 다이들(1100, 1200)은 슬레이브 다이일 수 있고, 제 3 메모리 다이(1300)는 마스터 다이 혹은 버퍼 다이일 수 있다.
제 1 메모리 다이(1100)는 제 1 메모리 셀 어레이(1110) 및 제 1 메모리 셀 어레이(1110)로의 접근을 위한 제 1 관통 전극 영역(1120)을 포함할 수 있다. 제 2 메모리 다이(1200)는 제 2 메모리 셀 어레이(1210) 및 제 2 메모리 셀 어레이(1210)로의 접근을 위한 제 2 관통 전극 영역(1220)을 포함할 수 있다. 여기서, 제 1 관통 전극 영역(1120)은 제 1 메모리 다이(1100)에서 제 1 메모리 다이(1100)와 제 3 메모리 다이(1300)간의 통신을 위한 관통 전극들이 배치되는 영역을 나타낼 수 있다. 유사하게, 제 2 관통 전극 영역(1220)은 제 2 메모리 다이(1200)에서 제 2 메모리 다이(1200)와 제 3 메모리 다이(1300)간의 통신을 위한 관통 전극들이 배치되는 영역을 나타낼 수 있다. 관통 전극들은 제 1 내지 제 3 메모리 다이들(1100 ~ 1300)간의 전기적 경로들을 제공할 수 있다. 제 1 내지 제 3 메모리 다이들(1100~1300)은 관통 전극들에 의하여 서로 전기적으로 연결될 수 있다. 예를 들어, 관통 전극들의 수는 수백 내지 수천 개일 수 있고, 관통 전극들은 매트리스 배열로 배치될 수 있다. 제 3 메모리 다이(1300)는 제 1 주변 회로(1310) 및 제 2 주변 회로(1320)를 포함할 수 있다. 여기서, 제 1 주변 회로(1310)는 제 1 메모리 다이(1100)를 접근하기 위한 회로들을 포함할 수 있고, 제 2 주변 회로(1320)는 제 2 메모리 다이(1200)를 접근하기 위한 회로들을 포함할 수 있다.
한편, 본 발명의 메모리 모듈은 NVDIMM(Non-Volatile Dual In-Line Memory Module)을 더 구비한 컴퓨팅 시스템에 적용 가능하다.
도 24는 본 발명의 실시 예에 따른 컴퓨팅 시스템(2000)을 예시적으로 여주는 도면이다. 도 24를 참조하면, 컴퓨팅 시스템(2000)은 적어도 하나의 메모리 모듈(DIMM, 2100), 적어도 하나의 비휘발성 메모리 모듈(NVDIMM, 2200) 및 적어도 하나의 프로세서(2300)를 포함할 수 있다.
컴퓨팅 시스템(2000)은 컴퓨터, 포터블(Portable) 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션(Workstation), 데이터 서버(Data Server), 넷북, PDA(Personal Digital Assistant), 태블릿, 무선 폰, 모바일 폰, 스마트폰, 전자북, PMP(Portable Multimedia Player), 디지털 카메라, 디지털 오디오 녹음기/재생기, 디지털 사진기/비디오 기록기/재생기, 포터블 게임 머신, 네비게이션 시스템, 블록 박스, 3D 텔레비전, 무선 환경에서 정보를 수신 및 송신하는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, RFID, 혹은 컴퓨팅 시스템을 구성하는 다양한 전자 장치들 중 어느 하나로 사용될 수 있다.
적어도 하나의 메모리 모듈(2100)은 도 1 내지 도 23에서 설명된 온-다이 미러링 동작을 수행하도록 구현될 수 있다. 실시 예에 있어서, 메모리 모듈(2100)은 DDRx 인터페이스에 따라 프로세서(2300)에 연결될 수 있다.
적어도 하나의 비휘발성 메모리 모듈(2200)은 적어도 하나의 비휘발성 메모리를 포함할 수 있다. 실시 예에 있어서, 적어도 하나의 비휘발성 메모리는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM), TRAM(Thyristor Random Access Memory) 등을 포함할 수 있다. 실시 예에 있어서, 비휘발성 메모리 모듈(2200)은 DDR 인터페이스에 따라 프로세서(2300)에 연결될 수 있다.
적어도 하나의 프로세서(2300)는 메모리 모듈(2100) 및 비휘발성 메모리 모듈(2200)을 제어하도록 구현될 수 있다. 실시 예에 있어서, 프로세서(2300)는 범용 마이크로프로세서, 멀티코어 프로세서, 디지털 신호 프로세서(DSP; Digital Signal Processor), ASIC(Application Specific Integrated Circuit), 혹은 그것들의 조합을 포함할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템(2000)은 신뢰성 요구에 따라 온-다이 미러링 동작을 수행함으로써, 시스템적으로 데이터의 신뢰성을 크게 향상시킬 수 있다.
한편, 본 발명은 모바일 장치에 적용 가능하다.
도 25는 본 발명의 실시 예에 따른 모바일 장치(3000)를 예시적으로 보여주는 도면이다. 도 25를 참조하면, 모바일 장치(3000)는 어플리케이션 프로세서(3100), 적어도 하나의 DRAM(3200), 적어도 하나의 저장 장치(3300), 적어도 하나의 센서(3400), 디스플레이 장치(3400), 오디오 장치(3500), 네트워크 프로세서(3600), 적어도 하나의 입출력 장치(3700)를 포함할 수 있다. 예를 들어, 모바일 장치(3000)는 랩탑(laptop) 컴퓨터, 휴대용 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC (tablet personal computer), 혹은 웨어러블 컴퓨터로 구현될 수 있다.
어플리케이션 프로세서(3100)는 모바일 장치(3000)의 전반적인 동작을 제어하도록 구현될 수 있다. 어플리케이션 프로세서(3100)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시 예에 있어서, 어플리케이션 프로세서(3100)는 싱글 코어(Single Core) 혹은 멀티-코어(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(3100)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 실시 예에서, 어플리케이션 프로세서(3100)는 내부 또는 외부에 위치한 캐시 메모리(cache memory)를 더 포함할 수 있다.
어플리케이션 프로세서(3100)는 제어기(3110), NPU(Neural Processing Unit (인공 지능 프로세서); 3120), 인터페이스(3130)를 포함할 수 있다. 실시 예에 있어서, NPU(3120)는 옵션적으로 구비될 수 있다.
실시 예에 있어서, 어플리케이션 프로세서(3100)는 SoC(System-on-Chip)로 구현될 수 있다. 시스템 온 칩(SoC; System-on-Chip)에서 구동되는 운영 체제의 커널(Kernel)은 입출력 스케줄러(I/O Scheduler) 및 저장 장치(3300)를 제어하기 위한 장치 드라이버(Device Driver)가 포함될 수 있다. 장치 드라이버(Device driver)는 입출력 스케줄러에서 관리되는 동기 큐의 수를 참조하여 저장 장치(3300)의 액세스 성능을 제어하거나, SoC 내부의 CPU 모드, DVFS 레벨 등을 제어할 수 있다.
DRAM(3200)는 제어기(3110)에 연결될 수 있다. DRAM(3200)은 어플리케이션 프로세서(3100)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, DRAM(3200)는 OS(Operating System) 및 어플리케이션 데이터를 임시로 저장하거나, 각종 소프트웨어 코드의 실행 공간으로 이용될 수 있다.
DRAM(3200)는, 어플리케이션 프로세서(3100)의 요청 혹은 사용자의 선택에 따라 온-다이 미러링 동작을 수행할 수 있다. DRAM는 NPU(3120)에 연결될 수 있다. DRAM는 인공 지능 연산 관련한 데이터를 저장할 수 있다.
DRAM(3200)은 I/O 디바이스나 플래시 메모리보다 상대적으로 빠른 Latency와 BW를 가지고 있다. DRAM(3200)은 Mobile Power-On시 초기화되고, OS와 어플리케이션 데이터가 로딩되어 OS와 어플리케이션 데이터의 임시 저장 장소로 사용되거나, 각종 Software코드의 실행 공간으로 사용될 수 있다. Mobile System은, 여러 개의 어플리케이션들을 동시에 로딩하는 Multitasking동작을 수행하고, 어플리케이션간 전환과 실행 속도가 Mobile System의 Performance Index로 사용될 수 있다.
저장 장치(3300)는 인터페이스(3130)에 연결될 수 있다. 실시 예에 있어서, 인터페이스(3130)는 DDR, DDR2, DDR3, DDR4, LPDDR(Low Power DDR), USB (Universal Serial Bus), MMC(Multimedia Card), embedded MMC, PCI (Peripheral Component Interconnection), NVMe(non-volatile memory express), PCIe(peripheral component interconnect express), SATA(serial at attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel 및 FCoE(fiber channel over ethernet) 중에서 어느 하나의 통신 프로토콜에 의해 동작할 수 있다. 실시 예에 있어서, 어느 하나의 저장 장치(3300)는 임베디드 형태로 모바일 장치(3000)에 포함될 수 있다. 다른 실시 예에 있어서, 어느 하나의 저장 장치(3300)는 착탈 방식으로 모바일 장치(3000)에 포함될 수 있다.
저장 장치(3300)는 사용자 데이터를 저장하도록 구현될 수 있다. 예를 들어, 저장 장치(3300)는 센서(3400)로부터 수집된 데이터를 저장하거나, 데이터 네트워크 데이터, AR(Augmented Reality)/VR(Virtual Reality) 데이터, HD(High Definition) 4K 컨텐츠를 저장할 수 있다. 저장 장치(3300)는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다. 예를 들어, 저장 장치(3300)는 SSD(Solid State Driver), eMMC (embedded Multimedia Card) 등을 포함할 수 있다.
실시 예에 있어서, 저장 장치(3300)는 어플리케이션 프로세서(3100)에 별도의 칩으로 구현되거나, 어플리케이션 프로세서(3100)과 하나의 패키지로 구현될 수 있다.
실시 예에 있어서, 저장 장치(3300)는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들어, 저장 장치(3300)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장 될 수 있다.
센서(3400)는 모바일 장치(3000)의 외부 환경을 센싱하도록 구현될 수 있다. 실시 예에 있어서, 센서(3400)는 이미지를 센싱하는 이미지 센서를 포함할 수 있다. 이 때, 센서(3400)는 생성된 이미지정보를 어플리케이션 프로세서(3100)로 전송할 수 있다. 다른 실시 예에 있어서, 센서(3400)는 신체 정보(biometric information)를 감지하는 바이오 센서를 포함할 수 있다. 예를 들어, 센서(3400)는 지문, 홍채 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 대응하는 센싱 데이터를 생성할 수 있다. 한편, 센서(3400)는 이미지 센서, 바이오 센서에 제한되지 않는다고 이해되어야 할 것이다. 본 발명의 센서(3400)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서를 포함할 수 있다.
디스플레이 장치(3500)는 데이터를 출력하도록 구현될 수 있다. 예를 들어, 디스플레이 장치(3500)는 센서(3400)를 이용하여 센싱된 이미지 데이터를 출력하거나, 어플리케이션 프로세서(3100)를 이용하여 연산된 데이터를 출력할 수 있다.
오디오 장치(3600)는 음성 데이터를 외부로 출력하거나, 외부의 음성을 감지하도록 구현될 수 있다.
네트워크 프로세서(3700)는 외부 장치와 유선 혹은 무선 통신 방식에 의해 통신을 연결하도록 구현될 수 있다.
입출력 장치(3800)는 모바일 장치(3000)에 데이터를 입력하거나, 모바일 장치(3000)로부터 데이터를 출력하도록 구현될 수 있다. 입출력 장치(3800)는 USB나 스토리지, 디지털 카메라, SD Card, Touch Screen, DVD, Modem, Network adapter등 디지털 입력 및 출력 기능을 제공하는 기기들을 포함할 수 있다
한편, 본 발명은 다양한 종류의 컴퓨팅 시스템(예, CPU/GPU/NPU 플랫폼)에 적용 가능하다.
도 26은 본 발명의 실시 예에 따른 컴퓨팅 시스템(4000)을 예시적으로 보여주는 도면이다. 도 26을 참조하면, 컴퓨팅 시스템(4000)은, 시스템 버스(4001)에 연결된 CPU(Central Processing Unit; 4110), GPU(Graphic Processing Unit; 4120), 혹은 NPU(Neural Processing Unit; 4130; 혹은 특수 목적 프로세싱 유닛(Application-specific Processing Unit)), 시스템 버스(4001)에 연결된 메모리 장치(4210) 혹은 저장 장치(4220), 확장 버스(4002)에 연결된 입출력 장치(4310), 모뎀(4320), 네트워크 장치(4330), 혹은 저장 장치(4340)를 포함할 수 있다. 여기서 확장 버스(4002)는 확장 버스 인터페이스(4003)를 통하여 시스템 버스(4001)에 연결될 수 있다.
실시 예에 있어서, CPU(4110), GPU(4120), 및 NPU(4130)의 각각은 온-칩(on-chip) 캐시(4111, 4121, 4131)를 포함할 수 있다.
실시 예에 있어서, CPU(4110)은 오프-칩(off-chip) 캐시(4112)를 포함할 수 있다. 도 25에 도시되지 않았지만 GPU(4120), 및 NPU(4130)의 각각도 오프-칩 캐시를 포함할 수 있다. 실시 예에 있어서, 오프 칩 캐시(4112)는 서로 다른 버스를 통하여 CPU(4110), GPU(4120), 및 NPU(4130)에 내부 연결될 수 있다.
실시 예에 있어서, 온-칩/오프 칩 캐시는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등과 같은 휘발성 메모리 혹은 NAND 플래시 메모리, PRAM(Phase Random Access Memory), RRAM(Resistive Random Access Memory) 등과 같은 비휘발성 메모리를 포함할 수 있다.
실시 예에 있어서, 메인 메모리들(4114, 4124, 4134)은 대응하는 메모리 제어기들(4113, 4123, 4133)을 통하여 CPU(4110), GPU(4120), 및 NPU(4130)에 연결될 수 있다. 실시 예에 있어서, 메모리들(4116, 4126, 4136)은 브릿지들(4115, 4125, 4135)을 통하여 CPU(4110), GPU(4120), 및 NPU(4130)에 연결될 수 있다. 여기서 브릿지들(4115, 4125, 4135)은 대응하는 메모리들(4116, 4126, 4136)을 제어하는 메모리 제어기들을 포함할 수 있다. 실시 예에 있어서, 브릿지들(4115, 4125, 4135)의 각각은 네트워크 장치, 무선 네트워크 장치, 스위치, 버스, 클라우드, 혹은 광채널로 구현될 수 있다.
실시 예에 있어서, 메모리들(4124, 4126)은 GPU 메모리를 포함할 수 있다. GPU 메모리는 GPU와 상호 작용할 수 있는 명령과 데이터를 유지할 수 있다. 명령과 데이터는 메인 메모리나 스토리지에서 복사될 수 있다. GPU 메모리는 이미지 데이터를 저장할 수 있고, 메모리보다 큰 대역폭을 가질 수 있다. GPU 메모리는 CPU에서 클록을 분리할 수 있다. GPU는 GPU 메모리에서 이미지 데이터를 읽고 처리한 다음에 GPU 메모리에 쓸 수 있다. GPU 메모리는 그래픽 처리를 가속화하도록 구성될 수 있다.
실시 예에 있어서, 메모리들(4134, 4136)은 NPU 메모리를 포함할 수 있다. NPU 메모리는 NPU와 상호 작용할 수 있는 명령 및 데이터를 유지할 수 있다. 명령 및 데이터는 메인 메모리나 스토리지에서 복사될 수 있다. NPU 메모리는 신경망에 대한 가중치 데이터를 유지할 수 있다. NPU 메모리는 메모리보다 더 큰 대역폭을 가질 수 있다. NPU 메모리는 CPU에서 클록을 분리할 수 있다. NPU는 NPU 메모리에서 가중치 데이터를 읽고 업데이트 한 다음, 훈련 중에 NPU 메모리에 쓸 수 있다. NPU 메모리는 신경망 훈련 및 추론과 같은 기계 학습을 가속화하도록 구성될 수 있다.
실시 예에 있어서, 메인 메모리들(4114, 4116, 4124, 4126, 4134, 4136, 4210)의 각각은, 도 3 내지 도 23에서 설명한 온-다이 미러링 동작을 수행하는 메모리 칩으로 구현될 수 있다.
실시 예에 있어서, 메인 메모리는 DRAM, SRAM 등과 같은 휘발성 메모리 혹은 NAND 플래시 메모리, PRAM, RRAM 등과 같은 비휘발성 메모리를 포함할 수 있다. 메인 메모리는 세컨더리 스토리지(secondary storage; 4210, 4220)의 그것들보다 낮은 레이턴시 및 낮은 용량을 갖는다.
CPU(4110), GPU(4120), 혹은 NPU(4130)은 시스템 버스(5001)를 통하여 세컨더리 스토리지들(4210, 4220)에 접근할 수 있다. 메모리 장치(4210)는 메모리 제어기(4211)에 의해 제어될 수 있다. 여기서 메모리 제어기(4211)는 시스템 버스(5001)에 연결될 수 있다. 저장 장치(4220)는 저장 제어기(4221)에 의해 제어될 수 있다. 여기서 저장 제어기(4221)는 시스템 버스(5001)에 연결될 수 있다.
저장 장치(4220)는 데이터를 저장하도록 구현될 수 있다. 저장 제어기(4221)는 저장 장치(4220)로부터 데이터를 읽고, 읽혀진 데이터를 호스트로 전송하도록 구현될 수 있다. 저장 제어기(4221)는 호스트의 요청에 응답하여 전송된 데이터를 저장 장치(4220)에 저장하도록 구현될 수 있다. 저장 장치(4220) 및 저장 제어기(4221)의 각각은 메타데이터(metadata) 저장하거나, 자주 접근하는 데이터를 저장하도록 캐시를 읽거나, 혹은 쓰기 효율을 높이기 위한 캐시를 저장하는 버퍼를 포함할 수 있다. 예를 들어, 쓰기 캐시는 특정 개수의 쓰기 요청을 수신하여 처리할 수 있다.
저장 장치(4220)는 HDD(Hard Disk Drive)와 같은 휘발성 메모리와 NVRAM, SSD, SCM, 뉴 메모리와 같은 비휘발성 메모리를 포함할 수 있다.
한편, 본 발명은 데이터 서버 시스템에 적용 가능하다.
도 27은 본 발명의 실시 예에 따른 데이터 서버 시스템(5000)을 예시적으로 보여주는 도면이다. 도 27을 참조하면, 데이터 서버 시스템(5000)은 제 1 서버(5100, 어플리케이션 서버), 제 2 서버(5200, 저장 서버), 메모리 장치(5310), 및 적어도 하나의 저장 장치(5320)를 포함할 수 있다.
제 1 서버(5100) 및 제 2 서버(5200)의 각각은 적어도 하나의 프로세서 및 메모리를 포함할 수 있다. 실시 예에 있어서, 제 1 서버(5100) 및 제 2 서버(5200)의 각각은 메모리-프로세서 쌍으로 구현될 수 있다. 다른 실시 예에 있어서, 제 1 서버(5100) 및 제 2 서버(5200)의 각각은 용도에 적합하게 서로 다른 개수의 프로세서와 메모리로 구현될 수 있다.
실시 예에 있어서, 제 1 서버(5100) 및 제 2 서버(5200)은 제 1 네트워크(5010)를 통하여 통신을 수행할 수 있다. 실시 예에 있어서, 제 1 서버(5100) 및 제 2 서버(5200)의 각각은 제 1 네트워크(5010) 및/혹은 제 2 네트워크(5020)를 통하여 메모리 장치(5310)에 접근할 수 있다. 실시 예에 있어서, 제 1 서버(5100) 및 제 2 서버(5200)의 각각은 제 1 네트워크(5010)제 2 네트워크(5020)을 통하여 저장 장치(5320)에 직접 혹은 간접 접근할 수 있다.
실시 예에 있어서, 저장 장치(5320)의 인터페이스(I/F)는 SATA, SAS, PCIe, DIMM, HBM, HMC, 혹은 NVDIMM을 포함할 수 있다. 실시 예에 있어서, 제 2 네트워크(5020)는 DAS(Direct Attached Storage), NAS(Network Attached Storage), SAN(Storage Area Network) 방식의 연결 형태일 수 있다.
실시 예에 있어서, 메모리 장치(5310) 및 저장 장치(5320)의 각각은 명령에 의해 혹은 자체적으로 장치 정보를 서버(5200)로 전송할 수 있다. 실시 예에 있어서, 메모리 장치(5310)는 도 3 내지 도 23에 설명된 온-다이 미러링 동작을 수행하는 메모리 칩을 포함할 수 있다.
데이터 서버 시스템(5000)은 빅 데이터 인공지능 연산을 수행할 수 있다. 여기서 빅 데이터는 음성, 사진, 영상, 혹은 웨이트/트레이닝 데이터를 포함할 수 있다.
본 발명의 실시 예에 따른 On Die Mirroring 장치는 메모리 Failure 판단 장치, 불량 발생시 Mirrored 영역으로 output 영역 변경 장치를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 불량 발생 indicator 장치와 시스템 전달 방법, 및 불량 발생 신호를 받고 Read Retry하는 Flow를 시스템적으로 구현함으로써, 시스템 동작 중 불량 발생시 현재 불량 발생한 영역이 아닌 Mirrored 영역의 데이터를 읽음으로써 정상 데이터를 읽게 하여 시스템의 신뢰성 향상을 기대할 수 있다. 이에 본 발명의 메모리 시스템은 RAS(Reliability, Availability, Serviceability)에 적용된 Channel Mirroring에서 발생하는 응용 등에서 성능 감소 발생 방지, 메모리 사용량 비효율 관리 등을 개선할 수 있다.
본 발명의 실시 예에 따른 On Die Mirroring DRAM은, PKG(package) 혹은 MCP(Multi-Chip PKG) 등을 사용하는 Automotive와 Mobile/Consumer 응용과 여러 종류의 DRAM Module을 사용하는 DC(Data Center), PC(Personal Computer) 등에 적용 가능하다. 또한, 본 발명의 실시 예에 따른 On Die Mirroring DRAM은, 고가의 HBM(High Bandwidth Memory)로 조립된 SiP(System In PKG)를 활용한 Graphic 응용 등 모든 PKG/Module Type 그리고 이러한 메모리를 활용하는 모든 응용 System에 적용 가능하다.
본 발명의 실시 예에 따른 On Die Mirroring DRAM은, 동일 BANK 내에서 LAST Row ADDRESS의 Low/High에 의해 2개의 영역으로 구분할 수 있다. System은 On-Die Mirroring 동작 시 최상위 Row Address는 Don't Care하여 동작 시킬 수 있다.
On Die Mirroring DRAM은 Bank 내 최상위 Row Address의 Low/High 영역을 동시에 Write하고, Write된 Data에 대한 불량은 Mirrored 영역의 Data와 EXOR로 상이한 Data 존재시 Fail, 혹은 On Die ECC 메모리의 경우 CE(Correctable Error), UE(Uncorrectable Error)로 불량에 대한 판단을 메모리 자체로 진행할 수 있다. 메모리 내부의 불량이 확인되면, On Die Mirroring DRAM은 현재 Data Output Path를 Mirrored 되어 있는 영역으로 Output Path 변경하며 동시에 System Host에 Read Request를 발생한다.
실시 예에 있어서, 불량 발생시 Read Request 수단으로 H/W는, Additional Pin 추가(EIS(Error Indicator Signal)) 혹은 Mirrored Mode 적용시 Don't Care 되는 Pin을 이용할 수 있다. 불량 발생시 Pin의 위상으로 불량 여부가 전달될 수 있다. 예를 들어, 핀이 하이 레벨이면, Fail이고, 핀이 로우 레벨이면 패스이다. Data 영역을 변경하는 Logic이 포함될 수 있다.
실시 예에 있어서, 불량 발생시 Read Request 수단으로 H/W는 DQS에 Dummy Read CLK을 만들어 현재 Read data의 Pass/Fail 여부를 전달할 수 있다. 실시 예에 있어서, 불량 발생에 대한 Read Request 수단으로 S/W는, MR(mode register)를 이용할 수 있다.
본 발명의 실시 예에 따른 On-Die Mirroring은 PKG, MCP(Multi-Chip-Package), SiP(System In Package)에 적용되며 단품 실장 및 Module 등에 모두 적용 가능하다. 본 발명의 실시 예에 따른 시스템은 On-Die Mirroring을 적용하기 위해 BIOS를 활용해서 TMRS(Test Mode Register Set)을 적용하거나, MR(mode register) Issue로 Setting 가능하다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
10, 20, 30: 메모리 시스템
100: 메모리 칩
160: 제어 로직
180: 읽기 실패 지시기
190: 미러링 모드 활성 신호 발생기
200: 메모리 제어기
11-1, 11-2: CPU
12-1, 12-2, 12-3: DIMM

Claims (20)

  1. 제 1 중앙 처리 장치;
    제 1 채널을 통하여 상기 제 1 중앙 처리 장치에 연결된 제 1 메모리 모듈들;
    제 2 채널을 통하여 상기 제 1 중앙 처리 장치에 연결된 제 2 메모리 모듈들; 및
    제 3 채널을 통하여 상기 제 1 중앙 처리 장치에 연결된 제 3 메모리 모듈들을 포함하고,
    상기 제 1 메모리 모듈들, 상기 제 2 메모리 모듈들, 및 상기 제 3 메모리 모듈들의 각각은, 미러링 모드에서 어드레스에 응답하여 데이터 영역과 미러링 데이터 영역에 동일한 데이터를 쓰는 것을 특징으로 하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 메모리 모듈들, 상기 제 2 메모리 모듈들, 및 상기 제 3 메모리 모듈들의 각각은 복수의 메모리 칩들을 포함하고,
    상기 복수의 메모리 칩들의 각각은 상기 미러링 모드에서 상기 어드레스에 응답하여 제 1 영역과 제 2 영역에 쓰기 데이터를 쓰는 것을 특징으로 하는 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 복수의 메모리 칩들의 각각은, 상기 제 1 중앙 처리 장치의 읽기 명령에 응답하여 상기 제 1 영역의 데이터를 읽고, 상기 읽혀진 데이터의 읽기 동작 실패 여부를 판별하고, 상기 판별 결과로써 읽기 실패 신호를 생성하는 읽기 실패 지시기를 포함하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 읽기 실패 지시기는 상기 읽기 명령에 응답하여 상기 제 1 영역의 상기 데이터와 상기 제 2 영역의 데이터를 비교하고, 상기 비교 결과에 따라 상기 읽기 실패 신호를 생성하는 것을 특징으로 하는 메모리 시스템.
  5. 제 3 항에 있어서,
    상기 읽기 실패 지시기는 상기 읽기 명령에 응답하여 상기 제 1 영역의 상기 데이터에 대한 에러 정정을 수행하고, 상기 에러 정정 수행한 결과에 따라 상기 읽기 실패 신호를 생성하는 것을 특징으로 하는 메모리 시스템.
  6. 제 3 항에 있어서,
    상기 제 1 중앙 처리 장치는 상기 읽기 실패 신호에 대응하는 리드 리트라이 명령을 대응하는 메모리 모듈로 전송하는 것을 특징으로 하는 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 대응하는 메모리 모듈의 메모리 칩들의 각각은 상기 리드 리트라이 명령에 응답하여 읽기 동작의 출력 패스를 상기 제 1 영역에서 상기 제 2 영역으로 변경하는 것을 특징으로 하는 메모리 시스템.
  8. 제 2 항에 있어서,
    상기 복수의 메모리 칩들의 각각은, 상기 미러링 모드에서 상기 어드레스에서 로우 어드레스의 최상위비트를 무시하는 것을 특징으로 하는 메모리 시스템.
  9. 제 1 항에 있어서,
    상기 제 1 중앙 처리 장치와 통신하는 제 2 중앙 처리 장치;
    제 4 채널을 통하여 상기 제 2 중앙 처리 장치에 연결된 제 4 메모리 모듈들;
    제 5 채널을 통하여 상기 제 2 중앙 처리 장치에 연결된 제 5 메모리 모듈들; 및
    제 6 채널을 통하여 상기 제 2 중앙 처리 장치에 연결된 제 6 메모리 모듈들을 더 포함하는 메모리 시스템.
  10. 적어도 하나의 메모리 칩; 및
    상기 적어도 하나의 메모리 칩을 제어하는 메모리 제어기를 포함하고,
    상기 적어도 하나의 메모리 칩은,
    미러링 모드에서 쓰기 동작시 쓰기 데이터를 저장하는 제 1 영역;
    상기 미러링 모드에서 상기 쓰기 동작시 상기 쓰기 데이터를 저장하는 제 2 영역; 및
    상기 미러링 모드에서 상기 제 1 영역에 대한 읽기 동작이 실패할 때 읽기 실패 신호를 발생하는 읽기 실패 지시기를 포함하는 메모리 시스템.
  11. 제 10 항에 있어서,
    상기 읽기 실패 지시기는,
    상기 읽기 동작시 상기 제 1 영역으로부터 출력하는 데이터와 상기 제 2 영역으로부터 출력하는 데이터를 비교함으로써 상기 읽기 실패 신호를 생성하는 것을 특징으로 하는 메모리 시스템.
  12. 제 10 항에 있어서,
    상기 읽기 실패 지시기는,
    상기 읽기 동작시 상기 제 1 영역으로부터 출력하는 데이터의 에러를 정정하고, 상기 에러 정정 결과로써 상기 읽기 실패 신호를 생성하는 것을 특징으로 하는 메모리 시스템.
  13. 제 10 항에 있어서,
    상기 적어도 하나의 메모리 칩은 상기 읽기 실패 신호를 상기 메모리 제어기로 전송하는 에러 지시 신호 핀을 더 포함하는 메모리 시스템.
  14. 제 10 항에 있어서,
    상기 적어도 하나의 메모리 칩은 적어도 하나의 DQS 핀을 이용하여 상기 읽기 실패 신호를 상기 메모리 제어기로 전송하는 것을 특징으로 하는 메모리 시스템.
  15. 제 10 항에 있어서,
    상기 적어도 하나의 메모리 칩은 상기 읽기 실패 신호를 저장하는 모드 레지스터를 더 포함하고,
    상기 메모리 제어기는 상기 모드 레지스터를 읽음으로써 상기 읽기 동작의 실패를 확인하는 것을 특징으로 하는 메모리 시스템.
  16. 제 10 항에 있어서,
    상기 메모리 제어기는 상기 읽기 실패 신호에 응답하여 리드 리트라이 명령을 상기 적어도 하나의 메모리 칩에 전송하는 것을 특징으로 하는 메모리 시스템.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 메모리 칩은 상기 리드 리트라이 명령에 응답하여 상기 제 2 영역으로부터 읽혀진 데이터를 상기 메모리 제어기로 출력하는 것을 특징으로 하는 메모리 시스템.
  18. 제 10 항에 있어서,
    상기 메모리 칩은 상기 읽기 실패 신호에 응답하여 리드 리트라이 요청을 발생하고, 상기 리드 리트라이 요청을 별도의 핀을 통하여 상기 메모리 제어기로 전송하거나 상기 리드 리트라이 요청을 DQS 더미 신호를 통하여 상기 메모리 제어기로 전송하는 것을 특징으로 하는 메모리 시스템.
  19. 제 10 항에 있어서,
    상기 메모리 칩은 상기 메모리 칩은 상기 읽기 실패 신호에 응답하여 리드 리트라이 요청을 발생하고, 상기 리드 리트라이 요청 관련 정보를 모드 레지스터에 저장하고,
    상기 메모리 제어기는 상기 모드 레지스터를 주기적 혹은 비주기적으로 읽음으로써 상기 리드 리트라이 요청을 수신하는 것을 특징으로 하는 메모리 시스템.
  20. 워드라인들과 비트라인들에 연결되는 복수의 메모리 셀들을 갖는 제 1 영역과 제 2 영역으로 갖는 메모리 셀 어레이;
    로우 어드레스에 응답하여 상기 워드라인들 중에서 어느 하나를 선택하는 로우 디코더;
    읽기 동작시 선택된 비트라인들에 연결된 메모리 셀들로부터 데이터를 감지하는 감지 증폭 회로;
    컬럼 어드레스에 응답하여 상기 비트라인들 중에서 상기 선택된 비트라인들을 선택하는 컬럼 디코더;
    상기 로우 어드레스 및 상기 컬럼 어드레스를 갖는 어드레스를 저장하는 어드레스 버퍼;
    상기 감지된 데이터의 에러를 정정하고, 에러 정정이 불가할 때 읽기 실패 신호를 발생하는 읽기 실패 지시기;
    미러링 모드에 대응하는 미러링 모드 활성화 신호를 발생하는 미러링 모드 활성 신호 발생기; 및
    상기 미러링 모드에서 쓰기 동작시 상기 제 1 영역과 상기 제 2 영역에 동일한 쓰기 데이터를 쓰고, 상기 미러링 모드에서 리드 리트라이 명령에 응답하여 읽기 동작의 데이터 출력 패스를 상기 1 영역의 데이터 출력 패스에서 상기 제 2 영역의 데이터 출력 패스로 변경하는 제어 로직을 포함하는 메모리 칩.
KR1020190123681A 2019-10-07 2019-10-07 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 KR20210041655A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190123681A KR20210041655A (ko) 2019-10-07 2019-10-07 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US16/855,373 US11664083B2 (en) 2019-10-07 2020-04-22 Memory, memory system having the same and operating method thereof
CN202011075233.XA CN112631822A (zh) 2019-10-07 2020-10-09 存储器、具有其的存储系统及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190123681A KR20210041655A (ko) 2019-10-07 2019-10-07 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210041655A true KR20210041655A (ko) 2021-04-16

Family

ID=75273717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190123681A KR20210041655A (ko) 2019-10-07 2019-10-07 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US11664083B2 (ko)
KR (1) KR20210041655A (ko)
CN (1) CN112631822A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200118311A (ko) * 2019-04-05 2020-10-15 삼성전자주식회사 데이터를 스왑하기 위한 메모리 장치 및 메모리 장치의 동작 방법
KR102674550B1 (ko) * 2019-10-07 2024-06-13 삼성전자주식회사 온-다이 미러링 기능을 갖는 메모리 칩 및 그것을 테스트하는 방법
CN114153402B (zh) * 2022-02-09 2022-05-03 阿里云计算有限公司 存储器及其数据读写方法
CN117687835A (zh) * 2022-09-09 2024-03-12 华为技术有限公司 数据处理系统、内存镜像方法、装置和计算设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002237195A (ja) 2001-02-13 2002-08-23 Mitsubishi Electric Corp 半導体記憶装置
KR20050104106A (ko) 2004-04-28 2005-11-02 (주)알피에이네트웍스 미러링 데이터의 분산처리가 가능한 광 네트워크용 tap장치
JP5055125B2 (ja) 2004-11-05 2012-10-24 ドロボ, インコーポレイテッド 種々のサイズの格納デバイスを許容する動的にアップグレード可能な故障許容格納システムおよび方法
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
JP5242397B2 (ja) 2005-09-02 2013-07-24 メタラム インコーポレイテッド Dramをスタックする方法及び装置
KR20070074322A (ko) 2006-01-09 2007-07-12 삼성전자주식회사 메모리 시스템에 있어서 메모리 미러링 방법
KR100913974B1 (ko) 2006-02-23 2009-08-25 내셔널 세미콘덕터 코포레이션 선형성 정정 기능을 가지는 주파수비 디지털화 온도 센서
TW201222254A (en) 2010-11-26 2012-06-01 Inventec Corp Method for protecting data in damaged memory cells by dynamically switching memory mode
US20180107591A1 (en) 2011-04-06 2018-04-19 P4tents1, LLC System, method and computer program product for fetching data between an execution of a plurality of threads
US9136021B2 (en) 2011-12-23 2015-09-15 Intel Corporation Self-repair logic for stacked memory architecture
US9804931B2 (en) * 2014-04-25 2017-10-31 Rambus Inc. Memory mirroring utilizing single write operations
US9361195B2 (en) 2014-11-12 2016-06-07 International Business Machines Corporation Mirroring in three-dimensional stacked memory
US10157005B2 (en) * 2016-09-30 2018-12-18 Intel Corporation Utilization of non-volatile random access memory for information storage in response to error conditions
US9778984B1 (en) 2016-11-01 2017-10-03 Invensas Corporation Enhanced memory reliability in stacked memory devices
US9996411B1 (en) 2016-11-29 2018-06-12 International Business Machines Corporation In-channel memory mirroring
US10459809B2 (en) 2017-06-30 2019-10-29 Intel Corporation Stacked memory chip device with enhanced data protection capability

Also Published As

Publication number Publication date
US11664083B2 (en) 2023-05-30
CN112631822A (zh) 2021-04-09
US20210104291A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
US11664083B2 (en) Memory, memory system having the same and operating method thereof
US20190034270A1 (en) Memory system having an error correction function and operating method of memory module and memory controller
KR102674032B1 (ko) 리페어 동작을 수행하는 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US11527303B2 (en) Memory devices having variable repair units therein and methods of repairing same
NL2029034B1 (en) Adaptive internal memory error scrubbing and error handling
US11437118B2 (en) Memory device and test method thereof
US11721408B2 (en) Memory device capable of outputting fail data in parallel bit test and memory system including the memory device
US20200226045A1 (en) Initialization and power fail isolation of a memory module in a system
KR20200124504A (ko) 우선순위 기반의 ecc에 기초하여 데이터를 근사적 메모리 장치에 저장하는 메모리 컨트롤러, 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 근사적 메모리 장치와 메모리 컨트롤러를 포함하는 전자 장치
US11899959B2 (en) Method of testing memory device, memory built-in self test (MBIST) circuit, and memory device for reducing test time
US11848068B2 (en) Memory chip having on-die mirroring function and method for testing the same
US20210141692A1 (en) Distribution of error checking and correction (ecc) bits to allocate ecc bits for metadata
US20220130841A1 (en) Semiconductor device using different types of through-silicon-vias
US20220100395A1 (en) Controller for preventing uncorrectable error in memory device, memory device having the same, and operating method thereof
CN114840451A (zh) 存储装置、存储系统和操作存储装置的方法
US20240118970A1 (en) Techniques for memory scrubbing associated with reliability availability and serviceability features
US11670355B2 (en) Accelerator controlling memory device, computing system including accelerator, and operating method of accelerator
US20240212776A1 (en) Memory device, memory system having the same and operating method thereof
CN115878367A (zh) 存储器模块的操作方法、存储器控制器的操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal