KR20220126629A - 반도체 기억 장치 및 오류 검출 정정 방법 - Google Patents
반도체 기억 장치 및 오류 검출 정정 방법 Download PDFInfo
- Publication number
- KR20220126629A KR20220126629A KR1020220016902A KR20220016902A KR20220126629A KR 20220126629 A KR20220126629 A KR 20220126629A KR 1020220016902 A KR1020220016902 A KR 1020220016902A KR 20220016902 A KR20220016902 A KR 20220016902A KR 20220126629 A KR20220126629 A KR 20220126629A
- Authority
- KR
- South Korea
- Prior art keywords
- error detection
- correction function
- correction
- data
- memory cell
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/109—Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
[과제] 오류 검출 정정 능력과 기입이나 독출의 퍼포먼스의 양립을 도모한다.
[해결수단] 본 발명의 플래쉬 메모리의 오류 검출 정정 방법은, 1비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 또는 복수 비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 단계와, 독출 동작 또는 기입 동작 시에, 설정된 선택 정보에 근거해 제1 오류 검출 정정 기능 또는 제2 오류 검출 정정 기능을 실행시키는 단계를 가진다.
[해결수단] 본 발명의 플래쉬 메모리의 오류 검출 정정 방법은, 1비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 또는 복수 비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 단계와, 독출 동작 또는 기입 동작 시에, 설정된 선택 정보에 근거해 제1 오류 검출 정정 기능 또는 제2 오류 검출 정정 기능을 실행시키는 단계를 가진다.
Description
본 발명은, NAND형 플래쉬 메모리의 반도체 기억 장치에 관한 것으로, 특히, 오류 검출 정정 기능의 전환에 관한 것이다.
NAND형의 플래쉬 메모리에서는, 데이터의 프로그램이나 소거가 반복되는 것으로, 비트 에러를 일으키는 경우가 있다. 이러한 비트 에러 대책으로서, 플래쉬 메모리에는 오류 검출 정정 회로(이하, ECC 회로라고 한다)가 탑재되어 있다(예를 들면, 특허문헌: 특허 6744950호 공보, 특허 6744951호 공보).
도 1에, 종래의 on-chip ECC 기능을 탑재한 NAND형 플래쉬 메모리의 개략 구성을 나타낸다. 플래쉬 메모리(10)는, 메모리셀 어레이(20)와, 페이지 버퍼/센스 회로(30)와, ECC 회로(40)와, 입출력 회로(50)를 포함한다. ECC 회로(40)는, 전송 회로(42), ECC 코어(44), 에러 레지스터(46) 및 기입 회로(48)를 포함한다.
독출 동작에서는, 메모리셀 어레이(20)의 선택 페이지로부터 독출된 데이터가 페이지 버퍼/센스 회로(30)에 유지되고, 페이지 버퍼/센스 회로(30)에 유지된 데이터가 전송 회로(42)를 통해 ECC 코어(44)에 전송된다. ECC 코어(44)는, 전송된 데이터를 ECC 연산하고, 그 연산에서 얻어진 에러 정보가 에러 레지스터(46)에 유지된다. 기입 회로(48)는, 에러 레지스터(46)에 유지된 에러 정보에 근거해, 정정된 데이터를 페이지 버퍼/센스 회로(30)에 라이트백(Write back)한다. 이렇게 해서, 1페이지의 ECC 처리의 종료 후, 페이지 버퍼/센스 회로(30)에 유지된 데이터가 열주소에 따라 데이터 버스(60)에 독출되고, 독출된 데이터가 입출력 회로(50)에 제공된다. 입출력 회로(50)는, 도시하지 않은 입출력 단자로부터 독출 데이터를 외부에 출력한다.
기입 동작에서는, 외부로부터 입력된 프로그램 해야 할 데이터가 페이지 버퍼/센스 회로(30)에 유지되고, ECC 코어(44)는, 페이지 버퍼/센스 회로(30)로부터 전송된 데이터의 부호(패리티 비트)를 생성하고, 기입 회로(48)는, 생성된 부호를 페이지 버퍼/센스 회로(30)의 스페어 영역에 대응하는 위치에 기입한다. ECC 처리 후, 페이지 버퍼/센스 회로(30)에 유지된 데이터가 메모리셀 어레이(20)에 프로그램 된다.
1페이지의 데이터 사이즈가 커지면, 페이지의 독출이나 기입 시간, 혹은 SPI(Serial Peripheral Interface)에 의한 외부 클록 신호에 동기해 복수 페이지의 연속 독출을 실시할 때의 동작 주파수에 다대(多大)한 영향을 미쳐 버린다. 또, 파이프라인 처리에 의해서 고속화를 도모할 수 있지만, 칩 사이즈의 증대로도 이어져, 오류 검출 정정 능력과 독출 퍼포먼스의 양립은 곤란하다.
본 발명은, 이러한 종래의 과제에 주목해, 오류 검출 정정 능력과 기입이나 독출의 퍼포먼스의 양립을 도모하는 반도체 기억 장치 및 오류 검출 정정 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 반도체 기억 장치의 오류 검출 정정 방법은, m비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 또는 n비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 단계와(m, n은 자연수이며, m<n), 독출 동작 또는 기입 동작 시에, 상기 선택 정보에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는 단계를 가진다.
본 발명에 따른 반도체 기억 장치는, 메모리셀 어레이와, m비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 및 n비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 포함한 오류 검출 정정 회로와(m, n은 자연수이며, m<n), 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 설정 레지스터와, 독출 동작 또는 기입 동작 시에, 상기 선택 정보에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는 컨트롤러를 가진다.
본 발명에 의하면, 제1 오류 검출 정정 기능 또는 제2 오류 검출 정정 기능을 선택할 수 있도록 했으므로, 예를 들면, 제품 라이프 사이클 등에 따라 오류 검출 정정 능력을 전환함으로써, 독출이나 기입 동작의 퍼포먼스와 양립을 도모할 수 있다.
[도 1] 종래의 on-chip ECC 기능을 탑재하는 NAND형 플래쉬 메모리의 개략 구성을 나타내는 도면이다.
[도 2] 본 발명의 실시예에 따른 NAND형 플래쉬 메모리의 구성을 나타내는 블록도이다.
[도 3] 본 발명의 실시예에 따른 ECC 회로의 내부 구성을 나타내는 도면이다.
[도 4] 본 발명의 제1 실시예에 따른 설정 레지스터의 일례를 나타내는 도면이다.
[도 5] 본 발명의 제1 실시예에 따른 ECC 회로의 동작을 설명하는 도면이다.
[도 6] 본 발명의 제1 실시예에 따른 ECC 회로의 오류 검출 정정 능력의 전환 동작을 설명하는 플로우이다.
[도 7] 본 발명의 제3 실시예에 따른 설정 레지스터의 일례를 나타내는 도면이다.
[도 8] 본 발명의 제3 실시예에 따른 ECC 회로의 오류 검출 정정 능력의 전환 동작을 설명하는 플로우이다.
[도 9] 본 발명의 실시예에 따른 ECC 회로의 디코더의 구성을 나타내는 블록도이다.
[도 2] 본 발명의 실시예에 따른 NAND형 플래쉬 메모리의 구성을 나타내는 블록도이다.
[도 3] 본 발명의 실시예에 따른 ECC 회로의 내부 구성을 나타내는 도면이다.
[도 4] 본 발명의 제1 실시예에 따른 설정 레지스터의 일례를 나타내는 도면이다.
[도 5] 본 발명의 제1 실시예에 따른 ECC 회로의 동작을 설명하는 도면이다.
[도 6] 본 발명의 제1 실시예에 따른 ECC 회로의 오류 검출 정정 능력의 전환 동작을 설명하는 플로우이다.
[도 7] 본 발명의 제3 실시예에 따른 설정 레지스터의 일례를 나타내는 도면이다.
[도 8] 본 발명의 제3 실시예에 따른 ECC 회로의 오류 검출 정정 능력의 전환 동작을 설명하는 플로우이다.
[도 9] 본 발명의 실시예에 따른 ECC 회로의 디코더의 구성을 나타내는 블록도이다.
다음으로, 본 발명의 실시 형태에 대해 도면을 참조해 상세히 설명한다. 본 발명에 따른 반도체 기억 장치는, 예를 들면, NAND형 플래쉬 메모리, 혹은 이러한 플래쉬 메모리를 내장한 마이크로 프로세서, 마이크로 컨트롤러, 로직, ASIC, 화상이나 음성을 처리하는 프로세서, 무선 신호를 처리하는 프로세서이다.
도 2는, 본 발명의 실시예에 따른 NAND형 플래쉬 메모리의 내부 구성을 나타내는 도면이다. 플래쉬 메모리(100)는, 복수의 메모리셀이 행렬상으로 배열된 메모리셀 어레이(110)와, 외부 입출력 단자에 접속되고, 또한 독출 데이터를 외부에 출력하거나 혹은 외부로부터 입력되는 데이터를 받아들이는 입출력 회로(120)와, 프로그램해야 할 데이터의 오류 정정 부호의 생성이나 상기 오류 정정 부호에 근거해 독출된 데이터의 오류 검출 정정을 실시하는 ECC 회로(130)와, 입출력 회로(120)를 통해 주소 데이터를 수취하는 주소 레지스터(140)와, 입출력 회로(120)를 통해 수취한 명령(커맨드)이나 제어 단자에 인가된 제어 신호에 근거해 각 부를 제어하는 컨트롤러(150)와, 주소 레지스터(140)로부터 행주소 정보(Ax)의 디코드 결과에 근거해 블록 선택이나 워드선(word line)의 선택을 실시하는 워드선 선택 회로(160)와, 메모리셀 어레이(110)의 선택 페이지로부터 독출된 데이터를 유지하거나, 선택 페이지에 프로그램 하는 데이터를 유지(holding)하는 페이지 버퍼/센스 회로(170)와, 주소 레지스터(140)로부터 열주소 정보(Ay)의 디코드 결과에 근거해 열의 선택을 실시하는 열선택 회로(180)와, 복수의 오류 검출 정정 기능에 대한 선택 정보를 설정하는 설정 레지스터(190)를 포함한다. 여기에는 도시하지 않지만, 플래쉬 메모리(100)는, 데이터의 독출, 프로그램(기입) 및 소거를 위해 필요한 전압(프로그램 전압(Vpgm), 패스 전압(Vpass), 독출 전압(Vread), 소거 전압(Vers))을 생성하는 내부 전압 발생 회로를 포함한다. 또, NAND형 플래쉬 메모리(100)는, NOR형 플래쉬 메모리와의 동작의 호환성을 도모하기 위해 SPI를 탑재하는 것이어도 괜찮다.
메모리셀 어레이(110)는, 예를 들면, 열방향으로 배치된 m개의 메모리 블록(BLK(0), BLK(1),…, BLK(m-1))을 가진다. 1개의 메모리 블록에는, 복수의 NAND 스트링이 형성되고, 1개의 NAND 스트링은, 직렬로 접속된 복수의 메모리셀과 비트선측 선택 트랜지스터와 소스선측 선택 트랜지스터를 포함한다. 비트선측 선택 트랜지스터의 드레인은 대응하는 1개의 글로벌 비트선에 접속되고, 소스선측 선택 트랜지스터의 소스는 공통의 소스선에 접속된다. 메모리셀의 게이트는, 대응하는 워드선에 접속되고, 비트선측 선택 트랜지스터 및 소스선측 선택 트랜지스터의 각 게이트는, 선택 게이트선(SGD, SGS)에 각각 접속된다. 워드선 선택 회로(160)는, 행주소 정보(Ax)에 근거해 선택 게이트선(SGD, SGS)을 통해 비트선측 선택 트랜지스터, 소스선측 선택 트랜지스터를 구동해, 블록이나 워드선을 선택한다. NAND 스트링은, 기판 표면 상에 2차원적으로 형성되어도 좋고, 기판 표면 상에 3차원적으로 형성되어도 무방하다. 또, 메모리셀은, 1비트(2값 데이터)를 기억하는 SLC 타입이어도 좋고, 다비트를 기억하는 타입이어도 무방하다.
독출 동작에서는, 비트선에 어느 정(正)의 전압을 인가하고, 선택 워드선에 어느 전압(예를 들면, 0V)을 인가하고, 비선택 워드선에 패스 전압(Vpass)(예를 들면, 4.5V)을 인가하고, 선택 게이트선(SGD, SGS)에 정(正)의 전압(예를 들면, 4.5V)을 인가하고, 비트선측 선택 트랜지스터, 소스선측 선택 트랜지스터를 온(On)하고, 공통 소스선(SL)을 0V로 한다. 프로그램 동작에서는, 선택 워드선에 고전압의 프로그램 전압(Vpgm)(예를 들면, 15~20V)을 인가하고, 비선택의 워드선에 중간 전위(예를 들면, 10V)를 인가하고, 비트선측 선택 트랜지스터를 온시키고, 소스선측 선택 트랜지스터를 오프(Off)시키고, 데이터 「0」 또는 「1」에 따른 전위를 비트선에 공급한다. 소거 동작에서는, 블록 내의 선택 워드선에 0V를 인가하고, P웰에 고전압(예를 들면, 20V)을 인가한다.
ECC 회로(130)는, 어느 양태에서는, 도 3에 도시한 것처럼 1비트의 오류 검출 정정 기능을 가지는 제1 ECC부(132)와, 8비트의 오류 검출 정정 기능을 가지는 제2 ECC부(134)를 포함한다. 제1 ECC부(132)는, 해밍 코드(hamming code)를 이용해 데이터의 부호화/복호화를 실시하고, 제2 ECC부(134)는, BCH 코드를 이용해 데이터의 부호화/복호화를 실시한다. 제1 ECC부(132) 및 제2 ECC부(134)에는, 컨트롤러(150)로부터 제1 인에이블 신호(EN_1) 및 제2 인에이블 신호(EN_2)가 각각 공급된다. 제1 ECC부(132)는, 제1 인에이블 신호(EN_1)가 제1 논리 상태일 때 인에이블(enable) 되고, 제2 논리 상태일 때 디스에이블(disable) 된다. 제2 ECC부(134)는, 제2 인에이블 신호(EN_2)가 제1 논리 상태일 때 인에이블 되고, 제2 논리 상태일 때 디스에이블 된다. 제1 ECC부(132) 및 제2 ECC부(134)는, 공급되는 내부 클록 신호(CLK_ECC)에 동기해 ECC 처리를 실시한다.
설정 레지스터(190)는, 제1 ECC부(132) 또는 제2 ECC부(134)의 동작을 선택하기 위한 선택 정보를 설정하고, 이를 유지한다. 선택 정보는, 예를 들면, 도 4에 나타내는 1비트의 플래그를 포함하고, 플래그 「0」은, 제1 ECC부(132)의 선택을 규정하고, 플래그 「1」은, 제2 ECC부(134)의 선택을 규정한다. 어느 양태에서는, 선택 정보는, 플래쉬 메모리(100)의 파워온(power-on) 시퀀스가 실행될 때 퓨즈 ROM(퓨즈 메모리셀)으로부터 로드된다. 디폴트 상태 또는 출하 시, 퓨즈 ROM에는, 선택 정보로서 플래그 「0」이 저장된다. 라이프 사이클이 초기 또는 전반(前半)일 때, 메모리셀의 경년(經年) 열화가 비교적 적기 때문에 오류의 발생 빈도가 적다고 예측된다. 이 때문에, 초기 설정으로서 제1 ECC부(132)가 선택되도록 한다. 그러므로, 라이프 사이클의 전반에서는, ECC 처리 시간이 짧고, ECC 처리에 의해 독출이나 기입 시간이 길어지는 것이 억제된다.
설정 레지스터(190)는, 외부로부터 액세스 가능하고, 유저는, 소정의 커맨드를 이용해 설정 레지스터(190)에 설정된 선택 정보를 개서(Rewrite)할 수 있다. 컨트롤러(150)는, 입출력 회로(120)를 통해 호스트 컴퓨터로부터 설정 레지스터의 기입 커맨드 및 기입 데이터를 수취하면, 상기 기입 데이터를 설정 레지스터(190)에 기입한다. 이에 따라, 선택 정보의 개서(Rewrite)가 실시된다. 라이프 사이클이 후반이 되어, 메모리셀의 경년 열화가 생기면, 그것이 원인으로 오류의 발생 빈도의 증가가 예측된다. 이에 대처하기 위해, 제2 ECC부(134)를 선택하는 것으로 싱글 비트의 오류 검출 정정 기능으로부터 다비트의 오류 검출 정정 기능으로의 전환이 실시된다. 이에 따라, 라이프 사이클의 후반에서는, ECC 처리에 의해 독출이나 기입의 시간이 길어지지만, 그 반면, 오류 검출 정정 능력이 증가해, 신뢰성의 저하가 억제된다.
컨트롤러(150)는, 마이크로 컨트롤러 또는 스테이트 머신을 포함하고, 외부로부터 수취하는 커맨드나 제어 신호에 근거해 플래쉬 메모리(100)의 독출, 프로그램, 소거, 오류 검출 정정 기능의 전환 등의 전체 동작을 제어한다.
다음에, ECC 회로(130)의 동작에 대해 설명한다. 프로그램 동작 시, 입출력 회로(120)로부터 입력된 데이터가 페이지 버퍼/센스 회로(170)에 유지되고, 다음에, 유지된 데이터가 ECC 회로(130)에 전송된다. ECC 회로(130)는, 전송된 데이터에 대해 ECC 연산을 실시해, 오류 정정 부호(예를 들면, 패리티 비트)를 생성하고, 생성한 오류 정정 부호를 페이지 버퍼/센스 회로(170)의 스페어 영역에 라이트백(Write back)한다. 그 후, 입력된 데이터 및 오류 정정 부호는, 메모리셀 어레이(110)의 선택된 페이지에 프로그램 된다.
독출 동작 시, 메모리셀 어레이(110)의 선택 페이지로부터 독출된 데이터가 페이지 버퍼/센스 회로(170)에 전송되고, 거기에 유지된다. 다음에, 유지된 데이터가 ECC 회로(130)에 전송되고, ECC 회로(130)는, 오류 정정 부호에 근거해 오류의 유무를 검출하고, 오류가 검출된 경우에는, 데이터의 오류를 정정한다. 오류의 정정은, 예를 들면, 페이지 버퍼/센스 회로(170)에 유지된 데이터를 개서(Rewrite)하는 것에 의해 실시된다. 그 후, 페이지 버퍼/센스 회로(170)에 유지된 데이터는 입출력 회로(120)를 통해 외부에 출력된다.
도 5에, 페이지 버퍼/센스 회로(170)의 데이터 구성예를 나타낸다. 페이지 버퍼/센스 회로(170)는, 예를 들면, 섹터0~섹터7의 8개의 섹터로 분할된 레귤러 영역(200)과, 스페어0, 스페어1, 스페어2, 스페어3의 4개의 섹터로 분할된 스페어 영역(210)을 가진다. 레귤러 영역은, 데이터의 기억에 이용되고, 레귤러 영역(200)의 1개의 섹터는, 예를 들면, 256바이트로부터 구성되고, 레귤러 영역(200)의 8개의 섹터는, 전체적으로 약 2K바이트의 데이터를 유지한다.
스페어 영역(210)의 1개의 섹터는, 예를 들면, 16바이트로 구성되고, 4개의 섹터(스페어0~스페어3)는 전체적으로 64바이트의 데이터를 유지한다. 스페어0에는, 레귤러 영역(200)의 섹터0, 섹터1의 오류 정정 부호가 기억되고, 스페어1에는, 레귤러 영역(200)의 섹터2, 섹터3의 오류 정정 부호가 기억되고, 스페어2에는, 레귤러 영역(200)의 섹터4, 섹터5의 오류 정정 부호가 기억되고, 스페어3에는, 레귤러 영역(200)의 섹터6, 섹터7의 오류 정정 부호가 기억된다.
ECC 회로(130)는, 섹터 단위로 전송된 데이터를 수취해, 이를 ECC 처리부(135)에 전송하는 전송 회로(136)와, 1비트의 오류 검출 정정 기능을 가지는 제1 ECC부(132) 및 8비트의 오류 검출 정정 기능을 가지는 제2 ECC부(134)를 포함한 ECC 처리부(135)와, 오류 정정 부호를 스페어 영역(210)에 기입하거나 정정된 데이터를 레귤러 영역(200)에 기입하는 기입 회로(138)를 포함한다.
컨트롤러(150)는, 설정 레지스터(190)에 설정된 선택 정보(플래그)에 근거해 인에이블 신호(EN_1, EN_2)를 ECC 회로(130)에 출력하고, 제1 ECC부(132) 또는 제2 ECC부(134)를 선택적으로 동작시킨다. 제1 ECC부(132)는, 해밍 코드를 이용해 싱글 비트의 오류 검출 정정을 실시하고, 제2 ECC부(134)는, BCH 코드를 이용해 8비트의 오류 검출 정정을 실시한다. 제1 ECC부(132)가 필요로 하는 시간은, 제2 ECC부(134)가 필요로 하는 시간보다 짧고, 그러므로, 제1 ECC부(132)가 선택되었을 때, 제2 ECC부(134)가 선택되었을 때 보다 독출이나 기입에 필요로 하는 시간을 짧게 할 수 있고, 반면, 제2 ECC부(134)가 선택되었을 때, 제1 ECC부(132)가 선택되었을 때 보다 많은 오류 비트의 검출 정정을 실시할 수 있다.
도 6은, 본 발명의 제1 실시예에 의한 ECC 회로의 오류 검출 정정 능력의 전환 동작을 설명하는 플로우이다. 메모리셀 어레이(110)의 유저 사용 영역과 다른 퓨즈 ROM(예를 들면, 유저에 의해서 액세스 할 수 없는 영역)에, ECC 회로(130)의 제1 ECC부(132) 또는 제2 ECC부(134)의 선택 정보의 초기값이 저장된다. 선택 정보의 초기값은, 제품 출하시의 정보로서 제1 ECC부(132)의 선택을 설정한다. 파워업(power-up) 시퀀스의 실행시, 퓨즈 ROM에 저장된 선택 정보가 설정 레지스터(190)에 로드된다(S100).
컨트롤러(150)는, 설정 레지스터(190)의 선택 정보를 참조해, 인에이블 신호(EN_1)를 통해 제1 ECC부(132)를 인에이블 하고, 인에이블 신호(EN_2)를 통해 제2 ECC부(134)를 디스에이블 한다. 이에 따라, 독출이나 기입 동작 시, 선택된 제1 ECC부(132)가 동작되고, 제2 ECC부(134)는 비동작이 된다(S110).
그 후, 플래쉬 메모리의 사용 상황에 따라, 유저는, 설정 레지스터(190)의 선택 정보를 개서(Rewrite)해, 제2 ECC부(134)가 선택되도록 한다(S120). 선택 정보의 개서(Rewrite)가 실시되면, 컨트롤러(150)는, 인에이블 신호(EN_1)를 통해 제1 ECC부(132)를 디스에이블 하고, 인에이블 신호(EN_2)를 통해 제2 ECC부(134)를 인에이블 한다. 이에 따라, 독출이나 기입 동작 시, 선택된 제2 ECC부(134)가 동작되고, 제1 ECC부(132)는 비동작이 된다(S130).
이와 같이, 본 실시예에 의하면, 설정 레지스터의 선택 정보에 따라 제1 ECC부(132) 또는 제2 ECC부(134)를 동작시키도록 했으므로, 제품 라이프 사이클에 따라 오류 검출 정정 능력을 선택적으로 전환할 수 있고, 오류 검출 정정의 처리 시간을 최적으로 관리해, 페이지 리드 시간이나 연속 독출의 동작 주파수의 저하를 억제할 수 있다. 즉, 메모리셀의 경년 열화가 적은 기간에서는, ECC 처리에 필요로 하는 시간을 짧게 하여 독출이나 기입의 고속화를 가능하게 하고, 그 한편으로, 메모리셀의 경년 열화가 많아지는 기간에서는, 오류 정정 능력을 증강하여 신뢰성의 향상을 도모할 수 있다.
덧붙여, 설정 레지스터(190)는, 퓨즈 ROM으로부터 초기값을 로드하도록 했지만, 이는 일례이며, 본 실시예는, 반드시 이러한 양태로 한정되는 것은 아니다. 예를 들면, 설정 레지스터(190)는, 메모리셀 어레이(110)의 유저가 사용 가능한 영역의 일부의 메모리 공간을 이용하는 것이어도 무방하고, 그 메모리 공간의 디폴트값(소거 상태)이 제1 ECC부(132)의 선택을 나타내도록 해도 괜찮다. 이 경우, 컨트롤러(150)는, 상기 메모리 공간의 디폴트값을 독출해, 제1 ECC부(132)를 인에이블시키고, 제2 ECC부(134)를 디스에이블 한다. 제2 ECC부(134)를 선택하는 경우에는, 유저는, 상기 메모리 공간의 디폴트값을 프로그램 하여, 선택 정보를 개서(Rewrite)한다.
다음에, 본 발명의 제2 실시예에 대해 설명한다. 제1 실시예에서 제1 ECC부(132)로부터 제2 ECC부(134)로 동작을 전환한 경우, 제1 ECC부(132)에서 부호화된 데이터를 제2 ECC부(134)에서 복호화할 수 없다. 즉, 메모리셀 어레이(110)에 저장되어 있는 제1 ECC부(132)에서 생성된 오류 정정 부호는, 제2 ECC부(134)에서 해독할 수 없기 때문에, 제2 ECC부(134)로 전환한 경우에는, 제1 ECC부(132)에서 생성된 오류 정정 부호를 제2 ECC부(134)에서 생성된 오류 정정 부호로 변환해야 한다.
그래서, 제2 실시예는, 플래쉬 메모리의 카피백(Copy-back) 기능을 이용하여, 제1 ECC부(132)에서 처리된 페이지를 메모리셀 어레이로부터 페이지 버퍼/센스 회로(170)에 독출하고, 독출한 데이터를 제1 ECC부(132)에서 복호화하고(즉, 오류 검출 정정을 실시하고), 게다가, 복호화된 데이터를 제2 ECC부(134)에서 다시 부호화해 오류 정정 부호를 생성하고, 생성한 오류 정정 부호를 포함한 데이터를 메모리셀 어레이의 원래의 페이지에 프로그램 한다.
이러한 데이터 변환은, 메모리셀 어레이(110)에 저장된 제1 ECC부(132)에 대한 모든 데이터에 대해 실시된다. 컨트롤러(150)는, 카피백(Copy-back) 기능을 이용한 데이터 변환을, 플래쉬 메모리(100)의 동작에 간섭하지 않도록 백그라운드로 자동적으로 실시하거나, 혹은 독출이나 기입 등의 동작이 실시되지 않는 기간 중에 자동적으로 실시한다. 또, 어느 양태에서는, 데이터 변환 또는 미변환을 나타내는 플래그를 스페어 영역에 저장하고, 컨트롤러(150)는, 상기 플래그를 참조해 데이터 변환을 실시하고, 변환 후에 플래그를 개서(Rewrite)하도록 해도 무방하다.
이와 같이, 본 실시예에 의하면, 카피백(Copy-back) 기능을 이용해서 데이터 변환을 자동적으로 실시하도록 했으므로, 제1 ECC부(132)로부터 제2 ECC부(134)로의 오류 정정 기능의 전환을 원활하게 실시할 수 있다.
다음에, 본 발명의 제3 실시예에 대해 설명한다. 본 실시예에서는, 주소 공간에 따라 오류 검출 정정 능력을 전환한 것이다. 도 7은, 본 실시예의 설정 레지스터(190)의 설정예를 나타내는 도면이다. 설정 레지스터(190)에는, 주소 공간과 그에 대응하는 플래그와의 관계가 미리 설정된다. 주소 공간은, 메모리셀 어레이(110)의 행주소의 범위를 규정하고, 예를 들면, 주소 공간1에는 플래그「0」, 주소 공간2에는 플래그「1」, 주소 공간3에는 플래그「0」이 할당된다. 플래그「0」은, 제1 ECC부(132)의 선택을 나타내고, 플래그「1」은, 제2 ECC부(134)의 선택을 나타내고, 따라서, 주소 공간1에 대한 독출이나 기입이 실시되는 경우에는 제1 ECC부(132)가 선택되고, 주소 공간2에 대한 독출이나 기입이 실시되는 경우에는 제2 ECC부(134)가 선택된다.
도 8은, 제3 실시예에 의한 ECC 회로의 오류 검출 정정 능력의 전환 동작을 설명하는 플로우이다. 독출 또는 기입 동작이 실시될 때, 외부로부터 입출력 회로(120)를 통해 독출 또는 기입을 위한 커맨드나 주소가 입력된다(S200).
컨트롤러(150)는, 설정 레지스터(190)를 참조해, 입력된 주소의 행주소에 해당하는 주소 공간의 플래그를 식별하고(S210), 식별한 플래그에 따라 제1 ECC부(132) 또는 제2 ECC부(134)를 선택하기 위해, 인에이블 신호(EN_1, EN_2)를 통해 제1 ECC부(132) 또는 제2 ECC부(134)를 인에이블 한다(S220). 이렇게 해서, 독출 동작 또는 기입 동작 시에, 주소에 따라 선택된 제1 ECC부(132) 또는 제2 ECC부(134)에 의해 오류 검출 정정이 실시된다(S230).
이와 같이, 본 실시예에 의하면, 주소 공간에 따라 오류 검출 정정 능력을 변경할 수 있다. 예를 들면, 호스트측 컴퓨터가 메모리셀 어레이의 데이터 개서 횟수 또는 소거 횟수를 블록 단위로 관리하고 있는 경우, 주소 공간을 블록 단위로 설정해, 데이터 개서 횟수 또는 소거 횟수가 일정 이상이 되었을 때, 그 주소 공간의 플래그를 「0」에서 「1」로 개서(Rewrite)하도록 해도 무방하다. 이에 따라, 주소 공간의 메모리셀의 경년 열화에 따라 오류 검출 정정 능력을 변경할 수 있다.
다음에, 제2 ECC부(134)의 구체적인 예에 대해 설명한다. 제2 ECC부(134)는, BCH 부호를 이용해 데이터를 부호화하는 인코더와, BCH 부호화된 데이터를 복호화하는 디코더를 포함한다. 도 9(A)는, BCH 디코더의 내부 구성을 나타내는 블록도이다. BCH 디코더(300)는, 데이터의 신드롬을 평가하는 신드롬 계산부(310)와, 에러 위치 다항식(ELP)을 계산하는 유클리드 호제(Euclid 互除) 계산부(320)와, 에러 위치 다항식의 근(根)을 계산해, 오류 위치를 탐색하는 오류 위치 탐색부(330)와, 탐색된 오류 위치에 근거해 페이지 버퍼/센스 회로(170)에 정정된 데이터를 라이트백(Write back)하는 오류 비트 정정부(340)를 포함한다.
BCH 디코더(300)에는, 리셋 신호(RST), ECC 연산용 클록 신호(CLK), 인에이블 신호(ENABLE_IN), 밸리드 신호(VALID_IN), 데이터(DATA_IN)를 수취하기 위한 입력 단자가 설치되어 있다. 신드롬 계산부(310)는, 그 평가 결과 및 유클리드 호제의 계산 개시를 나타내는 개시 신호(EUC_S)를 유클리드 호제 계산부(320)에 출력한다. 유클리드 호제 계산부(320)는, 에러 위치 다항식의 계산 결과와 계산 종료를 나타내는 종료 신호(EUC_E)를 오류 위치 탐색부(330)로 출력한다.
도 9(B)는, BCH 디코더의 각 부의 처리예를 나타내는 타이밍 차트이다. t1은, 신드롬 계산부(310)의 처리 기간, t2는, 유클리드 호제 계산부(320)의 처리 기간, t3은, 오류 위치 탐색부(330)의 처리 기간, t4는, 오류 비트 정정부(340)의 처리 기간을 나타내고 있다.
BCH 디코더(300)는, 입력된 클록 신호(CLK)에 동기해 처리를 실시하고, 인에이블 신호(ENABLE_IN)가 H레벨로 천이함에 따라 동작 가능하게 된다. 밸리드 신호(VALID_IN)의 H레벨의 기간 중, 페이지 버퍼/센스 회로에 유지된 데이터가 DATA_IN으로부터 신드롬 계산부(310)에 받아들여진다. 신드롬 계산부(310)는, 신드롬의 계산이 종료하면, Euclid 호제의 개시를 나타내는 펄스 신호(EUC_S)를 출력하고, 이에 응답해, 유클리드 호제 계산부(320)가 에러 위치 다항식을 계산한다. 유클리드 호제 계산부(320)는, 에러 위치 다항식의 계산이 종료하면, 그 종료를 나타내는 펄스 신호(EUC_E)를 출력하고, 이에 응답해, 오류 위치 탐색부(330)가 오류 위치를 탐색한다. 오류 비트 정정부(340)는, 출력 단자(DATA_OUT)를 통해 페이지 버퍼/센스 회로(170)의 데이터를 개서(Rewrite)한다.
예를 들면, BCH 부호를 이용하여, 528바이트 당, 8비트의 오류 검출 정정을 실시하는 경우, 신드롬 계산에 149 클록 사이클, 유클리드 호제 계산에 82 클록 사이클, 오류 위치 탐색에 143 클록 사이클, 오류 정정에 48 클록 사이클이 필요하게 되어, 전체적으로 422 클록 사이클이 필요하게 된다. 클록 신호(CLK)의 주파수가 50MHz일 때, 클록의 1 사이클 시간은 20ns이며, BCH 부호의 디코드 처리에는, 8.44us를 소비한다. 페이지 버퍼/센스 회로(170)의 1페이지의 사이즈가 2K바이트이면, 약 34us(1688 사이클 = 422*4)가 필요하다.
한편, 해밍 부호를 이용한 1비트의 오류 검출 정정을 실시하는 경우, 신드롬 계산과 오류 정정의 구성이 간이해지기 때문에, 2K바이트의 오류 검출 정정에 필요한 클록 사이클 수는 330 정도이다. 클록의 1 사이클 시간이 20ns이면, 약 6.7us로 처리가 완료한다. 단순히 8비트의 BCH 부호와 비교하면, 약 1/6의 처리 시간으로 끝나게 된다. 4K바이트의 페이지 길이이고, 어레이 리드 시간이 20ns인 경우, 8비트의 BCH 부호에서는, tRD2 = (20us+34us*2) = 88us인데 비해서, 1비트의 해밍 부호에서는, tRD2 = (20us+(6.7us*2) = 34us가 되어, 양자의 차이는 매우 커진다. 따라서, BCH 부호를 이용했을 경우, 페이지 리드 시간(tRD2)이나 연속 독출 동작을 위한 클록 주파수의 상한에 영향을 미친다.
상기 실시예에서는, 1비트의 오류 검출 정정 기능(제1 ECC부(132))과 8비트의 오류 검출 정정 기능(제2 ECC부(134))을 이중으로 구현하게 되지만, 회로 규모는 8비트의 오류 검출 정정 회로가 지배적이며, 오류 비트 정정부(340)는 중복해 이용할 수 있기 때문에, ECC 회로(130)는, 8비트의 오류 정정 기능에 1비트의 오류 검출 정정 회로의 신드롬 계산부를 추가하는 것 만으로 실현 가능하다. 이 때문에 칩 사이즈에 대한 임팩트는 그다지 영향은 없다.
상기 실시예에서는, 해밍 코드를 이용한 오류 검출 정정과 BCH 코드를 이용한 오류 검출 정정을 예시했지만, 이는 일례이며, 본 발명은, 다른 코드를 이용한 오류 검출 정정에도 적용할 수 있다.
게다가, 상기 실시예에서는, 제2 ECC부(134)의 BCH 부호에서 8비트의 오류 검출 정정을 실시하도록 했지만, 이는 일례이며, 제2 ECC부(134)의 BCH 부호는, 2비트, 4비트, 혹은 16비트의 오류 검출 정정을 실시하는 것이어도 무방하다. 게다가, 상기 실시예에서는, 제1 ECC부(132)가 1비트의 오류 검출 정정을 실시하도록 했지만, 이는 일례이며, '제1 ECC부(132)에 의한 오류 검출 정정 기능 < 제2 ECC부(134)에 의한 오류 검출 정정 기능'의 관계가 있으면, 제1 ECC부(132)는, 2비트 이상의 오류 검출 정정을 실시하도록 해도 무방하다.
본 발명의 바람직한 실시의 형태에 대해 상술했지만, 본 발명은, 특정 실시 형태로 한정되는 것이 아니며, 특허 청구 범위에 기재된 본 발명의 요지의 범위 내에서, 다양한 변형·변경이 가능하다.
100: 플래쉬 메모리
110: 메모리셀 어레이
120: 입출력 회로
130: ECC 회로
132: 제1 ECC부
134: 제2 ECC부
140: 주소 레지스터
150: 컨트롤러
160: 워드선 선택 회로
170: 페이지 버퍼/센스 회로
180: 열선택 회로
190: 설정 레지스터
110: 메모리셀 어레이
120: 입출력 회로
130: ECC 회로
132: 제1 ECC부
134: 제2 ECC부
140: 주소 레지스터
150: 컨트롤러
160: 워드선 선택 회로
170: 페이지 버퍼/센스 회로
180: 열선택 회로
190: 설정 레지스터
Claims (12)
- 반도체 기억 장치의 오류 검출 정정 방법에 있어서,
m비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 또는 n비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 단계와(m, n은 자연수이며, m<n),
독출 동작 또는 기입 동작 시에, 상기 선택 정보에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는 단계
를 가지는 오류 검출 정정 방법. - 제1항에 있어서,
상기 설정하는 단계는,
외부로부터 커맨드에 의해 상기 선택 정보를 변경 가능한, 오류 검출 정정 방법. - 제1항에 있어서,
상기 선택 정보는, 상기 제1 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제1 주소 공간 및 상기 제2 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제2 주소 공간을 규정하고,
상기 실행시키는 단계는,
독출 동작 또는 기입 동작의 주소에 대응하는 제1 또는 제2 주소 공간에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는, 오류 검출 정정 방법. - 제1항에 있어서,
오류 검출 정정 방법은,
상기 제1 오류 검출 정정 기능으로부터 상기 제2 오류 검출 정정 기능으로의 동작이 전환되었을 때, 메모리셀 어레이에 기입된 상기 제1 오류 검출 정정 기능에 관련한 제1 데이터를 상기 제2 오류 검출 정정 기능에 관련한 제2 데이터로 변환하는 단계
를 더 포함하는, 오류 검출 정정 방법. - 제4항에 있어서,
상기 변환하는 단계는,
메모리셀 어레이로부터 상기 제1 데이터를 페이지 버퍼/센스 회로에 독출하고, 독출한 제1 데이터를 상기 제2 오류 검출 정정 기능을 동작시켜 제2 데이터로 변환하고, 변환한 제2 데이터를 메모리셀 어레이의 원래의 위치에 기입하는, 오류 검출 정정 방법. - 제1항에 있어서,
상기 제1 오류 검출 정정 기능은, 해밍 코드에 의해 1비트의 오류 검출 정정을 실시하고,
상기 제2 오류 검출 정정 기능은, BCH 코드에 의해 2비트, 4비트 또는 8비트의 오류 검출 정정을 실시하는, 오류 검출 정정 방법. - 제1항에 있어서,
상기 반도체 기억 장치의 메모리셀 어레이는, 레귤러 영역과 스페어 영역을 포함한 NAND형의 메모리셀 어레이이고,
상기 스페어 영역에는, 상기 제1 또는 제2 오류 검출 정정 기능에 의해 생성된 패리티 비트가 기억되는, 오류 검출 정정 방법. - 메모리셀 어레이와,
m비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 및 n비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 포함한 오류 검출 정정 회로와(m, n은 자연수이며, m<n),
상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 설정 레지스터와,
독출 동작 또는 기입 동작 시에, 상기 선택 정보에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는 컨트롤러
를 가지는 반도체 기억 장치. - 제8항에 있어서,
상기 설정 레지스터는,
외부로부터 커맨드에 의해 상기 선택 정보를 변경 가능한, 반도체 기억 장치. - 제8항에 있어서,
상기 선택 정보는, 상기 제1 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제1 주소 공간 및 상기 제2 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제2 주소 공간을 규정하고,
상기 컨트롤러는,
독출 동작 또는 기입 동작의 주소에 대응하는 제1 또는 제2 주소 공간에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는, 반도체 기억 장치. - 제8항에 있어서,
상기 컨트롤러는,
상기 제1 오류 검출 정정 기능으로부터 상기 제2 오류 검출 정정 기능으로의 동작이 전환되었을 때, 메모리셀 어레이에 기입된 상기 제1 오류 검출 정정 기능에 관련한 제1 데이터를 상기 제2 오류 검출 정정 기능에 관련한 제2 데이터로 변환하는 변환 수단
을 포함하는, 반도체 기억 장치. - 제11항에 있어서,
상기 변환 수단은,
메모리셀 어레이로부터 제1 데이터를 페이지 버퍼/센스 회로에 독출하고,
독출한 제1 데이터를 상기 제1 오류 검출 정정 기능을 동작시켜 복호화하고, 또한 복호화된 데이터를 상기 제2 오류 검출 정정 기능으로 다시 부호화해 제2 데이터를 생성하고,
생성한 제2 데이터를 메모리셀 어레이의 원래의 위치에 기입하는, 반도체 기억 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021036890A JP2022137391A (ja) | 2021-03-09 | 2021-03-09 | 半導体記憶装置および誤り検出訂正方法 |
JPJP-P-2021-036890 | 2021-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220126629A true KR20220126629A (ko) | 2022-09-16 |
Family
ID=83156961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220016902A KR20220126629A (ko) | 2021-03-09 | 2022-02-09 | 반도체 기억 장치 및 오류 검출 정정 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11755209B2 (ko) |
JP (2) | JP2022137391A (ko) |
KR (1) | KR20220126629A (ko) |
CN (1) | CN115050415A (ko) |
TW (1) | TWI799067B (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230069316A (ko) * | 2021-11-11 | 2023-05-19 | 삼성디스플레이 주식회사 | 표시 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0444950A (ja) | 1990-05-31 | 1992-02-14 | Mitsubishi Materials Corp | 缶蓋 |
JPH0444951A (ja) | 1990-06-08 | 1992-02-14 | Toshiyoshi Okada | 飲料缶の缶蓋と呑口栓が別々に、はなれない缶 |
JP2000349652A (ja) * | 1999-06-07 | 2000-12-15 | Hitachi Ltd | 誤り訂正手段を備えた記憶装置 |
KR100759441B1 (ko) | 2006-09-08 | 2007-09-20 | 삼성전자주식회사 | 스텝 셋 전류를 발생하는 상 변화 메모리 장치 |
JP4672743B2 (ja) * | 2008-03-01 | 2011-04-20 | 株式会社東芝 | 誤り訂正装置および誤り訂正方法 |
JP2012123880A (ja) * | 2010-12-10 | 2012-06-28 | Toshiba Corp | 半導体記憶装置 |
JP5764392B2 (ja) * | 2011-06-13 | 2015-08-19 | 株式会社メガチップス | メモリコントローラ |
TWI497495B (zh) | 2012-07-02 | 2015-08-21 | Winbond Electronics Corp | 用於讀取nand快閃記憶體的方法和設備 |
US9520901B2 (en) * | 2014-03-06 | 2016-12-13 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and memory control method |
JP6258399B2 (ja) * | 2016-05-16 | 2018-01-10 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置 |
JP6818666B2 (ja) * | 2017-09-20 | 2021-01-20 | キオクシア株式会社 | メモリシステム |
CN107611050B (zh) | 2017-09-26 | 2020-10-16 | 上海华虹宏力半导体制造有限公司 | 晶圆的测试方法 |
US10691537B2 (en) | 2018-10-12 | 2020-06-23 | Western Digital Technologies, Inc. | Storing deep neural network weights in non-volatile storage systems using vertical error correction codes |
JP6744950B1 (ja) | 2019-05-21 | 2020-08-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置および連続読出し方法 |
JP6744951B1 (ja) | 2019-05-24 | 2020-08-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置および連続読出し方法 |
-
2021
- 2021-03-09 JP JP2021036890A patent/JP2022137391A/ja active Pending
-
2022
- 2022-01-10 TW TW111100911A patent/TWI799067B/zh active
- 2022-01-25 CN CN202210084847.7A patent/CN115050415A/zh active Pending
- 2022-02-09 KR KR1020220016902A patent/KR20220126629A/ko unknown
- 2022-02-17 US US17/673,825 patent/US11755209B2/en active Active
-
2023
- 2023-07-03 JP JP2023109148A patent/JP2023120450A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
TWI799067B (zh) | 2023-04-11 |
CN115050415A (zh) | 2022-09-13 |
US20220291845A1 (en) | 2022-09-15 |
JP2023120450A (ja) | 2023-08-29 |
US11755209B2 (en) | 2023-09-12 |
JP2022137391A (ja) | 2022-09-22 |
TW202238607A (zh) | 2022-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6127200B2 (ja) | メモリデバイスにおけるエラー訂正動作 | |
KR101736792B1 (ko) | 플래시 메모리 및 그것의 셀프 인터리빙 방법 | |
US7406649B2 (en) | Semiconductor memory device and signal processing system | |
US8644066B2 (en) | Multi-level non-volatile memory device, system and method with state-converted data | |
JP5559778B2 (ja) | フラッシュメモリにおける高速低電力のデータ読み出し | |
KR101950758B1 (ko) | 반도체 장치 | |
US9093154B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
JP6164712B1 (ja) | フラッシュメモリ | |
CN111986722B (zh) | 半导体装置及连续读出方法 | |
CN111986724B (zh) | 半导体装置及连续读出方法 | |
JP2010176761A (ja) | 半導体記憶装置 | |
JP2023120450A (ja) | 半導体記憶装置および誤り検出訂正方法 | |
US11487614B2 (en) | Semiconductor storing apparatus and readout method | |
JP2007104708A (ja) | データ処理方法 | |
JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP6886547B1 (ja) | 半導体記憶装置およびecc関連情報の読出し方法 | |
KR102509549B1 (ko) | 읽기 데이터 및 산포 정보를 수신하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |