KR20170129060A - 반도체 장치 - Google Patents

반도체 장치 Download PDF

Info

Publication number
KR20170129060A
KR20170129060A KR1020170059400A KR20170059400A KR20170129060A KR 20170129060 A KR20170129060 A KR 20170129060A KR 1020170059400 A KR1020170059400 A KR 1020170059400A KR 20170059400 A KR20170059400 A KR 20170059400A KR 20170129060 A KR20170129060 A KR 20170129060A
Authority
KR
South Korea
Prior art keywords
error correction
address information
storage area
area
correction code
Prior art date
Application number
KR1020170059400A
Other languages
English (en)
Other versions
KR101950758B1 (ko
Inventor
다케히로 가미나가
Original Assignee
윈본드 일렉트로닉스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윈본드 일렉트로닉스 코포레이션 filed Critical 윈본드 일렉트로닉스 코포레이션
Publication of KR20170129060A publication Critical patent/KR20170129060A/ko
Application granted granted Critical
Publication of KR101950758B1 publication Critical patent/KR101950758B1/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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • 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/44Indication or identification of errors, e.g. for repair
    • 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
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

기존 시스템과의 사이에 호환성을 도모하는 온칩 오류 정정 기능을 구비한 반도체 메모리 장치를 제공한다.
본 발명의 플래시 메모리(100)는, 온칩 ECC 기능을 실행하기 위한 ECC 회로(130)를 포함한다. ECC 회로(130)는, 생성된 오류 정정 부호를 페이지 버퍼/센스 회로(180)의 스페어 영역에 저장한다. CF 레지스터(150)는, 오류 정정 부호를 저장하기 위한 저장 영역을 설정하기 위한 정보를 보유한다. CF 레지스터(150)는 외부 컨트롤러에 의해 액세스하는 것이 가능하고, 외부 컨트롤러는 CF 레지스터(150)의 설정을 변경하여 플래시 메모리 측과 외부 컨트롤러 측의 오류 정정 부호의 저장 영역을 일치시켜 시스템의 호환성을 도모한다.

Description

반도체 장치{SEMICONDUCTOR DEVICE}
본 발명은 반도체 장치에 관한 것으로, 특히 온칩의 오류 검출·정정 기능을 구비한 NAND형 플래시 메모리에 관한 것이다.
NAND형 플래시 메모리에서는, 데이터의 프로그램이나 소거가 반복됨으로써 터널 절연막의 열화에 의해 전하 보유 특성이 악화되거나 터널 절연막에 트랩된 전하에 의해 문턱값 변동이 발생하여 독출 동작 등에서 비트 에러를 일으킨다. 특허문헌 1은, 이러한 비트 에러 대책으로서 오류 검출 정정 회로(ECC: Error Checking Correction)를 탑재하고 있다.
특허문헌 1: 일본공개특허 2010-152989호 공보
NAND 플래시의 미세화에 따라 독출 중 등에 발생하는 에러 비트수는 증가 경향이 있다. 각 서플라이어는 종래 제품과의 호환성을 갖게 하기 위해, 또한 보다 시스템에서 사용하기 쉽게 하기 위해, 오류 검출 정정을 디바이스 자체에서 실행하는 기능을 구비한 제품을 전개하고 있다. 이는 온칩 ECC 제품이라고 불리며, ECC 계산에서 사용하는 코드 정보를 디바이스 내부에서 자동으로 산출하고, 이를 정해진 어드레스 영역에 기입하는 동작을 실행하고 있다.
도 1에 ECC 기능을 온칩으로 탑재하는 NAND형 플래시 메모리의 주요부를 나타낸다. ECC 기능을 온칩으로 탑재하는 플래시 메모리에서는, 커맨드 또는 설정 등에 의해 ECC를 인에이블/디스에이블하는 것이 가능하다. 프로그램 동작시, 외부 입출력 단자로부터 입력된 데이터는 페이지 버퍼/센스 회로(10)에 로(load)드되고, 로드된 데이터가 전송 회로(20)를 통해 ECC 회로(30)에 전송된다. 전송 회로(20)는 쌍방향 데이터 전송이 가능한 복수의 트랜지스터를 포함하고, 각 트랜지스터는 게이트에 공통 접속된 제어 신호(TG)에 의해 구동된다. ECC 회로(30)는 전송된 데이터의 ECC 연산을 행하여 코드 정보, 즉 오류 검출·정정을 위한 오류 정정 부호를 생성하고, 오류 정정 부호를 페이지 버퍼/센스 회로(10)의 스페어 영역에 다시 기입하는 동작을 한다. 다음에, 페이지 버퍼/센스 회로(10)에 보유된 프로그램 데이터 및 오류 정정 부호가 메모리 어레이의 선택 페이지에 프로그램된다. 또한, 독출 동작시, 메모리 어레이의 선택 페이지로부터 독출된 데이터가 페이지 버퍼/센스 회로(10)에 보유되고, 다음으로 보유된 데이터가 전송 회로(20)를 통해 ECC 회로(30)에 전송된다. ECC 회로(30)는 오류 정정 부호에 기초하여 독출 데이터의 오류 검출, 정정을 행하여, 오류가 검출된 경우에는 정정한 데이터를 페이지 버퍼/센스 회로(10)에 세트한다. 그리고, 페이지 버퍼/센스 회로(10)에 보유된 데이터가 외부 입출력 단자로부터 출력된다.
그러나, 종래의 온칩 ECC 기능을 탑재한 플래시 메모리에는 다음과 같은 과제가 있다. 도 2의 (A)는 온칩 ECC 기능을 탑재한 플래시 메모리 측의 스페어 영역의 어드레스 매핑의 예시이며, 도 2의 (B)는 시스템(40) 측의 스페어 영역의 어드레스 매핑의 예시이다. 도 2의 (A)에 도시된 바와 같이, 예를 들어 페이지 버퍼/센스 회로(10)가 2K바이트(512B×4)의 레귤러 영역(REG)과, 64바이트(16B×4)의 스페어 영역(SPA)으로 구성된 것으로 한다. 이 경우, 레귤러 영역(REG)은 4개의 섹터(Main0, Main1, Main2, Main3)로 분할되고, 각 섹터에 데이터가 로드되며, 섹터 단위로 ECC 처리가 이루어진다. 이 때, ECC 연산에 의해 생성된 오류 정정 부호가 스페어 영역(SPA)에 저장된다. 스페어 영역(SPA)의 16바이트의 영역(S0)은 섹터 0(Main0)의 오류 정정 부호를 저장하고, 영역(S1)이 섹터 1(Main1)의 오류 정정 부호를 저장하며, 영역(S2)이 섹터 2(Main2)의 오류 정정 부호를 저장하고, 영역(S3)이 섹터 3(Main3)의 오류 정정 부호를 저장한다. 그 후, 페이지 버퍼(10)에 보유된 레귤러 영역(REG) 및 스페어 영역(SPA)의 데이터는, 메모리 어레이의 선택 페이지의 레귤러 영역(REG) 및 스페어 영역(SPA)에 프로그램된다.
한편, ECC 기능을 실행 가능한 시스템(40)이 도 2의 (B)에 도시된 바와 같이 512바이트의 섹터와 16바이트의 스페어가 쌍이 되는 구성이면, 적어도 스페어 영역의 영역(S0과 S1)의 어드레스가 플래시 메모리 측의 레귤러 영역(REG)의 어드레스에 중복된다. 이 때문에, 온칩 ECC 기능을 실행하는 플래시 메모리와의 호환성을 도모하기 위해서는, 시스템(40) 측에서 펌웨어를 변경하여 양자의 스페어 영역의 어드레스를 일치시킬 필요가 있고, 그 때문에 온칩 ECC 기능을 탑재한 플래시 메모리와 시스템(40)의 사이에 완전한 호환성이 있다고는 할 수 없었다.
도 3은 하나의 스페어 영역(16바이트)의 예시로서, 도 3의 (A), (B), (C)는 각각 사양이 다른 플래시 메모리 측의 스페어 영역, 도 3의 (D)는 시스템 측의 스페어 영역이다. 도 3의 (A)의 플래시 메모리에서는, 선두 2바이트에는 배드 블록인지 여부의 식별 정보가 저장되고, 다음 6바이트에는 사용자 데이터가 저장되며, 다음 6바이트에는 섹터 0(Main0)의 오류 정정 부호가 저장되고, 마지막 2바이트에는 섹터 0의 오류 정정 부호에 대한 오류 정정 부호(이하, 스페어 영역의 오류 정정 부호라고 함)가 저장된다. 도 3의 (B)의 플래시 메모리에서는, 「8~F」의 8바이트에 섹터 0의 오류 정정 부호와 스페어 영역의 오류 정정 부호가 저장된다. 도 3의 (A)와 도 3의 (B)의 경우, 동일한 바이트 위치에 오류 정정 부호가 저장되는데, 스페어 영역의 오류 정정 부호를 저장하는 위치가 반드시 일치하지 않는다. 도 3의 (C)의 플래시 메모리에서는, 「1~3」의 3바이트에 섹터 0의 오류 정정 부호가 저장되고, 「4~7」의 4바이트에는 스페어 영역의 오류 정정 부호가 저장된다. 이에 반해, 도 3의 (D)의 시스템 측에서는, 「2~9」의 8바이트에 오류 정정 부호 및 스페어 영역의 오류 정정 부호가 저장되고, 「A~F」의 6바이트에는 사용자가 자유롭게 이용할 수 있는 메타데이터가 저장된다. 이와 같이, 플래시 메모리의 스페어 영역과 시스템 측의 스페어 영역의 어드레스가 만약 일치하였다고 해도, 스페어 영역의 다른 위치에 오류 정정 부호가 저장되면 양자에 완전한 호환성이 없어진다.
본 발명은 상기한 종래의 과제를 해결하는 것으로, 기존 시스템과의 사이에 호환성을 도모하는 오류 정정 기능을 구비한 반도체 장치를 제공하는 것을 목적으로 한다.
본 발명에 관한 반도체 장치는, 메모리 어레이와, 상기 메모리 어레이에 저장할 데이터 또는 상기 메모리 어레이로부터 독출된 데이터의 오류를 정정하는 기능을 구비하면서, 오류 정정을 위해 생성된 오류 정정 부호를 저장 영역에 저장하는 기능을 구비한 오류 정정 수단과, 상기 저장 영역을 외부로부터 설정 가능한 설정 수단을 가진다.
바람직한 태양에서는, 상기 설정 수단은 외부로부터 상기 저장 영역을 설정하기 위한 어드레스 정보를 수취하고, 이러한 어드레스 정보에 기초하여 상기 저장 영역을 설정한다. 바람직한 태양에서는, 상기 어드레스 정보는 상기 오류 정정 부호를 저장하기 위한 선두 어드레스와, 상기 저장 영역의 크기를 포함한다. 바람직한 태양에서는, 상기 설정 수단은 외부로부터의 커맨드에 기초하여 상기 저장 영역을 설정한다. 바람직한 태양에서는, 상기 설정 수단은 비휘발성 레지스터(예를 들어, 컨피귤레이션 레지스터)에 상기 어드레스 정보를 보유한다. 바람직한 태양에서는, 반도체 장치는 상기 설정 수단에 설정된 정보를 외부로 출력하는 출력 수단을 더 포함한다. 바람직한 태양에서는, 상기 출력 수단은 상기 어드레스 정보에 포함되는 상기 저장 영역의 크기가 상기 오류 정정 부호의 크기보다 작을 때 경고 정보를 출력한다. 바람직한 태양에서는, 상기 출력 수단은 상기 어드레스 정보에 포함되는 선두 어드레스의 수가 연속적으로 프로그램할 수 있는 최대 횟수보다 클 때 경고 정보를 출력한다. 바람직한 태양에서는, 상기 메모리 어레이는 레귤러 영역과 스페어 영역을 포함하고, 상기 스페어 영역이 상기 저장 영역을 포함한다. 바람직한 태양에서는, 반도체 장치는 상기 어드레스 정보를 변경 가능한 제어 수단을 더 가지고, 상기 제어 수단은 전원이 투입되었을 때 상기 비휘발성 레지스터로부터 상기 어드레스 정보를 독출하며, 상기 오류 정정 수단은 프로그램 동작시 또는 독출 동작시에 상기 비휘발성 레지스터로부터 독출된 상기 어드레스 정보에 따라 상기 오류 정정 부호를 상기 스페어 영역에 저장한다. 바람직한 태양에서는, 상기 제어 수단은 상기 비휘발성 레지스터로부터 독출된 어드레스 정보를 비휘발성 레지스터보다 독출 속도가 빠른 휘발성 레지스터에 보유시키고, 상기 오류 정정 수단은 상기 휘발성 레지스터로부터 어드레스 정보를 독출한다. 바람직한 태양에서는, 상기 오류 정정 수단이 인에이블되었을 때의 상기 저장 영역은 상기 오류 정정 수단이 디스에이블되었을 때의 상기 저장 영역과 다르고, 상기 제어 수단은 상기 오류 정정 수단이 인에이블되었을 때의 상기 저장 영역에 대응하는 상기 어드레스 정보로 변경 가능하다. 바람직한 태양에서는, 상기 비휘발성 레지스터는 컨피귤레이션 레지스터이다.
본 발명에 관한 시스템은, 상기 구성의 반도체 장치와, 상기 반도체 장치와 접속된 외부 컨트롤러를 포함하고, 상기 외부 컨트롤러는 상기 저장 영역을 설정하기 위한 어드레스 정보를 상기 반도체 장치에 출력한다. 바람직한 태양에서는, 외부 컨트롤러는 상기 설정 수단에 설정된 정보를 수취하고, 이러한 수취된 정보에 기초하여 상기 어드레스 정보를 출력한다.
본 발명에 의하면, 오류 정정 부호를 저장하는 저장 영역을 외부로부터 설정 가능하게 함으로써 반도체 장치의 저장 영역을 변경할 수 있고, 이에 의해 기존 시스템의 사양을 변경하지 않고 반도체 장치와의 사이에 데이터의 호환성을 도모할 수 있다.
도 1은 종래의 플래시 메모리의 온칩 ECC 동작을 설명하는 도면이다.
도 2는 종래의 플래시 메모리의 스페어 영역과 호스트 장치 측의 스페어 영역의 어드레스 매핑이 다른 예를 나타내는 도면이다.
도 3은 종래의 플래시 메모리의 스페어 영역과 호스트 장치 측의 스페어 영역에 저장되는 정보의 일례를 나타내는 도면이다.
도 4는 본 발명의 실시예에 관한 메모리 시스템의 일 구성예를 나타내는 도면이다.
도 5는 본 발명의 실시예에 관한 NAND형 플래시 메모리의 전체 개략 구성을 나타내는 도면이다.
도 6은 본 발명의 실시예에 관한 플래시 메모리의 동작시에 각 부에 인가되는 전압의 일례를 나타내는 도면이다.
도 7은 본 발명의 실시예에 의한 프로그램 동작시의 레귤러 영역의 ECC 처리를 설명하는 도면이다.
도 8은 본 발명의 실시예에 의한 프로그램 동작시의 스페어 영역의 ECC 처리를 설명하는 도면이다.
도 9는 본 발명의 실시예에 관한 스페어 영역의 오류 정정 부호의 저장 영역을 설정하는 동작을 설명하는 흐름도이다.
도 10은 본 실시예에 의한 오류 정정 부호의 저장 영역을 변경하는 예이다.
도 11은 스페어 영역의 위치가 다른 경우의 오류 정정 부호의 저장 영역을 변경하는 구체예이다.
도 12는 본 실시예에 의한 오류 정정 부호의 저장 영역을 변경하는 다른 예이다.
도 13은 본 발명의 실시예에 의한 ECC 동작의 예를 나타내는 흐름도이다.
도 14는 본 발명의 제2 실시예의 동작 시퀀스를 설명하는 도면이다.
도 15는 본 발명의 제3 실시예의 동작 시퀀스를 설명하는 도면이다.
다음에, 본 발명의 실시형태에 대해 도면을 참조하여 상세하게 설명한다. 여기서는, 반도체 기억 장치의 바람직한 형태로서 NAND형 플래시 메모리를 예시한다.
실시예
도 4는, 본 실시예의 메모리 시스템의 일례를 나타내는 도면이다. 메모리 시스템(200)은 외부 컨트롤러(210)와, 이러한 외부 컨트롤러(210)에 접속된 플래시 메모리(100)를 포함한다. 외부 컨트롤러(210)는 특별히 한정되는 것은 아니지만, 예를 들어 컴퓨터, 디지털 카메라, 프린터, 메모리 컨트롤러 등의 전자 장치나 호스트 장치이다. 외부 컨트롤러(210)는 플래시 메모리(100)에 커맨드, 데이터, 제어 신호 등을 송신하고, 플래시 메모리(100)의 동작(프로그램, 독출, 소거, 설정 등)을 제어한다.
도 5는, 플래시 메모리(100)의 구성을 나타내는 도면이다. 플래시 메모리(100)는, 복수의 메모리 셀이 행렬 형상으로 배열된 메모리 어레이(110)와, 외부 입출력 단자 I/O에 접속되어 입출력 데이터를 보유하는 입출력 버퍼(120)와, 메모리 어레이(110)에 프로그램할 데이터나 여기에서 독출된 데이터의 오류 검출·정정을 행하는 ECC 회로(130)와, 입출력 버퍼(120)로부터 어드레스 데이터를 수취하는 어드레스 레지스터(140)와, ECC 회로에 의해 생성된 오류 정정 부호를 저장하는 어드레스 정보를 기억하는 비휘발성의 컨피귤레이션 레지스터(150)와, 외부 컨트롤러(210)로부터의 커맨드 데이터나 제어 신호에 기초하여 각 부를 제어하는 컨트롤러(160)와, 어드레스 레지스터(140)로부터 행 어드레스 정보(Ax)를 수취하여 행 어드레스 정보(Ax)를 디코드하고, 디코드 결과에 기초하여 블록 선택이나 워드라인 선택 등을 행하는 워드라인 선택 회로(170)와, 워드라인 선택 회로(170)에 의해 선택된 페이지로부터 독출된 데이터를 보유하거나 선택된 페이지에 프로그램할 데이터를 보유하는 페이지 버퍼/센스 회로(180)와, 어드레스 레지스터(140)로부터 열 어드레스 정보(Ay)를 수취하여 열 어드레스 정보(Ay)를 디코드하고, 이러한 디코드 결과에 기초하여 페이지 버퍼/센스 회로(170) 내의 열 선택 등을 행하는 열 선택 회로(190)와, 데이터 독출, 프로그램 및 소거 등을 위해 필요한 여러 가지 전압(기입 전압(Vpgm), 패스 전압(Vpass), 독출 패스 전압(Vread), 소거 전압(Vers) 등)을 생성하는 내부 전압 발생 회로(192)를 포함하여 구성된다.
메모리 어레이(110)는, 열방향으로 배치된 m개의 메모리 블록(BLK(0), BLK(1), …, BLK(m-1))을 가진다. 하나의 메모리 블록에는, 복수의 메모리 셀을 직렬로 접속한 NAND 스트링이 복수 형성된다. 메모리 셀은, 예를 들어 P웰 내에 형성된 N형의 확산 영역인 소스/드레인과, 소스/드레인 간의 채널 상에 형성된 터널 산화막과, 터널 산화막 상에 형성된 플로팅 게이트(전하 축적층)와, 플로팅 게이트 상에 유전체막을 통해 형성된 컨트롤 게이트를 포함하는 MOS 구조를 가진다. NAND 스트링은 2차원 어레이 형상으로 형성되는 것으로도 되고, 3차원 어레이 형상으로 형성되는 것으로도 된다. 또한, 메모리 셀은 1비트(2치 데이터)를 기억하는 SLC 타입으로도 되고, 다비트를 기억하는 MLC 타입이어도 된다.
도 6은, 플래시 메모리의 각 동작시에 인가되는 바이어스 전압의 일례를 나타낸 테이블이다. 독출 동작에서는, 비트라인에 어떤 양의 전압을 인가하고, 선택된 워드라인에 어떤 전압(예를 들어 0V)을 인가하며, 비선택 워드라인에 패스 전압(Vpass)(예를 들어 4.5V)을 인가하고, 선택 게이트선(SGD, SGS)에 양의 전압(예를 들어 4.5V)을 인가하며, NAND 스트링의 비트라인측 선택 트랜지스터, 소스라인측 선택 트랜지스터를 온하고, 공통 소스라인에 0V를 인가한다. 프로그램(기입) 동작에서는, 선택된 워드라인에 고전압의 프로그램 전압(Vpgm)(15~20V)을 인가하고, 비선택 워드라인에 중간 전위(예를 들어 10V)를 인가하며, 비트라인측 선택 트랜지스터를 온시키고, 소스라인측 선택 트랜지스터를 오프시키며, 「0」 또는 「1」의 데이터에 따른 전위를 비트라인에 공급한다. 소거 동작에서는, 블록 내의 선택된 워드라인에 0V를 인가하고, P웰에 고전압(예를 들어 20V)을 인가하며, 플로팅 게이트의 전자를 기판에 뽑아냄으로써 블록 단위로 데이터를 소거한다.
ECC 회로(130)는, 커맨드 또는 출하시의 설정 등에 의해 인에이블 또는 디스에이블로 하는 것이 가능하다. 온칩 ECC 기능이 인에이블된 경우, ECC 회로(130)는 프로그램 동작시에 입출력 버퍼(120)를 통해 데이터(프로그램해야 할 데이터)가 페이지 버퍼/센스 회로(180)에 로드되면, 페이지 버퍼/센스 회로(180)로부터 전송된 데이터를 연산하여 오류 정정 부호를 생성한다. ECC의 연산은, 예를 들어 패리티 체크, 허밍 코드나 리드 솔로몬 등의 공지의 수법에 따라 이루어지고, 입력된 k비트 또는 k바이트의 데이터를 p=k+q로 변환한다. 「q」는, 데이터의 오류 검출 정정에 필요한 오류 정정 부호 또는 패리티 비트이다. ECC 회로(130)는, 생성된 오류 정정 부호를 페이지 버퍼/센스 회로(180)의 스페어 영역에 저장한다. 이렇게 하여 페이지 버퍼/센스 회로(180)에 세트된 데이터와 오류 정정 부호가 메모리 어레이(110)의 선택 페이지에 프로그램된다.
독출 동작시, 메모리 어레이(110)의 선택 페이지로부터 독출된 데이터가 페이지 버퍼/센스 회로(180)에 보유되면, ECC 회로(130)는 페이지 버퍼/센스 회로(180)로부터 전송된 데이터 및 오류 정정 부호에 기초하여 독출 데이터의 오류 검출을 행하고, 오류가 검출된 경우에는 정정한 데이터를 페이지 버퍼/센스 회로(180)에 세트한다. 그리고, 페이지 버퍼/센스 회로(180)에 보유된 데이터가 입출력 버퍼(120)를 통해 출력된다.
컨피귤레이션(CF) 레지스터(150)는, 플래시 메모리(100)의 동작을 정의하기 위한 여러 가지 정보를 저장하는데, 본 실시예에 관한 CF 레지스터(150)는 스페어 영역의 오류 정정 부호를 저장하는 저장 영역을 설정하기 위한 정보, 즉 ECC 회로(130)에 의해 생성된 오류 정정 부호를 저장하기 위한 어드레스 정보를 기억한다. CF 레지스터(150)는 재기입 가능한 비휘발성 메모리로 구성되고, 외부 컨트롤러(210)는 예를 들어 특정의 커맨드를 출력함으로써 CF 레지스터(150)에 액세스하여 CF 레지스터(150)의 설정 내용을 변경할 수 있다. 혹은, 이러한 커맨드에 따르지 않고 외부 컨트롤러(210)는 플래시 메모리(100)가 특정 모드에 있을 때(예를 들어, 테스트 모드), CF 레지스터(150)에 액세스하여 CF 레지스터(150)의 설정을 변경할 수 있다.
CF 레지스터(150)에는, 상기한 바와 같이 오류 정정 부호의 저장 영역을 규정하기 위한 어드레스 정보가 보유되는데, 이 어드레스 정보는 디폴트 설정에서는 도 2의 (A)에 도시된 바와 같이 레귤러 영역의 섹터 3(Main3) 직후의 스페어 영역 전체의 스페어 0~스페어 3(16B×4)을 저장 영역으로 설정하고 있다. 도 7은, 이러한 어드레스 정보가 디폴트 설정되어 있을 때의 ECC 처리의 일례를 나타낸다.
컨트롤러(160)는, 입출력 버퍼(120)를 통해 프로그램 커맨드를 수취하면, 프로그램을 위한 시퀀스를 개시한다. 플래시 메모리(100)가 ×8의 외부 입출력 단자를 가질 때, 외부 입출력 단자(P0~P7)로부터 각 I/O 버퍼(120-1~120-7)를 통해 페이지 버퍼/센스 회로(180)에 입력 데이터(Di)가 로드된다.
본 예의 경우, 페이지 버퍼/센스 회로(180)는 섹터 0~섹터 3의 4개의 섹터로 분할된 레귤러 영역(300)과, 스페어 0, 스페어 1, 스페어 2, 스페어 3의 4개의 섹터로 분할된 스페어 영역(310)을 가진다. 레귤러 영역(300)의 하나의 섹터는 512바이트로 구성되고, 스페어 영역(310)의 하나의 섹터는 16바이트로 구성된다.
스페어 영역(310)의 하나의 섹터는, 예를 들어 불량 메모리 셀을 포함하는 배드 블록을 식별하는 정보를 기억하는 영역(311), 사용자 데이터를 기억하는 영역(312), 레귤러 영역(300)의 하나의 섹터에 대한 오류 정정 부호를 기억하는 영역(313), 스페어 영역(310)이 ECC 연산되었을 때의 오류 정정 부호를 기억하는 영역(314)을 가진다. 스페어 0의 영역(313)은 섹터 0의 오류 정정 부호를 기억하고, 스페어 1의 영역(313)은 섹터 1의 오류 정정 부호를 기억하며, 스페어 2는 섹터 2의 오류 정정 부호를 기억하고, 스페어 3은 섹터 3의 오류 정정 부호를 기억한다.
레귤러 영역(300)의 하나의 섹터에는 입출력 버퍼(120-0~120-7)가 할당되고, 즉 하나의 외부 입출력 단자에는 512비트가 할당된다(512bit×8=1섹터). 열 선택 회로(190)는, 프로그램 동작시에 수취한 열 어드레스 정보(Ay)를 디코드하고, 이러한 디코드 결과에 기초하여 외부 입출력 단자(P-0~P-7)로부터의 입력 데이터(Di)가 로드되는 섹터를 선택한다. 도 7은, 외부 입출력 단자(P-0~P-7)에서 수취된 입력 데이터(Di)가 섹터 0에 로드되는 예를 나타내고 있다.
또한, 본 실시예의 ECC 회로(130)는, 오류 정정 부호를 기입하기 위한 기입 회로를 포함한다. 바람직하게는, ECC 회로(130)는 레귤러 영역(300)의 하나의 섹터와 동일한 바이트수의 데이터까지 ECC 연산을 행할 수 있다. 레귤러 영역(300)의 하나의 섹터가 512바이트이면, ECC 회로는 512바이트의 데이터에 대해 ECC 연산을 행하고, 예를 들어 1비트의 오류를 정정하는 오류 정정 부호를 생성한다. 이 경우, 전체의 4섹터에서는 최대 4비트의 오류를 정정할 수 있다.
ECC 회로(130)는, 생성된 오류 정정 부호를 스페어 영역(310)의 대응하는 영역(313)에 기입한다. 도 7에 도시된 예에서는, 입력 데이터(Di)가 섹터 0에 로드되므로, 오류 정정 부호는 스페어 0의 영역(313)에 기입된다.
도 8에 스페어 영역(310)에 저장되는 데이터의 ECC 처리를 예시한다. 레귤러 영역(300)의 각 섹터에 대해 ECC 처리가 종료되면, 다음에 스페어 영역(310)의 각 섹터에 대해 ECC 처리가 이루어진다. 스페어 영역(310)의 하나의 섹터 내에 포함되는 어느 데이터의 ECC 처리를 행할지는 임의이지만, 본 예에서는 영역(312, 313)의 데이터에 대해 ECC 처리를 행한다. 그 때문에, 스페어 0의 영역(312, 313)의 데이터가 ECC 회로(130)에 전송되고, ECC 처리에 의해 생성된 오류 정정 부호가 스페어 0의 영역(314)에 기입된다. 동일한 처리가 다른 스페어 1 내지 스페어 3에 대해서도 이루어진다. ECC 처리가 종료되면, 메모리 어레이(110)의 선택 페이지에의 프로그램이 개시된다.
다음에, CF 레지스터(150)에 보유되는 어드레스 정보의 변경에 대해 상세하게 설명한다. 도 9는, 어드레스 정보를 변경 또는 설정하기 위한 동작을 설명하는 흐름도이다. 우선, 외부 컨트롤러(210)는 플래시 메모리(100)에 대해 CF 레지스터(150)의 설정을 변경하기 위한 특정의 커맨드를 출력하고, 이 특정의 커맨드가 플래시 메모리(100)에서 수취된다(S100). 컨트롤러(160)는, 수취한 특정의 커맨드에 응답하여 CF 레지스터(150)의 설정을 변경하기 위한 시퀀스를 개시한다.
외부 컨트롤러(210)는, 플래시 메모리(100)에 대해 오류 정정 부호의 저장 영역을 규정하기 위한 어드레스 정보를 출력하고, 이러한 어드레스 정보가 플래시 메모리(100)에 입력된다(S102). 컨트롤러(160)는, 입력된 어드레스 정보에 따라 CF 레지스터(150)의 설정 내용을 변경한다(S104).
여기서, 외부 컨트롤러(210)로부터 발생되는 어드레스 정보는, 바람직하게는 오류 정정 부호를 저장하는 선두 어드레스 및 크기(바이트수)를 포함한다. 만약 도 7에 도시된 바와 같은 레귤러 영역(300)과 스페어 영역(310)이 설정되는 경우, 어드레스 정보는 스페어 0, 스페어 1, 스페어 2 및 스페어 3 각각의 오류 정정 부호를 저장하기 위한 선두 어드레스 및 크기를 포함한다. 스페어 0이면, 영역(313)의 선두 어드레스와 그 곳에서부터의 크기이다.
다음에, 오류 정정 부호의 저장 영역의 구체적인 변경예에 대해 설명한다. 도 10의 (A)는 플래시 메모리 측의 디폴트시의 스페어 영역의 구성, 도 10의 (B)는 시스템 측의 스페어 영역의 구성, 도 10의 (C)는 본 실시예에 의해 도 10의 (A)의 스페어 영역의 오류 정정 부호의 저장 영역을 변경하였을 때의 예이다. 도 10의 (A)에서, 오류 정정 부호의 저장 영역은 선두 어드레스가 「8」에서 시작되는 8바이트로 규정되는 영역이고, 도 10의 (B)의 시스템 측의 오류 정정 부호의 저장 영역은 선두 어드레스가 「2」에서 시작되는 8바이트로 규정되는 영역이다. 시스템 측의 「A~F」의 6바이트의 메타 영역은 사용자가 데이터를 저장하는 영역으로, 시스템과의 사이에 호환성을 갖게 하기 위해서는 메타 영역과 중복되는 플래시 메모리 측의 「A~F」의 오류 정정 부호의 저장 영역을 변경시킬 필요가 있다. 그래서, 본 실시예에서는, 도 10의 (C)에 도시된 바와 같이 플래시 메모리 측의 오류 정정 부호의 저장 영역을 변경하기 위해, 외부 컨트롤러(210)는 선두 어드레스 「2」, '크기=8바이트'를 포함하는 어드레스 정보를 플래시 메모리(100)에 출력하고, 컨트롤러(160)는 입력된 어드레스 정보에 따라 CF 레지스터(150)의 설정 내용을 변경한다.
도 10의 예는, 플래시 메모리 측과 시스템 측의 스페어 영역의 위치가 일치하는 경우이지만, 도 2의 (A), (B)에 도시된 바와 같이 스페어 영역의 위치가 다른 경우도 마찬가지로 선두 어드레스와 크기를 포함하는 어드레스 정보를 CF 레지스터(150)에 설정하고, 오류 정정 부호의 저장 영역을 변경한다. 레귤러 영역의 섹터 0~3(Main0~Main3)의 합계가 2048바이트, 스페어 영역의 섹터 S0~S3의 합계가 64바이트, 양자의 합계가 2112바이트이며, 이 중에 오류 정정 부호를 저장하기 위한 선두 어드레스와 크기가 설정된다. 즉, 도 11의 (A)에 도시된 바와 같이, 섹터 0(Main0)의 오류 정정 부호를 저장하기 위한 선두 어드레스(X0)는 514(512B+2B)이고, 크기는 8바이트가 된다. 이후, 도 10의 (C)의 구성에 따르면, 프리 공간이 6바이트, 다음 섹터 1(Main1)이 512바이트, 그 직후의 배드 블록이 2바이트가 되고, 다음 스페어 S1의 선두 어드레스(X1)는 1042(=512+16+512+2), 다음 스페어 S2의 선두 어드레스(X2)는 1570, 마지막 스페어 S3의 선두 어드레스는 2098이 된다. 또한, 이들의 크기는 모두 8바이트이다. 또한, 만약 도 2의 (A)에 도시된 바와 같은 스페어 영역(SPA)으로 변경한다면, 스페어 0의 선두 어드레스가 2050, 스페어 1의 선두 어드레스가 2066, 스페어 2의 선두 어드레스가 2082, 스페어 S3의 선두 어드레스가 2098이 된다. 이들의 크기는 모두 8바이트이다. 또한, 도 11의 (B)는 도 11의 (A)에 도시된 섹터와 스페어 영역의 순서를 반전한 어드레스 매핑을 갖는 예를 나타내고 있다. 스페어 영역의 섹터 0은 레귤러 영역의 섹터 0의 오류 정정 부호를 저장하고, 마찬가지로 스페어 영역의 섹터 1, 2, 3은 각각 레귤러 영역의 섹터 1, 2, 3의 오류 정정 부호를 저장한다. 도 11의 (B)일 때도, 상기와 같은 방법에 의해 스페어 영역의 각 섹터 0, 1, 2, 3의 선두 어드레스와 그 크기를 포함하는 어드레스 정보를 변경할 수 있다.
도 12는, 본 실시예의 다른 오류 정정 부호의 저장 영역의 변경예를 나타낸다. 도 12의 (A)는, 온칩 ECC 모드가 디스에이블시의 플래시 메모리 측의 페이지 버퍼의 예이며, 페이지 버퍼는 섹터 0~섹터 3(Main0~Main3)의 2048바이트의 레귤러 영역(300)과, 128바이트의 스페어 영역(310)을 가진다. 도 12의 (B)는, 시스템 측의 페이지 버퍼의 구성이며, 128바이트의 스페어 영역에는 오류 정정 부호의 저장 영역(ECC)과, 사용자가 사용하는 메타(Meta) 영역이 설정된다. 도 12의 (C)는, 도 12의 (A)의 플래시 메모리의 ECC가 인에이블되었을 때의 페이지 버퍼의 구성이며, 이 경우, 128바이트의 스페어 영역이 64바이트의 스페어 영역과 64바이트의 숨겨진 영역(사용자가 볼 수 없는 영역)으로 설정된다. 이러한 예에서는, 64바이트의 숨겨진 영역이 시스템 측의 메타 영역과 중복되어 시스템 간의 데이터의 호환성이 손상된다. 그래서, 본 실시예를 적용한 플래시 메모리는, 도 12의 (D)에 도시된 바와 같이 128바이트의 스페어 영역(310) 중에 시스템 측의 오류 정정 부호의 저장 영역과 일치하도록 오류 정정 부호의 저장 영역을 변경할 수 있다. 그 결과, 시스템 측의 메타 영역을 그대로 이용하는 것이 가능해진다.
다음에, 본 실시예의 ECC 동작에 대해 도 13의 흐름을 참조하여 설명한다. 도 4에 도시된 시스템(200)이 기동되어 플래시 메모리(100)에 전원이 투입되면(S200), 컨트롤러(160)는 파워업 시퀀스를 위한 프로그램 또는 스테이트 머신을 개시한다. 컨트롤러(160)는, 그 일환으로서 CF 레지스터(150)를 액세스하고, 여기에서 어드레스 정보를 독출하고, 이를 예를 들어 SRAM이나 DRAM 등의 고속 독출이 가능한 휘발성 레지스터에 보유시킨다(S210).
그 후, 프로그램 동작시 등에서 ECC 동작이 이루어질 때(S220), ECC 회로(130)는 휘발성 레지스터로부터 어드레스 정보를 독출하고(S230), 이러한 어드레스 정보에 의해 규정된 스페어 영역 또는 저장 영역 내에 생성한 오류 정정 부호를 저장한다(S240). 또한, 메모리 어레이로부터 독출한 데이터에 대해 ECC를 행하는 경우에는, 스페어 영역 또는 저장 영역으로부터 오류 정정 부호가 독출되고, 독출 데이터에 대한 오류 검출·정정이 이루어진다.
이와 같이 본 실시예에 의하면, 온칩 ECC 기능을 구비한 플래시 메모리에 있어서, ECC 회로에 의해 생성된 오류 정정 부호를 저장하는 저장 영역을 외부로부터 변경할 수 있도록 하였으므로, 시스템 측의 어드레스 매핑 내지 펌웨어를 변경하지 않고 메모리 시스템과의 호환성을 도모할 수 있다.
다음에, 본 발명의 제2 실시예에 대해 설명한다. 상기 실시예에서는, 외부 컨트롤러(210)로부터 플래시 메모리(100)에 어드레스 정보를 출력하고, CF 레지스터(150)의 설정 내용을 변경하는 예를 나타내었지만, 이 경우 사용자는 플래시 메모리의 ECC에 관련된 사양(예를 들어, 생성되는 오류 정정 부호의 바이트수)을 미리 알아 두는 것이 바람직하다. 제2 실시예에서는, 외부 컨트롤러(210)는 플래시 메모리(100)로부터 CF 레지스터에 보유되어 있는 오류 정정 부호의 저장 영역에 관한 정보를 독출하는 기능을 구비한다.
도 14는, 제2 실시예의 동작을 나타내는 시퀀스의 일례이다. 우선, 외부 컨트롤러(210)는, 플래시 메모리(100)에 대해 CF 레지스터(150)의 내용을 독출하기 위한 커맨드를 출력한다. 컨트롤러(160)는, 상기 특정의 커맨드에 따라 CF 레지스터(150)에 보유된 어드레스 정보를 독출하고(S300), 독출한 어드레스 정보를 외부 컨트롤러(210)에 출력한다. 외부 컨트롤러(210)는, 수신한 어드레스 정보에 기초하여 플래시 메모리(100)의 ECC의 사양을 출력한다. 이에 의해, 사용자는 플래시 메모리(100)의 ECC 회로(130)에 의해 생성되는 오류 정정 부호의 크기를 확인할 수 있다. 그 후, 제1 실시예에서 설명한 바와 같이, CF 레지스터(150)의 어드레스 정보를 변경하는 경우에는, 생성되는 오류 정정 부호의 크기보다 작아지지 않는 크기를 포함하는 어드레스 정보가 플래시 메모리(100)에 송신된다.
다음에, 본 발명의 제3 실시예에 대해 설명한다. 제3 실시예에서는, 플래시 메모리(100)의 컨트롤러(160)는, 외부 컨트롤러(210)로부터 송신되는 어드레스 정보가 ECC 회로(130)에 의해 생성되는 오류 정정 부호의 크기보다 작은 경우에는 외부 컨트롤러(210)에 대해 경고를 발한다. 도 15는, 제3 실시예의 동작을 나타내는 시퀀스의 일례이다. 도 15에 도시된 바와 같이, 외부 컨트롤러(210)로부터 플래시 메모리(100)에 대해 오류 정정 부호의 저장 영역을 변경하기 위한 어드레스 정보가 송신되면, 컨트롤러(160)는 송신된 어드레스 정보에 포함되는 크기(Sa)와, ECC 회로(130)에 의해 생성되는 오류 정정 부호의 크기(Sb)를 비교하여(S410), 변경되는 크기(Sa)가 생성되는 오류 정정 부호의 크기(Sb) 이상이면, 컨트롤러(160)는 CF 레지스터(150)의 어드레스 정보를 변경한다(S420). 변경되는 크기(Sa)가 생성되는 오류 정정 부호의 크기(Sb)보다 작은 경우에는, 컨트롤러(160)는 외부 컨트롤러(210)에 대해 경고, 혹은 생성되는 오류 정정 부호의 크기(Sb)의 정보를 송신하고, 외부 컨트롤러(210)는 경고 등을 출력함으로써 이를 사용자에게 알린다(S430).
또한, 플래시 메모리가 파셜(partial) 페이지 프로그램 기능, 즉 1페이지 크기(2K바이트)보다 작은 크기의 데이터를 동일 워드라인에 복수회 프로그램하는 기능을 구비하는 경우, 높은 프로그램 전압이 반복적으로 동일 워드라인에 인가되는 것의 악영향을 방지하기 위해, 허용되는 프로그램의 최대 횟수(Nop)가 규정되어 있다. 제3 실시예의 변형예로서, 컨트롤러(160)는 외부 컨트롤러(210)로부터의 어드레스 정보에 포함되는 선두 어드레스의 수와 최대 횟수(Nop)를 비교하여, 최대 횟수(Nop)보다 큰 경우에는 외부 컨트롤러(210)에 대해 경고를 발하도록 해도 된다.
상기 실시예에서는, 오류 정정 부호의 저장 영역을 규정하는 어드레스 정보를 CF 레지스터에 설정하는 예를 나타내었지만, 이는 일례이며, 다른 비휘발성의 메모리 영역이어도 된다. 이러한 메모리 영역은, 사용자에 의해 이용되거나 참조되는 메모리 어레이의 영역으로부터 숨겨진 영역이어도 된다. 또한, 오류 정정 부호의 저장 영역을 규정하는 어드레스 정보는 물리적 어드레스 공간을 나타내는 어드레스이어도 되고, 논리적 어드레스 공간을 나타내는 어드레스이어도 된다. 나아가 비휘발성의 메모리 영역은, 예를 들어 NOR형 또는 NAND형 기억 소자, EEPROM, MRAM, ReRAM 등의 기억 소자 등으로 구성되는 것으로도 된다.
나아가 상기 실시예에서는 플래시 메모리를 예시하였지만, 본 발명은 온칩 ECC 기능을 탑재하는 다른 반도체 기억 장치, 혹은 메모리 기능을 구비한 반도체 장치(예를 들어, 플래시 메모리가 매립된 반도체 장치)에도 적용할 수 있다.
본 발명의 바람직한 실시형태에 대해 상술하였지만, 본 발명은 특정의 실시형태에 한정되는 것은 아니고, 청구범위에 기재된 발명의 요지의 범위 내에서 여러 가지 변형·변경이 가능하다.
100 플래시 메모리
110 메모리 어레이
120 입출력 버퍼
130 ECC 회로
140 어드레스 레지스터
150 컨피귤레이션 레지스터
160 컨트롤러
170 워드라인 선택 회로
180 페이지 버퍼/센스 회로
190 열 선택 회로
300 레귤러 영역
310 스페어 영역

Claims (15)

  1. 메모리 어레이;
    상기 메모리 어레이에 저장할 데이터 또는 상기 메모리 어레이로부터 독출된 데이터의 오류를 정정하는 기능을 구비하면서, 오류 정정을 위해 생성된 오류 정정 부호를 저장 영역에 저장하는 기능을 구비한 오류 정정 수단; 및
    상기 저장 영역을 외부로부터 설정 가능한 설정 수단을 갖는 반도체 장치.
  2. 청구항 1에 있어서,
    상기 설정 수단은, 외부로부터 상기 저장 영역을 설정하기 위한 어드레스 정보를 수취하고, 이러한 어드레스 정보에 기초하여 상기 저장 영역을 설정하는 반도체 장치.
  3. 청구항 2에 있어서,
    상기 어드레스 정보는, 상기 오류 정정 부호를 저장하기 위한 선두 어드레스 및 상기 저장 영역의 크기를 포함하는 반도체 장치.
  4. 청구항 3에 있어서,
    상기 설정 수단은, 외부로부터의 커맨드에 기초하여 상기 저장 영역을 설정하는 반도체 장치.
  5. 청구항 2에 있어서,
    상기 설정 수단은, 비휘발성 레지스터에 상기 어드레스 정보를 보유하는 반도체 장치.
  6. 청구항 1에 있어서,
    상기 설정 수단에 설정된 정보를 외부로 출력하는 출력 수단을 더 포함하는 반도체 장치.
  7. 청구항 6에 있어서,
    상기 출력 수단은, 상기 어드레스 정보에 포함되는 상기 저장 영역의 크기가 상기 오류 정정 부호의 크기보다 작을 때 경고 정보를 출력하는 반도체 장치.
  8. 청구항 6에 있어서,
    상기 출력 수단은, 상기 어드레스 정보에 포함되는 선두 어드레스의 수가 연속적으로 프로그램할 수 있는 최대 횟수보다 클 때 경고 정보를 출력하는 반도체 장치.
  9. 청구항 5에 있어서,
    상기 메모리 어레이는 레귤러 영역과 스페어 영역을 포함하고,
    상기 스페어 영역이 상기 저장 영역을 포함하는 반도체 장치.
  10. 청구항 9에 있어서,
    반도체 장치는 상기 어드레스 정보를 변경 가능한 제어 수단을 더 가지고,
    상기 제어 수단은 전원이 투입되었을 때 상기 비휘발성 레지스터로부터 상기 어드레스 정보를 독출하고,
    상기 오류 정정 수단은 프로그램 동작시 또는 독출 동작시에 상기 비휘발성 레지스터로부터 독출된 상기 어드레스 정보에 따라 상기 오류 정정 부호를 상기 스페어 영역에 저장하는 반도체 장치.
  11. 청구항 10에 있어서,
    상기 제어 수단은, 상기 비휘발성 레지스터로부터 독출된 어드레스 정보를 비휘발성 레지스터보다 독출 속도가 빠른 휘발성 레지스터에 보유시키고,
    상기 오류 정정 수단은 상기 휘발성 레지스터로부터 어드레스 정보를 독출하는 반도체 장치.
  12. 청구항 10에 있어서,
    상기 오류 정정 수단이 인에이블되었을 때의 상기 저장 영역은 상기 오류 정정 수단이 디스에이블되었을 때의 상기 저장 영역과 다르고,
    상기 제어 수단은 상기 오류 정정 수단이 인에이블되었을 때의 상기 저장 영역에 대응하는 상기 어드레스 정보로 변경 가능한 반도체 장치.
  13. 청구항 5에 있어서,
    상기 비휘발성 레지스터는, 컨피귤레이션 레지스터인 반도체 장치.
  14. 청구항 1 내지 청구항 13 중 어느 한 항에 기재된 반도체 장치; 및
    상기 반도체 장치와 접속된 외부 컨트롤러를 포함하고,
    상기 외부 컨트롤러는, 상기 저장 영역을 설정하기 위한 어드레스 정보를 상기 반도체 장치로 출력하는 시스템.
  15. 청구항 14에 있어서,
    외부 컨트롤러는 상기 설정 수단에 설정된 정보를 수취하고, 이러한 수취된 정보에 기초하여 상기 어드레스 정보를 출력하는 시스템.
KR1020170059400A 2016-05-16 2017-05-12 반도체 장치 KR101950758B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016097870A JP6258399B2 (ja) 2016-05-16 2016-05-16 半導体装置
JPJP-P-2016-097870 2016-05-16

Publications (2)

Publication Number Publication Date
KR20170129060A true KR20170129060A (ko) 2017-11-24
KR101950758B1 KR101950758B1 (ko) 2019-02-21

Family

ID=60297542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059400A KR101950758B1 (ko) 2016-05-16 2017-05-12 반도체 장치

Country Status (5)

Country Link
US (1) US10496474B2 (ko)
JP (1) JP6258399B2 (ko)
KR (1) KR101950758B1 (ko)
CN (1) CN107402836B (ko)
TW (1) TWI637395B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI659308B (zh) * 2017-12-08 2019-05-11 旺宏電子股份有限公司 記憶體裝置及其操作方法
CN111026675B (zh) * 2019-12-06 2022-02-15 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
CN113495672B (zh) * 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3964940A4 (en) 2020-04-01 2022-08-17 Changxin Memory Technologies, Inc. READ/WRITE METHOD AND STORAGE DEVICE
EP3985494B1 (en) 2020-04-01 2024-01-17 Changxin Memory Technologies, Inc. Read-write method and memory device
EP3936996A4 (en) 2020-04-01 2022-07-06 Changxin Memory Technologies, Inc. READ-WRITE METHOD AND STORAGE DEVICE
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3964941B1 (en) 2020-04-01 2024-02-28 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495671B (zh) 2020-04-01 2023-10-17 长鑫存储技术有限公司 读写方法及存储器装置
CN113495674B (zh) 2020-04-01 2023-10-10 长鑫存储技术有限公司 读写方法及存储器装置
JP2022137391A (ja) * 2021-03-09 2022-09-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および誤り検出訂正方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280790A (ja) * 2003-02-28 2004-10-07 Toshiba Microelectronics Corp Ecc制御装置
JP2010152989A (ja) 2008-12-25 2010-07-08 Toshiba Corp 不揮発性半導体記憶装置
US20130290797A1 (en) * 2012-04-30 2013-10-31 Freescale Semiconductor, Inc. Non-volatile memory (nvm) reset sequence with built-in read check
KR101574033B1 (ko) * 2011-08-12 2015-12-02 마이크론 테크놀로지, 인크. 메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135935B2 (en) * 2007-03-20 2012-03-13 Advanced Micro Devices, Inc. ECC implementation in non-ECC components
KR101403429B1 (ko) * 2007-10-09 2014-06-03 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US9727414B2 (en) * 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
US8560922B2 (en) * 2011-03-04 2013-10-15 International Business Machines Corporation Bad block management for flash memory
US9122626B2 (en) * 2013-05-13 2015-09-01 Seagate Technology Llc Linearly related threshold voltage offsets
US9201728B2 (en) * 2013-09-12 2015-12-01 Seagate Technology Llc Memory device with variable code rate
JP6131207B2 (ja) * 2014-03-14 2017-05-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US9984007B2 (en) * 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
CN110457236B (zh) * 2014-03-28 2020-06-30 三星电子株式会社 存储系统以及对存储系统执行和验证写保护的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280790A (ja) * 2003-02-28 2004-10-07 Toshiba Microelectronics Corp Ecc制御装置
JP2010152989A (ja) 2008-12-25 2010-07-08 Toshiba Corp 不揮発性半導体記憶装置
KR101574033B1 (ko) * 2011-08-12 2015-12-02 마이크론 테크놀로지, 인크. 메모리 디바이스들 및 메모리 디바이스를 위한 구성 방법들
US20130290797A1 (en) * 2012-04-30 2013-10-31 Freescale Semiconductor, Inc. Non-volatile memory (nvm) reset sequence with built-in read check

Also Published As

Publication number Publication date
CN107402836A (zh) 2017-11-28
JP6258399B2 (ja) 2018-01-10
JP2017208149A (ja) 2017-11-24
TW201742080A (zh) 2017-12-01
TWI637395B (zh) 2018-10-01
US20170329670A1 (en) 2017-11-16
US10496474B2 (en) 2019-12-03
CN107402836B (zh) 2020-12-22
KR101950758B1 (ko) 2019-02-21

Similar Documents

Publication Publication Date Title
KR101950758B1 (ko) 반도체 장치
CN108573722B (zh) 操作非易失性存储器件的方法和非易失性存储器件
CN107403636B (zh) 读取非易失性存储设备的方法
US20200303016A1 (en) Memory reading method and memory system
KR101731576B1 (ko) 반도체 기억장치 및 nand 플래시 메모리의 프로그램 방법
US9520184B2 (en) Method for writing in-system programming code into flash memory for better noise margin
JP2006302342A (ja) 不揮発性半導体メモリ装置とメモリシステム
CN113010459A (zh) 存储器系统、存储器控制器以及操作存储器系统的方法
US11409470B2 (en) Memory system, memory controller, and method of operating memory system
US8971116B1 (en) Semiconductor device and method of operating the same
CN112037837B (zh) 存储器系统、存储器控制器和存储器设备
KR101651573B1 (ko) 반도체 기억장치 및 그 프로그래밍 방법
US20230376211A1 (en) Controller for controlling one-time programmable memory, system, and operation method thereof
US11237767B2 (en) Memory system, memory controller and method for operating memory controller
US11544003B2 (en) Memory system, memory controller, and method of operating memory system
JP5710815B1 (ja) 半導体記憶装置
CN115757217A (zh) 确定目标状态读取检查时段的存储器系统及其操作方法
CN115346584A (zh) Nand闪存、写入和读取方法及电子装置
TWI521530B (zh) 半導體記憶裝置及其編程方法
CN113568844A (zh) 存储器系统、存储器控制器及操作存储器系统的方法
CN114756166A (zh) 存储器系统及其操作方法
CN113674794A (zh) 半导体存储装置以及错误检测纠正相关信息的读出方法
CN113764027A (zh) 存储器系统、存储器控制器以及存储器系统的操作方法
CN114968078A (zh) 存储器装置及其操作方法
CN115223635A (zh) 存储器系统及存储器系统的操作方法

Legal Events

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