KR20220126629A - 반도체 기억 장치 및 오류 검출 정정 방법 - Google Patents

반도체 기억 장치 및 오류 검출 정정 방법 Download PDF

Info

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
Application number
KR1020220016902A
Other languages
English (en)
Inventor
타카미치 카사이
후지미 카네코
Original Assignee
윈본드 일렉트로닉스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윈본드 일렉트로닉스 코포레이션 filed Critical 윈본드 일렉트로닉스 코포레이션
Publication of KR20220126629A publication Critical patent/KR20220126629A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

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 오류 검출 정정 기능을 실행시키는 단계를 가진다.

Description

반도체 기억 장치 및 오류 검출 정정 방법{SEMICONDUCTOR MEMORY DEVICE AND ERROR DETECTION AND CORRECTION METHOD}
본 발명은, 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 회로의 디코더의 구성을 나타내는 블록도이다.
다음으로, 본 발명의 실시 형태에 대해 도면을 참조해 상세히 설명한다. 본 발명에 따른 반도체 기억 장치는, 예를 들면, 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: 설정 레지스터

Claims (12)

  1. 반도체 기억 장치의 오류 검출 정정 방법에 있어서,
    m비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 또는 n비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 단계와(m, n은 자연수이며, m<n),
    독출 동작 또는 기입 동작 시에, 상기 선택 정보에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는 단계
    를 가지는 오류 검출 정정 방법.
  2. 제1항에 있어서,
    상기 설정하는 단계는,
    외부로부터 커맨드에 의해 상기 선택 정보를 변경 가능한, 오류 검출 정정 방법.
  3. 제1항에 있어서,
    상기 선택 정보는, 상기 제1 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제1 주소 공간 및 상기 제2 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제2 주소 공간을 규정하고,
    상기 실행시키는 단계는,
    독출 동작 또는 기입 동작의 주소에 대응하는 제1 또는 제2 주소 공간에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는, 오류 검출 정정 방법.
  4. 제1항에 있어서,
    오류 검출 정정 방법은,
    상기 제1 오류 검출 정정 기능으로부터 상기 제2 오류 검출 정정 기능으로의 동작이 전환되었을 때, 메모리셀 어레이에 기입된 상기 제1 오류 검출 정정 기능에 관련한 제1 데이터를 상기 제2 오류 검출 정정 기능에 관련한 제2 데이터로 변환하는 단계
    를 더 포함하는, 오류 검출 정정 방법.
  5. 제4항에 있어서,
    상기 변환하는 단계는,
    메모리셀 어레이로부터 상기 제1 데이터를 페이지 버퍼/센스 회로에 독출하고, 독출한 제1 데이터를 상기 제2 오류 검출 정정 기능을 동작시켜 제2 데이터로 변환하고, 변환한 제2 데이터를 메모리셀 어레이의 원래의 위치에 기입하는, 오류 검출 정정 방법.
  6. 제1항에 있어서,
    상기 제1 오류 검출 정정 기능은, 해밍 코드에 의해 1비트의 오류 검출 정정을 실시하고,
    상기 제2 오류 검출 정정 기능은, BCH 코드에 의해 2비트, 4비트 또는 8비트의 오류 검출 정정을 실시하는, 오류 검출 정정 방법.
  7. 제1항에 있어서,
    상기 반도체 기억 장치의 메모리셀 어레이는, 레귤러 영역과 스페어 영역을 포함한 NAND형의 메모리셀 어레이이고,
    상기 스페어 영역에는, 상기 제1 또는 제2 오류 검출 정정 기능에 의해 생성된 패리티 비트가 기억되는, 오류 검출 정정 방법.
  8. 메모리셀 어레이와,
    m비트의 오류 검출 정정을 실시하는 제1 오류 검출 정정 기능 및 n비트의 오류 검출 정정을 실시하는 제2 오류 검출 정정 기능을 포함한 오류 검출 정정 회로와(m, n은 자연수이며, m<n),
    상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 선택하기 위한 선택 정보를 설정하는 설정 레지스터와,
    독출 동작 또는 기입 동작 시에, 상기 선택 정보에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는 컨트롤러
    를 가지는 반도체 기억 장치.
  9. 제8항에 있어서,
    상기 설정 레지스터는,
    외부로부터 커맨드에 의해 상기 선택 정보를 변경 가능한, 반도체 기억 장치.
  10. 제8항에 있어서,
    상기 선택 정보는, 상기 제1 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제1 주소 공간 및 상기 제2 오류 검출 정정 기능을 선택하기 위한 메모리셀 어레이의 제2 주소 공간을 규정하고,
    상기 컨트롤러는,
    독출 동작 또는 기입 동작의 주소에 대응하는 제1 또는 제2 주소 공간에 근거해 상기 제1 오류 검출 정정 기능 또는 상기 제2 오류 검출 정정 기능을 실행시키는, 반도체 기억 장치.
  11. 제8항에 있어서,
    상기 컨트롤러는,
    상기 제1 오류 검출 정정 기능으로부터 상기 제2 오류 검출 정정 기능으로의 동작이 전환되었을 때, 메모리셀 어레이에 기입된 상기 제1 오류 검출 정정 기능에 관련한 제1 데이터를 상기 제2 오류 검출 정정 기능에 관련한 제2 데이터로 변환하는 변환 수단
    을 포함하는, 반도체 기억 장치.
  12. 제11항에 있어서,
    상기 변환 수단은,
    메모리셀 어레이로부터 제1 데이터를 페이지 버퍼/센스 회로에 독출하고,
    독출한 제1 데이터를 상기 제1 오류 검출 정정 기능을 동작시켜 복호화하고, 또한 복호화된 데이터를 상기 제2 오류 검출 정정 기능으로 다시 부호화해 제2 데이터를 생성하고,
    생성한 제2 데이터를 메모리셀 어레이의 원래의 위치에 기입하는, 반도체 기억 장치.
KR1020220016902A 2021-03-09 2022-02-09 반도체 기억 장치 및 오류 검출 정정 방법 KR20220126629A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230069316A (ko) * 2021-11-11 2023-05-19 삼성디스플레이 주식회사 표시 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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 ウィンボンド エレクトロニクス コーポレーション 半導体装置および連続読出し方法

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) 읽기 데이터 및 산포 정보를 수신하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법