KR20180052329A - 랜더마이즈 동작을 수행하는 반도체 메모리 장치 - Google Patents
랜더마이즈 동작을 수행하는 반도체 메모리 장치 Download PDFInfo
- Publication number
- KR20180052329A KR20180052329A KR1020160149522A KR20160149522A KR20180052329A KR 20180052329 A KR20180052329 A KR 20180052329A KR 1020160149522 A KR1020160149522 A KR 1020160149522A KR 20160149522 A KR20160149522 A KR 20160149522A KR 20180052329 A KR20180052329 A KR 20180052329A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- page buffer
- buffer group
- error correction
- latches
- Prior art date
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 63
- 238000012937 correction Methods 0.000 claims abstract description 113
- 230000015654 memory Effects 0.000 claims abstract description 99
- 239000000872 buffer Substances 0.000 claims description 365
- 230000004044 response Effects 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 22
- 238000012546 transfer Methods 0.000 claims description 12
- 230000007547 defect Effects 0.000 claims description 9
- 101000617708 Homo sapiens Pregnancy-specific beta-1-glycoprotein 1 Proteins 0.000 description 25
- 102100022024 Pregnancy-specific beta-1-glycoprotein 1 Human genes 0.000 description 25
- 238000010586 diagram Methods 0.000 description 25
- 102100038910 Alpha-enolase Human genes 0.000 description 14
- 101000882335 Homo sapiens Alpha-enolase Proteins 0.000 description 14
- 101100029846 Oryza sativa subsp. japonica PIP1-1 gene Proteins 0.000 description 12
- 102100038204 Large neutral amino acids transporter small subunit 1 Human genes 0.000 description 6
- 108091006232 SLC7A5 Proteins 0.000 description 6
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 4
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 4
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 4
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 4
- 102100025314 Deleted in esophageal cancer 1 Human genes 0.000 description 4
- YBHMPNRDOVPQIN-UHFFFAOYSA-N (13E,15S)-15-Hydroxy-9-oxo-8(12),13-prostadienoic acid Natural products CCCCCC(O)C=CC1=C(CCCCCCC(O)=O)C(=O)CC1 YBHMPNRDOVPQIN-UHFFFAOYSA-N 0.000 description 2
- 125000000821 PGB1 group Chemical group 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000005029 tin-free steel Substances 0.000 description 2
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 1
- 102100021429 DNA-directed RNA polymerase II subunit RPB1 Human genes 0.000 description 1
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 1
- 101001106401 Homo sapiens DNA-directed RNA polymerase II subunit RPB1 Proteins 0.000 description 1
- 101000611731 Homo sapiens Putative tRNA (cytidine(32)/guanosine(34)-2'-O)-methyltransferase Proteins 0.000 description 1
- 101000868892 Homo sapiens pre-rRNA 2'-O-ribose RNA methyltransferase FTSJ3 Proteins 0.000 description 1
- 102100038235 Large neutral amino acids transporter small subunit 2 Human genes 0.000 description 1
- 108091006238 SLC7A8 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 102100032318 pre-rRNA 2'-O-ribose RNA methyltransferase FTSJ3 Human genes 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific 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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 기술은 다수의 메모리 셀들이 포함된 다수의 플래인들(Planes); 상기 플래인들에 각각 연결되며, 외부 장치로부터 입력된 노말 데이터, 랜더마이즈(randomize)된 랜덤 데이터, 또는 에러 정정 동작에 사용되는 패리티 데이터를 임시로 저장하도록 구성된 읽기 쓰기 회로들; 및 프로그램 동작시 상기 노말 데이터를 랜더마이즈하여 상기 랜덤 데이터를 생성하고, 상기 랜덤 데이터에 대한 패리티 데이터를 생성하고, 리드 동작시 상기 패리티 데이터를 사용하여 상기 랜덤 데이터의 에러를 정정하고, 상기 랜덤 데이터를 디-랜더마이즈하도록 구성된 에러 정정 회로를 포함하는 반도체 메모리 장치를 포함한다.
Description
본 발명은 랜더마이즈 동작을 수행하는 반도체 메모리 장치에 관한 것으로, 보다 구체적으로는 페이지 버퍼를 포함하는 반도체 메모리 장치에 관한 것이다.
메모리 시스템은 데이터가 저장되는 반도체 메모리 장치(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는 본 발명의 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 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)에 포함된 일부 레지스터(resistor)에 저장되거나, 에러 정정 회로(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) 외부 장치로 순차적으로 출력될 수 있다.
상술한 바와 같이, 서로 다른 플래인들에 연결된 페이지 버퍼 그룹들을 사용하면, 컬럼 선택 디코더 및 컬럼 선택 제어 회로의 개수를 감소시킬 수 있으므로, 반도체 메모리 장치의 크기를 감소시킬 수 있다. 또한, 에러 정정 동작 시 사용되는 패리티 데이터를 페이지 버퍼들에 저장함으로써, 패리티 데이터를 저장하기 위한 추가 레지스터(resistor)를 필요로 하지 않는다. 이에 따라, 반도체 메모리 장치의 크기를 더욱 감소시킬 수 있다.
도 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: 제어 로직
CS_CON: 컬런 선택 제어 회로 ECC: 에러 정정 회로
GB: 글로벌 버퍼 PBG: 페이지 버퍼 그룹
M_PBG: 메인 페이지 버퍼 그룹 S_PBG: 스페어 페이지 버퍼 그룹
R_PBG: 리페어 페이지 버퍼 그룹 RWC: 읽기 쓰기 회로
VGC: 전압 생성 회로 C_LOGIC: 제어 로직
Claims (25)
- 다수의 메모리 셀들이 포함된 다수의 플래인들(Planes);
상기 플래인들에 각각 연결되며, 외부 장치로부터 입력된 노말 데이터, 랜더마이즈(randomize)된 랜덤 데이터, 또는 에러 정정 동작에 사용되는 패리티 데이터를 임시로 저장하도록 구성된 읽기 쓰기 회로들; 및
프로그램 동작시 상기 노말 데이터를 랜더마이즈하여 상기 랜덤 데이터를 생성하고, 상기 랜덤 데이터에 대한 패리티 데이터를 생성하고, 리드 동작시 상기 패리티 데이터를 사용하여 상기 랜덤 데이터의 에러를 정정하고, 상기 랜덤 데이터를 디-랜더마이즈하도록 구성된 에러 정정 회로를 포함하는 반도체 메모리 장치.
- 제1항에 있어서, 상기 플래인들은,
다수의 페이지들이 포함된 다수의 메모리 블록들을 포함하는 반도체 메모리 장치.
- 제1항에 있어서, 상기 읽기 쓰기 회로들은,
상기 노말 데이터 또는 상기 랜덤 데이터를 임시로 저장하고, 상기 랜덤 데이터를 사용하여 선택된 페이지의 프로그램 동작을 수행하거나 상기 선택된 페이지의 리드 동작을 수행하도록 구성된 메인(main) 페이지 버퍼 그룹;
상기 패리티 데이터를 저장하도록 구성된 스페어(spare) 페이지 버퍼 그룹;
리페어(repair) 데이터를 임시로 저장하고, 상기 리페어 데이터를 사용하여 상기 선택된 페이지의 프로그램 동작을 수행하거나 상기 선택된 페이지의 리드 동작을 수행하도록 구성된 리페어(repair) 페이지 버퍼 그룹;
상기 노말 데이터를 랜더마이즈하거나, 상기 랜덤 데이터를 디-랜더마이즈하기 위해, 상기 노말 데이터, 상기 패리티 데이터 또는 상기 랜덤 데이터를 상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 또는 상기 리페어 페이지 버퍼 그룹과 상기 에러 정정 회로 사이에서 전송하도록 구성된 컬럼 선택 디코더들; 및
컬럼 어드레스에 응답하여 상기 컬럼 선택 디코더들을 제어하는 컬럼 선택 제어 회로를 포함하는 반도체 메모리 장치.
- 제3항에 있어서,
상기 메인 페이지 버퍼 그룹은 다수의 메인 페이지 버퍼들을 포함하고,
상기 스페어 페이지 버퍼 그룹은 다수의 스페어 페이지 버퍼들을 포함하고,
상기 리페어 페이지 버퍼 그룹은 다수의 리페어 페이지 더퍼들을 포함하는 반도체 메모리 장치.
- 제4항에 있어서,
상기 메인 페이지 버퍼들, 상기 스페어 페이지 버퍼들 및 상기 리페어 페이지 버퍼들은,
상기 외부 장치로부터 입력된 상기 노말 데이터를 임시로 저장하거나, 상기 디-랜더마이즈된 노말 데이터를 상기 외부 장치로 출력하기 위한 제1 래치들;
상기 랜덤 데이터 또는 상기 디-랜더마이즈된 노말 데이터를 상기 에러 정정 회로와 주고받기 위한 제2 래치들; 및
상기 프로그램 동작 또는 상기 리드 동작 시 선택된 메모리 셀들과 데이터를 주고받기 위한 제3 래치들을 포함하는 반도체 메모리 장치.
- 제5항에 있어서,
상기 제1 래치들은 글로벌 버퍼를 통해 상기 외부 장치로부터 상기 노말 데이터를 수신하거나 상기 외부 장치로 상기 노말 데이터를 출력하는 반도체 메모리 장치.
- 제5항에 있어서,
상기 제2 래치들은 상기 컬럼 선택 디코더의 제어에 따라 글로벌 데이터 라인을 통해 데이터를 수신 또는 송신하는 반도체 메모리 장치.
- 제5항에 있어서,
상기 제3 래치들은 비트라인들을 통해 상기 메모리 셀들에 연결된 반도체 메모리 장치.
- 제3항에 있어서, 상기 컬럼 선택 디코더들은,
상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 또는 상기 리페어 페이지 버퍼 그룹에 저장된 데이터가 글로벌 데이터 라인을 통해 상기 에러 정정 회로로 전송되도록 하거나,
상기 에러 정정 회로에 입력된 데이터가 상기 글로벌 데이터 라인을 통해 상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 또는 상기 리페어 페이지 버퍼 그룹으로 전송되도록 상기 메인 페이지 버퍼 그룹, 상기 스페어 페이지 버퍼 그룹 및 상기 리페어 페이지 버퍼 그룹을 제어하는 반도체 메모리 장치.
- 제1항에 있어서, 상기 읽기 쓰기 회로들은,
상기 프로그램 동작 또는 상기 리드 동작 시, 상기 플래인들 중 선택된 플래인 내에서 데이터를 전송하거나, 서로 다른 플래인들 사이에서 데이터를 전송하는 반도체 메모리 장치.
- 다수의 메모리 셀들이 포함된 다수의 메모리 블록들;
비트라인들을 통해 상기 메모리 블록들에 연결되며, 외부 장치로부터 수신된 제1 데이터, 상기 제1 데이터를 랜더마이즈한 제2 데이터, 또는 에러 정정 동작에 사용되는 패리티(parity) 데이터를 임시로 저장하는 페이지 버퍼 그룹;
상기 페이지 버퍼 그룹에 저장된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 제1 글로벌 데이터 라인으로 순차적으로 전송하도록 구성된 제1 컬럼 선택 디코더;
제2 글로벌 데이터 라인에 로드(load)된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 상기 페이지 버퍼 그룹으로 순차적으로 입력하도록 구성된 제2 컬럼 선택 디코더; 및
상기 제1 및 제2 글로벌 데이터 라인들을 통해 상기 페이지 버퍼 그룹에 연결되며, 상기 패리티 데이터를 생성하고, 상기 패리티 데이터를 사용하여 상기 제2 데이터의 에러를 정정하고, 상기 제1 데이터를 랜더마이즈하여 상기 제2 데이터로 변환시키거나, 상기 제2 데이터를 디-랜더마이즈하여 상기 제1 데이터로 변환시키는 에러 정정 회로를 포함하는 반도체 메모리 장치.
- 제11항에 있어서, 상기 페이지 버퍼 그룹은,
상기 제1 또는 제2 데이터 중에서 노말 데이터를 저장하는 메인 페이지 버퍼 그룹;
상기 메인 페이지 버퍼 그룹의 결함 컬럼을 대체하여 리페어 데이터를 저장하는 리페어 페이지 버퍼 그룹을 포함하는 반도체 메모리 장치.
- 제12항에 있어서,
상기 메인 페이지 버퍼 그룹 및 상기 리페어 페이지 버퍼 그룹은 데이터가 저장되는 다수의 래치들을 포함하는 반도체 메모리 장치.
- 제13항에 있어서,
상기 래치들은,
상기 외부 장치로부터 입력된 상기 제1 데이터를 임시로 저장하거나, 상기 제2 데이터를 상기 외부 장치로 출력하기 위한 제1 래치들;
상기 제1 또는 제2 데이터를 상기 에러 정정 회로와 주고받기 위한 제2 래치들; 및
상기 프로그램 동작 또는 상기 리드 동작 시 선택된 메모리 셀들과 데이터를 주고받기 위한 제3 래치들을 포함하는 반도체 메모리 장치.
- 제14항에 있어서, 상기 제1 컬럼 선택 디코더는,
상기 제2 래치들에 입력된 상기 제1 또는 제2 데이터가 상기 제1 글로벌 데이터 라인으로 전송되도록 상기 페이지 버퍼 그룹을 제어하는 반도체 메모리 장치.
- 제14항에 있어서, 상기 제2 컬럼 선택 디코더는,
상기 제2 글로벌 데이터 라인에 로드된 상기 제1 또는 제2 데이터가 상기 래치들로 전송되도록 상기 페이지 버퍼 그룹을 제어하는 반도체 메모리 장치.
- 제11항에 있어서,
상기 에러 정정 회로는 상기 제2 데이터의 에러 정정 동작을 수행하기 위하여 상기 패리티 데이터를 생성하는 반도체 메모리 장치.
- 제17항에 있어서,
상기 페이지 버퍼 그룹은 상기 에러 정정 회로에서 생성된 상기 패리티 데이터를 저장하기 위한 스페어 페이지 버퍼 그룹을 더 포함하는 반도체 메모리 장치.
- 다수의 메모리 블록들이 포함된 다수의 플래인들;
상기 플래인들에 각각 연결되며, 외부 장치로부터 수신된 제1 데이터, 상기 제1 데이터를 랜더마이즈한 제2 데이터, 또는 에러 정정 동작에 사용되는 패리티(parity) 데이터를 임시로 저장하는 페이지 버퍼 그룹들;
상기 페이지 버퍼 그룹들에 저장된 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 글로벌 데이터 라인들로 순차적으로 전송하거나, 상기 글로벌 데이터 라인들에 로드(load)된 데이터를 상기 페이지 버퍼 그룹들로 순차적으로 전송되도록 하는 컬럼 선택 디코더들;
상기 글로벌 데이터 라인들을 통해 상기 페이지 버퍼 그룹들에 연결되며, 상기 제2 데이터에 대한 상기 패리티(parity) 데이터 생성 및 에러 정정 동작을 수행하고, 상기 제1 데이터를 랜더마이즈하여 상기 제2 데이터로 변환시키거나, 상기 제2 데이터를 디-랜더마이즈하여 상기 제1 데이터로 변환시키는 에러 정정 회로; 및
상기 서로 다른 페이지 버퍼 그룹들에 저장된 데이터를 전송하는 글로벌 버퍼를 포함하는 반도체 메모리 장치.
- 제19항에 있어서, 상기 페이지 버퍼 그룹들은,
상기 제1 또는 제2 데이터 중에서 노말 데이터를 저장하는 메인 페이지 버퍼 그룹들;
상기 메인 페이지 버퍼 그룹들의 결함 컬럼들을 대체하여 리페어 데이터를 저장하는 리페어 페이지 버퍼 그룹들을 포함하는 반도체 메모리 장치.
- 제20항에 있어서,
상기 메인 페이지 버퍼 그룹들 및 상기 리페어 페이지 버퍼 그룹들은 데이터가 저장되는 다수의 래치들을 포함하는 반도체 메모리 장치.
- 제21항에 있어서,
상기 래치들은,
상기 외부 장치로부터 입력된 상기 제1 데이터를 임시로 저장하거나, 상기 제2 데이터를 상기 외부 장치로 출력하기 위한 제1 래치들;
상기 제1 또는 제2 데이터를 상기 에러 정정 회로와 주고받기 위한 제2 래치들; 및
상기 프로그램 동작 또는 상기 리드 동작 시 선택된 메모리 셀들과 데이터를 주고받기 위한 제3 래치들을 포함하는 반도체 메모리 장치.
- 제19항에 있어서,
상기 에러 정정 회로는 상기 제2 데이터의 에러 정정 동작을 수행하기 위하여 상기 패리티 데이터를 생성하는 반도체 메모리 장치.
- 제23항에 있어서,
상기 페이지 버퍼 그룹들은 상기 에러 정정 회로에서 생성된 상기 패리티 데이터를 저장하기 위한 스페어 페이지 버퍼 그룹들을 더 포함하는 반도체 메모리 장치.
- 제19항에 있어서, 글로벌 버퍼는,
상기 외부 장치와 상기 페이지 버퍼 그룹들 사이에서 데이터를 서로 전달하거나,
상기 플래인들 중 선택된 플래인의 프로그램 동작 또는 리드 동작시, 상기 제1 데이터, 상기 제2 데이터 또는 상기 패리티 데이터를 서로 전달하도록 구성된 반도체 메모리 장치.
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 true KR20180052329A (ko) | 2018-05-18 |
KR102648774B1 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200025521A (ko) * | 2018-08-30 | 2020-03-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
Families Citing this family (40)
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 |
WO2020000136A1 (en) | 2018-06-25 | 2020-01-02 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of i/o requests |
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 |
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 |
WO2020170069A1 (ja) * | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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) |
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 |
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 | 长鑫存储技术有限公司 | 存储器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130049332A (ko) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20150073717A (ko) * | 2013-12-23 | 2015-07-01 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들 |
Family Cites Families (14)
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 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
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. | 半導体記憶装置 |
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 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 컴퓨팅 시스템 |
-
2016
- 2016-11-10 KR KR1020160149522A patent/KR102648774B1/ko active IP Right Grant
-
2017
- 2017-05-16 US US15/596,803 patent/US10361722B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130049332A (ko) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20150073717A (ko) * | 2013-12-23 | 2015-07-01 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200025521A (ko) * | 2018-08-30 | 2020-03-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US10361722B2 (en) | 2019-07-23 |
KR102648774B1 (ko) | 2024-03-19 |
US20180131390A1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102648774B1 (ko) | 랜더마이즈 동작을 수행하는 반도체 메모리 장치 | |
US10854285B2 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell | |
US9627079B1 (en) | Storage device, memory system having the same, and operating method thereof | |
US20210311828A1 (en) | Copy-back operations in a memory device | |
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 | |
KR20160143371A (ko) | 메모리 시스템 및 그 동작 방법 | |
US10283174B2 (en) | Memory system initializing page buffers and operating method thereof | |
US20200142606A1 (en) | Memory device and method of operating the same | |
US10803973B2 (en) | Memory management method and storage controller | |
US20240127900A1 (en) | Performing selective copyback in memory devices | |
US12072762B2 (en) | Error-handling management during copyback operations in memory devices | |
KR20160110774A (ko) | 메모리 장치 및 이를 포함하는 시스템 | |
US20170277454A1 (en) | Memory device and operating method thereof | |
US11003544B2 (en) | Memory system and method of operating the same | |
US9966151B2 (en) | Current sensing circuit and memory device having the same | |
US11996860B2 (en) | Scaled bit flip thresholds across columns for irregular low density parity check decoding | |
TWI829252B (zh) | 低密度奇偶校檢碼的解碼方法及電腦程式產品及裝置 | |
US20240274219A1 (en) | Non-volatile memory and memory system | |
KR102532528B1 (ko) | 메모리 장치 및 이의 동작 방법 | |
TW202435225A (zh) | 非揮發性記憶體及記憶體系統 | |
CN118260156A (zh) | 存储器装置中的多层级健康状态 | |
CN117472643A (zh) | 低密度奇偶校检码的译码方法、存储介质和装置 |
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 |