KR102648774B1 - 랜더마이즈 동작을 수행하는 반도체 메모리 장치 - Google Patents

랜더마이즈 동작을 수행하는 반도체 메모리 장치 Download PDF

Info

Publication number
KR102648774B1
KR102648774B1 KR1020160149522A KR20160149522A KR102648774B1 KR 102648774 B1 KR102648774 B1 KR 102648774B1 KR 1020160149522 A KR1020160149522 A KR 1020160149522A KR 20160149522 A KR20160149522 A KR 20160149522A KR 102648774 B1 KR102648774 B1 KR 102648774B1
Authority
KR
South Korea
Prior art keywords
data
page buffer
buffer group
error correction
latches
Prior art date
Application number
KR1020160149522A
Other languages
English (en)
Other versions
KR20180052329A (ko
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 KR1020160149522A priority Critical patent/KR102648774B1/ko
Priority to US15/596,803 priority patent/US10361722B2/en
Publication of KR20180052329A publication Critical patent/KR20180052329A/ko
Application granted granted Critical
Publication of KR102648774B1 publication Critical patent/KR102648774B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • 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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 기술은 다수의 메모리 셀들이 포함된 다수의 플래인들(Planes); 상기 플래인들에 각각 연결되며, 외부 장치로부터 입력된 노말 데이터, 랜더마이즈(randomize)된 랜덤 데이터, 또는 에러 정정 동작에 사용되는 패리티 데이터를 임시로 저장하도록 구성된 읽기 쓰기 회로들; 프로그램 동작시 상기 노말 데이터를 랜더마이즈하여 상기 랜덤 데이터를 생성하고, 상기 랜덤 데이터에 대한 패리티 데이터를 생성하고, 리드 동작시 상기 패리티 데이터를 사용하여 상기 랜덤 데이터의 에러를 정정하고, 상기 랜덤 데이터를 디-랜더마이즈하도록 구성된 에러 정정 회로; 및 메모리 컨트롤러로부터 커맨드 및 어드레스를 수신받고, 상기 읽기 쓰기 회로들 및 상기 에러 정정 회로를 제어하는 제어 로직을 포함하는 반도체 메모리 장치를 포함한다.

Description

랜더마이즈 동작을 수행하는 반도체 메모리 장치{Semiconductor memory device performing randomize operation}
본 발명은 랜더마이즈 동작을 수행하는 반도체 메모리 장치에 관한 것으로, 보다 구체적으로는 페이지 버퍼를 포함하는 반도체 메모리 장치에 관한 것이다.
메모리 시스템은 데이터가 저장되는 반도체 메모리 장치(semiconductor memory device) 및 반도체 메모리 장치와 호스트(Host) 사이에서 커맨드(command), 어드레스(address) 및 데이터(data) 전송을 제어하는 메모리 컨트롤러(memory controller)를 포함할 수 있다.
반도체 메모리 장치는 데이터 저장 방식에 따라 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구분될 수 있다.
호스트는 PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜을 사용하여 반도체 메모리 장치와 통신할 수 있다. 호스트와 반도체 메모리 장치 간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스들이 포함될 수 있다.
본 발명의 실시예는 반도체 메모리 장치의 프로그램 또는 리드 동작시 에러 정정 동작에 사용되는 패리티 데이터를 반도체 메모리 장치 내에 임시로 저장하고 이를 사용함으로써, 크기를 감소시킬 수 있는 반도체 메모리 장치를 제공한다.
본 발명의 실시예에 따른 반도체 메모리 장치는, 다수의 메모리 셀들이 포함된 다수의 플래인들(Planes); 상기 플래인들에 각각 연결되며, 외부 장치로부터 입력된 노말 데이터, 랜더마이즈(randomize)된 랜덤 데이터, 또는 에러 정정 동작에 사용되는 패리티 데이터를 임시로 저장하도록 구성된 읽기 쓰기 회로들; 프로그램 동작시 상기 노말 데이터를 랜더마이즈하여 상기 랜덤 데이터를 생성하고, 상기 랜덤 데이터에 대한 패리티 데이터를 생성하고, 리드 동작시 상기 패리티 데이터를 사용하여 상기 랜덤 데이터의 에러를 정정하고, 상기 랜덤 데이터를 디-랜더마이즈하도록 구성된 에러 정정 회로; 및 메모리 컨트롤러로부터 커맨드 및 어드레스를 수신받고, 상기 읽기 쓰기 회로들 및 상기 에러 정정 회로를 제어하는 제어 로직을 포함한다.
본 발명의 실시예에 따른 반도체 메모리 장치는, 다수의 메모리 셀들이 포함된 다수의 메모리 블록들; 비트라인들을 통해 상기 메모리 블록들에 연결되며, 외부 장치로부터 수신된 제1 데이터, 상기 제1 데이터를 랜더마이즈한 제2 데이터, 또는 에러 정정 동작에 사용되는 패리티(parity) 데이터를 임시로 저장하는 페이지 버퍼 그룹; 상기 페이지 버퍼 그룹에 저장된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 제1 글로벌 데이터 라인으로 순차적으로 전송하도록 구성된 제1 컬럼 선택 디코더; 제2 글로벌 데이터 라인에 로드(load)된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 상기 페이지 버퍼 그룹으로 순차적으로 입력하도록 구성된 제2 컬럼 선택 디코더; 및 상기 제1 및 제2 글로벌 데이터 라인들을 통해 상기 페이지 버퍼 그룹에 연결되며, 상기 패리티 데이터를 생성하고, 상기 패리티 데이터를 사용하여 상기 제2 데이터의 에러를 정정하고, 상기 제1 데이터를 랜더마이즈하여 상기 제2 데이터로 변환시키거나, 상기 제2 데이터를 디-랜더마이즈하여 상기 제1 데이터로 변환시키는 에러 정정 회로를 포함한다.
본 발명의 실시예에 따른 반도체 메모리 장치는, 다수의 메모리 블록들이 포함된 다수의 플래인들; 상기 플래인들에 각각 연결되며, 외부 장치로부터 수신된 제1 데이터, 상기 제1 데이터를 랜더마이즈한 제2 데이터, 또는 에러 정정 동작에 사용되는 패리티(parity) 데이터를 임시로 저장하는 페이지 버퍼 그룹들; 상기 페이지 버퍼 그룹들에 저장된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 글로벌 데이터 라인들로 순차적으로 전송하거나, 상기 글로벌 데이터 라인들에 로드(load)된 데이터를 상기 페이지 버퍼 그룹들로 순차적으로 전송되도록 하는 컬럼 선택 디코더들; 상기 글로벌 데이터 라인들을 통해 상기 페이지 버퍼 그룹들에 연결되며, 상기 제2 데이터에 대한 상기 패리티(parity) 데이터 생성 및 에러 정정 동작을 수행하고, 상기 제1 데이터를 랜더마이즈하여 상기 제2 데이터로 변환시키거나, 상기 제2 데이터를 디-랜더마이즈하여 상기 제1 데이터로 변환시키는 에러 정정 회로; 및 상기 페이지 버퍼 그룹들에 저장된 데이터를 전송하는 글로벌 버퍼를 포함한다.
본 기술은 에러 정정 동작에 필요한 패리티 데이터를 페이지 버퍼들에 임시로 저장함으로써 반도체 메모리 장치의 크기를 감소시킬 수 있다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 반도체 메모리 장치를 설명하기 위한 도면이다.
도 3은 도 2의 제1 플래인(first plane)을 설명하기 위한 도면이다.
도 4는 도 3의 제1 메모리 블록(first memory block)을 설명하기 위한 도면이다.
도 5는 도 2의 읽기 쓰기 회로의 제1 실시예를 설명하기 위한 도면이다.
도 6은 도 5의 페이지 버퍼 그룹을 설명하기 위한 도면이다.
도 7은 도 6의 페이지 버퍼들을 설명하기 위한 도면이다.
도 8은 도 7의 래치(latch)를 설명하기 위한 도면이다.
도 9는 본 발명의 제1 실시예에 따른 글로벌 데이터 라인과 래치 간의 연결 관계를 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 프로그램(program) 동작을 설명하기 위한 순서도이다.
도 11은 본 발명의 실시예에 따른 리드(read) 동작을 설명하기 위한 순서도이다.
도 12는 도 2의 읽기 쓰기 회로의 제2 실시예를 설명하기 위한 도면이다.
도 13은 본 발명의 제2 실시예에 따른 글로벌 데이터 라인과 래치 간의 연결 관계를 설명하기 위한 도면이다.
도 14는 본 발명의 실시예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 15는 본 발명의 실시예에 따른 리드 동작을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 17은 본 발명의 실시예에 따른 리드 동작을 설명하기 위한 도면이다.
도 18은 본 발명의 다른 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 19는 본 발명의 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 도면이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한, 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 시스템(Memory System; 1000)은 데이터가 저장되는 반도체 메모리 장치(Semiconductor Memory Device; 1100)와, 호스트(Host; 2000)의 제어에 따라 반도체 메모리 장치(1100)를 제어하는 메모리 컨트롤러(Memory Controller; 1200)를 포함할 수 있다.
호스트(2000)는 PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜을 사용하여 메모리 시스템(1000)과 통신할 수 있다. 또한 호스트(2000)와 메모리 시스템(1000) 간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다른 인터페이스 프로토콜들 중 하나일 수 있다.
메모리 컨트롤러(1200)는 메모리 시스템(1000)의 동작을 전반적으로 제어하며, 호스트(2000)와 반도체 메모리 장치(1100) 사이의 데이터 교환을 제어한다. 예를 들면, 메모리 컨트롤러(1200)는 호스트(2000)의 요청에 따라 반도체 메모리 장치(1100)를 제어하여 데이터를 프로그램(program)하거나 리드(read)할 수 있다. 또한, 메모리 컨트롤러(1200)는 반도체 메모리 장치(1100)에 포함된 메인 메모리 블록들 및 서브 메모리 블록들의 정보를 저장하고, 프로그램 동작을 위해 로딩된 데이터 량에 따라 메인 메모리 블록 또는 서브 메모리 블록에 프로그램 동작이 수행되도록 반도체 메모리 장치(1100)를 선택할 수 있다. 실시예에 따라, 반도체 메모리 장치(1100)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR4(Low Power Double Data Rate4) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, LPDDR(Low Power DDR), RDRAM(Rambus Dynamic Random Access Memory) 또는 플래쉬 메모리(FLASH Memory)를 포함할 수 있다.
반도체 메모리 장치(1100)는 메모리 컨트롤러(1200)의 제어에 따라 프로그램, 리드 또는 소거 동작을 수행할 수 있다. 프로그램 동작 시, 반도체 메모리 장치(1100)는 외부 장치로부터 입력된 데이터를 랜더마이즈(randomize)하여 랜덤 데이터를 생성하고, 랜덤 데이터를 임시로 저장하고 메모리 셀들에 랜덤 데이터를 프로그램할 수 있다. 리드 동작 시, 반도체 메모리 장치(1100)는 메모리 셀들에 저장된 데이터의 에러 정정 동작을 수행할 수 있고, 메모리 셀들로부터 리드한 데이터를 원래 데이터로 디-랜더마이즈(de-randomize)하여 출력할 수 있다.
도 2는 본 발명의 실시예에 따른 반도체 메모리 장치를 설명하기 위한 도면이다.
도 2를 참조하면, 반도체 메모리 장치(1100)는 다수의 플래인들(Planes; PL1~PLi; i는 양의 정수)과, 다양한 레벨의 전압들을 생성하는 전압 생성 회로(Voltage Generation Circuit; VGC)와, 다수의 읽기 쓰기 회로들(Read Write Circuits; RWC1~RWCi)과, 디코더들(Decoders; DEC1~DECi)과, 에러 정정 회로(Error Correction Circuit; ECC)과, 글로벌 버퍼(Global Buffer; GB)와 제어 로직(Control Logic; C_LOGIC)을 포함할 수 있다.
전압 생성 회로(VGC)는 전압 생성 신호(VS)에 응답하여 프로그램, 리드 또는 소거 동작에 필요한 다양한 전압들을 생성할 수 있다.
플래인들(PL1~PLi)은 데이터를 저장하는 다수의 메모리 셀들을 포함할 수 있다. 플래인들(PL1~PLi)은 선택된 메모리 셀들의 프로그램, 리드 또는 소거 동작을 수행하기 위한 읽기 쓰기 회로들(RWC1~RWCi) 및 디코더들(DEC1~DECi)과 각각 쌍을 이룰 수 있다. 예를 들면, 제1 읽기 쓰기 회로(RWC1)와 제1 디코더(DEC1)는 제1 플래인(PL1)에 연결될 수 있고, 제2 읽기 쓰기 회로(RWC2)와 제2 디코더(DEC2)는 제2 플래인(PL2)에 연결될 수 있다. 이와 같은 방식으로, 제i 읽기 쓰기 회로(RWCi)와 제i 디코더(DECi)는 제i 플래인(PLi)에 연결될 수 있다.
읽기 쓰기 회로들(RWC1~RWCi)은 제어 로직(C_LOGIC)으로부터 출력된 컬럼 어드레스(Column Address; CADD) 및 페이지 버퍼 제어 신호들(Page Buffer Control Signals; PBS)에 응답하여, 선택된 플래인(PL1~PLi 중 어느 하나)의 프로그램 또는 리드 동작시 에러 정정 동작 또는 랜덤마이즈 동작으로 인해 변환된 데이터를 저장할 수 있다.
디코더들(DEC1~DECi)은 글로벌 라인들(Global lines; GL)을 통해 전압 생성 회로(VGC)에 연결될 수 있으며, 제어 로직(C_LOGIC)으로부터 출력된 로우 어드레스(Row Address; RADD)에 응답하여, 선택된 플래인의 프로그램 또는 리드 동작시 글로벌 라인들(GL)을 통해 전달된 전압들을 선택된 플래인에 전달할 수 있다.
글로벌 버퍼(GB)는 외부 장치와 반도체 메모리 장치(1100) 사이에서 커맨드(Command; CMD), 어드레스(Addredd; ADD) 및 데이터(DATA)를 전송할 수 있다. 예를 들면, 글로벌 버퍼(GB)는 입출력 라인들(IO)을 통해 외부 장치에 연결될 수 있다. 여기서, 외부 장치는 메모리 컨트롤러(도 1의 1200)일 수 있다. 프로그램 동작을 예로 들면, 입출력 라인들(IO)을 통해 커맨드(CMD), 어드레스(ADD) 또는 데이터(DATA)가 수신되면, 글로벌 버퍼(GB)는 커맨드(CMD) 및 어드레스(ADD)를 제어 로직(C_LOGIC)으로 전달하고, 데이터(DATA)를 읽기 쓰기 회로들(RWC1~RWCi) 중 선택된 읽기 쓰기 회로에 전달할 수 있다. 리드 동작을 예로 들면, 글로벌 버퍼(GB)는 선택된 읽기 쓰기 회로로부터 출력된 데이터(DATA)를 입출력 라인들(IO)을 통해 외부 장치로 출력할 수 있다.
에러 정정 회로(ECC)는 글로벌 데이터 라인들(Global Data Lines; GDL)을 통해 읽기 쓰기 회로들(RWC1~RWCi)에 연결될 수 있다. 에러 정정 회로(ECC)는 제어 로직(C_LOGIC)으로부터 출력된 에러 정정 신호들(ECCS)에 응답하여 에러 정정 동작뿐만 아니라 랜더마이즈 동작 및 디-랜더마이즈 동작을 수행할 수 있다. 예를 들면, 프로그램 동작시 에러 정정 회로(ECC)는 외부 장치로부터 입력된 데이터를 사용한 랜더마이즈 동작을 수행하고, 랜더마이즈 동작으로 생성된 랜덤 데이터를 선택된 읽기 쓰기 회로에 전달할 수 있다. 예를 들면, 랜더마이즈 동작은 외부 장치로부터 입력된 데이터와 시드 데이터(seed data)를 연산하여 랜덤 데이터를 생성하는 방식으로 수행될 수 있다. 시드 데이터는 에러 정정 회로(ECC)에 포함된 일부 레지스터(register)에 저장되거나, 에러 정정 회로(ECC)의 외부에 구비된 별도의 레지스터에 저장될 수 있다.
또한, 에러 정정 회로(ECC)는 프로그램 동작시, 외부 장치로부터 입력된 데이터에 대한 패리티(parity) 데이터를 생성할 수 있다. 예를 들면, 에러 정정 회로(ECC)는 입력된 외부 데이터를 다수의 그룹으로 구분하고, 각 그룹에 패리티 비트(bit)를 생성할 수 있는데 이러한 패리티 비트들을 패리티 데이터라 할 수 있다. 패리티 데이터는 리드 동작시 리드된 데이터의 에러를 검출하고 정정하는데 사용될 수 있다. 예를 들면, 에러 정정 회로(ECC)는 외부 데이터는 다수의 컬럼(column) 단위로 구분하고, 각 컬럼 단위에 포함된 데이터들에 패리티 비트를 하나씩 생성할 수 있다. 예를 들면, 선택된 페이지의 데이터가 제1 내지 제20 컬럼들에 각각 대응된다고 가정하면, 제1 내지 제4 컬럼들의 데이터에는 제1 패리티 비트가 생성될 수 있고, 제5 내지 제8 컬럼들의 데이터에는 제2 패리티 비트가 생성될 수 있으며, 이러한 방식으로 제17 내지 제20 컬럼들의 데이터에 제5 패리티 비트가 생성될 수 있다. 에러 정정 회로(ECC)는 랜덤 데이터를 선택된 읽기 쓰기 회로에 전달할 때, 패리티(parity) 데이터도 읽기 쓰기 회로에 전달할 수 있다. 리드 동작 시, 에러 정정 회로(ECC)는 선택된 읽기 쓰기 회로로부터 리드된 데이터를 수신할 때 패리티 데이터도 함께 수신할 수 있다. 예를 들면, 에러 정정 회로(ECC)는 패리티 데이터를 사용하여 에러 정정 동작을 수행하고, 리드된 데이터를 디-랜더마이즈한 후, 디-랜더마이즈된 데이터를 선택된 읽기 쓰기 회로에 전달할 수 있다. 예를 들면, 에러 정정 회로(ECC)는 리드 동작 시, 각 컬럼 그룹에 대응되는 패리티 비트를 사용하여 에러 체크 및 정정 동작을 수행할 수 있다. 예를 들면, 에러 정정 회로(ECC)는 리드된 데이터와 패리티 데이터를 순차적으로 수신할 수 있으며, 각 컬럼에 대응되는 패리티 비트를 사용하여 해당 컬럼의 데이터에 대한 에러 체크 및 정정 동작을 수행할 수 있다.
도 3은 도 2의 제1 플래인(first plane)을 설명하기 위한 도면으로써, 플래인들(PL1~PLi)이 서로 유사하게 구성되므로, 어느 하나의 플래인(PL1)을 예를 들어 설명하도록 한다.
도 3을 참조하면, 제1 플래인(PL1)은 다수의 메모리 블록들(Memory Blocks; MB1~MBk; k는 양의 정수)을 포함할 수 있다. 메모리 블록들(MB1~MBk)은 서로 유사하게 구성될 수 있다. 프로그램, 리드 또는 소거 동작은 다수의 메모리 블록들(MB1~MBk) 중 선택된 메모리 블록에서 수행될 수 있다.
도 4는 도 3의 제1 메모리 블록(first memory block)을 설명하기 위한 도면으로써, 메모리 블록들(MB1~MBk)이 서로 유사하게 구성되므로, 어느 하나의 메모리 블록(MB1)을 예를 들어 설명하도록 한다.
도 4를 참조하면, 제1 메모리 블록(MB1)은 비트 라인들(bit lines; BL)과 소스 라인(source line; SL) 사이에 연결된 다수의 스트링들(strings; ST)을 포함할 수 있다. 예를 들면, 스트링들(ST)은 비트 라인들(BL)에 각각 연결되고, 소스 라인(SL)에 공통으로 연결될 수 있다. 스트링들(ST)은 서로 유사하게 구성되므로, 어느 하나의 스트링(ST)을 예를 들어 설명하면 다음과 같다.
스트링(ST)은 소스 라인(SL)과 비트 라인(BL) 사이에서 서로 직렬로 연결된 소스 셀렉트 트랜지스터(source select transistor; SST), 제1 내지 제n 메모리 셀들(memory cells; F1~Fn; n은 양의 정수) 및 드레인 셀렉트 트랜지스터(drain select transistor; DST)를 포함할 수 있다. 도 4는 제1 메모리 블록(MB1)의 구성을 이해하기 위한 실시예에 해당하므로, 소스 및 드레인 셀렉트 트랜지스터들(SST 및 DST) 및 제1 내지 제n 메모리 셀들(F1~Fn)의 개수는 도 4에 도시된 개수에 제한되지 않는다.
소스 셀렉트 트랜지스터(SST)는 소스 라인(SL)과 제1 메모리 셀(F1) 사이에 연결될 수 있다. 제1 내지 제n 메모리 셀들(F1~Fn)은 소스 셀렉트 트랜지스터(SST)와 드레인 셀렉트 트랜지스터(DST) 사이에서 서로 직렬로 연결될 수 있다. 드레인 셀렉트 트랜지스터(DST)는 제n 메모리 셀(Fn)과 비트라인(BL) 사이에 연결될 수 있다. 도면에는 도시되지 않았으나, 소스 셀렉트 트랜지스터(SST)과 드레인 셀렉트 트랜지스터(DST) 사이에 더미 셀들(dummy cells)이 더 연결될 수도 있다.
서로 다른 스트링들(ST)에 포함된 소스 셀렉트 트랜지스터들(SST)의 게이트들은 소스 셀렉트 라인(source select line; SSL)에 연결될 수 있고, 제1 내지 제n 메모리 셀들(F1~Fn)의 게이트들은 제1 내지 제n 워드라인들(word lines; WL1~WLn)에 연결될 수 있고, 드레인 셀렉트 트랜지스터들(DST)의 게이트들은 드레인 셀렉트 라인들(drain select lines; DSL)에 연결될 수 있다.
서로 동일한 워드라인에 연결된 메모리 셀들의 그룹을 페이지(page; PG)라 한다. 프로그램 및 리드 동작들은 선택된 메모리 블록에서 페이지 단위로 수행될 수 있다.
도 5는 도 2의 읽기 쓰기 회로의 제1 실시예를 설명하기 위한 도면으로써, 제1 읽기 쓰기 회로(RWC1)를 예를 들어 설명하도록 한다.
도 5를 참조하면, 제1 읽기 쓰기 회로(RWC1)는 페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG), 제1 컬럼 선택 디코더(first column selection decoder; CS1_DEC), 제1 컬럼 선택 제어 회로(first column selection controller; CS1_CON), 제2 컬럼 선택 디코더(second column selection decoder; CS2_DEC) 및 제2 컬럼 선택 제어 회로(second column selection controller; CS2_CON)를 포함할 수 있다.
페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG)은 메인 페이지 버퍼 그룹(main page buffer group; M_PBG), 스페어 페이지 버퍼 그룹(spare page buffer group; S_PBG) 및 리페어 페이지 버퍼 그룹(repair page buffer group; R_PBG)을 포함할 수 있다.
메인 페이지 버퍼 그룹(M_PBG)은 비트라인들(BL)에 연결된 다수의 메인 페이지 버퍼들을 포함할 수 있다. 메인 페이지 버퍼 그룹(M_PBG)은 외부 장치(예를 들면, 메모리 컨트롤러)로부터 입력된 데이터(DATA) 또는 랜더마이즈된 랜덤 데이터를 수신하거나, 메모리 셀들로부터 리드(read)된 데이터(예를 들면, 랜덤 데이터)를 임시로 저장하고 외부 장치로 출력할 수 있다. 또한, 메인 페이지 버퍼 그룹(M_PBG)은 제1 메인 컬럼 선택 신호들(CS1_M) 또는 제2 메인 컬럼 선택 신호들(CS2_M)에 응답하여, 제1 또는 제2 글로벌 데이터 라인(GDL1 또는 GDL2)을 통해 에러 정정 회로(ECC)와 데이터를 주고받을 수 있다.
스페어 페이지 버퍼 그룹(S_PBG)은 비트라인들(BL)에 연결된 다수의 스페어 페이지 버퍼들을 포함할 수 있다. 스페어 페이지 버퍼 그룹(S_PBG)은 제1 스페어 컬럼 선택 신호들(CS1_S) 또는 제2 스페어 컬럼 선택 신호들(CS2_S)에 응답하여, 제1 또는 제2 글로벌 데이터 라인(GDL1 또는 GDL2)을 통해 패리티(parity) 데이터를 에러 정정 회로(ECC)와 주고받을 수 있다.
리페어 페이지 버퍼 그룹(R_PBG)은 비트라인들(BL)에 연결된 다수의 리페어 페이지 버퍼들을 포함할 수 있다. 리페어 페이지 버퍼 그룹(R_PBG)은 메인 페이지 버퍼 그룹(M_PBG)에 연결된 비트라인들(BL) 중에서 결함이 발생한 컬럼(column)을 대체하기 위해 사용될 수 있다. 따라서, 리페어 페이지 버퍼 그룹(R_PBG)은 리페어 데이터를 임시로 저장하고, 리페어 데이터를 사용하여 선택된 페이지의 프로그램 동작을 수행하거나, 선택된 페이지의 리드 동작을 수행하도록 구성될 수 있다. 이를 위해, 리페어 페이지 버퍼 그룹(R_PBG)은 외부 장치(예를 들면, 메모리 컨트롤러)로부터 입력된 데이터(DATA)를 수신하거나, 메모리 셀들로부터 리드(read)된 데이터를 외부 장치로 출력할 수 있다. 리페어 페이지 버퍼 그룹(R_PBG)은 제1 리페어 컬럼 선택 신호들(CS1_R) 또는 제2 리페어 컬럼 선택 신호들(CS2_R)에 응답하여, 제1 또는 제2 글로벌 데이터 라인(GDL1 또는 GDL2)을 통해 에러 정정 회로(ECC)와 데이터를 주고받을 수 있다.
상술한 페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG)은 페이지 버퍼 제어 신호들(PBS)에 응답하여 동작할 수 있다.
제1 컬럼 선택 디코더(CS1_DEC)는 제1 컬럼 선택 제어 신호들(CS1SIG)에 응답하여 제1 메인 컬럼 선택 신호들(CS1_M), 제1 스페어 컬럼 선택 신호들(CS1_S) 또는 제1 리페어 컬럼 선택 신호들(CS1_R)을 출력할 수 있다. 예를 들면, 제1 컬럼 선택 디코더(CS1_DEC)는 제1 컬럼 선택 제어 신호들(CS1SIG)에 응답하여 제1 메인 컬럼 선택 신호들(CS1_M), 제1 스페어 컬럼 선택 신호들(CS1_S) 및 제1 리페어 컬럼 선택 신호들(CS1_R)을 선택적으로 출력할 수 있다. 제1 메인 컬럼 선택 신호들(CS1_M)은 메인 페이지 버퍼 그룹(M_PBG)에 포함된 메인 페이지 버퍼들에 각각 인가되고, 제1 스페어 컬럼 선택 신호들(CS1_S)은 스페어 페이지 버퍼 그룹(S_PBG)에 포함된 스페어 페이지 버퍼들에 각각 인가되며, 제1 리페어 컬럼 선택 신호들(CS1_R)은 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 리페어 페이지 버퍼들에 각각 인가될 수 있다. 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 페이지 버퍼들은 제1 메인 컬럼 선택 신호들(CS1_M), 제1 스페어 컬럼 선택 신호들(CS1_S) 및 제1 리페어 컬럼 선택 신호들(CS1_R)에 응답하여 페이지 버퍼들에 저장된 데이터를 제1 글로벌 데이터 라인(GDL1)으로 전송할 수 있다.
제1 컬럼 선택 제어 회로(CS1_CON)는 컬럼 어드레스(CADD)에 응답하여 제1 컬럼 선택 제어 신호들(CS1SIG)을 출력할 수 있다.
제2 컬럼 선택 디코더(CS2_DEC)는 제2 컬럼 선택 제어 신호들(CS2SIG)에 응답하여 제2 메인 컬럼 선택 신호들(CS2_M), 제2 스페어 컬럼 선택 신호들(CS2_S) 또는 제2 리페어 컬럼 선택 신호들(CS2_R)을 출력할 수 있다. 예를 들면, 제2 컬럼 선택 디코더(CS2_DEC)는 제2 컬럼 선택 제어 신호들(CS2SIG)에 응답하여 제2 메인 컬럼 선택 신호들(CS2_M), 제2 스페어 컬럼 선택 신호들(CS2_S) 및 제2 리페어 컬럼 선택 신호들(CS2_R)을 선택적으로 출력할 수 있다. 제2 메인 컬럼 선택 신호들(CS2_M)은 메인 페이지 버퍼 그룹(M_PBG)에 포함된 메인 페이지 버퍼들에 각각 인가되고, 제2 스페어 컬럼 선택 신호들(CS2_S)은 스페어 페이지 버퍼 그룹(S_PBG)에 포함된 스페어 페이지 버퍼들에 각각 인가되며, 제2 리페어 컬럼 선택 신호들(CS2_R)은 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 리페어 페이지 버퍼들에 각각 인가될 수 있다. 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 페이지 버퍼들은 제2 메인 컬럼 선택 신호들(CS2_M), 제2 스페어 컬럼 선택 신호들(CS2_S) 및 제2 리페어 컬럼 선택 신호들(CS2_R)에 응답하여 제2 글로벌 데이터 라인(GDL2)으로부터 전송된 데이터를 저장할 수 있다.
제2 컬럼 선택 제어 회로(CS2_CON)는 컬럼 어드레스(CADD)에 응답하여 제2 컬럼 선택 제어 신호들(CS2SIG)을 출력할 수 있다.
상술한 회로들 중에서 페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG)을 구체적으로 설명하면 다음과 같다.
도 6은 도 5의 페이지 버퍼 그룹을 설명하기 위한 도면이다.
도 6을 참조하면, 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG) 각각은 다수의 페이지 버퍼들을 포함할 수 있다. 예를 들면, 메인 페이지 버퍼 그룹(M_PBG)은 제1 내지 제a 메인 페이지 버퍼들(MPB1~MPBa; a는 양의 정수)을 포함할 수 있고, 스페어 페이지 버퍼 그룹(S_PBG)은 제1 내지 제b 스페어 페이지 버퍼들(SPB1~SPBb; b는 양의 정수)을 포함할 수 있고, 리페어 페이지 버퍼 그룹(R_PBG)은 제1 내지 제c 리페어 페이지 버퍼들(RPB1~RPBc; c는 양의 정수)을 포함할 수 있다. 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함되는 페이지 버퍼들의 개수는 반도체 메모리 장치에 따라 다를 수 있다.
메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 페이지 버퍼들은 서로 유사하게 구성될 수 있으므로, 메인 페이지 버퍼 그룹(M_PBG)에 포함된 일부 메인 페이지 버퍼들을 예를 들어 설명하면 다음과 같다.
도 7은 도 6의 페이지 버퍼들을 설명하기 위한 도면으로써, 메인 페이지 버퍼 그룹(도 6의 M_PBG)에 포함된 제1 및 제2 메인 페이지 버퍼들(MPB1 및 MPB2)을 예를 들어 설명하도록 한다.
도 5, 6 및 7을 참조하면, 제1 및 제2 메인 페이지 버퍼들(MPB1 및 MPB2)은 서로 유사하게 구성될 수 있다. 제1 및 제2 메인 페이지 버퍼들(MPB1 및 MPB2) 각각은 다수의 래치들(latches)을 포함할 수 있다. 예를 들면, 제1 내지 제d 래치들(LAT1~LATd; d는 양의 정수)이 제1 및 제2 메인 페이지 버퍼들(MPB1 및 MPB2) 각각에 포함될 수 있다. 제1 내지 제d 래치들(LAT1~LATd)의 개수는 반도체 메모리 장치에 따라 다를 수 있다.
제1 내지 제d 래치들(LAT1~LATd)은 서로 데이터를 주고 받을 수 있으며, 제1 내지 제d 래치들(LAT1~LATd) 중 일부 래치들은 글로벌 버퍼(GB)에 연결되어 글로벌 버퍼(GB)와 데이터(DATA)를 주고받을 수 있고, 다른 일부 래치들은 제1 및 제2 글로벌 데이터 라인들(GDL1 및 GDL2)에 연결되어 제1 및 제2 글로벌 데이터 라인들(GDL1 및 GDL2)과 데이터(DATA)를 주고받을 수 있다. 예를 들면, 제1 래치들(LAT1)은 글로벌 버퍼(GB)에 연결될 수 있고, 제d 래치들(LATd)은 제1 및 제2 글로벌 데이터 라인들(GDL1 및 GDL2)에 연결될 수 있다.
제d 래치들(LATd)은 제1 및 제2 메인 컬럼 선택 신호들(CS1_M<1>, CS1_M<2>, CS2_M<1> 및 CS2_M<2>)에 응답하여 제1 및 제2 글로벌 데이터 라인들(GDL1 및 GDL2)과 데이터를 주고받을 수 있다. 제1 메인 페이지 버퍼(MPB1)에 포함된 제d 래치(LATd)는 제1 메인 컬럼 선택 신호(CS1_M<1>) 또는 제2 메인 컬럼 선택 신호(CS2_M<1>)에 응답하여 동작하고, 제2 메인 페이지 버퍼(MPB2)에 포함된 제d 래치(LATd)는 제1 메인 컬럼 선택 신호(CS1_M<2>) 또는 제2 메인 컬럼 선택 신호(CS2_M<2>)에 응답하여 동작할 수 있다. 제1 메인 컬럼 선택 신호들(CS1_M)은 제1 내지 제a 메인 페이지 버퍼들(MPB1~MPBa)에 순차적으로 인가될 수 있다. 예를 들면, 제1 메인 페이지 버퍼(MPB1)의 제d 래치(LATd)에 제1 메인 컬럼 선택 신호(CS1_M<1>)가 인가되면 제d 래치(LATd)에 저장된 데이터(DATA)가 제1 글로벌 데이터 라인(GDL1)으로 전송되고, 이어서 제2 메인 페이지 버퍼(MPB2)의 제d 래치(LATd)에 제1 메인 컬럼 선택 신호(CS1_M<2>)가 인가되면 제d 래치(LATd)에 저장된 데이터(DATA)가 제1 글로벌 데이터 라인(GDL1)으로 전송될 수 있다. 즉, 제1 컬럼 선택 디코더(CS1_DEC)가 출력하는 제1 메인 컬럼 선택 신호들(CS1_M)은 메인 페이지 버퍼 그룹(도 5의 M_PBG)에 포함된 메인 페이지 버퍼들의 개수만큼의 제1 메인 컬럼 선택 신호들(CS1_M)을 순차적으로 출력할 수 있다.
따라서, 제1 메인 컬럼 선택 신호(CS1_M<1>)에 응답하여 제1 메인 페이지 버퍼(MPB1)의 제d 래치(LATd)에 저장된 데이터가 제1 글로벌 데이터 라인(GDL1)에 인가되고, 제1 글로벌 데이터 라인(GDL1)에 인가된 데이터는 에러 정정 회로(ECC)로 전송될 수 있다. 이어서, 제1 메인 컬럼 선택 신호(CS1_M<2>)에 응답하여 제2 메인 페이지 버퍼(MPB2)의 제d 래치(LATd)에 저장된 데이터가 제1 글로벌 데이터 라인(GDL1)에 인가되고, 제1 글로벌 데이터 라인(GDL1)에 인가된 데이터는 에러 정정 회로(ECC)로 전송될 수 있다. 이러한 방식으로, 제1 컬럼 선택 디코더(CS1_DEC)는 제1 메인 컬럼 선택 신호들(CS1_M<1> 내지 CS1_M<a>)을 순차적으로 출력할 수 있다. 메인 페이지 버퍼 그룹(M_PBG)에 포함된 제1 내지 제a 페이지 버퍼들(MPB1~MPBa)은 순차적으로 출력되는 제1 메인 컬럼 선택 신호들(CS1_M<1> 내지 CS1_M<a>)에 응답하여 각각의 제d 래치들(LATd)에 저장된 데이터(DATA)를 제1 글로벌 데이터 라인(GDL1)으로 순차적으로 전송할 수 있다. 제1 글로벌 데이터 라인(GDL1)에 전송된 데이터(DATA)는 에러 정정 회로(ECC)에 순차적으로 인가될 수 있다. 예를 들면, 제2 메인 페이지 버퍼(MPB2)의 데이터는 제1 글로벌 데이터 라인(GDL1)에 전송된 제1 메인 페이지 버퍼(MPB1)의 데이터가 에러 정정 회로(ECC)에 전송된 이후에 제1 글로벌 데이터 라인(GDL1)으로 전송될 수 있다.
스페어 및 리페어 페이지 버퍼 그룹들(S_PBG 및 R_PBG)에 저장된 데이터도 상술한 방법으로 제1 글로벌 데이터 라인(GDL1)을 통해 에러 정정 회로(ECC)에 전송될 수 있다.
제2 메인 컬럼 선택 신호들(CS2_M<1> 내지 CS2_M<a>)도 상술한 방법과 같이 순차적으로 출력될 수 있다. 에러 정정 회로(ECC)에서 랜더마이즈된 데이터를 랜덤 데이터(RDATA)라고 가정하면, 랜덤 데이터(RDATA)도 상술한 방법과 같이 제2 메인 컬럼 선택 신호들(CS2_M<1> 내지 CS2_M<a>)에 응답하여 제2 글로벌 데이터 라인(GDL2)을 통해 제1 내지 제a 메인 페이지 버퍼들(MPB1~MPBa)에 순차적으로 전송될 수 있다. 이때, 에러 정정 회로(ECC)는 에러 정정 신호들(ECCS)에 응답하여 제2 글로벌 데이터 라인(GDL2)에 랜덤 데이터(RDATA)를 순차적으로 전송할 수 있다. 또한, 에러 정정 회로(ECC)가 랜덤 데이터(RDATA)를 원래 데이터로 복원하는 디-랜더마이즈 동작을 수행한 경우에는, 복원된 데이터(DATA)가 제2 글로벌 데이터 라인(GDL2)을 통해 제1 내지 제a 메인 페이지 버퍼들(MPB1~MPBa)에 순차적으로 전송될 수 있다.
다음으로, 제1 및 제2 글로벌 데이터 라인들(GDL1 및 GDL2)과 제d 래치들(LATd) 간의 연결 관계를 설명하도록 한다.
도 8은 도 7의 래치(latch)를 설명하기 위한 도면이다.
도 8을 참조하면, 제1 글로벌 데이터 라인은(GDL1)은 제1 글로벌 반전 데이터 라인(GDL1b)과 쌍을 이룰 수 있고, 제2 글로벌 데이터 라인(GDL2)도 제2 글로벌 반전 데이터 라인(GDL2)과 쌍을 이룰 수 있다. 제1 글로벌 데이터 라인(GDL1)과 제1 글로벌 반전 데이터 라인(GDL1b)에는 서로 다른 데이터가 동시에 인가될 수 있고, 제2 글로벌 데이터 라인(GDL2)과 제2 글로벌 반전 데이터 라인(GDL2b)에는 서로 다른 데이터가 동시에 인가될 수 있다. 예를 들면, 제1 글로벌 데이터 라인(GDL1)에 '1' 데이터가 인가될 때, 제1 글로벌 반전 데이터 라인(GDL1b)에는 '0' 데이터가 인가될 수 있고, 제1 글로벌 데이터 라인(GDL1)에 '0' 데이터가 인가될 때, 제1 글로벌 반전 데이터 라인(GDL1b)에는 '1' 데이터가 인가될 수 있다.
페이지 버퍼는 제1 및 제2 글로벌 데이터 라인들(GDL1, GDL2)과 제1 및 제2 글로벌 반전 데이터 라인들(GDL1b 및 GDL2b)을 제d 래치(LATd)에 연결 또는 차단하기 위한 제1 내지 제4 스위치들(S1~S4)을 포함할 수 있다. 제1 내지 제4 스위치들(S1~S4)은 NMOS 트랜지스터로 구현될 수 있다.
제1 및 제2 스위치들(S1 및 S2)은 제1 메인 컬럼 선택 신호(CS1_M<1>)에 응답하여 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)을 제d 래치(LATd)에 연결 또는 차단시킬 수 있다. 제3 및 제4 스위치들(S3 및 S4)은 제2 메인 컬럼 선택 신호(CS2_M<1>)에 응답하여 제2 글로벌 데이터 라인(GDL2) 및 제2 글로벌 반전 데이터 라인(GDL2b)을 제d 래치(LATd)에 연결 또는 차단시킬 수 있다.
제d 래치(LATd)는 제1 입력 노드(Q1) 및 제2 입력 노드(Q2)를 포함할 수 있고, 제1 및 제2 입력 노드들(Q1 및 Q2) 사이에서 서로 병렬로 연결된 제1 및 제2 인버터들(inverters; I1 및 I2)을 포함할 수 있다. 제1 및 제2 인버터들(I1 및 I2)은 제1 입력 노드(Q1)와 제2 입력 노드(Q2)의 데이터가 서로 다르도록 연결될 수 있다. 제1 입력 노드(Q1)는 제2 스위치(S2)를 통해 제1 글로벌 데이터 라인(GDL1)에 연결되거나, 제4 스위치(S4)를 통해 제2 글로벌 데이터 라인(GDL2)에 연결될 수 있다. 제2 입력 노드(Q2)는 제1 스위치(S1)를 통해 제1 글로벌 반전 데이터 라인(GDL1b)에 연결되거나, 제3 스위치(S3)를 통해 제2 글로벌 반전 데이터 라인(GDL2b)에 연결될 수 있다. 따라서, 하이(high)의 제1 메인 컬럼 선택 신호(CS1_M<1>)가 제1 및 제2 스위치들(S1 및 S2)에 인가되면, 제1 입력 노드(Q1)의 데이터는 제1 글로벌 데이터 라인(GDL1)에 전송되고 제2 입력 노드(Q2)의 데이터는 제1 글로벌 반전 데이터 라인(GDL1b)에 동시에 전송될 수 있다. 하이(high)의 제2 메인 컬럼 선택 신호(CS2_M<1>)가 제3 및 제4 스위치들(S3 및 S4)에 인가되면, 제2 글로벌 데이터 라인(GDL2)의 데이터는 제1 입력 노드(Q1)에 전송되고 제2 글로벌 반전 데이터 라인(GDL2b)의 데이터는 제2 입력 노드(Q2)에 동시에 전송될 수 있다.
도 9는 본 발명의 제1 실시예에 따른 글로벌 데이터 라인과 래치 간의 연결 관계를 설명하기 위한 도면으로써, 도 5 내지 도 8에서 상술한 제1 실시예에 따른 글로벌 데이터 라인들과 래치들 간의 연결 관계가 도시되어 있다.
도 9를 참조하면, 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)은 하나의 쌍을 이루며, 스위치들을 통하여 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 페이지 버퍼들의 래치들(LATd, LATe 및 LATf; d, e 및 f는 양의 정수)에 공통으로 연결될 수 있다.
메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 저장된 데이터는 제1 메인 컬럼 선택 신호들(CS1_M), 제1 스페어 컬럼 선택 신호들(CS1_S) 및 제1 리페어 컬럼 선택 신호들(CS1_R)에 응답하여 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)에 선택적으로 전송될 수 있다.
제2 글로벌 데이터 라인(GDL2) 및 제2 글로벌 반전 데이터 라인(GDL2b)도 하나의 쌍을 이루며, 스위치들을 통하여 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 페이지 버퍼들의 래치들(LATd, LATe 및 LATf)에 공통으로 연결될 수 있다.
메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 저장된 데이터는 제2 메인 컬럼 선택 신호들(CS2_M), 제2 스페어 컬럼 선택 신호들(CS2_S) 및 제2 리페어 컬럼 선택 신호들(CS2_R)에 응답하여 제2 글로벌 데이터 라인(GDL2) 및 제2 글로벌 반전 데이터 라인(GDL2b)에 선택적으로 전송될 수 있다.
도 10은 본 발명의 실시예에 따른 프로그램(program) 동작을 설명하기 위한 순서도로써, 도 5 내지 도 9에서 상술한 반도체 메모리 장치의 프로그램 동작의 실시예에 관한 것이다.
도 10을 참조하면, 제1 데이터가 외부 장치로부터 반도체 메모리 장치에 수신된다(S101). 여기서, 외부 장치는 메모리 컨트롤러(도 1의 1200)일 수 있다. 반도체 메모리 장치에 수신된 제1 데이터는 반도체 메모리 장치의 페이지 버퍼들에 입력될 수 있다. 보다 구체적으로 설명하면, 제1 데이터는 메인 페이지 버퍼 그룹(도 5의 M_PBG)에 포함된 메인 페이지 버퍼들에 입력될 수 있다. 만약, 메인 페이지 버퍼들에 대응되는 컬럼 중에서 결함 컬럼이 존재하면, 제1 데이터 중 결함 컬럼에 저장될 데이터는 리페어 페이지 버퍼 그룹(도 5의 R_PBG)에 포함된 리페어 페이지 버퍼들에 입력될 수 있다. 외부 장치로부터 수신된 제1 데이터는 페이지 버퍼들의 제1 래치들에 각각 입력될 수 있다. 예를 들면, 제1 데이터는 메인 페이지 버퍼 그룹(도 5의 M_PBG)에 포함된 메인 페이지 버퍼들의 제1 래치들에 입력될 수 있다.
페이지 버퍼들에 입력된 제1 데이터는 에러 정정 회로(도 5의 ECC)에 전송된다(S102). 예를 들면, 제1 및 제2 글로벌 데이터 라인들(도 9의 GDL1 및 GDL2)과 제1 및 제2 글로벌 반전 데이터 라인들(도 9의 GDL1b 및 GDL2b)이 제2 래치들에 연결되었다고 가정하면, 페이지 버퍼들의 제1 래치들에 입력된 제1 데이터는 동일한 페이지 버퍼들에 포함된 제2 래치들로 전송된다. 제2 래치들에 전송된 제1 데이터는 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)을 통해 에러 정정 회로(ECC)에 순차적으로 전송될 수 있다.
에러 정정 회로(ECC)는 시드 데이터를 사용한 랜더마이즈(randomize) 동작을 수행하여 제1 데이터를 제2 데이터로 변환하고, 제2 데이터에 대한 패리티 데이터를 생성한다(S103).
이어서, 에러 정정 회로(ECC)는 제2 데이터 및 패리티 데이터를 페이지 버퍼들로 전송한다(S104). 예를 들면, 제2 데이터는 제2 글로벌 데이터 라인(도 9의 GDL2) 및 제2 글로벌 반전 데이터 라인(도 9의 GDL2b)을 통해 메인 페이지 버퍼 그룹(M_PBG)으로 전송되고, 패리티 데이터는 스페어 페이지 버퍼 그룹(S_PBG)으로 전송될 수 있다. 일부 비트라인들에 결함이 발생되어 리페어 동작이 수행된 경우, 제2 데이터는 메인 페이지 버퍼 그룹(M_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)으로 분산되어 전송될 수 있다. 예를 들면, 제2 데이터 중에서 노말 컬럼 어드레스에 대응되는 데이터는 메인 페이지 버퍼 그룹(M_PBG)으로 전송되고, 결함 컬럼 어드레스에 대응되는 데이터는 메인 페이지 버퍼 그룹(M_PBG) 대신 리페어 페이지 버퍼 그룹(R_PBG)으로 전송될 수 있다. 'S104' 단계에서, 제2 데이터는 페이지 버퍼들의 제2 래치들로 전송된 후, 프로그램 동작을 위해 제3 래치들로 전송된다.
제어 로직(도 2의 C_LOGIC)은 메인 페이지 버퍼 그룹(M_PBG) 또는 메인 페이지 버퍼 그룹(M_PBG)과 리페어 페이지 버퍼 그룹(R_PBG)에 입력된 제2 데이터가 선택된 메모리 블록의 선택된 페이지에 프로그램되도록 전압 생성 회로(도 2의 VGC) 및 읽기 쓰기 회로(RWC1~RWC)를 제어한다(S105). 예를 들면, 페이지 버퍼들의 제3 래치들에 입력된 제2 데이터를 사용하여 선택된 페이지의 프로그램 동작이 수행될 수 있다. 예를 들면, 프로그램 대상 페이지가 제1 페이지이면, 제1 페이지에 포함된 선택된 메모리 셀들의 프로그램이 모두 완료될 때까지 프로그램 동작이 반복될 수 있다.
제1 페이지의 프로그램 동작을 위한 데이터 전송 동작이 수행되는 동안(S103~S105), 제2 페이지의 프로그램 동작을 위한 데이터 전송 동작이 일부 중복되어 수행될 수 있다(S120). 이에 대한 프로그램 동작을 구체적으로 설명하면 다음과 같다.
제1 페이지의 프로그램 동작을 위하여 제1 데이터를 제2 데이터로 변환하고 패리티 데이터를 생성할 때(S103), 제2 페이지의 프로그램 동작을 위한 제3 데이터가 외부 장치로부터 페이지 버퍼들에 수신될 수 있다(S121). 예를 들면, 에러 정정 회로(ECC)에서 제1 데이터가 제2 데이터로 변환될 때(S103) 페이지 버퍼들의 제1 래치들이 사용되지 않으므로, 제1 래치들에는 제2 페이지에 대한 제3 데이터가 입력될 수 있다. 이를 위해, 제3 데이터가 제1 래치들로 입력되기 이전에 제1 래치들의 초기화 동작이 더 수행될 수 있다.
제1 페이지에 대한 제2 데이터 및 패리티 데이터가 페이지 버퍼들로 전송될 때(S104), 제2 페이지의 프로그램 동작을 위한 제3 데이터가 에러 정정 회로(ECC)로 전송될 수 있다(S122). 예를 들면, 제1 페이지에 대한 제2 데이터가 페이지 버퍼들의 제2 래치들에서 제3 래치들로 전송된 후, 제2 페이지에 대한 제3 데이터는 페이지 버퍼들의 제1 래치들에서 제2 래치들로 전송될 수 있다. 제2 래치들에 전송된 제3 데이터는 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)을 통해 에러 정정 회로(ECC)로 전송될 수 있다. 이를 위해, 제2 데이터가 제2 래치들에서 제3 래치들로 전송된 후, 제2 래치들의 초기화 동작이 더 수행될 수 있다. 제2 래치들이 초기화되면, 제3 데이터가 제2 래치들로 전송되고, 제2 래치들로 전송된 제3 데이터는 에러 정정 회로(ECC)로 전송될 수 있다.
제2 데이터가 제1 페이지에 프로그램될 때(S105), 에러 정정 회로(ECC)는 제3 데이터를 제4 데이터로 변환할 수 있다(S123). 예를 들면, 에러 정정 회로(ECC)는 시드 데이터를 사용한 랜더마이즈(randomize) 동작을 수행하여 제3 데이터를 제4 데이터로 변환하고, 제4 데이터에 대한 패리티 데이터를 생성한다(S123).
상술한 바와 같이 제1 페이지의 프로그램 동작과 제2 페이지의 프로그램 동작의 일부가 동시에 수행되므로(121, 122 및 123), 프로그램 동작 시간이 단축될 수 있다.
이어서, 에러 정정 회로(ECC)는 제4 데이터와 패리티 데이터를 페이지 버퍼들로 전송한다(S124). 예를 들면, 제4 데이터는 제2 글로벌 데이터 라인(GDL2) 및 제2 글로벌 반전 데이터 라인(GDL2b)을 통해 메인 페이지 버퍼 그룹(M_PBG)으로 전송되고, 패리티 데이터는 스페어 페이지 버퍼 그룹(S_PBG)으로 전송될 수 있다. 일부 비트라인들에 결함이 발생되어 리페어 동작이 수행된 경우, 제4 데이터는 메인 페이지 버퍼 그룹(M_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)으로 분산되어 전송될 수 있다. 예를 들면, 제4 데이터 중에서 노말 컬럼 어드레스에 대응되는 데이터는 메인 페이지 버퍼 그룹(M_PBG)으로 전송되고, 결함 컬럼 어드레스에 대응되는 데이터는 메인 페이지 버퍼 그룹(M_PBG) 대신 리페어 페이지 버퍼 그룹(R_PBG)으로 전송될 수 있다. 'S124' 단계에서, 에러 정정 회로(ECC)에 저장된 제4 데이터는 페이지 버퍼들의 제2 래치들로 전송된 후, 프로그램 동작을 위하여 페이지 버퍼들의 제3 래치들로 재전송 된다. 이를 위해, 제4 데이터가 제3 래치들로 재전송되기 이전에 제3 래치들이 초기화될 수 있다.
제어 로직(C_LOGIC)은 메인 페이지 버퍼 그룹(M_PBG) 또는 메인 페이지 버퍼 그룹(M_PBG)과 리페어 페이지 버퍼 그룹(R_PBG)에 입력된 제4 데이터가 선택된 메모리 블록의 선택된 페이지에 프로그램되도록 전압 생성 회로(VGC) 및 읽기 쓰기 회로(RWC1~RWC)를 제어한다(S125). 예를 들면, 페이지 버퍼들의 제3 래치들에 입력된 제4 데이터를 사용하여 선택된 페이지의 프로그램 동작이 수행될 수 있다.
상술한 방식으로 선택된 메모리 블록에 포함된 다수의 페이지들의 프로그램 동작이 수행될 수 있다. 프로그램 동작이 완료된 후, 선택된 메모리 블록의 리드 동작은 프로그램 동작의 역 순으로 수행될 수 있다. 리드 동작을 구체적으로 설명하면 다음과 같다.
도 11은 본 발명의 실시예에 따른 리드(read) 동작을 설명하기 위한 순서도로써, 도 5 내지 도 9에서 상술한 반도체 메모리 장치의 리드 동작의 실시예에 관한 것이다. 또한, 도 11은 도 10에서 제2 데이터가 저장된 제1 페이지와 제4 데이터가 저장된 제2 페이지의 리드 동작을 예를 들어 설명하도록 한다.
도 11을 참조하면, 제1 페이지에 포함된 메모리 셀들을 리드(read)하여 제2 데이터를 페이지 버퍼들에 입력한다(S111). 예를 들면, 제2 데이터는 페이지 버퍼들의 제3 래치들에 입력될 수 있다.
이어서, 페이지 버퍼들에 입력된 제2 데이터는 에러 정정 회로(ECC)에 전송된다(S112). 이때, 스페어 페이지 버퍼 그룹(S_PBG)에 저장된 패리티 데이터도 제2 데이터와 함께 에러 정정 회로(ECC)로 전송된다. 예를 들면, 페이지 버퍼들의 제3 래치들에 입력된 제2 데이터는 제2 래치들로 전송되고, 제2 래치들에 전송된 제2 데이터와 스페어 페이지 버퍼 그룹(S_PBG)에 저장된 패리티 데이터는 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)을 통해 에러 정정 회로(ECC)로 전송될 수 있다.
에러 정정 회로(ECC)는 제2 데이터와 함께 수신된 패리티 데이터를 사용하여 제2 데이터에 에러가 있는지를 판단할 수 있다. 에러가 있는 경우 에러를 정정한 후, 시드 데이터를 사용하여 제2 데이터를 원래 데이터인 제1 데이터로 변환시킨다(S113).
이어서, 에러 정정 회로(ECC)는 제1 데이터를 페이지 버퍼들로 전송한다(S114). 예를 들면, 에러 정정 회로(ECC)는 제2 글로벌 데이터 라인(GDL2) 및 제2 글로벌 반전 데이터 라인(GDL2b)을 통해 제1 데이터를 페이지 버퍼들의 제2 래치들로 전송할 수 있다. 이때, 패리티 데이터는 스페어 페이지 버퍼 그룹(S_PBG)으로 전송되지 않는다. 페이지 버퍼들의 제2 래치들로 전송된 제1 데이터는 출력을 위해 페이지 버퍼들의 제1 래치들로 재전송될 수 있다.
페이지 버퍼들의 제1 래치들에 전송된 제1 데이터는 외부 장치로 출력된다(S115). 예를 들면, 제1 래치들에 전송된 제1 데이터는 글로벌 버퍼(도 2의 GB)를 통해 메모리 컨트롤러(1200)로 출력될 수 있다.
제1 페이지의 리드 동작을 위한 데이터 전송 동작이 수행되는 동안(S113~S115), 제2 페이지의 리드 동작을 위한 데이터 전송 동작이 일부 중복되어 수행될 수 있다(S130). 이에 대한 리드 동작을 구체적으로 설명하면 다음과 같다.
제1 페이지의 리드 동작을 위하여 제2 데이터가 제1 데이터로 변환될 때(S113), 제2 페이지의 메모리 셀들로부터 리드(read)된 제4 데이터가 페이지 버퍼들의 제3 래치들에 입력될 수 있다(S131). 이를 위해, 제4 데이터가 제3 래치들로 입력되기 이전에 제3 래치들의 초기화 동작이 더 수행될 수 있다.
제1 페이지에 대한 제1 데이터가 페이지 버퍼들의 제2 래치들로 전송되고제1 데이터는 다시 제1 래치들로 전송되므로(S114), 페이지 버퍼들의 제2 래치들이 사용되지 않는다. 이때, 제3 래치들에 입력된 제4 데이터가 제2 래치들로 전송되고, 제2 래치들에 입력된 제4 데이터가 에러 정정 회로(ECC)로 전송될 수 있다(S132). 예를 들면, 제4 데이터는 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)을 통해 에러 정정 회로(ECC)로 전송될 수 있다. 이때, 스페어 페이지 버퍼 그룹(S_PBG)에 저장된 패리티 데이터도 제1 글로벌 데이터 라인(GDL1) 및 제1 글로벌 반전 데이터 라인(GDL1b)을 통해 에러 정정 회로(ECC)로 전송될 수 있다.
페이지 버퍼들의 제1 래치들에 입력된 제1 데이터가 외부 장치로 출력될 때(S115), 에러 정정 회로(ECC)는 제4 데이터와 함께 수신된 패리티 데이터를 사용하여 제4 데이터에 에러가 있는지를 판단할 수 있다. 에러가 있는 경우 에러를 정정한 후, 시드 데이터를 사용하여 제4 데이터를 원래 데이터인 제3 데이터로 변환시킬 수 있다(S133).
상술한 바와 같이 제1 페이지의 리드 동작과 제2 페이지의 리드 동작의 일부가 동시에 수행될 수 있으므로(131, 132 및 133), 리드 동작 시간이 단축될 수 있다.
이어서, 에러 정정 회로(ECC)는 제3 데이터를 페이지 버퍼들로 전송한다(S134). 예를 들면, 에러 정정 회로(ECC)는 제2 글로벌 데이터 라인(GDL2) 및 제2 글로벌 반전 데이터 라인(GDL2b)을 통해 제3 데이터를 페이지 버퍼들의 제2 래치들로 전송할 수 있다. 이때, 패리티 데이터는 스페어 페이지 버퍼 그룹(S_PBG)으로 전송되지 않는다. 페이지 버퍼들의 제2 래치들로 전송된 제3 데이터는 출력을 위해 페이지 버퍼들의 제1 래치들로 재전송될 수 있다. 리페어 동작이 수행된 경우라면, 제3 데이터 중에서 메인 페이지 버퍼 그룹(M_PBG)의 결함 컬럼 어드레스에 대응되는 데이터는 리페어 페이지 버퍼 그룹(R_PBG)의 페이지 버퍼들로 전송될 수 있다.
페이지 버퍼들의 제1 래치들에 전송된 제3 데이터는 외부 장치로 출력된다(S135). 예를 들면, 제1 래치들에 전송된 제3 데이터는 글로벌 버퍼(도 2의 GB)를 통해 메모리 컨트롤러(1200)로 출력될 수 있다.
상술한 바와 같이, 에러 정정 동작을 위해 생성된 패리티 데이터를 별도의 레지스터 대신 페이지 버퍼들을 사용함으로써, 패리티 데이터를 임시로 저장하기 위한 추가적인 장치가 불필요하다. 이에 따라, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템의 크기를 감소시킬 수 있다.
상술한 도 5 내지 도 11에서는 하나의 플래인에 두 개의 컬럼 선택 디코더들이 포함되는 제1 실시예가 설명되었으나, 하나의 플래인에 하나의 컬럼 선택 디코더만 포함되도록 반도체 메모리 장치가 구성될 수도 있다. 이에 대한 실시예를 제2 실시예로써 설명하면 다음과 같다.
도 12는 도 2의 읽기 쓰기 회로의 제2 실시예를 설명하기 위한 도면으로써, 제1 읽기 쓰기 회로(RWC1)를 예를 들어 설명하도록 한다. 도 12에서는 도 5에서 제1 실시예로 도시된 제1 읽기 쓰기 회로(RWC1)와 구분되도록 도면부호가 'RWC1a'로 도시되었다.
도 12를 참조하면, 제1 읽기 쓰기 회로(RWC1a)는 페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG), 컬럼 선택 디코더(CS_DEC) 및 컬럼 선택 제어 회로(CS_CON)를 포함할 수 있다.
페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG)은 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)을 포함할 수 있다.
메인 페이지 버퍼 그룹(M_PBG)은 비트라인들(BL)에 연결된 다수의 메인 페이지 버퍼들을 포함할 수 있다. 메인 페이지 버퍼 그룹(M_PBG)은 외부 장치로부터 입력된 데이터(DATA) 또는 랜더마이즈된 랜덤 데이터를 수신하거나, 메모리 셀들로부터 리드(read)된 데이터(예를 들면, 랜덤 데이터)를 임시로 저장하고 외부 장치로 출력할 수 있다. 또한, 메인 페이지 버퍼 그룹(M_PBG)은 메인 컬럼 선택 신호들(CS_M)에 응답하여, 글로벌 데이터 라인(GDL)을 통해 에러 정정 회로(ECC)와 데이터를 주고받을 수 있다. 여기서, 외부 장치는 메모리 컨트롤러일 수 있으며, 페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG)은 글로벌 버퍼(도 2의 GB)를 통해 외부 장치와 데이터를 주고받을 수 있다.
스페어 페이지 버퍼 그룹(S_PBG)은 비트라인들(BL)에 연결된 다수의 스페어 페이지 버퍼들을 포함할 수 있다. 스페어 페이지 버퍼 그룹(S_PBG)은 스페어 컬럼 선택 신호들(CS_S)에 응답하여, 글로벌 데이터 라인(GDL)을 통해 에러 정정 회로(ECC)와 패리티(parity) 데이터를 주고받을 수 있다.
리페어 페이지 버퍼 그룹(R_PBG)은 비트라인들(BL)에 연결된 다수의 리페어 페이지 버퍼들을 포함할 수 있다. 리페어 페이지 버퍼 그룹(R_PBG)은 메인 페이지 버퍼 그룹(M_PBG)에 연결된 비트라인들(BL) 중에서 결함이 발생한 컬럼(column)을 대체하기 위해 사용될 수 있다. 이를 위해, 리페어 페이지 버퍼 그룹(R_PBG)은 외부 장치(예를 들면, 메모리 컨트롤러)로부터 입력된 데이터(DATA)를 수신하거나, 메모리 셀들로부터 리드(read)된 데이터를 외부 장치로 출력할 수 있다. 리페어 페이지 버퍼 그룹(R_PBG)은 리페어 컬럼 선택 신호들(CS_R)에 응답하여, 글로벌 데이터 라인(GDL)을 통해 에러 정정 회로(ECC)와 데이터를 주고받을 수 있다.
상술한 페이지 버퍼 그룹(M_PBG, S_PBG 및 R_PBG)은 페이지 버퍼 제어 신호들(PBS)에 응답하여 동작할 수 있다.
컬럼 선택 디코더(CS_DEC)는 컬럼 선택 제어 신호들(CSSIG)에 응답하여 메인 컬럼 선택 신호들(CS_M), 스페어 컬럼 선택 신호들(CS_S) 또는 리페어 컬럼 선택 신호들(CS_R)을 출력할 수 있다. 예를 들면, 컬럼 선택 디코더(CS_DEC)는 컬럼 선택 제어 신호들(CSSIG)에 응답하여 메인 컬럼 선택 신호들(CS_M), 스페어 컬럼 선택 신호들(CS_S) 및 리페어 컬럼 선택 신호들(CS_R)을 선택적으로 출력할 수 있다. 메인 컬럼 선택 신호들(CS_M)은 메인 페이지 버퍼 그룹(M_PBG)에 포함된 메인 페이지 버퍼들에 각각 인가되고, 스페어 컬럼 선택 신호들(CS_S)은 스페어 페이지 버퍼 그룹(S_PBG)에 포함된 스페어 페이지 버퍼들에 각각 인가되며, 리페어 컬럼 선택 신호들(CS_R)은 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 리페어 페이지 버퍼들에 각각 인가될 수 있다. 메인 페이지 버퍼 그룹(M_PBG), 스페어 페이지 버퍼 그룹(S_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 포함된 페이지 버퍼들은 메인 컬럼 선택 신호들(CS_M), 스페어 컬럼 선택 신호들(CS_S) 및 리페어 컬럼 선택 신호들(CS_R)에 응답하여 페이지 버퍼들에 저장된 데이터를 글로벌 데이터 라인(GDL)으로 전송할 수 있다.
컬럼 선택 제어 회로(CS_CON)는 컬럼 어드레스(CADD)에 응답하여 컬럼 선택 제어 신호들(CSSIG)을 출력할 수 있다.
상술한 회로들 중에서 메인 페이지 버퍼들, 스페어 페이지 버퍼들 및 리페어 페이지 버퍼들은 도 7에서 상술한 바와 같이 각각 다수의 래치들을 포함할 수 있다. 페이지 버퍼들에 포함된 래치들 중 일부는 외부 장치로부터 데이터를 수신하거나 메모리 셀들로부터 리드된 데이터를 저장할 수 있으며, 일부는 글로벌 데이터 라인(GDL)에 연결될 수 있다. 서로 동일한 페이지 버퍼 내에 포함된 래치들은 데이터를 서로 주고받을 수 있다. 상술한 래치들 중에서 글로벌 데이터 라인(GDL)에 연결된 래치를 구체적으로 설명하면 다음과 같다.
도 13은 본 발명의 제2 실시예에 따른 글로벌 데이터 라인과 래치 간의 연결 관계를 설명하기 위한 도면으로써, 메인 페이지 버퍼에 포함된 래치가 실시예로써 도시되어 있다.
도 13을 참조하면, 글로벌 데이터 라인은(GDL)은 글로벌 반전 데이터 라인(GDLb)과 쌍을 이룰 수 있다. 글로벌 데이터 라인(GDL)과 글로벌 반전 데이터 라인(GDLb)에는 서로 다른 데이터가 동시에 인가될 수 있다. 예를 들면, 글로벌 데이터 라인(GDL)에 '1' 데이터가 인가될 때, 글로벌 반전 데이터 라인(GDLb)에는 '0' 데이터가 인가될 수 있고, 글로벌 데이터 라인(GDL)에 '0' 데이터가 인가될 때, 글로벌 반전 데이터 라인(GDLb)에는 '1' 데이터가 인가될 수 있다.
글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)과 이를 래치(LATd)에 연결 또는 차단하는 스위치들의 개수를 제외한 나머지 구성은 도 8과 유사하므로, 중복되는 설명은 생략하도록 한다.
다만, 도 13에 도시된 래치(LATd)는 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)에 연결되므로, 메인 컬럼 선택 신호(CS_M<1>)가 하이(high)로 활성화되면, 래치(LATd)에 저장된 데이터가 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)으로 전송되거나, 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)에 로드(load)된 데이터가 래치(LATd)로 전송될 수 있다.
서로 다른 플래인들에 포함된 페이지 버퍼들에 저장된 데이터는 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)을 통해 전송될 수 있다. 예를 들면, 제1 플래인의 페이지 버퍼에 저장된 데이터는 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)을 통해 글로벌 버퍼(GB)로 전송되고, 글로벌 버퍼(GB)에 전송된 데이터는 다시 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)을 통해 제2 플래인의 페이지 버퍼로 전송될 수 있다.
도 14는 본 발명의 실시예에 따른 프로그램 동작을 설명하기 위한 도면으로써, 도 12 및 도 13에서 상술한 반도체 메모리 장치의 프로그램 동작의 실시예에 관한 것이다.
도 14를 참조하여 선택된 플래인이 제1 플래인(PL1)인 경우를 예를 들어 프로그램 동작을 설명하도록 한다. 프로그램 동작이 시작되면, 외부 장치로부터 제1 데이터가 글로벌 버퍼(GB)에 전송될 수 있고, 글로벌 버퍼(GB)에 전송된 제1 데이터는 제2 플래인(PL2)에 포함된 페이지 버퍼 그룹(PBG2)에 임시로 저장될 수 있다(S141).
이어서, 페이지 버퍼 그룹(PBG2)에 입력된 제1 데이터는 컬럼 선택 디코더(CD_DEC2)에 의해 에러 정정 회로(ECC)로 전송될 수 있다(S142). 예를 들면, 제1 데이터는 제2 플래인(PL2)에 포함된 컬럼 선택 디코더(CS_DEC2)에 의해 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)을 통해 에러 정정 회로(ECC)로 전송될 수 있다. 컬럼 선택 디코더(CD_DEC2)에 의한 데이터 전송 방법은 도 12 및 도 13에서 설명되었으므로 구체적인 설명은 생략하도록 한다.
에러 정정 회로(ECC)는 시드 데이터를 사용한 랜더마이즈 동작을 수행하여 제1 데이터를 제2 데이터로 변환시키고, 제2 데이터에 대한 패리티 데이터를 생성할 수 있다. 이어서, 에러 정정 회로(ECC)는 제2 데이터 및 패리티 데이터를 제1 플래인(PL1)의 페이지 버퍼 그룹(PBG1)으로 전송할 수 있다(S143). 예를 들면, 에러 정정 회로(ECC)가 에러 정정 동작에 사용될 패리티 데이터와 제2 데이터를 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)으로 순차적으로 로드(load)하면, 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)에 로드된 제2 데이터 및 패리티 데이터는 제1 플래인(PL1)의 컬럼 선택 디코더(CS_DEC1)에 의해 페이지 버퍼 그룹(PBG1)으로 입력될 수 있다. 예를 들면, 제2 데이터는 페이지 버퍼 그룹(PBG1)에 포함된 메인 페이지 버퍼 그룹(도 12의 M_PBG) 또는 메인 페이지 버퍼 그룹(도 12의 M_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)으로 입력될 수 있고, 패리티 데이터는 스페어 페이지 버퍼 그룹(S_PBG)에 입력될 수 있다.
이어서, 제2 데이터를 사용한 제1 플래인(PL1)의 프로그램 동작이 수행될 수 있다.
도 15는 본 발명의 실시예에 따른 리드 동작을 설명하기 위한 도면으로써, 도 14에서 설명된 바와 같이 프로그램된 제1 플래인(PL1)의 리드 동작을 설명하기 위한 도면이 도시되어 있다.
리드 동작이 시작되면, 제1 플래인(PL1)을 리드(read)하여 제2 데이터가 페이지 버퍼 그룹(PBG1)에 입력된다(S151). 예를 들면, 제1 플래인(PL1)의 선택된 메모리 블록의 선택된 페이지가 리드되어 제2 데이터가 페이지 버퍼 그룹(PBG1)에 입력될 수 있다.
디코더(CS_DEC1)에 의해, 페이지 버퍼 그룹(PBG1)에 입력된 제2 데이터 및 패리티 데이터가 에러 정정 회로(ECC)로 전송될 수 있다(S152).예를 들면, 페이지 버퍼 그룹(PBG1)의 메인 페이지 버퍼 그룹(M_PBG) 또는 메인 페이지 버퍼 그룹(M_PBG) 및 리페어 페이지 버퍼 그룹(R_PBG)에 입력된 제2 데이터와 스페어 페이지 버퍼 그룹(S_PBG)에 저장된 패리티 데이터가 컬럼 선택 디코더(CS_DEC1)에 의해 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)을 통해 에러 정정 회로(ECC)로 전송될 수 있다.
에러 정정 회로(ECC)는 수신된 패리티 데이터를 사용하여 제2 데이터의 에러를 체크하고, 에러가 있는 경우 에러를 정정할 수 있다. 이어서, 에러 정정 회로(ECC)는 시드 데이터를 사용한 디-랜더마이즈 동작을 수행하여 제2 데이터를 원래 데이터인 제1 데이터로 복구시킬 수 있다.
제1 데이터로의 복구가 완료되면, 에러 정정 회로(ECC)는 제1 데이터를 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)으로 전송한다(S153). 예를 들면, 제1 데이터는 글로벌 데이터 라인(GDL) 및 글로벌 반전 데이터 라인(GDLb)에 로드(load)되고, 제2 플래인(PL2)에 연결된 컬럼 선택 디코더(CS_DEC2)에 의해 페이지 버퍼 그룹(PBG2)으로 전송될 수 있다.
이어서, 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)은 글로벌 버퍼(GB)로 제1 데이터를 전송하고(S154), 글로벌 버퍼(GB)는 외부 장치로 제1 데이터를 출력할 수 있다.
즉, 제1 플래인(PL1)의 리드 동작은 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PBG1) 및 컬럼 선택 디코더(CS_DEC1)에 의해 수행되지만, 변환된 데이터를 출력하는 동작은 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2) 및 컬럼 선택 디코더(CS_DEC2)에 의해 수행될 수 있다.
도 16 및 도 17은 도 14 및 도 15에서 상술한 프로그램 및 리드 동작의 다른 실시예를 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 16을 참조하면, 외부 장치로부터 제1 데이터가 글로벌 버퍼(GB)에 수신되면, 글로벌 버퍼(GB)는 제1 데이터의 일부를 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PGB1)으로 전송하고, 나머지를 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)으로 나누어서 전송할 수 있다(S161). 예를 들면, 제1 데이터가 32 바이트(byte)라고 가정하면, 제1 데이터 중 16 바이트의 데이터는 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PGB1)으로 전송될 수 있고, 나머지 16 바이트의 데이터는 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)으로 전송될 수 있다. 설명의 편의를 위하여, 제1 데이터 중에서 제1 플래인(PL1)의 페이지 버퍼 그룹(PBG1)에 입력된 데이터를 제1-1 데이터라 하고, 제2 플래인(PL2)의 페이지 버퍼 그룹(PBG2)에 입력된 데이터를 제1-2 데이터라 가정한다. 즉, 제1-1 데이터와 제1-2 데이터를 합하면 제1 데이터가 될 수 있다. 제1-1 데이터는 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PBG1)의 제1 래치들에 입력될 수 있고, 제1-2 데이터는 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)의 제1 래치들에 입력될 수 있다.
이어서, 제1-1 데이터가 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)으로 전송될 수 있다(S162). 예를 들면, 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2) 내에서 제1-2 데이터는 제1 래치들에서 제2 래치들로 전송되고, 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PBG1)의 제1 래치들에 입력된 제1-1 데이터는 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PB2)의 제2 래치들로 전송될 수 있다.
페이지 버퍼 그룹(PBG)의 제2 래치들에 입력된 제1-2 데이터가 에러 정정 회로(ECC)로 전송된 후(S163), 제1 래치들에 입력된 제1-1 데이터는 페이지 버퍼 그룹(PBG2)의 제2 래치들로 전송될 수 있다.
에러 정정 회로(ECC)는 시드 데이터를 사용한 랜더마이즈 동작을 수행하여 제1-2 데이터를 제2-2 데이터로 변환시키고 제2-2 데이터에 대한 제1 패리티 데이터를 생성할 수 있다.
제2-2 데이터 및 제1 패리티 데이터는 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PBG1)으로 전송될 수 있다(S164). 예를 들면, 제2-2 데이터는 페이지 버퍼 그룹(PBG1)의 메인 페이지 버퍼 그룹으로 전송될 수 있고, 제1 패리티 데이터는 페이지 버퍼 그룹(PBG1)의 스페어 페이지 버퍼 그룹으로 전송될 수 있다. 예를 들면, 제2-2 데이터는 페이지 버퍼들의 제2 래치들에 입력될 수 있다.
제2-2 데이터와 제1 패리티 데이터가 페이지 버퍼 그룹(PBG1)으로 전송되면, 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)의 제2 래치들에 입력된 제1-1 데이터가 에러 정정 회로(ECC)로 전송될 수 있다.
에러 정정 회로(ECC)는 시드 데이터를 사용한 랜더마이즈 동작을 수행하여 제1-1 데이터를 제2-1 데이터로 변환시키고 제2-1 데이터에 대한 제2 패리티 데이터를 생성할 수 있다. 이때, 페이지 버퍼 그룹(PBG1)의 제2 래치들에 입력된 제2-2 데이터는 동일한 페이지 버퍼들에 포함된 제3 래치들로 전송될 수 있다.
페이지 버퍼 그룹(PBG1)의 제3 래치들에 입력된 제2-2 데이터는 제1 플래인(PL1)의 선택된 메모리 블록의 선택된 페이지에 프로그램될 수 있다(S165). 이때, 에러 정정 회로(ECC)는 제2-1 데이터와 제2 패리티 데이터를 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PBG1)으로 전송할 수 있다. 예를 들면, 제2-1 데이터는 페이지 버퍼들의 제2 래치들에 입력될 수 있다. 제2-2 데이터의 프로그램 동작이 완료되면 제2-1 데이터의 프로그램 동작이 수행될 수 있다.
제1 플래인의 선택된 메모리 블록의 선택된 페이지에 프로그램된 데이터는 상술한 프로그램 동작의 역순으로 리드될 수 있다. 리드 동작을 구체적으로 설명하면 다음과 같다.
도 17은 본 발명의 실시예에 따른 리드 동작을 설명하기 위한 도면이다.
도 17을 참조하면, 제1 플래인(PL1)을 리드하여 제2-2 데이터가 페이지 버퍼 그룹(PBG1)에 입력된다(S171). 이때, 제1 플래인(PL1)에 프로그램된 제2-1 데이터는 리드되지 않는다.
페이지 버퍼 그룹(PBG1)에 입력된 제2-2 데이터와 제1 패리티 데이터가 에러 정정 회로(ECC)로 전송되면(S172), 제1 플래인(PL1)에 저장된 나머지 제2-1 데이터가 리드되어 페이지 버퍼 그룹(PBG1)에 입력될 수 있다.
에러 정정 회로(ECC)는 제1 패리티 데이터를 사용하여 제2-2 데이터에 에러가 있는지를 판단하여 에러가 있는 경우 에러를 정정하고, 시드 데이터를 사용한 디-랜더마이즈 동작을 수행하여 제2-2 데이터를 제1-2 데이터로 변환시킬 수 있다. 제1-2 데이터는 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)으로 전송된다(S173).
이어서, 페이지 버퍼 그룹(PBG1)에 입력된 나머지 제2-1 데이터와 제2 패리티 데이터가 에러 정정 회로(ECC)로 전송된다. 에러 정정 회로(ECC)는 제2 패리티 데이터를 사용하여 제2-1 데이터에 에러가 있는지를 판단하여 에러가 있는 경우 에러를 정정하고, 시드 데이터를 사용한 디-랜더마이즈 동작을 수행하여 제2-1 데이터를 제1-1 데이터로 변환시킨다. 제1-1 데이터는 제2 플래인(PL2)에 연결된 페이지 버퍼 그룹(PBG2)으로 전송된다. 페이지 버퍼 그룹(PBG2)은 제1-1 데이터를 제1 플래인(PL1)에 연결된 페이지 버퍼 그룹(PBG1)으로 전송한다(S174).
페이지 버퍼 그룹들(PBG1 및 PBG2)에 저장된 제1-1 데이터와 제1-2 데이터는 글로벌 버퍼(GB)를 통해(S175) 외부 장치로 순차적으로 출력될 수 있다.
상술한 바와 같이, 서로 다른 플래인들에 연결된 페이지 버퍼 그룹들을 사용하면, 컬럼 선택 디코더 및 컬럼 선택 제어 회로의 개수를 감소시킬 수 있으므로, 반도체 메모리 장치의 크기를 감소시킬 수 있다. 또한, 에러 정정 동작 시 사용되는 패리티 데이터를 페이지 버퍼들에 저장함으로써, 패리티 데이터를 저장하기 위한 추가 레지스터(register)를 필요로 하지 않는다. 이에 따라, 반도체 메모리 장치의 크기를 더욱 감소시킬 수 있다.
도 18은 본 발명의 다른 실시예에 따른 메모리 시스템(3000)을 설명하기 위한 도면이다.
도 18을 참조하면, 메모리 컨트롤러(1200)는 반도체 메모리 장치(1100)를 제어하도록 SRAM(3110), CPU(3120), 호스트 인터페이스(3130; Host I/F), 에러 정정 회로(3140; ECC) 및 반도체 인터페이스(3150; Semiconductor I/F)를 포함할 수 있다. SRAM(3110)은 CPU(3120)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(3130)는 메모리 시스템(3000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 컨트롤러(1200)에 구비된 에러 정정 회로(3140)는 반도체 메모리 장치(1100)로부터 리드된 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 반도체 인터페이스(3150)는 반도체 메모리 장치(1100)와 인터페이싱할 수 있다. CPU(3120)는 메모리 컨트롤러(1200)의 데이터 교환을 위한 제어동작을 수행할 수 있다. 또한, 도 15에는 도시되지 않았지만, 메모리 시스템(3000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
메모리 컨트롤러(1200)는 프로그램 동작시, 로딩된 데이터 량에 따라 반도체 메모리 장치(1100)에 포함된 메모리 블록 또는 서브 메모리 블록을 선택하고, 선택된 메모리 블록에 프로그램 동작이 수행되도록 반도체 메모리 장치(1100)를 제어할 수 있다. 예를 들면, 저장 용량에 따라 구분된 메인 메모리 블록 및 서브 메모리 블록의 정보는 SRAM(3110)에 저장될 수 있다. 프로그램 동작시, CPU(3120)는 호스트로부터 로딩된 데이터의 량과 SRAM(3110)에 저장된 메모리 블록들의 정보에 따라 메인 메모리 블록 또는 서브 메모리 블록이 선택되도록 반도체 메모리 장치(1100)을 제어할 수 있다. 또는, CPU(3120)는 로딩된 데이터에 따라 서브 메모리 블록의 저장 용량을 설정하고, 설정된 서브 메모리 블록에 프로그램 동작이 수행되도록 반도체 메모리 장치(1100)를 제어할 수 있다.
본 발명에 따른 메모리 시스템(3000)은, 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 장치들 중 하나에 적용될 수 있다.
도 19는 본 발명의 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 19를 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4300)에 전기적으로 연결된 반도체 메모리 장치(1100), 메모리 컨트롤러(1200), 모뎀(4200), 마이크로프로세서(4400) 및 사용자 인터페이스(4500)를 포함한다. 본 발명에 따른 컴퓨팅 시스템(4000)이 모바일 장치인 경우, 컴퓨팅 시스템(4000)의 동작 전압을 공급하기 위한 배터리(4600)가 추가적으로 제공될 수 있다. 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(4000)에는 응용 칩셋(application chip set), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 포함될 수 있다.
반도체 메모리 장치(1100)는 도 2와 실질적으로 동일하게 구성될 수 있으므로, 반도체 메모리 장치(1100)에 대한 구체적인 설명은 생략한다.
메모리 컨트롤러(1200)와 반도체 메모리 장치(1100)는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
본 발명에 따른 시스템은 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 시스템은 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) 등과 같은 패키지들을 이용하여 실장 될 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
PL: 플래인 CS_DEC: 컬럼 선택 디코더
CS_CON: 컬런 선택 제어 회로 ECC: 에러 정정 회로
GB: 글로벌 버퍼 PBG: 페이지 버퍼 그룹
M_PBG: 메인 페이지 버퍼 그룹 S_PBG: 스페어 페이지 버퍼 그룹
R_PBG: 리페어 페이지 버퍼 그룹 RWC: 읽기 쓰기 회로
VGC: 전압 생성 회로 C_LOGIC: 제어 로직

Claims (25)

  1. 다수의 메모리 셀들이 포함된 다수의 플래인들(Planes);
    상기 플래인들에 각각 연결되며, 외부 장치로부터 입력된 노말 데이터, 랜더마이즈(randomize)된 랜덤 데이터, 또는 에러 정정 동작에 사용되는 패리티 데이터를 임시로 저장하도록 구성된 읽기 쓰기 회로들;
    프로그램 동작시 상기 노말 데이터를 랜더마이즈하여 상기 랜덤 데이터를 생성하고, 상기 랜덤 데이터에 대한 패리티 데이터를 생성하고, 리드 동작시 상기 패리티 데이터를 사용하여 상기 랜덤 데이터의 에러를 정정하고, 상기 랜덤 데이터를 디-랜더마이즈하도록 구성된 에러 정정 회로; 및
    메모리 컨트롤러로부터 커맨드 및 어드레스를 수신받고, 상기 읽기 쓰기 회로들 및 상기 에러 정정 회로를 제어하는 제어 로직을 포함하는 반도체 메모리 장치.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 플래인들은,
    다수의 페이지들이 포함된 다수의 메모리 블록들을 포함하는 반도체 메모리 장치.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 읽기 쓰기 회로들은,
    상기 노말 데이터 또는 상기 랜덤 데이터를 임시로 저장하고, 상기 랜덤 데이터를 사용하여 선택된 페이지의 프로그램 동작을 수행하거나 상기 선택된 페이지의 리드 동작을 수행하도록 구성된 메인(main) 페이지 버퍼 그룹;
    상기 패리티 데이터를 저장하도록 구성된 스페어(spare) 페이지 버퍼 그룹;
    리페어(repair) 데이터를 임시로 저장하고, 상기 리페어 데이터를 사용하여 상기 선택된 페이지의 프로그램 동작을 수행하거나 상기 선택된 페이지의 리드 동작을 수행하도록 구성된 리페어(repair) 페이지 버퍼 그룹;
    상기 노말 데이터를 랜더마이즈하거나, 상기 랜덤 데이터를 디-랜더마이즈하기 위해, 상기 노말 데이터, 상기 패리티 데이터 또는 상기 랜덤 데이터를 상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 또는 상기 리페어 페이지 버퍼 그룹과 상기 에러 정정 회로 사이에서 전송하도록 구성된 컬럼 선택 디코더들; 및
    컬럼 어드레스에 응답하여 상기 컬럼 선택 디코더들을 제어하는 컬럼 선택 제어 회로를 포함하는 반도체 메모리 장치.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제3항에 있어서,
    상기 메인 페이지 버퍼 그룹은 다수의 메인 페이지 버퍼들을 포함하고,
    상기 스페어 페이지 버퍼 그룹은 다수의 스페어 페이지 버퍼들을 포함하고,
    상기 리페어 페이지 버퍼 그룹은 다수의 리페어 페이지 버퍼들을 포함하는 반도체 메모리 장치.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제4항에 있어서,
    상기 메인 페이지 버퍼들, 상기 스페어 페이지 버퍼들 및 상기 리페어 페이지 버퍼들은,
    상기 외부 장치로부터 입력된 상기 노말 데이터를 임시로 저장하거나, 상기 디-랜더마이즈된 노말 데이터를 상기 외부 장치로 출력하기 위한 제1 래치들;
    상기 랜덤 데이터 또는 상기 디-랜더마이즈된 노말 데이터를 상기 에러 정정 회로와 주고받기 위한 제2 래치들; 및
    상기 프로그램 동작 또는 상기 리드 동작 시 선택된 메모리 셀들과 데이터를 주고받기 위한 제3 래치들을 포함하는 반도체 메모리 장치.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 제1 래치들은 글로벌 버퍼를 통해 상기 외부 장치로부터 상기 노말 데이터를 수신하거나 상기 외부 장치로 상기 노말 데이터를 출력하는 반도체 메모리 장치.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 제2 래치들은 상기 컬럼 선택 디코더의 제어에 따라 글로벌 데이터 라인을 통해 데이터를 수신 또는 송신하는 반도체 메모리 장치.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 제3 래치들은 비트라인들을 통해 상기 메모리 셀들에 연결된 반도체 메모리 장치.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제3항에 있어서, 상기 컬럼 선택 디코더들은,
    상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 또는 상기 리페어 페이지 버퍼 그룹에 저장된 데이터가 글로벌 데이터 라인을 통해 상기 에러 정정 회로로 전송되도록 하거나,
    상기 에러 정정 회로에 입력된 데이터가 상기 글로벌 데이터 라인을 통해 상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 또는 상기 리페어 페이지 버퍼 그룹으로 전송되도록 상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 및 상기 리페어 페이지 버퍼 그룹을 제어하는 반도체 메모리 장치.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 읽기 쓰기 회로들은,
    상기 프로그램 동작 또는 상기 리드 동작 시, 상기 플래인들 중 선택된 플래인 내에서 데이터를 전송하거나, 서로 다른 플래인들 사이에서 데이터를 전송하는 반도체 메모리 장치.
  11. 다수의 메모리 셀들이 포함된 다수의 메모리 블록들;
    비트라인들을 통해 상기 메모리 블록들에 연결되며, 외부 장치로부터 수신된 제1 데이터, 상기 제1 데이터를 랜더마이즈한 제2 데이터, 또는 에러 정정 동작에 사용되는 패리티(parity) 데이터를 임시로 저장하는 페이지 버퍼 그룹;
    상기 페이지 버퍼 그룹에 저장된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 제1 글로벌 데이터 라인으로 순차적으로 전송하도록 구성된 제1 컬럼 선택 디코더;
    제2 글로벌 데이터 라인에 로드(load)된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 상기 페이지 버퍼 그룹으로 순차적으로 입력하도록 구성된 제2 컬럼 선택 디코더; 및
    상기 제1 및 제2 글로벌 데이터 라인들을 통해 상기 페이지 버퍼 그룹에 연결되며, 상기 패리티 데이터를 생성하고, 상기 패리티 데이터를 사용하여 상기 제2 데이터의 에러를 정정하고, 상기 제1 데이터를 랜더마이즈하여 상기 제2 데이터로 변환시키거나, 상기 제2 데이터를 디-랜더마이즈하여 상기 제1 데이터로 변환시키는 에러 정정 회로를 포함하는 반도체 메모리 장치.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서, 상기 페이지 버퍼 그룹은,
    상기 제1 또는 제2 데이터 중에서 노말 데이터를 저장하는 메인 페이지 버퍼 그룹;
    상기 메인 페이지 버퍼 그룹의 결함 컬럼을 대체하여 리페어 데이터를 저장하는 리페어 페이지 버퍼 그룹을 포함하는 반도체 메모리 장치.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제12항에 있어서,
    상기 메인 페이지 버퍼 그룹 및 상기 리페어 페이지 버퍼 그룹은 데이터가 저장되는 다수의 래치들을 포함하는 반도체 메모리 장치.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 래치들은,
    상기 외부 장치로부터 입력된 상기 제1 데이터를 임시로 저장하거나, 상기 제2 데이터를 상기 외부 장치로 출력하기 위한 제1 래치들;
    상기 제1 또는 제2 데이터를 상기 에러 정정 회로와 주고받기 위한 제2 래치들; 및
    프로그램 동작 또는 리드 동작 시 선택된 메모리 셀들과 데이터를 주고받기 위한 제3 래치들을 포함하는 반도체 메모리 장치.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서, 상기 제1 컬럼 선택 디코더는,
    상기 제2 래치들에 입력된 상기 제1 또는 제2 데이터가 상기 제1 글로벌 데이터 라인으로 전송되도록 상기 페이지 버퍼 그룹을 제어하는 반도체 메모리 장치.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서, 상기 제2 컬럼 선택 디코더는,
    상기 제2 글로벌 데이터 라인에 로드된 상기 제1 또는 제2 데이터가 상기 래치들로 전송되도록 상기 페이지 버퍼 그룹을 제어하는 반도체 메모리 장치.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 에러 정정 회로는 상기 제2 데이터의 에러 정정 동작을 수행하기 위하여 상기 패리티 데이터를 생성하는 반도체 메모리 장치.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제17항에 있어서,
    상기 페이지 버퍼 그룹은 상기 에러 정정 회로에서 생성된 상기 패리티 데이터를 저장하기 위한 스페어 페이지 버퍼 그룹을 더 포함하는 반도체 메모리 장치.
  19. 다수의 메모리 블록들이 포함된 다수의 플래인들;
    상기 플래인들에 각각 연결되며, 외부 장치로부터 수신된 제1 데이터, 상기 제1 데이터를 랜더마이즈한 제2 데이터, 또는 에러 정정 동작에 사용되는 패리티(parity) 데이터를 임시로 저장하는 페이지 버퍼 그룹들;
    상기 페이지 버퍼 그룹들에 저장된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 글로벌 데이터 라인들로 순차적으로 전송하거나, 상기 글로벌 데이터 라인들에 로드(load)된 데이터를 상기 페이지 버퍼 그룹들로 순차적으로 전송되도록 하는 컬럼 선택 디코더들;
    상기 글로벌 데이터 라인들을 통해 상기 페이지 버퍼 그룹들에 연결되며, 상기 제2 데이터에 대한 상기 패리티(parity) 데이터 생성 및 에러 정정 동작을 수행하고, 상기 제1 데이터를 랜더마이즈하여 상기 제2 데이터로 변환시키거나, 상기 제2 데이터를 디-랜더마이즈하여 상기 제1 데이터로 변환시키는 에러 정정 회로; 및
    상기 페이지 버퍼 그룹들에 저장된 데이터를 전송하는 글로벌 버퍼를 포함하는 반도체 메모리 장치.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서, 상기 페이지 버퍼 그룹들은,
    상기 제1 또는 제2 데이터 중에서 노말 데이터를 저장하는 메인 페이지 버퍼 그룹들;
    상기 메인 페이지 버퍼 그룹들의 결함 컬럼들을 대체하여 리페어 데이터를 저장하는 리페어 페이지 버퍼 그룹들을 포함하는 반도체 메모리 장치.
  21. ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈
    제20항에 있어서,
    상기 메인 페이지 버퍼 그룹들 및 상기 리페어 페이지 버퍼 그룹들은 데이터가 저장되는 다수의 래치들을 포함하는 반도체 메모리 장치.
  22. ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈
    제21항에 있어서,
    상기 래치들은,
    상기 외부 장치로부터 입력된 상기 제1 데이터를 임시로 저장하거나, 상기 제2 데이터를 상기 외부 장치로 출력하기 위한 제1 래치들;
    상기 제1 또는 제2 데이터를 상기 에러 정정 회로와 주고받기 위한 제2 래치들; 및
    프로그램 동작 또는 리드 동작 시 선택된 메모리 셀들과 데이터를 주고받기 위한 제3 래치들을 포함하는 반도체 메모리 장치.
  23. ◈청구항 23은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 에러 정정 회로는 상기 제2 데이터의 에러 정정 동작을 수행하기 위하여 상기 패리티 데이터를 생성하는 반도체 메모리 장치.
  24. ◈청구항 24은(는) 설정등록료 납부시 포기되었습니다.◈
    제23항에 있어서,
    상기 페이지 버퍼 그룹들은 상기 에러 정정 회로에서 생성된 상기 패리티 데이터를 저장하기 위한 스페어 페이지 버퍼 그룹들을 더 포함하는 반도체 메모리 장치.
  25. ◈청구항 25은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서, 글로벌 버퍼는,
    상기 외부 장치와 상기 페이지 버퍼 그룹들 사이에서 데이터를 서로 전달하거나,
    상기 플래인들 중 선택된 플래인의 프로그램 동작 또는 리드 동작시, 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 서로 전달하도록 구성된 반도체 메모리 장치.
KR1020160149522A 2016-11-10 2016-11-10 랜더마이즈 동작을 수행하는 반도체 메모리 장치 KR102648774B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160149522A KR102648774B1 (ko) 2016-11-10 2016-11-10 랜더마이즈 동작을 수행하는 반도체 메모리 장치
US15/596,803 US10361722B2 (en) 2016-11-10 2017-05-16 Semiconductor memory device performing randomization operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160149522A KR102648774B1 (ko) 2016-11-10 2016-11-10 랜더마이즈 동작을 수행하는 반도체 메모리 장치

Publications (2)

Publication Number Publication Date
KR20180052329A KR20180052329A (ko) 2018-05-18
KR102648774B1 true KR102648774B1 (ko) 2024-03-19

Family

ID=62064908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160149522A KR102648774B1 (ko) 2016-11-10 2016-11-10 랜더마이즈 동작을 수행하는 반도체 메모리 장치

Country Status (2)

Country Link
US (1) US10361722B2 (ko)
KR (1) KR102648774B1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10388351B2 (en) 2017-08-30 2019-08-20 Micron Technology, Inc. Wear leveling for random access and ferroelectric memory
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的***和方法
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
KR102533207B1 (ko) * 2018-08-30 2023-05-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
JPWO2020170069A1 (ko) * 2019-02-22 2020-08-27
US11169873B2 (en) * 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11321173B2 (en) 2019-12-31 2022-05-03 Micron Technology, Inc. Managing storage of multiple plane parity data in a memory sub-system
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
CN115440265B (zh) * 2021-06-01 2024-05-17 长鑫存储技术有限公司 存储器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100111990A (ko) * 2009-04-08 2010-10-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 데이터 랜덤화 방법
KR101736337B1 (ko) * 2011-02-28 2017-05-30 삼성전자주식회사 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법
KR101818445B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들
KR20130046190A (ko) * 2011-10-27 2013-05-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9013921B2 (en) * 2012-12-06 2015-04-21 Samsung Electronics Co., Ltd. Semiconductor memory device
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
JP2015005316A (ja) 2013-06-20 2015-01-08 三星電子株式会社Samsung Electronics Co.,Ltd. 半導体記憶装置
KR102108386B1 (ko) * 2013-12-23 2020-05-08 삼성전자주식회사 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
US10032509B2 (en) * 2015-03-30 2018-07-24 Toshiba Memory Corporation Semiconductor memory device including variable resistance element
KR102511459B1 (ko) * 2016-03-17 2023-03-17 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US10019314B2 (en) * 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10025662B2 (en) * 2016-04-27 2018-07-17 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
KR102636039B1 (ko) * 2016-05-12 2024-02-14 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법
KR102567224B1 (ko) * 2016-07-25 2023-08-16 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 컴퓨팅 시스템

Also Published As

Publication number Publication date
US10361722B2 (en) 2019-07-23
KR20180052329A (ko) 2018-05-18
US20180131390A1 (en) 2018-05-10

Similar Documents

Publication Publication Date Title
KR102648774B1 (ko) 랜더마이즈 동작을 수행하는 반도체 메모리 장치
US11604695B2 (en) Copy-back operations in a memory device
KR20170004693A (ko) 메모리 장치의 컨트롤러 및 그 동작 방법
US11204846B2 (en) Memory system and method for operating the same
US10126953B2 (en) Memory management method for buffer memory, and memory control circuit unit and memory storage device using the same
KR20150046549A (ko) 데이터 저장 시스템 및 그것의 동작 방법
US10283174B2 (en) Memory system initializing page buffers and operating method thereof
US20200142606A1 (en) Memory device and method of operating the same
KR20140028543A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20190108788A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US20170277454A1 (en) Memory device and operating method thereof
KR20160110774A (ko) 메모리 장치 및 이를 포함하는 시스템
US11003544B2 (en) Memory system and method of operating the same
US10713112B2 (en) Memory controller having memory unit including tables, memory system having the memory unit including the tables and operating method of the memory controller
US9966151B2 (en) Current sensing circuit and memory device having the same
US9905304B2 (en) Memory system and program operation method based on program speed information
KR102529710B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102532528B1 (ko) 메모리 장치 및 이의 동작 방법
KR20230075645A (ko) 반도체 장치 내 신호 간섭을 줄이기 위한 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant