KR101159289B1 - 반도체 기억장치 및 신호 처리 시스템 - Google Patents

반도체 기억장치 및 신호 처리 시스템 Download PDF

Info

Publication number
KR101159289B1
KR101159289B1 KR1020050043750A KR20050043750A KR101159289B1 KR 101159289 B1 KR101159289 B1 KR 101159289B1 KR 1020050043750 A KR1020050043750 A KR 1020050043750A KR 20050043750 A KR20050043750 A KR 20050043750A KR 101159289 B1 KR101159289 B1 KR 101159289B1
Authority
KR
South Korea
Prior art keywords
data
code
circuit
page data
code word
Prior art date
Application number
KR1020050043750A
Other languages
English (en)
Other versions
KR20060048089A (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 KR20060048089A publication Critical patent/KR20060048089A/ko
Application granted granted Critical
Publication of KR101159289B1 publication Critical patent/KR101159289B1/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories

Abstract

에러 수정 능력을 강화할 수 있고 기입 시간 또는/및 판독 시간을 단축화할 수 있으며 또, 여분의 메모리를 불필요하게 하거나 혹은 삭감할 수 있고 나아가서는, 소형화를 도모하고, 비용 절약을 도모하는 것이 가능한 반도체 기억장치 및 신호 처리 시스템을 제공한다.
한 페이지 분의 데이터를 받아 복수의 코드어로 분할하고, 각 코드어 마다 검사 코드(패리티 데이터)를 생성하여 부가하며, 주코드어를 차례차례 형성하여 뱅크(A) 또는 뱅크(B)에 전송하는 데이터 입력부와, 데이터 래치로부터 전송되어 주코드어를 포함하는 1 페이지 분의 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정해, 검사 코드(패리티 데이터)를 제외한 판독된 코드어 마다 에러 정보를 부가해 호스트측에 전송하는 데이터 출력부를 가진다.

Description

반도체 기억장치 및 신호 처리 시스템{Semiconductor memory device and signal processing system}
도 1은, 본 발명의 한 실시예에 따르는 반도체 기억장치를 채용한 신호 처리 시스템의 전체 구성을 나타내는 블록도이다.
도 2는, 본 실시 형태와 관련되는 1 페이지 데이터의 구성예를 설명하기 위한 도면이다.
도 3은, 본 실시 형태와 관련되는 주코드어에 있어서의 구성 및 패리티 데이터(검사 코드)의 배치 위치를 설명하기 위한 도면이다.
도 4는, 도 1의 NAND형 플래시 메모리의 구성예를 나타내는 블록도이다.
도 5는, 도 4에 있어서의 뱅크의 구체적인 구성예를 나타내는 블록도이다.
도 6은, 도 5의 뱅크 및 로 디코더(row decoder)의 구체적인 구성예를 설명하기 위한 도면이다.
도 7은, 도 4의 뱅크에 있어서의 데이터 판독시에 있어서의 각 구동선의 바이어스 조건을 도시한 도면이다.
도 8은,도 4의 뱅크에 있어서의 데이터 입력시에 있어서의 각 구동선의 바이어스 조건을 도시한 도면이다.
도 9는, 본 실시 형태와 관련되는 데이터 입력부의 구체적인 구성예를 나타 내는 회로도이다.
도 10은, 본 실시 형태와 관련되는 데이터 출력부의 구체적인 구성예를 나타내는 회로도이다.
도 11a-i는, 본 실시 형태와 관련되는 플래시 메모리의 입력동작 순서를 설명하기 위한 타이밍 차트이다.
도 12a-i는, 본 실시 형태와 관련되는 플래시 메모리의 판독 동작 순서에 대해 설명하기 위한 타이밍 차트이다.
본 발명은 2004. 5월 31일 일본 특허청에 제출된 특허번호 2004-161810호와 관련된 주제를 포함하고 있으며, 그 내용 전체는 참조난에 기술되어 있다.
본 발명은, 예를 들어 메모리 스트링이 선택용 스윗치를 통해 비트선 및 소스선에 접속되는 NAND형 플래시 메모리등의 반도체 기억장치 및 그 반도체 기억장치를 갖춘 신호 처리 시스템과 관련되며, 특히, 반도체 기억장치의 에러 수정 처리 기술에 관한 것이다.
NAND형 플래시 메모리에서는, 복수개의 메모리 트랜지스터를 직렬로 접속하여 메모리 스트링을 구성하고, 2개의 메모리 스트링으로 1개의 비트 접촉 및 소스선을 공유함으로써, 고집적화가 실현되고 있다.
일반적인 NAND형 플래시 메모리에서는, 소거 동작은, 예를 들어 선택된 메모 리 스트링이 접속된 모든 워드선에 0V를 인가하고, 비선택의 메모리 스트링이 접속된 전체 워드선을 플로팅 상태로 하고, 메모리 어레이의 기판에 고전압(20V)을 인가함으로써 실행된다.
그 결과, 선택 메모리 스트링의 메모리 트랜지스터에 대해서만 플로팅 게이트로부터 기판으로 전자가 유출된다. 그 결과, 메모리 트랜지스터의 임계 전압은 부방향으로 시프트하고, 예를 들어 -3 V가 된다.
또한, 데이터의 기입 동작은, 선택하는 워드선에 접속된 메모리 트랜지스터에 대해서, 수백~수천 바이트의 이른바 페이지 단위로 행해진다. 구체적으로는, 예를 들어 선택하는 워드선에 고전압(예를 들어 18V)이 인가되며, 데이터가 기입되는 메모리 트랜지스터가 접속된 비트선에 0V가 인가되며(OV 데이터), 기입을 금지해야 할 메모리 트랜지스터가 접속된 비트선에 하이레벨(예를 들어 3.3V)(1 데이터)을 인가한다.  그 결과, 데이터가 기입되는 선택 메모리 트랜지스터에 대해서만, 플로팅 게이트에 전자가 주입되며, 선택 메모리트랜지스터의 임계 전압은 정방향으로 시프트하고, 예를 들어 2V정도가 된다.
이러한 NAND형 플래시 메모리에 대해서는, 데이터의 기입 및 소거는
FN(Fowler Nordheim) 터널 전류에 의해 실행되므로, 동작전류를 칩의 승압 회로로부터 공급하는 것이 비교적 용이하고, 단일 전원으로 동작시키기 쉽다고 하는 이점이 있다.  게다가 페이지 단위로, 즉 선택하는 워드선에 접속된 메모리 트랜지스터의 전체로 데이터가 기입되므로, NOR형 플래시 메모리와 비교하면 기입 속도면에서 우수하다.
그런데, 상술한 NAND형 플래시 메모리등과 같은 워드선 섹터를 단위로 하여 페이지 기입을 실시하는 불휘발성 반도체 기억장치에서는, 데이터의 기입은 선택 워드선에 접속된 모든 메모리 셀에 전체적으로 데이터 기입을 실시한다.  그러나, 선택 워드선에 접속된 각 메모리 셀은, 제조 프로세스에 기인하는 크기 등의 불균형 때문에, 각각 기입 속도에 차이가 생긴다.
구체적으로는, NAND형 플래시 메모리등과 같은 워드선 섹터를 단위로 하여 페이지 기입을 실시하는 불휘발성 반도체 기억장치에서는, 메모리 셀사이에서의 기입에 필요한 시간내에 분포가 생긴다.
이러한 기입 속도의 불균형을 고려하여, 일반적인 NAND형 플래시 메모리등에 있어서, 기입시의 임계 전압 Vth의 분포를 좁게 억제하는 관점으로부터 살펴보면, 기입 동작이 확인 동작을 통해 수행되며, 이러한 기입/확인 동작은, 소위 비트 확인 동작에 대해서 모든 메모리셀로부터의 기입 동작이 종료되는 것을 연속적으로 금지함으로써, 모든 메모리 셀의 기입이 종료할 때까지 반복된다. 그런데, 일반적인 메모리 셀의 경우, 프로그래밍에 필요한 시간은 t0이지만, 프로세스등의 불균형 요인에 의해 매우 긴 프로그래밍 시간 예를 들어 t1(>t0) 이상을 요구하는 메모리 셀이 극히 보기 드물게 존재하는 경우가 있다.  이러한 경우, 극히 보기 드물게 존재하는 기입이 늦은 메모리 셀에 대해서는, 상술한 기입/확인 동작의 횟수가, 예를 들어 100회 이상으로 설정된다.
또한, NAND형 플래시 메모리에 있어서의 데이터의 판독는, 감지 증폭기를 통해 메모리 셀내에 저장된 데이터를 확정하고, 랜덤 억세스된 페이지 단위로 데이터 레지스터내에 그 데이터를 저장함으로써 이루어지며, 그 후에, 한 개 또는 두 개의 바이트 단위로 그 페이지 데이터를 외부로 순차적으로 출력하게 된다. 구체적으로는, 예를 들어 선택된 워드선에 0V를, 비선택의 전워드선에 4V정도의 전압을 인가한다. NAND형 플래시 메모리의 경우, 복수의 메모리 셀이 직렬로 접속되어 있으므로, NOR형 플래시 메모리와 비교하면, 메모리 셀의 판독 전류가 작기 때문에, 메모리셀에 저장된 데이터를 센스 증폭기를 통해 확정시키기 위한, 이른바 랜덤 억세스 시간이 길다.
또한, NAND형 플래시 메모리등의 불휘발성 반도체 기억장치의 에러 수정에 대해서는, 여분의 메모리가 제공되며, 제품의 출하전에 불량을 찾아이러한 여분의 메모리에 의해 물리적으로 치환되고 있다. 또한, 에러 수정 코드(ECC:Error Correction Code)의 주요 형태는 허밍 코드나 BCH 코드 또는 비트 단위의 에러 수정을 위한 코드이다.
일반적인 NAND형 플래시 메모리등과 같은 워드선 섹터를 단위로 하여
페이지 기입을 실시하는 불휘발성 반도체 기억장치에 대해서는, ECC가 정정 능력이 약하기 때문에, 상술한 것처럼, 극히 보기 드물게 존재하는 기입의 속도가 늦은 메모리 셀에 대해서는, 상술한 기입/확인 동작의 횟수로서, 예를 들어 100회 이상으로 많은 횟수를 설정하고, 완전하게 기입이 종료할 때까지 반복할 필요가 있으므로, 결과적으로 가입 시간이 길어지게 된다.
또, ECC에서는 정정 능력이 약하기 때문에, 정상적인 메모리 어레이 외에, 여분의 메모리 어레이를 형성하는 것이 필요하다. 즉, LSI 제조시의 제품 비율을 개선하기 위해서 여분의 메모리(redundant memory)를 부가하고, 측정을 실시하며, 불량의 메모리를 여분의 메모리와 치환하는 번잡한 처리가 필요하다. 또한, 여분의 메모리의 분만큼 메모리 자체의 사이즈가 대형화되어, 형성된 여분의 메모리만큼, 프로세스가 많아지게 되며, 나아가서는 고비용을 초래하는 불리한 점이 있다.
종래의 에러 수정 회로에서는, 데이터의 중요성에 따라 ECC의 방법을 바꾸는 것이 불가능하다.
본 발명에서는, 그 목적이 에러 수정 능력을 강화할 수 있어 기입 시간 또는/및 판독시간을 단축화할 수 있으며 또, 여분의 메모리가 필요 없게하거나 감소시키며, 나아가서는, 소형화를 도모하고, 비용절감을 도모하는 것이 가능한 반도체 기억장치 및 신호 처리 시스템을 제공하는 것에 있다.
본 발명의 제 1양태에 따르면, 데이터가 기억되는 복수의 메모리 셀이 매트릭스 형태로 배치된 셀 어레이를 가지는 반도체 기억장치가 제공되며, 상기 셀 어레이내에 데이터가 페이지 단위로 저장되며, 상기 페이지 데이터는, 복수의 섹터로 분할되며, 각 섹터마다 검사 부호가 부가된다.
상기 검사 코드가 부가된 복수의 섹터를 포함하는 페이지 데이터는 상기 셀 어레이내에 페이지 단위로 모두 저장된다.
본 발명의 제 2양태에 따르면, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되 는 셀 어레이와, 적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로와, 기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 상기 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와, 상기 래치 회로에 의해 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 래치될 때에, 상기 셀 어레이에 대해서 해당 페이지 데이터를 일괄적으로 기입하는 제어회로를 가지는 반도체 기억장치가 제공된다.
상기 데이터 입력부는, 적어도 상기 복수의 주코드어를 포함하며 기입되는 상기 페이지 데이터를 래치하는 래치회로와, 기입되는 상기 페이지내에 포함된 코드어를 연속적으로 시프트시키고 보관하는 복수의 시프트 레지스터와, 복수의 분할 가능한 코드어를 포함하며 기입되는 페이지 데이터를 수신하고, 적어도 연속하는 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와, 상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와, 상기 제 2의 스윗치 회로에 의해 출력되도록 선택된 코드어를 검사하고 검사코드를 생성하는 검사 코드 생성 회로와, 상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 검사 코드를 부가하여 상기 주코드어로서 상기 래치 회로에 출력하는 부가 회로를 포함한다.
본 발명의 제 3양태에 따르면, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기록되는 셀 어레이와, 적어도 상기 셀 어레이로부터 판독된, 상기 셀 어레이에 기록된 검사 코드가 복수의 주코드어를 포함하는 페이지 데이터를 래치하는 래치 회로와, 상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 판독하고 상기 래치 회로를 상기 페이지 데이터에 래치시키고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어회로를 가지는 반도체 기억장치가 제공된다.
상기 데이터 출력부는, 상기 래치 회로로부터 전송된 판독된 페이지 데이터에 포함되는 검사 코드를 제외한 부호어를 차례차례로 시프트하여 보관 유지 가능한 복수의 시프트 레지스터와, 복수의 분할된 코드어를 포함하는 판독된 페이지 데이터를 수신하고, 적어도 연속 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와, 상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와, 상기 제 2의 스윗치 회로에 의해 출력되는 코드어에 대응하는 주코드어내에 소정 개수이내의 에러 데이터가 존재하는 경우에 해당 에러 데이터를 정정하는 에러 수정 회로와, 상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 에러 수정 회로에 의한 에러 정보를 부가하고 출력하는 부가 회로를 포함한다.
상기 데이터 출력부는, 신드롬 데이터를 생성하고 에러 수정을 실시하며, 적 어도 존재하는 데이터에 관계없이 에러 수정이 불가능한 경우에 해당 신드롬 데이터를 출력한다.
상기 제어 회로는, 상기 래치회로를 제어하여, 상기 래치 회로의 래치 데이터중 검사 코드가 부가된 코드어 마다 상기 제 1의 스윗치 회로로 데이터를 전송시킨다.
본 발명의 제 4양태에 따르면, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되어 있는 셀 어레이와, 적어도 상기 복수의 주코드어를 포함하며 상기 페이지 데이터를 래치하는 래치회로와, 기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 상기 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와, 상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와, 상기 래치회로를 제어하여, 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터가 상기 래치 회로에 의해 래치되었을 때에 상기 페이지 데이터를 상기 셀 어레이에 모두 기입하고, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 판독하고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어 회로를 가지는 반도체 기억장치가 제공된다.
본 발명의 제 5양태에 따르면, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되는 셀 어레이와, 적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로를 각각 포함하는 복수의 뱅크와, 기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 상기 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와, 상기 복수의 뱅크중에서 어느 뱅크의 래치회로를 제어하여, 상기 래치 회로에 의해 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 래치될 때에, 검사 코드가 부가된 주코드어를 선택적으로 래치하며, 상기 셀 어레이내에 해당 페이지 데이터를 일괄적으로 기입하는 제어회로를 가지는 반도체 기억장치가 제공된다.
본 발명의 제 6양태에 따르면, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기록되는 셀 어레이와, 적어도 상기 셀 어레이로부터 판독된, 상기 셀 어레이에 기록된 검사 코드가 복수의 주코드어를 포함하는 페이지 데이터를 래치하는 래치 회로를 각각 포함하는 복수의 뱅크와, 상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 선택적으로 판독하고 상기 래치 회로를 상기 페이지 데이터에 래치시키고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어회로를 가지는 반도체 기억장치가 제공된다.
본 발명의 제 7양태에 따르면, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되는 셀 어레이와, 적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로를 각각 포함하는 복수의 뱅크와, 기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 상기 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와, 상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와, 상기 복수의 뱅크중에서 어느 뱅크의 래치회로를 제어하여, 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터가 상기 래치 회로에 의해 래치되었을 때에 상기 페이지 데이터를 상기 셀 어레이에 모두 기입하고, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 선택적으로 판독하고, 페이지 데이터를 래치하고 상기 데이터 출력부에 전송시키는 제어 회로를 가지는 반도체 기억장치가 제공된다.
본 발명의 제 8양태에 따르면, 제 1의 반도체 기억장치와, 상기 제 1의 반도 체 기억장치의 입력 데이터가 판독되는 제 2의 반도체 기억장치와, 상기 제 1 및 제 2의 반도체 기억장치의 억세스의 제어 및 상기 제 2의 반도체 기억장치에 저장된 데이터에 따라서 소정의 신호 처리를 실시하는 호스트 장치를 가지며, 상기 제 1의 반도체 기억장치는, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되는 셀 어레이와, 적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로와, 기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 상기 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와, 상기 래치 회로에 의해 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 래치될 때에, 상기 셀 어레이에 대해서 해당 페이지 데이터를 일괄적으로 기입하는 제어회로를 가지는 신호 처리 시스템이 제공된다.
본 발명의 제 9양태에 따르면, 제 1의 반도체 기억장치와, 상기 제 1의 반도체 기억장치의 입력 데이터가 판독되는 제 2의 반도체 기억장치와, 상기 제 1 및 제 2의 반도체 기억장치의 억세스의 제어 및 상기 제 2의 반도체 기억장치에 저장된 데이터에 따라서 소정의 신호 처리를 실시하는 호스트 장치를 가지며, 상기 제 1의 반도체 기억장치는, 복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기록되는 셀 어레이와, 적어도 상기 셀 어레이로부터 판독된, 상기 셀 어레이에 기록된 검사 코드가 복수의 주코드어를 포함하는 페이지 데이터를 래치하는 래치 회 로와, 상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 판독하고 상기 래치 회로를 상기 페이지 데이터에 래치시키고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어회로를 가지는 신호 처리 시스템이 제공된다.
본 발명의 한 실시예에 의하면, 예를 들어, 외부의 호스트 제어기로부터 복수의 코드어로 분할 가능한 입력될 페이지 데이터가 데이터 입력부에 입력된다.
데이터 입력부에 있어서는, 입력된 페이지 데이터를 구성하는, 각 코드어를 검사하고 검사 코드를 생성한다. 그리고, 생성된 검사 코드가 대응하는 코드어에 부가되어 주코드어가 형성된다.  형성된 주코드어가 래치 회로에 차례차례 전송된다.  래치 회로에 의해 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 래치될 때에, 제어 회로에 의해, 셀 어레이내에 페이지 데이터가 일괄적으로 기입된다.
또한, 본 발명의 한 실시예에 따르면, 예를 들어 제어 회로의 제어아래, 셀 어레이로부터 검사부호가 부가된 복수의 코드어를 포함하는 페이지 데이터가 래치 회로로 판독되어 래치된다. 래치 회로의 래치 데이터가, 데이터 출력부에 전송된다.  데이터 출력부에 있어서는, 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주부호어를 포함하는 페이지 데이터를 수신하고, 각 주코드어 마다, 소 정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터가 정정된다. 그리고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보가 부가되어 차례차례 외부로 출력된다.
이하, 본 발명의 실시 형태를, 도면을 참조하여 설명한다.
도 1은, 본 발명의 한 실시예에 따르는 반도체 기억장치를 채용한 신호 처리 시스템의 전체 구성을 나타내는 블록도이다.  본 실시 형태에서는, 반도체 기억장치로서 복수의 메모리 셀을 직렬로 접속한 메모리 스트링이 선택용 스윗치를 통해 비트선 및 소스선에 접속되는 NAND형태 플래시 메모리를 채용하고 있다.
신호 처리 시스템(1)은, 도 1에 도시한 바와같이, 제 1의 반도체 기억장치로서의 NAND형태 플래시 메모리(2), 호스트 장치로서의 CPU(3), 브릿지 회로(4), 및 제 2의 반도체 기억장치로서의 예를 들어 DRAM(5)을 가지고 있다.
신호 처리 시스템(1)에서는, 호스트측인 CPU(3)와 NAND형 플래시 메모리(2)는, 브릿지 회로(4)를 통해 접속되어 있다.  플래시 메모리(2)에 대한 판독 및 기입동작에 대한 CPU(3)로부터의 억세스 요구는, 플래시 메모리(2)에 내장된 제어 회로에 의해 수신된다. 제어 회로는, 어드레스 변환 처리(CPU(3)에 의해 지정된 논리 주소를 플래시 메모리상의 물리 주소로 변환하는 매핑 처리, 논리/물리 주소 변환 처리)등을 실시한다. 또한, 플래시 메모리(2)는, 셀 어레이로부터의 판독 데이터에 대한 에러 검출/정
정처리, 및 셀 어레이내에 데이터 기입을 위한 에러 수정 코드의 부가등을 실시하는 기능을 가진다.
이 신호 처리 시스템(1)은, 예를 들어 NAND형 플래시 메모리(2)의 특성을 살리고, NAND형 플래시 메모리(2)는, 시스템의 OS프로그램이나 어플리케이션 프로그램의 저장, 또는 화상이나 음성 데이터의 저장장치로서 이용된다. 그리고, 신호 처리 시스템(1)에서는, 전원 동작시, 강제적인 리셋트시, 혹은 시스템 리셋트 때에, NAND형 플래시 메모리(2)에 기억되어 있는 데이터를 고속, 예를 들어 1GB/s정도의 고속으로 읽어내어, 브릿지 회로(4)를 통해 DRAM(5)에 고속으로 전송한다. 이후, CPU(3)는, DRAM(5)을 억세스함으로써, 시스템을 고속으로 기동시킨다. 그리고 화상 처리, 음성 처리, 혹은 이것들에 수반하는 표시 처리나 음성 출력처리등의, 어플리케이션에 따라, 각종 신호 처리를 실시할 수 있다.
또한, 플래시 메모리(2)의 셀 어레이로부터의 판독 데이터에 대한 에러 검출/정정처리, 및 셀 어레이내에 데이터를 기입하기 위한 에러 수정 코드의 부가등을 실시하는 기능은, 기본적으로, 리드 솔로몬(Reed Solomon : RS) 코드를 사용하는 불휘발성 에러 수정법을 채용하고 있다.
본 실시 형태에 대해서는, NAND형 플래시 메모리의 셀 어레이내에 워드선 섹터 단위의 페이지 데이터가 일괄적으로 기입된다.  본 실시 형태에서는, 한 페이지의 기입 데이터를 복수의 코드어(code word)로 분할하고, 복수의 ECC용 레지스터를 제공하고, 교대로 에러 수정 처리를 함으로써, 에러 수정 처리가 없는 메모리의 기입과 판독에 영향을 주지 않는 고속의 에러 수정을 행하는 에러 수정법을 채용하고 있다.
본 실시 형태와 관련되는 플래시 메모리(2)는, 기본적으로 복수 뱅크를 가지며, 복수의 뱅크를 병렬로 억세스 하여 고속 데이터 전송을 가능하게 하고 있다. 그리고, 복수의 뱅크에 대해서 독립적인 동시 억세스를 할 수 있게 함으로써, 고속 기입과 판독 동작이 가능하다. 메모리는 데이터 기입시에 각 코드어에 검사 코드(패리티:Parity)를 부가히고, 그 패리티를 셀 어레이내의 정상적인 데이터에 동시 병렬적으로 주코드어로서 기록해 두며, 데이터를 읽어낼 때에 패리티도 정상적인 데이터와 함께 읽어내며, 메모리 내부에서 없어진 데이터를 복원하기 위한 에러 수정 처리를 실시하는 기능을 가지고 있다.
여기에서는, 설명을 쉽게 하기 위해서, 뱅크의 개수를 2개로 가정하여 설명한다. 게다가, 이하의 가정하에서 설명한다.
512바이트+16바이트를 1 페이지로 한다.  1 페이지는, 도 2 및 도 3에 도시한 바와같이, 132바이트(128바이트의 코드어 CW와 4바이트의 패리티 데이터(검사 코드 : PD)로 구성되는 4개의 주코드어 MCW로 구성된다.그리고, 코드어는 GF(2**8)의 리드 솔로몬 코드(Reed Solomon Code)로 하며, 최소 거리 5를 가정한다. GF는 갈로이스(Galois Field)를 나타내며, 2**8은 2의 8승을 의미한다. 이 주코드어에 의해, 1 섹터가 구성되며, 이 1 섹터는 정상 데이터(128 바이트)와 패리티 데이터(4 바이트)로 구성된다. 이 경우, 패리티의 여분의는 약 3%가 된다.
여기에서는 말하지 않지만, 최소 코드 거리는 본 발명에 대해 5로 한정하는 것은 아니다. 또한, 코드어의 길이 132바이트는 한정된 것이 아니다.
이하에, 본 실시 형태와 관련되는 NAND형 플래시 메모리(2)의 더욱 구체적인 구성 및 기능을 중심으로 설명한다.
도 4는, 도 1의 NAND형 플래시 메모리의 구성예를 나타내는 블록도이다.
또한, 도 5는, 도 4에 있어서의 뱅크의 구체적인 구성예를 나타내는 블록도이다.
도 4의 플래시 메모리(2)는, 셀 어레이를 포함하는 2개의 뱅크 201(A), 202(B), 멀티플렉서(MPX)/디멀티플렉서(DeMPX)(203), 데이터 입력부(204), 데이터 출력부(205), I/O버퍼(206), 제어 회로(207), 및 승압 회로(208)를, 주요 구성 요소로서 가지고 있다.
삭제
또한, 도 5에 도시한 바와같이, 뱅크(A, B) 220(201, 202)은, 메모리 셀이 매트릭스 형태로 배열된 셀 어레이(221), 로(행, 페이지) 디코더(222), 블록 어드레스 디코더(223), 워드선 디코더(224), 셀 어레이(221)의 데이터 입출력측에 배치된 센스 증폭기(S/A) 및 데이터 레지스터를 포함하는 데이터 래치회로(DT1)(225), 컬럼 선택기(Y선택기)(226), 및 컬럼(열) 디코더(227)를 가지고 있다. 또한, 도 5에 있어서, 어드레스 레지스터(209)가 제공된다.
셀 어레이(221)는, 도 6에 도시한 바와같이, 직렬로 접속된 복수개, 예를 들어 16개의 메모리 트랜지스터(M0~M15) 및 그 양단에 직렬로 접속된 2개의 선택 트랜지스터(ST0, ST1)에 의해 구성된 메모리 스트링(STRG00, STRG01, STRG04223)이 매트릭스 형태로 배치되어 있다. 한편, 도 6에서는, 도면의 간단화를 위해, 1행과 4224열내에 배열된 4224개의 메모리 스트링(STRG00~STRG04223)에 의해 형성된 된 단지 한 개의 블록(BLK0)만 도시되어 있다. 그러나, 실제로는, 각 뱅크(220)내에 블록(BLK0)과 같은 구성을 가지는 복수(m개)의 블록(BLK1~BLKm)이 추가로 배열되어 있다. 또한, 도 6의 예에서는, 비트선 갯수는, 통상 512바이트와 예비의 16바이트를 더한 528바이트, 즉 4224개로 하고 있다.  이것은, 본 실시 형태의 1 페이지의 데이터에 상당한다.
또한, 메모리 스트링(STRG00)의 메모리 트랜지스터(M0)의 드레인에 접속된 선택 트랜지스터(ST0)가 비트선(BL0)에 접속되며, 메모리 스트링(STRG01)의 메모리 트랜지스터(M0)의 드레인이 비트선(BL1)에 접속되며. 이와같이 메모리 스트링(STRG04223)의 메모리 트랜지스터(M0)의 드레인이 비트선(BL4223)에 접속되어 있다. 또한, 각 메모리 스트링(STRG00~04223)의 메모리 트랜지스터(M15)의 소스가 접속된 선택 트랜지스터(ST1)가 공통의 소스선(SRL)에 접속되어 있다.
또한, 동일한 행에 배치된 메모리 스트링(STRG00, STRG01~STRG04223)의 메모리 트랜지스터의 게이트 전극이 공통의 워드선(WL0~WL15)에 접속되며, 선택 트랜지스터(ST0)의 게이트 전극이 공통의 선택 게이트선(DSG)에 접속되며, 선택 트랜지스터(ST1)의 게이트 전극이 공통의 선택 게이트선(SSG)에 접속되어 있다.
로 디코더(222)는, 블록 주소 디코더(223)에 의해 도통 상태에 이Y도록 제어되는 전송 게이트군(2221), 워드선 디코더(224)로부터 공급되는 워드선 및 선택 게이트선용 구동 전압 공급선(VCG0~VCG15, VDSG, VSSG)을 가지고 있다. 한편, 도 6에서는, 도면의 간단화를 위해, 블록(BLK0)에 대응하는 블록 어드레스 디코더 부분 및 전송 게이트군을 나타내고 있지만, 실제로는, 복수 배열되는 도시하지 않은 복수의 배열에 대응하는 블록 어드레스 디코더 부분 및 전송 게이트군이 설치된다.
전송 게이트군(2221)은, 전송 게이트(TW0~TW15, TD0 및 TS0)에 의해 구성된다.  전송 게이트군(2221)은, 블록 어드레스 디코더(223)에 의해디코드된 블록 어드레스에 응답하여 생성되며, 대응하는 블록의 선택 게이트선 및 워드선을 구동하는 신호(BSEL)에 의해서 도통 상태로 보관 유지된다. 구체적으로는, 블록(BLK0)이 어드레스 지정되어 있었을 경우, 각 전송 게이트(TW0~TW15)는, 각각 블록 어드레스 디코더(223)의 출력 신호 (BSEL0)에 따라 워드선(WL0~WL15)과 구동 전압 공급선(VCG0~VCG15)을 동작이 가능하도록 접속하며, 전송게이트(TD0, TS0)는 동일한 방식에 의해 블록 어드레스 디코더(223)의 출력 신호(BSEL0)에 따라 선택 게이트선(DSG, SSG)과 구동 전압 공급선(VDSG, VSSG)을 동작가능하도록 접속한다.
블록 어드레스 디코더(223)는, 어드레스 레지스터(209)에 보관 유지된 어드레스들을 디코드하고, 디코드된 블록 어드레스에 응답하여, 로 디코더(222)의 대응하는 블록의 선택 게이트선 및 워드선을 구동하기 위한 전송 게이트군(2221)을 신호(BSEL)에 의해서 도통 상태로 보관 유지시킨다.
워드선 디코더(224)는, 뱅크 제어 회로(207)의 판독, 기입, 혹은 소거의 동작을 나타내는 제어 신호에 응답하여, 어드레스 레지스터(204, 206)에 보관 유지된 어드레스의 동작에 따라 승압 회로 208에 의해 승압된 구동 전압을 구동전압 공급선(VCG0~VCG15, VDSG, VSSG)에 발생하고, 로 디코더(222)에 공급한다.
이러한 구성을 가지는 뱅크(220)에 있어서, 예를 들어 1행째의 블록 (BLK0)의 메모리 스트링(STRG00(~TRG04223))의 메모리 트랜지스터(M14)의 데이터 판독, 및 메모리 트랜지스터(M14)에 대한 데이터의 기입은 이하와 같이 행해진다.
판독시에는, 도 7에 도시한 바와같이, 워드선 디코더(224)에 의해 구동 전압 공급선(VCG14)에 접지 전압 GND(0V)이 공급되며, 구동 전압 공급선(VCG0~VCG13, VCG15) 및 구동 전압 공급선(VDSG, VSSG)에 예를 들어 4.5V가 공급되고, 소스선(SRL)에 접지 전압 0V가 공급된다. 그리고, 블록 어드레스 디코더(223)에 있어서, 블록(BLK0)에 대응하는 부분에만 액티브의 어드레스 신호가 입력되고, 블록 어드레스 디코더(223)의 출력 신호(BSEL0)가 4.5V+α의 레벨로 출력되며, 다른 블록(BLK1~BLKm)에 대응하는 블록 어드레스 디코더의 출력 신호(BSEL1~BSELm)는 접지 전압 GND레벨로 보관 유지된다. 이에 의해, 블록(BLK0)에 대응하는 전송 게이트군(2221)의 전송 게이트(TW0~TW15, TD0 및 TS0)가 도통 상태가 되며, 다른 블록(BLK1~BLKm)에 대응하는 전송 게이트군의 전송 게이트가 비도통 상태로 보관 유지된다. 그 결과, 메모리 스트링(STRG00)의 선택 트랜지스터(ST0, ST1)가 도통상태가 되어, 비트선(BL0)으로 데이터가 판독된다.
기입시에는, 도 8에 도시한 바와같이(듯이), 워드선 디코더(224)에 의해 선택된 구동전압 공급선(VCG14)으로 고전압, 예를 들어 20V가 공급되며, 구동 전압 공급선(VCG0~VCG13, VCG15)에 중간 전압(예를 들어 10V), 구동 전압 공급선(VDSG)에 전원 전압VCC(예를 들어 3.3V), 구동 전압 공급선(VSSG)에 접지 전압(GND)(0V)가 공급된다.  또한, 기입을 실시해야 할 메모리 트랜지스터(M14)를 가지는 메모리 스트링(STRG00)이 접속된 비트선(BL0)에 접지 전압(GND), 기입을 금지해야 할 메모리 트랜지스터(M14)를 가지는 메모리 스트링(STRG01~STRG04223)이 접속된 비트 선(BL1BL04223)에 전원 전압(VCC)이 인가된다.
그리고, 로 디코더(222)의 블록(BLK0)에 대응하는 부분에만, 블록 어드레스 디코더(223)의 출력 신호(BSEL0)가 20V+α의 레벨로 출력되어 다른 블록들(BLK1~BLKm)에 대응하는 블록 어드레스 디코더의 출력 신호(BSEL1~BS
ELm)는 접지 전압(GND) 레벨로 출력된다.  이에 의해, 블록(BLK0)에 대응하는 전송 게이트군(2221)의 전송 게이트(TW0~TW15, TD0 및 TS0)가 도통 상태가 되며, 다른 블록(BLK1~BLKm)에 대응하는 전송 게이트군의 전송 게이트가 비도통 상태로 보관 유지된다. 그 결과, 선택 워드선(WL14)에 기입전압 20V가, 비선택의 워드선(WL0~WL13, WL15)에 패스 전압(중간 전압) (Vpass)(예를 들어 10V)가 인가된다.
이에 의해, 메모리 스트링(STRG01~STRG04223)의 선택 트랜지스터(ST0)가 절단 상태가 되며, 기입을 금지해야 할 메모리 트랜지스터가 접속된 메모리 스트링(STRG01~STRG04223)의 채널부는 플로팅 상태로 된다. 그 결과, 이러한 채널부의 전위는, 주로 비선택 워드선에 인가된다. 패스 전압(Vpass)과의 캐패시터 커플링에 의해 부스트(boost) 되어 기입 금지 전압까지 상승하게 되어, 메모리 스트링(STRG01~STRG04223)의 메모리 트랜지스터(M14)내에 데이터를 기입하는 것이 금지된다. 한편, 기입을 해야 할 메모리 트랜지스터가 접속된 메모리 스트링(STRG00)의 채널부는 접지 전압 GND(0V)으로 설정되며, 선택 워드선(WL14)에 인가된 기입 전압 20V와의 전위차에 의해, 메모리 트랜지스터(M14)내에 데이터가 기입된다. 그러므로, 임계 전압이 정방향으로 시프트하고, 예를 들어 소거 상태의 -3V에서 2V 정도로 된다.
상기한 동작과 같이, 본 실시 형태의 NAND형 플래시 메모리(2)는, 어드레스 레지스터(209)에 보관 유지된 주소에 따라, 대응하는 뱅크(201, 202)의 셀 어레이(221)로부터 행(페이지) 단위로 데이터가 판독되어, 셀 어레이(221)내에 행(페이지) 단위로 데이터가 기입된다.
멀티플렉서/디멀티플렉서(203)는, 기입시에는, 데이터 입력부(204)에 4개의 주코드어를 포함하는 기입해야할 페이지 데이터를 제어 회로(207)의 제어하에서 소정의 타이밍에서 스위치하고, 선택적으로 뱅크(A)(201)의 데이터 래치회로(225)로 컬럼 선택기(226)를 통해 전송시키거나, 혹은 뱅크(B)(202)의 데이터 래치 회로(225)로 컬럼 선택기(226)를 통해 전송시킨다.
멀티플렉서/디멀티플렉서(203)는, 판독시에는, 제어 회로(207)의 제어하에서 뱅크(A)(201)의 데이터 래치 회로(225)로부터 컬럼 선택기(226)를 통해 전송된 4개의 주코드어 (MCW)를 포함하는 판독 데이터와 뱅크(B)(202)의 데이터 래치 회로(225)로부터 컬럼 선택기(226)를 통해 전송된 4개의 주코드어(MCW)를 포함하는 판독 데이터를 스위치하고, 판독시에 선택적으로 데이터 출력부(205)로 입력시킨다.
데이터 입력부(204)는, 제어 회로(207)의 제어하에서, I/O버퍼(206)를 통해 CPU(3)로부터 전송되어 온 1페이지분(512바이트)의 데이터를 4개의 코드어(CW)로 분할하고, 각 코드어(128바이트) 마다 4바이트의 패리티 데이터를 생성하여 부가하며, 132바이트의 4개의 주코드어(MCW)를 차례차례 형성하여 멀티플렉서/디멀티플렉서(203)를 통해, 뱅크(A)(201) 또는 뱅크(B) (202)로 전송한다.
도 9는, 본 실시 형태와 관련되는 데이터 입력부(204)의 구체적인 구성예를 나타내는 회로도이다.
도 9의 데이터 입력부(204)는, 기입해야 할 페이지 데이터에 포함되는 코드어(CW)(128 바이트)내에서 차례차례 시프트하는 복수개(본 실시 형태에서는 제 1, 제 2의 2개)의 시프트 레지스터(2041, 2042)와, 제어 회로 (207)의 제어하에서, 복수개(본 실시 형태에서는 4개)로 분할가능한 코드어 (CW)를 포함하는 기입할 페이지 데이터를 수신하고, 연속하는 코드어를 제 1의 시프트 레지스터(2041)와 제 2의 시프트 레지스터(2042)에 교대로 입력시키는 제 1의 스윗치 회로(SW1)(2043)와, 제어회로(207)의 제어하에서, 제1 및 제 2의 시프트 레지스터(2041, 2042)의 사이에서 모든 코드어(CW)가 시프트되는 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로(2044)와 제 2의 스윗치 회로(2044)에 의해 출력되도록 선택된 코드어를 검사하여 4바이트의 패리티 데이터 PD(검사 코드)를 생성하는 검사 코드 생성 회로(2045)와, 제 2의 스윗치 회로(2044)에 의해 선택 출력된 128바이트의 코드어(CW)에 대해서 패리티 데이터 PD(검사 코드)를 부가(합성)하고 132바이트의 주코드어(MCW)로서 멀티플렉서/디멀티플렉서(203)를 통해 뱅크(A)(201) 또는 뱅크(B)(202)로 전송하는 부가 회로(2046)를 가지고 있다.
검사 코드 생성 회로(2045)는, 신드롬 생성(Syndrome Gen)회로(20451)와 G 매트릭스 연산 회로(20452)와, 출력 타이밍 생성 회로(20453)와 2입력 AND게이트(20454)를 가진다.
이러한 구성을 가지는 검사 코드 생성 회로(2045)에서는, 신드롬 생성 회로(20451)에서 생성된 4개의 변수(Xi)가 G 매트릭스 연산 회로(20452)로 전송되어 매트리스 처리된다. 그에 의해, 4바이트의 패리티가 생성된다. 신드롬 생성 회로(20451)는, 4개의 변수(Xi)가 G 매트릭스 연산 회로(20452)로 전송될 때에 리셋트된다. 그리고, 대응하는 코드어가 제 1의 시프트 레지스터(2041) 또는 제 2의 시프트 레지스터(2042)에서 128바이트로 되기까지 G 매트릭스 연산 회로(20452)는 패리티 계산을 실시한다. 예를 들어 완전히 대응하는 코드어가 시프트된 제 1의 시프트 레지스터(2041) 또는 제 2의 시프트 레지스터(2042)의 코드어 데이터가 제 2의 스윗치 회로(2044)에 의해 선택되는 타이밍에서, 출력 타이밍 생성 회로(20453)로부터 나오는 출력펄스(PLS)에 의해 AND 게이트(20454)로부터 패리티 데이터(PD)가 출력된다.  또한, 리셋트된 신드롬 회로(20451)는, 다음의 128바이트의 코드어를 수신하고, 이 코드어는 제 1의 스윗치 회로(2043)를 통해 이전과는 다른 제 2의 시프트 레지스터(2042) 또는 제 1의 시프트 레지스터(2041)로 시프트된다.
데이터 출력부(205)는, 제어 회로(207)의 제어하에서, 멀티플렉서/디멀티플렉서(203)를 통해 데이터 래치 회로(225)로부터 전송되어 온 4개의 주코드어(MCW)를 포함하는 1 페이지분(512바이트+16바이트)의 데이터를 수신하고, 각 주코드어(132바이트)마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 패리티 데이터(PD)를 제외한 판독된 코드어(CW)마다 에러 정보를 부가하고, I/O버퍼(206)를 통해 외부의 CPU(3)로 전송한다.
도 10은, 본 실시 형태와 관련되는 데이터 출력부(205)의 구체적인 구성예를 나타내는 회로도이다.
도 10의 데이터 출력부(205)는, 멀티플렉서/디멀티플렉서(203)를 통해 데이터 래치 회로(225)로부터 전송되어 온 판독 페이지 데이터에 포함되는 4바이트의 패리티 데이터를 제외한 코드어(CW)를 차례차례 시프트하여 보관 유지 가능한 복수개(본 실시 형태에서는 제 1과 제 2의 2개)의 시프트 레지스터(2051, 2052)와, 제어 회로(207)의 제어하에서, 복수개(본 실시 형태에서는 4개)의 코드어(CW)를 포함하는 판독 페이지 데이터를 수신하고, 연속하는 코드어를 다른 제 1의 시프트 레지스터(2051)와 제 2의 시프트 레지스터(2052)로 교대로 입력시키는 제 1의 스윗치 회로(SW1)(2053)와, 제어 회로(207)의 제어하에서, 제 1 및 제 2의 시프트 레지스터(2051, 2052) 사이에서 코드어(CW)가 모두 시프트되는 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로(2054)와 제 2의 스윗치 회로(2054)에 의해 지금 출력되도록 선택된 코드어에 대응하는 주코드어내에 소정 개수 이내의 에러 데이터가 존재하는 경우에 이 에러 데이터를 정정하는 에러 수정 회로(2055)와 제 2의 스윗치 회로(2054)에 의해 선택 출력된 128바이트의 코드어(CW)에 대해서 에러 수정 회로(2055)에 의한 에러 정보를 부가(합성)하고, 132바이트의 주코드어(MCW)로서 상기 제 2의 스윗치 회로에 의해 선택출력된 코드어에 대해서 상기 에러 수정 회로에 의한 에러 정보를 부가하고 I/O버퍼(206)를 통해 외부의 CPU(3)로 전송하는 부가 회로(2056)를 가진다.
에러 수정 회로(2055)는, 신드롬 생성 회로(20551), 4바이트의 신드롬 레지스터(4 BSreg)(20552), ECC 프로세서(20553), 에러 벡터 레지스터(eV-reg)(20554), 에러 위치 레지스터(eL-reg)(20555), 및 2입력 AND 게이트(20556)를 가지고 있다.
이러한 구성을 가지는 에러 수정 회로(2055)에서는, 신드롬 생성 회로(20551)가 H 매트릭스 상의 신드롬을 계산한다. 그리고, 에러 수정 처리로 얻을 수 있는 에러 벡터와 에러 위치으로부터, 제 2의 스윗치 회로(2054)에 의해 선택 출력되는 제 1의 시프트 레지스터(2051) 또는 제 2의 시프트 레지스터(2052)의 데이터가 시프트 아웃되는(shift out) 타이밍에서, 에러 벡터를 에러 데이터에 가산하는 부가 회로(2056)로 출력된다.
데이터 출력부(205)는 전에 생성한 신드롬을 데이터와 함께 I/O버퍼(206)를 통해 외부의 CPU(3)로 출력한다. 게다가 에러 수정의 상황을 나타내는 정보를 에러 수정 포인터로서 출력한다. 이 정보는 이하의 내용을 포함한다. 이 정보는 에러가 없는 경우를 나타내는 정보 N, N바이트 정정했을 경우의 에러 위치, 정정할 수 없는 경우의 각 상태를 나타내는 정보이다.
I/O버퍼(206)는, CPU(3)측, 즉 호스트(브릿지)측에 대응하는 고속 I/F를 포함하며, 브릿지 회로(4)와의 데이터의 입출력을 행하기 위한 복수의 데이터 입출력 핀(PD206), 명령/어드레스를 입력하기 위한 입력핀(PCA206), 제어신호를 입출력하기 위한 입출력 핀(PL206)이 접속되어 있다.
I/O버퍼(206)를 통해 CPU(3)와 제어 회로(207)의 사이에서 명령/어드레스, 및 제어 신호가 전송된다.
제어 회로(207)는, I/O버퍼(206)를 통해 입력된 판독 명령(RD),기입명령 (WR)등의 명령과 기입되고 판독되는 어드레스를 입력으로서 수신하며, 뱅크(201, 202)를 제어하며, 멀티플렉서/디멀티플렉서(203), 데이터 입력부(204), 데이터 출력부(205)와 승압회로(208)를 제어하며, 어드레스를 어드레스 레지스터(209)에 공급한다.
제어 회로(207)는, I/O버퍼(206)을 통해 칩 구동신호/CE, 판독 구동신호/RD, 혹은 기입구동 신호/WE등의 제어 시스템 신호를 입력으로서 수신하며, 각 뱅크(201, 202)의 페이지 데이터의 판독, 기입 동작의 제어를 실시한다. 또한, 제어 회로(207)는, 제어계 신호 및 명령에 따라 데이터 입력부(204), 또는 데이터 출력부(205)의 데이터 입출력의 제어, 특히, 각 스윗치 회로의 변환 제어를 실시하며, 또한, 이것과 병행하여, 컬럼 디코더(227)를 통해 컬럼 선택기(226)를 제어하여 데이터 래치 회로(225)의 데이터의 입출력 제어를 실시한다. 게다가 멀티플렉서/디멀티플렉서(203)의 변환 제어를 실시한다.  즉, 제어 회로(207)는, 제어 신호 및 명령을 해독하고, 플래시 메모리(2)의 전체를 구동시키는 등의 처리를 실시하며, 명령에 의해 지시된 억세스(판독 또는 기입)가, 뱅크(A)(201) 또는 뱅크(B)(202)중 어느 뱅크에 대해서 수행되는 억세스인지를 판정하고, 소정의 억세스 제어를 실시한다. 또한, 제어 회로(207)는, 상술한 것처럼, 판독이나 기입시에 구동선에 공급하는 전압이 다르므로, 명령에 대응하는 전압을 얻기 위해서 승압해야 할 전압을 승압 회로(208)에 구체적으로 지시한다.
제어 회로(207)는, 인타리브 제어/명령 제어/어드레스지정(뱅크/블록/페이지)을 실시하고, 제어 신호, 명령 및 어드레스를 뱅크(201, 202)에 출력하며, 데이 터 입출력을 제어하고, 어드레스 변환 처리(호스트에 의해 지정된 논리 주소를 플래시 메모리상의 물리 주소로 변환하는 매핑 처리/논리/물리 어드레스 변환 처리)를 행하기 위한 어드레스 변환 테이블을 가진다.
승압 회로(208)는, 제어 회로(207)의 지시에 따라서, 예를 들어 판독 또는 다른 명령에 응답하여 전압을 승합하여 전원 전압(VCC)을 생성하고, 뱅크(201 또는 202)의 로 디코더(222) 또는 워드선 디코더(224)에 공급한다. 예를 들어 판독시에는, 전술한 것처럼, 4.5V의 전압이 필요하므로, 3.3V에서 4.5V로 전압이 승압된다. 또한, 기입시에는, 전술한 것처럼, 20V와 중간 전압 10V가 필요하므로, 전압이 20V와 10까지 승압된다.
여기서, 본 실시 형태와 관련되는 플래시 메모리(2)의 기입 및 판독 동작 순서에 대해서, 도면과 관련지어 설명한다.
도 11a~i는, 본 실시 형태와 관련되는 플래시 메모리(2)의 기입 동작 순서에 대해 설명하기 위한 타이밍 차트이다. 도 12a~i는, 본 실시 형태와 관련되는 플래시 메모리(2)의 판독 동작 순서에 대해 설명하기 위한 타이밍 차트이다.
우선, 11a~i를 참조하여 플래시 메모리(2)의 기입동작 순서에 대해 설명한다.
<데이터 기입>
도 11a에 도시한 바와같이, CPU(3)로부터 전송된 4개의 코드어로 분할 가능한 1페이지분의 연속한 기입 데이터가 I/O버퍼(206)를 통해 데이터 입력부(204)에 입력된다. 제어 회로(207)의 제어하에서, 제 1의 스윗치 회로(2043)가 제 1의 시프트 레지스터(2041)의 입력측으로 스위치된다. 입력 데이터는, 도 11a, b에 도시된 바와같이, 제 1의 시프트 레지스터(128 B shiftA)(2041)와 신드롬 생성회로(20451)에 입력된다. 도 11b~e에 도시한 바와같이, 코드어로서 128바이트의 데이터가 입력되어 제 1의 시프트 레지스터(2041)가, 128바이트의 데이터로 채워졌을 때에, 신드롬 생성 회로 (20451)에서 생성된 입력 신호와 계수를 이용하는 매트릭스 처리의 결과로서 4개의 변수가 G 매트릭스 연산 회로(20452)로 전송되며, 이와 병행하여 신드롬 생성 회로(20451)는 리셋트된다. 다음에, 제어 회로(207)의 제어하에서, 제 1의 스윗치 회로(2043)는 제 2의 시프트 레지스터(128B shift B)(2042)의 입력측으로 스위치된다. 그리고 다음의 128 바이트의 데이터는 제 2의 시프트 레지스터(2042)와 신드롬 생성 회로(20451)로 스위칭에 의해 입력된다. 이러한 제 2의 시프트 레지스터(2042)가, 128바이트의 데이터로 채워지기까지, 제 1의 시프트 레지스터(2041)측의 4바이트의 패리티가 계산된다. 그리고, 제 1의 시프트 레지스터(2042)의 128바이트의 데이터는 제 2의 스윗치 회로(2044)로부터 출력되며, 이 128바이트의 데이터(하나의 코드어 : CW))에 4바이트의 패리티 데이터(PD)가 부가 회로(2046)에서 부가(합성)되어, 하나의 주코드어(MCW)가 완성된다.  그리고, 132바이트의 주코드어(MCW)가 형성되며 멀티플렉서/디멀티플렉서(203)를 통해고, 뱅크(A)(201) 또는 뱅크(B)(202)로 전송된다.  제 2의 시프트 레지스터(2042)가 128바이트의 데이터로 채워지는 시점에서 같은 동작을 실시한다. 이것을 4회 반복함으로써 4개의 주코드어가 차례차례 전송되는 시점에서, 뱅크(A)(201) 또는 뱅크(B)(202)의 데이터 래치 회로(225)가 512바이트+16바이트의 데이터로 채워지게 된다. 이 때, 제어 회로(207)의 제하에서, 멀티플렉서/디멀티플렉서(203)는 뱅크(B)(202) 또는 뱅크(A)(201)의 데이터 래치회로에 데이터를 전송할 수 있도록 스위치된다.
한편, 본 실시 형태에서는 언급하지 않았지만, 이러한 1 페이지 데이터는 기입-확인 동작으로 들어가게 된다. 기입데이터가 올바르게 기입되었다는 것을 확인한 후에, 기입동작이 종료한다.  그러나, 이 시점에서 코드어의 에러가 코드어의 에러 수정 능력내에 있다면, 기입동작이 약하거나, 회로상의 결함등으로 완전한 데이터가 기입되지 않아도 판독시에 복원될 수 있으므로, 확인동작이 종료될 수 있다.  이상의 동작을 반복함으로써, 복수의 뱅크에 데이터와 패리티 데이터를 고속으로 기입할 수 있다.
다음에, 도 10 및 도 12a~i를 참조하면서 플래시 메모리(2)의 판독동작 순서에 대해 설명한다.
<데이터 판독>
뱅크(A)(201) 또는 뱅크(B)(202)의 셀 어레이(221)로부터 판독된 패리티 데이터가 부가된 132바이트의 주코드어(MCW)를 4개 포함하는 512바이트+16 바이트의 페이지 데이터는 데이터 래치 회로(225)에 의해 래치된다. 그 후, 도 12a~g에 도시한 바와같이, 제어 회로(207)의 제어하에서, 예를 들어 데이터 래치 회로(225)의 래치 데이터중 하나의 주코드어(MCW)가 멀티플렉서/디멀티플렉서(203)를 통해 데이터 출력부(205)로 전송된다.  데이터 출력부(205)는, 예를 들어 제 1의 스윗치 회로(2053)를 통해 제 1의 시프트 레지스터(2051)로 데이터를 시프트하고 이와 병행하여, 에러 수정 회로(2055)의 신드롬 생성 회로(20551)에 입력한다. 그리고, 한 개의 주코드어가 전송되는 제 1의 시프트 레지스터(2051)에 데이터가 시프트 되었을 때에, 신드롬 생성 회로(20551)에 의해 신드롬(syndrome)이 생성되며, 신드롬 레지스터(4 Bsreg)(20552)에 저장된다. 데이터 출력부(205)에서는, 다음의 주코드어(MCW)가 전송되어 오지만, 이 때에, 제어 회로(207)의 제어하에서, 제 1의 스윗치 회로(2053)는 제 2의 시프트 레지스터(2052)의 입력측으로 스위치된다. 그리고 전송되어 온 다음의 주코드부(MCW는 제 2의 시프트 레지스터(2052)로 시프트된다.  이 때, 신드롬 생성 회로(20551) 및 신드롬 레지스터(20552)는, 클리어 되어 새로운 코드어의 신드롬 생성이 시작된다.  이와 같이, 이전의 코드어의 에러 수정을 다음의 코드어가 전송 완료하기까지 종료시킴으로써, 판독속도에 영향을 주지 않고 이러한 에러 정정 처리를 계속할 수 있다. 이러한 처리는 1페이지에 포함되는 4개의 주코드어에 대해서 실행된다. 그리고, 도 11a~i에 도시한 바와같이, 에러 수정 처리에 의해 얻어진 에러 벡터와 에러 위치(location)에 근거하여, 이 판독 데이터가 시프트 아웃되면 목적으로 하는 에러 데이터에 에러 벡터가 부가되어 에러 정정처리가 완료된다.
만약 에러 수정이 불가능하다면, 예를 들면 최소 거리로부터 결정되는 정정 가능한 개수보다 많은 에러가 존재하는 경우에, 이전에 생성된 신드롬은 데이터와 함께 외부로 출력된다.  게다가 에러 수정의 상황을 나타내는 정보를 에러 수정 포인터로서 출력한다.
<다른 데이터 판독 모드>
그 외의 판독 모드에 대해 설명한다.
이 모드는 에러 수정 처리를 실시하고, 기입확인의 반복 동작이 계속되는지 중지하는지를 판단한다. 이유에 상관없이, 에러가 남아 있어도 정정 범위이면 이 동작을 정지하는 판단을 실시하는 것이다.  예를 들어, 정정 능력이 이중 정정이 가능하다는 가정하에서 단일한 정정에 의해 에러를 복원할 수 있을 때에, 확인 동작을 정지한다. 이 경우는, 그 이후의 데이터를 판독하기까지 1개의 에러가 증가해도 정정할 수 있다.  환언하면, 확인 동작에 의해 몇 개의 에러가 남아 있는지를 ECC에 의해 판단한다.  만약 이 방법을 취하지 않는 경우는, 확인해야 할 올바른 데이터를 레지스터에 저장하고 판독 데이터의 레지스터와 전데이터가 같은가, 차이가 난다면 몇 바이트 달라지는지를 판단하기 위해 데이터 비교기가 필요하게 된다.
이상 설명한 것처럼, 본 실시 형태에 의하면, 제어 회로(207)의 제어하에서, I/O버퍼(206)를 통해 CPU(3)로부터 전송 되어 온 1 페이지분(512 바이트분)의 데이터를 4개의 코드어(CW)로 분할하고, 각 코드어(128바이트) 마다 4바이트의 패리티 데이터를 생성해 부가하며, 132바이트의 4개의 주코드어(MCW)를 차례차례 형성하여, 멀티플렉서/디멀티플렉서(203)를 통해, 뱅크(A)(201) 또는 뱅크(B)(202)로 전송하는 데이터 입력부(204)와 제어 회로(207)의 제어하에서, 멀티플렉서/디멀티플렉서(203)를 통해 데이터 래치 회로(225)로부터 전송되어 온 4개의 주코드어(MCW)를 포함하는 1 페이지분 (512바이트+16바이트)의 데이터를 수신하고, 각 주코드어(132바이트)마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하며, 패리티 데이터(PD)를 제외한 판독된 코드어(CW)마다 에러 정보를 부가하여 I/O버퍼(206)를 통해 외부의 CPU(3)에 전송하는 데이터 출력부(205)를 구비하므로 이하의 효과를 얻을 수 있다.
즉, 1 페이지를 구성하는 데이터를 복수의 코드어로 구성하여, 정정 능력을 강화할 수 있다. 또, 복수의 코드어로 데이터를 구성하여 정정 이 불가능한 코드어가 있더라도 나머지 데이터는 사용하는 것이 가능해진다.  그리고, 일반적인 불휘발성 반도체 장치의 ECC에 비해, 리드-솔로몬 코드를 사용하면 정정 능력이 강력하게 된다.  또, 판독시에 정정 상태를 나타내는 정보와 신드롬 데이터를 외부에 출력하고, 에러수정을 외부의 다차원적인 에러 수정으로 확장할 수 있어 한층 더 에러 수정 능력을 강화하는 것이 가능하게 된다.  또, 시프트 레지스터등을 복수개 제공하여 에러 수정 및 검사 코드에 걸리는 시간이 데이터의 입출력의 시간에 영향을 주지 않으면서 에러정정과 검사를 연속으로 실시할 수 있으므로, 판독 및 기입 동작들의 고속화가 가능해진다.  또, 에러 수정을 강화하여, 기입확인의 횟수를 종래에 비해 줄이는 것이 가능하므로 기입에 필요한 시간을 줄일 수 있다. 게다가 에러 수정을 강화하여, 여분의 메모리를 불필요하게 하거나 혹은 작게 할 수 있어 치환작업도 불필요하게 하거나 혹은 줄일 수 있다. 이에 의해, 메모리 자체의 사이즈를 소형화할 수 있으며, 한층 더 프로세스 공정수를 줄여 비용을 저감 할 수 있다.  또, 복수의 뱅크를 가지게 되므로, 판독의 랜덤 억세스 시간을 외관상 안보이게 하여 고속 판독이 가능해진다.
또, 플래시 메모리(2)는 에러 검출, 정정 처리 회로를 구비하므로, 플래시 메모리로부터 판독된 데이터의 에러 검출, 정정 처리를 실시함으로써 호스트측의 처리를 경감하는 것이 가능해진다.
한편, 본 실시 형태에 대해서는, 뱅크가 2개의 경우를 예로서 설명했지만, 한층 더 많은 뱅크, 예를 들어 4개나 8개등의 뱅크를 갖추는 반도체 기억장치에 본 발명을 적용할 수 있는 것은 말할 필요도 없다.
본 발명의 청구범위와 그와 동등한 범위를 벗어나지 않는 한 변경과 결합 및 수정이 가능하다는 것은 당업자에 의해서 알 수 있다.

Claims (27)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 반도체 기억장치에 있어서,
    복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되어 있는 셀 어레이와,
    적어도 상기 복수의 주코드어를 포함하며 상기 페이지 데이터를 래치하는 래치회로와,
    기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 해당 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와,
    상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와,
    상기 래치회로를 제어하여, 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터가 상기 래치 회로에 의해 래치되었을 때에 상기 페이지 데이터를 상기 셀 어레이에 모두 기입하고, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 판독하고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어 회로를 가지고,
    상기 데이터 입력부는,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 상기 페이지 데이터를 래치하는 래치회로와,
    기입되는 상기 페이지 데이터에 포함된 코드어를 연속적으로 시프트시키고 보관하는 복수의 시프트 레지스터와,
    복수의 분할 가능한 코드어를 포함하며 기입되는 페이지 데이터를 수신하고, 적어도 연속하는 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되도록 선택된 코드어를 검사하고 검사 코드를 생성하는 검사 코드 생성 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 검사 코드를 부가하여 상기 주코드어로서 상기 래치 회로에 출력하는 부가 회로를 포함하며,
    상기 데이터 출력부는,
    상기 래치 회로로부터 전송된 판독된 페이지 데이터에 포함되는 검사 코드를 제외한 코드어를 차례차례로 시프트하여 보관 유지 가능한 복수의 시프트 레지스터와,
    복수의 분할된 코드어를 포함하는 판독된 페이지 데이터를 수신하고, 적어도 연속 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되는 코드어에 대응하는 주코드어에 소정 개수 이내의 에러 데이터가 존재하는 경우에 해당 에러 데이터를 정정하는 에러 수정 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 에러 수정 회로에 의한 에러 정보를 부가하고 출력하는 부가 회로를 포함하는 반도체 기억장치.
  19. 삭제
  20. 반도체 기억장치에 있어서,
    복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되는 셀 어레이와,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로를 각각 포함하는 복수의 뱅크와,
    기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 해당 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와,
    상기 복수의 뱅크중에서 어느 뱅크의 래치회로를 제어하여, 상기 래치 회로에 의해 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 래치될 때에, 검사 코드가 부가된 주코드어를 선택적으로 래치하며, 상기 셀 어레이내에 해당 페이지 데이터를 일괄적으로 기입하는 제어회로를 가지고,
    상기 데이터 입력부는,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 상기 페이지 데이터를 래치하는 래치회로와,
    기입되는 상기 페이지 데이터에 포함된 코드어를 연속적으로 시프트시키고 보관하는 복수의 시프트 레지스터와,
    복수의 분할 가능한 코드어를 포함하며 기입되는 페이지 데이터를 수신하고, 적어도 연속하는 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되도록 선택된 코드어를 검사하고 검사 코드를 생성하는 검사 코드 생성 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 검사 코드를 부가하여 상기 주코드어로서 상기 래치 회로에 출력하는 부가 회로를 포함하는 반도체 기억장치.
  21. 삭제
  22. 반도체 기억장치에 있어서,
    복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기록되는 셀 어레이와,
    적어도 상기 셀 어레이로부터 판독된, 상기 셀 어레이에 기록된 검사 코드가 복수의 주코드어를 포함하는 페이지 데이터를 래치하는 래치 회로를 각각 포함하는 복수의 뱅크와,
    상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와,
    상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 선택적으로 판독하고 상기 래치 회로를 상기 페이지 데이터에 래치시키고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어회로를 가지고,
    상기 데이터 출력부는,
    상기 래치 회로로부터 전송된 판독된 페이지 데이터에 포함되는 검사 코드를 제외한 코드어를 차례차례로 시프트하여 보관 유지 가능한 복수의 시프트 레지스터와,
    복수의 분할된 코드어를 포함하는 판독된 페이지 데이터를 수신하고, 적어도 연속 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되는 코드어에 대응하는 주코드어에 소정 개수 이내의 에러 데이터가 존재하는 경우에 해당 에러 데이터를 정정하는 에러 수정 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 에러 수정 회로에 의한 에러 정보를 부가하고 출력하는 부가 회로를 포함하는 반도체 기억장치.
  23. 삭제
  24. 반도체 기억장치에 있어서,
    복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되는 셀 어레이와,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로를 각각 포함하는 복수의 뱅크와,
    기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 해당 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와,
    상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와,
    상기 복수의 뱅크중에서 어느 뱅크의 래치회로를 제어하여, 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터가 상기 래치 회로에 의해 래치되었을 때에 상기 페이지 데이터를 상기 셀 어레이에 모두 기입하고, 상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 선택적으로 판독하고, 페이지 데이터를 래치하고 상기 데이터 출력부에 전송시키는 제어 회로를 가지고,
    상기 데이터 입력부는,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 상기 페이지 데이터를 래치하는 래치회로와,
    기입되는 상기 페이지 데이터에 포함된 코드어를 연속적으로 시프트시키고 보관하는 복수의 시프트 레지스터와,
    복수의 분할 가능한 코드어를 포함하며 기입되는 페이지 데이터를 수신하고, 적어도 연속하는 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되도록 선택된 코드어를 검사하고 검사 코드를 생성하는 검사 코드 생성 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 검사 코드를 부가하여 상기 주코드어로서 상기 래치 회로에 출력하는 부가 회로를 포함하며,
    상기 데이터 출력부는,
    상기 래치 회로로부터 전송된 판독된 페이지 데이터에 포함되는 검사 코드를 제외한 코드어를 차례차례로 시프트하여 보관 유지 가능한 복수의 시프트 레지스터와,
    복수의 분할된 코드어를 포함하는 판독된 페이지 데이터를 수신하고, 적어도 연속 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되는 코드어에 대응하는 주코드어에 소정 개수 이내의 에러 데이터가 존재하는 경우에 해당 에러 데이터를 정정하는 에러 수정 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 에러 수정 회로에 의한 에러 정보를 부가하고 출력하는 부가 회로를 포함하는 반도체 기억장치.
  25. 삭제
  26. 신호 처리 시스템에 있어서,
    제 1의 반도체 기억장치와,
    상기 제 1의 반도체 기억장치의 입력 데이터가 판독되는 제 2의 반도체 기억장치와,
    상기 제 1 및 제 2의 반도체 기억장치의 억세스의 제어 및 상기 제 2의 반도체 기억장치에 저장된 데이터에 따라서 소정의 신호 처리를 실시하는 호스트 장치를 가지며,
    상기 제 1의 반도체 기억장치는,
    복수의 메모리 셀이 매트릭스 형태로 배치되며, 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기입되는 셀 어레이와,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 페이지 데이터를 래치하는 래치회로와,
    기입할 페이지 데이터를 복수의 코드어로 분할하고, 각 코드어를 검사하여, 코드를 생성하며, 대응하는 코드어에 해당 검사 코드를 부가하여 주코드어를 형성하며, 형성된 주코드어를 상기 래치 회로에 차례차례로 전송하는 데이터 입력부와,
    상기 래치 회로에 의해 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 래치될 때에, 상기 셀 어레이에 대해서 해당 페이지 데이터를 일괄적으로 기입하는 제어회로를 가지고,
    상기 데이터 입력부는,
    적어도 상기 복수의 주코드어를 포함하며 기입되는 상기 페이지 데이터를 래치하는 래치회로와,
    기입되는 상기 페이지 데이터에 포함된 코드어를 연속적으로 시프트시키고 보관하는 복수의 시프트 레지스터와,
    복수의 분할 가능한 코드어를 포함하며 기입되는 페이지 데이터를 수신하고, 적어도 연속하는 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되도록 선택된 코드어를 검사하고 검사 코드를 생성하는 검사 코드 생성 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 검사 코드를 부가하여 상기 주코드어로서 상기 래치 회로에 출력하는 부가 회로를 포함하는 신호 처리 시스템.
  27. 신호 처리 시스템에 있어서,
    제 1의 반도체 기억장치와,
    상기 제 1의 반도체 기억장치의 입력 데이터가 판독되는 제 2의 반도체 기억장치와,
    상기 제 1 및 제 2의 반도체 기억장치의 억세스의 제어 및 상기 제 2의 반도체 기억장치에 저장된 데이터에 따라서 소정의 신호 처리를 실시하는 호스트 장치를 가지며,
    상기 제 1의 반도체 기억장치는,
    복수의 메모리 셀이 매트릭스 형태로 배치되며, 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터가 복수의 메모리 셀 단위로 기록되는 셀 어레이와,
    적어도 상기 셀 어레이로부터 판독된, 상기 셀 어레이에 기록된 검사 코드가 복수의 주코드어를 포함하는 페이지 데이터를 래치하는 래치 회로와,
    상기 래치 회로로부터 전송된 검사 코드가 부가된 복수의 주코드어를 포함하는 페이지 데이터를 수신하여, 각 주코드어 마다, 소정 개수 이내의 에러 데이터가 존재하는 경우에는 에러 데이터를 정정하고, 검사 코드를 제외한 코드어 마다 대응하는 에러 정보를 부가하여 차례차례로 출력하는 데이터 출력부와,
    상기 셀 어레이로부터 검사 코드가 부가된 복수의 코드어를 포함하는 페이지 데이터를 판독하고 상기 래치 회로를 상기 페이지 데이터에 래치시키고, 래치 데이터를 상기 데이터 출력부에 전송시키는 제어회로를 가지고,
    상기 데이터 출력부는,
    상기 래치 회로로부터 전송된 판독된 페이지 데이터에 포함되는 검사 코드를 제외한 코드어를 차례차례로 시프트하여 보관 유지 가능한 복수의 시프트 레지스터와,
    복수의 분할된 코드어를 포함하는 판독된 페이지 데이터를 수신하고, 적어도 연속 코드어를 다른 상기 시프트 레지스터에 입력시키는 제 1의 스윗치 회로와,
    상기 각 시프트 레지스터 가운데, 코드어가 모두 시프트된 코드어 데이터를 선택적으로 출력하는 제 2의 스윗치 회로와,
    상기 제 2의 스윗치 회로에 의해 출력되는 코드어에 대응하는 주코드어에 소정 개수 이내의 에러 데이터가 존재하는 경우에 해당 에러 데이터를 정정하는 에러 수정 회로와,
    상기 제 2의 스윗치 회로에 의해 선택 출력된 코드어에 대해서 상기 에러 수정 회로에 의한 에러 정보를 부가하고 출력하는 부가 회로를 포함하는 신호 처리 시스템.
KR1020050043750A 2004-05-31 2005-05-24 반도체 기억장치 및 신호 처리 시스템 KR101159289B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00161810 2004-05-31
JP2004161810A JP4135680B2 (ja) 2004-05-31 2004-05-31 半導体記憶装置および信号処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020120018086A Division KR101162271B1 (ko) 2004-05-31 2012-02-22 반도체 기억장치

Publications (2)

Publication Number Publication Date
KR20060048089A KR20060048089A (ko) 2006-05-18
KR101159289B1 true KR101159289B1 (ko) 2012-06-22

Family

ID=35426837

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020050043750A KR101159289B1 (ko) 2004-05-31 2005-05-24 반도체 기억장치 및 신호 처리 시스템
KR1020120018086A KR101162271B1 (ko) 2004-05-31 2012-02-22 반도체 기억장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020120018086A KR101162271B1 (ko) 2004-05-31 2012-02-22 반도체 기억장치

Country Status (3)

Country Link
US (2) US7406649B2 (ko)
JP (1) JP4135680B2 (ko)
KR (2) KR101159289B1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979048B2 (en) * 2005-09-15 2011-07-12 Silicon Laboratories Inc. Quasi non-volatile memory for use in a receiver
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7844879B2 (en) 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US20080072119A1 (en) * 2006-08-31 2008-03-20 Rodney Rozman Allowable bit errors per sector in memory devices
EP2074627B1 (en) * 2006-11-27 2010-09-15 Sandisk Corporation Segmented bitscan for verification of programming
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
US7440319B2 (en) * 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US7529149B2 (en) * 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
KR100825002B1 (ko) 2007-01-10 2008-04-24 주식회사 하이닉스반도체 효과적으로 직렬로 입출력되는 데이터의 오류를 검사할 수있는 반도체 메모리 장치 및 그 구동방법
JP4905161B2 (ja) * 2007-01-31 2012-03-28 富士通株式会社 Raid装置及びガロア体を用いたデータ復元装置
JP5292706B2 (ja) * 2007-02-28 2013-09-18 富士通セミコンダクター株式会社 コンピュータシステム
US7752383B2 (en) * 2007-05-25 2010-07-06 Skymedi Corporation NAND flash memory system with programmable connections between a NAND flash memory controller and a plurality of NAND flash memory modules and method thereof
US7849383B2 (en) * 2007-06-25 2010-12-07 Sandisk Corporation Systems and methods for reading nonvolatile memory using multiple reading schemes
US20090013148A1 (en) * 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
US7770079B2 (en) * 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
US7782084B1 (en) 2008-02-04 2010-08-24 Netlogic Microsystems, Inc. Integrated circuit with reconfigurable inputs/outputs
US8533563B2 (en) * 2008-03-31 2013-09-10 Qimonda Ag Memory read-out
JP2010009141A (ja) * 2008-06-24 2010-01-14 Toshiba Corp データ転送方法
US8321758B2 (en) * 2008-08-05 2012-11-27 Advanced Micro Devices, Inc. Data error correction device and methods thereof
KR101483190B1 (ko) 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
US8189390B2 (en) 2009-03-05 2012-05-29 Mosaid Technologies Incorporated NAND flash architecture with multi-level row decoding
US8433880B2 (en) 2009-03-17 2013-04-30 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
US9442846B2 (en) * 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US8266408B2 (en) * 2009-03-17 2012-09-11 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
US8560892B2 (en) 2010-12-14 2013-10-15 Medtronic, Inc. Memory with selectively writable error correction codes and validity bits
EP2608036A1 (en) 2011-12-22 2013-06-26 Thomson Licensing Method and system for managing error detection and correction
KR101961318B1 (ko) 2012-09-07 2019-07-17 삼성전자주식회사 중앙처리장치에서의 점유시간을 최소화하는 방어코드 운영 방법 및 그에 따른 메모리 시스템
US8869008B2 (en) * 2013-01-17 2014-10-21 Apple Inc. Adaptation of analog memory cell read thresholds using partial ECC syndromes
US9542984B2 (en) * 2013-04-08 2017-01-10 SK Hynix Inc. Semiconductor memory apparatus and operation method using the same
US9081710B2 (en) 2013-04-11 2015-07-14 Spansion Llc. Restoring ECC syndrome in non-volatile memory devices
US10365966B1 (en) * 2014-03-25 2019-07-30 Marvell lnternational Ltd. Methods and systems for wordline based encoding and decoding in NAND flash
US9367392B2 (en) * 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
KR20170143084A (ko) * 2016-06-17 2017-12-29 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421274B1 (en) * 2001-03-23 2002-07-16 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device and reading and writing method thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
JP2563389B2 (ja) * 1987-11-13 1996-12-11 松下電器産業株式会社 誤り検出訂正方法
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5384786A (en) * 1991-04-02 1995-01-24 Cirrus Logic, Inc. Fast and efficient circuit for identifying errors introduced in Reed-Solomon codewords
JP2647312B2 (ja) * 1992-09-11 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性半導体記憶装置
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5640506A (en) * 1995-02-15 1997-06-17 Mti Technology Corporation Integrity protection for parity calculation for raid parity cache
US5606532A (en) * 1995-03-17 1997-02-25 Atmel Corporation EEPROM array with flash-like core
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
WO1997032253A1 (en) * 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
KR100247064B1 (ko) * 1997-04-10 2000-03-15 윤종용 콤팩트디스크-롬 드라이브의 디코딩장치에서 에러정정을 위한 메모리 리드회로
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
JP2001202792A (ja) * 2000-01-17 2001-07-27 Sony Corp 半導体記憶装置のエラー訂正符号化方法及び半導体記憶装置
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6928590B2 (en) * 2001-12-14 2005-08-09 Matrix Semiconductor, Inc. Memory device and method for storing bits in non-adjacent storage locations in a memory array

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421274B1 (en) * 2001-03-23 2002-07-16 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device and reading and writing method thereof

Also Published As

Publication number Publication date
KR20120031985A (ko) 2012-04-04
US20080115043A1 (en) 2008-05-15
KR20060048089A (ko) 2006-05-18
US8166371B2 (en) 2012-04-24
JP2005346758A (ja) 2005-12-15
KR101162271B1 (ko) 2012-07-04
US7406649B2 (en) 2008-07-29
US20050268208A1 (en) 2005-12-01
JP4135680B2 (ja) 2008-08-20

Similar Documents

Publication Publication Date Title
KR101159289B1 (ko) 반도체 기억장치 및 신호 처리 시스템
KR101088235B1 (ko) 반도체 메모리를 갖는 메모리 시스템 및 그 데이터 전송 방법
US20100208519A1 (en) Semiconductor memory device and method of reading the same
KR101950758B1 (ko) 반도체 장치
KR101731576B1 (ko) 반도체 기억장치 및 nand 플래시 메모리의 프로그램 방법
US7589997B2 (en) Non-volatile semiconductor memory device that performs data allocation
JP5657079B1 (ja) 半導体記憶装置
JP6178909B1 (ja) 不揮発性半導体記憶装置
JP6164712B1 (ja) フラッシュメモリ
JP2023120450A (ja) 半導体記憶装置および誤り検出訂正方法
JP4534639B2 (ja) 半導体記憶装置
KR101651573B1 (ko) 반도체 기억장치 및 그 프로그래밍 방법
JP2013030251A (ja) メモリシステム
KR102524724B1 (ko) 반도체 기억 장치 및 ecc 관련 정보의 독출 방법
TW201532060A (zh) 半導體儲存裝置及其冗餘方法
JP5710815B1 (ja) 半導体記憶装置
JP2009163851A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150605

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160610

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170612

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190611

Year of fee payment: 8