KR102342315B1 - Semiconductor apparatus and semiconductor system - Google Patents

Semiconductor apparatus and semiconductor system Download PDF

Info

Publication number
KR102342315B1
KR102342315B1 KR1020170107232A KR20170107232A KR102342315B1 KR 102342315 B1 KR102342315 B1 KR 102342315B1 KR 1020170107232 A KR1020170107232 A KR 1020170107232A KR 20170107232 A KR20170107232 A KR 20170107232A KR 102342315 B1 KR102342315 B1 KR 102342315B1
Authority
KR
South Korea
Prior art keywords
memory cells
memory cell
column address
signal lines
main
Prior art date
Application number
KR1020170107232A
Other languages
Korean (ko)
Other versions
KR20190021867A (en
Inventor
김호권
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020170107232A priority Critical patent/KR102342315B1/en
Publication of KR20190021867A publication Critical patent/KR20190021867A/en
Application granted granted Critical
Publication of KR102342315B1 publication Critical patent/KR102342315B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits

Abstract

반도체 장치는 하나 이상의 메인 메모리 셀들 및 하나 이상의 스페어 메모리 셀들; 및 하나 이상의 결함 메모리 셀들의 결함 정보에 근거하여 상기 메인 메모리 셀들에 각각 대응하는 쉬프트 값들을 생성하고, 하나 이상의 제1 비트들을 상기 메인 메모리 셀들로부터 상기 쉬프트 값들만큼 스페어 메모리 셀 방향으로 각각 쉬프트된 메모리 셀들에 라이트하도록 구성된 제어부를 포함한다.A semiconductor device includes one or more main memory cells and one or more spare memory cells; and generating shift values respectively corresponding to the main memory cells based on defect information of one or more defective memory cells, and shifting one or more first bits from the main memory cells in the direction of the spare memory cell by the shift values. and a control unit configured to write to the cells.

Description

반도체 장치 및 반도체 시스템{SEMICONDUCTOR APPARATUS AND SEMICONDUCTOR SYSTEM}Semiconductor device and semiconductor system

본 발명은 반도체 장치에 관한 것으로, 더욱 상세하게는 데이터를 저장할 수 있는 반도체 메모리 장치에 관한 것이다.The present invention relates to a semiconductor device, and more particularly, to a semiconductor memory device capable of storing data.

반도체 장치, 그 중에서도 반도체 메모리 장치는 데이터를 저장하는 용도로 사용될 수 있다. 반도체 메모리 장치는 크게 불휘발성 메모리 장치와 휘발성 메모리 장치로 구분할 수 있다.A semiconductor device, particularly a semiconductor memory device, may be used to store data. A semiconductor memory device may be largely divided into a nonvolatile memory device and a volatile memory device.

불휘발성 메모리 장치는 전원이 인가되지 않더라도 저장된 데이터를 유지할 수 있다. 불휘발성 메모리 장치는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다.The nonvolatile memory device may retain stored data even when power is not applied. Nonvolatile memory devices include flash memory devices such as NAND Flash or NOR Flash, Ferroelectrics Random Access Memory (FeRAM), Phase-Change Random Access Memory (PCRAM), Magnetic Random Access Memory (MRAM), or It may include resistive random access memory (ReRAM) and the like.

휘발성 메모리 장치는 전원이 인가되지 않는 경우 저장된 데이터를 유지하지 못하고 소실할 수 있다. 휘발성 메모리 장치는 SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random Access Memory) 등을 포함할 수 있다.The volatile memory device may not retain stored data and may lose it when power is not applied. The volatile memory device may include static random access memory (SRAM) or dynamic random access memory (DRAM).

본 발명의 실시 예는 결함 셀에 대비한 스페어 셀을 효율적으로 활용함으로써 극대화된 메모리 용량 및 향상된 양품률을 제공하는 반도체 장치 및 반도체 시스템을 제공하는 데 있다.SUMMARY OF THE INVENTION An aspect of the present invention is to provide a semiconductor device and a semiconductor system that provide a maximized memory capacity and an improved yield rate by efficiently utilizing a spare cell in preparation for a defective cell.

본 발명의 실시 예에 따른 반도체 장치는 하나 이상의 메인 메모리 셀들 및 하나 이상의 스페어 메모리 셀들; 및 하나 이상의 결함 메모리 셀들의 결함 정보에 근거하여 상기 메인 메모리 셀들에 각각 대응하는 쉬프트 값들을 생성하고, 하나 이상의 제1 비트들을 상기 메인 메모리 셀들로부터 상기 쉬프트 값들만큼 스페어 메모리 셀 방향으로 각각 쉬프트된 메모리 셀들에 라이트하도록 구성된 제어부를 포함할 수 있다.A semiconductor device according to an embodiment of the present invention includes one or more main memory cells and one or more spare memory cells; and generating shift values respectively corresponding to the main memory cells based on defect information of one or more defective memory cells, and shifting one or more first bits from the main memory cells in the direction of the spare memory cell by the shift values. It may include a control unit configured to write to the cells.

본 발명의 실시 예에 따른 반도체 시스템은 하나 이상의 메인 신호 라인들 및 하나 이상의 스페어 신호 라인들; 하나 이상의 결함 신호 라인들의 결함 정보에 근거하여 상기 메인 신호 라인들에 각각 대응하는 쉬프트 값들을 생성하고, 하나 이상의 제1 신호들을 상기 메인 신호 라인들로부터 상기 쉬프트 값들만큼 스페어 신호 라인 방향으로 각각 쉬프트된 신호 라인들로 전송하도록 구성된 제1 반도체 장치; 및 상기 쉬프트 값들을 동일하게 생성하고 상기 쉬프트 값들에 근거하여 상기 제1 신호들을 상기 쉬프트된 신호 라인들로부터 수신하도록 구성된 제2 반도체 장치를 포함할 수 있다.A semiconductor system according to an embodiment of the present invention includes one or more main signal lines and one or more spare signal lines; Shift values corresponding to each of the main signal lines are generated based on defect information of one or more defective signal lines, and one or more first signals are respectively shifted from the main signal lines in the direction of the spare signal line by the shift values. a first semiconductor device configured to transmit to the signal lines; and a second semiconductor device configured to equally generate the shift values and receive the first signals from the shifted signal lines based on the shift values.

본 발명의 실시 예에 따른 반도체 장치 및 반도체 시스템은 결함 셀에 대비한 스페어 셀을 효율적으로 활용함으로써 극대화된 메모리 용량 및 향상된 양품률을 제공할 수 있다.A semiconductor device and a semiconductor system according to an embodiment of the present invention may provide a maximized memory capacity and an improved yield rate by efficiently utilizing a spare cell in preparation for a defective cell.

도1은 본 발명의 실시 예에 따른 반도체 장치를 간략하게 도시한 블록도,
도2는 메인 메모리 셀들에 대해 생성된 쉬프트 값들을 예시적으로 도시하는 도면,
도3은 도1의 쉬프트 값 생성부의 동작 방법을 구체적으로 도시한 도면,
도4는 본 발명의 실시 예에 따른 반도체 장치를 간략하게 도시한 블록도,
도5는 도4의 벡터 생성부가 인코딩 벡터들을 생성하는 방법을 예시적으로 설명하기 위한 도면,
도6은 도4의 인코더가 제1 데이터에 근거하여 제2 데이터를 생성하는 방법을 예시적으로 설명하기 위한 도면,
도7은 도4의 벡터 생성부가 디코딩 벡터들을 생성하는 방법을 예시적으로 설명하기 위한 도면,
도8은 도4의 디코더가 제2 데이터에 근거하여 제1 데이터를 복구하는 방법을 예시적으로 설명하기 위한 도면,
도9는 본 발명의 실시 예에 따른 쉬프트 값 생성부를 도시한 블록도,
도10은 본 발명의 실시 예에 따른 벡터 생성부를 도시한 블록도,
도11은 본 발명의 실시 예에 따른 반도체 시스템을 예시적으로 도시하는 블록도이다.
1 is a block diagram schematically illustrating a semiconductor device according to an embodiment of the present invention;
2 is a diagram exemplarily showing shift values generated for main memory cells;
3 is a diagram specifically illustrating an operation method of the shift value generator of FIG. 1;
4 is a block diagram schematically illustrating a semiconductor device according to an embodiment of the present invention;
FIG. 5 is a diagram for exemplarily explaining a method of the vector generator of FIG. 4 generating encoding vectors; FIG.
FIG. 6 is a diagram for exemplarily explaining a method in which the encoder of FIG. 4 generates second data based on the first data;
7 is a diagram for illustratively explaining a method for the vector generator of FIG. 4 to generate decoded vectors;
FIG. 8 is a diagram for exemplarily explaining a method in which the decoder of FIG. 4 recovers first data based on second data;
9 is a block diagram illustrating a shift value generator according to an embodiment of the present invention;
10 is a block diagram illustrating a vector generator according to an embodiment of the present invention;
11 is a block diagram exemplarily illustrating a semiconductor system according to an embodiment of the present invention.

이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

도1은 본 발명의 실시 예에 따른 반도체 장치(100)를 간략하게 도시한 블록도이다.1 is a block diagram schematically illustrating a semiconductor device 100 according to an embodiment of the present invention.

도1을 참조하면, 반도체 장치(100)는 메모리 영역(110) 및 제어부(120)를 포함할 수 있다.Referring to FIG. 1 , a semiconductor device 100 may include a memory area 110 and a controller 120 .

메모리 영역(110)은 제어부(120)의 제어에 따라 외부 장치로부터 전송된 데이터(DATA)를 저장할 수 있다. 메모리 영역(110)은 데이터(DATA)를 저장하기 위한 복수의 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)을 포함할 수 있다. 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)은 단일의 로우 어드레스에 대응하고 복수의 연속적인 컬럼 어드레스들에 각각 대응할 수 있다. 컬럼 어드레스들은, 예를 들어, 스페어 메모리 셀 방향으로 순차적으로 할당될 수 있다. 즉, 메인 메모리 셀들(MC0~MCm) 중에서 제일 앞선 메인 메모리 셀(MC0)의 컬럼 어드레스가 제일 앞서고 제일 마지막의 스페어 메모리 셀(SCs)의 컬럼 어드레스가 제일 뒤설 수 있다. 그러나, 이러한 컬럼 어드레스들의 순서는 메모리 셀들에게 상대적인 위치들을 할당하여 아래에서 발명을 용이하게 설명하기 위해 가정한 것이다. 실시 예에 따라 컬럼 어드레스들은 이와 다른 순서에 따라 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)에 할당될 수 있다.The memory area 110 may store data DATA transmitted from an external device under the control of the controller 120 . The memory area 110 may include a plurality of main memory cells MC0 to MCm and spare memory cells SC0 to SCs for storing data DATA. The main memory cells MC0 to MCm and the spare memory cells SC0 to SCs may correspond to a single row address and may respectively correspond to a plurality of consecutive column addresses. Column addresses may be sequentially allocated, for example, in a direction of a spare memory cell. That is, among the main memory cells MC0 to MCm, the column address of the first main memory cell MC0 may be the first, and the column address of the last spare memory cell SCs may be the last. However, the order of these column addresses is assumed to facilitate the description of the invention below by allocating relative positions to the memory cells. According to an embodiment, column addresses may be allocated to the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs in a different order.

메인 메모리 셀들(MC0~MCm)은 외부 장치가 액세스 가능한 영역일 수 있다. 즉, 외부 장치는 메인 메모리 셀들(MC0~MCm)의 로우 어드레스 및 컬럼 어드레스를 지정하여 라이트 동작 및 리드 동작을 수행하도록 반도체 장치(100)에게 지시할 수 있다.The main memory cells MC0 to MCm may be regions accessible to an external device. That is, the external device may instruct the semiconductor device 100 to perform a write operation and a read operation by designating a row address and a column address of the main memory cells MC0 to MCm.

스페어 메모리 셀들(SC0~SCs)은 메인 메모리 셀들(MC0~MCm)에 포함된 하나 이상의 결함 메모리 셀들로 인해 부족해진 메모리 용량을 보충하기 위해 사용될 수 있다. 즉, 메인 메모리 셀들(MC0~MCm)이 결함 메모리 셀들을 포함할 때, 반도체 장치(100)는 스페어 메모리 셀들(SC0~SCs)을 사용하여 데이터를 저장할 수 있다. 스페어 메모리 셀들(SC0~SCs)은 메인 메모리 셀들(MC0~MCm)의 일측, 즉, 스페어 메모리 셀 방향에 정렬될 수 있다. 한편 이하에서, 스페어 메모리 셀 방향의 반대 방향은 메인 메모리 셀 방향으로 언급될 수 있다.The spare memory cells SC0 to SCs may be used to compensate for memory capacity insufficient due to one or more defective memory cells included in the main memory cells MC0 to MCm. That is, when the main memory cells MC0 to MCm include defective memory cells, the semiconductor device 100 may store data using the spare memory cells SC0 to SCs. The spare memory cells SC0 to SCs may be aligned to one side of the main memory cells MC0 to MCm, that is, in the direction of the spare memory cell. Meanwhile, hereinafter, the direction opposite to the spare memory cell direction may be referred to as a main memory cell direction.

도1은 예시적으로 하나의 로우 어드레스에 대응하는 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)을 도시하지만, 메모리 영역(110)은 복수의 로우 어드레스들에 대응하는 메인 메모리 셀들 및 스페어 메모리 셀들을 더 포함할 수 있다.1 exemplarily illustrates main memory cells MC0 to MCm and spare memory cells SC0 to SCs corresponding to one row address, the memory area 110 is a main memory corresponding to a plurality of row addresses. It may further include cells and spare memory cells.

제어부(120)는 외부 장치로부터 메인 메모리 셀들(MC0~MCm)의 로우 어드레스(RA) 및 컬럼 어드레스(CA)에 대해 데이터(DATA)의 라이트 요청을 수신하고, 라이트 동작을 수행할 수 있다. 이때, 제어부(120)는 로우 어드레스(RA)의 결함 정보(FINF), 즉, 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)에 포함된 결함 메모리 셀들의 위치 정보에 근거하여, 데이터(DATA)에 포함된 하나 이상의 비트들을 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs) 중 결함 메모리 셀들을 제외한 정상 메모리 셀들에만 저장할 수 있다.The controller 120 may receive a write request for data DATA with respect to the row address RA and the column address CA of the main memory cells MC0 to MCm from an external device, and may perform a write operation. In this case, the controller 120 is configured to control the row address RA based on the defect information FINF, that is, the location information of the defective memory cells included in the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs. , one or more bits included in the data DATA may be stored only in normal memory cells excluding defective memory cells among the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs.

구체적으로, 제어부(120)는 결함 정보(FINF)에 근거하여 메인 메모리 셀들(MC0~MCm)에 각각 대응하는 쉬프트 값들을 생성할 수 있다. 그리고 제어부(120)는, 외부 장치가 소정 메인 메모리 셀에 라이트하도록 지시한 데이터(DATA)의 비트를 소정 메인 메모리 셀에 대응하는 쉬프트 값만큼 소정 메인 메모리 셀로부터 스페어 메모리 셀 방향으로 쉬프트된 메모리 셀에 저장할 수 있다. 도2를 참조하여 자세히 살펴볼 바와 같이, 메인 메모리 셀들(MC0~MCm)에 대응하는 쉬프트 값들은, 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs) 중 정상 메모리 셀들이 데이터(DATA)의 비트들을 저장하도록 생성될 수 있다.Specifically, the controller 120 may generate shift values corresponding to the main memory cells MC0 to MCm, respectively, based on the defect information FINF. In addition, the controller 120 shifts the bits of the data DATA instructed to be written by the external device to the predetermined main memory cell from the predetermined main memory cell toward the spare memory cell by a shift value corresponding to the predetermined main memory cell. can be stored in As will be described in detail with reference to FIG. 2 , shift values corresponding to the main memory cells MC0 to MCm are normal memory cells among the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs. ) can be created to store bits of

한편, 외부 장치는, 데이터(DATA)가 메인 메모리 셀들(MC0~MCm)에 저장된 것으로 인식하고 메인 메모리 셀들(MC0~MCm)로부터 데이터(DATA)를 리드하도록 제어부(120)에게 지시할 수 있다. 제어부(120)는 외부 장치로부터 메인 메모리 셀들(MC0~MCm)의 로우 어드레스(RA) 및 컬럼 어드레스들(CA)에 대해 데이터(DATA)의 리드 요청을 수신하고, 리드 동작을 수행할 수 있다. 이때, 제어부(120)는 로우 어드레스(RA)의 결함 정보(FINF)에 근거하여, 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs) 중 정상 메모리 셀들에 저장된 데이터(DATA)의 비트들을 리드할 수 있다. 즉, 제어부(120)는 라이트 동작을 수행할 때 결함 정보(FINF)를 통해 결함 메모리 셀들을 회피하여 정상 메모리 셀들에 데이터(DATA)를 저장하였으므로, 리드 동작을 수행할 때도 결함 정보(FINF)를 통해 결함 메모리 셀들을 회피하여 정상 메모리 셀들로부터 데이터(DATA)를 리드할 수 있다. 이를 위해, 제어부(120)는 라이트 동작을 위해 생성했던 메인 메모리 셀들(MC0~MCm)에 대응하는 쉬프트 값들을 결함 정보(FINF)에 근거하여 동일하게 생성하고, 쉬프트 값들에 근거하여 데이터(DATA)를 리드할 수 있다.Meanwhile, the external device may recognize that the data DATA is stored in the main memory cells MC0 to MCm and instruct the controller 120 to read the data DATA from the main memory cells MC0 to MCm. The controller 120 may receive a read request for data DATA with respect to the row addresses RA and column addresses CA of the main memory cells MC0 to MCm from an external device, and may perform a read operation. In this case, the controller 120 controls the data DATA stored in normal memory cells among the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs based on the defect information FINF of the row address RA. bits can be read. That is, since the controller 120 stores the data DATA in the normal memory cells by avoiding the defective memory cells through the defect information FINF when performing a write operation, the controller 120 stores the defect information FINF even when performing a read operation. The data DATA may be read from the normal memory cells by avoiding the defective memory cells. To this end, the controller 120 equally generates shift values corresponding to the main memory cells MC0 to MCm generated for the write operation based on the defect information FINF, and generates data DATA based on the shift values. can lead

제어부(120)는 결함 정보 관리부(121) 및 쉬프트 값 생성부(122)를 포함할 수 있다.The controller 120 may include a defect information manager 121 and a shift value generator 122 .

결함 정보 관리부(121)는 메모리 영역(110)의 결함 정보(FINF)를 저장할 수 있다. 결함 정보 관리부(121)는 메모리 영역(110)의 복수의 로우 어드레스들에 각각 대응하는 결함 정보(FINF)를 저장할 수 있다. 결함 정보 관리부(121)는 라이트 동작 또는 리드 동작이 수행될 때, 외부 장치로부터 제공된 로우 어드레스(RA)에 응답하여, 로우 어드레스(RA)에 대응하는 결함 정보(FINF)를 쉬프트 값 생성부(122)로 제공할 수 있다. 로우 어드레스(RA)에 대응하는 결함 정보(FINF)는 로우 어드레스(RA)의 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs) 중 결함 메모리 셀들의 위치 정보, 예를 들어, 결함 메모리 셀들의 컬럼 어드레스들을 포함할 수 있다.The defect information manager 121 may store the defect information FINF of the memory area 110 . The defect information manager 121 may store the defect information FINF corresponding to each of a plurality of row addresses of the memory area 110 . When a write operation or a read operation is performed, the defect information manager 121 generates the defect information FINF corresponding to the row address RA in response to the row address RA provided from the external device, and generates the shift value generator 122 . ) can be provided. The defect information FINF corresponding to the row address RA includes location information of defective memory cells among the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs of the row address RA, for example, a defect. It may include column addresses of memory cells.

쉬프트 값 생성부(122)는 결함 정보 관리부(121)로부터 전송된 결함 정보(FINF) 및 외부 장치로부터 전송된 컬럼 어드레스(CA)에 근거하여, 라이트 동작이 수행될 메인 메모리 셀들(MC0~MCm)에 각각 대응하는 쉬프트 값들을 생성할 수 있다. 쉬프트 값 생성부(122)는, 외부 장치가 데이터(DATA)를 라이트하도록 지시한 컬럼 어드레스(CA)와 결함 정보(FINF)에 포함된 결함 메모리 셀들의 컬럼 어드레스들을 비교하여, 데이터(DATA)의 비트들이 결함 메모리 셀들을 건너 뛰어 정상 메모리 셀들에 저장되도록 쉬프트 값들을 생성할 수 있다. 쉬프트 값 생성부(122)의 구체적인 동작 방법은 도2 및 도3을 참조하여 상세하게 설명될 것이다. The shift value generating unit 122 is configured to perform a write operation on the main memory cells MC0 to MCm to be performed based on the defect information FINF transmitted from the defect information management unit 121 and the column address CA transmitted from the external device. It is possible to generate shift values respectively corresponding to . The shift value generator 122 compares the column address CA instructed to write the data DATA by the external device with the column addresses of the defective memory cells included in the defect information FINF to obtain the data DATA. Shift values may be generated such that bits are stored in normal memory cells by skipping defective memory cells. A specific operation method of the shift value generator 122 will be described in detail with reference to FIGS. 2 and 3 .

한편, 제어부(220)는 외부 장치로부터 리드 동작 또는 라이트 동작이 수행되는지 여부를 나타내는 리드/라이트 신호(RW)를 더 수신할 수 있다. Meanwhile, the controller 220 may further receive a read/write signal RW indicating whether a read operation or a write operation is performed from an external device.

한편, 반도체 장치(100)는 불휘발성 메모리 장치 또는 휘발성 메모리 장치를 포함할 수 있다. 불휘발성 메모리 장치는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다. 휘발성 메모리 장치는 SRAM(Static Random Access Memory) 및 DRAM(Dynamic Random Access Memory) 등을 포함할 수 있다. 그러나, 본 발명의 반도체 장치(100)는 이에 제한되지 않고, 기타 타입의 반도체 메모리 장치들을 포함할 수 있다.Meanwhile, the semiconductor device 100 may include a nonvolatile memory device or a volatile memory device. Nonvolatile memory devices include flash memory devices such as NAND Flash or NOR Flash, Ferroelectrics Random Access Memory (FeRAM), Phase-Change Random Access Memory (PCRAM), Magnetic Random Access Memory (MRAM), or It may include resistive random access memory (ReRAM) and the like. The volatile memory device may include static random access memory (SRAM) and dynamic random access memory (DRAM). However, the semiconductor device 100 of the present invention is not limited thereto, and may include other types of semiconductor memory devices.

도2는 메인 메모리 셀들(C0~C5)에 대해 생성된 쉬프트 값들을 예시적으로 도시하는 도면이다. 도2는 메인 메모리 셀들(C0~C5)에 이어서 스페어 메모리 셀 방향으로 위치하는 메모리 셀들(C6~C7)을 더 도시한다. 메모리 셀들(C6~C7)은 스페어 메모리 셀들이거나 또는 메인 메모리 셀들일 수 있다. 메모리 셀들(C0~C7)은 동일한 로우 어드레스(RA)에 대응하고, 스페어 메모리 셀 방향으로 컬럼 어드레스들(CA0~CA7)을 순차적으로 할당받을 수 있다. 이때, 메모리 셀들(C0~C7)은 결함 메모리 셀들(C1, C4)과 정상 메모리 셀들(C0, C2, C3, C5~C7)을 포함할 수 있다.2 is a diagram exemplarily illustrating shift values generated with respect to the main memory cells C0 to C5. FIG. 2 further shows memory cells C6 to C7 positioned in the spare memory cell direction after the main memory cells C0 to C5. The memory cells C6 to C7 may be spare memory cells or main memory cells. The memory cells C0 to C7 may correspond to the same row address RA, and may be sequentially assigned column addresses CA0 to CA7 in the direction of the spare memory cell. In this case, the memory cells C0 to C7 may include defective memory cells C1 and C4 and normal memory cells C0 , C2 , C3 , C5 to C7 .

이제 도2를 참조하면, 정상 메모리 셀(C0)은 라이트 가능하므로, 정상 메모리 셀(C0)에 대응하는 쉬프트 값(SHV)은 "0"으로 생성될 수 있다. 따라서, 외부 장치가 정상 메모리 셀(C0)에 저장하도록 지시한 데이터는 쉬프트 값(SHV) "0"에 근거하여 정상 메모리 셀(C0)에 그대로 저장될 수 있다. Referring now to FIG. 2 , since the normal memory cell C0 is writeable, a shift value SHV corresponding to the normal memory cell C0 may be generated as “0”. Accordingly, data instructed by the external device to be stored in the normal memory cell C0 may be directly stored in the normal memory cell C0 based on the shift value SHV of “0”.

결함 메모리 셀(C1)에 대응하는 쉬프트 값(SHV)은, 결함 메모리 셀(C1)보다 "1"만큼 뒤선 정상 메모리 셀(C2)이 라이트 가능하므로, "1"로 생성될 수 있다. 따라서, 외부 장치가 결함 메모리 셀(C1)에 저장하도록 지시한 데이터는 쉬프트 값(SHV) "1"에 근거하여 정상 메모리 셀(C2)에 저장될 수 있다.The shift value SHV corresponding to the defective memory cell C1 may be “1” because the normal memory cell C2 that follows the defective memory cell C1 by “1” is writeable. Accordingly, data instructed by the external device to be stored in the defective memory cell C1 may be stored in the normal memory cell C2 based on the shift value SHV of “1”.

정상 메모리 셀(C2)에 대응하는 쉬프트 값(SHV)은, 정상 메모리 셀(C2)보다 "1"만큼 뒤선 정상 메모리 셀(C3)이 라이트 가능하므로, "1"로 생성될 수 있다. 즉, 앞선 데이터가 일단 쉬프트되면 후속하는 데이터도 계속 쉬프트되어야 하므로, 외부 장치가 정상 메모리 셀(C2)에 저장하도록 지시한 데이터는 쉬프트 값(SHV) "1"에 근거하여 정상 메모리 셀(C3)에 저장될 수 있다.The shift value SHV corresponding to the normal memory cell C2 may be generated as “1” because the normal memory cell C3 that follows the normal memory cell C2 by “1” is writeable. That is, once the preceding data is shifted, subsequent data must also be shifted continuously, so the data instructed by the external device to be stored in the normal memory cell C2 is transmitted to the normal memory cell C3 based on the shift value SHV “1”. can be stored in

정상 메모리 셀(C3)에 대응하는 쉬프트 값(SHV)은, 정상 메모리 셀(C3)보다 "2"만큼 뒤선 정상 메모리 셀(C5)이 라이트 가능하므로, "2"로 생성될 수 있다. 즉, 외부 장치가 정상 메모리 셀(C3)에 저장하도록 지시한 데이터는 쉬프트 값(SHV) "2"에 근거하여 결함 메모리 셀(C4)을 건너 뛰고 정상 메모리 셀(C5)에 저장될 수 있다.The shift value SHV corresponding to the normal memory cell C3 may be generated as “2” because the normal memory cell C5 that follows the normal memory cell C3 by “2” is writeable. That is, data instructed by the external device to be stored in the normal memory cell C3 may be stored in the normal memory cell C5 by skipping the defective memory cell C4 based on the shift value SHV of “2”.

결함 메모리 셀(C4)에 대응하는 쉬프트 값(SHV)은, 결함 메모리 셀(C4)보다 "2"만큼 뒤선 정상 메모리 셀(C6)이 라이트 가능하므로, "2"로 생성될 수 있다. 따라서, 외부 장치가 결함 메모리 셀(C4)에 저장하도록 지시한 데이터는 쉬프트 값(SHV) "2"에 근거하여 정상 메모리 셀(C6)에 저장될 수 있다.The shift value SHV corresponding to the defective memory cell C4 may be “2” because the normal memory cell C6 that follows the defective memory cell C4 by “2” is writeable. Accordingly, data instructed by the external device to be stored in the defective memory cell C4 may be stored in the normal memory cell C6 based on the shift value SHV of “2”.

정상 메모리 셀(C5)에 대응하는 쉬프트 값(SHV)은, 정상 메모리 셀(C5)보다 "2"만큼 뒤선 정상 메모리 셀(C7)이 라이트 가능하므로, "2"로 생성될 수 있다. 따라서, 외부 장치가 정상 메모리 셀(C5)에 저장하도록 지시한 데이터는 쉬프트 값(SHV) "2"에 근거하여 정상 메모리 셀(C7)에 저장될 수 있다.The shift value SHV corresponding to the normal memory cell C5 may be generated as “2” because the normal memory cell C7 that follows the normal memory cell C5 by “2” is writeable. Accordingly, data instructed by the external device to be stored in the normal memory cell C5 may be stored in the normal memory cell C7 based on the shift value SHV of “2”.

정리하면, 소정 메인 메모리 셀에 대응하는 쉬프트 값(SHV)은, 외부 장치가 소정 메인 메모리 셀에 저장하도록 지시한 데이터가 소정 메인 메모리 셀로부터 실제로 저장되는 정상 메모리 셀까지 쉬프트되는 값일 수 있다. 따라서, 외부 장치가 소정 메인 메모리 셀에 저장하도록 지시한 데이터는 소정 메인 메모리 셀로부터 스페어 메모리 셀 방향으로 쉬프트 값(SHV)만큼 쉬프트된 정상 메모리 셀에 저장될 수 있다.In summary, the shift value SHV corresponding to the predetermined main memory cell may be a value in which data instructed by an external device to be stored in the predetermined main memory cell is shifted from the predetermined main memory cell to a normal memory cell where it is actually stored. Accordingly, data instructed by the external device to be stored in the predetermined main memory cell may be stored in the normal memory cell shifted by the shift value SHV from the predetermined main memory cell toward the spare memory cell.

도3은 도1의 쉬프트 값 생성부(122)의 동작 방법을 구체적으로 도시한 도면이다.FIG. 3 is a diagram specifically illustrating an operation method of the shift value generator 122 of FIG. 1 .

도3을 참조하면, 쉬프트 값 생성부(122)는 도1의 결함 정보 관리부(121)로부터 로우 어드레스(RA)에 대응하는 결함 정보(FINF), 즉, 결함 메모리 셀들의 컬럼 어드레스들(FA0~FA(n-1))을 수신할 수 있다. 또한, 쉬프트 값 생성부(122)는, 외부 장치가 라이트 동작을 수행하도록 지시한 소정 메인 메모리 셀의 컬럼 어드레스(CA)를 수신할 수 있다.Referring to FIG. 3 , the shift value generator 122 receives defect information FINF corresponding to the row address RA from the defect information manager 121 of FIG. 1 , that is, column addresses FA0 to FA0 of defective memory cells. FA(n-1)) may be received. Also, the shift value generator 122 may receive a column address CA of a predetermined main memory cell instructing an external device to perform a write operation.

쉬프트 값 생성부(122)는 단계들(S10~S14)에서, 소정 메인 메모리 셀의 컬럼 어드레스(CA)를 결함 메모리 셀들의 컬럼 어드레스들(FA0~FA(n-1))에 근거한 참조 컬럼 어드레스들과 비교함으로써, 소정 메인 메모리 셀에 대응하는 쉬프트 값(SHV)을 생성할 수 있다. 라이트 동작이 둘 이상의 메인 메모리 셀들에 대해 수행되도록 지시되었을 때, 쉬프트 값 생성부(122)는 해당 메인 메모리 셀들 각각에 대해 쉬프트 값(SHV)을 생성하기 위해서 도3에 도시된 절차를 반복적으로 수행할 수 있다. 단계들(S10~S14)에서 결함 메모리 셀들의 컬럼 어드레스들(FA0~FA(n-1))은 첫번째 결함 메모리 셀의 컬럼 어드레스(FA0)부터 마지막 결함 메모리 셀의 컬럼 어드레스(FA(n-1))까지 스페어 메모리 셀 방향에 따라 순차적으로 적용될 수 있다.In steps S10 to S14 , the shift value generator 122 converts the column address CA of the predetermined main memory cell to the reference column address based on the column addresses FA0 to FA(n-1) of the defective memory cells. A shift value SHV corresponding to a predetermined main memory cell may be generated by comparing the values. When a write operation is instructed to be performed on two or more main memory cells, the shift value generator 122 repeatedly performs the procedure shown in FIG. 3 to generate a shift value SHV for each of the corresponding main memory cells. can do. In steps S10 to S14 , the column addresses FA0 to FA(n-1) of the defective memory cells are determined from the column address FA0 of the first defective memory cell to the column address FA(n-1) of the last defective memory cell. )) may be sequentially applied according to the direction of the spare memory cell.

우선, 단계(S10)에서, 쉬프트 값 생성부(122)는 메인 메모리 셀의 컬럼 어드레스(CA)가 첫번째 참조 컬럼 어드레스, 즉, 첫번째 결함 메모리 셀의 컬럼 어드레스(FA0)보다 앞서는지를 결정하고, 결정한 결과에 따라 쉬프트 값(SHV)을 생성할 수 있다. 구체적으로, 메인 메모리 셀의 컬럼 어드레스(CA)가 첫번째 결함 메모리 셀의 컬럼 어드레스(FA0)보다 앞설 때, 쉬프트 값 생성부(122)는 쉬프트 값(SHV)을 "0"으로 생성할 수 있다. 그러나, 메인 메모리 셀의 컬럼 어드레스(CA)가 첫번째 결함 메모리 셀의 컬럼 어드레스(FA0)보다 앞서지 않을 때, 즉, 메인 메모리 셀의 컬럼 어드레스(CA)가 첫번째 결함 메모리 셀의 컬럼 어드레스(FA0)와 같거나 뒤설 때, 절차는 단계(S11)로 이동할 수 있다.First, in step S10 , the shift value generator 122 determines whether the column address CA of the main memory cell precedes the first reference column address, ie, the column address FA0 of the first defective memory cell, and determines A shift value SHV may be generated according to the result. Specifically, when the column address CA of the main memory cell precedes the column address FA0 of the first defective memory cell, the shift value generator 122 may generate the shift value SHV as “0”. However, when the column address CA of the main memory cell does not precede the column address FA0 of the first defective memory cell, that is, the column address CA of the main memory cell is equal to the column address FA0 of the first defective memory cell. When equal or behind, the procedure may move to step S11.

단계(S11)에서, 쉬프트 값 생성부(122)는 메인 메모리 셀의 컬럼 어드레스(CA)가 두번째 참조 컬럼 어드레스(FA1-1)보다 앞서는지를 결정하고, 결정한 결과에 따라 쉬프트 값(SHV)을 생성할 수 있다. 두번째 참조 컬럼 어드레스(FA1-1)는 두번째 결함 메모리 셀의 컬럼 어드레스(FA1)보다 "1"만큼 앞선 컬럼 어드레스일 수 있다. 구체적으로, 메인 메모리 셀의 컬럼 어드레스(CA)가 두번째 참조 컬럼 어드레스(FA1-1)보다 앞설 때, 쉬프트 값 생성부(122)는 쉬프트 값(SHV)을 "1"로 생성할 수 있다. 그러나, 메인 메모리 셀의 컬럼 어드레스(CA)가 두번째 참조 컬럼 어드레스(FA1-1)보다 앞서지 않을 때, 즉, 메인 메모리 셀의 컬럼 어드레스(CA)가 두번째 참조 컬럼 어드레스(FA1-1)와 같거나 뒤설 때, 절차는 그 다음 단계로 이동할 수 있다.In step S11 , the shift value generator 122 determines whether the column address CA of the main memory cell precedes the second reference column address FA1-1, and generates a shift value SHV according to the determined result. can do. The second reference column address FA1-1 may be a column address preceding the column address FA1 of the second defective memory cell by “1”. Specifically, when the column address CA of the main memory cell precedes the second reference column address FA1-1, the shift value generator 122 may generate the shift value SHV as “1”. However, when the column address CA of the main memory cell does not precede the second reference column address FA1-1, that is, the column address CA of the main memory cell is equal to the second reference column address FA1-1, or In case of a turn, the procedure may move to the next step.

이러한 절차는 마지막 결함 메모리 셀의 컬럼 어드레스(FA(n-1))까지 반복될 수 있다. 구체적으로, 중간의 어떤 단계(S12)에서, 쉬프트 값 생성부(122)는 메인 메모리 셀의 컬럼 어드레스(CA)가 "i"번째 참조 컬럼 어드레스(FA(i-1)-(i-1))보다 앞서는지를 결정하고, 결정한 결과에 따라 쉬프트 값(SHV)을 생성할 수 있다. "i"번째 참조 컬럼 어드레스(FA(i-1)-(i-1))는 "i"번째 결함 메모리 셀의 컬럼 어드레스(FA(i-1))보다 "i-1"만큼 앞선 컬럼 어드레스일 수 있다. 구체적으로, 메인 메모리 셀의 컬럼 어드레스(CA)가 "i"번째 참조 컬럼 어드레스(FA(i-1)-(i-1))보다 앞설 때, 쉬프트 값 생성부(122)는 쉬프트 값(SHV)을 "i-1"로 생성할 수 있다. 그러나, 메인 메모리 셀의 컬럼 어드레스(CA)가 "i"번째 참조 컬럼 어드레스(FA(i-1)-(i-1))보다 앞서지 않을 때, 즉, 메인 메모리 셀의 컬럼 어드레스(CA)가 "i"번째 참조 컬럼 어드레스(FA(i-1)-(i-1))와 같거나 뒤설 때, 절차는 그 다음 단계(S13)로 이동할 수 있다.This procedure may be repeated until the column address FA(n-1) of the last defective memory cell. Specifically, in a certain intermediate step ( S12 ), the shift value generator 122 determines that the column address CA of the main memory cell is the “i”-th reference column address FA(i-1)-(i-1). ), and may generate a shift value SHV according to the determined result. The "i"-th reference column address FA(i-1)-(i-1)) is a column address preceding the column address FA(i-1) of the "i"-th defective memory cell by "i-1" can be Specifically, when the column address CA of the main memory cell precedes the "i"-th reference column address FA(i-1)-(i-1), the shift value generator 122 generates the shift value SHV ) can be created as "i-1". However, when the column address CA of the main memory cell does not precede the "i"-th reference column addresses FA(i-1)-(i-1), that is, the column address CA of the main memory cell When the "i"-th reference column address is equal to or behind the FA(i-1)-(i-1)), the procedure may move to the next step S13.

단계(S13)에서, 쉬프트 값 생성부(122)는 메인 메모리 셀의 컬럼 어드레스(CA)가 "i+1"번째 참조 컬럼 어드레스(FAi-i)보다 앞서는지를 결정하고, 결정한 결과에 따라 쉬프트 값(SHV)을 생성할 수 있다. "i+1"번째 참조 컬럼 어드레스(FAi-i)는 "i+1"번째 결함 메모리 셀의 컬럼 어드레스(FAi)보다 "i"만큼 앞선 컬럼 어드레스일 수 있다. 구체적으로, 메인 메모리 셀의 컬럼 어드레스(CA)가 "i+1"번째 참조 컬럼 어드레스(FAi-i)보다 앞설 때, 쉬프트 값 생성부(122)는 쉬프트 값(SHV)을 "i"로 생성할 수 있다. 그러나, 메인 메모리 셀의 컬럼 어드레스(CA)가 "i+1"번째 참조 컬럼 어드레스(FAi-i)보다 앞서지 않을 때, 즉, 메인 메모리 셀의 컬럼 어드레스(CA)가 "i+1"번째 참조 컬럼 어드레스(FAi-i)와 같거나 뒤설 때, 절차는 그 다음 단계로 이동할 수 있다.In step S13 , the shift value generator 122 determines whether the column address CA of the main memory cell precedes the “i+1”-th reference column address FAi-i, and the shift value according to the determined result (SHV) can be created. The "i+1"th reference column address FAi-i may be a column address preceding the column address FAi of the "i+1"th defective memory cell by "i". Specifically, when the column address CA of the main memory cell precedes the “i+1”-th reference column address FAi-i, the shift value generator 122 generates the shift value SHV as “i”. can do. However, when the column address CA of the main memory cell does not precede the "i+1"-th reference column address FAi-i, that is, the column address CA of the main memory cell is the "i+1"-th reference column address. When it is equal to or after the column address FAi-i, the procedure can move to the next step.

절차가 계속되어 마지막 단계(S14)에 도달하면, 쉬프트 값 생성부(122)는 메인 메모리 셀의 컬럼 어드레스(CA)가 "n"번째 참조 컬럼 어드레스(FA(n-1)-(n-1))보다 앞서는지를 결정하고, 결정한 결과에 따라 쉬프트 값(SHV)을 생성할 수 있다. "n"번째 참조 컬럼 어드레스(FA(n-1)-(n-1))는 마지막 "n"번째 결함 메모리 셀의 컬럼 어드레스(FA(n-1))보다 "n-1"만큼 앞선 컬럼 어드레스일 수 있다. 구체적으로, 메인 메모리 셀의 컬럼 어드레스(CA)가 "n"번째 참조 컬럼 어드레스(FA(n-1)-(n-1))보다 앞설 때, 쉬프트 값 생성부(122)는 쉬프트 값(SHV)을 "n-1"로 생성할 수 있다. 그러나, 메인 메모리 셀의 컬럼 어드레스(CA)가 "n"번째 참조 컬럼 어드레스(FA(n-1)-(n-1))보다 앞서지 않을 때, 즉, 메인 메모리 셀의 컬럼 어드레스(CA)가 "n"번째 참조 컬럼 어드레스(FA(n-1)-(n-1))와 같거나 뒤설 때, 쉬프트 값 생성부(122)는 쉬프트 값(SHV)을 "n"으로 생성할 수 있다.When the procedure continues and the final step S14 is reached, the shift value generator 122 determines that the column address CA of the main memory cell is the "n"th reference column address FA(n-1)-(n-1). )), and may generate a shift value (SHV) according to the determined result. The "n"th reference column address FA(n-1)-(n-1)) is a column preceding the column address FA(n-1) of the last "n"th defective memory cell by "n-1" It can be an address. Specifically, when the column address CA of the main memory cell precedes the "n"-th reference column address FA(n-1)-(n-1), the shift value generator 122 generates the shift value SHV ) can be created as "n-1". However, when the column address CA of the main memory cell does not precede the "n"-th reference column addresses FA(n-1)-(n-1), that is, the column address CA of the main memory cell When it is equal to or behind the "n"th reference column address FA(n-1)-(n-1), the shift value generator 122 may generate the shift value SHV as "n".

정리하면, 소정 메인 메모리 셀에 대응하는 쉬프트 값(SHV)은, 이전 메인 메모리 셀에 대응하는 쉬프트 값(SHV)을 유지하되, 유지된 쉬프트 값(SHV)에 의해 결함 메모리 셀로 쉬프트되는 경우라면 "1"만큼 더 증가됨으로써 생성될 수 있다. 또한, 쉬프트 값 생성부(122)는 도3에 도시된 절차에 따라, 어떤 메인 메모리 셀이 랜덤 액세스되더라도 해당 메인 메모리 셀에 대응하는 쉬프트 값(SHV)을 생성할 수 있다. 결과적으로, 외부 장치가 어떤 메인 메모리 셀에 라이트하도록 지시한 데이터는 결함 메모리 셀들을 회피하여 정상 메모리 셀에 라이트될 수 있다.In summary, if the shift value SHV corresponding to a predetermined main memory cell maintains the shift value SHV corresponding to the previous main memory cell, but is shifted to the defective memory cell by the maintained shift value SHV, can be created by incrementing further by 1". Also, according to the procedure illustrated in FIG. 3 , the shift value generator 122 may generate a shift value SHV corresponding to a corresponding main memory cell even if any main memory cell is randomly accessed. As a result, data instructed by an external device to be written to a certain main memory cell can be written to a normal memory cell while avoiding defective memory cells.

도4는 본 발명의 실시 예에 따른 반도체 장치(200)를 간략하게 도시한 블록도이다.4 is a block diagram schematically illustrating a semiconductor device 200 according to an embodiment of the present invention.

도4를 참조하면, 반도체 장치(200)는 메모리 영역(210) 및 제어부(220)를 포함할 수 있다. 메모리 영역(210)은 도1의 메모리 영역(110)과 동일하게 구성될 수 있다.Referring to FIG. 4 , the semiconductor device 200 may include a memory area 210 and a controller 220 . The memory area 210 may have the same configuration as the memory area 110 of FIG. 1 .

제어부(220)는 외부 장치로부터 메인 메모리 셀들(MC0~MCm)의 로우 어드레스(RA) 및 컬럼 어드레스(CA)에 대해 제1 데이터(DATA1)의 라이트 요청을 수신하면, 메인 메모리 셀들(MC0~MCm)에 포함된 결함 메모리 셀들을 회피하기 위해 메인 메모리 셀들(MC0~MCm)에 대응하는 쉬프트 값들(SHV)에 근거하여 제1 데이터(DATA1)로부터 제2 데이터(DATA2)를 생성하고 제2 데이터(DATA2)를 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)에 저장할 수 있다. 또한, 제어부(220)는 외부 장치로부터 메인 메모리 셀들(MC0~MCm)의 로우 어드레스(RA) 및 컬럼 어드레스들(CA)에 대해 제1 데이터(DATA1)의 리드 요청을 수신하면, 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)로부터 제2 데이터(DATA2)를 리드하고, 메인 메모리 셀들(MC0~MCm)에 대응하는 쉬프트 값들(SHV)에 근거하여 제2 데이터(DATA2)로부터 제1 데이터(DATA1)를 복구할 수 있다. When the controller 220 receives a write request for the first data DATA1 with respect to the row address RA and the column address CA of the main memory cells MC0 to MCm from the external device, the control unit 220 receives a write request for the main memory cells MC0 to MCm. ), the second data DATA2 is generated from the first data DATA1 based on shift values SHV corresponding to the main memory cells MC0 to MCm, and the second data DATA2 is DATA2) may be stored in the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs. Also, when receiving a read request of the first data DATA1 for the row address RA and the column addresses CA of the main memory cells MC0 to MCm from the external device, the controller 220 receives a read request from the main memory cells MC0 to MCm. The second data DATA2 is read from the MC0 to MCm and the spare memory cells SC0 to SCs, and the second data DATA2 is read from the second data DATA2 based on the shift values SHV corresponding to the main memory cells MC0 to MCm. The first data DATA1 may be recovered.

정리하면, 제어부(220)는 외부 장치로부터 전송된 제1 데이터(DATA1)를 메인 메모리 셀들(MC0~MCm)에 포함된 결함 메모리 셀들을 회피하여 정상 메모리 셀들에 저장하기 위해 제2 데이터(DATA2)로 재배치함으로써, 실질적으로 제2 데이터(DATA2)를 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)에 라이트할 수 있다. 즉, 제2 데이터(DATA2)는 제1 데이터(DATA1)의 비트들이 정상 메모리 셀들의 위치에 재배치됨으로써 생성될 수 있다. 그리고, 제2 데이터(DATA2)는 결함 메모리 셀들의 위치에 삽입된 더미 비트들을 포함할 수 있다. In summary, the controller 220 stores the first data DATA1 transmitted from the external device in the normal memory cells by avoiding defective memory cells included in the main memory cells MC0 to MCm to store the second data DATA2 . By relocating to , the second data DATA2 may be substantially written to the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs. That is, the second data DATA2 may be generated by rearranging bits of the first data DATA1 to positions of normal memory cells. In addition, the second data DATA2 may include dummy bits inserted at positions of defective memory cells.

제어부(220)는 결함 정보 관리부(221), 쉬프트 값 생성부(222), 벡터 생성부(223), 인코더(224) 및 디코더(225)를 포함할 수 있다. 결함 정보 관리부(221) 및 쉬프트 값 생성부(222)는 도1에 도시된 결함 정보 관리부(121) 및 쉬프트 값 생성부(122)와 동일하게 구성되고 동작할 수 있으므로 상세한 설명은 생략될 것이다.The controller 220 may include a defect information manager 221 , a shift value generator 222 , a vector generator 223 , an encoder 224 , and a decoder 225 . The defect information manager 221 and the shift value generator 222 may be configured and operated in the same manner as the defect information manager 121 and the shift value generator 122 shown in FIG. 1 , and thus detailed descriptions thereof will be omitted.

벡터 생성부(223)는, 라이트 동작이 수행될 때, 쉬프트 값 생성부(222)에 의해 생성된 메인 메모리 셀들(MC0~MCm)에 대응하는 쉬프트 값들(SHV)에 근거하여 하나 이상의 인코딩 벡터들(EV)을 생성할 수 있다. 인코딩 벡터들(EV)은 제2 데이터(DATA2)가 저장될 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs)에 각각 대응할 수 있다. 인코딩 벡터(EV)들 각각은 대응하는 메모리 셀에 저장될 제2 데이터(DATA2)의 비트를 생성하기 위해서, 인코더(224)에 의해 사용될 수 있다. 벡터 생성부(223)의 인코딩 벡터(EV)의 생성 방법은 도5를 참조하여 상세하게 설명될 것이다. The vector generator 223 may select one or more encoding vectors based on shift values SHV corresponding to the main memory cells MC0 to MCm generated by the shift value generator 222 when a write operation is performed. (EV) can be created. The encoding vectors EV may respectively correspond to the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs in which the second data DATA2 is to be stored. Each of the encoding vectors EV may be used by the encoder 224 to generate a bit of the second data DATA2 to be stored in a corresponding memory cell. A method of generating the encoding vector EV by the vector generator 223 will be described in detail with reference to FIG. 5 .

인코더(224)는 인코딩 벡터들(EV)에 근거하여 제1 데이터(DATA1)로부터 제2 데이터(DATA2)를 생성할 수 있다. 특히, 인코더(224)는 제2 데이터(DATA2)의 하나 이상의 비트들을 병렬적으로 생성할 수 있다. 인코더(224)의 동작 방법은 도6을 참조하여 상세하게 설명될 것이다.The encoder 224 may generate the second data DATA2 from the first data DATA1 based on the encoding vectors EV. In particular, the encoder 224 may generate one or more bits of the second data DATA2 in parallel. An operation method of the encoder 224 will be described in detail with reference to FIG.

또한, 벡터 생성부(223)는 리드 동작이 수행될 때, 쉬프트 값 생성부(222)에 의해 생성된 메인 메모리 셀들(MC0~MCm)에 대응하는 쉬프트 값들(SHV)에 근거하여 하나 이상의 디코딩 벡터들(DV)을 생성할 수 있다. 디코딩 벡터들(DV)은, 외부 장치가 제1 데이터(DATA1)를 리드하도록 지시한 메인 메모리 셀들(MC0~MCm)에 각각 대응할 수 있다. 디코딩 벡터들(DV) 각각은 대응하는 메인 메모리 셀에 저장되도록 지시되었었던 제1 데이터(DATA1)의 비트를 복구하기 위해서, 디코더(225)에 의해 사용될 수 있다. 벡터 생성부(223)의 디코딩 벡터(DV)의 생성 방법은 도7을 참조하여 상세하게 설명될 것이다.Also, when a read operation is performed, the vector generator 223 may be configured to perform one or more decoding vectors based on shift values SHV corresponding to the main memory cells MC0 to MCm generated by the shift value generator 222 . DVs can be created. The decoding vectors DV may respectively correspond to the main memory cells MC0 to MCm instructed by the external device to read the first data DATA1 . Each of the decoding vectors DV may be used by the decoder 225 to recover a bit of the first data DATA1 that has been instructed to be stored in a corresponding main memory cell. A method of generating the decoded vector DV by the vector generator 223 will be described in detail with reference to FIG. 7 .

디코더(225)는 디코딩 벡터들(DV)에 근거하여 제2 데이터(DATA2)로부터 제1 데이터(DATA1)를 복구할 수 있다. 특히, 디코더(225)는 제1 데이터(DATA1)의 비트들을 병렬적으로 복구할 수 있다. 디코더(225)의 동작 방법은 도8을 참조하여 상세하게 설명될 것이다.The decoder 225 may recover the first data DATA1 from the second data DATA2 based on the decoding vectors DV. In particular, the decoder 225 may recover bits of the first data DATA1 in parallel. An operation method of the decoder 225 will be described in detail with reference to FIG. 8 .

도5는 도4의 벡터 생성부(223)가 인코딩 벡터들(EV0~EV7)을 생성하는 방법을 예시적으로 설명하기 위한 도면이다. 도5는, 예를 들어, 외부 장치가 메인 메모리 셀들(C0~C5)에 대한 제1 데이터(DATA1)의 라이트 동작을 지시하였을 때, 도2를 참조하여 생성된 메모리 셀들(C0~C5)에 각각 대응하는 쉬프트 값들(SHV)에 근거하여 메모리 셀들(C0~C7)에 각각 대응하는 인코딩 벡터들(EV0~EV7)이 생성되는 과정을 도시한다.FIG. 5 is a diagram for exemplarily explaining a method of generating the encoding vectors EV0 to EV7 by the vector generator 223 of FIG. 4 . FIG. 5 shows, for example, the memory cells C0 to C5 generated with reference to FIG. 2 when the external device instructs the write operation of the first data DATA1 to the main memory cells C0 to C5. A process in which encoding vectors EV0 to EV7 respectively corresponding to the memory cells C0 to C7 are generated based on the respective shift values SHV is illustrated.

도5를 설명하기 전에 우선, 단일의 로우 어드레스(RA)에 대해 "s"개의 스페어 메모리 셀들이 존재한다면 "s"개의 결함 메모리 셀들이 허용될 것이다. 그리고, 단일의 로우 어드레스(RA)에 대해 "s"개의 스페어 메모리 셀들이 존재한다면, 즉, 최대 "s"개의 결함 메모리 셀들이 존재한다면 쉬프트 값(SHV)은 최대 "s"로 생성될 수 있다.5. First, if there are "s" spare memory cells for a single row address RA, "s" defective memory cells will be allowed. And, if there are “s” number of spare memory cells for a single row address RA, that is, if there are a maximum of “s” number of defective memory cells, the shift value SHV may be generated with a maximum of “s”. .

이때, 단일의 로우 어드레스(RA)에 대해 "s"개의 스페어 메모리 셀들이 존재할 때, 어떤 단일의 인코딩 벡터는 "s+1"개의 벡터 성분들을 포함할 수 있다. 이하에서는 로우 어드레스(RA)에 대해 "2"개의 스페어 메모리 셀들이 존재하는 것으로 가정될 것이고, 따라서, 인코딩 벡터들(EV0~EV7) 각각은 "3"개의 벡터 성분들을 포함할 수 있다. 그리고, 소정 쉬프트 값(SHV)은 인코딩 벡터의 소정 값에 대응할 수 있다. 예를 들어, 쉬프트 값(SHV) "0"은 인코딩 벡터 "001"에 대응하고 쉬프트 값(SHV) "1"은 인코딩 벡터 "010"에 대응하고, 쉬프트 값(SHV) "2"는 인코딩 벡터 "100"에 대응할 수 있다. In this case, when “s” number of spare memory cells exist for a single row address RA, a single encoding vector may include “s+1” number of vector elements. Hereinafter, it will be assumed that there are “2” spare memory cells for the row address RA, and therefore, each of the encoding vectors EV0 to EV7 may include “3” vector elements. In addition, the predetermined shift value SHV may correspond to a predetermined value of the encoding vector. For example, a shift value (SHV) “0” corresponds to the encoding vector “001”, a shift value (SHV) “1” corresponds to the encoding vector “010”, and a shift value (SHV) “2” corresponds to the encoding vector “001”. It can correspond to "100".

한편, 메모리 셀들(C0~C5)에 대응하는 쉬프트 값들(SHV) 중 제일 앞선 메인 메모리 셀(C0)에 대응하는 쉬프트 값(SHV)은 제1 데이터(DATA1)의 시작 비트, 즉, 최하위 비트가 제2 데이터(DATA2)의 시작 비트로서 재배치되는 위치를 가리킬 수 있다. 현재, 메모리 셀(C0)에 대응하는 쉬프트 값(SHV)이 "0"이므로, 제1 데이터(DATA1)의 시작 비트는 쉬프트되지 않고 메모리 셀(C0)에 그대로 저장될 수 있고, 메모리 셀(C0)은 제2 데이터(DATA2)의 라이트 동작의 시작 메모리 셀이 될 수 있다.Meanwhile, among the shift values SHV corresponding to the memory cells C0 to C5 , the shift value SHV corresponding to the first main memory cell C0 is the start bit of the first data DATA1 , that is, the least significant bit. As a start bit of the second data DATA2 , it may indicate a rearranged position. Currently, since the shift value SHV corresponding to the memory cell C0 is “0”, the start bit of the first data DATA1 is not shifted and may be stored in the memory cell C0 as it is, and the memory cell C0 ) may be a start memory cell of a write operation of the second data DATA2 .

이러한 상황에서, 각각의 쉬프트 값들(SHV)에 대응하는 인코딩 벡터들(EV0, EV2, EV3, EV5~EV7)이 결함 메모리 셀들(C1, C4)을 건너 뛰고 시작 메모리 셀(C0)부터 정상 메모리 셀들(C0, C2, C3, C5~C7)에 순차적으로 대응될 수 있다. 그리고, 결함 메모리 셀들(C1, C4)은 임의의 더미 인코딩 벡터들(EV1, EV4)에 대응될 수 있다. 더미 인코딩 벡터들(EV1, EV4)이 삽입되는 위치는 인코딩 벡터들(EV0, EV2, EV3, EV5~EV7) 중 서로 다른 값들을 가진 연속된 인코딩 벡터들의 사이, 예를 들어, "001"과 "010"을 가진 연속된 인코딩 벡터들(EV0, EV2) 및 "010" 및 "100"을 가진 연속된 인코딩 벡터들(EV3, EV5) 사이일 수 있다. 더미 인코딩 벡터들(EV1, EV4) 각각은, 도시된 바와 같이 예를 들어, 직전에 배치된 인코딩 벡터가 중복될 수 있다. 그러나, 더미 인코딩 벡터들(EV1, EV4)은 후술될 바와 같이, 결함 메모리 셀들(C1, C4)에 저장될 더미 비트들을 선택하기 위해 사용되는 것이므로 이와 다른 값으로 생성될 수도 있다.In this situation, the encoding vectors EV0, EV2, EV3, EV5 to EV7 corresponding to the respective shift values SHV skip the defective memory cells C1 and C4, and start the normal memory cells from the start memory cell C0. (C0, C2, C3, C5 to C7) may be sequentially corresponding. In addition, the defective memory cells C1 and C4 may correspond to arbitrary dummy encoding vectors EV1 and EV4. A position at which the dummy encoding vectors EV1 and EV4 are inserted is between consecutive encoding vectors having different values among the encoding vectors EV0, EV2, EV3, and EV5 to EV7, for example, "001" and " between the consecutive encoding vectors EV0, EV2 with 010" and the continuous encoding vectors EV3, EV5 with "010" and "100". As illustrated in each of the dummy encoding vectors EV1 and EV4, for example, an encoding vector disposed immediately before may be overlapped. However, since the dummy encoding vectors EV1 and EV4 are used to select dummy bits to be stored in the defective memory cells C1 and C4, as will be described later, they may be generated with different values.

결국, 인코딩 벡터들(EV0~EV7)은 메모리 셀들(C0~C5)의 개수와 메모리 셀들(C0~C5)에 포함된 결함 메모리 셀들(C1, C4)의 개수의 합만큼 생성될 수 있다. 즉, 인코딩 벡터들(EV0~EV7)은, 외부 장치가 라이트 동작을 지시한 메모리 셀들(C0~C5)뿐만 아니라 결함 메모리 셀들(C1, C4)을 보충할 메모리 셀들(C6, C7)에 대해서도 생성될 수 있다. 도6에서 자세하게 살펴볼 바와 같이 인코딩 벡터들(EV0~EV7) 각각은 대응하는 메모리 셀에 저장될 제2 데이터(DATA2)의 비트를 제1 데이터(DATA1)로부터 선택하기 위해 사용될 수 있다.As a result, the encoding vectors EV0 to EV7 may be generated by the sum of the number of the memory cells C0 to C5 and the number of defective memory cells C1 and C4 included in the memory cells C0 to C5 . That is, the encoding vectors EV0 to EV7 are generated not only for the memory cells C0 to C5 to which the external device has instructed the write operation, but also for the memory cells C6 and C7 to supplement the defective memory cells C1 and C4. can be As will be described in detail with reference to FIG. 6 , each of the encoding vectors EV0 to EV7 may be used to select a bit of the second data DATA2 to be stored in a corresponding memory cell from the first data DATA1 .

도6은 도4의 인코더(224)가 제1 데이터(DATA1)에 근거하여 제2 데이터(DATA2)를 생성하는 방법을 예시적으로 설명하기 위한 도면이다. 도6은, 외부 장치가 메모리 셀들(C0~C5)에 대한 제1 데이터(DATA1)의 라이트 동작을 지시하였을 때, 제1 데이터(DATA1) 및 도5에서 생성된 인코딩 벡터들(EV0~EV7)에 근거하여 제2 데이터(DATA2)가 생성되고, 제2 데이터(DATA2)가 메모리 셀들(C0~C7)에 실제로 라이트되는 과정을 도시한다. 제2 데이터(DATA2)가 메모리 셀들(C0~C7)에 라이트된 결과, 제1 데이터(DATA1)의 비트들(b0~b5)은 결함 메모리 셀들을 회피하고 정상 메모리 셀들에 저장될 수 있다.FIG. 6 is a diagram for exemplarily explaining a method in which the encoder 224 of FIG. 4 generates the second data DATA2 based on the first data DATA1 . 6 shows the first data DATA1 and the encoding vectors EV0 to EV7 generated in FIG. 5 when the external device instructs the write operation of the first data DATA1 to the memory cells C0 to C5. A process in which the second data DATA2 is generated based on , and the second data DATA2 is actually written to the memory cells C0 to C7 is illustrated. As a result of writing the second data DATA2 to the memory cells C0 to C7 , the bits b0 to b5 of the first data DATA1 may avoid defective memory cells and be stored in normal memory cells.

도6을 참조하면, 인코더(224)는 제1 데이터(DATA1) 및 인코딩 벡터들(EV0~EV7)에 근거하여 제2 데이터(DATA2)의 비트들을 병렬적으로 생성할 수 있다. Referring to FIG. 6 , the encoder 224 may generate bits of the second data DATA2 in parallel based on the first data DATA1 and the encoding vectors EV0 to EV7 .

우선, 인코더(224)는 제1 데이터(DATA1)에 근거하여, 인코딩 비트 그룹들(EG0~EG7)을 생성할 수 있다. 인코딩 비트 그룹들(EG0~EG7)은 제2 데이터(DATA2)가 라이트될 메모리 셀들(C0~C7)에 각각 대응할 수 있다. 결국, 인코딩 비트 그룹들(EG0~EG7)은 인코딩 벡터들(EV0~EV7)과 동일한 개수만큼 생성되고 인코딩 벡터들(EV0~EV7)과 각각 대응할 수 있다.First, the encoder 224 may generate the encoding bit groups EG0 to EG7 based on the first data DATA1 . The encoding bit groups EG0 to EG7 may respectively correspond to the memory cells C0 to C7 to which the second data DATA2 is to be written. As a result, the encoding bit groups EG0 to EG7 may be generated by the same number as the encoding vectors EV0 to EV7 and may respectively correspond to the encoding vectors EV0 to EV7.

인코딩 비트 그룹들(EG0~EG7)은 결함 메모리 셀들의 존재나 위치와는 무관하게 제1 데이터(DATA1)만 수신하면 소정 규칙에 따라 생성될 수 있다. 우선, 단일의 로우 어드레스(RA)에 대해 "s"개의 스페어 메모리 셀들이 존재할 때, 어떤 단일의 인코딩 비트 그룹은 "s+1"개의 비트 성분들을 포함할 수 있다. 도5에서 가정한 바와 같이 로우 어드레스(RA)에 대해 "2"개의 스페어 메모리 셀들이 존재하는 것으로 가정하였으므로, 인코딩 비트 그룹들(EG0~EG7) 각각은 "3"개의 비트 성분들을 포함할 수 있다.The encoding bit groups EG0 to EG7 may be generated according to a predetermined rule when only the first data DATA1 is received regardless of the presence or location of defective memory cells. First, when there are “s” spare memory cells for a single row address RA, any single encoding bit group may include “s+1” bit components. As it is assumed in FIG. 5 that "2" spare memory cells exist for the row address RA, each of the encoding bit groups EG0 to EG7 may include "3" bit components. .

인코딩 비트 그룹들(EG0~EG7) 각각에 포함된 비트 성분들은, 제1 데이터(DATA1)의 비트들(b0~b5) 중에서 선택된 하나 이상의 후보 비트 성분들을 포함할 수 있다. 구체적으로, 인코딩 비트 그룹들(EG0~EG7) 각각에 포함된 후보 비트 성분들은, 대응하는 메모리 셀이 정상 메모리 셀이라면 제1 데이터(DATA1)의 비트들(b0~b5) 중에서 대응하는 메모리 셀에 저장될 가능성이 있는 비트들일 수 있다. 일부 인코딩 비트 그룹들(EG0, EG1, EG6, EG7)은 "3"개 미만의 후보 비트 성분들을 포함할 수 있고, 이러한 경우 더미 비트 성분, 예를 들어, "0"을 포함할 수 있다.Bit components included in each of the encoding bit groups EG0 to EG7 may include one or more candidate bit components selected from bits b0 to b5 of the first data DATA1 . Specifically, the candidate bit components included in each of the encoding bit groups EG0 to EG7 are stored in the corresponding memory cell among the bits b0 to b5 of the first data DATA1 if the corresponding memory cell is a normal memory cell. It may be bits that are likely to be stored. Some encoding bit groups EG0, EG1, EG6, EG7 may include fewer than “3” candidate bit components, and in this case may include a dummy bit component, for example, “0”.

예를 들어, 제1 데이터(DATA1)의 비트들(b0~b5) 중에서 메모리 셀(C0)에 저장될 가능성이 있는 비트는 비트(b0)뿐일 것이다. 즉, 메모리 셀(C0)이 정상 메모리 셀일 경우 비트(b0)는 메모리 셀(C0)에 저장될 수 있다. 따라서, 메모리 셀(C0)에 대응하는 인코딩 비트 그룹(EG0)은 후보 비트 성분(b0) 및 더미 비트 성분들로서 2개의 "0"들을 포함할 수 있다.For example, among the bits b0 to b5 of the first data DATA1 , only the bit b0 is likely to be stored in the memory cell C0 . That is, when the memory cell C0 is a normal memory cell, the bit b0 may be stored in the memory cell C0. Accordingly, the encoding bit group EG0 corresponding to the memory cell C0 may include two “0s” as candidate bit components b0 and dummy bit components.

그리고, 제1 데이터(DATA1)의 비트들(b0~b5) 중에서 메모리 셀(C1)에 저장될 가능성이 있는 비트들은 비트들(b0, b1)일 것이다. 즉, 메모리 셀(C0)이 결함 메모리 셀일 경우 비트(b0)가 메모리 셀(C1)에 저장될 수 있고, 메모리 셀들(C0, C1)이 모두 정상 메모리 셀일 경우 비트(b1)가 메모리 셀(C1)에 저장될 수 있다. 따라서, 메모리 셀(C1)에 대응하는 인코딩 비트 그룹(EG1)은 후보 비트 성분들(b0, b1) 및 더미 비트 성분으로서 1개의 "0"을 포함할 수 있다. Also, among the bits b0 to b5 of the first data DATA1 , bits that are likely to be stored in the memory cell C1 may be bits b0 and b1 . That is, when the memory cell C0 is a defective memory cell, the bit b0 may be stored in the memory cell C1 , and when the memory cells C0 and C1 are all normal memory cells, the bit b1 is stored in the memory cell C1 . ) can be stored in Accordingly, the encoding bit group EG1 corresponding to the memory cell C1 may include the candidate bit components b0 and b1 and one “0” as the dummy bit component.

그리고, 제1 데이터(DATA1)의 비트들(b0~b5) 중에서 메모리 셀(C7)에 저장될 가능성이 있는 비트는 비트(b5)뿐일 것이다. 즉, 가정한 바와 같이 2개의 결함 메모리 셀들까지 허용되는 상태에서, 메모리 셀들(C0~C5)이 2개의 결함 메모리 셀들을 포함할 경우 비트(b5)는 메모리 셀(C7)에 저장될 수 있다. 따라서, 메모리 셀(C7)에 대응하는 인코딩 비트 그룹(EG7)은 후보 비트 성분(b5) 및 더미 비트 성분으로서 2개의 "0"들을 포함할 수 있다. And, among the bits b0 to b5 of the first data DATA1 , only the bit b5 is likely to be stored in the memory cell C7 . That is, in a state where up to two defective memory cells are allowed as assumed, when the memory cells C0 to C5 include two defective memory cells, the bit b5 may be stored in the memory cell C7 . Accordingly, the encoding bit group EG7 corresponding to the memory cell C7 may include two “0s” as a candidate bit component b5 and a dummy bit component.

즉, 본 발명은 이러한 가능성을 고려하여 인코딩 비트 그룹들(EG0~EG7)의 후보 비트 성분들을 일괄적으로 생성한 뒤, 결함 메모리 셀들(C1, C4)의 실제 위치가 반영된 인코딩 벡터들(EV0~EV7)에 근거하여 후보 비트 성분들 중 어느 하나를 선택할 수 있다. 나머지 메모리 셀들(C2~C6)에 대응하는 인코딩 비트 그룹들(EG2~EG6)을 생성하는 방법은 상술한 규칙에 따라 통상의 기술자 입장에서 용이하게 적용할 수 있으므로 상세한 설명이 생략될 것이다.That is, the present invention collectively generates the candidate bit components of the encoding bit groups EG0 to EG7 in consideration of this possibility, and then the encoding vectors EV0 to EV0 to which the actual positions of the defective memory cells C1 and C4 are reflected. EV7), any one of the candidate bit components may be selected. A method of generating the encoding bit groups EG2 to EG6 corresponding to the remaining memory cells C2 to C6 can be easily applied to a person skilled in the art according to the above-described rule, and thus a detailed description thereof will be omitted.

또한, 인코딩 비트 그룹들(EG0~EG7) 각각에서 후보 비트 성분들은 소정 방식에 따라 정렬될 수 있다. 예를 들어, 어떤 단일의 인코딩 비트 그룹에 포함된 후보 비트 성분들은 제1 데이터(DATA1)에서 상위 비트일수록 인코딩 비트 그룹에서 하위 후보 비트 성분으로서 정렬되고, 더미 비트 성분인 "0"들은 인코딩 비트 그룹의 나머지 위치들에 정렬될 수 있다. 예를 들어, 인코딩 비트 그룹(EG0)에서, 후보 비트 성분(b0)은 최하위 비트 성분이 되고, "0"들은 나머지 위치들에 정렬될 수 있다. 예를 들어, 인코딩 비트 그룹(G1)에서, 후보 비트 성분(b1)은 최하위 비트 성분이 되고, 후보 비트 성분(b0)은 그 다음 하위 비트 성분이 되고, "0"들은 나머지 위치들에 정렬될 수 있다. Also, candidate bit components in each of the encoding bit groups EG0 to EG7 may be arranged according to a predetermined method. For example, candidate bit components included in a single encoding bit group are arranged as lower candidate bit components in the encoding bit group as higher bits in the first data DATA1 are higher, and “0s”, which are dummy bit components, are encoded in the encoding bit group. can be aligned to the remaining positions of . For example, in the encoding bit group EG0, the candidate bit component b0 becomes the least significant bit component, and “0s” may be aligned at the remaining positions. For example, in the encoding bit group G1, the candidate bit component b1 becomes the least significant bit component, the candidate bit component b0 becomes the next least significant bit component, and "0s" are to be aligned in the remaining positions. can

그리고, 인코더(224)는 제2 데이터(DATA2)를 병렬적으로 생성하는 연산부들(OP0~OP7)을 포함할 수 있다. 연산부들(OP0~OP7) 각각은 서로 대응하는 인코딩 벡터 및 인코딩 비트 그룹을 입력받아 비트와이즈 연산함으로써, 제2 데이터(DATA2)에 포함될 비트를 출력할 수 있다. 연산부들(OP0~OP7) 각각은 입력받은 인코딩 벡터에 근거하여 입력받은 인코딩 비트 그룹의 후보 비트 성분들 중 어느 하나를 출력할 수 있다. 구체적으로, 연산부들(OP0~OP7) 각각은 입력받은 인코딩 벡터의 벡터 성분 "1"에 대응하는, 즉, 벡터 성분 "1"과 동일한 위치로 배치된 후보 비트 성분을 출력할 수 있다. Also, the encoder 224 may include operation units OP0 to OP7 that generate the second data DATA2 in parallel. Each of the operation units OP0 to OP7 may receive an encoding vector and an encoding bit group corresponding to each other and perform a bitwise operation to output bits to be included in the second data DATA2 . Each of the operation units OP0 to OP7 may output any one of the candidate bit components of the received encoding bit group based on the received encoding vector. Specifically, each of the operation units OP0 to OP7 may output a candidate bit component corresponding to the vector component “1” of the received encoding vector, that is, arranged at the same position as the vector component “1”.

결과적으로, 인코더(224)는 제1 데이터(DATA1)의 비트들(b0~b5)을 결함 메모리 셀들(C1, C4)을 회피하여 정상 메모리 셀들(C0, C2, C3, C5~C7)의 위치로 재배치함으로써 제2 데이터(DATA2)를 생성할 수 있다. 결함 메모리 셀(C1)의 위치에는 더미 비트, 예를 들어, 결함 메모리 셀(C1)이 정상 메모리 셀이었다면 저장되었을 비트(b1)가 저장될 수 있다. 결함 메모리 셀들(C4)의 위치에는 더미 비트, 예를 들어, 결함 메모리 셀(C4)이 정상 메모리 셀이었다면 저장되었을 비트(b3)가 저장될 수 있다. As a result, the encoder 224 uses the bits b0 to b5 of the first data DATA1 to avoid the defective memory cells C1 and C4 to position the normal memory cells C0, C2, C3, C5 to C7. By rearranging , the second data DATA2 may be generated. A dummy bit, for example, a bit b1 that would have been stored if the defective memory cell C1 was a normal memory cell, may be stored in the defective memory cell C1 . A dummy bit, for example, a bit b3 that would have been stored if the defective memory cell C4 was a normal memory cell, may be stored in the defective memory cells C4 .

도7은 도4의 벡터 생성부(223)가 디코딩 벡터들(DV0~DV5)을 생성하는 방법을 예시적으로 설명하기 위한 도면이다. 도7은, 예를 들어, 외부 장치가 메인 메모리 셀들(C0~C5)에 대한 제1 데이터(DATA1)의 리드 동작을 지시하였을 때, 메모리 셀들(C0~C5)에 각각 대응하는 쉬프트 값들(SHV)에 근거하여 메모리 셀들(C0~C5)에 각각 대응하는 디코딩 벡터들(DV0~DV5)이 생성되는 과정을 도시한다.FIG. 7 is a diagram for exemplarily explaining a method in which the vector generator 223 of FIG. 4 generates decoding vectors DV0 to DV5. 7 illustrates, for example, shift values SHV corresponding to each of the memory cells C0 to C5 when the external device instructs a read operation of the first data DATA1 with respect to the main memory cells C0 to C5. ), a process in which decoding vectors DV0 to DV5 corresponding to the memory cells C0 to C5 are generated, respectively.

도7을 설명하기 전에 우선, 단일의 로우 어드레스(RA)에 대해 "s"개의 스페어 메모리 셀들이 존재할 때, 어떤 단일의 디코딩 벡터는 "s+1"개의 벡터 성분들을 포함할 수 있다. 앞서 가정한 바에 따라 로우 어드레스(RA)에 대해 "2"개의 스페어 메모리 셀들이 존재할 것이므로, 따라서, 디코딩 벡터들(DV0~DV5) 각각은 "3"개의 벡터 성분들을 포함할 수 있다. Before describing FIG. 7, when there are “s” spare memory cells for a single row address RA, any single decoding vector may include “s+1” vector elements. As previously assumed, there will be “2” spare memory cells for the row address RA. Accordingly, each of the decoding vectors DV0 to DV5 may include “3” vector components.

그리고, 도5에서 인코딩 벡터를 생성할 때와 마찬가지로, 소정 쉬프트 값(SHV)은 디코딩 벡터의 소정 값에 대응할 수 있다. 예를 들어, 쉬프트 값(SHV) "0"은 디코딩 벡터 "001"에 대응하고 쉬프트 값(SHV) "1"은 디코딩 벡터 "010"에 대응하고, 쉬프트 값(SHV) "2"는 디코딩 벡터 "100"에 대응할 수 있다.And, similarly to generating the encoding vector in FIG. 5 , the predetermined shift value SHV may correspond to the predetermined value of the decoding vector. For example, a shift value (SHV) "0" corresponds to a decoding vector "001", a shift value (SHV) "1" corresponds to a decoding vector "010", and a shift value (SHV) "2" corresponds to a decoding vector It can correspond to "100".

이러한 상황에서, 외부 장치가 리드 동작을 지시한 각각의 메모리 셀들(C0~C5)에 대해 쉬프트 값들(SHV)에 따라 디코딩 벡터들(DV0~DV5)이 생성될 수 있다. 도8에서 자세하게 살펴볼 바와 같이 디코딩 벡터들(DV0~DV5) 각각은 대응하는 메모리 셀에 저장되도록 지시되었었던 제1 데이터(DATA1)의 비트를, 메모리 셀들(C0~C7)로부터 실제로 리드된 제2 데이터(DATA2)로부터 복구하기 위해 사용될 수 있다.In this situation, decoding vectors DV0 to DV5 may be generated according to the shift values SHV for each of the memory cells C0 to C5 for which the external device has instructed the read operation. As will be described in detail with reference to FIG. 8 , each of the decoding vectors DV0 to DV5 corresponds to the bit of the first data DATA1 that was instructed to be stored in the corresponding memory cell, and the second bit of the first data DATA1 actually read from the memory cells C0 to C7. It can be used to recover from data DATA2.

도8은 도4의 디코더(225)가 제2 데이터(DATA2)에 근거하여 제1 데이터(DATA1)를 복구하는 방법을 예시적으로 설명하기 위한 도면이다. 도8은, 외부 장치가 메모리 셀들(C0~C5)에 대한 제1 데이터(DATA1)의 리드 동작을 지시하였을 때, 메모리 셀들(C0~C7)로부터 실제로 리드된 제2 데이터(DATA2) 및 도7에서 생성된 디코딩 벡터들(DV0~DV5)에 근거하여 제1 데이터(DATA1)가 복구되는 과정을 도시한다.FIG. 8 is a diagram for exemplarily explaining a method in which the decoder 225 of FIG. 4 recovers the first data DATA1 based on the second data DATA2 . 8 shows the second data DATA2 actually read from the memory cells C0 to C7 when the external device instructs the read operation of the first data DATA1 to the memory cells C0 to C5 and FIG. 7 . A process of recovering the first data DATA1 based on the decoding vectors DV0 to DV5 generated in .

우선, 외부 장치가 메모리 셀들(C0~C5)을 리드하도록 지시하였을 때 실제로 리드하는 범위는, 결함 메모리 셀들 때문에 추가 메모리 셀들이 사용되었을 가능성을 고려하여, 메모리 셀들(C0~C5)뿐만 아니라 스페어 메모리 셀 방향으로 후속하는 메모리 셀들(C6, C7)까지 일 수 있다. 즉, 추가로 리드되는 메모리 셀들의 개수는 스페어 메모리 셀들의 개수만큼일 수 있다.First, when the external device instructs to read the memory cells C0 to C5, the range actually read is, considering the possibility that additional memory cells are used due to defective memory cells, not only the memory cells C0 to C5 but also the spare memory. It may be up to the memory cells C6 and C7 that follow in the cell direction. That is, the number of additionally read memory cells may be equal to the number of spare memory cells.

디코더(225)는 메모리 셀들(C0~C7)로부터 리드된 제2 데이터(DATA2) 및 디코딩 벡터들(DV0~DV5)에 근거하여 제1 데이터(DATA1)의 비트들을 병렬적으로 복구할 수 있다.The decoder 225 may recover bits of the first data DATA1 in parallel based on the second data DATA2 read from the memory cells C0 to C7 and the decoding vectors DV0 to DV5 .

우선, 디코더(225)는 제2 데이터(DATA2)에 근거하여, 디코딩 비트 그룹들(DG0~DG5)을 생성할 수 있다. 디코딩 비트 그룹들(DG0~DG5)은, 외부 장치가 리드 동작을 지시한 메모리 셀들(C0~C5)에 각각 대응할 수 있다. 결국, 디코딩 비트 그룹들(DG0~DG5)은 디코딩 벡터들(DV0~DV5)과 동일한 개수만큼 생성되고 디코딩 벡터들(DV0~DV5)과 각각 대응할 수 있다.First, the decoder 225 may generate decoding bit groups DG0 to DG5 based on the second data DATA2 . The decoding bit groups DG0 to DG5 may respectively correspond to the memory cells C0 to C5 to which an external device has instructed a read operation. As a result, the decoding bit groups DG0 to DG5 are generated by the same number as the decoding vectors DV0 to DV5 and may correspond to the decoding vectors DV0 to DV5, respectively.

디코딩 비트 그룹들(DG0~DG5)은 결함 메모리 셀들의 존재나 위치와는 무관하게 제2 데이터(DATA2)만 리드되면 소정 규칙에 따라 생성될 수 있다. 우선, 단일의 로우 어드레스(RA)에 대해 "s"개의 스페어 메모리 셀들이 존재할 때, 어떤 단일의 디코딩 비트 그룹은 "s+1"개의 비트 성분들을 포함할 수 있다. 도5에서 가정한 바와 같이 로우 어드레스(RA)에 대해 "2"개의 스페어 메모리 셀들이 존재하는 것으로 가정하였으므로, 디코딩 비트 그룹들(DG0~DG5) 각각은 "3"개의 비트 성분들을 포함할 수 있다.The decoding bit groups DG0 to DG5 may be generated according to a predetermined rule when only the second data DATA2 is read regardless of the presence or location of defective memory cells. First, when there are “s” spare memory cells for a single row address RA, any single decoding bit group may include “s+1” bit components. As it is assumed in FIG. 5 , it is assumed that “2” spare memory cells exist for the row address RA, so each of the decoding bit groups DG0 to DG5 may include “3” bit components. .

디코딩 비트 그룹들(DG0~DG5) 각각에 포함된 비트 성분들은, 제2 데이터(DATA2)의 비트들(b10~b17) 중에서 선택된 하나 이상의 후보 비트 성분들을 포함할 수 있다. 구체적으로, 디코딩 비트 그룹들(DG0~DG5) 각각에 포함된 후보 비트 성분들은, 외부 장치가 대응하는 메모리 셀에 저장하도록 지시하였을 가능성이 있는 비트들일 수 있다. 결과적으로, 디코딩 비트 그룹들(DG0~DG5) 각각에 포함된 후보 비트 성분들은, 제2 데이터(DATA2)의 비트들(b10~b17) 중에서 대응하는 메모리 셀로부터 리드된 비트 및 해당 비트의 "2"개의 상위 비트들일 수 있다.Bit components included in each of the decoding bit groups DG0 to DG5 may include one or more candidate bit components selected from bits b10 to b17 of the second data DATA2 . Specifically, the candidate bit components included in each of the decoding bit groups DG0 to DG5 may be bits that an external device has likely instructed to store in a corresponding memory cell. As a result, the candidate bit components included in each of the decoding bit groups DG0 to DG5 are the bit read from the corresponding memory cell among the bits b10 to b17 of the second data DATA2 and the "2" of the corresponding bit. "It can be the upper bits of

예를 들어, 메모리 셀(C0)에 대응하는 디코딩 비트 그룹(DG0)은, 외부 장치가 메모리 셀(C0)에 저장하도록 지시하였을 가능성이 있는 후보 비트 성분들(b10, b11, b12)을 포함할 수 있다. 즉, 비트(b10)는 메모리 셀(C0)이 정상 메모리 셀일 때 외부 장치의 지시에 따라 그대로 메모리 셀(C0)에 저장되었을 수 있다. 비트(b11)는 외부 장치에 의해 메모리 셀(C0)에 저장되도록 지시되었었으나, 메모리 셀(C0)이 결함 메모리 셀일 경우 메모리 셀(C1)에 쉬프트되어 저장되었을 수 있다. 또한, 비트(b12)는 외부 장치에 의해 메모리 셀(C0)에 저장되도록 지시되었었으나, 메모리 셀들(C0, C1)이 결함 메모리 셀들일 경우 메모리 셀(C2)에 쉬프트되어 저장되었을 수 있다. For example, the decoding bit group DG0 corresponding to the memory cell C0 may contain the candidate bit components b10, b11, b12 that the external device has likely instructed to store in the memory cell C0. can That is, when the memory cell C0 is a normal memory cell, the bit b10 may be stored in the memory cell C0 as it is according to an instruction from an external device. The bit b11 is instructed to be stored in the memory cell C0 by an external device, but may be shifted and stored in the memory cell C1 when the memory cell C0 is a defective memory cell. Also, although the bit b12 is instructed to be stored in the memory cell C0 by an external device, when the memory cells C0 and C1 are defective memory cells, the bit b12 may be shifted and stored in the memory cell C2.

즉, 본 발명은 이러한 가능성을 고려하여 디코딩 비트 그룹들(DG0~DG5)의 후보 비트 성분들을 일괄적으로 생성한 뒤, 결함 메모리 셀들(C1, C4)의 실제 위치가 반영된 디코딩 벡터들(DV0~DV5)에 근거하여 후보 비트 성분들 중 어느 하나를 선택할 수 있다. 나머지 메모리 셀들(C2~C5)에 대응하는 디코딩 비트 그룹들(DG2~DG5)을 생성하는 방법은 상술한 규칙에 따라 통상의 기술자 입장에서 용이하게 적용할 수 있으므로 상세한 설명이 생략될 것이다.That is, the present invention collectively generates the candidate bit components of the decoding bit groups DG0 to DG5 in consideration of this possibility, and then the decoding vectors DV0 to which the actual positions of the defective memory cells C1 and C4 are reflected. DV5), any one of the candidate bit components may be selected. A method of generating the decoding bit groups DG2 to DG5 corresponding to the remaining memory cells C2 to C5 can be easily applied from a point of view of a person skilled in the art according to the above-described rule, and thus a detailed description thereof will be omitted.

또한, 디코딩 비트 그룹들(DG0~DG5) 각각에서 후보 비트 성분들은 소정 방식에 따라 정렬될 수 있다. 예를 들어, 어떤 단일의 디코딩 비트 그룹에 포함된 후보 비트 성분들은 제2 데이터(DATA2)에서 상위 비트일수록 디코딩 비트 그룹에서 상위 비트 성분으로서 정렬될 수 있다.In addition, candidate bit components in each of the decoding bit groups DG0 to DG5 may be arranged according to a predetermined method. For example, candidate bit components included in a single decoding bit group may be arranged as high-order bit components in the decoding bit group as the higher bits in the second data DATA2 are.

그리고, 디코더(225)는 제1 데이터(DATA1)를 병렬적으로 생성하는 연산부들(OP10~OP15)을 포함할 수 있다. 연산부들(OP10~OP15) 각각은 서로 대응하는 디코딩 벡터 및 디코딩 비트 그룹을 입력받아 비트와이즈 연산함으로써, 제1 데이터(DATA1)로서 복구될 비트를 출력할 수 있다. 연산부들(OP10~OP15) 각각은 입력받은 디코딩 벡터에 근거하여 입력받은 디코딩 비트 그룹의 후보 비트 성분들 중 어느 하나를 출력할 수 있다. 구체적으로, 연산부들(OP10~OP15) 각각은 입력받은 디코딩 벡터의 벡터 성분 "1"에 대응하는, 즉, 벡터 성분 "1"과 동일한 위치로 배치된 후보 비트 성분을 출력할 수 있다. In addition, the decoder 225 may include operation units OP10 to OP15 that generate the first data DATA1 in parallel. Each of the operation units OP10 to OP15 may receive a decoding vector and a decoding bit group corresponding to each other and perform a bitwise operation to output a bit to be restored as the first data DATA1 . Each of the operation units OP10 to OP15 may output any one of the candidate bit components of the received decoding bit group based on the received decoding vector. Specifically, each of the operation units OP10 to OP15 may output a candidate bit component corresponding to the vector component “1” of the received decoding vector, that is, arranged at the same position as the vector component “1”.

결과적으로, 디코더(225)는 제2 데이터(DATA2)에서, 결함 메모리 셀들(C1, C4)로부터 리드된 비트들(b11, b14)을 제거하고 정상 메모리 셀들(C0, C2, C3, C5~C7)로부터 리드된 비트들(b10, b12, b13, b15~b17)만 남김으로써 제1 데이터(DATA1)를 복구할 수 있다.As a result, the decoder 225 removes the bits b11 and b14 read from the defective memory cells C1 and C4 from the second data DATA2 and the normal memory cells C0, C2, C3, C5 to C7. ), the first data DATA1 may be recovered by leaving only the bits b10, b12, b13, and b15 to b17.

도9는 본 발명의 실시 예에 따른 쉬프트 값 생성부(322)를 도시한 블록도이다. 쉬프트 값 생성부(322)는 도1 또는 도4의 쉬프트 값 생성부(122, 222)의 실시 예일 수 있다.9 is a block diagram illustrating a shift value generator 322 according to an embodiment of the present invention. The shift value generator 322 may be an embodiment of the shift value generators 122 and 222 of FIG. 1 or FIG. 4 .

도3에 도시된 절차를 통해 생성된 쉬프트 값은 이후 새로운 결함 메모리 셀이 발생하지 않는다면 변함이 없을 것이다. 즉, 현재 결함 메모리 셀들의 위치에 근거하여 소정 메인 메모리 셀에 대해 생성된 쉬프트 값은 해당 메인 메모리 셀의 로우 어드레스에서 새로운 결함 메모리 셀이 발생하지 않는다면 언제나 동일할 것이다. The shift value generated through the procedure shown in FIG. 3 will not change unless a new defective memory cell is subsequently generated. That is, the shift value generated for a predetermined main memory cell based on the positions of the current defective memory cells will always be the same unless a new defective memory cell is generated at the row address of the corresponding main memory cell.

따라서, 도9를 참조하면, 쉬프트 값 생성부(322)는 쉬프트 값 저장부(422)를 더 포함할 수 있다. 쉬프트 값 저장부(422)는 쉬프트 값 생성부(322)에 의해 생성된 쉬프트 값들을 저장할 수 있다. 쉬프트 값 저장부(422)는 외부 장치로부터 제공된 로우 어드레스 및 컬럼 어드레스에 근거하여, 라이트 동작이 수행될 메인 메모리 셀에 대응하는 쉬프트 값을 출력할 수 있다. 만일 소정 로우 어드레스에서 새로운 결함 메모리 셀이 발생하면 해당 로우 어드레스의 메인 메모리 셀들에 대응하는 새로운 쉬프트 값들이 쉬프트 값 생성부(322)를 통해 생성되고 쉬프트 값 저장부(422)에 저장될 수 있다. Accordingly, referring to FIG. 9 , the shift value generating unit 322 may further include a shift value storing unit 422 . The shift value storage unit 422 may store shift values generated by the shift value generation unit 322 . The shift value storage unit 422 may output a shift value corresponding to a main memory cell on which a write operation is to be performed, based on a row address and a column address provided from an external device. If a new defective memory cell is generated at a predetermined row address, new shift values corresponding to the main memory cells of the corresponding row address may be generated through the shift value generator 322 and stored in the shift value storage 422 .

도10은 본 발명의 실시 예에 따른 벡터 생성부(323)를 도시한 블록도이다. 벡터 생성부(323)는 도4의 벡터 생성부(223)의 실시 예일 수 있다.10 is a block diagram illustrating a vector generator 323 according to an embodiment of the present invention. The vector generator 323 may be an embodiment of the vector generator 223 of FIG. 4 .

도5 및 도7을 참조하여 설명한 과정을 통해 생성된 인코딩 벡터들 및 디코딩 벡터들은 이후 새로운 결함 메모리 셀이 발생하지 않는다면 변함이 없을 것이다. 즉, 현재 결함 메모리 셀들의 위치에 근거하여 소정 메모리 셀에 대해 생성된 인코딩 벡터 및 디코딩 벡터는 해당 메모리 셀의 로우 어드레스에서 새로운 결함 메모리 셀이 발생하지 않는다면 언제나 동일할 것이다.The encoding vectors and decoding vectors generated through the process described with reference to FIGS. 5 and 7 will not change unless a new defective memory cell is generated thereafter. That is, the encoding vector and decoding vector generated for a given memory cell based on the positions of the current defective memory cells will always be the same unless a new defective memory cell occurs at the row address of the corresponding memory cell.

따라서, 도10을 참조하면, 벡터 생성부(323)는 벡터 저장부(423)를 더 포함할 수 있다. 벡터 저장부(423)는 벡터 생성부(323)에 의해 생성된 인코딩 벡터들 및 디코딩 벡터들을 저장할 수 있다. 벡터 저장부(423)는 외부 장치로부터 제공된 로우 어드레스 및 컬럼 어드레스에 근거하여, 라이트 동작 또는 리드 동작이 수행될 메모리 셀에 대응하는 인코딩 벡터 또는 디코딩 벡터를 출력할 수 있다. 만일 소정 로우 어드레스에서 새로운 결함 메모리 셀이 발생하면 해당 로우 어드레스의 메모리 셀들에 대응하는 새로운 인코딩 벡터들 및 디코딩 벡터들이 벡터 생성부(323)를 통해 생성되고 벡터 저장부(423)에 저장될 수 있다.Accordingly, referring to FIG. 10 , the vector generator 323 may further include a vector storage 423 . The vector storage 423 may store the encoding vectors and the decoding vectors generated by the vector generator 323 . The vector storage unit 423 may output an encoding vector or a decoding vector corresponding to a memory cell on which a write operation or a read operation is to be performed, based on a row address and a column address provided from an external device. If a new defective memory cell is generated at a predetermined row address, new encoding vectors and decoding vectors corresponding to the memory cells of the corresponding row address may be generated through the vector generator 323 and stored in the vector storage unit 423 . .

도11은 본 발명의 실시 예에 따른 반도체 시스템(1)을 예시적으로 도시하는 블록도이다.11 is a block diagram exemplarily showing a semiconductor system 1 according to an embodiment of the present invention.

반도체 시스템(1)은 제1 반도체 장치(1100) 및 제2 반도체 장치(1200)를 포함할 수 있다. The semiconductor system 1 may include a first semiconductor device 1100 and a second semiconductor device 1200 .

제1 및 제2 반도체 장치들(1100, 1200)은 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)을 통해 연결될 수 있다. 설명하기에 앞서, 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)은 스페어 신호 라인 방향으로 소정 순서가 부여될 수 있다. 즉, 메인 신호 라인들(ML0~MLm) 중에서 메인 신호 라인(ML0)이 제일 앞서고 제일 마지막의 스페어 메모리 셀(SLs)이 제일 뒤설 수 있다. 이러한 순서는 신호 라인들에게 상대적인 위치들을 할당하여 아래에서 발명을 용이하게 설명하기 위해 가정한 것이다.The first and second semiconductor devices 1100 and 1200 may be connected through main signal lines ML0 to MLm and spare signal lines SL0 to SLs. Prior to description, a predetermined order may be given to the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs in the direction of the spare signal line. That is, the main signal line ML0 may be the first among the main signal lines ML0 to MLm, and the last spare memory cell SLs may be the last. This order is assumed to facilitate the description of the invention below by assigning relative positions to the signal lines.

메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)을 통한 제1 및 제2 반도체 장치들(1100, 1200)의 통신 방식은 도1 및 도4의 반도체 장치들(100, 200)이 메인 메모리 셀들(MC0~MCm) 및 스페어 메모리 셀들(SC0~SCs) 중 결함 메모리 셀들을 회피하여 정상 메모리 셀들만 사용하는 방식과 실질적으로 유사할 수 있다.The communication method of the first and second semiconductor devices 1100 and 1200 through the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs is the semiconductor device 100 of FIGS. 1 and 4 . 200 may be substantially similar to a method in which only normal memory cells are used by avoiding defective memory cells among the main memory cells MC0 to MCm and the spare memory cells SC0 to SCs.

구체적으로, 제1 반도체 장치(1100)는 결함 신호 라인들을 회피하기 위하여 메인 신호 라인들(ML0~MLm)을 통해 제2 반도체 장치(1200)로 전송할 제1 신호들(SGN1)을 제2 신호들(SGN2)로 변환하여 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)을 통해 전송할 수 있다. 제2 신호들(SGN2)은 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs) 중 정상 신호 라인들로 전송될 제1 신호들(SGN1)을 포함하고 결함 신호 라인들로 전송될 더미 신호들을 포함할 수 있다. Specifically, the first semiconductor device 1100 transmits the first signals SGN1 to be transmitted to the second semiconductor device 1200 through the main signal lines ML0 to MLm as second signals to avoid defective signal lines. (SGN2) may be converted and transmitted through the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs. The second signals SGN2 include first signals SGN1 to be transmitted to normal signal lines among the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs, and are formed as defective signal lines. It may include dummy signals to be transmitted.

제2 반도체 장치(1200)는 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)로부터 수신된 제2 신호들(SGN2)로부터 제1 신호들(SGN1)을 복구할 수 있다. The second semiconductor device 1200 may recover the first signals SGN1 from the second signals SGN2 received from the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs. .

따라서, 메인 신호 라인들(ML0~MLm)에 결함 신호 라인들이 존재하더라도 제1 및 제2 반도체 장치들(1100, 1200)은 정상적으로 통신할 수 있다. Accordingly, even if defective signal lines exist in the main signal lines ML0 to MLm, the first and second semiconductor devices 1100 and 1200 may communicate normally.

제1 반도체 장치(1100)는 결함 정보 관리부(1110), 쉬프트 값 생성부(1120), 인코딩 벡터 생성부(1130) 및 인코더(1140)를 포함할 수 있다. 제2 반도체 장치(1200)는 결함 정보 관리부(1210), 쉬프트 값 생성부(1220), 디코딩 벡터 생성부(1230) 및 디코더(1240)를 포함할 수 있다. 제1 및 제2 반도체 장치들(1100, 1200)에 포함된 결함 정보 관리부들(1110, 1210), 쉬프트 값 생성부들(1120, 1220), 인코딩 벡터 생성부(1130), 디코딩 벡터 생성부(1230), 인코더(1140) 및 디코더(1240)는 도1 또는 도4에 도시된 결함 정보 관리부(121, 221), 쉬프트 값 생성부(122, 222), 벡터 생성부(223), 인코더(224) 및 디코더(225)와 실질적으로 유사하게 구성되고 동작할 수 있다. The first semiconductor device 1100 may include a defect information manager 1110 , a shift value generator 1120 , an encoding vector generator 1130 , and an encoder 1140 . The second semiconductor device 1200 may include a defect information manager 1210 , a shift value generator 1220 , a decoding vector generator 1230 , and a decoder 1240 . The defect information managers 1110 and 1210, the shift value generators 1120 and 1220, the encoding vector generator 1130, and the decoding vector generator 1230 included in the first and second semiconductor devices 1100 and 1200. ), the encoder 1140 and the decoder 1240 are the defect information management units 121 and 221, the shift value generation units 122 and 222, the vector generation unit 223 and the encoder 224 shown in FIG. 1 or 4 . and decoder 225 may be configured and operated substantially similarly.

구체적으로, 제1 및 제2 반도체 장치들(1100, 1200)에서 결함 정보 관리부들(1110, 1210)은 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)의 하나 이상의 결함 신호 라인들의 위치 정보를 포함하는 결함 정보(FINF_L)를 각각 저장할 수 있다. 결함 정보 관리부들(1110, 1210)은, 제1 및 제2 반도체 장치들(1100, 1200)이 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)을 통해 서로 통신하려 할 때 결함 정보(FINF_L)를 쉬프트 값 생성부들(1120, 1220)로 각각 제공할 수 있다. Specifically, in the first and second semiconductor devices 1100 and 1200 , the defect information management units 1110 and 1210 are configured to have one or more defects in the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs. Defect information FINF_L including position information of signal lines may be stored, respectively. The defect information managers 1110 and 1210 are configured to allow the first and second semiconductor devices 1100 and 1200 to communicate with each other through the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs. At this time, the defect information FINF_L may be provided to the shift value generators 1120 and 1220 , respectively.

쉬프트 값 생성부들(1120, 1220)은 결함 정보(FINF_L)에 근거하여 메인 신호 라인들(ML0~MLm)에 각각 대응하는 쉬프트 값들(SHV_L)을 생성할 수 있다. 쉬프트 값 생성부들(1120, 1220)은 도3에 도시된 과정과 유사하게, 소정 메인 신호 라인의 위치를 결함 신호 라인들의 위치들에 근거한 참조 위치들과 비교함으로써, 소정 메인 신호 라인에 대응하는 쉬프트 값(SHV_L)을 생성할 수 있다. 참조 위치들 중 i번째 참조 위치는 결함 신호 라인들 중 i번째 결함 신호 라인의 위치보다 (i-1)만큼 앞선 위치일 수 있다. 쉬프트 값 생성부들(1120, 1220)은 소정 메인 신호 라인의 위치가 결함 신호 라인들 중 첫번째 결함 신호 라인의 위치보다 앞설 때, 소정 메인 신호 라인의 쉬프트 값을 "0"으로 생성할 수 있다. 쉬프트 값 생성부들(1120, 1220)은 소정 메인 신호 라인의 위치가 i번째 참조 위치와 같거나 뒤서고 (i+1)번째 참조 위치보다 앞설 때, 소정 메인 신호 라인의 쉬프트 값을 "i"로 생성할 수 있다. 쉬프트 값 생성부들(1120, 1220)은 소정 메인 신호 라인의 위치가 n번째 참조 위치와 같거나 뒤설 때, 소정 메인 신호 라인의 쉬프트 값을 "n"으로 생성하되, 이때, n번째 참조 위치는 결함 신호 라인 중 마지막 결함 신호 라인인 n번째 결함 신호 라인의 위치 "n-1"만큼 앞선 위치일 수 있다. 쉬프트 값 생성부들(1120, 1220)은 쉬프트 값들(SHV_L)을 인코딩 벡터 생성부(1130) 및 디코딩 벡터 생성부(1230)로 각각 제공할 수 있다. The shift value generators 1120 and 1220 may generate shift values SHV_L respectively corresponding to the main signal lines ML0 to MLm based on the defect information FINF_L. Similar to the process shown in FIG. 3 , the shift value generators 1120 and 1220 compare the positions of the predetermined main signal lines with reference positions based on the positions of the defective signal lines, thereby shifting corresponding to the predetermined main signal lines. A value (SHV_L) can be created. The i-th reference position among the reference positions may be a position preceding the position of the i-th defect signal line among the defect signal lines by (i-1). The shift value generators 1120 and 1220 may generate the shift value of the predetermined main signal line as “0” when the position of the predetermined main signal line is ahead of the position of the first defective signal line among the defective signal lines. The shift value generators 1120 and 1220 set the shift value of the predetermined main signal line to “i” when the position of the predetermined main signal line is equal to or behind the i-th reference position and ahead of the (i+1)-th reference position. can create The shift value generators 1120 and 1220 generate the shift value of the predetermined main signal line as “n” when the position of the predetermined main signal line is equal to or behind the n-th reference position, but in this case, the n-th reference position is defective. The position may be advanced by the position “n-1” of the n-th defect signal line, which is the last defect signal line among the signal lines. The shift value generators 1120 and 1220 may provide the shift values SHV_L to the encoding vector generator 1130 and the decoding vector generator 1230 , respectively.

인코딩 벡터 생성부(1130) 및 디코딩 벡터 생성부(1230)는 쉬프트 값들(SHV_L)에 근거하여 하나 이상의 인코딩 벡터들(EV_L) 및 하나 이상의 디코딩 벡터들(DV_L)을 각각 생성할 수 있다. 인코딩 벡터 생성부(1130)는 도5를 참조하여 설명한 바와 유사하게 인코딩 벡터들(EV_L)을 생성하고 인코더(1140)로 제공할 수 있다. 디코딩 벡터 생성부(1230)는 도7을 참조하여 설명한 바와 유사하게 디코딩 벡터들(DV_L)을 생성하고 디코더(1240)로 제공할 수 있다.The encoding vector generator 1130 and the decoding vector generator 1230 may generate one or more encoding vectors EV_L and one or more decoding vectors DV_L, respectively, based on the shift values SHV_L. The encoding vector generator 1130 may generate the encoding vectors EV_L similar to that described with reference to FIG. 5 and provide them to the encoder 1140 . The decoding vector generator 1230 may generate the decoding vectors DV_L similar to that described with reference to FIG. 7 and provide them to the decoder 1240 .

인코더(1140)는 제1 신호들(SGN1) 및 인코딩 벡터 생성부(1130)로부터 제공된 인코딩 벡터들(EV_L)에 근거하여 제2 신호들(SGN2)을 생성할 수 있다. 인코더(1140)는 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs) 중 정상 신호 라인들의 위치로 제1 신호들(SGN1)을 재배치시키고 결함 신호 라인들의 위치에 더미 신호들 배치함으로써 제2 신호들(SGN2)을 생성할 수 있다. The encoder 1140 may generate the second signals SGN2 based on the first signals SGN1 and the encoding vectors EV_L provided from the encoding vector generator 1130 . The encoder 1140 rearranges the first signals SGN1 to positions of normal signal lines among the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs, and transfers the dummy signals to the defective signal lines. By disposing, the second signals SGN2 may be generated.

그리고, 디코더(1240)는 제2 신호들(SGN2) 및 디코딩 벡터 생성부(1230)로부터 제공된 디코딩 벡터들(DV_L)에 근거하여 제1 신호들(SGN1)을 복구할 수 있다. 디코더(1240)는 결함 신호 라인들을 통해 전송된 더미 신호들을 제2 신호들(SGN2)로부터 제거함으로써 제1 신호들(SGN1)을 복구할 수 있다.In addition, the decoder 1240 may recover the first signals SGN1 based on the second signals SGN2 and the decoding vectors DV_L provided from the decoding vector generator 1230 . The decoder 1240 may recover the first signals SGN1 by removing the dummy signals transmitted through the defective signal lines from the second signals SGN2 .

실시 예에 따라, 제1 및 제2 반도체 장치들(1100, 1200)은 수직으로 적층된 반도체 메모리 장치들일 수 있다. 이러한 경우, 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs) 각각은 관통 실리콘 비아로 구성될 수 있다. 메인 신호 라인들(ML0~MLm) 및 스페어 신호 라인들(SL0~SLs)은 반도체 메모리 장치의 제어를 위한 제어 신호들 및 데이터를 전송할 수 있다.According to an embodiment, the first and second semiconductor devices 1100 and 1200 may be vertically stacked semiconductor memory devices. In this case, each of the main signal lines ML0 to MLm and the spare signal lines SL0 to SLs may be formed of a through silicon via. The main signal lines ML0 to MLm and the spare signal lines SL0 to SLs may transmit control signals and data for controlling the semiconductor memory device.

한편, 도11은 단방향 통신하는 제1 및 제2 반도체 장치들(1100, 1200)을 도시하나, 실시 예에 따라서 제1 및 제2 반도체 장치들(1100, 1200)은 양방향 통신하도록 구성될 수 있다. 이러한 경우, 제1 및 제2 반도체 장치들(1100, 1200) 각각은 인코딩 벡터 생성부, 디코딩 벡터 생성부, 인코더 및 디코더를 모두 포함할 수 있다. 이러한 반도체 시스템의 구성 및 동작 방법은 상술한 설명들을 통해 통상의 기술자가 용이하게 도출할 수 있는 것이므로 상세한 설명은 생략될 것이다.Meanwhile, although FIG. 11 illustrates the first and second semiconductor devices 1100 and 1200 performing unidirectional communication, the first and second semiconductor devices 1100 and 1200 may be configured to perform bidirectional communication according to an embodiment. . In this case, each of the first and second semiconductor devices 1100 and 1200 may include an encoding vector generator, a decoding vector generator, an encoder, and a decoder. Since the configuration and operation method of such a semiconductor system can be easily derived by a person skilled in the art through the above description, a detailed description thereof will be omitted.

실시 예에 따라, 도11의 쉬프트 값 생성부들(1120, 1220)은 도9의 쉬프트 값 생성부(322)와 유사하게 구성되고 동작할 수 있다. 즉, 쉬프트 값 생성부들(1120, 1220)은 쉬프트 값 저장부들을 각각 포함할 수 있다.According to an embodiment, the shift value generators 1120 and 1220 of FIG. 11 may be configured and operated similarly to the shift value generator 322 of FIG. 9 . That is, the shift value generators 1120 and 1220 may include shift value storage units, respectively.

실시 예에 따라, 도11의 인코딩 벡터 생성부(1130) 및 디코딩 벡터 생성부(1230)는 도10의 벡터 생성부(323)와 유사하게 구성되고 동작할 수 있다. 즉, 인코딩 벡터 생성부(1130) 및 디코딩 벡터 생성부(1230)는 인코딩 벡터 저장부 및 디코딩 벡터 저장부를 각각 포함할 수 있다.According to an embodiment, the encoding vector generator 1130 and the decoding vector generator 1230 of FIG. 11 may be configured and operated similarly to the vector generator 323 of FIG. 10 . That is, the encoding vector generation unit 1130 and the decoding vector generation unit 1230 may include an encoding vector storage unit and a decoding vector storage unit, respectively.

본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those of ordinary skill in the art to which the present invention pertains, since the present invention can be embodied in other specific forms without changing the technical spirit or essential features thereof, the embodiments described above are illustrative in all respects and not restrictive must be understood as The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 반도체 장치
110: 메모리 영역
MC0~MCm: 메인 메모리 셀들
SC0~SCs: 스페어 메모리 셀들
120: 제어부
121: 결함 정보 관리부
122: 쉬프트 값 생성부
100: semiconductor device
110: memory area
MC0~MCm: main memory cells
SC0~SCs: spare memory cells
120: control unit
121: defect information management unit
122: shift value generator

Claims (21)

하나 이상의 메인 메모리 셀들 및 하나 이상의 스페어 메모리 셀들; 및
하나 이상의 결함 메모리 셀들의 결함 정보에 근거하여 상기 메인 메모리 셀들에 각각 대응하는 쉬프트 값들을 생성하고, 하나 이상의 제1 비트들을 상기 메인 메모리 셀들로부터 상기 쉬프트 값들만큼 스페어 메모리 셀 방향으로 각각 쉬프트된 메모리 셀들에 라이트하도록 구성된 제어부를 포함하되,
상기 제어부는, 메인 메모리 셀의 컬럼 어드레스를 상기 결함 정보에 근거한 하나 이상의 참조 컬럼 어드레스들과 순차적으로 비교함으로써 상기 메인 메모리 셀에 대응하는 쉬프트 값을 생성하고,
상기 참조 컬럼 어드레스들 중 i번째 참조 컬럼 어드레스는 상기 결함 메모리 셀들 중 i번째 결함 메모리 셀의 컬럼 어드레스보다 (i-1)만큼 앞선 컬럼 어드레스인 반도체 장치.
one or more main memory cells and one or more spare memory cells; and
Memory cells in which shift values corresponding to each of the main memory cells are generated based on defect information of one or more defective memory cells, and one or more first bits are respectively shifted from the main memory cells in the direction of the spare memory cell by the shift values A control unit configured to write to
The control unit generates a shift value corresponding to the main memory cell by sequentially comparing a column address of the main memory cell with one or more reference column addresses based on the defect information;
The i-th reference column address among the reference column addresses is a column address preceding the column address of the i-th defective memory cell among the defective memory cells by (i-1).
삭제delete 삭제delete ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 4 was abandoned when paying the registration fee.◈ 제1항에 있어서,
상기 제어부는, 상기 메인 메모리 셀의 상기 컬럼 어드레스가 상기 결함 메모리 셀들 중 첫번째 결함 메모리 셀의 컬럼 어드레스보다 앞설 때, 상기 메인 메모리 셀의 쉬프트 값을 "0"으로 생성하는 반도체 장치.
According to claim 1,
The control unit is configured to generate a shift value of the main memory cell as “0” when the column address of the main memory cell precedes the column address of a first defective memory cell among the defective memory cells.
◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 5 was abandoned when paying the registration fee.◈ 제1항에 있어서,
상기 제어부는, 상기 메인 메모리 셀의 상기 컬럼 어드레스가 i번째 참조 컬럼 어드레스와 같거나 뒤서고 (i+1)번째 참조 컬럼 어드레스보다 앞설 때, 상기 메인 메모리 셀의 쉬프트 값을 "i"로 생성하는 반도체 장치.
According to claim 1,
The control unit generates the shift value of the main memory cell as “i” when the column address of the main memory cell is equal to or after the i-th reference column address and precedes the (i+1)-th reference column address. semiconductor device.
◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 6 was abandoned when paying the registration fee.◈ 제1항에 있어서,
상기 제어부는, 상기 메인 메모리 셀의 상기 컬럼 어드레스가 n번째 참조 컬럼 어드레스와 같거나 뒤설 때, 상기 메인 메모리 셀의 쉬프트 값을 "n"으로 생성하고,
상기 n번째 참조 컬럼 어드레스는, 상기 결함 메모리 셀들 중 마지막 결함 메모리 셀인 n번째 결함 메모리 셀의 컬럼 어드레스보다 "n-1"만큼 앞선 컬럼 어드레스인 반도체 장치.
According to claim 1,
The control unit generates a shift value of the main memory cell as “n” when the column address of the main memory cell is equal to or behind an n-th reference column address;
The n-th reference column address is a column address that precedes a column address of an n-th defective memory cell that is a last defective memory cell among the defective memory cells by “n-1”.
◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 7 was abandoned at the time of payment of the registration fee.◈ 제1항에 있어서,
상기 제어부는, 상기 쉬프트된 메모리 셀들의 위치들에 상기 제1 비트들을 배치하고 상기 결함 메모리 셀들의 위치들에 더미 비트들을 배치함으로써 제2 비트들을 병렬적으로 생성하고, 상기 제2 비트들을 상기 쉬프트된 메모리 셀들 및 상기 결함 메모리 셀들에 라이트하는 반도체 장치.
According to claim 1,
The controller generates second bits in parallel by arranging the first bits at positions of the shifted memory cells and dummy bits at positions of the defective memory cells, and generates the second bits in the shifted positions. A semiconductor device for writing to the old memory cells and the defective memory cells.
◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 8 was abandoned when paying the registration fee.◈ 제7항에 있어서,
상기 제어부는, 상기 쉬프트 값들에 각각 대응하는 하나 이상의 인코딩 벡터들을 생성하고, 상기 인코딩 벡터들 중 서로 다른 값들을 가진 연속된 인코딩 벡터들의 사이에 더미 인코딩 벡터들을 삽입하고, 상기 인코딩 벡터들에 근거하여 상기 제1 비트들을 배치하고 상기 더미 인코딩 벡터들에 근거하여 상기 더미 비트들을 배치하는 반도체 장치.
8. The method of claim 7,
The controller generates one or more encoding vectors respectively corresponding to the shift values, inserts dummy encoding vectors between consecutive encoding vectors having different values among the encoding vectors, and based on the encoding vectors and disposing the first bits and disposing the dummy bits based on the dummy encoding vectors.
◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 9 was abandoned at the time of payment of the registration fee.◈ 제7항에 있어서,
상기 제어부는, 상기 쉬프트된 메모리 셀들 및 상기 결함 메모리 셀들로부터 상기 제2 비트들을 리드하고, 상기 쉬프트 값들에 근거하여 상기 제2 비트들로부터 상기 더미 비트들을 제거함으로써 상기 제1 비트들을 병렬적으로 복구하는 반도체 장치.
8. The method of claim 7,
The controller reads the second bits from the shifted memory cells and the defective memory cells, and restores the first bits in parallel by removing the dummy bits from the second bits based on the shift values. semiconductor device.
◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 10 was abandoned when paying the registration fee.◈ 제9항에 있어서,
상기 제어부는, 상기 쉬프트 값들에 각각 대응하는 하나 이상의 디코딩 벡터들을 생성하고, 상기 디코딩 벡터들에 근거하여 상기 제1 비트들을 복구하는 반도체 장치.
10. The method of claim 9,
The control unit generates one or more decoding vectors corresponding to the shift values, respectively, and recovers the first bits based on the decoding vectors.
◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 11 was abandoned when paying the registration fee.◈ 제1항에 있어서,
상기 메인 메모리 셀들 및 상기 스페어 메모리 셀들은 단일의 로우 어드레스에 대응하는 반도체 장치.
According to claim 1,
The main memory cells and the spare memory cells correspond to a single row address.
하나 이상의 메인 신호 라인들 및 하나 이상의 스페어 신호 라인들;
하나 이상의 결함 신호 라인들의 결함 정보에 근거하여 상기 메인 신호 라인들에 각각 대응하는 쉬프트 값들을 생성하고, 하나 이상의 제1 신호들을 상기 메인 신호 라인들로부터 상기 쉬프트 값들만큼 스페어 신호 라인 방향으로 각각 쉬프트된 신호 라인들로 전송하도록 구성된 제1 반도체 장치; 및
상기 쉬프트 값들을 동일하게 생성하고 상기 쉬프트 값들에 근거하여 상기 제1 신호들을 상기 쉬프트된 신호 라인들로부터 수신하도록 구성된 제2 반도체 장치를 포함하되,
상기 제1 반도체 장치는, 메인 신호 라인의 위치를 상기 결함 정보에 근거한 하나 이상의 참조 위치들과 순차적으로 비교함으로써 상기 메인 신호 라인에 대응하는 쉬프트 값을 생성하고,
상기 참조 위치들 중 i번째 참조 위치는 상기 결함 신호 라인들 중 i번째 결함 신호 라인의 위치보다 (i-1)만큼 앞선 위치인 반도체 시스템.
one or more main signal lines and one or more spare signal lines;
Shift values corresponding to each of the main signal lines are generated based on defect information of one or more defective signal lines, and one or more first signals are respectively shifted from the main signal lines in the direction of the spare signal line by the shift values. a first semiconductor device configured to transmit to the signal lines; and
a second semiconductor device configured to equally generate the shift values and to receive the first signals from the shifted signal lines based on the shift values,
the first semiconductor device generates a shift value corresponding to the main signal line by sequentially comparing the position of the main signal line with one or more reference positions based on the defect information;
The i-th reference position among the reference positions is a position preceding the position of the i-th defect signal line among the defect signal lines by (i-1).
삭제delete 삭제delete ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 15 was abandoned when paying the registration fee.◈ 제12항에 있어서,
상기 제1 반도체 장치는, 상기 메인 신호 라인의 상기 위치가 상기 결함 신호 라인들 중 첫번째 결함 신호 라인의 위치보다 앞설 때, 상기 메인 신호 라인의 쉬프트 값을 "0"으로 생성하는 반도체 시스템.
13. The method of claim 12,
The first semiconductor device generates a shift value of the main signal line as “0” when the position of the main signal line precedes the position of a first defect signal line among the defect signal lines.
◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 16 was abandoned when paying the registration fee.◈ 제12항에 있어서,
상기 제1 반도체 장치는, 상기 메인 신호 라인의 상기 위치가 i번째 참조 위치와 같거나 뒤서고 (i+1)번째 참조 위치보다 앞설 때, 상기 메인 신호 라인의 쉬프트 값을 "i"로 생성하는 반도체 시스템.
13. The method of claim 12,
The first semiconductor device generates a shift value of the main signal line as “i” when the position of the main signal line is equal to or behind the i-th reference position and precedes the (i+1)-th reference position. semiconductor system.
◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 17 was abandoned when paying the registration fee.◈ 제12항에 있어서,
상기 제1 반도체 장치는, 상기 메인 신호 라인의 상기 위치가 n번째 참조 위치와 같거나 뒤설 때, 상기 메인 신호 라인의 쉬프트 값을 "n"으로 생성하고,
상기 n번째 참조 위치는, 상기 결함 신호 라인들 중 마지막 결함 신호 라인인 n번째 결함 신호 라인의 위치보다 "n-1"만큼 앞선 위치인 반도체 시스템.
13. The method of claim 12,
the first semiconductor device generates a shift value of the main signal line as “n” when the position of the main signal line is equal to or behind an n-th reference position;
The n-th reference position is a position preceding a position of an n-th defect signal line which is a last defect signal line among the defect signal lines by “n-1”.
◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 18 was abandoned when paying the registration fee.◈ 제12항에 있어서,
상기 제1 반도체 장치는, 상기 쉬프트된 신호 라인들의 위치들에 상기 제1 신호들을 배치하고 상기 결함 신호 라인들의 위치들에 더미 신호들을 배치함으로써 제2 신호들을 병렬적으로 생성하고, 상기 제2 신호들을 상기 쉬프트된 신호 라인들 및 상기 결함 신호 라인들로 전송하는 반도체 시스템.
13. The method of claim 12,
The first semiconductor device generates second signals in parallel by arranging the first signals at positions of the shifted signal lines and dummy signals at positions of the defect signal lines, and the second signal are transmitted to the shifted signal lines and the defect signal lines.
◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 19 was abandoned at the time of payment of the registration fee.◈ 제18항에 있어서,
상기 제1 반도체 장치는, 상기 쉬프트 값들에 각각 대응하는 하나 이상의 인코딩 벡터들을 생성하고, 상기 인코딩 벡터들 중 서로 다른 값들을 가진 연속된 인코딩 벡터들의 사이에 더미 인코딩 벡터들을 삽입하고, 상기 인코딩 벡터들 및 더미 인코딩 벡터들에 근거하여 상기 제1 신호들 및 상기 더미 신호들을 배치하는 반도체 시스템.
19. The method of claim 18,
The first semiconductor device generates one or more encoding vectors respectively corresponding to the shift values, inserts dummy encoding vectors between consecutive encoding vectors having different values among the encoding vectors, and selects the encoding vectors. and disposing the first signals and the dummy signals based on dummy encoding vectors.
◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 20 was abandoned when paying the registration fee.◈ 제18항에 있어서,
상기 제2 반도체 장치는 상기 쉬프트된 신호 라인들 및 상기 결함 신호 라인들로부터 상기 제2 신호들을 수신하고, 상기 쉬프트 값들에 근거하여 상기 제2 신호들로부터 더미 비트들을 제거함으로써 상기 제1 신호들을 병렬적으로 복구하는 반도체 시스템.
19. The method of claim 18,
The second semiconductor device receives the second signals from the shifted signal lines and the defective signal lines, and parallelizes the first signals by removing dummy bits from the second signals based on the shift values. A semiconductor system that recovers from the enemy.
◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 21 has been abandoned at the time of payment of the registration fee.◈ 제20항에 있어서,
상기 제2 반도체 장치는, 상기 쉬프트 값들에 각각 대응하는 하나 이상의 디코딩 벡터들을 생성하고, 상기 디코딩 벡터들에 근거하여 상기 제1 신호들을 복구하는 반도체 시스템.
21. The method of claim 20,
The second semiconductor device generates one or more decoding vectors respectively corresponding to the shift values, and recovers the first signals based on the decoding vectors.
KR1020170107232A 2017-08-24 2017-08-24 Semiconductor apparatus and semiconductor system KR102342315B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170107232A KR102342315B1 (en) 2017-08-24 2017-08-24 Semiconductor apparatus and semiconductor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170107232A KR102342315B1 (en) 2017-08-24 2017-08-24 Semiconductor apparatus and semiconductor system

Publications (2)

Publication Number Publication Date
KR20190021867A KR20190021867A (en) 2019-03-06
KR102342315B1 true KR102342315B1 (en) 2021-12-24

Family

ID=65761190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170107232A KR102342315B1 (en) 2017-08-24 2017-08-24 Semiconductor apparatus and semiconductor system

Country Status (1)

Country Link
KR (1) KR102342315B1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111609654B (en) 2019-02-25 2022-03-08 Lg电子株式会社 Entrance refrigerator and refrigerator
CN111609656A (en) 2019-02-25 2020-09-01 Lg电子株式会社 Entrance refrigerator and refrigerator
CN111609648A (en) 2019-02-25 2020-09-01 Lg电子株式会社 Entrance refrigerator and refrigerator
CN111609649B (en) 2019-02-25 2022-01-18 Lg电子株式会社 Entrance refrigerator and refrigerator
CN111609650A (en) 2019-02-25 2020-09-01 Lg电子株式会社 Entrance refrigerator and refrigerator
EP3699526A1 (en) 2019-02-25 2020-08-26 LG Electronics Inc. Entrance refrigerator
CN111609647B (en) 2019-02-25 2021-11-05 Lg电子株式会社 Entrance refrigerator and refrigerator
CN111609651B (en) 2019-02-25 2022-06-28 Lg电子株式会社 Entrance refrigerator and refrigerator
CN111609655B (en) 2019-02-25 2021-12-21 Lg电子株式会社 Entrance refrigerator and refrigerator
EP3699521B1 (en) 2019-02-25 2023-09-06 LG Electronics Inc. Entrance refrigerator

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A.-C. Hsieh 외, "TSV Redundancy: Architecture and Design Issues in 3-D IC," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 20, no. 4, 2012. 04.*
K. H. Choi 외, "A Decoupled Bit Shifting Technique Using Data Encoding/Decoding for DRAM Redundancy Repair," IEICE Electronics Express, 2017. 06.*
T. Namekawa 외, "Dynamically Shift-Switched Dataline Redundancy Suitable for DRAM Macro with Wide Data Bus," IEEE Journal of Solid-State Circuits, vol. 35, no. 5, 2000. 05.*

Also Published As

Publication number Publication date
KR20190021867A (en) 2019-03-06

Similar Documents

Publication Publication Date Title
KR102342315B1 (en) Semiconductor apparatus and semiconductor system
US10074443B2 (en) Semiconductor device including fuse circuit
CN101171641B (en) Use of data latches in cache operations of non-volatile memories
US8867286B2 (en) Repairable multi-layer memory chip stack and method thereof
US8498153B2 (en) Semiconductor memory device and method of operating the same
CN101512668A (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory and methods therefor
US9324407B2 (en) Semiconductor apparatus capable of preventing refresh error and memory system using the same
US9312032B2 (en) Semiconductor memory apparatus and data processing system with main memory blocks and redundant memory blocks sharing a common global data line
EP2962304A1 (en) Sub-block disabling in 3d memory
CN107408411B (en) Memory device and control method thereof
KR102336458B1 (en) Non-volatile memory device and test system therof
CN105321576A (en) Semiconductor memory device and method for operating the same
JP2009176384A (en) Semiconductor memory device
CN104798136A (en) Memory cell array with reserved sector for storing configuration information
CN103198863A (en) 2-transistor flash memory and programming method of 2-transistor flash memory
KR20180043432A (en) Memory system and operation method of memory device
CN1248236C (en) Semiconductor memory
CN103310849B (en) The method of testing of test circuit, accumulator system and accumulator system
KR101131569B1 (en) Non-volatile memory apparatus, repair circuit and d read out method of code addressable memory data
CN107767916A (en) Memory device and the system for including it
WO2007023545A1 (en) Memory device having redundancy repairing function
US6496428B2 (en) Semiconductor memory
CN102543171A (en) Phase change memory with redundant circuit and redundancy method for phase change memory
CN105047226A (en) Semiconductor memory device and operating method thereof
KR20150072043A (en) Semiconductor device

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